aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-24 17:49:25 +0000
committer(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-24 17:49:25 +0000
commit99b8e7f1cc78f3ddabb89dfb5d6cb7cac3aff14f (patch)
treee4720d039c042b7cd89f8a75f256c697ae8b5493
parent964944fc854c1dd723f7b8150d0deac634aabdbb (diff)
This commit was manufactured by cvs2svn to create taghammer-3_3-merge-20030624
'hammer-3_3-merge-20030624'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/tags/hammer-3_3-merge-20030624@68434 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog143
-rw-r--r--MAINTAINERS39
-rw-r--r--Makefile.def2
-rw-r--r--Makefile.in28
-rw-r--r--Makefile.tpl24
-rw-r--r--boehm-gc/ChangeLog73
-rw-r--r--boehm-gc/Makefile.am9
-rw-r--r--boehm-gc/Makefile.in66
-rw-r--r--boehm-gc/alloc.c5
-rwxr-xr-xboehm-gc/configure113
-rw-r--r--boehm-gc/configure.in18
-rw-r--r--boehm-gc/dyn_load.c68
-rw-r--r--boehm-gc/include/Makefile.am2
-rw-r--r--boehm-gc/include/Makefile.in39
-rw-r--r--boehm-gc/include/private/gc_priv.h13
-rw-r--r--boehm-gc/include/private/gcconfig.h19
-rw-r--r--boehm-gc/mark_rts.c40
-rw-r--r--boehm-gc/misc.c10
-rw-r--r--boehm-gc/win32_threads.c4
-rw-r--r--config-ml.in4
-rwxr-xr-xconfig.guess163
-rw-r--r--config.if15
-rwxr-xr-xconfig.sub98
-rw-r--r--config/ChangeLog16
-rw-r--r--configure.in2
-rw-r--r--contrib/ChangeLog42
-rwxr-xr-xcontrib/gcc_update8
-rw-r--r--contrib/regression/ChangeLog16
-rwxr-xr-xcontrib/test_installed13
-rwxr-xr-xcontrib/texi2pod.pl4
-rw-r--r--fastjar/ChangeLog54
-rw-r--r--fastjar/Makefile.am8
-rw-r--r--fastjar/Makefile.in8
-rw-r--r--fastjar/dostime.c2
-rw-r--r--fastjar/fastjar.texi9
-rw-r--r--fastjar/jargrep.c6
-rw-r--r--fastjar/jartool.c20
-rw-r--r--gcc/ChangeLog4615
-rw-r--r--gcc/Makefile.in324
-rw-r--r--gcc/ONEWS98
-rw-r--r--gcc/aclocal.m45
-rw-r--r--gcc/ada/5iosinte.ads27
-rw-r--r--gcc/ada/5rosinte.ads1
-rw-r--r--gcc/ada/5rtpopsp.adb266
-rw-r--r--gcc/ada/ChangeLog115
-rw-r--r--gcc/ada/Make-lang.in369
-rw-r--r--gcc/ada/Makefile.in73
-rw-r--r--gcc/ada/a-except.adb2
-rw-r--r--gcc/ada/adafinal.c (renamed from gcc/ada/final.c)2
-rw-r--r--gcc/ada/adaint.h4
-rw-r--r--gcc/ada/gnat_rm.texi60
-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/ada/init.c16
-rw-r--r--gcc/ada/link.c2
-rw-r--r--gcc/ada/raise.c46
-rw-r--r--gcc/ada/utils2.c2
-rw-r--r--gcc/alias.c6
-rw-r--r--gcc/basic-block.h12
-rw-r--r--gcc/bb-reorder.c45
-rw-r--r--gcc/bitmap.c52
-rw-r--r--gcc/bitmap.h62
-rw-r--r--gcc/builtin-attrs.def18
-rw-r--r--gcc/builtin-types.def19
-rw-r--r--gcc/builtins.c17
-rw-r--r--gcc/builtins.def121
-rw-r--r--gcc/c-common.c92
-rw-r--r--gcc/c-decl.c120
-rw-r--r--gcc/c-lex.c1
-rw-r--r--gcc/c-objc-common.c3
-rw-r--r--gcc/c-opts.c24
-rw-r--r--gcc/c-parse.in3
-rw-r--r--gcc/c-pragma.c2
-rw-r--r--gcc/c-semantics.c5
-rw-r--r--gcc/c-typeck.c44
-rw-r--r--gcc/calls.c155
-rw-r--r--gcc/cfg.c55
-rw-r--r--gcc/cfganal.c21
-rw-r--r--gcc/cfgbuild.c5
-rw-r--r--gcc/cfgcleanup.c26
-rw-r--r--gcc/cfglayout.c42
-rw-r--r--gcc/cfgrtl.c78
-rw-r--r--gcc/collect2.c2
-rw-r--r--gcc/combine.c343
-rw-r--r--gcc/config.gcc93
-rw-r--r--gcc/config.in9
-rw-r--r--gcc/config/alpha/alpha-protos.h2
-rw-r--r--gcc/config/alpha/alpha.c46
-rw-r--r--gcc/config/alpha/alpha.h5
-rw-r--r--gcc/config/alpha/alpha.md60
-rw-r--r--gcc/config/alpha/freebsd.h6
-rw-r--r--gcc/config/alpha/linux.h2
-rw-r--r--gcc/config/alpha/osf.h34
-rw-r--r--gcc/config/alpha/t-crtfm3
-rw-r--r--gcc/config/alpha/t-osf46
-rw-r--r--gcc/config/arc/t-arc12
-rw-r--r--gcc/config/arm/arm.c105
-rw-r--r--gcc/config/arm/arm.md34
-rw-r--r--gcc/config/arm/t-netbsd6
-rw-r--r--gcc/config/avr/avr.md4
-rw-r--r--gcc/config/avr/t-avr2
-rw-r--r--gcc/config/c4x/c4x.c2
-rw-r--r--gcc/config/c4x/c4x.h45
-rw-r--r--gcc/config/c4x/t-c4x2
-rw-r--r--gcc/config/cris/aout.h26
-rw-r--r--gcc/config/cris/cris.c16
-rw-r--r--gcc/config/cris/cris.h51
-rw-r--r--gcc/config/cris/cris.md173
-rw-r--r--gcc/config/cris/linux.h30
-rw-r--r--gcc/config/darwin.h6
-rw-r--r--gcc/config/fp-bit.c275
-rw-r--r--gcc/config/fp-bit.h172
-rw-r--r--gcc/config/freebsd-spec.h49
-rw-r--r--gcc/config/freebsd.h5
-rw-r--r--gcc/config/h8300/h8300-protos.h5
-rw-r--r--gcc/config/h8300/h8300.c68
-rw-r--r--gcc/config/h8300/h8300.h2
-rw-r--r--gcc/config/h8300/h8300.md71
-rw-r--r--gcc/config/i386/cygwin.h22
-rw-r--r--gcc/config/i386/djgpp.h2
-rw-r--r--gcc/config/i386/freebsd-aout.h12
-rw-r--r--gcc/config/i386/freebsd64.h3
-rw-r--r--gcc/config/i386/i386-protos.h3
-rw-r--r--gcc/config/i386/i386.c362
-rw-r--r--gcc/config/i386/i386.h51
-rw-r--r--gcc/config/i386/i386.md665
-rw-r--r--gcc/config/i386/linux64.h19
-rw-r--r--gcc/config/i386/mingw32.h5
-rw-r--r--gcc/config/i386/mmintrin.h39
-rw-r--r--gcc/config/i386/scodbx.h84
-rw-r--r--gcc/config/i386/t-sco5gas2
-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.h115
-rw-r--r--gcc/config/ia64/aix.h8
-rw-r--r--gcc/config/ia64/crtbegin.asm3
-rw-r--r--gcc/config/ia64/crtend.asm15
-rw-r--r--gcc/config/ia64/hpux.h17
-rw-r--r--gcc/config/ia64/ia64-c.c1
-rw-r--r--gcc/config/ia64/ia64-protos.h5
-rw-r--r--gcc/config/ia64/ia64.c432
-rw-r--r--gcc/config/ia64/ia64.h79
-rw-r--r--gcc/config/ia64/ia64.md223
-rw-r--r--gcc/config/ia64/t-hpux8
-rw-r--r--gcc/config/ia64/t-ia643
-rw-r--r--gcc/config/ia64/unwind-ia64.c19
-rw-r--r--gcc/config/ip2k/ip2k.c111
-rw-r--r--gcc/config/ip2k/ip2k.h14
-rw-r--r--gcc/config/linux.h2
-rw-r--r--gcc/config/m68hc11/larith.asm298
-rw-r--r--gcc/config/m68hc11/m68hc11-protos.h22
-rw-r--r--gcc/config/m68hc11/m68hc11.c323
-rw-r--r--gcc/config/m68hc11/m68hc11.h73
-rw-r--r--gcc/config/m68hc11/m68hc11.md611
-rw-r--r--gcc/config/m68hc11/m68hc12.h16
-rw-r--r--gcc/config/m68hc11/t-m68hc11-gas8
-rw-r--r--gcc/config/m68k/coff.h19
-rw-r--r--gcc/config/m68k/linux.h17
-rw-r--r--gcc/config/m68k/m68k.c4
-rw-r--r--gcc/config/m68k/m68k.md51
-rw-r--r--gcc/config/m68k/m68kelf.h19
-rw-r--r--gcc/config/m68k/mot3300.h19
-rw-r--r--gcc/config/m68k/netbsd-elf.h23
-rw-r--r--gcc/config/m68k/pbb.h19
-rw-r--r--gcc/config/m68k/t-crtstuff6
-rw-r--r--gcc/config/mcore/mcore.h2
-rw-r--r--gcc/config/mcore/mcore.md6
-rw-r--r--gcc/config/mips/_tilib.c156
-rw-r--r--gcc/config/mips/iris6.h11
-rw-r--r--gcc/config/mips/linux.h2
-rw-r--r--gcc/config/mips/mips-protos.h5
-rw-r--r--gcc/config/mips/mips.c68
-rw-r--r--gcc/config/mips/mips.h89
-rw-r--r--gcc/config/mips/mips.md30
-rw-r--r--gcc/config/mips/rtems.h3
-rw-r--r--gcc/config/mips/t-iris5-68
-rw-r--r--gcc/config/mips/t-iris613
-rw-r--r--gcc/config/mn10300/mn10300-protos.h5
-rw-r--r--gcc/config/mn10300/mn10300.c50
-rw-r--r--gcc/config/mn10300/mn10300.md44
-rw-r--r--gcc/config/netbsd.h6
-rw-r--r--gcc/config/pa/milli64.S2
-rw-r--r--gcc/config/pa/pa-hpux.h9
-rw-r--r--gcc/config/pa/pa-hpux10.h8
-rw-r--r--gcc/config/pa/pa-hpux11.h33
-rw-r--r--gcc/config/pa/pa-protos.h10
-rw-r--r--gcc/config/pa/pa.c685
-rw-r--r--gcc/config/pa/pa.h55
-rw-r--r--gcc/config/pa/pa.md1385
-rw-r--r--gcc/config/pa/pa32-regs.h2
-rw-r--r--gcc/config/pa/pa64-hpux.h213
-rw-r--r--gcc/config/pa/pa64-regs.h4
-rw-r--r--gcc/config/pa/rtems.h5
-rw-r--r--gcc/config/pa/som.h53
-rw-r--r--gcc/config/pa/t-hpux-shlib6
-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/freebsd.h8
-rw-r--r--gcc/config/rs6000/linux.h55
-rw-r--r--gcc/config/rs6000/linux64.h12
-rw-r--r--gcc/config/rs6000/ppc64-fp.c146
-rw-r--r--gcc/config/rs6000/rs6000-protos.h2
-rw-r--r--gcc/config/rs6000/rs6000.c144
-rw-r--r--gcc/config/rs6000/rs6000.h65
-rw-r--r--gcc/config/rs6000/rs6000.md47
-rw-r--r--gcc/config/rs6000/rtems.h5
-rw-r--r--gcc/config/rs6000/spe.h353
-rw-r--r--gcc/config/rs6000/sysv4.h39
-rw-r--r--gcc/config/rs6000/t-aix432
-rw-r--r--gcc/config/rs6000/t-aix522
-rw-r--r--gcc/config/rs6000/t-linux643
-rw-r--r--gcc/config/rs6000/t-rtems86
-rw-r--r--gcc/config/s390/s390-protos.h9
-rw-r--r--gcc/config/s390/s390.c903
-rw-r--r--gcc/config/s390/s390.h44
-rw-r--r--gcc/config/s390/s390.md502
-rw-r--r--gcc/config/sh/linux.h4
-rw-r--r--gcc/config/sh/sh-protos.h4
-rw-r--r--gcc/config/sh/sh.c54
-rw-r--r--gcc/config/sh/sh.h34
-rw-r--r--gcc/config/sh/sh.md24
-rw-r--r--gcc/config/sh/t-linux3
-rw-r--r--gcc/config/sparc/freebsd.h5
-rw-r--r--gcc/config/sparc/sparc.c88
-rw-r--r--gcc/config/sparc/sparc.h43
-rw-r--r--gcc/config/sparc/sparc.md200
-rw-r--r--gcc/config/t-darwin2
-rw-r--r--gcc/config/t-linux2
-rw-r--r--gcc/config/t-linux-gnulibc12
-rw-r--r--gcc/config/t-netbsd4
-rw-r--r--gcc/config/t-slibgcc-elf-ver8
-rw-r--r--gcc/config/t-slibgcc-sld8
-rw-r--r--gcc/config/v850/v850.h2
-rw-r--r--gcc/config/xtensa/linux.h14
-rw-r--r--gcc/config/xtensa/xtensa-protos.h4
-rw-r--r--gcc/config/xtensa/xtensa.c31
-rw-r--r--gcc/config/xtensa/xtensa.h43
-rw-r--r--gcc/config/xtensa/xtensa.md21
-rwxr-xr-xgcc/configure806
-rw-r--r--gcc/configure.in133
-rw-r--r--gcc/cp/ChangeLog1243
-rw-r--r--gcc/cp/Make-lang.in76
-rw-r--r--gcc/cp/call.c919
-rw-r--r--gcc/cp/cfns.gperf108
-rw-r--r--gcc/cp/cfns.h560
-rw-r--r--gcc/cp/class.c175
-rw-r--r--gcc/cp/config-lang.in2
-rw-r--r--gcc/cp/cp-lang.c12
-rw-r--r--gcc/cp/cp-tree.def13
-rw-r--r--gcc/cp/cp-tree.h205
-rw-r--r--gcc/cp/cvt.c110
-rw-r--r--gcc/cp/decl.c1698
-rw-r--r--gcc/cp/decl.h6
-rw-r--r--gcc/cp/decl2.c658
-rw-r--r--gcc/cp/dump.c8
-rw-r--r--gcc/cp/error.c53
-rw-r--r--gcc/cp/expr.c2
-rw-r--r--gcc/cp/friend.c33
-rw-r--r--gcc/cp/g++spec.c2
-rw-r--r--gcc/cp/init.c114
-rw-r--r--gcc/cp/lang-options.h4
-rw-r--r--gcc/cp/lang-specs.h8
-rw-r--r--gcc/cp/lex.c19
-rw-r--r--gcc/cp/mangle.c173
-rw-r--r--gcc/cp/method.c5
-rw-r--r--gcc/cp/operators.def7
-rw-r--r--gcc/cp/optimize.c4
-rw-r--r--gcc/cp/parse.y149
-rw-r--r--gcc/cp/pt.c445
-rw-r--r--gcc/cp/ptree.c18
-rw-r--r--gcc/cp/rtti.c12
-rw-r--r--gcc/cp/search.c325
-rw-r--r--gcc/cp/semantics.c39
-rw-r--r--gcc/cp/spew.c19
-rw-r--r--gcc/cp/tree.c20
-rw-r--r--gcc/cp/typeck.c117
-rw-r--r--gcc/cp/typeck2.c34
-rw-r--r--gcc/cpphash.h5
-rw-r--r--gcc/cppinit.c21
-rw-r--r--gcc/cpplib.c5
-rw-r--r--gcc/cppmacro.c12
-rw-r--r--gcc/cppspec.c22
-rw-r--r--gcc/cpptrad.c4
-rw-r--r--gcc/cse.c12
-rw-r--r--gcc/cselib.c14
-rw-r--r--gcc/cselib.h2
-rw-r--r--gcc/df.c14
-rw-r--r--gcc/diagnostic.c14
-rw-r--r--gcc/diagnostic.h5
-rw-r--r--gcc/doc/bugreport.texi312
-rw-r--r--gcc/doc/collect2.texi2
-rw-r--r--gcc/doc/contrib.texi196
-rw-r--r--gcc/doc/cpp.texi22
-rw-r--r--gcc/doc/cppopts.texi9
-rw-r--r--gcc/doc/extend.texi154
-rw-r--r--gcc/doc/gcc.texi61
-rw-r--r--gcc/doc/gccint.texi56
-rw-r--r--gcc/doc/gcov.texi26
-rw-r--r--gcc/doc/gty.texi8
-rw-r--r--gcc/doc/headerdirs.texi2
-rw-r--r--gcc/doc/include/fdl.texi223
-rw-r--r--gcc/doc/include/gcc-common.texi7
-rw-r--r--gcc/doc/include/gpl.texi9
-rw-r--r--gcc/doc/include/texinfo.tex859
-rw-r--r--gcc/doc/install.texi469
-rw-r--r--gcc/doc/invoke.texi1528
-rw-r--r--gcc/doc/makefile.texi14
-rw-r--r--gcc/doc/md.texi103
-rw-r--r--gcc/doc/objc.texi3
-rw-r--r--gcc/doc/passes.texi18
-rw-r--r--gcc/doc/rtl.texi30
-rw-r--r--gcc/doc/service.texi8
-rw-r--r--gcc/doc/sourcebuild.texi234
-rw-r--r--gcc/doc/standards.texi4
-rw-r--r--gcc/doc/tm.texi53
-rw-r--r--gcc/doc/trouble.texi77
-rw-r--r--gcc/doc/vms.texi225
-rw-r--r--gcc/dwarf2asm.h28
-rw-r--r--gcc/dwarf2out.c66
-rw-r--r--gcc/emit-rtl.c271
-rw-r--r--gcc/except.c173
-rw-r--r--gcc/except.h10
-rw-r--r--gcc/explow.c12
-rw-r--r--gcc/expmed.c22
-rw-r--r--gcc/expr.c359
-rw-r--r--gcc/expr.h18
-rw-r--r--gcc/f/ChangeLog150
-rw-r--r--gcc/f/Make-lang.in60
-rw-r--r--gcc/f/bugs.texi5
-rw-r--r--gcc/f/com.c80
-rw-r--r--gcc/f/com.h2
-rw-r--r--gcc/f/data.c31
-rw-r--r--gcc/f/ffe.texi2
-rw-r--r--gcc/f/g77.texi466
-rw-r--r--gcc/f/g77spec.c25
-rw-r--r--gcc/f/intdoc.in25
-rw-r--r--gcc/f/intdoc.texi23
-rw-r--r--gcc/f/invoke.texi2
-rw-r--r--gcc/f/lang-specs.h2
-rw-r--r--gcc/f/news.texi25
-rw-r--r--gcc/f/root.texi9
-rw-r--r--gcc/f/stc.c15
-rw-r--r--gcc/f/ste.c22
-rw-r--r--gcc/f/target.h3
-rw-r--r--gcc/final.c2
-rw-r--r--gcc/fixinc/fixfixes.c66
-rw-r--r--gcc/fixinc/fixincl.x614
-rw-r--r--gcc/fixinc/gnu-regex.c2
-rw-r--r--gcc/fixinc/inclhack.def251
-rw-r--r--gcc/fixinc/tests/base/Xm/Traversal.h2
-rw-r--r--gcc/fixinc/tests/base/assert.h12
-rw-r--r--gcc/fixinc/tests/base/ctype.h65
-rw-r--r--gcc/fixinc/tests/base/internal/sgimacros.h17
-rw-r--r--gcc/fixinc/tests/base/internal/wchar_core.h15
-rw-r--r--gcc/fixinc/tests/base/math.h12
-rw-r--r--gcc/fixinc/tests/base/pthread.h20
-rw-r--r--gcc/fixinc/tests/base/stdio.h6
-rw-r--r--gcc/fixinc/tests/base/stdlib.h6
-rw-r--r--gcc/fixinc/tests/base/strings.h6
-rw-r--r--gcc/fixinc/tests/base/sys/mman.h6
-rw-r--r--gcc/fixinc/tests/base/sys/socket.h19
-rw-r--r--gcc/fixinc/tests/base/sys/stat.h9
-rw-r--r--gcc/fixinc/tests/base/time.h6
-rw-r--r--gcc/flags.h5
-rw-r--r--gcc/flow.c23
-rw-r--r--gcc/fold-const.c33
-rw-r--r--gcc/function.c118
-rw-r--r--gcc/function.h4
-rw-r--r--gcc/gbl-ctors.h7
-rw-r--r--gcc/gcc.c35
-rw-r--r--gcc/gcc.h22
-rwxr-xr-xgcc/gccbug.in2
-rw-r--r--gcc/gcov-io.h8
-rw-r--r--gcc/gcse.c136
-rw-r--r--gcc/gdbinit.in4
-rw-r--r--gcc/gengtype-lex.l5
-rw-r--r--gcc/gengtype-yacc.y10
-rw-r--r--gcc/ggc-common.c83
-rw-r--r--gcc/ggc-page.c262
-rw-r--r--gcc/ggc.h5
-rw-r--r--gcc/global.c19
-rw-r--r--gcc/gthr-rtems.h3
-rw-r--r--gcc/haifa-sched.c234
-rw-r--r--gcc/hard-reg-set.h4
-rw-r--r--gcc/hashtable.c6
-rw-r--r--gcc/hashtable.h3
-rw-r--r--gcc/ifcvt.c61
-rw-r--r--gcc/integrate.c17
-rw-r--r--gcc/intl/ChangeLog12
-rw-r--r--gcc/java/ChangeLog265
-rw-r--r--gcc/java/Make-lang.in158
-rw-r--r--gcc/java/builtins.c8
-rw-r--r--gcc/java/class.c15
-rw-r--r--gcc/java/decl.c8
-rw-r--r--gcc/java/expr.c49
-rw-r--r--gcc/java/gcj.texi122
-rw-r--r--gcc/java/gjavah.c107
-rw-r--r--gcc/java/javaop.h68
-rw-r--r--gcc/java/jcf-dump.c85
-rw-r--r--gcc/java/jcf-io.c26
-rw-r--r--gcc/java/jcf-parse.c10
-rw-r--r--gcc/java/jcf-path.c14
-rw-r--r--gcc/java/jcf-write.c72
-rw-r--r--gcc/java/jcf.h30
-rw-r--r--gcc/java/jv-scan.c4
-rw-r--r--gcc/java/lang.c17
-rw-r--r--gcc/java/lex.c37
-rw-r--r--gcc/java/parse.y230
-rw-r--r--gcc/java/win32-host.c85
-rw-r--r--gcc/jump.c85
-rw-r--r--gcc/langhooks-def.h9
-rw-r--r--gcc/langhooks.c39
-rw-r--r--gcc/langhooks.h7
-rw-r--r--gcc/libgcc-std.ver4
-rw-r--r--gcc/libgcc2.h8
-rw-r--r--gcc/loop.c104
-rw-r--r--gcc/mklibgcc.in27
-rw-r--r--gcc/objc/lang-specs.h8
-rw-r--r--gcc/optabs.c111
-rw-r--r--gcc/params.def48
-rw-r--r--gcc/params.h4
-rw-r--r--gcc/po/ChangeLog37
-rw-r--r--gcc/po/be.po20746
-rw-r--r--gcc/po/da.po26096
-rw-r--r--gcc/po/de.po20512
-rw-r--r--gcc/po/el.po17458
-rw-r--r--gcc/po/es.po13419
-rw-r--r--gcc/po/fr.po14652
-rw-r--r--gcc/po/gcc.pot11135
-rw-r--r--gcc/po/ja.po18158
-rw-r--r--gcc/po/nl.po18028
-rw-r--r--gcc/po/sv.po22378
-rw-r--r--gcc/po/tr.po13127
-rw-r--r--gcc/predict.c48
-rw-r--r--gcc/print-rtl.c4
-rw-r--r--gcc/print-tree.c4
-rw-r--r--gcc/ra-colorize.c5
-rw-r--r--gcc/real.c25
-rw-r--r--gcc/recog.c20
-rw-r--r--gcc/reg-stack.c16
-rw-r--r--gcc/regclass.c101
-rw-r--r--gcc/regmove.c10
-rw-r--r--gcc/regs.h2
-rw-r--r--gcc/reload.c136
-rw-r--r--gcc/reload1.c76
-rw-r--r--gcc/rtl.c29
-rw-r--r--gcc/rtl.def14
-rw-r--r--gcc/rtl.h20
-rw-r--r--gcc/rtlanal.c82
-rw-r--r--gcc/sbitmap.c60
-rw-r--r--gcc/sbitmap.h3
-rw-r--r--gcc/simplify-rtx.c73
-rw-r--r--gcc/stmt.c150
-rw-r--r--gcc/stor-layout.c41
-rw-r--r--gcc/system.h6
-rw-r--r--gcc/testsuite/ChangeLog2056
-rw-r--r--gcc/testsuite/g++.dg/abi/dcast1.C29
-rw-r--r--gcc/testsuite/g++.dg/cpp/c++_cmd_1.C12
-rw-r--r--gcc/testsuite/g++.dg/cpp/c++_cmd_1.h6
-rw-r--r--gcc/testsuite/g++.dg/eh/cleanup1.C417
-rw-r--r--gcc/testsuite/g++.dg/eh/forced1.C80
-rw-r--r--gcc/testsuite/g++.dg/eh/forced2.C50
-rw-r--r--gcc/testsuite/g++.dg/eh/forced3.C55
-rw-r--r--gcc/testsuite/g++.dg/eh/forced4.C49
-rw-r--r--gcc/testsuite/g++.dg/expr/anew1.C20
-rw-r--r--gcc/testsuite/g++.dg/expr/anew2.C20
-rw-r--r--gcc/testsuite/g++.dg/expr/anew3.C25
-rw-r--r--gcc/testsuite/g++.dg/expr/anew4.C37
-rw-r--r--gcc/testsuite/g++.dg/expr/cast1.C3
-rw-r--r--gcc/testsuite/g++.dg/expr/dtor1.C7
-rw-r--r--gcc/testsuite/g++.dg/ext/desig1.C24
-rw-r--r--gcc/testsuite/g++.dg/ext/dllimport1.C21
-rw-r--r--gcc/testsuite/g++.dg/ext/max.C6
-rw-r--r--gcc/testsuite/g++.dg/ext/typeof3.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/typeof4.C13
-rw-r--r--gcc/testsuite/g++.dg/init/addr-const1.C38
-rw-r--r--gcc/testsuite/g++.dg/init/ctor2.C34
-rw-r--r--gcc/testsuite/g++.dg/init/new1.C20
-rw-r--r--gcc/testsuite/g++.dg/init/new4.C1
-rw-r--r--gcc/testsuite/g++.dg/init/new5.C18
-rw-r--r--gcc/testsuite/g++.dg/init/new6.C8
-rw-r--r--gcc/testsuite/g++.dg/init/new7.C7
-rw-r--r--gcc/testsuite/g++.dg/init/ref1.C5
-rw-r--r--gcc/testsuite/g++.dg/init/ref2.C10
-rw-r--r--gcc/testsuite/g++.dg/init/ref3.C12
-rw-r--r--gcc/testsuite/g++.dg/init/ref5.C12
-rw-r--r--gcc/testsuite/g++.dg/init/ref6.C12
-rw-r--r--gcc/testsuite/g++.dg/init/ref7.C9
-rw-r--r--gcc/testsuite/g++.dg/lookup/class-member-2.C7
-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/friend1.C15
-rw-r--r--gcc/testsuite/g++.dg/lookup/scoped3.C23
-rw-r--r--gcc/testsuite/g++.dg/lookup/struct-hack1.C38
-rw-r--r--gcc/testsuite/g++.dg/lookup/template1.C31
-rw-r--r--gcc/testsuite/g++.dg/lookup/using2.C4
-rw-r--r--gcc/testsuite/g++.dg/lookup/using3.C11
-rw-r--r--gcc/testsuite/g++.dg/opt/operator1.C10
-rw-r--r--gcc/testsuite/g++.dg/opt/ptrmem1.C12
-rw-r--r--gcc/testsuite/g++.dg/opt/ptrmem2.C12
-rw-r--r--gcc/testsuite/g++.dg/opt/vtgc1.C136
-rw-r--r--gcc/testsuite/g++.dg/other/bitfield1.C9
-rw-r--r--gcc/testsuite/g++.dg/other/do1.C2
-rw-r--r--gcc/testsuite/g++.dg/other/packed1.C7
-rw-r--r--gcc/testsuite/g++.dg/other/pragma-ep-1.C2
-rw-r--r--gcc/testsuite/g++.dg/overload/builtin2.C8
-rw-r--r--gcc/testsuite/g++.dg/parse/angle-bracket.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/class1.C10
-rw-r--r--gcc/testsuite/g++.dg/parse/conv_op1.C30
-rw-r--r--gcc/testsuite/g++.dg/parse/crash2.C7
-rw-r--r--gcc/testsuite/g++.dg/parse/crash3.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/crash4.C12
-rw-r--r--gcc/testsuite/g++.dg/parse/crash6.C10
-rw-r--r--gcc/testsuite/g++.dg/parse/elab1.C9
-rw-r--r--gcc/testsuite/g++.dg/parse/namespace1.C10
-rw-r--r--gcc/testsuite/g++.dg/parse/namespace8.C6
-rw-r--r--gcc/testsuite/g++.dg/parse/namespace9.C8
-rw-r--r--gcc/testsuite/g++.dg/parse/octal1.C1
-rw-r--r--gcc/testsuite/g++.dg/parse/ptrmem1.C10
-rw-r--r--gcc/testsuite/g++.dg/parse/typedef1.C4
-rw-r--r--gcc/testsuite/g++.dg/parse/varmod1.C7
-rw-r--r--gcc/testsuite/g++.dg/template/access10.C16
-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/conv6.C24
-rw-r--r--gcc/testsuite/g++.dg/template/conv7.C12
-rw-r--r--gcc/testsuite/g++.dg/template/conv8.C12
-rw-r--r--gcc/testsuite/g++.dg/template/defarg2.C10
-rw-r--r--gcc/testsuite/g++.dg/template/explicit1.C17
-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/friend14.C20
-rw-r--r--gcc/testsuite/g++.dg/template/friend15.C19
-rw-r--r--gcc/testsuite/g++.dg/template/friend16.C16
-rw-r--r--gcc/testsuite/g++.dg/template/friend17.C12
-rw-r--r--gcc/testsuite/g++.dg/template/friend18.C19
-rw-r--r--gcc/testsuite/g++.dg/template/friend9.C18
-rw-r--r--gcc/testsuite/g++.dg/template/func1.C13
-rw-r--r--gcc/testsuite/g++.dg/template/inline1.C20
-rw-r--r--gcc/testsuite/g++.dg/template/instantiate4.C13
-rw-r--r--gcc/testsuite/g++.dg/template/member.C56
-rw-r--r--gcc/testsuite/g++.dg/template/member3.C19
-rw-r--r--gcc/testsuite/g++.dg/template/nested2.C9
-rw-r--r--gcc/testsuite/g++.dg/template/ntp2.C16
-rw-r--r--gcc/testsuite/g++.dg/template/op1.C12
-rw-r--r--gcc/testsuite/g++.dg/template/ptrmem4.C20
-rw-r--r--gcc/testsuite/g++.dg/template/recurse.C2
-rw-r--r--gcc/testsuite/g++.dg/template/spec10.C27
-rw-r--r--gcc/testsuite/g++.dg/template/spec7.C27
-rw-r--r--gcc/testsuite/g++.dg/template/spec8.C11
-rw-r--r--gcc/testsuite/g++.dg/template/spec9.C21
-rw-r--r--gcc/testsuite/g++.dg/template/static3.C25
-rw-r--r--gcc/testsuite/g++.dg/template/static4.C7
-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/template/typename3.C2
-rw-r--r--gcc/testsuite/g++.dg/template/unify4.C18
-rw-r--r--gcc/testsuite/g++.dg/warn/Winline-1.C10
-rw-r--r--gcc/testsuite/g++.dg/warn/Winline-2.C11
-rw-r--r--gcc/testsuite/g++.dg/warn/Woverloaded-1.C17
-rw-r--r--gcc/testsuite/g++.dg/warn/Wshadow-2.C10
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-2.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-3.C11
-rw-r--r--gcc/testsuite/g++.dg/warn/compare1.C10
-rw-r--r--gcc/testsuite/g++.dg/warn/conversion-function-1.C8
-rw-r--r--gcc/testsuite/g++.dg/warn/implicit-typename1.C17
-rw-r--r--gcc/testsuite/g++.dg/warn/implicit-typename2.C12
-rw-r--r--gcc/testsuite/g++.dg/warn/implicit-typename3.C12
-rw-r--r--gcc/testsuite/g++.dg/warn/inline1.C23
-rw-r--r--gcc/testsuite/g++.dg/warn/weak1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/16077.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash64.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec6.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/pretty2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion5.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth10.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh33.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh50.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/err1.C2
-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++.oliva/ChangeLog12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/builtins10.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/decl5.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup24.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overcnv2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload14.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/deduct5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate12.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb42.C19
-rw-r--r--gcc/testsuite/g77.dg/pr9258.f18
-rw-r--r--gcc/testsuite/g77.f-torture/compile/20030326-1.f14
-rw-r--r--gcc/testsuite/g77.f-torture/execute/10197.f15
-rw-r--r--gcc/testsuite/g77.f-torture/execute/1832.f8
-rw-r--r--gcc/testsuite/g77.f-torture/execute/select.f173
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/9263.f7
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f10
-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/20010518-2.x8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20020312-1.x6
-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/20030125-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030206-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030219-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030305-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030314-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030330-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030405-1.c58
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030418-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030604-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-12.x6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-4.x6
-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/compile/980506-1.x3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/simd-5.x37
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20011126-1.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020227-1.x40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020720-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/20030218-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030221-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030224-2.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030307-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030313-1.c68
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030316-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030613-1.c62
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960312-1.x7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtin-constant.x11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-23.c26
-rw-r--r--gcc/testsuite/gcc.dg/20011029-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/20020430-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/20020503-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/20030120-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/20030123-1.c17
-rw-r--r--gcc/testsuite/gcc.dg/20030129-1.c37
-rw-r--r--gcc/testsuite/gcc.dg/20030213-1.c37
-rw-r--r--gcc/testsuite/gcc.dg/20030225-1.c103
-rw-r--r--gcc/testsuite/gcc.dg/20030309-1.c42
-rw-r--r--gcc/testsuite/gcc.dg/20030321-1.c18
-rw-r--r--gcc/testsuite/gcc.dg/20030323-1.c24
-rw-r--r--gcc/testsuite/gcc.dg/20030324-1.c39
-rw-r--r--gcc/testsuite/gcc.dg/20030331-2.c10
-rw-r--r--gcc/testsuite/gcc.dg/20030414-1.c39
-rw-r--r--gcc/testsuite/gcc.dg/asm-7.c28
-rw-r--r--gcc/testsuite/gcc.dg/asmreg-1.c73
-rw-r--r--gcc/testsuite/gcc.dg/attr-invalid.c4
-rw-r--r--gcc/testsuite/gcc.dg/c90-restrict-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/c99-func-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-1.c36
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-2.c22
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-3.c45
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-4.c39
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-5.c50
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-6.c14
-rw-r--r--gcc/testsuite/gcc.dg/cleanup-7.c22
-rw-r--r--gcc/testsuite/gcc.dg/compare7.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/19990413-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/Wunused.c5
-rw-r--r--gcc/testsuite/gcc.dg/cpp/digraph2.c2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/direct2.c2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/inc/foo.h1
-rw-r--r--gcc/testsuite/gcc.dg/cpp/include3.c7
-rw-r--r--gcc/testsuite/gcc.dg/cpp/paste4.c2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/redef3.c21
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c10
-rw-r--r--gcc/testsuite/gcc.dg/darwin-ld-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/decl-2.c10
-rw-r--r--gcc/testsuite/gcc.dg/decl-3.c5
-rw-r--r--gcc/testsuite/gcc.dg/format/attr-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/h8300-stack-1.c14
-rw-r--r--gcc/testsuite/gcc.dg/i386-loop-1.c105
-rw-r--r--gcc/testsuite/gcc.dg/i386-loop-2.c80
-rw-r--r--gcc/testsuite/gcc.dg/i386-loop-3.c76
-rw-r--r--gcc/testsuite/gcc.dg/i386-mmx-3.c17
-rw-r--r--gcc/testsuite/gcc.dg/i386-signbit-1.c28
-rw-r--r--gcc/testsuite/gcc.dg/i386-signbit-2.c28
-rw-r--r--gcc/testsuite/gcc.dg/i386-signbit-3.c32
-rw-r--r--gcc/testsuite/gcc.dg/i386-sse-4.c27
-rw-r--r--gcc/testsuite/gcc.dg/i386-ssetype-1.c29
-rw-r--r--gcc/testsuite/gcc.dg/i386-ssetype-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/i386-ssetype-3.c28
-rw-r--r--gcc/testsuite/gcc.dg/i386-ssetype-5.c27
-rw-r--r--gcc/testsuite/gcc.dg/ia64-sync-3.c74
-rw-r--r--gcc/testsuite/gcc.dg/inline-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/920721-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/930622-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/940112-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/950921-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/951123-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/971104-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/990416-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noreturn-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/old-style-asm-1.c27
-rw-r--r--gcc/testsuite/gcc.dg/pragma-ep-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/return-type-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/return-type-3.c14
-rw-r--r--gcc/testsuite/gcc.dg/sparc-constant-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/sparc-dwarf2.c31
-rw-r--r--gcc/testsuite/gcc.dg/special/ecos.exp4
-rw-r--r--gcc/testsuite/gcc.dg/struct-ret-libc.c16
-rw-r--r--gcc/testsuite/gcc.dg/tls/alias-1.c21
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp5.c12
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp6.c150
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp7.c49
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp8.c39
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp9.c39
-rw-r--r--gcc/testsuite/gcc.dg/uninit-C.c15
-rw-r--r--gcc/testsuite/gcc.dg/unused-4.c2
-rw-r--r--gcc/testsuite/lib/profopt.exp6
-rw-r--r--gcc/testsuite/lib/scanasm.exp16
-rw-r--r--gcc/testsuite/objc.dg/naming-1.m2
-rw-r--r--gcc/testsuite/objc.dg/naming-2.m2
-rw-r--r--gcc/testsuite/treelang/ChangeLog12
-rw-r--r--gcc/timevar.c7
-rw-r--r--gcc/timevar.def3
-rw-r--r--gcc/timevar.h3
-rw-r--r--gcc/tlink.c12
-rw-r--r--gcc/toplev.c159
-rw-r--r--gcc/tree-inline.c92
-rw-r--r--gcc/tree.c71
-rw-r--r--gcc/tree.h15
-rw-r--r--gcc/treelang/ChangeLog43
-rw-r--r--gcc/treelang/Make-lang.in53
-rw-r--r--gcc/treelang/treelang.texi89
-rw-r--r--gcc/tsystem.h8
-rw-r--r--gcc/unroll.c58
-rw-r--r--gcc/unwind-c.c186
-rw-r--r--gcc/unwind-dw2-fde-darwin.c20
-rw-r--r--gcc/unwind-dw2-fde.h4
-rw-r--r--gcc/unwind-dw2.c95
-rw-r--r--gcc/unwind-sjlj.c10
-rw-r--r--gcc/unwind.h25
-rw-r--r--gcc/unwind.inc65
-rw-r--r--gcc/varasm.c28
-rw-r--r--gcc/version.c4
-rw-r--r--include/ChangeLog28
-rw-r--r--include/ansidecl.h30
-rw-r--r--include/libiberty.h4
-rw-r--r--libf2c/ChangeLog51
-rw-r--r--libf2c/Makefile.in23
-rw-r--r--libf2c/aclocal.m45
-rwxr-xr-xlibf2c/configure246
-rw-r--r--libf2c/configure.in4
-rwxr-xr-xlibf2c/libI77/configure165
-rw-r--r--libf2c/libI77/configure.in6
-rw-r--r--libf2c/libI77/iio.c2
-rw-r--r--libf2c/libI77/open.c5
-rwxr-xr-xlibf2c/libU77/configure165
-rw-r--r--libf2c/libU77/configure.in6
-rw-r--r--libffi/ChangeLog103
-rw-r--r--libffi/ChangeLog.libgcj13
-rw-r--r--libffi/Makefile.am9
-rw-r--r--libffi/Makefile.in155
-rwxr-xr-xlibffi/configure409
-rw-r--r--libffi/configure.in36
-rw-r--r--libffi/fficonfig.h.in46
-rw-r--r--libffi/include/Makefile.in8
-rw-r--r--libffi/include/ffi.h.in27
-rw-r--r--libffi/src/ffitest.c260
-rw-r--r--libffi/src/powerpc/aix_closure.S37
-rw-r--r--libffi/src/powerpc/darwin.S89
-rw-r--r--libffi/src/powerpc/darwin_closure.S117
-rw-r--r--libffi/src/powerpc/ffi.c37
-rw-r--r--libffi/src/powerpc/ffi_darwin.c46
-rw-r--r--libffi/src/powerpc/ppc_closure.S194
-rw-r--r--libffi/src/sparc/ffi.c106
-rw-r--r--libffi/src/sparc/v8.S93
-rw-r--r--libffi/src/sparc/v9.S110
-rw-r--r--libffi/src/x86/ffi.c45
-rw-r--r--libffi/src/x86/ffi64.c139
-rw-r--r--libffi/src/x86/unix64.S138
-rw-r--r--libiberty/ChangeLog181
-rw-r--r--libiberty/Makefile.in26
-rw-r--r--libiberty/acconfig.h3
-rw-r--r--libiberty/config.in53
-rwxr-xr-xlibiberty/configure348
-rw-r--r--libiberty/configure.in26
-rw-r--r--libiberty/cp-demangle.c2
-rw-r--r--libiberty/cplus-dem.c9
-rw-r--r--libiberty/getopt.c6
-rw-r--r--libiberty/hashtab.c10
-rw-r--r--libiberty/libiberty.texi4
-rw-r--r--libiberty/physmem.c305
-rw-r--r--libiberty/regex.c2
-rw-r--r--libiberty/testsuite/test-demangle.c2
-rw-r--r--libiberty/vsprintf.c6
-rw-r--r--libjava/ChangeLog1692
-rw-r--r--libjava/Makefile.am201
-rw-r--r--libjava/Makefile.in340
-rw-r--r--libjava/acinclude.m424
-rw-r--r--libjava/aclocal.m447
-rw-r--r--libjava/boehm.cc2
-rwxr-xr-xlibjava/configure601
-rw-r--r--libjava/configure.host11
-rw-r--r--libjava/configure.in39
-rw-r--r--libjava/defineclass.cc2
-rw-r--r--libjava/gcj/Makefile.in5
-rw-r--r--libjava/gcj/javaprims.h21
-rw-r--r--libjava/gnu/awt/j2d/DirectRasterGraphics.java5
-rw-r--r--libjava/gnu/awt/j2d/Graphics2DImpl.java5
-rw-r--r--libjava/gnu/awt/j2d/IntegerGraphicsState.java18
-rw-r--r--libjava/gnu/awt/xlib/XGraphics.java8
-rw-r--r--libjava/gnu/awt/xlib/XGraphicsConfiguration.java37
-rw-r--r--libjava/gnu/awt/xlib/XToolkit.java4
-rw-r--r--libjava/gnu/gcj/convert/Output_EUCJIS.java7
-rw-r--r--libjava/gnu/gcj/convert/Output_SJIS.java7
-rw-r--r--libjava/gnu/gcj/convert/Output_UTF8.java9
-rw-r--r--libjava/gnu/gcj/convert/UnicodeToBytes.java13
-rw-r--r--libjava/gnu/gcj/protocol/http/Connection.java59
-rw-r--r--libjava/gnu/gcj/runtime/NameFinder.java22
-rw-r--r--libjava/gnu/gcj/runtime/natNameFinder.cc33
-rw-r--r--libjava/gnu/gcj/runtime/natStackTrace.cc3
-rw-r--r--libjava/gnu/gcj/xlib/GC.java4
-rw-r--r--libjava/gnu/gcj/xlib/natGC.cc24
-rw-r--r--libjava/gnu/java/nio/ByteBufferImpl.java388
-rw-r--r--libjava/gnu/java/nio/CharBufferImpl.java148
-rw-r--r--libjava/gnu/java/nio/DoubleBufferImpl.java120
-rw-r--r--libjava/gnu/java/nio/FileChannelImpl.java181
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.java63
-rw-r--r--libjava/gnu/java/nio/FloatBufferImpl.java114
-rw-r--r--libjava/gnu/java/nio/IntBufferImpl.java118
-rw-r--r--libjava/gnu/java/nio/LongBufferImpl.java116
-rw-r--r--libjava/gnu/java/nio/SelectorProviderImpl.java6
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelImpl.java10
-rw-r--r--libjava/gnu/java/nio/ShortBufferImpl.java126
-rw-r--r--libjava/gnu/java/nio/natByteBufferImpl.cc10
-rw-r--r--libjava/gnu/java/nio/natCharBufferImpl.cc112
-rw-r--r--libjava/gnu/java/nio/natDoubleBufferImpl.cc112
-rw-r--r--libjava/gnu/java/nio/natFileChannelImpl.cc53
-rw-r--r--libjava/gnu/java/nio/natFloatBufferImpl.cc112
-rw-r--r--libjava/gnu/java/nio/natIntBufferImpl.cc112
-rw-r--r--libjava/gnu/java/nio/natLongBufferImpl.cc112
-rw-r--r--libjava/gnu/java/nio/natServerSocketChannelImpl.cc77
-rw-r--r--libjava/gnu/java/nio/natShortBufferImpl.cc112
-rw-r--r--libjava/gnu/java/nio/natSocketChannelImpl.cc92
-rw-r--r--libjava/gnu/java/rmi/server/UnicastServerRef.java4
-rw-r--r--libjava/gnu/java/security/provider/SHA1PRNG.java32
-rw-r--r--libjava/include/Makefile.in5
-rw-r--r--libjava/include/config.h.in2
-rw-r--r--libjava/include/dwarf2-signal.h3
-rw-r--r--libjava/include/java-interp.h4
-rw-r--r--libjava/include/jvm.h18
-rw-r--r--libjava/include/posix.h28
-rw-r--r--libjava/include/powerpc-signal.h87
-rw-r--r--libjava/include/win32-threads.h58
-rw-r--r--libjava/include/win32.h31
-rw-r--r--libjava/include/x86_64-signal.h96
-rw-r--r--libjava/java/awt/AlphaComposite.java24
-rw-r--r--libjava/java/awt/BasicStroke.java58
-rw-r--r--libjava/java/awt/BufferCapabilities.java5
-rw-r--r--libjava/java/awt/Button.java13
-rw-r--r--libjava/java/awt/CardLayout.java47
-rw-r--r--libjava/java/awt/CheckboxMenuItem.java12
-rw-r--r--libjava/java/awt/Choice.java34
-rw-r--r--libjava/java/awt/Component.java33
-rw-r--r--libjava/java/awt/Container.java511
-rw-r--r--libjava/java/awt/Cursor.java14
-rw-r--r--libjava/java/awt/DisplayMode.java16
-rw-r--r--libjava/java/awt/EventQueue.java30
-rw-r--r--libjava/java/awt/FileDialog.java12
-rw-r--r--libjava/java/awt/Graphics2D.java3
-rw-r--r--libjava/java/awt/Label.java13
-rw-r--r--libjava/java/awt/List.java13
-rw-r--r--libjava/java/awt/Menu.java9
-rw-r--r--libjava/java/awt/MenuBar.java4
-rw-r--r--libjava/java/awt/MenuComponent.java4
-rw-r--r--libjava/java/awt/PopupMenu.java9
-rw-r--r--libjava/java/awt/ScrollPane.java11
-rw-r--r--libjava/java/awt/Scrollbar.java19
-rw-r--r--libjava/java/awt/TextArea.java13
-rw-r--r--libjava/java/awt/TextComponent.java8
-rw-r--r--libjava/java/awt/TextField.java13
-rw-r--r--libjava/java/awt/Toolkit.java64
-rw-r--r--libjava/java/awt/Window.java95
-rw-r--r--libjava/java/awt/color/CMMException.java2
-rw-r--r--libjava/java/awt/color/ColorSpace.java9
-rw-r--r--libjava/java/awt/color/ICC_ColorSpace.java33
-rw-r--r--libjava/java/awt/color/ICC_Profile.java2
-rw-r--r--libjava/java/awt/color/ProfileDataException.java2
-rw-r--r--libjava/java/awt/datatransfer/Clipboard.java4
-rw-r--r--libjava/java/awt/datatransfer/DataFlavor.java17
-rw-r--r--libjava/java/awt/datatransfer/FlavorMap.java65
-rw-r--r--libjava/java/awt/datatransfer/SystemFlavorMap.java241
-rw-r--r--libjava/java/awt/dnd/DragGestureEvent.java27
-rw-r--r--libjava/java/awt/dnd/DragGestureRecognizer.java6
-rw-r--r--libjava/java/awt/dnd/DragSource.java46
-rw-r--r--libjava/java/awt/dnd/DropTarget.java9
-rw-r--r--libjava/java/awt/event/WindowEvent.java2
-rw-r--r--libjava/java/awt/geom/Dimension2D.java5
-rw-r--r--libjava/java/awt/geom/GeneralPath.java4
-rw-r--r--libjava/java/awt/geom/Line2D.java4
-rw-r--r--libjava/java/awt/geom/PathIterator.java4
-rw-r--r--libjava/java/awt/geom/QuadCurve2D.java4
-rw-r--r--libjava/java/awt/im/InputMethodHighlight.java2
-rw-r--r--libjava/java/awt/image/ColorModel.java22
-rw-r--r--libjava/java/awt/image/ImageFilter.java13
-rw-r--r--libjava/java/beans/PropertyDescriptor.java566
-rw-r--r--libjava/java/io/BufferedOutputStream.java8
-rw-r--r--libjava/java/io/File.java154
-rw-r--r--libjava/java/io/FileDescriptor.java4
-rw-r--r--libjava/java/io/FileInputStream.java6
-rw-r--r--libjava/java/io/InputStreamReader.java7
-rw-r--r--libjava/java/io/ObjectInputStream.java1442
-rw-r--r--libjava/java/io/ObjectOutputStream.java998
-rw-r--r--libjava/java/io/ObjectStreamClass.java145
-rw-r--r--libjava/java/io/ObjectStreamField.java23
-rw-r--r--libjava/java/io/OutputStreamWriter.java16
-rw-r--r--libjava/java/io/PipedOutputStream.java8
-rw-r--r--libjava/java/io/PipedWriter.java6
-rw-r--r--libjava/java/io/PrintStream.java6
-rw-r--r--libjava/java/io/StringWriter.java4
-rw-r--r--libjava/java/io/VMObjectStreamClass.java50
-rw-r--r--libjava/java/io/natFileDescriptorPosix.cc54
-rw-r--r--libjava/java/io/natFileDescriptorWin32.cc19
-rw-r--r--libjava/java/io/natFilePosix.cc12
-rw-r--r--libjava/java/io/natFileWin32.cc168
-rw-r--r--libjava/java/io/natObjectInputStream.cc13
-rw-r--r--libjava/java/io/natObjectOutputStream.cc33
-rw-r--r--libjava/java/io/natVMObjectStreamClass.cc23
-rw-r--r--libjava/java/lang/Class.h10
-rw-r--r--libjava/java/lang/ClassLoader.java18
-rw-r--r--libjava/java/lang/StringBuffer.java39
-rw-r--r--libjava/java/lang/System.java45
-rw-r--r--libjava/java/lang/Win32Process.java52
-rw-r--r--libjava/java/lang/natClass.cc81
-rw-r--r--libjava/java/lang/natClassLoader.cc75
-rw-r--r--libjava/java/lang/natObject.cc5
-rw-r--r--libjava/java/lang/natRuntime.cc46
-rw-r--r--libjava/java/lang/natString.cc12
-rw-r--r--libjava/java/lang/natSystem.cc5
-rw-r--r--libjava/java/lang/natWin32Process.cc295
-rw-r--r--libjava/java/lang/reflect/Modifier.java13
-rw-r--r--libjava/java/lang/reflect/natMethod.cc47
-rw-r--r--libjava/java/math/BigDecimal.java69
-rw-r--r--libjava/java/math/BigInteger.java328
-rw-r--r--libjava/java/net/DatagramSocket.java628
-rw-r--r--libjava/java/net/HttpURLConnection.java58
-rw-r--r--libjava/java/net/InetSocketAddress.java5
-rw-r--r--libjava/java/net/MulticastSocket.java23
-rw-r--r--libjava/java/net/NetPermission.java3
-rw-r--r--libjava/java/net/NetworkInterface.java5
-rw-r--r--libjava/java/net/ServerSocket.java18
-rw-r--r--libjava/java/net/Socket.java60
-rw-r--r--libjava/java/net/SocketAddress.java3
-rw-r--r--libjava/java/net/SocketImpl.java7
-rw-r--r--libjava/java/net/SocketPermission.java112
-rw-r--r--libjava/java/net/URLClassLoader.java33
-rw-r--r--libjava/java/net/URLDecoder.java6
-rw-r--r--libjava/java/net/URLStreamHandler.java35
-rw-r--r--libjava/java/nio/Buffer.java32
-rw-r--r--libjava/java/nio/ByteBuffer.java545
-rw-r--r--libjava/java/nio/CharBuffer.java246
-rw-r--r--libjava/java/nio/DoubleBuffer.java78
-rw-r--r--libjava/java/nio/FloatBuffer.java80
-rw-r--r--libjava/java/nio/IntBuffer.java79
-rw-r--r--libjava/java/nio/LongBuffer.java79
-rw-r--r--libjava/java/nio/MappedByteBuffer.java23
-rw-r--r--libjava/java/nio/ShortBuffer.java79
-rw-r--r--libjava/java/nio/channels/Channels.java130
-rw-r--r--libjava/java/nio/channels/DatagramChannel.java22
-rw-r--r--libjava/java/nio/channels/FileChannel.java243
-rw-r--r--libjava/java/nio/channels/FileLock.java137
-rw-r--r--libjava/java/nio/channels/Pipe.java3
-rw-r--r--libjava/java/nio/channels/SelectableChannel.java4
-rw-r--r--libjava/java/nio/channels/SelectionKey.java8
-rw-r--r--libjava/java/nio/channels/ServerSocketChannel.java2
-rw-r--r--libjava/java/nio/channels/SocketChannel.java17
-rw-r--r--libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java2
-rw-r--r--libjava/java/nio/channels/spi/AbstractSelectableChannel.java8
-rw-r--r--libjava/java/nio/channels/spi/SelectorProvider.java20
-rw-r--r--libjava/java/nio/charset/Charset.java5
-rw-r--r--libjava/java/nio/charset/CharsetEncoder.java5
-rw-r--r--libjava/java/nio/charset/IllegalCharsetNameException.java13
-rw-r--r--libjava/java/nio/charset/UnsupportedCharsetException.java13
-rw-r--r--libjava/java/rmi/server/RMIClassLoader.java2
-rw-r--r--libjava/java/rmi/server/RMIClassLoaderSpi.java64
-rw-r--r--libjava/java/rmi/server/UnicastRemoteObject.java4
-rw-r--r--libjava/java/security/SecureRandom.java8
-rw-r--r--libjava/java/security/Security.java67
-rw-r--r--libjava/java/sql/Timestamp.java34
-rw-r--r--libjava/java/util/Properties.java94
-rw-r--r--libjava/java/util/TreeMap.java6
-rw-r--r--libjava/java/util/jar/JarFile.java24
-rw-r--r--libjava/java/util/natResourceBundle.cc20
-rw-r--r--libjava/java/util/natTimeZone.cc5
-rw-r--r--libjava/java/util/zip/InflaterInputStream.java4
-rw-r--r--libjava/java/util/zip/ZipEntry.java10
-rw-r--r--libjava/java/util/zip/ZipFile.java186
-rw-r--r--libjava/java/util/zip/ZipInputStream.java4
-rw-r--r--libjava/javax/naming/InitialContext.java22
-rw-r--r--libjava/javax/sql/ConnectionEvent.java13
-rw-r--r--libjava/jni.cc94
-rw-r--r--libjava/libgcj.spec.in2
-rw-r--r--libjava/libltdl/ChangeLog12
-rw-r--r--libjava/libtool-version2
-rw-r--r--libjava/mauve-libgcj13
-rw-r--r--libjava/org/xml/sax/AttributeList.java384
-rw-r--r--libjava/org/xml/sax/Attributes.java495
-rw-r--r--libjava/org/xml/sax/ContentHandler.java782
-rw-r--r--libjava/org/xml/sax/DTDHandler.java225
-rw-r--r--libjava/org/xml/sax/DocumentHandler.java462
-rw-r--r--libjava/org/xml/sax/EntityResolver.java229
-rw-r--r--libjava/org/xml/sax/ErrorHandler.java248
-rw-r--r--libjava/org/xml/sax/HandlerBase.java738
-rw-r--r--libjava/org/xml/sax/InputSource.java657
-rw-r--r--libjava/org/xml/sax/Locator.java262
-rw-r--r--libjava/org/xml/sax/Parser.java416
-rw-r--r--libjava/org/xml/sax/SAXException.java297
-rw-r--r--libjava/org/xml/sax/SAXNotRecognizedException.java99
-rw-r--r--libjava/org/xml/sax/SAXNotSupportedException.java99
-rw-r--r--libjava/org/xml/sax/SAXParseException.java534
-rw-r--r--libjava/org/xml/sax/XMLFilter.java132
-rw-r--r--libjava/org/xml/sax/XMLReader.java813
-rw-r--r--libjava/org/xml/sax/ext/DeclHandler.java274
-rw-r--r--libjava/org/xml/sax/ext/LexicalHandler.java373
-rw-r--r--libjava/org/xml/sax/ext/package.html49
-rw-r--r--libjava/org/xml/sax/helpers/AttributeListImpl.java622
-rw-r--r--libjava/org/xml/sax/helpers/AttributesImpl.java1226
-rw-r--r--libjava/org/xml/sax/helpers/DefaultHandler.java915
-rw-r--r--libjava/org/xml/sax/helpers/LocatorImpl.java426
-rw-r--r--libjava/org/xml/sax/helpers/NamespaceSupport.java1459
-rw-r--r--libjava/org/xml/sax/helpers/NewInstance.java80
-rw-r--r--libjava/org/xml/sax/helpers/ParserAdapter.java2034
-rw-r--r--libjava/org/xml/sax/helpers/ParserFactory.java258
-rw-r--r--libjava/org/xml/sax/helpers/XMLFilterImpl.java1483
-rw-r--r--libjava/org/xml/sax/helpers/XMLReaderAdapter.java1065
-rw-r--r--libjava/org/xml/sax/helpers/XMLReaderFactory.java339
-rw-r--r--libjava/org/xml/sax/helpers/package.html13
-rw-r--r--libjava/org/xml/sax/package.html164
-rw-r--r--libjava/posix-threads.cc5
-rw-r--r--libjava/posix.cc22
-rw-r--r--libjava/prims.cc59
-rw-r--r--libjava/resolve.cc95
-rw-r--r--libjava/testsuite/ChangeLog157
-rw-r--r--libjava/testsuite/Makefile.in5
-rw-r--r--libjava/testsuite/lib/libjava.exp22
-rw-r--r--libjava/testsuite/libjava.compile/consthrow.java6
-rw-r--r--libjava/testsuite/libjava.compile/consthrow.xfail2
-rw-r--r--libjava/testsuite/libjava.compile/pr10459.java10
-rw-r--r--libjava/testsuite/libjava.compile/pr10459_2.java10
-rw-r--r--libjava/testsuite/libjava.compile/pr8712.java7
-rw-r--r--libjava/testsuite/libjava.compile/pr8955.java13
-rw-r--r--libjava/testsuite/libjava.jacks/jacks.exp7
-rw-r--r--libjava/testsuite/libjava.jacks/jacks.xfail127
-rw-r--r--libjava/testsuite/libjava.jni/calls.c8
-rw-r--r--libjava/testsuite/libjava.jni/calls.java6
-rw-r--r--libjava/testsuite/libjava.jni/field.c2
-rw-r--r--libjava/testsuite/libjava.jni/final_method.c2
-rw-r--r--libjava/testsuite/libjava.jni/findclass.c2
-rw-r--r--libjava/testsuite/libjava.jni/invoke.c2
-rw-r--r--libjava/testsuite/libjava.jni/martin.c3
-rw-r--r--libjava/testsuite/libjava.jni/noclass.c2
-rw-r--r--libjava/testsuite/libjava.jni/overload.c4
-rw-r--r--libjava/testsuite/libjava.jni/register.c2
-rw-r--r--libjava/testsuite/libjava.jni/simple_int.c2
-rw-r--r--libjava/testsuite/libjava.jni/throwit.c2
-rw-r--r--libjava/testsuite/libjava.jni/virtual.c2
-rw-r--r--libjava/testsuite/libjava.lang/PR8866.java22
-rw-r--r--libjava/testsuite/libjava.lang/Throw_2.java2
-rw-r--r--libjava/testsuite/libjava.lang/Throw_2.out2
-rw-r--r--libjava/testsuite/libjava.lang/assign.java19
-rw-r--r--libjava/testsuite/libjava.lang/assign.out0
-rw-r--r--libjava/testsuite/libjava.lang/initfield.java20
-rw-r--r--libjava/testsuite/libjava.lang/initfield.out1
-rw-r--r--libjava/testsuite/libjava.lang/pr8823.xfail1
-rw-r--r--libjava/testsuite/libjava.lang/pr8945.java9
-rw-r--r--libjava/testsuite/libjava.lang/pr8945.out1
-rw-r--r--libjava/testsuite/libjava.lang/verify.java20
-rw-r--r--libjava/testsuite/libjava.lang/verify.out0
-rw-r--r--libjava/testsuite/libjava.mauve/mauve.exp47
-rw-r--r--libjava/testsuite/libjava.mauve/xfails86
-rw-r--r--libjava/verify.cc174
-rw-r--r--libjava/win32-threads.cc101
-rw-r--r--libjava/win32.cc61
-rw-r--r--libobjc/ChangeLog31
-rw-r--r--libobjc/Makefile.in13
-rw-r--r--libobjc/aclocal.m45
-rwxr-xr-xlibobjc/configure249
-rw-r--r--libobjc/configure.in4
-rw-r--r--libstdc++-v3/ChangeLog1539
-rw-r--r--libstdc++-v3/Makefile.am39
-rw-r--r--libstdc++-v3/Makefile.in52
-rw-r--r--libstdc++-v3/acconfig.h9
-rw-r--r--libstdc++-v3/acinclude.m4238
-rw-r--r--libstdc++-v3/aclocal.m4282
-rw-r--r--libstdc++-v3/config.h.in15
-rw-r--r--libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt3031
-rw-r--r--libstdc++-v3/config/abi/i386-unknown-freebsd4/baseline_symbols.txt2008
-rw-r--r--libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt3031
-rw-r--r--libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt3031
-rw-r--r--libstdc++-v3/config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt3034
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity.h25
-rw-r--r--libstdc++-v3/config/cpu/hppa/atomicity.h15
-rw-r--r--libstdc++-v3/config/cpu/i386/atomicity.h75
-rw-r--r--libstdc++-v3/config/cpu/i486/atomicity.h10
-rw-r--r--libstdc++-v3/config/cpu/mips/atomicity.h4
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.cc87
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.h3
-rw-r--r--libstdc++-v3/config/linker-map.gnu220
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.h17
-rw-r--r--libstdc++-v3/config/locale/generic/codecvt_members.cc1
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.h25
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.h61
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.cc4
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.h13
-rw-r--r--libstdc++-v3/config/locale/gnu/codecvt_members.cc8
-rw-r--r--libstdc++-v3/config/locale/gnu/collate_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.h52
-rw-r--r--libstdc++-v3/config/locale/gnu/monetary_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/numeric_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.h68
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h26
-rw-r--r--libstdc++-v3/config/os/aix/atomicity.h4
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h72
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/os_defines.h7
-rw-r--r--libstdc++-v3/config/os/generic/ctype_inline.h142
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_inline.h30
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/hpux/os_defines.h12
-rwxr-xr-xlibstdc++-v3/configure3630
-rw-r--r--libstdc++-v3/configure.in31
-rw-r--r--libstdc++-v3/configure.target81
-rw-r--r--libstdc++-v3/docs/doxygen/Intro.317
-rw-r--r--libstdc++-v3/docs/doxygen/TODO7
-rw-r--r--libstdc++-v3/docs/doxygen/mainpage.html13
-rw-r--r--libstdc++-v3/docs/doxygen/run_doxygen59
-rw-r--r--libstdc++-v3/docs/doxygen/tables.html4
-rw-r--r--libstdc++-v3/docs/doxygen/user.cfg.in188
-rw-r--r--libstdc++-v3/docs/html/17_intro/howto.html8
-rw-r--r--libstdc++-v3/docs/html/17_intro/porting.html904
-rw-r--r--libstdc++-v3/docs/html/17_intro/porting.texi77
-rw-r--r--libstdc++-v3/docs/html/18_support/howto.html4
-rw-r--r--libstdc++-v3/docs/html/19_diagnostics/howto.html8
-rw-r--r--libstdc++-v3/docs/html/27_io/howto.html70
-rw-r--r--libstdc++-v3/docs/html/configopts.html64
-rw-r--r--libstdc++-v3/docs/html/debug.html220
-rw-r--r--libstdc++-v3/docs/html/documentation.html13
-rw-r--r--libstdc++-v3/docs/html/explanations.html10
-rw-r--r--libstdc++-v3/docs/html/ext/howto.html79
-rw-r--r--libstdc++-v3/docs/html/ext/sgiexts.html4
-rw-r--r--libstdc++-v3/docs/html/faq/index.html257
-rw-r--r--libstdc++-v3/docs/html/faq/index.txt498
-rw-r--r--libstdc++-v3/docs/html/install.html58
-rw-r--r--libstdc++-v3/include/Makefile.am198
-rw-r--r--libstdc++-v3/include/Makefile.in220
-rw-r--r--libstdc++-v3/include/bits/basic_ios.h22
-rw-r--r--libstdc++-v3/include/bits/basic_ios.tcc43
-rw-r--r--libstdc++-v3/include/bits/basic_string.h96
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc130
-rw-r--r--libstdc++-v3/include/bits/c++config25
-rw-r--r--libstdc++-v3/include/bits/codecvt.h29
-rw-r--r--libstdc++-v3/include/bits/concept_check.h3
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc211
-rw-r--r--libstdc++-v3/include/bits/ios_base.h13
-rw-r--r--libstdc++-v3/include/bits/istream.tcc140
-rw-r--r--libstdc++-v3/include/bits/locale_classes.h374
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h229
-rw-r--r--libstdc++-v3/include/bits/locale_facets.tcc858
-rw-r--r--libstdc++-v3/include/bits/localefwd.h330
-rw-r--r--libstdc++-v3/include/bits/ostream.tcc98
-rw-r--r--libstdc++-v3/include/bits/stl_alloc.h40
-rw-r--r--libstdc++-v3/include/bits/stl_iterator.h7
-rw-r--r--libstdc++-v3/include/bits/streambuf.tcc86
-rw-r--r--libstdc++-v3/include/bits/streambuf_iterator.h36
-rw-r--r--libstdc++-v3/include/bits/valarray_meta.h4
-rw-r--r--libstdc++-v3/include/c_std/std_cmath.h127
-rw-r--r--libstdc++-v3/include/c_std/std_cstdio.h15
-rw-r--r--libstdc++-v3/include/c_std/std_cstdlib.h26
-rw-r--r--libstdc++-v3/include/c_std/std_cwchar.h16
-rw-r--r--libstdc++-v3/include/ext/stdio_filebuf.h13
-rw-r--r--libstdc++-v3/include/std/std_bitset.h51
-rw-r--r--libstdc++-v3/include/std/std_complex.h16
-rw-r--r--libstdc++-v3/include/std/std_fstream.h39
-rw-r--r--libstdc++-v3/include/std/std_iomanip.h5
-rw-r--r--libstdc++-v3/include/std/std_iosfwd.h7
-rw-r--r--libstdc++-v3/include/std/std_istream.h21
-rw-r--r--libstdc++-v3/include/std/std_limits.h16
-rw-r--r--libstdc++-v3/include/std/std_locale.h7
-rw-r--r--libstdc++-v3/include/std/std_ostream.h20
-rw-r--r--libstdc++-v3/include/std/std_sstream.h4
-rw-r--r--libstdc++-v3/include/std/std_streambuf.h15
-rw-r--r--libstdc++-v3/libio/ChangeLog16
-rw-r--r--libstdc++-v3/libio/Makefile.am2
-rw-r--r--libstdc++-v3/libio/Makefile.in66
-rw-r--r--libstdc++-v3/libmath/Makefile.in14
-rw-r--r--libstdc++-v3/libmath/stubs.c8
-rw-r--r--libstdc++-v3/libsupc++/Makefile.am12
-rw-r--r--libstdc++-v3/libsupc++/Makefile.in25
-rw-r--r--libstdc++-v3/libsupc++/eh_catch.cc45
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc98
-rw-r--r--libstdc++-v3/libsupc++/eh_throw.cc13
-rw-r--r--libstdc++-v3/libsupc++/tinfo.cc7
-rw-r--r--libstdc++-v3/po/Makefile.in14
-rw-r--r--libstdc++-v3/src/Makefile.am100
-rw-r--r--libstdc++-v3/src/Makefile.in117
-rw-r--r--libstdc++-v3/src/codecvt.cc40
-rw-r--r--libstdc++-v3/src/concept-inst.cc3
-rw-r--r--libstdc++-v3/src/fstream.cc29
-rw-r--r--libstdc++-v3/src/globals.cc10
-rw-r--r--libstdc++-v3/src/ios.cc27
-rw-r--r--libstdc++-v3/src/locale-inst.cc117
-rw-r--r--libstdc++-v3/src/locale.cc32
-rw-r--r--libstdc++-v3/src/localename.cc15
-rw-r--r--libstdc++-v3/src/misc-inst.cc18
-rw-r--r--libstdc++-v3/src/strstream.cc4
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers.cc3
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits.cc21
-rw-r--r--libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc4
-rw-r--r--libstdc++-v3/testsuite/21_strings/insert.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc13
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put_members_char.cc32
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset_members.cc18
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset_shift.cc16
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque_ctor.cc92
-rw-r--r--libstdc++-v3/testsuite/23_containers/list_modifiers.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector_capacity.cc57
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector_ctor.cc280
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector_resize.cc57
-rw-r--r--libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/c_math_dynamic.cc58
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex_value.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray_name_lookup.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray_operators.cc67
-rw-r--r--libstdc++-v3/testsuite/27_io/filebuf.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/filebuf_members.cc104
-rw-r--r--libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc308
-rw-r--r--libstdc++-v3/testsuite/27_io/fstream.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base_storage.cc71
-rw-r--r--libstdc++-v3/testsuite/27_io/istream.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_exception.cc68
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc611
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/01.cc134
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/02.cc71
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/03.cc70
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/06.cc83
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/07.cc169
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/08.cc93
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/09.cc72
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/10.cc154
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/11.cc73
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/12.cc94
-rw-r--r--libstdc++-v3/testsuite/27_io/istream_extractor_arith/13.cc88
-rw-r--r--libstdc++-v3/testsuite/27_io/ostream.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/ostream_exception.cc66
-rw-r--r--libstdc++-v3/testsuite/27_io/ostream_fail.cc53
-rw-r--r--libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc22
-rw-r--r--libstdc++-v3/testsuite/27_io/ostream_sentry.cc70
-rw-r--r--libstdc++-v3/testsuite/27_io/streambuf.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/streambuf_members.cc162
-rw-r--r--libstdc++-v3/testsuite/27_io/stringbuf.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/stringbuf_members.cc29
-rw-r--r--libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc25
-rw-r--r--libstdc++-v3/testsuite/27_io/stringstream.cc23
-rw-r--r--libstdc++-v3/testsuite/Makefile.am72
-rw-r--r--libstdc++-v3/testsuite/Makefile.in117
-rw-r--r--libstdc++-v3/testsuite/abi_check.cc147
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf.cc36
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf_2.cc61
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp29
-rw-r--r--libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp14
-rw-r--r--libstdc++-v3/testsuite/testsuite_allocator.cc15
-rw-r--r--libstdc++-v3/testsuite/testsuite_allocator.h152
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.cc114
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.h345
-rw-r--r--libstdc++-v3/testsuite/thread/pthread1.cc4
-rw-r--r--libstdc++-v3/testsuite/thread/pthread2.cc4
-rw-r--r--libstdc++-v3/testsuite/thread/pthread3.cc4
-rw-r--r--libstdc++-v3/testsuite/thread/pthread4.cc20
-rw-r--r--libstdc++-v3/testsuite/thread/pthread5.cc4
-rw-r--r--libstdc++-v3/testsuite/thread/pthread6.cc4
-rwxr-xr-xlibstdc++-v3/testsuite_flags.in4
-rw-r--r--libtool.m414
-rw-r--r--ltcf-cxx.sh29
-rw-r--r--ltcf-gcj.sh6
-rwxr-xr-xltconfig14
-rw-r--r--maintainer-scripts/ChangeLog22
-rwxr-xr-xmaintainer-scripts/gcc_release34
-rw-r--r--zlib/ChangeLog14
-rw-r--r--zlib/ChangeLog.gcj19
-rw-r--r--zlib/Makefile.am9
-rw-r--r--zlib/Makefile.in8
-rwxr-xr-xzlib/configure308
-rw-r--r--zlib/configure.in19
1313 files changed, 198655 insertions, 118263 deletions
diff --git a/ChangeLog b/ChangeLog
index a67a388084c..7df4e868e83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,146 @@
+2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * MAINTAINERS (Write After Approval): Remove Andrew Haley.
+
+2003-05-14 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config-ml.in: Propagate INSTALL variables.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * MAINTAINERS: Remove duplicate entries in Write After Approval.
+
+2003-05-03 Chris Demetriou <cgd@broadcom.com>
+
+ Merge from mainline:
+ 2003-05-02 Chris Demetriou <cgd@broadcom.com>
+ * Makefile.tpl: Require "makeinfo" from texinfo 4.2 or later.
+ * Makefile.in: Regenerate.
+
+2003-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * Makefile.tpl (MAKEINFOFLAGS): Use --no-split instead of
+ --split-size.
+ * Makefile.in: Regenerate.
+
+2003-04-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * Makefile.tpl (MAKEINFOFLAGS): Default to --split-size=5000000.
+ * Makefile.in: Regenerate.
+
+2003-04-08 Joel Sherrill <joel@oarcorp.com>
+
+ * MAINTAINERS: Add my email address.
+
+2003-04-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ Backport from mainline.
+
+ 2003-03-10 Ben Elliston <bje@wasabisystems.com>
+
+ * MAINTAINERS: Update my mail address.
+
+2003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * configure.in (gxx_include_dir): Fix typo.
+
+2003-02-21 Zack Weinberg <zack@codesourcery.com>
+
+ * MAINTAINERS: Copy from HEAD.
+
+2003-02-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld.
+ * ltconfig: Handle it.
+ * ltcf-cxx.sh: Use with_gnu_ld passed as a shell variable instead of
+ auto-detecting it.
+
+2003-02-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * ltcf-cxx.sh: Replace $linker_flags with $compiler_flags wherever
+ it is used as argument to $CC.
+ * ltcf-gcj.sh: Likewise.
+
+2003-02-18 Jason Merrill <jason@redhat.com>
+
+ * Makefile.tpl (check-c++): Allow parallelism.
+
+2003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * MAINTAINERS: Remove John Carr (who never actually had access to
+ gcc.gnu.org).
+
+2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * MAINTAINERS: Add myself to write-after-approval list.
+
+2003-02-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * MAINTAINERS: Remove duplicate entry for Bernd Schmidt from Write
+ After Approval.
+
+2003-01-30 Roger Sayle <roger@eyesopen.com>
+
+ * config.guess: Updated to 2003-01-30's version.
+ * config.sub: Updated to 2003-01-28's version.
+
+2003-01-30 Alexandre Oliva <aoliva@redhat.com>
+
+ * config.if: If gcc_version is already set, just use it. Don't set
+ gcc_version_trigger if it's already set, otherwise set it to
+ gcc/version.c, but only if the file exists. If it is not set and
+ gcc/version.c does not exist, try to extract the version number from
+ $CC.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.tpl (BASE_FLAGS_TO_PASS): Also pass DESTDIR.
+ (install-info, dir.info): Prepend $(DESTDIR) to $(infodir).
+ * Makefile.in: Regenerate.
+
+2003-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * MAINTAINERS: Move myself from GNATS-only-accounts to
+ write-after-approval.
+
+2002-12-31 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.def (target_modules) [libffi]: Allow installation.
+
+2002-12-13 Jason Merrill <jason@redhat.com>
+
+ * Makefile.tpl (check-gcc-c++): Renamed from check-c++. Don't run
+ library tests.
+ (check-c++): Just depend on it and check-target-libstdc++-v3.
+ * Makefile.in: Regenerate.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.tpl (configure-target-rda): Depend on $(ALL_GCC_C).
+ * Makefile.in: Rebuilt.
+
+2002-12-25 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * config.sub: Import from master repository
+ * config.guess: Ditto
+
2002-12-13 Jason Merrill <jason@redhat.com>
* Makefile.in (check-gcc-c++): Renamed from check-c++. Don't run
diff --git a/MAINTAINERS b/MAINTAINERS
index 8d7db8812c8..33650eb9012 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20,7 +20,6 @@ Maintainers
Blanket Write Privs.
-John Carr jfc@mit.edu
Richard Earnshaw rearnsha@arm.com
Richard Henderson rth@redhat.com
Geoffrey Keating geoffk@geoffk.org
@@ -31,7 +30,8 @@ Michael Meissner meissner@redhat.com
David S. Miller davem@redhat.com
Mark Mitchell mark@codesourcery.com
Bernd Schmidt bernds@redhat.com
-Jim Wilson wilson@redhat.com
+Zack Weinberg zack@codesourcery.com
+Jim Wilson wilson@tuliptree.org
CPU Port Maintainers (CPU alphabetical order)
@@ -50,8 +50,8 @@ h8 port Kazu Hirata kazu@cs.umass.edu
hppa port Jeff Law law@redhat.com
hppa port Dave Anglin dave.anglin@nrc.ca
i386 port Richard Henderson rth@redhat.com
-i960 port Jim Wilson wilson@redhat.com
-ia64 port Jim Wilson wilson@redhat.com
+i960 port Jim Wilson wilson@tuliptree.org
+ia64 port Jim Wilson wilson@tuliptree.org
ip2k port Denis Chertykov denisc@overta.ru
m32r port Nick Clifton nickc@redhat.com
m32r port Michael Meissner meissner@redhat.com
@@ -111,14 +111,14 @@ mercury Fergus Henderson fjh@cs.mu.oz.au
objective-c Stan Shebs shebs@apple.com
objective-c Ovidiu Predescu ovidiu@cup.hp.com
alias analysis John Carr jfc@mit.edu
-loop unrolling Jim Wilson wilson@redhat.com
+loop unrolling Jim Wilson wilson@tuliptree.org
loop discovery Michael Hayes m.hayes@elec.canterbury.ac.nz
-scheduler (+ haifa) Jim Wilson wilson@redhat.com
+scheduler (+ haifa) Jim Wilson wilson@tuliptree.org
scheduler (+ haifa) Michael Meissner meissner@redhat.com
scheduler (+ haifa) Jeff Law law@redhat.com
reorg Jeff Law law@redhat.com
caller-save.c Jeff Law law@redhat.com
-debugging code Jim Wilson wilson@redhat.com
+debugging code Jim Wilson wilson@tuliptree.org
dwarf debugging code Jason Merrill jason@redhat.com
c++ runtime libs Paolo Carlini pcarlini@unitus.it
c++ runtime libs Gabriel Dos Reis gdr@integrable-solutions.net
@@ -147,7 +147,7 @@ build machinery (*.in) Alexandre Oliva aoliva@redhat.com
docs co-maintainer Gerald Pfeifer pfeifer@dbai.tuwien.ac.at
docs co-maintainer Joseph Myers jsm28@cam.ac.uk
Pico-Java port Steve Chamberlain sac@transmeta.com
-RTEMS Ports Joel Sherrill
+RTEMS Ports Joel Sherrill joel@oarcorp.com
VxWorks ports Zack Weinberg zack@codesourcery.com
VxWorks ports Nathan Sidwell nathan@codesourcery.com
predict.def Jan Hubicka jh@suse.cz
@@ -165,7 +165,7 @@ Matt Austern austern@apple.com
Scott Bambrough scottb@netwinder.org
Daniel Berlin dan@dberlin.org
David Billinghurst David.Billinghurst@riotinto.com
-Laurynas Biveinis lauras@softhome.net
+Laurynas Biveinis laurynas.biveinis@mif.vu.lt
Eric Blake ericb@gcc.gnu.org
Jim Blandy jimb@redhat.com
Phil Blundell pb@futuretv.com
@@ -174,24 +174,22 @@ Eric Botcazou ebotcazou@libertysurf.fr
Andrew Cagney cagney@redhat.com
Chandra Chavva cchavva@redhat.com
William Cohen wcohen@redhat.com
+Christian Cornelssen ccorn@cs.tu-berlin.de
Chris Demetriou cgd@broadcom.com
-*Paul Eggert eggert@twinsun.com
Steve Ellcey sje@cup.hp.com
-Ben Elliston bje@redhat.com
+Ben Elliston bje@wasabisystems.com
Marc Espie espie@cvs.openbsd.org
-Doug Evans devans@transmeta.com
+Doug Evans dje@transmeta.com
Kaveh Ghazi ghazi@caip.rutgers.edu
Matthew Gingell gingell@gnat.com
Anthony Green green@redhat.com
Stu Grossman grossman@redhat.com
Laurent Guerby guerby@acm.org
-Andrew Haley aph@redhat.com
Stuart Hastings stuart@apple.com
-Aldy Hernandez aldyh@redhat.com
Matthew Hiller hiller@redhat.com
Manfred Hollstein mhollstein@redhat.com
Andreas Jaeger aj@suse.de
-Jakub Jelinek jakub@redhat.com
+Fariborz Jahanian fjahanian@apple.com
Dale Johannesen dalej@apple.com
Klaus Kaempf kkaempf@progis.de
Brendan Kehoe brendan@zen.org
@@ -208,14 +206,12 @@ Kriang Lerdsuwanakij lerdsuwa@users.sourceforge.net
Don Lindsay dlindsay@redhat.com
Dave Love d.love@dl.ac.uk
Martin v. Löwis loewis@informatik.hu-berlin.de
-*HJ Lu hjl@lucon.org
+HJ Lu hjl@lucon.org
Andrew Macleod amacleod@redhat.com
Vladimir Makarov vmakarov@redhat.com
-Michael Matz matz@suse.de
Greg McGary gkm@gnu.org
Adam Megacz adam@xwt.org
Alan Modra amodra@bigpond.net.au
-Toon Moene toon@moene.indiv.nluug.nl
Catherine Moore clm@redhat.com
Adam Nemet anemet@lnxw.com
Nathanael Nerode neroden@gcc.gnu.org
@@ -231,6 +227,7 @@ Sebastian Pop s.pop@laposte.net
Clinton Popetz cpopetz@cpopetz.com
Ken Raeburn raeburn@redhat.com
Rolf Rasmussen rolfwr@gcc.gnu.org
+Volker Reichelt reichelt@igpm.rwth-aachen.de
Tom Rix trix@redhat.com
Craig Rodrigues rodrigc@gcc.gnu.org
Gavin Romig-Koch gavin@redhat.com
@@ -239,10 +236,8 @@ Douglas Rupp rupp@gnat.com
Alex Samuel samuel@codesourcery.com
Richard Sandiford rsandifo@redhat.com
Roger Sayle roger@eyesopen.com
-Bernd Schmidt bernds@redhat.com
Andreas Schwab schwab@suse.de
Svein Seldal svein.seldal@solidas.com
-Stan Shebs shebs@apple.com
Nathan Sidwell nathan@codesourcery.com
Franz Sirl franz.sirl-kernel@lauterbach.com
Danny Smith dannysmith@users.sourceforge.net
@@ -253,20 +248,20 @@ Mike Stump mrs@apple.com
Jeff Sturm jsturm@gcc.gnu.org
Ian Taylor ian@zembu.com
Michael Tiemann tiemann@redhat.com
-Philipp Thomas pthomas@suse.de
Kresten Krab Thorup krab@gcc.gnu.org
+Andreas Tobler andreast@gcc.gnu.org
Jonathan Wakely redi@gcc.gnu.org
Krister Walfridsson cato@df.lth.se
John Wehle john@feith.com
Florian Weimer fw@deneb.enyo.de
Mark Wielaard mark@gcc.gnu.org
+Josef Zlomek zlomekj@suse.cz
GNATS only accounts
Wolfgang Bangerth bangerth bangerth@ticam.utexas.edu
James Dennett jdennett jdennett@acm.org
Christian Ehrhardt cae ehrhardt@mathematik.uni-ulm.de
-Volker Reichelt reichelt reichelt@igpm.rwth-aachen.de
Peter Bienstman(?)
Benjamin Chelf(?)
diff --git a/Makefile.def b/Makefile.def
index ae4b2e6fa0b..72df449baef 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -72,7 +72,7 @@ target_modules = { module= libgloss; no_check=true; };
target_modules = { module= libiberty; };
target_modules = { module= gperf; };
target_modules = { module= examples; no_check=true; no_install=true; };
-target_modules = { module= libffi; no_install=true; };
+target_modules = { module= libffi; };
target_modules = { module= libjava; };
target_modules = { module= zlib; };
target_modules = { module= boehm-gc; };
diff --git a/Makefile.in b/Makefile.in
index 0c5606e5715..2f9a3dc6923 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -151,18 +151,19 @@ M4 = `if [ -f $$r/m4/m4 ] ; \
then echo $$r/m4/m4 ; \
else echo ${DEFAULT_M4} ; fi`
-# For an installed makeinfo, we require it to be from texinfo 4 or
+# For an installed makeinfo, we require it to be from texinfo 4.2 or
# higher, else we use the "missing" dummy.
MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \
then echo $$r/texinfo/makeinfo/makeinfo ; \
else if (makeinfo --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \
+ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \
then echo makeinfo; else echo $$s/missing makeinfo; fi; fi`
# This just becomes part of the MAKEINFO definition passed down to
# sub-makes. It lets flags be given on the command line while still
# using the makeinfo from the object tree.
-MAKEINFOFLAGS =
+# (Default to avoid splitting info files.)
+MAKEINFOFLAGS = --no-split
EXPECT = `if [ -f $$r/expect/expect ] ; \
then echo $$r/expect/expect ; \
@@ -367,6 +368,7 @@ BASE_FLAGS_TO_PASS = \
"CXXFLAGS=$(CXXFLAGS)" \
"CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
+ "DESTDIR=$(DESTDIR)" \
"DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
@@ -761,7 +763,7 @@ ALL_TARGET_MODULES = \
all-target-zlib \
all-target-boehm-gc \
all-target-qthreads \
- all-target-rda
+ all-target-rda
# This is a list of the configure targets for all of the modules which
# are compiled using the target tools.
@@ -781,7 +783,7 @@ CONFIGURE_TARGET_MODULES = \
configure-target-zlib \
configure-target-boehm-gc \
configure-target-qthreads \
- configure-target-rda
+ configure-target-rda
# This is a list of the check targets for all of the modules which are
# compiled using $(TARGET_FLAGS_TO_PASS).
@@ -798,7 +800,7 @@ CHECK_TARGET_MODULES = \
check-target-zlib \
check-target-boehm-gc \
check-target-qthreads \
- check-target-rda
+ check-target-rda
# This is a list of the install targets for all of the modules which are
# compiled using $(TARGET_FLAGS_TO_PASS).
@@ -812,11 +814,12 @@ INSTALL_TARGET_MODULES = \
install-target-libgloss \
install-target-libiberty \
install-target-gperf \
+ install-target-libffi \
install-target-libjava \
install-target-zlib \
install-target-boehm-gc \
install-target-qthreads \
- install-target-rda
+ install-target-rda
# This is a list of the targets for which we can do a clean-{target}.
CLEAN_MODULES = \
@@ -879,7 +882,7 @@ CLEAN_MODULES = \
clean-uudecode \
clean-wdiff \
clean-zip \
- clean-zlib
+ clean-zlib
# All of the target modules that can be cleaned
CLEAN_TARGET_MODULES = \
@@ -897,7 +900,7 @@ CLEAN_TARGET_MODULES = \
clean-target-zlib \
clean-target-boehm-gc \
clean-target-qthreads \
- clean-target-rda
+ clean-target-rda
# All of the x11 modules that can be cleaned
CLEAN_X11_MODULES = \
@@ -997,7 +1000,7 @@ do-info: all-texinfo
install-info: do-install-info dir.info
s=`cd $(srcdir); ${PWD}`; export s; \
if [ -f dir.info ] ; then \
- $(INSTALL_DATA) dir.info $(infodir)/dir.info ; \
+ $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \
else true ; fi
local-clean:
@@ -1598,7 +1601,8 @@ check-gcc-c++:
fi
.PHONY: check-c++
-check-c++: check-target-libstdc++-v3 check-gcc-c++
+check-c++:
+ $(MAKE) check-target-libstdc++-v3 check-gcc-c++ NOTPARALLEL=parallel-ok
.PHONY: install-gcc
install-gcc:
@@ -1784,7 +1788,7 @@ installdirs: mkinstalldirs
dir.info: do-install-info
if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \
- $(srcdir)/texinfo/gen-info-dir $(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
+ $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
mv -f dir.info.new dir.info ; \
else true ; \
fi
diff --git a/Makefile.tpl b/Makefile.tpl
index 7428f412451..ab38c06c977 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -154,18 +154,19 @@ M4 = `if [ -f $$r/m4/m4 ] ; \
then echo $$r/m4/m4 ; \
else echo ${DEFAULT_M4} ; fi`
-# For an installed makeinfo, we require it to be from texinfo 4 or
+# For an installed makeinfo, we require it to be from texinfo 4.2 or
# higher, else we use the "missing" dummy.
MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \
then echo $$r/texinfo/makeinfo/makeinfo ; \
else if (makeinfo --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \
+ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \
then echo makeinfo; else echo $$s/missing makeinfo; fi; fi`
# This just becomes part of the MAKEINFO definition passed down to
# sub-makes. It lets flags be given on the command line while still
# using the makeinfo from the object tree.
-MAKEINFOFLAGS =
+# (Default to avoid splitting info files.)
+MAKEINFOFLAGS = --no-split
EXPECT = `if [ -f $$r/expect/expect ] ; \
then echo $$r/expect/expect ; \
@@ -370,6 +371,7 @@ BASE_FLAGS_TO_PASS = \
"CXXFLAGS=$(CXXFLAGS)" \
"CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
+ "DESTDIR=$(DESTDIR)" \
"DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
@@ -738,7 +740,7 @@ do-info: all-texinfo
install-info: do-install-info dir.info
s=`cd $(srcdir); ${PWD}`; export s; \
if [ -f dir.info ] ; then \
- $(INSTALL_DATA) dir.info $(infodir)/dir.info ; \
+ $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \
else true ; fi
local-clean:
@@ -1327,17 +1329,20 @@ check-gcc:
true; \
fi
-.PHONY: check-c++
-check-c++:
+.PHONY: check-gcc-c++
+check-gcc-c++:
@if [ -f ./gcc/Makefile ] ; then \
r=`${PWD}`; export r; \
s=`cd $(srcdir); ${PWD}`; export s; \
$(SET_LIB_PATH) \
(cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
- $(MAKE) check-target-libstdc++-v3; \
else \
true; \
- fi
+ fi
+
+.PHONY: check-c++
+check-c++:
+ $(MAKE) check-target-libstdc++-v3 check-gcc-c++ NOTPARALLEL=parallel-ok
.PHONY: install-gcc
install-gcc:
@@ -1466,6 +1471,7 @@ all-textutils:
all-time:
all-tix: all-tcl all-tk
all-wdiff:
+configure-target-rda: $(ALL_GCC_C)
configure-target-winsup: $(ALL_GCC_C)
all-target-winsup: all-target-libiberty all-target-libtermcap
all-uudecode: all-libiberty
@@ -1507,7 +1513,7 @@ installdirs: mkinstalldirs
dir.info: do-install-info
if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \
- $(srcdir)/texinfo/gen-info-dir $(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
+ $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
mv -f dir.info.new dir.info ; \
else true ; \
fi
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 21d304df594..751534e48e7 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,76 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-04-28 Mohan Embar <gnustuff@thisiscool.com>
+
+ * configure.in: define GC_DLL under mingw if --enable-shared
+ * configure: rebuilt
+ * win32_threads.c: add #ifdef GC_DLL around DllMain
+
+2003-04-09 Tom Tromey <tromey@redhat.com>
+
+ * include/private/gcconfig.h (LINUX_STACKBOTTOM): Define for
+ POWERPC.
+ (STACK_GRAN, HEURISTIC1): Don't define for POWERPC.
+
+2003-03-04 Hans Boehm <Hans.Boehm@hp.com>
+ * include/private/gcconfig.h (GC_data_start): declare when needed.
+ * include/private/gc_priv.h: Include gcconfig.h after ptr_t
+ declaration.
+
+2003-03-03 Hans Boehm <Hans.Boehm@hp.com>
+ * mark_rts.c (GC_cond_register_dynamic_libraries): add.
+ (GC_push_roots): explicitly mark free list headers, register
+ dynamic libraries only if !REGISTER_LIBRARIES_EARLY.
+ * alloc.c (GC_stopped_mark): Conditionally call
+ GC_cond_register_dynamic_libraries().
+ (GC_collect_a_little_inner, GC_try_to_collect_inner): Check GC_dont_gc.
+ * dyn_load.c (GC_register_main_static_data): define.
+ (GC_register_dyn_libraries (Linux /proc, Linux ELF versions)):
+ no longer skip main data. Register main data for static executable.
+ * misc.c (GC_REGISTER_MAIN_STATIC_DATA): define.
+ (GC_init_inner): Make main data registration conditional.
+ * include/private/gc_priv.h (GC_register_main_static_data): declare.
+ * include/private/gcconfig.h (REGISTER_LIBRARIES_EARLY): define
+ for LINUX.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-02-11 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * include/private/gcconfig.h: undefine MPROTECT_VDB for MACOSX
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
+ Remove USE_LIBDIR conditional.
+ * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
+ * Makefile.in, configure: Rebuilt.
+
+2002-12-31 Tom Tromey <tromey@redhat.com>
+
+ For PR libgcj/8933:
+ * include/Makefile.in: Rebuilt.
+ * include/Makefile.am (noinst_HEADERS): Renamed from
+ include_HEADERS.
+
2002-11-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* ltconfig (osf[345]): Append $major to soname_spec.
diff --git a/boehm-gc/Makefile.am b/boehm-gc/Makefile.am
index 960cc606fbb..4c22a0f3dac 100644
--- a/boehm-gc/Makefile.am
+++ b/boehm-gc/Makefile.am
@@ -16,15 +16,6 @@ MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-## Install a library built with a cross compiler in tooldir, not
-## libdir.
-if USE_LIBDIR
-toolexeclibdir = $(libdir)$(MULTISUBDIR)
-else
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-endif
-
noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
diff --git a/boehm-gc/Makefile.in b/boehm-gc/Makefile.in
index ab8a7d1c915..edecc834988 100644
--- a/boehm-gc/Makefile.in
+++ b/boehm-gc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -46,10 +46,9 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_FLAG =
transform = @program_transform_name@
NORMAL_INSTALL = :
@@ -94,6 +93,8 @@ addobjs = @addobjs@
gc_basedir = @gc_basedir@
mkinstalldirs = @mkinstalldirs@
target_all = @target_all@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
AUTOMAKE_OPTIONS = cygnus
@@ -106,16 +107,21 @@ MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-@USE_LIBDIR_TRUE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
-GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c backgraph.c win32_threads.c
+GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
+dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
+linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
+obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
+solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
+backgraph.c win32_threads.c
-EXTRA_GC_SOURCES = alpha_mach_dep.s mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
+EXTRA_GC_SOURCES = alpha_mach_dep.s \
+mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
+rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
+sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
libgcjgc_la_SOURCES = $(GC_SOURCES)
@@ -147,14 +153,52 @@ TESTS = gctest
all_objs = @addobjs@ $(libgcjgc_la_OBJECTS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "EXPECT=$(EXPECT)" "RUNTEST=$(RUNTEST)" "RUNTESTFLAGS=$(RUNTESTFLAGS)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "prefix=$(prefix)" "tooldir=$(tooldir)" "AR=$(AR)" "AS=$(AS)" "CC=$(CC)" "CXX=$(CXX)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "NM=$(NM)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "DESTDIR=$(DESTDIR)"
+AM_MAKEFLAGS = \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS=$(CFLAGS)" \
+ "CXXFLAGS=$(CXXFLAGS)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+ "MAKE=$(MAKE)" \
+ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+ "PICFLAG=$(PICFLAG)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+ "SHELL=$(SHELL)" \
+ "EXPECT=$(EXPECT)" \
+ "RUNTEST=$(RUNTEST)" \
+ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+ "exec_prefix=$(exec_prefix)" \
+ "infodir=$(infodir)" \
+ "libdir=$(libdir)" \
+ "prefix=$(prefix)" \
+ "tooldir=$(tooldir)" \
+ "AR=$(AR)" \
+ "AS=$(AS)" \
+ "CC=$(CC)" \
+ "CXX=$(CXX)" \
+ "LD=$(LD)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "NM=$(NM)" \
+ "PICFLAG=$(PICFLAG)" \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
@@ -485,7 +529,7 @@ uninstall: uninstall-recursive
all-am: Makefile $(LTLIBRARIES)
all-redirect: all-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
diff --git a/boehm-gc/alloc.c b/boehm-gc/alloc.c
index 8a413b275f8..f2e5af05720 100644
--- a/boehm-gc/alloc.c
+++ b/boehm-gc/alloc.c
@@ -306,6 +306,7 @@ void GC_maybe_gc()
GC_bool GC_try_to_collect_inner(stop_func)
GC_stop_func stop_func;
{
+ if (GC_dont_gc) return FALSE;
if (GC_incremental && GC_collection_in_progress()) {
# ifdef CONDPRINT
if (GC_print_stats) {
@@ -386,6 +387,7 @@ int n;
{
register int i;
+ if (GC_dont_gc) return;
if (GC_incremental && GC_collection_in_progress()) {
for (i = GC_deficit; i < GC_RATE*n; i++) {
if (GC_mark_some((ptr_t)0)) {
@@ -446,6 +448,9 @@ GC_stop_func stop_func;
CLOCK_TYPE start_time, current_time;
# endif
+# if defined(REGISTER_LIBRARIES_EARLY)
+ GC_cond_register_dynamic_libraries();
+# endif
STOP_WORLD();
# ifdef PRINTTIMES
GET_TIME(start_time);
diff --git a/boehm-gc/configure b/boehm-gc/configure
index f6b2277188c..33721c17bff 100755
--- a/boehm-gc/configure
+++ b/boehm-gc/configure
@@ -2336,6 +2336,19 @@ case $host in
# Find out which ABI we are using.
echo '#line 2338 "configure"' > conftest.$ac_ext
if { (eval echo configure:2339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -2347,6 +2360,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -2354,7 +2368,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2367,12 +2381,54 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2376: checking whether the C compiler needs -belf" >&5
+echo "configure:2432: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2385,14 +2441,14 @@ 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 2389 "configure"
+#line 2445 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2422,7 +2478,7 @@ echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
esac
echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:2426: checking how to run the C++ preprocessor" >&5
+echo "configure:2482: checking how to run the C++ preprocessor" >&5
if test -z "$CXXCPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2435,12 +2491,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
CXXCPP="${CXX-g++} -E"
cat > conftest.$ac_ext <<EOF
-#line 2439 "configure"
+#line 2495 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2444: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2500: \"$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
:
@@ -2587,7 +2643,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:2591: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:2647: 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"
@@ -2620,7 +2676,7 @@ if false; then
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2624: checking for executable suffix" >&5
+echo "configure:2680: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2630,7 +2686,7 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:2634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:2690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj | *.ilk | *.pdb) ;;
@@ -2653,7 +2709,7 @@ ac_exeext=$EXEEXT
fi
echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6
-echo "configure:2657: checking for thread model used by GCC" >&5
+echo "configure:2713: checking for thread model used by GCC" >&5
THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
if test -z "$THREADS"; then
THREADS=no
@@ -2773,6 +2829,12 @@ EOF
#define NO_GETENV 1
EOF
+ if test $enable_shared = yes; then
+ cat >> confdefs.h <<\EOF
+#define GC_DLL 1
+EOF
+
+ fi
;;
decosf1 | irix | mach | os2 | solaris | dce | vxworks)
{ echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
@@ -2784,7 +2846,7 @@ esac
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:2788: checking for dlopen in -ldl" >&5
+echo "configure:2850: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2792,7 +2854,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2796 "configure"
+#line 2858 "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
@@ -2803,7 +2865,7 @@ int main() {
dlopen()
; return 0; }
EOF
-if { (eval echo configure:2807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3038,15 +3100,17 @@ EOF
fi
-
-
-if test -z "$with_cross_host"; then
- USE_LIBDIR_TRUE=
- USE_LIBDIR_FALSE='#'
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
else
- USE_LIBDIR_TRUE='#'
- USE_LIBDIR_FALSE=
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
fi
+toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
+
+
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
@@ -3249,8 +3313,8 @@ s%@INCLUDES@%$INCLUDES%g
s%@CXXINCLUDES@%$CXXINCLUDES%g
s%@addobjs@%$addobjs%g
s%@MY_CFLAGS@%$MY_CFLAGS%g
-s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
-s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
+s%@toolexecdir@%$toolexecdir%g
+s%@toolexeclibdir@%$toolexeclibdir%g
CEOF
EOF
@@ -3259,7 +3323,7 @@ cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
@@ -3361,6 +3425,7 @@ ac_configure_args="${multilib_arg} ${ac_configure_args}"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
gc_basedir=${gc_basedir}
CC="${CC}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
DEFS="$DEFS"
EOF
diff --git a/boehm-gc/configure.in b/boehm-gc/configure.in
index d34b723de07..79b806bc48c 100644
--- a/boehm-gc/configure.in
+++ b/boehm-gc/configure.in
@@ -1,4 +1,4 @@
-# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
+# Copyright (c) 1999, 2000, 2001, 2002, 2003 by Red Hat, Inc. All rights reserved.
#
# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
# OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
@@ -116,6 +116,9 @@ case "$THREADS" in
win32)
AC_DEFINE(GC_WIN32_THREADS)
AC_DEFINE(NO_GETENV)
+ if test $enable_shared = yes; then
+ AC_DEFINE(GC_DLL)
+ fi
;;
decosf1 | irix | mach | os2 | solaris | dce | vxworks)
AC_MSG_ERROR(thread package $THREADS not yet supported)
@@ -267,7 +270,17 @@ AC_ARG_ENABLE(full-debug,
esac ]
fi)
-AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+else
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
+fi
+toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
+AC_SUBST(toolexecdir)
+AC_SUBST(toolexeclibdir)
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
@@ -291,5 +304,6 @@ ac_configure_args="${multilib_arg} ${ac_configure_args}"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
gc_basedir=${gc_basedir}
CC="${CC}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
DEFS="$DEFS"
)
diff --git a/boehm-gc/dyn_load.c b/boehm-gc/dyn_load.c
index d3ef572be68..71ad5fb1d78 100644
--- a/boehm-gc/dyn_load.c
+++ b/boehm-gc/dyn_load.c
@@ -355,10 +355,6 @@ void GC_register_dynamic_libraries()
/* Stack mapping; discard */
continue;
}
- if (start <= datastart && end > datastart && maj_dev != 0) {
- /* Main data segment; discard */
- continue;
- }
# ifdef THREADS
if (GC_segment_is_thread_stack(start, end)) continue;
# endif
@@ -384,6 +380,13 @@ void GC_register_dynamic_libraries()
}
}
+/* We now take care of the main data segment ourselves: */
+GC_bool GC_register_main_static_data()
+{
+ return FALSE;
+}
+
+# define HAVE_REGISTER_MAIN_STATIC_DATA
//
// parse_map_entry parses an entry from /proc/self/maps so we can
// locate all writable data segments that belong to shared libraries.
@@ -469,13 +472,6 @@ static int GC_register_dynlib_callback(info, size, ptr)
+ sizeof (info->dlpi_phnum))
return -1;
- /* Skip the first object - it is the main program. */
- if (*(int *)ptr == 0)
- {
- *(int *)ptr = 1;
- return 0;
- }
-
p = info->dlpi_phdr;
for( i = 0; i < (int)(info->dlpi_phnum); ((i++),(p++)) ) {
switch( p->p_type ) {
@@ -491,6 +487,7 @@ static int GC_register_dynlib_callback(info, size, ptr)
}
}
+ * (int *)ptr = 1; /* Signal that we were called */
return 0;
}
@@ -500,16 +497,31 @@ static int GC_register_dynlib_callback(info, size, ptr)
GC_bool GC_register_dynamic_libraries_dl_iterate_phdr()
{
- int tmp = 0;
-
if (dl_iterate_phdr) {
- dl_iterate_phdr(GC_register_dynlib_callback, &tmp);
+ int did_something = 0;
+ dl_iterate_phdr(GC_register_dynlib_callback, &did_something);
+ if (!did_something) {
+ /* dl_iterate_phdr may forget the static data segment in */
+ /* statically linked executables. */
+ GC_add_roots_inner(DATASTART, (char *)(DATAEND), TRUE);
+# if defined(DATASTART2)
+ GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), TRUE);
+# endif
+ }
return TRUE;
} else {
return FALSE;
}
}
+/* Do we need to separately register the main static data segment? */
+GC_bool GC_register_main_static_data()
+{
+ return (dl_iterate_phdr == 0);
+}
+
+#define HAVE_REGISTER_MAIN_STATIC_DATA
+
# else /* !LINUX || version(glibc) < 2.2.4 */
/* Dynamic loading code for Linux running ELF. Somewhat tested on
@@ -775,10 +787,23 @@ void GC_register_dynamic_libraries()
}
# endif
-# ifndef MSWINCE
+# ifdef MSWINCE
+ /* Do we need to separately register the main static data segment? */
+ GC_bool GC_register_main_static_data()
+ {
+ return FALSE;
+ }
+# else /* win32 */
extern GC_bool GC_no_win32_dlls;
-# endif
+
+ GC_bool GC_register_main_static_data()
+ {
+ return GC_no_win32_dlls;
+ }
+# endif /* win32 */
+# define HAVE_REGISTER_MAIN_STATIC_DATA
+
void GC_register_dynamic_libraries()
{
MEMORY_BASIC_INFORMATION buf;
@@ -1079,4 +1104,15 @@ void GC_register_dynamic_libraries(){}
int GC_no_dynamic_loading;
#endif /* !PCR */
+
#endif /* !DYNAMIC_LOADING */
+
+#ifndef HAVE_REGISTER_MAIN_STATIC_DATA
+
+/* Do we need to separately register the main static data segment? */
+GC_bool GC_register_main_static_data()
+{
+ return TRUE;
+}
+#endif /* HAVE_REGISTER_MAIN_STATIC_DATA */
+
diff --git a/boehm-gc/include/Makefile.am b/boehm-gc/include/Makefile.am
index 7a7654567ca..381ae76b8fe 100644
--- a/boehm-gc/include/Makefile.am
+++ b/boehm-gc/include/Makefile.am
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = foreign
-include_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
+noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
gc_pthread_redirects.h gc_cpp.h
diff --git a/boehm-gc/include/Makefile.in b/boehm-gc/include/Makefile.in
index 611f5651839..65bd34e2e33 100644
--- a/boehm-gc/include/Makefile.in
+++ b/boehm-gc/include/Makefile.in
@@ -96,11 +96,11 @@ target_all = @target_all@
AUTOMAKE_OPTIONS = foreign
-include_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
+noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
gc_pthread_redirects.h gc_cpp.h
CONFIG_CLEAN_FILES =
-HEADERS = $(include_HEADERS)
+HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in
@@ -119,21 +119,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-install-includeHEADERS: $(include_HEADERS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(includedir)
- @list='$(include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p"; \
- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p; \
- done
-
-uninstall-includeHEADERS:
- @$(NORMAL_UNINSTALL)
- list='$(include_HEADERS)'; for p in $$list; do \
- rm -f $(DESTDIR)$(includedir)/$$p; \
- done
-
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
@@ -191,20 +176,19 @@ install-info: install-info-am
install-exec-am:
install-exec: install-exec-am
-install-data-am: install-includeHEADERS
+install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
-uninstall-am: uninstall-includeHEADERS
+uninstall-am:
uninstall: uninstall-am
all-am: Makefile $(HEADERS)
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(includedir)
mostlyclean-generic:
@@ -236,14 +220,13 @@ maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
maintainer-clean: maintainer-clean-am
-.PHONY: uninstall-includeHEADERS install-includeHEADERS tags \
-mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
-distdir info-am info dvi-am dvi check check-am installcheck-am \
-installcheck install-info-am install-info install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
+.PHONY: tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/boehm-gc/include/private/gc_priv.h b/boehm-gc/include/private/gc_priv.h
index 5465c78b6e4..b09c4840945 100644
--- a/boehm-gc/include/private/gc_priv.h
+++ b/boehm-gc/include/private/gc_priv.h
@@ -44,10 +44,6 @@
# include "../gc_mark.h"
# endif
-# ifndef GCCONFIG_H
-# include "gcconfig.h"
-# endif
-
typedef GC_word word;
typedef GC_signed_word signed_word;
@@ -60,6 +56,10 @@ typedef char * ptr_t; /* A generic pointer to which we can add */
/* Preferably identical to caddr_t, if it */
/* exists. */
+# ifndef GCCONFIG_H
+# include "gcconfig.h"
+# endif
+
# ifndef HEADERS_H
# include "gc_hdrs.h"
# endif
@@ -1462,6 +1462,11 @@ GC_bool GC_is_tmp_root GC_PROTO((ptr_t p));
# endif
void GC_register_dynamic_libraries GC_PROTO((void));
/* Add dynamic library data sections to the root set. */
+
+GC_bool GC_register_main_static_data GC_PROTO((void));
+ /* We need to register the main data segment. Returns */
+ /* TRUE unless this is done implicitly as part of */
+ /* dynamic library registration. */
/* Machine dependent startup routines */
ptr_t GC_get_stack_base GC_PROTO((void)); /* Cold end of stack */
diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h
index 33d80d2c8ba..b07d4b9a18e 100644
--- a/boehm-gc/include/private/gcconfig.h
+++ b/boehm-gc/include/private/gcconfig.h
@@ -669,10 +669,8 @@
# define ALIGNMENT 4 /* Guess. Can someone verify? */
/* This was 2, but that didn't sound right. */
# define OS_TYPE "LINUX"
-# define HEURISTIC1
# define DYNAMIC_LOADING
-# undef STACK_GRAN
-# define STACK_GRAN 0x10000000
+# define LINUX_STACKBOTTOM
/* Stack usually starts at 0x80000000 */
# define LINUX_DATA_START
extern int _end[];
@@ -685,7 +683,7 @@
# define DATASTART ((ptr_t) get_etext())
# define STACKBOTTOM ((ptr_t) 0xc0000000)
# define DATAEND /* not needed */
-# define MPROTECT_VDB
+# undef MPROTECT_VDB
# include <unistd.h>
# define GETPAGESIZE() getpagesize()
# endif
@@ -1801,6 +1799,19 @@
# define CACHE_LINE_SIZE 32 /* Wild guess */
# endif
+# ifdef LINUX
+# define REGISTER_LIBRARIES_EARLY
+ /* We sometimes use dl_iterate_phdr, which may acquire an internal */
+ /* lock. This isn't safe after the world has stopped. So we must */
+ /* call GC_register_dynamic_libraries before stopping the world. */
+ /* For performance reasons, this may be beneficial on other */
+ /* platforms as well, though it should be avoided in win32. */
+# endif /* LINUX */
+
+# if defined(SEARCH_FOR_DATA_START) && defined(GC_PRIVATE_H)
+ extern ptr_t GC_data_start;
+# endif
+
# ifndef CLEAR_DOUBLE
# define CLEAR_DOUBLE(x) \
((word*)x)[0] = 0; \
diff --git a/boehm-gc/mark_rts.c b/boehm-gc/mark_rts.c
index 628cba289ac..f663dcd55c3 100644
--- a/boehm-gc/mark_rts.c
+++ b/boehm-gc/mark_rts.c
@@ -506,6 +506,17 @@ void GC_push_gc_structures GC_PROTO((void))
void GC_mark_thread_local_free_lists();
#endif
+void GC_cond_register_dynamic_libraries()
+{
+# if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE) \
+ || defined(PCR)) && !defined(SRC_M3)
+ GC_remove_tmp_roots();
+ if (!GC_no_dls) GC_register_dynamic_libraries();
+# else
+ GC_no_dls = TRUE;
+# endif
+}
+
/*
* Call the mark routines (GC_tl_push for a single pointer, GC_push_conditional
* on groups of pointers) on every top level accessible pointer.
@@ -519,19 +530,20 @@ void GC_push_roots(all, cold_gc_frame)
GC_bool all;
ptr_t cold_gc_frame;
{
- register int i;
+ int i;
+ int kind;
/*
* Next push static data. This must happen early on, since it's
* not robust against mark stack overflow.
*/
- /* Reregister dynamic libraries, in case one got added. */
-# if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE) \
- || defined(PCR)) && !defined(SRC_M3)
- GC_remove_tmp_roots();
- if (!GC_no_dls) GC_register_dynamic_libraries();
-# else
- GC_no_dls = TRUE;
+ /* Reregister dynamic libraries, in case one got added. */
+ /* There is some argument for doing this as late as possible, */
+ /* especially on win32, where it can change asynchronously. */
+ /* In those cases, we do it here. But on other platforms, it's */
+ /* not safe with the world stopped, so we do it earlier. */
+# if !defined(REGISTER_LIBRARIES_EARLY)
+ GC_cond_register_dynamic_libraries();
# endif
/* Mark everything in static data areas */
@@ -541,6 +553,18 @@ ptr_t cold_gc_frame;
GC_static_roots[i].r_end, all);
}
+ /* Mark all free list header blocks, if those were allocated from */
+ /* the garbage collected heap. This makes sure they don't */
+ /* disappear if we are not marking from static data. It also */
+ /* saves us the trouble of scanning them, and possibly that of */
+ /* marking the freelists. */
+ for (kind = 0; kind < GC_n_kinds; kind++) {
+ GC_PTR base = GC_base(GC_obj_kinds[kind].ok_freelist);
+ if (0 != base) {
+ GC_set_mark_bit(base);
+ }
+ }
+
/* Mark from GC internal roots if those might otherwise have */
/* been excluded. */
if (GC_no_dls || roots_were_cleared) {
diff --git a/boehm-gc/misc.c b/boehm-gc/misc.c
index f6079732fbf..8f83ff3ab53 100644
--- a/boehm-gc/misc.c
+++ b/boehm-gc/misc.c
@@ -75,6 +75,14 @@
#undef STACKBASE
#endif
+/* Dont unnecessarily call GC_register_main_static_data() in case */
+/* dyn_load.c isn't linked in. */
+#ifdef DYNAMIC_LOADING
+# define GC_REGISTER_MAIN_STATIC_DATA() GC_register_main_static_data()
+#else
+# define GC_REGISTER_MAIN_STATIC_DATA() TRUE
+#endif
+
GC_FAR struct _GC_arrays GC_arrays /* = { 0 } */;
@@ -619,7 +627,7 @@ void GC_init_inner()
/* Add initial guess of root sets. Do this first, since sbrk(0) */
/* might be used. */
- GC_register_data_segments();
+ if (GC_REGISTER_MAIN_STATIC_DATA()) GC_register_data_segments();
GC_init_headers();
GC_bl_init();
GC_mark_init();
diff --git a/boehm-gc/win32_threads.c b/boehm-gc/win32_threads.c
index 9987fc6426f..954b18d7018 100644
--- a/boehm-gc/win32_threads.c
+++ b/boehm-gc/win32_threads.c
@@ -527,6 +527,8 @@ DWORD WINAPI main_thread_start(LPVOID arg)
LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info);
+#ifdef GC_DLL
+
/*
* This isn't generally safe, since DllMain is not premptible.
* If another thread holds the lock while this runs we're in trouble.
@@ -635,6 +637,8 @@ BOOL WINAPI DllMain(HINSTANCE inst, ULONG reason, LPVOID reserved)
return TRUE;
}
+# endif /* GC_DLL */
+
# endif /* !MSWINCE */
#endif /* GC_WIN32_THREADS */
diff --git a/config-ml.in b/config-ml.in
index d19a79703b6..eb8cc083b22 100644
--- a/config-ml.in
+++ b/config-ml.in
@@ -540,6 +540,10 @@ multi-do:
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
LDFLAGS="$(LDFLAGS) $${flags}" \
DESTDIR="$(DESTDIR)" \
+ INSTALL="$(INSTALL)" \
+ INSTALL_DATA="$(INSTALL_DATA)" \
+ INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \
+ INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \
$(DO)); then \
true; \
else \
diff --git a/config.guess b/config.guess
index 9b1384be4b1..4fc21ecc3aa 100755
--- a/config.guess
+++ b/config.guess
@@ -1,9 +1,9 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# 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.
-timestamp='2002-11-30'
+timestamp='2003-01-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -98,14 +98,17 @@ trap 'exit 1' 1 2 15
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
-# This shell variable is my proudest work .. or something. --bje
+# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
-(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
- || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
-dummy=$tmpdir/dummy ;
-files="$dummy.c $dummy.o $dummy.rel $dummy" ;
-trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
@@ -113,15 +116,13 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
- rm -f $files ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;
-unset files'
+esac ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
@@ -234,70 +235,54 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ *:MicroBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE}
+ exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- eval $set_cc_for_build
- cat <<EOF >$dummy.s
- .data
-\$Lformat:
- .byte 37,100,45,37,120,10,0 # "%d-%x\n"
-
- .text
- .globl main
- .align 4
- .ent main
-main:
- .frame \$30,16,\$26,0
- ldgp \$29,0(\$27)
- .prologue 1
- .long 0x47e03d80 # implver \$0
- lda \$2,-1
- .long 0x47e20c21 # amask \$2,\$1
- lda \$16,\$Lformat
- mov \$0,\$17
- not \$1,\$18
- jsr \$26,printf
- ldgp \$29,0(\$26)
- mov 0,\$16
- jsr \$26,exit
- .end main
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
- if test "$?" = 0 ; then
- case `$dummy` in
- 0-0)
- UNAME_MACHINE="alpha"
- ;;
- 1-0)
- UNAME_MACHINE="alphaev5"
- ;;
- 1-1)
- UNAME_MACHINE="alphaev56"
- ;;
- 1-101)
- UNAME_MACHINE="alphapca56"
- ;;
- 2-303)
- UNAME_MACHINE="alphaev6"
- ;;
- 2-307)
- UNAME_MACHINE="alphaev67"
- ;;
- 2-1307)
- UNAME_MACHINE="alphaev68"
- ;;
- 3-1307)
- UNAME_MACHINE="alphaev7"
- ;;
- esac
- fi
- rm -f $dummy.s $dummy && rmdir $tmpdir
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
@@ -450,8 +435,7 @@ EOF
EOF
$CC_FOR_BUILD -o $dummy $dummy.c \
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ && exit 0
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Motorola:PowerMAX_OS:*:*)
@@ -535,8 +519,7 @@ EOF
exit(0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
@@ -635,10 +618,20 @@ EOF
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ # avoid double evaluation of $set_cc_for_build
+ test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
ia64:HP-UX:*:*)
@@ -672,8 +665,7 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -731,15 +723,15 @@ EOF
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
- CRAY*T3D:*:*:*)
- echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
+ *:UNICOS/mp:*:*)
+ echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
@@ -767,7 +759,6 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- rm -f $dummy.c && rmdir $tmpdir
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
@@ -832,7 +823,6 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
mips64:Linux:*:*)
@@ -852,7 +842,6 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
@@ -948,7 +937,6 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- rm -f $dummy.c && rmdir $tmpdir
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
@@ -1146,7 +1134,11 @@ EOF
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Darwin:*:*)
- echo `uname -p`-apple-darwin${UNAME_RELEASE}
+ case `uname -p` in
+ *86) UNAME_PROCESSOR=i686 ;;
+ powerpc) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit 0 ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
@@ -1320,8 +1312,7 @@ main ()
}
EOF
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
-rm -f $dummy.c $dummy && rmdir $tmpdir
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
# Apollos put the system type in the environment.
diff --git a/config.if b/config.if
index aa35a3f8140..c38b59c841e 100644
--- a/config.if
+++ b/config.if
@@ -22,9 +22,18 @@ fi
# Set libstdcxx_incdir.
# This is the same as gcc/configure.in and libstdc++-v3/acinclude.m4.
-gcc_version_trigger=${if_topsrcdir}/gcc/version.c
-gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*"\([^"]*\)".*/\1/'`
-gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
+if test -z "$gcc_version"; then
+ if test -z "${gcc_version_trigger}" \
+ && test -f ${if_topsrcdir}/gcc/version.c; then
+ gcc_version_trigger=${if_topsrcdir}/gcc/version.c
+ fi
+ if test -f "${gcc_version_trigger}"; then
+ gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
+ else
+ gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
+ fi
+ gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
+fi
libstdcxx_incdir=c++/${gcc_version}
# The trickiest part is libc_interface.
diff --git a/config.sub b/config.sub
index 60338429828..2ab7f25694c 100755
--- a/config.sub
+++ b/config.sub
@@ -1,9 +1,9 @@
#! /bin/sh
# Configuration validation subroutine script.
# 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.
-timestamp='2002-08-20'
+timestamp='2003-01-28'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -229,7 +229,7 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
- | c4x | clipper \
+ | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
@@ -239,23 +239,25 @@ case $basic_machine in
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
- | mips64vr | mips64vrel \
+ | mips64vr | mips64vrel \
| mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | msp430 \
| ns16k | ns32k \
| openrisc | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| strongarm \
@@ -294,7 +296,7 @@ case $basic_machine in
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c54x-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
| clipper-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
@@ -309,27 +311,29 @@ case $basic_machine in
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
+ | mips64vr-* | mips64vrel-* \
| mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39 | mipstx39el \
- | none-* | np1-* | ns16k-* | ns32k-* \
+ | mipstx39-* | mipstx39el-* \
+ | msp430-* \
+ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
+ | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
@@ -716,6 +720,10 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
+ nv1)
+ basic_machine=nv1-cray
+ os=-unicosmp
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -749,7 +757,7 @@ case $basic_machine in
pbb)
basic_machine=m68k-tti
;;
- pc532 | pc532-*)
+ pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
@@ -776,22 +784,22 @@ case $basic_machine in
power) basic_machine=power-ibm
;;
ppc) basic_machine=powerpc-unknown
- ;;
+ ;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
- ;;
+ ;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
- ;;
+ ;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
- ;;
+ ;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
@@ -893,7 +901,7 @@ case $basic_machine in
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
- sv1)
+ sv1)
basic_machine=sv1-cray
os=-unicos
;;
@@ -901,10 +909,6 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
- t3d)
- basic_machine=alpha-cray
- os=-unicos
- ;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
@@ -913,6 +917,10 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
+ tic4x | c4x*)
+ basic_machine=tic4x-unknown
+ os=-coff
+ ;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
@@ -951,8 +959,8 @@ case $basic_machine in
os=-vms
;;
vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
+ basic_machine=f301-fujitsu
+ ;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
@@ -973,11 +981,7 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
- windows32)
- basic_machine=i386-pc
- os=-windows32-msvcrt
- ;;
- xps | xps100)
+ xps | xps100)
basic_machine=xps100-honeywell
;;
ymp)
@@ -1023,7 +1027,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
- sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
+ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sh64)
@@ -1032,7 +1036,7 @@ case $basic_machine in
sparc | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
- cydra)
+ cydra)
basic_machine=cydra-cydrome
;;
orion)
@@ -1047,10 +1051,6 @@ case $basic_machine in
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
- c4x*)
- basic_machine=c4x-none
- os=-coff
- ;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
@@ -1113,11 +1113,12 @@ case $os in
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -microbsd*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1129,8 +1130,10 @@ case $os in
;;
esac
;;
+ -nto-qnx*)
+ ;;
-nto*)
- os=-nto-qnx
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
@@ -1182,7 +1185,7 @@ case $os in
os=-rtmk-nova
;;
-ns2 )
- os=-nextstep2
+ os=-nextstep2
;;
-nsk*)
os=-nsk
@@ -1221,8 +1224,11 @@ case $os in
-xenix)
os=-xenix
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
;;
-none)
;;
@@ -1259,7 +1265,7 @@ case $basic_machine in
pdp10-*)
os=-tops20
;;
- pdp11-*)
+ pdp11-*)
os=-none
;;
*-dec | vax-*)
@@ -1352,19 +1358,19 @@ case $basic_machine in
*-next)
os=-nextstep3
;;
- *-gould)
+ *-gould)
os=-sysv
;;
- *-highlevel)
+ *-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
- *-sgi)
+ *-sgi)
os=-irix
;;
- *-siemens)
+ *-siemens)
os=-sysv4
;;
*-masscomp)
diff --git a/config/ChangeLog b/config/ChangeLog
index 3f985d32a07..76766268c16 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,19 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-11-10 Stan Shebs <shebs@apple.com>
Retire common MPW configury bits.
diff --git a/configure.in b/configure.in
index 6397aa6c350..194e3fb5123 100644
--- a/configure.in
+++ b/configure.in
@@ -1415,7 +1415,7 @@ if test x${gxx_include_dir} = x; then
gxx_include_dir='${libsubdir}/include/c++'
else
. ${srcdir}/config.if
- gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
+ gxx_include_dir='${prefix}/include/'${libstdcxx_incdir}
fi
else
gxx_include_dir=${gxx_include_dir}
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index a8adeb3439a..73bc004b92a 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,45 @@
+2003-06-13 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * gcc_update (files_and_dependencies): Add
+ gcc/testsuite/gcc.dg/cpp/_Pragma3.c depends on
+ gcc/testsuite/gcc.dg/cpp/mi1c.h.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-04-12 Matthias Klose <doko@debian.org>
+
+ * test_installed: Add options to run objc tests.
+ In generated site.exp, initialize rootme, CFLAGS, CXXFLAGS.
+
+2003-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc_update (files_and_dependencies): Add gcc/cp/cfns.h depends
+ on gcc/cp/cfns.gperf and gcc/java/keyword.h depends on
+ gcc/java/keyword.gperf
+
+2002-12-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * gcc_update (files_and_dependencies): Add gcc/intl/plural.c as
+ depending on gcc/intl/plural.y.
+
+2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * texi2pod.pl: Skip contents of @copying.
+
2002-10-21 Richard Henderson <rth@redhat.com>
* paranoia.cc (real_c_float::image): Accomodate size of
diff --git a/contrib/gcc_update b/contrib/gcc_update
index d00fd43c6b6..d5ffc5e4a45 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -29,7 +29,7 @@
# contrib/gcc_update --list
#
#
-# (C) 1998, 1999, 2000, 2001 Free Software Foundation
+# (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
#
# This script is Free Software, and it can be copied, distributed and
@@ -69,8 +69,11 @@ gcc/configure: gcc/configure.in
gcc/cstamp-h.in: gcc/configure.in gcc/acconfig.h
gcc/config.in: gcc/cstamp-h.in
gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
+gcc/intl/plural.c: gcc/intl/plural.y
# And then, language-specific files
gcc/f/intdoc.texi: gcc/f/intdoc.in gcc/f/intdoc.c gcc/f/intrin.h gcc/f/intrin.def
+gcc/cp/cfns.h: gcc/cp/cfns.gperf
+gcc/java/keyword.h: gcc/java/keyword.gperf
gcc/ada/treeprs.ads: gcc/ada/treeprs.adt gcc/ada/sinfo.ads gcc/ada/xtreeprs.adb
gcc/ada/einfo.h: gcc/ada/einfo.ads gcc/ada/einfo.adb gcc/ada/xeinfo.adb
gcc/ada/sinfo.h: gcc/ada/sinfo.ads gcc/ada/xsinfo.adb
@@ -80,6 +83,9 @@ gcc/ada/gnat_ug_unx.texi: gcc/ada/gnat_ug.texi gcc/ada/xgnatug.adb gcc/ada/ug_wo
gcc/ada/gnat_ug_vms.texi: gcc/ada/gnat_ug.texi gcc/ada/xgnatug.adb gcc/ada/ug_words
gcc/ada/gnat_ug_vxw.texi: gcc/ada/gnat_ug.texi gcc/ada/xgnatug.adb gcc/ada/ug_words
gcc/ada/gnat_ug_w32.texi: gcc/ada/gnat_ug.texi gcc/ada/xgnatug.adb gcc/ada/ug_words
+# testsuite
+# Without this, _Pragma3.c can have a false negative.
+gcc/testsuite/gcc.dg/cpp/_Pragma3.c: gcc/testsuite/gcc.dg/cpp/mi1c.h
# And libraries, at last
libf2c/configure: libf2c/configure.in
libf2c/libF77/configure: libf2c/libF77/configure.in
diff --git a/contrib/regression/ChangeLog b/contrib/regression/ChangeLog
index b7759bc96b7..eb0a7d7a527 100644
--- a/contrib/regression/ChangeLog
+++ b/contrib/regression/ChangeLog
@@ -1,3 +1,19 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-10-22 Geoffrey Keating <geoffk@apple.com>
* btest-gcc.sh: Add gdb.sum to TESTLOGS only when GDB testsuite is run.
diff --git a/contrib/test_installed b/contrib/test_installed
index b4c32835d9c..54afa245e31 100755
--- a/contrib/test_installed
+++ b/contrib/test_installed
@@ -1,6 +1,6 @@
#! /bin/sh
-# (C) 1998, 2000, 2002 Free Software Foundation
+# (C) 1998, 2000, 2002, 2003 Free Software Foundation
# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
# This script is Free Software, and it can be copied, distributed and
@@ -54,12 +54,13 @@ while true; do
--without-gcc) GCC_UNDER_TEST=no; shift;;
--without-g++) GXX_UNDER_TEST=no; shift;;
--without-g77) G77_UNDER_TEST=no; shift;;
+ --without-objc) OBJC_UNDER_TEST=no; shift;;
--tmpdir=*) tmpdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--help) cat <<\EOF
-Runs the testsuite for an installed version of gcc/g++/g77
-Copyright (C) 1998 Free Software Foundation
+Runs the testsuite for an installed version of gcc/g++/g77/objc
+Copyright (C) 1998, 2000, 2002, 2003 Free Software Foundation
by Alexandre Oliva <oliva@dcc.unicamp.br>
Supported arguments:
@@ -77,6 +78,7 @@ Supported arguments:
--without-gcc do not run gcc testsuite
--without-g++ do not run g++ testsuite
--without-g77 do not run g77 testsuite
+--without-objc do not run objc testsuite
--tmpdir=/some/dir create temporaries and leave failed programs
at specified directory [.]
@@ -100,15 +102,20 @@ if test x"${testsuite+set}" != x"set" && test x"${srcdir+set}" != x"set"; then
fi
cat >site.exp <<EOF
+set rootme "."
set tmpdir "${tmpdir-`${PWDCMD-pwd}`}"
set srcdir "${testsuite-${srcdir}/gcc/testsuite}"
+set CFLAGS ""
+set CXXFLAGS ""
set GCC_UNDER_TEST "${GCC_UNDER_TEST-${prefix}${prefix+/bin/}gcc}"
set GXX_UNDER_TEST "${GXX_UNDER_TEST-${prefix}${prefix+/bin/}g++}"
set G77_UNDER_TEST "${G77_UNDER_TEST-${prefix}${prefix+/bin/}g77}"
+set OBJC_UNDER_TEST "${OBJC_UNDER_TEST-${prefix}${prefix+/bin/}gcc}"
EOF
test x"${GCC_UNDER_TEST}" = x"no" || runtest --tool gcc ${1+"$@"}
test x"${GXX_UNDER_TEST}" = x"no" || runtest --tool g++ ${1+"$@"}
test x"${G77_UNDER_TEST}" = x"no" || runtest --tool g77 ${1+"$@"}
+test x"${OBJC_UNDER_TEST}" = x"no" || runtest --tool objc ${1+"$@"}
exit 0
diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
index e5560f303de..d3839458896 100755
--- a/contrib/texi2pod.pl
+++ b/contrib/texi2pod.pl
@@ -138,7 +138,7 @@ while(<$inf>) {
# Ignore @end foo, where foo is not an operation which may
# cause us to skip, if we are presently skipping.
my $ended = $1;
- next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex)$/;
+ next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex|copying)$/;
die "\@end $ended without \@$ended at line $.\n" unless defined $endw;
die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw;
@@ -178,7 +178,7 @@ while(<$inf>) {
next;
};
- /^\@(ignore|menu|iftex)\b/ and do {
+ /^\@(ignore|menu|iftex|copying)\b/ and do {
push @endwstack, $endw;
push @skstack, $skipping;
$endw = $1;
diff --git a/fastjar/ChangeLog b/fastjar/ChangeLog
index 34a5bdcccbf..8f87a6c4f61 100644
--- a/fastjar/ChangeLog
+++ b/fastjar/ChangeLog
@@ -1,3 +1,57 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fastjar.texi: Remove @ at start of file.
+
+2003-03-10 Mohan Embar <gnustuff@thisiscool.com>
+
+ * dostime.c: add #include <stddef.h> for definition of NULL
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fastjar.texi: Update to GFDL 1.2.
+
+2003-01-31 Daiki Ueno <ueno@unixuser.org>
+
+ * jartool.c (extract_jar): Don't lseek to skip extra fields.
+ (consume): If the stream is seekable, do lseek.
+
+2003-01-28 Ranjit Mathew <rmathew@hotmail.com>
+
+ * jargrep.c: Include xregex.h from libiberty instead of
+ system regex.h for better portability.
+
+2003-01-21 Ranjit Mathew <rmathew@hotmail.com>
+
+ * jartool.c (list_jar): Terminate the 'ascii_date' buffer
+ with a '\0' to guard against the case where the formatted
+ time string is more than the size allowed by the buffer.
+
+2002-12-30 DJ Delorie <dj@redhat.com>
+
+ * Makefile.am (jar.1, grepjar.1): Protect against
+ texi2pod/pod2man failing.
+ * Makefile.in: Regenerated.
+
+2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fastjar.texi: Include Cover Texts in man page.
+
2002-12-04 Jakub Jelinek <jakub@redhat.com>
* fastjar.texi (jar @direntry, grepjar @direntry): Add (fastjar).
diff --git a/fastjar/Makefile.am b/fastjar/Makefile.am
index 39a57c40d22..74f491e850c 100644
--- a/fastjar/Makefile.am
+++ b/fastjar/Makefile.am
@@ -85,14 +85,14 @@ POD2MAN = pod2man --center="GNU" --release="gcc-@gcc_version@"
$(srcdir)/jar.1: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D jar < $(srcdir)/fastjar.texi > fastjar.pod
- ($(POD2MAN) --section=1 fastjar.pod > jar.1.T$$$$ && \
+ -($(POD2MAN) --section=1 fastjar.pod > jar.1.T$$$$ && \
mv -f jar.1.T$$$$ $(srcdir)/jar.1) || \
(rm -f jar.1.T$$$$ && exit 1)
- rm -f fastjar.pod
+ -rm -f fastjar.pod
$(srcdir)/grepjar.1: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D grepjar < $(srcdir)/fastjar.texi > grepjar.pod
- ($(POD2MAN) --section=1 grepjar.pod > grepjar.1.T$$$$ && \
+ -($(POD2MAN) --section=1 grepjar.pod > grepjar.1.T$$$$ && \
mv -f grepjar.1.T$$$$ $(srcdir)/grepjar.1) || \
(rm -f grepjar.1.T$$$$ && exit 1)
- rm -f grepjar.pod
+ -rm -f grepjar.pod
diff --git a/fastjar/Makefile.in b/fastjar/Makefile.in
index 4b6675000fe..fe294dcd42f 100644
--- a/fastjar/Makefile.in
+++ b/fastjar/Makefile.in
@@ -614,17 +614,17 @@ fastjar.info: fastjar.texi $(fastjar_TEXINFOS)
$(srcdir)/jar.1: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D jar < $(srcdir)/fastjar.texi > fastjar.pod
- ($(POD2MAN) --section=1 fastjar.pod > jar.1.T$$$$ && \
+ -($(POD2MAN) --section=1 fastjar.pod > jar.1.T$$$$ && \
mv -f jar.1.T$$$$ $(srcdir)/jar.1) || \
(rm -f jar.1.T$$$$ && exit 1)
- rm -f fastjar.pod
+ -rm -f fastjar.pod
$(srcdir)/grepjar.1: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D grepjar < $(srcdir)/fastjar.texi > grepjar.pod
- ($(POD2MAN) --section=1 grepjar.pod > grepjar.1.T$$$$ && \
+ -($(POD2MAN) --section=1 grepjar.pod > grepjar.1.T$$$$ && \
mv -f grepjar.1.T$$$$ $(srcdir)/grepjar.1) || \
(rm -f grepjar.1.T$$$$ && exit 1)
- rm -f grepjar.pod
+ -rm -f grepjar.pod
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/fastjar/dostime.c b/fastjar/dostime.c
index 5117a82014e..b202705bec3 100644
--- a/fastjar/dostime.c
+++ b/fastjar/dostime.c
@@ -21,6 +21,8 @@
#include <time.h>
+#include <stddef.h>
+
#include "dostime.h"
/*
diff --git a/fastjar/fastjar.texi b/fastjar/fastjar.texi
index f51cb99e730..b7c1259f05a 100644
--- a/fastjar/fastjar.texi
+++ b/fastjar/fastjar.texi
@@ -1,4 +1,4 @@
-@\input texinfo @c -*-texinfo-*-
+\input texinfo @c -*-texinfo-*-
@setfilename fastjar.info
@settitle Guide to GNU jar utilites
@@ -35,7 +35,7 @@
Copyright (C) @value{copyrights-fastjar} 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
+under the terms of the GNU Free Documentation License, Version 1.2 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)
@@ -49,6 +49,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
@@ -58,6 +60,7 @@ 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 ifinfo
@titlepage
@@ -75,7 +78,7 @@ Published by the Free Software Foundation @*
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
+under the terms of the GNU Free Documentation License, Version 1.2 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)
diff --git a/fastjar/jargrep.c b/fastjar/jargrep.c
index 1a9ee91be5d..9e0e4914ed9 100644
--- a/fastjar/jargrep.c
+++ b/fastjar/jargrep.c
@@ -1,6 +1,6 @@
/*
jargrep.c - main functions for jargrep utility
- Copyright (C) 2002 Free Software Foundation
+ Copyright (C) 2002, 2003 Free Software Foundation
Copyright (C) 1999, 2000 Bryan Burns
Copyright (C) 2000 Cory Hollingsworth
@@ -105,7 +105,6 @@ will test some other platforms later.
#include "config.h"
#include <stdio.h>
#include <unistd.h>
-#include <regex.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
@@ -115,6 +114,9 @@ will test some other platforms later.
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
+
+#include "xregex.h"
+
#include "jargrep.h"
#include "jartool.h"
#include "pushback.h"
diff --git a/fastjar/jartool.c b/fastjar/jartool.c
index 7cc06aaad5b..615cc401834 100644
--- a/fastjar/jartool.c
+++ b/fastjar/jartool.c
@@ -1471,9 +1471,6 @@ int extract_jar(int fd, char **files, int file_num){
}
if(method == 8 || flags & 0x0008){
- if(seekable)
- lseek(fd, eflen, SEEK_CUR);
- else
consume(&pbf, eflen);
inflate_file(&pbf, f_fd, &ze);
@@ -1508,9 +1505,6 @@ int extract_jar(int fd, char **files, int file_num){
#endif
}
- if(seekable)
- lseek(fd, eflen, SEEK_CUR);
- else
consume(&pbf, eflen);
}
@@ -1571,7 +1565,7 @@ int list_jar(int fd, char **files, int file_num){
int i, j;
time_t tdate;
struct tm *s_tm;
- char ascii_date[30];
+ char ascii_date[31];
zipentry ze;
#ifdef DEBUG
@@ -1662,6 +1656,7 @@ int list_jar(int fd, char **files, int file_num){
tdate = dos2unixtime(mdate);
s_tm = localtime(&tdate);
strftime(ascii_date, 30, "%a %b %d %H:%M:%S %Z %Y", s_tm);
+ ascii_date[30] = '\0';
}
if(filename_len < fnlen + 1){
@@ -1781,6 +1776,7 @@ int list_jar(int fd, char **files, int file_num){
tdate = dos2unixtime(mdate);
s_tm = localtime(&tdate);
strftime(ascii_date, 30, "%a %b %d %H:%M:%S %Z %Y", s_tm);
+ ascii_date[30] = '\0';
}
if(filename_len < fnlen + 1){
@@ -1854,6 +1850,14 @@ int consume(pb_file *pbf, int amt){
printf("Consuming %d bytes\n", amt);
#endif
+ if (seekable){
+ if (amt <= (int)pbf->buff_amt)
+ pb_read(pbf, buff, amt);
+ else {
+ lseek(pbf->fd, amt - pbf->buff_amt, SEEK_CUR);
+ pb_read(pbf, buff, pbf->buff_amt); /* clear pbf */
+ }
+ } else
while(tc < amt){
rdamt = pb_read(pbf, buff, ((amt - tc) < RDSZ ? (amt - tc) : RDSZ));
#ifdef DEBUG
@@ -1863,7 +1867,7 @@ int consume(pb_file *pbf, int amt){
}
#ifdef DEBUG
- printf("%d bytes consumed\n", tc);
+ printf("%d bytes consumed\n", amt);
#endif
return 0;
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d1036a4fc88..93c31f077ab 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,4353 @@
-Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
+2003-06-24 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR target/11260
+ * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
+
+2003-06-24 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
+ src twice.
+
+2003-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
+ mode, as it requires pic register loaded.
+
+2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/extend.texi: Fix typos.
+ * doc/md.texi: Likewise.
+
+2003-06-23 Roger Sayle <roger@eyesopen.com>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add a note on testing and
+ remove duplicates from testers list.
+
+2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Document dump options, dT and dW.
+
+2003-06-23 Andreas Schwab <schwab@suse.de>
+
+ * doc/invoke.texi: Remove leading `-' from options in index.
+
+2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Document dump, .cfg.
+
+2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Alphabetize dump options.
+
+2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Remove a duplicate -dk.
+
+2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/rtl.texi: Fix the @findex for pre_modify.
+
+Sat Jun 21 13:37:52 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_va_arg): Fix allocation of temporary slot.
+
+2003-06-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Use Windows instead of Win32.
+
+ Update Andreas Jaeger's entry.
+
+ Merge the two entries of Kaveh Ghazi, David Edelsohn, and
+ Loren J. Rittle.
+
+2003-06-20 Geoffrey Keating <geoffk@apple.com>
+
+ PR c++/9393
+ * doc/invoke.texi (Debugging Options): Document -frandom-seed.
+ * configure.in: Check for gettimeofday.
+ * tree.c (flag_random_seed): Define.
+ (default_flag_random_seed): New.
+ (append_random_chars): Use flag_random_seed rather than trying
+ to acquire randomness here.
+ * tree.h (default_flag_random_seed): Declare.
+ * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
+ descriptions.
+ (decode_f_option): Handle -frandom-seed.
+ (print_switch_values): Call default_flag_random_seed.
+ * flags.h (flag_random_seed): Declare.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2003-06-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10888
+ * tree-inline.c (expand_call_inline): Do not warn about failing to
+ inline functions declared in system headers.
+ * doc/invoke.texi (-Winline): Expand on documentation.
+
+2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
+ * configure: Regenerate.
+ Fixes PR driver/9362.
+
+2003-06-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ * haifa-sched.c (max_isse): Backport from the mainline.
+ (choice_entry): New structure.
+ (choice_stack, cycle_issued_insns, max_lookahead_tries,
+ cached_first_cycle_multipass_dfa_lookahead, cached_issue_rate):
+ New variables.
+ (choose_ready): Calculate max_lookahead_tries. Initiate
+ ready_try.
+ (schedule_block): Allocate/deallocate choice_stack. Change
+ cycle_issued_insns value as necessary.
+ (sched_init): Check cached_issue_rate.
+
+2003-06-20 Daniel Egger <degger@fhm.edu>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Building): Correct and improve statement
+ about parallel builds.
+
+2003-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
+ SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
+ (--with-as): Add @anchor.
+ (--with-gnu-ld): Fix typo.
+ (--with-ld): Add @uref to --with-as.
+
+2003-06-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * flow.c (initialize_uninitialized_subregs): Use
+ emit_move_insn instead of emitting a hardcoded move.
+
+2003-06-19 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
+ to ABI_V4.
+
+2003-06-19 DJ Delorie <dj@redhat.com>
+
+ PR preprocessor/11022
+ * cppmacro.c (warn_of_redefinition): Handle cases where the two
+ definitions have different numbers of tokens.
+
+2003-06-18 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
+ (_Unwind_FindEnclosingFunction): Implement.
+
+2003-06-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
+ argument.
+ (function_arg): Handle CALL_LIBCALL flag.
+ * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
+ prototype.
+ * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
+ (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
+ (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
+ (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
+
+2003-06-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/10929
+ * tree-inline.c (expand_call_inline): Don't warn about failing to
+ inline a function which was made inline by -finline-functions.
+
+2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
+
+ * install.texi (Testing): Add information on how to run Java
+ runtime tests separately.
+
+2003-06-17 Christopher Faylor <cgf@redhat.com>
+
+ * doc/install.texi: Add msvc rebuild caveat.
+
+2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/contrib.texi: Replace Hitachi with Renesas.
+ * doc/install.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+
+2003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
+ 2003-01-23 patch. Corrected to handle kernels with changed ucontext.
+
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
+ -msdata=eabi usages.
+
+2003-06-14 Richard Earnshaw <rearnsha@arm.com>
+
+ PR optimization/10842
+ From trunk:
+ 2003-01-20 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.md (sibcall_epilogue): Add an
+ UNSPEC_PROLOGUE_USE to prevent the link register from being
+ considered dead.
+
+ 2003-02-02 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (sibcall_epilogue): Set the "conds" to "clob".
+ (epilogue_insns): Likewise.
+
+2003-06-14 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/11183
+ * arm.c (output_move_double): Pass SImode to adjust_address.
+
+2003-06-13 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (m32r-*-elf): Change company to Renesas.
+
+2003-06-13 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (output_call_mem): If the address references the link-register
+ use an instruction sequence that avoids early-clobbering IP.
+ (eliminate_lr2ip): Delete.
+
+2003-06-12 Richard Henderson <rth@redhat.com>
+
+ PR target/11089
+ * config/i386/i386.md (sse_movaps): Use an expander to force
+ one operand to be a register.
+ (sse_movups): Likewise.
+
+2003-06-12 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/10557
+ * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
+
+2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+
+ PR target/10142
+ * config/sparc/sparc.c (function_arg_record_value_parms): Add
+ new 'stack' field.
+ (function_arg_record_value_1): Set 'stack' to 1 if we run out of
+ integer slots for an integer field.
+ (function_arg_record_value_3): Shift vector index.
+ (function_arg_record_value_2): Likewise.
+ (function_arg_record_value): Initialize 'stack' to 0.
+ Set 'stack' to 1 if we run out of integer slots for an integer field.
+ Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
+
+2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/10955
+ * unroll.c (unroll_loop): Fix off-by-one bug.
+
+2003-06-12 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/10475
+ * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
+ for extracting sub-words.
+
+2003-06-12 Richard Henderson <rth@redhat.com>
+
+ PR target/7594
+ * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
+ (zero_extendqihi2, zero_extendqisi2): Likewise.
+
+2003-06-12 Richard Henderson <rth@redhat.com>
+
+ PR inline-asm/4823
+ * reg-stack.c (any_malformed_asm): New.
+ (check_asm_stack_operands): Set it.
+ (convert_regs_1): Check it before aborting.
+
+2003-06-12 Jakub Jelinek <jakub@redhat.com>
+
+ * c-decl.c (c_expand_body): Save input_filename and lineno,
+ set it before tree inlining and restore before return.
+
+2003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
+ to initialize GOT register.
+
+2003-06-12 Jakub Jelinek <jakub@redhat.com>
+
+ * c-opts.c (complain_wrong_lang): Add on argument.
+ Print no- switch if on is false.
+ (c_common_decode_option): Adjust caller.
+
+2003-06-11 Richard Henderson <rth@redhat.com>
+
+ * stmt.c (expand_asm_operands): Don't warn for memories with
+ queued addresses.
+
+2003-06-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/8787
+ * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
+ if -masm=intel.
+
+2003-06-10 Andrew Haley <aph@redhat.com>
+
+ * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
+ (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
+ (lhd_decl_ok_for_sibcall): New.
+ * langhooks.c (lhd_decl_ok_for_sibcall): New.
+ * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
+ * calls.c (expand_call): Check lang_hook before generating a
+ sibcall.
+
+2003-06-09 Richard Henderson <rth@redhat.com>
+
+ 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
+ * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
+ (EH_RETURN_HANDLER_RTX): Likewise.
+ (expand_builtin_eh_return): Do not copy stack adjustment
+ if EH_RETURN_STACKADJ_RTX is not defined.
+ (expand_eh_return): Likewise. Also, do not pass stack
+ adjustment as argument to the eh_return pattern.
+ * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
+ because EH_RETURN_STACKADJ_RTX is not defined.
+ * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
+ is not defined, treat stack pointer like a regular register.
+ (uw_init_context_1): Set up fake initial stack pointer register.
+ (uw_install_context_1): Do not compute stack adjustment if
+ EH_RETURN_STACKADJ_RTX is not defined.
+
+ * config/i386/i386.md ("eh_return"): Remove first argument.
+ * config/mips/mips.md ("eh_return"): Likewise.
+ * config/rs6000/rs6000.md ("eh_return"): Likewise.
+ * config/sh/sh.md ("eh_return"): Likewise.
+
+ * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
+
+2003-06-08 Richard Henderson <rth@redhat.com>
+
+ * stmt.c (expand_asm_operands): Re-word warning.
+
+2003-06-08 Richard Henderson <rth@redhat.com>
+
+ * expr.h (EXPAND_MEMORY): New.
+ * expr.c (expand_expr): Check it.
+ * stmt.c (expand_asm_operands): Provide it when the constraint
+ requires a memory. Warn for memory input constraints without
+ a memory operand.
+
+2003-06-07 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (cb_register_builtins): Define __EXCEPTIONS for C also.
+
+2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
+ section names.
+ * configure: Regenerate.
+
+2003-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
+
+2003-06-06 James E Wilson <wilson@tuliptree.org>
+
+ PR inline-asm/10890
+ * reload1.c (merge_assigned_reloads): Abort only if two reloads have
+ different in fields.
+
+2003-06-06 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/11052
+ * ifcvt.c (noce_process_if_block): Fail if the destination has
+ side-effects.
+
+2003-06-06 Dan Kegel <dank@kegel.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/10331
+ * config/sh/t-linux (STMP_FIXPROTO): Define.
+
+ PR target/11096
+ * config/sh/linux.h (CPLUSPLUS_CPP_SPEC): Redefine so to include
+ -D_GNU_SOURCE.
+
+2003-06-05 David Miller <davem@redhat.com>
+ Richard Henderson <rth@redhat.com>
+
+ * optabs.c (HAVE_conditional_trap): Provide default.
+ (gen_conditional_trap): Likewise.
+ (init_optabs): Merge init_traps.
+ (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
+
+2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/md.texi (Machine Constraints): Correct the meaning of
+ constraints related to floating-point registers on SPARC.
+
+2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ PR target/10663
+ * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
+ assembler and linker output to /dev/null.
+ Use a 'sed' construct instead of 'grep -A1'.
+ * configure: Regenerate.
+
+2003-06-04 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Native as and ld required
+ to bootstrap on AIX 5L.
+
+2003-06-04 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (handle_cleanup_attribute): New.
+ (c_common_attributes): Add it.
+ * c-decl.c (finish_decl): Honor the cleanup attribute.
+ * doc/extend.texi (Variable Attributes): Document it.
+
+ * unwind-c.c: New file.
+ * Makefile.in (LIB2ADDEH): Add it.
+ * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
+ config/ia64/t-ia64: Likewise.
+
+2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11018
+ * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
+ consistently to decide whether the scratch register is really
+ required.
+
+2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/10876
+ * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
+ new 'O' constraint for constant 4096.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+ * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
+ Do not transform into MINUS insn for constant 4096.
+ (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
+ for constant 4096 as third operand.
+ (addsi3 expander): Remove.
+ (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
+ new alternative for constant 4096 as third operand.
+ (subdi3 expander): Do not transform into PLUS insn for constant 4096.
+ (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
+ operand.
+ (subsi3 expander): Remove.
+ (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
+ constant 4096 as third operand.
+ * doc/md.texi (Machine Constraints): Document new 'O' constraint for
+ the SPARC port.
+
+2003-06-03 Richard Henderson <rth@redhat.com>
+
+ * unwind.inc (_Unwind_Resume_or_Rethrow): Fix return type.
+ * unwind.h (_Unwind_Resume_or_Rethrow): Update.
+ (_Unwind_SjLj_Resume_or_Rethrow): Likewise.
+
+2003-06-03 Douglas B Rupp <rupp@gnat.com>
+
+ * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
+ * doc/gcc.texi: Remove vms.texi section.
+ * doc/vms.texi: Remove obsolete file.
+
+2003-06-03 Richard Henderson <rth@redhat.com>
+
+ PR target/10673
+ * config/i386/i386.c (ix86_split_long_move): Fix base register
+ mode for XFmode splits for TARGET_64BIT.
+
+2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * gcc/config.gcc Add support multilib parts for m32rx processor.
+
+2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/11044
+ * config/i386/i386.md (length attribute): Set length to 4
+ for instructions of type "fcmp".
+
+2003-06-01 Josef Zlomek <zlomekj@suse.cz>
+
+ * rtl.def (CONST_DOUBLE): Update comment.
+
+2003-06-01 Seth Arnold <sarnold@wirex.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ PR10871
+ * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
+ vrsave_size twice.
+
+2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/install.texi (mips-sgi-irix5): Add missing
+ HTML <hr> marker.
+
+2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/md.texi (Machine Constraints): Document
+ missing SPARC constraints.
+
+2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/md.texi (Automaton pipeline description): Use
+ "type" instead of "cpu" as the attribute in the examples.
+
+2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
+ -mdebug/-no-mdebug switches ...
+ (MDEBUG_ASM_SPEC): ... here.
+ Use only with gas.
+ (EXTRA_SPECS): Initialize mdebug_asm_spec.
+ (CONSTANT_ADDRESS_P): Allow native IRIX 6 O32 assembler.
+
+2003-05-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * diagnostic.h (output_verbatim): Remove printf attribute.
+ (verbatim): Likewise.
+ * diagnostic.c (output_pointer): New function.
+ (output_format): Use it. Handle %p format specifier.
+
+2003-05-27 Denis Chertykov <denisc@overta.ru>
+
+ * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
+ VOIDmode.
+ * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
+ call of cselib_invalidate_regno.
+
+2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Update Kean Johnston.
+
+Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
+ Andreas Jaeger <aj@suse.de>
+
+ * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
+ do not use assertion.
+
+Fri May 23 20:55:39 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (sse_loadss, sse_loadss_1, sse2_loadsd, sse2_loadsd_1):
+ Rewrite
+
+2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
+ Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
+
+2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR bootstrap/10805
+ * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
+ failure with Sun assembler 5.0 Alpha 03/27/98.
+
+2003-03-21 Loren James Rittle <ljrittle@acm.org>
+
+ * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
+ -D__sparc__ to match system compiler convention.
+
+2003-05-20 Kevin Ryde <user42@zip.com.au>
+ Wolfgang Bangerth <bangerth@dealii.org>
+
+ PR c/10355
+ * doc/extend.texi: Put a warning into the documentation
+ of attribute regparm.
+
+2003-05-20 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
+ ("*iorsi3_oi"): Likewise.
+
+2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
+
+ * pa/milli64.S ($$mulI): Fix typo.
+
+2003-05-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * hashtable.h (struct ht_identifier): Add new field "hash_value".
+ * hashtable.c (ht_lookup): Use it.
+ (ht_expand): Likewise. Avoid doing the same computation twice.
+ * tree.h (IDENTIFIER_HASH_VALUE): New macro.
+
+2003-05-19 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.c (use_return_insn): Do not use a single return
+ instruction for interrupt handlers which have to create a stack
+ frame.
+ (arm_expand_prologue): Do not pre-bias the return address of
+ interrupt handlers which create a stack frame.
+
+2003-05-19 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ Backport from mainline:
+
+ 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
+
+ * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
+
+2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
+
+ * doc/bugreport.texi: Remove most of the preface of the
+ bugs section.
+
+2003-05-16 Nick Clifton <nickc@redhat.com>
+
+ * config/mcore/mcore.md (jump): Use emit_jump_insn to generate the
+ jump insn.
+
+2003-05-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
+ as a C only option.
+
+2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
+
+ * doc/bugreport.texi: Remove most of the bug reporting
+ instructions and merge them into bugs.html.
+
+2003-05-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * sparc.c (print_operand): Fix uninitialized warning.
+
+2003-05-14 Mark Mitchell <mark@codesourcery.com>
+
+ * version.c: Reset to prerelease format.
+ * doc/include/gcc-common.texi: Update version number.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR other/10745
+ * configure.in: Correct detection of GNU ld version number.
+ * configure: Regenerated.
+
+2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (gen_block_redirect, split_branches): Use
+ CODE_FOR_jump_compact instead of CODE_FOR_jump
+
+2003-05-06 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/linux.h: Fix typo.
+
+2003-05-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR other/10650
+ * unwind-dw2.c (uw_update_context_1): Don't set sp as cfa on s390.
+ (uw_init_context_1): Set initial sp to outer cfa on s390.
+
+2003-05-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR other/10658
+ * gcc.c (process_command): Update copyright date.
+
+2003-05-06 Bruce Korb <bkorb@gnu.org>
+
+ * inclhack.def: fix up whitespace differences from mainline.
+ mark fix tests that fail on BSD systems (like mainline).
+ Fixup the solaris_mutex_init test to cope with Sol. 2.6 (like mainline).
+ Removed unused SONY commentary (its obsolete anyway).
+ (svr4_mach_defines): remove i860 machine from comment (like mainline).
+ * gcc/fixinc/tests/base/pthread.h: solaris_mutex_init fix tests
+ * gcc/fixinc/tests/base/testing.h: remove ^M chars from some mistake
+ * gcc/fixinc/tests/base/Xm/Traversal.h: accommodate BSD's sed
+ * gcc/fixinc/tests/base/sys/stat.h: accommodate BSD's sed
+ * gcc/fixinc/fixincl.x: regenerated
+
+2003-05-06 Phil Edwards <pme@gcc.gnu.org>
+
+ * doc/install.texi (mips-*-*): Add note about libstdc++.
+
+2003-05-05 Mark Mitchell <mark@codesourcery.com>
+ Kean Johnston <jkj@sco.com>
+
+ * toplev.c (check_global_declarations): Do not warn about unused
+ static consts.
+
+2003-05-05 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
+ <BUILT_IN_DWARF_SP_COLUMN>: New.
+ * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
+ (BUILT_IN_DWARF_SP_COLUMN): New.
+ * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
+ (expand_builtin_dwarf_sp_column): New.
+ * except.h: Update to match.
+ * unwind-dw2.c (execute_stack_op): Correct stack push typo.
+ (execute_cfa_program): Record location expression address
+ before extracting length.
+ (uw_update_context_1): Install old CFA into stack pointer column.
+ (uw_init_context_1): Set cfa_reg to stack pointer column.
+
+2003-05-05 David O'Brien <obrien@FreeBSD.org>
+
+ * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
+ other FreeBSD ports.
+ (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
+
+2003-05-05 Jason Merrill <jason@redhat.com>
+
+ * stor-layout.c (update_alignment_for_field): Set DECL_ALIGN for
+ the field.
+
+2003-05-02 Zack Weinberg <zack@codesourcery.com>
+
+ PR c/10604
+ * c-opts.c (c_common_decode_option <OPT_Wall>): Set
+ warn_sign_compare for C++ only.
+ * doc/invoke.texi: Clarify documentation of -Wsign-compare.
+
+2003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
+ Hernandez, and Kazu Hirata.
+
+2003-05-02 Richard Henderson <rth@redhat.com>
+
+ PR c++/10570
+ * except.c: Revert 04-01 and 04-02 forced-unwind changes.
+ * flags.h, toplev.c, doc/invoke.texi: Likewise.
+
+ * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
+ * unwind.inc (_Unwind_DeleteException): Check for null
+ exception_cleanup.
+
+ * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
+ * unwind.inc (_Unwind_Resume_or_Rethrow): New.
+ * unwind.h: Declare them.
+ * libgcc-std.ver (GCC_3.3): Export them.
+
+2003-05-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-inline.c (find_alloca_call):
+ Use walk_tree_without_duplicates, instead of walk_tree.
+ (find_builtin_longjmp_call): Ditto.
+ * c-objc-common.c (c_cannot_inline_fn): Ditto.
+
+2003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add Daniel Berlin.
+
+2003-05-01 Rodney Brown <rbrown64@csc.com.au>
+
+ * rtl.h (subreg_offset_representable_p): Prototype.
+
+2003-05-01 Roger Sayle <roger@eyesopen.com>
+
+ PR fortran/9974
+ * gcse.c (reg_killed_on_edge): New function to test whether the
+ given reg is overwritten by any instruction queued on an edge.
+ (bypass_block): Ignore substitutions killed on incoming edges.
+ Don't bypass outgoing edges that have queued instructions.
+
+2003-04-30 Andreas Schwab <schwab@suse.de>
+
+ * doc/extend.texi (Other Builtins): Enclose multiple word data
+ type in braces for @deftypefn.
+
+2003-04-29 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/10336
+ * jump.c (never_reached_warning): Really stop looking if we reach
+ the beginning of the function.
+
+Tue Apr 29 21:07:00 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cse.c (count_reg_usage): Revert my previous patch.
+
+2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
+
+ bootstrap/10452
+ * gengtype-yacc.y: Improve portability.
+
+2003-04-29 Zack Weinberg <zack@codesourcery.com>
+
+ * config.gcc: Install obsolete target list for GCC 3.3.
+ * doc/install.texi: Mention in specific-target instructions
+ that certain configurations are deprecated.
+
+2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
+ * gcc.c (display_help): Likewise.
+ * toplev.c (f_options): Likewise.
+ * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
+ * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
+ * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
+ * config/s390/s390.h (TARGET_SWITCHES): Likewise.
+ * config/v850/v850.h (TARGET_SWITCHES): Likewise.
+
+2003-04-29 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
+ Update copyright.
+ * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a, for
+ -mno-cygwin case.
+
+2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * varasm.c (default_assemble_visibility): Use assemble_name.
+
+2003-04-29 David O'Brien <obrien@FreeBSD.org>
+
+ * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
+ * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
+ (SIZE_TYPE): New macro.
+ * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
+ (SET_ASM_OP): New macro.
+ (HANDLE_SYSV_PRAGMA): New macro.
+ (ASM_WEAKEN_LABEL): New macro.
+
+2003-04-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10180
+ * tree-inline.c (expand_call_inline): Call push_srcloc when
+ encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
+
+2003-04-28 Mike Stump <mrs@apple.com>
+
+ * gdbinit.in: Update to reflect new identifier structure.
+
+2003-04-28 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
+ * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
+ integral constant mult operand.
+ (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
+ (const_smulsi3_highpart_v8plus): Likewise.
+ (const_smulsi3_highpart): Likewise.
+ (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
+ (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
+ (const_umulsi3_highpart_v8plus): Likewise.
+ (const_umulsi3_highpart): Likewise.
+
+2003-04-28 David O'Brien <obrien@FreeBSD.org>
+
+ * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
+
+Mon Apr 28 09:54:56 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR c/10308
+ * reload.c (find_reloads_address_1): Reload plus at the place of
+ index register.
+
+2003-04-26 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
+ to clobber ar.pfs and ar.unat.
+ (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
+ fix test for spilling ar.pfs to the stack.
+
+2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
+
+ * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
+
+2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
+
+ * doc/extend.texi (Function Attributes): Document "near" and "far"
+ for 68HC11 and 68HC12.
+
+2003-04-25 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
+ addition of __PIC__ and __pic__ macros.
+ * config/xtensa/xtensa.h: Clean up indentation.
+
+2003-04-25 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
+ _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
+ (SUBTARGET_CPP_SPEC): Define.
+ (LIB_SPEC): Delete.
+ * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
+ * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
+ * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
+ Define.
+ (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
+ (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
+
+2003-04-25 Richard Henderson <rth@redhat.com>
+
+ PR opt/10315
+ * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
+ checks during reload; use validize_mem instead of adjust_address.
+
+Fri Apr 25 15:43:23 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * emit-rtl.c (subreg_hard_regno): Check that register is
+ representable.
+ * reload.c (reload_inner_reg_of_subreg): When register is not
+ representable, reload the whole thing.
+ (find_reloads): Likewsie.
+ * rtlanal.c (subreg_representable_p): New function.
+
+Sun Apr 20 18:23:18 CEST 2003 Richard Henderson <rth@redhat.com>
+
+ (backported to 3.3 by Jan Hubicka)
+
+ * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
+ (builtin_setjmp_receiver): Delay call to ia64_reload_gp
+ until after reload.
+
+ * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
+
+ * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
+ (ia64_gp_save_reg): Remove.
+ (struct ia64_frame_info): Move to the beginning of the file;
+ add reg_save_gp.
+ (ia64_expand_call): Rearrange for new call patterns.
+ (ia64_reload_gp): New.
+ (ia64_split_call): New.
+ (ia64_compute_frame_size): Allocate reg_save_gp.
+ (ia64_expand_prologue): Save reg_save_gp.
+ (ia64_expand_epilogue): Don't restore gp.
+ (ia64_hard_regno_rename_ok): Remove R4 hack.
+ (ia64_function_ok_for_sibcall): New.
+ (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
+ call try_split on sibcall pattern.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
+ Rename from nopic versions. Confiscate 2nd argument to call as
+ a marker.
+ (call_pic, call_value_pic, sibcall_pic): Remove.
+ (call_gp, call_value_gp, sibcall_gp): New.
+ (builtin_setjmp_setup): Remove.
+ (builtin_setjmp_receiver): Call ia64_reload_gp.
+
+2003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR opt/8705
+ * gcse.c (try_replace_reg): On a successful substitution of a constant
+ into a single set, try to simplify the source of the set.
+ * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
+ constant source.
+
+2003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
+
+ bootstrap/10453
+ * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
+ const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
+ where they might be not present. Use their _sp64 equivalent
+ instead.
+
+2003-04-23 Richard Henderson <rth@redhat.com>
+
+ PR opt/8300
+ * toplev.c (rest_of_compilation): Delay no_new_pseudos until
+ after initialize_uninitialized_subregs; update reg info assuming
+ new pseudos were created.
+
+2003-04-23 Olivier Hainque <hainque@act-europe.fr>
+
+ * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
+
+2003-04-23 James A Morrison <ja2morri@uwaterloo.ca>
+
+ * invoke.texi: Eliminate extra white-space caused by @gccoptlist{
+ on its own line.
+ Ensure there are two spaces between each pair of options and add
+ @gol where appropriate.
+
+2003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
+
+2003-04-22 Devang Patel <dpatel@apple.com>
+
+ * cpptrad.c (_cpp_replacement_text_len): Add check for macro parameter count.
+ (_cpp_copy_replacement_text): Same.
+
+2003-04-22 Richard Henderson <rth@redhat.com>
+
+ PR 8866
+ * rtl.h (MEM_NOTRAP_P): New.
+ (MEM_COPY_ATTRIBUTES): Copy it.
+ * rtlanal.c (may_trap_p): Check it.
+ * expr.c (do_tablejump): Set it.
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
+
+2003-04-22 David Turner <novalis@gnu.org>
+
+ * gbl-ctors.h: Add special license exception.
+ * libgcc2.h: Likewise.
+ * tsystem.h: Likewise.
+ * gcov-io.h: Likewise.
+
+2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in (calls.o): Depend on except.h.
+ * calls.c: Include except.h.
+ (emit_call_1): Call note_eh_region_may_contain_throw if
+ appropriate.
+ * except.c (eh_region): Add may_contain_throw.
+ (expand_eh_region_end_cleanup): Do not include handler code when
+ it cannot be reached.
+ (note_eh_region_may_contain_throw): New function.
+ * except.h (note_eh_region_may_contain_throw): New function.
+
+2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
+ changes.
+
+2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
+ have the same form as the old RTL.
+
+2003-04-18 Mark Mitchell <mark@codesourcery.com>
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
+ for orphaned jump tables.
+
+2003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR/8705
+ * pa.md (movccfp): New expander.
+ (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
+ Reverse fcmp conditions.
+
+2003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
+ of operand 1 correctly.
+
+2003-04-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Remove unused variables.
+ * flow.c (life_analysis): Fix warning.
+
+2003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
+ Add Segher Boessenkool.
+
+2003-04-18 Alexander Sotirov <sluncho@mirizma.org>
+
+ PR c/9177
+ * c-decl.c (c_expand_body): Don't garbage collect the function
+ body if we are going to dump it later.
+
+2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/7675
+ * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
+ on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
+ nested functions if they refer to declarations from parent functions.
+ * stmt.c (expand_decl): Don't put automatic variables in registers
+ if the DECL_NONLOCAL flag is set.
+
+2003-04-17 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test Suites): Document support for testing
+ binary compatibility (moved from testsuite/README.compat).
+
+2003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
+
+ * doc/include/gpl.texi: Fix double-spacing after "MA" to match
+ the one provided by the FSF.
+
+2003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Binaries): Update URL and list of platforms
+ provided by ftp.thewrittenword.com.
+
+2003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/invoke.texi (inline-limit): Fix pasto.
+
+2003-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR middle-end/8866
+ * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
+ jumptables.
+
+2003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR/10271
+ * pa-protos.h (function_arg): Remove last argument.
+ * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
+ * pa.h (struct hppa_args): Add member incoming.
+ (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
+ member incoming.
+ (FUNCTION_ARG): Revise call to function_arg.
+ (FUNCTION_INCOMING_ARG): Delete.
+
+2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
+
+ PR target/9594:
+ * sh.c (barrier_align): Also recognize stuff_delay_slot as
+ an indicator that a barrier was created by branch splitting.
+
+ merge from mainline:
+
+ 2003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
+ for align_jumps is 4.
+
+ (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
+ use GENERAL_REGS.
+
+ 2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
+ and align_jumps if not set.
+ Force align_jumps to be at least 2.
+ When relaxing, force align_functions to be at least the maximum of
+ align_loops, align_jumps and 4.
+ * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
+ (sh_loop_align): Honour align_loops_log.
+
+ * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
+ to check for indirect_jump_scratch.
+ (indirect_jump_scratch): Add second set.
+ * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
+ when looking for indirect_jump_scratch.
+ Extract scratch register taking new structure of indirect_jump_scratch
+ into account.
+ (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
+
+2003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
+
+ * invoke.texi (Spec Files): Wrap if-exists-else example.
+ (MCore): Remove duplicate @itemx entries and @opindex entries.
+
+2003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * unwind.inc (_Unwind_Backtrace): New function.
+ * unwind.h (_Unwind_Backtrace): Declare it.
+ * libgcc-std.ver (_Unwind_Backtrace): Export it.
+
+2003-04-15 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/10336, c++/10401
+ * jump.c (never_reached_warning): Also stop looking if we reach the
+ beginning of the function.
+
+2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR target/10338
+ PR bootstrap/10198
+ PR bootstrap/10140
+ * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
+
+2003-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
+ instead of TOC_REGISTER in epilogue in
+ current_function_calls_eh_return functions.
+
+2003-04-14 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/10377
+ * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
+ ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
+ ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
+ ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
+ ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
+ ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
+ ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
+ ("*extopqihi_swap_side", "*extopqisi_swap_side")
+ ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
+ When next to constraint R, replace constraint i with n.
+
+Mon Apr 14 16:14:37 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR opt/10024
+ * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
+
+2003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ * doc/contrib.texi (Contributors): Correct my entry.
+
+2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11-protos.h
+ (m68hc11_eq_compare_operator): Declare
+ * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
+ * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
+ (d_register_operand): Check the operand mode.
+ (hard_addr_reg_operand): Likewise.
+
+2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
+ pattern for dbcc/ibcc generation for 68HC12.
+ ("doloop_end"): New pattern.
+ ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
+ ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
+ ("m68hc12_dbcc_dec_qi"): New pattern.
+ ("m68hc12_dbcc_inc_qi"): New pattern.
+ (split): Add split for the above when we can't use dbcc/ibcc due to
+ reloading.
+ (peephole2): Add peephole2 to generate the above when possible.
+
+2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
+ mode of operand 0.
+ (peephole2 optimize const load): Likewise for operand 2.
+ ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
+ clobbers CC_REGNUM.
+ ("*rotrhi3_with_carry"): Likewise.
+ (ashift:DI 1 split): Update pattern to create the above rotate.
+ (lshiftrt:DI 1 split): Likewise.
+
+2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
+ ("tstqi_z_used" split): Use it.
+ ("cmphi_z_used"): Likewise.
+ ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
+ ("cmpqi_z_used"): Likewise.
+
+2003-04-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7910
+ * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
+
+2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
+ recognize -mnorelax.
+ (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
+ (REG_CLASS_NAMES): Add its name.
+ (REG_CLASS_CONTENTS): Define its content.
+
+2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
+ parameters so that offsets are valid for far definition.
+ (__mulsi3): Likewise and use ret to return.
+ (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
+
+2003-04-11 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/extend.texi (Empty Structures): New.
+
+2003-04-11 Richard Henderson <rth@redhat.com>
+
+ PR c++/10202
+ * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
+ not COMPLETE_TYPE_P for re-invoking layout_decl.
+
+2003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
+
+ * doc/bugreport.texi: Fix paragraph breaking between sections
+ in preparation for TeXinfo's paragraph indentation fixes.
+ * doc/extend.texi: Ditto.
+ * doc/invoke.texi: Ditto.
+ * doc/objc.texi: Ditto.
+ * doc/gcov.texi: Wrap 'gcov' in @command{}.
+ * doc/invoke.texi (Darwin Options): Add a preamble.
+
+2003-04-11 Richard Henderson <rth@redhat.com>
+
+ PR c/10201
+ * expr.c (expand_expr): Move DECL_RTL frobbing ...
+ * stor-layout.c (layout_decl): ... here.
+
+2003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * doc/install.texi (hppa): Update links for HP-UX patches. Revise
+ notes on linker selection and configuration for 64-bit HP-UX port.
+ * doc/invoke.texi (hppa): Remove hppa text from description for
+ -ffunction-sections and -fdata-sections. Document -static, -nolibdld
+ and -threads options.
+
+ * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
+ libc.a on libdld.sl when -static is specified and -nolibdld is not
+ specified.
+ * pa64-hpux.h (LIB_SPEC): Likewise.
+ * pa-hpux11.h (LIB_SPEC): Likewise.
+ (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
+ is not specified.
+
+2003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * doc/extend.texi (Template Instantiation): Refer to ISO standard,
+ not Working Paper.
+ * doc/invoke.texi (C++ Dialect Options): Same.
+
+Fri Apr 11 00:12:14 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR inline-asm/8803
+ * function.c (instantate_virtual_regs): Verify that all ASM statements
+ match after the virutal regs instantiation.
+
+2003-04-10 Steve Ellcey <sje@cup.hp.com>
+
+ * ia64-protos.h (addp4_optimize_ok): New.
+ * ia64.c (addp4_optimize_ok): New.
+ * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
+ (*ptr_extend_plus_2): Ditto.
+
+2003-04-10 Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
+ not with convert_memory_address.
+ (store_constructor): Ditto, and same for copy_size_rtx.
+ (expand_expr): Ditto.
+
+2003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (larl_operand): Do not allow symbols
+ marked with '@'.
+ (s390_encode_section_info): Mark symbols with forced 1-byte
+ alignment with '@'.
+ (s390_strip_name_encoding): Strip '@'.
+ (legitimize_pic_address): Handle symbols that are not valid
+ LARL operands in 64-bit mode.
+
+2003-04-10 Andrew Haley <aph@redhat.com>
+
+ * tree-inline.c (inlinable_function_p): Disable inlining for
+ synchronized methods.
+
+2003-04-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/fp-bit.c (unpack_d): Handle pair of doubles with
+ different signs correctly.
+
+2003-04-08 Richard Henderson <rth@redhat.com>
+
+ PR target/9886
+ * config/ia64/ia64.md (cmovdi_internal): Use 'n' not 'i' constraints.
+ (cmovsi_internal): Likewise.
+
+2003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * doc/install.texi: Use @command and @samp for single- and
+ multi-word commands respectively.
+ * doc/makefile.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+
+2003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+ Richard Henderson <rth@redhat.com>
+
+ PR c/9516
+ * expr.c (safe_from_p): Rearrange to avoid deep recursion in
+ favour of looping and tail recursion for TREE_LIST and binops.
+
+2003-04-07 Glen Nakamura <glen@imodulo.com>
+
+ PR opt/8634
+ * explow.c (maybe_set_unchanging): Don't flag non-static const
+ aggregate type initializers with RTX_UNCHANGING_P.
+
+2003-04-07 Richard Henderson <rth@redhat.com>
+
+ PR opt/8634
+ * function.c (purge_addressof_1): Don't try arithmetics for
+ unchanging memories.
+
+2003-04-07 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test Suites): Document testing support for
+ gcov and profile-directed optimizations; describe gcc.misc-tests.
+
+2003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/rtl.texi (Comparison operations): Update to
+ record the allowed comparison modes.
+
+Mon Apr 7 22:13:38 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR target/10077
+ * i386.md (movsi_1): Fix SSEMOV alternative.
+
+Mon Apr 7 15:56:30 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR opt/10024
+ Revert Zack's change
+ * cfglayout.c (cfg_layout_redirect_edge):
+ Redirect any branch edges unified with the fallthru one.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
+ case fallthru edges when called via cfglayout.c
+
+2003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
+
+ * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
+
+2003-04-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-decl.c (set_save_expr_context): Prototype.
+
+2003-04-05 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.h (RTX_COSTS): Halve Power multiply costs.
+ * config/rs6000/rs6000.md: Correct Power4 multiply latency.
+
+2003-04-05 Zack Weinberg <zack@codesourcery.com>
+
+ PR optimization/10024
+ * cfgrtl.c (force_nonfallthru_and_redirect): If e is the edge
+ we want, use it.
+
+2003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ PR bootstrap/10267
+ * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
+ for configuring.
+
+2003-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-decl.c (set_save_expr_context): Use traditional-style function
+ definition.
+
+2003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add entries for Wolfgang
+ Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
+ Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
+ Danny Smith, and Ulrich Weigand.
+ Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
+ entry.
+
+2003-04-04 Zack Weinberg <zack@codesourcery.com>
+
+ PR bootstrap/10216
+ * configure.in: Check whether it is necessary to link against
+ libm to use ldexp.
+ * configure: Regenerate.
+ * Makefile.in: Add LDEXP_LIB substitution variable.
+
+2003-04-03 Jason Merrill <jason@redhat.com>
+
+ PR c/10175
+ * jump.c (never_reached_warning): Revert patch of 2002-11-02.
+ Look backwards for a line note.
+
+2003-04-02 Mike Stump <mrs@apple.com>
+
+ * doc/extend.texi (PowerPC AltiVec Built-in Functions): Split up
+ some to avoid faulting makeinfo --html.
+
+2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * libgcc-std.ver (_Unwind_GetCFA): New.
+ * unwind-dw2.c (_Unwind_GetCFA): New.
+ * unwind-sjlj.c (_Unwind_GetCFA): New.
+ * unwind.h: Declare it.
+
+2003-04-02 Mike Stump <mrs@apple.com>
+
+ * doc/install.texi (Specific): Update pointers to apple.com.
+
+2003-04-01 Jan Hubicka <jh@suse.cz>
+
+ PR inline-asm/8088
+ * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
+ when MMX/SSE is not available.
+
+2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * except.c (sjlj_find_directly_reachable_regions): Recognize when
+ must-not-throw region has been deleted.
+
+2003-04-02 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
+ optimization when flag_exceptions not enabled.
+
+2003-04-01 Richard Henderson <rth@redhat.com>
+
+ * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
+ notes for nothrow calls if flag_forced_unwind_exceptions.
+ (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
+ (sjlj_find_directly_reachable_regions): Likewise.
+ (reachable_handlers): Likewise.
+ (can_throw_external): Likewise.
+ (collect_one_action_chain): Record cleanups after catch-all and
+ must-not-throw if flag_forced_unwind_exceptions.
+ * flags.h (flag_forced_unwind_exceptions): Declare.
+ * toplev.c (flag_forced_unwind_exceptions): New.
+ (lang_independent_options): Add it.
+ * doc/invoke.texi: Add it.
+
+2003-04-01 Geoffrey Keating <geoffk@apple.com>
+
+ * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
+ (live_image_destructor): Reset image to initial state.
+ (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
+
+2003-04-01 Dale Johannesen <dalej@apple.com>
+
+ * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
+ (Zdenek Dvorak's fix from 3.4 branch)
+
+2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_fixup_clobbered_return_reg):
+ Do nothing if __builtin_return_address was not used.
+
+2003-04-01 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (function_arg_pass_by_reference):
+ Return true for variable sized types.
+ (rs6000_va_arg): Handle variable sized types passed by reference
+ on non-SVR4 ABI.
+
+2003-03-31 Mark Mitchell <mark@codesourcery.com>
+
+ PR c/9936
+ * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
+ variably-sized arrays in parameters.
+ (set_save_expr_context): New function.
+ (c_expand_body): Use it, via walk_tree.
+
+2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
+
+2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
+ notes as they are boggus.
+ (m68hc11_gen_movqi): Likewise.
+
+2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
+ save the soft registers after the frame pointer so that gdb can unwind
+ the frame more easily.
+ (expand_epilogue): Likewise in opposite order; allow to use X register
+ as scratch if the return value is by reference.
+
+2003-03-31 Jason Merrill <jason@redhat.com>
+
+ PR java/10145
+ * stor-layout.c (update_alignment_for_field): Respect
+ DECL_USER_ALIGN for zero-length bitfields, too.
+ * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
+ fields.
+
+2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR other/6955
+ * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
+ * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
+
+2003-03-30 Richard Henderson <rth@redhat.com>
+
+ PR c/10083
+ * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
+ don't zero_extend const inputs.
+
+2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
+ Uniformly use bugfix instead of bug fix.
+
+2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ PR doc/895
+ * ONEWS: Remove those items that already appear in the EGCS
+ release notes on our web pages.
+
+2003-03-29 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
+ TARGET_HARD_FLOAT. Reformat.
+ (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
+
+2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
+ set up before any trapping memory access if flag_non_call_exceptions.
+
+2003-03-29 Alan Modra <amodra@bigpond.net.au>
+
+ * reload1.c (reload_as_needed): Allow a USE in asm reloads.
+
+ * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
+
+2003-03-28 Loren James Rittle <ljrittle@acm.org>
+
+ * doc/install.texi (*-*-freebsd*): Update with known status.
+
+2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("literal_pool_31"): Output pool anchor
+ label even if pool empty when generating PIC.
+ ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
+
+2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
+ Dhananjay Deshpande <dhananjayd@kpit.com>
+
+ PR target/10205
+ * config/h8300/h8300.c (h8300_initial_elimination_offset):
+ Correct the offset computation when TARGET_NORMAL.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/10067
+ * config/sparc/sparc.md (jump pattern): Correct order
+ when issuing the annuling marker.
+
+2003-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
+ (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
+ notes after hoisting.
+ (load_mems): Adjust replace_loop_mems call.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/8281
+ * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
+ (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/10114 and PR target/10084
+ * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
+
+2003-03-27 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/9953
+ * ada/Makefile.in (gnatlib configuration for HPUX): Split
+ the general section for HPUX into specific sections for
+ HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
+ 11 case.
+
+2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
+ registers used for global asm variables.
+ (s390_frame_info, s390_arg_frame_offset): Likewise.
+ (s390_emit_prologue, s390_emit_epilogue): Likewise.
+
+2003-03-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Update Janis Johnson.
+
+2003-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
+ (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
+ zero extend old to it.
+ * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
+ operand.
+
+2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/7784
+ * reload.c (find_reloads_address): Handle
+ (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
+ all base registers.
+
+2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
+
+ PR other/10203
+ * version.c: Reference the GCC web site in the URL.
+
+2003-03-25 Jan Hubicka <jh@suse.cz>
+
+ PR opt/10056
+ * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
+ jump jumping to the next instruction.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+ * cfg.c (unchecked_make_edge): New.
+ * basic-block.h (unchecked_make_edge): Declare.
+
+2003-03-25 Jason Merrill <jason@redhat.com>
+
+ PR optimization/10171
+ * unroll.c (unroll_loop): Don't delete the jump at the end unless
+ we also delete a jump at the beginning.
+
+2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
+
+ * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
+ contributor.
+
+2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/passes.texi (Passes): Properly document that we do not
+ perform jump2 any longer; remove command-line option -dJ.
+
+2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/8746
+ * config/i386/i386.md (and promoting splitters): Disable HImode to
+ SImode promoting when the sign bit matters and is not preserved, or
+ when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
+ for size.
+
+2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
+ _return_far
+ (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
+ (MULTILIB_EXCEPTIONS): Likewise.
+ * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
+ by calling some board support routine.
+ ("call_value"): Likewise.
+ ("*return_void"): Likewise for return.
+ ("*return_16bit"): Likewise.
+ ("*return_32bit"): Likewise.
+ * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
+ for 68HC11 too.
+ (DWARF2_ADDR_SIZE): Use 4 so that addresses can
+ * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
+ -mlong-calls for 68HC11.
+ * config/m68hc11/larith.asm (declare_near): New macro.
+ (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
+ (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
+ (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
+ (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
+ (__mulhi32): Likewise.
+ (ret): Update macro for 68HC11.
+ (__far_trampoline): Implement for 68HC11.
+ (__call_a16, __call_a32, __return_void, __return_16): New support
+ routines for 68HC11 memory bank switching calling support.
+ (__return_32): Likewise.
+
+2003-03-21 Glen Nakamura <glen@imodulo.com>
+
+ PR opt/10087
+ * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
+ while incrementing giv.
+ (record_biv): Check for duplicate biv locations and
+ set (struct induction *) v->same if found.
+
+2003-03-24 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Testing): Mention test result links from build
+ status pages.
+
+2003-03-24 Mark Mitchell <mark@codesourcery.com>
+
+ * function.c (put_var_into_stack): Change bool parameter to int.
+ (gen_mem_addressof): Likewise.
+ * rtl.h (gen_mem_addressof): Likewise.
+ * tree.h (put_var_into_stack): Likewise.
+ * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
+ gen_mem_addressof or put_var_into_stack.
+ * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+
+2003-03-24 Andreas Schwab <schwab@suse.de>
+
+ * config/ia64/ia64.c (spill_tfmode_operand): Adjust calls to
+ gen_mem_addressof.
+
+2003-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (do_jump): Handle UNSAVE_EXPR specially.
+
+2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/10072
+ * combine.c (simplify_if_then_else): Check that the mode
+ has MODE_INT class before applying the (OP Z (mult COND C2))
+ transformation.
+
+2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9414
+ * config/sparc/sparc.md (widening peepholes): Use
+ widen_memory_access instead of change_address.
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * c-typeck.c (c_mark_addressable): Adjust calls to
+ put_var_into_stack.
+ * expr.c (expand_expr): Likewise.
+ * function.c (put_var_into_stack): Add rescan parameter. Do not
+ call fixup_var_refs when rescan is false.
+ (gen_mem_addressof): Likewise.
+ (assign_parms): Adjust calls to put_var_into_stack.
+ (setjmp_protect): Likewise.
+ (setjmp_protect_args): Likewise.
+ * rtl.h (gen_mem_addressof): Change prototype.
+ * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
+ * tree.h (put_var_into_stack): Change prototype.
+
+2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
+
+ PR middle-end/9967
+ * builtins.c (expand_builtin_fputs): When optimizing for size,
+ don't transform fputs into fwrite.
+
+2003-03-24 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
+ globalize_label.
+
+ Merge from mainline.
+ 2003-01-13 Andreas Schwab <schwab@suse.de>
+ * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
+ directive.
+
+2003-03-23 Glen Nakamura <glen@imodulo.com>
+
+ PR c/8224
+ * fold-const.c (extract_muldiv_1): Don't pass through type conversions
+ when signedness changes for division or modulus.
+
+2003-03-23 Richard Henderson <rth@redhat.com>
+
+ * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
+ before flow2.
+ * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
+
+2003-03-23 Richard Henderson <rth@redhat.com>
+
+ PR opt/10116
+ * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
+ from then_bb or else_bb after flow2.
+ * jump.c (tablejump_p): New.
+ * rtl.h: Declare it.
+
+2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (output_cbranch): Fix typo in comment.
+
+2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
+ conditional branch to the following instruction. Use next_real_insn
+ instead of next_active_insn.
+ (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
+ instead of next_active_insn.
+
+2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o' instead
+ of 'm' constraint in forced-split alternatives.
+ ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
+ VALIDATE_ADDRESS parameter to operand_subword.
+
+2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * config/c4x/t-c4x (MULTILIB_MATCHES): Make gcc recognize a c33 as
+ a c30 instead of a c40 processor.
+
+2003-03-21 Richard Henderson <rth@redhat.com>
+
+ PR opt/2001
+ * bb-reorder.c (maybe_duplicate_computed_goto_succ): New.
+ (make_reorder_chain_1): Call it.
+
+ * function.h (struct function): Add computed_goto_common_label,
+ computed_goto_common_reg.
+ * function.c (free_after_compilation): Zap them.
+ * stmt.c (expand_computed_goto): Use them to produce one
+ indirect branch per function.
+
+2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
+
+2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
+ writing .interrupt command.
+ * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
+ if it's a far or near function.
+ ("call_value"): Likewise.
+ * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
+ near attributes.
+ (m68hc11_handle_fntype_attribute): Accept attributes on methods.
+ (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
+ (m68hc11_initial_elimination_offset): Set current_function_far
+ according to attributes.
+ (expand_prologue): Likewise.
+ (trap_handler_symbol): New global to keep track of trap handlers.
+ (m68hc11_encode_section_info): Mark symbol as far if needed; set
+ trap symbol.
+ (m68hc11_is_far_symbol): New function.
+ (m68hc11_is_trap_symbol): New function.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
+ (m68hc11_is_trap_symbol): Declare.
+
+2003-03-21 Jan Hubicka <jh@suse.cz>
+
+ PR inline-asm/7916
+
+ * function.c (instantiate_virtual_regs_lossage): New function.
+ (instantiate_virtual_regs_1): Use it.
+ (instantiate_virtual_regs): Do not continue in substition when insn has
+ been deleted.
+
+2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h: Do not include fixdfdi.h on s390x.
+ (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
+ (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
+
+2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR doc-bug/9813
+ * doc/extend.texi: Move misplaced paragraph about underscores in
+ variables in macros.
+
+2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/invoke.texi: Fix table environment.
+
+2003-03-21 Richard Earnshaw <rearnsha@arm.com>
+
+ * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
+ information.
+
+2003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Richard Henderson <rth@redhat.com>
+
+ PR optimization/8366
+ * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
+ (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
+ PIC+SYMBOLIC_CONST in other modes than Pmode.
+ (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
+ the form PIC+SYMBOLIC_CONST as mode dependent.
+
+2003-03-20 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (extract_muldiv_1): Revert changing order of
+ operands in case MULT_EXPR of 2003-02-16 patch.
+
+2003-03-20 Richard Henderson <rth@redhat.com>
+
+ PR c/8602
+ * integrate.c (output_inline_function): Reset input_filename
+ and lineno from the decl before rest_of_compilation.
+
+2003-03-20 Richard Earnshaw <rearnsha@arm.com>
+
+ PR 10066
+ * arm.md (UNSPEC_PIC_BASE): New constant.
+ (pic_add_dot_plus_four): Wrap with unspec.
+ (pic_add_dot_plus_eight): Likewise.
+
+2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_preferred_reload_class): Do not
+ force constants to the pool unless necessary.
+ (s390_decompose_address): Prefer to use pointer as base,
+ not index register.
+ * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
+ Q alternative.
+ ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
+ "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
+ ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
+ "*zero_extendqisi2_31", "*zero_extendqihi2_31",
+ "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
+ rs6000_maybe_dead if !fromprolog.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ifcvt.c (dead_or_predicable): Fail if there are any references
+ to tablejump in merge_bb other than the final JUMP_INSN.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * stmt.c (expand_start_case): Call emit_queue ().
+
+2003-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR 10062
+ * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
+ * pa-protos.h (output_lbranch): New prototype.
+ * pa.c (compute_frame_size): Change size of the frame marker on the
+ 64-bit ports to 48 bytes.
+ (pa_output_function_prologue): Document why SAVE_SP is set.
+ (hppa_expand_prologue): Save previous stack pointer into frame marker
+ on targets which use the hpux unwind library.
+ (output_cbranch): Use output_lbranch.
+ (output_lbranch): New function to output long unconditional branches.
+ * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
+ (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
+ 64-bit ports.
+ * pa.md (jump): Use output_lbranch.
+ (allocate_stack): New expander for dynamic stack allocation.
+
+2003-03-18 Alexandre Oliva <aoliva@redhat.com>
+
+ * toplev.c (independent_decode_option): Return success for --help,
+ --target-help and --version.
+
+2003-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/10073
+ * combine.c (force_to_mode <NOT>): Use gen_int_mode.
+
+2003-03-18 Andreas Schwab <schwab@suse.de>
+
+ PR target/7248
+ * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
+ martin@blom.org.
+
+2003-03-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/10091
+ * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
+ an unaligned member of TREE_ADDRESSABLE type.
+
+2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * dwarf2asm.h: Delete obsolete comment.
+ (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
+ dw2_asm_output_pcrel, dw2_asm_output_addr,
+ dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
+ dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
+ dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
+ dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
+
+2003-03-17 Steve Ellcey <sje@cup.hp.com>
+
+ * stmt.c (tail_recursion_args): Call promote_mode to set
+ unsignedp flag correctly before calling convert_move.
+
+2003-03-17 Dave Love <fx@gnu.org>
+ Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
+ __arch64__ to match Compaq cc.
+
+2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
+ argument to 0 for redirect_jump.
+
+2003-03-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8805
+ * except.c (eh_region_u_cleanup): Add prev_try.
+ (expand_eh_region_end_cleanup): Set it.
+ (reachable_handlers): Use it to skip over cleanup blocks.
+
+2003-03-16 Richard Henderson <rth@redhat.com>
+
+ PR opt/6798
+ * cfgcleanup.c: Include params.h.
+ (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
+ too many outgoing edges from a block.
+ * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
+ * params.def (max-crossjump-edges): New.
+ * doc/invoke.texi: Document it.
+
+2003-03-16 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
+ optimize_size as well.
+
+2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
+ for D register to specify the low part of it, aka B.
+ (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
+ the register if we are loading 1 or -1 to it; avoid using temp
+ register when moving X/Y to Y/X.
+ (m68hc11_gen_movqi): Likewise.
+ (m68hc11_check_z_replacement): Fix last insn setting for compare case.
+
+2003-03-14 Mark Mitchell <mark@codesourcery.com>
+
+ PR optimization/9016
+ * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
+ into the constant pool.
+
+2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR target/9164
+ * tree.c (get_narrower): For extensions with unchanged bit number,
+ return the unsignedness of the outer mode.
+
+2003-03-16 Roger Sayle <roger@eyesopen.com>
+
+ * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
+ to avoid "may be used uninitialized" warning on ia64-hpux.
+ * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
+
+2003-03-16 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppinit.c: Remove support of -A-.
+ * doc/cppopts.texi: Remove documentation of -A-.
+
+2003-03-15 Richard Henderson <rth@redhat.com>
+
+ 2003-01-14 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
+ for force_const_mem.
+
+2003-03-15 Richard Henderson <rth@redhat.com>
+
+ PR target/9700
+ * config/alpha/alpha.c (alpha_va_start): Account for
+ current_function_pretend_args_size in the AP offset.
+
+2003-03-15 Jason Merrill <jason@redhat.com>
+
+ PR debug/6387
+ * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
+ function DIEs at toplevel.
+ (decls_for_scope): At -g1, don't descend into subblocks.
+
+2003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * varasm.c (struct rtx_const): Change type of un.addr member
+ to struct holding an additional 'symbol' member.
+ (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
+ with equal string addresses as equal.
+ (simplify_subtraction): Adapt to struct rtx_const change.
+
+2003-03-15 Glen Nakamura <glen@imodulo.com>
+
+ * reload1.c (choose_reload_regs): Use && instead of ||
+ with REG_CANNOT_CHANGE_MODE_P condition.
+
+2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ PR optimization/9387
+ * function.c (thread_prologue_and_epilogue_insns): Use redirect jump
+ for conditional returns.
+
+2003-03-14 Jason Merrill <jason@redhat.com>
+
+ PR optimization/6871
+ * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
+
+2003-03-12 Andrew Lewycky <andrew@mxc.ca>
+
+ PR c++/7050
+ * expr.c (store_expr): Don't attempt to store void-typed trees,
+ just evaluate them for side effects.
+
+2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/8396
+ * tree-inline.c (initialize_inlined_parameters): Make sure the value
+ of read-only constant arguments is passed with the right type.
+
+2003-03-14 Andreas Jaeger <aj@suse.de>
+ Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
+
+ * linux64.h (TARGET_OS_CPP_BUILTINS): Define _LP64 and __LP64__ in
+ 64-bit mode.
+
+2003-03-13 Mike Stump <mrs@apple.com>
+
+ * ggc-page.c (struct page_entry): Remove varray.h header.
+ Add index_by_depth field.
+ Remove save_in_use_p field.
+ (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
+ by_depth_max, by_depth, and save_in_use fields.
+ (INITIAL_PTE_COUNT): Add.
+ (save_in_use_p_i): Add.
+ (save_in_use_p): Add.
+ (adjust_depth): Add.
+ (push_depth): Add.
+ (push_by_depth): Add.
+ (prefetch): Add.
+ (free_page): Add support for and use faster data structures.
+ (ggc_alloc): Likewise.
+ (init_ggc): Likewise.
+ (ggc_recalculate_in_use_p): Likewise.
+ (ggc_pop_context): Likewise.
+ (clear_marks): Likewise.
+ * Makefile.in (ggc-page.o): Remove varray.h.
+
+2003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (pa_init_builtins): Fix warning.
+
+2003-03-12 Richard Henderson <rth@redhat.com>
+
+ PR opt/8178
+ * config/i386/i386.md (ffssi2): Tighten op1 predicate to
+ the requirements of the output insns.
+
+2003-03-12 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
+ (ASM_OUTPUT_XDATA_SHORT): Remove.
+ (ASM_OUTPUT_XDATA_INT): Remove.
+ (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
+ (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
+
+2003-03-12 Andrew Lewycky <andrew@mxc.ca>
+
+ PR c++/7050
+ * expr.c (store_expr): Don't attempt to store void-typed trees,
+ just evaluate them for side effects.
+
+2003-03-12 Bob Wilson <bob.wilson@acm.org>
+
+ Backport from mainline:
+ 2003-03-12 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
+ to detect carry.
+ (subdi3): Reorder emitted instructions.
+
+2003-03-12 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
+
+2003-03-12 Daniel Jacobowitz <drow@mvista.com>
+
+ Fix PR target/9797 and PR c/9853.
+ * stmt.c (expand_decl_init): Call push_temp_slots () and
+ pop_temp_slots ().
+
+2003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in (rlim_t): Define to long if no valid definition
+ found in sys/resource.h.
+ * config.in, configure: Regenerate.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/9928
+ * c-decl.c (duplicate_decls): Discard the initializer of the new decl
+ only if it is a VAR_DECL.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9888
+ * config/i386/i386.md (jcc_1): Fix range.
+ (jcc_2): Likewise.
+ (jump): LIkewise.
+ (doloop_end_internal): Likewise.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9888
+ * config/i386/i386.md (movsi_1): Remove special alternatives
+ for %eax register.
+ (movhi_1): Likewise.
+ * config/i386/i386.c (memory_address_length): Do not use
+ short displacement when there is no base.
+ (ix86_attr_length_address_default): Handle LEA instructions.
+
+2003-03-11 Loren James Rittle <ljrittle@acm.org>
+
+ (per-port preprocessor fix, concurrent to Neil's cppinit.c fix)
+ * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
+ (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
+ (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
+ * config/freebsd.h (CPP_PREDEFINES): Remove.
+ (TARGET_OS_CPP_BUILTINS): New.
+ * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
+ instead of TARGET_OS_CPP_BUILTINS.
+ * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
+
+2003-03-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR bootstrap/9994
+ Backport from mainline:
+
+ 2003-02-18 Roger Sayle <roger@eyesopen.com>
+
+ * sbitmap.c (sbitmap_resize): New function.
+ * sbitmap.h (sbitmap_resize): Prototype here.
+ * recog.c (split_all_insns): Use sbitmap_resize.
+
+ Mon Feb 17 16:16:54 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * recog.c (split_all_insns): Fix memory overflow.
+
+ 2003-02-15 Richard Henderson <rth@redhat.com>
+
+ * recog.c (split_all_insns): Include new blocks in life update;
+ do a global life update.
+
+2003-03-11 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/cris/cris.md: Remove lingering EGCS reference.
+ ("*extopqihi_side_biap"): For HI operation, match
+ cris_additive_operand_extend_operator, not
+ cris_operand_extend_operator. Adjust condition.
+ ("*extopqihi_side", "*extopqihi"): Ditto.
+ ("*extopqisi_side_biap"): Correct operand numbers in condition.
+ ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
+ ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
+ ("*extophisi_swap"): Ditto.
+ ("*extopqihi_swap_side_biap"): For HI operation, match a simple
+ PLUS, not cris_operand_extend_operator. Adjust condition and
+ output template.
+ ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
+ * config/cris/cris.h (PREDICATE_CODES): Add
+ cris_additive_operand_extend_operator.
+ * config/cris/cris.c (cris_additive_operand_extend_operator):
+ New predicate.
+
+ * config/cris/aout.h (ENDFILE_SPEC): Undef.
+ (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
+ (TARGET_OS_CPP_BUILTINS): New macro.
+ (HAVE_GAS_HIDDEN): Undef.
+ * config/cris/cris.h: Remove EGCS references.
+ (CPP_SPEC): Remove "-$".
+ (INIT_CUMULATIVE_ARGS): Correct comment.
+ * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
+ (TARGET_OS_CPP_BUILTINS): New macro.
+ (CPP_PREDEFINES): Don't define. Move old definitions and...
+ (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
+ (TARGET_CPU_CPP_BUILTINS): New macro.
+ * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
+ definitions and the optional __PIC__, __pic__ and
+ __NO_UNDERSCORES__ definitions to...
+ (TARGET_OS_CPP_BUILTINS): New macro.
+
+2003-03-10 Devang Patel <dpatel@apple.com>
+
+ PR c++/9394
+ * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+ * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
+ * cppspec.c (DEFAULT_SWTICH_TAKES_ARG): Remove.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+
+2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
+ Declare.
+ * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
+ for reg rename optimization to avoid using Z and Y registers.
+
+2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
+ when adding to X and Y since leax/leay are fast.
+ ("*addhi3"): Accept 'I' constraint when adding to address register.
+ ("rotlhi3"): Operand 1 must be a register_operand.
+ (peephole2): New peephole to optimize some adds.
+ * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
+ to represent -2 .. 2 small integer range.
+
+2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
+ each 16-bit rotation.
+
+2003-03-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/spe.h: Merge from mainline.
+
+2003-03-10 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Revert the previous patch.
+
+2003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/9986
+ * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
+ after the common builtins.
+ * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
+ * pa.c (TARGET_INIT_BUILTINS): Define.
+ (pa_init_builtins): New function.
+
+ * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
+ space has been allocated for the outgoing arguments, set the arg
+ pointer for a call emitted after virtuals have been instantiated
+ using the stack pointer offset, otherwise abort.
+
+2003-03-06 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Defer RTL compilation only when
+ RTL inlining is done.
+
+ * i386.c (ix86_expand_vector_move): Do not crash when offloading
+ to memory in PIC mode.
+
+2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
+
+2003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR middle-end/7796
+ * unroll.c (calculate_giv_inc): Handle constants being
+ loaded with LSHIFTRT.
+
+2003-03-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/8726
+ Backport patch from mainline:
+
+ 2003-01-08 Dale Johannesen <dalej@apple.com>
+
+ * function.c (assign_parms): Don't set pretend_args_size if
+ REG_PARM_STACK_SPACE.
+
+2003-03-06 Kurt Garloff <garloff@suse.de>
+ Geoffrey Keating <geoffk@apple.com>
+ Dale Johannesen <dalej@apple.com>
+ * params.def: Introduce parameter max-inline-insns-rtl for
+ a separate limit for the RTL inliner.
+ * params.h: Likewise.
+ * integrate.c (function_cannot_inline_p): Use it.
+ * toplev.c (decode_f_option): Set multiple parameters
+ controlling inlining with -finline-limit.
+ * params.def: Fix orthographic and typographic errors.
+ * doc/invoke.texi: Document parameters controlling inlining
+ and the way -finline-limit sets multiple of them.
+ * tree.h (struct tree_decl): Introduce inlined_function_flag,
+ recording whether the function became eligible for inlining
+ by a compiler flag rather than the declaration.
+ Provide DID_INLINE_FUNC macro to access it.
+ * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
+ * cp/decl.c (grokfndecl): Likewise.
+ * toplev.c (rest_of_compilation): Likewise.
+ * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
+ * print-tree.c (print_node): Report it.
+ * params.def: Introduce new max-inline-insns-auto limit.
+ * params.h: Likewise.
+ * tree-inline.c (inlinable_function_p): Apply it to functions
+ with DID_INLINE_FUNC set.
+ * toplev.c (decode_f_option): Initialize it from -finline-limit
+ value.
+ * doc/invoke.texi: Document new parameter.
+
+2003-03-06 Michael Matz <matz@suse.de>
+
+ * i386/i386.c (ix86_save_reg): Also test
+ current_function_uses_const_pool.
+
+2003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
+ (epilogue): Don't generate return_external_pic when emitting PA 2.0
+ code.
+
+2003-03-05 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
+ according to va_arg type.
+ (EXPAND_BUILTIN_VA_ARG): Remove.
+ * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
+
+2003-03-05 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Do duplicate loop headers when
+ optimizing for size.
+
+2003-03-05 Michael Matz <matz@suse.de>
+
+ * unwind.h: Add the GPL exception.
+ * Makefile.in (USER_H): Add unwind.h.
+
+2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/9799
+ * c-typeck.c (push_init_level): Add sanity check.
+
+2003-03-04 Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (convert_modes): Check for legal hard register.
+
+2003-03-04 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
+ offset without frame pointer.
+
+2003-03-04 Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (expand_expr): Call promote_mode to set unsignedp.
+
+2003-03-04 Roger Sayle <roger@eyesopen.com>
+
+ PR c++/9367
+ * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
+ (BT_FN_INT_CONST_STRING_VALIST_ARG,
+ BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
+ BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
+ BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
+ BT_FN_INT_STRING_CONST_STRING_VAR,
+ BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
+ BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
+ * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
+ ATTR_NONNULL_3): Also include the nothrow attribute.
+ (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
+ vsnprintf, vscanf, vsscanf): Don't define attributes here.
+ * builtins.def (putchar, puts): Make full C89 built-ins.
+ (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
+ vsscanf, vsnprintf, vsprintf): New built-ins.
+ * c-common.c (c_common_nodes_and_builtins): Handle new macro
+ DEF_FUNCTION_TYPE_VAR_3.
+
+ * doc/extend.texi: Document these new built-in functions.
+
+2003-03-04 Jan Hubicka <jh@suse.cz>
+
+ * calls.c (rtx_for_function_call): Take the address as an argument
+ (expand_call): Do not modify the expression.
+
+2003-03-04 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
+ global register variables.
+
+2003-03-03 Richard Henderson <rth@redhat.com>
+
+ * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
+ * config.in, configure: Rebuild.
+ * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
+ * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
+ paired ldtoffx and ldxmov annotations.
+ (load_symptr_internal1): Remove.
+ (load_symptr_high, load_symptr_low): New.
+ * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
+
+2003-03-03 Jason Merrill <jason@redhat.com>
+
+ * calls.c (compute_argument_addresses): Give the new MEMs a
+ minimum alignment of PARM_BOUNDARY.
+
+2003-03-03 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/install.texi (Specific): Update entry for powerpc-darwin.
+
+2003-03-03 Jan Hubicka <jh@suse.cz>
+ * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
+ optimizing.
+
+2003-02-28 Jan Hubicka <jh@suse.cz>
+
+ * combine.c (gen_lowpart_for_combine): Update handling of subregs_of_mode
+ * flow.c (life_analysis, mark_used_regs): Likewise.
+ * regclass.c (subregs_of_mode): Turn into single bitmap.
+ (cannot_change-mode_set_regs, invalid_mode_change_p): Update
+ dealing with subregs_of_mode
+ * regs.h (subregs_of_mode): Update prototype.
+
+2003-02-28 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Rearrange insn splitting
+ * reg-stack.c (reg_to_stack): Do not split insns.
+
+2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
+ warnings.
+
+2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
+ min/max instructions by default as may result in reload errors.
+
+2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
+ avoid reload problems; define split for it.
+
+2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
+ * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
+ * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
+ rotatert and rotate.
+ ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
+ ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
+ ("*rotrhi3_addr"): New split for shift insns on address register.
+ ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
+ * config/m68hc11/larith.asm (___rotlhi3): New asm function.
+ (___rotrhi3): Likewise.
+ * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
+
+2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
+
+2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
+
+ * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
+ an external cpp during compilation.
+ (option_map): Likewise.
+ * objc/lang-specs.h (default_compilers): Similarly.
+ * doc/invoke.texi: Document -no-integrated-cpp flag.
+
+2003-03-01 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
+ POSIX thread support by default.
+
+2003-03-01 Roger Sayle <roger@eyesopen.com>
+
+ PR bootstrap/7389.
+ * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
+
+2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config/netbsd.h: Update copyright years.
+ (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
+ -pthread is specified on the command line.
+
+2003-02-28 Bob Wilson <bob.wilson@acm.org>
+
+ Backport following patch:
+
+ 2003-02-28 Bob Wilson <bob.wilson@acm.org>
+ * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
+
+2003-02-27 Joel Sherrill <joel@OARcorp.com>
+
+ PR 9638/other
+ * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
+ this constant defaults to 1.
+
+2003-02-28 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Disable the movstrsi define_split.
+
+2003-02-28 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
+ #ifndef __mips16.
+
+2003-02-27 Geert Bosch <bosch@gnat.com>
+
+ * toplev.c (print_version): Add indentation for GGC heuristics and
+ output after printing version information.
+
+2003-02-27 James E Wilson <wilson@tuliptree.org>
+
+ PR bootstrap/9255
+ * combine.c (simplify_comparison): Require integral mode when
+ permuting SUBREG with AND.
+
+2003-02-27 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
+
+2003-02-27 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.md: Add TI constant splitter.
+
+2003-02-26 Jan Hubicka <jh@suse.cz>
+
+ * expr.c (emit_group_store): Fix crash when converting single
+ register into complex register.
+
+2003-02-26 Michael Matz <matz@suse.de>
+
+ * ra-colorize.c (merge_moves): Fix list handling.
+
+2003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
+ is 8 * STACK_BOUNDARY.
+ * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
+
+2003-02-26 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/9681
+ * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
+
+2003-02-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (function_arg): Pass variable sized
+ structures correctly on the stack.
+
+2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR target/9732
+ * config/rs6000/rs6000.c (first_reg_to_save): Handle
+ PIC_OFFSET_TABLE_REGNUM for -fPIC too.
+ (rs6000_emit_prologue): Likewise.
+ (rs6000_emit_epilogue): Likewise.
+ * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
+ PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
+
+2003-02-25 Richard Henderson <rth@redhat.com>
+
+ * real.c (real_to_integer2): Force overflow result only for
+ unsigned overflow.
+
+2003-02-25 Jan Hubicka <jh@suse.cz>
+
+ PR target/8343
+ * m68k.md (umulsidi, mulsidi expanders): Use register operand.
+
+2003-02-24 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * config/c4x/c4x.h (ASM_FILE_START): Added support for the c33
+ processor.
+
+2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
+ ISO C99 and C++.
+
+ * fixinc/inclhack.def (irix___restrict): Don't change __restrict
+ for C++ on IRIX 6.5.1[89].
+ * fixinc/tests/base/internal/sgimacros.h: New file.
+
+ * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
+ * fixinc/tests/base/internal/wchar_core.h: New file.
+
+ * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
+ socklen_t definition.
+ * fixinc/fixincl.x: Regenerate.
+ * fixinc/tests/base/sys/socket.h: New file.
+ Fixes PR libgcj/9652.
+
+2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
+ __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
+ * doc/extend.texi (Tru64 Pragmas): Reflect this.
+
+ * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
+ extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
+ * fixinc/fixincl.x: Regenerate.
+ * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
+ testcase.
+ Fixes PR c/5059, c/6126, other/9671.
+
+2003-02-24 Alan Modra <amodra@bigpond.net.au>
+
+ PR 9297, PR 9722
+ * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
+ 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
+ * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
+ (enum block_op_methods): Reorder for better store_expr optimization.
+ * expr.c (store_expr): Test bit 1 of "want_value" for call param
+ stores, test bit 0 for original want_value meaning. Pass
+ BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
+ recursive calls, and calls to expand_param.
+ (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
+ expected, set target to 0 rather than to subtarget. Formatting.
+
+2003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
+ new default behavior.
+ * ggc-common.c: Include sys/resource.h.
+ (ggc_rlimit_bound): New function.
+ (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
+ defaults to account for rlimits.
+
+2003-02-22 Jan Hubicka <jh@suse.cz>
+
+ * config/linux.h (TARGET_HAS_F_SETLKW): Define.
+ * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
+
+2003-02-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * regmove.c (optimize_reg_copy_1): Do not replace a hard register
+ in an asm.
+
+2003-02-22 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (builtin_description): Add __builtin_ia32_paddq and
+ __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
+ and __builtin_ia32_psubq128.
+ * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
+ * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
+ (mmx_adddi3, mmx_subdi3): New.
+ * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
+ * xmmintrin.h (_mm_movepi64_pi64): New.
+ (_mm_add_epi64, _mm_sub_epi64): fix.
+ (_mm_mul_pu16): Rename to...
+ (_mm_mul_su32): ... this one.
+
+ * i386.c (def_builtin): Special case 64bit builtins.
+ (MASK_SSE164, MASK_SSE264): New constants.
+ (builtin_description): Add 64bit builtins.
+ (ix86_init_mmx_sse_builtins): Likewise.
+ * i386.h (enum ix86_builtins): Likewise.
+ * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
+ sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
+ (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
+ * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
+ * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
+ _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
+ _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
+
+ * builtins.c (expand_builtin_expect): Do not predict
+ flag_guess_branch_prob is not set.
+ * c-semantics.c (expand_stmt): Likewise.
+ * predict.c (predict_insn): Likewise.
+ * stmt.c (expand_continue_loop): Likewise.
+ * toplev.c (rest_of_compilation): Do not call
+ note_prediction_to_br_prob and note_prediction_to_br_prob
+ when not optimizing.
+
+ * basic-block.h (tidy_fallthru_edges): Kill.
+ * cfgrtl.c (tidy_fallthru_edges): Kill.
+ * cfgbuild.c (find_basic_blocks): Do not call tidy_fallthru_edges.
+ * cfgcleanup.c (delete_unreachable_blocks): Likewise.
+
+2003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ PR other/3782
+ * toplev.c (process_options): If flag_detailed_statistics is set,
+ then set time_report as well.
+
+ PR c/8828
+ * jump.c (never_reached_warning): Don't fall through BARRRIER
+ insns. Update comments to reflect what the function really does.
+
+2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
+ documentation.
+ * ggc-common.c: Include params.h
+ (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
+ init_ggc_heuristics): New functions.
+ * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
+ init_ggc_heuristics): Prototype.
+ * toplev.c (print_version): Output GGC heuristics.
+ (parse_options_and_default_flags): Call init_ggc_heuristics.
+
+2003-02-21 Jan Hubicka <jh@suse.cz>
+
+ * cfgrtl.c (commit_edge_insertions): Call
+ find_many_sub_basic_block only when some code has been emitted.
+ (commit_edge_insertions_watch_calls): Bring into sync with
+ commit_edge_insertions
+
+2003-02-21 Zack Weinberg <zack@codesourcery.com>
+
+ * cpphash.h (struct lexer_state): Add directive_wants_padding.
+ * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
+ for directives of type INCL.
+ (glue_header_name, parse_include): Use get_token_no_padding.
+ * cppmacro.c (replace_args): If directive_wants_padding,
+ provide padding tokens.
+
+2003-02-21 Jan Hubicka <jh@suse.cz>
+
+ * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
+ (commit_edge_insertions): Call find_many_sub_basic_blocks
+
+ * reg-stack.c (convert_regs): Cleax aux for blocks.
+
+2003-02-21 Glen Nakamura <glen@imodulo.com>
+
+ PR optimization/8613
+ * builtins.c (expand_builtin): Emit postincrements before expanding
+ builtin functions.
+
+2003-02-21 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/9038
+ * c-opts.c (sanitize_cpp_opts): Add Fortran front end
+ options to be ignored.
+ (c_common_decode_option): Ignore them when preprocessing.
+
+2003-02-21 Ben Elliston <bje@redhat.com>
+
+ PR other/5634
+ * doc/install.texi (Configuration): Explain using $HOME instead of
+ the ~ metacharacter when referring to home directories.
+
+2003-02-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_reload_in_hi): Ensure that the scratch register does
+ not overlap the final result register.
+
+2003-02-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
+ * rtl.c (reg_note_name): Likewise.
+ * rtl.h (enum reg_note): Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/rtl.texi: Likewise.
+
+2003-01-30 Richard Henderson <rth@redhat.com>
+
+ * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
+
+2003-02-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * expr.c (expand_expr): Use gen_int_mode for the argument
+ to gen_rtx_MULT.
+
+2003-02-19 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (cosxf2): Fix conditional.
+
+2003-02-18 Matt Austern <austern@apple.com>
+ * toplev.c, langhooks.c, langhooks-def.h: Move
+ write_global_declarations from toplev.c to langhooks.c.
+
+2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (general_operand_src): Always check
+ MODE.
+ (general_operand_dst): Likewise.
+
+2003-02-18 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (handle_used_attribute): Accept static data too.
+
+2003-02-18 Jim Wilson <wilson@redhat.com>
+
+ * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
+ instruction in output template.
+ (bsp_value): Change output template from string to C code, add %,
+ before actual instruction.
+ (flushrs): Mark as not predicable.
+
+2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
+ insn length.
+ (extendqisi2): Likewise.
+ (*extendhisi2_h8300): Likewise.
+
+2003-02-18 Matt Austern <austern@apple.com>
+
+ * langhooks.h, langhooks-def.h: introduce new langhook,
+ final_write_globals, with write_global_declarations as default.
+ * toplev.c: Move invocation of wrapup_global_declarations from
+ compile_file to new function, write_global_declarations. Change
+ compile_file to use final_write_globals hook. Change
+ wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
+ conditional.
+
+2003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.md: Correct and enhance comment.
+
+2003-02-16 Kai Henningsen <kaih@khms.westfalen.de>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Specific): Fix link for m68k-att-sysv.
+ (Binaries): Ditto for Sinix/Reliant Unix.
+
+2003-02-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
+ * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+ * config/i386/i386.c (function_arg_pass_by_reference): New.
+ (ix86_va_arg): Support arguments passed by reference.
+
+2003-02-16 Arend Bayer <arend.bayer@web.de>
+ Richard Henderson <rth@redhat.com>
+
+ PR c/8068
+ * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
+ rearrange mult arguments for less recursion.
+ (extract_muldiv): New. Prevent runaway recursion.
+
+2003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
+ MASK_ALIGN_DOUBLE.
+
+2003-02-15 Adam Nemet <anemet@lnxw.com>
+
+ PR opt/2391
+ * combine.c: Fix spelling in comment.
+ (cached_nonzero_bits): New function.
+ (cached_num_sign_bit_copies): New function.
+ (nonzero_bits_with_known): New macro.
+ (num_sign_bit_copies_with_known): New macro.
+ (nonzero_bits1): Rename from nonzero_bits. Add three new
+ arguments. Change calls from nonzero_bits to
+ nonzero_bits_with_known.
+ (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
+ three new arguments. Change calls from num_sign_bit_copies to
+ num_sign_bit_copies_with_known.
+ (nonzero_bits): New macro.
+ (num_sign_bit_copies): New macro.
+ (update_table_tick): Don't traverse identical subexpression more
+ than once.
+ (get_last_value_validate): Likewise.
+
+2003-02-15 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR optimization/7702
+ * reload1.c (reload_cse_simplify_set): Honor
+ CANNOT_CHANGE_MODE_CLASS.
+
+2003-02-15 Jan Hubicka <jh@suse.cz>
+
+ PR optimization/9258, PR fortran/7681
+ * global.c (struct allocno): Add no_stack_reg.
+ (global_conflicts): Set it.
+ (find_reg): Use it.
+
+2003-02-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
+ function.
+ * config/mn10300/mn10300-protos.h: Declare it.
+ * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
+ attribute cc of instructions that may use clr.
+
+2003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
+
+ * inclhack.def (hpux_long_double): Tighten select and add bypass
+ regexp.
+ * fixincl.x: Rebuilt.
+
+2003-01-30 Richard Henderson <rth@redhat.com>
+
+ * ggc-page.c (G.context_depth_allocations): New.
+ (G.context_depth_collections): New.
+ (alloc_page): Set G.context_depth_allocations.
+ (ggc_collect): Set G.context_depth_collections.
+ (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
+ (ggc_pop_context): Early exit for no allocations or collections.
+
+2003-01-25 Segher Boessenkool <segher@koffie.nl>
+
+ * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
+ type for bitmaps. Use unsigned long.
+ (nBITMAP_WORD_BITS): New macro.
+ (BITMAP_WORD_BITS): New macro.
+ (rest of file): Use it.
+ * bitmap.c: Use it.
+
+2003-02-13 Josef Zlomek <zlomekj@suse.cz>
+
+ * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
+ edge and block ends with a jump insn it must be simple jump.
+
+2003-02-13 Robert Lipe <robertlipe@usa.net>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Specific): Update three SCO-related URLs.
+
+2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
+
+ * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
+ * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
+
+2003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
+
+2003-02-11 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/9100
+ Backport patch from mainline:
+
+ 2003-01-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9264
+ * c-lex.c (c_lex): Set the token value to error_mark_node for
+ invalid numeric constants.
+
+2003-02-11 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (ahi?v*3): Set third operand type to TImode.
+ * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
+
+ * i386.c (contains_128bit_aligned_vector_p): New function
+ (ix86_function_arg_boundary): Properly align vector modes.
+
+2003-02-11 Bob Wilson <bob.wilson@acm.org>
+
+ Backport following patch:
+
+ 2003-02-11 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
+ * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
+ as a SET pattern.
+
+2003-02-11 Jan Hubicka <jh@suse.cz>
+
+ * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
+ integer mode.
+
+ * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
+ Change code so they are arithmetic expressions now.
+ * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
+ simplify_ternary_operation): Deal with VEC_* expressions.
+
+2003-02-11 Richard Henderson <rth@redhat.com>
+
+ 2003-01-15 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
+ also check that GP is being used.
+ (alpha_find_lo_sum_using_gp): New.
+ (alpha_does_function_need_gp): Use get_attr_usegp.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.md (attr usegp): New. Annotate patterns
+ as needed.
+
+2003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
+ hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
+ * fixincl.x: Rebuilt.
+ * tests/base/stdlib.h: Update.
+ * tests/base/ctype.h: New file.
+
+2003-02-11 Janis Johnson <janis187@us.ibm.com>
+
+ * config/rs6000/ppc64-fp.c: New file.
+ * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
+
+2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR optimization/9651
+ * rtlanal.c (may_trap_p): Handle FIX.
+
+2003-02-11 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (choose_function_section): Choose sections correctly.
+
+2003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * reload1.c (first_label_num): New.
+ (reload): Index offsets_known_at and offsets_at using difference of
+ label number and first label number. Don't use offset pointers.
+ (set_label_offsets, set_initial_label_offsets): Likewise.
+
+2003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+
+ PR c/7741
+ * c-decl.c (duplicate_decls): Discard the initializer of the
+ new decl when the types are conflicting.
+
+2003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+ * doc/install.texi: Squeeze and streamline section on
+ testing and regression checking.
+
+2003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config/t-netbsd (USER_H): Revert previous change.
+
+2003-02-07 Richard Henderson <rth@redhat.com>
+
+ PR 9226
+ * gcse.c (local_cprop_find_used_regs): New.
+ (local_cprop_pass): Use it.
+
+2003-02-07 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (sse2_nandv2di3): Fix.
+
+ * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
+
+2003-02-07 Andrey Petrov <petrov@netbsd.org>
+
+ * optabs.c (expand_float): Search wider integer modes first.
+
+2003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
+ target_cpu_default.
+ * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
+ if not MASK_NO_SPACE_REGS.
+ (output_call): Adjust return pointer, don't load new space register
+ into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
+ (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
+ TARGET_NO_SPACE_REGS is true.
+ * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
+ conditions.
+ (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
+ (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
+ true. Use bve when TARGET_64BIT is true.
+
+2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Richard Henderson <rth@redhat.com>
+
+ PR c/9530
+ * config/i386/i386.h (FUNCTION_OK_FOR_SIBCALL): Forbid sibcalls
+ from functions that return a float to functions that don't.
+
+2003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (find_reloads): Do not use the mode specified in the insn
+ pattern as reload mode for address operands. Do not generate optional
+ reloads for operands where a mandatory reload was already pushed.
+
+2003-02-04 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (movti_rex64): Fix constraint.
+
+2003-02-04 Rodney Brown <rbrown64@csc.com.au>
+
+ * config/i386/i386.c (x86_function_profiler): Fix typo in format.
+
+2003-01-23 Mike Stump <mrs@apple.com>
+
+ * regclass.c (init_reg_autoinc): New function.
+ (regclass): Move initialization of forbidden_inc_dec_class from
+ here...
+ (init_regs): to here. Avoids reinitialization for each function,
+ saving compilation time.
+
+2003-02-04 Phil Edwards <pme@gcc.gnu.org>
+
+ * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
+ for recent libstdc++. Remove formatting cruft.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
+ doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
+ * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
+
+2003-02-03 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
+ coprocessor registers before floating-point registers.
+ * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
+ to account for a previously removed register.
+ (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
+ Delete unused macros.
+
+2003-02-03 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_expand_store_builtin): Always force op1 to register.
+ (mov*_internal): Fix predicates; require one of operands to not be memory.
+ (SSE?MMX move expanders): Fix predicates; force one of operands to register.
+ (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
+ (movups/movupd/movdqu patterns): Force one of operands to not be memory.
+
+2003-02-03 Jan Hubicka <jh@suse.cz>
+
+ * regclass.c (cannot_change_mode_set_regs): Correct argument order.
+
+2003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * mips/_tilib.c: Don't include tsystem.h. Don't define
+ LIBGCC2_WORDS_BIG_ENDIAN.
+
+2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
+
+2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa-protos.h (attr_length_millicode_call): Remove second argument.
+ (attr_length_indirect_call, attr_length_indirect_call,
+ attr_length_save_restore_dltp): New prototypes.
+ * pa.c (attr_length_millicode_call): Remove second argument. Check
+ INSN_ADDRESSES_SET_P in distance calculation.
+ (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
+ INSN_ADDRESSES.
+ (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
+ (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
+ Call attr_length_call directly.
+ (attr_length_indirect_call, output_indirect_call,
+ attr_length_save_restore_dltp): New functions.
+ * pa.md (attr_length_millicode_call): Drop second argument from all
+ patterns.
+ (return_internal_pic): Delete.
+ (return_external_pic): Remove use of PIC register and pic operand and
+ flag checks.
+ (epilogue): Use return_internal for both normal and pic code.
+ (call, call_value): Emit new 32-bit pic patterns for symref and
+ indirect calls. Remove uses for arg pointer and pic register.
+ (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
+ call_reg_pic_post_reload, call_val_symref_pic,
+ call_val_symref_pic_post_reload, call_val_reg_pic,
+ call_val_reg_pic_post_reload): New pre and post reload insn patterns.
+ Implement define_split and define_peephole2 patterns for pre reload
+ patterns.
+ (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
+ call_value_internal_reg_64bit): Shorten names.
+ (all call patterns): Explicitly indicate registers used and clobbered.
+ Use attr_length_indirect_call and attr_length_save_restore_dltp for
+ attribute length calculation. Move code generation for indirect calls
+ to output_indirect_call.
+ (sibcall, sibcall_value): Don't restore PIC register.
+ (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
+ register retore.
+
+2003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Testing): Simplify and compress instructions
+ concerning Dejagnu.
+
+2003-02-01 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2out.c (gen_type_die): Check for typedefs before calling
+ for TYPE_MAIN_VARIANT.
+
+2003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c: Revert 2003-01-31 change.
+
+2003-02-01 Jan Hubicka <jh@suse.cz>
+
+ PR c/9506
+ * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
+
+2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
+ updating of total_code_bytes from prologue to epilogue.
+
+2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * regclass.c (record_reg_classes): Fix incorrect argument
+ to EXTRA_ADDRESS_CONSTRAINT macro.
+
+2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (find_reloads): Do not use the mode specified in the insn
+ pattern as reload mode for address operands. Do not generate optional
+ reloads for operands where a mandatory reload was already pushed.
+ Generate optional reloads only in the final pass though find_reloads.
+ (have_replacement_p): New function.
+
+2003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Testing): Remove a reference to our obsolete
+ /testresults web pages and strip redundant information concerning
+ test results.
+ (Binaries): Refer to Microsoft Windows instead of listing all
+ possible variants.
+
+2003-02-01 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (emit_prefetch_instructions): Do conversion at right place in
+ RTL chain.
+
+ * combine.c (simplify_set): Reverse order of ragumetns to
+ REG_CANNOT_CHANGE_MODE_P
+ * df.c (df_def_record_1): Likewise.
+ * recog.c (register_operand): Likewise.
+ * simplify-rtx.c (simplify_subreg): Likewise.
+ * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
+ CANNOT_CHANGE_MODE_CLASS.
+ * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
+ Likewise.
+ * reload.c (push_reload): Likewise.
+ * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
+ * mips.c (mips_cannot_change_mode_class): Update.
+ * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
+ * sh.c (sh_cannot_change_mode_class): Update.
+ * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
+ * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
+
+2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
+ duplicated code.
+
+2003-01-30 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_compute_initial_elimination_offset): If optimizing for
+ size, the link register is always saved if any other register is
+ saved.
+
+2003-01-30 Jerry Quinn <jlquinn@optonline.net>
+
+ * gcc/doc/invoke.texi (Optimization Options): Group together
+ optional and experimental flags. Move trapv and bounds-check
+ out of this section. Group floating point flags together.
+ (Code Gen Options): Move trapv and bounds-check to here.
+
+2003-01-30 Jerry Quinn <jlquinn@optonline.net>
+
+ * gcc/doc/invoke.texi (Optimization Options): List -O levels
+ for each optimization flag.
+
+2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ PR target/9316
+ * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
+ * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
+ * config/rs6000/t-rtems: New file. multilib variants to match OS.
+ * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
+ rs6000/t-ppcgas so we get the desired multilibs.
+
+2003-01-30 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/fp-bit.h (__make_dp): Declare if TMODES.
+
+2003-01-29 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
+ * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
+
+2003-01-29 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
+ from ia64_aix_select_rtx_section.
+ (ia64_rwreloc_select_section): Simlarly; use default*_1 function
+ instead of saving and restoring flag_pic.
+ (ia64_rwreloc_unique_section): Similarly.
+ * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
+ TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
+ * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
+ TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ PR bootstrap/9296
+ * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
+ depended on it being defined until now.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ PR target/9295
+ * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
+ RTEMS code knows which C++ initialization style the toolset
+ configuration is using.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ PR bootstrap/9293
+ * config/m68k/t-crtstuff: Replace spaces with tabs, add
+ $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ PR bootstrap/9292
+ * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
+ RTEMS threads.
+ * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
+
+2003-01-25 Andrew Haley <aph@redhat.com>
+
+ * tree-inline.c (walk_tree): Add CHAR_TYPE.
+
+2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * doc/install.texi: Add documentation for installation into
+ tooldirs and with DESTDIR.
+
+2003-01-28 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
+ register.
+ * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
+ * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
+ * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
+ * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
+ * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
+ * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
+ * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
+
+2003-01-28 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (movti_string): Remove clobber.
+ * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
+ generate PARALLEL with clobber for TARGET_POWER.
+
+2003-01-28 Richard Henderson <rth@redhat.com>
+
+ * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
+ in no-else-block case. Add commentary.
+
+2003-01-28 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
+ (UNITS_PER_FPVALUE): Defined as the width of a long double, or
+ zero if no hardware floating point.
+ (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
+ (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+ (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
+ (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
+ * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
+ * config/mips/mips.c (override_options): Use it.
+ (mips_arg_info): Pass TFmode values in even FP registers on N32
+ and N64.
+ (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
+ (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
+ (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
+ even-register-like alignment to 128-bit arguments.
+ (save_restore_insns): Use UNITS_PER_HWFPVALUE.
+ (mips_function_value): Likewise. Return TFmode in $f0 and $f2
+ on N32 or N64.
+ * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
+ * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
+ (TPBIT): Set to tp-bit.c.
+ (tp-bit.c): Create out of fp-bit.c.
+
+2003-01-27 Gabriel Dos_Reis <gdosreis@sophia.inria.fr>
+
+ * c-parse.in: Remove '%expect 32' directive when in objc mode.
+
+2003-01-27 Josef Zlomek <zlomekj@suse.cz>
+
+ * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
+
+2003-01-27 Richard Earnshaw <rearnsha@arm.com>
+
+ PR optimization/9090
+ * function.c (purge_addressof_1): After pushing an addressed register
+ onto the stack, simplify the result.
+
+2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/extend.texi: Fix typo.
+
+2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/cppopts.texi: Fix typo.
+ * doc/objc.texi: Likewise.
+ * doc/passes.texi: Likewise.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * real.c (ibm_extended_format): Add 53 to minimum exponent.
+ (encode_ibm_extended): Adjust.
+
+2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/gccint.texi: Update the copyright.
+
+2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/cpp.texi: Fix typos.
+ * doc/extend.texi: Likewise.
+ * doc/gty.texi: Likewise.
+ * doc/install.texi: Likewise.
+ * doc/passes.texi: Likewise.
+ * doc/rtl.texi: Likewise.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
+ (install-cpp, installdirs, install-common)
+ (install-driver, install-info, install-man)
+ (install-headers, install-include-dir, install-headers-tar)
+ (install-headers-cpio, install-headers-cp, install-mkheaders)
+ (install-collect2, uninstall): Prepend $(DESTDIR) to
+ destination paths in all (un)installation commands.
+ (install-driver): Rewrite $(LN) commands to support DESTDIR
+ with "ln" as well as with "ln -s".
+ (installdirs): Simply use mkinstalldirs.
+ (install-libgcc, install-multilib): Also pass DESTDIR.
+ * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
+ installation destination variable ldir.
+ * config/alpha/t-osf4 (SHLIB_INSTALL): Prepend $$(DESTDIR)
+ to $$(slibdir) in the installation commands.
+ * config/arm/t-netbsd (SHLIB_INSTALL): Likewise.
+ * config/ia64/t-hpux (SHLIB_INSTALL): Likewise.
+ * config/mips/t-iris5-6 (SHLIB_INSTALL): Likewise.
+ * config/pa/t-hpux-shlib (SHLIB_INSTALL): Likewise.
+ * config/rs6000/t-aix43 (SHLIB_INSTALL): Likewise.
+ * config/rs6000/t-aix52 (SHLIB_INSTALL): Likewise.
+ * config/t-slibgcc-elf-ver (SHLIB_INSTALL): Likewise.
+ * config/t-slibgcc-sld (SHLIB_INSTALL): Likewise.
+ * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
+ $(libsubdir) in the installation commands.
+
+2003-01-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * fp-bit.h: Define macros for TFmode floating-point constants
+ in IBM-extended TFmode types.
+ (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
+ widths.
+ * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
+ TFmode type.
+
+ * config/fp-bit.h: Define macros for TFmode floating-point
+ constants in IEEE quad TFmode type. Declare functions according
+ to L_ macros.
+ (TMODES): Define if __LDBL_MANT_DIG__ is 113.
+ (TFtype, TItype, UTItype): Define if TMODES is defined.
+ (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
+ (F_T_BITOFF, D_T_BITOFF): Define.
+ (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
+ guaranteed to be wide enough.
+ * config/fp-bit.c: Check for L_ macros for tf functions.
+ (__thenan_tf): New.
+ (nan): Adjust.
+ (pack_d, unpack_d): Support IEEE 854 quad type.
+ (_fpmul_parts): Support TFmode. Compute exponent adjustment
+ from FRAC_NBITS, FRAC_BITS and NGARDS.
+ (usi_to_float): Cast constants to be shifted to fractype
+ instead of assuming long long is wide enough.
+ (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
+
+ * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
+ (DBBIT_FUNCS): Added _df_to_tf.
+ (TPBIT_FUNCS): New.
+ (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
+ (LIBGCC_DEPS): Added TPBIT.
+ * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
+
+ * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
+ been able to move the result to target.
+
+ * expr.c (emit_group_store): Initialize dst with CONST0_RTX
+ for the appropriate mode.
+
+ * calls.c (emit_library_call_value_1): Handle return values
+ in a PARALLEL.
+
+ * rtl.c (get_mode_alignment): Moved to...
+ * stor-layout.c: ... here.
+
+ * print-rtl.c (print_rtx): Don't print MEM details in
+ GENERATOR_FILEs.
+
+2003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * df.c (df_uses_record): Handle CC0.
+
+2003-01-25 Jan Hubicka <jh@suse.cz>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+ PR opt/8492
+ * gcse.c (one_cprop_pass): Delete unreachable blocks.
+
+2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (maybe_memory_address_p): New function.
+ (find_reloads_address): Use it instead of memory_address_p.
+
+2003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * final.c (shorten_branches): Align the address of code label
+ when computing initial lengths and addresses.
+
+2003-01-25 Richard Henderson <rth@redhat.com>
+
+ 2002-02-19 Robert Lipe <robertlipe@usa.net>
+ * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
+
+2003-01-23 Andreas Schwab <schwab@suse.de>
+
+ * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
+ __do_global_ctors_aux hidden global and don't put it in
+ .init_array.
+ * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
+ instead so that it comes first.
+
+2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.h (ASM_SPEC): Fix for new gas format.
+
+2003-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * calls.c (fix_unsafe_tree): Prototype.
+ * loop.c (loop_invariant_p): Avoid signed/unsigned warning.
+
+2003-01-24 Richard Henderson <rth@redhat.com>
+
+ PR optimization/4382
+ * tree-inline.c (find_builtin_longjmp_call_1): New.
+ (find_builtin_longjmp_call): New.
+ (inlinable_function_p): Use it.
+
+2003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
+ * configure: Regenerate.
+
+ * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
+ (tls_symbolic_reference_mentioned_p): Add prototype.
+ (s390_tls_get_offset): Add prototype.
+ (emit_pic_move): Remove prototype, replace by ...
+ (emit_symbolic_move): .. this new prototype.
+
+ * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
+ (tls_model_chars): New global variable.
+ (s390_encode_section_info): Encode TLS model.
+ Use targetm.binds_local_p to check for local symbols.
+ (s390_strip_name_encoding): New function.
+ (TARGET_STRIP_NAME_ENCODING): Define.
+
+ (get_thread_pointer): New function.
+ (legitimize_tls_address): New function.
+ (legitimize_address): Call it.
+ (emit_pic_move): Remove, replace by ...
+ (emit_symbolic_move): ... this new function.
+
+ (larl_operand): Handle TLS operands.
+ (legitimate_constant_p): Likewise.
+ (s390_decompose_address): Likewise.
+ (s390_cannot_force_const_mem): New function.
+ (TARGET_CANNOT_FORCE_CONST_MEM): Define.
+
+ (s390_output_symbolic_const): Handle TLS unspecs.
+ (print_operand): New code 'J'.
+ (machine_function): Add struct member 'some_ld_name'.
+ (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
+
+ (enum s390_builtin): New type.
+ (code_for_builtin_64, code_for_builtin_31): New global variables.
+ (s390_init_builtins, s390_expand_builtin): New functions.
+ (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+
+ * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
+ (ASM_OUTPUT_LABELREF): Define.
+ (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
+
+ * config/s390/s390.md: Define TLS UNSPEC constants.
+ ("movdi", "movsi"): Handle TLS operands.
+ ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
+ ("*tls_load_64", "*tls_load_31"): New insns.
+ ("call_value_tls", "call_value_tls_exp"): New expanders.
+ ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
+ "bas_tls_64", "bas_tls_31"): New insns.
+
+2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/passes.texi: Fix typo.
+2003-02-01 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (emit_prefetch_instructions): Do conversion at right place in
+ RTL chain.
+
+ * combine.c (simplify_set): Reverse order of ragumetns to
+ REG_CANNOT_CHANGE_MODE_P
+ * df.c (df_def_record_1): Likewise.
+ * recog.c (register_operand): Likewise.
+ * simplify-rtx.c (simplify_subreg): Likewise.
+ * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
+ CANNOT_CHANGE_MODE_CLASS.
+ * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
+ Likewise.
+ * reload.c (push_reload): Likewise.
+ * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
+ * mips.c (mips_cannot_change_mode_class): Update.
+ * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
+ * sh.c (sh_cannot_change_mode_class): Update.
+ * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
+ * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
+
+2003-01-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * timevar.def (TV_NAME_LOOKUP, TV_OVERLOAD,
+ TV_TEMPLATE_INSTANTIATION): New timevar_id eumerations.
+ * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
+ * timevar.c (timevar_pop): Be verbose when aborting. Include
+ "toplev.h".
+
+2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/bugreport.texi: Use @command instead of @code for commands.
+ * doc/collect2.texi: Likewise.
+ * doc/headerdirs.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/standards.texi: Likewise.
+ * doc/tm.texi: Likewise.
+ * doc/trouble.texi: Likewise.
+
+2003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR java/6748
+ * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
+ regs->nip. Fix rt_sigreturn frame layout. Add support for newer
+ kernels.
+
+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.
+
+2003-01-20 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.
+
+2003-01-11 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.
+
+2003-01-08 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.
+
+2003-01-08 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.
+
+2002-12-13 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.c (print_operand) <case N>: Check
operand's range. Print value directly, without aid from
@@ -11,7 +4360,7 @@ Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
bclr. Use %U for immediate operands of bset and bclr.
(iorqi3): New expand, with insns for AM33 and mn10300.
-Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-13 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_register_operand): New function.
(prepare_move_operands): Use it.
@@ -88,7 +4437,7 @@ Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
(*addhi_h8300hs): Likewise.
-Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-12 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
(sh_register_move_cost): Add clause for SImode fp-fp moves.
@@ -140,12 +4489,12 @@ Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
name to globalize_label or assemble_name.
-Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-11 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
if not TARGET_SHMEDIA.
-Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-11 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (REG_CLASS_HAS_FP_REG): New.
(REGISTER_MOVE_COST) Use it. Put body into a function and
@@ -156,7 +4505,7 @@ Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_expand_builtin): Abort for unexpected nop values.
(sh_adjust_cost): Always return a value.
-Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-11 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (REG_CLASS_HAS_GENERAL_REG): New.
(REGISTER_MOVE_COST): Use it.
@@ -191,7 +4540,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
@@ -236,7 +4585,7 @@ Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
(TARGET_CANNOT_FORCE_CONST_MEM): New.
(ix86_expand_move): Remove de-const-pooling hack.
-Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-12-09 Jan Hubicka <jh@suse.cz>
* toplev.c (dump_file): Fix order to match reality.
@@ -268,13 +4617,13 @@ 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>
* config.gcc: Added tic4x-* target as an alias to c4x-*
-Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-12-08 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_expand_int_movcc): Use force_operand instead of
constructing insn directly.
@@ -302,16 +4651,16 @@ Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
* gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
(fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
-Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-06 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (dump_table): DImode pool constants need only 32 bit alignment.
DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
-Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-06 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (movdi_i): Name. Remove inappropriate comment.
-Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-06 J"orn Rennecke <joern.rennecke@superh.com>
Merged from basic improvements branch (excerpt):
2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
@@ -413,7 +4762,7 @@ Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
* c-semantics (genrtl_scope_stmt): Do not output inlined
nested functions that contain no code.
-Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-12-04 Jan Hubicka <jh@suse.cz>
* cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
to be forced into nonfallthru.
@@ -424,7 +4773,7 @@ Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
2002-12-03 Aldy Hernandez <aldyh@redhat.com>
- * config/rs6000/spe.md (*movv1di_const0): New pattern.
+ * config/rs6000/spe.md (*movv1di_const0): New pattern.
2002-12-03 Richard Henderson <rth@redhat.com>
@@ -469,11 +4818,11 @@ Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
flex or bison programs not found, instead of invoking "false".
* configure: Rebuilt.
-Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-12-02 Jan Hubicka <jh@suse.cz>
* unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
-Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-12-02 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_expand_int_movcc): Avoid overflow.
@@ -485,7 +4834,7 @@ Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
(h8300_output_function_prologue): Likewise.
(h8300_output_function_epilogue): Likewise.
-Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-12-02 J"orn Rennecke <joern.rennecke@superh.com>
* expmed.c (store_bit_field): Use int_mode_for_mode to find
corresponding mode of non-integer mode, unless it is VOIDmode.
@@ -529,7 +4878,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
@@ -652,7 +5001,7 @@ Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
(END): Exit if no symbols seen.
(output): Fix map syntax error if no globals for the version.
-Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-27 Jan Hubicka <jh@suse.cz>
* builtins.def (DEF_C99_BUILTIN): Fix.
@@ -990,7 +5339,7 @@ Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
(xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
* config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
-Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
+2002-11-21 Jan Hubicka <jH@suse.cz>
* i386-protos.h (x86_64_sign_extended_value): Fix prototype.
* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
@@ -1106,7 +5455,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>
@@ -1179,7 +5528,7 @@ Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
(MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
* doc/invoke.texi (gccoptlist): Describe the new switch -mn.
-Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-19 Jan Hubicka <jh@suse.cz>
* i386.md (length_immediate): Do not refer to insn address.
(jcc*, jmp patterns): Compute length explicitly.
@@ -1270,12 +5619,12 @@ Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
Add a new one in its place, which hopefully works.
(skip_rest_of_line): Change test for bottom-of-context-stack.
-Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-18 Jan Hubicka <jh@suse.cz>
* i386.md (addqi_1_slp): Fix output template.
(subqi_1_slp): Fix type.
-Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-17 Jan Hubicka <jh@suse.cz>
* calls.c (alloca_call_p): New global function.
* tree.h (alloca_call_p): New.
@@ -1377,7 +5726,7 @@ Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
* optabs.c: Fix formatting.
-Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-16 Jan Hubicka <jh@suse.cz>
* athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
* i386.md (attribute type): Add type shift1 and rotate1.
@@ -1402,7 +5751,7 @@ Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
* config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
-Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-15 Jan Hubicka <jh@suse.cz>
* i386-protos.h (x86_function_profiler): New function
* i386.h (MCOUNT_NAME): New.
@@ -1542,7 +5891,7 @@ Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
* doc/contrib.texi: Merge in the list from the libstdc++ web pages.
-Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-11 Jan Hubicka <jh@suse.cz>
* i386.c (construct_container): Fix handling of SSE_CLASS.
@@ -1577,7 +5926,7 @@ Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
__ABICALLS__ if TARGET_ABICALLS.
-Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-10 Jan Hubicka <jh@suse.cz>
* i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
@@ -1654,7 +6003,7 @@ Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
* config/h8300/h8300.md (two anonymous test insns): New.
-Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-08 Jan Hubicka <jh@suse.cz>
* jump.c (mark_jump_label): Handle subregs of label_refs.
@@ -1699,11 +6048,11 @@ Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
* arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
-Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-11-07 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
-Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-07 Jan Hubicka <jh@suse.cz>
* reg-stack.c (compensate_edge): Fix sanity check.
@@ -1981,7 +6330,7 @@ Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
* arm.c (use_return_insn): Don't use a return insn if there are
saved integer regs, but LR is not one of them.
-Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-01 Jan Hubicka <jh@suse.cz>
* expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
* machmode.h (SCALAR_FLOAT_MODE_P): New macro.
@@ -2012,7 +6361,7 @@ Thu Oct 31 Dale Johannesen <dalej@apple.com>
* config/rs6000/darwin.h: Enable -falign-xxx options.
-Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-10-31 Jan Hubicka <jh@suse.cz>
* i386.c (override_options): Set defaults for flag_omit_frame_pointer,
flag_asynchronous_unwind_tables, flag_pcc_struct_return.
@@ -2022,11 +6371,11 @@ Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
(ix86_frame_pointer_required): Frame pointer is always required when
profiling.
-Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-10-31 Jan Hubicka <jh@suse.cz>
* i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
-Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-31 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (binary_logical_operator): Declare.
* sh.c (binary_logical_operator): New function.
@@ -2127,7 +6476,7 @@ Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
* Makefile.in (gnucompare*): Only record bad comparisons
if there really was a bad comparison.
-Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-10-29 Jan Hubicka <jh@suse.cz>
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
* i386.md (movsf*, movdf*): Use 'C' instead of 'H'
@@ -2174,7 +6523,7 @@ Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
* reload1.c (update_eliminables): Unconditionally check if
frame_pointer_needed has changed.
-Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-10-29 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
before final pass.
@@ -2231,7 +6580,7 @@ Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
* reload1.c (reload): Fix a comment typo.
-Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-10-27 Jan Hubicka <jh@suse.cz>
* linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
@@ -2275,7 +6624,7 @@ Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
Fixes gcc.dg/warn-1.c.
* c-typeck.c (warn_for_assignment): Don't print argument number, if zero.
-Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-26 Jan Hubicka <jh@suse.cz>
* toplev.c (dump_file_index): Add DFI_ce3.
(dump_file_info): Likewise.
@@ -2492,7 +6841,7 @@ Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
-Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-23 Jan Hubicka <jh@suse.cz>
PR other/8289
* xmmintrin.h: Add const to the argument of loads.
@@ -2552,7 +6901,7 @@ Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/vax/vax-protos.h: Update.
* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
-Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
+2002-10-23 Jan Hubicka <jh@suse,cz>
* i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
* i386.h (EXTRA_CONSTRAINT): Recognize 'C'
@@ -2568,7 +6917,7 @@ Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
("blockage"): Add length attribute.
("lit"): Likewise.
-Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-22 Jan Hubicka <jh@suse.cz>
* i386.md: FIx typo.
(sse2_cvtsi2sd, sse2_pslrdq): Fix template.
@@ -2592,7 +6941,7 @@ Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/s390/t-linux: Remove.
* config/s390/s390.h: Include fixdfdi.h when building libgcc2.
-Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-22 Jan Hubicka <jh@suse.cz>
* i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
(ix86_expand_builtin): Fix MASKMOVDQU expasion.
@@ -2643,7 +6992,7 @@ Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
using IN_RANGE.
(TINY_CONSTANT_ADDRESS_P): Likewise.
-Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-22 Jan Hubicka <jh@suse.cz>
* i386.c (builtin_description): Add punpcklqdq and movdq2q
(ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
@@ -2886,7 +7235,7 @@ Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
* real.c (do_add): Fix 0+0 sign corner case.
(do_divide): Fix Inf/0 corner case.
-Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-20 Jan Hubicka <jh@suse.cz>
* i386.c (classify_argument): Pass MMX arguments in memory
(ix86_expand_builtin): Expand proper address mode for cflush.
@@ -2910,7 +7259,7 @@ Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
* dependence.c : Removed.
* Makefile.in : Remove dependence.o.
-Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-19 Jan Hubicka <jh@suse.cz>
* mmintrin.h (__m64): typedef it to v2si.
(_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
@@ -3053,7 +7402,7 @@ Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
tramp, not addr, to pass the trampoline address to
__enable_execute_stack.
-Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-17 Jan Hubicka <jh@suse.cz>
* mmintrin.h: Guard by __MMX__
* xmmintrin.h: Guard by __SSE__
@@ -3064,7 +7413,7 @@ Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
(_mm_set*_?d): New functions.
(_mm_store*_?d): New functions.
-Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-16 Jan Hubicka <jh@suse.cz>
Really commit patch announced at Oct 14
PR c/7344
@@ -3145,7 +7494,7 @@ Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
-Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-15 Jan Hubicka <jh@suse.cz>
* expr.c (do_tablejump): Fix typo in my previous commit.
@@ -3196,7 +7545,7 @@ Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
s390.h (s390_pool_overflow): Likewise.
s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
-Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-15 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (movv8qi_i+2): Don't split if source is -1.
@@ -3210,7 +7559,7 @@ Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
* loop.c (loop_regs_scan): Mark registers used for function
argument passing as MAY_NOT_OPTIMIZE.
-Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-14 Jan Hubicka <jh@suse.cz>
* i386.md (movv2di_internal): New pattern.
(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
@@ -3300,7 +7649,7 @@ Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
* stmt.c: Fix typo in comment.
-Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-14 J"orn Rennecke <joern.rennecke@superh.com>
* c-common.c (c_common_type_for_mode): Add V2HImode case.
* tree.c (build_common_tree_nodes_2): Initialize
@@ -3372,7 +7721,7 @@ Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
* tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
ensure value is promoted before doing subtraction.
-Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-11 Jan Hubicka <jh@suse.cz>
* calls.c (expand_call): Simplify noreturn call.
@@ -3385,12 +7734,12 @@ Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
* cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
-Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-11 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
register for mperm_w operation.
-Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-11 J"orn Rennecke <joern.rennecke@superh.com>
* emit-rtl.c (gen_lowpart_common): When asked to make a vector from
an integer, use simplify_gen_subreg.
@@ -3440,13 +7789,13 @@ Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config.gcc (rs6000-ibm-aix5.1.*): New entry.
(rs6000-ibm-aix[56789].*): Default to AIX 5.2.
-Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-10 Jan Hubicka <jh@suse.cz>
PR target/5610
* invoke.texi (-msse-math): Kill
(-msse): Add note to mfpmath=sse.
-Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-10 Jan Hubicka <jh@suse.cz>
PR target/7723
* i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
@@ -3505,7 +7854,7 @@ Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
-Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-09 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (ffssi2): Fix emitted code.
@@ -3587,7 +7936,7 @@ Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/s390/s390.md ("*doloop_si_long"): Add missing operand.
("*doloop_di_long"): Likewise.
-Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-08 Jan Hubicka <jh@suse.cz>
* print-rtl.c (print_rtx): Increase buffer size for real numbers.
@@ -3725,7 +8074,7 @@ Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
* fixinc/fixincl.x: regenerate
* fixinc/tests/base/stdlib.h: accommodate new fix test
-Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-05 Jan Hubicka <jh@suse.cz>
* c-common.c (cb_register_builtins): Use really_no_inline.
@@ -3842,11 +8191,11 @@ Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
on gnu-ld and MASK_GNU_LD.
(SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
-Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-03 Jan Hubicka <jh@suse.cz>
* i386.c (athlon_cost): Fix the move costs.
-Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-03 Jan Hubicka <jh@suse.cz>
* final.c (final): Use symbol name as function name for profiling.
* profile.c (get_exec_counts): Likewise.
@@ -3912,11 +8261,11 @@ Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
(SHLIB_SLIBDIR_SUFFIXES): Remove.
-Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-03 Jan Hubicka <jh@suse.cz>
* predict.c (choose_function_section): Avoid choice for linkonce functions.
-Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-03 Jan Hubicka <jh@suse.cz>
* i386.md (lea to mul peep2): Fix condition.
@@ -3949,7 +8298,7 @@ Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
* tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
here from cp/cp-tree.h.
-Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-02 Jan Hubicka <jh@suse.cz>
* i386.c (print_operand_address): Use RIP addressing for offsetted
label refs too.
@@ -4122,7 +8471,7 @@ Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
* pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
there is a '*' prefix in NAME.
-Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-09-30 Jan Hubicka <jh@suse.cz>
* reload.c (push_reload): Handle subregs and secondary memory.
* reload1.c (gen_reload): Likewise.
@@ -4137,7 +8486,7 @@ Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
(layout_type): Pass it.
* tree.h (finish_record_layout): Update prototype.
-Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-09-30 Jan Hubicka <jh@suse.cz>
* i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
@@ -4676,11 +9025,11 @@ Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
* loop.c: Likewise.
* loop.h: Likewise.
-Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-27 Jan Hubicka <jh@suse.cz>
* i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
-Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-27 Jan Hubicka <jh@suse.cz>
* i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
for -Os/TARGET_64BIT too.
@@ -5180,7 +9529,7 @@ Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/ia64/elf.h: Remove CPP_PREDEFINES.
-Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-17 Nicola Pero <n.pero@mi.flashnet.it>
Fix PR/7014 and related objc bugs:
* c-typeck.c (comp_target_types): Added a reflexive argument.
@@ -5201,7 +9550,7 @@ Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
* rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
-Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-17 Nicola Pero <n.pero@mi.flashnet.it>
* doc/objc.texi (Constant string objects): Extended documentation
to make clear that the constant string class ivar layout is
@@ -6257,7 +10606,7 @@ Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
of protocol qualifiers.
(objc_is_id): New.
-Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
+2002-09-06 Jeffrey A Law (law@redhat.com)
* pentium.md (pentium-firstvboth): Fix typo.
@@ -6271,7 +10620,7 @@ Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
(h8300_init_once): Update shift_alg_{qi,hi,si} to use more
space efficient algorithms when optimize for codesize.
-Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-06 Nicola Pero <n.pero@mi.flashnet.it>
Fix PR/1727 and long-standing failing testcase
objc/formal-protocol-6.m.
@@ -6282,7 +10631,7 @@ Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
(get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
instead of TREE_CHAIN.
-Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-06 Nicola Pero <n.pero@mi.flashnet.it>
* objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10k. Fixed category dumping - print out category names with the
@@ -6381,7 +10730,7 @@ Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
* config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
-fPIC equivalent on Darwin.
-Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-09-05 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_expand_builtin): Return early if encountering an
error_mark for a type.
@@ -6435,7 +10784,7 @@ Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
* varasm.c (struct rtx_const, decode_rtx_const):
Make veclo and vechi fields not share storage.
-Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-09-05 J"orn Rennecke <joern.rennecke@superh.com>
* loop.c (scan_loop): Don't mark separate insns out of a libcall
for moving.
@@ -6520,7 +10869,7 @@ Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
* pa.c (function_arg): Fix handling of modes wider than one word for
TARGET_64BIT.
-Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-09-04 J"orn Rennecke <joern.rennecke@superh.com>
* combine.c (make_compound_operation): Don't generate zero / sign
extensions in floating point modes.
@@ -6590,7 +10939,7 @@ Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
* doc/install-old.texi: Don't mention enquire.
* doc/sourcebuild.texi: Update float.h description.
-Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-09-04 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
@@ -6726,7 +11075,7 @@ Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
(print_operand_address): Likewise.
(print_operand): Likewise.
-Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-03 Nicola Pero <n.pero@mi.flashnet.it>
PR objc/5956:
* objc/objc-act.c (build_typed_selector_reference): Fix typo which
@@ -6809,7 +11158,7 @@ Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
* diagnostic.c (fancy_abort): Don't repeat "internal error".
* toplev.c (crash_signal): Likewise.
-Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-08-30 Nicola Pero <n.pero@mi.flashnet.it>
* doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
* doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
@@ -6996,7 +11345,7 @@ Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
(-Wctor-dtor-privacy): Mention that it is enabled by default.
(-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
-Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-08-28 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
if it is ever live.
@@ -7028,7 +11377,7 @@ Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
(c_common_decode_option): Handle it.
* doc/invoke.texi: Document -Wabi.
-Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-08-27 Nicola Pero <n.pero@mi.flashnet.it>
* c-common.c (warn_undeclared_selector): New variable.
* c-common.h (warn_undeclared_selector): Idem.
@@ -7052,29 +11401,29 @@ Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
* config/v850/v850.md: Add patterns for v850e instructions.
* doc/invoke.texi: Document new v850e command line switches.
-Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-08-27 J"orn Rennecke <joern.rennecke@superh.com>
Aldy Hernandez <aldyh at redhat dot com>
* doc/tm.texi: Applied numerous fixes to the automaton based
scheduler descrition.
-Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-27 Jan Hubicka <jh@suse.cz>
* i386.c (classify_argument): Handle variable sized objects.
-Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-27 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
-Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-27 Jan Hubicka <jh@suse.cz>
* libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
-Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-27 Jan Hubicka <jh@suse.cz>
* i386.c (classify_argument): Properly compute word size of the analyzed object.
-Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-08-27 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
@@ -7135,7 +11484,7 @@ Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
-Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-08-27 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (MAX_FIXED_MODE_SIZE): Define.
@@ -7977,7 +12326,7 @@ Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
* c-opts.c (c_common_init_options): Extra braces needed.
-Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-08-13 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_init_builtins): Add PARAMS to declaration.
(sh_media_init_builtins, sh_expand_builtin): Likewise.
@@ -8057,7 +12406,7 @@ Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
which can change CC0.
-Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-08-13 J"orn Rennecke <joern.rennecke@superh.com>
* gcse.c (adjust_libcall_notes): New function.
(do_local_cprop): Use it. Add fourth parameter. Changed caller.
@@ -8177,7 +12526,7 @@ Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
macro controlling use.
(TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
-Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-12 Jan Hubicka <jh@suse.cz>
* i386.md (tablejump): Sign extend the operand.
* i386.c (classify_argument): Fix missed case from previous patch.
@@ -8305,7 +12654,7 @@ Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
(cpp_handle_option): Similarly. Don't handle filenames.
-Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-11 Jan Hubicka <jh@suse.cz>
* i386.c (classify_argument): Fix computing of field's offsets.
@@ -8338,7 +12687,7 @@ Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
-std=gnu++98.
* objc/lang-specs.h: Remove -ansi.
-Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-08-10 Jan Hubicka <jh@suse.cz>
Graham Stott
* cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
@@ -9312,7 +13661,7 @@ cp:
* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
-Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-30 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (cond_delay_slot): New attribute.
(cbranch delay): Use it for anulled-true case.
@@ -9321,7 +13670,7 @@ Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
delay slot insn.
(gen_far_branch): Emit stuff_delay_slot pattern.
-Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-30 J"orn Rennecke <joern.rennecke@superh.com>
* unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
@@ -9694,7 +14043,7 @@ Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
vectors are split into two registers.
(function_arg): Same.
-Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-26 J"orn Rennecke <joern.rennecke@superh.com>
* pa.md (extv): Check predicates before emitting extv_32.
@@ -9766,7 +14115,7 @@ Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
(output_compiler_stub): Remove unused locals.
(output_call): Always initialize line number.
-Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-25 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
* sh.md (truncdiqi2, movqi_media): Likewise.
@@ -9782,7 +14131,7 @@ Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
HAVE_TARGET_EXECUTABLE_SUFFIX.
-Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-25 J"orn Rennecke <joern.rennecke@superh.com>
* rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
SIZE, EXPR and OFFSET.
@@ -9844,7 +14193,7 @@ Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
(tablejump_mips162): Likewise.
-Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-25 J"orn Rennecke <joern.rennecke@superh.com>
* simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
int_mode_for_mode.
@@ -10066,12 +14415,12 @@ Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
-Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-24 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Dump loops before clobbering
the structure.
-Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-24 Jan Hubicka <jh@suse.cz>
* rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
@@ -10162,7 +14511,7 @@ Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
* doc/tm.texi: Remove documentation.
-Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-23 J"orn Rennecke <joern.rennecke@superh.com>
* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
(constrain_operands): Likewise.
@@ -10254,7 +14603,7 @@ Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
* recog.h (validate_repalce_src_group): New.
(num_changes_pending): Likewise.
-Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-23 J"orn Rennecke <joern.rennecke@superh.com>
* calls.c (emit_library_call_value_1): If
FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
@@ -10329,7 +14678,7 @@ Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
* ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
-Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-22 J"orn Rennecke <joern.rennecke@superh.com>
* rtlanal.c (subreg_regno_offset): Return correct offset for
big endian paradoxical subregs.
@@ -10436,7 +14785,7 @@ Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
* c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
-Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-21 Jan Hubicka <jh@suse.cz>
* gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
do_local_cprop.
@@ -10491,7 +14840,7 @@ Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
these macros.
-Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-21 Jan Hubicka <jh@suse.cz>
* gcse.c: Include cselib.h
(constptop_register): Break out from ...
@@ -10616,7 +14965,7 @@ Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
-Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-18 J"orn Rennecke <joern.rennecke@superh.com>
* sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
(sh_expand_binop_v2sf): Likewise.
@@ -10658,7 +15007,7 @@ Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
* ifcvt.c (noce_get_condition): Make certain that the condition
is valid at JUMP.
-Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-18 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (barrier_align, push): Shut up compiler warnings.
(initial_elimination_offset,sh_media_init_builtins): Likewise.
@@ -10671,7 +15020,7 @@ Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
(STARTFILE_SPEC): Remove hardcoded library paths.
(ENDFILE_SPEC): Likewise.
-Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-18 Jan Hubicka <jh@suse.cz>
* gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
@@ -10712,7 +15061,7 @@ Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
Remove all references to SCCS_DIRECTIVE.
* doc/cpp.texi, doc/tm.texi: Update.
-Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-17 J"orn Rennecke <joern.rennecke@superh.com>
* regrename.c (maybe_mode_change): New function.
(find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
@@ -10737,7 +15086,7 @@ Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
* cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
* cpptrad.c (recursive_macro): Similarly.
-Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-17 J"orn Rennecke <joern.rennecke@superh.com>
* config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
SHmedia code.
@@ -10891,16 +15240,16 @@ Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
(machopic_stub_name): Ditto.
* config/darwin-protos.h: Ditto for the prototypes.
-Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-17 Jan Hubicka <jh@suse.cz>
* m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
-Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-17 Jan Hubicka <jh@suse.cz>
* i386.md (prefetch): Fix for 64bit mode.
(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
-Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-17 Jan Hubicka <jh@suse.cz>
* i386.h (MACHINE_DEPENDENT_REORG): New macro.
* i386.c (x86_machine_dependent_reorg): New function.
@@ -10926,7 +15275,7 @@ Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
argument from all implementations of EXPAND_BUILTIN_VA_START
and all uses of std_expand_builtin_va_start.
-Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-16 J"orn Rennecke <joern.rennecke@superh.com>
* regrename.c (copy_value): Don't record high part copies.
@@ -11003,7 +15352,7 @@ Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
* Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
depend on reload.h, insn-config.h.
-Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-16 J"orn Rennecke <joern.rennecke@superh.com>
* expr.c (emit_move_insn_1): Handle arbitrary moves that are
the same size as a word.
@@ -11011,7 +15360,7 @@ Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
* regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
BYTES_BIG_ENDIAN into account.
-Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-16 Jan Hubicka <jh@suse.cz>
* i386.md (prefetch): Fix for 64bit mode.
(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
@@ -11233,14 +15582,14 @@ Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
* config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
usage on 64-bit hosts, return value was truncated to 32 bits.
-Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-12 J"orn Rennecke <joern.rennecke@superh.com>
* simplify-rtx.c (simplify_subreg): Handle floating point
CONST_DOUBLEs. When an integer subreg of a smaller mode than
the element mode is requested, compute a subreg with an
integer mode of the same size as the element mode first.
-Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-11 J"orn Rennecke <joern.rennecke@superh.com>
* combine.c (try_combine): When converting a paradoxical subreg
to an extension, take LOAD_EXTEND_OP into account.
@@ -11292,7 +15641,7 @@ Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
* c-decl.c (duplicate_decls): Preserve the noreturn attribute on
non-ANSI builtin functions.
-Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-11 J"orn Rennecke <joern.rennecke@superh.com>
* rtl.h (gen_rtx_CONST_VECTOR): Declare.
* gengenrtl.c (special_rtx): Check for CONST_VECTOR.
@@ -11425,12 +15774,12 @@ Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
* doc/invoke.texi (Debugging Options): Mention that -gdwarf is
deprecated.
-Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-10 J"orn Rennecke <joern.rennecke@superh.com>
* combine.c (gen_lowpart_for_combine): Handle vector modes.
Supply non-VOID mode to simplify_gen_subreg.
-Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-07-10 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
@@ -11442,7 +15791,7 @@ Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
* mn10200.c (expand_epilogue): Fix test to determine which scratch
register to use.
-Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-10 J"orn Rennecke <joern.rennecke@superh.com>
* cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
Get mode from dest.
@@ -11499,7 +15848,7 @@ Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
quoting of <> in #include.
* doc/cpp.texi: Update.
-Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
+2002-07-09 Stephen Clarke <stephen.clarke@superh.com>
J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
@@ -11528,7 +15877,7 @@ Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
(movsi_media, movsi_media_nofpu, movdi_media): Use new types.
(movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
-Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-09 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
* sh.c (general_extend_operand, inqhi_operand): New functions.
@@ -11626,7 +15975,7 @@ Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
(toplev_main): ...from here. Pass flag for back end init
suppression.
-Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-07 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
(PREDICATE_CODES): Add entries for equality_comparison_operator,
@@ -11772,12 +16121,12 @@ Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
* ggc.h (ggc_add_root): Document as obsolete.
-Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-04 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
(mshflo_w): Likewise.
-Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-04 J"orn Rennecke <joern.rennecke@superh.com>
* simplify-rtx.c (simplify_subreg): Reduce problem of finding
vector mode subregs of constants to finding integer mode
@@ -11841,7 +16190,7 @@ Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
-Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-03 J"orn Rennecke <joern.rennecke@superh.com>
* optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
than UNITS_PER_WORD, unless this is little endian and the first unit
@@ -11912,7 +16261,7 @@ Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
(lookup_objc_ivar): Test objc_method_context instead of
objc_receiver_context.
-Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-02 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (print_operand, case 'N'): Allow zero vector.
(arith_reg_or_0_operand): Likewise.
@@ -12008,7 +16357,7 @@ Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
* README.Portability (Function prototypes): Document new
variable-argument function macros.
-Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-01 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (langhooks.h): Include.
(sh_init_builtins, sh_media_init_builtins): New functions.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index e1fb947e4ed..99ad987381b 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.
@@ -181,6 +181,7 @@ USER_H = $(srcdir)/ginclude/float.h \
$(srcdir)/ginclude/stdbool.h \
$(srcdir)/ginclude/stddef.h \
$(srcdir)/ginclude/varargs.h \
+ $(srcdir)/unwind.h \
$(EXTRA_HEADERS)
# The GCC to use for compiling libgcc.a and crt*.o.
@@ -254,6 +255,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
@@ -399,7 +401,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
# Additional sources to handle exceptions; overridden on ia64.
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
- $(srcdir)/unwind-sjlj.c
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
# nm flags to list global symbols in libgcc object files.
@@ -569,7 +571,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
@@ -631,6 +634,9 @@ LIBS = $(INTLLIBS) @LIBS@ $(LIBIBERTY)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
+# Libs needed (at present) just for jcf-dump.
+LDEXP_LIB = @LDEXP_LIB@
+
# Likewise, for use in the tools that must run on this machine
# even if we are cross-building GCC.
HOST_LIBS = $(BUILD_LIBIBERTY)
@@ -681,6 +687,7 @@ ORDINARY_FLAGS_TO_PASS = \
"BISON=$(BISON)" \
"BISONFLAGS=$(BISONFLAGS)" \
"CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
+ "DESTDIR=$(DESTDIR)" \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
"LDFLAGS=$(LDFLAGS)" \
"FLEX=$(FLEX)" \
@@ -796,12 +803,17 @@ LIB2FUNCS_ST = _eprintf _bb __gcc_bcmp
FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
_fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
_lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf _make_sf \
- _sf_to_df _thenan_sf _sf_to_usi _usi_to_sf
+ _sf_to_df _sf_to_tf _thenan_sf _sf_to_usi _usi_to_sf
DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \
_fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df \
_lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df \
- _df_to_sf _thenan_df _df_to_usi _usi_to_df
+ _df_to_sf _df_to_tf _thenan_df _df_to_usi _usi_to_df
+
+TPBIT_FUNCS = _pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf \
+ _fpcmp_parts_tf _compare_tf _eq_tf _ne_tf _gt_tf _ge_tf \
+ _lt_tf _le_tf _unord_tf _si_to_tf _tf_to_si _negate_tf _make_tf \
+ _tf_to_df _tf_to_sf _thenan_tf _tf_to_usi _usi_to_tf
# These might cause a divide overflow trap and so are compiled with
# unwinder info.
@@ -1021,6 +1033,8 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext
LIB2_DIVMOD_FUNCS='$(LIB2_DIVMOD_FUNCS)' \
DPBIT='$(DPBIT)' \
DPBIT_FUNCS='$(DPBIT_FUNCS)' \
+ TPBIT='$(TPBIT)' \
+ TPBIT_FUNCS='$(TPBIT_FUNCS)' \
MULTILIBS=`$(GCC_FOR_TARGET) --print-multi-lib` \
EXTRA_MULTILIB_PARTS='$(EXTRA_MULTILIB_PARTS)' \
SHLIB_LINK='$(SHLIB_LINK)' \
@@ -1040,8 +1054,9 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext
LIBGCC_DEPS = $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO) \
libgcc.mk $(srcdir)/libgcc2.c $(TCONFIG_H) \
$(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs \
- tsystem.h $(FPBIT) $(DPBIT) $(LIB2ADD) $(LIB2ADD_ST) $(LIB2ADDEH) \
- $(LIB2ADDEHDEP) $(EXTRA_PARTS) $(srcdir)/config/$(LIB1ASMSRC)
+ tsystem.h $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
+ $(LIB2ADD_ST) $(LIB2ADDEH) $(LIB2ADDEHDEP) $(EXTRA_PARTS) \
+ $(srcdir)/config/$(LIB1ASMSRC)
libgcc.a: $(LIBGCC_DEPS)
$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
@@ -1185,7 +1200,7 @@ $(srcdir)/c-parse.y: c-parse.in
c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) $(C_TREE_H) \
$(GGC_H) $(TARGET_H) flags.h function.h output.h $(EXPR_H) \
debug.h toplev.h intl.h $(TM_P_H) tree-inline.h $(TIMEVAR_H) c-pragma.h \
- gt-c-decl.h
+ gt-c-decl.h libfuncs.h except.h
c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(C_TREE_H) \
$(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H)
c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(C_TREE_H) \
@@ -1232,7 +1247,7 @@ tlink.o: tlink.c $(DEMANGLE_H) $(HASHTAB_H) $(CONFIG_H) $(SYSTEM_H) \
c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(OBSTACK_H) \
$(C_COMMON_H) flags.h toplev.h output.h c-pragma.h $(RTL_H) $(GGC_H) \
$(EXPR_H) $(TM_P_H) builtin-types.def builtin-attrs.def $(TARGET_H) \
- diagnostic.h except.h gt-c-common.h real.h langhooks.h
+ diagnostic.h except.h gt-c-common.h real.h langhooks.h c-tree.h
c-pretty-print.o : c-pretty-print.c c-pretty-print.h pretty-print.h \
$(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) real.h
@@ -1341,7 +1356,7 @@ ggc-simple.o: ggc-simple.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
$(GGC_H) varray.h $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
ggc-page.o: ggc-page.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
- toplev.h $(GGC_H) varray.h $(TIMEVAR_H) $(TM_P_H)
+ toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H)
stringpool.o: stringpool.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(OBSTACK_H) \
flags.h toplev.h $(GGC_H)
@@ -1437,7 +1452,8 @@ builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
except.h $(TM_P_H) $(PREDICT_H) libfuncs.h real.h langhooks.h
calls.o : calls.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
$(EXPR_H) langhooks.h $(TARGET_H) \
- libfuncs.h $(REGS_H) toplev.h output.h function.h $(TIMEVAR_H) $(TM_P_H)
+ libfuncs.h $(REGS_H) toplev.h output.h function.h $(TIMEVAR_H) $(TM_P_H) \
+ except.h
expmed.o : expmed.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) real.h \
toplev.h $(TM_P_H) langhooks.h
@@ -1446,7 +1462,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
@@ -1543,7 +1559,7 @@ cfgbuild.o : cfgbuild.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) flags.h insn-config.h \
function.h except.h $(GGC_H)
cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TIMEVAR_H)\
$(BASIC_BLOCK_H) hard-reg-set.h output.h flags.h $(RECOG_H) toplev.h \
- $(GGC_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H)
+ $(GGC_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H) $(PARAMS_H)
cfgloop.o : cfgloop.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
$(BASIC_BLOCK_H) hard-reg-set.h
dominance.o : dominance.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) hard-reg-set.h \
@@ -2469,7 +2485,7 @@ TEXI_GCC_FILES = $(docdir)/gcc.texi $(docdir)/include/gcc-common.texi \
$(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \
$(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \
$(docdir)/bugreport.texi $(docdir)/service.texi \
- $(docdir)/contribute.texi $(docdir)/vms.texi $(docdir)/compat.texi \
+ $(docdir)/contribute.texi $(docdir)/compat.texi \
$(docdir)/include/funding.texi $(docdir)/gnu.texi \
$(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
$(docdir)/contrib.texi $(docdir)/cppenv.texi $(docdir)/cppopts.texi
@@ -2739,173 +2755,163 @@ install: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
# Handle cpp installation.
install-cpp: cpp$(exeext)
-if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(CPP_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(bindir)/$(CPP_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(CPP_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(bindir)/$(CPP_CROSS_NAME)$(exeext); \
if [ x$(cpp_install_dir) != x ]; then \
- rm -f $(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
else true; fi; \
else \
- rm -f $(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
if [ x$(cpp_install_dir) != x ]; then \
- rm -f $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
else true; fi; \
fi
# Create the installation directories.
+# $(libdir)/gcc-lib/include isn't currently searched by cpp.
installdirs:
- -if [ -d $(prefix) ] ; then true ; else mkdir $(prefix) ; chmod a+rx $(prefix) ; fi
- -if [ -d $(exec_prefix) ] ; then true ; else mkdir $(exec_prefix) ; chmod a+rx $(exec_prefix) ; fi
- -if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; chmod a+rx $(libdir) ; fi
- -if [ -d $(libdir)/gcc-lib ] ; then true ; else mkdir $(libdir)/gcc-lib ; chmod a+rx $(libdir)/gcc-lib ; fi
-# This dir isn't currently searched by cpp.
-# -if [ -d $(libdir)/gcc-lib/include ] ; then true ; else mkdir $(libdir)/gcc-lib/include ; chmod a+rx $(libdir)/gcc-lib/include ; fi
- -fdir= ; for dir in `echo $(libsubdir) | tr '/' ' '`; do \
- fdir=$${fdir}/$${dir}; \
- if [ -d $${fdir} ] ; then true ; else mkdir $${fdir}; chmod a+rx $${fdir}; fi ; \
- done
- -if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; chmod a+rx $(bindir) ; fi
- -if [ -d $(includedir) ] ; then true ; else mkdir $(includedir) ; chmod a+rx $(includedir) ; fi
- -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; chmod a+rx $(infodir) ; fi
- -if [ -d $(slibdir) ] ; then true ; else mkdir $(slibdir) ; chmod a+rx $(slibdir) ; fi
-# We don't use mkdir -p to create the parents of man1dir,
-# because some systems don't support it.
-# Instead, we use this technique to create the immediate parent of man1dir.
- -parent=`echo $(man1dir)|sed -e 's@/[^/]*$$@@'`; \
- if [ -d $$parent ] ; then true ; else mkdir $$parent ; chmod a+rx $$parent ; fi
- -if [ -d $(man1dir) ] ; then true ; else mkdir $(man1dir) ; chmod a+rx $(man1dir) ; fi
- -if [ -d $(man7dir) ] ; then true ; else mkdir $(man7dir) ; chmod a+rx $(man7dir) ; fi
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libsubdir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(bindir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(includedir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(infodir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(slibdir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man1dir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man7dir)
# Install the compiler executables built during cross compilation.
install-common: native $(EXTRA_PARTS) lang.install-common
for file in $(COMPILERS); do \
if [ -f $$file ] ; then \
- rm -f $(libsubdir)/$$file; \
- $(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
+ rm -f $(DESTDIR)$(libsubdir)/$$file; \
+ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(libsubdir)/$$file; \
else true; \
fi; \
done
for file in $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2) ..; do \
if [ x"$$file" != x.. ]; then \
- rm -f $(libsubdir)/$$file; \
- $(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
+ rm -f $(DESTDIR)$(libsubdir)/$$file; \
+ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(libsubdir)/$$file; \
else true; fi; \
done
for file in $(EXTRA_PARTS) ..; do \
if [ x"$$file" != x.. ]; then \
- rm -f $(libsubdir)/$$file; \
- $(INSTALL_DATA) $$file $(libsubdir)/$$file; \
- chmod a-x $(libsubdir)/$$file; \
+ rm -f $(DESTDIR)$(libsubdir)/$$file; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(libsubdir)/$$file; \
+ chmod a-x $(DESTDIR)$(libsubdir)/$$file; \
else true; fi; \
done
# Don't mess with specs if it doesn't exist yet.
-if [ -f specs ] ; then \
- rm -f $(libsubdir)/specs; \
- $(INSTALL_DATA) specs $(libsubdir)/specs; \
- chmod a-x $(libsubdir)/specs; \
+ rm -f $(DESTDIR)$(libsubdir)/specs; \
+ $(INSTALL_DATA) specs $(DESTDIR)$(libsubdir)/specs; \
+ chmod a-x $(DESTDIR)$(libsubdir)/specs; \
fi
# Install protoize if it was compiled.
-if [ -f protoize$(exeext) ]; \
then \
if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(PROTOIZE_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) protoize$(exeext) $(bindir)/$(PROTOIZE_CROSS_NAME)$(exeext); \
- rm -f $(bindir)/$(UNPROTOIZE_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) unprotoize$(exeext) $(bindir)/$(UNPROTOIZE_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(PROTOIZE_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) protoize$(exeext) $(DESTDIR)$(bindir)/$(PROTOIZE_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(UNPROTOIZE_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) unprotoize$(exeext) $(DESTDIR)$(bindir)/$(UNPROTOIZE_CROSS_NAME)$(exeext); \
else \
- rm -f $(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) protoize$(exeext) $(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
- rm -f $(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) unprotoize$(exeext) $(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) protoize$(exeext) $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) unprotoize$(exeext) $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
fi ; \
- rm -f $(libsubdir)/SYSCALLS.c.X; \
- $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
- chmod a-x $(libsubdir)/SYSCALLS.c.X; \
+ rm -f $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
+ $(INSTALL_DATA) SYSCALLS.c.X $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
+ chmod a-x $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
fi
# Install gcov if it was compiled.
-if [ -f gcov$(exeext) ]; \
then \
- rm -f $(bindir)/gcov$(exeext); \
- $(INSTALL_PROGRAM) gcov$(exeext) $(bindir)/$(GCOV_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/gcov$(exeext); \
+ $(INSTALL_PROGRAM) gcov$(exeext) $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext); \
fi
- $(INSTALL_SCRIPT) gccbug $(bindir)/$(GCCBUG_INSTALL_NAME)
+ $(INSTALL_SCRIPT) gccbug $(DESTDIR)$(bindir)/$(GCCBUG_INSTALL_NAME)
# Install the driver program as $(target_alias)-gcc,
# $(target-alias)-gcc-$(version)
# and also as either gcc (if native) or $(gcc_tooldir)/bin/gcc.
install-driver: installdirs xgcc$(exeext)
-if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) gcc-cross$(exeext) $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
- rm -f $(bindir)/$(target_alias)-gcc-$(version); \
- $(LN) $(bindir)/$(GCC_CROSS_NAME)$(exeext) $(bindir)/$(target_alias)-gcc-$(version) ; \
- if [ -d $(gcc_tooldir)/bin/. ] ; then \
- rm -f $(gcc_tooldir)/bin/gcc$(exeext); \
- $(INSTALL_PROGRAM) gcc-cross$(exeext) $(gcc_tooldir)/bin/gcc$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(GCC_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) gcc-cross$(exeext) $(DESTDIR)$(bindir)/$(GCC_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(target_alias)-gcc-$(version); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(GCC_CROSS_NAME)$(exeext) $(target_alias)-gcc-$(version) ); \
+ if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
+ $(INSTALL_PROGRAM) gcc-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
else true; fi; \
else \
- rm -f $(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) xgcc$(exeext) $(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
- rm -f $(bindir)/$(target_alias)-gcc-$(version); \
- $(LN) $(bindir)/$(GCC_INSTALL_NAME)$(exeext) $(bindir)/$(target_alias)-gcc-$(version) ; \
- rm -f $(bindir)/$(target_alias)-gcc-tmp$(exeext); \
- $(LN) $(bindir)/$(GCC_INSTALL_NAME)$(exeext) $(bindir)/$(target_alias)-gcc-tmp$(exeext); \
- mv $(bindir)/$(target_alias)-gcc-tmp$(exeext) $(bindir)/$(GCC_TARGET_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(target_alias)-gcc-$(version); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_alias)-gcc-$(version) ); \
+ rm -f $(DESTDIR)$(bindir)/$(target_alias)-gcc-tmp$(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_alias)-gcc-tmp$(exeext) && \
+ mv -f $(target_alias)-gcc-tmp$(exeext) $(GCC_TARGET_INSTALL_NAME)$(exeext) ); \
fi
# Install the info files.
# $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
# to do the install.
install-info: doc installdirs lang.install-info
- -rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
- -rm -f $(infodir)/cppinternals.info* $(infodir)/gccint.info*
+ -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
+ -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
if [ -f $(docdir)/gcc.info ]; then \
for f in $(docdir)/cpp.info* $(docdir)/gcc.info* \
$(docdir)/cppinternals.info* $(docdir)/gccint.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
- $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
done; \
else true; fi
-if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- if [ -f $(infodir)/dir ] ; then \
+ if [ -f $(DESTDIR)$(infodir)/dir ] ; then \
for f in cpp.info gcc.info gccint.info cppinternals.info; do \
- if [ -f $(infodir)/$$f ]; then \
- install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
+ if [ -f $(DESTDIR)$(infodir)/$$f ]; then \
+ install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/$$f; \
else true; fi; \
done; \
else true; fi; \
else true; fi;
- -chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
- -chmod a-x $(infodir)/cppinternals.info* $(infodir)/gccint.info*
+ -chmod a-x $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
+ -chmod a-x $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
# Install the man pages.
install-man: installdirs $(GENERATED_MANPAGES) lang.install-man
-if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
- $(INSTALL_DATA) $(docdir)/gcc.1 $(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(docdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
else \
- rm -f $(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
- $(INSTALL_DATA) $(docdir)/gcc.1 $(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(docdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
fi
- -rm -f $(man1dir)/cpp$(man1ext)
- -$(INSTALL_DATA) $(docdir)/cpp.1 $(man1dir)/cpp$(man1ext)
- -chmod a-x $(man1dir)/cpp$(man1ext)
- -rm -f $(man1dir)/gcov$(man1ext)
- -$(INSTALL_DATA) $(docdir)/gcov.1 $(man1dir)/gcov$(man1ext)
- -chmod a-x $(man1dir)/gcov$(man1ext)
- -rm -f $(man7dir)/fsf-funding$(man7ext)
- -$(INSTALL_DATA) $(docdir)/fsf-funding.7 $(man7dir)/fsf-funding$(man7ext)
- -chmod a-x $(man7dir)/fsf-funding$(man7ext)
- -rm -f $(man7dir)/gfdl$(man7ext)
- -$(INSTALL_DATA) $(docdir)/gfdl.7 $(man7dir)/gfdl$(man7ext)
- -chmod a-x $(man7dir)/gfdl$(man7ext)
- -rm -f $(man7dir)/gpl$(man7ext)
- -$(INSTALL_DATA) $(docdir)/gpl.7 $(man7dir)/gpl$(man7ext)
- -chmod a-x $(man7dir)/gpl$(man7ext)
+ -rm -f $(DESTDIR)$(man1dir)/cpp$(man1ext)
+ -$(INSTALL_DATA) $(docdir)/cpp.1 $(DESTDIR)$(man1dir)/cpp$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/cpp$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/gcov$(man1ext)
+ -$(INSTALL_DATA) $(docdir)/gcov.1 $(DESTDIR)$(man1dir)/gcov$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/gcov$(man1ext)
+ -rm -f $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
+ -$(INSTALL_DATA) $(docdir)/fsf-funding.7 $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
+ -chmod a-x $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
+ -rm -f $(DESTDIR)$(man7dir)/gfdl$(man7ext)
+ -$(INSTALL_DATA) $(docdir)/gfdl.7 $(DESTDIR)$(man7dir)/gfdl$(man7ext)
+ -chmod a-x $(DESTDIR)$(man7dir)/gfdl$(man7ext)
+ -rm -f $(DESTDIR)$(man7dir)/gpl$(man7ext)
+ -$(INSTALL_DATA) $(docdir)/gpl.7 $(DESTDIR)$(man7dir)/gpl$(man7ext)
+ -chmod a-x $(DESTDIR)$(man7dir)/gpl$(man7ext)
# Install the library.
install-libgcc: libgcc.mk libgcc.a installdirs
@@ -2929,6 +2935,7 @@ install-libgcc: libgcc.mk libgcc.a installdirs
MAKEOVERRIDES= \
INSTALL_DATA="$(INSTALL_DATA)" \
RANLIB_FOR_TARGET="$$r_f_t" \
+ DESTDIR="$(DESTDIR)" \
libsubdir="$(libsubdir)" \
slibdir="$(slibdir)" \
-f libgcc.mk install
@@ -2955,6 +2962,7 @@ install-multilib: stmp-multilib installdirs
MAKEOVERRIDES= \
INSTALL_DATA="$(INSTALL_DATA)" \
RANLIB_FOR_TARGET="$$r_f_t" \
+ DESTDIR="$(DESTDIR)" \
libsubdir="$(libsubdir)" \
slibdir="$(slibdir)" \
-f libgcc.mk install
@@ -2964,23 +2972,23 @@ install-headers: $(INSTALL_HEADERS_DIR)
# Fix symlinks to absolute paths in the installed include directory to
# point to the installed directory, not the build directory.
# Don't need to use LN_S here since we really do need ln -s and no substitutes.
- -files=`cd $(libsubdir)/include; find . -type l -print 2>/dev/null`; \
+ -files=`cd $(DESTDIR)$(libsubdir)/include; find . -type l -print 2>/dev/null`; \
if [ $$? -eq 0 ]; then \
dir=`cd include; ${PWD}`; \
for i in $$files; do \
- dest=`ls -ld $(libsubdir)/include/$$i | sed -n 's/.*-> //p'`; \
+ dest=`ls -ld $(DESTDIR)$(libsubdir)/include/$$i | sed -n 's/.*-> //p'`; \
if expr "$$dest" : "$$dir.*" > /dev/null; then \
- rm -f $(libsubdir)/include/$$i; \
- ln -s `echo $$i | sed "s|/[^/]*|/..|g" | sed 's|/..$$||'``echo "$$dest" | sed "s|$$dir||"` $(libsubdir)/include/$$i; \
+ rm -f $(DESTDIR)$(libsubdir)/include/$$i; \
+ ln -s `echo $$i | sed "s|/[^/]*|/..|g" | sed 's|/..$$||'``echo "$$dest" | sed "s|$$dir||"` $(DESTDIR)$(libsubdir)/include/$$i; \
fi; \
done; \
fi
# Create or recreate the gcc private include file directory.
install-include-dir: installdirs
- -rm -rf $(libsubdir)/include
- mkdir $(libsubdir)/include
- -chmod a+rx $(libsubdir)/include
+ -rm -rf $(DESTDIR)$(libsubdir)/include
+ mkdir $(DESTDIR)$(libsubdir)/include
+ -chmod a+rx $(DESTDIR)$(libsubdir)/include
# Install the include directory using tar.
install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
@@ -2989,7 +2997,7 @@ install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
# found in CDPATH, corrupting the output. We could just redirect the
# output of `cd', but some shells lose on redirection within `()'s
(cd `${PWD}`/include ; \
- tar -cf - .; exit 0) | (cd $(libsubdir)/include; tar xpf - )
+ tar -cf - .; exit 0) | (cd $(DESTDIR)$(libsubdir)/include; tar xpf - )
# /bin/sh on some systems returns the status of the first tar,
# and that can lose with GNU tar which always writes a full block.
# So use `exit 0' to ignore its exit status.
@@ -2998,78 +3006,78 @@ install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
install-headers-cpio: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
# See discussion about the use of `pwd` above
cd `${PWD}`/include ; \
- find . -print | cpio -pdum $(libsubdir)/include
+ find . -print | cpio -pdum $(DESTDIR)$(libsubdir)/include
# Install the include directory using cp.
install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
- cp -p -r include $(libsubdir)
+ cp -p -r include $(DESTDIR)$(libsubdir)
itoolsdir = $(libsubdir)/install-tools
# Don't install the headers. Instead, install appropriate scripts
# and supporting files for fixincludes to be run later.
install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
mkheaders xlimits.h
- -rm -rf $(itoolsdir)
- $(SHELL) $(srcdir)/mkinstalldirs $(itoolsdir)/include
+ -rm -rf $(DESTDIR)$(itoolsdir)
+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdir)/include
for file in $(USER_H); do \
realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
$(INSTALL_DATA) $$file \
- $(itoolsdir)/include/$$realfile ; \
+ $(DESTDIR)$(itoolsdir)/include/$$realfile ; \
done
- $(INSTALL_DATA) xlimits.h $(itoolsdir)/include/limits.h
+ $(INSTALL_DATA) xlimits.h $(DESTDIR)$(itoolsdir)/include/limits.h
if [ x$(STMP_FIXINC) != x ] ; then \
$(INSTALL_DATA) $(srcdir)/README-fixinc \
- $(itoolsdir)/include/README ; \
- $(INSTALL_PROGRAM) fixinc.sh $(itoolsdir)/fixinc.sh ; \
- $(INSTALL_PROGRAM) fixinc/fixincl $(itoolsdir)/fixincl ; \
- $(INSTALL_DATA) $(srcdir)/gsyslimits.h $(itoolsdir)/gsyslimits.h ; \
+ $(DESTDIR)$(itoolsdir)/include/README ; \
+ $(INSTALL_PROGRAM) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh ; \
+ $(INSTALL_PROGRAM) fixinc/fixincl $(DESTDIR)$(itoolsdir)/fixincl ; \
+ $(INSTALL_DATA) $(srcdir)/gsyslimits.h $(DESTDIR)$(itoolsdir)/gsyslimits.h ; \
else :; fi
if [ x$(STMP_FIXPROTO) != x ] ; then \
$(INSTALL_PROGRAM) $(srcdir)/mkinstalldirs \
- $(itoolsdir)/mkinstalldirs ; \
- $(INSTALL_PROGRAM) $(srcdir)/fixproto $(itoolsdir)/fixproto ; \
+ $(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
+ $(INSTALL_PROGRAM) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
$(INSTALL_PROGRAM) fix-header$(build_exeext) \
- $(itoolsdir)/fix-header$(build_exeext) ; \
+ $(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
else :; fi
- $(INSTALL_PROGRAM) mkheaders $(itoolsdir)/mkheaders
+ $(INSTALL_PROGRAM) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders
echo 'SYSTEM_HEADER_DIR="$(SYSTEM_HEADER_DIR)"' \
- > $(itoolsdir)/mkheaders.conf
+ > $(DESTDIR)$(itoolsdir)/mkheaders.conf
echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
- >> $(itoolsdir)/mkheaders.conf
+ >> $(DESTDIR)$(itoolsdir)/mkheaders.conf
echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
- >> $(itoolsdir)/mkheaders.conf
- echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' >> $(itoolsdir)/mkheaders.conf
- echo 'STMP_FIXINC="$(STMP_FIXINC)"' >> $(itoolsdir)/mkheaders.conf
+ >> $(DESTDIR)$(itoolsdir)/mkheaders.conf
+ echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' >> $(DESTDIR)$(itoolsdir)/mkheaders.conf
+ echo 'STMP_FIXINC="$(STMP_FIXINC)"' >> $(DESTDIR)$(itoolsdir)/mkheaders.conf
# Use this target to install the program `collect2' under the name `collect2'.
install-collect2: collect2 installdirs
- $(INSTALL_PROGRAM) collect2$(exeext) $(libsubdir)/collect2$(exeext)
+ $(INSTALL_PROGRAM) collect2$(exeext) $(DESTDIR)$(libsubdir)/collect2$(exeext)
# Install the driver program as $(libsubdir)/gcc for collect2.
- $(INSTALL_PROGRAM) xgcc$(exeext) $(libsubdir)/gcc$(exeext)
+ $(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(libsubdir)/gcc$(exeext)
# Cancel installation by deleting the installed files.
uninstall: intl.uninstall lang.uninstall
- -rm -rf $(libsubdir)
- -rm -rf $(bindir)/$(GCC_INSTALL_NAME)$(exeext)
- -rm -rf $(bindir)/$(GCC_CROSS_NAME)$(exeext)
- -rm -f $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
- -rm -f $(bindir)/$(CPP_CROSS_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(libsubdir)
+ -rm -rf $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(GCC_CROSS_NAME)$(exeext)
+ -rm -f $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
+ -rm -f $(DESTDIR)$(bindir)/$(CPP_CROSS_NAME)$(exeext)
-if [ x$(cpp_install_dir) != x ]; then \
- rm -f $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
- rm -f $(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
else true; fi
- -rm -rf $(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext)
- -rm -rf $(bindir)/$(PROTOIZE_CROSS_NAME)$(exeext)
- -rm -rf $(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext)
- -rm -rf $(bindir)/$(UNPROTOIZE_CROSS_NAME)$(exeext)
- -rm -rf $(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
- -rm -rf $(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
- -rm -rf $(man1dir)/$(GCC_CROSS_NAME)$(man1ext)
- -rm -rf $(man1dir)/cpp$(man1ext)
- -rm -rf $(man1dir)/protoize$(man1ext)
- -rm -rf $(man1dir)/unprotoize$(man1ext)
- -rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
- -rm -f $(infodir)/cppinternals.info* $(infodir)/gccint.info*
+ -rm -rf $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(PROTOIZE_CROSS_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(UNPROTOIZE_CROSS_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/protoize$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/unprotoize$(man1ext)
+ -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
+ -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
#
# These targets are for the dejagnu testsuites. The file site.exp
# contains global variables that all the testsuites will use.
diff --git a/gcc/ONEWS b/gcc/ONEWS
index 4d4b54b65c1..f4b358102ee 100644
--- a/gcc/ONEWS
+++ b/gcc/ONEWS
@@ -1,112 +1,28 @@
This file contains information about GCC releases up to GCC 2.8.1, and
-some information about EGCS releases. For more details of changes in
-EGCS releases, and details of changes in GCC 2.95 and more recent
-releases, see the release notes on the GCC web site and the file NEWS
-which contains the most relevant parts of those release notes in text
-form.
+a tiny bit of information on EGCS.
-Noteworthy changes in GCC for EGCS 1.1.
----------------------------------------
-
-The compiler now implements global common subexpression elimination (gcse) as
-well as global constant/copy propagation. (link to gcse page).
-
-More major improvements have been made to the alias analysis code. A new
-option to allow front-ends to provide alias information to the optimizers
-has also been added (-fstrict-aliasing). -fstrict-aliasing is off by default
-now, but will be enabled by default in the future. (link to alias page)
-
-Major changes continue in the exception handling support. This release
-includes some changes to reduce static overhead for exception handling. It
-also includes some major changes to the setjmp/longjmp based EH mechanism to
-make it less pessimistic. And finally, major infrastructure improvements
-to the dwarf2 EH mechanism have been made to make our EH support extensible.
-
-We have fixed the infamous security problems with temporary files.
-
-The "regmove" optimization pass has been nearly completely rewritten. It now
-uses much more information about the target to determine profitability of
-transformations.
+For details of changes in EGCS releases and GCC 2.95 and later releases,
+see the release notes on the GCC web site or the file NEWS which contains
+the most relevant parts of those release notes in text form.
-The compiler now recomputes register usage information immediately before
-register allocation. Previously such information was only not kept up to
-date after instruction combination which led to poor register allocation
-choices by our priority based register allocator.
-
-The register reloading phase of the compiler has been improved to better
-optimize spill code. This primarily helps targets which generate lots of
-spills (like the x86 ports and many register poor embedded ports).
-
-A few changes in the heuristics used by the register allocator and scheduler
-have been made which can significantly improve performance for certain
-applications.
-
-The compiler's branch shortening algorithms have been significantly improved
-to work better on targets which align jump targets.
+Changes in GCC for EGCS (that are not listed in the web release notes)
+---------------------------------------------------------------------
The compiler now supports the "ADDRESSOF" optimization which can significantly
reduce the overhead for certain inline calls (and inline calls in general).
-The compiler now supports a code size optimization switch (-Os). When enabled
-the compiler will prefer optimizations which improve code size over those
-which improve code speed.
-
-The compiler has been improved to completely eliminate library calls which
-compute constant values. This is particularly useful on machines which
-do not have integer mul/div or floating point support on-chip.
-
-GCC now supports a "--help" option to print detailed help information.
-
-cpplib has been greatly improved. It is probably usable for some sites now
-(major missing feature is trigraphs).
-
-Memory footprint for the compiler has been significantly reduced for certain
-pathalogical cases.
-
-Build time improvements for targets which support lots of sched parameters
-(alpha and mips primarily).
-
Compile time for certain programs using large constant initializers has been
improved (affects glibc significantly).
-Plus an incredible number of infrastructure changes, warning fixes, bugfixes
-and local optimizations.
-
Various improvements have been made to better support cross compilations. They
are still not easy, but they are improving.
-Target specific NEWS
-
- Sparc: Now includes V8 plus and V9 support, lots of tuning for Ultrasparcs
- and uses the Haifa scheduler by default.
-
- Alpha: EV6 tuned, optimized expansion of memcpy/bzero.
-
- x86: Data in the static store is aligned per Intel recommendations. Jump
- targets are aligned per Intel recommendations. Improved epilogue
- sequences for Pentium chips. Backend improvements which should help
- register allocation on all x86 variants. Support for PPro conditional
- move instructions has been fixed and enabled. Random changes
- throughout the port to make generated code more Pentium friendly.
- Improved support for 64bit integer operations.
- Unixware 7, a System V Release 5 target is now supported.
- SCO OpenServer targets can support GAS. See gcc/INSTALL for details.
-
- RS6000/PowerPC: Includes AIX4.3 support as well as PowerPC64 support.
- Haifa instruction scheduling is enabled by default now.
-
- MIPS: Multiply/Multiply-Add support has been largely rewritten to generate
- more efficient code. Includes mips16 support.
-
- M68K: Various micro-optimizations and Coldfire fixes.
+Target-specific changes:
M32r: Major improvements to this port.
Arm: Includes Thumb and super interworking support.
-EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
-
-
Noteworthy changes in GCC version 2.8.1
---------------------------------------
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/5iosinte.ads b/gcc/ada/5iosinte.ads
index ea5e6a9928f..e5bb265a46e 100644
--- a/gcc/ada/5iosinte.ads
+++ b/gcc/ada/5iosinte.ads
@@ -444,11 +444,8 @@ package System.OS_Interface is
private
- type sigset_t is array (0 .. 31) of unsigned_long;
+ type sigset_t is array (0 .. 127) of unsigned_char;
pragma Convention (C, sigset_t);
- for sigset_t'Size use 1024;
- -- This is for GNU libc version 2 but should be backward compatible with
- -- other libc where sigset_t is smaller.
type pid_t is new int;
@@ -477,7 +474,7 @@ private
stackaddr : System.Address;
stacksize : size_t;
end record;
- pragma Convention (C_Pass_By_Copy, pthread_attr_t);
+ pragma Convention (C, pthread_attr_t);
type pthread_condattr_t is record
dummy : int;
@@ -491,24 +488,28 @@ private
type pthread_t is new unsigned_long;
- type struct_pthread_queue is record
- head : System.Address;
- tail : System.Address;
+ type struct_pthread_fast_lock is record
+ status : long;
+ spinlock : int;
end record;
- pragma Convention (C, struct_pthread_queue);
+ pragma Convention (C, struct_pthread_fast_lock);
type pthread_mutex_t is record
- m_spinlock : int;
+ m_reserved : int;
m_count : int;
m_owner : System.Address;
m_kind : int;
- m_waiting : struct_pthread_queue;
+ m_lock : struct_pthread_fast_lock;
end record;
pragma Convention (C, pthread_mutex_t);
+ type pthread_cond_padding_t is array (0 .. 35) of unsigned_char;
+ pragma Convention (C, pthread_cond_padding_t);
+
type pthread_cond_t is record
- c_spinlock : int;
- c_waiting : struct_pthread_queue;
+ c_lock : struct_pthread_fast_lock;
+ c_waiting : System.Address;
+ c_padding : pthread_cond_padding_t;
end record;
pragma Convention (C, pthread_cond_t);
diff --git a/gcc/ada/5rosinte.ads b/gcc/ada/5rosinte.ads
index e15c01e82d4..3442fa13c44 100644
--- a/gcc/ada/5rosinte.ads
+++ b/gcc/ada/5rosinte.ads
@@ -106,6 +106,7 @@ package System.OS_Interface is
SIGTERM : constant := 15; -- software termination signal from kill
SIGUSR1 : constant := 16; -- user defined signal 1
SIGUSR2 : constant := 17; -- user defined signal 2
+ SIGXCPU : constant := 0; -- XCPU
SIGADAABORT : constant := SIGABRT;
diff --git a/gcc/ada/5rtpopsp.adb b/gcc/ada/5rtpopsp.adb
new file mode 100644
index 00000000000..a1f15975793
--- /dev/null
+++ b/gcc/ada/5rtpopsp.adb
@@ -0,0 +1,266 @@
+------------------------------------------------------------------------------
+-- --
+-- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS --
+-- --
+-- S Y S T E M . T A S K _ P R I M I T I V E S . O P E R A T I O N S . --
+-- S P E C I F I C --
+-- --
+-- B o d y --
+-- --
+-- $Revision: 1.7 $
+-- --
+-- Copyright (C) 1991-1999, Florida State University --
+-- --
+-- GNARL is free software; you can redistribute it and/or modify it under --
+-- terms of the GNU General Public License as published by the Free Soft- --
+-- ware Foundation; either version 2, or (at your option) any later ver- --
+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
+-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
+-- MA 02111-1307, USA. --
+-- --
+-- As a special exception, if other files instantiate generics from this --
+-- unit, or you link this unit with other files to produce an executable, --
+-- this unit does not by itself cause the resulting executable to be --
+-- covered by the GNU General Public License. This exception does not --
+-- however invalidate any other reasons why the executable file might be --
+-- covered by the GNU Public License. --
+-- --
+-- GNARL was developed by the GNARL team at Florida State University. It is --
+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
+-- State University (http://www.gnat.com). --
+-- --
+------------------------------------------------------------------------------
+
+-- This is a POSIX version of this package where foreign threads are
+-- recognized.
+-- Currently, DEC Unix, SCO UnixWare 7 and RTEMS use this version.
+
+with System.Soft_Links;
+-- used to initialize TSD for a C thread, in function Self
+
+separate (System.Task_Primitives.Operations)
+package body Specific is
+
+ ------------------
+ -- Local Data --
+ ------------------
+
+ -- The followings are logically constants, but need to be initialized
+ -- at run time.
+
+ -- The following gives the Ada run-time direct access to a variable
+ -- context switched by RTEMS at the lowest level.
+
+ RTEMS_Ada_Self : System.Address;
+ pragma Import (C, RTEMS_Ada_Self, "rtems_ada_self");
+
+ -- The following are used to allow the Self function to
+ -- automatically generate ATCB's for C threads that happen to call
+ -- Ada procedure, which in turn happen to call the Ada runtime system.
+
+ type Fake_ATCB;
+ type Fake_ATCB_Ptr is access Fake_ATCB;
+ type Fake_ATCB is record
+ Stack_Base : Interfaces.C.unsigned := 0;
+ -- A value of zero indicates the node is not in use.
+ Next : Fake_ATCB_Ptr;
+ Real_ATCB : aliased Ada_Task_Control_Block (0);
+ end record;
+
+ Fake_ATCB_List : Fake_ATCB_Ptr;
+ -- A linear linked list.
+ -- The list is protected by All_Tasks_L;
+ -- Nodes are added to this list from the front.
+ -- Once a node is added to this list, it is never removed.
+
+ Fake_Task_Elaborated : aliased Boolean := True;
+ -- Used to identified fake tasks (i.e., non-Ada Threads).
+
+ Next_Fake_ATCB : Fake_ATCB_Ptr;
+ -- Used to allocate one Fake_ATCB in advance. See comment in New_Fake_ATCB
+
+ -----------------------
+ -- Local Subprograms --
+ -----------------------
+
+ ---------------------------------
+ -- Support for New_Fake_ATCB --
+ ---------------------------------
+
+ function New_Fake_ATCB return Task_ID;
+ -- Allocate and Initialize a new ATCB. This code can safely be called from
+ -- a foreign thread, as it doesn't access implicitely or explicitely
+ -- "self" before having initialized the new ATCB.
+
+ -------------------
+ -- New_Fake_ATCB --
+ -------------------
+
+ function New_Fake_ATCB return Task_ID is
+ Self_ID : Task_ID;
+ P, Q : Fake_ATCB_Ptr;
+ Succeeded : Boolean;
+
+ begin
+ -- This section is ticklish.
+ -- We dare not call anything that might require an ATCB, until
+ -- we have the new ATCB in place.
+
+ Write_Lock (All_Tasks_L'Access);
+ Q := null;
+ P := Fake_ATCB_List;
+
+ while P /= null loop
+ if P.Stack_Base = 0 then
+ Q := P;
+ end if;
+
+ P := P.Next;
+ end loop;
+
+ if Q = null then
+
+ -- Create a new ATCB with zero entries.
+
+ Self_ID := Next_Fake_ATCB.Real_ATCB'Access;
+ Next_Fake_ATCB.Stack_Base := 1;
+ Next_Fake_ATCB.Next := Fake_ATCB_List;
+ Fake_ATCB_List := Next_Fake_ATCB;
+ Next_Fake_ATCB := null;
+
+ else
+ -- Reuse an existing fake ATCB.
+
+ Self_ID := Q.Real_ATCB'Access;
+ Q.Stack_Base := 1;
+ end if;
+
+ -- Record this as the Task_ID for the current thread.
+
+ Self_ID.Common.LL.Thread := pthread_self;
+
+ RTEMS_Ada_Self := To_Address (Self_ID);
+
+ -- Do the standard initializations
+
+ System.Tasking.Initialize_ATCB
+ (Self_ID, null, Null_Address, Null_Task, Fake_Task_Elaborated'Access,
+ System.Priority'First, Task_Info.Unspecified_Task_Info, 0, Self_ID,
+ Succeeded);
+ pragma Assert (Succeeded);
+
+ -- Finally, it is safe to use an allocator in this thread.
+
+ if Next_Fake_ATCB = null then
+ Next_Fake_ATCB := new Fake_ATCB;
+ end if;
+
+ Self_ID.Common.State := Runnable;
+ Self_ID.Awake_Count := 1;
+
+ -- Since this is not an ordinary Ada task, we will start out undeferred
+
+ Self_ID.Deferral_Level := 0;
+
+ System.Soft_Links.Create_TSD (Self_ID.Common.Compiler_Data);
+
+ -- ????
+ -- The following call is commented out to avoid dependence on
+ -- the System.Tasking.Initialization package.
+ -- It seems that if we want Ada.Task_Attributes to work correctly
+ -- for C threads we will need to raise the visibility of this soft
+ -- link to System.Soft_Links.
+ -- We are putting that off until this new functionality is otherwise
+ -- stable.
+ -- System.Tasking.Initialization.Initialize_Attributes_Link.all (T);
+
+ for J in Known_Tasks'Range loop
+ if Known_Tasks (J) = null then
+ Known_Tasks (J) := Self_ID;
+ Self_ID.Known_Tasks_Index := J;
+ exit;
+ end if;
+ end loop;
+
+ -- Must not unlock until Next_ATCB is again allocated.
+
+ Unlock (All_Tasks_L'Access);
+ return Self_ID;
+ end New_Fake_ATCB;
+
+ ----------------
+ -- Initialize --
+ ----------------
+
+ procedure Initialize (Environment_Task : Task_ID) is
+
+ begin
+ RTEMS_Ada_Self := To_Address (Environment_Task);
+
+ -- Create a free ATCB for use on the Fake_ATCB_List.
+
+ Next_Fake_ATCB := new Fake_ATCB;
+ end Initialize;
+
+ ---------
+ -- Set --
+ ---------
+
+ procedure Set (Self_Id : Task_ID) is
+
+ begin
+ RTEMS_Ada_Self := To_Address (Self_Id);
+ end Set;
+
+ ----------
+ -- Self --
+ ----------
+
+ -- To make Ada tasks and C threads interoperate better, we have
+ -- added some functionality to Self. Suppose a C main program
+ -- (with threads) calls an Ada procedure and the Ada procedure
+ -- calls the tasking runtime system. Eventually, a call will be
+ -- made to self. Since the call is not coming from an Ada task,
+ -- there will be no corresponding ATCB.
+
+ -- (The entire Ada run-time system may not have been elaborated,
+ -- either, but that is a different problem, that we will need to
+ -- solve another way.)
+
+ -- What we do in Self is to catch references that do not come
+ -- from recognized Ada tasks, and create an ATCB for the calling
+ -- thread.
+
+ -- The new ATCB will be "detached" from the normal Ada task
+ -- master hierarchy, much like the existing implicitly created
+ -- signal-server tasks.
+
+ -- We will also use such points to poll for disappearance of the
+ -- threads associated with any implicit ATCBs that we created
+ -- earlier, and take the opportunity to recover them.
+
+ -- A nasty problem here is the limitations of the compilation
+ -- order dependency, and in particular the GNARL/GNULLI layering.
+ -- To initialize an ATCB we need to assume System.Tasking has
+ -- been elaborated.
+
+ function Self return Task_ID is
+ Result : System.Address;
+
+ begin
+ Result := RTEMS_Ada_Self;
+
+ -- If the key value is Null, then it is a non-Ada task.
+
+ if Result = System.Null_Address then
+ return New_Fake_ATCB;
+ end if;
+
+ return To_Task_ID (Result);
+ end Self;
+
+end Specific;
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index e5d0586de54..6c8783fcc57 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,118 @@
+2003-05-22 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6399
+ * gnat_rm.texi : Remove reference to Ada Core Technologies.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-04-30 Laurent Guerby <guerby@acm.org>
+
+ PR ada/10546
+ * 5iosinte.ads: Increase pthread_cond_t size to match recent
+ LinuxThread and NPTL version.
+
+2003-03-31 Geert Bosch <bosch@gnat.com>
+
+ PR ada/10020
+ * link.c : Fix misspelled "const" keyword
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * utils2.c: Adjust calls to put_var_into_stack.
+
+2003-03-05 Olivier Hainque <hainque@gnat.com>
+
+ PR ada/9961
+ * raise.c : (__gnat_Unwind_RaiseException): Add prototype to avoid
+ warning, and fix return type for the IN_RTS && !SJLJ case.
+
+2003-03-04 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/9911
+ * a-except.adb (Unwind_RaiseException): Import a GNAT specific
+ wrapper, which name remains constant whatever underlying GCC
+ scheme.
+
+ * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
+ the stable interface needed for a-except.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-01-29 Laurent Guerby <guerby@acm.org>
+
+ PR ada/8344
+ * final.c: rename to adafinal.c to avoid file name conflicts with
+ gcc file.
+ * Makefile.in: match previous change.
+ * Make-lang.in: match previous change.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ * 5rosinte.ads: Add SIGXCPU.
+ * 5rtpopsp.adb: New file.
+ * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
+ * Makefile.in: Recognize more RTEMS targets and add the RTEMS
+ specific file 5rtpopsp.adb.
+ * adaint.h: Add include of <stdio.h> when target is RTEMS. This
+ is likely needed for all newlib targets.
+ * init.c: Add RTEMS specific version of __gnat_initialize().
+
+2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
+ be created if necessary.
+ (ada.install-common): Let $(DESTDIR)$(bindir) be created
+ if necessary. Remove erroneous and redundant gnatchop
+ installation commands. Test for gnatdll before attempting
+ to install it.
+ (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
+ and gnatdll from all plausible locations.
+ (cross-gnattools, ada.install-common): Use initial tab
+ instead of spaces in continuation lines.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info, ada.install-common)
+ (ada.uninstall): Prepend $(DESTDIR) to the destination
+ directory in all (un)installation commands.
+ * Makefile.in (install-gnatlib, install-rts): Ditto.
+
+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..f2867d8492c 100644
--- a/gcc/ada/Make-lang.in
+++ b/gcc/ada/Make-lang.in
@@ -170,7 +170,7 @@ GNATBIND_OBJS = \
ada/s-stoele.o ada/s-imgenu.o ada/s-strops.o ada/s-soflin.o ada/s-wchcon.o \
ada/s-wchjis.o ada/sdefault.o ada/switch.o ada/switch-b.o ada/stylesw.o \
ada/validsw.o ada/system.o ada/table.o ada/tree_io.o ada/types.o \
- ada/widechar.o ada/raise.o ada/exit.o ada/argv.o ada/init.o ada/final.o \
+ ada/widechar.o ada/raise.o ada/exit.o ada/argv.o ada/init.o ada/adafinal.o \
ada/s-wchcnv.o ada/s-exctab.o ada/a-except.o ada/s-memory.o ada/s-traceb.o \
ada/tracebak.o ada/s-mastop.o ada/s-except.o ada/s-secsta.o ada/atree.o \
ada/scans.o ada/einfo.o ada/sinfo.o ada/scn.o ada/sinput.o ada/sinput-l.o \
@@ -230,11 +230,11 @@ cross-gnattools: force
$(MAKE) -C ada $(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS)\
ADA_INCLUDES="-I$(RTS_DIR)adainclude -I$(RTS_DIR)adalib" \
GNATMAKE="gnatmake" \
- GNATBIND="gnatbind" \
- GNATLINK="gnatlink" \
- LIBGNAT="" \
+ GNATBIND="gnatbind" \
+ GNATLINK="gnatlink" \
+ LIBGNAT="" \
gnattools1-re gnattools2
-
+
rts-none: force
$(MAKE) -C ada $(FLAGS_TO_PASS) GNATMAKE=../gnatmake rts-none
@@ -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 \
@@ -394,53 +394,54 @@ ada.info: $(srcdir)/ada/gnat_ug_vms.info $(srcdir)/ada/gnat_ug_wnt.info \
$(srcdir)/ada/gnat_rm.info $(srcdir)/ada/gnat-style.info
ada.install-info:
- -rm -f $(infodir)/gnat_ug_*.info*
- -rm -f $(infodir)/gnat_rm.info*
- -rm -f $(infodir)/gnat-style.info*
+ -rm -f $(DESTDIR)$(infodir)/gnat_ug_*.info*
+ -rm -f $(DESTDIR)$(infodir)/gnat_rm.info*
+ -rm -f $(DESTDIR)$(infodir)/gnat-style.info*
+ $(MKDIR) $(DESTDIR)$(infodir)
if [ -f $(srcdir)/ada/gnat_ug_unx.info ]; then \
for f in $(srcdir)/ada/gnat_ug_*.info* \
$(srcdir)/ada/gnat_rm.info* \
$(srcdir)/ada/gnat-style.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
- $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
done; \
else true; fi
-if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- if [ -f $(infodir)/dir ] ; then \
+ if [ -f $(DESTDIR)$(infodir)/dir ] ; then \
for f in gnat_ug_vms.info gnat_ug_wnt.info gnat_ug_unx.info \
gnat_ug_vxw.info gnat_rm.info gnat-style.info; do \
- if [ -f $(infodir)/$$f ]; then \
- install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
+ if [ -f $(DESTDIR)$(infodir)/$$f ]; then \
+ install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/$$f; \
else true; fi; \
done; \
else true; fi; \
else true; fi;
- -chmod a-x $(infodir)/gnat_ug_vms.info* $(infodir)/gnat_ug_wnt.info*
- -chmod a-x $(infodir)/gnat_ug_unx.info* $(infodir)/gnat_ug_vxw.info*
- -chmod a-x $(infodir)/gnat_rm.info* $(infodir)/gnat-style.info*
+ -chmod a-x $(DESTDIR)$(infodir)/gnat_ug_vms.info* $(DESTDIR)$(infodir)/gnat_ug_wnt.info*
+ -chmod a-x $(DESTDIR)$(infodir)/gnat_ug_unx.info* $(DESTDIR)$(infodir)/gnat_ug_vxw.info*
+ -chmod a-x $(DESTDIR)$(infodir)/gnat_rm.info* $(DESTDIR)$(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
@@ -465,222 +466,201 @@ ada.install-normal:
# likewise for gnatf, gnatchop, and gnatlink, gnatkr, gnatmake, gnat,
# gnatprep, gnatbl, gnatls, gnatxref, gnatfind
ada.install-common:
+ $(MKDIR) $(DESTDIR)$(bindir)
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatbind-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatbind$(exeext); \
- $(INSTALL_PROGRAM) gnatbind-cross$(exeext) $(bindir)/$(target_alias)-gnatbind$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatbind$(exeext); \
- $(INSTALL_PROGRAM) gnatbind-cross$(exeext) $(tooldir)/bin/gnatbind$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatbind$(exeext); \
+ $(INSTALL_PROGRAM) gnatbind-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatbind$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatbind$(exeext); \
+ $(INSTALL_PROGRAM) gnatbind-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatbind$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatbind$(exeext); \
- $(INSTALL_PROGRAM) gnatbind$(exeext) $(bindir)/gnatbind$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatbind$(exeext); \
+ $(INSTALL_PROGRAM) gnatbind$(exeext) $(DESTDIR)$(bindir)/gnatbind$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatbl-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatbl$(exeext); \
- $(INSTALL_PROGRAM) gnatbl-cross$(exeext) $(bindir)/$(target_alias)-gnatbl$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatbl$(exeext); \
- $(INSTALL_PROGRAM) gnatbl-cross$(exeext) $(tooldir)/bin/gnatbl$(exeext); \
- fi; \
- else \
- $(RM) $(bindir)/gnatbl$(exeext); \
- $(INSTALL_PROGRAM) gnatbl$(exeext) $(bindir)/gnatbl$(exeext); \
- fi ; \
- fi
- -if [ -f gnat1$(exeext) ] ; \
- then \
- if [ -f gnatchop-cross$(shext) ] ; \
- then \
- $(RM) $(bindir)/$(target_alias)-gnatchop$(shext); \
- $(INSTALL_PROGRAM) $(srcdir)/ada/gnatchop$(shext) $(bindir)/$(target_alias)-gnatchop$(shext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatchop$(shext); \
- $(INSTALL_PROGRAM) gnatchop$(shext) $(tooldir)/bin/gnatchop$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatbl$(exeext); \
+ $(INSTALL_PROGRAM) gnatbl-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatbl$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatbl$(exeext); \
+ $(INSTALL_PROGRAM) gnatbl-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatbl$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatchop$(shext); \
- $(INSTALL_PROGRAM) $(srcdir)/ada/gnatchop$(shext) $(bindir)/gnatchop$(shext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatbl$(exeext); \
+ $(INSTALL_PROGRAM) gnatbl$(exeext) $(DESTDIR)$(bindir)/gnatbl$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatchop-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatchop$(exeext); \
- $(INSTALL_PROGRAM) gnatchop-cross$(exeext) $(bindir)/$(target_alias)-gnatchop$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatchop$(exeext); \
- $(INSTALL_PROGRAM) gnatchop-cross$(exeext) $(tooldir)/bin/gnatchop$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatchop$(exeext); \
+ $(INSTALL_PROGRAM) gnatchop-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatchop$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatchop$(exeext); \
+ $(INSTALL_PROGRAM) gnatchop-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatchop$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatchop$(exeext); \
- $(INSTALL_PROGRAM) gnatchop$(exeext) $(bindir)/gnatchop$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatchop$(exeext); \
+ $(INSTALL_PROGRAM) gnatchop$(exeext) $(DESTDIR)$(bindir)/gnatchop$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnat-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnat$(exeext); \
- $(INSTALL_PROGRAM) gnat-cross$(exeext) $(bindir)/$(target_alias)-gnat$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnat$(exeext); \
- $(INSTALL_PROGRAM) gnat-cross$(exeext) $(tooldir)/bin/gnat$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnat$(exeext); \
+ $(INSTALL_PROGRAM) gnat-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnat$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnat$(exeext); \
+ $(INSTALL_PROGRAM) gnat-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnat$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnat$(exeext); \
- $(INSTALL_PROGRAM) gnat$(exeext) $(bindir)/gnat$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnat$(exeext); \
+ $(INSTALL_PROGRAM) gnat$(exeext) $(DESTDIR)$(bindir)/gnat$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatkr-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatkr$(exeext); \
- $(INSTALL_PROGRAM) gnatkr-cross$(exeext) $(bindir)/$(target_alias)-gnatkr$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatkr$(exeext); \
- $(INSTALL_PROGRAM) gnatkr-cross$(exeext) $(tooldir)/bin/gnatkr$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatkr$(exeext); \
+ $(INSTALL_PROGRAM) gnatkr-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatkr$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatkr$(exeext); \
+ $(INSTALL_PROGRAM) gnatkr-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatkr$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatkr$(exeext); \
- $(INSTALL_PROGRAM) gnatkr$(exeext) $(bindir)/gnatkr$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatkr$(exeext); \
+ $(INSTALL_PROGRAM) gnatkr$(exeext) $(DESTDIR)$(bindir)/gnatkr$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatlink-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatlink$(exeext); \
- $(INSTALL_PROGRAM) gnatlink-cross$(exeext) $(bindir)/$(target_alias)-gnatlink$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatlink$(exeext); \
- $(INSTALL_PROGRAM) gnatlink-cross$(exeext) $(tooldir)/bin/gnatlink$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatlink$(exeext); \
+ $(INSTALL_PROGRAM) gnatlink-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatlink$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatlink$(exeext); \
+ $(INSTALL_PROGRAM) gnatlink-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatlink$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatlink$(exeext); \
- $(INSTALL_PROGRAM) gnatlink$(exeext) $(bindir)/gnatlink$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatlink$(exeext); \
+ $(INSTALL_PROGRAM) gnatlink$(exeext) $(DESTDIR)$(bindir)/gnatlink$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatls-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatls$(exeext); \
- $(INSTALL_PROGRAM) gnatls-cross$(exeext) $(bindir)/$(target_alias)-gnatls$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatls$(exeext); \
- $(INSTALL_PROGRAM) gnatls-cross$(exeext) $(tooldir)/bin/gnatls$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatls$(exeext); \
+ $(INSTALL_PROGRAM) gnatls-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatls$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatls$(exeext); \
+ $(INSTALL_PROGRAM) gnatls-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatls$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatls$(exeext); \
- $(INSTALL_PROGRAM) gnatls$(exeext) $(bindir)/gnatls$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatls$(exeext); \
+ $(INSTALL_PROGRAM) gnatls$(exeext) $(DESTDIR)$(bindir)/gnatls$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatmake-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatmake$(exeext); \
- $(INSTALL_PROGRAM) gnatmake-cross$(exeext) $(bindir)/$(target_alias)-gnatmake$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatmake$(exeext); \
- $(INSTALL_PROGRAM) gnatmake-cross$(exeext) $(tooldir)/bin/gnatmake$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatmake$(exeext); \
+ $(INSTALL_PROGRAM) gnatmake-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatmake$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatmake$(exeext); \
+ $(INSTALL_PROGRAM) gnatmake-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatmake$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatmake$(exeext); \
- $(INSTALL_PROGRAM) gnatmake$(exeext) $(bindir)/gnatmake$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatmake$(exeext); \
+ $(INSTALL_PROGRAM) gnatmake$(exeext) $(DESTDIR)$(bindir)/gnatmake$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatmem-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatmem$(exeext); \
- $(INSTALL_PROGRAM) gnatmem-cross$(exeext) $(bindir)/$(target_alias)-gnatmem$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatmem$(exeext); \
+ $(INSTALL_PROGRAM) gnatmem-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatmem$(exeext); \
else \
- $(RM) $(bindir)/gnatmem$(exeext); \
- $(INSTALL_PROGRAM) gnatmem$(exeext) $(bindir)/gnatmem$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatmem$(exeext); \
+ $(INSTALL_PROGRAM) gnatmem$(exeext) $(DESTDIR)$(bindir)/gnatmem$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatname-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatname$(exeext); \
- $(INSTALL_PROGRAM) gnatname-cross$(exeext) $(bindir)/$(target_alias)-gnatname$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatname$(exeext); \
+ $(INSTALL_PROGRAM) gnatname-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatname$(exeext); \
else \
- $(RM) $(bindir)/gnatname$(exeext); \
- $(INSTALL_PROGRAM) gnatname$(exeext) $(bindir)/gnatname$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatname$(exeext); \
+ $(INSTALL_PROGRAM) gnatname$(exeext) $(DESTDIR)$(bindir)/gnatname$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatprep-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatprep$(exeext); \
- $(INSTALL_PROGRAM) gnatprep-cross$(exeext) $(bindir)/$(target_alias)-gnatprep$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatprep$(exeext); \
- $(INSTALL_PROGRAM) gnatprep-cross$(exeext) $(tooldir)/bin/gnatprep$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatprep$(exeext); \
+ $(INSTALL_PROGRAM) gnatprep-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatprep$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatprep$(exeext); \
+ $(INSTALL_PROGRAM) gnatprep-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatprep$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatprep$(exeext); \
- $(INSTALL_PROGRAM) gnatprep$(exeext) $(bindir)/gnatprep$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatprep$(exeext); \
+ $(INSTALL_PROGRAM) gnatprep$(exeext) $(DESTDIR)$(bindir)/gnatprep$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatpsta-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatpsta$(exeext); \
- $(INSTALL_PROGRAM) gnatpsta-cross$(exeext) $(bindir)/$(target_alias)-gnatpsta$(exeext); \
- if [ -d $(tooldir)/bin/. ] ; then \
- rm -f $(tooldir)/bin/gnatpsta$(exeext); \
- $(INSTALL_PROGRAM) gnatpsta-cross$(exeext) $(tooldir)/bin/gnatpsta$(exeext); \
- fi; \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatpsta$(exeext); \
+ $(INSTALL_PROGRAM) gnatpsta-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatpsta$(exeext); \
+ if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/gnatpsta$(exeext); \
+ $(INSTALL_PROGRAM) gnatpsta-cross$(exeext) $(DESTDIR)$(tooldir)/bin/gnatpsta$(exeext); \
+ fi; \
else \
- $(RM) $(bindir)/gnatpsta$(exeext); \
- $(INSTALL_PROGRAM) gnatpsta$(exeext) $(bindir)/gnatpsta$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatpsta$(exeext); \
+ $(INSTALL_PROGRAM) gnatpsta$(exeext) $(DESTDIR)$(bindir)/gnatpsta$(exeext); \
fi ; \
fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatxref-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatxref$(exeext); \
- $(INSTALL_PROGRAM) gnatxref-cross$(exeext) $(bindir)/$(target_alias)-gnatxref$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatxref$(exeext); \
+ $(INSTALL_PROGRAM) gnatxref-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatxref$(exeext); \
else \
- $(RM) $(bindir)/gnatxref$(exeext); \
- $(INSTALL_PROGRAM) gnatxref$(exeext) $(bindir)/gnatxref$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatxref$(exeext); \
+ $(INSTALL_PROGRAM) gnatxref$(exeext) $(DESTDIR)$(bindir)/gnatxref$(exeext); \
fi ; \
- fi
+ fi
-if [ -f gnat1$(exeext) ] ; \
then \
if [ -f gnatfind-cross$(exeext) ] ; \
then \
- $(RM) $(bindir)/$(target_alias)-gnatfind$(exeext); \
- $(INSTALL_PROGRAM) gnatfind-cross$(exeext) $(bindir)/$(target_alias)-gnatfind$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatfind$(exeext); \
+ $(INSTALL_PROGRAM) gnatfind-cross$(exeext) $(DESTDIR)$(bindir)/$(target_alias)-gnatfind$(exeext); \
else \
- $(RM) $(bindir)/gnatfind$(exeext); \
- $(INSTALL_PROGRAM) gnatfind$(exeext) $(bindir)/gnatfind$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatfind$(exeext); \
+ $(INSTALL_PROGRAM) gnatfind$(exeext) $(DESTDIR)$(bindir)/gnatfind$(exeext); \
fi ; \
fi
- -if [ -f gnat1$(exeext) ] ; \
- then \
- if [ -f gnatchop$(exeext) ] ; \
- then \
- $(RM) $(bindir)/gnatchop$(exeext); \
- $(INSTALL_PROGRAM) gnatchop$(exeext) $(bindir)/gnatchop$(exeext); \
- fi ; \
#
# Gnatlbr is only used on VMS.
#
@@ -688,8 +668,8 @@ ada.install-common:
then \
if [ -f gnatlbr$(exeext) ] ; \
then \
- $(RM) $(bindir)/gnatlbr$(exeext); \
- $(INSTALL_PROGRAM) gnatlbr$(exeext) $(bindir)/gnatlbr$(exeext); \
+ $(RM) $(DESTDIR)$(bindir)/gnatlbr$(exeext); \
+ $(INSTALL_PROGRAM) gnatlbr$(exeext) $(DESTDIR)$(bindir)/gnatlbr$(exeext); \
fi ; \
fi
#
@@ -697,8 +677,11 @@ ada.install-common:
#
-if [ -f gnat1$(exeext) ] ; \
then \
- $(RM) $(bindir)/gnatdll$(exeext); \
- $(INSTALL_PROGRAM) gnatdll$(exeext) $(bindir)/gnatdll$(exeext); \
+ if [ -f gnatdll$(exeext) ] ; \
+ then \
+ $(RM) $(DESTDIR)$(bindir)/gnatdll$(exeext); \
+ $(INSTALL_PROGRAM) gnatdll$(exeext) $(DESTDIR)$(bindir)/gnatdll$(exeext); \
+ fi ; \
fi
#
# Finally, install the library
@@ -715,46 +698,54 @@ ada.install-info:
ada.install-man:
ada.uninstall:
- -$(RM) $(bindir)/gnatbind$(exeext)
- -$(RM) $(bindir)/gnatbl$(exeext)
- -$(RM) $(bindir)/gnatchop$(exeext)
- -$(RM) $(bindir)/gnat$(exeext)
- -$(RM) $(bindir)/gnatdll$(exeext)
- -$(RM) $(bindir)/gnatkr$(exeext)
- -$(RM) $(bindir)/gnatlink$(exeext)
- -$(RM) $(bindir)/gnatls$(exeext)
- -$(RM) $(bindir)/gnatmake$(exeext)
- -$(RM) $(bindir)/gnatmem$(exeext)
- -$(RM) $(bindir)/gnatname$(exeext)
- -$(RM) $(bindir)/gnatprep$(exeext)
- -$(RM) $(bindir)/gnatpsta$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatbind$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatbl$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatchop$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnat$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatkr(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatlink$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatls$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatmake$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatmem$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatname$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatprep$(exeext)
- -$(RM) $(bindir)/$(target_alias)-gnatpsta$(exeext)
- -$(RM) $(tooldir)/bin/gnatbind$(exeext)
- -$(RM) $(tooldir)/bin/gnatbl$(exeext)
- -$(RM) $(tooldir)/bin/gnatchop$(exeext)
- -$(RM) $(tooldir)/bin/gnat$(exeext)
- -$(RM) $(tooldir)/bin/gnatdll$(exeext)
- -$(RM) $(tooldir)/bin/gnatkr$(exeext)
- -$(RM) $(tooldir)/bin/gnatlink$(exeext)
- -$(RM) $(tooldir)/bin/gnatls$(exeext)
- -$(RM) $(tooldir)/bin/gnatmake$(exeext)
- -$(RM) $(tooldir)/bin/gnatmem$(exeext)
- -$(RM) $(tooldir)/bin/gnatname$(exeext)
- -$(RM) $(tooldir)/bin/gnatprep$(exeext)
- -$(RM) $(tooldir)/bin/gnatpsta$(exeext)
-# Gnatlbr and Gnatchop are only used on VMS
- -$(RM) $(bindir)/gnatlbr$(exeext) $(bindir)/gnatchop$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatbind$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatbl$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatchop$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnat$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatfind$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatdll$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatkr$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatlbr$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatlink$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatls$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatmake$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatmem$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatname$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatprep$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatpsta$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/gnatxref$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatbind$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatbl$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatchop$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnat$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatfind$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatdll$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatkr(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatlbr$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatlink$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatls$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatmake$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatmem$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatname$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatprep$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatpsta$(exeext)
+ -$(RM) $(DESTDIR)$(bindir)/$(target_alias)-gnatxref$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatbind$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatbl$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatchop$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnat$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatfind$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatdll$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatkr$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatlbr$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatlink$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatls$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatmake$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatmem$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatname$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatprep$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatpsta$(exeext)
+ -$(RM) $(DESTDIR)$(tooldir)/bin/gnatxref$(exeext)
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
@@ -978,7 +969,7 @@ ada/adaint.o : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/argv.o : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/cstreams.o : ada/cstreams.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/exit.o : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
-ada/final.o : ada/final.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
+ada/adafinal.o : ada/adafinal.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
ada/link.o : ada/link.c
ada/cio.o : ada/cio.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
diff --git a/gcc/ada/Makefile.in b/gcc/ada/Makefile.in
index e4e6bb2e508..f92f97d5355 100644
--- a/gcc/ada/Makefile.in
+++ b/gcc/ada/Makefile.in
@@ -750,7 +750,25 @@ ifeq ($(strip $(filter-out mips sgi irix%,$(targ))),)
LIBRARY_VERSION := $(strip $(shell grep Library_Version $(fsrcpfx)gnatvsn.ads | sed -e 's/.*GNAT Lib v\(.*\)[ "].*/\1/'))
endif
-ifeq ($(strip $(filter-out hppa% hp hpux%,$(targ))),)
+ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-excpol.adb<4wexcpol.adb \
+ a-intnam.ads<4hintnam.ads \
+ s-inmaop.adb<7sinmaop.adb \
+ s-interr.adb<5ginterr.adb \
+ s-intman.adb<7sintman.adb \
+ s-osinte.adb<5hosinte.adb \
+ s-osinte.ads<5hosinte.ads \
+ s-parame.ads<5hparame.ads \
+ s-osprim.adb<7sosprim.adb \
+ s-taprop.adb<5htaprop.adb \
+ s-taspri.ads<5htaspri.ads \
+ s-tpopsp.adb<7stpopsp.adb \
+ g-soccon.ads<3hsoccon.ads \
+ system.ads<5hsystem.ads
+endif
+
+ifeq ($(strip $(filter-out hppa% hp hpux11%,$(targ))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<4hintnam.ads \
s-inmaop.adb<7sinmaop.adb \
@@ -766,7 +784,7 @@ ifeq ($(strip $(filter-out hppa% hp hpux%,$(targ))),)
g-soccon.ads<3hsoccon.ads \
system.ads<5hsystem.ads
- TGT_LIB = /usr/lib/libcl.a -lpthread
+ TGT_LIB = /usr/lib/libcl.a
THREADSLIB = -lpthread -lc_r
SYMLIB = -laddr2line -lbfd $(INTLLIBS)
soext = .sl
@@ -789,6 +807,7 @@ ifeq ($(strip $(filter-out hppa% hp hpux%,$(targ))),)
g-soccon.ads<3hsoccon.ads \
system.ads<5hsystem.ads
+ TGT_LIB =
THREADSLIB = -lcma
endif
endif
@@ -875,7 +894,7 @@ ifeq ($(strip $(filter-out lynxos,$(osys))),)
endif
endif
-ifeq ($(strip $(filter-out rtems,$(osys))),)
+ifeq ($(strip $(filter-out rtems rtemself rtemsaout rtemscoff,$(osys))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<4rintnam.ads \
s-inmaop.adb<7sinmaop.adb \
@@ -886,7 +905,7 @@ ifeq ($(strip $(filter-out rtems,$(osys))),)
s-parame.adb<5rparame.adb \
s-taprop.adb<7staprop.adb \
s-taspri.ads<7staspri.ads \
- s-tpopsp.adb<5atpopsp.adb
+ s-tpopsp.adb<5rtpopsp.adb
endif
ifeq ($(strip $(filter-out go32 msdos,$(osys))),)
@@ -1021,10 +1040,10 @@ endif
LIBGNAT_SRCS = ada.h adaint.c adaint.h argv.c cio.c cstreams.c \
errno.c exit.c cal.c \
raise.h raise.c sysdep.c types.h aux-io.c init.c \
- final.c tracebak.c expect.c mkdir.c $(EXTRA_LIBGNAT_SRCS)
+ adafinal.c tracebak.c expect.c mkdir.c $(EXTRA_LIBGNAT_SRCS)
LIBGNAT_OBJS = adaint.o argv.o cio.o cstreams.o errno.o exit.o \
- raise.o sysdep.o aux-io.o init.o cal.o final.o \
+ raise.o sysdep.o aux-io.o init.o cal.o adafinal.o \
tracebak.o expect.o mkdir.o $(EXTRA_LIBGNAT_OBJS)
# NOTE ??? - when the -I option for compiling Ada code is made to work,
@@ -1711,38 +1730,38 @@ install-gnatlib: ../stamp-gnatlib
# Create the directory before deleting it, in case the directory is
# a list of directories (as it may be on VMS). This ensures we are
# deleting the right one.
- -$(MKDIR) $(ADA_RTL_OBJ_DIR)
- -$(MKDIR) $(ADA_INCLUDE_DIR)
- $(RMDIR) $(ADA_RTL_OBJ_DIR)
- $(RMDIR) $(ADA_INCLUDE_DIR)
- -$(MKDIR) $(ADA_RTL_OBJ_DIR)
- -$(MKDIR) $(ADA_INCLUDE_DIR)
- -$(INSTALL_DATA) ada/rts/Makefile.adalib $(ADA_RTL_OBJ_DIR)
+ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
+ $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+ $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
+ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
+ -$(INSTALL_DATA) ada/rts/Makefile.adalib $(DESTDIR)$(ADA_RTL_OBJ_DIR)
for file in ada/rts/*.ali; do \
- $(INSTALL_DATA) $$file $(ADA_RTL_OBJ_DIR); \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
done
-for file in ada/rts/*$(arext);do \
- $(INSTALL_DATA) $$file $(ADA_RTL_OBJ_DIR); \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
done
ifeq ($(strip $(filter-out alpha% dec vms% openvms% alphavms%,$(targ))),)
-for file in ada/rts/lib*$(soext);do \
- $(INSTALL_DATA) $$file $(ADA_RTL_OBJ_DIR); \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
done
else
-for file in ada/rts/lib*-**$(soext);do \
- $(INSTALL_DATA) $$file $(ADA_RTL_OBJ_DIR); \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
done
endif
- -$(LN_S) $(ADA_RTL_OBJ_DIR)/libgnat-*$(soext) \
- $(ADA_RTL_OBJ_DIR)/libgnat$(soext)
- -$(LN_S) $(ADA_RTL_OBJ_DIR)/libgnarl-*$(soext) \
- $(ADA_RTL_OBJ_DIR)/libgnarl$(soext)
+ -( cd $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \
+ $(LN_S) libgnat-*$(soext) libgnat$(soext) )
+ -( cd $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \
+ $(LN_S) libgnarl-*$(soext) libgnarl$(soext) )
# This copy must be done preserving the date on the original file.
for file in ada/rts/*.adb ada/rts/*.ads; do \
- $(INSTALL_DATA_DATE) $$file $(ADA_INCLUDE_DIR); \
+ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \
done
- cd $(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
- cd $(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
../stamp-gnatlib2:
$(RM) rts/s-*.ali
@@ -1854,7 +1873,7 @@ prepare-rts:
endif
install-rts: force
- $(CP) -r rts-$(RTS_NAME) $(libsubdir)/
+ $(CP) -r rts-$(RTS_NAME) $(DESTDIR)$(libsubdir)/
rts-none: force
$(MAKE) $(FLAGS_TO_PASS) prepare-rts \
@@ -2088,7 +2107,7 @@ deftarg.o : deftarg.c
errno.o : errno.c
exit.o : raise.h exit.c
expect.o : expect.c
-final.o : raise.h final.c
+adafinal.o : raise.h adafinal.c
gmem.o : gmem.c
link.o : link.c
mkdir.o : mkdir.c
@@ -2131,7 +2150,7 @@ force:
# Gnatlbr is only used on VMS
-GNATLBR_RTL_C_OBJS = adaint.o argv.o cio.o cstreams.o exit.o final.o init.o \
+GNATLBR_RTL_C_OBJS = adaint.o argv.o cio.o cstreams.o exit.o adafinal.o init.o \
raise.o sysdep.o tracebak.o
GNATLBR_C_OBJS = $(GNATLBR_RTL_C_OBJS)
diff --git a/gcc/ada/a-except.adb b/gcc/ada/a-except.adb
index e18d0e8fa53..979f11e41c9 100644
--- a/gcc/ada/a-except.adb
+++ b/gcc/ada/a-except.adb
@@ -199,7 +199,7 @@ package body Ada.Exceptions is
function Unwind_RaiseException
(E : access GNAT_GCC_Exception)
return Unwind_Reason_Code;
- pragma Import (C, Unwind_RaiseException, "_Unwind_RaiseException");
+ pragma Import (C, Unwind_RaiseException, "__gnat_Unwind_RaiseException");
-----------------------
-- Local Subprograms --
diff --git a/gcc/ada/final.c b/gcc/ada/adafinal.c
index 2074b6f4c8b..06e1f462a46 100644
--- a/gcc/ada/final.c
+++ b/gcc/ada/adafinal.c
@@ -2,7 +2,7 @@
* *
* GNAT COMPILER COMPONENTS *
* *
- * F I N A L *
+ * A D A F I N A L *
* *
* *
* C Implementation File *
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 2b5f01a7427..59389c60726 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -31,6 +31,10 @@
* *
****************************************************************************/
+#if defined(__rtems__)
+#include <stdio.h>
+#endif
+
#include <dirent.h>
extern int __gnat_max_path_len;
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index d1df13cc409..aafa6095592 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -8,9 +8,9 @@
@c o
@c G N A T _ RM o
@c o
-@c $Revision: 1.3.8.1 $
+@c $Revision: 1.8.18.3 $
@c o
-@c Copyright (C) 1995-2002 Free Software Foundation o
+@c Copyright (C) 1995-2003 Free Software Foundation o
@c o
@c o
@c GNAT is maintained by Ada Core Technologies Inc (http://www.gnat.com). o
@@ -22,37 +22,37 @@
@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
-under the terms of the GNU Free Documentation License, Version 1.1
+under the terms of the GNU Free Documentation License, Version 1.2
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''.
+@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
@@ -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
@@ -11184,8 +11170,8 @@ of the length corresponding to the @code{@var{type}'Size} value in Ada.
@noindent
The interface to C++ makes use of the following pragmas, which are
primarily intended to be constructed automatically using a binding generator
-tool, although it is possible to construct them by hand. Ada Core
-Technologies does not currently supply a suitable binding generator tool.
+tool, although it is possible to construct them by hand. No suitable binding
+generator tool is supplied with GNAT though.
Using these pragmas it is possible to achieve complete
inter-operability between Ada tagged types and C class definitions.
diff --git a/gcc/ada/gnat_ug.texi b/gcc/ada/gnat_ug.texi
index 784adb45dd1..b0657fcb6e0 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.2
+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..45e09632934 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.2
+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..60c5b4d9922 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.2
+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..2f962051aab 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.2
+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..04b18c61e23 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.2
+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/ada/init.c b/gcc/ada/init.c
index 04b7aea05aa..105df0d3264 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -1635,6 +1635,22 @@ __gnat_initialize ()
#endif
}
+/***************************************/
+/* __gnat_initialize (RTEMS version) */
+/***************************************/
+
+#elif defined(__rtems__)
+
+extern void __gnat_install_handler ();
+
+/* For RTEMS, each bsp will provide a custom __gnat_install_handler (). */
+
+void
+__gnat_initialize ()
+{
+ __gnat_install_handler ();
+}
+
#else
/* For all other versions of GNAT, the initialize routine and handler
diff --git a/gcc/ada/link.c b/gcc/ada/link.c
index 36fd17ab126..6cdbc9f1880 100644
--- a/gcc/ada/link.c
+++ b/gcc/ada/link.c
@@ -132,7 +132,7 @@ const char *object_library_extension = ".a";
const char *object_file_option = "-Wl,-f,";
const char *run_path_option = "";
int link_max = 15000;
-cnonst unsigned char objlist_file_supported = 1;
+const unsigned char objlist_file_supported = 1;
char shared_libgnat_default = STATIC;
unsigned char using_gnu_linker = 0;
const char *object_library_extension = ".a";
diff --git a/gcc/ada/raise.c b/gcc/ada/raise.c
index 087448a4d50..a9841740d88 100644
--- a/gcc/ada/raise.c
+++ b/gcc/ada/raise.c
@@ -88,10 +88,20 @@ __gnat_unhandled_terminate ()
}
/* Below is the code related to the integration of the GCC mechanism for
- exception handling. */
+ exception handling. Still work in progress. */
#include "unwind.h"
+/* If the underlying GCC scheme for exception handling is SJLJ, the standard
+ propagation routine (_Unwind_RaiseException) is actually renamed using a
+ #define directive (see unwing-sjlj.c). We need a consistently named
+ interface to import from a-except, so stubs are defined here, at the end
+ of this file. */
+
+_Unwind_Reason_Code
+__gnat_Unwind_RaiseException PARAMS ((struct _Unwind_Exception *));
+
+
/* Exception Handling personality routine for Ada.
??? It is currently inspired from the one for C++, needs cleanups and
@@ -597,21 +607,45 @@ __gnat_eh_personality (version, actions, exception_class, ue_header, context)
}
-#else /* IN_RTS - For eh personality routine */
+/* Stubs for the libgcc unwinding interface, to be imported by a-except. */
+
+#ifdef __USING_SJLJ_EXCEPTIONS__
+
+_Unwind_Reason_Code
+__gnat_Unwind_RaiseException (e)
+ struct _Unwind_Exception *e;
+{
+ return _Unwind_SjLj_RaiseException (e);
+}
+
+#else
+/* __USING_SJLJ_EXCEPTIONS__ not defined */
+
+_Unwind_Reason_Code
+__gnat_Unwind_RaiseException (e)
+ struct _Unwind_Exception *e;
+{
+ return _Unwind_RaiseException (e);
+}
+
+#endif
+
+#else
+/* IN_RTS not defined */
/* The calls to the GCC runtime interface for exception raising are currently
issued from a-except.adb, which is used by both the runtime library and
the compiler. As the compiler binary is not linked against the GCC runtime
library, we need a stub for this interface in the compiler case. */
+/* Since we don't link the compiler with a host libgcc, we should not be
+ using the GCC eh mechanism for the compiler and so expect this function
+ never to be called. */
_Unwind_Reason_Code
-_Unwind_RaiseException (e)
+__gnat_Unwind_RaiseException (e)
struct _Unwind_Exception *e ATTRIBUTE_UNUSED;
{
- /* Since we don't link the compiler with a host libgcc, we should not be
- using the GCC eh mechanism for the compiler and so expect this function
- never to be called. */
abort ();
}
diff --git a/gcc/ada/utils2.c b/gcc/ada/utils2.c
index 4d4cb60ac91..7786c8f7236 100644
--- a/gcc/ada/utils2.c
+++ b/gcc/ada/utils2.c
@@ -2036,7 +2036,7 @@ gnat_mark_addressable (expr_node)
case VAR_DECL:
case PARM_DECL:
case RESULT_DECL:
- put_var_into_stack (expr_node);
+ put_var_into_stack (expr_node, /*rescan=*/true);
TREE_ADDRESSABLE (expr_node) = 1;
return true;
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..1829fdebed2 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;
@@ -335,6 +336,8 @@ extern void connect_infinite_loops_to_exit PARAMS ((void));
extern int flow_call_edges_add PARAMS ((sbitmap));
extern edge cached_make_edge PARAMS ((sbitmap *, basic_block,
basic_block, int));
+extern edge unchecked_make_edge PARAMS ((basic_block,
+ basic_block, int));
extern edge make_edge PARAMS ((basic_block,
basic_block, int));
extern edge make_single_succ_edge PARAMS ((basic_block,
@@ -748,8 +751,10 @@ extern void free_aux_for_edges PARAMS ((void));
it being unused. */
extern void verify_flow_info PARAMS ((void));
extern bool flow_loop_outside_edge_p PARAMS ((const struct loop *, edge));
-extern bool flow_loop_nested_p PARAMS ((const struct loop *, const struct loop *));
-extern bool flow_bb_inside_loop_p PARAMS ((const struct loop *, basic_block));
+extern bool flow_loop_nested_p PARAMS ((const struct loop *,
+ const struct loop *));
+extern bool flow_bb_inside_loop_p PARAMS ((const struct loop *,
+ const basic_block));
extern basic_block *get_loop_body PARAMS ((const struct loop *));
extern int dfs_enumerate_from PARAMS ((basic_block, int,
bool (*)(basic_block, void *),
@@ -799,6 +804,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/bb-reorder.c b/gcc/bb-reorder.c
index 24c41e51ced..857e0fbc6ec 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -89,11 +89,13 @@
#include "flags.h"
#include "output.h"
#include "cfglayout.h"
+#include "function.h"
#include "target.h"
/* Local function prototypes. */
static void make_reorder_chain PARAMS ((void));
static basic_block make_reorder_chain_1 PARAMS ((basic_block, basic_block));
+static basic_block maybe_duplicate_computed_goto_succ PARAMS ((basic_block));
/* Compute an ordering for a subgraph beginning with block BB. Record the
ordering in RBI()->index and chained through RBI()->next. */
@@ -130,6 +132,45 @@ make_reorder_chain ()
RBI (prev)->next = NULL;
}
+/* If the successor is our artificial computed_jump block, duplicate it. */
+
+static inline basic_block
+maybe_duplicate_computed_goto_succ (bb)
+ basic_block bb;
+{
+ edge e;
+ basic_block next;
+
+ /* Note that we can't rely on computed_goto_common_label still being in
+ the instruction stream -- cfgloop.c likes to munge things about. But
+ we can still use it's non-null-ness to avoid a fruitless search. */
+ if (!cfun->computed_goto_common_label)
+ return NULL;
+
+ /* Only want to duplicate when coming from a simple branch. */
+ e = bb->succ;
+ if (!e || e->succ_next)
+ return NULL;
+
+ /* Only duplicate if we've already layed out this block once. */
+ next = e->dest;
+ if (!RBI (next)->visited)
+ return NULL;
+
+ /* See if the block contains only a computed branch. */
+ if ((next->head == next->end
+ || next_active_insn (next->head) == next->end)
+ && computed_jump_p (next->end))
+ {
+ if (rtl_dump_file)
+ fprintf (rtl_dump_file, "Duplicating block %d after %d\n",
+ next->index, bb->index);
+ return cfg_layout_duplicate_bb (next, e);
+ }
+
+ return NULL;
+}
+
/* A helper function for make_reorder_chain.
We do not follow EH edges, or non-fallthru edges to noreturn blocks.
@@ -206,6 +247,10 @@ make_reorder_chain_1 (bb, prev)
next = ((taken && e_taken) ? e_taken : e_fall)->dest;
}
+ /* If the successor is our artificial computed_jump block, duplicate it. */
+ else
+ next = maybe_duplicate_computed_goto_succ (bb);
+
/* In the absence of a prediction, disturb things as little as possible
by selecting the old "next" block from the list of successors. If
there had been a fallthru edge, that will be the one. */
diff --git a/gcc/bitmap.c b/gcc/bitmap.c
index e2b58c0e0c8..917e87bb023 100644
--- a/gcc/bitmap.c
+++ b/gcc/bitmap.c
@@ -1,5 +1,6 @@
/* Functions to support general ended bitmaps.
- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -330,7 +331,7 @@ bitmap_find_bit (head, bit)
unsigned int bit;
{
bitmap_element *element;
- unsigned HOST_WIDE_INT indx = bit / BITMAP_ELEMENT_ALL_BITS;
+ unsigned int indx = bit / BITMAP_ELEMENT_ALL_BITS;
if (head->current == 0
|| head->indx == indx)
@@ -369,10 +370,9 @@ bitmap_clear_bit (head, bit)
if (ptr != 0)
{
- unsigned bit_num = bit % (unsigned) HOST_BITS_PER_WIDE_INT;
- unsigned word_num = ((bit / (unsigned) HOST_BITS_PER_WIDE_INT)
- % BITMAP_ELEMENT_WORDS);
- ptr->bits[word_num] &= ~ (((unsigned HOST_WIDE_INT) 1) << bit_num);
+ unsigned bit_num = bit % BITMAP_WORD_BITS;
+ unsigned word_num = bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
+ ptr->bits[word_num] &= ~ (((BITMAP_WORD) 1) << bit_num);
/* If we cleared the entire word, free up the element */
if (bitmap_element_zerop (ptr))
@@ -388,10 +388,9 @@ bitmap_set_bit (head, bit)
int bit;
{
bitmap_element *ptr = bitmap_find_bit (head, bit);
- unsigned word_num
- = ((bit / (unsigned) HOST_BITS_PER_WIDE_INT) % BITMAP_ELEMENT_WORDS);
- unsigned bit_num = bit % (unsigned) HOST_BITS_PER_WIDE_INT;
- unsigned HOST_WIDE_INT bit_val = ((unsigned HOST_WIDE_INT) 1) << bit_num;
+ unsigned word_num = bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
+ unsigned bit_num = bit % BITMAP_WORD_BITS;
+ BITMAP_WORD bit_val = ((BITMAP_WORD) 1) << bit_num;
if (ptr == 0)
{
@@ -419,9 +418,8 @@ bitmap_bit_p (head, bit)
if (ptr == 0)
return 0;
- bit_num = bit % (unsigned) HOST_BITS_PER_WIDE_INT;
- word_num
- = ((bit / (unsigned) HOST_BITS_PER_WIDE_INT) % BITMAP_ELEMENT_WORDS);
+ bit_num = bit % BITMAP_WORD_BITS;
+ word_num = bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
return (ptr->bits[word_num] >> bit_num) & 1;
}
@@ -434,7 +432,7 @@ bitmap_first_set_bit (a)
bitmap a;
{
bitmap_element *ptr = a->first;
- unsigned HOST_WIDE_INT word;
+ BITMAP_WORD word;
unsigned word_num, bit_num;
if (ptr == NULL)
@@ -456,10 +454,10 @@ bitmap_first_set_bit (a)
bit_num = 0;
word = word & -word;
-#if HOST_BITS_PER_WIDE_INT > 64
+#if nBITMAP_WORD_BITS > 64
#error "Fill out the table."
#endif
-#if HOST_BITS_PER_WIDE_INT > 32
+#if nBITMAP_WORD_BITS > 32
if ((word & 0xffffffff) == 0)
word >>= 32, bit_num += 32;
#endif
@@ -475,7 +473,7 @@ bitmap_first_set_bit (a)
bit_num += 1;
return (ptr->indx * BITMAP_ELEMENT_ALL_BITS
- + word_num * HOST_BITS_PER_WIDE_INT
+ + word_num * BITMAP_WORD_BITS
+ bit_num);
}
@@ -487,7 +485,7 @@ bitmap_last_set_bit (a)
bitmap a;
{
bitmap_element *ptr = a->first;
- unsigned HOST_WIDE_INT word;
+ BITMAP_WORD word;
unsigned word_num, bit_num;
if (ptr == NULL)
@@ -509,11 +507,11 @@ bitmap_last_set_bit (a)
/* Binary search for the last set bit. */
bit_num = 0;
-#if HOST_BITS_PER_WIDE_INT > 64
+#if nBITMAP_WORD_BITS > 64
#error "Fill out the table."
#endif
-#if HOST_BITS_PER_WIDE_INT > 32
- if (word & ~ (unsigned HOST_WIDE_INT) 0xffffffff)
+#if nBITMAP_WORD_BITS > 32
+ if (word & ~(BITMAP_WORD)0xffffffff)
word >>= 32, bit_num += 32;
#endif
if (word & 0xffff0000)
@@ -528,7 +526,7 @@ bitmap_last_set_bit (a)
bit_num += 1;
return (ptr->indx * BITMAP_ELEMENT_ALL_BITS
- + word_num * HOST_BITS_PER_WIDE_INT
+ + word_num * BITMAP_WORD_BITS
+ bit_num);
}
@@ -558,7 +556,7 @@ bitmap_operation (to, from1, from2, operation)
#if BITMAP_ELEMENT_WORDS == 2
#define DOIT(OP) \
do { \
- unsigned HOST_WIDE_INT t0, t1, f10, f11, f20, f21; \
+ BITMAP_WORD t0, t1, f10, f11, f20, f21; \
f10 = from1_tmp->bits[0]; \
f20 = from2_tmp->bits[0]; \
t0 = f10 OP f20; \
@@ -573,7 +571,7 @@ bitmap_operation (to, from1, from2, operation)
#else
#define DOIT(OP) \
do { \
- unsigned HOST_WIDE_INT t, f1, f2; \
+ BITMAP_WORD t, f1, f2; \
int i; \
for (i = 0; i < BITMAP_ELEMENT_WORDS; ++i) \
{ \
@@ -785,7 +783,7 @@ debug_bitmap_file (file, head)
for (ptr = head->first; ptr; ptr = ptr->next)
{
- int i, j, col = 26;
+ unsigned int i, j, col = 26;
fprintf (file, "\t");
fprintf (file, HOST_PTR_PRINTF, (PTR) ptr);
@@ -796,7 +794,7 @@ debug_bitmap_file (file, head)
fprintf (file, " indx = %u\n\t\tbits = {", ptr->indx);
for (i = 0; i < BITMAP_ELEMENT_WORDS; i++)
- for (j = 0; j < HOST_BITS_PER_WIDE_INT; j++)
+ for (j = 0; j < BITMAP_WORD_BITS; j++)
if ((ptr->bits[i] >> j) & 1)
{
if (col > 70)
@@ -806,7 +804,7 @@ debug_bitmap_file (file, head)
}
fprintf (file, " %u", (ptr->indx * BITMAP_ELEMENT_ALL_BITS
- + i * HOST_BITS_PER_WIDE_INT + j));
+ + i * BITMAP_WORD_BITS + j));
col += 4;
}
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index ed402990f11..85f8239cce7 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -1,5 +1,5 @@
/* Functions to support general ended bitmaps.
- 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.
@@ -22,10 +22,18 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifndef GCC_BITMAP_H
#define GCC_BITMAP_H
+/* Fundamental storage type for bitmap. */
+
+/* typedef unsigned HOST_WIDE_INT BITMAP_WORD; */
+/* #define nBITMAP_WORD_BITS HOST_BITS_PER_WIDE_INT */
+typedef unsigned long BITMAP_WORD;
+#define nBITMAP_WORD_BITS (CHAR_BIT * SIZEOF_LONG)
+#define BITMAP_WORD_BITS (unsigned) nBITMAP_WORD_BITS
+
/* Number of words to use for each element in the linked list. */
#ifndef BITMAP_ELEMENT_WORDS
-#define BITMAP_ELEMENT_WORDS 2
+#define BITMAP_ELEMENT_WORDS ((128 + nBITMAP_WORD_BITS - 1) / nBITMAP_WORD_BITS)
#endif
/* Number of bits in each actual element of a bitmap. We get slightly better
@@ -33,7 +41,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
bits is unsigned, assuming it is a power of 2. */
#define BITMAP_ELEMENT_ALL_BITS \
- ((unsigned) (BITMAP_ELEMENT_WORDS * HOST_BITS_PER_WIDE_INT))
+ ((unsigned) (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS))
/* Bitmap set element. We use a linked list to hold only the bits that
are set. This allows for use to grow the bitset dynamically without
@@ -45,7 +53,7 @@ typedef struct bitmap_element_def GTY(())
struct bitmap_element_def *next; /* Next element. */
struct bitmap_element_def *prev; /* Previous element. */
unsigned int indx; /* regno/BITMAP_ELEMENT_ALL_BITS. */
- unsigned HOST_WIDE_INT bits[BITMAP_ELEMENT_WORDS]; /* Bits that are set. */
+ BITMAP_WORD bits[BITMAP_ELEMENT_WORDS]; /* Bits that are set. */
} bitmap_element;
/* Head of bitmap linked list. */
@@ -162,9 +170,8 @@ do { \
do { \
bitmap_element *ptr_ = (BITMAP)->first; \
unsigned int indx_ = (MIN) / BITMAP_ELEMENT_ALL_BITS; \
- unsigned bit_num_ = (MIN) % ((unsigned) HOST_BITS_PER_WIDE_INT); \
- unsigned word_num_ = (((MIN) / ((unsigned) HOST_BITS_PER_WIDE_INT)) \
- % BITMAP_ELEMENT_WORDS); \
+ unsigned bit_num_ = (MIN) % BITMAP_WORD_BITS; \
+ unsigned word_num_ = (MIN) / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS; \
\
\
/* Find the block the minimum bit is in. */ \
@@ -181,20 +188,19 @@ do { \
{ \
for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++) \
{ \
- unsigned HOST_WIDE_INT word_ = ptr_->bits[word_num_]; \
+ BITMAP_WORD word_ = ptr_->bits[word_num_]; \
\
if (word_ != 0) \
{ \
- for (; bit_num_ < HOST_BITS_PER_WIDE_INT; bit_num_++) \
+ for (; bit_num_ < BITMAP_WORD_BITS; bit_num_++) \
{ \
- unsigned HOST_WIDE_INT mask_ \
- = ((unsigned HOST_WIDE_INT) 1) << bit_num_; \
+ BITMAP_WORD mask_ = ((BITMAP_WORD) 1) << bit_num_; \
\
if ((word_ & mask_) != 0) \
{ \
word_ &= ~ mask_; \
(BITNUM) = (ptr_->indx * BITMAP_ELEMENT_ALL_BITS \
- + word_num_ * HOST_BITS_PER_WIDE_INT \
+ + word_num_ * BITMAP_WORD_BITS \
+ bit_num_); \
CODE; \
\
@@ -220,9 +226,8 @@ do { \
bitmap_element *ptr1_ = (BITMAP1)->first; \
bitmap_element *ptr2_ = (BITMAP2)->first; \
unsigned int indx_ = (MIN) / BITMAP_ELEMENT_ALL_BITS; \
- unsigned bit_num_ = (MIN) % ((unsigned) HOST_BITS_PER_WIDE_INT); \
- unsigned word_num_ = (((MIN) / ((unsigned) HOST_BITS_PER_WIDE_INT)) \
- % BITMAP_ELEMENT_WORDS); \
+ unsigned bit_num_ = (MIN) % BITMAP_WORD_BITS; \
+ unsigned word_num_ = (MIN) / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS; \
\
/* Find the block the minimum bit is in in the first bitmap. */ \
while (ptr1_ != 0 && ptr1_->indx < indx_) \
@@ -248,20 +253,19 @@ do { \
\
for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++) \
{ \
- unsigned HOST_WIDE_INT word_ = (ptr1_->bits[word_num_] \
- & ~ tmp2_->bits[word_num_]); \
+ BITMAP_WORD word_ = (ptr1_->bits[word_num_] \
+ & ~ tmp2_->bits[word_num_]); \
if (word_ != 0) \
{ \
- for (; bit_num_ < HOST_BITS_PER_WIDE_INT; bit_num_++) \
+ for (; bit_num_ < BITMAP_WORD_BITS; bit_num_++) \
{ \
- unsigned HOST_WIDE_INT mask_ \
- = ((unsigned HOST_WIDE_INT)1) << bit_num_; \
+ BITMAP_WORD mask_ = ((BITMAP_WORD) 1) << bit_num_; \
\
if ((word_ & mask_) != 0) \
{ \
word_ &= ~ mask_; \
(BITNUM) = (ptr1_->indx * BITMAP_ELEMENT_ALL_BITS \
- + word_num_ * HOST_BITS_PER_WIDE_INT \
+ + word_num_ * BITMAP_WORD_BITS \
+ bit_num_); \
\
CODE; \
@@ -287,9 +291,8 @@ do { \
bitmap_element *ptr1_ = (BITMAP1)->first; \
bitmap_element *ptr2_ = (BITMAP2)->first; \
unsigned int indx_ = (MIN) / BITMAP_ELEMENT_ALL_BITS; \
- unsigned bit_num_ = (MIN) % ((unsigned) HOST_BITS_PER_WIDE_INT); \
- unsigned word_num_ = (((MIN) / ((unsigned) HOST_BITS_PER_WIDE_INT)) \
- % BITMAP_ELEMENT_WORDS); \
+ unsigned bit_num_ = (MIN) % BITMAP_WORD_BITS; \
+ unsigned word_num_ = (MIN) / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS; \
\
/* Find the block the minimum bit is in in the first bitmap. */ \
while (ptr1_ != 0 && ptr1_->indx < indx_) \
@@ -321,20 +324,19 @@ do { \
\
for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++) \
{ \
- unsigned HOST_WIDE_INT word_ = (ptr1_->bits[word_num_] \
- & ptr2_->bits[word_num_]); \
+ BITMAP_WORD word_ = (ptr1_->bits[word_num_] \
+ & ptr2_->bits[word_num_]); \
if (word_ != 0) \
{ \
- for (; bit_num_ < HOST_BITS_PER_WIDE_INT; bit_num_++) \
+ for (; bit_num_ < BITMAP_WORD_BITS; bit_num_++) \
{ \
- unsigned HOST_WIDE_INT mask_ \
- = ((unsigned HOST_WIDE_INT)1) << bit_num_; \
+ BITMAP_WORD mask_ = ((BITMAP_WORD) 1) << bit_num_; \
\
if ((word_ & mask_) != 0) \
{ \
word_ &= ~ mask_; \
(BITNUM) = (ptr1_->indx * BITMAP_ELEMENT_ALL_BITS \
- + word_num_ * HOST_BITS_PER_WIDE_INT \
+ + word_num_ * BITMAP_WORD_BITS \
+ bit_num_); \
\
CODE; \
diff --git a/gcc/builtin-attrs.def b/gcc/builtin-attrs.def
index b307151d508..7bdbd628086 100644
--- a/gcc/builtin-attrs.def
+++ b/gcc/builtin-attrs.def
@@ -102,9 +102,12 @@ DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LIST, ATTR_NORETURN, \
DEF_ATTR_TREE_LIST (ATTR_MALLOC_NOTHROW_LIST, ATTR_MALLOC, \
ATTR_NULL, ATTR_NOTHROW_LIST)
-DEF_ATTR_TREE_LIST (ATTR_NONNULL_1, ATTR_NONNULL, ATTR_LIST_1, ATTR_NULL)
-DEF_ATTR_TREE_LIST (ATTR_NONNULL_2, ATTR_NONNULL, ATTR_LIST_2, ATTR_NULL)
-DEF_ATTR_TREE_LIST (ATTR_NONNULL_3, ATTR_NONNULL, ATTR_LIST_3, ATTR_NULL)
+DEF_ATTR_TREE_LIST (ATTR_NONNULL_1, ATTR_NONNULL, ATTR_LIST_1, \
+ ATTR_NOTHROW_LIST)
+DEF_ATTR_TREE_LIST (ATTR_NONNULL_2, ATTR_NONNULL, ATTR_LIST_2, \
+ ATTR_NOTHROW_LIST)
+DEF_ATTR_TREE_LIST (ATTR_NONNULL_3, ATTR_NONNULL, ATTR_LIST_3, \
+ ATTR_NOTHROW_LIST)
/* Construct a tree for a format attribute. */
#define DEF_FORMAT_ATTRIBUTE(TYPE, FA, VALUES) \
@@ -149,13 +152,8 @@ DEF_FORMAT_ARG_ATTRIBUTE(2)
/* Functions from ISO/IEC 9899:1990. */
#define DEF_C89_ATTR(NAME, ATTRS) DEF_FN_ATTR_IDENT (NAME, ATTRS, flag_hosted)
-DEF_C89_ATTR (sprintf, ATTR_FORMAT_PRINTF_2_3)
-DEF_C89_ATTR (scanf, ATTR_FORMAT_SCANF_1_2)
DEF_C89_ATTR (fscanf, ATTR_FORMAT_SCANF_2_3)
-DEF_C89_ATTR (sscanf, ATTR_FORMAT_SCANF_2_3)
-DEF_C89_ATTR (vprintf, ATTR_FORMAT_PRINTF_1_0)
DEF_C89_ATTR (vfprintf, ATTR_FORMAT_PRINTF_2_0)
-DEF_C89_ATTR (vsprintf, ATTR_FORMAT_PRINTF_2_0)
DEF_C89_ATTR (strftime, ATTR_FORMAT_STRFTIME_3_0)
#undef DEF_C89_ATTR
@@ -164,11 +162,7 @@ DEF_C89_ATTR (strftime, ATTR_FORMAT_STRFTIME_3_0)
DEF_FN_ATTR_IDENT (NAME, ATTRS, \
(flag_hosted \
&& (flag_isoc99 || flag_noniso_default_format_attributes)))
-DEF_C99_ATTR (snprintf, ATTR_FORMAT_PRINTF_3_4)
-DEF_C99_ATTR (vsnprintf, ATTR_FORMAT_PRINTF_3_0)
-DEF_C99_ATTR (vscanf, ATTR_FORMAT_SCANF_1_0)
DEF_C99_ATTR (vfscanf, ATTR_FORMAT_SCANF_2_0)
-DEF_C99_ATTR (vsscanf, ATTR_FORMAT_SCANF_2_0)
#undef DEF_C99_ATTR
/* Functions not in any version of ISO C. */
diff --git a/gcc/builtin-types.def b/gcc/builtin-types.def
index 23b4336c2b3..d5c39b4b825 100644
--- a/gcc/builtin-types.def
+++ b/gcc/builtin-types.def
@@ -40,6 +40,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
+ DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
Similar, but for function types that take variable arguments.
For example:
@@ -147,6 +148,8 @@ DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
BT_INT, BT_PTR, BT_CONST_STRING)
DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
BT_VOID, BT_PTR, BT_SIZE)
+DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
+ BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
@@ -158,10 +161,17 @@ DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
BT_PTR, BT_PTR, BT_INT, BT_SIZE)
-DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT, BT_VOID, BT_PTR, BT_INT, BT_INT)
+DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
+ BT_VOID, BT_PTR, BT_INT, BT_INT)
+DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
+ BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
+DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
+ BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR,
BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_PTR)
+DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
+ BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
@@ -176,6 +186,13 @@ DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_PTR_CONST_STRING_VAR,
BT_INT, BT_PTR, BT_CONST_STRING)
+DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
+ BT_INT, BT_STRING, BT_CONST_STRING)
+DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
+ BT_INT, BT_CONST_STRING, BT_CONST_STRING)
+
+DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
+ BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
diff --git a/gcc/builtins.c b/gcc/builtins.c
index aa0cfaf8dd1..639d1bd7ab9 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -2040,7 +2040,7 @@ expand_builtin_strcpy (exp, target, mode)
return 0;
len = c_strlen (TREE_VALUE (TREE_CHAIN (arglist)));
- if (len == 0)
+ if (len == 0 || TREE_SIDE_EFFECTS (len))
return 0;
len = size_binop (PLUS_EXPR, len, ssize_int (1));
@@ -3472,8 +3472,12 @@ expand_builtin_fputs (arglist, ignore, unlocked)
/* FALLTHROUGH */
case 1: /* length is greater than 1, call fwrite. */
{
- tree string_arg = TREE_VALUE (arglist);
+ tree string_arg;
+ /* If optimizing for size keep fputs. */
+ if (optimize_size)
+ return 0;
+ string_arg = TREE_VALUE (arglist);
/* New argument list transforming fputs(string, stream) to
fwrite(string, 1, len, stream). */
arglist = build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist)));
@@ -3519,7 +3523,7 @@ expand_builtin_expect (arglist, target)
target = expand_expr (exp, target, VOIDmode, EXPAND_NORMAL);
/* Don't bother with expected value notes for integral constants. */
- if (GET_CODE (target) != CONST_INT)
+ if (flag_guess_branch_prob && GET_CODE (target) != CONST_INT)
{
/* We do need to force this into a register so that we can be
moderately sure to be able to correctly interpret the branch
@@ -3691,6 +3695,9 @@ expand_builtin (exp, target, subtarget, mode, ignore)
tree arglist = TREE_OPERAND (exp, 1);
enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl);
+ /* Perform postincrements before expanding builtin functions.  */
+ emit_queue ();
+
if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD)
return (*targetm.expand_builtin) (exp, target, subtarget, mode, ignore);
@@ -4037,8 +4044,8 @@ expand_builtin (exp, target, subtarget, mode, ignore)
case BUILT_IN_DWARF_CFA:
return virtual_cfa_rtx;
#ifdef DWARF2_UNWIND_INFO
- case BUILT_IN_DWARF_FP_REGNUM:
- return expand_builtin_dwarf_fp_regnum ();
+ case BUILT_IN_DWARF_SP_COLUMN:
+ return expand_builtin_dwarf_sp_column ();
case BUILT_IN_INIT_DWARF_REG_SIZES:
expand_builtin_init_dwarf_reg_sizes (TREE_VALUE (arglist));
return const0_rtx;
diff --git a/gcc/builtins.def b/gcc/builtins.def
index c214128efe7..c208b751629 100644
--- a/gcc/builtins.def
+++ b/gcc/builtins.def
@@ -112,9 +112,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Like DEF_LIB_BUILTIN, except that the function is only a part of
the standard in C99 or above. */
#undef DEF_C99_BUILTIN
-#define DEF_C99_BUILTIN(ENUM, NAME, TYPE) \
+#define DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, TYPE, \
- true, true, !flag_isoc99, ATTR_NOTHROW_LIST)
+ true, true, !flag_isoc99, ATTRS)
/* Like DEF_LIB_BUILTIN, except that the function is expanded in the
front-end. */
@@ -171,37 +171,48 @@ DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_FABSL,
DEF_C99_BUILTIN(BUILT_IN_LLABS,
"__builtin_llabs",
- BT_FN_LONGLONG_LONGLONG)
+ BT_FN_LONGLONG_LONGLONG,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_IMAXABS,
"__builtin_imaxabs",
- BT_FN_INTMAX_INTMAX)
+ BT_FN_INTMAX_INTMAX,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJ,
"__builtin_conj",
- BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE)
+ BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJF,
"__builtin_conjf",
- BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT)
+ BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJL,
"__builtin_conjl",
- BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
+ BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREAL,
"__builtin_creal",
- BT_FN_DOUBLE_COMPLEX_DOUBLE)
+ BT_FN_DOUBLE_COMPLEX_DOUBLE,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREALF,
"__builtin_crealf",
- BT_FN_FLOAT_COMPLEX_FLOAT)
+ BT_FN_FLOAT_COMPLEX_FLOAT,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREALL,
"__builtin_creall",
- BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
+ BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAG,
"__builtin_cimag",
- BT_FN_DOUBLE_COMPLEX_DOUBLE)
+ BT_FN_DOUBLE_COMPLEX_DOUBLE,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAGF,
"__builtin_cimagf",
- BT_FN_FLOAT_COMPLEX_FLOAT)
+ BT_FN_FLOAT_COMPLEX_FLOAT,
+ ATTR_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAGL,
"__builtin_cimagl",
- BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
+ BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
+ ATTR_NOTHROW_LIST)
DEF_UNUSED_BUILTIN(BUILT_IN_DIV)
DEF_UNUSED_BUILTIN(BUILT_IN_LDIV)
@@ -514,27 +525,69 @@ DEF_GCC_BUILTIN(BUILT_IN_PREFETCH,
BT_FN_VOID_CONST_PTR_VAR,
ATTR_NULL)
-/* Stdio builtins. */
-DEF_FALLBACK_BUILTIN(BUILT_IN_PUTCHAR,
- "__builtin_putchar",
- BT_FN_INT_INT,
- ATTR_NOTHROW_LIST)
-DEF_FALLBACK_BUILTIN(BUILT_IN_PUTS,
- "__builtin_puts",
- BT_FN_INT_CONST_STRING,
- ATTR_NOTHROW_LIST)
+/* stdio.h builtins (without FILE *). */
+
DEF_FRONT_END_LIB_BUILTIN(BUILT_IN_PRINTF,
"__builtin_printf",
BT_FN_INT_CONST_STRING_VAR,
ATTR_FORMAT_PRINTF_1_2)
-DEF_FALLBACK_BUILTIN(BUILT_IN_FPUTC,
- "__builtin_fputc",
- BT_FN_INT_INT_PTR,
- ATTR_NOTHROW_LIST)
+DEF_LIB_BUILTIN(BUILT_IN_PUTCHAR,
+ "__builtin_putchar",
+ BT_FN_INT_INT,
+ ATTR_NOTHROW_LIST)
+DEF_LIB_BUILTIN(BUILT_IN_PUTS,
+ "__builtin_puts",
+ BT_FN_INT_CONST_STRING,
+ ATTR_NOTHROW_LIST)
+DEF_C99_BUILTIN(BUILT_IN_SNPRINTF,
+ "__builtin_snprintf",
+ BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
+ ATTR_FORMAT_PRINTF_3_4)
+DEF_LIB_BUILTIN(BUILT_IN_SPRINTF,
+ "__builtin_sprintf",
+ BT_FN_INT_STRING_CONST_STRING_VAR,
+ ATTR_FORMAT_PRINTF_2_3)
+DEF_LIB_BUILTIN(BUILT_IN_SCANF,
+ "__builtin_scanf",
+ BT_FN_INT_CONST_STRING_VAR,
+ ATTR_FORMAT_SCANF_1_2)
+DEF_LIB_BUILTIN(BUILT_IN_SSCANF,
+ "__builtin_sscanf",
+ BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
+ ATTR_FORMAT_SCANF_2_3)
+DEF_LIB_BUILTIN(BUILT_IN_VPRINTF,
+ "__builtin_vprintf",
+ BT_FN_INT_CONST_STRING_VALIST_ARG,
+ ATTR_FORMAT_PRINTF_1_0)
+DEF_C99_BUILTIN(BUILT_IN_VSCANF,
+ "__builtin_vscanf",
+ BT_FN_INT_CONST_STRING_VALIST_ARG,
+ ATTR_FORMAT_SCANF_1_0)
+DEF_C99_BUILTIN(BUILT_IN_VSSCANF,
+ "__builtin_vsscanf",
+ BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
+ ATTR_FORMAT_SCANF_2_0)
+DEF_C99_BUILTIN(BUILT_IN_VSNPRINTF,
+ "__builtin_vsnprintf",
+ BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
+ ATTR_FORMAT_PRINTF_3_0)
+DEF_LIB_BUILTIN(BUILT_IN_VSPRINTF,
+ "__builtin_vsprintf",
+ BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
+ ATTR_FORMAT_PRINTF_2_0)
+
+
+/* stdio.h builtins (with FILE *). */
+
/* Declare the __builtin_ style with arguments and the regular style
without them. We rely on stdio.h to supply the arguments for the
regular style declaration since we had to use void* instead of
FILE* in the __builtin_ prototype supplied here. */
+
+DEF_FALLBACK_BUILTIN(BUILT_IN_FPUTC,
+ "__builtin_fputc",
+ BT_FN_INT_INT_PTR,
+ ATTR_NOTHROW_LIST)
DEF_BUILTIN (BUILT_IN_FPUTS,
"__builtin_fputs",
BUILT_IN_NORMAL,
@@ -550,7 +603,7 @@ DEF_FRONT_END_LIB_BUILTIN(BUILT_IN_FPRINTF,
BT_FN_INT_PTR_CONST_STRING_VAR,
ATTR_FORMAT_PRINTF_2_3)
-/* Stdio unlocked builtins. */
+/* stdio unlocked builtins (without FILE *). */
DEF_EXT_FALLBACK_BUILTIN(BUILT_IN_PUTCHAR_UNLOCKED,
"__builtin_putchar_unlocked",
@@ -562,13 +615,17 @@ DEF_EXT_FRONT_END_LIB_BUILTIN(BUILT_IN_PRINTF_UNLOCKED,
"__builtin_printf_unlocked",
BT_FN_INT_CONST_STRING_VAR,
ATTR_FORMAT_PRINTF_1_2)
-DEF_EXT_FALLBACK_BUILTIN(BUILT_IN_FPUTC_UNLOCKED,
- "__builtin_fputc_unlocked",
- BT_FN_INT_INT_PTR)
+
+/* stdio unlocked builtins (with FILE *). */
+
/* Declare the __builtin_ style with arguments and the regular style
without them. We rely on stdio.h to supply the arguments for the
regular style declaration since we had to use void* instead of
FILE* in the __builtin_ prototype supplied here. */
+
+DEF_EXT_FALLBACK_BUILTIN(BUILT_IN_FPUTC_UNLOCKED,
+ "__builtin_fputc_unlocked",
+ BT_FN_INT_INT_PTR)
DEF_BUILTIN (BUILT_IN_FPUTS_UNLOCKED,
"__builtin_fputs_unlocked",
BUILT_IN_NORMAL,
@@ -618,8 +675,8 @@ DEF_GCC_BUILTIN(BUILT_IN_DWARF_CFA,
"__builtin_dwarf_cfa",
BT_FN_PTR,
ATTR_NULL)
-DEF_GCC_BUILTIN(BUILT_IN_DWARF_FP_REGNUM,
- "__builtin_dwarf_fp_regnum",
+DEF_GCC_BUILTIN(BUILT_IN_DWARF_SP_COLUMN,
+ "__builtin_dwarf_sp_column",
BT_FN_UNSIGNED,
ATTR_NULL)
DEF_GCC_BUILTIN(BUILT_IN_INIT_DWARF_REG_SIZES,
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 76f79274861..b40a35aecb5 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -39,6 +39,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "langhooks.h"
#include "except.h" /* For USING_SJLJ_EXCEPTIONS. */
#include "tree-inline.h"
+#include "c-tree.h"
cpp_reader *parse_in; /* Declared in c-pragma.h. */
@@ -768,6 +769,8 @@ static tree handle_nonnull_attribute PARAMS ((tree *, tree, tree, int,
bool *));
static tree handle_nothrow_attribute PARAMS ((tree *, tree, tree, int,
bool *));
+static tree handle_cleanup_attribute PARAMS ((tree *, tree, tree, int,
+ bool *));
static tree vector_size_helper PARAMS ((tree, tree));
static void check_function_nonnull PARAMS ((tree, tree));
@@ -856,6 +859,8 @@ const struct attribute_spec c_common_attribute_table[] =
{ "nothrow", 0, 0, true, false, false,
handle_nothrow_attribute },
{ "may_alias", 0, 0, false, true, false, NULL },
+ { "cleanup", 1, 1, true, false, false,
+ handle_cleanup_attribute },
{ NULL, 0, 0, false, false, false, NULL }
};
@@ -3185,6 +3190,7 @@ c_common_nodes_and_builtins ()
#define DEF_FUNCTION_TYPE_VAR_0(NAME, RETURN) NAME,
#define DEF_FUNCTION_TYPE_VAR_1(NAME, RETURN, ARG1) NAME,
#define DEF_FUNCTION_TYPE_VAR_2(NAME, RETURN, ARG1, ARG2) NAME,
+#define DEF_FUNCTION_TYPE_VAR_3(NAME, RETURN, ARG1, ARG2, ARG3) NAME,
#define DEF_POINTER_TYPE(NAME, TYPE) NAME,
#include "builtin-types.def"
#undef DEF_PRIMITIVE_TYPE
@@ -3196,6 +3202,7 @@ c_common_nodes_and_builtins ()
#undef DEF_FUNCTION_TYPE_VAR_0
#undef DEF_FUNCTION_TYPE_VAR_1
#undef DEF_FUNCTION_TYPE_VAR_2
+#undef DEF_FUNCTION_TYPE_VAR_3
#undef DEF_POINTER_TYPE
BT_LAST
};
@@ -3390,8 +3397,6 @@ c_common_nodes_and_builtins ()
= build_pointer_type (build_qualified_type
(char_type_node, TYPE_QUAL_CONST));
- (*targetm.init_builtins) ();
-
/* This is special for C++ so functions can be overloaded. */
wchar_type_node = get_identifier (MODIFIED_WCHAR_TYPE);
wchar_type_node = TREE_TYPE (identifier_global_value (wchar_type_node));
@@ -3515,6 +3520,19 @@ c_common_nodes_and_builtins ()
tree_cons (NULL_TREE, \
builtin_types[(int) ARG2], \
NULL_TREE)));
+
+#define DEF_FUNCTION_TYPE_VAR_3(ENUM, RETURN, ARG1, ARG2, ARG3) \
+ builtin_types[(int) ENUM] \
+ = build_function_type \
+ (builtin_types[(int) RETURN], \
+ tree_cons (NULL_TREE, \
+ builtin_types[(int) ARG1], \
+ tree_cons (NULL_TREE, \
+ builtin_types[(int) ARG2], \
+ tree_cons (NULL_TREE, \
+ builtin_types[(int) ARG3], \
+ NULL_TREE))));
+
#define DEF_POINTER_TYPE(ENUM, TYPE) \
builtin_types[(int) ENUM] \
= build_pointer_type (builtin_types[(int) TYPE]);
@@ -3526,6 +3544,8 @@ c_common_nodes_and_builtins ()
#undef DEF_FUNCTION_TYPE_4
#undef DEF_FUNCTION_TYPE_VAR_0
#undef DEF_FUNCTION_TYPE_VAR_1
+#undef DEF_FUNCTION_TYPE_VAR_2
+#undef DEF_FUNCTION_TYPE_VAR_3
#undef DEF_POINTER_TYPE
if (!c_attrs_initialized)
@@ -3563,6 +3583,8 @@ c_common_nodes_and_builtins ()
#include "builtins.def"
#undef DEF_BUILTIN
+ (*targetm.init_builtins) ();
+
main_identifier_node = get_identifier ("main");
}
@@ -4894,11 +4916,11 @@ cb_register_builtins (pfile)
cpp_define (pfile, "__GXX_WEAK__=1");
else
cpp_define (pfile, "__GXX_WEAK__=0");
- if (flag_exceptions)
- cpp_define (pfile, "__EXCEPTIONS");
if (warn_deprecated)
cpp_define (pfile, "__DEPRECATED");
}
+ if (flag_exceptions)
+ cpp_define (pfile, "__EXCEPTIONS");
/* represents the C++ ABI version, always defined so it can be used while
preprocessing C and assembler. */
@@ -5383,16 +5405,19 @@ handle_always_inline_attribute (node, name, args, flags, no_add_attrs)
struct attribute_spec.handler. */
static tree
-handle_used_attribute (node, name, args, flags, no_add_attrs)
- tree *node;
+handle_used_attribute (pnode, name, args, flags, no_add_attrs)
+ tree *pnode;
tree name;
tree args ATTRIBUTE_UNUSED;
int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs;
{
- if (TREE_CODE (*node) == FUNCTION_DECL)
- TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (*node))
- = TREE_USED (*node) = 1;
+ tree node = *pnode;
+
+ if (TREE_CODE (node) == FUNCTION_DECL
+ || (TREE_CODE (node) == VAR_DECL && TREE_STATIC (node)))
+ TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (node))
+ = TREE_USED (node) = 1;
else
{
warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
@@ -6055,6 +6080,55 @@ handle_pure_attribute (node, name, args, flags, no_add_attrs)
return NULL_TREE;
}
+/* Handle a "cleanup" attribute; arguments as in
+ struct attribute_spec.handler. */
+
+static tree
+handle_cleanup_attribute (node, name, args, flags, no_add_attrs)
+ tree *node;
+ tree name;
+ tree args;
+ int flags ATTRIBUTE_UNUSED;
+ bool *no_add_attrs;
+{
+ tree decl = *node;
+ tree cleanup_id, cleanup_decl;
+
+ /* ??? Could perhaps support cleanups on TREE_STATIC, much like we do
+ for global destructors in C++. This requires infrastructure that
+ we don't have generically at the moment. It's also not a feature
+ we'd be missing too much, since we do have attribute constructor. */
+ if (TREE_CODE (decl) != VAR_DECL || TREE_STATIC (decl))
+ {
+ warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ *no_add_attrs = true;
+ return NULL_TREE;
+ }
+
+ /* Verify that the argument is a function in scope. */
+ /* ??? We could support pointers to functions here as well, if
+ that was considered desirable. */
+ cleanup_id = TREE_VALUE (args);
+ if (TREE_CODE (cleanup_id) != IDENTIFIER_NODE)
+ {
+ error ("cleanup arg not an identifier");
+ *no_add_attrs = true;
+ return NULL_TREE;
+ }
+ cleanup_decl = lookup_name (cleanup_id);
+ if (!cleanup_decl || TREE_CODE (cleanup_decl) != FUNCTION_DECL)
+ {
+ error ("cleanup arg not a function");
+ *no_add_attrs = true;
+ return NULL_TREE;
+ }
+
+ /* That the function has proper type is checked with the
+ eventual call to build_function_call. */
+
+ return NULL_TREE;
+}
+
/* Handle a "deprecated" attribute; arguments as in
struct attribute_spec.handler. */
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index bb7d881ba80..37b22a71ac3 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -46,6 +46,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "timevar.h"
#include "c-common.h"
#include "c-pragma.h"
+#include "libfuncs.h"
+#include "except.h"
/* In grokdeclarator, distinguish syntactic contexts of declarators. */
enum decl_context
@@ -283,6 +285,7 @@ static tree c_make_fname_decl PARAMS ((tree, int));
static void c_expand_body PARAMS ((tree, int, int));
static void warn_if_shadowing PARAMS ((tree, tree));
static bool flexible_array_type_p PARAMS ((tree));
+static tree set_save_expr_context PARAMS ((tree *, int *, void *));
/* States indicating how grokdeclarator() should handle declspecs marked
with __attribute__((deprecated)). An object declared as
@@ -1138,6 +1141,13 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
}
}
error_with_decl (olddecl, "previous declaration of `%s'");
+
+ /* This is safer because the initializer might contain references
+ to variables that were declared between olddecl and newdecl. This
+ will make the initializer invalid for olddecl in case it gets
+ assigned to olddecl below. */
+ if (TREE_CODE (newdecl) == VAR_DECL)
+ DECL_INITIAL (newdecl) = 0;
}
/* TLS cannot follow non-TLS declaration. */
else if (TREE_CODE (olddecl) == VAR_DECL && TREE_CODE (newdecl) == VAR_DECL
@@ -3160,6 +3170,41 @@ finish_decl (decl, init, asmspec_tree)
computing them in the following function definition. */
if (current_binding_level == global_binding_level)
get_pending_sizes ();
+
+ /* Install a cleanup (aka destructor) if one was given. */
+ if (TREE_CODE (decl) == VAR_DECL && !TREE_STATIC (decl))
+ {
+ tree attr = lookup_attribute ("cleanup", DECL_ATTRIBUTES (decl));
+ if (attr)
+ {
+ static bool eh_initialized_p;
+
+ tree cleanup_id = TREE_VALUE (TREE_VALUE (attr));
+ tree cleanup_decl = lookup_name (cleanup_id);
+ tree cleanup;
+
+ /* Build "cleanup(&decl)" for the destructor. */
+ cleanup = build_unary_op (ADDR_EXPR, decl, 0);
+ cleanup = build_tree_list (NULL_TREE, cleanup);
+ cleanup = build_function_call (cleanup_decl, cleanup);
+
+ /* Don't warn about decl unused; the cleanup uses it. */
+ TREE_USED (decl) = 1;
+
+ /* Initialize EH, if we've been told to do so. */
+ if (flag_exceptions && !eh_initialized_p)
+ {
+ eh_initialized_p = true;
+ eh_personality_libfunc
+ = init_one_libfunc (USING_SJLJ_EXCEPTIONS
+ ? "__gcc_personality_sj0"
+ : "__gcc_personality_v0");
+ using_eh_for_cleanups ();
+ }
+
+ add_stmt (build_stmt (CLEANUP_STMT, decl, cleanup));
+ }
+ }
}
/* Given a parsed parameter declaration,
@@ -4065,7 +4110,20 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
}
if (size_varies)
- itype = variable_size (itype);
+ {
+ /* We must be able to distinguish the
+ SAVE_EXPR_CONTEXT for the variably-sized type
+ so that we can set it correctly in
+ set_save_expr_context. The convention is
+ that all SAVE_EXPRs that need to be reset
+ have NULL_TREE for their SAVE_EXPR_CONTEXT. */
+ tree cfd = current_function_decl;
+ if (decl_context == PARM)
+ current_function_decl = NULL_TREE;
+ itype = variable_size (itype);
+ if (decl_context == PARM)
+ current_function_decl = cfd;
+ }
itype = build_index_type (itype);
}
}
@@ -4544,6 +4602,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
needed, and let dwarf2 know that the function is inlinable. */
else if (flag_inline_trees == 2 && initialized)
{
+ if (!DECL_INLINE (decl))
+ DID_INLINE_FUNC (decl) = 1;
DECL_INLINE (decl) = 1;
DECL_DECLARED_INLINE_P (decl) = 0;
}
@@ -5217,18 +5277,6 @@ finish_struct (t, fieldlist, attributes)
}
}
- else if (TREE_TYPE (x) != error_mark_node)
- {
- unsigned int min_align = (DECL_PACKED (x) ? BITS_PER_UNIT
- : TYPE_ALIGN (TREE_TYPE (x)));
-
- /* Non-bit-fields are aligned for their type, except packed
- fields which require only BITS_PER_UNIT alignment. */
- DECL_ALIGN (x) = MAX (DECL_ALIGN (x), min_align);
- if (! DECL_PACKED (x))
- DECL_USER_ALIGN (x) |= TYPE_USER_ALIGN (TREE_TYPE (x));
- }
-
DECL_INITIAL (x) = 0;
/* Detect flexible array member in an invalid context. */
@@ -6417,6 +6465,26 @@ c_expand_deferred_function (fndecl)
}
}
+/* Called to move the SAVE_EXPRs for parameter declarations in a
+ nested function into the nested function. DATA is really the
+ nested FUNCTION_DECL. */
+
+static tree
+set_save_expr_context (tp, walk_subtrees, data)
+ tree *tp;
+ int *walk_subtrees;
+ void *data;
+{
+ if (TREE_CODE (*tp) == SAVE_EXPR && !SAVE_EXPR_CONTEXT (*tp))
+ SAVE_EXPR_CONTEXT (*tp) = (tree) data;
+ /* Do not walk back into the SAVE_EXPR_CONTEXT; that will cause
+ circularity. */
+ else if (DECL_P (*tp))
+ *walk_subtrees = 0;
+
+ return NULL_TREE;
+}
+
/* Generate the RTL for the body of FNDECL. If NESTED_P is nonzero,
then we are already in the process of generating RTL for another
function. If can_defer_p is zero, we won't attempt to defer the
@@ -6428,12 +6496,19 @@ c_expand_body (fndecl, nested_p, can_defer_p)
int nested_p, can_defer_p;
{
int uninlinable = 1;
+ int saved_lineno;
+ const char *saved_input_filename;
/* There's no reason to do any of the work here if we're only doing
semantic analysis; this code just generates RTL. */
if (flag_syntax_only)
return;
+ saved_lineno = lineno;
+ saved_input_filename = input_filename;
+ lineno = DECL_SOURCE_LINE (fndecl);
+ input_filename = DECL_SOURCE_FILE (fndecl);
+
if (flag_inline_trees)
{
/* First, cache whether the current function is inlinable. Some
@@ -6451,6 +6526,8 @@ c_expand_body (fndecl, nested_p, can_defer_p)
/* Let the back-end know that this function exists. */
(*debug_hooks->deferred_inline_function) (fndecl);
timevar_pop (TV_INTEGRATION);
+ lineno = saved_lineno;
+ input_filename = saved_input_filename;
return;
}
@@ -6472,7 +6549,6 @@ c_expand_body (fndecl, nested_p, can_defer_p)
/* Initialize the RTL code for the function. */
current_function_decl = fndecl;
- input_filename = DECL_SOURCE_FILE (fndecl);
init_function_start (fndecl, input_filename, DECL_SOURCE_LINE (fndecl));
/* This function is being processed in whole-function mode. */
@@ -6488,6 +6564,15 @@ c_expand_body (fndecl, nested_p, can_defer_p)
/* Set up parameters and prepare for return, for the function. */
expand_function_start (fndecl, 0);
+ /* If the function has a variably modified type, there may be
+ SAVE_EXPRs in the parameter types. Their context must be set to
+ refer to this function; they cannot be expanded in the containing
+ function. */
+ if (decl_function_context (fndecl)
+ && variably_modified_type_p (TREE_TYPE (fndecl)))
+ walk_tree (&TREE_TYPE (fndecl), set_save_expr_context, fndecl,
+ NULL);
+
/* If this function is `main', emit a call to `__main'
to run global initializers, etc. */
if (DECL_NAME (fndecl)
@@ -6497,7 +6582,9 @@ c_expand_body (fndecl, nested_p, can_defer_p)
/* Generate the RTL for this function. */
expand_stmt (DECL_SAVED_TREE (fndecl));
- if (uninlinable)
+
+ /* Keep the function body if it's needed for inlining or dumping. */
+ if (uninlinable && !dump_enabled_p (TDI_all))
{
/* Allow the body of the function to be garbage collected. */
DECL_SAVED_TREE (fndecl) = NULL_TREE;
@@ -6598,6 +6685,9 @@ c_expand_body (fndecl, nested_p, can_defer_p)
/* Return to the enclosing function. */
pop_function_context ();
timevar_pop (TV_EXPAND);
+
+ lineno = saved_lineno;
+ input_filename = saved_input_filename;
}
/* Check the declarations given in a for-loop for satisfying the C99
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index f2e9d5d1629..a60fbb0937e 100644
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -706,6 +706,7 @@ c_lex (value)
{
case CPP_N_INVALID:
/* cpplib has issued an error. */
+ *value = error_mark_node;
break;
case CPP_N_INTEGER:
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c
index 2d67b8f21c0..9f3847c3d69 100644
--- a/gcc/c-objc-common.c
+++ b/gcc/c-objc-common.c
@@ -213,7 +213,8 @@ c_cannot_inline_tree_fn (fnp)
return 0;
}
- if (walk_tree (&DECL_SAVED_TREE (fn), inline_forbidden_p, fn, NULL))
+ if (walk_tree_without_duplicates
+ (&DECL_SAVED_TREE (fn), inline_forbidden_p, fn))
goto cannot_inline;
return 0;
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index b8e5fe52bb4..77a468ab184 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -56,7 +56,7 @@ static size_t deferred_count, deferred_size;
static void missing_arg PARAMS ((size_t));
static size_t find_opt PARAMS ((const char *, int));
static void set_Wimplicit PARAMS ((int));
-static void complain_wrong_lang PARAMS ((size_t));
+static void complain_wrong_lang PARAMS ((size_t, int));
static void write_langs PARAMS ((char *, int));
static void print_help PARAMS ((void));
static void handle_OPT_d PARAMS ((const char *));
@@ -208,6 +208,8 @@ static void sanitize_cpp_opts PARAMS ((void));
OPT("fenforce-eh-specs", CL_CXX, OPT_fenforce_eh_specs) \
OPT("fenum-int-equiv", CL_CXX, OPT_fenum_int_equiv) \
OPT("fexternal-templates", CL_CXX, OPT_fexternal_templates) \
+ OPT("ffixed-form", CL_C, OPT_ffixed_form) \
+ OPT("ffixed-line-length-", CL_C | CL_JOINED, OPT_ffixed_line_length) \
OPT("ffor-scope", CL_CXX, OPT_ffor_scope) \
OPT("ffreestanding", CL_C, OPT_ffreestanding) \
OPT("fgnu-keywords", CL_CXX, OPT_fgnu_keywords) \
@@ -612,7 +614,7 @@ c_common_decode_option (argc, argv)
after the call to find_opt, and return argc. */
if (!(cl_options[opt_index].flags & lang_flag))
{
- complain_wrong_lang (opt_index);
+ complain_wrong_lang (opt_index, on);
goto done;
}
@@ -697,7 +699,8 @@ c_common_decode_option (argc, argv)
warn_parentheses = on;
warn_return_type = on;
warn_sequence_point = on; /* Was C only. */
- warn_sign_compare = on; /* Was C++ only. */
+ if (c_language == clk_cplusplus)
+ warn_sign_compare = on;
warn_switch = on;
warn_strict_aliasing = on;
@@ -1127,6 +1130,13 @@ c_common_decode_option (argc, argv)
flag_external_templates = on;
goto cp_deprecated;
+ case OPT_ffixed_form:
+ case OPT_ffixed_line_length:
+ /* Fortran front end options ignored when preprocessing only. */
+ if (flag_preprocess_only)
+ result = -1;
+ break;
+
case OPT_ffor_scope:
flag_new_for_scope = on;
break;
@@ -1693,16 +1703,18 @@ write_langs (buf, flags)
/* Complain that switch OPT_INDEX does not apply to this front end. */
static void
-complain_wrong_lang (opt_index)
+complain_wrong_lang (opt_index, on)
size_t opt_index;
+ int on;
{
char ok_langs[60], bad_langs[60];
int ok_flags = cl_options[opt_index].flags;
write_langs (ok_langs, ok_flags);
write_langs (bad_langs, ~ok_flags);
- warning ("\"-%s\" is valid for %s but not for %s",
- cl_options[opt_index].opt_text, ok_langs, bad_langs);
+ warning ("\"-%c%s%s\" is valid for %s but not for %s",
+ cl_options[opt_index].opt_text[0], on ? "" : "no-",
+ cl_options[opt_index].opt_text + 1, ok_langs, bad_langs);
}
/* Handle --help output. */
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index eab176a62f7..59e399bc3b4 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -28,9 +28,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* To whomever it may concern: I have heard that such a thing was once
written by AT&T, but I have never seen it. */
-ifobjc
-%expect 32 /* shift/reduce conflicts, and 1 reduce/reduce conflict. */
-end ifobjc
ifc
%expect 10 /* shift/reduce conflicts, and no reduce/reduce conflicts. */
end ifc
diff --git a/gcc/c-pragma.c b/gcc/c-pragma.c
index 4c43baa9b0d..73c7d5ff545 100644
--- a/gcc/c-pragma.c
+++ b/gcc/c-pragma.c
@@ -447,7 +447,7 @@ maybe_apply_renaming_pragma (decl, asmname)
{
const char *oldasmname = IDENTIFIER_POINTER (oldname) + 1;
if (asmname && strcmp (TREE_STRING_POINTER (asmname), oldasmname) != 0)
- warning ("asm declaration conficts with previous rename");
+ warning ("asm declaration conflicts with previous rename");
asmname = build_string (strlen (oldasmname), oldasmname);
}
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c
index 994b4625da5..8559fa17a75 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,
@@ -838,7 +838,8 @@ expand_stmt (t)
case GOTO_STMT:
/* Emit information for branch prediction. */
if (!GOTO_FAKE_P (t)
- && TREE_CODE (GOTO_DESTINATION (t)) == LABEL_DECL)
+ && TREE_CODE (GOTO_DESTINATION (t)) == LABEL_DECL
+ && flag_guess_branch_prob)
{
rtx note = emit_note (NULL, NOTE_INSN_PREDICTION);
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index c63344d6682..21cc5109695 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -1144,7 +1144,7 @@ build_component_ref (datum, component)
end does it - by giving the anonymous entities each a
separate name and type, and then have build_component_ref
recursively call itself. We can't do that here. */
- for (; field; field = TREE_CHAIN (field))
+ do
{
tree subdatum = TREE_VALUE (field);
@@ -1161,7 +1161,10 @@ build_component_ref (datum, component)
warn_deprecated_use (subdatum);
datum = ref;
+
+ field = TREE_CHAIN (field);
}
+ while (field);
return ref;
}
@@ -1455,6 +1458,17 @@ build_external_ref (id, fun)
ref = DECL_INITIAL (ref);
TREE_CONSTANT (ref) = 1;
}
+ else if (current_function_decl != 0
+ && DECL_CONTEXT (current_function_decl) != 0
+ && (TREE_CODE (ref) == VAR_DECL
+ || TREE_CODE (ref) == PARM_DECL
+ || TREE_CODE (ref) == FUNCTION_DECL))
+ {
+ tree context = decl_function_context (ref);
+
+ if (context != 0 && context != current_function_decl)
+ DECL_NONLOCAL (ref) = 1;
+ }
return ref;
}
@@ -3331,7 +3345,7 @@ c_mark_addressable (exp)
pedwarn ("address of register variable `%s' requested",
IDENTIFIER_POINTER (DECL_NAME (x)));
}
- put_var_into_stack (x);
+ put_var_into_stack (x, /*rescan=*/true);
/* drops in */
case FUNCTION_DECL:
@@ -5266,6 +5280,7 @@ push_init_level (implicit)
&& constructor_fields == 0)
process_init_element (pop_init_level (1));
else if (TREE_CODE (constructor_type) == ARRAY_TYPE
+ && constructor_max_index
&& tree_int_cst_lt (constructor_max_index, constructor_index))
process_init_element (pop_init_level (1));
else
@@ -6618,13 +6633,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 +6877,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..b5a51236d67 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1,6 +1,6 @@
/* Convert function calls to rtl insns, for GNU C compiler.
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998
- 1999, 2000, 2001 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -35,6 +35,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "sbitmap.h"
#include "langhooks.h"
#include "target.h"
+#include "except.h"
#if !defined FUNCTION_OK_FOR_SIBCALL
#define FUNCTION_OK_FOR_SIBCALL(DECL) 1
@@ -227,6 +228,7 @@ static int check_sibcall_argument_overlap PARAMS ((rtx, struct arg_data *));
static int combine_pending_stack_adjustment_and_call
PARAMS ((int, struct args_size *, int));
+static tree fix_unsafe_tree PARAMS ((tree));
#ifdef REG_PARM_STACK_SPACE
static rtx save_fixed_argument_area PARAMS ((int, rtx, int *, int *));
@@ -616,6 +618,8 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
if (ecf_flags & ECF_NOTHROW)
REG_NOTES (call_insn) = gen_rtx_EXPR_LIST (REG_EH_REGION, const0_rtx,
REG_NOTES (call_insn));
+ else
+ note_eh_region_may_contain_throw ();
if (ecf_flags & ECF_NORETURN)
REG_NOTES (call_insn) = gen_rtx_EXPR_LIST (REG_NORETURN, const0_rtx,
@@ -1662,6 +1666,7 @@ compute_argument_addresses (args, argblock, num_actuals)
addr = plus_constant (addr, arg_offset);
args[i].stack = gen_rtx_MEM (args[i].mode, addr);
+ set_mem_align (args[i].stack, PARM_BOUNDARY);
set_mem_attributes (args[i].stack,
TREE_TYPE (args[i].tree_value), 1);
@@ -1672,6 +1677,7 @@ compute_argument_addresses (args, argblock, num_actuals)
addr = plus_constant (addr, arg_offset);
args[i].stack_slot = gen_rtx_MEM (args[i].mode, addr);
+ set_mem_align (args[i].stack_slot, PARM_BOUNDARY);
set_mem_attributes (args[i].stack_slot,
TREE_TYPE (args[i].tree_value), 1);
@@ -1691,12 +1697,12 @@ compute_argument_addresses (args, argblock, num_actuals)
FNDECL is the tree node for the target function. For an indirect call
FNDECL will be NULL_TREE.
- EXP is the CALL_EXPR for this call. */
+ ADDR is the operand 0 of CALL_EXPR for this call. */
static rtx
-rtx_for_function_call (fndecl, exp)
+rtx_for_function_call (fndecl, addr)
tree fndecl;
- tree exp;
+ tree addr;
{
rtx funexp;
@@ -1720,7 +1726,7 @@ rtx_for_function_call (fndecl, exp)
rtx funaddr;
push_temp_slots ();
funaddr = funexp
- = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
+ = expand_expr (addr, NULL_RTX, VOIDmode, 0);
pop_temp_slots (); /* FUNEXP can't be BLKmode. */
emit_queue ();
}
@@ -2081,6 +2087,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.
@@ -2192,6 +2227,7 @@ expand_call (exp, target, ignore)
int old_stack_allocated;
rtx call_fusage;
tree p = TREE_OPERAND (exp, 0);
+ tree addr = TREE_OPERAND (exp, 0);
int i;
/* The alignment of the stack, in bits. */
HOST_WIDE_INT preferred_stack_boundary;
@@ -2313,7 +2349,7 @@ expand_call (exp, target, ignore)
preferred_stack_boundary = PREFERRED_STACK_BOUNDARY;
/* Operand 0 is a pointer-to-function; get the type of the function. */
- funtype = TREE_TYPE (TREE_OPERAND (exp, 0));
+ funtype = TREE_TYPE (addr);
if (! POINTER_TYPE_P (funtype))
abort ();
funtype = TREE_TYPE (funtype);
@@ -2450,8 +2486,8 @@ expand_call (exp, target, ignore)
/* Tail recursion fails, when we are not dealing with recursive calls. */
if (!try_tail_recursion
- || TREE_CODE (TREE_OPERAND (exp, 0)) != ADDR_EXPR
- || TREE_OPERAND (TREE_OPERAND (exp, 0), 0) != current_function_decl)
+ || TREE_CODE (addr) != ADDR_EXPR
+ || TREE_OPERAND (addr, 0) != current_function_decl)
try_tail_recursion = 0;
/* Rest of purposes for tail call optimizations to fail. */
@@ -2482,10 +2518,11 @@ expand_call (exp, target, ignore)
|| args_size.constant > current_function_args_size
/* If the callee pops its own arguments, then it must pop exactly
the same number of arguments as the current function. */
- || RETURN_POPS_ARGS (fndecl, funtype, args_size.constant)
- != RETURN_POPS_ARGS (current_function_decl,
- TREE_TYPE (current_function_decl),
- current_function_args_size))
+ || (RETURN_POPS_ARGS (fndecl, funtype, args_size.constant)
+ != RETURN_POPS_ARGS (current_function_decl,
+ TREE_TYPE (current_function_decl),
+ current_function_args_size))
+ || !(*lang_hooks.decls.ok_for_sibcall) (fndecl))
try_tail_call = 0;
if (try_tail_call || try_tail_recursion)
@@ -2522,35 +2559,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)
+ addr = fix_unsafe_tree (addr);
/* Expanding one of those dangerous arguments could have added
cleanups, but otherwise give it a whirl. */
if (any_pending_cleanups (1))
@@ -2944,7 +2962,7 @@ expand_call (exp, target, ignore)
be deferred during the evaluation of the arguments. */
NO_DEFER_POP;
- funexp = rtx_for_function_call (fndecl, exp);
+ funexp = rtx_for_function_call (fndecl, addr);
/* Figure out the register where the value, if any, will come back. */
valreg = 0;
@@ -4131,7 +4149,7 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
{
rtx insns;
- if (valreg == 0 || GET_CODE (valreg) == PARALLEL)
+ if (valreg == 0)
{
insns = get_insns ();
end_sequence ();
@@ -4140,9 +4158,18 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
else
{
rtx note = 0;
- rtx temp = gen_reg_rtx (GET_MODE (valreg));
+ rtx temp;
int i;
+ if (GET_CODE (valreg) == PARALLEL)
+ {
+ temp = gen_reg_rtx (outmode);
+ emit_group_store (temp, valreg, outmode);
+ valreg = temp;
+ }
+
+ temp = gen_reg_rtx (GET_MODE (valreg));
+
/* Construct an "equal form" for the value which mentions all the
arguments in order as well as the function name. */
for (i = 0; i < nargs; i++)
@@ -4176,6 +4203,12 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
if (value != mem_value)
emit_move_insn (value, mem_value);
}
+ else if (GET_CODE (valreg) == PARALLEL)
+ {
+ if (value == 0)
+ value = gen_reg_rtx (outmode);
+ emit_group_store (value, valreg, outmode);
+ }
else if (value != 0)
emit_move_insn (value, valreg);
else
@@ -4394,13 +4427,6 @@ store_one_arg (arg, argblock, flags, variable_size, reg_parm_stack_space)
}
}
}
- /* Now that we have saved any slots that will be overwritten by this
- store, mark all slots this store will use. We must do this before
- we actually expand the argument since the expansion itself may
- trigger library calls which might need to use the same stack slot. */
- if (argblock && ! variable_size && arg->stack)
- for (i = lower_bound; i < upper_bound; i++)
- stack_usage_map[i] = 1;
}
/* If this isn't going to be placed on both the stack and in registers,
@@ -4453,7 +4479,7 @@ store_one_arg (arg, argblock, flags, variable_size, reg_parm_stack_space)
(partial
|| TYPE_MODE (TREE_TYPE (pval)) != arg->mode)
? NULL_RTX : arg->stack,
- VOIDmode, 0);
+ VOIDmode, EXPAND_STACK_PARM);
/* If we are promoting object (or for any other reason) the mode
doesn't agree, convert the mode. */
@@ -4596,37 +4622,6 @@ store_one_arg (arg, argblock, flags, variable_size, reg_parm_stack_space)
}
}
- /* Special handling is required if part of the parameter lies in the
- register parameter area. The argument may be copied into the stack
- slot using memcpy(), but the original contents of the register
- parameter area will be restored after the memcpy() call.
-
- To ensure that the part that lies in the register parameter area
- is copied correctly, we emit a separate push for that part. This
- push should be small enough to avoid a call to memcpy(). */
-#ifndef STACK_PARMS_IN_REG_PARM_AREA
- if (arg->reg && arg->pass_on_stack)
-#else
- if (1)
-#endif
- {
- if (arg->offset.constant < reg_parm_stack_space && arg->offset.var)
- error ("variable offset is passed partially in stack and in reg");
- else if (arg->offset.constant < reg_parm_stack_space && arg->size.var)
- error ("variable size is passed partially in stack and in reg");
- else if (arg->offset.constant < reg_parm_stack_space
- && ((arg->offset.constant + arg->size.constant)
- > reg_parm_stack_space))
- {
- rtx size_rtx1 = GEN_INT (reg_parm_stack_space - arg->offset.constant);
- emit_push_insn (arg->value, arg->mode, TREE_TYPE (pval), size_rtx1,
- parm_align, partial, reg, excess, argblock,
- ARGS_SIZE_RTX (arg->offset), reg_parm_stack_space,
- ARGS_SIZE_RTX (arg->alignment_pad));
- }
- }
-
-
emit_push_insn (arg->value, arg->mode, TREE_TYPE (pval), size_rtx,
parm_align, partial, reg, excess, argblock,
ARGS_SIZE_RTX (arg->offset), reg_parm_stack_space,
@@ -4644,6 +4639,12 @@ store_one_arg (arg, argblock, flags, variable_size, reg_parm_stack_space)
arg->value = arg->stack_slot;
}
+ /* Mark all slots this store used. */
+ if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL)
+ && argblock && ! variable_size && arg->stack)
+ for (i = lower_bound; i < upper_bound; i++)
+ stack_usage_map[i] = 1;
+
/* Once we have pushed something, pops can't safely
be deferred during the rest of the arguments. */
NO_DEFER_POP;
diff --git a/gcc/cfg.c b/gcc/cfg.c
index 9dc69d88348..2d115809608 100644
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -288,6 +288,40 @@ expunge_block (b)
first_deleted_block = (basic_block) b;
}
+/* Create an edge connecting SRC and DEST with flags FLAGS. Return newly
+ created edge. Use this only if you are sure that this edge can't
+ possibly already exist. */
+
+edge
+unchecked_make_edge (src, dst, flags)
+ basic_block src, dst;
+ int flags;
+{
+ edge e;
+
+ if (first_deleted_edge)
+ {
+ e = first_deleted_edge;
+ first_deleted_edge = e->succ_next;
+ }
+ else
+ {
+ e = (edge) obstack_alloc (&flow_obstack, sizeof *e);
+ memset (e, 0, sizeof *e);
+ }
+ n_edges++;
+
+ e->succ_next = src->succ;
+ e->pred_next = dst->pred;
+ e->src = src;
+ e->dest = dst;
+ e->flags = flags;
+
+ src->succ = e;
+ dst->pred = e;
+
+ return e;
+}
/* Create an edge connecting SRC and DST with FLAGS optionally using
edge cache CACHE. Return the new edge, NULL if already exist. */
@@ -328,26 +362,7 @@ cached_make_edge (edge_cache, src, dst, flags)
break;
}
- if (first_deleted_edge)
- {
- e = first_deleted_edge;
- first_deleted_edge = e->succ_next;
- }
- else
- {
- e = (edge) obstack_alloc (&flow_obstack, sizeof *e);
- memset (e, 0, sizeof *e);
- }
- n_edges++;
-
- e->succ_next = src->succ;
- e->pred_next = dst->pred;
- e->src = src;
- e->dest = dst;
- e->flags = flags;
-
- src->succ = e;
- dst->pred = e;
+ e = unchecked_make_edge (src, dst, flags);
if (use_edge_cache)
SET_BIT (edge_cache[src->index], dst->index);
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/cfgcleanup.c b/gcc/cfgcleanup.c
index 67ddfa90b89..b0d59601c8a 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -43,6 +43,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "recog.h"
#include "toplev.h"
#include "cselib.h"
+#include "params.h"
#include "tm_p.h"
#include "target.h"
@@ -499,7 +500,7 @@ try_forward_edges (mode, b)
For fallthru forwarders, the LOOP_BEG note must appear between
the header of block and CODE_LABEL of the loop, for non forwarders
it must appear before the JUMP_INSN. */
- if (mode & CLEANUP_PRE_LOOP)
+ if ((mode & CLEANUP_PRE_LOOP) && optimize)
{
rtx insn = (target->succ->flags & EDGE_FALLTHRU
? target->head : prev_nonnote_insn (target->end));
@@ -1117,9 +1118,11 @@ outgoing_edges_match (mode, bb1, bb2)
/* If BB1 has only one successor, we may be looking at either an
unconditional jump, or a fake edge to exit. */
if (bb1->succ && !bb1->succ->succ_next
- && !(bb1->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)))
+ && (bb1->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0
+ && (GET_CODE (bb1->end) != JUMP_INSN || simplejump_p (bb1->end)))
return (bb2->succ && !bb2->succ->succ_next
- && (bb2->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0);
+ && (bb2->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0
+ && (GET_CODE (bb2->end) != JUMP_INSN || simplejump_p (bb2->end)));
/* Match conditional jumps - this may get tricky when fallthru and branch
edges are crossed. */
@@ -1471,7 +1474,7 @@ try_crossjump_bb (mode, bb)
{
edge e, e2, nexte2, nexte, fallthru;
bool changed;
- int n = 0;
+ int n = 0, max;
/* Nothing to do if there is not at least two incoming edges. */
if (!bb->pred || !bb->pred->pred_next)
@@ -1480,11 +1483,13 @@ try_crossjump_bb (mode, bb)
/* It is always cheapest to redirect a block that ends in a branch to
a block that falls through into BB, as that adds no branches to the
program. We'll try that combination first. */
- for (fallthru = bb->pred; fallthru; fallthru = fallthru->pred_next, n++)
+ fallthru = NULL;
+ max = PARAM_VALUE (PARAM_MAX_CROSSJUMP_EDGES);
+ for (e = bb->pred; e ; e = e->pred_next, n++)
{
- if (fallthru->flags & EDGE_FALLTHRU)
- break;
- if (n > 100)
+ if (e->flags & EDGE_FALLTHRU)
+ fallthru = e;
+ if (n > max)
return false;
}
@@ -1671,7 +1676,9 @@ try_optimize_cfg (mode)
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (b->end) != JUMP_INSN
- || simplejump_p (b->end))
+ || (flow2_completed
+ ? simplejump_p (b->end)
+ : onlyjump_p (b->end)))
&& merge_blocks (s, b, c, mode))
changed_here = true;
@@ -1799,6 +1806,7 @@ cleanup_cfg (mode)
break;
}
else if (!(mode & (CLEANUP_NO_INSN_DEL | CLEANUP_PRE_SIBCALL))
+ && (mode & CLEANUP_EXPENSIVE)
&& !reload_completed)
{
if (!delete_trivially_dead_insns (get_insns(), max_reg_num ()))
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 3214e808886..ca5f4751a41 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -460,11 +460,44 @@ fixup_reorder_chain ()
&& e_fall->dest == EXIT_BLOCK_PTR))
continue;
+ if (!e_taken)
+ e_taken = e_fall;
+
+ /* The degenerated case of conditional jump jumping to the next
+ instruction can happen on target having jumps with side
+ effects.
+
+ Create temporarily the duplicated edge representing branch.
+ It will get unidentified by force_nonfallthru_and_redirect
+ that would otherwise get confused by fallthru edge not pointing
+ to the next basic block. */
+ if (!e_taken)
+ {
+ rtx note;
+ edge e_fake;
+
+ e_fake = unchecked_make_edge (bb, e_fall->dest, 0);
+
+ note = find_reg_note (bb->end, REG_BR_PROB, NULL_RTX);
+ if (note)
+ {
+ int prob = INTVAL (XEXP (note, 0));
+
+ e_fake->probability = prob;
+ e_fake->count = e_fall->count * prob / REG_BR_PROB_BASE;
+ e_fall->probability -= e_fall->probability;
+ e_fall->count -= e_fake->count;
+ if (e_fall->probability < 0)
+ e_fall->probability = 0;
+ if (e_fall->count < 0)
+ e_fall->count = 0;
+ }
+ }
/* There is one special case: if *neither* block is next,
such as happens at the very end of a function, then we'll
need to add a new unconditional jump. Choose the taken
edge based on known or assumed probability. */
- if (RBI (bb)->next != e_taken->dest)
+ else if (RBI (bb)->next != e_taken->dest)
{
rtx note = find_reg_note (bb_end_insn, REG_BR_PROB, 0);
@@ -836,6 +869,13 @@ cfg_layout_redirect_edge (e, dest)
src->next_bb = NULL;
if (e->flags & EDGE_FALLTHRU)
{
+ /* Redirect any branch edges unified with the fallthru one. */
+ if (GET_CODE (src->end) == JUMP_INSN
+ && JUMP_LABEL (src->end) == e->dest->head)
+ {
+ if (!redirect_jump (src->end, block_label (dest), 0))
+ abort ();
+ }
/* In case we are redirecting fallthru edge to the branch edge
of conditional jump, remove it. */
if (src->succ->succ_next
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index c8ad0984e00..7780ca5940c 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -682,7 +682,7 @@ try_redirect_by_replacing_jump (e, target)
if (tmp || !onlyjump_p (insn))
return false;
- if (reload_completed && JUMP_LABEL (insn)
+ if (flow2_completed && JUMP_LABEL (insn)
&& (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX
&& GET_CODE (table) == JUMP_INSN
&& (GET_CODE (PATTERN (table)) == ADDR_VEC
@@ -938,6 +938,37 @@ force_nonfallthru_and_redirect (e, target)
edge new_edge;
int abnormal_edge_flags = 0;
+ /* In the case the last instruction is conditional jump to the next
+ instruction, first redirect the jump itself and then continue
+ by creating an basic block afterwards to redirect fallthru edge. */
+ if (e->src != ENTRY_BLOCK_PTR && e->dest != EXIT_BLOCK_PTR
+ && any_condjump_p (e->src->end)
+ /* When called from cfglayout, fallthru edges do not
+ neccessarily go to the next block. */
+ && e->src->next_bb == e->dest
+ && JUMP_LABEL (e->src->end) == e->dest->head)
+ {
+ rtx note;
+ edge b = unchecked_make_edge (e->src, target, 0);
+
+ if (!redirect_jump (e->src->end, block_label (target), 0))
+ abort ();
+ note = find_reg_note (e->src->end, REG_BR_PROB, NULL_RTX);
+ if (note)
+ {
+ int prob = INTVAL (XEXP (note, 0));
+
+ b->probability = prob;
+ b->count = e->count * prob / REG_BR_PROB_BASE;
+ e->probability -= e->probability;
+ e->count -= b->count;
+ if (e->probability < 0)
+ e->probability = 0;
+ if (e->count < 0)
+ e->count = 0;
+ }
+ }
+
if (e->flags & EDGE_ABNORMAL)
{
/* Irritating special case - fallthru edge to the same block as abnormal
@@ -1448,7 +1479,8 @@ commit_one_edge_insertion (e, watch_calls)
else if (GET_CODE (last) == JUMP_INSN)
abort ();
- find_sub_basic_blocks (bb);
+ /* Mark the basic block for find_sub_basic_blocks. */
+ bb->aux = &bb->aux;
}
/* Update the CFG for all queued instructions. */
@@ -1457,6 +1489,8 @@ void
commit_edge_insertions ()
{
basic_block bb;
+ sbitmap blocks;
+ bool changed = false;
#ifdef ENABLE_CHECKING
verify_flow_info ();
@@ -1470,9 +1504,26 @@ commit_edge_insertions ()
{
next = e->succ_next;
if (e->insns)
- commit_one_edge_insertion (e, false);
+ {
+ changed = true;
+ commit_one_edge_insertion (e, false);
+ }
}
}
+
+ if (!changed)
+ return;
+
+ blocks = sbitmap_alloc (last_basic_block);
+ sbitmap_zero (blocks);
+ FOR_EACH_BB (bb)
+ if (bb->aux)
+ {
+ SET_BIT (blocks, bb->index);
+ bb->aux = NULL;
+ }
+ find_many_sub_basic_blocks (blocks);
+ sbitmap_free (blocks);
}
/* Update the CFG for all queued instructions, taking special care of inserting
@@ -1482,6 +1533,8 @@ void
commit_edge_insertions_watch_calls ()
{
basic_block bb;
+ sbitmap blocks;
+ bool changed = false;
#ifdef ENABLE_CHECKING
verify_flow_info ();
@@ -1495,9 +1548,26 @@ commit_edge_insertions_watch_calls ()
{
next = e->succ_next;
if (e->insns)
- commit_one_edge_insertion (e, true);
+ {
+ changed = true;
+ commit_one_edge_insertion (e, true);
+ }
}
}
+
+ if (!changed)
+ return;
+
+ blocks = sbitmap_alloc (last_basic_block);
+ sbitmap_zero (blocks);
+ FOR_EACH_BB (bb)
+ if (bb->aux)
+ {
+ SET_BIT (blocks, bb->index);
+ bb->aux = NULL;
+ }
+ find_many_sub_basic_blocks (blocks);
+ sbitmap_free (blocks);
}
/* Print out one basic block with live information at start and end. */
diff --git a/gcc/collect2.c b/gcc/collect2.c
index c26838427d7..81a2bf32d64 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1507,7 +1507,7 @@ collect_wait (prog)
int sig = WTERMSIG (status);
error ("%s terminated with signal %d [%s]%s",
prog, sig, strsignal(sig),
- status & 0200 ? "" : ", core dumped");
+ WCOREDUMP(status) ? ", core dumped" : "");
collect_exit (FATAL_EXIT_CODE);
}
diff --git a/gcc/combine.c b/gcc/combine.c
index 4d24807e486..03d0dffa6ba 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -1,6 +1,6 @@
/* Optimize by combining instructions 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.
@@ -137,6 +137,12 @@ static int max_uid_cuid;
#define UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD(val) \
(((unsigned HOST_WIDE_INT) (val) << (BITS_PER_WORD - 1)) << 1)
+#define nonzero_bits(X, M) \
+ cached_nonzero_bits (X, M, NULL_RTX, VOIDmode, 0)
+
+#define num_sign_bit_copies(X, M) \
+ cached_num_sign_bit_copies (X, M, NULL_RTX, VOIDmode, 0)
+
/* Maximum register number, which is the size of the tables below. */
static unsigned int combine_max_regno;
@@ -202,7 +208,7 @@ static sbitmap refresh_blocks;
static int need_refresh;
/* The next group of arrays allows the recording of the last value assigned
- to (hard or pseudo) register n. We use this information to see if a
+ to (hard or pseudo) register n. We use this information to see if an
operation being processed is redundant given a prior operation performed
on the register. For example, an `and' with a constant is redundant if
all the zero bits are already known to be turned off.
@@ -375,8 +381,20 @@ static rtx make_field_assignment PARAMS ((rtx));
static rtx apply_distributive_law PARAMS ((rtx));
static rtx simplify_and_const_int PARAMS ((rtx, enum machine_mode, rtx,
unsigned HOST_WIDE_INT));
-static unsigned HOST_WIDE_INT nonzero_bits PARAMS ((rtx, enum machine_mode));
-static unsigned int num_sign_bit_copies PARAMS ((rtx, enum machine_mode));
+static unsigned HOST_WIDE_INT cached_nonzero_bits
+ PARAMS ((rtx, enum machine_mode, rtx,
+ enum machine_mode,
+ unsigned HOST_WIDE_INT));
+static unsigned HOST_WIDE_INT nonzero_bits1
+ PARAMS ((rtx, enum machine_mode, rtx,
+ enum machine_mode,
+ unsigned HOST_WIDE_INT));
+static unsigned int cached_num_sign_bit_copies
+ PARAMS ((rtx, enum machine_mode, rtx,
+ enum machine_mode, unsigned int));
+static unsigned int num_sign_bit_copies1
+ PARAMS ((rtx, enum machine_mode, rtx,
+ enum machine_mode, unsigned int));
static int merge_outer_ops PARAMS ((enum rtx_code *, HOST_WIDE_INT *,
enum rtx_code, HOST_WIDE_INT,
enum machine_mode, int *));
@@ -4914,7 +4932,9 @@ simplify_if_then_else (x)
neither 1 or -1, but it isn't worth checking for. */
if ((STORE_FLAG_VALUE == 1 || STORE_FLAG_VALUE == -1)
- && comparison_p && mode != VOIDmode && ! side_effects_p (x))
+ && comparison_p
+ && GET_MODE_CLASS (mode) == MODE_INT
+ && ! side_effects_p (x))
{
rtx t = make_compound_operation (true_rtx, SET);
rtx f = make_compound_operation (false_rtx, SET);
@@ -5256,8 +5276,8 @@ simplify_set (x)
#ifdef CANNOT_CHANGE_MODE_CLASS
&& ! (GET_CODE (dest) == REG && REGNO (dest) < FIRST_PSEUDO_REGISTER
&& REG_CANNOT_CHANGE_MODE_P (REGNO (dest),
- GET_MODE (src),
- GET_MODE (SUBREG_REG (src))))
+ GET_MODE (SUBREG_REG (src)),
+ GET_MODE (src)))
#endif
&& (GET_CODE (dest) == REG
|| (GET_CODE (dest) == SUBREG
@@ -6734,7 +6754,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));
}
@@ -7303,7 +7323,8 @@ force_to_mode (x, mode, mask, reg, just_select)
< GET_MODE_BITSIZE (GET_MODE (x)))
&& INTVAL (XEXP (XEXP (x, 0), 1)) < HOST_BITS_PER_WIDE_INT)
{
- temp = GEN_INT (mask << INTVAL (XEXP (XEXP (x, 0), 1)));
+ temp = gen_int_mode (mask << INTVAL (XEXP (XEXP (x, 0), 1)),
+ GET_MODE (x));
temp = gen_binary (XOR, GET_MODE (x), XEXP (XEXP (x, 0), 0), temp);
x = gen_binary (LSHIFTRT, GET_MODE (x), temp, XEXP (XEXP (x, 0), 1));
@@ -8120,12 +8141,62 @@ simplify_and_const_int (x, mode, varop, constop)
return x;
}
+#define nonzero_bits_with_known(X, MODE) \
+ cached_nonzero_bits (X, MODE, known_x, known_mode, known_ret)
+
+/* The function cached_nonzero_bits is a wrapper around nonzero_bits1.
+ It avoids exponential behavior in nonzero_bits1 when X has
+ identical subexpressions on the first or the second level. */
+
+static unsigned HOST_WIDE_INT
+cached_nonzero_bits (x, mode, known_x, known_mode, known_ret)
+ rtx x;
+ enum machine_mode mode;
+ rtx known_x;
+ enum machine_mode known_mode;
+ unsigned HOST_WIDE_INT known_ret;
+{
+ if (x == known_x && mode == known_mode)
+ return known_ret;
+
+ /* Try to find identical subexpressions. If found call
+ nonzero_bits1 on X with the subexpressions as KNOWN_X and the
+ precomputed value for the subexpression as KNOWN_RET. */
+
+ if (GET_RTX_CLASS (GET_CODE (x)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x)) == 'c')
+ {
+ rtx x0 = XEXP (x, 0);
+ rtx x1 = XEXP (x, 1);
+
+ /* Check the first level. */
+ if (x0 == x1)
+ return nonzero_bits1 (x, mode, x0, mode,
+ nonzero_bits_with_known (x0, mode));
+
+ /* Check the second level. */
+ if ((GET_RTX_CLASS (GET_CODE (x0)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x0)) == 'c')
+ && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
+ return nonzero_bits1 (x, mode, x1, mode,
+ nonzero_bits_with_known (x1, mode));
+
+ if ((GET_RTX_CLASS (GET_CODE (x1)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x1)) == 'c')
+ && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
+ return nonzero_bits1 (x, mode, x0, mode,
+ nonzero_bits_with_known (x0, mode));
+ }
+
+ return nonzero_bits1 (x, mode, known_x, known_mode, known_ret);
+}
+
/* We let num_sign_bit_copies recur into nonzero_bits as that is useful.
We don't let nonzero_bits recur into num_sign_bit_copies, because that
is less useful. We can't allow both, because that results in exponential
run time recursion. There is a nullstone testcase that triggered
this. This macro avoids accidental uses of num_sign_bit_copies. */
-#define num_sign_bit_copies()
+#define cached_num_sign_bit_copies()
/* Given an expression, X, compute which bits in X can be nonzero.
We don't care about bits outside of those defined in MODE.
@@ -8134,9 +8205,12 @@ simplify_and_const_int (x, mode, varop, constop)
a shift, AND, or zero_extract, we can do better. */
static unsigned HOST_WIDE_INT
-nonzero_bits (x, mode)
+nonzero_bits1 (x, mode, known_x, known_mode, known_ret)
rtx x;
enum machine_mode mode;
+ rtx known_x;
+ enum machine_mode known_mode;
+ unsigned HOST_WIDE_INT known_ret;
{
unsigned HOST_WIDE_INT nonzero = GET_MODE_MASK (mode);
unsigned HOST_WIDE_INT inner_nz;
@@ -8174,7 +8248,7 @@ nonzero_bits (x, mode)
&& GET_MODE_BITSIZE (GET_MODE (x)) <= HOST_BITS_PER_WIDE_INT
&& GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (GET_MODE (x)))
{
- nonzero &= nonzero_bits (x, GET_MODE (x));
+ nonzero &= nonzero_bits_with_known (x, GET_MODE (x));
nonzero |= GET_MODE_MASK (mode) & ~GET_MODE_MASK (GET_MODE (x));
return nonzero;
}
@@ -8256,7 +8330,7 @@ nonzero_bits (x, mode)
| ((HOST_WIDE_INT) (-1)
<< GET_MODE_BITSIZE (GET_MODE (x))));
#endif
- return nonzero_bits (tem, mode) & nonzero;
+ return nonzero_bits_with_known (tem, mode) & nonzero;
}
else if (nonzero_sign_valid && reg_nonzero_bits[REGNO (x)])
{
@@ -8331,11 +8405,12 @@ nonzero_bits (x, mode)
break;
case TRUNCATE:
- nonzero &= (nonzero_bits (XEXP (x, 0), mode) & GET_MODE_MASK (mode));
+ nonzero &= (nonzero_bits_with_known (XEXP (x, 0), mode)
+ & GET_MODE_MASK (mode));
break;
case ZERO_EXTEND:
- nonzero &= nonzero_bits (XEXP (x, 0), mode);
+ nonzero &= nonzero_bits_with_known (XEXP (x, 0), mode);
if (GET_MODE (XEXP (x, 0)) != VOIDmode)
nonzero &= GET_MODE_MASK (GET_MODE (XEXP (x, 0)));
break;
@@ -8344,7 +8419,7 @@ nonzero_bits (x, mode)
/* If the sign bit is known clear, this is the same as ZERO_EXTEND.
Otherwise, show all the bits in the outer mode but not the inner
may be nonzero. */
- inner_nz = nonzero_bits (XEXP (x, 0), mode);
+ inner_nz = nonzero_bits_with_known (XEXP (x, 0), mode);
if (GET_MODE (XEXP (x, 0)) != VOIDmode)
{
inner_nz &= GET_MODE_MASK (GET_MODE (XEXP (x, 0)));
@@ -8359,19 +8434,21 @@ nonzero_bits (x, mode)
break;
case AND:
- nonzero &= (nonzero_bits (XEXP (x, 0), mode)
- & nonzero_bits (XEXP (x, 1), mode));
+ nonzero &= (nonzero_bits_with_known (XEXP (x, 0), mode)
+ & nonzero_bits_with_known (XEXP (x, 1), mode));
break;
case XOR: case IOR:
case UMIN: case UMAX: case SMIN: case SMAX:
{
- unsigned HOST_WIDE_INT nonzero0 = nonzero_bits (XEXP (x, 0), mode);
+ unsigned HOST_WIDE_INT nonzero0 =
+ nonzero_bits_with_known (XEXP (x, 0), mode);
/* Don't call nonzero_bits for the second time if it cannot change
anything. */
if ((nonzero & nonzero0) != nonzero)
- nonzero &= (nonzero0 | nonzero_bits (XEXP (x, 1), mode));
+ nonzero &= (nonzero0
+ | nonzero_bits_with_known (XEXP (x, 1), mode));
}
break;
@@ -8384,8 +8461,10 @@ nonzero_bits (x, mode)
computing the width (position of the highest-order nonzero bit)
and the number of low-order zero bits for each value. */
{
- unsigned HOST_WIDE_INT nz0 = nonzero_bits (XEXP (x, 0), mode);
- unsigned HOST_WIDE_INT nz1 = nonzero_bits (XEXP (x, 1), mode);
+ unsigned HOST_WIDE_INT nz0 =
+ nonzero_bits_with_known (XEXP (x, 0), mode);
+ unsigned HOST_WIDE_INT nz1 =
+ nonzero_bits_with_known (XEXP (x, 1), mode);
int width0 = floor_log2 (nz0) + 1;
int width1 = floor_log2 (nz1) + 1;
int low0 = floor_log2 (nz0 & -nz0);
@@ -8469,7 +8548,7 @@ nonzero_bits (x, mode)
if (SUBREG_PROMOTED_VAR_P (x) && SUBREG_PROMOTED_UNSIGNED_P (x) > 0)
nonzero = (GET_MODE_MASK (GET_MODE (x))
- & nonzero_bits (SUBREG_REG (x), GET_MODE (x)));
+ & nonzero_bits_with_known (SUBREG_REG (x), GET_MODE (x)));
/* If the inner mode is a single word for both the host and target
machines, we can compute this from which bits of the inner
@@ -8478,7 +8557,7 @@ nonzero_bits (x, mode)
&& (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x)))
<= HOST_BITS_PER_WIDE_INT))
{
- nonzero &= nonzero_bits (SUBREG_REG (x), mode);
+ nonzero &= nonzero_bits_with_known (SUBREG_REG (x), mode);
#if defined (WORD_REGISTER_OPERATIONS) && defined (LOAD_EXTEND_OP)
/* If this is a typical RISC machine, we only have to worry
@@ -8521,7 +8600,8 @@ nonzero_bits (x, mode)
unsigned int width = GET_MODE_BITSIZE (inner_mode);
int count = INTVAL (XEXP (x, 1));
unsigned HOST_WIDE_INT mode_mask = GET_MODE_MASK (inner_mode);
- unsigned HOST_WIDE_INT op_nonzero = nonzero_bits (XEXP (x, 0), mode);
+ unsigned HOST_WIDE_INT op_nonzero =
+ nonzero_bits_with_known (XEXP (x, 0), mode);
unsigned HOST_WIDE_INT inner = op_nonzero & mode_mask;
unsigned HOST_WIDE_INT outer = 0;
@@ -8556,8 +8636,8 @@ nonzero_bits (x, mode)
break;
case IF_THEN_ELSE:
- nonzero &= (nonzero_bits (XEXP (x, 1), mode)
- | nonzero_bits (XEXP (x, 2), mode));
+ nonzero &= (nonzero_bits_with_known (XEXP (x, 1), mode)
+ | nonzero_bits_with_known (XEXP (x, 2), mode));
break;
default:
@@ -8568,17 +8648,74 @@ nonzero_bits (x, mode)
}
/* See the macro definition above. */
-#undef num_sign_bit_copies
+#undef cached_num_sign_bit_copies
+#define num_sign_bit_copies_with_known(X, M) \
+ cached_num_sign_bit_copies (X, M, known_x, known_mode, known_ret)
+
+/* The function cached_num_sign_bit_copies is a wrapper around
+ num_sign_bit_copies1. It avoids exponential behavior in
+ num_sign_bit_copies1 when X has identical subexpressions on the
+ first or the second level. */
+
+static unsigned int
+cached_num_sign_bit_copies (x, mode, known_x, known_mode, known_ret)
+ rtx x;
+ enum machine_mode mode;
+ rtx known_x;
+ enum machine_mode known_mode;
+ unsigned int known_ret;
+{
+ if (x == known_x && mode == known_mode)
+ return known_ret;
+
+ /* Try to find identical subexpressions. If found call
+ num_sign_bit_copies1 on X with the subexpressions as KNOWN_X and
+ the precomputed value for the subexpression as KNOWN_RET. */
+
+ if (GET_RTX_CLASS (GET_CODE (x)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x)) == 'c')
+ {
+ rtx x0 = XEXP (x, 0);
+ rtx x1 = XEXP (x, 1);
+
+ /* Check the first level. */
+ if (x0 == x1)
+ return
+ num_sign_bit_copies1 (x, mode, x0, mode,
+ num_sign_bit_copies_with_known (x0, mode));
+
+ /* Check the second level. */
+ if ((GET_RTX_CLASS (GET_CODE (x0)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x0)) == 'c')
+ && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
+ return
+ num_sign_bit_copies1 (x, mode, x1, mode,
+ num_sign_bit_copies_with_known (x1, mode));
+
+ if ((GET_RTX_CLASS (GET_CODE (x1)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x1)) == 'c')
+ && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
+ return
+ num_sign_bit_copies1 (x, mode, x0, mode,
+ num_sign_bit_copies_with_known (x0, mode));
+ }
+
+ return num_sign_bit_copies1 (x, mode, known_x, known_mode, known_ret);
+}
+
/* Return the number of bits at the high-order end of X that are known to
be equal to the sign bit. X will be used in mode MODE; if MODE is
VOIDmode, X will be used in its own mode. The returned value will always
be between 1 and the number of bits in MODE. */
static unsigned int
-num_sign_bit_copies (x, mode)
+num_sign_bit_copies1 (x, mode, known_x, known_mode, known_ret)
rtx x;
enum machine_mode mode;
+ rtx known_x;
+ enum machine_mode known_mode;
+ unsigned int known_ret;
{
enum rtx_code code = GET_CODE (x);
unsigned int bitwidth;
@@ -8601,7 +8738,7 @@ num_sign_bit_copies (x, mode)
/* For a smaller object, just ignore the high bits. */
if (bitwidth < GET_MODE_BITSIZE (GET_MODE (x)))
{
- num0 = num_sign_bit_copies (x, GET_MODE (x));
+ num0 = num_sign_bit_copies_with_known (x, GET_MODE (x));
return MAX (1,
num0 - (int) (GET_MODE_BITSIZE (GET_MODE (x)) - bitwidth));
}
@@ -8650,7 +8787,7 @@ num_sign_bit_copies (x, mode)
tem = get_last_value (x);
if (tem != 0)
- return num_sign_bit_copies (tem, mode);
+ return num_sign_bit_copies_with_known (tem, mode);
if (nonzero_sign_valid && reg_sign_bit_copies[REGNO (x)] != 0
&& GET_MODE_BITSIZE (GET_MODE (x)) == bitwidth)
@@ -8683,7 +8820,7 @@ num_sign_bit_copies (x, mode)
if (SUBREG_PROMOTED_VAR_P (x) && ! SUBREG_PROMOTED_UNSIGNED_P (x))
{
- num0 = num_sign_bit_copies (SUBREG_REG (x), mode);
+ num0 = num_sign_bit_copies_with_known (SUBREG_REG (x), mode);
return MAX ((int) bitwidth
- (int) GET_MODE_BITSIZE (GET_MODE (x)) + 1,
num0);
@@ -8692,7 +8829,7 @@ num_sign_bit_copies (x, mode)
/* For a smaller object, just ignore the high bits. */
if (bitwidth <= GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x))))
{
- num0 = num_sign_bit_copies (SUBREG_REG (x), VOIDmode);
+ num0 = num_sign_bit_copies_with_known (SUBREG_REG (x), VOIDmode);
return MAX (1, (num0
- (int) (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x)))
- bitwidth)));
@@ -8714,7 +8851,7 @@ num_sign_bit_copies (x, mode)
> GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))
&& LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) == SIGN_EXTEND
&& GET_CODE (SUBREG_REG (x)) == MEM)
- return num_sign_bit_copies (SUBREG_REG (x), mode);
+ return num_sign_bit_copies_with_known (SUBREG_REG (x), mode);
#endif
#endif
break;
@@ -8726,16 +8863,16 @@ num_sign_bit_copies (x, mode)
case SIGN_EXTEND:
return (bitwidth - GET_MODE_BITSIZE (GET_MODE (XEXP (x, 0)))
- + num_sign_bit_copies (XEXP (x, 0), VOIDmode));
+ + num_sign_bit_copies_with_known (XEXP (x, 0), VOIDmode));
case TRUNCATE:
/* For a smaller object, just ignore the high bits. */
- num0 = num_sign_bit_copies (XEXP (x, 0), VOIDmode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), VOIDmode);
return MAX (1, (num0 - (int) (GET_MODE_BITSIZE (GET_MODE (XEXP (x, 0)))
- bitwidth)));
case NOT:
- return num_sign_bit_copies (XEXP (x, 0), mode);
+ return num_sign_bit_copies_with_known (XEXP (x, 0), mode);
case ROTATE: case ROTATERT:
/* If we are rotating left by a number of bits less than the number
@@ -8745,7 +8882,7 @@ num_sign_bit_copies (x, mode)
&& INTVAL (XEXP (x, 1)) >= 0
&& INTVAL (XEXP (x, 1)) < (int) bitwidth)
{
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
return MAX (1, num0 - (code == ROTATE ? INTVAL (XEXP (x, 1))
: (int) bitwidth - INTVAL (XEXP (x, 1))));
}
@@ -8756,7 +8893,7 @@ num_sign_bit_copies (x, mode)
is known to be positive, the number of sign bit copies is the
same as that of the input. Finally, if the input has just one bit
that might be nonzero, all the bits are copies of the sign bit. */
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
if (bitwidth > HOST_BITS_PER_WIDE_INT)
return num0 > 1 ? num0 - 1 : 1;
@@ -8774,8 +8911,8 @@ num_sign_bit_copies (x, mode)
case SMIN: case SMAX: case UMIN: case UMAX:
/* Logical operations will preserve the number of sign-bit copies.
MIN and MAX operations always return one of the operands. */
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
- num1 = num_sign_bit_copies (XEXP (x, 1), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
+ num1 = num_sign_bit_copies_with_known (XEXP (x, 1), mode);
return MIN (num0, num1);
case PLUS: case MINUS:
@@ -8793,8 +8930,8 @@ num_sign_bit_copies (x, mode)
: bitwidth - floor_log2 (nonzero) - 1);
}
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
- num1 = num_sign_bit_copies (XEXP (x, 1), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
+ num1 = num_sign_bit_copies_with_known (XEXP (x, 1), mode);
result = MAX (1, MIN (num0, num1) - 1);
#ifdef POINTERS_EXTEND_UNSIGNED
@@ -8816,8 +8953,8 @@ num_sign_bit_copies (x, mode)
to be positive, we must allow for an additional bit since negating
a negative number can remove one sign bit copy. */
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
- num1 = num_sign_bit_copies (XEXP (x, 1), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
+ num1 = num_sign_bit_copies_with_known (XEXP (x, 1), mode);
result = bitwidth - (bitwidth - num0) - (bitwidth - num1);
if (result > 0
@@ -8840,17 +8977,17 @@ num_sign_bit_copies (x, mode)
& ((HOST_WIDE_INT) 1 << (bitwidth - 1))) != 0)
return 1;
else
- return num_sign_bit_copies (XEXP (x, 0), mode);
+ return num_sign_bit_copies_with_known (XEXP (x, 0), mode);
case UMOD:
/* The result must be <= the second operand. */
- return num_sign_bit_copies (XEXP (x, 1), mode);
+ return num_sign_bit_copies_with_known (XEXP (x, 1), mode);
case DIV:
/* Similar to unsigned division, except that we have to worry about
the case where the divisor is negative, in which case we have
to add 1. */
- result = num_sign_bit_copies (XEXP (x, 0), mode);
+ result = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
if (result > 1
&& (bitwidth > HOST_BITS_PER_WIDE_INT
|| (nonzero_bits (XEXP (x, 1), mode)
@@ -8860,7 +8997,7 @@ num_sign_bit_copies (x, mode)
return result;
case MOD:
- result = num_sign_bit_copies (XEXP (x, 1), mode);
+ result = num_sign_bit_copies_with_known (XEXP (x, 1), mode);
if (result > 1
&& (bitwidth > HOST_BITS_PER_WIDE_INT
|| (nonzero_bits (XEXP (x, 1), mode)
@@ -8872,7 +9009,7 @@ num_sign_bit_copies (x, mode)
case ASHIFTRT:
/* Shifts by a constant add to the number of bits equal to the
sign bit. */
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
if (GET_CODE (XEXP (x, 1)) == CONST_INT
&& INTVAL (XEXP (x, 1)) > 0)
num0 = MIN ((int) bitwidth, num0 + INTVAL (XEXP (x, 1)));
@@ -8886,12 +9023,12 @@ num_sign_bit_copies (x, mode)
|| INTVAL (XEXP (x, 1)) >= (int) bitwidth)
return 1;
- num0 = num_sign_bit_copies (XEXP (x, 0), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 0), mode);
return MAX (1, num0 - INTVAL (XEXP (x, 1)));
case IF_THEN_ELSE:
- num0 = num_sign_bit_copies (XEXP (x, 1), mode);
- num1 = num_sign_bit_copies (XEXP (x, 2), mode);
+ num0 = num_sign_bit_copies_with_known (XEXP (x, 1), mode);
+ num1 = num_sign_bit_copies_with_known (XEXP (x, 2), mode);
return MIN (num0, num1);
case EQ: case NE: case GE: case GT: case LE: case LT:
@@ -9995,8 +10132,9 @@ gen_lowpart_for_combine (mode, x)
&& GET_CODE (result) == SUBREG
&& GET_CODE (SUBREG_REG (result)) == REG
&& REGNO (SUBREG_REG (result)) >= FIRST_PSEUDO_REGISTER)
- SET_REGNO_REG_SET (&subregs_of_mode[GET_MODE (result)],
- REGNO (SUBREG_REG (result)));
+ bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (result))
+ * MAX_MACHINE_MODE
+ + GET_MODE (result));
#endif
if (result)
@@ -10926,6 +11064,9 @@ simplify_comparison (code, pop0, pop1)
represents the low part, permute the SUBREG and the AND and
try again. */
if (GET_CODE (XEXP (op0, 0)) == SUBREG
+ /* Require an integral mode, to avoid creating something like
+ (AND:SF ...). */
+ && SCALAR_INT_MODE_P (GET_MODE (SUBREG_REG (XEXP (op0, 0))))
&& (0
#ifdef WORD_REGISTER_OPERATIONS
|| ((mode_width
@@ -11343,7 +11484,45 @@ update_table_tick (x)
/* Note that we can't have an "E" in values stored; see
get_last_value_validate. */
if (fmt[i] == 'e')
- update_table_tick (XEXP (x, i));
+ {
+ /* Check for identical subexpressions. If x contains
+ identical subexpression we only have to traverse one of
+ them. */
+ if (i == 0
+ && (GET_RTX_CLASS (code) == '2'
+ || GET_RTX_CLASS (code) == 'c'))
+ {
+ /* Note that at this point x1 has already been
+ processed. */
+ rtx x0 = XEXP (x, 0);
+ rtx x1 = XEXP (x, 1);
+
+ /* If x0 and x1 are identical then there is no need to
+ process x0. */
+ if (x0 == x1)
+ break;
+
+ /* If x0 is identical to a subexpression of x1 then while
+ processing x1, x0 has already been processed. Thus we
+ are done with x. */
+ if ((GET_RTX_CLASS (GET_CODE (x1)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x1)) == 'c')
+ && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
+ break;
+
+ /* If x1 is identical to a subexpression of x0 then we
+ still have to process the rest of x0. */
+ if ((GET_RTX_CLASS (GET_CODE (x0)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x0)) == 'c')
+ && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
+ {
+ update_table_tick (XEXP (x0, x1 == XEXP (x0, 0) ? 1 : 0));
+ break;
+ }
+ }
+
+ update_table_tick (XEXP (x, i));
+ }
}
/* Record that REG is set to VALUE in insn INSN. If VALUE is zero, we
@@ -11696,11 +11875,52 @@ get_last_value_validate (loc, insn, tick, replace)
}
for (i = 0; i < len; i++)
- if ((fmt[i] == 'e'
- && get_last_value_validate (&XEXP (x, i), insn, tick, replace) == 0)
- /* Don't bother with these. They shouldn't occur anyway. */
- || fmt[i] == 'E')
- return 0;
+ {
+ if (fmt[i] == 'e')
+ {
+ /* Check for identical subexpressions. If x contains
+ identical subexpression we only have to traverse one of
+ them. */
+ if (i == 1
+ && (GET_RTX_CLASS (GET_CODE (x)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x)) == 'c'))
+ {
+ /* Note that at this point x0 has already been checked
+ and found valid. */
+ rtx x0 = XEXP (x, 0);
+ rtx x1 = XEXP (x, 1);
+
+ /* If x0 and x1 are identical then x is also valid. */
+ if (x0 == x1)
+ return 1;
+
+ /* If x1 is identical to a subexpression of x0 then
+ while checking x0, x1 has already been checked. Thus
+ it is valid and so as x. */
+ if ((GET_RTX_CLASS (GET_CODE (x0)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x0)) == 'c')
+ && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
+ return 1;
+
+ /* If x0 is identical to a subexpression of x1 then x is
+ valid iff the rest of x1 is valid. */
+ if ((GET_RTX_CLASS (GET_CODE (x1)) == '2'
+ || GET_RTX_CLASS (GET_CODE (x1)) == 'c')
+ && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
+ return
+ get_last_value_validate (&XEXP (x1,
+ x0 == XEXP (x1, 0) ? 1 : 0),
+ insn, tick, replace);
+ }
+
+ if (get_last_value_validate (&XEXP (x, i), insn, tick,
+ replace) == 0)
+ return 0;
+ }
+ /* Don't bother with these. They shouldn't occur anyway. */
+ else if (fmt[i] == 'E')
+ return 0;
+ }
/* If we haven't found a reason for it to be invalid, it is valid. */
return 1;
@@ -12308,7 +12528,6 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
{
case REG_BR_PROB:
case REG_BR_PRED:
- case REG_EXEC_COUNT:
/* Doesn't matter much where we put this, as long as it's somewhere.
It is preferable to keep these notes on branches, which is most
likely to be i3. */
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 3e889ae2280..c950968668b 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1,5 +1,5 @@
# GCC build-, host- and target-specific configuration file.
-# 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.
#This file is part of GCC.
@@ -212,14 +212,62 @@ target_gtfiles=
# Obsolete configurations.
case $machine in
- m88k-*-aout* \
- | m88k-*-openbsd* \
- | m88k-*-sysv4* \
- | mips-sni-sysv4 \
- | mn10200-*-* \
- | ns32k-*-openbsd* \
- | romp-*-openbsd* \
- | vax-*-vms* \
+ m88k-*-* \
+ | mn10200-*-* \
+ | romp-*-* \
+ | alpha*-*-interix* \
+ | alpha*-*-linux*libc1* \
+ | alpha*-*-linux*ecoff* \
+ | arm*-*-aout* \
+ | arm*-*-conix* \
+ | arm*-*-oabi \
+ | strongarm-*-coff* \
+ | hppa1.0-*-osf* \
+ | hppa1.0-*-bsd* \
+ | hppa1.[01]-*-hpux[789]* \
+ | hppa*-*-hiux* \
+ | hppa*-*-lites* \
+ | i?86-*-win32 \
+ | m68000-hp-bsd* \
+ | m68000-sun-sunos* \
+ | m68000-att-sysv* \
+ | m68k-atari-sysv* \
+ | m68k-motorola-sysv* \
+ | m68k-ncr-sysv* \
+ | m68k-plexus-sysv* \
+ | m68k-tti-* \
+ | m68k-crds-unos* \
+ | m68k-cbm-sysv* \
+ | m68k-ccur-rtu* \
+ | m68k-hp-bsd* \
+ | m68k-sun-mach* \
+ | m68k-sun-sunos* \
+ | m68k-*-linux*aout* \
+ | m68k-*-linux*libc1* \
+ | m68k-*-psos* \
+ | mips*-*-ecoff* \
+ | mips-sni-sysv4 \
+ | mips64orion-*-rtems* \
+ | ns32k-*-openbsd* \
+ | powerpc*-*-sysv* \
+ | powerpc*-*-linux*libc1* \
+ | rs6000-ibm-aix[123]* \
+ | rs6000-bull-bosx \
+ | rs6000-*-mach* \
+ | sparc-*-aout* \
+ | sparc-*-netbsd*aout* \
+ | sparc-*-bsd* \
+ | sparc-*-chorusos* \
+ | sparc-*-linux*aout* \
+ | sparc-*-linux*libc1* \
+ | sparc-*-lynxos* \
+ | sparc-hal-solaris2* \
+ | sparc-*-sunos[34]* \
+ | sparclet-*-aout* \
+ | sparclite-*-aout* \
+ | sparc86x-*-aout* \
+ | v850-*-rtems* \
+ | vax-*-vms* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration $machine is obsolete." >&2
@@ -367,7 +415,18 @@ case $machine in
xm_defines=POSIX
gas=yes
gnu_ld=yes
+
+ # NetBSD 2.0 and later get POSIX threads enabled by default.
+ # Allow them to be explicitly enabled on any other version.
case x${enable_threads} in
+ x)
+ case $machine in
+ *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
+ thread_file='posix'
+ tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
+ ;;
+ esac
+ ;;
xyes | xposix)
thread_file='posix'
tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
@@ -753,7 +812,7 @@ hppa*64*-*-linux* | parisc*64*-*-linux*)
gas=yes gnu_ld=yes
;;
hppa*-*-linux* | parisc*-*-linux*)
- target_cpu_default="MASK_PA_11"
+ target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS"
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
pa/pa32-regs.h pa/pa32-linux.h"
tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux"
@@ -779,8 +838,11 @@ hppa1.1-*-rtems*)
xm_defines=POSIX
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h rtems.h"
- tmake_file="pa/t-bsd pa/t-pro"
+ tmake_file="pa/t-bsd pa/t-pro t-rtems"
xmake_file="pa/x-ada"
+ if test x$enable_threads = xyes; then
+ thread_file='rtems'
+ fi
;;
hppa1.0-*-osf*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
@@ -894,7 +956,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 +969,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"
@@ -1441,7 +1502,7 @@ ip2k-*-elf)
;;
m32r-*-elf*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
- extra_parts="crtinit.o crtfini.o"
+ extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o"
;;
# m68hc11 and m68hc12 share the same machine description.
m68hc11-*-*|m6811-*-*)
@@ -2055,7 +2116,7 @@ powerpc-*-eabi*)
powerpc-*-rtems*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
- tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ tmake_file="rs6000/t-rtems t-rtems rs6000/t-ppccomm"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -2703,7 +2764,7 @@ xtensa-*-elf*)
;;
xtensa-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
- tmake_file="t-linux xtensa/t-xtensa"
+ tmake_file="t-slibgcc-elf-ver t-linux xtensa/t-xtensa"
;;
*)
echo "*** Configuration $machine not supported" 1>&2
diff --git a/gcc/config.in b/gcc/config.in
index d26ddfe23d8..caa26ef9d86 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -150,6 +150,9 @@
/* Define if you have the getrusage function. */
#undef HAVE_GETRUSAGE
+/* Define if you have the gettimeofday function. */
+#undef HAVE_GETTIMEOFDAY
+
/* Define if you have the getuid function. */
#undef HAVE_GETUID
@@ -477,6 +480,9 @@
/* Define to 1 if we found this declaration otherwise define to 0. */
#undef HAVE_DECL_GETRUSAGE
+/* Define to `long' if <sys/resource.h> doesn't define. */
+#undef rlim_t
+
/* Define to 1 if we found this declaration otherwise define to 0. */
#undef HAVE_DECL_TIMES
@@ -576,6 +582,9 @@
/* Define true if the assembler supports '.long foo@GOTOFF'. */
#undef HAVE_AS_GOTOFF_IN_DATA
+/* Define if your assembler supports ltoffx and ldxmov relocations. */
+#undef HAVE_AS_LTOFFX_LDXMOV_RELOCS
+
/* Define if your assembler supports dwarf2 .file/.loc directives,
and preserves file table indices exactly as given. */
#undef HAVE_AS_DWARF2_DEBUG_LINE
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 71079eff7e8..fe4943bfeb8 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -142,6 +142,8 @@ extern rtx function_arg PARAMS ((CUMULATIVE_ARGS, enum machine_mode,
extern void alpha_start_function PARAMS ((FILE *, const char *, tree));
extern void alpha_end_function PARAMS ((FILE *, const char *, tree));
+extern int alpha_find_lo_sum_using_gp PARAMS ((rtx));
+
#ifdef REAL_VALUE_TYPE
extern int check_float_value PARAMS ((enum machine_mode,
REAL_VALUE_TYPE *, int));
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index d6a9f6bc661..9657e56bf43 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.
@@ -148,7 +148,7 @@ static rtx alpha_expand_builtin
PARAMS ((tree, rtx, rtx, enum machine_mode, int));
static void alpha_sa_mask
PARAMS ((unsigned long *imaskP, unsigned long *fmaskP));
-static int find_lo_sum
+static int find_lo_sum_using_gp
PARAMS ((rtx *, void *));
static int alpha_does_function_need_gp
PARAMS ((void));
@@ -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);
@@ -3011,7 +3015,7 @@ alpha_expand_mov (mode, operands)
}
/* Otherwise we've nothing left but to drop the thing to memory. */
- operands[1] = force_const_mem (DImode, operands[1]);
+ operands[1] = force_const_mem (mode, operands[1]);
if (reload_in_progress)
{
emit_move_insn (operands[0], XEXP (operands[1], 0));
@@ -5385,7 +5389,7 @@ alpha_gp_save_rtx ()
{
rtx r = get_hard_reg_initial_val (DImode, 29);
if (GET_CODE (r) != MEM)
- r = gen_mem_addressof (r, NULL_TREE);
+ r = gen_mem_addressof (r, NULL_TREE, /*rescan=*/true);
return r;
}
@@ -6241,12 +6245,15 @@ alpha_va_start (valist, nextarg)
If no integer registers need be stored, then we must subtract 48
in order to account for the integer arg registers which are counted
- in argsize above, but which are not actually stored on the stack. */
+ in argsize above, but which are not actually stored on the stack.
+ Must further be careful here about structures straddling the last
+ integer argument register; that futzes with pretend_args_size,
+ which changes the meaning of AP. */
if (NUM_ARGS <= 6)
offset = TARGET_ABI_OPEN_VMS ? UNITS_PER_WORD : 6 * UNITS_PER_WORD;
else
- offset = -6 * UNITS_PER_WORD;
+ offset = -6 * UNITS_PER_WORD + current_function_pretend_args_size;
if (TARGET_ABI_OPEN_VMS)
{
@@ -6890,11 +6897,18 @@ const struct attribute_spec vms_attribute_table[] =
#endif
static int
-find_lo_sum (px, data)
+find_lo_sum_using_gp (px, data)
rtx *px;
void *data ATTRIBUTE_UNUSED;
{
- return GET_CODE (*px) == LO_SUM;
+ return GET_CODE (*px) == LO_SUM && XEXP (*px, 0) == pic_offset_table_rtx;
+}
+
+int
+alpha_find_lo_sum_using_gp (insn)
+ rtx insn;
+{
+ return for_each_rtx (&PATTERN (insn), find_lo_sum_using_gp, NULL) > 0;
}
static int
@@ -6923,15 +6937,9 @@ alpha_does_function_need_gp ()
for (; insn; insn = NEXT_INSN (insn))
if (INSN_P (insn)
&& GET_CODE (PATTERN (insn)) != USE
- && GET_CODE (PATTERN (insn)) != CLOBBER)
- {
- enum attr_type type = get_attr_type (insn);
- if (type == TYPE_LDSYM || type == TYPE_JSR)
- return 1;
- if (TARGET_EXPLICIT_RELOCS
- && for_each_rtx (&PATTERN (insn), find_lo_sum, NULL) > 0)
- return 1;
- }
+ && GET_CODE (PATTERN (insn)) != CLOBBER
+ && get_attr_usegp (insn))
+ return 1;
return 0;
}
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 9e39a40395b..b933ea31625 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -859,8 +859,9 @@ enum reg_class {
/* Return the class of registers that cannot change mode from FROM to TO. */
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
- (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) ? FLOAT_REGS : NO_REGS)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
+ ? reg_classes_intersect_p (FLOAT_REGS, CLASS) : 0)
/* Define the cost of moving between registers of various classes. Moving
between FLOAT_REGS and anything else except float regs is expensive.
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index c878366b846..a4c0ae6904d 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.
@@ -142,6 +142,18 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
(define_attr "length" ""
(const_int 4))
+
+;; The USEGP attribute marks instructions that have relocations that use
+;; the GP.
+
+(define_attr "usegp" "no,yes"
+ (cond [(eq_attr "type" "ldsym,jsr")
+ (const_string "yes")
+ (eq_attr "type" "ild,fld,ist,fst")
+ (symbol_ref "alpha_find_lo_sum_using_gp(insn)")
+ ]
+ (const_string "no")))
+
;; Include scheduling descriptions.
@@ -402,7 +414,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
(plus:DI (match_operand:DI 1 "register_operand" "r")
(high:DI (match_operand:DI 2 "local_symbolic_operand" ""))))]
"TARGET_EXPLICIT_RELOCS"
- "ldah %0,%2(%1)\t\t!gprelhigh")
+ "ldah %0,%2(%1)\t\t!gprelhigh"
+ [(set_attr "usegp" "yes")])
(define_split
[(set (match_operand:DI 0 "register_operand" "")
@@ -737,17 +750,31 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
"mulqv %r1,%2,%0"
[(set_attr "type" "imul")])
-(define_insn "umuldi3_highpart"
+(define_expand "umuldi3_highpart"
+ [(set (match_operand:DI 0 "register_operand" "")
+ (truncate:DI
+ (lshiftrt:TI
+ (mult:TI (zero_extend:TI
+ (match_operand:DI 1 "register_operand" ""))
+ (match_operand:DI 2 "reg_or_8bit_operand" ""))
+ (const_int 64))))]
+ ""
+{
+ if (REG_P (operands[2]))
+ operands[2] = gen_rtx_ZERO_EXTEND (TImode, operands[2]);
+})
+
+(define_insn "*umuldi3_highpart_reg"
[(set (match_operand:DI 0 "register_operand" "=r")
(truncate:DI
(lshiftrt:TI
(mult:TI (zero_extend:TI
- (match_operand:DI 1 "reg_or_0_operand" "%rJ"))
+ (match_operand:DI 1 "register_operand" "r"))
(zero_extend:TI
- (match_operand:DI 2 "reg_or_8bit_operand" "rI")))
+ (match_operand:DI 2 "register_operand" "r")))
(const_int 64))))]
""
- "umulh %r1,%2,%0"
+ "umulh %1,%2,%0"
[(set_attr "type" "imul")
(set_attr "opsize" "udi")])
@@ -2849,7 +2876,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
[(set (match_operand:DF 0 "register_operand" "=f")
(sqrt:DF (match_operand:DF 1 "reg_or_0_operand" "fG")))]
"TARGET_FP && TARGET_FIX"
- "sqrt%-%/ %1,%0"
+ "sqrt%-%/ %R1,%0"
[(set_attr "type" "fsqrt")
(set_attr "trap" "yes")
(set_attr "round_suffix" "normal")
@@ -5305,7 +5332,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
return "lda %0,%2(%1)\t\t!gprel";
else
return "lda %0,%2(%1)\t\t!gprellow";
-})
+}
+ [(set_attr "usegp" "yes")])
(define_split
[(set (match_operand:DI 0 "register_operand" "")
@@ -5331,10 +5359,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"
@@ -5425,7 +5455,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
UNSPEC_DTPREL))]
"HAVE_AS_TLS"
"ldq %0,%2(%1)\t\t!gotdtprel"
- [(set_attr "type" "ild")])
+ [(set_attr "type" "ild")
+ (set_attr "usegp" "yes")])
(define_split
[(set (match_operand:DI 0 "register_operand" "")
@@ -5446,7 +5477,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
UNSPEC_TPREL))]
"HAVE_AS_TLS"
"ldq %0,%2(%1)\t\t!gottprel"
- [(set_attr "type" "ild")])
+ [(set_attr "type" "ild")
+ (set_attr "usegp" "yes")])
(define_split
[(set (match_operand:DI 0 "register_operand" "")
@@ -5477,7 +5509,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
fmov %R1,%0
ldt %0,%1
stt %R1,%0"
- [(set_attr "type" "ilog,iadd,iadd,iadd,ldsym,ild,ist,fcpys,fld,fst")])
+ [(set_attr "type" "ilog,iadd,iadd,iadd,ldsym,ild,ist,fcpys,fld,fst")
+ (set_attr "usegp" "*,*,*,yes,*,*,*,*,*,*")])
;; The 'U' constraint matches symbolic operands on Unicos/Mk. Those should
;; have been split up by the rules above but we shouldn't reject the
@@ -5524,7 +5557,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
stt %R1,%0
ftoit %1,%0
itoft %1,%0"
- [(set_attr "type" "ilog,iadd,iadd,iadd,ldsym,ild,ist,fcpys,fld,fst,ftoi,itof")])
+ [(set_attr "type" "ilog,iadd,iadd,iadd,ldsym,ild,ist,fcpys,fld,fst,ftoi,itof")
+ (set_attr "usegp" "*,*,*,yes,*,*,*,*,*,*,*,*")])
(define_insn "*movdi_fix"
[(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,r,r,r,m,*f,*f,Q,r,*f")
diff --git a/gcc/config/alpha/freebsd.h b/gcc/config/alpha/freebsd.h
index 0ec96885527..f809c62012e 100644
--- a/gcc/config/alpha/freebsd.h
+++ b/gcc/config/alpha/freebsd.h
@@ -20,11 +20,13 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* Provide a CPP_SPEC appropriate for FreeBSD/alpha. Besides the dealing with
+/* Provide a FBSD_TARGET_CPU_CPP_BUILTINS and CPP_SPEC appropriate for
+ FreeBSD/alpha. Besides the dealing with
the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must
deal with the Alpha's FP issues. */
-#define TARGET_OS_CPP_BUILTINS() \
+#undef FBSD_TARGET_CPU_CPP_BUILTINS
+#define FBSD_TARGET_CPU_CPP_BUILTINS() \
do \
{ \
if (flag_pic) \
diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h
index 28ff3208422..0c533449e8b 100644
--- a/gcc/config/alpha/linux.h
+++ b/gcc/config/alpha/linux.h
@@ -59,6 +59,8 @@ Boston, MA 02111-1307, USA. */
/* Define this so that all GNU/Linux targets handle the same pragmas. */
#define HANDLE_PRAGMA_PACK_PUSH_POP
+#define TARGET_HAS_F_SETLKW
+
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
diff --git a/gcc/config/alpha/osf.h b/gcc/config/alpha/osf.h
index 9fbe2b56a07..2be2a424d35 100644
--- a/gcc/config/alpha/osf.h
+++ b/gcc/config/alpha/osf.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for DEC Alpha on OSF/1.
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
@@ -32,21 +32,23 @@ Boston, MA 02111-1307, USA. */
/* Names to predefine in the preprocessor for this target machine. */
-#define TARGET_OS_CPP_BUILTINS() \
- do { \
- builtin_define_std ("unix"); \
- builtin_define_std ("SYSTYPE_BSD"); \
- builtin_define ("_SYSTYPE_BSD"); \
- builtin_define ("__osf__"); \
- builtin_define ("_LONGLONG"); \
- builtin_define ("__EXTERN_PREFIX"); \
- builtin_assert ("system=unix"); \
- builtin_assert ("system=xpg4"); \
- /* Tru64 UNIX V5 has a 16 byte long \
- double type and requires __X_FLOAT \
- to be defined for <math.h>. */ \
- if (LONG_DOUBLE_TYPE_SIZE == 128) \
- builtin_define ("__X_FLOAT"); \
+#define TARGET_OS_CPP_BUILTINS() \
+ do { \
+ builtin_define_std ("unix"); \
+ builtin_define_std ("SYSTYPE_BSD"); \
+ builtin_define ("_SYSTYPE_BSD"); \
+ builtin_define ("__osf__"); \
+ builtin_define ("__digital__"); \
+ builtin_define ("__arch64__"); \
+ builtin_define ("_LONGLONG"); \
+ builtin_define ("__PRAGMA_EXTERN_PREFIX"); \
+ builtin_assert ("system=unix"); \
+ builtin_assert ("system=xpg4"); \
+ /* Tru64 UNIX V5 has a 16 byte long \
+ double type and requires __X_FLOAT \
+ to be defined for <math.h>. */ \
+ if (LONG_DOUBLE_TYPE_SIZE == 128) \
+ builtin_define ("__X_FLOAT"); \
} while (0)
/* Accept DEC C flags for multithreaded programs. We use _PTHREAD_USE_D4
diff --git a/gcc/config/alpha/t-crtfm b/gcc/config/alpha/t-crtfm
index 7076b517861..5ca8c3f747d 100644
--- a/gcc/config/alpha/t-crtfm
+++ b/gcc/config/alpha/t-crtfm
@@ -1,4 +1,5 @@
EXTRA_PARTS += crtfastmath.o
crtfastmath.o: $(srcdir)/config/alpha/crtfastmath.c $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -c -o crtfastmath.o $(srcdir)/config/alpha/crtfastmath.c
+ $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -frandom-seed=gcc-crtfastmath -c \
+ -o crtfastmath.o $(srcdir)/config/alpha/crtfastmath.c
diff --git a/gcc/config/alpha/t-osf4 b/gcc/config/alpha/t-osf4
index e9c451b9c04..0525d617662 100644
--- a/gcc/config/alpha/t-osf4
+++ b/gcc/config/alpha/t-osf4
@@ -17,6 +17,6 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
$(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(slibdir)/$(SHLIB_SONAME); \
- rm -f $$(slibdir)/$(SHLIB_NAME); \
- $(LN_S) $(SHLIB_SONAME) $$(slibdir)/$(SHLIB_NAME)
+SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
+ rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
+ $(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 688603b5d31..bbf4257c7b9 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -62,10 +62,10 @@ stmp-multilib-arc: stmp-multilib
install-multilib-arc: install-multilib
for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \
dir=`echo $$i | sed -e 's/;.*$$//'`; \
- rm -f $(libsubdir)/$${dir}/crtinit.o; \
- $(INSTALL_DATA) $${dir}/crtinit.o $(libsubdir)/$${dir}/crtinit.o; \
- chmod a-x $(libsubdir)/$${dir}/crtinit.o; \
- rm -f $(libsubdir)/$${dir}/crtfini.o; \
- $(INSTALL_DATA) $${dir}/crtfini.o $(libsubdir)/$${dir}/crtfini.o; \
- chmod a-x $(libsubdir)/$${dir}/crtfini.o; \
+ rm -f $(DESTDIR)$(libsubdir)/$${dir}/crtinit.o; \
+ $(INSTALL_DATA) $${dir}/crtinit.o $(DESTDIR)$(libsubdir)/$${dir}/crtinit.o; \
+ chmod a-x $(DESTDIR)$(libsubdir)/$${dir}/crtinit.o; \
+ rm -f $(DESTDIR)$(libsubdir)/$${dir}/crtfini.o; \
+ $(INSTALL_DATA) $${dir}/crtfini.o $(DESTDIR)$(libsubdir)/$${dir}/crtfini.o; \
+ chmod a-x $(DESTDIR)$(libsubdir)/$${dir}/crtfini.o; \
done
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index a6203c3fbe3..7422f1d03af 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -67,7 +67,6 @@ static void arm_add_gc_roots PARAMS ((void));
static int arm_gen_constant PARAMS ((enum rtx_code, Mmode, Hint, rtx, rtx, int, int));
static unsigned bit_count PARAMS ((Ulong));
static int const_ok_for_op PARAMS ((Hint, enum rtx_code));
-static int eliminate_lr2ip PARAMS ((rtx *));
static rtx emit_multi_reg_push PARAMS ((int));
static rtx emit_sfm PARAMS ((int, int));
#ifndef AOF_ASSEMBLER
@@ -921,6 +920,10 @@ use_return_insn (iscond)
consideration. */
if (func_type & (ARM_FT_VOLATILE | ARM_FT_NAKED))
return 0;
+
+ /* So do interrupt functions that use the frame pointer. */
+ if (IS_INTERRUPT (func_type) && frame_pointer_needed)
+ return 0;
/* As do variadic functions. */
if (current_function_pretend_args_size
@@ -5053,7 +5056,14 @@ arm_reload_in_hi (operands)
}
}
- scratch = gen_rtx_REG (SImode, REGNO (operands[2]));
+ /* Operands[2] may overlap operands[0] (though it won't overlap
+ operands[1]), that's why we asked for a DImode reg -- so we can
+ use the bit that does not overlap. */
+ if (REGNO (operands[2]) == REGNO (operands[0]))
+ scratch = gen_rtx_REG (SImode, REGNO (operands[2]) + 1);
+ else
+ scratch = gen_rtx_REG (SImode, REGNO (operands[2]));
+
emit_insn (gen_zero_extendqisi2 (scratch,
gen_rtx_MEM (QImode,
plus_constant (base,
@@ -6419,57 +6429,27 @@ output_call (operands)
return "";
}
-static int
-eliminate_lr2ip (x)
- rtx * x;
-{
- int something_changed = 0;
- rtx x0 = * x;
- int code = GET_CODE (x0);
- int i, j;
- const char * fmt;
-
- switch (code)
- {
- case REG:
- if (REGNO (x0) == LR_REGNUM)
- {
- *x = gen_rtx_REG (SImode, IP_REGNUM);
- return 1;
- }
- return 0;
- default:
- /* Scan through the sub-elements and change any references there. */
- fmt = GET_RTX_FORMAT (code);
-
- for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
- if (fmt[i] == 'e')
- something_changed |= eliminate_lr2ip (&XEXP (x0, i));
- else if (fmt[i] == 'E')
- for (j = 0; j < XVECLEN (x0, i); j++)
- something_changed |= eliminate_lr2ip (&XVECEXP (x0, i, j));
-
- return something_changed;
- }
-}
-
/* Output a 'call' insn that is a reference in memory. */
const char *
output_call_mem (operands)
rtx * operands;
{
- operands[0] = copy_rtx (operands[0]); /* Be ultra careful. */
- /* Handle calls using lr by using ip (which may be clobbered in subr anyway). */
- if (eliminate_lr2ip (&operands[0]))
- output_asm_insn ("mov%?\t%|ip, %|lr", operands);
-
if (TARGET_INTERWORK)
{
output_asm_insn ("ldr%?\t%|ip, %0", operands);
output_asm_insn ("mov%?\t%|lr, %|pc", operands);
output_asm_insn ("bx%?\t%|ip", operands);
}
+ else if (regno_use_in (LR_REGNUM, operands[0]))
+ {
+ /* LR is used in the memory address. We load the address in the
+ first instruction. It's safe to use IP as the target of the
+ load since the call will kill it anyway. */
+ output_asm_insn ("ldr%?\t%|ip, %0", operands);
+ output_asm_insn ("mov%?\t%|lr, %|pc", operands);
+ output_asm_insn ("mov%?\t%|pc, %|ip", operands);
+ }
else
{
output_asm_insn ("mov%?\t%|lr, %|pc", operands);
@@ -6763,7 +6743,7 @@ output_move_double (operands)
}
else
{
- otherops[1] = adjust_address (operands[1], VOIDmode, 4);
+ otherops[1] = adjust_address (operands[1], SImode, 4);
/* Take care of overlapping base/data reg. */
if (reg_mentioned_p (operands[0], operands[1]))
{
@@ -6829,7 +6809,7 @@ output_move_double (operands)
/* Fall through */
default:
- otherops[0] = adjust_address (operands[0], VOIDmode, 4);
+ otherops[0] = adjust_address (operands[0], SImode, 4);
otherops[1] = gen_rtx_REG (SImode, 1 + REGNO (operands[1]));
output_asm_insn ("str%?\t%1, %0", operands);
output_asm_insn ("str%?\t%1, %0", otherops);
@@ -7710,7 +7690,7 @@ arm_output_epilogue (really_return)
if (IS_INTERRUPT (func_type))
/* Interrupt handlers will have pushed the
IP onto the stack, so restore it now. */
- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, 1 << IP_REGNUM);
+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, 1 << IP_REGNUM);
}
else
{
@@ -7841,7 +7821,7 @@ arm_output_epilogue (really_return)
default:
if (frame_pointer_needed)
- /* If we used the frame pointer then the return adddress
+ /* If we used the frame pointer then the return address
will have been loaded off the stack directly into the
PC, so there is no need to issue a MOV instruction
here. */
@@ -8149,10 +8129,14 @@ arm_compute_initial_elimination_offset (from, to)
reg_mask = reg_mask & ~ (reg_mask & - reg_mask);
}
- if (regs_ever_live[LR_REGNUM]
- /* If a stack frame is going to be created, the LR will
- be saved as part of that, so we do not need to allow
- for it here. */
+ if ((regs_ever_live[LR_REGNUM]
+ /* If optimizing for size, then we save the link register if
+ any other integer register is saved. This gives a smaller
+ return sequence. */
+ || (optimize_size && call_saved_registers > 0))
+ /* But if a stack frame is going to be created, the LR will
+ be saved as part of that, so we do not need to allow for
+ it here. */
&& ! frame_pointer_needed)
call_saved_registers += 4;
@@ -8456,18 +8440,19 @@ arm_expand_prologue ()
RTX_FRAME_RELATED_P (insn) = 1;
}
- /* If this is an interrupt service routine, and the link register is
- going to be pushed, subtracting four now will mean that the
- function return can be done with a single instruction. */
+ /* If this is an interrupt service routine, and the link register
+ is going to be pushed, and we are not creating a stack frame,
+ (which would involve an extra push of IP and a pop in the epilogue)
+ subtracting four from LR now will mean that the function return
+ can be done with a single instruction. */
if ((func_type == ARM_FT_ISR || func_type == ARM_FT_FIQ)
- && (live_regs_mask & (1 << LR_REGNUM)) != 0)
- {
- emit_insn (gen_rtx_SET (SImode,
- gen_rtx_REG (SImode, LR_REGNUM),
- gen_rtx_PLUS (SImode,
- gen_rtx_REG (SImode, LR_REGNUM),
- GEN_INT (-4))));
- }
+ && (live_regs_mask & (1 << LR_REGNUM)) != 0
+ && ! frame_pointer_needed)
+ emit_insn (gen_rtx_SET (SImode,
+ gen_rtx_REG (SImode, LR_REGNUM),
+ gen_rtx_PLUS (SImode,
+ gen_rtx_REG (SImode, LR_REGNUM),
+ GEN_INT (-4))));
if (live_regs_mask)
{
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 82fafa3f7fa..0e6071295b9 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -59,7 +59,11 @@
(UNSPEC_PIC_SYM 3) ; A symbol that has been treated properly for pic
; usage, that is, we will add the pic_register
; value to it before trying to dereference it.
- (UNSPEC_PRLG_STK 4) ; A special barrier that prevents frame accesses
+ (UNSPEC_PIC_BASE 4) ; Adding the PC value to the offset to the
+ ; GLOBAL_OFFSET_TABLE. The operation is fully
+ ; described by the RTL but must be wrapped to
+ ; prevent combine from trying to rip it apart.
+ (UNSPEC_PRLG_STK 5) ; A special barrier that prevents frame accesses
; being scheduled before the stack adjustment insn.
(UNSPEC_CLZ 5) ; `clz' instruction, count leading zeros (SImode):
; operand 0 is the result,
@@ -4202,7 +4206,9 @@
(define_insn "pic_add_dot_plus_four"
[(set (match_operand:SI 0 "register_operand" "+r")
- (plus:SI (match_dup 0) (const (plus:SI (pc) (const_int 4)))))
+ (unspec:SI [(plus:SI (match_dup 0)
+ (const (plus:SI (pc) (const_int 4))))]
+ UNSPEC_PIC_BASE))
(use (label_ref (match_operand 1 "" "")))]
"TARGET_THUMB && flag_pic"
"*
@@ -4215,7 +4221,9 @@
(define_insn "pic_add_dot_plus_eight"
[(set (match_operand:SI 0 "register_operand" "+r")
- (plus:SI (match_dup 0) (const (plus:SI (pc) (const_int 8)))))
+ (unspec:SI [(plus:SI (match_dup 0)
+ (const (plus:SI (pc) (const_int 8))))]
+ UNSPEC_PIC_BASE))
(use (label_ref (match_operand 1 "" "")))]
"TARGET_ARM && flag_pic"
"*
@@ -8681,8 +8689,14 @@
"
)
+;; Note - although unspec_volatile's USE all hard registers,
+;; USEs are ignored after relaod has completed. Thus we need
+;; to add an unspec of the link register to ensure that flow
+;; does not think that it is unused by the sibcall branch that
+;; will replace the standard function epilogue.
(define_insn "sibcall_epilogue"
- [(unspec_volatile [(const_int 0)] VUNSPEC_EPILOGUE)]
+ [(parallel [(unspec:SI [(reg:SI LR_REGNUM)] UNSPEC_PROLOGUE_USE)
+ (unspec_volatile [(return)] VUNSPEC_EPILOGUE)])]
"TARGET_ARM"
"*
if (USE_RETURN_INSN (FALSE))
@@ -8691,7 +8705,11 @@
"
;; Length is absolute worst case
[(set_attr "length" "44")
- (set_attr "type" "block")]
+ (set_attr "type" "block")
+ ;; We don't clobber the conditions, but the potential length of this
+ ;; operation is sufficient to make conditionalizing the sequence
+ ;; unlikely to be profitable.
+ (set_attr "conds" "clob")]
)
(define_insn "*epilogue_insns"
@@ -8705,7 +8723,11 @@
"
; Length is absolute worst case
[(set_attr "length" "44")
- (set_attr "type" "block")]
+ (set_attr "type" "block")
+ ;; We don't clobber the conditions, but the potential length of this
+ ;; operation is sufficient to make conditionalizing the sequence
+ ;; unlikely to be profitable.
+ (set_attr "conds" "clob")]
)
(define_expand "eh_epilogue"
diff --git a/gcc/config/arm/t-netbsd b/gcc/config/arm/t-netbsd
index 511b0151116..76e431bfb11 100644
--- a/gcc/config/arm/t-netbsd
+++ b/gcc/config/arm/t-netbsd
@@ -16,9 +16,9 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
$(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(slibdir)/$(SHLIB_SONAME); \
- rm -f $$(slibdir)/$(SHLIB_NAME); \
- $(LN_S) $(SHLIB_SONAME) $$(slibdir)/$(SHLIB_NAME)
+SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
+ rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
+ $(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)
# Don't build enquire
ENQUIRE=
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index dd51f0e7240..86ab6c72829 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -1637,8 +1637,8 @@
[(set (cc0)
(compare (sign_extend:HI
(match_operand:QI 0 "register_operand" "d"))
- (match_operand:HI 1 "immediate_operand" "M")))]
- ""
+ (match_operand:HI 1 "const_int_operand" "n")))]
+ "INTVAL (operands[1]) >= -128 && INTVAL (operands[1]) <= 127"
"cpi %0,lo8(%1)"
[(set_attr "cc" "compare")
(set_attr "length" "1")])
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 9df673e3f17..91a089912c9 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -47,7 +47,7 @@ MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5
# The many avr2 matches are not listed here - this is the default.
MULTILIB_MATCHES = \
mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \
- mmcu?avr3=mmcu?at43usb320 mmcu?avr3=at43usb355 \
+ mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at43usb355 \
mmcu?avr3=mmcu?at76c711 \
mmcu?avr4=mmcu?atmega8515 mmcu?avr4=mmcu?atmega8535 \
mmcu?avr4=mmcu?atmega8 \
diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c
index 354ac76d1fa..b3d53d5e223 100644
--- a/gcc/config/c4x/c4x.c
+++ b/gcc/config/c4x/c4x.c
@@ -5017,7 +5017,7 @@ c4x_expand_builtin (exp, target, subtarget, mode, ignore)
break;
arg0 = TREE_VALUE (arglist);
if (TREE_CODE (arg0) == VAR_DECL || TREE_CODE (arg0) == PARM_DECL)
- put_var_into_stack (arg0);
+ put_var_into_stack (arg0, /*rescan=*/true);
r0 = expand_expr (arg0, NULL_RTX, QFmode, 0);
r0 = protect_from_queue (r0, 0);
if (register_operand (r0, QFmode))
diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h
index 94cca09b597..fa2f3d7c8c5 100644
--- a/gcc/config/c4x/c4x.h
+++ b/gcc/config/c4x/c4x.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler. TMS320C[34]x
- Copyright (C) 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003 Free Software Foundation, Inc.
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
and Herman Ten Brugge (Haj.Ten.Brugge@net.HCC.nl).
@@ -22,10 +22,10 @@
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include "hwint.h"
-
/* RUN-TIME TARGET SPECIFICATION. */
+#include "hwint.h"
+
#define C4x 1
#define TARGET_CPU_CPP_BUILTINS() \
@@ -93,23 +93,21 @@
#define ASM_SPEC "\
%{!mcpu=30:%{!mcpu=31:%{!mcpu=32:%{!mcpu=33:%{!mcpu=40:%{!mcpu=44:\
-%{!m30:%{!m40:-m40}}}}}}}} \
-%{mcpu=30:-m30} \
-%{mcpu=31:-m31} \
-%{mcpu=32:-m32} \
-%{mcpu=33:-m33} \
-%{mcpu=40:-m40} \
-%{mcpu=44:-m44} \
-%{m30:-m30} \
-%{m31:-m31} \
-%{m32:-m32} \
-%{m33:-m33} \
-%{m40:-m40} \
-%{m44:-m44} \
-%{mmemparm:-p} %{mregparm:-r} \
-%{!mmemparm:%{!mregparm:-r}} \
-%{mbig:-b} %{msmall:-s} \
-%{!msmall:%{!mbig:-b}}"
+%{!m30:%{!m31:%{!m32:%{!m33:%{!m40:%{!m44:-m40}}}}}}}}}}}} \
+%{mcpu=30} \
+%{mcpu=31} \
+%{mcpu=32} \
+%{mcpu=33} \
+%{mcpu=40} \
+%{mcpu=44} \
+%{m30} \
+%{m31} \
+%{m32} \
+%{m33} \
+%{m40} \
+%{m44} \
+%{mmemparm} %{mregparm} %{!mmemparm:%{!mregparm:-mregparm}} \
+%{mbig} %{msmall} %{!msmall:%{!mbig:-mbig}}"
/* Define linker options. */
@@ -153,7 +151,7 @@
#define C30_FLAG 0x0100000 /* Emit C30 code. */
#define C31_FLAG 0x0200000 /* Emit C31 code. */
#define C32_FLAG 0x0400000 /* Emit C32 code. */
-#define C33_FLAG 0x0400000 /* Emit C33 code. */
+#define C33_FLAG 0x0800000 /* Emit C33 code. */
#define C40_FLAG 0x1000000 /* Emit C40 code. */
#define C44_FLAG 0x2000000 /* Emit C44 code. */
@@ -239,7 +237,7 @@
{ "no-force", -FORCE_FLAG, \
N_("Allow RTL generation to emit invalid 3 operand insns") }, \
{ "loop-unsigned", LOOP_UNSIGNED_FLAG, \
- N_("Allow unsigned interation counts for RPTB/DB") }, \
+ N_("Allow unsigned iteration counts for RPTB/DB") }, \
{ "no-loop-unsigned", -LOOP_UNSIGNED_FLAG, \
N_("Disallow unsigned iteration counts for RPTB/DB") }, \
{ "preserve-float", PRESERVE_FLOAT_FLAG, \
@@ -1675,6 +1673,7 @@ fini_section () \
if (TARGET_C30) dspversion = 30; \
if (TARGET_C31) dspversion = 31; \
if (TARGET_C32) dspversion = 32; \
+ if (TARGET_C33) dspversion = 33; \
if (TARGET_C40) dspversion = 40; \
if (TARGET_C44) dspversion = 44; \
fprintf (FILE, "\t.version\t%d\n", dspversion); \
diff --git a/gcc/config/c4x/t-c4x b/gcc/config/c4x/t-c4x
index d1a83fb4231..45bcdeb6aee 100644
--- a/gcc/config/c4x/t-c4x
+++ b/gcc/config/c4x/t-c4x
@@ -13,7 +13,7 @@ c4x-c.o: $(srcdir)/config/c4x/c4x-c.c $(CONFIG_H) $(SYSTEM_H) cpplib.h \
MULTILIB_OPTIONS = m30 msmall mmemparm
MULTILIB_DIRNAMES = c3x small mem
-MULTILIB_MATCHES = m30=mcpu?30 m30=mcpu?31 m30=mcpu?32 m30=m31 m30=m32
+MULTILIB_MATCHES = m30=mcpu?30 m30=mcpu?31 m30=mcpu?32 m30=mcpu?33 m30=m31 m30=m32 m30=m33
MULTILIB_EXCEPTIONS =
MULTILIB_EXTRA_OPTS =
LIBGCC = stmp-multilib
diff --git a/gcc/config/cris/aout.h b/gcc/config/cris/aout.h
index dabee83a73b..277fd363e1b 100644
--- a/gcc/config/cris/aout.h
+++ b/gcc/config/cris/aout.h
@@ -48,6 +48,9 @@ Boston, MA 02111-1307, USA. */
%{!sim:%{pg:gcrt0.o%s}\
%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}}"
+/* Override cris.h define. */
+#undef ENDFILE_SPEC
+
/* Which library to get. The only difference from the default is to get
libsc.a if -sim is given to the driver. Repeat -lc -lsysX
{X=sim,linux}, because libsysX needs (at least) errno from libc, and
@@ -64,8 +67,7 @@ Boston, MA 02111-1307, USA. */
#undef CRIS_CPP_SUBTARGET_SPEC
#define CRIS_CPP_SUBTARGET_SPEC \
- "-D__AOUT__\
- %{melinux:-D__gnu_linux__ -D__linux__ -D__unix__ -D__elinux__ -D__uclinux__\
+ "%{melinux:-D__gnu_linux__ -D__linux__ -D__unix__ -D__elinux__ -D__uclinux__\
%{!nostdinc:\
%{!mbest-lib-options:%{isystem*}}\
-isystem elinux/include%s\
@@ -118,6 +120,19 @@ Boston, MA 02111-1307, USA. */
#undef CRIS_SUBTARGET_DEFAULT
#define CRIS_SUBTARGET_DEFAULT 0
+
+/* Node: Run-time Target */
+
+/* For the cris-*-aout subtarget. */
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("__AOUT__"); \
+ } \
+ while (0)
+
+
/* Node: Storage Layout */
/* We can align to 16 bits (only) with CRIS a.out. */
@@ -343,6 +358,13 @@ Boston, MA 02111-1307, USA. */
} \
while (0)
+/* The configure machinery invokes the assembler without options, which is
+ not how gcc invokes it. Without options, the multi-target assembler
+ will probably be found, which is ELF by default. To counter that, we
+ need to override ELF auto-host.h config stuff which we know collides
+ with a.out. */
+#undef HAVE_GAS_HIDDEN
+
/* Node: Alignment Output */
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 2eb864f065c..e63ad200352 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -328,6 +328,22 @@ cris_operand_extend_operator (x, mode)
&& (code == PLUS || code == MINUS || code == UMIN));
}
+/* Check if MODE is same as mode for X, and X is PLUS or MINUS. */
+
+int
+cris_additive_operand_extend_operator (x, mode)
+ rtx x;
+ enum machine_mode mode;
+{
+ enum rtx_code code = GET_CODE (x);
+
+ if (mode == VOIDmode)
+ mode = GET_MODE (x);
+
+ return (GET_MODE (x) == mode
+ && (code == PLUS || code == MINUS));
+}
+
/* Check to see if MODE is same as mode for X, and X is SIGN_EXTEND or
ZERO_EXTEND. */
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 4aa88466c80..0a23a48f960 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
@@ -115,18 +115,8 @@ extern const char *cris_elinux_stacksize_str;
/* Also provide canonical vN definitions when user specifies an alias.
Note that -melf overrides -maout. */
-/* The `-$' is here mostly due to the integrated preprocessor not
- handling the builtin expansion of "#define __REGISTER_PREFIX__ $"
- gracefully. This is slightly redundant although not incorrect.
- We're quite alone defining REGISTER_PREFIX as "$" so it's unlikely
- someone will fight for us. This year in the mountains.
- Note that for -melinux and -mlinux, command-line -isystem options are
- emitted both before and after the synthesized one. We can't remove all
- of them: a %{<isystem} will only remove the first one and %{<isystem*}
- will not do TRT. Those extra occurrences are harmless anyway. */
#define CPP_SPEC \
- "-$ -D__CRIS_ABI_version=2\
- %{mtune=*:-D__tune_%* %{mtune=v*:-D__CRIS_arch_tune=%*}}\
+ "%{mtune=*:-D__tune_%* %{mtune=v*:-D__CRIS_arch_tune=%*}}\
%{mtune=etrax4:-D__tune_v3 -D__CRIS_arch_tune=3}\
%{mtune=etrax100:-D__tune_v8 -D__CRIS_arch_tune=8}\
%{mtune=svinto:-D__tune_v8 -D__CRIS_arch_tune=8}\
@@ -150,8 +140,7 @@ extern const char *cris_elinux_stacksize_str;
/* For the cris-*-elf subtarget. */
#define CRIS_CPP_SUBTARGET_SPEC \
- "-D__ELF__\
- %{mbest-lib-options:\
+ "%{mbest-lib-options:\
%{!moverride-best-lib-options:\
%{!march=*:%{!metrax*:%{!mcpu=*:-D__tune_v10 -D__CRIS_arch_tune=10}}}}}"
@@ -255,8 +244,23 @@ extern const char *cris_elinux_stacksize_str;
/* Node: Run-time Target */
-/* Only keep the non-varying ones here. */
-#define CPP_PREDEFINES "-Dcris -DCRIS -DGNU_CRIS"
+#define TARGET_CPU_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define_std ("cris"); \
+ builtin_define_std ("CRIS"); \
+ builtin_define_std ("GNU_CRIS"); \
+ builtin_define ("__CRIS_ABI_version=2"); \
+ } \
+ while (0)
+
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("__ELF__"); \
+ } \
+ while (0)
+
/* This needs to be at least 32 bits. */
extern int target_flags;
@@ -956,9 +960,8 @@ enum reg_class {NO_REGS, ALL_REGS, LIM_REG_CLASSES};
struct cum_args {int regs;};
/* The regs member is an integer, the number of arguments got into
- registers so far, and lib is nonzero if init_cumulative_args was
- found to generate a call to a library function. */
-#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT) \
+ registers so far. */
+#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT) \
((CUM).regs = 0)
#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
@@ -1246,8 +1249,7 @@ struct cum_args {int regs;};
FIXME: Check and adjust for gcc-2.9x. */
#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN) {}
-/* Functionality import from EGCS.
- Kludge to solve Axis-990219: Work around imperfection in
+/* Kludge to solve Axis-990219: Work around imperfection in
reload_load_address1:
(plus (sign_extend (mem:qi (reg))) (reg))
should be reloaded as (plus (reg) (reg)), not
@@ -1255,9 +1257,8 @@ struct cum_args {int regs;};
There are no checks that reload_load_address_1 "reloads"
addresses correctly, so invalidness is not caught or
corrected.
- When the right thing happens, the "something_reloaded" kludge can
- be removed. The right thing does not appear to happen for
- EGCS CVS as of this date (above). */
+ When the right thing happens in reload, the kludge can
+ be removed; still not as of 2003-02-27. */
#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, IND_LEVELS, WIN) \
do \
@@ -1733,6 +1734,8 @@ call_ ## FUNC (void) \
{PLUS, IOR, AND, UMIN}}, \
{"cris_operand_extend_operator", \
{PLUS, MINUS, UMIN}}, \
+ {"cris_additive_operand_extend_operator", \
+ {PLUS, MINUS}}, \
{"cris_extend_operator", \
{ZERO_EXTEND, SIGN_EXTEND}}, \
{"cris_plus_or_bound_operator", \
diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md
index 1683192189c..1b2d504cc22 100644
--- a/gcc/config/cris/cris.md
+++ b/gcc/config/cris/cris.md
@@ -1,5 +1,5 @@
;; GCC machine description for CRIS cpu cores.
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
;; Contributed by Axis Communications.
;; This file is part of GCC.
@@ -34,7 +34,7 @@
;; gcc-2.7.2 (and problably not on gcc-2.8.1), relating to that when a
;; constant is substituted into an operand, the actual mode must be
;; deduced from the pattern. There is reasonable hope that that has been
-;; fixed in egcs post 1.1.1, so FIXME: try again.
+;; fixed, so FIXME: try again.
;; You will notice that three-operand alternatives ("=r", "r", "!To")
;; are marked with a "!" constraint modifier to avoid being reloaded
@@ -496,7 +496,7 @@
[(set (match_operand:QI 0 "register_operand" "=r,r,r")
(mem:QI
(plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri"))))
+ (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn"))))
(set (match_operand:SI 3 "register_operand" "=*1,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
@@ -519,7 +519,7 @@
[(set (match_operand:HI 0 "register_operand" "=r,r,r")
(mem:HI
(plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri"))))
+ (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn"))))
(set (match_operand:SI 3 "register_operand" "=*1,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
@@ -542,7 +542,7 @@
[(set (match_operand:SI 0 "register_operand" "=r,r,r")
(mem:SI
(plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri"))))
+ (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn"))))
(set (match_operand:SI 3 "register_operand" "=*1,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
@@ -671,7 +671,7 @@
(define_insn "*mov_sideqi_mem"
[(set (mem:QI
(plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r")
- (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r>Ri,r,>Ri")))
+ (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn")))
(match_operand:QI 2 "register_operand" "r,r,r,r"))
(set (match_operand:SI 3 "register_operand" "=*0,!2,r,r")
(plus:SI (match_dup 0)
@@ -696,7 +696,7 @@
(define_insn "*mov_sidehi_mem"
[(set (mem:HI
(plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r")
- (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r>Ri,r,>Ri")))
+ (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn")))
(match_operand:HI 2 "register_operand" "r,r,r,r"))
(set (match_operand:SI 3 "register_operand" "=*0,!2,r,r")
(plus:SI (match_dup 0)
@@ -721,7 +721,7 @@
(define_insn "*mov_sidesi_mem"
[(set (mem:SI
(plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r")
- (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r>Ri,r,>Ri")))
+ (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn")))
(match_operand:SI 2 "register_operand" "r,r,r,r"))
(set (match_operand:SI 3 "register_operand" "=*0,!2,r,r")
(plus:SI (match_dup 0)
@@ -786,7 +786,7 @@
(define_insn "*clear_sidesi"
[(set (mem:SI
(plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r,>Ri")))
+ (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r,>Rn")))
(const_int 0))
(set (match_operand:SI 2 "register_operand" "=*0,r,r")
(plus:SI (match_dup 0)
@@ -826,7 +826,7 @@
(define_insn "*clear_sidehi"
[(set (mem:HI
(plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r,>Ri")))
+ (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r,>Rn")))
(const_int 0))
(set (match_operand:SI 2 "register_operand" "=*0,r,r")
(plus:SI (match_dup 0)
@@ -866,7 +866,7 @@
(define_insn "*clear_sideqi"
[(set (mem:QI
(plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r,>Ri")))
+ (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r,>Rn")))
(const_int 0))
(set (match_operand:SI 2 "register_operand" "=*0,r,r")
(plus:SI (match_dup 0)
@@ -1127,7 +1127,7 @@
4 "cris_extend_operator"
[(mem:QI (plus:SI
(match_operand:SI 1 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))]))
+ (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))]))
(set (match_operand:SI 3 "register_operand" "=*1,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
@@ -1152,7 +1152,7 @@
4 "cris_extend_operator"
[(mem:QI (plus:SI
(match_operand:SI 1 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))]))
+ (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))]))
(set (match_operand:SI 3 "register_operand" "=*1,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
@@ -1177,7 +1177,7 @@
4 "cris_extend_operator"
[(mem:HI (plus:SI
(match_operand:SI 1 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))]))
+ (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))]))
(set (match_operand:SI 3 "register_operand" "=*1,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
@@ -1473,7 +1473,7 @@
[(match_operand:QI 1 "register_operand" "0,0,0")
(mem:QI (plus:SI
(match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))]))
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
(match_dup 3)))]
@@ -1499,7 +1499,7 @@
[(match_operand:HI 1 "register_operand" "0,0,0")
(mem:HI (plus:SI
(match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))]))
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
(match_dup 3)))]
@@ -1525,7 +1525,7 @@
[(match_operand:SI 1 "register_operand" "0,0,0")
(mem:SI (plus:SI
(match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))]))
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
(match_dup 3)))]
@@ -1624,7 +1624,7 @@
5 "cris_commutative_orth_op"
[(mem:QI
(plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))
(match_operand:QI 1 "register_operand" "0,0,0")]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -1650,7 +1650,7 @@
5 "cris_commutative_orth_op"
[(mem:HI
(plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))
(match_operand:HI 1 "register_operand" "0,0,0")]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -1676,7 +1676,7 @@
5 "cris_commutative_orth_op"
[(mem:SI
(plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))
(match_operand:SI 1 "register_operand" "0,0,0")]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -1886,7 +1886,7 @@
(define_insn "*extopqihi_side_biap"
[(set (match_operand:HI 0 "register_operand" "=r,r")
(match_operator:HI
- 6 "cris_operand_extend_operator"
+ 6 "cris_additive_operand_extend_operator"
[(match_operand:HI 1 "register_operand" "0,0")
(match_operator:HI
7 "cris_extend_operator"
@@ -1898,8 +1898,7 @@
(plus:SI (mult:SI (match_dup 2)
(match_dup 3))
(match_dup 4)))]
- "(GET_CODE (operands[5]) != UMIN || GET_CODE (operands[7]) == ZERO_EXTEND)
- && cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
+ "cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
%x6%e7.%m7 [%5=%4+%2%T3],%0")
@@ -1921,7 +1920,7 @@
(plus:SI (mult:SI (match_dup 2)
(match_dup 3))
(match_dup 4)))]
- "(GET_CODE (operands[5]) != UMIN || GET_CODE (operands[7]) == ZERO_EXTEND)
+ "(GET_CODE (operands[6]) != UMIN || GET_CODE (operands[7]) == ZERO_EXTEND)
&& cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
@@ -1944,7 +1943,7 @@
(plus:SI (mult:SI (match_dup 2)
(match_dup 3))
(match_dup 4)))]
- "(GET_CODE (operands[5]) != UMIN || GET_CODE (operands[7]) == ZERO_EXTEND)
+ "(GET_CODE (operands[6]) != UMIN || GET_CODE (operands[7]) == ZERO_EXTEND)
&& cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
@@ -1959,19 +1958,18 @@
(define_insn "*extopqihi_side"
[(set (match_operand:HI 0 "register_operand" "=r,r,r")
(match_operator:HI
- 5 "cris_operand_extend_operator"
+ 5 "cris_additive_operand_extend_operator"
[(match_operand:HI 1 "register_operand" "0,0,0")
(match_operator:HI
6 "cris_extend_operator"
[(mem:QI
(plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")
))])]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
(match_dup 3)))]
- "(GET_CODE (operands[5]) != UMIN || GET_CODE (operands[6]) == ZERO_EXTEND)
- && cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
+ "cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
"*
{
if (which_alternative == 0
@@ -1995,7 +1993,7 @@
6 "cris_extend_operator"
[(mem:QI
(plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")
))])]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -2026,7 +2024,7 @@
6 "cris_extend_operator"
[(mem:HI
(plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")
))])]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -2053,28 +2051,25 @@
;; QImode to HImode
;; FIXME: GCC should widen.
-;; FIXME: These could have anonymous mode for operand 0.
(define_insn "*extopqihi_swap_side_biap"
[(set (match_operand:HI 0 "register_operand" "=r,r")
- (match_operator:HI
- 7 "cris_plus_or_bound_operator"
- [(match_operator:HI
- 6 "cris_extend_operator"
- [(mem:QI (plus:SI
- (mult:SI (match_operand:SI 2 "register_operand" "r,r")
- (match_operand:SI 3 "const_int_operand" "n,n"))
- (match_operand:SI 4 "register_operand" "r,r")))])
- (match_operand:HI 1 "register_operand" "0,0")]))
+ (plus:HI
+ (match_operator:HI
+ 6 "cris_extend_operator"
+ [(mem:QI (plus:SI
+ (mult:SI (match_operand:SI 2 "register_operand" "r,r")
+ (match_operand:SI 3 "const_int_operand" "n,n"))
+ (match_operand:SI 4 "register_operand" "r,r")))])
+ (match_operand:HI 1 "register_operand" "0,0")))
(set (match_operand:SI 5 "register_operand" "=*4,r")
(plus:SI (mult:SI (match_dup 2)
(match_dup 3))
(match_dup 4)))]
- "(GET_CODE (operands[6]) != UMIN || GET_CODE (operands[6]) == ZERO_EXTEND)
- && cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
+ "cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
- %x7%e6.%m6 [%5=%4+%2%T3],%0")
+ add%e6.b [%5=%4+%2%T3],%0")
;; QImode to SImode
@@ -2093,7 +2088,7 @@
(plus:SI (mult:SI (match_dup 2)
(match_dup 3))
(match_dup 4)))]
- "(GET_CODE (operands[6]) != UMIN || GET_CODE (operands[6]) == ZERO_EXTEND)
+ "(GET_CODE (operands[7]) != UMIN || GET_CODE (operands[6]) == ZERO_EXTEND)
&& cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
@@ -2115,7 +2110,7 @@
(plus:SI (mult:SI (match_dup 2)
(match_dup 3))
(match_dup 4)))]
- "(GET_CODE (operands[6]) != UMIN || GET_CODE (operands[6]) == ZERO_EXTEND)
+ "(GET_CODE (operands[7]) != UMIN || GET_CODE (operands[6]) == ZERO_EXTEND)
&& cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
@@ -2129,19 +2124,17 @@
(define_insn "*extopqihi_swap_side"
[(set (match_operand:HI 0 "register_operand" "=r,r,r")
- (match_operator:HI
- 6 "cris_plus_or_bound_operator"
- [(match_operator:HI
- 5 "cris_extend_operator"
- [(mem:QI (plus:SI
- (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))])
- (match_operand:HI 1 "register_operand" "0,0,0")]))
+ (plus:HI
+ (match_operator:HI
+ 5 "cris_extend_operator"
+ [(mem:QI (plus:SI
+ (match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))])
+ (match_operand:HI 1 "register_operand" "0,0,0")))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
(match_dup 3)))]
- "(GET_CODE (operands[6]) != UMIN || GET_CODE (operands[5]) == ZERO_EXTEND)
- && cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
+ "cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
"*
{
if (which_alternative == 0
@@ -2151,7 +2144,7 @@
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'J')))
return \"#\";
- return \"%x6%e5.%m5 [%4=%2%S3],%0\";
+ return \"add%e5.b [%4=%2%S3],%0\";
}")
;; QImode to SImode
@@ -2164,7 +2157,7 @@
5 "cris_extend_operator"
[(mem:QI (plus:SI
(match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))])
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))])
(match_operand:SI 1 "register_operand" "0,0,0")]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -2193,7 +2186,7 @@
5 "cris_extend_operator"
[(mem:HI (plus:SI
(match_operand:SI 2 "cris_bdap_operand" "%r,r,r")
- (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))])
+ (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))])
(match_operand:SI 1 "register_operand" "0,0,0")]))
(set (match_operand:SI 4 "register_operand" "=*2,r,r")
(plus:SI (match_dup 2)
@@ -2221,13 +2214,12 @@
(define_insn "*extopqihi"
[(set (match_operand:HI 0 "register_operand" "=r,r,r,r")
(match_operator:HI
- 3 "cris_operand_extend_operator"
+ 3 "cris_additive_operand_extend_operator"
[(match_operand:HI 1 "register_operand" "0,0,0,r")
(match_operator:HI
4 "cris_extend_operator"
[(match_operand:QI 2 "nonimmediate_operand" "r,Q>,m,!To")])]))]
- "(GET_CODE (operands[3]) != UMIN || GET_CODE (operands[4]) == ZERO_EXTEND)
- && GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
+ "GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
&& (operands[1] != frame_pointer_rtx || GET_CODE (operands[3]) != PLUS)"
"@
%x3%e4.%m4 %2,%0
@@ -2285,20 +2277,17 @@
(define_insn "*extopqihi_swap"
[(set (match_operand:HI 0 "register_operand" "=r,r,r,r")
- (match_operator:HI
- 4 "cris_plus_or_bound_operator"
- [(match_operator:HI
- 3 "cris_extend_operator"
- [(match_operand:QI 2 "nonimmediate_operand" "r,Q>,m,!To")])
- (match_operand:HI 1 "register_operand" "0,0,0,r")]))]
- "(GET_CODE (operands[3]) != UMIN || GET_CODE (operands[4]) == ZERO_EXTEND)
- && GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
- && operands[1] != frame_pointer_rtx"
+ (plus:HI
+ (match_operator:HI
+ 3 "cris_extend_operator"
+ [(match_operand:QI 2 "nonimmediate_operand" "r,Q>,m,!To")])
+ (match_operand:HI 1 "register_operand" "0,0,0,r")))]
+ "operands[1] != frame_pointer_rtx"
"@
- %x4%e3.%m3 %2,%0
- %x4%e3.%m3 %2,%0
- %x4%e3.%m3 %2,%0
- %x4%e3.%m3 %2,%1,%0"
+ add%e3.b %2,%0
+ add%e3.b %2,%0
+ add%e3.b %2,%0
+ add%e3.b %2,%1,%0"
[(set_attr "slottable" "yes,yes,no,no")
(set_attr "cc" "clobber")])
@@ -2312,8 +2301,7 @@
3 "cris_extend_operator"
[(match_operand:QI 2 "nonimmediate_operand" "r,Q>,m,!To")])
(match_operand:SI 1 "register_operand" "0,0,0,r")]))]
- "(GET_CODE (operands[3]) != UMIN || GET_CODE (operands[4]) == ZERO_EXTEND)
- && GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
+ "(GET_CODE (operands[4]) != UMIN || GET_CODE (operands[3]) == ZERO_EXTEND)
&& operands[1] != frame_pointer_rtx"
"@
%x4%e3.%m3 %2,%0
@@ -2332,8 +2320,7 @@
3 "cris_extend_operator"
[(match_operand:HI 2 "nonimmediate_operand" "r,Q>,m,!To")])
(match_operand:SI 1 "register_operand" "0,0,0,r")]))]
- "(GET_CODE (operands[3]) != UMIN || GET_CODE (operands[4]) == ZERO_EXTEND)
- && GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
+ "(GET_CODE (operands[4]) != UMIN || GET_CODE (operands[3]) == ZERO_EXTEND)
&& operands[1] != frame_pointer_rtx"
"@
%x4%e3.%m3 %2,%0
@@ -4854,10 +4841,10 @@
(define_peephole
[(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
- (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri"))
+ (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn"))
(set (match_dup 0)
- (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r")
- (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0")))
+ (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r")
+ (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0")))
(set (match_operand 4 "register_operand" "=r,r,r,r")
(mem (match_dup 0)))]
"(rtx_equal_p (operands[2], operands[0])
@@ -4882,10 +4869,10 @@
(define_peephole
[(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
- (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri"))
+ (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn"))
(set (match_dup 0)
- (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r")
- (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0")))
+ (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r")
+ (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0")))
(set (mem (match_dup 0))
(match_operand 4 "register_operand" "=r,r,r,r"))]
"(rtx_equal_p (operands[2], operands[0])
@@ -4912,10 +4899,10 @@
(define_peephole
[(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
- (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri"))
+ (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn"))
(set (match_dup 0)
- (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r")
- (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0")))
+ (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r")
+ (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0")))
(set (match_operand 4 "register_operand" "=r,r,r,r")
(match_operator 5 "cris_orthogonal_operator"
[(match_dup 3)
@@ -4942,10 +4929,10 @@
(define_peephole
[(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
- (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri"))
+ (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn"))
(set (match_dup 0)
- (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r")
- (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0")))
+ (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r")
+ (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0")))
(set (match_operand 4 "register_operand" "=r,r,r,r")
(match_operator 5 "cris_commutative_orth_op"
[(mem (match_dup 0))
@@ -5014,8 +5001,8 @@
(define_peephole
[(set (match_operand 0 "register_operand" "=r,r,r,r")
(mem (plus:SI
- (match_operand:SI 1 "cris_bdap_biap_operand" "r,r>Ri,r,r>Ri")
- (match_operand:SI 2 "cris_bdap_biap_operand" "r>Ri,r,r>Ri,r"))))
+ (match_operand:SI 1 "cris_bdap_biap_operand" "r,r>Rn,r,r>Rn")
+ (match_operand:SI 2 "cris_bdap_biap_operand" "r>Rn,r,r>Rn,r"))))
(set (match_dup 0)
(match_operator 5 "cris_commutative_orth_op"
[(match_operand 3 "register_operand" "0,0,r,r")
diff --git a/gcc/config/cris/linux.h b/gcc/config/cris/linux.h
index 546f38101b9..a3014416e16 100644
--- a/gcc/config/cris/linux.h
+++ b/gcc/config/cris/linux.h
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
@@ -47,10 +47,7 @@ Boston, MA 02111-1307, USA. */
#undef CRIS_CPP_SUBTARGET_SPEC
#define CRIS_CPP_SUBTARGET_SPEC \
- "-D__gnu_linux__ -D__linux__ -D__unix__ -D__ELF__\
- %{pthread:-D_REENTRANT}\
- %{fPIC|fpic: -D__PIC__ -D__pic__}\
- %{!fleading-underscore:-fno-leading-underscore -D__NO_UNDERSCORES__}\
+ "%{pthread:-D_REENTRANT}\
%{!march=*:%{!cpu=*:-D__arch_v10 -D__CRIS_arch_version=10}}\
%{!ansi:%{!std=*:%{!undef:-Dlinux -Dunix}\
-Asystem(unix) -Asystem(posix) -Acpu(cris) -Amachine(cris)}}"
@@ -99,6 +96,29 @@ Boston, MA 02111-1307, USA. */
%{!r:%{O2|O3: --gc-sections}}"
+/* Node: Run-time Target */
+
+/* For the cris-*-linux* subtarget. */
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ extern int flag_leading_underscore; \
+ builtin_define ("__gnu_linux__"); \
+ builtin_define ("__linux__"); \
+ builtin_define ("__unix__"); \
+ builtin_define ("__ELF__"); \
+ if (flag_pic) \
+ { \
+ builtin_define ("__PIC__"); \
+ builtin_define ("__pic__"); \
+ } \
+ if (flag_leading_underscore <= 0) \
+ builtin_define ("__NO_UNDERSCORES__"); \
+ } \
+ while (0)
+
+
/* Node: Sections */
/* GNU/Linux has crti and crtn and does not need the
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/fp-bit.c b/gcc/config/fp-bit.c
index 7ec20ecf9f2..e609760c59c 100644
--- a/gcc/config/fp-bit.c
+++ b/gcc/config/fp-bit.c
@@ -1,6 +1,6 @@
/* This is a software floating point library which can be used
for targets without hardware floating point.
- Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
@@ -130,6 +130,10 @@ void __lttf2 (void) { abort(); }
const fp_number_type __thenan_sf = { CLASS_SNAN, 0, 0, {(fractype) 0} };
#elif defined L_thenan_df
const fp_number_type __thenan_df = { CLASS_SNAN, 0, 0, {(fractype) 0} };
+#elif defined L_thenan_tf
+const fp_number_type __thenan_tf = { CLASS_SNAN, 0, 0, {(fractype) 0} };
+#elif defined TFLOAT
+extern const fp_number_type __thenan_tf;
#elif defined FLOAT
extern const fp_number_type __thenan_sf;
#else
@@ -141,7 +145,9 @@ static fp_number_type *
nan (void)
{
/* Discard the const qualifier... */
-#ifdef FLOAT
+#ifdef TFLOAT
+ return (fp_number_type *) (& __thenan_tf);
+#elif defined FLOAT
return (fp_number_type *) (& __thenan_sf);
#else
return (fp_number_type *) (& __thenan_df);
@@ -180,7 +186,7 @@ flip_sign ( fp_number_type * x)
extern FLO_type pack_d ( fp_number_type * );
-#if defined(L_pack_df) || defined(L_pack_sf)
+#if defined(L_pack_df) || defined(L_pack_sf) || defined(L_pack_tf)
FLO_type
pack_d ( fp_number_type * src)
{
@@ -316,24 +322,92 @@ pack_d ( fp_number_type * src)
dst.bits.exp = exp;
dst.bits.sign = sign;
#else
+# if defined TFLOAT && defined HALFFRACBITS
+ {
+ halffractype high, low;
+
+ high = (fraction >> (FRACBITS - HALFFRACBITS));
+ high &= (((fractype)1) << HALFFRACBITS) - 1;
+ high |= ((fractype) (exp & ((1 << EXPBITS) - 1))) << HALFFRACBITS;
+ high |= ((fractype) (sign & 1)) << (HALFFRACBITS | EXPBITS);
+
+ low = (halffractype)fraction &
+ ((((halffractype)1) << (FRACBITS - HALFFRACBITS)) - 1);
+
+ if (exp == EXPMAX || exp == 0 || low == 0)
+ low = 0;
+ else
+ {
+ exp -= HALFFRACBITS + 1;
+
+ while (exp > 0
+ && low < ((halffractype)1 << HALFFRACBITS))
+ {
+ low <<= 1;
+ exp--;
+ }
+
+ if (exp <= 0)
+ {
+ halffractype roundmsb, round;
+
+ exp = -exp + 1;
+
+ roundmsb = (1 << (exp - 1));
+ round = low & ((roundmsb << 1) - 1);
+
+ low >>= exp;
+ exp = 0;
+
+ if (round > roundmsb || (round == roundmsb && (low & 1)))
+ {
+ low++;
+ if (low >= ((halffractype)1 << HALFFRACBITS))
+ /* We don't shift left, since it has just become the
+ smallest normal number, whose implicit 1 bit is
+ now indicated by the non-zero exponent. */
+ exp++;
+ }
+ }
+
+ low &= ((halffractype)1 << HALFFRACBITS) - 1;
+ low |= ((fractype) (exp & ((1 << EXPBITS) - 1))) << HALFFRACBITS;
+ low |= ((fractype) (sign & 1)) << (HALFFRACBITS | EXPBITS);
+ }
+
+ dst.value_raw = (((fractype) high) << HALFSHIFT) | low;
+ }
+# else
dst.value_raw = fraction & ((((fractype)1) << FRACBITS) - (fractype)1);
dst.value_raw |= ((fractype) (exp & ((1 << EXPBITS) - 1))) << FRACBITS;
dst.value_raw |= ((fractype) (sign & 1)) << (FRACBITS | EXPBITS);
+# endif
#endif
#if defined(FLOAT_WORD_ORDER_MISMATCH) && !defined(FLOAT)
+#ifdef TFLOAT
+ {
+ qrtrfractype tmp1 = dst.words[0];
+ qrtrfractype tmp2 = dst.words[1];
+ dst.words[0] = dst.words[3];
+ dst.words[1] = dst.words[2];
+ dst.words[2] = tmp2;
+ dst.words[3] = tmp1;
+ }
+#else
{
halffractype tmp = dst.words[0];
dst.words[0] = dst.words[1];
dst.words[1] = tmp;
}
#endif
+#endif
return dst.value;
}
#endif
-#if defined(L_unpack_df) || defined(L_unpack_sf)
+#if defined(L_unpack_df) || defined(L_unpack_sf) || defined(L_unpack_tf)
void
unpack_d (FLO_union_type * src, fp_number_type * dst)
{
@@ -347,8 +421,15 @@ unpack_d (FLO_union_type * src, fp_number_type * dst)
#if defined(FLOAT_WORD_ORDER_MISMATCH) && !defined(FLOAT)
FLO_union_type swapped;
+#ifdef TFLOAT
+ swapped.words[0] = src->words[3];
+ swapped.words[1] = src->words[2];
+ swapped.words[2] = src->words[1];
+ swapped.words[3] = src->words[0];
+#else
swapped.words[0] = src->words[1];
swapped.words[1] = src->words[0];
+#endif
src = &swapped;
#endif
@@ -357,9 +438,46 @@ unpack_d (FLO_union_type * src, fp_number_type * dst)
exp = src->bits.exp;
sign = src->bits.sign;
#else
- fraction = src->value_raw & ((((fractype)1) << FRACBITS) - (fractype)1);
+# if defined TFLOAT && defined HALFFRACBITS
+ {
+ halffractype high, low;
+
+ high = src->value_raw >> HALFSHIFT;
+ low = src->value_raw & (((fractype)1 << HALFSHIFT) - 1);
+
+ fraction = high & ((((fractype)1) << HALFFRACBITS) - 1);
+ fraction <<= FRACBITS - HALFFRACBITS;
+ exp = ((int)(high >> HALFFRACBITS)) & ((1 << EXPBITS) - 1);
+ sign = ((int)(high >> (((HALFFRACBITS + EXPBITS))))) & 1;
+
+ if (exp != EXPMAX && exp != 0 && low != 0)
+ {
+ int lowexp = ((int)(low >> HALFFRACBITS)) & ((1 << EXPBITS) - 1);
+ int lowsign = ((int)(low >> (((HALFFRACBITS + EXPBITS))))) & 1;
+ int shift;
+ fractype xlow;
+
+ xlow = low & ((((fractype)1) << HALFFRACBITS) - 1);
+ if (lowexp)
+ xlow |= (((halffractype)1) << HALFFRACBITS);
+ else
+ lowexp = 1;
+ shift = (FRACBITS - HALFFRACBITS) - (exp - lowexp);
+ if (shift > 0)
+ xlow <<= shift;
+ else if (shift < 0)
+ xlow >>= -shift;
+ if (sign == lowsign)
+ fraction += xlow;
+ else
+ fraction -= xlow;
+ }
+ }
+# else
+ fraction = src->value_raw & ((((fractype)1) << FRACBITS) - 1);
exp = ((int)(src->value_raw >> FRACBITS)) & ((1 << EXPBITS) - 1);
sign = ((int)(src->value_raw >> (FRACBITS + EXPBITS))) & 1;
+# endif
#endif
dst->sign = sign;
@@ -427,7 +545,7 @@ unpack_d (FLO_union_type * src, fp_number_type * dst)
}
#endif /* L_unpack_df || L_unpack_sf */
-#if defined(L_addsub_sf) || defined(L_addsub_df)
+#if defined(L_addsub_sf) || defined(L_addsub_df) || defined(L_addsub_tf)
static fp_number_type *
_fpadd_parts (fp_number_type * a,
fp_number_type * b,
@@ -611,7 +729,7 @@ sub (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_addsub_sf || L_addsub_df */
-#if defined(L_mul_sf) || defined(L_mul_df)
+#if defined(L_mul_sf) || defined(L_mul_df) || defined(L_mul_tf)
static inline __attribute__ ((__always_inline__)) fp_number_type *
_fpmul_parts ( fp_number_type * a,
fp_number_type * b,
@@ -660,7 +778,7 @@ _fpmul_parts ( fp_number_type * a,
/* Calculate the mantissa by multiplying both numbers to get a
twice-as-wide number. */
{
-#if defined(NO_DI_MODE)
+#if defined(NO_DI_MODE) || defined(TFLOAT)
{
fractype x = a->fraction.ll;
fractype ylow = b->fraction.ll;
@@ -723,13 +841,9 @@ _fpmul_parts ( fp_number_type * a,
#endif
}
- tmp->normal_exp = a->normal_exp + b->normal_exp;
+ tmp->normal_exp = a->normal_exp + b->normal_exp
+ + FRAC_NBITS - (FRACBITS + NGARDS);
tmp->sign = a->sign != b->sign;
-#ifdef FLOAT
- tmp->normal_exp += 2; /* ??????????????? */
-#else
- tmp->normal_exp += 4; /* ??????????????? */
-#endif
while (high >= IMPLICIT_2)
{
tmp->normal_exp++;
@@ -803,7 +917,7 @@ multiply (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_mul_sf || L_mul_df */
-#if defined(L_div_sf) || defined(L_div_df)
+#if defined(L_div_sf) || defined(L_div_df) || defined(L_div_tf)
static inline __attribute__ ((__always_inline__)) fp_number_type *
_fpdiv_parts (fp_number_type * a,
fp_number_type * b)
@@ -913,7 +1027,8 @@ divide (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_div_sf || L_div_df */
-#if defined(L_fpcmp_parts_sf) || defined(L_fpcmp_parts_df)
+#if defined(L_fpcmp_parts_sf) || defined(L_fpcmp_parts_df) \
+ || defined(L_fpcmp_parts_tf)
/* according to the demo, fpcmp returns a comparison with 0... thus
a<b -> -1
a==b -> 0
@@ -998,7 +1113,7 @@ __fpcmp_parts (fp_number_type * a, fp_number_type * b)
}
#endif
-#if defined(L_compare_sf) || defined(L_compare_df)
+#if defined(L_compare_sf) || defined(L_compare_df) || defined(L_compoare_tf)
CMPtype
compare (FLO_type arg_a, FLO_type arg_b)
{
@@ -1020,7 +1135,7 @@ compare (FLO_type arg_a, FLO_type arg_b)
/* These should be optimized for their specific tasks someday. */
-#if defined(L_eq_sf) || defined(L_eq_df)
+#if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf)
CMPtype
_eq_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1041,7 +1156,7 @@ _eq_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_eq_sf || L_eq_df */
-#if defined(L_ne_sf) || defined(L_ne_df)
+#if defined(L_ne_sf) || defined(L_ne_df) || defined(L_ne_tf)
CMPtype
_ne_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1062,7 +1177,7 @@ _ne_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_ne_sf || L_ne_df */
-#if defined(L_gt_sf) || defined(L_gt_df)
+#if defined(L_gt_sf) || defined(L_gt_df) || defined(L_gt_tf)
CMPtype
_gt_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1083,7 +1198,7 @@ _gt_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_gt_sf || L_gt_df */
-#if defined(L_ge_sf) || defined(L_ge_df)
+#if defined(L_ge_sf) || defined(L_ge_df) || defined(L_ge_tf)
CMPtype
_ge_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1103,7 +1218,7 @@ _ge_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_ge_sf || L_ge_df */
-#if defined(L_lt_sf) || defined(L_lt_df)
+#if defined(L_lt_sf) || defined(L_lt_df) || defined(L_lt_tf)
CMPtype
_lt_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1124,7 +1239,7 @@ _lt_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_lt_sf || L_lt_df */
-#if defined(L_le_sf) || defined(L_le_df)
+#if defined(L_le_sf) || defined(L_le_df) || defined(L_le_tf)
CMPtype
_le_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1147,7 +1262,7 @@ _le_f2 (FLO_type arg_a, FLO_type arg_b)
#endif /* ! US_SOFTWARE_GOFAST */
-#if defined(L_unord_sf) || defined(L_unord_df)
+#if defined(L_unord_sf) || defined(L_unord_df) || defined(L_unord_tf)
CMPtype
_unord_f2 (FLO_type arg_a, FLO_type arg_b)
{
@@ -1165,7 +1280,7 @@ _unord_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_unord_sf || L_unord_df */
-#if defined(L_si_to_sf) || defined(L_si_to_df)
+#if defined(L_si_to_sf) || defined(L_si_to_df) || defined(L_si_to_tf)
FLO_type
si_to_float (SItype arg_a)
{
@@ -1193,7 +1308,7 @@ si_to_float (SItype arg_a)
else
in.fraction.ll = arg_a;
- while (in.fraction.ll < (1LL << (FRACBITS + NGARDS)))
+ while (in.fraction.ll < ((fractype)1 << (FRACBITS + NGARDS)))
{
in.fraction.ll <<= 1;
in.normal_exp -= 1;
@@ -1203,7 +1318,7 @@ si_to_float (SItype arg_a)
}
#endif /* L_si_to_sf || L_si_to_df */
-#if defined(L_usi_to_sf) || defined(L_usi_to_df)
+#if defined(L_usi_to_sf) || defined(L_usi_to_df) || defined(L_usi_to_tf)
FLO_type
usi_to_float (USItype arg_a)
{
@@ -1220,12 +1335,12 @@ usi_to_float (USItype arg_a)
in.normal_exp = FRACBITS + NGARDS;
in.fraction.ll = arg_a;
- while (in.fraction.ll > (1LL << (FRACBITS + NGARDS)))
+ while (in.fraction.ll > ((fractype)1 << (FRACBITS + NGARDS)))
{
in.fraction.ll >>= 1;
in.normal_exp += 1;
}
- while (in.fraction.ll < (1LL << (FRACBITS + NGARDS)))
+ while (in.fraction.ll < ((fractype)1 << (FRACBITS + NGARDS)))
{
in.fraction.ll <<= 1;
in.normal_exp -= 1;
@@ -1235,7 +1350,7 @@ usi_to_float (USItype arg_a)
}
#endif
-#if defined(L_sf_to_si) || defined(L_df_to_si)
+#if defined(L_sf_to_si) || defined(L_df_to_si) || defined(L_tf_to_si)
SItype
float_to_si (FLO_type arg_a)
{
@@ -1263,8 +1378,8 @@ float_to_si (FLO_type arg_a)
}
#endif /* L_sf_to_si || L_df_to_si */
-#if defined(L_sf_to_usi) || defined(L_df_to_usi)
-#ifdef US_SOFTWARE_GOFAST
+#if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi)
+#if defined US_SOFTWARE_GOFAST || defined(L_tf_to_usi)
/* While libgcc2.c defines its own __fixunssfsi and __fixunsdfsi routines,
we also define them for GOFAST because the ones in libgcc2.c have the
wrong names and I'd rather define these here and keep GOFAST CYG-LOC's
@@ -1303,7 +1418,7 @@ float_to_usi (FLO_type arg_a)
#endif /* US_SOFTWARE_GOFAST */
#endif /* L_sf_to_usi || L_df_to_usi */
-#if defined(L_negate_sf) || defined(L_negate_df)
+#if defined(L_negate_sf) || defined(L_negate_df) || defined(L_negate_tf)
FLO_type
negate (FLO_type arg_a)
{
@@ -1359,6 +1474,21 @@ sf_to_df (SFtype arg_a)
}
#endif /* L_sf_to_df */
+#if defined(L_sf_to_tf) && defined(TMODES)
+TFtype
+sf_to_tf (SFtype arg_a)
+{
+ fp_number_type in;
+ FLO_union_type au;
+
+ au.value = arg_a;
+ unpack_d (&au, &in);
+
+ return __make_tp (in.class, in.sign, in.normal_exp,
+ ((UTItype) in.fraction.ll) << F_T_BITOFF);
+}
+#endif /* L_sf_to_df */
+
#endif /* ! FLOAT_ONLY */
#endif /* FLOAT */
@@ -1402,5 +1532,84 @@ df_to_sf (DFtype arg_a)
}
#endif /* L_df_to_sf */
+#if defined(L_df_to_tf) && defined(TMODES) \
+ && !defined(FLOAT) && !defined(TFLOAT)
+TFtype
+df_to_tf (DFtype arg_a)
+{
+ fp_number_type in;
+ FLO_union_type au;
+
+ au.value = arg_a;
+ unpack_d (&au, &in);
+
+ return __make_tp (in.class, in.sign, in.normal_exp,
+ ((UTItype) in.fraction.ll) << D_T_BITOFF);
+}
+#endif /* L_sf_to_df */
+
+#ifdef TFLOAT
+#if defined(L_make_tf)
+TFtype
+__make_tp(fp_class_type class,
+ unsigned int sign,
+ int exp,
+ UTItype frac)
+{
+ fp_number_type in;
+
+ in.class = class;
+ in.sign = sign;
+ in.normal_exp = exp;
+ in.fraction.ll = frac;
+ return pack_d (&in);
+}
+#endif /* L_make_tf */
+
+#if defined(L_tf_to_df)
+DFtype
+tf_to_df (TFtype arg_a)
+{
+ fp_number_type in;
+ UDItype sffrac;
+ FLO_union_type au;
+
+ au.value = arg_a;
+ unpack_d (&au, &in);
+
+ sffrac = in.fraction.ll >> D_T_BITOFF;
+
+ /* We set the lowest guard bit in SFFRAC if we discarded any non
+ zero bits. */
+ if ((in.fraction.ll & (((UTItype) 1 << D_T_BITOFF) - 1)) != 0)
+ sffrac |= 1;
+
+ return __make_dp (in.class, in.sign, in.normal_exp, sffrac);
+}
+#endif /* L_tf_to_df */
+
+#if defined(L_tf_to_sf)
+SFtype
+tf_to_sf (TFtype arg_a)
+{
+ fp_number_type in;
+ USItype sffrac;
+ FLO_union_type au;
+
+ au.value = arg_a;
+ unpack_d (&au, &in);
+
+ sffrac = in.fraction.ll >> F_T_BITOFF;
+
+ /* We set the lowest guard bit in SFFRAC if we discarded any non
+ zero bits. */
+ if ((in.fraction.ll & (((UTItype) 1 << F_T_BITOFF) - 1)) != 0)
+ sffrac |= 1;
+
+ return __make_fp (in.class, in.sign, in.normal_exp, sffrac);
+}
+#endif /* L_tf_to_sf */
+#endif /* TFLOAT */
+
#endif /* ! FLOAT */
#endif /* !EXTENDED_FLOAT_STUBS */
diff --git a/gcc/config/fp-bit.h b/gcc/config/fp-bit.h
index 03e2ff60993..0e8509eedf9 100644
--- a/gcc/config/fp-bit.h
+++ b/gcc/config/fp-bit.h
@@ -1,5 +1,5 @@
/* Header file for fp-bit.c. */
-/* Copyright (C) 2000
+/* Copyright (C) 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -87,12 +87,22 @@ Boston, MA 02111-1307, USA. */
#endif
#endif /* ! FINE_GRAINED_LIBRARIES */
+#if __LDBL_MANT_DIG__ == 113 || __LDBL_MANT_DIG__ == 106
+# define TMODES
+#endif
+
typedef float SFtype __attribute__ ((mode (SF)));
typedef float DFtype __attribute__ ((mode (DF)));
+#ifdef TMODES
+typedef float TFtype __attribute__ ((mode (TF)));
+#endif
typedef int HItype __attribute__ ((mode (HI)));
typedef int SItype __attribute__ ((mode (SI)));
typedef int DItype __attribute__ ((mode (DI)));
+#ifdef TMODES
+typedef int TItype __attribute__ ((mode (TI)));
+#endif
/* The type of the result of a fp compare */
#ifndef CMPtype
@@ -102,16 +112,68 @@ typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int UHItype __attribute__ ((mode (HI)));
typedef unsigned int USItype __attribute__ ((mode (SI)));
typedef unsigned int UDItype __attribute__ ((mode (DI)));
+#ifdef TMODES
+typedef unsigned int UTItype __attribute__ ((mode (TI)));
+#endif
#define MAX_USI_INT (~(USItype)0)
#define MAX_SI_INT ((SItype) (MAX_USI_INT >> 1))
#define BITS_PER_SI (4 * BITS_PER_UNIT)
+#ifdef TMODES
+#define MAX_UDI_INT (~(UDItype)0)
+#define MAX_DI_INT ((DItype) (MAX_UDI_INT >> 1))
+#define BITS_PER_DI (8 * BITS_PER_UNIT)
+#endif
#ifdef FLOAT_ONLY
#define NO_DI_MODE
#endif
-#ifdef FLOAT
+#ifdef TFLOAT
+# ifndef TMODES
+# error "TFLOAT requires long double to have 113 bits of mantissa"
+# endif
+
+# define PREFIXFPDP tp
+# define PREFIXSFDF tf
+# define NGARDS 10L /* Is this right? */
+# define GARDROUND 0x1ff
+# define GARDMASK 0x3ff
+# define GARDMSB 0x200
+# define FRAC_NBITS 128
+
+# if __LDBL_MANT_DIG__ == 113 /* IEEE quad */
+# define EXPBITS 15
+# define EXPBIAS 16383
+# define EXPMAX (0x7fff)
+# define QUIET_NAN ((TItype)0x8 << 108)
+# define FRACHIGH ((TItype)0x8 << 124)
+# define FRACHIGH2 ((TItype)0xc << 124)
+# define FRACBITS 112
+# endif
+
+# if __LDBL_MANT_DIG__ == 106 /* IBM extended (double+double) */
+# define EXPBITS 11
+# define EXPBIAS 1023
+# define EXPMAX (0x7ff)
+# define QUIET_NAN ((TItype)0x8 << (48 + 64))
+# define FRACHIGH ((TItype)0x8 << 124)
+# define FRACHIGH2 ((TItype)0xc << 124)
+# define FRACBITS 105
+# define HALFFRACBITS 52
+# define HALFSHIFT 64
+# endif
+
+# define pack_d __pack_t
+# define unpack_d __unpack_t
+# define __fpcmp_parts __fpcmp_parts_t
+ typedef UTItype fractype;
+ typedef UDItype halffractype;
+ typedef USItype qrtrfractype;
+#define qrtrfractype qrtrfractype
+ typedef TFtype FLO_type;
+ typedef TItype intfrac;
+#elif defined FLOAT
# define NGARDS 7L
# define GARDROUND 0x3f
# define GARDMASK 0x7f
@@ -157,7 +219,9 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
#endif /* FLOAT */
#ifdef US_SOFTWARE_GOFAST
-# ifdef FLOAT
+# ifdef TFLOAT
+# error "GOFAST TFmode not supported"
+# elif defined FLOAT
# define add fpadd
# define sub fpsub
# define multiply fpmul
@@ -170,8 +234,8 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
# define float_to_usi fptoui
# define negate __negsf2
# define sf_to_df fptodp
-# define dptofp dptofp
-#else
+# define sf_to_tf __extendsftf2
+# else
# define add dpadd
# define sub dpsub
# define multiply dpmul
@@ -184,9 +248,30 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
# define float_to_usi dptoul
# define negate __negdf2
# define df_to_sf dptofp
+# define df_to_tf __extenddftf2
# endif /* FLOAT */
#else
-# ifdef FLOAT
+# ifdef TFLOAT
+# define add __addtf3
+# define sub __subtf3
+# define multiply __multf3
+# define divide __divtf3
+# define compare __cmptf2
+# define _eq_f2 __eqtf2
+# define _ne_f2 __netf2
+# define _gt_f2 __gttf2
+# define _ge_f2 __getf2
+# define _lt_f2 __lttf2
+# define _le_f2 __letf2
+# define _unord_f2 __unordtf2
+# define usi_to_float __floatunsitf
+# define si_to_float __floatsitf
+# define float_to_si __fixtfsi
+# define float_to_usi __fixunstfsi
+# define negate __negtf2
+# define tf_to_sf __trunctfsf2
+# define tf_to_df __trunctfdf2
+# elif defined FLOAT
# define add __addsf3
# define sub __subsf3
# define multiply __mulsf3
@@ -205,7 +290,8 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
# define float_to_usi __fixunssfsi
# define negate __negsf2
# define sf_to_df __extendsfdf2
-#else
+# define sf_to_tf __extendsftf2
+# else
# define add __adddf3
# define sub __subdf3
# define multiply __muldf3
@@ -224,6 +310,7 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
# define float_to_usi __fixunsdfsi
# define negate __negdf2
# define df_to_sf __truncdfsf2
+# define df_to_tf __extenddftf2
# endif /* FLOAT */
#endif /* US_SOFTWARE_GOFAST */
@@ -241,10 +328,15 @@ typedef unsigned int UDItype __attribute__ ((mode (DI)));
*/
#define F_D_BITOFF (52+8-(23+7))
+#ifdef TMODES
+# define F_T_BITOFF (__LDBL_MANT_DIG__-1+10-(23+7))
+# define D_T_BITOFF (__LDBL_MANT_DIG__-1+10-(52+8))
+#endif
+
#define NORMAL_EXPMIN (-(EXPBIAS)+1)
-#define IMPLICIT_1 (1LL<<(FRACBITS+NGARDS))
-#define IMPLICIT_2 (1LL<<(FRACBITS+1+NGARDS))
+#define IMPLICIT_1 ((fractype)1<<(FRACBITS+NGARDS))
+#define IMPLICIT_2 ((fractype)1<<(FRACBITS+1+NGARDS))
/* common types */
@@ -282,7 +374,11 @@ typedef union
fractype value_raw;
#ifndef FLOAT
+# ifdef qrtrfractype
+ qrtrfractype qwords[4];
+# else
halffractype words[2];
+# endif
#endif
#ifdef FLOAT_BIT_ORDER_MISMATCH
@@ -317,82 +413,82 @@ FLO_union_type;
/* Prototypes */
-#if defined(L_pack_df) || defined(L_pack_sf)
+#if defined(L_pack_df) || defined(L_pack_sf) || defined(L_pack_tf)
extern FLO_type pack_d (fp_number_type *);
#endif
extern void unpack_d (FLO_union_type *, fp_number_type *);
-#if defined(L_addsub_sf) || defined(L_addsub_df)
+#if defined(L_addsub_sf) || defined(L_addsub_df) || defined(L_addsub_tf)
extern FLO_type add (FLO_type, FLO_type);
extern FLO_type sub (FLO_type, FLO_type);
#endif
-#if defined(L_mul_sf) || defined(L_mul_df)
+#if defined(L_mul_sf) || defined(L_mul_df) || defined(L_mul_tf)
extern FLO_type multiply (FLO_type, FLO_type);
#endif
-#if defined(L_div_sf) || defined(L_div_df)
+#if defined(L_div_sf) || defined(L_div_df) || defined(L_div_tf)
extern FLO_type divide (FLO_type, FLO_type);
#endif
extern int __fpcmp_parts (fp_number_type *, fp_number_type *);
-#if defined(L_compare_sf) || defined(L_compare_df)
+#if defined(L_compare_sf) || defined(L_compare_df) || defined(L_compare_tf)
extern CMPtype compare (FLO_type, FLO_type);
#endif
#ifndef US_SOFTWARE_GOFAST
-#if defined(L_eq_sf) || defined(L_eq_df)
+#if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf)
extern CMPtype _eq_f2 (FLO_type, FLO_type);
#endif
-#if defined(L_ne_sf) || defined(L_ne_df)
+#if defined(L_ne_sf) || defined(L_ne_df) || defined(L_ne_tf)
extern CMPtype _ne_f2 (FLO_type, FLO_type);
#endif
-#if defined(L_gt_sf) || defined(L_gt_df)
+#if defined(L_gt_sf) || defined(L_gt_df) || defined(L_gt_tf)
extern CMPtype _gt_f2 (FLO_type, FLO_type);
#endif
-#if defined(L_ge_sf) || defined(L_ge_df)
+#if defined(L_ge_sf) || defined(L_ge_df) || defined(L_ge_tf)
extern CMPtype _ge_f2 (FLO_type, FLO_type);
#endif
-#if defined(L_lt_sf) || defined(L_lt_df)
+#if defined(L_lt_sf) || defined(L_lt_df) || defined(L_lt_tf)
extern CMPtype _lt_f2 (FLO_type, FLO_type);
#endif
-#if defined(L_le_sf) || defined(L_le_df)
+#if defined(L_le_sf) || defined(L_le_df) || defined(L_le_tf)
extern CMPtype _le_f2 (FLO_type, FLO_type);
#endif
-#if defined(L_unord_sf) || defined(L_unord_df)
+#if defined(L_unord_sf) || defined(L_unord_df) || defined(L_unord_tf)
extern CMPtype _unord_f2 (FLO_type, FLO_type);
#endif
#endif /* ! US_SOFTWARE_GOFAST */
-#if defined(L_si_to_sf) || defined(L_si_to_df)
+#if defined(L_si_to_sf) || defined(L_si_to_df) || defined(L_si_to_tf)
extern FLO_type si_to_float (SItype);
#endif
-#if defined(L_sf_to_si) || defined(L_df_to_si)
+#if defined(L_sf_to_si) || defined(L_df_to_si) || defined(L_tf_to_si)
extern SItype float_to_si (FLO_type);
#endif
-#if defined(L_sf_to_usi) || defined(L_df_to_usi)
-#ifdef US_SOFTWARE_GOFAST
+#if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi)
+#if defined(US_SOFTWARE_GOFAST) || defined(L_tf_to_usi)
extern USItype float_to_usi (FLO_type);
#endif
#endif
-#if defined(L_usi_to_sf) || defined(L_usi_to_df)
+#if defined(L_usi_to_sf) || defined(L_usi_to_df) || defined(L_usi_to_tf)
extern FLO_type usi_to_float (USItype);
#endif
-#if defined(L_negate_sf) || defined(L_negate_df)
+#if defined(L_negate_sf) || defined(L_negate_df) || defined(L_negate_tf)
extern FLO_type negate (FLO_type);
#endif
@@ -405,6 +501,9 @@ extern DFtype __make_dp (fp_class_type, unsigned int, int, UDItype);
#if defined(L_sf_to_df)
extern DFtype sf_to_df (SFtype);
#endif
+#if defined(L_sf_to_tf) && defined(TMODES)
+extern TFtype sf_to_tf (SFtype);
+#endif
#endif /* ! FLOAT_ONLY */
#endif /* FLOAT */
@@ -416,6 +515,25 @@ extern DFtype __make_dp (fp_class_type, unsigned int, int, UDItype);
#if defined(L_df_to_sf)
extern SFtype df_to_sf (DFtype);
#endif
+#if defined(L_df_to_tf) && defined(TMODES)
+extern TFtype df_to_tf (DFtype);
+#endif
#endif /* ! FLOAT */
+#ifdef TMODES
+extern DFtype __make_dp (fp_class_type, unsigned int, int, UDItype);
+extern TFtype __make_tp (fp_class_type, unsigned int, int, UTItype);
+#ifdef TFLOAT
+#if defined(L_tf_to_sf)
+extern SFtype tf_to_sf (TFtype);
+#endif
+#if defined(L_tf_to_df)
+extern DFtype tf_to_df (TFtype);
+#endif
+#if defined(L_di_to_tf)
+extern TFtype di_to_df (DItype);
+#endif
+#endif /* TFLOAT */
+#endif /* TMODES */
+
#endif /* ! GCC_FP_BIT_H */
diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h
index 3fc4dcc7a41..4d81d80c443 100644
--- a/gcc/config/freebsd-spec.h
+++ b/gcc/config/freebsd-spec.h
@@ -48,30 +48,31 @@ Boston, MA 02111-1307, USA. */
|| !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
|| !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
-#if FBSD_MAJOR == 6
-#define FBSD_CPP_PREDEFINES \
- "-D__FreeBSD__=6 -Dunix -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -Asystem=unix -Asystem=bsd -Asystem=FreeBSD"
-#endif
-
-#if FBSD_MAJOR == 5
-#define FBSD_CPP_PREDEFINES \
- "-D__FreeBSD__=5 -Dunix -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -Asystem=unix -Asystem=bsd -Asystem=FreeBSD"
-#endif
-
-#if FBSD_MAJOR == 4
-#define FBSD_CPP_PREDEFINES \
- "-D__FreeBSD__=4 -Dunix -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -Asystem=unix -Asystem=bsd -Asystem=FreeBSD"
-#endif
-
-#if FBSD_MAJOR == 3
-#define FBSD_CPP_PREDEFINES \
- "-D__FreeBSD__=3 -Dunix -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -Asystem=unix -Asystem=bsd -Asystem=FreeBSD"
-#endif
-
-#ifndef FBSD_CPP_PREDEFINES
-#define FBSD_CPP_PREDEFINES \
- "-D__FreeBSD__ -Dunix -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -Asystem=unix -Asystem=bsd -Asystem=FreeBSD"
-#endif
+#define FBSD_TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ if (FBSD_MAJOR == 6) \
+ builtin_define ("__FreeBSD__=6"); \
+ else if (FBSD_MAJOR == 5) \
+ builtin_define ("__FreeBSD__=5"); \
+ else if (FBSD_MAJOR == 4) \
+ builtin_define ("__FreeBSD__=4"); \
+ else if (FBSD_MAJOR == 3) \
+ builtin_define ("__FreeBSD__=3"); \
+ else \
+ builtin_define ("__FreeBSD__"); \
+ builtin_define_std ("unix"); \
+ builtin_define ("__ELF__"); \
+ builtin_define ("__KPRINTF_ATTRIBUTE__"); \
+ builtin_assert ("system=unix"); \
+ builtin_assert ("system=bsd"); \
+ builtin_assert ("system=FreeBSD"); \
+ FBSD_TARGET_CPU_CPP_BUILTINS(); \
+ } \
+ while (0)
+
+/* Define the default FreeBSD-specific per-CPU hook code. */
+#define FBSD_TARGET_CPU_CPP_BUILTINS() do {} while (0)
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h
index 285f5bf85f9..f71bd8b42d5 100644
--- a/gcc/config/freebsd.h
+++ b/gcc/config/freebsd.h
@@ -42,7 +42,10 @@ Boston, MA 02111-1307, USA. */
#define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR))
#undef CPP_PREDEFINES
-#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+/* Obsolete, do not define it. */
+
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS()
#undef CPP_SPEC
#define CPP_SPEC FBSD_CPP_SPEC
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..7f49e5c1078 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).
@@ -782,7 +782,9 @@ general_operand_src (op, mode)
rtx op;
enum machine_mode mode;
{
- if (GET_CODE (op) == MEM && GET_CODE (XEXP (op, 0)) == POST_INC)
+ if (GET_MODE (op) == mode
+ && GET_CODE (op) == MEM
+ && GET_CODE (XEXP (op, 0)) == POST_INC)
return 1;
return general_operand (op, mode);
}
@@ -795,7 +797,9 @@ general_operand_dst (op, mode)
rtx op;
enum machine_mode mode;
{
- if (GET_CODE (op) == MEM && GET_CODE (XEXP (op, 0)) == PRE_DEC)
+ if (GET_MODE (op) == mode
+ && GET_CODE (op) == MEM
+ && GET_CODE (XEXP (op, 0)) == PRE_DEC)
return 1;
return general_operand (op, mode);
}
@@ -1700,9 +1704,11 @@ h8300_initial_elimination_offset (from, to)
int from, to;
{
int offset = 0;
+ /* The number of bytes that the return address takes on the stack. */
+ int pc_size = POINTER_SIZE / BITS_PER_UNIT;
if (from == ARG_POINTER_REGNUM && to == FRAME_POINTER_REGNUM)
- offset = UNITS_PER_WORD + frame_pointer_needed * UNITS_PER_WORD;
+ offset = pc_size + frame_pointer_needed * UNITS_PER_WORD;
else if (from == RETURN_ADDRESS_POINTER_REGNUM && to == FRAME_POINTER_REGNUM)
offset = frame_pointer_needed * UNITS_PER_WORD;
else
@@ -1719,12 +1725,10 @@ h8300_initial_elimination_offset (from, to)
offset += round_frame_size (get_frame_size ());
if (from == ARG_POINTER_REGNUM && to == STACK_POINTER_REGNUM)
- offset += UNITS_PER_WORD; /* Skip saved PC */
+ /* Skip saved PC. */
+ offset += pc_size;
}
- if ((TARGET_H8300H || TARGET_H8300S) && TARGET_NORMAL_MODE)
- offset -= 2;
-
return offset;
}
@@ -1755,6 +1759,8 @@ notice_update_cc (body, insn)
rtx body;
rtx insn;
{
+ rtx set;
+
switch (get_attr_cc (insn))
{
case CC_NONE:
@@ -1777,7 +1783,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 +1795,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 +1814,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..6d702899572 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"
@@ -1810,7 +1843,7 @@
"")
;; %e prints the high part of a CONST_INT, not the low part. Arggh.
-(define_insn ""
+(define_insn "*zero_extendhisi2_h8300"
[(set (match_operand:SI 0 "register_operand" "=r,r,r")
(zero_extend:SI (match_operand:HI 1 "general_operand_src" "0,i,g>")))]
"TARGET_H8300"
@@ -1818,7 +1851,7 @@
sub.w %e0,%e0
mov.w %f1,%f0\;sub.w %e0,%e0
mov.w %e1,%f0\;sub.w %e0,%e0"
- [(set_attr "length" "2,4,4")
+ [(set_attr "length" "2,4,6")
(set_attr "cc" "clobber,clobber,clobber")])
(define_insn ""
@@ -1862,7 +1895,7 @@
"@
bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0
mov.b %R1,%w0\;bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0"
- [(set_attr "length" "8,10")
+ [(set_attr "length" "8,12")
(set_attr "cc" "clobber,clobber")])
(define_expand "extendhisi2"
@@ -1871,14 +1904,14 @@
""
"")
-(define_insn ""
+(define_insn "*extendhisi2_h8300"
[(set (match_operand:SI 0 "register_operand" "=r,r")
(sign_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
"TARGET_H8300"
"@
bld #7,%x0\;subx %y0,%y0\;subx %z0,%z0
mov.w %T1,%f0\;bld #7,%x0\;subx %y0,%y0\;subx %z0,%z0"
- [(set_attr "length" "6,8")
+ [(set_attr "length" "6,10")
(set_attr "cc" "clobber,clobber")])
(define_insn ""
@@ -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/cygwin.h b/gcc/config/i386/cygwin.h
index f630d1f8450..03e372e04fa 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using a Unix style C library and tools.
- Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -134,7 +134,8 @@ Boston, MA 02111-1307, USA. */
by calling the init function from the prologue. */
#undef LIBGCC_SPEC
-#define LIBGCC_SPEC "%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} -lgcc %{mno-cygwin:-lmoldname -lmsvcrt}"
+#define LIBGCC_SPEC "%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} \
+ -lgcc %{mno-cygwin:-lmoldname -lmingwex -lmsvcrt}"
/* This macro defines names of additional specifications to put in the specs
that can be used in various specifications like CC1_SPEC. Its definition
@@ -306,11 +307,13 @@ do { \
#define CHECK_STACK_LIMIT 4000
/* By default, target has a 80387, uses IEEE compatible arithmetic,
- and returns float values in the 387 and needs stack probes */
-#undef TARGET_SUBTARGET_DEFAULT
+ returns float values in the 387 and needs stack probes.
+ We also align doubles to 64-bits for MSVC default compatibility. */
+#undef TARGET_SUBTARGET_DEFAULT
#define TARGET_SUBTARGET_DEFAULT \
- (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_STACK_PROBE)
+ (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_STACK_PROBE \
+ | MASK_ALIGN_DOUBLE)
/* This is how to output an assembler line
that says to advance the location counter
@@ -397,6 +400,15 @@ extern void i386_pe_unique_section PARAMS ((TREE, int));
const0_rtx)); \
}
+/* Java Native Interface (JNI) methods on Win32 are invoked using the
+ stdcall calling convention. */
+#undef MODIFY_JNI_METHOD_CALL
+#define MODIFY_JNI_METHOD_CALL(MDECL) \
+ build_type_attribute_variant ((MDECL), \
+ build_tree_list (get_identifier ("stdcall"), \
+ NULL))
+
+
/* External function declarations. */
extern void i386_pe_record_external_function PARAMS ((const char *));
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a271aa47cde..67807804501 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -136,6 +136,8 @@ Boston, MA 02111-1307, USA. */
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
do { \
+ if (ix86_asm_dialect == ASM_INTEL) \
+ fputs ("\t.intel_syntax\n", FILE); \
output_file_directive (FILE, main_input_filename); \
} while (0)
diff --git a/gcc/config/i386/freebsd-aout.h b/gcc/config/i386/freebsd-aout.h
index a2b616e700b..85e2703f42c 100644
--- a/gcc/config/i386/freebsd-aout.h
+++ b/gcc/config/i386/freebsd-aout.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler for Intel 80386
running FreeBSD.
- Copyright (C) 1988, 1992, 1994, 1996, 1997, 1999, 2000, 2002
+ Copyright (C) 1988, 1992, 1994, 1996, 1997, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
Contributed by Poul-Henning Kamp <phk@login.dkuug.dk>
Continued development by David O'Brien <obrien@NUXI.org>
@@ -94,6 +94,9 @@ Boston, MA 02111-1307, USA. */
/* Profiling routines, partially copied from i386/osfrose.h. */
+/* Tell final.c that we don't need a label passed to mcount. */
+#define NO_PROFILE_COUNTERS 1
+
#undef MCOUNT_NAME
#define MCOUNT_NAME "mcount"
#undef PROFILE_COUNT_REGISTER
@@ -112,6 +115,7 @@ Boston, MA 02111-1307, USA. */
#define TYPE_ASM_OP "\t.type\t"
#define SIZE_ASM_OP "\t.size\t"
+#define SET_ASM_OP "\t.set\t"
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
@@ -121,6 +125,12 @@ Boston, MA 02111-1307, USA. */
#define TYPE_OPERAND_FMT "@%s"
+#define HANDLE_SYSV_PRAGMA 1
+
+#define ASM_WEAKEN_LABEL(FILE,NAME) \
+ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); } while (0)
+
/* Write the extra assembler code needed to declare a function's result.
Most svr4 assemblers don't require any special declaration of the
result value, but there are exceptions. */
diff --git a/gcc/config/i386/freebsd64.h b/gcc/config/i386/freebsd64.h
index 699f4c4d344..12ca062301d 100644
--- a/gcc/config/i386/freebsd64.h
+++ b/gcc/config/i386/freebsd64.h
@@ -29,8 +29,7 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC
#define LINK_SPEC "\
- %{!m32:-m elf_x86_64} \
- %{m32:-m elf_i386} \
+ %{m32:-m elf_i386_fbsd} \
%{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 4afdf668bd8..d3c9d160190 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -190,6 +190,9 @@ extern void x86_function_profiler PARAMS ((FILE *, int));
#ifdef TREE_CODE
extern void init_cumulative_args PARAMS ((CUMULATIVE_ARGS *, tree, rtx));
extern rtx function_arg PARAMS ((CUMULATIVE_ARGS *, enum machine_mode, tree, int));
+extern int function_arg_pass_by_reference PARAMS ((CUMULATIVE_ARGS *,
+ enum machine_mode,
+ tree, int));
extern void function_arg_advance PARAMS ((CUMULATIVE_ARGS *, enum machine_mode,
tree, int));
extern rtx ix86_function_value PARAMS ((tree));
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 42f6d93d3c3..0f8c8e4c3fc 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.
@@ -799,6 +799,7 @@ const struct attribute_spec ix86_attribute_table[];
static tree ix86_handle_cdecl_attribute PARAMS ((tree *, tree, tree, int, bool *));
static tree ix86_handle_regparm_attribute PARAMS ((tree *, tree, tree, int, bool *));
static int ix86_value_regno PARAMS ((enum machine_mode));
+static bool contains_128bit_aligned_vector_p PARAMS ((tree));
#if defined (DO_GLOBAL_CTORS_BODY) && defined (HAS_INIT_SECTION)
static void ix86_svr3_asm_out_constructor PARAMS ((rtx, int));
@@ -911,6 +912,12 @@ static enum x86_64_reg_class merge_classes PARAMS ((enum x86_64_reg_class,
struct gcc_target targetm = TARGET_INITIALIZER;
+/* The svr4 ABI for the i386 says that records and unions are returned
+ in memory. */
+#ifndef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
+#endif
+
/* 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
@@ -1021,7 +1028,7 @@ override_options ()
if (flag_asynchronous_unwind_tables == 2)
flag_asynchronous_unwind_tables = 0;
if (flag_pcc_struct_return == 2)
- flag_pcc_struct_return = 1;
+ flag_pcc_struct_return = DEFAULT_PCC_STRUCT_RETURN;
}
#ifdef SUBTARGET_OVERRIDE_OPTIONS
@@ -2252,6 +2259,9 @@ function_arg (cum, mode, type, named)
break;
case BLKmode:
+ if (bytes < 0)
+ break;
+ /* FALLTHRU */
case DImode:
case SImode:
case HImode:
@@ -2282,6 +2292,90 @@ function_arg (cum, mode, type, named)
return ret;
}
+/* Return true when TYPE should be 128bit aligned for 32bit argument passing
+ ABI */
+static bool
+contains_128bit_aligned_vector_p (type)
+ tree type;
+{
+ enum machine_mode mode = TYPE_MODE (type);
+ if (SSE_REG_MODE_P (mode)
+ && (!TYPE_USER_ALIGN (type) || TYPE_ALIGN (type) > 128))
+ return true;
+ if (TYPE_ALIGN (type) < 128)
+ return false;
+
+ if (AGGREGATE_TYPE_P (type))
+ {
+ /* Walk the agregates recursivly. */
+ if (TREE_CODE (type) == RECORD_TYPE
+ || TREE_CODE (type) == UNION_TYPE
+ || TREE_CODE (type) == QUAL_UNION_TYPE)
+ {
+ tree field;
+
+ if (TYPE_BINFO (type) != NULL
+ && TYPE_BINFO_BASETYPES (type) != NULL)
+ {
+ tree bases = TYPE_BINFO_BASETYPES (type);
+ int n_bases = TREE_VEC_LENGTH (bases);
+ int i;
+
+ for (i = 0; i < n_bases; ++i)
+ {
+ tree binfo = TREE_VEC_ELT (bases, i);
+ tree type = BINFO_TYPE (binfo);
+
+ if (contains_128bit_aligned_vector_p (type))
+ return true;
+ }
+ }
+ /* And now merge the fields of structure. */
+ for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
+ {
+ if (TREE_CODE (field) == FIELD_DECL
+ && contains_128bit_aligned_vector_p (TREE_TYPE (field)))
+ return true;
+ }
+ }
+ /* Just for use if some languages passes arrays by value. */
+ else if (TREE_CODE (type) == ARRAY_TYPE)
+ {
+ if (contains_128bit_aligned_vector_p (TREE_TYPE (type)))
+ return true;
+ }
+ else
+ abort ();
+ }
+ return false;
+}
+
+/* A C expression that indicates when an argument must be passed by
+ reference. If nonzero for an argument, a copy of that argument is
+ made in memory and a pointer to the argument is passed instead of
+ the argument itself. The pointer is passed in whatever way is
+ appropriate for passing a pointer to that type. */
+
+int
+function_arg_pass_by_reference (cum, mode, type, named)
+ CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+ tree type;
+ int named ATTRIBUTE_UNUSED;
+{
+ if (!TARGET_64BIT)
+ return 0;
+
+ if (type && int_size_in_bytes (type) == -1)
+ {
+ if (TARGET_DEBUG_ARG)
+ fprintf (stderr, "function_arg_pass_by_reference\n");
+ return 1;
+ }
+
+ return 0;
+}
+
/* Gives the alignment boundary, in bits, of an argument with the specified mode
and type. */
@@ -2291,14 +2385,34 @@ ix86_function_arg_boundary (mode, type)
tree type;
{
int align;
- if (!TARGET_64BIT)
- return PARM_BOUNDARY;
if (type)
align = TYPE_ALIGN (type);
else
align = GET_MODE_ALIGNMENT (mode);
if (align < PARM_BOUNDARY)
align = PARM_BOUNDARY;
+ if (!TARGET_64BIT)
+ {
+ /* i386 ABI defines all arguments to be 4 byte aligned. We have to
+ make an exception for SSE modes since these require 128bit
+ alignment.
+
+ The handling here differs from field_alignment. ICC aligns MMX
+ arguments to 4 byte boundaries, while structure fields are aligned
+ to 8 byte boundaries. */
+ if (!type)
+ {
+ if (!SSE_REG_MODE_P (mode))
+ align = PARM_BOUNDARY;
+ }
+ else
+ {
+ if (!contains_128bit_aligned_vector_p (type))
+ align = PARM_BOUNDARY;
+ }
+ if (align != PARM_BOUNDARY && !TARGET_SSE)
+ abort();
+ }
if (align > 128)
align = 128;
return align;
@@ -2488,6 +2602,8 @@ ix86_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
/* Indicate to allocate space on the stack for varargs save area. */
ix86_save_varrargs_registers = 1;
+ cfun->stack_alignment_needed = 128;
+
fntype = TREE_TYPE (current_function_decl);
stdarg_p = (TYPE_ARG_TYPES (fntype) != 0
&& (TREE_VALUE (tree_last (TYPE_ARG_TYPES (fntype)))
@@ -2637,6 +2753,7 @@ ix86_va_arg (valist, type)
rtx lab_false, lab_over = NULL_RTX;
rtx addr_rtx, r;
rtx container;
+ int indirect_p = 0;
/* Only 64bit target needs something special. */
if (!TARGET_64BIT)
@@ -2656,6 +2773,13 @@ ix86_va_arg (valist, type)
sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav);
size = int_size_in_bytes (type);
+ if (size == -1)
+ {
+ /* Passed by reference. */
+ indirect_p = 1;
+ type = build_pointer_type (type);
+ size = int_size_in_bytes (type);
+ }
rsize = (size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
container = construct_container (TYPE_MODE (type), type, 0,
@@ -2760,10 +2884,12 @@ ix86_va_arg (valist, type)
{
int i;
rtx mem;
+ rtx x;
/* Never use the memory itself, as it has the alias set. */
- addr_rtx = XEXP (assign_temp (type, 0, 1, 0), 0);
- mem = gen_rtx_MEM (BLKmode, addr_rtx);
+ x = XEXP (assign_temp (type, 0, 1, 0), 0);
+ mem = gen_rtx_MEM (BLKmode, x);
+ force_operand (x, addr_rtx);
set_mem_alias_set (mem, get_varargs_alias_set ());
set_mem_align (mem, BITS_PER_UNIT);
@@ -2846,6 +2972,13 @@ ix86_va_arg (valist, type)
if (container)
emit_label (lab_over);
+ if (indirect_p)
+ {
+ r = gen_rtx_MEM (Pmode, addr_rtx);
+ set_mem_alias_set (r, get_varargs_alias_set ());
+ emit_move_insn (addr_rtx, r);
+ }
+
return addr_rtx;
}
@@ -3401,6 +3534,19 @@ non_q_regs_operand (op, mode)
return NON_QI_REG_P (op);
}
+/* Return 1 when OP is operand acceptable for standard SSE move. */
+int
+vector_move_operand (op, mode)
+ rtx op;
+ enum machine_mode mode;
+{
+ if (nonimmediate_operand (op, mode))
+ return 1;
+ if (GET_MODE (op) != mode && mode != VOIDmode)
+ return 0;
+ return (op == CONST0_RTX (GET_MODE (op)));
+}
+
/* Return 1 if OP is a comparison that can be used in the CMPSS/CMPPS
insns. */
int
@@ -4225,7 +4371,8 @@ ix86_save_reg (regno, maybe_eh_return)
&& regno == REAL_PIC_OFFSET_TABLE_REGNUM
&& (regs_ever_live[REAL_PIC_OFFSET_TABLE_REGNUM]
|| current_function_profile
- || current_function_calls_eh_return))
+ || current_function_calls_eh_return
+ || current_function_uses_const_pool))
{
if (ix86_select_alt_pic_regnum () != INVALID_REGNUM)
return 0;
@@ -4516,6 +4663,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 +7635,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))
@@ -7777,9 +7928,17 @@ ix86_expand_move (mode, operands)
if (strict)
;
- else if (GET_CODE (op1) == CONST_DOUBLE
- && register_operand (op0, mode))
- op1 = validize_mem (force_const_mem (mode, op1));
+ else if (GET_CODE (op1) == CONST_DOUBLE)
+ {
+ op1 = validize_mem (force_const_mem (mode, op1));
+ if (!register_operand (op0, mode))
+ {
+ rtx temp = gen_reg_rtx (mode);
+ emit_insn (gen_rtx_SET (VOIDmode, temp, op1));
+ emit_move_insn (op0, temp);
+ return;
+ }
+ }
}
}
@@ -7799,8 +7958,12 @@ ix86_expand_vector_move (mode, operands)
to handle some of them more efficiently. */
if ((reload_in_progress | reload_completed) == 0
&& register_operand (operands[0], mode)
- && CONSTANT_P (operands[1]))
- operands[1] = force_const_mem (mode, operands[1]);
+ && CONSTANT_P (operands[1]) && operands[1] != CONST0_RTX (mode))
+ {
+ operands[1] = force_const_mem (mode, operands[1]);
+ emit_move_insn (operands[0], operands[1]);
+ return;
+ }
/* Make operand1 a register if it isn't already. */
if (!no_new_pseudos
@@ -9219,11 +9382,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 +9404,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));
@@ -9822,15 +9985,24 @@ ix86_split_long_move (operands)
Do an lea to the last part and use only one colliding move. */
else if (collisions > 1)
{
+ rtx base;
+
collisions = 1;
- emit_insn (gen_rtx_SET (VOIDmode, part[0][nparts - 1],
- XEXP (part[1][0], 0)));
- part[1][0] = change_address (part[1][0],
- TARGET_64BIT ? DImode : SImode,
- part[0][nparts - 1]);
- part[1][1] = adjust_address (part[1][0], VOIDmode, UNITS_PER_WORD);
+
+ base = part[0][nparts - 1];
+
+ /* Handle the case when the last part isn't valid for lea.
+ Happens in 64-bit mode storing the 12-byte XFmode. */
+ if (GET_MODE (base) != Pmode)
+ base = gen_rtx_REG (Pmode, REGNO (base));
+
+ emit_insn (gen_rtx_SET (VOIDmode, base, XEXP (part[1][0], 0)));
+ part[1][0] = replace_equiv_address (part[1][0], base);
+ part[1][1] = replace_equiv_address (part[1][1],
+ plus_constant (base, UNITS_PER_WORD));
if (nparts == 3)
- part[1][2] = adjust_address (part[1][0], VOIDmode, 8);
+ part[1][2] = replace_equiv_address (part[1][2],
+ plus_constant (base, 8));
}
}
@@ -10973,7 +11145,8 @@ memory_address_length (addr)
if (disp)
{
if (GET_CODE (disp) == CONST_INT
- && CONST_OK_FOR_LETTER_P (INTVAL (disp), 'K'))
+ && CONST_OK_FOR_LETTER_P (INTVAL (disp), 'K')
+ && base)
len = 1;
else
len = 4;
@@ -11036,6 +11209,26 @@ ix86_attr_length_address_default (insn)
rtx insn;
{
int i;
+
+ if (get_attr_type (insn) == TYPE_LEA)
+ {
+ rtx set = PATTERN (insn);
+ if (GET_CODE (set) == SET)
+ ;
+ else if (GET_CODE (set) == PARALLEL
+ && GET_CODE (XVECEXP (set, 0, 0)) == SET)
+ set = XVECEXP (set, 0, 0);
+ else
+ {
+#ifdef ENABLE_CHECKING
+ abort ();
+#endif
+ return 0;
+ }
+
+ return memory_address_length (SET_SRC (set));
+ }
+
extract_insn_cached (insn);
for (i = recog_data.n_operands - 1; i >= 0; --i)
if (GET_CODE (recog_data.operand[i]) == MEM)
@@ -11834,7 +12027,8 @@ x86_initialize_trampoline (tramp, fnaddr, cxt)
#define def_builtin(MASK, NAME, TYPE, CODE) \
do { \
- if ((MASK) & target_flags) \
+ if ((MASK) & target_flags \
+ && (!((MASK) & MASK_64BIT) || TARGET_64BIT)) \
builtin_function ((NAME), (TYPE), (CODE), BUILT_IN_MD, \
NULL, NULL_TREE); \
} while (0)
@@ -11851,6 +12045,8 @@ struct builtin_description
/* Used for builtins that are enabled both by -msse and -msse2. */
#define MASK_SSE1 (MASK_SSE | MASK_SSE2)
+#define MASK_SSE164 (MASK_SSE | MASK_SSE2 | MASK_64BIT)
+#define MASK_SSE264 (MASK_SSE2 | MASK_64BIT)
static const struct builtin_description bdesc_comi[] =
{
@@ -11933,9 +12129,11 @@ static const struct builtin_description bdesc_2arg[] =
{ MASK_MMX, CODE_FOR_addv8qi3, "__builtin_ia32_paddb", IX86_BUILTIN_PADDB, 0, 0 },
{ MASK_MMX, CODE_FOR_addv4hi3, "__builtin_ia32_paddw", IX86_BUILTIN_PADDW, 0, 0 },
{ MASK_MMX, CODE_FOR_addv2si3, "__builtin_ia32_paddd", IX86_BUILTIN_PADDD, 0, 0 },
+ { MASK_MMX, CODE_FOR_mmx_adddi3, "__builtin_ia32_paddq", IX86_BUILTIN_PADDQ, 0, 0 },
{ MASK_MMX, CODE_FOR_subv8qi3, "__builtin_ia32_psubb", IX86_BUILTIN_PSUBB, 0, 0 },
{ MASK_MMX, CODE_FOR_subv4hi3, "__builtin_ia32_psubw", IX86_BUILTIN_PSUBW, 0, 0 },
{ MASK_MMX, CODE_FOR_subv2si3, "__builtin_ia32_psubd", IX86_BUILTIN_PSUBD, 0, 0 },
+ { MASK_MMX, CODE_FOR_mmx_subdi3, "__builtin_ia32_psubq", IX86_BUILTIN_PSUBQ, 0, 0 },
{ MASK_MMX, CODE_FOR_ssaddv8qi3, "__builtin_ia32_paddsb", IX86_BUILTIN_PADDSB, 0, 0 },
{ MASK_MMX, CODE_FOR_ssaddv4hi3, "__builtin_ia32_paddsw", IX86_BUILTIN_PADDSW, 0, 0 },
@@ -11984,6 +12182,7 @@ static const struct builtin_description bdesc_2arg[] =
{ MASK_SSE1, CODE_FOR_cvtpi2ps, 0, IX86_BUILTIN_CVTPI2PS, 0, 0 },
{ MASK_SSE1, CODE_FOR_cvtsi2ss, 0, IX86_BUILTIN_CVTSI2SS, 0, 0 },
+ { MASK_SSE164, CODE_FOR_cvtsi2ssq, 0, IX86_BUILTIN_CVTSI642SS, 0, 0 },
{ MASK_MMX, CODE_FOR_ashlv4hi3, 0, IX86_BUILTIN_PSLLW, 0, 0 },
{ MASK_MMX, CODE_FOR_ashlv4hi3, 0, IX86_BUILTIN_PSLLWI, 0, 0 },
@@ -12056,11 +12255,11 @@ static const struct builtin_description bdesc_2arg[] =
{ MASK_SSE2, CODE_FOR_addv16qi3, "__builtin_ia32_paddb128", IX86_BUILTIN_PADDB128, 0, 0 },
{ MASK_SSE2, CODE_FOR_addv8hi3, "__builtin_ia32_paddw128", IX86_BUILTIN_PADDW128, 0, 0 },
{ MASK_SSE2, CODE_FOR_addv4si3, "__builtin_ia32_paddd128", IX86_BUILTIN_PADDD128, 0, 0 },
- { MASK_SSE2, CODE_FOR_addv4si3, "__builtin_ia32_paddq128", IX86_BUILTIN_PADDQ128, 0, 0 },
+ { MASK_SSE2, CODE_FOR_addv2di3, "__builtin_ia32_paddq128", IX86_BUILTIN_PADDQ128, 0, 0 },
{ MASK_SSE2, CODE_FOR_subv16qi3, "__builtin_ia32_psubb128", IX86_BUILTIN_PSUBB128, 0, 0 },
{ MASK_SSE2, CODE_FOR_subv8hi3, "__builtin_ia32_psubw128", IX86_BUILTIN_PSUBW128, 0, 0 },
{ MASK_SSE2, CODE_FOR_subv4si3, "__builtin_ia32_psubd128", IX86_BUILTIN_PSUBD128, 0, 0 },
- { MASK_SSE2, CODE_FOR_subv4si3, "__builtin_ia32_psubq128", IX86_BUILTIN_PSUBQ128, 0, 0 },
+ { MASK_SSE2, CODE_FOR_subv2di3, "__builtin_ia32_psubq128", IX86_BUILTIN_PSUBQ128, 0, 0 },
{ MASK_MMX, CODE_FOR_ssaddv16qi3, "__builtin_ia32_paddsb128", IX86_BUILTIN_PADDSB128, 0, 0 },
{ MASK_MMX, CODE_FOR_ssaddv8hi3, "__builtin_ia32_paddsw128", IX86_BUILTIN_PADDSW128, 0, 0 },
@@ -12134,6 +12333,7 @@ static const struct builtin_description bdesc_2arg[] =
{ MASK_SSE2, CODE_FOR_sse2_pmaddwd, 0, IX86_BUILTIN_PMADDWD128, 0, 0 },
{ MASK_SSE2, CODE_FOR_cvtsi2sd, 0, IX86_BUILTIN_CVTSI2SD, 0, 0 },
+ { MASK_SSE264, CODE_FOR_cvtsi2sdq, 0, IX86_BUILTIN_CVTSI642SD, 0, 0 },
{ MASK_SSE2, CODE_FOR_cvtsd2ss, 0, IX86_BUILTIN_CVTSD2SS, 0, 0 },
{ MASK_SSE2, CODE_FOR_cvtss2sd, 0, IX86_BUILTIN_CVTSS2SD, 0, 0 }
};
@@ -12149,8 +12349,10 @@ static const struct builtin_description bdesc_1arg[] =
{ MASK_SSE1, CODE_FOR_cvtps2pi, 0, IX86_BUILTIN_CVTPS2PI, 0, 0 },
{ MASK_SSE1, CODE_FOR_cvtss2si, 0, IX86_BUILTIN_CVTSS2SI, 0, 0 },
+ { MASK_SSE164, CODE_FOR_cvtss2siq, 0, IX86_BUILTIN_CVTSS2SI64, 0, 0 },
{ MASK_SSE1, CODE_FOR_cvttps2pi, 0, IX86_BUILTIN_CVTTPS2PI, 0, 0 },
{ MASK_SSE1, CODE_FOR_cvttss2si, 0, IX86_BUILTIN_CVTTSS2SI, 0, 0 },
+ { MASK_SSE164, CODE_FOR_cvttss2siq, 0, IX86_BUILTIN_CVTTSS2SI64, 0, 0 },
{ MASK_SSE2, CODE_FOR_sse2_pmovmskb, 0, IX86_BUILTIN_PMOVMSKB128, 0, 0 },
{ MASK_SSE2, CODE_FOR_sse2_movmskpd, 0, IX86_BUILTIN_MOVMSKPD, 0, 0 },
@@ -12172,6 +12374,8 @@ static const struct builtin_description bdesc_1arg[] =
{ MASK_SSE2, CODE_FOR_cvtsd2si, 0, IX86_BUILTIN_CVTSD2SI, 0, 0 },
{ MASK_SSE2, CODE_FOR_cvttsd2si, 0, IX86_BUILTIN_CVTTSD2SI, 0, 0 },
+ { MASK_SSE264, CODE_FOR_cvtsd2siq, 0, IX86_BUILTIN_CVTSD2SI64, 0, 0 },
+ { MASK_SSE264, CODE_FOR_cvttsd2siq, 0, IX86_BUILTIN_CVTTSD2SI64, 0, 0 },
{ MASK_SSE2, CODE_FOR_cvtps2dq, 0, IX86_BUILTIN_CVTPS2DQ, 0, 0 },
{ MASK_SSE2, CODE_FOR_cvtps2pd, 0, IX86_BUILTIN_CVTPS2PD, 0, 0 },
@@ -12197,7 +12401,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);
@@ -12213,11 +12421,18 @@ ix86_init_mmx_sse_builtins ()
tree int_ftype_v4sf
= build_function_type_list (integer_type_node,
V4SF_type_node, NULL_TREE);
+ tree int64_ftype_v4sf
+ = build_function_type_list (long_long_integer_type_node,
+ V4SF_type_node, NULL_TREE);
tree int_ftype_v8qi
= build_function_type_list (integer_type_node, V8QI_type_node, NULL_TREE);
tree v4sf_ftype_v4sf_int
= build_function_type_list (V4SF_type_node,
V4SF_type_node, integer_type_node, NULL_TREE);
+ tree v4sf_ftype_v4sf_int64
+ = build_function_type_list (V4SF_type_node,
+ V4SF_type_node, long_long_integer_type_node,
+ NULL_TREE);
tree v4sf_ftype_v4sf_v2si
= build_function_type_list (V4SF_type_node,
V4SF_type_node, V2SI_type_node, NULL_TREE);
@@ -12270,8 +12485,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 +12541,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 +12557,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);
@@ -12364,9 +12583,16 @@ ix86_init_mmx_sse_builtins ()
= build_function_type_list (V2DF_type_node, V4SF_type_node, NULL_TREE);
tree int_ftype_v2df
= build_function_type_list (integer_type_node, V2DF_type_node, NULL_TREE);
+ tree int64_ftype_v2df
+ = build_function_type_list (long_long_integer_type_node,
+ V2DF_type_node, NULL_TREE);
tree v2df_ftype_v2df_int
= build_function_type_list (V2DF_type_node,
V2DF_type_node, integer_type_node, NULL_TREE);
+ tree v2df_ftype_v2df_int64
+ = build_function_type_list (V2DF_type_node,
+ V2DF_type_node, long_long_integer_type_node,
+ NULL_TREE);
tree v4sf_ftype_v4sf_v2df
= build_function_type_list (V4SF_type_node,
V4SF_type_node, V2DF_type_node, NULL_TREE);
@@ -12394,8 +12620,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 +12680,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 +12765,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,21 +12790,26 @@ 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);
+ def_builtin (MASK_SSE164, "__builtin_ia32_cvtsi642ss", v4sf_ftype_v4sf_int64, IX86_BUILTIN_CVTSI642SS);
def_builtin (MASK_SSE1, "__builtin_ia32_cvtss2si", int_ftype_v4sf, IX86_BUILTIN_CVTSS2SI);
+ def_builtin (MASK_SSE164, "__builtin_ia32_cvtss2si64", int64_ftype_v4sf, IX86_BUILTIN_CVTSS2SI64);
def_builtin (MASK_SSE1, "__builtin_ia32_cvttps2pi", v2si_ftype_v4sf, IX86_BUILTIN_CVTTPS2PI);
def_builtin (MASK_SSE1, "__builtin_ia32_cvttss2si", int_ftype_v4sf, IX86_BUILTIN_CVTTSS2SI);
+ def_builtin (MASK_SSE164, "__builtin_ia32_cvttss2si64", int64_ftype_v4sf, IX86_BUILTIN_CVTTSS2SI64);
def_builtin (MASK_SSE1 | MASK_3DNOW_A, "__builtin_ia32_pextrw", int_ftype_v4hi_int, IX86_BUILTIN_PEXTRW);
def_builtin (MASK_SSE1 | MASK_3DNOW_A, "__builtin_ia32_pinsrw", v4hi_ftype_v4hi_int_int, IX86_BUILTIN_PINSRW);
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 +12877,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);
@@ -12689,33 +12918,36 @@ ix86_init_mmx_sse_builtins ()
def_builtin (MASK_SSE2, "__builtin_ia32_cvtsd2si", int_ftype_v2df, IX86_BUILTIN_CVTSD2SI);
def_builtin (MASK_SSE2, "__builtin_ia32_cvttsd2si", int_ftype_v2df, IX86_BUILTIN_CVTTSD2SI);
+ def_builtin (MASK_SSE264, "__builtin_ia32_cvtsd2si64", int64_ftype_v2df, IX86_BUILTIN_CVTSD2SI64);
+ def_builtin (MASK_SSE264, "__builtin_ia32_cvttsd2si64", int64_ftype_v2df, IX86_BUILTIN_CVTTSD2SI64);
def_builtin (MASK_SSE2, "__builtin_ia32_cvtps2dq", v4si_ftype_v4sf, IX86_BUILTIN_CVTPS2DQ);
def_builtin (MASK_SSE2, "__builtin_ia32_cvtps2pd", v2df_ftype_v4sf, IX86_BUILTIN_CVTPS2PD);
def_builtin (MASK_SSE2, "__builtin_ia32_cvttps2dq", v4si_ftype_v4sf, IX86_BUILTIN_CVTTPS2DQ);
def_builtin (MASK_SSE2, "__builtin_ia32_cvtsi2sd", v2df_ftype_v2df_int, IX86_BUILTIN_CVTSI2SD);
+ def_builtin (MASK_SSE264, "__builtin_ia32_cvtsi642sd", v2df_ftype_v2df_int64, IX86_BUILTIN_CVTSI642SD);
def_builtin (MASK_SSE2, "__builtin_ia32_cvtsd2ss", v4sf_ftype_v4sf_v2df, IX86_BUILTIN_CVTSD2SS);
def_builtin (MASK_SSE2, "__builtin_ia32_cvtss2sd", v2df_ftype_v2df_v4sf, IX86_BUILTIN_CVTSS2SD);
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);
@@ -12795,6 +13027,13 @@ ix86_expand_binop_builtin (icode, arglist, target)
|| ! (*insn_data[icode].operand[0].predicate) (target, tmode))
target = gen_reg_rtx (tmode);
+ if (GET_MODE (op1) == SImode && mode1 == TImode)
+ {
+ rtx x = gen_reg_rtx (V4SImode);
+ emit_insn (gen_sse2_loadd (x, op1));
+ op1 = gen_lowpart (TImode, x);
+ }
+
/* In case the insn wants input operands in modes different from
the result, abort. */
if (GET_MODE (op0) != mode0 || GET_MODE (op1) != mode1)
@@ -12837,9 +13076,7 @@ ix86_expand_store_builtin (icode, arglist)
op1 = safe_vector_operand (op1, mode1);
op0 = gen_rtx_MEM (mode0, copy_to_mode_reg (Pmode, op0));
-
- if (! (*insn_data[icode].operand[1].predicate) (op1, mode1))
- op1 = copy_to_mode_reg (mode1, op1);
+ op1 = copy_to_mode_reg (mode1, op1);
pat = GEN_FCN (icode) (op0, op1);
if (pat)
@@ -13828,9 +14065,10 @@ ix86_hard_regno_mode_ok (regno, mode)
if (FP_REGNO_P (regno))
return VALID_FP_MODE_P (mode);
if (SSE_REGNO_P (regno))
- return VALID_SSE_REG_MODE (mode);
+ return (TARGET_SSE ? VALID_SSE_REG_MODE (mode) : 0);
if (MMX_REGNO_P (regno))
- return VALID_MMX_REG_MODE (mode) || VALID_MMX_REG_MODE_3DNOW (mode);
+ return (TARGET_MMX
+ ? VALID_MMX_REG_MODE (mode) || VALID_MMX_REG_MODE_3DNOW (mode) : 0);
/* We handle both integer and floats in the general purpose registers.
In future we should be able to handle vector modes as well. */
if (!VALID_INT_MODE_P (mode) && !VALID_FP_MODE_P (mode))
@@ -14299,7 +14537,7 @@ x86_function_profiler (file, labelno)
else
{
#ifndef NO_PROFILE_COUNTERS
- fprintf (file, "\tmovl\t$%sP%d,%%$s\n", LPREFIX, labelno,
+ fprintf (file, "\tmovl\t$%sP%d,%%%s\n", LPREFIX, labelno,
PROFILE_COUNT_REGISTER);
#endif
fprintf (file, "\tcall\t%s\n", MCOUNT_NAME);
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 493a2b5bf9c..ffca44fd57b 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -487,9 +487,12 @@ extern int x86_prefetch_sse;
if (TARGET_64BIT) \
{ \
builtin_assert ("cpu=x86_64"); \
- builtin_assert ("machine=x86_64"); \
+ builtin_define ("__amd64"); \
+ builtin_define ("__amd64__"); \
builtin_define ("__x86_64"); \
builtin_define ("__x86_64__"); \
+ builtin_define ("__amd64"); \
+ builtin_define ("__amd64__"); \
} \
else \
{ \
@@ -1047,7 +1050,7 @@ do { \
&& (TARGET_64BIT || !TARGET_PARTIAL_REG_STALL)) \
|| ((MODE1) == DImode && TARGET_64BIT)) \
&& ((MODE2) == HImode || (MODE2) == SImode \
- || ((MODE1) == QImode \
+ || ((MODE2) == QImode \
&& (TARGET_64BIT || !TARGET_PARTIAL_REG_STALL)) \
|| ((MODE2) == DImode && TARGET_64BIT))))
@@ -1522,6 +1525,20 @@ enum reg_class
|| ((CLASS) == SIREG) \
|| ((CLASS) == DIREG))
+/* Return a class of registers that cannot change FROM mode to TO mode.
+
+ x87 registers can't do subreg as all values are reformated to extended
+ precision. XMM registers does not support with nonzero offsets equal
+ to 4, 8 and 12 otherwise valid for integer registers. Since we can't
+ determine these, prohibit all nonparadoxical subregs changing size. */
+
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ (GET_MODE_SIZE (TO) < GET_MODE_SIZE (FROM) \
+ ? reg_classes_intersect_p (FLOAT_SSE_REGS, (CLASS)) \
+ || MAYBE_MMX_CLASS_P (CLASS) \
+ : GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
+ ? reg_classes_intersect_p (FLOAT_REGS, (CLASS)) : 0)
+
/* A C statement that adds to CLOBBERS any hard regs the port wishes
to automatically clobber for all asms.
@@ -1716,17 +1733,28 @@ typedef struct ix86_args {
#define FUNCTION_ARG_PARTIAL_NREGS(CUM, MODE, TYPE, NAMED) 0
+/* A C expression that indicates when an argument must be passed by
+ reference. If nonzero for an argument, a copy of that argument is
+ made in memory and a pointer to the argument is passed instead of
+ the argument itself. The pointer is passed in whatever way is
+ appropriate for passing a pointer to that type. */
+
+#define FUNCTION_ARG_PASS_BY_REFERENCE(CUM, MODE, TYPE, NAMED) \
+ function_arg_pass_by_reference(&CUM, MODE, TYPE, NAMED)
+
/* If PIC, we cannot make sibling calls to global functions
because the PLT requires %ebx live.
- If we are returning floats on the register stack, we cannot make
- sibling calls to functions that return floats. (The stack adjust
- instruction will wind up after the sibcall jump, and not be executed.) */
+ If we are returning floats on the 80387 register stack, we cannot
+ make a sibcall from a function that doesn't return a float to a
+ function that does or, conversely, from a function that does return
+ a float to a function that doesn't; the necessary stack adjustment
+ would not be executed. */
#define FUNCTION_OK_FOR_SIBCALL(DECL) \
((DECL) \
&& (! flag_pic || ! TREE_PUBLIC (DECL)) \
&& (! TARGET_FLOAT_RETURNS_IN_80387 \
- || ! FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) \
- || FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl))))))
+ || (FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) \
+ == FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl)))))))
/* Perform any needed actions needed for a function that is receiving a
variable number of arguments.
@@ -2068,9 +2096,12 @@ enum ix86_builtins
IX86_BUILTIN_CVTPI2PS,
IX86_BUILTIN_CVTPS2PI,
IX86_BUILTIN_CVTSI2SS,
+ IX86_BUILTIN_CVTSI642SS,
IX86_BUILTIN_CVTSS2SI,
+ IX86_BUILTIN_CVTSS2SI64,
IX86_BUILTIN_CVTTPS2PI,
IX86_BUILTIN_CVTTSS2SI,
+ IX86_BUILTIN_CVTTSS2SI64,
IX86_BUILTIN_MAXPS,
IX86_BUILTIN_MAXSS,
@@ -2116,6 +2147,7 @@ enum ix86_builtins
IX86_BUILTIN_PADDB,
IX86_BUILTIN_PADDW,
IX86_BUILTIN_PADDD,
+ IX86_BUILTIN_PADDQ,
IX86_BUILTIN_PADDSB,
IX86_BUILTIN_PADDSW,
IX86_BUILTIN_PADDUSB,
@@ -2123,6 +2155,7 @@ enum ix86_builtins
IX86_BUILTIN_PSUBB,
IX86_BUILTIN_PSUBW,
IX86_BUILTIN_PSUBD,
+ IX86_BUILTIN_PSUBQ,
IX86_BUILTIN_PSUBSB,
IX86_BUILTIN_PSUBSW,
IX86_BUILTIN_PSUBUSB,
@@ -2327,11 +2360,14 @@ enum ix86_builtins
IX86_BUILTIN_CVTPI2PD,
IX86_BUILTIN_CVTSI2SD,
+ IX86_BUILTIN_CVTSI642SD,
IX86_BUILTIN_CVTSD2SI,
+ IX86_BUILTIN_CVTSD2SI64,
IX86_BUILTIN_CVTSD2SS,
IX86_BUILTIN_CVTSS2SD,
IX86_BUILTIN_CVTTSD2SI,
+ IX86_BUILTIN_CVTTSD2SI64,
IX86_BUILTIN_CVTPS2DQ,
IX86_BUILTIN_CVTPS2PD,
@@ -3286,6 +3322,7 @@ do { \
{"register_and_not_any_fp_reg_operand", {REG}}, \
{"fp_register_operand", {REG}}, \
{"register_and_not_fp_reg_operand", {REG}}, \
+ {"vector_move_operand", {CONST_VECTOR, SUBREG, REG, MEM}}, \
/* A list of predicates that do special things with modes, and so
should not elicit warnings for VOIDmode match_operand. */
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index befbfe49569..edbb7163646 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
@@ -267,6 +268,8 @@
(define_attr "length" ""
(cond [(eq_attr "type" "other,multi,fistp")
(const_int 16)
+ (eq_attr "type" "fcmp")
+ (const_int 4)
(eq_attr "unit" "i387")
(plus (const_int 2)
(plus (attr "prefix_data16")
@@ -1099,25 +1102,20 @@
(set_attr "mode" "SI")
(set_attr "length_immediate" "1")])
-; The first alternative is used only to compute proper length of instruction.
-; Reload's algorithm does not take into account the cost of spill instructions
-; needed to free register in given class, so avoid it from choosing the first
-; alternative when eax is not available.
-
(define_insn "*movsi_1"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=*?a,r,*?a,m,!*y,!rm,!*y,!*Y,!rm,!*Y")
- (match_operand:SI 1 "general_operand" "im,rinm,rinm,rin,rm,*y,*y,rm,*Y,*Y"))]
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=r,m,!*y,!rm,!*y,!*Y,!*Y,!rm")
+ (match_operand:SI 1 "general_operand" "rinm,rin,rm,*y,*y,*Y,rm,*Y"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
{
switch (get_attr_type (insn))
{
case TYPE_SSEMOV:
- if (get_attr_mode (insn) == TImode)
+ if (get_attr_mode (insn) == MODE_TI)
return "movdqa\t{%1, %0|%0, %1}";
return "movd\t{%1, %0|%0, %1}";
case TYPE_MMXMOV:
- if (get_attr_mode (insn) == DImode)
+ if (get_attr_mode (insn) == MODE_DI)
return "movq\t{%1, %0|%0, %1}";
return "movd\t{%1, %0|%0, %1}";
@@ -1131,17 +1129,16 @@
}
}
[(set (attr "type")
- (cond [(eq_attr "alternative" "4,5,6")
+ (cond [(eq_attr "alternative" "2,3,4")
(const_string "mmxmov")
- (eq_attr "alternative" "7,8,9")
+ (eq_attr "alternative" "5,6,7")
(const_string "ssemov")
(and (ne (symbol_ref "flag_pic") (const_int 0))
(match_operand:SI 1 "symbolic_operand" ""))
(const_string "lea")
]
(const_string "imov")))
- (set_attr "modrm" "0,*,0,*,*,*,*,*,*,*")
- (set_attr "mode" "SI,SI,SI,SI,SI,SI,DI,TI,SI,SI")])
+ (set_attr "mode" "SI,SI,SI,SI,DI,TI,SI,SI")])
;; Stores and loads of ax to arbitary constant address.
;; We fake an second form of instruction to force reload to load address
@@ -1214,14 +1211,9 @@
[(set_attr "type" "push")
(set_attr "mode" "QI")])
-; The first alternative is used only to compute proper length of instruction.
-; Reload's algorithm does not take into account the cost of spill instructions
-; needed to free register in given class, so avoid it from choosing the first
-; alternative when eax is not available.
-
(define_insn "*movhi_1"
- [(set (match_operand:HI 0 "nonimmediate_operand" "=*?a,r,r,*?a,r,m")
- (match_operand:HI 1 "general_operand" "i,r,rn,rm,rm,rn"))]
+ [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,r,m")
+ (match_operand:HI 1 "general_operand" "r,rn,rm,rn"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
{
switch (get_attr_type (insn))
@@ -1238,36 +1230,35 @@
}
}
[(set (attr "type")
- (cond [(and (eq_attr "alternative" "0,1")
+ (cond [(and (eq_attr "alternative" "0")
(ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
(const_int 0))
(eq (symbol_ref "TARGET_HIMODE_MATH")
(const_int 0))))
(const_string "imov")
- (and (eq_attr "alternative" "2,3,4")
+ (and (eq_attr "alternative" "1,2")
(match_operand:HI 1 "aligned_operand" ""))
(const_string "imov")
(and (ne (symbol_ref "TARGET_MOVX")
(const_int 0))
- (eq_attr "alternative" "0,1,3,4"))
+ (eq_attr "alternative" "0,2"))
(const_string "imovx")
]
(const_string "imov")))
(set (attr "mode")
(cond [(eq_attr "type" "imovx")
(const_string "SI")
- (and (eq_attr "alternative" "2,3,4")
+ (and (eq_attr "alternative" "1,2")
(match_operand:HI 1 "aligned_operand" ""))
(const_string "SI")
- (and (eq_attr "alternative" "0,1")
+ (and (eq_attr "alternative" "0")
(ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
(const_int 0))
(eq (symbol_ref "TARGET_HIMODE_MATH")
(const_int 0))))
(const_string "SI")
]
- (const_string "HI")))
- (set_attr "modrm" "0,*,*,0,*,*")])
+ (const_string "HI")))])
;; Stores and loads of ax to arbitary constant address.
;; We fake an second form of instruction to force reload to load address
@@ -1488,7 +1479,7 @@
(define_expand "movstrictqi"
[(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" ""))
(match_operand:QI 1 "general_operand" ""))]
- "! TARGET_PARTIAL_REG_STALL"
+ "! TARGET_PARTIAL_REG_STALL || optimize_size"
{
/* Don't generate memory->memory moves, go through a register. */
if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)
@@ -1498,7 +1489,7 @@
(define_insn "*movstrictqi_1"
[(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm,q"))
(match_operand:QI 1 "general_operand" "*qn,m"))]
- "! TARGET_PARTIAL_REG_STALL
+ "(! TARGET_PARTIAL_REG_STALL || optimize_size)
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"mov{b}\t{%1, %0|%0, %1}"
[(set_attr "type" "imov")
@@ -12839,9 +12830,9 @@
(set_attr "modrm" "0")
(set (attr "length")
(if_then_else (and (ge (minus (match_dup 0) (pc))
- (const_int -128))
+ (const_int -126))
(lt (minus (match_dup 0) (pc))
- (const_int 124)))
+ (const_int 128)))
(const_int 2)
(const_int 6)))])
@@ -12857,9 +12848,9 @@
(set_attr "modrm" "0")
(set (attr "length")
(if_then_else (and (ge (minus (match_dup 0) (pc))
- (const_int -128))
+ (const_int -126))
(lt (minus (match_dup 0) (pc))
- (const_int 124)))
+ (const_int 128)))
(const_int 2)
(const_int 6)))])
@@ -13124,9 +13115,9 @@
[(set_attr "type" "ibr")
(set (attr "length")
(if_then_else (and (ge (minus (match_dup 0) (pc))
- (const_int -128))
+ (const_int -126))
(lt (minus (match_dup 0) (pc))
- (const_int 124)))
+ (const_int 128)))
(const_int 2)
(const_int 5)))
(set_attr "modrm" "0")])
@@ -13250,9 +13241,9 @@
(set (attr "length")
(if_then_else (and (eq_attr "alternative" "0")
(and (ge (minus (match_dup 0) (pc))
- (const_int -128))
+ (const_int -126))
(lt (minus (match_dup 0) (pc))
- (const_int 124))))
+ (const_int 128))))
(const_int 2)
(const_int 16)))
;; We don't know the type before shorten branches. Optimistically expect
@@ -13616,11 +13607,10 @@
"ix86_expand_epilogue (0); DONE;")
(define_expand "eh_return"
- [(use (match_operand 0 "register_operand" ""))
- (use (match_operand 1 "register_operand" ""))]
+ [(use (match_operand 0 "register_operand" ""))]
""
{
- rtx tmp, sa = operands[0], ra = operands[1];
+ rtx tmp, sa = EH_RETURN_STACKADJ_RTX, ra = operands[0];
/* Tricky bit: we write the address of the handler to which we will
be returning into someone else's stack frame, one word below the
@@ -13682,7 +13672,7 @@
(define_expand "ffssi2"
[(set (match_operand:SI 0 "nonimmediate_operand" "")
- (ffs:SI (match_operand:SI 1 "general_operand" "")))]
+ (ffs:SI (match_operand:SI 1 "nonimmediate_operand" "")))]
""
{
rtx out = gen_reg_rtx (SImode), tmp = gen_reg_rtx (SImode);
@@ -14823,7 +14813,7 @@
(define_insn "cosxf2"
[(set (match_operand:XF 0 "register_operand" "=f")
(unspec:XF [(match_operand:XF 1 "register_operand" "0")] UNSPEC_COS))]
- "! TARGET_NO_FANCY_MATH_387 && TARGET_80387
+ "!TARGET_64BIT && ! TARGET_NO_FANCY_MATH_387 && TARGET_80387
&& flag_unsafe_math_optimizations"
"fcos"
[(set_attr "type" "fpspc")
@@ -16734,7 +16724,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 +16736,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];
@@ -16853,6 +16846,10 @@
operands[2] = gen_lowpart (SImode, operands[2]);
PUT_MODE (operands[3], SImode);")
+; Promote the QImode tests, as i386 has encoding of the AND
+; instruction with 32-bit sign-extended immediate and thus the
+; instruction size is unchanged, except in the %eax case for
+; which it is increased by one byte, hence the ! optimize_size.
(define_split
[(set (reg 17)
(compare (and (match_operand 1 "aligned_operand" "")
@@ -16861,12 +16858,11 @@
(set (match_operand 0 "register_operand" "")
(and (match_dup 1) (match_dup 2)))]
"! TARGET_PARTIAL_REG_STALL && reload_completed
- && ix86_match_ccmode (insn, CCNOmode)
- && (GET_MODE (operands[0]) == HImode
- || (GET_MODE (operands[0]) == QImode
- /* Ensure that the operand will remain sign extended immediate. */
- && INTVAL (operands[2]) >= 0
- && (TARGET_PROMOTE_QImode || optimize_size)))"
+ /* Ensure that the operand will remain sign-extended immediate. */
+ && ix86_match_ccmode (insn, INTVAL (operands[2]) >= 0 ? CCNOmode : CCZmode)
+ && ! optimize_size
+ && ((GET_MODE (operands[0]) == HImode && ! TARGET_FAST_PREFIX)
+ || (GET_MODE (operands[0]) == QImode && TARGET_PROMOTE_QImode))"
[(parallel [(set (reg:CCNO 17)
(compare:CCNO (and:SI (match_dup 1) (match_dup 2))
(const_int 0)))
@@ -16879,17 +16875,20 @@
operands[0] = gen_lowpart (SImode, operands[0]);
operands[1] = gen_lowpart (SImode, operands[1]);")
-; Don't promote the QImode tests, as i386 don't have encoding of
-; the test instruction with 32bit sign extended immediate and thus
-; the code grows.
+; Don't promote the QImode tests, as i386 doesn't have encoding of
+; the TEST instruction with 32-bit sign-extended immediate and thus
+; the instruction size would at least double, which is not what we
+; want even with ! optimize_size.
(define_split
[(set (reg 17)
(compare (and (match_operand:HI 0 "aligned_operand" "")
(match_operand:HI 1 "const_int_operand" ""))
(const_int 0)))]
"! TARGET_PARTIAL_REG_STALL && reload_completed
- && ix86_match_ccmode (insn, CCNOmode)
- && GET_MODE (operands[0]) == HImode"
+ /* Ensure that the operand will remain sign-extended immediate. */
+ && ix86_match_ccmode (insn, INTVAL (operands[1]) >= 0 ? CCNOmode : CCZmode)
+ && ! TARGET_FAST_PREFIX
+ && ! optimize_size"
[(set (reg:CCNO 17)
(compare:CCNO (and:SI (match_dup 0) (match_dup 1))
(const_int 0)))]
@@ -17848,67 +17847,92 @@
;; Moves for SSE/MMX regs.
(define_insn "movv4sf_internal"
- [(set (match_operand:V4SF 0 "nonimmediate_operand" "=x,m")
- (match_operand:V4SF 1 "nonimmediate_operand" "xm,x"))]
+ [(set (match_operand:V4SF 0 "nonimmediate_operand" "=x,x,m")
+ (match_operand:V4SF 1 "vector_move_operand" "C,xm,x"))]
"TARGET_SSE"
;; @@@ let's try to use movaps here.
- "movaps\t{%1, %0|%0, %1}"
+ "@
+ xorps\t%0, %0
+ movaps\t{%1, %0|%0, %1}
+ movaps\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V4SF")])
(define_insn "movv4si_internal"
- [(set (match_operand:V4SI 0 "nonimmediate_operand" "=x,m")
- (match_operand:V4SI 1 "nonimmediate_operand" "xm,x"))]
+ [(set (match_operand:V4SI 0 "nonimmediate_operand" "=x,x,m")
+ (match_operand:V4SI 1 "vector_move_operand" "C,xm,x"))]
"TARGET_SSE"
;; @@@ let's try to use movaps here.
- "movaps\t{%1, %0|%0, %1}"
+ "@
+ xorps\t%0, %0
+ movaps\t{%1, %0|%0, %1}
+ movaps\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V4SF")])
(define_insn "movv2di_internal"
- [(set (match_operand:V2DI 0 "nonimmediate_operand" "=x,m")
- (match_operand:V2DI 1 "nonimmediate_operand" "xm,x"))]
+ [(set (match_operand:V2DI 0 "nonimmediate_operand" "=x,x,m")
+ (match_operand:V2DI 1 "vector_move_operand" "C,xm,x"))]
"TARGET_SSE"
;; @@@ let's try to use movaps here.
- "movdqa\t{%1, %0|%0, %1}"
+ "@
+ pxor\t%0, %0
+ movdqa\t{%1, %0|%0, %1}
+ movdqa\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V4SF")])
(define_insn "movv8qi_internal"
- [(set (match_operand:V8QI 0 "nonimmediate_operand" "=y,m")
- (match_operand:V8QI 1 "nonimmediate_operand" "ym,y"))]
- "TARGET_MMX"
- "movq\t{%1, %0|%0, %1}"
+ [(set (match_operand:V8QI 0 "nonimmediate_operand" "=y,y,m")
+ (match_operand:V8QI 1 "vector_move_operand" "C,ym,y"))]
+ "TARGET_MMX
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ pxor\t%0, %0
+ movq\t{%1, %0|%0, %1}
+ movq\t{%1, %0|%0, %1}"
[(set_attr "type" "mmxmov")
(set_attr "mode" "DI")])
(define_insn "movv4hi_internal"
- [(set (match_operand:V4HI 0 "nonimmediate_operand" "=y,m")
- (match_operand:V4HI 1 "nonimmediate_operand" "ym,y"))]
- "TARGET_MMX"
- "movq\t{%1, %0|%0, %1}"
+ [(set (match_operand:V4HI 0 "nonimmediate_operand" "=y,y,m")
+ (match_operand:V4HI 1 "vector_move_operand" "C,ym,y"))]
+ "TARGET_MMX
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ pxor\t%0, %0
+ movq\t{%1, %0|%0, %1}
+ movq\t{%1, %0|%0, %1}"
[(set_attr "type" "mmxmov")
(set_attr "mode" "DI")])
(define_insn "movv2si_internal"
- [(set (match_operand:V2SI 0 "nonimmediate_operand" "=y,m")
- (match_operand:V2SI 1 "nonimmediate_operand" "ym,y"))]
- "TARGET_MMX"
- "movq\t{%1, %0|%0, %1}"
+ [(set (match_operand:V2SI 0 "nonimmediate_operand" "=y,y,m")
+ (match_operand:V2SI 1 "vector_move_operand" "C,ym,y"))]
+ "TARGET_MMX
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ pxor\t%0, %0
+ movq\t{%1, %0|%0, %1}
+ movq\t{%1, %0|%0, %1}"
[(set_attr "type" "mmxcvt")
(set_attr "mode" "DI")])
(define_insn "movv2sf_internal"
- [(set (match_operand:V2SF 0 "nonimmediate_operand" "=y,m")
- (match_operand:V2SF 1 "nonimmediate_operand" "ym,y"))]
- "TARGET_3DNOW"
- "movq\\t{%1, %0|%0, %1}"
+ [(set (match_operand:V2SF 0 "nonimmediate_operand" "=y,y,m")
+ (match_operand:V2SF 1 "vector_move_operand" "C,ym,y"))]
+ "TARGET_3DNOW
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ pxor\t%0, %0
+ movq\t{%1, %0|%0, %1}
+ movq\t{%1, %0|%0, %1}"
[(set_attr "type" "mmxcvt")
(set_attr "mode" "DI")])
(define_expand "movti"
- [(set (match_operand:TI 0 "general_operand" "")
- (match_operand:TI 1 "general_operand" ""))]
+ [(set (match_operand:TI 0 "nonimmediate_operand" "")
+ (match_operand:TI 1 "nonimmediate_operand" ""))]
"TARGET_SSE || TARGET_64BIT"
{
if (TARGET_64BIT)
@@ -17919,35 +17943,44 @@
})
(define_insn "movv2df_internal"
- [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,m")
- (match_operand:V2DF 1 "nonimmediate_operand" "xm,x"))]
- "TARGET_SSE2"
- ;; @@@ let's try to use movaps here.
- "movapd\t{%1, %0|%0, %1}"
+ [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,x,m")
+ (match_operand:V2DF 1 "vector_move_operand" "C,xm,x"))]
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ xorpd\t%0, %0
+ movapd\t{%1, %0|%0, %1}
+ movapd\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V2DF")])
(define_insn "movv8hi_internal"
- [(set (match_operand:V8HI 0 "nonimmediate_operand" "=x,m")
- (match_operand:V8HI 1 "nonimmediate_operand" "xm,x"))]
- "TARGET_SSE2"
- ;; @@@ let's try to use movaps here.
- "movaps\t{%1, %0|%0, %1}"
+ [(set (match_operand:V8HI 0 "nonimmediate_operand" "=x,x,m")
+ (match_operand:V8HI 1 "vector_move_operand" "C,xm,x"))]
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ xorps\t%0, %0
+ movaps\t{%1, %0|%0, %1}
+ movaps\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V4SF")])
(define_insn "movv16qi_internal"
- [(set (match_operand:V16QI 0 "nonimmediate_operand" "=x,m")
- (match_operand:V16QI 1 "nonimmediate_operand" "xm,x"))]
- "TARGET_SSE2"
- ;; @@@ let's try to use movaps here.
- "movaps\t{%1, %0|%0, %1}"
+ [(set (match_operand:V16QI 0 "nonimmediate_operand" "=x,x,m")
+ (match_operand:V16QI 1 "vector_move_operand" "C,xm,x"))]
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "@
+ xorps\t%0, %0
+ movaps\t{%1, %0|%0, %1}
+ movaps\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V4SF")])
(define_expand "movv2df"
- [(set (match_operand:V2DF 0 "general_operand" "")
- (match_operand:V2DF 1 "general_operand" ""))]
+ [(set (match_operand:V2DF 0 "nonimmediate_operand" "")
+ (match_operand:V2DF 1 "nonimmediate_operand" ""))]
"TARGET_SSE2"
{
ix86_expand_vector_move (V2DFmode, operands);
@@ -17955,8 +17988,8 @@
})
(define_expand "movv8hi"
- [(set (match_operand:V8HI 0 "general_operand" "")
- (match_operand:V8HI 1 "general_operand" ""))]
+ [(set (match_operand:V8HI 0 "nonimmediate_operand" "")
+ (match_operand:V8HI 1 "nonimmediate_operand" ""))]
"TARGET_SSE2"
{
ix86_expand_vector_move (V8HImode, operands);
@@ -17964,8 +17997,8 @@
})
(define_expand "movv16qi"
- [(set (match_operand:V16QI 0 "general_operand" "")
- (match_operand:V16QI 1 "general_operand" ""))]
+ [(set (match_operand:V16QI 0 "nonimmediate_operand" "")
+ (match_operand:V16QI 1 "nonimmediate_operand" ""))]
"TARGET_SSE2"
{
ix86_expand_vector_move (V16QImode, operands);
@@ -17973,8 +18006,8 @@
})
(define_expand "movv4sf"
- [(set (match_operand:V4SF 0 "general_operand" "")
- (match_operand:V4SF 1 "general_operand" ""))]
+ [(set (match_operand:V4SF 0 "nonimmediate_operand" "")
+ (match_operand:V4SF 1 "nonimmediate_operand" ""))]
"TARGET_SSE"
{
ix86_expand_vector_move (V4SFmode, operands);
@@ -17982,8 +18015,8 @@
})
(define_expand "movv4si"
- [(set (match_operand:V4SI 0 "general_operand" "")
- (match_operand:V4SI 1 "general_operand" ""))]
+ [(set (match_operand:V4SI 0 "nonimmediate_operand" "")
+ (match_operand:V4SI 1 "nonimmediate_operand" ""))]
"TARGET_SSE"
{
ix86_expand_vector_move (V4SImode, operands);
@@ -17991,8 +18024,8 @@
})
(define_expand "movv2di"
- [(set (match_operand:V2DI 0 "general_operand" "")
- (match_operand:V2DI 1 "general_operand" ""))]
+ [(set (match_operand:V2DI 0 "nonimmediate_operand" "")
+ (match_operand:V2DI 1 "nonimmediate_operand" ""))]
"TARGET_SSE"
{
ix86_expand_vector_move (V2DImode, operands);
@@ -18000,8 +18033,8 @@
})
(define_expand "movv2si"
- [(set (match_operand:V2SI 0 "general_operand" "")
- (match_operand:V2SI 1 "general_operand" ""))]
+ [(set (match_operand:V2SI 0 "nonimmediate_operand" "")
+ (match_operand:V2SI 1 "nonimmediate_operand" ""))]
"TARGET_MMX"
{
ix86_expand_vector_move (V2SImode, operands);
@@ -18009,8 +18042,8 @@
})
(define_expand "movv4hi"
- [(set (match_operand:V4HI 0 "general_operand" "")
- (match_operand:V4HI 1 "general_operand" ""))]
+ [(set (match_operand:V4HI 0 "nonimmediate_operand" "")
+ (match_operand:V4HI 1 "nonimmediate_operand" ""))]
"TARGET_MMX"
{
ix86_expand_vector_move (V4HImode, operands);
@@ -18018,8 +18051,8 @@
})
(define_expand "movv8qi"
- [(set (match_operand:V8QI 0 "general_operand" "")
- (match_operand:V8QI 1 "general_operand" ""))]
+ [(set (match_operand:V8QI 0 "nonimmediate_operand" "")
+ (match_operand:V8QI 1 "nonimmediate_operand" ""))]
"TARGET_MMX"
{
ix86_expand_vector_move (V8QImode, operands);
@@ -18027,14 +18060,97 @@
})
(define_expand "movv2sf"
- [(set (match_operand:V2SF 0 "general_operand" "")
- (match_operand:V2SF 1 "general_operand" ""))]
+ [(set (match_operand:V2SF 0 "nonimmediate_operand" "")
+ (match_operand:V2SF 1 "nonimmediate_operand" ""))]
"TARGET_3DNOW"
{
ix86_expand_vector_move (V2SFmode, operands);
DONE;
})
+(define_insn "*pushv2df"
+ [(set (match_operand:V2DF 0 "push_operand" "=<")
+ (match_operand:V2DF 1 "register_operand" "x"))]
+ "TARGET_SSE"
+ "#")
+
+(define_insn "*pushv2di"
+ [(set (match_operand:V2DI 0 "push_operand" "=<")
+ (match_operand:V2DI 1 "register_operand" "x"))]
+ "TARGET_SSE2"
+ "#")
+
+(define_insn "*pushv8hi"
+ [(set (match_operand:V8HI 0 "push_operand" "=<")
+ (match_operand:V8HI 1 "register_operand" "x"))]
+ "TARGET_SSE2"
+ "#")
+
+(define_insn "*pushv16qi"
+ [(set (match_operand:V16QI 0 "push_operand" "=<")
+ (match_operand:V16QI 1 "register_operand" "x"))]
+ "TARGET_SSE2"
+ "#")
+
+(define_insn "*pushv4sf"
+ [(set (match_operand:V4SF 0 "push_operand" "=<")
+ (match_operand:V4SF 1 "register_operand" "x"))]
+ "TARGET_SSE"
+ "#")
+
+(define_insn "*pushv4si"
+ [(set (match_operand:V4SI 0 "push_operand" "=<")
+ (match_operand:V4SI 1 "register_operand" "x"))]
+ "TARGET_SSE2"
+ "#")
+
+(define_insn "*pushv2si"
+ [(set (match_operand:V2SI 0 "push_operand" "=<")
+ (match_operand:V2SI 1 "register_operand" "y"))]
+ "TARGET_MMX"
+ "#")
+
+(define_insn "*pushv4hi"
+ [(set (match_operand:V4HI 0 "push_operand" "=<")
+ (match_operand:V4HI 1 "register_operand" "y"))]
+ "TARGET_MMX"
+ "#")
+
+(define_insn "*pushv8qi"
+ [(set (match_operand:V8QI 0 "push_operand" "=<")
+ (match_operand:V8QI 1 "register_operand" "y"))]
+ "TARGET_MMX"
+ "#")
+
+(define_insn "*pushv2sf"
+ [(set (match_operand:V2SF 0 "push_operand" "=<")
+ (match_operand:V2SF 1 "register_operand" "y"))]
+ "TARGET_3DNOW"
+ "#")
+
+(define_split
+ [(set (match_operand 0 "push_operand" "")
+ (match_operand 1 "register_operand" ""))]
+ "!TARGET_64BIT && reload_completed
+ && (SSE_REG_P (operands[1]) || MMX_REG_P (operands[1]))"
+ [(set (reg:SI 7) (plus:SI (reg:SI 7) (match_dup 3)))
+ (set (match_dup 2) (match_dup 1))]
+ "operands[2] = change_address (operands[0], GET_MODE (operands[0]),
+ stack_pointer_rtx);
+ operands[3] = GEN_INT (-GET_MODE_SIZE (GET_MODE (operands[0])));")
+
+(define_split
+ [(set (match_operand 0 "push_operand" "")
+ (match_operand 1 "register_operand" ""))]
+ "TARGET_64BIT && reload_completed
+ && (SSE_REG_P (operands[1]) || MMX_REG_P (operands[1]))"
+ [(set (reg:DI 7) (plus:DI (reg:DI 7) (match_dup 3)))
+ (set (match_dup 2) (match_dup 1))]
+ "operands[2] = change_address (operands[0], GET_MODE (operands[0]),
+ stack_pointer_rtx);
+ operands[3] = GEN_INT (-GET_MODE_SIZE (GET_MODE (operands[0])));")
+
+
(define_insn_and_split "*pushti"
[(set (match_operand:TI 0 "push_operand" "=<")
(match_operand:TI 1 "nonmemory_operand" "x"))]
@@ -18158,8 +18274,9 @@
(define_insn "movti_internal"
[(set (match_operand:TI 0 "nonimmediate_operand" "=x,x,m")
- (match_operand:TI 1 "general_operand" "C,xm,x"))]
- "TARGET_SSE && !TARGET_64BIT"
+ (match_operand:TI 1 "vector_move_operand" "C,xm,x"))]
+ "TARGET_SSE && !TARGET_64BIT
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"@
xorps\t%0, %0
movaps\t{%1, %0|%0, %1}
@@ -18169,7 +18286,7 @@
(define_insn "*movti_rex64"
[(set (match_operand:TI 0 "nonimmediate_operand" "=r,o,x,mx,x")
- (match_operand:TI 1 "general_operand" "riFo,riF,O,x,m"))]
+ (match_operand:TI 1 "general_operand" "riFo,riF,C,x,m"))]
"TARGET_64BIT
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"@
@@ -18191,29 +18308,56 @@
;; These two patterns are useful for specifying exactly whether to use
;; movaps or movups
-(define_insn "sse_movaps"
+(define_expand "sse_movaps"
+ [(set (match_operand:V4SF 0 "nonimmediate_operand" "")
+ (unspec:V4SF [(match_operand:V4SF 1 "nonimmediate_operand" "")]
+ UNSPEC_MOVA))]
+ "TARGET_SSE"
+{
+ if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)
+ {
+ rtx tmp = gen_reg_rtx (V4SFmode);
+ emit_insn (gen_sse_movaps (tmp, operands[1]));
+ emit_move_insn (operands[0], tmp);
+ DONE;
+ }
+})
+
+(define_insn "*sse_movaps_1"
[(set (match_operand:V4SF 0 "nonimmediate_operand" "=x,m")
(unspec:V4SF [(match_operand:V4SF 1 "nonimmediate_operand" "xm,x")]
UNSPEC_MOVA))]
- "TARGET_SSE"
- "@
- movaps\t{%1, %0|%0, %1}
- movaps\t{%1, %0|%0, %1}"
+ "TARGET_SSE
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "movaps\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov,ssemov")
(set_attr "mode" "V4SF")])
-(define_insn "sse_movups"
+(define_expand "sse_movups"
+ [(set (match_operand:V4SF 0 "nonimmediate_operand" "")
+ (unspec:V4SF [(match_operand:V4SF 1 "nonimmediate_operand" "")]
+ UNSPEC_MOVU))]
+ "TARGET_SSE"
+{
+ if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)
+ {
+ rtx tmp = gen_reg_rtx (V4SFmode);
+ emit_insn (gen_sse_movups (tmp, operands[1]));
+ emit_move_insn (operands[0], tmp);
+ DONE;
+ }
+})
+
+(define_insn "*sse_movups_1"
[(set (match_operand:V4SF 0 "nonimmediate_operand" "=x,m")
(unspec:V4SF [(match_operand:V4SF 1 "nonimmediate_operand" "xm,x")]
UNSPEC_MOVU))]
- "TARGET_SSE"
- "@
- movups\t{%1, %0|%0, %1}
- movups\t{%1, %0|%0, %1}"
+ "TARGET_SSE
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "movups\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt,ssecvt")
(set_attr "mode" "V4SF")])
-
;; SSE Strange Moves.
(define_insn "sse_movmskps"
@@ -18329,11 +18473,21 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "V4SF")])
-(define_insn "sse_loadss"
+(define_expand "sse_loadss"
+ [(match_operand:V4SF 0 "register_operand" "")
+ (match_operand:SF 1 "memory_operand" "")]
+ "TARGET_SSE"
+{
+ emit_insn (gen_sse_loadss_1 (operands[0], operands[1],
+ CONST0_RTX (V4SFmode)));
+ DONE;
+})
+
+(define_insn "sse_loadss_1"
[(set (match_operand:V4SF 0 "register_operand" "=x")
(vec_merge:V4SF
- (match_operand:V4SF 1 "memory_operand" "m")
- (vec_duplicate:V4SF (float:SF (const_int 0)))
+ (vec_duplicate:V4SF (match_operand:SF 1 "memory_operand" "m"))
+ (match_operand:V4SF 2 "const0_operand" "X")
(const_int 1)))]
"TARGET_SSE"
"movss\t{%1, %0|%0, %1}"
@@ -18804,7 +18958,7 @@
(define_insn "sse2_nandv2di3"
[(set (match_operand:V2DI 0 "register_operand" "=x")
- (and:V2DI (not:V2DI (match_operand:V2DI 1 "nonimmediate_operand" "%0"))
+ (and:V2DI (not:V2DI (match_operand:V2DI 1 "nonimmediate_operand" "0"))
(match_operand:V2DI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2
&& (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
@@ -18908,7 +19062,7 @@
(match_operator:V4SI 3 "sse_comparison_operator"
[(match_operand:V4SF 1 "register_operand" "0")
(match_operand:V4SF 2 "register_operand" "x")])
- (match_dup 1)
+ (subreg:V4SI (match_dup 1) 0)
(const_int 1)))]
"TARGET_SSE"
"cmp%D3ss\t{%2, %0|%0, %2}"
@@ -19093,6 +19247,19 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "SF")])
+(define_insn "cvtsi2ssq"
+ [(set (match_operand:V4SF 0 "register_operand" "=x,x")
+ (vec_merge:V4SF
+ (match_operand:V4SF 1 "register_operand" "0,0")
+ (vec_duplicate:V4SF
+ (float:SF (match_operand:DI 2 "nonimmediate_operand" "r,rm")))
+ (const_int 14)))]
+ "TARGET_SSE && TARGET_64BIT"
+ "cvtsi2ssq\t{%2, %0|%0, %2}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "athlon_decode" "vector,vector")
+ (set_attr "mode" "SF")])
+
(define_insn "cvtss2si"
[(set (match_operand:SI 0 "register_operand" "=r")
(vec_select:SI
@@ -19103,6 +19270,17 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "SF")])
+(define_insn "cvtss2siq"
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (vec_select:DI
+ (fix:V4DI (match_operand:V4SF 1 "nonimmediate_operand" "x,m"))
+ (parallel [(const_int 0)])))]
+ "TARGET_SSE"
+ "cvtss2siq\t{%1, %0|%0, %1}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "athlon_decode" "vector,vector")
+ (set_attr "mode" "SF")])
+
(define_insn "cvttss2si"
[(set (match_operand:SI 0 "register_operand" "=r")
(vec_select:SI
@@ -19114,6 +19292,18 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "SF")])
+(define_insn "cvttss2siq"
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (vec_select:DI
+ (unspec:V4DI [(match_operand:V4SF 1 "nonimmediate_operand" "x,xm")]
+ UNSPEC_FIX)
+ (parallel [(const_int 0)])))]
+ "TARGET_SSE && TARGET_64BIT"
+ "cvttss2siq\t{%1, %0|%0, %1}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "mode" "SF")
+ (set_attr "athlon_decode" "vector,vector")])
+
;; MMX insns
@@ -19121,7 +19311,7 @@
(define_insn "addv8qi3"
[(set (match_operand:V8QI 0 "register_operand" "=y")
- (plus:V8QI (match_operand:V8QI 1 "register_operand" "0")
+ (plus:V8QI (match_operand:V8QI 1 "register_operand" "%0")
(match_operand:V8QI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddb\t{%2, %0|%0, %2}"
@@ -19130,7 +19320,7 @@
(define_insn "addv4hi3"
[(set (match_operand:V4HI 0 "register_operand" "=y")
- (plus:V4HI (match_operand:V4HI 1 "register_operand" "0")
+ (plus:V4HI (match_operand:V4HI 1 "register_operand" "%0")
(match_operand:V4HI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddw\t{%2, %0|%0, %2}"
@@ -19139,16 +19329,27 @@
(define_insn "addv2si3"
[(set (match_operand:V2SI 0 "register_operand" "=y")
- (plus:V2SI (match_operand:V2SI 1 "register_operand" "0")
+ (plus:V2SI (match_operand:V2SI 1 "register_operand" "%0")
(match_operand:V2SI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddd\t{%2, %0|%0, %2}"
[(set_attr "type" "mmxadd")
(set_attr "mode" "DI")])
+(define_insn "mmx_adddi3"
+ [(set (match_operand:DI 0 "register_operand" "=y")
+ (unspec:DI
+ [(plus:DI (match_operand:DI 1 "register_operand" "%0")
+ (match_operand:DI 2 "nonimmediate_operand" "ym"))]
+ UNSPEC_NOP))]
+ "TARGET_MMX"
+ "paddq\t{%2, %0|%0, %2}"
+ [(set_attr "type" "mmxadd")
+ (set_attr "mode" "DI")])
+
(define_insn "ssaddv8qi3"
[(set (match_operand:V8QI 0 "register_operand" "=y")
- (ss_plus:V8QI (match_operand:V8QI 1 "register_operand" "0")
+ (ss_plus:V8QI (match_operand:V8QI 1 "register_operand" "%0")
(match_operand:V8QI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddsb\t{%2, %0|%0, %2}"
@@ -19157,7 +19358,7 @@
(define_insn "ssaddv4hi3"
[(set (match_operand:V4HI 0 "register_operand" "=y")
- (ss_plus:V4HI (match_operand:V4HI 1 "register_operand" "0")
+ (ss_plus:V4HI (match_operand:V4HI 1 "register_operand" "%0")
(match_operand:V4HI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddsw\t{%2, %0|%0, %2}"
@@ -19166,7 +19367,7 @@
(define_insn "usaddv8qi3"
[(set (match_operand:V8QI 0 "register_operand" "=y")
- (us_plus:V8QI (match_operand:V8QI 1 "register_operand" "0")
+ (us_plus:V8QI (match_operand:V8QI 1 "register_operand" "%0")
(match_operand:V8QI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddusb\t{%2, %0|%0, %2}"
@@ -19175,7 +19376,7 @@
(define_insn "usaddv4hi3"
[(set (match_operand:V4HI 0 "register_operand" "=y")
- (us_plus:V4HI (match_operand:V4HI 1 "register_operand" "0")
+ (us_plus:V4HI (match_operand:V4HI 1 "register_operand" "%0")
(match_operand:V4HI 2 "nonimmediate_operand" "ym")))]
"TARGET_MMX"
"paddusw\t{%2, %0|%0, %2}"
@@ -19209,6 +19410,17 @@
[(set_attr "type" "mmxadd")
(set_attr "mode" "DI")])
+(define_insn "mmx_subdi3"
+ [(set (match_operand:DI 0 "register_operand" "=y")
+ (unspec:DI
+ [(minus:DI (match_operand:DI 1 "register_operand" "0")
+ (match_operand:DI 2 "nonimmediate_operand" "ym"))]
+ UNSPEC_NOP))]
+ "TARGET_MMX"
+ "psubq\t{%2, %0|%0, %2}"
+ [(set_attr "type" "mmxadd")
+ (set_attr "mode" "DI")])
+
(define_insn "sssubv8qi3"
[(set (match_operand:V8QI 0 "register_operand" "=y")
(ss_minus:V8QI (match_operand:V8QI 1 "register_operand" "0")
@@ -19312,7 +19524,7 @@
(define_insn "mmx_iordi3"
[(set (match_operand:DI 0 "register_operand" "=y")
(unspec:DI
- [(ior:DI (match_operand:DI 1 "register_operand" "0")
+ [(ior:DI (match_operand:DI 1 "register_operand" "%0")
(match_operand:DI 2 "nonimmediate_operand" "ym"))]
UNSPEC_NOP))]
"TARGET_MMX"
@@ -19323,7 +19535,7 @@
(define_insn "mmx_xordi3"
[(set (match_operand:DI 0 "register_operand" "=y")
(unspec:DI
- [(xor:DI (match_operand:DI 1 "register_operand" "0")
+ [(xor:DI (match_operand:DI 1 "register_operand" "%0")
(match_operand:DI 2 "nonimmediate_operand" "ym"))]
UNSPEC_NOP))]
"TARGET_MMX"
@@ -19346,7 +19558,7 @@
(define_insn "mmx_anddi3"
[(set (match_operand:DI 0 "register_operand" "=y")
(unspec:DI
- [(and:DI (match_operand:DI 1 "register_operand" "0")
+ [(and:DI (match_operand:DI 1 "register_operand" "%0")
(match_operand:DI 2 "nonimmediate_operand" "ym"))]
UNSPEC_NOP))]
"TARGET_MMX"
@@ -19805,17 +20017,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"
@@ -20471,7 +20683,7 @@
(match_operator:V2DI 3 "sse_comparison_operator"
[(match_operand:V2DF 1 "register_operand" "0")
(match_operand:V2DF 2 "nonimmediate_operand" "x")])
- (match_dup 1)
+ (subreg:V2DI (match_dup 1) 0)
(const_int 1)))]
"TARGET_SSE2"
"cmp%D3sd\t{%2, %0|%0, %2}"
@@ -20692,6 +20904,15 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "SI")])
+(define_insn "cvtsd2siq"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+ (fix:DI (vec_select:DF (match_operand:V2DF 1 "register_operand" "xm")
+ (parallel [(const_int 0)]))))]
+ "TARGET_SSE2 && TARGET_64BIT"
+ "cvtsd2siq\t{%1, %0|%0, %1}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "mode" "SI")])
+
(define_insn "cvttsd2si"
[(set (match_operand:SI 0 "register_operand" "=r")
(unspec:SI [(vec_select:DF (match_operand:V2DF 1 "register_operand" "xm")
@@ -20701,6 +20922,16 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "SI")])
+(define_insn "cvttsd2siq"
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (unspec:DI [(vec_select:DF (match_operand:V2DF 1 "register_operand" "x,xm")
+ (parallel [(const_int 0)]))] UNSPEC_FIX))]
+ "TARGET_SSE2 && TARGET_64BIT"
+ "cvttsd2siq\t{%1, %0|%0, %1}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "mode" "DI")
+ (set_attr "athlon_decode" "vector,vector")])
+
(define_insn "cvtsi2sd"
[(set (match_operand:V2DF 0 "register_operand" "=x")
(vec_merge:V2DF (match_operand:V2DF 1 "register_operand" "0")
@@ -20713,6 +20944,19 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "DF")])
+(define_insn "cvtsi2sdq"
+ [(set (match_operand:V2DF 0 "register_operand" "=x,x")
+ (vec_merge:V2DF (match_operand:V2DF 1 "register_operand" "0,0")
+ (vec_duplicate:V2DF
+ (float:DF
+ (match_operand:DI 2 "nonimmediate_operand" "r,rm")))
+ (const_int 2)))]
+ "TARGET_SSE2 && TARGET_64BIT"
+ "cvtsi2sdq\t{%2, %0|%0, %2}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "mode" "DF")
+ (set_attr "athlon_decode" "vector,direct")])
+
;; Conversions between SF and DF
(define_insn "cvtsd2ss"
@@ -20770,7 +21014,7 @@
(define_insn "addv16qi3"
[(set (match_operand:V16QI 0 "register_operand" "=x")
- (plus:V16QI (match_operand:V16QI 1 "register_operand" "0")
+ (plus:V16QI (match_operand:V16QI 1 "register_operand" "%0")
(match_operand:V16QI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddb\t{%2, %0|%0, %2}"
@@ -20779,7 +21023,7 @@
(define_insn "addv8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x")
- (plus:V8HI (match_operand:V8HI 1 "register_operand" "0")
+ (plus:V8HI (match_operand:V8HI 1 "register_operand" "%0")
(match_operand:V8HI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddw\t{%2, %0|%0, %2}"
@@ -20788,7 +21032,7 @@
(define_insn "addv4si3"
[(set (match_operand:V4SI 0 "register_operand" "=x")
- (plus:V4SI (match_operand:V4SI 1 "register_operand" "0")
+ (plus:V4SI (match_operand:V4SI 1 "register_operand" "%0")
(match_operand:V4SI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddd\t{%2, %0|%0, %2}"
@@ -20797,7 +21041,7 @@
(define_insn "addv2di3"
[(set (match_operand:V2DI 0 "register_operand" "=x")
- (plus:V2DI (match_operand:V2DI 1 "register_operand" "0")
+ (plus:V2DI (match_operand:V2DI 1 "register_operand" "%0")
(match_operand:V2DI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddq\t{%2, %0|%0, %2}"
@@ -20806,7 +21050,7 @@
(define_insn "ssaddv16qi3"
[(set (match_operand:V16QI 0 "register_operand" "=x")
- (ss_plus:V16QI (match_operand:V16QI 1 "register_operand" "0")
+ (ss_plus:V16QI (match_operand:V16QI 1 "register_operand" "%0")
(match_operand:V16QI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddsb\t{%2, %0|%0, %2}"
@@ -20815,7 +21059,7 @@
(define_insn "ssaddv8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x")
- (ss_plus:V8HI (match_operand:V8HI 1 "register_operand" "0")
+ (ss_plus:V8HI (match_operand:V8HI 1 "register_operand" "%0")
(match_operand:V8HI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddsw\t{%2, %0|%0, %2}"
@@ -20824,7 +21068,7 @@
(define_insn "usaddv16qi3"
[(set (match_operand:V16QI 0 "register_operand" "=x")
- (us_plus:V16QI (match_operand:V16QI 1 "register_operand" "0")
+ (us_plus:V16QI (match_operand:V16QI 1 "register_operand" "%0")
(match_operand:V16QI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddusb\t{%2, %0|%0, %2}"
@@ -20833,7 +21077,7 @@
(define_insn "usaddv8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x")
- (us_plus:V8HI (match_operand:V8HI 1 "register_operand" "0")
+ (us_plus:V8HI (match_operand:V8HI 1 "register_operand" "%0")
(match_operand:V8HI 2 "nonimmediate_operand" "xm")))]
"TARGET_SSE2"
"paddusw\t{%2, %0|%0, %2}"
@@ -21069,7 +21313,8 @@
[(set (match_operand:V8HI 0 "register_operand" "=x")
(vec_merge:V8HI (match_operand:V8HI 1 "register_operand" "0")
(vec_duplicate:V8HI
- (match_operand:SI 2 "nonimmediate_operand" "rm"))
+ (truncate:HI
+ (match_operand:SI 2 "nonimmediate_operand" "rm")))
(match_operand:SI 3 "immediate_operand" "i")))]
"TARGET_SSE2"
"pinsrw\t{%3, %2, %0|%0, %2, %3}"
@@ -21218,7 +21463,7 @@
(define_insn "ashrv8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x")
(ashiftrt:V8HI (match_operand:V8HI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psraw\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21227,7 +21472,7 @@
(define_insn "ashrv4si3"
[(set (match_operand:V4SI 0 "register_operand" "=x")
(ashiftrt:V4SI (match_operand:V4SI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psrad\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21236,7 +21481,7 @@
(define_insn "lshrv8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x")
(lshiftrt:V8HI (match_operand:V8HI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psrlw\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21245,7 +21490,7 @@
(define_insn "lshrv4si3"
[(set (match_operand:V4SI 0 "register_operand" "=x")
(lshiftrt:V4SI (match_operand:V4SI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psrld\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21254,7 +21499,7 @@
(define_insn "lshrv2di3"
[(set (match_operand:V2DI 0 "register_operand" "=x")
(lshiftrt:V2DI (match_operand:V2DI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psrlq\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21263,7 +21508,7 @@
(define_insn "ashlv8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x")
(ashift:V8HI (match_operand:V8HI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psllw\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21272,7 +21517,7 @@
(define_insn "ashlv4si3"
[(set (match_operand:V4SI 0 "register_operand" "=x")
(ashift:V4SI (match_operand:V4SI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"pslld\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21281,7 +21526,7 @@
(define_insn "ashlv2di3"
[(set (match_operand:V2DI 0 "register_operand" "=x")
(ashift:V2DI (match_operand:V2DI 1 "register_operand" "0")
- (match_operand:SI 2 "nonmemory_operand" "xi")))]
+ (match_operand:TI 2 "nonmemory_operand" "xi")))]
"TARGET_SSE2"
"psllq\t{%2, %0|%0, %2}"
[(set_attr "type" "sseishft")
@@ -21595,45 +21840,41 @@
(define_insn "sse2_movapd"
[(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,m")
- (unspec:V2DF [(match_operand:V2DF 1 "general_operand" "xm,x")]
+ (unspec:V2DF [(match_operand:V2DF 1 "nonimmediate_operand" "xm,x")]
UNSPEC_MOVA))]
- "TARGET_SSE2"
- "@
- movapd\t{%1, %0|%0, %1}
- movapd\t{%1, %0|%0, %1}"
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "movapd\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "V2DF")])
(define_insn "sse2_movupd"
[(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,m")
- (unspec:V2DF [(match_operand:V2DF 1 "general_operand" "xm,x")]
+ (unspec:V2DF [(match_operand:V2DF 1 "nonimmediate_operand" "xm,x")]
UNSPEC_MOVU))]
- "TARGET_SSE2"
- "@
- movupd\t{%1, %0|%0, %1}
- movupd\t{%1, %0|%0, %1}"
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "movupd\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(set_attr "mode" "V2DF")])
(define_insn "sse2_movdqa"
[(set (match_operand:V16QI 0 "nonimmediate_operand" "=x,m")
- (unspec:V16QI [(match_operand:V16QI 1 "general_operand" "xm,x")]
+ (unspec:V16QI [(match_operand:V16QI 1 "nonimmediate_operand" "xm,x")]
UNSPEC_MOVA))]
- "TARGET_SSE2"
- "@
- movdqa\t{%1, %0|%0, %1}
- movdqa\t{%1, %0|%0, %1}"
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "movdqa\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "mode" "TI")])
(define_insn "sse2_movdqu"
[(set (match_operand:V16QI 0 "nonimmediate_operand" "=x,m")
- (unspec:V16QI [(match_operand:V16QI 1 "general_operand" "xm,x")]
+ (unspec:V16QI [(match_operand:V16QI 1 "nonimmediate_operand" "xm,x")]
UNSPEC_MOVU))]
- "TARGET_SSE2"
- "@
- movdqu\t{%1, %0|%0, %1}
- movdqu\t{%1, %0|%0, %1}"
+ "TARGET_SSE2
+ && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
+ "movdqu\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(set_attr "mode" "TI")])
@@ -21641,24 +21882,48 @@
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,y")
(vec_select:DI (match_operand:V2DI 1 "register_operand" "x,x")
(parallel [(const_int 0)])))]
- "TARGET_SSE2"
+ "TARGET_SSE2 && !TARGET_64BIT"
"@
movq\t{%1, %0|%0, %1}
movdq2q\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt")
(set_attr "mode" "TI")])
+(define_insn "sse2_movdq2q_rex64"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=m,y,r")
+ (vec_select:DI (match_operand:V2DI 1 "register_operand" "x,x,x")
+ (parallel [(const_int 0)])))]
+ "TARGET_SSE2 && TARGET_64BIT"
+ "@
+ movq\t{%1, %0|%0, %1}
+ movdq2q\t{%1, %0|%0, %1}
+ movd\t{%1, %0|%0, %1}"
+ [(set_attr "type" "ssecvt")
+ (set_attr "mode" "TI")])
+
(define_insn "sse2_movq2dq"
[(set (match_operand:V2DI 0 "register_operand" "=x,?x")
(vec_concat:V2DI (match_operand:DI 1 "nonimmediate_operand" "m,y")
(const_int 0)))]
- "TARGET_SSE2"
+ "TARGET_SSE2 && !TARGET_64BIT"
"@
movq\t{%1, %0|%0, %1}
movq2dq\t{%1, %0|%0, %1}"
[(set_attr "type" "ssecvt,ssemov")
(set_attr "mode" "TI")])
+(define_insn "sse2_movq2dq_rex64"
+ [(set (match_operand:V2DI 0 "register_operand" "=x,?x,?x")
+ (vec_concat:V2DI (match_operand:DI 1 "nonimmediate_operand" "m,y,r")
+ (const_int 0)))]
+ "TARGET_SSE2 && TARGET_64BIT"
+ "@
+ movq\t{%1, %0|%0, %1}
+ movq2dq\t{%1, %0|%0, %1}
+ movd\t{%1, %0|%0, %1}"
+ [(set_attr "type" "ssecvt,ssemov,ssecvt")
+ (set_attr "mode" "TI")])
+
(define_insn "sse2_movq"
[(set (match_operand:V2DI 0 "register_operand" "=x")
(vec_concat:V2DI (vec_select:DI
@@ -21673,7 +21938,7 @@
(define_insn "sse2_loadd"
[(set (match_operand:V4SI 0 "register_operand" "=x")
(vec_merge:V4SI
- (vec_duplicate:V4HI (match_operand:SI 1 "nonimmediate_operand" "mr"))
+ (vec_duplicate:V4SI (match_operand:SI 1 "nonimmediate_operand" "mr"))
(const_vector:V4SI [(const_int 0)
(const_int 0)
(const_int 0)
@@ -21716,11 +21981,21 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "V2DF")])
-(define_insn "sse2_loadsd"
+(define_expand "sse2_loadsd"
+ [(match_operand:V2DF 0 "register_operand" "")
+ (match_operand:DF 1 "memory_operand" "")]
+ "TARGET_SSE2"
+{
+ emit_insn (gen_sse2_loadsd_1 (operands[0], operands[1],
+ CONST0_RTX (V2DFmode)));
+ DONE;
+})
+
+(define_insn "sse2_loadsd_1"
[(set (match_operand:V2DF 0 "register_operand" "=x")
(vec_merge:V2DF
- (match_operand:DF 1 "memory_operand" "m")
- (vec_duplicate:DF (float:DF (const_int 0)))
+ (vec_duplicate:V2DF (match_operand:DF 1 "memory_operand" "m"))
+ (match_operand:V2DF 2 "const0_operand" "X")
(const_int 1)))]
"TARGET_SSE2"
"movsd\t{%1, %0|%0, %1}"
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
index ae346e6d518..7a9e0ba989f 100644
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -1,5 +1,5 @@
/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
This file is part of GNU CC.
@@ -36,6 +36,11 @@ Boston, MA 02111-1307, USA. */
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} \
+ if (TARGET_64BIT) \
+ { \
+ builtin_define ("__LP64__"); \
+ builtin_define ("_LP64"); \
+ } \
} \
while (0)
@@ -116,17 +121,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 +148,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/mingw32.h b/gcc/config/i386/mingw32.h
index e7c5e8b6bcc..7f62fbd5624 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -1,6 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using GNU tools and the Windows32 API Library.
- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -89,7 +90,7 @@ Boston, MA 02111-1307, USA. */
/* Include in the mingw32 libraries with libgcc */
#undef LIBGCC_SPEC
#define LIBGCC_SPEC \
- "%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lmoldname -lmsvcrt"
+ "%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt"
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{shared|mdll:dllcrt2%O%s} \
diff --git a/gcc/config/i386/mmintrin.h b/gcc/config/i386/mmintrin.h
index 52e5195fbaf..7b4aa014645 100644
--- a/gcc/config/i386/mmintrin.h
+++ b/gcc/config/i386/mmintrin.h
@@ -56,6 +56,22 @@ _mm_cvtsi32_si64 (int __i)
return (__m64) __tmp;
}
+#ifdef __x86_64__
+/* Convert I to a __m64 object. */
+static __inline __m64
+_mm_cvtsi64x_si64 (long long __i)
+{
+ return (__m64) __i;
+}
+
+/* Convert I to a __m64 object. */
+static __inline __m64
+_mm_set_pi64x (long long __i)
+{
+ return (__m64) __i;
+}
+#endif
+
/* Convert the lower 32 bits of the __m64 object into an integer. */
static __inline int
_mm_cvtsi64_si32 (__m64 __i)
@@ -64,6 +80,15 @@ _mm_cvtsi64_si32 (__m64 __i)
return __tmp;
}
+#ifdef __x86_64__
+/* Convert the lower 32 bits of the __m64 object into an integer. */
+static __inline long long
+_mm_cvtsi64_si64x (__m64 __i)
+{
+ return (long long)__i;
+}
+#endif
+
/* Pack the four 16-bit values from M1 into the lower four 8-bit values of
the result, and the four 16-bit values from M2 into the upper four 8-bit
values of the result, all with signed saturation. */
@@ -160,6 +185,13 @@ _mm_add_pi32 (__m64 __m1, __m64 __m2)
return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2);
}
+/* Add the 64-bit values in M1 to the 64-bit values in M2. */
+static __inline __m64
+_mm_add_si64 (__m64 __m1, __m64 __m2)
+{
+ return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2);
+}
+
/* Add the 8-bit values in M1 to the 8-bit values in M2 using signed
saturated arithmetic. */
static __inline __m64
@@ -213,6 +245,13 @@ _mm_sub_pi32 (__m64 __m1, __m64 __m2)
return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2);
}
+/* Add the 64-bit values in M1 to the 64-bit values in M2. */
+static __inline __m64
+_mm_sub_si64 (__m64 __m1, __m64 __m2)
+{
+ return (__m64) __builtin_ia32_psubq ((long long)__m1, (long long)__m2);
+}
+
/* Subtract the 8-bit values in M2 from the 8-bit values in M1 using signed
saturating arithmetic. */
static __inline __m64
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/t-sco5gas b/gcc/config/i386/t-sco5gas
index 2d0b48a6292..edeb554eea0 100644
--- a/gcc/config/i386/t-sco5gas
+++ b/gcc/config/i386/t-sco5gas
@@ -1,6 +1,6 @@
# The pushl in CTOR initialization interferes with frame pointer elimination.
CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer
-CRTSTUFF_T_CFLAGS_S = -mcoff -fno-omit-frame-pointer
+CRTSTUFF_T_CFLAGS_S = -fno-omit-frame-pointer
#
# I am still a little unsure of the multilib architecture. The following
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..43a05c1a6ee 100644
--- a/gcc/config/i386/xmmintrin.h
+++ b/gcc/config/i386/xmmintrin.h
@@ -475,6 +475,16 @@ _mm_cvtss_si32 (__m128 __A)
return __builtin_ia32_cvtss2si ((__v4sf) __A);
}
+#ifdef __x86_64__
+/* Convert the lower SPFP value to a 32-bit integer according to the current
+ rounding mode. */
+static __inline long long
+_mm_cvtss_si64x (__m128 __A)
+{
+ return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
+}
+#endif
+
/* Convert the two lower SPFP values to 32-bit integers according to the
current rounding mode. Return the integers in packed form. */
static __inline __m64
@@ -490,6 +500,15 @@ _mm_cvttss_si32 (__m128 __A)
return __builtin_ia32_cvttss2si ((__v4sf) __A);
}
+#ifdef __x86_64__
+/* Truncate the lower SPFP value to a 32-bit integer. */
+static __inline long long
+_mm_cvttss_si64x (__m128 __A)
+{
+ return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
+}
+#endif
+
/* Truncate the two lower SPFP values to 32-bit integers. Return the
integers in packed form. */
static __inline __m64
@@ -505,6 +524,15 @@ _mm_cvtsi32_ss (__m128 __A, int __B)
return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf) __A, __B);
}
+#ifdef __x86_64__
+/* Convert B to a SPFP value and insert it as element zero in A. */
+static __inline __m128
+_mm_cvtsi64x_ss (__m128 __A, long long __B)
+{
+ return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
+}
+#endif
+
/* Convert the two 32-bit values in B to SPFP form and insert them
as the two lower elements in A. */
static __inline __m128
@@ -1586,13 +1614,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 +1632,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
@@ -1619,6 +1647,12 @@ _mm_storel_epi64 (__m128i *__P, __m128i __B)
*(long long *)__P = __builtin_ia32_movdq2q ((__v2di)__B);
}
+static __inline __m64
+_mm_movepi64_pi64 (__m128i __B)
+{
+ return (__m64) __builtin_ia32_movdq2q ((__v2di)__B);
+}
+
static __inline __m128i
_mm_move_epi64 (__m128i __A)
{
@@ -1656,6 +1690,24 @@ _mm_set_epi32 (int __Z, int __Y, int __X, int __W)
return __u.__v;
}
+
+#ifdef __x86_64__
+/* Create the vector [Z Y]. */
+static __inline __m128i
+_mm_set_epi64x (long long __Z, long long __Y)
+{
+ union {
+ long __a[2];
+ __m128i __v;
+ } __u;
+
+ __u.__a[0] = __Y;
+ __u.__a[1] = __Z;
+
+ return __u.__v;
+}
+#endif
+
/* Create the vector [S T U V Z Y X W]. */
static __inline __m128i
_mm_set_epi16 (short __Z, short __Y, short __X, short __W,
@@ -1724,6 +1776,15 @@ _mm_set1_epi32 (int __A)
return (__m128i) __builtin_ia32_pshufd ((__v4si)__tmp, _MM_SHUFFLE (0,0,0,0));
}
+#ifdef __x86_64__
+static __inline __m128i
+_mm_set1_epi64x (long long __A)
+{
+ __v2di __tmp = (__v2di)__builtin_ia32_movq2dq ((unsigned long long)__A);
+ return (__m128i) __builtin_ia32_shufpd ((__v2df)__tmp, (__v2df)__tmp, _MM_SHUFFLE2 (0,0));
+}
+#endif
+
static __inline __m128i
_mm_set1_epi16 (short __A)
{
@@ -1893,12 +1954,28 @@ _mm_cvtsd_si32 (__m128d __A)
return __builtin_ia32_cvtsd2si ((__v2df) __A);
}
+#ifdef __x86_64__
+static __inline long long
+_mm_cvtsd_si64x (__m128d __A)
+{
+ return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
+}
+#endif
+
static __inline int
_mm_cvttsd_si32 (__m128d __A)
{
return __builtin_ia32_cvttsd2si ((__v2df) __A);
}
+#ifdef __x86_64__
+static __inline long long
+_mm_cvttsd_si64x (__m128d __A)
+{
+ return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
+}
+#endif
+
static __inline __m128
_mm_cvtsd_ss (__m128 __A, __m128d __B)
{
@@ -1911,6 +1988,14 @@ _mm_cvtsi32_sd (__m128d __A, int __B)
return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);
}
+#ifdef __x86_64__
+static __inline __m128d
+_mm_cvtsi64x_sd (__m128d __A, long long __B)
+{
+ return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
+}
+#endif
+
static __inline __m128d
_mm_cvtss_sd (__m128d __A, __m128 __B)
{
@@ -2048,7 +2133,7 @@ _mm_add_epi32 (__m128i __A, __m128i __B)
static __inline __m128i
_mm_add_epi64 (__m128i __A, __m128i __B)
{
- return (__m128i)__builtin_ia32_paddq128 ((__v4si)__A, (__v4si)__B);
+ return (__m128i)__builtin_ia32_paddq128 ((__v2di)__A, (__v2di)__B);
}
static __inline __m128i
@@ -2096,7 +2181,7 @@ _mm_sub_epi32 (__m128i __A, __m128i __B)
static __inline __m128i
_mm_sub_epi64 (__m128i __A, __m128i __B)
{
- return (__m128i)__builtin_ia32_psubq128 ((__v4si)__A, (__v4si)__B);
+ return (__m128i)__builtin_ia32_psubq128 ((__v2di)__A, (__v2di)__B);
}
static __inline __m128i
@@ -2142,7 +2227,7 @@ _mm_mullo_epi16 (__m128i __A, __m128i __B)
}
static __inline __m64
-_mm_mul_pu16 (__m64 __A, __m64 __B)
+_mm_mul_su32 (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B);
}
@@ -2459,6 +2544,14 @@ _mm_cvtsi32_si128 (int __A)
return (__m128i) __builtin_ia32_loadd (&__A);
}
+#ifdef __x86_64__
+static __inline __m128i
+_mm_cvtsi64x_si128 (long long __A)
+{
+ return (__m128i) __builtin_ia32_movq2dq (__A);
+}
+#endif
+
static __inline int
_mm_cvtsi128_si32 (__m128i __A)
{
@@ -2467,6 +2560,14 @@ _mm_cvtsi128_si32 (__m128i __A)
return __tmp;
}
+#ifdef __x86_64__
+static __inline long long
+_mm_cvtsi128_si64x (__m128i __A)
+{
+ return __builtin_ia32_movdq2q ((__v2di)__A);
+}
+#endif
+
#endif /* __SSE2__ */
#endif /* __SSE__ */
diff --git a/gcc/config/ia64/aix.h b/gcc/config/ia64/aix.h
index c9dca9c4f12..5eb2334cb6a 100644
--- a/gcc/config/ia64/aix.h
+++ b/gcc/config/ia64/aix.h
@@ -134,12 +134,14 @@ do { \
#define STANDARD_STARTFILE_PREFIX "/usr/lib/ia64l64/"
#endif
+/* It is illegal to have relocations in shared segments on AIX.
+ Pretend flag_pic is always set. */
#undef TARGET_ASM_SELECT_SECTION
-#define TARGET_ASM_SELECT_SECTION ia64_aix_select_section
+#define TARGET_ASM_SELECT_SECTION ia64_rwreloc_select_section
#undef TARGET_ASM_UNIQUE_SECTION
-#define TARGET_ASM_UNIQUE_SECTION ia64_aix_unique_section
+#define TARGET_ASM_UNIQUE_SECTION ia64_rwreloc_unique_section
#undef TARGET_ASM_SELECT_RTX_SECTION
-#define TARGET_ASM_SELECT_RTX_SECTION ia64_aix_select_rtx_section
+#define TARGET_ASM_SELECT_RTX_SECTION ia64_rwreloc_select_rtx_section
/* Override ia64/sysv4.h setting with that used by AIX5. */
#undef WCHAR_TYPE
diff --git a/gcc/config/ia64/crtbegin.asm b/gcc/config/ia64/crtbegin.asm
index 75ffc3d906c..cb49e10bc56 100644
--- a/gcc/config/ia64/crtbegin.asm
+++ b/gcc/config/ia64/crtbegin.asm
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch>
The GNU C Library is free software; you can redistribute it and/or
@@ -61,6 +61,7 @@ __dso_handle:
.section .init_array,"a","progbits"
data8 @fptr(__do_jv_register_classes)
+ data8 @fptr(__do_global_ctors_aux)
#else /* !HAVE_INITFINI_ARRAY */
/*
diff --git a/gcc/config/ia64/crtend.asm b/gcc/config/ia64/crtend.asm
index 17c3be41d89..303f30cbce8 100644
--- a/gcc/config/ia64/crtend.asm
+++ b/gcc/config/ia64/crtend.asm
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch>
The GNU C Library is free software; you can redistribute it and/or
@@ -33,12 +33,7 @@ __DTOR_END__:
__JCR_END__:
data8 0
-#ifdef HAVE_INITFINI_ARRAY
-
-.section .init_array,"a","progbits"
- data8 @fptr(__do_global_ctors_aux)
-
-#else /* !HAVE_INITFINI_ARRAY */
+#ifndef HAVE_INITFINI_ARRAY
/*
* Fragment of the ELF _init routine that invokes our dtor cleanup.
*
@@ -71,6 +66,12 @@ __JCR_END__:
.text
.align 16
+#ifdef HAVE_INITFINI_ARRAY
+ /* This is referenced from crtbegin.o. */
+ .globl __do_global_ctors_aux#
+ .type __do_global_ctors_aux#,@function
+ .hidden __do_global_ctors_aux#
+#endif
.proc __do_global_ctors_aux#
__do_global_ctors_aux:
/*
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index 1e6f699835b..56c601b4cde 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -57,12 +57,6 @@ do { \
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{!shared:%{static:crt0%O%s}}"
-#ifndef CROSS_COMPILE
-#define STARTFILE_PREFIX_SPEC \
- "%{mlp64: /usr/ccs/lib/hpux64/} \
- %{!mlp64: /usr/ccs/lib/hpux32/}"
-#endif
-
#undef LINK_SPEC
#define LINK_SPEC \
"+Accept TypeMismatch \
@@ -167,3 +161,14 @@ do { \
#undef TEXT_SECTION_ASM_OP
#define TEXT_SECTION_ASM_OP "\t.section\t.text,\t\"ax\",\t\"progbits\""
+
+/* It is illegal to have relocations in shared segments on HPUX.
+ Pretend flag_pic is always set. */
+#undef TARGET_ASM_SELECT_SECTION
+#define TARGET_ASM_SELECT_SECTION ia64_rwreloc_select_section
+#undef TARGET_ASM_UNIQUE_SECTION
+#define TARGET_ASM_UNIQUE_SECTION ia64_rwreloc_unique_section
+#undef TARGET_ASM_SELECT_RTX_SECTION
+#define TARGET_ASM_SELECT_RTX_SECTION ia64_rwreloc_select_rtx_section
+#undef TARGET_SECTION_TYPE_FLAGS
+#define TARGET_SECTION_TYPE_FLAGS ia64_rwreloc_section_type_flags
diff --git a/gcc/config/ia64/ia64-c.c b/gcc/config/ia64/ia64-c.c
index c19a5860532..e44c80b25a5 100644
--- a/gcc/config/ia64/ia64-c.c
+++ b/gcc/config/ia64/ia64-c.c
@@ -26,6 +26,7 @@ Boston, MA 02111-1307, USA. */
#include "c-common.h"
#include "c-pragma.h"
#include "toplev.h"
+#include "tm_p.h"
static void ia64_hpux_add_pragma_builtin PARAMS ((tree func));
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 36af17aa70a..72c2279cb04 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -72,12 +72,14 @@ extern int basereg_operand PARAMS((rtx, enum machine_mode));
extern rtx ia64_expand_move PARAMS ((rtx, rtx));
extern int ia64_move_ok PARAMS((rtx, rtx));
+extern int addp4_optimize_ok PARAMS((rtx, rtx));
extern int ia64_depz_field_mask PARAMS((rtx, rtx));
-extern rtx ia64_gp_save_reg PARAMS((int));
extern rtx ia64_split_timode PARAMS((rtx[], rtx, rtx));
extern rtx spill_tfmode_operand PARAMS((rtx, int));
extern rtx ia64_expand_compare PARAMS((enum rtx_code, enum machine_mode));
extern void ia64_expand_call PARAMS((rtx, rtx, rtx, int));
+extern void ia64_split_call PARAMS((rtx, rtx, rtx, rtx, rtx, int, int));
+extern void ia64_reload_gp PARAMS((void));
extern HOST_WIDE_INT ia64_initial_elimination_offset PARAMS((int, int));
extern void ia64_expand_prologue PARAMS((void));
@@ -131,6 +133,7 @@ extern void emit_safe_across_calls PARAMS((FILE *));
extern void ia64_init_builtins PARAMS((void));
extern void ia64_override_options PARAMS((void));
extern int ia64_dbx_register_number PARAMS((int));
+extern bool ia64_function_ok_for_sibcall PARAMS ((tree));
#ifdef SDATA_SECTION_ASM_OP
extern void sdata_section PARAMS ((void));
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 10f06665999..a8b13f944f1 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler.
- Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>.
@@ -45,6 +45,7 @@ Boston, MA 02111-1307, USA. */
#include "target.h"
#include "target-def.h"
#include "tm_p.h"
+#include "langhooks.h"
/* This is used for communication between ASM_OUTPUT_LABEL and
ASM_OUTPUT_LABELREF. */
@@ -109,6 +110,39 @@ static int ia64_flag_schedule_insns2;
sections. */
unsigned int ia64_section_threshold;
+
+/* Structure to be filled in by ia64_compute_frame_size with register
+ save masks and offsets for the current function. */
+
+struct ia64_frame_info
+{
+ HOST_WIDE_INT total_size; /* size of the stack frame, not including
+ the caller's scratch area. */
+ HOST_WIDE_INT spill_cfa_off; /* top of the reg spill area from the cfa. */
+ HOST_WIDE_INT spill_size; /* size of the gr/br/fr spill area. */
+ HOST_WIDE_INT extra_spill_size; /* size of spill area for others. */
+ HARD_REG_SET mask; /* mask of saved registers. */
+ unsigned int gr_used_mask; /* mask of registers in use as gr spill
+ registers or long-term scratches. */
+ int n_spilled; /* number of spilled registers. */
+ int reg_fp; /* register for fp. */
+ int reg_save_b0; /* save register for b0. */
+ int reg_save_pr; /* save register for prs. */
+ int reg_save_ar_pfs; /* save register for ar.pfs. */
+ int reg_save_ar_unat; /* save register for ar.unat. */
+ int reg_save_ar_lc; /* save register for ar.lc. */
+ int reg_save_gp; /* save register for gp. */
+ int n_input_regs; /* number of input registers used. */
+ int n_local_regs; /* number of local registers used. */
+ int n_output_regs; /* number of output registers used. */
+ int n_rotate_regs; /* number of rotating registers used. */
+
+ char need_regstk; /* true if a .regstk directive needed. */
+ char initialized; /* true if the data is finalized. */
+};
+
+/* Current frame information calculated by ia64_compute_frame_size. */
+static struct ia64_frame_info current_frame_info;
static rtx gen_tls_get_addr PARAMS ((void));
static rtx gen_thread_pointer PARAMS ((void));
@@ -166,13 +200,16 @@ static void ia64_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT,
static void ia64_select_rtx_section PARAMS ((enum machine_mode, rtx,
unsigned HOST_WIDE_INT));
-static void ia64_aix_select_section PARAMS ((tree, int,
- unsigned HOST_WIDE_INT))
+static void ia64_rwreloc_select_section PARAMS ((tree, int,
+ unsigned HOST_WIDE_INT))
ATTRIBUTE_UNUSED;
-static void ia64_aix_unique_section PARAMS ((tree, int))
+static void ia64_rwreloc_unique_section PARAMS ((tree, int))
ATTRIBUTE_UNUSED;
-static void ia64_aix_select_rtx_section PARAMS ((enum machine_mode, rtx,
- unsigned HOST_WIDE_INT))
+static void ia64_rwreloc_select_rtx_section PARAMS ((enum machine_mode, rtx,
+ unsigned HOST_WIDE_INT))
+ ATTRIBUTE_UNUSED;
+static unsigned int ia64_rwreloc_section_type_flags
+ PARAMS ((tree, const char *, int))
ATTRIBUTE_UNUSED;
static void ia64_hpux_add_extern_decl PARAMS ((const char *name))
@@ -974,6 +1011,21 @@ ia64_move_ok (dst, src)
return GET_CODE (src) == CONST_DOUBLE && CONST_DOUBLE_OK_FOR_G (src);
}
+/* Return 0 if we are doing C++ code. This optimization fails with
+ C++ because of GNAT c++/6685. */
+
+int
+addp4_optimize_ok (op1, op2)
+ rtx op1, op2;
+{
+
+ if (!strcmp (lang_hooks.name, "GNU C++"))
+ return 0;
+
+ return (basereg_operand (op1, GET_MODE(op1)) !=
+ basereg_operand (op2, GET_MODE(op2)));
+}
+
/* Check if OP is a mask suitible for use with SHIFT in a dep.z instruction.
Return the length of the field, or <= 0 on failure. */
@@ -1246,46 +1298,6 @@ ia64_expand_move (op0, op1)
return op1;
}
-rtx
-ia64_gp_save_reg (setjmp_p)
- int setjmp_p;
-{
- rtx save = cfun->machine->ia64_gp_save;
-
- if (save != NULL)
- {
- /* We can't save GP in a pseudo if we are calling setjmp, because
- pseudos won't be restored by longjmp. For now, we save it in r4. */
- /* ??? It would be more efficient to save this directly into a stack
- slot. Unfortunately, the stack slot address gets cse'd across
- the setjmp call because the NOTE_INSN_SETJMP note is in the wrong
- place. */
-
- /* ??? Get the barf bag, Virginia. We've got to replace this thing
- in place, since this rtx is used in exception handling receivers.
- Moreover, we must get this rtx out of regno_reg_rtx or reload
- will do the wrong thing. */
- unsigned int old_regno = REGNO (save);
- if (setjmp_p && old_regno != GR_REG (4))
- {
- REGNO (save) = GR_REG (4);
- regno_reg_rtx[old_regno] = gen_rtx_raw_REG (DImode, old_regno);
- }
- }
- else
- {
- if (setjmp_p)
- save = gen_rtx_REG (DImode, GR_REG (4));
- else if (! optimize)
- save = gen_rtx_REG (DImode, LOC_REG (0));
- else
- save = gen_reg_rtx (DImode);
- cfun->machine->ia64_gp_save = save;
- }
-
- return save;
-}
-
/* Split a post-reload TImode reference into two DImode components. */
rtx
@@ -1371,12 +1383,12 @@ spill_tfmode_operand (in, force)
&& GET_MODE (SUBREG_REG (in)) == TImode
&& GET_CODE (SUBREG_REG (in)) == REG)
{
- rtx mem = gen_mem_addressof (SUBREG_REG (in), NULL_TREE);
+ rtx mem = gen_mem_addressof (SUBREG_REG (in), NULL_TREE, true);
return gen_rtx_MEM (TFmode, copy_to_reg (XEXP (mem, 0)));
}
else if (force && GET_CODE (in) == REG)
{
- rtx mem = gen_mem_addressof (in, NULL_TREE);
+ rtx mem = gen_mem_addressof (in, NULL_TREE, true);
return gen_rtx_MEM (TFmode, copy_to_reg (XEXP (mem, 0)));
}
else if (GET_CODE (in) == MEM
@@ -1418,72 +1430,151 @@ ia64_expand_compare (code, mode)
}
/* Emit the appropriate sequence for a call. */
-
void
ia64_expand_call (retval, addr, nextarg, sibcall_p)
rtx retval;
rtx addr;
- rtx nextarg;
+ rtx nextarg ATTRIBUTE_UNUSED;
int sibcall_p;
{
- rtx insn, b0, pfs, gp_save, narg_rtx, dest;
- bool indirect_p;
- int narg;
+ rtx insn, b0;
addr = XEXP (addr, 0);
b0 = gen_rtx_REG (DImode, R_BR (0));
- pfs = gen_rtx_REG (DImode, AR_PFS_REGNUM);
-
- if (! nextarg)
- narg = 0;
- else if (IN_REGNO_P (REGNO (nextarg)))
- narg = REGNO (nextarg) - IN_REG (0);
- else
- narg = REGNO (nextarg) - OUT_REG (0);
- narg_rtx = GEN_INT (narg);
+ /* ??? Should do this for functions known to bind local too. */
if (TARGET_NO_PIC || TARGET_AUTO_PIC)
{
if (sibcall_p)
- insn = gen_sibcall_nopic (addr, narg_rtx, b0, pfs);
+ insn = gen_sibcall_nogp (addr);
else if (! retval)
- insn = gen_call_nopic (addr, narg_rtx, b0);
+ insn = gen_call_nogp (addr, b0);
else
- insn = gen_call_value_nopic (retval, addr, narg_rtx, b0);
- emit_call_insn (insn);
- return;
+ insn = gen_call_value_nogp (retval, addr, b0);
+ insn = emit_call_insn (insn);
}
-
- indirect_p = ! symbolic_operand (addr, VOIDmode);
-
- if (sibcall_p || (TARGET_CONST_GP && !indirect_p))
- gp_save = NULL_RTX;
else
- gp_save = ia64_gp_save_reg (setjmp_operand (addr, VOIDmode));
+ {
+ if (sibcall_p)
+ insn = gen_sibcall_gp (addr);
+ else if (! retval)
+ insn = gen_call_gp (addr, b0);
+ else
+ insn = gen_call_value_gp (retval, addr, b0);
+ insn = emit_call_insn (insn);
- if (gp_save)
- emit_move_insn (gp_save, pic_offset_table_rtx);
+ use_reg (&CALL_INSN_FUNCTION_USAGE (insn), pic_offset_table_rtx);
+ }
- /* If this is an indirect call, then we have the address of a descriptor. */
- if (indirect_p)
+ if (sibcall_p)
{
- dest = force_reg (DImode, gen_rtx_MEM (DImode, addr));
- emit_move_insn (pic_offset_table_rtx,
- gen_rtx_MEM (DImode, plus_constant (addr, 8)));
+ use_reg (&CALL_INSN_FUNCTION_USAGE (insn), b0);
+ use_reg (&CALL_INSN_FUNCTION_USAGE (insn),
+ gen_rtx_REG (DImode, AR_PFS_REGNUM));
}
+}
+void
+ia64_reload_gp ()
+{
+ rtx tmp;
+
+ if (current_frame_info.reg_save_gp)
+ tmp = gen_rtx_REG (DImode, current_frame_info.reg_save_gp);
else
- dest = addr;
+ {
+ HOST_WIDE_INT offset;
+
+ offset = (current_frame_info.spill_cfa_off
+ + current_frame_info.spill_size);
+ if (frame_pointer_needed)
+ {
+ tmp = hard_frame_pointer_rtx;
+ offset = -offset;
+ }
+ else
+ {
+ tmp = stack_pointer_rtx;
+ offset = current_frame_info.total_size - offset;
+ }
+
+ if (CONST_OK_FOR_I (offset))
+ emit_insn (gen_adddi3 (pic_offset_table_rtx,
+ tmp, GEN_INT (offset)));
+ else
+ {
+ emit_move_insn (pic_offset_table_rtx, GEN_INT (offset));
+ emit_insn (gen_adddi3 (pic_offset_table_rtx,
+ pic_offset_table_rtx, tmp));
+ }
+
+ tmp = gen_rtx_MEM (DImode, pic_offset_table_rtx);
+ }
+
+ emit_move_insn (pic_offset_table_rtx, tmp);
+}
+
+void
+ia64_split_call (retval, addr, retaddr, scratch_r, scratch_b,
+ noreturn_p, sibcall_p)
+ rtx retval, addr, retaddr, scratch_r, scratch_b;
+ int noreturn_p, sibcall_p;
+{
+ rtx insn;
+ bool is_desc = false;
+
+ /* If we find we're calling through a register, then we're actually
+ calling through a descriptor, so load up the values. */
+ if (REG_P (addr))
+ {
+ rtx tmp;
+ bool addr_dead_p;
+
+ /* ??? We are currently constrained to *not* use peep2, because
+ we can legitimiately change the global lifetime of the GP
+ (in the form of killing where previously live). This is
+ because a call through a descriptor doesn't use the previous
+ value of the GP, while a direct call does, and we do not
+ commit to either form until the split here.
+
+ That said, this means that we lack precise life info for
+ whether ADDR is dead after this call. This is not terribly
+ important, since we can fix things up essentially for free
+ with the POST_DEC below, but it's nice to not use it when we
+ can immediately tell it's not necessary. */
+ addr_dead_p = ((noreturn_p || sibcall_p
+ || TEST_HARD_REG_BIT (regs_invalidated_by_call,
+ REGNO (addr)))
+ && !FUNCTION_ARG_REGNO_P (REGNO (addr)));
+
+ /* Load the code address into scratch_b. */
+ tmp = gen_rtx_POST_INC (Pmode, addr);
+ tmp = gen_rtx_MEM (Pmode, tmp);
+ emit_move_insn (scratch_r, tmp);
+ emit_move_insn (scratch_b, scratch_r);
+
+ /* Load the GP address. If ADDR is not dead here, then we must
+ revert the change made above via the POST_INCREMENT. */
+ if (!addr_dead_p)
+ tmp = gen_rtx_POST_DEC (Pmode, addr);
+ else
+ tmp = addr;
+ tmp = gen_rtx_MEM (Pmode, tmp);
+ emit_move_insn (pic_offset_table_rtx, tmp);
+
+ is_desc = true;
+ addr = scratch_b;
+ }
if (sibcall_p)
- insn = gen_sibcall_pic (dest, narg_rtx, b0, pfs);
- else if (! retval)
- insn = gen_call_pic (dest, narg_rtx, b0);
+ insn = gen_sibcall_nogp (addr);
+ else if (retval)
+ insn = gen_call_value_nogp (retval, addr, retaddr);
else
- insn = gen_call_value_pic (retval, dest, narg_rtx, b0);
+ insn = gen_call_nogp (addr, retaddr);
emit_call_insn (insn);
- if (gp_save)
- emit_move_insn (pic_offset_table_rtx, gp_save);
+ if ((!TARGET_CONST_GP || is_desc) && !noreturn_p && !sibcall_p)
+ ia64_reload_gp ();
}
/* Begin the assembly file. */
@@ -1522,39 +1613,6 @@ emit_safe_across_calls (f)
fputc ('\n', f);
}
-
-/* Structure to be filled in by ia64_compute_frame_size with register
- save masks and offsets for the current function. */
-
-struct ia64_frame_info
-{
- HOST_WIDE_INT total_size; /* size of the stack frame, not including
- the caller's scratch area. */
- HOST_WIDE_INT spill_cfa_off; /* top of the reg spill area from the cfa. */
- HOST_WIDE_INT spill_size; /* size of the gr/br/fr spill area. */
- HOST_WIDE_INT extra_spill_size; /* size of spill area for others. */
- HARD_REG_SET mask; /* mask of saved registers. */
- unsigned int gr_used_mask; /* mask of registers in use as gr spill
- registers or long-term scratches. */
- int n_spilled; /* number of spilled registers. */
- int reg_fp; /* register for fp. */
- int reg_save_b0; /* save register for b0. */
- int reg_save_pr; /* save register for prs. */
- int reg_save_ar_pfs; /* save register for ar.pfs. */
- int reg_save_ar_unat; /* save register for ar.unat. */
- int reg_save_ar_lc; /* save register for ar.lc. */
- int n_input_regs; /* number of input registers used. */
- int n_local_regs; /* number of local registers used. */
- int n_output_regs; /* number of output registers used. */
- int n_rotate_regs; /* number of rotating registers used. */
-
- char need_regstk; /* true if a .regstk directive needed. */
- char initialized; /* true if the data is finalized. */
-};
-
-/* Current frame information calculated by ia64_compute_frame_size. */
-static struct ia64_frame_info current_frame_info;
-
/* Helper function for ia64_compute_frame_size: find an appropriate general
register to spill some special register to. SPECIAL_SPILL_MASK contains
bits in GR0 to GR31 that have already been allocated by this routine.
@@ -1796,6 +1854,17 @@ ia64_compute_frame_size (size)
extra_spill_size += 8;
n_spilled += 1;
}
+
+ /* Similarly for gp. Note that if we're calling setjmp, the stacked
+ registers are clobbered, so we fall back to the stack. */
+ current_frame_info.reg_save_gp
+ = (current_function_calls_setjmp ? 0 : find_gr_spill (1));
+ if (current_frame_info.reg_save_gp == 0)
+ {
+ SET_HARD_REG_BIT (mask, GR_REG (1));
+ spill_size += 8;
+ n_spilled += 1;
+ }
}
else
{
@@ -1805,6 +1874,17 @@ ia64_compute_frame_size (size)
spill_size += 8;
n_spilled += 1;
}
+
+ if (regs_ever_live[AR_PFS_REGNUM])
+ {
+ SET_HARD_REG_BIT (mask, AR_PFS_REGNUM);
+ current_frame_info.reg_save_ar_pfs = find_gr_spill (1);
+ if (current_frame_info.reg_save_ar_pfs == 0)
+ {
+ extra_spill_size += 8;
+ n_spilled += 1;
+ }
+ }
}
/* Unwind descriptor hackery: things are most efficient if we allocate
@@ -1843,8 +1923,10 @@ ia64_compute_frame_size (size)
}
/* If we're forced to use st8.spill, we're forced to save and restore
- ar.unat as well. */
- if (spilled_gr_p || cfun->machine->n_varargs)
+ ar.unat as well. The check for existing liveness allows inline asm
+ to touch ar.unat. */
+ if (spilled_gr_p || cfun->machine->n_varargs
+ || regs_ever_live[AR_UNAT_REGNUM])
{
regs_ever_live[AR_UNAT_REGNUM] = 1;
SET_HARD_REG_BIT (mask, AR_UNAT_REGNUM);
@@ -2305,7 +2387,8 @@ ia64_expand_prologue ()
/* We don't need an alloc instruction if we've used no outputs or locals. */
if (current_frame_info.n_local_regs == 0
&& current_frame_info.n_output_regs == 0
- && current_frame_info.n_input_regs <= current_function_args_info.int_regs)
+ && current_frame_info.n_input_regs <= current_function_args_info.int_regs
+ && !TEST_HARD_REG_BIT (current_frame_info.mask, AR_PFS_REGNUM))
{
/* If there is no alloc, but there are input registers used, then we
need a .regstk directive. */
@@ -2467,8 +2550,8 @@ ia64_expand_prologue ()
/* The alloc insn already copied ar.pfs into a general register. The
only thing we have to do now is copy that register to a stack slot
if we'd not allocated a local register for the job. */
- if (current_frame_info.reg_save_ar_pfs == 0
- && ! current_function_is_leaf)
+ if (TEST_HARD_REG_BIT (current_frame_info.mask, AR_PFS_REGNUM)
+ && current_frame_info.reg_save_ar_pfs == 0)
{
reg = gen_rtx_REG (DImode, AR_PFS_REGNUM);
do_spill (gen_movdi_x, ar_pfs_save_reg, cfa_off, reg);
@@ -2499,6 +2582,19 @@ ia64_expand_prologue ()
}
}
+ if (current_frame_info.reg_save_gp)
+ {
+ insn = emit_move_insn (gen_rtx_REG (DImode,
+ current_frame_info.reg_save_gp),
+ pic_offset_table_rtx);
+ /* We don't know for sure yet if this is actually needed, since
+ we've not split the PIC call patterns. If all of the calls
+ are indirect, and not followed by any uses of the gp, then
+ this save is dead. Allow it to go away. */
+ REG_NOTES (insn)
+ = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, const0_rtx, REG_NOTES (insn));
+ }
+
/* We should now be at the base of the gr/br/fr spill area. */
if (cfa_off != (current_frame_info.spill_cfa_off
+ current_frame_info.spill_size))
@@ -2680,8 +2776,13 @@ ia64_expand_epilogue (sibcall_p)
+ current_frame_info.spill_size))
abort ();
+ /* The GP may be stored on the stack in the prologue, but it's
+ never restored in the epilogue. Skip the stack slot. */
+ if (TEST_HARD_REG_BIT (current_frame_info.mask, GR_REG (1)))
+ cfa_off -= 8;
+
/* Restore all general registers. */
- for (regno = GR_REG (1); regno <= GR_REG (31); ++regno)
+ for (regno = GR_REG (2); regno <= GR_REG (31); ++regno)
if (TEST_HARD_REG_BIT (current_frame_info.mask, regno))
{
reg = gen_rtx_REG (DImode, regno);
@@ -2869,10 +2970,6 @@ ia64_hard_regno_rename_ok (from, to)
if (PR_REGNO_P (from) && PR_REGNO_P (to))
return (from & 1) == (to & 1);
- /* Reg 4 contains the saved gp; we can't reliably rename this. */
- if (from == GR_REG (4) && current_function_calls_setjmp)
- return 0;
-
return 1;
}
@@ -4082,7 +4179,6 @@ ia64_secondary_reload_class (class, mode, x)
return NO_REGS;
}
-
/* Emit text to declare externally defined variables and functions, because
the Intel assembler does not support undefined externals. */
@@ -5621,7 +5717,9 @@ ia64_adjust_cost (insn, link, dep_insn, cost)
addr = XVECEXP (addr, 0, 0);
while (GET_CODE (addr) == SUBREG || GET_CODE (addr) == ZERO_EXTEND)
addr = XEXP (addr, 0);
- if (GET_CODE (addr) == MEM)
+
+ /* Note that LO_SUM is used for GOT loads. */
+ if (GET_CODE (addr) == MEM || GET_CODE (addr) == LO_SUM)
addr = XEXP (addr, 0);
else
addr = 0;
@@ -7243,6 +7341,23 @@ ia64_strip_name_encoding (str)
str++;
return str;
}
+
+/* True if it is OK to do sibling call optimization for the specified
+ call expression EXP. DECL will be the called function, or NULL if
+ this is an indirect call. */
+bool
+ia64_function_ok_for_sibcall (decl)
+ tree decl;
+{
+ /* Direct calls are always ok. */
+ if (decl)
+ return true;
+
+ /* If TARGET_CONST_GP is in effect, then our caller expects us to
+ return with our current GP. This means that we'll always have
+ a GP reload after an indirect call. */
+ return !ia64_epilogue_uses (R_GR (1));
+}
/* Output assembly directives for prologue regions. */
@@ -7764,7 +7879,7 @@ ia64_expand_fetch_and_op (binoptab, mode, arglist, target)
do {
old = tmp;
ar.ccv = tmp;
- ret = tmp + value;
+ ret = tmp <op> value;
cmpxchgsz.acq tmp = [ptr], ret
} while (tmp != old)
*/
@@ -7867,8 +7982,15 @@ ia64_expand_compare_and_swap (mode, boolp, arglist, target)
else
tmp = gen_reg_rtx (mode);
- ccv = gen_rtx_REG (mode, AR_CCV_REGNUM);
- emit_move_insn (ccv, old);
+ ccv = gen_rtx_REG (DImode, AR_CCV_REGNUM);
+ if (mode == DImode)
+ emit_move_insn (ccv, old);
+ else
+ {
+ rtx ccvtmp = gen_reg_rtx (DImode);
+ emit_insn (gen_zero_extendsidi2 (ccvtmp, old));
+ emit_move_insn (ccv, ccvtmp);
+ }
emit_insn (gen_mf ());
if (mode == SImode)
insn = gen_cmpxchg_acq_si (tmp, mem, new, ccv);
@@ -8180,34 +8302,28 @@ ia64_select_rtx_section (mode, x, align)
default_elf_select_rtx_section (mode, x, align);
}
-/* It is illegal to have relocations in shared segments on AIX.
+/* It is illegal to have relocations in shared segments on AIX and HPUX.
Pretend flag_pic is always set. */
static void
-ia64_aix_select_section (exp, reloc, align)
+ia64_rwreloc_select_section (exp, reloc, align)
tree exp;
int reloc;
unsigned HOST_WIDE_INT align;
{
- int save_pic = flag_pic;
- flag_pic = 1;
- default_elf_select_section (exp, reloc, align);
- flag_pic = save_pic;
+ default_elf_select_section_1 (exp, reloc, align, true);
}
static void
-ia64_aix_unique_section (decl, reloc)
+ia64_rwreloc_unique_section (decl, reloc)
tree decl;
int reloc;
{
- int save_pic = flag_pic;
- flag_pic = 1;
- default_unique_section (decl, reloc);
- flag_pic = save_pic;
+ default_unique_section_1 (decl, reloc, true);
}
static void
-ia64_aix_select_rtx_section (mode, x, align)
+ia64_rwreloc_select_rtx_section (mode, x, align)
enum machine_mode mode;
rtx x;
unsigned HOST_WIDE_INT align;
@@ -8218,6 +8334,16 @@ ia64_aix_select_rtx_section (mode, x, align)
flag_pic = save_pic;
}
+static unsigned int
+ia64_rwreloc_section_type_flags (decl, name, reloc)
+ tree decl;
+ const char *name;
+ int reloc;
+{
+ return default_section_type_flags_1 (decl, name, reloc, true);
+}
+
+
/* Output the assembler code for a thunk function. THUNK_DECL is the
declaration for the thunk function itself, FUNCTION is the decl for
the target function. DELTA is an immediate constant offset to be
@@ -8234,6 +8360,9 @@ ia64_output_mi_thunk (file, thunk, delta, vcall_offset, function)
{
rtx this, insn, funexp;
+ reload_completed = 1;
+ no_new_pseudos = 1;
+
/* Set things up as ia64_expand_prologue might. */
last_scratch_gr_reg = 15;
@@ -8296,18 +8425,27 @@ ia64_output_mi_thunk (file, thunk, delta, vcall_offset, function)
ia64_expand_call (NULL_RTX, funexp, NULL_RTX, 1);
insn = get_last_insn ();
SIBLING_CALL_P (insn) = 1;
+
+ /* Code generation for calls relies on splitting. */
+ reload_completed = 1;
+ try_split (PATTERN (insn), insn, 0);
+
emit_barrier ();
/* Run just enough of rest_of_compilation to get the insns emitted.
There's not really enough bulk here to make other passes such as
instruction scheduling worth while. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
+
insn = get_insns ();
emit_all_insn_group_barriers (NULL, insn);
shorten_branches (insn);
final_start_function (insn, file, 1);
final (insn, file, 1, 0);
final_end_function ();
+
+ reload_completed = 0;
+ no_new_pseudos = 0;
}
#include "gt-ia64.h"
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 59f60d05bfa..724405a8c5f 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -140,6 +140,10 @@ extern int ia64_tls_size;
#define TARGET_HPUX_LD 0
+#ifndef HAVE_AS_LTOFFX_LDXMOV_RELOCS
+#define HAVE_AS_LTOFFX_LDXMOV_RELOCS 0
+#endif
+
/* 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. */
@@ -1011,8 +1015,9 @@ enum reg_class
/* In FP regs, we can't change FP values to integer values and vice
versa, but we can change e.g. DImode to SImode. */
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
- (GET_MODE_CLASS (FROM) != GET_MODE_CLASS (TO) ? FR_REGS : NO_REGS)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ (GET_MODE_CLASS (FROM) != GET_MODE_CLASS (TO) \
+ ? reg_classes_intersect_p (CLASS, FR_REGS) : 0)
/* A C expression that defines the machine-dependent operand constraint
letters (`I', `J', `K', .. 'P') that specify particular ranges of
@@ -1808,61 +1813,6 @@ do { \
#define ASM_APP_OFF "#NO_APP\n"
-/* Output of Data. */
-
-/* This is how to output an assembler line defining a `char' constant
- to an xdata segment. */
-
-#define ASM_OUTPUT_XDATA_CHAR(FILE, SECTION, VALUE) \
-do { \
- fprintf (FILE, "\t.xdata1\t\"%s\", ", SECTION); \
- output_addr_const (FILE, (VALUE)); \
- fprintf (FILE, "\n"); \
-} while (0)
-
-/* This is how to output an assembler line defining a `short' constant
- to an xdata segment. */
-
-#define ASM_OUTPUT_XDATA_SHORT(FILE, SECTION, VALUE) \
-do { \
- fprintf (FILE, "\t.xdata2\t\"%s\", ", SECTION); \
- output_addr_const (FILE, (VALUE)); \
- fprintf (FILE, "\n"); \
-} while (0)
-
-/* This is how to output an assembler line defining an `int' constant
- to an xdata segment. We also handle symbol output here. */
-
-/* ??? For ILP32, also need to handle function addresses here. */
-
-#define ASM_OUTPUT_XDATA_INT(FILE, SECTION, VALUE) \
-do { \
- fprintf (FILE, "\t.xdata4\t\"%s\", ", SECTION); \
- output_addr_const (FILE, (VALUE)); \
- fprintf (FILE, "\n"); \
-} while (0)
-
-/* This is how to output an assembler line defining a `long' constant
- to an xdata segment. We also handle symbol output here. */
-
-#define ASM_OUTPUT_XDATA_DOUBLE_INT(FILE, SECTION, VALUE) \
-do { \
- int need_closing_paren = 0; \
- fprintf (FILE, "\t.xdata8\t\"%s\", ", SECTION); \
- if (!(TARGET_NO_PIC || TARGET_AUTO_PIC) \
- && GET_CODE (VALUE) == SYMBOL_REF) \
- { \
- fprintf (FILE, SYMBOL_REF_FLAG (VALUE) ? "@fptr(" : "@segrel("); \
- need_closing_paren = 1; \
- } \
- output_addr_const (FILE, VALUE); \
- if (need_closing_paren) \
- fprintf (FILE, ")"); \
- fprintf (FILE, "\n"); \
-} while (0)
-
-
-
/* Output of Uninitialized Variables. */
/* This is all handled by svr4.h. */
@@ -2132,8 +2082,13 @@ do { \
/* ??? Depends on the pointer size. */
-#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM, BODY, VALUE, REL) \
- fprintf (STREAM, "\tdata8 @pcrel(.L%d)\n", VALUE)
+#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM, BODY, VALUE, REL) \
+ do { \
+ if (TARGET_ILP32) \
+ fprintf (STREAM, "\tdata4 @pcrel(.L%d)\n", VALUE); \
+ else \
+ fprintf (STREAM, "\tdata8 @pcrel(.L%d)\n", VALUE); \
+ } while (0)
/* This is how to output an element of a case-vector that is absolute.
(Ia64 does not use such vectors, but we must define this macro anyway.) */
@@ -2152,7 +2107,8 @@ do { \
true if the symbol may be affected by dynamic relocations. */
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
(((CODE) == 1 ? DW_EH_PE_textrel : DW_EH_PE_datarel) \
- | ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_udata8)
+ | ((GLOBAL) ? DW_EH_PE_indirect : 0) \
+ | (TARGET_ILP32 ? DW_EH_PE_udata4 : DW_EH_PE_udata8))
/* Handle special EH pointer encodings. Absolute, pc-relative, and
indirect are handled automatically. */
@@ -2322,7 +2278,7 @@ do { \
/* An alias for a machine mode name. This is the machine mode that elements of
a jump-table should have. */
-#define CASE_VECTOR_MODE Pmode
+#define CASE_VECTOR_MODE ptr_mode
/* Define as C expression which evaluates to nonzero if the tablejump
instruction expects the table to contain offsets from the address of the
@@ -2494,4 +2450,5 @@ enum fetchop_code {
#undef PROFILE_BEFORE_PROLOGUE
#define PROFILE_BEFORE_PROLOGUE 1
+#define FUNCTION_OK_FOR_SIBCALL(DECL) ia64_function_ok_for_sibcall (DECL)
/* End of ia64.h */
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index c2275494c25..4d177c21aed 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -83,6 +83,7 @@
(UNSPECV_SET_BSP 4)
(UNSPECV_PSAC_ALL 5) ; pred.safe_across_calls
(UNSPECV_PSAC_NORMAL 6)
+ (UNSPECV_SETJMP_RECEIVER 7)
])
;; ::::::::::::::::::::
@@ -506,22 +507,41 @@
(define_expand "load_symptr"
[(set (match_operand:DI 2 "register_operand" "")
- (plus:DI (match_dup 4) (match_operand:DI 1 "got_symbolic_operand" "")))
- (set (match_operand:DI 0 "register_operand" "") (match_dup 3))]
+ (plus:DI (high:DI (match_operand:DI 1 "got_symbolic_operand" ""))
+ (match_dup 3)))
+ (set (match_operand:DI 0 "register_operand" "")
+ (lo_sum:DI (match_dup 2) (match_dup 1)))]
""
{
- operands[3] = gen_rtx_MEM (DImode, operands[2]);
- operands[4] = pic_offset_table_rtx;
- RTX_UNCHANGING_P (operands[3]) = 1;
+ operands[3] = pic_offset_table_rtx;
})
-(define_insn "*load_symptr_internal1"
+(define_insn "*load_symptr_high"
[(set (match_operand:DI 0 "register_operand" "=r")
- (plus:DI (reg:DI 1) (match_operand 1 "got_symbolic_operand" "s")))]
+ (plus:DI (high:DI (match_operand 1 "got_symbolic_operand" "s"))
+ (match_operand:DI 2 "register_operand" "a")))]
""
- "addl %0 = @ltoff(%1), gp"
+{
+ if (HAVE_AS_LTOFFX_LDXMOV_RELOCS)
+ return "%,addl %0 = @ltoffx(%1), %2";
+ else
+ return "%,addl %0 = @ltoff(%1), %2";
+}
[(set_attr "itanium_class" "ialu")])
+(define_insn "*load_symptr_low"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+ (lo_sum:DI (match_operand:DI 1 "register_operand" "r")
+ (match_operand 2 "got_symbolic_operand" "s")))]
+ ""
+{
+ if (HAVE_AS_LTOFFX_LDXMOV_RELOCS)
+ return "%,ld8.mov %0 = [%1], %2";
+ else
+ return "%,ld8 %0 = [%1]";
+}
+ [(set_attr "itanium_class" "ld")])
+
(define_insn "load_ltoff_dtpmod"
[(set (match_operand:DI 0 "register_operand" "=r")
(plus:DI (reg:DI 1)
@@ -1034,7 +1054,7 @@
[(set (match_operand:DF 0 "register_operand" "=f")
(float:DF (match_operand:DI 1 "register_operand" "f")))]
"!INTEL_EXTENDED_IEEE_FORMAT"
- "fcvt.xf %0 = %1\;;;\;fnorm.d %0 = %0"
+ "fcvt.xf %0 = %1\;;;\;%,fnorm.d %0 = %0"
[(set_attr "itanium_class" "fcvtfx")])
;; ??? Suboptimal. This should be split somehow.
@@ -1042,7 +1062,7 @@
[(set (match_operand:SF 0 "register_operand" "=f")
(float:SF (match_operand:DI 1 "register_operand" "f")))]
"!INTEL_EXTENDED_IEEE_FORMAT"
- "fcvt.xf %0 = %1\;;;\;fnorm.s %0 = %0"
+ "fcvt.xf %0 = %1\;;;\;%,fnorm.s %0 = %0"
[(set_attr "itanium_class" "fcvtfx")])
(define_insn "fix_truncsfdi2"
@@ -4424,9 +4444,9 @@
"c,c,c,c,c,c,c,c,c,c,c,c,c,c,c")
(const_int 0)])
(match_operand:DI 2 "move_operand"
- "rim, *f, *b,*d*e,rim,rim, rim,*f,*b,*d*e,rO,*f,rOQ,rO, rK")
+ "rnm, *f, *b,*d*e,rnm,rnm, rnm,*f,*b,*d*e,rO,*f,rOQ,rO, rK")
(match_operand:DI 3 "move_operand"
- "rim,rim,rim, rim, *f, *b,*d*e,*f,*b,*d*e,rO,*f,rOQ,rO, rK")))]
+ "rnm,rnm,rnm, rnm, *f, *b,*d*e,*f,*b,*d*e,rO,*f,rOQ,rO, rK")))]
"ia64_move_ok (operands[0], operands[2])
&& ia64_move_ok (operands[0], operands[3])"
{ abort (); }
@@ -4530,9 +4550,9 @@
[(match_operand:BI 1 "register_operand" "c,c,c,c,c,c,c,c,c")
(const_int 0)])
(match_operand:SI 2 "move_operand"
- "0,0,0,rim*f,rO,rO,rim*f,rO,rO")
+ "0,0,0,rnm*f,rO,rO,rnm*f,rO,rO")
(match_operand:SI 3 "move_operand"
- "rim*f,rO,rO,0,0,0,rim*f,rO,rO")))]
+ "rnm*f,rO,rO,0,0,0,rnm*f,rO,rO")))]
"ia64_move_ok (operands[0], operands[2])
&& ia64_move_ok (operands[0], operands[3])"
{ abort (); }
@@ -4663,7 +4683,7 @@
(use (match_operand 3 "" ""))]
""
{
- ia64_expand_call (NULL_RTX, operands[0], operands[2], 0);
+ ia64_expand_call (NULL_RTX, operands[0], operands[2], false);
DONE;
})
@@ -4674,7 +4694,7 @@
(use (match_operand 3 "" ""))]
""
{
- ia64_expand_call (NULL_RTX, operands[0], operands[2], 1);
+ ia64_expand_call (NULL_RTX, operands[0], operands[2], true);
DONE;
})
@@ -4693,7 +4713,7 @@
(use (match_operand 4 "" ""))]
""
{
- ia64_expand_call (operands[0], operands[1], operands[3], 0);
+ ia64_expand_call (operands[0], operands[1], operands[3], false);
DONE;
})
@@ -4705,7 +4725,7 @@
(use (match_operand 4 "" ""))]
""
{
- ia64_expand_call (operands[0], operands[1], operands[3], 1);
+ ia64_expand_call (operands[0], operands[1], operands[3], true);
DONE;
})
@@ -4737,59 +4757,125 @@
DONE;
})
-(define_insn "call_nopic"
- [(call (mem:DI (match_operand:DI 0 "call_operand" "b,i"))
- (match_operand 1 "" ""))
- (clobber (match_operand:DI 2 "register_operand" "=b,b"))]
+(define_insn "call_nogp"
+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,i"))
+ (const_int 0))
+ (clobber (match_operand:DI 1 "register_operand" "=b,b"))]
""
- "br.call%+.many %2 = %0"
+ "br.call%+.many %1 = %0"
[(set_attr "itanium_class" "br,scall")])
-(define_insn "call_value_nopic"
+(define_insn "call_value_nogp"
[(set (match_operand 0 "" "")
- (call (mem:DI (match_operand:DI 1 "call_operand" "b,i"))
- (match_operand 2 "" "")))
- (clobber (match_operand:DI 3 "register_operand" "=b,b"))]
+ (call (mem:DI (match_operand:DI 1 "call_operand" "?b,i"))
+ (const_int 0)))
+ (clobber (match_operand:DI 2 "register_operand" "=b,b"))]
""
- "br.call%+.many %3 = %1"
+ "br.call%+.many %2 = %1"
[(set_attr "itanium_class" "br,scall")])
-(define_insn "sibcall_nopic"
- [(call (mem:DI (match_operand:DI 0 "call_operand" "b,i"))
- (match_operand 1 "" ""))
- (use (match_operand:DI 2 "register_operand" "=b,b"))
- (use (match_operand:DI 3 "ar_pfs_reg_operand" ""))]
+(define_insn "sibcall_nogp"
+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,i"))
+ (const_int 0))]
""
"br%+.many %0"
[(set_attr "itanium_class" "br,scall")])
-(define_insn "call_pic"
- [(call (mem (match_operand 0 "call_operand" "b,i"))
- (match_operand 1 "" ""))
- (use (unspec [(reg:DI 1)] UNSPEC_PIC_CALL))
- (clobber (match_operand:DI 2 "register_operand" "=b,b"))]
+(define_insn "call_gp"
+ [(call (mem (match_operand 0 "call_operand" "?r,i"))
+ (const_int 1))
+ (clobber (match_operand:DI 1 "register_operand" "=b,b"))
+ (clobber (match_scratch:DI 2 "=&r,X"))
+ (clobber (match_scratch:DI 3 "=b,X"))]
""
- "br.call%+.many %2 = %0"
+ "#"
[(set_attr "itanium_class" "br,scall")])
-(define_insn "call_value_pic"
+;; Irritatingly, we don't have access to INSN within the split body.
+;; See commentary in ia64_split_call as to why these aren't peep2.
+(define_split
+ [(call (mem (match_operand 0 "call_operand" ""))
+ (const_int 1))
+ (clobber (match_operand:DI 1 "register_operand" ""))
+ (clobber (match_scratch:DI 2 ""))
+ (clobber (match_scratch:DI 3 ""))]
+ "reload_completed && find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(const_int 0)]
+{
+ ia64_split_call (NULL_RTX, operands[0], operands[1], operands[2],
+ operands[3], true, false);
+ DONE;
+})
+
+(define_split
+ [(call (mem (match_operand 0 "call_operand" ""))
+ (const_int 1))
+ (clobber (match_operand:DI 1 "register_operand" ""))
+ (clobber (match_scratch:DI 2 ""))
+ (clobber (match_scratch:DI 3 ""))]
+ "reload_completed"
+ [(const_int 0)]
+{
+ ia64_split_call (NULL_RTX, operands[0], operands[1], operands[2],
+ operands[3], false, false);
+ DONE;
+})
+
+(define_insn "call_value_gp"
[(set (match_operand 0 "" "")
- (call (mem:DI (match_operand:DI 1 "call_operand" "b,i"))
- (match_operand 2 "" "")))
- (use (unspec [(reg:DI 1)] UNSPEC_PIC_CALL))
- (clobber (match_operand:DI 3 "register_operand" "=b,b"))]
+ (call (mem:DI (match_operand:DI 1 "call_operand" "?r,i"))
+ (const_int 1)))
+ (clobber (match_operand:DI 2 "register_operand" "=b,b"))
+ (clobber (match_scratch:DI 3 "=&r,X"))
+ (clobber (match_scratch:DI 4 "=b,X"))]
""
- "br.call%+.many %3 = %1"
+ "#"
[(set_attr "itanium_class" "br,scall")])
-(define_insn "sibcall_pic"
- [(call (mem:DI (match_operand:DI 0 "call_operand" "bi"))
- (match_operand 1 "" ""))
- (use (unspec [(reg:DI 1)] UNSPEC_PIC_CALL))
- (use (match_operand:DI 2 "register_operand" "=b"))
- (use (match_operand:DI 3 "ar_pfs_reg_operand" ""))]
+(define_split
+ [(set (match_operand 0 "" "")
+ (call (mem:DI (match_operand:DI 1 "call_operand" ""))
+ (const_int 1)))
+ (clobber (match_operand:DI 2 "register_operand" ""))
+ (clobber (match_scratch:DI 3 ""))
+ (clobber (match_scratch:DI 4 ""))]
+ "reload_completed && find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(const_int 0)]
+{
+ ia64_split_call (operands[0], operands[1], operands[2], operands[3],
+ operands[4], true, false);
+ DONE;
+})
+
+(define_split
+ [(set (match_operand 0 "" "")
+ (call (mem:DI (match_operand:DI 1 "call_operand" ""))
+ (const_int 1)))
+ (clobber (match_operand:DI 2 "register_operand" ""))
+ (clobber (match_scratch:DI 3 ""))
+ (clobber (match_scratch:DI 4 ""))]
+ "reload_completed"
+ [(const_int 0)]
+{
+ ia64_split_call (operands[0], operands[1], operands[2], operands[3],
+ operands[4], false, false);
+ DONE;
+})
+
+(define_insn_and_split "sibcall_gp"
+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,i"))
+ (const_int 1))
+ (clobber (match_scratch:DI 1 "=&r,X"))
+ (clobber (match_scratch:DI 2 "=b,X"))]
""
- "br%+.many %0"
+ "#"
+ "reload_completed"
+ [(const_int 0)]
+{
+ ia64_split_call (NULL_RTX, operands[0], NULL_RTX, operands[1],
+ operands[2], true, true);
+ DONE;
+}
[(set_attr "itanium_class" "br")])
(define_insn "return_internal"
@@ -5040,7 +5126,10 @@
[(set (match_operand:DI 0 "register_operand" "=r")
(unspec:DI [(const_int 0)] UNSPEC_BSP_VALUE))]
""
- ";;\;mov %0 = ar.bsp"
+ "*
+{
+ return \";;\;%,mov %0 = ar.bsp\";
+}"
[(set_attr "itanium_class" "frar_i")])
(define_insn "set_bsp"
@@ -5073,7 +5162,8 @@
[(unspec [(const_int 0)] UNSPEC_FLUSHRS)]
""
";;\;flushrs\;;;"
- [(set_attr "itanium_class" "rse_m")])
+ [(set_attr "itanium_class" "rse_m")
+ (set_attr "predicable" "no")])
;; ::::::::::::::::::::
;; ::
@@ -5243,21 +5333,14 @@
DONE;
})
-;; The rest of the setjmp processing happens with the nonlocal_goto expander.
-;; ??? This is not tested.
-(define_expand "builtin_setjmp_setup"
- [(use (match_operand:DI 0 "" ""))]
- ""
-{
- emit_move_insn (ia64_gp_save_reg (0), gen_rtx_REG (DImode, GR_REG (1)));
- DONE;
-})
-
-(define_expand "builtin_setjmp_receiver"
- [(use (match_operand:DI 0 "" ""))]
+(define_insn_and_split "builtin_setjmp_receiver"
+ [(unspec_volatile [(match_operand:DI 0 "" "")] UNSPECV_SETJMP_RECEIVER)]
""
+ "#"
+ "reload_completed"
+ [(const_int 0)]
{
- emit_move_insn (gen_rtx_REG (DImode, GR_REG (1)), ia64_gp_save_reg (0));
+ ia64_reload_gp ();
DONE;
})
@@ -5348,7 +5431,7 @@
(set (match_operand:SI 1 "not_postinc_memory_operand" "+S")
(unspec:SI [(match_dup 1)
(match_operand:SI 2 "gr_register_operand" "r")
- (match_operand:SI 3 "ar_ccv_reg_operand" "")]
+ (match_operand 3 "ar_ccv_reg_operand" "")]
UNSPEC_CMPXCHG_ACQ))]
""
"cmpxchg4.acq %0 = %1, %2, %3"
@@ -5438,7 +5521,7 @@
[(plus:SI (match_operand:SI 1 "basereg_operand" "r")
(match_operand:SI 2 "gr_reg_or_14bit_operand" "rI"))]
UNSPEC_ADDP4))]
- ""
+ "addp4_optimize_ok (operands[1], operands[2])"
"addp4 %0 = %2, %1"
[(set_attr "itanium_class" "ialu")])
@@ -5448,6 +5531,6 @@
[(plus:SI (match_operand:SI 1 "gr_register_operand" "r")
(match_operand:SI 2 "basereg_operand" "r"))]
UNSPEC_ADDP4))]
- ""
+ "addp4_optimize_ok (operands[1], operands[2])"
"addp4 %0 = %1, %2"
[(set_attr "itanium_class" "ialu")])
diff --git a/gcc/config/ia64/t-hpux b/gcc/config/ia64/t-hpux
index d8201f9d5e1..7b42fe519a2 100644
--- a/gcc/config/ia64/t-hpux
+++ b/gcc/config/ia64/t-hpux
@@ -40,9 +40,9 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
- rm -f $$(slibdir)/@shlib_base_name@.so; \
- $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so; \
- chmod +x $$(slibdir)/@shlib_base_name@.so
+SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(DESTDIR)$$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(DESTDIR)$$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(DESTDIR)$$(slibdir)/@shlib_base_name@.so; \
+ chmod +x $$(DESTDIR)$$(slibdir)/@shlib_base_name@.so
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index 0cfd9483879..7c63b31e628 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -40,7 +40,8 @@ crtfastmath.o: $(srcdir)/config/ia64/crtfastmath.c $(GCC_PASSES)
$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -c -o crtfastmath.o \
$(srcdir)/config/ia64/crtfastmath.c
-LIB2ADDEH = $(srcdir)/config/ia64/unwind-ia64.c $(srcdir)/unwind-sjlj.c
+LIB2ADDEH = $(srcdir)/config/ia64/unwind-ia64.c $(srcdir)/unwind-sjlj.c \
+ $(srcdir)/unwind-c.c
ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
$(TREE_H) $(CPPLIB_H) $(C_COMMON_H) c-pragma.h toplev.h
diff --git a/gcc/config/ia64/unwind-ia64.c b/gcc/config/ia64/unwind-ia64.c
index b3ba9333bcc..12e46ae2427 100644
--- a/gcc/config/ia64/unwind-ia64.c
+++ b/gcc/config/ia64/unwind-ia64.c
@@ -1645,7 +1645,24 @@ _Unwind_GetRegionStart (struct _Unwind_Context *context)
void *
_Unwind_FindEnclosingFunction (void *pc)
{
- return NULL;
+ struct unw_table_entry *ent;
+ unsigned long segment_base, gp;
+
+ ent = _Unwind_FindTableEntry (pc, &segment_base, &gp);
+ if (ent == NULL)
+ return NULL;
+ else
+ return (void *)(segment_base + ent->start_offset);
+}
+
+/* Get the value of the CFA as saved in CONTEXT. In GCC/Dwarf2 parlance,
+ the CFA is the value of the stack pointer on entry; In IA-64 unwind
+ parlance, this is the PSP. */
+
+_Unwind_Word
+_Unwind_GetCFA (struct _Unwind_Context *context)
+{
+ return (_Unwind_Ptr) context->psp;
}
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/linux.h b/gcc/config/linux.h
index 2b1e50f3bde..2ddb9c765a1 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -110,3 +110,5 @@ Boston, MA 02111-1307, USA. */
/* Define this so we can compile MS code for use with WINE. */
#define HANDLE_PRAGMA_PACK_PUSH_POP
+
+#define TARGET_HAS_F_SETLKW
diff --git a/gcc/config/m68hc11/larith.asm b/gcc/config/m68hc11/larith.asm
index 80b88174737..78b5885dac2 100644
--- a/gcc/config/m68hc11/larith.asm
+++ b/gcc/config/m68hc11/larith.asm
@@ -1,5 +1,5 @@
/* libgcc routines for M68HC11 & M68HC12.
- Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -41,11 +41,22 @@ Boston, MA 02111-1307, USA. */
.mode mlong
#endif
-#if defined(__USE_RTC__) && defined(mc68hc12)
+ .macro declare_near name
+ .globl \name
+ .type \name,@function
+ .size \name,.Lend-\name
+\name:
+ .endm
+
+#if defined(__USE_RTC__)
# define ARG(N) N+1
.macro ret
+#if defined(mc68hc12)
rtc
+#else
+ jmp __return_32
+#endif
.endm
.macro declare name
@@ -181,10 +192,10 @@ REG(_.d32)
;; Specific initialization for 68hc11 before the main.
;; Nothing special for a generic routine; Just enable interrupts.
;;
- declare __premain
+ declare_near __premain
clra
tap ; Clear both I and X.
- ret
+ rts
#endif
#ifdef L__exit
@@ -278,8 +289,8 @@ Done:
#else
xgdy
tsx
- ldd 4,x
- ldx 2,x ; SRC = X, DST = Y
+ ldd ARG(4),x
+ ldx ARG(2),x ; SRC = X, DST = Y
cpd #0
beq End
pshy
@@ -299,7 +310,7 @@ L1:
puly ; Restore Y to return the DST
End:
xgdy
- rts
+ ret
#endif
#endif
@@ -349,99 +360,97 @@ L0:
pulx ; Restore X to return the DST
End:
xgdx
- rts
+ ret
#endif
#endif
#ifdef L_adddi3
- declare ___adddi3
+ declare ___adddi3
tsx
xgdy
ldd ARG(8),x ; Add LSB
addd ARG(16),x
- std ARG(6),y ; Save (carry preserved)
+ std 6,y ; Save (carry preserved)
ldd ARG(6),x
adcb ARG(15),x
adca ARG(14),x
- std ARG(4),y
+ std 4,y
ldd ARG(4),x
adcb ARG(13),x
adca ARG(12),x
- std ARG(2),y
+ std 2,y
ldd ARG(2),x
adcb ARG(11),x ; Add MSB
adca ARG(10),x
- std ARG(0),y
+ std 0,y
xgdy
ret
#endif
#ifdef L_subdi3
- declare ___subdi3
+ declare ___subdi3
tsx
xgdy
ldd ARG(8),x ; Subtract LSB
subd ARG(16),x
- std ARG(6),y ; Save, borrow preserved
+ std 6,y ; Save, borrow preserved
ldd ARG(6),x
sbcb ARG(15),x
sbca ARG(14),x
- std ARG(4),y
+ std 4,y
ldd ARG(4),x
sbcb ARG(13),x
sbca ARG(12),x
- std ARG(2),y
+ std 2,y
ldd ARG(2),x ; Subtract MSB
sbcb ARG(11),x
sbca ARG(10),x
- std ARG(0),y
+ std 0,y
xgdy ;
ret
#endif
#ifdef L_notdi2
- declare ___notdi2
+ declare ___notdi2
tsy
xgdx
ldd ARG(8),y
coma
comb
- std ARG(6),x
+ std 6,x
ldd ARG(6),y
coma
comb
- std ARG(4),x
+ std 4,x
ldd ARG(4),y
coma
comb
- std ARG(2),x
+ std 2,x
ldd ARG(2),y
coma
comb
- std ARG(0),x
+ std 0,x
xgdx
ret
#endif
#ifdef L_negsi2
- .sect .text
- .globl ___negsi2
+ declare_near ___negsi2
-___negsi2:
comb
coma
xgdx
@@ -456,10 +465,8 @@ done:
#endif
#ifdef L_one_cmplsi2
- .sect .text
- .globl ___one_cmplsi2
+ declare_near ___one_cmplsi2
-___one_cmplsi2:
comb
coma
xgdx
@@ -470,10 +477,8 @@ ___one_cmplsi2:
#endif
#ifdef L_ashlsi3
- .sect .text
- .globl ___ashlsi3
+ declare_near ___ashlsi3
-___ashlsi3:
xgdy
clra
andb #0x1f
@@ -492,10 +497,8 @@ Return:
#endif
#ifdef L_ashrsi3
- .sect .text
- .globl ___ashrsi3
+ declare_near ___ashrsi3
-___ashrsi3:
xgdy
clra
andb #0x1f
@@ -515,10 +518,8 @@ Return:
#endif
#ifdef L_lshrsi3
- .sect .text
- .globl ___lshrsi3
+ declare_near ___lshrsi3
-___lshrsi3:
xgdy
clra
andb #0x1f
@@ -537,10 +538,8 @@ Return:
#endif
#ifdef L_lshrhi3
- .sect .text
- .globl ___lshrhi3
+ declare_near ___lshrhi3
-___lshrhi3:
cpx #16
bge Return_zero
cpx #0
@@ -558,10 +557,8 @@ Return_zero:
#endif
#ifdef L_lshlhi3
- .sect .text
- .globl ___lshlhi3
+ declare_near ___lshlhi3
-___lshlhi3:
cpx #16
bge Return_zero
cpx #0
@@ -578,11 +575,48 @@ Return_zero:
rts
#endif
+#ifdef L_rotrhi3
+ declare_near ___rotrhi3
+
+___rotrhi3:
+ xgdx
+ clra
+ andb #0x0f
+ xgdx
+ beq Return
+Loop:
+ tap
+ rorb
+ rora
+ dex
+ bne Loop
+Return:
+ rts
+#endif
+
+#ifdef L_rotlhi3
+ declare_near ___rotlhi3
+
+___rotlhi3:
+ xgdx
+ clra
+ andb #0x0f
+ xgdx
+ beq Return
+Loop:
+ asrb
+ rolb
+ rola
+ rolb
+ dex
+ bne Loop
+Return:
+ rts
+#endif
+
#ifdef L_ashrhi3
- .sect .text
- .globl ___ashrhi3
+ declare_near ___ashrhi3
-___ashrhi3:
cpx #16
bge Return_minus_1_or_zero
cpx #0
@@ -605,10 +639,8 @@ Return_zero:
#endif
#ifdef L_ashrqi3
- .sect .text
- .globl ___ashrqi3
+ declare_near ___ashrqi3
-___ashrqi3:
cmpa #8
bge Return_minus_1_or_zero
tsta
@@ -630,10 +662,8 @@ Return_zero:
#endif
#ifdef L_lshlqi3
- .sect .text
- .globl ___lshlqi3
+ declare_near ___lshlqi3
-___lshlqi3:
cmpa #8
bge Return_zero
tsta
@@ -653,8 +683,7 @@ Return_zero:
#ifndef mc68hc12
/* 68HC12 signed divisions are generated inline (idivs). */
- .sect .text
- .globl __divmodhi4
+ declare_near __divmodhi4
;
;; D = numerator
@@ -663,7 +692,6 @@ Return_zero:
;; Result: D = D / X
;; X = D % X
;;
-__divmodhi4:
tsta
bpl Numerator_pos
comb ; D = -D <=> D = (~D) + 1
@@ -721,8 +749,7 @@ Numerator_neg_denominator_pos:
#endif
#ifdef L_mulqi3
- .sect .text
- .globl __mulqi3
+ declare_near ___mulqi3
;
; short __mulqi3(signed char a, signed char b);
@@ -732,7 +759,6 @@ Numerator_neg_denominator_pos:
;
; returns the signed result of A * B in register D.
;
-__mulqi3:
tsta
bmi A_neg
tstb
@@ -759,8 +785,7 @@ AB_neg:
#endif
#ifdef L_mulhi3
- .sect .text
- .globl ___mulhi3
+ declare_near ___mulhi3
;
;
@@ -769,7 +794,6 @@ AB_neg:
; a = register D
; b = register X
;
-___mulhi3:
#ifdef mc68hc12
pshx ; Preserve X
exg x,y
@@ -805,24 +829,6 @@ ___mulhi3:
; ---
; 91 cycles
#else
- stx _.tmp ; (4/5)
- pshb ; (3)
- ldab _.tmp+1 ; (3/4)
- mul ; (10) B.high * A.low
- xgdx ; (3)
- pulb ; (4)
- stab _.tmp ; (3/4)
- mul ; (10) B.low * A.high
- abx ; (3)
- ldd _.tmp ; (4/5)
- mul ; (10) B.low * A.low
- stx _.tmp ; (4)
- adda _.tmp+1 ; (4/5)
- rts ; (5) 20/26 bytes
- ; ---
- ; 70/76 cycles
-
-#ifdef OLD_MUL
stx *_.tmp ; (4)
pshb ; (3)
ldab *_.tmp+1 ; (3)
@@ -843,7 +849,6 @@ ___mulhi3:
#endif
#endif
#endif
-#endif
#ifdef L_mulhi32
@@ -879,13 +884,13 @@ ___mulhi3:
; <A-low> 1,x
; <A-high> 0,x
;
- declare __mulhi32
+ declare_near __mulhi32
#ifdef mc68hc12
- ldy ARG(2),sp
+ ldy 2,sp
emul
exg x,y
- ret
+ rts
#else
pshx ; Room for temp value
pshb
@@ -961,8 +966,8 @@ Ret:
exg d,y
ret
#else
-B_low = 8
-B_high = 6
+B_low = ARG(8)
+B_high = ARG(6)
A_low = 0
A_high = 2
pshx
@@ -1010,7 +1015,7 @@ Return:
ins
ins
ins
- rts
+ ret
;
;
; A_low_zero_non_optimized:
@@ -1187,7 +1192,7 @@ dtors_done:
#ifdef L_far_tramp
#ifdef mc68hc12
- .sect .text
+ .sect .tramp,"ax",@progbits
.globl __far_trampoline
;; This is a trampoline used by the linker to invoke a function
@@ -1216,6 +1221,123 @@ __far_trampoline:
; (whose memory bank is mapped due to the
; call to the trampoline).
#endif
+
+#ifdef mc68hc11
+ .sect .tramp,"ax",@progbits
+ .globl __far_trampoline
+
+;; Trampoline generated by gcc for 68HC11:
+;;
+;; pshb
+;; ldab #%page(func)
+;; ldy #%addr(func)
+;; jmp __far_trampoline
+;;
+__far_trampoline:
+ psha ; (2) Save function parameter (high)
+ ;; <Read current page in A>
+ psha ; (2)
+ ;; <Set currenge page from B>
+ pshx ; (4)
+ tsx ; (3)
+ ldab 4,x ; (4) Restore function parameter (low)
+ ldaa 2,x ; (4) Get saved page number
+ staa 4,x ; (4) Save it below return PC
+ pulx ; (5)
+ pula ; (3)
+ pula ; (3) Restore function parameter (high)
+ jmp 0,y ; (4)
+#endif
+#endif
+
+#ifdef L_call_far
+#ifdef mc68hc11
+ .sect .tramp,"ax",@progbits
+ .globl __call_a16
+ .globl __call_a32
+;;
+;; The call methods are used for 68HC11 to support memory bank switching.
+;; Every far call is redirected to these call methods. Its purpose is to:
+;;
+;; 1/ Save the current page on the stack (1 byte to follow 68HC12 call frame)
+;; 2/ Install the new page
+;; 3/ Jump to the real function
+;;
+;; The page switching (get/save) is board dependent. The default provided
+;; here does nothing (just create the appropriate call frame).
+;;
+;; Call sequence (10 bytes, 13 cycles):
+;;
+;; ldx #page ; (3)
+;; ldy #func ; (4)
+;; jsr __call_a16 ; (6)
+;;
+;; Call trampoline (11 bytes, 19 cycles):
+;;
+__call_a16:
+ ;; xgdx ; (3)
+ ;; <Read current page in A> ; (3) ldaa _current_page
+ psha ; (2)
+ ;; <Set current page from B> ; (4) staa _current_page
+ ;; xgdx ; (3)
+ jmp 0,y ; (4)
+
+;;
+;; Call sequence (10 bytes, 14 cycles):
+;;
+;; pshb ; (2)
+;; ldab #page ; (2)
+;; ldy #func ; (4)
+;; jsr __call_a32 ; (6)
+;;
+;; Call trampoline (87 bytes, 57 cycles):
+;;
+__call_a32:
+ pshx ; (4)
+ psha ; (2)
+ ;; <Read current page in A> ; (3) ldaa _current_page
+ psha ; (2)
+ ;; <Set current page from B> ; (4) staa _current_page
+ tsx ; (3)
+ ldab 6,x ; (4) Restore function parameter
+ ldaa 5,x ; (4) Move PC return at good place
+ staa 6,x ; (4)
+ ldaa 4,x ; (4)
+ staa 5,x ; (4)
+ pula ; (3)
+ staa 4,x ; (4)
+ pula ; (3)
+ pulx ; (5)
+ jmp 0,y ; (4)
+#endif
+#endif
+
+#ifdef L_return_far
+#ifdef mc68hc11
+ .sect .tramp,"ax",@progbits
+ .globl __return_void
+ .globl __return_16
+ .globl __return_32
+
+__return_void:
+ ;; pulb
+ ;; <Set current page from B> (Board specific)
+ ;; rts
+__return_16:
+ ;; xgdx
+ ;; pulb
+ ;; <Set current page from B> (Board specific)
+ ;; xgdx
+ ;; rts
+__return_32:
+ ;; xgdy
+ ;; pulb
+ ;; <Set current page from B> (Board specific)
+ ;; xgdy
+ ;; rts
+ ins
+ rts
+#endif
#endif
.Lend:
;-----------------------------------------
diff --git a/gcc/config/m68hc11/m68hc11-protos.h b/gcc/config/m68hc11/m68hc11-protos.h
index c4a3fef0429..f10c3d08658 100644
--- a/gcc/config/m68hc11/m68hc11-protos.h
+++ b/gcc/config/m68hc11/m68hc11-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in m68hc11.c
- 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.
@@ -24,6 +24,7 @@ extern int m68hc11_override_options PARAMS((void));
extern int m68hc11_optimization_options PARAMS((int,int));
extern void m68hc11_conditional_register_usage PARAMS((void));
extern int hard_regno_mode_ok PARAMS((int, enum machine_mode));
+extern int m68hc11_hard_regno_rename_ok PARAMS((int, int));
extern int m68hc11_total_frame_size PARAMS((void));
extern int m68hc11_initial_frame_pointer_offset PARAMS((void));
@@ -42,18 +43,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,
@@ -132,7 +121,9 @@ extern int arith_src_operand PARAMS((rtx, enum machine_mode));
extern int m68hc11_logical_operator PARAMS((rtx, enum machine_mode));
extern int m68hc11_arith_operator PARAMS((rtx, enum machine_mode));
extern int m68hc11_non_shift_operator PARAMS((rtx, enum machine_mode));
+extern int m68hc11_shift_operator PARAMS((rtx, enum machine_mode));
extern int m68hc11_unary_operator PARAMS((rtx, enum machine_mode));
+extern int m68hc11_eq_compare_operator PARAMS((rtx, enum machine_mode));
extern int non_push_operand PARAMS((rtx, enum machine_mode));
extern int hard_reg_operand PARAMS((rtx, enum machine_mode));
extern int soft_reg_operand PARAMS((rtx, enum machine_mode));
@@ -152,10 +143,11 @@ extern int m68hc11_function_arg_pass_by_reference PARAMS((const CUMULATIVE_ARGS*
int));
extern int m68hc11_function_arg_padding PARAMS((enum machine_mode, tree));
-extern rtx m68hc11_va_arg PARAMS((tree,tree));
-
extern void m68hc11_function_epilogue PARAMS((FILE*,int));
+extern int m68hc11_is_far_symbol PARAMS((rtx));
+extern int m68hc11_is_trap_symbol PARAMS((rtx));
+
#endif /* TREE_CODE */
extern HOST_WIDE_INT m68hc11_min_offset;
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index ac16b527a97..eae5cc3091a 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;
@@ -284,7 +284,7 @@ m68hc11_override_options ()
m68hc11_sp_correction = 0;
m68hc11_tmp_regs_class = TMP_REGS;
target_flags &= ~MASK_M6811;
- target_flags |= MASK_NO_DIRECT_MODE | MASK_MIN_MAX;
+ target_flags |= MASK_NO_DIRECT_MODE;
if (m68hc11_soft_reg_count == 0)
m68hc11_soft_reg_count = "0";
@@ -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,
@@ -385,6 +384,23 @@ hard_regno_mode_ok (regno, mode)
}
}
+int
+m68hc11_hard_regno_rename_ok (reg1, reg2)
+ int reg1, reg2;
+{
+ /* Don't accept renaming to Z register. We will replace it to
+ X,Y or D during machine reorg pass. */
+ if (reg2 == HARD_Z_REGNUM)
+ return 0;
+
+ /* Don't accept renaming D,X to Y register as the code will be bigger. */
+ if (TARGET_M6811 && reg2 == HARD_Y_REGNUM
+ && (D_REGNO_P (reg1) || X_REGNO_P (reg1)))
+ return 0;
+
+ return 1;
+}
+
enum reg_class
preferred_reload_class (operand, class)
rtx operand;
@@ -1000,6 +1016,9 @@ d_register_operand (operand, mode)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{
+ if (GET_MODE (operand) != mode && mode != VOIDmode)
+ return 0;
+
if (GET_CODE (operand) == SUBREG)
operand = XEXP (operand, 0);
@@ -1014,6 +1033,9 @@ hard_addr_reg_operand (operand, mode)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{
+ if (GET_MODE (operand) != mode && mode != VOIDmode)
+ return 0;
+
if (GET_CODE (operand) == SUBREG)
operand = XEXP (operand, 0);
@@ -1026,8 +1048,11 @@ hard_addr_reg_operand (operand, mode)
int
hard_reg_operand (operand, mode)
rtx operand;
- enum machine_mode mode ATTRIBUTE_UNUSED;
+ enum machine_mode mode;
{
+ if (GET_MODE (operand) != mode && mode != VOIDmode)
+ return 0;
+
if (GET_CODE (operand) == SUBREG)
operand = XEXP (operand, 0);
@@ -1103,6 +1128,14 @@ symbolic_memory_operand (op, mode)
}
int
+m68hc11_eq_compare_operator (op, mode)
+ register rtx op;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+{
+ return GET_CODE (op) == EQ || GET_CODE (op) == NE;
+}
+
+int
m68hc11_logical_operator (op, mode)
register rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
@@ -1131,6 +1164,16 @@ m68hc11_non_shift_operator (op, mode)
|| GET_CODE (op) == PLUS || GET_CODE (op) == MINUS;
}
+/* Return true if op is a shift operator. */
+int
+m68hc11_shift_operator (op, mode)
+ register rtx op;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+{
+ return GET_CODE (op) == ROTATE || GET_CODE (op) == ROTATERT
+ || GET_CODE (op) == LSHIFTRT || GET_CODE (op) == ASHIFT
+ || GET_CODE (op) == ASHIFTRT;
+}
int
m68hc11_unary_operator (op, mode)
@@ -1196,9 +1239,16 @@ const struct attribute_spec m68hc11_attribute_table[] =
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler } */
{ "interrupt", 0, 0, false, true, true, m68hc11_handle_fntype_attribute },
{ "trap", 0, 0, false, true, true, m68hc11_handle_fntype_attribute },
+ { "far", 0, 0, false, true, true, m68hc11_handle_fntype_attribute },
+ { "near", 0, 0, false, true, true, m68hc11_handle_fntype_attribute },
{ NULL, 0, 0, false, false, false, NULL }
};
+/* Keep track of the symbol which has a `trap' attribute and which uses
+ the `swi' calling convention. Since there is only one trap, we only
+ record one such symbol. If there are several, a warning is reported. */
+static rtx trap_handler_symbol = 0;
+
/* Handle an attribute requiring a FUNCTION_TYPE, FIELD_DECL or TYPE_DECL;
arguments as in struct attribute_spec.handler. */
static tree
@@ -1210,6 +1260,7 @@ m68hc11_handle_fntype_attribute (node, name, args, flags, no_add_attrs)
bool *no_add_attrs;
{
if (TREE_CODE (*node) != FUNCTION_TYPE
+ && TREE_CODE (*node) != METHOD_TYPE
&& TREE_CODE (*node) != FIELD_DECL
&& TREE_CODE (*node) != TYPE_DECL)
{
@@ -1232,16 +1283,56 @@ m68hc11_encode_section_info (decl, first)
{
tree func_attr;
int trap_handler;
+ int is_far = 0;
rtx rtl;
-
+
if (TREE_CODE (decl) != FUNCTION_DECL)
return;
rtl = DECL_RTL (decl);
func_attr = TYPE_ATTRIBUTES (TREE_TYPE (decl));
+
+
+ if (lookup_attribute ("far", func_attr) != NULL_TREE)
+ is_far = 1;
+ else if (lookup_attribute ("near", func_attr) == NULL_TREE)
+ is_far = TARGET_LONG_CALLS != 0;
+
trap_handler = lookup_attribute ("trap", func_attr) != NULL_TREE;
- SYMBOL_REF_FLAG (XEXP (rtl, 0)) = trap_handler;
+ if (trap_handler && is_far)
+ {
+ warning ("`trap' and `far' attributes are not compatible, ignoring `far'");
+ trap_handler = 0;
+ }
+ if (trap_handler)
+ {
+ if (trap_handler_symbol != 0)
+ warning ("`trap' attribute is already used");
+ else
+ trap_handler_symbol = XEXP (rtl, 0);
+ }
+ SYMBOL_REF_FLAG (XEXP (rtl, 0)) = is_far;
+}
+
+int
+m68hc11_is_far_symbol (sym)
+ rtx sym;
+{
+ if (GET_CODE (sym) == MEM)
+ sym = XEXP (sym, 0);
+
+ return SYMBOL_REF_FLAG (sym);
+}
+
+int
+m68hc11_is_trap_symbol (sym)
+ rtx sym;
+{
+ if (GET_CODE (sym) == MEM)
+ sym = XEXP (sym, 0);
+
+ return trap_handler_symbol != 0 && rtx_equal_p (trap_handler_symbol, sym);
}
@@ -1281,6 +1372,14 @@ m68hc11_initial_elimination_offset (from, to)
/* For a trap handler, we must take into account the registers which
are pushed on the stack during the trap (except the PC). */
func_attr = TYPE_ATTRIBUTES (TREE_TYPE (current_function_decl));
+
+ if (lookup_attribute ("far", func_attr) != 0)
+ current_function_far = 1;
+ else if (lookup_attribute ("near", func_attr) != 0)
+ current_function_far = 0;
+ else
+ current_function_far = TARGET_LONG_CALLS != 0;
+
trap_handler = lookup_attribute ("trap", func_attr) != NULL_TREE;
if (trap_handler && from == ARG_POINTER_REGNUM)
size = 7;
@@ -1452,51 +1551,6 @@ m68hc11_function_arg (cum, mode, type, named)
return NULL_RTX;
}
-rtx
-m68hc11_va_arg (valist, type)
- tree valist;
- tree type;
-{
- tree addr_tree, t;
- HOST_WIDE_INT align;
- HOST_WIDE_INT rounded_size;
- rtx addr;
- int pad_direction;
-
- /* Compute the rounded size of the type. */
- align = PARM_BOUNDARY / BITS_PER_UNIT;
- rounded_size = (((int_size_in_bytes (type) + align - 1) / align) * align);
-
- /* Get AP. */
- addr_tree = valist;
- pad_direction = m68hc11_function_arg_padding (TYPE_MODE (type), type);
-
- if (pad_direction == downward)
- {
- /* Small args are padded downward. */
-
- HOST_WIDE_INT adj;
- adj = TREE_INT_CST_LOW (TYPE_SIZE (type)) / BITS_PER_UNIT;
- if (rounded_size > align)
- adj = rounded_size;
-
- addr_tree = build (PLUS_EXPR, TREE_TYPE (addr_tree), addr_tree,
- build_int_2 (rounded_size - adj, 0));
- }
-
- addr = expand_expr (addr_tree, NULL_RTX, Pmode, EXPAND_NORMAL);
- addr = copy_to_reg (addr);
-
- /* Compute new value for AP. */
- t = build (MODIFY_EXPR, TREE_TYPE (valist), valist,
- build (PLUS_EXPR, TREE_TYPE (valist), valist,
- build_int_2 (rounded_size, 0)));
- TREE_SIDE_EFFECTS (t) = 1;
- expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
-
- return addr;
-}
-
/* If defined, a C expression which determines whether, and in which direction,
to pad out an argument with extra space. The value should be of type
`enum direction': either `upward' to pad above the argument,
@@ -1620,6 +1674,12 @@ expand_prologue ()
current_function_interrupt = lookup_attribute ("interrupt",
func_attr) != NULL_TREE;
current_function_trap = lookup_attribute ("trap", func_attr) != NULL_TREE;
+ if (lookup_attribute ("far", func_attr) != NULL_TREE)
+ current_function_far = 1;
+ else if (lookup_attribute ("near", func_attr) != NULL_TREE)
+ current_function_far = 0;
+ else
+ current_function_far = TARGET_LONG_CALLS != 0;
/* Get the scratch register to build the frame and push registers.
If the first argument is a 32-bit quantity, the D+X registers
@@ -1630,6 +1690,10 @@ expand_prologue ()
else
scratch = ix_reg;
+ /* Save current stack frame. */
+ if (frame_pointer_needed)
+ emit_move_after_reload (stack_push_word, hard_frame_pointer_rtx, scratch);
+
/* For an interrupt handler, we must preserve _.tmp, _.z and _.xy.
Other soft registers in page0 need not to be saved because they
will be restored by C functions. For a trap handler, we don't
@@ -1644,17 +1708,13 @@ expand_prologue ()
scratch);
}
- /* Save current stack frame. */
- if (frame_pointer_needed)
- emit_move_after_reload (stack_push_word, hard_frame_pointer_rtx, scratch);
-
/* Allocate local variables. */
if (TARGET_M6812 && (size > 4 || size == 3))
{
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;
@@ -1721,7 +1781,7 @@ expand_epilogue ()
else
return_size = GET_MODE_SIZE (GET_MODE (current_function_return_rtx));
- if (return_size > HARD_REG_SIZE)
+ if (return_size > HARD_REG_SIZE && return_size <= 2 * HARD_REG_SIZE)
scratch = iy_reg;
else
scratch = ix_reg;
@@ -1742,7 +1802,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;
@@ -1768,10 +1828,6 @@ expand_epilogue ()
stack_pointer_rtx, GEN_INT (1)));
}
- /* Restore previous frame pointer. */
- if (frame_pointer_needed)
- emit_move_after_reload (hard_frame_pointer_rtx, stack_pop_word, scratch);
-
/* For an interrupt handler, restore ZTMP, ZREG and XYREG. */
if (current_function_interrupt)
{
@@ -1782,6 +1838,10 @@ expand_epilogue ()
emit_move_after_reload (m68hc11_soft_tmp_reg, stack_pop_word, scratch);
}
+ /* Restore previous frame pointer. */
+ if (frame_pointer_needed)
+ emit_move_after_reload (hard_frame_pointer_rtx, stack_pop_word, scratch);
+
/* If the trap handler returns some value, copy the value
in D, X onto the stack so that the rti will pop the return value
correctly. */
@@ -2163,6 +2223,10 @@ print_operand (file, op, letter)
asm_print_register (file, REGNO (op));
fprintf (file, "+1");
}
+ else if (letter == 'b' && D_REG_P (op))
+ {
+ asm_print_register (file, HARD_B_REGNUM);
+ }
else
{
asm_print_register (file, REGNO (op));
@@ -3214,6 +3278,17 @@ m68hc11_gen_movhi (insn, operands)
{
if (SP_REG_P (operands[0]))
output_asm_insn ("lds\t%1", operands);
+ else if (0 /* REG_WAS_0 note is boggus; don't rely on it. */
+ && !D_REG_P (operands[0])
+ && GET_CODE (operands[1]) == CONST_INT
+ && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
+ && find_reg_note (insn, REG_WAS_0, 0))
+ {
+ if (INTVAL (operands[1]) == 1)
+ output_asm_insn ("in%0", operands);
+ else
+ output_asm_insn ("de%0", operands);
+ }
else
output_asm_insn ("ld%0\t%1", operands);
}
@@ -3379,11 +3454,17 @@ m68hc11_gen_movhi (insn, operands)
output_asm_insn ("xgdx", operands);
CC_STATUS_INIT;
}
- else
+ else if (!optimize_size)
{
output_asm_insn ("sty\t%t1", operands);
output_asm_insn ("ldx\t%t1", operands);
}
+ else
+ {
+ CC_STATUS_INIT;
+ output_asm_insn ("pshy", operands);
+ output_asm_insn ("pulx", operands);
+ }
}
else if (SP_REG_P (operands[1]))
{
@@ -3391,6 +3472,16 @@ m68hc11_gen_movhi (insn, operands)
cc_status = cc_prev_status;
output_asm_insn ("tsx", operands);
}
+ else if (0 /* REG_WAS_0 note is boggus; don't rely on it. */
+ && GET_CODE (operands[1]) == CONST_INT
+ && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
+ && find_reg_note (insn, REG_WAS_0, 0))
+ {
+ if (INTVAL (operands[1]) == 1)
+ output_asm_insn ("in%0", operands);
+ else
+ output_asm_insn ("de%0", operands);
+ }
else
{
output_asm_insn ("ldx\t%1", operands);
@@ -3421,11 +3512,17 @@ m68hc11_gen_movhi (insn, operands)
output_asm_insn ("xgdy", operands);
CC_STATUS_INIT;
}
- else
+ else if (!optimize_size)
{
output_asm_insn ("stx\t%t1", operands);
output_asm_insn ("ldy\t%t1", operands);
}
+ else
+ {
+ CC_STATUS_INIT;
+ output_asm_insn ("pshx", operands);
+ output_asm_insn ("puly", operands);
+ }
}
else if (SP_REG_P (operands[1]))
{
@@ -3433,7 +3530,17 @@ m68hc11_gen_movhi (insn, operands)
cc_status = cc_prev_status;
output_asm_insn ("tsy", operands);
}
- else
+ else if (0 /* REG_WAS_0 note is boggus; don't rely on it. */
+ && GET_CODE (operands[1]) == CONST_INT
+ && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
+ && find_reg_note (insn, REG_WAS_0, 0))
+ {
+ if (INTVAL (operands[1]) == 1)
+ output_asm_insn ("in%0", operands);
+ else
+ output_asm_insn ("de%0", operands);
+ }
+ else
{
output_asm_insn ("ldy\t%1", operands);
}
@@ -3673,6 +3780,16 @@ m68hc11_gen_movqi (insn, operands)
output_asm_insn ("ldab\t%T0", operands);
}
}
+ else if (0 /* REG_WAS_0 note is boggus; don't rely on it. */
+ && GET_CODE (operands[1]) == CONST_INT
+ && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
+ && find_reg_note (insn, REG_WAS_0, 0))
+ {
+ if (INTVAL (operands[1]) == 1)
+ output_asm_insn ("inc%b0", operands);
+ else
+ output_asm_insn ("dec%b0", operands);
+ }
else if (!DB_REG_P (operands[1]) && !D_REG_P (operands[1])
&& !DA_REG_P (operands[1]))
{
@@ -3881,15 +3998,15 @@ m68hc11_gen_rotate (code, insn, operands)
if (val > 0)
{
- /* Set the carry to bit-15, but don't change D yet. */
- if (GET_MODE (operands[0]) != QImode)
- {
- output_asm_insn ("asra", operands);
- output_asm_insn ("rola", operands);
- }
-
while (--val >= 0)
{
+ /* Set the carry to bit-15, but don't change D yet. */
+ if (GET_MODE (operands[0]) != QImode)
+ {
+ output_asm_insn ("asra", operands);
+ output_asm_insn ("rola", operands);
+ }
+
/* Rotate B first to move the carry to bit-0. */
if (D_REG_P (operands[0]))
output_asm_insn ("rolb", operands);
@@ -3900,14 +4017,12 @@ m68hc11_gen_rotate (code, insn, operands)
}
else
{
- /* Set the carry to bit-8 of D. */
- if (val != 0 && GET_MODE (operands[0]) != QImode)
- {
- output_asm_insn ("tap", operands);
- }
-
while (++val <= 0)
{
+ /* Set the carry to bit-8 of D. */
+ if (GET_MODE (operands[0]) != QImode)
+ output_asm_insn ("tap", operands);
+
/* Rotate B first to move the carry to bit-7. */
if (D_REG_P (operands[0]))
output_asm_insn ("rorb", operands);
@@ -4103,8 +4218,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));
@@ -4204,7 +4317,7 @@ m68hc11_check_z_replacement (insn, info)
info->need_save_z = 0;
info->found_call = 1;
info->regno = SOFT_Z_REGNUM;
- info->last = insn;
+ info->last = NEXT_INSN (insn);
}
return 0;
}
@@ -4338,7 +4451,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 +4534,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 +5183,12 @@ 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 +5204,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 +5302,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 +5634,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 +5667,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..0f21e20a985 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)
@@ -164,9 +176,9 @@ extern short *reg_renumber; /* def in local_alloc.c */
N_("Auto pre/post decrement increment allowed")}, \
{ "noauto-incdec", - MASK_AUTO_INC_DEC, \
N_("Auto pre/post decrement increment not allowed")}, \
- { "inmax", MASK_MIN_MAX, \
+ { "inmax", MASK_MIN_MAX, \
N_("Min/max instructions allowed")}, \
- { "nominmax", MASK_MIN_MAX, \
+ { "nominmax", - MASK_MIN_MAX, \
N_("Min/max instructions not allowed")}, \
{ "long-calls", MASK_LONG_CALLS, \
N_("Use call and rtc for function calls and returns")}, \
@@ -174,14 +186,20 @@ extern short *reg_renumber; /* def in local_alloc.c */
N_("Use jsr and rts for function calls and returns")}, \
{ "relax", MASK_NO_DIRECT_MODE, \
N_("Do not use direct addressing mode for soft registers")},\
+ { "norelax", -MASK_NO_DIRECT_MODE, \
+ N_("Use direct addressing mode for soft registers")}, \
{ "68hc11", MASK_M6811, \
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 +232,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
@@ -555,6 +573,7 @@ enum reg_class
D_OR_S_REGS, /* 16-bit soft register or D register */
X_OR_S_REGS, /* 16-bit soft register or X register */
Y_OR_S_REGS, /* 16-bit soft register or Y register */
+ Z_OR_S_REGS, /* 16-bit soft register or Z register */
SP_OR_S_REGS, /* 16-bit soft register or SP register */
D_OR_X_OR_S_REGS, /* 16-bit soft register or D or X register */
D_OR_Y_OR_S_REGS, /* 16-bit soft register or D or Y register */
@@ -601,6 +620,7 @@ enum reg_class
"D_OR_S_REGS", \
"X_OR_S_REGS", \
"Y_OR_S_REGS", \
+ "Z_OR_S_REGS", \
"SP_OR_S_REGS", \
"D_OR_X_OR_S_REGS", \
"D_OR_Y_OR_S_REGS", \
@@ -669,6 +689,7 @@ enum reg_class
/* D_OR_S_REGS */ { 0xFFFFDE02, 0x00007FFF }, /* D _.D */ \
/* X_OR_S_REGS */ { 0xFFFFDE01, 0x00007FFF }, /* X _.D */ \
/* Y_OR_S_REGS */ { 0xFFFFDE04, 0x00007FFF }, /* Y _.D */ \
+/* Z_OR_S_REGS */ { 0xFFFFDF00, 0x00007FFF }, /* Z _.D */ \
/* SP_OR_S_REGS */ { 0xFFFFDE08, 0x00007FFF }, /* SP _.D */ \
/* D_OR_X_OR_S_REGS */ { 0xFFFFDE03, 0x00007FFF }, /* D X _.D */ \
/* D_OR_Y_OR_S_REGS */ { 0xFFFFDE06, 0x00007FFF }, /* D Y _.D */ \
@@ -780,6 +801,12 @@ extern enum reg_class m68hc11_tmp_regs_class;
#define SMALL_REGISTER_CLASSES 1
+/* A C expression that is nonzero if hard register number REGNO2 can be
+ considered for use as a rename register for REGNO1 */
+
+#define HARD_REGNO_RENAME_OK(REGNO1,REGNO2) \
+ m68hc11_hard_regno_rename_ok ((REGNO1), (REGNO2))
+
/* A C expression whose value is nonzero if pseudos that have been
assigned to registers of class CLASS would likely be spilled
because registers of CLASS are needed for spill registers.
@@ -835,6 +862,7 @@ extern enum reg_class m68hc11_tmp_regs_class;
(C) == 'L' ? ((VALUE) >= -65536 && (VALUE) <= 65535) : \
(C) == 'M' ? ((VALUE) & 0x0ffffL) == 0 : \
(C) == 'N' ? ((VALUE) == 1 || (VALUE) == -1) : \
+ (C) == 'I' ? ((VALUE) >= -2 && (VALUE) <= 2) : \
(C) == 'O' ? (VALUE) == 16 : \
(C) == 'P' ? ((VALUE) <= 2 && (VALUE) >= -8) : 0)
@@ -1031,6 +1059,10 @@ typedef struct m68hc11_args
#define FUNCTION_ARG_PADDING(MODE, TYPE) \
m68hc11_function_arg_padding ((MODE), (TYPE))
+#undef PAD_VARARGS_DOWN
+#define PAD_VARARGS_DOWN \
+ (m68hc11_function_arg_padding (TYPE_MODE (type), type) == downward)
+
/* A C expression that indicates when it is the called function's
responsibility to make a copy of arguments passed by invisible
reference. Normally, the caller makes a copy and passes the
@@ -1077,10 +1109,6 @@ typedef struct m68hc11_args
caller saving results in spill failure. */
#define CALLER_SAVE_PROFITABLE(REFS,CALLS) 0
-/* Implement `va_arg'. */
-#define EXPAND_BUILTIN_VA_ARG(valist, type) \
- m68hc11_va_arg (valist, type)
-
/* For an arg passed partly in registers and partly in memory,
this is the number of registers used.
For args passed entirely in registers or entirely in memory, zero.
@@ -1578,7 +1606,7 @@ do { \
fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
putc ('\n', FILE); \
\
- if (TARGET_M6812 && current_function_far) \
+ if (current_function_far) \
{ \
fprintf (FILE, "\t.far\t"); \
assemble_name (FILE, NAME); \
@@ -1589,7 +1617,7 @@ do { \
{ \
fprintf (FILE, "\t.interrupt\t"); \
assemble_name (FILE, NAME); \
- putc ('\b', FILE); \
+ putc ('\n', FILE); \
} \
ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \
ASM_OUTPUT_LABEL(FILE, NAME); \
@@ -1668,6 +1696,10 @@ do { \
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+/* For the support of memory banks we need addresses that indicate
+ the page number. */
+#define DWARF2_ADDR_SIZE 4
+
/* The prefix for local labels. You should be able to define this as
an empty string, or any arbitrary string (such as ".", ".L%", etc)
without having to make any other changes to account for the specific
@@ -1694,6 +1726,8 @@ do { \
ROTATE, ROTATERT }}, \
{"m68hc11_non_shift_operator", {AND, IOR, XOR, PLUS, MINUS}}, \
{"m68hc11_unary_operator", {NEG, NOT, SIGN_EXTEND, ZERO_EXTEND}}, \
+{"m68hc11_shift_operator", {ASHIFT, ASHIFTRT, LSHIFTRT, ROTATE, ROTATERT}},\
+{"m68hc11_eq_compare_operator", {EQ, NE}}, \
{"non_push_operand", {SUBREG, REG, MEM}}, \
{"reg_or_some_mem_operand", {SUBREG, REG, MEM}}, \
{"tst_operand", {SUBREG, REG, MEM}}, \
@@ -1751,3 +1785,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..b986e6503e2 100644
--- a/gcc/config/m68hc11/m68hc11.md
+++ b/gcc/config/m68hc11/m68hc11.md
@@ -1,5 +1,5 @@
;;- Machine description file for 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.
@@ -143,6 +143,7 @@
(A_REGNUM 5) ; A (high part of D)
(B_REGNUM 6) ; B (low part of D)
(CC_REGNUM 7) ; Condition code register
+ (SOFT_Z_REGNUM 11) ; Z soft register
])
;;--------------------------------------------------------------------
@@ -258,7 +259,7 @@
[(set (cc0)
(match_operand:QI 0 "tst_operand" ""))
(use (match_operand:HI 1 "hard_reg_operand" ""))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
"z_replacement_completed == 2"
[(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 1))
(set (match_dup 1) (match_dup 2))
@@ -365,7 +366,7 @@
(compare (match_operand:HI 0 "tst_operand" "dxy,m")
(match_operand:HI 1 "cmp_operand" "m,dxy")))
(use (match_operand:HI 2 "hard_reg_operand" "dxy,dxy"))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
""
"#")
@@ -374,7 +375,7 @@
(compare (match_operand:HI 0 "tst_operand" "")
(match_operand:HI 1 "cmp_operand" "")))
(use (match_operand:HI 2 "hard_reg_operand" ""))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
"z_replacement_completed == 2"
[(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 2))
(set (match_dup 2) (match_dup 3))
@@ -444,7 +445,7 @@
[(set (cc0)
(and:QI (match_operand:QI 0 "tst_operand" "")
(match_operand:QI 1 "hard_addr_reg_operand" "")))]
- "z_replacement_completed == 2 && GET_MODE (operands[0]) == QImode"
+ "z_replacement_completed == 2"
[(set (match_dup 3) (match_dup 2))
(set (cc0) (and:QI (match_dup 0) (match_dup 4)))]
"operands[2] = gen_rtx (REG, HImode, REGNO (operands[1]));
@@ -456,7 +457,7 @@
(and:QI (match_operand:QI 0 "tst_operand" "d,m")
(match_operand:QI 1 "cmp_operand" "m,d")))
(use (match_operand:HI 2 "hard_reg_operand" "xy,xy"))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
""
"#")
@@ -465,12 +466,12 @@
(and:QI (match_operand:QI 0 "tst_operand" "")
(match_operand:QI 1 "cmp_operand" "")))
(use (match_operand:HI 2 "hard_reg_operand" ""))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
"z_replacement_completed == 2"
- [(set (mem:HI (pre_dec:HI (reg:HI 3))) (match_dup 2))
+ [(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 2))
(set (match_dup 2) (match_dup 3))
(set (cc0) (and:QI (match_dup 0) (match_dup 1)))
- (set (match_dup 2) (mem:HI (post_inc:HI (reg:HI 3))))]
+ (set (match_dup 2) (mem:HI (post_inc:HI (reg:HI SP_REGNUM))))]
"operands[3] = gen_rtx (REG, HImode, SOFT_Z_REGNUM);")
(define_insn "bitcmphi"
@@ -546,7 +547,7 @@
(compare (match_operand:QI 0 "tst_operand" "dxy,m")
(match_operand:QI 1 "cmp_operand" "m,dxy")))
(use (match_operand:HI 2 "hard_reg_operand" "dxy,dxy"))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
""
"#")
@@ -555,7 +556,7 @@
(compare (match_operand:QI 0 "tst_operand" "")
(match_operand:QI 1 "cmp_operand" "")))
(use (match_operand:HI 2 "hard_reg_operand" ""))
- (use (reg:HI 11))]
+ (use (reg:HI SOFT_Z_REGNUM))]
"z_replacement_completed == 2"
[(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 2))
(set (match_dup 2) (match_dup 3))
@@ -620,7 +621,7 @@
;; because there is no memory->memory moves. It must be defined with
;; earlyclobber (&) so that it does not appear in the source or destination
;; address. Providing patterns for movdi/movdf allows GCC to generate
-;; better code. [Until now, the scratch register is limited to D becuse
+;; better code. [Until now, the scratch register is limited to D because
;; otherwise we can run out of registers in the A_REGS class for reload].
;;
;; For 68HC12, the scratch register is not necessary. To use the same
@@ -2089,9 +2090,9 @@
}")
(define_insn "*addhi3_68hc12"
- [(set (match_operand:HI 0 "register_operand" "=xy,d,xy*z*w,xy*z*w,xy*z")
+ [(set (match_operand:HI 0 "register_operand" "=xyd,d,xy*z*w,xy*z*w,xy*z")
(plus:HI (match_operand:HI 1 "register_operand" "%0,0,0,xy*zw,0")
- (match_operand:HI 2 "general_operand" "N,im*A*wu,id,id,!mu*A")))]
+ (match_operand:HI 2 "general_operand" "i,m*A*wu,id,id,!mu*A")))]
"TARGET_M6812"
"*
{
@@ -2278,9 +2279,9 @@
}")
(define_insn "*addhi3"
- [(set (match_operand:HI 0 "hard_reg_operand" "=A,d,!A,d*A,!d*A")
- (plus:HI (match_operand:HI 1 "general_operand" "%0,0,0,0,0")
- (match_operand:HI 2 "general_operand" "N,i,I,mi*A*d,!u*d*w")))]
+ [(set (match_operand:HI 0 "hard_reg_operand" "=A,dA,d,!A,d*A,!d*A")
+ (plus:HI (match_operand:HI 1 "general_operand" "%0,0,0,0,0,0")
+ (match_operand:HI 2 "general_operand" "N,I,i,I,mi*A*d,!u*d*w")))]
"TARGET_M6811"
"*
{
@@ -2894,12 +2895,15 @@
}")
(define_insn "mulqi3"
- [(set (match_operand:QI 0 "register_operand" "=d")
- (mult:QI (match_operand:QI 1 "nonimmediate_operand" "dum")
- (match_operand:QI 2 "nonimmediate_operand" "dum")))]
+ [(set (match_operand:QI 0 "register_operand" "=d,*x,*y")
+ (mult:QI (match_operand:QI 1 "nonimmediate_operand" "%dum,0,0")
+ (match_operand:QI 2 "general_operand" "dium,*xium,*yium")))]
""
"*
{
+ if (A_REG_P (operands[0]))
+ return \"#\";
+
if (D_REG_P (operands[1]) && D_REG_P (operands[2]))
{
output_asm_insn (\"tba\", operands);
@@ -2925,6 +2929,28 @@
return \"mul\";
}")
+(define_split
+ [(set (match_operand:QI 0 "hard_addr_reg_operand" "")
+ (mult:QI (match_operand:QI 1 "general_operand" "")
+ (match_operand:QI 2 "general_operand" "")))]
+ "z_replacement_completed == 2"
+ [(parallel [(set (reg:HI D_REGNUM) (match_dup 3))
+ (set (match_dup 3) (reg:HI D_REGNUM))])
+ (set (reg:QI D_REGNUM) (mult:QI (match_dup 5) (match_dup 6)))
+ (parallel [(set (reg:HI D_REGNUM) (match_dup 3))
+ (set (match_dup 3) (reg:HI D_REGNUM))])]
+ "
+ operands[3] = gen_rtx (REG, HImode, REGNO (operands[0]));
+ if (A_REG_P (operands[1]))
+ operands[5] = gen_rtx (REG, QImode, HARD_D_REGNUM);
+ else
+ operands[5] = operands[1];
+ if (A_REG_P (operands[2]))
+ operands[6] = gen_rtx (REG, QImode, HARD_D_REGNUM);
+ else
+ operands[6] = operands[2];
+ ")
+
(define_insn "mulqihi3"
[(set (match_operand:HI 0 "register_operand" "=d,d")
(mult:HI (sign_extend:HI
@@ -4446,15 +4472,21 @@
(set (match_dup 4) (match_dup 2))
(set (match_dup 2) (match_dup 5))
- (set (match_dup 2) (rotate:HI (match_dup 2) (reg:HI CC_REGNUM)))
+ (parallel [(set (match_dup 2)
+ (rotate:HI (match_dup 2) (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))])
(set (match_dup 6) (match_dup 2))
(set (match_dup 2) (match_dup 7))
- (set (match_dup 2) (rotate:HI (match_dup 2) (reg:HI CC_REGNUM)))
+ (parallel [(set (match_dup 2)
+ (rotate:HI (match_dup 2) (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))])
(set (match_dup 8) (match_dup 2))
(set (match_dup 2) (match_dup 9))
- (set (match_dup 2) (rotate:HI (match_dup 2) (reg:HI CC_REGNUM)))
+ (parallel [(set (match_dup 2)
+ (rotate:HI (match_dup 2) (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))])
(set (match_dup 10) (match_dup 2))]
"operands[3] = m68hc11_gen_lowpart (SImode, operands[1]);
operands[5] = m68hc11_gen_highpart (HImode, operands[3]);
@@ -4757,13 +4789,16 @@
(define_insn "*ashlhi3_2"
- [(set (match_operand:HI 0 "register_operand" "=d")
- (ashift:HI (match_operand:HI 1 "register_operand" "0")
- (match_operand:HI 2 "register_operand" "+x")))
+ [(set (match_operand:HI 0 "register_operand" "=d,*x")
+ (ashift:HI (match_operand:HI 1 "register_operand" "0,0")
+ (match_operand:HI 2 "register_operand" "+x,+d")))
(clobber (match_dup 2))]
""
"*
{
+ if (A_REG_P (operands[0]))
+ return \"#\";
+
CC_STATUS_INIT;
return \"bsr\\t___lshlhi3\";
}")
@@ -5046,21 +5081,17 @@
}")
(define_insn "*ashrhi3"
- [(set (match_operand:HI 0 "register_operand" "=d,x")
+ [(set (match_operand:HI 0 "register_operand" "=d,*x")
(ashiftrt:HI (match_operand:HI 1 "register_operand" "0,0")
(match_operand:HI 2 "register_operand" "+x,+d")))
(clobber (match_dup 2))]
""
"*
{
- CC_STATUS_INIT;
- if (D_REG_P (operands[2]))
- output_asm_insn (\"xgd%0\", operands);
+ if (A_REG_P (operands[0]))
+ return \"#\";
output_asm_insn (\"bsr\\t___ashrhi3\", operands);
- if (D_REG_P (operands[2]))
- output_asm_insn (\"xgd%0\", operands);
-
return \"\";
}")
@@ -5310,15 +5341,18 @@
(set (match_dup 4) (match_dup 2))
(set (match_dup 2) (match_dup 5))
- (set (match_dup 2) (rotatert:HI (match_dup 2) (reg:HI CC_REGNUM)))
+ (parallel [(set (match_dup 2) (rotatert:HI (match_dup 2) (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))])
(set (match_dup 6) (match_dup 2))
(set (match_dup 2) (match_dup 7))
- (set (match_dup 2) (rotatert:HI (match_dup 2) (reg:HI CC_REGNUM)))
+ (parallel [(set (match_dup 2) (rotatert:HI (match_dup 2) (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))])
(set (match_dup 8) (match_dup 2))
(set (match_dup 2) (match_dup 9))
- (set (match_dup 2) (rotatert:HI (match_dup 2) (reg:HI CC_REGNUM)))
+ (parallel [(set (match_dup 2) (rotatert:HI (match_dup 2) (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))])
(set (match_dup 10) (match_dup 2))]
"operands[3] = m68hc11_gen_highpart (SImode, operands[1]);
operands[5] = m68hc11_gen_lowpart (HImode, operands[3]);
@@ -5594,22 +5628,17 @@
}")
(define_insn "*lshrhi3"
- [(set (match_operand:HI 0 "register_operand" "=d,x")
+ [(set (match_operand:HI 0 "register_operand" "=d,*x")
(lshiftrt:HI (match_operand:HI 1 "register_operand" "0,0")
(match_operand:HI 2 "register_operand" "+x,+d")))
(clobber (match_dup 2))]
""
"*
{
- CC_STATUS_INIT;
- if (D_REG_P (operands[2]))
- output_asm_insn (\"xgd%0\", operands);
-
- output_asm_insn (\"bsr\\t___lshrhi3\", operands);
- if (D_REG_P (operands[2]))
- output_asm_insn (\"xgd%0\", operands);
+ if (A_REG_P (operands[0]))
+ return \"#\";
- return \"\";
+ return \"bsr\\t___lshrhi3\";
}")
(define_expand "lshrqi3"
@@ -5750,7 +5779,8 @@
(define_insn "*rotlhi3_with_carry"
[(set (match_operand:HI 0 "register_operand" "=d")
(rotate:HI (match_operand:HI 1 "register_operand" "0")
- (reg:HI CC_REGNUM)))]
+ (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))]
""
"*
{
@@ -5761,7 +5791,8 @@
(define_insn "*rotrhi3_with_carry"
[(set (match_operand:HI 0 "register_operand" "=d")
(rotatert:HI (match_operand:HI 1 "register_operand" "0")
- (reg:HI CC_REGNUM)))]
+ (const_int 1)))
+ (clobber (reg:HI CC_REGNUM))]
""
"*
{
@@ -5780,7 +5811,41 @@
return \"\";
}")
-(define_insn "rotlhi3"
+(define_insn "rotrqi3"
+ [(set (match_operand:QI 0 "register_operand" "=d,!q")
+ (rotatert:QI (match_operand:QI 1 "register_operand" "0,0")
+ (match_operand:QI 2 "const_int_operand" "i,i")))]
+ ""
+ "*
+{
+ m68hc11_gen_rotate (ROTATERT, insn, operands);
+ return \"\";
+}")
+
+(define_expand "rotlhi3"
+ [(set (match_operand:HI 0 "register_operand" "")
+ (rotate:HI (match_operand:HI 1 "register_operand" "")
+ (match_operand:HI 2 "general_operand" "")))]
+ ""
+ "
+{
+ if (GET_CODE (operands[2]) != CONST_INT)
+ {
+ rtx scratch = gen_reg_rtx (HImode);
+ operand1 = force_reg (HImode, operand1);
+
+ emit_move_insn (scratch, operands[2]);
+ emit_insn (gen_rtx (PARALLEL, VOIDmode,
+ gen_rtvec (2, gen_rtx (SET, VOIDmode,
+ operand0,
+ gen_rtx_ROTATE (HImode,
+ operand1, scratch)),
+ gen_rtx (CLOBBER, VOIDmode, scratch))));
+ DONE;
+ }
+}")
+
+(define_insn "rotlhi3_const"
[(set (match_operand:HI 0 "register_operand" "=d")
(rotate:HI (match_operand:HI 1 "register_operand" "0")
(match_operand:HI 2 "const_int_operand" "i")))]
@@ -5791,18 +5856,44 @@
return \"\";
}")
-(define_insn "rotrqi3"
- [(set (match_operand:QI 0 "register_operand" "=d,!q")
- (rotatert:QI (match_operand:QI 1 "register_operand" "0,0")
- (match_operand:QI 2 "const_int_operand" "i,i")))]
+(define_insn "*rotlhi3"
+ [(set (match_operand:HI 0 "register_operand" "=d,*x")
+ (rotate:HI (match_operand:HI 1 "register_operand" "0,0")
+ (match_operand:HI 2 "general_operand" "+x,+d")))
+ (clobber (match_dup 2))]
""
"*
{
- m68hc11_gen_rotate (ROTATERT, insn, operands);
- return \"\";
+ if (A_REG_P (operands[0]))
+ return \"#\";
+
+ return \"bsr\\t___rotlhi3\";
}")
-(define_insn "rotrhi3"
+(define_expand "rotrhi3"
+ [(set (match_operand:HI 0 "register_operand" "")
+ (rotatert:HI (match_operand:HI 1 "general_operand" "")
+ (match_operand:HI 2 "general_operand" "")))]
+ ""
+ "
+{
+ if (GET_CODE (operands[2]) != CONST_INT)
+ {
+ rtx scratch = gen_reg_rtx (HImode);
+ operand1 = force_reg (HImode, operand1);
+
+ emit_move_insn (scratch, operands[2]);
+ emit_insn (gen_rtx (PARALLEL, VOIDmode,
+ gen_rtvec (2, gen_rtx (SET, VOIDmode,
+ operand0,
+ gen_rtx_ROTATERT (HImode,
+ operand1, scratch)),
+ gen_rtx (CLOBBER, VOIDmode, scratch))));
+ DONE;
+ }
+}")
+
+(define_insn "rotrhi3_const"
[(set (match_operand:HI 0 "register_operand" "=d")
(rotatert:HI (match_operand:HI 1 "register_operand" "0")
(match_operand:HI 2 "const_int_operand" "i")))]
@@ -5813,6 +5904,242 @@
return \"\";
}")
+(define_insn "*rotrhi3"
+ [(set (match_operand:HI 0 "register_operand" "=d,*x")
+ (rotatert:HI (match_operand:HI 1 "register_operand" "0,0")
+ (match_operand:HI 2 "general_operand" "+x,+d")))
+ (clobber (match_dup 2))]
+ ""
+ "*
+{
+ if (A_REG_P (operands[0]))
+ return \"#\";
+
+ return \"bsr\\t___rotrhi3\";
+}")
+
+;; Split a shift operation on an address register in a shift
+;; on D_REGNUM.
+(define_split /* "*rotrhi3_addr" */
+ [(set (match_operand:HI 0 "hard_addr_reg_operand" "")
+ (match_operator:HI 3 "m68hc11_shift_operator"
+ [(match_operand:HI 1 "register_operand" "")
+ (match_operand:HI 2 "register_operand" "")]))
+ (clobber (match_dup 2))]
+ "z_replacement_completed == 2"
+ [(parallel [(set (reg:HI D_REGNUM) (match_dup 0))
+ (set (match_dup 0) (reg:HI D_REGNUM))])
+ (parallel [(set (reg:HI D_REGNUM)
+ (match_op_dup 3 [(reg:HI D_REGNUM) (match_dup 0)]))
+ (clobber (match_dup 0))])
+ (parallel [(set (reg:HI D_REGNUM) (match_dup 0))
+ (set (match_dup 0) (reg:HI D_REGNUM))])]
+ "")
+
+;;--------------------------------------------------------------------
+;;- 68HC12 Decrement/Increment and branch
+;;--------------------------------------------------------------------
+;; These patterns are used by loop optimization as well as peephole2
+;; They must handle reloading themselves and the scratch register
+;; is used for that. Even if we accept memory operand, we must not
+;; accept them on the predicate because it might create too many reloads.
+;; (specially on HC12 due to its auto-incdec addressing modes).
+;;
+(define_expand "decrement_and_branch_until_zero"
+ [(parallel [(set (pc)
+ (if_then_else
+ (ne (plus:HI (match_operand:HI 0 "register_operand" "")
+ (const_int 0))
+ (const_int 1))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:HI (match_dup 0)
+ (const_int -1)))
+ (clobber (match_scratch:HI 2 ""))])]
+ "TARGET_M6812"
+ "")
+
+(define_expand "doloop_end"
+ [(use (match_operand 0 "" "")) ; loop pseudo
+ (use (match_operand 1 "" "")) ; iterations; zero if unknown
+ (use (match_operand 2 "" "")) ; max iterations
+ (use (match_operand 3 "" "")) ; loop level
+ (use (match_operand 4 "" ""))] ; label
+ "TARGET_M6812"
+ "
+{
+ /* Reject non-constant loops as it generates bigger code due to
+ the handling of the loop register. We can do better by using
+ the peephole2 dbcc/ibcc patterns. */
+ if (INTVAL (operands[1]) == 0)
+ {
+ FAIL;
+ }
+ if (GET_MODE (operands[0]) == HImode)
+ {
+ emit_jump_insn (gen_m68hc12_dbcc_dec_hi (operands[0],
+ gen_rtx (NE, HImode),
+ operands[4]));
+ DONE;
+ }
+ if (GET_MODE (operands[0]) == QImode)
+ {
+ emit_jump_insn (gen_m68hc12_dbcc_dec_qi (operands[0],
+ gen_rtx (NE, QImode),
+ operands[4]));
+ DONE;
+ }
+
+ FAIL;
+}")
+
+;; Decrement-and-branch insns.
+(define_insn "m68hc12_dbcc_dec_hi"
+ [(set (pc)
+ (if_then_else
+ (match_operator 1 "m68hc11_eq_compare_operator"
+ [(match_operand:HI 0 "register_operand" "+dxy,m*u*z")
+ (const_int 1)])
+ (label_ref (match_operand 2 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:HI (match_dup 0) (const_int -1)))
+ (clobber (match_scratch:HI 3 "=X,dxy"))]
+ "TARGET_M6812"
+ "*
+{
+ if (!H_REG_P (operands[0]))
+ return \"#\";
+
+ CC_STATUS_INIT;
+ if (GET_CODE (operands[1]) == EQ)
+ return \"dbeq\\t%0,%l2\";
+ else
+ return \"dbne\\t%0,%l2\";
+}")
+
+;; Decrement-and-branch insns.
+(define_insn "m68hc12_dbcc_inc_hi"
+ [(set (pc)
+ (if_then_else
+ (match_operator 1 "m68hc11_eq_compare_operator"
+ [(match_operand:HI 0 "register_operand" "+dxy,m*u*z")
+ (const_int -1)])
+ (label_ref (match_operand 2 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:HI (match_dup 0) (const_int 1)))
+ (clobber (match_scratch:HI 3 "=X,dxy"))]
+ "TARGET_M6812"
+ "*
+{
+ if (!H_REG_P (operands[0]))
+ return \"#\";
+
+ CC_STATUS_INIT;
+ if (GET_CODE (operands[1]) == EQ)
+ return \"ibeq\\t%0,%l2\";
+ else
+ return \"ibeq\\t%0,%l2\";
+}")
+
+;; Decrement-and-branch (QImode).
+(define_insn "m68hc12_dbcc_dec_qi"
+ [(set (pc)
+ (if_then_else
+ (match_operator 1 "m68hc11_eq_compare_operator"
+ [(match_operand:QI 0 "register_operand" "+d,m*u*A")
+ (const_int 1)])
+ (label_ref (match_operand 2 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:QI (match_dup 0) (const_int -1)))
+ (clobber (match_scratch:QI 3 "=X,d"))]
+ "TARGET_M6812"
+ "*
+{
+ if (!D_REG_P (operands[0]))
+ return \"#\";
+
+ CC_STATUS_INIT;
+ if (GET_CODE (operands[1]) == EQ)
+ return \"dbeq\\tb,%l2\";
+ else
+ return \"dbne\\tb,%l2\";
+}")
+
+;; Increment-and-branch (QImode).
+(define_insn "m68hc12_dbcc_inc_qi"
+ [(set (pc)
+ (if_then_else
+ (match_operator 1 "m68hc11_eq_compare_operator"
+ [(match_operand:QI 0 "register_operand" "+d,m*u*A")
+ (const_int -1)])
+ (label_ref (match_operand 2 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:QI (match_dup 0) (const_int 1)))
+ (clobber (match_scratch:QI 3 "=X,d"))]
+ "TARGET_M6812"
+ "*
+{
+ if (!D_REG_P (operands[0]))
+ return \"#\";
+
+ CC_STATUS_INIT;
+ if (GET_CODE (operands[1]) == EQ)
+ return \"ibeq\\tb,%l2\";
+ else
+ return \"ibeq\\tb,%l2\";
+}")
+
+;; Split the above to handle the case where operand 0 is in memory
+;; (a register that couldn't get a hard register)
+(define_split
+ [(set (pc)
+ (if_then_else
+ (match_operator 3 "m68hc11_eq_compare_operator"
+ [(match_operand:HI 0 "general_operand" "")
+ (match_operand:HI 1 "const_int_operand" "")])
+ (label_ref (match_operand 4 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:HI (match_dup 0) (match_operand 2 "const_int_operand" "")))
+ (clobber (match_operand:HI 5 "hard_reg_operand" ""))]
+ "TARGET_M6812 && reload_completed"
+ [(set (match_dup 5) (match_dup 0))
+ (set (match_dup 5) (plus:HI (match_dup 5) (match_dup 2)))
+ (set (match_dup 0) (match_dup 5))
+ (set (pc)
+ (if_then_else (match_op_dup 3
+ [(match_dup 5) (const_int 0)])
+ (label_ref (match_dup 4)) (pc)))]
+ "")
+
+;; Split the above to handle the case where operand 0 is in memory
+;; (a register that couldn't get a hard register)
+(define_split
+ [(set (pc)
+ (if_then_else
+ (match_operator 3 "m68hc11_eq_compare_operator"
+ [(match_operand:QI 0 "general_operand" "")
+ (match_operand:QI 1 "const_int_operand" "")])
+ (label_ref (match_operand 4 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:QI (match_dup 0) (match_operand 2 "const_int_operand" "")))
+ (clobber (match_operand:QI 5 "hard_reg_operand" ""))]
+ "TARGET_M6812 && reload_completed"
+ [(set (match_dup 5) (match_dup 0))
+ (set (match_dup 5) (plus:QI (match_dup 5) (match_dup 2)))
+ (set (match_dup 0) (match_dup 5))
+ (set (pc)
+ (if_then_else (match_op_dup 3
+ [(match_dup 5) (const_int 0)])
+ (label_ref (match_dup 4)) (pc)))]
+ "")
+
;;--------------------------------------------------------------------
;;- Jumps and transfers
;;--------------------------------------------------------------------
@@ -6279,14 +6606,27 @@
""
"*
{
- int far_call = current_function_far;
-
if (GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
{
- if (SYMBOL_REF_FLAG (XEXP (operands[0], 0)) == 1)
+ if (m68hc11_is_far_symbol (operands[0]))
+ {
+ if (TARGET_M6812)
+ {
+ output_asm_insn (\"call\\t%0\", operands);
+ return \"\";
+ }
+ else
+ {
+ output_asm_insn (\"pshb\", operands);
+ output_asm_insn (\"ldab\\t#%%page(%0)\", operands);
+ output_asm_insn (\"ldy\\t#%%addr(%0)\", operands);
+ return \"jsr\\t__call_a32\";
+ }
+ }
+ if (m68hc11_is_trap_symbol (operands[0]))
return \"swi\";
else
- return far_call ? \"call\\t%0\" : \"bsr\\t%0\";
+ return \"bsr\\t%0\";
}
else
{
@@ -6301,14 +6641,27 @@
""
"*
{
- int far_call = current_function_far;
-
if (GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
{
- if (SYMBOL_REF_FLAG (XEXP (operands[1], 0)) == 1)
+ if (m68hc11_is_far_symbol (operands[1]))
+ {
+ if (TARGET_M6812)
+ {
+ output_asm_insn (\"call\\t%1\", operands);
+ return \"\";
+ }
+ else
+ {
+ output_asm_insn (\"pshb\", operands);
+ output_asm_insn (\"ldab\\t#%%page(%1)\", operands);
+ output_asm_insn (\"ldy\\t#%%addr(%1)\", operands);
+ return \"jsr\\t__call_a32\";
+ }
+ }
+ if (m68hc11_is_trap_symbol (operands[1]))
return \"swi\";
else
- return far_call ? \"call\\t%1\" : \"bsr\\t%1\";
+ return \"bsr\\t%1\";
}
else
{
@@ -6393,18 +6746,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;
}
}")
@@ -6422,7 +6775,25 @@
return \"\";
if (current_function_interrupt || current_function_trap)
return \"rti\";
- return current_function_far ? \"rtc\" : \"rts\";
+ else if (!current_function_far)
+ return \"rts\";
+ else if (TARGET_M6812)
+ return \"rtc\";
+ else
+ {
+ int ret_size = 0;
+
+ if (current_function_return_rtx)
+ ret_size = GET_MODE_SIZE (GET_MODE (current_function_return_rtx));
+
+ if (ret_size == 0)
+ return \"jmp\\t__return_void\";
+ if (ret_size <= 2)
+ return \"jmp\\t__return_16\";
+ if (ret_size <= 4)
+ return \"jmp\\t__return_32\";
+ return \"jmp\\t__return_16\";
+ }
}")
(define_insn "*return_16bit"
@@ -6439,7 +6810,12 @@
return \"\";
if (current_function_interrupt || current_function_trap)
return \"rti\";
- return current_function_far ? \"rtc\" : \"rts\";
+ else if (!current_function_far)
+ return \"rts\";
+ else if (TARGET_M6812)
+ return \"rtc\";
+ else
+ return \"jmp\\t__return_16\";
}")
(define_insn "*return_32bit"
@@ -6456,7 +6832,12 @@
return \"\";
if (current_function_interrupt || current_function_trap)
return \"rti\";
- return current_function_far ? \"rtc\" : \"rts\";
+ else if (!current_function_far)
+ return \"rts\";
+ else if (TARGET_M6812)
+ return \"rtc\";
+ else
+ return \"jmp\\t__return_32\";
}")
(define_insn "indirect_jump"
@@ -6488,6 +6869,62 @@
;;- Peepholes
;;--------------------------------------------------------------------
+;;--------------------------------------------------------------------
+;;- 68HC12 dbcc/ibcc peepholes
+;;--------------------------------------------------------------------
+;;
+;; Replace: "addd #-1; bne L1" into "dbne d,L1"
+;; "addd #-1; beq L1" into "dbeq d,L1"
+;; "addd #1; bne L1" into "ibne d,L1"
+;; "addd #1; beq L1" into "ibeq d,L1"
+;;
+(define_peephole2
+ [(set (match_operand:HI 0 "hard_reg_operand" "")
+ (plus:HI (match_dup 0)
+ (match_operand:HI 1 "const_int_operand" "")))
+ (set (pc)
+ (if_then_else (match_operator 2 "m68hc11_eq_compare_operator"
+ [(match_dup 0)
+ (const_int 0)])
+ (label_ref (match_operand 3 "" "")) (pc)))]
+ "TARGET_M6812 && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)"
+ [(parallel [
+ (set (pc) (if_then_else (match_op_dup 2 [(match_dup 0) (match_dup 5)])
+ (label_ref (match_dup 3)) (pc)))
+ (set (match_dup 0) (plus:HI (match_dup 0) (match_dup 1)))
+ (clobber (match_dup 4))])]
+ "operands[4] = gen_rtx_SCRATCH(HImode);
+ operands[5] = GEN_INT (-INTVAL (operands[1]));")
+
+
+;;
+;; Replace: "addb #-1; bne L1" into "dbne b,L1"
+;; "addb #-1; beq L1" into "dbeq b,L1"
+;;
+(define_peephole2
+ [(set (match_operand:QI 0 "hard_reg_operand" "")
+ (plus:QI (match_dup 0)
+ (match_operand:QI 1 "const_int_operand" "")))
+ (set (pc)
+ (if_then_else (match_operator 2 "m68hc11_eq_compare_operator"
+ [(match_dup 0)
+ (const_int 0)])
+ (label_ref (match_operand 3 "" "")) (pc)))]
+ "TARGET_M6812 && D_REG_P (operands[0])
+ && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)"
+ [(parallel [
+ (set (pc) (if_then_else (match_op_dup 2 [(match_dup 0) (match_dup 5)])
+ (label_ref (match_dup 3)) (pc)))
+ (set (match_dup 0) (plus:QI (match_dup 0) (match_dup 1)))
+ (clobber (match_dup 4))])]
+ "operands[4] = gen_rtx_SCRATCH(QImode);
+ operands[5] = GEN_INT (-INTVAL (operands[1]));")
+
+
+;;--------------------------------------------------------------------
+;;- Move peephole2
+;;--------------------------------------------------------------------
+
;;
;; Replace "leas 2,sp" with a "pulx" or a "puly".
;; On 68HC12, this is one cycle slower but one byte smaller.
@@ -6547,8 +6984,7 @@
(set (match_operand:HI 2 "hard_reg_operand" "")
(match_dup 1))]
"(D_REG_P (operands[2]) || X_REG_P (operands[2]) || Y_REG_P (operands[2]))
- && !reg_mentioned_p (operands[2], operands[0])
- && GET_MODE (operands[2]) == HImode"
+ && !reg_mentioned_p (operands[2], operands[0])"
[(set (match_dup 2) (match_dup 1))
(set (match_dup 0) (match_dup 2))]
"")
@@ -6673,6 +7109,29 @@
"")
;;
+;; Replace a "ldd <mem>; addd #N; std <mem>" into a
+;; "ldx <mem>; leax; stx <mem>" if we have a free X/Y register
+;; and the constant is small.
+;;
+(define_peephole2
+ [(set (match_operand:HI 0 "hard_reg_operand" "")
+ (match_operand:HI 1 "general_operand" ""))
+ (set (match_dup 0) (plus:HI (match_dup 0)
+ (match_operand:HI 2 "const_int_operand" "")))
+ (set (match_operand:HI 3 "nonimmediate_operand" "")
+ (match_dup 0))
+ (match_scratch:HI 4 "xy")]
+ "D_REG_P (operands[0])
+ && (TARGET_M6812
+ || (INTVAL (operands[2]) >= -2 && INTVAL (operands[2]) <= 2))
+ && peep2_reg_dead_p (3, operands[0])"
+ [(set (match_dup 4) (match_dup 1))
+ (set (match_dup 4) (plus:HI (match_dup 4) (match_dup 2)))
+ (set (match_dup 3) (match_dup 4))]
+ "if (reg_mentioned_p (operands[4], operands[1])) FAIL;
+ if (reg_mentioned_p (operands[4], operands[3])) FAIL;")
+
+;;
;; This peephole catches the address computations generated by the reload
;; pass.
(define_peephole
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/m68hc11/t-m68hc11-gas b/gcc/config/m68hc11/t-m68hc11-gas
index 1833fd56dc3..34153489441 100644
--- a/gcc/config/m68hc11/t-m68hc11-gas
+++ b/gcc/config/m68hc11/t-m68hc11-gas
@@ -23,9 +23,9 @@ LIB1ASMFUNCS = _mulsi3 \
_regs_min _regs_frame _regs_d1_2 \
_regs_d3_4 _regs_d5_6 _regs_d7_8 _regs_d9_16 _regs_d17_32 \
_premain __exit _abort _cleanup \
- _adddi3 _subdi3 _notdi2 \
+ _adddi3 _subdi3 _notdi2 _rotlhi3 _rotrhi3 \
_ashrhi3 _lshrhi3 _lshlhi3 _ashrqi3 _lshlqi3 _map_data _init_bss \
- _ctor _dtor __far_trampoline
+ _ctor _dtor _far_tramp _call_far _return_far
TARGET_LIBGCC2_CFLAGS = -DUSE_GAS -DIN_GCC
@@ -37,10 +37,10 @@ LIB2FUNCS_EXTRA = $(srcdir)/config/udivmodsi4.c \
LIBGCC2_DEBUG_CFLAGS =-g
LIBGCC2_CFLAGS = -Os -mrelax $(LIBGCC2_INCLUDES) $(TARGET_LIBGCC2_CFLAGS) $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) -DIN_LIBGCC2
-MULTILIB_OPTIONS = m68hc11/m68hc12 mshort fshort-double mlong-calls
+MULTILIB_OPTIONS = m68hc11/m68hc12 mshort fshort-double
MULTILIB_DIRNAMES =
MULTILIB_MATCHES = m68hc11=m6811 m68hc12=m6812
-MULTILIB_EXCEPTIONS = -mnoshort -mno68hc11 -mnolong-calls
+MULTILIB_EXCEPTIONS = -mnoshort -mno68hc11
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/m68k/coff.h b/gcc/config/m68k/coff.h
index 88720d78157..13cb4ae5c55 100644
--- a/gcc/config/m68k/coff.h
+++ b/gcc/config/m68k/coff.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
m68k series COFF object files and debugging, version.
- Copyright (C) 1994, 1996, 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -55,12 +55,17 @@ Boston, MA 02111-1307, USA. */
/* config/m68k.md has an explicit reference to the program counter,
prefix this by the register prefix. */
-#define ASM_RETURN_CASE_JUMP \
- do { \
- if (TARGET_5200) \
- return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
- else \
- return "jmp %%pc@(2,%0:w)"; \
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp %%pc@(2,%0:l)"; \
+ else \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ } \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
} while (0)
/* Here are the new register names. */
diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h
index bf80cea9f9c..7693af1815a 100644
--- a/gcc/config/m68k/linux.h
+++ b/gcc/config/m68k/linux.h
@@ -194,12 +194,17 @@ Boston, MA 02111-1307, USA. */
/* Use the default action for outputting the case label. */
#undef ASM_OUTPUT_CASE_LABEL
-#define ASM_RETURN_CASE_JUMP \
- do { \
- if (TARGET_5200) \
- return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
- else \
- return "jmp %%pc@(2,%0:w)"; \
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp %%pc@(2,%0:l)"; \
+ else \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ } \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
} while (0)
/* This is how to output an assembler line that says to advance the
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 0407dd6b8db..a565eb8a083 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Motorola 68000 family.
- Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -461,7 +461,7 @@ m68k_output_function_prologue (stream, size)
}
if (dwarf2out_do_frame ())
{
- cfa_store_offset += fsize;
+ cfa_store_offset += fsize + 4;
cfa_offset = cfa_store_offset;
dwarf2out_def_cfa ("", STACK_POINTER_REGNUM, cfa_offset);
}
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 969e5dc3099..3451b9ec8bd 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -1,5 +1,5 @@
;;- Machine description for GNU compiler, Motorola 68000 Version
-;; Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001
+;; Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
;; Free Software Foundation, Inc.
;; This file is part of GNU CC.
@@ -1588,7 +1588,7 @@
"
{
operands[1] = make_safe_from (operands[1], operands[0]);
- operands[2] = gen_lowpart (HImode, operands[0]);
+ operands[2] = gen_lowpart_SUBREG (HImode, operands[0]);
}")
(define_expand "zero_extendqihi2"
@@ -1600,7 +1600,7 @@
"
{
operands[1] = make_safe_from (operands[1], operands[0]);
- operands[2] = gen_lowpart (QImode, operands[0]);
+ operands[2] = gen_lowpart_SUBREG (QImode, operands[0]);
}")
(define_expand "zero_extendqisi2"
@@ -1612,7 +1612,7 @@
"
{
operands[1] = make_safe_from (operands[1], operands[0]);
- operands[2] = gen_lowpart (QImode, operands[0]);
+ operands[2] = gen_lowpart_SUBREG (QImode, operands[0]);
}")
;; Patterns to recognize zero-extend insns produced by the combiner.
@@ -3122,7 +3122,7 @@
[(parallel
[(set (subreg:SI (match_operand:DI 0 "register_operand" "") 4)
(mult:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "nonimmediate_operand" "")))
+ (match_operand:SI 2 "register_operand" "")))
(set (subreg:SI (match_dup 0) 0)
(truncate:SI (lshiftrt:DI (mult:DI (zero_extend:DI (match_dup 1))
(zero_extend:DI (match_dup 2)))
@@ -3161,7 +3161,7 @@
[(parallel
[(set (subreg:SI (match_operand:DI 0 "register_operand" "") 4)
(mult:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "nonimmediate_operand" "")))
+ (match_operand:SI 2 "register_operand" "")))
(set (subreg:SI (match_dup 0) 0)
(truncate:SI (lshiftrt:DI (mult:DI (sign_extend:DI (match_dup 1))
(sign_extend:DI (match_dup 2)))
@@ -3862,7 +3862,7 @@
case -1 :
/* FIXME : a scratch register would be welcome here if operand[0]
is not a register */
- output_asm_insn (\"move%.l %#-1,%R0\", operands);
+ output_asm_insn (\"move%.l %#-1,%0\", operands);
break;
default :
{
@@ -6973,17 +6973,33 @@
#ifdef SGS
#ifdef ASM_OUTPUT_CASE_LABEL
if (TARGET_5200)
- return \"ext%.l %0\;jmp 6(%%pc,%0.l)\";
+ {
+ if (ADDRESS_REG_P (operands[0]))
+ return \"jmp 6(%%pc,%0.l)\";
+ else
+ return \"ext%.l %0\;jmp 6(%%pc,%0.l)\";
+ }
else
return \"jmp 6(%%pc,%0.w)\";
#else
if (TARGET_5200)
{
+ if (ADDRESS_REG_P (operands[0]))
+ {
#ifdef CRDS
- return \"ext%.l %0\;jmp 2(pc,%0.l)\";
+ return \"jmp 2(pc,%0.l)\";
#else
- return \"extl %0\;jmp 2(%%pc,%0.l)\";
+ return \"jmp 2(%%pc,%0.l)\";
#endif /* end !CRDS */
+ }
+ else
+ {
+#ifdef CRDS
+ return \"ext%.l %0\;jmp 2(pc,%0.l)\";
+#else
+ return \"extl %0\;jmp 2(%%pc,%0.l)\";
+#endif /* end !CRDS */
+ }
}
else
{
@@ -6997,11 +7013,22 @@
#else /* not SGS */
if (TARGET_5200)
{
+ if (ADDRESS_REG_P (operands[0]))
+ {
#ifdef MOTOROLA
- return \"ext%.l %0\;jmp (2,pc,%0.l)\";
+ return \"jmp (2,pc,%0.l)\";
#else
- return \"extl %0\;jmp pc@(2,%0:l)\";
+ return \"jmp pc@(2,%0:l)\";
#endif
+ }
+ else
+ {
+#ifdef MOTOROLA
+ return \"ext%.l %0\;jmp (2,pc,%0.l)\";
+#else
+ return \"extl %0\;jmp pc@(2,%0:l)\";
+#endif
+ }
}
else
{
diff --git a/gcc/config/m68k/m68kelf.h b/gcc/config/m68k/m68kelf.h
index 7866a239209..e5145c9d70c 100644
--- a/gcc/config/m68k/m68kelf.h
+++ b/gcc/config/m68k/m68kelf.h
@@ -1,7 +1,7 @@
/* m68kelf support, derived from m68kv4.h */
/* Target definitions for GNU compiler for mc680x0 running System V.4
- Copyright (C) 1991, 1993, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 2000, 2002 Free Software Foundation, Inc.
Written by Ron Guilmette (rfg@netcom.com) and Fred Fish (fnf@cygnus.com).
@@ -73,12 +73,17 @@ Boston, MA 02111-1307, USA. */
/* config/m68k.md has an explicit reference to the program counter,
prefix this by the register prefix. */
-#define ASM_RETURN_CASE_JUMP \
- do { \
- if (TARGET_5200) \
- return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
- else \
- return "jmp %%pc@(2,%0:w)"; \
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp %%pc@(2,%0:l)"; \
+ else \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ } \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
} while (0)
/* How to refer to registers in assembler output.
diff --git a/gcc/config/m68k/mot3300.h b/gcc/config/m68k/mot3300.h
index fb7dffa8fc7..e035148ebdc 100644
--- a/gcc/config/m68k/mot3300.h
+++ b/gcc/config/m68k/mot3300.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
SysV68 Motorola 3300 Delta Series.
- Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002
Free Software Foundation, Inc.
Contributed by Abramo and Roberto Bagnara (bagnara@dipisa.di.unipi.it)
based on Alex Crain's 3B1 definitions.
@@ -437,12 +437,17 @@ Boston, MA 02111-1307, USA. */
#define ASM_OUTPUT_CASE_FETCH(file, labelno, regname)\
asm_fprintf (file, "12(%Rpc,%s.", regname)
-#define ASM_RETURN_CASE_JUMP \
- do { \
- if (TARGET_5200) \
- return "ext%.l %0\n\tjmp 8(%%pc,%0.l)"; \
- else \
- return "jmp 8(%%pc,%0.w)"; \
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp 8(%%pc,%0.l)"; \
+ else \
+ return "ext%.l %0\n\tjmp 8(%%pc,%0.l)"; \
+ } \
+ else \
+ return "jmp 8(%%pc,%0.w)"; \
} while (0)
#else /* USE_GAS */
diff --git a/gcc/config/m68k/netbsd-elf.h b/gcc/config/m68k/netbsd-elf.h
index f9576da2905..342de6e4d91 100644
--- a/gcc/config/m68k/netbsd-elf.h
+++ b/gcc/config/m68k/netbsd-elf.h
@@ -11,7 +11,7 @@ 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 1, or (at your option)
+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,
@@ -215,15 +215,18 @@ while (0)
/* Use the default action for outputting the case label. */
#undef ASM_OUTPUT_CASE_LABEL
-#define ASM_RETURN_CASE_JUMP \
-do \
- { \
- if (TARGET_5200) \
- return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
- else \
- return "jmp %%pc@(2,%0:w)"; \
- } \
-while (0)
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp %%pc@(2,%0:l)"; \
+ else \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ } \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
+ } while (0)
/* This is how to output an assembler line that says to advance the
diff --git a/gcc/config/m68k/pbb.h b/gcc/config/m68k/pbb.h
index 6eef2acaf47..68c8d09ead5 100644
--- a/gcc/config/m68k/pbb.h
+++ b/gcc/config/m68k/pbb.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Citicorp/TTI Unicom PBB version (using GAS with a %-register prefix)
- Copyright (C) 1987, 1988, 1990, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1990, 1996, 1997, 2002 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -109,12 +109,17 @@ Boston, MA 02111-1307, USA. */
&& ! find_equiv_reg (0, get_last_insn (), 0, 0, 0, 8, Pmode)) \
asm_fprintf (FILE, "\tmovl %Rd0,%Ra0\n"); }
-#define ASM_RETURN_CASE_JUMP \
- do { \
- if (TARGET_5200) \
- return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
- else \
- return "jmp %%pc@(2,%0:w)"; \
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp %%pc@(2,%0:l)"; \
+ else \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ } \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
} while (0)
/* Although the gas we use can create .ctor and .dtor sections from N_SETT
diff --git a/gcc/config/m68k/t-crtstuff b/gcc/config/m68k/t-crtstuff
index b05764de726..a8bdb502d66 100644
--- a/gcc/config/m68k/t-crtstuff
+++ b/gcc/config/m68k/t-crtstuff
@@ -1,8 +1,10 @@
+EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crti.o crtn.o
+
# Add flags here as required.
CRTSTUFF_T_CFLAGS =
# Assemble startup files.
$(T)crti.o: $(srcdir)/config/m68k/crti.s $(GCC_PASSES)
- $(GCC_FOR_TARGET) -c -o $(T)crti.o $(srcdir)/config/m68k/crti.s
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o $(srcdir)/config/m68k/crti.s
$(T)crtn.o: $(srcdir)/config/m68k/crtn.s $(GCC_PASSES)
- $(GCC_FOR_TARGET) -c -o $(T)crtn.o $(srcdir)/config/m68k/crtn.s
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o $(srcdir)/config/m68k/crtn.s
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 7bce37cd227..cf808b4baaa 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -137,7 +137,7 @@ extern int target_flags;
{"relax-immediates", RELAX_IMM_BIT, \
"" }, \
{"no-relax-immediates", - RELAX_IMM_BIT, \
- N_("Do not arbitary sized immediates in bit operations") }, \
+ N_("Do not arbitrary sized immediates in bit operations") }, \
{"wide-bitfields", W_FIELD_BIT, \
N_("Always treat bit-field as int-sized") }, \
{"no-wide-bitfields", - W_FIELD_BIT, \
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index 7e74a98e061..895e7aa216a 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -150,7 +150,7 @@
;; ; This is done to allow bit field masks to fold together in combine.
;; ; The reload phase will force the immediate into a register at the
;; ; very end. This helps in some cases, but hurts in others: we'd
-;; ; really like to cse these immediates. However, there is an phase
+;; ; really like to cse these immediates. However, there is a phase
;; ; ordering problem here. cse picks up individual masks and cse's
;; ; those, but not folded masks (cse happens before combine). It's
;; ; not clear what the best solution is because we really want cse
@@ -1896,7 +1896,7 @@
""
"
{
- emit_insn (gen_jump_real (operand0));
+ emit_jump_insn (gen_jump_real (operand0));
DONE;
}
")
@@ -3319,7 +3319,7 @@
""
"*
{
- int op0 = REGNO (operands[0]);
+ unsigned int op0 = REGNO (operands[0]);
if (GET_CODE (operands[3]) == REG)
{
diff --git a/gcc/config/mips/_tilib.c b/gcc/config/mips/_tilib.c
new file mode 100644
index 00000000000..7c13560b1f0
--- /dev/null
+++ b/gcc/config/mips/_tilib.c
@@ -0,0 +1,156 @@
+/* A few TImode functions needed for TFmode emulated arithmetic.
+ Copyright 2002, 2003 Free Software Foundation, Inc.
+ Contributed by Alexandre Oliva <aoliva@redhat.com>
+
+This file is part of GCC.
+
+GCC 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.
+
+GCC 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 GCC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+
+#include "tconfig.h"
+
+#if _MIPS_SIM == 2 /* N32 */ || _MIPS_SIM == 3 /* 64 */
+
+typedef int TItype __attribute__ ((mode (TI)));
+typedef int DItype __attribute__ ((mode (DI)));
+typedef int SItype __attribute__ ((mode (SI)));
+
+typedef unsigned int UDItype __attribute__ ((mode (DI)));
+
+typedef union
+{
+ struct TIstruct {
+#if LIBGCC2_WORDS_BIG_ENDIAN
+ DItype high, low;
+#else
+ DItype low, high;
+#endif
+ } s;
+ TItype ll;
+} TIunion;
+
+TItype __negti2 (TItype);
+TItype __ashlti3 (TItype, int);
+#if 0
+TItype __ashrti3 (TItype, int);
+#endif
+TItype __lshrti3 (TItype, int);
+
+TItype
+__negti2 (TItype u)
+{
+ TIunion w;
+ TIunion uu;
+
+ uu.ll = u;
+
+ w.s.low = -uu.s.low;
+ w.s.high = -uu.s.high - ((UDItype) w.s.low > 0);
+
+ return w.ll;
+}
+
+TItype
+__ashlti3 (TItype u, int b)
+{
+ TIunion w;
+ int bm;
+ TIunion uu;
+
+ if (b == 0)
+ return u;
+
+ uu.ll = u;
+
+ bm = (sizeof (DItype) * BITS_PER_UNIT) - b;
+ if (bm <= 0)
+ {
+ w.s.low = 0;
+ w.s.high = (UDItype) uu.s.low << -bm;
+ }
+ else
+ {
+ UDItype carries = (UDItype) uu.s.low >> bm;
+
+ w.s.low = (UDItype) uu.s.low << b;
+ w.s.high = ((UDItype) uu.s.high << b) | carries;
+ }
+
+ return w.ll;
+}
+
+#if 0
+TItype
+__ashrti3 (TItype u, int b)
+{
+ TIunion w;
+ int bm;
+ TIunion uu;
+
+ if (b == 0)
+ return u;
+
+ uu.ll = u;
+
+ bm = (sizeof (DItype) * BITS_PER_UNIT) - b;
+ if (bm <= 0)
+ {
+ /* w.s.high = 1..1 or 0..0 */
+ w.s.high = uu.s.high >> (sizeof (DItype) * BITS_PER_UNIT - 1);
+ w.s.low = uu.s.high >> -bm;
+ }
+ else
+ {
+ UDItype carries = (UDItype) uu.s.high << bm;
+
+ w.s.high = uu.s.high >> b;
+ w.s.low = ((UDItype) uu.s.low >> b) | carries;
+ }
+
+ return w.ll;
+}
+#endif
+
+TItype
+__lshrti3 (TItype u, int b)
+{
+ TIunion w;
+ int bm;
+ TIunion uu;
+
+ if (b == 0)
+ return u;
+
+ uu.ll = u;
+
+ bm = (sizeof (DItype) * BITS_PER_UNIT) - b;
+ if (bm <= 0)
+ {
+ w.s.high = 0;
+ w.s.low = (UDItype) uu.s.high >> -bm;
+ }
+ else
+ {
+ UDItype carries = (UDItype) uu.s.high << bm;
+
+ w.s.high = (UDItype) uu.s.high >> b;
+ w.s.low = ((UDItype) uu.s.low >> b) | carries;
+ }
+
+ return w.ll;
+}
+
+#endif /* N32 or N64 */
diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
index ddfea8f1473..7336f6c5eeb 100644
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Iris version 6.
- Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -125,6 +125,13 @@ Boston, MA 02111-1307, USA. */
if (!ISA_MIPS1 && !ISA_MIPS2) \
builtin_define ("_COMPILER_VERSION=601"); \
\
+ /* IRIX 6.5.18 and above provide many ISO C99 \
+ features protected by the __c99 macro. \
+ libstdc++ v3 needs them as well. */ \
+ if ((c_language == clk_c && flag_isoc99) \
+ || c_language == clk_cplusplus) \
+ builtin_define ("__c99"); \
+ \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("__EXTENSIONS__"); \
@@ -509,3 +516,5 @@ do { \
%{shared:-hidden_symbol __do_global_ctors,__do_global_ctors_1,__do_global_dtors} \
-_SYSTYPE_SVR4 -woff 131 \
%{mabi=32: -32}%{mabi=n32: -n32}%{mabi=64: -64}%{!mabi*: -n32}"
+
+#define MIPS_TFMODE_FORMAT ibm_extended_format
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
index d25cd51ddcc..354512018e7 100644
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -127,7 +127,7 @@ void FN () \
builtin_define_std ("linux"); \
builtin_assert ("system=linux"); \
/* The GNU C++ standard library requires this. */ \
- if (c_language = clk_cplusplus) \
+ if (c_language == clk_cplusplus) \
builtin_define ("_GNU_SOURCE"); \
\
if (mips_abi == ABI_N32) \
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index d92f7e573b3..f7ec8183ed0 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -122,8 +122,9 @@ extern int mips_adjust_insn_length PARAMS ((rtx, int));
extern enum reg_class mips_secondary_reload_class PARAMS ((enum reg_class,
enum machine_mode,
rtx, int));
-extern enum reg_class mips_cannot_change_mode_class
- PARAMS ((enum machine_mode, enum machine_mode));
+extern bool mips_cannot_change_mode_class
+ PARAMS ((enum machine_mode, enum machine_mode,
+ enum reg_class));
extern int mips_class_max_nregs PARAMS ((enum reg_class,
enum machine_mode));
extern int mips_register_move_cost PARAMS ((enum machine_mode,
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 2dcf69d3f43..d73e52b4cf8 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -4321,9 +4321,11 @@ mips_arg_info (cum, mode, type, named, info)
is a double, but $f14 if it is a single. Otherwise, on a
32-bit double-float machine, each FP argument must start in a
new register pair. */
- even_reg_p = ((mips_abi == ABI_O64 && mode == SFmode) || FP_INC > 1);
+ even_reg_p = (GET_MODE_SIZE (mode) > UNITS_PER_HWFPVALUE
+ || (mips_abi == ABI_O64 && mode == SFmode)
+ || FP_INC > 1);
}
- else if (!TARGET_64BIT)
+ else if (!TARGET_64BIT || LONG_DOUBLE_TYPE_SIZE == 128)
{
if (GET_MODE_CLASS (mode) == MODE_INT
|| GET_MODE_CLASS (mode) == MODE_FLOAT)
@@ -4635,7 +4637,7 @@ mips_setup_incoming_varargs (cum, mode, type, no_rtl)
rtx ptr = plus_constant (virtual_incoming_args_rtx, off);
emit_move_insn (gen_rtx_MEM (mode, ptr),
gen_rtx_REG (mode, FP_ARG_FIRST + i));
- off += UNITS_PER_FPVALUE;
+ off += UNITS_PER_HWFPVALUE;
}
}
}
@@ -4712,6 +4714,15 @@ mips_va_start (valist, nextarg)
{
const CUMULATIVE_ARGS *cum = &current_function_args_info;
+ /* ARG_POINTER_REGNUM is initialized to STACK_POINTER_BOUNDARY, but
+ since the stack is aligned for a pair of argument-passing slots,
+ and the beginning of a variable argument list may be an odd slot,
+ we have to decrease its alignment. */
+ if (cfun && cfun->emit->regno_pointer_align)
+ while (((current_function_pretend_args_size * BITS_PER_UNIT)
+ & (REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) - 1)) != 0)
+ REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) /= 2;
+
if (mips_abi == ABI_EABI)
{
int gpr_save_area_size;
@@ -4909,9 +4920,9 @@ mips_va_arg (valist, type)
off = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff);
/* When floating-point registers are saved to the stack,
- each one will take up UNITS_PER_FPVALUE bytes, regardless
+ each one will take up UNITS_PER_HWFPVALUE bytes, regardless
of the float's precision. */
- rsize = UNITS_PER_FPVALUE;
+ rsize = UNITS_PER_HWFPVALUE;
}
else
{
@@ -4930,7 +4941,7 @@ mips_va_arg (valist, type)
bytes (= PARM_BOUNDARY bits). RSIZE can sometimes be smaller
than that, such as in the combination -mgp64 -msingle-float
-fshort-double. Doubles passed in registers will then take
- up UNITS_PER_FPVALUE bytes, but those passed on the stack
+ up UNITS_PER_HWFPVALUE bytes, but those passed on the stack
take up UNITS_PER_WORD bytes. */
osize = MAX (rsize, UNITS_PER_WORD);
@@ -5007,7 +5018,10 @@ mips_va_arg (valist, type)
that alignments <= UNITS_PER_WORD are preserved by the va_arg
increment mechanism. */
- if (TARGET_64BIT)
+ if ((mips_abi == ABI_N32 || mips_abi == ABI_64)
+ && TYPE_ALIGN (type) > 64)
+ align = 16;
+ else if (TARGET_64BIT)
align = 8;
else if (TYPE_ALIGN (type) > 32)
align = 8;
@@ -5365,6 +5379,10 @@ override_options ()
else
mips16 = 0;
+#ifdef MIPS_TFMODE_FORMAT
+ real_format_for_mode[TFmode - QFmode] = &MIPS_TFMODE_FORMAT;
+#endif
+
mips_print_operand_punct['?'] = 1;
mips_print_operand_punct['#'] = 1;
mips_print_operand_punct['&'] = 1;
@@ -7085,7 +7103,7 @@ save_restore_insns (store_p, large_reg, large_offset)
/* Pick which pointer to use as a base register. */
fp_offset = cfun->machine->frame.fp_sp_offset;
end_offset = fp_offset - (cfun->machine->frame.fp_reg_size
- - UNITS_PER_FPVALUE);
+ - UNITS_PER_HWFPVALUE);
if (fp_offset < 0 || end_offset < 0)
internal_error
@@ -7140,7 +7158,7 @@ save_restore_insns (store_p, large_reg, large_offset)
else
emit_move_insn (reg_rtx, mem_rtx);
- fp_offset -= UNITS_PER_FPVALUE;
+ fp_offset -= UNITS_PER_HWFPVALUE;
}
}
}
@@ -8271,11 +8289,26 @@ mips_function_value (valtype, func, mode)
}
mclass = GET_MODE_CLASS (mode);
- if (mclass == MODE_FLOAT && GET_MODE_SIZE (mode) <= UNITS_PER_FPVALUE)
+ if (mclass == MODE_FLOAT && GET_MODE_SIZE (mode) <= UNITS_PER_HWFPVALUE)
reg = FP_RETURN;
+ else if (mclass == MODE_FLOAT && mode == TFmode)
+ /* long doubles are really split between f0 and f2, not f1. Eek.
+ Use DImode for each component, since GCC wants integer modes
+ for subregs. */
+ return gen_rtx_PARALLEL
+ (VOIDmode,
+ gen_rtvec (2,
+ gen_rtx_EXPR_LIST (VOIDmode,
+ gen_rtx_REG (DImode, FP_RETURN),
+ GEN_INT (0)),
+ gen_rtx_EXPR_LIST (VOIDmode,
+ gen_rtx_REG (DImode, FP_RETURN + 2),
+ GEN_INT (GET_MODE_SIZE (mode) / 2))));
+
+
else if (mclass == MODE_COMPLEX_FLOAT
- && GET_MODE_SIZE (mode) <= UNITS_PER_FPVALUE * 2)
+ && GET_MODE_SIZE (mode) <= UNITS_PER_HWFPVALUE * 2)
{
enum machine_mode cmode = GET_MODE_INNER (mode);
@@ -8416,19 +8449,20 @@ function_arg_pass_by_reference (cum, mode, type, named)
We can't allow 64-bit float registers to change from a 32-bit
mode to a 64-bit mode. */
-enum reg_class
-mips_cannot_change_mode_class (from, to)
+bool
+mips_cannot_change_mode_class (from, to, class)
enum machine_mode from, to;
+ enum reg_class class;
{
if (GET_MODE_SIZE (from) != GET_MODE_SIZE (to))
{
if (TARGET_BIG_ENDIAN)
- return FP_REGS;
+ return reg_classes_intersect_p (FP_REGS, class);
if (TARGET_FLOAT64)
- return HI_AND_FP_REGS;
- return HI_REG;
+ return reg_classes_intersect_p (HI_AND_FP_REGS, class);
+ return reg_classes_intersect_p (HI_REG, class);
}
- return NO_REGS;
+ return false;
}
/* This function returns the register class required for a secondary
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 3b784c8883d..0de8bbf703a 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
@@ -1048,9 +1048,18 @@ extern int mips_abi;
%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \
%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \
%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \
-%{!gdwarf*:-mdebug} %{gdwarf*:-no-mdebug}"
+%(mdebug_asm_spec)"
#endif
+/* Beginning with gas 2.13, -mdebug must be passed to correctly handle COFF
+ and stabs debugging info. */
+#if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GAS) != 0
+/* GAS */
+#define MDEBUG_ASM_SPEC "%{!gdwarf*:-mdebug} %{gdwarf*:-no-mdebug}"
+#else /* not GAS */
+#define MDEBUG_ASM_SPEC ""
+#endif /* not GAS */
+
/* SUBTARGET_ASM_SPEC is always passed to the assembler. It may be
overridden by subtargets. */
@@ -1178,6 +1187,7 @@ extern int mips_abi;
{ "subtarget_mips_as_asm_spec", SUBTARGET_MIPS_AS_ASM_SPEC }, \
{ "subtarget_asm_optimizing_spec", SUBTARGET_ASM_OPTIMIZING_SPEC }, \
{ "subtarget_asm_debugging_spec", SUBTARGET_ASM_DEBUGGING_SPEC }, \
+ { "mdebug_asm_spec", MDEBUG_ASM_SPEC }, \
{ "subtarget_asm_spec", SUBTARGET_ASM_SPEC }, \
{ "asm_abi_default_spec", ASM_ABI_DEFAULT_SPEC }, \
{ "endian_spec", ENDIAN_SPEC }, \
@@ -1487,8 +1497,14 @@ do { \
the next available register. */
#define FP_INC (TARGET_FLOAT64 || TARGET_SINGLE_FLOAT ? 1 : 2)
-/* The largest size of value that can be held in floating-point registers. */
-#define UNITS_PER_FPVALUE (TARGET_SOFT_FLOAT ? 0 : FP_INC * UNITS_PER_FPREG)
+/* The largest size of value that can be held in floating-point
+ registers and moved with a single instruction. */
+#define UNITS_PER_HWFPVALUE (TARGET_SOFT_FLOAT ? 0 : FP_INC * UNITS_PER_FPREG)
+
+/* The largest size of value that can be held in floating-point
+ registers. */
+#define UNITS_PER_FPVALUE \
+ (TARGET_SOFT_FLOAT ? 0 : (LONG_DOUBLE_TYPE_SIZE / BITS_PER_UNIT))
/* The number of bytes in a double. */
#define UNITS_PER_DOUBLE (TYPE_PRECISION (double_type_node) / BITS_PER_UNIT)
@@ -1535,7 +1551,21 @@ do { \
/* A C expression for the size in bits of the type `long double' on
the target machine. If you don't define this, the default is two
words. */
-#define LONG_DOUBLE_TYPE_SIZE 64
+#define LONG_DOUBLE_TYPE_SIZE \
+ (mips_abi == ABI_N32 || mips_abi == ABI_64 ? 128 : 64)
+
+/* long double is not a fixed mode, but the idea is that, if we
+ support long double, we also want a 128-bit integer type. */
+#define MAX_FIXED_MODE_SIZE LONG_DOUBLE_TYPE_SIZE
+
+#ifdef IN_LIBGCC2
+#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) \
+ || (defined _ABI64 && _MIPS_SIM == _ABI64)
+# define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 128
+# else
+# define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
+# endif
+#endif
/* Width in bits of a pointer.
See also the macro `Pmode' defined below. */
@@ -1562,7 +1592,7 @@ do { \
#define STRUCTURE_SIZE_BOUNDARY 8
/* There is no point aligning anything to a rounder boundary than this. */
-#define BIGGEST_ALIGNMENT 64
+#define BIGGEST_ALIGNMENT LONG_DOUBLE_TYPE_SIZE
/* Set this nonzero if move instructions will actually fail to work
when given unaligned data. */
@@ -2326,8 +2356,8 @@ extern enum reg_class mips_char_to_class[256];
#define CLASS_MAX_NREGS(CLASS, MODE) mips_class_max_nregs (CLASS, MODE)
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
- mips_cannot_change_mode_class (FROM, TO)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ mips_cannot_change_mode_class (FROM, TO, CLASS)
/* Stack layout; function entry, exit and calling. */
@@ -2624,7 +2654,9 @@ extern enum reg_class mips_char_to_class[256];
On the MIPS, R2 R3 and F0 F2 are the only register thus used.
Currently, R2 and F0 are only implemented here (C has no complex type) */
-#define FUNCTION_VALUE_REGNO_P(N) ((N) == GP_RETURN || (N) == FP_RETURN)
+#define FUNCTION_VALUE_REGNO_P(N) ((N) == GP_RETURN || (N) == FP_RETURN \
+ || (LONG_DOUBLE_TYPE_SIZE == 128 && FP_RETURN != GP_RETURN \
+ && (N) == FP_RETURN + 2))
/* 1 if N is a possible register number for function argument passing.
We have no FP argument registers when soft-float. When FP registers
@@ -3072,17 +3104,15 @@ typedef struct mips_args {
assembler would use $at as a temp to load in the large offset. In this
case $at is already in use. We convert such problem addresses to
`la $5,s;sw $4,70000($5)' via LEGITIMIZE_ADDRESS. */
-/* ??? SGI Irix 6 assembler fails for CONST address, so reject them
- when !TARGET_GAS. */
+/* ??? SGI IRIX 6 N32/N64 assembler fails for CONST address, so reject them
+ when !TARGET_GAS or ABI_32. */
/* We should be rejecting everything but const addresses. */
#define CONSTANT_ADDRESS_P(X) \
(GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF \
|| GET_CODE (X) == CONST_INT || GET_CODE (X) == HIGH \
|| (GET_CODE (X) == CONST \
&& ! (flag_pic && pic_address_needs_scratch (X)) \
- && (TARGET_GAS) \
- && (mips_abi != ABI_N32 \
- && mips_abi != ABI_64)))
+ && (TARGET_GAS || mips_abi == ABI_32)))
/* Define this, so that when PIC, reload won't try to reload invalid
@@ -4663,3 +4693,34 @@ while (0)
/* Generate calls to memcpy, etc., not bcopy, etc. */
#define TARGET_MEM_FUNCTIONS
+
+#ifndef __mips16
+/* 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
+#endif
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc6cda53dba..4b35d9b5928 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")
@@ -6550,6 +6550,12 @@ move\\t%0,%z4\\n\\
;; fill a delay slot. This also prevents a bug in delayed branches
;; from showing up, which reuses one of the registers in our clobbers.
+;; ??? Disabled because it doesn't preserve alias information for
+;; operands 0 and 1. Also, the rtl for the second insn doesn't mention
+;; that it uses the registers clobbered by the first.
+;;
+;; It would probably be better to split the block into individual
+;; instructions instead.
(define_split
[(set (mem:BLK (match_operand:SI 0 "register_operand" ""))
(mem:BLK (match_operand:SI 1 "register_operand" "")))
@@ -6561,7 +6567,7 @@ move\\t%0,%z4\\n\\
(use (match_operand:SI 3 "small_int" ""))
(use (const_int 0))]
- "reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 0"
+ "reload_completed && 0 && INTVAL (operands[2]) > 0"
;; All but the last move
[(parallel [(set (mem:BLK (match_dup 0))
@@ -10063,21 +10069,19 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\\n\\t%*j\\t%2"
;; This is used in compiling the unwind routines.
(define_expand "eh_return"
- [(use (match_operand 0 "general_operand" ""))
- (use (match_operand 1 "general_operand" ""))]
+ [(use (match_operand 0 "general_operand" ""))]
""
"
{
enum machine_mode gpr_mode = TARGET_64BIT ? DImode : SImode;
- if (GET_MODE (operands[1]) != gpr_mode)
- operands[1] = convert_to_mode (gpr_mode, operands[1], 0);
+ if (GET_MODE (operands[0]) != gpr_mode)
+ operands[0] = convert_to_mode (gpr_mode, operands[0], 0);
if (TARGET_64BIT)
- emit_insn (gen_eh_set_lr_di (operands[1]));
+ emit_insn (gen_eh_set_lr_di (operands[0]));
else
- emit_insn (gen_eh_set_lr_si (operands[1]));
+ emit_insn (gen_eh_set_lr_si (operands[0]));
- emit_move_insn (EH_RETURN_STACKADJ_RTX, operands[0]);
DONE;
}")
diff --git a/gcc/config/mips/rtems.h b/gcc/config/mips/rtems.h
index ae27293e8ad..5573bcd5c53 100644
--- a/gcc/config/mips/rtems.h
+++ b/gcc/config/mips/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a MIPS using ELF.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GNU CC.
@@ -24,5 +24,6 @@ Boston, MA 02111-1307, USA. */
#define TARGET_OS_CPP_BUILTINS() \
do { \
builtin_define ("__rtems__"); \
+ builtin_define ("__USE_INIT_FINI__"); \
builtin_assert ("system=rtems"); \
} while (0)
diff --git a/gcc/config/mips/t-iris5-6 b/gcc/config/mips/t-iris5-6
index d0440bc5ca1..4321b526c41 100644
--- a/gcc/config/mips/t-iris5-6
+++ b/gcc/config/mips/t-iris5-6
@@ -20,11 +20,11 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
SHLIB_INSTALL = \
- $$(SHELL) $$(srcdir)/mkinstalldirs $$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
+ $$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
$(INSTALL_DATA) $(SHLIB_NAME) \
- $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
- rm -f $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
+ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
+ rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
$(LN_S) $(SHLIB_SONAME) \
- $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
diff --git a/gcc/config/mips/t-iris6 b/gcc/config/mips/t-iris6
index 1d61c244bf1..a1be0b9c9ed 100644
--- a/gcc/config/mips/t-iris6
+++ b/gcc/config/mips/t-iris6
@@ -18,3 +18,16 @@ CRTSTUFF_T_CFLAGS=-g1
# This is only needed in the static libgcc as a band-aid until gcc correctly
# implements the N32/N64 ABI structure passing conventions
LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/mips/irix6-libc-compat.c
+
+LIB2FUNCS_EXTRA = $(srcdir)/config/mips/_tilib.c
+
+TPBIT = tp-bit.c
+
+tp-bit.c: $(srcdir)/config/fp-bit.c
+ echo '#ifdef __MIPSEL__' > tp-bit.c
+ echo '# define FLOAT_BIT_ORDER_MISMATCH' >> tp-bit.c
+ echo '#endif' >> tp-bit.c
+ echo '#if __LDBL_MANT_DIG__ == 106' >> tp-bit.c
+ echo '# define TFLOAT' >> tp-bit.c
+ cat $(srcdir)/config/fp-bit.c >> tp-bit.c
+ echo '#endif' >> tp-bit.c
diff --git a/gcc/config/mn10300/mn10300-protos.h b/gcc/config/mn10300/mn10300-protos.h
index d5a1c4426c6..537a22d707d 100644
--- a/gcc/config/mn10300/mn10300-protos.h
+++ b/gcc/config/mn10300/mn10300-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Matsushita MN10300 series
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2003 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GNU CC.
@@ -42,6 +42,8 @@ extern int impossible_plus_operand PARAMS ((rtx, enum machine_mode));
extern int const_8bit_operand PARAMS ((rtx, enum machine_mode));
extern int mn10300_address_cost PARAMS ((rtx, int *));
+
+extern bool mn10300_wide_const_load_uses_clr PARAMS ((rtx operands[2]));
#endif /* RTX_CODE */
#ifdef TREE_CODE
@@ -59,4 +61,3 @@ extern void expand_epilogue PARAMS ((void));
extern int initial_offset PARAMS ((int, int));
extern int can_use_return_insn PARAMS ((void));
extern int mask_ok_for_mem_btst PARAMS ((int, int));
-
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 3bad60b7475..c580457a2b5 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Matsushita MN10300 series
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
@@ -1322,3 +1322,51 @@ mn10300_address_cost (x, unsig)
}
}
+
+/* Check whether a constant used to initialize a DImode or DFmode can
+ use a clr instruction. The code here must be kept in sync with
+ movdf and movdi. */
+
+bool
+mn10300_wide_const_load_uses_clr (operands)
+ rtx operands[2];
+{
+ long val[2];
+
+ if (GET_CODE (operands[0]) != REG
+ || REGNO_REG_CLASS (REGNO (operands[0])) != DATA_REGS)
+ return false;
+
+ switch (GET_CODE (operands[1]))
+ {
+ case CONST_INT:
+ {
+ rtx low, high;
+ split_double (operands[1], &low, &high);
+ val[0] = INTVAL (low);
+ val[1] = INTVAL (high);
+ }
+ break;
+
+ case CONST_DOUBLE:
+ if (GET_MODE (operands[1]) == DFmode)
+ {
+ REAL_VALUE_TYPE rv;
+
+ REAL_VALUE_FROM_CONST_DOUBLE (rv, operands[1]);
+ REAL_VALUE_TO_TARGET_DOUBLE (rv, val);
+ }
+ else if (GET_MODE (operands[1]) == VOIDmode
+ || GET_MODE (operands[1]) == DImode)
+ {
+ val[0] = CONST_DOUBLE_LOW (operands[1]);
+ val[1] = CONST_DOUBLE_HIGH (operands[1]);
+ }
+ break;
+
+ default:
+ return false;
+ }
+
+ return val[0] == 0 || val[1] == 0;
+}
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md
index 770f7c5428e..f889aa61cdd 100644
--- a/gcc/config/mn10300/mn10300.md
+++ b/gcc/config/mn10300/mn10300.md
@@ -1,5 +1,5 @@
;; GCC machine description for Matsushita MN10300
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
;; Free Software Foundation, Inc.
;; Contributed by Jeff Law (law@cygnus.com).
@@ -520,7 +520,26 @@
abort ();
}
}"
- [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
+ [(set (attr "cc")
+ (cond
+ [
+ (lt (symbol_ref "which_alternative") (const_int 2)
+ ) (const_string "none")
+ (eq (symbol_ref "which_alternative") (const_int 2)
+ ) (const_string "clobber")
+ (eq (symbol_ref "which_alternative") (const_int 3)
+ ) (if_then_else
+ (ne (symbol_ref "rtx_equal_p (operands[0], operands[1])")
+ (const_int 0)) (const_string "clobber")
+ (const_string "none_0hit"))
+ (ior (eq (symbol_ref "which_alternative") (const_int 8))
+ (eq (symbol_ref "which_alternative") (const_int 9))
+ ) (if_then_else
+ (ne (symbol_ref "mn10300_wide_const_load_uses_clr
+ (operands)")
+ (const_int 0)) (const_string "clobber")
+ (const_string "none_0hit"))
+ ] (const_string "none_0hit")))])
(define_expand "movdf"
[(set (match_operand:DF 0 "general_operand" "")
@@ -670,7 +689,26 @@
abort ();
}
}"
- [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
+ [(set (attr "cc")
+ (cond
+ [
+ (lt (symbol_ref "which_alternative") (const_int 2)
+ ) (const_string "none")
+ (eq (symbol_ref "which_alternative") (const_int 2)
+ ) (const_string "clobber")
+ (eq (symbol_ref "which_alternative") (const_int 3)
+ ) (if_then_else
+ (ne (symbol_ref "rtx_equal_p (operands[0], operands[1])")
+ (const_int 0)) (const_string "clobber")
+ (const_string "none_0hit"))
+ (ior (eq (symbol_ref "which_alternative") (const_int 8))
+ (eq (symbol_ref "which_alternative") (const_int 9))
+ ) (if_then_else
+ (ne (symbol_ref "mn10300_wide_const_load_uses_clr
+ (operands)")
+ (const_int 0)) (const_string "clobber")
+ (const_string "none_0hit"))
+ ] (const_string "none_0hit")))])
diff --git a/gcc/config/netbsd.h b/gcc/config/netbsd.h
index 43ff80ae686..04413899621 100644
--- a/gcc/config/netbsd.h
+++ b/gcc/config/netbsd.h
@@ -1,5 +1,5 @@
/* Base configuration file for all NetBSD targets.
- 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 GNU CC.
@@ -38,7 +38,9 @@ Boston, MA 02111-1307, USA. */
while (0)
/* CPP_SPEC parts common to all NetBSD targets. */
-#define NETBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
+#define NETBSD_CPP_SPEC \
+ "%{posix:-D_POSIX_SOURCE} \
+ %{pthread:-D_REENTRANT -D_PTHREADS}"
/* NETBSD_NATIVE is defined when gcc is integrated into the NetBSD
source tree so it can be configured appropriately without using
diff --git a/gcc/config/pa/milli64.S b/gcc/config/pa/milli64.S
index 2190a36e2c9..99d2d2e12a3 100644
--- a/gcc/config/pa/milli64.S
+++ b/gcc/config/pa/milli64.S
@@ -1776,7 +1776,7 @@ DISCUSSION:
.align 16
.proc
.callinfo millicode
- .export $$mulI, millicode
+ .export $$mulI,millicode
GSYM($$mulI)
combt,<<= a1,a0,LREF(l4) /* swap args if unsigned a1>a0 */
copy 0,r /* zero out the result */
diff --git a/gcc/config/pa/pa-hpux.h b/gcc/config/pa/pa-hpux.h
index b9d563e09be..d6e15164013 100644
--- a/gcc/config/pa/pa-hpux.h
+++ b/gcc/config/pa/pa-hpux.h
@@ -96,3 +96,12 @@ Boston, MA 02111-1307, USA. */
/* hpux8 and later have C++ compatible include files, so do not
pretend they are `extern "C"'. */
#define NO_IMPLICIT_EXTERN_C
+
+/* hpux11 and earlier don't have fputc_unlocked, so we must inhibit the
+ transformation of fputs_unlocked and fprintf_unlocked to fputc_unlocked. */
+#define DONT_HAVE_FPUTC_UNLOCKED
+
+/* We want the entry value of SP saved in the frame marker for
+ compatibility with the HP-UX unwind library. */
+#undef TARGET_HPUX_UNWIND_LIBRARY
+#define TARGET_HPUX_UNWIND_LIBRARY 1
diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h
index 0354543e3d0..9cd7c1b9de7 100644
--- a/gcc/config/pa/pa-hpux10.h
+++ b/gcc/config/pa/pa-hpux10.h
@@ -82,10 +82,12 @@ Boston, MA 02111-1307, USA. */
#define LIB_SPEC \
"%{!shared:\
%{!p:%{!pg:\
- %{!threads:-lc}\
+ %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
%{threads:-lcma -lc_r}}}\
- %{p: -L/lib/libp/ -lc}\
- %{pg: -L/lib/libp/ -lc}}"
+ %{p: -L/lib/libp/ -lc\
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
+ %{pg: -L/lib/libp/ -lc\
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}"
#undef THREAD_MODEL_SPEC
#define THREAD_MODEL_SPEC "%{!threads:single}%{threads:dce}"
diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h
index 0bc7f1010a5..23ec45ba822 100644
--- a/gcc/config/pa/pa-hpux11.h
+++ b/gcc/config/pa/pa-hpux11.h
@@ -72,10 +72,13 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 1)
#define LINK_SPEC \
- "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }} -z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}"
+ "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }} -z\
+ %{mlinker-opt:-O} %{!shared:-u main -u __gcc_plt_call}\
+ %{static:-a archive} %{shared:-b}"
#else
#define LINK_SPEC \
- "-z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}"
+ "-z %{mlinker-opt:-O} %{!shared:-u main -u __gcc_plt_call}\
+ %{static:-a archive} %{shared:-b}"
#endif
/* Like the default, except no -lg. */
@@ -83,10 +86,12 @@ Boston, MA 02111-1307, USA. */
#define LIB_SPEC \
"%{!shared:\
%{!p:%{!pg:\
- %{!threads:-lc}\
+ %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
%{threads:-lcma -lc_r}}}\
- %{p: -L/lib/libp/ -lc}\
- %{pg: -L/lib/libp/ -lc}}"
+ %{p: -L/lib/libp/ -lc\
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
+ %{pg: -L/lib/libp/ -lc\
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}"
/* Under hpux11, the normal location of the `ld' and `as' programs is the
/usr/ccs/bin directory. */
@@ -117,3 +122,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-protos.h b/gcc/config/pa/pa-protos.h
index 8ea36f3a44e..626ac1a7682 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for pa.c functions used in the md file & elsewhere.
- Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -44,6 +44,7 @@ extern const char *output_move_double PARAMS ((rtx *));
extern const char *output_fp_move_double PARAMS ((rtx *));
extern const char *output_block_move PARAMS ((rtx *, int));
extern const char *output_cbranch PARAMS ((rtx *, int, int, int, rtx));
+extern const char *output_lbranch PARAMS ((rtx, rtx));
extern const char *output_bb PARAMS ((rtx *, int, int, int, rtx, int));
extern const char *output_bvb PARAMS ((rtx *, int, int, int, rtx, int));
extern const char *output_dbra PARAMS ((rtx *, rtx, int));
@@ -51,6 +52,7 @@ extern const char *output_movb PARAMS ((rtx *, rtx, int, int));
extern const char *output_parallel_movb PARAMS ((rtx *, int));
extern const char *output_parallel_addb PARAMS ((rtx *, int));
extern const char *output_call PARAMS ((rtx, rtx, int));
+extern const char *output_indirect_call PARAMS ((rtx, rtx));
extern const char *output_millicode_call PARAMS ((rtx, rtx));
extern const char *output_mul_insn PARAMS ((int, rtx));
extern const char *output_div_insn PARAMS ((rtx *, int, rtx));
@@ -105,8 +107,10 @@ extern int jump_in_call_delay PARAMS ((rtx));
extern enum reg_class secondary_reload_class PARAMS ((enum reg_class,
enum machine_mode, rtx));
extern int hppa_fpstore_bypass_p PARAMS ((rtx, rtx));
-extern int attr_length_millicode_call PARAMS ((rtx, int));
+extern int attr_length_millicode_call PARAMS ((rtx));
extern int attr_length_call PARAMS ((rtx, int));
+extern int attr_length_indirect_call PARAMS ((rtx));
+extern int attr_length_save_restore_dltp PARAMS ((rtx));
/* Declare functions defined in pa.c and used in templates. */
@@ -157,7 +161,7 @@ extern int cmpib_comparison_operator PARAMS ((rtx, enum machine_mode));
extern int reloc_needed PARAMS ((tree));
#ifdef RTX_CODE
extern rtx function_arg PARAMS ((CUMULATIVE_ARGS *, enum machine_mode,
- tree, int, int));
+ tree, int));
extern rtx function_value PARAMS ((tree, tree));
#endif
extern int function_arg_partial_nregs PARAMS ((CUMULATIVE_ARGS *,
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 0d5f111a41a..a81d06e31c6 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for HPPA.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002 Free Software Foundation, Inc.
+ 2002, 2003 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
This file is part of GNU CC.
@@ -121,6 +121,11 @@ 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 pa_init_builtins PARAMS ((void));
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 +208,16 @@ 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
+
+#undef TARGET_INIT_BUILTINS
+#define TARGET_INIT_BUILTINS pa_init_builtins
+
struct gcc_target targetm = TARGET_INITIALIZER;
void
@@ -314,6 +329,14 @@ override_options ()
}
}
+static void
+pa_init_builtins ()
+{
+#ifdef DONT_HAVE_FPUTC_UNLOCKED
+ built_in_decls[(int) BUILT_IN_FPUTC_UNLOCKED] = NULL_TREE;
+#endif
+}
+
/* Return nonzero only if OP is a register of mode MODE,
or CONST0_RTX. */
int
@@ -3132,12 +3155,13 @@ compute_frame_size (size, fregs_live)
fsize += current_function_outgoing_args_size;
/* Allocate space for the fixed frame marker. This space must be
- allocated for any function that makes calls or otherwise allocates
+ allocated for any function that makes calls or allocates
stack space. */
if (!current_function_is_leaf || fsize)
- fsize += TARGET_64BIT ? 16 : 32;
+ fsize += TARGET_64BIT ? 48 : 32;
- return (fsize + STACK_BOUNDARY - 1) & ~(STACK_BOUNDARY - 1);
+ return ((fsize + PREFERRED_STACK_BOUNDARY / 8 - 1)
+ & ~(PREFERRED_STACK_BOUNDARY / 8 - 1));
}
/* Generate the assembly code for function entry. FILE is a stdio
@@ -3177,6 +3201,15 @@ pa_output_function_prologue (file, size)
else
fputs (",NO_CALLS", file);
+ /* The SAVE_SP flag is used to indicate that register %r3 is stored
+ at the beginning of the frame and that it is used as the frame
+ pointer for the frame. We do this because our current frame
+ layout doesn't conform to that specified in the the HP runtime
+ documentation and we need a way to indicate to programs such as
+ GDB where %r3 is saved. The SAVE_SP flag was chosen because it
+ isn't used by HP compilers but is supported by the assembler.
+ However, SAVE_SP is supposed to indicate that the previous stack
+ pointer has been saved in the frame marker. */
if (frame_pointer_needed)
fputs (",SAVE_SP", file);
@@ -3196,26 +3229,6 @@ pa_output_function_prologue (file, size)
fputs ("\n\t.ENTRY\n", file);
- /* If we're using GAS and SOM, and not using the portable runtime model,
- or function sections, then we don't need to accumulate the total number
- of code bytes. */
- if ((TARGET_GAS && TARGET_SOM && ! TARGET_PORTABLE_RUNTIME)
- || flag_function_sections)
- total_code_bytes = 0;
- else if (INSN_ADDRESSES_SET_P ())
- {
- unsigned long old_total = total_code_bytes;
-
- total_code_bytes += INSN_ADDRESSES (INSN_UID (get_last_nonnote_insn ()));
- total_code_bytes += FUNCTION_BOUNDARY / BITS_PER_UNIT;
-
- /* Be prepared to handle overflows. */
- if (old_total > total_code_bytes)
- total_code_bytes = -1;
- }
- else
- total_code_bytes = -1;
-
remove_useless_addtr_insns (get_insns (), 0);
}
@@ -3297,11 +3310,32 @@ hppa_expand_prologue ()
adjust2, 1);
}
- /* Prevent register spills from being scheduled before the
- stack pointer is raised. Necessary as we will be storing
- registers using the frame pointer as a base register, and
- we happen to set fp before raising sp. */
- emit_insn (gen_blockage ());
+ /* We set SAVE_SP in frames that need a frame pointer. Thus,
+ we need to store the previous stack pointer (frame pointer)
+ into the frame marker on targets that use the HP unwind
+ library. This allows the HP unwind library to be used to
+ unwind GCC frames. However, we are not fully compatible
+ with the HP library because our frame layout differs from
+ that specified in the HP runtime specification.
+
+ We don't want a frame note on this instruction as the frame
+ marker moves during dynamic stack allocation.
+
+ This instruction also serves as a blockage to prevent
+ register spills from being scheduled before the stack
+ pointer is raised. This is necessary as we store
+ registers using the frame pointer as a base register,
+ and the frame pointer is set before sp is raised. */
+ if (TARGET_HPUX_UNWIND_LIBRARY)
+ {
+ rtx addr = gen_rtx_PLUS (word_mode, stack_pointer_rtx,
+ GEN_INT (TARGET_64BIT ? -8 : -4));
+
+ emit_move_insn (gen_rtx_MEM (word_mode, addr),
+ frame_pointer_rtx);
+ }
+ else
+ emit_insn (gen_blockage ());
}
/* no frame pointer needed. */
else
@@ -3537,6 +3571,7 @@ pa_output_function_epilogue (file, size)
FILE *file;
HOST_WIDE_INT size ATTRIBUTE_UNUSED;
{
+ int last_address = 0;
rtx insn = get_last_insn ();
/* hppa_expand_epilogue does the dirty work now. We just need
@@ -3559,9 +3594,36 @@ pa_output_function_epilogue (file, size)
/* If insn is a CALL_INSN, then it must be a call to a volatile
function (otherwise there would be epilogue insns). */
if (insn && GET_CODE (insn) == CALL_INSN)
- fputs ("\tnop\n", file);
+ {
+ fputs ("\tnop\n", file);
+ last_address += 4;
+ }
fputs ("\t.EXIT\n\t.PROCEND\n", file);
+
+ /* Finally, update the total number of code bytes output so far. */
+ if ((TARGET_PORTABLE_RUNTIME || !TARGET_GAS || !TARGET_SOM)
+ && !flag_function_sections)
+ {
+ if (INSN_ADDRESSES_SET_P ())
+ {
+ unsigned long old_total = total_code_bytes;
+
+ insn = get_last_nonnote_insn ();
+ last_address += INSN_ADDRESSES (INSN_UID (insn));
+ if (INSN_P (insn))
+ last_address += insn_default_length (insn);
+
+ total_code_bytes += last_address;
+ total_code_bytes += FUNCTION_BOUNDARY / BITS_PER_UNIT;
+
+ /* Be prepared to handle overflows. */
+ if (old_total > total_code_bytes)
+ total_code_bytes = -1;
+ }
+ else
+ total_code_bytes = -1;
+ }
}
void
@@ -4784,7 +4846,9 @@ output_deferred_plabels (file)
/* Now output the deferred plabels. */
for (i = 0; i < n_deferred_plabels; i++)
{
- ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (deferred_plabels[i].internal_label));
+ rtx label = deferred_plabels[i].internal_label;
+
+ ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (label));
assemble_integer (gen_rtx_SYMBOL_REF (Pmode, deferred_plabels[i].name),
TARGET_64BIT ? 8 : 4, TARGET_64BIT ? 64 : 32, 1);
}
@@ -5370,14 +5434,19 @@ output_cbranch (operands, nullify, length, negated, insn)
{
static char buf[100];
int useskip = 0;
+ rtx xoperands[5];
- /* A conditional branch to the following instruction (eg the delay slot) is
- asking for a disaster. This can happen when not optimizing.
-
- In such cases it is safe to emit nothing. */
+ /* A conditional branch to the following instruction (eg the delay slot)
+ is asking for a disaster. This can happen when not optimizing and
+ when jump optimization fails.
- if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
- return "";
+ While it is usually safe to emit nothing, this can fail if the
+ preceding instruction is a nullified branch with an empty delay
+ slot and the same branch target as this branch. We could check
+ for this but jump optimization should eliminate nop jumps. It
+ is always safe to emit a nop. */
+ if (next_real_insn (JUMP_LABEL (insn)) == next_real_insn (insn))
+ return "nop";
/* If this is a long branch with its delay slot unfilled, set `nullify'
as it can nullify the delay slot and save a nop. */
@@ -5475,98 +5544,182 @@ output_cbranch (operands, nullify, length, negated, insn)
break;
case 20:
- /* Very long branch. Right now we only handle these when not
- optimizing. See "jump" pattern in pa.md for details. */
- if (optimize)
- abort ();
+ case 28:
+ xoperands[0] = operands[0];
+ xoperands[1] = operands[1];
+ xoperands[2] = operands[2];
+ xoperands[3] = operands[3];
+
+ /* The reversed conditional branch must branch over one additional
+ instruction if the delay slot is filled. If the delay slot
+ is empty, the instruction after the reversed condition branch
+ must be nullified. */
+ nullify = dbr_sequence_length () == 0;
+ xoperands[4] = nullify ? GEN_INT (length) : GEN_INT (length + 4);
/* Create a reversed conditional branch which branches around
the following insns. */
- if (negated)
- strcpy (buf, "{com%I2b,%S3,n %2,%r1,.+20|cmp%I2b,%S3,n %2,%r1,.+20}");
+ if (GET_MODE (operands[1]) != DImode)
+ {
+ if (nullify)
+ {
+ if (negated)
+ strcpy (buf,
+ "{com%I2b,%S3,n %2,%r1,.+%4|cmp%I2b,%S3,n %2,%r1,.+%4}");
+ else
+ strcpy (buf,
+ "{com%I2b,%B3,n %2,%r1,.+%4|cmp%I2b,%B3,n %2,%r1,.+%4}");
+ }
+ else
+ {
+ if (negated)
+ strcpy (buf,
+ "{com%I2b,%S3 %2,%r1,.+%4|cmp%I2b,%S3 %2,%r1,.+%4}");
+ else
+ strcpy (buf,
+ "{com%I2b,%B3 %2,%r1,.+%4|cmp%I2b,%B3 %2,%r1,.+%4}");
+ }
+ }
else
- strcpy (buf, "{com%I2b,%B3,n %2,%r1,.+20|cmp%I2b,%B3,n %2,%r1,.+20}");
- if (GET_MODE (operands[1]) == DImode)
{
- if (negated)
- strcpy (buf,
- "{com%I2b,*%S3,n %2,%r1,.+20|cmp%I2b,*%S3,n %2,%r1,.+20}");
+ if (nullify)
+ {
+ if (negated)
+ strcpy (buf,
+ "{com%I2b,*%S3,n %2,%r1,.+%4|cmp%I2b,*%S3,n %2,%r1,.+%4}");
+ else
+ strcpy (buf,
+ "{com%I2b,*%B3,n %2,%r1,.+%4|cmp%I2b,*%B3,n %2,%r1,.+%4}");
+ }
else
- strcpy (buf,
- "{com%I2b,*%B3,n %2,%r1,.+20|cmp%I2b,*%B3,n %2,%r1,.+20}");
+ {
+ if (negated)
+ strcpy (buf,
+ "{com%I2b,*%S3 %2,%r1,.+%4|cmp%I2b,*%S3 %2,%r1,.+%4}");
+ else
+ strcpy (buf,
+ "{com%I2b,*%B3 %2,%r1,.+%4|cmp%I2b,*%B3 %2,%r1,.+%4}");
+ }
}
- output_asm_insn (buf, operands);
- /* Output an insn to save %r1. */
- output_asm_insn ("stw %%r1,-16(%%r30)", operands);
+ output_asm_insn (buf, xoperands);
+ return output_lbranch (operands[0], insn);
- /* Now output a very long branch to the original target. */
- output_asm_insn ("ldil L'%l0,%%r1\n\tbe R'%l0(%%sr4,%%r1)", operands);
+ default:
+ abort ();
+ }
+ return buf;
+}
- /* Now restore the value of %r1 in the delay slot. We're not
- optimizing so we know nothing else can be in the delay slot. */
- return "ldw -16(%%r30),%%r1";
+/* This routine handles long unconditional branches that exceed the
+ maximum range of a simple branch instruction. */
- case 28:
- /* Very long branch when generating PIC code. Right now we only
- handle these when not optimizing. See "jump" pattern in pa.md
- for details. */
- if (optimize)
- abort ();
+const char *
+output_lbranch (dest, insn)
+ rtx dest, insn;
+{
+ rtx xoperands[2];
+
+ xoperands[0] = dest;
- /* Create a reversed conditional branch which branches around
- the following insns. */
- if (negated)
- strcpy (buf, "{com%I2b,%S3,n %2,%r1,.+28|cmp%I2b,%S3,n %2,%r1,.+28}");
- else
- strcpy (buf, "{com%I2b,%B3,n %2,%r1,.+28|cmp%I2b,%B3,n %2,%r1,.+28}");
- if (GET_MODE (operands[1]) == DImode)
- {
- if (negated)
- strcpy (buf, "{com%I2b,*%S3,n %2,%r1,.+28|cmp%I2b,*%S3,n %2,%r1,.+28}");
- else
- strcpy (buf, "{com%I2b,*%B3,n %2,%r1,.+28|cmp%I2b,*%B3,n %2,%r1,.+28}");
- }
- output_asm_insn (buf, operands);
+ /* First, free up the delay slot. */
+ if (dbr_sequence_length () != 0)
+ {
+ /* We can't handle a jump in the delay slot. */
+ if (GET_CODE (NEXT_INSN (insn)) == JUMP_INSN)
+ abort ();
- /* Output an insn to save %r1. */
- output_asm_insn ("stw %%r1,-16(%%r30)", operands);
+ final_scan_insn (NEXT_INSN (insn), asm_out_file,
+ optimize, 0, 0);
+
+ /* Now delete the delay insn. */
+ PUT_CODE (NEXT_INSN (insn), NOTE);
+ NOTE_LINE_NUMBER (NEXT_INSN (insn)) = NOTE_INSN_DELETED;
+ NOTE_SOURCE_FILE (NEXT_INSN (insn)) = 0;
+ }
+
+ /* Output an insn to save %r1. The runtime documentation doesn't
+ specify whether the "Clean Up" slot in the callers frame can
+ be clobbered by the callee. It isn't copied by HP's builtin
+ alloca, so this suggests that it can be clobbered if necessary.
+ The "Static Link" location is copied by HP builtin alloca, so
+ we avoid using it. Using the cleanup slot might be a problem
+ if we have to interoperate with languages that pass cleanup
+ information. However, it should be possible to handle these
+ situations with GCC's asm feature.
+
+ The "Current RP" slot is reserved for the called procedure, so
+ we try to use it when we don't have a frame of our own. It's
+ rather unlikely that we won't have a frame when we need to emit
+ a very long branch.
+
+ Really the way to go long term is a register scavenger; goto
+ the target of the jump and find a register which we can use
+ as a scratch to hold the value in %r1. Then, we wouldn't have
+ to free up the delay slot or clobber a slot that may be needed
+ for other purposes. */
+ if (TARGET_64BIT)
+ {
+ if (actual_fsize == 0 && !regs_ever_live[2])
+ /* Use the return pointer slot in the frame marker. */
+ output_asm_insn ("std %%r1,-16(%%r30)", xoperands);
+ else
+ /* Use the slot at -40 in the frame marker since HP builtin
+ alloca doesn't copy it. */
+ output_asm_insn ("std %%r1,-40(%%r30)", xoperands);
+ }
+ else
+ {
+ if (actual_fsize == 0 && !regs_ever_live[2])
+ /* Use the return pointer slot in the frame marker. */
+ output_asm_insn ("stw %%r1,-20(%%r30)", xoperands);
+ else
+ /* Use the "Clean Up" slot in the frame marker. In GCC,
+ the only other use of this location is for copying a
+ floating point double argument from a floating-point
+ register to two general registers. The copy is done
+ as an "atomic" operation when outputing a call, so it
+ won't interfere with our using the location here. */
+ output_asm_insn ("stw %%r1,-12(%%r30)", xoperands);
+ }
- /* Now output a very long PIC branch to the original target. */
+ if (flag_pic)
+ {
+ output_asm_insn ("{bl|b,l} .+8,%%r1", xoperands);
+ if (TARGET_SOM || !TARGET_GAS)
{
- rtx xoperands[5];
-
- xoperands[0] = operands[0];
- xoperands[1] = operands[1];
- xoperands[2] = operands[2];
- xoperands[3] = operands[3];
-
- output_asm_insn ("{bl|b,l} .+8,%%r1", xoperands);
- if (TARGET_SOM || !TARGET_GAS)
- {
- xoperands[4] = gen_label_rtx ();
- output_asm_insn ("addil L'%l0-%l4,%%r1", xoperands);
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
- CODE_LABEL_NUMBER (xoperands[4]));
- output_asm_insn ("ldo R'%l0-%l4(%%r1),%%r1", xoperands);
- }
- else
- {
- output_asm_insn ("addil L'%l0-$PIC_pcrel$0+4,%%r1", xoperands);
- output_asm_insn ("ldo R'%l0-$PIC_pcrel$0+8(%%r1),%%r1",
- xoperands);
- }
- output_asm_insn ("bv %%r0(%%r1)", xoperands);
+ xoperands[1] = gen_label_rtx ();
+ output_asm_insn ("addil L'%l0-%l1,%%r1", xoperands);
+ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
+ CODE_LABEL_NUMBER (xoperands[1]));
+ output_asm_insn ("ldo R'%l0-%l1(%%r1),%%r1", xoperands);
}
+ else
+ {
+ output_asm_insn ("addil L'%l0-$PIC_pcrel$0+4,%%r1", xoperands);
+ output_asm_insn ("ldo R'%l0-$PIC_pcrel$0+8(%%r1),%%r1", xoperands);
+ }
+ output_asm_insn ("bv %%r0(%%r1)", xoperands);
+ }
+ else
+ /* Now output a very long branch to the original target. */
+ output_asm_insn ("ldil L'%l0,%%r1\n\tbe R'%l0(%%sr4,%%r1)", xoperands);
- /* Now restore the value of %r1 in the delay slot. We're not
- optimizing so we know nothing else can be in the delay slot. */
- return "ldw -16(%%r30),%%r1";
-
- default:
- abort ();
+ /* Now restore the value of %r1 in the delay slot. */
+ if (TARGET_64BIT)
+ {
+ if (actual_fsize == 0 && !regs_ever_live[2])
+ return "ldd -16(%%r30),%%r1";
+ else
+ return "ldd -40(%%r30),%%r1";
+ }
+ else
+ {
+ if (actual_fsize == 0 && !regs_ever_live[2])
+ return "ldw -20(%%r30),%%r1";
+ else
+ return "ldw -12(%%r30),%%r1";
}
- return buf;
}
/* This routine handles all the branch-on-bit conditional branch sequences we
@@ -5589,8 +5742,8 @@ output_bb (operands, nullify, length, negated, insn, which)
is only used when optimizing; jump optimization should eliminate the
jump. But be prepared just in case. */
- if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
- return "";
+ if (next_real_insn (JUMP_LABEL (insn)) == next_real_insn (insn))
+ return "nop";
/* If this is a long branch with its delay slot unfilled, set `nullify'
as it can nullify the delay slot and save a nop. */
@@ -5737,8 +5890,8 @@ output_bvb (operands, nullify, length, negated, insn, which)
is only used when optimizing; jump optimization should eliminate the
jump. But be prepared just in case. */
- if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
- return "";
+ if (next_real_insn (JUMP_LABEL (insn)) == next_real_insn (insn))
+ return "nop";
/* If this is a long branch with its delay slot unfilled, set `nullify'
as it can nullify the delay slot and save a nop. */
@@ -5878,7 +6031,7 @@ output_dbra (operands, insn, which_alternative)
/* A conditional branch to the following instruction (eg the delay slot) is
asking for a disaster. Be prepared! */
- if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
+ if (next_real_insn (JUMP_LABEL (insn)) == next_real_insn (insn))
{
if (which_alternative == 0)
return "ldo %1(%0),%0";
@@ -5985,7 +6138,7 @@ output_movb (operands, insn, which_alternative, reverse_comparison)
/* A conditional branch to the following instruction (eg the delay slot) is
asking for a disaster. Be prepared! */
- if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
+ if (next_real_insn (JUMP_LABEL (insn)) == next_real_insn (insn))
{
if (which_alternative == 0)
return "copy %1,%0";
@@ -6161,37 +6314,42 @@ length_fp_args (insn)
return length;
}
-/* We include the delay slot in the returned length as it is better to
+/* Return the attribute length for the millicode call instruction INSN.
+ The length must match the code generated by output_millicode_call.
+ We include the delay slot in the returned length as it is better to
over estimate the length than to under estimate it. */
int
-attr_length_millicode_call (insn, length)
+attr_length_millicode_call (insn)
rtx insn;
- int length;
{
- unsigned long distance = total_code_bytes + INSN_ADDRESSES (INSN_UID (insn));
+ unsigned long distance = -1;
- if (distance < total_code_bytes)
- distance = -1;
+ if (INSN_ADDRESSES_SET_P ())
+ {
+ distance = (total_code_bytes + insn_current_reference_address (insn));
+ if (distance < total_code_bytes)
+ distance = -1;
+ }
if (TARGET_64BIT)
{
if (!TARGET_LONG_CALLS && distance < 7600000)
- return length + 8;
+ return 8;
- return length + 20;
+ return 20;
}
else if (TARGET_PORTABLE_RUNTIME)
- return length + 24;
+ return 24;
else
{
if (!TARGET_LONG_CALLS && distance < 240000)
- return length + 8;
+ return 8;
if (TARGET_LONG_ABS_CALL && !flag_pic)
- return length + 12;
+ return 12;
- return length + 24;
+ return 24;
}
}
@@ -6321,16 +6479,22 @@ output_millicode_call (insn, call_dest)
/* See if the return address can be adjusted. Use the containing
sequence insn's address. */
- seq_insn = NEXT_INSN (PREV_INSN (XVECEXP (final_sequence, 0, 0)));
- distance = (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (NEXT_INSN (insn))))
- - INSN_ADDRESSES (INSN_UID (seq_insn)) - 8);
-
- if (VAL_14_BITS_P (distance))
+ if (INSN_ADDRESSES_SET_P ())
{
- 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]));
+ seq_insn = NEXT_INSN (PREV_INSN (XVECEXP (final_sequence, 0, 0)));
+ distance = (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (NEXT_INSN (insn))))
+ - INSN_ADDRESSES (INSN_UID (seq_insn)) - 8);
+
+ if (VAL_14_BITS_P (distance))
+ {
+ 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[1]));
+ }
+ else
+ /* ??? This branch may not reach its target. */
+ output_asm_insn ("nop\n\tb,n %0", xoperands);
}
else
/* ??? This branch may not reach its target. */
@@ -6344,18 +6508,25 @@ output_millicode_call (insn, call_dest)
return "";
}
-/* We include the delay slot in the returned length as it is better to
- over estimate the length than to under estimate it. */
+/* Return the attribute length of the call instruction INSN. The SIBCALL
+ flag indicates whether INSN is a regular call or a sibling call. The
+ length must match the code generated by output_call. We include the delay
+ slot in the returned length as it is better to over estimate the length
+ than to under estimate it. */
int
attr_length_call (insn, sibcall)
rtx insn;
int sibcall;
{
- unsigned long distance = total_code_bytes + INSN_ADDRESSES (INSN_UID (insn));
+ unsigned long distance = -1;
- if (distance < total_code_bytes)
- distance = -1;
+ if (INSN_ADDRESSES_SET_P ())
+ {
+ distance = (total_code_bytes + insn_current_reference_address (insn));
+ if (distance < total_code_bytes)
+ distance = -1;
+ }
if (TARGET_64BIT)
{
@@ -6396,10 +6567,13 @@ attr_length_call (insn, sibcall)
if (TARGET_PA_20)
return (length + 32);
+ if (!TARGET_NO_SPACE_REGS)
+ length += 8;
+
if (!sibcall)
length += 8;
- return (length + 40);
+ return (length + 32);
}
}
}
@@ -6417,7 +6591,6 @@ output_call (insn, call_dest, sibcall)
{
int delay_insn_deleted = 0;
int delay_slot_filled = 0;
- int attr_length = get_attr_length (insn);
int seq_length = dbr_sequence_length ();
rtx xoperands[2];
@@ -6425,9 +6598,7 @@ output_call (insn, call_dest, sibcall)
/* Handle the common case where we're sure that the branch will reach
the beginning of the $CODE$ subspace. */
- if (!TARGET_LONG_CALLS
- && ((seq_length == 0 && attr_length == 12)
- || (seq_length != 0 && attr_length == 8)))
+ if (!TARGET_LONG_CALLS && attr_length_call (insn, sibcall) == 8)
{
xoperands[1] = gen_rtx_REG (word_mode, sibcall ? 0 : 2);
output_asm_insn ("{bl|b,l} %0,%1", xoperands);
@@ -6597,7 +6768,10 @@ output_call (insn, call_dest, sibcall)
if (!sibcall && !TARGET_PA_20)
{
output_asm_insn ("{bl|b,l} .+8,%%r2", xoperands);
- output_asm_insn ("addi 16,%%r2,%%r2", xoperands);
+ if (TARGET_NO_SPACE_REGS)
+ output_asm_insn ("addi 8,%%r2,%%r2", xoperands);
+ else
+ output_asm_insn ("addi 16,%%r2,%%r2", xoperands);
}
}
@@ -6619,14 +6793,23 @@ output_call (insn, call_dest, sibcall)
}
else
{
- output_asm_insn ("ldsid (%%r1),%%r31\n\tmtsp %%r31,%%sr0",
- xoperands);
+ if (!TARGET_NO_SPACE_REGS)
+ output_asm_insn ("ldsid (%%r1),%%r31\n\tmtsp %%r31,%%sr0",
+ xoperands);
if (sibcall)
- output_asm_insn ("be 0(%%sr0,%%r1)", xoperands);
+ {
+ if (TARGET_NO_SPACE_REGS)
+ output_asm_insn ("be 0(%%sr4,%%r1)", xoperands);
+ else
+ output_asm_insn ("be 0(%%sr0,%%r1)", xoperands);
+ }
else
{
- output_asm_insn ("ble 0(%%sr0,%%r1)", xoperands);
+ if (TARGET_NO_SPACE_REGS)
+ output_asm_insn ("ble 0(%%sr4,%%r1)", xoperands);
+ else
+ output_asm_insn ("ble 0(%%sr0,%%r1)", xoperands);
if (indirect_call)
output_asm_insn ("stw %%r31,-24(%%sp)", xoperands);
@@ -6655,7 +6838,7 @@ output_call (insn, call_dest, sibcall)
/* This call has an unconditional jump in its delay slot. */
xoperands[0] = XEXP (PATTERN (NEXT_INSN (insn)), 1);
- if (!delay_slot_filled)
+ if (!delay_slot_filled && INSN_ADDRESSES_SET_P ())
{
/* See if the return address can be adjusted. Use the containing
sequence insn's address. */
@@ -6668,7 +6851,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. */
@@ -6686,6 +6869,114 @@ output_call (insn, call_dest, sibcall)
return "";
}
+/* Return the attribute length of the indirect call instruction INSN.
+ The length must match the code generated by output_indirect call.
+ The returned length includes the delay slot. Currently, the delay
+ slot of an indirect call sequence is not exposed and it is used by
+ the sequence itself. */
+
+int
+attr_length_indirect_call (insn)
+ rtx insn;
+{
+ unsigned long distance = -1;
+
+ if (INSN_ADDRESSES_SET_P ())
+ {
+ distance = (total_code_bytes + insn_current_reference_address (insn));
+ if (distance < total_code_bytes)
+ distance = -1;
+ }
+
+ if (TARGET_64BIT)
+ return 12;
+
+ if (TARGET_FAST_INDIRECT_CALLS
+ || (!TARGET_PORTABLE_RUNTIME
+ && ((TARGET_PA_20 && distance < 7600000) || distance < 240000)))
+ return 8;
+
+ if (flag_pic)
+ return 24;
+
+ if (TARGET_PORTABLE_RUNTIME)
+ return 20;
+
+ /* Out of reach, can use ble. */
+ return 12;
+}
+
+const char *
+output_indirect_call (insn, call_dest)
+ rtx insn;
+ rtx call_dest;
+{
+ rtx xoperands[1];
+
+ if (TARGET_64BIT)
+ {
+ xoperands[0] = call_dest;
+ output_asm_insn ("ldd 16(%0),%%r2", xoperands);
+ output_asm_insn ("bve,l (%%r2),%%r2\n\tldd 24(%0),%%r27", xoperands);
+ return "";
+ }
+
+ /* First the special case for kernels, level 0 systems, etc. */
+ if (TARGET_FAST_INDIRECT_CALLS)
+ return "ble 0(%%sr4,%%r22)\n\tcopy %%r31,%%r2";
+
+ /* Now the normal case -- we can reach $$dyncall directly or
+ we're sure that we can get there via a long-branch stub.
+
+ No need to check target flags as the length uniquely identifies
+ the remaining cases. */
+ if (attr_length_indirect_call (insn) == 8)
+ return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r31\n\tcopy %%r31,%%r2";
+
+ /* Long millicode call, but we are not generating PIC or portable runtime
+ code. */
+ if (attr_length_indirect_call (insn) == 12)
+ return ".CALL\tARGW0=GR\n\tldil L'$$dyncall,%%r2\n\tble R'$$dyncall(%%sr4,%%r2)\n\tcopy %%r31,%%r2";
+
+ /* Long millicode call for portable runtime. */
+ if (attr_length_indirect_call (insn) == 20)
+ return "ldil L'$$dyncall,%%r31\n\tldo R'$$dyncall(%%r31),%%r31\n\tblr %%r0,%%r2\n\tbv,n %%r0(%%r31)\n\tnop";
+
+ /* We need a long PIC call to $$dyncall. */
+ xoperands[0] = NULL_RTX;
+ output_asm_insn ("{bl|b,l} .+8,%%r1", xoperands);
+ if (TARGET_SOM || !TARGET_GAS)
+ {
+ xoperands[0] = gen_label_rtx ();
+ output_asm_insn ("addil L'$$dyncall-%0,%%r1", xoperands);
+ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
+ CODE_LABEL_NUMBER (xoperands[0]));
+ output_asm_insn ("ldo R'$$dyncall-%0(%%r1),%%r1", xoperands);
+ }
+ else
+ {
+ output_asm_insn ("addil L'$$dyncall-$PIC_pcrel$0+4,%%r1", xoperands);
+ output_asm_insn ("ldo R'$$dyncall-$PIC_pcrel$0+8(%%r1),%%r1",
+ xoperands);
+ }
+ output_asm_insn ("blr %%r0,%%r2", xoperands);
+ output_asm_insn ("bv,n %%r0(%%r1)\n\tnop", xoperands);
+ return "";
+}
+
+/* Return the total length of the save and restore instructions needed for
+ the data linkage table pointer (i.e., the PIC register) across the call instruction INSN. No-return calls do not require a save and restore. In addition, we may be able to avoid the save and restore for calls within the same translation unit. */
+
+int
+attr_length_save_restore_dltp (insn)
+ rtx insn;
+{
+ if (find_reg_note (insn, REG_NORETURN, NULL_RTX))
+ return 0;
+
+ return 8;
+}
+
/* In HPUX 8.0's shared library scheme, special relocations are needed
for function labels if they might be passed to a function
in a shared library (because shared libraries don't live in code
@@ -6782,7 +7073,7 @@ pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
pa_output_function_prologue (file, 0);
if (VAL_14_BITS_P (delta))
{
- if (! TARGET_64BIT && ! TARGET_PORTABLE_RUNTIME && flag_pic)
+ if (!TARGET_64BIT && !TARGET_PORTABLE_RUNTIME && flag_pic)
{
fprintf (file, "\taddil LT'%s,%%r19\n", lab);
fprintf (file, "\tldw RT'%s(%%r1),%%r22\n", lab);
@@ -6791,8 +7082,14 @@ pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
fprintf (file, "\tdepi 0,31,2,%%r22\n");
fprintf (file, "\tldw 4(%%sr0,%%r22),%%r19\n");
fprintf (file, "\tldw 0(%%sr0,%%r22),%%r22\n");
- fprintf (file, "\tldsid (%%sr0,%%r22),%%r1\n\tmtsp %%r1,%%sr0\n");
- fprintf (file, "\tbe 0(%%sr0,%%r22)\n\tldo ");
+ if (TARGET_NO_SPACE_REGS)
+ fprintf (file, "\tbe 0(%%sr4,%%r22)\n\tldo ");
+ else
+ {
+ fprintf (file, "\tldsid (%%sr0,%%r22),%%r1\n");
+ fprintf (file, "\tmtsp %%r1,%%sr0\n");
+ fprintf (file, "\tbe 0(%%sr0,%%r22)\n\tldo ");
+ }
fprintf (file, HOST_WIDE_INT_PRINT_DEC, delta);
fprintf (file, "(%%r26),%%r26\n");
}
@@ -6805,7 +7102,7 @@ pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
}
else
{
- if (! TARGET_64BIT && ! TARGET_PORTABLE_RUNTIME && flag_pic)
+ if (!TARGET_64BIT && !TARGET_PORTABLE_RUNTIME && flag_pic)
{
fprintf (file, "\taddil L'");
fprintf (file, HOST_WIDE_INT_PRINT_DEC, delta);
@@ -6819,8 +7116,14 @@ pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
fprintf (file, "\tdepi 0,31,2,%%r22\n");
fprintf (file, "\tldw 4(%%sr0,%%r22),%%r19\n");
fprintf (file, "\tldw 0(%%sr0,%%r22),%%r22\n");
- fprintf (file, "\tldsid (%%sr0,%%r22),%%r1\n\tmtsp %%r1,%%sr0\n");
- fprintf (file, "\tbe,n 0(%%sr0,%%r22)\n");
+ if (TARGET_NO_SPACE_REGS)
+ fprintf (file, "\tbe 0(%%sr4,%%r22)");
+ else
+ {
+ fprintf (file, "\tldsid (%%sr0,%%r22),%%r1\n");
+ fprintf (file, "\tmtsp %%r1,%%sr0\n");
+ fprintf (file, "\tbe,n 0(%%sr0,%%r22)\n");
+ }
}
else
{
@@ -6903,6 +7206,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
@@ -7080,9 +7423,9 @@ jump_in_call_delay (insn)
if (PREV_INSN (insn)
&& PREV_INSN (PREV_INSN (insn))
- && GET_CODE (next_active_insn (PREV_INSN (PREV_INSN (insn)))) == INSN)
+ && GET_CODE (next_real_insn (PREV_INSN (PREV_INSN (insn)))) == INSN)
{
- rtx test_insn = next_active_insn (PREV_INSN (PREV_INSN (insn)));
+ rtx test_insn = next_real_insn (PREV_INSN (PREV_INSN (insn)));
return (GET_CODE (PATTERN (test_insn)) == SEQUENCE
&& XVECEXP (PATTERN (test_insn), 0, 1) == insn);
@@ -7737,12 +8080,11 @@ function_value (valtype, func)
??? We might want to restructure this so that it looks more like other
ports. */
rtx
-function_arg (cum, mode, type, named, incoming)
+function_arg (cum, mode, type, named)
CUMULATIVE_ARGS *cum;
enum machine_mode mode;
tree type;
int named ATTRIBUTE_UNUSED;
- int incoming;
{
int max_arg_words = (TARGET_64BIT ? 8 : 4);
int alignment = 0;
@@ -7884,7 +8226,7 @@ function_arg (cum, mode, type, named, incoming)
if (((TARGET_PORTABLE_RUNTIME || TARGET_64BIT || TARGET_ELF32)
/* If we are doing soft-float with portable runtime, then there
is no need to worry about FP regs. */
- && ! TARGET_SOFT_FLOAT
+ && !TARGET_SOFT_FLOAT
/* The parameter must be some kind of float, else we can just
pass it in integer registers. */
&& FLOAT_MODE_P (mode)
@@ -7893,14 +8235,15 @@ function_arg (cum, mode, type, named, incoming)
/* libcalls do not need to pass items in both FP and general
registers. */
&& type != NULL_TREE
- /* All this hair applies to outgoing args only. */
- && ! incoming)
+ /* All this hair applies to "outgoing" args only. This includes
+ sibcall arguments setup with FUNCTION_INCOMING_ARG. */
+ && !cum->incoming)
/* Also pass outgoing floating arguments in both registers in indirect
calls with the 32 bit ABI and the HP assembler since there is no
way to the specify argument locations in static functions. */
- || (! TARGET_64BIT
- && ! TARGET_GAS
- && ! incoming
+ || (!TARGET_64BIT
+ && !TARGET_GAS
+ && !cum->incoming
&& cum->indirect
&& FLOAT_MODE_P (mode)))
{
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 860b7590d98..02791ce466d 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -206,6 +206,20 @@ 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
+
+/* Define to a C expression evaluating to true to save the entry value
+ of SP in the current frame marker. This is normally unnecessary.
+ However, the HP-UX unwind library looks at the SAVE_SP callinfo flag.
+ HP compilers don't use this flag but it is supported by the assembler.
+ We set this flag to indicate that register %r3 has been saved at the
+ start of the frame. Thus, when the HP unwind library is used, we
+ need to generate additional code to save SP into the frame marker. */
+#define TARGET_HPUX_UNWIND_LIBRARY 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,
@@ -456,11 +470,12 @@ do { \
/* Boundary (in *bits*) on which stack pointer is always aligned;
certain optimizations in combine depend on this.
- GCC for the PA always rounds its stacks to a 8 * STACK_BOUNDARY
- boundary, but that happens late in the compilation process. */
+ The HP-UX runtime documents mandate 64-byte and 16-byte alignment for
+ the stack on the 32 and 64-bit ports, respectively. However, we
+ are only guaranteed that the stack is aligned to BIGGEST_ALIGNMENT
+ in main. Thus, we treat the former as the preferred alignment. */
#define STACK_BOUNDARY BIGGEST_ALIGNMENT
-
-#define PREFERRED_STACK_BOUNDARY (8 * STACK_BOUNDARY)
+#define PREFERRED_STACK_BOUNDARY (TARGET_64BIT ? 128 : 512)
/* Allocation boundary (in *bits*) for the code of a function. */
#define FUNCTION_BOUNDARY BITS_PER_WORD
@@ -706,9 +721,13 @@ extern struct rtx_def *hppa_pic_save_rtx PARAMS ((void));
/* The weird HPPA calling conventions require a minimum of 48 bytes on
the stack: 16 bytes for register saves, and 32 bytes for magic.
This is the difference between the logical top of stack and the
- actual sp. */
+ actual sp.
+
+ On the 64-bit port, the HP C compiler allocates a 48-byte frame
+ marker, although the runtime documentation only describes a 16
+ byte marker. For compatibility, we allocate 48 bytes. */
#define STACK_POINTER_OFFSET \
- (TARGET_64BIT ? -(current_function_outgoing_args_size + 16): -32)
+ (TARGET_64BIT ? -(current_function_outgoing_args_size + 48): -32)
#define STACK_DYNAMIC_OFFSET(FNDECL) \
(TARGET_64BIT \
@@ -751,12 +770,21 @@ extern struct rtx_def *hppa_pic_save_rtx PARAMS ((void));
and about the args processed so far, enough to enable macros
such as FUNCTION_ARG to determine where the next arg should go.
- On the HP-PA, this is a single integer, which is a number of words
+ On the HP-PA, the WORDS field holds the number of words
of arguments scanned so far (including the invisible argument,
- if any, which holds the structure-value-address).
- Thus 4 or more means all following args should go on the stack. */
+ if any, which holds the structure-value-address). Thus, 4 or
+ more means all following args should go on the stack.
+
+ The INCOMING field tracks whether this is an "incoming" or
+ "outgoing" argument.
+
+ The INDIRECT field indicates whether this is is an indirect
+ call or not.
+
+ The NARGS_PROTOTYPE field indicates that an argument does not
+ have a prototype when it less than or equal to 0. */
-struct hppa_args {int words, nargs_prototype, indirect; };
+struct hppa_args {int words, nargs_prototype, incoming, indirect; };
#define CUMULATIVE_ARGS struct hppa_args
@@ -766,6 +794,7 @@ struct hppa_args {int words, nargs_prototype, indirect; };
#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT) \
(CUM).words = 0, \
+ (CUM).incoming = 0, \
(CUM).indirect = INDIRECT, \
(CUM).nargs_prototype = (FNTYPE && TYPE_ARG_TYPES (FNTYPE) \
? (list_length (TYPE_ARG_TYPES (FNTYPE)) - 1 \
@@ -780,6 +809,7 @@ struct hppa_args {int words, nargs_prototype, indirect; };
#define INIT_CUMULATIVE_INCOMING_ARGS(CUM,FNTYPE,IGNORE) \
(CUM).words = 0, \
+ (CUM).incoming = 1, \
(CUM).indirect = 0, \
(CUM).nargs_prototype = 1000
@@ -855,7 +885,7 @@ struct hppa_args {int words, nargs_prototype, indirect; };
tempted to try and simply it, but I worry about breaking something. */
#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
- function_arg (&CUM, MODE, TYPE, NAMED, 0)
+ function_arg (&CUM, MODE, TYPE, NAMED)
/* Nonzero if we do not know how to pass TYPE solely in registers. */
#define MUST_PASS_IN_STACK(MODE,TYPE) \
@@ -863,9 +893,6 @@ struct hppa_args {int words, nargs_prototype, indirect; };
&& (TREE_CODE (TYPE_SIZE (TYPE)) != INTEGER_CST \
|| TREE_ADDRESSABLE (TYPE)))
-#define FUNCTION_INCOMING_ARG(CUM, MODE, TYPE, NAMED) \
- function_arg (&CUM, MODE, TYPE, NAMED, 1)
-
/* For an arg passed partly in registers and partly in memory,
this is the number of registers used.
For args passed entirely in registers or entirely in memory, zero. */
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 640196b067d..d69e329dc6a 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -1,6 +1,6 @@
;;- Machine description for HP PA-RISC architecture for GNU C compiler
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-;; 2002 Free Software Foundation, Inc.
+;; 2002, 2003 Free Software Foundation, Inc.
;; Contributed by the Center for Software Science at the University
;; of Utah.
@@ -625,23 +625,37 @@
[(set_attr "length" "4")
(set_attr "type" "fpcc")])
-;; The following two patterns are optimization placeholders. In almost
+;; Provide a means to emit the movccfp0 and movccfp1 optimization
+;; placeholders. This is necessary in rare situations when a
+;; placeholder is re-emitted (see PR 8705).
+
+(define_expand "movccfp"
+ [(set (reg:CCFP 0)
+ (match_operand 0 "const_int_operand" ""))]
+ "! TARGET_SOFT_FLOAT"
+ "
+{
+ if ((unsigned HOST_WIDE_INT) INTVAL (operands[0]) > 1)
+ FAIL;
+}")
+
+;; The following patterns are optimization placeholders. In almost
;; all cases, the user of the condition code will be simplified and the
;; original condition code setting insn should be eliminated.
-(define_insn "*setccfp0"
+(define_insn "*movccfp0"
[(set (reg:CCFP 0)
(const_int 0))]
"! TARGET_SOFT_FLOAT"
- "fcmp,dbl,!= %%fr0,%%fr0"
+ "fcmp,dbl,= %%fr0,%%fr0"
[(set_attr "length" "4")
(set_attr "type" "fpcc")])
-(define_insn "*setccfp1"
+(define_insn "*movccfp1"
[(set (reg:CCFP 0)
(const_int 1))]
"! TARGET_SOFT_FLOAT"
- "fcmp,dbl,= %%fr0,%%fr0"
+ "fcmp,dbl,!= %%fr0,%%fr0"
[(set_attr "length" "4")
(set_attr "type" "fpcc")])
@@ -4086,7 +4100,7 @@
"!TARGET_64BIT"
"* return output_mul_insn (0, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_insn ""
[(set (reg:SI 29) (mult:SI (reg:SI 26) (reg:SI 25)))
@@ -4097,7 +4111,7 @@
"TARGET_64BIT"
"* return output_mul_insn (0, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_expand "muldi3"
[(set (match_operand:DI 0 "register_operand" "")
@@ -4135,7 +4149,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));
@@ -4188,7 +4202,7 @@
"*
return output_div_insn (operands, 0, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_insn ""
[(set (reg:SI 29)
@@ -4202,7 +4216,7 @@
"*
return output_div_insn (operands, 0, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_expand "udivsi3"
[(set (reg:SI 26) (match_operand:SI 1 "move_operand" ""))
@@ -4245,7 +4259,7 @@
"*
return output_div_insn (operands, 1, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_insn ""
[(set (reg:SI 29)
@@ -4259,7 +4273,7 @@
"*
return output_div_insn (operands, 1, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_expand "modsi3"
[(set (reg:SI 26) (match_operand:SI 1 "move_operand" ""))
@@ -4298,7 +4312,7 @@
"*
return output_mod_insn (0, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_insn ""
[(set (reg:SI 29) (mod:SI (reg:SI 26) (reg:SI 25)))
@@ -4311,7 +4325,7 @@
"*
return output_mod_insn (0, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_expand "umodsi3"
[(set (reg:SI 26) (match_operand:SI 1 "move_operand" ""))
@@ -4350,7 +4364,7 @@
"*
return output_mod_insn (1, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
(define_insn ""
[(set (reg:SI 29) (umod:SI (reg:SI 26) (reg:SI 25)))
@@ -4363,7 +4377,7 @@
"*
return output_mod_insn (1, insn);"
[(set_attr "type" "milli")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 0)"))])
+ (set (attr "length") (symbol_ref "attr_length_millicode_call (insn)"))])
;;- and instructions
;; We define DImode `and` so with DImode `not` we can get
@@ -5614,23 +5628,7 @@
[(return)
(use (reg:SI 2))
(const_int 1)]
- "! flag_pic"
- "*
-{
- if (TARGET_PA_20)
- return \"bve%* (%%r2)\";
- return \"bv%* %%r0(%%r2)\";
-}"
- [(set_attr "type" "branch")
- (set_attr "length" "4")])
-
-;; Use the PIC register to ensure it's restored after a
-;; call in PIC mode.
-(define_insn "return_internal_pic"
- [(return)
- (use (match_operand 0 "register_operand" "r"))
- (use (reg:SI 2))]
- "flag_pic && true_regnum (operands[0]) == PIC_OFFSET_TABLE_REGNUM"
+ ""
"*
{
if (TARGET_PA_20)
@@ -5640,17 +5638,14 @@
[(set_attr "type" "branch")
(set_attr "length" "4")])
-;; Use the PIC register to ensure it's restored after a
-;; call in PIC mode. This is used for eh returns which
-;; bypass the return stub.
+;; This is used for eh returns which bypass the return stub.
(define_insn "return_external_pic"
[(return)
- (use (match_operand 0 "register_operand" "r"))
- (use (reg:SI 2))
- (clobber (reg:SI 1))]
- "flag_pic
- && current_function_calls_eh_return
- && true_regnum (operands[0]) == PIC_OFFSET_TABLE_REGNUM"
+ (clobber (reg:SI 1))
+ (use (reg:SI 2))]
+ "!TARGET_NO_SPACE_REGS
+ && !TARGET_PA_20
+ && flag_pic && current_function_calls_eh_return"
"ldsid (%%sr0,%%r2),%%r1\;mtsp %%r1,%%sr0\;be%* 0(%%sr0,%%r2)"
[(set_attr "type" "branch")
(set_attr "length" "12")])
@@ -5683,20 +5678,18 @@
rtx x;
hppa_expand_epilogue ();
- if (flag_pic)
- {
- rtx pic = gen_rtx_REG (word_mode, PIC_OFFSET_TABLE_REGNUM);
- /* EH returns bypass the normal return stub. Thus, we must do an
- interspace branch to return from functions that call eh_return.
- This is only a problem for returns from shared code. */
- if (current_function_calls_eh_return)
- x = gen_return_external_pic (pic);
- else
- x = gen_return_internal_pic (pic);
- }
+ /* EH returns bypass the normal return stub. Thus, we must do an
+ interspace branch to return from functions that call eh_return.
+ This is only a problem for returns from shared code on ports
+ using space registers. */
+ if (!TARGET_NO_SPACE_REGS
+ && !TARGET_PA_20
+ && flag_pic && current_function_calls_eh_return)
+ x = gen_return_external_pic ();
else
x = gen_return_internal ();
+
emit_jump_insn (x);
}
DONE;
@@ -5742,8 +5735,6 @@
""
"*
{
- extern int optimize;
-
if (GET_MODE (insn) == SImode)
return \"b %l0%#\";
@@ -5752,61 +5743,7 @@
&& get_attr_length (insn) != 16)
return \"b%* %l0\";
- /* An unconditional branch which can not reach its target.
-
- We need to be able to use %r1 as a scratch register; however,
- we can never be sure whether or not it's got a live value in
- it. Therefore, we must restore its original value after the
- jump.
-
- To make matters worse, we don't have a stack slot which we
- can always clobber. sp-12/sp-16 shouldn't ever have a live
- value during a non-optimizing compilation, so we use those
- slots for now. We don't support very long branches when
- optimizing -- they should be quite rare when optimizing.
-
- Really the way to go long term is a register scavenger; goto
- the target of the jump and find a register which we can use
- as a scratch to hold the value in %r1. */
-
- /* We don't know how to register scavenge yet. */
- if (optimize)
- abort ();
-
- /* First store %r1 into the stack. */
- output_asm_insn (\"stw %%r1,-16(%%r30)\", operands);
-
- /* Now load the target address into %r1 and do an indirect jump
- to the value specified in %r1. Be careful to generate PIC
- code as needed. */
- if (flag_pic)
- {
- rtx xoperands[2];
- xoperands[0] = operands[0];
- if (TARGET_SOM || ! TARGET_GAS)
- {
- xoperands[1] = gen_label_rtx ();
-
- output_asm_insn (\"{bl|b,l} .+8,%%r1\\n\\taddil L'%l0-%l1,%%r1\",
- xoperands);
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
- CODE_LABEL_NUMBER (xoperands[1]));
- output_asm_insn (\"ldo R'%l0-%l1(%%r1),%%r1\", xoperands);
- }
- else
- {
- output_asm_insn (\"{bl|b,l} .+8,%%r1\", xoperands);
- output_asm_insn (\"addil L'%l0-$PIC_pcrel$0+4,%%r1\", xoperands);
- output_asm_insn (\"ldo R'%l0-$PIC_pcrel$0+8(%%r1),%%r1\", xoperands);
- }
- output_asm_insn (\"bv %%r0(%%r1)\", xoperands);
- }
- else
- output_asm_insn (\"ldil L'%l0,%%r1\\n\\tbe R'%l0(%%sr4,%%r1)\", operands);;
-
- /* And restore the value of %r1 in the delay slot. We're not optimizing,
- so we know nothing else can be in the delay slot. */
- return \"ldw -16(%%r30),%%r1\";
+ return output_lbranch (operands[0], insn);
}"
[(set_attr "type" "uncond_branch")
(set_attr "pa_combine_type" "uncond_branch")
@@ -5901,8 +5838,8 @@
""
"
{
- rtx op;
- rtx call_insn;
+ rtx op, call_insn;
+ rtx nb = operands[1];
if (TARGET_PORTABLE_RUNTIME)
op = force_reg (SImode, XEXP (operands[0], 0));
@@ -5910,51 +5847,127 @@
op = XEXP (operands[0], 0);
if (TARGET_64BIT)
- emit_move_insn (arg_pointer_rtx,
- gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
- GEN_INT (64)));
+ {
+ if (!virtuals_instantiated)
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
+ GEN_INT (64)));
+ else
+ {
+ /* The loop pass can generate new libcalls after the virtual
+ registers are instantiated when fpregs are disabled because
+ the only method that we have for doing DImode multiplication
+ is with a libcall. This could be trouble if we haven't
+ allocated enough space for the outgoing arguments. */
+ if (INTVAL (nb) > current_function_outgoing_args_size)
+ abort ();
+
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, stack_pointer_rtx,
+ GEN_INT (STACK_POINTER_OFFSET + 64)));
+ }
+ }
/* Use two different patterns for calls to explicitly named functions
and calls through function pointers. This is necessary as these two
types of calls use different calling conventions, and CSE might try
to change the named call into an indirect call in some cases (using
- two patterns keeps CSE from performing this optimization). */
- if (GET_CODE (op) == SYMBOL_REF)
- call_insn = emit_call_insn (gen_call_internal_symref (op, operands[1]));
- else if (TARGET_64BIT)
+ two patterns keeps CSE from performing this optimization).
+
+ We now use even more call patterns as there was a subtle bug in
+ attempting to restore the pic register after a call using a simple
+ move insn. During reload, a instruction involving a pseudo register
+ with no explicit dependence on the PIC register can be converted
+ to an equivalent load from memory using the PIC register. If we
+ emit a simple move to restore the PIC register in the initial rtl
+ generation, then it can potentially be repositioned during scheduling.
+ and an instruction that eventually uses the PIC register may end up
+ between the call and the PIC register restore.
+
+ This only worked because there is a post call group of instructions
+ that are scheduled with the call. These instructions are included
+ in the same basic block as the call. However, calls can throw in
+ C++ code and a basic block has to terminate at the call if the call
+ can throw. This results in the PIC register restore being scheduled
+ independently from the call. So, we now hide the save and restore
+ of the PIC register in the call pattern until after reload. Then,
+ we split the moves out. A small side benefit is that we now don't
+ need to have a use of the PIC register in the return pattern and
+ the final save/restore operation is not needed.
+
+ I elected to just clobber %r4 in the PIC patterns and use it instead
+ of trying to force hppa_pic_save_rtx () to a callee saved register.
+ This might have required a new register class and constraint. It
+ was also simpler to just handle the restore from a register than a
+ generic pseudo. */
+ if (TARGET_64BIT)
{
- rtx tmpreg = force_reg (word_mode, op);
- call_insn = emit_call_insn (gen_call_internal_reg_64bit (tmpreg,
- operands[1]));
+ if (GET_CODE (op) == SYMBOL_REF)
+ call_insn = emit_call_insn (gen_call_symref_64bit (op, nb));
+ else
+ {
+ op = force_reg (word_mode, op);
+ call_insn = emit_call_insn (gen_call_reg_64bit (op, nb));
+ }
}
else
{
- rtx tmpreg = gen_rtx_REG (word_mode, 22);
- emit_move_insn (tmpreg, force_reg (word_mode, op));
- call_insn = emit_call_insn (gen_call_internal_reg (operands[1]));
- }
-
- if (TARGET_64BIT)
- use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), arg_pointer_rtx);
-
- if (flag_pic)
- {
- use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), pic_offset_table_rtx);
+ if (GET_CODE (op) == SYMBOL_REF)
+ {
+ if (flag_pic)
+ call_insn = emit_call_insn (gen_call_symref_pic (op, nb));
+ else
+ call_insn = emit_call_insn (gen_call_symref (op, nb));
+ }
+ else
+ {
+ rtx tmpreg = gen_rtx_REG (word_mode, 22);
- /* After each call we must restore the PIC register, even if it
- doesn't appear to be used. */
- emit_move_insn (pic_offset_table_rtx, hppa_pic_save_rtx ());
+ emit_move_insn (tmpreg, force_reg (word_mode, op));
+ if (flag_pic)
+ call_insn = emit_call_insn (gen_call_reg_pic (nb));
+ else
+ call_insn = emit_call_insn (gen_call_reg (nb));
+ }
}
+
DONE;
}")
-(define_insn "call_internal_symref"
+;; We use function calls to set the attribute length of calls and millicode
+;; calls. This is necessary because of the large variety of call sequences.
+;; Implementing the calculation in rtl is difficult as well as ugly. As
+;; we need the same calculation in several places, maintenance becomes a
+;; nightmare.
+;;
+;; However, this has a subtle impact on branch shortening. When the
+;; expression used to set the length attribute of an instruction depends
+;; on a relative address (e.g., pc or a branch address), genattrtab
+;; notes that the insn's length is variable, and attempts to determine a
+;; worst-case default length and code to compute an insn's current length.
+
+;; The use of a function call hides the variable dependence of our calls
+;; and millicode calls. The result is genattrtab doesn't treat the operation
+;; as variable and it only generates code for the default case using our
+;; function call. Because of this, calls and millicode calls have a fixed
+;; length in the branch shortening pass, and some branches will use a longer
+;; code sequence than necessary. However, the length of any given call
+;; will still reflect its final code location and it may be shorter than
+;; the initial length estimate.
+
+;; It's possible to trick genattrtab by adding an expression involving `pc'
+;; in the set. However, when genattrtab hits a function call in its attempt
+;; to compute the default length, it marks the result as unknown and sets
+;; the default result to MAX_INT ;-( One possible fix that would allow
+;; calls to participate in branch shortening would be to make the call to ;; insn_default_length a target option. Then, we could massage unknown ;; results. Another fix might be to change genattrtab so that it just does ;; the call in the variable case as it already does for the fixed case.
+
+(define_insn "call_symref"
[(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" "i"))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
(use (const_int 0))]
- "! TARGET_PORTABLE_RUNTIME"
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
"*
{
output_arg_descriptor (insn);
@@ -5963,102 +5976,356 @@
[(set_attr "type" "call")
(set (attr "length") (symbol_ref "attr_length_call (insn, 0)"))])
-(define_insn "call_internal_reg_64bit"
- [(call (mem:SI (match_operand:DI 0 "register_operand" "r"))
+(define_insn "call_symref_pic"
+ [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" "i"))
+ (clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (const_int 1))]
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 0))]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
+ "*
+{
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[0], 0);
+}"
+ [(set_attr "type" "call")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_call (insn, 0)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" ""))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 0))])]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:SI 4) (reg:SI 19))
+ (parallel [(call (mem:SI (match_dup 0))
+ (match_dup 1))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 0))])
+ (set (reg:SI 19) (reg:SI 4))]
+ "")
+
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" ""))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 0))])]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && reload_completed"
+ [(parallel [(call (mem:SI (match_dup 0))
+ (match_dup 1))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 0))])]
+ "")
+
+(define_insn "*call_symref_pic_post_reload"
+ [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" "i"))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 0))]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
+ "*
+{
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[0], 0);
+}"
+ [(set_attr "type" "call")
+ (set (attr "length") (symbol_ref "attr_length_call (insn, 0)"))])
+
+;; This pattern is split if it is necessary to save and restore the
+;; PIC register.
+(define_insn "call_symref_64bit"
+ [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" "i"))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))]
"TARGET_64BIT"
"*
{
- /* ??? Needs more work. Length computation, split into multiple insns,
- expose delay slot. */
- return \"ldd 16(%0),%%r2\;bve,l (%%r2),%%r2\;ldd 24(%0),%%r27\";
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[0], 0);
}"
- [(set_attr "type" "dyncall")
- (set (attr "length") (const_int 12))])
+ [(set_attr "type" "call")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_call (insn, 0)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" ""))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])]
+ "TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:DI 4) (reg:DI 27))
+ (parallel [(call (mem:SI (match_dup 0))
+ (match_dup 1))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])
+ (set (reg:DI 27) (reg:DI 4))]
+ "")
-(define_insn "call_internal_reg"
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" ""))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])]
+ "TARGET_64BIT && reload_completed"
+ [(parallel [(call (mem:SI (match_dup 0))
+ (match_dup 1))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])]
+ "")
+
+(define_insn "*call_symref_64bit_post_reload"
+ [(call (mem:SI (match_operand 0 "call_operand_address" ""))
+ (match_operand 1 "" "i"))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))]
+ "TARGET_64BIT"
+ "*
+{
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[0], 0);
+}"
+ [(set_attr "type" "call")
+ (set (attr "length") (symbol_ref "attr_length_call (insn, 0)"))])
+
+(define_insn "call_reg"
[(call (mem:SI (reg:SI 22))
(match_operand 0 "" "i"))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
(use (const_int 1))]
- ""
+ "!TARGET_64BIT"
"*
{
- rtx xoperands[2];
+ return output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length") (symbol_ref "attr_length_indirect_call (insn)"))])
- /* First the special case for kernels, level 0 systems, etc. */
- if (TARGET_FAST_INDIRECT_CALLS)
- return \"ble 0(%%sr4,%%r22)\;copy %%r31,%%r2\";
+;; This pattern is split if it is necessary to save and restore the
+;; PIC register.
+(define_insn "call_reg_pic"
+ [(call (mem:SI (reg:SI 22))
+ (match_operand 0 "" "i"))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 1))]
+ "!TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_indirect_call (insn)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(call (mem:SI (reg:SI 22))
+ (match_operand 0 "" ""))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 1))])]
+ "!TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:SI 4) (reg:SI 19))
+ (parallel [(call (mem:SI (reg:SI 22))
+ (match_dup 0))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 1))])
+ (set (reg:SI 19) (reg:SI 4))]
+ "")
- /* Now the normal case -- we can reach $$dyncall directly or
- we're sure that we can get there via a long-branch stub.
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(call (mem:SI (reg:SI 22))
+ (match_operand 0 "" ""))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 1))])]
+ "!TARGET_64BIT && reload_completed"
+ [(parallel [(call (mem:SI (reg:SI 22))
+ (match_dup 0))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 1))])]
+ "")
- No need to check target flags as the length uniquely identifies
- the remaining cases. */
- if (get_attr_length (insn) == 8)
- return \".CALL\\tARGW0=GR\;{bl|b,l} $$dyncall,%%r31\;copy %%r31,%%r2\";
+(define_insn "*call_reg_pic_post_reload"
+ [(call (mem:SI (reg:SI 22))
+ (match_operand 0 "" "i"))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 1))]
+ "!TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length") (symbol_ref "attr_length_indirect_call (insn)"))])
- /* Long millicode call, but we are not generating PIC or portable runtime
- code. */
- if (get_attr_length (insn) == 12)
- return \".CALL\\tARGW0=GR\;ldil L%%$$dyncall,%%r2\;ble R%%$$dyncall(%%sr4,%%r2)\;copy %%r31,%%r2\";
+;; This pattern is split if it is necessary to save and restore the
+;; PIC register.
+(define_insn "call_reg_64bit"
+ [(call (mem:SI (match_operand:DI 0 "register_operand" "r"))
+ (match_operand 1 "" "i"))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))]
+ "TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, operands[0]);
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_indirect_call (insn)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(call (mem:SI (match_operand 0 "register_operand" ""))
+ (match_operand 1 "" ""))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])]
+ "TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:DI 4) (reg:DI 27))
+ (parallel [(call (mem:SI (match_dup 0))
+ (match_dup 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])
+ (set (reg:DI 27) (reg:DI 4))]
+ "")
- /* Long millicode call for portable runtime. */
- if (get_attr_length (insn) == 20)
- return \"ldil L%%$$dyncall,%%r31\;ldo R%%$$dyncall(%%r31),%%r31\;blr %%r0,%%r2\;bv,n %%r0(%%r31)\;nop\";
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(call (mem:SI (match_operand 0 "register_operand" ""))
+ (match_operand 1 "" ""))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])]
+ "TARGET_64BIT && reload_completed"
+ [(parallel [(call (mem:SI (match_dup 0))
+ (match_dup 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])]
+ "")
- /* If we're generating PIC code. */
- xoperands[0] = operands[0];
- if (TARGET_SOM || ! TARGET_GAS)
- xoperands[1] = gen_label_rtx ();
- output_asm_insn (\"{bl|b,l} .+8,%%r1\", xoperands);
- if (TARGET_SOM || ! TARGET_GAS)
- {
- output_asm_insn (\"addil L%%$$dyncall-%1,%%r1\", xoperands);
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
- CODE_LABEL_NUMBER (xoperands[1]));
- output_asm_insn (\"ldo R%%$$dyncall-%1(%%r1),%%r1\", xoperands);
- }
- else
- {
- output_asm_insn (\"addil L%%$$dyncall-$PIC_pcrel$0+4,%%r1\", xoperands);
- output_asm_insn (\"ldo R%%$$dyncall-$PIC_pcrel$0+8(%%r1),%%r1\",
- xoperands);
- }
- output_asm_insn (\"blr %%r0,%%r2\", xoperands);
- output_asm_insn (\"bv,n %%r0(%%r1)\\n\\tnop\", xoperands);
- return \"\";
+(define_insn "*call_reg_64bit_post_reload"
+ [(call (mem:SI (match_operand:DI 0 "register_operand" "r"))
+ (match_operand 1 "" "i"))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))]
+ "TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, operands[0]);
}"
[(set_attr "type" "dyncall")
- (set (attr "length")
- (cond [
-;; First FAST_INDIRECT_CALLS
- (ne (symbol_ref "TARGET_FAST_INDIRECT_CALLS")
- (const_int 0))
- (const_int 8)
-
-;; Target (or stub) within reach
- (and (lt (plus (symbol_ref "total_code_bytes") (pc))
- (const_int 240000))
- (eq (symbol_ref "TARGET_PORTABLE_RUNTIME")
- (const_int 0)))
- (const_int 8)
-
-;; Out of reach PIC
- (ne (symbol_ref "flag_pic")
- (const_int 0))
- (const_int 24)
-
-;; Out of reach PORTABLE_RUNTIME
- (ne (symbol_ref "TARGET_PORTABLE_RUNTIME")
- (const_int 0))
- (const_int 20)]
-
-;; Out of reach, can use ble
- (const_int 12)))])
+ (set (attr "length") (symbol_ref "attr_length_indirect_call (insn)"))])
(define_expand "call_value"
[(parallel [(set (match_operand 0 "" "")
@@ -6068,67 +6335,111 @@
""
"
{
- rtx op;
- rtx call_insn;
+ rtx op, call_insn;
+ rtx dst = operands[0];
+ rtx nb = operands[2];
if (TARGET_PORTABLE_RUNTIME)
- op = force_reg (word_mode, XEXP (operands[1], 0));
+ op = force_reg (SImode, XEXP (operands[1], 0));
else
op = XEXP (operands[1], 0);
if (TARGET_64BIT)
- emit_move_insn (arg_pointer_rtx,
- gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
- GEN_INT (64)));
+ {
+ if (!virtuals_instantiated)
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
+ GEN_INT (64)));
+ else
+ {
+ /* The loop pass can generate new libcalls after the virtual
+ registers are instantiated when fpregs are disabled because
+ the only method that we have for doing DImode multiplication
+ is with a libcall. This could be trouble if we haven't
+ allocated enough space for the outgoing arguments. */
+ if (INTVAL (nb) > current_function_outgoing_args_size)
+ abort ();
+
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, stack_pointer_rtx,
+ GEN_INT (STACK_POINTER_OFFSET + 64)));
+ }
+ }
/* Use two different patterns for calls to explicitly named functions
and calls through function pointers. This is necessary as these two
types of calls use different calling conventions, and CSE might try
to change the named call into an indirect call in some cases (using
- two patterns keeps CSE from performing this optimization). */
- if (GET_CODE (op) == SYMBOL_REF)
- call_insn = emit_call_insn (gen_call_value_internal_symref (operands[0],
- op,
- operands[2]));
- else if (TARGET_64BIT)
+ two patterns keeps CSE from performing this optimization).
+
+ We now use even more call patterns as there was a subtle bug in
+ attempting to restore the pic register after a call using a simple
+ move insn. During reload, a instruction involving a pseudo register
+ with no explicit dependence on the PIC register can be converted
+ to an equivalent load from memory using the PIC register. If we
+ emit a simple move to restore the PIC register in the initial rtl
+ generation, then it can potentially be repositioned during scheduling.
+ and an instruction that eventually uses the PIC register may end up
+ between the call and the PIC register restore.
+
+ This only worked because there is a post call group of instructions
+ that are scheduled with the call. These instructions are included
+ in the same basic block as the call. However, calls can throw in
+ C++ code and a basic block has to terminate at the call if the call
+ can throw. This results in the PIC register restore being scheduled
+ independently from the call. So, we now hide the save and restore
+ of the PIC register in the call pattern until after reload. Then,
+ we split the moves out. A small side benefit is that we now don't
+ need to have a use of the PIC register in the return pattern and
+ the final save/restore operation is not needed.
+
+ I elected to just clobber %r4 in the PIC patterns and use it instead
+ of trying to force hppa_pic_save_rtx () to a callee saved register.
+ This might have required a new register class and constraint. It
+ was also simpler to just handle the restore from a register than a
+ generic pseudo. */
+ if (TARGET_64BIT)
{
- rtx tmpreg = force_reg (word_mode, op);
- call_insn
- = emit_call_insn (gen_call_value_internal_reg_64bit (operands[0],
- tmpreg,
- operands[2]));
+ if (GET_CODE (op) == SYMBOL_REF)
+ call_insn = emit_call_insn (gen_call_val_symref_64bit (dst, op, nb));
+ else
+ {
+ op = force_reg (word_mode, op);
+ call_insn = emit_call_insn (gen_call_val_reg_64bit (dst, op, nb));
+ }
}
else
{
- rtx tmpreg = gen_rtx_REG (word_mode, 22);
- emit_move_insn (tmpreg, force_reg (word_mode, op));
- call_insn = emit_call_insn (gen_call_value_internal_reg (operands[0],
- operands[2]));
- }
-
- if (TARGET_64BIT)
- use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), arg_pointer_rtx);
-
- if (flag_pic)
- {
- use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), pic_offset_table_rtx);
+ if (GET_CODE (op) == SYMBOL_REF)
+ {
+ if (flag_pic)
+ call_insn = emit_call_insn (gen_call_val_symref_pic (dst, op, nb));
+ else
+ call_insn = emit_call_insn (gen_call_val_symref (dst, op, nb));
+ }
+ else
+ {
+ rtx tmpreg = gen_rtx_REG (word_mode, 22);
- /* After each call we must restore the PIC register, even if it
- doesn't appear to be used. */
- emit_move_insn (pic_offset_table_rtx, hppa_pic_save_rtx ());
+ emit_move_insn (tmpreg, force_reg (word_mode, op));
+ if (flag_pic)
+ call_insn = emit_call_insn (gen_call_val_reg_pic (dst, nb));
+ else
+ call_insn = emit_call_insn (gen_call_val_reg (dst, nb));
+ }
}
+
DONE;
}")
-(define_insn "call_value_internal_symref"
+(define_insn "call_val_symref"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "i")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
(use (const_int 0))]
- ;;- Don't use operand 1 for most machines.
- "! TARGET_PORTABLE_RUNTIME"
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
"*
{
output_arg_descriptor (insn);
@@ -6137,104 +6448,380 @@
[(set_attr "type" "call")
(set (attr "length") (symbol_ref "attr_length_call (insn, 0)"))])
-(define_insn "call_value_internal_reg_64bit"
+(define_insn "call_val_symref_pic"
[(set (match_operand 0 "" "")
- (call (mem:SI (match_operand:DI 1 "register_operand" "r"))
- (match_operand 2 "" "i")))
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "i")))
+ (clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (const_int 1))]
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 0))]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
+ "*
+{
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[1], 0);
+}"
+ [(set_attr "type" "call")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_call (insn, 0)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 0))])]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:SI 4) (reg:SI 19))
+ (parallel [(set (match_dup 0)
+ (call (mem:SI (match_dup 1))
+ (match_dup 2)))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 0))])
+ (set (reg:SI 19) (reg:SI 4))]
+ "")
+
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 0))])]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && reload_completed"
+ [(parallel [(set (match_dup 0)
+ (call (mem:SI (match_dup 1))
+ (match_dup 2)))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 0))])]
+ "")
+
+(define_insn "*call_val_symref_pic_post_reload"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "i")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 0))]
+ "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
+ "*
+{
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[1], 0);
+}"
+ [(set_attr "type" "call")
+ (set (attr "length") (symbol_ref "attr_length_call (insn, 0)"))])
+
+;; This pattern is split if it is necessary to save and restore the
+;; PIC register.
+(define_insn "call_val_symref_64bit"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "i")))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))]
"TARGET_64BIT"
"*
{
- /* ??? Needs more work. Length computation, split into multiple insns,
- expose delay slot. */
- return \"ldd 16(%1),%%r2\;bve,l (%%r2),%%r2\;ldd 24(%1),%%r27\";
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[1], 0);
}"
- [(set_attr "type" "dyncall")
- (set (attr "length") (const_int 12))])
+ [(set_attr "type" "call")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_call (insn, 0)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "")))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])]
+ "TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:DI 4) (reg:DI 27))
+ (parallel [(set (match_dup 0)
+ (call (mem:SI (match_dup 1))
+ (match_dup 2)))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])
+ (set (reg:DI 27) (reg:DI 4))]
+ "")
+
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "")))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])]
+ "TARGET_64BIT && reload_completed"
+ [(parallel [(set (match_dup 0)
+ (call (mem:SI (match_dup 1))
+ (match_dup 2)))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))])]
+ "")
-(define_insn "call_value_internal_reg"
+(define_insn "*call_val_symref_64bit_post_reload"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand 1 "call_operand_address" ""))
+ (match_operand 2 "" "i")))
+ (clobber (reg:DI 1))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 0))]
+ "TARGET_64BIT"
+ "*
+{
+ output_arg_descriptor (insn);
+ return output_call (insn, operands[1], 0);
+}"
+ [(set_attr "type" "call")
+ (set (attr "length") (symbol_ref "attr_length_call (insn, 0)"))])
+
+(define_insn "call_val_reg"
[(set (match_operand 0 "" "")
(call (mem:SI (reg:SI 22))
(match_operand 1 "" "i")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
(use (const_int 1))]
- ""
+ "!TARGET_64BIT"
"*
{
- rtx xoperands[2];
+ return output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length") (symbol_ref "attr_length_indirect_call (insn)"))])
- /* First the special case for kernels, level 0 systems, etc. */
- if (TARGET_FAST_INDIRECT_CALLS)
- return \"ble 0(%%sr4,%%r22)\;copy %%r31,%%r2\";
+;; This pattern is split if it is necessary to save and restore the
+;; PIC register.
+(define_insn "call_val_reg_pic"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (reg:SI 22))
+ (match_operand 1 "" "i")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 1))]
+ "!TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_indirect_call (insn)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (reg:SI 22))
+ (match_operand 1 "" "")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 1))])]
+ "!TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:SI 4) (reg:SI 19))
+ (parallel [(set (match_dup 0)
+ (call (mem:SI (reg:SI 22))
+ (match_dup 1)))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 1))])
+ (set (reg:SI 19) (reg:SI 4))]
+ "")
- /* Now the normal case -- we can reach $$dyncall directly or
- we're sure that we can get there via a long-branch stub.
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (reg:SI 22))
+ (match_operand 1 "" "")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (clobber (reg:SI 4))
+ (use (reg:SI 19))
+ (use (const_int 1))])]
+ "!TARGET_64BIT && reload_completed"
+ [(parallel [(set (match_dup 0)
+ (call (mem:SI (reg:SI 22))
+ (match_dup 1)))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 1))])]
+ "")
- No need to check target flags as the length uniquely identifies
- the remaining cases. */
- if (get_attr_length (insn) == 8)
- return \".CALL\\tARGW0=GR\;{bl|b,l} $$dyncall,%%r31\;copy %%r31,%%r2\";
+(define_insn "*call_val_reg_pic_post_reload"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (reg:SI 22))
+ (match_operand 1 "" "i")))
+ (clobber (reg:SI 1))
+ (clobber (reg:SI 2))
+ (use (reg:SI 19))
+ (use (const_int 1))]
+ "!TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length") (symbol_ref "attr_length_indirect_call (insn)"))])
- /* Long millicode call, but we are not generating PIC or portable runtime
- code. */
- if (get_attr_length (insn) == 12)
- return \".CALL\\tARGW0=GR\;ldil L%%$$dyncall,%%r2\;ble R%%$$dyncall(%%sr4,%%r2)\;copy %%r31,%%r2\";
+;; This pattern is split if it is necessary to save and restore the
+;; PIC register.
+(define_insn "call_val_reg_64bit"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand:DI 1 "register_operand" "r"))
+ (match_operand 2 "" "i")))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))]
+ "TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, operands[1]);
+}"
+ [(set_attr "type" "dyncall")
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_indirect_call (insn)")
+ (symbol_ref "attr_length_save_restore_dltp (insn)")))])
+
+;; Split out the PIC register save and restore after reload. This is
+;; done only if the function returns. As the split is done after reload,
+;; there are some situations in which we unnecessarily save and restore
+;; %r4. This happens when there is a single call and the PIC register
+;; is "dead" after the call. This isn't easy to fix as the usage of
+;; the PIC register isn't completely determined until the reload pass.
+(define_split
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand:DI 1 "register_operand" ""))
+ (match_operand 2 "" "")))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])]
+ "TARGET_64BIT
+ && reload_completed
+ && !find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ [(set (reg:DI 4) (reg:DI 27))
+ (parallel [(set (match_dup 0)
+ (call (mem:SI (match_dup 1))
+ (match_dup 2)))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])
+ (set (reg:DI 27) (reg:DI 4))]
+ "")
- /* Long millicode call for portable runtime. */
- if (get_attr_length (insn) == 20)
- return \"ldil L%%$$dyncall,%%r31\;ldo R%%$$dyncall(%%r31),%%r31\;blr %%r0,%%r2\;bv,n %%r0(%%r31)\;nop\";
+;; Remove the clobber of register 4 when optimizing. This has to be
+;; done with a peephole optimization rather than a split because the
+;; split sequence for a call must be longer than one instruction.
+(define_peephole2
+ [(parallel [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand:DI 1 "register_operand" ""))
+ (match_operand 2 "" "")))
+ (clobber (reg:DI 2))
+ (clobber (reg:DI 4))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])]
+ "TARGET_64BIT && reload_completed"
+ [(parallel [(set (match_dup 0)
+ (call (mem:SI (match_dup 1))
+ (match_dup 2)))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))])]
+ "")
- /* If we're generating PIC code. */
- xoperands[0] = operands[1];
- if (TARGET_SOM || ! TARGET_GAS)
- xoperands[1] = gen_label_rtx ();
- output_asm_insn (\"{bl|b,l} .+8,%%r1\", xoperands);
- if (TARGET_SOM || ! TARGET_GAS)
- {
- output_asm_insn (\"addil L%%$$dyncall-%1,%%r1\", xoperands);
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
- CODE_LABEL_NUMBER (xoperands[1]));
- output_asm_insn (\"ldo R%%$$dyncall-%1(%%r1),%%r1\", xoperands);
- }
- else
- {
- output_asm_insn (\"addil L%%$$dyncall-$PIC_pcrel$0+4,%%r1\", xoperands);
- output_asm_insn (\"ldo R%%$$dyncall-$PIC_pcrel$0+8(%%r1),%%r1\",
- xoperands);
- }
- output_asm_insn (\"blr %%r0,%%r2\", xoperands);
- output_asm_insn (\"bv,n %%r0(%%r1)\\n\\tnop\", xoperands);
- return \"\";
+(define_insn "*call_val_reg_64bit_post_reload"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand:DI 1 "register_operand" "r"))
+ (match_operand 2 "" "i")))
+ (clobber (reg:DI 2))
+ (use (reg:DI 27))
+ (use (reg:DI 29))
+ (use (const_int 1))]
+ "TARGET_64BIT"
+ "*
+{
+ return output_indirect_call (insn, operands[1]);
}"
[(set_attr "type" "dyncall")
- (set (attr "length")
- (cond [
-;; First FAST_INDIRECT_CALLS
- (ne (symbol_ref "TARGET_FAST_INDIRECT_CALLS")
- (const_int 0))
- (const_int 8)
-
-;; Target (or stub) within reach
- (and (lt (plus (symbol_ref "total_code_bytes") (pc))
- (const_int 240000))
- (eq (symbol_ref "TARGET_PORTABLE_RUNTIME")
- (const_int 0)))
- (const_int 8)
-
-;; Out of reach PIC
- (ne (symbol_ref "flag_pic")
- (const_int 0))
- (const_int 24)
-
-;; Out of reach PORTABLE_RUNTIME
- (ne (symbol_ref "TARGET_PORTABLE_RUNTIME")
- (const_int 0))
- (const_int 20)]
-
-;; Out of reach, can use ble
- (const_int 12)))])
+ (set (attr "length") (symbol_ref "attr_length_indirect_call (insn)"))])
;; Call subroutine returning any type.
@@ -6271,15 +6858,32 @@
"!TARGET_PORTABLE_RUNTIME"
"
{
- rtx op;
- rtx call_insn;
+ rtx op, call_insn;
+ rtx nb = operands[1];
op = XEXP (operands[0], 0);
if (TARGET_64BIT)
- emit_move_insn (arg_pointer_rtx,
- gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
- GEN_INT (64)));
+ {
+ if (!virtuals_instantiated)
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
+ GEN_INT (64)));
+ else
+ {
+ /* The loop pass can generate new libcalls after the virtual
+ registers are instantiated when fpregs are disabled because
+ the only method that we have for doing DImode multiplication
+ is with a libcall. This could be trouble if we haven't
+ allocated enough space for the outgoing arguments. */
+ if (INTVAL (nb) > current_function_outgoing_args_size)
+ abort ();
+
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, stack_pointer_rtx,
+ GEN_INT (STACK_POINTER_OFFSET + 64)));
+ }
+ }
/* Indirect sibling calls are not allowed. */
if (TARGET_64BIT)
@@ -6292,14 +6896,10 @@
if (TARGET_64BIT)
use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), arg_pointer_rtx);
+ /* We don't have to restore the PIC register. */
if (flag_pic)
- {
- use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), pic_offset_table_rtx);
+ use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), pic_offset_table_rtx);
- /* After each call we must restore the PIC register, even if it
- doesn't appear to be used. */
- emit_move_insn (pic_offset_table_rtx, hppa_pic_save_rtx ());
- }
DONE;
}")
@@ -6321,9 +6921,8 @@
(define_insn "sibcall_internal_symref_64bit"
[(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" "i"))
- (clobber (reg:SI 1))
- (clobber (reg:SI 27))
- (use (reg:SI 2))
+ (clobber (reg:DI 1))
+ (use (reg:DI 2))
(use (const_int 0))]
"TARGET_64BIT"
"*
@@ -6341,15 +6940,32 @@
"!TARGET_PORTABLE_RUNTIME"
"
{
- rtx op;
- rtx call_insn;
+ rtx op, call_insn;
+ rtx nb = operands[1];
op = XEXP (operands[1], 0);
if (TARGET_64BIT)
- emit_move_insn (arg_pointer_rtx,
- gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
- GEN_INT (64)));
+ {
+ if (!virtuals_instantiated)
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, virtual_outgoing_args_rtx,
+ GEN_INT (64)));
+ else
+ {
+ /* The loop pass can generate new libcalls after the virtual
+ registers are instantiated when fpregs are disabled because
+ the only method that we have for doing DImode multiplication
+ is with a libcall. This could be trouble if we haven't
+ allocated enough space for the outgoing arguments. */
+ if (INTVAL (nb) > current_function_outgoing_args_size)
+ abort ();
+
+ emit_move_insn (arg_pointer_rtx,
+ gen_rtx_PLUS (word_mode, stack_pointer_rtx,
+ GEN_INT (STACK_POINTER_OFFSET + 64)));
+ }
+ }
/* Indirect sibling calls are not allowed. */
if (TARGET_64BIT)
@@ -6364,14 +6980,10 @@
if (TARGET_64BIT)
use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), arg_pointer_rtx);
+ /* We don't have to restore the PIC register. */
if (flag_pic)
- {
- use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), pic_offset_table_rtx);
+ use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), pic_offset_table_rtx);
- /* After each call we must restore the PIC register, even if it
- doesn't appear to be used. */
- emit_move_insn (pic_offset_table_rtx, hppa_pic_save_rtx ());
- }
DONE;
}")
@@ -6395,9 +7007,8 @@
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "i")))
- (clobber (reg:SI 1))
- (clobber (reg:SI 27))
- (use (reg:SI 2))
+ (clobber (reg:DI 1))
+ (use (reg:DI 2))
(use (const_int 0))]
"TARGET_64BIT"
"*
@@ -6447,7 +7058,8 @@
;;; EH does longjmp's from and within the data section. Thus,
;;; an interspace branch is required for the longjmp implementation.
-;;; Registers r1 and r2 are used as scratch registers for the jump.
+;;; Registers r1 and r2 are used as scratch registers for the jump
+;;; when necessary.
(define_expand "interspace_jump"
[(parallel
[(set (pc) (match_operand 0 "pmode_register_operand" "a"))
@@ -6461,6 +7073,22 @@
(define_insn ""
[(set (pc) (match_operand 0 "pmode_register_operand" "a"))
(clobber (reg:SI 2))]
+ "TARGET_PA_20 && !TARGET_64BIT"
+ "bve%* (%0)"
+ [(set_attr "type" "branch")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (pc) (match_operand 0 "pmode_register_operand" "a"))
+ (clobber (reg:SI 2))]
+ "TARGET_NO_SPACE_REGS && !TARGET_64BIT"
+ "be%* 0(%%sr4,%0)"
+ [(set_attr "type" "branch")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (pc) (match_operand 0 "pmode_register_operand" "a"))
+ (clobber (reg:SI 2))]
"!TARGET_64BIT"
"ldsid (%%sr0,%0),%%r2\; mtsp %%r2,%%sr0\; be%* 0(%%sr0,%0)"
[(set_attr "type" "branch")
@@ -6470,9 +7098,9 @@
[(set (pc) (match_operand 0 "pmode_register_operand" "a"))
(clobber (reg:DI 2))]
"TARGET_64BIT"
- "ldsid (%%sr0,%0),%%r2\; mtsp %%r2,%%sr0\; be%* 0(%%sr0,%0)"
+ "bve%* (%0)"
[(set_attr "type" "branch")
- (set_attr "length" "12")])
+ (set_attr "length" "4")])
(define_expand "builtin_longjmp"
[(unspec_volatile [(match_operand 0 "register_operand" "r")] 3)]
@@ -6523,6 +7151,10 @@
""
"
{
+ /* PA extraction insns don't support zero length bitfields. */
+ if (INTVAL (operands[2]) == 0)
+ FAIL;
+
if (TARGET_64BIT)
emit_insn (gen_extzv_64 (operands[0], operands[1],
operands[2], operands[3]));
@@ -6585,6 +7217,10 @@
""
"
{
+ /* PA extraction insns don't support zero length bitfields. */
+ if (INTVAL (operands[2]) == 0)
+ FAIL;
+
if (TARGET_64BIT)
emit_insn (gen_extv_64 (operands[0], operands[1],
operands[2], operands[3]));
@@ -7340,7 +7976,9 @@
\"$$sh_func_adrs\"));
}"
[(set_attr "type" "multi")
- (set (attr "length") (symbol_ref "attr_length_millicode_call (insn, 20)"))])
+ (set (attr "length")
+ (plus (symbol_ref "attr_length_millicode_call (insn)")
+ (const_int 20)))])
;; On the PA, the PIC register is call clobbered, so it must
;; be saved & restored around calls by the caller. If the call
@@ -7361,6 +7999,7 @@
/* Restore the PIC register using hppa_pic_save_rtx (). The
PIC register is not saved in the frame in 64-bit ABI. */
emit_move_insn (pic_offset_table_rtx, hppa_pic_save_rtx ());
+ emit_insn (gen_blockage ());
DONE;
}")
@@ -7375,5 +8014,41 @@
a stack slot. The only registers that are valid after a
builtin_longjmp are the stack and frame pointers. */
emit_move_insn (pic_offset_table_rtx, hppa_pic_save_rtx ());
+ emit_insn (gen_blockage ());
+ DONE;
+}")
+
+;; Allocate new stack space and update the saved stack pointer in the
+;; frame marker. The HP C compilers also copy additional words in the
+;; frame marker. The 64-bit compiler copies words at -48, -32 and -24.
+;; The 32-bit compiler copies the word at -16 (Static Link). We
+;; currently don't copy these values.
+;;
+;; Since the copy of the frame marker can't be done atomically, I
+;; suspect that using it for unwind purposes may be somewhat unreliable.
+;; The HP compilers appear to raise the stack and copy the frame
+;; marker in a strict instruction sequence. This suggests that the
+;; unwind library may check for an alloca sequence when ALLOCA_FRAME
+;; is set in the callinfo data. We currently don't set ALLOCA_FRAME
+;; as GAS doesn't support it, or try to keep the instructions emitted
+;; here in strict sequence.
+(define_expand "allocate_stack"
+ [(match_operand 0 "" "")
+ (match_operand 1 "" "")]
+ ""
+ "
+{
+ /* Since the stack grows upward, we need to store virtual_stack_dynamic_rtx
+ in operand 0 before adjusting the stack. */
+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
+ anti_adjust_stack (operands[1]);
+ if (TARGET_HPUX_UNWIND_LIBRARY)
+ {
+ rtx dst = gen_rtx_MEM (word_mode,
+ gen_rtx_PLUS (word_mode, stack_pointer_rtx,
+ GEN_INT (TARGET_64BIT ? -8 : -4)));
+
+ emit_move_insn (dst, frame_pointer_rtx);
+ }
DONE;
}")
diff --git a/gcc/config/pa/pa32-regs.h b/gcc/config/pa/pa32-regs.h
index f5c6aaa615c..ac23a69173a 100644
--- a/gcc/config/pa/pa32-regs.h
+++ b/gcc/config/pa/pa32-regs.h
@@ -259,7 +259,6 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FPUPPER_REGS, FP_REGS,
: (REGNO) < 32 ? GENERAL_REGS \
: (REGNO) < 56 ? FP_REGS \
: (REGNO) < 88 ? FPUPPER_REGS \
- : (REGNO) < 88 ? FPUPPER_REGS \
: SHIFT_REGS)
/* Get reg_class from a letter such as appears in the machine description. */
@@ -267,7 +266,6 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FPUPPER_REGS, FP_REGS,
#define REG_CLASS_FROM_LETTER(C) \
((C) == 'f' ? FP_REGS : \
(C) == 'y' ? FPUPPER_REGS : \
- (C) == 'y' ? FPUPPER_REGS : \
(C) == 'x' ? FP_REGS : \
(C) == 'q' ? SHIFT_REGS : \
(C) == 'a' ? R1_REGS : \
diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h
index aa7dac75382..78fb4cf5112 100644
--- a/gcc/config/pa/pa64-hpux.h
+++ b/gcc/config/pa/pa64-hpux.h
@@ -47,10 +47,12 @@ Boston, MA 02111-1307, USA. */
#undef LIB_SPEC
#define LIB_SPEC \
"%{!shared:\
- %{!p:\
- %{!pg: %{!threads:-lc} %{threads:-lcma -lc_r}}\
- %{pg: -L/usr/lib/pa20_64/libp/ -lgprof -lc}}\
- %{p: -L/usr/lib/pa20_64/libp/ -lprof -lc}} /usr/lib/pa20_64/milli.a"
+ %{!p:%{!pg: -lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
+ %{pg: -L/usr/lib/pa20_64/libp/ -lgprof -lc\
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
+ %{p: -L/usr/lib/pa20_64/libp/ -lprof -lc\
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
+ /usr/lib/pa20_64/milli.a"
/* Under hpux11, the normal location of the `ld' and `as' programs is the
/usr/ccs/bin directory. */
@@ -112,6 +114,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 +233,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/pa64-regs.h b/gcc/config/pa/pa64-regs.h
index 2d0ebe3d172..ced7df737e7 100644
--- a/gcc/config/pa/pa64-regs.h
+++ b/gcc/config/pa/pa64-regs.h
@@ -240,9 +240,9 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FPUPPER_REGS, FP_REGS,
we inhibit changes from SImode unless they are to a mode that is
identical in size. */
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
((FROM) == SImode && GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
- ? FP_REGS : NO_REGS)
+ ? reg_classes_intersect_p (CLASS, FP_REGS) : 0)
/* Return the class number of the smallest class containing
reg number REGNO. This could be a conditional expression
diff --git a/gcc/config/pa/rtems.h b/gcc/config/pa/rtems.h
index b03b5c802c3..c71ac6e8441 100644
--- a/gcc/config/pa/rtems.h
+++ b/gcc/config/pa/rtems.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for PRO.
- Copyright (C) 1997, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2000, 2002, 2003 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GNU CC.
@@ -35,3 +35,6 @@ Boston, MA 02111-1307, USA. */
builtin_assert ("system=rtems"); \
} \
while (0)
+
+#undef LIB_SPEC
+#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -lc}%{pg: -lc} -N"
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/pa/t-hpux-shlib b/gcc/config/pa/t-hpux-shlib
index 52c3fd90c4f..1c924497c0b 100644
--- a/gcc/config/pa/t-hpux-shlib
+++ b/gcc/config/pa/t-hpux-shlib
@@ -13,7 +13,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
SHLIB_INSTALL = $(INSTALL_DATA) -m 555 $(SHLIB_NAME) \
- $$(slibdir)/$(SHLIB_SONAME); \
- rm -f $$(slibdir)/$(SHLIB_NAME); \
- $(LN_S) $(SHLIB_SONAME) $$(slibdir)/$(SHLIB_NAME)
+ $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
+ rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
+ $(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)
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/freebsd.h b/gcc/config/rs6000/freebsd.h
index e4b6482798e..699d2adbda8 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -38,6 +38,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)"
+/* XXX: This is wrong for many platforms in sysv4.h.
+ We should work on getting that defination fixed. */
+#undef LINK_SHLIB_SPEC
+#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
+
/************************[ Target stuff ]***********************************/
@@ -45,6 +50,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c,
c-common.c, and config/<arch>/<arch>.h. */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
/* rs6000.h gets this wrong for FreeBSD. We use the GCC defaults instead. */
#undef WCHAR_TYPE
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 1711354da76..593e961f743 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for PowerPC machines running Linux.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation,
- Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
Contributed by Michael Meissner (meissner@cygnus.com).
This file is part of GNU CC.
@@ -84,7 +84,18 @@ Boston, MA 02111-1307, USA. */
#ifdef IN_LIBGCC2
#include <signal.h>
-#include <sys/ucontext.h>
+
+/* During the 2.5 kernel series the kernel ucontext was changed, but
+ the new layout is compatible with the old one, so we just define
+ and use the old one here for simplicity and compatibility. */
+
+struct kernel_old_ucontext {
+ unsigned long uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ struct sigcontext_struct uc_mcontext;
+ sigset_t uc_sigmask;
+};
enum { SIGNAL_FRAMESIZE = 64 };
#endif
@@ -96,12 +107,34 @@ enum { SIGNAL_FRAMESIZE = 64 };
long new_cfa_; \
int i_; \
\
- /* li r0, 0x7777; sc (rt_sigreturn) */ \
- /* li r0, 0x6666; sc (sigreturn) */ \
- if (((*(unsigned int *) (pc_+0) == 0x38007777) \
- || (*(unsigned int *) (pc_+0) == 0x38006666)) \
- && (*(unsigned int *) (pc_+4) == 0x44000002)) \
- sc_ = (CONTEXT)->cfa + SIGNAL_FRAMESIZE; \
+ /* li r0, 0x7777; sc (sigreturn old) */ \
+ /* li r0, 0x0077; sc (sigreturn new) */ \
+ /* li r0, 0x6666; sc (rt_sigreturn old) */ \
+ /* li r0, 0x00AC; sc (rt_sigreturn new) */ \
+ if (*(unsigned int *) (pc_+4) != 0x44000002) \
+ break; \
+ if (*(unsigned int *) (pc_+0) == 0x38007777 \
+ || *(unsigned int *) (pc_+0) == 0x38000077) \
+ { \
+ struct sigframe { \
+ char gap[SIGNAL_FRAMESIZE]; \
+ struct sigcontext sigctx; \
+ } *rt_ = (CONTEXT)->cfa; \
+ sc_ = &rt_->sigctx; \
+ } \
+ else if (*(unsigned int *) (pc_+0) == 0x38006666 \
+ || *(unsigned int *) (pc_+0) == 0x380000AC) \
+ { \
+ struct rt_sigframe { \
+ char gap[SIGNAL_FRAMESIZE]; \
+ unsigned long _unused[2]; \
+ struct siginfo *pinfo; \
+ void *puc; \
+ struct siginfo info; \
+ struct kernel_old_ucontext uc; \
+ } *rt_ = (CONTEXT)->cfa; \
+ sc_ = &rt_->uc.uc_mcontext; \
+ } \
else \
break; \
\
@@ -122,10 +155,6 @@ enum { SIGNAL_FRAMESIZE = 64 };
(FS)->regs.reg[LINK_REGISTER_REGNUM].loc.offset \
= (long)&(sc_->regs->link) - new_cfa_; \
\
- /* The unwinder expects the IP to point to the following insn, \
- whereas the kernel returns the address of the actual \
- faulting insn. */ \
- sc_->regs->nip += 4; \
(FS)->regs.reg[CR0_REGNO].how = REG_SAVED_OFFSET; \
(FS)->regs.reg[CR0_REGNO].loc.offset \
= (long)&(sc_->regs->nip) - new_cfa_; \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 73fd5beed3d..55065c6a31d 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -207,6 +207,18 @@ Boston, MA 02111-1307, USA. */
#undef RS6000_MCOUNT
#define RS6000_MCOUNT "_mcount"
+#ifdef __powerpc64__
+/* _init and _fini functions are built from bits spread across many
+ object files, each potentially with a different TOC pointer. For
+ that reason, place a nop after the call so that the linker can
+ restore the TOC pointer if a TOC adjusting call stub is needed. */
+#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
+ asm (SECTION_OP "\n" \
+" bl ." #FUNC "\n" \
+" nop\n" \
+" .previous");
+#endif
+
/* FP save and restore routines. */
#undef SAVE_FP_PREFIX
#define SAVE_FP_PREFIX "._savef"
diff --git a/gcc/config/rs6000/ppc64-fp.c b/gcc/config/rs6000/ppc64-fp.c
new file mode 100644
index 00000000000..3f6d7cd1bb0
--- /dev/null
+++ b/gcc/config/rs6000/ppc64-fp.c
@@ -0,0 +1,146 @@
+/* Functions needed for soft-float on powerpc64-linux, copied from
+ libgcc2.c with macros expanded to force the use of specific types.
+
+ Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC 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.
+
+In addition to the permissions in the GNU General Public License, the
+Free Software Foundation gives you unlimited permission to link the
+compiled version of this file into combinations with other programs,
+and to distribute those combinations without any restriction coming
+from the use of this file. (The General Public License restrictions
+do apply in other respects; for example, they cover modification of
+the file, and distribution when not linked into a combine
+executable.)
+
+GCC 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 GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+#if defined(__powerpc64__)
+#include "fp-bit.h"
+
+extern DItype __fixdfdi (DFtype);
+extern DItype __fixsfdi (SFtype);
+extern USItype __fixunsdfsi (DFtype);
+extern USItype __fixunssfsi (SFtype);
+extern DFtype __floatdidf (DItype);
+extern SFtype __floatdisf (DItype);
+
+static DItype local_fixunssfdi (SFtype);
+static DItype local_fixunsdfdi (DFtype);
+
+DItype
+__fixdfdi (DFtype a)
+{
+ if (a < 0)
+ return - local_fixunsdfdi (-a);
+ return local_fixunsdfdi (a);
+}
+
+DItype
+__fixsfdi (SFtype a)
+{
+ if (a < 0)
+ return - local_fixunssfdi (-a);
+ return local_fixunssfdi (a);
+}
+
+USItype
+__fixunsdfsi (DFtype a)
+{
+ if (a >= - (DFtype) (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1))
+ return (SItype) (a + (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1))
+ - (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1);
+ return (SItype) a;
+}
+
+USItype
+__fixunssfsi (SFtype a)
+{
+ if (a >= - (SFtype) (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1))
+ return (SItype) (a + (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1))
+ - (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1);
+ return (SItype) a;
+}
+
+DFtype
+__floatdidf (DItype u)
+{
+ DFtype d;
+
+ d = (SItype) (u >> (sizeof (SItype) * 8));
+ d *= (((UDItype) 1) << ((sizeof (SItype) * 8) / 2));
+ d *= (((UDItype) 1) << ((sizeof (SItype) * 8) / 2));
+ d += (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8)) - 1));
+
+ return d;
+}
+
+SFtype
+__floatdisf (DItype u)
+{
+ DFtype f;
+
+ if (53 < (sizeof (DItype) * 8)
+ && 53 > ((sizeof (DItype) * 8) - 53 + 24))
+ {
+ if (! (- ((DItype) 1 << 53) < u
+ && u < ((DItype) 1 << 53)))
+ {
+ if ((UDItype) u & (((UDItype) 1 << ((sizeof (DItype) * 8) - 53)) - 1))
+ {
+ u &= ~ (((UDItype) 1 << ((sizeof (DItype) * 8) - 53)) - 1);
+ u |= ((UDItype) 1 << ((sizeof (DItype) * 8) - 53));
+ }
+ }
+ }
+ f = (SItype) (u >> (sizeof (SItype) * 8));
+ f *= (((UDItype) 1) << ((sizeof (SItype) * 8) / 2));
+ f *= (((UDItype) 1) << ((sizeof (SItype) * 8) / 2));
+ f += (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8)) - 1));
+
+ return (SFtype) f;
+}
+
+/* This version is needed to prevent recursion; fixunsdfdi in libgcc
+ calls fixdfdi, which in turn calls calls fixunsdfdi. */
+
+static DItype
+local_fixunsdfdi (DFtype a)
+{
+ USItype hi, lo;
+
+ hi = a / (((UDItype) 1) << (sizeof (SItype) * 8));
+ lo = (a - ((DFtype) hi) * (((UDItype) 1) << (sizeof (SItype) * 8)));
+ return ((UDItype) hi << (sizeof (SItype) * 8)) | lo;
+}
+
+/* This version is needed to prevent recursion; fixunssfdi in libgcc
+ calls fixsfdi, which in turn calls calls fixunssfdi. */
+
+static DItype
+local_fixunssfdi (SFtype original_a)
+{
+ DFtype a = original_a;
+ USItype hi, lo;
+
+ hi = a / (((UDItype) 1) << (sizeof (SItype) * 8));
+ lo = (a - ((DFtype) hi) * (((UDItype) 1) << (sizeof (SItype) * 8)));
+ return ((UDItype) hi << (sizeof (SItype) * 8)) | lo;
+}
+
+#endif /* __powerpc64__ */
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index a7ec02b03e2..4d6daa533e7 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
#ifdef RTX_CODE
#ifdef TREE_CODE
-extern void init_cumulative_args PARAMS ((CUMULATIVE_ARGS *, tree, rtx, int));
+extern void init_cumulative_args PARAMS ((CUMULATIVE_ARGS *, tree, rtx, int, int));
extern void rs6000_va_start PARAMS ((tree, rtx));
#endif /* TREE_CODE */
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 5c0ef2f6f30..591f77dd46e 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1,6 +1,6 @@
/* Subroutines used for code generation on IBM RS/6000.
Copyright (C) 1991, 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.
@@ -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
@@ -2636,16 +2640,15 @@ rs6000_emit_move (dest, source, mode)
}
}
- /* Handle the case where reload calls us with an invalid address;
- and the case of CONSTANT_P_RTX. */
- if (!ALTIVEC_VECTOR_MODE (mode)
+ /* Handle the case where reload calls us with an invalid address. */
+ if (reload_in_progress && mode == Pmode
&& (! general_operand (operands[1], mode)
- || ! nonimmediate_operand (operands[0], mode)
- || GET_CODE (operands[1]) == CONSTANT_P_RTX))
- {
- emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1]));
- return;
- }
+ || ! nonimmediate_operand (operands[0], mode)))
+ goto emit_set;
+
+ /* Handle the case of CONSTANT_P_RTX. */
+ if (GET_CODE (operands[1]) == CONSTANT_P_RTX)
+ goto emit_set;
/* FIXME: In the long term, this switch statement should go away
and be replaced by a sequence of tests based on things like
@@ -2841,6 +2844,16 @@ rs6000_emit_move (dest, source, mode)
operands[1]
= replace_equiv_address (operands[1],
copy_addr_to_reg (XEXP (operands[1], 0)));
+ if (TARGET_POWER)
+ {
+ emit_insn (gen_rtx_PARALLEL (VOIDmode,
+ gen_rtvec (2,
+ gen_rtx_SET (VOIDmode,
+ operands[0], operands[1]),
+ gen_rtx_CLOBBER (VOIDmode,
+ gen_rtx_SCRATCH (SImode)))));
+ return;
+ }
break;
default:
@@ -2850,13 +2863,11 @@ rs6000_emit_move (dest, source, mode)
/* Above, we may have called force_const_mem which may have returned
an invalid address. If we can, fix this up; otherwise, reload will
have to deal with it. */
- if (GET_CODE (operands[1]) == MEM
- && ! memory_address_p (mode, XEXP (operands[1], 0))
- && ! reload_in_progress)
- operands[1] = adjust_address (operands[1], mode, 0);
+ if (GET_CODE (operands[1]) == MEM && ! reload_in_progress)
+ operands[1] = validize_mem (operands[1]);
+ emit_set:
emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1]));
- return;
}
/* Initialize a variable CUM of type CUMULATIVE_ARGS
@@ -2867,11 +2878,12 @@ rs6000_emit_move (dest, source, mode)
so we never return a PARALLEL. */
void
-init_cumulative_args (cum, fntype, libname, incoming)
+init_cumulative_args (cum, fntype, libname, incoming, libcall)
CUMULATIVE_ARGS *cum;
tree fntype;
rtx libname ATTRIBUTE_UNUSED;
int incoming;
+ int libcall;
{
static CUMULATIVE_ARGS zero_cumulative;
@@ -2880,7 +2892,8 @@ init_cumulative_args (cum, fntype, libname, incoming)
cum->fregno = FP_ARG_MIN_REG;
cum->vregno = ALTIVEC_ARG_MIN_REG;
cum->prototype = (fntype && TYPE_ARG_TYPES (fntype));
- cum->call_cookie = CALL_NORMAL;
+ cum->call_cookie = ((DEFAULT_ABI == ABI_V4 && libcall)
+ ? CALL_LIBCALL : CALL_NORMAL);
cum->sysv_gregno = GP_ARG_MIN_REG;
if (incoming)
@@ -3088,7 +3101,7 @@ function_arg_advance (cum, mode, type, named)
If this is floating-point and no prototype is specified, we use
both an FP and integer register (or possibly FP reg and stack). Library
- functions (when TYPE is zero) always have the proper types for args,
+ functions (when CALL_LIBCALL is set) always have the proper types for args,
so we can pass the FP value just in one register. emit_library_function
doesn't support PARALLEL anyway. */
@@ -3109,7 +3122,8 @@ function_arg (cum, mode, type, named)
{
if (abi == ABI_V4
&& cum->nargs_prototype < 0
- && type && (cum->prototype || TARGET_NO_PROTOTYPE))
+ && (cum->call_cookie & CALL_LIBCALL) == 0
+ && (cum->prototype || TARGET_NO_PROTOTYPE))
{
/* For the SPE, we need to crxor CR6 always. */
if (TARGET_SPE_ABI)
@@ -3275,7 +3289,10 @@ function_arg_partial_nregs (cum, mode, type, named)
the argument itself. The pointer is passed in whatever way is
appropriate for passing a pointer to that type.
- Under V.4, structures and unions are passed by reference. */
+ Under V.4, structures and unions are passed by reference.
+
+ As an extension to all ABIs, variable sized types are passed by
+ reference. */
int
function_arg_pass_by_reference (cum, mode, type, named)
@@ -3293,8 +3310,7 @@ function_arg_pass_by_reference (cum, mode, type, named)
return 1;
}
-
- return 0;
+ return type && int_size_in_bytes (type) <= 0;
}
/* Perform any needed actions needed for a function that is receiving a
@@ -3533,7 +3549,28 @@ rs6000_va_arg (valist, type)
rtx lab_false, lab_over, addr_rtx, r;
if (DEFAULT_ABI != ABI_V4)
- return std_expand_builtin_va_arg (valist, type);
+ {
+ /* Variable sized types are passed by reference. */
+ if (int_size_in_bytes (type) <= 0)
+ {
+ u = build_pointer_type (type);
+
+ /* Args grow upward. */
+ t = build (POSTINCREMENT_EXPR, TREE_TYPE (valist), valist,
+ build_int_2 (POINTER_SIZE / BITS_PER_UNIT, 0));
+ TREE_SIDE_EFFECTS (t) = 1;
+
+ t = build1 (NOP_EXPR, build_pointer_type (u), t);
+ TREE_SIDE_EFFECTS (t) = 1;
+
+ t = build1 (INDIRECT_REF, u, t);
+ TREE_SIDE_EFFECTS (t) = 1;
+
+ return expand_expr (t, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ }
+ else
+ return std_expand_builtin_va_arg (valist, type);
+ }
f_gpr = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
f_fpr = TREE_CHAIN (f_gpr);
@@ -8837,7 +8874,7 @@ first_reg_to_save ()
if (regs_ever_live[first_reg]
&& (! call_used_regs[first_reg]
|| (first_reg == RS6000_PIC_OFFSET_TABLE_REGNUM
- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1)
+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
|| (DEFAULT_ABI == ABI_DARWIN && flag_pic)))))
break;
@@ -9265,7 +9302,6 @@ rs6000_stack_info ()
+ ehrd_size
+ info_ptr->cr_size
+ info_ptr->lr_size
- + info_ptr->vrsave_size
+ info_ptr->toc_size,
(TARGET_ALTIVEC_ABI || ABI_DARWIN)
? 16 : 8);
@@ -9609,7 +9645,7 @@ void
rs6000_emit_load_toc_table (fromprolog)
int fromprolog;
{
- rtx dest;
+ rtx dest, insn;
dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
if (TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 1)
@@ -9617,8 +9653,12 @@ rs6000_emit_load_toc_table (fromprolog)
rtx temp = (fromprolog
? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM)
: gen_reg_rtx (Pmode));
- rs6000_maybe_dead (emit_insn (gen_load_toc_v4_pic_si (temp)));
- rs6000_maybe_dead (emit_move_insn (dest, temp));
+ insn = emit_insn (gen_load_toc_v4_pic_si (temp));
+ if (fromprolog)
+ rs6000_maybe_dead (insn);
+ insn = emit_move_insn (dest, temp);
+ if (fromprolog)
+ rs6000_maybe_dead (insn);
}
else if (TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2)
{
@@ -9665,14 +9705,13 @@ rs6000_emit_load_toc_table (fromprolog)
ASM_GENERATE_INTERNAL_LABEL (buf, "LCG", reload_toc_labelno++);
symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
- rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1b (tempLR,
- symF,
- tocsym)));
- rs6000_maybe_dead (emit_move_insn (dest, tempLR));
- rs6000_maybe_dead (emit_move_insn (temp0,
- gen_rtx_MEM (Pmode, dest)));
+ emit_insn (gen_load_toc_v4_PIC_1b (tempLR, symF, tocsym));
+ emit_move_insn (dest, tempLR);
+ emit_move_insn (temp0, gen_rtx_MEM (Pmode, dest));
}
- rs6000_maybe_dead (emit_insn (gen_addsi3 (dest, temp0, dest)));
+ insn = emit_insn (gen_addsi3 (dest, temp0, dest));
+ if (fromprolog)
+ rs6000_maybe_dead (insn);
}
else if (TARGET_ELF && !TARGET_AIX && flag_pic == 0 && TARGET_MINIMAL_TOC)
{
@@ -9682,15 +9721,21 @@ rs6000_emit_load_toc_table (fromprolog)
ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1);
realsym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
- rs6000_maybe_dead (emit_insn (gen_elf_high (dest, realsym)));
- rs6000_maybe_dead (emit_insn (gen_elf_low (dest, dest, realsym)));
+ insn = emit_insn (gen_elf_high (dest, realsym));
+ if (fromprolog)
+ rs6000_maybe_dead (insn);
+ insn = emit_insn (gen_elf_low (dest, dest, realsym));
+ if (fromprolog)
+ rs6000_maybe_dead (insn);
}
else if (DEFAULT_ABI == ABI_AIX)
{
if (TARGET_32BIT)
- rs6000_maybe_dead (emit_insn (gen_load_toc_aix_si (dest)));
+ insn = emit_insn (gen_load_toc_aix_si (dest));
else
- rs6000_maybe_dead (emit_insn (gen_load_toc_aix_di (dest)));
+ insn = emit_insn (gen_load_toc_aix_di (dest));
+ if (fromprolog)
+ rs6000_maybe_dead (insn);
}
else
abort ();
@@ -10423,7 +10468,7 @@ rs6000_emit_prologue ()
if ((regs_ever_live[info->first_gp_reg_save+i]
&& ! call_used_regs[info->first_gp_reg_save+i])
|| (i+info->first_gp_reg_save == RS6000_PIC_OFFSET_TABLE_REGNUM
- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1)
+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
|| (DEFAULT_ABI == ABI_DARWIN && flag_pic))))
{
rtx addr, reg, mem;
@@ -10839,7 +10884,7 @@ rs6000_emit_epilogue (sibcall)
if ((regs_ever_live[info->first_gp_reg_save+i]
&& ! call_used_regs[info->first_gp_reg_save+i])
|| (i+info->first_gp_reg_save == RS6000_PIC_OFFSET_TABLE_REGNUM
- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1)
+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
|| (DEFAULT_ABI == ABI_DARWIN && flag_pic))))
{
rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
@@ -12617,11 +12662,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 +12697,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..957fcecfe1e 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
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.
@@ -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)
@@ -997,6 +1000,10 @@ extern int rs6000_default_long_calls;
= call_really_used_regs[i] = 1; \
if (DEFAULT_ABI == ABI_V4 \
&& PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM \
+ && flag_pic == 2) \
+ fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1; \
+ if (DEFAULT_ABI == ABI_V4 \
+ && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM \
&& flag_pic == 1) \
fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] \
= call_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] \
@@ -1337,10 +1344,12 @@ enum reg_class
/* Return a class of registers that cannot change FROM mode to TO mode. */
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
- (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) ? FLOAT_REGS \
- : (SPE_VECTOR_MODE (FROM) + SPE_VECTOR_MODE (TO)) == 1 ? GENERAL_REGS \
- : NO_REGS)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
+ ? reg_classes_intersect_p (FLOAT_REGS, CLASS) \
+ : (SPE_VECTOR_MODE (FROM) + SPE_VECTOR_MODE (TO)) == 1 \
+ ? reg_classes_intersect_p (GENERAL_REGS, CLASS) \
+ : 0)
/* Stack layout; function entry, exit and calling. */
@@ -1607,25 +1616,26 @@ typedef struct rs6000_stack {
#define CALL_V4_CLEAR_FP_ARGS 0x00000002 /* V.4, no FP args passed */
#define CALL_V4_SET_FP_ARGS 0x00000004 /* V.4, FP args were passed */
#define CALL_LONG 0x00000008 /* always call indirect */
+#define CALL_LIBCALL 0x00000010 /* libcall */
/* 1 if N is a possible register number for a function value
as seen by the caller.
On RS/6000, this is r3, fp1, and v2 (for AltiVec). */
-#define FUNCTION_VALUE_REGNO_P(N) ((N) == GP_ARG_RETURN \
- || ((N) == FP_ARG_RETURN) \
- || (TARGET_ALTIVEC && \
- (N) == ALTIVEC_ARG_RETURN))
+#define FUNCTION_VALUE_REGNO_P(N) \
+ ((N) == GP_ARG_RETURN \
+ || ((N) == FP_ARG_RETURN && TARGET_HARD_FLOAT) \
+ || ((N) == ALTIVEC_ARG_RETURN && TARGET_ALTIVEC))
/* 1 if N is a possible register number for function argument passing.
On RS/6000, these are r3-r10 and fp1-fp13.
On AltiVec, v2 - v13 are used for passing vectors. */
#define FUNCTION_ARG_REGNO_P(N) \
- (((unsigned)((N) - GP_ARG_MIN_REG) < (unsigned)(GP_ARG_NUM_REG)) \
- || (TARGET_ALTIVEC && \
- (unsigned)((N) - ALTIVEC_ARG_MIN_REG) < (unsigned)(ALTIVEC_ARG_NUM_REG)) \
- || ((unsigned)((N) - FP_ARG_MIN_REG) < (unsigned)(FP_ARG_NUM_REG)))
-
+ ((unsigned) (N) - GP_ARG_MIN_REG < GP_ARG_NUM_REG \
+ || ((unsigned) (N) - ALTIVEC_ARG_MIN_REG < ALTIVEC_ARG_NUM_REG \
+ && TARGET_ALTIVEC) \
+ || ((unsigned) (N) - FP_ARG_MIN_REG < FP_ARG_NUM_REG \
+ && TARGET_HARD_FLOAT))
/* A C structure for machine-specific, per-function data.
This is added to the cfun structure. */
@@ -1680,13 +1690,18 @@ typedef struct rs6000_args
For a library call, FNTYPE is 0. */
#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT) \
- init_cumulative_args (&CUM, FNTYPE, LIBNAME, FALSE)
+ init_cumulative_args (&CUM, FNTYPE, LIBNAME, FALSE, FALSE)
/* Similar, but when scanning the definition of a procedure. We always
set NARGS_PROTOTYPE large so we never return an EXPR_LIST. */
#define INIT_CUMULATIVE_INCOMING_ARGS(CUM,FNTYPE,LIBNAME) \
- init_cumulative_args (&CUM, FNTYPE, LIBNAME, TRUE)
+ init_cumulative_args (&CUM, FNTYPE, LIBNAME, TRUE, FALSE)
+
+/* Like INIT_CUMULATIVE_ARGS' but only used for outgoing libcalls. */
+
+#define INIT_CUMULATIVE_LIBCALL_ARGS(CUM, MODE, LIBNAME) \
+ init_cumulative_args (&CUM, NULL_TREE, LIBNAME, FALSE, TRUE)
/* Update the data in CUM to advance over an argument
of mode MODE and data type TYPE.
@@ -1832,7 +1847,7 @@ typedef struct rs6000_args
|| (TARGET_ALTIVEC && (REGNO) == VRSAVE_REGNO) \
|| (current_function_calls_eh_return \
&& TARGET_AIX \
- && (REGNO) == TOC_REGISTER))
+ && (REGNO) == 2))
/* TRAMPOLINE_TEMPLATE deleted */
@@ -2382,12 +2397,16 @@ do { \
return COSTS_N_INSNS (4); \
case PROCESSOR_PPC620: \
case PROCESSOR_PPC630: \
- case PROCESSOR_POWER4: \
return (GET_CODE (XEXP (X, 1)) != CONST_INT \
? GET_MODE (XEXP (X, 1)) != DImode \
? COSTS_N_INSNS (5) : COSTS_N_INSNS (7) \
: INTVAL (XEXP (X, 1)) >= -256 && INTVAL (XEXP (X, 1)) <= 255 \
? COSTS_N_INSNS (3) : COSTS_N_INSNS (4)); \
+ case PROCESSOR_POWER4: \
+ return (GET_CODE (XEXP (X, 1)) != CONST_INT \
+ ? GET_MODE (XEXP (X, 1)) != DImode \
+ ? COSTS_N_INSNS (3) : COSTS_N_INSNS (4) \
+ : COSTS_N_INSNS (2)); \
} \
case DIV: \
case MOD: \
@@ -2723,8 +2742,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 +2752,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/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index a031a295e9b..4c950312871 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -1,6 +1,6 @@
;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
;; Copyright (C) 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 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;; This file is part of GNU CC.
@@ -772,17 +772,17 @@
2 1)
(define_function_unit "iu2" 2 0
- (and (eq_attr "type" "imul,lmul")
+ (and (eq_attr "type" "lmul")
(eq_attr "cpu" "power4"))
7 6)
(define_function_unit "iu2" 2 0
- (and (eq_attr "type" "imul2")
+ (and (eq_attr "type" "imul")
(eq_attr "cpu" "power4"))
5 4)
(define_function_unit "iu2" 2 0
- (and (eq_attr "type" "imul3")
+ (and (eq_attr "type" "imul2,imul3")
(eq_attr "cpu" "power4"))
4 3)
@@ -9133,6 +9133,32 @@
operands[5] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
}")
+(define_split
+ [(set (match_operand:TI 0 "gpc_reg_operand" "")
+ (match_operand:TI 1 "const_double_operand" ""))]
+ "TARGET_POWERPC64"
+ [(set (match_dup 2) (match_dup 4))
+ (set (match_dup 3) (match_dup 5))]
+ "
+{
+ operands[2] = operand_subword_force (operands[0], WORDS_BIG_ENDIAN == 0,
+ TImode);
+ operands[3] = operand_subword_force (operands[0], WORDS_BIG_ENDIAN != 0,
+ TImode);
+ if (GET_CODE (operands[1]) == CONST_DOUBLE)
+ {
+ operands[4] = GEN_INT (CONST_DOUBLE_HIGH (operands[1]));
+ operands[5] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+ }
+ else if (GET_CODE (operands[1]) == CONST_INT)
+ {
+ operands[4] = GEN_INT (- (INTVAL (operands[1]) < 0));
+ operands[5] = operands[1];
+ }
+ else
+ FAIL;
+}")
+
(define_insn "*movdi_internal64"
[(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,?f,f,m,r,*h,*h")
(match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,f,m,f,*h,r,0"))]
@@ -9313,8 +9339,7 @@
(define_insn "*movti_string"
[(set (match_operand:TI 0 "reg_or_mem_operand" "=Q,m,????r,????r,????r")
- (match_operand:TI 1 "reg_or_mem_operand" "r,r,r,Q,m"))
- (clobber (match_scratch:SI 2 "X,X,X,X,X"))]
+ (match_operand:TI 1 "reg_or_mem_operand" "r,r,r,Q,m"))]
"TARGET_STRING && ! TARGET_POWER && ! TARGET_POWERPC64
&& (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode))"
"*
@@ -14850,19 +14875,17 @@
; This is used in compiling the unwind routines.
(define_expand "eh_return"
- [(use (match_operand 0 "general_operand" ""))
- (use (match_operand 1 "general_operand" ""))]
+ [(use (match_operand 0 "general_operand" ""))]
""
"
{
#if TARGET_AIX
- rs6000_emit_eh_toc_restore (operands[0]);
+ rs6000_emit_eh_toc_restore (EH_RETURN_STACKADJ_RTX);
#endif
if (TARGET_32BIT)
- emit_insn (gen_eh_set_lr_si (operands[1]));
+ emit_insn (gen_eh_set_lr_si (operands[0]));
else
- emit_insn (gen_eh_set_lr_di (operands[1]));
- emit_move_insn (EH_RETURN_STACKADJ_RTX, operands[0]);
+ emit_insn (gen_eh_set_lr_di (operands[0]));
DONE;
}")
diff --git a/gcc/config/rs6000/rtems.h b/gcc/config/rs6000/rtems.h
index 072d86c4ca2..7e7584604e9 100644
--- a/gcc/config/rs6000/rtems.h
+++ b/gcc/config/rs6000/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a PowerPC using elf.
- Copyright (C) 1996, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GNU CC.
@@ -32,3 +32,6 @@ Boston, MA 02111-1307, USA. */
builtin_assert ("machine=powerpc"); \
} \
while (0)
+
+#undef CPP_OS_DEFAULT_SPEC
+#define CPP_OS_DEFAULT_SPEC "%(cpp_os_rtems)"
diff --git a/gcc/config/rs6000/spe.h b/gcc/config/rs6000/spe.h
index 48d5b28b6b9..b15dac5a38b 100644
--- a/gcc/config/rs6000/spe.h
+++ b/gcc/config/rs6000/spe.h
@@ -1,5 +1,5 @@
/* PowerPC E500 user include file.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
This file is part of GNU CC.
@@ -42,10 +42,9 @@ typedef short __vector __ev64_s16__;
typedef unsigned short __vector __ev64_u16__;
typedef int __vector __ev64_s32__;
typedef unsigned __vector __ev64_u32__;
-typedef long long __ev64_s64__;
-typedef unsigned long long __ev64_u64__;
+typedef long long __vector __ev64_s64__;
+typedef unsigned long long __vector __ev64_u64__;
typedef float __vector __ev64_fs__;
-
typedef int __vector __ev64_opaque__;
#define __v2si __ev64_opaque__
@@ -54,7 +53,11 @@ typedef int __vector __ev64_opaque__;
#define __ev_addw(a,b) __builtin_spe_evaddw((__v2si) (a), (__v2si) (b))
#define __ev_addiw(a,b) __builtin_spe_evaddiw ((__v2si) (a), (b))
#define __ev_subfw(a,b) __builtin_spe_evsubfw ((__v2si) (a), (__v2si) (b))
-#define __ev_subifw(a,b) __builtin_spe_evsubifw ((__v2si) (a), (b))
+#define __ev_subw(a,b) __builtin_spe_evsubfw ((__v2si) (b), (__v2si) (a))
+/* ??? The spe_evsubifw pattern accepts operands reversed, so we need to also
+ reverse them here between the intrinsic and the builtin function. */
+#define __ev_subifw(a,b) __builtin_spe_evsubifw ((__v2si) (b), (a))
+#define __ev_subiw(a,b) __builtin_spe_evsubifw ((__v2si) (a), (b))
#define __ev_abs(a) __builtin_spe_evabs ((__v2si) (a))
#define __ev_neg(a) __builtin_spe_evneg ((__v2si) (a))
#define __ev_extsb(a) __builtin_spe_evextsb ((__v2si) (a))
@@ -124,9 +127,9 @@ typedef int __vector __ev64_opaque__;
#define __ev_stwwox(a,b,c) __builtin_spe_evstwwox ((__v2si)(a), (b), (c))
#define __ev_stwhex(a,b,c) __builtin_spe_evstwhex ((__v2si)(a), (b), (c))
#define __ev_stwhox(a,b,c) __builtin_spe_evstwhox ((__v2si)(a), (b), (c))
-#define __ev_stdd(a,b,c) __builtin_spe_evstdd ((__v2si)(a), (b), (c))
-#define __ev_stdw(a,b,c) __builtin_spe_evstdw ((__v2si)(a), (b), (c))
-#define __ev_stdh(a,b,c) __builtin_spe_evstdh ((__v2si)(a), (b), (c))
+#define __ev_stdd(a,b,c) __builtin_spe_evstdd ((__v2si)(a), (void *)(b), (c))
+#define __ev_stdw(a,b,c) __builtin_spe_evstdw ((__v2si)(a), (void *)(b), (c))
+#define __ev_stdh(a,b,c) __builtin_spe_evstdh ((__v2si)(a), (void *)(b), (c))
#define __ev_stwwe(a,b,c) __builtin_spe_evstwwe ((__v2si)(a), (b), (c))
#define __ev_stwwo(a,b,c) __builtin_spe_evstwwo ((__v2si)(a), (b), (c))
#define __ev_stwhe(a,b,c) __builtin_spe_evstwhe ((__v2si)(a), (b), (c))
@@ -224,24 +227,16 @@ typedef int __vector __ev64_opaque__;
#define __ev_mwhumf __ev_mwhumi
#define __ev_mwhumfa __ev_mwhumia
-#define __ev_mwlssf(a, b) __builtin_spe_evmwlssf ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlsmf(a, b) __builtin_spe_evmwlsmf ((__v2si) (a), (__v2si) (b))
#define __ev_mwlumi(a, b) __builtin_spe_evmwlumi ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlssfa(a, b) __builtin_spe_evmwlssfa ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlsmfa(a, b) __builtin_spe_evmwlsmfa ((__v2si) (a), (__v2si) (b))
#define __ev_mwlumia(a, b) __builtin_spe_evmwlumia ((__v2si) (a), (__v2si) (b))
#define __ev_mwlumiaaw(a, b) __builtin_spe_evmwlumiaaw ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlssfaaw(a, b) __builtin_spe_evmwlssfaaw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlssiaaw(a, b) __builtin_spe_evmwlssiaaw ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlsmfaaw(a, b) __builtin_spe_evmwlsmfaaw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlsmiaaw(a, b) __builtin_spe_evmwlsmiaaw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlusiaaw(a, b) __builtin_spe_evmwlusiaaw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlusiaaw(a, b) __builtin_spe_evmwlusiaaw ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlssfanw(a, b) __builtin_spe_evmwlssfanw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlssianw(a, b) __builtin_spe_evmwlssianw ((__v2si) (a), (__v2si) (b))
-#define __ev_mwlsmfanw(a, b) __builtin_spe_evmwlsmfanw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlsmianw(a, b) __builtin_spe_evmwlsmianw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlusianw(a, b) __builtin_spe_evmwlusianw ((__v2si) (a), (__v2si) (b))
#define __ev_mwlumianw(a, b) __builtin_spe_evmwlumianw ((__v2si) (a), (__v2si) (b))
@@ -294,26 +289,26 @@ typedef int __vector __ev64_opaque__;
/* Floating Point SIMD Instructions */
-/* These all return V2SF, but we need to cast them to V2SI because the SPE
- expect all functions to be __ev64_opaque__. */
-
-#define __ev_fsabs(a) ((__v2si) __builtin_spe_evfsabs ((__v2sf) a))
-#define __ev_fsnabs(a) ((__v2si) __builtin_spe_evfsnabs ((__v2sf) a))
-#define __ev_fsneg(a) ((__v2si) __builtin_spe_evfsneg ((__v2sf) a))
-#define __ev_fsadd(a, b) ((__v2si) __builtin_spe_evfsadd ((__v2sf) a, (__v2sf) b))
-#define __ev_fssub(a, b) ((__v2si) __builtin_spe_evfssub ((__v2sf) a, (__v2sf) b))
-#define __ev_fsmul(a, b) ((__v2si) __builtin_spe_evfsmul ((__v2sf) a, (__v2sf) b))
-#define __ev_fsdiv(a, b) ((__v2si) __builtin_spe_evfsdiv ((__v2sf) a, (__v2sf) b))
-#define __ev_fscfui(a) ((__v2si) __builtin_spe_evfscfui ((__v2si) a))
-#define __ev_fscfsi(a) ((__v2si) __builtin_spe_evfscfsi ((__v2sf) a))
-#define __ev_fscfuf(a) ((__v2si) __builtin_spe_evfscfuf ((__v2sf) a))
-#define __ev_fscfsf(a) ((__v2si) __builtin_spe_evfscfsf ((__v2sf) a))
-#define __ev_fsctui(a) ((__v2si) __builtin_spe_evfsctui ((__v2sf) a))
-#define __ev_fsctsi(a) ((__v2si) __builtin_spe_evfsctsi ((__v2sf) a))
-#define __ev_fsctuf(a) ((__v2si) __builtin_spe_evfsctuf ((__v2sf) a))
-#define __ev_fsctsf(a) ((__v2si) __builtin_spe_evfsctsf ((__v2sf) a))
-#define __ev_fsctuiz(a) ((__v2si) __builtin_spe_evfsctuiz ((__v2sf) a))
-#define __ev_fsctsiz(a) ((__v2si) __builtin_spe_evfsctsiz ((__v2sf) a))
+/* These all return V2SF, but we need to cast them to V2SI
+ because the SPE expect all functions to be __ev64_opaque__. */
+
+#define __ev_fsabs(a) ((__v2si) __builtin_spe_evfsabs ((__v2sf) (a)))
+#define __ev_fsnabs(a) ((__v2si) __builtin_spe_evfsnabs ((__v2sf) (a)))
+#define __ev_fsneg(a) ((__v2si) __builtin_spe_evfsneg ((__v2sf) (a)))
+#define __ev_fsadd(a, b) ((__v2si) __builtin_spe_evfsadd ((__v2sf) (a), (__v2sf) (b)))
+#define __ev_fssub(a, b) ((__v2si) __builtin_spe_evfssub ((__v2sf) (a), (__v2sf) (b)))
+#define __ev_fsmul(a, b) ((__v2si) __builtin_spe_evfsmul ((__v2sf) (a), (__v2sf) b))
+#define __ev_fsdiv(a, b) ((__v2si) __builtin_spe_evfsdiv ((__v2sf) (a), (__v2sf) b))
+#define __ev_fscfui(a) ((__v2si) __builtin_spe_evfscfui ((__v2si) (a)))
+#define __ev_fscfsi(a) ((__v2si) __builtin_spe_evfscfsi ((__v2sf) (a)))
+#define __ev_fscfuf(a) ((__v2si) __builtin_spe_evfscfuf ((__v2sf) (a)))
+#define __ev_fscfsf(a) ((__v2si) __builtin_spe_evfscfsf ((__v2sf) (a)))
+#define __ev_fsctui(a) ((__v2si) __builtin_spe_evfsctui ((__v2sf) (a)))
+#define __ev_fsctsi(a) ((__v2si) __builtin_spe_evfsctsi ((__v2sf) (a)))
+#define __ev_fsctuf(a) ((__v2si) __builtin_spe_evfsctuf ((__v2sf) (a)))
+#define __ev_fsctsf(a) ((__v2si) __builtin_spe_evfsctsf ((__v2sf) (a)))
+#define __ev_fsctuiz(a) ((__v2si) __builtin_spe_evfsctuiz ((__v2sf) (a)))
+#define __ev_fsctsiz(a) ((__v2si) __builtin_spe_evfsctsiz ((__v2sf) (a)))
/* NOT SUPPORTED IN FIRST e500, support via two instructions: */
@@ -332,7 +327,6 @@ typedef int __vector __ev64_opaque__;
#define __ev_mwhgsmfan(a, b) __internal_ev_mwhgsmfan ((__v2si) (a), (__v2si) (b))
#define __ev_mwhgsmian(a, b) __internal_ev_mwhgsmian ((__v2si) (a), (__v2si) (b))
#define __ev_mwhgumian(a, b) __internal_ev_mwhgumian ((__v2si) (a), (__v2si) (b))
-
#define __ev_mwhssiaaw(a, b) __internal_ev_mwhssiaaw ((__v2si) (a), (__v2si) (b))
#define __ev_mwhssfaaw(a, b) __internal_ev_mwhssfaaw ((__v2si) (a), (__v2si) (b))
#define __ev_mwhsmfaaw(a, b) __internal_ev_mwhsmfaaw ((__v2si) (a), (__v2si) (b))
@@ -352,7 +346,7 @@ __internal_ev_mwhssfaaw (__ev64_opaque__ a, __ev64_opaque__ b)
__ev64_opaque__ t;
t = __ev_mwhssf (a, b);
- return __ev_addssiaaw(t);
+ return __ev_addssiaaw (t);
}
static inline __ev64_opaque__
@@ -360,7 +354,7 @@ __internal_ev_mwhssiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhsmi (a,b);
+ t = __ev_mwhsmi (a, b);
return __ev_addssiaaw (t);
}
@@ -369,7 +363,7 @@ __internal_ev_mwhsmfaaw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhsmf (a,b);
+ t = __ev_mwhsmf (a, b);
return __ev_addsmiaaw (t);
}
@@ -378,7 +372,7 @@ __internal_ev_mwhsmiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhsmi (a,b);
+ t = __ev_mwhsmi (a, b);
return __ev_addsmiaaw (t);
}
@@ -387,7 +381,7 @@ __internal_ev_mwhusiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhumi (a,b);
+ t = __ev_mwhumi (a, b);
return __ev_addusiaaw (t);
}
@@ -396,7 +390,7 @@ __internal_ev_mwhumiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhumi (a,b);
+ t = __ev_mwhumi (a, b);
return __ev_addumiaaw (t);
}
@@ -405,7 +399,7 @@ __internal_ev_mwhssfanw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhssf (a,b);
+ t = __ev_mwhssf (a, b);
return __ev_subfssiaaw (t);
}
@@ -414,7 +408,7 @@ __internal_ev_mwhssianw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhsmi (a,b);
+ t = __ev_mwhsmi (a, b);
return __ev_subfssiaaw (t);
}
@@ -423,7 +417,7 @@ __internal_ev_mwhsmfanw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhsmf (a,b);
+ t = __ev_mwhsmf (a, b);
return __ev_subfsmiaaw (t);
}
@@ -432,7 +426,7 @@ __internal_ev_mwhsmianw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhsmi (a,b);
+ t = __ev_mwhsmi (a, b);
return __ev_subfsmiaaw (t);
}
@@ -441,7 +435,7 @@ __internal_ev_mwhusianw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhumi (a,b);
+ t = __ev_mwhumi (a, b);
return __ev_subfusiaaw (t);
}
@@ -450,7 +444,7 @@ __internal_ev_mwhumianw (__ev64_opaque__ a, __ev64_opaque__ b)
{
__ev64_opaque__ t;
- t = __ev_mwhumi (a,b);
+ t = __ev_mwhumi (a, b);
return __ev_subfumiaaw (t);
}
@@ -619,7 +613,7 @@ __ev_create_sfix32_fs (float a, float b)
__ev64_opaque__ ev;
ev = (__ev64_opaque__) __ev_create_fs (a, b);
- return (__ev64_opaque__) __builtin_spe_evfsctsf (ev);
+ return (__ev64_opaque__) __builtin_spe_evfsctsf ((__v2sf) ev);
}
static inline __ev64_opaque__
@@ -628,7 +622,7 @@ __ev_create_ufix32_fs (float a, float b)
__ev64_opaque__ ev;
ev = (__ev64_opaque__) __ev_create_fs (a, b);
- return (__ev64_opaque__) __builtin_spe_evfsctuf (ev);
+ return (__ev64_opaque__) __builtin_spe_evfsctuf ((__v2sf) ev);
}
static inline __ev64_opaque__
@@ -657,17 +651,26 @@ __ev_create_u64 (uint64_t a)
return u.v;
}
-#define __ev_convert_u64(a) ((uint64_t) (a))
-#define __ev_convert_s64(a) ((int64_t) (a))
+static inline uint64_t
+__ev_convert_u64 (__ev64_opaque__ a)
+{
+ return (uint64_t) a;
+}
+
+static inline int64_t
+__ev_convert_s64 (__ev64_opaque__ a)
+{
+ return (int64_t) a;
+}
/* __ev_get_* functions. */
-#define __ev_get_upper_u32(a) __ev_get_u32_internal ((__ev64_opaque__) a, 0)
-#define __ev_get_lower_u32(a) __ev_get_u32_internal ((__ev64_opaque__) a, 1)
-#define __ev_get_upper_s32(a) __ev_get_s32_internal ((__ev64_opaque__) a, 0)
-#define __ev_get_lower_s32(a) __ev_get_s32_internal ((__ev64_opaque__) a, 1)
-#define __ev_get_upper_fs(a) __ev_get_fs_internal ((__ev64_opaque__) a, 0)
-#define __ev_get_lower_fs(a) __ev_get_fs_internal ((__ev64_opaque__) a, 1)
+#define __ev_get_upper_u32(a) __ev_get_u32_internal ((__ev64_opaque__) (a), 0)
+#define __ev_get_lower_u32(a) __ev_get_u32_internal ((__ev64_opaque__) (a), 1)
+#define __ev_get_upper_s32(a) __ev_get_s32_internal ((__ev64_opaque__) (a), 0)
+#define __ev_get_lower_s32(a) __ev_get_s32_internal ((__ev64_opaque__) (a), 1)
+#define __ev_get_upper_fs(a) __ev_get_fs_internal ((__ev64_opaque__) (a), 0)
+#define __ev_get_lower_fs(a) __ev_get_fs_internal ((__ev64_opaque__) (a), 1)
#define __ev_get_upper_ufix32_u32(a) __ev_get_upper_u32(a)
#define __ev_get_lower_ufix32_u32(a) __ev_get_lower_u32(a)
#define __ev_get_upper_sfix32_s32(a) __ev_get_upper_s32(a)
@@ -677,11 +680,11 @@ __ev_create_u64 (uint64_t a)
#define __ev_get_upper_ufix32_fs(a) __ev_get_ufix32_fs (a, 0)
#define __ev_get_lower_ufix32_fs(a) __ev_get_ufix32_fs (a, 1)
-#define __ev_get_u32(a, b) __ev_get_u32_internal ((__ev64_opaque__) a, b)
-#define __ev_get_s32(a, b) __ev_get_s32_internal ((__ev64_opaque__) a, b)
-#define __ev_get_fs(a, b) __ev_get_fs_internal ((__ev64_opaque__) a, b)
-#define __ev_get_u16(a, b) __ev_get_u16_internal ((__ev64_opaque__) a, b)
-#define __ev_get_s16(a, b) __ev_get_s16_internal ((__ev64_opaque__) a, b)
+#define __ev_get_u32(a, b) __ev_get_u32_internal ((__ev64_opaque__) (a), b)
+#define __ev_get_s32(a, b) __ev_get_s32_internal ((__ev64_opaque__) (a), b)
+#define __ev_get_fs(a, b) __ev_get_fs_internal ((__ev64_opaque__) (a), b)
+#define __ev_get_u16(a, b) __ev_get_u16_internal ((__ev64_opaque__) (a), b)
+#define __ev_get_s16(a, b) __ev_get_s16_internal ((__ev64_opaque__) (a), b)
#define __ev_get_ufix32_u32(a, b) __ev_get_u32 (a, b)
#define __ev_get_sfix32_s32(a, b) __ev_get_s32 (a, b)
@@ -732,8 +735,8 @@ __ev_get_sfix32_fs_internal (__ev64_opaque__ a, uint32_t pos)
{
__ev64_fs__ v;
- v = __builtin_spe_evfscfsf (a);
- return __ev_get_fs_internal (v, pos);
+ v = __builtin_spe_evfscfsf ((__v2sf) a);
+ return __ev_get_fs_internal ((__ev64_opaque__) v, pos);
}
static inline float
@@ -741,8 +744,8 @@ __ev_get_ufix32_fs_internal (__ev64_opaque__ a, uint32_t pos)
{
__ev64_fs__ v;
- v = __builtin_spe_evfscfuf (a);
- return __ev_get_fs_internal (v, pos);
+ v = __builtin_spe_evfscfuf ((__v2sf) a);
+ return __ev_get_fs_internal ((__ev64_opaque__) v, pos);
}
static inline uint16_t
@@ -785,7 +788,7 @@ __ev_get_s16_internal (__ev64_opaque__ a, uint32_t pos)
#define __ev_set_sfix32_fs(a, b, c) __ev_set_sfix32_fs_internal ((__ev64_opaque__) (a), b, c)
#define __ev_set_ufix32_fs(a, b, c) __ev_set_ufix32_fs_internal ((__ev64_opaque__) (a), b, c)
-#define __ev_set_upper_u32(a, b) __ev_set_u32(a, b, 0)
+#define __ev_set_upper_u32(a, b) __ev_set_u32 (a, b, 0)
#define __ev_set_lower_u32(a, b) __ev_set_u32 (a, b, 1)
#define __ev_set_upper_s32(a, b) __ev_set_s32 (a, b, 0)
#define __ev_set_lower_s32(a, b) __ev_set_s32 (a, b, 1)
@@ -821,7 +824,7 @@ __ev_set_acc_s64 (int64_t a)
}
static inline __ev64_opaque__
-__ev_set_u32_internal (__ev64_opaque__ a, uint32_t b, uint32_t pos )
+__ev_set_u32_internal (__ev64_opaque__ a, uint32_t b, uint32_t pos)
{
union
{
@@ -835,7 +838,7 @@ __ev_set_u32_internal (__ev64_opaque__ a, uint32_t b, uint32_t pos )
}
static inline __ev64_opaque__
-__ev_set_s32_internal (__ev64_opaque__ a, int32_t b, uint32_t pos )
+__ev_set_s32_internal (__ev64_opaque__ a, int32_t b, uint32_t pos)
{
union
{
@@ -849,7 +852,7 @@ __ev_set_s32_internal (__ev64_opaque__ a, int32_t b, uint32_t pos )
}
static inline __ev64_opaque__
-__ev_set_fs_internal (__ev64_opaque__ a, float b, uint32_t pos )
+__ev_set_fs_internal (__ev64_opaque__ a, float b, uint32_t pos)
{
union
{
@@ -895,7 +898,7 @@ __ev_set_ufix32_fs_internal (__ev64_opaque__ a, float b, uint32_t pos)
}
static inline __ev64_opaque__
-__ev_set_u16_internal (__ev64_opaque__ a, uint16_t b, uint32_t pos )
+__ev_set_u16_internal (__ev64_opaque__ a, uint16_t b, uint32_t pos)
{
union
{
@@ -909,7 +912,7 @@ __ev_set_u16_internal (__ev64_opaque__ a, uint16_t b, uint32_t pos )
}
static inline __ev64_opaque__
-__ev_set_s16_internal (__ev64_opaque__ a, int16_t b, uint32_t pos )
+__ev_set_s16_internal (__ev64_opaque__ a, int16_t b, uint32_t pos)
{
union
{
@@ -929,136 +932,70 @@ __ev_set_s16_internal (__ev64_opaque__ a, int16_t b, uint32_t pos )
#define __pred_upper 2
#define __pred_lower 3
-#define __ev_any_gts(a, b) \
- __builtin_spe_evcmpgts (__pred_any, (__v2si)(a), (__v2si)(b))
-#define __ev_all_gts(a, b) \
- __builtin_spe_evcmpgts (__pred_all, (__v2si)(a), (__v2si)(b))
-#define __ev_upper_gts(a, b) \
- __builtin_spe_evcmpgts (__pred_upper, (__v2si)(a), (__v2si)(b))
-#define __ev_lower_gts(a, b) \
- __builtin_spe_evcmpgts (__pred_lower, (__v2si)(a), (__v2si)(b))
-#define __ev_select_gts(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_gts ((__v2si)(a), (__v2si)(b), \
- (__v2si)(c), (__v2si)(d)))
-
-#define __ev_any_gtu(a, b) \
- __builtin_spe_evcmpgtu (__pred_any, (__v2si)(a), (__v2si)(b))
-#define __ev_all_gtu(a, b) \
- __builtin_spe_evcmpgtu (__pred_all, (__v2si)(a), (__v2si)(b))
-#define __ev_upper_gtu(a, b) \
- __builtin_spe_evcmpgtu (__pred_upper, (__v2si)(a), (__v2si)(b))
-#define __ev_lower_gtu(a, b) \
- __builtin_spe_evcmpgtu (__pred_lower, (__v2si)(a), (__v2si)(b))
-#define __ev_select_gtu(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_gtu ((__v2si)(a), (__v2si)(b), \
- (__v2si)(c), (__v2si)(d)))
-
-#define __ev_any_lts(a, b) \
- __builtin_spe_evcmplts (__pred_any, (__v2si)(a), (__v2si)(b))
-#define __ev_all_lts(a, b) \
- __builtin_spe_evcmplts (__pred_all, (__v2si)(a), (__v2si)(b))
-#define __ev_upper_lts(a, b) \
- __builtin_spe_evcmplts (__pred_upper, (__v2si)(a), (__v2si)(b))
-#define __ev_lower_lts(a, b) \
- __builtin_spe_evcmplts (__pred_lower, (__v2si)(a), (__v2si)(b))
-#define __ev_select_lts(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_lts ((__v2si)(a), (__v2si)(b), \
- (__v2si)(c), (__v2si)(d)))
-
-#define __ev_any_ltu(a, b) \
- __builtin_spe_evcmpltu (__pred_any, (__v2si)(a), (__v2si)(b))
-#define __ev_all_ltu(a, b) \
- __builtin_spe_evcmpltu (__pred_all, (__v2si)(a), (__v2si)(b))
-#define __ev_upper_ltu(a, b) \
- __builtin_spe_evcmpltu (__pred_upper, (__v2si)(a), (__v2si)(b))
-#define __ev_lower_ltu(a, b) \
- __builtin_spe_evcmpltu (__pred_lower, (__v2si)(a), (__v2si)(b))
-#define __ev_select_ltu(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_ltu ((__v2si)(a), (__v2si)(b), \
- (__v2si)(c), (__v2si)(d)))
-#define __ev_any_eq(a, b) \
- __builtin_spe_evcmpeq (__pred_any, (__v2si)(a), (__v2si)(b))
-#define __ev_all_eq(a, b) \
- __builtin_spe_evcmpeq (__pred_all, (__v2si)(a), (__v2si)(b))
-#define __ev_upper_eq(a, b) \
- __builtin_spe_evcmpeq (__pred_upper, (__v2si)(a), (__v2si)(b))
-#define __ev_lower_eq(a, b) \
- __builtin_spe_evcmpeq (__pred_lower, (__v2si)(a), (__v2si)(b))
-#define __ev_select_eq(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_eq ((__v2si)(a), (__v2si)(b), \
- (__v2si)(c), (__v2si)(d)))
-
-#define __ev_any_fs_gt(a, b) \
- __builtin_spe_evfscmpgt (__pred_any, (__v2sf)(a), (__v2sf)(b))
-#define __ev_all_fs_gt(a, b) \
- __builtin_spe_evfscmpgt (__pred_all, (__v2sf)(a), (__v2sf)(b))
-#define __ev_upper_fs_gt(a, b) \
- __builtin_spe_evfscmpgt (__pred_upper, (__v2sf)(a), (__v2sf)(b))
-#define __ev_lower_fs_gt(a, b) \
- __builtin_spe_evfscmpgt (__pred_lower, (__v2sf)(a), (__v2sf)(b))
-#define __ev_select_fs_gt(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_fsgt ((__v2sf)(a), (__v2sf)(b), \
- (__v2sf)(c), (__v2sf)(d)))
-
-#define __ev_any_fs_lt(a, b) \
- __builtin_spe_evfscmplt (__pred_any, (__v2sf)(a), (__v2sf)(b))
-#define __ev_all_fs_lt(a, b) \
- __builtin_spe_evfscmplt (__pred_all, (__v2sf)(a), (__v2sf)(b))
-#define __ev_upper_fs_lt(a, b) \
- __builtin_spe_evfscmplt (__pred_upper, (__v2sf)(a), (__v2sf)(b))
-#define __ev_lower_fs_lt(a, b) \
- __builtin_spe_evfscmplt (__pred_lower, (__v2sf)(a), (__v2sf)(b))
-#define __ev_select_fs_lt(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_fslt ((__v2sf)(a), (__v2sf)(b), \
- (__v2sf)(c), (__v2sf)(d)))
-
-#define __ev_any_fs_eq(a, b) \
- __builtin_spe_evfscmpeq (__pred_any, (__v2sf)(a), (__v2sf)(b))
-#define __ev_all_fs_eq(a, b) \
- __builtin_spe_evfscmpeq (__pred_all, (__v2sf)(a), (__v2sf)(b))
-#define __ev_upper_fs_eq(a, b) \
- __builtin_spe_evfscmpeq (__pred_upper, (__v2sf)(a), (__v2sf)(b))
-#define __ev_lower_fs_eq(a, b) \
- __builtin_spe_evfscmpeq (__pred_lower, (__v2sf)(a), (__v2sf)(b))
-#define __ev_select_fs_eq(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_fseq ((__v2sf)(a), (__v2sf)(b), \
- (__v2sf)(c), (__v2sf)(d)))
-
-#define __ev_any_fs_tst_gt(a, b) \
- __builtin_spe_evfststgt (__pred_any, (__v2sf)(a), (__v2sf)(b))
-#define __ev_all_fs_tst_gt(a, b) \
- __builtin_spe_evfststgt (__pred_all, (__v2sf)(a), (__v2sf)(b))
-#define __ev_upper_fs_tst_gt(a, b) \
- __builtin_spe_evfststgt (__pred_upper, (__v2sf)(a), (__v2sf)(b))
-#define __ev_lower_fs_tst_gt(a, b) \
- __builtin_spe_evfststgt (__pred_lower, (__v2sf)(a), (__v2sf)(b))
-#define __ev_select_fs_tst_gt(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_fststgt ((__v2sf)(a), (__v2sf)(b), \
- (__v2sf)(c), (__v2sf)(d)))
-
-#define __ev_any_fs_tst_lt(a, b) \
- __builtin_spe_evfststlt (__pred_any, (__v2sf)(a), (__v2sf)(b))
-#define __ev_all_fs_tst_lt(a, b) \
- __builtin_spe_evfststlt (__pred_all, (__v2sf)(a), (__v2sf)(b))
-#define __ev_upper_fs_tst_lt(a, b) \
- __builtin_spe_evfststlt (__pred_upper, (__v2sf)(a), (__v2sf)(b))
-#define __ev_lower_fs_tst_lt(a, b) \
- __builtin_spe_evfststlt (__pred_lower, (__v2sf)(a), (__v2sf)(b))
-#define __ev_select_fs_tst_lt(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_fststlt ((__v2sf)(a), (__v2sf)(b), \
- (__v2sf)(c), (__v2sf)(d)))
-
-#define __ev_any_fs_tst_eq(a, b) \
- __builtin_spe_evfststeq (__pred_any, (__v2sf)(a), (__v2sf)(b))
-#define __ev_all_fs_tst_eq(a, b) \
- __builtin_spe_evfststeq (__pred_all, (__v2sf)(a), (__v2sf)(b))
-#define __ev_upper_fs_tst_eq(a, b) \
- __builtin_spe_evfststeq (__pred_upper, (__v2sf)(a), (__v2sf)(b))
-#define __ev_lower_fs_tst_eq(a, b) \
- __builtin_spe_evfststeq (__pred_lower, (__v2sf)(a), (__v2sf)(b))
-#define __ev_select_fs_tst_eq(a, b, c, d) \
- ((__v2si) __builtin_spe_evsel_fststeq ((__v2sf)(a), (__v2sf)(b), \
- (__v2sf)(c), (__v2sf)(d)))
+#define __ev_any_gts(a, b) __builtin_spe_evcmpgts (__pred_any, (__v2si) (a), (__v2si) (b))
+#define __ev_all_gts(a, b) __builtin_spe_evcmpgts (__pred_all, (__v2si) (a), (__v2si) (b))
+#define __ev_upper_gts(a, b) __builtin_spe_evcmpgts (__pred_upper, (__v2si) (a), (__v2si) (b))
+#define __ev_lower_gts(a, b) __builtin_spe_evcmpgts (__pred_lower, (__v2si) (a), (__v2si) (b))
+#define __ev_select_gts(a, b, c, d) ((__v2si) __builtin_spe_evsel_gts ((__v2si) (a), (__v2si) (b), (__v2si) (c), (__v2si) (d)))
+
+#define __ev_any_gtu(a, b) __builtin_spe_evcmpgtu (__pred_any, (__v2si) (a), (__v2si) (b))
+#define __ev_all_gtu(a, b) __builtin_spe_evcmpgtu (__pred_all, (__v2si) (a), (__v2si) (b))
+#define __ev_upper_gtu(a, b) __builtin_spe_evcmpgtu (__pred_upper, (__v2si) (a), (__v2si) (b))
+#define __ev_lower_gtu(a, b) __builtin_spe_evcmpgtu (__pred_lower, (__v2si) (a), (__v2si) (b))
+#define __ev_select_gtu(a, b, c, d) ((__v2si) __builtin_spe_evsel_gtu ((__v2si) (a), (__v2si) (b), (__v2si) (c), (__v2si) (d)))
+
+#define __ev_any_lts(a, b) __builtin_spe_evcmplts (__pred_any, (__v2si) (a), (__v2si) (b))
+#define __ev_all_lts(a, b) __builtin_spe_evcmplts (__pred_all, (__v2si) (a), (__v2si) (b))
+#define __ev_upper_lts(a, b) __builtin_spe_evcmplts (__pred_upper, (__v2si) (a), (__v2si) (b))
+#define __ev_lower_lts(a, b) __builtin_spe_evcmplts (__pred_lower, (__v2si) (a), (__v2si) (b))
+#define __ev_select_lts(a, b, c, d) ((__v2si) __builtin_spe_evsel_lts ((__v2si) (a), (__v2si) (b), (__v2si) (c), (__v2si) (d)))
+
+#define __ev_any_ltu(a, b) __builtin_spe_evcmpltu (__pred_any, (__v2si) (a), (__v2si) (b))
+#define __ev_all_ltu(a, b) __builtin_spe_evcmpltu (__pred_all, (__v2si) (a), (__v2si) (b))
+#define __ev_upper_ltu(a, b) __builtin_spe_evcmpltu (__pred_upper, (__v2si) (a), (__v2si) (b))
+#define __ev_lower_ltu(a, b) __builtin_spe_evcmpltu (__pred_lower, (__v2si) (a), (__v2si) (b))
+#define __ev_select_ltu(a, b, c, d) ((__v2si) __builtin_spe_evsel_ltu ((__v2si) (a), (__v2si) (b), (__v2si) (c), (__v2si) (d)))
+#define __ev_any_eq(a, b) __builtin_spe_evcmpeq (__pred_any, (__v2si) (a), (__v2si) (b))
+#define __ev_all_eq(a, b) __builtin_spe_evcmpeq (__pred_all, (__v2si) (a), (__v2si) (b))
+#define __ev_upper_eq(a, b) __builtin_spe_evcmpeq (__pred_upper, (__v2si) (a), (__v2si) (b))
+#define __ev_lower_eq(a, b) __builtin_spe_evcmpeq (__pred_lower, (__v2si) (a), (__v2si) (b))
+#define __ev_select_eq(a, b, c, d) ((__v2si) __builtin_spe_evsel_eq ((__v2si) (a), (__v2si) (b), (__v2si) (c), (__v2si) (d)))
+
+#define __ev_any_fs_gt(a, b) __builtin_spe_evfscmpgt (__pred_any, (__v2sf) (a), (__v2sf) (b))
+#define __ev_all_fs_gt(a, b) __builtin_spe_evfscmpgt (__pred_all, (__v2sf) (a), (__v2sf) (b))
+#define __ev_upper_fs_gt(a, b) __builtin_spe_evfscmpgt (__pred_upper, (__v2sf) (a), (__v2sf) (b))
+#define __ev_lower_fs_gt(a, b) __builtin_spe_evfscmpgt (__pred_lower, (__v2sf) (a), (__v2sf) (b))
+#define __ev_select_fs_gt(a, b, c, d) ((__v2si) __builtin_spe_evsel_fsgt ((__v2sf) (a), (__v2sf) (b), (__v2sf) (c), (__v2sf) (d)))
+
+#define __ev_any_fs_lt(a, b) __builtin_spe_evfscmplt (__pred_any, (__v2sf) (a), (__v2sf) (b))
+#define __ev_all_fs_lt(a, b) __builtin_spe_evfscmplt (__pred_all, (__v2sf) (a), (__v2sf) (b))
+#define __ev_upper_fs_lt(a, b) __builtin_spe_evfscmplt (__pred_upper, (__v2sf) (a), (__v2sf) (b))
+#define __ev_lower_fs_lt(a, b) __builtin_spe_evfscmplt (__pred_lower, (__v2sf) (a), (__v2sf) (b))
+#define __ev_select_fs_lt(a, b, c, d) ((__v2si) __builtin_spe_evsel_fslt ((__v2sf) (a), (__v2sf) (b), (__v2sf) (c), (__v2sf) (d)))
+
+#define __ev_any_fs_eq(a, b) __builtin_spe_evfscmpeq (__pred_any, (__v2sf) (a), (__v2sf) (b))
+#define __ev_all_fs_eq(a, b) __builtin_spe_evfscmpeq (__pred_all, (__v2sf) (a), (__v2sf) (b))
+#define __ev_upper_fs_eq(a, b) __builtin_spe_evfscmpeq (__pred_upper, (__v2sf) (a), (__v2sf) (b))
+#define __ev_lower_fs_eq(a, b) __builtin_spe_evfscmpeq (__pred_lower, (__v2sf) (a), (__v2sf) (b))
+#define __ev_select_fs_eq(a, b, c, d) ((__v2si) __builtin_spe_evsel_fseq ((__v2sf) (a), (__v2sf) (b), (__v2sf) (c), (__v2sf) (d)))
+
+#define __ev_any_fs_tst_gt(a, b) __builtin_spe_evfststgt (__pred_any, (__v2sf) (a), (__v2sf) (b))
+#define __ev_all_fs_tst_gt(a, b) __builtin_spe_evfststgt (__pred_all, (__v2sf) (a), (__v2sf) (b))
+#define __ev_upper_fs_tst_gt(a, b) __builtin_spe_evfststgt (__pred_upper, (__v2sf) (a), (__v2sf) (b))
+#define __ev_lower_fs_tst_gt(a, b) __builtin_spe_evfststgt (__pred_lower, (__v2sf) (a), (__v2sf) (b))
+#define __ev_select_fs_tst_gt(a, b, c, d) ((__v2si) __builtin_spe_evsel_fststgt ((__v2sf) (a), (__v2sf) (b), (__v2sf) (c), (__v2sf) (d)))
+
+#define __ev_any_fs_tst_lt(a, b) __builtin_spe_evfststlt (__pred_any, (__v2sf) (a), (__v2sf) (b))
+#define __ev_all_fs_tst_lt(a, b) __builtin_spe_evfststlt (__pred_all, (__v2sf) (a), (__v2sf) (b))
+#define __ev_upper_fs_tst_lt(a, b) __builtin_spe_evfststlt (__pred_upper, (__v2sf) (a), (__v2sf) (b))
+#define __ev_lower_fs_tst_lt(a, b) __builtin_spe_evfststlt (__pred_lower, (__v2sf) (a), (__v2sf) (b))
+#define __ev_select_fs_tst_lt(a, b, c, d) ((__v2si) __builtin_spe_evsel_fststlt ((__v2sf) (a), (__v2sf) (b), (__v2sf) (c), (__v2sf) (d)))
+
+#define __ev_any_fs_tst_eq(a, b) __builtin_spe_evfststeq (__pred_any, (__v2sf) (a), (__v2sf) (b))
+#define __ev_all_fs_tst_eq(a, b) __builtin_spe_evfststeq (__pred_all, (__v2sf) (a), (__v2sf) (b))
+#define __ev_upper_fs_tst_eq(a, b) __builtin_spe_evfststeq (__pred_upper, (__v2sf) (a), (__v2sf) (b))
+#define __ev_lower_fs_tst_eq(a, b) __builtin_spe_evfststeq (__pred_lower, (__v2sf) (a), (__v2sf) (b))
+#define __ev_select_fs_tst_eq(a, b, c, d) ((__v2si) __builtin_spe_evsel_fststeq ((__v2sf) (a), (__v2sf) (b), (__v2sf) (c), (__v2sf) (d)))
/* SPEFSCR accesor functions. */
@@ -1070,7 +1007,7 @@ __ev_set_s16_internal (__ev64_opaque__ a, int16_t b, uint32_t pos )
#define __SPEFSCR_FDBZH 0x04000000
#define __SPEFSCR_FUNFH 0x02000000
#define __SPEFSCR_FOVFH 0x01000000
-/* 2 unused bits */
+/* 2 unused bits. */
#define __SPEFSCR_FINXS 0x00200000
#define __SPEFSCR_FINVS 0x00100000
#define __SPEFSCR_FDBZS 0x00080000
@@ -1085,7 +1022,7 @@ __ev_set_s16_internal (__ev64_opaque__ a, int16_t b, uint32_t pos )
#define __SPEFSCR_FDBZ 0x00000400
#define __SPEFSCR_FUNF 0x00000200
#define __SPEFSCR_FOVF 0x00000100
-/* 1 unused bit */
+/* 1 unused bit. */
#define __SPEFSCR_FINXE 0x00000040
#define __SPEFSCR_FINVE 0x00000020
#define __SPEFSCR_FDBZE 0x00000010
@@ -1144,8 +1081,8 @@ __ev_clr_spefscr_field (int mask)
rnd = 0 (nearest)
rnd = 1 (zero)
rnd = 2 (+inf)
- rnd = 3 (-inf)
-*/
+ rnd = 3 (-inf). */
+
static inline void
__ev_set_spefscr_frmc (int rnd)
{
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 68fa73f7997..3da996fbd54 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for PowerPC running System V.4
- Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Cygnus Support.
@@ -257,7 +257,8 @@ do { \
rs6000_sdata_name); \
} \
\
- if (rs6000_sdata != SDATA_NONE && DEFAULT_ABI != ABI_V4) \
+ if ((rs6000_sdata != SDATA_NONE && DEFAULT_ABI != ABI_V4) \
+ || (rs6000_sdata == SDATA_EABI && !TARGET_EABI)) \
{ \
rs6000_sdata = SDATA_NONE; \
error ("-msdata=%s and -mcall-%s are incompatible", \
@@ -328,7 +329,7 @@ do { \
/* Define this to set the endianness to use in libgcc2.c, which can
not depend on target_flags. */
-#if !defined(_LITTLE_ENDIAN) && !defined(__sun__)
+#if !defined(__LITTLE_ENDIAN__) && !defined(__sun__)
#define LIBGCC2_WORDS_BIG_ENDIAN 1
#else
#define LIBGCC2_WORDS_BIG_ENDIAN 0
@@ -683,12 +684,12 @@ do { \
assemble_name ((FILE), (NAME)); \
fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \
} \
+ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
} while (0)
/* Describe how to emit uninitialized external linkage items. */
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
do { \
- (*targetm.asm_out.globalize_label) (FILE, NAME); \
ASM_OUTPUT_ALIGNED_LOCAL (FILE, NAME, SIZE, ALIGN); \
} while (0)
@@ -1094,7 +1095,7 @@ do { \
/* FreeBSD support. */
#define CPP_OS_FREEBSD_SPEC "\
- -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \
+ -D__ELF__ -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \
-Acpu=powerpc -Amachine=powerpc"
#define STARTFILE_FREEBSD_SPEC FBSD_STARTFILE_SPEC
@@ -1103,7 +1104,17 @@ do { \
#define LINK_START_FREEBSD_SPEC ""
#define LINK_OS_FREEBSD_SPEC "\
- %{symbolic:-Bsymbolic}"
+ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \
+ %{Wl,*:%*} \
+ %{v:-V} \
+ %{assert*} %{R*} %{rpath*} %{defsym*} \
+ %{shared:-Bshareable %{h*} %{soname*}} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic: -export-dynamic} \
+ %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \
+ %{static:-Bstatic}} \
+ %{symbolic:-Bsymbolic}"
/* GNU/Linux support. */
#ifdef USE_GNULIBC_1
@@ -1205,6 +1216,21 @@ ncrtn.o%s"
#define CPP_OS_NETBSD_SPEC "\
-D__powerpc__ -D__NetBSD__ -D__ELF__ -D__KPRINTF_ATTRIBUTE__"
+/* RTEMS support. */
+
+#define CPP_OS_RTEMS_SPEC "\
+%{!mcpu*: %{!Dppc*: %{!Dmpc*: -Dmpc750} } }\
+%{mcpu=403: %{!Dppc*: %{!Dmpc*: -Dppc403} } } \
+%{mcpu=505: %{!Dppc*: %{!Dmpc*: -Dmpc505} } } \
+%{mcpu=601: %{!Dppc*: %{!Dmpc*: -Dppc601} } } \
+%{mcpu=602: %{!Dppc*: %{!Dmpc*: -Dppc602} } } \
+%{mcpu=603: %{!Dppc*: %{!Dmpc*: -Dppc603} } } \
+%{mcpu=603e: %{!Dppc*: %{!Dmpc*: -Dppc603e} } } \
+%{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } \
+%{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \
+%{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \
+%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }"
+
/* VxWorks support. */
/* VxWorks does all the library stuff itself. */
#define LIB_VXWORKS_SPEC ""
@@ -1343,6 +1369,7 @@ ncrtn.o%s"
{ "cpp_os_gnu", CPP_OS_GNU_SPEC }, \
{ "cpp_os_linux", CPP_OS_LINUX_SPEC }, \
{ "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \
+ { "cpp_os_rtems", CPP_OS_RTEMS_SPEC }, \
{ "cpp_os_vxworks", CPP_OS_VXWORKS_SPEC }, \
{ "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \
{ "cpp_os_default", CPP_OS_DEFAULT_SPEC },
diff --git a/gcc/config/rs6000/t-aix43 b/gcc/config/rs6000/t-aix43
index 1acccf64d10..a716209e9bc 100644
--- a/gcc/config/rs6000/t-aix43
+++ b/gcc/config/rs6000/t-aix43
@@ -55,7 +55,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
rm -f @multilib_dir@/shr.o
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $$(slibdir)/
+SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $$(DESTDIR)$$(slibdir)/
SHLIB_LIBS = -lc `case @shlib_base_name@ in *pthread*) echo -lpthread ;; esac`
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
diff --git a/gcc/config/rs6000/t-aix52 b/gcc/config/rs6000/t-aix52
index 97e1e079508..bddcdb11490 100644
--- a/gcc/config/rs6000/t-aix52
+++ b/gcc/config/rs6000/t-aix52
@@ -36,7 +36,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
rm -f @multilib_dir@/shr.o
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $$(slibdir)/
+SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $$(DESTDIR)$$(slibdir)/
SHLIB_LIBS = -lc `case @shlib_base_name@ in *pthread*) echo -lpthread ;; esac`
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 48b61505bf1..af7b44bd70b 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -5,6 +5,9 @@ TARGET_LIBGCC2_CFLAGS =
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
crtsavres.o
+# These functions are needed for soft-float on powerpc64-linux.
+LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c
+
# ld provides these functions as needed.
crtsavres.S:
echo >crtsavres.S
diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems
new file mode 100644
index 00000000000..364a22d2278
--- /dev/null
+++ b/gcc/config/rs6000/t-rtems
@@ -0,0 +1,86 @@
+# Multilibs for powerpc RTEMS targets.
+
+MULTILIB_OPTIONS = \
+mcpu=403/mcpu=505/mcpu=601/mcpu=602/mcpu=603/mcpu=603e/mcpu=604/mcpu=750/mcpu=821/mcpu=860 \
+Dmpc509/Dmpc8260 \
+D_OLD_EXCEPTIONS \
+msoft-float
+
+MULTILIB_DIRNAMES = \
+m403 m505 m601 m602 m603 m603e m604 m750 m821 m860 \
+mpc509 \
+mpc8260 \
+roe \
+nof
+
+MULTILIB_EXTRA_OPTS = mrelocatable-lib mno-eabi mstrict-align
+
+# MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT}
+MULTILIB_MATCHES = ${MULTILIB_MATCHES_ENDIAN} \
+ ${MULTILIB_MATCHES_SYSV} \
+ mcpu?505/Dmpc505=mcpu?505/Dmpc509
+
+#
+# RTEMS old/new-exceptions handling
+#
+# old-exception processing is depredicated, therefore
+#
+# * Cpu-variants supporting new exception processing are build
+# with new exception processing only
+# * Cpu-variants not having been ported to new exception processing are
+# build with old and new exception processing
+#
+
+# Cpu-variants supporting new exception processing only
+MULTILIB_NEW_EXCEPTIONS_ONLY = \
+*mcpu=604*/*D_OLD_EXCEPTIONS* \
+*mcpu=750*/*D_OLD_EXCEPTIONS* \
+*mcpu=821*/*D_OLD_EXCEPTIONS* \
+*Dmpc8260*/*D_OLD_EXCEPTIONS* \
+*mcpu=860*/*D_OLD_EXCEPTIONS*
+
+# Soft-float only, default implies msoft-float
+# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES
+MULTILIB_SOFTFLOAT_ONLY = \
+mcpu=403/*msoft-float* \
+mcpu=821/*msoft-float* \
+mcpu=860/*msoft-float*
+
+# Hard-float only, take out msoft-float
+MULTILIB_HARDFLOAT_ONLY = \
+mcpu=505/*msoft-float*
+
+MULTILIB_EXCEPTIONS =
+
+# Disallow -D_OLD_EXCEPTIONS without other options
+MULTILIB_EXCEPTIONS += D_OLD_EXCEPTIONS*
+
+# Disallow -Dppc and -Dmpc without other options
+MULTILIB_EXCEPTIONS += Dppc* Dmpc*
+
+MULTILIB_EXCEPTIONS += \
+${MULTILIB_NEW_EXCEPTIONS_ONLY} \
+${MULTILIB_SOFTFLOAT_ONLY} \
+${MULTILIB_HARDFLOAT_ONLY}
+
+# Special rules
+# Take out all variants we don't want
+MULTILIB_EXCEPTIONS += mcpu=403/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=403/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=505/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=505/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=601/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=601/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=602/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=602/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=603/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=603/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=603e/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=604/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=604/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=750/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=750/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=821/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=821/Dmpc8260*
+MULTILIB_EXCEPTIONS += mcpu=860/Dmpc509*
+MULTILIB_EXCEPTIONS += mcpu=860/Dmpc8260*
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index deecef6b969..7efacb4bc84 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.
@@ -43,13 +43,16 @@ extern int s390_single_hi PARAMS ((rtx, enum machine_mode, int));
extern int s390_extract_hi PARAMS ((rtx, enum machine_mode, int));
extern int s390_single_qi PARAMS ((rtx, enum machine_mode, int));
extern int s390_extract_qi PARAMS ((rtx, enum machine_mode, int));
+extern int tls_symbolic_operand PARAMS ((rtx));
extern int s390_match_ccmode PARAMS ((rtx, enum machine_mode));
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 tls_symbolic_reference_mentioned_p PARAMS ((rtx));
+extern rtx s390_tls_get_offset PARAMS ((void));
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));
@@ -60,7 +63,7 @@ extern enum reg_class s390_preferred_reload_class PARAMS ((rtx, enum reg_class))
extern enum reg_class s390_secondary_input_reload_class PARAMS ((enum reg_class, enum machine_mode, rtx));
extern int s390_plus_operand PARAMS ((rtx, enum machine_mode));
extern void s390_expand_plus_operand PARAMS ((rtx, rtx, rtx));
-extern void emit_pic_move PARAMS ((rtx *, enum machine_mode));
+extern void emit_symbolic_move PARAMS ((rtx *));
extern void s390_load_address PARAMS ((rtx, rtx));
extern void s390_expand_movstr PARAMS ((rtx, rtx, rtx));
extern void s390_expand_clrstr PARAMS ((rtx, rtx));
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 3f6ec452b1c..5f4559051d2 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).
@@ -54,6 +54,11 @@ static int s390_adjust_priority PARAMS ((rtx, int));
static void s390_select_rtx_section PARAMS ((enum machine_mode, rtx,
unsigned HOST_WIDE_INT));
static void s390_encode_section_info PARAMS ((tree, int));
+static const char *s390_strip_name_encoding PARAMS ((const char *));
+static bool s390_cannot_force_const_mem PARAMS ((rtx));
+static void s390_init_builtins PARAMS ((void));
+static rtx s390_expand_builtin PARAMS ((tree, rtx, rtx,
+ enum machine_mode, int));
static void s390_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT,
HOST_WIDE_INT, tree));
@@ -81,6 +86,20 @@ static void s390_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT,
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO s390_encode_section_info
+#undef TARGET_STRIP_NAME_ENCODING
+#define TARGET_STRIP_NAME_ENCODING s390_strip_name_encoding
+
+#ifdef HAVE_AS_TLS
+#undef TARGET_HAVE_TLS
+#define TARGET_HAVE_TLS true
+#endif
+#undef TARGET_CANNOT_FORCE_CONST_MEM
+#define TARGET_CANNOT_FORCE_CONST_MEM s390_cannot_force_const_mem
+
+#undef TARGET_INIT_BUILTINS
+#define TARGET_INIT_BUILTINS s390_init_builtins
+#undef TARGET_EXPAND_BUILTIN
+#define TARGET_EXPAND_BUILTIN s390_expand_builtin
#undef TARGET_ASM_OUTPUT_MI_THUNK
#define TARGET_ASM_OUTPUT_MI_THUNK s390_output_mi_thunk
@@ -98,6 +117,9 @@ static int s390_sr_alias_set = 0;
emitted. */
rtx s390_compare_op0, s390_compare_op1;
+/* The encoding characters for the four TLS models present in ELF. */
+static char const tls_model_chars[] = " GLil";
+
/* Structure used to hold the components of a S/390 memory
address. A legitimate address on S/390 is of the general
form
@@ -132,6 +154,9 @@ struct machine_function GTY(())
/* Size of stack frame. */
HOST_WIDE_INT frame_size;
+
+ /* Some local-dynamic TLS symbol name. */
+ const char *some_ld_name;
};
static int s390_match_ccmode_set PARAMS ((rtx, enum machine_mode));
@@ -140,6 +165,10 @@ static const char *s390_branch_condition_mnemonic PARAMS ((rtx, int));
static int check_mode PARAMS ((rtx, enum machine_mode *));
static int general_s_operand PARAMS ((rtx, enum machine_mode, int));
static int s390_decompose_address PARAMS ((rtx, struct s390_address *));
+static rtx get_thread_pointer PARAMS ((void));
+static rtx legitimize_tls_address PARAMS ((rtx, rtx));
+static const char *get_some_local_dynamic_name PARAMS ((void));
+static int get_some_local_dynamic_name_1 PARAMS ((rtx *, void *));
static int reg_used_in_mem_p PARAMS ((int, rtx));
static int addr_generation_dependency_p PARAMS ((rtx, rtx));
static int s390_split_branches PARAMS ((rtx, bool *));
@@ -910,6 +939,8 @@ larl_operand (op, mode)
if (GET_CODE (op) == LABEL_REF)
return 1;
if (GET_CODE (op) == SYMBOL_REF
+ && XSTR (op, 0)[0] != '@'
+ && !tls_symbolic_operand (op)
&& (!flag_pic || SYMBOL_REF_FLAG (op)
|| CONSTANT_POOL_ADDRESS_P (op)))
return 1;
@@ -932,17 +963,23 @@ larl_operand (op, mode)
if (GET_CODE (op) == LABEL_REF)
return 1;
if (GET_CODE (op) == SYMBOL_REF
+ && XSTR (op, 0)[0] != '@'
+ && !tls_symbolic_operand (op)
&& (!flag_pic || SYMBOL_REF_FLAG (op)
|| CONSTANT_POOL_ADDRESS_P (op)))
return 1;
- /* Now we must have a @GOTENT offset or @PLT stub. */
+ /* Now we must have a @GOTENT offset or @PLT stub
+ or an @INDNTPOFF TLS offset. */
if (GET_CODE (op) == UNSPEC
&& XINT (op, 1) == 111)
return 1;
if (GET_CODE (op) == UNSPEC
&& XINT (op, 1) == 113)
return 1;
+ if (GET_CODE (op) == UNSPEC
+ && XINT (op, 1) == UNSPEC_INDNTPOFF)
+ return 1;
return 0;
}
@@ -1091,6 +1128,23 @@ bras_sym_operand (op, mode)
return 0;
}
+/* If OP is a SYMBOL_REF of a thread-local symbol, return its TLS mode,
+ otherwise return 0. */
+
+int
+tls_symbolic_operand (op)
+ register rtx op;
+{
+ const char *symbol_str;
+
+ if (GET_CODE (op) != SYMBOL_REF)
+ return 0;
+ symbol_str = XSTR (op, 0);
+
+ if (symbol_str[0] != '%')
+ return 0;
+ return strchr (tls_model_chars, symbol_str[1]) - tls_model_chars;
+}
/* Return true if OP is a load multiple operation. It is known to be a
PARALLEL and the first section will be tested.
@@ -1250,6 +1304,37 @@ symbolic_reference_mentioned_p (op)
return 0;
}
+/* Return true if OP contains a reference to a thread-local symbol. */
+
+int
+tls_symbolic_reference_mentioned_p (op)
+ rtx op;
+{
+ register const char *fmt;
+ register int i;
+
+ if (GET_CODE (op) == SYMBOL_REF)
+ return tls_symbolic_operand (op);
+
+ fmt = GET_RTX_FORMAT (GET_CODE (op));
+ for (i = GET_RTX_LENGTH (GET_CODE (op)) - 1; i >= 0; i--)
+ {
+ if (fmt[i] == 'E')
+ {
+ register int j;
+
+ for (j = XVECLEN (op, i) - 1; j >= 0; j--)
+ if (tls_symbolic_reference_mentioned_p (XVECEXP (op, i, j)))
+ return 1;
+ }
+
+ else if (fmt[i] == 'e' && tls_symbolic_reference_mentioned_p (XEXP (op, i)))
+ return 1;
+ }
+
+ return 0;
+}
+
/* Return true if OP is a legitimate general operand when
generating PIC code. It is given that flag_pic is on
@@ -1264,7 +1349,7 @@ legitimate_pic_operand_p (op)
return 1;
/* Reject everything else; must be handled
- via emit_pic_move. */
+ via emit_symbolic_move. */
return 0;
}
@@ -1279,22 +1364,87 @@ legitimate_constant_p (op)
if (!SYMBOLIC_CONST (op))
return 1;
+ /* Accept immediate LARL operands. */
+ if (TARGET_64BIT && larl_operand (op, VOIDmode))
+ return 1;
+
+ /* Thread-local symbols are never legal constants. This is
+ so that emit_call knows that computing such addresses
+ might require a function call. */
+ if (TLS_SYMBOLIC_CONST (op))
+ return 0;
+
/* In the PIC case, symbolic constants must *not* be
forced into the literal pool. We accept them here,
- so that they will be handled by emit_pic_move. */
+ so that they will be handled by emit_symbolic_move. */
if (flag_pic)
return 1;
- /* Even in the non-PIC case, we can accept immediate
- LARL operands here. */
- if (TARGET_64BIT)
- return larl_operand (op, VOIDmode);
-
/* All remaining non-PIC symbolic constants are
forced into the literal pool. */
return 0;
}
+/* Determine if it's legal to put X into the constant pool. This
+ is not possible if X contains the address of a symbol that is
+ not constant (TLS) or not known at final link time (PIC). */
+
+static bool
+s390_cannot_force_const_mem (x)
+ rtx x;
+{
+ switch (GET_CODE (x))
+ {
+ case CONST_INT:
+ case CONST_DOUBLE:
+ /* Accept all non-symbolic constants. */
+ return false;
+
+ case LABEL_REF:
+ /* Labels are OK iff we are non-PIC. */
+ return flag_pic != 0;
+
+ case SYMBOL_REF:
+ /* 'Naked' TLS symbol references are never OK,
+ non-TLS symbols are OK iff we are non-PIC. */
+ if (tls_symbolic_operand (x))
+ return true;
+ else
+ return flag_pic != 0;
+
+ case CONST:
+ return s390_cannot_force_const_mem (XEXP (x, 0));
+ case PLUS:
+ case MINUS:
+ return s390_cannot_force_const_mem (XEXP (x, 0))
+ || s390_cannot_force_const_mem (XEXP (x, 1));
+
+ case UNSPEC:
+ switch (XINT (x, 1))
+ {
+ /* Only lt-relative or GOT-relative UNSPECs are OK. */
+ case 100:
+ case 104:
+ case 112:
+ case 114:
+ case UNSPEC_TLSGD:
+ case UNSPEC_TLSLDM:
+ case UNSPEC_NTPOFF:
+ case UNSPEC_DTPOFF:
+ case UNSPEC_GOTNTPOFF:
+ case UNSPEC_INDNTPOFF:
+ return false;
+
+ default:
+ return true;
+ }
+ break;
+
+ default:
+ abort ();
+ }
+}
+
/* Returns true if the constant value OP is a legitimate general
operand during and after reload. The difference to
legitimate_constant_p is that this function will not accept
@@ -1341,23 +1491,14 @@ s390_preferred_reload_class (op, class)
switch (GET_CODE (op))
{
/* Constants we cannot reload must be forced into the
- literal pool. For constants we *could* handle directly,
- it might still be preferable to put them in the pool and
- use a memory-to-memory instruction.
-
- However, try to avoid needlessly allocating a literal
- pool in a routine that wouldn't otherwise need any.
- Heuristically, we assume that 64-bit leaf functions
- typically don't need a literal pool, all others do. */
+ literal pool. */
+
case CONST_DOUBLE:
case CONST_INT:
- if (!legitimate_reload_constant_p (op))
- return NO_REGS;
-
- if (TARGET_64BIT && current_function_is_leaf)
+ if (legitimate_reload_constant_p (op))
return class;
-
- return NO_REGS;
+ else
+ return NO_REGS;
/* If a symbolic constant or a PLUS is reloaded,
it is most likely being used as an address, so
@@ -1546,6 +1687,22 @@ s390_decompose_address (addr, out)
disp = addr; /* displacement */
+ /* Prefer to use pointer as base, not index. */
+ if (base && indx)
+ {
+ int base_ptr = GET_CODE (base) == UNSPEC
+ || (REG_P (base) && REG_POINTER (base));
+ int indx_ptr = GET_CODE (indx) == UNSPEC
+ || (REG_P (indx) && REG_POINTER (indx));
+
+ if (!base_ptr && indx_ptr)
+ {
+ rtx tmp = base;
+ base = indx;
+ indx = tmp;
+ }
+ }
+
/* Validate base register. */
if (base)
{
@@ -1624,10 +1781,11 @@ s390_decompose_address (addr, out)
}
/* In the small-PIC case, the linker converts @GOT12
- offsets to possible displacements. */
+ and @GOTNTPOFF offsets to possible displacements. */
else if (GET_CODE (disp) == CONST
&& GET_CODE (XEXP (disp, 0)) == UNSPEC
- && XINT (XEXP (disp, 0), 1) == 110)
+ && (XINT (XEXP (disp, 0), 1) == 110
+ || XINT (XEXP (disp, 0), 1) == UNSPEC_GOTNTPOFF))
{
if (flag_pic != 1)
return FALSE;
@@ -1677,12 +1835,6 @@ s390_decompose_address (addr, out)
|| !CONSTANT_POOL_ADDRESS_P (disp))
return FALSE;
- /* In 64-bit PIC mode we cannot accept symbolic
- constants in the constant pool. */
- if (TARGET_64BIT && flag_pic
- && SYMBOLIC_CONST (get_pool_constant (disp)))
- return FALSE;
-
/* If we have an offset, make sure it does not
exceed the size of the constant pool entry. */
if (offset && offset >= GET_MODE_SIZE (get_pool_mode (disp)))
@@ -1773,14 +1925,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 +1941,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;
}
@@ -1848,7 +1996,7 @@ legitimize_pic_address (orig, reg)
|| CONSTANT_POOL_ADDRESS_P (addr))))
{
/* This is a local symbol. */
- if (TARGET_64BIT)
+ if (TARGET_64BIT && larl_operand (addr, VOIDmode))
{
/* Access local symbols PC-relative via LARL.
This is the same as in the non-PIC case, so it is
@@ -1860,9 +2008,9 @@ legitimize_pic_address (orig, reg)
rtx temp = reg? reg : gen_reg_rtx (Pmode);
- addr = gen_rtx_UNSPEC (SImode, gen_rtvec (1, addr), 100);
- addr = gen_rtx_CONST (SImode, addr);
- addr = force_const_mem (SImode, addr);
+ addr = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), 100);
+ addr = gen_rtx_CONST (Pmode, addr);
+ addr = force_const_mem (Pmode, addr);
emit_move_insn (temp, addr);
base = gen_rtx_REG (Pmode, BASE_REGISTER);
@@ -1923,9 +2071,9 @@ legitimize_pic_address (orig, reg)
if (reload_in_progress || reload_completed)
regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1;
- addr = gen_rtx_UNSPEC (SImode, gen_rtvec (1, addr), 112);
- addr = gen_rtx_CONST (SImode, addr);
- addr = force_const_mem (SImode, addr);
+ addr = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), 112);
+ addr = gen_rtx_CONST (Pmode, addr);
+ addr = force_const_mem (Pmode, addr);
emit_move_insn (temp, addr);
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
@@ -1951,7 +2099,7 @@ legitimize_pic_address (orig, reg)
case 100:
case 112:
case 114:
- new = force_const_mem (SImode, orig);
+ new = force_const_mem (Pmode, orig);
break;
/* @GOTENT is OK as is. */
@@ -1966,9 +2114,9 @@ legitimize_pic_address (orig, reg)
rtx temp = reg? reg : gen_reg_rtx (Pmode);
addr = XVECEXP (addr, 0, 0);
- addr = gen_rtx_UNSPEC (SImode, gen_rtvec (1, addr), 114);
- addr = gen_rtx_CONST (SImode, addr);
- addr = force_const_mem (SImode, addr);
+ addr = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), 114);
+ addr = gen_rtx_CONST (Pmode, addr);
+ addr = force_const_mem (Pmode, addr);
emit_move_insn (temp, addr);
base = gen_rtx_REG (Pmode, BASE_REGISTER);
@@ -2002,7 +2150,7 @@ legitimize_pic_address (orig, reg)
|| CONSTANT_POOL_ADDRESS_P (op0))))
&& GET_CODE (op1) == CONST_INT)
{
- if (TARGET_64BIT)
+ if (TARGET_64BIT && larl_operand (op0, VOIDmode))
{
if (INTVAL (op1) & 1)
{
@@ -2039,10 +2187,10 @@ legitimize_pic_address (orig, reg)
rtx temp = reg? reg : gen_reg_rtx (Pmode);
- addr = gen_rtx_UNSPEC (SImode, gen_rtvec (1, op0), 100);
- addr = gen_rtx_PLUS (SImode, addr, op1);
- addr = gen_rtx_CONST (SImode, addr);
- addr = force_const_mem (SImode, addr);
+ addr = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op0), 100);
+ addr = gen_rtx_PLUS (Pmode, addr, op1);
+ addr = gen_rtx_CONST (Pmode, addr);
+ addr = force_const_mem (Pmode, addr);
emit_move_insn (temp, addr);
base = gen_rtx_REG (Pmode, BASE_REGISTER);
@@ -2068,7 +2216,7 @@ legitimize_pic_address (orig, reg)
if (XINT (op0, 1) != 100)
abort ();
- new = force_const_mem (SImode, orig);
+ new = force_const_mem (Pmode, orig);
}
/* Otherwise, compute the sum. */
@@ -2098,18 +2246,237 @@ legitimize_pic_address (orig, reg)
return new;
}
+/* Load the thread pointer into a register. */
+
+static rtx
+get_thread_pointer ()
+{
+ rtx tp;
+
+ tp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, const0_rtx), UNSPEC_TP);
+ tp = force_reg (Pmode, tp);
+ mark_reg_pointer (tp, BITS_PER_WORD);
+
+ return tp;
+}
+
+/* Construct the SYMBOL_REF for the tls_get_offset function. */
+
+static GTY(()) rtx s390_tls_symbol;
+rtx
+s390_tls_get_offset ()
+{
+ if (!s390_tls_symbol)
+ s390_tls_symbol = gen_rtx_SYMBOL_REF (Pmode, "__tls_get_offset");
+
+ return s390_tls_symbol;
+}
+
+/* ADDR contains a thread-local SYMBOL_REF. Generate code to compute
+ this (thread-local) address. REG may be used as temporary. */
+
+static rtx
+legitimize_tls_address (addr, reg)
+ rtx addr;
+ rtx reg;
+{
+ rtx new, tls_call, temp, base, r2, insn;
+
+ if (GET_CODE (addr) == SYMBOL_REF)
+ switch (tls_symbolic_operand (addr))
+ {
+ case TLS_MODEL_GLOBAL_DYNAMIC:
+ start_sequence ();
+ r2 = gen_rtx_REG (Pmode, 2);
+ tls_call = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_TLSGD);
+ new = gen_rtx_CONST (Pmode, tls_call);
+ new = force_const_mem (Pmode, new);
+ emit_move_insn (r2, new);
+ emit_call_insn (gen_call_value_tls (r2, tls_call));
+ insn = get_insns ();
+ end_sequence ();
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_NTPOFF);
+ temp = gen_reg_rtx (Pmode);
+ emit_libcall_block (insn, temp, r2, new);
+
+ new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ if (reg != 0)
+ {
+ s390_load_address (reg, new);
+ new = reg;
+ }
+ break;
+
+ case TLS_MODEL_LOCAL_DYNAMIC:
+ start_sequence ();
+ r2 = gen_rtx_REG (Pmode, 2);
+ tls_call = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, const0_rtx), UNSPEC_TLSLDM);
+ new = gen_rtx_CONST (Pmode, tls_call);
+ new = force_const_mem (Pmode, new);
+ emit_move_insn (r2, new);
+ emit_call_insn (gen_call_value_tls (r2, tls_call));
+ insn = get_insns ();
+ end_sequence ();
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, const0_rtx), UNSPEC_TLSLDM_NTPOFF);
+ temp = gen_reg_rtx (Pmode);
+ emit_libcall_block (insn, temp, r2, new);
+
+ new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ base = gen_reg_rtx (Pmode);
+ s390_load_address (base, new);
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_DTPOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ new = force_const_mem (Pmode, new);
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+
+ new = gen_rtx_PLUS (Pmode, base, temp);
+ if (reg != 0)
+ {
+ s390_load_address (reg, new);
+ new = reg;
+ }
+ break;
+
+ case TLS_MODEL_INITIAL_EXEC:
+ if (flag_pic == 1)
+ {
+ /* Assume GOT offset < 4k. This is handled the same way
+ in both 31- and 64-bit code. */
+
+ if (reload_in_progress || reload_completed)
+ regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1;
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOTNTPOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
+ new = gen_rtx_MEM (Pmode, new);
+ RTX_UNCHANGING_P (new) = 1;
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+ }
+ else if (TARGET_64BIT)
+ {
+ /* If the GOT offset might be >= 4k, we determine the position
+ of the GOT entry via a PC-relative LARL. */
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_INDNTPOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+
+ new = gen_rtx_MEM (Pmode, temp);
+ RTX_UNCHANGING_P (new) = 1;
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+ }
+ else if (flag_pic)
+ {
+ /* If the GOT offset might be >= 4k, we have to load it
+ from the literal pool. */
+
+ if (reload_in_progress || reload_completed)
+ regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1;
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOTNTPOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ new = force_const_mem (Pmode, new);
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+
+ new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
+ new = gen_rtx_MEM (Pmode, new);
+ RTX_UNCHANGING_P (new) = 1;
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, new, addr), UNSPEC_TLS_LOAD);
+ temp = gen_reg_rtx (Pmode);
+ emit_insn (gen_rtx_SET (Pmode, temp, new));
+ }
+ else
+ {
+ /* In position-dependent code, load the absolute address of
+ the GOT entry from the literal pool. */
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_INDNTPOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ new = force_const_mem (Pmode, new);
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+
+ new = temp;
+ new = gen_rtx_MEM (Pmode, new);
+ RTX_UNCHANGING_P (new) = 1;
+
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, new, addr), UNSPEC_TLS_LOAD);
+ temp = gen_reg_rtx (Pmode);
+ emit_insn (gen_rtx_SET (Pmode, temp, new));
+ }
+
+ new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ if (reg != 0)
+ {
+ s390_load_address (reg, new);
+ new = reg;
+ }
+ break;
+
+ case TLS_MODEL_LOCAL_EXEC:
+ new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_NTPOFF);
+ new = gen_rtx_CONST (Pmode, new);
+ new = force_const_mem (Pmode, new);
+ temp = gen_reg_rtx (Pmode);
+ emit_move_insn (temp, new);
+
+ new = gen_rtx_PLUS (Pmode, get_thread_pointer (), temp);
+ if (reg != 0)
+ {
+ s390_load_address (reg, new);
+ new = reg;
+ }
+ break;
+
+ default:
+ abort ();
+ }
+
+ else if (GET_CODE (addr) == CONST && GET_CODE (XEXP (addr, 0)) == UNSPEC)
+ {
+ switch (XINT (XEXP (addr, 0), 1))
+ {
+ case UNSPEC_INDNTPOFF:
+ if (TARGET_64BIT)
+ new = addr;
+ else
+ abort ();
+ break;
+
+ default:
+ abort ();
+ }
+ }
+
+ else
+ abort (); /* for now ... */
+
+ return new;
+}
+
/* Emit insns to move operands[1] into operands[0]. */
void
-emit_pic_move (operands, mode)
+emit_symbolic_move (operands)
rtx *operands;
- enum machine_mode mode ATTRIBUTE_UNUSED;
{
rtx temp = no_new_pseudos ? operands[0] : gen_reg_rtx (Pmode);
- if (GET_CODE (operands[0]) == MEM && SYMBOLIC_CONST (operands[1]))
+ if (GET_CODE (operands[0]) == MEM)
operands[1] = force_reg (Pmode, operands[1]);
- else
+ else if (TLS_SYMBOLIC_CONST (operands[1]))
+ operands[1] = legitimize_tls_address (operands[1], temp);
+ else if (flag_pic)
operands[1] = legitimize_pic_address (operands[1], temp);
}
@@ -2132,7 +2499,14 @@ legitimize_address (x, oldx, mode)
{
rtx constant_term = const0_rtx;
- if (flag_pic)
+ if (TLS_SYMBOLIC_CONST (x))
+ {
+ x = legitimize_tls_address (x, 0);
+
+ if (legitimate_address_p (mode, x, FALSE))
+ return x;
+ }
+ else if (flag_pic)
{
if (SYMBOLIC_CONST (x)
|| (GET_CODE (x) == PLUS
@@ -2420,7 +2794,7 @@ s390_expand_cmpstr (target, op0, op1, len)
emit_move_insn (target, const0_rtx);
}
- else if (TARGET_MVCLE)
+ else /* if (TARGET_MVCLE) */
{
enum machine_mode double_mode = TARGET_64BIT ? TImode : DImode;
enum machine_mode single_mode = TARGET_64BIT ? DImode : SImode;
@@ -2439,6 +2813,9 @@ s390_expand_cmpstr (target, op0, op1, len)
emit_insn ((*gen_result) (target));
}
+#if 0
+ /* Deactivate for now as profile code cannot cope with
+ CC being live across basic block boundaries. */
else
{
rtx addr0, addr1, count, blocks, temp;
@@ -2504,6 +2881,7 @@ s390_expand_cmpstr (target, op0, op1, len)
emit_insn ((*gen_result) (target));
}
+#endif
}
/* In the name of slightly smaller debug output, and to cater to
@@ -2544,6 +2922,48 @@ s390_simplify_dwarf_addr (orig_x)
return orig_x;
}
+/* Locate some local-dynamic symbol still in use by this function
+ so that we can print its name in local-dynamic base patterns. */
+
+static const char *
+get_some_local_dynamic_name ()
+{
+ rtx insn;
+
+ if (cfun->machine->some_ld_name)
+ return cfun->machine->some_ld_name;
+
+ for (insn = get_insns (); insn ; insn = NEXT_INSN (insn))
+ if (INSN_P (insn)
+ && for_each_rtx (&PATTERN (insn), get_some_local_dynamic_name_1, 0))
+ return cfun->machine->some_ld_name;
+
+ abort ();
+}
+
+static int
+get_some_local_dynamic_name_1 (px, data)
+ rtx *px;
+ void *data ATTRIBUTE_UNUSED;
+{
+ rtx x = *px;
+
+ if (GET_CODE (x) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P (x))
+ {
+ x = get_pool_constant (x);
+ return for_each_rtx (&x, get_some_local_dynamic_name_1, 0);
+ }
+
+ if (GET_CODE (x) == SYMBOL_REF
+ && tls_symbolic_operand (x) == TLS_MODEL_LOCAL_DYNAMIC)
+ {
+ cfun->machine->some_ld_name = XSTR (x, 0);
+ return 1;
+ }
+
+ return 0;
+}
+
/* Output symbolic constant X in assembler syntax to
stdio stream FILE. */
@@ -2616,6 +3036,30 @@ s390_output_symbolic_const (file, x)
fprintf (file, "@PLT-");
s390_output_symbolic_const (file, cfun->machine->literal_pool_label);
break;
+ case UNSPEC_TLSGD:
+ s390_output_symbolic_const (file, XVECEXP (x, 0, 0));
+ fprintf (file, "@TLSGD");
+ break;
+ case UNSPEC_TLSLDM:
+ assemble_name (file, get_some_local_dynamic_name ());
+ fprintf (file, "@TLSLDM");
+ break;
+ case UNSPEC_DTPOFF:
+ s390_output_symbolic_const (file, XVECEXP (x, 0, 0));
+ fprintf (file, "@DTPOFF");
+ break;
+ case UNSPEC_NTPOFF:
+ s390_output_symbolic_const (file, XVECEXP (x, 0, 0));
+ fprintf (file, "@NTPOFF");
+ break;
+ case UNSPEC_GOTNTPOFF:
+ s390_output_symbolic_const (file, XVECEXP (x, 0, 0));
+ fprintf (file, "@GOTNTPOFF");
+ break;
+ case UNSPEC_INDNTPOFF:
+ s390_output_symbolic_const (file, XVECEXP (x, 0, 0));
+ fprintf (file, "@INDNTPOFF");
+ break;
default:
output_operand_lossage ("invalid UNSPEC as operand (2)");
break;
@@ -2661,6 +3105,7 @@ print_operand_address (file, addr)
'C': print opcode suffix for branch condition.
'D': print opcode suffix for inverse branch condition.
+ 'J': print tls_load/tls_gdcall/tls_ldcall suffix
'O': print only the displacement of a memory reference.
'R': print only the base register of a memory reference.
'N': print the second word of a DImode operand.
@@ -2686,6 +3131,26 @@ print_operand (file, x, code)
fprintf (file, s390_branch_condition_mnemonic (x, TRUE));
return;
+ case 'J':
+ if (GET_CODE (x) == SYMBOL_REF)
+ {
+ fprintf (file, "%s", ":tls_load:");
+ output_addr_const (file, x);
+ }
+ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_TLSGD)
+ {
+ fprintf (file, "%s", ":tls_gdcall:");
+ output_addr_const (file, XVECEXP (x, 0, 0));
+ }
+ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_TLSLDM)
+ {
+ fprintf (file, "%s", ":tls_ldcall:");
+ assemble_name (file, get_some_local_dynamic_name ());
+ }
+ else
+ abort ();
+ return;
+
case 'O':
{
struct s390_address ad;
@@ -4126,11 +4591,21 @@ s390_optimize_prolog (temp_regno)
for (i = 6; i < 16; i++)
if (regs_ever_live[i])
- break;
+ if (!global_regs[i]
+ || i == STACK_POINTER_REGNUM
+ || i == RETURN_REGNUM
+ || i == BASE_REGISTER
+ || (flag_pic && i == (int)PIC_OFFSET_TABLE_REGNUM))
+ break;
for (j = 15; j > i; j--)
if (regs_ever_live[j])
- break;
+ if (!global_regs[j]
+ || j == STACK_POINTER_REGNUM
+ || j == RETURN_REGNUM
+ || j == BASE_REGISTER
+ || (flag_pic && j == (int)PIC_OFFSET_TABLE_REGNUM))
+ break;
if (i == 16)
{
@@ -4242,6 +4717,12 @@ s390_fixup_clobbered_return_reg (return_reg)
bool replacement_done = 0;
rtx insn;
+ /* If we never called __builtin_return_address, register 14
+ might have been used as temp during the prolog; we do
+ not want to touch those uses. */
+ if (!has_hard_reg_initial_val (Pmode, REGNO (return_reg)))
+ return false;
+
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
{
rtx reg, off, new_insn;
@@ -4424,7 +4905,7 @@ s390_frame_info ()
cfun->machine->save_fprs_p = 0;
if (TARGET_64BIT)
for (i = 24; i < 32; i++)
- if (regs_ever_live[i])
+ if (regs_ever_live[i] && !global_regs[i])
{
cfun->machine->save_fprs_p = 1;
break;
@@ -4448,8 +4929,11 @@ s390_frame_info ()
prolog/epilog code is modified again. */
for (i = 0; i < 16; i++)
- gprs_ever_live[i] = regs_ever_live[i];
+ gprs_ever_live[i] = regs_ever_live[i] && !global_regs[i];
+ if (flag_pic)
+ gprs_ever_live[PIC_OFFSET_TABLE_REGNUM] =
+ regs_ever_live[PIC_OFFSET_TABLE_REGNUM];
gprs_ever_live[BASE_REGISTER] = 1;
gprs_ever_live[RETURN_REGNUM] = 1;
gprs_ever_live[STACK_POINTER_REGNUM] = cfun->machine->frame_size > 0;
@@ -4486,7 +4970,7 @@ s390_arg_frame_offset ()
save_fprs_p = 0;
if (TARGET_64BIT)
for (i = 24; i < 32; i++)
- if (regs_ever_live[i])
+ if (regs_ever_live[i] && !global_regs[i])
{
save_fprs_p = 1;
break;
@@ -4715,12 +5199,12 @@ s390_emit_prologue ()
if (!TARGET_64BIT)
{
/* Save fpr 4 and 6. */
- if (regs_ever_live[18])
+ if (regs_ever_live[18] && !global_regs[18])
{
insn = save_fpr (stack_pointer_rtx, STACK_POINTER_OFFSET - 16, 18);
RTX_FRAME_RELATED_P (insn) = 1;
}
- if (regs_ever_live[19])
+ if (regs_ever_live[19] && !global_regs[19])
{
insn = save_fpr (stack_pointer_rtx, STACK_POINTER_OFFSET - 8, 19);
RTX_FRAME_RELATED_P (insn) = 1;
@@ -4763,6 +5247,16 @@ s390_emit_prologue ()
set_mem_alias_set (addr, s390_sr_alias_set);
insn = emit_insn (gen_move_insn (addr, temp_reg));
}
+
+ /* If we support asynchronous exceptions (e.g. for Java),
+ we need to make sure the backchain pointer is set up
+ before any possibly trapping memory access. */
+
+ if (TARGET_BACKCHAIN && flag_non_call_exceptions)
+ {
+ addr = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode));
+ emit_insn (gen_rtx_CLOBBER (VOIDmode, addr));
+ }
}
/* Save fprs 8 - 15 (64 bit ABI). */
@@ -4772,7 +5266,7 @@ s390_emit_prologue ()
insn = emit_insn (gen_add2_insn (temp_reg, GEN_INT(-64)));
for (i = 24; i < 32; i++)
- if (regs_ever_live[i])
+ if (regs_ever_live[i] && !global_regs[i])
{
rtx addr = plus_constant (stack_pointer_rtx,
cfun->machine->frame_size - 64 + (i-24)*8);
@@ -4823,8 +5317,10 @@ s390_emit_prologue ()
REG_NOTES(insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, NULL_RTX,
REG_NOTES (insn));
- insn = emit_insn (gen_add2_insn (pic_offset_table_rtx,
- gen_rtx_REG (Pmode, BASE_REGISTER)));
+ got_symbol = gen_rtx_REG (Pmode, BASE_REGISTER);
+ got_symbol = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, got_symbol), 101);
+ got_symbol = gen_rtx_PLUS (Pmode, got_symbol, pic_offset_table_rtx);
+ insn = emit_move_insn (pic_offset_table_rtx, got_symbol);
REG_NOTES(insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, NULL_RTX,
REG_NOTES (insn));
}
@@ -4870,14 +5366,14 @@ s390_emit_epilogue ()
}
else
{
- if (regs_ever_live[18])
+ if (regs_ever_live[18] && !global_regs[18])
{
if (area_bottom > STACK_POINTER_OFFSET - 16)
area_bottom = STACK_POINTER_OFFSET - 16;
if (area_top < STACK_POINTER_OFFSET - 8)
area_top = STACK_POINTER_OFFSET - 8;
}
- if (regs_ever_live[19])
+ if (regs_ever_live[19] && !global_regs[19])
{
if (area_bottom > STACK_POINTER_OFFSET - 8)
area_bottom = STACK_POINTER_OFFSET - 8;
@@ -5447,6 +5943,134 @@ s390_va_arg (valist, type)
}
+/* Builtins. */
+
+enum s390_builtin
+{
+ S390_BUILTIN_THREAD_POINTER,
+ S390_BUILTIN_SET_THREAD_POINTER,
+
+ S390_BUILTIN_max
+};
+
+static unsigned int const code_for_builtin_64[S390_BUILTIN_max] = {
+ CODE_FOR_get_tp_64,
+ CODE_FOR_set_tp_64
+};
+
+static unsigned int const code_for_builtin_31[S390_BUILTIN_max] = {
+ CODE_FOR_get_tp_31,
+ CODE_FOR_set_tp_31
+};
+
+static void
+s390_init_builtins ()
+{
+ tree ftype;
+
+ ftype = build_function_type (ptr_type_node, void_list_node);
+ builtin_function ("__builtin_thread_pointer", ftype,
+ S390_BUILTIN_THREAD_POINTER, BUILT_IN_MD,
+ NULL, NULL_TREE);
+
+ ftype = build_function_type_list (void_type_node, ptr_type_node, NULL_TREE);
+ builtin_function ("__builtin_set_thread_pointer", ftype,
+ S390_BUILTIN_SET_THREAD_POINTER, BUILT_IN_MD,
+ NULL, NULL_TREE);
+}
+
+/* Expand an expression EXP that calls a built-in function,
+ with result going to TARGET if that's convenient
+ (and in mode MODE if that's convenient).
+ SUBTARGET may be used as the target for computing one of EXP's operands.
+ IGNORE is nonzero if the value is to be ignored. */
+
+static rtx
+s390_expand_builtin (exp, target, subtarget, mode, ignore)
+ tree exp;
+ rtx target;
+ rtx subtarget ATTRIBUTE_UNUSED;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+ int ignore ATTRIBUTE_UNUSED;
+{
+#define MAX_ARGS 2
+
+ unsigned int const *code_for_builtin =
+ TARGET_64BIT ? code_for_builtin_64 : code_for_builtin_31;
+
+ tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0);
+ unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
+ tree arglist = TREE_OPERAND (exp, 1);
+ enum insn_code icode;
+ rtx op[MAX_ARGS], pat;
+ int arity;
+ bool nonvoid;
+
+ if (fcode >= S390_BUILTIN_max)
+ internal_error ("bad builtin fcode");
+ icode = code_for_builtin[fcode];
+ if (icode == 0)
+ internal_error ("bad builtin fcode");
+
+ nonvoid = TREE_TYPE (TREE_TYPE (fndecl)) != void_type_node;
+
+ for (arglist = TREE_OPERAND (exp, 1), arity = 0;
+ arglist;
+ arglist = TREE_CHAIN (arglist), arity++)
+ {
+ const struct insn_operand_data *insn_op;
+
+ tree arg = TREE_VALUE (arglist);
+ if (arg == error_mark_node)
+ return NULL_RTX;
+ if (arity > MAX_ARGS)
+ return NULL_RTX;
+
+ insn_op = &insn_data[icode].operand[arity + nonvoid];
+
+ op[arity] = expand_expr (arg, NULL_RTX, insn_op->mode, 0);
+
+ if (!(*insn_op->predicate) (op[arity], insn_op->mode))
+ op[arity] = copy_to_mode_reg (insn_op->mode, op[arity]);
+ }
+
+ if (nonvoid)
+ {
+ enum machine_mode tmode = insn_data[icode].operand[0].mode;
+ if (!target
+ || GET_MODE (target) != tmode
+ || !(*insn_data[icode].operand[0].predicate) (target, tmode))
+ target = gen_reg_rtx (tmode);
+ }
+
+ switch (arity)
+ {
+ case 0:
+ pat = GEN_FCN (icode) (target);
+ break;
+ case 1:
+ if (nonvoid)
+ pat = GEN_FCN (icode) (target, op[0]);
+ else
+ pat = GEN_FCN (icode) (op[0]);
+ break;
+ case 2:
+ pat = GEN_FCN (icode) (target, op[0], op[1]);
+ break;
+ default:
+ abort ();
+ }
+ if (!pat)
+ return NULL_RTX;
+ emit_insn (pat);
+
+ if (nonvoid)
+ return target;
+ else
+ return const0_rtx;
+}
+
+
/* Output assembly code for the trampoline template to
stdio stream FILE.
@@ -5606,28 +6230,104 @@ s390_select_rtx_section (mode, x, align)
function_section (current_function_decl);
}
-/* If using PIC, mark a SYMBOL_REF for a non-global symbol so that we
- may access it directly in the GOT. */
+/* Encode symbol attributes (local vs. global, tls model) of a SYMBOL_REF
+ into its name and SYMBOL_REF_FLAG. */
static void
s390_encode_section_info (decl, first)
tree decl;
int first ATTRIBUTE_UNUSED;
{
+ bool local_p = (*targetm.binds_local_p) (decl);
+ rtx rtl, symbol;
+
+ rtl = DECL_P (decl) ? DECL_RTL (decl) : TREE_CST_RTL (decl);
+ if (GET_CODE (rtl) != MEM)
+ return;
+ symbol = XEXP (rtl, 0);
+ if (GET_CODE (symbol) != SYMBOL_REF)
+ return;
+
+ /* When using PIC, SYMBOL_REF_FLAG marks non-global symbols
+ that can be accessed directly. */
if (flag_pic)
+ SYMBOL_REF_FLAG (symbol) = local_p;
+
+ /* Encode thread-local data with %[GLil] for "global dynamic",
+ "local dynamic", "initial exec" or "local exec" TLS models,
+ respectively. */
+
+ if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL (decl))
{
- rtx rtl = (TREE_CODE_CLASS (TREE_CODE (decl)) != 'd'
- ? TREE_CST_RTL (decl) : DECL_RTL (decl));
+ const char *symbol_str = XSTR (symbol, 0);
+ char *newstr;
+ size_t len;
+ enum tls_model kind = decl_tls_model (decl);
+
+ if (!flag_pic)
+ {
+ /* We don't allow non-pic code for shared libraries,
+ so don't generate GD/LD TLS models for non-pic code. */
+ switch (kind)
+ {
+ case TLS_MODEL_GLOBAL_DYNAMIC:
+ kind = TLS_MODEL_INITIAL_EXEC; break;
+ case TLS_MODEL_LOCAL_DYNAMIC:
+ kind = TLS_MODEL_LOCAL_EXEC; break;
+ default:
+ break;
+ }
+ }
- if (GET_CODE (rtl) == MEM)
+ if (symbol_str[0] == '%')
{
- SYMBOL_REF_FLAG (XEXP (rtl, 0))
- = (TREE_CODE_CLASS (TREE_CODE (decl)) != 'd'
- || ! TREE_PUBLIC (decl));
+ if (symbol_str[1] == tls_model_chars[kind])
+ return;
+ symbol_str += 2;
}
+ len = strlen (symbol_str) + 1;
+ newstr = alloca (len + 2);
+
+ newstr[0] = '%';
+ newstr[1] = tls_model_chars[kind];
+ memcpy (newstr + 2, symbol_str, len);
+
+ XSTR (symbol, 0) = ggc_alloc_string (newstr, len + 2 - 1);
+ }
+
+ /* If a variable has a forced alignment to < 2 bytes, mark it
+ with '@' to prevent it from being used as LARL operand. */
+
+ else if (TREE_CODE (decl) == VAR_DECL
+ && DECL_USER_ALIGN (decl) && DECL_ALIGN (decl) < 16
+ && XSTR (symbol, 0)[0] != '@')
+ {
+ const char *symbol_str = XSTR (symbol, 0);
+ size_t len = strlen (symbol_str) + 1;
+ char *newstr = alloca (len + 1);
+
+ newstr[0] = '@';
+ memcpy (newstr + 1, symbol_str, len);
+
+ XSTR (symbol, 0) = ggc_alloc_string (newstr, len + 1 - 1);
}
}
+/* Undo the above when printing symbol names. */
+
+static const char *
+s390_strip_name_encoding (str)
+ const char *str;
+{
+ if (str[0] == '%')
+ str += 2;
+ if (str[0] == '@')
+ str += 1;
+ if (str[0] == '*')
+ str += 1;
+ return str;
+}
+
/* Output thunk to FILE that implements a C++ virtual function call (with
multiple inheritance) to FUNCTION. The thunk adjusts the this pointer
by DELTA, and unless VCALL_OFFSET is zero, applies an additional adjustment
@@ -5642,13 +6342,16 @@ s390_output_mi_thunk (file, thunk, delta, vcall_offset, function)
HOST_WIDE_INT vcall_offset;
tree function;
{
- rtx op[9];
+ rtx op[10];
+ int nonlocal = 0;
/* Operand 0 is the target function. */
op[0] = XEXP (DECL_RTL (function), 0);
if (flag_pic && !SYMBOL_REF_FLAG (op[0]))
{
- op[0] = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op[0]), 113);
+ nonlocal = 1;
+ op[0] = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op[0]),
+ TARGET_64BIT ? 113 : flag_pic == 2 ? 112 : 110);
op[0] = gen_rtx_CONST (Pmode, op[0]);
}
@@ -5673,6 +6376,9 @@ s390_output_mi_thunk (file, thunk, delta, vcall_offset, function)
op[7] = NULL_RTX;
op[8] = NULL_RTX;
+ /* Operand 9 can be used for temporary register. */
+ op[9] = NULL_RTX;
+
/* Generate code. */
if (TARGET_64BIT)
{
@@ -5798,14 +6504,39 @@ s390_output_mi_thunk (file, thunk, delta, vcall_offset, function)
/* Jump to target. */
op[8] = gen_label_rtx ();
+
if (!flag_pic)
output_asm_insn ("l\t%4,%8-%5(%4)", op);
- else
+ else if (!nonlocal)
output_asm_insn ("a\t%4,%8-%5(%4)", op);
+ /* We cannot call through .plt, since .plt requires %r12 loaded. */
+ else if (flag_pic == 1)
+ {
+ output_asm_insn ("a\t%4,%8-%5(%4)", op);
+ output_asm_insn ("l\t%4,%0(%4)", op);
+ }
+ else if (flag_pic == 2)
+ {
+ op[9] = gen_rtx_REG (Pmode, 0);
+ output_asm_insn ("l\t%9,%8-4-%5(%4)", op);
+ output_asm_insn ("a\t%4,%8-%5(%4)", op);
+ output_asm_insn ("ar\t%4,%9", op);
+ output_asm_insn ("l\t%4,0(%4)", op);
+ }
+
output_asm_insn ("br\t%4", op);
/* Output literal pool. */
output_asm_insn (".align\t4", op);
+
+ if (nonlocal && flag_pic == 2)
+ output_asm_insn (".long\t%0", op);
+ if (nonlocal)
+ {
+ op[0] = gen_rtx_SYMBOL_REF (Pmode, "_GLOBAL_OFFSET_TABLE_");
+ SYMBOL_REF_FLAG (op[0]) = 1;
+ }
+
ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (op[8]));
if (!flag_pic)
output_asm_insn (".long\t%0", op);
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 23721588c0f..566cd8241dc 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.
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
/* Override the __fixdfdi etc. routines when building libgcc2.
??? This should be done in a cleaner way ... */
-#ifdef IN_LIBGCC2
+#if defined (IN_LIBGCC2) && !defined (__s390x__)
#include <s390/fixdfdi.h>
#endif
@@ -69,7 +69,7 @@ extern int target_flags;
{ "soft-float", -1, N_("Don't use hardware fp")}, \
{ "backchain", 2, N_("Set backchain")}, \
{ "no-backchain", -2, N_("Don't set backchain (faster, but debug harder")}, \
- { "small-exec", 4, N_("Use bras for execucable < 64k")}, \
+ { "small-exec", 4, N_("Use bras for executable < 64k")}, \
{ "no-small-exec",-4, N_("Don't use bras")}, \
{ "debug", 8, N_("Additional debug prints")}, \
{ "no-debug", -8, N_("Don't print additional debug prints")}, \
@@ -94,6 +94,17 @@ extern int target_flags;
#define CAN_DEBUG_WITHOUT_FP
+/* In libgcc2, determine target settings as compile-time constants. */
+#ifdef IN_LIBGCC2
+#undef TARGET_64BIT
+#ifdef __s390x__
+#define TARGET_64BIT 1
+#else
+#define TARGET_64BIT 0
+#endif
+#endif
+
+
/* Target machine storage layout. */
/* Everything is big-endian. */
@@ -103,7 +114,9 @@ extern int target_flags;
/* Width of a word, in units (bytes). */
#define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4)
+#ifndef IN_LIBGCC2
#define MIN_UNITS_PER_WORD 4
+#endif
#define MAX_BITS_PER_WORD 64
/* Function arguments and return values are promoted to word size. */
@@ -195,11 +208,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 +329,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) \
@@ -330,8 +347,9 @@ do \
/* If a 4-byte value is loaded into a FPR, it is placed into the
*upper* half of the register, not the lower. Therefore, we
cannot use SUBREGs to switch between modes in FP registers. */
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
- (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) ? FP_REGS : NO_REGS)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
+ ? reg_classes_intersect_p (FP_REGS, CLASS) : 0)
/* Register classes. */
@@ -492,7 +510,6 @@ extern int current_function_outgoing_args_size;
/* Describe how we implement __builtin_eh_return. */
#define EH_RETURN_DATA_REGNO(N) ((N) < 4 ? (N) + 6 : INVALID_REGNUM)
-#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, 10)
#define EH_RETURN_HANDLER_RTX \
gen_rtx_MEM (Pmode, plus_constant (arg_pointer_rtx, \
TARGET_64BIT? -48 : -40))
@@ -749,6 +766,10 @@ CUMULATIVE_ARGS;
|| GET_CODE (X) == LABEL_REF \
|| (GET_CODE (X) == CONST && symbolic_reference_mentioned_p (X)))
+#define TLS_SYMBOLIC_CONST(X) \
+((GET_CODE (X) == SYMBOL_REF && tls_symbolic_operand (X)) \
+ || (GET_CODE (X) == CONST && tls_symbolic_reference_mentioned_p (X)))
+
/* Condition codes. */
@@ -926,6 +947,10 @@ extern int flag_pic;
#define ASM_OUTPUT_SKIP(FILE, SIZE) \
fprintf ((FILE), "\t.set\t.,.+%u\n", (SIZE))
+/* Output a reference to a user-level label named NAME. */
+#define ASM_OUTPUT_LABELREF(FILE, NAME) \
+ asm_fprintf ((FILE), "%U%s", (*targetm.strip_name_encoding) (NAME))
+
/* Store in OUTPUT a string (made with alloca) containing
an assembler-name for a local static variable named NAME.
LABELNO is an integer which is different for each call. */
@@ -1014,10 +1039,9 @@ extern int s390_nr_constants;
\
case MODE_INT: \
case MODE_PARTIAL_INT: \
- if (flag_pic \
- && (GET_CODE (EXP) == CONST \
- || GET_CODE (EXP) == SYMBOL_REF \
- || GET_CODE (EXP) == LABEL_REF )) \
+ if (GET_CODE (EXP) == CONST \
+ || GET_CODE (EXP) == SYMBOL_REF \
+ || GET_CODE (EXP) == LABEL_REF) \
{ \
fputs (integer_asm_op (UNITS_PER_WORD, TRUE), FILE); \
s390_output_symbolic_const (FILE, EXP); \
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 197aa67ebcb..8f7df95652a 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.
@@ -44,6 +44,34 @@
;; s_operand -- Matches a valid S operand in a RS, SI or SS type instruction.
;;
+;;
+;; UNSPEC usage
+;;
+
+(define_constants
+ [; TLS relocation specifiers
+ (UNSPEC_TLSGD 500)
+ (UNSPEC_TLSLDM 501)
+ (UNSPEC_NTPOFF 502)
+ (UNSPEC_DTPOFF 503)
+ (UNSPEC_GOTNTPOFF 504)
+ (UNSPEC_INDNTPOFF 505)
+
+ ; TLS support
+ (UNSPEC_TP 510)
+ (UNSPEC_TLSLDM_NTPOFF 511)
+ (UNSPEC_TLS_LOAD 512)
+ ])
+
+;;
+;; UNSPEC_VOLATILE usage
+;;
+
+(define_constants
+ [; TLS support
+ (UNSPECV_SET_TP 500)
+ ])
+
;; Define an insn type attribute. This is used in function unit delay
;; computations.
@@ -500,6 +528,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 +574,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")
@@ -780,8 +857,8 @@
;
(define_insn "movti"
- [(set (match_operand:TI 0 "nonimmediate_operand" "=d,Q,d,m,Q")
- (match_operand:TI 1 "general_operand" "Q,d,dKm,d,Q"))]
+ [(set (match_operand:TI 0 "nonimmediate_operand" "=d,Q,d,o,Q")
+ (match_operand:TI 1 "general_operand" "Q,d,dKo,d,Q"))]
"TARGET_64BIT"
"@
lmg\\t%0,%N0,%1
@@ -844,18 +921,15 @@
; movdi instruction pattern(s).
;
-;; If generating PIC code and operands[1] is a symbolic CONST, emit a
-;; move to get the address of the symbolic object from the GOT.
-
(define_expand "movdi"
[(set (match_operand:DI 0 "general_operand" "")
(match_operand:DI 1 "general_operand" ""))]
""
"
{
- /* Handle PIC symbolic constants. */
- if (TARGET_64BIT && flag_pic && SYMBOLIC_CONST (operands[1]))
- emit_pic_move (operands, DImode);
+ /* Handle symbolic constants. */
+ if (TARGET_64BIT && SYMBOLIC_CONST (operands[1]))
+ emit_symbolic_move (operands);
/* During and after reload, we need to force constants
to the literal pool ourselves, if necessary. */
@@ -910,8 +984,8 @@
(set_attr "type" "la")])
(define_insn "*movdi_64"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,m,!*f,!*f,!m,Q")
- (match_operand:DI 1 "general_operand" "d,m,d,*f,m,*f,Q"))]
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,m,!*f,!*f,!m,?Q")
+ (match_operand:DI 1 "general_operand" "d,m,d,*f,m,*f,?Q"))]
"TARGET_64BIT"
"@
lgr\\t%0,%1
@@ -925,8 +999,8 @@
(set_attr "atype" "reg,mem,mem,reg,mem,mem,mem")])
(define_insn "*movdi_31"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,Q,d,m,!*f,!*f,!m,Q")
- (match_operand:DI 1 "general_operand" "Q,d,dKm,d,*f,m,*f,Q"))]
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,Q,d,o,!*f,!*f,!m,Q")
+ (match_operand:DI 1 "general_operand" "Q,d,dKo,d,*f,m,*f,Q"))]
"!TARGET_64BIT"
"@
lm\\t%0,%N0,%1
@@ -1008,18 +1082,15 @@
; movsi instruction pattern(s).
;
-;; If generating PIC code and operands[1] is a symbolic CONST, emit a
-;; move to get the address of the symbolic object from the GOT.
-
(define_expand "movsi"
[(set (match_operand:SI 0 "general_operand" "")
(match_operand:SI 1 "general_operand" ""))]
""
"
{
- /* Handle PIC symbolic constants. */
- if (!TARGET_64BIT && flag_pic && SYMBOLIC_CONST (operands[1]))
- emit_pic_move (operands, SImode);
+ /* Handle symbolic constants. */
+ if (!TARGET_64BIT && SYMBOLIC_CONST (operands[1]))
+ emit_symbolic_move (operands);
/* expr.c tries to load an effective address using
force_reg. This fails because we don't have a
@@ -1072,8 +1143,8 @@
[(set_attr "op_type" "RI")])
(define_insn "*movsi"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,m,!*f,!*f,!m,Q")
- (match_operand:SI 1 "general_operand" "d,m,d,*f,m,*f,Q"))]
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,m,!*f,!*f,!m,?Q")
+ (match_operand:SI 1 "general_operand" "d,m,d,*f,m,*f,?Q"))]
""
"@
lr\\t%0,%1
@@ -1102,8 +1173,8 @@
;
(define_insn "movhi"
- [(set (match_operand:HI 0 "nonimmediate_operand" "=d,d,d,m,Q")
- (match_operand:HI 1 "general_operand" "d,n,m,d,Q"))]
+ [(set (match_operand:HI 0 "nonimmediate_operand" "=d,d,d,m,?Q")
+ (match_operand:HI 1 "general_operand" "d,n,m,d,?Q"))]
""
"@
lr\\t%0,%1
@@ -1129,8 +1200,8 @@
;
(define_insn "movqi_64"
- [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,m,Q,Q")
- (match_operand:QI 1 "general_operand" "d,n,m,d,n,Q"))]
+ [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,m,Q,?Q")
+ (match_operand:QI 1 "general_operand" "d,n,m,d,n,?Q"))]
"TARGET_64BIT"
"@
lr\\t%0,%1
@@ -1144,8 +1215,8 @@
(define_insn "movqi"
- [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,m,Q,Q")
- (match_operand:QI 1 "general_operand" "d,n,m,d,n,Q"))]
+ [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,m,Q,?Q")
+ (match_operand:QI 1 "general_operand" "d,n,m,d,n,?Q"))]
""
"@
lr\\t%0,%1
@@ -1226,8 +1297,8 @@
}")
(define_insn "*movdf_64"
- [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,m,d,d,m,Q")
- (match_operand:DF 1 "general_operand" "f,m,f,d,m,d,Q"))]
+ [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,m,d,d,m,?Q")
+ (match_operand:DF 1 "general_operand" "f,m,f,d,m,d,?Q"))]
"TARGET_64BIT"
"@
ldr\\t%0,%1
@@ -1241,8 +1312,8 @@
(set_attr "atype" "reg,mem,mem,reg,mem,mem,mem")])
(define_insn "*movdf_31"
- [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,m,d,Q,d,m,Q")
- (match_operand:DF 1 "general_operand" "f,m,f,Q,d,dKm,d,Q"))]
+ [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,m,d,Q,d,o,Q")
+ (match_operand:DF 1 "general_operand" "f,m,f,Q,d,dKo,d,Q"))]
"!TARGET_64BIT"
"@
ldr\\t%0,%1
@@ -1326,8 +1397,8 @@
}")
(define_insn "*movsf"
- [(set (match_operand:SF 0 "nonimmediate_operand" "=f,f,m,d,d,m,Q")
- (match_operand:SF 1 "general_operand" "f,m,f,d,m,d,Q"))]
+ [(set (match_operand:SF 0 "nonimmediate_operand" "=f,f,m,d,d,m,?Q")
+ (match_operand:SF 1 "general_operand" "f,m,f,d,m,d,?Q"))]
""
"@
ler\\t%0,%1
@@ -1990,8 +2061,7 @@
operands[2] = GEN_INT (32 - INTVAL (operands[2]));
operands[1] = change_address (operands[1], QImode, 0);
}"
- [(set_attr "type" "o2")
- (set_attr "atype" "mem")])
+ [(set_attr "atype" "mem")])
(define_insn_and_split "*extracthi"
[(set (match_operand:SI 0 "register_operand" "=d")
@@ -2012,8 +2082,7 @@
operands[2] = GEN_INT (32 - INTVAL (operands[2]));
operands[1] = change_address (operands[1], HImode, 0);
}"
- [(set_attr "type" "o2")
- (set_attr "atype" "mem")])
+ [(set_attr "atype" "mem")])
;
; extendsidi2 instruction pattern(s).
@@ -2315,8 +2384,7 @@
[(set (strict_low_part (match_dup 2)) (match_dup 1))
(clobber (reg:CC 33))])]
"operands[2] = gen_lowpart (HImode, operands[0]);"
- [(set_attr "type" "o2")
- (set_attr "atype" "mem")])
+ [(set_attr "atype" "mem")])
;
; zero_extendqisi2 instruction pattern(s).
@@ -2351,8 +2419,7 @@
[(set (match_dup 0) (const_int 0))
(set (strict_low_part (match_dup 2)) (match_dup 1))]
"operands[2] = gen_lowpart (QImode, operands[0]);"
- [(set_attr "type" "o2")
- (set_attr "atype" "mem")])
+ [(set_attr "atype" "mem")])
;
; zero_extendqihi2 instruction pattern(s).
@@ -2387,8 +2454,7 @@
[(set (match_dup 0) (const_int 0))
(set (strict_low_part (match_dup 2)) (match_dup 1))]
"operands[2] = gen_lowpart (QImode, operands[0]);"
- [(set_attr "type" "o2")
- (set_attr "atype" "mem")])
+ [(set_attr "atype" "mem")])
;
@@ -2837,25 +2903,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"))
@@ -2976,7 +3023,7 @@
(define_insn_and_split "*adddi3_31"
[(set (match_operand:DI 0 "register_operand" "=&d")
(plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0")
- (match_operand:DI 2 "general_operand" "dm") ) )
+ (match_operand:DI 2 "general_operand" "do") ) )
(clobber (reg:CC 33))]
"!TARGET_64BIT"
"#"
@@ -2997,15 +3044,14 @@
[(set (match_dup 3) (plus:SI (match_dup 3) (const_int 1)))
(clobber (reg:CC 33))])
(match_dup 9)]
- "operands[3] = operand_subword (operands[0], 0, 1, DImode);
- operands[4] = operand_subword (operands[1], 0, 1, DImode);
- operands[5] = operand_subword (operands[2], 0, 1, DImode);
- operands[6] = operand_subword (operands[0], 1, 1, DImode);
- operands[7] = operand_subword (operands[1], 1, 1, DImode);
- operands[8] = operand_subword (operands[2], 1, 1, DImode);
+ "operands[3] = operand_subword (operands[0], 0, 0, DImode);
+ operands[4] = operand_subword (operands[1], 0, 0, DImode);
+ operands[5] = operand_subword (operands[2], 0, 0, DImode);
+ operands[6] = operand_subword (operands[0], 1, 0, DImode);
+ operands[7] = operand_subword (operands[1], 1, 0, DImode);
+ operands[8] = operand_subword (operands[2], 1, 0, DImode);
operands[9] = gen_label_rtx ();"
- [(set_attr "op_type" "NN")
- (set_attr "type" "o3")])
+ [(set_attr "op_type" "NN")])
(define_expand "adddi3"
[(parallel
@@ -3025,6 +3071,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 +3113,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 +3261,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")
@@ -3431,7 +3510,7 @@
(define_insn_and_split "*subdi3_31"
[(set (match_operand:DI 0 "register_operand" "=&d")
(minus:DI (match_operand:DI 1 "register_operand" "0")
- (match_operand:DI 2 "general_operand" "dm") ) )
+ (match_operand:DI 2 "general_operand" "do") ) )
(clobber (reg:CC 33))]
"!TARGET_64BIT"
"#"
@@ -3452,15 +3531,14 @@
[(set (match_dup 3) (plus:SI (match_dup 3) (const_int -1)))
(clobber (reg:CC 33))])
(match_dup 9)]
- "operands[3] = operand_subword (operands[0], 0, 1, DImode);
- operands[4] = operand_subword (operands[1], 0, 1, DImode);
- operands[5] = operand_subword (operands[2], 0, 1, DImode);
- operands[6] = operand_subword (operands[0], 1, 1, DImode);
- operands[7] = operand_subword (operands[1], 1, 1, DImode);
- operands[8] = operand_subword (operands[2], 1, 1, DImode);
+ "operands[3] = operand_subword (operands[0], 0, 0, DImode);
+ operands[4] = operand_subword (operands[1], 0, 0, DImode);
+ operands[5] = operand_subword (operands[2], 0, 0, DImode);
+ operands[6] = operand_subword (operands[0], 1, 0, DImode);
+ operands[7] = operand_subword (operands[1], 1, 0, DImode);
+ operands[8] = operand_subword (operands[2], 1, 0, DImode);
operands[9] = gen_label_rtx ();"
- [(set_attr "op_type" "NN")
- (set_attr "type" "o3")])
+ [(set_attr "op_type" "NN")])
(define_expand "subdi3"
[(parallel
@@ -4591,7 +4669,7 @@
(define_insn "*iordi3_oi"
[(set (match_operand:DI 0 "register_operand" "=d")
- (ior:DI (match_operand:DI 1 "nonimmediate_operand" "%0")
+ (ior:DI (match_operand:DI 1 "nonimmediate_operand" "0")
(match_operand:DI 2 "immediate_operand" "n")))
(clobber (reg:CC 33))]
"TARGET_64BIT && s390_single_hi (operands[2], DImode, 0) >= 0"
@@ -4677,7 +4755,7 @@
(define_insn "*iorsi3_oi"
[(set (match_operand:SI 0 "register_operand" "=d")
- (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0")
+ (ior:SI (match_operand:SI 1 "nonimmediate_operand" "0")
(match_operand:SI 2 "immediate_operand" "n")))
(clobber (reg:CC 33))]
"TARGET_64BIT && s390_single_hi (operands[2], SImode, 0) >= 0"
@@ -6452,6 +6530,192 @@
(set_attr "type" "jsr")
(set_attr "atype" "mem")])
+;;
+;;- Thread-local storage support.
+;;
+
+(define_insn "get_tp_64"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=??d,Q")
+ (unspec:DI [(const_int 0)] UNSPEC_TP))]
+ "TARGET_64BIT"
+ "@
+ ear\\t%0,%%a0\;sllg\\t%0,%0,32\;ear\\t%0,%%a1
+ stam\\t%%a0,%%a1,%0"
+ [(set_attr "op_type" "NN,RS")
+ (set_attr "atype" "reg,mem")
+ (set_attr "type" "o3,*")
+ (set_attr "length" "14,*")])
+
+(define_insn "get_tp_31"
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=d,Q")
+ (unspec:SI [(const_int 0)] UNSPEC_TP))]
+ "!TARGET_64BIT"
+ "@
+ ear\\t%0,%%a0
+ stam\\t%%a0,%%a0,%0"
+ [(set_attr "op_type" "RRE,RS")
+ (set_attr "atype" "reg,mem")])
+
+(define_insn "set_tp_64"
+ [(unspec_volatile [(match_operand:DI 0 "general_operand" "??d,Q")] UNSPECV_SET_TP)
+ (clobber (match_scratch:SI 1 "=d,X"))]
+ "TARGET_64BIT"
+ "@
+ sar\\t%%a1,%0\;srlg\\t%1,%0,32\;sar\\t%%a0,%1
+ lam\\t%%a0,%%a1,%0"
+ [(set_attr "op_type" "NN,RS")
+ (set_attr "atype" "reg,mem")
+ (set_attr "type" "o3,*")
+ (set_attr "length" "14,*")])
+
+(define_insn "set_tp_31"
+ [(unspec_volatile [(match_operand:SI 0 "general_operand" "d,Q")] UNSPECV_SET_TP)]
+ "!TARGET_64BIT"
+ "@
+ sar\\t%%a0,%0
+ lam\\t%%a0,%%a0,%0"
+ [(set_attr "op_type" "RRE,RS")
+ (set_attr "atype" "reg,mem")])
+
+(define_insn "*tls_load_64"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (unspec:DI [(match_operand:DI 1 "memory_operand" "m")
+ (match_operand:DI 2 "" "")]
+ UNSPEC_TLS_LOAD))]
+ "TARGET_64BIT"
+ "lg\\t%0,%1%J2"
+ [(set_attr "op_type" "RXE")
+ (set_attr "atype" "mem")])
+
+(define_insn "*tls_load_31"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (unspec:SI [(match_operand:SI 1 "memory_operand" "m")
+ (match_operand:SI 2 "" "")]
+ UNSPEC_TLS_LOAD))]
+ "!TARGET_64BIT"
+ "l\\t%0,%1%J2"
+ [(set_attr "op_type" "RX")
+ (set_attr "atype" "mem")])
+
+(define_expand "call_value_tls"
+ [(set (match_operand 0 "" "")
+ (call (const_int 0) (const_int 0)))
+ (use (match_operand 1 "" ""))]
+ ""
+ "
+{
+ rtx insn, sym;
+
+ if (!flag_pic)
+ abort ();
+
+ sym = s390_tls_get_offset ();
+ sym = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, sym), 113);
+ sym = gen_rtx_CONST (Pmode, sym);
+
+ /* Unless we can use the bras(l) insn, force the
+ routine address into a register. */
+ if (!TARGET_SMALL_EXEC && !TARGET_64BIT)
+ {
+ rtx target = gen_reg_rtx (Pmode);
+ emit_move_insn (target, sym);
+ sym = target;
+ }
+
+ sym = gen_rtx_MEM (QImode, sym);
+
+ /* Emit insn. */
+ insn = emit_call_insn (
+ gen_call_value_tls_exp (operands[0], sym, const0_rtx,
+ gen_rtx_REG (Pmode, RETURN_REGNUM),
+ operands[1]));
+
+ /* The calling convention of __tls_get_offset uses the
+ GOT register implicitly. */
+ use_reg (&CALL_INSN_FUNCTION_USAGE (insn), pic_offset_table_rtx);
+ use_reg (&CALL_INSN_FUNCTION_USAGE (insn), operands[0]);
+ CONST_OR_PURE_CALL_P (insn) = 1;
+
+ DONE;
+}")
+
+(define_expand "call_value_tls_exp"
+ [(parallel [(set (match_operand 0 "" "")
+ (call (match_operand 1 "" "")
+ (match_operand 2 "" "")))
+ (clobber (match_operand 3 "" ""))
+ (use (match_operand 4 "" ""))])]
+ ""
+ "")
+
+(define_insn "brasl_tls"
+ [(set (match_operand 0 "register_operand" "=df")
+ (call (mem:QI (match_operand:DI 1 "bras_sym_operand" "X"))
+ (match_operand:SI 2 "const_int_operand" "n")))
+ (clobber (match_operand:DI 3 "register_operand" "=r"))
+ (use (match_operand:DI 4 "" ""))]
+ "TARGET_64BIT"
+ "brasl\\t%3,%1%J4"
+ [(set_attr "op_type" "RIL")
+ (set_attr "type" "jsr")])
+
+(define_insn "bras_tls"
+ [(set (match_operand 0 "register_operand" "=df")
+ (call (mem:QI (match_operand:SI 1 "bras_sym_operand" "X"))
+ (match_operand:SI 2 "const_int_operand" "n")))
+ (clobber (match_operand:SI 3 "register_operand" "=r"))
+ (use (match_operand:SI 4 "" ""))]
+ "TARGET_SMALL_EXEC"
+ "bras\\t%3,%1%J4"
+ [(set_attr "op_type" "RI")
+ (set_attr "type" "jsr")])
+
+(define_insn "basr_tls_64"
+ [(set (match_operand 0 "register_operand" "=df")
+ (call (mem:QI (match_operand:DI 1 "register_operand" "a"))
+ (match_operand:SI 2 "const_int_operand" "n")))
+ (clobber (match_operand:DI 3 "register_operand" "=r"))
+ (use (match_operand:DI 4 "" ""))]
+ "TARGET_64BIT"
+ "basr\\t%3,%1%J4"
+ [(set_attr "op_type" "RR")
+ (set_attr "type" "jsr")])
+
+(define_insn "basr_tls_31"
+ [(set (match_operand 0 "register_operand" "=df")
+ (call (mem:QI (match_operand:SI 1 "register_operand" "a"))
+ (match_operand:SI 2 "const_int_operand" "n")))
+ (clobber (match_operand:SI 3 "register_operand" "=r"))
+ (use (match_operand:SI 4 "" ""))]
+ "!TARGET_64BIT"
+ "basr\\t%3,%1%J4"
+ [(set_attr "op_type" "RR")
+ (set_attr "type" "jsr")
+ (set_attr "atype" "mem")])
+
+(define_insn "bas_tls_64"
+ [(set (match_operand 0 "register_operand" "=df")
+ (call (mem:QI (match_operand:QI 1 "address_operand" "p"))
+ (match_operand:SI 2 "const_int_operand" "n")))
+ (clobber (match_operand:DI 3 "register_operand" "=r"))
+ (use (match_operand:DI 4 "" ""))]
+ "TARGET_64BIT"
+ "bas\\t%3,%a1%J4"
+ [(set_attr "op_type" "RX")
+ (set_attr "type" "jsr")
+ (set_attr "atype" "mem")])
+
+(define_insn "bas_tls_31"
+ [(set (match_operand 0 "register_operand" "=df")
+ (call (mem:QI (match_operand:QI 1 "address_operand" "p"))
+ (match_operand:SI 2 "const_int_operand" "n")))
+ (clobber (match_operand:SI 3 "register_operand" "=r"))
+ (use (match_operand:SI 4 "" ""))]
+ "!TARGET_64BIT"
+ "bas\\t%3,%a1%J4"
+ [(set_attr "op_type" "RX")
+ (set_attr "type" "jsr")
+ (set_attr "atype" "mem")])
;;
;;- Miscellaneous instructions.
@@ -6820,14 +7084,21 @@
(label_ref (match_operand 1 "" "")))
(use (label_ref (match_operand 2 "" "")))]
""
- "*
{
- if (s390_nr_constants) {
- output_asm_insn (\"bras\\t%0,%2\", operands);
- s390_output_constant_pool (operands[1], operands[2]);
- }
- return \"\";
-}"
+ if (s390_nr_constants)
+ {
+ output_asm_insn ("bras\\t%0,%2", operands);
+ s390_output_constant_pool (operands[1], operands[2]);
+ }
+ else if (flag_pic)
+ {
+ /* We need the anchor label in any case. */
+ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
+ CODE_LABEL_NUMBER (operands[1]));
+ }
+
+ return "";
+}
[(set_attr "op_type" "NN")
(set_attr "type" "la")])
@@ -6837,13 +7108,14 @@
(label_ref (match_operand 1 "" "")))
(use (label_ref (match_operand 2 "" "")))]
""
- "*
{
- if (s390_nr_constants) {
- output_asm_insn (\"larl\\t%0,%1\", operands);
- s390_output_constant_pool (operands[1], operands[2]);
- }
- return \"\";
-}"
+ if (s390_nr_constants)
+ {
+ output_asm_insn ("larl\\t%0,%1", operands);
+ s390_output_constant_pool (operands[1], operands[2]);
+ }
+
+ return "";
+}
[(set_attr "op_type" "NN")
(set_attr "type" "la")])
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
index 1a3948386fc..82106ed0d8e 100644
--- a/gcc/config/sh/linux.h
+++ b/gcc/config/sh/linux.h
@@ -52,6 +52,10 @@ do { \
%{!rpath:-rpath /lib}} \
%{static:-static}"
+/* The GNU C++ standard library requires that these macros be defined. */
+#undef CPLUSPLUS_CPP_SPEC
+#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
+
#undef LIB_SPEC
#define LIB_SPEC \
"%{shared: -lc} \
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 4135b334af1..70d0ade0787 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -126,8 +126,8 @@ extern int sh_pr_n_sets PARAMS ((void));
extern int sh_hard_regno_rename_ok PARAMS ((unsigned int, unsigned int));
extern int sh_cfun_interrupt_handler_p PARAMS ((void));
extern void sh_initialize_trampoline PARAMS ((rtx, rtx, rtx));
-extern enum reg_class sh_cannot_change_mode_class
- PARAMS ((enum machine_mode, enum machine_mode));
+extern bool sh_cannot_change_mode_class
+ PARAMS ((enum machine_mode, enum machine_mode, enum reg_class));
extern void sh_mark_label PARAMS ((rtx, int));
extern int sh_register_move_cost
PARAMS ((enum machine_mode mode, enum reg_class, enum reg_class));
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 75c9d263bfa..6f0f1464629 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -953,6 +953,7 @@ output_far_jump (insn, op)
const char *jump;
int far;
int offset = branch_dest (insn) - INSN_ADDRESSES (INSN_UID (insn));
+ rtx prev;
this.lab = gen_label_rtx ();
@@ -977,10 +978,10 @@ output_far_jump (insn, op)
jump = "mov.l %O0,%1; jmp @%1";
}
/* If we have a scratch register available, use it. */
- if (GET_CODE (PREV_INSN (insn)) == INSN
- && INSN_CODE (PREV_INSN (insn)) == CODE_FOR_indirect_jump_scratch)
+ if (GET_CODE ((prev = prev_nonnote_insn (insn))) == INSN
+ && INSN_CODE (prev) == CODE_FOR_indirect_jump_scratch)
{
- this.reg = SET_DEST (PATTERN (PREV_INSN (insn)));
+ this.reg = SET_DEST (XVECEXP (PATTERN (prev), 0, 0));
if (REGNO (this.reg) == R0_REG && flag_pic && ! TARGET_SH2)
jump = "mov.l r1,@-r15; mova %O0,r0; mov.l @r0,r1; add r1,r0; mov.l @r15+,r1; jmp @%1";
output_asm_insn (jump, &this.lab);
@@ -2728,7 +2729,7 @@ find_barrier (num_mova, mova, from)
{
if (num_mova)
num_mova--;
- if (barrier_align (next_real_insn (from)) == CACHE_LOG)
+ if (barrier_align (next_real_insn (from)) == align_jumps_log)
{
/* We have just passed the barrier in front of the
ADDR_DIFF_VEC, which is stored in found_barrier. Since
@@ -3142,7 +3143,7 @@ gen_block_redirect (jump, addr, need_block)
rtx next = next_active_insn (next_active_insn (dest));
if (next && GET_CODE (next) == JUMP_INSN
&& GET_CODE (PATTERN (next)) == SET
- && recog_memoized (next) == CODE_FOR_jump)
+ && recog_memoized (next) == CODE_FOR_jump_compact)
{
dest = JUMP_LABEL (next);
if (dest
@@ -3166,6 +3167,13 @@ gen_block_redirect (jump, addr, need_block)
rtx insn = emit_insn_before (gen_indirect_jump_scratch
(reg, GEN_INT (INSN_UID (JUMP_LABEL (jump))))
, jump);
+ /* ??? We would like this to have the scope of the jump, but that
+ scope will change when a delay slot insn of an inner scope is added.
+ Hence, after delay slot scheduling, we'll have to expect
+ NOTE_INSN_BLOCK_END notes between the indirect_jump_scratch and
+ the jump. */
+
+ INSN_SCOPE (insn) = INSN_SCOPE (jump);
INSN_CODE (insn) = CODE_FOR_indirect_jump_scratch;
return insn;
}
@@ -3308,14 +3316,14 @@ barrier_align (barrier_or_label)
return ((TARGET_SMALLCODE
|| ((unsigned) XVECLEN (pat, 1) * GET_MODE_SIZE (GET_MODE (pat))
<= (unsigned)1 << (CACHE_LOG - 2)))
- ? 1 << TARGET_SHMEDIA : CACHE_LOG);
+ ? 1 << TARGET_SHMEDIA : align_jumps_log);
}
if (TARGET_SMALLCODE)
return 0;
if (! TARGET_SH2 || ! optimize)
- return CACHE_LOG;
+ return align_jumps_log;
/* When fixing up pcloads, a constant table might be inserted just before
the basic block that ends with the barrier. Thus, we can't trust the
@@ -3380,7 +3388,8 @@ barrier_align (barrier_or_label)
|| (x = (NEXT_INSN (NEXT_INSN (PREV_INSN (prev)))),
(INSN_P (x)
&& (INSN_CODE (x) == CODE_FOR_block_branch_redirect
- || INSN_CODE (x) == CODE_FOR_indirect_jump_scratch))))
+ || INSN_CODE (x) == CODE_FOR_indirect_jump_scratch
+ || INSN_CODE (x) == CODE_FOR_stuff_delay_slot))))
{
rtx pat = PATTERN (prev);
if (GET_CODE (pat) == PARALLEL)
@@ -3391,7 +3400,7 @@ barrier_align (barrier_or_label)
}
}
- return CACHE_LOG;
+ return align_jumps_log;
}
/* If we are inside a phony loop, almost any kind of label can turn up as the
@@ -3416,10 +3425,7 @@ sh_loop_align (label)
|| recog_memoized (next) == CODE_FOR_consttable_2)
return 0;
- if (TARGET_SH5)
- return 3;
-
- return 2;
+ return align_loops_log;
}
/* Exported to toplev.c.
@@ -4027,7 +4033,7 @@ split_branches (first)
|| ((beyond = next_active_insn (beyond))
&& GET_CODE (beyond) == JUMP_INSN))
&& GET_CODE (PATTERN (beyond)) == SET
- && recog_memoized (beyond) == CODE_FOR_jump
+ && recog_memoized (beyond) == CODE_FOR_jump_compact
&& ((INSN_ADDRESSES
(INSN_UID (XEXP (SET_SRC (PATTERN (beyond)), 0)))
- INSN_ADDRESSES (INSN_UID (insn)) + (unsigned) 252)
@@ -4041,7 +4047,7 @@ split_branches (first)
if ((GET_CODE (next) == JUMP_INSN
|| GET_CODE (next = next_active_insn (next)) == JUMP_INSN)
&& GET_CODE (PATTERN (next)) == SET
- && recog_memoized (next) == CODE_FOR_jump
+ && recog_memoized (next) == CODE_FOR_jump_compact
&& ((INSN_ADDRESSES
(INSN_UID (XEXP (SET_SRC (PATTERN (next)), 0)))
- INSN_ADDRESSES (INSN_UID (insn)) + (unsigned) 252)
@@ -4130,9 +4136,6 @@ split_branches (first)
If relaxing, output the label and pseudo-ops used to link together
calls and the instruction which set the registers. */
-/* ??? This is unnecessary, and probably should be deleted. This makes
- the insn_addresses declaration above unnecessary. */
-
/* ??? The addresses printed by this routine for insns are nonsense for
insns which are inside of a sequence where none of the inner insns have
variable length. This is because the second pass of shorten_branches
@@ -7355,14 +7358,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)
@@ -7740,24 +7743,25 @@ sh_expand_binop_v2sf (code, op0, op1, op2)
/* Return the class of registers for which a mode change from FROM to TO
is invalid. */
-enum reg_class
-sh_cannot_change_mode_class (from, to)
+bool
+sh_cannot_change_mode_class (from, to, class)
enum machine_mode from, to;
+ enum reg_class class;
{
if (GET_MODE_SIZE (from) != GET_MODE_SIZE (to))
{
if (TARGET_LITTLE_ENDIAN)
{
if (GET_MODE_SIZE (to) < 8 || GET_MODE_SIZE (from) < 8)
- return DF_REGS;
+ return reg_classes_intersect_p (DF_REGS, class);
}
else
{
if (GET_MODE_SIZE (from) < 8)
- return DF_HI_REGS;
+ return reg_classes_intersect_p (DF_HI_REGS, class);
}
}
- return NO_REGS;
+ return 0;
}
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 57ebbb311af..14667794e20 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -475,6 +475,13 @@ do { \
to the pressure on R0. */ \
flag_schedule_insns = 0; \
\
+ if (align_loops == 0) \
+ align_loops = 1 << (TARGET_SH5 ? 3 : 2); \
+ if (align_jumps == 0) \
+ align_jumps = 1 << CACHE_LOG; \
+ else if (align_jumps < (TARGET_SHMEDIA ? 4 : 2)) \
+ align_jumps = TARGET_SHMEDIA ? 4 : 2; \
+ \
/* Allocation boundary (in *bytes*) for the code of a function. \
SH1: 32 bit alignment is faster, because instructions are always \
fetched as a pair from a longword boundary. \
@@ -482,6 +489,20 @@ do { \
if (align_functions == 0) \
align_functions \
= TARGET_SMALLCODE ? FUNCTION_BOUNDARY/8 : (1 << CACHE_LOG); \
+ /* The linker relaxation code breaks when a function contains \
+ alignments that are larger than that at the start of a \
+ compilation unit. */ \
+ if (TARGET_RELAX) \
+ { \
+ int min_align \
+ = align_loops > align_jumps ? align_loops : align_jumps; \
+ \
+ /* Also take possible .long constants / mova tables int account. */\
+ if (min_align < 4) \
+ min_align = 4; \
+ if (align_functions < min_align) \
+ align_functions = min_align; \
+ } \
} while (0)
/* Target machine storage layout. */
@@ -1346,8 +1367,9 @@ extern enum reg_class reg_class_from_letter[];
? R0_REGS \
: (CLASS == FPUL_REGS \
&& ((GET_CODE (X) == REG \
- && (REGNO (X) == MACL_REG || REGNO (X) == MACH_REG \
- || REGNO (X) == T_REG)))) \
+ && (REGNO (X) == MACL_REG || REGNO (X) == MACH_REG \
+ || REGNO (X) == T_REG)) \
+ || GET_CODE (X) == PLUS)) \
? GENERAL_REGS \
: CLASS == FPUL_REGS && immediate_operand ((X), (MODE)) \
? (GET_CODE (X) == CONST_INT && CONST_OK_FOR_I (INTVAL (X)) \
@@ -1377,8 +1399,8 @@ extern enum reg_class reg_class_from_letter[];
/* ??? We need to renumber the internal numbers for the frnn registers
when in little endian in order to allow mode size changes. */
-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \
- sh_cannot_change_mode_class (FROM, TO)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ sh_cannot_change_mode_class (FROM, TO, CLASS)
/* Stack layout; function entry, exit and calling. */
@@ -2574,7 +2596,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 +3069,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/config/sh/sh.md b/gcc/config/sh/sh.md
index 4dbda27e4b9..56f93cc14c8 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -383,9 +383,9 @@
(eq_attr "type" "jump")
(cond [(eq_attr "med_branch_p" "yes")
(const_int 2)
- (and (eq (symbol_ref "GET_CODE (PREV_INSN (insn))")
+ (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn (insn))")
(symbol_ref "INSN"))
- (eq (symbol_ref "INSN_CODE (PREV_INSN (insn))")
+ (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
(symbol_ref "code_for_indirect_jump_scratch")))
(if_then_else (eq_attr "braf_branch_p" "yes")
(const_int 6)
@@ -5024,9 +5024,14 @@
;; This one has the additional purpose to record a possible scratch register
;; for the following branch.
+;; ??? Unfortunately, just setting the scratch register is not good enough,
+;; because the insn then might be deemed dead and deleted. And we can't
+;; make the use in the jump insn explicit because that would disable
+;; delay slot scheduling from the target.
(define_insn "indirect_jump_scratch"
[(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand 1 "const_int_operand" "")] UNSPEC_BBR))]
+ (unspec:SI [(match_operand 1 "const_int_operand" "")] UNSPEC_BBR))
+ (set (pc) (unspec [(const_int 0)] UNSPEC_BBR))]
"TARGET_SH1"
""
[(set_attr "length" "0")])
@@ -5464,6 +5469,19 @@
[(set_attr "type" "jump")
(set_attr "needs_delay_slot" "yes")])
+;; ??? It would be much saner to explicitly use the scratch register
+;; in the jump insn, and have indirect_jump_scratch only set it,
+;; but fill_simple_delay_slots would refuse to do delay slot filling
+;; from the target then, as it uses simplejump_p.
+;;(define_insn "jump_compact_far"
+;; [(set (pc)
+;; (label_ref (match_operand 0 "" "")))
+;; (use (match_operand 1 "register_operand" "r")]
+;; "TARGET_SH1"
+;; "* return output_far_jump(insn, operands[0], operands[1]);"
+;; [(set_attr "type" "jump")
+;; (set_attr "needs_delay_slot" "yes")])
+
(define_insn "jump_media"
[(set (pc)
(match_operand:DI 0 "target_operand" "b"))]
diff --git a/gcc/config/sh/t-linux b/gcc/config/sh/t-linux
index 2fc932cdc7f..60199dcb262 100644
--- a/gcc/config/sh/t-linux
+++ b/gcc/config/sh/t-linux
@@ -1,3 +1,6 @@
+# Don't run fixproto
+STMP_FIXPROTO =
+
TARGET_LIBGCC2_CFLAGS = -fpic
LIB1ASMFUNCS_CACHE = _ic_invalidate
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index 02cc7a1dfae..b2809ddb7cf 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -22,11 +22,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
Emacs needs to know if the arch is 64 or 32-bits. */
#undef CPP_CPU64_DEFAULT_SPEC
-#define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__ -D__arch64__"
+#define CPP_CPU64_DEFAULT_SPEC \
+ "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__sparc__ -D__arch64__"
/* Because we include sparc/sysv4.h. */
#undef CPP_PREDEFINES
-#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+/* Do not define it here, we now use TARGET_OS_CPP_BUILTINS. */
#define LINK_SPEC "%(link_arch) \
%{!mno-relax:%{!r:-relax}} \
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 9f608c352eb..7c25bc55a9a 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -3393,7 +3393,7 @@ mem_min_alignment (mem, desired)
/* Vectors to keep interesting information about registers where it can easily
- be got. We use to use the actual mode value as the bit number, but there
+ be got. We used to use the actual mode value as the bit number, but there
are more than 32 modes now. Instead we use two tables: one indexed by
hard register number, and one indexed by mode. */
@@ -4522,10 +4522,13 @@ function_arg_slotno (cum, mode, type, named, incoming_p, pregno, ppadding)
struct function_arg_record_value_parms
{
- rtx ret;
- int slotno, named, regbase;
- unsigned int nregs;
- int intoffset;
+ rtx ret; /* return expression being built. */
+ int slotno; /* slot number of the argument. */
+ int named; /* whether the argument is named. */
+ int regbase; /* regno of the base register. */
+ int stack; /* 1 if part of the argument is on the stack. */
+ int intoffset; /* offset of the pending integer field. */
+ unsigned int nregs; /* number of words passed in registers. */
};
static void function_arg_record_value_3
@@ -4600,8 +4603,13 @@ function_arg_record_value_1 (type, startbitpos, parms)
this_slotno = parms->slotno + parms->intoffset
/ BITS_PER_WORD;
- intslots = MIN (intslots, SPARC_INT_ARG_MAX - this_slotno);
- intslots = MAX (intslots, 0);
+ if (intslots > 0 && intslots > SPARC_INT_ARG_MAX - this_slotno)
+ {
+ intslots = MAX (0, SPARC_INT_ARG_MAX - this_slotno);
+ /* We need to pass this field on the stack. */
+ parms->stack = 1;
+ }
+
parms->nregs += intslots;
parms->intoffset = -1;
}
@@ -4666,7 +4674,7 @@ function_arg_record_value_3 (bitpos, parms)
{
regno = parms->regbase + this_slotno;
reg = gen_rtx_REG (mode, regno);
- XVECEXP (parms->ret, 0, parms->nregs)
+ XVECEXP (parms->ret, 0, parms->stack + parms->nregs)
= gen_rtx_EXPR_LIST (VOIDmode, reg, GEN_INT (intoffset));
this_slotno += 1;
@@ -4739,7 +4747,7 @@ function_arg_record_value_2 (type, startbitpos, parms)
default: break;
}
reg = gen_rtx_REG (mode, regno);
- XVECEXP (parms->ret, 0, parms->nregs)
+ XVECEXP (parms->ret, 0, parms->stack + parms->nregs)
= gen_rtx_EXPR_LIST (VOIDmode, reg,
GEN_INT (bitpos / BITS_PER_UNIT));
parms->nregs += 1;
@@ -4747,7 +4755,7 @@ function_arg_record_value_2 (type, startbitpos, parms)
{
regno += GET_MODE_SIZE (mode) / 4;
reg = gen_rtx_REG (mode, regno);
- XVECEXP (parms->ret, 0, parms->nregs)
+ XVECEXP (parms->ret, 0, parms->stack + parms->nregs)
= gen_rtx_EXPR_LIST (VOIDmode, reg,
GEN_INT ((bitpos + GET_MODE_BITSIZE (mode))
/ BITS_PER_UNIT));
@@ -4764,8 +4772,19 @@ function_arg_record_value_2 (type, startbitpos, parms)
}
/* Used by function_arg and function_value to implement the complex
- SPARC64 structure calling conventions. */
+ conventions of the 64-bit ABI for passing and returning structures.
+ Return an expression valid as a return value for the two macros
+ FUNCTION_ARG and FUNCTION_VALUE.
+ TYPE is the data type of the argument (as a tree).
+ This is null for libcalls where that information may
+ not be available.
+ MODE is the argument's machine mode.
+ SLOTNO is the index number of the argument's slot in the parameter array.
+ NAMED is nonzero if this argument is a named parameter
+ (otherwise it is an extra parameter matching an ellipsis).
+ REGBASE is the regno of the base register for the parameter array. */
+
static rtx
function_arg_record_value (type, mode, slotno, named, regbase)
tree type;
@@ -4780,6 +4799,7 @@ function_arg_record_value (type, mode, slotno, named, regbase)
parms.slotno = slotno;
parms.named = named;
parms.regbase = regbase;
+ parms.stack = 0;
/* Compute how many registers we need. */
parms.nregs = 0;
@@ -4796,8 +4816,12 @@ function_arg_record_value (type, mode, slotno, named, regbase)
intslots = (endbit - startbit) / BITS_PER_WORD;
this_slotno = slotno + parms.intoffset / BITS_PER_WORD;
- intslots = MIN (intslots, SPARC_INT_ARG_MAX - this_slotno);
- intslots = MAX (intslots, 0);
+ if (intslots > 0 && intslots > SPARC_INT_ARG_MAX - this_slotno)
+ {
+ intslots = MAX (0, SPARC_INT_ARG_MAX - this_slotno);
+ /* We need to pass this field on the stack. */
+ parms.stack = 1;
+ }
parms.nregs += intslots;
}
@@ -4827,7 +4851,17 @@ function_arg_record_value (type, mode, slotno, named, regbase)
if (nregs == 0)
abort ();
- parms.ret = gen_rtx_PARALLEL (mode, rtvec_alloc (nregs));
+ parms.ret = gen_rtx_PARALLEL (mode, rtvec_alloc (parms.stack + nregs));
+
+ /* If at least one field must be passed on the stack, generate
+ (parallel [(expr_list (nil) ...) ...]) so that all fields will
+ also be passed on the stack. We can't do much better because the
+ semantics of FUNCTION_ARG_PARTIAL_NREGS doesn't handle the case
+ of structures for which the fields passed exclusively in registers
+ are not at the beginning of the structure. */
+ if (parms.stack)
+ XVECEXP (parms.ret, 0, 0)
+ = gen_rtx_EXPR_LIST (VOIDmode, NULL_RTX, const0_rtx);
/* Fill in the entries. */
parms.nregs = 0;
@@ -6464,6 +6498,24 @@ print_operand (file, x, code)
output_address (XEXP (x, 0));
return;
+ case 's':
+ {
+ /* Print a sign-extended 32-bit value. */
+ HOST_WIDE_INT i;
+ if (GET_CODE(x) == CONST_INT)
+ i = INTVAL (x);
+ else if (GET_CODE(x) == CONST_DOUBLE)
+ i = CONST_DOUBLE_LOW (x);
+ else
+ {
+ output_operand_lossage ("invalid %%s operand");
+ return;
+ }
+ i = trunc_int_for_mode (i, SImode);
+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, i);
+ return;
+ }
+
case 0:
/* Do nothing special. */
break;
@@ -7953,6 +8005,8 @@ sparc_check_64 (x, insn)
return 0;
}
+/* Returns assembly code to perform a DImode shift using
+ a 64-bit global or out register on SPARC-V8+. */
char *
sparc_v8plus_shift (operands, insn, opcode)
rtx *operands;
@@ -7961,8 +8015,11 @@ sparc_v8plus_shift (operands, insn, opcode)
{
static char asm_code[60];
- if (GET_CODE (operands[3]) == SCRATCH)
+ /* The scratch register is only required when the destination
+ register is not a 64-bit global or out register. */
+ if (which_alternative != 2)
operands[3] = operands[0];
+
if (GET_CODE (operands[1]) == CONST_INT)
{
output_asm_insn ("mov\t%1, %3", operands);
@@ -7976,6 +8033,7 @@ sparc_v8plus_shift (operands, insn, opcode)
}
strcpy(asm_code, opcode);
+
if (which_alternative != 2)
return strcat (asm_code, "\t%0, %2, %L0\n\tsrlx\t%L0, 32, %H0");
else
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 4dcff9105f0..7c6a7fd1d72 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1366,7 +1366,8 @@ extern char leaf_reg_remap[];
`K' is used for constants which can be loaded with a single sethi insn.
`L' is used for the range of constants supported by the movcc insns.
`M' is used for the range of constants supported by the movrcc insns.
- `N' is like K, but for constants wider than 32 bits. */
+ `N' is like K, but for constants wider than 32 bits.
+ `O' is used for the range which is just 4096. */
#define SPARC_SIMM10_P(X) ((unsigned HOST_WIDE_INT) (X) + 0x200 < 0x400)
#define SPARC_SIMM11_P(X) ((unsigned HOST_WIDE_INT) (X) + 0x400 < 0x800)
@@ -1390,6 +1391,7 @@ extern char leaf_reg_remap[];
: (C) == 'L' ? SPARC_SIMM11_P (VALUE) \
: (C) == 'M' ? SPARC_SIMM10_P (VALUE) \
: (C) == 'N' ? SPARC_SETHI_P (VALUE) \
+ : (C) == 'O' ? (VALUE) == 4096 \
: 0)
/* Similar, but for floating constants, and defining letters G and H.
@@ -1398,6 +1400,7 @@ extern char leaf_reg_remap[];
#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) \
((C) == 'G' ? fp_zero_operand (VALUE, GET_MODE (VALUE)) \
: (C) == 'H' ? arith_double_operand (VALUE, DImode) \
+ : (C) == 'O' ? arith_double_4096_operand (VALUE, DImode) \
: 0)
/* Given an rtx X being reloaded into a reg required to be
@@ -2205,6 +2208,8 @@ do { \
If you change this, execute "rm explow.o recog.o reload.o". */
+#define SYMBOLIC_CONST(X) symbolic_operand (X, VOIDmode)
+
#define RTX_OK_FOR_BASE_P(X) \
((GET_CODE (X) == REG && REG_OK_FOR_BASE_P (X)) \
|| (GET_CODE (X) == SUBREG \
@@ -2238,6 +2243,8 @@ do { \
&& GET_CODE (op1) != REG \
&& GET_CODE (op1) != LO_SUM \
&& GET_CODE (op1) != MEM \
+ && (! SYMBOLIC_CONST (op1) \
+ || MODE == Pmode) \
&& (GET_CODE (op1) != CONST_INT \
|| SMALL_INT (op1))) \
goto ADDR; \
@@ -2325,6 +2332,34 @@ do { \
else if (GET_CODE (X) == CONST_INT && SMALL_INT (X)) \
goto ADDR; \
}
+
+/* Go to LABEL if ADDR (a legitimate address expression)
+ has an effect that depends on the machine mode it is used for.
+
+ In PIC mode,
+
+ (mem:HI [%l7+a])
+
+ is not equivalent to
+
+ (mem:QI [%l7+a]) (mem:QI [%l7+a+1])
+
+ because [%l7+a+1] is interpreted as the address of (a+1). */
+
+#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \
+{ \
+ if (flag_pic == 1) \
+ { \
+ if (GET_CODE (ADDR) == PLUS) \
+ { \
+ rtx op0 = XEXP (ADDR, 0); \
+ rtx op1 = XEXP (ADDR, 1); \
+ if (op0 == pic_offset_table_rtx \
+ && SYMBOLIC_CONST (op1)) \
+ goto LABEL; \
+ } \
+ } \
+}
/* Try machine-dependent ways of modifying an illegitimate address
to be legitimate. If we find one, return the new, valid address.
@@ -2402,12 +2437,6 @@ do { \
} \
/* ??? 64-bit reloads. */ \
} while (0)
-
-/* Go to LABEL if ADDR (a legitimate address expression)
- has an effect that depends on the machine mode it is used for.
- On the SPARC this is never true. */
-
-#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL)
/* Specify the machine mode that this machine uses
for the index in the tablejump instruction. */
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 4024290d436..ebe9d2b3d50 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -2062,9 +2062,9 @@
(define_insn "*movdi_insn_sp32_v9"
[(set (match_operand:DI 0 "nonimmediate_operand"
- "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?f,?e,?e,?W")
+ "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?e,?e,?W")
(match_operand:DI 1 "input_operand"
- " J,J,U,T,r,o,i,r, f, T, o, f, f, e, W, e"))]
+ " J,J,U,T,r,o,i,r, f, T, o, f, e, W, e"))]
"! TARGET_ARCH64 && TARGET_V9
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"@
@@ -2080,13 +2080,12 @@
ldd\t%1, %0
#
#
- #
fmovd\\t%1, %0
ldd\\t%1, %0
std\\t%1, %0"
- [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,*,fpmove,fpload,fpstore")
- (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,2,*,*,*")
- (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
+ [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,fpmove,fpload,fpstore")
+ (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,*,*,*")
+ (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
(define_insn "*movdi_insn_sp32"
[(set (match_operand:DI 0 "nonimmediate_operand"
@@ -2425,7 +2424,14 @@
(define_split
[(set (match_operand:DI 0 "register_operand" "")
(match_operand:DI 1 "register_operand" ""))]
- "! TARGET_ARCH64 && reload_completed"
+ "reload_completed
+ && (! TARGET_V9
+ || (! TARGET_ARCH64
+ && ((GET_CODE (operands[0]) == REG
+ && REGNO (operands[0]) < 32)
+ || (GET_CODE (operands[0]) == SUBREG
+ && GET_CODE (SUBREG_REG (operands[0])) == REG
+ && REGNO (SUBREG_REG (operands[0])) < 32))))"
[(clobber (const_int 0))]
{
rtx set_dest = operands[0];
@@ -4742,13 +4748,11 @@
;;- arithmetic instructions
(define_expand "adddi3"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (plus:DI (match_operand:DI 1 "arith_double_operand" "%r")
- (match_operand:DI 2 "arith_double_add_operand" "rHI")))]
+ [(set (match_operand:DI 0 "register_operand" "")
+ (plus:DI (match_operand:DI 1 "register_operand" "")
+ (match_operand:DI 2 "arith_double_add_operand" "")))]
""
{
- HOST_WIDE_INT i;
-
if (! TARGET_ARCH64)
{
emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
@@ -4759,21 +4763,6 @@
gen_rtx_REG (CCmode, SPARC_ICC_REG)))));
DONE;
}
- if (arith_double_4096_operand(operands[2], DImode))
- {
- switch (GET_CODE (operands[1]))
- {
- case CONST_INT: i = INTVAL (operands[1]); break;
- case CONST_DOUBLE: i = CONST_DOUBLE_LOW (operands[1]); break;
- default:
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
- gen_rtx_MINUS (DImode, operands[1],
- GEN_INT(-4096))));
- DONE;
- }
- emit_insn (gen_movdi (operands[0], GEN_INT (i + 4096)));
- DONE;
- }
})
(define_insn_and_split "adddi3_insn_sp32"
@@ -4939,40 +4928,24 @@
[(set_attr "length" "2")])
(define_insn "*adddi3_sp64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (plus:DI (match_operand:DI 1 "arith_double_operand" "%r")
- (match_operand:DI 2 "arith_double_operand" "rHI")))]
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (plus:DI (match_operand:DI 1 "register_operand" "%r,r")
+ (match_operand:DI 2 "arith_double_add_operand" "rHI,O")))]
"TARGET_ARCH64"
- "add\t%1, %2, %0")
-
-(define_expand "addsi3"
- [(set (match_operand:SI 0 "register_operand" "=r,d")
- (plus:SI (match_operand:SI 1 "arith_operand" "%r,d")
- (match_operand:SI 2 "arith_add_operand" "rI,d")))]
- ""
-{
- if (arith_4096_operand(operands[2], SImode))
- {
- if (GET_CODE (operands[1]) == CONST_INT)
- emit_insn (gen_movsi (operands[0],
- GEN_INT (INTVAL (operands[1]) + 4096)));
- else
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
- gen_rtx_MINUS (SImode, operands[1],
- GEN_INT(-4096))));
- DONE;
- }
-})
+ "@
+ add\t%1, %2, %0
+ sub\t%1, -%2, %0")
-(define_insn "*addsi3"
- [(set (match_operand:SI 0 "register_operand" "=r,d")
- (plus:SI (match_operand:SI 1 "arith_operand" "%r,d")
- (match_operand:SI 2 "arith_operand" "rI,d")))]
+(define_insn "addsi3"
+ [(set (match_operand:SI 0 "register_operand" "=r,r,d")
+ (plus:SI (match_operand:SI 1 "register_operand" "%r,r,d")
+ (match_operand:SI 2 "arith_add_operand" "rI,O,d")))]
""
"@
add\t%1, %2, %0
+ sub\t%1, -%2, %0
fpadd32s\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,*,fp")])
(define_insn "*cmp_cc_plus"
[(set (reg:CC_NOOV 100)
@@ -5015,9 +4988,9 @@
[(set_attr "type" "compare")])
(define_expand "subdi3"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (minus:DI (match_operand:DI 1 "register_operand" "r")
- (match_operand:DI 2 "arith_double_add_operand" "rHI")))]
+ [(set (match_operand:DI 0 "register_operand" "")
+ (minus:DI (match_operand:DI 1 "register_operand" "")
+ (match_operand:DI 2 "arith_double_add_operand" "")))]
""
{
if (! TARGET_ARCH64)
@@ -5030,13 +5003,6 @@
gen_rtx_REG (CCmode, SPARC_ICC_REG)))));
DONE;
}
- if (arith_double_4096_operand(operands[2], DImode))
- {
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
- gen_rtx_PLUS (DImode, operands[1],
- GEN_INT(-4096))));
- DONE;
- }
})
(define_insn_and_split "*subdi3_sp32"
@@ -5118,36 +5084,24 @@
[(set_attr "length" "2")])
(define_insn "*subdi3_sp64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (minus:DI (match_operand:DI 1 "register_operand" "r")
- (match_operand:DI 2 "arith_double_operand" "rHI")))]
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (minus:DI (match_operand:DI 1 "register_operand" "r,r")
+ (match_operand:DI 2 "arith_double_add_operand" "rHI,O")))]
"TARGET_ARCH64"
- "sub\t%1, %2, %0")
-
-(define_expand "subsi3"
- [(set (match_operand:SI 0 "register_operand" "=r,d")
- (minus:SI (match_operand:SI 1 "register_operand" "r,d")
- (match_operand:SI 2 "arith_add_operand" "rI,d")))]
- ""
-{
- if (arith_4096_operand(operands[2], SImode))
- {
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
- gen_rtx_PLUS (SImode, operands[1],
- GEN_INT(-4096))));
- DONE;
- }
-})
+ "@
+ sub\t%1, %2, %0
+ add\t%1, -%2, %0")
-(define_insn "*subsi3"
- [(set (match_operand:SI 0 "register_operand" "=r,d")
- (minus:SI (match_operand:SI 1 "register_operand" "r,d")
- (match_operand:SI 2 "arith_operand" "rI,d")))]
+(define_insn "subsi3"
+ [(set (match_operand:SI 0 "register_operand" "=r,r,d")
+ (minus:SI (match_operand:SI 1 "register_operand" "r,r,d")
+ (match_operand:SI 2 "arith_add_operand" "rI,O,d")))]
""
"@
sub\t%1, %2, %0
+ add\t%1, -%2, %0
fpsub32s\t%1, %2, %0"
- [(set_attr "type" "*,fp")])
+ [(set_attr "type" "*,*,fp")])
(define_insn "*cmp_minus_cc"
[(set (reg:CC_NOOV 100)
@@ -5283,9 +5237,12 @@
if (TARGET_V8PLUS)
emit_insn (gen_const_mulsidi3_v8plus (operands[0], operands[1],
operands[2]));
- else
+ else if (TARGET_ARCH32)
emit_insn (gen_const_mulsidi3_sp32 (operands[0], operands[1],
operands[2]));
+ else
+ emit_insn (gen_const_mulsidi3_sp64 (operands[0], operands[1],
+ operands[2]));
DONE;
}
if (TARGET_V8PLUS)
@@ -5314,7 +5271,7 @@
(define_insn "const_mulsidi3_v8plus"
[(set (match_operand:DI 0 "register_operand" "=h,r")
(mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "r,r"))
- (match_operand:SI 2 "small_int" "I,I")))
+ (match_operand:DI 2 "small_int" "I,I")))
(clobber (match_scratch:SI 3 "=X,&h"))]
"TARGET_V8PLUS"
"@
@@ -5355,7 +5312,7 @@
(define_insn "const_mulsidi3_sp32"
[(set (match_operand:DI 0 "register_operand" "=r")
(mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "r"))
- (match_operand:SI 2 "small_int" "I")))]
+ (match_operand:DI 2 "small_int" "I")))]
"TARGET_HARD_MUL32"
{
return TARGET_SPARCLET
@@ -5372,7 +5329,7 @@
(define_insn "const_mulsidi3_sp64"
[(set (match_operand:DI 0 "register_operand" "=r")
(mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "r"))
- (match_operand:SI 2 "small_int" "I")))]
+ (match_operand:DI 2 "small_int" "I")))]
"TARGET_DEPRECATED_V8_INSNS && TARGET_ARCH64"
"smul\t%1, %2, %0"
[(set_attr "type" "imul")])
@@ -5444,7 +5401,7 @@
[(set (match_operand:SI 0 "register_operand" "=h,r")
(truncate:SI
(lshiftrt:DI (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "r,r"))
- (match_operand 2 "small_int" "i,i"))
+ (match_operand:DI 2 "small_int" "i,i"))
(match_operand:SI 3 "const_int_operand" "i,i"))))
(clobber (match_scratch:SI 4 "=X,&h"))]
"TARGET_V8PLUS"
@@ -5471,7 +5428,7 @@
[(set (match_operand:SI 0 "register_operand" "=r")
(truncate:SI
(lshiftrt:DI (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "r"))
- (match_operand:SI 2 "register_operand" "r"))
+ (match_operand:DI 2 "small_int" "i"))
(const_int 32))))]
"TARGET_HARD_MUL32"
"smul\t%1, %2, %%g0\n\trd\t%%y, %0"
@@ -5489,9 +5446,12 @@
if (TARGET_V8PLUS)
emit_insn (gen_const_umulsidi3_v8plus (operands[0], operands[1],
operands[2]));
- else
+ else if (TARGET_ARCH32)
emit_insn (gen_const_umulsidi3_sp32 (operands[0], operands[1],
operands[2]));
+ else
+ emit_insn (gen_const_umulsidi3_sp64 (operands[0], operands[1],
+ operands[2]));
DONE;
}
if (TARGET_V8PLUS)
@@ -5546,12 +5506,12 @@
(define_insn "const_umulsidi3_sp32"
[(set (match_operand:DI 0 "register_operand" "=r")
(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "r"))
- (match_operand:SI 2 "uns_small_int" "")))]
+ (match_operand:DI 2 "uns_small_int" "")))]
"TARGET_HARD_MUL32"
{
return TARGET_SPARCLET
- ? "umuld\t%1, %2, %L0"
- : "umul\t%1, %2, %L0\n\trd\t%%y, %H0";
+ ? "umuld\t%1, %s2, %L0"
+ : "umul\t%1, %s2, %L0\n\trd\t%%y, %H0";
}
[(set (attr "type")
(if_then_else (eq_attr "isa" "sparclet")
@@ -5563,21 +5523,21 @@
(define_insn "const_umulsidi3_sp64"
[(set (match_operand:DI 0 "register_operand" "=r")
(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "r"))
- (match_operand:SI 2 "uns_small_int" "")))]
+ (match_operand:DI 2 "uns_small_int" "")))]
"TARGET_DEPRECATED_V8_INSNS && TARGET_ARCH64"
- "umul\t%1, %2, %0"
+ "umul\t%1, %s2, %0"
[(set_attr "type" "imul")])
;; XXX
(define_insn "const_umulsidi3_v8plus"
[(set (match_operand:DI 0 "register_operand" "=h,r")
(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "r,r"))
- (match_operand:SI 2 "uns_small_int" "")))
+ (match_operand:DI 2 "uns_small_int" "")))
(clobber (match_scratch:SI 3 "=X,h"))]
"TARGET_V8PLUS"
"@
- umul\t%1, %2, %L0\n\tsrlx\t%L0, 32, %H0
- umul\t%1, %2, %3\n\tsrlx\t%3, 32, %H0\n\tmov\t%3, %L0"
+ umul\t%1, %s2, %L0\n\tsrlx\t%L0, 32, %H0
+ umul\t%1, %s2, %3\n\tsrlx\t%3, 32, %H0\n\tmov\t%3, %L0"
[(set_attr "type" "multi")
(set_attr "length" "2,3")])
@@ -5630,13 +5590,13 @@
[(set (match_operand:SI 0 "register_operand" "=h,r")
(truncate:SI
(lshiftrt:DI (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "r,r"))
- (match_operand:SI 2 "uns_small_int" ""))
+ (match_operand:DI 2 "uns_small_int" ""))
(match_operand:SI 3 "const_int_operand" "i,i"))))
(clobber (match_scratch:SI 4 "=X,h"))]
"TARGET_V8PLUS"
"@
- umul\t%1, %2, %0\n\tsrlx\t%0, %3, %0
- umul\t%1, %2, %4\n\tsrlx\t%4, %3, %0"
+ umul\t%1, %s2, %0\n\tsrlx\t%0, %3, %0
+ umul\t%1, %s2, %4\n\tsrlx\t%4, %3, %0"
[(set_attr "type" "multi")
(set_attr "length" "2")])
@@ -5657,10 +5617,10 @@
[(set (match_operand:SI 0 "register_operand" "=r")
(truncate:SI
(lshiftrt:DI (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "r"))
- (match_operand:SI 2 "uns_small_int" ""))
+ (match_operand:DI 2 "uns_small_int" ""))
(const_int 32))))]
"TARGET_HARD_MUL32"
- "umul\t%1, %2, %%g0\n\trd\t%%y, %0"
+ "umul\t%1, %s2, %%g0\n\trd\t%%y, %0"
[(set_attr "type" "multi")
(set_attr "length" "2")])
@@ -7246,7 +7206,7 @@
== INSN_ADDRESSES (INSN_UID (insn))))
return "b\t%l0%#";
else
- return TARGET_V9 ? "ba,pt%*\t%%xcc, %l0%(" : "b%*\t%l0%(";
+ return TARGET_V9 ? "ba%*,pt\t%%xcc, %l0%(" : "b%*\t%l0%(";
}
[(set_attr "type" "uncond_branch")])
@@ -7949,7 +7909,7 @@
&& mems_ok_for_ldd_peep (operands[0], operands[1], NULL_RTX)"
[(set (match_dup 0)
(const_int 0))]
- "operands[0] = change_address (operands[0], DImode, NULL);")
+ "operands[0] = widen_memory_access (operands[0], DImode, 0);")
(define_peephole2
[(set (match_operand:SI 0 "memory_operand" "")
@@ -7960,7 +7920,7 @@
&& mems_ok_for_ldd_peep (operands[1], operands[0], NULL_RTX)"
[(set (match_dup 1)
(const_int 0))]
- "operands[1] = change_address (operands[1], DImode, NULL);")
+ "operands[1] = widen_memory_access (operands[1], DImode, 0);")
(define_peephole2
[(set (match_operand:SI 0 "register_operand" "")
@@ -7971,7 +7931,7 @@
&& mems_ok_for_ldd_peep (operands[1], operands[3], operands[0])"
[(set (match_dup 0)
(match_dup 1))]
- "operands[1] = change_address (operands[1], DImode, NULL);
+ "operands[1] = widen_memory_access (operands[1], DImode, 0);
operands[0] = gen_rtx_REG (DImode, REGNO (operands[0]));")
(define_peephole2
@@ -7983,7 +7943,7 @@
&& mems_ok_for_ldd_peep (operands[0], operands[2], NULL_RTX)"
[(set (match_dup 0)
(match_dup 1))]
- "operands[0] = change_address (operands[0], DImode, NULL);
+ "operands[0] = widen_memory_access (operands[0], DImode, 0);
operands[1] = gen_rtx_REG (DImode, REGNO (operands[1]));")
(define_peephole2
@@ -7995,7 +7955,7 @@
&& mems_ok_for_ldd_peep (operands[1], operands[3], operands[0])"
[(set (match_dup 0)
(match_dup 1))]
- "operands[1] = change_address (operands[1], DFmode, NULL);
+ "operands[1] = widen_memory_access (operands[1], DFmode, 0);
operands[0] = gen_rtx_REG (DFmode, REGNO (operands[0]));")
(define_peephole2
@@ -8007,7 +7967,7 @@
&& mems_ok_for_ldd_peep (operands[0], operands[2], NULL_RTX)"
[(set (match_dup 0)
(match_dup 1))]
- "operands[0] = change_address (operands[0], DFmode, NULL);
+ "operands[0] = widen_memory_access (operands[0], DFmode, 0);
operands[1] = gen_rtx_REG (DFmode, REGNO (operands[1]));")
(define_peephole2
@@ -8019,7 +7979,7 @@
&& mems_ok_for_ldd_peep (operands[3], operands[1], operands[0])"
[(set (match_dup 2)
(match_dup 3))]
- "operands[3] = change_address (operands[3], DImode, NULL);
+ "operands[3] = widen_memory_access (operands[3], DImode, 0);
operands[2] = gen_rtx_REG (DImode, REGNO (operands[2]));")
(define_peephole2
@@ -8031,7 +7991,7 @@
&& mems_ok_for_ldd_peep (operands[2], operands[0], NULL_RTX)"
[(set (match_dup 2)
(match_dup 3))]
- "operands[2] = change_address (operands[2], DImode, NULL);
+ "operands[2] = widen_memory_access (operands[2], DImode, 0);
operands[3] = gen_rtx_REG (DImode, REGNO (operands[3]));
")
@@ -8044,7 +8004,7 @@
&& mems_ok_for_ldd_peep (operands[3], operands[1], operands[0])"
[(set (match_dup 2)
(match_dup 3))]
- "operands[3] = change_address (operands[3], DFmode, NULL);
+ "operands[3] = widen_memory_access (operands[3], DFmode, 0);
operands[2] = gen_rtx_REG (DFmode, REGNO (operands[2]));")
(define_peephole2
@@ -8056,7 +8016,7 @@
&& mems_ok_for_ldd_peep (operands[2], operands[0], NULL_RTX)"
[(set (match_dup 2)
(match_dup 3))]
- "operands[2] = change_address (operands[2], DFmode, NULL);
+ "operands[2] = widen_memory_access (operands[2], DFmode, 0);
operands[3] = gen_rtx_REG (DFmode, REGNO (operands[3]));")
;; Optimize the case of following a reg-reg move with a test
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index aca59ba4f30..7fe5e9397e2 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,5 +18,5 @@ $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \
# Use unwind-dw2-fde-darwin
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-darwin.c \
- $(srcdir)/unwind-sjlj.c
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 3c73561fd26..61bce29c245 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -12,5 +12,5 @@ SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
# Use unwind-dw2-fde-glibc
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
- $(srcdir)/unwind-sjlj.c
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
diff --git a/gcc/config/t-linux-gnulibc1 b/gcc/config/t-linux-gnulibc1
index 56a471579ed..52effd5ca2f 100644
--- a/gcc/config/t-linux-gnulibc1
+++ b/gcc/config/t-linux-gnulibc1
@@ -3,5 +3,5 @@ T_CFLAGS = -DUSE_GNULIBC_1
# Use unwind-dw2-fde
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
- $(srcdir)/unwind-sjlj.c
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 919543ad427..fa2a4886320 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -1,9 +1,5 @@
# Don't run fixproto
STMP_FIXPROTO =
-# We don't want the base GCC user headers, but we do want
-# any extras a target might specify.
-USER_H = $(EXTRA_HEADERS)
-
# Always build crtstuff with PIC.
CRTSTUFF_T_CFLAGS = -fPIC
diff --git a/gcc/config/t-slibgcc-elf-ver b/gcc/config/t-slibgcc-elf-ver
index c02ff9d6b7c..a176b10fa0a 100644
--- a/gcc/config/t-slibgcc-elf-ver
+++ b/gcc/config/t-slibgcc-elf-ver
@@ -19,11 +19,11 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
SHLIB_INSTALL = \
- $$(SHELL) $$(srcdir)/mkinstalldirs $$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
+ $$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
$(INSTALL_DATA) $(SHLIB_NAME) \
- $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
- rm -f $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
+ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
+ rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
$(LN_S) $(SHLIB_SONAME) \
- $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
diff --git a/gcc/config/t-slibgcc-sld b/gcc/config/t-slibgcc-sld
index c11a5721966..6bdd521da1b 100644
--- a/gcc/config/t-slibgcc-sld
+++ b/gcc/config/t-slibgcc-sld
@@ -17,11 +17,11 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
SHLIB_INSTALL = \
- $$(SHELL) $$(srcdir)/mkinstalldirs $$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
+ $$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
$(INSTALL_DATA) $(SHLIB_NAME) \
- $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
- rm -f $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
+ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
+ rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
$(LN_S) $(SHLIB_SONAME) \
- $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index b04b59ef690..551c3843af1 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -186,7 +186,7 @@ extern int target_flags;
{ "no-app-regs", MASK_NO_APP_REGS, \
N_("Do not use registers r2 and r5") }, \
{ "strict-align", MASK_STRICT_ALIGN, \
- N_("Enfore strict alignment") }, \
+ N_("Enforce strict alignment") }, \
{ "no-strict-align", -MASK_STRICT_ALIGN, "" }, \
{ "big-switch", MASK_BIG_SWITCH, \
N_("Use 4 byte entries in switch tables") },\
diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
index 8f10577312e..1930bac0b53 100644
--- a/gcc/config/xtensa/linux.h
+++ b/gcc/config/xtensa/linux.h
@@ -1,6 +1,6 @@
/* Xtensa Linux configuration.
Derived from the configuration for GCC for Intel i386 running Linux.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -26,11 +26,11 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
builtin_define ("__ELF__"); \
builtin_define ("__gnu_linux__"); \
builtin_assert ("system=posix"); \
- /* The GNU C++ standard library requires this. */ \
- if (c_language == clk_cplusplus) \
- builtin_define ("_GNU_SOURCE"); \
} while (0)
+#undef SUBTARGET_CPP_SPEC
+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (Xtensa GNU/Linux with ELF)", stderr);
@@ -45,12 +45,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#undef ASM_FINAL_SPEC
-#undef LIB_SPEC
-#define LIB_SPEC \
- "%{shared: -lc} \
- %{!shared: %{pthread:-lpthread} \
- %{profile:-lc_p} %{!profile: -lc}}"
-
#undef LINK_SPEC
#define LINK_SPEC \
"%{shared:-shared} \
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 195d71da642..47befc04be9 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for GNU compiler for Xtensa.
- Copyright 2001,2002 Free Software Foundation, Inc.
+ Copyright 2001,2002,2003 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
@@ -109,8 +109,6 @@ extern int xtensa_mem_offset PARAMS ((unsigned, enum machine_mode));
extern void xtensa_setup_frame_addresses PARAMS ((void));
extern int xtensa_dbx_register_number PARAMS ((int));
extern void override_options PARAMS ((void));
-extern void xtensa_declare_object
- PARAMS ((FILE *, char *, char *, char *, int));
extern long compute_frame_size PARAMS ((int));
extern int xtensa_frame_pointer_required PARAMS ((void));
extern void xtensa_function_prologue PARAMS ((FILE *, int));
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index babb5b06a51..d72a3e94cc2 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
- Copyright 2001,2002 Free Software Foundation, Inc.
+ Copyright 2001,2002,2003 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
@@ -2082,22 +2082,6 @@ print_operand_address (file, addr)
}
-/* Emit either a label, .comm, or .lcomm directive. */
-
-void
-xtensa_declare_object (file, name, init_string, final_string, size)
- FILE *file;
- char *name;
- char *init_string;
- char *final_string;
- int size;
-{
- fputs (init_string, file); /* "", "\t.comm\t", or "\t.lcomm\t" */
- assemble_name (file, name);
- fprintf (file, final_string, size); /* ":\n", ",%u\n", ",%u\n" */
-}
-
-
void
xtensa_output_literal (file, x, mode, labelno)
FILE *file;
@@ -2234,8 +2218,9 @@ xtensa_reorg (first)
continue;
pat = PATTERN (insn);
- if (GET_CODE (pat) == UNSPEC_VOLATILE
- && (XINT (pat, 1) == UNSPECV_SET_FP))
+ if (GET_CODE (pat) == SET
+ && GET_CODE (SET_SRC (pat)) == UNSPEC_VOLATILE
+ && (XINT (SET_SRC (pat), 1) == UNSPECV_SET_FP))
{
set_frame_ptr_insn = insn;
break;
@@ -2718,6 +2703,10 @@ order_regs_for_local_alloc ()
for (i = 0; i < num_arg_regs; i++)
reg_alloc_order[nxt++] = GP_ARG_FIRST + i;
+ /* list the coprocessor registers in order */
+ for (i = 0; i < BR_REG_NUM; i++)
+ reg_alloc_order[nxt++] = BR_REG_FIRST + i;
+
/* list the FP registers in order for now */
for (i = 0; i < 16; i++)
reg_alloc_order[nxt++] = FP_REG_FIRST + i;
@@ -2728,10 +2717,6 @@ order_regs_for_local_alloc ()
reg_alloc_order[nxt++] = 16; /* pseudo frame pointer */
reg_alloc_order[nxt++] = 17; /* pseudo arg pointer */
- /* list the coprocessor registers in order */
- for (i = 0; i < BR_REG_NUM; i++)
- reg_alloc_order[nxt++] = BR_REG_FIRST + i;
-
reg_alloc_order[nxt++] = ACC_REG_FIRST; /* MAC16 accumulator */
}
}
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index c495ef11af2..3a5a7343a01 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -1,5 +1,5 @@
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
- Copyright 2001,2002 Free Software Foundation, Inc.
+ Copyright 2001,2002,2003 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
@@ -208,6 +208,15 @@ extern unsigned xtensa_current_frame_size;
} \
} while (0)
+#define CPP_SPEC " %(subtarget_cpp_spec) "
+
+#ifndef SUBTARGET_CPP_SPEC
+#define SUBTARGET_CPP_SPEC ""
+#endif
+
+#define EXTRA_SPECS \
+ { "subtarget_cpp_spec", SUBTARGET_CPP_SPEC },
+
/* Define this to set the endianness to use in libgcc2.c, which can
not depend on target_flags. */
#define LIBGCC2_WORDS_BIG_ENDIAN XCHAL_HAVE_BE
@@ -345,7 +354,6 @@ extern unsigned xtensa_current_frame_size;
0 - 15 AR[0] - AR[15]
16 FRAME_POINTER (fake = initial sp)
17 ARG_POINTER (fake = initial sp + framesize)
- 18 LOOP_COUNT (loop count special register)
18 BR[0] for floating-point CC
19 - 34 FR[0] - FR[15]
35 MAC16 accumulator */
@@ -394,10 +402,11 @@ extern unsigned xtensa_current_frame_size;
have been exhausted. */
#define REG_ALLOC_ORDER \
-{ 8, 9, 10, 11, 12, 13, 14, 15, 7, 6, 5, 4, 3, 2, 19, \
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, \
+{ 8, 9, 10, 11, 12, 13, 14, 15, 7, 6, 5, 4, 3, 2, \
+ 18, \
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, \
0, 1, 16, 17, \
- 36, \
+ 35, \
}
#define ORDER_REGS_FOR_LOCAL_ALLOC order_regs_for_local_alloc ()
@@ -424,11 +433,6 @@ extern int leaf_function;
#define GP_REG_LAST 17
#define GP_REG_NUM (GP_REG_LAST - GP_REG_FIRST + 1)
-/* Special registers */
-#define SPEC_REG_FIRST 18
-#define SPEC_REG_LAST 18
-#define SPEC_REG_NUM (SPEC_REG_LAST - SPEC_REG_FIRST + 1)
-
/* Coprocessor registers */
#define BR_REG_FIRST 18
#define BR_REG_LAST 18
@@ -473,9 +477,6 @@ extern char xtensa_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER];
== (GET_MODE_CLASS (MODE2) == MODE_FLOAT || \
GET_MODE_CLASS (MODE2) == MODE_COMPLEX_FLOAT))
-/* Register to use for LCOUNT special register. */
-#define COUNT_REGISTER_REGNUM (SPEC_REG_FIRST + 0)
-
/* Register to use for pushing function arguments. */
#define STACK_POINTER_REGNUM (GP_REG_FIRST + 1)
@@ -1539,14 +1540,9 @@ typedef struct xtensa_args {
/* Globalizing directive for a label. */
#define GLOBAL_ASM_OP "\t.global\t"
-/* This says how to define a global common symbol. */
-#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \
- xtensa_declare_object (STREAM, NAME, "\n\t.comm\t", ",%u\n", (SIZE))
-
-/* This says how to define a local common symbol (ie, not visible to
- linker). */
-#define ASM_OUTPUT_LOCAL(STREAM, NAME, SIZE, ROUNDED) \
- xtensa_declare_object (STREAM, NAME, "\n\t.lcomm\t", ",%u\n", (SIZE))
+/* Declare an uninitialized external linkage data object. */
+#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
+ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
/* This is how to output an element of a case-vector that is absolute. */
#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \
@@ -1592,8 +1588,9 @@ typedef struct xtensa_args {
/* Define the strings to put out for each section in the object file. */
-#define TEXT_SECTION_ASM_OP "\t.text" /* instructions */
-#define DATA_SECTION_ASM_OP "\t.data" /* large data */
+#define TEXT_SECTION_ASM_OP "\t.text"
+#define DATA_SECTION_ASM_OP "\t.data"
+#define BSS_SECTION_ASM_OP "\t.section\t.bss"
/* Define output to appear before the constant pool. If the function
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index 5db5c0ca487..cc722b932a9 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -97,6 +97,7 @@
""
"
{
+ rtx srclo;
rtx dstlo = gen_lowpart (SImode, operands[0]);
rtx src1lo = gen_lowpart (SImode, operands[1]);
rtx src2lo = gen_lowpart (SImode, operands[2]);
@@ -105,9 +106,21 @@
rtx src1hi = gen_highpart (SImode, operands[1]);
rtx src2hi = gen_highpart (SImode, operands[2]);
+ /* Either source can be used for overflow checking, as long as it's
+ not clobbered by the first addition. */
+ if (!rtx_equal_p (dstlo, src1lo))
+ srclo = src1lo;
+ else if (!rtx_equal_p (dstlo, src2lo))
+ srclo = src2lo;
+ else
+ {
+ srclo = gen_reg_rtx (SImode);
+ emit_move_insn (srclo, src1lo);
+ }
+
emit_insn (gen_addsi3 (dstlo, src1lo, src2lo));
emit_insn (gen_addsi3 (dsthi, src1hi, src2hi));
- emit_insn (gen_adddi_carry (dsthi, dstlo, src2lo));
+ emit_insn (gen_adddi_carry (dsthi, dstlo, srclo));
DONE;
}")
@@ -209,9 +222,9 @@
rtx src1hi = gen_highpart (SImode, operands[1]);
rtx src2hi = gen_highpart (SImode, operands[2]);
- emit_insn (gen_subsi3 (dstlo, src1lo, src2lo));
emit_insn (gen_subsi3 (dsthi, src1hi, src2hi));
emit_insn (gen_subdi_carry (dsthi, src1lo, src2lo));
+ emit_insn (gen_subsi3 (dstlo, src1lo, src2lo));
DONE;
}")
@@ -2387,7 +2400,7 @@
;; to set up the frame pointer.
(define_insn "set_frame_ptr"
- [(unspec_volatile [(const_int 0)] UNSPECV_SET_FP)]
+ [(set (reg:SI A7_REG) (unspec_volatile [(const_int 0)] UNSPECV_SET_FP))]
""
"*
{
@@ -2401,7 +2414,7 @@
;; Post-reload splitter to remove fp assignment when it's not needed.
(define_split
- [(unspec_volatile [(const_int 0)] UNSPECV_SET_FP)]
+ [(set (reg:SI A7_REG) (unspec_volatile [(const_int 0)] UNSPECV_SET_FP))]
"reload_completed && !frame_pointer_needed"
[(unspec [(const_int 0)] UNSPEC_NOP)]
"")
diff --git a/gcc/configure b/gcc/configure
index 7c20fad4b86..b2811a4c981 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
@@ -3484,17 +3478,87 @@ GNAT_LIBEXC="$LIBS"
LIBS="$save_LIBS"
+# Some systems put ldexp and frexp in libm instead of libc; assume
+# they're both in the same place. jcf-dump needs them.
+save_LIBS="$LIBS"
+LIBS=
+
+echo $ac_n "checking for library containing ldexp""... $ac_c" 1>&6
+echo "configure:3488: checking for library containing ldexp" >&5
+if eval "test \"`echo '$''{'ac_cv_search_ldexp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_func_search_save_LIBS="$LIBS"
+ac_cv_search_ldexp="no"
+cat > conftest.$ac_ext <<EOF
+#line 3495 "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
+ builtin and then its argument prototype would still apply. */
+char ldexp();
+
+int main() {
+ldexp()
+; return 0; }
+EOF
+if { (eval echo configure:3506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_search_ldexp="none required"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+test "$ac_cv_search_ldexp" = "no" && for i in m; do
+LIBS="-l$i $ac_func_search_save_LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3517 "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
+ builtin and then its argument prototype would still apply. */
+char ldexp();
+
+int main() {
+ldexp()
+; return 0; }
+EOF
+if { (eval echo configure:3528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_search_ldexp="-l$i"
+break
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+done
+LIBS="$ac_func_search_save_LIBS"
+fi
+
+echo "$ac_t""$ac_cv_search_ldexp" 1>&6
+if test "$ac_cv_search_ldexp" != "no"; then
+ test "$ac_cv_search_ldexp" = "none required" || LIBS="$ac_cv_search_ldexp $LIBS"
+
+else :
+
+fi
+LDEXP_LIB="$LIBS"
+LIBS="$save_LIBS"
+
+
# See if the stage1 system preprocessor understands the ANSI C
# preprocessor stringification operator. (Used by symcat.h.)
echo $ac_n "checking for preprocessor stringizing operator""... $ac_c" 1>&6
-echo "configure:3493: checking for preprocessor stringizing operator" >&5
+echo "configure:3557: 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 3562 "configure"
#include "confdefs.h"
#define x(y) #y
@@ -3527,12 +3591,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:3595: 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 3600 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <inttypes.h>
@@ -3540,7 +3604,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:3608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_header_inttypes_h=yes
else
@@ -3564,15 +3628,15 @@ fi
for ac_func in times clock dup2 kill getrlimit setrlimit atoll atoq \
sysconf strsignal putc_unlocked fputc_unlocked fputs_unlocked \
fwrite_unlocked fprintf_unlocked getrusage nl_langinfo lstat \
- scandir alphasort
+ scandir alphasort gettimeofday
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3571: checking for $ac_func" >&5
+echo "configure:3635: 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 3640 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3595,7 +3659,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:3663: \"$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 +3685,12 @@ done
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:3625: checking for ssize_t" >&5
+echo "configure:3689: 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 3694 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3657,12 +3721,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:3725: 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 3730 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
@@ -3691,7 +3755,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:3759: 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 +3763,7 @@ else
ac_cv_type_getgroups=cross
else
cat > conftest.$ac_ext <<EOF
-#line 3703 "configure"
+#line 3767 "configure"
#include "confdefs.h"
/* Thanks to Mike Rendell for this test. */
@@ -3724,7 +3788,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:3792: \"$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 +3802,7 @@ fi
if test $ac_cv_type_getgroups = cross; then
cat > conftest.$ac_ext <<EOF
-#line 3742 "configure"
+#line 3806 "configure"
#include "confdefs.h"
#include <unistd.h>
EOF
@@ -3779,7 +3843,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:3847: 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 +3851,7 @@ else
gcc_cv_func_printf_ptr=no
else
cat > conftest.$ac_ext <<EOF
-#line 3791 "configure"
+#line 3855 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -3800,7 +3864,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:3868: \"$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 +3902,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:3906: 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 3911 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3872,17 +3936,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:3940: 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 3945 "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:3950: \"$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 +3971,18 @@ else
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:3911: checking for working vfork" >&5
+echo "configure:3975: 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:3981: 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 3986 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vfork(); below. */
@@ -3941,7 +4005,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:4009: \"$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 +4027,7 @@ fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
else
cat > conftest.$ac_ext <<EOF
-#line 3967 "configure"
+#line 4031 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
@@ -4058,7 +4122,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:4126: \"$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 +4147,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:4151: 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 4156 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4111,7 +4175,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:4179: \"$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 +4446,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:4450: 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 +4461,11 @@ else
esac
else
cat > conftest.$ac_ext <<EOF
-#line 4401 "configure"
+#line 4465 "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:4469: \"$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 +4492,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:4496: 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 +4505,12 @@ else
esac
else
cat > conftest.$ac_ext <<EOF
-#line 4445 "configure"
+#line 4509 "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:4514: \"$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 +4538,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:4542: 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 +4556,7 @@ if test "$cross_compiling" = yes; then
esac
else
cat > conftest.$ac_ext <<EOF
-#line 4496 "configure"
+#line 4560 "configure"
#include "confdefs.h"
/* Test by Zack Weinberg. Modified from MMAP_ANYWHERE test by
@@ -4529,7 +4593,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:4597: \"$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 +4632,7 @@ fi
echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:4572: checking for iconv" >&5
+echo "configure:4636: 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 +4640,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 4644 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -4586,7 +4650,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:4654: \"$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 +4662,7 @@ rm -f conftest*
am_save_LIBS="$LIBS"
LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
cat > conftest.$ac_ext <<EOF
-#line 4602 "configure"
+#line 4666 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -4608,7 +4672,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:4676: \"$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 +4693,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:4697: 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 4703 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -4654,7 +4718,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:4722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_proto_iconv_arg1=""
else
@@ -4692,12 +4756,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:4760: 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 4765 "configure"
#include "confdefs.h"
#undef $ac_tr_decl
#define $ac_tr_decl 1
@@ -4711,7 +4775,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:4779: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "gcc_cv_have_decl_$ac_func=yes"
else
@@ -4813,12 +4877,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:4881: 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 4886 "configure"
#include "confdefs.h"
#undef $ac_tr_decl
#define $ac_tr_decl 1
@@ -4836,7 +4900,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:4904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "gcc_cv_have_decl_$ac_func=yes"
else
@@ -4874,16 +4938,43 @@ EOF
fi
+cat > conftest.$ac_ext <<EOF
+#line 4943 "configure"
+#include "confdefs.h"
+
+#include "ansidecl.h"
+#include "system.h"
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+
+int main() {
+rlim_t l = 0;
+; return 0; }
+EOF
+if { (eval echo configure:4956: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ :
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define rlim_t long
+EOF
+
+fi
+rm -f conftest*
+
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:4973: 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 4978 "configure"
#include "confdefs.h"
#undef $ac_tr_decl
#define $ac_tr_decl 1
@@ -4901,7 +4992,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:4996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "gcc_cv_have_decl_$ac_func=yes"
else
@@ -4935,13 +5026,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:5030: 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 5036 "configure"
#include "confdefs.h"
#include "ansidecl.h"
@@ -4954,7 +5045,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:5049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tms=yes
else
@@ -4977,13 +5068,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:5072: 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 5078 "configure"
#include "confdefs.h"
#include "ansidecl.h"
@@ -4993,7 +5084,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:5088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_type_clock_t=yes
else
@@ -5019,7 +5110,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:5114: 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 +5120,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:5124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
if ./conftest; then
gcc_cv_initfinit_array=yes
@@ -5058,12 +5149,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:5153: 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 5158 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -5080,7 +5171,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:5175: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_mkdir_takes_one_arg=no
else
@@ -5348,14 +5439,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:5443: 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 5450 "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 +5457,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:5461: \"$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 +5468,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 5472 "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 +5479,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:5483: \"$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 +5502,12 @@ fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5415: checking for working const" >&5
+echo "configure:5506: 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 5511 "configure"
#include "confdefs.h"
int main() {
@@ -5465,7 +5556,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:5560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -5486,12 +5577,12 @@ EOF
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:5490: checking for off_t" >&5
+echo "configure:5581: 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 5586 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -5519,12 +5610,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:5523: checking for size_t" >&5
+echo "configure:5614: 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 5619 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -5554,19 +5645,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:5649: 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 5654 "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:5661: \"$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 +5678,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:5591: checking for alloca" >&5
+echo "configure:5682: 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 5687 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -5620,7 +5711,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:5715: \"$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 +5743,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:5747: 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 5752 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -5682,12 +5773,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:5777: 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 5782 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5710,7 +5801,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:5805: \"$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 +5828,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:5832: 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 +5836,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 5749 "configure"
+#line 5840 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -5764,7 +5855,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:5859: \"$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 +5878,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:5882: 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 5887 "configure"
#include "confdefs.h"
#include <features.h>
@@ -5828,17 +5919,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:5923: 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 5928 "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:5933: \"$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 +5960,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:5964: 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 5969 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5897,7 +5988,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:5992: \"$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 +6029,7 @@ fi
echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:5942: checking for iconv" >&5
+echo "configure:6033: 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 +6037,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 6041 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -5956,7 +6047,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:6051: \"$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 +6059,7 @@ rm -f conftest*
am_save_LIBS="$LIBS"
LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
cat > conftest.$ac_ext <<EOF
-#line 5972 "configure"
+#line 6063 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -5978,7 +6069,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:6073: \"$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 +6090,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:6094: 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 6100 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -6024,7 +6115,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:6119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_proto_iconv_arg1=""
else
@@ -6053,19 +6144,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:6148: 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 6153 "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:6160: \"$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 +6179,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:6183: 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 6188 "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:6195: \"$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 +6212,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:6216: 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 +6235,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:6239: 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 +6255,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:6259: 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 6264 "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:6269: \"$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 +6286,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:6290: 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 6295 "configure"
#include "confdefs.h"
#include <libintl.h>
extern int _nl_msg_cat_cntr;
@@ -6209,7 +6300,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:6304: \"$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 +6316,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:6320: 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 6327 "configure"
#include "confdefs.h"
#include <libintl.h>
extern int _nl_msg_cat_cntr;
@@ -6241,7 +6332,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:6336: \"$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 +6365,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:6369: 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 6374 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6302,7 +6393,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:6397: \"$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 +6422,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:6426: 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 +6456,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:6460: 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 +6493,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:6497: 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 +6543,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:6547: 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 +6577,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:6581: 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 +6613,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:6617: 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 +6685,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:6689: 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 +6718,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:6722: 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 +6763,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:6767: checking for catalogs to be installed" >&5
# Look for .po and .gmo files in the source directory.
CATALOGS=
XLINGUAS=
@@ -6730,7 +6821,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:6825: 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 +6830,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:6834: 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 6841 "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 +6848,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:6852: \"$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 +6859,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 6863 "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 +6870,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:6874: \"$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 +6912,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:6916: checking registry key on windows hosts" >&5
cat >> confdefs.h <<EOF
#define WIN32_REGISTRY_KEY "$gcc_cv_win32_registry_key"
EOF
@@ -7035,7 +7126,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:7130: checking what assembler to use" >&5
gcc_cv_as=
gcc_cv_gas_major_version=
gcc_cv_gas_minor_version=
@@ -7129,7 +7220,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:7224: checking what linker to use" >&5
gcc_cv_ld=
gcc_cv_gld_major_version=
gcc_cv_gld_minor_version=
@@ -7222,7 +7313,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:7317: 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 +7325,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:7329: 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 +7337,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:7341: 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 +7385,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:7389: 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 +7425,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:7429: 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 +7448,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:7452: 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 \
@@ -7383,8 +7474,8 @@ elif test x$gcc_cv_as != x; then
# the date string after the version number.
ld_ver=`$gcc_cv_ld --version 2>/dev/null | head -1`
if echo "$ld_ver" | grep GNU > /dev/null; then
- ld_vers=`echo $ld_ver | sed -n 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\(\|\.[0-9][0-9]*\)\)\([ ].*\|\)$,\1,p'`
- ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
+ ld_vers=`echo $ld_ver | sed -n 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\(\|\.[0-9][0-9]*\(\|\.[0-9][0-9]*\)\)\)\([ ].*\|\)$,\1,p'`
+ ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
if test 0"$ld_date" -lt 20020404; then
if test -n "$ld_date"; then
# If there was date string, but was earlier than 2002-04-04, fail
@@ -7418,10 +7509,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 +7524,7 @@ esac
echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6
-echo "configure:7433: checking assembler leb128 support" >&5
+echo "configure:7528: 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 +7569,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:7573: 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 +7650,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:7654: 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 +7673,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:7677: checking assembler thread-local storage support" >&5
gcc_cv_as_tls=no
conftest_s=
tls_first_major=
@@ -7656,6 +7751,41 @@ foo: data8 25
tls_first_major=2
tls_first_minor=13
;;
+ s390-*-*)
+ conftest_s='
+ .section ".tdata","awT",@progbits
+foo: .long 25
+ .text
+ .long foo@TLSGD
+ .long foo@TLSLDM
+ .long foo@DTPOFF
+ .long foo@NTPOFF
+ .long foo@GOTNTPOFF
+ .long foo@INDNTPOFF
+ l %r1,foo@GOTNTPOFF(%r12)
+ l %r1,0(%r1):tls_load:foo
+ bas %r14,0(%r1,%r13):tls_gdcall:foo
+ bas %r14,0(%r1,%r13):tls_ldcall:foo'
+ tls_first_major=2
+ tls_first_minor=14
+ ;;
+ s390x-*-*)
+ conftest_s='
+ .section ".tdata","awT",@progbits
+foo: .long 25
+ .text
+ .quad foo@TLSGD
+ .quad foo@TLSLDM
+ .quad foo@DTPOFF
+ .quad foo@NTPOFF
+ .quad foo@GOTNTPOFF
+ lg %r1,foo@GOTNTPOFF(%r12)
+ larl %r1,foo@INDNTPOFF
+ brasl %r14,__tls_get_offset@PLT:tls_gdcall:foo
+ brasl %r14,__tls_get_offset@PLT:tls_ldcall:foo'
+ tls_first_major=2
+ tls_first_minor=14
+ ;;
esac
if test -z "$tls_first_major"; then
:
@@ -7686,7 +7816,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:7820: 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 +7866,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:7870: 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 +7894,7 @@ EOF
fi
echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6
-echo "configure:7768: checking assembler supports -relax" >&5
+echo "configure:7898: 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 +7922,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:7926: 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 +7949,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:7953: 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 +7989,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:7993: 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 +8028,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:8032: 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 +8055,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:8059: 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
@@ -7952,10 +8082,52 @@ EOF
echo "$ac_t""$gcc_cv_as_gotoff_in_data" 1>&6
;;
+
+ ia64*-*-*)
+ echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6
+echo "configure:8089: checking assembler supports ltoffx and ldxmov" >&5
+if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ gcc_cv_as_ltoffx_ldxmov_relocs=unknown
+ 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 14 \
+ -o "$gcc_cv_gas_major_version" -gt 2; then
+ gcc_cv_as_ltoffx_ldxmov_relocs=yes
+ fi
+ elif test x$gcc_cv_as != x; then
+ cat > conftest.s << 'EOF'
+ .text
+ addl r15 = @ltoffx(x#), gp
+ ;;
+ ld8.mov r16 = [r15], x#
+EOF
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ gcc_cv_as_ltoffx_ldxmov_relocs=yes
+ else
+ gcc_cv_as_ltoffx_ldxmov_relocs=no
+ fi
+ rm -f conftest.s conftest.o
+ fi
+
+fi
+
+echo "$ac_t""$gcc_cv_as_ltoffx_ldxmov_relocs" 1>&6
+ if test "x$gcc_cv_as_ltoffx_ldxmov_relocs" = xyes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_AS_LTOFFX_LDXMOV_RELOCS 1
+EOF
+
+ fi
+ ;;
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:8131: 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 +8184,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:8188: 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 +8213,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:8217: 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
@@ -8057,6 +8229,13 @@ elif test x$gcc_cv_as != x -a x"$insn" != x ; then
# ??? This fails with non-gnu grep.
if $gcc_cv_as --gstabs -o conftest.o conftest.s > /dev/null 2>&1 ; then
gcc_cv_as_gstabs_flag="yes"
+ # The native Solaris 9/Intel assembler doesn't understand --gstabs
+ # and warns about it, but still exits successfully. So check for
+ # this.
+ if $gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | \
+ grep -i warning > /dev/null ; then
+ gcc_cv_as_gstabs_flag="no"
+ fi
fi
rm -f conftest.s conftest.o
fi
@@ -8069,25 +8248,25 @@ 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:8252: 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
gcc_cv_ld_ro_rw_mix=read-write
fi
elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then
- echo '.section "myfoosect", "a"' > conftest1.s
- echo '.section "myfoosect", "aw"' > conftest2.s
+ echo '.section myfoosect, "a"' > conftest1.s
+ echo '.section myfoosect, "aw"' > conftest2.s
echo '.byte 1' >> conftest2.s
- echo '.section "myfoosect", "a"' > conftest3.s
+ echo '.section myfoosect, "a"' > conftest3.s
echo '.byte 0' >> conftest3.s
- if $gcc_cv_as -o conftest1.o conftest1.s \
- && $gcc_cv_as -o conftest2.o conftest2.s \
- && $gcc_cv_as -o conftest3.o conftest3.s \
+ if $gcc_cv_as -o conftest1.o conftest1.s > /dev/null 2>&1 \
+ && $gcc_cv_as -o conftest2.o conftest2.s > /dev/null 2>&1 \
+ && $gcc_cv_as -o conftest3.o conftest3.s > /dev/null 2>&1 \
&& $gcc_cv_ld -shared -o conftest1.so conftest1.o \
- conftest2.o conftest3.o; then
+ conftest2.o conftest3.o > /dev/null 2>&1; then
gcc_cv_ld_ro_rw_mix=`$gcc_cv_objdump -h conftest1.so \
- | grep -A1 myfoosect`
+ | sed -e '/myfoosect/!d' -e N`
if echo "$gcc_cv_ld_ro_rw_mix" | grep CONTENTS > /dev/null; then
if echo "$gcc_cv_ld_ro_rw_mix" | grep READONLY > /dev/null; then
gcc_cv_ld_ro_rw_mix=read-only
@@ -8107,7 +8286,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:8290: 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 +8310,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:8314: 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 +8514,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:8518: 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"
@@ -8891,6 +9070,7 @@ s%@FLEX@%$FLEX%g
s%@BISON@%$BISON%g
s%@COLLECT2_LIBS@%$COLLECT2_LIBS%g
s%@GNAT_LIBEXC@%$GNAT_LIBEXC%g
+s%@LDEXP_LIB@%$LDEXP_LIB%g
s%@TARGET_GETGROUPS_T@%$TARGET_GETGROUPS_T%g
s%@LIBICONV@%$LIBICONV%g
s%@gcc_cv_initfinit_array@%$gcc_cv_initfinit_array%g
diff --git a/gcc/configure.in b/gcc/configure.in
index c0afb232296..8b0700ad6af 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
@@ -641,6 +641,15 @@ GNAT_LIBEXC="$LIBS"
LIBS="$save_LIBS"
AC_SUBST(GNAT_LIBEXC)
+# Some systems put ldexp and frexp in libm instead of libc; assume
+# they're both in the same place. jcf-dump needs them.
+save_LIBS="$LIBS"
+LIBS=
+AC_SEARCH_LIBS(ldexp, m)
+LDEXP_LIB="$LIBS"
+LIBS="$save_LIBS"
+AC_SUBST(LDEXP_LIB)
+
# See if the stage1 system preprocessor understands the ANSI C
# preprocessor stringification operator. (Used by symcat.h.)
AC_C_STRINGIZE
@@ -667,7 +676,7 @@ dnl gcc_AC_C_ENUM_BF_UNSIGNED
AC_CHECK_FUNCS(times clock dup2 kill getrlimit setrlimit atoll atoq \
sysconf strsignal putc_unlocked fputc_unlocked fputs_unlocked \
fwrite_unlocked fprintf_unlocked getrusage nl_langinfo lstat \
- scandir alphasort)
+ scandir alphasort gettimeofday)
AC_CHECK_TYPE(ssize_t, int)
@@ -730,6 +739,15 @@ gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
#endif
])
+AC_TRY_COMPILE([
+#include "ansidecl.h"
+#include "system.h"
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+],[rlim_t l = 0;],,[AC_DEFINE([rlim_t],[long],
+[Define to \`long' if <sys/resource.h> doesn't define.])])
+
gcc_AC_CHECK_DECLS(times, , ,[
#include "ansidecl.h"
#include "system.h"
@@ -1599,8 +1617,8 @@ elif test x$gcc_cv_as != x; then
ld_ver=`$gcc_cv_ld --version 2>/dev/null | head -1`
if echo "$ld_ver" | grep GNU > /dev/null; then
changequote(,)dnl
- ld_vers=`echo $ld_ver | sed -n 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\(\|\.[0-9][0-9]*\)\)\([ ].*\|\)$,\1,p'`
- ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
+ ld_vers=`echo $ld_ver | sed -n 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\(\|\.[0-9][0-9]*\(\|\.[0-9][0-9]*\)\)\)\([ ].*\|\)$,\1,p'`
+ ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
if test 0"$ld_date" -lt 20020404; then
if test -n "$ld_date"; then
# If there was date string, but was earlier than 2002-04-04, fail
@@ -1633,10 +1651,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
;;
@@ -1865,6 +1887,41 @@ foo: data8 25
tls_first_major=2
tls_first_minor=13
;;
+ s390-*-*)
+ conftest_s='
+ .section ".tdata","awT",@progbits
+foo: .long 25
+ .text
+ .long foo@TLSGD
+ .long foo@TLSLDM
+ .long foo@DTPOFF
+ .long foo@NTPOFF
+ .long foo@GOTNTPOFF
+ .long foo@INDNTPOFF
+ l %r1,foo@GOTNTPOFF(%r12)
+ l %r1,0(%r1):tls_load:foo
+ bas %r14,0(%r1,%r13):tls_gdcall:foo
+ bas %r14,0(%r1,%r13):tls_ldcall:foo'
+ tls_first_major=2
+ tls_first_minor=14
+ ;;
+ s390x-*-*)
+ conftest_s='
+ .section ".tdata","awT",@progbits
+foo: .long 25
+ .text
+ .quad foo@TLSGD
+ .quad foo@TLSLDM
+ .quad foo@DTPOFF
+ .quad foo@NTPOFF
+ .quad foo@GOTNTPOFF
+ lg %r1,foo@GOTNTPOFF(%r12)
+ larl %r1,foo@INDNTPOFF
+ brasl %r14,__tls_get_offset@PLT:tls_gdcall:foo
+ brasl %r14,__tls_get_offset@PLT:tls_ldcall:foo'
+ tls_first_major=2
+ tls_first_minor=14
+ ;;
esac
if test -z "$tls_first_major"; then
:
@@ -2101,6 +2158,41 @@ EOF
[Define true if the assembler supports '.long foo@GOTOFF'.])
AC_MSG_RESULT($gcc_cv_as_gotoff_in_data)
;;
+
+ ia64*-*-*)
+ AC_CACHE_CHECK([assembler supports ltoffx and ldxmov],
+ gcc_cv_as_ltoffx_ldxmov_relocs, [
+ gcc_cv_as_ltoffx_ldxmov_relocs=unknown
+ 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 14 \
+ -o "$gcc_cv_gas_major_version" -gt 2; then
+ gcc_cv_as_ltoffx_ldxmov_relocs=yes
+ fi
+ elif test x$gcc_cv_as != x; then
+ cat > conftest.s << 'EOF'
+changequote(,)dnl
+ .text
+ addl r15 = @ltoffx(x#), gp
+ ;;
+ ld8.mov r16 = [r15], x#
+EOF
+changequote([,])dnl
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ gcc_cv_as_ltoffx_ldxmov_relocs=yes
+ else
+ gcc_cv_as_ltoffx_ldxmov_relocs=no
+ fi
+ rm -f conftest.s conftest.o
+ fi
+ ])
+ if test "x$gcc_cv_as_ltoffx_ldxmov_relocs" = xyes; then
+ AC_DEFINE(HAVE_AS_LTOFFX_LDXMOV_RELOCS, 1,
+ [Define if your assembler supports ltoffx and ldxmov relocations.])
+ fi
+ ;;
esac
AC_MSG_CHECKING(assembler dwarf2 debug_line support)
@@ -2200,6 +2292,13 @@ elif test x$gcc_cv_as != x -a x"$insn" != x ; then
# ??? This fails with non-gnu grep.
if $gcc_cv_as --gstabs -o conftest.o conftest.s > /dev/null 2>&1 ; then
gcc_cv_as_gstabs_flag="yes"
+ # The native Solaris 9/Intel assembler doesn't understand --gstabs
+ # and warns about it, but still exits successfully. So check for
+ # this.
+ if $gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | \
+ grep -i warning > /dev/null ; then
+ gcc_cv_as_gstabs_flag="no"
+ fi
fi
rm -f conftest.s conftest.o
fi
@@ -2216,18 +2315,18 @@ if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then
gcc_cv_ld_ro_rw_mix=read-write
fi
elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then
- echo '.section "myfoosect", "a"' > conftest1.s
- echo '.section "myfoosect", "aw"' > conftest2.s
+ echo '.section myfoosect, "a"' > conftest1.s
+ echo '.section myfoosect, "aw"' > conftest2.s
echo '.byte 1' >> conftest2.s
- echo '.section "myfoosect", "a"' > conftest3.s
+ echo '.section myfoosect, "a"' > conftest3.s
echo '.byte 0' >> conftest3.s
- if $gcc_cv_as -o conftest1.o conftest1.s \
- && $gcc_cv_as -o conftest2.o conftest2.s \
- && $gcc_cv_as -o conftest3.o conftest3.s \
+ if $gcc_cv_as -o conftest1.o conftest1.s > /dev/null 2>&1 \
+ && $gcc_cv_as -o conftest2.o conftest2.s > /dev/null 2>&1 \
+ && $gcc_cv_as -o conftest3.o conftest3.s > /dev/null 2>&1 \
&& $gcc_cv_ld -shared -o conftest1.so conftest1.o \
- conftest2.o conftest3.o; then
+ conftest2.o conftest3.o > /dev/null 2>&1; then
gcc_cv_ld_ro_rw_mix=`$gcc_cv_objdump -h conftest1.so \
- | grep -A1 myfoosect`
+ | sed -e '/myfoosect/!d' -e N`
if echo "$gcc_cv_ld_ro_rw_mix" | grep CONTENTS > /dev/null; then
if echo "$gcc_cv_ld_ro_rw_mix" | grep READONLY > /dev/null; then
gcc_cv_ld_ro_rw_mix=read-only
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 096b906a633..b007478eef9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,7 +1,1228 @@
+2003-06-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/5754
+ * parse.y (structsp): Improve error handling of invalid nested
+ template classes.
+
+2003-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ * mangle.c: Include ggc.h, gt-cp-mangle.h.
+ (mangle_conv_op_name_for_type): Use htab_create_ggc instead of
+ htab_create.
+ * config-lang.in (gtfiles): Add cp/mangle.c.
+ * Make-lang.in (gt-cp-mangle.h): Depend on s-gtype.
+ (cp/mangle.o): Depend on gt-cp-mangle.h.
+
+2003-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ * mangle.c (hash_type): val is the TREE_LIST itself, not a pointer
+ to it.
+
+2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/10784
+ * call.c (joust): Warn about choosing conversion sequence only if
+ -Wconversion.
+
+2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/10864
+ * call.c (op_error): Tidy.
+ * error.c (dump_expr): Properly format 'T()' when T is an
+ aggregate type.
+
+2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/10915
+ * decl.c (grok_op_properties): Warn possible confusing conversion
+ only if -Wconversion.
+
+2003-06-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10845
+ * pt.c (try_class_unification): Correct handling of member class
+ templates.
+
+2003-06-19 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10939
+ * Make-lang.in (decl.o): Depend on input.h.
+ * decl.c (input.h): Include it.
+ (cp_finish_decl): Revert previous change:
+ 2003-06-19 Mark Mitchell <mark@codesourcery.com>
+ * decl.c (cp_finish_decl): Remove support for RESULT_DECLs.
+ Don't check building_stmt_tree.
+ * pt.c (tsubst_decl): Do not try to substitute into non-dependent
+ functions.
+
+ PR c++/9649
+ * cp-tree.h (pushdecl_class_level): Change prototype.
+ (push_class_level_binding): Likewise.
+ * decl.c (add_binding): Reject duplicate static data members.
+ (pushdecl_class_level): Return a value indicating whether or not
+ the binding was valid.
+ (push_class_level_binding): Likewise.
+ * semantics.c (finish_member_declaration): Don't keep invalid
+ declarations.
+
+2003-06-19 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/11041
+ * call.c (initialize_reference): Do not use cp_finish_decl to emit
+ temporary variables.
+ * cp-tree.h (static_aggregates): Declare.
+ (pushdecl_top_level_and_finish): Likewise.
+ * decl.c (pushdecl_top_level_1): New function.
+ (pushdecl_top_level): Use it.
+ (pushdecl_top_level_and_finish): New function.
+ (initialize_local_var): Remove redundant code.
+ (cp_finish_decl): Remove support for RESULT_DECLs. Don't check
+ building_stmt_tree.
+ * decl.h (static_aggregates): Remove.
+ * decl2.c (get_guard): Use pushdecl_top_level_and_finish.
+ * rtti.c (get_tinfo_decl): Use pushdecl_top_level_and_finish.
+ (tinfo_base_init): Likewise.
+
+2003-06-19 Matt Austern <austern@apple.com>
+
+ PR c++/11228
+ * init.c (build_zero_init): Assert that number of array elements
+ is an integer constant.
+ (build_default_init) Don't use build_zero_init for arrays with
+ variable number of elements.
+
+2003-06-17 Mark Mitchell <mark@codesourcery.com>
+
+ * mangle.c (mangle_conv_op_name_for_type): Correct sprintf format
+ string again.
+
+2003-06-17 Mark Mitchell <mark@codesourcery.com>
+
+ * mangle.c (mangle_conv_op_name_for_type): Correct sprintf format
+ string.
+
+2003-06-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/10929
+ * decl.c (grokfndecl): Don't mark a function inline for
+ -finline-functions if it isn't defined.
+
+2003-06-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10712
+ * class.c (handle_using_decl): Robustify.
+
+ PR c++/11105
+ * cp-tree.h (DECL_CONV_FN_TYPE): New method.
+ * decl.c (lookup_name_real): Backport conversion operator code
+ from mainline.
+ * mangle.c (struct globals): Remove internal_mangling_p.
+ (write_unqualified_name): Use DECL_CONV_FN_TYPE.
+ (write_template_parm): Don't write out the level number.
+ (conv_type_names): New variable.
+ (hash_type): New function.
+ (compare_type): Likewise.
+ (mangle_conv_op_name_for_type): Don't try to mangle conversion
+ operator names.
+ * search.c (lookup_conversion_operator): New function.
+ (lookup_fnfields_1): Use it.
+
+2003-06-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10635
+ * typeck.c (build_c_cast): Check that the destination type is
+ complete.
+
+2003-06-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/10968
+ * pt.c (mark_decl_instantiated): Clear DECL_COMDAT.
+
+2003-06-09 Zack Weinberg <zack@codesourcery.com>
+
+ PR 8861
+ * mangle.c (write_real_cst): New function. Implement
+ ABI-compliant mangling of floating-point literals when
+ -fabi-version>=2; provide backward compatibility with 3.3 when
+ -fabi-version=1 (with warning). Clarify commentary.
+ (write_template_arg_literal): Use write_real_cst.
+
+2003-06-08 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/11039
+ * decl2.c (handle_class_head): Remove implicitness in typename
+ appeared as elaborated type specifier in declaration.
+
+2003-06-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10940
+ * pt.c (check_explicit_specialization): Check for 'static'
+ earlier.
+
+2003-05-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10956
+ * pt.c (instantiate_decl): Don't use full template arguments if
+ we are dealing with specializations.
+
+2003-05-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (ENABLE_CHECKING_SCOPES): New macro.
+ (binding_depth): Unconditionally define.
+ (is_class_level): Likewise.
+ (indent): Likewise. Take an indenting parameter.
+ (push_binding_level): Remove conditional definittion.
+ (pop_binding_level): Likewise.
+ (suspend_binding_level): Likewise.
+ (resume_binding_level): Likewise.
+ (pushlevel): Likewise.
+ (pushlevel_class): Likewise.
+ (poplevel_class): Likewise.
+ (pop_everything): Likewise.
+
+2003-05-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (global_scope_p): New macro.
+ (pop_binding_level): Use it.
+ (suspend_binding_level): Likewise.
+ (global_bindings_p): Likewise.
+ (print_other_binding_stack): Likewise.
+ (print_binding_stack): Likewise.
+ (maybe_push_to_top_level): Likewise.
+ (pushdecl_namespace_level): Likewise.
+ (start_decl): Likewise.
+ (cp_finish_decl): Likewise.
+ (start_function): Likewise.
+ (cxx_init_decl_processing): Don't refer to global_binding_level.
+ (global_binding_level): Remove.
+
+2003-05-25 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10849
+ * search.c (type_access_control): Don't check access when
+ processing_specialization.
+
+2003-05-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10682
+ * pt.c (instantiate_class_template): Use DECL_ARTIFICIAL to
+ check for implicitly created typedef to an enum.
+
+2003-05-20 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (free_binding_entry): Fix thinko.
+
+2003-05-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cp-tree.h (struct binding_entry_s): New datatype.
+ (binding_table): Declare.
+ (binding_entry): Likewise.
+ (bt_foreach_proc): Likewise.
+ (binding_table_foreach): Likewise.
+ (binding_table_find): Likewise.
+ (cxx_remember_type_decls): Likewise.
+ (CLASSTYPE_TAGS): Remove.
+ (CLASSTYPE_NESTED_UDTS): New macro.
+ (struct lang_type_class): Remove tags field. Add nested_types.
+ * decl.c (ENTRY_INDEX): New macro.
+ (free_binding_entry): New free list.
+ (binding_entry_make): New function.
+ (binding_entry_free): Likewise.
+ (struct binding_table_s): New datatype.
+ (SCOPE_DEFAULT_HT_SIZE): New macro.
+ (CLASS_SCOPE_HT_SIZE): Likewise.
+ (NAMESPACE_ORDINARY_HT_SIZE): Likewise.
+ (NAMESPACE_STD_HT_SIZE): Likewise.
+ (GLOBAL_SCOPE_HT_SIZE): Likewise.
+ (binding_table_construct): New function.
+ (binding_table_free): Likewise.
+ (binding_table_new): Likewise.
+ (binding_table_expand): Likewise.
+ (binding_table_insert): Likewise.
+ (binding_table_find): Likewise.
+ (binding_table_find_anon_type): Likewise.
+ (binding_table_reverse_maybe_remap): Likewise.
+ (binding_table_remove_anonymous_types): Likewise.
+ (binding_table_foreach): Likewise.
+ (struct cp_binding_level): Remove tags field. Add type_decls.
+ (pop_binding_level): Free binding_entries if possible.
+ (kept_level_p): Tidy.
+ (poplevel): Remove unused variable tags.
+ (bt_print_entry): New function.
+ (print_binding_level): Use it.
+ (push_namespace): Construct binding table.
+ (maybe_process_template_type_declaration): Tidy.
+ (pushtag): Likewise.
+ (clear_anon_tags): Likewise.
+ (cxx_remember_type_decls): New function.
+ (lookup_tag): Tidy.
+ (lookup_tag_reverse): Likewise.
+ (cxx_init_decl_processing): Construct binding_table for the global
+ scope.
+ (store_parm_decls): Remove pointless code.
+ (gettags): Remove.
+ (storetags): Likewise.
+ * class.c (unreverse_member_declarations): Don't touch
+ CLASSTYPE_TAGS.
+ (pushclass): Remember CLASSTYPE_NESTED_UTDS.
+ * pt.c (instantiate_class_template): Remove reference to
+ CLASSTYPE_TAGS. Remeber CLASSTYPE_NESTED_UTDS.
+ (bt_instantiate_type_proc): New function.
+ (do_type_instantiation): Use it.
+ * search.c (lookup_field_r): Use binding_table_find.
+ * semantics.c (begin_class_definition): Remove reference to
+ CLASSTYPE_TAGS. Nullify CLASSTYPE_NESTED_UTDS.
+
+2003-05-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/5388
+ * call.c (conditional_conversion): Don't consider implicit
+ conversions if T2 is a base of T1.
+ * cp-tree.h (DERIVED_FROM_P, UNIQUELY_DERIVED_FROM_P): Make boolean.
+ (ACCESSIBLY_UNIQUELY_DERIVED_P, PUBLICLY_UNIQUELY_DERIVED_P): Likewise.
+
+ PR c++/10661
+ * pt.c (instantiate_class_template): Also instantiate our
+ enclosing class.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-02 Richard Henderson <rth@redhat.com>
+
+ PR c++/10570
+ * cfns.gperf: Comment out POSIX thread cancellation points,
+ plus abort and raise.
+ * cfns.h: Regenerate.
+
+2003-05-01 Mark Mitchell <mark@codesourcery.com>
+
+ * decl2.c (comdat_linkage): Don't externalize explicit
+ instantiations.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10551
+ * pt.c (mark_decl_instantiated): Defer all explicit instantiations
+ that have not yet been written out.
+
+ PR c++/10549
+ * class.c (layout_class_type): Mark overlong bitfields as having
+ the maximum size permitted by their type, after layout.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10527
+ * error.c (dump_expr): Correctly handling of NEW_EXPR.4
+
+2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ * lang-options.h: Fix typo.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10515
+ * cp-tree.h (lookup_field_1): Declare it.
+ * search.c (lookup_field_1): Make it public.
+ * decl.c (reshape_init): Handle designated initializers.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (maybe_commonize_var): Further tweak support for systems
+ without weak symbols.
+
+2003-04-27 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (maybe_commonize_var): Fix thinko in last patch.
+
+ PR c++/10506
+ * method.c (use_thunk): Decrement immediate_size_expand.
+
+ PR c++/10503
+ * cp-tree.h (DECL_VAR_MARKED_P): New macro.
+ (DECL_MAYBE_TEMPLATE): Remove.
+ * class.c (fixed_type_or_null): Avoid infinite recursion.
+
+2003-04-27 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (maybe_commonize_var): Make the code match the comments.
+ * pt.c (instantiate_decl): Move call to import_export_decl.
+
+2003-04-25 Mark Mitchell <mark@codesourcery.com>
+
+ * decl2.c (finish_file): Don't call import_export_decl for
+ functions that are not defined.
+ (handle_class_head): Robustify.
+ * pt.c (instantiate_decl): Do not call cp_finish_decl for
+ variables that are not defined.
+
+2003-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10471
+ * call.c (build_cxx_call): Robustify.
+
+2003-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10451
+ * decl.c (grokdeclarator): Correct logic for "mutable" errors.
+
+2003-04-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10446
+ * search.c (lookup_fnfields_1): Handle empty slots in the method
+ vector.
+
+2003-04-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10428
+ * decl.c (check_elaborated_type_specifier): New function, split
+ out from ...
+ (xref_tag): ... here. Use the new function in more places.
+
+2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * call.c (build_over_call): Use build_cxx_call.
+ (build_cxx_call): New method, split out of build_over_call.
+ * cp-tree.h (language_function): Add can_throw.
+ (build_cxx_call): Declare it.
+ * decl.c (finish_function): If a function does not contain any
+ calls to functions that can throw an exception, indicate that
+ fact.
+ * decl2.c (mark_used): Do not defer the instantiation of
+ functions, if the current function does not throw.
+ * optimize.c (maybe_clone_body): Copy TREE_NOTHROW to the clones.
+ * pt.c (instantiate_decl): Make sure import_export_decl is called
+ before emitting things.
+ * rtti.c (throw_bad_cast): Use build_cxx_call.
+ (build_dynamic_cast_1): Likewise.
+ * typeck.c (build_function_call): Likewise.
+
+2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9881
+ * typeck.c (build_unary_op): Fold all COMPONENT_REF addr
+ expressions. Reverts my 2002-08-08 patch.
+
+2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10405
+ * search.c (lookup_field_1): Final scan goes backwards for
+ types, forwards for non-types.
+
+2003-04-15 Jason Merrill <jason@redhat.com>
+
+ * decl2.c (mark_used): Don't instantiate anything if
+ skip_evaluation.
+
+2003-04-15 Mark Mitchell <mark@codesourcery.com>
+
+ * init.c (build_new_1): Use nullexp instead of null_node to avoid
+ unwanted macro expansion.
+
+2003-04-14 Ziemowit Laski <zlaski@apple.com>
+
+ * tree.c (build_cplus_array_type_1): Do not call
+ uses_template_parms() on a NULL index_type.
+
+2003-04-14 Andreas Schwab <schwab@suse.de>
+
+ * init.c (build_new_1): Test use_cookie instead of cookie_size to
+ avoid code-gen bug on ia64.
+
+2003-04-13 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10300
+ * init.c (build_new_1): Correct logic for checking whether the
+ return value from the allocation function was zero.
+
+2003-03-31 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10278
+ * spew.c (yyerror): Avoid crashing at all costs.
+
+2003-03-31 Jason Merrill <jason@redhat.com>
+
+ PR java/10145
+ * class.c (check_field_decl): Don't set DECL_ALIGN.
+
+2003-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7647
+ * search.c (lookup_field_1): Add want_type parameter.
+ (lookup_field_r): Adjust call to lookup_field_1.
+
+2003-03-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/10245
+ * cvt.c (force_rvalue): New fn.
+ * call.c (build_conditional_expr): Use it.
+ * cp-tree.h: Declare it.
+
+2003-03-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10047
+ * decl2.c (finish_file): Don't warn about explicitly instantiated
+ inline decls.
+
+2003-03-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10158
+ * spew.c (snarf_method):Set DECL_INITIALIZED_IN_CLASS for
+ members.
+ * pt.c (instantiate_decl): Only reduce the template args for
+ friends that are not defined in class.
+
+2003-03-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9898, PR c++/383, DR 322
+ * pt.c (maybe_adjust_types_for_deduction) [DEDUCE_CONV]: Look
+ through reference types on both PARM and ARG.
+
+ PR c++/10199
+ * call.c (build_method_call): Deal with LOOKUP_EXPR.
+ * semantics.c (finish_object_call_expr): Use build_method_call
+ when in a template decl.
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * semantics.c (genrtl_named_return_value): Adjust calls to
+ put_var_into_stack.
+ * typeck.c (cxx_mark_addressable): Likewise.
+
+2003-03-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/6412
+ * cp/decl2.c (arg_assoc_class): Correct check for namespace-scope
+ friends.
+ * cp/pt.c (instantiate_class_template): Fix formatting.
+
+2003-03-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/8316, c++/9315, c++/10136
+ * call.c (joust): Improve wording.
+
+2003-03-18 Roger Sayle <roger@eyesopen.com>
+
+ PR c++/10031
+ * decl.c (duplicate_decls): Use the new type when prototyping
+ anticipated decls, even when the types match. This defines the
+ exception list for the built-in function.
+
+2003-03-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/10091
+ * typeck.c (build_class_member_access_expr): Compare
+ TYPE_MAIN_VARIANTs.
+
+ * decl.c (finish_function): Don't skip a block.
+
+ PR c++/9993
+ * decl.c (finish_function): Only allow the NRVO to use variables
+ declared at function scope.
+
+2003-03-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9629
+ * cp-tree.h (struct language_function): Add in_base_initializer.
+ (in_base_initializer): define it.
+ (expand_member_init): Remove INIT param.
+ * init.c (expand_member_init): Remove INIT param, return the member.
+ (emit_mem_initializers): Set in_base_initializer.
+ * class.c (build_base_path): Check in_base_initializer.
+ * parse.y (begin_member_init): New reduction.
+ (member_init): Use it.
+ * pt.c (tsubst_initializer_list): Set in_base_initializer.
+
+2003-03-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/6440
+ * pt.c (maybe_process_partial_specialization): Handle
+ member class template when enclosing class template is
+ explicit specialized.
+ (most_general_template): Stop looking when DECL is already
+ specialized.
+
+2003-03-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/9420
+ * search.c (lookup_conversions): Call complete_type here.
+ * call.c (implicit_conversion): Not here.
+
+2003-03-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/9336
+ * decl2.c (lookup_arg_dependent): Handle error_mark_node.
+
+2003-03-13 Mark Mitchell <mark@codesourcery.com>
+
+ * decl2.c (do_nonmember_using_decl): Correct handling of
+ simultaneous type/non-type bindings.
+
+2003-03-13 Mark Mitchell <mark@codesourcery.com>
+
+ * call.c (initialize_reference): Remove bogus assertion.
+ * decl.c (build_ptrmemfunc_type): Revert change of 2003-03-09.
+
+2003-03-12 Andrew Lewycky <andrew@mxc.ca>
+
+ PR c++/7050
+ * expr.c (cxx_expand_expr): Return const0_rtx for throw
+ expressions.
+
+2003-03-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9474
+ * decl2.c (do_nonmember_using_decl): Do not call duplicate decls
+ to merge old and new declarations.
+
+2003-03-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9924
+ * decl2.c (do_nonmember_using_decl): Ignore anticipated builtins.
+
+2003-03-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/9820
+ * search.c (lookup_member): Fix handling of functions in a class
+ being defined.
+
+2003-03-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8700
+ * call.c (print_z_candidates): Avoid printing duplicates.
+
+2003-03-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/8660
+ * decl2.c (check_classfn): A member template only matches a
+ member template.
+
+2003-03-10 Devang Patel <dpatel@apple.com>
+
+ PR c++/9394
+ * g++spec.c (lang_specific_driver): Use DEFAULT_WORD_SWITCH_TAKES_ARG.
+
+2003-03-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/9798
+ * decl.c (push_using_directive): Push before recursing.
+
+ PR c++/9868
+ * call.c (resolve_scoped_fn_name): Handle the case of a function
+ pointer member.
+ * init.c (build_offset_ref): Handle getting a FIELD_DECL for NAME.
+
+ * decl2.c (build_offset_ref_call_from_tree): Only mess with 'this'
+ argument in the pointer-to-member case.
+
+2003-03-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9373
+ * cp-lang.c (cxx_get_alias_set): Use alias set zero for
+ pointers to member functions.
+
+ PR c++/8534
+ * decl.c (build_ptrmemfunc_type): Do not allow default arugments
+ in pointer-to-member-function types.
+
+2003-03-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9912
+ * cp-tree.h (is_ancestor): New function.
+ * decl2.c (is_namespace_ancestor): Rename to ...
+ (is_ancestor): ... this.
+ (namespace_ancestor): Use it.
+ (set_decl_namespace): Likewise.
+ (handle_class_head): Check for invalid class definitions.
+
+2003-03-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ Compile-time improvement: 2/n.
+ * cp-tree.h (struct cxx_binding): New datatype;
+ (struct lang_identifier): Use it.
+ (LOCAL_BINDING_P): Adjust definition.
+ (INHERITED_VALUE_BINDING_P): Likewise.
+ (BINDING_SCOPE): Likewise.
+ (BINDING_HAS_LEVEL_P): Likewise.
+ (BINDING_VALUE): Likewise.
+ (BINDING_TYPE): Likewise.
+ (IDENTIFIER_VALUE): Likewise.
+ (struct tree_binding): Remove.
+ (TS_CP_BINDING): Likewise.
+ ((union lang_tree_node): Remove field "binding".
+ (cxx_binding_clear): New macro.
+ (binding_for_name): Adjust return type.
+ (qualified_lookup_using_namespace): Adjust prototype.
+ (lookup_using_namespace): Adjust prototype.
+ (cxx_scope_find_binding_for_name): Declare.
+ * cp-tree.def: Remove CPLUS_BINDING definition.
+ * parse.y (parse_scoped_id): Don't type-abuse of 'id'. Allocate
+ temporary cxx_binding on stack. Simplify.
+ * decl.c (push_binding): Adjust local variable type.
+ (add_binding): Likewise.
+ (push_class_binding): Likewise.
+ (pop_binding): Likewise.
+ (poplevel): Likewise.
+ (poplevel_class): Likewise.
+ (free_bindings): Adjust type.
+ (find_binding): Adjust return type, add a third parameter. Remove
+ non-useful assertion now that we use static typing.
+ (cxx_scope_find_binding_for_name): New function.
+ (binding_for_name): Use it. Adjust local variable type. Simplify.
+ (namespace_binding): Simplify.
+ (set_namespace_binding): Likewise.
+ (set_identifier_type_value_with_scope): Adjust local variable type.
+ (lookup_tag): Don't type-abuse of local variable 'old'.
+ (lookup_namespace_name): Likewise. Allocate binding on stack.
+ (select_decl): Adjust prototype.
+ (unqualified_namespace_lookup): Allocate binding on stack.
+ Don't type-abuse of local variable 'val'.
+ (lookup_name_real): Likewise.
+ (maybe_inject_for_scope_var): Adjust local variable type.
+ (cp_tree_node_structure): Remove CPLUS_BINDING case label.
+ (namespace_binding): Adjust logic, simplify.
+ (BINDING_LEVEL): Adjust definition.
+ (push_class_level_binding): Adjust local variable type.
+ (struct cxx_saved_binding): Adjust field 'binding' type.
+ * decl2.c (ambiguous_decl): Adjust prototype.
+ (lookup_using_namespace): Adjust local variable type.
+ (qualified_lookup_using_namespace): Catch type error and correct
+ ensueing logic error.
+ (do_nonmember_using_decl): Adjust local variable type. Allocate
+ temporary cxx_binding on stack.
+ (do_toplevel_using_decl): Adjust local variable type.
+ * ptree.c (cxx_print_cxx_binding): New function.
+ (cxx_print_identifier): Use it.
+ (cxx_print_xnode): Delete CPLUS_BINDING case label.
+
+2003-03-09 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9970
+ * decl.c (duplicate_decls): Only copy DECL_THUNKS for virtual
+ functions.
+
+2003-03-07 Matt Austern <austern@apple.com>
+
+ * cp-tree.h (struct lang_type_class): add field for key method
+ (cp_global_trees): rename dynamic_classes to keyed_classes
+ (key_method): add definition
+ * class.c (finish_struct_1): compute class's key method, and add
+ the class to keyed_classes list if there is no key method.
+ * decl.c (finish_function): add class to keyed_classes list if we
+ see a definition of the class's key method.
+ * pt.c (instantiate_class_template): add template specialization
+ of a dynamic class to keyed_classes list.
+ * decl2.c (key_method): remove
+ (finish_file): iterate only through keyed_classes list when
+ deciding whether to emit vtables, remove class from its list after
+ we do the emission.
+
+2003-03-08 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9809
+ * call.c (add_function_candidate): Skip builtin fuctions that have
+ not yet been declared.
+
+2003-03-07 Mark Mitchell <mark@codesourcery.com>
+
+ * call.c (reference_binding): Remove REF_IS_VAR parameter.
+ (implicit_conversion): Adjust call to reference_binding.
+ (make_temporary_var_for_ref_to_type): Add TYPE parameter.
+ (initialize_reference): Adjust handling for references bound to
+ rvalues.
+ * cp-tree.h (make_temporary_var_for_ref_to_temp): Change
+ prototype.
+ (real_non_cast_lvalue_p): New method.
+ * cvt.c (build_up_reference): Adjust use of
+ make_temporary_var_for_ref_to_temp.
+ * tree.c (real_non_cast_lvalue_p): New method.
+
+2003-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ * call.c (merge_conversion_sequences): New function.
+ (build_conv): Set ICS_USER_FLAG for USER_CONVs.
+ (convert_class_to_reference): Correct handling of second
+ standard conversion sequence in a user-defined conversion
+ sequence.
+ (build_user_type_conversion_1): Use merge_conversion_sequences.
+ * cp-tree.def: Add comments for CONV nodes.
+
+2003-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9965
+ * call.c (reference_binding): Add ref_is_var parameter.
+ (implicit_conversion): Adjust call to reference_binding.
+ (initialize_reference): Likewise.
+
+ PR c++/9400
+ * decl.c (pushdecl): Don't check for shadowing of DECL_ARTIFICIAL
+ PARM_DECLs.
+
+2003-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9791
+ * class.c (get_basefndecls): Use lookup_fnfields_1.
+
+2003-03-02 Matt Austern <austern@apple.com>
+
+ * decl.c (cp_binding_level): Add static_decls varray member.
+ (add_decl_to_level): Add static/inline namespace scope
+ declarations to static_decls array.
+ (wrapup_global_for_namespace): Pass static_decls only, instead of
+ all decls, to wrapup_global_declarations/check_global_declarations.
+ (push_namespace): Initialize static_decls for ordinary namespaces.
+ (cxx_init_decl_processing): Initialize static_decls for global
+ namespace.
+
+2003-03-05 Mark Mitchell <mark@codesourcery.com>
+
+ * class.c (end_of_class): Correct thinko.
+
+2003-03-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cp-tree.h (cxx_saved_binding): Declare.
+ (struct saved_scope): Adjust type of field 'old_binding'.
+ * decl.c (cxx_saved_binding_make): New macro.
+ (struct cxx_saved_binding): Define.
+ (store_bindings): Adjust prototype. Use cxx_saved_binding to save
+ C++ bindings.
+ (maybe_push_to_top_level): Adjust local variable type.
+ (pop_from_top_level): Likewise.
+
+2003-03-03 Jason Merrill <jason@redhat.com>
+
+ * decl.c (finish_enum): Do set the type in a template. Simplify.
+ * pt.c (tsubst_enum, tsubst_copy): Revert last patch.
+
+2003-03-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9878
+ * call.c (convert_class_to_reference): Correct conversion
+ sequences.
+ (reference_binding): Add ref_bound_directly_to_rvalue_p parameter.
+ (implicit_conversion): Adjust call to reference_binding.
+ (add_candidate): Change type of candidates parameter.
+ (add_function_candidate): Likewise.
+ (add_conv_candidate): Likewise.
+ (build_builtin_candidate): Likewise.
+ (add_builtin_candidate): Likewise.
+ (add_builtin_candidates): Likewise.
+ (add_template_candidate_real): Likewise.
+ (add_template_candidate): Likewise.
+ (add_template_conv_candidate): Likewise.
+ (build_user_type_conversion_1): Adjust accordingly.
+ (build_object_call): Likewise.
+ (build_conditional_expr): Likewise.
+ (add_candidates): Likewise.
+ (build_new_op): Likewise.
+ (convert_like_real): Use USER_CONV_CAND. Use build_nop.
+ (build_new_method_call): Adjust calls to add_function_candidate.
+ (make_temporary_var_for_ref_to_temp): New function.
+ (initialize_reference): Add decl parameter.
+ * class.c (build_rtti_vtbl_entries): Use build_address and
+ build_nop.
+ * cp-tree.h (initialize_reference): Change prototype.
+ (make_temporary_var_for_ref_to_temp): New function.
+ (build_type_conversion): Change prototype.
+ (build_address): New function.
+ (build_nop): Likewise.
+ * cvt.c (cp_convert_to_pointer): Adjust call to
+ build_type_conversion. Avoid indicating redundant NOP_EXPRs.
+ Use build_nop.
+ (convert_to_pointer_force): Use build_nop.
+ (build_up_reference): Use make_temporary_var_for_ref_to_temp.
+ (convert_to_reference): Adjust call to build_type_conversion.
+ (ocp_convert): Likewise.
+ (build_type_conversion): Remove for_sure parameter.
+ * decl.c (grok_reference_init): Use initialize_reference.
+ * typeck.c (build_address): New function.
+ (build_nop): Likewise.
+ (build_unary_op): Use them.
+ (build_ptrmemfunc): Tidy slightly.
+ (convert_for_initialization): Adjust call to
+ initialize_reference.
+ * typeck2.c (store_init_value): Remove #if 0'd code.
+
+2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
+
+ * lang-specs.h (default_compilers): Add -no-integrated-cpp flag to
+ invoke an external cpp during compilation.
+
+2003-02-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9892
+ * pt.c (instantiate_decl): Clear DECL_RTL for a VAR_DECL when
+ instantiating it.
+
+2003-02-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9879
+ * cp-tree.h (build_zero_init): Add parameter.
+ * decl.c (cp_finish_decl): Adjust call.
+ * init.c (build_zero_init): Add nelts parameter. Adjust recursive
+ calls.
+ (build_default_init): Add nelts parameter. Adjust calls to
+ build_zero_init.
+ (build_new_1): Adjust call to build_default_init.
+ * typeck2.c (process_init_constructor): Adjust call to build_zero_init.
+
+2003-02-27 Devang Patel <dpatel@apple.com>
+
+ * decl.c (finish_enum): Merge two 'for' loops. Copy value node if required.
+ Postpone enum setting for template decls.
+ (build_enumerator): Delay copying value node until finish_enum (). Remove
+ #if 0'ed code.
+ * pt.c (tsubst_enum): Set TREE_TYPE and copy value node.
+ (tsubst_copy): Add check for enum type.
+
+
+2003-02-25 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9829
+ * decl.c (grokdeclarator): Handle SCOPE_REFs whose second argument
+ is a NAMESPACE_DECL.
+
+2003-02-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (add_binding): Time TV_NAME_LOOKUP.
+ (push_class_binding): Likewise.
+ (set_namespace_binding): Likewise.
+
+2003-02-24 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9602
+ * typeck2.c (abstract_virtuals_error): Don't check when we
+ are processing a template.
+
+2003-02-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/7982
+ * decl.c (warn_about_implicit_typename_lookup): Handle TYPEOF_TYPE.
+
+2003-02-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9749
+ * decl.c (grokdeclarator): Do not allow parameters with variably
+ modified types.
+
+ PR c++/9727
+ * decl2.c (push_scope): Don't pushclass for non-class types.
+ (pop_scope): Don't popclass either.
+
+ PR c++/8906
+ * decl.c (lookup_name_real): Use IMPLICIT_TYPENAME_P.
+ * decl2.c (handle_class_head): Check it.
+
+ PR c++/8724
+ * call.c (build_method_call): Make sure that the type destroyed in
+ an explicit destructor call is complete.
+
+2003-02-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9729
+ * mangle.c (mangle_conv_op_name_for_type): Issue an error message
+ when the G++ 3.2 ABI prevents correct compilation.
+
+2003-02-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9704
+ * class.c (layout_class_type): In the 3.2 ABI, take into account
+ trailing bit fields when computing CLASSTYPE_SIZE_UNIT.
+
+2003-02-18 Matt Austern <austern@apple.com>
+
+ * cp/cp-lang.c: Change lang hooks so that final_write_globals does
+ nothing for C++.
+ * cp/decl.c (wrapup_globals_for_namespace): Remove special
+ handling of global namespace.
+
+2003-02-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/9623
+ * decl.c (reshape_init): Don't mess with initializer labels.
+
+2003-02-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9459
+ * error.c (dump_type_prefix): Handle TYPEOF_TYPE.
+ (dump_type_suffix): Likewise.
+
+2003-02-17 Michael Elizabeth Chastain <mec@shout.net>
+
+ PR debug/9717
+ * class.c (build_base_field): Mark fields for base classes with
+ DECL_IGNORED_P.
+
+2003-02-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * decl.c: (define_label): Fix warning for return 0 instead of NULL.
+
+2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * Make-lang.in (cp/decl2.o): Add dependency on timevar.h
+ * decl2.c: Include "timevar.h".
+ (namespace_ancestor): Time name lookup.
+ (add_using_namespace): Likewise.
+ (lookup_using_namespace): Likewise.
+ (qualified_lookup_using_namespace): Likewise.
+ (decl_namespace): Likewise.
+ (lookup_arg_dependent): Likewise.
+ * lex.c (do_identifier): Likewise.
+ (do_scoped_id): Likewise.
+ * pt.c (lookup_template_class): Likewise.
+
+2003-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (define_label): Don't forget to pop TV_NAME_LOOKUP.
+
+2003-02-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c: Include "timevar.h".
+ (poplevel): Time name lookup.
+ (find_binding): Likewise.
+ (push_namespace): Likewise.
+ (pop_nested_namespace): Likewise.
+ (store_bindings): Likewise.
+ (maybe_push_to_top_level): Likewise.
+ (pop_from_top_level): Likewise.
+ (push_local_name): Likewise.
+ (pushtag): Likewise.
+ (pushdecl): Likewise.
+ (pushdecl_with_scope): Likewise.
+ (pushdecl_namespace_level): Likewise.
+ (pushdecl_top_level): Likewise.
+ (pushdecl_class_level): Likewise.
+ (push_class_level_binding): Likewise.
+ (push_using_decl): Likewise.
+ (push_using_directive): Likewise.
+ (push_overloaded_decl): Likewise.
+ (lookup_label): Likewise.
+ (define_label): Likewise.
+ (lookup_tag): Likewise.
+ (lookup_tag_reverse): Likewise.
+ (lookup_namespace_name): Likewise.
+ (select_decl): Likewise.
+ (unqualified_namespace_lookup): Likewise.
+ (lookup_name_real): Likewise.
+ (lookup_name_current_level): Likewise.
+ (lookup_type_current_level): Likewise.
+ (maybe_inject_for_scope_var): Likewise.
+ (xref_tag): Likewise.
+
+ * Make-lang.in (cp/decl.o): Add dependency on timevar.h
+
+2003-02-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7129
+ * operators.def: Add <?= and >?=.
+
+2003-01-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/8849
+ * error.c (dump_expr): Handle BASELINK.
+ * pt.c (resolve_overloaded_unification): Handle FUNCTION_DECL.
+
+2003-01-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9453
+ * friend.c (is_friend): Always accept when SUPPLICANT is still
+ a TEMPLATE_DECL.
+ * pt.c (push_access_scope_real): Call push_to_top_level for
+ function in namespace scope.
+ (push_access_scope): Remove ARGS argument, all caller adjusted.
+ (pop_access_scope): Call pop_from_top_level for function in
+ namespace scope.
+ (regenerate_decl_from_template): Use push_access_scope_real.
+
+2003-01-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9437
+ * pt.c (unify): Don't unify '*T' with 'U C::*'.
+
+2003-01-27 Jeffrey D. Oldham <oldham@codesourcery.com>
+
+ PR c++/47
+ * cp-tree.h (lookup_nested_field): Add declaration.
+ * decl.c (lookup_name_real): Call lookup_nested_field.
+ * search.c (lookup_nested_field): Add function.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (c++.install-common, c++.install-man)
+ (c++.uninstall): Prepend $(DESTDIR) to destination paths in
+ all (un)installation commands.
+ (c++.install-common): Rewrite $(LN) commands to support
+ DESTDIR with "ln" as well as with "ln -s".
+
+2003-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * decl2.c (check_classfn): Fix uninitialized warning.
+
+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
- * cvt.c (convert_to_pointer_force): Don't try comparing against
+ * cvt.c (convert_to_pointer_force): Don't try comparing against
erronous type.
2002-12-13 Geoffrey Keating <geoffk@apple.com>
@@ -17,10 +1238,10 @@
2002-12-10 Matt Austern <austern@apple.com>
* cp-tree.h: get rid of needs_virtual_reinit bit.
-
+
2002-12-09 Mark Mitchell <mark@codesourcery.com>
- * NEWS: Document removal of in-class initialization extension for
+ * NEWS: Document removal of in-class initialization extension for
static data members of non-arithmetic, non-enumeration type.
* decl.c (check_static_variable_definition): Do not allow that
extension.
@@ -40,7 +1261,7 @@
PR C++/8799
* error.c (dump_expr): Don't ever try to dump a non-existent
- expression.
+ expression.
2002-12-03 Jason Merrill <jason@redhat.com>
@@ -51,7 +1272,7 @@
PR c++/8461, c++/8625
* call.c (convert_for_arg_passing): Don't mess with error_mark_node.
(cp_convert_parm_for_inlining): Remove.
- * cp-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
+ * cp-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
Remove.
* cp-tree.h (ADDR_IS_INVISIREF): Remove.
* except.c (stabilize_throw_expr): Remove ADDR_IS_INVISIREF code.
@@ -73,7 +1294,7 @@
PR c++/8615
* error.c (dump_expr): Handle character constants with
TREE_OVERFLOW set.
-
+
2002-12-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
DR 180
@@ -85,7 +1306,7 @@
PR c++/5919
* pt.c (unify): Use variably_modified_type_p to test validity of
template argument types.
-
+
PR c++/8727
* cp-tree.h (lang_type_class): Add typeinfo_var.
(CLASSTYPE_TYPEINFO_VAR): New macro.
@@ -111,7 +1332,7 @@
(check_initializer): Validate the type of the initialized
variable, even if the initializer is absent.
* typeck.c (cp_type_quals): Deal gracefully with erroneous types.
-
+
PR c++/8214
* typeck.c (convert_for_assignment): Do not use
decl_constant_value on the operand.
@@ -124,7 +1345,7 @@
* parse.y (class_head_defn): Set CLASSTYPE_DECLARED_CLASS for
anonymous structs.
-
+
2002-11-29 Mark Mitchell <mark@codesourcery.com>
* class.c (walk_subobject_offsets): Recur on binfos as well as on
@@ -133,7 +1354,7 @@
base class.
(layout_empty_base): Likewise.
(build_base_field): Likewise.
-
+
2002-11-27 Mark Mitchell <mark@codesourcery.com>
* class.c (build_base_field): Make sure we get the canonical base
@@ -158,7 +1379,7 @@
(build_base_field): Record offsets of empty bases in primary
virtual bases.
(layout_class_type): Record offsets of empty bases in fields.
-
+
* search.c (is_subobject_of_p_1): Fix thinko.
(lookup_field_queue_p): Likewise.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 42656e7933d..afeb7aba4f8 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -116,7 +116,7 @@ $(srcdir)/cp/parse.c: $(srcdir)/cp/parse.y
gtype-cp.h gt-cp-call.h gt-cp-decl.h gt-cp-decl2.h : s-gtype; @true
gt-cp-parse.h gt-cp-pt.h gt-cp-repo.h gt-cp-spew.h : s-gtype; @true
-gt-cp-tree.h : s-gtype; @true
+gt-cp-tree.h gt-cp-mangle.h : s-gtype; @true
#
# Build hooks:
@@ -142,27 +142,32 @@ c++.install-normal:
c++.install-common: installdirs
-if [ -f cc1plus$(exeext) ] ; then \
if [ -f g++-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) g++-cross$(exeext) $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
- chmod a+x $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
- rm -f $(bindir)/$(CXX_CROSS_NAME)$(exeext); \
- $(LN) $(bindir)/$(GXX_CROSS_NAME)$(exeext) $(bindir)/$(CXX_CROSS_NAME)$(exeext); \
- if [ -d $(gcc_tooldir)/bin/. ] ; then \
- rm -f $(gcc_tooldir)/bin/g++$(exeext); \
- $(INSTALL_PROGRAM) g++-cross$(exeext) $(gcc_tooldir)/bin/g++$(exeext); \
- rm -f $(gcc_tooldir)/bin/c++$(exeext); \
- $(LN) $(gcc_tooldir)/bin/g++$(exeext) $(gcc_tooldir)/bin/c++$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) g++-cross$(exeext) $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(CXX_CROSS_NAME)$(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(GXX_CROSS_NAME)$(exeext) $(CXX_CROSS_NAME)$(exeext) ); \
+ if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(gcc_tooldir)/bin/g++$(exeext); \
+ $(INSTALL_PROGRAM) g++-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/g++$(exeext); \
+ rm -f $(DESTDIR)$(gcc_tooldir)/bin/c++$(exeext); \
+ ( cd $(DESTDIR)$(gcc_tooldir)/bin && \
+ $(LN) g++$(exeext) c++$(exeext) ); \
else true; fi; \
else \
- rm -f $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) g++$(exeext) $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
- chmod a+x $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
- rm -f $(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
- $(LN) $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
- rm -f $(bindir)/$(GXX_TARGET_INSTALL_NAME)$(exeext); \
- $(LN) $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(GXX_TARGET_INSTALL_NAME)$(exeext); \
- rm -f $(bindir)/$(CXX_TARGET_INSTALL_NAME)$(exeext); \
- $(LN) $(bindir)/$(CXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_TARGET_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) g++$(exeext) $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(GXX_INSTALL_NAME)$(exeext) $(CXX_INSTALL_NAME)$(exeext) ); \
+ rm -f $(DESTDIR)$(bindir)/$(GXX_TARGET_INSTALL_NAME)$(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(GXX_INSTALL_NAME)$(exeext) $(GXX_TARGET_INSTALL_NAME)$(exeext) ); \
+ rm -f $(DESTDIR)$(bindir)/$(CXX_TARGET_INSTALL_NAME)$(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(CXX_INSTALL_NAME)$(exeext) $(CXX_TARGET_INSTALL_NAME)$(exeext) ); \
fi ; \
fi
@@ -171,23 +176,23 @@ c++.install-info:
c++.install-man: installdirs $(srcdir)/cp/g++.1
-if [ -f cc1plus$(exeext) ] ; then \
if [ -f g++-cross$(exeext) ] ; then \
- rm -f $(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
- $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \
else \
- rm -f $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
- $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \
fi; \
else true; fi
c++.uninstall:
- -rm -rf $(bindir)/$(CXX_INSTALL_NAME)$(exeext)
- -rm -rf $(bindir)/$(CXX_CROSS_NAME)$(exeext)
- -rm -rf $(bindir)/$(GXX_INSTALL_NAME)$(exeext)
- -rm -rf $(bindir)/$(GXX_CROSS_NAME)$(exeext)
- -rm -rf $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext)
- -rm -rf $(man1dir)/$(GXX_CROSS_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(CXX_CROSS_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(GXX_CROSS_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(GXX_CROSS_NAME)$(man1ext)
#
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
@@ -232,9 +237,10 @@ cp/cp-lang.o: cp/cp-lang.c $(CXX_TREE_H) toplev.h langhooks.h $(LANGHOOKS_DEF_H)
cp/decl.o: cp/decl.c $(CXX_TREE_H) flags.h cp/lex.h cp/decl.h stack.h \
output.h $(EXPR_H) except.h toplev.h $(HASHTAB_H) $(GGC_H) $(RTL_H) \
cp/operators.def $(TM_P_H) tree-inline.h diagnostic.h c-pragma.h \
- debug.h gt-cp-decl.h gtype-cp.h
+ debug.h gt-cp-decl.h gtype-cp.h timevar.h input.h
cp/decl2.o: cp/decl2.c $(CXX_TREE_H) flags.h cp/lex.h cp/decl.h $(EXPR_H) \
- output.h except.h toplev.h $(GGC_H) $(RTL_H) c-common.h gt-cp-decl2.h
+ output.h except.h toplev.h $(GGC_H) $(RTL_H) c-common.h gt-cp-decl2.h \
+ timevar.h
cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) flags.h toplev.h output.h $(TM_P_H) \
diagnostic.h
cp/typeck.o: cp/typeck.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \
@@ -269,7 +275,7 @@ cp/semantics.o: cp/semantics.c $(CXX_TREE_H) cp/lex.h except.h toplev.h \
cp/dump.o: cp/dump.c $(CXX_TREE_H) tree-dump.h
cp/optimize.o: cp/optimize.c $(CXX_TREE_H) rtl.h integrate.h insn-config.h \
input.h $(PARAMS_H) debug.h tree-inline.h
-cp/mangle.o: cp/mangle.c $(CXX_TREE_H) toplev.h real.h
+cp/mangle.o: cp/mangle.c $(CXX_TREE_H) toplev.h real.h gt-cp-mangle.h $(TM_P_H)
cp/parse.o: cp/parse.c $(CXX_TREE_H) flags.h cp/lex.h except.h output.h \
cp/decl.h $(SYSTEM_H) toplev.h $(GGC_H) gt-cp-parse.h
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 072fbe64515..4633d27e946 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -1,6 +1,6 @@
/* Functions related to invoking methods and overloaded functions.
- Copyright (C) 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2003,
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) and
modified by Brendan Kehoe (brendan@cygnus.com).
@@ -62,37 +62,37 @@ static struct z_candidate * splice_viable PARAMS ((struct z_candidate *));
static int any_viable PARAMS ((struct z_candidate *));
static int any_strictly_viable PARAMS ((struct z_candidate *));
static struct z_candidate * add_template_candidate
- PARAMS ((struct z_candidate *, tree, tree, tree, tree, tree,
+ PARAMS ((struct z_candidate **, tree, tree, tree, tree, tree,
tree, tree, int, unification_kind_t));
static struct z_candidate * add_template_candidate_real
- PARAMS ((struct z_candidate *, tree, tree, tree, tree, tree,
+ PARAMS ((struct z_candidate **, tree, tree, tree, tree, tree,
tree, tree, int, tree, unification_kind_t));
static struct z_candidate * add_template_conv_candidate
- PARAMS ((struct z_candidate *, tree, tree, tree, tree, tree, tree));
-static struct z_candidate * add_builtin_candidates
- PARAMS ((struct z_candidate *, enum tree_code, enum tree_code,
+ PARAMS ((struct z_candidate **, tree, tree, tree, tree, tree, tree));
+static void add_builtin_candidates
+ PARAMS ((struct z_candidate **, enum tree_code, enum tree_code,
tree, tree *, int));
-static struct z_candidate * add_builtin_candidate
- PARAMS ((struct z_candidate *, enum tree_code, enum tree_code,
+static void add_builtin_candidate
+ PARAMS ((struct z_candidate **, enum tree_code, enum tree_code,
tree, tree, tree, tree *, tree *, int));
static int is_complete PARAMS ((tree));
-static struct z_candidate * build_builtin_candidate
- PARAMS ((struct z_candidate *, tree, tree, tree, tree *, tree *,
+static void build_builtin_candidate
+ PARAMS ((struct z_candidate **, tree, tree, tree, tree *, tree *,
int));
static struct z_candidate * add_conv_candidate
- PARAMS ((struct z_candidate *, tree, tree, tree, tree, tree));
+ PARAMS ((struct z_candidate **, tree, tree, tree, tree, tree));
static struct z_candidate * add_function_candidate
- (struct z_candidate *, tree, tree, tree, tree, tree, int);
+ (struct z_candidate **, tree, tree, tree, tree, tree, int);
static tree implicit_conversion PARAMS ((tree, tree, tree, int));
static tree standard_conversion PARAMS ((tree, tree, tree));
-static tree reference_binding PARAMS ((tree, tree, tree, int));
+static tree reference_binding (tree, tree, tree, int);
static tree non_reference PARAMS ((tree));
static tree build_conv PARAMS ((enum tree_code, tree, tree));
static int is_subseq PARAMS ((tree, tree));
static tree maybe_handle_ref_bind PARAMS ((tree*));
static void maybe_handle_implicit_object PARAMS ((tree*));
static struct z_candidate *add_candidate
- (struct z_candidate *, tree, tree, tree, tree, int);
+ (struct z_candidate **, tree, tree, tree, tree, int);
static tree source_type PARAMS ((tree));
static void add_warning PARAMS ((struct z_candidate *, struct z_candidate *));
static int reference_related_p PARAMS ((tree, tree));
@@ -102,6 +102,7 @@ static tree direct_reference_binding PARAMS ((tree, tree));
static int promoted_arithmetic_type_p PARAMS ((tree));
static tree conditional_conversion PARAMS ((tree, tree));
static tree call_builtin_trap PARAMS ((void));
+static tree merge_conversion_sequences (tree, tree);
tree
build_vfield_ref (datum, type)
@@ -519,7 +520,12 @@ build_method_call (instance, name, parms, basetype_path, flags)
("destructor name `~%T' does not match type `%T' of expression",
TREE_OPERAND (name, 0), object_type);
- if (! TYPE_HAS_DESTRUCTOR (complete_type (object_type)))
+ /* The destructor type must be complete. */
+ object_type = complete_type_or_else (object_type, NULL_TREE);
+ if (!object_type || object_type == error_mark_node)
+ return error_mark_node;
+
+ if (! TYPE_HAS_DESTRUCTOR (object_type))
return cp_convert (void_type_node, instance);
instance = default_conversion (instance);
instance_ptr = build_unary_op (ADDR_EXPR, instance, 0);
@@ -545,6 +551,8 @@ build_method_call (instance, name, parms, basetype_path, flags)
}
if (TREE_CODE (name) == OVERLOAD)
name = DECL_NAME (get_first_fn (name));
+ else if (TREE_CODE (name) == LOOKUP_EXPR)
+ name = TREE_OPERAND (name, 0);
else if (DECL_P (name))
name = DECL_NAME (name);
if (has_template_args)
@@ -695,7 +703,7 @@ build_conv (code, type, from)
break;
}
ICS_STD_RANK (t) = rank;
- ICS_USER_FLAG (t) = ICS_USER_FLAG (from);
+ ICS_USER_FLAG (t) = (code == USER_CONV || ICS_USER_FLAG (from));
ICS_BAD_FLAG (t) = ICS_BAD_FLAG (from);
return t;
}
@@ -987,9 +995,14 @@ convert_class_to_reference (t, s, expr)
tree conversions;
tree arglist;
tree conv;
+ tree reference_type;
struct z_candidate *candidates;
struct z_candidate *cand;
+ conversions = lookup_conversions (s);
+ if (!conversions)
+ return NULL_TREE;
+
/* [over.match.ref]
Assuming that "cv1 T" is the underlying type of the reference
@@ -1015,10 +1028,10 @@ convert_class_to_reference (t, s, expr)
arglist = build_int_2 (0, 0);
TREE_TYPE (arglist) = build_pointer_type (s);
arglist = build_tree_list (NULL_TREE, arglist);
-
- for (conversions = lookup_conversions (s);
- conversions;
- conversions = TREE_CHAIN (conversions))
+
+ reference_type = build_reference_type (t);
+
+ while (conversions)
{
tree fns = TREE_VALUE (conversions);
@@ -1026,44 +1039,58 @@ convert_class_to_reference (t, s, expr)
{
tree f = OVL_CURRENT (fns);
tree t2 = TREE_TYPE (TREE_TYPE (f));
- struct z_candidate *old_candidates = candidates;
+
+ cand = NULL;
/* If this is a template function, try to get an exact
match. */
if (TREE_CODE (f) == TEMPLATE_DECL)
{
- candidates
- = add_template_candidate (candidates,
- f, s,
- NULL_TREE,
- arglist,
- build_reference_type (t),
- TYPE_BINFO (s),
- TREE_PURPOSE (conversions),
- LOOKUP_NORMAL,
- DEDUCE_CONV);
+ cand = add_template_candidate (&candidates,
+ f, s,
+ NULL_TREE,
+ arglist,
+ reference_type,
+ TYPE_BINFO (s),
+ TREE_PURPOSE (conversions),
+ LOOKUP_NORMAL,
+ DEDUCE_CONV);
- if (candidates != old_candidates)
+ if (cand)
{
/* Now, see if the conversion function really returns
an lvalue of the appropriate type. From the
point of view of unification, simply returning an
rvalue of the right type is good enough. */
- f = candidates->fn;
+ f = cand->fn;
t2 = TREE_TYPE (TREE_TYPE (f));
if (TREE_CODE (t2) != REFERENCE_TYPE
|| !reference_compatible_p (t, TREE_TYPE (t2)))
- candidates = candidates->next;
+ {
+ candidates = candidates->next;
+ cand = NULL;
+ }
}
}
else if (TREE_CODE (t2) == REFERENCE_TYPE
&& reference_compatible_p (t, TREE_TYPE (t2)))
- candidates
- = add_function_candidate (candidates, f, s, arglist,
- TYPE_BINFO (s),
- TREE_PURPOSE (conversions),
- LOOKUP_NORMAL);
+ cand = add_function_candidate (&candidates, f, s, arglist,
+ TYPE_BINFO (s),
+ TREE_PURPOSE (conversions),
+ LOOKUP_NORMAL);
+
+ if (cand)
+ /* Build a standard conversion sequence indicating the
+ binding from the reference type returned by the
+ function to the desired REFERENCE_TYPE. */
+ cand->second_conv
+ = (direct_reference_binding
+ (reference_type,
+ build1 (IDENTITY_CONV,
+ TREE_TYPE (TREE_TYPE (TREE_TYPE (cand->fn))),
+ NULL_TREE)));
}
+ conversions = TREE_CHAIN (conversions);
}
/* If none of the conversion functions worked out, let our caller
@@ -1076,16 +1103,21 @@ convert_class_to_reference (t, s, expr)
if (!cand)
return NULL_TREE;
- conv = build1 (IDENTITY_CONV, s, expr);
- conv = build_conv (USER_CONV, TREE_TYPE (TREE_TYPE (cand->fn)),
- conv);
+ /* Build a user-defined conversion sequence representing the
+ conversion. */
+ conv = build_conv (USER_CONV,
+ TREE_TYPE (TREE_TYPE (cand->fn)),
+ build1 (IDENTITY_CONV, TREE_TYPE (expr), expr));
TREE_OPERAND (conv, 1) = build_zc_wrapper (cand);
- ICS_USER_FLAG (conv) = 1;
+
+ /* Merge it with the standard conversion sequence from the
+ conversion function's return type to the desired type. */
+ cand->second_conv = merge_conversion_sequences (conv, cand->second_conv);
+
if (cand->viable == -1)
ICS_BAD_FLAG (conv) = 1;
- cand->second_conv = conv;
- return conv;
+ return cand->second_conv;
}
/* A reference of the indicated TYPE is being bound directly to the
@@ -1097,7 +1129,13 @@ direct_reference_binding (type, conv)
tree type;
tree conv;
{
- tree t = TREE_TYPE (type);
+ tree t;
+
+ my_friendly_assert (TREE_CODE (type) == REFERENCE_TYPE, 20030306);
+ my_friendly_assert (TREE_CODE (TREE_TYPE (conv)) != REFERENCE_TYPE,
+ 20030306);
+
+ t = TREE_TYPE (type);
/* [over.ics.rank]
@@ -1134,9 +1172,7 @@ direct_reference_binding (type, conv)
the conversion returned. */
static tree
-reference_binding (rto, rfrom, expr, flags)
- tree rto, rfrom, expr;
- int flags;
+reference_binding (tree rto, tree rfrom, tree expr, int flags)
{
tree conv = NULL_TREE;
tree to = TREE_TYPE (rto);
@@ -1214,7 +1250,7 @@ reference_binding (rto, rfrom, expr, flags)
in the second case. */
conv = convert_class_to_reference (to, from, expr);
if (conv)
- return direct_reference_binding (rto, conv);
+ return conv;
}
/* From this point on, we conceptually need temporaries, even if we
@@ -1248,11 +1284,13 @@ reference_binding (rto, rfrom, expr, flags)
-- The reference is bound to the object represented by the rvalue
or to a sub-object within that object.
- In this case, the implicit conversion sequence is supposed to be
- same as we would obtain by generating a temporary. Fortunately,
- if the types are reference compatible, then this is either an
- identity conversion or the derived-to-base conversion, just as
- for direct binding. */
+ -- ...
+
+ We use the first alternative. The implicit conversion sequence
+ is supposed to be same as we would obtain by generating a
+ temporary. Fortunately, if the types are reference compatible,
+ then this is either an identity conversion or the derived-to-base
+ conversion, just as for direct binding. */
if (CLASS_TYPE_P (from) && compatible_p)
{
conv = build1 (IDENTITY_CONV, from, expr);
@@ -1292,7 +1330,6 @@ implicit_conversion (to, from, expr, flags)
int flags;
{
tree conv;
- struct z_candidate *cand;
/* Resolve expressions like `A::p' that we thought might become
pointers-to-members. */
@@ -1306,11 +1343,6 @@ implicit_conversion (to, from, expr, flags)
|| expr == error_mark_node)
return NULL_TREE;
- /* Make sure both the FROM and TO types are complete so that
- user-defined conversions are available. */
- complete_type (from);
- complete_type (to);
-
if (TREE_CODE (to) == REFERENCE_TYPE)
conv = reference_binding (to, from, expr, flags);
else
@@ -1323,6 +1355,8 @@ implicit_conversion (to, from, expr, flags)
|| IS_AGGR_TYPE (to))
&& (flags & LOOKUP_NO_CONVERSION) == 0)
{
+ struct z_candidate *cand;
+
cand = build_user_type_conversion_1
(to, expr, LOOKUP_ONLYCONVERTING);
if (cand)
@@ -1340,7 +1374,7 @@ implicit_conversion (to, from, expr, flags)
functions. */
static struct z_candidate *
-add_candidate (struct z_candidate *candidates,
+add_candidate (struct z_candidate **candidates,
tree fn, tree convs, tree access_path, tree
conversion_path, int viable)
{
@@ -1352,7 +1386,8 @@ add_candidate (struct z_candidate *candidates,
cand->access_path = access_path;
cand->conversion_path = conversion_path;
cand->viable = viable;
- cand->next = candidates;
+ cand->next = *candidates;
+ *candidates = cand;
return cand;
}
@@ -1365,7 +1400,7 @@ add_candidate (struct z_candidate *candidates,
comes from for purposes of overload resolution. */
static struct z_candidate *
-add_function_candidate (struct z_candidate *candidates,
+add_function_candidate (struct z_candidate **candidates,
tree fn, tree ctype, tree arglist,
tree access_path, tree conversion_path,
int flags)
@@ -1376,6 +1411,11 @@ add_function_candidate (struct z_candidate *candidates,
tree parmnode, argnode;
int viable = 1;
+ /* Built-in functions that haven't been declared don't really
+ exist. */
+ if (DECL_ANTICIPATED (fn))
+ return NULL;
+
/* The `this', `in_chrg' and VTT arguments to constructors are not
considered in overload resolution. */
if (DECL_CONSTRUCTOR_P (fn))
@@ -1498,7 +1538,7 @@ add_function_candidate (struct z_candidate *candidates,
static struct z_candidate *
add_conv_candidate (candidates, fn, obj, arglist, access_path,
conversion_path)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
tree fn, obj, arglist;
tree access_path;
tree conversion_path;
@@ -1519,8 +1559,8 @@ add_conv_candidate (candidates, fn, obj, arglist, access_path,
flags = LOOKUP_NORMAL;
/* Don't bother looking up the same type twice. */
- if (candidates && candidates->fn == totype)
- return candidates;
+ if (*candidates && (*candidates)->fn == totype)
+ return NULL;
for (i = 0; i < len; ++i)
{
@@ -1565,10 +1605,10 @@ add_conv_candidate (candidates, fn, obj, arglist, access_path,
conversion_path, viable);
}
-static struct z_candidate *
+static void
build_builtin_candidate (candidates, fnname, type1, type2,
args, argtypes, flags)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
tree fnname, type1, type2, *args, *argtypes;
int flags;
@@ -1611,10 +1651,10 @@ build_builtin_candidate (candidates, fnname, type1, type2,
viable = 0;
}
- return add_candidate (candidates, fnname, convs,
- /*access_path=*/NULL_TREE,
- /*conversion_path=*/NULL_TREE,
- viable);
+ add_candidate (candidates, fnname, convs,
+ /*access_path=*/NULL_TREE,
+ /*conversion_path=*/NULL_TREE,
+ viable);
}
static int
@@ -1652,10 +1692,10 @@ promoted_arithmetic_type_p (type)
of which TYPE1 and TYPE2 are, we add both candidates
CODE (TYPE1, TYPE1) and CODE (TYPE2, TYPE2). */
-static struct z_candidate *
+static void
add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
args, argtypes, flags)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
enum tree_code code, code2;
tree fnname, type1, type2, *args, *argtypes;
int flags;
@@ -1695,7 +1735,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case POSTDECREMENT_EXPR:
case PREDECREMENT_EXPR:
if (TREE_CODE (type1) == BOOLEAN_TYPE)
- return candidates;
+ return;
case POSTINCREMENT_EXPR:
case PREINCREMENT_EXPR:
if (ARITHMETIC_TYPE_P (type1) || TYPE_PTROB_P (type1))
@@ -1703,7 +1743,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
type1 = build_reference_type (type1);
break;
}
- return candidates;
+ return;
/* 7 For every cv-qualified or cv-unqualified complete object type T, there
exist candidate operator functions of the form
@@ -1719,7 +1759,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
&& (TYPE_PTROB_P (type1)
|| TREE_CODE (TREE_TYPE (type1)) == FUNCTION_TYPE))
break;
- return candidates;
+ return;
/* 9 For every type T, there exist candidate operator functions of the form
T* operator+(T*);
@@ -1736,7 +1776,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case NEGATE_EXPR:
if (ARITHMETIC_TYPE_P (type1))
break;
- return candidates;
+ return;
/* 11For every promoted integral type T, there exist candidate operator
functions of the form
@@ -1745,7 +1785,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case BIT_NOT_EXPR:
if (INTEGRAL_TYPE_P (type1))
break;
- return candidates;
+ return;
/* 12For every quintuple C1, C2, T, CV1, CV2), where C2 is a class type, C1
is the same type as C2 or is a derived class of C2, T is a complete
@@ -1768,7 +1808,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
|| is_complete (TREE_TYPE (TREE_TYPE (type2)))))
break;
}
- return candidates;
+ return;
/* 13For every pair of promoted arithmetic types L and R, there exist can-
didate operator functions of the form
@@ -1824,7 +1864,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case TRUNC_DIV_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
break;
- return candidates;
+ return;
case EQ_EXPR:
case NE_EXPR:
@@ -1866,7 +1906,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
type1 = type2;
break;
}
- return candidates;
+ return;
case PLUS_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
@@ -1882,7 +1922,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
type2 = ptrdiff_type_node;
break;
}
- return candidates;
+ return;
/* 18For every pair of promoted integral types L and R, there exist candi-
date operator functions of the form
@@ -1903,7 +1943,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case RSHIFT_EXPR:
if (INTEGRAL_TYPE_P (type1) && INTEGRAL_TYPE_P (type2))
break;
- return candidates;
+ return;
/* 19For every triple L, VQ, R), where L is an arithmetic or enumeration
type, VQ is either volatile or empty, and R is a promoted arithmetic
@@ -1955,7 +1995,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case TRUNC_DIV_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
break;
- return candidates;
+ return;
case TRUNC_MOD_EXPR:
case BIT_AND_EXPR:
@@ -1965,7 +2005,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
case RSHIFT_EXPR:
if (INTEGRAL_TYPE_P (type1) && INTEGRAL_TYPE_P (type2))
break;
- return candidates;
+ return;
case NOP_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
@@ -1980,7 +2020,7 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
type2 = type1;
break;
}
- return candidates;
+ return;
default:
abort ();
@@ -2015,16 +2055,13 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
|| !(TREE_CODE (type2) == POINTER_TYPE
|| TYPE_PTRMEM_P (type2)
|| TYPE_PTRMEMFUNC_P (type2)))
- return candidates;
+ return;
/* We don't check that the two types are the same; the logic
below will actually create two candidates; one in which both
parameter types are TYPE1, and one in which both parameter
types are TYPE2. */
- break;
-
- /* These arguments do not make for a valid overloaded operator. */
- return candidates;
+ break;
default:
abort ();
@@ -2041,13 +2078,14 @@ add_builtin_candidate (candidates, code, code2, fnname, type1, type2,
|| IS_AGGR_TYPE (type1)
|| TREE_CODE (type1) == ENUMERAL_TYPE))
{
- candidates = build_builtin_candidate
+ build_builtin_candidate
(candidates, fnname, type1, type1, args, argtypes, flags);
- return build_builtin_candidate
+ build_builtin_candidate
(candidates, fnname, type2, type2, args, argtypes, flags);
+ return;
}
- return build_builtin_candidate
+ build_builtin_candidate
(candidates, fnname, type1, type2, args, argtypes, flags);
}
@@ -2075,9 +2113,9 @@ type_decays_to (type)
other cases which the standard disallows. add_builtin_candidate will
filter out the invalid set. */
-static struct z_candidate *
+static void
add_builtin_candidates (candidates, code, code2, fnname, args, flags)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
enum tree_code code, code2;
tree fnname, *args;
int flags;
@@ -2120,20 +2158,22 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
bool operator||(bool, bool); */
case TRUTH_NOT_EXPR:
- return build_builtin_candidate
+ build_builtin_candidate
(candidates, fnname, boolean_type_node,
NULL_TREE, args, argtypes, flags);
+ return;
case TRUTH_ORIF_EXPR:
case TRUTH_ANDIF_EXPR:
- return build_builtin_candidate
+ build_builtin_candidate
(candidates, fnname, boolean_type_node,
boolean_type_node, args, argtypes, flags);
+ return;
case ADDR_EXPR:
case COMPOUND_EXPR:
case COMPONENT_REF:
- return candidates;
+ return;
case COND_EXPR:
case EQ_EXPR:
@@ -2160,7 +2200,7 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
tree convs;
if (i == 0 && code == MODIFY_EXPR && code2 == NOP_EXPR)
- return candidates;
+ return;
convs = lookup_conversions (argtypes[i]);
@@ -2175,7 +2215,7 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
}
else if (! convs)
- return candidates;
+ return;
for (; convs; convs = TREE_CHAIN (convs))
{
@@ -2227,16 +2267,16 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
{
if (types[1])
for (type = types[1]; type; type = TREE_CHAIN (type))
- candidates = add_builtin_candidate
+ add_builtin_candidate
(candidates, code, code2, fnname, TREE_VALUE (types[0]),
TREE_VALUE (type), args, argtypes, flags);
else
- candidates = add_builtin_candidate
+ add_builtin_candidate
(candidates, code, code2, fnname, TREE_VALUE (types[0]),
NULL_TREE, args, argtypes, flags);
}
- return candidates;
+ return;
}
@@ -2254,7 +2294,7 @@ static struct z_candidate*
add_template_candidate_real (candidates, tmpl, ctype, explicit_targs,
arglist, return_type, access_path,
conversion_path, flags, obj, strict)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
tree tmpl, ctype, explicit_targs, arglist, return_type;
tree access_path;
tree conversion_path;
@@ -2284,11 +2324,11 @@ add_template_candidate_real (candidates, tmpl, ctype, explicit_targs,
return_type, strict, -1);
if (i != 0)
- return candidates;
+ return NULL;
fn = instantiate_template (tmpl, targs);
if (fn == error_mark_node)
- return candidates;
+ return NULL;
/* In [class.copy]:
@@ -2317,7 +2357,7 @@ add_template_candidate_real (candidates, tmpl, ctype, explicit_targs,
tree arg_types = FUNCTION_FIRST_USER_PARMTYPE (fn);
if (arg_types && same_type_p (TYPE_MAIN_VARIANT (TREE_VALUE (arg_types)),
ctype))
- return candidates;
+ return NULL;
}
if (obj != NULL_TREE)
@@ -2358,7 +2398,7 @@ static struct z_candidate *
add_template_candidate (candidates, tmpl, ctype, explicit_targs,
arglist, return_type, access_path,
conversion_path, flags, strict)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
tree tmpl, ctype, explicit_targs, arglist, return_type;
tree access_path;
tree conversion_path;
@@ -2376,7 +2416,7 @@ add_template_candidate (candidates, tmpl, ctype, explicit_targs,
static struct z_candidate *
add_template_conv_candidate (candidates, tmpl, obj, arglist, return_type,
access_path, conversion_path)
- struct z_candidate *candidates;
+ struct z_candidate **candidates;
tree tmpl, obj, arglist, return_type;
tree access_path;
tree conversion_path;
@@ -2433,11 +2473,51 @@ build_this (obj)
return build_unary_op (ADDR_EXPR, obj, 0);
}
+/* Returns true iff functions are equivalent. Equivalent functions are
+ not '==' only if one is a function-local extern function or if
+ both are extern "C". */
+
+static inline int
+equal_functions (fn1, fn2)
+ tree fn1;
+ tree fn2;
+{
+ if (DECL_LOCAL_FUNCTION_P (fn1) || DECL_LOCAL_FUNCTION_P (fn2)
+ || DECL_EXTERN_C_FUNCTION_P (fn1))
+ return decls_match (fn1, fn2);
+ return fn1 == fn2;
+}
+
static void
-print_z_candidates (candidates)
- struct z_candidate *candidates;
+print_z_candidates (struct z_candidate *candidates)
{
- const char *str = "candidates are:";
+ const char *str;
+ struct z_candidate *cand1;
+ struct z_candidate **cand2;
+
+ /* There may be duplicates in the set of candidates. We put off
+ checking this condition as long as possible, since we have no way
+ to eliminate duplicates from a set of functions in less than n^2
+ time. Now we are about to emit an error message, so it is more
+ permissible to go slowly. */
+ for (cand1 = candidates; cand1; cand1 = cand1->next)
+ {
+ tree fn = cand1->fn;
+ /* Skip builtin candidates and conversion functions. */
+ if (TREE_CODE (fn) != FUNCTION_DECL)
+ continue;
+ cand2 = &cand1->next;
+ while (*cand2)
+ {
+ if (TREE_CODE ((*cand2)->fn) == FUNCTION_DECL
+ && equal_functions (fn, (*cand2)->fn))
+ *cand2 = (*cand2)->next;
+ else
+ cand2 = &(*cand2)->next;
+ }
+ }
+
+ str = "candidates are:";
for (; candidates; candidates = candidates->next)
{
if (TREE_CODE (candidates->fn) == IDENTIFIER_NODE)
@@ -2464,6 +2544,35 @@ print_z_candidates (candidates)
}
}
+/* USER_SEQ is a user-defined conversion sequence, beginning with a
+ USER_CONV. STD_SEQ is the standard conversion sequence applied to
+ the result of the conversion function to convert it to the final
+ desired type. Merge the the two sequences into a single sequence,
+ and return the merged sequence. */
+
+static tree
+merge_conversion_sequences (tree user_seq, tree std_seq)
+{
+ tree *t;
+
+ my_friendly_assert (TREE_CODE (user_seq) == USER_CONV,
+ 20030306);
+
+ /* Find the end of the second conversion sequence. */
+ t = &(std_seq);
+ while (TREE_CODE (*t) != IDENTITY_CONV)
+ t = &TREE_OPERAND (*t, 0);
+
+ /* Replace the identity conversion with the user conversion
+ sequence. */
+ *t = user_seq;
+
+ /* The entire sequence is a user-conversion sequence. */
+ ICS_USER_FLAG (std_seq) = 1;
+
+ return std_seq;
+}
+
/* Returns the best overload candidate to perform the requested
conversion. This function is used for three the overloading situations
described in [over.match.copy], [over.match.conv], and [over.match.ref].
@@ -2477,9 +2586,8 @@ build_user_type_conversion_1 (totype, expr, flags)
{
struct z_candidate *candidates, *cand;
tree fromtype = TREE_TYPE (expr);
- tree ctors = NULL_TREE, convs = NULL_TREE, *p;
+ tree ctors = NULL_TREE, convs = NULL_TREE;
tree args = NULL_TREE;
- tree templates = NULL_TREE;
/* We represent conversion within a hierarchy using RVALUE_CONV and
BASE_CONV, as specified by [over.best.ics]; these become plain
@@ -2521,24 +2629,20 @@ build_user_type_conversion_1 (totype, expr, flags)
continue;
if (TREE_CODE (ctor) == TEMPLATE_DECL)
- {
- templates = tree_cons (NULL_TREE, ctor, templates);
- candidates =
- add_template_candidate (candidates, ctor, totype,
- NULL_TREE, args, NULL_TREE,
- TYPE_BINFO (totype),
- TYPE_BINFO (totype),
- flags,
- DEDUCE_CALL);
- }
+ cand = add_template_candidate (&candidates, ctor, totype,
+ NULL_TREE, args, NULL_TREE,
+ TYPE_BINFO (totype),
+ TYPE_BINFO (totype),
+ flags,
+ DEDUCE_CALL);
else
- candidates = add_function_candidate (candidates, ctor, totype,
- args, TYPE_BINFO (totype),
- TYPE_BINFO (totype),
- flags);
+ cand = add_function_candidate (&candidates, ctor, totype,
+ args, TYPE_BINFO (totype),
+ TYPE_BINFO (totype),
+ flags);
- if (candidates)
- candidates->second_conv = build1 (IDENTITY_CONV, totype, NULL_TREE);
+ if (cand)
+ cand->second_conv = build1 (IDENTITY_CONV, totype, NULL_TREE);
}
if (convs)
@@ -2560,7 +2664,6 @@ build_user_type_conversion_1 (totype, expr, flags)
for (fns = TREE_VALUE (convs); fns; fns = OVL_NEXT (fns))
{
tree fn = OVL_CURRENT (fns);
- struct z_candidate *old_candidates = candidates;
/* [over.match.funcs] For conversion functions, the function
is considered to be a member of the class of the implicit
@@ -2570,34 +2673,31 @@ build_user_type_conversion_1 (totype, expr, flags)
So we pass fromtype as CTYPE to add_*_candidate. */
if (TREE_CODE (fn) == TEMPLATE_DECL)
- {
- templates = tree_cons (NULL_TREE, fn, templates);
- candidates =
- add_template_candidate (candidates, fn, fromtype, NULL_TREE,
- args, totype, TYPE_BINFO (fromtype),
- conversion_path,
- flags,
- DEDUCE_CONV);
- }
+ cand = add_template_candidate (&candidates, fn, fromtype, NULL_TREE,
+ args, totype,
+ TYPE_BINFO (fromtype),
+ conversion_path,
+ flags,
+ DEDUCE_CONV);
else
- candidates = add_function_candidate (candidates, fn, fromtype,
- args,
- TYPE_BINFO (fromtype),
- conversion_path,
- flags);
+ cand = add_function_candidate (&candidates, fn, fromtype,
+ args,
+ TYPE_BINFO (fromtype),
+ conversion_path,
+ flags);
- if (candidates != old_candidates)
+ if (cand)
{
tree ics = implicit_conversion
- (totype, TREE_TYPE (TREE_TYPE (candidates->fn)),
+ (totype, TREE_TYPE (TREE_TYPE (cand->fn)),
0, convflags);
- candidates->second_conv = ics;
+ cand->second_conv = ics;
if (ics == NULL_TREE)
- candidates->viable = 0;
- else if (candidates->viable == 1 && ICS_BAD_FLAG (ics))
- candidates->viable = -1;
+ cand->viable = 0;
+ else if (cand->viable == 1 && ICS_BAD_FLAG (ics))
+ cand->viable = -1;
}
}
}
@@ -2620,24 +2720,29 @@ 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;
}
- for (p = &(cand->second_conv); TREE_CODE (*p) != IDENTITY_CONV; )
- p = &(TREE_OPERAND (*p, 0));
-
- *p = build
+ /* Build the user conversion sequence. */
+ convs = build_conv
(USER_CONV,
(DECL_CONSTRUCTOR_P (cand->fn)
? totype : non_reference (TREE_TYPE (TREE_TYPE (cand->fn)))),
- expr, build_zc_wrapper (cand));
-
- ICS_USER_FLAG (cand->second_conv) = ICS_USER_FLAG (*p) = 1;
+ build1 (IDENTITY_CONV, TREE_TYPE (expr), expr));
+ TREE_OPERAND (convs, 1) = build_zc_wrapper (cand);
+
+ /* Combine it with the second conversion sequence. */
+ cand->second_conv = merge_conversion_sequences (convs,
+ cand->second_conv);
+
if (cand->viable == -1)
- ICS_BAD_FLAG (cand->second_conv) = ICS_BAD_FLAG (*p) = 1;
+ ICS_BAD_FLAG (cand->second_conv) = 1;
return cand;
}
@@ -2659,6 +2764,73 @@ 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));
+
+ /* It might be the name of a function pointer member. */
+ if (fn && TREE_CODE (fn) == FIELD_DECL)
+ fn = resolve_offset_ref (build_offset_ref (scope, fn));
+ }
+
+ 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
@@ -2716,7 +2888,6 @@ build_new_function_call (fn, args)
|| TREE_CODE (fn) == TEMPLATE_DECL)
{
tree t1;
- tree templates = NULL_TREE;
args = resolve_args (args);
@@ -2728,17 +2899,14 @@ build_new_function_call (fn, args)
tree t = OVL_CURRENT (t1);
if (TREE_CODE (t) == TEMPLATE_DECL)
- {
- templates = tree_cons (NULL_TREE, t, templates);
- candidates = add_template_candidate
- (candidates, t, NULL_TREE, explicit_targs, args,
- NULL_TREE,
- /*access_path=*/NULL_TREE, /*conversion_path=*/NULL_TREE,
- LOOKUP_NORMAL, DEDUCE_CALL);
- }
+ add_template_candidate
+ (&candidates, t, NULL_TREE, explicit_targs, args,
+ NULL_TREE,
+ /*access_path=*/NULL_TREE, /*conversion_path=*/NULL_TREE,
+ LOOKUP_NORMAL, DEDUCE_CALL);
else if (! template_only)
- candidates = add_function_candidate
- (candidates, t, NULL_TREE, args, /*access_path=*/NULL_TREE,
+ add_function_candidate
+ (&candidates, t, NULL_TREE, args, /*access_path=*/NULL_TREE,
/*conversion_path=*/NULL_TREE, LOOKUP_NORMAL);
}
@@ -2806,17 +2974,14 @@ build_object_call (obj, args)
{
tree fn = OVL_CURRENT (fns);
if (TREE_CODE (fn) == TEMPLATE_DECL)
- {
- candidates
- = add_template_candidate (candidates, fn, base, NULL_TREE,
- mem_args, NULL_TREE,
- TYPE_BINFO (type),
- TYPE_BINFO (type),
- LOOKUP_NORMAL, DEDUCE_CALL);
- }
+ add_template_candidate (&candidates, fn, base, NULL_TREE,
+ mem_args, NULL_TREE,
+ TYPE_BINFO (type),
+ TYPE_BINFO (type),
+ LOOKUP_NORMAL, DEDUCE_CALL);
else
- candidates = add_function_candidate
- (candidates, fn, base, mem_args, TYPE_BINFO (type),
+ add_function_candidate
+ (&candidates, fn, base, mem_args, TYPE_BINFO (type),
TYPE_BINFO (type), LOOKUP_NORMAL);
}
}
@@ -2839,16 +3004,14 @@ build_object_call (obj, args)
{
tree fn = OVL_CURRENT (fns);
if (TREE_CODE (fn) == TEMPLATE_DECL)
- {
- candidates = (add_template_conv_candidate
- (candidates, fn, obj, args, totype,
- /*access_path=*/NULL_TREE,
- /*conversion_path=*/NULL_TREE));
- }
+ add_template_conv_candidate
+ (&candidates, fn, obj, args, totype,
+ /*access_path=*/NULL_TREE,
+ /*conversion_path=*/NULL_TREE);
else
- candidates = add_conv_candidate (candidates, fn, obj, args,
- /*conversion_path=*/NULL_TREE,
- /*access_path=*/NULL_TREE);
+ add_conv_candidate (&candidates, fn, obj, args,
+ /*conversion_path=*/NULL_TREE,
+ /*access_path=*/NULL_TREE);
}
}
@@ -2899,23 +3062,27 @@ op_error (code, code2, arg1, arg2, arg3, problem)
switch (code)
{
case COND_EXPR:
- error ("%s for `%T ? %T : %T' operator", problem,
- error_type (arg1), error_type (arg2), error_type (arg3));
+ error ("%s for ternary 'operator?:' in '%E ? %E : %E'",
+ problem, arg1, arg2, arg3);
break;
+
case POSTINCREMENT_EXPR:
case POSTDECREMENT_EXPR:
- error ("%s for `%T %s' operator", problem, error_type (arg1), opname);
+ error ("%s for 'operator%s' in '%E%s'", problem, opname, arg1, opname);
break;
+
case ARRAY_REF:
- error ("%s for `%T [%T]' operator", problem,
- error_type (arg1), error_type (arg2));
+ error ("%s for 'operator[]' in '%E[%E]'", problem, arg1, arg2);
break;
+
default:
if (arg2)
- error ("%s for `%T %s %T' operator", problem,
- error_type (arg1), opname, error_type (arg2));
+ error ("%s for 'operator%s' in '%E %s %E'",
+ problem, opname, arg1, opname, arg2);
else
- error ("%s for `%s %T' operator", problem, opname, error_type (arg1));
+ error ("%s for 'operator%s' in '%s%E'",
+ problem, opname, opname, arg1);
+ break;
}
}
@@ -2930,6 +3097,7 @@ conditional_conversion (e1, e2)
tree t1 = non_reference (TREE_TYPE (e1));
tree t2 = non_reference (TREE_TYPE (e2));
tree conv;
+ bool good_base;
/* [expr.cond]
@@ -2958,10 +3126,9 @@ conditional_conversion (e1, e2)
changed to an rvalue of type T2 that still refers to the original
source class object (or the appropriate subobject thereof). */
if (CLASS_TYPE_P (t1) && CLASS_TYPE_P (t2)
- && same_or_base_type_p (TYPE_MAIN_VARIANT (t2),
- TYPE_MAIN_VARIANT (t1)))
+ && ((good_base = DERIVED_FROM_P (t2, t1)) || DERIVED_FROM_P (t1, t2)))
{
- if (at_least_as_qualified_p (t2, t1))
+ if (good_base && at_least_as_qualified_p (t2, t1))
{
conv = build1 (IDENTITY_CONV, t1, e1);
if (!same_type_p (TYPE_MAIN_VARIANT (t1),
@@ -2972,13 +3139,13 @@ conditional_conversion (e1, e2)
else
return NULL_TREE;
}
+ else
+ /* [expr.cond]
- /* [expr.cond]
-
- E1 can be converted to match E2 if E1 can be implicitly converted
- to the type that expression E2 would have if E2 were converted to
- an rvalue (or the type it has, if E2 is an rvalue). */
- return implicit_conversion (t2, t1, e1, LOOKUP_NORMAL);
+ Otherwise: E1 can be converted to match E2 if E1 can be implicitly
+ converted to the type that expression E2 would have if E2 were
+ converted to an rvalue (or the type it has, if E2 is an rvalue). */
+ return implicit_conversion (t2, t1, e1, LOOKUP_NORMAL);
}
/* Implement [expr.cond]. ARG1, ARG2, and ARG3 are the three
@@ -3156,12 +3323,12 @@ build_conditional_expr (arg1, arg2, arg3)
args[0] = arg2;
args[1] = arg3;
args[2] = arg1;
- candidates = add_builtin_candidates (candidates,
- COND_EXPR,
- NOP_EXPR,
- ansi_opname (COND_EXPR),
- args,
- LOOKUP_NORMAL);
+ add_builtin_candidates (&candidates,
+ COND_EXPR,
+ NOP_EXPR,
+ ansi_opname (COND_EXPR),
+ args,
+ LOOKUP_NORMAL);
/* [expr.cond]
@@ -3209,18 +3376,10 @@ 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))
- arg2 = ocp_convert (TREE_TYPE (arg2), arg2,
- CONV_IMPLICIT|CONV_FORCE_TEMP, LOOKUP_NORMAL);
- else
- arg2 = decay_conversion (arg2);
+ arg2 = force_rvalue (arg2);
arg2_type = TREE_TYPE (arg2);
- if (IS_AGGR_TYPE (TREE_TYPE (arg3)) && real_lvalue_p (arg3))
- arg3 = ocp_convert (TREE_TYPE (arg3), arg3,
- CONV_IMPLICIT|CONV_FORCE_TEMP, LOOKUP_NORMAL);
- else
- arg3 = decay_conversion (arg3);
+ arg3 = force_rvalue (arg3);
arg3_type = TREE_TYPE (arg3);
if (arg2 == error_mark_node || arg3 == error_mark_node)
@@ -3326,7 +3485,6 @@ build_new_op (code, flags, arg1, arg2, arg3)
struct z_candidate *candidates = 0, *cand;
tree fns, mem_arglist = NULL_TREE, arglist, fnname;
enum tree_code code2 = NOP_EXPR;
- tree templates = NULL_TREE;
tree conv;
bool viable_candidates;
@@ -3355,6 +3513,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 +3539,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)
@@ -3416,21 +3584,17 @@ build_new_op (code, flags, arg1, arg2, arg3)
{
tree fn = OVL_CURRENT (fns);
if (TREE_CODE (fn) == TEMPLATE_DECL)
- {
- templates = tree_cons (NULL_TREE, fn, templates);
- candidates
- = add_template_candidate (candidates, fn, NULL_TREE, NULL_TREE,
- arglist, TREE_TYPE (fnname),
- /*access_path=*/NULL_TREE,
- /*conversion_path=*/NULL_TREE,
- flags, DEDUCE_CALL);
- }
+ add_template_candidate (&candidates, fn, NULL_TREE, NULL_TREE,
+ arglist, TREE_TYPE (fnname),
+ /*access_path=*/NULL_TREE,
+ /*conversion_path=*/NULL_TREE,
+ flags, DEDUCE_CALL);
else
- candidates = add_function_candidate (candidates, fn, NULL_TREE,
- arglist,
- /*access_path=*/NULL_TREE,
- /*conversion_path=*/NULL_TREE,
- flags);
+ add_function_candidate (&candidates, fn, NULL_TREE,
+ arglist,
+ /*access_path=*/NULL_TREE,
+ /*conversion_path=*/NULL_TREE,
+ flags);
}
if (IS_AGGR_TYPE (TREE_TYPE (arg1)))
@@ -3459,20 +3623,16 @@ build_new_op (code, flags, arg1, arg2, arg3)
this_arglist = arglist;
if (TREE_CODE (fn) == TEMPLATE_DECL)
- {
- /* A member template. */
- templates = tree_cons (NULL_TREE, fn, templates);
- candidates
- = add_template_candidate (candidates, fn,
- BINFO_TYPE (conversion_path),
- NULL_TREE,
- this_arglist, TREE_TYPE (fnname),
- access_path, conversion_path,
- flags, DEDUCE_CALL);
- }
+ /* A member template. */
+ add_template_candidate (&candidates, fn,
+ BINFO_TYPE (conversion_path),
+ NULL_TREE,
+ this_arglist, TREE_TYPE (fnname),
+ access_path, conversion_path,
+ flags, DEDUCE_CALL);
else
- candidates = add_function_candidate
- (candidates, fn, BINFO_TYPE (conversion_path), this_arglist,
+ add_function_candidate
+ (&candidates, fn, BINFO_TYPE (conversion_path), this_arglist,
access_path, conversion_path, flags);
}
}
@@ -3497,8 +3657,7 @@ build_new_op (code, flags, arg1, arg2, arg3)
args[2] = NULL_TREE;
}
- candidates = add_builtin_candidates
- (candidates, code, code2, fnname, args, flags);
+ add_builtin_candidates (&candidates, code, code2, fnname, args, flags);
}
switch (code)
@@ -3922,8 +4081,7 @@ convert_like_real (convs, expr, fn, argnum, inner)
{
case USER_CONV:
{
- struct z_candidate *cand
- = WRAPPER_ZC (TREE_OPERAND (convs, 1));
+ struct z_candidate *cand = USER_CONV_CAND (convs);
tree convfn = cand->fn;
tree args;
@@ -4079,9 +4237,7 @@ convert_like_real (convs, expr, fn, argnum, inner)
expr = cp_convert (build_pointer_type (TREE_TYPE (ref_type)),
expr);
/* Convert the pointer to the desired reference type. */
- expr = build1 (NOP_EXPR, ref_type, expr);
-
- return expr;
+ return build_nop (ref_type, expr);
}
case LVALUE_CONV:
@@ -4515,10 +4671,22 @@ build_over_call (cand, args, flags)
else
fn = build_addr_func (fn);
+ return build_cxx_call (fn, args, converted_args);
+}
+
+/* Build and return a call to FN, using the the CONVERTED_ARGS. ARGS
+ gives the original form of the arguments. This function performs
+ no overload resolution, conversion, or other high-level
+ operations. */
+
+tree
+build_cxx_call(tree fn, tree args, tree converted_args)
+{
+ tree fndecl;
+
/* Recognize certain built-in functions so we can make tree-codes
other than CALL_EXPR. We do this when it enables fold-const.c
to do something useful. */
-
if (TREE_CODE (fn) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (fn, 0)) == FUNCTION_DECL
&& DECL_BUILT_IN (TREE_OPERAND (fn, 0)))
@@ -4529,14 +4697,26 @@ build_over_call (cand, args, flags)
return exp;
}
- /* Some built-in function calls will be evaluated at
- compile-time in fold (). */
- fn = fold (build_call (fn, converted_args));
+ fn = build_call (fn, converted_args);
+
+ /* If this call might throw an exception, note that fact. */
+ fndecl = get_callee_fndecl (fn);
+ if ((!fndecl || !TREE_NOTHROW (fndecl))
+ && at_function_scope_p ()
+ && cfun)
+ cp_function_chain->can_throw = 1;
+
+ /* Some built-in function calls will be evaluated at compile-time in
+ fold (). */
+ fn = fold (fn);
+
if (VOID_TYPE_P (TREE_TYPE (fn)))
return fn;
+
fn = require_complete_type (fn);
if (fn == error_mark_node)
return error_mark_node;
+
if (IS_AGGR_TYPE (TREE_TYPE (fn)))
fn = build_cplus_new (TREE_TYPE (fn), fn);
return convert_from_reference (fn);
@@ -4727,7 +4907,6 @@ build_new_method_call (tree instance, tree fns, tree args,
tree mem_args = NULL_TREE, instance_ptr;
tree name, pretty_name;
tree user_args;
- tree templates = NULL_TREE;
tree call;
int template_only = 0;
@@ -4830,26 +5009,22 @@ build_new_method_call (tree instance, tree fns, tree args,
this_arglist = args;
if (TREE_CODE (t) == TEMPLATE_DECL)
- {
- /* A member template. */
- templates = tree_cons (NULL_TREE, t, templates);
- candidates =
- add_template_candidate (candidates, t,
- class_type,
- explicit_targs,
- this_arglist, optype,
- access_binfo,
- conversion_path,
- flags,
- DEDUCE_CALL);
- }
+ /* A member template. */
+ add_template_candidate (&candidates, t,
+ class_type,
+ explicit_targs,
+ this_arglist, optype,
+ access_binfo,
+ conversion_path,
+ flags,
+ DEDUCE_CALL);
else if (! template_only)
- candidates = add_function_candidate (candidates, t,
- class_type,
- this_arglist,
- access_binfo,
- conversion_path,
- flags);
+ add_function_candidate (&candidates, t,
+ class_type,
+ this_arglist,
+ access_binfo,
+ conversion_path,
+ flags);
}
}
@@ -5401,21 +5576,6 @@ add_warning (winner, loser)
winner->warnings);
}
-/* Returns true iff functions are equivalent. Equivalent functions are
- not '==' only if one is a function-local extern function or if
- both are extern "C". */
-
-static inline int
-equal_functions (fn1, fn2)
- tree fn1;
- tree fn2;
-{
- if (DECL_LOCAL_FUNCTION_P (fn1) || DECL_LOCAL_FUNCTION_P (fn2)
- || DECL_EXTERN_C_FUNCTION_P (fn1))
- return decls_match (fn1, fn2);
- return fn1 == fn2;
-}
-
/* Compare two candidates for overloading as described in
[over.match.best]. Return values:
@@ -5550,7 +5710,7 @@ joust (cand1, cand2, warn)
&& TREE_CODE (convn) == QUAL_CONV)
/* Don't complain about `operator char *()' beating
`operator const char *() const'. */;
- else if (warn)
+ else if (warn && warn_conversion)
{
tree source = source_type (TREE_VEC_ELT (w->convs, 0));
if (! DECL_CONSTRUCTOR_P (w->fn))
@@ -5679,11 +5839,9 @@ tweak:
if (winner)
{
if (warn)
- {
- pedwarn ("choosing `%D' over `%D'", w->fn, l->fn);
- pedwarn (
-" because worst conversion for the former is better than worst conversion for the latter");
- }
+ pedwarn ("ISO C++ says that `%D' and `%D' are ambiguous \
+even though the worst conversion for the former is better than the worst \
+conversion for the latter", w->fn, l->fn);
else
add_warning (w, l);
return winner;
@@ -5805,17 +5963,62 @@ perform_implicit_conversion (type, expr)
return convert_like (conv, expr);
}
+/* DECL is a VAR_DECL whose type is a REFERENCE_TYPE. The reference
+ is being bound to a temporary. Create and return a new VAR_DECL
+ with the indicated TYPE; this variable will store the value to
+ which the reference is bound. */
+
+tree
+make_temporary_var_for_ref_to_temp (tree decl, tree type)
+{
+ tree var;
+
+ /* Create the variable. */
+ var = build_decl (VAR_DECL, NULL_TREE, type);
+ DECL_ARTIFICIAL (var) = 1;
+ TREE_USED (var) = 1;
+
+ /* Register the variable. */
+ if (TREE_STATIC (decl))
+ {
+ /* Namespace-scope or local static; give it a mangled name. */
+ tree name;
+
+ TREE_STATIC (var) = 1;
+ name = mangle_ref_init_variable (decl);
+ DECL_NAME (var) = name;
+ SET_DECL_ASSEMBLER_NAME (var, name);
+ var = pushdecl_top_level (var);
+ }
+ else
+ {
+ /* Create a new cleanup level if necessary. */
+ maybe_push_cleanup_level (type);
+ /* Don't push unnamed temps. Do set DECL_CONTEXT, though. */
+ DECL_CONTEXT (var) = current_function_decl;
+ }
+
+ return var;
+}
+
/* Convert EXPR to the indicated reference TYPE, in a way suitable for
- initializing a variable of that TYPE. Return the converted
- expression. */
+ initializing a variable of that TYPE. If DECL is non-NULL, it is
+ the VAR_DECL being initialized with the EXPR. (In that case, the
+ type of DECL will be TYPE.)
+
+ Return the converted expression. */
tree
-initialize_reference (type, expr)
+initialize_reference (type, expr, decl)
tree type;
tree expr;
+ tree decl;
{
tree conv;
+ if (type == error_mark_node || error_operand_p (expr))
+ return error_mark_node;
+
conv = reference_binding (type, TREE_TYPE (expr), expr, LOOKUP_NORMAL);
if (!conv || ICS_BAD_FLAG (conv))
{
@@ -5823,6 +6026,100 @@ initialize_reference (type, expr)
return error_mark_node;
}
+ /* If DECL is non-NULL, then this special rule applies:
+
+ [class.temporary]
+
+ The temporary to which the reference is bound or the temporary
+ that is the complete object to which the reference is bound
+ persists for the lifetime of the reference.
+
+ The temporaries created during the evaluation of the expression
+ initializing the reference, except the temporary to which the
+ reference is bound, are destroyed at the end of the
+ full-expression in which they are created.
+
+ In that case, we store the converted expression into a new
+ VAR_DECL in a new scope.
+
+ However, we want to be careful not to create temporaries when
+ they are not required. For example, given:
+
+ struct B {};
+ struct D : public B {};
+ D f();
+ const B& b = f();
+
+ there is no need to copy the return value from "f"; we can just
+ extend its lifetime. Similarly, given:
+
+ struct S {};
+ struct T { operator S(); };
+ T t;
+ const S& s = t;
+
+ we can extend the lifetime of the return value of the conversion
+ operator. */
+ my_friendly_assert (TREE_CODE (conv) == REF_BIND, 20030302);
+ if (decl)
+ {
+ tree var;
+ tree base_conv_type;
+
+ /* Skip over the REF_BIND. */
+ conv = TREE_OPERAND (conv, 0);
+ /* If the next conversion is a BASE_CONV, skip that too -- but
+ remember that the conversion was required. */
+ if (TREE_CODE (conv) == BASE_CONV && !NEED_TEMPORARY_P (conv))
+ {
+ base_conv_type = TREE_TYPE (conv);
+ conv = TREE_OPERAND (conv, 0);
+ }
+ else
+ base_conv_type = NULL_TREE;
+ /* Perform the remainder of the conversion. */
+ expr = convert_like (conv, expr);
+ if (!real_non_cast_lvalue_p (expr))
+ {
+ tree init;
+ tree type;
+
+ /* Create the temporary variable. */
+ type = TREE_TYPE (expr);
+ var = make_temporary_var_for_ref_to_temp (decl, type);
+ layout_decl (var, 0);
+ if (at_function_scope_p ())
+ {
+ tree cleanup;
+
+ add_decl_stmt (var);
+ cleanup = cxx_maybe_build_cleanup (var);
+ if (cleanup)
+ finish_decl_cleanup (var, cleanup);
+ }
+ else
+ {
+ rest_of_decl_compilation (var, NULL, /*toplev=*/1, at_eof);
+ if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type))
+ static_aggregates = tree_cons (NULL_TREE, var,
+ static_aggregates);
+ }
+ init = build (INIT_EXPR, type, var, expr);
+ /* Use its address to initialize the reference variable. */
+ expr = build_address (var);
+ expr = build (COMPOUND_EXPR, TREE_TYPE (expr), init, expr);
+ }
+ else
+ /* Take the address of EXPR. */
+ expr = build_unary_op (ADDR_EXPR, expr, 0);
+ /* If a BASE_CONV was required, perform it now. */
+ if (base_conv_type)
+ expr = (perform_implicit_conversion
+ (build_pointer_type (base_conv_type), expr));
+ return build_nop (type, expr);
+ }
+
+ /* Perform the conversion. */
return convert_like (conv, expr);
}
diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
index 0d1e71b9a8d..e0e9f235dd6 100644
--- a/gcc/cp/cfns.gperf
+++ b/gcc/cp/cfns.gperf
@@ -16,9 +16,9 @@ const char * libc_name_p PARAMS ((const char *, unsigned int));
# exception, unless it calls a program-supplied function that
# throws an exception.
#
-# bsearch and qsort are commented out because they can call such functions.
+# Specific functions are commented out for the reason noted in each case.
#
-abort
+# abort -- synchronous exception from SIGABRT handler
abs
acos
asctime
@@ -29,7 +29,7 @@ atexit
atof
atoi
atol
-#bsearch
+#bsearch -- calls user function which may throw exception
btowc
calloc
ceil
@@ -43,41 +43,41 @@ div
exit
exp
fabs
-fclose
+#fclose -- POSIX thread cancellation point
feof
ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-fgetws
+#fflush -- POSIX thread cancellation point
+#fgetc -- POSIX thread cancellation point
+#fgetpos -- POSIX thread cancellation point
+#fgets -- POSIX thread cancellation point
+#fgetwc -- POSIX thread cancellation point
+#fgetws -- POSIX thread cancellation point
floor
fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fputws
-fread
+#fopen -- POSIX thread cancellation point
+#fprintf -- POSIX thread cancellation point
+#fputc -- POSIX thread cancellation point
+#fputs -- POSIX thread cancellation point
+#fputwc -- POSIX thread cancellation point
+#fputws -- POSIX thread cancellation point
+#fread -- POSIX thread cancellation point
free
-freopen
+#freopen -- POSIX thread cancellation point
frexp
-fscanf
+#fscanf -- POSIX thread cancellation point
fseek
-fsetpos
-ftell
+#fsetpos -- POSIX thread cancellation point
+#ftell -- POSIX thread cancellation point
fwide
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
+#fwprintf -- POSIX thread cancellation point
+#fwrite -- POSIX thread cancellation point
+#fwscanf -- POSIX thread cancellation point
+#getc -- POSIX thread cancellation point
+#getchar -- POSIX thread cancellation point
getenv
-gets
-getwc
-getwchar
+#gets -- POSIX thread cancellation point
+#getwc -- POSIX thread cancellation point
+#getwchar -- POSIX thread cancellation point
gmtime
isalnum
isalpha
@@ -125,22 +125,22 @@ memmove
memset
mktime
modf
-perror
+#perror -- POSIX thread cancellation point
pow
-printf
-putc
-putchar
-puts
-putwc
-putwchar
-#qsort
-raise
+#printf -- POSIX thread cancellation point
+#putc -- POSIX thread cancellation point
+#putchar -- POSIX thread cancellation point
+#puts -- POSIX thread cancellation point
+#putwc -- POSIX thread cancellation point
+#putwchar -- POSIX thread cancellation point
+#qsort -- calls user function which may throw exception
+#raise -- synchronous exception from signal handler
rand
realloc
-remove
-rename
-rewind
-scanf
+#remove -- POSIX thread cancellation point
+#rename -- POSIX thread cancellation point
+#rewind -- POSIX thread cancellation point
+#scanf -- POSIX thread cancellation point
setbuf
setlocale
setvbuf
@@ -157,7 +157,7 @@ strcmp
strcoll
strcpy
strcspn
-strerror
+#strerror -- POSIX thread cancellation point
strftime
strlen
strncat
@@ -174,25 +174,25 @@ strtoul
strxfrm
swprintf
swscanf
-system
+#system -- POSIX thread cancellation point
tan
tanh
time
-tmpfile
-tmpnam
+#tmpfile -- POSIX thread cancellation point
+#tmpnam -- POSIX thread cancellation point
tolower
toupper
towctrans
towlower
towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
+#ungetc -- POSIX thread cancellation point
+#ungetwc -- POSIX thread cancellation point
+#vfprintf -- POSIX thread cancellation point
+#vfwprintf -- POSIX thread cancellation point
+#vprintf -- POSIX thread cancellation point
vsprintf
vswprintf
-vwprintf
+#vwprintf -- POSIX thread cancellation point
wcrtomb
wcscat
wcschr
@@ -225,5 +225,5 @@ wmemcmp
wmemcpy
wmemmove
wmemset
-wprintf
-wscanf
+#wprintf -- POSIX thread cancellation point
+#wscanf -- POSIX thread cancellation point
diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
index c7e6a9d9412..60929344ee4 100644
--- a/gcc/cp/cfns.h
+++ b/gcc/cp/cfns.h
@@ -1,5 +1,5 @@
-/* C code produced by gperf version 2.7 */
-/* Command-line: gperf -o -C -E -k 1-6,$ -j1 -D -N libc_name_p ../../../egcs-CVS20000404/gcc/cp/cfns.gperf */
+/* C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p ../../../src-3.3/gcc/cp/cfns.gperf */
#ifdef __GNUC__
__inline
#endif
@@ -8,10 +8,14 @@ static unsigned int hash PARAMS ((const char *, unsigned int));
__inline
#endif
const char * libc_name_p PARAMS ((const char *, unsigned int));
-/* maximum key range = 1020, duplicates = 1 */
+/* maximum key range = 480, duplicates = 1 */
#ifdef __GNUC__
__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
#endif
static unsigned int
hash (str, len)
@@ -20,32 +24,32 @@ hash (str, len)
{
static const unsigned short asso_values[] =
{
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 0, 1,
- 0, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 247, 218, 144,
- 0, 0, 40, 7, 126, 184, 2, 15, 146, 67,
- 9, 60, 0, 0, 3, 0, 7, 8, 197, 1,
- 40, 8, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 1038, 1038, 1038, 1038
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 0, 0,
+ 1, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 106, 76, 0,
+ 21, 0, 0, 11, 43, 26, 0, 66, 106, 17,
+ 121, 0, 17, 0, 7, 0, 3, 19, 49, 1,
+ 3, 41, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483
};
register int hval = len;
@@ -79,356 +83,236 @@ libc_name_p (str, len)
{
enum
{
- TOTAL_KEYWORDS = 207,
+ TOTAL_KEYWORDS = 156,
MIN_WORD_LENGTH = 3,
MAX_WORD_LENGTH = 10,
- MIN_HASH_VALUE = 18,
- MAX_HASH_VALUE = 1037
+ MIN_HASH_VALUE = 3,
+ MAX_HASH_VALUE = 482
};
static const char * const wordlist[] =
{
- "gets",
- "puts",
- "sqrt",
- "strerror",
- "strstr",
- "strspn",
- "exp",
+ "cos",
+ "feof",
"free",
- "fgets",
- "fputs",
- "fgetws",
- "fputws",
+ "sqrt",
+ "wcsrtombs",
"pow",
- "fseek",
- "perror",
- "strtod",
- "toupper",
- "towupper",
- "frexp",
- "strtok",
- "fsetpos",
+ "towctrans",
+ "wcsstr",
+ "wcstombs",
+ "strstr",
"ferror",
- "freopen",
- "fgetpos",
- "fopen",
+ "wcsxfrm",
+ "wcsftime",
+ "exit",
+ "exp",
+ "modf",
+ "strxfrm",
"wmemset",
"memset",
- "system",
- "wcsstr",
- "wctype",
- "strxfrm",
- "wcsspn",
- "strcspn",
- "fmod",
- "strcpy",
- "strncpy",
- "strlen",
- "ungetwc",
- "feof",
- "ldexp",
- "isupper",
- "rewind",
- "iswupper",
- "sin",
- "cos",
- "modf",
- "iswpunct",
- "wcstod",
- "log10",
- "log",
- "wcsrtombs",
- "strcmp",
- "fwide",
- "towctrans",
- "strncmp",
- "strtoul",
- "fwrite",
- "exit",
- "swprintf",
- "wcstok",
"strftime",
- "sprintf",
- "wprintf",
- "strpbrk",
+ "frexp",
"time",
- "rand",
- "srand",
+ "ctime",
+ "wcstod",
+ "fwide",
+ "wcscmp",
"wmemmove",
- "tan",
- "tolower",
- "fwprintf",
- "towlower",
- "wcstombs",
- "printf",
- "fprintf",
+ "strtod",
+ "fmod",
+ "wcschr",
+ "wcsrchr",
+ "strcmp",
+ "wctype",
+ "toupper",
+ "towupper",
"strchr",
"strrchr",
- "wmemcpy",
- "fread",
- "getwchar",
- "putwchar",
- "longjmp",
- "memcpy",
- "wcsxfrm",
- "wcscspn",
- "getc",
- "putc",
- "getwc",
- "putwc",
- "wcscpy",
- "wcsncpy",
- "wcslen",
- "floor",
- "setbuf",
- "ungetc",
- "rename",
- "remove",
- "gmtime",
- "mktime",
- "fgetc",
- "fputc",
- "fgetwc",
- "fputwc",
- "memcmp",
- "iswctype",
"wmemcmp",
- "ispunct",
- "mbstowcs",
- "wcscmp",
- "mbsrtowcs",
- "setlocale",
- "wcsncmp",
- "wcstoul",
- "strtol",
- "wcsftime",
+ "iswctype",
+ "gmtime",
+ "difftime",
+ "btowc",
"iswprint",
- "wcspbrk",
- "iswdigit",
- "isprint",
- "fclose",
- "atof",
- "islower",
- "iswlower",
- "ctime",
+ "iswxdigit",
+ "cosh",
+ "memcmp",
"wmemchr",
+ "isupper",
+ "iswupper",
+ "iswdigit",
"memchr",
- "wctrans",
- "strcat",
- "getenv",
- "strncat",
- "iswxdigit",
- "wcschr",
- "wcsrchr",
"isxdigit",
+ "wmemcpy",
+ "mbtowc",
+ "setbuf",
+ "mbstowcs",
+ "wcscpy",
+ "memmove",
"vswprintf",
- "raise",
- "iswspace",
- "vsprintf",
- "vwprintf",
- "vprintf",
- "swscanf",
- "sinh",
- "tmpfile",
- "asin",
- "mblen",
"acos",
- "mbrlen",
- "cosh",
- "difftime",
- "memmove",
- "abs",
- "tmpnam",
- "vfwprintf",
- "setvbuf",
- "vfprintf",
- "scanf",
- "sscanf",
- "wscanf",
- "fwscanf",
- "ftell",
- "fflush",
- "atexit",
- "iswcntrl",
- "iscntrl",
"mbrtowc",
"wcrtomb",
- "fabs",
- "wcstol",
- "strcoll",
- "atan2",
- "tanh",
- "atan",
- "fscanf",
- "clock",
- "getchar",
- "putchar",
- "abort",
- "clearerr",
+ "mbsrtowcs",
+ "atof",
+ "strcpy",
+ "setlocale",
"wcscat",
- "wcsncat",
"isdigit",
- "isgraph",
- "iswgraph",
- "btowc",
+ "log10",
+ "tolower",
+ "floor",
+ "towlower",
+ "strcat",
+ "log",
+ "mktime",
+ "wcstoul",
+ "fseek",
+ "memcpy",
+ "wcstok",
+ "strtoul",
+ "wcscspn",
+ "islower",
"div",
+ "iswlower",
+ "atexit",
+ "strtok",
+ "setvbuf",
+ "strcspn",
"isspace",
- "atol",
- "labs",
- "ceil",
- "mbtowc",
- "wcscoll",
- "wctob",
+ "iswspace",
"asctime",
- "iswalnum",
- "isalnum",
- "mbsinit",
+ "wctob",
+ "wcsncmp",
"atoi",
+ "ldexp",
+ "strncmp",
+ "wcspbrk",
"wctomb",
+ "swprintf",
+ "sprintf",
+ "strpbrk",
+ "abs",
+ "fabs",
+ "wcsncpy",
+ "ispunct",
+ "iswpunct",
+ "strncpy",
+ "iswgraph",
+ "isprint",
+ "isgraph",
+ "wcscoll",
+ "wcstol",
+ "vsprintf",
+ "strcoll",
+ "strtol",
+ "sscanf",
+ "clearerr",
+ "swscanf",
+ "sinh",
+ "wcsncat",
+ "getenv",
+ "ceil",
+ "clock",
+ "wctrans",
+ "strncat",
"ldiv",
- "signal",
- "realloc",
+ "iswcntrl",
+ "wcsspn",
+ "iscntrl",
+ "sin",
+ "strspn",
+ "mbsinit",
+ "longjmp",
+ "rand",
+ "srand",
+ "labs",
+ "tanh",
+ "calloc",
+ "atol",
"localtime",
+ "realloc",
+ "malloc",
+ "atan2",
+ "tan",
+ "wcslen",
+ "strlen",
"iswalpha",
"localeconv",
+ "asin",
+ "iswalnum",
+ "isalnum",
"isalpha",
- "malloc",
- "calloc"
+ "mblen",
+ "mbrlen",
+ "atan",
+ "signal"
};
static const short lookup[] =
{
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 0, 1, -1, 2, -1, -1,
- -1, -1, -1, 3, -1, 4, -1, -1,
- -1, -1, 5, -1, -1, -1, -1, -1,
- -1, -1, -1, 6, -1, -1, -1, 7,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 8, 9, 10, 11, -1,
- -1, 12, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 13, -1, -1, 14, -1,
- -1, -1, -1, 15, -1, 16, -1, 17,
- 18, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 19, 20, -1, -1, -1, 21, 22,
- -1, 23, -1, 24, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 25, -1, -1,
- -1, -1, 26, 27, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, -1, 29, 30,
- -1, 31, 32, 33, -1, -1, -1, -1,
- 34, -1, 35, -1, 36, -1, -1, 37,
- 38, -1, -1, -1, -1, -1, -1, 39,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 40, 41, 42, 43, -1, 44,
- -1, -1, -1, 45, -1, -1, -1, -1,
- -1, 46, 47, 48, -1, -1, -1, 49,
- 50, -1, -1, 51, -1, -1, 52, 53,
- -1, -1, -1, -1, -1, 54, 55, -1,
- -1, 56, 57, -1, -1, 58, -1, -1,
- 59, 60, 61, 62, -1, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, 64, 65,
- 66, -1, -1, -1, -1, -1, 67, -1,
- -1, -1, -1, 68, -1, -1, -1, -1,
- -1, -1, -1, -1, 69, 70, 71, 72,
- -1, 73, 74, -1, 75, 76, 77, 78,
- 79, 80, 81, -1, 82, -1, 83, -1,
- -1, 84, 85, 86, 87, 88, -1, 89,
- -1, 90, -1, 91, -1, 92, -1, 93,
- -1, -1, -1, -1, -1, 94, -1, -1,
- -1, -1, -1, -1, 95, 96, -1, -1,
- -1, -1, 97, -1, -1, -1, -1, -1,
- -1, -1, 98, 99, 100, 101, 102, 103,
- 104, 105, -1, -1, -1, -1, -1, 106,
- -1, 107, 108, -1, 109, -1, 110, -1,
- -1, -1, -1, -1, 111, 112, -1, 113,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 114, -1, -1, 115, 116, -1, -1, 117,
- -1, -1, 118, -1, 119, -1, 120, -1,
- -1, 121, -1, 122, -1, -1, -1, 123,
- -1, -1, -1, -1, -1, -1, -1, 124,
- 125, -1, 126, -1, -1, 127, -1, 128,
- 129, 130, -1, 131, 132, -1, 133, -1,
- -1, -1, 134, -1, -1, -1, -1, 135,
- 136, 137, 138, -1, -1, -1, -1, 139,
- 140, 141, -1, 142, -1, 143, 144, 145,
- -1, -1, 146, -1, 147, -1, -1, 148,
- -1, 149, -1, -1, 150, -1, 151, -1,
- -1, -1, 152, -1, -1, 153, -1, -1,
- -1, 154, -1, -1, -1, 155, 156, 157,
- 158, -1, 159, -1, 160, -1, -1, -1,
- -1, -1, 161, 162, 163, -1, -1, -1,
- -1, -1, -1, -719, -1, 166, 167, -43,
- -2, 168, -1, 169, -1, -1, -1, 170,
- -1, -1, -1, 171, -1, -1, 172, -1,
- -1, 173, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 174, 175, -1,
- -1, -1, -1, 176, -1, -1, -1, 177,
- -1, -1, -1, -1, 178, -1, -1, 179,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 180, 181, -1,
- 182, -1, -1, 183, -1, 184, 185, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 186, -1, -1, -1, -1, 187,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 188, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 189,
- 190, -1, -1, -1, -1, 191, -1, -1,
- 192, -1, -1, -1, -1, -1, 193, -1,
- -1, -1, -1, -1, 194, -1, -1, -1,
- -1, -1, -1, -1, 195, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 196, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 197, -1, -1, -1, -1, -1, -1,
- 198, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 199, -1, -1, -1, -1, -1, -1,
- -1, 200, -1, -1, -1, -1, -1, 201,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 202, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 203, -1,
- -1, -1, -1, -1, -1, 204, -1, -1,
- 205, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 206
+ -1, -1, -1, 0, 1, -1, -1, -1,
+ -1, -1, -1, 2, -1, -1, -1, -1,
+ -1, 3, -1, -1, 4, -1, 5, 6,
+ 7, -1, -1, -1, -1, 8, -1, -1,
+ -1, 9, 10, 11, -1, -1, 12, 13,
+ 14, -1, 15, -1, 16, 17, 18, 19,
+ -1, 20, 21, 22, 23, 24, -1, -1,
+ -1, -1, 25, -1, 26, 27, -1, 28,
+ 29, 30, -1, 31, 32, -1, 33, -1,
+ 34, 35, 36, -1, 37, -1, -1, 38,
+ 39, -1, -1, -1, 40, 41, -1, -1,
+ 42, 43, 44, 45, 46, 47, -1, 48,
+ 49, 50, 51, -1, 52, -1, -1, 53,
+ 54, 55, 56, 57, -1, 58, 59, -273,
+ 62, 63, -1, 64, -96, -2, 65, 66,
+ 67, -1, 68, -1, 69, 70, 71, -1,
+ 72, -1, -1, 73, -1, -1, -1, 74,
+ 75, 76, -1, 77, -1, -1, 78, -1,
+ -1, 79, 80, 81, 82, 83, 84, 85,
+ -1, -1, 86, 87, 88, -1, 89, 90,
+ -1, 91, -1, 92, -1, 93, -1, -1,
+ -1, 94, -1, -1, 95, -1, 96, -1,
+ -1, -1, -1, 97, 98, 99, -1, 100,
+ -1, 101, 102, 103, -1, -1, -1, -1,
+ -1, 104, -1, 105, 106, -1, -1, -1,
+ -1, -1, 107, -1, -1, -1, -1, 108,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 109, -1, -1, 110, -1, 111, -1,
+ -1, -1, -1, -1, 112, 113, -1, 114,
+ -1, 115, 116, 117, -1, 118, 119, 120,
+ -1, -1, 121, 122, -1, 123, -1, 124,
+ -1, -1, -1, -1, -1, -1, -1, 125,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 126, 127, -1, -1, -1, 128, 129,
+ -1, -1, -1, 130, 131, -1, -1, 132,
+ 133, 134, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 135, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 136, -1, -1, -1, 137, 138, -1, -1,
+ -1, -1, 139, -1, 140, -1, -1, -1,
+ -1, -1, -1, -1, -1, 141, -1, 142,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 143, 144, -1, -1, -1, -1,
+ -1, -1, -1, -1, 145, -1, -1, -1,
+ -1, -1, 146, -1, -1, -1, -1, -1,
+ -1, 147, 148, -1, -1, -1, -1, -1,
+ -1, 149, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 150, -1, -1, -1, -1, -1,
+ -1, -1, -1, 151, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 152, -1,
+ -1, -1, -1, -1, -1, -1, 153, -1,
+ -1, -1, -1, -1, -1, 154, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 155
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 06d09681e6f..82eede5bf23 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);
@@ -304,8 +306,27 @@ build_base_path (code, expr, binfo, nonnull)
/* Going via virtual base V_BINFO. We need the static offset
from V_BINFO to BINFO, and the dynamic offset from D_BINFO to
V_BINFO. That offset is an entry in D_BINFO's vtable. */
- tree v_offset = build_vfield_ref (build_indirect_ref (expr, NULL),
- TREE_TYPE (TREE_TYPE (expr)));
+ tree v_offset;
+
+ if (fixed_type_p < 0 && in_base_initializer)
+ {
+ /* In a base member initializer, we cannot rely on
+ the vtable being set up. We have to use the vtt_parm. */
+ tree derived = v_binfo;
+
+ while (BINFO_INHERITANCE_CHAIN (derived))
+ derived = BINFO_INHERITANCE_CHAIN (derived);
+
+ v_offset = build (PLUS_EXPR, TREE_TYPE (current_vtt_parm),
+ current_vtt_parm, BINFO_VPTR_INDEX (derived));
+
+ v_offset = build1 (INDIRECT_REF,
+ TREE_TYPE (TYPE_VFIELD (BINFO_TYPE (derived))),
+ v_offset);
+ }
+ else
+ v_offset = build_vfield_ref (build_indirect_ref (expr, NULL),
+ TREE_TYPE (TREE_TYPE (expr)));
v_binfo = binfo_for_vbase (BINFO_TYPE (v_binfo), BINFO_TYPE (d_binfo));
@@ -1130,6 +1151,9 @@ handle_using_decl (using_decl, t)
tree flist = NULL_TREE;
tree old_value;
+ if (ctype == error_mark_node)
+ return;
+
binfo = lookup_base (t, ctype, ba_any, NULL);
if (! binfo)
{
@@ -1832,7 +1856,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;
@@ -2537,11 +2561,19 @@ get_basefndecls (name, t)
int n_baseclasses = CLASSTYPE_N_BASECLASSES (t);
int i;
- for (methods = TYPE_METHODS (t); methods; methods = TREE_CHAIN (methods))
- if (TREE_CODE (methods) == FUNCTION_DECL
- && DECL_VINDEX (methods) != NULL_TREE
- && DECL_NAME (methods) == name)
- base_fndecls = tree_cons (NULL_TREE, methods, base_fndecls);
+ /* Find virtual functions in T with the indicated NAME. */
+ i = lookup_fnfields_1 (t, name);
+ if (i != -1)
+ for (methods = TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (t), i);
+ methods;
+ methods = OVL_NEXT (methods))
+ {
+ tree method = OVL_CURRENT (methods);
+
+ if (TREE_CODE (method) == FUNCTION_DECL
+ && DECL_VINDEX (method))
+ base_fndecls = tree_cons (NULL_TREE, method, base_fndecls);
+ }
if (base_fndecls)
return base_fndecls;
@@ -3061,15 +3093,6 @@ check_field_decl (field, t, cant_have_const_ctor,
cp_error_at ("multiple fields in union `%T' initialized");
*any_default_members = 1;
}
-
- /* Non-bit-fields are aligned for their type, except packed fields
- which require only BITS_PER_UNIT alignment. */
- DECL_ALIGN (field) = MAX (DECL_ALIGN (field),
- (DECL_PACKED (field)
- ? BITS_PER_UNIT
- : TYPE_ALIGN (TREE_TYPE (field))));
- if (! DECL_PACKED (field))
- DECL_USER_ALIGN (field) |= TYPE_USER_ALIGN (TREE_TYPE (field));
}
/* Check the data members (both static and non-static), class-scoped
@@ -3841,9 +3864,8 @@ 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;
-
+ DECL_IGNORED_P (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
objects of the same type at the same address. */
@@ -4762,7 +4784,7 @@ end_of_class (t, include_virtuals_p)
if (!include_virtuals_p
&& TREE_VIA_VIRTUAL (binfo)
- && !BINFO_PRIMARY_P (binfo))
+ && BINFO_PRIMARY_BASE_OF (binfo) != TYPE_BINFO (t))
continue;
offset = end_of_base (binfo);
@@ -4987,12 +5009,19 @@ layout_class_type (tree t, tree *virtuals_p)
DECL_SIZE (field) = TYPE_SIZE (integer_type);
DECL_ALIGN (field) = TYPE_ALIGN (integer_type);
DECL_USER_ALIGN (field) = TYPE_USER_ALIGN (integer_type);
+ layout_nonempty_base_or_field (rli, field, NULL_TREE,
+ empty_base_offsets);
+ /* Now that layout has been performed, set the size of the
+ field to the size of its declared type; the rest of the
+ field is effectively invisible. */
+ DECL_SIZE (field) = TYPE_SIZE (type);
}
else
- padding = NULL_TREE;
-
- layout_nonempty_base_or_field (rli, field, NULL_TREE,
- empty_base_offsets);
+ {
+ padding = NULL_TREE;
+ layout_nonempty_base_or_field (rli, field, NULL_TREE,
+ empty_base_offsets);
+ }
/* Remember the location of any empty classes in FIELD. */
if (abi_version_at_least (2))
@@ -5084,16 +5113,28 @@ layout_class_type (tree t, tree *virtuals_p)
}
else
{
+ tree eoc;
+
+ /* If the ABI version is not at least two, and the last
+ field was a bit-field, RLI may not be on a byte
+ boundary. In particular, rli_size_unit_so_far might
+ indicate the last complete byte, while rli_size_so_far
+ indicates the total number of bits used. Therefore,
+ rli_size_so_far, rather than rli_size_unit_so_far, is
+ used to compute TYPE_SIZE_UNIT. */
+ eoc = end_of_class (t, /*include_virtuals_p=*/0);
TYPE_SIZE_UNIT (base_t)
= size_binop (MAX_EXPR,
- rli_size_unit_so_far (rli),
- end_of_class (t, /*include_virtuals_p=*/0));
+ convert (sizetype,
+ size_binop (CEIL_DIV_EXPR,
+ rli_size_so_far (rli),
+ bitsize_int (BITS_PER_UNIT))),
+ eoc);
TYPE_SIZE (base_t)
= size_binop (MAX_EXPR,
rli_size_so_far (rli),
size_binop (MULT_EXPR,
- convert (bitsizetype,
- TYPE_SIZE_UNIT (base_t)),
+ convert (bitsizetype, eoc),
bitsize_int (BITS_PER_UNIT)));
}
TYPE_ALIGN (base_t) = rli->record_align;
@@ -5116,6 +5157,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;
@@ -5154,6 +5196,30 @@ layout_class_type (tree t, tree *virtuals_p)
splay_tree_delete (empty_base_offsets);
}
+/* Returns the virtual function with which the vtable for TYPE is
+ emitted, or NULL_TREE if that heuristic is not applicable to TYPE. */
+
+static tree
+key_method (tree type)
+{
+ tree method;
+
+ if (TYPE_FOR_JAVA (type)
+ || processing_template_decl
+ || CLASSTYPE_TEMPLATE_INSTANTIATION (type)
+ || CLASSTYPE_INTERFACE_KNOWN (type))
+ return NULL_TREE;
+
+ for (method = TYPE_METHODS (type); method != NULL_TREE;
+ method = TREE_CHAIN (method))
+ if (DECL_VINDEX (method) != NULL_TREE
+ && ! DECL_DECLARED_INLINE_P (method)
+ && ! DECL_PURE_VIRTUAL_P (method))
+ return method;
+
+ return NULL_TREE;
+}
+
/* Perform processing required when the definition of T (a class type)
is complete. */
@@ -5195,6 +5261,17 @@ finish_struct_1 (t)
bases and members and add implicitly generated methods. */
check_bases_and_members (t);
+ /* Find the key method */
+ if (TYPE_CONTAINS_VPTR_P (t))
+ {
+ CLASSTYPE_KEY_METHOD (t) = key_method (t);
+
+ /* If a polymorphic class has no key method, we may emit the vtable
+ in every translation unit where the class definition appears. */
+ if (CLASSTYPE_KEY_METHOD (t) == NULL_TREE)
+ keyed_classes = tree_cons (NULL_TREE, t, keyed_classes);
+ }
+
/* Layout the class itself. */
layout_class_type (t, &virtuals);
@@ -5263,9 +5340,6 @@ finish_struct_1 (t)
? TARGET_VTABLE_USES_DESCRIPTORS : 1))
if (TREE_CODE (DECL_VINDEX (BV_FN (fn))) != INTEGER_CST)
DECL_VINDEX (BV_FN (fn)) = build_shared_int_cst (vindex);
-
- /* Add this class to the list of dynamic classes. */
- dynamic_classes = tree_cons (NULL_TREE, t, dynamic_classes);
}
finish_struct_bits (t);
@@ -5347,7 +5421,6 @@ unreverse_member_declarations (t)
/* The following lists are all in reverse order. Put them in
declaration order now. */
TYPE_METHODS (t) = nreverse (TYPE_METHODS (t));
- CLASSTYPE_TAGS (t) = nreverse (CLASSTYPE_TAGS (t));
CLASSTYPE_DECL_LIST (t) = nreverse (CLASSTYPE_DECL_LIST (t));
/* Actually, for the TYPE_FIELDS, only the non TYPE_DECLs are in
@@ -5517,11 +5590,21 @@ fixed_type_or_null (instance, nonnull, cdtorp)
/* Reference variables should be references to objects. */
if (nonnull)
*nonnull = 1;
-
- if (TREE_CODE (instance) == VAR_DECL
- && DECL_INITIAL (instance))
- return fixed_type_or_null (DECL_INITIAL (instance),
- nonnull, cdtorp);
+
+ /* DECL_VAR_MARKED_P is used to prevent recursion; a
+ variable's initializer may refer to the variable
+ itself. */
+ if (TREE_CODE (instance) == VAR_DECL
+ && DECL_INITIAL (instance)
+ && !DECL_VAR_MARKED_P (instance))
+ {
+ tree type;
+ DECL_VAR_MARKED_P (instance) = 1;
+ type = fixed_type_or_null (DECL_INITIAL (instance),
+ nonnull, cdtorp);
+ DECL_VAR_MARKED_P (instance) = 0;
+ return type;
+ }
}
return NULL_TREE;
@@ -5699,7 +5782,7 @@ pushclass (type, modify)
unuse_fields (type);
}
- storetags (CLASSTYPE_TAGS (type));
+ cxx_remember_type_decls (CLASSTYPE_NESTED_UDTS (type));
}
}
@@ -8170,22 +8253,20 @@ build_rtti_vtbl_entries (binfo, vid)
/* The second entry is the address of the typeinfo object. */
if (flag_rtti)
- decl = build_unary_op (ADDR_EXPR, get_tinfo_decl (t), 0);
+ decl = build_address (get_tinfo_decl (t));
else
decl = integer_zero_node;
/* Convert the declaration to a type that can be stored in the
vtable. */
- init = build1 (NOP_EXPR, vfunc_ptr_type_node, decl);
- TREE_CONSTANT (init) = 1;
+ init = build_nop (vfunc_ptr_type_node, decl);
*vid->last_init = build_tree_list (NULL_TREE, init);
vid->last_init = &TREE_CHAIN (*vid->last_init);
/* Add the offset-to-top entry. It comes earlier in the vtable that
the the typeinfo entry. Convert the offset to look like a
function pointer, so that we can put it in the vtable. */
- init = build1 (NOP_EXPR, vfunc_ptr_type_node, offset);
- TREE_CONSTANT (init) = 1;
+ init = build_nop (vfunc_ptr_type_node, offset);
*vid->last_init = build_tree_list (NULL_TREE, init);
vid->last_init = &TREE_CHAIN (*vid->last_init);
}
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index eeebb1aac57..b8feb03ec30 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -34,4 +34,4 @@ stagestuff="g++\$(exeext) g++-cross\$(exeext) cc1plus\$(exeext)"
target_libs="${libstdcxx_version} target-gperf"
-gtfiles="\$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/lex.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/parse.y \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/spew.c \$(srcdir)/cp/tree.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-pragma.c"
+gtfiles="\$(srcdir)/cp/mangle.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/lex.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/parse.y \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/spew.c \$(srcdir)/cp/tree.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-pragma.c"
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index a7f2d85966e..0d8a4e355b5 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -90,6 +90,9 @@ static bool cp_var_mod_type_p PARAMS ((tree));
#define LANG_HOOKS_PRINT_ERROR_FUNCTION cxx_print_error_function
#undef LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL
#define LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL cxx_warn_unused_global_decl
+#undef LANG_HOOKS_WRITE_GLOBALS
+#define LANG_HOOKS_WRITE_GLOBALS lhd_do_nothing
+
#undef LANG_HOOKS_FUNCTION_INIT
#define LANG_HOOKS_FUNCTION_INIT cxx_push_function_context
@@ -259,8 +262,13 @@ static HOST_WIDE_INT
cxx_get_alias_set (t)
tree t;
{
- /* It's not yet safe to use alias sets for classes in C++. */
- if (!ok_to_generate_alias_set_for_type(t))
+ if (/* It's not yet safe to use alias sets for some classes in C++. */
+ !ok_to_generate_alias_set_for_type (t)
+ /* Nor is it safe to use alias sets for pointers-to-member
+ functions, due to the fact that there may be more than one
+ RECORD_TYPE type corresponding to the same pointer-to-member
+ type. */
+ || TYPE_PTRMEMFUNC_P (t))
return 0;
return c_common_get_alias_set (t);
diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def
index 1aae797a4c2..cee19abec99 100644
--- a/gcc/cp/cp-tree.def
+++ b/gcc/cp/cp-tree.def
@@ -218,11 +218,6 @@ DEFTREECODE (DEFAULT_ARG, "default_arg", 'x', 2)
the template may be a LOOKUP_EXPR. */
DEFTREECODE (TEMPLATE_ID_EXPR, "template_id_expr", 'e', 2)
-/* An association between name and entity. Parameters are the scope
- and the (non-type) value. TREE_TYPE indicates the type bound to
- the name. */
-DEFTREECODE (CPLUS_BINDING, "binding", 'x', 2)
-
/* A list-like node for chaining overloading candidates. TREE_TYPE is
the original name, and the parameter is the FUNCTION_DECL. */
DEFTREECODE (OVERLOAD, "overload", 'x', 1)
@@ -267,7 +262,13 @@ DEFTREECODE (MUST_NOT_THROW_EXPR, "must_not_throw_expr", 'e', 1)
DEFTREECODE (TAG_DEFN, "tag_defn", 'e', 0)
-/* And some codes for expressing conversions for overload resolution. */
+/* The following codes are used to represent implicit conversion
+ sequences, in the sense of [over.best.ics]. The conversion
+ sequences are connected through their first operands, with the
+ first conversion to be performed at the end of the chain.
+
+ The innermost conversion (i.e, the one at the end of the chain) is
+ always an IDENTITY_CONV, corresponding to the identity conversion. */
DEFTREECODE (IDENTITY_CONV, "identity_conv", 'e', 1)
DEFTREECODE (LVALUE_CONV, "lvalue_conv", 'e', 1)
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 3b50ffec48a..9f48f464e3b 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -1,6 +1,6 @@
/* Definitions for C++ parsing and type checking.
Copyright (C) 1987, 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 Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -43,7 +43,6 @@ struct diagnostic_context;
DELETE_EXPR_USE_GLOBAL (in DELETE_EXPR).
LOOKUP_EXPR_GLOBAL (in LOOKUP_EXPR).
TREE_INDIRECT_USING (in NAMESPACE_DECL).
- LOCAL_BINDING_P (in CPLUS_BINDING)
ICS_USER_FLAG (in _CONV)
CLEANUP_P (in TRY_BLOCK)
AGGR_INIT_VIA_CTOR_P (in AGGR_INIT_EXPR)
@@ -55,14 +54,12 @@ struct diagnostic_context;
DELETE_EXPR_USE_VEC (in DELETE_EXPR).
(TREE_CALLS_NEW) (in _EXPR or _REF) (commented-out).
TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P (in _TYPE).
- INHERITED_VALUE_BINDING_P (in CPLUS_BINDING)
ICS_ELLIPSIS_FLAG (in _CONV)
BINFO_ACCESS (in BINFO)
DECL_INITIALIZED_P (in VAR_DECL)
2: IDENTIFIER_OPNAME_P.
TYPE_POLYMORPHIC_P (in _TYPE)
ICS_THIS_FLAG (in _CONV)
- BINDING_HAS_LEVEL_P (in CPLUS_BINDING)
BINFO_LOST_PRIMARY_P (in BINFO)
TREE_PARMLIST (in TREE_LIST)
3: TYPE_USES_VIRTUAL_BASECLASSES (in a class TYPE).
@@ -100,7 +97,7 @@ struct diagnostic_context;
DECL_IMPLICIT_TYPEDEF_P (in a TYPE_DECL)
3: DECL_IN_AGGR_P.
4: DECL_C_BIT_FIELD (in a FIELD_DECL)
- DECL_MAYBE_TEMPLATE (in a FUNCTION_DECL)
+ DECL_VAR_MARKED_P (in a VAR_DECL)
5: DECL_INTERFACE_KNOWN.
6: DECL_THIS_STATIC (in VAR_DECL or FUNCTION_DECL).
7: DECL_DEAD_FOR_LOCAL (in VAR_DECL).
@@ -221,13 +218,63 @@ struct diagnostic_context;
(flag_abi_version == 0 || flag_abi_version >= (N))
+/* Datatype used to temporarily save C++ bindings (for implicit
+ instantiations purposes and like). Implemented in decl.c. */
+typedef struct cxx_saved_binding cxx_saved_binding;
+
+/* Datatype that represents binding established by a declaration between
+ a name and a C++ entity. */
+typedef struct cxx_binding cxx_binding;
+
+/* (GC-)allocate a cxx_binding object. */
+#define cxx_binding_make() (ggc_alloc (sizeof (cxx_binding)))
+
+/* Zero out a cxx_binding pointed to by B. */
+#define cxx_binding_clear(B) memset ((B), 0, sizeof (cxx_binding))
+
+struct cxx_binding GTY(())
+{
+ /* Link to chain together various bindings for this name. */
+ cxx_binding *previous;
+ /* The non-type entity this name is bound to. */
+ tree value;
+ /* The type entity this name is bound to. */
+ tree type;
+ union tree_binding_u {
+ tree GTY ((tag ("0"))) scope;
+ struct cp_binding_level * GTY ((tag ("1"))) level;
+ } GTY ((desc ("%0.has_level"))) scope;
+ unsigned has_level : 1;
+ unsigned value_is_inherited : 1;
+ unsigned is_local : 1;
+};
+
+/* The type of dictionary used to map names to types declared at
+ a given scope. */
+typedef struct binding_table_s *binding_table;
+typedef struct binding_entry_s *binding_entry;
+
+/* The type of a routine repeatedly called by binding_table_foreach. */
+typedef void (*bt_foreach_proc) (binding_entry, void *);
+
+struct binding_entry_s GTY(())
+{
+ binding_entry chain;
+ tree name;
+ tree type;
+};
+
+extern void binding_table_foreach (binding_table, bt_foreach_proc, void *);
+extern binding_entry binding_table_find (binding_table, tree);
+extern void cxx_remember_type_decls (binding_table);
+
/* Language-dependent contents of an identifier. */
struct lang_identifier GTY(())
{
struct c_common_identifier c_common;
- tree namespace_bindings;
- tree bindings;
+ cxx_binding *namespace_bindings;
+ cxx_binding *bindings;
tree class_value;
tree class_template_info;
struct lang_id2 *x;
@@ -280,30 +327,28 @@ typedef struct ptrmem_cst * ptrmem_cst_t;
/* Nonzero if this binding is for a local scope, as opposed to a class
or namespace scope. */
-#define LOCAL_BINDING_P(NODE) TREE_LANG_FLAG_0 (NODE)
+#define LOCAL_BINDING_P(NODE) ((NODE)->is_local)
/* Nonzero if BINDING_VALUE is from a base class of the class which is
currently being defined. */
-#define INHERITED_VALUE_BINDING_P(NODE) TREE_LANG_FLAG_1 (NODE)
+#define INHERITED_VALUE_BINDING_P(NODE) ((NODE)->value_is_inherited)
/* For a binding between a name and an entity at a non-local scope,
defines the scope where the binding is declared. (Either a class
_TYPE node, or a NAMESPACE_DECL.) This macro should be used only
for namespace-level bindings; on the IDENTIFIER_BINDING list
BINDING_LEVEL is used instead. */
-#define BINDING_SCOPE(NODE) \
- (((struct tree_binding*)CPLUS_BINDING_CHECK (NODE))->scope.scope)
+#define BINDING_SCOPE(NODE) ((NODE)->scope.scope)
/* Nonzero if NODE has BINDING_LEVEL, rather than BINDING_SCOPE. */
-#define BINDING_HAS_LEVEL_P(NODE) TREE_LANG_FLAG_2 (NODE)
+#define BINDING_HAS_LEVEL_P(NODE) ((NODE)->has_level)
/* This is the declaration bound to the name. Possible values:
variable, overloaded function, namespace, template, enumerator. */
-#define BINDING_VALUE(NODE) \
- (((struct tree_binding*)CPLUS_BINDING_CHECK (NODE))->value)
+#define BINDING_VALUE(NODE) ((NODE)->value)
/* If name is bound to a type, this is the type (struct, union, enum). */
-#define BINDING_TYPE(NODE) TREE_TYPE (NODE)
+#define BINDING_TYPE(NODE) ((NODE)->type)
#define IDENTIFIER_GLOBAL_VALUE(NODE) \
namespace_binding ((NODE), global_namespace)
@@ -337,17 +382,6 @@ typedef struct ptrmem_cst * ptrmem_cst_t;
&& DECL_NAME (NODE) != NULL_TREE \
&& MAIN_NAME_P (DECL_NAME (NODE)))
-
-struct tree_binding GTY(())
-{
- struct tree_common common;
- union tree_binding_u {
- tree GTY ((tag ("0"))) scope;
- struct cp_binding_level * GTY ((tag ("1"))) level;
- } GTY ((desc ("BINDING_HAS_LEVEL_P ((tree)&%0)"))) scope;
- tree value;
-};
-
/* The overloaded FUNCTION_DECL. */
#define OVL_FUNCTION(NODE) \
(((struct tree_overload*)OVERLOAD_CHECK (NODE))->function)
@@ -415,8 +449,8 @@ struct tree_srcloc GTY(())
#define IDENTIFIER_TEMPLATE(NODE) \
(LANG_IDENTIFIER_CAST (NODE)->class_template_info)
-/* The IDENTIFIER_BINDING is the innermost CPLUS_BINDING for the
- identifier. It's TREE_CHAIN is the next outermost binding. Each
+/* The IDENTIFIER_BINDING is the innermost cxx_binding for the
+ identifier. It's PREVIOUS is the next outermost binding. Each
BINDING_VALUE is a DECL for the associated declaration. Thus,
name lookup consists simply of pulling off the node at the front
of the list (modulo oddities for looking up the names of types,
@@ -428,9 +462,7 @@ struct tree_srcloc GTY(())
/* The IDENTIFIER_VALUE is the value of the IDENTIFIER_BINDING, or
NULL_TREE if there is no binding. */
#define IDENTIFIER_VALUE(NODE) \
- (IDENTIFIER_BINDING (NODE) \
- ? BINDING_VALUE (IDENTIFIER_BINDING (NODE)) \
- : NULL_TREE)
+ (IDENTIFIER_BINDING (NODE) ? BINDING_VALUE (IDENTIFIER_BINDING (NODE)) : 0)
/* If IDENTIFIER_CLASS_VALUE is set, then NODE is bound in the current
class, and IDENTIFIER_CLASS_VALUE is the value binding. This is
@@ -505,7 +537,6 @@ enum cp_tree_node_structure_enum {
TS_CP_IDENTIFIER,
TS_CP_TPI,
TS_CP_PTRMEM,
- TS_CP_BINDING,
TS_CP_OVERLOAD,
TS_CP_WRAPPER,
TS_CP_SRCLOC,
@@ -521,7 +552,6 @@ union lang_tree_node GTY((desc ("cp_tree_node_structure (&%h)"),
desc ("tree_node_structure (&%h)"))) generic;
struct template_parm_index_s GTY ((tag ("TS_CP_TPI"))) tpi;
struct ptrmem_cst GTY ((tag ("TS_CP_PTRMEM"))) ptrmem;
- struct tree_binding GTY ((tag ("TS_CP_BINDING"))) binding;
struct tree_overload GTY ((tag ("TS_CP_OVERLOAD"))) overload;
struct tree_wrapper GTY ((tag ("TS_CP_WRAPPER"))) wrapper;
struct tree_srcloc GTY ((tag ("TS_CP_SRCLOC"))) srcloc;
@@ -612,7 +642,7 @@ enum cp_tree_index
CPTI_DSO_HANDLE,
CPTI_DCAST,
- CPTI_DYNAMIC_CLASSES,
+ CPTI_KEYED_CLASSES,
CPTI_MAX
};
@@ -744,15 +774,16 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX];
destructors. */
#define vtt_parm_type cp_global_trees[CPTI_VTT_PARM_TYPE]
-/* A TREE_LIST of all of the dynamic classes in the program. */
+/* A TREE_LIST of the dynamic classes whose vtables may have to be
+ emitted in this translation unit. */
-#define dynamic_classes cp_global_trees[CPTI_DYNAMIC_CLASSES]
+#define keyed_classes cp_global_trees[CPTI_KEYED_CLASSES]
/* Global state. */
struct saved_scope GTY(())
{
- tree old_bindings;
+ cxx_saved_binding *old_bindings;
tree old_namespace;
tree decl_ns_list;
tree class_name;
@@ -855,8 +886,12 @@ struct language_function GTY(())
int returns_null;
int returns_abnormally;
int in_function_try_handler;
+ int in_base_initializer;
int x_expanding_p;
+ /* True if this function can throw an exception. */
+ bool can_throw : 1;
+
struct named_label_use_list *x_named_label_uses;
struct named_label_list *x_named_labels;
struct cp_binding_level *bindings;
@@ -926,6 +961,9 @@ struct language_function GTY(())
#define doing_semantic_analysis_p() (!expanding_p)
+/* Non-zero if we are processing a base initializer. Zero elsewhere. */
+#define in_base_initializer cp_function_chain->in_base_initializer
+
#define in_function_try_handler cp_function_chain->in_function_try_handler
/* Expression always returned from function, or error_mark_node
@@ -941,6 +979,12 @@ extern GTY(()) tree global_namespace;
#define ansi_assopname(CODE) \
(assignment_operator_name_info[(int) (CODE)].identifier)
+/* True if NODE is an erroneous expression. */
+
+#define error_operand_p(NODE) \
+ ((NODE) == error_mark_node \
+ || ((NODE) && TREE_TYPE ((NODE)) == error_mark_node))
+
/* INTERFACE_ONLY nonzero means that we are in an "interface"
section of the compiler. INTERFACE_UNKNOWN nonzero means
we cannot trust the value of INTERFACE_ONLY. If INTERFACE_UNKNOWN
@@ -1054,18 +1098,19 @@ enum languages { lang_c, lang_cplusplus, lang_java };
/* Nonzero iff TYPE is derived from PARENT. Ignores accessibility and
ambiguity issues. */
#define DERIVED_FROM_P(PARENT, TYPE) \
- lookup_base ((TYPE), PARENT, ba_any, NULL)
+ (lookup_base ((TYPE), PARENT, ba_any, NULL) != NULL_TREE)
/* Nonzero iff TYPE is uniquely derived from PARENT. Ignores
accessibility. */
#define UNIQUELY_DERIVED_FROM_P(PARENT, TYPE) \
- lookup_base ((TYPE), (PARENT), ba_ignore | ba_quiet, NULL)
+ (lookup_base ((TYPE), (PARENT), ba_ignore | ba_quiet, NULL) != NULL_TREE)
/* Nonzero iff TYPE is accessible in the current scope and uniquely
derived from PARENT. */
#define ACCESSIBLY_UNIQUELY_DERIVED_P(PARENT, TYPE) \
- lookup_base ((TYPE), (PARENT), ba_check | ba_quiet, NULL)
+ (lookup_base ((TYPE), (PARENT), ba_check | ba_quiet, NULL) != NULL_TREE)
/* Nonzero iff TYPE is publicly & uniquely derived from PARENT. */
#define PUBLICLY_UNIQUELY_DERIVED_P(PARENT, TYPE) \
- lookup_base ((TYPE), (PARENT), ba_not_special | ba_quiet, NULL)
+ (lookup_base ((TYPE), (PARENT), ba_not_special | ba_quiet, NULL) \
+ != NULL_TREE)
/* This is a few header flags for 'struct lang_type'. Actually,
all but the first are used only for lang_type_class; they
@@ -1159,11 +1204,12 @@ struct lang_type_class GTY(())
tree vtables;
tree typeinfo_var;
tree vbases;
- tree tags;
+ binding_table nested_udts;
tree as_base;
tree pure_virtuals;
tree friend_classes;
tree methods;
+ tree key_method;
tree decl_list;
tree template_info;
tree befriending_classes;
@@ -1284,6 +1330,11 @@ struct lang_type GTY(())
hierarchy, then we can use more efficient search techniques. */
#define TYPE_USES_VIRTUAL_BASECLASSES(NODE) (TREE_LANG_FLAG_3 (NODE))
+/* The member function with which the vtable will be emitted:
+ the first noninline non-pure-virtual member function. NULL_TREE
+ if there is no key function or if this is a class template */
+#define CLASSTYPE_KEY_METHOD(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->key_method)
+
/* Vector member functions defined in this class. Each element is
either a FUNCTION_DECL, a TEMPLATE_DECL, or an OVERLOAD. All
functions with the same name end up in the same slot. The first
@@ -1365,11 +1416,12 @@ struct lang_type GTY(())
#define SET_CLASSTYPE_MARKED6(NODE) SET_CLASSTYPE_MARKED_N (NODE, 5)
#define CLEAR_CLASSTYPE_MARKED6(NODE) CLEAR_CLASSTYPE_MARKED_N (NODE, 5)
-/* A list of the nested tag-types (class, struct, union, or enum)
- found within this class. The TREE_PURPOSE of each node is the name
- of the type; the TREE_VALUE is the type itself. This list includes
+/* A binding_table of the nested tag-types (class, struct, union, or enum)
+ found within this class. The ENTRY->name of each node is the name
+ of the type; the ENTRY->type is the type itself. This table includes
nested member class templates. */
-#define CLASSTYPE_TAGS(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->tags)
+#define CLASSTYPE_NESTED_UDTS(NODE) \
+ (LANG_TYPE_CLASS_CHECK (NODE)->nested_udts)
/* Nonzero if NODE has a primary base class, i.e., a base class with
which it shares the virtual function table pointer. */
@@ -1952,6 +2004,11 @@ struct lang_decl GTY(())
#define DECL_CONV_FN_P(NODE) \
(IDENTIFIER_TYPENAME_P (DECL_NAME (NODE)))
+/* If FN is a conversion operator, the type to which it converts.
+ Otherwise, NULL_TREE. */
+#define DECL_CONV_FN_TYPE(FN) \
+ (DECL_CONV_FN_P (FN) ? TREE_TYPE (DECL_NAME (FN)) : NULL_TREE)
+
/* Nonzero if NODE, which is a TEMPLATE_DECL, is a template
conversion operator to a type dependent on the innermost template
args. */
@@ -2000,7 +2057,8 @@ struct lang_decl GTY(())
(TREE_LANG_FLAG_1 (VAR_DECL_CHECK (NODE)))
/* Nonzero if the DECL was initialized in the class definition itself,
- rather than outside the class. */
+ rather than outside the class. This is used for both static member
+ VAR_DECLS, and FUNTION_DECLS that are defined in the class. */
#define DECL_INITIALIZED_IN_CLASS_P(DECL) \
(DECL_LANG_SPECIFIC (DECL)->decl_flags.initialized_in_class)
@@ -2203,6 +2261,12 @@ struct lang_decl GTY(())
(DECL_LANG_SPECIFIC (VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK (NODE)) \
->decl_flags.u.template_info)
+/* For a VAR_DECL, indicates that the variable has been processed.
+ This flag is set and unset throughout the code; it is always
+ used for a temporary purpose. */
+#define DECL_VAR_MARKED_P(NODE) \
+ (DECL_LANG_FLAG_4 (VAR_DECL_CHECK (NODE)))
+
/* Template information for a RECORD_TYPE or UNION_TYPE. */
#define CLASSTYPE_TEMPLATE_INFO(NODE) \
(LANG_TYPE_CLASS_CHECK (RECORD_OR_UNION_TYPE_CHECK (NODE))->template_info)
@@ -2890,9 +2954,6 @@ struct lang_decl GTY(())
#define PROCESSING_REAL_TEMPLATE_DECL_P() \
(processing_template_decl > template_class_depth (current_class_type))
-/* This function may be a guiding decl for a template. */
-#define DECL_MAYBE_TEMPLATE(NODE) DECL_LANG_FLAG_4 (NODE)
-
/* Nonzero if this VAR_DECL or FUNCTION_DECL has already been
instantiated, i.e. its definition has been generated from the
pattern given in the the template. */
@@ -3290,6 +3351,12 @@ extern GTY(()) varray_type local_classes;
extern int at_eof;
+/* A list of namespace-scope objects which have constructors or
+ destructors which reside in the global scope. The decl is stored
+ in the TREE_VALUE slot and the initializer is stored in the
+ TREE_PURPOSE slot. */
+extern GTY(()) tree static_aggregates;
+
/* Functions called along with real static constructors and destructors. */
extern GTY(()) tree static_ctors;
@@ -3403,7 +3470,7 @@ enum overload_flags { NO_SPECIAL = 0, DTOR_FLAG, OP_FLAG, TYPENAME_FLAG };
type is derived from the pointed to
by the first. */
#define COMPARE_RELAXED 2 /* Like COMPARE_DERIVED, but in
- reverse. Also treat enmeration
+ reverse. Also treat enumeration
types as the same as integer types
of the same width. */
#define COMPARE_REDECLARATION 4 /* The comparsion is being done when
@@ -3528,6 +3595,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);
@@ -3546,7 +3614,8 @@ extern tree type_passed_as PARAMS ((tree));
extern tree convert_for_arg_passing PARAMS ((tree, tree));
extern tree cp_convert_parm_for_inlining PARAMS ((tree, tree, tree));
extern int is_properly_derived_from PARAMS ((tree, tree));
-extern tree initialize_reference PARAMS ((tree, tree));
+extern tree initialize_reference PARAMS ((tree, tree, tree));
+extern tree make_temporary_var_for_ref_to_temp (tree, tree);
extern tree strip_top_quals PARAMS ((tree));
extern tree perform_implicit_conversion PARAMS ((tree, tree));
@@ -3593,6 +3662,7 @@ extern void maybe_note_name_used_in_class PARAMS ((tree, tree));
extern void note_name_declared_in_class PARAMS ((tree, tree));
extern tree get_vtbl_decl_for_binfo PARAMS ((tree));
extern tree in_charge_arg_for_name PARAMS ((tree));
+extern tree build_cxx_call PARAMS ((tree, tree, tree));
extern tree get_vtt_name PARAMS ((tree));
extern tree get_primary_binfo PARAMS ((tree));
@@ -3600,11 +3670,12 @@ extern tree get_primary_binfo PARAMS ((tree));
extern tree convert_to_reference PARAMS ((tree, tree, int, int, tree));
extern tree convert_from_reference PARAMS ((tree));
extern tree convert_lvalue PARAMS ((tree, tree));
+extern tree force_rvalue PARAMS ((tree));
extern tree ocp_convert PARAMS ((tree, tree, int, int));
extern tree cp_convert PARAMS ((tree, tree));
extern tree convert_to_void PARAMS ((tree, const char */*implicit context*/));
extern tree convert_force PARAMS ((tree, tree, int));
-extern tree build_type_conversion PARAMS ((tree, tree, int));
+extern tree build_type_conversion PARAMS ((tree, tree));
extern tree build_expr_type_conversion PARAMS ((int, tree, int));
extern tree type_promotes_to PARAMS ((tree));
extern tree perform_qualification_conversions PARAMS ((tree, tree));
@@ -3664,23 +3735,24 @@ extern void clear_anon_tags PARAMS ((void));
extern int decls_match PARAMS ((tree, tree));
extern int duplicate_decls PARAMS ((tree, tree));
extern tree pushdecl_top_level PARAMS ((tree));
-extern void pushdecl_class_level PARAMS ((tree));
+extern tree pushdecl_top_level_and_finish (tree, tree);
+extern bool pushdecl_class_level (tree);
extern tree pushdecl_namespace_level PARAMS ((tree));
extern tree push_using_decl PARAMS ((tree, tree));
extern tree push_using_directive PARAMS ((tree));
-extern void push_class_level_binding PARAMS ((tree, tree));
+extern bool push_class_level_binding (tree, tree);
extern tree implicitly_declare PARAMS ((tree));
extern tree declare_local_label PARAMS ((tree));
extern tree define_label PARAMS ((const char *, int, tree));
extern void check_goto PARAMS ((tree));
extern void define_case_label PARAMS ((void));
-extern tree binding_for_name PARAMS ((tree, tree));
+extern cxx_binding *binding_for_name (tree, tree);
extern tree namespace_binding PARAMS ((tree, tree));
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));
@@ -3690,10 +3762,11 @@ extern tree lookup_name_namespace_only PARAMS ((tree));
extern void begin_only_namespace_names PARAMS ((void));
extern void end_only_namespace_names PARAMS ((void));
extern tree namespace_ancestor PARAMS ((tree, tree));
+extern bool is_ancestor (tree, tree);
extern tree unqualified_namespace_lookup PARAMS ((tree, int, tree *));
extern tree check_for_out_of_scope_variable (tree);
-extern int lookup_using_namespace PARAMS ((tree, tree, tree, tree, int, tree *));
-extern int qualified_lookup_using_namespace PARAMS ((tree, tree, tree, int));
+extern bool lookup_using_namespace (tree, cxx_binding *, tree, tree, int, tree *);
+extern bool qualified_lookup_using_namespace (tree, tree, cxx_binding *, int);
extern tree build_library_fn PARAMS ((tree, tree));
extern tree build_library_fn_ptr PARAMS ((const char *, tree));
extern tree build_cp_library_fn_ptr PARAMS ((const char *, tree));
@@ -3769,6 +3842,7 @@ extern int nonstatic_local_decl_p PARAMS ((tree));
extern tree declare_global_var PARAMS ((tree, tree));
extern void register_dtor_fn PARAMS ((tree));
extern tmpl_spec_kind current_tmpl_spec_kind PARAMS ((int));
+extern cxx_binding *cxx_scope_find_binding_for_name (tree, tree);
extern tree cp_fname_init PARAMS ((const char *));
extern bool have_extern_spec;
@@ -3787,7 +3861,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));
@@ -3885,19 +3959,19 @@ extern void add_friend PARAMS ((tree, tree));
extern tree do_friend PARAMS ((tree, tree, tree, tree, tree, enum overload_flags, tree, int));
/* in init.c */
-extern tree expand_member_init (tree, tree);
+extern tree expand_member_init (tree);
extern void emit_mem_initializers (tree);
extern tree build_aggr_init PARAMS ((tree, tree, int));
extern tree build_init PARAMS ((tree, tree, int));
extern int is_aggr_type PARAMS ((tree, int));
extern tree get_aggr_from_typedef PARAMS ((tree, int));
extern tree get_type_value PARAMS ((tree));
-extern tree build_zero_init (tree, bool);
+extern tree build_zero_init (tree, tree, bool);
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));
@@ -4043,7 +4117,9 @@ extern tree get_vbase PARAMS ((tree, tree));
extern tree get_dynamic_cast_base_type PARAMS ((tree, tree));
extern void type_access_control PARAMS ((tree, tree));
extern int accessible_p PARAMS ((tree, tree));
+extern tree lookup_field_1 (tree, tree, bool);
extern tree lookup_field PARAMS ((tree, tree, int, int));
+extern tree lookup_nested_field PARAMS ((tree, int));
extern int lookup_fnfields_1 PARAMS ((tree, tree));
extern tree lookup_fnfields PARAMS ((tree, tree, int));
extern tree lookup_member PARAMS ((tree, tree, int, int));
@@ -4215,6 +4291,7 @@ extern tree canonical_type_variant PARAMS ((tree));
extern void unshare_base_binfos PARAMS ((tree));
extern int member_p PARAMS ((tree));
extern cp_lvalue_kind real_lvalue_p PARAMS ((tree));
+extern cp_lvalue_kind real_non_cast_lvalue_p (tree);
extern int non_cast_lvalue_p PARAMS ((tree));
extern int non_cast_lvalue_or_else PARAMS ((tree, const char *));
extern tree build_min PARAMS ((enum tree_code, tree,
@@ -4352,6 +4429,8 @@ extern tree check_return_expr PARAMS ((tree));
#define cxx_sizeof(T) cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, true)
#define cxx_alignof(T) cxx_sizeof_or_alignof_type (T, ALIGNOF_EXPR, true)
extern tree build_ptrmemfunc_access_expr (tree, tree);
+extern tree build_address (tree);
+extern tree build_nop (tree, tree);
/* in typeck2.c */
extern void require_complete_eh_spec_types PARAMS ((tree, tree));
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index 97d24202850..75a6a3a689d 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -90,7 +90,7 @@ cp_convert_to_pointer (type, expr, force)
return error_mark_node;
}
- rval = build_type_conversion (type, expr, 1);
+ rval = build_type_conversion (type, expr);
if (rval)
{
if (rval == error_mark_node)
@@ -148,31 +148,33 @@ cp_convert_to_pointer (type, expr, force)
{
enum tree_code code = PLUS_EXPR;
tree binfo;
+ tree intype_class;
+ tree type_class;
+ bool same_p;
+ intype_class = TREE_TYPE (intype);
+ type_class = TREE_TYPE (type);
+
+ same_p = same_type_p (TYPE_MAIN_VARIANT (intype_class),
+ TYPE_MAIN_VARIANT (type_class));
+ binfo = NULL_TREE;
/* Try derived to base conversion. */
- binfo = lookup_base (TREE_TYPE (intype), TREE_TYPE (type),
- ba_check, NULL);
- if (!binfo)
+ if (!same_p)
+ binfo = lookup_base (intype_class, type_class, ba_check, NULL);
+ if (!same_p && !binfo)
{
/* Try base to derived conversion. */
- binfo = lookup_base (TREE_TYPE (type), TREE_TYPE (intype),
- ba_check, NULL);
+ binfo = lookup_base (type_class, intype_class, ba_check, NULL);
code = MINUS_EXPR;
}
if (binfo == error_mark_node)
return error_mark_node;
- if (binfo)
+ if (binfo || same_p)
{
- expr = build_base_path (code, expr, binfo, 0);
+ if (binfo)
+ expr = build_base_path (code, expr, binfo, 0);
/* Add any qualifier conversions. */
- if (!same_type_p (TREE_TYPE (TREE_TYPE (expr)),
- TREE_TYPE (type)))
- {
- expr = build1 (NOP_EXPR, type, expr);
- TREE_CONSTANT (expr) =
- TREE_CONSTANT (TREE_OPERAND (expr, 0));
- }
- return expr;
+ return build_nop (type, expr);
}
}
@@ -225,9 +227,7 @@ cp_convert_to_pointer (type, expr, force)
return error_mark_node;
}
- rval = build1 (NOP_EXPR, type, expr);
- TREE_CONSTANT (rval) = TREE_CONSTANT (expr);
- return rval;
+ return build_nop (type, expr);
}
else if (TYPE_PTRMEMFUNC_P (type) && TYPE_PTRMEMFUNC_P (intype))
return build_ptrmemfunc (TYPE_PTRMEMFUNC_FN_TYPE (type), expr, 0);
@@ -327,14 +327,9 @@ convert_to_pointer_force (type, expr)
/* Add any qualifier conversions. */
if (!same_type_p (TREE_TYPE (TREE_TYPE (expr)),
TREE_TYPE (type)))
- {
- expr = build1 (NOP_EXPR, type, expr);
- TREE_CONSTANT (expr) =
- TREE_CONSTANT (TREE_OPERAND (expr, 0));
- }
+ expr = build_nop (type, expr);
return expr;
}
-
}
}
@@ -357,7 +352,6 @@ build_up_reference (type, arg, flags, decl)
tree rval;
tree argtype = TREE_TYPE (arg);
tree target_type = TREE_TYPE (type);
- tree stmt_expr = NULL_TREE;
my_friendly_assert (TREE_CODE (type) == REFERENCE_TYPE, 187);
@@ -367,25 +361,7 @@ build_up_reference (type, arg, flags, decl)
here because it needs to live as long as DECL. */
tree targ = arg;
- arg = build_decl (VAR_DECL, NULL_TREE, argtype);
- DECL_ARTIFICIAL (arg) = 1;
- TREE_USED (arg) = 1;
- TREE_STATIC (arg) = TREE_STATIC (decl);
-
- if (TREE_STATIC (decl))
- {
- /* Namespace-scope or local static; give it a mangled name. */
- tree name = mangle_ref_init_variable (decl);
- DECL_NAME (arg) = name;
- SET_DECL_ASSEMBLER_NAME (arg, name);
- arg = pushdecl_top_level (arg);
- }
- else
- {
- /* Automatic; make sure we handle the cleanup properly. */
- maybe_push_cleanup_level (argtype);
- arg = pushdecl (arg);
- }
+ arg = make_temporary_var_for_ref_to_temp (decl, TREE_TYPE (arg));
/* Process the initializer for the declaration. */
DECL_INITIAL (arg) = targ;
@@ -418,16 +394,7 @@ build_up_reference (type, arg, flags, decl)
else
rval
= convert_to_pointer_force (build_pointer_type (target_type), rval);
- rval = build1 (NOP_EXPR, type, rval);
- TREE_CONSTANT (rval) = TREE_CONSTANT (TREE_OPERAND (rval, 0));
-
- /* If we created and initialized a new temporary variable, add the
- representation of that initialization to the RVAL. */
- if (stmt_expr)
- rval = build (COMPOUND_EXPR, TREE_TYPE (rval), stmt_expr, rval);
-
- /* And return the result. */
- return rval;
+ return build_nop (type, rval);
}
/* Subroutine of convert_to_reference. REFTYPE is the target reference type.
@@ -509,7 +476,7 @@ convert_to_reference (reftype, expr, convtype, flags, decl)
/* Look for a user-defined conversion to lvalue that we can use. */
rval_as_conversion
- = build_type_conversion (reftype, expr, 1);
+ = build_type_conversion (reftype, expr);
if (rval_as_conversion && rval_as_conversion != error_mark_node
&& real_lvalue_p (rval_as_conversion))
@@ -618,6 +585,21 @@ convert_lvalue (totype, expr)
NULL_TREE);
return convert_from_reference (expr);
}
+
+/* Really perform an lvalue-to-rvalue conversion, including copying an
+ argument of class type into a temporary. */
+
+tree
+force_rvalue (tree expr)
+{
+ if (IS_AGGR_TYPE (TREE_TYPE (expr)) && TREE_CODE (expr) != TARGET_EXPR)
+ expr = ocp_convert (TREE_TYPE (expr), expr,
+ CONV_IMPLICIT|CONV_FORCE_TEMP, LOOKUP_NORMAL);
+ else
+ expr = decay_conversion (expr);
+
+ return expr;
+}
/* C++ conversions, preference to static cast conversions. */
@@ -706,7 +688,7 @@ ocp_convert (type, expr, convtype, flags)
if (IS_AGGR_TYPE (intype))
{
tree rval;
- rval = build_type_conversion (type, e, 1);
+ rval = build_type_conversion (type, e);
if (rval)
return rval;
if (flags & LOOKUP_COMPLAIN)
@@ -742,7 +724,7 @@ ocp_convert (type, expr, convtype, flags)
if (IS_AGGR_TYPE (TREE_TYPE (e)))
{
tree rval;
- rval = build_type_conversion (type, e, 1);
+ rval = build_type_conversion (type, e);
if (rval)
return rval;
else
@@ -1022,26 +1004,18 @@ convert_force (type, expr, convtype)
allowed (references private members, etc).
If no conversion exists, NULL_TREE is returned.
- If (FOR_SURE & 1) is nonzero, then we allow this type conversion
- to take place immediately. Otherwise, we build a SAVE_EXPR
- which can be evaluated if the results are ever needed.
-
- Changes to this functions should be mirrored in user_harshness.
-
FIXME: Ambiguity checking is wrong. Should choose one by the implicit
object parameter, or by the second standard conversion sequence if
that doesn't do it. This will probably wait for an overloading rewrite.
(jason 8/9/95) */
tree
-build_type_conversion (xtype, expr, for_sure)
+build_type_conversion (xtype, expr)
tree xtype, expr;
- int for_sure;
{
/* C++: check to see if we can convert this aggregate type
into the required type. */
- return build_user_type_conversion
- (xtype, expr, for_sure ? LOOKUP_NORMAL : 0);
+ return build_user_type_conversion (xtype, expr, LOOKUP_NORMAL);
}
/* Convert the given EXPR to one of a group of types suitable for use in an
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index e68c06447e1..cd1a849007f 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -1,6 +1,6 @@
/* Process declarations and variables for C compiler.
Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002 Free Software Foundation, Inc.
+ 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -49,6 +49,8 @@ Boston, MA 02111-1307, USA. */
#include "c-pragma.h"
#include "diagnostic.h"
#include "debug.h"
+#include "timevar.h"
+#include "input.h"
static tree grokparms PARAMS ((tree));
static const char *redeclaration_error_message PARAMS ((tree, tree));
@@ -65,7 +67,7 @@ static void storedecls PARAMS ((tree));
static void require_complete_types_for_parms PARAMS ((tree));
static int ambi_op_p PARAMS ((enum tree_code));
static int unary_op_p PARAMS ((enum tree_code));
-static tree store_bindings PARAMS ((tree, tree));
+static cxx_saved_binding *store_bindings (tree, cxx_saved_binding *);
static tree lookup_tag_reverse PARAMS ((tree, tree));
static tree lookup_name_real PARAMS ((tree, int, int, int));
static void push_local_name PARAMS ((tree));
@@ -96,8 +98,8 @@ static void push_binding PARAMS ((tree, tree, struct cp_binding_level*));
static int add_binding PARAMS ((tree, tree));
static void pop_binding PARAMS ((tree, tree));
static tree local_variable_p_walkfn PARAMS ((tree *, int *, void *));
-static tree find_binding PARAMS ((tree, tree));
-static tree select_decl PARAMS ((tree, int));
+static cxx_binding *find_binding (tree, tree, cxx_binding *);
+static tree select_decl (cxx_binding *, int);
static int lookup_flags PARAMS ((int, int));
static tree qualify_lookup PARAMS ((tree, int));
static tree record_builtin_java_type PARAMS ((const char *, int));
@@ -147,10 +149,6 @@ static void expand_static_init (tree, tree);
static tree next_initializable_field (tree);
static tree reshape_init (tree, tree *);
-#if defined (DEBUG_BINDING_LEVELS)
-static void indent PARAMS ((void));
-#endif
-
/* Erroneous argument lists can use this *IFF* they do not modify it. */
tree error_mark_list;
@@ -290,6 +288,248 @@ int adding_implicit_members = 0;
bool have_extern_spec;
+/* Compute the chain index of a binding_entry given the HASH value of its
+ name and the total COUNT of chains. COUNT is assumed to be a power
+ of 2. */
+#define ENTRY_INDEX(HASH, COUNT) (((HASH) >> 3) & ((COUNT) - 1))
+
+/* A free list of "binding_entry"s awaiting for re-use. */
+static GTY((deletable(""))) binding_entry free_binding_entry;
+
+/* Create a binding_entry object for (NAME, TYPE). */
+static inline binding_entry
+binding_entry_make (tree name, tree type)
+{
+ binding_entry entry;
+
+ if (free_binding_entry)
+ {
+ entry = free_binding_entry;
+ free_binding_entry = entry->chain;
+ }
+ else
+ entry = ggc_alloc (sizeof (struct binding_entry_s));
+
+ entry->name = name;
+ entry->type = type;
+
+ return entry;
+}
+
+/* Put ENTRY back on the free list. */
+static inline void
+binding_entry_free (binding_entry entry)
+{
+ entry->chain = free_binding_entry;
+ free_binding_entry = entry;
+}
+
+/* The datatype used to implement the mapping from names to types at
+ a given scope. */
+struct binding_table_s GTY(())
+{
+ /* Array of chains of "binding_entry"s */
+ binding_entry * GTY((length ("%h.chain_count"))) chain;
+
+ /* The number of chains in this table. This is the length of the
+ the member "chaiin" considered as an array. */
+ size_t chain_count;
+
+ /* Number of "binding_entry"s in this table. */
+ size_t entry_count;
+};
+
+/* These macros indicate the initial chains count for binding_table. */
+#define SCOPE_DEFAULT_HT_SIZE (1 << 3)
+#define CLASS_SCOPE_HT_SIZE (1 << 3)
+#define NAMESPACE_ORDINARY_HT_SIZE (1 << 5)
+#define NAMESPACE_STD_HT_SIZE (1 << 8)
+#define GLOBAL_SCOPE_HT_SIZE (1 << 8)
+
+/* Construct TABLE with an initial CHAIN_COUNT. */
+static inline void
+binding_table_construct (binding_table table, size_t chain_count)
+{
+ table->chain_count = chain_count;
+ table->entry_count = 0;
+ table->chain = ggc_alloc_cleared
+ (table->chain_count * sizeof (binding_entry));
+}
+
+/* Free TABLE by making its entries ready for reuse. */
+static inline void
+binding_table_free (binding_table table)
+{
+ size_t i;
+ if (table == NULL)
+ return;
+
+ for (i = 0; i < table->chain_count; ++i)
+ {
+ while (table->chain[i] != NULL)
+ {
+ binding_entry entry = table->chain[i];
+ table->chain[i] = entry->chain;
+ binding_entry_free (entry);
+ }
+ }
+ table->entry_count = 0;
+}
+
+/* Allocate a table with CHAIN_COUNT, assumed to be a power of two. */
+static inline binding_table
+binding_table_new (size_t chain_count)
+{
+ binding_table table = ggc_alloc (sizeof (struct binding_table_s));
+ binding_table_construct (table, chain_count);
+ return table;
+}
+
+/* Expand TABLE to twice its current chain_count. */
+static void
+binding_table_expand (binding_table table)
+{
+ const size_t old_chain_count = table->chain_count;
+ const size_t old_entry_count = table->entry_count;
+ const size_t new_chain_count = 2 * old_chain_count;
+ binding_entry *old_chains = table->chain;
+ size_t i;
+
+ binding_table_construct (table, new_chain_count);
+ for (i = 0; i < old_chain_count; ++i)
+ {
+ binding_entry entry = old_chains[i];
+ for (; entry != NULL; entry = old_chains[i])
+ {
+ const unsigned int hash = IDENTIFIER_HASH_VALUE (entry->name);
+ const size_t j = ENTRY_INDEX (hash, new_chain_count);
+
+ old_chains[i] = entry->chain;
+ entry->chain = table->chain[j];
+ table->chain[j] = entry;
+ }
+ }
+ table->entry_count = old_entry_count;
+}
+
+/* Insert a binding for NAME to TYPe into TABLE. */
+static inline void
+binding_table_insert (binding_table table, tree name, tree type)
+{
+ const unsigned int hash = IDENTIFIER_HASH_VALUE (name);
+ const size_t i = ENTRY_INDEX (hash, table->chain_count);
+ binding_entry entry = binding_entry_make (name, type);
+
+ entry->chain = table->chain[i];
+ table->chain[i] = entry;
+ ++table->entry_count;
+
+ if (3 * table->chain_count < 5 * table->entry_count)
+ binding_table_expand (table);
+}
+
+/* Return the binding_entry, if any, that maps NAME. */
+binding_entry
+binding_table_find (binding_table table, tree name)
+{
+ const unsigned int hash = IDENTIFIER_HASH_VALUE (name);
+ binding_entry entry = table->chain[ENTRY_INDEX (hash, table->chain_count)];
+
+ while (entry != NULL && entry->name != name)
+ entry = entry->chain;
+
+ return entry;
+}
+
+/* Return the binding_entry, if any, that maps name to an anonymous type. */
+static inline tree
+binding_table_find_anon_type (binding_table table, tree name)
+{
+ const unsigned int hash = IDENTIFIER_HASH_VALUE (name);
+ binding_entry entry = table->chain[ENTRY_INDEX (hash, table->chain_count)];
+
+ while (entry != NULL && TYPE_IDENTIFIER (entry->type) != name)
+ entry = entry->chain;
+
+ return entry ? entry->type : NULL;
+}
+
+/* Return the binding_entry, if any, that has TYPE as target. If NAME
+ is non-null, then set the domain and rehash that entry. */
+static inline binding_entry
+binding_table_reverse_maybe_remap (binding_table table, tree type, tree name)
+{
+ const size_t chain_count = table->chain_count;
+ binding_entry entry = NULL;
+ binding_entry *p;
+ size_t i;
+
+ for (i = 0; i < chain_count && entry == NULL; ++i)
+ {
+ p = &table->chain[i];
+ while (*p != NULL && entry == NULL)
+ if ((*p)->type == type)
+ entry = *p;
+ else
+ p = &(*p)->chain;
+ }
+
+ if (entry != NULL && name != NULL && entry->name != name)
+ {
+ /* Remove the bucket from the previous chain. */
+ *p = (*p)->chain;
+
+ /* Remap the name type to type. */
+ i = ENTRY_INDEX (IDENTIFIER_HASH_VALUE (name), chain_count);
+ entry->chain = table->chain[i];
+ entry->name = name;
+ table->chain[i] = entry;
+ }
+
+ return entry;
+}
+
+/* Remove from TABLE all entries that map to anonymous enums or
+ class-types. */
+static void
+binding_table_remove_anonymous_types (binding_table table)
+{
+ const size_t chain_count = table->chain_count;
+ size_t i;
+
+ for (i = 0; i < chain_count; ++i)
+ {
+ binding_entry *p = &table->chain[i];
+
+ while (*p != NULL)
+ if (ANON_AGGRNAME_P ((*p)->name))
+ {
+ binding_entry e = *p;
+ *p = (*p)->chain;
+ --table->entry_count;
+ binding_entry_free (e);
+ }
+ else
+ p = &(*p)->chain;
+ }
+}
+
+/* Apply PROC -- with DATA -- to all entries in TABLE. */
+void
+binding_table_foreach (binding_table table, bt_foreach_proc proc, void *data)
+{
+ const size_t chain_count = table->chain_count;
+ size_t i;
+
+ for (i = 0; i < chain_count; ++i)
+ {
+ binding_entry entry = table->chain[i];
+ for (; entry != NULL; entry = entry->chain)
+ proc (entry, data);
+ }
+}
+
+
/* For each binding contour we allocate a binding_level structure
which records the names defined in that contour.
Contours include:
@@ -328,18 +568,14 @@ struct cp_binding_level GTY(())
/* A chain of NAMESPACE_DECL nodes. */
tree namespaces;
+ /* An array of static functions and variables (for namespaces only) */
+ varray_type static_decls;
+
/* A chain of VTABLE_DECL nodes. */
tree vtables;
- /* A list of structure, union and enum definitions, for looking up
- tag names.
- It is a chain of TREE_LIST nodes, each of whose TREE_PURPOSE is a name,
- or NULL_TREE; and whose TREE_VALUE is a RECORD_TYPE, UNION_TYPE,
- or ENUMERAL_TYPE node.
-
- C++: the TREE_VALUE nodes can be simple types for
- component_bindings. */
- tree tags;
+ /* A dictionary for looking up enums or class-types names. */
+ binding_table type_decls;
/* A list of USING_DECL nodes. */
tree usings;
@@ -430,6 +666,10 @@ struct cp_binding_level GTY(())
#define NULL_BINDING_LEVEL ((struct cp_binding_level *) NULL)
+/* True if SCOPE designates the global scope binding contour. */
+#define global_scope_p(SCOPE) \
+ ((SCOPE) == NAMESPACE_LEVEL (global_namespace))
+
/* The binding level currently in effect. */
#define current_binding_level \
@@ -445,12 +685,6 @@ struct cp_binding_level GTY(())
static GTY((deletable (""))) struct cp_binding_level *free_binding_level;
-/* The outermost binding level, for names of file scope.
- This is created when the compiler is started and exists
- through the entire run. */
-
-static GTY(()) struct cp_binding_level *global_binding_level;
-
/* Nonzero means unconditionally make a BLOCK for the next level pushed. */
static int keep_next_level_flag;
@@ -461,19 +695,23 @@ static int keep_next_level_flag;
static GTY(()) tree incomplete_vars;
-#if defined(DEBUG_BINDING_LEVELS)
-static int binding_depth = 0;
+#ifndef ENABLE_SCOPE_CHECKING
+# define ENABLE_SCOPE_CHECKING 0
+#else
+# define ENABLE_SCOPE_CHECKING 1
+#endif
+
+static unsigned binding_depth = 0;
static int is_class_level = 0;
static void
-indent ()
+indent (unsigned depth)
{
- register unsigned i;
+ unsigned i;
- for (i = 0; i < binding_depth*2; i++)
+ for (i = 0; i < depth * 2; i++)
putc (' ', stderr);
}
-#endif /* defined(DEBUG_BINDING_LEVELS) */
static tree pushdecl_with_scope PARAMS ((tree, struct cp_binding_level *));
@@ -491,14 +729,16 @@ push_binding_level (newlevel, tag_transparent, keep)
newlevel->more_cleanups_ok = 1;
newlevel->keep = keep;
-#if defined(DEBUG_BINDING_LEVELS)
- newlevel->binding_depth = binding_depth;
- indent ();
- fprintf (stderr, "push %s level 0x%08x line %d\n",
- (is_class_level) ? "class" : "block", newlevel, lineno);
- is_class_level = 0;
- binding_depth++;
-#endif /* defined(DEBUG_BINDING_LEVELS) */
+ if (ENABLE_SCOPE_CHECKING)
+ {
+ newlevel->binding_depth = binding_depth;
+ indent (binding_depth);
+ verbatim ("push %s level %p line %d\n",
+ (is_class_level) ? "class" : "block",
+ (void *) newlevel, lineno);
+ is_class_level = 0;
+ binding_depth++;
+ }
}
/* Find the innermost enclosing class scope, and reset
@@ -520,34 +760,34 @@ find_class_binding_level ()
static void
pop_binding_level ()
{
- if (global_binding_level)
+ if (NAMESPACE_LEVEL (global_namespace))
+ /* Cannot pop a level, if there are none left to pop. */
+ my_friendly_assert (!global_scope_p (current_binding_level), 20030527);
+ /* Pop the current level, and free the structure for reuse. */
+ if (ENABLE_SCOPE_CHECKING)
{
- /* Cannot pop a level, if there are none left to pop. */
- if (current_binding_level == global_binding_level)
- abort ();
+ indent (--binding_depth);
+ verbatim ("pop %s level %p line %d\n",
+ (is_class_level) ? "class" : "block",
+ (void *) current_binding_level, lineno);
+ if (is_class_level != (current_binding_level == class_binding_level))
+ {
+ indent (binding_depth);
+ verbatim ("XXX is_class_level != (current_binding_level "
+ "== class_binding_level)\n");
+ }
+ is_class_level = 0;
}
- /* Pop the current level, and free the structure for reuse. */
-#if defined(DEBUG_BINDING_LEVELS)
- binding_depth--;
- indent ();
- fprintf (stderr, "pop %s level 0x%08x line %d\n",
- (is_class_level) ? "class" : "block",
- current_binding_level, lineno);
- if (is_class_level != (current_binding_level == class_binding_level))
- {
- indent ();
- fprintf (stderr, "XXX is_class_level != (current_binding_level == class_binding_level)\n");
- }
- is_class_level = 0;
-#endif /* defined(DEBUG_BINDING_LEVELS) */
{
register struct cp_binding_level *level = current_binding_level;
current_binding_level = current_binding_level->level_chain;
level->level_chain = free_binding_level;
-#if 0 /* defined(DEBUG_BINDING_LEVELS) */
- if (level->binding_depth != binding_depth)
- abort ();
-#endif /* defined(DEBUG_BINDING_LEVELS) */
+ if (level->parm_flag != 2)
+ binding_table_free (level->type_decls);
+ else
+ level->type_decls = NULL;
+ my_friendly_assert (!ENABLE_SCOPE_CHECKING
+ || level->binding_depth == binding_depth, 20030529);
free_binding_level = level;
find_class_binding_level ();
}
@@ -559,26 +799,23 @@ suspend_binding_level ()
if (class_binding_level)
current_binding_level = class_binding_level;
- if (global_binding_level)
+ if (NAMESPACE_LEVEL (global_namespace))
+ my_friendly_assert (!global_scope_p (current_binding_level), 20030527);
+ /* Suspend the current level. */
+ if (ENABLE_SCOPE_CHECKING)
{
- /* Cannot suspend a level, if there are none left to suspend. */
- if (current_binding_level == global_binding_level)
- abort ();
+ indent (--binding_depth);
+ verbatim("suspend %s level %p line %d\n",
+ (is_class_level) ? "class" : "block",
+ (void *) current_binding_level, lineno);
+ if (is_class_level != (current_binding_level == class_binding_level))
+ {
+ indent (binding_depth);
+ verbatim ("XXX is_class_level != (current_binding_level "
+ "== class_binding_level)\n");
+ }
+ is_class_level = 0;
}
- /* Suspend the current level. */
-#if defined(DEBUG_BINDING_LEVELS)
- binding_depth--;
- indent ();
- fprintf (stderr, "suspend %s level 0x%08x line %d\n",
- (is_class_level) ? "class" : "block",
- current_binding_level, lineno);
- if (is_class_level != (current_binding_level == class_binding_level))
- {
- indent ();
- fprintf (stderr, "XXX is_class_level != (current_binding_level == class_binding_level)\n");
- }
- is_class_level = 0;
-#endif /* defined(DEBUG_BINDING_LEVELS) */
current_binding_level = current_binding_level->level_chain;
find_class_binding_level ();
}
@@ -593,14 +830,15 @@ resume_binding_level (b)
/* Also, resuming a non-directly nested namespace is a no-no. */
my_friendly_assert(b->level_chain == current_binding_level, 386);
current_binding_level = b;
-#if defined(DEBUG_BINDING_LEVELS)
- b->binding_depth = binding_depth;
- indent ();
- fprintf (stderr, "resume %s level 0x%08x line %d\n",
- (is_class_level) ? "class" : "block", b, lineno);
- is_class_level = 0;
- binding_depth++;
-#endif /* defined(DEBUG_BINDING_LEVELS) */
+ if (ENABLE_SCOPE_CHECKING)
+ {
+ b->binding_depth = binding_depth;
+ indent (binding_depth);
+ verbatim ("resume %s level %p line %d\n",
+ (is_class_level) ? "class" : "block", (void *) b, lineno);
+ is_class_level = 0;
+ binding_depth++;
+ }
}
/* Create a new `struct cp_binding_level'. */
@@ -618,7 +856,7 @@ make_binding_level ()
int
global_bindings_p ()
{
- return current_binding_level == global_binding_level;
+ return global_scope_p (current_binding_level);
}
/* Return the innermost binding level that is not for a class scope. */
@@ -680,7 +918,7 @@ kept_level_p ()
return (current_binding_level->blocks != NULL_TREE
|| current_binding_level->keep
|| current_binding_level->names != NULL_TREE
- || (current_binding_level->tags != NULL_TREE
+ || (current_binding_level->type_decls != NULL
&& !current_binding_level->tag_transparent));
}
@@ -809,11 +1047,7 @@ pushlevel (tag_transparent)
return;
/* Reuse or create a struct for this binding level. */
-#if defined(DEBUG_BINDING_LEVELS)
- if (0)
-#else /* !defined(DEBUG_BINDING_LEVELS) */
- if (free_binding_level)
-#endif /* !defined(DEBUG_BINDING_LEVELS) */
+ if (!ENABLE_SCOPE_CHECKING && free_binding_level)
{
newlevel = free_binding_level;
free_binding_level = free_binding_level->level_chain;
@@ -899,13 +1133,11 @@ note_level_for_catch ()
/* For a binding between a name and an entity at a block scope,
this is the `struct cp_binding_level' for the block. */
-#define BINDING_LEVEL(NODE) \
- (((struct tree_binding*)(NODE))->scope.level)
+#define BINDING_LEVEL(NODE) ((NODE)->scope.level)
-/* A free list of CPLUS_BINDING nodes, connected by their
- TREE_CHAINs. */
+/* A free list of "cxx_binding"s, connected by their PREVIOUS. */
-static GTY((deletable (""))) tree free_bindings;
+static GTY((deletable (""))) cxx_binding *free_bindings;
/* Make DECL the innermost binding for ID. The LEVEL is the binding
level at which this declaration is being bound. */
@@ -916,15 +1148,15 @@ push_binding (id, decl, level)
tree decl;
struct cp_binding_level* level;
{
- tree binding;
+ cxx_binding *binding;
if (free_bindings)
{
binding = free_bindings;
- free_bindings = TREE_CHAIN (binding);
+ free_bindings = binding->previous;
}
else
- binding = make_node (CPLUS_BINDING);
+ binding = cxx_binding_make ();
/* Now, fill in the binding information. */
BINDING_VALUE (binding) = decl;
@@ -935,7 +1167,7 @@ push_binding (id, decl, level)
BINDING_HAS_LEVEL_P (binding) = 1;
/* And put it on the front of the list of bindings for ID. */
- TREE_CHAIN (binding) = IDENTIFIER_BINDING (id);
+ binding->previous = IDENTIFIER_BINDING (id);
IDENTIFIER_BINDING (id) = binding;
}
@@ -950,9 +1182,10 @@ add_binding (id, decl)
tree id;
tree decl;
{
- tree binding = IDENTIFIER_BINDING (id);
+ cxx_binding *binding = IDENTIFIER_BINDING (id);
int ok = 1;
+ timevar_push (TV_NAME_LOOKUP);
if (TREE_CODE (decl) == TYPE_DECL && DECL_ARTIFICIAL (decl))
/* The new name is the type name. */
BINDING_TYPE (binding) = decl;
@@ -992,11 +1225,18 @@ add_binding (id, decl)
type to which it already refers. */
ok = 0;
/* There can be two block-scope declarations of the same variable,
- so long as they are `extern' declarations. */
+ so long as they are `extern' declarations. However, there cannot
+ be two declarations of the same static data member:
+
+ [class.mem]
+
+ A member shall not be declared twice in the
+ member-specification. */
else if (TREE_CODE (decl) == VAR_DECL
&& TREE_CODE (BINDING_VALUE (binding)) == VAR_DECL
&& DECL_EXTERNAL (decl)
- && DECL_EXTERNAL (BINDING_VALUE (binding)))
+ && DECL_EXTERNAL (BINDING_VALUE (binding))
+ && !DECL_CLASS_SCOPE_P (decl))
{
duplicate_decls (decl, BINDING_VALUE (binding));
ok = 0;
@@ -1009,7 +1249,7 @@ add_binding (id, decl)
ok = 0;
}
- return ok;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, ok);
}
/* Add DECL to the list of things declared in B. */
@@ -1037,6 +1277,13 @@ add_decl_to_level (decl, b)
TREE_CHAIN (decl) = b->names;
b->names = decl;
b->names_size++;
+
+ /* If appropriate, add decl to separate list of statics */
+ if (b->namespace_p)
+ if ((TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl))
+ || (TREE_CODE (decl) == FUNCTION_DECL
+ && (!TREE_PUBLIC (decl) || DECL_DECLARED_INLINE_P (decl))))
+ VARRAY_PUSH_TREE (b->static_decls, decl);
}
}
@@ -1092,9 +1339,10 @@ push_class_binding (id, decl)
tree decl;
{
int result = 1;
- tree binding = IDENTIFIER_BINDING (id);
+ cxx_binding *binding = IDENTIFIER_BINDING (id);
tree context;
+ timevar_push (TV_NAME_LOOKUP);
/* Note that we declared this value so that we can issue an error if
this is an invalid redeclaration of a name already used for some
other purpose. */
@@ -1146,7 +1394,7 @@ push_class_binding (id, decl)
in this class. */
INHERITED_VALUE_BINDING_P (binding) = 1;
- return result;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, result);
}
/* Remove the binding for DECL which should be the innermost binding
@@ -1157,7 +1405,7 @@ pop_binding (id, decl)
tree id;
tree decl;
{
- tree binding;
+ cxx_binding *binding;
if (id == NULL_TREE)
/* It's easiest to write the loops that call this function without
@@ -1169,7 +1417,7 @@ pop_binding (id, decl)
binding = IDENTIFIER_BINDING (id);
/* The name should be bound. */
- my_friendly_assert (binding != NULL_TREE, 0);
+ my_friendly_assert (binding != NULL, 0);
/* The DECL will be either the ordinary binding or the type
binding for this identifier. Remove that binding. */
@@ -1184,10 +1432,10 @@ pop_binding (id, decl)
{
/* We're completely done with the innermost binding for this
identifier. Unhook it from the list of bindings. */
- IDENTIFIER_BINDING (id) = TREE_CHAIN (binding);
+ IDENTIFIER_BINDING (id) = binding->previous;
/* Add it to the free list. */
- TREE_CHAIN (binding) = free_bindings;
+ binding->previous = free_bindings;
free_bindings = binding;
/* Clear the BINDING_LEVEL so the garbage collector doesn't walk
@@ -1270,21 +1518,21 @@ poplevel (keep, reverse, functionbody)
tree decls;
int tmp = functionbody;
int real_functionbody;
- tree tags;
tree subblocks;
tree block = NULL_TREE;
tree decl;
int leaving_for_scope;
+ timevar_push (TV_NAME_LOOKUP);
+
if (cfun && !doing_semantic_analysis_p ())
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
my_friendly_assert (current_binding_level->parm_flag != 2,
19990916);
real_functionbody = (current_binding_level->keep == 2
? ((functionbody = 0), tmp) : functionbody);
- tags = functionbody >= 0 ? current_binding_level->tags : 0;
subblocks = functionbody >= 0 ? current_binding_level->blocks : 0;
my_friendly_assert (!current_binding_level->class_shadowed,
@@ -1404,8 +1652,8 @@ poplevel (keep, reverse, functionbody)
if (leaving_for_scope && TREE_CODE (link) == VAR_DECL
&& DECL_NAME (link))
{
- tree outer_binding
- = TREE_CHAIN (IDENTIFIER_BINDING (DECL_NAME (link)));
+ cxx_binding *outer_binding
+ = IDENTIFIER_BINDING (DECL_NAME (link))->previous;
tree ns_binding;
if (!outer_binding)
@@ -1460,7 +1708,7 @@ poplevel (keep, reverse, functionbody)
current_binding_level->level_chain->
dead_vars_from_for);
- /* Although we don't pop the CPLUS_BINDING, we do clear
+ /* Although we don't pop the cxx_binding, we do clear
its BINDING_LEVEL since the level is going away now. */
BINDING_LEVEL (IDENTIFIER_BINDING (DECL_NAME (link)))
= 0;
@@ -1568,7 +1816,7 @@ poplevel (keep, reverse, functionbody)
block = poplevel (keep, reverse, functionbody);
}
- return block;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, block);
}
/* Delete the node BLOCK from the current binding level.
@@ -1628,11 +1876,7 @@ pushlevel_class ()
register struct cp_binding_level *newlevel;
/* Reuse or create a struct for this binding level. */
-#if defined(DEBUG_BINDING_LEVELS)
- if (0)
-#else /* !defined(DEBUG_BINDING_LEVELS) */
- if (free_binding_level)
-#endif /* !defined(DEBUG_BINDING_LEVELS) */
+ if (!ENABLE_SCOPE_CHECKING && free_binding_level)
{
newlevel = free_binding_level;
free_binding_level = free_binding_level->level_chain;
@@ -1640,9 +1884,8 @@ pushlevel_class ()
else
newlevel = make_binding_level ();
-#if defined(DEBUG_BINDING_LEVELS)
- is_class_level = 1;
-#endif /* defined(DEBUG_BINDING_LEVELS) */
+ if (ENABLE_SCOPE_CHECKING)
+ is_class_level = 1;
push_binding_level (newlevel, 0, 0);
@@ -1659,6 +1902,8 @@ poplevel_class ()
register struct cp_binding_level *level = class_binding_level;
tree shadowed;
+ timevar_push (TV_NAME_LOOKUP);
+
my_friendly_assert (level != 0, 354);
/* If we're leaving a toplevel class, don't bother to do the setting
@@ -1687,15 +1932,15 @@ poplevel_class ()
shadowed;
shadowed = TREE_CHAIN (shadowed))
{
- tree t;
+ cxx_binding *binding;
- t = IDENTIFIER_BINDING (TREE_PURPOSE (shadowed));
- while (t && BINDING_LEVEL (t) != b)
- t = TREE_CHAIN (t);
+ binding = IDENTIFIER_BINDING (TREE_PURPOSE (shadowed));
+ while (binding && BINDING_LEVEL (binding) != b)
+ binding = binding->previous;
- if (t)
+ if (binding)
IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (shadowed))
- = BINDING_VALUE (t);
+ = BINDING_VALUE (binding);
}
}
else
@@ -1718,11 +1963,12 @@ poplevel_class ()
/* Now, pop out of the binding level which we created up in the
`pushlevel_class' routine. */
-#if defined(DEBUG_BINDING_LEVELS)
- is_class_level = 1;
-#endif /* defined(DEBUG_BINDING_LEVELS) */
+ if (ENABLE_SCOPE_CHECKING)
+ is_class_level = 1;
pop_binding_level ();
+
+ timevar_pop (TV_NAME_LOOKUP);
}
/* We are entering the scope of a class. Clear IDENTIFIER_CLASS_VALUE
@@ -1910,23 +2156,12 @@ wrapup_globals_for_namespace (namespace, data)
tree namespace;
void *data;
{
- tree globals = cp_namespace_decls (namespace);
- int len = NAMESPACE_LEVEL (namespace)->names_size;
- tree *vec = (tree *) alloca (sizeof (tree) * len);
- int i;
- int result;
- tree decl;
+ struct cp_binding_level *level = NAMESPACE_LEVEL (namespace);
+ varray_type statics = level->static_decls;
+ tree *vec = &VARRAY_TREE (statics, 0);
+ int len = VARRAY_ACTIVE_SIZE (statics);
int last_time = (data != 0);
- if (last_time && namespace == global_namespace)
- /* Let compile_file handle the global namespace. */
- return 0;
-
- /* Process the decls in reverse order--earliest first.
- Put them into VEC from back to front, then take out from front. */
- for (i = 0, decl = globals; i < len; i++, decl = TREE_CHAIN (decl))
- vec[len - i - 1] = decl;
-
if (last_time)
{
check_global_declarations (vec, len);
@@ -1934,9 +2169,7 @@ wrapup_globals_for_namespace (namespace, data)
}
/* Write out any globals that need to be output. */
- result = wrapup_global_declarations (vec, len);
-
- return result;
+ return wrapup_global_declarations (vec, len);
}
@@ -1944,6 +2177,44 @@ wrapup_globals_for_namespace (namespace, data)
static int no_print_functions = 0;
static int no_print_builtins = 0;
+/* Called from print_binding_level through binding_table_foreach to
+ print the content of binding ENTRY. DATA is a pointer to line offset
+ marker. */
+static void
+bt_print_entry (binding_entry entry, void *data)
+{
+ int *p = (int *) data;
+ int len;
+
+ if (entry->name == NULL)
+ len = 3;
+ else if (entry->name == TYPE_IDENTIFIER (entry->type))
+ len = 2;
+ else
+ len = 4;
+
+ *p += len;
+
+ if (*p > 5)
+ {
+ fprintf (stderr, "\n\t");
+ *p = len;
+ }
+ if (entry->name == NULL)
+ {
+ print_node_brief (stderr, "<unnamed-typedef", entry->type, 0);
+ fprintf (stderr, ">");
+ }
+ else if (entry->name == TYPE_IDENTIFIER (entry->type))
+ print_node_brief (stderr, "", entry->type, 0);
+ else
+ {
+ print_node_brief (stderr, "<typedef", entry->name, 0);
+ print_node_brief (stderr, "", entry->type, 0);
+ fprintf (stderr, ">");
+ }
+}
+
void
print_binding_level (lvl)
struct cp_binding_level *lvl;
@@ -1990,38 +2261,11 @@ print_binding_level (lvl)
if (i)
fprintf (stderr, "\n");
}
- if (lvl->tags)
+ if (lvl->type_decls)
{
fprintf (stderr, " tags:\t");
i = 0;
- for (t = lvl->tags; t; t = TREE_CHAIN (t))
- {
- if (TREE_PURPOSE (t) == NULL_TREE)
- len = 3;
- else if (TREE_PURPOSE (t) == TYPE_IDENTIFIER (TREE_VALUE (t)))
- len = 2;
- else
- len = 4;
- i += len;
- if (i > 5)
- {
- fprintf (stderr, "\n\t");
- i = len;
- }
- if (TREE_PURPOSE (t) == NULL_TREE)
- {
- print_node_brief (stderr, "<unnamed-typedef", TREE_VALUE (t), 0);
- fprintf (stderr, ">");
- }
- else if (TREE_PURPOSE (t) == TYPE_IDENTIFIER (TREE_VALUE (t)))
- print_node_brief (stderr, "", TREE_VALUE (t), 0);
- else
- {
- print_node_brief (stderr, "<typedef", TREE_PURPOSE (t), 0);
- print_node_brief (stderr, "", TREE_VALUE (t), 0);
- fprintf (stderr, ">");
- }
- }
+ binding_table_foreach (lvl->type_decls, bt_print_entry, &i);
if (i)
fprintf (stderr, "\n");
}
@@ -2050,7 +2294,7 @@ print_other_binding_stack (stack)
struct cp_binding_level *stack;
{
struct cp_binding_level *level;
- for (level = stack; level != global_binding_level; level = level->level_chain)
+ for (level = stack; !global_scope_p (level); level = level->level_chain)
{
fprintf (stderr, "binding level ");
fprintf (stderr, HOST_PTR_PRINTF, level);
@@ -2067,8 +2311,9 @@ print_binding_stack ()
fprintf (stderr, HOST_PTR_PRINTF, current_binding_level);
fprintf (stderr, "\nclass_binding_level=");
fprintf (stderr, HOST_PTR_PRINTF, class_binding_level);
- fprintf (stderr, "\nglobal_binding_level=");
- fprintf (stderr, HOST_PTR_PRINTF, global_binding_level);
+ fprintf (stderr, "\nNAMESPACE_LEVEL (global_namespace)=");
+ fprintf (stderr, HOST_PTR_PRINTF,
+ (void *) NAMESPACE_LEVEL (global_namespace));
fprintf (stderr, "\n");
if (class_binding_level)
{
@@ -2084,104 +2329,95 @@ print_binding_stack ()
b = current_binding_level;
print_other_binding_stack (b);
fprintf (stderr, "global:\n");
- print_binding_level (global_binding_level);
+ print_binding_level (NAMESPACE_LEVEL (global_namespace));
}
-/* Namespace binding access routines: The namespace_bindings field of
- the identifier is polymorphic, with three possible values:
- NULL_TREE, a list of CPLUS_BINDINGS, or any other tree_node
- indicating the BINDING_VALUE of global_namespace. */
+/* Namespace binding access routines. */
/* Check whether the a binding for the name to scope is known.
- Assumes that the bindings of the name are already a list
- of bindings. Returns the binding found, or NULL_TREE. */
+ Returns the binding found, or NULL. */
-static tree
-find_binding (name, scope)
- tree name;
- tree scope;
+static inline cxx_binding *
+find_binding (tree name, tree scope, cxx_binding *front)
{
- tree iter, prev = NULL_TREE;
+ cxx_binding *iter;
+ cxx_binding *prev = NULL;
- scope = ORIGINAL_NAMESPACE (scope);
+ timevar_push (TV_NAME_LOOKUP);
- for (iter = IDENTIFIER_NAMESPACE_BINDINGS (name); iter;
- iter = TREE_CHAIN (iter))
+ for (iter = front; iter; iter = iter->previous)
{
- my_friendly_assert (TREE_CODE (iter) == CPLUS_BINDING, 374);
if (BINDING_SCOPE (iter) == scope)
{
/* Move binding found to the front of the list, so
subsequent lookups will find it faster. */
if (prev)
{
- TREE_CHAIN (prev) = TREE_CHAIN (iter);
- TREE_CHAIN (iter) = IDENTIFIER_NAMESPACE_BINDINGS (name);
+ prev->previous = iter->previous;
+ iter->previous = front;
IDENTIFIER_NAMESPACE_BINDINGS (name) = iter;
}
- return iter;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, iter);
}
prev = iter;
}
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL);
+}
+
+/* Return the binding for NAME in SCOPE, if any. Otherwise, return NULL. */
+cxx_binding *
+cxx_scope_find_binding_for_name (tree scope, tree name)
+{
+ cxx_binding *b = IDENTIFIER_NAMESPACE_BINDINGS (name);
+ if (b)
+ {
+ scope = ORIGINAL_NAMESPACE (scope);
+ /* Fold-in case where NAME is used only once. */
+ if (scope == BINDING_SCOPE (b) && b->previous == NULL)
+ return b;
+ return find_binding (name, scope, b);
+ }
+ return b;
}
-/* Always returns a binding for name in scope. If the
- namespace_bindings is not a list, convert it to one first.
+
+/* Always returns a binding for name in scope.
If no binding is found, make a new one. */
-tree
-binding_for_name (name, scope)
- tree name;
- tree scope;
+cxx_binding *
+binding_for_name (tree name, tree scope)
{
- tree b = IDENTIFIER_NAMESPACE_BINDINGS (name);
- tree result;
+ cxx_binding *result;
scope = ORIGINAL_NAMESPACE (scope);
-
- if (b && TREE_CODE (b) != CPLUS_BINDING)
- {
- /* Get rid of optimization for global scope. */
- IDENTIFIER_NAMESPACE_BINDINGS (name) = NULL_TREE;
- BINDING_VALUE (binding_for_name (name, global_namespace)) = b;
- b = IDENTIFIER_NAMESPACE_BINDINGS (name);
- }
- if (b && (result = find_binding (name, scope)))
+ result = cxx_scope_find_binding_for_name (scope, name);
+ if (result)
return result;
/* Not found, make a new one. */
- result = make_node (CPLUS_BINDING);
- TREE_CHAIN (result) = b;
- IDENTIFIER_NAMESPACE_BINDINGS (name) = result;
- BINDING_SCOPE (result) = scope;
+ result = cxx_binding_make ();
+ result->previous = IDENTIFIER_NAMESPACE_BINDINGS (name);
BINDING_TYPE (result) = NULL_TREE;
BINDING_VALUE (result) = NULL_TREE;
+ BINDING_SCOPE (result) = scope;
+ result->is_local = false;
+ result->value_is_inherited = false;
+ result->has_level = false;
+ IDENTIFIER_NAMESPACE_BINDINGS (name) = result;
return result;
}
-/* Return the binding value for name in scope, considering that
- namespace_binding may or may not be a list of CPLUS_BINDINGS. */
+/* Return the binding value for name in scope. */
tree
-namespace_binding (name, scope)
- tree name;
- tree scope;
+namespace_binding (tree name, tree scope)
{
- tree b = IDENTIFIER_NAMESPACE_BINDINGS (name);
- if (b == NULL_TREE)
- return NULL_TREE;
- if (scope == NULL_TREE)
- scope = global_namespace;
- if (TREE_CODE (b) != CPLUS_BINDING)
- return (scope == global_namespace) ? b : NULL_TREE;
- name = find_binding (name,scope);
- if (name == NULL_TREE)
- return name;
- return BINDING_VALUE (name);
+ cxx_binding *b =
+ cxx_scope_find_binding_for_name (scope ? scope : global_namespace, name);
+
+ return b ? b->value : NULL_TREE;
}
-/* Set the binding value for name in scope. If modifying the binding
- of global_namespace is attempted, try to optimize it. */
+/* Set the binding value for name in scope. */
void
set_namespace_binding (name, scope, val)
@@ -2189,22 +2425,15 @@ set_namespace_binding (name, scope, val)
tree scope;
tree val;
{
- tree b;
+ cxx_binding *b;
+ timevar_push (TV_NAME_LOOKUP);
if (scope == NULL_TREE)
scope = global_namespace;
- if (scope == global_namespace)
- {
- b = IDENTIFIER_NAMESPACE_BINDINGS (name);
- if (b == NULL_TREE || TREE_CODE (b) != CPLUS_BINDING)
- {
- IDENTIFIER_NAMESPACE_BINDINGS (name) = val;
- return;
- }
- }
b = binding_for_name (name, scope);
BINDING_VALUE (b) = val;
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Push into the scope of the NAME namespace. If NAME is NULL_TREE, then we
@@ -2218,6 +2447,9 @@ push_namespace (name)
int need_new = 1;
int implicit_use = 0;
int global = 0;
+
+ timevar_push (TV_NAME_LOOKUP);
+
if (!global_namespace)
{
/* This must be ::. */
@@ -2266,6 +2498,13 @@ push_namespace (name)
pushlevel (0);
declare_namespace_level ();
NAMESPACE_LEVEL (d) = current_binding_level;
+ current_binding_level->type_decls =
+ binding_table_new (name == std_identifier
+ ? NAMESPACE_STD_HT_SIZE
+ : NAMESPACE_ORDINARY_HT_SIZE);
+ VARRAY_TREE_INIT (current_binding_level->static_decls,
+ name != std_identifier ? 10 : 200,
+ "Static declarations");
}
}
else
@@ -2275,6 +2514,8 @@ push_namespace (name)
do_using_directive (d);
/* Enter the name space. */
current_namespace = d;
+
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Pop from the scope of the current namespace. */
@@ -2311,6 +2552,7 @@ void
pop_nested_namespace (ns)
tree ns;
{
+ timevar_push (TV_NAME_LOOKUP);
while (ns != global_namespace)
{
pop_namespace ();
@@ -2318,9 +2560,26 @@ pop_nested_namespace (ns)
}
pop_from_top_level ();
+ timevar_pop (TV_NAME_LOOKUP);
}
+/* Allocate storage for saving a C++ binding. */
+#define cxx_saved_binding_make() \
+ (ggc_alloc (sizeof (cxx_saved_binding)))
+
+struct cxx_saved_binding GTY(())
+{
+ /* Link that chains saved C++ bindings for a given name into a stack. */
+ cxx_saved_binding *previous;
+ /* The name of the current binding. */
+ tree identifier;
+ /* The binding we're saving. */
+ cxx_binding *binding;
+ tree class_value;
+ tree real_type_value;
+};
+
/* Subroutines for reverting temporarily to top-level for instantiation
of templates and such. We actually need to clear out the class- and
local-value slots of all identifiers, so that only the global values
@@ -2328,16 +2587,18 @@ pop_nested_namespace (ns)
scope isn't enough, because more binding levels may be pushed. */
struct saved_scope *scope_chain;
-static tree
-store_bindings (names, old_bindings)
- tree names, old_bindings;
+static cxx_saved_binding *
+store_bindings (tree names, cxx_saved_binding *old_bindings)
{
tree t;
- tree search_bindings = old_bindings;
+ cxx_saved_binding *search_bindings = old_bindings;
+ timevar_push (TV_NAME_LOOKUP);
for (t = names; t; t = TREE_CHAIN (t))
{
- tree binding, t1, id;
+ tree id;
+ cxx_saved_binding *saved;
+ cxx_saved_binding *t1;
if (TREE_CODE (t) == TREE_LIST)
id = TREE_PURPOSE (t);
@@ -2351,24 +2612,24 @@ store_bindings (names, old_bindings)
|| !(IDENTIFIER_BINDING (id) || IDENTIFIER_CLASS_VALUE (id)))
continue;
- for (t1 = search_bindings; t1; t1 = TREE_CHAIN (t1))
- if (TREE_VEC_ELT (t1, 0) == id)
+ for (t1 = search_bindings; t1; t1 = t1->previous)
+ if (t1->identifier == id)
goto skip_it;
my_friendly_assert (TREE_CODE (id) == IDENTIFIER_NODE, 135);
- binding = make_tree_vec (4);
- TREE_VEC_ELT (binding, 0) = id;
- TREE_VEC_ELT (binding, 1) = REAL_IDENTIFIER_TYPE_VALUE (id);
- TREE_VEC_ELT (binding, 2) = IDENTIFIER_BINDING (id);
- TREE_VEC_ELT (binding, 3) = IDENTIFIER_CLASS_VALUE (id);
- IDENTIFIER_BINDING (id) = NULL_TREE;
+ saved = cxx_saved_binding_make ();
+ saved->previous = old_bindings;
+ saved->identifier = id;
+ saved->binding = IDENTIFIER_BINDING (id);
+ saved->class_value = IDENTIFIER_CLASS_VALUE (id);;
+ saved->real_type_value = REAL_IDENTIFIER_TYPE_VALUE (id);
+ IDENTIFIER_BINDING (id) = NULL;
IDENTIFIER_CLASS_VALUE (id) = NULL_TREE;
- TREE_CHAIN (binding) = old_bindings;
- old_bindings = binding;
+ old_bindings = saved;
skip_it:
;
}
- return old_bindings;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, old_bindings);
}
void
@@ -2377,9 +2638,11 @@ maybe_push_to_top_level (pseudo)
{
struct saved_scope *s;
struct cp_binding_level *b;
- tree old_bindings;
+ cxx_saved_binding *old_bindings;
int need_pop;
+ timevar_push (TV_NAME_LOOKUP);
+
s = (struct saved_scope *) ggc_alloc_cleared (sizeof (struct saved_scope));
b = scope_chain ? current_binding_level : 0;
@@ -2393,11 +2656,11 @@ maybe_push_to_top_level (pseudo)
else
need_pop = 0;
- old_bindings = NULL_TREE;
+ old_bindings = NULL;
if (scope_chain && previous_class_type)
old_bindings = store_bindings (previous_class_values, old_bindings);
- /* Have to include global_binding_level, because class-level decls
+ /* Have to include the global scope, because class-scope decls
aren't listed anywhere useful. */
for (; b; b = b->level_chain)
{
@@ -2407,7 +2670,7 @@ maybe_push_to_top_level (pseudo)
inserted into namespace level, finish_file wouldn't find them
when doing pending instantiations. Therefore, don't stop at
namespace level, but continue until :: . */
- if (b == global_binding_level || (pseudo && b->template_parms_p))
+ if (global_scope_p (b) || (pseudo && b->template_parms_p))
break;
old_bindings = store_bindings (b->names, old_bindings);
@@ -2432,6 +2695,7 @@ maybe_push_to_top_level (pseudo)
VARRAY_TREE_INIT (current_lang_base, 10, "current_lang_base");
current_lang_name = lang_name_cplusplus;
current_namespace = global_namespace;
+ timevar_pop (TV_NAME_LOOKUP);
}
void
@@ -2444,7 +2708,9 @@ void
pop_from_top_level ()
{
struct saved_scope *s = scope_chain;
- tree t;
+ cxx_saved_binding *saved;
+
+ timevar_push (TV_NAME_LOOKUP);
/* Clear out class-level bindings cache. */
if (previous_class_type)
@@ -2453,13 +2719,13 @@ pop_from_top_level ()
current_lang_base = 0;
scope_chain = s->prev;
- for (t = s->old_bindings; t; t = TREE_CHAIN (t))
+ for (saved = s->old_bindings; saved; saved = saved->previous)
{
- tree id = TREE_VEC_ELT (t, 0);
+ tree id = saved->identifier;
- SET_IDENTIFIER_TYPE_VALUE (id, TREE_VEC_ELT (t, 1));
- IDENTIFIER_BINDING (id) = TREE_VEC_ELT (t, 2);
- IDENTIFIER_CLASS_VALUE (id) = TREE_VEC_ELT (t, 3);
+ IDENTIFIER_BINDING (id) = saved->binding;
+ IDENTIFIER_CLASS_VALUE (id) = saved->class_value;
+ SET_IDENTIFIER_TYPE_VALUE (id, saved->real_type_value);
}
/* If we were in the middle of compiling a function, restore our
@@ -2468,6 +2734,8 @@ pop_from_top_level ()
pop_function_context_from (NULL_TREE);
current_function_decl = s->function_decl;
last_function_parms = s->last_parms;
+
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Push a definition of struct, union or enum tag "name".
@@ -2499,7 +2767,7 @@ set_identifier_type_value_with_scope (id, type, b)
}
else
{
- tree binding = binding_for_name (id, current_namespace);
+ cxx_binding *binding = binding_for_name (id, current_namespace);
BINDING_TYPE (binding) = type;
/* Store marker instead of real type. */
type = global_type_node;
@@ -2523,18 +2791,19 @@ tree
identifier_type_value (id)
tree id;
{
+ timevar_push (TV_NAME_LOOKUP);
/* There is no type with that name, anywhere. */
if (REAL_IDENTIFIER_TYPE_VALUE (id) == NULL_TREE)
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
/* This is not the type marker, but the real thing. */
if (REAL_IDENTIFIER_TYPE_VALUE (id) != global_type_node)
- return REAL_IDENTIFIER_TYPE_VALUE (id);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, REAL_IDENTIFIER_TYPE_VALUE (id));
/* Have to search for it. It must be on the global level, now.
Ask lookup_name not to return non-types. */
id = lookup_name_real (id, 2, 1, 0);
if (id)
- return TREE_TYPE (id);
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, TREE_TYPE (id));
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
/* Pop off extraneous binding levels left over due to syntax errors.
@@ -2544,9 +2813,8 @@ identifier_type_value (id)
void
pop_everything ()
{
-#ifdef DEBUG_BINDING_LEVELS
- fprintf (stderr, "XXX entering pop_everything ()\n");
-#endif
+ if (ENABLE_SCOPE_CHECKING)
+ verbatim ("XXX entering pop_everything ()\n");
while (!toplevel_bindings_p ())
{
if (current_binding_level->parm_flag == 2)
@@ -2554,9 +2822,8 @@ pop_everything ()
else
poplevel (0, 0, 0);
}
-#ifdef DEBUG_BINDING_LEVELS
- fprintf (stderr, "XXX leaving pop_everything ()\n");
-#endif
+ if (ENABLE_SCOPE_CHECKING)
+ verbatim ("XXX leaving pop_everything ()\n");
}
/* The type TYPE is being declared. If it is a class template, or a
@@ -2614,13 +2881,16 @@ maybe_process_template_type_declaration (type, globalize, b)
/* Put this tag on the list of tags for the class, since
that won't happen below because B is not the class
binding level, but is instead the pseudo-global level. */
- b->level_chain->tags =
- tree_cons (name, type, b->level_chain->tags);
+ if (b->level_chain->type_decls == NULL)
+ b->level_chain->type_decls =
+ binding_table_new (SCOPE_DEFAULT_HT_SIZE);
+ binding_table_insert (b->level_chain->type_decls, name, type);
if (!COMPLETE_TYPE_P (current_class_type))
{
maybe_add_class_template_decl_list (current_class_type,
type, /*friend_p=*/0);
- CLASSTYPE_TAGS (current_class_type) = b->level_chain->tags;
+ CLASSTYPE_NESTED_UDTS (current_class_type) =
+ b->level_chain->type_decls;
}
}
}
@@ -2661,6 +2931,8 @@ push_local_name (decl)
size_t i, nelts;
tree t, name;
+ timevar_push (TV_NAME_LOOKUP);
+
if (!local_names)
VARRAY_TREE_INIT (local_names, 8, "local_names");
@@ -2681,11 +2953,12 @@ push_local_name (decl)
DECL_DISCRIMINATOR (decl) = 1;
VARRAY_TREE (local_names, i) = decl;
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, (void)0);
}
}
VARRAY_PUSH_TREE (local_names, decl);
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Push a tag name NAME for struct/class/union/enum type TYPE.
@@ -2700,6 +2973,8 @@ pushtag (name, type, globalize)
{
register struct cp_binding_level *b;
+ timevar_push (TV_NAME_LOOKUP);
+
b = current_binding_level;
while (b->tag_transparent
|| (b->parm_flag == 2
@@ -2711,7 +2986,9 @@ pushtag (name, type, globalize)
|| COMPLETE_TYPE_P (b->this_class))))
b = b->level_chain;
- b->tags = tree_cons (name, type, b->tags);
+ if (b->type_decls == NULL)
+ b->type_decls = binding_table_new (SCOPE_DEFAULT_HT_SIZE);
+ binding_table_insert (b->type_decls, name, type);
if (name)
{
@@ -2788,7 +3065,7 @@ pushtag (name, type, globalize)
{
maybe_add_class_template_decl_list (current_class_type,
type, /*friend_p=*/0);
- CLASSTYPE_TAGS (current_class_type) = b->tags;
+ CLASSTYPE_NESTED_UDTS (current_class_type) = b->type_decls;
}
}
}
@@ -2809,6 +3086,8 @@ pushtag (name, type, globalize)
tree d = build_decl (TYPE_DECL, NULL_TREE, type);
TYPE_STUB_DECL (type) = pushdecl_with_scope (d, b);
}
+
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Counter used to create anonymous type names. */
@@ -2834,7 +3113,6 @@ void
clear_anon_tags ()
{
register struct cp_binding_level *b;
- register tree tags;
static int last_cnt = 0;
/* Fast out if no new anon names were declared. */
@@ -2844,17 +3122,8 @@ clear_anon_tags ()
b = current_binding_level;
while (b->tag_transparent)
b = b->level_chain;
- tags = b->tags;
- while (tags)
- {
- /* A NULL purpose means we have already processed all tags
- from here to the end of the list. */
- if (TREE_PURPOSE (tags) == NULL_TREE)
- break;
- if (ANON_AGGRNAME_P (TREE_PURPOSE (tags)))
- TREE_PURPOSE (tags) = NULL_TREE;
- tags = TREE_CHAIN (tags);
- }
+ if (b->type_decls != NULL)
+ binding_table_remove_anonymous_types (b->type_decls);
last_cnt = anon_cnt;
}
@@ -3135,6 +3404,10 @@ duplicate_decls (newdecl, olddecl)
/* Replace the old RTL to avoid problems with inlining. */
SET_DECL_RTL (olddecl, DECL_RTL (newdecl));
}
+ /* Even if the types match, prefer the new declarations type
+ for anitipated built-ins, for exception lists, etc... */
+ else if (DECL_ANTICIPATED (olddecl))
+ TREE_TYPE (olddecl) = TREE_TYPE (newdecl);
if (DECL_THIS_STATIC (newdecl) && !DECL_THIS_STATIC (olddecl))
{
@@ -3210,7 +3483,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);
@@ -3601,7 +3878,10 @@ duplicate_decls (newdecl, olddecl)
DECL_BEFRIENDING_CLASSES (newdecl)
= chainon (DECL_BEFRIENDING_CLASSES (newdecl),
DECL_BEFRIENDING_CLASSES (olddecl));
- DECL_THUNKS (newdecl) = DECL_THUNKS (olddecl);
+ /* DECL_THUNKS is only valid for virtual functions,
+ otherwise it is a DECL_FRIEND_CONTEXT. */
+ if (DECL_VIRTUAL_P (newdecl))
+ DECL_THUNKS (newdecl) = DECL_THUNKS (olddecl);
}
}
@@ -3778,6 +4058,8 @@ pushdecl (x)
register tree name;
int need_new_binding;
+ timevar_push (TV_NAME_LOOKUP);
+
/* We shouldn't be calling pushdecl when we're generating RTL for a
function that we already did semantic analysis on previously. */
my_friendly_assert (!cfun || doing_semantic_analysis_p (),
@@ -3901,7 +4183,7 @@ pushdecl (x)
/* Check for duplicate params. */
if (duplicate_decls (x, t))
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
else if ((DECL_EXTERN_C_FUNCTION_P (x)
|| DECL_FUNCTION_TEMPLATE_P (x))
@@ -3914,12 +4196,12 @@ pushdecl (x)
TREE_TYPE (x));
/* Throw away the redeclaration. */
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
else if (TREE_CODE (t) != TREE_CODE (x))
{
if (duplicate_decls (x, t))
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
else if (duplicate_decls (x, t))
{
@@ -3928,7 +4210,7 @@ pushdecl (x)
else if (TREE_CODE (t) == FUNCTION_DECL)
check_default_args (t);
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
else if (DECL_MAIN_P (x))
{
@@ -3942,7 +4224,7 @@ pushdecl (x)
error ("as `%D'", x);
/* We don't try to push this declaration since that
causes a crash. */
- return x;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, x);
}
}
@@ -3960,7 +4242,7 @@ pushdecl (x)
{
t = push_overloaded_decl (x, PUSH_LOCAL);
if (t != x)
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
if (!namespace_bindings_p ())
/* We do not need to create a binding for this name;
push_overloaded_decl will have already done so if
@@ -3972,7 +4254,7 @@ pushdecl (x)
t = push_overloaded_decl (x, PUSH_GLOBAL);
if (t == x)
add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t)));
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
/* If declaring a type as a typedef, copy the type (unless we're
@@ -4147,7 +4429,9 @@ pushdecl (x)
if (oldlocal != NULL_TREE && !DECL_EXTERNAL (x)
/* Inline decls shadow nothing. */
&& !DECL_FROM_INLINE (x)
- && TREE_CODE (oldlocal) == PARM_DECL)
+ && TREE_CODE (oldlocal) == PARM_DECL
+ /* Don't check the `this' parameter. */
+ && !DECL_ARTIFICIAL (oldlocal))
{
bool err = false;
@@ -4207,7 +4491,7 @@ pushdecl (x)
? NAMESPACE_LEVEL (CP_DECL_CONTEXT (x))
: current_binding_level);
- return x;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, x);
}
/* Same as pushdecl, but define X in binding-level LEVEL. We rely on the
@@ -4221,6 +4505,8 @@ pushdecl_with_scope (x, level)
register struct cp_binding_level *b;
tree function_decl = current_function_decl;
+ timevar_push (TV_NAME_LOOKUP);
+
current_function_decl = NULL_TREE;
if (level->parm_flag == 2)
{
@@ -4237,7 +4523,7 @@ pushdecl_with_scope (x, level)
current_binding_level = b;
}
current_function_decl = function_decl;
- return x;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, x);
}
/* Like pushdecl, only it places X in the current namespace,
@@ -4250,6 +4536,7 @@ pushdecl_namespace_level (x)
register struct cp_binding_level *b = current_binding_level;
register tree t;
+ timevar_push (TV_NAME_LOOKUP);
t = pushdecl_with_scope (x, NAMESPACE_LEVEL (current_namespace));
/* Now, the type_shadowed stack may screw us. Munge it so it does
@@ -4259,7 +4546,7 @@ pushdecl_namespace_level (x)
tree name = DECL_NAME (x);
tree newval;
tree *ptr = (tree *)0;
- for (; b != global_binding_level; b = b->level_chain)
+ for (; !global_scope_p (b); b = b->level_chain)
{
tree shadowed = b->type_shadowed;
for (; shadowed; shadowed = TREE_CHAIN (shadowed))
@@ -4283,30 +4570,53 @@ pushdecl_namespace_level (x)
*ptr = newval;
}
}
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
-/* Like pushdecl, only it places X in GLOBAL_BINDING_LEVEL,
- if appropriate. */
+/* Like pushdecl, only it places X in the global scope if appropriate.
+ Calls cp_finish_decl to register the variable, initializing it with
+ *INIT, if INIT is non-NULL. */
-tree
-pushdecl_top_level (x)
- tree x;
+static tree
+pushdecl_top_level_1 (tree x, tree *init)
{
+ timevar_push (TV_NAME_LOOKUP);
push_to_top_level ();
x = pushdecl_namespace_level (x);
+ if (init)
+ cp_finish_decl (x, *init, NULL_TREE, 0);
pop_from_top_level ();
- return x;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, x);
+}
+
+/* Like pushdecl, only it places X in the global scope if appropriate. */
+
+tree
+pushdecl_top_level (tree x)
+{
+ return pushdecl_top_level_1 (x, NULL);
+}
+
+/* Like pushdecl, only it places X in the global scope if
+ appropriate. Calls cp_finish_decl to register the variable,
+ initializing it with INIT. */
+
+tree
+pushdecl_top_level_and_finish (tree x, tree init)
+{
+ return pushdecl_top_level_1 (x, &init);
}
/* Make the declaration of X appear in CLASS scope. */
-void
+bool
pushdecl_class_level (x)
tree x;
{
tree name;
+ bool is_valid = true;
+ timevar_push (TV_NAME_LOOKUP);
/* Get the name of X. */
if (TREE_CODE (x) == OVERLOAD)
name = DECL_NAME (get_first_fn (x));
@@ -4315,7 +4625,7 @@ pushdecl_class_level (x)
if (name)
{
- push_class_level_binding (name, x);
+ is_valid = push_class_level_binding (name, x);
if (TREE_CODE (x) == TYPE_DECL)
set_identifier_type_value (name, TREE_TYPE (x));
}
@@ -4327,8 +4637,16 @@ pushdecl_class_level (x)
tree f;
for (f = TYPE_FIELDS (TREE_TYPE (x)); f; f = TREE_CHAIN (f))
- pushdecl_class_level (f);
+ {
+ push_srcloc (DECL_SOURCE_FILE (f), DECL_SOURCE_LINE (f));
+ if (!pushdecl_class_level (f))
+ is_valid = false;
+ pop_srcloc ();
+ }
}
+ timevar_pop (TV_NAME_LOOKUP);
+
+ return is_valid;
}
/* Enter DECL into the symbol table, if that's appropriate. Returns
@@ -4361,19 +4679,19 @@ maybe_push_decl (decl)
return pushdecl (decl);
}
-/* Make the declaration(s) of X appear in CLASS scope
- under the name NAME. */
+/* Make the declaration(s) of X appear in CLASS scope under the name
+ NAME. Returns true if the binding is valid. */
-void
-push_class_level_binding (name, x)
- tree name;
- tree x;
+bool
+push_class_level_binding (tree name, tree x)
{
- tree binding;
+ cxx_binding *binding;
+
+ timevar_push (TV_NAME_LOOKUP);
/* The class_binding_level will be NULL if x is a template
parameter name in a member template. */
if (!class_binding_level)
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, true);
/* Make sure that this new member does not have the same name
as a template parameter. */
@@ -4423,7 +4741,7 @@ push_class_level_binding (name, x)
INHERITED_VALUE_BINDING_P (binding) = 0;
TREE_TYPE (shadow) = x;
IDENTIFIER_CLASS_VALUE (name) = x;
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, true);
}
}
@@ -4437,7 +4755,10 @@ push_class_level_binding (name, x)
/* Record the value we are binding NAME to so that we can know
what to pop later. */
TREE_TYPE (class_binding_level->class_shadowed) = x;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, true);
}
+
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, false);
}
/* Insert another USING_DECL into the current binding level, returning
@@ -4452,18 +4773,21 @@ push_using_decl (scope, name)
{
tree decl;
+ timevar_push (TV_NAME_LOOKUP);
+
my_friendly_assert (TREE_CODE (scope) == NAMESPACE_DECL, 383);
my_friendly_assert (TREE_CODE (name) == IDENTIFIER_NODE, 384);
for (decl = current_binding_level->usings; decl; decl = TREE_CHAIN (decl))
if (DECL_INITIAL (decl) == scope && DECL_NAME (decl) == name)
break;
if (decl)
- return namespace_bindings_p () ? decl : NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP,
+ namespace_bindings_p () ? decl : NULL_TREE);
decl = build_lang_decl (USING_DECL, name, void_type_node);
DECL_INITIAL (decl) = scope;
TREE_CHAIN (decl) = current_binding_level->usings;
current_binding_level->usings = decl;
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
/* Add namespace to using_directives. Return NULL_TREE if nothing was
@@ -4477,19 +4801,22 @@ push_using_directive (used)
tree ud = current_binding_level->using_directives;
tree iter, ancestor;
+ timevar_push (TV_NAME_LOOKUP);
+
/* Check if we already have this. */
if (purpose_member (used, ud) != NULL_TREE)
- return NULL_TREE;
-
- /* Recursively add all namespaces used. */
- for (iter = DECL_NAMESPACE_USING (used); iter; iter = TREE_CHAIN (iter))
- push_using_directive (TREE_PURPOSE (iter));
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
ancestor = namespace_ancestor (current_decl_namespace (), used);
ud = current_binding_level->using_directives;
ud = tree_cons (used, ancestor, ud);
current_binding_level->using_directives = ud;
- return ud;
+
+ /* Recursively add all namespaces used. */
+ for (iter = DECL_NAMESPACE_USING (used); iter; iter = TREE_CHAIN (iter))
+ push_using_directive (TREE_PURPOSE (iter));
+
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, ud);
}
/* DECL is a FUNCTION_DECL for a non-member function, which may have
@@ -4521,6 +4848,8 @@ push_overloaded_decl (decl, flags)
tree new_binding;
int doing_global = (namespace_bindings_p () || !(flags & PUSH_LOCAL));
+ timevar_push (TV_NAME_LOOKUP);
+
if (doing_global)
old = namespace_binding (name, DECL_CONTEXT (decl));
else
@@ -4553,7 +4882,7 @@ push_overloaded_decl (decl, flags)
decl, fn);
if (duplicate_decls (decl, fn))
- return fn;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, fn);
}
}
else if (old == error_mark_node)
@@ -4563,7 +4892,7 @@ push_overloaded_decl (decl, flags)
{
cp_error_at ("previous non-function declaration `%#D'", old);
error ("conflicts with function declaration `%#D'", decl);
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
}
@@ -4609,10 +4938,10 @@ push_overloaded_decl (decl, flags)
*d = tree_cons (NULL_TREE, new_binding,
TREE_CHAIN (*d));
- /* And update the CPLUS_BINDING node. */
+ /* And update the cxx_binding node. */
BINDING_VALUE (IDENTIFIER_BINDING (name))
= new_binding;
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
/* We should always find a previous binding in this case. */
@@ -4623,7 +4952,7 @@ push_overloaded_decl (decl, flags)
push_local_binding (name, new_binding, flags);
}
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
/* Generate an implicit declaration for identifier FUNCTIONID
@@ -4807,18 +5136,20 @@ lookup_label (id)
tree decl;
struct named_label_list *ent;
+ timevar_push (TV_NAME_LOOKUP);
+
/* You can't use labels at global scope. */
if (current_function_decl == NULL_TREE)
{
error ("label `%s' referenced outside of any function",
IDENTIFIER_POINTER (id));
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
/* See if we've already got this label. */
decl = IDENTIFIER_LABEL_VALUE (id);
if (decl != NULL_TREE && DECL_CONTEXT (decl) == current_function_decl)
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
/* Record this label on the list of labels used in this function.
We do this before calling make_label_decl so that we get the
@@ -4835,7 +5166,7 @@ lookup_label (id)
/* Now fill in the information we didn't have before. */
ent->label_decl = decl;
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
/* Declare a local label named ID. */
@@ -5069,6 +5400,8 @@ define_label (filename, line, name)
struct named_label_list *ent;
register struct cp_binding_level *p;
+ timevar_push (TV_NAME_LOOKUP);
+
for (ent = named_labels; ent; ent = ent->next)
if (ent->label_decl == decl)
break;
@@ -5084,7 +5417,7 @@ define_label (filename, line, name)
if (DECL_INITIAL (decl) != NULL_TREE)
{
error ("duplicate label `%D'", decl);
- return 0;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
else
{
@@ -5099,8 +5432,9 @@ define_label (filename, line, name)
ent->binding_level = current_binding_level;
}
check_previous_gotos (decl);
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
+ timevar_pop (TV_NAME_LOOKUP);
}
struct cp_switch
@@ -5215,14 +5549,6 @@ getdecls ()
return current_binding_level->names;
}
-/* Return the list of type-tags (for structs, etc) of the current level. */
-
-tree
-gettags ()
-{
- return current_binding_level->tags;
-}
-
/* Store the list of declarations of the current level.
This is done for the parameter declarations of a function being defined,
after they are modified in the light of any missing parameters. */
@@ -5234,14 +5560,15 @@ storedecls (decls)
current_binding_level->names = decls;
}
-/* Similarly, store the list of tags of the current level. */
-
+/* Set the current binding TABLE for type declarations.. This is a
+ temporary workaround of the fact that the data structure classtypes
+ does not currently carry its allocated cxx_scope structure. */
void
-storetags (tags)
- tree tags;
+cxx_remember_type_decls (binding_table table)
{
- current_binding_level->tags = tags;
+ current_binding_level->type_decls = table;
}
+
/* Return the type that should be used when TYPE's name is preceded
by a tag such as 'struct' or 'union', or null if the name cannot
@@ -5306,34 +5633,41 @@ lookup_tag (form, name, binding_level, thislevel_only)
/* Nonzero if, we should look past a template parameter level, even
if THISLEVEL_ONLY. */
int allow_template_parms_p = 1;
+ bool type_is_anonymous = ANON_AGGRNAME_P (name);
+
+ timevar_push (TV_NAME_LOOKUP);
for (level = binding_level; level; level = level->level_chain)
{
register tree tail;
- if (ANON_AGGRNAME_P (name))
- for (tail = level->tags; tail; tail = TREE_CHAIN (tail))
- {
- /* There's no need for error checking here, because
- anon names are unique throughout the compilation. */
- if (TYPE_IDENTIFIER (TREE_VALUE (tail)) == name)
- return TREE_VALUE (tail);
- }
+ if (type_is_anonymous && level->type_decls != NULL)
+ {
+ tree type = binding_table_find_anon_type (level->type_decls, name);
+ /* There's no need for error checking here, because
+ anon names are unique throughout the compilation. */
+ if (type != NULL)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, type);
+ }
else if (level->namespace_p)
/* Do namespace lookup. */
for (tail = current_namespace; 1; tail = CP_DECL_CONTEXT (tail))
{
- tree old = binding_for_name (name, tail);
+ cxx_binding *binding =
+ cxx_scope_find_binding_for_name (tail, name);
+ tree old;
/* If we just skipped past a template parameter level,
even though THISLEVEL_ONLY, and we find a template
class declaration, then we use the _TYPE node for the
template. See the example below. */
if (thislevel_only && !allow_template_parms_p
- && old && BINDING_VALUE (old)
- && DECL_CLASS_TEMPLATE_P (BINDING_VALUE (old)))
- old = TREE_TYPE (BINDING_VALUE (old));
- else
- old = BINDING_TYPE (old);
+ && binding && BINDING_VALUE (binding)
+ && DECL_CLASS_TEMPLATE_P (BINDING_VALUE (binding)))
+ old = TREE_TYPE (BINDING_VALUE (binding));
+ else if (binding)
+ old = BINDING_TYPE (binding);
+ else
+ old = NULL;
if (old)
{
@@ -5342,36 +5676,36 @@ lookup_tag (form, name, binding_level, thislevel_only)
if the typedef doesn't refer to a taggable type. */
old = follow_tag_typedef (old);
if (!old)
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
if (TREE_CODE (old) != form
&& (form == ENUMERAL_TYPE
|| TREE_CODE (old) == ENUMERAL_TYPE))
{
error ("`%#D' redeclared as %C", old, form);
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
- return old;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, old);
}
if (thislevel_only || tail == global_namespace)
- return NULL_TREE;
- }
- else
- for (tail = level->tags; tail; tail = TREE_CHAIN (tail))
- {
- if (TREE_PURPOSE (tail) == name)
- {
- enum tree_code code = TREE_CODE (TREE_VALUE (tail));
-
- if (code != form
- && (form == ENUMERAL_TYPE || code == ENUMERAL_TYPE))
- {
- /* Definition isn't the kind we were looking for. */
- error ("`%#D' redeclared as %C", TREE_VALUE (tail), form);
- return NULL_TREE;
- }
- return TREE_VALUE (tail);
- }
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
+ else if (level->type_decls != NULL)
+ {
+ binding_entry entry = binding_table_find (level->type_decls, name);
+ if (entry != NULL)
+ {
+ enum tree_code code = TREE_CODE (entry->type);
+
+ if (code != form
+ && (form == ENUMERAL_TYPE || code == ENUMERAL_TYPE))
+ {
+ /* Definition isn't the kind we were looking for. */
+ error ("`%#D' redeclared as %C", entry->type, form);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
+ }
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, entry->type);
+ }
+ }
if (thislevel_only && ! level->tag_transparent)
{
if (level->template_parms_p && allow_template_parms_p)
@@ -5391,10 +5725,10 @@ lookup_tag (form, name, binding_level, thislevel_only)
continue;
}
else
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
}
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
#if 0
@@ -5420,20 +5754,17 @@ lookup_tag_reverse (type, name)
{
register struct cp_binding_level *level;
+ timevar_push (TV_NAME_LOOKUP);
+
for (level = current_binding_level; level; level = level->level_chain)
{
- register tree tail;
- for (tail = level->tags; tail; tail = TREE_CHAIN (tail))
- {
- if (TREE_VALUE (tail) == type)
- {
- if (name)
- TREE_PURPOSE (tail) = name;
- return TREE_PURPOSE (tail);
- }
- }
+ binding_entry entry = level->type_decls == NULL
+ ? NULL
+ : binding_table_reverse_maybe_remap (level->type_decls, type, name);
+ if (entry)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, entry->name);
}
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
/* Look up NAME in the NAMESPACE. */
@@ -5444,18 +5775,21 @@ lookup_namespace_name (namespace, name)
{
tree val;
tree template_id = NULL_TREE;
+ cxx_binding binding;
+
+ timevar_push (TV_NAME_LOOKUP);
my_friendly_assert (TREE_CODE (namespace) == NAMESPACE_DECL, 370);
if (TREE_CODE (name) == NAMESPACE_DECL)
/* This happens for A::B<int> when B is a namespace. */
- return name;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, name);
else if (TREE_CODE (name) == TEMPLATE_DECL)
{
/* This happens for A::B where B is a template, and there are no
template arguments. */
error ("invalid use of `%D'", name);
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
namespace = ORIGINAL_NAMESPACE (namespace);
@@ -5472,13 +5806,13 @@ lookup_namespace_name (namespace, name)
my_friendly_assert (TREE_CODE (name) == IDENTIFIER_NODE, 373);
- val = make_node (CPLUS_BINDING);
- if (!qualified_lookup_using_namespace (name, namespace, val, 0))
- return error_mark_node;
+ cxx_binding_clear (&binding);
+ if (!qualified_lookup_using_namespace (name, namespace, &binding, 0))
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
- if (BINDING_VALUE (val))
+ if (binding.value)
{
- val = BINDING_VALUE (val);
+ val = binding.value;
if (template_id)
{
@@ -5497,7 +5831,7 @@ lookup_namespace_name (namespace, name)
{
error ("`%D::%D' is not a template",
namespace, name);
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
}
@@ -5509,11 +5843,11 @@ lookup_namespace_name (namespace, name)
if (!val || !DECL_P(val)
|| !DECL_LANG_SPECIFIC(val)
|| !DECL_ANTICIPATED (val))
- return val;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, val);
}
error ("`%D' undeclared in namespace `%D'", name, namespace);
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
/* Hash a TYPENAME_TYPE. K is really of type `tree'. */
@@ -5677,10 +6011,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 +6046,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 +6093,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 +6115,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;
}
@@ -5806,19 +6149,20 @@ make_unbound_class_template (context, name, complain)
/* Select the right _DECL from multiple choices. */
static tree
-select_decl (binding, flags)
- tree binding;
- int flags;
+select_decl (cxx_binding *binding, int flags)
{
tree val;
+
+ timevar_push (TV_NAME_LOOKUP);
+
val = BINDING_VALUE (binding);
if (LOOKUP_NAMESPACES_ONLY (flags))
{
/* We are not interested in types. */
if (val && TREE_CODE (val) == NAMESPACE_DECL)
- return val;
- return NULL_TREE;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, val);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
}
/* If we could have a type and
@@ -5833,7 +6177,7 @@ select_decl (binding, flags)
|| !DECL_CLASS_TEMPLATE_P (val)))
val = NULL_TREE;
- return val;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, val);
}
/* Unscoped lookup of a global: iterate over current namespaces,
@@ -5846,65 +6190,65 @@ unqualified_namespace_lookup (name, flags, spacesp)
int flags;
tree *spacesp;
{
- tree b = make_node (CPLUS_BINDING);
tree initial = current_decl_namespace ();
tree scope = initial;
tree siter;
struct cp_binding_level *level;
tree val = NULL_TREE;
+ cxx_binding binding;
+ timevar_push (TV_NAME_LOOKUP);
+ cxx_binding_clear (&binding);
if (spacesp)
*spacesp = NULL_TREE;
for (; !val; scope = CP_DECL_CONTEXT (scope))
{
+ cxx_binding *b;
if (spacesp)
*spacesp = tree_cons (scope, NULL_TREE, *spacesp);
- val = binding_for_name (name, scope);
+ b = cxx_scope_find_binding_for_name (scope, name);
/* Ignore anticipated built-in functions. */
- if (val && BINDING_VALUE (val)
- && DECL_P (BINDING_VALUE (val))
- && DECL_LANG_SPECIFIC (BINDING_VALUE (val))
- && DECL_ANTICIPATED (BINDING_VALUE (val)))
- {
- BINDING_VALUE (b) = NULL_TREE;
- BINDING_TYPE (b) = NULL_TREE;
- }
- else
+ if (b && BINDING_VALUE (b) && DECL_P (BINDING_VALUE (b))
+ && DECL_LANG_SPECIFIC (BINDING_VALUE (b))
+ && DECL_ANTICIPATED (BINDING_VALUE (b)))
+ /* Keep binding cleared. */;
+ else if (b)
{
/* Initialize binding for this context. */
- BINDING_VALUE (b) = BINDING_VALUE (val);
- BINDING_TYPE (b) = BINDING_TYPE (val);
+ binding.value = BINDING_VALUE (b);
+ binding.type = BINDING_TYPE (b);
}
/* Add all _DECLs seen through local using-directives. */
for (level = current_binding_level;
!level->namespace_p;
level = level->level_chain)
- if (!lookup_using_namespace (name, b, level->using_directives,
+ if (!lookup_using_namespace (name, &binding, level->using_directives,
scope, flags, spacesp))
/* Give up because of error. */
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
/* Add all _DECLs seen through global using-directives. */
/* XXX local and global using lists should work equally. */
siter = initial;
while (1)
{
- if (!lookup_using_namespace (name, b, DECL_NAMESPACE_USING (siter),
+ if (!lookup_using_namespace (name, &binding,
+ DECL_NAMESPACE_USING (siter),
scope, flags, spacesp))
/* Give up because of error. */
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
if (siter == scope) break;
siter = CP_DECL_CONTEXT (siter);
}
- val = select_decl (b, flags);
+ val = select_decl (&binding, flags);
if (scope == global_namespace)
break;
}
- return val;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, val);
}
/* Combine prefer_type and namespaces_only into flags. */
@@ -5956,6 +6300,7 @@ warn_about_implicit_typename_lookup (typename, binding)
tree name = DECL_NAME (typename);
if (! (TREE_CODE (binding) == TEMPLATE_DECL
+ && CLASS_TYPE_P (subtype)
&& CLASSTYPE_TEMPLATE_INFO (subtype)
&& CLASSTYPE_TI_TEMPLATE (subtype) == binding)
&& ! (TREE_CODE (binding) == TYPE_DECL
@@ -6054,6 +6399,9 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
tree from_obj = NULL_TREE;
int flags;
int val_is_implicit_typename = 0;
+ cxx_binding *iter;
+
+ timevar_push (TV_NAME_LOOKUP);
/* Hack: copy flag set by parser, if set. */
if (only_namespace_names)
@@ -6080,8 +6428,8 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
if (type)
{
if (type == error_mark_node)
- return error_mark_node;
- if (TREE_CODE (type) == TYPENAME_TYPE && TREE_TYPE (type))
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
+ if (IMPLICIT_TYPENAME_P (type))
type = TREE_TYPE (type);
if (TYPE_P (type))
@@ -6091,11 +6439,12 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
type = global_namespace;
if (TREE_CODE (type) == NAMESPACE_DECL)
{
- val = make_node (CPLUS_BINDING);
+ cxx_binding b;
+ cxx_binding_clear (&b);
flags |= LOOKUP_COMPLAIN;
- if (!qualified_lookup_using_namespace (name, type, val, flags))
- return NULL_TREE;
- val = select_decl (val, flags);
+ if (!qualified_lookup_using_namespace (name, type, &b, flags))
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
+ val = select_decl (&b, flags);
}
else if (! IS_AGGR_TYPE (type)
|| TREE_CODE (type) == TEMPLATE_TYPE_PARM
@@ -6143,32 +6492,61 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
flags |= LOOKUP_COMPLAIN;
}
+ /* Conversion operators are handled specially because ordinary
+ unqualified name lookup will not find template conversion
+ operators. */
+ if (IDENTIFIER_TYPENAME_P (name))
+ {
+ struct cp_binding_level *level;
+
+ for (level = current_binding_level;
+ level && !level->namespace_p;
+ level = level->level_chain)
+ {
+ tree class_type;
+ tree operators;
+
+ /* A conversion operator can only be declared in a class
+ scope. */
+ if (level->parm_flag != 2)
+ continue;
+
+ /* Lookup the conversion operator in the class. */
+ class_type = level->this_class;
+ operators = lookup_fnfields (class_type, name, /*protect=*/0);
+ if (operators)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, operators);
+ }
+
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
+ }
+
/* First, look in non-namespace scopes. */
if (current_class_type == NULL_TREE)
nonclass = 1;
- for (t = IDENTIFIER_BINDING (name); t; t = TREE_CHAIN (t))
+ for (iter = IDENTIFIER_BINDING (name); iter; iter = iter->previous)
{
tree binding;
- if (!LOCAL_BINDING_P (t) && nonclass)
+ if (!LOCAL_BINDING_P (iter) && nonclass)
/* We're not looking for class-scoped bindings, so keep going. */
continue;
/* If this is the kind of thing we're looking for, we're done. */
- if (qualify_lookup (BINDING_VALUE (t), flags))
- binding = BINDING_VALUE (t);
+ if (qualify_lookup (BINDING_VALUE (iter), flags))
+ binding = BINDING_VALUE (iter);
else if ((flags & LOOKUP_PREFER_TYPES)
- && qualify_lookup (BINDING_TYPE (t), flags))
- binding = BINDING_TYPE (t);
+ && qualify_lookup (BINDING_TYPE (iter), flags))
+ binding = BINDING_TYPE (iter);
else
binding = NULL_TREE;
/* Handle access control on types from enclosing or base classes. */
if (binding && ! yylex
- && BINDING_LEVEL (t) && BINDING_LEVEL (t)->parm_flag == 2)
- type_access_control (BINDING_LEVEL (t)->this_class, binding);
+ && BINDING_LEVEL (iter) && BINDING_LEVEL (iter)->parm_flag == 2)
+ type_access_control (BINDING_LEVEL (iter)->this_class, binding);
if (binding
&& (!val || !IMPLICIT_TYPENAME_TYPE_DECL_P (binding)))
@@ -6183,6 +6561,10 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
}
}
+ /* The name might be from an enclosing class of the current scope. */
+ if (!val && !nonclass && current_class_type)
+ val = qualify_lookup (lookup_nested_field (name, !yylex), flags);
+
/* Now lookup in namespace scopes. */
if (!val || val_is_implicit_typename)
{
@@ -6223,7 +6605,7 @@ does not match lookup in the current scope (`%#D')",
else if (from_obj)
val = from_obj;
- return val;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, val);
}
tree
@@ -6267,6 +6649,8 @@ lookup_name_current_level (name)
struct cp_binding_level *b;
tree t = NULL_TREE;
+ timevar_push (TV_NAME_LOOKUP);
+
b = current_binding_level;
while (b->parm_flag == 2)
b = b->level_chain;
@@ -6285,7 +6669,7 @@ lookup_name_current_level (name)
while (1)
{
if (BINDING_LEVEL (IDENTIFIER_BINDING (name)) == b)
- return IDENTIFIER_VALUE (name);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, IDENTIFIER_VALUE (name));
if (b->keep == 2)
b = b->level_chain;
@@ -6294,7 +6678,7 @@ lookup_name_current_level (name)
}
}
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
/* Like lookup_name_current_level, but for types. */
@@ -6304,6 +6688,8 @@ lookup_type_current_level (name)
tree name;
{
register tree t = NULL_TREE;
+
+ timevar_push (TV_NAME_LOOKUP);
my_friendly_assert (! current_binding_level->namespace_p, 980716);
@@ -6314,7 +6700,8 @@ lookup_type_current_level (name)
while (1)
{
if (purpose_member (name, b->type_shadowed))
- return REAL_IDENTIFIER_TYPE_VALUE (name);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP,
+ REAL_IDENTIFIER_TYPE_VALUE (name));
if (b->keep == 2)
b = b->level_chain;
else
@@ -6322,7 +6709,7 @@ lookup_type_current_level (name)
}
}
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
void
@@ -6545,11 +6932,15 @@ cxx_init_decl_processing ()
/* Make the binding_level structure for global names. */
pushlevel (0);
- global_binding_level = current_binding_level;
+ current_binding_level->type_decls = binding_table_new (GLOBAL_SCOPE_HT_SIZE);
/* The global level is the namespace level of ::. */
- NAMESPACE_LEVEL (global_namespace) = global_binding_level;
+ NAMESPACE_LEVEL (global_namespace) = current_binding_level;
declare_namespace_level ();
+ VARRAY_TREE_INIT (current_binding_level->static_decls,
+ 200,
+ "Static declarations");
+
/* Create the `std' namespace. */
push_namespace (std_identifier);
std_node = current_namespace;
@@ -7338,7 +7729,7 @@ start_decl (declarator, declspecs, initialized, attributes, prefix_attributes)
cplus_decl_attributes (&decl, attributes, 0);
/* If #pragma weak was used, mark the decl weak now. */
- if (current_binding_level == global_binding_level)
+ if (global_scope_p (current_binding_level))
maybe_apply_pragma_weak (decl);
if (TREE_CODE (decl) == FUNCTION_DECL
@@ -7417,7 +7808,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)
@@ -7545,10 +7938,7 @@ grok_reference_init (decl, type, init)
DECL_INITIAL for local references (instead assigning to them
explicitly); we need to allow the temporary to be initialized
first. */
- tmp = convert_to_reference
- (type, init, CONV_IMPLICIT,
- LOOKUP_ONLYCONVERTING|LOOKUP_SPECULATIVELY|LOOKUP_NORMAL|DIRECT_BIND,
- decl);
+ tmp = initialize_reference (type, init, decl);
if (tmp == error_mark_node)
return NULL_TREE;
@@ -7688,40 +8078,43 @@ maybe_commonize_var (decl)
if (TREE_STATIC (decl)
/* Don't mess with __FUNCTION__. */
&& ! DECL_ARTIFICIAL (decl)
- && current_function_decl
- && DECL_CONTEXT (decl) == current_function_decl
- && (DECL_DECLARED_INLINE_P (current_function_decl)
- || DECL_TEMPLATE_INSTANTIATION (current_function_decl))
- && TREE_PUBLIC (current_function_decl))
- {
- /* If flag_weak, we don't need to mess with this, as we can just
- make the function weak, and let it refer to its unique local
- copy. This works because we don't allow the function to be
- inlined. */
- if (! flag_weak)
- {
- if (DECL_INTERFACE_KNOWN (current_function_decl))
- {
- TREE_PUBLIC (decl) = 1;
- DECL_EXTERNAL (decl) = DECL_EXTERNAL (current_function_decl);
- }
- else if (DECL_INITIAL (decl) == NULL_TREE
- || DECL_INITIAL (decl) == error_mark_node)
+ && DECL_FUNCTION_SCOPE_P (decl)
+ /* Unfortunately, import_export_decl has not always been called
+ before the function is processed, so we cannot simply check
+ DECL_COMDAT. */
+ && (DECL_COMDAT (DECL_CONTEXT (decl))
+ || ((DECL_DECLARED_INLINE_P (DECL_CONTEXT (decl))
+ || DECL_TEMPLATE_INSTANTIATION (DECL_CONTEXT (decl)))
+ && TREE_PUBLIC (DECL_CONTEXT (decl)))))
+ {
+ if (flag_weak)
+ {
+ /* With weak symbols, we simply make the variable COMDAT;
+ that will cause copies in multiple translations units to
+ be merged. */
+ comdat_linkage (decl);
+ }
+ else
+ {
+ if (DECL_INITIAL (decl) == NULL_TREE
+ || DECL_INITIAL (decl) == error_mark_node)
{
+ /* Without weak symbols, we can use COMMON to merge
+ uninitialized variables. */
TREE_PUBLIC (decl) = 1;
DECL_COMMON (decl) = 1;
}
- /* else we lose. We can only do this if we can use common,
- which we can't if it has been initialized. */
-
- if (!TREE_PUBLIC (decl))
+ else
{
+ /* While for initialized variables, we must use internal
+ linkage -- which means that multiple copies will not
+ be merged. */
+ TREE_PUBLIC (decl) = 0;
+ DECL_COMMON (decl) = 0;
cp_warning_at ("sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)", decl);
cp_warning_at (" you can work around this by removing the initializer", decl);
}
}
- else
- comdat_linkage (decl);
}
else if (DECL_LANG_SPECIFIC (decl) && DECL_COMDAT (decl))
/* Set it up again; we might have set DECL_INITIAL since the last
@@ -7900,10 +8293,24 @@ reshape_init (tree type, tree *initp)
{
/* Loop through the initializable fields, gathering
initializers. */
- while (*initp && field)
+ while (*initp)
{
tree field_init;
+ /* Handle designated initializers, as an extension. */
+ if (TREE_PURPOSE (*initp))
+ {
+ if (pedantic)
+ pedwarn ("ISO C++ does not allow designated initializers");
+ field = lookup_field_1 (type, TREE_PURPOSE (*initp),
+ /*want_type=*/false);
+ if (!field || TREE_CODE (field) != FIELD_DECL)
+ error ("`%T' has no non-static data member named `%D'",
+ type, TREE_PURPOSE (*initp));
+ }
+ if (!field)
+ break;
+
field_init = reshape_init (TREE_TYPE (field), initp);
TREE_CHAIN (field_init) = CONSTRUCTOR_ELTS (new_init);
CONSTRUCTOR_ELTS (new_init) = field_init;
@@ -7914,8 +8321,6 @@ reshape_init (tree type, tree *initp)
initializer for the first member of the union. */
if (TREE_CODE (type) == UNION_TYPE)
break;
- if (TREE_PURPOSE (field_init))
- field = TREE_PURPOSE (field_init);
field = next_initializable_field (TREE_CHAIN (field));
}
}
@@ -8204,14 +8609,16 @@ void
maybe_inject_for_scope_var (decl)
tree decl;
{
+ timevar_push (TV_NAME_LOOKUP);
+
if (!DECL_NAME (decl))
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, (void)0);
/* Declarations of __FUNCTION__ and its ilk appear magically when
the variable is first used. If that happens to be inside a
for-loop, we don't want to do anything special. */
if (DECL_PRETTY_FUNCTION_P (decl))
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, (void)0);
if (current_binding_level->is_for_scope)
{
@@ -8227,8 +8634,8 @@ maybe_inject_for_scope_var (decl)
Otherwise, we need to preserve the temp slot for decl to last
into the outer binding level. */
- tree outer_binding
- = TREE_CHAIN (IDENTIFIER_BINDING (DECL_NAME (decl)));
+ cxx_binding *outer_binding
+ = IDENTIFIER_BINDING (DECL_NAME (decl))->previous;
if (outer_binding && BINDING_LEVEL (outer_binding) == outer
&& (TREE_CODE (BINDING_VALUE (outer_binding))
@@ -8242,6 +8649,8 @@ maybe_inject_for_scope_var (decl)
else if (DECL_IN_MEMORY_P (decl))
preserve_temp_slots (DECL_RTL (decl));
}
+
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Generate code to initialize DECL (a local variable). */
@@ -8252,6 +8661,7 @@ initialize_local_var (decl, init)
tree init;
{
tree type = TREE_TYPE (decl);
+ tree cleanup;
my_friendly_assert (TREE_CODE (decl) == VAR_DECL
|| TREE_CODE (decl) == RESULT_DECL,
@@ -8301,17 +8711,9 @@ initialize_local_var (decl, init)
}
/* Generate a cleanup, if necessary. */
- if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type))
- {
- tree cleanup;
-
- /* Compute the cleanup. */
- cleanup = cxx_maybe_build_cleanup (decl);
-
- /* Record the cleanup required for this declaration. */
- if (DECL_SIZE (decl) && cleanup)
- finish_decl_cleanup (decl, cleanup);
- }
+ cleanup = cxx_maybe_build_cleanup (decl);
+ if (DECL_SIZE (decl) && cleanup)
+ finish_decl_cleanup (decl, cleanup);
}
/* Finish processing of a declaration;
@@ -8344,7 +8746,7 @@ cp_finish_decl (decl, init, asmspec_tree, flags)
}
/* If a name was specified, get the string. */
- if (current_binding_level == global_binding_level)
+ if (global_scope_p (current_binding_level))
asmspec_tree = maybe_apply_renaming_pragma (decl, asmspec_tree);
if (asmspec_tree)
asmspec = TREE_STRING_POINTER (asmspec_tree);
@@ -8481,6 +8883,7 @@ cp_finish_decl (decl, init, asmspec_tree, flags)
necessary zero-initialization has already been performed. */
if (TREE_STATIC (decl) && !DECL_INITIAL (decl))
DECL_INITIAL (decl) = build_zero_init (TREE_TYPE (decl),
+ /*nelts=*/NULL_TREE,
/*static_storage_p=*/true);
/* Remember that the initialization for this variable has
taken place. */
@@ -9233,13 +9636,19 @@ grokfndecl (ctype, type, declarator, orig_declarator, virtualp, flags, quals,
DECL_NOT_REALLY_EXTERN (decl) = 1;
}
+ DID_INLINE_FUNC (decl) = 0;
/* If the declaration was declared inline, mark it as such. */
if (inlinep)
DECL_DECLARED_INLINE_P (decl) = 1;
/* We inline functions that are explicitly declared inline, or, when
the user explicitly asks us to, all functions. */
- if (DECL_DECLARED_INLINE_P (decl) || flag_inline_trees == 2)
+ if (DECL_DECLARED_INLINE_P (decl))
DECL_INLINE (decl) = 1;
+ if (flag_inline_trees == 2 && !DECL_INLINE (decl) && funcdef_flag)
+ {
+ DID_INLINE_FUNC (decl) = 1;
+ DECL_INLINE (decl) = 1;
+ }
DECL_EXTERNAL (decl) = 1;
if (quals != NULL_TREE && TREE_CODE (type) == FUNCTION_TYPE)
@@ -9532,8 +9941,7 @@ grokvardecl (type, name, specbits_in, initialized, constp, scope)
TYPE, which is a POINTER_TYPE to a METHOD_TYPE. */
tree
-build_ptrmemfunc_type (type)
- tree type;
+build_ptrmemfunc_type (tree type)
{
tree fields[4];
tree t;
@@ -10236,6 +10644,14 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
ctype = cname;
}
+ /* If the parser sees something like "void a::b" where
+ "a::b" is a namespace, it will build a SCOPE_REF with
+ a NAMESPACE_DECL, rather than an IDENTIFIER_NODE, as
+ the second operand. Since the SCOPE_REF is being
+ used as a declarator, we recover from that here. */
+ if (TREE_CODE (TREE_OPERAND (decl, 1)) == NAMESPACE_DECL)
+ TREE_OPERAND (decl, 1) = DECL_NAME (TREE_OPERAND (decl, 1));
+
if (ctype && TREE_CODE (TREE_OPERAND (decl, 1)) == TYPE_DECL
&& constructor_name_p (DECL_NAME (TREE_OPERAND (decl, 1)),
ctype))
@@ -11449,11 +11865,14 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
type = error_mark_node;
}
- if (decl_context == FIELD
+ if ((decl_context == FIELD || decl_context == PARM)
&& !processing_template_decl
&& variably_modified_type_p (type))
{
- error ("data member may not have variably modified type `%T'", type);
+ if (decl_context == FIELD)
+ error ("data member may not have variably modified type `%T'", type);
+ else
+ error ("parameter may not have variably modified type `%T'", type);
type = error_mark_node;
}
@@ -11467,7 +11886,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
if (RIDBIT_SETP (RID_MUTABLE, specbits))
{
- if (current_class_name == NULL_TREE || decl_context == PARM || friendp)
+ if (decl_context != FIELD || friendp)
{
error ("non-member `%s' cannot be declared `mutable'", name);
RIDBIT_RESET (RID_MUTABLE, specbits);
@@ -12211,7 +12630,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;
}
@@ -12813,7 +13235,7 @@ grok_op_properties (decl, friendp)
&& DERIVED_FROM_P (t, current_class_type))
what = "a base class";
- if (what)
+ if (what && warn_conversion)
warning ("conversion to %s%s will never use a type conversion operator",
ref ? "a reference to " : "", what);
}
@@ -12994,6 +13416,38 @@ tag_name (code)
}
}
+/* Name lookup in an elaborated-type-specifier (after the keyword
+ indicated by TAG_CODE) has found TYPE. If the
+ elaborated-type-specifier is invalid, issue a diagnostic and return
+ error_mark_node; otherwise, return TYPE itself. */
+
+static tree
+check_elaborated_type_specifier (enum tag_types tag_code,
+ tree type)
+{
+ tree t;
+
+ t = follow_tag_typedef (type);
+
+ /* [dcl.type.elab] If the identifier resolves to a typedef-name or a
+ template type-parameter, the elaborated-type-specifier is
+ ill-formed. */
+ if (!t)
+ {
+ error ("using typedef-name `%D' after `%s'",
+ TYPE_NAME (type), tag_name (tag_code));
+ t = error_mark_node;
+ }
+ else if (TREE_CODE (type) == TEMPLATE_TYPE_PARM)
+ {
+ error ("using template type parameter `%T' after `%s'",
+ type, tag_name (tag_code));
+ t = error_mark_node;
+ }
+
+ return t;
+}
+
/* Get the struct, enum or union (CODE says which) with tag NAME.
Define the tag as a forward-reference if it is not defined.
@@ -13013,6 +13467,8 @@ xref_tag (enum tag_types tag_code, tree name, tree attributes,
struct cp_binding_level *b = current_binding_level;
tree context = NULL_TREE;
+ timevar_push (TV_NAME_LOOKUP);
+
switch (tag_code)
{
case record_type:
@@ -13079,20 +13535,9 @@ xref_tag (enum tag_types tag_code, tree name, tree attributes,
{
if (t)
{
- ref = follow_tag_typedef (t);
-
- /* [dcl.type.elab] If the identifier resolves to a
- typedef-name or a template type-parameter, the
- elaborated-type-specifier is ill-formed. */
- if (!ref)
- {
- pedwarn ("using typedef-name `%D' after `%s'",
- TYPE_NAME (t), tag_name (tag_code));
- ref = t;
- }
- else if (TREE_CODE (t) == TEMPLATE_TYPE_PARM)
- error ("using template type parameter `%T' after `%s'",
- t, tag_name (tag_code));
+ ref = check_elaborated_type_specifier (tag_code, t);
+ if (ref == error_mark_node)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
else
ref = lookup_tag (code, name, b, 0);
@@ -13111,9 +13556,15 @@ xref_tag (enum tag_types tag_code, tree name, tree attributes,
template, so we want this type. */
ref = DECL_TEMPLATE_RESULT (ref);
- if (ref && TREE_CODE (ref) == TYPE_DECL
- && TREE_CODE (TREE_TYPE (ref)) == code)
- ref = TREE_TYPE (ref);
+ if (ref && TREE_CODE (ref) == TYPE_DECL)
+ {
+ ref = check_elaborated_type_specifier (tag_code,
+ TREE_TYPE (ref));
+ if (ref == error_mark_node)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
+ if (ref && TREE_CODE (ref) != code)
+ ref = NULL_TREE;
+ }
else
ref = NULL_TREE;
}
@@ -13215,7 +13666,7 @@ xref_tag (enum tag_types tag_code, tree name, tree attributes,
TYPE_ATTRIBUTES (ref) = attributes;
- return ref;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, ref);
}
tree
@@ -13468,44 +13919,56 @@ finish_enum (enumtype)
/* We built up the VALUES in reverse order. */
TYPE_VALUES (enumtype) = nreverse (TYPE_VALUES (enumtype));
- /* [dcl.enum]
-
- Following the closing brace of an enum-specifier, each
- enumerator has the type of its enumeration. Prior to the
- closing brace, the type of each enumerator is the type of
- its initializing value. */
- for (pair = TYPE_VALUES (enumtype); pair; pair = TREE_CHAIN (pair))
- TREE_TYPE (TREE_VALUE (pair)) = enumtype;
-
- /* For an enum defined in a template, all further processing is
- postponed until the template is instantiated. */
+ /* For an enum defined in a template, just set the type of the values;
+ all further processing is postponed until the template is
+ instantiated. We need to set the type so that tsubst of a CONST_DECL
+ works. */
if (processing_template_decl)
{
+ for (pair = TYPE_VALUES (enumtype); pair; pair = TREE_CHAIN (pair))
+ TREE_TYPE (TREE_VALUE (pair)) = enumtype;
if (at_function_scope_p ())
add_stmt (build_min (TAG_DEFN, enumtype));
return;
}
- /* Figure out what the minimum and maximum values of the enumerators
- are. */
if (TYPE_VALUES (enumtype))
{
minnode = maxnode = NULL_TREE;
- for (pair = TYPE_VALUES (enumtype);
- pair;
- pair = TREE_CHAIN (pair))
+ for (pair = TYPE_VALUES (enumtype); pair; pair = TREE_CHAIN (pair))
{
- tree value;
+ tree decl = TREE_VALUE (pair);
+ tree value = DECL_INITIAL (decl);
- value = DECL_INITIAL (TREE_VALUE (pair));
+ /* [dcl.enum]: Following the closing brace of an enum-specifier,
+ each enumerator has the type of its enumeration. Prior to the
+ closing brace, the type of each enumerator is the type of its
+ initializing value. */
+ TREE_TYPE (decl) = enumtype;
+ /* Figure out what the minimum and maximum values of the
+ enumerators are. */
if (!minnode)
minnode = maxnode = value;
else if (tree_int_cst_lt (maxnode, value))
maxnode = value;
else if (tree_int_cst_lt (value, minnode))
minnode = value;
+
+ /* Set the TREE_TYPE for the values as well. That's so that when
+ we call decl_constant_value we get an entity of the right type
+ (but with the constant value). But first make a copy so we
+ don't clobber shared INTEGER_CSTs. */
+ if (TREE_TYPE (value) != enumtype)
+ {
+ value = DECL_INITIAL (decl) = copy_node (value);
+ TREE_TYPE (value) = enumtype;
+ }
+
+ /* In addition, transform the TYPE_VALUES list to contain the
+ values, rather than the CONST_DECLs for them. */
+ TREE_VALUE (pair) = value;
}
}
else
@@ -13520,18 +13983,6 @@ finish_enum (enumtype)
highprec = min_precision (maxnode, unsignedp);
precision = MAX (lowprec, highprec);
- /* Set the TREE_TYPE for the values as well. That's so that when we
- call decl_constant_value we get an entity of the right type (but
- with the constant value). In addition, transform the TYPE_VALUES
- list to contain the values, rather than the CONST_DECLs for them. */
- for (pair = TYPE_VALUES (enumtype); pair; pair = TREE_CHAIN (pair))
- {
- tree value = DECL_INITIAL (TREE_VALUE (pair));
-
- TREE_TYPE (value) = enumtype;
- TREE_VALUE (pair) = value;
- }
-
/* Set TYPE_MIN_VALUE and TYPE_MAX_VALUE according to `precision'. */
TYPE_SIZE (enumtype) = NULL_TREE;
TYPE_PRECISION (enumtype) = precision;
@@ -13583,7 +14034,6 @@ build_enumerator (name, value, enumtype)
tree decl;
tree context;
tree type;
- tree values;
/* Remove no-op casts from the value. */
if (value)
@@ -13630,26 +14080,9 @@ build_enumerator (name, value, enumtype)
}
/* Remove no-op casts from the value. */
- if (value)
- STRIP_TYPE_NOPS (value);
-#if 0
- /* To fix MAX_VAL enum consts. (bkoz) */
- TREE_TYPE (value) = integer_type_node;
-#endif
+ STRIP_TYPE_NOPS (value);
}
- /* We always have to copy here; not all INTEGER_CSTs are unshared.
- Even in other cases, we will later (in finish_enum) be setting
- the type of VALUE. But, we don't need to make a copy if this
- VALUE is one of the enumeration constants for this same
- enumeration type. */
- for (values = TYPE_VALUES (enumtype); values; values = TREE_CHAIN (values))
- if (TREE_VALUE (values) == value)
- break;
- /* If we didn't break out of the loop, then we do need a copy. */
- if (!values && value)
- value = copy_node (value);
-
/* C++ associates enums with global, function, or class declarations. */
context = current_scope ();
@@ -13815,7 +14248,7 @@ start_function (declspecs, declarator, attrs, flags)
cplus_decl_attributes (&decl1, attrs, 0);
/* If #pragma weak was used, mark the decl weak now. */
- if (current_binding_level == global_binding_level)
+ if (global_scope_p (current_binding_level))
maybe_apply_pragma_weak (decl1);
fntype = TREE_TYPE (decl1);
@@ -14172,7 +14605,6 @@ store_parm_decls (current_function_parms)
function. This is all and only the PARM_DECLs that were
pushed into scope by the loop above. */
DECL_ARGUMENTS (fndecl) = getdecls ();
- storetags (gettags ());
}
else
DECL_ARGUMENTS (fndecl) = NULL_TREE;
@@ -14416,6 +14848,15 @@ finish_function (flags)
if (fndecl == NULL_TREE)
return error_mark_node;
+ if (DECL_NONSTATIC_MEMBER_FUNCTION_P (fndecl)
+ && DECL_VIRTUAL_P (fndecl)
+ && !processing_template_decl)
+ {
+ tree fnclass = DECL_CONTEXT (fndecl);
+ if (fndecl == CLASSTYPE_KEY_METHOD (fnclass))
+ keyed_classes = tree_cons (NULL_TREE, fnclass, keyed_classes);
+ }
+
nested = function_depth > 1;
fntype = TREE_TYPE (fndecl);
@@ -14453,6 +14894,12 @@ finish_function (flags)
/* If we're saving up tree structure, tie off the function now. */
finish_stmt_tree (&DECL_SAVED_TREE (fndecl));
+ /* If this function can't throw any exceptions, remember that. */
+ if (!processing_template_decl
+ && !cp_function_chain->can_throw
+ && !flag_non_call_exceptions)
+ TREE_NOTHROW (fndecl) = 1;
+
/* This must come after expand_function_end because cleanups might
have declarations (from inline functions) that need to go into
this function's blocks. */
@@ -14487,11 +14934,20 @@ finish_function (flags)
if (current_function_return_value)
{
tree r = current_function_return_value;
- /* This is only worth doing for fns that return in memory--and
- simpler, since we don't have to worry about promoted modes. */
+ tree outer;
+
if (r != error_mark_node
- && aggregate_value_p (TREE_TYPE (TREE_TYPE (fndecl))))
+ /* This is only worth doing for fns that return in memory--and
+ simpler, since we don't have to worry about promoted modes. */
+ && aggregate_value_p (TREE_TYPE (TREE_TYPE (fndecl)))
+ /* Only allow this for variables declared in the outer scope of
+ the function so we know that their lifetime always ends with a
+ return; see g++.dg/opt/nrv6.C. We could be more flexible if
+ we were to do this optimization in tree-ssa. */
+ && (outer = BLOCK_SUBBLOCKS (DECL_INITIAL (fndecl)),
+ chain_member (r, BLOCK_VARS (outer))))
{
+
DECL_ALIGN (r) = DECL_ALIGN (DECL_RESULT (fndecl));
walk_tree_without_duplicates (&DECL_SAVED_TREE (fndecl),
nullify_returns_r, r);
@@ -14631,6 +15087,7 @@ start_method (declspecs, declarator, attrlist)
DECL_DECLARED_INLINE_P (fndecl) = 1;
+ DID_INLINE_FUNC (fndecl) = 0;
if (flag_default_inline)
DECL_INLINE (fndecl) = 1;
@@ -14894,7 +15351,6 @@ cp_tree_node_structure (t)
{
case DEFAULT_ARG: return TS_CP_IDENTIFIER;
case IDENTIFIER_NODE: return TS_CP_IDENTIFIER;
- case CPLUS_BINDING: return TS_CP_BINDING;
case OVERLOAD: return TS_CP_OVERLOAD;
case TEMPLATE_PARM_INDEX: return TS_CP_TPI;
case PTRMEM_CST: return TS_CP_PTRMEM;
diff --git a/gcc/cp/decl.h b/gcc/cp/decl.h
index eeac80f29ad..2b917a4d5e2 100644
--- a/gcc/cp/decl.h
+++ b/gcc/cp/decl.h
@@ -38,12 +38,6 @@ extern tree grokdeclarator PARAMS ((tree, tree, enum decl_context, int,
or a chain or parameter decls here. */
extern GTY(()) tree last_function_parms;
-/* A list of objects which have constructors or destructors
- which reside in the global scope. The decl is stored in
- the TREE_VALUE slot and the initializer is stored
- in the TREE_PURPOSE slot. */
-extern GTY(()) tree static_aggregates;
-
#ifdef DEBUG_CP_BINDING_LEVELS
/* Purely for debugging purposes. */
extern int debug_bindings_indentation;
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 248fa2d6725..1c2385635b7 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1,6 +1,6 @@
/* Process declarations and variables for C compiler.
Copyright (C) 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.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -45,6 +45,7 @@ Boston, MA 02111-1307, USA. */
#include "cpplib.h"
#include "target.h"
#include "c-common.h"
+#include "timevar.h"
extern cpp_reader *parse_in;
/* This structure contains information about the initializations
@@ -61,9 +62,8 @@ typedef struct priority_info_s {
static void mark_vtable_entries PARAMS ((tree));
static void grok_function_init PARAMS ((tree, tree));
static int maybe_emit_vtables (tree);
-static int is_namespace_ancestor PARAMS ((tree, tree));
static void add_using_namespace PARAMS ((tree, tree, int));
-static tree ambiguous_decl PARAMS ((tree, tree, tree,int));
+static cxx_binding *ambiguous_decl (tree, cxx_binding *, cxx_binding *,int);
static tree build_anon_union_vars PARAMS ((tree, tree*, int, int));
static int acceptable_java_type PARAMS ((tree));
static void output_vtable_inherit PARAMS ((tree));
@@ -84,10 +84,9 @@ static void finish_static_initialization_or_destruction PARAMS ((tree));
static void generate_ctor_or_dtor_function PARAMS ((int, int));
static int generate_ctor_and_dtor_functions_for_priority
PARAMS ((splay_tree_node, void *));
-static tree prune_vars_needing_no_initialization PARAMS ((tree));
+static tree prune_vars_needing_no_initialization PARAMS ((tree *));
static void write_out_vars PARAMS ((tree));
static void import_export_class PARAMS ((tree));
-static tree key_method PARAMS ((tree));
static tree get_guard_bits PARAMS ((tree));
/* A list of static class variables. This is needed, because a
@@ -674,11 +673,8 @@ 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;
+ int is_template;
if (DECL_USE_TEMPLATE (function)
&& !(TREE_CODE (function) == TEMPLATE_DECL
@@ -695,81 +691,99 @@ 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)
+
+ /* OK, is this a definition of a member template? */
+ is_template = (TREE_CODE (function) == TEMPLATE_DECL
+ || (processing_template_decl - template_class_depth (ctype)));
+
+ 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 = 0;
+ bool is_conv_op;
+ const char *format = NULL;
+
+ for (fndecls = TREE_VEC_ELT (methods, ix);
+ fndecls; fndecls = OVL_NEXT (fndecls))
{
- fndecl = *methods;
- if (fn_name == DECL_NAME (OVL_CURRENT (*methods)))
+ 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);
+
+ /* A member template definition only matches a member template
+ declaration. */
+ if (is_template != (TREE_CODE (fndecl) == TEMPLATE_DECL))
+ continue;
+
+ 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 = 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 +1132,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);
}
@@ -1597,7 +1629,7 @@ comdat_linkage (decl)
DECL_COMMON (decl) = 1;
DECL_INITIAL (decl) = error_mark_node;
}
- else
+ else if (!DECL_EXPLICIT_INSTANTIATION (decl))
{
/* We can't do anything useful; leave vars for explicit
instantiation. */
@@ -1642,29 +1674,6 @@ maybe_make_one_only (decl)
}
}
-/* Returns the virtual function with which the vtable for TYPE is
- emitted, or NULL_TREE if that heuristic is not applicable to TYPE. */
-
-static tree
-key_method (type)
- tree type;
-{
- tree method;
-
- if (TYPE_FOR_JAVA (type)
- || CLASSTYPE_TEMPLATE_INSTANTIATION (type)
- || CLASSTYPE_INTERFACE_KNOWN (type))
- return NULL_TREE;
-
- for (method = TYPE_METHODS (type); method != NULL_TREE;
- method = TREE_CHAIN (method))
- if (DECL_VINDEX (method) != NULL_TREE
- && ! DECL_DECLARED_INLINE_P (method)
- && ! DECL_PURE_VIRTUAL_P (method))
- return method;
-
- return NULL_TREE;
-}
/* Set TREE_PUBLIC and/or DECL_EXTERN on the vtable DECL,
based on TYPE and other static flags.
@@ -1698,7 +1707,7 @@ import_export_vtable (decl, type, final)
functions in our class, or if we come from a template. */
int found = (CLASSTYPE_TEMPLATE_INSTANTIATION (type)
- || key_method (type));
+ || CLASSTYPE_KEY_METHOD (type) != NULL_TREE);
if (final || ! found)
{
@@ -1758,7 +1767,7 @@ import_export_class (ctype)
if (import_export == 0
&& TYPE_POLYMORPHIC_P (ctype))
{
- tree method = key_method (ctype);
+ tree method = CLASSTYPE_KEY_METHOD (ctype);
if (method)
import_export = (DECL_REALLY_EXTERN (method) ? -1 : 1);
}
@@ -2004,6 +2013,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 +2024,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
@@ -2055,8 +2076,7 @@ get_guard (decl)
DECL_ARTIFICIAL (guard) = 1;
TREE_USED (guard) = 1;
- pushdecl_top_level (guard);
- cp_finish_decl (guard, NULL_TREE, NULL_TREE, 0);
+ pushdecl_top_level_and_finish (guard, NULL_TREE);
}
return guard;
}
@@ -2590,21 +2610,23 @@ do_static_destruction (decl)
static tree
prune_vars_needing_no_initialization (vars)
- tree vars;
+ tree *vars;
{
- tree var;
- tree result;
+ tree *var = vars;
+ tree result = NULL_TREE;
- for (var = vars, result = NULL_TREE;
- var;
- var = TREE_CHAIN (var))
+ while (*var)
{
- tree decl = TREE_VALUE (var);
- tree init = TREE_PURPOSE (var);
+ tree t = *var;
+ tree decl = TREE_VALUE (t);
+ tree init = TREE_PURPOSE (t);
/* Deal gracefully with error. */
if (decl == error_mark_node)
- continue;
+ {
+ var = &TREE_CHAIN (t);
+ continue;
+ }
/* The only things that can be initialized are variables. */
my_friendly_assert (TREE_CODE (decl) == VAR_DECL, 19990420);
@@ -2612,17 +2634,25 @@ prune_vars_needing_no_initialization (vars)
/* If this object is not defined, we don't need to do anything
here. */
if (DECL_EXTERNAL (decl))
- continue;
+ {
+ var = &TREE_CHAIN (t);
+ continue;
+ }
/* Also, if the initializer already contains errors, we can bail
out now. */
if (init && TREE_CODE (init) == TREE_LIST
&& value_member (error_mark_node, init))
- continue;
+ {
+ var = &TREE_CHAIN (t);
+ continue;
+ }
/* This variable is going to need initialization and/or
finalization, so we add it to the list. */
- result = tree_cons (init, decl, result);
+ *var = TREE_CHAIN (t);
+ TREE_CHAIN (t) = result;
+ result = t;
}
return result;
@@ -2777,11 +2807,36 @@ finish_file ()
instantiate_pending_templates ();
/* Write out virtual tables as required. Note that writing out
- the virtual table for a template class may cause the
- instantiation of members of that class. */
- for (t = dynamic_classes; t; t = TREE_CHAIN (t))
- if (maybe_emit_vtables (TREE_VALUE (t)))
- reconsider = 1;
+ the virtual table for a template class may cause the
+ instantiation of members of that class. If we write out
+ vtables then we remove the class from our list so we don't
+ have to look at it again. */
+
+ while (keyed_classes != NULL_TREE
+ && maybe_emit_vtables (TREE_VALUE (keyed_classes)))
+ {
+ reconsider = 1;
+ keyed_classes = TREE_CHAIN (keyed_classes);
+ }
+
+ t = keyed_classes;
+ if (t != NULL_TREE)
+ {
+ tree next = TREE_CHAIN (t);
+
+ while (next)
+ {
+ if (maybe_emit_vtables (TREE_VALUE (next)))
+ {
+ reconsider = 1;
+ TREE_CHAIN (t) = TREE_CHAIN (next);
+ }
+ else
+ t = next;
+
+ next = TREE_CHAIN (t);
+ }
+ }
/* Write out needed type info variables. Writing out one variable
might cause others to be needed. */
@@ -2793,8 +2848,7 @@ finish_file ()
aggregates added during the initialization of these will be
initialized in the correct order when we next come around the
loop. */
- vars = prune_vars_needing_no_initialization (static_aggregates);
- static_aggregates = NULL_TREE;
+ vars = prune_vars_needing_no_initialization (&static_aggregates);
if (vars)
{
@@ -2842,12 +2896,11 @@ 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 +2915,32 @@ 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);
-
+ /* If the function has no body, avoid calling
+ import_export_decl. On a system without weak symbols,
+ calling import_export_decl will make an inline template
+ instantiation "static", which will result in errors about
+ the use of undefined functions if there is no body for
+ the function. */
+ if (!DECL_SAVED_TREE (decl))
+ continue;
+
+ import_export_decl (decl);
+
+ /* 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 +2996,20 @@ 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)
+ /* An explicit instantiation can be used to specify
+ that the body is in another unit. It will have
+ already verified there was a definition. */
+ || DECL_EXPLICIT_INSTANTIATION (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 +3361,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
{
@@ -3453,15 +3524,15 @@ build_offset_ref_call_from_tree (tree fn, tree args)
/* This code is not really correct (for example, it does not
handle the case that `A::f' is overloaded), but it is
historically how we have handled this situation. */
- object_addr = build_unary_op (ADDR_EXPR, TREE_OPERAND (fn, 0), 0);
if (TREE_CODE (TREE_OPERAND (fn, 1)) == FIELD_DECL)
fn = resolve_offset_ref (fn);
else
{
+ object_addr = build_unary_op (ADDR_EXPR, TREE_OPERAND (fn, 0), 0);
fn = TREE_OPERAND (fn, 1);
fn = get_member_function_from_ptrfunc (&object_addr, fn);
+ args = tree_cons (NULL_TREE, object_addr, args);
}
- args = tree_cons (NULL_TREE, object_addr, args);
return build_function_call (fn, args);
}
@@ -3585,21 +3656,38 @@ finish_decl_parsing (decl)
}
}
-/* Return 1 if root encloses child. */
+/* Returns true if ROOT (a namespace, class, or function) encloses
+ CHILD. CHILD may be either a class type or a namespace. */
-static int
-is_namespace_ancestor (root, child)
- tree root, child;
+bool
+is_ancestor (tree root, tree child)
{
- if (root == child)
- return 1;
+ my_friendly_assert ((TREE_CODE (root) == NAMESPACE_DECL
+ || TREE_CODE (root) == FUNCTION_DECL
+ || CLASS_TYPE_P (root)), 20030307);
+ my_friendly_assert ((TREE_CODE (child) == NAMESPACE_DECL
+ || TREE_CODE (root) == FUNCTION_DECL
+ || CLASS_TYPE_P (child)),
+ 20030307);
+
+ /* The global namespace encloses everything. */
if (root == global_namespace)
- return 1;
- if (child == global_namespace)
- return 0;
- return is_namespace_ancestor (root, CP_DECL_CONTEXT (child));
+ return true;
+
+ while (true)
+ {
+ /* If we've run out of scopes, stop. */
+ if (!child)
+ return false;
+ /* If we've reached the ROOT, it encloses CHILD. */
+ if (root == child)
+ return true;
+ /* Go out one level. */
+ if (TYPE_P (child))
+ child = TYPE_NAME (child);
+ child = DECL_CONTEXT (child);
+ }
}
-
/* Return the namespace that is the common ancestor
of two given namespaces. */
@@ -3608,9 +3696,11 @@ tree
namespace_ancestor (ns1, ns2)
tree ns1, ns2;
{
- if (is_namespace_ancestor (ns1, ns2))
- return ns1;
- return namespace_ancestor (CP_DECL_CONTEXT (ns1), ns2);
+ timevar_push (TV_NAME_LOOKUP);
+ if (is_ancestor (ns1, ns2))
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, ns1);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP,
+ namespace_ancestor (CP_DECL_CONTEXT (ns1), ns2));
}
/* Insert used into the using list of user. Set indirect_flag if this
@@ -3623,9 +3713,10 @@ add_using_namespace (user, used, indirect)
int indirect;
{
tree t;
+ timevar_push (TV_NAME_LOOKUP);
/* Using oneself is a no-op. */
if (user == used)
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, (void)0);
my_friendly_assert (TREE_CODE (user) == NAMESPACE_DECL, 380);
my_friendly_assert (TREE_CODE (used) == NAMESPACE_DECL, 380);
/* Check if we already have this. */
@@ -3635,7 +3726,7 @@ add_using_namespace (user, used, indirect)
if (!indirect)
/* Promote to direct usage. */
TREE_INDIRECT_USING (t) = 0;
- return;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, (void)0);
}
/* Add used to the user's using list. */
@@ -3657,6 +3748,7 @@ add_using_namespace (user, used, indirect)
/* Tell everyone using us about the new used namespaces. */
for (t = DECL_NAMESPACE_USERS (user); t; t = TREE_CHAIN (t))
add_using_namespace (TREE_PURPOSE (t), used, 1);
+ timevar_pop (TV_NAME_LOOKUP);
}
/* Combines two sets of overloaded functions into an OVERLOAD chain, removing
@@ -3705,15 +3797,11 @@ merge_functions (s1, s2)
XXX In what way should I treat extern declarations?
XXX I don't want to repeat the entire duplicate_decls here */
-static tree
-ambiguous_decl (name, old, new, flags)
- tree name;
- tree old;
- tree new;
- int flags;
+static cxx_binding *
+ambiguous_decl (tree name, cxx_binding *old, cxx_binding *new, int flags)
{
tree val, type;
- my_friendly_assert (old != NULL_TREE, 393);
+ my_friendly_assert (old != NULL, 393);
/* Copy the value. */
val = BINDING_VALUE (new);
if (val)
@@ -3798,14 +3886,13 @@ ambiguous_decl (name, old, new, flags)
which have SCOPE as a common ancestor with the current scope.
Returns zero on errors. */
-int
-lookup_using_namespace (name, val, usings, scope, flags, spacesp)
- tree name, val, usings, scope;
- int flags;
- tree *spacesp;
+bool
+lookup_using_namespace (tree name, cxx_binding *val, tree usings,
+ tree scope, int flags, tree *spacesp)
{
tree iter;
- tree val1;
+ cxx_binding *val1;
+ timevar_push (TV_NAME_LOOKUP);
/* Iterate over all used namespaces in current, searching for using
directives of scope. */
for (iter = usings; iter; iter = TREE_CHAIN (iter))
@@ -3814,37 +3901,42 @@ lookup_using_namespace (name, val, usings, scope, flags, spacesp)
if (spacesp)
*spacesp = tree_cons (TREE_PURPOSE (iter), NULL_TREE,
*spacesp);
- val1 = binding_for_name (name, TREE_PURPOSE (iter));
- /* Resolve ambiguities. */
- val = ambiguous_decl (name, val, val1, flags);
+ val1 = cxx_scope_find_binding_for_name (TREE_PURPOSE (iter), name);
+ /* Resolve possible ambiguities. */
+ if (val1)
+ val = ambiguous_decl (name, val, val1, flags);
}
- return BINDING_VALUE (val) != error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP,
+ BINDING_VALUE (val) != error_mark_node);
}
/* [namespace.qual]
Accepts the NAME to lookup and its qualifying SCOPE.
- Returns the name/type pair found into the CPLUS_BINDING RESULT,
+ Returns the name/type pair found into the cxx_binding *RESULT,
or 0 on error. */
-int
-qualified_lookup_using_namespace (name, scope, result, flags)
- tree name;
- tree scope;
- tree result;
- int flags;
+bool
+qualified_lookup_using_namespace (tree name, tree scope, cxx_binding *result,
+ int flags)
{
/* Maintain a list of namespaces visited... */
tree seen = NULL_TREE;
/* ... and a list of namespace yet to see. */
tree todo = NULL_TREE;
tree usings;
+ timevar_push (TV_NAME_LOOKUP);
/* Look through namespace aliases. */
scope = ORIGINAL_NAMESPACE (scope);
- while (scope && (result != error_mark_node))
+ while (scope && result->value != error_mark_node)
{
- seen = tree_cons (scope, NULL_TREE, seen);
- result = ambiguous_decl (name, result,
- binding_for_name (name, scope), flags);
+ cxx_binding *b = cxx_scope_find_binding_for_name (scope, name);
+ /* Record SCOPE and resolve declaration ambiguities if NAME was
+ bound in SCOPE. */
+ if (b)
+ {
+ seen = tree_cons (scope, NULL_TREE, seen);
+ result = ambiguous_decl (name, result, b, flags);
+ }
if (!BINDING_VALUE (result) && !BINDING_TYPE (result))
/* Consider using directives. */
for (usings = DECL_NAMESPACE_USING (scope); usings;
@@ -3861,7 +3953,7 @@ qualified_lookup_using_namespace (name, scope, result, flags)
else
scope = NULL_TREE; /* If there never was a todo list. */
}
- return result != error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, result->value != error_mark_node);
}
/* [namespace.memdef]/2 */
@@ -3881,7 +3973,7 @@ set_decl_namespace (decl, scope, friendp)
scope = ORIGINAL_NAMESPACE (scope);
/* It is ok for friends to be qualified in parallel space. */
- if (!friendp && !is_namespace_ancestor (current_namespace, scope))
+ if (!friendp && !is_ancestor (current_namespace, scope))
error ("declaration of `%D' not in a namespace surrounding `%D'",
decl, scope);
DECL_CONTEXT (decl) = FROB_CONTEXT (scope);
@@ -3926,19 +4018,20 @@ static tree
decl_namespace (decl)
tree decl;
{
+ timevar_push (TV_NAME_LOOKUP);
if (TYPE_P (decl))
decl = TYPE_STUB_DECL (decl);
while (DECL_CONTEXT (decl))
{
decl = DECL_CONTEXT (decl);
if (TREE_CODE (decl) == NAMESPACE_DECL)
- return decl;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
if (TYPE_P (decl))
decl = TYPE_STUB_DECL (decl);
my_friendly_assert (DECL_P (decl), 390);
}
- return global_namespace;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, global_namespace);
}
/* Return the namespace where the current declaration is declared. */
@@ -3986,7 +4079,7 @@ push_scope (t)
{
if (TREE_CODE (t) == NAMESPACE_DECL)
push_decl_namespace (t);
- else
+ else if (CLASS_TYPE_P (t))
pushclass (t, 2);
}
@@ -3998,7 +4091,7 @@ pop_scope (t)
{
if (TREE_CODE (t) == NAMESPACE_DECL)
pop_decl_namespace ();
- else
+ else if (CLASS_TYPE_P (t))
popclass ();
}
@@ -4164,7 +4257,7 @@ arg_assoc_class (k, type)
/* Only interested in global functions with potentially hidden
(i.e. unqualified) declarations. */
if (TREE_PURPOSE (friends) == error_mark_node && TREE_VALUE (friends)
- && decl_namespace (TREE_VALUE (friends)) == context)
+ && CP_DECL_CONTEXT (TREE_VALUE (friends)) == context)
if (add_function (k, TREE_VALUE (friends)))
return 1;
@@ -4340,6 +4433,10 @@ lookup_arg_dependent (name, fns, args)
struct arg_lookup k;
tree fn = NULL_TREE;
+ if (fns == error_mark_node)
+ fns = NULL_TREE;
+
+ timevar_push (TV_NAME_LOOKUP);
k.name = name;
k.functions = fns;
k.classes = NULL_TREE;
@@ -4354,7 +4451,7 @@ lookup_arg_dependent (name, fns, args)
unqualified_namespace_lookup (name, 0, &k.namespaces);
arg_assoc_args (&k, args);
- return k.functions;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, k.functions);
}
/* Process a namespace-alias declaration. */
@@ -4444,33 +4541,34 @@ do_nonmember_using_decl (scope, name, oldval, oldtype, newval, newtype)
tree oldval, oldtype;
tree *newval, *newtype;
{
- tree decls;
+ cxx_binding decls;
*newval = *newtype = NULL_TREE;
- decls = make_node (CPLUS_BINDING);
- if (!qualified_lookup_using_namespace (name, scope, decls, 0))
+ cxx_binding_clear (&decls);
+ if (!qualified_lookup_using_namespace (name, scope, &decls, 0))
/* Lookup error */
return;
- if (!BINDING_VALUE (decls) && !BINDING_TYPE (decls))
+ if (!decls.value && !decls.type)
{
error ("`%D' not declared", name);
return;
}
/* Check for using functions. */
- if (BINDING_VALUE (decls) && is_overloaded_fn (BINDING_VALUE (decls)))
+ if (decls.value && is_overloaded_fn (decls.value))
{
tree tmp, tmp1;
if (oldval && !is_overloaded_fn (oldval))
{
- duplicate_decls (OVL_CURRENT (BINDING_VALUE (decls)), oldval);
+ if (!DECL_IMPLICIT_TYPEDEF_P (oldval))
+ error ("`%D' is already declared in this scope", name);
oldval = NULL_TREE;
}
*newval = oldval;
- for (tmp = BINDING_VALUE (decls); tmp; tmp = OVL_NEXT (tmp))
+ for (tmp = decls.value; tmp; tmp = OVL_NEXT (tmp))
{
tree new_fn = OVL_CURRENT (tmp);
@@ -4492,21 +4590,27 @@ do_nonmember_using_decl (scope, name, oldval, oldtype, newval, newtype)
else if (compparms (TYPE_ARG_TYPES (TREE_TYPE (new_fn)),
TYPE_ARG_TYPES (TREE_TYPE (old_fn))))
{
- /* If this using declaration introduces a function
- recognized as a built-in, no longer mark it as
- anticipated in this scope. */
- if (DECL_ANTICIPATED (old_fn))
- {
- DECL_ANTICIPATED (old_fn) = 0;
- break;
- }
-
/* There was already a non-using declaration in
this scope with the same parameter types. If both
are the same extern "C" functions, that's ok. */
- if (!decls_match (new_fn, old_fn))
- error ("`%D' is already declared in this scope", name);
- break;
+ if (decls_match (new_fn, old_fn))
+ {
+ /* If the OLD_FN was a builtin, there is now a
+ real declaration. */
+ if (DECL_ANTICIPATED (old_fn))
+ DECL_ANTICIPATED (old_fn) = 0;
+ break;
+ }
+ else if (!DECL_ANTICIPATED (old_fn))
+ {
+ /* If the OLD_FN was really declared, the
+ declarations don't match. */
+ error ("`%D' is already declared in this scope", name);
+ break;
+ }
+
+ /* If the OLD_FN was not really there, just ignore
+ it and keep going. */
}
}
@@ -4524,13 +4628,13 @@ do_nonmember_using_decl (scope, name, oldval, oldtype, newval, newtype)
}
else
{
- *newval = BINDING_VALUE (decls);
- if (oldval)
- duplicate_decls (*newval, oldval);
+ *newval = decls.value;
+ if (oldval && !decls_match (*newval, oldval))
+ error ("`%D' is already declared in this scope", name);
}
- *newtype = BINDING_TYPE (decls);
- if (oldtype && *newtype && oldtype != *newtype)
+ *newtype = decls.type;
+ if (oldtype && *newtype && !same_type_p (oldtype, *newtype))
{
error ("using declaration `%D' introduced ambiguous type `%T'",
name, oldtype);
@@ -4544,13 +4648,16 @@ void
do_toplevel_using_decl (decl)
tree decl;
{
- tree scope, name, binding;
+ tree scope, name;
tree oldval, oldtype, newval, newtype;
+ cxx_binding *binding;
decl = validate_nonmember_using_decl (decl, &scope, &name);
if (decl == NULL_TREE)
return;
-
+
+ /* A multiple using-declaration is valid, so we call binding_for_name,
+ not just cxx_binding_make. */
binding = binding_for_name (name, current_namespace);
oldval = BINDING_VALUE (binding);
@@ -4712,10 +4819,15 @@ mark_used (decl)
tree decl;
{
TREE_USED (decl) = 1;
- if (processing_template_decl)
+ if (processing_template_decl || skip_evaluation)
return;
- if (!skip_evaluation)
- assemble_external (decl);
+
+ 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);
+
+ assemble_external (decl);
/* Is it a synthesized method that needs to be synthesized? */
if (TREE_CODE (decl) == FUNCTION_DECL
@@ -4739,7 +4851,33 @@ mark_used (decl)
&& DECL_LANG_SPECIFIC (decl) && DECL_TEMPLATE_INFO (decl)
&& (!DECL_EXPLICIT_INSTANTIATION (decl)
|| (TREE_CODE (decl) == FUNCTION_DECL && DECL_INLINE (decl))))
- instantiate_decl (decl, /*defer_ok=*/1);
+ {
+ bool defer;
+
+ /* Normally, we put off instantiating functions in order to
+ improve compile times. Maintaining a stack of active
+ functions is expensive, and the inliner knows to
+ instantiate any functions it might need.
+
+ However, if instantiating this function might help us mark
+ the current function TREE_NOTHROW, we go ahead and
+ instantiate it now. */
+ defer = (!flag_exceptions
+ || TREE_CODE (decl) != FUNCTION_DECL
+ /* If the called function can't throw, we don't need to
+ generate its body to find that out. */
+ || TREE_NOTHROW (decl)
+ || !cfun
+ /* If we already know the current function can't throw,
+ then we don't need to work hard to prove it. */
+ || TREE_NOTHROW (current_function_decl)
+ /* If we already know that the current function *can*
+ throw, there's no point in gathering more
+ information. */
+ || cp_function_chain->can_throw);
+
+ instantiate_decl (decl, defer);
+ }
}
/* Helper function for class_head_decl and class_head_defn
@@ -4759,6 +4897,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;
@@ -4803,16 +4942,35 @@ handle_class_head (tag_kind, scope, id, attributes, defn_p, new_type_p)
if (!decl)
{
- decl = TYPE_MAIN_DECL (xref_tag (tag_kind, id, attributes, !defn_p));
+ decl = xref_tag (tag_kind, id, attributes, !defn_p);
+ if (decl == error_mark_node)
+ return error_mark_node;
+ decl = TYPE_MAIN_DECL (decl);
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
@@ -4820,6 +4978,18 @@ handle_class_head (tag_kind, scope, id, attributes, defn_p, new_type_p)
is different to the current scope. */
tree context = CP_DECL_CONTEXT (decl);
+ if (IMPLICIT_TYPENAME_P (context))
+ context = TREE_TYPE (context);
+
+ /* If that scope does not contain the scope in which the
+ class was originally declared, the program is invalid. */
+ if (current && !is_ancestor (current, context))
+ {
+ error ("declaration of `%D' in `%D' which does not "
+ "enclose `%D'", decl, current, CP_DECL_CONTEXT (decl));
+ return NULL_TREE;
+ }
+
*new_type_p = (current != context
&& TREE_CODE (context) != TEMPLATE_TYPE_PARM
&& TREE_CODE (context) != BOUND_TEMPLATE_TEMPLATE_PARM);
@@ -4835,6 +5005,22 @@ handle_class_head (tag_kind, scope, id, attributes, defn_p, new_type_p)
if (!xrefd_p && PROCESSING_REAL_TEMPLATE_DECL_P ())
decl = push_template_decl (decl);
}
+ else
+ {
+ /* For elaborated type specifier in declaration like
+
+ class A::B *a;
+
+ we get an implicit typename here. Let's remove its
+ implicitness so that we don't issue any implicit
+ typename warning later. Note that when defn_p is true,
+ implicitness is still required by begin_class_definition. */
+ if (IMPLICIT_TYPENAME_P (type))
+ decl = TYPE_STUB_DECL (build_typename_type (TYPE_CONTEXT (type),
+ TYPE_IDENTIFIER (type),
+ TYPENAME_TYPE_FULLNAME (type),
+ NULL_TREE));
+ }
return decl;
}
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..ffc44b82590 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -685,6 +685,7 @@ dump_type_prefix (t, flags)
case TYPENAME_TYPE:
case COMPLEX_TYPE:
case VECTOR_TYPE:
+ case TYPEOF_TYPE:
dump_type (t, flags);
padding = before;
break;
@@ -781,6 +782,7 @@ dump_type_suffix (t, flags)
case TYPENAME_TYPE:
case COMPLEX_TYPE:
case VECTOR_TYPE:
+ case TYPEOF_TYPE:
break;
default:
@@ -928,6 +930,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. */
@@ -1629,6 +1650,7 @@ dump_expr (t, flags)
case NEW_EXPR:
{
tree type = TREE_OPERAND (t, 1);
+ tree init = TREE_OPERAND (t, 2);
if (NEW_EXPR_USE_GLOBAL (t))
print_scope_operator (scratch_buffer);
output_add_string (scratch_buffer, "new ");
@@ -1645,10 +1667,17 @@ dump_expr (t, flags)
TREE_OPERAND (type, 1),
integer_one_node))));
dump_type (type, flags);
- if (TREE_OPERAND (t, 2))
+ if (init)
{
print_left_paren (scratch_buffer);
- dump_expr_list (TREE_OPERAND (t, 2), flags);
+ if (TREE_CODE (init) == TREE_LIST)
+ dump_expr_list (init, flags);
+ else if (init == void_zero_node)
+ /* This representation indicates an empty initializer,
+ e.g.: "new int()". */
+ ;
+ else
+ dump_expr (init, flags);
print_right_paren (scratch_buffer);
}
}
@@ -1870,9 +1899,19 @@ dump_expr (t, flags)
}
}
}
- output_add_character (scratch_buffer, '{');
- dump_expr_list (CONSTRUCTOR_ELTS (t), flags);
- output_add_character (scratch_buffer, '}');
+ /* We've gotten an rvalue of the form 'T()'. */
+ else if (TREE_TYPE (t))
+ {
+ dump_type (TREE_TYPE (t), flags);
+ print_left_paren (scratch_buffer);
+ print_right_paren (scratch_buffer);
+ }
+ else
+ {
+ output_add_character (scratch_buffer, '{');
+ dump_expr_list (CONSTRUCTOR_ELTS (t), flags);
+ output_add_character (scratch_buffer, '}');
+ }
break;
case OFFSET_REF:
@@ -2029,6 +2068,10 @@ dump_expr (t, flags)
output_add_string (scratch_buffer, ") break; ");
break;
+ case BASELINK:
+ print_tree_identifier (scratch_buffer, DECL_NAME (get_first_fn (t)));
+ break;
+
case TREE_LIST:
if (TREE_VALUE (t) && TREE_CODE (TREE_VALUE (t)) == FUNCTION_DECL)
{
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index e5b0439c93d..cc9dae93adf 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -108,7 +108,7 @@ cxx_expand_expr (exp, target, tmode, modifier)
case THROW_EXPR:
expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode, 0);
- return NULL;
+ return const0_rtx;
case MUST_NOT_THROW_EXPR:
expand_eh_region_start ();
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c
index 7b718ace0df..9280a09b196 100644
--- a/gcc/cp/friend.c
+++ b/gcc/cp/friend.c
@@ -64,6 +64,10 @@ is_friend (type, supplicant)
if (supplicant == TREE_VALUE (friends))
return 1;
+ /* We haven't completed the instantiation yet. */
+ if (TREE_CODE (supplicant) == TEMPLATE_DECL)
+ return 1;
+
/* Temporarily, we are more lenient to deal with
nested friend functions, for which there can be
more than one FUNCTION_DECL, despite being the
@@ -203,24 +207,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/g++spec.c b/gcc/cp/g++spec.c
index d46244857b2..af30f1c409a 100644
--- a/gcc/cp/g++spec.c
+++ b/gcc/cp/g++spec.c
@@ -178,6 +178,8 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
else if (strcmp (argv[i], "-static-libgcc") == 0
|| strcmp (argv[i], "-static") == 0)
shared_libgcc = 0;
+ else if (DEFAULT_WORD_SWITCH_TAKES_ARG (&argv[i][1]))
+ i++;
else
/* Pass other options through. */
continue;
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 39d4c57047e..279e3b17865 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1,6 +1,6 @@
/* Handle initialization things in C++.
Copyright (C) 1987, 1989, 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 Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -47,7 +47,7 @@ static tree initializing_context PARAMS ((tree));
static void expand_cleanup_for_base PARAMS ((tree, tree));
static tree get_temp_regvar PARAMS ((tree, tree));
static tree dfs_initialize_vtbl_ptrs PARAMS ((tree, void *));
-static tree build_default_init PARAMS ((tree));
+static tree build_default_init PARAMS ((tree, tree));
static tree build_new_1 PARAMS ((tree));
static tree get_cookie_size PARAMS ((tree));
static tree build_dtor_call PARAMS ((tree, special_function_kind, int));
@@ -145,7 +145,7 @@ initialize_vtbl_ptrs (addr)
list = build_tree_list (type, addr);
/* Walk through the hierarchy, initializing the vptr in each base
- class. We do these in pre-order because can't find the virtual
+ class. We do these in pre-order because we can't find the virtual
bases for a class until we've initialized the vtbl for that
class. */
dfs_walk_real (TYPE_BINFO (type), dfs_initialize_vtbl_ptrs,
@@ -159,12 +159,14 @@ initialize_vtbl_ptrs (addr)
that T is a scalar), or a CONSTRUCTOR (in the case that T is an
aggregate). In either case, the value can be used as DECL_INITIAL
for a decl of the indicated TYPE; it is a valid static initializer.
- If STATIC_STORAGE_P is TRUE, initializers are only generated for
- entities for which zero-initialization does not simply mean filling
- the storage with zero bytes. */
+ If NELTS is non-NULL, and TYPE is an ARRAY_TYPE, NELTS is the
+ number of elements in the array. If STATIC_STORAGE_P is TRUE,
+ initializers are only generated for entities for which
+ zero-initialization does not simply mean filling the storage with
+ zero bytes. */
tree
-build_zero_init (tree type, bool static_storage_p)
+build_zero_init (tree type, tree nelts, bool static_storage_p)
{
tree init = NULL_TREE;
@@ -186,6 +188,9 @@ build_zero_init (tree type, bool static_storage_p)
-- if T is a reference type, no initialization is performed. */
+ my_friendly_assert (nelts == NULL_TREE || TREE_CODE (nelts) == INTEGER_CST,
+ 20030618);
+
if (type == error_mark_node)
;
else if (static_storage_p && zero_init_p (type))
@@ -217,6 +222,7 @@ build_zero_init (tree type, bool static_storage_p)
if (static_storage_p && !zero_init_p (TREE_TYPE (field)))
inits = tree_cons (field,
build_zero_init (TREE_TYPE (field),
+ /*nelts=*/NULL_TREE,
static_storage_p),
inits);
@@ -236,11 +242,15 @@ build_zero_init (tree type, bool static_storage_p)
init = build (CONSTRUCTOR, type, NULL_TREE, NULL_TREE);
/* Iterate over the array elements, building initializations. */
inits = NULL_TREE;
- for (index = size_zero_node, max_index = array_type_nelts (type);
+ max_index = nelts ? nelts : array_type_nelts (type);
+ my_friendly_assert (TREE_CODE (max_index) == INTEGER_CST, 20030618);
+
+ for (index = size_zero_node;
!tree_int_cst_lt (max_index, index);
index = size_binop (PLUS_EXPR, index, size_one_node))
inits = tree_cons (index,
- build_zero_init (TREE_TYPE (type),
+ build_zero_init (TREE_TYPE (type),
+ /*nelts=*/NULL_TREE,
static_storage_p),
inits);
CONSTRUCTOR_ELTS (init) = nreverse (inits);
@@ -257,14 +267,17 @@ build_zero_init (tree type, bool static_storage_p)
return init;
}
-/* Build an expression for the default-initialization of an object
- with type T. If initialization T requires calling constructors,
- this function returns NULL_TREE; the caller is responsible for
- arranging for the constructors to be called. */
+/* Build an expression for the default-initialization of an object of
+ the indicated TYPE. If NELTS is non-NULL, and TYPE is an
+ ARRAY_TYPE, NELTS is the number of elements in the array. If
+ initialization of TYPE requires calling constructors, this function
+ returns NULL_TREE; the caller is responsible for arranging for the
+ constructors to be called. */
static tree
-build_default_init (type)
+build_default_init (type, nelts)
tree type;
+ tree nelts;
{
/* [dcl.init]:
@@ -293,12 +306,13 @@ build_default_init (type)
standard says we should have generated would be precisely the
same as that obtained by calling build_zero_init below, so things
work out OK. */
- if (TYPE_NEEDS_CONSTRUCTING (type))
+ if (TYPE_NEEDS_CONSTRUCTING (type)
+ || (nelts && TREE_CODE (nelts) != INTEGER_CST))
return NULL_TREE;
/* At this point, TYPE is either a POD class type, an array of POD
classes, or something even more inoccuous. */
- return build_zero_init (type, /*static_storage_p=*/false);
+ return build_zero_init (type, nelts, /*static_storage_p=*/false);
}
/* Initialize MEMBER, a FIELD_DECL, with INIT, a TREE_LIST of
@@ -352,7 +366,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));
@@ -363,7 +378,7 @@ perform_member_init (tree member, tree init)
{
if (explicit)
{
- init = build_default_init (type);
+ init = build_default_init (type, /*nelts=*/NULL_TREE);
if (TREE_CODE (type) == REFERENCE_TYPE)
warning
("default-initialization of `%#D', which has reference type",
@@ -655,6 +670,8 @@ emit_mem_initializers (tree mem_inits)
initializations should be performed. */
mem_inits = sort_mem_initializers (current_class_type, mem_inits);
+ in_base_initializer = 1;
+
/* Initialize base classes. */
while (mem_inits
&& TREE_CODE (TREE_PURPOSE (mem_inits)) != FIELD_DECL)
@@ -695,10 +712,11 @@ emit_mem_initializers (tree mem_inits)
mem_inits = TREE_CHAIN (mem_inits);
}
+ in_base_initializer = 0;
/* Initialize the vptrs. */
initialize_vtbl_ptrs (current_class_ptr);
-
+
/* Initialize the data members. */
while (mem_inits)
{
@@ -929,16 +947,15 @@ member_init_ok_or_else (field, type, member_name)
/* NAME is a FIELD_DECL, an IDENTIFIER_NODE which names a field, or it
is a _TYPE node or TYPE_DECL which names a base for that type.
- INIT is a parameter list for that field's or base's constructor.
- Check the validity of NAME, and return a TREE_LIST of the base
- _TYPE or FIELD_DECL and the INIT. If NAME is invalid, return
+ Check the validity of NAME, and return either the base _TYPE, base
+ binfo, or the FIELD_DECL of the member. If NAME is invalid, return
NULL_TREE and issue a diagnostic.
An old style unnamed direct single base construction is permitted,
where NAME is NULL. */
tree
-expand_member_init (tree name, tree init)
+expand_member_init (tree name)
{
tree basetype;
tree field;
@@ -975,14 +992,12 @@ expand_member_init (tree name, tree init)
else
basetype = NULL_TREE;
- my_friendly_assert (init != NULL_TREE, 0);
-
if (basetype)
{
tree binfo;
if (current_template_parms)
- return build_tree_list (basetype, init);
+ return basetype;
binfo = lookup_base (current_class_type, basetype,
ba_ignore, NULL);
@@ -1006,7 +1021,7 @@ expand_member_init (tree name, tree init)
}
if (binfo)
- return build_tree_list (binfo, init);
+ return binfo;
}
else
{
@@ -1016,7 +1031,7 @@ expand_member_init (tree name, tree init)
field = name;
if (member_init_ok_or_else (field, current_class_type, name))
- return build_tree_list (field, init);
+ return field;
}
return NULL_TREE;
@@ -1101,7 +1116,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;
@@ -1599,7 +1614,7 @@ build_offset_ref (type, name)
decl = maybe_dummy_object (type, &basebinfo);
- if (BASELINK_P (name))
+ if (BASELINK_P (name) || DECL_P (name))
member = name;
else
{
@@ -2138,6 +2153,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 +2183,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;
@@ -2357,12 +2372,16 @@ build_new_1 (exp)
init_expr = build_indirect_ref (alloc_node, NULL);
if (init == void_zero_node)
- init = build_default_init (full_type);
+ init = build_default_init (full_type, nelts);
else if (init && pedantic && has_array)
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,
@@ -2490,8 +2509,12 @@ build_new_1 (exp)
{
if (check_new)
{
- tree ifexp = cp_build_binary_op (NE_EXPR, alloc_node,
- integer_zero_node);
+ tree nullexp;
+ tree ifexp;
+
+ nullexp = convert (TREE_TYPE (alloc_node),
+ use_cookie ? cookie_size : size_zero_node);
+ ifexp = cp_build_binary_op (NE_EXPR, alloc_node, nullexp);
rval = build_conditional_expr (ifexp, rval, alloc_node);
}
@@ -2686,6 +2709,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 +2722,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 +2743,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 +2937,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/lang-options.h b/gcc/cp/lang-options.h
index 10daa409755..d4748bef159 100644
--- a/gcc/cp/lang-options.h
+++ b/gcc/cp/lang-options.h
@@ -72,10 +72,10 @@ DEFINE_LANG_NAME ("C++")
N_("Export functions even if they can be inlined") },
{ "-fimplicit-templates", "" },
{ "-fno-implicit-templates",
- N_("Only emit explicit template instatiations") },
+ N_("Only emit explicit template instantiations") },
{ "-fimplicit-inline-templates", "" },
{ "-fno-implicit-inline-templates",
- N_("Only emit explicit instatiations of inline templates") },
+ N_("Only emit explicit instantiations of inline templates") },
{ "-finit-priority", "" },
{ "-fno-init-priority", "" },
{ "-fmemoize-lookups", "" },
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index 2e9640c83e1..f7de6d4fb6d 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -36,10 +36,10 @@ Boston, MA 02111-1307, USA. */
"%{E|M|MM:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\
%(cpp_options) %2 %(cpp_debug_options)}\
%{!E:%{!M:%{!MM:\
- %{save-temps:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\
- %(cpp_options) %2 %b.ii \n}\
- cc1plus %{save-temps:-fpreprocessed %b.ii}\
- %{!save-temps:%(cpp_unique_options) %{!no-gcc:-D__GNUG__=%v1}}\
+ %{save-temps|no-integrated-cpp:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\
+ %(cpp_options) %2 %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\
+ cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
+ %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options) %{!no-gcc:-D__GNUG__=%v1}}}\
%(cc1_options) %2 %{+e1*}\
%{!fsyntax-only:%(invoke_as)}}}}",
CPLUSPLUS_CPP_SPEC},
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 4558940d675..6660c848bf2 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -1138,6 +1138,7 @@ do_identifier (token, parsing, args)
register tree id;
int lexing = (parsing == 1 || parsing == 3);
+ timevar_push (TV_NAME_LOOKUP);
if (! lexing)
id = lookup_name (token, 0);
else
@@ -1168,21 +1169,22 @@ do_identifier (token, parsing, args)
being used as a declarator. So we call it again to get the error
message. */
id = lookup_name (token, 0);
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
if (!id || (TREE_CODE (id) == FUNCTION_DECL
&& DECL_ANTICIPATED (id)))
{
if (current_template_parms)
- return build_min_nt (LOOKUP_EXPR, token);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP,
+ build_min_nt (LOOKUP_EXPR, token));
else if (IDENTIFIER_TYPENAME_P (token))
/* A templated conversion operator might exist. */
- return token;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, token);
else
{
unqualified_name_lookup_error (token);
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
}
@@ -1218,7 +1220,7 @@ do_identifier (token, parsing, args)
|| TREE_CODE (id) == USING_DECL))
id = build_min_nt (LOOKUP_EXPR, token);
- return id;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, id);
}
tree
@@ -1226,6 +1228,7 @@ do_scoped_id (token, id)
tree token;
tree id;
{
+ timevar_push (TV_NAME_LOOKUP);
if (!id || (TREE_CODE (id) == FUNCTION_DECL
&& DECL_ANTICIPATED (id)))
{
@@ -1233,7 +1236,7 @@ do_scoped_id (token, id)
{
id = build_min_nt (LOOKUP_EXPR, token);
LOOKUP_EXPR_GLOBAL (id) = 1;
- return id;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, id);
}
if (IDENTIFIER_NAMESPACE_VALUE (token) != error_mark_node)
error ("`::%D' undeclared (first use here)", token);
@@ -1264,11 +1267,11 @@ do_scoped_id (token, id)
{
id = build_min_nt (LOOKUP_EXPR, token);
LOOKUP_EXPR_GLOBAL (id) = 1;
- return id;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, id);
}
/* else just use the decl */
}
- return convert_from_reference (id);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, convert_from_reference (id));
}
tree
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 523db85ab38..fd8a34641f5 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -1,5 +1,5 @@
/* Name mangling for the 3.0 C++ ABI.
- Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Written by Alex Samuel <sameul@codesourcery.com>
This file is part of GNU CC.
@@ -50,11 +50,13 @@
#include "config.h"
#include "system.h"
#include "tree.h"
+#include "tm_p.h"
#include "cp-tree.h"
#include "real.h"
#include "obstack.h"
#include "toplev.h"
#include "varray.h"
+#include "ggc.h"
/* Debugging support. */
@@ -99,11 +101,6 @@ static struct globals
/* The entity that is being mangled. */
tree entity;
- /* We are mangling an internal symbol. It is important to keep those
- involving template parmeters distinct by distinguishing their level
- and, for non-type parms, their type. */
- bool internal_mangling_p;
-
/* True if the mangling will be different in a future version of the
ABI. */
bool need_abi_warning;
@@ -172,6 +169,7 @@ static int hwint_to_ascii PARAMS ((unsigned HOST_WIDE_INT, unsigned int, char *,
static void write_number PARAMS ((unsigned HOST_WIDE_INT, int,
unsigned int));
static void write_integer_cst PARAMS ((tree));
+static void write_real_cst PARAMS ((tree));
static void write_identifier PARAMS ((const char *));
static void write_special_name_constructor PARAMS ((tree));
static void write_special_name_destructor PARAMS ((tree));
@@ -1015,7 +1013,7 @@ write_unqualified_name (decl)
type = TREE_TYPE (fn_type);
}
else
- type = TREE_TYPE (DECL_NAME (decl));
+ type = DECL_CONV_FN_TYPE (decl);
write_conversion_operator_name (type);
}
else if (DECL_OVERLOADED_OPERATOR_P (decl))
@@ -1189,6 +1187,72 @@ write_integer_cst (cst)
}
}
+/* Write out a floating-point literal.
+
+ "Floating-point literals are encoded using the bit pattern of the
+ target processor's internal representation of that number, as a
+ fixed-length lowercase hexadecimal string, high-order bytes first
+ (even if the target processor would store low-order bytes first).
+ The "n" prefix is not used for floating-point literals; the sign
+ bit is encoded with the rest of the number.
+
+ Here are some examples, assuming the IEEE standard representation
+ for floating point numbers. (Spaces are for readability, not
+ part of the encoding.)
+
+ 1.0f Lf 3f80 0000 E
+ -1.0f Lf bf80 0000 E
+ 1.17549435e-38f Lf 0080 0000 E
+ 1.40129846e-45f Lf 0000 0001 E
+ 0.0f Lf 0000 0000 E"
+
+ Caller is responsible for the Lx and the E. */
+static void
+write_real_cst (value)
+ tree value;
+{
+ if (abi_version_at_least (2))
+ {
+ long target_real[4]; /* largest supported float */
+ char buffer[9]; /* eight hex digits in a 32-bit number */
+ int i, limit, dir;
+
+ tree type = TREE_TYPE (value);
+ int words = GET_MODE_BITSIZE (TYPE_MODE (type)) / 32;
+
+ real_to_target (target_real, &TREE_REAL_CST (value),
+ TYPE_MODE (type));
+
+ /* The value in target_real is in the target word order,
+ so we must write it out backward if that happens to be
+ little-endian. write_number cannot be used, it will
+ produce uppercase. */
+ if (FLOAT_WORDS_BIG_ENDIAN)
+ i = 0, limit = words, dir = 1;
+ else
+ i = words - 1, limit = -1, dir = -1;
+
+ for (; i != limit; i += dir)
+ {
+ sprintf (buffer, "%08lx", target_real[i]);
+ write_chars (buffer, 8);
+ }
+ }
+ else
+ {
+ /* In G++ 3.3 and before the REAL_VALUE_TYPE was written out
+ literally. Note that compatibility with 3.2 is impossible,
+ because the old floating-point emulator used a different
+ format for REAL_VALUE_TYPE. */
+ size_t i;
+ for (i = 0; i < sizeof (TREE_REAL_CST (value)); ++i)
+ write_number (((unsigned char *) &TREE_REAL_CST (value))[i],
+ /*unsigned_p*/ 1,
+ /*base*/ 16);
+ G.need_abi_warning = 1;
+ }
+}
+
/* Non-terminal <identifier>.
<identifier> ::= </unqualified source code identifier> */
@@ -2021,11 +2085,7 @@ write_expression (expr)
"Literal arguments, e.g. "A<42L>", are encoded with their type
and value. Negative integer values are preceded with "n"; for
example, "A<-42L>" becomes "1AILln42EE". The bool value false is
- encoded as 0, true as 1. If floating-point arguments are accepted
- as an extension, their values should be encoded using a
- fixed-length lowercase hexadecimal string corresponding to the
- internal representation (IEEE on IA-64), high-order bytes first,
- without leading zeroes. For example: "Lfbff000000E" is -1.0f." */
+ encoded as 0, true as 1." */
static void
write_template_arg_literal (value)
@@ -2052,24 +2112,7 @@ write_template_arg_literal (value)
write_integer_cst (value);
}
else if (TREE_CODE (value) == REAL_CST)
- {
-#ifdef CROSS_COMPILE
- static int explained;
-
- if (!explained)
- {
- sorry ("real-valued template parameters when cross-compiling");
- explained = 1;
- }
-#else
- size_t i;
- for (i = 0; i < sizeof (TREE_REAL_CST (value)); ++i)
- write_number (((unsigned char *)
- &TREE_REAL_CST (value))[i],
- /*unsigned_p=*/1,
- 16);
-#endif
- }
+ write_real_cst (value);
else
abort ();
@@ -2247,15 +2290,6 @@ write_template_param (parm)
if (parm_index > 0)
write_unsigned_number (parm_index - 1);
write_char ('_');
- if (G.internal_mangling_p)
- {
- if (parm_level > 0)
- write_unsigned_number (parm_level - 1);
- write_char ('_');
- if (parm_type)
- write_type (parm_type);
- write_char ('_');
- }
}
/* <template-template-param>
@@ -2582,34 +2616,52 @@ mangle_thunk (fn_decl, offset, vcall_offset)
return get_identifier (result);
}
+/* This hash table maps TYPEs to the IDENTIFIER for a conversion
+ operator to TYPE. The nodes are TREE_LISTs whose TREE_PURPOSE is
+ the TYPE and whose TREE_VALUE is the IDENTIFIER. */
+
+static GTY ((param_is (union tree_node))) htab_t conv_type_names;
+
+/* Hash a node (VAL1) in the table. */
+
+static hashval_t
+hash_type (const void *val)
+{
+ return htab_hash_pointer (TREE_PURPOSE ((tree) val));
+}
+
+/* Compare VAL1 (a node in the table) with VAL2 (a TYPE). */
+
+static int
+compare_type (const void *val1, const void *val2)
+{
+ return TREE_PURPOSE ((tree) val1) == (tree) val2;
+}
+
/* Return an identifier for the mangled unqualified name for a
conversion operator to TYPE. This mangling is not specified by the
ABI spec; it is only used internally. */
-
+
tree
-mangle_conv_op_name_for_type (type)
- tree type;
+mangle_conv_op_name_for_type (const tree type)
{
+ void **slot;
tree identifier;
- const char *mangled_type;
- char *op_name;
-
- /* Build the internal mangling for TYPE. */
- G.internal_mangling_p = true;
- mangled_type = mangle_type_string (type);
- G.internal_mangling_p = false;
+ char buffer[64];
- /* Allocate a temporary buffer for the complete name. */
- op_name = concat ("operator ", mangled_type, NULL);
- /* Find or create an identifier. */
- identifier = get_identifier (op_name);
- /* Done with the temporary buffer. */
- free (op_name);
-
- /* It had better be a unique mangling for the type. */
- my_friendly_assert (!IDENTIFIER_TYPENAME_P (identifier)
- || same_type_p (type, TREE_TYPE (identifier)),
- 20011230);
+ if (conv_type_names == NULL)
+ conv_type_names = htab_create_ggc (31, &hash_type, &compare_type, NULL);
+
+ slot = htab_find_slot_with_hash (conv_type_names, type,
+ htab_hash_pointer (type), INSERT);
+ if (*slot)
+ return TREE_VALUE ((tree) *slot);
+
+ /* Create a unique name corresponding to TYPE. */
+ sprintf (buffer, "operator %lu",
+ (unsigned long) htab_elements (conv_type_names));
+ identifier = get_identifier (buffer);
+ *slot = build_tree_list (type, identifier);
/* Set bits on the identifier so we know later it's a conversion. */
IDENTIFIER_OPNAME_P (identifier) = 1;
@@ -2678,3 +2730,4 @@ write_java_integer_type_codes (type)
abort ();
}
+#include "gt-cp-mangle.h"
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 8a905b21b75..16682af72bf 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. */
@@ -439,6 +441,9 @@ use_thunk (thunk_fndecl, emit_p)
assemble_end_function (thunk_fndecl, fnname);
current_function_decl = 0;
cfun = 0;
+ /* Because init_function_start increments this, we must
+ decrement it. */
+ immediate_size_expand--;
TREE_ASM_WRITTEN (thunk_fndecl) = 1;
}
else
diff --git a/gcc/cp/operators.def b/gcc/cp/operators.def
index b3e20d66239..42e4a4742c9 100644
--- a/gcc/cp/operators.def
+++ b/gcc/cp/operators.def
@@ -40,7 +40,7 @@ Boston, MA 02111-1307, USA. */
assignment operators, the same tree-codes are reused; i.e.,
`operator +' will also have PLUS_EXPR as its CODE.
- NEW_MANGLING
+ MANGLING
The mangling prefix for the operator, as a C string, and as
mangled under the new ABI. For `operator +', for example, this
@@ -127,7 +127,7 @@ DEF_SIMPLE_OPERATOR ("->", COMPONENT_REF, "pt", 2)
DEF_SIMPLE_OPERATOR ("[]", ARRAY_REF, "ix", 2)
DEF_SIMPLE_OPERATOR ("++", POSTINCREMENT_EXPR, "pp", 2)
DEF_SIMPLE_OPERATOR ("--", POSTDECREMENT_EXPR, "mm", 2)
-/* These are extensions. */
+/* These operators are GNU extensions. */
DEF_SIMPLE_OPERATOR ("<?", MIN_EXPR, "v23min", 2)
DEF_SIMPLE_OPERATOR (">?", MAX_EXPR, "v23max", 2)
/* This one is needed for mangling. */
@@ -145,6 +145,9 @@ DEF_ASSN_OPERATOR ("|=", BIT_IOR_EXPR, "oR", 2)
DEF_ASSN_OPERATOR ("^=", BIT_XOR_EXPR, "eO", 2)
DEF_ASSN_OPERATOR ("<<=", LSHIFT_EXPR, "lS", 2)
DEF_ASSN_OPERATOR (">>=", RSHIFT_EXPR, "rS", 2)
+/* These operators are GNU extensions. */
+DEF_ASSN_OPERATOR ("<?=", MIN_EXPR, "v23miN", 2);
+DEF_ASSN_OPERATOR (">?=", MAX_EXPR, "v23maX", 2);
/* Ternary operators. */
DEF_SIMPLE_OPERATOR ("?:", COND_EXPR, "qu", 3)
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 6fbcc2be192..654d4cd302a 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -165,6 +165,7 @@ maybe_clone_body (fn)
/* Update CLONE's source position information to match FN's. */
DECL_SOURCE_LOCATION (clone) = DECL_SOURCE_LOCATION (fn);
DECL_INLINE (clone) = DECL_INLINE (fn);
+ DID_INLINE_FUNC (clone) = DID_INLINE_FUNC (fn);
DECL_DECLARED_INLINE_P (clone) = DECL_DECLARED_INLINE_P (fn);
DECL_COMDAT (clone) = DECL_COMDAT (fn);
DECL_WEAK (clone) = DECL_WEAK (fn);
@@ -264,6 +265,9 @@ maybe_clone_body (fn)
/* Clean up. */
splay_tree_delete (decl_map);
+ /* The clone can throw iff the original function can throw. */
+ cp_function_chain->can_throw = !TREE_NOTHROW (fn);
+
/* Now, expand this function into RTL, if appropriate. */
finish_function (0);
BLOCK_ABSTRACT_ORIGIN (DECL_INITIAL (clone)) = DECL_INITIAL (fn);
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index 0be461eada5..8502bc4c37b 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
@@ -441,7 +441,7 @@ check_class_key (key, aggr)
%type <itype> new delete
/* %type <ttype> primary_no_id */
%type <ttype> maybe_parmlist
-%type <ttype> member_init
+%type <ttype> begin_member_init member_init
%type <ftype> member_init_list
%type <ttype> template_parm_header template_spec_header template_header
%type <ttype> template_parm_list template_parm
@@ -976,34 +976,35 @@ member_init_list:
| member_init_list error
;
-member_init:
- '(' nonnull_exprlist ')'
+begin_member_init:
+ /* empty */
{
- if (current_class_name)
+ if (current_class_name)
pedwarn ("anachronistic old style base class initializer");
- $$ = expand_member_init (NULL_TREE, $2);
+ $$ = expand_member_init (NULL_TREE);
+ in_base_initializer = $$ && !DECL_P ($$);
}
- | LEFT_RIGHT
- {
- if (current_class_name)
- pedwarn ("anachronistic old style base class initializer");
- $$ = expand_member_init (NULL_TREE,
- void_type_node);
- }
- | notype_identifier '(' nonnull_exprlist ')'
- { $$ = expand_member_init ($1, $3); }
- | notype_identifier LEFT_RIGHT
- { $$ = expand_member_init ($1, void_type_node); }
- | nonnested_type '(' nonnull_exprlist ')'
- { $$ = expand_member_init ($1, $3); }
- | nonnested_type LEFT_RIGHT
- { $$ = expand_member_init ($1, void_type_node); }
- | typename_sub '(' nonnull_exprlist ')'
- { $$ = expand_member_init ($1, $3); }
- | typename_sub LEFT_RIGHT
- { $$ = expand_member_init ($1, void_type_node); }
+ | notype_identifier
+ { $$ = expand_member_init ($1);
+ in_base_initializer = $$ && !DECL_P ($$); }
+ | nonnested_type
+ { $$ = expand_member_init ($1);
+ in_base_initializer = $$ && !DECL_P ($$); }
+ | typename_sub
+ { $$ = expand_member_init ($1);
+ in_base_initializer = $$ && !DECL_P ($$); }
+ ;
+
+member_init:
+ begin_member_init '(' nonnull_exprlist ')'
+ { in_base_initializer = 0;
+ $$ = $1 ? build_tree_list ($1, $3) : NULL_TREE; }
+ | begin_member_init LEFT_RIGHT
+ { in_base_initializer = 0;
+ $$ = $1 ? build_tree_list ($1, void_type_node) : NULL_TREE; }
| error
- { $$ = NULL_TREE; }
+ { in_base_initializer = 0;
+ $$ = NULL_TREE; }
;
identifier:
@@ -2327,10 +2328,18 @@ structsp:
tree type = TREE_TYPE ($1.t);
if (TREE_CODE (type) == TYPENAME_TYPE)
- /* In a definition of a member class template,
- we will get here with an implicit typename,
- a TYPENAME_TYPE with a type. */
- type = TREE_TYPE (type);
+ {
+ if (IMPLICIT_TYPENAME_P (type))
+ /* In a definition of a member class template,
+ we will get here with an implicit typename,
+ a TYPENAME_TYPE with a type. */
+ type = TREE_TYPE (type);
+ else
+ {
+ error ("qualified name does not name a class");
+ type = error_mark_node;
+ }
+ }
maybe_process_partial_specialization (type);
xref_basetypes (type, $2);
}
@@ -3830,7 +3839,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 +3926,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 +3998,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)); }
;
@@ -4030,17 +4040,15 @@ static tree
parse_scoped_id (token)
tree token;
{
- tree id;
-
- id = make_node (CPLUS_BINDING);
- if (!qualified_lookup_using_namespace (token, global_namespace, id, 0))
- id = NULL_TREE;
- else
- id = BINDING_VALUE (id);
+ cxx_binding binding;
+
+ cxx_binding_clear (&binding);
+ if (!qualified_lookup_using_namespace (token, global_namespace, &binding, 0))
+ binding.value = NULL;
if (yychar == YYEMPTY)
yychar = yylex();
- return do_scoped_id (token, id);
+ return do_scoped_id (token, binding.value);
}
/* AGGR may be either a type node (like class_type_node) or a
@@ -4117,72 +4125,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 +4145,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..8d6d9103d2c 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));
+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,87 @@ 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;
+ }
+ }
+
+ if (!context)
+ context = DECL_CONTEXT (t);
+ if (context && TYPE_P (context))
+ push_nested_class (context, 2);
+ else
+ push_to_top_level ();
+
+ if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t))
+ {
+ saved_access_scope = tree_cons
+ (NULL_TREE, current_function_decl, saved_access_scope);
+ current_function_decl = t;
+ }
+}
+
+/* Like push_access_scope_real, but always uses DECL_CONTEXT. */
+
+void
+push_access_scope (t)
+ tree t;
+{
+ push_access_scope_real (t, NULL_TREE, 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 (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);
+ }
+
+ if (DECL_CLASS_SCOPE_P (t))
+ pop_nested_class ();
+ else
+ pop_from_top_level ();
+}
+
/* 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
@@ -681,8 +767,22 @@ void
maybe_process_partial_specialization (type)
tree type;
{
- if (IS_AGGR_TYPE (type) && CLASSTYPE_USE_TEMPLATE (type))
+ /* TYPE maybe an ERROR_MARK_NODE. */
+ tree context = TYPE_P (type) ? TYPE_CONTEXT (type) : NULL_TREE;
+
+ if (CLASS_TYPE_P (type) && CLASSTYPE_USE_TEMPLATE (type))
{
+ /* This is for ordinary explicit specialization and partial
+ specialization of a template class such as:
+
+ template <> class C<int>;
+
+ or:
+
+ template <class T> class C<T*>;
+
+ Make sure that `C<int>' and `C<T*>' are implicit instantiations. */
+
if (CLASSTYPE_IMPLICIT_INSTANTIATION (type)
&& !COMPLETE_TYPE_P (type))
{
@@ -700,6 +800,62 @@ maybe_process_partial_specialization (type)
else if (CLASSTYPE_TEMPLATE_INSTANTIATION (type))
error ("specialization of `%T' after instantiation", type);
}
+ else if (CLASS_TYPE_P (type)
+ && !CLASSTYPE_USE_TEMPLATE (type)
+ && CLASSTYPE_TEMPLATE_INFO (type)
+ && context && CLASS_TYPE_P (context)
+ && CLASSTYPE_TEMPLATE_INFO (context))
+ {
+ /* This is for an explicit specialization of member class
+ template according to [temp.expl.spec/18]:
+
+ template <> template <class U> class C<int>::D;
+
+ The context `C<int>' must be an implicit instantiation.
+ Otherwise this is just a member class template declared
+ earlier like:
+
+ template <> class C<int> { template <class U> class D; };
+ template <> template <class U> class C<int>::D;
+
+ In the first case, `C<int>::D' is a specialization of `C<T>::D'
+ while in the second case, `C<int>::D' is a primary template
+ and `C<T>::D' may not exist. */
+
+ if (CLASSTYPE_IMPLICIT_INSTANTIATION (context)
+ && !COMPLETE_TYPE_P (type))
+ {
+ tree t;
+
+ if (current_namespace
+ != decl_namespace_context (CLASSTYPE_TI_TEMPLATE (type)))
+ {
+ pedwarn ("specializing `%#T' in different namespace", type);
+ cp_pedwarn_at (" from definition of `%#D'",
+ CLASSTYPE_TI_TEMPLATE (type));
+ }
+
+ /* Check for invalid specialization after instantiation:
+
+ template <> template <> class C<int>::D<int>;
+ template <> template <class U> class C<int>::D; */
+
+ for (t = DECL_TEMPLATE_INSTANTIATIONS
+ (most_general_template (CLASSTYPE_TI_TEMPLATE (type)));
+ t; t = TREE_CHAIN (t))
+ if (TREE_VALUE (t) != type
+ && TYPE_CONTEXT (TREE_VALUE (t)) == context)
+ error ("specialization `%T' after instantiation `%T'",
+ type, TREE_VALUE (t));
+
+ /* Mark TYPE as a specialization. And as a result, we only
+ have one level of template argument for the innermost
+ class template. */
+ SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (type);
+ CLASSTYPE_TI_ARGS (type)
+ = INNERMOST_TEMPLATE_ARGS (CLASSTYPE_TI_ARGS (type));
+ }
+ }
else if (processing_specialization)
error ("explicit specialization of non-template `%T'", type);
}
@@ -1655,6 +1811,18 @@ check_explicit_specialization (declarator, decl, template_count, flags)
return instantiate_template (tmpl, targs);
}
+ /* If we thought that the DECL was a member function, but it
+ turns out to be specializing a static member function,
+ make DECL a static member function as well. We also have
+ to adjust last_function_parms to avoid confusing
+ start_function later. */
+ if (DECL_STATIC_FUNCTION_P (tmpl)
+ && DECL_NONSTATIC_MEMBER_FUNCTION_P (decl))
+ {
+ revert_static_member_fn (decl);
+ last_function_parms = TREE_CHAIN (last_function_parms);
+ }
+
/* If this is a specialization of a member template of a
template class. In we want to return the TEMPLATE_DECL,
not the specialization of it. */
@@ -1665,16 +1833,6 @@ check_explicit_specialization (declarator, decl, template_count, flags)
return tmpl;
}
- /* If we thought that the DECL was a member function, but it
- turns out to be specializing a static member function,
- make DECL a static member function as well. */
- if (DECL_STATIC_FUNCTION_P (tmpl)
- && DECL_NONSTATIC_MEMBER_FUNCTION_P (decl))
- {
- revert_static_member_fn (decl);
- last_function_parms = TREE_CHAIN (last_function_parms);
- }
-
/* Set up the DECL_TEMPLATE_INFO for DECL. */
DECL_TEMPLATE_INFO (decl) = tree_cons (tmpl, targs, NULL_TREE);
@@ -3341,17 +3499,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. */
@@ -3916,6 +4069,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
tree template = NULL_TREE, parmlist;
tree t;
+ timevar_push (TV_NAME_LOOKUP);
if (TREE_CODE (d1) == IDENTIFIER_NODE)
{
if (IDENTIFIER_VALUE (d1)
@@ -3971,7 +4125,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
{
if (complain & tf_error)
error ("`%T' is not a template", d1);
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
if (TREE_CODE (template) != TEMPLATE_DECL
@@ -3987,7 +4141,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
if (in_decl)
cp_error_at ("for template declaration `%D'", in_decl);
}
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
}
if (DECL_TEMPLATE_TEMPLATE_PARM_P (template))
@@ -4022,10 +4176,10 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
arglist2 = coerce_template_parms (parmlist, arglist, template,
complain, /*require_all_args=*/1);
if (arglist2 == error_mark_node)
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
parm = bind_template_template_parm (TREE_TYPE (template), arglist2);
- return parm;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, parm);
}
else
{
@@ -4112,7 +4266,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
if (arglist == error_mark_node)
/* We were unable to bind the arguments. */
- return error_mark_node;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node);
/* In the scope of a template class, explicit references to the
template class refer to the type of the template, not any
@@ -4149,7 +4303,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
}
}
if (found)
- return found;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, found);
for (tp = &DECL_TEMPLATE_INSTANTIATIONS (template);
*tp;
@@ -4165,7 +4319,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
= DECL_TEMPLATE_INSTANTIATIONS (template);
DECL_TEMPLATE_INSTANTIATIONS (template) = found;
- return TREE_VALUE (found);
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, TREE_VALUE (found));
}
/* This type is a "partial instantiation" if any of the template
@@ -4181,7 +4335,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
found = xref_tag_from_type (TREE_TYPE (template),
DECL_NAME (template),
/*globalize=*/1);
- return found;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, found);
}
context = tsubst (DECL_CONTEXT (template), arglist,
@@ -4233,6 +4387,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. */
@@ -4332,8 +4491,9 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain)
code that generates debugging information will crash. */
DECL_IGNORED_P (TYPE_STUB_DECL (t)) = 1;
- return t;
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
}
+ timevar_pop (TV_NAME_LOOKUP);
}
struct pair_fn_data
@@ -5108,7 +5268,7 @@ instantiate_class_template (type)
TYPE_FIELDS (type) = TYPE_FIELDS (pattern);
TYPE_METHODS (type) = TYPE_METHODS (pattern);
CLASSTYPE_DECL_LIST (type) = CLASSTYPE_DECL_LIST (pattern);
- CLASSTYPE_TAGS (type) = CLASSTYPE_TAGS (pattern);
+ CLASSTYPE_NESTED_UDTS (type) = CLASSTYPE_NESTED_UDTS (pattern);
CLASSTYPE_VBASECLASSES (type) = CLASSTYPE_VBASECLASSES (pattern);
/* Pretend that the type is complete, so that we will look
@@ -5202,6 +5362,10 @@ instantiate_class_template (type)
if (ANON_AGGR_TYPE_P (pattern))
SET_ANON_AGGR_TYPE_P (type);
+ if (DECL_CLASS_SCOPE_P (TYPE_MAIN_DECL (pattern)))
+ /* First instantiate our enclosing class. */
+ complete_type (TYPE_CONTEXT (type));
+
if (TYPE_BINFO_BASETYPES (pattern))
{
tree base_list = NULL_TREE;
@@ -5270,7 +5434,7 @@ instantiate_class_template (type)
{
if (TYPE_P (t))
{
- /* Build new CLASSTYPE_TAGS. */
+ /* Build new CLASSTYPE_NESTED_UDTS. */
tree tag = t;
tree name = TYPE_IDENTIFIER (tag);
@@ -5363,10 +5527,10 @@ instantiate_class_template (type)
/* If it is a TYPE_DECL for a class-scoped ENUMERAL_TYPE,
such a thing will already have been added to the field
list by tsubst_enum in finish_member_declaration in the
- CLASSTYPE_TAGS case above. */
+ CLASSTYPE_NESTED_UDTS case above. */
if (!(TREE_CODE (r) == TYPE_DECL
&& TREE_CODE (TREE_TYPE (r)) == ENUMERAL_TYPE
- && TYPE_CONTEXT (TREE_TYPE (r)) == type))
+ && DECL_ARTIFICIAL (r)))
{
set_current_access_from_decl (r);
finish_member_declaration (r);
@@ -5415,12 +5579,8 @@ instantiate_class_template (type)
--processing_template_decl;
}
else
- {
- /* Build new DECL_FRIENDLIST. */
-
- add_friend (type,
- tsubst_friend_function (t, args));
- }
+ /* Build new DECL_FRIENDLIST. */
+ add_friend (type, tsubst_friend_function (t, args));
}
}
@@ -5456,6 +5616,9 @@ instantiate_class_template (type)
pop_from_top_level ();
pop_tinst_level ();
+ if (TYPE_CONTAINS_VPTR_P (type))
+ keyed_classes = tree_cons (NULL_TREE, type, keyed_classes);
+
return type;
}
@@ -5691,14 +5854,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);
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);
@@ -5874,6 +6037,10 @@ tsubst_decl (t, args, type, complain)
{
tree spec;
+ /* If T is not dependent, just return it. */
+ if (!uses_template_parms (DECL_TI_ARGS (t)))
+ return t;
+
/* Calculate the most general template of which R is a
specialization, and the complete set of arguments used to
specialize R. */
@@ -6793,7 +6960,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 +7962,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 +8044,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)
{
@@ -8055,6 +8222,12 @@ maybe_adjust_types_for_deduction (strict, parm, arg)
*parm = TREE_TYPE (*parm);
result |= UNIFY_ALLOW_OUTER_MORE_CV_QUAL;
}
+
+ /* DR 322. For conversion deduction, remove a reference type on parm
+ too (which has been swapped into ARG). */
+ if (strict == DEDUCE_CONV && TREE_CODE (*arg) == REFERENCE_TYPE)
+ *arg = TREE_TYPE (*arg);
+
return result;
}
@@ -8292,7 +8465,8 @@ resolve_overloaded_unification (tparms, targs, parm, arg, strict,
}
}
}
- else if (TREE_CODE (arg) == OVERLOAD)
+ else if (TREE_CODE (arg) == OVERLOAD
+ || TREE_CODE (arg) == FUNCTION_DECL)
{
for (; arg; arg = OVL_NEXT (arg))
{
@@ -8442,7 +8616,8 @@ try_class_unification (tparms, targs, parm, arg)
tree copy_of_targs;
if (!CLASSTYPE_TEMPLATE_INFO (arg)
- || CLASSTYPE_TI_TEMPLATE (arg) != CLASSTYPE_TI_TEMPLATE (parm))
+ || (most_general_template (CLASSTYPE_TI_TEMPLATE (arg))
+ != most_general_template (CLASSTYPE_TI_TEMPLATE (parm))))
return NULL_TREE;
/* We need to make a new template argument vector for the call to
@@ -8833,6 +9008,12 @@ unify (tparms, targs, parm, arg, strict)
}
else
{
+ /* If ARG is an offset type, we're trying to unify '*T' with
+ 'U C::*', which is ill-formed. See the comment in the
+ POINTER_TYPE case about this ugliness. */
+ if (TREE_CODE (arg) == OFFSET_TYPE)
+ return 1;
+
/* If PARM is `const T' and ARG is only `int', we don't have
a match unless we are allowing additional qualification.
If ARG is `const int' and PARM is just `T' that's OK;
@@ -9191,11 +9372,6 @@ mark_decl_instantiated (result, extern_p)
tree result;
int extern_p;
{
- if (TREE_CODE (result) != FUNCTION_DECL)
- /* The TREE_PUBLIC flag for function declarations will have been
- set correctly by tsubst. */
- TREE_PUBLIC (result) = 1;
-
/* We used to set this unconditionally; we moved that to
do_decl_instantiation so it wouldn't get set on members of
explicit class template instantiations. But we still need to set
@@ -9204,6 +9380,19 @@ mark_decl_instantiated (result, extern_p)
if (extern_p)
SET_DECL_EXPLICIT_INSTANTIATION (result);
+ /* If this entity has already been written out, it's too late to
+ make any modifications. */
+ if (TREE_ASM_WRITTEN (result))
+ return;
+
+ if (TREE_CODE (result) != FUNCTION_DECL)
+ /* The TREE_PUBLIC flag for function declarations will have been
+ set correctly by tsubst. */
+ TREE_PUBLIC (result) = 1;
+
+ /* This might have been set by an earlier implicit instantiation. */
+ DECL_COMDAT (result) = 0;
+
if (! extern_p)
{
DECL_INTERFACE_KNOWN (result) = 1;
@@ -9217,7 +9406,8 @@ mark_decl_instantiated (result, extern_p)
else if (TREE_PUBLIC (result))
maybe_make_one_only (result);
}
- else if (TREE_CODE (result) == FUNCTION_DECL)
+
+ if (TREE_CODE (result) == FUNCTION_DECL)
defer_fn (result);
}
@@ -9508,6 +9698,10 @@ most_general_template (decl)
if (TREE_CODE (DECL_TI_TEMPLATE (decl)) != TEMPLATE_DECL)
break;
+ if (CLASS_TYPE_P (TREE_TYPE (decl))
+ && CLASSTYPE_TEMPLATE_SPECIALIZATION (TREE_TYPE (decl)))
+ break;
+
/* Stop if we run into an explicitly specialized class template. */
if (!DECL_NAMESPACE_SCOPE_P (decl)
&& DECL_CONTEXT (decl)
@@ -9707,6 +9901,18 @@ mark_class_instantiated (t, extern_p)
}
}
+/* Called from do_type_instantiation through binding_table_foreach to
+ do recursive instantiation for the type bound in ENTRY. */
+static void
+bt_instantiate_type_proc (binding_entry entry, void *data)
+{
+ tree storage = *(tree *) data;
+
+ if (IS_AGGR_TYPE (entry->type)
+ && !uses_template_parms (CLASSTYPE_TI_ARGS (entry->type)))
+ do_type_instantiation (TYPE_MAIN_DECL (entry->type), storage, 0);
+}
+
/* Perform an explicit instantiation of template class T. STORAGE, if
non-null, is the RID for extern, inline or static. COMPLAIN is
nonzero if this is called from the parser, zero if called recursively,
@@ -9847,10 +10053,9 @@ do_type_instantiation (t, storage, complain)
instantiate_decl (tmp, /*defer_ok=*/1);
}
- for (tmp = CLASSTYPE_TAGS (t); tmp; tmp = TREE_CHAIN (tmp))
- if (IS_AGGR_TYPE (TREE_VALUE (tmp))
- && !uses_template_parms (CLASSTYPE_TI_ARGS (TREE_VALUE (tmp))))
- do_type_instantiation (TYPE_MAIN_DECL (TREE_VALUE (tmp)), storage, 0);
+ if (CLASSTYPE_NESTED_UDTS (t))
+ binding_table_foreach (CLASSTYPE_NESTED_UDTS (t),
+ bt_instantiate_type_proc, &storage);
}
}
@@ -9897,6 +10102,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_real (gen_tmpl, args, DECL_CONTEXT (decl));
unregistered = unregister_specialization (decl, gen_tmpl);
/* If the DECL was not unregistered then something peculiar is
@@ -9904,11 +10110,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 +10131,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 (decl);
/* The immediate parent of the new template is still whatever it was
before, even though tsubst sets DECL_TI_TEMPLATE up as the most
@@ -9979,6 +10178,9 @@ instantiate_decl (d, defer_ok)
my_friendly_assert (TREE_CODE (d) == FUNCTION_DECL
|| TREE_CODE (d) == VAR_DECL, 0);
+ if (TREE_CODE (d) == VAR_DECL)
+ defer_ok = 0;
+
/* Don't instantiate cloned functions. Instead, instantiate the
functions they cloned. */
if (TREE_CODE (d) == FUNCTION_DECL && DECL_CLONED_FUNCTION_P (d))
@@ -10060,12 +10262,15 @@ instantiate_decl (d, defer_ok)
code_pattern = DECL_TEMPLATE_RESULT (td);
- /* In the case of a friend template whose definition is provided
- outside the class, we may have too many arguments. Drop the ones
- we don't need. */
- args = get_innermost_template_args (gen_args,
- TMPL_PARMS_DEPTH
- (DECL_TEMPLATE_PARMS (td)));
+ if ((DECL_NAMESPACE_SCOPE_P (d) && !DECL_INITIALIZED_IN_CLASS_P (d))
+ || DECL_TEMPLATE_SPECIALIZATION (td))
+ /* In the case of a friend template whose definition is provided
+ outside the class, we may have too many arguments. Drop the
+ ones we don't need. The same is true for specializations. */
+ args = get_innermost_template_args
+ (gen_args, TMPL_PARMS_DEPTH (DECL_TEMPLATE_PARMS (td)));
+ else
+ args = gen_args;
if (TREE_CODE (d) == FUNCTION_DECL)
pattern_defined = (DECL_SAVED_TREE (code_pattern) != NULL_TREE);
@@ -10125,9 +10330,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);
if (TREE_CODE (gen) == FUNCTION_DECL)
{
@@ -10142,8 +10347,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)
@@ -10184,15 +10388,10 @@ instantiate_decl (d, defer_ok)
if (need_push)
push_to_top_level ();
- /* We're now committed to instantiating this template. Mark it as
- instantiated so that recursive calls to instantiate_decl do not
- try to instantiate it again. */
- DECL_TEMPLATE_INSTANTIATED (d) = 1;
-
/* Regenerate the declaration in case the template has been modified
by a subsequent redeclaration. */
regenerate_decl_from_template (d, td);
-
+
/* We already set the file and line above. Reset them now in case
they changed as a result of calling regenerate_decl_from_template. */
lineno = DECL_SOURCE_LINE (d);
@@ -10200,23 +10399,52 @@ instantiate_decl (d, defer_ok)
if (TREE_CODE (d) == VAR_DECL)
{
+ /* Clear out DECL_RTL; whatever was there before may not be right
+ since we've reset the type of the declaration. */
+ SET_DECL_RTL (d, NULL_RTX);
+
DECL_IN_AGGR_P (d) = 0;
- if (DECL_INTERFACE_KNOWN (d))
- DECL_EXTERNAL (d) = ! DECL_NOT_REALLY_EXTERN (d);
+ import_export_decl (d);
+ DECL_EXTERNAL (d) = ! DECL_NOT_REALLY_EXTERN (d);
+
+ if (DECL_EXTERNAL (d))
+ {
+ /* The fact that this code is executing indicates that:
+
+ (1) D is a template static data member, for which a
+ definition is available.
+
+ (2) An implicit or explicit instantiation has occured.
+
+ (3) We are not going to emit a definition of the static
+ data member at this time.
+
+ This situation is peculiar, but it occurs on platforms
+ without weak symbols when performing an implicit
+ instantiation. There, we cannot implicitly instantiate a
+ defined static data member in more than one translation
+ unit, so import_export_decl marks the declaration as
+ external; we must rely on explicit instantiation. */
+ }
else
{
- DECL_EXTERNAL (d) = 1;
- DECL_NOT_REALLY_EXTERN (d) = 1;
+ /* Mark D as instantiated so that recursive calls to
+ instantiate_decl do not try to instantiate it again. */
+ DECL_TEMPLATE_INSTANTIATED (d) = 1;
+ cp_finish_decl (d,
+ (!DECL_INITIALIZED_IN_CLASS_P (d)
+ ? DECL_INITIAL (d) : NULL_TREE),
+ NULL_TREE, 0);
}
- cp_finish_decl (d,
- (!DECL_INITIALIZED_IN_CLASS_P (d)
- ? DECL_INITIAL (d) : NULL_TREE),
- NULL_TREE, 0);
}
else if (TREE_CODE (d) == FUNCTION_DECL)
{
htab_t saved_local_specializations;
+ /* Mark D as instantiated so that recursive calls to
+ instantiate_decl do not try to instantiate it again. */
+ DECL_TEMPLATE_INSTANTIATED (d) = 1;
+
/* Save away the current list, in case we are instantiating one
template from within the body of another. */
saved_local_specializations = local_specializations;
@@ -10228,6 +10456,7 @@ instantiate_decl (d, defer_ok)
NULL);
/* Set up context. */
+ import_export_decl (d);
start_function (NULL_TREE, d, NULL_TREE, SF_PRE_PARSED);
/* Substitute into the body of the function. */
@@ -10239,7 +10468,8 @@ instantiate_decl (d, defer_ok)
local_specializations = saved_local_specializations;
/* Finish the function. */
- expand_body (finish_function (0));
+ d = finish_function (0);
+ expand_body (d);
}
/* We're not deferring instantiation any more. */
@@ -10365,9 +10595,12 @@ tsubst_initializer_list (t, argvec)
decl = tsubst_copy (TREE_PURPOSE (t), argvec, tf_error | tf_warning,
NULL_TREE);
+ decl = expand_member_init (decl);
+ if (decl && !DECL_P (decl))
+ in_base_initializer = 1;
+
init = tsubst_expr (TREE_VALUE (t), argvec, tf_error | tf_warning,
NULL_TREE);
-
if (!init)
;
else if (TREE_CODE (init) == TREE_LIST)
@@ -10376,9 +10609,11 @@ tsubst_initializer_list (t, argvec)
else if (init != void_type_node)
init = convert_from_reference (init);
- init = expand_member_init (decl, init);
- if (init)
+ in_base_initializer = 0;
+
+ if (decl)
{
+ init = build_tree_list (decl, init);
TREE_CHAIN (init) = inits;
inits = init;
}
@@ -10483,8 +10718,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);
/* Now, do the (partial) substitution to figure out the
appropriate function type. */
@@ -10497,8 +10731,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/ptree.c b/gcc/cp/ptree.c
index f40e412726c..6a7b26cbbdc 100644
--- a/gcc/cp/ptree.c
+++ b/gcc/cp/ptree.c
@@ -157,15 +157,23 @@ cxx_print_type (file, node, indent)
}
}
+static void
+cxx_print_binding (FILE *stream, cxx_binding *binding, const char *prefix)
+{
+ fprintf (stream, "%s <", prefix);
+ fprintf (stream, HOST_PTR_PRINTF, (char *) binding);
+ fprintf (stream, ">");
+}
+
void
cxx_print_identifier (file, node, indent)
FILE *file;
tree node;
int indent;
{
- print_node (file, "bindings", IDENTIFIER_NAMESPACE_BINDINGS (node), indent + 4);
+ cxx_print_binding (file, IDENTIFIER_NAMESPACE_BINDINGS (node), "bindings");
print_node (file, "class", IDENTIFIER_CLASS_VALUE (node), indent + 4);
- print_node (file, "local bindings", IDENTIFIER_BINDING (node), indent + 4);
+ cxx_print_binding (file, IDENTIFIER_BINDING (node), "local bindings");
print_node (file, "label", IDENTIFIER_LABEL_VALUE (node), indent + 4);
print_node (file, "template", IDENTIFIER_TEMPLATE (node), indent + 4);
print_node (file, "implicit", IDENTIFIER_IMPLICIT_DECL (node), indent + 4);
@@ -180,12 +188,6 @@ cxx_print_xnode (file, node, indent)
{
switch (TREE_CODE (node))
{
- case CPLUS_BINDING:
- fprintf (file, " scope ");
- fprintf (file, HOST_PTR_PRINTF, BINDING_SCOPE (node));
- print_node (file, "value", BINDING_VALUE (node), indent+4);
- print_node (file, "chain", TREE_CHAIN (node), indent+4);
- break;
case OVERLOAD:
print_node (file, "function", OVL_FUNCTION (node), indent+4);
print_node (file, "chain", TREE_CHAIN (node), indent+4);
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 7540b5c0e72..7b4a248f056 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -167,7 +167,7 @@ throw_bad_cast ()
fn = push_throw_library_fn (fn, build_function_type (ptr_type_node,
void_list_node));
- return build_call (fn, NULL_TREE);
+ return build_cxx_call (fn, NULL_TREE, NULL_TREE);
}
static tree
@@ -183,7 +183,7 @@ throw_bad_typeid ()
fn = push_throw_library_fn (fn, t);
}
- return build_call (fn, NULL_TREE);
+ return build_cxx_call (fn, NULL_TREE, NULL_TREE);
}
/* Return a pointer to type_info function associated with the expression EXP.
@@ -352,9 +352,8 @@ get_tinfo_decl (type)
DECL_EXTERNAL (d) = 1;
SET_DECL_ASSEMBLER_NAME (d, name);
DECL_COMDAT (d) = 1;
- cp_finish_decl (d, NULL_TREE, NULL_TREE, 0);
- pushdecl_top_level (d);
+ pushdecl_top_level_and_finish (d, NULL_TREE);
if (CLASS_TYPE_P (type))
CLASSTYPE_TYPEINFO_VAR (TYPE_MAIN_VARIANT (type)) = d;
@@ -653,7 +652,7 @@ build_dynamic_cast_1 (type, expr)
pop_nested_namespace (ns);
dynamic_cast_node = dcast_fn;
}
- result = build_call (dcast_fn, elems);
+ result = build_cxx_call (dcast_fn, elems, elems);
if (tc == REFERENCE_TYPE)
{
@@ -768,8 +767,7 @@ tinfo_base_init (desc, target)
SET_DECL_ASSEMBLER_NAME (name_decl,
mangle_typeinfo_string_for_type (target));
DECL_INITIAL (name_decl) = name_string;
- cp_finish_decl (name_decl, name_string, NULL_TREE, 0);
- pushdecl_top_level (name_decl);
+ pushdecl_top_level_and_finish (name_decl, name_string);
}
vtable_ptr = TINFO_VTABLE_DECL (desc);
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index fefd11b8b16..7aa811299bd 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -1,7 +1,7 @@
/* Breadth-first and depth-first routines for
searching multiple-inheritance lattice for GNU C++.
Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2002 Free Software Foundation, Inc.
+ 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -80,7 +80,6 @@ struct vbase_info
tree inits;
};
-static tree lookup_field_1 PARAMS ((tree, tree));
static int is_subobject_of_p PARAMS ((tree, tree, tree));
static int is_subobject_of_p_1 PARAMS ((tree, tree, tree));
static tree dfs_check_overlap PARAMS ((tree, void *));
@@ -453,9 +452,8 @@ get_dynamic_cast_base_type (subtype, target)
figure out whether it can access this field. (Since it is only one
level, this is reasonable.) */
-static tree
-lookup_field_1 (type, name)
- tree type, name;
+tree
+lookup_field_1 (tree type, tree name, bool want_type)
{
register tree field;
@@ -492,14 +490,28 @@ lookup_field_1 (type, name)
lo = i + 1;
else
{
+ field = NULL_TREE;
+
/* We might have a nested class and a field with the
same name; we sorted them appropriately via
- field_decl_cmp, so just look for the last field with
- this name. */
- while (i + 1 < hi
- && DECL_NAME (fields[i+1]) == name)
- ++i;
- return fields[i];
+ field_decl_cmp, so just look for the first or last
+ field with this name. */
+ if (want_type)
+ {
+ do
+ field = fields[i--];
+ while (i >= lo && DECL_NAME (fields[i]) == name);
+ if (TREE_CODE (field) != TYPE_DECL
+ && !DECL_CLASS_TEMPLATE_P (field))
+ field = NULL_TREE;
+ }
+ else
+ {
+ do
+ field = fields[i++];
+ while (i < hi && DECL_NAME (fields[i]) == name);
+ }
+ return field;
}
}
return NULL_TREE;
@@ -510,7 +522,7 @@ lookup_field_1 (type, name)
#ifdef GATHER_STATISTICS
n_calls_lookup_field_1++;
#endif /* GATHER_STATISTICS */
- while (field)
+ for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
{
#ifdef GATHER_STATISTICS
n_fields_searched++;
@@ -519,7 +531,7 @@ lookup_field_1 (type, name)
if (DECL_NAME (field) == NULL_TREE
&& ANON_AGGR_TYPE_P (TREE_TYPE (field)))
{
- tree temp = lookup_field_1 (TREE_TYPE (field), name);
+ tree temp = lookup_field_1 (TREE_TYPE (field), name, want_type);
if (temp)
return temp;
}
@@ -529,10 +541,13 @@ lookup_field_1 (type, name)
to return a USING_DECL, and the rest of the compiler can't
handle it. Once the class is defined, these are purged
from TYPE_FIELDS anyhow; see handle_using_decl. */
- ;
- else if (DECL_NAME (field) == name)
+ continue;
+
+ if (DECL_NAME (field) == name
+ && (!want_type
+ || TREE_CODE (field) == TYPE_DECL
+ || DECL_CLASS_TEMPLATE_P (field)))
return field;
- field = TREE_CHAIN (field);
}
/* Not found. */
if (name == vptr_identifier)
@@ -1003,9 +1018,15 @@ void
type_access_control (type, val)
tree type, val;
{
+ /* The check processing_specialization is here because the parser in 3.3
+ does not set current_class_type while parsing class head of class
+ template specialization. Access checking, if performed, will be
+ evaluated in the wrong context so we disable it here. This doesn't
+ apply to the new parser in 3.4. */
if (val == NULL_TREE
|| (TREE_CODE (val) != TEMPLATE_DECL && TREE_CODE (val) != TYPE_DECL)
- || ! DECL_CLASS_SCOPE_P (val))
+ || ! DECL_CLASS_SCOPE_P (val)
+ || processing_specialization)
return;
if (type_lookups == error_mark_node)
@@ -1288,7 +1309,7 @@ lookup_field_r (binfo, data)
if (!nval)
/* Look for a data member or type. */
- nval = lookup_field_1 (type, lfi->name);
+ nval = lookup_field_1 (type, lfi->name, lfi->want_type);
/* If there is no declaration with the indicated name in this type,
then there's nothing to do. */
@@ -1313,11 +1334,12 @@ lookup_field_r (binfo, data)
}
else
nval = NULL_TREE;
- if (!nval)
+ if (!nval && CLASSTYPE_NESTED_UDTS (type) != NULL)
{
- nval = purpose_member (lfi->name, CLASSTYPE_TAGS (type));
- if (nval)
- nval = TYPE_MAIN_DECL (TREE_VALUE (nval));
+ binding_entry e = binding_table_find (CLASSTYPE_NESTED_UDTS (type),
+ lfi->name);
+ if (e != NULL)
+ nval = TYPE_MAIN_DECL (e->type);
else
return NULL_TREE;
}
@@ -1464,7 +1486,7 @@ lookup_member (xbasetype, name, protect, want_type)
&& IDENTIFIER_CLASS_VALUE (name))
{
tree field = IDENTIFIER_CLASS_VALUE (name);
- if (TREE_CODE (field) != FUNCTION_DECL
+ if (! is_overloaded_fn (field)
&& ! (want_type && TREE_CODE (field) != TYPE_DECL))
/* We're in the scope of this class, and the value has already
been looked up. Just return the cached value. */
@@ -1580,95 +1602,208 @@ lookup_fnfields (xbasetype, name, protect)
return rval;
}
+/* Try to find NAME inside a nested class. */
+
+tree
+lookup_nested_field (name, complain)
+ tree name;
+ int complain;
+{
+ register tree t;
+
+ tree id = NULL_TREE;
+ if (TYPE_MAIN_DECL (current_class_type))
+ {
+ /* Climb our way up the nested ladder, seeing if we're trying to
+ modify a field in an enclosing class. If so, we should only
+ be able to modify if it's static. */
+ for (t = TYPE_MAIN_DECL (current_class_type);
+ t && DECL_CONTEXT (t);
+ t = TYPE_MAIN_DECL (DECL_CONTEXT (t)))
+ {
+ if (TREE_CODE (DECL_CONTEXT (t)) != RECORD_TYPE)
+ break;
+
+ /* N.B.: lookup_field will do the access checking for us */
+ id = lookup_field (DECL_CONTEXT (t), name, complain, 0);
+ if (id == error_mark_node)
+ {
+ id = NULL_TREE;
+ continue;
+ }
+
+ if (id != NULL_TREE)
+ {
+ if (TREE_CODE (id) == FIELD_DECL
+ && ! TREE_STATIC (id)
+ && TREE_TYPE (id) != error_mark_node)
+ {
+ if (complain)
+ {
+ /* At parse time, we don't want to give this error, since
+ we won't have enough state to make this kind of
+ decision properly. But there are times (e.g., with
+ enums in nested classes) when we do need to call
+ this fn at parse time. So, in those cases, we pass
+ complain as a 0 and just return a NULL_TREE. */
+ error ("assignment to non-static member `%D' of enclosing class `%T'",
+ id, DECL_CONTEXT (t));
+ /* Mark this for do_identifier(). It would otherwise
+ claim that the variable was undeclared. */
+ TREE_TYPE (id) = error_mark_node;
+ }
+ else
+ {
+ id = NULL_TREE;
+ continue;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ return id;
+}
+
+/* Return the index in the CLASSTYPE_METHOD_VEC for CLASS_TYPE
+ corresponding to "operator TYPE ()", or -1 if there is no such
+ operator. Only CLASS_TYPE itself is searched; this routine does
+ not scan the base classes of CLASS_TYPE. */
+
+static int
+lookup_conversion_operator (tree class_type, tree type)
+{
+ int pass;
+ int i;
+
+ tree methods = CLASSTYPE_METHOD_VEC (class_type);
+
+ for (pass = 0; pass < 2; ++pass)
+ for (i = CLASSTYPE_FIRST_CONVERSION_SLOT;
+ i < TREE_VEC_LENGTH (methods);
+ ++i)
+ {
+ tree fn = TREE_VEC_ELT (methods, i);
+ /* The size of the vector may have some unused slots at the
+ end. */
+ if (!fn)
+ break;
+
+ /* All the conversion operators come near the beginning of the
+ class. Therefore, if FN is not a conversion operator, there
+ is no matching conversion operator in CLASS_TYPE. */
+ fn = OVL_CURRENT (fn);
+ if (!DECL_CONV_FN_P (fn))
+ break;
+
+ if (pass == 0)
+ {
+ /* On the first pass we only consider exact matches. If
+ the types match, this slot is the one where the right
+ conversion operators can be found. */
+ if (TREE_CODE (fn) != TEMPLATE_DECL
+ && same_type_p (DECL_CONV_FN_TYPE (fn), type))
+ return i;
+ }
+ else
+ {
+ /* On the second pass we look for template conversion
+ operators. It may be possible to instantiate the
+ template to get the type desired. All of the template
+ conversion operators share a slot. By looking for
+ templates second we ensure that specializations are
+ preferred over templates. */
+ if (TREE_CODE (fn) == TEMPLATE_DECL)
+ return i;
+ }
+ }
+
+ return -1;
+}
+
/* TYPE is a class type. Return the index of the fields within
the method vector with name NAME, or -1 is no such field exists. */
int
-lookup_fnfields_1 (type, name)
- tree type, name;
+lookup_fnfields_1 (tree type, tree name)
{
- tree method_vec = (CLASS_TYPE_P (type)
- ? CLASSTYPE_METHOD_VEC (type)
- : NULL_TREE);
+ tree method_vec;
+ tree *methods;
+ tree tmp;
+ int i;
+ int len;
- if (method_vec != 0)
- {
- register int i;
- register tree *methods = &TREE_VEC_ELT (method_vec, 0);
- int len = TREE_VEC_LENGTH (method_vec);
- tree tmp;
+ if (!CLASS_TYPE_P (type))
+ return -1;
+
+ method_vec = CLASSTYPE_METHOD_VEC (type);
+
+ if (!method_vec)
+ return -1;
+
+ methods = &TREE_VEC_ELT (method_vec, 0);
+ len = TREE_VEC_LENGTH (method_vec);
#ifdef GATHER_STATISTICS
- n_calls_lookup_fnfields_1++;
+ n_calls_lookup_fnfields_1++;
#endif /* GATHER_STATISTICS */
- /* Constructors are first... */
- if (name == ctor_identifier)
- return (methods[CLASSTYPE_CONSTRUCTOR_SLOT]
- ? CLASSTYPE_CONSTRUCTOR_SLOT : -1);
- /* and destructors are second. */
- if (name == dtor_identifier)
- return (methods[CLASSTYPE_DESTRUCTOR_SLOT]
- ? CLASSTYPE_DESTRUCTOR_SLOT : -1);
-
- for (i = CLASSTYPE_FIRST_CONVERSION_SLOT;
- i < len && methods[i];
- ++i)
+ /* Constructors are first... */
+ if (name == ctor_identifier)
+ return (methods[CLASSTYPE_CONSTRUCTOR_SLOT]
+ ? CLASSTYPE_CONSTRUCTOR_SLOT : -1);
+ /* and destructors are second. */
+ if (name == dtor_identifier)
+ return (methods[CLASSTYPE_DESTRUCTOR_SLOT]
+ ? CLASSTYPE_DESTRUCTOR_SLOT : -1);
+ if (IDENTIFIER_TYPENAME_P (name))
+ return lookup_conversion_operator (type, TREE_TYPE (name));
+
+ /* Skip the conversion operators. */
+ i = CLASSTYPE_FIRST_CONVERSION_SLOT;
+ while (i < len && methods[i] && DECL_CONV_FN_P (OVL_CURRENT (methods[i])))
+ i++;
+
+ /* If the type is complete, use binary search. */
+ if (COMPLETE_TYPE_P (type))
+ {
+ int lo = i;
+ int hi = len;
+
+ while (lo < hi)
{
+ i = (lo + hi) / 2;
+
#ifdef GATHER_STATISTICS
n_outer_fields_searched++;
#endif /* GATHER_STATISTICS */
- tmp = OVL_CURRENT (methods[i]);
- if (DECL_NAME (tmp) == name)
+ tmp = methods[i];
+ /* This slot may be empty; we allocate more slots than we
+ need. In that case, the entry we're looking for is
+ closer to the beginning of the list. */
+ if (tmp)
+ tmp = DECL_NAME (OVL_CURRENT (tmp));
+ if (!tmp || tmp > name)
+ hi = i;
+ else if (tmp < name)
+ lo = i + 1;
+ else
return i;
-
- /* If the type is complete and we're past the conversion ops,
- switch to binary search. */
- if (! DECL_CONV_FN_P (tmp)
- && COMPLETE_TYPE_P (type))
- {
- int lo = i + 1, hi = len;
-
- while (lo < hi)
- {
- i = (lo + hi) / 2;
-
+ }
+ }
+ else
+ for (; i < len && methods[i]; ++i)
+ {
#ifdef GATHER_STATISTICS
- n_outer_fields_searched++;
+ n_outer_fields_searched++;
#endif /* GATHER_STATISTICS */
- tmp = DECL_NAME (OVL_CURRENT (methods[i]));
-
- if (tmp > name)
- hi = i;
- else if (tmp < name)
- lo = i + 1;
- else
- return i;
- }
- break;
- }
- }
-
- /* If we didn't find it, it might have been a template
- conversion operator to a templated type. If there are any,
- such template conversion operators will all be overloaded on
- the first conversion slot. (Note that we don't look for this
- case above so that we will always find specializations
- first.) */
- if (IDENTIFIER_TYPENAME_P (name))
- {
- i = CLASSTYPE_FIRST_CONVERSION_SLOT;
- if (i < len && methods[i])
- {
- tmp = OVL_CURRENT (methods[i]);
- if (TREE_CODE (tmp) == TEMPLATE_DECL
- && DECL_TEMPLATE_CONV_FN_P (tmp))
- return i;
- }
- }
- }
+ tmp = OVL_CURRENT (methods[i]);
+ if (DECL_NAME (tmp) == name)
+ return i;
+ }
return -1;
}
@@ -2736,8 +2871,8 @@ lookup_conversions (type)
tree t;
tree conversions = NULL_TREE;
- if (COMPLETE_TYPE_P (type))
- bfs_walk (TYPE_BINFO (type), add_conversions, 0, &conversions);
+ complete_type (type);
+ bfs_walk (TYPE_BINFO (type), add_conversions, 0, &conversions);
for (t = conversions; t; t = TREE_CHAIN (t))
IDENTIFIER_MARKED (DECL_NAME (OVL_CURRENT (TREE_VALUE (t)))) = 0;
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 81b4ccfdafc..e49ca19999e 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -1029,7 +1029,7 @@ genrtl_named_return_value ()
the return value. */
SET_DECL_RTL (decl, gen_reg_rtx (GET_MODE (DECL_RTL (decl))));
if (TREE_ADDRESSABLE (decl))
- put_var_into_stack (decl);
+ put_var_into_stack (decl, /*rescan=*/true);
}
emit_local_var (decl);
@@ -1382,7 +1382,7 @@ finish_object_call_expr (fn, object, args)
}
}
- if (name_p (fn))
+ if (processing_template_decl || name_p (fn))
return build_method_call (object, fn, args, NULL_TREE, LOOKUP_NORMAL);
else
return build_new_method_call (object, fn, args, NULL_TREE, LOOKUP_NORMAL);
@@ -1755,7 +1755,7 @@ begin_class_definition (t)
TYPE_FIELDS (t) = NULL_TREE;
TYPE_METHODS (t) = NULL_TREE;
CLASSTYPE_DECL_LIST (t) = NULL_TREE;
- CLASSTYPE_TAGS (t) = NULL_TREE;
+ CLASSTYPE_NESTED_UDTS (t) = NULL;
CLASSTYPE_VBASECLASSES (t) = NULL_TREE;
TYPE_SIZE (t) = NULL_TREE;
}
@@ -1836,8 +1836,6 @@ finish_member_declaration (decl)
if (DECL_LANG_SPECIFIC (decl) && DECL_LANGUAGE (decl) == lang_c)
SET_DECL_LANGUAGE (decl, lang_cplusplus);
- maybe_add_class_template_decl_list (current_class_type, decl, /*friend_p=*/0);
-
/* Put functions on the TYPE_METHODS list and everything else on the
TYPE_FIELDS list. Note that these are built up in reverse order.
We reverse them (to obtain declaration order) in finish_struct. */
@@ -1850,8 +1848,12 @@ finish_member_declaration (decl)
TREE_CHAIN (decl) = TYPE_METHODS (current_class_type);
TYPE_METHODS (current_class_type) = decl;
+
+ maybe_add_class_template_decl_list (current_class_type, decl,
+ /*friend_p=*/0);
}
- else
+ /* Enter the DECL into the scope of the class. */
+ else if (TREE_CODE (decl) == USING_DECL || pushdecl_class_level (decl))
{
/* All TYPE_DECLs go at the end of TYPE_FIELDS. Ordinary fields
go at the beginning. The reason is that lookup_field_1
@@ -1879,9 +1881,8 @@ finish_member_declaration (decl)
TYPE_FIELDS (current_class_type) = decl;
}
- /* Enter the DECL into the scope of the class. */
- if (TREE_CODE (decl) != USING_DECL)
- pushdecl_class_level (decl);
+ maybe_add_class_template_decl_list (current_class_type, decl,
+ /*friend_p=*/0);
}
}
@@ -2098,20 +2099,28 @@ tree
finish_typeof (expr)
tree expr;
{
+ tree type;
+
if (processing_template_decl)
{
- tree t;
-
- t = make_aggr_type (TYPEOF_TYPE);
- TYPE_FIELDS (t) = expr;
+ type = make_aggr_type (TYPEOF_TYPE);
+ TYPE_FIELDS (type) = 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/spew.c b/gcc/cp/spew.c
index adc3ffd40cf..5bd3fdf3d1b 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -1220,6 +1220,10 @@ snarf_method (decl)
DECL_PENDING_INLINE_INFO (decl) = meth;
DECL_PENDING_INLINE_P (decl) = 1;
+ /* We need to know that this was defined in the class, so that
+ friend templates are handled correctly. */
+ DECL_INITIALIZED_IN_CLASS_P (decl) = 1;
+
if (pending_inlines_tail)
pending_inlines_tail->next = meth;
else
@@ -1521,12 +1525,17 @@ yyerror (msgid)
error ("%s at end of input", string);
else if (last_token == CPP_CHAR || last_token == CPP_WCHAR)
{
- unsigned int val = TREE_INT_CST_LOW (yylval.ttype);
- const char *const ell = (last_token == CPP_CHAR) ? "" : "L";
- if (val <= UCHAR_MAX && ISGRAPH (val))
- error ("%s before %s'%c'", string, ell, val);
+ if (yylval.ttype && TREE_CODE (yylval.ttype) == INTEGER_CST)
+ {
+ unsigned int val = TREE_INT_CST_LOW (yylval.ttype);
+ const char *const ell = (last_token == CPP_CHAR) ? "" : "L";
+ if (val <= UCHAR_MAX && ISGRAPH (val))
+ error ("%s before %s'%c'", string, ell, val);
+ else
+ error ("%s before %s'\\x%x'", string, ell, val);
+ }
else
- error ("%s before %s'\\x%x'", string, ell, val);
+ error ("%s", string);
}
else if (last_token == CPP_STRING
|| last_token == CPP_WSTRING)
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 6c313eba4d8..ce6137e6fc3 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -218,6 +218,18 @@ real_lvalue_p (ref)
return lvalue_p_1 (ref, /*treat_class_rvalues_as_lvalues=*/ 0, /*cast*/ 1);
}
+/* Returns the kind of lvalue that REF is, in the sense of
+ [basic.lval]. This function should really be named lvalue_p; it
+ computes the C++ definition of lvalue. */
+
+cp_lvalue_kind
+real_non_cast_lvalue_p (tree ref)
+{
+ return lvalue_p_1 (ref,
+ /*treat_class_rvalues_as_lvalues=*/0,
+ /*allow_cast_as_lvalue=*/0);
+}
+
/* This differs from real_lvalue_p in that class rvalues are
considered lvalues. */
@@ -510,7 +522,7 @@ build_cplus_array_type_1 (elt_type, index_type)
&& index_type && TYPE_MAX_VALUE (index_type)
&& TREE_CODE (TYPE_MAX_VALUE (index_type)) != INTEGER_CST)
|| uses_template_parms (elt_type)
- || uses_template_parms (index_type))
+ || (index_type && uses_template_parms (index_type)))
{
t = make_node (ARRAY_TYPE);
TREE_TYPE (t) = elt_type;
@@ -1737,8 +1749,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..6d4da2fb223 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -1940,7 +1940,8 @@ build_class_member_access_expr (tree object, tree member,
&& integer_zerop (TREE_OPERAND (object, 0)));
/* Convert OBJECT to the type of MEMBER. */
- if (!same_type_p (object_type, member_scope))
+ if (!same_type_p (TYPE_MAIN_VARIANT (object_type),
+ TYPE_MAIN_VARIANT (member_scope)))
{
tree binfo;
base_kind kind;
@@ -1950,7 +1951,7 @@ build_class_member_access_expr (tree object, tree member,
if (binfo == error_mark_node)
return error_mark_node;
- /* It is invalid to use to try to get to a virtual base of a
+ /* It is invalid to try to get to a virtual base of a
NULL object. The most common cause is invalid use of
offsetof macro. */
if (null_object_p && kind == bk_via_virtual)
@@ -1985,7 +1986,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;
@@ -2637,7 +2646,6 @@ build_function_call_real (function, params, require_complete, flags)
int require_complete, flags;
{
register tree fntype, fndecl;
- register tree value_type;
register tree coerced_params;
tree result;
tree name = NULL_TREE, assembler_name = NULL_TREE;
@@ -2742,20 +2750,7 @@ build_function_call_real (function, params, require_complete, flags)
return result;
}
- /* Some built-in function calls will be evaluated at
- compile-time in fold (). */
- result = fold (build_call (function, coerced_params));
- value_type = TREE_TYPE (result);
-
- if (require_complete)
- {
- if (TREE_CODE (value_type) == VOID_TYPE)
- return result;
- result = require_complete_type (result);
- }
- if (IS_AGGR_TYPE (value_type))
- result = build_cplus_new (value_type, result);
- return convert_from_reference (result);
+ return build_cxx_call (function, params, coerced_params);
}
tree
@@ -3888,7 +3883,45 @@ condition_conversion (expr)
t = fold (build1 (CLEANUP_POINT_EXPR, boolean_type_node, t));
return t;
}
-
+
+/* Return an ADDR_EXPR giving the address of T. This function
+ attempts no optimizations or simplifications; it is a low-level
+ primitive. */
+
+tree
+build_address (tree t)
+{
+ tree addr;
+
+ if (error_operand_p (t) || !cxx_mark_addressable (t))
+ return error_mark_node;
+
+ addr = build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE (t)),
+ t);
+ if (staticp (t))
+ TREE_CONSTANT (addr) = 1;
+
+ return addr;
+}
+
+/* Return a NOP_EXPR converting EXPR to TYPE. */
+
+tree
+build_nop (tree type, tree expr)
+{
+ tree nop;
+
+ if (type == error_mark_node || error_operand_p (expr))
+ return expr;
+
+ nop = build1 (NOP_EXPR, type, expr);
+ if (TREE_CONSTANT (expr))
+ TREE_CONSTANT (nop) = 1;
+
+ return nop;
+}
+
/* C++: Must handle pointers to members.
Perhaps type instantiation should be extended to handle conversion
@@ -4278,25 +4311,22 @@ build_unary_op (code, xarg, noconvert)
if (argtype != error_mark_node)
argtype = build_pointer_type (argtype);
- if (!cxx_mark_addressable (arg))
- return error_mark_node;
-
{
tree addr;
- if (TREE_CODE (arg) == COMPONENT_REF
- && DECL_C_BIT_FIELD (TREE_OPERAND (arg, 1)))
+ if (TREE_CODE (arg) != COMPONENT_REF)
+ addr = build_address (arg);
+ else if (DECL_C_BIT_FIELD (TREE_OPERAND (arg, 1)))
{
error ("attempt to take address of bit-field structure member `%D'",
TREE_OPERAND (arg, 1));
return error_mark_node;
}
- else if (TREE_CODE (arg) == COMPONENT_REF
- && TREE_CODE (TREE_OPERAND (arg, 0)) == INDIRECT_REF
- && (TREE_CODE (TREE_OPERAND (TREE_OPERAND (arg, 0), 0))
- == INTEGER_CST))
+ else
{
- /* offsetof idiom, fold it. */
+ /* Unfortunately we cannot just build an address
+ expression here, because we would not handle
+ address-constant-expressions or offsetof correctly. */
tree field = TREE_OPERAND (arg, 1);
tree rval = build_unary_op (ADDR_EXPR, TREE_OPERAND (arg, 0), 0);
tree binfo = lookup_base (TREE_TYPE (TREE_TYPE (rval)),
@@ -4309,13 +4339,6 @@ build_unary_op (code, xarg, noconvert)
addr = fold (build (PLUS_EXPR, argtype, rval,
cp_convert (argtype, byte_position (field))));
}
- else
- addr = build1 (ADDR_EXPR, argtype, arg);
-
- /* Address of a static or external variable or
- function counts as a constant */
- if (staticp (arg))
- TREE_CONSTANT (addr) = 1;
if (TREE_CODE (argtype) == POINTER_TYPE
&& TREE_CODE (TREE_TYPE (argtype)) == METHOD_TYPE)
@@ -4529,7 +4552,7 @@ cxx_mark_addressable (exp)
warning ("address requested for `%D', which is declared `register'",
x);
TREE_ADDRESSABLE (x) = 1;
- put_var_into_stack (x);
+ put_var_into_stack (x, /*rescan=*/true);
return true;
case FUNCTION_DECL:
@@ -4978,6 +5001,10 @@ build_c_cast (type, expr)
value = convert_to_void (value, /*implicit=*/NULL);
return value;
}
+
+ if (!complete_type_or_else (type, NULL_TREE))
+ return error_mark_node;
+
/* Convert functions and arrays to pointers and
convert references to their expanded types,
but don't convert any other types. If, however, we are
@@ -5357,7 +5384,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)
@@ -5596,11 +5623,17 @@ build_ptrmemfunc (type, pfn, force)
int force;
{
tree fn;
- tree pfn_type = TREE_TYPE (pfn);
- tree to_type = build_ptrmemfunc_type (type);
+ tree pfn_type;
+ tree to_type;
+
+ if (error_operand_p (pfn))
+ return error_mark_node;
+
+ pfn_type = TREE_TYPE (pfn);
+ to_type = build_ptrmemfunc_type (type);
/* Handle multiple conversions of pointer to member functions. */
- if (TYPE_PTRMEMFUNC_P (TREE_TYPE (pfn)))
+ if (TYPE_PTRMEMFUNC_P (pfn_type))
{
tree delta = NULL_TREE;
tree npfn = NULL_TREE;
@@ -5981,7 +6014,7 @@ convert_for_initialization (exp, type, rhs, flags, errtype, fndecl, parmnum)
if (fndecl)
savew = warningcount, savee = errorcount;
- rhs = initialize_reference (type, rhs);
+ rhs = initialize_reference (type, rhs, /*decl=*/NULL_TREE);
if (fndecl)
{
if (warningcount > savew)
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 750aa3c94bf..0e70e2bad0a 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -133,6 +133,12 @@ abstract_virtuals_error (decl, type)
tree u;
tree tu;
+ if (processing_template_decl)
+ /* If we are processing a template, TYPE may be a template
+ class where CLASSTYPE_PURE_VIRTUALS always contains
+ inline friends. */
+ return 0;
+
if (!CLASS_TYPE_P (type) || !CLASSTYPE_PURE_VIRTUALS (type))
return 0;
@@ -381,32 +387,8 @@ store_init_value (decl, init)
return value;
else if (TREE_STATIC (decl)
&& (! TREE_CONSTANT (value)
- || ! initializer_constant_valid_p (value, TREE_TYPE (value))
-#if 0
- /* A STATIC PUBLIC int variable doesn't have to be
- run time inited when doing pic. (mrs) */
- /* Since ctors and dtors are the only things that can
- reference vtables, and they are always written down
- the vtable definition, we can leave the
- vtables in initialized data space.
- However, other initialized data cannot be initialized
- this way. Instead a global file-level initializer
- must do the job. */
- || (flag_pic && !DECL_VIRTUAL_P (decl) && TREE_PUBLIC (decl))
-#endif
- ))
-
+ || ! initializer_constant_valid_p (value, TREE_TYPE (value))))
return value;
-#if 0 /* No, that's C. jason 9/19/94 */
- else
- {
- if (pedantic && TREE_CODE (value) == CONSTRUCTOR)
- {
- if (! TREE_CONSTANT (value) || ! TREE_STATIC (value))
- pedwarn ("ISO C++ forbids non-constant aggregate initializer expressions");
- }
- }
-#endif
/* Store the VALUE in DECL_INITIAL. If we're building a
statement-tree we will actually expand the initialization later
@@ -726,6 +708,7 @@ process_init_constructor (type, init, elts)
}
else if (! zero_init_p (TREE_TYPE (type)))
next1 = build_zero_init (TREE_TYPE (type),
+ /*nelts=*/NULL_TREE,
/*static_storage_p=*/false);
else
/* The default zero-initialization is fine for us; don't
@@ -844,6 +827,7 @@ process_init_constructor (type, init, elts)
if (! zero_init_p (TREE_TYPE (field)))
next1 = build_zero_init (TREE_TYPE (field),
+ /*nelts=*/NULL_TREE,
/*static_storage_p=*/false);
else
/* The default zero-initialization is fine for us; don't
diff --git a/gcc/cpphash.h b/gcc/cpphash.h
index 16e8dfe08fe..a8e0b871fa1 100644
--- a/gcc/cpphash.h
+++ b/gcc/cpphash.h
@@ -212,6 +212,11 @@ struct lexer_state
/* Nonzero if first token on line is CPP_HASH. */
unsigned char in_directive;
+ /* Nonzero if in a directive that will handle padding tokens itself.
+ #include needs this to avoid problems with computed include and
+ spacing between tokens. */
+ unsigned char directive_wants_padding;
+
/* True if we are skipping a failed conditional group. */
unsigned char skipping;
diff --git a/gcc/cppinit.c b/gcc/cppinit.c
index 82b3056b704..d8e622bca4e 100644
--- a/gcc/cppinit.c
+++ b/gcc/cppinit.c
@@ -1052,6 +1052,8 @@ cpp_finish_options (pfile)
{
struct pending_option *p;
+ /* Prevent -Wunused-macros with command-line redefinitions. */
+ pfile->first_unused_line = (unsigned int) -1;
_cpp_do_file_change (pfile, LC_RENAME, _("<built-in>"), 1, 0);
init_builtins (pfile);
_cpp_do_file_change (pfile, LC_RENAME, _("<command line>"), 1, 0);
@@ -1322,24 +1324,7 @@ cpp_handle_option (pfile, argc, argv)
case OPT_A:
if (arg[0] == '-')
- {
- /* -A with an argument beginning with '-' acts as
- #unassert on whatever immediately follows the '-'.
- If "-" is the whole argument, we eliminate all
- predefined macros and assertions, including those
- that were specified earlier on the command line.
- That way we can get rid of any that were passed
- automatically in from GCC. */
-
- if (arg[1] == '\0')
- {
- free_chain (pend->directive_head);
- pend->directive_head = NULL;
- pend->directive_tail = NULL;
- }
- else
- new_pending_directive (pend, arg + 1, cpp_unassert);
- }
+ new_pending_directive (pend, arg + 1, cpp_unassert);
else
new_pending_directive (pend, arg, cpp_assert);
break;
diff --git a/gcc/cpplib.c b/gcc/cpplib.c
index f8a702d8c1a..818451d4e30 100644
--- a/gcc/cpplib.c
+++ b/gcc/cpplib.c
@@ -407,6 +407,7 @@ _cpp_handle_directive (pfile, indented)
skipping or not, we should lex angle-bracketed headers
correctly, and maybe output some diagnostics. */
pfile->state.angled_headers = dir->flags & INCL;
+ pfile->state.directive_wants_padding = dir->flags & INCL;
if (! CPP_OPTION (pfile, preprocessed))
directive_diagnostics (pfile, dir, indented);
if (pfile->state.skipping && !(dir->flags & COND))
@@ -575,7 +576,7 @@ glue_header_name (pfile)
buffer = (unsigned char *) xmalloc (capacity);
for (;;)
{
- token = cpp_get_token (pfile);
+ token = get_token_no_padding (pfile);
if (token->type == CPP_GREATER || token->type == CPP_EOF)
break;
@@ -627,7 +628,7 @@ parse_include (pfile)
dir = pfile->directive->name;
/* Allow macro expansion. */
- header = cpp_get_token (pfile);
+ header = get_token_no_padding (pfile);
if (header->type != CPP_STRING && header->type != CPP_HEADER_NAME)
{
if (header->type != CPP_LESS)
diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c
index fe78993bc4d..b97fe811c71 100644
--- a/gcc/cppmacro.c
+++ b/gcc/cppmacro.c
@@ -897,7 +897,7 @@ replace_args (pfile, node, macro, args)
count = arg->expanded_count, from = arg->expanded;
/* Padding on the left of an argument (unless RHS of ##). */
- if (!pfile->state.in_directive
+ if ((!pfile->state.in_directive || pfile->state.directive_wants_padding)
&& src != macro->exp.tokens && !(src[-1].flags & PASTE_LEFT))
*dest++ = padding_token (pfile, src);
@@ -1279,10 +1279,12 @@ warn_of_redefinition (pfile, node, macro2)
if (CPP_OPTION (pfile, traditional))
return _cpp_expansions_different_trad (macro1, macro2);
- if (macro1->count == macro2->count)
- for (i = 0; i < macro1->count; i++)
- if (!_cpp_equiv_tokens (&macro1->exp.tokens[i], &macro2->exp.tokens[i]))
- return true;
+ if (macro1->count != macro2->count)
+ return true;
+
+ for (i = 0; i < macro1->count; i++)
+ if (!_cpp_equiv_tokens (&macro1->exp.tokens[i], &macro2->exp.tokens[i]))
+ return true;
return false;
}
diff --git a/gcc/cppspec.c b/gcc/cppspec.c
index e79968ab510..d5b49d019a3 100644
--- a/gcc/cppspec.c
+++ b/gcc/cppspec.c
@@ -29,32 +29,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
assume the user knows what they're doing. If no explicit input is
mentioned, it will read stdin. */
-/* Snarfed from gcc.c: */
-
-/* This defines which switch letters take arguments. */
-
-#define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
- ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
- || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
- || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
- || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \
- || (CHAR) == 'B' || (CHAR) == 'b')
-
#ifndef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) DEFAULT_SWITCH_TAKES_ARG(CHAR)
#endif
-/* This defines which multi-letter switches take arguments. */
-
-#define DEFAULT_WORD_SWITCH_TAKES_ARG(STR) \
- (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
- || !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
- || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
- || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
- || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
- || !strcmp (STR, "isystem") || !strcmp (STR, "specs") \
- || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ"))
-
#ifndef WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) DEFAULT_WORD_SWITCH_TAKES_ARG (STR)
#endif
diff --git a/gcc/cpptrad.c b/gcc/cpptrad.c
index 902ae493b6a..5c66659f02b 100644
--- a/gcc/cpptrad.c
+++ b/gcc/cpptrad.c
@@ -852,7 +852,7 @@ _cpp_replacement_text_len (macro)
{
size_t len;
- if (macro->fun_like)
+ if (macro->fun_like && (macro->paramc != 0))
{
const uchar *exp;
@@ -882,7 +882,7 @@ _cpp_copy_replacement_text (macro, dest)
const cpp_macro *macro;
uchar *dest;
{
- if (macro->fun_like)
+ if (macro->fun_like && (macro->paramc != 0))
{
const uchar *exp;
diff --git a/gcc/cse.c b/gcc/cse.c
index 1d606b60c13..1ace4122123 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7493,6 +7493,7 @@ count_reg_usage (x, counts, dest, incr)
int incr;
{
enum rtx_code code;
+ rtx note;
const char *fmt;
int i, j;
@@ -7550,16 +7551,13 @@ count_reg_usage (x, counts, dest, incr)
/* Things used in a REG_EQUAL note aren't dead since loop may try to
use them. */
- count_reg_usage (REG_NOTES (x), counts, NULL_RTX, incr);
+ note = find_reg_equal_equiv_note (x);
+ if (note)
+ count_reg_usage (XEXP (note, 0), counts, NULL_RTX, incr);
return;
- case EXPR_LIST:
case INSN_LIST:
- if (REG_NOTE_KIND (x) == REG_EQUAL
- || (REG_NOTE_KIND (x) != REG_NONNEG && GET_CODE (XEXP (x,0)) == USE))
- count_reg_usage (XEXP (x, 0), counts, NULL_RTX, incr);
- count_reg_usage (XEXP (x, 1), counts, NULL_RTX, incr);
- return;
+ abort ();
default:
break;
diff --git a/gcc/cselib.c b/gcc/cselib.c
index feffa6de6cf..e3b228cc27d 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;
}
@@ -959,8 +961,11 @@ cselib_invalidate_regno (regno, mode)
pseudos, only REGNO is affected. For hard regs, we must take MODE
into account, and we must also invalidate lower register numbers
if they contain values that overlap REGNO. */
- if (regno < FIRST_PSEUDO_REGISTER && mode != VOIDmode)
+ if (regno < FIRST_PSEUDO_REGISTER)
{
+ if (mode == VOIDmode)
+ abort ();
+
if (regno < max_value_regs)
i = 0;
else
@@ -1308,6 +1313,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. */
@@ -1335,7 +1344,7 @@ cselib_process_insn (insn)
{
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
if (call_used_regs[i])
- cselib_invalidate_regno (i, VOIDmode);
+ cselib_invalidate_regno (i, reg_raw_mode[i]);
if (! CONST_OR_PURE_CALL_P (insn))
cselib_invalidate_mem (callmem);
@@ -1407,6 +1416,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/df.c b/gcc/df.c
index 4228e0d6ebd..fb434ff588b 100644
--- a/gcc/df.c
+++ b/gcc/df.c
@@ -945,8 +945,8 @@ df_def_record_1 (df, x, bb, insn)
#ifdef CLASS_CANNOT_CHANGE_MODE
if (GET_CODE (dst) == SUBREG
- && CLASS_CANNOT_CHANGE_MODE_P (GET_MODE (dst),
- GET_MODE (SUBREG_REG (dst))))
+ && CLASS_CANNOT_CHANGE_MODE_P (GET_MODE (SUBREG_REG (dst)),
+ GET_MODE (dst)))
flags |= DF_REF_MODE_CHANGE;
#endif
@@ -966,8 +966,8 @@ df_def_record_1 (df, x, bb, insn)
}
#ifdef CLASS_CANNOT_CHANGE_MODE
if (GET_CODE (dst) == SUBREG
- && CLASS_CANNOT_CHANGE_MODE_P (GET_MODE (dst),
- GET_MODE (SUBREG_REG (dst))))
+ && CLASS_CANNOT_CHANGE_MODE_P (GET_MODE (SUBREG_REG (dst)),
+ GET_MODE (dst)))
flags |= DF_REF_MODE_CHANGE;
#endif
loc = &XEXP (dst, 0);
@@ -1037,6 +1037,7 @@ df_uses_record (df, loc, ref_type, bb, insn, flags)
case CONST_DOUBLE:
case CONST_VECTOR:
case PC:
+ case CC0:
case ADDR_VEC:
case ADDR_DIFF_VEC:
return;
@@ -1102,9 +1103,10 @@ df_uses_record (df, loc, ref_type, bb, insn, flags)
}
/* ... FALLTHRU ... */
case REG:
- case PC:
case PARALLEL:
- break;
+ case PC:
+ case CC0:
+ break;
case MEM:
df_uses_record (df, &XEXP (dst, 0),
DF_REF_REG_MEM_STORE,
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index b6794b80ff8..a7f2d2c368e 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -66,6 +66,7 @@ static void output_long_octal PARAMS ((output_buffer *, unsigned long int));
static void output_hexadecimal PARAMS ((output_buffer *, unsigned int));
static void output_long_hexadecimal PARAMS ((output_buffer *,
unsigned long int));
+static void output_pointer PARAMS ((output_buffer *, void *));
static void output_append_r PARAMS ((output_buffer *, const char *, int));
static void wrap_text PARAMS ((output_buffer *, const char *, const char *));
static void maybe_wrap_text PARAMS ((output_buffer *, const char *,
@@ -360,6 +361,14 @@ output_long_hexadecimal (buffer, i)
output_formatted_scalar (buffer, "%lx", i);
}
+static void
+output_pointer (buffer, p)
+ output_buffer *buffer;
+ void *p;
+{
+ output_formatted_scalar (buffer, HOST_PTR_PRINTF, p);
+}
+
/* Append to BUFFER a string specified by its STARTING character
and LENGTH. */
static void
@@ -494,6 +503,7 @@ output_buffer_to_stream (buffer)
%ld, %li, %lo, %lu, %lx: long versions of the above.
%c: character.
%s: string.
+ %p: pointer.
%%: `%'.
%*.s: a substring the length of which is specified by an integer.
%H: location_t. */
@@ -555,6 +565,10 @@ output_format (buffer, text)
output_add_string (buffer, va_arg (*text->args_ptr, const char *));
break;
+ case 'p':
+ output_pointer (buffer, va_arg (*text->args_ptr, void *));
+ break;
+
case 'u':
if (long_integer)
output_long_unsigned_decimal
diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h
index aad9a58cbed..e0888916b6e 100644
--- a/gcc/diagnostic.h
+++ b/gcc/diagnostic.h
@@ -322,9 +322,8 @@ extern void output_clear_message_text PARAMS ((output_buffer *));
extern void output_printf PARAMS ((output_buffer *, const char *,
...)) ATTRIBUTE_PRINTF_2;
extern void output_verbatim PARAMS ((output_buffer *, const char *,
- ...)) ATTRIBUTE_PRINTF_2;
-extern void verbatim PARAMS ((const char *, ...))
- ATTRIBUTE_PRINTF_1;
+ ...));
+extern void verbatim PARAMS ((const char *, ...));
extern char *file_name_as_prefix PARAMS ((const char *));
extern void inform PARAMS ((const char *, ...));
diff --git a/gcc/doc/bugreport.texi b/gcc/doc/bugreport.texi
index b6e5ef1e752..d9613ef6d1c 100644
--- a/gcc/doc/bugreport.texi
+++ b/gcc/doc/bugreport.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, 2003 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -14,29 +14,14 @@ When you encounter a problem, the first thing to do is to see if it is
already known. @xref{Trouble}. If it isn't known, then you should
report the problem.
-Reporting a bug may help you by bringing a solution to your problem, or
-it may not. (If it does not, look in the service directory; see
-@ref{Service}.) In any case, the principal function of a bug report is
-to help the entire community by making the next version of GCC work
-better. Bug reports are your contribution to the maintenance of GCC@.
-
-Since the maintainers are very overloaded, we cannot respond to every
-bug report. However, if the bug has not been fixed, we are likely to
-send you a patch and ask you to tell us whether it works.
-
-In order for a bug report to serve its purpose, you must include the
-information that makes for fixing the bug.
-
@menu
* Criteria: Bug Criteria. Have you really found a bug?
-* Where: Bug Lists. Where to send your bug report.
* Reporting: Bug Reporting. How to report a bug effectively.
-* GNATS: gccbug. You can use a bug reporting tool.
* Known: Trouble. Known problems.
* Help: Service. Where to ask for help.
@end menu
-@node Bug Criteria,Bug Lists,,Bugs
+@node Bug Criteria,Bug Reporting,,Bugs
@section Have You Found a Bug?
@cindex bug criteria
@@ -99,292 +84,11 @@ If you are an experienced user of one of the languages GCC supports, your
suggestions for improvement of GCC are welcome in any case.
@end itemize
-@node Bug Lists,Bug Reporting,Bug Criteria,Bugs
-@section Where to Report Bugs
-@cindex bug report mailing lists
-@kindex gcc-bugs@@gcc.gnu.org or bug-gcc@@gnu.org
-Send bug reports for the GNU Compiler Collection to
-@email{gcc-bugs@@gcc.gnu.org}. In accordance with the GNU-wide
-convention, in which bug reports for tool ``foo'' are sent
-to @samp{bug-foo@@gnu.org}, the address @email{bug-gcc@@gnu.org}
-may also be used; it will forward to the address given above.
-
-Please read @uref{http://gcc.gnu.org/bugs.html} for additional and/or
-more up-to-date bug reporting instructions before you post a bug report.
-
-@node Bug Reporting,gccbug,Bug Lists,Bugs
-@section How to Report Bugs
+@node Bug Reporting,,Bug Criteria,Bugs
+@section How and where to Report Bugs
@cindex compiler bugs, reporting
-The fundamental principle of reporting bugs usefully is this:
-@strong{report all the facts}. If you are not sure whether to state a
-fact or leave it out, state it!
-
-Often people omit facts because they think they know what causes the
-problem and they conclude that some details don't matter. Thus, you might
-assume that the name of the variable you use in an example does not matter.
-Well, probably it doesn't, but one cannot be sure. Perhaps the bug is a
-stray memory reference which happens to fetch from the location where that
-name is stored in memory; perhaps, if the name were different, the contents
-of that location would fool the compiler into doing the right thing despite
-the bug. Play it safe and give a specific, complete example. That is the
-easiest thing for you to do, and the most helpful.
-
-Keep in mind that the purpose of a bug report is to enable someone to
-fix the bug if it is not known. It isn't very important what happens if
-the bug is already known. Therefore, always write your bug reports on
-the assumption that the bug is not known.
-
-Sometimes people give a few sketchy facts and ask, ``Does this ring a
-bell?'' This cannot help us fix a bug, so it is basically useless. We
-respond by asking for enough details to enable us to investigate.
-You might as well expedite matters by sending them to begin with.
-
-Try to make your bug report self-contained. If we have to ask you for
-more information, it is best if you include all the previous information
-in your response, as well as the information that was missing.
-
-Please report each bug in a separate message. This makes it easier for
-us to track which bugs have been fixed and to forward your bugs reports
-to the appropriate maintainer.
-
-To enable someone to investigate the bug, you should include all these
-things:
-
-@itemize @bullet
-@item
-The version of GCC@. You can get this by running it with the
-@option{-v} option.
-
-Without this, we won't know whether there is any point in looking for
-the bug in the current version of GCC@.
-
-@item
-A complete input file that will reproduce the bug. If the bug is in the
-C preprocessor, send a source file and any header files that it
-requires. If the bug is in the compiler proper (@file{cc1}), send the
-preprocessor output generated by adding @option{-save-temps} to the
-compilation command (@pxref{Debugging Options}). When you do this, use
-the same @option{-I}, @option{-D} or @option{-U} options that you used in
-actual compilation. Then send the @var{input}.i or @var{input}.ii files
-generated.
-
-A single statement is not enough of an example. In order to compile it,
-it must be embedded in a complete file of compiler input; and the bug
-might depend on the details of how this is done.
-
-Without a real example one can compile, all anyone can do about your bug
-report is wish you luck. It would be futile to try to guess how to
-provoke the bug. For example, bugs in register allocation and reloading
-frequently depend on every little detail of the function they happen in.
-
-Even if the input file that fails comes from a GNU program, you should
-still send the complete test case. Don't ask the GCC maintainers to
-do the extra work of obtaining the program in question---they are all
-overworked as it is. Also, the problem may depend on what is in the
-header files on your system; it is unreliable for the GCC maintainers
-to try the problem with the header files available to them. By sending
-CPP output, you can eliminate this source of uncertainty and save us
-a certain percentage of wild goose chases.
-
-@item
-The command arguments you gave GCC to compile that example
-and observe the bug. For example, did you use @option{-O}? To guarantee
-you won't omit something important, list all the options.
-
-If we were to try to guess the arguments, we would probably guess wrong
-and then we would not encounter the bug.
-
-@item
-The type of machine you are using, and the operating system name and
-version number.
-
-@item
-The operands you gave to the @code{configure} command when you installed
-the compiler.
-
-@item
-A complete list of any modifications you have made to the compiler
-source. (We don't promise to investigate the bug unless it happens in
-an unmodified compiler. But if you've made modifications and don't tell
-us, then you are sending us on a wild goose chase.)
-
-Be precise about these changes. A description in English is not
-enough---send a context diff for them.
-
-Adding files of your own (such as a machine description for a machine we
-don't support) is a modification of the compiler source.
-
-@item
-Details of any other deviations from the standard procedure for installing
-GCC@.
-
-@item
-A description of what behavior you observe that you believe is
-incorrect. For example, ``The compiler gets a fatal signal,'' or,
-``The assembler instruction at line 208 in the output is incorrect.''
-
-Of course, if the bug is that the compiler gets a fatal signal, then one
-can't miss it. But if the bug is incorrect output, the maintainer might
-not notice unless it is glaringly wrong. None of us has time to study
-all the assembler code from a 50-line C program just on the chance that
-one instruction might be wrong. We need @emph{you} to do this part!
-
-Even if the problem you experience is a fatal signal, you should still
-say so explicitly. Suppose something strange is going on, such as, your
-copy of the compiler is out of synch, or you have encountered a bug in
-the C library on your system. (This has happened!) Your copy might
-crash and the copy here would not. If you @i{said} to expect a crash,
-then when the compiler here fails to crash, we would know that the bug
-was not happening. If you don't say to expect a crash, then we would
-not know whether the bug was happening. We would not be able to draw
-any conclusion from our observations.
-
-If the problem is a diagnostic when compiling GCC with some other
-compiler, say whether it is a warning or an error.
-
-Often the observed symptom is incorrect output when your program is run.
-Sad to say, this is not enough information unless the program is short
-and simple. None of us has time to study a large program to figure out
-how it would work if compiled correctly, much less which line of it was
-compiled wrong. So you will have to do that. Tell us which source line
-it is, and what incorrect result happens when that line is executed. A
-person who understands the program can find this as easily as finding a
-bug in the program itself.
-
-@item
-If you send examples of assembler code output from GCC,
-please use @option{-g} when you make them. The debugging information
-includes source line numbers which are essential for correlating the
-output with the input.
-
-@item
-If you wish to mention something in the GCC source, refer to it by
-context, not by line number.
-
-The line numbers in the development sources don't match those in your
-sources. Your line numbers would convey no useful information to the
-maintainers.
-
-@item
-Additional information from a debugger might enable someone to find a
-problem on a machine which he does not have available. However, you
-need to think when you collect this information if you want it to have
-any chance of being useful.
-
-@cindex backtrace for bug reports
-For example, many people send just a backtrace, but that is never
-useful by itself. A simple backtrace with arguments conveys little
-about GCC because the compiler is largely data-driven; the same
-functions are called over and over for different RTL insns, doing
-different things depending on the details of the insn.
-
-Most of the arguments listed in the backtrace are useless because they
-are pointers to RTL list structure. The numeric values of the
-pointers, which the debugger prints in the backtrace, have no
-significance whatever; all that matters is the contents of the objects
-they point to (and most of the contents are other such pointers).
-
-In addition, most compiler passes consist of one or more loops that
-scan the RTL insn sequence. The most vital piece of information about
-such a loop---which insn it has reached---is usually in a local variable,
-not in an argument.
-
-@findex debug_rtx
-What you need to provide in addition to a backtrace are the values of
-the local variables for several stack frames up. When a local
-variable or an argument is an RTX, first print its value and then use
-the GDB command @code{pr} to print the RTL expression that it points
-to. (If GDB doesn't run on your machine, use your debugger to call
-the function @code{debug_rtx} with the RTX as an argument.) In
-general, whenever a variable is a pointer, its value is no use
-without the data it points to.
-@end itemize
-
-Here are some things that are not necessary:
-
-@itemize @bullet
-@item
-A description of the envelope of the bug.
-
-Often people who encounter a bug spend a lot of time investigating
-which changes to the input file will make the bug go away and which
-changes will not affect it.
-
-This is often time consuming and not very useful, because the way we
-will find the bug is by running a single example under the debugger with
-breakpoints, not by pure deduction from a series of examples. You might
-as well save your time for something else.
-
-Of course, if you can find a simpler example to report @emph{instead} of
-the original one, that is a convenience. Errors in the output will be
-easier to spot, running under the debugger will take less time, etc.
-Most GCC bugs involve just one function, so the most straightforward
-way to simplify an example is to delete all the function definitions
-except the one where the bug occurs. Those earlier in the file may be
-replaced by external declarations if the crucial function depends on
-them. (Exception: inline functions may affect compilation of functions
-defined later in the file.)
-
-However, simplification is not vital; if you don't want to do this,
-report the bug anyway and send the entire test case you used.
-
-@item
-In particular, some people insert conditionals @samp{#ifdef BUG} around
-a statement which, if removed, makes the bug not happen. These are just
-clutter; we won't pay any attention to them anyway. Besides, you should
-send us cpp output, and that can't have conditionals.
-
-@item
-A patch for the bug.
-
-A patch for the bug is useful if it is a good one. But don't omit the
-necessary information, such as the test case, on the assumption that a
-patch is all we need. We might see problems with your patch and decide
-to fix the problem another way, or we might not understand it at all.
-
-Sometimes with a program as complicated as GCC it is very hard to
-construct an example that will make the program follow a certain path
-through the code. If you don't send the example, we won't be able to
-construct one, so we won't be able to verify that the bug is fixed.
-
-And if we can't understand what bug you are trying to fix, or why your
-patch should be an improvement, we won't install it. A test case will
-help us to understand.
-
-See @uref{http://gcc.gnu.org/contribute.html}
-for guidelines on how to make it easy for us to
-understand and install your patches.
-
-@item
-A guess about what the bug is or what it depends on.
-
-Such guesses are usually wrong. Even I can't guess right about such
-things without first using the debugger to find the facts.
-
-@item
-A core dump file.
-
-We have no way of examining a core dump for your type of machine
-unless we have an identical system---and if we do have one,
-we should be able to reproduce the crash ourselves.
-@end itemize
-
-@node gccbug,, Bug Reporting, Bugs
-@section The gccbug script
-@cindex gccbug script
-
-To simplify creation of bug reports, and to allow better tracking of
-reports, we use the GNATS bug tracking system. Part of that system is
-the @code{gccbug} script. This is a Unix shell script, so you need a
-shell to run it. It is normally installed in the same directory where
-@code{gcc} is installed.
-
-The gccbug script is derived from send-pr, @pxref{using
-send-pr,,Creating new Problem Reports,send-pr,Reporting Problems}. When
-invoked, it starts a text editor so you can fill out the various fields
-of the report. When the you quit the editor, the report is automatically
-send to the bug reporting address.
-
-A number of fields in this bug report form are specific to GCC, and are
-explained at @uref{http://gcc.gnu.org/gnats.html}.
+Bugs should be reported to our bug database. Please refer to
+@uref{http://gcc.gnu.org/bugs.html} for up-to-date instructions how to
+submit bug reports. Copies of this file in HTML (@file{bugs.html}) and
+plain text (@file{BUGS}) are also part of GCC releases.
diff --git a/gcc/doc/collect2.texi b/gcc/doc/collect2.texi
index 2cd1d3c0d5a..a3d43b280d1 100644
--- a/gcc/doc/collect2.texi
+++ b/gcc/doc/collect2.texi
@@ -52,7 +52,7 @@ if specified.
@end itemize
``The compiler's search directories'' means all the directories where
-@code{gcc} searches for passes of the compiler. This includes
+@command{gcc} searches for passes of the compiler. This includes
directories that you specify with @option{-B}.
Cross-compilers search a little differently:
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 99f3b308b3b..395c4e3d8a8 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -1,5 +1,5 @@
-@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,
+@c 2001,2002,2003 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -29,7 +29,7 @@ James van Artsdalen wrote the code that makes efficient use of
the Intel 80387 register stack.
@item
-Alasdair Baird for various bugfixes.
+Alasdair Baird for various bug fixes.
@item
Gerald Baumgartner added the signature extension to the C++ front end.
@@ -41,7 +41,14 @@ Godmar Back for his Java improvements and encouragement.
Scott Bambrough for help porting the Java compiler.
@item
-Jon Beniston for his Win32 port of Java.
+Wolfgang Bangerth for processing tons of bug reports.
+
+@item
+Jon Beniston for his Windows port of Java.
+
+@item
+Daniel Berlin for better DWARF2 support, faster/better optimizations,
+improved alias analysis, plus migrating us to Bugzilla.
@item
Geoff Berry for his Java object serialization work and various patches.
@@ -51,6 +58,9 @@ Eric Blake for helping to make GCJ and libgcj conform to the
specifications.
@item
+Segher Boessenkool for various fixes.
+
+@item
Hans-J. Boehm for his @uref{http://www.hpl.hp.com/personal/Hans_Boehm/gc/,,
garbage collector}, IA-64 libffi port, and other Java work.
@@ -59,6 +69,9 @@ Neil Booth for work on cpplib, lang hooks, debug hooks and other
miscellaneous clean-ups.
@item
+Eric Botcazou for fixing middle- and backend bugs left and right.
+
+@item
Per Bothner for his direction via the steering committee and various
improvements to our infrastructure for supporting new languages. Chill
front end implementation. Initial implementations of
@@ -105,7 +118,10 @@ John Carr for his alias work, SPARC hacking, infrastructure improvements,
previous contributions to the steering committee, loop optimizations, etc.
@item
-Steve Chamberlain for support for the Hitachi SH and H8 processors
+Stephane Carrez for 68HC11 and 68HC12 ports.
+
+@item
+Steve Chamberlain for support for the Renesas SH and H8 processors
and the PicoJava processor, and for GCJ config fixes.
@item
@@ -158,6 +174,10 @@ Russell Davidson for fstream and stringstream fixes in libstdc++.
Mo DeJong for GCJ and libgcj bug fixes.
@item
+DJ Delorie for the DJGPP port, build and libiberty maintenance, and
+various bug fixes.
+
+@item
Gabriel Dos Reis for contributions to g++, contributions and
maintenance of GCC diagnostics infrastructure, libstdc++-v3,
including valarray<>, complex<>, maintaining the numerics library
@@ -172,12 +192,16 @@ maintaining complex<>, sanity checking and disbursement, configuration
architecture, libio maintenance, and early math work.
@item
+Zdenek Dvorak for a new loop unroller and various fixes.
+
+@item
Richard Earnshaw for his ongoing work with the ARM@.
@item
David Edelsohn for his direction via the steering committee, ongoing work
-with the RS6000/PowerPC port, help cleaning up Haifa loop changes, and
-for doing the entire AIX port of libstdc++ with his bare hands.
+with the RS6000/PowerPC port, help cleaning up Haifa loop changes,
+doing the entire AIX port of libstdc++ with his bare hands, and for
+ensuring GCC properly keeps working on AIX.
@item
Kevin Ediger for the floating point formatting of num_put::do_put in
@@ -186,7 +210,7 @@ libstdc++.
@item
Phil Edwards for libstdc++ work including configuration hackery,
documentation maintainer, chief breaker of the web pages, the occasional
-iostream bugfix, and work on shared library symbol versioning.
+iostream bug fix, and work on shared library symbol versioning.
@item
Paul Eggert for random hacking all over GCC@.
@@ -199,6 +223,9 @@ configuration support for locales and fstream-related fixes.
Vadim Egorov for libstdc++ fixes in strings, streambufs, and iostreams.
@item
+Christian Ehrhardt for dealing with bug reports.
+
+@item
Ben Elliston for his work to move the Objective-C runtime into its
own subdirectory and for his work on autoconf.
@@ -210,17 +237,22 @@ Doug Evans for much of the global optimization framework, arc, m32r,
and SPARC work.
@item
+Christopher Faylor for his work on the Cygwin port and for caring and
+feeding the gcc.gnu.org box and saving its users tons of spam.
+
+@item
Fred Fish for BeOS support and Ada fixes.
@item
Ivan Fontes Garcia for the Portugese translation of the GCJ FAQ.
@item
-Peter Gerwinski for various bugfixes and the Pascal front end.
+Peter Gerwinski for various bug fixes and the Pascal front end.
@item
-Kaveh Ghazi for his direction via the steering committee and
-amazing work to make @samp{-W -Wall} useful.
+Kaveh Ghazi for his direction via the steering committee,
+amazing work to make @samp{-W -Wall} useful, and continously testing
+GCC on a plethora of platforms.
@item
John Gilmore for a donation to the FSF earmarked improving GNU Java.
@@ -251,7 +283,7 @@ Intel 386 and 860 support.
@item
Bruno Haible for improvements in the runtime overhead for EH, new
-warnings and assorted bugfixes.
+warnings and assorted bug fixes.
@item
Andrew Haley for his amazing Java compiler and library efforts.
@@ -268,18 +300,25 @@ fixes.
Kate Hedstrom for staking the g77 folks with an initial testsuite.
@item
-Richard Henderson for his ongoing SPARC, alpha, and ia32 work, loop
+Richard Henderson for his ongoing SPARC, alpha, ia32, and ia64 work, loop
opts, and generally fixing lots of old problems we've ignored for
years, flow rewrite and lots of further stuff, including reviewing
tons of patches.
@item
+Aldy Hernandez for working on the PowerPC port, SIMD support, and
+various fixes.
+
+@item
Nobuyuki Hikichi of Software Research Associates, Tokyo, contributed
the support for the Sony NEWS machine.
@item
+Kazu Hirata for caring and feeding the Renesas H8/300 port and various fixes.
+
+@item
Manfred Hollstein for his ongoing work to keep the m88k alive, lots
-of testing an bugfixing, particularly of our configury code.
+of testing and bug fixing, particularly of our configury code.
@item
Steve Holmgren for MachTen patches.
@@ -288,7 +327,7 @@ Steve Holmgren for MachTen patches.
Jan Hubicka for his x86 port improvements.
@item
-Christian Iseli for various bugfixes.
+Christian Iseli for various bug fixes.
@item
Kamil Iskra for general m68k hacking.
@@ -297,7 +336,7 @@ Kamil Iskra for general m68k hacking.
Lee Iverson for random fixes and MIPS testing.
@item
-Andreas Jaeger for various fixes to the MIPS port
+Andreas Jaeger for testing and benchmarking of GCC and various bug fixes.
@item
Jakub Jelinek for his SPARC work and sibling call optimizations as well
@@ -305,11 +344,11 @@ as lots of bug fixes and test cases, and for improving the Java build
system.
@item
-Janis Johnson for ia64 testing and fixes and for her quality improvement
-sidetracks.
+Janis Johnson for ia64 testing and fixes, her quality improvement
+sidetracks, and web page maintenance.
@item
-J. Kean Johnston for OpenServer support.
+Kean Johnston for SCO OpenServer support and various fixes.
@item
Tim Josling for the sample language treelang based originally on Richard
@@ -325,7 +364,7 @@ Klaus Kaempf for his ongoing work to make alpha-vms a viable target.
David Kashtan of SRI adapted GCC to VMS@.
@item
-Ryszard Kabatek for many, many libstdc++ bugfixes and optimizations of
+Ryszard Kabatek for many, many libstdc++ bug fixes and optimizations of
strings, especially member functions, and for auto_ptr fixes.
@item
@@ -363,7 +402,7 @@ Robin Kirkham for cpu32 support.
Mark Klein for PA improvements.
@item
-Thomas Koenig for various bugfixes.
+Thomas Koenig for various bug fixes.
@item
Bruce Korb for the new and improved fixincludes code.
@@ -389,7 +428,8 @@ with analysis and improvements of x86 performance.
Ted Lemon wrote parts of the RTL reader and printer.
@item
-Kriang Lerdsuwanakij for improvements to demangler and various c++ fixes.
+Kriang Lerdsuwanakij for C++ improvements including template as template
+parameter support, and many C++ fixes.
@item
Warren Levy for tremendous work on libgcj (Java Runtime Library) and
@@ -406,7 +446,7 @@ patches.
Robert Lipe for OpenServer support, new testsuites, testing, etc.
@item
-Weiwen Liu for testing and various bugfixes.
+Weiwen Liu for testing and various bug fixes.
@item
Dave Love for his ongoing work with the Fortran front end and
@@ -450,7 +490,7 @@ for Java test code.
Bryce McKinlay for numerous GCJ and libgcj fixes and improvements.
@item
-Adam Megacz for his work on the Win32 port of GCJ.
+Adam Megacz for his work on the Windows port of GCJ.
@item
Michael Meissner for LRS framework, ia32, m32r, v850, m88k, MIPS,
@@ -469,7 +509,7 @@ developers.
Gary Miller ported GCC to Charles River Data Systems machines.
@item
-Alfred Minarik for libstdc++ string and ios bugfixes, and turning the
+Alfred Minarik for libstdc++ string and ios bug fixes, and turning the
entire libstdc++ testsuite namespace-compatible.
@item
@@ -527,6 +567,9 @@ MT-safe string and shadow headers.
Felix Natter for documentation on porting libstdc++.
@item
+Nathanael Nerode for cleaning up the configuration/build process.
+
+@item
NeXT, Inc.@: donated the front end that supports the Objective-C
language.
@@ -538,6 +581,10 @@ engine setup, various documentation fixes and other small fixes.
Geoff Noer for this work on getting cygwin native builds working.
@item
+Diego Novillo for his SPEC performance tracking web pages and assorted
+fixes in the middle end and various back ends.
+
+@item
David O'Brien for the FreeBSD/alpha, FreeBSD/AMD x86-64, FreeBSD/ARM,
FreeBSD/PowerPC, and FreeBSD/SPARC64 ports and related infrastructure
improvements.
@@ -555,6 +602,9 @@ ABI support, improvements to dejagnu's MIPS support, Java configuration
clean-ups and porting work, etc.
@item
+Hartmut Penner for work on the s390 port.
+
+@item
Paul Petersen wrote the machine description for the Alliant FX/8.
@item
@@ -585,13 +635,17 @@ David Reese of Sun Microsystems contributed to the Solaris on PowerPC
port.
@item
+Volker Reichelt for keeping up with the problem reports.
+
+@item
Joern Rennecke for maintaining the sh port, loop, regmove & reload
hacking.
@item
Loren J. Rittle for improvements to libstdc++-v3 including the FreeBSD
port, threading fixes, thread-related configury changes, critical
-threading documentation, and solutions to really tricky I/O problems.
+threading documentation, and solutions to really tricky I/O problems,
+as well as keeping GCC properly working on FreeBSD and continuous testing.
@item
Craig Rodrigues for processing tons of bug reports.
@@ -616,6 +670,10 @@ Juha Sarlin for improvements to the H8 code generator.
Greg Satz assisted in making GCC work on HP-UX for the 9000 series 300.
@item
+Roger Sayle for improvements to constant folding and GCC's RTL optimizers
+as well as for fixing numerous bugs.
+
+@item
Bradley Schatz for his work on the GCJ FAQ.
@item
@@ -667,6 +725,9 @@ Andrey Slepuhin for assorted AIX hacking.
Christopher Smith did the port for Convex machines.
@item
+Danny Smith for his major efforts on the Mingw (and Cygwin) ports.
+
+@item
Randy Smith finished the Sun FPA support.
@item
@@ -716,7 +777,7 @@ Holger Teutsch provided the support for the Clipper CPU.
Gary Thomas for his ongoing work to make the PPC work for GNU/Linux.
@item
-Philipp Thomas for random bugfixes throughout the compiler
+Philipp Thomas for random bug fixes throughout the compiler
@item
Jason Thorpe for thread support in libstdc++ on NetBSD.
@@ -726,7 +787,7 @@ Kresten Krab Thorup wrote the run time support for the Objective-C
language and the fantastic Java bytecode interpreter.
@item
-Michael Tiemann for random bugfixes, the first instruction scheduler,
+Michael Tiemann for random bug fixes, the first instruction scheduler,
initial C++ support, function integration, NS32k, SPARC and M88k
machine description work, delay slot scheduling.
@@ -767,7 +828,7 @@ Dean Wakerley for converting the install documentation from HTML to texinfo
in time for GCC 3.0.
@item
-Krister Walfridsson for random bugfixes.
+Krister Walfridsson for random bug fixes.
@item
Stephen M. Webb for time and effort on making libstdc++ shadow files
@@ -780,7 +841,10 @@ related infrastructure improvements to help x86 code generation,
value range propagation and other work, WE32k port.
@item
-Zack Weinberg for major work on cpplib and various other bugfixes.
+Ulrich Weigand for work on the s390 port.
+
+@item
+Zack Weinberg for major work on cpplib and various other bug fixes.
@item
Matt Welsh for help with Linux Threads support in GCJ.
@@ -821,9 +885,9 @@ Gilles Zunino for help porting Java to Irix.
@end itemize
-
-We'd also like to thank the folks who have contributed time and energy in
-testing GCC:
+In addition to the above, all of which also contributed time and energy in
+testing GCC, we would like to thank the following for their contributions
+to testing:
@itemize @bullet
@item
@@ -860,12 +924,6 @@ Frank Braun
Rodney Brown
@item
-Joe Buck
-
-@item
-Craig Burley
-
-@item
Sidney Cadot
@item
@@ -875,12 +933,6 @@ Bradford Castalia
Ralph Doncaster
@item
-Ulrich Drepper
-
-@item
-David Edelsohn
-
-@item
Richard Emberson
@item
@@ -905,9 +957,6 @@ Charles-Antoine Gauthier
Yung Shing Gene
@item
-Kaveh Ghazi
-
-@item
David Gilbert
@item
@@ -932,21 +981,9 @@ Amancio Hasty
Bryan W. Headley
@item
-Kate Hedstrom
-
-@item
-Richard Henderson
-
-@item
Kevin B. Hendricks
@item
-Manfred Hollstein
-
-@item
-Kamil Iskra
-
-@item
Joep Jansen
@item
@@ -962,30 +999,15 @@ Tobias Kuipers
Anand Krishnaswamy
@item
-Jeff Law
-
-@item
-Robert Lipe
-
-@item
llewelly
@item
Damon Love
@item
-Dave Love
-
-@item
-H.J. Lu
-
-@item
Brad Lucier
@item
-Mumit Khan
-
-@item
Matthias Klose
@item
@@ -995,12 +1017,6 @@ Martin Knoblauch
Jesse Macnish
@item
-David Miller
-
-@item
-Toon Moene
-
-@item
Stefan Morrell
@item
@@ -1013,9 +1029,6 @@ Matthias Mueller
Pekka Nikander
@item
-Alexandre Oliva
-
-@item
Jon Olson
@item
@@ -1037,9 +1050,6 @@ Paul Reilly
Tom Reilly
@item
-Loren J. Rittle
-
-@item
Torsten Rueger
@item
@@ -1049,24 +1059,15 @@ Danny Sadinoff
Marc Schifer
@item
-Peter Schmid
-
-@item
David Schuler
@item
Vin Shelton
@item
-Franz Sirl
-
-@item
Tim Souder
@item
-Mike Stump
-
-@item
Adam Sulmicki
@item
@@ -1076,9 +1077,6 @@ George Talbot
Gregory Warnes
@item
-Carlo Wood
-
-@item
David E. Young
@item
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index bc237c7729d..a6d6fb0db9f 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -6,10 +6,10 @@
@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
+1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
@@ -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
@@ -3978,7 +3974,7 @@ GCC 3.0 evaluates @samp{#} and @samp{##} at the same time and strictly
left to right. Older versions evaluated all @samp{#} operators first,
then all @samp{##} operators, in an unreliable order.
-@item The form of whitespace betwen tokens in preprocessor output
+@item The form of whitespace between tokens in preprocessor output
@xref{Preprocessor Output}, for the current textual format. This is
also the format used by stringification. Normally, the preprocessor
diff --git a/gcc/doc/cppopts.texi b/gcc/doc/cppopts.texi
index 74fe8be5b7d..7abb803dd14 100644
--- a/gcc/doc/cppopts.texi
+++ b/gcc/doc/cppopts.texi
@@ -487,13 +487,6 @@ it does not use shell special characters.
Cancel an assertion with the predicate @var{predicate} and answer
@var{answer}.
-@item -A-
-@opindex A-
-Cancel all predefined assertions and all assertions preceding it on
-the command line. Also, undefine all predefined macros and all
-macros preceding it on the command line. (This is a historical wart and
-may change in the future.)
-
@item -dCHARS
@var{CHARS} is a sequence of one or more of the following characters,
and must not be preceded by a space. Other characters are interpreted
@@ -564,7 +557,7 @@ also passed through to the output file where the macro is expanded.
In addition to the side-effects of the @option{-C} option, the
@option{-CC} option causes all C++-style comments inside a macro
to be converted to C-style comments. This is to prevent later use
-of that macro from inadvertently commenting out the remainer of
+of that macro from inadvertently commenting out the remainder of
the source line.
The @option{-CC} option is generally used to support lint comments.
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 9a0f04cb0af..e9b4e2120ad 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -1,4 +1,5 @@
-@c Copyright (C) 1988,1989,1992,1993,1994,1996,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
+@c Copyright (C) 1988,1989,1992,1993,1994,1996,1998,1999,2000,2001,2002,
+@c 2003 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -435,6 +436,7 @@ extensions, accepted by GCC in C89 mode and in C++.
* Hex Floats:: Hexadecimal floating-point constants.
* Zero Length:: Zero-length arrays.
* Variable Length:: Arrays whose length is computed at run time.
+* Empty Structures:: Structures with no members.
* Variadic Macros:: Macros with a variable number of arguments.
* Escaped Newlines:: Slightly looser rules for escaped newlines.
* Multi-line Strings:: String literals with embedded newlines.
@@ -485,7 +487,6 @@ extensions, accepted by GCC in C89 mode and in C++.
@c the above section title wrapped and causes an underfull hbox.. i
@c changed it from "within" to "in". --mew 4feb93
-
A compound statement enclosed in parentheses may appear as an expression
in GNU C@. This allows you to use loops, switches, and local variables
within an expression.
@@ -886,19 +887,6 @@ the containing function. You should specify, for @var{result}, a value
returned by @code{__builtin_apply}.
@end deftypefn
-@cindex underscores in variables in macros
-@cindex @samp{_} in variables in macros
-@cindex local variables in macros
-@cindex variables, local, in macros
-@cindex macros, local variables in
-
-The reason for using names that start with underscores for the local
-variables is to avoid conflicts with variable names that occur within the
-expressions that are substituted for @code{a} and @code{b}. Eventually we
-hope to design a new form of declaration syntax that allows you to declare
-variables whose scopes start only after their initializers; this will be a
-more reliable way to prevent such conflicts.
-
@node Typeof
@section Referring to a Type with @code{typeof}
@findex typeof
@@ -949,6 +937,19 @@ arithmetic type and evaluates each of its arguments exactly once:
_a > _b ? _a : _b; @})
@end example
+@cindex underscores in variables in macros
+@cindex @samp{_} in variables in macros
+@cindex local variables in macros
+@cindex variables, local, in macros
+@cindex macros, local variables in
+
+The reason for using names that start with underscores for the local
+variables is to avoid conflicts with variable names that occur within the
+expressions that are substituted for @code{a} and @code{b}. Eventually we
+hope to design a new form of declaration syntax that allows you to declare
+variables whose scopes start only after their initializers; this will be a
+more reliable way to prevent such conflicts.
+
@noindent
Some more examples of the use of @code{typeof}:
@@ -1032,6 +1033,7 @@ This will work with all versions of GCC@.
@cindex lvalues, generalized
@cindex extensions, @code{?:}
@cindex @code{?:} extensions
+
Compound expressions, conditional expressions and casts are allowed as
lvalues provided their operands are lvalues. This means that you can take
their addresses or store values into them.
@@ -1357,6 +1359,21 @@ struct bar c = @{ @{ 1, @{ @} @} @}; // @r{Valid.}
struct foo d[1] = @{ @{ 1 @{ 2, 3, 4 @} @} @}; // @r{Invalid.}
@end example
+@node Empty Structures
+@section Structures With No Members
+@cindex empty structures
+@cindex zero-size structures
+
+GCC permits a C structure to have no members:
+
+@example
+struct empty @{
+@};
+@end example
+
+The structure will have size zero. In C++, empty structures are part
+of the language, and the language standard says they have size 1.
+
@node Variable Length
@section Arrays of Variable Length
@cindex variable-length arrays
@@ -2312,12 +2329,12 @@ f () @{ /* @r{Do something.} */; @}
int i __attribute__ ((visibility ("hidden")));
@end smallexample
-See the ELF gABI for complete details, but the short story is
+See the ELF gABI for complete details, but the short story is:
@table @dfn
@item default
Default visibility is the normal case for ELF. This value is
-available for the visibiliy attribute to override other options
+available for the visibility attribute to override other options
that may change the assumed visibility of symbols.
@item hidden
@@ -2354,6 +2371,7 @@ The @var{tls_model} argument should be one of @code{global-dynamic},
@code{local-dynamic}, @code{initial-exec} or @code{local-exec}.
@item regparm (@var{number})
+@cindex @code{regparm} attribute
@cindex functions that are passed arguments in registers on the 386
On the Intel 386, the @code{regparm} attribute causes the compiler to
pass up to @var{number} integer arguments in registers EAX,
@@ -2361,6 +2379,16 @@ EDX, and ECX instead of on the stack. Functions that take a
variable number of arguments will continue to be passed all of their
arguments on the stack.
+Beware that on some ELF systems this attribute is unsuitable for
+global functions in shared libraries with lazy binding (which is the
+default). Lazy binding will send the first call via resolving code in
+the loader, which might assume EAX, EDX and ECX can be clobbered, as
+per the standard calling conventions. Solaris 8 is affected by this.
+GNU systems with GLIBC 2.1 or higher, and FreeBSD, are believed to be
+safe since the loaders there save all registers. (Lazy binding can be
+disabled with the linker or the loader if desired, to avoid the
+problem.)
+
@item stdcall
@cindex functions that pop the argument stack on the 386
On the Intel 386, the @code{stdcall} attribute causes the compiler to
@@ -2537,6 +2565,30 @@ compiler will generate @code{seth/add3} instructions to load their addresses),
and may not be reachable with the @code{bl} instruction (the compiler will
generate the much slower @code{seth/add3/jl} instruction sequence).
+@item far
+@cindex functions which handle memory bank switching
+On 68HC11 and 68HC12 the @code{far} attribute causes the compiler to
+use a calling convention that takes care of switching memory banks when
+entering and leaving a function. This calling convention is also the
+default when using the @option{-mlong-calls} option.
+
+On 68HC12 the compiler will use the @code{call} and @code{rtc} instructions
+to call and return from a function.
+
+On 68HC11 the compiler will generate a sequence of instructions
+to invoke a board-specific routine to switch the memory bank and call the
+real function. The board-specific routine simulates a @code{call}.
+At the end of a function, it will jump to a board-specific routine
+instead of using @code{rts}. The board-specific return routine simulates
+the @code{rtc}.
+
+@item near
+@cindex functions which do not handle memory bank switching on 68HC11/68HC12
+On 68HC11 and 68HC12 the @code{near} attribute causes the compiler to
+use the normal calling convention based on @code{jsr} and @code{rts}.
+This attribute can be used to cancel the effect of the @option{-mlong-calls}
+option.
+
@end table
You can specify multiple attributes in a declaration by separating them
@@ -3010,6 +3062,22 @@ up to a maximum of 8 byte alignment, then specifying @code{aligned(16)}
in an @code{__attribute__} will still only provide you with 8 byte
alignment. See your linker documentation for further information.
+@item cleanup (@var{cleanup_function})
+@cindex @code{cleanup} attribute
+The @code{cleanup} attribute runs a function when the variable goes
+out of scope. This attribute can only be applied to auto function
+scope variables; it may not be applied to parameters or variables
+with static storage duration. The function must take one parameter,
+a pointer to a type compatible with the variable. The return value
+of the function (if any) is ignored.
+
+If @option{-fexceptions} is enabled, then @var{cleanup_function}
+will be run during the stack unwinding that happens during the
+processing of the exception. Note that the @code{cleanup} attribute
+does not allow the exception to be caught, only to perform an action.
+It is undefined what happens if @var{cleanup_function} does not
+return normally.
+
@item mode (@var{mode})
@cindex @code{mode} attribute
This attribute specifies the data type for the declaration---whichever
@@ -4482,7 +4550,7 @@ provided they are of the same size (in fact, you can also cast vectors
to and from other datatypes of the same size).
You cannot operate between vectors of different lengths or different
-signness without a cast.
+signedness without a cast.
A port that supports hardware vector operations, usually provides a set
of built-in functions that can be used to operate on vectors. For
@@ -4550,13 +4618,19 @@ v4si f (v4si a, v4si b, v4si c)
@findex memset
@findex printf
@findex printf_unlocked
+@findex putchar
+@findex puts
@findex rindex
+@findex scanf
@findex sin
@findex sinf
@findex sinl
+@findex snprintf
+@findex sprintf
@findex sqrt
@findex sqrtf
@findex sqrtl
+@findex sscanf
@findex strcat
@findex strchr
@findex strcmp
@@ -4570,6 +4644,11 @@ v4si f (v4si a, v4si b, v4si c)
@findex strrchr
@findex strspn
@findex strstr
+@findex vprintf
+@findex vscanf
+@findex vsnprintf
+@findex vsprintf
+@findex vsscanf
GCC provides a large number of built-in functions other than the ones
mentioned above. Some of these are for internal use in the processing
@@ -4607,7 +4686,8 @@ mode.
The ISO C99 functions @code{conj}, @code{conjf}, @code{conjl},
@code{creal}, @code{crealf}, @code{creall}, @code{cimag}, @code{cimagf},
-@code{cimagl}, @code{llabs} and @code{imaxabs} are handled as built-in
+@code{cimagl}, @code{imaxabs}, @code{llabs}, @code{snprintf},
+@code{vscanf}, @code{vsnprintf} and @code{vsscanf} are handled as built-in
functions except in strict ISO C90 mode. There are also built-in
versions of the ISO C99 functions @code{cosf}, @code{cosl},
@code{expf}, @code{expl}, @code{fabsf}, @code{fabsl},
@@ -4619,10 +4699,13 @@ functions have corresponding versions prefixed with @code{__builtin_}.
The ISO C90 functions @code{abs}, @code{cos}, @code{exp}, @code{fabs},
@code{fprintf}, @code{fputs}, @code{labs}, @code{log},
@code{memcmp}, @code{memcpy},
-@code{memset}, @code{printf}, @code{sin}, @code{sqrt}, @code{strcat},
+@code{memset}, @code{printf}, @code{putchar}, @code{puts}, @code{scanf},
+@code{sin}, @code{snprintf}, @code{sprintf}, @code{sqrt}, @code{sscanf},
+@code{strcat},
@code{strchr}, @code{strcmp}, @code{strcpy}, @code{strcspn},
@code{strlen}, @code{strncat}, @code{strncmp}, @code{strncpy},
-@code{strpbrk}, @code{strrchr}, @code{strspn}, and @code{strstr} are all
+@code{strpbrk}, @code{strrchr}, @code{strspn}, @code{strstr},
+@code{vprintf} and @code{vsprintf} are all
recognized as built-in functions unless @option{-fno-builtin} is
specified (or @option{-fno-builtin-@var{function}} is specified for an
individual function). All of these functions have corresponding
@@ -4864,7 +4947,7 @@ ISO C macro @code{HUGE_VAL}.
Similar to @code{__builtin_huge_val}, except the return type is @code{float}.
@end deftypefn
-@deftypefn {Built-in Function} long double __builtin_huge_vall (void)
+@deftypefn {Built-in Function} {long double} __builtin_huge_vall (void)
Similar to @code{__builtin_huge_val}, except the return
type is @code{long double}.
@end deftypefn
@@ -4879,7 +4962,7 @@ This function is suitable for implementing the ISO C99 macro @code{INFINITY}.
Similar to @code{__builtin_inf}, except the return type is @code{float}.
@end deftypefn
-@deftypefn {Built-in Function} long double __builtin_infl (void)
+@deftypefn {Built-in Function} {long double} __builtin_infl (void)
Similar to @code{__builtin_inf}, except the return
type is @code{long double}.
@end deftypefn
@@ -4888,7 +4971,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
@@ -4904,7 +4987,7 @@ that it is considered a compile-time constant.
Similar to @code{__builtin_nan}, except the return type is @code{float}.
@end deftypefn
-@deftypefn {Built-in Function} long double __builtin_nanl (const char *str)
+@deftypefn {Built-in Function} {long double} __builtin_nanl (const char *str)
Similar to @code{__builtin_nan}, except the return type is @code{long double}.
@end deftypefn
@@ -4918,7 +5001,7 @@ to be a signaling NaN. The @code{nans} function is proposed by
Similar to @code{__builtin_nans}, except the return type is @code{float}.
@end deftypefn
-@deftypefn {Built-in Function} long double __builtin_nansl (const char *str)
+@deftypefn {Built-in Function} {long double} __builtin_nansl (const char *str)
Similar to @code{__builtin_nans}, except the return type is @code{long double}.
@end deftypefn
@@ -5620,7 +5703,9 @@ vector unsigned int vec_mulo (vector unsigned short,
vector signed int vec_mulo (vector signed short, vector signed short);
vector float vec_nmsub (vector float, vector float, vector float);
+@end smallexample
+@smallexample
vector float vec_nor (vector float, vector float);
vector signed int vec_nor (vector signed int, vector signed int);
vector unsigned int vec_nor (vector unsigned int, vector unsigned int);
@@ -6186,7 +6271,9 @@ vector signed int vec_any_eq (vector signed char, vector unsigned char);
vector signed int vec_any_eq (vector signed char, vector signed char);
vector signed int vec_any_eq (vector unsigned char, vector signed char);
+@end smallexample
+@smallexample
vector signed int vec_any_eq (vector unsigned char,
vector unsigned char);
vector signed int vec_any_eq (vector signed short,
@@ -6403,7 +6490,7 @@ declarations.
The following pragmas are available for all architectures running the
Darwin operating system. These are useful for compatibility with other
-MacOS compilers.
+Mac OS compilers.
@table @code
@item mark @var{tokens}@dots{}
@@ -6465,7 +6552,8 @@ empty string.
This pragma is similar in intent to to the asm labels extension
(@pxref{Asm Labels}) in that the system programmer wants to change
the assembly-level ABI without changing the source-level API. The
-preprocessor defines @code{__EXTERN_PREFIX} if the pragma is available.
+preprocessor defines @code{__PRAGMA_EXTERN_PREFIX} if the pragma is
+available.
@end table
@node Unnamed Fields
@@ -6682,7 +6770,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
@@ -6718,7 +6806,7 @@ Add @code{__thread} to the list of specifiers in paragraph 3.
New section before @b{[basic.stc.static]}
@quotation
-The keyword @code{__thread} applied to an non-local object gives the
+The keyword @code{__thread} applied to a non-local object gives the
object thread storage duration.
A local variable or class data member declared both @code{static}
@@ -7167,7 +7255,6 @@ If any calls were not inlined, you will get linker errors.
@node Template Instantiation
@section Where's the Template?
-
@cindex template instantiation
C++ templates are the first language feature to require more
@@ -7286,8 +7373,8 @@ compile it without @option{-fno-implicit-templates} so you get all of the
instances required by your explicit instantiations (but not by any
other files) without having to specify them as well.
-g++ has extended the template instantiation syntax outlined in the
-Working Paper to allow forward declaration of explicit instantiations
+g++ has extended the template instantiation syntax given in the ISO
+standard to allow forward declaration of explicit instantiations
(with @code{extern}), instantiation of the compiler support data for a
template class (i.e.@: the vtable) without instantiating any of its
members (with @code{inline}), and instantiation of only the static data
@@ -7313,7 +7400,6 @@ more discussion of these pragmas.
@node Bound member functions
@section Extracting the function pointer from a bound pointer to member function
-
@cindex pmf
@cindex pointer to member function
@cindex bound pointer to member function
diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi
index 1e9fcf48e18..721150ac8a1 100644
--- a/gcc/doc/gcc.texi
+++ b/gcc/doc/gcc.texi
@@ -60,25 +60,12 @@
\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
+under the terms of the GNU Free Documentation License, Version 1.2 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
@@ -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,12 +148,11 @@ 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.
* Contributing:: How to contribute to testing and developing GCC.
-* VMS:: Using GCC on VMS.
* Funding:: How to help assure funding for free software.
* GNU Project:: The GNU Project and GNU/Linux.
@@ -195,7 +177,6 @@ Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
@include bugreport.texi
@include service.texi
@include contribute.texi
-@include vms.texi
@include funding.texi
@include gnu.texi
diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi
index 35bd02cc21a..b6bec095fa0 100644
--- a/gcc/doc/gccint.texi
+++ b/gcc/doc/gccint.texi
@@ -46,25 +46,12 @@
\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
+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
+under the terms of the GNU Free Documentation License, Version 1.2 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
@@ -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..85d528982e1 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -1,14 +1,15 @@
@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
+under the terms of the GNU Free Documentation License, Version 1.2 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
@@ -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.
@@ -193,14 +194,15 @@ option is not supplied, it defaults to the current directory.
@end table
-Gcov should be run with the current directory the same as that when you
-invoked the compiler. Otherwise it will not be able to locate the source
-files. Gcov produces files called @file{@var{mangledname}.gcov} in the
-current directory. These contain the coverage information of the source
-file they correspond to. One @file{.gcov} file is produced for each
-source file containing code, which was compiled to produce the data
-files. The @file{.gcov} files contain the ':' separated fields along
-with program source code. The format is
+@command{gcov} should be run with the current directory the same as that
+when you invoked the compiler. Otherwise it will not be able to locate
+the source files. @command{gcov} produces files called
+@file{@var{mangledname}.gcov} in the current directory. These contain
+the coverage information of the source file they correspond to.
+One @file{.gcov} file is produced for each source file containing code,
+which was compiled to produce the data files. The @file{.gcov} files
+contain the ':' separated fields along with program source code. The
+format is
@smallexample
@var{execution_count}:@var{line_number}:@var{source line text}
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index e0d9a33cde6..31d52522553 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002
+@c Copyright (C) 2002, 2003
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.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,
-there's no need to do anything special, the inner stucture inherits the
+When a structure contains another structure that is parameterized,
+there's no need to do anything special, the inner structure 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/headerdirs.texi b/gcc/doc/headerdirs.texi
index 17db57f0560..beac0ddde22 100644
--- a/gcc/doc/headerdirs.texi
+++ b/gcc/doc/headerdirs.texi
@@ -15,7 +15,7 @@ are already suitable for ISO C and GNU CC, nothing special need be
done).
@code{GPLUSPLUS_INCLUDE_DIR} means the same thing for native and cross. It
-is where @code{g++} looks first for header files. The C++ library
+is where @command{g++} looks first for header files. The C++ library
installs only target independent header files in that directory.
@code{LOCAL_INCLUDE_DIR} is used only by native compilers. GNU CC
diff --git a/gcc/doc/include/fdl.texi b/gcc/doc/include/fdl.texi
index 1f3d8b6521d..2a4da780e10 100644
--- a/gcc/doc/include/fdl.texi
+++ b/gcc/doc/include/fdl.texi
@@ -33,10 +33,10 @@ of this license document, but changing it is not allowed.
@end ifclear
@cindex FDL, GNU Free Documentation License
-@center Version 1.1, March 2000
+@center Version 1.2, November 2002
@display
-Copyright @copyright{} 2000 Free Software Foundation, Inc.
+Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
@@ -48,12 +48,12 @@ of this license document, but changing it is not allowed.
PREAMBLE
The purpose of this License is to make a manual, textbook, or other
-written document @dfn{free} in the sense of freedom: to assure everyone
-the effective freedom to copy and redistribute it, with or without
-modifying it, either commercially or noncommercially. Secondarily,
-this License preserves for the author and publisher a way to get
-credit for their work, while not being considered responsible for
-modifications made by others.
+functional and useful document @dfn{free} in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
This License is a kind of ``copyleft'', which means that derivative
works of the document must themselves be free in the same sense. It
@@ -71,57 +71,69 @@ principally for works whose purpose is instruction or reference.
@item
APPLICABILITY AND DEFINITIONS
-This License applies to any manual or other work that contains a
-notice placed by the copyright holder saying it can be distributed
-under the terms of this License. The ``Document'', below, refers to any
-such manual or work. Any member of the public is a licensee, and is
-addressed as ``you''.
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The ``Document'', below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as ``you''. You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
A ``Modified Version'' of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
-A ``Secondary Section'' is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject. (For example, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.) The relationship could be a matter of historical
+A ``Secondary Section'' is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The ``Invariant Sections'' are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
The ``Cover Texts'' are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
A ``Transparent'' copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
-general public, whose contents can be viewed and edited directly and
+general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
-format whose markup has been designed to thwart or discourage
-subsequent modification by readers is not Transparent. A copy that is
-not ``Transparent'' is called ``Opaque''.
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input format,
-@acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed
-for human modification. Opaque formats include PostScript,
-@acronym{PDF}, proprietary formats that can be read and edited only by
-proprietary word processors, @acronym{SGML} or @acronym{XML} for which
-the @acronym{DTD} and/or processing tools are not generally available,
-and the machine-generated @acronym{HTML} produced by some word
-processors for output purposes only.
+@sc{ascii} without markup, Texinfo input format, La@TeX{} input
+format, @acronym{SGML} or @acronym{XML} using a publicly available
+@acronym{DTD}, and standard-conforming simple @acronym{HTML},
+PostScript or @acronym{PDF} designed for human modification. Examples
+of transparent image formats include @acronym{PNG}, @acronym{XCF} and
+@acronym{JPG}. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, @acronym{SGML} or
+@acronym{XML} for which the @acronym{DTD} and/or processing tools are
+not generally available, and the machine-generated @acronym{HTML},
+PostScript or @acronym{PDF} produced by some word processors for
+output purposes only.
The ``Title Page'' means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
@@ -130,6 +142,21 @@ formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
+A section ``Entitled XYZ'' means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as ``Acknowledgements'',
+``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
+of such a section when you modify the Document means that it remains a
+section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
@item
VERBATIM COPYING
@@ -149,9 +176,10 @@ you may publicly display copies.
@item
COPYING IN QUANTITY
-If you publish printed copies of the Document numbering more than 100,
-and the Document's license notice requires Cover Texts, you must enclose
-the copies in covers that carry, clearly and legibly, all these Cover
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
@@ -169,16 +197,15 @@ pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
-a publicly-accessible computer-network location containing a complete
-Transparent copy of the Document, free of added material, which the
-general network-using public has access to download anonymously at no
-charge using public-standard network protocols. If you use the latter
-option, you must take reasonably prudent steps, when you begin
-distribution of Opaque copies in quantity, to ensure that this
-Transparent copy will remain thus accessible at the stated location
-until at least one year after the last time you distribute an Opaque
-copy (directly or through your agents or retailers) of that edition to
-the public.
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
@@ -206,7 +233,8 @@ if the original publisher of that version gives permission.
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has less than five).
+Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement.
@item
State on the Title page the name of the publisher of the
@@ -232,10 +260,10 @@ and required Cover Texts given in the Document's license notice.
Include an unaltered copy of this License.
@item
-Preserve the section entitled ``History'', and its title, and add to
-it an item stating at least the title, year, new authors, and
+Preserve the section Entitled ``History'', Preserve its Title, and add
+to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
-there is no section entitled ``History'' in the Document, create one
+there is no section Entitled ``History'' in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
@@ -250,10 +278,10 @@ least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
@item
-In any section entitled ``Acknowledgments'' or ``Dedications'',
-preserve the section's title, and preserve in the section all the
-substance and tone of each of the contributor acknowledgments
-and/or dedications given therein.
+For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
+the Title of the section, and preserve in the section all the
+substance and tone of each of the contributor acknowledgements and/or
+dedications given therein.
@item
Preserve all the Invariant Sections of the Document,
@@ -261,12 +289,15 @@ unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
@item
-Delete any section entitled ``Endorsements''. Such a section
+Delete any section Entitled ``Endorsements''. Such a section
may not be included in the Modified Version.
@item
-Do not retitle any existing section as ``Endorsements''
-or to conflict in title with any Invariant Section.
+Do not retitle any existing section to be Entitled ``Endorsements'' or
+to conflict in title with any Invariant Section.
+
+@item
+Preserve any Warranty Disclaimers.
@end enumerate
If the Modified Version includes new front-matter sections or
@@ -276,7 +307,7 @@ of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
-You may add a section entitled ``Endorsements'', provided it contains
+You may add a section Entitled ``Endorsements'', provided it contains
nothing but endorsements of your Modified Version by various
parties---for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
@@ -304,7 +335,7 @@ License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
-license notice.
+license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
@@ -315,11 +346,11 @@ author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
-In the combination, you must combine any sections entitled ``History''
-in the various original documents, forming one section entitled
-``History''; likewise combine any sections entitled ``Acknowledgments'',
-and any sections entitled ``Dedications''. You must delete all sections
-entitled ``Endorsements.''
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''. You must delete all
+sections Entitled ``Endorsements.''
@item
COLLECTIONS OF DOCUMENTS
@@ -340,18 +371,20 @@ AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
-distribution medium, does not as a whole count as a Modified Version
-of the Document, provided no compilation copyright is claimed for the
-compilation. Such a compilation is called an ``aggregate'', and this
-License does not apply to the other self-contained works thus compiled
-with the Document, on account of their being thus compiled, if they
-are not themselves derivative works of the Document.
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one quarter
-of the entire aggregate, the Document's Cover Texts may be placed on
-covers that surround only the Document within the aggregate.
-Otherwise they must appear on covers around the whole aggregate.
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
@item
TRANSLATION
@@ -362,10 +395,17 @@ Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
-translation of this License provided that you also include the
-original English version of this License. In case of a disagreement
-between the translation and the original English version of this
-License, the original English version will prevail.
+translation of this License, and all the license notices in the
+Document, and any Warrany Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
@item
TERMINATION
@@ -408,19 +448,28 @@ license notices just after the title page:
@group
Copyright (C) @var{year} @var{your name}.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.1
+ under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
- with the Invariant Sections being @var{list their titles}, with the
- Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
@end group
@end smallexample
-If you have no Invariant Sections, write ``with no Invariant Sections''
-instead of saying which ones are invariant. If you have no
-Front-Cover Texts, write ``no Front-Cover Texts'' instead of
-``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the ``with...Texts.'' line with this:
+
+@smallexample
+@group
+ with the Invariant Sections being @var{list their titles}, with
+ the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
+ being @var{list}.
+@end group
+@end smallexample
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
diff --git a/gcc/doc/include/gcc-common.texi b/gcc/doc/include/gcc-common.texi
index 800dfefe402..0a51d93d70e 100644
--- a/gcc/doc/include/gcc-common.texi
+++ b/gcc/doc/include/gcc-common.texi
@@ -4,7 +4,12 @@
@c Common values used in the GCC manuals:
-@set version-GCC 3.3
+@set version-GCC 3.3.1
+
+@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:
diff --git a/gcc/doc/include/gpl.texi b/gcc/doc/include/gpl.texi
index 4304b724e0d..eaff30c477b 100644
--- a/gcc/doc/include/gpl.texi
+++ b/gcc/doc/include/gpl.texi
@@ -7,7 +7,7 @@ gfdl(7), fsf-funding(7).
@c man end
@c man begin COPYRIGHT
Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -20,7 +20,7 @@ of this license document, but changing it is not allowed.
@display
Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -365,9 +365,8 @@ 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 this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@end smallexample
Also add information on how to contact you by electronic and paper mail.
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..c0b7f82dcd7 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -58,12 +58,12 @@
@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.
+1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
@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
+under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, the Front-Cover texts being (a) (see below), and
with the Back-Cover Texts being (b) (see below). A copy of the
@@ -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
@@ -281,7 +281,7 @@ file system, the shell's built-in @command{pwd} command will return
temporary pathnames. Using these can lead to various sorts of build
problems. To avoid this issue, set the @env{PWDCMD} environment
variable to an automounter-aware @command{pwd} command, e.g.,
-@command{pawd} or @command{amq -w}, during the configuration and build
+@command{pawd} or @samp{amq -w}, during the configuration and build
phases.
First, we @strong{highly} recommend that GCC be built into a
@@ -346,7 +346,7 @@ implies that the host defaults to @var{target}.
@heading Options specification
Use @var{options} to override several configure time options for
-GCC@. A list of supported @var{options} follows; @command{configure
+GCC@. A list of supported @var{options} follows; @samp{configure
--help} may list other options, but those not listed below may not
work and should not normally be used.
@@ -358,7 +358,10 @@ other than the default. The toplevel installation directory defaults to
@file{/usr/local}.
We @strong{highly} recommend against @var{dirname} being the same or a
-subdirectory of @var{objdir} or vice versa.
+subdirectory of @var{objdir} or vice versa. If specifying a directory
+beneath a user's home directory tree, some shells will not expand
+@var{dirname} correctly if it contains the @samp{~} metacharacter; use
+@env{$HOME} instead.
These additional options control where certain parts of the distribution
are installed. Normally you should not need to use these options.
@@ -559,23 +562,21 @@ 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}
@item @samp{mips-@var{any}}
+@item @samp{sparc-sun-solaris2.@var{any}}
+@item @samp{sparc64-@var{any}-solaris2.@var{any}}
@end itemize
-On the systems listed above (except for the HP-PA, for ISC on the
-386, and for @samp{mips-sgi-irix5.*}), if you use the GNU assembler,
+On the systems listed above (except for the HP-PA, the SPARC, for ISC on
+the 386, and for @samp{mips-sgi-irix5.*}), if you use the GNU assembler,
you should also use the GNU linker (and specify @option{--with-gnu-ld}).
-@item --with-as=@var{pathname}
+@item @anchor{with-as}--with-as=@var{pathname}
Specify that the
compiler should use the assembler pointed to by @var{pathname}, rather
than the one found by the standard rules to find an assembler, which
@@ -600,12 +601,11 @@ and want to choose one that is not found by the above rules.
@item @anchor{with-gnu-ld}--with-gnu-ld
Same as @uref{#with-gnu-as,,@option{--with-gnu-as}}
-but for linker.
-
+but for the linker.
@item --with-ld=@var{pathname}
-Same as
-@option{--with-as}, but for the linker.
+Same as @uref{#with-as,,@option{--with-as}}
+but for the linker.
@item --with-stabs
Specify that stabs debugging
@@ -720,8 +720,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 +822,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}
@@ -951,7 +951,7 @@ Other broken versions may recompile parts of the compiler when
installing the compiler.)
Some commands executed when making the compiler may fail (return a
-nonzero status) and be ignored by @code{make}. These failures, which
+nonzero status) and be ignored by @command{make}. These failures, which
are often due to files that were not found, are expected, and can safely
be ignored.
@@ -983,7 +983,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.
@@ -1097,12 +1097,13 @@ Note that if an error occurs in any step the make process will exit.
@section Building in parallel
-If you have a multiprocessor system you can use @samp{make bootstrap
-MAKE="make -j 2" -j 2} or just @samp{make -j 2 bootstrap}
-for GNU Make 3.79 and above instead of just @samp{make bootstrap}
-when building GCC@. You can use a bigger number instead of two if
-you like. In most cases, it won't help to use a number bigger than
-the number of processors in your machine.
+You can use @samp{make bootstrap MAKE="make -j 2" -j 2}, or just
+@samp{make -j 2 bootstrap} for GNU Make 3.79 and above, instead of
+@samp{make bootstrap} to build GCC in parallel.
+You can also specify a bigger number, and in most cases using a value
+greater than the number of processors in your machine will result in
+fewer and shorter I/O latency hits, thus improving overall throughput;
+this is especially true for slow drives and network filesystems.
@section Building the Ada compiler
@@ -1185,6 +1186,9 @@ Before you install GCC, we encourage you to run the testsuites and to
compare your results with results from a similar configuration that have
been submitted to the
@uref{http://gcc.gnu.org/ml/gcc-testresults/,,gcc-testresults mailing list}.
+Some of these archived results are linked from the build status lists
+at @uref{http://gcc.gnu.org/buildstat.html}, although not everyone who
+reports a successful build runs the testsuites and submits the results.
This step is optional and may require you to download additional software,
but it can give you confidence in your new GCC installation or point out
problems before you install and start using your new GCC.
@@ -1195,68 +1199,57 @@ These are part of the full distribution, but if you downloaded the
separately.
Second, you must have the testing tools installed. This includes
-a @uref{http://www.gnu.org/software/dejagnu/,,current version of DejaGnu};
-dejagnu 1.3 is not sufficient.
-It also includes Tcl and Expect; the DejaGnu site has links to these.
-
-Now you may need specific preparations:
+@uref{http://www.gnu.org/software/dejagnu/,,DejaGnu} 1.4.2 (or later),
+Tcl, and Expect; the DejaGnu site has links to these.
-@itemize @bullet
-
-@item
-The following environment variables may need to be set appropriately, as in
-the following example (which assumes that DejaGnu has been installed
-under @file{/usr/local}):
+If the directories where @command{runtest} and @command{expect} were
+installed are not in the @env{PATH}, you may need to set the following
+environment variables appropriately, as in the following example (which
+assumes that DejaGnu has been installed under @file{/usr/local}):
@example
TCL_LIBRARY = /usr/local/share/tcl8.0
DEJAGNULIBS = /usr/local/share/dejagnu
@end example
-On systems such as Cygwin, these paths are required to be actual
+(On systems such as Cygwin, these paths are required to be actual
paths, not mounts or links; presumably this is due to some lack of
-portability in the DejaGnu code.
-
-If the directories where @command{runtest} and @command{expect} were
-installed are in the @env{PATH}, it should not be necessary to set these
-environment variables.
+portability in the DejaGnu code.)
-@end itemize
Finally, you can run the testsuite (which may take a long time):
@example
cd @var{objdir}; make -k check
@end example
-The testing process will try to test as many components in the GCC
-distribution as possible, including the C, C++, Objective-C and Fortran
-compilers as well as the C++ and Java runtime libraries.
-
-While running the testsuite, DejaGnu might emit messages resembling
+This will test various components of GCC, such as compiler
+front ends and runtime libraries. While running the testsuite, DejaGnu
+might emit some harmless messages resembling
@samp{WARNING: Couldn't find the global config file.} or
-@samp{WARNING: Couldn't find tool init file}.
-These messages are harmless and do not affect the validity of the tests.
+@samp{WARNING: Couldn't find tool init file} that can be ignored.
@section How can I run the test suite on selected tests?
-As a first possibility to cut down the number of tests that are run it is
-possible to use @samp{make check-gcc} or @samp{make check-g++}
-in the @file{gcc} subdirectory of the object directory. To further cut down the
-tests the following is possible:
+In order to run sets of tests selectively, there are targets
+@samp{make check-gcc} and @samp{make check-g++}
+in the @file{gcc} subdirectory of the object directory. You can also
+just run @samp{make check} in a subdirectory of the object directory.
+
+
+A more selective way to just run all @command{gcc} execute tests in the
+testsuite is to use
@example
make check-gcc RUNTESTFLAGS="execute.exp @var{other-options}"
@end example
-This will run all @command{gcc} execute tests in the testsuite.
+Likewise, in order to run only the @command{g++} ``old-deja'' tests in
+the testsuite with filenames matching @samp{9805*}, you would use
@example
make check-g++ RUNTESTFLAGS="old-deja.exp=9805* @var{other-options}"
@end example
-This will run the @command{g++} ``old-deja'' tests in the testsuite where the filename
-matches @samp{9805*}.
-
The @file{*.exp} files are located in the testsuite directories of the GCC
source, the most important ones being @file{compile.exp},
@file{execute.exp}, @file{dg.exp} and @file{old-deja.exp}.
@@ -1264,9 +1257,9 @@ To get a list of the possible @file{*.exp} files, pipe the
output of @samp{make check} into a file and look at the
@samp{Running @dots{} .exp} lines.
-To run only the tests for a library, run @samp{make check} from the
-the library's testsuite in a subdirectory of the object directory:
-@file{libstdc++-v3/testsuite} or @file{libcgj/testsuite}.
+The Java runtime tests can be executed via @samp{make check}
+in the @file{@var{target}/libjava/testsuite} directory in
+the build tree.
@section Additional testing for Java Class Libraries
@@ -1277,13 +1270,18 @@ 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}
+The result of running the testsuite are various @file{*.sum} and @file{*.log}
files in the testsuite subdirectories. The @file{*.log} files contain a
detailed log of the compiler invocations and the corresponding
-results, the @file{*.sum} files summarize the results. These summaries list
-all the tests that have been run with a corresponding status code:
+results, the @file{*.sum} files summarize the results. These summaries
+contain status codes for all tests:
@itemize @bullet
@item
@@ -1323,12 +1321,7 @@ make sure it is in your @env{PATH}. The file @file{your_commentary.txt} is
prepended to the testsuite summary and should contain any special
remarks you have on your results or your build environment. Please
do not edit the testsuite result block or the subject line, as these
-messages are automatically parsed and presented at the
-@uref{http://gcc.gnu.org/testresults/,,GCC testresults} web
-page. Here you can also gather information on how specific tests
-behave on different platforms and compare them with your results. A
-few failing testcases are possible even on released versions and you
-should look here first if you think your results are unreasonable.
+messages may be automatically processed.
@html
<hr />
@@ -1368,6 +1361,34 @@ in @file{@var{libdir}} (normally @file{@var{prefix}/lib}); internal
parts of the compiler in @file{@var{libdir}/gcc-lib}; documentation in
info format in @file{@var{infodir}} (normally @file{@var{prefix}/info}).
+When installing cross-compilers, GCC's executables
+are not only installed into @file{@var{bindir}}, that
+is, @file{@var{exec-prefix}/bin}, but additionally into
+@file{@var{exec-prefix}/@var{target-alias}/bin}, if that directory
+exists. Typically, such @dfn{tooldirs} hold target-specific
+binutils, including assembler and linker.
+
+Installation into a temporary staging area or into a @command{chroot}
+jail can be achieved with the command
+
+@example
+make DESTDIR=@var{path-to-rootdir} install
+@end example
+
+@noindent where @var{path-to-rootdir} is the absolute path of
+a directory relative to which all installation paths will be
+interpreted. Note that the directory specified by @code{DESTDIR}
+need not exist yet; it will be created if necessary.
+
+There is a subtle point with tooldirs and @code{DESTDIR}:
+If you relocate a cross-compiler installation with
+e.g.@: @samp{DESTDIR=@var{rootdir}}, then the directory
+@file{@var{rootdir}/@var{exec-prefix}/@var{target-alias}/bin} will
+be filled with duplicated GCC executables only if it already exists,
+it will not be created otherwise. This is regarded as a feature,
+not as a bug, because it gives slightly more control to the packagers
+using the @code{DESTDIR} feature.
+
If you built a released version of GCC using @samp{make bootstrap} then please
quickly review the build status page for your release, available from
@uref{http://gcc.gnu.org/buildstat.html}.
@@ -1434,7 +1455,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
@@ -1487,8 +1508,8 @@ AIX:
DOS---@uref{http://www.delorie.com/djgpp/,,DJGPP}.
@item
-Hitachi H8/300[HS]---@uref{http://h8300-hms.sourceforge.net/,,GNU
-Development Tools for the Hitachi H8/300[HS] Series}.
+Renesas H8/300[HS]---@uref{http://h8300-hms.sourceforge.net/,,GNU
+Development Tools for the Renesas H8/300[HS] Series}.
@item
HP-UX:
@@ -1501,11 +1522,15 @@ HP-UX:
@end itemize
@item
+Motorola 68HC11/68HC12---@uref{http://www.gnu-m68hc11.org,,GNU
+Development Tools for the Motorola 68HC11/68HC12}.
+
+@item
@uref{http://www.sco.com/skunkware/devtools/index.html#gcc,,SCO
OpenServer/Unixware}.
@item
-Sinix/Reliant Unix---@uref{ftp://ftp.siemens.de/sni/mr/pd/gnu/gcc,,Siemens}.
+Sinix/Reliant Unix---@uref{ftp://ftp.fujitsu-siemens.com/pub/pd/gnu/gcc/,,Siemens}.
@item
Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}.
@@ -1514,7 +1539,7 @@ Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}.
SGI---@uref{http://freeware.sgi.com/,,SGI Freeware}.
@item
-Windows 95, 98, and NT:
+Microsoft Windows:
@itemize
@item
The @uref{http://sources.redhat.com/cygwin/,,Cygwin} project;
@@ -1523,10 +1548,14 @@ The @uref{http://www.mingw.org/,,MinGW} project.
@end itemize
@item
-@uref{ftp://ftp.thewrittenword.com/packages/free/by-name/,,The
-Written Word} offers binaries for Solaris 2.5.1, 2.6, 2.7/SPARC, 2.7/Intel,
-IRIX 6.2, 6.5, Digital UNIX 4.0D, HP-UX 10.20, and HP-UX 11.00.
-
+@uref{ftp://ftp.thewrittenword.com/packages/by-name/,,The
+Written Word} offers binaries for
+AIX 4.3.2.
+IRIX 6.5,
+Digital UNIX 4.0D and 5.1,
+GNU/Linux (i386),
+HP-UX 10.20, 11.00, and 11.11, and
+Solaris/SPARC 2.5.1, 2.6, 2.7, 8, and 9,
@end itemize
In addition to those specific offerings, you can get a binary
@@ -1694,7 +1723,7 @@ GNU Compiler Collection on your machine.
@item
@uref{#sparc-*-linux*,,sparc-*-linux*}
@item
-@uref{#sparc64-*-*,,sparc64-*-*}
+@uref{#sparc64-*-solaris2*,,sparc64-*-solaris2*}
@item
@uref{#sparcv9-*-solaris2*,,sparcv9-*-solaris2*}
@item
@@ -1792,7 +1821,7 @@ target in an integral value on the host cannot be performed. Building
cross-compilers on the Alpha for 32-bit machines has only been tested in
a few cases and may not work properly.
-@code{make compare} may fail on old versions of DEC Unix unless you add
+@samp{make compare} may fail on old versions of DEC Unix unless you add
@option{-save-temps} to @code{CFLAGS}. On these systems, the name of the
assembler input file is stored in the object file, and that makes
comparison fail if it differs between the @code{stage1} and
@@ -1858,6 +1887,8 @@ This configuration is intended for embedded systems.
<hr />
@end html
@heading @anchor{arm-*-aout}arm-*-aout
+This configuration is obsoleted in GCC 3.3.
+
Advanced RISC Machines ARM-family processors. These are often used in
embedded applications. There are no standard Unix configurations.
This configuration corresponds to the basic instruction sequences and will
@@ -1904,9 +1935,9 @@ can also be obtained from:
@item
@uref{http://www.openavr.org,,http://www.openavr.org}
@item
-@uref{http://home.overta.ru/users/denisc,,http://home.overta.ru/users/denisc}
+@uref{http://home.overta.ru/users/denisc/,,http://home.overta.ru/users/denisc/}
@item
-@uref{http://www.amelek.gda.pl/avr,,http://www.amelek.gda.pl/avr}
+@uref{http://www.amelek.gda.pl/avr/,,http://www.amelek.gda.pl/avr/}
@end itemize
We @emph{strongly} recommend using binutils 2.13 or newer.
@@ -2031,22 +2062,19 @@ of the configuration used in the stock FreeBSD configuration of GCC. In
particular, @option{--enable-threads} is now configured by default.
However, as a general user, do not attempt to replace the system
compiler with this release. Known to bootstrap and check with good
-results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4, 4.5-STABLE and 5-CURRENT@.
+results on FreeBSD 4.8-STABLE and 5-CURRENT@. In the past, known to
+bootstrap and check with good results on FreeBSD 3.0, 3.4, 4.0, 4.2,
+4.3, 4.4, 4.5-STABLE@.
In principle, @option{--enable-threads} is now compatible with
@option{--enable-libgcj} on FreeBSD@. However, it has only been built
-and tested on @samp{i386-*-freebsd4.5} and @samp{alpha-*-freebsd5.0}.
+and tested on @samp{i386-*-freebsd[45]} and @samp{alpha-*-freebsd[45]}.
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
-generating @file{java/lang/Double.h} (just copy the version built on
-@samp{i386-*-freebsd*} and rerun the top-level @command{gmake} with no
-arguments and it
-should properly complete the bootstrap). Other CPU architectures
+4.5-RELEASE@. Other CPU architectures
supported by FreeBSD will require additional configuration tuning in, at
the very least, both boehm-gc and libffi.
@@ -2056,7 +2084,7 @@ Shared @file{libgcc_s.so} is now built and installed by default.
<hr />
@end html
@heading @anchor{h8300-hms}h8300-hms
-Hitachi H8/300 series of processors.
+Renesas H8/300 series of processors.
Please have a look at our @uref{binaries.html,,binaries page}.
@@ -2069,6 +2097,7 @@ longer a multiple of 2 bytes.
<hr />
@end html
@heading @anchor{hppa*-hp-hpux*}hppa*-hp-hpux*
+Support for HP-UX versions 7, 8, and 9 is obsoleted in GCC 3.3.
We @emph{highly} recommend using gas/binutils 2.8 or newer on all hppa
platforms; you may encounter a variety of problems when using the HP
@@ -2103,6 +2132,7 @@ More specific information to @samp{hppa*-hp-hpux*} targets follows.
<hr />
@end html
@heading @anchor{hppa*-hp-hpux9}hppa*-hp-hpux9
+Support for this system is obsoleted in GCC 3.3.
The HP assembler has major problems on this platform. We've tried to work
around the worst of the problems. However, those workarounds may be causing
@@ -2127,15 +2157,15 @@ charge:
@itemize @bullet
@item
@html
-<a href="http://us-support.external.hp.com">US, Canada, Asia-Pacific, and
+<a href="http://us.itrc.hp.com/service/home/home.do">US, Canada, Asia-Pacific, and
Latin-America</a>
@end html
@ifnothtml
-@uref{http://us-support.external.hp.com,,}US, Canada, Asia-Pacific, and
-Latin-America
+@uref{http://us.itrc.hp.com/service/home/home.do,,} US, Canada, Asia-Pacific,
+and Latin-America.
@end ifnothtml
@item
-@uref{http://europe-support.external.hp.com,,Europe}
+@uref{http://europe.itrc.hp.com/service/home/home.do,,} Europe.
@end itemize
The HP assembler on these systems is much better than the hpux9 assembler,
@@ -2154,11 +2184,23 @@ bootstrap}.
GCC 3.0 and up support HP-UX 11. On 64-bit capable systems, there
are two distinct ports. The @samp{hppa2.0w-hp-hpux11*} port generates
code for the 32-bit pa-risc runtime architecture. It uses the HP
-linker and is currently the default selected by config.guess. The
-optional @samp{hppa64-hp-hpux11*} port generates 64-bit code for the
-pa-risc 2.0 architecture. It must be explicitly selected using the
-@samp{--host=hppa64-hp-hpux11*} configure option. Different prefixes
-must be used if both ports are to be installed on the same system.
+linker. The @samp{hppa64-hp-hpux11*} port generates 64-bit code for the
+pa-risc 2.0 architecture. The script config.guess now selects the port
+type based on the type compiler detected during configuration. You must
+set your @env{PATH} or define @env{CC} so that configure finds an appropriate
+compiler for the initial bootstrap. Different prefixes must be used if
+both ports are to be installed on the same system.
+
+It is best to explicitly configure the @samp{hppa64-hp-hpux11*} target
+with the @option{--with-ld=@dots{}} option. We support both the HP
+and GNU linkers for this target. The two linkers require different
+link commands. Thus, it's not possible to switch linkers during a
+GCC build. This has been been reported to occur in a unified build
+of binutils and GCC.
+
+GCC 2.95.x is not supported under HP-UX 11 and cannot be used to
+compile GCC 3.0 and up. Refer to @uref{binaries.html,,binaries} for
+information about obtaining precompiled GCC binaries for HP-UX.
You must use GNU binutils 2.11 or above with the 32-bit port. Thread
support is not currently implemented, so @option{--enable-threads} does
@@ -2169,17 +2211,49 @@ not work. See:
@item @uref{http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html}
@end itemize
-GCC 2.95.x is not supported under HP-UX 11 and cannot be used to
-compile GCC 3.0 and up. Refer to @uref{binaries.html,,binaries} for
-information about obtaining precompiled GCC binaries for HP-UX.
-
-GNU binutils 2.13 or later is recommended with the 64-bit port.
-The HP assembler has many limitations and is not recommended. For
-example, it does not support weak symbols or alias definitions.
-As a result, explicit template instantiations are required when
-using C++. Either the HP or GNU linker can be used but it may be
-necessary to use the GNU linker when dwarf2 exception support is
-implemented.
+GCC 3.3 and later support weak symbols on the 32-bit port using SOM
+secondary definition symbols. This feature is not enabled for earlier
+versions of HP-UX since there have been bugs in the linker support for
+secondary symbols. The HP linker patches @code{PHSS_26559} and
+@code{PHSS_24304} for HP-UX 11.00 and 11.11, respectively, correct the
+problem of linker core dumps creating C++ libraries. Earlier patches
+may work but they have not been tested.
+
+GCC 3.3 nows uses the ELF DT_INIT_ARRAY and DT_FINI_ARRAY capability
+to run initializers and finalizers on the 64-bit port. The feature
+requires CVS binutils as of January 2, 2003, or a subsequent release
+to correct a problem arising from HP's non-standard use of the .init
+and .fini sections. The 32-bit port uses the linker @option{+init}
+and @option{+fini} options. As with the support for secondary symbols,
+there have been bugs in the order in which these options are executed
+by the HP linker. So, again a recent linker patch is recommended.
+
+The HP assembler has many limitations and is not recommended for either
+the 32 or 64-bit ports. For example, it does not support weak symbols
+or alias definitions. As a result, explicit template instantiations
+are required when using C++. This will make it difficult if not
+impossible to build many C++ applications. You also can't generate
+debugging information when using the HP assembler with GCC.
+
+There are a number of issues to consider in selecting which linker to
+use with the 64-bit port. The GNU 64-bit linker can only create dynamic
+binaries. The @option{-static} option causes linking with archive
+libraries but doesn't produce a truly static binary. Dynamic binaries
+still require final binding by the dynamic loader to resolve a set of
+dynamic-loader-defined symbols. The default behavior of the HP linker
+is the same as the GNU linker. However, it can generate true 64-bit
+static binaries using the @option{+compat} option.
+
+The HP 64-bit linker doesn't support linkonce semantics. As a
+result, C++ programs have many more sections than they should.
+
+The GNU 64-bit linker has some issues with shared library support
+and exceptions. As a result, we only support libgcc in archive
+format. For similar reasons, dwarf2 unwind and exception support
+are disabled. The GNU linker also has problems creating binaries
+with @option{-static}. It doesn't provide stubs for internal
+calls to global functions in shared libraries, so these calls
+can't be overloaded.
There are several possible approaches to building the distribution.
Binutils can be built first using the HP tools. Then, the GCC
@@ -2208,23 +2282,20 @@ have a higher-quality port for this machine soon.
@end html
@heading @anchor{*-*-linux-gnu}*-*-linux-gnu
+Versions of libstdc++-v3 starting with 3.2.1 require bugfixes present
+in glibc 2.2.5 and later. More information is available in the
+libstdc++-v3 documentation.
+
If you use glibc 2.2 (or 2.1.9x), GCC 2.95.2 won't install
out-of-the-box. You'll get compile errors while building @samp{libstdc++}.
The patch @uref{glibc-2.2.patch,,glibc-2.2.patch}, that is to be
applied in the GCC source tree, fixes the compatibility problems.
-@html
-@end html
-
-@html
-<p>
-@end html
-
Currently Glibc 2.2.3 (and older releases) and GCC 3.0 are out of sync
since the latest exception handling changes for GCC@. Compiling glibc
with GCC 3.0 will give a binary incompatible glibc and therefore cause
-lots of problems and might make your system completly unusable. This
-will definitly need fixes in glibc but might also need fixes in GCC@. We
+lots of problems and might make your system completely unusable. This
+will definitely need fixes in glibc but might also need fixes in GCC@. We
strongly advise to wait for glibc 2.2.4 and to read the release notes of
glibc 2.2.4 whether patches for GCC 3.0 are needed. You can use glibc
2.2.3 with GCC 3.0, just do not try to recompile it.
@@ -2309,7 +2380,7 @@ additional OpenServer-specific flags.
Systems based on OpenServer before 5.0.4 (@samp{uname -X}
will tell you what you're running) require TLS597 from
-@uref{ftp://ftp.sco.com/TLS/,,ftp://ftp.sco.com/TLS/}
+@uref{ftp://stage.caldera.com/TLS/,,ftp://stage.caldera.com/TLS/}
for C++ constructors and destructors to work right.
The system linker in (at least) 5.0.4 and 5.0.5 will sometimes
@@ -2318,8 +2389,8 @@ code. This can be seen as execution testsuite failures when using
@option{-fPIC} on @file{921215-1.c}, @file{931002-1.c}, @file{nestfunc-1.c}, and @file{gcov-1.c}.
For 5.0.5, an updated linker that will cure this problem is
available. You must install both
-@uref{ftp://ftp.sco.com/Supplements/rs505a/,,ftp://ftp.sco.com/Supplements/rs505a/}
-and @uref{ftp://ftp.sco.com/SLS/,,OSS499A}.
+@uref{ftp://ftp.sco.com/pub/openserver5/rs505a,,ftp://ftp.sco.com/pub/openserver5/rs505a}
+and @uref{ftp://ftp.sco.com/pub/openserver5,,OSS499A}.
The dynamic linker in OpenServer 5.0.5 (earlier versions may show
the same problem) aborts on certain G77-compiled programs. It's particularly
@@ -2400,6 +2471,8 @@ ABI changes are expected.
<hr />
@end html
@heading @anchor{*-lynx-lynxos}*-lynx-lynxos
+Support for SPARC LynxOS is obsoleted in GCC 3.3.
+
LynxOS 2.2 and earlier comes with GCC 1.x already installed as
@file{/bin/gcc}. You should compile with this instead of @file{/bin/cc}.
You can tell GCC to use the GNU assembler and linker, by specifying
@@ -2412,6 +2485,7 @@ installed tools, which produce @file{a.out} format executables.
<!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
@end html
@heading @anchor{*-ibm-aix*}*-ibm-aix*
+Support for AIX versions 1, 2, and 3 is obsoleted in GCC 3.3.
AIX Make frequently has problems with GCC makefiles. GNU Make 3.76 or
newer is recommended to build on this platform.
@@ -2427,11 +2501,12 @@ does not provide a definition that will confuse @command{configure}.
If this error occurs during stage2 or later, then the problem most likely
is the version of Make (see above).
-The GNU Assembler incorrectly reports that it supports WEAK symbols on
-AIX which causes GCC to try to utilize weak symbol functionality although
-it is not supported on the platform. The native @command{as} and
-@command{ld} still are recommended. The native AIX tools do
-interoperate with GCC@.
+The native @command{as} and @command{ld} are recommended for bootstrapping
+on AIX 4 and required for bootstrapping on AIX 5L. The GNU Assembler
+reports that it supports WEAK symbols on AIX 4, which causes GCC to try to
+utilize weak symbol functionality although it is not supported. The GNU
+Assembler and Linker do not support AIX 5L sufficiently to bootstrap GCC.
+The native AIX tools do interoperate with GCC@.
Building @file{libstdc++.a} requires a fix for an AIX Assembler bug
APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1).
@@ -2530,13 +2605,15 @@ Use @samp{configure --target=ip2k-elf --enable-languages=c} to configure GCC@.
<hr />
@end html
@heading @anchor{m32r-*-elf}m32r-*-elf
-Mitsubishi M32R processor.
+Renesas M32R processor.
This configuration is intended for embedded systems.
@html
<hr />
@end html
@heading @anchor{m68000-hp-bsd}m68000-hp-bsd
+Support for this system is obsoleted in GCC 3.3.
+
HP 9000 series 200 running BSD@. Note that the C compiler that comes
with this system cannot compile GCC; contact @email{law@@cygnus.com}
to get binaries of GCC for bootstrapping.
@@ -2559,19 +2636,23 @@ applications. There are no standard Unix configurations.
<hr />
@end html
@heading @anchor{m68k-att-sysv}m68k-att-sysv
+Support for this system is obsoleted in GCC 3.3.
+
AT&T 3b1, a.k.a.@: 7300 PC@. This version of GCC cannot
be compiled with the system C compiler, which is too buggy.
You will need to get a previous version of GCC and use it to
bootstrap. Binaries are available from the OSU-CIS archive, at
-@uref{ftp://archive.cis.ohio-state.edu/pub/att7300/}.
+@uref{ftp://ftp.uu.net/systems/att7300/}.
@html
<hr />
@end html
@heading @anchor{m68k-crds-unos}m68k-crds-unos
+Support for this system is obsoleted in GCC 3.3.
+
Use @samp{configure unos} for building on Unos.
-The Unos assembler is named @code{casm} instead of @code{as}. For some
+The Unos assembler is named @command{casm} instead of @command{as}. For some
strange reason linking @file{/bin/as} to @file{/bin/casm} changes the
behavior, and does not work. So, when installing GCC, you should
install the following script as @file{as} in the subdirectory where
@@ -2645,9 +2726,9 @@ kept up to date. gdb does not understand that native HP-UX format, so
you must use gas if you wish to use gdb.
On HP-UX version 8.05, but not on 8.07 or more recent versions, the
-@code{fixproto} shell script triggers a bug in the system shell. If you
+@command{fixproto} shell script triggers a bug in the system shell. If you
encounter this problem, upgrade your operating system or use BASH (the
-GNU shell) to run @code{fixproto}. This bug will cause the fixproto
+GNU shell) to run @command{fixproto}. This bug will cause the fixproto
program to report an error of the form:
@example
@@ -2666,6 +2747,8 @@ to look like:
<hr />
@end html
@heading @anchor{m68k-ncr-*}m68k-ncr-*
+Support for this system is obsoleted in GCC 3.3.
+
On the Tower models 4@var{n}0 and 6@var{n}0, by default a process is not
allowed to have more than one megabyte of memory. GCC cannot compile
itself (or many other programs) with @option{-O} in that much memory.
@@ -2682,6 +2765,8 @@ MAXUMEM = 4096
<hr />
@end html
@heading @anchor{m68k-sun}m68k-sun
+Support for this system is obsoleted in GCC 3.3.
+
Sun 3. We do not provide a configuration file to use the Sun FPA by
default, because programs that establish signal handlers for floating
point traps inherently cannot work with the FPA@.
@@ -2690,6 +2775,8 @@ point traps inherently cannot work with the FPA@.
<hr />
@end html
@heading @anchor{m68k-sun-sunos4.1.1}m68k-sun-sunos4.1.1
+Support for this system is obsoleted in GCC 3.3.
+
It is reported that you may need the GNU assembler on this platform.
@@ -2707,6 +2794,16 @@ stop such warnings by installing the GNU linker.
It would be nice to extend GAS to produce the gp tables, but they are
optional, and there should not be a warning about their absence.
+The libstdc++ atomic locking routines for MIPS targets requires MIPS II
+and later. A patch went in just after the GCC 3.3 release to
+make @samp{mips*-*-*} use the generic implementation instead. You can also
+configure for @samp{mipsel-elf} as a workaround. The
+@samp{mips*-*-linux*} target continues to use the MIPS II routines. More
+work on this is expected in future releases.
+
+@html
+<hr />
+@end html
@heading @anchor{mips-sgi-irix5}mips-sgi-irix5
This configuration has considerable problems, which will be fixed in a
@@ -2717,7 +2814,7 @@ subsystem must be installed from the IDO CD-ROM supplied by Silicon
Graphics. It is also available for download from
@uref{http://www.sgi.com/developers/devtools/apis/ido.html,,http://www.sgi.com/developers/devtools/apis/ido.html}.
-@code{make compare} may fail on version 5 of IRIX unless you add
+@samp{make compare} may fail on version 5 of IRIX unless you add
@option{-save-temps} to @code{CFLAGS}. On these systems, the name of the
assembler input file is stored in the object file, and that makes
comparison fail if it differs between the @code{stage1} and
@@ -2862,32 +2959,23 @@ switch by using the configure option @option{--with-cpu-@var{cpu_type}}.
@heading @anchor{powerpc-*-darwin*}powerpc-*-darwin*
PowerPC running Darwin (Mac OS X kernel).
-GCC 3.0 does not support Darwin, but 3.1 and later releases will work.
-
Pre-installed versions of Mac OS X may not include any developer tools,
meaning that you will not be able to build GCC from source. Tool
binaries are available at
-@uref{http://www.opensource.apple.com/projects/darwin} (free
+@uref{http://developer.apple.com/tools/compilers.html} (free
registration required).
-Versions of the assembler prior to ``cctools-364'' cannot handle the
-4-argument form of @code{rlwinm} and related mask-using instructions. Darwin
-1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364,
-check out @file{cctools} with tag @samp{Apple-364}, build it, and
-install the assembler as @file{usr/bin/as}. See
-@uref{http://www.opensource.apple.com/tools/cvs/docs.html} for details.
-
-Also, the default stack limit of 512K is too small, and a bootstrap will
-typically fail when self-compiling @file{expr.c}. Set the stack to 800K
-or more, for instance by doing @samp{limit stack 800}. It's also
-convenient to use the GNU preprocessor instead of Apple's during the
-first stage of bootstrapping; this is automatic when doing @samp{make
-bootstrap}, but to do it from the toplevel objdir you will need to say
-@samp{make CC='cc -no-cpp-precomp' bootstrap}.
+The default stack limit of 512K is too small, which may cause compiles
+to fail with 'Bus error'. Set the stack larger, for instance
+by doing @samp{limit stack 800}. It's a good idea to use the GNU
+preprocessor instead of Apple's @file{cpp-precomp} during the first stage of
+bootstrapping; this is automatic when doing @samp{make bootstrap}, but
+to do it from the toplevel objdir you will need to say @samp{make
+CC='cc -no-cpp-precomp' bootstrap}.
-Note that the version of GCC shipped by Apple typically includes a
-number of extensions not available in a standard GCC release. These
-extensions are generally specific to Mac programming.
+The version of GCC shipped by Apple typically includes a number of
+extensions not available in a standard GCC release. These extensions
+are generally specific to Mac programming.
@html
<hr />
@@ -2909,7 +2997,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
@@ -2983,12 +3071,12 @@ GCC you first have to install a pre-built compiler, see our
@uref{binaries.html,,binaries page} for details.
The Solaris 2 @command{/bin/sh} will often fail to configure
-@file{libstdc++-v3}, @file{boehm-gc} or
-@file{libjava}. If you encounter this problem, set @env{CONFIG_SHELL} to
-@command{/bin/ksh} in your environment before running @command{configure}.
+@file{libstdc++-v3}, @file{boehm-gc} or @file{libjava}. We therefore
+recommend to set @env{CONFIG_SHELL} to @command{/bin/ksh} in your
+environment.
Solaris 2 comes with a number of optional OS packages. Some of these
-packages are needed to use GCC fully, namely @code{SUNWarc},
+are needed to use GCC fully, namely @code{SUNWarc},
@code{SUNWbtool}, @code{SUNWesu}, @code{SUNWhea}, @code{SUNWlibm},
@code{SUNWsprot}, and @code{SUNWtoo}. If you did not install all
optional packages when installing Solaris 2, you will need to verify that
@@ -3097,12 +3185,23 @@ the bug. The current (as of 2001-09-24) revision is -14, and is included in
the Solaris 7 Recommended Patch Cluster.
@end itemize
+GCC 3.3 triggers a bug in version 5.0 Alpha 03/27/98 of the Sun assembler,
+which causes a bootstrap failure when linking the 64-bit shared version of
+libgcc. A typical error message is:
+
+@smallexample
+ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
+ symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned.
+@end smallexample
+
+This bug has been fixed in the final 5.0 version of the assembler.
@html
<p>
<hr />
@end html
@heading @anchor{sparc-sun-sunos4*}sparc-sun-sunos4*
+Support for this system is obsoleted in GCC 3.3.
A bug in the SunOS 4 linker will cause it to crash when linking
@option{-fPIC} compiled objects (and will therefore not allow you to build
@@ -3122,6 +3221,7 @@ be due to a bug in @command{sh}. You can probably get around it by running
<hr />
@end html
@heading @anchor{sparc-unknown-linux-gnulibc1}sparc-unknown-linux-gnulibc1
+Support for this system is obsoleted in GCC 3.3.
It has been reported that you might need
@uref{ftp://ftp.yggdrasil.com/private/hjl,,binutils 2.8.1.0.23}
@@ -3141,18 +3241,7 @@ releases mishandled unaligned relocations on @code{sparc-*-*} targets.
@html
<hr />
@end html
-@heading @anchor{sparc64-*-*}sparc64-*-*
-
-GCC version 2.95 is not able to compile code correctly for
-@code{sparc64} targets. Users of the Linux kernel, at least,
-can use the @code{sparc32} program to start up a new shell
-invocation with an environment that causes @command{configure} to
-recognize (via @samp{uname -a}) the system as @samp{sparc-*-*} instead.
-
-@html
-<hr />
-@end html
-@heading @anchor{sparcv9-*-solaris2*}sparcv9-*-solaris2*
+@heading @anchor{sparc64-*-solaris2*}sparc64-*-solaris2*
The following compiler flags must be specified in the configure
step in order to bootstrap this target with the Sun compiler:
@@ -3162,7 +3251,14 @@ step in order to bootstrap this target with the Sun compiler:
@end example
@option{-xildoff} turns off the incremental linker, and @option{-xarch=v9}
-specifies the v9 architecture to the Sun linker and assembler.
+specifies the SPARC-V9 architecture to the Sun linker and assembler.
+
+@html
+<hr />
+@end html
+@heading @anchor{sparcv9-*-solaris2*}sparcv9-*-solaris2*
+
+This is a synonym for sparc64-*-solaris2*.
@html
<hr />
@@ -3195,14 +3291,14 @@ On System V, if you get an error like this,
that too indicates a problem with disk space, ulimit, or @code{MAXUMEM}.
On a System V release 4 system, make sure @file{/usr/bin} precedes
-@file{/usr/ucb} in @code{PATH}. The @code{cc} command in
+@file{/usr/ucb} in @code{PATH}. The @command{cc} command in
@file{/usr/ucb} uses libraries which have bugs.
@html
<hr />
@end html
@heading @anchor{vax-dec-ultrix}vax-dec-ultrix
-Don't try compiling with VAX C (@code{vcc}). It produces incorrect code
+Don't try compiling with VAX C (@command{vcc}). It produces incorrect code
in some cases (for example, when @code{alloca} is used).
@html
@@ -3240,12 +3336,15 @@ respects, this target is the same as the
@end html
@heading @anchor{windows}Microsoft Windows (32-bit)
-A port of GCC 2.95.x is included with the
+A port of GCC 2.95.2 and 3.x is included with the
@uref{http://www.cygwin.com/,,Cygwin environment}.
Current (as of early 2001) snapshots of GCC will build under Cygwin
without modification.
+GCC does not currently build with Microsoft's C++ compiler and there
+are no plans to make it do so.
+
@html
<hr />
@end html
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index fe214602a1e..5205fde5c5e 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1,15 +1,15 @@
@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
+under the terms of the GNU Free Documentation License, Version 1.2 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
@@ -66,7 +66,6 @@ for contributors to GCC@.
@cindex options, GCC command
@c man begin DESCRIPTION
-
When you invoke GCC, it normally does preprocessing, compilation,
assembly and linking. The ``overall options'' allow you to stop this
process at an intermediate stage. For example, the @option{-c} option
@@ -155,17 +154,15 @@ in the following sections.
@table @emph
@item Overall Options
@xref{Overall Options,,Options Controlling the Kind of Output}.
-@gccoptlist{
--c -S -E -o @var{file} -pipe -pass-exit-codes -x @var{language} @gol
--v -### --help --target-help --version}
+@gccoptlist{-c -S -E -o @var{file} -pipe -pass-exit-codes @gol
+-x @var{language} -v -### --help --target-help --version}
@item C Language Options
@xref{C Dialect Options,,Options Controlling C Dialect}.
-@gccoptlist{
--ansi -std=@var{standard} -aux-info @var{filename} @gol
--fno-asm -fno-builtin -fno-builtin-@var{function} @gol
+@gccoptlist{-ansi -std=@var{standard} -aux-info @var{filename} @gol
+-fno-asm -fno-builtin -fno-builtin-@var{function} @gol
-fhosted -ffreestanding -fms-extensions @gol
--trigraphs -traditional -traditional-cpp @gol
+-trigraphs -no-integrated-cpp -traditional -traditional-cpp @gol
-fallow-single-precision -fcond-mismatch @gol
-fsigned-bitfields -fsigned-char @gol
-funsigned-bitfields -funsigned-char @gol
@@ -173,9 +170,8 @@ in the following sections.
@item C++ Language Options
@xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
-@gccoptlist{
--fabi-version=@var{n} -fno-access-control -fcheck-new @gol
--fconserve-space -fno-const-strings -fdollars-in-identifiers @gol
+@gccoptlist{-fabi-version=@var{n} -fno-access-control -fcheck-new @gol
+-fconserve-space -fno-const-strings -fdollars-in-identifiers @gol
-fno-elide-constructors @gol
-fno-enforce-eh-specs -fexternal-templates @gol
-falt-external-templates @gol
@@ -187,7 +183,7 @@ in the following sections.
-fno-optional-diags -fpermissive @gol
-frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol
-fuse-cxa-atexit -fvtable-gc -fno-weak -nostdinc++ @gol
--fno-default-inline -Wabi -Wctor-dtor-privacy @gol
+-fno-default-inline -Wabi -Wctor-dtor-privacy @gol
-Wnon-virtual-dtor -Wreorder @gol
-Weffc++ -Wno-deprecated @gol
-Wno-non-template-friend -Wold-style-cast @gol
@@ -196,22 +192,19 @@ in the following sections.
@item Objective-C Language Options
@xref{Objective-C Dialect Options,,Options Controlling Objective-C Dialect}.
-@gccoptlist{
--fconstant-string-class=@var{class-name} @gol
+@gccoptlist{-fconstant-string-class=@var{class-name} @gol
-fgnu-runtime -fnext-runtime -gen-decls @gol
--Wno-protocol -Wselector -Wundeclared-selector}
+-Wno-protocol -Wselector -Wundeclared-selector}
@item Language Independent Options
@xref{Language Independent Options,,Options to Control Diagnostic Messages Formatting}.
-@gccoptlist{
--fmessage-length=@var{n} @gol
+@gccoptlist{-fmessage-length=@var{n} @gol
-fdiagnostics-show-location=@r{[}once@r{|}every-line@r{]}}
@item Warning Options
@xref{Warning Options,,Options to Request or Suppress Warnings}.
-@gccoptlist{
--fsyntax-only -pedantic -pedantic-errors @gol
--w -W -Wall -Waggregate-return @gol
+@gccoptlist{-fsyntax-only -pedantic -pedantic-errors @gol
+-w -W -Wall -Waggregate-return @gol
-Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment @gol
-Wconversion -Wno-deprecated-declarations @gol
-Wdisabled-optimization -Wno-div-by-zero -Werror @gol
@@ -220,7 +213,7 @@ in the following sections.
-Wimplicit -Wimplicit-int @gol
-Wimplicit-function-declaration @gol
-Werror-implicit-function-declaration @gol
--Wimport -Winline -Wno-endif-labels @gol
+-Wimport -Winline -Wno-endif-labels @gol
-Wlarger-than-@var{len} -Wlong-long @gol
-Wmain -Wmissing-braces @gol
-Wmissing-format-attribute -Wmissing-noreturn @gol
@@ -229,29 +222,28 @@ in the following sections.
-Wparentheses -Wpointer-arith -Wredundant-decls @gol
-Wreturn-type -Wsequence-point -Wshadow @gol
-Wsign-compare -Wstrict-aliasing @gol
--Wswitch -Wswitch-default -Wswitch-enum @gol
--Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
+-Wswitch -Wswitch-default -Wswitch-enum @gol
+-Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
-Wunknown-pragmas -Wunreachable-code @gol
-Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol
-Wunused-value -Wunused-variable -Wwrite-strings}
@item C-only Warning Options
-@gccoptlist{
--Wbad-function-cast -Wmissing-declarations @gol
+@gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol
-Wmissing-prototypes -Wnested-externs @gol
-Wstrict-prototypes -Wtraditional}
@item Debugging Options
@xref{Debugging Options,,Options for Debugging Your Program or GCC}.
-@gccoptlist{
--d@var{letters} -dumpspecs -dumpmachine -dumpversion @gol
--fdump-unnumbered -fdump-translation-unit@r{[}-@var{n}@r{]} @gol
+@gccoptlist{-d@var{letters} -dumpspecs -dumpmachine -dumpversion @gol
+-fdump-unnumbered -fdump-translation-unit@r{[}-@var{n}@r{]} @gol
-fdump-class-hierarchy@r{[}-@var{n}@r{]} @gol
--fdump-tree-original@r{[}-@var{n}@r{]} -fdump-tree-optimized@r{[}-@var{n}@r{]} @gol
+-fdump-tree-original@r{[}-@var{n}@r{]} @gol
+-fdump-tree-optimized@r{[}-@var{n}@r{]} @gol
-fdump-tree-inlined@r{[}-@var{n}@r{]} @gol
-feliminate-dwarf2-dups -fmem-report @gol
--fprofile-arcs -fsched-verbose=@var{n} @gol
--ftest-coverage -ftime-report @gol
+-fprofile-arcs -frandom-seed=@var{n} @gol
+-fsched-verbose=@var{n} -ftest-coverage -ftime-report @gol
-g -g@var{level} -gcoff -gdwarf -gdwarf-1 -gdwarf-1+ -gdwarf-2 @gol
-ggdb -gstabs -gstabs+ -gvms -gxcoff -gxcoff+ @gol
-p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol
@@ -261,43 +253,41 @@ in the following sections.
@item Optimization Options
@xref{Optimize Options,,Options that Control Optimization}.
-@gccoptlist{
--falign-functions=@var{n} -falign-jumps=@var{n} @gol
+@gccoptlist{-falign-functions=@var{n} -falign-jumps=@var{n} @gol
-falign-labels=@var{n} -falign-loops=@var{n} @gol
--fbounds-check @gol
--fbranch-probabilities -fcaller-saves -fcprop-registers @gol
+-fbranch-probabilities -fcaller-saves -fcprop-registers @gol
-fcse-follow-jumps -fcse-skip-blocks -fdata-sections @gol
-fdelayed-branch -fdelete-null-pointer-checks @gol
-fexpensive-optimizations -ffast-math -ffloat-store @gol
-fforce-addr -fforce-mem -ffunction-sections @gol
--fgcse -fgcse-lm -fgcse-sm -floop-optimize -fcrossjumping @gol
--fif-conversion -fif-conversion2 @gol
+-fgcse -fgcse-lm -fgcse-sm -floop-optimize -fcrossjumping @gol
+-fif-conversion -fif-conversion2 @gol
-finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol
-fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol
-fmove-all-movables -fnew-ra -fno-branch-count-reg @gol
-fno-default-inline -fno-defer-pop @gol
-fno-function-cse -fno-guess-branch-probability @gol
-fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol
--funsafe-math-optimizations -ffinite-math-only @gol
--fno-trapping-math -fno-zero-initialized-in-bss @gol
+-funsafe-math-optimizations -ffinite-math-only @gol
+-fno-trapping-math -fno-zero-initialized-in-bss @gol
-fomit-frame-pointer -foptimize-register-move @gol
-foptimize-sibling-calls -fprefetch-loop-arrays @gol
--freduce-all-givs -fregmove -frename-registers @gol
--freorder-blocks -freorder-functions @gol
+-freduce-all-givs -fregmove -frename-registers @gol
+-freorder-blocks -freorder-functions @gol
-frerun-cse-after-loop -frerun-loop-opt @gol
-fschedule-insns -fschedule-insns2 @gol
-fno-sched-interblock -fno-sched-spec -fsched-spec-load @gol
-fsched-spec-load-dangerous -fsignaling-nans @gol
--fsingle-precision-constant -fssa -fssa-ccp -fssa-dce @gol
--fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps @gol
--ftrapv -funroll-all-loops -funroll-loops @gol
---param @var{name}=@var{value}
+-fsingle-precision-constant -fssa -fssa-ccp -fssa-dce @gol
+-fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps @gol
+-funroll-all-loops -funroll-loops @gol
+--param @var{name}=@var{value} @gol
-O -O0 -O1 -O2 -O3 -Os}
@item Preprocessor Options
@xref{Preprocessor Options,,Options Controlling the Preprocessor}.
-@gccoptlist{
--$ -A@var{question}=@var{answer} -A-@var{question}@r{[}=@var{answer}@r{]} @gol
+@gccoptlist{-$ -A@var{question}=@var{answer} @gol
+-A-@var{question}@r{[}=@var{answer}@r{]} @gol
-C -dD -dI -dM -dN @gol
-D@var{macro}@r{[}=@var{defn}@r{]} -E -H @gol
-idirafter @var{dir} @gol
@@ -309,13 +299,11 @@ in the following sections.
@item Assembler Option
@xref{Assembler Options,,Passing Options to the Assembler}.
-@gccoptlist{
--Wa,@var{option}}
+@gccoptlist{-Wa,@var{option}}
@item Linker Options
@xref{Link Options,,Options for Linking}.
-@gccoptlist{
-@var{object-file-name} -l@var{library} @gol
+@gccoptlist{@var{object-file-name} -l@var{library} @gol
-nostartfiles -nodefaultlibs -nostdlib @gol
-s -static -static-libgcc -shared -shared-libgcc -symbolic @gol
-Wl,@var{option} -Xlinker @var{option} @gol
@@ -323,38 +311,32 @@ in the following sections.
@item Directory Options
@xref{Directory Options,,Options for Directory Search}.
-@gccoptlist{
--B@var{prefix} -I@var{dir} -I- -L@var{dir} -specs=@var{file}}
+@gccoptlist{-B@var{prefix} -I@var{dir} -I- -L@var{dir} -specs=@var{file}}
@item Target Options
@c I wrote this xref this way to avoid overfull hbox. -- rms
@xref{Target Options}.
-@gccoptlist{
--V @var{version} -b @var{machine}}
+@gccoptlist{-V @var{version} -b @var{machine}}
@item Machine Dependent Options
@xref{Submodel Options,,Hardware Models and Configurations}.
@emph{M680x0 Options}
-@gccoptlist{
--m68000 -m68020 -m68020-40 -m68020-60 -m68030 -m68040 @gol
+@gccoptlist{-m68000 -m68020 -m68020-40 -m68020-60 -m68030 -m68040 @gol
-m68060 -mcpu32 -m5200 -m68881 -mbitfield -mc68000 -mc68020 @gol
-mfpa -mnobitfield -mrtd -mshort -msoft-float -mpcrel @gol
-malign-int -mstrict-align}
@emph{M68hc1x Options}
-@gccoptlist{
--m6811 -m6812 -m68hc11 -m68hc12 @gol
+@gccoptlist{-m6811 -m6812 -m68hc11 -m68hc12 -m68hcs12 @gol
-mauto-incdec -minmax -mlong-calls -mshort @gol
-msoft-reg-count=@var{count}}
@emph{VAX Options}
-@gccoptlist{
--mg -mgnu -munix}
+@gccoptlist{-mg -mgnu -munix}
@emph{SPARC Options}
-@gccoptlist{
--mcpu=@var{cpu-type} @gol
+@gccoptlist{-mcpu=@var{cpu-type} @gol
-mtune=@var{cpu-type} @gol
-mcmodel=@var{code-model} @gol
-m32 -m64 @gol
@@ -367,25 +349,8 @@ 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
+@gccoptlist{-mapcs-frame -mno-apcs-frame @gol
-mapcs-26 -mapcs-32 @gol
-mapcs-stack-check -mno-apcs-stack-check @gol
-mapcs-float -mno-apcs-float @gol
@@ -397,7 +362,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
@@ -406,26 +370,22 @@ in the following sections.
-mpoke-function-name @gol
-mthumb -marm @gol
-mtpcs-frame -mtpcs-leaf-frame @gol
--mcaller-super-interworking -mcallee-super-interworking }
+-mcaller-super-interworking -mcallee-super-interworking}
@emph{MN10200 Options}
-@gccoptlist{
--mrelax}
+@gccoptlist{-mrelax}
@emph{MN10300 Options}
-@gccoptlist{
--mmult-bug -mno-mult-bug @gol
+@gccoptlist{-mmult-bug -mno-mult-bug @gol
-mam33 -mno-am33 @gol
-mno-crt0 -mrelax}
@emph{M32R/D Options}
-@gccoptlist{
--m32rx -m32r -mcode-model=@var{model-type} -msdata=@var{sdata-type} @gol
--G @var{num}}
+@gccoptlist{-m32rx -m32r -mcode-model=@var{model-type} @gol
+-msdata=@var{sdata-type} -G @var{num}}
@emph{M88K Options}
-@gccoptlist{
--m88000 -m88100 -m88110 -mbig-pic @gol
+@gccoptlist{-m88000 -m88100 -m88110 -mbig-pic @gol
-mcheck-zero-division -mhandle-large-shift @gol
-midentify-revision -mno-check-zero-division @gol
-mno-ocs-debug-info -mno-ocs-frame-position @gol
@@ -437,12 +397,11 @@ in the following sections.
-mversion-03.00 -mwarn-passed-structs}
@emph{RS/6000 and PowerPC Options}
-@gccoptlist{
--mcpu=@var{cpu-type} @gol
+@gccoptlist{-mcpu=@var{cpu-type} @gol
-mtune=@var{cpu-type} @gol
-mpower -mno-power -mpower2 -mno-power2 @gol
-mpowerpc -mpowerpc64 -mno-powerpc @gol
--maltivec -mno-altivec @gol
+-maltivec -mno-altivec @gol
-mpowerpc-gpopt -mno-powerpc-gpopt @gol
-mpowerpc-gfxopt -mno-powerpc-gfxopt @gol
-mnew-mnemonics -mold-mnemonics @gol
@@ -453,15 +412,15 @@ in the following sections.
-mfused-madd -mno-fused-madd -mbit-align -mno-bit-align @gol
-mstrict-align -mno-strict-align -mrelocatable @gol
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib @gol
--mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol
--mcall-aix -mcall-sysv -mcall-netbsd @gol
--maix-struct-return -msvr4-struct-return @gol
--mabi=altivec -mabi=no-altivec @gol
--mabi=spe -mabi=no-spe @gol
--misel=yes -misel=no @gol
+-mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol
+-mcall-aix -mcall-sysv -mcall-netbsd @gol
+-maix-struct-return -msvr4-struct-return @gol
+-mabi=altivec -mabi=no-altivec @gol
+-mabi=spe -mabi=no-spe @gol
+-misel=yes -misel=no @gol
-mprototype -mno-prototype @gol
--msim -mmvme -mads -myellowknife -memb -msdata @gol
--msdata=@var{opt} -mvxworks -mwindiss -G @var{num} -pthread}
+-msim -mmvme -mads -myellowknife -memb -msdata @gol
+-msdata=@var{opt} -mvxworks -mwindiss -G @var{num} -pthread}
@emph{Darwin Options}
@gccoptlist{
@@ -486,15 +445,13 @@ in the following sections.
-unexported_symbols_list -weak_reference_mismatches -whatsloaded}
@emph{RT Options}
-@gccoptlist{
--mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs @gol
+@gccoptlist{-mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs @gol
-mfull-fp-blocks -mhc-struct-return -min-line-mul @gol
-mminimum-fp-blocks -mnohc-struct-return}
@emph{MIPS Options}
-@gccoptlist{
--mabicalls -march=@var{cpu-type} -mtune=@var{cpu=type} @gol
--mcpu=@var{cpu-type} -membedded-data -muninit-const-in-rodata @gol
+@gccoptlist{-mabicalls -march=@var{cpu-type} -mtune=@var{cpu=type} @gol
+-mcpu=@var{cpu-type} -membedded-data -muninit-const-in-rodata @gol
-membedded-pic -mfp32 -mfp64 -mfused-madd -mno-fused-madd @gol
-mgas -mgp32 -mgp64 @gol
-mgpopt -mhalf-pic -mhard-float -mint64 -mips1 @gol
@@ -507,41 +464,39 @@ in the following sections.
-m4650 -msingle-float -mmad @gol
-mstats -EL -EB -G @var{num} -nocpp @gol
-mabi=32 -mabi=n32 -mabi=64 -mabi=eabi @gol
--mfix7000 -mno-crt0 -mflush-func=@var{func} -mno-flush-func @gol
--mbranch-likely -mno-branch-likely}
+-mfix7000 -mno-crt0 -mflush-func=@var{func} -mno-flush-func @gol
+-mbranch-likely -mno-branch-likely}
@emph{i386 and x86-64 Options}
-@gccoptlist{
--mcpu=@var{cpu-type} -march=@var{cpu-type} -mfpmath=@var{unit} @gol
--masm=@var{dialect} -mno-fancy-math-387 @gol
+@gccoptlist{-mcpu=@var{cpu-type} -march=@var{cpu-type} @gol
+-mfpmath=@var{unit} -masm=@var{dialect} -mno-fancy-math-387 @gol
-mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol
-mno-wide-multiply -mrtd -malign-double @gol
-mpreferred-stack-boundary=@var{num} @gol
--mmmx -msse -msse2 -m3dnow @gol
+-mmmx -msse -msse2 -m3dnow @gol
-mthreads -mno-align-stringops -minline-all-stringops @gol
-mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol
-m96bit-long-double -mregparm=@var{num} -momit-leaf-frame-pointer @gol
-mno-red-zone@gol
-mcmodel=@var{code-model} @gol
--m32 -m64}
+-m32 -m64}
@emph{HPPA Options}
-@gccoptlist{
--march=@var{architecture-type} @gol
+@gccoptlist{-march=@var{architecture-type} @gol
-mbig-switch -mdisable-fpregs -mdisable-indexing @gol
--mfast-indirect-calls -mgas -mgnu-ld -mhp-ld @gol
--mjump-in-delay -mlinker-opt -mlong-calls @gol
+-mfast-indirect-calls -mgas -mgnu-ld -mhp-ld @gol
+-mjump-in-delay -mlinker-opt -mlong-calls @gol
-mlong-load-store -mno-big-switch -mno-disable-fpregs @gol
-mno-disable-indexing -mno-fast-indirect-calls -mno-gas @gol
-mno-jump-in-delay -mno-long-load-store @gol
-mno-portable-runtime -mno-soft-float @gol
-mno-space-regs -msoft-float -mpa-risc-1-0 @gol
-mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime @gol
--mschedule=@var{cpu-type} -mspace-regs -msio -mwsio}
+-mschedule=@var{cpu-type} -mspace-regs -msio -mwsio @gol
+-nolibdld -static -threads}
@emph{Intel 960 Options}
-@gccoptlist{
--m@var{cpu-type} -masm-compat -mclean-linkage @gol
+@gccoptlist{-m@var{cpu-type} -masm-compat -mclean-linkage @gol
-mcode-align -mcomplex-addr -mleaf-procedures @gol
-mic-compat -mic2.0-compat -mic3.0-compat @gol
-mintel-asm -mno-clean-linkage -mno-code-align @gol
@@ -551,8 +506,7 @@ in the following sections.
-mtail-call}
@emph{DEC Alpha Options}
-@gccoptlist{
--mno-fp-regs -msoft-float -malpha-as -mgas @gol
+@gccoptlist{-mno-fp-regs -msoft-float -malpha-as -mgas @gol
-mieee -mieee-with-inexact -mieee-conformant @gol
-mfp-trap-mode=@var{mode} -mfp-rounding-mode=@var{mode} @gol
-mtrap-precision=@var{mode} -mbuild-constants @gol
@@ -563,115 +517,96 @@ in the following sections.
-mmemory-latency=@var{time}}
@emph{DEC Alpha/VMS Options}
-@gccoptlist{
--mvms-return-codes}
-
-@emph{Clipper Options}
-@gccoptlist{
--mc300 -mc400}
+@gccoptlist{-mvms-return-codes}
@emph{H8/300 Options}
-@gccoptlist{
--mrelax -mh -ms -mn -mint32 -malign-300}
+@gccoptlist{-mrelax -mh -ms -mn -mint32 -malign-300}
@emph{SH Options}
-@gccoptlist{
--m1 -m2 -m3 -m3e @gol
+@gccoptlist{-m1 -m2 -m3 -m3e @gol
-m4-nofpu -m4-single-only -m4-single -m4 @gol
--m5-64media -m5-64media-nofpu @gol
--m5-32media -m5-32media-nofpu @gol
--m5-compact -m5-compact-nofpu @gol
+-m5-64media -m5-64media-nofpu @gol
+-m5-32media -m5-32media-nofpu @gol
+-m5-compact -m5-compact-nofpu @gol
-mb -ml -mdalign -mrelax @gol
-mbigtable -mfmovd -mhitachi -mnomacsave @gol
-mieee -misize -mpadstruct -mspace @gol
-mprefergot -musermode}
@emph{System V Options}
-@gccoptlist{
--Qy -Qn -YP,@var{paths} -Ym,@var{dir}}
+@gccoptlist{-Qy -Qn -YP,@var{paths} -Ym,@var{dir}}
@emph{ARC Options}
-@gccoptlist{
--EB -EL @gol
+@gccoptlist{-EB -EL @gol
-mmangle-cpu -mcpu=@var{cpu} -mtext=@var{text-section} @gol
-mdata=@var{data-section} -mrodata=@var{readonly-data-section}}
@emph{TMS320C3x/C4x Options}
-@gccoptlist{
--mcpu=@var{cpu} -mbig -msmall -mregparm -mmemparm @gol
+@gccoptlist{-mcpu=@var{cpu} -mbig -msmall -mregparm -mmemparm @gol
-mfast-fix -mmpyi -mbk -mti -mdp-isr-reload @gol
-mrpts=@var{count} -mrptb -mdb -mloop-unsigned @gol
-mparallel-insns -mparallel-mpy -mpreserve-float}
@emph{V850 Options}
-@gccoptlist{
--mlong-calls -mno-long-calls -mep -mno-ep @gol
+@gccoptlist{-mlong-calls -mno-long-calls -mep -mno-ep @gol
-mprolog-function -mno-prolog-function -mspace @gol
-mtda=@var{n} -msda=@var{n} -mzda=@var{n} @gol
--mapp-regs -mno-app-regs @gol
--mdisable-callt -mno-disable-callt @gol
+-mapp-regs -mno-app-regs @gol
+-mdisable-callt -mno-disable-callt @gol
-mv850e @gol
-mv850 -mbig-switch}
@emph{NS32K Options}
-@gccoptlist{
--m32032 -m32332 -m32532 -m32081 -m32381 @gol
+@gccoptlist{-m32032 -m32332 -m32532 -m32081 -m32381 @gol
-mmult-add -mnomult-add -msoft-float -mrtd -mnortd @gol
-mregparam -mnoregparam -msb -mnosb @gol
-mbitfield -mnobitfield -mhimem -mnohimem}
@emph{AVR Options}
-@gccoptlist{
--mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol
+@gccoptlist{-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol
-mcall-prologues -mno-tablejump -mtiny-stack}
@emph{MCore Options}
-@gccoptlist{
--mhardlit -mno-hardlit -mdiv -mno-div -mrelax-immediates @gol
+@gccoptlist{-mhardlit -mno-hardlit -mdiv -mno-div -mrelax-immediates @gol
-mno-relax-immediates -mwide-bitfields -mno-wide-bitfields @gol
-m4byte-functions -mno-4byte-functions -mcallgraph-data @gol
-mno-callgraph-data -mslow-bytes -mno-slow-bytes -mno-lsim @gol
-mlittle-endian -mbig-endian -m210 -m340 -mstack-increment}
@emph{MMIX Options}
-@gccoptlist{
--mlibfuncs -mno-libfuncs -mepsilon -mno-epsilon -mabi=gnu @gol
--mabi=mmixware -mzero-extend -mknuthdiv -mtoplevel-symbols @gol
--melf -mbranch-predict -mno-branch-predict -mbase-addresses @gol
--mno-base-addresses -msingle-exit -mno-single-exit}
+@gccoptlist{-mlibfuncs -mno-libfuncs -mepsilon -mno-epsilon -mabi=gnu @gol
+-mabi=mmixware -mzero-extend -mknuthdiv -mtoplevel-symbols @gol
+-melf -mbranch-predict -mno-branch-predict -mbase-addresses @gol
+-mno-base-addresses -msingle-exit -mno-single-exit}
@emph{IA-64 Options}
-@gccoptlist{
--mbig-endian -mlittle-endian -mgnu-as -mgnu-ld -mno-pic @gol
+@gccoptlist{-mbig-endian -mlittle-endian -mgnu-as -mgnu-ld -mno-pic @gol
-mvolatile-asm-stop -mb-step -mregister-names -mno-sdata @gol
-mconstant-gp -mauto-pic -minline-float-divide-min-latency @gol
--minline-float-divide-max-throughput -minline-int-divide-min-latency @gol
--minline-int-divide-max-throughput -mno-dwarf2-asm @gol
+-minline-float-divide-max-throughput @gol
+-minline-int-divide-min-latency @gol
+-minline-int-divide-max-throughput -mno-dwarf2-asm @gol
-mfixed-range=@var{register-range}}
@emph{D30V Options}
-@gccoptlist{
--mextmem -mextmemory -monchip -mno-asm-optimize @gol
--masm-optimize -mbranch-cost=@var{n} -mcond-exec=@var{n}}
+@gccoptlist{-mextmem -mextmemory -monchip -mno-asm-optimize @gol
+-masm-optimize -mbranch-cost=@var{n} -mcond-exec=@var{n}}
@emph{S/390 and zSeries Options}
-@gccoptlist{
--mhard-float -msoft-float -mbackchain -mno-backchain @gol
--msmall-exec -mno-small-exec -mmvcle -mno-mvcle @gol
--m64 -m31 -mdebug -mno-debug}
+@gccoptlist{-mhard-float -msoft-float -mbackchain -mno-backchain @gol
+-msmall-exec -mno-small-exec -mmvcle -mno-mvcle @gol
+-m64 -m31 -mdebug -mno-debug}
@emph{CRIS Options}
-@gccoptlist{
--mcpu=@var{cpu} -march=@var{cpu} -mtune=@var{cpu} @gol
--mmax-stack-frame=@var{n} -melinux-stacksize=@var{n} @gol
--metrax4 -metrax100 -mpdebug -mcc-init -mno-side-effects @gol
--mstack-align -mdata-align -mconst-align @gol
--m32-bit -m16-bit -m8-bit -mno-prologue-epilogue -mno-gotplt @gol
--melf -maout -melinux -mlinux -sim -sim2}
+@gccoptlist{-mcpu=@var{cpu} -march=@var{cpu} -mtune=@var{cpu} @gol
+-mmax-stack-frame=@var{n} -melinux-stacksize=@var{n} @gol
+-metrax4 -metrax100 -mpdebug -mcc-init -mno-side-effects @gol
+-mstack-align -mdata-align -mconst-align @gol
+-m32-bit -m16-bit -m8-bit -mno-prologue-epilogue -mno-gotplt @gol
+-melf -maout -melinux -mlinux -sim -sim2}
@emph{PDP-11 Options}
-@gccoptlist{
--mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol
+@gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol
-mbcopy -mbcopy-builtin -mint32 -mno-int16 @gol
-mint16 -mno-int32 -mfloat32 -mno-float64 @gol
-mfloat64 -mno-float32 -mabshi -mno-abshi @gol
@@ -679,58 +614,57 @@ in the following sections.
-msplit -mno-split -munix-asm -mdec-asm}
@emph{Xstormy16 Options}
-@gccoptlist{
--msim}
+@gccoptlist{-msim}
@emph{Xtensa Options}
-@gccoptlist{
--mbig-endian -mlittle-endian @gol
--mdensity -mno-density @gol
--mmac16 -mno-mac16 @gol
--mmul16 -mno-mul16 @gol
--mmul32 -mno-mul32 @gol
--mnsa -mno-nsa @gol
--mminmax -mno-minmax @gol
--msext -mno-sext @gol
--mbooleans -mno-booleans @gol
--mhard-float -msoft-float @gol
--mfused-madd -mno-fused-madd @gol
--mserialize-volatile -mno-serialize-volatile @gol
--mtext-section-literals -mno-text-section-literals @gol
--mtarget-align -mno-target-align @gol
--mlongcalls -mno-longcalls}
+@gccoptlist{-mbig-endian -mlittle-endian @gol
+-mdensity -mno-density @gol
+-mmac16 -mno-mac16 @gol
+-mmul16 -mno-mul16 @gol
+-mmul32 -mno-mul32 @gol
+-mnsa -mno-nsa @gol
+-mminmax -mno-minmax @gol
+-msext -mno-sext @gol
+-mbooleans -mno-booleans @gol
+-mhard-float -msoft-float @gol
+-mfused-madd -mno-fused-madd @gol
+-mserialize-volatile -mno-serialize-volatile @gol
+-mtext-section-literals -mno-text-section-literals @gol
+-mtarget-align -mno-target-align @gol
+-mlongcalls -mno-longcalls}
@emph{FRV Options}
-@gccoptlist{
--mgpr-32 -mgpr-64 -mfpr-32 -mfpr-64 -mhard-float -msoft-float @gol
--malloc-cc -mfixed-cc -mdword -mno-dword -mdouble -mno-double @gol
--mmedia -mno-media -mmuladd -mno-muladd -mlibrary-pic -macc-4 @gol
--macc-8 -mpack -mno-pack -mno-eflags -mcond-move -mno-cond-move @gol
--mscc -mno-scc -mcond-exec -mno-cond-exec -mvliw-branch -mno-vliw-branch @gol
--mmulti-cond-exec -mno-multi-cond-exec -mnested-cond-exec @gol
--mno-nested-cond-exec -mtomcat-stats @gol
+@gccoptlist{-mgpr-32 -mgpr-64 -mfpr-32 -mfpr-64 @gol
+-mhard-float -msoft-float -malloc-cc -mfixed-cc @gol
+-mdword -mno-dword -mdouble -mno-double @gol
+-mmedia -mno-media -mmuladd -mno-muladd -mlibrary-pic @gol
+-macc-4 -macc-8 -mpack -mno-pack -mno-eflags @gol
+-mcond-move -mno-cond-move -mscc -mno-scc @gol
+-mcond-exec -mno-cond-exec -mvliw-branch -mno-vliw-branch @gol
+-mmulti-cond-exec -mno-multi-cond-exec -mnested-cond-exec @gol
+-mno-nested-cond-exec -mtomcat-stats @gol
-mcpu=@var{cpu}}
@item Code Generation Options
@xref{Code Gen Options,,Options for Code Generation Conventions}.
-@gccoptlist{
--fcall-saved-@var{reg} -fcall-used-@var{reg} @gol
--ffixed-@var{reg} -fexceptions @gol
+@gccoptlist{-fcall-saved-@var{reg} -fcall-used-@var{reg} @gol
+-ffixed-@var{reg} -fexceptions @gol
-fnon-call-exceptions -funwind-tables @gol
-fasynchronous-unwind-tables @gol
-finhibit-size-directive -finstrument-functions @gol
-fno-common -fno-ident -fno-gnu-linker @gol
-fpcc-struct-return -fpic -fPIC @gol
-freg-struct-return -fshared-data -fshort-enums @gol
--fshort-double -fshort-wchar -fvolatile @gol
+-fshort-double -fshort-wchar -fvolatile @gol
-fvolatile-global -fvolatile-static @gol
-fverbose-asm -fpack-struct -fstack-check @gol
-fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
-fargument-alias -fargument-noalias @gol
-fargument-noalias-global -fleading-underscore @gol
--ftls-model=@var{model}}
+-ftls-model=@var{model} @gol
+-ftrapv -fbounds-check}
@end table
@menu
@@ -1079,7 +1013,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
@@ -1206,6 +1140,17 @@ Accept some non-standard constructs used in Microsoft header files.
Support ISO C trigraphs. The @option{-ansi} option (and @option{-std}
options for strict ISO C conformance) implies @option{-trigraphs}.
+@item -no-integrated-cpp
+@opindex no-integrated-cpp
+Performs a compilation in two passes: preprocessing and compiling. This
+option allows a user supplied "cc1", "cc1plus", or "cc1obj" via the
+@option{-B} option. The user supplied compilation step can then add in
+an additional preprocessing step after normal preprocessing but before
+compiling. The default is to use the integrated cpp (internal cpp)
+
+The semantics of this option will change if "cc1", "cc1plus", and
+"cc1obj" are merged.
+
@cindex traditional C language
@cindex C language, traditional
@item -traditional
@@ -1315,14 +1260,14 @@ around bugs in the access control code.
@item -fcheck-new
@opindex fcheck-new
Check that the pointer returned by @code{operator new} is non-null
-before attempting to modify the storage allocated. The current Working
-Paper requires that @code{operator new} never return a null pointer, so
-this check is normally unnecessary.
-
-An alternative to using this option is to specify that your
-@code{operator new} does not throw any exceptions; if you declare it
-@samp{throw()}, G++ will check the return value. See also @samp{new
-(nothrow)}.
+before attempting to modify the storage allocated. This check is
+normally unnecessary because the C++ standard specifies that
+@code{operator new} will only return @code{0} if it is declared
+@samp{throw()}, in which case the compiler will always check the
+return value even without this option. In all other cases, when
+@code{operator new} has a non-empty exception specification, memory
+exhaustion is signalled by throwing @code{std::bad_alloc}. See also
+@samp{new (nothrow)}.
@item -fconserve-space
@opindex fconserve-space
@@ -1543,7 +1488,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 +1553,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 +1570,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 +2463,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
@@ -2689,8 +2634,8 @@ casts like @code{(unsigned) -1}.
@cindex signed and unsigned values, comparison warning
Warn when a comparison between signed and unsigned values could produce
an incorrect result when the signed value is converted to unsigned.
-This warning is also enabled by @option{-W}; to get the other warnings
-of @option{-W} without this warning, use @samp{-W -Wno-sign-compare}.
+This warning is enabled by @option{-W}, and by @option{-Wall}
+in C++ only.
@item -Waggregate-return
@opindex Waggregate-return
@@ -2712,7 +2657,7 @@ declaration. This warning is issued even if the definition itself
provides a prototype. The aim is to detect global functions that fail
to be declared in header files.
-@item -Wmissing-declarations
+@item -Wmissing-declarations @r{(C only)}
@opindex Wmissing-declarations
Warn if a global function is defined without a previous declaration.
Do so even if the definition itself provides a prototype.
@@ -2817,6 +2762,15 @@ code is to provide behavior which is selectable at compile-time.
@item -Winline
@opindex Winline
Warn if a function can not be inlined and it was declared as inline.
+Even with this option, the compiler will not warn about failures to
+inline functions declared in system headers.
+
+The compiler uses a variety of heuristics to determine whether or not
+to inline a function. For example, the compiler takes into account
+the size of the function being inlined and the the amount of inlining
+that has already been done in the current function. Therefore,
+seemingly insignificant changes in the source program can cause the
+warnings produced by @option{-Winline} to appear or disappear.
@item -Wlong-long
@opindex Wlong-long
@@ -2975,19 +2929,19 @@ Compress DWARF2 debugging information by eliminating duplicated
information about each symbol. This option only makes sense when
generating DWARF2 debugging information with @option{-gdwarf-2}.
-@cindex @code{prof}
+@cindex @command{prof}
@item -p
@opindex p
Generate extra code to write profile information suitable for the
-analysis program @code{prof}. You must use this option when compiling
+analysis program @command{prof}. You must use this option when compiling
the source files you want data about, and you must also use it when
linking.
-@cindex @code{gprof}
+@cindex @command{gprof}
@item -pg
@opindex pg
Generate extra code to write profile information suitable for the
-analysis program @code{gprof}. You must use this option when compiling
+analysis program @command{gprof}. You must use this option when compiling
the source files you want data about, and you must also use it when
linking.
@@ -3027,7 +2981,7 @@ optimization and code generation options plus
@option{-fbranch-probabilities} (@pxref{Optimize Options,,Options that
Control Optimization}).
-The other use of @option{-fprofile-arcs} is for use with @code{gcov},
+The other use of @option{-fprofile-arcs} is for use with @command{gcov},
when it is used with the @option{-ftest-coverage} option.
With @option{-fprofile-arcs}, for each function of your program GCC
@@ -3041,17 +2995,17 @@ 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
@item @var{auxname}.bb
-A mapping from basic blocks to line numbers, which @code{gcov} uses to
+A mapping from basic blocks to line numbers, which @command{gcov} uses to
associate basic block execution counts with line numbers.
@item @var{auxname}.bbg
-A list of all arcs in the program flow graph. This allows @code{gcov}
+A list of all arcs in the program flow graph. This allows @command{gcov}
to reconstruct the program flow graph, so that it can compute all basic
block and arc execution counts from the information in the
@file{@var{auxname}.da} file.
@@ -3114,25 +3068,20 @@ Dump after SSA optimizations, to @file{@var{file}.04.ssa} and
Dump after the second if conversion, to @file{@var{file}.29.ce3}.
@item f
@opindex df
-Dump after life analysis, to @file{@var{file}.18.life}.
+Dump after control and data flow analysis, to @file{@var{file}.14.cfg}.
+Also dump after life analysis, to @file{@var{file}.18.life}.
@item F
@opindex dF
Dump after purging @code{ADDRESSOF} codes, to @file{@var{file}.10.addressof}.
@item g
@opindex dg
Dump after global register allocation, to @file{@var{file}.24.greg}.
-@item h
-@opindex dh
-Dump after finalization of EH handling code, to @file{@var{file}.02.eh}.
-@item k
-@opindex dk
-Dump after reg-to-stack conversion, to @file{@var{file}.31.stack}.
-@item o
-@opindex do
-Dump after post-reload optimizations, to @file{@var{file}.25.postreload}.
@item G
@opindex dG
Dump after GCSE, to @file{@var{file}.11.gcse}.
+@item h
+@opindex dh
+Dump after finalization of EH handling code, to @file{@var{file}.02.eh}.
@item i
@opindex di
Dump after sibling call optimizations, to @file{@var{file}.01.sibling}.
@@ -3150,7 +3099,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
@@ -3158,6 +3107,9 @@ Dump after register renumbering, to @file{@var{file}.28.rnreg}.
@item N
@opindex dN
Dump after the register move pass, to @file{@var{file}.21.regmove}.
+@item o
+@opindex do
+Dump after post-reload optimizations, to @file{@var{file}.25.postreload}.
@item r
@opindex dr
Dump after RTL generation, to @file{@var{file}.00.rtl}.
@@ -3175,12 +3127,19 @@ Dump after the first scheduling pass, to @file{@var{file}.22.sched}.
@opindex dt
Dump after the second CSE pass (including the jump optimization that
sometimes follows CSE), to @file{@var{file}.17.cse2}.
+@item T
+@opindex dT
+Dump after running tracer, to @file{@var{file}.16.tracer}.
@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}.
+@item W
+@opindex dW
+Dump after SSA conditional constant propagation, to
+@file{@var{file}.05.ssaccp}.
@item X
@opindex dX
Dump after SSA dead code elimination, to @file{@var{file}.06.ssadce}.
@@ -3276,6 +3235,14 @@ Dump after all tree based optimization, to @file{@var{file}.optimized}.
Dump after function inlining, to @file{@var{file}.inlined}.
@end table
+@item -frandom-seed=@var{string}
+@opindex frandom-string
+This option provides a seed that GCC uses when it would otherwise use
+random numbers. At present, this is used to generate certain symbol names
+that have to be different in every compiled file.
+
+The @var{string} should be different for every file you compile.
+
@item -fsched-verbose=@var{n}
@opindex fsched-verbose
On targets that use instruction scheduling, this option controls the
@@ -3388,7 +3355,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 +3380,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 @gol
+-fmerge-constants @gol
+-fthread-jumps @gol
+-floop-optimize @gol
+-fcrossjumping @gol
+-fif-conversion @gol
+-fif-conversion2 @gol
+-fdelayed-branch @gol
+-fguess-branch-probability @gol
+-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 +3407,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 @gol
+-foptimize-sibling-calls @gol
+-fstrength-reduce @gol
+-fcse-follow-jumps -fcse-skip-blocks @gol
+-frerun-cse-after-loop -frerun-loop-opt @gol
+-fgcse -fgcse-lm -fgcse-sm @gol
+-fdelete-null-pointer-checks @gol
+-fexpensive-optimizations @gol
+-fregmove @gol
+-fschedule-insns -fschedule-insns2 @gol
+-fsched-interblock -fsched-spec @gol
+-fcaller-saves @gol
+-fpeephole2 @gol
+-freorder-blocks -freorder-functions @gol
+-fstrict-aliasing @gol
+-falign-functions -falign-jumps @gol
+-falign-loops -falign-labels}
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
@@ -3434,7 +3438,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,33 +3446,27 @@ 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 @gol
+-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.
-@table @gcctabopt
-@item -ffloat-store
-@opindex ffloat-store
-Do not store floating point variables in registers, and inhibit other
-options that might change whether a floating point value is taken from a
-register or memory.
-
-@cindex floating point precision
-This option prevents undesirable excess precision on machines such as
-the 68000 where the floating registers (of the 68881) keep more
-precision than a @code{double} is supposed to have. Similarly for the
-x86 architecture. For most programs, the excess precision does only
-good, but a few programs rely on the precise definition of IEEE floating
-point. Use @option{-ffloat-store} for such programs, after modifying
-them to store all pertinent intermediate computations into variables.
+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 -fno-default-inline
@opindex fno-default-inline
Do not make member functions inline by default merely because they are
@@ -3484,13 +3482,17 @@ returns. For machines which must pop arguments after a function call,
the compiler normally lets arguments accumulate on the stack for several
function calls and pops them all at once.
+Disabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fforce-mem
@opindex fforce-mem
Force memory operands to be copied into registers before doing
arithmetic on them. This produces better code by making all memory
references potential common subexpressions. When they are not common
subexpressions, instruction combination should eliminate the separate
-register-load. The @option{-O2} option turns on this option.
+register-load.
+
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
@item -fforce-addr
@opindex fforce-addr
@@ -3513,14 +3515,13 @@ machine-description macro @code{FRAME_POINTER_REQUIRED} controls
whether a target machine supports this flag. @xref{Registers,,Register
Usage, gccint, GNU Compiler Collection (GCC) Internals}.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -foptimize-sibling-calls
@opindex foptimize-sibling-calls
Optimize sibling and tail recursive calls.
-@item -ftrapv
-@opindex ftrapv
-This option generates traps for signed overflow on addition, subtraction,
-multiplication operations.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
@item -fno-inline
@opindex fno-inline
@@ -3538,11 +3539,13 @@ If all calls to a given function are integrated, and the function is
declared @code{static}, then the function is normally not output as
assembler code in its own right.
+Enabled at level @option{-O3}.
+
@item -finline-limit=@var{n}
@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.
@@ -3552,6 +3555,28 @@ the compilation faster and less code will be inlined (which presumably
means slower programs). This option is particularly useful for programs that
use inlining heavily such as those based on recursive templates with C++.
+Inlining is actually controlled by a number of parameters, which may be
+specified individually by using @option{--param @var{name}=@var{value}}.
+The @option{-finline-limit=@var{n}} option sets some of these parameters
+as follows:
+
+ @table @gcctabopt
+ @item max-inline-insns
+ is set to @var{n}.
+ @item max-inline-insns-single
+ is set to @var{n}/2.
+ @item max-inline-insns-auto
+ is set to @var{n}/2.
+ @item min-inline-insns
+ is set to 130 or @var{n}/4, whichever is smaller.
+ @item max-inline-insns-rtl
+ is set to @var{n}.
+ @end table
+
+Using @option{-finline-limit=600} thus results in the default settings
+for these parameters. See below for a documentation of the individual
+parameters controlling inlining.
+
@emph{Note:} pseudo instruction represents, in this particular context, an
abstract measurement of function's size. In no way, it represents a count
of assembly instructions and as such its exact meaning might change from one
@@ -3575,10 +3600,13 @@ 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 the default for optimized compilation if the assembler and
+linker support it. Use @option{-fno-merge-constants} to inhibit this
+behavior.
-This option is default for optimized compilation if assembler and linker
-support it. Use @option{-fno-merge-constants} to inhibit this behavior.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
@item -fmerge-all-constants
Attempt to merge identical constants and identical variables.
@@ -3590,12 +3618,6 @@ types. Languages like C or C++ require each non-automatic variable to
have distinct location, so using this option will result in non-conforming
behavior.
-@item -fnew-ra
-@opindex fnew-ra
-Use a graph coloring register allocator. Currently this option is meant
-for testing, so we are interested to hear about miscompilations with
-@option{-fnew-ra}.
-
@item -fno-branch-count-reg
@opindex fno-branch-count-reg
Do not use ``decrement and branch'' instructions on a count register,
@@ -3604,6 +3626,9 @@ register, compare it against zero, then branch based upon the result.
This option is only meaningful on architectures that support such
instructions, which include x86, PowerPC, IA-64 and S/390.
+The default is @option{-fbranch-count-reg}, enabled when
+@option{-fstrength-reduce} is enabled.
+
@item -fno-function-cse
@opindex fno-function-cse
Do not put function addresses in registers; make each instruction that
@@ -3613,88 +3638,7 @@ This option results in less efficient code, but some strange hacks
that alter the assembler output may be confused by the optimizations
performed when this option is not used.
-@item -ffast-math
-@opindex ffast-math
-Sets @option{-fno-math-errno}, @option{-funsafe-math-optimizations}, @*
-@option{-fno-trapping-math}, @option{-ffinite-math-only} and @*
-@option{-fno-signaling-nans}.
-
-This option causes the preprocessor macro @code{__FAST_MATH__} to be defined.
-
-This option should never be turned on by any @option{-O} option since
-it can result in incorrect output for programs which depend on
-an exact implementation of IEEE or ISO rules/specifications for
-math functions.
-
-@item -fno-math-errno
-@opindex fno-math-errno
-Do not set ERRNO after calling math functions that are executed
-with a single instruction, e.g., sqrt. A program that relies on
-IEEE exceptions for math error handling may want to use this flag
-for speed while maintaining IEEE arithmetic compatibility.
-
-This option should never be turned on by any @option{-O} option since
-it can result in incorrect output for programs which depend on
-an exact implementation of IEEE or ISO rules/specifications for
-math functions.
-
-The default is @option{-fmath-errno}.
-
-@item -funsafe-math-optimizations
-@opindex funsafe-math-optimizations
-Allow optimizations for floating-point arithmetic that (a) assume
-that arguments and results are valid and (b) may violate IEEE or
-ANSI standards. When used at link-time, it may include libraries
-or startup files that change the default FPU control word or other
-similar optimizations.
-
-This option should never be turned on by any @option{-O} option since
-it can result in incorrect output for programs which depend on
-an exact implementation of IEEE or ISO rules/specifications for
-math functions.
-
-The default is @option{-fno-unsafe-math-optimizations}.
-
-@item -ffinite-math-only
-@opindex ffinite-math-only
-Allow optimizations for floating-point arithmetic that assume
-that arguments and results are not NaNs or +-Infs.
-
-This option should never be turned on by any @option{-O} option since
-it can result in incorrect output for programs which depend on
-an exact implementation of IEEE or ISO rules/specifications.
-
-The default is @option{-fno-finite-math-only}.
-
-@item -fno-trapping-math
-@opindex fno-trapping-math
-Compile code assuming that floating-point operations cannot generate
-user-visible traps. These traps include division by zero, overflow,
-underflow, inexact result and invalid operation. This option implies
-@option{-fno-signaling-nans}. Setting this option may allow faster
-code if one relies on ``non-stop'' IEEE arithmetic, for example.
-
-This option should never be turned on by any @option{-O} option since
-it can result in incorrect output for programs which depend on
-an exact implementation of IEEE or ISO rules/specifications for
-math functions.
-
-The default is @option{-ftrapping-math}.
-
-@item -fsignaling-nans
-@opindex fsignaling-nans
-Compile code assuming that IEEE signaling NaNs may generate user-visible
-traps during floating-point operations. Setting this option disables
-optimizations that may change the number of exceptions visible with
-signaling NaNs. This option implies @option{-ftrapping-math}.
-
-This option causes the preprocessor macro @code{__SUPPORT_SNAN__} to
-be defined.
-
-The default is @option{-fno-signaling-nans}.
-
-This option is experimental and does not currently guarantee to
-disable all GCC optimizations that affect signaling NaN behavior.
+The default is @option{-ffunction-cse}
@item -fno-zero-initialized-in-bss
@opindex fno-zero-initialized-in-bss
@@ -3709,33 +3653,13 @@ assumptions based on that.
The default is @option{-fzero-initialized-in-bss}.
-@item -fbounds-check
-@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
-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
elimination of iteration variables.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fthread-jumps
@opindex fthread-jumps
Perform optimizations where we check to see if a jump branches to a
@@ -3744,6 +3668,8 @@ so, the first branch is redirected to either the destination of the
second branch or a point immediately following it, depending on whether
the condition is known to be true or false.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fcse-follow-jumps
@opindex fcse-follow-jumps
In common subexpression elimination, scan through jump instructions
@@ -3752,6 +3678,8 @@ example, when CSE encounters an @code{if} statement with an
@code{else} clause, CSE will follow the jump when the condition
tested is false.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fcse-skip-blocks
@opindex fcse-skip-blocks
This is similar to @option{-fcse-follow-jumps}, but causes CSE to
@@ -3760,15 +3688,21 @@ encounters a simple @code{if} statement with no else clause,
@option{-fcse-skip-blocks} causes CSE to follow the jump around the
body of the @code{if}.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -frerun-cse-after-loop
@opindex frerun-cse-after-loop
Re-run common subexpression elimination after loop optimizations has been
performed.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -frerun-loop-opt
@opindex frerun-loop-opt
Run the loop optimizer twice.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fgcse
@opindex fgcse
Perform a global common subexpression elimination pass.
@@ -3776,9 +3710,11 @@ 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.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fgcse-lm
@opindex fgcse-lm
When @option{-fgcse-lm} is enabled, global common subexpression elimination will
@@ -3786,6 +3722,8 @@ attempt to move loads which are only killed by stores into themselves. This
allows a loop containing a load/store sequence to be changed to a load outside
the loop, and a copy/store within the loop.
+Enabled by default when gcse is enabled.
+
@item -fgcse-sm
@opindex fgcse-sm
When @option{-fgcse-sm} is enabled, A store motion pass is run after global common
@@ -3793,17 +3731,23 @@ subexpression elimination. This pass will attempt to move stores out of loops.
When used in conjunction with @option{-fgcse-lm}, loops containing a load/store sequence
can be changed to a load before the loop and a store after the loop.
+Enabled by default when gcse is enabled.
+
@item -floop-optimize
@opindex floop-optimize
Perform loop optimizations: move constant expressions out of loops, simplify
exit test conditions and optionally do strength-reduction and loop unrolling as
well.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fcrossjumping
@opindex crossjumping
Perform cross-jumping transformation. This transformation unifies equivalent code and save code size. The
resulting code may or may not perform better than without cross-jumping.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fif-conversion
@opindex if-conversion
Attempt to transform conditional jumps into branch-less equivalents. This
@@ -3811,11 +3755,15 @@ include use of conditional moves, min, max, set flags and abs instructions, and
some tricks doable by standard arithmetics. The use of conditional execution
on chips where it is available is controlled by @code{if-conversion2}.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fif-conversion2
@opindex if-conversion2
Use conditional execution (where available) to transform conditional jumps into
branch-less equivalents.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fdelete-null-pointer-checks
@opindex fdelete-null-pointer-checks
Use global dataflow analysis to identify and eliminate useless checks
@@ -3828,10 +3776,14 @@ safely dereference null pointers. Use
@option{-fno-delete-null-pointer-checks} to disable this optimization
for programs which depend on that behavior.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fexpensive-optimizations
@opindex fexpensive-optimizations
Perform a number of minor optimizations that are relatively expensive.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -foptimize-register-move
@itemx -fregmove
@opindex foptimize-register-move
@@ -3839,18 +3791,21 @@ Perform a number of minor optimizations that are relatively expensive.
Attempt to reassign register numbers in move instructions and as
operands of other simple instructions in order to maximize the amount of
register tying. This is especially helpful on machines with two-operand
-instructions. GCC enables this optimization by default with @option{-O2}
-or higher.
+instructions.
Note @option{-fregmove} and @option{-foptimize-register-move} are the same
optimization.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fdelayed-branch
@opindex fdelayed-branch
If supported for the target machine, attempt to reorder instructions
to exploit instruction slots available after delayed branch
instructions.
+Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fschedule-insns
@opindex fschedule-insns
If supported for the target machine, attempt to reorder instructions to
@@ -3859,6 +3814,8 @@ helps machines that have slow floating point or memory load instructions
by allowing other instructions to be issued until the result of the load
or floating point instruction is required.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fschedule-insns2
@opindex fschedule-insns2
Similar to @option{-fschedule-insns}, but requests an additional pass of
@@ -3866,6 +3823,8 @@ instruction scheduling after register allocation has been done. This is
especially useful on machines with a relatively small number of
registers and where memory load instructions take more than one cycle.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fno-sched-interblock
@opindex fno-sched-interblock
Don't schedule instructions across basic blocks. This is normally
@@ -3890,28 +3849,6 @@ Allow speculative motion of more load instructions. This only makes
sense when scheduling before register allocation, i.e.@: with
@option{-fschedule-insns} or at @option{-O2} or higher.
-@item -ffunction-sections
-@itemx -fdata-sections
-@opindex ffunction-sections
-@opindex fdata-sections
-Place each function or data item into its own section in the output
-file if the target supports arbitrary sections. The name of the
-function or the name of the data item determines the section's name
-in the output file.
-
-Use these options on systems where the linker can perform optimizations
-to improve locality of reference in the instruction space. HPPA
-processors running HP-UX and SPARC processors running Solaris 2 have
-linkers with such optimizations. Other systems using the ELF object format
-as well as AIX may have these optimizations in the future.
-
-Only use these options when there are significant benefits from doing
-so. When you specify these options, the assembler and linker will
-create larger object and executable files and will also be slower.
-You will not be able to use @code{gprof} on all systems if you
-specify this option and you may have problems with debugging if
-you specify both this option and @option{-g}.
-
@item -fcaller-saves
@opindex fcaller-saves
Enable values to be allocated in registers that will be clobbered by
@@ -3922,33 +3859,7 @@ seems to result in better code than would otherwise be produced.
This option is always enabled by default on certain machines, usually
those which have no call-preserved registers to use instead.
-For all machines, optimization level 2 and higher enables this flag by
-default.
-
-@item -ftracer
-@opindex ftracer
-Perform tail duplication to enlarge superblock size. This transformation
-simplifies the control flow of the function allowing other optimizations to do
-better job.
-
-@item -funroll-loops
-@opindex funroll-loops
-Unroll loops whose number of iterations can be determined at compile
-time or upon entry to the loop. @option{-funroll-loops} implies both
-@option{-fstrength-reduce} and @option{-frerun-cse-after-loop}. This
-option makes code larger, and may or may not make it run faster.
-
-@item -funroll-all-loops
-@opindex funroll-all-loops
-Unroll all loops, even if their number of iterations is uncertain when
-the loop is entered. This usually makes programs run more slowly.
-@option{-funroll-all-loops} implies the same options as
-@option{-funroll-loops},
-
-@item -fprefetch-loop-arrays
-@opindex fprefetch-loop-arrays
-If supported by the target machine, generate instructions to prefetch
-memory to improve the performance of loops that access large arrays.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
@item -fmove-all-movables
@opindex fmove-all-movables
@@ -3986,27 +3897,10 @@ between @option{-fno-peephole} and @option{-fno-peephole2} is in how they
are implemented in the compiler; some targets use one, some use the
other, a few use both.
-@item -fbranch-probabilities
-@opindex fbranch-probabilities
-After running a program compiled with @option{-fprofile-arcs}
-(@pxref{Debugging Options,, Options for Debugging Your Program or
-@command{gcc}}), you can compile it a second time using
-@option{-fbranch-probabilities}, to improve optimizations based on
-the number of times each branch was taken. When the program
-compiled with @option{-fprofile-arcs} exits it saves arc execution
-counts to a file called @file{@var{sourcename}.da} for each source
-file The information in this data file is very dependent on the
-structure of the generated code, so you must use the same source code
-and the same optimization options for both compilations.
-
-With @option{-fbranch-probabilities}, GCC puts a @samp{REG_EXEC_COUNT}
-note on the first instruction of each basic block, and a
-@samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
-These can be used to improve optimization. Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
-branch is mostly to take, the @samp{REG_BR_PROB} values are used to
-exactly determine which path is taken more often.
+@option{-fpeephole} is enabled by default.
+@option{-fpeephole2} enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+@item -fbranch-probabilities
@item -fno-guess-branch-probability
@opindex fno-guess-branch-probability
Do not guess branch probabilities using a randomized model.
@@ -4023,11 +3917,16 @@ non-determinism is of paramount import. This switch allows users to
reduce non-determinism, possibly at the expense of inferior
optimization.
+The default is @option{-fguess-branch-probability} at levels
+@option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -freorder-blocks
@opindex freorder-blocks
Reorder basic blocks in the compiled function in order to reduce number of
taken branches and improve code locality.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -freorder-functions
@opindex freorder-functions
Reorder basic blocks in the compiled function in order to reduce number of
@@ -4035,11 +3934,13 @@ 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.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+
@item -fstrict-aliasing
@opindex fstrict-aliasing
Allows the compiler to assume the strictest aliasing rules applicable to
@@ -4085,8 +3986,7 @@ node, an alias set for the node. Nodes in different alias sets are not
allowed to alias. For an example, see the C front-end function
@code{c_get_alias_set}.
-For all machines, optimization level 2 and higher enables this flag by
-default.
+Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
@item -falign-functions
@itemx -falign-functions=@var{n}
@@ -4105,6 +4005,8 @@ in that case, it is rounded up.
If @var{n} is not specified, use a machine-dependent default.
+Enabled at levels @option{-O2}, @option{-O3}.
+
@item -falign-labels
@itemx -falign-labels=@var{n}
@opindex falign-labels
@@ -4119,6 +4021,8 @@ are greater than this value, then their values are used instead.
If @var{n} is not specified, use a machine-dependent default which is
very likely to be @samp{1}, meaning no alignment.
+Enabled at levels @option{-O2}, @option{-O3}.
+
@item -falign-loops
@itemx -falign-loops=@var{n}
@opindex falign-loops
@@ -4129,6 +4033,8 @@ operations.
If @var{n} is not specified, use a machine-dependent default.
+Enabled at levels @option{-O2}, @option{-O3}.
+
@item -falign-jumps
@itemx -falign-jumps=@var{n}
@opindex falign-jumps
@@ -4139,6 +4045,220 @@ need be executed.
If @var{n} is not specified, use a machine-dependent default.
+Enabled at levels @option{-O2}, @option{-O3}.
+
+@item -frename-registers
+@opindex frename-registers
+Attempt to avoid false dependencies in scheduled code by making use
+of registers left over after register allocation. This optimization
+will most benefit processors with lots of registers. It can, however,
+make debugging impossible, since variables will no longer stay in
+a ``home register''.
+
+Enabled at levels @option{-O3}.
+
+@item -fno-cprop-registers
+@opindex fno-cprop-registers
+After register allocation and post-register allocation instruction splitting,
+we perform a copy-propagation pass to try to reduce scheduling dependencies
+and occasionally eliminate the copy.
+
+Disabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+
+@end table
+
+The following options control compiler behavior regarding floating
+point arithmetic. These options trade off between speed and
+correctness. All must be specifically enabled.
+
+@table @gcctabopt
+@item -ffloat-store
+@opindex ffloat-store
+Do not store floating point variables in registers, and inhibit other
+options that might change whether a floating point value is taken from a
+register or memory.
+
+@cindex floating point precision
+This option prevents undesirable excess precision on machines such as
+the 68000 where the floating registers (of the 68881) keep more
+precision than a @code{double} is supposed to have. Similarly for the
+x86 architecture. For most programs, the excess precision does only
+good, but a few programs rely on the precise definition of IEEE floating
+point. Use @option{-ffloat-store} for such programs, after modifying
+them to store all pertinent intermediate computations into variables.
+
+@item -ffast-math
+@opindex ffast-math
+Sets @option{-fno-math-errno}, @option{-funsafe-math-optimizations}, @*
+@option{-fno-trapping-math}, @option{-ffinite-math-only} and @*
+@option{-fno-signaling-nans}.
+
+This option causes the preprocessor macro @code{__FAST_MATH__} to be defined.
+
+This option should never be turned on by any @option{-O} option since
+it can result in incorrect output for programs which depend on
+an exact implementation of IEEE or ISO rules/specifications for
+math functions.
+
+@item -fno-math-errno
+@opindex fno-math-errno
+Do not set ERRNO after calling math functions that are executed
+with a single instruction, e.g., sqrt. A program that relies on
+IEEE exceptions for math error handling may want to use this flag
+for speed while maintaining IEEE arithmetic compatibility.
+
+This option should never be turned on by any @option{-O} option since
+it can result in incorrect output for programs which depend on
+an exact implementation of IEEE or ISO rules/specifications for
+math functions.
+
+The default is @option{-fmath-errno}.
+
+@item -funsafe-math-optimizations
+@opindex funsafe-math-optimizations
+Allow optimizations for floating-point arithmetic that (a) assume
+that arguments and results are valid and (b) may violate IEEE or
+ANSI standards. When used at link-time, it may include libraries
+or startup files that change the default FPU control word or other
+similar optimizations.
+
+This option should never be turned on by any @option{-O} option since
+it can result in incorrect output for programs which depend on
+an exact implementation of IEEE or ISO rules/specifications for
+math functions.
+
+The default is @option{-fno-unsafe-math-optimizations}.
+
+@item -ffinite-math-only
+@opindex ffinite-math-only
+Allow optimizations for floating-point arithmetic that assume
+that arguments and results are not NaNs or +-Infs.
+
+This option should never be turned on by any @option{-O} option since
+it can result in incorrect output for programs which depend on
+an exact implementation of IEEE or ISO rules/specifications.
+
+The default is @option{-fno-finite-math-only}.
+
+@item -fno-trapping-math
+@opindex fno-trapping-math
+Compile code assuming that floating-point operations cannot generate
+user-visible traps. These traps include division by zero, overflow,
+underflow, inexact result and invalid operation. This option implies
+@option{-fno-signaling-nans}. Setting this option may allow faster
+code if one relies on ``non-stop'' IEEE arithmetic, for example.
+
+This option should never be turned on by any @option{-O} option since
+it can result in incorrect output for programs which depend on
+an exact implementation of IEEE or ISO rules/specifications for
+math functions.
+
+The default is @option{-ftrapping-math}.
+
+@item -fsignaling-nans
+@opindex fsignaling-nans
+Compile code assuming that IEEE signaling NaNs may generate user-visible
+traps during floating-point operations. Setting this option disables
+optimizations that may change the number of exceptions visible with
+signaling NaNs. This option implies @option{-ftrapping-math}.
+
+This option causes the preprocessor macro @code{__SUPPORT_SNAN__} to
+be defined.
+
+The default is @option{-fno-signaling-nans}.
+
+This option is experimental and does not currently guarantee to
+disable all GCC optimizations that affect signaling NaN behavior.
+
+@item -fsingle-precision-constant
+@opindex fsingle-precision-constant
+Treat floating point constant as single precision constant instead of
+implicitly converting it to double precision constant.
+
+
+@end table
+
+The following options control optimizations that may improve
+performance, but are not enabled by any @option{-O} options. This
+section includes experimental options that may produce broken code.
+
+@table @gcctabopt
+@item -fbranch-probabilities
+@opindex fbranch-probabilities
+After running a program compiled with @option{-fprofile-arcs}
+(@pxref{Debugging Options,, Options for Debugging Your Program or
+@command{gcc}}), you can compile it a second time using
+@option{-fbranch-probabilities}, to improve optimizations based on
+the number of times each branch was taken. When the program
+compiled with @option{-fprofile-arcs} exits it saves arc execution
+counts to a file called @file{@var{sourcename}.da} for each source
+file The information in this data file is very dependent on the
+structure of the generated code, so you must use the same source code
+and the same optimization options for both compilations.
+
+With @option{-fbranch-probabilities}, GCC puts a
+@samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
+These can be used to improve optimization. Currently, they are only
+used in one place: in @file{reorg.c}, instead of guessing which path a
+branch is mostly to take, the @samp{REG_BR_PROB} values are used to
+exactly determine which path is taken more often.
+
+@item -fnew-ra
+@opindex fnew-ra
+Use a graph coloring register allocator. Currently this option is meant
+for testing, so we are interested to hear about miscompilations with
+@option{-fnew-ra}.
+
+@item -ftracer
+@opindex ftracer
+Perform tail duplication to enlarge superblock size. This transformation
+simplifies the control flow of the function allowing other optimizations to do
+better job.
+
+@item -funroll-loops
+@opindex funroll-loops
+Unroll loops whose number of iterations can be determined at compile
+time or upon entry to the loop. @option{-funroll-loops} implies both
+@option{-fstrength-reduce} and @option{-frerun-cse-after-loop}. This
+option makes code larger, and may or may not make it run faster.
+
+@item -funroll-all-loops
+@opindex funroll-all-loops
+Unroll all loops, even if their number of iterations is uncertain when
+the loop is entered. This usually makes programs run more slowly.
+@option{-funroll-all-loops} implies the same options as
+@option{-funroll-loops},
+
+@item -fprefetch-loop-arrays
+@opindex fprefetch-loop-arrays
+If supported by the target machine, generate instructions to prefetch
+memory to improve the performance of loops that access large arrays.
+
+Disabled at level @option{-Os}.
+
+@item -ffunction-sections
+@itemx -fdata-sections
+@opindex ffunction-sections
+@opindex fdata-sections
+Place each function or data item into its own section in the output
+file if the target supports arbitrary sections. The name of the
+function or the name of the data item determines the section's name
+in the output file.
+
+Use these options on systems where the linker can perform optimizations
+to improve locality of reference in the instruction space. Most systems
+using the ELF object format and SPARC processors running Solaris 2 have
+linkers with such optimizations. AIX may have these optimizations in
+the future.
+
+
+Only use these options when there are significant benefits from doing
+so. When you specify these options, the assembler and linker will
+create larger object and executable files and will also be slower.
+You will not be able to use @code{gprof} on all systems if you
+specify this option and you may have problems with debugging if
+you specify both this option and @option{-g}.
+
@item -fssa
@opindex fssa
Perform optimizations in static single assignment form. Each function's
@@ -4156,24 +4276,6 @@ Perform Sparse Conditional Constant Propagation in SSA form. Requires
Perform aggressive dead-code elimination in SSA form. Requires @option{-fssa}.
Like @option{-fssa}, this is an experimental feature.
-@item -fsingle-precision-constant
-@opindex fsingle-precision-constant
-Treat floating point constant as single precision constant instead of
-implicitly converting it to double precision constant.
-
-@item -frename-registers
-@opindex frename-registers
-Attempt to avoid false dependencies in scheduled code by making use
-of registers left over after register allocation. This optimization
-will most benefit processors with lots of registers. It can, however,
-make debugging impossible, since variables will no longer stay in
-a ``home register''.
-
-@item -fno-cprop-registers
-@opindex fno-cprop-registers
-After register allocation and post-register allocation instruction splitting,
-we perform a copy-propagation pass to try to reduce scheduling dependencies
-and occasionally eliminate the copy.
@item --param @var{name}=@var{value}
@opindex param
@@ -4187,6 +4289,13 @@ In each case, the @var{value} is an integer. The allowable choices for
@var{name} are given in the following table:
@table @gcctabopt
+@item max-crossjump-edges
+The maximum number of incoming edges to consider for crossjumping.
+The algorithm used by @option{-fcrossjumping} is @math{O(N^2)} in
+the number of edges incoming to each block. Increasing values mean
+more aggressive optimization, making the compile time increase with
+probably small improvement in executable size.
+
@item max-delay-slot-insn-search
The maximum number of instructions to consider when looking for an
instruction to fill a delay slot. If more than this arbitrary number of
@@ -4218,10 +4327,53 @@ before flushing the current state and starting over. Large functions
with few branches or calls can create excessively large lists which
needlessly consume memory and resources.
+@item max-inline-insns-single
+Several parameters control the tree inliner used in gcc.
+This number sets the maximum number of instructions (counted in gcc's
+internal representation) in a single function that the tree inliner
+will consider for inlining. This only affects functions declared
+inline and methods implemented in a class declaration (C++).
+The default value is 300.
+
+@item max-inline-insns-auto
+When you use @option{-finline-functions} (included in @option{-O3}),
+a lot of functions that would otherwise not be considered for inlining
+by the compiler will be investigated. To those functions, a different
+(more restrictive) limit compared to functions declared inline can
+be applied.
+The default value is 300.
+
@item max-inline-insns
-If an function contains more than this many instructions, it
-will not be inlined. This option is precisely equivalent to
-@option{-finline-limit}.
+The tree inliner does decrease the allowable size for single functions
+to be inlined after we already inlined the number of instructions
+given here by repeated inlining. This number should be a factor of
+two or more larger than the single function limit.
+Higher numbers result in better runtime performance, but incur higher
+compile-time resource (CPU time, memory) requirements and result in
+larger binaries. Very high values are not advisable, as too large
+binaries may adversely affect runtime performance.
+The default value is 600.
+
+@item max-inline-slope
+After exceeding the maximum number of inlined instructions by repeated
+inlining, a linear function is used to decrease the allowable size
+for single functions. The slope of that function is the negative
+reciprocal of the number specified here.
+The default value is 32.
+
+@item min-inline-insns
+The repeated inlining is throttled more and more by the linear function
+after exceeding the limit. To avoid too much throttling, a minimum for
+this function is specified here to allow repeated inlining for very small
+functions even when a lot of repeated inlining already has been done.
+The default value is 130.
+
+@item max-inline-insns-rtl
+For languages that use the RTL inliner (this happens at a later stage
+than tree inlining), you can set the maximum allowable size (counted
+in RTL instructions) for the RTL inliner with this parameter.
+The default value is 600.
+
@item max-unrolled-insns
The maximum number of instructions that a loop should have if that loop
@@ -4239,8 +4391,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 +4401,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 +4416,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.
@@ -4276,7 +4429,11 @@ collector's heap should be allowed to expand between collections.
Tuning this may improve compilation speed; it has no effect on code
generation.
-The default is 30%. Setting this parameter and
+The default is 30% + 70% * (RAM/1GB) with an upper bound of 100% when
+RAM >= 1GB. If @code{getrlimit} is available, the notion of "RAM" is
+the smallest of actual RAM, RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS. If
+GCC is not able to calculate RAM on a particular platform, the lower
+bound of 30% is used. Setting this parameter and
@option{ggc-min-heapsize} to zero causes a full collection to occur at
every opportunity. This is extremely slow, but can be useful for
debugging.
@@ -4289,10 +4446,14 @@ by @option{ggc-min-expand}% beyond @option{ggc-min-heapsize}. Again,
tuning this may improve compilation speed, and has no effect on code
generation.
-The default is 4096 (four megabytes). Setting this parameter very large
-effectively disables garbage collection. Setting this parameter and
-@option{ggc-min-expand} to zero causes a full collection to occur at
-every opportunity.
+The default is RAM/8, with a lower bound of 4096 (four megabytes) and an
+upper bound of 131072 (128 megabytes). If @code{getrlimit} is
+available, the notion of "RAM" is the smallest of actual RAM,
+RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS. If GCC is not able to calculate
+RAM on a particular platform, the lower bound is used. Setting this
+parameter very large effectively disables garbage collection. Setting
+this parameter and @option{ggc-min-expand} to zero causes a full
+collection to occur at every opportunity.
@end table
@end table
@@ -4564,7 +4725,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.
@@ -4654,6 +4815,7 @@ are processed in order, from left to right.
@node Spec Files
@section Specifying subprocesses and the switches to pass to them
@cindex Spec Files
+
@command{gcc} is a driver program. It performs its job by invoking a
sequence of other programs to do the work of compiling, assembling and
linking. GCC interprets its command-line parameters and uses these to
@@ -5032,7 +5194,8 @@ based on the existence of the first. Here is a small example of its usage:
@smallexample
*startfile:
-crt0%O%s %:if-exists(crti%O%s) %:if-exists-else(crtbeginT%O%s crtbegin%O%s)
+crt0%O%s %:if-exists(crti%O%s) \
+%:if-exists-else(crtbeginT%O%s crtbegin%O%s)
@end smallexample
@end table
@@ -5216,8 +5379,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 +5393,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 +5609,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 +5929,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 +6093,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
@@ -6299,6 +6257,7 @@ of executing a function pointer if this option is enabled.
@node MN10200 Options
@subsection MN10200 Options
@cindex MN10200 options
+
These @option{-m} options are defined for Matsushita MN10200 architectures:
@table @gcctabopt
@@ -6314,6 +6273,7 @@ This option makes symbolic debugging impossible.
@node MN10300 Options
@subsection MN10300 Options
@cindex MN10300 options
+
These @option{-m} options are defined for Matsushita MN10300 architectures:
@table @gcctabopt
@@ -6476,9 +6436,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 +6446,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 +6533,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 +6740,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
@@ -7253,6 +7212,10 @@ This option sets flags for both the preprocessor and linker.
@node Darwin Options
@subsection Darwin Options
@cindex Darwin options
+
+These options are defined for all architectures running the Darwin operating
+system. These are useful for compatibility with other Mac OS compilers.
+
@table @gcctabopt
@item -all_load
@opindex all_load
@@ -7481,7 +7444,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 +7855,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 +7881,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 +7947,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
@@ -8368,6 +8333,30 @@ symbol-difference or pc-relative calls should be relatively small.
However, an indirect call is used on 32-bit ELF systems in pic code
and it is quite long.
+@item -nolibdld
+@opindex nolibdld
+Suppress the generation of link options to search libdld.sl when the
+@option{-static} option is specified on HP-UX 10 and later.
+
+@item -static
+@opindex static
+The HP-UX implementation of setlocale in libc has a dependency on
+libdld.sl. There isn't an archive version of libdld.sl. Thus,
+when the @option{-static} option is specified, special link options
+are needed to resolve this dependency.
+
+On HP-UX 10 and later, the GCC driver adds the necessary options to
+link with libdld.sl when the @option{-static} option is specified.
+This causes the resulting binary to be dynamic. On the 64-bit port,
+the linkers generate dynamic binaries by default in any case. The
+@option{-nolibdld} option can be used to prevent the GCC driver from
+adding these link options.
+
+@item -threads
+@opindex threads
+Add support for multithreading with the @dfn{dce thread} library
+under HP-UX. This option sets flags for both the preprocessor and
+linker.
@end table
@node Intel 960 Options
@@ -8687,7 +8676,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 +8784,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
@@ -8923,7 +8896,7 @@ Enable the use of the instruction @code{fmovd}.
@item -mhitachi
@opindex mhitachi
-Comply with the calling conventions defined by Hitachi.
+Comply with the calling conventions defined by Renesas.
@item -mnomacsave
@opindex mnomacsave
@@ -9214,16 +9187,16 @@ the assembler/linker complain about out of range branches within a switch
table.
@item -mapp-regs
-@opindex -mapp-regs
+@opindex mapp-regs
This option will cause r2 and r5 to be used in the code generated by
the compiler. This setting is the default.
@item -mno-app-regs
-@opindex -mno-app-regs
+@opindex mno-app-regs
This option will cause r2 and r5 to be treated as fixed registers.
@item -mv850e
-@opindex -mv850e
+@opindex mv850e
Specify that the target processor is the V850E. The preprocessor
constant @samp{__v850e__} will be defined if this option is used.
@@ -9235,7 +9208,7 @@ The preprocessor constants @samp{__v850} and @samp{__v851__} are always
defined, regardless of which processor variant is the target.
@item -mdisable-callt
-@opindex -mdisable-callt
+@opindex mdisable-callt
This option will suppress generation of the CALLT instruction for the
v850e flavors of the v850 architecture. The default is
@option{-mno-disable-callt} which allows the CALLT instruction to be used.
@@ -9496,75 +9469,57 @@ processors.
@table @gcctabopt
@item -mhardlit
-@itemx -mhardlit
@itemx -mno-hardlit
@opindex mhardlit
-@opindex mhardlit
@opindex mno-hardlit
Inline constants into the code stream if it can be done in two
instructions or less.
@item -mdiv
-@itemx -mdiv
@itemx -mno-div
@opindex mdiv
-@opindex mdiv
@opindex mno-div
Use the divide instruction. (Enabled by default).
@item -mrelax-immediate
-@itemx -mrelax-immediate
@itemx -mno-relax-immediate
@opindex mrelax-immediate
-@opindex mrelax-immediate
@opindex mno-relax-immediate
Allow arbitrary sized immediates in bit operations.
@item -mwide-bitfields
-@itemx -mwide-bitfields
@itemx -mno-wide-bitfields
@opindex mwide-bitfields
-@opindex mwide-bitfields
@opindex mno-wide-bitfields
Always treat bit-fields as int-sized.
@item -m4byte-functions
-@itemx -m4byte-functions
@itemx -mno-4byte-functions
@opindex m4byte-functions
-@opindex m4byte-functions
@opindex mno-4byte-functions
Force all functions to be aligned to a four byte boundary.
@item -mcallgraph-data
-@itemx -mcallgraph-data
@itemx -mno-callgraph-data
@opindex mcallgraph-data
-@opindex mcallgraph-data
@opindex mno-callgraph-data
Emit callgraph information.
@item -mslow-bytes
-@itemx -mslow-bytes
@itemx -mno-slow-bytes
@opindex mslow-bytes
-@opindex mslow-bytes
@opindex mno-slow-bytes
Prefer word access when reading byte quantities.
@item -mlittle-endian
-@itemx -mlittle-endian
@itemx -mbig-endian
@opindex mlittle-endian
-@opindex mlittle-endian
@opindex mbig-endian
Generate code for a little endian target.
@item -m210
-@itemx -m210
@itemx -m340
@opindex m210
-@opindex m210
@opindex m340
Generate code for the 210 processor.
@end table
@@ -9773,7 +9728,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
@@ -10541,6 +10496,18 @@ can figure out the other form by either removing @samp{no-} or adding
it.
@table @gcctabopt
+@item -fbounds-check
+@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
+currently only supported by the Java and Fortran 77 front-ends, where
+this option defaults to true and false respectively.
+
+@item -ftrapv
+@opindex ftrapv
+This option generates traps for signed overflow on addition, subtraction,
+multiplication operations.
+
@item -fexceptions
@opindex fexceptions
Enable exception handling. Generates extra code needed to propagate
@@ -10787,7 +10754,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
@@ -10906,7 +10873,6 @@ The default without @option{-fpic} is @code{initial-exec}; with
@cindex environment variables
@c man begin ENVIRONMENT
-
This section describes several environment variables that affect how GCC
operates. Some of them work by specifying directories or prefixes to use
when searching for various kinds of files. Some are used to specify other
@@ -11115,16 +11081,16 @@ prototype information about standard system functions. This option
applies only to @code{protoize}.
@item -c @var{compilation-options}
-Use @var{compilation-options} as the options when running @code{gcc} to
+Use @var{compilation-options} as the options when running @command{gcc} to
produce the @samp{.X} files. The special option @option{-aux-info} is
-always passed in addition, to tell @code{gcc} to write a @samp{.X} file.
+always passed in addition, to tell @command{gcc} to write a @samp{.X} file.
Note that the compilation options must be given as a single argument to
@code{protoize} or @code{unprotoize}. If you want to specify several
-@code{gcc} options, you must quote the entire set of compilation options
+@command{gcc} options, you must quote the entire set of compilation options
to make them a single word in the shell.
-There are certain @code{gcc} arguments that you cannot use, because they
+There are certain @command{gcc} arguments that you cannot use, because they
would produce the wrong kind of output. These include @option{-g},
@option{-O}, @option{-c}, @option{-S}, and @option{-o} If you include these in
the @var{compilation-options}, they are ignored.
@@ -11177,12 +11143,12 @@ Use the program @var{program} as the compiler. Normally, the name
Work quietly. Most warnings are suppressed.
@item -v
-Print the version number, just like @option{-v} for @code{gcc}.
+Print the version number, just like @option{-v} for @command{gcc}.
@end table
If you need special compiler options to compile one of your program's
source files, then you should generate that file's @samp{.X} file
-specially, by running @code{gcc} on that source file with the
+specially, by running @command{gcc} on that source file with the
appropriate options and the option @option{-aux-info}. Then run
@code{protoize} on the entire set of files. @code{protoize} will use
the existing @samp{.X} file because it is newer than the source file.
diff --git a/gcc/doc/makefile.texi b/gcc/doc/makefile.texi
index 6d6b0253aa6..1e64c5e6160 100644
--- a/gcc/doc/makefile.texi
+++ b/gcc/doc/makefile.texi
@@ -13,18 +13,18 @@ This is the default target. Depending on what your build/host/target
configuration is, it coordinates all the things that need to be built.
@item doc
-Produce info-formatted documentation. Also, @code{make dvi} is
-available for DVI-formatted documentation, and @code{make
+Produce info-formatted documentation. Also, @samp{make dvi} is
+available for DVI-formatted documentation, and @samp{make
generated-manpages} to generate man pages.
@item mostlyclean
Delete the files made while building the compiler.
@item clean
-That, and all the other files built by @code{make all}.
+That, and all the other files built by @samp{make all}.
@item distclean
-That, and all the files created by @code{configure}.
+That, and all the files created by @command{configure}.
@item extraclean
That, and any temporary or intermediate files, like emacs backup files.
@@ -43,7 +43,7 @@ Deletes installed files.
@item check
Run the testsuite. This creates a @file{testsuite} subdirectory that
has various @file{.sum} and @file{.log} files containing the results of
-the testing. You can run subsets with, for example, @code{make check-gcc}.
+the testing. You can run subsets with, for example, @samp{make check-gcc}.
You can specify specific tests by setting RUNTESTFLAGS to be the name
of the @file{.exp} file, optionally followed by (for some tests) an equals
and a file wildcard, like:
@@ -59,7 +59,7 @@ installed, such as TCL or dejagnu.
Builds gcc three times---once with the native compiler, once with the
native-built compiler it just built, and once with the compiler it built
the second time. In theory, the last two should produce the same
-results, which @code{make compare} can check. Each step of this process
+results, which @samp{make compare} can check. Each step of this process
is called a ``stage'', and the results of each stage @var{N}
(@var{N} = 1@dots{}3) are copied to a subdirectory @file{stage@var{N}/}.
@@ -81,7 +81,7 @@ special invocation, using this target means you don't have to keep track
of which stage you're on or what invocation that stage needs.
@item cleanstrap
-Removed everything (@code{make clean}) and rebuilds (@code{make bootstrap}).
+Removed everything (@samp{make clean}) and rebuilds (@samp{make bootstrap}).
@item stage@var{N} (@var{N} = 1@dots{}4)
For each stage, moves the appropriate files to the @file{stage@var{N}}
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 3ed88d02729..6184fc37bbd 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
@@ -2078,10 +2024,27 @@ Constants in the range @minus{}8 to 2
@item SPARC---@file{sparc.h}
@table @code
@item f
-Floating-point register that can hold 32- or 64-bit values.
+Floating-point register on the SPARC-V8 architecture and
+lower floating-point register on the SPARC-V9 architecture.
@item e
-Floating-point register that can hold 64- or 128-bit values.
+Floating-point register. It is equivalent to @samp{f} on the
+SPARC-V8 architecture and contains both lower and upper
+floating-point registers on the SPARC-V9 architecture.
+
+@item c
+Floating-point condition code register.
+
+@item d
+Lower floating-point register. It is only valid on the SPARC-V9
+architecture when the Visual Instruction Set is available.
+
+@item b
+Floating-point register. It is only valid on the SPARC-V9 architecture
+when the Visual Instruction Set is available.
+
+@item h
+64-bit global or out register for the SPARC-V8+ architecture.
@item I
Signed 13-bit constant
@@ -2104,6 +2067,9 @@ Same as @samp{K}, except that it verifies that bits that are not in the
lower 32-bit range are all zero. Must be used instead of @samp{K} for
modes wider than @code{SImode}
+@item O
+The constant 4096
+
@item G
Floating-point zero
@@ -2306,7 +2272,7 @@ A memory reference that is a stack push.
A memory reference that is a stack pop.
@item S
-A memory reference that refers to an constant address of known value.
+A memory reference that refers to a constant address of known value.
@item T
The register indicated by Rx (not implemented yet).
@@ -2494,8 +2460,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}
@@ -4249,7 +4214,7 @@ instruction is always valid, as compiler expect identical behavior of new
jump. When new sequence contains multiple jump instructions or new labels,
more assistance is needed. Splitter is required to create only unconditional
jumps, or simple conditional jump instructions. Additionally it must attach a
-@code{REG_BR_PROB} note to each conditional jump. An global variable
+@code{REG_BR_PROB} note to each conditional jump. A global variable
@code{split_branch_probability} hold the probability of original branch in case
it was an simple conditional jump, @minus{}1 otherwise. To simplify
recomputing of edge frequencies, new sequence is required to have only
@@ -5368,7 +5333,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
@@ -5860,16 +5825,16 @@ incurred. To describe all of this we could specify
@smallexample
(define_cpu_unit "div")
-(define_insn_reservation "simple" 2 (eq_attr "cpu" "int")
+(define_insn_reservation "simple" 2 (eq_attr "type" "int")
"(i0_pipeline | i1_pipeline), (port0 | port1)")
-(define_insn_reservation "mult" 4 (eq_attr "cpu" "mult")
+(define_insn_reservation "mult" 4 (eq_attr "type" "mult")
"i1_pipeline, nothing*2, (port0 | port1)")
-(define_insn_reservation "div" 8 (eq_attr "cpu" "div")
+(define_insn_reservation "div" 8 (eq_attr "type" "div")
"i1_pipeline, div*7, div + (port0 | port1)")
-(define_insn_reservation "float" 3 (eq_attr "cpu" "float")
+(define_insn_reservation "float" 3 (eq_attr "type" "float")
"f_pipeline, nothing, (port0 | port1))
(define_bypass 4 "float" "simple,mult,div")
@@ -5885,7 +5850,7 @@ and use it in all @code{define_insn_reservation} as in the following
construction
@smallexample
-(define_insn_reservation "simple" 2 (eq_attr "cpu" "int")
+(define_insn_reservation "simple" 2 (eq_attr "type" "int")
"(i0_pipeline | i1_pipeline), finish")
@end smallexample
diff --git a/gcc/doc/objc.texi b/gcc/doc/objc.texi
index 3b652551e7c..a0c40f7296e 100644
--- a/gcc/doc/objc.texi
+++ b/gcc/doc/objc.texi
@@ -25,7 +25,6 @@ comments about this document to Ovidiu Predescu
@node Executing code before main, Type encoding, Objective-C, Objective-C
@section @code{+load}: Executing code before main
-
The GNU Objective-C runtime provides a way that allows you to execute
code before the execution of the program enters the @code{main}
function. The code is executed on a per-class and a per-category basis,
@@ -423,7 +422,7 @@ as @code{NXConstantString}'s structure:
libraries may choose to inherit the customized constant string class
from a different class than @code{Object}. There is no requirement in
the methods the constant string class has to implement, but the final
-ivar layour of the class must be the compatible with the given
+ivar layout of the class must be the compatible with the given
structure.
When the compiler creates the statically allocated constant string
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index 423434d3c52..9a1941b4949 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -206,7 +206,7 @@ the input file name.
@cindex sibling call optimization
@item
-Sibiling call optimization. This pass performs tail recursion
+Sibling call optimization. This pass performs tail recursion
elimination, and tail and sibling call optimizations. The purpose of
these optimizations is to reduce the overhead of function calls,
whenever possible.
@@ -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 passes, but operates
in linear time.
@opindex dW
@@ -461,7 +460,7 @@ appending @samp{.sched} to the input file name.
@cindex register allocation
@item
-Register allocation. These passes make sure that all occurences of pseudo
+Register allocation. These passes make sure that all occurrences of pseudo
registers are eliminated, either by allocating them to a hard register,
replacing them by an equivalent expression (e.g.@: a constant) or by placing
them on the stack. This is done in several subpasses:
@@ -551,17 +550,6 @@ The option @option{-dB} causes a debugging dump of the RTL code after
this pass. This dump file's name is made by appending @samp{.bbro} to
the input file name.
-@cindex cross-jumping
-@cindex no-op move instructions
-@item
-Jump optimization is repeated, this time including cross-jumping
-and deletion of no-op move instructions.
-
-@opindex dJ
-The option @option{-dJ} causes a debugging dump of the RTL code after
-this pass. This dump file's name is made by appending @samp{.jump2}
-to the input file name.
-
@cindex delayed branch scheduling
@cindex scheduling, delayed branch
@item
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
index 1c9a4e49230..302957c419c 100644
--- a/gcc/doc/rtl.texi
+++ b/gcc/doc/rtl.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988, 1989, 1992, 1994, 1997, 1998, 1999, 2000, 2001, 2002
+@c Copyright (C) 1988, 1989, 1992, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -244,7 +244,7 @@ from an @samp{md} file, the vector value of this operand may be omitted.
An omitted vector is effectively the same as a vector of no elements.
@item B
-@samp{B} indicates a pointer to basic block strucure.
+@samp{B} indicates a pointer to basic block structure.
@item 0
@samp{0} means a slot whose contents do not fit any normal category.
@@ -1854,14 +1854,14 @@ valid.
Comparison operators test a relation on two operands and are considered
to represent a machine-dependent nonzero value described by, but not
necessarily equal to, @code{STORE_FLAG_VALUE} (@pxref{Misc})
-if the relation holds, or zero if it does not. The mode of the
-comparison operation is independent of the mode of the data being
-compared. If the comparison operation is being tested (e.g., the first
-operand of an @code{if_then_else}), the mode must be @code{VOIDmode}.
-If the comparison operation is producing data to be stored in some
-variable, the mode must be in class @code{MODE_INT}. All comparison
-operations producing data must use the same mode, which is
-machine-specific.
+if the relation holds, or zero if it does not, for comparison operators
+whose results have a `MODE_INT' mode, and
+@code{FLOAT_STORE_FLAG_VALUE} (@pxref{Misc}) if the relation holds, or
+zero if it does not, for comparison operators that return floating-point
+values. The mode of the comparison operation is independent of the mode
+of the data being compared. If the comparison operation is being tested
+(e.g., the first operand of an @code{if_then_else}), the mode must be
+@code{VOIDmode}.
@cindex condition codes
There are two ways that comparison operations may be used. The
@@ -2596,7 +2596,7 @@ Here is an example of its use:
This says to modify pseudo register 42 by adding the contents of pseudo
register 48 to it, after the use of what ever 42 points to.
-@findex post_modify
+@findex pre_modify
@item (pre_modify:@var{m} @var{x} @var{expr})
Similar except side effects happen before the use.
@end table
@@ -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
@@ -3254,12 +3254,6 @@ are stored in the @code{REG_NOTES} field of an insn as an
@code{expr_list}.
@table @code
-@findex REG_EXEC_COUNT
-@item REG_EXEC_COUNT
-This is used to indicate the number of times a basic block was executed
-according to the profile data. The note is attached to the first insn in
-the basic block.
-
@findex REG_BR_PROB
@item REG_BR_PROB
This is used to specify the ratio of branches to non-branches of a
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..3965ecc8132 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -155,7 +155,7 @@ various languages, @file{@var{language}.po}. This directory also
contains @file{gcc.pot}, the template for these message catalogues,
@file{exgettext}, a wrapper around @command{gettext} to extract the
messages from the GCC sources and create @file{gcc.pot}, which is run
-by @command{make gcc.pot}, and @file{EXCLUDES}, a list of files from
+by @samp{make gcc.pot}, and @file{EXCLUDES}, a list of files from
which messages should not be extracted.
@item testsuite
@@ -278,7 +278,7 @@ needs fixing, @file{syslimits.h} is the fixed copy.
The main GCC documentation is in the form of manuals in Texinfo
format. These are installed in Info format, and DVI versions may be
-generated by @command{make dvi}. In addition, some man pages are
+generated by @samp{make dvi}. In addition, some man pages are
generated from the Texinfo manuals, there are some other text files
with miscellaneous documentation, and runtime libraries have their own
documentation outside the @file{gcc} directory. FIXME: document the
@@ -312,9 +312,9 @@ The GNU General Public License.
A copy of @file{texinfo.tex} known to work with the GCC manuals.
@end table
-DVI formatted manuals are generated by @command{make dvi}, which uses
+DVI formatted manuals are generated by @samp{make dvi}, which uses
@command{texi2dvi} (via the Makefile macro @code{$(TEXI2DVI)}). Info
-manuals are generated by @command{make info} (which is run as part of
+manuals are generated by @samp{make info} (which is run as part of
a bootstrap); this generates the manuals in the source directory,
using @command{makeinfo} via the Makefile macro @code{$(MAKEINFO)},
and they are included in release distributions.
@@ -330,7 +330,7 @@ not themselves the root files of manuals, may have names that appear
more than once in the source tree.) The manual file
@file{@var{name}.texi} should only include other files in its own
directory or in @file{doc/include}. HTML manuals will be generated by
-@command{makeinfo --html} and PostScript manuals by @command{texi2dvi}
+@samp{makeinfo --html} and PostScript manuals by @command{texi2dvi}
and @command{dvips}. All Texinfo files that are parts of manuals must
be checked into CVS, even if they are generated files, for the
generation of online manuals to work.
@@ -541,7 +541,7 @@ deprecated).
FIXME: exactly what goes in each of these targets?
@item info
Build info documentation for the front end, in the source directory.
-This target is only called by @command{make bootstrap} if a suitable
+This target is only called by @samp{make bootstrap} if a suitable
version of @command{makeinfo} is available, so does not need to check
for this, and should fail if an error occurs.
@item dvi
@@ -751,9 +751,12 @@ suites. Currently only the C language test suites are documented
here; FIXME: document the others.
@menu
-* Test Idioms:: Idioms used in test suite code.
-* C Tests:: The C language test suites.
-* libgcj Tests:: The Java library test suites.
+* Test Idioms:: Idioms used in test suite code.
+* C Tests:: The C language test suites.
+* libgcj Tests:: The Java library test suites.
+* gcov Testing:: Support for testing gcov.
+* profopt Testing:: Support for testing profile-directed optimizations.
+* compat Testing:: Support for testing binary compatibility.
@end menu
@node Test Idioms
@@ -867,7 +870,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
@@ -898,8 +901,28 @@ FIXME: describe this.
This directory should probably not be used for new tests.
@item gcc.c-torture/misc-tests
-FIXME: describe this, when it should be used for new tests and when it
-shouldn't.
+This directory contains C tests that require special handling. Some
+of these tests have individual expect files, and others share
+special-purpose expect files:
+
+@table @file
+@item @code{bprob*.c}
+Test @option{-fbranch-probabilities} using @file{bprob.exp}, which
+in turn uses the generic, language-independent framework
+(@pxref{profopt Testing, , Support for testing profile-directed
+optimizations}).
+
+@item @code{dg-*.c}
+Test the testsuite itself using @file{dg-test.exp}.
+
+@item @code{gcov*.c}
+Test @command{gcov} output using @file{gcov.exp}, which in turn uses the
+language-independent support (@pxref{gcov Testing, , Support for testing gcov}).
+
+@item @code{i386-pf-*.c}
+Test i386-specific support for data prefetch using @file{i386-prefetch.exp}.
+@end table
+
@end table
FIXME: merge in @file{testsuite/README.gcc} and discuss the format of
@@ -933,3 +956,190 @@ part of Java testing by placing the Jacks tree within the the libjava
testsuite sources at @file{libjava/testsuite/libjava.jacks/jacks}.
We encourage developers to contribute test cases to Mauve and Jacks.
+
+@node gcov Testing
+@subsection Support for testing @command{gcov}
+
+Language-independent support for testing @command{gcov}, and for checking
+that branch profiling produces expected values, is provided by the
+expect file @file{gcov.exp}. @command{gcov} tests also rely on procedures
+in @file{gcc.dg.exp} to compile and run the test program. A typical
+@command{gcov} test contains the following DejaGNU commands within comments:
+
+@smallexample
+@{ dg-options "-fprofile-arcs -ftest-coverage" @}
+@{ dg-do run @{ target native @} @}
+@{ dg-final @{ run-gcov sourcefile @} @}
+@end smallexample
+
+Checks of @command{gcov} output can include line counts, branch percentages,
+and call return percentages. All of these checks are requested via
+commands that appear in comments in the test's source file.
+Commands to check line counts are processed by default.
+Commands to check branch percentages and call return percentages are
+processed if there is a file with the same basename as the source
+file and a suffix @file{.x} that contains a line
+@code{set gcov_verify_branches 1} or @code{set gcov_verify_calls 1},
+respectively.
+
+A line count command appears within a comment on the source line
+that is expected to get the specified count and has the form
+@code{count(@var{cnt})}. A test should only check line counts for
+lines that will get the same count for any architecture.
+
+Commands to check branch percentages (@code{branch}) and call
+return percentages (@code{returns}) are very similar to each other.
+A beginning command appears on or before the first of a range of
+lines that will report the percentage, and the ending command
+follows that range of lines. The beginning command can include a
+list of percentages, all of which are expected to be found within
+the range. A range is terminated by the next command of the same
+kind. A command @code{branch(end)} or @code{returns(end)} marks
+the end of a range without starting a new one. For example:
+
+@smallexample
+if (i > 10 && j > i && j < 20) /* branch(27 50 75) */
+ /* branch(end) */
+ foo (i, j);
+@end smallexample
+
+For a call return percentage, the value specified is the
+percentage of calls reported to return. For a branch percentage,
+the value is either the expected percentage or 100 minus that
+value, since the direction of a branch can differ depending on the
+target or the optimization level.
+
+Not all branches and calls need to be checked. A test should not
+check for branches that might be optimized away or replaced with
+predicated instructions. Don't check for calls inserted by the
+compiler or ones that might be inlined or optimized away.
+
+A single test can check for combinations of line counts, branch
+percentages, and call return percentages. The command to check a
+line count must appear on the line that will report that count, but
+commands to check branch percentages and call return percentages can
+bracket the lines that report them.
+
+@node profopt Testing
+@subsection Support for testing profile-directed optimizations
+
+The file @file{profopt.exp} provides language-independent support for
+checking correct execution of a test built with profile-directed
+optimization. This testing requires that a test program be built and
+executed twice. The first time it is compiled to generate profile
+data, and the second time it is compiled to use the data that was
+generated during the first execution. The second execution is to
+verify that the test produces the expected results.
+
+To check that the optimization actually generated better code, a
+test can be built and run a third time with normal optimizations to
+verify that the performance is better with the profile-directed
+optimizations. @file{profopt.exp} has the beginnings of this kind
+of support.
+
+@file{profopt.exp} provides generic support for profile-directed
+optimizations. Each set of tests that uses it provides information
+about a specific optimization:
+
+@table @code
+@item tool
+tool being tested, e.g., gcc
+
+@item profile_option
+options used to generate profile data
+
+@item feedback_option
+options used to optimize using that profile data
+
+@item prof_ext
+suffix of profile data files
+
+@item PROFOPT_OPTIONS
+list of options with which to run each test, similar to the lists for
+torture tests
+@end table
+
+@node compat Testing
+@subsection Support for testing binary compatibility
+
+The file @file{compat.exp} provides language-independent support for
+binary compatibility testing. It supports testing interoperability
+of two compilers that follow the same ABI, or of multiple sets of
+compiler options that should not affect binary compatibility.
+It is intended to be used for test suites that complement ABI test
+suites.
+
+A test supported by this framework has three parts, each in a
+separate source file: a main program and two pieces that interact
+with each other to split up the functionality being tested.
+
+@table @file
+@item @var{testname}_main.@var{suffix}
+Contains the main program, which calls a function in file
+@file{@var{testname}_x.@var{suffix}}.
+
+@item @var{testname}_x.@var{suffix}
+Contains at least one call to a function in
+@file{@var{testname}_y.@var{suffix}}.
+
+@item @var{testname}_y.@var{suffix}
+Shares data with, or gets arguments from,
+@file{@var{testname}_x.@var{suffix}}.
+@end table
+
+Within each test, the main program and one functional piece are
+compiled by the GCC under test. The other piece can be compiled by
+an alternate compiler. If no alternate compiler is specified,
+then all three source files are all compiled by the GCC under test.
+It's also possible to specify a pair of lists of compiler options,
+one list for each compiler, so that each test will be compiled with
+each pair of options.
+
+@file{compat.exp} defines default pairs of compiler options.
+These can be overridden by defining the environment variable
+@env{COMPAT_OPTIONS} as:
+
+@smallexample
+COMPAT_OPTIONS="[list [list @{@var{tst1}@} @{@var{alt1}@}]
+ ...[list @{@var{tstn}@} @{@var{altn}@}]]"
+@end smallexample
+
+where @var{tsti} and @var{alti} are lists of options, with @var{tsti}
+used by the compiler under test and @var{alti} used by the alternate
+compiler. For example, with
+@code{[list [list @{-g -O0@} @{-O3@}] [list @{-fpic@} @{-fPIC -O2@}]]},
+the test is first built with @code{-g -O0} by the compiler under
+test and with @code{-O3} by the alternate compiler. The test is
+built a second time using @code{-fpic} by the compiler under test
+and @code{-fPIC -O2} by the alternate compiler.
+
+An alternate compiler is specified by defining an environment
+variable; for C++ define @env{ALT_CXX_UNDER_TEST} to be the full
+pathname of an installed compiler. That will be written to the
+@file{site.exp} file used by DejaGNU. The default is to build each
+test with the compiler under test using the first of each pair of
+compiler options from @env{COMPAT_OPTIONS}. When
+@env{ALT_CXX_UNDER_TEST} is @code{same}, each test is built using
+the compiler under test but with combinations of the options from
+@env{COMPAT_OPTIONS}.
+
+To run only the C++ compatibility suite using the compiler under test
+and another version of GCC using specific compiler options, do the
+following from @file{@var{objdir}/gcc}:
+
+@smallexample
+rm site.exp
+make -k \
+ ALT_CXX_UNDER_TEST=$@{alt_prefix@}/bin/g++ \
+ COMPAT_OPTIONS="lists as shown above" \
+ check-c++ \
+ RUNTESTFLAGS="compat.exp"
+@end smallexample
+
+A test that fails when the source files are compiled with different
+compilers, but passes when the files are compiled with the same
+compiler, demonstrates incompatibility of the generated code or
+runtime support. A test that fails for the alternate compiler but
+passes for the compiler under test probably tests for a bug that was
+fixed in the compiler under test but is present in the alternate
+compiler.
diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi
index 8c37fccd440..c939498d398 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}.)
@@ -189,4 +189,4 @@ conformance and compatibility of the Ada compiler.
Fortran}, for details of the Fortran language supported by GCC@.
@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
-for details of compatibility between @code{gcj} and the Java Platform.
+for details of compatibility between @command{gcj} and the Java Platform.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 4b885113797..21c7c2a2bd5 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002
+@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -390,7 +390,7 @@ the target makefile fragment or if none of the options listed in
@findex RELATIVE_PREFIX_NOT_LINKDIR
@item RELATIVE_PREFIX_NOT_LINKDIR
-Define this macro to tell @code{gcc} that it should only translate
+Define this macro to tell @command{gcc} that it should only translate
a @option{-B} prefix into a @option{-L} linker option if the prefix
indicates an absolute file name.
@@ -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}.
@@ -2561,10 +2561,9 @@ should be the maximum value of @code{HARD_REGNO_NREGS (@var{regno},
This macro helps control the handling of multiple-word values
in the reload pass.
-@item CANNOT_CHANGE_MODE_CLASS(@var{from}, @var{to})
-If defined, a C expression that returns a register class for which
-a change from mode @var{from} to mode @var{to} is invalid, otherwise the
-macro returns @code{NO_REGS}.
+@item CANNOT_CHANGE_MODE_CLASS(@var{from}, @var{to}, @var{class})
+If defined, a C expression that returns nonzero for a @var{class} for which
+a change from mode @var{from} to mode @var{to} is invalid.
For the example, loading 32-bit integer or floating-point objects into
floating-point registers on the Alpha extends them to 64 bits.
@@ -2574,8 +2573,9 @@ register. Therefore, @file{alpha.h} defines @code{CANNOT_CHANGE_MODE_CLASS}
as below:
@example
-#define CANNOT_CHANGE_MODE_CLASS \
- (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) ? FLOAT_REGS : NO_REGS)
+#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+ (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
+ ? reg_classes_intersect_p (FLOAT_REGS, (CLASS)) : 0)
@end example
@end table
@@ -2899,8 +2899,12 @@ It will be assigned zero on code paths that return normally.
Typically this is a call-clobbered hard register that is otherwise
untouched by the epilogue, but could also be a stack slot.
-You must define this macro if you want to support call frame exception
-handling like that provided by DWARF 2.
+Do not define this macro if the stack pointer is saved and restored
+by the regular prolog and epilog code in the call frame itself; in
+this case, the exception handling library routines will update the
+stack location to be restored in place. Otherwise, you must define
+this macro if you want to support call frame exception handling like
+that provided by DWARF 2.
@findex EH_RETURN_HANDLER_RTX
@item EH_RETURN_HANDLER_RTX
@@ -2912,8 +2916,9 @@ Typically this is the location in the call frame at which the normal
return address is stored. For targets that return by popping an
address off the stack, this might be a memory address just below
the @emph{target} call frame rather than inside the current call
-frame. @code{EH_RETURN_STACKADJ_RTX} will have already been assigned,
-so it may be used to calculate the location of the target call frame.
+frame. If defined, @code{EH_RETURN_STACKADJ_RTX} will have already
+been assigned, so it may be used to calculate the location of the
+target call frame.
Some targets have more complex requirements than storing to an
address calculable during initial code generation. In that case
@@ -4179,7 +4184,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:
@@ -6931,7 +6936,7 @@ When arbitrary sections are available, there are two variants, depending
upon how the code in @file{crtstuff.c} is called. On systems that
support a @dfn{.init} section which is executed at program startup,
parts of @file{crtstuff.c} are compiled into that section. The
-program is linked by the @code{gcc} driver like this:
+program is linked by the @command{gcc} driver like this:
@example
ld -o @var{output_file} crti.o crtbegin.o @dots{} -lgcc crtend.o crtn.o
@@ -9044,7 +9049,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
@@ -9131,6 +9136,22 @@ Define this macro for systems like AIX, where the linker discards
object files that are not referenced from @code{main} and uses export
lists.
+@findex MODIFY_JNI_METHOD_CALL
+@item MODIFY_JNI_METHOD_CALL (@var{mdecl})
+Define this macro to a C expression representing a variant of the
+method call @var{mdecl}, if Java Native Interface (JNI) methods
+must be invoked differently from other methods on your target.
+For example, on 32-bit Windows, JNI methods must be invoked using
+the @code{stdcall} calling convention and this macro is then
+defined as this expression:
+
+@smallexample
+build_type_attribute_variant (@var{mdecl},
+ build_tree_list
+ (get_identifier ("stdcall"),
+ NULL))
+@end smallexample
+
@end table
@deftypefn {Target Hook} bool TARGET_CANNOT_MODIFY_JUMPS_P (void)
diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi
index d6ba63259d6..4a8f0c32fd1 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
@@ -959,9 +886,9 @@ int Foo::bar = 0;
@end example
Other C++ compilers may not correctly implement the standard behavior.
-As a result, when you switch to @code{g++} from one of these compilers,
+As a result, when you switch to @command{g++} from one of these compilers,
you may discover that a program that appeared to work correctly in fact
-does not conform to the standard: @code{g++} reports as undefined
+does not conform to the standard: @command{g++} reports as undefined
symbols any static data members that lack definitions.
@node Temporaries
diff --git a/gcc/doc/vms.texi b/gcc/doc/vms.texi
deleted file mode 100644
index 080d4522bed..00000000000
--- a/gcc/doc/vms.texi
+++ /dev/null
@@ -1,225 +0,0 @@
-@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-@c 1999, 2000, 2001 Free Software Foundation, Inc.
-@c This is part of the GCC manual.
-@c For copying conditions, see the file gcc.texi.
-
-@node VMS
-@chapter Using GCC on VMS
-
-@c prevent bad page break with this line
-Here is how to use GCC on VMS@.
-
-@menu
-* Global Declarations:: How to do globaldef, globalref and globalvalue with
- GCC.
-* VMS Misc:: Misc information.
-@end menu
-
-@node Global Declarations
-@section Global Declarations and VMS
-
-@findex GLOBALREF
-@findex GLOBALDEF
-@findex GLOBALVALUEDEF
-@findex GLOBALVALUEREF
-GCC does not provide the @code{globalref}, @code{globaldef} and
-@code{globalvalue} keywords of VAX-C@. You can get the same effect with
-an obscure feature of GAS, the GNU assembler. (This requires GAS
-version 1.39 or later.) The following macros allow you to use this
-feature in a fairly natural way:
-
-@smallexample
-#ifdef __GNUC__
-#define GLOBALREF(TYPE,NAME) \
- TYPE NAME \
- asm ("_$$PsectAttributes_GLOBALSYMBOL$$" #NAME)
-#define GLOBALDEF(TYPE,NAME,VALUE) \
- TYPE NAME \
- asm ("_$$PsectAttributes_GLOBALSYMBOL$$" #NAME) \
- = VALUE
-#define GLOBALVALUEREF(TYPE,NAME) \
- const TYPE NAME[1] \
- asm ("_$$PsectAttributes_GLOBALVALUE$$" #NAME)
-#define GLOBALVALUEDEF(TYPE,NAME,VALUE) \
- const TYPE NAME[1] \
- asm ("_$$PsectAttributes_GLOBALVALUE$$" #NAME) \
- = @{VALUE@}
-#else
-#define GLOBALREF(TYPE,NAME) \
- globalref TYPE NAME
-#define GLOBALDEF(TYPE,NAME,VALUE) \
- globaldef TYPE NAME = VALUE
-#define GLOBALVALUEDEF(TYPE,NAME,VALUE) \
- globalvalue TYPE NAME = VALUE
-#define GLOBALVALUEREF(TYPE,NAME) \
- globalvalue TYPE NAME
-#endif
-@end smallexample
-
-@noindent
-(The @code{_$$PsectAttributes_GLOBALSYMBOL} prefix at the start of the
-name is removed by the assembler, after it has modified the attributes
-of the symbol). These macros are provided in the VMS binaries
-distribution in a header file @file{GNU_HACKS.H}. An example of the
-usage is:
-
-@example
-GLOBALREF (int, ijk);
-GLOBALDEF (int, jkl, 0);
-@end example
-
-The macros @code{GLOBALREF} and @code{GLOBALDEF} cannot be used
-straightforwardly for arrays, since there is no way to insert the array
-dimension into the declaration at the right place. However, you can
-declare an array with these macros if you first define a typedef for the
-array type, like this:
-
-@example
-typedef int intvector[10];
-GLOBALREF (intvector, foo);
-@end example
-
-Array and structure initializers will also break the macros; you can
-define the initializer to be a macro of its own, or you can expand the
-@code{GLOBALDEF} macro by hand. You may find a case where you wish to
-use the @code{GLOBALDEF} macro with a large array, but you are not
-interested in explicitly initializing each element of the array. In
-such cases you can use an initializer like: @code{@{0,@}}, which will
-initialize the entire array to @code{0}.
-
-A shortcoming of this implementation is that a variable declared with
-@code{GLOBALVALUEREF} or @code{GLOBALVALUEDEF} is always an array. For
-example, the declaration:
-
-@example
-GLOBALVALUEREF(int, ijk);
-@end example
-
-@noindent
-declares the variable @code{ijk} as an array of type @code{int [1]}.
-This is done because a globalvalue is actually a constant; its ``value''
-is what the linker would normally consider an address. That is not how
-an integer value works in C, but it is how an array works. So treating
-the symbol as an array name gives consistent results---with the
-exception that the value seems to have the wrong type. @strong{Don't
-try to access an element of the array.} It doesn't have any elements.
-The array ``address'' may not be the address of actual storage.
-
-The fact that the symbol is an array may lead to warnings where the
-variable is used. Insert type casts to avoid the warnings. Here is an
-example; it takes advantage of the ISO C feature allowing macros that
-expand to use the same name as the macro itself.
-
-@example
-GLOBALVALUEREF (int, ss$_normal);
-GLOBALVALUEDEF (int, xyzzy,123);
-#ifdef __GNUC__
-#define ss$_normal ((int) ss$_normal)
-#define xyzzy ((int) xyzzy)
-#endif
-@end example
-
-Don't use @code{globaldef} or @code{globalref} with a variable whose
-type is an enumeration type; this is not implemented. Instead, make the
-variable an integer, and use a @code{globalvaluedef} for each of the
-enumeration values. An example of this would be:
-
-@example
-#ifdef __GNUC__
-GLOBALDEF (int, color, 0);
-GLOBALVALUEDEF (int, RED, 0);
-GLOBALVALUEDEF (int, BLUE, 1);
-GLOBALVALUEDEF (int, GREEN, 3);
-#else
-enum globaldef color @{RED, BLUE, GREEN = 3@};
-#endif
-@end example
-
-@node VMS Misc
-@section Other VMS Issues
-
-@cindex exit status and VMS
-@cindex return value of @code{main}
-@cindex @code{main} and the exit status
-GCC automatically arranges for @code{main} to return 1 by default if
-you fail to specify an explicit return value. This will be interpreted
-by VMS as a status code indicating a normal successful completion.
-Version 1 of GCC did not provide this default.
-
-GCC on VMS works only with the GNU assembler, GAS@. You need version
-1.37 or later of GAS in order to produce value debugging information for
-the VMS debugger. Use the ordinary VMS linker with the object files
-produced by GAS@.
-
-@cindex shared VMS run time system
-@cindex @file{VAXCRTL}
-Under previous versions of GCC, the generated code would occasionally
-give strange results when linked to the sharable @file{VAXCRTL} library.
-Now this should work.
-
-A caveat for use of @code{const} global variables: the @code{const}
-modifier must be specified in every external declaration of the variable
-in all of the source files that use that variable. Otherwise the linker
-will issue warnings about conflicting attributes for the variable. Your
-program will still work despite the warnings, but the variable will be
-placed in writable storage.
-
-@cindex name augmentation
-@cindex case sensitivity and VMS
-@cindex VMS and case sensitivity
-Although the VMS linker does distinguish between upper and lower case
-letters in global symbols, most VMS compilers convert all such symbols
-into upper case and most run-time library routines also have upper case
-names. To be able to reliably call such routines, GCC (by means of
-the assembler GAS) converts global symbols into upper case like other
-VMS compilers. However, since the usual practice in C is to distinguish
-case, GCC (via GAS) tries to preserve usual C behavior by augmenting
-each name that is not all lower case. This means truncating the name
-to at most 23 characters and then adding more characters at the end
-which encode the case pattern of those 23. Names which contain at
-least one dollar sign are an exception; they are converted directly into
-upper case without augmentation.
-
-Name augmentation yields bad results for programs that use precompiled
-libraries (such as Xlib) which were generated by another compiler. You
-can use the compiler option @samp{/NOCASE_HACK} to inhibit augmentation;
-it makes external C functions and variables case-independent as is usual
-on VMS@. Alternatively, you could write all references to the functions
-and variables in such libraries using lower case; this will work on VMS,
-but is not portable to other systems. The compiler option @samp{/NAMES}
-also provides control over global name handling.
-
-Function and variable names are handled somewhat differently with G++.
-The GNU C++ compiler performs @dfn{name mangling} on function
-names, which means that it adds information to the function name to
-describe the data types of the arguments that the function takes. One
-result of this is that the name of a function can become very long.
-Since the VMS linker only recognizes the first 31 characters in a name,
-special action is taken to ensure that each function and variable has a
-unique name that can be represented in 31 characters.
-
-If the name (plus a name augmentation, if required) is less than 32
-characters in length, then no special action is performed. If the name
-is longer than 31 characters, the assembler (GAS) will generate a
-hash string based upon the function name, truncate the function name to
-23 characters, and append the hash string to the truncated name. If the
-@samp{/VERBOSE} compiler option is used, the assembler will print both
-the full and truncated names of each symbol that is truncated.
-
-The @samp{/NOCASE_HACK} compiler option should not be used when you are
-compiling programs that use libg++. libg++ has several instances of
-objects (i.e. @code{Filebuf} and @code{filebuf}) which become
-indistinguishable in a case-insensitive environment. This leads to
-cases where you need to inhibit augmentation selectively (if you were
-using libg++ and Xlib in the same program, for example). There is no
-special feature for doing this, but you can get the result by defining a
-macro for each mixed case symbol for which you wish to inhibit
-augmentation. The macro should expand into the lower case equivalent of
-itself. For example:
-
-@example
-#define StuDlyCapS studlycaps
-@end example
-
-These macro definitions can be placed in a header file to minimize the
-number of changes to your source code.
diff --git a/gcc/dwarf2asm.h b/gcc/dwarf2asm.h
index 859883d45e3..8d6fd18bd89 100644
--- a/gcc/dwarf2asm.h
+++ b/gcc/dwarf2asm.h
@@ -19,60 +19,56 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
-/* ??? Format checking yields "null format string" warnings, which is
- the way these routines are signaled that there is no associated
- debug information. So the attributes are commented out. */
-
extern void dw2_assemble_integer PARAMS ((int, rtx));
extern void dw2_asm_output_data PARAMS ((int, unsigned HOST_WIDE_INT,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_delta PARAMS ((int, const char *,
const char *,
const char *, ...))
- /* ATTRIBUTE_PRINTF_4 */;
+ ATTRIBUTE_NULL_PRINTF_4;
extern void dw2_asm_output_offset PARAMS ((int, const char *,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_pcrel PARAMS ((int, const char *,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_addr PARAMS ((int, const char *,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_addr_rtx PARAMS ((int, rtx,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_encoded_addr_rtx PARAMS ((int, rtx,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_nstring PARAMS ((const char *, size_t,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_data_uleb128 PARAMS ((unsigned HOST_WIDE_INT,
const char *, ...))
- /* ATTRIBUTE_PRINTF_2 */;
+ ATTRIBUTE_NULL_PRINTF_2;
extern void dw2_asm_output_data_sleb128 PARAMS ((HOST_WIDE_INT,
const char *, ...))
- /* ATTRIBUTE_PRINTF_2 */;
+ ATTRIBUTE_NULL_PRINTF_2;
extern void dw2_asm_output_delta_uleb128 PARAMS ((const char *, const char *,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_delta_sleb128 PARAMS ((const char *, const char *,
const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+ ATTRIBUTE_NULL_PRINTF_3;
extern int size_of_uleb128 PARAMS ((unsigned HOST_WIDE_INT));
extern int size_of_sleb128 PARAMS ((HOST_WIDE_INT));
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 2e8fe614188..82808208c83 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -386,9 +386,9 @@ static void def_cfa_1 PARAMS ((const char *,
/* Hook used by __throw. */
rtx
-expand_builtin_dwarf_fp_regnum ()
+expand_builtin_dwarf_sp_column ()
{
- return GEN_INT (DWARF_FRAME_REGNUM (HARD_FRAME_POINTER_REGNUM));
+ return GEN_INT (DWARF_FRAME_REGNUM (STACK_POINTER_REGNUM));
}
/* Return a pointer to a copy of the section string name S with all
@@ -1812,7 +1812,7 @@ output_call_frame_info (for_eh)
dw_fde_ref fde;
dw_cfi_ref cfi;
char l1[20], l2[20], section_start_label[20];
- int any_lsda_needed = 0;
+ bool any_lsda_needed = false;
char augmentation[6];
int augmentation_size;
int fde_encoding = DW_EH_PE_absptr;
@@ -1823,17 +1823,19 @@ output_call_frame_info (for_eh)
if (fde_table_in_use == 0)
return;
- /* If we don't have any functions we'll want to unwind out of, don't emit any
- EH unwind information. */
+ /* If we don't have any functions we'll want to unwind out of, don't
+ emit any EH unwind information. Note that if exceptions aren't
+ enabled, we won't have collected nothrow information, and if we
+ asked for asynchronous tables, we always want this info. */
if (for_eh)
{
- int any_eh_needed = flag_asynchronous_unwind_tables;
+ bool any_eh_needed = !flag_exceptions || flag_asynchronous_unwind_tables;
for (i = 0; i < fde_table_in_use; i++)
if (fde_table[i].uses_eh_lsda)
- any_eh_needed = any_lsda_needed = 1;
+ any_eh_needed = any_lsda_needed = true;
else if (! fde_table[i].nothrow)
- any_eh_needed = 1;
+ any_eh_needed = true;
if (! any_eh_needed)
return;
@@ -1971,7 +1973,7 @@ output_call_frame_info (for_eh)
fde = &fde_table[i];
/* Don't emit EH unwind info for leaf functions that don't need it. */
- if (!flag_asynchronous_unwind_tables && for_eh
+ if (for_eh && !flag_asynchronous_unwind_tables && flag_exceptions
&& (fde->nothrow || fde->all_throwers_are_sibcalls)
&& !fde->uses_eh_lsda)
continue;
@@ -8177,6 +8179,11 @@ mem_loc_descriptor (rtl, mode)
add_loc_descr (&mem_loc_result, new_loc_descr (DW_OP_deref, 0, 0));
break;
+ case LO_SUM:
+ rtl = XEXP (rtl, 1);
+
+ /* ... fall through ... */
+
case LABEL_REF:
/* Some ports can transform a symbol ref into a label ref, because
the symbol ref is too far away and has to be dumped into a constant
@@ -9242,13 +9249,17 @@ rtl_for_decl_location (decl)
rtl = DECL_RTL_IF_SET (decl);
/* When generating abstract instances, ignore everything except
- constants and symbols living in memory. */
+ constants, symbols living in memory, and symbols living in
+ fixed registers. */
if (! reload_completed)
{
if (rtl
&& (CONSTANT_P (rtl)
|| (GET_CODE (rtl) == MEM
- && CONSTANT_P (XEXP (rtl, 0)))))
+ && CONSTANT_P (XEXP (rtl, 0)))
+ || (GET_CODE (rtl) == REG
+ && TREE_CODE (decl) == VAR_DECL
+ && TREE_STATIC (decl))))
{
#ifdef ASM_SIMPLIFY_DWARF_ADDR
rtl = ASM_SIMPLIFY_DWARF_ADDR (rtl);
@@ -11473,20 +11484,12 @@ gen_type_die (type, context_die)
if (type == NULL_TREE || type == error_mark_node)
return;
- /* We are going to output a DIE to represent the unqualified version
- of this type (i.e. without any const or volatile qualifiers) so
- get the main variant (i.e. the unqualified version) of this type
- now. (Vectors are special because the debugging info is in the
- cloned type itself). */
- if (TREE_CODE (type) != VECTOR_TYPE)
- type = type_main_variant (type);
-
- if (TREE_ASM_WRITTEN (type))
- return;
-
if (TYPE_NAME (type) && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
&& DECL_ORIGINAL_TYPE (TYPE_NAME (type)))
{
+ if (TREE_ASM_WRITTEN (type))
+ return;
+
/* Prevent broken recursion; we can't hand off to the same type. */
if (DECL_ORIGINAL_TYPE (TYPE_NAME (type)) == type)
abort ();
@@ -11496,6 +11499,17 @@ gen_type_die (type, context_die)
return;
}
+ /* We are going to output a DIE to represent the unqualified version
+ of this type (i.e. without any const or volatile qualifiers) so
+ get the main variant (i.e. the unqualified version) of this type
+ now. (Vectors are special because the debugging info is in the
+ cloned type itself). */
+ if (TREE_CODE (type) != VECTOR_TYPE)
+ type = type_main_variant (type);
+
+ if (TREE_ASM_WRITTEN (type))
+ return;
+
switch (TREE_CODE (type))
{
case ERROR_MARK:
@@ -11799,6 +11813,10 @@ decls_for_scope (stmt, context_die, depth)
gen_decl_die (decl, context_die);
}
+ /* If we're at -g1, we're not interested in subblocks. */
+ if (debug_info_level <= DINFO_LEVEL_TERSE)
+ return;
+
/* Output the DIEs to represent all sub-blocks (and the items declared
therein) of this block. */
for (subblocks = BLOCK_SUBBLOCKS (stmt);
@@ -12076,7 +12094,9 @@ dwarf2out_decl (decl)
/* If we're a nested function, initially use a parent of NULL; if we're
a plain function, this will be fixed up in decls_for_scope. If
we're a method, it will be ignored, since we already have a DIE. */
- if (decl_function_context (decl))
+ if (decl_function_context (decl)
+ /* But if we're in terse mode, we don't care about scope. */
+ && debug_info_level > DINFO_LEVEL_TERSE)
context_die = NULL;
break;
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 0d9be17fe94..fedba3f8f03 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -925,7 +925,11 @@ subreg_hard_regno (x, check_mode)
abort ();
if (check_mode && ! HARD_REGNO_MODE_OK (base_regno, GET_MODE (reg)))
abort ();
-
+#ifdef ENABLE_CHECKING
+ if (!subreg_offset_representable_p (REGNO (reg), GET_MODE (reg),
+ SUBREG_BYTE (x), mode))
+ abort ();
+#endif
/* Catch non-congruent offsets too. */
byte_offset = SUBREG_BYTE (x);
if ((byte_offset % GET_MODE_SIZE (mode)) != 0)
@@ -3203,6 +3207,8 @@ try_split (pat, trial, last)
rtx tem;
rtx note, seq;
int probability;
+ rtx insn_last, insn;
+ int njumps = 0;
if (any_condjump_p (trial)
&& (note = find_reg_note (trial, REG_BR_PROB, 0)))
@@ -3221,172 +3227,147 @@ try_split (pat, trial, last)
after = NEXT_INSN (after);
}
- if (seq)
+ if (!seq)
+ return trial;
+
+ /* Avoid infinite loop if any insn of the result matches
+ the original pattern. */
+ insn_last = seq;
+ while (1)
{
- /* Sometimes there will be only one insn in that list, this case will
- normally arise only when we want it in turn to be split (SFmode on
- the 29k is an example). */
- if (NEXT_INSN (seq) != NULL_RTX)
- {
- rtx insn_last, insn;
- int njumps = 0;
+ if (INSN_P (insn_last)
+ && rtx_equal_p (PATTERN (insn_last), pat))
+ return trial;
+ if (!NEXT_INSN (insn_last))
+ break;
+ insn_last = NEXT_INSN (insn_last);
+ }
- /* Avoid infinite loop if any insn of the result matches
- the original pattern. */
- insn_last = seq;
- while (1)
+ /* Mark labels. */
+ for (insn = insn_last; insn ; insn = PREV_INSN (insn))
+ {
+ if (GET_CODE (insn) == JUMP_INSN)
+ {
+ mark_jump_label (PATTERN (insn), insn, 0);
+ njumps++;
+ if (probability != -1
+ && any_condjump_p (insn)
+ && !find_reg_note (insn, REG_BR_PROB, 0))
{
- if (INSN_P (insn_last)
- && rtx_equal_p (PATTERN (insn_last), pat))
- return trial;
- if (NEXT_INSN (insn_last) == NULL_RTX)
- break;
- insn_last = NEXT_INSN (insn_last);
+ /* We can preserve the REG_BR_PROB notes only if exactly
+ one jump is created, otherwise the machine description
+ is responsible for this step using
+ split_branch_probability variable. */
+ if (njumps != 1)
+ abort ();
+ REG_NOTES (insn)
+ = gen_rtx_EXPR_LIST (REG_BR_PROB,
+ GEN_INT (probability),
+ REG_NOTES (insn));
}
+ }
+ }
- /* Mark labels. */
+ /* If we are splitting a CALL_INSN, look for the CALL_INSN
+ in SEQ and copy our CALL_INSN_FUNCTION_USAGE to it. */
+ if (GET_CODE (trial) == CALL_INSN)
+ {
+ for (insn = insn_last; insn ; insn = PREV_INSN (insn))
+ if (GET_CODE (insn) == CALL_INSN)
+ {
+ CALL_INSN_FUNCTION_USAGE (insn)
+ = CALL_INSN_FUNCTION_USAGE (trial);
+ SIBLING_CALL_P (insn) = SIBLING_CALL_P (trial);
+ }
+ }
+
+ /* Copy notes, particularly those related to the CFG. */
+ for (note = REG_NOTES (trial); note; note = XEXP (note, 1))
+ {
+ switch (REG_NOTE_KIND (note))
+ {
+ case REG_EH_REGION:
insn = insn_last;
while (insn != NULL_RTX)
{
- if (GET_CODE (insn) == JUMP_INSN)
- {
- mark_jump_label (PATTERN (insn), insn, 0);
- njumps++;
- if (probability != -1
- && any_condjump_p (insn)
- && !find_reg_note (insn, REG_BR_PROB, 0))
- {
- /* We can preserve the REG_BR_PROB notes only if exactly
- one jump is created, otherwise the machine description
- is responsible for this step using
- split_branch_probability variable. */
- if (njumps != 1)
- abort ();
- REG_NOTES (insn)
- = gen_rtx_EXPR_LIST (REG_BR_PROB,
- GEN_INT (probability),
- REG_NOTES (insn));
- }
- }
-
+ if (GET_CODE (insn) == CALL_INSN
+ || (flag_non_call_exceptions
+ && may_trap_p (PATTERN (insn))))
+ REG_NOTES (insn)
+ = gen_rtx_EXPR_LIST (REG_EH_REGION,
+ XEXP (note, 0),
+ REG_NOTES (insn));
insn = PREV_INSN (insn);
}
+ break;
- /* If we are splitting a CALL_INSN, look for the CALL_INSN
- in SEQ and copy our CALL_INSN_FUNCTION_USAGE to it. */
- if (GET_CODE (trial) == CALL_INSN)
- {
- insn = insn_last;
- while (insn != NULL_RTX)
- {
- if (GET_CODE (insn) == CALL_INSN)
- CALL_INSN_FUNCTION_USAGE (insn)
- = CALL_INSN_FUNCTION_USAGE (trial);
-
- insn = PREV_INSN (insn);
- }
- }
-
- /* Copy notes, particularly those related to the CFG. */
- for (note = REG_NOTES (trial); note; note = XEXP (note, 1))
+ case REG_NORETURN:
+ case REG_SETJMP:
+ case REG_ALWAYS_RETURN:
+ insn = insn_last;
+ while (insn != NULL_RTX)
{
- switch (REG_NOTE_KIND (note))
- {
- case REG_EH_REGION:
- insn = insn_last;
- while (insn != NULL_RTX)
- {
- if (GET_CODE (insn) == CALL_INSN
- || (flag_non_call_exceptions
- && may_trap_p (PATTERN (insn))))
- REG_NOTES (insn)
- = gen_rtx_EXPR_LIST (REG_EH_REGION,
- XEXP (note, 0),
- REG_NOTES (insn));
- insn = PREV_INSN (insn);
- }
- break;
-
- case REG_NORETURN:
- case REG_SETJMP:
- case REG_ALWAYS_RETURN:
- insn = insn_last;
- while (insn != NULL_RTX)
- {
- if (GET_CODE (insn) == CALL_INSN)
- REG_NOTES (insn)
- = gen_rtx_EXPR_LIST (REG_NOTE_KIND (note),
- XEXP (note, 0),
- REG_NOTES (insn));
- insn = PREV_INSN (insn);
- }
- break;
-
- case REG_NON_LOCAL_GOTO:
- insn = insn_last;
- while (insn != NULL_RTX)
- {
- if (GET_CODE (insn) == JUMP_INSN)
- REG_NOTES (insn)
- = gen_rtx_EXPR_LIST (REG_NOTE_KIND (note),
- XEXP (note, 0),
- REG_NOTES (insn));
- insn = PREV_INSN (insn);
- }
- break;
-
- default:
- break;
- }
+ if (GET_CODE (insn) == CALL_INSN)
+ REG_NOTES (insn)
+ = gen_rtx_EXPR_LIST (REG_NOTE_KIND (note),
+ XEXP (note, 0),
+ REG_NOTES (insn));
+ insn = PREV_INSN (insn);
}
+ break;
- /* If there are LABELS inside the split insns increment the
- usage count so we don't delete the label. */
- if (GET_CODE (trial) == INSN)
+ case REG_NON_LOCAL_GOTO:
+ insn = insn_last;
+ while (insn != NULL_RTX)
{
- insn = insn_last;
- while (insn != NULL_RTX)
- {
- if (GET_CODE (insn) == INSN)
- mark_label_nuses (PATTERN (insn));
-
- insn = PREV_INSN (insn);
- }
+ if (GET_CODE (insn) == JUMP_INSN)
+ REG_NOTES (insn)
+ = gen_rtx_EXPR_LIST (REG_NOTE_KIND (note),
+ XEXP (note, 0),
+ REG_NOTES (insn));
+ insn = PREV_INSN (insn);
}
+ break;
- tem = emit_insn_after_scope (seq, trial, INSN_SCOPE (trial));
-
- delete_insn (trial);
- if (has_barrier)
- emit_barrier_after (tem);
-
- /* Recursively call try_split for each new insn created; by the
- time control returns here that insn will be fully split, so
- set LAST and continue from the insn after the one returned.
- We can't use next_active_insn here since AFTER may be a note.
- Ignore deleted insns, which can be occur if not optimizing. */
- for (tem = NEXT_INSN (before); tem != after; tem = NEXT_INSN (tem))
- if (! INSN_DELETED_P (tem) && INSN_P (tem))
- tem = try_split (PATTERN (tem), tem, 1);
+ default:
+ break;
}
- /* Avoid infinite loop if the result matches the original pattern. */
- else if (rtx_equal_p (PATTERN (seq), pat))
- return trial;
- else
+ }
+
+ /* If there are LABELS inside the split insns increment the
+ usage count so we don't delete the label. */
+ if (GET_CODE (trial) == INSN)
+ {
+ insn = insn_last;
+ while (insn != NULL_RTX)
{
- PATTERN (trial) = PATTERN (seq);
- INSN_CODE (trial) = -1;
- try_split (PATTERN (trial), trial, last);
- }
+ if (GET_CODE (insn) == INSN)
+ mark_label_nuses (PATTERN (insn));
- /* Return either the first or the last insn, depending on which was
- requested. */
- return last
- ? (after ? PREV_INSN (after) : last_insn)
- : NEXT_INSN (before);
+ insn = PREV_INSN (insn);
+ }
}
- return trial;
+ tem = emit_insn_after_scope (seq, trial, INSN_SCOPE (trial));
+
+ delete_insn (trial);
+ if (has_barrier)
+ emit_barrier_after (tem);
+
+ /* Recursively call try_split for each new insn created; by the
+ time control returns here that insn will be fully split, so
+ set LAST and continue from the insn after the one returned.
+ We can't use next_active_insn here since AFTER may be a note.
+ Ignore deleted insns, which can be occur if not optimizing. */
+ for (tem = NEXT_INSN (before); tem != after; tem = NEXT_INSN (tem))
+ if (! INSN_DELETED_P (tem) && INSN_P (tem))
+ tem = try_split (PATTERN (tem), tem, 1);
+
+ /* Return either the first or the last insn, depending on which was
+ requested. */
+ return last
+ ? (after ? PREV_INSN (after) : last_insn)
+ : NEXT_INSN (before);
}
/* Make and return an INSN rtx, initializing all its slots.
diff --git a/gcc/except.c b/gcc/except.c
index c455d5208e3..b6f851bcbfb 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -74,12 +74,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Provide defaults for stuff that may not be defined when using
sjlj exceptions. */
-#ifndef EH_RETURN_STACKADJ_RTX
-#define EH_RETURN_STACKADJ_RTX 0
-#endif
-#ifndef EH_RETURN_HANDLER_RTX
-#define EH_RETURN_HANDLER_RTX 0
-#endif
#ifndef EH_RETURN_DATA_REGNO
#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM
#endif
@@ -184,6 +178,7 @@ struct eh_region GTY(())
we can match up fixup regions. */
struct eh_region_u_cleanup {
tree exp;
+ struct eh_region *prev_try;
} GTY ((tag ("ERT_CLEANUP"))) cleanup;
/* The real region (by expression and by pointer) that fixup code
@@ -206,6 +201,9 @@ struct eh_region GTY(())
/* The RESX insn for handing off control to the next outermost handler,
if appropriate. */
rtx resume;
+
+ /* True if something in this region may throw. */
+ unsigned may_contain_throw : 1;
};
struct call_site_record GTY(())
@@ -551,39 +549,43 @@ expand_eh_region_end_cleanup (handler)
region->type = ERT_CLEANUP;
region->label = gen_label_rtx ();
region->u.cleanup.exp = handler;
+ region->u.cleanup.prev_try = cfun->eh->try_region;
around_label = gen_label_rtx ();
emit_jump (around_label);
emit_label (region->label);
- /* Give the language a chance to specify an action to be taken if an
- exception is thrown that would propagate out of the HANDLER. */
- protect_cleanup_actions
- = (lang_protect_cleanup_actions
- ? (*lang_protect_cleanup_actions) ()
- : NULL_TREE);
+ if (flag_non_call_exceptions || region->may_contain_throw)
+ {
+ /* Give the language a chance to specify an action to be taken if an
+ exception is thrown that would propagate out of the HANDLER. */
+ protect_cleanup_actions
+ = (lang_protect_cleanup_actions
+ ? (*lang_protect_cleanup_actions) ()
+ : NULL_TREE);
- if (protect_cleanup_actions)
- expand_eh_region_start ();
+ if (protect_cleanup_actions)
+ expand_eh_region_start ();
- /* In case this cleanup involves an inline destructor with a try block in
- it, we need to save the EH return data registers around it. */
- data_save[0] = gen_reg_rtx (ptr_mode);
- emit_move_insn (data_save[0], get_exception_pointer (cfun));
- data_save[1] = gen_reg_rtx (word_mode);
- emit_move_insn (data_save[1], get_exception_filter (cfun));
+ /* In case this cleanup involves an inline destructor with a try block in
+ it, we need to save the EH return data registers around it. */
+ data_save[0] = gen_reg_rtx (ptr_mode);
+ emit_move_insn (data_save[0], get_exception_pointer (cfun));
+ data_save[1] = gen_reg_rtx (word_mode);
+ emit_move_insn (data_save[1], get_exception_filter (cfun));
- expand_expr (handler, const0_rtx, VOIDmode, 0);
+ expand_expr (handler, const0_rtx, VOIDmode, 0);
- emit_move_insn (cfun->eh->exc_ptr, data_save[0]);
- emit_move_insn (cfun->eh->filter, data_save[1]);
+ emit_move_insn (cfun->eh->exc_ptr, data_save[0]);
+ emit_move_insn (cfun->eh->filter, data_save[1]);
- if (protect_cleanup_actions)
- expand_eh_region_end_must_not_throw (protect_cleanup_actions);
+ if (protect_cleanup_actions)
+ expand_eh_region_end_must_not_throw (protect_cleanup_actions);
- /* We need any stack adjustment complete before the around_label. */
- do_pending_stack_adjust ();
+ /* We need any stack adjustment complete before the around_label. */
+ do_pending_stack_adjust ();
+ }
/* We delay the generation of the _Unwind_Resume until we generate
landing pads. We emit a marker here so as to get good control
@@ -819,6 +821,22 @@ expand_eh_region_end_fixup (handler)
fixup->u.fixup.cleanup_exp = handler;
}
+/* Note that the current EH region (if any) may contain a throw, or a
+ call to a function which itself may contain a throw. */
+
+void
+note_eh_region_may_contain_throw ()
+{
+ struct eh_region *region;
+
+ region = cfun->eh->cur_region;
+ while (region && !region->may_contain_throw)
+ {
+ region->may_contain_throw = 1;
+ region = region->outer;
+ }
+}
+
/* Return an rtl expression for a pointer to the exception object
within a handler. */
@@ -1679,7 +1697,6 @@ build_post_landing_pads ()
struct eh_region *c;
for (c = region->u.try.catch; c ; c = c->u.catch.next_catch)
{
- /* ??? _Unwind_ForcedUnwind wants no match here. */
if (c->u.catch.type_list == NULL)
emit_jump (c->label);
else
@@ -2577,8 +2594,6 @@ reachable_next_level (region, type_thrown, info)
for (c = region->u.try.catch; c ; c = c->u.catch.next_catch)
{
/* A catch-all handler ends the search. */
- /* ??? _Unwind_ForcedUnwind will want outer cleanups
- to be run as well. */
if (c->u.catch.type_list == NULL)
{
add_reachable_handler (info, region, c);
@@ -2760,10 +2775,20 @@ reachable_handlers (insn)
region = region->outer;
}
- for (; region; region = region->outer)
- if (reachable_next_level (region, type_thrown, &info) >= RNL_CAUGHT)
- break;
-
+ while (region)
+ {
+ if (reachable_next_level (region, type_thrown, &info) >= RNL_CAUGHT)
+ break;
+ /* If we have processed one cleanup, there is no point in
+ processing any more of them. Each cleanup will have an edge
+ to the next outer cleanup region, so the flow graph will be
+ accurate. */
+ if (region->type == ERT_CLEANUP)
+ region = region->u.cleanup.prev_try;
+ else
+ region = region->outer;
+ }
+
return info.handlers;
}
@@ -3044,77 +3069,73 @@ expand_builtin_frob_return_addr (addr_tree)
void
expand_builtin_eh_return (stackadj_tree, handler_tree)
- tree stackadj_tree, handler_tree;
+ tree stackadj_tree ATTRIBUTE_UNUSED;
+ tree handler_tree;
{
- rtx stackadj, handler;
-
- stackadj = expand_expr (stackadj_tree, cfun->eh->ehr_stackadj, VOIDmode, 0);
- handler = expand_expr (handler_tree, cfun->eh->ehr_handler, VOIDmode, 0);
+ rtx tmp;
+#ifdef EH_RETURN_STACKADJ_RTX
+ tmp = expand_expr (stackadj_tree, cfun->eh->ehr_stackadj, VOIDmode, 0);
#ifdef POINTERS_EXTEND_UNSIGNED
- if (GET_MODE (stackadj) != Pmode)
- stackadj = convert_memory_address (Pmode, stackadj);
-
- if (GET_MODE (handler) != Pmode)
- handler = convert_memory_address (Pmode, handler);
+ if (GET_MODE (tmp) != Pmode)
+ tmp = convert_memory_address (Pmode, tmp);
+#endif
+ if (!cfun->eh->ehr_stackadj)
+ cfun->eh->ehr_stackadj = copy_to_reg (tmp);
+ else if (tmp != cfun->eh->ehr_stackadj)
+ emit_move_insn (cfun->eh->ehr_stackadj, tmp);
#endif
- if (! cfun->eh->ehr_label)
- {
- cfun->eh->ehr_stackadj = copy_to_reg (stackadj);
- cfun->eh->ehr_handler = copy_to_reg (handler);
- cfun->eh->ehr_label = gen_label_rtx ();
- }
- else
- {
- if (stackadj != cfun->eh->ehr_stackadj)
- emit_move_insn (cfun->eh->ehr_stackadj, stackadj);
- if (handler != cfun->eh->ehr_handler)
- emit_move_insn (cfun->eh->ehr_handler, handler);
- }
+ tmp = expand_expr (handler_tree, cfun->eh->ehr_handler, VOIDmode, 0);
+#ifdef POINTERS_EXTEND_UNSIGNED
+ if (GET_MODE (tmp) != Pmode)
+ tmp = convert_memory_address (Pmode, tmp);
+#endif
+ if (!cfun->eh->ehr_handler)
+ cfun->eh->ehr_handler = copy_to_reg (tmp);
+ else if (tmp != cfun->eh->ehr_handler)
+ emit_move_insn (cfun->eh->ehr_handler, tmp);
+ if (!cfun->eh->ehr_label)
+ cfun->eh->ehr_label = gen_label_rtx ();
emit_jump (cfun->eh->ehr_label);
}
void
expand_eh_return ()
{
- rtx sa, ra, around_label;
+ rtx around_label;
if (! cfun->eh->ehr_label)
return;
- sa = EH_RETURN_STACKADJ_RTX;
- if (! sa)
- {
- error ("__builtin_eh_return not supported on this target");
- return;
- }
-
current_function_calls_eh_return = 1;
+#ifdef EH_RETURN_STACKADJ_RTX
+ emit_move_insn (EH_RETURN_STACKADJ_RTX, const0_rtx);
+#endif
+
around_label = gen_label_rtx ();
- emit_move_insn (sa, const0_rtx);
emit_jump (around_label);
emit_label (cfun->eh->ehr_label);
clobber_return_register ();
+#ifdef EH_RETURN_STACKADJ_RTX
+ emit_move_insn (EH_RETURN_STACKADJ_RTX, cfun->eh->ehr_stackadj);
+#endif
+
#ifdef HAVE_eh_return
if (HAVE_eh_return)
- emit_insn (gen_eh_return (cfun->eh->ehr_stackadj, cfun->eh->ehr_handler));
+ emit_insn (gen_eh_return (cfun->eh->ehr_handler));
else
#endif
{
- ra = EH_RETURN_HANDLER_RTX;
- if (! ra)
- {
- error ("__builtin_eh_return not supported on this target");
- ra = gen_reg_rtx (Pmode);
- }
-
- emit_move_insn (sa, cfun->eh->ehr_stackadj);
- emit_move_insn (ra, cfun->eh->ehr_handler);
+#ifdef EH_RETURN_HANDLER_RTX
+ emit_move_insn (EH_RETURN_HANDLER_RTX, cfun->eh->ehr_handler);
+#else
+ error ("__builtin_eh_return not supported on this target");
+#endif
}
emit_label (around_label);
diff --git a/gcc/except.h b/gcc/except.h
index 034ce51c8fe..320552c5b7c 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -83,6 +83,10 @@ extern void expand_eh_region_end_throw PARAMS ((tree));
destroying an object twice. */
extern void expand_eh_region_end_fixup PARAMS ((tree));
+/* Note that the current EH region (if any) may contain a throw, or a
+ call to a function which itself may contain a throw. */
+extern void note_eh_region_may_contain_throw PARAMS ((void));
+
/* Invokes CALLBACK for every exception handler label. Only used by old
loop hackery; should not be used by new code. */
extern void for_each_eh_label PARAMS ((void (*) (rtx)));
@@ -115,7 +119,7 @@ extern rtx expand_builtin_eh_return_data_regno PARAMS ((tree));
extern rtx expand_builtin_extract_return_addr PARAMS ((tree));
extern void expand_builtin_init_dwarf_reg_sizes PARAMS ((tree));
extern rtx expand_builtin_frob_return_addr PARAMS ((tree));
-extern rtx expand_builtin_dwarf_fp_regnum PARAMS ((void));
+extern rtx expand_builtin_dwarf_sp_column PARAMS ((void));
extern void expand_builtin_eh_return PARAMS ((tree, tree));
extern void expand_eh_return PARAMS ((void));
extern rtx get_exception_pointer PARAMS ((struct function *));
@@ -151,7 +155,6 @@ extern tree (*lang_eh_runtime_type) PARAMS ((tree));
#if ! (defined (EH_RETURN_DATA_REGNO) \
&& (defined (IA64_UNWIND_INFO) \
|| (DWARF2_UNWIND_INFO \
- && defined (EH_RETURN_STACKADJ_RTX) \
&& (defined (EH_RETURN_HANDLER_RTX) \
|| defined (HAVE_eh_return)))))
#define MUST_USE_SJLJ_EXCEPTIONS 1
@@ -168,9 +171,6 @@ extern tree (*lang_eh_runtime_type) PARAMS ((tree));
# ifndef EH_RETURN_DATA_REGNO
#error "EH_RETURN_DATA_REGNO required"
# endif
-# ifndef EH_RETURN_STACKADJ_RTX
- #error "EH_RETURN_STACKADJ_RTX required"
-# endif
# if !defined(EH_RETURN_HANDLER_RTX) && !defined(HAVE_eh_return)
#error "EH_RETURN_HANDLER_RTX or eh_return required"
# endif
diff --git a/gcc/explow.c b/gcc/explow.c
index b6caa521172..0d9139a466b 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -655,8 +655,18 @@ maybe_set_unchanging (ref, t)
/* We can set RTX_UNCHANGING_P from TREE_READONLY for decls whose
initialization is only executed once, or whose initializer always
has the same value. Currently we simplify this to PARM_DECLs in the
- first case, and decls with TREE_CONSTANT initializers in the second. */
+ first case, and decls with TREE_CONSTANT initializers in the second.
+
+ We cannot do this for non-static aggregates, because of the double
+ writes that can be generated by store_constructor, depending on the
+ contents of the initializer. Yes, this does eliminate a good fraction
+ of the number of uses of RTX_UNCHANGING_P for a language like Ada.
+ It also eliminates a good quantity of bugs. Let this be incentive to
+ eliminate RTX_UNCHANGING_P entirely in favour of a more reliable
+ solution, perhaps based on alias sets. */
+
if ((TREE_READONLY (t) && DECL_P (t)
+ && (TREE_STATIC (t) || ! AGGREGATE_TYPE_P (TREE_TYPE (t)))
&& (TREE_CODE (t) == PARM_DECL
|| DECL_INITIAL (t) == NULL_TREE
|| TREE_CONSTANT (DECL_INITIAL (t))))
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 405e45f8089..2274bdaacb0 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -4341,19 +4341,27 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
{
if (code == EQ || code == NE)
{
+ rtx op00, op01, op0both;
+
/* Do a logical OR of the two words and compare the result. */
- rtx op0h = gen_highpart (word_mode, op0);
- rtx op0l = gen_lowpart (word_mode, op0);
- rtx op0both = expand_binop (word_mode, ior_optab, op0h, op0l,
- NULL_RTX, unsignedp, OPTAB_DIRECT);
+ op00 = simplify_gen_subreg (word_mode, op0, mode, 0);
+ op01 = simplify_gen_subreg (word_mode, op0, mode, UNITS_PER_WORD);
+ op0both = expand_binop (word_mode, ior_optab, op00, op01,
+ NULL_RTX, unsignedp, OPTAB_DIRECT);
if (op0both != 0)
return emit_store_flag (target, code, op0both, op1, word_mode,
unsignedp, normalizep);
}
else if (code == LT || code == GE)
- /* If testing the sign bit, can just test on high word. */
- return emit_store_flag (target, code, gen_highpart (word_mode, op0),
- op1, word_mode, unsignedp, normalizep);
+ {
+ rtx op0h;
+
+ /* If testing the sign bit, can just test on high word. */
+ op0h = simplify_gen_subreg (word_mode, op0, mode,
+ subreg_highpart_offset (word_mode, mode));
+ return emit_store_flag (target, code, op0h, op1, word_mode,
+ unsignedp, normalizep);
+ }
}
/* From now on, we won't change CODE, so set ICODE now. */
diff --git a/gcc/expr.c b/gcc/expr.c
index e5f7ae51783..de68218490e 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.
@@ -1397,6 +1397,8 @@ convert_modes (mode, oldmode, x, unsignedp)
&& ((GET_CODE (x) == MEM && ! MEM_VOLATILE_P (x)
&& direct_load[(int) mode])
|| (GET_CODE (x) == REG
+ && (! HARD_REGISTER_P (x)
+ || HARD_REGNO_MODE_OK (REGNO (x), mode))
&& TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
GET_MODE_BITSIZE (GET_MODE (x)))))))))
{
@@ -2436,7 +2438,7 @@ emit_group_store (orig_dst, src, ssize)
{
dst = gen_reg_rtx (GET_MODE (orig_dst));
/* Make life a bit easier for combine. */
- emit_move_insn (dst, const0_rtx);
+ emit_move_insn (dst, CONST0_RTX (GET_MODE (orig_dst)));
}
/* Process the pieces. */
@@ -2468,6 +2470,15 @@ emit_group_store (orig_dst, src, ssize)
bytepos -= GET_MODE_SIZE (GET_MODE (XEXP (dst, 0)));
dest = XEXP (dst, 1);
}
+ else if (bytepos == 0 && XVECLEN (src, 0))
+ {
+ dest = assign_stack_temp (GET_MODE (dest),
+ GET_MODE_SIZE (GET_MODE (dest)), 0);
+ emit_move_insn (adjust_address (dest, GET_MODE (tmps[i]), bytepos),
+ tmps[i]);
+ dst = dest;
+ break;
+ }
else
abort ();
}
@@ -2486,7 +2497,7 @@ emit_group_store (orig_dst, src, ssize)
emit_queue ();
/* Copy from the pseudo into the (probable) hard reg. */
- if (GET_CODE (dst) == REG)
+ if (orig_dst != dst)
emit_move_insn (orig_dst, dst);
}
@@ -4020,7 +4031,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;
@@ -4051,7 +4063,7 @@ expand_assignment (to, from, want_value, suggest_reg)
#ifdef POINTERS_EXTEND_UNSIGNED
if (GET_MODE (offset_rtx) != Pmode)
- offset_rtx = convert_memory_address (Pmode, offset_rtx);
+ offset_rtx = convert_to_mode (Pmode, offset_rtx, 0);
#else
if (GET_MODE (offset_rtx) != ptr_mode)
offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0);
@@ -4248,7 +4260,7 @@ expand_assignment (to, from, want_value, suggest_reg)
and storing the value into TARGET.
TARGET may contain a QUEUED rtx.
- If WANT_VALUE is nonzero, return a copy of the value
+ If WANT_VALUE & 1 is nonzero, return a copy of the value
not in TARGET, so that we can be sure to use the proper
value in a containing expression even if TARGET has something
else stored in it. If possible, we copy the value through a pseudo
@@ -4263,9 +4275,12 @@ expand_assignment (to, from, want_value, suggest_reg)
with no sequence point. Will other languages need this to
be more thorough?
- If WANT_VALUE is 0, we return NULL, to make sure
+ If WANT_VALUE & 1 is 0, we return NULL, to make sure
to catch quickly any cases where the caller uses the value
- and fails to set WANT_VALUE. */
+ and fails to set WANT_VALUE.
+
+ If WANT_VALUE & 2 is set, this is a store into a call param on the
+ stack, and block moves may need to be treated specially. */
rtx
store_expr (exp, target, want_value)
@@ -4277,11 +4292,22 @@ store_expr (exp, target, want_value)
int dont_return_target = 0;
int dont_store_target = 0;
+ if (VOID_TYPE_P (TREE_TYPE (exp)))
+ {
+ /* C++ can generate ?: expressions with a throw expression in one
+ branch and an rvalue in the other. Here, we resolve attempts to
+ store the throw expression's nonexistant result. */
+ if (want_value)
+ abort ();
+ expand_expr (exp, const0_rtx, VOIDmode, 0);
+ return NULL_RTX;
+ }
if (TREE_CODE (exp) == COMPOUND_EXPR)
{
/* Perform first part of compound expression, then assign from second
part. */
- expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode, 0);
+ expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode,
+ want_value & 2 ? EXPAND_STACK_PARM : EXPAND_NORMAL);
emit_queue ();
return store_expr (TREE_OPERAND (exp, 1), target, want_value);
}
@@ -4301,20 +4327,20 @@ store_expr (exp, target, want_value)
NO_DEFER_POP;
jumpifnot (TREE_OPERAND (exp, 0), lab1);
start_cleanup_deferral ();
- store_expr (TREE_OPERAND (exp, 1), target, 0);
+ store_expr (TREE_OPERAND (exp, 1), target, want_value & 2);
end_cleanup_deferral ();
emit_queue ();
emit_jump_insn (gen_jump (lab2));
emit_barrier ();
emit_label (lab1);
start_cleanup_deferral ();
- store_expr (TREE_OPERAND (exp, 2), target, 0);
+ store_expr (TREE_OPERAND (exp, 2), target, want_value & 2);
end_cleanup_deferral ();
emit_queue ();
emit_label (lab2);
OK_DEFER_POP;
- return want_value ? target : NULL_RTX;
+ return want_value & 1 ? target : NULL_RTX;
}
else if (queued_subexp_p (target))
/* If target contains a postincrement, let's not risk
@@ -4324,18 +4350,24 @@ store_expr (exp, target, want_value)
{
/* Expand EXP into a new pseudo. */
temp = gen_reg_rtx (GET_MODE (target));
- temp = expand_expr (exp, temp, GET_MODE (target), 0);
+ temp = expand_expr (exp, temp, GET_MODE (target),
+ (want_value & 2
+ ? EXPAND_STACK_PARM : EXPAND_NORMAL));
}
else
- temp = expand_expr (exp, NULL_RTX, GET_MODE (target), 0);
+ temp = expand_expr (exp, NULL_RTX, GET_MODE (target),
+ (want_value & 2
+ ? EXPAND_STACK_PARM : EXPAND_NORMAL));
/* If target is volatile, ANSI requires accessing the value
*from* the target, if it is accessed. So make that happen.
In no case return the target itself. */
- if (! MEM_VOLATILE_P (target) && want_value)
+ if (! MEM_VOLATILE_P (target) && (want_value & 1) != 0)
dont_return_target = 1;
}
- else if (want_value && GET_CODE (target) == MEM && ! MEM_VOLATILE_P (target)
+ else if ((want_value & 1) != 0
+ && GET_CODE (target) == MEM
+ && ! MEM_VOLATILE_P (target)
&& GET_MODE (target) != BLKmode)
/* If target is in memory and caller wants value in a register instead,
arrange that. Pass TARGET as target for expand_expr so that,
@@ -4344,7 +4376,8 @@ store_expr (exp, target, want_value)
Don't do this if TARGET is volatile because we are supposed
to write it and then read it. */
{
- temp = expand_expr (exp, target, GET_MODE (target), 0);
+ temp = expand_expr (exp, target, GET_MODE (target),
+ want_value & 2 ? EXPAND_STACK_PARM : EXPAND_NORMAL);
if (GET_MODE (temp) != BLKmode && GET_MODE (temp) != VOIDmode)
{
/* If TEMP is already in the desired TARGET, only copy it from
@@ -4371,7 +4404,8 @@ store_expr (exp, target, want_value)
the extend. But don't do this if the type of EXP is a subtype
of something else since then the conversion might involve
more than just converting modes. */
- if (! want_value && INTEGRAL_TYPE_P (TREE_TYPE (exp))
+ if ((want_value & 1) == 0
+ && INTEGRAL_TYPE_P (TREE_TYPE (exp))
&& TREE_TYPE (TREE_TYPE (exp)) == 0)
{
if (TREE_UNSIGNED (TREE_TYPE (exp))
@@ -4388,12 +4422,13 @@ store_expr (exp, target, want_value)
inner_target = SUBREG_REG (target);
}
- temp = expand_expr (exp, inner_target, VOIDmode, 0);
+ temp = expand_expr (exp, inner_target, VOIDmode,
+ want_value & 2 ? EXPAND_STACK_PARM : EXPAND_NORMAL);
/* If TEMP is a volatile MEM and we want a result value, make
the access now so it gets done only once. Likewise if
it contains TARGET. */
- if (GET_CODE (temp) == MEM && want_value
+ if (GET_CODE (temp) == MEM && (want_value & 1) != 0
&& (MEM_VOLATILE_P (temp)
|| reg_mentioned_p (SUBREG_REG (target), XEXP (temp, 0))))
temp = copy_to_reg (temp);
@@ -4416,7 +4451,7 @@ store_expr (exp, target, want_value)
target. Otherwise, the caller might get confused by a result whose
mode is larger than expected. */
- if (want_value && GET_MODE (temp) != GET_MODE (target))
+ if ((want_value & 1) != 0 && GET_MODE (temp) != GET_MODE (target))
{
if (GET_MODE (temp) != VOIDmode)
{
@@ -4431,11 +4466,12 @@ store_expr (exp, target, want_value)
temp, SUBREG_PROMOTED_UNSIGNED_P (target));
}
- return want_value ? temp : NULL_RTX;
+ return want_value & 1 ? temp : NULL_RTX;
}
else
{
- temp = expand_expr (exp, target, GET_MODE (target), 0);
+ temp = expand_expr (exp, target, GET_MODE (target),
+ want_value & 2 ? EXPAND_STACK_PARM : EXPAND_NORMAL);
/* Return TARGET if it's a specified hardware register.
If TARGET is a volatile mem ref, either return TARGET
or return a reg copied *from* TARGET; ANSI requires this.
@@ -4447,7 +4483,7 @@ store_expr (exp, target, want_value)
&& REGNO (target) < FIRST_PSEUDO_REGISTER)
&& !(GET_CODE (target) == MEM && MEM_VOLATILE_P (target))
&& ! rtx_equal_p (temp, target)
- && (CONSTANT_P (temp) || want_value))
+ && (CONSTANT_P (temp) || (want_value & 1) != 0))
dont_return_target = 1;
}
@@ -4518,7 +4554,9 @@ store_expr (exp, target, want_value)
if (GET_CODE (size) == CONST_INT
&& INTVAL (size) < TREE_STRING_LENGTH (exp))
- emit_block_move (target, temp, size, BLOCK_OP_NORMAL);
+ emit_block_move (target, temp, size,
+ (want_value & 2
+ ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
else
{
/* Compute the size of the data to copy from the string. */
@@ -4526,13 +4564,18 @@ store_expr (exp, target, want_value)
= size_binop (MIN_EXPR,
make_tree (sizetype, size),
size_int (TREE_STRING_LENGTH (exp)));
- rtx copy_size_rtx = expand_expr (copy_size, NULL_RTX,
- VOIDmode, 0);
+ rtx copy_size_rtx
+ = expand_expr (copy_size, NULL_RTX, VOIDmode,
+ (want_value & 2
+ ? EXPAND_STACK_PARM : EXPAND_NORMAL));
rtx label = 0;
/* Copy that much. */
- copy_size_rtx = convert_to_mode (ptr_mode, copy_size_rtx, 0);
- emit_block_move (target, temp, copy_size_rtx, BLOCK_OP_NORMAL);
+ copy_size_rtx = convert_to_mode (ptr_mode, copy_size_rtx,
+ TREE_UNSIGNED (sizetype));
+ emit_block_move (target, temp, copy_size_rtx,
+ (want_value & 2
+ ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
/* Figure out how much is left in TARGET that we have to clear.
Do all calculations in ptr_mode. */
@@ -4550,8 +4593,8 @@ store_expr (exp, target, want_value)
#ifdef POINTERS_EXTEND_UNSIGNED
if (GET_MODE (copy_size_rtx) != Pmode)
- copy_size_rtx = convert_memory_address (Pmode,
- copy_size_rtx);
+ copy_size_rtx = convert_to_mode (Pmode, copy_size_rtx,
+ TREE_UNSIGNED (sizetype));
#endif
target = offset_address (target, copy_size_rtx,
@@ -4573,13 +4616,15 @@ store_expr (exp, target, want_value)
else if (GET_CODE (target) == PARALLEL)
emit_group_load (target, temp, int_size_in_bytes (TREE_TYPE (exp)));
else if (GET_MODE (temp) == BLKmode)
- emit_block_move (target, temp, expr_size (exp), BLOCK_OP_NORMAL);
+ emit_block_move (target, temp, expr_size (exp),
+ (want_value & 2
+ ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
else
emit_move_insn (target, temp);
}
/* If we don't want a value, return NULL_RTX. */
- if (! want_value)
+ if ((want_value & 1) == 0)
return NULL_RTX;
/* If we are supposed to return TEMP, do so as long as it isn't a MEM.
@@ -4588,7 +4633,8 @@ store_expr (exp, target, want_value)
return temp;
/* Return TARGET itself if it is a hard register. */
- else if (want_value && GET_MODE (target) != BLKmode
+ else if ((want_value & 1) != 0
+ && GET_MODE (target) != BLKmode
&& ! (GET_CODE (target) == REG
&& REGNO (target) < FIRST_PSEUDO_REGISTER))
return copy_to_reg (target);
@@ -4855,7 +4901,7 @@ store_constructor (exp, target, cleared, size)
#ifdef POINTERS_EXTEND_UNSIGNED
if (GET_MODE (offset_rtx) != Pmode)
- offset_rtx = convert_memory_address (Pmode, offset_rtx);
+ offset_rtx = convert_to_mode (Pmode, offset_rtx, 0);
#else
if (GET_MODE (offset_rtx) != ptr_mode)
offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0);
@@ -5992,22 +6038,31 @@ safe_from_p (x, exp, top_p)
case 'x':
if (TREE_CODE (exp) == TREE_LIST)
- return ((TREE_VALUE (exp) == 0
- || safe_from_p (x, TREE_VALUE (exp), 0))
- && (TREE_CHAIN (exp) == 0
- || safe_from_p (x, TREE_CHAIN (exp), 0)));
+ {
+ while (1)
+ {
+ if (TREE_VALUE (exp) && !safe_from_p (x, TREE_VALUE (exp), 0))
+ return 0;
+ exp = TREE_CHAIN (exp);
+ if (!exp)
+ return 1;
+ if (TREE_CODE (exp) != TREE_LIST)
+ return safe_from_p (x, exp, 0);
+ }
+ }
else if (TREE_CODE (exp) == ERROR_MARK)
return 1; /* An already-visited SAVE_EXPR? */
else
return 0;
- case '1':
- return safe_from_p (x, TREE_OPERAND (exp, 0), 0);
-
case '2':
case '<':
- return (safe_from_p (x, TREE_OPERAND (exp, 0), 0)
- && safe_from_p (x, TREE_OPERAND (exp, 1), 0));
+ if (!safe_from_p (x, TREE_OPERAND (exp, 1), 0))
+ return 0;
+ /* FALLTHRU */
+
+ case '1':
+ return safe_from_p (x, TREE_OPERAND (exp, 0), 0);
case 'e':
case 'r':
@@ -6405,7 +6460,14 @@ find_placeholder (exp, plist)
EXPAND_CONST_ADDRESS says that it is okay to return a MEM
with a constant address even if that address is not normally legitimate.
- EXPAND_INITIALIZER and EXPAND_SUM also have this effect. */
+ EXPAND_INITIALIZER and EXPAND_SUM also have this effect.
+
+ EXPAND_STACK_PARM is used when expanding to a TARGET on the stack for
+ a call parameter. Such targets require special care as we haven't yet
+ marked TARGET so that it's safe from being trashed by libcalls. We
+ don't want to use TARGET for anything but the final result;
+ Intermediate values must go elsewhere. Additionally, calls to
+ emit_block_move will be flagged with BLOCK_OP_CALL_PARM. */
rtx
expand_expr (exp, target, tmode, modifier)
@@ -6548,7 +6610,7 @@ expand_expr (exp, target, tmode, modifier)
if (! cse_not_expected && mode != BLKmode && target
&& (GET_CODE (target) != REG || REGNO (target) < FIRST_PSEUDO_REGISTER)
&& ! (code == CONSTRUCTOR && GET_MODE_SIZE (mode) > UNITS_PER_WORD))
- target = subtarget;
+ target = 0;
switch (code)
{
@@ -6592,23 +6654,10 @@ expand_expr (exp, target, tmode, modifier)
case VAR_DECL:
/* If a static var's type was incomplete when the decl was written,
but the type is complete now, lay out the decl now. */
- if (DECL_SIZE (exp) == 0 && COMPLETE_TYPE_P (TREE_TYPE (exp))
+ if (DECL_SIZE (exp) == 0
+ && COMPLETE_OR_UNBOUND_ARRAY_TYPE_P (TREE_TYPE (exp))
&& (TREE_STATIC (exp) || DECL_EXTERNAL (exp)))
- {
- rtx value = DECL_RTL_IF_SET (exp);
-
- layout_decl (exp, 0);
-
- /* If the RTL was already set, update its mode and memory
- attributes. */
- if (value != 0)
- {
- PUT_MODE (value, DECL_MODE (exp));
- SET_DECL_RTL (exp, 0);
- set_mem_attributes (value, exp, 1);
- SET_DECL_RTL (exp, value);
- }
- }
+ layout_decl (exp, 0);
/* ... fall through ... */
@@ -6734,7 +6783,7 @@ expand_expr (exp, target, tmode, modifier)
return temp;
case CONST_DECL:
- return expand_expr (DECL_INITIAL (exp), target, VOIDmode, 0);
+ return expand_expr (DECL_INITIAL (exp), target, VOIDmode, modifier);
case REAL_CST:
/* If optimized, generate immediate CONST_DOUBLE
@@ -6810,7 +6859,7 @@ expand_expr (exp, target, tmode, modifier)
temp = SAVE_EXPR_RTL (exp);
if (temp && GET_CODE (temp) == REG)
{
- put_var_into_stack (exp);
+ put_var_into_stack (exp, /*rescan=*/true);
temp = SAVE_EXPR_RTL (exp);
}
if (temp == 0 || GET_CODE (temp) != MEM)
@@ -6837,12 +6886,12 @@ expand_expr (exp, target, tmode, modifier)
/* If the mode of TEMP does not match that of the expression, it
must be a promoted value. We pass store_expr a SUBREG of the
wanted mode but mark it so that we know that it was already
- extended. Note that `unsignedp' was modified above in
- this case. */
+ extended. */
if (GET_CODE (temp) == REG && GET_MODE (temp) != mode)
{
temp = gen_lowpart_SUBREG (mode, SAVE_EXPR_RTL (exp));
+ promote_mode (type, mode, &unsignedp, 0);
SUBREG_PROMOTED_VAR_P (temp) = 1;
SUBREG_PROMOTED_UNSIGNED_SET (temp, unsignedp);
}
@@ -6850,7 +6899,8 @@ expand_expr (exp, target, tmode, modifier)
if (temp == const0_rtx)
expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode, 0);
else
- store_expr (TREE_OPERAND (exp, 0), temp, 0);
+ store_expr (TREE_OPERAND (exp, 0), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
TREE_USED (exp) = 1;
}
@@ -7039,7 +7089,8 @@ expand_expr (exp, target, tmode, modifier)
/* Handle calls that pass values in multiple non-contiguous
locations. The Irix 6 ABI has examples of this. */
if (target == 0 || ! safe_from_p (target, exp, 1)
- || GET_CODE (target) == PARALLEL)
+ || GET_CODE (target) == PARALLEL
+ || modifier == EXPAND_STACK_PARM)
target
= assign_temp (build_qualified_type (type,
(TYPE_QUALS (type)
@@ -7109,7 +7160,9 @@ expand_expr (exp, target, tmode, modifier)
Don't fold if this is for wide characters since it's too
difficult to do correctly and this is a very rare case. */
- if (modifier != EXPAND_CONST_ADDRESS && modifier != EXPAND_INITIALIZER
+ if (modifier != EXPAND_CONST_ADDRESS
+ && modifier != EXPAND_INITIALIZER
+ && modifier != EXPAND_MEMORY
&& TREE_CODE (array) == STRING_CST
&& TREE_CODE (index) == INTEGER_CST
&& compare_tree_int (index, TREE_STRING_LENGTH (array)) < 0
@@ -7123,8 +7176,11 @@ expand_expr (exp, target, tmode, modifier)
we have an explicit constructor and when our operand is a variable
that was declared const. */
- if (modifier != EXPAND_CONST_ADDRESS && modifier != EXPAND_INITIALIZER
- && TREE_CODE (array) == CONSTRUCTOR && ! TREE_SIDE_EFFECTS (array)
+ if (modifier != EXPAND_CONST_ADDRESS
+ && modifier != EXPAND_INITIALIZER
+ && modifier != EXPAND_MEMORY
+ && TREE_CODE (array) == CONSTRUCTOR
+ && ! TREE_SIDE_EFFECTS (array)
&& TREE_CODE (index) == INTEGER_CST
&& 0 > compare_tree_int (index,
list_length (CONSTRUCTOR_ELTS
@@ -7145,6 +7201,7 @@ expand_expr (exp, target, tmode, modifier)
else if (optimize >= 1
&& modifier != EXPAND_CONST_ADDRESS
&& modifier != EXPAND_INITIALIZER
+ && modifier != EXPAND_MEMORY
&& TREE_READONLY (array) && ! TREE_SIDE_EFFECTS (array)
&& TREE_CODE (array) == VAR_DECL && DECL_INITIAL (array)
&& TREE_CODE (DECL_INITIAL (array)) != ERROR_MARK)
@@ -7213,6 +7270,9 @@ expand_expr (exp, target, tmode, modifier)
&& (GET_MODE_BITSIZE (DECL_MODE (TREE_PURPOSE (elt)))
<= HOST_BITS_PER_WIDE_INT))))
{
+ if (DECL_BIT_FIELD (TREE_PURPOSE (elt))
+ && modifier == EXPAND_STACK_PARM)
+ target = 0;
op0 = expand_expr (TREE_VALUE (elt), target, tmode, modifier);
if (DECL_BIT_FIELD (TREE_PURPOSE (elt)))
{
@@ -7267,10 +7327,12 @@ expand_expr (exp, target, tmode, modifier)
(TREE_CODE (TREE_TYPE (tem)) == UNION_TYPE
&& (TREE_CODE (TYPE_SIZE (TREE_TYPE (tem)))
!= INTEGER_CST)
+ && modifier != EXPAND_STACK_PARM
? target : NULL_RTX),
VOIDmode,
(modifier == EXPAND_INITIALIZER
- || modifier == EXPAND_CONST_ADDRESS)
+ || modifier == EXPAND_CONST_ADDRESS
+ || modifier == EXPAND_STACK_PARM)
? modifier : EXPAND_NORMAL);
/* If this is a constant, put it into a register if it is a
@@ -7287,7 +7349,8 @@ expand_expr (exp, target, tmode, modifier)
if (offset != 0)
{
- rtx offset_rtx = expand_expr (offset, NULL_RTX, VOIDmode, EXPAND_SUM);
+ rtx offset_rtx = expand_expr (offset, NULL_RTX, VOIDmode,
+ EXPAND_SUM);
/* If this object is in a register, put it into memory.
This case can't occur in C, but can in Ada if we have
@@ -7300,7 +7363,8 @@ expand_expr (exp, target, tmode, modifier)
forcing the SAVE_EXPR into memory. */
if (TREE_CODE (TREE_OPERAND (exp, 0)) == SAVE_EXPR)
{
- put_var_into_stack (TREE_OPERAND (exp, 0));
+ put_var_into_stack (TREE_OPERAND (exp, 0),
+ /*rescan=*/true);
op0 = SAVE_EXPR_RTL (TREE_OPERAND (exp, 0));
}
else
@@ -7321,7 +7385,7 @@ expand_expr (exp, target, tmode, modifier)
#ifdef POINTERS_EXTEND_UNSIGNED
if (GET_MODE (offset_rtx) != Pmode)
- offset_rtx = convert_memory_address (Pmode, offset_rtx);
+ offset_rtx = convert_to_mode (Pmode, offset_rtx, 0);
#else
if (GET_MODE (offset_rtx) != ptr_mode)
offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0);
@@ -7423,7 +7487,8 @@ expand_expr (exp, target, tmode, modifier)
emit_block_move (target, op0,
GEN_INT ((bitsize + BITS_PER_UNIT - 1)
/ BITS_PER_UNIT),
- BLOCK_OP_NORMAL);
+ (modifier == EXPAND_STACK_PARM
+ ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
return target;
}
@@ -7433,8 +7498,10 @@ expand_expr (exp, target, tmode, modifier)
if (GET_CODE (op0) == MEM && GET_CODE (XEXP (op0, 0)) == REG)
mark_reg_pointer (XEXP (op0, 0), MEM_ALIGN (op0));
- op0 = extract_bit_field (op0, bitsize, bitpos,
- unsignedp, target, ext_mode, ext_mode,
+ op0 = extract_bit_field (op0, bitsize, bitpos, unsignedp,
+ (modifier == EXPAND_STACK_PARM
+ ? NULL_RTX : target),
+ ext_mode, ext_mode,
int_size_in_bytes (TREE_TYPE (tem)));
/* If the result is a record type and BITSIZE is narrower than
@@ -7678,8 +7745,8 @@ expand_expr (exp, target, tmode, modifier)
{
if (DECL_BUILT_IN_CLASS (TREE_OPERAND (TREE_OPERAND (exp, 0), 0))
== BUILT_IN_FRONTEND)
- return (*lang_hooks.expand_expr)
- (exp, original_target, tmode, modifier);
+ return (*lang_hooks.expand_expr) (exp, original_target,
+ tmode, modifier);
else
return expand_builtin (exp, target, subtarget, tmode, ignore);
}
@@ -7715,7 +7782,8 @@ expand_expr (exp, target, tmode, modifier)
if (GET_CODE (target) == MEM)
/* Store data into beginning of memory target. */
store_expr (TREE_OPERAND (exp, 0),
- adjust_address (target, TYPE_MODE (valtype), 0), 0);
+ adjust_address (target, TYPE_MODE (valtype), 0),
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
else if (GET_CODE (target) == REG)
/* Store this field into a union of the proper type. */
@@ -7840,7 +7908,8 @@ expand_expr (exp, target, tmode, modifier)
if (GET_MODE (op0) == BLKmode)
emit_block_move (new_with_op0_mode, op0,
GEN_INT (GET_MODE_SIZE (TYPE_MODE (type))),
- BLOCK_OP_NORMAL);
+ (modifier == EXPAND_STACK_PARM
+ ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
else
emit_move_insn (new_with_op0_mode, op0);
@@ -7892,6 +7961,8 @@ expand_expr (exp, target, tmode, modifier)
if (modifier == EXPAND_SUM || modifier == EXPAND_INITIALIZER
|| (mode == ptr_mode && (unsignedp || ! flag_trapv)))
{
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
if (TREE_CODE (TREE_OPERAND (exp, 0)) == INTEGER_CST
&& GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
&& TREE_CONSTANT (TREE_OPERAND (exp, 1)))
@@ -8086,6 +8157,8 @@ expand_expr (exp, target, tmode, modifier)
if (modifier == EXPAND_SUM && mode == ptr_mode
&& host_integerp (TREE_OPERAND (exp, 1), 0))
{
+ tree exp1 = TREE_OPERAND (exp, 1);
+
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode,
EXPAND_SUM);
@@ -8104,14 +8177,17 @@ expand_expr (exp, target, tmode, modifier)
if (GET_CODE (op0) != REG)
op0 = copy_to_mode_reg (mode, op0);
- return
- gen_rtx_MULT (mode, op0,
- GEN_INT (tree_low_cst (TREE_OPERAND (exp, 1), 0)));
+ return gen_rtx_MULT (mode, op0,
+ gen_int_mode (tree_low_cst (exp1, 0),
+ TYPE_MODE (TREE_TYPE (exp1))));
}
if (! safe_from_p (subtarget, TREE_OPERAND (exp, 1), 1))
subtarget = 0;
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
+
/* Check for multiplying things that have been extended
from a narrower type. If this machine supports multiplying
in that narrower type with a result in the desired type,
@@ -8195,6 +8271,8 @@ expand_expr (exp, target, tmode, modifier)
case EXACT_DIV_EXPR:
if (! safe_from_p (subtarget, TREE_OPERAND (exp, 1), 1))
subtarget = 0;
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
/* Possible optimization: compute the dividend with EXPAND_SUM
then if the divisor is constant can optimize the case
where some terms of the dividend have coeffs divisible by it. */
@@ -8213,7 +8291,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;
@@ -8223,6 +8301,8 @@ expand_expr (exp, target, tmode, modifier)
case ROUND_MOD_EXPR:
if (! safe_from_p (subtarget, TREE_OPERAND (exp, 1), 1))
subtarget = 0;
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0);
return expand_divmod (1, code, mode, op0, op1, target, unsignedp);
@@ -8234,14 +8314,14 @@ expand_expr (exp, target, tmode, modifier)
case FIX_TRUNC_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
- if (target == 0)
+ if (target == 0 || modifier == EXPAND_STACK_PARM)
target = gen_reg_rtx (mode);
expand_fix (target, op0, unsignedp);
return target;
case FLOAT_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
- if (target == 0)
+ if (target == 0 || modifier == EXPAND_STACK_PARM)
target = gen_reg_rtx (mode);
/* expand_float can't figure out what to do if FROM has VOIDmode.
So give it the correct mode. With -O, cse will optimize this. */
@@ -8254,6 +8334,8 @@ expand_expr (exp, target, tmode, modifier)
case NEGATE_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
temp = expand_unop (mode,
! unsignedp && flag_trapv
&& (GET_MODE_CLASS(mode) == MODE_INT)
@@ -8264,6 +8346,8 @@ expand_expr (exp, target, tmode, modifier)
case ABS_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
/* Handle complex values specially. */
if (GET_MODE_CLASS (mode) == MODE_COMPLEX_INT
@@ -8281,7 +8365,9 @@ expand_expr (exp, target, tmode, modifier)
case MAX_EXPR:
case MIN_EXPR:
target = original_target;
- if (target == 0 || ! safe_from_p (target, TREE_OPERAND (exp, 1), 1)
+ if (target == 0
+ || modifier == EXPAND_STACK_PARM
+ || ! safe_from_p (target, TREE_OPERAND (exp, 1), 1)
|| (GET_CODE (target) == MEM && MEM_VOLATILE_P (target))
|| GET_MODE (target) != mode
|| (GET_CODE (target) == REG
@@ -8338,6 +8424,8 @@ expand_expr (exp, target, tmode, modifier)
case BIT_NOT_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
temp = expand_unop (mode, one_cmpl_optab, op0, target, 1);
if (temp == 0)
abort ();
@@ -8345,6 +8433,8 @@ expand_expr (exp, target, tmode, modifier)
case FFS_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
temp = expand_unop (mode, ffs_optab, op0, target, 1);
if (temp == 0)
abort ();
@@ -8384,6 +8474,8 @@ expand_expr (exp, target, tmode, modifier)
case RROTATE_EXPR:
if (! safe_from_p (subtarget, TREE_OPERAND (exp, 1), 1))
subtarget = 0;
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
return expand_shift (code, mode, op0, TREE_OPERAND (exp, 1), target,
unsignedp);
@@ -8403,7 +8495,9 @@ expand_expr (exp, target, tmode, modifier)
case UNGT_EXPR:
case UNGE_EXPR:
case UNEQ_EXPR:
- temp = do_store_flag (exp, target, tmode != VOIDmode ? tmode : mode, 0);
+ temp = do_store_flag (exp,
+ modifier != EXPAND_STACK_PARM ? target : NULL_RTX,
+ tmode != VOIDmode ? tmode : mode, 0);
if (temp != 0)
return temp;
@@ -8452,7 +8546,9 @@ expand_expr (exp, target, tmode, modifier)
case TRUTH_ANDIF_EXPR:
case TRUTH_ORIF_EXPR:
if (! ignore
- && (target == 0 || ! safe_from_p (target, exp, 1)
+ && (target == 0
+ || modifier == EXPAND_STACK_PARM
+ || ! safe_from_p (target, exp, 1)
/* Make sure we don't have a hard reg (such as function's return
value) live across basic blocks, if not optimizing. */
|| (!optimize && GET_CODE (target) == REG
@@ -8472,6 +8568,8 @@ expand_expr (exp, target, tmode, modifier)
return ignore ? const0_rtx : target;
case TRUTH_NOT_EXPR:
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
op0 = expand_expr (TREE_OPERAND (exp, 0), target, VOIDmode, 0);
/* The parser is careful to generate TRUTH_NOT_EXPR
only with operands that are always zero or one. */
@@ -8486,7 +8584,7 @@ expand_expr (exp, target, tmode, modifier)
emit_queue ();
return expand_expr (TREE_OPERAND (exp, 1),
(ignore ? const0_rtx : target),
- VOIDmode, 0);
+ VOIDmode, modifier);
case COND_EXPR:
/* If we would have a "singleton" (see below) were it not for a
@@ -8539,6 +8637,8 @@ expand_expr (exp, target, tmode, modifier)
return const0_rtx;
}
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
op0 = expand_expr (TREE_OPERAND (exp, 0), target, mode, modifier);
if (GET_MODE (op0) == mode)
return op0;
@@ -8579,6 +8679,8 @@ expand_expr (exp, target, tmode, modifier)
if (ignore)
temp = 0;
+ else if (modifier == EXPAND_STACK_PARM)
+ temp = assign_temp (type, 0, 0, 1);
else if (original_target
&& (safe_from_p (original_target, TREE_OPERAND (exp, 0), 1)
|| (singleton && GET_CODE (original_target) == REG
@@ -8666,7 +8768,8 @@ expand_expr (exp, target, tmode, modifier)
|| (GET_CODE (temp) == REG
&& REGNO (temp) < FIRST_PSEUDO_REGISTER))
temp = gen_reg_rtx (mode);
- store_expr (singleton, temp, 0);
+ store_expr (singleton, temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
}
else
expand_expr (singleton,
@@ -8685,11 +8788,11 @@ expand_expr (exp, target, tmode, modifier)
store_expr (build (TREE_CODE (binary_op), type,
make_tree (type, temp),
TREE_OPERAND (binary_op, 1)),
- temp, 0);
+ temp, modifier == EXPAND_STACK_PARM ? 2 : 0);
else
store_expr (build1 (TREE_CODE (unary_op), type,
make_tree (type, temp)),
- temp, 0);
+ temp, modifier == EXPAND_STACK_PARM ? 2 : 0);
op1 = op0;
}
/* Check for A op 0 ? A : FOO and A op 0 ? FOO : A where OP is any
@@ -8708,11 +8811,13 @@ expand_expr (exp, target, tmode, modifier)
if (GET_CODE (temp) == REG
&& REGNO (temp) < FIRST_PSEUDO_REGISTER)
temp = gen_reg_rtx (mode);
- store_expr (TREE_OPERAND (exp, 1), temp, 0);
+ store_expr (TREE_OPERAND (exp, 1), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
jumpif (TREE_OPERAND (exp, 0), op0);
start_cleanup_deferral ();
- store_expr (TREE_OPERAND (exp, 2), temp, 0);
+ store_expr (TREE_OPERAND (exp, 2), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
op1 = op0;
}
else if (temp
@@ -8727,11 +8832,13 @@ expand_expr (exp, target, tmode, modifier)
if (GET_CODE (temp) == REG
&& REGNO (temp) < FIRST_PSEUDO_REGISTER)
temp = gen_reg_rtx (mode);
- store_expr (TREE_OPERAND (exp, 2), temp, 0);
+ store_expr (TREE_OPERAND (exp, 2), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
jumpifnot (TREE_OPERAND (exp, 0), op0);
start_cleanup_deferral ();
- store_expr (TREE_OPERAND (exp, 1), temp, 0);
+ store_expr (TREE_OPERAND (exp, 1), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
op1 = op0;
}
else
@@ -8745,7 +8852,8 @@ expand_expr (exp, target, tmode, modifier)
example A ? throw : E */
if (temp != 0
&& TREE_TYPE (TREE_OPERAND (exp, 1)) != void_type_node)
- store_expr (TREE_OPERAND (exp, 1), temp, 0);
+ store_expr (TREE_OPERAND (exp, 1), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
else
expand_expr (TREE_OPERAND (exp, 1),
ignore ? const0_rtx : NULL_RTX, VOIDmode, 0);
@@ -8757,7 +8865,8 @@ expand_expr (exp, target, tmode, modifier)
start_cleanup_deferral ();
if (temp != 0
&& TREE_TYPE (TREE_OPERAND (exp, 2)) != void_type_node)
- store_expr (TREE_OPERAND (exp, 2), temp, 0);
+ store_expr (TREE_OPERAND (exp, 2), temp,
+ modifier == EXPAND_STACK_PARM ? 2 : 0);
else
expand_expr (TREE_OPERAND (exp, 2),
ignore ? const0_rtx : NULL_RTX, VOIDmode, 0);
@@ -8815,7 +8924,7 @@ expand_expr (exp, target, tmode, modifier)
preserve_temp_slots (target);
SET_DECL_RTL (slot, target);
if (TREE_ADDRESSABLE (slot))
- put_var_into_stack (slot);
+ put_var_into_stack (slot, /*rescan=*/false);
/* Since SLOT is not known to the called function
to belong to its stack frame, we must build an explicit
@@ -8854,7 +8963,7 @@ expand_expr (exp, target, tmode, modifier)
/* If we must have an addressable slot, then make sure that
the RTL that we just stored in slot is OK. */
if (TREE_ADDRESSABLE (slot))
- put_var_into_stack (slot);
+ put_var_into_stack (slot, /*rescan=*/true);
}
}
@@ -8862,7 +8971,7 @@ expand_expr (exp, target, tmode, modifier)
/* Mark it as expanded. */
TREE_OPERAND (exp, 1) = NULL_TREE;
- store_expr (exp1, target, 0);
+ store_expr (exp1, target, modifier == EXPAND_STACK_PARM ? 2 : 0);
expand_decl_cleanup_eh (NULL_TREE, cleanups, CLEANUP_EH_ONLY (exp));
@@ -8947,6 +9056,8 @@ expand_expr (exp, target, tmode, modifier)
return expand_increment (exp, ! ignore, ignore);
case ADDR_EXPR:
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
/* Are we taking the address of a nested function? */
if (TREE_CODE (TREE_OPERAND (exp, 0)) == FUNCTION_DECL
&& decl_function_context (TREE_OPERAND (exp, 0)) != 0
@@ -9002,7 +9113,8 @@ expand_expr (exp, target, tmode, modifier)
forcing the SAVE_EXPR into memory. */
if (TREE_CODE (TREE_OPERAND (exp, 0)) == SAVE_EXPR)
{
- put_var_into_stack (TREE_OPERAND (exp, 0));
+ put_var_into_stack (TREE_OPERAND (exp, 0),
+ /*rescan=*/true);
op0 = SAVE_EXPR_RTL (TREE_OPERAND (exp, 0));
}
else
@@ -9055,20 +9167,30 @@ expand_expr (exp, target, tmode, modifier)
&& MEM_ALIGN (op0) < BIGGEST_ALIGNMENT)
{
tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0));
- rtx new
- = assign_stack_temp_for_type
- (TYPE_MODE (inner_type),
- MEM_SIZE (op0) ? INTVAL (MEM_SIZE (op0))
- : int_size_in_bytes (inner_type),
- 1, build_qualified_type (inner_type,
- (TYPE_QUALS (inner_type)
- | TYPE_QUAL_CONST)));
+ rtx new;
if (TYPE_ALIGN_OK (inner_type))
abort ();
+ if (TREE_ADDRESSABLE (inner_type))
+ {
+ /* We can't make a bitwise copy of this object, so fail. */
+ error ("cannot take the address of an unaligned member");
+ return const0_rtx;
+ }
+
+ new = assign_stack_temp_for_type
+ (TYPE_MODE (inner_type),
+ MEM_SIZE (op0) ? INTVAL (MEM_SIZE (op0))
+ : int_size_in_bytes (inner_type),
+ 1, build_qualified_type (inner_type,
+ (TYPE_QUALS (inner_type)
+ | TYPE_QUAL_CONST)));
+
emit_block_move (new, op0, expr_size (TREE_OPERAND (exp, 0)),
- BLOCK_OP_NORMAL);
+ (modifier == EXPAND_STACK_PARM
+ ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
+
op0 = new;
}
@@ -9284,6 +9406,8 @@ expand_expr (exp, target, tmode, modifier)
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0);
binop2:
+ if (modifier == EXPAND_STACK_PARM)
+ target = 0;
temp = expand_binop (mode, this_optab, op0, op1, target,
unsignedp, OPTAB_LIB_WIDEN);
if (temp == 0)
@@ -9710,6 +9834,12 @@ do_jump (exp, if_false_label, if_true_label)
break;
#endif
+ case UNSAVE_EXPR:
+ do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label);
+ TREE_OPERAND (exp, 0)
+ = (*lang_hooks.unsave_expr_now) (TREE_OPERAND (exp, 0));
+ break;
+
case NOP_EXPR:
if (TREE_CODE (TREE_OPERAND (exp, 0)) == COMPONENT_REF
|| TREE_CODE (TREE_OPERAND (exp, 0)) == BIT_FIELD_REF
@@ -11032,6 +11162,7 @@ do_tablejump (index, mode, range, table_label, default_label)
temp = gen_reg_rtx (CASE_VECTOR_MODE);
vector = gen_rtx_MEM (CASE_VECTOR_MODE, index);
RTX_UNCHANGING_P (vector) = 1;
+ MEM_NOTRAP_P (vector) = 1;
convert_move (temp, vector, 0);
emit_jump_insn (gen_tablejump (temp, table_label));
diff --git a/gcc/expr.h b/gcc/expr.h
index 6e8d19e994b..c38cd9946c9 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -1,6 +1,6 @@
/* Definitions for code generation pass of GNU compiler.
Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -44,13 +44,19 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define QUEUED_NEXT(P) XEXP (P, 4)
/* This is the 4th arg to `expand_expr'.
+ EXPAND_STACK_PARM means we are possibly expanding a call param onto
+ the stack. Choosing a value of 2 isn't special; It just allows
+ some code optimization in store_expr.
EXPAND_SUM means it is ok to return a PLUS rtx or MULT rtx.
EXPAND_INITIALIZER is similar but also record any labels on forced_labels.
EXPAND_CONST_ADDRESS means it is ok to return a MEM whose address
is a constant that is not a legitimate address.
- EXPAND_WRITE means we are only going to write to the resulting rtx. */
-enum expand_modifier {EXPAND_NORMAL, EXPAND_SUM, EXPAND_CONST_ADDRESS,
- EXPAND_INITIALIZER, EXPAND_WRITE};
+ EXPAND_WRITE means we are only going to write to the resulting rtx.
+ EXPAND_MEMORY means we are interested in a memory result, even if
+ the memory is constant and we could have propagated a constant value. */
+enum expand_modifier {EXPAND_NORMAL = 0, EXPAND_STACK_PARM = 2, EXPAND_SUM,
+ EXPAND_CONST_ADDRESS, EXPAND_INITIALIZER, EXPAND_WRITE,
+ EXPAND_MEMORY};
/* Prevent the compiler from deferring stack pops. See
inhibit_defer_pop for more information. */
@@ -398,8 +404,8 @@ extern rtx convert_modes PARAMS ((enum machine_mode, enum machine_mode,
enum block_op_methods
{
BLOCK_OP_NORMAL,
- BLOCK_OP_CALL_PARM,
- BLOCK_OP_NO_LIBCALL
+ BLOCK_OP_NO_LIBCALL,
+ BLOCK_OP_CALL_PARM
};
extern rtx emit_block_move PARAMS ((rtx, rtx, rtx, enum block_op_methods));
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 8b378cf0f1a..a0b03ceac78 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,151 @@
+2003-06-13 Richard Henderson <rth@redhat.com>
+
+ PR debug/9864
+ * com.c (ffecom_sym_transform_): Install FFEINFO_whereGLOBAL
+ symbols in the global binding level.
+
+2003-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/10726
+ * intdoc.in: Fix documentation of IDATE.
+ * intdoc.texi: Regenerate.
+ * news.texi: Update due to the above.
+
+2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
+
+ * g77.texi: Remove most of the preface of the bugs section.
+
+2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
+
+ * g77.texi: Remove most of the bug reporting instructions and
+ merge them into bugs.html.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-04-11 Bud Davis <bdavis9659@comcast.net>
+
+ PR Fortran/9263
+ * gcc/f/data.c (ffedata_advance_): Check initial, final and
+ increment values for INTEGER typeness.
+ * gcc/f/news.texi: Document these fixes.
+
+2003-03-26 Roger Sayle <roger@eyesopen.com>
+
+ PR fortran/9793
+ * target.h (ffetarget_divide_integer1): Perform division by -1
+ using negation to prevent possible overflow trap on the host.
+
+2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
+
+ PR fortran/10204
+ * ffe.texi: Reference the GCC web site in the URL.
+
+2003-03-24 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/10197
+ * news.texi: Document PR fortran/10197 fixed.
+
+Sun Mar 23 23:43:45 2003 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * com.c (ffecom_sym_transform_): Adjust calls to
+ put_var_into_stack.
+ (ffe_mark_addressable): Likewise.
+
+2003-03-22 Bud Davis <bdavis9659@comcast.net>
+
+ * com.c (ffecom_constantunion_with_type): New function.
+ * com.h (ffecom_constantunion_with_type): Declare.
+ * stc.c (ffestc_R810): Check for kind type.
+ * ste.c (ffeste_R810): Use ffecom_constantunion_with_type
+ to discern SELECT CASE variables.
+
+2003-03-15 Andreas Jaeger <aj@suse.de>
+
+ * g77spec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+
+2003-02-21 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * news.texi: Document fixing PR fortran/9038.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * g77.texi, invoke.texi: Update to GFDL 1.2.
+
+2003-01-30 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * news.texi: Document fixing PR fortran/7681
+ and PR optimization/9258.
+
+2003-01-26 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * lang-specs.h: Revert change to solve 9038.
+ * news.texi: Document this.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (f77.install-common, f77.install-info)
+ (f77.install-man, f77.uninstall): Prepend $(DESTDIR) to
+ destination paths in all (un)installation commands.
+
+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,
@@ -31,7 +179,7 @@
2002-10-15 Richard Henderson <rth@redhat.com>
- * target.h (ffetarget_print_real1, ffetarget_print_real2): Use
+ * target.h (ffetarget_print_real1, ffetarget_print_real2): Use
real_to_decimal directly, and with the new arguments.
2002-09-23 Zack Weinberg <zack@codesourcery.com>
diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in
index df31b1a6168..cdeb764e5fa 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
@@ -244,13 +246,13 @@ f77.install-normal:
f77.install-common: installdirs
-if [ -f f771$(exeext) ] ; then \
if [ -f g77-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(G77_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) g77-cross$(exeext) $(bindir)/$(G77_CROSS_NAME)$(exeext); \
- chmod a+x $(bindir)/$(G77_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) g77-cross$(exeext) $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
else \
- rm -f $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) g77$(exeext) $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
- chmod a+x $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) g77$(exeext) $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
fi ; \
else true; fi
@if [ -f f77-install-ok -o -f $(srcdir)/f77-install-ok ]; then \
@@ -267,43 +269,43 @@ f77.install-common: installdirs
# to do the install. The sed rule was copied from stmp-int-hdrs.
f77.install-info: f77.info installdirs
if [ -f $(srcdir)/f/g77.info ] ; then \
- rm -f $(infodir)/g77.info*; \
+ rm -f $(DESTDIR)$(infodir)/g77.info*; \
for f in $(srcdir)/f/g77.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
- $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
done; \
- chmod a-x $(infodir)/g77.info*; \
+ chmod a-x $(DESTDIR)$(infodir)/g77.info*; \
else true; fi
@if [ -f $(srcdir)/f/g77.info ] ; then \
if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
- echo " install-info --info-dir=$(infodir) $(infodir)/g77.info"; \
- install-info --info-dir=$(infodir) $(infodir)/g77.info || : ; \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info"; \
+ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info || : ; \
else : ; fi; \
else : ; fi
f77.install-man: $(GENERATED_MANPAGES) installdirs
-if [ -f f771$(exeext) ] ; then \
if [ -f g77-cross$(exeext) ] ; then \
- rm -f $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
- $(INSTALL_DATA) $(srcdir)/f/g77.1 $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/f/g77.1 $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
else \
- rm -f $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
- $(INSTALL_DATA) $(srcdir)/f/g77.1 $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/f/g77.1 $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
fi; \
else true; fi
f77.uninstall: installdirs
if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
- echo " install-info --delete --info-dir=$(infodir) $(infodir)/g77.info"; \
- install-info --delete --info-dir=$(infodir) $(infodir)/g77.info || : ; \
+ echo " install-info --delete --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info"; \
+ install-info --delete --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/g77.info || : ; \
else : ; fi
- rm -rf $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
- rm -rf $(bindir)/$(G77_CROSS_NAME)$(exeext); \
- rm -rf $(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
- rm -rf $(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
- rm -rf $(infodir)/g77.info*
+ rm -rf $(DESTDIR)$(bindir)/$(G77_INSTALL_NAME)$(exeext); \
+ rm -rf $(DESTDIR)$(bindir)/$(G77_CROSS_NAME)$(exeext); \
+ rm -rf $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
+ rm -rf $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
+ rm -rf $(DESTDIR)$(infodir)/g77.info*
#
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
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/com.c b/gcc/f/com.c
index 1e066f5431d..8e95c0384a4 100644
--- a/gcc/f/com.c
+++ b/gcc/f/com.c
@@ -7445,7 +7445,7 @@ ffecom_sym_transform_ (ffesymbol s)
assert (et != NULL_TREE);
if (! TREE_STATIC (et))
- put_var_into_stack (et);
+ put_var_into_stack (et, /*rescan=*/true);
offset = ffestorag_modulo (est)
+ ffestorag_offset (ffesymbol_storage (s))
@@ -8091,8 +8091,8 @@ ffecom_sym_transform_ (ffesymbol s)
DECL_EXTERNAL (t) = 1;
TREE_PUBLIC (t) = 1;
- t = start_decl (t, FALSE);
- finish_decl (t, NULL_TREE, FALSE);
+ t = start_decl (t, TRUE);
+ finish_decl (t, NULL_TREE, TRUE);
if ((g != NULL)
&& ((ffeglobal_type (g) == FFEGLOBAL_typeSUBR)
@@ -10593,6 +10593,78 @@ ffecom_constantunion (ffebldConstantUnion *cu, ffeinfoBasictype bt,
return item;
}
+/* Transform constant-union to tree, with the type known. */
+
+tree
+ffecom_constantunion_with_type (ffebldConstantUnion *cu,
+ tree tree_type, ffebldConst ct)
+{
+ tree item;
+
+ int val;
+
+ switch (ct)
+ {
+#if FFETARGET_okINTEGER1
+ case FFEBLD_constINTEGER1:
+ val = ffebld_cu_val_integer1 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okINTEGER2
+ case FFEBLD_constINTEGER2:
+ val = ffebld_cu_val_integer2 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okINTEGER3
+ case FFEBLD_constINTEGER3:
+ val = ffebld_cu_val_integer3 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okINTEGER4
+ case FFEBLD_constINTEGER4:
+ val = ffebld_cu_val_integer4 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okLOGICAL1
+ case FFEBLD_constLOGICAL1:
+ val = ffebld_cu_val_logical1 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okLOGICAL2
+ case FFEBLD_constLOGICAL2:
+ val = ffebld_cu_val_logical2 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okLOGICAL3
+ case FFEBLD_constLOGICAL3:
+ val = ffebld_cu_val_logical3 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+#if FFETARGET_okLOGICAL4
+ case FFEBLD_constLOGICAL4:
+ val = ffebld_cu_val_logical4 (*cu);
+ item = build_int_2 (val, (val < 0) ? -1 : 0);
+ break;
+#endif
+ default:
+ assert ("constant type not supported"==NULL);
+ return error_mark_node;
+ break;
+ }
+
+ TREE_TYPE (item) = tree_type;
+
+ TREE_CONSTANT (item) = 1;
+
+ return item;
+}
/* Transform expression into constant tree.
If the expression can be transformed into a tree that is constant,
@@ -14223,7 +14295,7 @@ ffe_mark_addressable (exp)
}
assert ("address of register var requested" == NULL);
}
- put_var_into_stack (x);
+ put_var_into_stack (x, /*rescan=*/true);
/* drops in */
case FUNCTION_DECL:
diff --git a/gcc/f/com.h b/gcc/f/com.h
index 8b8bb861e82..b58e5ba1205 100644
--- a/gcc/f/com.h
+++ b/gcc/f/com.h
@@ -210,6 +210,8 @@ tree ffecom_arg_expr (ffebld expr, tree *length);
tree ffecom_arg_ptr_to_const_expr (ffebld expr, tree *length);
tree ffecom_arg_ptr_to_expr (ffebld expr, tree *length);
tree ffecom_call_gfrt (ffecomGfrt ix, tree args, tree hook);
+tree ffecom_constantunion_with_type (ffebldConstantUnion *cu,
+ tree tree_type,ffebldConst ct);
tree ffecom_constantunion (ffebldConstantUnion *cu, ffeinfoBasictype bt,
ffeinfoKindtype kt, tree tree_type);
tree ffecom_const_expr (ffebld expr);
diff --git a/gcc/f/data.c b/gcc/f/data.c
index 3e1ae6213cb..91b835dbc60 100644
--- a/gcc/f/data.c
+++ b/gcc/f/data.c
@@ -1,5 +1,5 @@
/* data.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2002, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -591,13 +591,29 @@ tail_recurse: /* :::::::::::::::::::: */
assert (ffeinfo_kindtype (ffebld_info (itervar))
== FFEINFO_kindtypeINTEGERDEFAULT);
ffedata_stack_->itervar = ffebld_symter (itervar);
-
+ if (ffeinfo_basictype (ffebld_info (start)) != FFEINFO_basictypeINTEGER)
+ {
+ ffebad_start (FFEBAD_DATA_EVAL);
+ ffest_ffebad_here_current_stmt (0);
+ ffebad_finish ();
+ ffedata_pop_ ();
+ ffedata_reported_error_ = TRUE;
+ return FALSE;
+ }
assert (ffeinfo_basictype (ffebld_info (start))
== FFEINFO_basictypeINTEGER);
assert (ffeinfo_kindtype (ffebld_info (start))
== FFEINFO_kindtypeINTEGERDEFAULT);
ffesymbol_set_value (ffedata_stack_->itervar, ffedata_eval_integer1_ (start));
-
+ if (ffeinfo_basictype (ffebld_info (end)) != FFEINFO_basictypeINTEGER)
+ {
+ ffebad_start (FFEBAD_DATA_EVAL);
+ ffest_ffebad_here_current_stmt (0);
+ ffebad_finish ();
+ ffedata_pop_ ();
+ ffedata_reported_error_ = TRUE;
+ return FALSE;
+ }
assert (ffeinfo_basictype (ffebld_info (end))
== FFEINFO_basictypeINTEGER);
assert (ffeinfo_kindtype (ffebld_info (end))
@@ -608,6 +624,15 @@ tail_recurse: /* :::::::::::::::::::: */
ffedata_stack_->increment = 1;
else
{
+ if (ffeinfo_basictype (ffebld_info (incr)) != FFEINFO_basictypeINTEGER)
+ {
+ ffebad_start (FFEBAD_DATA_EVAL);
+ ffest_ffebad_here_current_stmt (0);
+ ffebad_finish ();
+ ffedata_pop_ ();
+ ffedata_reported_error_ = TRUE;
+ return FALSE;
+ }
assert (ffeinfo_basictype (ffebld_info (incr))
== FFEINFO_basictypeINTEGER);
assert (ffeinfo_kindtype (ffebld_info (incr))
diff --git a/gcc/f/ffe.texi b/gcc/f/ffe.texi
index 4136a47a745..9aa6a973e3b 100644
--- a/gcc/f/ffe.texi
+++ b/gcc/f/ffe.texi
@@ -17,7 +17,7 @@ search for the string TBD.
If you want to help by working on one or more of these items,
email @email{gcc@@gcc.gnu.org}.
If you're planning to do more than just research issues and offer comments,
-see @uref{http://www.gnu.org/software/gcc/contribute.html} for steps you might
+see @uref{http://gcc.gnu.org/contribute.html} for steps you might
need to take first.
@menu
diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi
index 9ab2527795a..a7cd96bc0fb 100644
--- a/gcc/f/g77.texi
+++ b/gcc/f/g77.texi
@@ -2,8 +2,8 @@
@c %**start of header
@setfilename g77.info
-@set last-update 2002-04-29
-@set copyrights-g77 1995,1996,1997,1998,1999,2000,2001,2002
+@set last-update 2003-05-13
+@set copyrights-g77 1995,1996,1997,1998,1999,2000,2001,2002,2003
@include root.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.2 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,
@@ -10464,30 +10420,11 @@ enable/disable/delete/hide intrinsics from the command line?
Your bug reports play an essential role in making GNU Fortran reliable.
When you encounter a problem, the first thing to do is to see if it is
-already known.
-@xref{Trouble}.
-If it isn't known, then you should report the problem.
-
-Reporting a bug might help you by bringing a solution to your problem, or
-it might not.
-(If it does not, look in the service directory; see
-@ref{Service}.)
-In any case, the principal function of a bug report is
-to help the entire community by making the next version of GNU Fortran work
-better.
-Bug reports are your contribution to the maintenance of GNU Fortran.
-
-Since the maintainers are very overloaded, we cannot respond to every
-bug report.
-However, if the bug has not been fixed, we are likely to
-send you a patch and ask you to tell us whether it works.
-
-In order for a bug report to serve its purpose, you must include the
-information that makes for fixing the bug.
+already known. @xref{Trouble}. If it isn't known, then you should
+report the problem.
@menu
* Criteria: Bug Criteria. Have you really found a bug?
-* Where: Bug Lists. Where to send your bug report.
* Reporting: Bug Reporting. How to report a bug effectively.
@end menu
@@ -10678,348 +10615,15 @@ It might mean the bug is in your code, and that @command{g77} simply
exposes it more readily than other compilers.
@end itemize
-@node Bug Lists
-@section Where to Report Bugs
-@cindex bug report mailing lists
-@kindex @value{email-bugs}
-Send bug reports for GNU Fortran to @email{@value{email-bugs}}.
-
-Often people think of posting bug reports to a newsgroup instead of
-mailing them.
-This sometimes appears to work, but it has one problem which can be
-crucial: a newsgroup posting does not contain a mail path back to the
-sender.
-Thus, if maintainers need more information, they might be unable
-to reach you. For this reason, you should always send bug reports by
-mail to the proper mailing list.
-
-As a last resort, send bug reports on paper to:
-
-@example
-GNU Compiler Bugs
-Free Software Foundation
-59 Temple Place - Suite 330
-Boston, MA 02111-1307, USA
-@end example
-
@node Bug Reporting
@section How to Report Bugs
@cindex compiler bugs, reporting
-The fundamental principle of reporting bugs usefully is this:
-@strong{report all the facts}.
-If you are not sure whether to state a
-fact or leave it out, state it!
-
-Often people omit facts because they think they know what causes the
-problem and they conclude that some details don't matter.
-Thus, you might
-assume that the name of the variable you use in an example does not matter.
-Well, probably it doesn't, but one cannot be sure.
-Perhaps the bug is a
-stray memory reference which happens to fetch from the location where that
-name is stored in memory; perhaps, if the name were different, the contents
-of that location would fool the compiler into doing the right thing despite
-the bug.
-Play it safe and give a specific, complete example.
-That is the
-easiest thing for you to do, and the most helpful.
-
-Keep in mind that the purpose of a bug report is to enable someone to
-fix the bug if it is not known.
-It isn't very important what happens if
-the bug is already known.
-Therefore, always write your bug reports on
-the assumption that the bug is not known.
-
-Sometimes people give a few sketchy facts and ask, ``Does this ring a
-bell?''
-This cannot help us fix a bug, so it is rarely helpful.
-We respond by asking for enough details to enable us to investigate.
-You might as well expedite matters by sending them to begin with.
-(Besides, there are enough bells ringing around here as it is.)
-
-Try to make your bug report self-contained.
-If we have to ask you for
-more information, it is best if you include all the previous information
-in your response, as well as the information that was missing.
-
-Please report each bug in a separate message.
-This makes it easier for
-us to track which bugs have been fixed and to forward your bugs reports
-to the appropriate maintainer.
-
-Do not compress and encode any part of your bug report using programs
-such as @file{uuencode}.
-If you do so it will slow down the processing
-of your bug.
-If you must submit multiple large files, use @file{shar},
-which allows us to read your message without having to run any
-decompression programs.
-
-(As a special exception for GNU Fortran bug-reporting, at least
-for now, if you are sending more than a few lines of code, if
-your program's source file format contains ``interesting'' things
-like trailing spaces or strange characters, or if you need to
-include binary data files, it is acceptable to put all the
-files together in a @command{tar} archive, and, whether you need to
-do that, it is acceptable to then compress the single file (@command{tar}
-archive or source file)
-using @command{gzip} and encode it via @command{uuencode}.
-Do not use any MIME stuff---the current maintainer can't decode this.
-Using @command{compress} instead of @command{gzip} is acceptable, assuming
-you have licensed the use of the patented algorithm in
-@command{compress} from Unisys.)
-
-To enable someone to investigate the bug, you should include all these
-things:
-
-@itemize @bullet
-@item
-The version of GNU Fortran.
-You can get this by running @command{g77} with the @option{-v} option.
-(Ignore any error messages that might be displayed
-when the linker is run.)
-
-Without this, we won't know whether there is any point in looking for
-the bug in the current version of GNU Fortran.
-
-@item
-@cindex preprocessor
-@cindex cpp program
-@cindex programs, cpp
-@pindex cpp
-A complete input file that will reproduce the bug.
-
-If your source file(s) require preprocessing
-(for example, their names have suffixes like
-@samp{.F}, @samp{.fpp}, @samp{.FPP}, and @samp{.r}),
-and the bug is in the compiler proper (@file{f771})
-or in a subsequent phase of processing,
-run your source file through the C preprocessor
-by doing @samp{g77 -E @var{sourcefile} > @var{newfile}}.
-Then, include the contents of @var{newfile} in the bug report.
-(When you do this, use the same preprocessor options---such as
-@option{-I}, @option{-D}, and @option{-U}---that you used in actual
-compilation.)
-
-A single statement is not enough of an example.
-In order to compile it,
-it must be embedded in a complete file of compiler input.
-The bug might depend on the details of how this is done.
-
-Without a real example one can compile,
-all anyone can do about your bug report is wish you luck.
-It would be futile to try to guess how to provoke the bug.
-For example, bugs in register allocation and reloading
-can depend on every little detail of the source and include files
-that trigger them.
-
-@item
-@cindex included files
-@cindex INCLUDE directive
-@cindex directive, INCLUDE
-@cindex #include directive
-@cindex directive, #include
-Note that you should include with your bug report any files
-included by the source file
-(via the @code{#include} or @code{INCLUDE} directive)
-that you send, and any files they include, and so on.
-
-It is not necessary to replace
-the @code{#include} and @code{INCLUDE} directives
-with the actual files in the version of the source file that
-you send, but it might make submitting the bug report easier
-in the end.
-However, be sure to @emph{reproduce} the bug using the @emph{exact}
-version of the source material you submit, to avoid wild-goose
-chases.
-
-@item
-The command arguments you gave GNU Fortran to compile that example
-and observe the bug. For example, did you use @option{-O}? To guarantee
-you won't omit something important, list all the options.
-
-If we were to try to guess the arguments, we would probably guess wrong
-and then we would not encounter the bug.
+Bugs should be reported to our bug database. Please refer to
+@uref{http://gcc.gnu.org/bugs.html} for up-to-date instructions how to
+submit bug reports. Copies of this file in HTML (@file{bugs.html}) and
+plain text (@file{BUGS}) are also part of GCC releases.
-@item
-The type of machine you are using, and the operating system name and
-version number.
-(Much of this information is printed by @samp{g77 -v}---if you
-include that, send along any additional info you have that you
-don't see clearly represented in that output.)
-
-@item
-The operands you gave to the @command{configure} command when you installed
-the compiler.
-
-@item
-A complete list of any modifications you have made to the compiler
-source. (We don't promise to investigate the bug unless it happens in
-an unmodified compiler. But if you've made modifications and don't tell
-us, then you are sending us on a wild-goose chase.)
-
-Be precise about these changes. A description in English is not
-enough---send a context diff for them.
-
-Adding files of your own (such as a machine description for a machine we
-don't support) is a modification of the compiler source.
-
-@item
-Details of any other deviations from the standard procedure for installing
-GNU Fortran.
-
-@item
-A description of what behavior you observe that you believe is
-incorrect. For example, ``The compiler gets a fatal signal,'' or,
-``The assembler instruction at line 208 in the output is incorrect.''
-
-Of course, if the bug is that the compiler gets a fatal signal, then one
-can't miss it. But if the bug is incorrect output, the maintainer might
-not notice unless it is glaringly wrong. None of us has time to study
-all the assembler code from a 50-line Fortran program just on the chance that
-one instruction might be wrong. We need @emph{you} to do this part!
-
-Even if the problem you experience is a fatal signal, you should still
-say so explicitly. Suppose something strange is going on, such as, your
-copy of the compiler is out of synch, or you have encountered a bug in
-the C library on your system. (This has happened!) Your copy might
-crash and the copy here would not. If you @i{said} to expect a crash,
-then when the compiler here fails to crash, we would know that the bug
-was not happening. If you don't say to expect a crash, then we would
-not know whether the bug was happening. We would not be able to draw
-any conclusion from our observations.
-
-If the problem is a diagnostic when building GNU Fortran with some other
-compiler, say whether it is a warning or an error.
-
-Often the observed symptom is incorrect output when your program is run.
-Sad to say, this is not enough information unless the program is short
-and simple. None of us has time to study a large program to figure out
-how it would work if compiled correctly, much less which line of it was
-compiled wrong. So you will have to do that. Tell us which source line
-it is, and what incorrect result happens when that line is executed. A
-person who understands the program can find this as easily as finding a
-bug in the program itself.
-
-@item
-If you send examples of assembler code output from GNU Fortran,
-please use @option{-g} when you make them. The debugging information
-includes source line numbers which are essential for correlating the
-output with the input.
-
-@item
-If you wish to mention something in the GNU Fortran source, refer to it by
-context, not by line number.
-
-The line numbers in the development sources don't match those in your
-sources. Your line numbers would convey no convenient information to the
-maintainers.
-
-@item
-Additional information from a debugger might enable someone to find a
-problem on a machine which he does not have available. However, you
-need to think when you collect this information if you want it to have
-any chance of being useful.
-
-@cindex backtrace for bug reports
-For example, many people send just a backtrace, but that is never
-useful by itself. A simple backtrace with arguments conveys little
-about GNU Fortran because the compiler is largely data-driven; the same
-functions are called over and over for different RTL insns, doing
-different things depending on the details of the insn.
-
-Most of the arguments listed in the backtrace are useless because they
-are pointers to RTL list structure. The numeric values of the
-pointers, which the debugger prints in the backtrace, have no
-significance whatever; all that matters is the contents of the objects
-they point to (and most of the contents are other such pointers).
-
-In addition, most compiler passes consist of one or more loops that
-scan the RTL insn sequence. The most vital piece of information about
-such a loop---which insn it has reached---is usually in a local variable,
-not in an argument.
-
-@findex debug_rtx
-What you need to provide in addition to a backtrace are the values of
-the local variables for several stack frames up. When a local
-variable or an argument is an RTX, first print its value and then use
-the GDB command @command{pr} to print the RTL expression that it points
-to. (If GDB doesn't run on your machine, use your debugger to call
-the function @code{debug_rtx} with the RTX as an argument.) In
-general, whenever a variable is a pointer, its value is no use
-without the data it points to.
-@end itemize
-
-Here are some things that are not necessary:
-
-@itemize @bullet
-@item
-A description of the envelope of the bug.
-
-Often people who encounter a bug spend a lot of time investigating
-which changes to the input file will make the bug go away and which
-changes will not affect it.
-
-This is often time consuming and not very useful, because the way we
-will find the bug is by running a single example under the debugger with
-breakpoints, not by pure deduction from a series of examples. You might
-as well save your time for something else.
-
-Of course, if you can find a simpler example to report @emph{instead} of
-the original one, that is a convenience. Errors in the output will be
-easier to spot, running under the debugger will take less time, etc.
-Most GNU Fortran bugs involve just one function, so the most straightforward
-way to simplify an example is to delete all the function definitions
-except the one where the bug occurs. Those earlier in the file may be
-replaced by external declarations if the crucial function depends on
-them. (Exception: inline functions might affect compilation of functions
-defined later in the file.)
-
-However, simplification is not vital; if you don't want to do this,
-report the bug anyway and send the entire test case you used.
-
-@item
-In particular, some people insert conditionals @samp{#ifdef BUG} around
-a statement which, if removed, makes the bug not happen. These are just
-clutter; we won't pay any attention to them anyway. Besides, you should
-send us preprocessor output, and that can't have conditionals.
-
-@item
-A patch for the bug.
-
-A patch for the bug is useful if it is a good one. But don't omit the
-necessary information, such as the test case, on the assumption that a
-patch is all we need. We might see problems with your patch and decide
-to fix the problem another way, or we might not understand it at all.
-
-Sometimes with a program as complicated as GNU Fortran it is very hard to
-construct an example that will make the program follow a certain path
-through the code. If you don't send the example, we won't be able to
-construct one, so we won't be able to verify that the bug is fixed.
-
-And if we can't understand what bug you are trying to fix, or why your
-patch should be an improvement, we won't install it. A test case will
-help us to understand.
-
-See @uref{http://gcc.gnu.org/contribute.html}
-for guidelines on how to make it easy for us to
-understand and install your patches.
-
-@item
-A guess about what the bug is or what it depends on.
-
-Such guesses are usually wrong. Even the maintainer can't guess right
-about such things without first using the debugger to find the facts.
-
-@item
-A core dump file.
-
-We have no way of examining a core dump for your type of machine
-unless we have an identical system---and if we do have one,
-we should be able to reproduce the crash ourselves.
-@end itemize
@node Service
@chapter How To Get Help with GNU Fortran
diff --git a/gcc/f/g77spec.c b/gcc/f/g77spec.c
index 1bf20d266b4..9206ef7f1a8 100644
--- a/gcc/f/g77spec.c
+++ b/gcc/f/g77spec.c
@@ -1,5 +1,6 @@
/* Specific flags and argument handling of the Fortran front-end.
- Copyright (C) 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -98,36 +99,14 @@ static void append_arg PARAMS ((const char *));
static int g77_newargc;
static const char **g77_newargv;
-/* --- This comes from gcc.c (2.8.1) verbatim: */
-
-/* This defines which switch letters take arguments. */
-
-#define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
- ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
- || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
- || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
- || (CHAR) == 'L' || (CHAR) == 'A')
-
#ifndef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) DEFAULT_SWITCH_TAKES_ARG(CHAR)
#endif
-/* This defines which multi-letter switches take arguments. */
-
-#define DEFAULT_WORD_SWITCH_TAKES_ARG(STR) \
- (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
- || !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
- || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
- || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
- || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
- || !strcmp (STR, "isystem") || !strcmp (STR, "specs"))
-
#ifndef WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) DEFAULT_WORD_SWITCH_TAKES_ARG (STR)
#endif
-/* --- End of verbatim. */
-
/* Assumes text[0] == '-'. Returns number of argv items that belong to
(and follow) this one, an option id for options important to the
caller, and a pointer to the first char of the arg, if embedded (else
diff --git a/gcc/f/intdoc.in b/gcc/f/intdoc.in
index 3ed3e10e408..55d426ad930 100644
--- a/gcc/f/intdoc.in
+++ b/gcc/f/intdoc.in
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2003 Free Software Foundation, Inc.
* This is part of the G77 manual.
* For copying conditions, see the file g77.texi. */
@@ -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}.
@@ -1288,9 +1288,9 @@ zero if not, and negative if the information isn't available.
")
DEFDOC (IDATE_unix, "Get local time info.", "\
-Fills @var{@1@} with the numerical values at the current local time
-of day, month (in the range 1--12), and year in elements 1, 2, and 3,
-respectively.
+Fills @var{@1@} with the numerical values at the current local time.
+The day (in the range 1--31), month (in the range 1--12),
+and year appear in elements 1, 2, and 3 of @var{@1@}, respectively.
The year has four significant digits.
@cindex Y10K compliance
@@ -1308,19 +1308,20 @@ as of the Year 10000.
DEFDOC (IDATE_vxt, "Get local time info (VAX/VMS).", "\
Returns the numerical values of the current local time.
The month (in the range 1--12) is returned in @var{@1@},
-the day (in the range 1--7) in @var{@2@},
+the day (in the range 1--31) in @var{@2@},
and the year in @var{@3@} (in the range 0--99).
@cindex Y2K compliance
@cindex Year 2000 compliance
@cindex wraparound, Y2K
@cindex limits, Y2K
-This intrinsic is not recommended, due to the year 2000 approaching.
-Therefore, programs making use of this intrinsic
-might not be Year 2000 (Y2K) compliant.
+This intrinsic is not recommended, due to the fact that
+its return value for year wraps around century boundaries
+(change from a larger value to a smaller one).
+Therefore, programs making use of this intrinsic, for
+instance, might not be Year 2000 (Y2K) compliant.
For example, the date might appear,
to such programs, to wrap around
-(change from a larger value to a smaller one)
as of the Year 2000.
@xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits
diff --git a/gcc/f/intdoc.texi b/gcc/f/intdoc.texi
index e4706267e53..7de42578d1a 100644
--- a/gcc/f/intdoc.texi
+++ b/gcc/f/intdoc.texi
@@ -5893,9 +5893,9 @@ Intrinsic groups: @code{unix}.
@noindent
Description:
-Fills @var{TArray} with the numerical values at the current local time
-of day, month (in the range 1--12), and year in elements 1, 2, and 3,
-respectively.
+Fills @var{TArray} with the numerical values at the current local time.
+The day (in the range 1--31), month (in the range 1--12),
+and year appear in elements 1, 2, and 3 of @var{TArray}, respectively.
The year has four significant digits.
@cindex Y10K compliance
@@ -5941,19 +5941,20 @@ Description:
Returns the numerical values of the current local time.
The month (in the range 1--12) is returned in @var{M},
-the day (in the range 1--7) in @var{D},
+the day (in the range 1--31) in @var{D},
and the year in @var{Y} (in the range 0--99).
@cindex Y2K compliance
@cindex Year 2000 compliance
@cindex wraparound, Y2K
@cindex limits, Y2K
-This intrinsic is not recommended, due to the year 2000 approaching.
-Therefore, programs making use of this intrinsic
-might not be Year 2000 (Y2K) compliant.
+This intrinsic is not recommended, due to the fact that
+its return value for year wraps around century boundaries
+(change from a larger value to a smaller one).
+Therefore, programs making use of this intrinsic, for
+instance, might not be Year 2000 (Y2K) compliant.
For example, the date might appear,
to such programs, to wrap around
-(change from a larger value to a smaller one)
as of the Year 2000.
@xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits
@@ -6543,7 +6544,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 +6579,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 +9419,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/invoke.texi b/gcc/f/invoke.texi
index 58710ce0eb1..50c7ca42e73 100644
--- a/gcc/f/invoke.texi
+++ b/gcc/f/invoke.texi
@@ -9,7 +9,7 @@ Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002
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
+under the terms of the GNU Free Documentation License, Version 1.2 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
diff --git a/gcc/f/lang-specs.h b/gcc/f/lang-specs.h
index 602028d136e..62b78c6f361 100644
--- a/gcc/f/lang-specs.h
+++ b/gcc/f/lang-specs.h
@@ -1,5 +1,5 @@
/* lang-specs.h file for Fortran
- Copyright (C) 1995, 1996, 1997, 1999, 2000, 2002
+ Copyright (C) 1995, 1996, 1997, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
Contributed by James Craig Burley.
diff --git a/gcc/f/news.texi b/gcc/f/news.texi
index 2d0dc0f49ef..fe6fa80ada2 100644
--- a/gcc/f/news.texi
+++ b/gcc/f/news.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@c Free Software Foundation, Inc.
@c This is part of the G77 manual.
@c For copying conditions, see the file g77.texi.
@@ -8,13 +8,12 @@
@c Keep this the same as the dates above, since it's used
@c in the standalone derivations of this file (e.g. NEWS).
-@set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002
+@set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002,2003
-@set last-update-news 2002-11-19
-
-@include root.texi
+@set last-update-news 2003-05-18
@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
@@ -158,6 +157,8 @@ The following information was last updated on @value{last-update-news}:
@item
Problem Reports fixed (in chronological order of submission):
@table @code
+@item 1832
+-list directed i/o overflow hangs, -fbounds-check doesn't detect
@item 3924
g77 generates code which is rejected by GAS if COFF debugging info is
requested
@@ -183,9 +184,17 @@ 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
+@item 9263
+ICE caused by invalid PARAMETER in implied DO loop
+@item 10197
+Direct access files not unformatted by default
+@item 10726
+Documentation for function IDATE Intrinsic (UNIX) is wrong [fixed in 3.3.1].
@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
@@ -195,8 +204,12 @@ of induction variables in unrolled loops.
@item
Problem Reports fixed (in chronological order of submission):
@table @code
+@item 7681
+ICE in compensate_edge, at reg-stack.c:2591
@item 8308
gcc-3.x does not compile files with suffix .r (RATFOR) [Fixed in 3.2.1]
+@item 9258
+[3.2/3.3/3.4 regression] ICE in compensate_edge, at reg-stack.c:2589
@end table
@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..b9602c20a46 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,19 @@ 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)))
+ || ((ffeinfo_kindtype (ffebld_info (caseobj->expr1))
+ != s->kindtype)
+ && (ffeinfo_kindtype (ffebld_info (caseobj->expr1)) != FFEINFO_kindtypeINTEGER1 ))
|| ((caseobj->range)
&& (caseobj->expr2 != NULL)
&& ((ffeinfo_basictype (ffebld_info (caseobj->expr2))
!= s->type)
- || (ffeinfo_kindtype (ffebld_info (caseobj->expr2))
- != s->kindtype))))
+ || ((ffeinfo_kindtype (ffebld_info (caseobj->expr2))
+ != s->kindtype)
+ && (ffeinfo_kindtype (ffebld_info (caseobj->expr2)) != FFEINFO_kindtypeINTEGER1)))))))
{
ffebad_start (FFEBAD_CASE_TYPE_DISAGREE);
ffebad_here (0, ffelex_token_where_line (caseobj->t),
@@ -9217,6 +9218,8 @@ ffestc_R810 (ffesttCaseList cases, ffelexToken name)
continue;
}
+
+
if ((s->type == FFEINFO_basictypeLOGICAL) && (caseobj->range))
{
ffebad_start (FFEBAD_CASE_LOGICAL_RANGE);
diff --git a/gcc/f/ste.c b/gcc/f/ste.c
index d7d84954eef..2ddf18118bf 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.
@@ -2711,21 +2711,27 @@ ffeste_R810 (ffestw block, unsigned long casenum)
do
{
texprlow = (c->low == NULL) ? NULL_TREE
- : ffecom_constantunion (&ffebld_constant_union (c->low), s->type,
- s->kindtype,
- ffecom_tree_type[s->type][s->kindtype]);
+ : ffecom_constantunion_with_type (&ffebld_constant_union (c->low),
+ ffecom_tree_type[s->type][s->kindtype], c->low->consttype);
if (c->low != c->high)
{
texprhigh = (c->high == NULL) ? NULL_TREE
- : ffecom_constantunion (&ffebld_constant_union (c->high),
- s->type, s->kindtype,
- ffecom_tree_type[s->type][s->kindtype]);
+ : ffecom_constantunion_with_type (&ffebld_constant_union (c->high),
+ ffecom_tree_type[s->type][s->kindtype], c->high->consttype);
pushok = pushcase_range (texprlow, texprhigh, convert,
tlabel, &duplicate);
}
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/f/target.h b/gcc/f/target.h
index b96504f4628..2125ad54eee 100644
--- a/gcc/f/target.h
+++ b/gcc/f/target.h
@@ -1158,7 +1158,8 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
FFEBAD; })
#define ffetarget_divide_integer1(res,l,r) \
(((r) == 0) ? (*(res) = 0, FFEBAD_DIV_BY_ZERO) \
- : (*(res) = (l) / (r), FFEBAD))
+ : (((r) == -1) ? (*(res) = -(l), FFEBAD) \
+ : (*(res) = (l) / (r), FFEBAD)))
#define ffetarget_divide_integer2(res,l,r) \
ffetarget_divide_integer1(res,l,r)
#define ffetarget_divide_integer3(res,l,r) \
diff --git a/gcc/final.c b/gcc/final.c
index 312ae76f8fc..94a0f4c53a4 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1269,7 +1269,7 @@ shorten_branches (first)
}
}
- INSN_ADDRESSES (uid) = insn_current_address;
+ INSN_ADDRESSES (uid) = insn_current_address + insn_lengths[uid];
if (GET_CODE (insn) == NOTE || GET_CODE (insn) == BARRIER
|| GET_CODE (insn) == CODE_LABEL)
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/fixinc/fixincl.x b/gcc/fixinc/fixincl.x
index 09fad0267a6..ca87507f399 100644
--- a/gcc/fixinc/fixincl.x
+++ b/gcc/fixinc/fixincl.x
@@ -5,7 +5,7 @@
* files which are fixed to work correctly with ANSI C and placed in a
* directory that GNU C will search.
*
- * This file contains 148 fixup descriptions.
+ * This file contains 157 fixup descriptions.
*
* See README for more information.
*
@@ -776,6 +776,43 @@ static const char* apzAlpha___AssertPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Alpha___Extern_Prefix fix
+ */
+tSCC zAlpha___Extern_PrefixName[] =
+ "alpha___extern_prefix";
+
+/*
+ * File name selection pattern
+ */
+tSCC zAlpha___Extern_PrefixList[] =
+ "|sys/stat.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzAlpha___Extern_PrefixMachs[] = {
+ "alpha*-dec-osf5*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zAlpha___Extern_PrefixSelect0[] =
+ "#[ \t]*if[ \t]*defined\\(__DECC\\)";
+
+#define ALPHA___EXTERN_PREFIX_TEST_CT 1
+static tTestDesc aAlpha___Extern_PrefixTests[] = {
+ { TT_EGREP, zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Alpha___Extern_Prefix
+ */
+static const char* apzAlpha___Extern_PrefixPatch[] = {
+ "format",
+ "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Alpha_Assert fix
*/
tSCC zAlpha_AssertName[] =
@@ -1868,46 +1905,118 @@ static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Hpux11_Fabsf fix
+ * Description of Hpux10_Ctype_Declarations1 fix
*/
-tSCC zHpux11_FabsfName[] =
- "hpux11_fabsf";
+tSCC zHpux10_Ctype_Declarations1Name[] =
+ "hpux10_ctype_declarations1";
/*
* File name selection pattern
*/
-tSCC zHpux11_FabsfList[] =
- "|math.h|";
+tSCC zHpux10_Ctype_Declarations1List[] =
+ "|ctype.h|";
/*
* Machine/OS name selection pattern
*/
-#define apzHpux11_FabsfMachs (const char**)NULL
+#define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zHpux11_FabsfSelect0[] =
- "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
+tSCC zHpux10_Ctype_Declarations1Select0[] =
+ "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
/*
* content bypass pattern - skip fix if pattern found
*/
-tSCC zHpux11_FabsfBypass0[] =
- "__cplusplus";
+tSCC zHpux10_Ctype_Declarations1Bypass0[] =
+ "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
-#define HPUX11_FABSF_TEST_CT 2
-static tTestDesc aHpux11_FabsfTests[] = {
- { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
- { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
+#define HPUX10_CTYPE_DECLARATIONS1_TEST_CT 2
+static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
+ { TT_NEGREP, zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
/*
- * Fix Command Arguments for Hpux11_Fabsf
+ * Fix Command Arguments for Hpux10_Ctype_Declarations1
*/
-static const char* apzHpux11_FabsfPatch[] = {
+static const char* apzHpux10_Ctype_Declarations1Patch[] = {
"format",
- "#ifndef __cplusplus\n\
-%0\n\
-#endif",
+ "#ifdef _PROTOTYPES\n\
+extern int __tolower(int);\n\
+extern int __toupper(int);\n\
+#else /* NOT _PROTOTYPES */\n\
+extern int __tolower();\n\
+extern int __toupper();\n\
+#endif /* _PROTOTYPES */\n\n\
+%0\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Hpux10_Ctype_Declarations2 fix
+ */
+tSCC zHpux10_Ctype_Declarations2Name[] =
+ "hpux10_ctype_declarations2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux10_Ctype_Declarations2List[] =
+ "|ctype.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux10_Ctype_Declarations2Select0[] =
+ "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux10_Ctype_Declarations2Bypass0[] =
+ "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
+
+#define HPUX10_CTYPE_DECLARATIONS2_TEST_CT 2
+static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
+ { TT_NEGREP, zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
+ { TT_EGREP, zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux10_Ctype_Declarations2
+ */
+static const char* apzHpux10_Ctype_Declarations2Patch[] = {
+ "format",
+ "%0\n\n\
+#ifdef _PROTOTYPES\n\
+ extern int _isalnum(int);\n\
+ extern int _isalpha(int);\n\
+ extern int _iscntrl(int);\n\
+ extern int _isdigit(int);\n\
+ extern int _isgraph(int);\n\
+ extern int _islower(int);\n\
+ extern int _isprint(int);\n\
+ extern int _ispunct(int);\n\
+ extern int _isspace(int);\n\
+ extern int _isupper(int);\n\
+ extern int _isxdigit(int);\n\
+# else /* not _PROTOTYPES */\n\
+ extern int _isalnum();\n\
+ extern int _isalpha();\n\
+ extern int _iscntrl();\n\
+ extern int _isdigit();\n\
+ extern int _isgraph();\n\
+ extern int _islower();\n\
+ extern int _isprint();\n\
+ extern int _ispunct();\n\
+ extern int _isspace();\n\
+ extern int _isupper();\n\
+ extern int _isxdigit();\n\
+#endif /* _PROTOTYPES */\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -1949,6 +2058,50 @@ static const char* apzHpux11_AbsPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Hpux11_Fabsf fix
+ */
+tSCC zHpux11_FabsfName[] =
+ "hpux11_fabsf";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux11_FabsfList[] =
+ "|math.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux11_FabsfMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux11_FabsfSelect0[] =
+ "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux11_FabsfBypass0[] =
+ "__cplusplus";
+
+#define HPUX11_FABSF_TEST_CT 2
+static tTestDesc aHpux11_FabsfTests[] = {
+ { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux11_Fabsf
+ */
+static const char* apzHpux11_FabsfPatch[] = {
+ "format",
+ "#ifndef __cplusplus\n\
+%0\n\
+#endif",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Hpux11_Size_T fix
*/
tSCC zHpux11_Size_TName[] =
@@ -2092,6 +2245,83 @@ static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Hpux_Ctype_Macros fix
+ */
+tSCC zHpux_Ctype_MacrosName[] =
+ "hpux_ctype_macros";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux_Ctype_MacrosList[] =
+ "|ctype.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux_Ctype_MacrosMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux_Ctype_MacrosSelect0[] =
+ "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
+
+#define HPUX_CTYPE_MACROS_TEST_CT 1
+static tTestDesc aHpux_Ctype_MacrosTests[] = {
+ { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux_Ctype_Macros
+ */
+static const char* apzHpux_Ctype_MacrosPatch[] = {
+ "format",
+ "%1(int)%3",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Hpux_Long_Double fix
+ */
+tSCC zHpux_Long_DoubleName[] =
+ "hpux_long_double";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux_Long_DoubleList[] =
+ "|stdlib.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux_Long_DoubleMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux_Long_DoubleSelect0[] =
+ "extern[ \t]long_double[ \t]strtold";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux_Long_DoubleBypass0[] =
+ "long_double_t";
+
+#define HPUX_LONG_DOUBLE_TEST_CT 2
+static tTestDesc aHpux_Long_DoubleTests[] = {
+ { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux_Long_Double
+ */
+static const char* apzHpux_Long_DoublePatch[] = { "sed",
+ "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
+ "-e", "s/long_double/long double/g",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Hpux_Maxint fix
*/
tSCC zHpux_MaxintName[] =
@@ -2316,6 +2546,46 @@ static const char* apzIp_Missing_SemiPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Irix___Restrict fix
+ */
+tSCC zIrix___RestrictName[] =
+ "irix___restrict";
+
+/*
+ * File name selection pattern
+ */
+tSCC zIrix___RestrictList[] =
+ "|internal/sgimacros.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzIrix___RestrictMachs[] = {
+ "mips-sgi-irix6.5",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zIrix___RestrictSelect0[] =
+ "(#ifdef __c99\n\
+)(#[ \t]*define __restrict restrict)";
+
+#define IRIX___RESTRICT_TEST_CT 1
+static tTestDesc aIrix___RestrictTests[] = {
+ { TT_EGREP, zIrix___RestrictSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Irix___Restrict
+ */
+static const char* apzIrix___RestrictPatch[] = {
+ "format",
+ "%1# ifndef __cplusplus\n\
+%2\n\
+# endif",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Irix_Asm_Apostrophe fix
*/
tSCC zIrix_Asm_ApostropheName[] =
@@ -2387,6 +2657,48 @@ static const char* apzIrix_Limits_ConstPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Irix_Socklen_T fix
+ */
+tSCC zIrix_Socklen_TName[] =
+ "irix_socklen_t";
+
+/*
+ * File name selection pattern
+ */
+tSCC zIrix_Socklen_TList[] =
+ "|sys/socket.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzIrix_Socklen_TMachs[] = {
+ "mips-sgi-irix6.5",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zIrix_Socklen_TSelect0[] =
+ "(#define _SOCKLEN_T\n\
+)(typedef u_int32_t socklen_t;)";
+
+#define IRIX_SOCKLEN_T_TEST_CT 1
+static tTestDesc aIrix_Socklen_TTests[] = {
+ { TT_EGREP, zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Irix_Socklen_T
+ */
+static const char* apzIrix_Socklen_TPatch[] = {
+ "format",
+ "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
+typedef int socklen_t;\n\
+#else\n\
+%2\n\
+#endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Irix_Stdio_Va_List fix
*/
tSCC zIrix_Stdio_Va_ListName[] =
@@ -2422,6 +2734,45 @@ static const char* apzIrix_Stdio_Va_ListPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Irix_Wcsftime fix
+ */
+tSCC zIrix_WcsftimeName[] =
+ "irix_wcsftime";
+
+/*
+ * File name selection pattern
+ */
+tSCC zIrix_WcsftimeList[] =
+ "|internal/wchar_core.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzIrix_WcsftimeMachs[] = {
+ "mips-sgi-irix6.5",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zIrix_WcsftimeSelect0[] =
+ "#if _NO_XOPEN5\n\
+(extern size_t[ \t]+wcsftime.*const char *.*)";
+
+#define IRIX_WCSFTIME_TEST_CT 1
+static tTestDesc aIrix_WcsftimeTests[] = {
+ { TT_EGREP, zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Irix_Wcsftime
+ */
+static const char* apzIrix_WcsftimePatch[] = {
+ "format",
+ "#if _NO_XOPEN5 && !defined(__c99)\n\
+%1",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Isc_Fmod fix
*/
tSCC zIsc_FmodName[] =
@@ -2527,6 +2878,43 @@ static const char* apzKandr_ConcatPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Libc1_G_Va_List fix
+ */
+tSCC zLibc1_G_Va_ListName[] =
+ "libc1_G_va_list";
+
+/*
+ * File name selection pattern
+ */
+tSCC zLibc1_G_Va_ListList[] =
+ "|_G_config.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzLibc1_G_Va_ListMachs[] = {
+ "*-*-linux*libc1",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zLibc1_G_Va_ListSelect0[] =
+ "typedef void \\* _G_va_list;";
+
+#define LIBC1_G_VA_LIST_TEST_CT 1
+static tTestDesc aLibc1_G_Va_ListTests[] = {
+ { TT_EGREP, zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Libc1_G_Va_List
+ */
+static const char* apzLibc1_G_Va_ListPatch[] = {
+ "format",
+ "typedef __builtin_va_list _G_va_list;",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Libc1_Ifdefd_Memx fix
*/
tSCC zLibc1_Ifdefd_MemxName[] =
@@ -2575,43 +2963,6 @@ extern [a-z_]+ mem.*(\n\
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Libc1_G_Va_List fix
- */
-tSCC zLibc1_G_Va_ListName[] =
- "libc1_G_va_list";
-
-/*
- * File name selection pattern
- */
-tSCC zLibc1_G_Va_ListList[] =
- "|_G_config.h|";
-/*
- * Machine/OS name selection pattern
- */
-tSCC* apzLibc1_G_Va_ListMachs[] = {
- "*-*-linux*libc1",
- (const char*)NULL };
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zLibc1_G_Va_ListSelect0[] =
- "typedef void \\* _G_va_list;";
-
-#define LIBC1_G_VA_LIST_TEST_CT 1
-static tTestDesc aLibc1_G_Va_ListTests[] = {
- { TT_EGREP, zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Libc1_G_Va_List
- */
-static const char* apzLibc1_G_Va_ListPatch[] = {
- "format",
- "typedef __builtin_va_list _G_va_list;",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
* Description of Limits_Ifndefs fix
*/
tSCC zLimits_IfndefsName[] =
@@ -2631,7 +2982,7 @@ tSCC zLimits_IfndefsList[] =
* content bypass pattern - skip fix if pattern found
*/
tSCC zLimits_IfndefsBypass0[] =
- "ifndef[ \t]+FLT_MIN";
+ "ifndef[ \t]+FLT_(MIN|MAX)";
#define LIMITS_IFNDEFS_TEST_CT 1
static tTestDesc aLimits_IfndefsTests[] = {
@@ -3728,35 +4079,70 @@ static const char* apzSco_UtimePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Solaris_Mutex_Init fix
+ * Description of Solaris_Mutex_Init_1 fix
*/
-tSCC zSolaris_Mutex_InitName[] =
- "solaris_mutex_init";
+tSCC zSolaris_Mutex_Init_1Name[] =
+ "solaris_mutex_init_1";
/*
* File name selection pattern
*/
-tSCC zSolaris_Mutex_InitList[] =
+tSCC zSolaris_Mutex_Init_1List[] =
"|pthread.h|";
/*
* Machine/OS name selection pattern
*/
-#define apzSolaris_Mutex_InitMachs (const char**)NULL
+#define apzSolaris_Mutex_Init_1Machs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zSolaris_Mutex_InitSelect0[] =
+tSCC zSolaris_Mutex_Init_1Select0[] =
+ "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
+
+#define SOLARIS_MUTEX_INIT_1_TEST_CT 1
+static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
+ { TT_EGREP, zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Solaris_Mutex_Init_1
+ */
+static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
+ "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
+/define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Solaris_Mutex_Init_2 fix
+ */
+tSCC zSolaris_Mutex_Init_2Name[] =
+ "solaris_mutex_init_2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSolaris_Mutex_Init_2List[] =
+ "|pthread.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzSolaris_Mutex_Init_2Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSolaris_Mutex_Init_2Select0[] =
"@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-#define SOLARIS_MUTEX_INIT_TEST_CT 1
-static tTestDesc aSolaris_Mutex_InitTests[] = {
- { TT_EGREP, zSolaris_Mutex_InitSelect0, (regex_t*)NULL }, };
+#define SOLARIS_MUTEX_INIT_2_TEST_CT 1
+static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
+ { TT_EGREP, zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
/*
- * Fix Command Arguments for Solaris_Mutex_Init
+ * Fix Command Arguments for Solaris_Mutex_Init_2
*/
-static const char* apzSolaris_Mutex_InitPatch[] = {
+static const char* apzSolaris_Mutex_Init_2Patch[] = {
"format",
"#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
%0\n\
@@ -5782,9 +6168,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
-#define REGEX_COUNT 155
+#define REGEX_COUNT 167
#define MACH_LIST_SIZE_LIMIT 279
-#define FIX_COUNT 148
+#define FIX_COUNT 157
/*
* Enumerate the fixes
@@ -5806,6 +6192,7 @@ typedef enum {
AIX_SYSWAIT_FIXIDX,
AIX_VOLATILE_FIXIDX,
ALPHA___ASSERT_FIXIDX,
+ ALPHA___EXTERN_PREFIX_FIXIDX,
ALPHA_ASSERT_FIXIDX,
ALPHA_GETOPT_FIXIDX,
ALPHA_PARENS_FIXIDX,
@@ -5835,26 +6222,33 @@ typedef enum {
HP_SYSFILE_FIXIDX,
HPUX10_CPP_POW_INLINE_FIXIDX,
HPUX11_CPP_POW_INLINE_FIXIDX,
- HPUX11_FABSF_FIXIDX,
+ HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
+ HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
HPUX11_ABS_FIXIDX,
+ HPUX11_FABSF_FIXIDX,
HPUX11_SIZE_T_FIXIDX,
HPUX11_UINT32_C_FIXIDX,
HPUX11_VSNPRINTF_FIXIDX,
HPUX8_BOGUS_INLINES_FIXIDX,
+ HPUX_CTYPE_MACROS_FIXIDX,
+ HPUX_LONG_DOUBLE_FIXIDX,
HPUX_MAXINT_FIXIDX,
HPUX_SYSTIME_FIXIDX,
INT_ABORT_FREE_AND_EXIT_FIXIDX,
IO_QUOTES_DEF_FIXIDX,
IO_QUOTES_USE_FIXIDX,
IP_MISSING_SEMI_FIXIDX,
+ IRIX___RESTRICT_FIXIDX,
IRIX_ASM_APOSTROPHE_FIXIDX,
IRIX_LIMITS_CONST_FIXIDX,
+ IRIX_SOCKLEN_T_FIXIDX,
IRIX_STDIO_VA_LIST_FIXIDX,
+ IRIX_WCSFTIME_FIXIDX,
ISC_FMOD_FIXIDX,
ISC_OMITS_WITH_STDC_FIXIDX,
KANDR_CONCAT_FIXIDX,
- LIBC1_IFDEFD_MEMX_FIXIDX,
LIBC1_G_VA_LIST_FIXIDX,
+ LIBC1_IFDEFD_MEMX_FIXIDX,
LIMITS_IFNDEFS_FIXIDX,
LYNX_VOID_INT_FIXIDX,
LYNXOS_FCNTL_PROTO_FIXIDX,
@@ -5884,7 +6278,8 @@ typedef enum {
RS6000_PARAM_FIXIDX,
SCO_STATIC_FUNC_FIXIDX,
SCO_UTIME_FIXIDX,
- SOLARIS_MUTEX_INIT_FIXIDX,
+ SOLARIS_MUTEX_INIT_1_FIXIDX,
+ SOLARIS_MUTEX_INIT_2_FIXIDX,
SOLARIS_STDIO_TAG_FIXIDX,
SOLARIS_WIDEC_FIXIDX,
STATSSWTCH_FIXIDX,
@@ -6021,6 +6416,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
+ { zAlpha___Extern_PrefixName, zAlpha___Extern_PrefixList,
+ apzAlpha___Extern_PrefixMachs,
+ ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aAlpha___Extern_PrefixTests, apzAlpha___Extern_PrefixPatch, 0 },
+
{ zAlpha_AssertName, zAlpha_AssertList,
apzAlpha_AssertMachs,
ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6166,16 +6566,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
- { zHpux11_FabsfName, zHpux11_FabsfList,
- apzHpux11_FabsfMachs,
- HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
+ { zHpux10_Ctype_Declarations1Name, zHpux10_Ctype_Declarations1List,
+ apzHpux10_Ctype_Declarations1Machs,
+ HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux10_Ctype_Declarations1Tests, apzHpux10_Ctype_Declarations1Patch, 0 },
+
+ { zHpux10_Ctype_Declarations2Name, zHpux10_Ctype_Declarations2List,
+ apzHpux10_Ctype_Declarations2Machs,
+ HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux10_Ctype_Declarations2Tests, apzHpux10_Ctype_Declarations2Patch, 0 },
{ zHpux11_AbsName, zHpux11_AbsList,
apzHpux11_AbsMachs,
HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux11_AbsTests, apzHpux11_AbsPatch, 0 },
+ { zHpux11_FabsfName, zHpux11_FabsfList,
+ apzHpux11_FabsfMachs,
+ HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
+
{ zHpux11_Size_TName, zHpux11_Size_TList,
apzHpux11_Size_TMachs,
HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6196,6 +6606,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
+ { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList,
+ apzHpux_Ctype_MacrosMachs,
+ HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 },
+
+ { zHpux_Long_DoubleName, zHpux_Long_DoubleList,
+ apzHpux_Long_DoubleMachs,
+ HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
+ aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 },
+
{ zHpux_MaxintName, zHpux_MaxintList,
apzHpux_MaxintMachs,
HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6226,6 +6646,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
+ { zIrix___RestrictName, zIrix___RestrictList,
+ apzIrix___RestrictMachs,
+ IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aIrix___RestrictTests, apzIrix___RestrictPatch, 0 },
+
{ zIrix_Asm_ApostropheName, zIrix_Asm_ApostropheList,
apzIrix_Asm_ApostropheMachs,
IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6236,11 +6661,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
+ { zIrix_Socklen_TName, zIrix_Socklen_TList,
+ apzIrix_Socklen_TMachs,
+ IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aIrix_Socklen_TTests, apzIrix_Socklen_TPatch, 0 },
+
{ zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
apzIrix_Stdio_Va_ListMachs,
IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
+ { zIrix_WcsftimeName, zIrix_WcsftimeList,
+ apzIrix_WcsftimeMachs,
+ IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aIrix_WcsftimeTests, apzIrix_WcsftimePatch, 0 },
+
{ zIsc_FmodName, zIsc_FmodList,
apzIsc_FmodMachs,
ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6256,16 +6691,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
- { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList,
- apzLibc1_Ifdefd_MemxMachs,
- LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
-
{ zLibc1_G_Va_ListName, zLibc1_G_Va_ListList,
apzLibc1_G_Va_ListMachs,
LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aLibc1_G_Va_ListTests, apzLibc1_G_Va_ListPatch, 0 },
+ { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList,
+ apzLibc1_Ifdefd_MemxMachs,
+ LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
+
{ zLimits_IfndefsName, zLimits_IfndefsList,
apzLimits_IfndefsMachs,
LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -6411,10 +6846,15 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSco_UtimeTests, apzSco_UtimePatch, 0 },
- { zSolaris_Mutex_InitName, zSolaris_Mutex_InitList,
- apzSolaris_Mutex_InitMachs,
- SOLARIS_MUTEX_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aSolaris_Mutex_InitTests, apzSolaris_Mutex_InitPatch, 0 },
+ { zSolaris_Mutex_Init_1Name, zSolaris_Mutex_Init_1List,
+ apzSolaris_Mutex_Init_1Machs,
+ SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
+ aSolaris_Mutex_Init_1Tests, apzSolaris_Mutex_Init_1Patch, 0 },
+
+ { zSolaris_Mutex_Init_2Name, zSolaris_Mutex_Init_2List,
+ apzSolaris_Mutex_Init_2Machs,
+ SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 },
{ zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
apzSolaris_Stdio_TagMachs,
diff --git a/gcc/fixinc/gnu-regex.c b/gcc/fixinc/gnu-regex.c
index 7468cad5269..790f87e4c44 100644
--- a/gcc/fixinc/gnu-regex.c
+++ b/gcc/fixinc/gnu-regex.c
@@ -5720,7 +5720,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
if (msg_size > errbuf_size)
{
#if defined HAVE_MEMPCPY || defined _LIBC
- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
+ *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
#else
memcpy (errbuf, msg, errbuf_size - 1);
errbuf[errbuf_size - 1] = 0;
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index f332965da06..0fcd6f4df4d 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -109,7 +109,7 @@ fix = {
* the wrapper, this will follow the #include_next chain until
* we arrive at the real <asm/posix_types.h>.
*/
- replace = <<- _EOF_
+ replace = <<- _EndOfHeader_
/* This file fixes a bug in the __FD_ZERO macro
for older versions of the Linux kernel. */
#ifndef _POSIX_TYPES_H_WRAPPER
@@ -130,7 +130,7 @@ fix = {
#define _POSIX_TYPES_H_WRAPPER
#endif /* _POSIX_TYPES_H_WRAPPER */
- _EOF_;
+ _EndOfHeader_;
};
@@ -599,6 +599,22 @@ fix = {
/*
+ * Obey __PRAGMA_EXTERN_PREFIX for Tru64 UNIX V5 <sys/stat.h>.
+ */
+fix = {
+ hackname = alpha___extern_prefix;
+ files = sys/stat.h;
+ select = "#[ \t]*if[ \t]*defined\\(__DECC\\)";
+
+ mach = "alpha*-dec-osf5*";
+ c_fix = format;
+ c_fix_arg = "%0 || defined(__PRAGMA_EXTERN_PREFIX)";
+
+ test_text = "# if defined(__DECC)";
+};
+
+
+/*
* Fix assert macro in assert.h on Alpha OSF/1.
* The superfluous int cast breaks C++.
*/
@@ -726,6 +742,7 @@ fix = {
test_text = "# define bool\t char \n";
};
+
fix = {
hackname = avoid_bool_type;
files = curses.h;
@@ -742,6 +759,7 @@ fix = {
test_text = "typedef unsigned int\tbool \t; /* bool\n type */";
};
+
/*
* For C++, avoid any typedef definition of wchar_t,
* and use the built in type instead.
@@ -758,6 +776,7 @@ fix = {
test_text = "typedef unsigned short\twchar_t \t; /* wchar_t\n type */";
};
+
/*
* Fix #defines under Alpha OSF/1:
* The following files contain '#pragma extern_prefix "_FOO"' followed by
@@ -988,6 +1007,7 @@ fix = {
"extern __DJ_wint_t x;\n";
};
+
/*
* Fix these Sun OS files to avoid an invalid identifier in an #ifdef.
*/
@@ -1142,6 +1162,69 @@ fix = {
/*
+ * Fix hpux 10.X missing ctype declarations 1
+ */
+fix = {
+ hackname = hpux10_ctype_declarations1;
+ files = ctype.h;
+ select = "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
+ bypass = "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
+ c_fix = format;
+ c_fix_arg = "#ifdef _PROTOTYPES\n"
+ "extern int __tolower(int);\n"
+ "extern int __toupper(int);\n"
+ "#else /* NOT _PROTOTYPES */\n"
+ "extern int __tolower();\n"
+ "extern int __toupper();\n"
+ "#endif /* _PROTOTYPES */\n\n"
+ "%0\n";
+
+ test_text = "# define _toupper(__c) __toupper(__c)\n";
+};
+
+
+/*
+ * Fix hpux 10.X missing ctype declarations 2
+ */
+fix = {
+ hackname = hpux10_ctype_declarations2;
+ files = ctype.h;
+ select = "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
+ bypass = "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
+ c_fix = format;
+ c_fix_arg = "%0\n\n"
+ "#ifdef _PROTOTYPES\n"
+ " extern int _isalnum(int);\n"
+ " extern int _isalpha(int);\n"
+ " extern int _iscntrl(int);\n"
+ " extern int _isdigit(int);\n"
+ " extern int _isgraph(int);\n"
+ " extern int _islower(int);\n"
+ " extern int _isprint(int);\n"
+ " extern int _ispunct(int);\n"
+ " extern int _isspace(int);\n"
+ " extern int _isupper(int);\n"
+ " extern int _isxdigit(int);\n"
+ "# else /* not _PROTOTYPES */\n"
+ " extern int _isalnum();\n"
+ " extern int _isalpha();\n"
+ " extern int _iscntrl();\n"
+ " extern int _isdigit();\n"
+ " extern int _isgraph();\n"
+ " extern int _islower();\n"
+ " extern int _isprint();\n"
+ " extern int _ispunct();\n"
+ " extern int _isspace();\n"
+ " extern int _isupper();\n"
+ " extern int _isxdigit();\n"
+ "#endif /* _PROTOTYPES */\n";
+
+ test_text = "# if defined(_SB_CTYPE_MACROS) && !defined(__lint)\n"
+ " extern unsigned int *__SB_masks;\n";
+};
+
+
+/*
* Make sure hpux defines abs in header.
*/
fix = {
@@ -1256,6 +1339,43 @@ fix = {
/*
+ * Fix hpux broken ctype macros
+ */
+fix = {
+ hackname = hpux_ctype_macros;
+ files = ctype.h;
+ select = '((: |\()__SB_masks \? )'
+ '(__SB_masks\[__(alnum|c)\] & _IS)';
+ c_fix = format;
+ c_fix_arg = "%1(int)%3";
+
+ test_text = ": __SB_masks ? __SB_masks[__alnum] & _ISCNTRL\n"
+ "# define isalpha(__c) (__SB_masks ? __SB_masks[__c] & _IS\n";
+};
+
+
+/*
+ * HP-UX long_double
+ */
+fix = {
+ hackname = hpux_long_double;
+ files = stdlib.h;
+ select = "extern[ \t]long_double[ \t]strtold";
+ bypass = "long_double_t";
+ sed = "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D";
+ sed = "s/long_double/long double/g";
+
+ test_text = "# ifndef _LONG_DOUBLE\n"
+ "# define _LONG_DOUBLE\n"
+ " typedef struct {\n"
+ " unsigned int word1, word2, word3, word4;\n"
+ " } long_double;\n"
+ "# endif /* _LONG_DOUBLE */\n"
+ "extern long_double strtold(const char *, char **);\n";
+};
+
+
+/*
* HPUX 10.x sys/param.h defines MAXINT which clashes with values.h
*/
fix = {
@@ -1367,6 +1487,24 @@ fix = {
/*
+ * IRIX 6.5.1[89] <internal/sgimacros.h> unconditionally defines
+ * __restrict as restrict iff __c99. This is wrong for C++, which
+ * needs many C99 features, but only supports __restrict.
+ */
+fix = {
+ hackname = irix___restrict;
+ files = internal/sgimacros.h;
+ select = "(#ifdef __c99\n)(#[ \t]*define __restrict restrict)";
+
+ mach = "mips-sgi-irix6.5";
+ c_fix = format;
+ c_fix_arg = "%1"
+ "# ifndef __cplusplus\n%2\n# endif";
+
+ test_text = "#ifdef __c99\n# define __restrict restrict";
+};
+
+/*
* IRIX 5.2's <sys/asm.h> contains an asm comment with a contraction
* that causes the assembly preprocessor to complain about an
* unterminated character constant.
@@ -1397,6 +1535,30 @@ fix = {
/*
+ * IRIX 6.5.1[78] <sys/socket.h> has a broken definition of socklen_t.
+ * Various socket function prototypes use different types instead,
+ * depending on the API in use (BSD, XPG4/5), but the socklen_t
+ * definition doesn't reflect this (SGI Bug Id 864477, fixed in
+ * IRIX 6.5.19).
+ */
+fix = {
+ hackname = irix_socklen_t;
+ files = sys/socket.h;
+ select = "(#define _SOCKLEN_T\n)(typedef u_int32_t socklen_t;)";
+
+ mach = "mips-sgi-irix6.5";
+ c_fix = format;
+ c_fix_arg = "%1"
+ "#if _NO_XOPEN4 && _NO_XOPEN5\n"
+ "typedef int socklen_t;\n"
+ "#else\n"
+ "%2\n"
+ "#endif /* _NO_XOPEN4 && _NO_XOPEN5 */";
+
+ test_text = "#define _SOCKLEN_T\ntypedef u_int32_t socklen_t;";
+};
+
+/*
* IRIX 5.x's stdio.h declares some functions that take a va_list as
* taking char *. However, GCC uses void * for va_list, so
* calling vfprintf with a va_list fails in C++. */
@@ -1413,6 +1575,23 @@ fix = {
/*
+ * IRIX 6.5.19 <internal/wchar_core.h> provides the XPG4 variant of
+ * wcsftime by default. ISO C99 requires the XPG5 variant instead.
+ */
+fix = {
+ hackname = irix_wcsftime;
+ files = internal/wchar_core.h;
+ select = "#if _NO_XOPEN5\n(extern size_t[ \t]+wcsftime.*const char \*.*)";
+
+ mach = "mips-sgi-irix6.5";
+ c_fix = format;
+ c_fix_arg = "#if _NO_XOPEN5 && !defined(__c99)\n%1";
+
+ test_text = "#if _NO_XOPEN5\n"
+ "extern size_t wcsftime(wchar_t *, __SGI_LIBC_NAMESPACE_QUALIFIER size_t, const char *, const struct tm *);";
+};
+
+/*
* Fixing ISC fmod declaration
*/
fix = {
@@ -1538,12 +1717,16 @@ fix = {
* comment. Fortunately, HP/UX already uses #ifndefs in limits.h; if
* we find a #ifndef FLT_MIN we assume that all the required #ifndefs
* are there, and we do not add them ourselves.
+ *
+ * QNX Software Systems also guards the defines, but doesn't define
+ * FLT_MIN. Therefore, bypass the fix for *either* guarded FLT_MIN
+ * or guarded FLT_MAX.
*/
fix = {
hackname = limits_ifndefs;
files = "sys/limits.h";
files = "limits.h";
- bypass = "ifndef[ \t]+FLT_MIN";
+ bypass = "ifndef[ \t]+FLT_(MIN|MAX)";
c_fix = format;
c_fix_arg = "#ifndef %1\n%0\n#endif";
@@ -1805,6 +1988,7 @@ fix = {
"#define OPEN_MAX 20 /* Max, Max, ... */\n";
};
+
/*
* fix bogus recursive stdlib.h in NEWS-OS 4.0C
*/
@@ -2046,7 +2230,7 @@ fix = {
"#ifdef __STDC__\n"
"static int\tstat(const char *__f, struct stat *__p) {\n"
"\treturn __stat32(__f, __p);\n"
- "}\n\n# else /* !__STDC__ */\n"
+ "}\n\n# else /* !__STDC__ THIS FAILS ON BSD SYSTEMS */\n"
"static int\tstat(__f, __p)\n"
"\tchar *__f;\n"
@@ -2076,6 +2260,26 @@ fix = {
/*
+ * Sun Solaris 2.5.1, 2.6 defines PTHREAD_{MUTEX|COND}_INITIALIZER
+ * incorrectly, so we replace them with versions that correspond to
+ * the definition. We also explicitly name this fix "1" and the next
+ * fix "2" because this one does not deal with the last field. This
+ * fix needs to run before the next.
+ */
+fix = {
+ hackname = solaris_mutex_init_1;
+ select = '@\(#\)pthread.h' "[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
+ files = pthread.h;
+ sed = "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n"
+ "/define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/";
+ test_text =
+ '#ident "@(#)pthread.h 1.16 97/05/05 SMI"'"\n"
+ "#define PTHREAD_MUTEX_INITIALIZER\t{0, 0, 0}\n"
+ "#define PTHREAD_COND_INITIALIZER\t{0, 0} /* */\n";
+};
+
+
+/*
* Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing
* "0" for the last field of the pthread_mutex_t structure, which is
* of type upad64_t, which itself is typedef'd to int64_t, but with
@@ -2083,7 +2287,7 @@ fix = {
* initializer to "{0}" instead
*/
fix = {
- hackname = solaris_mutex_init;
+ hackname = solaris_mutex_init_2;
select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
files = pthread.h;
c_fix = format;
@@ -2135,35 +2339,6 @@ fix = {
test_text = "#include <euc.h>";
};
-/*
- * Sony NEWSOS 5.0 does not support the complete ANSI C standard.
- */
-#ifdef SONY
-fix = {
- hackname = sony_ctype;
- files = ctype.h;
- test = " -x /bin/sony";
- test = " ! -z \"`if /bin/sony ; then echo true ; fi`\"";
- sed = "s/__ctype/_ctype/g";
-};
-#endif
-
-
-/*
- * Sony NEWSOS 5.0 does not support the complete ANSI C standard.
- */
-#ifdef SONY
-fix = {
- hackname = sony_stdio;
- files = stdio.h;
- test = " -x /bin/sony";
- test = " ! -z \"`if /bin/sony ; then echo true ; fi`\"";
- sed = "s/__filbuf/_filbuf/g\n"
- "s/__flsbuf/_flsbuf/g\n"
- "s/__iob/_iob/g";
-};
-#endif
-
/*
* Add a `static' declaration of `getrnge' into <regexp.h>.
@@ -2684,8 +2859,8 @@ fix = {
fix = {
hackname = svr4_mach_defines;
files = ieeefp.h;
- select = "#define[ \t]*__(i386|i860|mips|sparc|m88k|m68k)[ \t]";
- sed = "/#define[ \t]*__\\(i386|i860|mips|sparc|m88k|m68k\\)[ \t]/d";
+ select = "#define[ \t]*__(i386|mips|sparc|m88k|m68k)[ \t]";
+ sed = "/#define[ \t]*__\\(i386|mips|sparc|m88k|m68k\\)[ \t]/d";
};
#endif
@@ -3111,7 +3286,7 @@ fix = {
test_text =
"@(#)stat.h 6.1 (ULTRIX)\n"
"#define S_IFPORT S_IFIFO\n"
- "\tfstat(),\n";
+ "\tfstat(),\n/* THE INSERTION LINE FAILS ON BSD SYSTEMS */";
};
@@ -3444,7 +3619,7 @@ fix = {
sed = "s/Widget new,/Widget c_new,/g";
test_text =
"struct wedge {\n"
- " Widget\told, new; /* fix the new */\n"
+ " Widget\told, new; /* fixinc check FAILS ON BSD */\n"
"};\nextern Wedged( Widget new, Widget old );";
};
diff --git a/gcc/fixinc/tests/base/Xm/Traversal.h b/gcc/fixinc/tests/base/Xm/Traversal.h
index 6ca893e3c3a..61e6df1164e 100644
--- a/gcc/fixinc/tests/base/Xm/Traversal.h
+++ b/gcc/fixinc/tests/base/Xm/Traversal.h
@@ -14,7 +14,7 @@ struct wedge {
#ifdef __cplusplus
Widget old, c_new;
#else
- Widget old, new; /* fix the new */
+ Widget old, new; /* fixinc check FAILS ON BSD */
#endif
};
extern Wedged( Widget c_new, Widget old );
diff --git a/gcc/fixinc/tests/base/assert.h b/gcc/fixinc/tests/base/assert.h
index 5140e892e3c..2642cbe49c4 100644
--- a/gcc/fixinc/tests/base/assert.h
+++ b/gcc/fixinc/tests/base/assert.h
@@ -7,14 +7,14 @@
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#ifndef FIXINC_BROKEN_ASSERT_STDLIB_CHECK
-#define FIXINC_BROKEN_ASSERT_STDLIB_CHECK 1
+#ifndef FIXINC_WRAP_ASSERT_H_BROKEN_ASSERT_STDLIB
+#define FIXINC_WRAP_ASSERT_H_BROKEN_ASSERT_STDLIB 1
#ifdef __cplusplus
#include <stdlib.h>
#endif
-#ifndef FIXINC_BROKEN_ASSERT_STDIO_CHECK
-#define FIXINC_BROKEN_ASSERT_STDIO_CHECK 1
+#ifndef FIXINC_WRAP_ASSERT_H_BROKEN_ASSERT_STDIO
+#define FIXINC_WRAP_ASSERT_H_BROKEN_ASSERT_STDIO 1
#include <stdio.h>
@@ -38,6 +38,6 @@ extern FILE* stderr;
extern void exit ( int );
#endif /* BROKEN_ASSERT_STDLIB_CHECK */
-#endif /* FIXINC_BROKEN_ASSERT_STDIO_CHECK */
+#endif /* FIXINC_WRAP_ASSERT_H_BROKEN_ASSERT_STDIO */
-#endif /* FIXINC_BROKEN_ASSERT_STDLIB_CHECK */
+#endif /* FIXINC_WRAP_ASSERT_H_BROKEN_ASSERT_STDLIB */
diff --git a/gcc/fixinc/tests/base/ctype.h b/gcc/fixinc/tests/base/ctype.h
new file mode 100644
index 00000000000..deabd5e4473
--- /dev/null
+++ b/gcc/fixinc/tests/base/ctype.h
@@ -0,0 +1,65 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/ctype.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( HPUX10_CTYPE_DECLARATIONS1_CHECK )
+#ifdef _PROTOTYPES
+extern int __tolower(int);
+extern int __toupper(int);
+#else /* NOT _PROTOTYPES */
+extern int __tolower();
+extern int __toupper();
+#endif /* _PROTOTYPES */
+
+# define _toupper(__c) __toupper(__c)
+
+
+#endif /* HPUX10_CTYPE_DECLARATIONS1_CHECK */
+
+
+#if defined( HPUX10_CTYPE_DECLARATIONS2_CHECK )
+# if defined(_SB_CTYPE_MACROS) && !defined(__lint)
+
+#ifdef _PROTOTYPES
+ extern int _isalnum(int);
+ extern int _isalpha(int);
+ extern int _iscntrl(int);
+ extern int _isdigit(int);
+ extern int _isgraph(int);
+ extern int _islower(int);
+ extern int _isprint(int);
+ extern int _ispunct(int);
+ extern int _isspace(int);
+ extern int _isupper(int);
+ extern int _isxdigit(int);
+# else /* not _PROTOTYPES */
+ extern int _isalnum();
+ extern int _isalpha();
+ extern int _iscntrl();
+ extern int _isdigit();
+ extern int _isgraph();
+ extern int _islower();
+ extern int _isprint();
+ extern int _ispunct();
+ extern int _isspace();
+ extern int _isupper();
+ extern int _isxdigit();
+#endif /* _PROTOTYPES */
+
+ extern unsigned int *__SB_masks;
+
+#endif /* HPUX10_CTYPE_DECLARATIONS2_CHECK */
+
+
+#if defined( HPUX_CTYPE_MACROS_CHECK )
+: __SB_masks ? (int)__SB_masks[__alnum] & _ISCNTRL
+# define isalpha(__c) (__SB_masks ? (int)__SB_masks[__c] & _IS
+
+#endif /* HPUX_CTYPE_MACROS_CHECK */
diff --git a/gcc/fixinc/tests/base/internal/sgimacros.h b/gcc/fixinc/tests/base/internal/sgimacros.h
new file mode 100644
index 00000000000..a491e865af7
--- /dev/null
+++ b/gcc/fixinc/tests/base/internal/sgimacros.h
@@ -0,0 +1,17 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/internal/sgimacros.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( IRIX___RESTRICT_CHECK )
+#ifdef __c99
+# ifndef __cplusplus
+# define __restrict restrict
+# endif
+#endif /* IRIX___RESTRICT_CHECK */
diff --git a/gcc/fixinc/tests/base/internal/wchar_core.h b/gcc/fixinc/tests/base/internal/wchar_core.h
new file mode 100644
index 00000000000..5b358a32213
--- /dev/null
+++ b/gcc/fixinc/tests/base/internal/wchar_core.h
@@ -0,0 +1,15 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/internal/wchar_core.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( IRIX_WCSFTIME_CHECK )
+#if _NO_XOPEN5 && !defined(__c99)
+extern size_t wcsftime(wchar_t *, __SGI_LIBC_NAMESPACE_QUALIFIER size_t, const char *, const struct tm *);
+#endif /* IRIX_WCSFTIME_CHECK */
diff --git a/gcc/fixinc/tests/base/math.h b/gcc/fixinc/tests/base/math.h
index 4d9907c3910..22d52d1b72c 100644
--- a/gcc/fixinc/tests/base/math.h
+++ b/gcc/fixinc/tests/base/math.h
@@ -7,12 +7,12 @@
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#ifndef FIXINC_SUNOS_MATHERR_DECL_CHECK
-#define FIXINC_SUNOS_MATHERR_DECL_CHECK 1
+#ifndef FIXINC_WRAP_MATH_H_SUNOS_MATHERR_DECL
+#define FIXINC_WRAP_MATH_H_SUNOS_MATHERR_DECL 1
struct exception;
-#ifndef FIXINC_MATH_EXCEPTION_CHECK
-#define FIXINC_MATH_EXCEPTION_CHECK 1
+#ifndef FIXINC_WRAP_MATH_H_MATH_EXCEPTION
+#define FIXINC_WRAP_MATH_H_MATH_EXCEPTION 1
#ifdef __cplusplus
#define exception __math_exception
@@ -144,6 +144,6 @@ extern double atof(const char *__nptr);
#undef exception
#endif
-#endif /* FIXINC_MATH_EXCEPTION_CHECK */
+#endif /* FIXINC_WRAP_MATH_H_MATH_EXCEPTION */
-#endif /* FIXINC_SUNOS_MATHERR_DECL_CHECK */
+#endif /* FIXINC_WRAP_MATH_H_SUNOS_MATHERR_DECL */
diff --git a/gcc/fixinc/tests/base/pthread.h b/gcc/fixinc/tests/base/pthread.h
index 0b2afc7867f..ec7ff351f45 100644
--- a/gcc/fixinc/tests/base/pthread.h
+++ b/gcc/fixinc/tests/base/pthread.h
@@ -20,7 +20,23 @@ extern int __page_size;
#endif /* PTHREAD_PAGE_SIZE_CHECK */
-#if defined( SOLARIS_MUTEX_INIT_CHECK )
+#if defined( SOLARIS_MUTEX_INIT_1_CHECK )
+#ident "@(#)pthread.h 1.16 97/05/05 SMI"
+#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
+#define PTHREAD_MUTEX_INITIALIZER {{{0}, 0}, {{{0}}}, 0}
+#else
+#define PTHREAD_MUTEX_INITIALIZER {{{0}, 0}, {{{0}}}, {0}}
+#endif
+#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
+#define PTHREAD_COND_INITIALIZER {{{0},0}, 0} /* */
+#else
+#define PTHREAD_COND_INITIALIZER {{{0},0}, {0}} /* */
+#endif
+
+#endif /* SOLARIS_MUTEX_INIT_1_CHECK */
+
+
+#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, 0}
@@ -33,7 +49,7 @@ extern int __page_size;
#define PTHREAD_COND_INITIALIZER {{{0}, 0}, {0}} /* DEFAULTCV */
#endif
#define PTHREAD_RWLOCK_INITIALIZER {0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}
-#endif /* SOLARIS_MUTEX_INIT_CHECK */
+#endif /* SOLARIS_MUTEX_INIT_2_CHECK */
#if defined( THREAD_KEYWORD_CHECK )
diff --git a/gcc/fixinc/tests/base/stdio.h b/gcc/fixinc/tests/base/stdio.h
index 00d3c836ff4..bfa929fb666 100644
--- a/gcc/fixinc/tests/base/stdio.h
+++ b/gcc/fixinc/tests/base/stdio.h
@@ -7,8 +7,8 @@
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#ifndef FIXINC_STDIO_STDARG_H_CHECK
-#define FIXINC_STDIO_STDARG_H_CHECK 1
+#ifndef FIXINC_WRAP_STDIO_H_STDIO_STDARG_H
+#define FIXINC_WRAP_STDIO_H_STDIO_STDARG_H 1
#define __need___va_list
#include <stdarg.h>
@@ -80,4 +80,4 @@ extern char *tempnam( const char *, const char *);
void f (char * __restrict__ x);
#endif /* UNICOSMK_RESTRICT_CHECK */
-#endif /* FIXINC_STDIO_STDARG_H_CHECK */
+#endif /* FIXINC_WRAP_STDIO_H_STDIO_STDARG_H */
diff --git a/gcc/fixinc/tests/base/stdlib.h b/gcc/fixinc/tests/base/stdlib.h
index 857989cb9cb..441e1ae06ab 100644
--- a/gcc/fixinc/tests/base/stdlib.h
+++ b/gcc/fixinc/tests/base/stdlib.h
@@ -21,6 +21,12 @@
#endif /* HPUX11_ABS_CHECK */
+#if defined( HPUX_LONG_DOUBLE_CHECK )
+extern long double strtold(const char *, char **);
+
+#endif /* HPUX_LONG_DOUBLE_CHECK */
+
+
#if defined( INT_ABORT_FREE_AND_EXIT_CHECK )
extern void abort(int);
extern void free(void*);
diff --git a/gcc/fixinc/tests/base/strings.h b/gcc/fixinc/tests/base/strings.h
index 23f0d00e1ab..36ca0b4c0f1 100644
--- a/gcc/fixinc/tests/base/strings.h
+++ b/gcc/fixinc/tests/base/strings.h
@@ -7,8 +7,8 @@
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#ifndef FIXINC_ULTRIX_STRINGS_CHECK
-#define FIXINC_ULTRIX_STRINGS_CHECK 1
+#ifndef FIXINC_WRAP_STRINGS_H_ULTRIX_STRINGS
+#define FIXINC_WRAP_STRINGS_H_ULTRIX_STRINGS 1
@@ -22,4 +22,4 @@
#endif /* ULTRIX_STRINGS_CHECK */
-#endif /* FIXINC_ULTRIX_STRINGS_CHECK */
+#endif /* FIXINC_WRAP_STRINGS_H_ULTRIX_STRINGS */
diff --git a/gcc/fixinc/tests/base/sys/mman.h b/gcc/fixinc/tests/base/sys/mman.h
index 90b10f43b29..8fa2fb18c2a 100644
--- a/gcc/fixinc/tests/base/sys/mman.h
+++ b/gcc/fixinc/tests/base/sys/mman.h
@@ -7,8 +7,8 @@
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#ifndef FIXINC_CXX_UNREADY_CHECK
-#define FIXINC_CXX_UNREADY_CHECK 1
+#ifndef FIXINC_WRAP_SYS_MMAN_H_CXX_UNREADY
+#define FIXINC_WRAP_SYS_MMAN_H_CXX_UNREADY 1
#ifdef __cplusplus
extern "C" {
@@ -22,4 +22,4 @@ extern void* malloc( size_t );
}
#endif
-#endif /* FIXINC_CXX_UNREADY_CHECK */
+#endif /* FIXINC_WRAP_SYS_MMAN_H_CXX_UNREADY */
diff --git a/gcc/fixinc/tests/base/sys/socket.h b/gcc/fixinc/tests/base/sys/socket.h
new file mode 100644
index 00000000000..56099a92002
--- /dev/null
+++ b/gcc/fixinc/tests/base/sys/socket.h
@@ -0,0 +1,19 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/sys/socket.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( IRIX_SOCKLEN_T_CHECK )
+#define _SOCKLEN_T
+#if _NO_XOPEN4 && _NO_XOPEN5
+typedef int socklen_t;
+#else
+typedef u_int32_t socklen_t;
+#endif /* _NO_XOPEN4 && _NO_XOPEN5 */
+#endif /* IRIX_SOCKLEN_T_CHECK */
diff --git a/gcc/fixinc/tests/base/sys/stat.h b/gcc/fixinc/tests/base/sys/stat.h
index 46a4623cd27..9646f8c4bae 100644
--- a/gcc/fixinc/tests/base/sys/stat.h
+++ b/gcc/fixinc/tests/base/sys/stat.h
@@ -9,6 +9,11 @@
+#if defined( ALPHA___EXTERN_PREFIX_CHECK )
+# if defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX)
+#endif /* ALPHA___EXTERN_PREFIX_CHECK */
+
+
#if defined( M88K_BAD_S_IF_CHECK )
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) /* is regular? */
#endif /* M88K_BAD_S_IF_CHECK */
@@ -31,7 +36,7 @@ static int stat(const char *__f, struct stat *__p) {
}
#endif /* __cplusplus */
-# else /* !__STDC__ */
+# else /* !__STDC__ THIS FAILS ON BSD SYSTEMS */
#if __cplusplus
extern "C" {
#endif /* __cplusplus */
@@ -57,7 +62,7 @@ static int stat(__f, __p)
fstat(),
lstat(),
-
+/* THE INSERTION LINE FAILS ON BSD SYSTEMS */
#endif /* ULTRIX_STAT_CHECK */
diff --git a/gcc/fixinc/tests/base/time.h b/gcc/fixinc/tests/base/time.h
index 100992442b7..fb6e27dc163 100644
--- a/gcc/fixinc/tests/base/time.h
+++ b/gcc/fixinc/tests/base/time.h
@@ -7,8 +7,8 @@
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#ifndef FIXINC_M88K_MULTI_INCL_CHECK
-#define FIXINC_M88K_MULTI_INCL_CHECK 1
+#ifndef FIXINC_WRAP_TIME_H_M88K_MULTI_INCL
+#define FIXINC_WRAP_TIME_H_M88K_MULTI_INCL 1
@@ -34,4 +34,4 @@ typedef void (*__gcc_VOIDFUNCPTR) ();
#define VOIDFUNCPTR __gcc_VOIDFUNCPTR
#endif /* VXWORKS_TIME_CHECK */
-#endif /* FIXINC_M88K_MULTI_INCL_CHECK */
+#endif /* FIXINC_WRAP_TIME_H_M88K_MULTI_INCL */
diff --git a/gcc/flags.h b/gcc/flags.h
index 39ca5ea936e..0a8979d2dc9 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -659,6 +659,11 @@ extern int flag_zero_initialized_in_bss;
/* Nonzero means disable transformations observable by signaling NaNs. */
extern int flag_signaling_nans;
+/* A string that's used when a random name is required. NULL means
+ to make it really random. */
+
+extern const char *flag_random_seed;
+
/* True if the given mode has a NaN representation and the treatment of
NaN operands is important. Certain optimizations, such as folding
x * 0 into x, are not correct for NaN operands, and are normally
diff --git a/gcc/flow.c b/gcc/flow.c
index 9ac4f2f9fd8..33897666c57 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -414,8 +414,8 @@ life_analysis (f, file, flags)
FILE *file;
int flags;
{
- int i;
#ifdef ELIMINABLE_REGS
+ int i;
static const struct {const int from, to; } eliminables[] = ELIMINABLE_REGS;
#endif
@@ -433,9 +433,7 @@ life_analysis (f, file, flags)
#ifdef CANNOT_CHANGE_MODE_CLASS
- if (flags & PROP_REG_INFO)
- for (i=0; i < NUM_MACHINE_MODES; ++i)
- INIT_REG_SET (&subregs_of_mode[i]);
+ bitmap_initialize (&subregs_of_mode, 1);
#endif
if (! optimize)
@@ -1473,8 +1471,11 @@ initialize_uninitialized_subregs ()
for_each_rtx (&i, find_regno_partial, &param);
if (param.retval != NULL_RTX)
{
- insn = gen_move_insn (param.retval,
- CONST0_RTX (GET_MODE (param.retval)));
+ start_sequence ();
+ emit_move_insn (param.retval,
+ CONST0_RTX (GET_MODE (param.retval)));
+ insn = get_insns ();
+ end_sequence ();
insert_insn_on_edge (insn, e);
did_something = 1;
}
@@ -3823,8 +3824,9 @@ mark_used_regs (pbi, x, cond, insn)
#ifdef CANNOT_CHANGE_MODE_CLASS
if (GET_CODE (SUBREG_REG (x)) == REG
&& REGNO (SUBREG_REG (x)) >= FIRST_PSEUDO_REGISTER)
- SET_REGNO_REG_SET (&subregs_of_mode[GET_MODE (x)],
- REGNO (SUBREG_REG (x)));
+ bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (x))
+ * MAX_MACHINE_MODE
+ + GET_MODE (x));
#endif
/* While we're here, optimize this case. */
@@ -3872,8 +3874,9 @@ mark_used_regs (pbi, x, cond, insn)
if (GET_CODE (testreg) == SUBREG
&& GET_CODE (SUBREG_REG (testreg)) == REG
&& REGNO (SUBREG_REG (testreg)) >= FIRST_PSEUDO_REGISTER)
- SET_REGNO_REG_SET (&subregs_of_mode[GET_MODE (testreg)],
- REGNO (SUBREG_REG (testreg)));
+ bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (testreg))
+ * MAX_MACHINE_MODE
+ + GET_MODE (testreg));
#endif
/* Modifying a single register in an alternate mode
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index a7556f438e5..f707dfa55b8 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -102,6 +102,7 @@ static tree unextend PARAMS ((tree, int, int, tree));
static tree fold_truthop PARAMS ((enum tree_code, tree, tree, tree));
static tree optimize_minmax_comparison PARAMS ((tree));
static tree extract_muldiv PARAMS ((tree, tree, enum tree_code, tree));
+static tree extract_muldiv_1 PARAMS ((tree, tree, enum tree_code, tree));
static tree strip_compound_expr PARAMS ((tree, tree));
static int multiple_of_p PARAMS ((tree, tree, tree));
static tree constant_boolean_node PARAMS ((int, tree));
@@ -4044,6 +4045,31 @@ extract_muldiv (t, c, code, wide_type)
enum tree_code code;
tree wide_type;
{
+ /* To avoid exponential search depth, refuse to allow recursion past
+ three levels. Beyond that (1) it's highly unlikely that we'll find
+ something interesting and (2) we've probably processed it before
+ when we built the inner expression. */
+
+ static int depth;
+ tree ret;
+
+ if (depth > 3)
+ return NULL;
+
+ depth++;
+ ret = extract_muldiv_1 (t, c, code, wide_type);
+ depth--;
+
+ return ret;
+}
+
+static tree
+extract_muldiv_1 (t, c, code, wide_type)
+ tree t;
+ tree c;
+ enum tree_code code;
+ tree wide_type;
+{
tree type = TREE_TYPE (t);
enum tree_code tcode = TREE_CODE (t);
tree ctype = (wide_type != 0 && (GET_MODE_SIZE (TYPE_MODE (wide_type))
@@ -4091,7 +4117,12 @@ extract_muldiv (t, c, code, wide_type)
/* ... or its type is larger than ctype,
then we cannot pass through this truncation. */
|| (GET_MODE_SIZE (TYPE_MODE (ctype))
- < GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (op0))))))
+ < GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (op0))))
+ /* ... or signedness changes for division or modulus,
+ then we cannot pass through this conversion. */
+ || (code != MULT_EXPR
+ && (TREE_UNSIGNED (ctype)
+ != TREE_UNSIGNED (TREE_TYPE (op0))))))
break;
/* Pass the constant down and see if we can make a simplification. If
diff --git a/gcc/function.c b/gcc/function.c
index 26334f124da..daa2cab6f66 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -289,6 +289,7 @@ static void compute_insns_for_mem PARAMS ((rtx, rtx, htab_t));
static void prepare_function_start PARAMS ((void));
static void do_clobber_return_reg PARAMS ((rtx, void *));
static void do_use_return_reg PARAMS ((rtx, void *));
+static void instantiate_virtual_regs_lossage PARAMS ((rtx));
/* Pointer to chain of `struct function' for containing functions. */
static GTY(()) struct function *outer_function_chain;
@@ -450,6 +451,8 @@ free_after_compilation (f)
f->x_nonlocal_goto_stack_level = NULL;
f->x_cleanup_label = NULL;
f->x_return_label = NULL;
+ f->computed_goto_common_label = NULL;
+ f->computed_goto_common_reg = NULL;
f->x_save_expr_regs = NULL;
f->x_stack_slot_list = NULL;
f->x_rtl_expr_chain = NULL;
@@ -1321,12 +1324,16 @@ init_temp_slots ()
target_temp_slot_level = 0;
}
-/* Retroactively move an auto variable from a register to a stack slot.
- This is done when an address-reference to the variable is seen. */
+/* Retroactively move an auto variable from a register to a stack
+ slot. This is done when an address-reference to the variable is
+ seen. If RESCAN is true, all previously emitted instructions are
+ examined and modified to handle the fact that DECL is now
+ addressable. */
void
-put_var_into_stack (decl)
+put_var_into_stack (decl, rescan)
tree decl;
+ int rescan;
{
rtx reg;
enum machine_mode promoted_mode, decl_mode;
@@ -1401,7 +1408,7 @@ put_var_into_stack (decl)
to put things in the stack for the sake of setjmp, try to keep it
in a register until we know we actually need the address. */
if (can_use_addressof)
- gen_mem_addressof (reg, decl);
+ gen_mem_addressof (reg, decl, rescan);
else
put_reg_into_stack (function, reg, TREE_TYPE (decl), promoted_mode,
decl_mode, volatilep, 0, usedp, 0);
@@ -1448,7 +1455,7 @@ put_var_into_stack (decl)
/* Prevent sharing of rtl that might lose. */
if (GET_CODE (XEXP (reg, 0)) == PLUS)
XEXP (reg, 0) = copy_rtx (XEXP (reg, 0));
- if (usedp)
+ if (usedp && rescan)
{
schedule_fixup_var_refs (function, reg, TREE_TYPE (decl),
promoted_mode, 0);
@@ -2888,15 +2895,19 @@ static int cfa_offset;
#define ARG_POINTER_CFA_OFFSET(FNDECL) FIRST_PARM_OFFSET (FNDECL)
#endif
-/* Build up a (MEM (ADDRESSOF (REG))) rtx for a register REG that just had its
- address taken. DECL is the decl or SAVE_EXPR for the object stored in the
- register, for later use if we do need to force REG into the stack. REG is
- overwritten by the MEM like in put_reg_into_stack. */
+/* Build up a (MEM (ADDRESSOF (REG))) rtx for a register REG that just
+ had its address taken. DECL is the decl or SAVE_EXPR for the
+ object stored in the register, for later use if we do need to force
+ REG into the stack. REG is overwritten by the MEM like in
+ put_reg_into_stack. RESCAN is true if previously emitted
+ instructions must be rescanned and modified now that the REG has
+ been transformed. */
rtx
-gen_mem_addressof (reg, decl)
+gen_mem_addressof (reg, decl, rescan)
rtx reg;
tree decl;
+ int rescan;
{
rtx r = gen_rtx_ADDRESSOF (Pmode, gen_reg_rtx (GET_MODE (reg)),
REGNO (reg), decl);
@@ -2934,10 +2945,11 @@ gen_mem_addressof (reg, decl)
if (DECL_P (decl) && decl_rtl == reg)
SET_DECL_RTL (decl, reg);
- if (TREE_USED (decl) || (DECL_P (decl) && DECL_INITIAL (decl) != 0))
+ if (rescan
+ && (TREE_USED (decl) || (DECL_P (decl) && DECL_INITIAL (decl) != 0)))
fixup_var_refs (reg, GET_MODE (reg), TREE_UNSIGNED (type), reg, 0);
}
- else
+ else if (rescan)
fixup_var_refs (reg, GET_MODE (reg), 0, reg, 0);
return reg;
@@ -3045,10 +3057,7 @@ purge_addressof_1 (loc, insn, force, store, ht)
rtx sub, insns;
if (GET_CODE (XEXP (x, 0)) != MEM)
- {
- put_addressof_into_stack (x, ht);
- return true;
- }
+ put_addressof_into_stack (x, ht);
/* We must create a copy of the rtx because it was created by
overwriting a REG rtx which is always shared. */
@@ -3151,10 +3160,16 @@ purge_addressof_1 (loc, insn, force, store, ht)
size_x = GET_MODE_BITSIZE (GET_MODE (x));
size_sub = GET_MODE_BITSIZE (GET_MODE (sub));
+ /* Do not frob unchanging MEMs. If a later reference forces the
+ pseudo to the stack, we can wind up with multiple writes to
+ an unchanging memory, which is invalid. */
+ if (RTX_UNCHANGING_P (x) && size_x != size_sub)
+ ;
+
/* Don't even consider working with paradoxical subregs,
or the moral equivalent seen here. */
- if (size_x <= size_sub
- && int_mode_for_mode (GET_MODE (sub)) != BLKmode)
+ else if (size_x <= size_sub
+ && int_mode_for_mode (GET_MODE (sub)) != BLKmode)
{
/* Do a bitfield insertion to mirror what would happen
in memory. */
@@ -3562,11 +3577,19 @@ instantiate_virtual_regs (fndecl, insns)
|| GET_CODE (insn) == CALL_INSN)
{
instantiate_virtual_regs_1 (&PATTERN (insn), insn, 1);
+ if (INSN_DELETED_P (insn))
+ continue;
instantiate_virtual_regs_1 (&REG_NOTES (insn), NULL_RTX, 0);
/* Instantiate any virtual registers in CALL_INSN_FUNCTION_USAGE. */
if (GET_CODE (insn) == CALL_INSN)
instantiate_virtual_regs_1 (&CALL_INSN_FUNCTION_USAGE (insn),
NULL_RTX, 0);
+
+ /* Past this point all ASM statements should match. Verify that
+ to avoid failures later in the compilation process. */
+ if (asm_noperands (PATTERN (insn)) >= 0
+ && ! check_asm_operands (PATTERN (insn)))
+ instantiate_virtual_regs_lossage (insn);
}
/* Instantiate the stack slots for the parm registers, for later use in
@@ -3734,6 +3757,22 @@ instantiate_new_reg (x, poffset)
return new;
}
+
+/* Called when instantiate_virtual_regs has failed to update the instruction.
+ Usually this means that non-matching instruction has been emit, however for
+ asm statements it may be the problem in the constraints. */
+static void
+instantiate_virtual_regs_lossage (insn)
+ rtx insn;
+{
+ if (asm_noperands (PATTERN (insn)) >= 0)
+ {
+ error_for_asm (insn, "impossible constraint in `asm'");
+ delete_insn (insn);
+ }
+ else
+ abort ();
+}
/* Given a pointer to a piece of rtx and an optional pointer to the
containing object, instantiate any virtual registers present in it.
@@ -3770,6 +3809,10 @@ instantiate_virtual_regs_1 (loc, object, extra_insns)
if (x == 0)
return 1;
+ /* We may have detected and deleted invalid asm statements. */
+ if (object && INSN_P (object) && INSN_DELETED_P (object))
+ return 1;
+
code = GET_CODE (x);
/* Check for some special cases. */
@@ -3807,7 +3850,10 @@ instantiate_virtual_regs_1 (loc, object, extra_insns)
/* The only valid sources here are PLUS or REG. Just do
the simplest possible thing to handle them. */
if (GET_CODE (src) != REG && GET_CODE (src) != PLUS)
- abort ();
+ {
+ instantiate_virtual_regs_lossage (object);
+ return 1;
+ }
start_sequence ();
if (GET_CODE (src) != REG)
@@ -3823,7 +3869,7 @@ instantiate_virtual_regs_1 (loc, object, extra_insns)
if (! validate_change (object, &SET_SRC (x), temp, 0)
|| ! extra_insns)
- abort ();
+ instantiate_virtual_regs_lossage (object);
return 1;
}
@@ -3933,7 +3979,10 @@ instantiate_virtual_regs_1 (loc, object, extra_insns)
emit_insn_before (seq, object);
if (! validate_change (object, loc, temp, 0)
&& ! validate_replace_rtx (x, temp, object))
- abort ();
+ {
+ instantiate_virtual_regs_lossage (object);
+ return 1;
+ }
}
}
@@ -4087,7 +4136,7 @@ instantiate_virtual_regs_1 (loc, object, extra_insns)
emit_insn_before (seq, object);
if (! validate_change (object, loc, temp, 0)
&& ! validate_replace_rtx (x, temp, object))
- abort ();
+ instantiate_virtual_regs_lossage (object);
}
}
@@ -4539,6 +4588,12 @@ assign_parms (fndecl)
if (nregs > 0)
{
+#if defined (REG_PARM_STACK_SPACE) && !defined (MAYBE_REG_PARM_STACK_SPACE)
+ /* When REG_PARM_STACK_SPACE is nonzero, stack space for
+ split parameters was allocated by our caller, so we
+ won't be pushing it in the prolog. */
+ if (REG_PARM_STACK_SPACE (fndecl) == 0)
+#endif
current_function_pretend_args_size
= (((nregs * UNITS_PER_WORD) + (PARM_BOUNDARY / BITS_PER_UNIT) - 1)
/ (PARM_BOUNDARY / BITS_PER_UNIT)
@@ -4989,7 +5044,7 @@ assign_parms (fndecl)
stack. So, we go back to that sequence, just so that
the fixups will happen. */
push_to_sequence (conversion_insns);
- put_var_into_stack (parm);
+ put_var_into_stack (parm, /*rescan=*/true);
conversion_insns = get_insns ();
end_sequence ();
}
@@ -5525,7 +5580,7 @@ setjmp_protect (block)
||
#endif
! DECL_REGISTER (decl)))
- put_var_into_stack (decl);
+ put_var_into_stack (decl, /*rescan=*/true);
for (sub = BLOCK_SUBBLOCKS (block); sub; sub = TREE_CHAIN (sub))
setjmp_protect (sub);
}
@@ -5552,7 +5607,7 @@ setjmp_protect_args ()
||
#endif
! DECL_REGISTER (decl)))
- put_var_into_stack (decl);
+ put_var_into_stack (decl, /*rescan=*/true);
}
/* Return the context-pointer register corresponding to DECL,
@@ -7646,19 +7701,8 @@ thread_prologue_and_epilogue_insns (f)
that with a conditional return instruction. */
else if (condjump_p (jump))
{
- rtx ret, *loc;
-
- ret = SET_SRC (PATTERN (jump));
- if (GET_CODE (XEXP (ret, 1)) == LABEL_REF)
- loc = &XEXP (ret, 1);
- else
- loc = &XEXP (ret, 2);
- ret = gen_rtx_RETURN (VOIDmode);
-
- if (! validate_change (jump, loc, ret, 0))
+ if (! redirect_jump (jump, 0, 0))
continue;
- if (JUMP_LABEL (jump))
- LABEL_NUSES (JUMP_LABEL (jump))--;
/* If this block has only one successor, it both jumps
and falls through to the fallthru block, so we can't
diff --git a/gcc/function.h b/gcc/function.h
index 89319ebf2e3..d3fb077fba8 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -273,6 +273,10 @@ struct function GTY(())
on machines which require execution of the epilogue on all returns. */
rtx x_return_label;
+ /* Label and register for unswitching computed gotos. */
+ rtx computed_goto_common_label;
+ rtx computed_goto_common_reg;
+
/* List (chain of EXPR_LISTs) of pseudo-regs of SAVE_EXPRs.
So we can mark them all live at the end of the function, if nonopt. */
rtx x_save_expr_regs;
diff --git a/gcc/gbl-ctors.h b/gcc/gbl-ctors.h
index 3cc363d29d9..9ba79f02ddc 100644
--- a/gcc/gbl-ctors.h
+++ b/gcc/gbl-ctors.h
@@ -23,6 +23,13 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
/* This file contains definitions and declarations of things
relating to the normal start-up-time invocation of C++
file-scope static object constructors. These declarations
diff --git a/gcc/gcc.c b/gcc/gcc.c
index b05367326ff..c6a993fd928 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -761,30 +761,10 @@ struct user_specs
static struct user_specs *user_specs_head, *user_specs_tail;
-/* This defines which switch letters take arguments. */
-
-#define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
- ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
- || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
- || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
- || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'B' || (CHAR) == 'b')
-
#ifndef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) DEFAULT_SWITCH_TAKES_ARG(CHAR)
#endif
-/* This defines which multi-letter switches take arguments. */
-
-#define DEFAULT_WORD_SWITCH_TAKES_ARG(STR) \
- (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
- || !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
- || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
- || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
- || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
- || !strcmp (STR, "isystem") || !strcmp (STR, "-param") \
- || !strcmp (STR, "specs") \
- || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ"))
-
#ifndef WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) DEFAULT_WORD_SWITCH_TAKES_ARG (STR)
#endif
@@ -857,11 +837,11 @@ static const struct compiler default_compilers[] =
%{!E:%{!M:%{!MM:\
%{traditional|ftraditional:\
%eGNU C no longer supports -traditional without -E}\
- %{save-temps|traditional-cpp:%(trad_capable_cpp) \
- %(cpp_options) %b.i \n\
- cc1 -fpreprocessed %b.i %(cc1_options)}\
- %{!save-temps:%{!traditional-cpp:\
- cc1 %(cpp_unique_options) %(cc1_options)}}\
+ %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
+ %(cpp_options) %{save-temps:%b.i} %{!save-temps:%g.i} \n\
+ cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} %(cc1_options)}\
+ %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
+ cc1 %(cpp_unique_options) %(cc1_options)}}}\
%{!fsyntax-only:%(invoke_as)}}}}", 0},
{"-",
"%{!E:%e-E required when input is from standard input}\
@@ -965,6 +945,7 @@ static const struct option_map option_map[] =
{"--library-directory", "-L", "a"},
{"--machine", "-m", "aj"},
{"--machine-", "-m", "*j"},
+ {"--no-integrated-cpp", "-no-integrated-cpp", 0},
{"--no-line-commands", "-P", 0},
{"--no-precompiled-includes", "-noprecomp", 0},
{"--no-standard-includes", "-nostdinc", 0},
@@ -2936,7 +2917,7 @@ display_help ()
fputs (_(" -o <file> Place the output into <file>\n"), stdout);
fputs (_("\
-x <language> Specify the language of the following input files\n\
- Permissable languages include: c c++ assembler none\n\
+ Permissible languages include: c c++ assembler none\n\
'none' means revert to the default behavior of\n\
guessing the language based on the file's extension\n\
"), stdout);
@@ -3276,7 +3257,7 @@ process_command (argc, argv)
{
/* translate_options () has turned --version into -fversion. */
printf (_("%s (GCC) %s\n"), programname, version_string);
- fputs (_("Copyright (C) 2002 Free Software Foundation, Inc.\n"),
+ fputs (_("Copyright (C) 2003 Free Software Foundation, Inc.\n"),
stdout);
fputs (_("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"),
diff --git a/gcc/gcc.h b/gcc/gcc.h
index feab0ef0710..06691bd9f6b 100644
--- a/gcc/gcc.h
+++ b/gcc/gcc.h
@@ -31,6 +31,28 @@ struct spec_function
const char *(*func) PARAMS ((int, const char **));
};
+/* This defines which switch letters take arguments. */
+
+#define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
+ ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
+ || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
+ || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
+ || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \
+ || (CHAR) == 'B' || (CHAR) == 'b')
+
+/* This defines which multi-letter switches take arguments. */
+
+#define DEFAULT_WORD_SWITCH_TAKES_ARG(STR) \
+ (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
+ || !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
+ || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
+ || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
+ || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
+ || !strcmp (STR, "isystem") || !strcmp (STR, "-param") \
+ || !strcmp (STR, "specs") \
+ || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ"))
+
+
/* These are exported by gcc.c. */
extern int do_spec PARAMS ((const char *));
extern void record_temp_file PARAMS ((const char *, int, int));
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/gcov-io.h b/gcc/gcov-io.h
index 29a44017fde..50d04a38bba 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -19,6 +19,14 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public
+ License. */
+
#ifndef GCC_GCOV_IO_H
#define GCC_GCOV_IO_H
#include <stdio.h>
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 9e4cccb136e..8c4e71b944f 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -615,6 +615,7 @@ static int cprop PARAMS ((int));
static int one_cprop_pass PARAMS ((int, int));
static bool constprop_register PARAMS ((rtx, rtx, rtx, int));
static struct expr *find_bypass_set PARAMS ((int, int));
+static bool reg_killed_on_edge PARAMS ((rtx, edge));
static int bypass_block PARAMS ((basic_block, rtx, rtx));
static int bypass_conditional_jumps PARAMS ((void));
static void alloc_pre_mem PARAMS ((int, int));
@@ -699,6 +700,7 @@ static void free_insn_expr_list_list PARAMS ((rtx *));
static void clear_modify_mem_tables PARAMS ((void));
static void free_modify_mem_tables PARAMS ((void));
static rtx gcse_emit_move_after PARAMS ((rtx, rtx, rtx));
+static void local_cprop_find_used_regs PARAMS ((rtx *, void *));
static bool do_local_cprop PARAMS ((rtx, rtx, int, rtx*));
static bool adjust_libcall_notes PARAMS ((rtx, rtx, rtx, rtx*));
static void local_cprop_pass PARAMS ((int));
@@ -3932,6 +3934,15 @@ try_replace_reg (from, to, insn)
if (num_changes_pending () && apply_change_group ())
success = 1;
+ /* Try to simplify SET_SRC if we have substituted a constant. */
+ if (success && set && CONSTANT_P (to))
+ {
+ src = simplify_rtx (SET_SRC (set));
+
+ if (src)
+ validate_change (insn, &SET_SRC (set), src, 0);
+ }
+
if (!success && set && reg_mentioned_p (from, SET_SRC (set)))
{
/* If above failed and this is a single set, try to simplify the source of
@@ -4128,6 +4139,7 @@ constprop_register (insn, from, to, alter_jumps)
conditional branch instructions first. */
if (alter_jumps
&& (sset = single_set (insn)) != NULL
+ && NEXT_INSN (insn)
&& any_condjump_p (NEXT_INSN (insn)) && onlyjump_p (NEXT_INSN (insn)))
{
rtx dest = SET_DEST (sset);
@@ -4249,6 +4261,53 @@ cprop_insn (insn, alter_jumps)
return changed;
}
+/* Like find_used_regs, but avoid recording uses that appear in
+ input-output contexts such as zero_extract or pre_dec. This
+ restricts the cases we consider to those for which local cprop
+ can legitimately make replacements. */
+
+static void
+local_cprop_find_used_regs (xptr, data)
+ rtx *xptr;
+ void *data;
+{
+ rtx x = *xptr;
+
+ if (x == 0)
+ return;
+
+ switch (GET_CODE (x))
+ {
+ case ZERO_EXTRACT:
+ case SIGN_EXTRACT:
+ case STRICT_LOW_PART:
+ return;
+
+ case PRE_DEC:
+ case PRE_INC:
+ case POST_DEC:
+ case POST_INC:
+ case PRE_MODIFY:
+ case POST_MODIFY:
+ /* Can only legitimately appear this early in the context of
+ stack pushes for function arguments, but handle all of the
+ codes nonetheless. */
+ return;
+
+ case SUBREG:
+ /* Setting a subreg of a register larger than word_mode leaves
+ the non-written words unchanged. */
+ if (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x))) > BITS_PER_WORD)
+ return;
+ break;
+
+ default:
+ break;
+ }
+
+ find_used_regs (xptr, data);
+}
+
/* LIBCALL_SP is a zero-terminated array of insns at the end of a libcall;
their REG_EQUAL notes need updating. */
@@ -4278,6 +4337,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
@@ -4376,6 +4438,7 @@ local_cprop_pass (alter_jumps)
rtx insn;
struct reg_use *reg_used;
rtx libcall_stack[MAX_NESTED_LIBCALLS + 1], *libcall_sp;
+ bool changed = false;
cselib_init ();
libcall_sp = &libcall_stack[MAX_NESTED_LIBCALLS];
@@ -4399,21 +4462,32 @@ local_cprop_pass (alter_jumps)
do
{
reg_use_count = 0;
- note_uses (&PATTERN (insn), find_used_regs, NULL);
+ note_uses (&PATTERN (insn), local_cprop_find_used_regs, NULL);
if (note)
- find_used_regs (&XEXP (note, 0), NULL);
+ local_cprop_find_used_regs (&XEXP (note, 0), NULL);
for (reg_used = &reg_use_table[0]; reg_use_count > 0;
reg_used++, reg_use_count--)
if (do_local_cprop (reg_used->reg_rtx, insn, alter_jumps,
libcall_sp))
- break;
+ {
+ changed = true;
+ break;
+ }
}
while (reg_use_count);
}
cselib_process_insn (insn);
}
cselib_finish ();
+ /* Global analysis may get into infinite loops for unreachable blocks. */
+ if (changed && alter_jumps)
+ {
+ delete_unreachable_blocks ();
+ free_reg_set_mem ();
+ alloc_reg_set_mem (max_reg_num ());
+ compute_sets (get_insns ());
+ }
}
/* Forward propagate copies. This includes copies and constants. Return
@@ -4502,6 +4576,9 @@ one_cprop_pass (pass, alter_jumps)
fprintf (gcse_file, "%d const props, %d copy props\n\n",
const_prop_count, copy_prop_count);
}
+ /* Global analysis may get into infinite loops for unreachable blocks. */
+ if (changed && alter_jumps)
+ delete_unreachable_blocks ();
return changed;
}
@@ -4550,11 +4627,35 @@ find_bypass_set (regno, bb)
}
+/* Subroutine of bypass_block that checks whether a pseudo is killed by
+ any of the instructions inserted on an edge. Jump bypassing places
+ condition code setters on CFG edges using insert_insn_on_edge. This
+ function is required to check that our data flow analysis is still
+ valid prior to commit_edge_insertions. */
+
+static bool
+reg_killed_on_edge (reg, e)
+ rtx reg;
+ edge e;
+{
+ rtx insn;
+
+ for (insn = e->insns; insn; insn = NEXT_INSN (insn))
+ if (INSN_P (insn) && reg_set_p (reg, insn))
+ return true;
+
+ return false;
+}
+
/* Subroutine of bypass_conditional_jumps that attempts to bypass the given
basic block BB which has more than one predecessor. If not NULL, SETCC
is the first instruction of BB, which is immediately followed by JUMP_INSN
JUMP. Otherwise, SETCC is NULL, and JUMP is the first insn of BB.
- Returns nonzero if a change was made. */
+ Returns nonzero if a change was made.
+
+ During the jump bypassing pass, we may place copies of SETCC instuctions
+ on CFG edges. The following routine must be careful to pay attention to
+ these inserted insns when performing its transformations. */
static int
bypass_block (bb, setcc, jump)
@@ -4562,7 +4663,7 @@ bypass_block (bb, setcc, jump)
rtx setcc, jump;
{
rtx insn, note;
- edge e, enext;
+ edge e, enext, edest;
int i, change;
insn = (setcc != NULL) ? setcc : jump;
@@ -4594,6 +4695,10 @@ bypass_block (bb, setcc, jump)
if (! set)
continue;
+ /* Check the data flow is valid after edge insertions. */
+ if (e->insns && reg_killed_on_edge (reg_used->reg_rtx, e))
+ continue;
+
src = SET_SRC (pc_set (jump));
if (setcc != NULL)
@@ -4604,10 +4709,27 @@ bypass_block (bb, setcc, jump)
new = simplify_replace_rtx (src, reg_used->reg_rtx,
SET_SRC (set->expr));
+ /* Jump bypassing may have already placed instructions on
+ edges of the CFG. We can't bypass an outgoing edge that
+ has instructions associated with it, as these insns won't
+ get executed if the incoming edge is redirected. */
+
if (new == pc_rtx)
- dest = FALLTHRU_EDGE (bb)->dest;
+ {
+ edest = FALLTHRU_EDGE (bb);
+ dest = edest->insns ? NULL : edest->dest;
+ }
else if (GET_CODE (new) == LABEL_REF)
- dest = BRANCH_EDGE (bb)->dest;
+ {
+ dest = BLOCK_FOR_INSN (XEXP (new, 0));
+ /* Don't bypass edges containing instructions. */
+ for (edest = bb->succ; edest; edest = edest->succ_next)
+ if (edest->dest == dest && edest->insns)
+ {
+ dest = NULL;
+ break;
+ }
+ }
else
dest = NULL;
diff --git a/gcc/gdbinit.in b/gcc/gdbinit.in
index 17067df1b46..cee1131b6aa 100644
--- a/gcc/gdbinit.in
+++ b/gcc/gdbinit.in
@@ -50,7 +50,7 @@ Print the tree-code of the tree node that is $.
end
define pdn
-output $.decl.name->identifier.pointer
+output $.decl.name->identifier.id.str
echo \n
end
@@ -59,7 +59,7 @@ Print the name of the decl-node that is $.
end
define ptn
-output $.type.name->decl.name->identifier.pointer
+output $.type.name->decl.name->identifier.id.str
echo \n
end
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/gengtype-yacc.y b/gcc/gengtype-yacc.y
index bb350b43e59..9ccea1a2033 100644
--- a/gcc/gengtype-yacc.y
+++ b/gcc/gengtype-yacc.y
@@ -37,11 +37,11 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
%token <t>ENT_STRUCT
%token ENT_EXTERNSTATIC
%token ENT_YACCUNION
-%token GTY_TOKEN "GTY"
-%token UNION "union"
-%token STRUCT "struct"
-%token ENUM "enum"
-%token ALIAS "ptr_alias"
+%token GTY_TOKEN
+%token UNION
+%token STRUCT
+%token ENUM
+%token ALIAS
%token <s>PARAM_IS
%token NUM
%token PERCENTPERCENT "%%"
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index b0ebabc40ce..528b3f2260e 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -30,6 +30,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "varray.h"
#include "ggc.h"
#include "langhooks.h"
+#include "params.h"
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
#ifdef ENABLE_VALGRIND_CHECKING
#include <valgrind.h>
#else
@@ -41,6 +45,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
static ggc_statistics *ggc_stats;
static int ggc_htab_delete PARAMS ((void **, void *));
+static double ggc_rlimit_bound PARAMS ((double));
/* Maintain global roots that are preserved during GC. */
@@ -279,3 +284,81 @@ ggc_print_common_statistics (stream, stats)
/* Don't gather statistics any more. */
ggc_stats = NULL;
}
+
+/* Modify the bound based on rlimits. Keep the smallest number found. */
+static double
+ggc_rlimit_bound (limit)
+ double limit;
+{
+#if defined(HAVE_GETRLIMIT)
+ struct rlimit rlim;
+# ifdef RLIMIT_RSS
+ if (getrlimit (RLIMIT_RSS, &rlim) == 0
+ && rlim.rlim_cur != (rlim_t) RLIM_INFINITY
+ && rlim.rlim_cur < limit)
+ limit = rlim.rlim_cur;
+# endif
+# ifdef RLIMIT_DATA
+ if (getrlimit (RLIMIT_DATA, &rlim) == 0
+ && rlim.rlim_cur != (rlim_t) RLIM_INFINITY
+ && rlim.rlim_cur < limit)
+ limit = rlim.rlim_cur;
+# endif
+# ifdef RLIMIT_AS
+ if (getrlimit (RLIMIT_AS, &rlim) == 0
+ && rlim.rlim_cur != (rlim_t) RLIM_INFINITY
+ && rlim.rlim_cur < limit)
+ limit = rlim.rlim_cur;
+# endif
+#endif /* HAVE_GETRLIMIT */
+
+ return limit;
+}
+
+/* Heuristic to set a default for GGC_MIN_EXPAND. */
+int
+ggc_min_expand_heuristic()
+{
+ double min_expand = physmem_total();
+
+ /* Adjust for rlimits. */
+ min_expand = ggc_rlimit_bound (min_expand);
+
+ /* The heuristic is a percentage equal to 30% + 70%*(RAM/1GB), yielding
+ a lower bound of 30% and an upper bound of 100% (when RAM >= 1GB). */
+ min_expand /= 1024*1024*1024;
+ min_expand *= 70;
+ min_expand = MIN (min_expand, 70);
+ min_expand += 30;
+
+ return min_expand;
+}
+
+/* Heuristic to set a default for GGC_MIN_HEAPSIZE. */
+int
+ggc_min_heapsize_heuristic()
+{
+ double min_heap_kbytes = physmem_total();
+
+ /* Adjust for rlimits. */
+ min_heap_kbytes = ggc_rlimit_bound (min_heap_kbytes);
+
+ min_heap_kbytes /= 1024; /* convert to Kbytes. */
+
+ /* The heuristic is RAM/8, with a lower bound of 4M and an upper
+ bound of 128M (when RAM >= 1GB). */
+ min_heap_kbytes /= 8;
+ min_heap_kbytes = MAX (min_heap_kbytes, 4 * 1024);
+ min_heap_kbytes = MIN (min_heap_kbytes, 128 * 1024);
+
+ return min_heap_kbytes;
+}
+
+void
+init_ggc_heuristics ()
+{
+#ifndef ENABLE_GC_ALWAYS_COLLECT
+ set_param_value ("ggc-min-expand", ggc_min_expand_heuristic());
+ set_param_value ("ggc-min-heapsize", ggc_min_heapsize_heuristic());
+#endif
+}
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index f210af93abe..dc2d23836a2 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -24,7 +24,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "rtl.h"
#include "tm_p.h"
#include "toplev.h"
-#include "varray.h"
#include "flags.h"
#include "ggc.h"
#include "timevar.h"
@@ -239,9 +238,9 @@ typedef struct page_entry
struct page_group *group;
#endif
- /* Saved in-use bit vector for pages that aren't in the topmost
- context during collection. */
- unsigned long *save_in_use_p;
+ /* This is the index in the by_depth varray where this page table
+ can be found. */
+ unsigned long index_by_depth;
/* Context depth of this page. */
unsigned short context_depth;
@@ -330,6 +329,12 @@ static struct globals
/* Total amount of memory mapped. */
size_t bytes_mapped;
+ /* Bit N set if any allocations have been done at context depth N. */
+ unsigned long context_depth_allocations;
+
+ /* Bit N set if any collections have been done at context depth N. */
+ unsigned long context_depth_collections;
+
/* The current depth in the context stack. */
unsigned short context_depth;
@@ -347,6 +352,36 @@ static struct globals
/* The file descriptor for debugging output. */
FILE *debug_file;
+
+ /* Current number of elements in use in depth below. */
+ unsigned int depth_in_use;
+
+ /* Maximum number of elements that can be used before resizing. */
+ unsigned int depth_max;
+
+ /* Each element of this arry is an index in by_depth where the given
+ depth starts. This structure is indexed by that given depth we
+ are interested in. */
+ unsigned int *depth;
+
+ /* Current number of elements in use in by_depth below. */
+ unsigned int by_depth_in_use;
+
+ /* Maximum number of elements that can be used before resizing. */
+ unsigned int by_depth_max;
+
+ /* Each element of this array is a pointer to a page_entry, all
+ page_entries can be found in here by increasing depth.
+ index_by_depth in the page_entry is the index into this data
+ structure where that page_entry can be found. This is used to
+ speed up finding all page_entries at a particular depth. */
+ page_entry **by_depth;
+
+ /* Each element is a pointer to the saved in_use_p bits, if any,
+ zero otherwise. We allocate them all together, to enable a
+ better runtime data access pattern. */
+ unsigned long **save_in_use;
+
} G;
/* The size in bytes required to maintain a bitmap for the objects
@@ -359,6 +394,9 @@ static struct globals
free list. This cannot be larger than HOST_BITS_PER_INT for the
in_use bitmask for page_group. */
#define GGC_QUIRE_SIZE 16
+
+/* Initial guess as to how many page table entries we might need. */
+#define INITIAL_PTE_COUNT 128
static int ggc_allocated_p PARAMS ((const void *));
static page_entry *lookup_page_table_entry PARAMS ((const void *));
@@ -378,13 +416,58 @@ static void clear_marks PARAMS ((void));
static void sweep_pages PARAMS ((void));
static void ggc_recalculate_in_use_p PARAMS ((page_entry *));
static void compute_inverse PARAMS ((unsigned));
+static inline void adjust_depth PARAMS ((void));
#ifdef ENABLE_GC_CHECKING
static void poison_pages PARAMS ((void));
#endif
void debug_print_page_list PARAMS ((int));
+static void push_depth PARAMS ((unsigned int));
+static void push_by_depth PARAMS ((page_entry *, unsigned long *));
+/* Push an entry onto G.depth. */
+
+inline static void
+push_depth (i)
+ unsigned int i;
+{
+ if (G.depth_in_use >= G.depth_max)
+ {
+ G.depth_max *= 2;
+ G.depth = (unsigned int *) xrealloc ((char *) G.depth,
+ G.depth_max * sizeof (unsigned int));
+ }
+ G.depth[G.depth_in_use++] = i;
+}
+
+/* Push an entry onto G.by_depth and G.save_in_use. */
+
+inline static void
+push_by_depth (p, s)
+ page_entry *p;
+ unsigned long *s;
+{
+ if (G.by_depth_in_use >= G.by_depth_max)
+ {
+ G.by_depth_max *= 2;
+ G.by_depth = (page_entry **) xrealloc ((char *) G.by_depth,
+ G.by_depth_max * sizeof (page_entry *));
+ G.save_in_use = (unsigned long **) xrealloc ((char *) G.save_in_use,
+ G.by_depth_max * sizeof (unsigned long *));
+ }
+ G.by_depth[G.by_depth_in_use] = p;
+ G.save_in_use[G.by_depth_in_use++] = s;
+}
+
+/* For the 3.3 release, we will avoid prefetch, as it isn't tested widely. */
+#define prefetch(X) ((void) X)
+
+#define save_in_use_p_i(__i) \
+ (G.save_in_use[__i])
+#define save_in_use_p(__p) \
+ (save_in_use_p_i (__p->index_by_depth))
+
/* Returns nonzero if P was allocated in GC'able memory. */
static inline int
@@ -729,6 +812,8 @@ alloc_page (order)
entry->num_free_objects = num_objects;
entry->next_bit_hint = 1;
+ G.context_depth_allocations |= (unsigned long)1 << G.context_depth;
+
#ifdef USING_MALLOC_PAGE_GROUPS
entry->group = group;
set_page_group_in_use (group, page);
@@ -750,6 +835,26 @@ alloc_page (order)
return entry;
}
+/* Adjust the size of G.depth so that no index greater than the one
+ used by the top of the G.by_depth is used. */
+
+static inline void
+adjust_depth ()
+{
+ page_entry *top;
+
+ if (G.by_depth_in_use)
+ {
+ top = G.by_depth[G.by_depth_in_use-1];
+
+ /* Peel back indicies in depth that index into by_depth, so that
+ as new elements are added to by_depth, we note the indicies
+ of those elements, if they are for new context depths. */
+ while (G.depth_in_use > (size_t)top->context_depth+1)
+ --G.depth_in_use;
+ }
+}
+
/* For a page that is no longer needed, put it on the free page list. */
static inline void
@@ -771,6 +876,30 @@ free_page (entry)
clear_page_group_in_use (entry->group, entry->page);
#endif
+ if (G.by_depth_in_use > 1)
+ {
+ page_entry *top = G.by_depth[G.by_depth_in_use-1];
+
+ /* If they are at the same depth, put top element into freed
+ slot. */
+ if (entry->context_depth == top->context_depth)
+ {
+ int i = entry->index_by_depth;
+ G.by_depth[i] = top;
+ G.save_in_use[i] = G.save_in_use[G.by_depth_in_use-1];
+ top->index_by_depth = i;
+ }
+ else
+ {
+ /* We cannot free a page from a context deeper than the
+ current one. */
+ abort ();
+ }
+ }
+ --G.by_depth_in_use;
+
+ adjust_depth ();
+
entry->next = G.free_pages;
G.free_pages = entry;
}
@@ -894,6 +1023,14 @@ ggc_alloc (size)
struct page_entry *new_entry;
new_entry = alloc_page (order);
+ new_entry->index_by_depth = G.by_depth_in_use;
+ push_by_depth (new_entry, 0);
+
+ /* We can skip context depths, if we do, make sure we go all the
+ way to the new depth. */
+ while (new_entry->context_depth >= G.depth_in_use)
+ push_depth (G.by_depth_in_use-1);
+
/* If this is the only entry, it's also the tail. */
if (entry == NULL)
G.page_tails[order] = new_entry;
@@ -1196,6 +1333,15 @@ init_ggc ()
for (i = OBJECT_SIZE (order); size_lookup [i] == o; --i)
size_lookup[i] = order;
}
+
+ G.depth_in_use = 0;
+ G.depth_max = 10;
+ G.depth = (unsigned int *) xmalloc (G.depth_max * sizeof (unsigned int));
+
+ G.by_depth_in_use = 0;
+ G.by_depth_max = INITIAL_PTE_COUNT;
+ G.by_depth = (page_entry **) xmalloc (G.by_depth_max * sizeof (page_entry *));
+ G.save_in_use = (unsigned long **) xmalloc (G.by_depth_max * sizeof (unsigned long *));
}
/* Increment the `GC context'. Objects allocated in an outer context
@@ -1207,7 +1353,7 @@ ggc_push_context ()
++G.context_depth;
/* Die on wrap. */
- if (G.context_depth == 0)
+ if (G.context_depth >= HOST_BITS_PER_LONG)
abort ();
}
@@ -1238,7 +1384,7 @@ ggc_recalculate_in_use_p (p)
/* Something is in use if it is marked, or if it was in use in a
context further down the context stack. */
- p->in_use_p[i] |= p->save_in_use_p[i];
+ p->in_use_p[i] |= save_in_use_p (p)[i];
/* Decrement the free object count for every object allocated. */
for (j = p->in_use_p[i]; j; j >>= 1)
@@ -1255,13 +1401,82 @@ ggc_recalculate_in_use_p (p)
void
ggc_pop_context ()
{
- unsigned order, depth;
+ unsigned long omask;
+ unsigned int depth, i, e;
+#ifdef ENABLE_CHECKING
+ unsigned int order;
+#endif
depth = --G.context_depth;
+ omask = (unsigned long)1 << (depth + 1);
+
+ if (!((G.context_depth_allocations | G.context_depth_collections) & omask))
+ return;
+
+ G.context_depth_allocations |= (G.context_depth_allocations & omask) >> 1;
+ G.context_depth_allocations &= omask - 1;
+ G.context_depth_collections &= omask - 1;
+
+ /* The G.depth array is shortend so that the last index is the
+ context_depth of the top element of by_depth. */
+ if (depth+1 < G.depth_in_use)
+ e = G.depth[depth+1];
+ else
+ e = G.by_depth_in_use;
- /* Any remaining pages in the popped context are lowered to the new
- current context; i.e. objects allocated in the popped context and
- left over are imported into the previous context. */
+ /* We might not have any PTEs of depth depth. */
+ if (depth < G.depth_in_use)
+ {
+
+ /* First we go through all the pages at depth depth to
+ recalculate the in use bits. */
+ for (i = G.depth[depth]; i < e; ++i)
+ {
+ page_entry *p;
+
+#ifdef ENABLE_CHECKING
+ p = G.by_depth[i];
+
+ /* Check that all of the pages really are at the depth that
+ we expect. */
+ if (p->context_depth != depth)
+ abort ();
+ if (p->index_by_depth != i)
+ abort ();
+#endif
+
+ prefetch (&save_in_use_p_i (i+8));
+ prefetch (&save_in_use_p_i (i+16));
+ if (save_in_use_p_i (i))
+ {
+ p = G.by_depth[i];
+ ggc_recalculate_in_use_p (p);
+ free (save_in_use_p_i (i));
+ save_in_use_p_i (i) = 0;
+ }
+ }
+ }
+
+ /* Then, we reset all page_entries with a depth greater than depth
+ to be at depth. */
+ for (i = e; i < G.by_depth_in_use; ++i)
+ {
+ page_entry *p = G.by_depth[i];
+
+ /* Check that all of the pages really are at the depth we
+ expect. */
+#ifdef ENABLE_CHECKING
+ if (p->context_depth <= depth)
+ abort ();
+ if (p->index_by_depth != i)
+ abort ();
+#endif
+ p->context_depth = depth;
+ }
+
+ adjust_depth ();
+
+#ifdef ENABLE_CHECKING
for (order = 2; order < NUM_ORDERS; order++)
{
page_entry *p;
@@ -1269,18 +1484,12 @@ ggc_pop_context ()
for (p = G.pages[order]; p != NULL; p = p->next)
{
if (p->context_depth > depth)
- p->context_depth = depth;
-
- /* If this page is now in the topmost context, and we'd
- saved its allocation state, restore it. */
- else if (p->context_depth == depth && p->save_in_use_p)
- {
- ggc_recalculate_in_use_p (p);
- free (p->save_in_use_p);
- p->save_in_use_p = 0;
- }
+ abort ();
+ else if (p->context_depth == depth && save_in_use_p (p))
+ abort ();
}
}
+#endif
}
/* Unmark all objects. */
@@ -1309,9 +1518,9 @@ clear_marks ()
marks. So, back them up first. */
if (p->context_depth < G.context_depth)
{
- if (! p->save_in_use_p)
- p->save_in_use_p = xmalloc (bitmap_size);
- memcpy (p->save_in_use_p, p->in_use_p, bitmap_size);
+ if (! save_in_use_p (p))
+ save_in_use_p (p) = xmalloc (bitmap_size);
+ memcpy (save_in_use_p (p), p->in_use_p, bitmap_size);
}
/* Reset reset the number of free objects and clear the
@@ -1491,10 +1700,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;
@@ -1511,6 +1720,9 @@ ggc_collect ()
reuse in the interim. */
release_pages ();
+ /* Indicate that we've seen collections at this context depth. */
+ G.context_depth_collections = ((unsigned long)1 << (G.context_depth + 1)) - 1;
+
clear_marks ();
ggc_mark_roots ();
diff --git a/gcc/ggc.h b/gcc/ggc.h
index 4cd6242ee92..69f2f627717 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -176,3 +176,8 @@ extern void ggc_print_common_statistics PARAMS ((FILE *, ggc_statistics *));
/* Print allocation statistics. */
extern void ggc_print_statistics PARAMS ((void));
extern void stringpool_statistics PARAMS ((void));
+
+/* Heuristics. */
+extern int ggc_min_expand_heuristic PARAMS ((void));
+extern int ggc_min_heapsize_heuristic PARAMS ((void));
+extern void init_ggc_heuristics PARAMS ((void));
diff --git a/gcc/global.c b/gcc/global.c
index 471e42e8fd9..0840b87b191 100644
--- a/gcc/global.c
+++ b/gcc/global.c
@@ -130,6 +130,11 @@ struct allocno
/* Set of hard registers that some later allocno has a preference for. */
HARD_REG_SET regs_someone_prefers;
+
+#ifdef STACK_REGS
+ /* Set to true if allocno can't be allocated in the stack register. */
+ bool no_stack_reg;
+#endif
};
static struct allocno *allocno;
@@ -706,8 +711,14 @@ global_conflicts ()
if (e->flags & EDGE_ABNORMAL)
break;
if (e != NULL)
- for (ax = FIRST_STACK_REG; ax <= LAST_STACK_REG; ax++)
- record_one_conflict (ax);
+ {
+ EXECUTE_IF_SET_IN_ALLOCNO_SET (allocnos_live, ax,
+ {
+ allocno[ax].no_stack_reg = 1;
+ });
+ for (ax = FIRST_STACK_REG; ax <= LAST_STACK_REG; ax++)
+ record_one_conflict (ax);
+ }
}
#endif
}
@@ -1204,6 +1215,10 @@ find_reg (num, losers, alt_regs_p, accept_call_clobbered, retrying)
&& ! invalid_mode_change_p (regno, REGNO_REG_CLASS (regno),
mode)
#endif
+#ifdef STACK_REGS
+ && (!allocno[num].no_stack_reg
+ || regno < FIRST_STACK_REG || regno > LAST_STACK_REG)
+#endif
)
{
/* We explicitly evaluate the divide results into temporary
diff --git a/gcc/gthr-rtems.h b/gcc/gthr-rtems.h
index 23e35d7403f..8cb951ef587 100644
--- a/gcc/gthr-rtems.h
+++ b/gcc/gthr-rtems.h
@@ -1,7 +1,7 @@
/* RTEMS threads compatibily routines for libgcc2 and libobjc.
by: Rosimildo da Silva( rdasilva@connecttel.com ) */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -37,6 +37,7 @@ extern "C" {
#define __GTHREADS 1
#define __GTHREAD_ONCE_INIT 0
+#define __GTHREAD_MUTEX_INIT 0
#define __GTHREAD_MUTEX_INIT_FUNCTION rtems_gxx_mutex_init
/* avoid depedency on rtems specific headers */
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index c253f2cede1..5c9ab50f9ab 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -364,7 +364,7 @@ static rtx move_insn PARAMS ((rtx, rtx));
on the first cycle. It is used only for DFA based scheduler. */
static rtx ready_element PARAMS ((struct ready_list *, int));
static rtx ready_remove PARAMS ((struct ready_list *, int));
-static int max_issue PARAMS ((struct ready_list *, state_t, int *));
+static int max_issue PARAMS ((struct ready_list *, int *));
static rtx choose_ready PARAMS ((struct ready_list *));
@@ -1773,87 +1773,127 @@ move_insn (insn, last)
return retval;
}
+/* The following structure describe an entry of the stack of choices. */
+struct choice_entry
+{
+ /* Ordinal number of the issued insn in the ready queue. */
+ int index;
+ /* The number of the rest insns whose issues we should try. */
+ int rest;
+ /* The number of issued essential insns. */
+ int n;
+ /* State after issuing the insn. */
+ state_t state;
+};
+
+/* The following array is used to implement a stack of choices used in
+ function max_issue. */
+static struct choice_entry *choice_stack;
+
+/* The following variable value is number of essential insns issued on
+ the current cycle. An insn is essential one if it changes the
+ processors state. */
+static int cycle_issued_insns;
+
+/* The following variable value is maximal number of tries of issuing
+ insns for the first cycle multipass insn scheduling. We define
+ this value as constant*(DFA_LOOKAHEAD**ISSUE_RATE). We would not
+ need this constraint if all real insns (with non-negative codes)
+ had reservations because in this case the algorithm complexity is
+ O(DFA_LOOKAHEAD**ISSUE_RATE). Unfortunately, the dfa descriptions
+ might be incomplete and such insn might occur. For such
+ descriptions, the complexity of algorithm (without the constraint)
+ could achieve DFA_LOOKAHEAD ** N , where N is the queue length. */
+static int max_lookahead_tries;
+
+/* The following value is value of hook
+ `first_cycle_multipass_dfa_lookahead' at the last call of
+ `max_issue'. */
+static int cached_first_cycle_multipass_dfa_lookahead = 0;
+
+/* The following value is value of `issue_rate' at the last call of
+ `sched_init'. */
+static int cached_issue_rate = 0;
+
/* The following function returns maximal (or close to maximal) number
of insns which can be issued on the same cycle and one of which
- insns is insns with the best rank (the last insn in READY). To
+ insns is insns with the best rank (the first insn in READY). To
make this function tries different samples of ready insns. READY
is current queue `ready'. Global array READY_TRY reflects what
- insns are already issued in this try. STATE is current processor
- state. If the function returns nonzero, INDEX will contain index
+ insns are already issued in this try. INDEX will contain index
of the best insn in READY. The following function is used only for
first cycle multipass scheduling. */
-
static int
-max_issue (ready, state, index)
- struct ready_list *ready;
- state_t state;
- int *index;
+max_issue (ready, index)
+ struct ready_list *ready;
+ int *index;
{
- int i, best, n, temp_index, delay;
- state_t temp_state;
+ int n, i, all, n_ready, best, delay, tries_num;
+ struct choice_entry *top;
rtx insn;
- int max_lookahead = (*targetm.sched.first_cycle_multipass_dfa_lookahead) ();
-
- if (state_dead_lock_p (state))
- return 0;
- temp_state = alloca (dfa_state_size);
best = 0;
-
- for (i = 0; i < ready->n_ready; i++)
+ memcpy (choice_stack->state, curr_state, dfa_state_size);
+ top = choice_stack;
+ top->rest = cached_first_cycle_multipass_dfa_lookahead;
+ top->n = 0;
+ n_ready = ready->n_ready;
+ for (all = i = 0; i < n_ready; i++)
if (!ready_try [i])
- {
- insn = ready_element (ready, i);
-
- if (INSN_CODE (insn) < 0)
- continue;
-
- memcpy (temp_state, state, dfa_state_size);
-
- delay = state_transition (temp_state, insn);
-
- if (delay == 0)
- {
- if (!targetm.sched.dfa_bubble)
- continue;
- else
- {
- int j;
- rtx bubble;
-
- for (j = 0;
- (bubble = (*targetm.sched.dfa_bubble) (j)) != NULL_RTX;
- j++)
- if (state_transition (temp_state, bubble) < 0
- && state_transition (temp_state, insn) < 0)
- break;
-
- if (bubble == NULL_RTX)
- continue;
- }
- }
- else if (delay > 0)
- continue;
-
- --max_lookahead;
-
- if (max_lookahead < 0)
- break;
-
- ready_try [i] = 1;
-
- n = max_issue (ready, temp_state, &temp_index);
- if (n > 0 || ready_try[0])
- n += 1;
-
- if (best < n)
- {
- best = n;
- *index = i;
- }
- ready_try [i] = 0;
- }
-
+ all++;
+ i = 0;
+ tries_num = 0;
+ for (;;)
+ {
+ if (top->rest == 0 || i >= n_ready)
+ {
+ if (top == choice_stack)
+ break;
+ if (best < top - choice_stack && ready_try [0])
+ {
+ best = top - choice_stack;
+ *index = choice_stack [1].index;
+ if (top->n == issue_rate - cycle_issued_insns || best == all)
+ break;
+ }
+ i = top->index;
+ ready_try [i] = 0;
+ top--;
+ memcpy (curr_state, top->state, dfa_state_size);
+ }
+ else if (!ready_try [i])
+ {
+ tries_num++;
+ if (tries_num > max_lookahead_tries)
+ break;
+ insn = ready_element (ready, i);
+ delay = state_transition (curr_state, insn);
+ if (delay < 0)
+ {
+ if (state_dead_lock_p (curr_state))
+ top->rest = 0;
+ else
+ top->rest--;
+ n = top->n;
+ if (memcmp (top->state, curr_state, dfa_state_size) != 0)
+ n++;
+ top++;
+ top->rest = cached_first_cycle_multipass_dfa_lookahead;
+ top->index = i;
+ top->n = n;
+ memcpy (top->state, curr_state, dfa_state_size);
+ ready_try [i] = 1;
+ i = -1;
+ }
+ }
+ i++;
+ }
+ while (top != choice_stack)
+ {
+ ready_try [top->index] = 0;
+ top--;
+ }
+ memcpy (curr_state, choice_stack->state, dfa_state_size);
return best;
}
@@ -1865,15 +1905,34 @@ static rtx
choose_ready (ready)
struct ready_list *ready;
{
- if (!targetm.sched.first_cycle_multipass_dfa_lookahead
- || (*targetm.sched.first_cycle_multipass_dfa_lookahead) () <= 0)
+ int lookahead = 0;
+
+ if (targetm.sched.first_cycle_multipass_dfa_lookahead)
+ lookahead = (*targetm.sched.first_cycle_multipass_dfa_lookahead) ();
+ if (lookahead <= 0 || SCHED_GROUP_P (ready_element (ready, 0)))
return ready_remove_first (ready);
else
{
/* Try to choose the better insn. */
- int index;
+ int index, i;
+ rtx insn;
- if (max_issue (ready, curr_state, &index) == 0)
+ if (cached_first_cycle_multipass_dfa_lookahead != lookahead)
+ {
+ cached_first_cycle_multipass_dfa_lookahead = lookahead;
+ max_lookahead_tries = 100;
+ for (i = 0; i < issue_rate; i++)
+ max_lookahead_tries *= lookahead;
+ }
+ insn = ready_element (ready, 0);
+ if (INSN_CODE (insn) < 0)
+ return ready_remove_first (ready);
+ for (i = 1; i < ready->n_ready; i++)
+ {
+ insn = ready_element (ready, i);
+ ready_try [i] = INSN_CODE (insn) < 0;
+ }
+ if (max_issue (ready, &index) == 0)
return ready_remove_first (ready);
else
return ready_remove (ready, index);
@@ -1901,6 +1960,7 @@ schedule_block (b, rgn_n_insns)
int rgn_n_insns;
{
struct ready_list ready;
+ int i;
int first_cycle_insn_p;
int can_issue_more;
state_t temp_state = NULL; /* It is used for multipass scheduling. */
@@ -1955,6 +2015,11 @@ schedule_block (b, rgn_n_insns)
temp_state = alloca (dfa_state_size);
ready_try = (char *) xmalloc ((rgn_n_insns + 1) * sizeof (char));
memset (ready_try, 0, (rgn_n_insns + 1) * sizeof (char));
+ choice_stack
+ = (struct choice_entry *) xmalloc ((rgn_n_insns + 1)
+ * sizeof (struct choice_entry));
+ for (i = 0; i <= rgn_n_insns; i++)
+ choice_stack[i].state = (state_t) xmalloc (dfa_state_size);
}
(*current_sched_info->init_ready_list) (&ready);
@@ -2019,6 +2084,7 @@ schedule_block (b, rgn_n_insns)
can_issue_more = issue_rate;
first_cycle_insn_p = 1;
+ cycle_issued_insns = 0;
for (;;)
{
rtx insn;
@@ -2153,7 +2219,11 @@ schedule_block (b, rgn_n_insns)
if (targetm.sched.use_dfa_pipeline_interface
&& (*targetm.sched.use_dfa_pipeline_interface) ())
- memcpy (curr_state, temp_state, dfa_state_size);
+ {
+ if (memcmp (curr_state, temp_state, dfa_state_size) != 0)
+ cycle_issued_insns++;
+ memcpy (curr_state, temp_state, dfa_state_size);
+ }
if (targetm.sched.variable_issue)
can_issue_more =
@@ -2248,7 +2318,12 @@ schedule_block (b, rgn_n_insns)
if (targetm.sched.use_dfa_pipeline_interface
&& (*targetm.sched.use_dfa_pipeline_interface) ())
- free (ready_try);
+ {
+ free (ready_try);
+ for (i = 0; i <= rgn_n_insns; i++)
+ free (choice_stack [i].state);
+ free (choice_stack);
+ }
}
/* Set_priorities: compute priority of each insn in the block. */
@@ -2313,6 +2388,13 @@ sched_init (dump_file)
else
issue_rate = 1;
+ if (cached_issue_rate != issue_rate)
+ {
+ cached_issue_rate = issue_rate;
+ /* To invalidate max_lookahead_tries: */
+ cached_first_cycle_multipass_dfa_lookahead = 0;
+ }
+
/* We use LUID 0 for the fake insn (UID 0) which holds dependencies for
pseudos which do not cross calls. */
old_max_uid = get_max_uid () + 1;
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h
index 0574738fbe5..53330cf28b7 100644
--- a/gcc/hard-reg-set.h
+++ b/gcc/hard-reg-set.h
@@ -491,8 +491,6 @@ extern const char * reg_names[FIRST_PSEUDO_REGISTER];
/* Given a hard REGN a FROM mode and a TO mode, return nonzero if
REGN cannot change modes between the specified modes. */
#define REG_CANNOT_CHANGE_MODE_P(REGN, FROM, TO) \
- (TEST_HARD_REG_BIT \
- (reg_class_contents[(int) CANNOT_CHANGE_MODE_CLASS (FROM, TO)], \
- REGN))
+ CANNOT_CHANGE_MODE_CLASS (FROM, TO, REGNO_REG_CLASS (REGN))
#endif /* ! GCC_HARD_REG_SET_H */
diff --git a/gcc/hashtable.c b/gcc/hashtable.c
index ff8959b40da..ed1e81f0d38 100644
--- a/gcc/hashtable.c
+++ b/gcc/hashtable.c
@@ -141,7 +141,8 @@ ht_lookup (table, str, len, insert)
if (node == NULL)
break;
- if (HT_LEN (node) == len && !memcmp (HT_STR (node), str, len))
+ if (node->hash_value == hash && HT_LEN (node) == len
+ && !memcmp (HT_STR (node), str, len))
{
if (insert == HT_ALLOCED)
/* The string we search for was placed at the end of the
@@ -161,6 +162,7 @@ ht_lookup (table, str, len, insert)
table->entries[index] = node;
HT_LEN (node) = len;
+ node->hash_value = hash;
if (insert == HT_ALLOC)
HT_STR (node) = obstack_copy0 (&table->stack, str, len);
else
@@ -193,7 +195,7 @@ ht_expand (table)
{
unsigned int index, hash, hash2;
- hash = calc_hash (HT_STR (*p), HT_LEN (*p));
+ hash = (*p)->hash_value;
hash2 = ((hash * 17) & sizemask) | 1;
index = hash & sizemask;
diff --git a/gcc/hashtable.h b/gcc/hashtable.h
index 02dfcf19d29..0649ad2b7da 100644
--- a/gcc/hashtable.h
+++ b/gcc/hashtable.h
@@ -25,8 +25,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
typedef struct ht_identifier ht_identifier;
struct ht_identifier GTY(())
{
- unsigned int len;
const unsigned char *str;
+ unsigned int len;
+ unsigned int hash_value;
};
#define HT_LEN(NODE) ((NODE)->len)
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 42c5fb50bdb..c3360043bd7 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),
@@ -1178,7 +1178,16 @@ noce_try_cmove_arith (if_info)
tmp = gen_reg_rtx (GET_MODE (b));
tmp = emit_insn (gen_rtx_SET (VOIDmode, tmp, b));
}
- else if (! insn_b)
+ else if (! insn_b
+#if 0
+ /* In the case we are going to duplicate insn originally
+ present in the front of comparsion, verify that the
+ comparsion didn't clobbered the operands. */
+ || modified_between_p (SET_SRC (single_set (insn_b)),
+ if_info->cond_earliest,
+ NEXT_INSN (if_info->jump)))
+#endif
+ )
goto end_seq_and_fail;
else
{
@@ -1770,16 +1779,33 @@ noce_process_if_block (ce_info)
else
{
insn_b = prev_nonnote_insn (if_info.cond_earliest);
+ /* We're going to be moving the evaluation of B down from above
+ COND_EARLIEST to JUMP. Make sure the relevant data is still
+ intact. */
if (! insn_b
|| GET_CODE (insn_b) != INSN
|| (set_b = single_set (insn_b)) == NULL_RTX
|| ! rtx_equal_p (x, SET_DEST (set_b))
+ || reg_overlap_mentioned_p (x, SET_SRC (set_b))
+ || modified_between_p (SET_SRC (set_b),
+ PREV_INSN (if_info.cond_earliest), jump)
+ /* Likewise with X. In particular this can happen when
+ noce_get_condition looks farther back in the instruction
+ stream than one might expect. */
|| 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 (x, PREV_INSN (if_info.cond_earliest), jump))
insn_b = set_b = NULL_RTX;
}
+
+ /* If x has side effects then only the if-then-else form is safe to
+ convert. But even in that case we would need to restore any notes
+ (such as REG_INC) at then end. That can be tricky if
+ noce_emit_move_insn expands to more than one insn, so disable the
+ optimization entirely for now if there are side effects. */
+ if (side_effects_p (x))
+ return FALSE;
+
b = (set_b ? SET_SRC (set_b) : x);
/* Only operate on register destinations, and even then avoid extending
@@ -2325,7 +2351,8 @@ find_if_block (ce_info)
/* The THEN block of an IF-THEN combo must have zero or one successors. */
if (then_succ != NULL_EDGE
&& (then_succ->succ_next != NULL_EDGE
- || (then_succ->flags & EDGE_COMPLEX)))
+ || (then_succ->flags & EDGE_COMPLEX)
+ || (flow2_completed && tablejump_p (then_bb->end))))
return FALSE;
/* If the THEN block has no successors, conditional execution can still
@@ -2372,7 +2399,8 @@ find_if_block (ce_info)
&& then_succ->dest == else_succ->dest
&& else_bb->pred->pred_next == NULL_EDGE
&& else_succ->succ_next == NULL_EDGE
- && ! (else_succ->flags & EDGE_COMPLEX))
+ && ! (else_succ->flags & EDGE_COMPLEX)
+ && ! (flow2_completed && tablejump_p (else_bb->end)))
join_bb = else_succ->dest;
/* Otherwise it is not an IF-THEN or IF-THEN-ELSE combination. */
@@ -2701,6 +2729,8 @@ find_if_case_1 (test_bb, then_edge, else_edge)
{
new_bb->index = then_bb_index;
BASIC_BLOCK (then_bb_index) = new_bb;
+ if (post_dominators)
+ add_to_dominance_info (post_dominators, new_bb);
}
/* We've possibly created jump to next insn, cleanup_cfg will solve that
later. */
@@ -2831,11 +2861,28 @@ dead_or_predicable (test_bb, merge_bb, other_bb, new_dest, reversep)
if (GET_CODE (end) == JUMP_INSN)
{
+ rtx tmp, insn, label;
+
if (head == end)
{
head = end = NULL_RTX;
goto no_body;
}
+
+ /* If there is a jump table following merge_bb, fail
+ if there are any insn between head and PREV_INSN (end)
+ references it. */
+ if ((label = JUMP_LABEL (end)) != NULL_RTX
+ && (tmp = NEXT_INSN (label)) != NULL_RTX
+ && GET_CODE (tmp) == JUMP_INSN
+ && (GET_CODE (PATTERN (tmp)) == ADDR_VEC
+ || GET_CODE (PATTERN (tmp)) == ADDR_DIFF_VEC))
+ {
+ for (insn = head; insn != PREV_INSN (end); insn = NEXT_INSN (insn))
+ if (find_reg_note (insn, REG_LABEL, label))
+ return FALSE;
+ }
+
end = PREV_INSN (end);
}
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 6746b3f450f..d1be2373fef 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -157,11 +157,13 @@ function_cannot_inline_p (fndecl)
tree last = tree_last (TYPE_ARG_TYPES (TREE_TYPE (fndecl)));
/* For functions marked as inline increase the maximum size to
- MAX_INLINE_INSNS (-finline-limit-<n>). For regular functions
- use the limit given by INTEGRATE_THRESHOLD. */
+ MAX_INLINE_INSNS_RTL (--param max-inline-insn-rtl=<n>). For
+ regular functions use the limit given by INTEGRATE_THRESHOLD.
+ Note that the RTL inliner is not used by the languages that use
+ the tree inliner (C, C++). */
int max_insns = (DECL_INLINE (fndecl))
- ? (MAX_INLINE_INSNS
+ ? (MAX_INLINE_INSNS_RTL
+ 8 * list_length (DECL_ARGUMENTS (fndecl)))
: INTEGRATE_THRESHOLD (fndecl);
@@ -3002,15 +3004,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;
@@ -3026,6 +3030,11 @@ output_inline_function (fndecl)
debug_hooks = &do_nothing_debug_hooks;
}
+ /* Make sure warnings emitted by the optimizers (e.g. control reaches
+ end of non-void function) is not wildly incorrect. */
+ input_filename = DECL_SOURCE_FILE (fndecl);
+ lineno = DECL_SOURCE_LINE (fndecl);
+
/* Compile this function all the way down to assembly code. As a
side effect this destroys the saved RTL representation, but
that's okay, because we don't need to inline this anymore. */
diff --git a/gcc/intl/ChangeLog b/gcc/intl/ChangeLog
index 1fe7f37090b..382a1382bfc 100644
--- a/gcc/intl/ChangeLog
+++ b/gcc/intl/ChangeLog
@@ -1,3 +1,15 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-05-25 Roman Lechtchinsky <rl@cs.tu-berlin.de>
* gettextP.h (SWAP): Change parameter type to unsigned int.
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index c6d0de1c1e3..0cb5eb770bb 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,268 @@
+2003-06-10 Andrew Haley <aph@redhat.com>
+
+ * lang.c (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
+ (java_decl_ok_for_sibcall): New.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-02 Tom Tromey <tromey@redhat.com>
+
+ PR java/10459:
+ * parse.y (finish_for_loop): Do nothing if update expression is a
+ EXPR_WFL_NODE wrapping nothing.
+ (java_complete_lhs) <COMPOUND_EXPR>: Likewise.
+
+2003-04-20 Mohan Embar <gnustuff@thisiscool.com>
+
+ * jcf-io.c (find_class): use DIR_SEPARATOR instead of
+ '/' when computing java source filename
+
+2003-04-10 Eric Blake <ebb9@email.byu.edu>
+
+ PR java/10253:
+ * parse.y (string_convert_int_cst): Always use at least one digit
+ in string conversion. Remove ASCII dependence.
+ (merge_string_cste): Fix merging of 3-byte UTF-8 characters.
+
+2003-03-16 Mohan Embar <gnustuff@thisiscool.com>
+
+ * Make-lang.in: added win32-host.c
+ * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
+ resolves to open() on non-Win32 platforms and
+ Win32-specific jcf_open_exact_case() on Win32
+ * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
+ when trying .java and .class files
+ * win32-host.c: added to repository. Defines
+ Win32-specific jcf_open_exact_case()
+
+2003-04-10 Andrew Haley <aph@redhat.com>
+
+ * jcf-write.c (struct jcf_partial): num_jsrs: new field.
+ (maybe_free_localvar): Renamed from localvar_free.
+ Add new arg, really.
+ (generate_bytecode_insns): Set new variable, jsrs.
+ Only free local vars if no jsr insns have been emittted.
+ Call maybe_free_localvar, not localvar_free.
+
+2003-03-23 Zack Weinberg <zack@codesourcery.com>
+
+ PR bootstrap/10216
+ * Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
+
+2003-03-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcj.texi: Remove @ at start of file.
+
+2003-03-28 Zack Weinberg <zack@codesourcery.com>
+
+ PR bootstrap/10216
+ * javaop.h (jfloat, jdouble): Make them structures mirroring
+ the bit fields of IEEE float and double respectively.
+ (JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
+ JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
+ (union Word, union DWord): Delete.
+ (WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
+
+ * gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
+ D_NAN_MASK): Delete.
+ (jni_print_float, jni_print_double): New. Generate
+ hexadecimal floating constants.
+ (print_field_info): Use jni_print_float/double.
+
+ * jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
+ finite floating point numbers for output; special case
+ non-finite floats.
+
+2003-03-12 Andrew Haley <aph.redhat.com@littlepinkcloud.com>
+
+ * gjavah.c (is_first_data_member): New global variable.
+ (print_c_decl): If it's the first data member, align it as the
+ superclass.
+ (process_file): Set is_first_data_member.
+
+2003-03-11 Tom Tromey <tromey@redhat.com>
+
+ * parse.y (resolve_field_access): Initialize class if field is
+ found in another static field.
+ * expr.c (build_class_init): Don't optimize out initialization of
+ implemented interface.
+
+2003-03-10 Ranjit Mathew <rmathew@hotmail.com>
+
+ * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
+ and DIR_SEPARATOR_2 for a target.
+ Correct minor typos.
+
+ * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
+ and DIR_SEPARATOR_2 for a target into account.
+
+2003-03-05 Ranjit Mathew <rmathew@hotmail.com>
+
+ * jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
+ compare file name components depending on the case-sensitivity
+ or otherwise of the host file system.
+
+ * jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
+ "strcmp" to compare file name components.
+ Use IS_DIR_SEPARATOR instead of comparing directly against
+ DIR_SEPARATOR.
+ (jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
+ comparing directly against DIR_SEPARATOR.
+
+2003-03-04 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
+ (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
+
+2003-02-28 Tom Tromey <tromey@redhat.com>
+
+ PR java/9695:
+ * class.c (maybe_layout_super_class): Always pass a WFL to
+ do_resolve_class.
+ * parse.y (do_resolve_class): Updated comment to explain
+ parameters.
+
+2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
+
+ * decl.c (java_init_decl_processing): Change
+ soft_lookupjnimethod_node to reflect the change in
+ signature of _Jv_LookupJNIMethod in libjava/jni.cc
+ * expr.c (build_jni_stub): Calculate and pass the size
+ on the stack of the arguments to a JNI function. Use
+ new target macro MODIFY_JNI_METHOD_CALL to allow a
+ target to modify the call to a JNI method.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcj.texi: Update to GFDL 1.2.
+
+2003-01-31 Andrew Haley <aph@redhat.com>
+
+ * parse.y (java_expand_classes): Scan the whole class list looking
+ for access methods that haven't yet been expanded.
+
+2003-01-31 Adrian Bunk <bunk@fs.tum.de>
+
+ Fix for java/4269:
+
+ * jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
+ to fix bootstrap on sparc-unknown-netbsdelf1.5.
+ * jcf-parse.c: Likewise.
+
+2003-01-31 Mark Wielaard <mark@klomp.org>
+
+ * gjavah.c (throwable_p): Allocate 1 more byte for string.
+
+2003-01-30 Tom Tromey <tromey@redhat.com>
+
+ * jcf-parse.c (read_class): Update identifier's class value if it
+ changed during parsing.
+
+2003-01-29 Tom Tromey <tromey@redhat.com>
+
+ * parse.y (patch_assignment): Only transform the rhs of an
+ assignment when compiling to native.
+
+2003-01-28 Tom Tromey <tromey@redhat.com>
+
+ * lex.c (java_lex): Don't include UEOF as part of token.
+ (java_read_unicode): Error if \u sequence prematurely terminated.
+
+2003-01-27 Tom Tromey <tromey@redhat.com>
+
+ * parse.y (java_check_regular_methods): Check for construct after
+ checking types in throws clause.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (java.install-common, java.uninstall)
+ (java.install-info, java.install-man): Prepend $(DESTDIR)
+ to destination paths in all (un)installation commands.
+ (java.install-common): Rewrite $(LN) command to support
+ DESTDIR with "ln" as well as with "ln -s".
+
+2003-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * jcf-io.c (caching_stat): Cast the 3rd arg of scandir to void*.
+ * jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
+ warning.
+
+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..5c2309d0079 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -106,18 +106,18 @@ gt-java-builtins.h gtype-java.h : s-gtype ; @true
# Executables built by this Makefile:
JAVA_OBJS = java/parse.o java/class.o java/decl.o java/expr.o \
java/constants.o java/lang.o java/typeck.o java/except.o java/verify.o \
- java/zextract.o java/jcf-io.o java/jcf-parse.o java/mangle.o \
- java/mangle_name.o java/builtins.o \
+ java/zextract.o java/jcf-io.o java/win32-host.o java/jcf-parse.o \
+ java/mangle.o java/mangle_name.o java/builtins.o \
java/jcf-write.o java/buffer.o java/check-init.o java/jcf-depend.o \
java/jcf-path.o java/xref.o java/boehm.o java/java-tree-inline.o mkdeps.o
-GCJH_OBJS = java/gjavah.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
- java/zextract.o version.o mkdeps.o errors.o
+GCJH_OBJS = java/gjavah.o java/jcf-io.o java/win32-host.o java/jcf-depend.o \
+ java/jcf-path.o java/zextract.o version.o mkdeps.o errors.o
JVSCAN_OBJS = java/parse-scan.o java/jv-scan.o version.o
-JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
- java/zextract.o errors.o version.o mkdeps.o
+JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/win32-host.o java/jcf-depend.o \
+ java/jcf-path.o java/zextract.o errors.o version.o mkdeps.o
JVGENMAIN_OBJS = java/jvgenmain.o java/mangle_name.o errors.o
@@ -139,7 +139,8 @@ jv-scan$(exeext): $(JVSCAN_OBJS) $(LIBDEPS)
jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIBDEPS)
rm -f $@
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) $(ZLIB) $(LIBS)
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \
+ $(ZLIB) $(LDEXP_LIB) $(LIBS)
jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS)
rm -f $@
@@ -170,53 +171,54 @@ java.install-normal:
java.install-common: installdirs
-if [ -f $(GCJ)$(exeext) ]; then \
if [ -f $(GCJ)-cross$(exeext) ]; then \
- rm -f $(bindir)/$(JAVA_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) $(GCJ)-cross$(exeext) $(bindir)/$(JAVA_CROSS_NAME)$(exeext); \
- chmod a+x $(bindir)/$(JAVA_CROSS_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(JAVA_CROSS_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) $(GCJ)-cross$(exeext) $(DESTDIR)$(bindir)/$(JAVA_CROSS_NAME)$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$(JAVA_CROSS_NAME)$(exeext); \
else \
- rm -f $(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) $(GCJ)$(exeext) $(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
- chmod a+x $(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
- rm -f $(bindir)/$(JAVA_TARGET_INSTALL_NAME)$(exeext); \
- $(LN) $(bindir)/$(JAVA_INSTALL_NAME)$(exeext) $(bindir)/$(JAVA_TARGET_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) $(GCJ)$(exeext) $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$(JAVA_TARGET_INSTALL_NAME)$(exeext); \
+ ( cd $(DESTDIR)$(bindir) && \
+ $(LN) $(JAVA_INSTALL_NAME)$(exeext) $(JAVA_TARGET_INSTALL_NAME)$(exeext) ); \
fi ; \
fi ; \
for tool in $(JAVA_TARGET_INDEPENDENT_BIN_TOOLS); do \
tool_transformed_name=`echo $$tool|sed '$(program_transform_name)'`; \
if [ -f $$tool$(exeext) ]; then \
- rm -f $(bindir)/$$tool_transformed_name$(exeext); \
- $(INSTALL_PROGRAM) $$tool$(exeext) $(bindir)/$$tool_transformed_name$(exeext); \
- chmod a+x $(bindir)/$$tool_transformed_name$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$$tool_transformed_name$(exeext); \
+ $(INSTALL_PROGRAM) $$tool$(exeext) $(DESTDIR)$(bindir)/$$tool_transformed_name$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$$tool_transformed_name$(exeext); \
fi ; \
done
java.install-man:
java.uninstall:
- -rm -rf $(bindir)/$(JAVA_INSTALL_NAME)$(exeext)
- -rm -rf $(bindir)/$(JAVA_CROSS_NAME)$(exeext)
- -rm -rf $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext)
- -rm -rf $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext)
- -rm -rf $(man1dir)/gcjh$(man1ext)
- -rm -rf $(man1dir)/jv-scan$(man1ext)
- -rm -rf $(man1dir)/jcf-dump$(man1ext)
- -rm -rf $(man1dir)/gij$(man1ext)
- -rm -rf $(man1dir)/jv-convert$(man1ext)
+ -rm -rf $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(bindir)/$(JAVA_CROSS_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/gcjh$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/gij$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
java.install-info: installdirs
if [ -f jc1$(exeext) ] ; then \
if [ -f $(srcdir)/java/gcj.info ]; then \
- rm -f $(infodir)/gcj.info*; \
+ rm -f $(DESTDIR)$(infodir)/gcj.info*; \
for f in $(srcdir)/java/gcj.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
- $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
done; \
- chmod a-x $(infodir)/gcj.info*; \
+ chmod a-x $(DESTDIR)$(infodir)/gcj.info*; \
else true; fi; \
else true; fi
- -if [ -f jc1$(exeext) ] && [ -f $(infodir)/gcj.info ]; then \
+ -if [ -f jc1$(exeext) ] && [ -f $(DESTDIR)$(infodir)/gcj.info ]; then \
if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- install-info --dir-file=$(infodir)/dir $(infodir)/gcj.info; \
+ install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/gcj.info; \
else true; fi; \
else true; fi
@@ -300,6 +302,7 @@ java/jcf-depend.o: java/jcf-depend.c $(CONFIG_H) $(SYSTEM_H) java/jcf.h
java/jcf-parse.o: java/jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) flags.h \
input.h java/java-except.h $(SYSTEM_H) toplev.h java/parse.h $(GGC_H) \
debug.h real.h gt-java-jcf-parse.h
+java/win32-host.o: java/win32-host.c $(CONFIG_H) $(SYSTEM_H) java/jcf.h
java/jcf-write.o: java/jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
$(RTL_H) java/java-opcodes.h java/parse.h java/buffer.h $(SYSTEM_H) \
toplev.h $(GGC_H) gt-java-jcf-write.h
@@ -336,104 +339,105 @@ 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)
-if [ -f $(GCJ)$(exeext) ]; then \
if [ -f $(GCJ)-cross$(exeext) ]; then \
- rm -f $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
- $(INSTALL_DATA) $(srcdir)/java/gcj.1 $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/java/gcj.1 $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
else \
- rm -f $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
- $(INSTALL_DATA) $(srcdir)/java/gcj.1 $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
- chmod a-x $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+ rm -f $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/java/gcj.1 $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+ chmod a-x $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
fi ; \
fi
- -rm -f $(man1dir)/gcjh$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/gcjh.1 $(man1dir)/gcjh$(man1ext)
- -chmod a-x $(man1dir)/gcjh$(man1ext)
- -rm -f $(man1dir)/jv-scan$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/jv-scan.1 $(man1dir)/jv-scan$(man1ext)
- -chmod a-x $(man1dir)/jv-scan$(man1ext)
- -rm -f $(man1dir)/jcf-dump$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/jcf-dump.1 $(man1dir)/jcf-dump$(man1ext)
- -chmod a-x $(man1dir)/jcf-dump$(man1ext)
- -rm -f $(man1dir)/gij$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/gij.1 $(man1dir)/gij$(man1ext)
- -chmod a-x $(man1dir)/gij$(man1ext)
- -rm -f $(man1dir)/jv-convert$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/jv-convert.1 $(man1dir)/jv-convert$(man1ext)
- -chmod a-x $(man1dir)/jv-convert$(man1ext)
- -rm -f $(man1dir)/rmic$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/rmic.1 $(man1dir)/rmic$(man1ext)
- -chmod a-x $(man1dir)/rmic$(man1ext)
- -rm -f $(man1dir)/rmiregistry$(man1ext)
- -$(INSTALL_DATA) $(srcdir)/java/rmiregistry.1 $(man1dir)/rmiregistry$(man1ext)
- -chmod a-x $(man1dir)/rmiregistry$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/gcjh$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/gcjh.1 $(DESTDIR)$(man1dir)/gcjh$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/gcjh$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/jv-scan.1 $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/jcf-dump.1 $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/gij$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/gij.1 $(DESTDIR)$(man1dir)/gij$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/gij$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/jv-convert.1 $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/rmic$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/rmic.1 $(DESTDIR)$(man1dir)/rmic$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/rmic$(man1ext)
+ -rm -f $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/rmiregistry.1 $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
+ -chmod a-x $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index eba84161363..a506110845e 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -44,6 +44,7 @@ enum builtin_type
#define DEF_FUNCTION_TYPE_VAR_0(NAME, RETURN) NAME,
#define DEF_FUNCTION_TYPE_VAR_1(NAME, RETURN, ARG1) NAME,
#define DEF_FUNCTION_TYPE_VAR_2(NAME, RETURN, ARG1, ARG2) NAME,
+#define DEF_FUNCTION_TYPE_VAR_3(NAME, RETURN, ARG1, ARG2, ARG3) NAME,
#define DEF_POINTER_TYPE(NAME, TYPE) NAME,
#include "builtin-types.def"
#undef DEF_PRIMITIVE_TYPE
@@ -55,6 +56,7 @@ enum builtin_type
#undef DEF_FUNCTION_TYPE_VAR_0
#undef DEF_FUNCTION_TYPE_VAR_1
#undef DEF_FUNCTION_TYPE_VAR_2
+#undef DEF_FUNCTION_TYPE_VAR_3
#undef DEF_POINTER_TYPE
BT_LAST
};
@@ -302,12 +304,14 @@ initialize_builtins ()
#define DEF_FUNCTION_TYPE_4(ENUM, RETURN, ARG1, ARG2, ARG3, ARG4) \
builtin_types[(int) ENUM] \
= define_builtin_type (RETURN, ARG1, ARG2, ARG3, ARG4);
-#define DEF_FUNCTION_TYPE_VAR_0(ENUM, RETURN) \
+#define DEF_FUNCTION_TYPE_VAR_0(ENUM, RETURN) \
builtin_types[(int) ENUM] = NULL_TREE;
-#define DEF_FUNCTION_TYPE_VAR_1(ENUM, RETURN, ARG1) \
+#define DEF_FUNCTION_TYPE_VAR_1(ENUM, RETURN, ARG1) \
builtin_types[(int) ENUM] = NULL_TREE;
#define DEF_FUNCTION_TYPE_VAR_2(ENUM, RETURN, ARG1, ARG2) \
builtin_types[(int) ENUM] = NULL_TREE;
+#define DEF_FUNCTION_TYPE_VAR_3(ENUM, RETURN, ARG1, ARG2, ARG3) \
+ builtin_types[(int) ENUM] = NULL_TREE;
#define DEF_POINTER_TYPE(ENUM, TYPE) \
builtin_types[(int) ENUM] = NULL_TREE;
diff --git a/gcc/java/class.c b/gcc/java/class.c
index bec8d0c15e1..d1acdf9d59c 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -1,5 +1,5 @@
/* Functions related to building classes and their related objects.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1866,8 +1866,19 @@ maybe_layout_super_class (super_class, this_class)
super_class = TREE_TYPE (super_class);
else
{
+ /* do_resolve_class expects an EXPR_WITH_FILE_LOCATION, so
+ we give it one. */
+ tree this_wrap = NULL_TREE;
+
+ if (this_class)
+ {
+ tree this_decl = TYPE_NAME (this_class);
+ this_wrap = build_expr_wfl (this_class,
+ DECL_SOURCE_FILE (this_decl),
+ DECL_SOURCE_LINE (this_decl), 0);
+ }
super_class = do_resolve_class (NULL_TREE, /* FIXME? */
- super_class, NULL_TREE, this_class);
+ super_class, NULL_TREE, this_wrap);
if (!super_class)
return NULL_TREE; /* FIXME, NULL_TREE not checked by caller. */
super_class = TREE_TYPE (super_class);
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 41aea0c28f5..07475dee464 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),
@@ -881,7 +883,9 @@ java_init_decl_processing ()
t = tree_cons (NULL_TREE, object_ptr_type_node,
tree_cons (NULL_TREE, ptr_type_node,
- tree_cons (NULL_TREE, ptr_type_node, endlink)));
+ tree_cons (NULL_TREE, ptr_type_node,
+ tree_cons (NULL_TREE, int_type_node,
+ endlink))));
soft_lookupjnimethod_node
= builtin_function ("_Jv_LookupJNIMethod",
build_function_type (ptr_type_node, t),
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 8db2670d0f9..a8fa6be6c41 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)
@@ -1752,7 +1750,14 @@ build_class_init (clas, expr)
tree clas, expr;
{
tree init;
- if (inherits_from_p (current_class, clas))
+
+ /* An optimization: if CLAS is a superclass of the class we're
+ compiling, we don't need to initialize it. However, if CLAS is
+ an interface, it won't necessarily be initialized, even if we
+ implement it. */
+ if ((! CLASS_INTERFACE (TYPE_NAME (clas))
+ && inherits_from_p (current_class, clas))
+ || current_class == clas)
return expr;
if (always_initialize_class_p)
@@ -2173,6 +2178,8 @@ build_jni_stub (method)
tree method_args, res_type;
tree meth_var;
+ int args_size = 0;
+
tree klass = DECL_CONTEXT (method);
int from_class = ! CLASS_FROM_SOURCE_P (klass);
klass = build_class_ref (klass);
@@ -2234,7 +2241,16 @@ build_jni_stub (method)
special way, we would do that here. */
args = NULL_TREE;
for (tem = method_args; tem != NULL_TREE; tem = TREE_CHAIN (tem))
- args = tree_cons (NULL_TREE, tem, args);
+ {
+ int arg_bits = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (TREE_TYPE (tem)));
+#ifdef PARM_BOUNDARY
+ arg_bits = (((arg_bits + PARM_BOUNDARY - 1) / PARM_BOUNDARY)
+ * PARM_BOUNDARY);
+#endif
+ args_size += (arg_bits / BITS_PER_UNIT);
+
+ args = tree_cons (NULL_TREE, tem, args);
+ }
args = nreverse (args);
arg_types = TYPE_ARG_TYPES (TREE_TYPE (method));
@@ -2243,31 +2259,38 @@ build_jni_stub (method)
available in the argument list. */
if (METHOD_STATIC (method))
{
+ args_size += int_size_in_bytes (TREE_TYPE (klass));
args = tree_cons (NULL_TREE, klass, args);
arg_types = tree_cons (NULL_TREE, object_ptr_type_node, arg_types);
}
/* The JNIEnv structure is the first argument to the JNI function. */
+ args_size += int_size_in_bytes (TREE_TYPE (env_var));
args = tree_cons (NULL_TREE, env_var, args);
arg_types = tree_cons (NULL_TREE, ptr_type_node, arg_types);
/* We call _Jv_LookupJNIMethod to find the actual underlying
function pointer. _Jv_LookupJNIMethod will throw the appropriate
exception if this function is not found at runtime. */
+ tem = build_tree_list (NULL_TREE, build_int_2 (args_size, 0));
method_sig = build_java_signature (TREE_TYPE (method));
- lookup_arg =
- build_tree_list (NULL_TREE,
- build_utf8_ref (unmangle_classname
- (IDENTIFIER_POINTER (method_sig),
- IDENTIFIER_LENGTH (method_sig))));
+ lookup_arg = tree_cons (NULL_TREE,
+ build_utf8_ref (unmangle_classname
+ (IDENTIFIER_POINTER (method_sig),
+ IDENTIFIER_LENGTH (method_sig))),
+ tem);
tem = DECL_NAME (method);
lookup_arg
= tree_cons (NULL_TREE, klass,
tree_cons (NULL_TREE, build_utf8_ref (tem), lookup_arg));
+
+ tem = build_function_type (TREE_TYPE (TREE_TYPE (method)), arg_types);
+
+#ifdef MODIFY_JNI_METHOD_CALL
+ tem = MODIFY_JNI_METHOD_CALL (tem);
+#endif
- jni_func_type
- = build_pointer_type (build_function_type (TREE_TYPE (TREE_TYPE (method)),
- arg_types));
+ jni_func_type = build_pointer_type (tem);
jnifunc = build (COND_EXPR, ptr_type_node,
meth_var, meth_var,
diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi
index 3397a423a87..8206d8f7626 100644
--- a/gcc/java/gcj.texi
+++ b/gcc/java/gcj.texi
@@ -1,7 +1,9 @@
-@\input texinfo @c -*-texinfo-*-
+\input texinfo @c -*-texinfo-*-
@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,12 +13,40 @@
@set copyrights-gcj 2001, 2002
@c Versions
-@set version-gcc 3.3
-@set which-gcj GCC-@value{version-gcc}
+@set which-gcj GCC-@value{version-GCC}
+
+@copying
+@c man begin COPYRIGHT
+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.2 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
+@c man end
+section entitled
+``GNU Free Documentation License''.
+@ignore
+@c man begin COPYRIGHT
+man page gfdl(7).
+@c man end
+@end ignore
-@macro gcctabopt{body}
-@code{\body\}
-@end macro
+@c man begin COPYRIGHT
+
+(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.
+@c man end
+@end copying
@ifinfo
@format
@@ -43,33 +73,7 @@
@end direntry
@end format
-@c man begin COPYRIGHT
-Copyright (C) @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
-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
-@c man end
-section entitled
-``GNU Free Documentation License''.
-@ignore
-@c man begin COPYRIGHT
-man page gfdl(7).
-@c man end
-@end ignore
-
-(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
@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/gjavah.c b/gcc/java/gjavah.c
index 0c9d24990b7..dc05673e96c 100644
--- a/gcc/java/gjavah.c
+++ b/gcc/java/gjavah.c
@@ -1,7 +1,7 @@
/* Program to write C++-suitable header files from a Java(TM) .class
file. This is similar to SUN's javah.
-Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -131,8 +131,9 @@ static void print_full_cxx_name PARAMS ((FILE*, JCF*, int, int, int,
static void decompile_method PARAMS ((FILE*, JCF*, int));
static void add_class_decl PARAMS ((FILE*, JCF*, JCF_u2));
-static int java_float_finite PARAMS ((jfloat));
-static int java_double_finite PARAMS ((jdouble));
+static void jni_print_float PARAMS ((FILE *, jfloat));
+static void jni_print_double PARAMS ((FILE *, jdouble));
+
static void print_name PARAMS ((FILE *, JCF *, int));
static void print_base_classname PARAMS ((FILE *, JCF *, int));
static int utf8_cmp PARAMS ((const unsigned char *, int, const char *));
@@ -193,6 +194,9 @@ static int method_printed = 0;
static int method_synthetic = 0;
static int method_signature = 0;
+/* Set to 1 while the very first data member of a class is being handled. */
+static int is_first_data_member = 0;
+
#define HANDLE_METHOD(ACCESS_FLAGS, NAME, SIGNATURE, ATTRIBUTE_COUNT) \
{ \
method_synthetic = 0; \
@@ -240,38 +244,54 @@ static int decompiled = 0;
#include "jcf-reader.c"
-/* Some useful constants. */
-#define F_NAN_MASK 0x7f800000
-#if (1 == HOST_FLOAT_WORDS_BIG_ENDIAN) && ! defined (HOST_WORDS_BIG_ENDIAN)
-#define D_NAN_MASK 0x000000007ff00000LL
-#else
-#define D_NAN_MASK 0x7ff0000000000000LL
-#endif
-
-/* Return 1 if F is not Inf or NaN. */
-static int
-java_float_finite (f)
- jfloat f;
+/* Print a single-precision float, suitable for parsing by g++. */
+static void
+jni_print_float (FILE *stream, jfloat f)
{
- union Word u;
- u.f = f;
-
- /* We happen to know that F_NAN_MASK will match all NaN values, and
- also positive and negative infinity. That's why we only need one
- test here. See The Java Language Specification, section 20.9. */
- return (u.i & F_NAN_MASK) != F_NAN_MASK;
+ /* It'd be nice to use __builtin_nan/__builtin_inf here but they don't
+ work in data initializers. FIXME. */
+ if (JFLOAT_FINITE (f))
+ {
+ fputs (" = ", stream);
+ if (f.negative)
+ putc ('-', stream);
+ if (f.exponent)
+ fprintf (stream, "0x1.%.6xp%+df",
+ ((unsigned int)f.mantissa) << 1,
+ f.exponent - JFLOAT_EXP_BIAS);
+ else
+ /* Exponent of 0x01 is -125; exponent of 0x00 is *also* -125,
+ because the implicit leading 1 bit is no longer present. */
+ fprintf (stream, "0x0.%.6xp%+df",
+ ((unsigned int)f.mantissa) << 1,
+ f.exponent + 1 - JFLOAT_EXP_BIAS);
+ }
+ fputs (";\n", stream);
}
-/* Return 1 if D is not Inf or NaN. */
-static int
-java_double_finite (d)
- jdouble d;
+/* Print a double-precision float, suitable for parsing by g++. */
+static void
+jni_print_double (FILE *stream, jdouble f)
{
- union DWord u;
- u.d = d;
-
- /* Now check for all NaNs. */
- return (u.l & D_NAN_MASK) != D_NAN_MASK;
+ /* It'd be nice to use __builtin_nan/__builtin_inf here but they don't
+ work in data initializers. FIXME. */
+ if (JDOUBLE_FINITE (f))
+ {
+ fputs (" = ", stream);
+ if (f.negative)
+ putc ('-', stream);
+ if (f.exponent)
+ fprintf (stream, "0x1.%.5x%.8xp%+d",
+ f.mantissa0, f.mantissa1,
+ f.exponent - JDOUBLE_EXP_BIAS);
+ else
+ /* Exponent of 0x001 is -1022; exponent of 0x000 is *also* -1022,
+ because the implicit leading 1 bit is no longer present. */
+ fprintf (stream, "0x0.%.5x%.8xp%+d",
+ f.mantissa0, f.mantissa1,
+ f.exponent + 1 - JDOUBLE_EXP_BIAS);
+ }
+ fputs (";\n", stream);
}
/* Print a character, appropriately mangled for JNI. */
@@ -753,10 +773,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
jfloat fnum = JPOOL_FLOAT (jcf, current_field_value);
fputs ("const jfloat ", out);
print_field_name (out, jcf, name_index, 0);
- if (! java_float_finite (fnum))
- fputs (";\n", out);
- else
- fprintf (out, " = %.10g;\n", fnum);
+ jni_print_float (out, fnum);
}
break;
case CONSTANT_Double:
@@ -764,10 +781,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
jdouble dnum = JPOOL_DOUBLE (jcf, current_field_value);
fputs ("const jdouble ", out);
print_field_name (out, jcf, name_index, 0);
- if (! java_double_finite (dnum))
- fputs (";\n", out);
- else
- fprintf (out, " = %.17g;\n", dnum);
+ jni_print_double (out, dnum);
}
break;
default:
@@ -1151,7 +1165,7 @@ throwable_p (clname)
for (length = 0; clname[length] != ';' && clname[length] != '\0'; ++length)
;
- current = ALLOC (length);
+ current = ALLOC (length + 1);
for (i = 0; i < length; ++i)
current[i] = clname[i] == '/' ? '.' : clname[i];
current[length] = '\0';
@@ -1420,6 +1434,17 @@ DEFUN(print_c_decl, (stream, jcf, name_index, signature_index, is_init,
}
}
+ /* Force the alignment of the first data member. This is
+ because the "new" C++ ABI changed the alignemnt of non-POD
+ classes. gcj, however, still uses the "old" alignment. */
+ if (is_first_data_member && ! (flags & ACC_STATIC) && ! is_method)
+ {
+ is_first_data_member = 0;
+ print_cxx_classname (out, " __attribute__((aligned(__alignof__( ",
+ jcf, jcf->super_class);
+ fputs (" )))) ", stream);
+ }
+
/* Now print the name of the thing. */
if (need_space)
fputs (" ", stream);
@@ -2150,6 +2175,8 @@ DEFUN(process_file, (jcf, out),
}
/* Now go back for second pass over methods and fields. */
+ is_first_data_member = 1;
+
JCF_SEEK (jcf, method_start);
method_pass = 1;
jcf_parse_methods (jcf);
diff --git a/gcc/java/javaop.h b/gcc/java/javaop.h
index cbd939bbf99..994b2f934d1 100644
--- a/gcc/java/javaop.h
+++ b/gcc/java/javaop.h
@@ -57,21 +57,26 @@ typedef int32 jint;
typedef int64 jlong;
typedef void* jref;
-/* A 32-bit IEEE single-precision float. */
-#ifndef jfloat
-#define jfloat float
-#endif
-
-/* A 32-bit IEEE double-precision float. */
-#ifndef jdouble
-#define jdouble double
-#endif
-
-union Word {
- jint i;
- jfloat f;
- void *p;
-};
+/* A 32-bit big-endian IEEE single-precision float. */
+typedef struct _jfloat {
+ unsigned int negative : 1;
+ unsigned int exponent : 8;
+ unsigned int mantissa : 23;
+} jfloat;
+#define JFLOAT_FINITE(f) ((f).exponent != 0xFF)
+#define JFLOAT_QNAN_MASK 0x400000
+#define JFLOAT_EXP_BIAS 0x7f
+
+/* A 32-bit big-endian IEEE double-precision float. */
+typedef struct _jdouble {
+ unsigned int negative : 1;
+ unsigned int exponent : 11;
+ unsigned int mantissa0: 20;
+ unsigned int mantissa1: 32;
+} jdouble;
+#define JDOUBLE_FINITE(f) ((f).exponent != 0x7FF)
+#define JDOUBLE_QNAN_MASK 0x80000 /* apply to mantissa0 */
+#define JDOUBLE_EXP_BIAS 0x3ff
/* A jword is an unsigned integral type big enough for a 32-bit jint
or jfloat *or* a pointer. It is the type appropriate for stack
@@ -104,9 +109,14 @@ union Word {
static inline jfloat
WORD_TO_FLOAT(jword w)
-{ union Word wu;
- wu.i = w;
- return wu.f;
+{
+ jfloat f;
+
+ f.negative = (w & 0x80000000) >> 31;
+ f.exponent = (w & 0x7f800000) >> 23;
+ f.mantissa = (w & 0x007fffff);
+
+ return f;
}
/* Sign extend w. If the host on which this cross-compiler runs uses
@@ -128,21 +138,17 @@ WORDS_TO_LONG(jword hi, jword lo)
return ((jlong) hi << 32) | ((jlong)lo & (((jlong)1 << 32) -1));
}
-union DWord {
- jdouble d;
- jlong l;
- jword w[2];
-};
-
static inline jdouble
WORDS_TO_DOUBLE(jword hi, jword lo)
-{ union DWord wu;
-#if (1 == HOST_FLOAT_WORDS_BIG_ENDIAN)
- wu.l = WORDS_TO_LONG(lo, hi);
-#else
- wu.l = WORDS_TO_LONG(hi, lo);
-#endif
- return wu.d;
+{
+ jdouble d;
+
+ d.negative = (hi & 0x80000000) >> 31;
+ d.exponent = (hi & 0x7ff00000) >> 20;
+ d.mantissa0 = (hi & 0x000fffff);
+ d.mantissa1 = lo;
+
+ return d;
}
/* If PREFIX_CHAR is the first character of the Utf8 encoding of a character,
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c
index 72f1a5360b4..40f7a3fbf43 100644
--- a/gcc/java/jcf-dump.c
+++ b/gcc/java/jcf-dump.c
@@ -56,6 +56,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "version.h"
#include <getopt.h>
+#include <math.h>
/* Outout file. */
FILE *out;
@@ -504,24 +505,86 @@ DEFUN(print_constant, (out, jcf, index, verbosity),
break;
case CONSTANT_Float:
{
- union
- {
- jfloat f;
- int32 i;
- } pun;
-
- pun.f = JPOOL_FLOAT (jcf, index);
- fprintf (out, "%s%.10g",
- verbosity > 0 ? "Float " : "", (double) pun.f);
+ jfloat fnum = JPOOL_FLOAT (jcf, index);
+
+ if (verbosity > 0)
+ fputs ("Float ", out);
+
+ if (fnum.negative)
+ putc ('-', out);
+
+ if (JFLOAT_FINITE (fnum))
+ {
+ int dummy;
+ int exponent = fnum.exponent - JFLOAT_EXP_BIAS;
+ double f;
+ uint32 mantissa = fnum.mantissa;
+ if (fnum.exponent == 0)
+ /* Denormal. */
+ exponent++;
+ else
+ /* Normal; add the implicit bit. */
+ mantissa |= ((uint32)1 << 23);
+
+ f = frexp (mantissa, &dummy);
+ f = ldexp (f, exponent + 1);
+ fprintf (out, "%.10g", f);
+ }
+ else
+ {
+ if (fnum.mantissa == 0)
+ fputs ("Inf", out);
+ else if (fnum.mantissa & JFLOAT_QNAN_MASK)
+ fprintf (out, "QNaN(%u)", (fnum.mantissa & ~JFLOAT_QNAN_MASK));
+ else
+ fprintf (out, "SNaN(%u)", (fnum.mantissa & ~JFLOAT_QNAN_MASK));
+ }
+
if (verbosity > 1)
- fprintf (out, ", bits = 0x%08lx", (long) pun.i);
+ fprintf (out, ", bits = 0x%08lx", JPOOL_UINT (jcf, index));
break;
}
case CONSTANT_Double:
{
jdouble dnum = JPOOL_DOUBLE (jcf, index);
- fprintf (out, "%s%.20g", verbosity > 0 ? "Double " : "", dnum);
+
+ if (verbosity > 0)
+ fputs ("Double ", out);
+
+ if (dnum.negative)
+ putc ('-', out);
+
+ if (JDOUBLE_FINITE (dnum))
+ {
+ int dummy;
+ int exponent = dnum.exponent - JDOUBLE_EXP_BIAS;
+ double d;
+ uint64 mantissa = ((((uint64) dnum.mantissa0) << 32)
+ + dnum.mantissa1);
+ if (dnum.exponent == 0)
+ /* Denormal. */
+ exponent++;
+ else
+ /* Normal; add the implicit bit. */
+ mantissa |= ((uint64)1 << 52);
+
+ d = frexp (mantissa, &dummy);
+ d = ldexp (d, exponent + 1);
+ fprintf (out, "%.20g", d);
+ }
+ else
+ {
+ uint64 mantissa = dnum.mantissa0 & ~JDOUBLE_QNAN_MASK;
+ mantissa = (mantissa << 32) + dnum.mantissa1;
+
+ if (dnum.mantissa0 == 0 && dnum.mantissa1 == 0)
+ fputs ("Inf", out);
+ else if (dnum.mantissa0 & JDOUBLE_QNAN_MASK)
+ fprintf (out, "QNaN(%llu)", (unsigned long long)mantissa);
+ else
+ fprintf (out, "SNaN(%llu)", (unsigned long long)mantissa);
+ }
if (verbosity > 1)
{
int32 hi, lo;
diff --git a/gcc/java/jcf-io.c b/gcc/java/jcf-io.c
index 7b0eacacc2f..1a1fcebe135 100644
--- a/gcc/java/jcf-io.c
+++ b/gcc/java/jcf-io.c
@@ -343,6 +343,7 @@ DEFUN(caching_stat, (filename, buf),
{
#if JCF_USE_SCANDIR
char *sep;
+ char origsep = 0;
char *base;
memoized_dirlist_entry *dent;
void **slot;
@@ -356,15 +357,20 @@ DEFUN(caching_stat, (filename, buf),
/* Get the name of the directory. */
sep = strrchr (filename, DIR_SEPARATOR);
+#ifdef DIR_SEPARATOR_2
+ if (! sep)
+ sep = strrchr (filename, DIR_SEPARATOR_2);
+#endif
if (sep)
{
+ origsep = *sep;
*sep = '\0';
base = sep + 1;
}
else
base = filename;
- /* Obtain the entry for this directory form the hash table. */
+ /* Obtain the entry for this directory from the hash table. */
slot = htab_find_slot (memoized_dirlists, filename, INSERT);
if (!*slot)
{
@@ -375,20 +381,19 @@ DEFUN(caching_stat, (filename, buf),
/* Unfortunately, scandir is not fully standardized. In
particular, the type of the function pointer passed as the
third argument sometimes takes a "const struct dirent *"
- parameter, and sometimes just a "struct dirent *". We rely
- on the ability to interchange these two types of function
- pointers. */
+ parameter, and sometimes just a "struct dirent *". We cast
+ to (void *) so that either way it is quietly accepted. */
dent->num_files = scandir (filename, &dent->files,
- java_or_class_file,
+ (void *) java_or_class_file,
alphasort);
*slot = dent;
}
else
dent = *((memoized_dirlist_entry **) slot);
- /* Put the spearator back. */
+ /* Put the separator back. */
if (sep)
- *sep = DIR_SEPARATOR;
+ *sep = origsep;
/* If the file is not in the list, there is no need to stat it; it
does not exist. */
@@ -518,7 +523,8 @@ DEFUN(find_class, (classname, classname_length, jcf, source_ok),
strcpy (java_buffer, path_name);
l = strlen (java_buffer);
for (m = 0; m < classname_length; ++m)
- java_buffer[m + l] = (classname[m] == '.' ? '/' : classname[m]);
+ java_buffer[m + l] = (classname[m] == '.'
+ ? DIR_SEPARATOR : classname[m]);
strcpy (java_buffer + m + l, ".java");
java = caching_stat (java_buffer, &java_buf);
if (java == 0)
@@ -548,7 +554,7 @@ DEFUN(find_class, (classname, classname_length, jcf, source_ok),
classname+classname_length-
(classname_length <= 30 ?
classname_length : 30)));
- fd = open (buffer, O_RDONLY | O_BINARY);
+ fd = JCF_OPEN_EXACT_CASE (buffer, O_RDONLY | O_BINARY);
if (fd >= 0)
goto found;
}
@@ -560,7 +566,7 @@ DEFUN(find_class, (classname, classname_length, jcf, source_ok),
classname+classname_length-
(classname_length <= 30 ?
classname_length : 30)));
- fd = open (buffer, O_RDONLY);
+ fd = JCF_OPEN_EXACT_CASE (buffer, O_RDONLY);
if (fd >= 0)
{
jcf->java_source = 1;
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index eeb262a4846..a3ea33c02f8 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -1,5 +1,5 @@
/* Parser for Java(TM) .class files.
- Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -44,7 +44,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include <locale.h>
#endif
-#ifdef HAVE_NL_LANGINFO
+#ifdef HAVE_LANGINFO_CODESET
#include <langinfo.h>
#endif
@@ -548,6 +548,10 @@ read_class (name)
read_zip_member(current_jcf,
current_jcf->zipd, current_jcf->zipd->zipf);
jcf_parse (current_jcf);
+ /* Parsing might change the class, in which case we have to
+ put it back where we found it. */
+ if (current_class != class && icv != NULL_TREE)
+ TREE_TYPE (icv) = current_class;
class = current_class;
java_pop_parser_context (0);
java_parser_context_restore_global ();
@@ -838,7 +842,7 @@ parse_source_file_1 (file, finput)
/* There's no point in trying to find the current encoding unless we
are going to do something intelligent with it -- hence the test
for iconv. */
-#if defined (HAVE_LOCALE_H) && defined (HAVE_ICONV) && defined (HAVE_NL_LANGINFO)
+#if defined (HAVE_LOCALE_H) && defined (HAVE_ICONV) && defined (HAVE_LANGINFO_CODESET)
setlocale (LC_CTYPE, "");
if (current_encoding == NULL)
current_encoding = nl_langinfo (CODESET);
diff --git a/gcc/java/jcf-path.c b/gcc/java/jcf-path.c
index c9ed323dea4..856da0e1f41 100644
--- a/gcc/java/jcf-path.c
+++ b/gcc/java/jcf-path.c
@@ -1,6 +1,7 @@
/* Handle CLASSPATH, -classpath, and path searching.
- Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -148,22 +149,23 @@ add_entry (entp, filename, is_system)
n->next = NULL;
len = strlen (filename);
- if (len > 4 && (strcmp (filename + len - 4, ".zip") == 0
- || strcmp (filename + len - 4, ".jar") == 0))
+
+ if (len > 4 && (COMPARE_FILENAMES (filename + len - 4, ".zip") == 0
+ || COMPARE_FILENAMES (filename + len - 4, ".jar") == 0))
{
n->flags |= FLAG_ZIP;
/* If the user uses -classpath then he'll have to include
libgcj.jar in the value. We check for this in a simplistic
way. Symlinks will fool this test. This is only used for
-MM and -MMD, so it probably isn't terribly important. */
- if (! strcmp (filename, LIBGCJ_ZIP_FILE))
+ if (! COMPARE_FILENAMES (filename, LIBGCJ_ZIP_FILE))
n->flags |= FLAG_SYSTEM;
}
/* Note that we add a trailing separator to `.zip' names as well.
This is a little hack that lets the searching code in jcf-io.c
work more easily. Eww. */
- if (filename[len - 1] != '/' && filename[len - 1] != DIR_SEPARATOR)
+ if (! IS_DIR_SEPARATOR (filename[len - 1]))
{
char *f2 = alloca (len + 2);
strcpy (f2, filename);
@@ -378,7 +380,7 @@ jcf_path_extdirs_arg (cp)
char *name = alloca (dirname_length
+ strlen (direntp->d_name) + 2);
strcpy (name, buf);
- if (name[dirname_length-1] != DIR_SEPARATOR)
+ if (! IS_DIR_SEPARATOR (name[dirname_length-1]))
{
name[dirname_length] = DIR_SEPARATOR;
name[dirname_length+1] = 0;
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index 47cfd11be8a..1dec6b9e73b 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -276,6 +276,9 @@ struct jcf_partial
/* Information about the current switch statement. */
struct jcf_switch_state *sw_state;
+
+ /* The count of jsr instructions that have been emmitted. */
+ long num_jsrs;
};
static void generate_bytecode_insns PARAMS ((tree, int, struct jcf_partial *));
@@ -292,7 +295,7 @@ static void define_jcf_label PARAMS ((struct jcf_block *,
static struct jcf_block * get_jcf_label_here PARAMS ((struct jcf_partial *));
static void put_linenumber PARAMS ((int, struct jcf_partial *));
static void localvar_alloc PARAMS ((tree, struct jcf_partial *));
-static void localvar_free PARAMS ((tree, struct jcf_partial *));
+static void maybe_free_localvar PARAMS ((tree, struct jcf_partial *, int));
static int get_access_flags PARAMS ((tree));
static void write_chunks PARAMS ((FILE *, struct chunk *));
static int adjust_typed_op PARAMS ((tree, int));
@@ -626,9 +629,10 @@ localvar_alloc (decl, state)
}
static void
-localvar_free (decl, state)
+maybe_free_localvar (decl, state, really)
tree decl;
struct jcf_partial *state;
+ int really;
{
struct jcf_block *end_label = get_jcf_label_here (state);
int index = DECL_LOCAL_INDEX (decl);
@@ -640,6 +644,8 @@ localvar_free (decl, state)
if (info->decl != decl)
abort ();
+ if (! really)
+ return;
ptr[0] = NULL;
if (wide)
{
@@ -1144,6 +1150,7 @@ emit_jsr (target, state)
OP1 (OPCODE_jsr);
/* Value is 1 byte from reloc back to start of instruction. */
emit_reloc (RELOCATION_VALUE_1, OPCODE_jsr_w, target, state);
+ state->num_jsrs++;
}
/* Generate code to evaluate EXP. If the result is true,
@@ -1431,7 +1438,7 @@ generate_bytecode_return (exp, state)
emit_store (state->return_value_decl, state);
call_cleanups (NULL, state);
emit_load (state->return_value_decl, state);
- /* If we call localvar_free (state->return_value_decl, state),
+ /* If we call maybe_free_localvar (state->return_value_decl, state, 1),
then we risk the save decl erroneously re-used in the
finalizer. Instead, we keep the state->return_value_decl
allocated through the rest of the method. This is not
@@ -1471,6 +1478,7 @@ generate_bytecode_insns (exp, target, state)
{
tree local;
tree body = BLOCK_EXPR_BODY (exp);
+ long jsrs = state->num_jsrs;
for (local = BLOCK_EXPR_DECLS (exp); local; )
{
tree next = TREE_CHAIN (local);
@@ -1484,10 +1492,11 @@ generate_bytecode_insns (exp, target, state)
body = TREE_OPERAND (body, 1);
}
generate_bytecode_insns (body, target, state);
+
for (local = BLOCK_EXPR_DECLS (exp); local; )
{
tree next = TREE_CHAIN (local);
- localvar_free (local, state);
+ maybe_free_localvar (local, state, state->num_jsrs <= jsrs);
local = next;
}
}
@@ -1744,6 +1753,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 +1786,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 * (unsigned) sw_state.num_cases >= delta)
{ /* Use tableswitch. */
int index = 0;
RESERVE (13 + 4 * (sw_state.max_case - sw_state.min_case + 1));
@@ -2437,8 +2450,8 @@ generate_bytecode_insns (exp, target, state)
if (CAN_COMPLETE_NORMALLY (finally))
{
maybe_wide (OPCODE_ret, DECL_LOCAL_INDEX (return_link), state);
- localvar_free (exception_decl, state);
- localvar_free (return_link, state);
+ maybe_free_localvar (exception_decl, state, 1);
+ maybe_free_localvar (return_link, state, 1);
define_jcf_label (finished_label, state);
}
}
@@ -3043,6 +3056,7 @@ generate_classfile (clas, state)
get_jcf_label_here (state); /* Force a first block. */
for (t = DECL_ARGUMENTS (part); t != NULL_TREE; t = TREE_CHAIN (t))
localvar_alloc (t, state);
+ state->num_jsrs = 0;
generate_bytecode_insns (body, IGNORE_TARGET, state);
if (CAN_COMPLETE_NORMALLY (body))
{
@@ -3052,9 +3066,9 @@ generate_classfile (clas, state)
OP1 (OPCODE_return);
}
for (t = DECL_ARGUMENTS (part); t != NULL_TREE; t = TREE_CHAIN (t))
- localvar_free (t, state);
+ maybe_free_localvar (t, state, 1);
if (state->return_value_decl != NULL_TREE)
- localvar_free (state->return_value_decl, state);
+ maybe_free_localvar (state->return_value_decl, state, 1);
finish_jcf_block (state);
perform_relocations (state);
@@ -3333,6 +3347,7 @@ make_class_file_name (clas)
const char *dname, *cname, *slash;
char *r;
struct stat sb;
+ char sep;
cname = IDENTIFIER_POINTER (identifier_subst (DECL_NAME (TYPE_NAME (clas)),
"", '.', DIR_SEPARATOR,
@@ -3344,24 +3359,45 @@ make_class_file_name (clas)
char *t;
dname = DECL_SOURCE_FILE (TYPE_NAME (clas));
slash = strrchr (dname, DIR_SEPARATOR);
+#ifdef DIR_SEPARATOR_2
if (! slash)
- {
- dname = ".";
- slash = dname + 1;
- }
+ slash = strrchr (dname, DIR_SEPARATOR_2);
+#endif
+ if (! slash)
+ {
+ dname = ".";
+ slash = dname + 1;
+ sep = DIR_SEPARATOR;
+ }
+ else
+ sep = *slash;
+
t = strrchr (cname, DIR_SEPARATOR);
if (t)
cname = t + 1;
}
else
{
+ char *s;
+
dname = jcf_write_base_directory;
+
+ s = strrchr (dname, DIR_SEPARATOR);
+#ifdef DIR_SEPARATOR_2
+ if (! s)
+ s = strrchr (dname, DIR_SEPARATOR_2);
+#endif
+ if (s)
+ sep = *s;
+ else
+ sep = DIR_SEPARATOR;
+
slash = dname + strlen (dname);
}
r = xmalloc (slash - dname + strlen (cname) + 2);
strncpy (r, dname, slash - dname);
- r[slash - dname] = DIR_SEPARATOR;
+ r[slash - dname] = sep;
strcpy (&r[slash - dname + 1], cname);
/* We try to make new directories when we need them. We only do
@@ -3373,7 +3409,7 @@ make_class_file_name (clas)
dname = r + (slash - dname) + 1;
while (1)
{
- char *s = strchr (dname, DIR_SEPARATOR);
+ char *s = strchr (dname, sep);
if (s == NULL)
break;
*s = '\0';
@@ -3382,9 +3418,9 @@ make_class_file_name (clas)
&& mkdir (r, 0755) == -1)
fatal_io_error ("can't create directory %s", r);
- *s = DIR_SEPARATOR;
+ *s = sep;
/* Skip consecutive separators. */
- for (dname = s + 1; *dname && *dname == DIR_SEPARATOR; ++dname)
+ for (dname = s + 1; *dname && *dname == sep; ++dname)
;
}
diff --git a/gcc/java/jcf.h b/gcc/java/jcf.h
index e674bdb7022..79d3e6d6934 100644
--- a/gcc/java/jcf.h
+++ b/gcc/java/jcf.h
@@ -1,6 +1,7 @@
/* Utility macros to read Java(TM) .class files and byte codes.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -71,6 +72,33 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#define JCF_USE_SCANDIR 0
#endif
+/* On case-insensitive file systems, file name components must be
+ compared using "strcasecmp", if available, instead of "strcmp".
+ Assumes "config.h" has already been included. */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM) && defined (HAVE_STRCASECMP)
+#define COMPARE_FILENAMES(X, Y) strcasecmp ((X), (Y))
+#else
+#define COMPARE_FILENAMES(X, Y) strcmp ((X), (Y))
+#endif
+
+/* On case-insensitive file systems, we need to ensure that a request
+ to open a .java or .class file is honored only if the file to be
+ opened is of the exact case we are asking for. In other words, we
+ want to override the inherent case insensitivity of the underlying
+ file system. On other platforms, this macro becomes the vanilla
+ open() call.
+
+ If you want to add another host, add your define to the list below
+ (i.e. defined(WIN32) || defined(YOUR_HOST)) and add an host-specific
+ .c file to Make-lang.in similar to win32-host.c */
+#if defined(WIN32)
+extern int
+jcf_open_exact_case (const char* filename, int oflag);
+#define JCF_OPEN_EXACT_CASE(X, Y) jcf_open_exact_case (X, Y)
+#else
+#define JCF_OPEN_EXACT_CASE open
+#endif /* WIN32 */
+
struct JCF;
typedef int (*jcf_filbuf_t) PARAMS ((struct JCF*, int needed));
diff --git a/gcc/java/jv-scan.c b/gcc/java/jv-scan.c
index f92acebd7f4..d3e3d09c3a3 100644
--- a/gcc/java/jv-scan.c
+++ b/gcc/java/jv-scan.c
@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA. */
#include <locale.h>
#endif
-#ifdef HAVE_NL_LANGINFO
+#ifdef HAVE_LANGINFO_CODESET
#include <langinfo.h>
#endif
@@ -203,7 +203,7 @@ DEFUN (main, (argc, argv),
/* There's no point in trying to find the current encoding
unless we are going to do something intelligent with it
-- hence the test for iconv. */
-#if defined (HAVE_LOCALE_H) && defined (HAVE_ICONV) && defined (HAVE_NL_LANGINFO)
+#if defined (HAVE_LOCALE_H) && defined (HAVE_ICONV) && defined (HAVE_LANGINFO_CODESET)
setlocale (LC_CTYPE, "");
if (encoding == NULL)
encoding = nl_langinfo (CODESET);
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 0d9605c09ff..38d15848ca7 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -75,7 +75,9 @@ static int merge_init_test_initialization PARAMS ((void * *,
static int inline_init_test_initialization PARAMS ((void * *,
void *));
static bool java_can_use_bit_fields_p PARAMS ((void));
+static bool java_decl_ok_for_sibcall (tree);
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"
@@ -291,6 +293,9 @@ struct language_function GTY(())
#undef LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN
#define LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN java_dump_tree
+#undef LANG_HOOKS_DECL_OK_FOR_SIBCALL
+#define LANG_HOOKS_DECL_OK_FOR_SIBCALL java_decl_ok_for_sibcall
+
/* Each front end provides its own. */
const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
@@ -1155,4 +1160,16 @@ java_dump_tree (dump_info, t)
}
return 0;
}
+
+/* Java calls can't, in general, be sibcalls because we need an
+ accurate stack trace in order to guarantee correct operation of
+ methods such as Class.forName(String) and
+ SecurityManager.getClassContext(). */
+
+static bool
+java_decl_ok_for_sibcall (tree decl)
+{
+ return decl != NULL && DECL_CONTEXT (decl) == current_class;
+}
+
#include "gt-java-lang.h"
diff --git a/gcc/java/lex.c b/gcc/java/lex.c
index eecbcff81ce..e648686a3ce 100644
--- a/gcc/java/lex.c
+++ b/gcc/java/lex.c
@@ -555,23 +555,31 @@ java_read_unicode (lex, unicode_escape_p)
while ((c = java_read_char (lex)) == 'u')
;
- /* Unget the most recent character as it is not a `u'. */
- if (c == UEOF)
- return UEOF;
- lex->unget_value = c;
-
- /* Next should be 4 hex digits, otherwise it's an error.
- The hex value is converted into the unicode, pushed into
- the Unicode stream. */
- for (shift = 12; shift >= 0; shift -= 4)
+ shift = 12;
+ do
{
- if ((c = java_read_char (lex)) == UEOF)
- return UEOF;
+ if (c == UEOF)
+ {
+ java_lex_error ("prematurely terminated \\u sequence", 0);
+ return UEOF;
+ }
+
if (hex_p (c))
unicode |= (unicode_t)(hex_value (c) << shift);
else
- java_lex_error ("Non hex digit in Unicode escape sequence", 0);
+ {
+ java_lex_error ("non-hex digit in \\u sequence", 0);
+ break;
+ }
+
+ c = java_read_char (lex);
+ shift -= 4;
}
+ while (shift >= 0);
+
+ if (c != UEOF)
+ lex->unget_value = c;
+
lex->bs_count = 0;
*unicode_escape_p = 1;
return unicode;
@@ -1536,7 +1544,7 @@ java_lex (java_lval)
/* Keyword, boolean literal or null literal. */
for (first_unicode = c, all_ascii = 1, ascii_index = 0;
- JAVA_PART_CHAR_P (c); c = java_get_unicode ())
+ c != UEOF && JAVA_PART_CHAR_P (c); c = java_get_unicode ())
{
java_unicode_2_utf8 (c);
if (all_ascii && c >= 128)
@@ -1546,7 +1554,8 @@ java_lex (java_lval)
obstack_1grow (&temporary_obstack, '\0');
string = obstack_finish (&temporary_obstack);
- java_unget_unicode ();
+ if (c != UEOF)
+ java_unget_unicode ();
/* If we have something all ascii, we consider a keyword, a boolean
literal, a null literal or an all ASCII identifier. Otherwise,
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index d457f1a046d..755d569e685 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)
{
@@ -5763,11 +5775,11 @@ resolve_class (enclosing, class_type, decl, cl)
return resolved_type_decl;
}
-/* Effectively perform the resolution of class CLASS_TYPE. DECL or CL
- are used to report error messages. Do not try to replace TYPE_NAME
- (class_type) by a variable, since it is changed by
- find_in_imports{_on_demand} and (but it doesn't really matter)
- qualify_and_find. */
+/* Effectively perform the resolution of class CLASS_TYPE. DECL or CL
+ are used to report error messages; CL must either be NULL_TREE or a
+ WFL wrapping a class. Do not try to replace TYPE_NAME (class_type)
+ by a variable, since it is changed by find_in_imports{_on_demand}
+ and (but it doesn't really matter) qualify_and_find. */
tree
do_resolve_class (enclosing, class_type, decl, cl)
@@ -6365,17 +6377,8 @@ java_check_regular_methods (class_decl)
if (check_method_redefinition (class, method))
continue;
- /* If we see one constructor a mark so we don't generate the
- default one. Also skip other verifications: constructors
- can't be inherited hence hiden or overriden */
- if (DECL_CONSTRUCTOR_P (method))
- {
- saw_constructor = 1;
- continue;
- }
-
- /* We verify things thrown by the method. They must inherits from
- java.lang.Throwable */
+ /* We verify things thrown by the method. They must inherit from
+ java.lang.Throwable. */
for (mthrows = DECL_FUNCTION_THROWS (method);
mthrows; mthrows = TREE_CHAIN (mthrows))
{
@@ -6386,6 +6389,15 @@ java_check_regular_methods (class_decl)
(DECL_NAME (TYPE_NAME (TREE_VALUE (mthrows)))));
}
+ /* If we see one constructor a mark so we don't generate the
+ default one. Also skip other verifications: constructors
+ can't be inherited hence hidden or overridden. */
+ if (DECL_CONSTRUCTOR_P (method))
+ {
+ saw_constructor = 1;
+ continue;
+ }
+
sig = build_java_argument_signature (TREE_TYPE (method));
found = lookup_argument_method2 (class, DECL_NAME (method), sig);
@@ -9049,6 +9061,65 @@ java_expand_classes ()
}
}
+ /* Expanding the constructors of anonymous classes generates access
+ methods. Scan all the methods looking for null DECL_RESULTs --
+ this will be the case if a method hasn't been expanded. */
+ for (cur_ctxp = ctxp_for_generation; cur_ctxp; cur_ctxp = cur_ctxp->next)
+ {
+ tree current;
+ ctxp = cur_ctxp;
+ for (current = ctxp->class_list; current; current = TREE_CHAIN (current))
+ {
+ tree d;
+ current_class = TREE_TYPE (current);
+ for (d = TYPE_METHODS (current_class); d; d = TREE_CHAIN (d))
+ {
+ if (DECL_RESULT (d) == NULL_TREE)
+ {
+ restore_line_number_status (1);
+ java_complete_expand_method (d);
+ restore_line_number_status (0);
+ }
+ }
+ }
+ }
+
+ /* ??? Instead of all this we could iterate around the list of
+ classes until there were no more un-expanded methods. It would
+ take a little longer -- one pass over the whole list of methods
+ -- but it would be simpler. Like this: */
+#if 0
+ {
+ int something_changed;
+
+ do
+ {
+ something_changed = 0;
+ for (cur_ctxp = ctxp_for_generation; cur_ctxp; cur_ctxp = cur_ctxp->next)
+ {
+ tree current;
+ ctxp = cur_ctxp;
+ for (current = ctxp->class_list; current; current = TREE_CHAIN (current))
+ {
+ tree d;
+ current_class = TREE_TYPE (current);
+ for (d = TYPE_METHODS (current_class); d; d = TREE_CHAIN (d))
+ {
+ if (DECL_RESULT (d) == NULL_TREE)
+ {
+ something_changed = 1;
+ restore_line_number_status (1);
+ java_complete_expand_method (d);
+ restore_line_number_status (0);
+ }
+ }
+ }
+ }
+ }
+ while (something_changed);
+ }
+#endif
+
/* If we've found error at that stage, don't try to generate
anything, unless we're emitting xrefs or checking the syntax only
(but not using -fsyntax-only for the purpose of generating
@@ -9402,6 +9473,19 @@ resolve_field_access (qual_wfl, field_decl, field_type)
return error_mark_node;
if (is_static)
field_ref = maybe_build_class_init_for_field (decl, field_ref);
+
+ /* If we're looking at a static field, we may need to generate a
+ class initialization for it. This can happen when the access
+ looks like `field.ref', where `field' is a static field in an
+ interface we implement. */
+ if (!flag_emit_class_files
+ && !flag_emit_xref
+ && TREE_CODE (where_found) == VAR_DECL
+ && FIELD_STATIC (where_found))
+ {
+ build_static_field_ref (where_found);
+ field_ref = build_class_init (DECL_CONTEXT (where_found), field_ref);
+ }
}
else
field_ref = decl;
@@ -10789,7 +10873,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;
}
@@ -11859,7 +11947,9 @@ java_complete_lhs (node)
nn = wfl_op2;
if (TREE_CODE (nn) == EXPR_WITH_FILE_LOCATION)
nn = EXPR_WFL_NODE (nn);
- if (TREE_CODE (nn) != EXIT_EXPR)
+ /* NN can be NULL_TREE exactly when UPDATE is, in
+ finish_for_loop. */
+ if (nn != NULL_TREE && TREE_CODE (nn) != EXIT_EXPR)
{
SET_WFL_OPERATOR (wfl_operator, node, wfl_op2);
if (SUPPRESS_UNREACHABLE_ERROR (nn))
@@ -12592,17 +12682,18 @@ static char *
string_convert_int_cst (node)
tree node;
{
- static char buffer[80];
+ /* Long.MIN_VALUE is -9223372036854775808, 20 characters. */
+ static char buffer[21];
unsigned HOST_WIDE_INT lo = TREE_INT_CST_LOW (node);
unsigned HOST_WIDE_INT hi = TREE_INT_CST_HIGH (node);
- char *p = buffer + sizeof (buffer) - 1;
+ char *p = buffer + sizeof (buffer);
int neg = 0;
unsigned HOST_WIDE_INT hibit = (((unsigned HOST_WIDE_INT) 1)
<< (HOST_BITS_PER_WIDE_INT - 1));
- *p-- = '\0';
+ *--p = '\0';
/* If negative, note the fact and negate the value. */
if ((hi & hibit))
@@ -12615,7 +12706,7 @@ string_convert_int_cst (node)
}
/* Divide by 10 until there are no bits left. */
- while (hi || lo)
+ do
{
unsigned HOST_WIDE_INT acc = 0;
unsigned HOST_WIDE_INT outhi = 0, outlo = 0;
@@ -12647,17 +12738,18 @@ string_convert_int_cst (node)
}
}
- /* FIXME: ASCII assumption. */
- *p-- = '0' + acc;
+ /* '0' == 060 in Java, but might not be here (think EBCDIC). */
+ *--p = '\060' + acc;
hi = outhi;
lo = outlo;
}
+ while (hi || lo);
if (neg)
- *p-- = '-';
+ *--p = '\055'; /* '-' == 055 in Java, but might not be here. */
- return p + 1;
+ return p;
}
/* Print an INTEGER_CST node in a static buffer, and return the
@@ -12856,6 +12948,43 @@ patch_assignment (node, wfl_op1)
DECL_INITIAL (lvalue) = new_rhs;
}
+ /* Copy the rhs if it's a reference. */
+ if (! flag_check_references && ! flag_emit_class_files && 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;
@@ -13770,25 +13899,25 @@ do_merge_string_cste (cste, string, string_len, after)
}
/* Tries to merge OP1 (a STRING_CST) and OP2 (if suitable). Return a
- new STRING_CST on success, NULL_TREE on failure */
+ new STRING_CST on success, NULL_TREE on failure. */
static tree
merge_string_cste (op1, op2, after)
tree op1, op2;
int after;
{
- /* Handle two string constants right away */
+ /* Handle two string constants right away. */
if (TREE_CODE (op2) == STRING_CST)
return do_merge_string_cste (op1, TREE_STRING_POINTER (op2),
TREE_STRING_LENGTH (op2), after);
- /* Reasonable integer constant can be treated right away */
+ /* Reasonable integer constant can be treated right away. */
if (TREE_CODE (op2) == INTEGER_CST && !TREE_CONSTANT_OVERFLOW (op2))
{
static const char *const boolean_true = "true";
static const char *const boolean_false = "false";
static const char *const null_pointer = "null";
- char ch[3];
+ char ch[4];
const char *string;
if (op2 == boolean_true_node)
@@ -13796,22 +13925,30 @@ merge_string_cste (op1, op2, after)
else if (op2 == boolean_false_node)
string = boolean_false;
else if (op2 == null_pointer_node)
+ /* FIXME: null is not a compile-time constant, so it is only safe to
+ merge if the overall expression is non-constant. However, this
+ code always merges without checking the overall expression. */
string = null_pointer;
else if (TREE_TYPE (op2) == char_type_node)
{
/* Convert the character into UTF-8. */
- unsigned char c = (unsigned char) TREE_INT_CST_LOW (op2);
+ unsigned int c = (unsigned int) TREE_INT_CST_LOW (op2);
unsigned char *p = (unsigned char *) ch;
- if (0x01 <= c
- && c <= 0x7f)
- *p++ = c;
+ if (0x01 <= c && c <= 0x7f)
+ *p++ = (unsigned char) c;
+ else if (c < 0x7ff)
+ {
+ *p++ = (unsigned char) (c >> 6 | 0xc0);
+ *p++ = (unsigned char) ((c & 0x3f) | 0x80);
+ }
else
{
- *p++ = c >> 6 | 0xc0;
- *p++ = (c & 0x3f) | 0x80;
+ *p++ = (unsigned char) (c >> 12 | 0xe0);
+ *p++ = (unsigned char) (((c >> 6) & 0x3f) | 0x80);
+ *p++ = (unsigned char) ((c & 0x3f) | 0x80);
}
*p = '\0';
-
+
string = ch;
}
else
@@ -15052,12 +15189,17 @@ finish_for_loop (location, condition, update, body)
tree up2 = update;
if (TREE_CODE (up2) == EXPR_WITH_FILE_LOCATION)
up2 = EXPR_WFL_NODE (up2);
- /* Try to detect constraint violations. These would be
- programming errors somewhere. */
- if (! IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (up2)))
- || TREE_CODE (up2) == LOOP_EXPR)
- abort ();
- SUPPRESS_UNREACHABLE_ERROR (up2) = 1;
+ /* It is possible for the update expression to be an
+ EXPR_WFL_NODE wrapping nothing. */
+ if (up2 != NULL_TREE && up2 != empty_stmt_node)
+ {
+ /* Try to detect constraint violations. These would be
+ programming errors somewhere. */
+ if (! IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (up2)))
+ || TREE_CODE (up2) == LOOP_EXPR)
+ abort ();
+ SUPPRESS_UNREACHABLE_ERROR (up2) = 1;
+ }
}
LOOP_EXPR_BODY_UPDATE_BLOCK (LOOP_EXPR_BODY (loop)) = update;
return loop;
diff --git a/gcc/java/win32-host.c b/gcc/java/win32-host.c
new file mode 100644
index 00000000000..7ab8fa53f96
--- /dev/null
+++ b/gcc/java/win32-host.c
@@ -0,0 +1,85 @@
+/* Platform-Specific Win32 Functions
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This program 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.
+
+This program 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.
+
+Java and all Java-based marks are trademarks or registered trademarks
+of Sun Microsystems, Inc. in the United States and other countries.
+The Free Software Foundation is independent of Sun Microsystems, Inc. */
+
+/* Written by Mohan Embar <gnustuff@thisiscool.com>, March 2003. */
+
+#ifdef WIN32
+
+#include "config.h"
+#include "system.h"
+
+#include "jcf.h"
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#undef WIN32_LEAN_AND_MEAN
+
+/* Simulate an open() failure with ENOENT */
+static int
+file_not_found (void);
+
+static int
+file_not_found (void)
+{
+ errno = ENOENT;
+ return -1;
+}
+
+int
+jcf_open_exact_case (const char *filename, int oflag)
+{
+ int filename_len = strlen (filename);
+ int found_file_len;
+ HANDLE found_file_handle;
+ WIN32_FIND_DATA fd;
+
+ /* See if we can find this file. */
+ found_file_handle = FindFirstFile (filename, &fd);
+ if (found_file_handle == INVALID_HANDLE_VALUE)
+ return file_not_found ();
+ FindClose (found_file_handle);
+
+ found_file_len = strlen (fd.cFileName);
+
+ /* This should never happen. */
+ if (found_file_len > filename_len)
+ return file_not_found ();
+
+ /* Here, we're only actually comparing the filename and not
+ checking the case of any containing directory components.
+ Although we're not fully obeying our contract, checking
+ all directory components would be tedious and time-consuming
+ and it's a pretty safe assumption that mixed-case package
+ names are a fringe case.... */
+ if (strcmp (filename + filename_len - found_file_len, fd.cFileName))
+ {
+ /* Reject this because it is not a perfect-case match. */
+ /* printf("************\nRejected:\n%s\n%s\n************\n\n", filename, fd.cFileName); */
+ return file_not_found ();
+ }
+ else
+ {
+ return open (filename, oflag);
+ }
+}
+
+#endif /* WIN32 */
diff --git a/gcc/jump.c b/gcc/jump.c
index ef031f2a8a1..fffc8e7cbb1 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;
@@ -1057,6 +1080,22 @@ simplejump_p (insn)
&& GET_CODE (SET_SRC (PATTERN (insn))) == LABEL_REF);
}
+/* Return 1 if INSN is an tablejump. */
+
+int
+tablejump_p (insn)
+ rtx insn;
+{
+ rtx table;
+ return (GET_CODE (insn) == JUMP_INSN
+ && JUMP_LABEL (insn)
+ && NEXT_INSN (JUMP_LABEL (insn))
+ && (table = next_active_insn (JUMP_LABEL (insn)))
+ && GET_CODE (table) == JUMP_INSN
+ && (GET_CODE (PATTERN (table)) == ADDR_VEC
+ || GET_CODE (PATTERN (table)) == ADDR_DIFF_VEC));
+}
+
/* Return nonzero if INSN is a (possibly) conditional jump
and nothing more.
@@ -1877,14 +1916,14 @@ delete_for_peephole (from, to)
is also an unconditional jump in that case. */
}
-/* We have determined that INSN is never reached, and are about to
- delete it. Print a warning if the user asked for one.
+/* We have determined that AVOIDED_INSN is never reached, and are
+ about to delete it. If the insn chain between AVOIDED_INSN and
+ FINISH contains more than one line from the current function, and
+ contains at least one operation, print a warning if the user asked
+ for it. If FINISH is NULL, look between AVOIDED_INSN and a LABEL.
- To try to make this warning more useful, this should only be called
- once per basic block not reached, and it only warns when the basic
- block contains more than one line from the current function, and
- contains at least one operation. CSE and inlining can duplicate insns,
- so it's possible to get spurious warnings from this. */
+ CSE and inlining can duplicate insns, so it's possible to get
+ spurious warnings from this. */
void
never_reached_warning (avoided_insn, finish)
@@ -1894,15 +1933,29 @@ never_reached_warning (avoided_insn, finish)
rtx a_line_note = NULL;
int two_avoided_lines = 0, contains_insn = 0, reached_end = 0;
- if (! warn_notreached)
+ if (!warn_notreached)
return;
- /* Scan forwards, looking at LINE_NUMBER notes, until
- we hit a LABEL or we run out of insns. */
+ /* Back up to the first of any NOTEs preceding avoided_insn; flow passes
+ us the head of a block, a NOTE_INSN_BASIC_BLOCK, which often follows
+ the line note. */
+ insn = avoided_insn;
+ while (1)
+ {
+ rtx prev = PREV_INSN (insn);
+ if (prev == NULL_RTX
+ || GET_CODE (prev) != NOTE)
+ break;
+ insn = prev;
+ }
+
+ /* Scan forwards, looking at LINE_NUMBER notes, until we hit a LABEL
+ in case FINISH is NULL, otherwise until we run out of insns. */
- for (insn = avoided_insn; insn != NULL; insn = NEXT_INSN (insn))
+ for (; insn != NULL; insn = NEXT_INSN (insn))
{
- if (finish == NULL && GET_CODE (insn) == CODE_LABEL)
+ if ((finish == NULL && GET_CODE (insn) == CODE_LABEL)
+ || GET_CODE (insn) == BARRIER)
break;
if (GET_CODE (insn) == NOTE /* A line number note? */
@@ -1916,7 +1969,7 @@ never_reached_warning (avoided_insn, finish)
}
else if (INSN_P (insn))
{
- if (reached_end || a_line_note == NULL)
+ if (reached_end)
break;
contains_insn = 1;
}
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h
index 8de0d6a41f2..83b8b45b67f 100644
--- a/gcc/langhooks-def.h
+++ b/gcc/langhooks-def.h
@@ -63,6 +63,7 @@ extern bool lhd_can_use_bit_fields_p PARAMS ((void));
extern bool lhd_warn_unused_global_decl PARAMS ((tree));
extern void lhd_incomplete_type_error PARAMS ((tree, tree));
extern tree lhd_type_promotes_to PARAMS ((tree));
+extern bool lhd_decl_ok_for_sibcall PARAMS ((tree));
extern tree lhd_expr_size PARAMS ((tree));
/* Declarations of default tree inlining hooks. */
@@ -82,6 +83,8 @@ int lhd_tree_inlining_start_inlining PARAMS ((tree));
void lhd_tree_inlining_end_inlining PARAMS ((tree));
tree lhd_tree_inlining_convert_parm_for_inlining PARAMS ((tree, tree, tree));
+void write_global_declarations PARAMS ((void));
+
#define LANG_HOOKS_NAME "GNU unknown"
#define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier)
#define LANG_HOOKS_INIT lhd_do_nothing
@@ -209,6 +212,8 @@ int lhd_tree_dump_type_quals PARAMS ((tree));
#define LANG_HOOKS_PUSHDECL pushdecl
#define LANG_HOOKS_GETDECLS getdecls
#define LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL lhd_warn_unused_global_decl
+#define LANG_HOOKS_WRITE_GLOBALS write_global_declarations
+#define LANG_HOOKS_DECL_OK_FOR_SIBCALL lhd_decl_ok_for_sibcall
#define LANG_HOOKS_DECLS { \
LANG_HOOKS_PUSHLEVEL, \
@@ -218,7 +223,9 @@ int lhd_tree_dump_type_quals PARAMS ((tree));
LANG_HOOKS_SET_BLOCK, \
LANG_HOOKS_PUSHDECL, \
LANG_HOOKS_GETDECLS, \
- LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL \
+ LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, \
+ LANG_HOOKS_WRITE_GLOBALS, \
+ LANG_HOOKS_DECL_OK_FOR_SIBCALL, \
}
/* The whole thing. The structure is defined in langhooks.h. */
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index ccbb53485aa..87211216e30 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -442,3 +442,42 @@ lhd_expr_size (exp)
else
return size_in_bytes (TREE_TYPE (exp));
}
+
+/* Return true if decl, which is a function decl, may be called by a
+ sibcall. */
+
+bool
+lhd_decl_ok_for_sibcall (decl)
+ tree decl ATTRIBUTE_UNUSED;
+{
+ return true;
+}
+
+/* lang_hooks.decls.final_write_globals: perform final processing on
+ global variables. */
+void
+write_global_declarations ()
+{
+ /* Really define vars that have had only a tentative definition.
+ Really output inline functions that must actually be callable
+ and have not been output so far. */
+
+ tree globals = (*lang_hooks.decls.getdecls) ();
+ int len = list_length (globals);
+ tree *vec = (tree *) xmalloc (sizeof (tree) * len);
+ int i;
+ tree decl;
+
+ /* Process the decls in reverse order--earliest first.
+ Put them into VEC from back to front, then take out from front. */
+
+ for (i = 0, decl = globals; i < len; i++, decl = TREE_CHAIN (decl))
+ vec[len - i - 1] = decl;
+
+ wrapup_global_declarations (vec, len);
+
+ check_global_declarations (vec, len);
+
+ /* Clean up. */
+ free (vec);
+}
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index 09e5971007a..546e50e0fb9 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -167,6 +167,13 @@ struct lang_hooks_for_decls
/* Returns true when we should warn for an unused global DECL.
We will already have checked that it has static binding. */
bool (*warn_unused_global) PARAMS ((tree));
+
+ /* Obtain a list of globals and do final output on them at end
+ of compilation */
+ void (*final_write_globals) PARAMS ((void));
+
+ /* True if this decl may be called via a sibcall. */
+ bool (*ok_for_sibcall) PARAMS ((tree));
};
/* Language-specific hooks. See langhooks-def.h for defaults. */
diff --git a/gcc/libgcc-std.ver b/gcc/libgcc-std.ver
index abbab6ce941..fc686c4418b 100644
--- a/gcc/libgcc-std.ver
+++ b/gcc/libgcc-std.ver
@@ -179,4 +179,8 @@ GCC_3.0 {
%inherit GCC_3.3 GCC_3.0
GCC_3.3 {
_Unwind_FindEnclosingFunction
+ _Unwind_GetCFA
+ _Unwind_Backtrace
+ _Unwind_Resume_or_Rethrow
+ _Unwind_SjLj_Resume_or_Rethrow
}
diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h
index 79c79970057..f2dcb7c9393 100644
--- a/gcc/libgcc2.h
+++ b/gcc/libgcc2.h
@@ -19,6 +19,14 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+
#ifndef GCC_LIBGCC2_H
#define GCC_LIBGCC2_H
diff --git a/gcc/loop.c b/gcc/loop.c
index d7abe5ff654..8e6f9b57b29 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1,6 +1,6 @@
/* Perform various loop optimizations, including strength reduction.
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.
@@ -326,10 +326,12 @@ static void update_reg_last_use PARAMS ((rtx, rtx));
static rtx next_insn_in_loop PARAMS ((const struct loop *, rtx));
static void loop_regs_scan PARAMS ((const struct loop *, int));
static int count_insns_in_loop PARAMS ((const struct loop *));
+static int find_mem_in_note_1 PARAMS ((rtx *, void *));
+static rtx find_mem_in_note PARAMS ((rtx));
static void load_mems PARAMS ((const struct loop *));
static int insert_loop_mem PARAMS ((rtx *, void *));
static int replace_loop_mem PARAMS ((rtx *, void *));
-static void replace_loop_mems PARAMS ((rtx, rtx, rtx));
+static void replace_loop_mems PARAMS ((rtx, rtx, rtx, int));
static int replace_loop_reg PARAMS ((rtx *, void *));
static void replace_loop_regs PARAMS ((rtx insn, rtx, rtx));
static void note_reg_stored PARAMS ((rtx, rtx, void *));
@@ -815,11 +817,17 @@ scan_loop (loop, flags)
}
}
+ /* Don't try to optimize a MODE_CC set with a constant
+ source. It probably will be combined with a conditional
+ jump. */
+ if (GET_MODE_CLASS (GET_MODE (SET_DEST (set))) == MODE_CC
+ && CONSTANT_P (src))
+ ;
/* Don't try to optimize a register that was made
by loop-optimization for an inner loop.
We don't know its life-span, so we can't compute
the benefit. */
- if (REGNO (SET_DEST (set)) >= max_reg_before_loop)
+ else if (REGNO (SET_DEST (set)) >= max_reg_before_loop)
;
else if (/* The register is used in basic blocks other
than the one where it is set (meaning that
@@ -3277,7 +3285,7 @@ loop_invariant_p (loop, x)
These have always been created by the unroller and are set in
the loop, hence are never invariant. */
- if (REGNO (x) >= regs->num)
+ if (REGNO (x) >= (unsigned) regs->num)
return 0;
if (regs->array[REGNO (x)].set_in_loop < 0)
@@ -4204,7 +4212,15 @@ emit_prefetch_instructions (loop)
non-constant INIT_VAL to have the same mode as REG, which
in this case we know to be Pmode. */
if (GET_MODE (init_val) != Pmode && !CONSTANT_P (init_val))
- init_val = convert_to_mode (Pmode, init_val, 0);
+ {
+ rtx seq;
+
+ start_sequence ();
+ init_val = convert_to_mode (Pmode, init_val, 0);
+ seq = get_insns ();
+ end_sequence ();
+ loop_insn_emit_before (loop, 0, loop_start, seq);
+ }
loop_iv_add_mult_emit_before (loop, init_val,
info[i].giv->mult_val,
add_val, reg, 0, loop_start);
@@ -4761,6 +4777,9 @@ loop_givs_reduce (loop, bl)
{
rtx insert_before;
+ /* Skip if location is the same as a previous one. */
+ if (tv->same)
+ continue;
if (! auto_inc_opt)
insert_before = NEXT_INSN (tv->insn);
else if (auto_inc_opt == 1)
@@ -5668,6 +5687,7 @@ record_biv (loop, v, insn, dest_reg, inc_val, mult_val, location,
v->always_computable = ! not_every_iteration;
v->always_executed = ! not_every_iteration;
v->maybe_multiple = maybe_multiple;
+ v->same = 0;
/* Add this to the reg's iv_class, creating a class
if this is the first incrementation of the reg. */
@@ -5705,6 +5725,17 @@ record_biv (loop, v, insn, dest_reg, inc_val, mult_val, location,
/* Put it in the array of biv register classes. */
REG_IV_CLASS (ivs, REGNO (dest_reg)) = bl;
}
+ else
+ {
+ /* Check if location is the same as a previous one. */
+ struct induction *induction;
+ for (induction = bl->biv; induction; induction = induction->next_iv)
+ if (location == induction->location)
+ {
+ v->same = induction;
+ break;
+ }
+ }
/* Update IV_CLASS entry for this biv. */
v->next_iv = bl->biv;
@@ -8624,11 +8655,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 +8678,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 +8691,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)
@@ -9972,7 +10012,7 @@ load_mems (loop)
else
/* Replace the memory reference with the shadow register. */
replace_loop_mems (p, loop_info->mems[i].mem,
- loop_info->mems[i].reg);
+ loop_info->mems[i].reg, written);
}
if (GET_CODE (p) == CODE_LABEL
@@ -10345,6 +10385,33 @@ try_swap_copy_prop (loop, replacement, regno)
}
}
+/* Worker function for find_mem_in_note, called via for_each_rtx. */
+
+static int
+find_mem_in_note_1 (x, data)
+ rtx *x;
+ void *data;
+{
+ if (*x != NULL_RTX && GET_CODE (*x) == MEM)
+ {
+ rtx *res = (rtx *) data;
+ *res = *x;
+ return 1;
+ }
+ return 0;
+}
+
+/* Returns the first MEM found in NOTE by depth-first search. */
+
+static rtx
+find_mem_in_note (note)
+ rtx note;
+{
+ if (note && for_each_rtx (&note, find_mem_in_note_1, &note))
+ return note;
+ return NULL_RTX;
+}
+
/* Replace MEM with its associated pseudo register. This function is
called from load_mems via for_each_rtx. DATA is actually a pointer
to a structure describing the instruction currently being scanned
@@ -10387,10 +10454,11 @@ replace_loop_mem (mem, data)
}
static void
-replace_loop_mems (insn, mem, reg)
+replace_loop_mems (insn, mem, reg, written)
rtx insn;
rtx mem;
rtx reg;
+ int written;
{
loop_replace_args args;
@@ -10399,6 +10467,26 @@ replace_loop_mems (insn, mem, reg)
args.replacement = reg;
for_each_rtx (&insn, replace_loop_mem, &args);
+
+ /* If we hoist a mem write out of the loop, then REG_EQUAL
+ notes referring to the mem are no longer valid. */
+ if (written)
+ {
+ rtx note, sub;
+ rtx *link;
+
+ for (link = &REG_NOTES (insn); (note = *link); link = &XEXP (note, 1))
+ {
+ if (REG_NOTE_KIND (note) == REG_EQUAL
+ && (sub = find_mem_in_note (note))
+ && true_dependence (mem, VOIDmode, sub, rtx_varies_p))
+ {
+ /* Remove the note. */
+ validate_change (NULL_RTX, link, XEXP (note, 1), 1);
+ break;
+ }
+ }
+ }
}
/* Replace one register with another. Called through for_each_rtx; PX points
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in
index 81d2e47f52b..3c3358a7b3a 100644
--- a/gcc/mklibgcc.in
+++ b/gcc/mklibgcc.in
@@ -1,6 +1,6 @@
#!/bin/sh
# Construct makefile for libgcc.
-# Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
#
# This file is part of GCC.
@@ -21,6 +21,8 @@
# LIB2_DIVMOD_FUNCS
# DPBIT
# DPBIT_FUNCS
+# TPBIT
+# TPBIT_FUNCS
# LIBGCC
# MULTILIBS
# EXTRA_MULTILIB_PARTS
@@ -174,6 +176,21 @@ if [ "$DPBIT" ]; then
done
fi
+if [ "$TPBIT" ]; then
+ for name in $TPBIT_FUNCS; do
+ for ml in $MULTILIBS; do
+ dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
+ flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
+ out="libgcc/${dir}/${name}${objext}"
+
+ echo $out: $TPBIT $fpbit_c_dep
+ echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
+ -c $TPBIT -o $out
+ done
+ libgcc2_objs="$libgcc2_objs ${name}${objext}"
+ done
+fi
+
for file in $LIB2ADD; do
name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'`
oname=`echo $name | sed -e 's,.*/,,'`
@@ -436,10 +453,10 @@ for ml in $MULTILIBS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
if [ $dir != . ]; then
- ldir='$(libsubdir)'/$dir
+ ldir='$(DESTDIR)$(libsubdir)'/$dir
echo " if [ -d $ldir ]; then true; else mkdir $ldir; chmod a+rx $ldir; fi;"
else
- ldir='$(libsubdir)'
+ ldir='$(DESTDIR)$(libsubdir)'
fi
echo ' $(INSTALL_DATA)' ${dir}/libgcc.a ${ldir}/
echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc.a
@@ -495,10 +512,10 @@ for f in $EXTRA_MULTILIB_PARTS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
if [ $dir != . ]; then
out=${dir}/$f
- ldir='$(libsubdir)'/$dir
+ ldir='$(DESTDIR)$(libsubdir)'/$dir
else
out=$f
- ldir='$(libsubdir)'
+ ldir='$(DESTDIR)$(libsubdir)'
fi
echo ' $(INSTALL_DATA)' $out $ldir/
done
diff --git a/gcc/objc/lang-specs.h b/gcc/objc/lang-specs.h
index 1e9c70155ad..540a9ae02eb 100644
--- a/gcc/objc/lang-specs.h
+++ b/gcc/objc/lang-specs.h
@@ -30,10 +30,10 @@ Boston, MA 02111-1307, USA. */
%{!E:%{!M:%{!MM:\
%{traditional|ftraditional|traditional-cpp:\
%eGNU Objective C no longer supports traditional compilation}\
- %{save-temps:cc1obj -E %(cpp_options) %b.mi \n\
- cc1obj -fpreprocessed %b.mi %(cc1_options) %{gen-decls}}\
- %{!save-temps:\
- cc1obj %(cpp_unique_options) %(cc1_options) %{gen-decls}}\
+ %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
+ cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{gen-decls}}\
+ %{!save-temps:%{!no-integrated-cpp:\
+ cc1obj %(cpp_unique_options) %(cc1_options) %{gen-decls}}}\
%{!fsyntax-only:%(invoke_as)}}}}", 0},
{".mi", "@objc-cpp-output", 0},
{"@objc-cpp-output",
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 9da95e1de72..c9eb3e6fd9b 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, 2002, 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
@@ -85,6 +86,11 @@ enum insn_code setcc_gen_code[NUM_RTX_CODE];
enum insn_code movcc_gen_code[NUM_MACHINE_MODES];
#endif
+/* The insn generating function can not take an rtx_code argument.
+ TRAP_RTX is used as an rtx argument. Its code is replaced with
+ the code to be used in the trap insn and all other fields are ignored. */
+static GTY(()) rtx trap_rtx;
+
static int add_equal_note PARAMS ((rtx, rtx, enum rtx_code, rtx, rtx));
static rtx widen_operand PARAMS ((rtx, enum machine_mode,
enum machine_mode, int, int));
@@ -111,9 +117,6 @@ static inline optab init_optabv PARAMS ((enum rtx_code));
static void init_libfuncs PARAMS ((optab, int, int, const char *, int));
static void init_integral_libfuncs PARAMS ((optab, const char *, int));
static void init_floating_libfuncs PARAMS ((optab, const char *, int));
-#ifdef HAVE_conditional_trap
-static void init_traps PARAMS ((void));
-#endif
static void emit_cmp_and_jump_insn_1 PARAMS ((rtx, rtx, enum machine_mode,
enum rtx_code, int, rtx));
static void prepare_float_lib_cmp PARAMS ((rtx *, rtx *, enum rtx_code *,
@@ -123,6 +126,11 @@ static rtx expand_vector_binop PARAMS ((enum machine_mode, optab,
enum optab_methods));
static rtx expand_vector_unop PARAMS ((enum machine_mode, optab, rtx, rtx,
int));
+
+#ifndef HAVE_conditional_trap
+#define HAVE_conditional_trap 0
+#define gen_conditional_trap(a,b) (abort (), NULL_RTX)
+#endif
/* Add a REG_EQUAL note to the last insn in INSNS. TARGET is being set to
the result of operation CODE applied to OP0 (and OP1 if it is a binary
@@ -1306,6 +1314,8 @@ expand_binop (mode, binoptab, op0, op1, target, unsignedp, methods)
copy_rtx (xop0),
copy_rtx (xop1)));
}
+ else
+ target = xtarget;
return target;
}
@@ -3241,10 +3251,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));
+ }
}
}
@@ -4464,10 +4490,10 @@ expand_float (to, from, unsignedp)
wider mode. If the integer mode is wider than the mode of FROM,
we can do the conversion signed even if the input is unsigned. */
- for (imode = GET_MODE (from); imode != VOIDmode;
- imode = GET_MODE_WIDER_MODE (imode))
- for (fmode = GET_MODE (to); fmode != VOIDmode;
- fmode = GET_MODE_WIDER_MODE (fmode))
+ for (fmode = GET_MODE (to); fmode != VOIDmode;
+ fmode = GET_MODE_WIDER_MODE (fmode))
+ for (imode = GET_MODE (from); imode != VOIDmode;
+ imode = GET_MODE_WIDER_MODE (imode))
{
int doing_unsigned = unsignedp;
@@ -5424,9 +5450,8 @@ init_optabs ()
profile_function_exit_libfunc
= init_one_libfunc ("__cyg_profile_func_exit");
-#ifdef HAVE_conditional_trap
- init_traps ();
-#endif
+ if (HAVE_conditional_trap)
+ trap_rtx = gen_rtx_fmt_ee (EQ, VOIDmode, NULL_RTX, NULL_RTX);
#ifdef INIT_TARGET_OPTABS
/* Allow the target to add more libcalls or rename some, etc. */
@@ -5434,24 +5459,6 @@ init_optabs ()
#endif
}
-static GTY(()) rtx trap_rtx;
-
-#ifdef HAVE_conditional_trap
-/* The insn generating function can not take an rtx_code argument.
- TRAP_RTX is used as an rtx argument. Its code is replaced with
- the code to be used in the trap insn and all other fields are
- ignored. */
-
-static void
-init_traps ()
-{
- if (HAVE_conditional_trap)
- {
- trap_rtx = gen_rtx_fmt_ee (EQ, VOIDmode, NULL_RTX, NULL_RTX);
- }
-}
-#endif
-
/* Generate insns to trap with code TCODE if OP1 and OP2 satisfy condition
CODE. Return 0 on failure. */
@@ -5461,30 +5468,34 @@ gen_cond_trap (code, op1, op2, tcode)
rtx op1, op2 ATTRIBUTE_UNUSED, tcode ATTRIBUTE_UNUSED;
{
enum machine_mode mode = GET_MODE (op1);
+ enum insn_code icode;
+ rtx insn;
+
+ if (!HAVE_conditional_trap)
+ return 0;
if (mode == VOIDmode)
return 0;
-#ifdef HAVE_conditional_trap
- if (HAVE_conditional_trap
- && cmp_optab->handlers[(int) mode].insn_code != CODE_FOR_nothing)
+ icode = cmp_optab->handlers[(int) mode].insn_code;
+ if (icode == CODE_FOR_nothing)
+ return 0;
+
+ start_sequence ();
+ op1 = prepare_operand (icode, op1, 0, mode, mode, 0);
+ op2 = prepare_operand (icode, op2, 0, mode, mode, 0);
+ emit_insn (GEN_FCN (icode) (op1, op2));
+
+ PUT_CODE (trap_rtx, code);
+ insn = gen_conditional_trap (trap_rtx, tcode);
+ if (insn)
{
- rtx insn;
- start_sequence ();
- emit_insn (GEN_FCN (cmp_optab->handlers[(int) mode].insn_code) (op1, op2));
- PUT_CODE (trap_rtx, code);
- insn = gen_conditional_trap (trap_rtx, tcode);
- if (insn)
- {
- emit_insn (insn);
- insn = get_insns ();
- }
- end_sequence ();
- return insn;
+ emit_insn (insn);
+ insn = get_insns ();
}
-#endif
+ end_sequence ();
- return 0;
+ return insn;
}
#include "gt-optabs.h"
diff --git a/gcc/params.def b/gcc/params.def
index d961189b3a5..977d7407b7c 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -50,10 +50,22 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
gets decreased. */
DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
"max-inline-insns-single",
- "The maximum number of instructions in a single function eliglible for inlining",
+ "The maximum number of instructions in a single function eligible for inlining",
300)
-/* The repeated inlining limit. After this number of instructions
+/* The single function inlining limit for functions that are
+ inlined by virtue of -finline-functions (-O3).
+ This limit should be chosen to be below or equal to the limit
+ that is applied to functions marked inlined (or defined in the
+ class declaration in C++) given by the "max-inline-insns-single"
+ parameter.
+ The default value is 300. */
+DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO,
+ "max-inline-insns-auto",
+ "The maximum number of instructions when automatically inlining",
+ 300)
+
+/* The repeated inlining limit. After this number of instructions
(in the internal gcc representation, not real machine instructions)
got inlined by repeated inlining, gcc starts to decrease the maximum
number of inlinable instructions in the tree inliner.
@@ -62,16 +74,14 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
could otherwise become very high.
It is recommended to set this value to twice the value of the single
function limit (set by the "max-inline-insns-single" parameter) or
- higher. The default value is 600.
+ higher. The default value is 600.
Higher values mean that more inlining is done, resulting in
better performance of the code, at the expense of higher
compile-time resource (time, memory) requirements and larger
- binaries.
- This parameters also controls the maximum size of functions considered
- for inlining in the RTL inliner. */
+ binaries. */
DEFPARAM (PARAM_MAX_INLINE_INSNS,
"max-inline-insns",
- "The maximuem number of instructions by repeated inlining before gcc starts to throttle inlining",
+ "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining",
600)
/* After the repeated inline limit has been exceeded (see
@@ -79,20 +89,20 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS,
decrease the size of single functions eligible for inlining.
The slope of this linear function is given the negative
reciprocal value (-1/x) of this parameter.
- The default vlue is 32.
+ The default value is 32.
This linear function is used until it falls below a minimum
value specified by the "min-inline-insns" parameter. */
DEFPARAM (PARAM_MAX_INLINE_SLOPE,
"max-inline-slope",
- "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",
+ "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter",
32)
/* When gcc has inlined so many instructions (by repeated
inlining) that the throttling limits the inlining very much,
inlining for very small functions is still desirable to
- achieve good runtime performance. The size of single functions
+ achieve good runtime performance. The size of single functions
(measured in gcc instructions) which will still be eligible for
- inlining then is given by this parameter. It defaults to 130.
+ inlining then is given by this parameter. It defaults to 130.
Only much later (after exceeding 128 times the recursive limit)
inlining is cut down completely. */
DEFPARAM (PARAM_MIN_INLINE_INSNS,
@@ -100,6 +110,16 @@ DEFPARAM (PARAM_MIN_INLINE_INSNS,
"The number of instructions in a single functions still eligible to inlining after a lot recursive inlining",
130)
+/* For languages that (still) use the RTL inliner, we can specify
+ limits for the RTL inliner separately.
+ The parameter here defines the maximum number of RTL instructions
+ a function may have to be eligible for inlining in the RTL inliner.
+ The default value is 600. */
+DEFPARAM (PARAM_MAX_INLINE_INSNS_RTL,
+ "max-inline-insns-rtl",
+ "The maximum number of instructions for the RTL inliner",
+ 600)
+
/* The maximum number of instructions to consider when looking for an
instruction to fill a delay slot. If more than this arbitrary
number of instructions is searched, the time savings from filling
@@ -191,6 +211,12 @@ DEFPARAM(TRACER_MIN_BRANCH_PROBABILITY,
this threshold (in percents). Used when profile feedback is not available",
50)
+/* The maximum number of incoming edges to consider for crossjumping. */
+DEFPARAM(PARAM_MAX_CROSSJUMP_EDGES,
+ "max-crossjump-edges",
+ "The maximum number of incoming edges to consider for crossjumping",
+ 100)
+
#ifdef ENABLE_GC_ALWAYS_COLLECT
# define GGC_MIN_EXPAND_DEFAULT 0
# define GGC_MIN_HEAPSIZE_DEFAULT 0
diff --git a/gcc/params.h b/gcc/params.h
index 27021aa7c7d..caddf853da5 100644
--- a/gcc/params.h
+++ b/gcc/params.h
@@ -92,6 +92,10 @@ typedef enum compiler_param
PARAM_VALUE (PARAM_MAX_INLINE_SLOPE)
#define MIN_INLINE_INSNS \
PARAM_VALUE (PARAM_MIN_INLINE_INSNS)
+#define MAX_INLINE_INSNS_AUTO \
+ PARAM_VALUE (PARAM_MAX_INLINE_INSNS_AUTO)
+#define MAX_INLINE_INSNS_RTL \
+ PARAM_VALUE (PARAM_MAX_INLINE_INSNS_RTL)
#define MAX_DELAY_SLOT_INSN_SEARCH \
PARAM_VALUE (PARAM_MAX_DELAY_SLOT_INSN_SEARCH)
#define MAX_DELAY_SLOT_LIVE_SEARCH \
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 9c901b49cc0..9d8e6953160 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,40 @@
+2003-06-03 Philipp Thomas <pthomas@suse.de>
+
+ * da.po: Update to latest version.
+ * es.po: Likewise.
+ * tr.po: Likewise.
+ * de.po: Likewise.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-12 Mark Mitchell <mark@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+ * da.po: Update to latest version.
+ * es.po: Likewise.
+ * fr.po: Likewise.
+ * tr.po: Likewise.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * be.po, de.po: New files.
+ * da.po, el.po, es.po, fr.po, ja.po, nl.po, sv.po, tr.po: Update.
+
+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/be.po b/gcc/po/be.po
new file mode 100644
index 00000000000..54fc4b33b9a
--- /dev/null
+++ b/gcc/po/be.po
@@ -0,0 +1,20746 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcc 3.1\n"
+"POT-Creation-Date: 2002-12-30 18:56+0000\n"
+"PO-Revision-Date: 2002-05-17 15:54+0200\n"
+"Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"
+"Language-Team: Belarusian <i18n@tut.by>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: attribs.c:185
+#, c-format
+msgid "`%s' attribute directive ignored"
+msgstr ""
+
+#: attribs.c:193
+#, c-format
+msgid "wrong number of arguments specified for `%s' attribute"
+msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'"
+
+#: attribs.c:210
+#, c-format
+msgid "`%s' attribute does not apply to types"
+msgstr ""
+
+#: attribs.c:247
+#, c-format
+msgid "`%s' attribute only applies to function types"
+msgstr ""
+
+#: 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 "\"%s\" атрыбут ігнарыруецца"
+
+#: builtins.c:285
+msgid "offset outside bounds of constant string"
+msgstr ""
+
+#: builtins.c:765
+#, fuzzy
+msgid "second arg to `__builtin_prefetch' must be a constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: builtins.c:772
+msgid "invalid second arg to __builtin_prefetch; using zero"
+msgstr ""
+
+#: builtins.c:779
+#, fuzzy
+msgid "third arg to `__builtin_prefetch' must be a constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: builtins.c:786
+msgid "invalid third arg to __builtin_prefetch; using zero"
+msgstr ""
+
+#. ??? We used to try and build up a call to the out of line function,
+#. guessing about what registers needed saving etc. This became much
+#. harder with __builtin_va_start, since we don't have a tree for a
+#. call to __builtin_saveregs to fall back on. There was exactly one
+#. 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:2864
+msgid "__builtin_saveregs not supported by this target"
+msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+#: builtins.c:2906
+msgid "argument of `__builtin_args_info' must be constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: builtins.c:2912
+msgid "argument of `__builtin_args_info' out of range"
+msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+#: builtins.c:2918
+msgid "missing argument in `__builtin_args_info'"
+msgstr "прапушчан аргумент у `__builtin_args_info'"
+
+#: builtins.c:2949
+msgid "`va_start' used in function with fixed args"
+msgstr ""
+"`va_start' выкарыÑтоўвываецца Ñž функцыі з нÑзьменнай\n"
+" колькаÑьцю аргументаў"
+
+#: 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:2973
+msgid "`__builtin_next_arg' called without an argument"
+msgstr "\"__buitin_next_arg\" выклікаецца без аргумента"
+
+#: builtins.c:3059
+msgid "too many arguments to function `va_start'"
+msgstr ""
+
+#: 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:3193
+#, c-format
+msgid "`%s' is promoted to `%s' when passed through `...'"
+msgstr ""
+
+#: builtins.c:3198
+#, c-format
+msgid "(so you should pass `%s' not `%s' to `va_arg')"
+msgstr ""
+
+#: builtins.c:3329
+msgid "invalid arg to `__builtin_frame_address'"
+msgstr ""
+
+#: builtins.c:3331
+msgid "invalid arg to `__builtin_return_address'"
+msgstr ""
+
+#: builtins.c:3345
+msgid "unsupported arg to `__builtin_frame_address'"
+msgstr ""
+
+#: builtins.c:3347
+msgid "unsupported arg to `__builtin_return_address'"
+msgstr ""
+
+#: builtins.c:3515
+msgid "second arg to `__builtin_expect' must be a constant"
+msgstr ""
+
+#: builtins.c:4010
+msgid "__builtin_longjmp second argument must be 1"
+msgstr ""
+
+#. just do library call, if unknown builtin
+#: builtins.c:4074 c-common.c:4437
+#, c-format
+msgid "built-in function `%s' not currently supported"
+msgstr ""
+
+#: builtins.c:4147
+#, fuzzy
+msgid "target format does not support infinity"
+msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+#: c-common.c:1163
+#, c-format
+msgid "`%s' is not defined outside of function scope"
+msgstr ""
+
+#: 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:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr ""
+
+#: c-common.c:1338
+msgid "overflow in constant expression"
+msgstr ""
+
+#: c-common.c:1359
+msgid "integer overflow in expression"
+msgstr ""
+
+#: c-common.c:1368
+msgid "floating point overflow in expression"
+msgstr ""
+
+#: c-common.c:1374
+msgid "vector overflow in expression"
+msgstr ""
+
+#. This detects cases like converting -129 or 256 to unsigned char.
+#: c-common.c:1397
+msgid "large integer implicitly truncated to unsigned type"
+msgstr ""
+
+#: c-common.c:1399
+msgid "negative integer implicitly converted to unsigned type"
+msgstr ""
+
+#: c-common.c:1447
+msgid "overflow in implicit constant conversion"
+msgstr ""
+
+#: c-common.c:1595
+#, c-format
+msgid "operation on `%s' may be undefined"
+msgstr ""
+
+#: c-common.c:1886
+msgid "expression statement has incomplete type"
+msgstr ""
+
+#: c-common.c:1919
+msgid "case label does not reduce to an integer constant"
+msgstr ""
+
+#: c-common.c:2223
+msgid "invalid truth-value expression"
+msgstr ""
+
+#: c-common.c:2274
+#, c-format
+msgid "invalid operands to binary %s"
+msgstr ""
+
+#: c-common.c:2508
+msgid "comparison is always false due to limited range of data type"
+msgstr ""
+
+#: c-common.c:2510
+msgid "comparison is always true due to limited range of data type"
+msgstr ""
+
+#: c-common.c:2580
+msgid "comparison of unsigned expression >= 0 is always true"
+msgstr ""
+
+#: c-common.c:2589
+msgid "comparison of unsigned expression < 0 is always false"
+msgstr ""
+
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr ""
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr ""
+
+#: c-common.c:2648
+msgid "pointer to member function used in arithmetic"
+msgstr ""
+
+#: c-common.c:2654
+msgid "pointer to a member used in arithmetic"
+msgstr ""
+
+#: c-common.c:2741 f/com.c:14690
+msgid "struct type value used where scalar is required"
+msgstr ""
+
+#: c-common.c:2745 f/com.c:14694
+msgid "union type value used where scalar is required"
+msgstr ""
+
+#: c-common.c:2749 f/com.c:14698
+msgid "array type value used where scalar is required"
+msgstr ""
+
+#: c-common.c:2869 f/com.c:14831
+msgid "suggest parentheses around assignment used as truth value"
+msgstr ""
+
+#: c-common.c:2913 c-common.c:2945
+msgid "invalid use of `restrict'"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: c-common.c:3059
+#, fuzzy
+msgid "invalid application of `sizeof' to a function type"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: c-common.c:3069
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: c-common.c:3075
+#, fuzzy, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: c-common.c:3116
+msgid "`__alignof' applied to a bit-field"
+msgstr ""
+
+#: c-common.c:3596
+#, fuzzy, c-format
+msgid "cannot disable built-in function `%s'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: c-common.c:3765 c-typeck.c:1734
+#, c-format
+msgid "too few arguments to function `%s'"
+msgstr "нехапае аргументаў у функцыі \"%s\""
+
+#: c-common.c:3771 c-typeck.c:1587
+#, c-format
+msgid "too many arguments to function `%s'"
+msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+#: c-common.c:3790
+#, fuzzy, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+#: c-common.c:4059
+msgid "pointers are not permitted as case values"
+msgstr ""
+
+#: c-common.c:4065
+msgid "ISO C++ forbids range expressions in switch statements"
+msgstr ""
+
+#: c-common.c:4067
+msgid "ISO C forbids range expressions in switch statements"
+msgstr ""
+
+#: c-common.c:4097
+msgid "empty range specified"
+msgstr ""
+
+#: c-common.c:4148
+msgid "duplicate (or overlapping) case value"
+msgstr ""
+
+#: c-common.c:4150
+msgid "this is the first entry overlapping that value"
+msgstr ""
+
+#: c-common.c:4154
+msgid "duplicate case value"
+msgstr ""
+
+#: c-common.c:4155
+msgid "previously used here"
+msgstr ""
+
+#: c-common.c:4159
+msgid "multiple default labels in one switch"
+msgstr ""
+
+#: c-common.c:4160
+msgid "this is the first default label"
+msgstr ""
+
+#: c-common.c:4188
+#, fuzzy
+msgid "ISO C++ forbids taking the address of a label"
+msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+#: c-common.c:4190
+#, fuzzy
+msgid "ISO C forbids taking the address of a label"
+msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+#: c-common.c:5213
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr ""
+
+#: c-common.c:5629
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+#: c-common.c:5632
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "нÑма тыпа дадзеных Ð´Ð»Ñ Ñ€Ñжыма \"%s\""
+
+#: c-common.c:5641 c-common.c:6242
+#, fuzzy, c-format
+msgid "unable to emulate '%s'"
+msgstr "немагу адчыніць файл \"%s\""
+
+#: c-common.c:5677
+msgid "section attribute cannot be specified for local variables"
+msgstr ""
+
+#: c-common.c:5688
+#, c-format
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: c-common.c:5697
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr ""
+
+#: 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-common.c:5756
+msgid "requested alignment is too large"
+msgstr ""
+
+#: c-common.c:5783
+#, c-format
+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
+#, fuzzy, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "\"%s\" атрыбут ігнарыруецца"
+
+#: 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:522
+#, c-format
+msgid "`struct %s' incomplete in scope ending here"
+msgstr ""
+
+#: c-decl.c:525
+#, c-format
+msgid "`union %s' incomplete in scope ending here"
+msgstr ""
+
+#: c-decl.c:528
+#, c-format
+msgid "`enum %s' incomplete in scope ending here"
+msgstr ""
+
+#: c-decl.c:642 c-decl.c:767 java/decl.c:1399
+#, c-format
+msgid "label `%s' used but not defined"
+msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+#: c-decl.c:648 c-decl.c:774 java/decl.c:1405
+#, c-format
+msgid "label `%s' defined but not used"
+msgstr "адмеціна `%s' вызначана, але Ð½Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца"
+
+#: c-decl.c:889 cp/decl.c:3058
+#, c-format
+msgid "function `%s' redeclared as inline"
+msgstr ""
+
+#: c-decl.c:891 cp/decl.c:3060
+#, fuzzy, c-format
+msgid "previous declaration of function `%s' with attribute noinline"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: c-decl.c:898 cp/decl.c:3067
+#, c-format
+msgid "function `%s' redeclared with attribute noinline"
+msgstr ""
+
+#: c-decl.c:900 cp/decl.c:3069
+#, fuzzy, c-format
+msgid "previous declaration of function `%s' was inline"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: c-decl.c:929 c-decl.c:975
+#, c-format
+msgid "shadowing built-in function `%s'"
+msgstr ""
+
+#: c-decl.c:931
+#, c-format
+msgid "shadowing library function `%s'"
+msgstr ""
+
+#: c-decl.c:937
+#, c-format
+msgid "library function `%s' declared as non-function"
+msgstr ""
+
+#: c-decl.c:941 c-decl.c:944
+#, c-format
+msgid "built-in function `%s' declared as non-function"
+msgstr ""
+
+#: 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: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:1044
+#, c-format
+msgid "conflicting types for built-in function `%s'"
+msgstr ""
+
+#: c-decl.c:1087 c-decl.c:1106
+#, c-format
+msgid "conflicting types for `%s'"
+msgstr ""
+
+#: c-decl.c:1129
+msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
+msgstr ""
+
+#: 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:1146
+#, fuzzy, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: c-decl.c:1153
+#, fuzzy, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: c-decl.c:1164 c-decl.c:1187
+#, c-format
+msgid "redefinition of `%s'"
+msgstr ""
+
+#: c-decl.c:1167
+#, c-format
+msgid "redeclaration of `%s'"
+msgstr ""
+
+#: c-decl.c:1170
+#, c-format
+msgid "conflicting declarations of `%s'"
+msgstr ""
+
+#: c-decl.c:1214
+#, c-format
+msgid "prototype for `%s' follows"
+msgstr ""
+
+#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234
+msgid "non-prototype definition here"
+msgstr ""
+
+#: c-decl.c:1222
+#, c-format
+msgid "prototype for `%s' follows and number of arguments doesn't match"
+msgstr ""
+
+#: c-decl.c:1232
+#, c-format
+msgid "prototype for `%s' follows and argument %d doesn't match"
+msgstr ""
+
+#: c-decl.c:1250
+#, c-format
+msgid "`%s' declared inline after being called"
+msgstr ""
+
+#: c-decl.c:1256
+#, c-format
+msgid "`%s' declared inline after its definition"
+msgstr ""
+
+#: c-decl.c:1263
+#, c-format
+msgid "static declaration for `%s' follows non-static"
+msgstr ""
+
+#: c-decl.c:1271
+#, c-format
+msgid "non-static declaration for `%s' follows static"
+msgstr ""
+
+#: c-decl.c:1278
+#, c-format
+msgid "const declaration for `%s' follows non-const"
+msgstr ""
+
+#: c-decl.c:1285
+#, c-format
+msgid "type qualifiers for `%s' conflict with previous decl"
+msgstr ""
+
+#: c-decl.c:1298
+#, c-format
+msgid "redundant redeclaration of `%s' in same scope"
+msgstr ""
+
+#: c-decl.c:1599 java/decl.c:1098
+#, c-format
+msgid "declaration of `%s' shadows a parameter"
+msgstr ""
+
+#: 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:1623 cp/decl.c:4176
+#, fuzzy
+msgid "a parameter"
+msgstr "невыкарыÑтаемы параметр \"%s\""
+
+#: c-decl.c:1625 cp/decl.c:4193
+msgid "a previous local"
+msgstr ""
+
+#. XXX shadow warnings in outer-more namespaces
+#: c-decl.c:1629 cp/decl.c:4197
+#, fuzzy
+msgid "a global declaration"
+msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+#: c-decl.c:1673
+#, c-format
+msgid "nested extern declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:1692 java/decl.c:1051
+#, c-format
+msgid "`%s' used prior to declaration"
+msgstr ""
+
+#: c-decl.c:1706 c-decl.c:1881
+#, c-format
+msgid "`%s' was declared implicitly `extern' and later `static'"
+msgstr ""
+
+#: c-decl.c:1809 cp/decl.c:4035
+msgid "type mismatch with previous external decl"
+msgstr ""
+
+#: c-decl.c:1810
+#, c-format
+msgid "previous external decl of `%s'"
+msgstr ""
+
+#: c-decl.c:1823
+msgid "type mismatch with previous implicit declaration"
+msgstr ""
+
+#: c-decl.c:1825
+#, c-format
+msgid "previous implicit declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:1860
+#, c-format
+msgid "`%s' was previously implicitly declared to return `int'"
+msgstr ""
+
+#: c-decl.c:1885
+#, c-format
+msgid "`%s' was declared `extern' and later `static'"
+msgstr ""
+
+#: c-decl.c:1909
+#, c-format
+msgid "extern declaration of `%s' doesn't match global one"
+msgstr ""
+
+#: c-decl.c:1951
+#, c-format
+msgid "`%s' locally external but globally static"
+msgstr ""
+
+#: c-decl.c:2073
+#, c-format
+msgid "function `%s' was previously declared within a block"
+msgstr ""
+
+#: c-decl.c:2093 c-decl.c:2095
+#, c-format
+msgid "implicit declaration of function `%s'"
+msgstr ""
+
+#: c-decl.c:2174
+#, c-format
+msgid "label %s referenced outside of any function"
+msgstr ""
+
+#: c-decl.c:2231
+#, c-format
+msgid "duplicate label declaration `%s'"
+msgstr "паўторнае абвÑшчÑньне адмеціны `%s'"
+
+#: c-decl.c:2234
+msgid "this is a previous declaration"
+msgstr "гÑта папÑÑ€ÑднÑе абвÑшчÑньне"
+
+#: c-decl.c:2657
+msgid "unnamed struct/union that defines no instances"
+msgstr ""
+
+#: c-decl.c:2676
+msgid "useless keyword or type name in empty declaration"
+msgstr ""
+
+#: c-decl.c:2683
+msgid "two types specified in one empty declaration"
+msgstr ""
+
+#: 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:2718
+#, fuzzy
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr "ISO C89 не падтрымлівае \"long long\""
+
+#: c-decl.c:2720
+#, fuzzy
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "ISO C89 не падтрымлівае \"long long\""
+
+#: c-decl.c:2723
+msgid "GCC does not yet properly implement `[*]' array declarators"
+msgstr ""
+
+#: c-decl.c:2742
+msgid "static or type qualifiers in abstract declarator"
+msgstr ""
+
+#: c-decl.c:2816
+#, c-format
+msgid "`%s' is usually a function"
+msgstr "`%s' - звычайна функцыÑ"
+
+#: c-decl.c:2825
+#, fuzzy, c-format
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: 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:2838
+#, c-format
+msgid "parameter `%s' is initialized"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: c-decl.c:2858 c-typeck.c:4854
+msgid "variable-sized object may not be initialized"
+msgstr ""
+
+#: c-decl.c:2864
+#, c-format
+msgid "variable `%s' has initializer but incomplete type"
+msgstr ""
+
+#: c-decl.c:2870
+#, c-format
+msgid "elements of array `%s' have incomplete type"
+msgstr ""
+
+#: c-decl.c:2883
+#, c-format
+msgid "declaration of `%s' has `extern' and is initialized"
+msgstr ""
+
+#: 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:3006
+#, c-format
+msgid "initializer fails to determine size of `%s'"
+msgstr ""
+
+#: c-decl.c:3011
+#, c-format
+msgid "array size missing in `%s'"
+msgstr ""
+
+#: c-decl.c:3027
+#, c-format
+msgid "zero or negative size array `%s'"
+msgstr ""
+
+#: c-decl.c:3055
+#, c-format
+msgid "storage size of `%s' isn't known"
+msgstr ""
+
+#: c-decl.c:3065
+#, c-format
+msgid "storage size of `%s' isn't constant"
+msgstr ""
+
+#: c-decl.c:3125
+#, c-format
+msgid "ignoring asm-specifier for non-static local variable `%s'"
+msgstr ""
+
+#: c-decl.c:3190
+#, c-format
+msgid "ISO C forbids parameter `%s' shadowing typedef"
+msgstr ""
+
+#: c-decl.c:3535 cp/decl.c:10433
+msgid "`long long long' is too long for GCC"
+msgstr "`long long long' - вельмі доўга Ð´Ð»Ñ GCC"
+
+#: c-decl.c:3540
+#, fuzzy
+msgid "ISO C90 does not support `long long'"
+msgstr "ISO C89 не падтрымлівае `long long'"
+
+#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438
+#, c-format
+msgid "duplicate `%s'"
+msgstr "паўтарÑньне `%s'"
+
+#: 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:3592 cp/decl.c:10479
+#, c-format
+msgid "`%s' fails to be a typedef or built in type"
+msgstr ""
+
+#: c-decl.c:3631
+#, c-format
+msgid "type defaults to `int' in declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:3660
+#, c-format
+msgid "both long and short specified for `%s'"
+msgstr ""
+
+#: c-decl.c:3664 cp/decl.c:10594
+#, c-format
+msgid "long or short specified with char for `%s'"
+msgstr ""
+
+#: c-decl.c:3671 cp/decl.c:10598
+#, c-format
+msgid "long or short specified with floating type for `%s'"
+msgstr ""
+
+#: c-decl.c:3674
+msgid "the only valid combination is `long double'"
+msgstr ""
+
+#: c-decl.c:3680
+#, c-format
+msgid "both signed and unsigned specified for `%s'"
+msgstr ""
+
+#: c-decl.c:3682 cp/decl.c:10587
+#, c-format
+msgid "long, short, signed or unsigned invalid for `%s'"
+msgstr "long, short, signed ці unsigned нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+#: c-decl.c:3688 cp/decl.c:10607
+#, c-format
+msgid "long, short, signed or unsigned used invalidly for `%s'"
+msgstr ""
+
+#: c-decl.c:3706 cp/decl.c:10628
+#, c-format
+msgid "complex invalid for `%s'"
+msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+#: c-decl.c:3748
+#, fuzzy
+msgid "ISO C90 does not support complex types"
+msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+#: c-decl.c:3760
+msgid "ISO C does not support plain `complex' meaning `double complex'"
+msgstr "ISO C не падтрымлівае проÑÑ‚Ñ‹ \"complex\" у значÑнні \"double complex\""
+
+#: c-decl.c:3766 c-decl.c:3778
+msgid "ISO C does not support complex integer types"
+msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241
+msgid "duplicate `const'"
+msgstr "паўтарÑнне \"const\""
+
+#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245
+msgid "duplicate `restrict'"
+msgstr "паўтарÑнне \"restrict\""
+
+#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243
+msgid "duplicate `volatile'"
+msgstr "паўтарÑнне \"volatile\""
+
+#: c-decl.c:3825 cp/decl.c:10791
+#, c-format
+msgid "multiple storage classes in declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:3835
+msgid "function definition declared `auto'"
+msgstr ""
+
+#: c-decl.c:3837
+msgid "function definition declared `register'"
+msgstr ""
+
+#: c-decl.c:3839
+msgid "function definition declared `typedef'"
+msgstr ""
+
+#: c-decl.c:3841
+#, fuzzy
+msgid "function definition declared `__thread'"
+msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+#: c-decl.c:3854
+#, c-format
+msgid "storage class specified for structure field `%s'"
+msgstr ""
+
+#: c-decl.c:3858 cp/decl.c:10838
+#, c-format
+msgid "storage class specified for parameter `%s'"
+msgstr ""
+
+#: c-decl.c:3861 cp/decl.c:10840
+msgid "storage class specified for typename"
+msgstr ""
+
+#: c-decl.c:3873 cp/decl.c:10855
+#, c-format
+msgid "`%s' initialized and declared `extern'"
+msgstr ""
+
+#: c-decl.c:3875 cp/decl.c:10858
+#, c-format
+msgid "`%s' has both `extern' and initializer"
+msgstr ""
+
+#: 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:3891 cp/decl.c:10872
+#, fuzzy, c-format
+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:3930 c-decl.c:4118
+msgid "static or type qualifiers in non-parameter array declarator"
+msgstr ""
+
+#: c-decl.c:3974
+#, c-format
+msgid "declaration of `%s' as array of voids"
+msgstr ""
+
+#: c-decl.c:3980
+#, c-format
+msgid "declaration of `%s' as array of functions"
+msgstr ""
+
+#: c-decl.c:3985 c-decl.c:5250
+#, fuzzy
+msgid "invalid use of structure with flexible array member"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: c-decl.c:4004
+#, c-format
+msgid "size of array `%s' has non-integer type"
+msgstr ""
+
+#: c-decl.c:4009
+#, c-format
+msgid "ISO C forbids zero-size array `%s'"
+msgstr ""
+
+#: c-decl.c:4016
+#, c-format
+msgid "size of array `%s' is negative"
+msgstr "памер маÑіва \"%s\" адмоўны"
+
+#: c-decl.c:4029
+#, c-format
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+msgstr ""
+
+#: c-decl.c:4032
+#, fuzzy, c-format
+msgid "ISO C90 forbids variable-size array `%s'"
+msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450
+#, c-format
+msgid "size of array `%s' is too large"
+msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+#: c-decl.c:4075
+#, fuzzy
+msgid "ISO C90 does not support flexible array members"
+msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+#: c-decl.c:4085
+msgid "array type has incomplete element type"
+msgstr ""
+
+#: c-decl.c:4092 c-decl.c:4322
+msgid "ISO C forbids const or volatile function types"
+msgstr ""
+
+#: c-decl.c:4138 cp/decl.c:10998
+#, c-format
+msgid "`%s' declared as function returning a function"
+msgstr ""
+
+#: c-decl.c:4143 cp/decl.c:11003
+#, c-format
+msgid "`%s' declared as function returning an array"
+msgstr ""
+
+#: c-decl.c:4171
+msgid "ISO C forbids qualified void function return type"
+msgstr ""
+
+#: c-decl.c:4175
+msgid "type qualifiers ignored on function return type"
+msgstr ""
+
+#: 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:4244 cp/decl.c:11237
+msgid "invalid type modifier within pointer declarator"
+msgstr ""
+
+#: c-decl.c:4342 cp/decl.c:11732
+#, c-format
+msgid "variable or field `%s' declared void"
+msgstr ""
+
+#: c-decl.c:4375
+msgid "attributes in parameter array declarator ignored"
+msgstr ""
+
+#: c-decl.c:4400
+msgid "invalid type modifier within array declarator"
+msgstr ""
+
+#: c-decl.c:4445
+#, c-format
+msgid "field `%s' declared as a function"
+msgstr ""
+
+#: c-decl.c:4451
+#, c-format
+msgid "field `%s' has incomplete type"
+msgstr ""
+
+#: 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:4509
+msgid "`noreturn' function returns non-void value"
+msgstr ""
+
+#: c-decl.c:4524
+msgid "cannot inline function `main'"
+msgstr ""
+
+#: c-decl.c:4577
+#, c-format
+msgid "variable `%s' declared `inline'"
+msgstr ""
+
+#. 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
+#, fuzzy
+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:4666
+msgid "parameter names (without types) in function declaration"
+msgstr ""
+
+#: c-decl.c:4698 c-decl.c:6116
+#, c-format
+msgid "parameter `%s' has incomplete type"
+msgstr ""
+
+#: c-decl.c:4701
+msgid "parameter has incomplete type"
+msgstr ""
+
+#: c-decl.c:4722
+#, c-format
+msgid "parameter `%s' points to incomplete type"
+msgstr ""
+
+#: c-decl.c:4725
+msgid "parameter points to incomplete type"
+msgstr ""
+
+#: c-decl.c:4790
+#, c-format
+msgid "parameter `%s' has just a forward declaration"
+msgstr ""
+
+#: c-decl.c:4831
+msgid "`void' in parameter list must be the entire list"
+msgstr ""
+
+#: c-decl.c:4862
+#, c-format
+msgid "`struct %s' declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4865
+#, c-format
+msgid "`union %s' declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4868
+#, c-format
+msgid "`enum %s' declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4875
+msgid "anonymous struct declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4877
+msgid "anonymous union declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4879
+msgid "anonymous enum declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4883
+msgid "its scope is only this definition or declaration, which is probably not what you want"
+msgstr ""
+
+#: c-decl.c:4960
+#, c-format
+msgid "redefinition of `union %s'"
+msgstr ""
+
+#: c-decl.c:4962
+#, fuzzy, c-format
+msgid "redefinition of `struct %s'"
+msgstr "перанакіраванне stdout: %s"
+
+#: c-decl.c:5033 cp/decl.c:7125
+msgid "declaration does not declare anything"
+msgstr ""
+
+#: c-decl.c:5075 c-decl.c:5078
+#, c-format
+msgid "%s defined inside parms"
+msgstr ""
+
+#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090
+msgid "union"
+msgstr "аб'Ñднанне"
+
+#: c-decl.c:5076 c-decl.c:5079
+msgid "structure"
+msgstr "Ñтруктура"
+
+#: c-decl.c:5089
+#, c-format
+msgid "%s has no %s"
+msgstr ""
+
+#: c-decl.c:5090
+msgid "struct"
+msgstr "Ñтруктура"
+
+#: c-decl.c:5091
+msgid "named members"
+msgstr ""
+
+#: c-decl.c:5091
+msgid "members"
+msgstr "члены"
+
+#: c-decl.c:5130
+#, c-format
+msgid "nested redefinition of `%s'"
+msgstr ""
+
+#: c-decl.c:5143
+#, c-format
+msgid "bit-field `%s' width not an integer constant"
+msgstr ""
+
+#: c-decl.c:5154
+#, c-format
+msgid "bit-field `%s' has invalid type"
+msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+#: c-decl.c:5166
+#, c-format
+msgid "bit-field `%s' type invalid in ISO C"
+msgstr ""
+
+#: c-decl.c:5177
+#, c-format
+msgid "negative width in bit-field `%s'"
+msgstr ""
+
+#: c-decl.c:5179
+#, c-format
+msgid "width of `%s' exceeds its type"
+msgstr ""
+
+#: c-decl.c:5181
+#, c-format
+msgid "zero width for bit-field `%s'"
+msgstr ""
+
+#: c-decl.c:5195
+#, c-format
+msgid "`%s' is narrower than values of its type"
+msgstr ""
+
+#: c-decl.c:5241
+msgid "flexible array member in union"
+msgstr ""
+
+#: c-decl.c:5243
+msgid "flexible array member not at end of struct"
+msgstr ""
+
+#: c-decl.c:5245
+msgid "flexible array member in otherwise empty struct"
+msgstr ""
+
+#: c-decl.c:5275
+#, c-format
+msgid "duplicate member `%s'"
+msgstr ""
+
+#: 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:5424
+#, c-format
+msgid "redeclaration of `enum %s'"
+msgstr ""
+
+#: c-decl.c:5458
+msgid "enum defined inside parms"
+msgstr ""
+
+#: c-decl.c:5491
+msgid "enumeration values exceed range of largest integer"
+msgstr ""
+
+#: c-decl.c:5600
+#, c-format
+msgid "enumerator value for `%s' not integer constant"
+msgstr ""
+
+#: c-decl.c:5613
+msgid "overflow in enumeration values"
+msgstr ""
+
+#: c-decl.c:5618
+msgid "ISO C restricts enumerator values to range of `int'"
+msgstr ""
+
+#: c-decl.c:5700
+msgid "return type is an incomplete type"
+msgstr ""
+
+#: c-decl.c:5708
+msgid "return type defaults to `int'"
+msgstr ""
+
+#: c-decl.c:5755
+#, c-format
+msgid "no previous prototype for `%s'"
+msgstr "нÑма папÑÑ€ÑднÑга прататыпа Ð´Ð»Ñ \"%s\""
+
+#: c-decl.c:5762
+#, c-format
+msgid "`%s' was used with no prototype before its definition"
+msgstr ""
+
+#: c-decl.c:5768
+#, c-format
+msgid "no previous declaration for `%s'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: c-decl.c:5775
+#, c-format
+msgid "`%s' was used with no declaration before its definition"
+msgstr ""
+
+#: c-decl.c:5799 c-decl.c:6352
+#, c-format
+msgid "return type of `%s' is not `int'"
+msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+#: c-decl.c:5815
+#, c-format
+msgid "first argument of `%s' should be `int'"
+msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+#: c-decl.c:5824
+#, c-format
+msgid "second argument of `%s' should be `char **'"
+msgstr "другім аргументам \"%s\" павінен быць \"char **\""
+
+#: c-decl.c:5833
+#, c-format
+msgid "third argument of `%s' should probably be `char **'"
+msgstr ""
+
+#: c-decl.c:5842
+#, c-format
+msgid "`%s' takes only zero or two arguments"
+msgstr ""
+
+#: c-decl.c:5845
+#, c-format
+msgid "`%s' is normally a non-static function"
+msgstr ""
+
+#: c-decl.c:5943
+msgid "parm types given both in parmlist and separately"
+msgstr ""
+
+#: c-decl.c:5964
+msgid "parameter name omitted"
+msgstr ""
+
+#: c-decl.c:5968 c-decl.c:6070
+#, c-format
+msgid "parameter `%s' declared void"
+msgstr ""
+
+#: c-decl.c:6044
+msgid "parameter name missing from parameter list"
+msgstr ""
+
+#: c-decl.c:6063
+#, c-format
+msgid "multiple parameters named `%s'"
+msgstr ""
+
+#: c-decl.c:6085 c-decl.c:6087
+#, c-format
+msgid "type of `%s' defaults to `int'"
+msgstr ""
+
+#: c-decl.c:6123
+#, c-format
+msgid "declaration for parameter `%s' but no such parameter"
+msgstr ""
+
+#: c-decl.c:6171
+msgid "number of arguments doesn't match prototype"
+msgstr ""
+
+#: c-decl.c:6201
+#, c-format
+msgid "promoted argument `%s' doesn't match prototype"
+msgstr ""
+
+#: c-decl.c:6211
+#, c-format
+msgid "argument `%s' doesn't match prototype"
+msgstr ""
+
+#: c-decl.c:6384 cp/decl.c:14547
+msgid "no return statement in function returning non-void"
+msgstr ""
+
+#: c-decl.c:6536
+msgid "this function may return with or without a value"
+msgstr ""
+
+#: c-decl.c:6556
+#, c-format
+msgid "size of return value of `%s' is %u bytes"
+msgstr "памер вÑртаемага значÑÐ½Ð½Ñ \"%s\" %u байт"
+
+#: c-decl.c:6560
+#, c-format
+msgid "size of return value of `%s' is larger than %d bytes"
+msgstr "памер вÑртаемага значÑÐ½Ð½Ñ \"%s\" больш чым %d байт"
+
+#. 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:6615
+msgid "`for' loop initial declaration used outside C99 mode"
+msgstr ""
+
+#: c-decl.c:6639
+#, c-format
+msgid "`struct %s' declared in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6642
+#, c-format
+msgid "`union %s' declared in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6645
+#, c-format
+msgid "`enum %s' declared in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6653
+#, c-format
+msgid "declaration of non-variable `%s' in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6655
+#, c-format
+msgid "declaration of static variable `%s' in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6657
+#, c-format
+msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
+msgstr ""
+
+#: c-format.c:109 c-format.c:191
+msgid "format string arg not a string type"
+msgstr ""
+
+#: c-format.c:124
+msgid "args to be formatted is not '...'"
+msgstr ""
+
+#: c-format.c:133
+msgid "strftime formats cannot format arguments"
+msgstr ""
+
+#: c-format.c:168 c-format.c:270
+msgid "format string has invalid operand number"
+msgstr ""
+
+#: c-format.c:202
+msgid "function does not return string type"
+msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string"
+
+#: c-format.c:233
+msgid "unrecognized format specifier"
+msgstr ""
+
+#: c-format.c:246
+#, c-format
+msgid "`%s' is an unrecognized format function type"
+msgstr ""
+
+#: c-format.c:280
+msgid "format string arg follows the args to be formatted"
+msgstr ""
+
+#: c-format.c:601
+msgid "` ' flag"
+msgstr ""
+
+#: c-format.c:601
+msgid "the ` ' printf flag"
+msgstr ""
+
+#: c-format.c:602 c-format.c:673
+msgid "`+' flag"
+msgstr ""
+
+#: c-format.c:602
+msgid "the `+' printf flag"
+msgstr ""
+
+#: c-format.c:603 c-format.c:649
+msgid "`#' flag"
+msgstr ""
+
+#: c-format.c:603
+msgid "the `#' printf flag"
+msgstr ""
+
+#: c-format.c:604 c-format.c:647
+msgid "`0' flag"
+msgstr "'0' флаг"
+
+#: c-format.c:604
+msgid "the `0' printf flag"
+msgstr ""
+
+#: c-format.c:605 c-format.c:646 c-format.c:676
+msgid "`-' flag"
+msgstr ""
+
+#: c-format.c:605
+msgid "the `-' printf flag"
+msgstr ""
+
+#: c-format.c:606 c-format.c:630
+msgid "`'' flag"
+msgstr ""
+
+#: c-format.c:606
+msgid "the `'' printf flag"
+msgstr ""
+
+#: c-format.c:607 c-format.c:631
+msgid "`I' flag"
+msgstr ""
+
+#: c-format.c:607
+msgid "the `I' printf flag"
+msgstr ""
+
+#: 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:608
+msgid "field width in printf format"
+msgstr ""
+
+#: c-format.c:609
+msgid "precision"
+msgstr ""
+
+#: c-format.c:609
+msgid "precision in printf format"
+msgstr ""
+
+#: c-format.c:610 c-format.c:629 c-format.c:680
+msgid "length modifier"
+msgstr ""
+
+#: c-format.c:610
+msgid "length modifier in printf format"
+msgstr ""
+
+#: c-format.c:626
+msgid "assignment suppression"
+msgstr ""
+
+#: c-format.c:626
+msgid "the assignment suppression scanf feature"
+msgstr ""
+
+#: c-format.c:627
+msgid "`a' flag"
+msgstr ""
+
+#: c-format.c:627
+msgid "the `a' scanf flag"
+msgstr ""
+
+#: c-format.c:628
+msgid "field width in scanf format"
+msgstr ""
+
+#: c-format.c:629
+msgid "length modifier in scanf format"
+msgstr ""
+
+#: c-format.c:630
+msgid "the `'' scanf flag"
+msgstr ""
+
+#: c-format.c:631
+msgid "the `I' scanf flag"
+msgstr ""
+
+#: c-format.c:645
+msgid "`_' flag"
+msgstr ""
+
+#: c-format.c:645
+msgid "the `_' strftime flag"
+msgstr ""
+
+#: c-format.c:646
+msgid "the `-' strftime flag"
+msgstr ""
+
+#: c-format.c:647
+msgid "the `0' strftime flag"
+msgstr ""
+
+#: c-format.c:648 c-format.c:672
+msgid "`^' flag"
+msgstr ""
+
+#: c-format.c:648
+msgid "the `^' strftime flag"
+msgstr ""
+
+#: c-format.c:649
+msgid "the `#' strftime flag"
+msgstr ""
+
+#: c-format.c:650
+msgid "field width in strftime format"
+msgstr ""
+
+#: c-format.c:651
+msgid "`E' modifier"
+msgstr ""
+
+#: c-format.c:651
+msgid "the `E' strftime modifier"
+msgstr ""
+
+#: c-format.c:652
+msgid "`O' modifier"
+msgstr "'O' мадыфікатар"
+
+#: c-format.c:652
+msgid "the `O' strftime modifier"
+msgstr ""
+
+#: c-format.c:653
+msgid "the `O' modifier"
+msgstr ""
+
+#: c-format.c:671
+msgid "fill character"
+msgstr ""
+
+#: c-format.c:671
+msgid "fill character in strfmon format"
+msgstr ""
+
+#: c-format.c:672
+msgid "the `^' strfmon flag"
+msgstr ""
+
+#: c-format.c:673
+msgid "the `+' strfmon flag"
+msgstr ""
+
+#: c-format.c:674
+msgid "`(' flag"
+msgstr ""
+
+#: c-format.c:674
+msgid "the `(' strfmon flag"
+msgstr ""
+
+#: c-format.c:675
+msgid "`!' flag"
+msgstr ""
+
+#: c-format.c:675
+msgid "the `!' strfmon flag"
+msgstr ""
+
+#: c-format.c:676
+msgid "the `-' strfmon flag"
+msgstr ""
+
+#: c-format.c:677
+msgid "field width in strfmon format"
+msgstr ""
+
+#: c-format.c:678
+msgid "left precision"
+msgstr ""
+
+#: c-format.c:678
+msgid "left precision in strfmon format"
+msgstr ""
+
+#: c-format.c:679
+msgid "right precision"
+msgstr ""
+
+#: c-format.c:679
+msgid "right precision in strfmon format"
+msgstr ""
+
+#: c-format.c:680
+msgid "length modifier in strfmon format"
+msgstr ""
+
+#: c-format.c:983
+#, c-format
+msgid "function might be possible candidate for `%s' format attribute"
+msgstr ""
+
+#: c-format.c:1107 c-format.c:1128 c-format.c:2112
+msgid "missing $ operand number in format"
+msgstr ""
+
+#: c-format.c:1138
+#, c-format
+msgid "%s does not support %%n$ operand number formats"
+msgstr ""
+
+#: c-format.c:1145
+msgid "operand number out of range in format"
+msgstr ""
+
+#: c-format.c:1168
+#, c-format
+msgid "format argument %d used more than once in %s format"
+msgstr ""
+
+#: c-format.c:1218
+#, c-format
+msgid "format argument %d unused before used argument %d in $-style format"
+msgstr ""
+
+#: c-format.c:1322
+msgid "format not a string literal, format string not checked"
+msgstr ""
+
+#: c-format.c:1336
+msgid "format not a string literal and no format arguments"
+msgstr ""
+
+#: c-format.c:1338
+msgid "format not a string literal, argument types not checked"
+msgstr ""
+
+#: c-format.c:1351
+msgid "too many arguments for format"
+msgstr ""
+
+#: c-format.c:1354
+msgid "unused arguments in $-style format"
+msgstr ""
+
+#: c-format.c:1357
+#, c-format
+msgid "zero-length %s format string"
+msgstr ""
+
+#: c-format.c:1361
+msgid "format is a wide character string"
+msgstr ""
+
+#: c-format.c:1364
+msgid "unterminated format string"
+msgstr ""
+
+#: c-format.c:1581
+msgid "embedded `\\0' in format"
+msgstr ""
+
+#: c-format.c:1596
+#, c-format
+msgid "spurious trailing `%%' in format"
+msgstr ""
+
+#: c-format.c:1635 c-format.c:1872
+#, c-format
+msgid "repeated %s in format"
+msgstr ""
+
+#: c-format.c:1648
+msgid "missing fill character at end of strfmon format"
+msgstr ""
+
+#: 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:1728
+#, c-format
+msgid "zero width in %s format"
+msgstr ""
+
+#: c-format.c:1747
+#, c-format
+msgid "empty left precision in %s format"
+msgstr ""
+
+#: c-format.c:1801
+msgid "field precision"
+msgstr ""
+
+#: c-format.c:1816
+#, c-format
+msgid "empty precision in %s format"
+msgstr ""
+
+#: c-format.c:1856
+#, c-format
+msgid "%s does not support the `%s' %s length modifier"
+msgstr ""
+
+#: c-format.c:1906
+msgid "conversion lacks type at end of format"
+msgstr ""
+
+#: c-format.c:1917
+#, c-format
+msgid "unknown conversion type character `%c' in format"
+msgstr ""
+
+#: c-format.c:1920
+#, c-format
+msgid "unknown conversion type character 0x%x in format"
+msgstr ""
+
+#: c-format.c:1927
+#, c-format
+msgid "%s does not support the `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1943
+#, c-format
+msgid "%s used with `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1952
+#, c-format
+msgid "%s does not support %s"
+msgstr "%s не падтрымлівае %s"
+
+#: c-format.c:1961
+#, c-format
+msgid "%s does not support %s with the `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1994
+#, c-format
+msgid "%s ignored with %s and `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1998
+#, c-format
+msgid "%s ignored with %s in %s format"
+msgstr ""
+
+#: c-format.c:2004
+#, c-format
+msgid "use of %s and %s together with `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:2008
+#, c-format
+msgid "use of %s and %s together in %s format"
+msgstr ""
+
+#: c-format.c:2027
+#, c-format
+msgid "`%%%c' yields only last 2 digits of year in some locales"
+msgstr ""
+
+#: 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:2046
+#, c-format
+msgid "no closing `]' for `%%[' format"
+msgstr ""
+
+#: c-format.c:2059
+#, c-format
+msgid "use of `%s' length modifier with `%c' type character"
+msgstr ""
+
+#: c-format.c:2080
+#, c-format
+msgid "%s does not support the `%%%s%c' %s format"
+msgstr ""
+
+#: c-format.c:2095
+msgid "operand number specified with suppressed assignment"
+msgstr ""
+
+#: c-format.c:2097
+msgid "operand number specified for format taking no argument"
+msgstr ""
+
+#: c-format.c:2211
+#, c-format
+msgid "writing through null pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2220
+#, c-format
+msgid "reading through null pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2240
+#, c-format
+msgid "writing into constant object (arg %d)"
+msgstr ""
+
+#: c-format.c:2250
+#, c-format
+msgid "extra type qualifiers in format argument (arg %d)"
+msgstr ""
+
+#: c-format.c:2257
+#, c-format
+msgid "format argument is not a pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2259
+#, c-format
+msgid "format argument is not a pointer to a pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2330
+msgid "pointer"
+msgstr ""
+
+#: c-format.c:2332
+msgid "different type"
+msgstr ""
+
+#: c-format.c:2353
+#, c-format
+msgid "%s is not type %s (arg %d)"
+msgstr ""
+
+#: c-format.c:2356
+#, c-format
+msgid "%s format, %s arg (arg %d)"
+msgstr ""
+
+#: c-lex.c:153
+#, fuzzy
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG не вызначан."
+
+#: c-lex.c:290
+msgid "badly nested C headers from preprocessor"
+msgstr ""
+
+#: c-lex.c:333
+#, c-format
+msgid "ignoring #pragma %s %s"
+msgstr ""
+
+#: c-lex.c:383
+#, c-format
+msgid "universal-character-name '\\U%08x' not valid in identifier"
+msgstr ""
+
+#: c-lex.c:629
+#, c-format
+msgid "universal-character-name '\\u%04x' not valid in identifier"
+msgstr ""
+
+#: c-lex.c:692
+#, c-format
+msgid "stray '%c' in program"
+msgstr ""
+
+#: c-lex.c:694
+#, c-format
+msgid "stray '\\%o' in program"
+msgstr ""
+
+#: c-lex.c:850
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr ""
+
+#: c-lex.c:853
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr ""
+
+#: c-lex.c:869
+#, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr ""
+
+#: c-lex.c:937
+#, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr ""
+
+#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr ""
+
+#: c-opts.c:353
+#, fuzzy, c-format
+msgid "missing argument to \"-%s\""
+msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#: c-opts.c:357
+#, fuzzy, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "не зададзены ўваходзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹"
+
+#: c-opts.c:364
+#, fuzzy, c-format
+msgid "missing filename after \"-%s\""
+msgstr "прапушчан прабел паÑÐ»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° \"%.*s\""
+
+#: c-opts.c:369
+#, fuzzy, c-format
+msgid "missing target after \"-%s\""
+msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#: c-opts.c:503
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr ""
+
+#: c-opts.c:548
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr ""
+
+#: c-opts.c:934
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr ""
+
+#: c-opts.c:1014
+#, fuzzy, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "-pipe не падтрымліваецца."
+
+#: c-opts.c:1030
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr ""
+
+#: c-opts.c:1143
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr ""
+
+#: c-opts.c:1263
+#, fuzzy
+msgid "output filename specified twice"
+msgstr "не зададзены ўваходзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹"
+
+#: c-opts.c:1377
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1379
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1381
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1383
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1385
+msgid "-Wformat-security ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1387
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1409
+#, fuzzy, c-format
+msgid "opening output file %s"
+msgstr "немагчыма адчыніць файл уводу `%s'"
+
+#: c-opts.c:1464
+#, c-format
+msgid "opening dependency file %s"
+msgstr ""
+
+#: c-opts.c:1474
+#, fuzzy, c-format
+msgid "closing dependency file %s"
+msgstr "не магу знайÑці крыніцу %s\n"
+
+#: c-opts.c:1477
+#, fuzzy, c-format
+msgid "when writing output to %s"
+msgstr "памылка запіÑу Ñž %s"
+
+#: c-opts.c:1557
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr ""
+
+#: c-opts.c:1704
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr ""
+
+#. 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-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-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-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-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-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-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-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-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-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:55 parse.y:48 objc-parse.y:56
+msgid "syntax error"
+msgstr "ÑінтакÑÑ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+#: /usr/share/bison/bison.simple:179
+#, fuzzy
+msgid "syntax error: cannot back up"
+msgstr "ÑінтакÑÑ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+#: c-parse.y:325 objc-parse.y:347
+msgid "ISO C forbids an empty source file"
+msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+#: 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:374 objc-parse.y:397
+msgid "ISO C forbids data definition with no type or storage class"
+msgstr ""
+
+#: c-parse.y:376 objc-parse.y:399
+msgid "data definition has no type or storage class"
+msgstr ""
+
+#: c-parse.y:389 objc-parse.y:412
+msgid "ISO C does not allow extra `;' outside of a function"
+msgstr ""
+
+#: c-parse.y:449 cppexp.c:1312
+msgid "traditional C rejects the unary plus operator"
+msgstr ""
+
+#: c-parse.y:496 objc-parse.y:519
+msgid "`sizeof' applied to a bit-field"
+msgstr ""
+
+#: c-parse.y:583 objc-parse.y:606
+msgid "ISO C forbids omitting the middle term of a ?: expression"
+msgstr ""
+
+#: c-parse.y:632 objc-parse.y:655
+msgid "ISO C89 forbids compound literals"
+msgstr ""
+
+#: c-parse.y:646 objc-parse.y:669
+msgid "ISO C forbids braced-groups within expressions"
+msgstr ""
+
+#: c-parse.y:677 objc-parse.y:700
+#, fuzzy
+msgid "first argument to __builtin_choose_expr not a constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: c-parse.y:721 objc-parse.y:768
+msgid "traditional C rejects ISO C style function definitions"
+msgstr ""
+
+#: 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 "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+#: c-parse.y:1441 objc-parse.y:1497
+msgid "ISO C forbids empty initializer braces"
+msgstr ""
+
+#: c-parse.y:1455 objc-parse.y:1511
+msgid "ISO C89 forbids specifying subobject to initialize"
+msgstr ""
+
+#: c-parse.y:1458 objc-parse.y:1514
+msgid "obsolete use of designated initializer without `='"
+msgstr ""
+
+#: c-parse.y:1462 objc-parse.y:1518
+msgid "obsolete use of designated initializer with `:'"
+msgstr ""
+
+#: c-parse.y:1489 objc-parse.y:1545
+msgid "ISO C forbids specifying range of elements to initialize"
+msgstr ""
+
+#: 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:1703 objc-parse.y:1761
+msgid "ISO C forbids forward references to `enum' types"
+msgstr ""
+
+#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773
+msgid "comma at end of enumerator list"
+msgstr ""
+
+#: c-parse.y:1723 objc-parse.y:1781
+msgid "no semicolon at end of struct or union"
+msgstr ""
+
+#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865
+msgid "extra semicolon in struct or union specified"
+msgstr ""
+
+#: c-parse.y:1745 objc-parse.y:1817
+msgid "ISO C doesn't support unnamed structs/unions"
+msgstr ""
+
+#: c-parse.y:1754 objc-parse.y:1826
+msgid "ISO C forbids member declarations with no members"
+msgstr ""
+
+#: c-parse.y:1913 objc-parse.y:1985
+msgid "deprecated use of label at end of compound statement"
+msgstr ""
+
+#: c-parse.y:1930 objc-parse.y:2002
+msgid "ISO C89 forbids mixed declarations and code"
+msgstr ""
+
+#: c-parse.y:2005 objc-parse.y:2081
+msgid "ISO C forbids label declarations"
+msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+#: 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:2182 objc-parse.y:2258
+msgid "empty body in an else-statement"
+msgstr "пуÑтое цела Ñž else-выражÑнні"
+
+#: c-parse.y:2303 objc-parse.y:2379
+msgid "ISO C forbids `goto *expr;'"
+msgstr "ISO C не падтрымлівае \"goto *expr;\""
+
+#: c-parse.y:2403 objc-parse.y:2479
+msgid "ISO C forbids forward parameter declarations"
+msgstr ""
+
+#. Gcc used to allow this as an extension. However, it does
+#. not work for all targets, and thus has been disabled.
+#. Also, since func (...) and func () are indistinguishable,
+#. 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:2429 objc-parse.y:2505
+msgid "ISO C requires a named argument before `...'"
+msgstr ""
+
+#: c-parse.y:2526 objc-parse.y:2602
+msgid "`...' in old-style identifier list"
+msgstr ""
+
+#: /usr/share/bison/bison.simple:795
+msgid "parse error; also virtual memory exhausted"
+msgstr ""
+
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
+msgid "parse error"
+msgstr "Ð³Ñ€Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+#: /usr/share/bison/bison.simple:924
+msgid "parser stack overflow"
+msgstr ""
+
+#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538
+#, c-format
+msgid "%s at end of input"
+msgstr "%s на прыканцы ўводу"
+
+#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544
+#, c-format
+msgid "%s before %s'%c'"
+msgstr "%s перад %s'%c'"
+
+#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546
+#, c-format
+msgid "%s before %s'\\x%x'"
+msgstr "%s перад %s'\\x%x'"
+
+#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550
+#, c-format
+msgid "%s before string constant"
+msgstr ""
+
+#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552
+#, c-format
+msgid "%s before numeric constant"
+msgstr ""
+
+#: c-parse.y:2854 objc-parse.y:3554
+#, c-format
+msgid "%s before \"%s\""
+msgstr "%s перад \"%s\""
+
+#: c-parse.y:2856 objc-parse.y:3556
+#, c-format
+msgid "%s before '%s' token"
+msgstr "%s перад знакам '%s'"
+
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr ""
+
+#: c-parse.y:3047 objc-parse.y:3780
+#, c-format
+msgid "syntax error at '%s' token"
+msgstr ""
+
+#: c-pragma.c:107
+msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
+msgstr ""
+
+#: c-pragma.c:125
+#, c-format
+msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
+msgstr ""
+
+#: c-pragma.c:145
+#, fuzzy
+msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: c-pragma.c:147
+#, fuzzy
+msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: c-pragma.c:167
+msgid "missing '(' after '#pragma pack' - ignored"
+msgstr ""
+
+#: c-pragma.c:180 c-pragma.c:230
+msgid "malformed '#pragma pack' - ignored"
+msgstr ""
+
+#: c-pragma.c:185
+msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
+msgstr ""
+
+#: c-pragma.c:187
+msgid "malformed '#pragma pack(pop[, id])' - ignored"
+msgstr ""
+
+#: c-pragma.c:196
+#, c-format
+msgid "unknown action '%s' for '#pragma pack' - ignored"
+msgstr ""
+
+#: c-pragma.c:233
+msgid "junk at end of '#pragma pack'"
+msgstr ""
+
+#: c-pragma.c:247
+#, c-format
+msgid "alignment must be a small power of two, not %d"
+msgstr ""
+
+#: 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:330
+msgid "junk at end of #pragma weak"
+msgstr ""
+
+#: c-pragma.c:365 c-pragma.c:370
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr ""
+
+#: c-pragma.c:375
+msgid "junk at end of #pragma redefine_extname"
+msgstr ""
+
+#: c-pragma.c:382 c-pragma.c:463
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr ""
+
+#: c-pragma.c:413
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr ""
+
+#: c-pragma.c:418
+msgid "junk at end of #pragma extern_prefix"
+msgstr ""
+
+#: c-pragma.c:450
+#, fuzzy
+msgid "asm declaration conficts with previous rename"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: c-semantics.c:565
+msgid "break statement not within loop or switch"
+msgstr ""
+
+#: c-semantics.c:583
+msgid "continue statement not within a loop"
+msgstr ""
+
+#: c-semantics.c:678
+msgid "destructor needed for `%#D'"
+msgstr "дÑÑтруктару неабходны \"%#D\""
+
+#: c-semantics.c:679
+msgid "where case label appears here"
+msgstr ""
+
+#: c-semantics.c:682
+msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
+msgstr ""
+
+#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897
+#, c-format
+msgid "%s qualifier ignored on asm"
+msgstr ""
+
+#: c-typeck.c:123
+#, c-format
+msgid "`%s' has an incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: c-typeck.c:145 cp/call.c:2740
+msgid "invalid use of void expression"
+msgstr ""
+
+#: c-typeck.c:153
+msgid "invalid use of flexible array member"
+msgstr ""
+
+#: c-typeck.c:159
+msgid "invalid use of array with unspecified bounds"
+msgstr ""
+
+#: c-typeck.c:167
+#, c-format
+msgid "invalid use of undefined type `%s %s'"
+msgstr ""
+
+#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
+#: c-typeck.c:171
+#, c-format
+msgid "invalid use of incomplete typedef `%s'"
+msgstr ""
+
+#: c-typeck.c:424 c-typeck.c:438
+msgid "function types not truly compatible in ISO C"
+msgstr ""
+
+#: c-typeck.c:603
+msgid "types are not quite compatible"
+msgstr ""
+
+#: c-typeck.c:757 c-typeck.c:2673
+msgid "arithmetic on pointer to an incomplete type"
+msgstr ""
+
+#: c-typeck.c:1136
+#, c-format
+msgid "%s has no member named `%s'"
+msgstr ""
+
+#: c-typeck.c:1169
+#, c-format
+msgid "request for member `%s' in something not a structure or union"
+msgstr ""
+
+#: c-typeck.c:1201
+msgid "dereferencing pointer to incomplete type"
+msgstr ""
+
+#: c-typeck.c:1205
+msgid "dereferencing `void *' pointer"
+msgstr ""
+
+#: c-typeck.c:1222 cp/typeck.c:2357
+#, c-format
+msgid "invalid type argument of `%s'"
+msgstr ""
+
+#: c-typeck.c:1241 cp/typeck.c:2383
+msgid "subscript missing in array reference"
+msgstr ""
+
+#: c-typeck.c:1262 cp/typeck.c:2425
+msgid "array subscript has type `char'"
+msgstr ""
+
+#: 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:1303
+msgid "ISO C forbids subscripting `register' array"
+msgstr ""
+
+#: c-typeck.c:1305
+#, fuzzy
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+#: c-typeck.c:1338
+msgid "subscript has type `char'"
+msgstr ""
+
+#: c-typeck.c:1354 cp/typeck.c:2506
+msgid "subscripted value is neither array nor pointer"
+msgstr ""
+
+#: c-typeck.c:1408
+#, c-format
+msgid "`%s' undeclared here (not in a function)"
+msgstr ""
+
+#: c-typeck.c:1415
+#, c-format
+msgid "`%s' undeclared (first use in this function)"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: c-typeck.c:1420
+msgid "(Each undeclared identifier is reported only once"
+msgstr "(Ðб кожным неабвешчаным ідÑнтыфікатары паведамлÑецца"
+
+#: c-typeck.c:1421
+msgid "for each function it appears in.)"
+msgstr "адзін раз Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð¹ функцыі, дзе ён з'ÑўлÑецца.)"
+
+#: c-typeck.c:1438
+#, c-format
+msgid "local declaration of `%s' hides instance variable"
+msgstr ""
+
+#: c-typeck.c:1504
+msgid "called object is not a function"
+msgstr ""
+
+#: c-typeck.c:1590 cp/typeck.c:2831
+msgid "too many arguments to function"
+msgstr "вельмі шмат аргументаў у функцыі"
+
+#: c-typeck.c:1611
+#, c-format
+msgid "type of formal parameter %d is incomplete"
+msgstr ""
+
+#: c-typeck.c:1624
+#, c-format
+msgid "%s as integer rather than floating due to prototype"
+msgstr ""
+
+#: c-typeck.c:1627
+#, c-format
+msgid "%s as integer rather than complex due to prototype"
+msgstr ""
+
+#: c-typeck.c:1630
+#, c-format
+msgid "%s as complex rather than floating due to prototype"
+msgstr ""
+
+#: c-typeck.c:1633
+#, c-format
+msgid "%s as floating rather than integer due to prototype"
+msgstr ""
+
+#: c-typeck.c:1636
+#, c-format
+msgid "%s as complex rather than integer due to prototype"
+msgstr ""
+
+#: c-typeck.c:1639
+#, c-format
+msgid "%s as floating rather than complex due to prototype"
+msgstr ""
+
+#: c-typeck.c:1649
+#, c-format
+msgid "%s as `float' rather than `double' due to prototype"
+msgstr ""
+
+#: c-typeck.c:1667
+#, c-format
+msgid "%s with different width due to prototype"
+msgstr ""
+
+#: c-typeck.c:1701
+#, c-format
+msgid "%s as unsigned due to prototype"
+msgstr ""
+
+#: c-typeck.c:1703
+#, c-format
+msgid "%s as signed due to prototype"
+msgstr ""
+
+#: c-typeck.c:1737 cp/typeck.c:2935
+msgid "too few arguments to function"
+msgstr "не хапае аргументаў у функцыі"
+
+#: c-typeck.c:1779
+msgid "suggest parentheses around + or - inside shift"
+msgstr ""
+
+#: c-typeck.c:1786
+msgid "suggest parentheses around && within ||"
+msgstr ""
+
+#: c-typeck.c:1795
+msgid "suggest parentheses around arithmetic in operand of |"
+msgstr ""
+
+#: c-typeck.c:1798
+msgid "suggest parentheses around comparison in operand of |"
+msgstr ""
+
+#: c-typeck.c:1807
+msgid "suggest parentheses around arithmetic in operand of ^"
+msgstr ""
+
+#: c-typeck.c:1810
+msgid "suggest parentheses around comparison in operand of ^"
+msgstr ""
+
+#: c-typeck.c:1817
+msgid "suggest parentheses around + or - in operand of &"
+msgstr ""
+
+#: c-typeck.c:1820
+msgid "suggest parentheses around comparison in operand of &"
+msgstr ""
+
+#: c-typeck.c:1827
+msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
+msgstr ""
+
+#: c-typeck.c:1987 c-typeck.c:2022
+msgid "division by zero"
+msgstr ""
+
+#: c-typeck.c:2067 cp/typeck.c:3196
+msgid "right shift count is negative"
+msgstr ""
+
+#: c-typeck.c:2074 cp/typeck.c:3202
+msgid "right shift count >= width of type"
+msgstr ""
+
+#: c-typeck.c:2095 cp/typeck.c:3221
+msgid "left shift count is negative"
+msgstr ""
+
+#: c-typeck.c:2098 cp/typeck.c:3223
+msgid "left shift count >= width of type"
+msgstr ""
+
+#: c-typeck.c:2119
+msgid "shift count is negative"
+msgstr ""
+
+#: c-typeck.c:2121
+msgid "shift count >= width of type"
+msgstr ""
+
+#: c-typeck.c:2138 cp/typeck.c:3258
+msgid "comparing floating point with == or != is unsafe"
+msgstr ""
+
+#: c-typeck.c:2164 c-typeck.c:2170
+msgid "ISO C forbids comparison of `void *' with function pointer"
+msgstr ""
+
+#: 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:2187 c-typeck.c:2192 c-typeck.c:2261 c-typeck.c:2266
+msgid "comparison between pointer and integer"
+msgstr ""
+
+#: c-typeck.c:2208 c-typeck.c:2236
+msgid "ISO C forbids ordered comparisons of pointers to functions"
+msgstr ""
+
+#: c-typeck.c:2233
+msgid "comparison of complete and incomplete pointers"
+msgstr ""
+
+#: c-typeck.c:2249 c-typeck.c:2256
+msgid "ordered comparison of pointer with integer zero"
+msgstr ""
+
+#: c-typeck.c:2280 cp/typeck.c:3391
+msgid "unordered comparison on non-floating point argument"
+msgstr ""
+
+#: c-typeck.c:2491
+msgid "comparison between signed and unsigned"
+msgstr ""
+
+#: c-typeck.c:2537 cp/typeck.c:3635
+msgid "comparison of promoted ~unsigned with constant"
+msgstr ""
+
+#: c-typeck.c:2545 cp/typeck.c:3643
+msgid "comparison of promoted ~unsigned with unsigned"
+msgstr ""
+
+#: c-typeck.c:2625
+msgid "pointer of type `void *' used in subtraction"
+msgstr ""
+
+#: c-typeck.c:2627
+msgid "pointer to a function used in subtraction"
+msgstr ""
+
+#: c-typeck.c:2724
+msgid "wrong type argument to unary plus"
+msgstr ""
+
+#: c-typeck.c:2737
+msgid "wrong type argument to unary minus"
+msgstr ""
+
+#: c-typeck.c:2754
+msgid "ISO C does not support `~' for complex conjugation"
+msgstr ""
+
+#: c-typeck.c:2760
+msgid "wrong type argument to bit-complement"
+msgstr ""
+
+#: c-typeck.c:2769
+msgid "wrong type argument to abs"
+msgstr ""
+
+#: c-typeck.c:2781
+msgid "wrong type argument to conjugation"
+msgstr ""
+
+#: c-typeck.c:2795
+msgid "wrong type argument to unary exclamation mark"
+msgstr ""
+
+#: c-typeck.c:2838
+msgid "ISO C does not support `++' and `--' on complex types"
+msgstr "ISO C не падтрымлівае \"++\" Ñ– \"--\" Ð´Ð»Ñ Ñ‚Ñ‹Ð¿Ñƒ complex"
+
+#: c-typeck.c:2853 c-typeck.c:2885
+#, fuzzy
+msgid "wrong type argument to increment"
+msgstr "не хапае аргументаў у функцыі"
+
+#: c-typeck.c:2855 c-typeck.c:2887
+msgid "wrong type argument to decrement"
+msgstr ""
+
+#: c-typeck.c:2876
+msgid "increment of pointer to unknown structure"
+msgstr ""
+
+#: c-typeck.c:2878
+msgid "decrement of pointer to unknown structure"
+msgstr ""
+
+#: c-typeck.c:3015
+msgid "ISO C forbids the address of a cast expression"
+msgstr ""
+
+#: c-typeck.c:3025
+msgid "invalid lvalue in unary `&'"
+msgstr ""
+
+#: c-typeck.c:3057
+#, c-format
+msgid "attempt to take address of bit-field structure member `%s'"
+msgstr ""
+
+#: 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:3227
+msgid "ISO C forbids use of conditional expressions as lvalues"
+msgstr ""
+
+#: c-typeck.c:3230
+msgid "ISO C forbids use of compound expressions as lvalues"
+msgstr ""
+
+#: c-typeck.c:3233
+msgid "ISO C forbids use of cast expressions as lvalues"
+msgstr ""
+
+#: c-typeck.c:3250
+#, c-format
+msgid "%s of read-only member `%s'"
+msgstr ""
+
+#: c-typeck.c:3254
+#, c-format
+msgid "%s of read-only variable `%s'"
+msgstr ""
+
+#: c-typeck.c:3257
+#, c-format
+msgid "%s of read-only location"
+msgstr ""
+
+#: c-typeck.c:3276
+#, fuzzy, c-format
+msgid "cannot take address of bit-field `%s'"
+msgstr "не магу атрымаць Ð°Ð´Ñ€Ð°Ñ Ð±Ñ–Ñ‚Ð°Ð²Ð°Ð³Ð° Ð¿Ð¾Ð»Ñ \"%s\""
+
+#: c-typeck.c:3304
+#, c-format
+msgid "global register variable `%s' used in nested function"
+msgstr ""
+
+#: c-typeck.c:3308
+#, c-format
+msgid "register variable `%s' used in nested function"
+msgstr ""
+
+#: c-typeck.c:3315
+#, c-format
+msgid "address of global register variable `%s' requested"
+msgstr ""
+
+#: c-typeck.c:3327
+msgid "cannot put object with volatile field into register"
+msgstr ""
+
+#: c-typeck.c:3331
+#, c-format
+msgid "address of register variable `%s' requested"
+msgstr ""
+
+#: c-typeck.c:3439
+msgid "signed and unsigned type in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3446
+msgid "ISO C forbids conditional expr with only one void side"
+msgstr ""
+
+#: c-typeck.c:3462 c-typeck.c:3469
+msgid "ISO C forbids conditional expr between `void *' and function pointer"
+msgstr ""
+
+#: c-typeck.c:3475
+msgid "pointer type mismatch in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3482 c-typeck.c:3492
+msgid "pointer/integer type mismatch in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3506
+msgid "type mismatch in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3577 cp/typeck.c:4597
+msgid "left-hand operand of comma expression has no effect"
+msgstr ""
+
+#: c-typeck.c:3621
+msgid "cast specifies array type"
+msgstr ""
+
+#: c-typeck.c:3627
+msgid "cast specifies function type"
+msgstr ""
+
+#: c-typeck.c:3637
+msgid "ISO C forbids casting nonscalar to the same type"
+msgstr ""
+
+#: c-typeck.c:3656
+msgid "ISO C forbids casts to union type"
+msgstr ""
+
+#: c-typeck.c:3671
+msgid "cast to union type from type not present in union"
+msgstr ""
+
+#: 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:3727
+msgid "cast discards qualifiers from pointer target type"
+msgstr ""
+
+#: c-typeck.c:3742
+msgid "cast increases required alignment of target type"
+msgstr ""
+
+#: c-typeck.c:3748 cp/typeck.c:5027
+msgid "cast from pointer to integer of different size"
+msgstr ""
+
+#: c-typeck.c:3753
+msgid "cast does not match function type"
+msgstr ""
+
+#: 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:3935
+msgid "invalid lvalue in assignment"
+msgstr ""
+
+#. Convert new value to destination type.
+#: 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:4056
+msgid "cannot pass rvalue to reference parameter"
+msgstr ""
+
+#: c-typeck.c:4160 c-typeck.c:4227
+#, c-format
+msgid "%s makes qualified function pointer from unqualified"
+msgstr ""
+
+#: c-typeck.c:4164 c-typeck.c:4207
+#, c-format
+msgid "%s discards qualifiers from pointer target type"
+msgstr ""
+
+#: c-typeck.c:4170
+msgid "ISO C prohibits argument conversion to union type"
+msgstr ""
+
+#: c-typeck.c:4199
+#, c-format
+msgid "ISO C forbids %s between function pointer and `void *'"
+msgstr ""
+
+#: c-typeck.c:4216
+#, c-format
+msgid "pointer targets in %s differ in signedness"
+msgstr ""
+
+#: c-typeck.c:4232
+#, c-format
+msgid "%s from incompatible pointer type"
+msgstr ""
+
+#: c-typeck.c:4248
+#, c-format
+msgid "%s makes pointer from integer without a cast"
+msgstr ""
+
+#: c-typeck.c:4256
+#, c-format
+msgid "%s makes integer from pointer without a cast"
+msgstr ""
+
+#: c-typeck.c:4270 c-typeck.c:4273
+#, c-format
+msgid "incompatible type for argument %d of `%s'"
+msgstr ""
+
+#: c-typeck.c:4277
+#, c-format
+msgid "incompatible type for argument %d of indirect function call"
+msgstr ""
+
+#: c-typeck.c:4281
+#, c-format
+msgid "incompatible types in %s"
+msgstr ""
+
+#. Function name is known; supply it.
+#: c-typeck.c:4339
+#, fuzzy, c-format
+msgid "passing arg of `%s'"
+msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4349
+#, fuzzy
+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:4367
+#, c-format
+msgid "passing arg %d of pointer to function"
+msgstr ""
+
+#: c-typeck.c:4433
+msgid "initializer for static variable is not constant"
+msgstr ""
+
+#: c-typeck.c:4439
+msgid "initializer for static variable uses complicated arithmetic"
+msgstr ""
+
+#: c-typeck.c:4447
+msgid "aggregate initializer is not constant"
+msgstr ""
+
+#: c-typeck.c:4449
+msgid "aggregate initializer uses complicated arithmetic"
+msgstr ""
+
+#: c-typeck.c:4456
+msgid "traditional C rejects automatic aggregate initialization"
+msgstr ""
+
+#: c-typeck.c:4635 c-typeck.c:4651 c-typeck.c:4667
+#, c-format
+msgid "(near initialization for `%s')"
+msgstr ""
+
+#: c-typeck.c:4718 cp/typeck2.c:505
+msgid "char-array initialized from wide string"
+msgstr ""
+
+#: c-typeck.c:4725 cp/typeck2.c:512
+msgid "int-array initialized from non-wide string"
+msgstr ""
+
+#: c-typeck.c:4743 cp/typeck2.c:528
+msgid "initializer-string for array of chars is too long"
+msgstr ""
+
+#: c-typeck.c:4781
+msgid "array initialized from non-constant array expression"
+msgstr ""
+
+#: 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:4832
+msgid "initialization"
+msgstr "ініцыÑлізацыÑ"
+
+#: c-typeck.c:4843 c-typeck.c:6242
+msgid "initializer element is not computable at load time"
+msgstr ""
+
+#: c-typeck.c:4858 cp/typeck2.c:605
+msgid "invalid initializer"
+msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+#: c-typeck.c:5351
+msgid "extra brace group at end of initializer"
+msgstr ""
+
+#: c-typeck.c:5371
+msgid "missing braces around initializer"
+msgstr ""
+
+#: c-typeck.c:5431
+msgid "braces around scalar initializer"
+msgstr ""
+
+#: c-typeck.c:5479
+msgid "initialization of flexible array member in a nested context"
+msgstr ""
+
+#: c-typeck.c:5481
+msgid "initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:5512
+msgid "missing initializer"
+msgstr "прапушчан ініцыÑлізатар"
+
+#: c-typeck.c:5538
+msgid "empty scalar initializer"
+msgstr ""
+
+#: c-typeck.c:5543
+msgid "extra elements in scalar initializer"
+msgstr ""
+
+#: c-typeck.c:5629
+msgid "initialization designators may not nest"
+msgstr ""
+
+#: c-typeck.c:5650 c-typeck.c:5721
+msgid "array index in non-array initializer"
+msgstr ""
+
+#: c-typeck.c:5655 c-typeck.c:5773
+msgid "field name not in record or union initializer"
+msgstr ""
+
+#: c-typeck.c:5717 c-typeck.c:5719
+msgid "nonconstant array index in initializer"
+msgstr ""
+
+#: c-typeck.c:5724
+msgid "array index in initializer exceeds array bounds"
+msgstr ""
+
+#: c-typeck.c:5735
+msgid "empty index range in initializer"
+msgstr ""
+
+#: c-typeck.c:5744
+msgid "array index range in initializer exceeds array bounds"
+msgstr ""
+
+#: c-typeck.c:5785
+#, c-format
+msgid "unknown field `%s' specified in initializer"
+msgstr ""
+
+#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304
+msgid "initialized field with side-effects overwritten"
+msgstr ""
+
+#: c-typeck.c:6514
+msgid "excess elements in char array initializer"
+msgstr ""
+
+#: c-typeck.c:6521 c-typeck.c:6567
+msgid "excess elements in struct initializer"
+msgstr ""
+
+#: c-typeck.c:6582
+msgid "non-static initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:6644
+msgid "excess elements in union initializer"
+msgstr ""
+
+#: c-typeck.c:6665
+msgid "traditional C rejects initialization of unions"
+msgstr ""
+
+#: c-typeck.c:6728
+msgid "excess elements in array initializer"
+msgstr ""
+
+#: c-typeck.c:6757
+msgid "excess elements in vector initializer"
+msgstr ""
+
+#: c-typeck.c:6779
+msgid "excess elements in scalar initializer"
+msgstr ""
+
+#: c-typeck.c:6886
+msgid "asm template is not a string constant"
+msgstr ""
+
+#: c-typeck.c:6918
+msgid "invalid lvalue in asm statement"
+msgstr ""
+
+#: c-typeck.c:6993
+msgid "modification by `asm'"
+msgstr ""
+
+#: c-typeck.c:7012 cp/typeck.c:6152
+msgid "function declared `noreturn' has a `return' statement"
+msgstr ""
+
+#: c-typeck.c:7019
+msgid "`return' with no value, in function returning non-void"
+msgstr ""
+
+#: c-typeck.c:7025
+msgid "`return' with a value, in function returning void"
+msgstr ""
+
+#: c-typeck.c:7029
+msgid "return"
+msgstr "вÑртанне"
+
+#: c-typeck.c:7081
+msgid "function returns address of local variable"
+msgstr ""
+
+#: c-typeck.c:7137 cp/semantics.c:555
+msgid "switch quantity not an integer"
+msgstr ""
+
+#: c-typeck.c:7147
+msgid "`long' switch expression not converted to `int' in ISO C"
+msgstr ""
+
+#: c-typeck.c:7182 cp/decl.c:5173
+msgid "case label not within a switch statement"
+msgstr ""
+
+#: c-typeck.c:7184 cp/decl.c:5178
+msgid "`default' label not within a switch statement"
+msgstr ""
+
+#: calls.c:1921
+#, c-format
+msgid "inlining failed in call to `%s'"
+msgstr ""
+
+#: calls.c:1922 calls.c:2228
+msgid "called from here"
+msgstr "выклікана адÑюль"
+
+#: calls.c:2227
+#, c-format
+msgid "can't inline call to `%s'"
+msgstr ""
+
+#: calls.c:2257
+msgid "function call has aggregate value"
+msgstr ""
+
+#: calls.c:4614
+msgid "variable offset is passed partially in stack and in reg"
+msgstr ""
+
+#: calls.c:4616
+msgid "variable size is passed partially in stack and in reg"
+msgstr ""
+
+#: 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:1744
+#, c-format
+msgid "insn %d is in multiple basic blocks (%d and %d)"
+msgstr ""
+
+#: cfgrtl.c:1756
+#, c-format
+msgid "head insn %d for block %d not found in the insn stream"
+msgstr ""
+
+#: cfgrtl.c:1778
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr ""
+
+#: cfgrtl.c:1785
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1791
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1799
+#, c-format
+msgid "verify_flow_info: Duplicate edge %i->%i"
+msgstr ""
+
+#: cfgrtl.c:1805
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1811
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1841
+#, c-format
+msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+msgstr ""
+
+#: cfgrtl.c:1856
+#, c-format
+msgid "verify_flow_info: Incorrect fallthru %i->%i"
+msgstr ""
+
+#: cfgrtl.c:1858
+msgid "wrong insn in the fallthru edge"
+msgstr ""
+
+#: cfgrtl.c:1865
+#, c-format
+msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+msgstr ""
+
+#: cfgrtl.c:1881
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr ""
+
+#: cfgrtl.c:1889
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr ""
+
+#: cfgrtl.c:1894
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1899
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1905
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1910
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1919
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1934
+#, c-format
+msgid "missing barrier after block %i"
+msgstr ""
+
+#: cfgrtl.c:1944
+#, c-format
+msgid "basic block %d pred edge is corrupted"
+msgstr ""
+
+#: cfgrtl.c:1961
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is NULL"
+msgstr ""
+
+#: cfgrtl.c:1965
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is %i"
+msgstr ""
+
+#: cfgrtl.c:1979 cfgrtl.c:1989
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+msgstr ""
+
+#: cfgrtl.c:2002
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+msgstr ""
+
+#: cfgrtl.c:2014
+#, c-format
+msgid "in basic block %d:"
+msgstr ""
+
+#: cfgrtl.c:2015
+msgid "flow control insn inside a basic block"
+msgstr ""
+
+#: cfgrtl.c:2034
+#, c-format
+msgid "basic block %i edge lists are corrupted"
+msgstr ""
+
+#: cfgrtl.c:2049
+msgid "basic blocks not numbered consecutively"
+msgstr ""
+
+#: cfgrtl.c:2074
+msgid "insn outside basic block"
+msgstr ""
+
+#: cfgrtl.c:2082
+msgid "return not followed by barrier"
+msgstr ""
+
+#: cfgrtl.c:2087
+#, c-format
+msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+msgstr ""
+
+#: cfgrtl.c:2091
+msgid "verify_flow_info failed"
+msgstr ""
+
+#: collect2.c:425
+msgid "internal error"
+msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+#: collect2.c:934
+msgid "no arguments"
+msgstr "нÑма аргументаў"
+
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
+#, c-format
+msgid "fopen %s"
+msgstr ""
+
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
+#, c-format
+msgid "fclose %s"
+msgstr ""
+
+#: collect2.c:1275
+#, c-format
+msgid "collect2 version %s"
+msgstr ""
+
+#: collect2.c:1365
+#, c-format
+msgid "%d constructor(s) found\n"
+msgstr "%d канÑтруктар(аў) знойдзен(а)\n"
+
+#: collect2.c:1366
+#, c-format
+msgid "%d destructor(s) found\n"
+msgstr "%d дÑÑтруктар(аў) знойдзен(а)\n"
+
+#: collect2.c:1367
+#, c-format
+msgid "%d frame table(s) found\n"
+msgstr ""
+
+#: collect2.c:1508
+#, c-format
+msgid "%s terminated with signal %d [%s]%s"
+msgstr ""
+
+#: collect2.c:1527
+#, c-format
+msgid "%s returned %d exit status"
+msgstr ""
+
+#: collect2.c:1555
+#, c-format
+msgid "[cannot find %s]"
+msgstr "[нельга знайÑці %s]"
+
+#: collect2.c:1570
+#, c-format
+msgid "cannot find `%s'"
+msgstr "нельга знайÑці \"%s\""
+
+#: collect2.c:1581 collect2.c:1584
+#, c-format
+msgid "redirecting stdout: %s"
+msgstr "перанакіраванне stdout: %s"
+
+#: collect2.c:1627
+#, c-format
+msgid "[Leaving %s]\n"
+msgstr ""
+
+#: collect2.c:1870
+#, c-format
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
+msgstr ""
+
+#: collect2.c:2083
+msgid "cannot find `nm'"
+msgstr "нельга знайÑці \"nm\""
+
+#: collect2.c:2093 collect2.c:2535
+msgid "pipe"
+msgstr "канвеер"
+
+#: collect2.c:2097 collect2.c:2539
+msgid "fdopen"
+msgstr ""
+
+#: collect2.c:2123 collect2.c:2565
+#, c-format
+msgid "dup2 %d 1"
+msgstr ""
+
+#: 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:2132 collect2.c:2574
+#, c-format
+msgid "execv %s"
+msgstr ""
+
+#: collect2.c:2186
+#, c-format
+msgid "init function found in object %s"
+msgstr ""
+
+#: collect2.c:2194
+#, c-format
+msgid "fini function found in object %s"
+msgstr ""
+
+#: collect2.c:2217 collect2.c:2623
+msgid "fclose"
+msgstr ""
+
+#: collect2.c:2262
+#, c-format
+msgid "unable to open file '%s'"
+msgstr "немагу адчыніць файл \"%s\""
+
+#: collect2.c:2264
+#, c-format
+msgid "unable to stat file '%s'"
+msgstr ""
+
+#: collect2.c:2270
+#, c-format
+msgid "unable to mmap file '%s'"
+msgstr ""
+
+#: collect2.c:2423
+msgid "not found\n"
+msgstr "не знойдзена\n"
+
+#: collect2.c:2425 collect2.c:2602
+#, c-format
+msgid "dynamic dependency %s not found"
+msgstr ""
+
+#: collect2.c:2445
+#, c-format
+msgid "bad magic number in file '%s'"
+msgstr "дрÑÐ½Ð½Ð°Ñ Ð¼Ð°Ð³Ñ–Ñ‡Ð½Ð°Ñ Ð»Ñ–Ñ‡Ð±Ð° Ñž файле \"%s\""
+
+#: collect2.c:2467
+msgid "dynamic dependencies.\n"
+msgstr ""
+
+#: collect2.c:2526
+msgid "cannot find `ldd'"
+msgstr "не магу знайÑці \"ldd\""
+
+#: collect2.c:2587
+msgid ""
+"\n"
+"ldd output with constructors/destructors.\n"
+msgstr ""
+
+#: collect2.c:2614
+#, c-format
+msgid "unable to open dynamic dependency '%s'"
+msgstr ""
+
+#: collect2.c:2728
+#, c-format
+msgid "%s: not a COFF file"
+msgstr ""
+
+#: collect2.c:2847
+#, c-format
+msgid "%s: cannot open as COFF file"
+msgstr ""
+
+#: collect2.c:2903
+#, fuzzy, c-format
+msgid "library lib%s not found"
+msgstr "БібліÑÑ‚Ñка lib%s не знойдзена"
+
+#: collect2.c:3030
+#, c-format
+msgid "open %s"
+msgstr ""
+
+#: collect2.c:3053
+msgid "incompatibilities between object file & expected values"
+msgstr ""
+
+#: collect2.c:3126
+#, c-format
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+msgstr ""
+
+#: collect2.c:3135
+msgid "string section missing"
+msgstr ""
+
+#: collect2.c:3138
+msgid "section pointer missing"
+msgstr ""
+
+#: collect2.c:3186
+msgid "no symbol table found"
+msgstr ""
+
+#: collect2.c:3199
+msgid "no cmd_strings found"
+msgstr ""
+
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
+msgstr ""
+
+#: collect2.c:3218
+#, c-format
+msgid "load command map, %d cmds, new size %ld.\n"
+msgstr ""
+
+#: collect2.c:3249
+msgid ""
+"writing load commands.\n"
+"\n"
+msgstr ""
+
+#: collect2.c:3269
+#, c-format
+msgid "close %s"
+msgstr ""
+
+#: collect2.c:3343
+msgid "could not convert 0x%l.8x into a region"
+msgstr ""
+
+#: collect2.c:3347
+#, c-format
+msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+msgstr ""
+
+#: collect2.c:3474
+msgid "bad magic number"
+msgstr "дрÑнны \"магічны\" нумар"
+
+#: collect2.c:3475
+msgid "bad header version"
+msgstr "дрÑÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ð·Ð°Ð³Ð°Ð»Ð¾ÑžÐºÐ°"
+
+#: collect2.c:3476
+msgid "bad raw header version"
+msgstr ""
+
+#: collect2.c:3477
+msgid "raw header buffer too small"
+msgstr ""
+
+#: collect2.c:3478
+msgid "old raw header file"
+msgstr ""
+
+#: collect2.c:3479
+msgid "unsupported version"
+msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ"
+
+#: collect2.c:3481
+#, c-format
+msgid "unknown {de,en}code_mach_o_hdr return value %d"
+msgstr ""
+
+#: collect2.c:3501
+#, c-format
+msgid "fstat %s"
+msgstr ""
+
+#: collect2.c:3538 collect2.c:3586
+#, c-format
+msgid "lseek %s 0"
+msgstr ""
+
+#: collect2.c:3542
+#, c-format
+msgid "read %s"
+msgstr ""
+
+#: collect2.c:3545
+#, c-format
+msgid "read %ld bytes, expected %ld, from %s"
+msgstr ""
+
+#: collect2.c:3566
+#, c-format
+msgid "msync %s"
+msgstr ""
+
+#: collect2.c:3573
+#, c-format
+msgid "munmap %s"
+msgstr ""
+
+#: collect2.c:3590
+#, c-format
+msgid "write %s"
+msgstr ""
+
+#: collect2.c:3593
+#, c-format
+msgid "wrote %ld bytes, expected %ld, to %s"
+msgstr ""
+
+#: combine.c:12966
+#, c-format
+msgid ""
+";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+";; %d successes.\n"
+"\n"
+msgstr ""
+
+#: combine.c:12976
+#, c-format
+msgid ""
+"\n"
+";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
+";; %d successes.\n"
+msgstr ""
+
+#: convert.c:69
+msgid "cannot convert to a pointer type"
+msgstr ""
+
+#: convert.c:102
+msgid "pointer value used where a floating point value was expected"
+msgstr ""
+
+#: convert.c:106
+msgid "aggregate value used where a float was expected"
+msgstr ""
+
+#: convert.c:132
+msgid "conversion to incomplete type"
+msgstr ""
+
+#: convert.c:414 convert.c:494
+msgid "can't convert between vector values of different size"
+msgstr ""
+
+#: convert.c:420
+msgid "aggregate value used where an integer was expected"
+msgstr ""
+
+#: convert.c:472 f/com.c:1100
+msgid "pointer value used where a complex was expected"
+msgstr ""
+
+#: convert.c:476 f/com.c:1102
+msgid "aggregate value used where a complex was expected"
+msgstr ""
+
+#: convert.c:500
+msgid "can't convert value to a vector"
+msgstr ""
+
+#: cpperror.c:113
+msgid "warning: "
+msgstr ""
+
+#: cpperror.c:115
+msgid "internal error: "
+msgstr ""
+
+#: cpperror.c:189
+#, fuzzy
+msgid "stdout"
+msgstr "Ñтруктура"
+
+#: cpperror.c:191 gcc.c:6444
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: cppexp.c:199
+msgid "too many decimal points in number"
+msgstr ""
+
+#: cppexp.c:219
+#, fuzzy, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "`%E' - нерÑчаіÑÐ½Ð°Ñ Ð½ÑÐ·ÑŒÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ñ‹Ð¿Ñƒ string"
+
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
+msgstr ""
+
+#: cppexp.c:234
+msgid "exponent has no digits"
+msgstr ""
+
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
+msgstr ""
+
+#: cppexp.c:247
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "`%E' - нерÑчаіÑÐ½Ð°Ñ Ð½ÑÐ·ÑŒÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ñ‹Ð¿Ñƒ string"
+
+#: cppexp.c:257 cppexp.c:282
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr ""
+
+#: cppexp.c:268
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "`%E' - нерÑчаіÑÐ½Ð°Ñ Ð½ÑÐ·ÑŒÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ñ‹Ð¿Ñƒ string"
+
+#: 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:489
+msgid "operator \"defined\" requires an identifier"
+msgstr ""
+
+#: cppexp.c:497
+#, c-format
+msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+msgstr ""
+
+#: cppexp.c:507
+msgid "this use of \"defined\" may not be portable"
+msgstr ""
+
+#: cppexp.c:545
+msgid "floating constant in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:551
+msgid "imaginary number in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:596
+#, c-format
+msgid "ISO C++ does not permit \"%s\" in #if"
+msgstr ""
+
+#: cppexp.c:604
+#, c-format
+msgid "\"%s\" is not defined"
+msgstr ""
+
+#: cppexp.c:737 cppexp.c:772
+#, fuzzy, c-format
+msgid "missing binary operator before token \"%s\""
+msgstr "прапушчан прабел паÑÐ»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° \"%.*s\""
+
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
+msgstr ""
+
+#: cppexp.c:758
+#, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr ""
+
+#: cppexp.c:763
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr ""
+
+#: cppexp.c:782
+msgid "void expression between '(' and ')'"
+msgstr ""
+
+#: cppexp.c:785
+msgid "#if with no expression"
+msgstr ""
+
+#: cppexp.c:787
+#, c-format
+msgid "operator '%s' has no right operand"
+msgstr ""
+
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr ""
+
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
+msgstr ""
+
+#: cppexp.c:862
+#, fuzzy, c-format
+msgid "impossible operator '%u'"
+msgstr "немагчымы апÑратар '%s'"
+
+#: cppexp.c:954
+msgid "missing ')' in expression"
+msgstr ""
+
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr ""
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:990
+msgid "missing '(' in expression"
+msgstr ""
+
+#: cppexp.c:1026
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr ""
+
+#: cppexp.c:1031
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr ""
+
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr ""
+
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr ""
+
+#: cppfiles.c:411
+#, c-format
+msgid "%s is too large"
+msgstr "%s - вельмі вÑлікі"
+
+#: cppfiles.c:447
+#, c-format
+msgid "%s is shorter than expected"
+msgstr ""
+
+#: cppfiles.c:461
+#, c-format
+msgid "%s is a block device"
+msgstr "%s - гÑта Ð±Ð»Ñ‘Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð°"
+
+#: cppfiles.c:594
+#, c-format
+msgid "no include path in which to find %s"
+msgstr ""
+
+#: cppfiles.c:668
+msgid "Multiple include guards may be useful for:\n"
+msgstr ""
+
+#: cppfiles.c:1014
+msgid "absolute file name in remap_filename"
+msgstr ""
+
+#: cppinit.c:224
+#, c-format
+msgid "ignoring nonexistent directory \"%s\"\n"
+msgstr ""
+
+#: cppinit.c:231
+#, c-format
+msgid "%s: Not a directory"
+msgstr "%s: не дырÑкторыÑ"
+
+#: cppinit.c:287
+#, c-format
+msgid "ignoring duplicate directory \"%s\"\n"
+msgstr ""
+
+#: 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:895
+#, c-format
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr ""
+
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr ""
+
+#: 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:976
+msgid "#include <...> search starts here:\n"
+msgstr ""
+
+#: cppinit.c:979
+msgid "End of search list.\n"
+msgstr ""
+
+#: cppinit.c:1055
+msgid "<built-in>"
+msgstr ""
+
+#: cppinit.c:1057
+msgid "<command line>"
+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:1162
+#, c-format
+msgid "assertion missing after %s"
+msgstr ""
+
+#: cppinit.c:1163
+#, c-format
+msgid "directory name missing after %s"
+msgstr ""
+
+#: cppinit.c:1164
+#, c-format
+msgid "file name missing after %s"
+msgstr ""
+
+#: cppinit.c:1165
+#, c-format
+msgid "macro name missing after %s"
+msgstr ""
+
+#: cppinit.c:1166
+#, c-format
+msgid "path name missing after %s"
+msgstr ""
+
+#: cppinit.c:1368
+msgid "-I- specified twice"
+msgstr ""
+
+#: cpplex.c:149
+#, c-format
+msgid "trigraph ??%c converted to %c"
+msgstr ""
+
+#: cpplex.c:157
+#, c-format
+msgid "trigraph ??%c ignored"
+msgstr ""
+
+#: cpplex.c:214
+msgid "backslash and newline separated by space"
+msgstr ""
+
+#: cpplex.c:221 cpptrad.c:158
+msgid "backslash-newline at end of file"
+msgstr ""
+
+#: cpplex.c:287 cpptrad.c:199
+msgid "\"/*\" within comment"
+msgstr ""
+
+#: cpplex.c:395
+msgid "null character(s) ignored"
+msgstr ""
+
+#: cpplex.c:402
+#, c-format
+msgid "%s in preprocessing directive"
+msgstr ""
+
+#: cpplex.c:475
+#, c-format
+msgid "attempt to use poisoned \"%s\""
+msgstr ""
+
+#: cpplex.c:483
+msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+msgstr ""
+
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
+msgstr ""
+
+#: cpplex.c:698
+#, c-format
+msgid "missing terminating %c character"
+msgstr "прапушчан завÑршаючы Ñімвал %c"
+
+#: cpplex.c:711
+msgid "null character(s) preserved in literal"
+msgstr ""
+
+#: cpplex.c:915 cpptrad.c:487
+msgid "no newline at end of file"
+msgstr ""
+
+#: cpplex.c:1092 cpptrad.c:213
+msgid "unterminated comment"
+msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ñ‹Ñ ÐºÐ°Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ‹Ñ–"
+
+#: cpplex.c:1103
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr ""
+
+#: cpplex.c:1105
+msgid "(this will be reported only once per input file)"
+msgstr ""
+
+#: cpplex.c:1110
+msgid "multi-line comment"
+msgstr ""
+
+#: cpplex.c:1425
+#, fuzzy, c-format
+msgid "unknown string token %s\n"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s\n"
+
+#: cpplex.c:1438
+#, fuzzy, c-format
+msgid "unspellable token %s"
+msgstr "немагу адчыніць файл \"%s\""
+
+#: cpplex.c:1695
+#, c-format
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr ""
+
+#: cpplex.c:1701
+msgid "incomplete universal-character-name"
+msgstr ""
+
+#: cpplex.c:1715
+#, c-format
+msgid "non-hex digit '%c' in universal-character-name"
+msgstr ""
+
+#: cpplex.c:1723
+msgid "universal-character-name on EBCDIC target"
+msgstr ""
+
+#: cpplex.c:1737
+msgid "universal-character-name out of range"
+msgstr ""
+
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr ""
+
+#: cpplex.c:1798
+#, c-format
+msgid "non-ISO-standard escape sequence, '\\%c'"
+msgstr ""
+
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr ""
+
+#: cpplex.c:1828 f/lex.c:585
+msgid "\\x used with no following hex digits"
+msgstr ""
+
+#: cpplex.c:1833
+msgid "hex escape sequence out of range"
+msgstr ""
+
+#: cpplex.c:1858
+msgid "octal escape sequence out of range"
+msgstr ""
+
+#: cpplex.c:1874
+#, c-format
+msgid "unknown escape sequence '\\%c'"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑць '\\%c'"
+
+#: cpplex.c:1877
+#, fuzzy, c-format
+msgid "unknown escape sequence: '\\%03o'"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑць '\\%c'"
+
+#: cpplex.c:1882
+msgid "escape sequence out of range for its type"
+msgstr ""
+
+#: cpplex.c:1973
+msgid "empty character constant"
+msgstr "пуÑÑ‚Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+#: cpplex.c:1983
+#, fuzzy
+msgid "character constant too long for its type"
+msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+#: cpplex.c:1986
+msgid "multi-character character constant"
+msgstr "мнагаÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+#: cpplib.c:225
+#, c-format
+msgid "extra tokens at end of #%s directive"
+msgstr ""
+
+#: cpplib.c:315
+#, c-format
+msgid "#%s is a GCC extension"
+msgstr ""
+
+#: cpplib.c:327
+msgid "suggest not using #elif in traditional C"
+msgstr ""
+
+#: cpplib.c:330
+#, c-format
+msgid "traditional C ignores #%s with the # indented"
+msgstr ""
+
+#: cpplib.c:334
+#, c-format
+msgid "suggest hiding #%s from traditional C with an indented #"
+msgstr ""
+
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr ""
+
+#: cpplib.c:378
+msgid "style of line directive is a GCC extension"
+msgstr ""
+
+#: cpplib.c:427
+#, c-format
+msgid "invalid preprocessing directive #%s"
+msgstr ""
+
+#: cpplib.c:499
+msgid "\"defined\" cannot be used as a macro name"
+msgstr ""
+
+#: cpplib.c:505
+#, c-format
+msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
+msgstr ""
+
+#: cpplib.c:508
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr ""
+
+#: cpplib.c:511
+msgid "macro names must be identifiers"
+msgstr ""
+
+#: cpplib.c:551
+#, c-format
+msgid "undefining \"%s\""
+msgstr ""
+
+#: cpplib.c:597
+msgid "missing terminating > character"
+msgstr ""
+
+#: cpplib.c:636
+#, c-format
+msgid "#%s expects \"FILENAME\" or <FILENAME>"
+msgstr ""
+
+#: cpplib.c:647
+#, c-format
+msgid "empty file name in #%s"
+msgstr ""
+
+#: cpplib.c:666
+msgid "#include_next in primary source file"
+msgstr ""
+
+#: cpplib.c:673
+msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+msgstr ""
+
+#: cpplib.c:681
+msgid "#include nested too deeply"
+msgstr ""
+
+#: cpplib.c:738
+#, c-format
+msgid "invalid flag \"%s\" in line directive"
+msgstr ""
+
+#: cpplib.c:813
+#, c-format
+msgid "\"%s\" after #line is not a positive integer"
+msgstr ""
+
+#: cpplib.c:819
+msgid "line number out of range"
+msgstr ""
+
+#: cpplib.c:830 cpplib.c:901
+#, c-format
+msgid "\"%s\" is not a valid filename"
+msgstr ""
+
+#: cpplib.c:865
+#, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr ""
+
+#: cpplib.c:972
+#, fuzzy
+msgid "invalid #ident directive"
+msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+#: cpplib.c:1060
+#, c-format
+msgid "registering \"%s\" as both a pragma and a pragma namespace"
+msgstr ""
+
+#: cpplib.c:1063
+#, fuzzy, c-format
+msgid "#pragma %s %s is already registered"
+msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+#: cpplib.c:1066
+#, c-format
+msgid "#pragma %s is already registered"
+msgstr ""
+
+#: cpplib.c:1140
+msgid "#pragma once is obsolete"
+msgstr ""
+
+#: cpplib.c:1143
+msgid "#pragma once in main file"
+msgstr ""
+
+#: cpplib.c:1167
+msgid "invalid #pragma GCC poison directive"
+msgstr ""
+
+#: cpplib.c:1176
+#, c-format
+msgid "poisoning existing macro \"%s\""
+msgstr ""
+
+#: cpplib.c:1198
+msgid "#pragma system_header ignored outside include file"
+msgstr ""
+
+#: cpplib.c:1223
+#, c-format
+msgid "cannot find source %s"
+msgstr "не магу знайÑці крыніцу %s"
+
+#: cpplib.c:1227
+#, c-format
+msgid "current file is older than %s"
+msgstr ""
+
+#: cpplib.c:1343
+msgid "_Pragma takes a parenthesized string literal"
+msgstr ""
+
+#: cpplib.c:1426
+msgid "#else without #if"
+msgstr ""
+
+#: cpplib.c:1431
+msgid "#else after #else"
+msgstr ""
+
+#: cpplib.c:1433 cpplib.c:1467
+msgid "the conditional began here"
+msgstr ""
+
+#: cpplib.c:1460
+msgid "#elif without #if"
+msgstr ""
+
+#: cpplib.c:1465
+msgid "#elif after #else"
+msgstr ""
+
+#: cpplib.c:1496
+msgid "#endif without #if"
+msgstr ""
+
+#: cpplib.c:1579
+msgid "missing '(' after predicate"
+msgstr ""
+
+#: cpplib.c:1594
+msgid "missing ')' to complete answer"
+msgstr ""
+
+#: cpplib.c:1614
+msgid "predicate's answer is empty"
+msgstr ""
+
+#: cpplib.c:1644
+msgid "assertion without predicate"
+msgstr ""
+
+#: cpplib.c:1646
+msgid "predicate must be an identifier"
+msgstr ""
+
+#: cpplib.c:1735
+#, c-format
+msgid "\"%s\" re-asserted"
+msgstr ""
+
+#: cpplib.c:1965
+#, c-format
+msgid "unterminated #%s"
+msgstr ""
+
+#: 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:234
+#, fuzzy
+msgid "could not determine date and time"
+msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n"
+
+#: cppmacro.c:407
+msgid "invalid string literal, ignoring final '\\'"
+msgstr ""
+
+#: cppmacro.c:504
+#, c-format
+msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+msgstr ""
+
+#: cppmacro.c:546
+msgid "ISO C99 requires rest arguments to be used"
+msgstr ""
+
+#: cppmacro.c:551
+#, c-format
+msgid "macro \"%s\" requires %u arguments, but only %u given"
+msgstr ""
+
+#: cppmacro.c:556
+#, c-format
+msgid "macro \"%s\" passed %u arguments, but takes just %u"
+msgstr ""
+
+#: 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:1312
+#, c-format
+msgid "duplicate macro parameter \"%s\""
+msgstr ""
+
+#: cppmacro.c:1349
+#, c-format
+msgid "\"%s\" may not appear in macro parameter list"
+msgstr ""
+
+#: cppmacro.c:1357
+msgid "macro parameters must be comma-separated"
+msgstr ""
+
+#: cppmacro.c:1374
+msgid "parameter name missing"
+msgstr ""
+
+#: cppmacro.c:1389
+msgid "anonymous variadic macros were introduced in C99"
+msgstr ""
+
+#: cppmacro.c:1393
+msgid "ISO C does not permit named variadic macros"
+msgstr ""
+
+#: cppmacro.c:1402
+msgid "missing ')' in macro parameter list"
+msgstr ""
+
+#: cppmacro.c:1470
+msgid "ISO C requires whitespace after the macro name"
+msgstr ""
+
+#: cppmacro.c:1498
+msgid "'#' is not followed by a macro parameter"
+msgstr ""
+
+#: cppmacro.c:1517
+msgid "'##' cannot appear at either end of a macro expansion"
+msgstr ""
+
+#: cppmacro.c:1599
+#, c-format
+msgid "\"%s\" redefined"
+msgstr ""
+
+#: cppmacro.c:1604
+msgid "this is the location of the previous definition"
+msgstr ""
+
+#: cppmacro.c:1655
+#, c-format
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr ""
+
+#: cppmacro.c:1680
+#, c-format
+msgid "invalid hash type %d in cpp_macro_definition"
+msgstr ""
+
+#: cppspec.c:131
+#, c-format
+msgid "\"%s\" is not a valid option to the preprocessor"
+msgstr ""
+
+#: cppspec.c:155
+msgid "too many input files"
+msgstr "вельмі шмат уваходзÑчых файлаў"
+
+#: cpptrad.c:841
+#, c-format
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr ""
+
+#: cse.c:7187
+#, c-format
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ""
+
+#: diagnostic.c:700
+msgid "((anonymous))"
+msgstr ""
+
+#: diagnostic.c:914
+#, c-format
+msgid "%s: warnings being treated as errors\n"
+msgstr ""
+
+#: diagnostic.c:949
+#, c-format
+msgid "%s: %s: "
+msgstr "%s: %s: "
+
+#: diagnostic.c:1040
+#, c-format
+msgid "%s "
+msgstr ""
+
+#: diagnostic.c:1042
+#, c-format
+msgid " %s"
+msgstr ""
+
+#: diagnostic.c:1064
+msgid "At top level:"
+msgstr ""
+
+#: diagnostic.c:1069
+#, fuzzy, c-format
+msgid "In member function `%s':"
+msgstr "у функцыі \"%s\":"
+
+#: diagnostic.c:1073
+#, c-format
+msgid "In function `%s':"
+msgstr "у функцыі \"%s\":"
+
+#: diagnostic.c:1161
+msgid "compilation terminated.\n"
+msgstr "кампілÑÑ†Ñ‹Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ð°.\n"
+
+#: diagnostic.c:1179
+#, c-format
+msgid "%s:%d: confused by earlier errors, bailing out\n"
+msgstr ""
+
+#: diagnostic.c:1194 diagnostic.c:1302
+#, c-format
+msgid ""
+"Please submit a full bug report,\n"
+"with preprocessed source if appropriate.\n"
+"See %s for instructions.\n"
+msgstr ""
+
+#: diagnostic.c:1300
+msgid "Internal compiler error: Error reporting routines re-entered.\n"
+msgstr ""
+
+#: diagnostic.c:1362
+#, fuzzy, c-format
+msgid "in %s, at %s:%d"
+msgstr "Ñпынена Ñž %s, Ð»Ñ %s:%d"
+
+#: diagnostic.c:1383
+#, c-format
+msgid "In file included from %s:%d"
+msgstr "У файле уключаным з %s:%d"
+
+#: diagnostic.c:1386
+#, c-format
+msgid ""
+",\n"
+" from %s:%d"
+msgstr ""
+
+#: diagnostic.c:1387
+msgid ":\n"
+msgstr ":\n"
+
+#: diagnostic.c:1431 diagnostic.c:1448
+#, c-format
+msgid "`%s' is deprecated (declared at %s:%d)"
+msgstr ""
+
+#: diagnostic.c:1451
+#, c-format
+msgid "`%s' is deprecated"
+msgstr ""
+
+#: diagnostic.c:1454
+#, c-format
+msgid "type is deprecated (declared at %s:%d)"
+msgstr ""
+
+#: diagnostic.c:1457
+msgid "type is deprecated"
+msgstr ""
+
+#: 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:2066
+#, c-format
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr ""
+
+#: 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:1151
+msgid "can't access real part of complex value in hard register"
+msgstr ""
+
+#: emit-rtl.c:1173
+msgid "can't access imaginary part of complex value in hard register"
+msgstr ""
+
+#: emit-rtl.c:3418
+msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+msgstr ""
+
+#: errors.c:136
+#, c-format
+msgid "abort in %s, at %s:%d"
+msgstr "Ñпынена Ñž %s, Ð»Ñ %s:%d"
+
+#: except.c:371
+msgid "exception handling disabled, use -fexceptions to enable"
+msgstr ""
+
+#: except.c:2969
+msgid "argument of `__builtin_eh_return_regno' must be constant"
+msgstr ""
+
+#: except.c:3090 except.c:3112
+msgid "__builtin_eh_return not supported on this target"
+msgstr ""
+
+#: explow.c:1398
+msgid "stack limits not supported on this target"
+msgstr ""
+
+#: expr.c:3323
+msgid "function using short complex types cannot be inline"
+msgstr ""
+
+#: 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:6587
+#, c-format
+msgid "prior parameter's size depends on `%s'"
+msgstr ""
+
+#: expr.c:6932
+msgid "returned value in block_exit_expr"
+msgstr ""
+
+#: final.c:1342
+msgid "negative insn length"
+msgstr ""
+
+#: final.c:2793
+msgid "could not split insn"
+msgstr ""
+
+#: final.c:3141
+msgid "invalid `asm': "
+msgstr ""
+
+#: final.c:3328
+msgid "nested assembly dialect alternatives"
+msgstr ""
+
+#: final.c:3345 final.c:3357
+msgid "unterminated assembly dialect alternative"
+msgstr ""
+
+#: final.c:3401
+#, c-format
+msgid "operand number missing after %%-letter"
+msgstr ""
+
+#: final.c:3404 final.c:3443
+msgid "operand number out of range"
+msgstr ""
+
+#: final.c:3462
+#, c-format
+msgid "invalid %%-code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: 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:3600 vmsdbgout.c:466 config/i386/i386.c:6104
+#: config/pdp11/pdp11.c:1573
+msgid "floating constant misused"
+msgstr ""
+
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6182
+#: config/pdp11/pdp11.c:1620
+msgid "invalid expression as operand"
+msgstr ""
+
+#: flow.c:352
+msgid "function might be possible candidate for attribute `noreturn'"
+msgstr ""
+
+#: flow.c:357
+msgid "`noreturn' function does return"
+msgstr ""
+
+#: flow.c:378
+msgid "control reaches end of non-void function"
+msgstr ""
+
+#: flow.c:1641
+msgid "Attempt to delete prologue/epilogue insn:"
+msgstr ""
+
+#: 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:3752 fold-const.c:3769
+#, c-format
+msgid "comparison is always %d"
+msgstr ""
+
+#: fold-const.c:3900
+msgid "`or' of unmatched not-equal tests is always 1"
+msgstr ""
+
+#: fold-const.c:3905
+msgid "`and' of mutually exclusive equal-tests is always 0"
+msgstr ""
+
+#: function.c:881 varasm.c:1503
+#, c-format
+msgid "size of variable `%s' is too large"
+msgstr ""
+
+#: function.c:5470
+#, c-format
+msgid "`%s' might be used uninitialized in this function"
+msgstr ""
+
+#: function.c:5477
+#, c-format
+msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
+msgstr ""
+
+#: function.c:5496
+#, c-format
+msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
+msgstr ""
+
+#: function.c:6363
+msgid "function returns an aggregate"
+msgstr ""
+
+#: function.c:6868
+#, c-format
+msgid "unused parameter `%s'"
+msgstr "невыкарыÑтаемы параметр \"%s\""
+
+#: gcc.c:1126
+#, c-format
+msgid "ambiguous abbreviation %s"
+msgstr ""
+
+#: gcc.c:1153
+#, c-format
+msgid "incomplete `%s' option"
+msgstr ""
+
+#: gcc.c:1164
+#, fuzzy, c-format
+msgid "missing argument to `%s' option"
+msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#: gcc.c:1177
+#, fuzzy, c-format
+msgid "extraneous argument to `%s' option"
+msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#: gcc.c:1505
+msgid "Using built-in specs.\n"
+msgstr ""
+
+#: gcc.c:1683
+#, c-format
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
+msgstr ""
+
+#: gcc.c:1790
+#, c-format
+msgid "Reading specs from %s\n"
+msgstr ""
+
+#: gcc.c:1888 gcc.c:1907
+#, c-format
+msgid "specs %%include syntax malformed after %ld characters"
+msgstr ""
+
+#: gcc.c:1915
+#, fuzzy, c-format
+msgid "could not find specs file %s\n"
+msgstr "не магу знайÑці крыніцу %s\n"
+
+#: 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:1967
+#, c-format
+msgid "specs %s spec was not found to be renamed"
+msgstr ""
+
+#: gcc.c:1974
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr ""
+
+#: gcc.c:1979
+#, c-format
+msgid "rename spec %s to %s\n"
+msgstr ""
+
+#: gcc.c:1981
+#, c-format
+msgid ""
+"spec is '%s'\n"
+"\n"
+msgstr ""
+
+#: gcc.c:1994
+#, c-format
+msgid "specs unknown %% command after %ld characters"
+msgstr ""
+
+#: gcc.c:2005 gcc.c:2018
+#, c-format
+msgid "specs file malformed after %ld characters"
+msgstr ""
+
+#: gcc.c:2072
+msgid "spec file has no spec for linking"
+msgstr ""
+
+#: gcc.c:2570
+msgid "-pipe not supported"
+msgstr "-pipe не падтрымліваецца"
+
+#: gcc.c:2625
+msgid ""
+"\n"
+"Go ahead? (y or n) "
+msgstr ""
+
+#: gcc.c:2751
+#, c-format
+msgid ""
+"Internal error: %s (program %s)\n"
+"Please submit a full bug report.\n"
+"See %s for instructions."
+msgstr ""
+
+#: gcc.c:2769
+#, c-format
+msgid "# %s %.2f %.2f\n"
+msgstr "# %s %.2f %.2f\n"
+
+#: gcc.c:2899
+#, c-format
+msgid "Usage: %s [options] file...\n"
+msgstr "ВыкарыÑтанне: %s [выбары] файл...\n"
+
+#: gcc.c:2900
+msgid "Options:\n"
+msgstr "Выбары:\n"
+
+#: gcc.c:2902
+msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+msgstr ""
+
+#: gcc.c:2903
+msgid " --help Display this information\n"
+msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
+
+#: gcc.c:2904
+msgid " --target-help Display target specific command line options\n"
+msgstr ""
+
+#: gcc.c:2906
+msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+msgstr ""
+
+#: gcc.c:2907
+msgid " -dumpspecs Display all of the built in spec strings\n"
+msgstr ""
+
+#: gcc.c:2908
+msgid " -dumpversion Display the version of the compiler\n"
+msgstr " -dumpversion ÐдлюÑтраваць верÑÑ–ÑŽ кампілÑтара\n"
+
+#: gcc.c:2909
+msgid " -dumpmachine Display the compiler's target processor\n"
+msgstr ""
+
+#: gcc.c:2910
+msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+msgstr ""
+
+#: gcc.c:2911
+msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+msgstr ""
+
+#: gcc.c:2912
+msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+msgstr ""
+
+#: gcc.c:2913
+msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+msgstr ""
+
+#: gcc.c:2914
+msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+msgstr ""
+
+#: gcc.c:2915
+msgid ""
+" -print-multi-lib Display the mapping between command line options and\n"
+" multiple library search directories\n"
+msgstr ""
+
+#: 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:2920
+msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+msgstr ""
+
+#: gcc.c:2921
+msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+msgstr ""
+
+#: gcc.c:2922
+msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+msgstr ""
+
+#: gcc.c:2923
+msgid " -save-temps Do not delete intermediate files\n"
+msgstr ""
+
+#: gcc.c:2924
+msgid " -pipe Use pipes rather than intermediate files\n"
+msgstr ""
+
+#: gcc.c:2925
+msgid " -time Time the execution of each subprocess\n"
+msgstr ""
+
+#: gcc.c:2926
+#, fuzzy
+msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+#: gcc.c:2927
+msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+msgstr ""
+
+#: gcc.c:2928
+msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+msgstr ""
+
+#: gcc.c:2929
+msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+msgstr ""
+
+#: gcc.c:2930
+msgid " -V <version> Run gcc version number <version>, if installed\n"
+msgstr ""
+
+#: gcc.c:2931
+msgid " -v Display the programs invoked by the compiler\n"
+msgstr ""
+
+#: gcc.c:2932
+msgid " -### Like -v but options quoted and commands not executed\n"
+msgstr ""
+
+#: gcc.c:2933
+msgid " -E Preprocess only; do not compile, assemble or link\n"
+msgstr ""
+
+#: gcc.c:2934
+msgid " -S Compile only; do not assemble or link\n"
+msgstr ""
+
+#: gcc.c:2935
+msgid " -c Compile and assemble, but do not link\n"
+msgstr ""
+
+#: gcc.c:2936
+msgid " -o <file> Place the output into <file>\n"
+msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+#: gcc.c:2937
+msgid ""
+" -x <language> Specify the language of the following input files\n"
+" Permissable languages include: c c++ assembler none\n"
+" 'none' means revert to the default behavior of\n"
+" guessing the language based on the file's extension\n"
+msgstr ""
+
+#: gcc.c:2944
+#, c-format
+msgid ""
+"\n"
+"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+" passed on to the various sub-processes invoked by %s. In order to pass\n"
+" 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:3278
+#, c-format
+msgid "%s (GCC) %s\n"
+msgstr ""
+
+#: gcc.c:3279
+msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: 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:3382
+msgid "argument to `-Xlinker' is missing"
+msgstr ""
+
+#: gcc.c:3390
+#, fuzzy
+msgid "argument to `-l' is missing"
+msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+#: gcc.c:3407
+msgid "argument to `-specs' is missing"
+msgstr ""
+
+#: gcc.c:3422
+msgid "argument to `-specs=' is missing"
+msgstr ""
+
+#: gcc.c:3452
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr ""
+
+#: gcc.c:3461
+msgid "argument to `-B' is missing"
+msgstr ""
+
+#: gcc.c:3634
+msgid "cannot specify -o with -c or -S and multiple compilations"
+msgstr ""
+
+#: gcc.c:3807
+msgid "warning: -pipe ignored because -save-temps specified"
+msgstr ""
+
+#: gcc.c:3811
+msgid "warning: -pipe ignored because -time specified"
+msgstr ""
+
+#: gcc.c:3823
+msgid "argument to `-x' is missing"
+msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+#: gcc.c:3851
+#, c-format
+msgid "argument to `-%s' is missing"
+msgstr "аргумент Ð´Ð»Ñ \"-%s\" прапушчан"
+
+#: gcc.c:3912
+#, c-format
+msgid "warning: `-x %s' after last input file has no effect"
+msgstr ""
+
+#: gcc.c:4257
+#, fuzzy
+msgid "invalid specification! Bug in cc"
+msgstr "ÐерÑчаіÑÐ½Ð°Ñ ÑпецыфікацыÑ! Памылка Ñž cc."
+
+#: gcc.c:4411
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#. 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:4971
+#, c-format
+msgid "spec failure: '%%*' has not been initialized by pattern match"
+msgstr ""
+
+#: gcc.c:4980
+#, c-format
+msgid "warning: use of obsolete %%[ operator in specs"
+msgstr ""
+
+#: gcc.c:4998
+#, c-format
+msgid "Processing spec %c%s%c, which is '%s'\n"
+msgstr ""
+
+#: gcc.c:5123
+#, fuzzy, c-format
+msgid "spec failure: unrecognized spec option '%c'"
+msgstr "нераÑпазнаны выбар \"-%s\""
+
+#: gcc.c:5204
+#, fuzzy, c-format
+msgid "unknown spec function `%s'"
+msgstr "у функцыі \"%s\":"
+
+#: gcc.c:5223
+#, fuzzy, c-format
+msgid "error in args to spec function `%s'"
+msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+#: gcc.c:5272
+msgid "malformed spec function name"
+msgstr ""
+
+#. )
+#: gcc.c:5275
+#, fuzzy
+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:6097
+#, c-format
+msgid "unrecognized option `-%s'"
+msgstr "нераÑпазнаны выбар \"-%s\""
+
+#: gcc.c:6103
+#, c-format
+msgid "install: %s%s\n"
+msgstr ""
+
+#: gcc.c:6104
+#, c-format
+msgid "programs: %s\n"
+msgstr "праграмы: %s\n"
+
+#: gcc.c:6105
+#, c-format
+msgid "libraries: %s\n"
+msgstr "бібліÑÑ‚Ñкі: %s\n"
+
+#: gcc.c:6162
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+msgstr ""
+"\n"
+"ІнÑтрукцыі Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½ÑÑž аб памылках глÑдзіце тут:\n"
+
+#: gcc.c:6178
+#, c-format
+msgid "Configured with: %s\n"
+msgstr ""
+
+#: gcc.c:6192
+#, c-format
+msgid "Thread model: %s\n"
+msgstr ""
+
+#: gcc.c:6203
+#, c-format
+msgid "gcc version %s\n"
+msgstr "верÑÑ–Ñ gcc %s\n"
+
+#: gcc.c:6205
+#, c-format
+msgid "gcc driver version %s executing gcc version %s\n"
+msgstr ""
+
+#: gcc.c:6213
+#, fuzzy
+msgid "no input files"
+msgstr "нÑма ўваходзÑчых файлаў"
+
+#: gcc.c:6251
+#, c-format
+msgid "%s: %s compiler not installed on this system"
+msgstr "%s: %s кампілÑтар не ÑžÑталÑваны на гÑтай ÑÑ–ÑÑ‚Ñме"
+
+#: gcc.c:6326
+#, c-format
+msgid "%s: linker input file unused because linking not done"
+msgstr ""
+
+#: gcc.c:6369
+#, c-format
+msgid "language %s not recognized"
+msgstr "мова %s не раÑпазнана"
+
+#: gcc.c:6472
+#, fuzzy
+msgid "internal gcc abort"
+msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+#: gcov.c:325
+msgid "Internal gcov abort.\n"
+msgstr ""
+
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
+msgstr ""
+
+#: gcov.c:339
+msgid ""
+"Print code coverage information.\n"
+"\n"
+msgstr ""
+
+#: gcov.c:340
+#, fuzzy
+msgid " -h, --help Print this help, then exit\n"
+msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
+
+#: gcov.c:341
+#, fuzzy
+msgid " -v, --version Print version number, then exit\n"
+msgstr " -dumpversion ÐдлюÑтраваць верÑÑ–ÑŽ кампілÑтара\n"
+
+#: gcov.c:342
+msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+msgstr ""
+
+#: gcov.c:343
+msgid ""
+" -c, --branch-counts Given counts of branches taken\n"
+" rather than percentages\n"
+msgstr ""
+
+#: gcov.c:345
+#, fuzzy
+msgid " -n, --no-output Do not create an output file\n"
+msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+#: gcov.c:346
+msgid ""
+" -l, --long-file-names Use long output file names for included\n"
+" source files\n"
+msgstr ""
+
+#: gcov.c:348
+msgid " -f, --function-summaries Output summaries for each function\n"
+msgstr ""
+
+#: gcov.c:349
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+msgstr ""
+
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
+msgstr ""
+
+#: gcov.c:351
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+"%s.\n"
+msgstr ""
+"\n"
+"ІнÑтрукцыі Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½ÑÑž аб памылках глÑдзіце тут:\n"
+
+#: gcov.c:361
+#, c-format
+msgid "gcov (GCC) %s\n"
+msgstr ""
+
+#: gcov.c:362
+msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+
+#: gcov.c:500
+#, c-format
+msgid "Could not open basic block file %s.\n"
+msgstr ""
+
+#: 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 "Ðемагчыма адчыніць файл з дадзенымі %s.\n"
+
+#: gcov.c:525
+msgid "Assuming that all execution counts are zero.\n"
+msgstr ""
+
+#: gcov.c:534
+#, c-format
+msgid "No executable code associated with file %s.\n"
+msgstr ""
+
+#: gcov.c:1186
+#, c-format
+msgid "%s of %d lines executed in %s %s\n"
+msgstr ""
+
+#: gcov.c:1191
+#, c-format
+msgid "No executable lines in %s %s\n"
+msgstr ""
+
+#: gcov.c:1198
+#, c-format
+msgid "%s of %d branches executed in %s %s\n"
+msgstr ""
+
+#: gcov.c:1203
+#, c-format
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr ""
+
+#: gcov.c:1209
+#, c-format
+msgid "No branches in %s %s\n"
+msgstr ""
+
+#: gcov.c:1211
+#, c-format
+msgid "%s of %d calls executed in %s %s\n"
+msgstr ""
+
+#: gcov.c:1216
+#, c-format
+msgid "No calls in %s %s\n"
+msgstr ""
+
+#: gcov.c:1351
+#, c-format
+msgid "didn't use all bb entries of graph, function %s\n"
+msgstr ""
+
+#: gcov.c:1353
+#, c-format
+msgid "block_num = %ld, num_blocks = %d\n"
+msgstr ""
+
+#: gcov.c:1367
+#, c-format
+msgid "ERROR: unexpected line number %ld\n"
+msgstr ""
+
+#: gcov.c:1383
+#, fuzzy, c-format
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+#: gcov.c:1398
+#, c-format
+msgid "ERROR: out of range line number in function %s\n"
+msgstr ""
+
+#: gcov.c:1470
+#, c-format
+msgid "Could not open source file %s.\n"
+msgstr ""
+
+#: gcov.c:1480
+#, c-format
+msgid "Warning: source file %s is newer than %s\n"
+msgstr ""
+
+#: gcov.c:1510
+#, c-format
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr ""
+
+#: gcov.c:1532
+#, c-format
+msgid "call %2d never executed\n"
+msgstr ""
+
+#: gcov.c:1535
+#, c-format
+msgid "call %2d returns %s\n"
+msgstr ""
+
+#: gcov.c:1543
+#, c-format
+msgid "branch %2d never executed\n"
+msgstr ""
+
+#: gcov.c:1546
+#, c-format
+msgid "branch %2d taken %s\n"
+msgstr ""
+
+#: gcov.c:1610
+#, c-format
+msgid "Creating %s.\n"
+msgstr ""
+
+#: gcov.c:1613
+#, fuzzy, c-format
+msgid "Error writing output file %s.\n"
+msgstr "памылка запіÑу Ñž %s"
+
+#: gcov.c:1618
+#, c-format
+msgid "Could not open output file %s.\n"
+msgstr ""
+
+#: gcse.c:761
+#, c-format
+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 ""
+
+#: genautomata.c:1490
+#, c-format
+msgid "Name `%s' contains quotes"
+msgstr ""
+
+#: genautomata.c:1621
+#, c-format
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr ""
+
+#: genautomata.c:1650
+#, c-format
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr ""
+
+#: genautomata.c:1682 genautomata.c:1685
+#, c-format
+msgid "invalid string `%s' in define_bypass"
+msgstr ""
+
+#: genautomata.c:1720
+#, c-format
+msgid "invalid first string `%s' in exclusion_set"
+msgstr ""
+
+#: genautomata.c:1724
+#, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr ""
+
+#: genautomata.c:1760
+#, c-format
+msgid "invalid first string `%s' in presence_set"
+msgstr ""
+
+#: genautomata.c:1764
+#, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr ""
+
+#: genautomata.c:1800
+#, c-format
+msgid "invalid first string `%s' in absence_set"
+msgstr ""
+
+#: genautomata.c:1804
+#, c-format
+msgid "invalid second string `%s' in absence_set"
+msgstr ""
+
+#: genautomata.c:1837
+#, c-format
+msgid "invalid string `%s' in define_automaton"
+msgstr ""
+
+#: genautomata.c:1868
+#, fuzzy, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: genautomata.c:1890
+#, c-format
+msgid "garbage after ) in reservation `%s'"
+msgstr ""
+
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, 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
+#, fuzzy, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: 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
+#, fuzzy, 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
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: genautomata.c:2762
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: genautomata.c:2772
+#, fuzzy, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "пуÑтое абвÑшчÑнне"
+
+#: genautomata.c:2775
+#, fuzzy, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: genautomata.c:2790 genautomata.c:2793
+#, fuzzy, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: genautomata.c:2810 genautomata.c:2815
+#, fuzzy, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+#: genautomata.c:2820
+#, fuzzy, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+#: 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
+#, fuzzy, c-format
+msgid "unit `%s' is not used"
+msgstr "адмеціна `%s' вызначана, але Ð½Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, fuzzy, c-format
+msgid "reservation `%s' is not used"
+msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+#: genautomata.c:3134
+#, fuzzy, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "перанакіраванне stdout: %s"
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr ""
+
+#: genautomata.c:9441
+#, fuzzy
+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
+#, fuzzy, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "памылка запіÑу Ñž %s"
+
+#: genconditions.c:196
+#, fuzzy
+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 "немагчыма адчыніць %s"
+
+#: haifa-sched.c:196
+#, c-format
+msgid "fix_sched_param: unknown param: %s"
+msgstr ""
+
+#: integrate.c:172
+msgid "function cannot be inline"
+msgstr ""
+
+#: integrate.c:176
+msgid "varargs function cannot be inline"
+msgstr ""
+
+#: integrate.c:179
+msgid "function using alloca cannot be inline"
+msgstr ""
+
+#: integrate.c:182
+msgid "function using setjmp cannot be inline"
+msgstr ""
+
+#: integrate.c:185
+msgid "function uses __builtin_eh_return"
+msgstr ""
+
+#: integrate.c:188
+msgid "function with nested functions cannot be inline"
+msgstr ""
+
+#: integrate.c:192
+msgid "function with label addresses used in initializers cannot inline"
+msgstr ""
+
+#: integrate.c:199 integrate.c:243
+msgid "function too large to be inline"
+msgstr ""
+
+#: integrate.c:209
+msgid "no prototype, and parameter address used; cannot be inline"
+msgstr ""
+
+#: integrate.c:216 integrate.c:261
+msgid "inline functions not supported for this return value type"
+msgstr ""
+
+#: integrate.c:221
+msgid "function with varying-size return value cannot be inline"
+msgstr ""
+
+#: integrate.c:228
+msgid "function with varying-size parameter cannot be inline"
+msgstr ""
+
+#: integrate.c:231
+msgid "function with transparent unit parameter cannot be inline"
+msgstr ""
+
+#: integrate.c:250
+msgid "function with computed jump cannot inline"
+msgstr ""
+
+#: integrate.c:254
+msgid "function with nonlocal goto cannot be inline"
+msgstr ""
+
+#: integrate.c:268
+msgid "function with target specific attribute(s) cannot be inlined"
+msgstr ""
+
+#: line-map.c:198
+#, c-format
+msgid "In file included from %s:%u"
+msgstr ""
+
+#. Translators note: this message is used in conjunction
+#. with "In file included from %s:%ld" and some other
+#. tricks. We want something like this:
+#.
+#. | In file included from sys/select.h:123,
+#. | from sys/types.h:234,
+#. | from userfile.c:31:
+#. | bits/select.h:45: <error message here>
+#.
+#. with all the "from"s lined up.
+#. The trailing comma is at the beginning of this message,
+#. and the trailing colon is not translated.
+#: line-map.c:216
+#, c-format
+msgid ""
+",\n"
+" from %s:%u"
+msgstr ""
+
+#. If we didn't find this parameter, issue an error message.
+#: params.c:80
+#, c-format
+msgid "invalid parameter `%s'"
+msgstr "нерÑчаіÑны парамÑÑ‚Ñ€ `%s'"
+
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr ""
+
+#: profile.c:400
+msgid ".da file corrupted"
+msgstr ""
+
+#: profile.c:634
+#, c-format
+msgid "corrupted profile info: prob for %d-%d thought to be %d"
+msgstr ""
+
+#: profile.c:1226
+#, c-format
+msgid "file %s not found, execution counts assumed to be zero"
+msgstr ""
+
+#: protoize.c:542
+#, c-format
+msgid "%s: internal abort\n"
+msgstr "%s: ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° (датÑрміновае завÑршÑньне)\n"
+
+#: protoize.c:633
+#, c-format
+msgid "%s: error writing file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:678
+#, c-format
+msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+msgstr ""
+
+#: protoize.c:681
+#, c-format
+msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+msgstr ""
+
+#: protoize.c:788
+#, c-format
+msgid "%s: warning: no read access for file `%s'\n"
+msgstr ""
+
+#: protoize.c:796
+#, c-format
+msgid "%s: warning: no write access for file `%s'\n"
+msgstr ""
+
+#: protoize.c:804
+#, c-format
+msgid "%s: warning: no write access for dir containing `%s'\n"
+msgstr ""
+
+#. Catch cases like /.. where we try to backup to a
+#. point above the absolute root of the logical file
+#. system.
+#: protoize.c:1222
+#, c-format
+msgid "%s: invalid file name: %s\n"
+msgstr ""
+
+#: protoize.c:1374
+#, c-format
+msgid "%s: %s: can't get status: %s\n"
+msgstr ""
+
+#: protoize.c:1395
+#, c-format
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
+msgstr ""
+
+#: protoize.c:1731
+#, c-format
+msgid "%s:%d: declaration of function `%s' takes different forms\n"
+msgstr ""
+
+#: protoize.c:1989
+#, c-format
+msgid "%s: compiling `%s'\n"
+msgstr "%s: кампілюецца \"%s\"\n"
+
+#: protoize.c:2012
+#, c-format
+msgid "%s: wait: %s\n"
+msgstr ""
+
+#: protoize.c:2017
+#, c-format
+msgid "%s: subprocess got fatal signal %d\n"
+msgstr ""
+
+#: protoize.c:2025
+#, c-format
+msgid "%s: %s exited with status %d\n"
+msgstr ""
+
+#: protoize.c:2077
+#, c-format
+msgid "%s: warning: missing SYSCALLS file `%s'\n"
+msgstr ""
+
+#: protoize.c:2086 protoize.c:2115
+#, c-format
+msgid "%s: can't read aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2131 protoize.c:2159
+#, c-format
+msgid "%s: can't get status of aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2187
+#, c-format
+msgid "%s: can't open aux info file `%s' for reading: %s\n"
+msgstr ""
+
+#: protoize.c:2205
+#, c-format
+msgid "%s: error reading aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2218
+#, c-format
+msgid "%s: error closing aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2234
+#, c-format
+msgid "%s: can't delete aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2316 protoize.c:4318
+#, c-format
+msgid "%s: can't delete file `%s': %s\n"
+msgstr "%s: немагчыма знішчыць файл \"%s\": %s\n"
+
+#: protoize.c:2395
+#, c-format
+msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2520
+#, c-format
+msgid "%s: conflicting extern definitions of '%s'\n"
+msgstr ""
+
+#: protoize.c:2524
+#, c-format
+msgid "%s: declarations of '%s' will not be converted\n"
+msgstr ""
+
+#: protoize.c:2526
+#, c-format
+msgid "%s: conflict list for '%s' follows:\n"
+msgstr ""
+
+#: protoize.c:2559
+#, c-format
+msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
+msgstr ""
+
+#: protoize.c:2599
+#, c-format
+msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
+msgstr ""
+
+#: protoize.c:2605
+#, c-format
+msgid "%s: %d: warning: no extern definition for `%s'\n"
+msgstr "%s: %d: увага: нÑма знешнÑга (extern) абвÑшчÑÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"\n"
+
+#: protoize.c:2636
+#, c-format
+msgid "%s: warning: no static definition for `%s' in file `%s'\n"
+msgstr ""
+
+#: protoize.c:2642
+#, c-format
+msgid "%s: multiple static defs of `%s' in file `%s'\n"
+msgstr ""
+
+#: protoize.c:2815 protoize.c:2818
+#, c-format
+msgid "%s: %d: warning: source too confusing\n"
+msgstr ""
+
+#: protoize.c:3024
+#, c-format
+msgid "%s: %d: warning: varargs function declaration not converted\n"
+msgstr ""
+
+#: protoize.c:3039
+#, c-format
+msgid "%s: declaration of function `%s' not converted\n"
+msgstr ""
+
+#: protoize.c:3162
+#, c-format
+msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
+msgstr ""
+
+#: protoize.c:3183
+#, c-format
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
+msgstr ""
+
+#: protoize.c:3281
+#, c-format
+msgid "%s: %d: warning: found `%s' but expected `%s'\n"
+msgstr ""
+
+#: protoize.c:3459
+#, c-format
+msgid "%s: local declaration for function `%s' not inserted\n"
+msgstr ""
+
+#: protoize.c:3486
+#, c-format
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
+msgstr ""
+
+#: protoize.c:3560
+#, c-format
+msgid "%s: global declarations for file `%s' not inserted\n"
+msgstr ""
+
+#: protoize.c:3651 protoize.c:3681
+#, c-format
+msgid "%s: definition of function `%s' not converted\n"
+msgstr ""
+
+#: protoize.c:3670
+#, c-format
+msgid "%s: %d: warning: definition of %s not converted\n"
+msgstr ""
+
+#: 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:4016
+#, c-format
+msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
+msgstr ""
+
+#: protoize.c:4019
+#, c-format
+msgid "%s: function definition not converted\n"
+msgstr ""
+
+#: protoize.c:4078
+#, c-format
+msgid "%s: `%s' not converted\n"
+msgstr ""
+
+#: protoize.c:4086
+#, c-format
+msgid "%s: would convert file `%s'\n"
+msgstr ""
+
+#: protoize.c:4089
+#, c-format
+msgid "%s: converting file `%s'\n"
+msgstr ""
+
+#: protoize.c:4099
+#, c-format
+msgid "%s: can't get status for file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4141
+#, c-format
+msgid "%s: can't open file `%s' for reading: %s\n"
+msgstr "%s: немагчыма адчыніць файл `%s' Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ: %s\n"
+
+#: protoize.c:4156
+#, c-format
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
+msgstr ""
+"\n"
+"%s: памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° ўводу `%s': %s\n"
+
+#: protoize.c:4190
+#, c-format
+msgid "%s: can't create/open clean file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4295
+#, c-format
+msgid "%s: warning: file `%s' already saved in `%s'\n"
+msgstr "%s: увага: файл \"%s\" ужо запіÑан у \"%s\"\n"
+
+#: protoize.c:4303
+#, c-format
+msgid "%s: can't link file `%s' to `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4333
+#, c-format
+msgid "%s: can't create/open output file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4366
+#, c-format
+msgid "%s: can't change mode of file `%s': %s\n"
+msgstr "%s: немагчыма зьмÑніць Ñ€Ñжым файла `%s': %s\n"
+
+#: protoize.c:4541
+#, c-format
+msgid "%s: cannot get working directory: %s\n"
+msgstr ""
+
+#: protoize.c:4639
+#, c-format
+msgid "%s: input file names must have .c suffixes: %s\n"
+msgstr "%s: файл уводу павінен мець ÑÑƒÑ„Ñ–ÐºÑ .c: %s\n"
+
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr ""
+
+#: reg-stack.c:673
+#, c-format
+msgid "output constraint %d must specify a single register"
+msgstr ""
+
+#: reg-stack.c:683
+#, c-format
+msgid "output constraint %d cannot be specified together with \"%s\" clobber"
+msgstr ""
+
+#: reg-stack.c:706
+msgid "output regs must be grouped at top of stack"
+msgstr ""
+
+#: reg-stack.c:743
+msgid "implicitly popped regs must be grouped at top of stack"
+msgstr ""
+
+#: reg-stack.c:762
+#, c-format
+msgid "output operand %d must use `&' constraint"
+msgstr ""
+
+#: regclass.c:753
+#, c-format
+msgid "can't use '%s' as a %s register"
+msgstr ""
+
+#: regclass.c:768 config/ia64/ia64.c:4169 config/ia64/ia64.c:4176
+#, c-format
+msgid "unknown register name: %s"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+
+#: regclass.c:779
+msgid "global register variable follows a function definition"
+msgstr ""
+
+#: regclass.c:783
+msgid "register used for two global register variables"
+msgstr ""
+
+#: regclass.c:788
+msgid "call-clobbered register used for global register variable"
+msgstr ""
+
+#: regrename.c:1899
+#, c-format
+msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+msgstr ""
+
+#: regrename.c:1911
+#, c-format
+msgid "validate_value_data: Loop in regno chain (%u)"
+msgstr ""
+
+#: regrename.c:1914
+#, c-format
+msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
+msgstr ""
+
+#: regrename.c:1926
+#, c-format
+msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+msgstr ""
+
+#: reload.c:1225
+msgid "cannot reload integer constant operand in `asm'"
+msgstr ""
+
+#: reload.c:1247
+msgid "impossible register constraint in `asm'"
+msgstr ""
+
+#: reload.c:3467
+msgid "`&' constraint used with no register class"
+msgstr ""
+
+#: reload.c:3635
+msgid "unable to generate reloads for:"
+msgstr ""
+
+#: reload.c:3636 reload.c:3850
+msgid "inconsistent operand constraints in an `asm'"
+msgstr ""
+
+#: reload1.c:1255
+msgid "frame size too large for reliable stack checking"
+msgstr ""
+
+#: reload1.c:1258
+msgid "try reducing the number of local variables"
+msgstr ""
+
+#: reload1.c:1914
+#, c-format
+msgid "can't find a register in class `%s' while reloading `asm'"
+msgstr ""
+
+#: reload1.c:1918
+#, c-format
+msgid "unable to find a register to spill in class `%s'"
+msgstr ""
+
+#: reload1.c:1920
+msgid "this is the insn:"
+msgstr ""
+
+#: reload1.c:3941
+msgid "`asm' operand requires impossible reload"
+msgstr ""
+
+#. It's the compiler's fault.
+#: reload1.c:5055
+#, fuzzy
+msgid "could not find a spill register"
+msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+#: reload1.c:5060
+msgid "`asm' operand constraint incompatible with operand size"
+msgstr ""
+
+#. It's the compiler's fault.
+#: reload1.c:6680
+msgid "VOIDmode on an output"
+msgstr ""
+
+#: reload1.c:6681
+msgid "output operand is constant in `asm'"
+msgstr ""
+
+#: rtl-error.c:140
+#, fuzzy
+msgid "unrecognizable insn:"
+msgstr "нераÑпазнаны выбар \"-%s\""
+
+#: rtl-error.c:142
+msgid "insn does not satisfy its constraints:"
+msgstr ""
+
+#: 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:573
+#, c-format
+msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+msgstr ""
+
+#: 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:602
+#, c-format
+msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:616
+#, c-format
+msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:631
+#, c-format
+msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+msgstr ""
+
+#: 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:989 stmt.c:3731
+#, c-format
+msgid "label `%s' used before containing binding contour"
+msgstr ""
+
+#: stmt.c:1169
+msgid "output operand constraint lacks `='"
+msgstr ""
+
+#: stmt.c:1184
+#, c-format
+msgid "output constraint `%c' for operand %d is not at the beginning"
+msgstr ""
+
+#: stmt.c:1206
+msgid "operand constraint contains incorrectly positioned '+' or '='"
+msgstr ""
+
+#: stmt.c:1212 stmt.c:1316
+#, c-format
+msgid "`%%' constraint used with last operand"
+msgstr ""
+
+#: stmt.c:1231
+msgid "matching constraint not valid in output operand"
+msgstr ""
+
+#: stmt.c:1307
+#, c-format
+msgid "input operand constraint contains `%c'"
+msgstr ""
+
+#: stmt.c:1347
+msgid "matching constraint references invalid operand number"
+msgstr ""
+
+#: stmt.c:1379
+#, c-format
+msgid "invalid punctuation `%c' in constraint"
+msgstr ""
+
+#: 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:1567
+#, c-format
+msgid "more than %d operands in `asm'"
+msgstr ""
+
+#: stmt.c:1626
+#, c-format
+msgid "output number %d not directly addressable"
+msgstr ""
+
+#. ??? Leave this only until we have experience with what
+#. happens in combine and elsewhere when constraints are
+#. not satisfied.
+#: stmt.c:1698 stmt.c:1727
+#, c-format
+msgid "asm operand %d probably doesn't match constraints"
+msgstr ""
+
+#: stmt.c:1858
+#, fuzzy
+msgid "asm clobber conflict with output operand"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: stmt.c:1863
+#, fuzzy
+msgid "asm clobber conflict with input operand"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: stmt.c:1898
+msgid "too many alternatives in `asm'"
+msgstr ""
+
+#: stmt.c:1910
+msgid "operand constraints for `asm' differ in number of alternatives"
+msgstr ""
+
+#: stmt.c:1963
+#, fuzzy, c-format
+msgid "duplicate asm operand name '%s'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: stmt.c:2050
+msgid "missing close brace for named operand"
+msgstr ""
+
+#: stmt.c:2078
+#, fuzzy, c-format
+msgid "undefined named operand '%s'"
+msgstr "нераÑпазнаны аператар %s"
+
+#: stmt.c:3668
+#, c-format
+msgid "unused variable `%s'"
+msgstr "невыкарыÑÑ‚Ð¾ÑžÐ²Ð°ÐµÐ¼Ð°Ñ Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ \"%s\""
+
+#: stmt.c:5149
+#, c-format
+msgid "enumeration value `%s' not handled in switch"
+msgstr ""
+
+#: stmt.c:5174 stmt.c:5194
+#, c-format
+msgid "case value `%ld' not in enumerated type"
+msgstr ""
+
+#: stmt.c:5177 stmt.c:5197
+#, c-format
+msgid "case value `%ld' not in enumerated type `%s'"
+msgstr ""
+
+#: stmt.c:5270
+msgid "switch missing default case"
+msgstr ""
+
+#: stor-layout.c:178
+msgid "type size can't be explicitly evaluated"
+msgstr ""
+
+#: stor-layout.c:180
+msgid "variable-size type declared outside of any function"
+msgstr ""
+
+#: stor-layout.c:461
+#, c-format
+msgid "size of `%s' is %d bytes"
+msgstr "памер \"%s\" - %d байт"
+
+#: stor-layout.c:463
+#, c-format
+msgid "size of `%s' is larger than %d bytes"
+msgstr "памер \"%s\" больш чам %d байт"
+
+#: stor-layout.c:869 stor-layout.c:1285
+#, c-format
+msgid "packed attribute causes inefficient alignment for `%s'"
+msgstr ""
+
+#: stor-layout.c:871 stor-layout.c:1287
+#, c-format
+msgid "packed attribute is unnecessary for `%s'"
+msgstr ""
+
+#: stor-layout.c:886
+#, c-format
+msgid "padding struct to align `%s'"
+msgstr ""
+
+#: stor-layout.c:1249
+msgid "padding struct size to alignment boundary"
+msgstr ""
+
+#: stor-layout.c:1292
+msgid "packed attribute causes inefficient alignment"
+msgstr ""
+
+#: stor-layout.c:1294
+msgid "packed attribute is unnecessary"
+msgstr ""
+
+#: timevar.c:448
+msgid ""
+"\n"
+"Execution times (seconds)\n"
+msgstr ""
+
+#. Print total time.
+#: timevar.c:498
+msgid " TOTAL :"
+msgstr ""
+
+#: timevar.c:534
+#, c-format
+msgid "time in %s: %ld.%06ld (%ld%%)\n"
+msgstr ""
+
+#: tlink.c:399
+#, c-format
+msgid "collect: reading %s\n"
+msgstr ""
+
+#: tlink.c:502
+#, c-format
+msgid "collect: recompiling %s\n"
+msgstr ""
+
+#: tlink.c:668
+#, c-format
+msgid "collect: tweaking %s in %s\n"
+msgstr ""
+
+#: tlink.c:715
+msgid "collect: relinking\n"
+msgstr ""
+
+#: tlink.c:724
+#, c-format
+msgid "ld returned %d exit status"
+msgstr ""
+
+#: toplev.c:920
+msgid "Generate debugging info in default format"
+msgstr ""
+
+#: toplev.c:921
+msgid "Generate debugging info in default extended format"
+msgstr ""
+
+#: toplev.c:923
+msgid "Generate STABS format debug info"
+msgstr ""
+
+#: toplev.c:924
+msgid "Generate extended STABS format debug info"
+msgstr ""
+
+#: toplev.c:927
+msgid "Generate DWARF-1 format debug info"
+msgstr ""
+
+#: toplev.c:929
+msgid "Generate extended DWARF-1 format debug info"
+msgstr ""
+
+#: toplev.c:932
+msgid "Generate DWARF-2 debug info"
+msgstr ""
+
+#: toplev.c:935
+msgid "Generate XCOFF format debug info"
+msgstr ""
+
+#: toplev.c:936
+msgid "Generate extended XCOFF format debug info"
+msgstr ""
+
+#: toplev.c:939
+msgid "Generate COFF format debug info"
+msgstr ""
+
+#: toplev.c:942
+msgid "Generate VMS format debug info"
+msgstr ""
+
+#: toplev.c:981
+msgid "Perform DWARF2 duplicate elimination"
+msgstr ""
+
+#: toplev.c:983
+msgid "Do not store floats in registers"
+msgstr ""
+
+#: toplev.c:985
+msgid "Consider all mem refs through pointers as volatile"
+msgstr ""
+
+#: toplev.c:987
+msgid "Consider all mem refs to global data to be volatile"
+msgstr ""
+
+#: toplev.c:989
+msgid "Consider all mem refs to static data to be volatile"
+msgstr ""
+
+#: toplev.c:991
+msgid "Defer popping functions args from stack until later"
+msgstr ""
+
+#: toplev.c:993
+msgid "When possible do not generate stack frames"
+msgstr ""
+
+#: toplev.c:995
+msgid "Optimize sibling and tail recursive calls"
+msgstr ""
+
+#: 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:1001
+msgid "When running CSE, follow conditional jumps"
+msgstr ""
+
+#: toplev.c:1003
+msgid "Perform a number of minor, expensive optimizations"
+msgstr ""
+
+#: toplev.c:1005
+msgid "Perform jump threading optimizations"
+msgstr ""
+
+#: toplev.c:1007
+msgid "Perform strength reduction optimizations"
+msgstr ""
+
+#: toplev.c:1009
+msgid "Perform loop unrolling when iteration count is known"
+msgstr ""
+
+#: toplev.c:1011
+msgid "Perform loop unrolling for all loops"
+msgstr ""
+
+#: toplev.c:1013
+msgid "Generate prefetch instructions, if available, for arrays in loops"
+msgstr ""
+
+#: toplev.c:1015
+msgid "Force all loop invariant computations out of loops"
+msgstr ""
+
+#: toplev.c:1017
+msgid "Strength reduce all loop general induction variables"
+msgstr ""
+
+#: toplev.c:1019
+msgid "Store strings in writable data section"
+msgstr ""
+
+#: toplev.c:1021
+msgid "Enable machine specific peephole optimizations"
+msgstr ""
+
+#: toplev.c:1023
+msgid "Copy memory operands into registers before using"
+msgstr ""
+
+#: toplev.c:1025
+msgid "Copy memory address constants into regs before using"
+msgstr ""
+
+#: toplev.c:1027
+msgid "Allow function addresses to be held in registers"
+msgstr ""
+
+#: toplev.c:1029
+msgid "Integrate simple functions into their callers"
+msgstr ""
+
+#: toplev.c:1031
+msgid "Generate code for funcs even if they are fully inlined"
+msgstr ""
+
+#: toplev.c:1033
+msgid "Pay attention to the 'inline' keyword"
+msgstr ""
+
+#: toplev.c:1035
+msgid "Emit static const variables even if they are not used"
+msgstr ""
+
+#: toplev.c:1037
+msgid "Check for syntax errors, then stop"
+msgstr ""
+
+#: toplev.c:1039
+msgid "Mark data as shared rather than private"
+msgstr ""
+
+#: toplev.c:1041
+msgid "Enable saving registers around function calls"
+msgstr ""
+
+#: toplev.c:1043
+msgid "Return 'short' aggregates in memory, not registers"
+msgstr ""
+
+#: toplev.c:1045
+msgid "Return 'short' aggregates in registers"
+msgstr ""
+
+#: toplev.c:1047
+msgid "Attempt to fill delay slots of branch instructions"
+msgstr ""
+
+#: toplev.c:1049
+msgid "Perform the global common subexpression elimination"
+msgstr ""
+
+#: toplev.c:1051
+msgid "Perform enhanced load motion during global subexpression elimination"
+msgstr ""
+
+#: toplev.c:1053
+msgid "Perform store motion after global subexpression elimination"
+msgstr ""
+
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr ""
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr ""
+
+#: 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:1065
+msgid "Run the loop optimizer twice"
+msgstr ""
+
+#: toplev.c:1067
+msgid "Delete useless null pointer checks"
+msgstr ""
+
+#: toplev.c:1069
+msgid "Reschedule instructions before register allocation"
+msgstr ""
+
+#: toplev.c:1071
+msgid "Reschedule instructions after register allocation"
+msgstr ""
+
+#: toplev.c:1073
+msgid "Enable scheduling across basic blocks"
+msgstr ""
+
+#: toplev.c:1075
+msgid "Allow speculative motion of non-loads"
+msgstr ""
+
+#: toplev.c:1077
+msgid "Allow speculative motion of some loads"
+msgstr ""
+
+#: toplev.c:1079
+msgid "Allow speculative motion of more loads"
+msgstr ""
+
+#: toplev.c:1081
+msgid "Replace add,compare,branch with branch on count reg"
+msgstr ""
+
+#: toplev.c:1083
+msgid "Generate position independent code, if possible"
+msgstr ""
+
+#: toplev.c:1086
+msgid "Enable exception handling"
+msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+
+#: toplev.c:1088
+msgid "Just generate unwind tables for exception handling"
+msgstr ""
+
+#: toplev.c:1090
+msgid "Generate unwind tables exact at each instruction boundary"
+msgstr ""
+
+#: toplev.c:1092
+msgid "Support synchronous non-call exceptions"
+msgstr ""
+
+#: toplev.c:1094
+msgid "Insert arc based program profiling code"
+msgstr ""
+
+#: toplev.c:1096
+msgid "Create data files needed by gcov"
+msgstr ""
+
+#: toplev.c:1098
+msgid "Use profiling information for branch probabilities"
+msgstr ""
+
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr ""
+
+#: toplev.c:1102
+msgid "Reorder basic blocks to improve code placement"
+msgstr ""
+
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr ""
+
+#: toplev.c:1106
+msgid "Do the register renaming optimization pass"
+msgstr ""
+
+#: toplev.c:1108
+msgid "Do the register copy-propagation optimization pass"
+msgstr ""
+
+#: toplev.c:1110
+msgid "Do not put uninitialized globals in the common section"
+msgstr ""
+
+#: toplev.c:1112
+msgid "Do not generate .size directives"
+msgstr ""
+
+#: toplev.c:1114
+msgid "place each function into its own section"
+msgstr ""
+
+#: toplev.c:1116
+msgid "place data items into their own section"
+msgstr ""
+
+#: toplev.c:1118
+msgid "Add extra commentry to assembler output"
+msgstr ""
+
+#: toplev.c:1120
+msgid "Output GNU ld formatted global initializers"
+msgstr ""
+
+#: toplev.c:1122
+msgid "Enables a register move optimization"
+msgstr ""
+
+#: toplev.c:1124
+msgid "Do the full regmove optimization pass"
+msgstr ""
+
+#: toplev.c:1126
+msgid "Pack structure members together without holes"
+msgstr ""
+
+#: toplev.c:1128
+msgid "Insert stack checking code into the program"
+msgstr "Уключаць код правÑркі ÑÑ‚Ñку Ñž праграму"
+
+#: toplev.c:1130
+msgid "Specify that arguments may alias each other & globals"
+msgstr ""
+
+#: toplev.c:1132
+msgid "Assume arguments may alias globals but not each other"
+msgstr ""
+
+#: toplev.c:1134
+msgid "Assume arguments do not alias each other or globals"
+msgstr ""
+
+#: toplev.c:1136
+msgid "Assume strict aliasing rules apply"
+msgstr ""
+
+#: toplev.c:1138
+msgid "Align the start of loops"
+msgstr ""
+
+#: toplev.c:1140
+msgid "Align labels which are only reached by jumping"
+msgstr ""
+
+#: toplev.c:1142
+msgid "Align all labels"
+msgstr ""
+
+#: toplev.c:1144
+msgid "Align the start of functions"
+msgstr ""
+
+#: toplev.c:1146
+msgid "Attempt to merge identical constants accross compilation units"
+msgstr ""
+
+#: toplev.c:1148
+msgid "Attempt to merge identical constants and constant variables"
+msgstr ""
+
+#: toplev.c:1150
+msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
+msgstr ""
+
+#: toplev.c:1152
+msgid "Instrument function entry/exit with profiling calls"
+msgstr ""
+
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr ""
+
+#: toplev.c:1156
+msgid "Enable SSA optimizations"
+msgstr "Уключаць SSA аптымізацыю"
+
+#: toplev.c:1158
+msgid "Enable SSA conditional constant propagation"
+msgstr ""
+
+#: toplev.c:1160
+msgid "Enable aggressive SSA dead code elimination"
+msgstr ""
+
+#: toplev.c:1162
+msgid "External symbols have a leading underscore"
+msgstr ""
+
+#: toplev.c:1164
+msgid "Process #ident directives"
+msgstr ""
+
+#: toplev.c:1166
+msgid "Enables an rtl peephole pass run before sched2"
+msgstr ""
+
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr ""
+
+#: toplev.c:1170
+msgid "Enables guessing of branch probabilities"
+msgstr ""
+
+#: toplev.c:1172
+msgid "Set errno after built-in math functions"
+msgstr ""
+
+#: toplev.c:1174
+msgid "Floating-point operations can trap"
+msgstr ""
+
+#: toplev.c:1176
+msgid "Allow math optimizations that may violate IEEE or ANSI standards"
+msgstr ""
+
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
+msgstr ""
+
+#: toplev.c:1180
+#, fuzzy
+msgid "Generate code to check bounds before indexing arrays"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: toplev.c:1182
+msgid "Convert floating point constant to single precision constant"
+msgstr ""
+
+#: toplev.c:1184
+msgid "Report time taken by each compiler pass at end of run"
+msgstr ""
+
+#: toplev.c:1186
+msgid "Report on permanent memory allocation at end of run"
+msgstr ""
+
+#: toplev.c:1188
+msgid "Trap for signed overflow in addition / subtraction / multiplication"
+msgstr ""
+
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
+msgstr ""
+
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
+msgstr ""
+
+#: toplev.c:1209
+msgid "Determine language standard"
+msgstr ""
+
+#: toplev.c:1213
+msgid "Make bit-fields by unsigned by default"
+msgstr ""
+
+#: toplev.c:1217
+msgid "Make 'char' be signed by default"
+msgstr ""
+
+#: toplev.c:1219
+msgid "Make 'char' be unsigned by default"
+msgstr ""
+
+#: toplev.c:1225
+msgid "Do not recognize the 'asm' keyword"
+msgstr ""
+
+#: toplev.c:1228
+#, fuzzy
+msgid "Do not recognize any built in functions"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: toplev.c:1230
+msgid "Assume normal C execution environment"
+msgstr ""
+
+#: toplev.c:1233
+msgid "Assume that standard libraries & main might not exist"
+msgstr ""
+
+#: toplev.c:1236
+msgid "Allow different types as args of ? operator"
+msgstr ""
+
+#: toplev.c:1239
+msgid "Allow the use of $ inside identifiers"
+msgstr ""
+
+#: toplev.c:1244
+msgid "Use the same size for double as for float"
+msgstr ""
+
+#: toplev.c:1247
+msgid "Use the smallest fitting integer to hold enums"
+msgstr ""
+
+#: toplev.c:1250
+msgid "Override the underlying type for wchar_t to `unsigned short'"
+msgstr ""
+
+#: toplev.c:1254
+msgid "Enable most warning messages"
+msgstr ""
+
+#: toplev.c:1256
+msgid "Warn about casting functions to incompatible types"
+msgstr ""
+
+#: toplev.c:1259
+msgid "Warn about functions which might be candidates for format attributes"
+msgstr ""
+
+#: toplev.c:1262
+msgid "Warn about casts which discard qualifiers"
+msgstr ""
+
+#: toplev.c:1265
+msgid "Warn about subscripts whose type is 'char'"
+msgstr ""
+
+#: toplev.c:1268 toplev.c:1271
+msgid "Warn if nested comments are detected"
+msgstr ""
+
+#: toplev.c:1274
+msgid "Warn about possibly confusing type conversions"
+msgstr ""
+
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
+msgstr ""
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr ""
+
+#: toplev.c:1283
+msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+msgstr ""
+
+#: toplev.c:1287
+msgid "Don't warn about too many arguments to format functions"
+msgstr ""
+
+#: toplev.c:1289
+msgid "Warn about non-string-literal format strings"
+msgstr ""
+
+#: toplev.c:1292
+msgid "Warn about possible security problems with format functions"
+msgstr ""
+
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr ""
+
+#: toplev.c:1298
+msgid "Warn about implicit function declarations"
+msgstr ""
+
+#: toplev.c:1302
+msgid "Warn when a declaration does not specify a type"
+msgstr ""
+
+#: toplev.c:1307
+msgid "Warn about the use of the #import directive"
+msgstr ""
+
+#: toplev.c:1311
+msgid "Do not warn about using 'long long' when -pedantic"
+msgstr ""
+
+#: toplev.c:1313
+msgid "Warn about suspicious declarations of main"
+msgstr ""
+
+#: toplev.c:1316
+msgid "Warn about possibly missing braces around initializers"
+msgstr ""
+
+#: toplev.c:1319
+msgid "Warn about global funcs without previous declarations"
+msgstr ""
+
+#: toplev.c:1322
+msgid "Warn about global funcs without prototypes"
+msgstr ""
+
+#: toplev.c:1325
+msgid "Warn about use of multicharacter literals"
+msgstr ""
+
+#: toplev.c:1328
+msgid "Warn about externs not at file scope level"
+msgstr ""
+
+#: toplev.c:1331
+msgid "Warn about possible missing parentheses"
+msgstr ""
+
+#: toplev.c:1334
+msgid "Warn about function pointer arithmetic"
+msgstr ""
+
+#: toplev.c:1337
+msgid "Warn about multiple declarations of the same object"
+msgstr ""
+
+#: toplev.c:1340
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr ""
+
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr ""
+
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr ""
+
+#: toplev.c:1349
+msgid "Warn about non-prototyped function decls"
+msgstr ""
+
+#: toplev.c:1352
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr ""
+
+#: toplev.c:1355
+msgid "Warn when trigraphs are encountered"
+msgstr ""
+
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr ""
+
+#: toplev.c:1363
+msgid "Mark strings as 'const char *'"
+msgstr ""
+
+#: toplev.c:1508
+msgid "Warn when a function is unused"
+msgstr ""
+
+#: toplev.c:1510
+msgid "Warn when a label is unused"
+msgstr ""
+
+#: toplev.c:1512
+msgid "Warn when a function parameter is unused"
+msgstr ""
+
+#: toplev.c:1514
+msgid "Warn when a variable is unused"
+msgstr ""
+
+#: toplev.c:1516
+msgid "Warn when an expression value is unused"
+msgstr ""
+
+#: toplev.c:1518
+msgid "Do not suppress warnings from system headers"
+msgstr ""
+
+#: toplev.c:1520
+msgid "Treat all warnings as errors"
+msgstr ""
+
+#: toplev.c:1522
+msgid "Warn when one local variable shadows another"
+msgstr ""
+
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr ""
+
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
+msgstr ""
+
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr ""
+
+#: toplev.c:1530
+msgid "Warn about returning structures, unions or arrays"
+msgstr ""
+
+#: toplev.c:1532
+msgid "Warn about pointer casts which increase alignment"
+msgstr ""
+
+#: toplev.c:1534
+msgid "Warn about code that will never be executed"
+msgstr ""
+
+#: toplev.c:1536
+msgid "Warn about uninitialized automatic variables"
+msgstr ""
+
+#: toplev.c:1538
+msgid "Warn when an inlined function cannot be inlined"
+msgstr ""
+
+#: toplev.c:1540
+msgid "Warn when the packed attribute has no effect on struct layout"
+msgstr ""
+
+#: toplev.c:1542
+msgid "Warn when padding is required to align struct members"
+msgstr ""
+
+#: toplev.c:1544
+msgid "Warn when an optimization pass is disabled"
+msgstr ""
+
+#: toplev.c:1546
+msgid "Warn about uses of __attribute__((deprecated)) declarations"
+msgstr ""
+
+#: toplev.c:1548
+msgid "Warn about functions which might be candidates for attribute noreturn"
+msgstr ""
+
+#: toplev.c:1550
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr ""
+
+#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676
+#, fuzzy, c-format
+msgid "invalid option `%s'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: toplev.c:2029
+#, c-format
+msgid "`%s' used but never defined"
+msgstr ""
+
+#: toplev.c:2032
+#, c-format
+msgid "`%s' declared `static' but never defined"
+msgstr ""
+
+#: toplev.c:2051
+#, c-format
+msgid "`%s' defined but not used"
+msgstr ""
+
+#: toplev.c:2300
+#, c-format
+msgid "invalid register name `%s' for register variable"
+msgstr ""
+
+#: toplev.c:3683
+msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
+msgstr ""
+
+#: toplev.c:3684
+msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
+msgstr ""
+
+#: toplev.c:3685
+msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
+msgstr ""
+
+#: toplev.c:3686
+msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
+msgstr ""
+
+#: toplev.c:3687
+msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
+msgstr ""
+
+#: 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: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:3701
+msgid " -Os Optimize for space rather than speed\n"
+msgstr ""
+
+#: toplev.c:3713
+msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
+msgstr ""
+
+#: toplev.c:3714
+msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+msgstr ""
+
+#: toplev.c:3715
+msgid " -w Suppress warnings\n"
+msgstr ""
+
+#: toplev.c:3716
+msgid " -W Enable extra warnings\n"
+msgstr ""
+
+#: toplev.c:3727
+msgid " -Wunused Enable unused warnings\n"
+msgstr ""
+
+#: toplev.c:3728
+msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
+msgstr ""
+
+#: toplev.c:3729
+msgid " -p Enable function profiling\n"
+msgstr ""
+
+#: toplev.c:3730
+msgid " -o <file> Place output into <file> \n"
+msgstr ""
+
+#: 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:3742
+msgid " -aux-info <file> Emit declaration info into <file>\n"
+msgstr ""
+
+#: toplev.c:3743
+msgid " -quiet Do not display functions compiled or elapsed time\n"
+msgstr ""
+
+#: toplev.c:3744
+msgid " -version Display the compiler's version\n"
+msgstr ""
+
+#: toplev.c:3745
+msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
+msgstr ""
+
+#: toplev.c:3746
+msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
+msgstr ""
+
+#: toplev.c:3748
+msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
+msgstr ""
+
+#: toplev.c:3750
+msgid " --help Display this information\n"
+msgstr ""
+
+#: toplev.c:3765
+msgid ""
+"\n"
+"Language specific options:\n"
+msgstr ""
+"\n"
+"Выбары, ÑÐ¿ÐµÑ†Ñ‹Ñ„Ñ–Ñ‡Ð½Ñ‹Ñ Ð´Ð»Ñ Ð¼Ð¾Ð²Ñ‹:\n"
+
+#: toplev.c:3777
+#, c-format
+msgid " %-23.23s [undocumented]\n"
+msgstr ""
+
+#: toplev.c:3785 toplev.c:3799
+#, c-format
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
+msgstr ""
+
+#: toplev.c:3789
+#, c-format
+msgid ""
+"\n"
+" Options for %s:\n"
+msgstr ""
+"\n"
+" Выбары Ð´Ð»Ñ %s:\n"
+
+#: toplev.c:3826
+msgid ""
+"\n"
+"Target specific options:\n"
+msgstr ""
+
+#: toplev.c:3840 toplev.c:3859
+#, c-format
+msgid " -m%-23.23s [undocumented]\n"
+msgstr ""
+
+#: toplev.c:3868
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
+msgstr ""
+
+#: toplev.c:3870
+msgid " They exist, but they are not documented.\n"
+msgstr ""
+
+#: toplev.c:3923
+#, c-format
+msgid "unrecognized gcc debugging option: %c"
+msgstr ""
+
+#: toplev.c:3979
+#, fuzzy, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "\"%s\" : невÑдомы ці непадтрымліваемы выбар -g"
+
+#: toplev.c:4006
+#, c-format
+msgid "unrecognized register name `%s'"
+msgstr ""
+
+#: toplev.c:4031 toplev.c:4965
+#, fuzzy, c-format
+msgid "unrecognized option `%s'"
+msgstr "нераÑпазнаны выбар \"-%s\""
+
+#: toplev.c:4075
+#, fuzzy
+msgid "-Wid-clash-LEN is no longer supported"
+msgstr "-pipe не падтрымліваецца."
+
+#: toplev.c:4152
+#, c-format
+msgid "use -gdwarf -g%d for DWARF v1, level %d"
+msgstr ""
+
+#: toplev.c:4155
+msgid "use -gdwarf-2 for DWARF v2"
+msgstr ""
+
+#: toplev.c:4160
+#, c-format
+msgid "ignoring option `%s' due to invalid debug level specification"
+msgstr ""
+
+#: toplev.c:4183 toplev.c:4963
+#, c-format
+msgid "`%s': unknown or unsupported -g option"
+msgstr "\"%s\" : невÑдомы ці непадтрымліваемы выбар -g"
+
+#: toplev.c:4190
+#, c-format
+msgid "`%s' ignored, conflicts with `-g%s'"
+msgstr ""
+
+#: toplev.c:4269
+msgid "-param option missing argument"
+msgstr ""
+
+#: toplev.c:4278
+#, c-format
+msgid "invalid --param option: %s"
+msgstr "нерÑчаіÑны выбар --param : %s"
+
+#: toplev.c:4290
+#, c-format
+msgid "invalid parameter value `%s'"
+msgstr ""
+
+#: toplev.c:4530
+#, c-format
+msgid ""
+"%s%s%s version %s (%s)\n"
+"%s\tcompiled by GNU C version %s.\n"
+"%s%s%s version %s (%s) compiled by CC.\n"
+msgstr ""
+"%s%s%s верÑÑ–Ñ %s (%s)\n"
+"%s\tзкампілÑвана GNU C верÑÑ–Ñ %s.\n"
+"%s%s%s верÑÑ–Ñ %s (%s) зкампілÑвана CC.\n"
+
+#: toplev.c:4586
+msgid "options passed: "
+msgstr ""
+
+#: toplev.c:4615
+msgid "options enabled: "
+msgstr "выбары ўключаны:"
+
+#: toplev.c:4674 java/jcf-write.c:3421
+#, c-format
+msgid "can't open %s for writing"
+msgstr "немагчыма адчыніць %s Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу"
+
+#: toplev.c:4955
+#, fuzzy, c-format
+msgid "ignoring command line option '%s'"
+msgstr "ÐераÑпазнаны выбар \"%s\""
+
+#: toplev.c:4958
+#, c-format
+msgid "(it is valid for %s but not the selected language)"
+msgstr ""
+
+#: toplev.c:4992
+msgid "-Wuninitialized is not supported without -O"
+msgstr ""
+
+#: toplev.c:5047
+msgid "instruction scheduling not supported on this target machine"
+msgstr ""
+
+#: toplev.c:5051
+msgid "this target machine does not have delayed branches"
+msgstr ""
+
+#: toplev.c:5065
+#, c-format
+msgid "-f%sleading-underscore not supported on this target machine"
+msgstr ""
+
+#: toplev.c:5128
+#, fuzzy
+msgid "-ffunction-sections not supported for this target"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: toplev.c:5133
+#, fuzzy
+msgid "-fdata-sections not supported for this target"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: toplev.c:5140
+msgid "-ffunction-sections disabled; it makes profiling impossible"
+msgstr ""
+
+#: toplev.c:5147
+#, fuzzy
+msgid "-fprefetch-loop-arrays not supported for this target"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: toplev.c:5153
+msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+msgstr ""
+
+#: toplev.c:5162
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr ""
+
+#: toplev.c:5168
+msgid "-ffunction-sections may affect debugging on some targets"
+msgstr ""
+
+#: toplev.c:5280
+#, c-format
+msgid "error writing to %s"
+msgstr "памылка запіÑу Ñž %s"
+
+#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: tree-dump.c:702
+#, c-format
+msgid "could not open dump file `%s'"
+msgstr ""
+
+#: tree-dump.c:778
+#, c-format
+msgid "ignoring unknown option `%.*s' in `-f%s'"
+msgstr ""
+
+#: tree.c:3645
+msgid "arrays of functions are not meaningful"
+msgstr ""
+
+#: tree.c:3702
+msgid "function return type cannot be function"
+msgstr ""
+
+#: tree.c:4544
+msgid "invalid initializer for bit string"
+msgstr ""
+
+#: tree.c:4603
+#, c-format
+msgid "tree check: expected %s, have %s in %s, at %s:%d"
+msgstr ""
+
+#: tree.c:4620
+#, c-format
+msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
+msgstr ""
+
+#: 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:841
+#, c-format
+msgid "register name not specified for `%s'"
+msgstr ""
+
+#: varasm.c:843
+#, c-format
+msgid "invalid register name for `%s'"
+msgstr "нерÑчаіÑÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра `%s'"
+
+#: varasm.c:846
+#, c-format
+msgid "data type of `%s' isn't suitable for a register"
+msgstr ""
+
+#: varasm.c:849
+#, c-format
+msgid "register specified for `%s' isn't suitable for data type"
+msgstr ""
+
+#: varasm.c:858
+msgid "global register variable has initial value"
+msgstr ""
+
+#: varasm.c:861
+msgid "volatile register variables don't work as you might wish"
+msgstr ""
+
+#: varasm.c:894
+#, c-format
+msgid "register name given for non-register variable `%s'"
+msgstr ""
+
+#: varasm.c:1542
+#, c-format
+msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
+msgstr ""
+
+#: 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:4020
+msgid "initializer for integer value is too complicated"
+msgstr ""
+
+#: varasm.c:4025
+msgid "initializer for floating value is not a floating constant"
+msgstr ""
+
+#: varasm.c:4075
+msgid "unknown set constructor type"
+msgstr ""
+
+#: varasm.c:4289
+#, c-format
+msgid "invalid initial value for member `%s'"
+msgstr ""
+
+#: varasm.c:4480 varasm.c:4523
+#, c-format
+msgid "weak declaration of `%s' must precede definition"
+msgstr ""
+
+#: varasm.c:4487
+#, c-format
+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:4530
+#, c-format
+msgid "weak declaration of `%s' not supported"
+msgstr ""
+
+#: varasm.c:4557 varasm.c:4632
+msgid "only weak aliases are supported in this configuration"
+msgstr ""
+
+#: varasm.c:4640
+msgid "alias definitions not supported in this configuration; ignored"
+msgstr ""
+
+#: varasm.c:4670
+#, fuzzy
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: 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:175
+#, c-format
+msgid "no sclass for %s stab (0x%x)\n"
+msgstr ""
+
+#: pretty-print.h:97
+#, fuzzy, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "%s не падтрымлівае %s"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eliglible for inlining"
+msgstr ""
+
+#: 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:122
+msgid "The maximum number of instructions to consider to find accurate live register information"
+msgstr ""
+
+#: params.def:132
+msgid "The maximum length of scheduling's pending operations list"
+msgstr ""
+
+#: params.def:139
+msgid "The maximum amount of memory to be allocated by GCSE"
+msgstr ""
+
+#: params.def:144
+msgid "The maximum number of passes to make when doing GCSE"
+msgstr ""
+
+#: params.def:151
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: params.def:176
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr ""
+
+#: params.def:180
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: params.def:204
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr ""
+
+#: params.def:210
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr ""
+
+#: config/darwin-c.c:75
+msgid "too many #pragma options align=reset"
+msgstr ""
+
+#: 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/darwin-c.c:107
+msgid "junk at end of '#pragma options'"
+msgstr ""
+
+#: config/darwin-c.c:117
+msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:130
+msgid "missing '(' after '#pragma unused', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:148
+msgid "missing ')' after '#pragma unused', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:151
+msgid "junk at end of '#pragma unused'"
+msgstr ""
+
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
+msgid "-msystem-v and -p are incompatible"
+msgstr ""
+
+#: 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:342
+#, fuzzy, c-format
+msgid "-f%s ignored for Unicos/Mk (not supported)"
+msgstr "-pipe не падтрымліваецца."
+
+#: config/alpha/alpha.c:366
+#, fuzzy
+msgid "-mieee not supported on Unicos/Mk"
+msgstr "-pipe не падтрымліваецца"
+
+#: config/alpha/alpha.c:377
+msgid "-mieee-with-inexact not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:394
+#, c-format
+msgid "bad value `%s' for -mtrap-precision switch"
+msgstr ""
+
+#: config/alpha/alpha.c:408
+#, c-format
+msgid "bad value `%s' for -mfp-rounding-mode switch"
+msgstr ""
+
+#: config/alpha/alpha.c:423
+#, c-format
+msgid "bad value `%s' for -mfp-trap-mode switch"
+msgstr ""
+
+#: 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:473
+msgid "trap mode not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:480
+msgid "fp software completion requires -mtrap-precision=i"
+msgstr ""
+
+#: config/alpha/alpha.c:496
+msgid "rounding mode not supported for VAX floats"
+msgstr ""
+
+#: config/alpha/alpha.c:501
+msgid "trap mode not supported for VAX floats"
+msgstr ""
+
+#: config/alpha/alpha.c:530
+#, c-format
+msgid "L%d cache latency unknown for %s"
+msgstr ""
+
+#: config/alpha/alpha.c:545
+#, c-format
+msgid "bad value `%s' for -mmemory-latency"
+msgstr ""
+
+#: 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 "нерÑчаіÑнае значÑньне %%H"
+
+#: config/alpha/alpha.c:5625
+#, fuzzy, c-format
+msgid "invalid %%J value"
+msgstr "дрÑннае %%Q значÑнне"
+
+#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034
+#, c-format
+msgid "invalid %%r value"
+msgstr "нерÑчаіÑнае значÑньне %%r"
+
+#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700
+#, c-format
+msgid "invalid %%R value"
+msgstr "нерÑчаіÑнае значÑньне %%R"
+
+#: config/alpha/alpha.c:5657 config/rs6000/rs6000.c:7626
+#, c-format
+msgid "invalid %%N value"
+msgstr "нерÑчаіÑнае значÑньне %%N"
+
+#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654
+#, c-format
+msgid "invalid %%P value"
+msgstr "нерÑчаіÑнае значÑньне %%P"
+
+#: 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 "нерÑчаіÑнае значÑньне %%h"
+
+#: config/alpha/alpha.c:5681 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "нерÑчаіÑнае значÑньне %%L"
+
+#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608
+#, c-format
+msgid "invalid %%m value"
+msgstr "нерÑчаіÑнае значÑньне %%m"
+
+#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616
+#, c-format
+msgid "invalid %%M value"
+msgstr "нерÑчаіÑнае значÑньне %%M"
+
+#: config/alpha/alpha.c:5772
+#, c-format
+msgid "invalid %%U value"
+msgstr "нерÑчаіÑнае значÑньне %%U"
+
+#: 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 "нерÑчаіÑнае значÑньне %%v"
+
+#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "нерÑчаіÑнае значÑньне %%C"
+
+#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7465
+#, c-format
+msgid "invalid %%E value"
+msgstr "нерÑчаіÑнае значÑньне %%E"
+
+#: 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 "нерÑчаіÑнае значÑньне %%xn"
+
+#: 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: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: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:281
+msgid "Use fp registers"
+msgstr ""
+
+#: config/alpha/alpha.h:283
+msgid "Do not use fp registers"
+msgstr ""
+
+#: config/alpha/alpha.h:284
+msgid "Do not assume GAS"
+msgstr ""
+
+#: config/alpha/alpha.h:285
+msgid "Assume GAS"
+msgstr ""
+
+#: config/alpha/alpha.h:287
+msgid "Request IEEE-conformant math library routines (OSF/1)"
+msgstr ""
+
+#: config/alpha/alpha.h:289
+msgid "Emit IEEE-conformant code, without inexact exceptions"
+msgstr ""
+
+#: config/alpha/alpha.h:291
+msgid "Emit IEEE-conformant code, with inexact exceptions"
+msgstr ""
+
+#: config/alpha/alpha.h:293
+msgid "Do not emit complex integer constants to read-only memory"
+msgstr ""
+
+#: config/alpha/alpha.h:294
+msgid "Use VAX fp"
+msgstr ""
+
+#: config/alpha/alpha.h:295
+msgid "Do not use VAX fp"
+msgstr ""
+
+#: config/alpha/alpha.h:296
+msgid "Emit code for the byte/word ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:299
+msgid "Emit code for the motion video ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:302
+msgid "Emit code for the fp move and sqrt ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:304
+msgid "Emit code for the counting ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:307
+msgid "Emit code using explicit relocation directives"
+msgstr ""
+
+#: config/alpha/alpha.h:310
+msgid "Emit 16-bit relocations to the small data areas"
+msgstr ""
+
+#: 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=
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
+msgid "Use features of and schedule given CPU"
+msgstr ""
+
+#: config/alpha/alpha.h:345
+msgid "Schedule given CPU"
+msgstr ""
+
+#: config/alpha/alpha.h:347
+msgid "Control the generated fp rounding mode"
+msgstr ""
+
+#: config/alpha/alpha.h:349
+msgid "Control the IEEE trap mode"
+msgstr ""
+
+#: config/alpha/alpha.h:351
+msgid "Control the precision given to fp exceptions"
+msgstr ""
+
+#: config/alpha/alpha.h:353
+msgid "Tune expected memory latency"
+msgstr ""
+
+#: 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:362
+#, fuzzy, c-format
+msgid "argument of `%s' attribute is not a string constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: config/arc/arc.c:369
+#, c-format
+msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
+msgstr ""
+
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, fuzzy, c-format
+msgid "invalid operand to %%R code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, fuzzy, c-format
+msgid "invalid operand to %%H/%%L code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, fuzzy, c-format
+msgid "invalid operand to %%U code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/arc/arc.c:1774
+#, fuzzy, c-format
+msgid "invalid operand to %%V code"
+msgstr "нерÑчаіÑны %%-код"
+
+#. Unknown flag.
+#: 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:459
+#, c-format
+msgid "switch -mcpu=%s conflicts with -march= switch"
+msgstr ""
+
+#: 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:605
+msgid "target CPU does not support APCS-32"
+msgstr ""
+
+#: config/arm/arm.c:610
+msgid "target CPU does not support APCS-26"
+msgstr ""
+
+#: config/arm/arm.c:616
+msgid "target CPU does not support interworking"
+msgstr ""
+
+#: config/arm/arm.c:622
+#, fuzzy
+msgid "target CPU does not support THUMB instructions"
+msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+#: config/arm/arm.c:636
+msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
+msgstr ""
+
+#: config/arm/arm.c:639
+msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
+msgstr ""
+
+#: config/arm/arm.c:642
+msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
+msgstr ""
+
+#: config/arm/arm.c:648
+msgid "interworking forces APCS-32 to be used"
+msgstr ""
+
+#: config/arm/arm.c:654
+msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
+msgstr ""
+
+#: config/arm/arm.c:662
+msgid "-fpic and -mapcs-reent are incompatible"
+msgstr ""
+
+#: config/arm/arm.c:665
+msgid "APCS reentrant code not supported. Ignored"
+msgstr ""
+
+#: config/arm/arm.c:673
+msgid "-g with -mno-apcs-frame may not give sensible debugging"
+msgstr ""
+
+#: config/arm/arm.c:681
+msgid "passing floating point arguments in fp regs not yet supported"
+msgstr ""
+
+#: config/arm/arm.c:710
+#, c-format
+msgid "invalid floating point emulation option: -mfpe-%s"
+msgstr ""
+
+#: config/arm/arm.c:734
+msgid "structure size boundary can only be set to 8 or 32"
+msgstr ""
+
+#: config/arm/arm.c:742
+msgid "-mpic-register= is useless without -fpic"
+msgstr ""
+
+#: config/arm/arm.c:749
+#, c-format
+msgid "unable to use '%s' for PIC register"
+msgstr ""
+
+#: 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
+#, fuzzy, c-format
+msgid "`%s' attribute only applies to functions"
+msgstr "\"%s\" звычайна функцыÑ"
+
+#: config/arm/arm.c:9474
+msgid "unable to compute real location of stacked parameter"
+msgstr ""
+
+#: config/arm/arm.c:10153
+msgid "no low registers available for popping high registers"
+msgstr ""
+
+#: 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: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:312
+#, c-format
+msgid "static variable `%s' is marked dllimport"
+msgstr ""
+
+#: config/arm/arm.h:416
+msgid "Generate APCS conformant stack frames"
+msgstr ""
+
+#: config/arm/arm.h:419
+msgid "Store function names in object code"
+msgstr ""
+
+#: config/arm/arm.h:423
+msgid "Use the 32-bit version of the APCS"
+msgstr ""
+
+#: config/arm/arm.h:425
+msgid "Use the 26-bit version of the APCS"
+msgstr ""
+
+#: config/arm/arm.h:429
+msgid "Pass FP arguments in FP registers"
+msgstr ""
+
+#: config/arm/arm.h:432
+msgid "Generate re-entrant, PIC code"
+msgstr ""
+
+#: config/arm/arm.h:435
+msgid "The MMU will trap on unaligned accesses"
+msgstr ""
+
+#: config/arm/arm.h:442
+msgid "Use library calls to perform FP operations"
+msgstr ""
+
+#: config/arm/arm.h:444 config/i960/i960.h:281
+msgid "Use hardware floating point instructions"
+msgstr ""
+
+#: config/arm/arm.h:446
+msgid "Assume target CPU is configured as big endian"
+msgstr ""
+
+#: config/arm/arm.h:448
+msgid "Assume target CPU is configured as little endian"
+msgstr ""
+
+#: config/arm/arm.h:450
+msgid "Assume big endian bytes, little endian words"
+msgstr ""
+
+#: config/arm/arm.h:452
+msgid "Support calls between Thumb and ARM instruction sets"
+msgstr ""
+
+#: config/arm/arm.h:455
+msgid "Generate a call to abort if a noreturn function returns"
+msgstr ""
+
+#: config/arm/arm.h:458
+msgid "Do not move instructions into a function's prologue"
+msgstr ""
+
+#: config/arm/arm.h:461
+msgid "Do not load the PIC register in function prologues"
+msgstr ""
+
+#: config/arm/arm.h:464
+msgid "Generate call insns as indirect calls, if necessary"
+msgstr ""
+
+#: config/arm/arm.h:467
+msgid "Compile for the Thumb not the ARM"
+msgstr ""
+
+#: config/arm/arm.h:471
+msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+msgstr ""
+
+#: config/arm/arm.h:474
+msgid "Thumb: Generate (leaf) stack frames even if not needed"
+msgstr ""
+
+#: config/arm/arm.h:477
+msgid "Thumb: Assume non-static functions may be called from ARM code"
+msgstr ""
+
+#: config/arm/arm.h:481
+msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+msgstr ""
+
+#: config/arm/arm.h:491
+msgid "Specify the name of the target CPU"
+msgstr ""
+
+#: config/arm/arm.h:493
+msgid "Specify the name of the target architecture"
+msgstr ""
+
+#: config/arm/arm.h:497
+msgid "Specify the version of the floating point emulator"
+msgstr ""
+
+#: config/arm/arm.h:499
+msgid "Specify the minimum bit alignment of structures"
+msgstr ""
+
+#: config/arm/arm.h:501
+msgid "Specify the register to be used for PIC addressing"
+msgstr ""
+
+#: config/arm/pe.h:65
+msgid "Ignore dllimport attribute for functions"
+msgstr ""
+
+#: config/avr/avr.c:528
+#, c-format
+msgid "large frame pointer change (%d) with -mtiny-stack"
+msgstr ""
+
+#: config/avr/avr.c:1135
+msgid "bad address, not (reg+disp):"
+msgstr ""
+
+#: config/avr/avr.c:1143
+msgid "internal compiler error. Bad address:"
+msgstr ""
+
+#: config/avr/avr.c:1156
+msgid "internal compiler error. Unknown mode:"
+msgstr ""
+
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
+#, fuzzy
+msgid "invalid insn:"
+msgstr "ÐерÑчаіÑны выбар %s"
+
+#: 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: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:3003
+msgid "bad shift insn:"
+msgstr ""
+
+#: 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:4767
+msgid "only initialized variables can be placed into program memory area"
+msgstr ""
+
+#: 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:80
+msgid "Change the stack pointer without disabling interrupts"
+msgstr ""
+
+#: config/avr/avr.h:82
+msgid "Use subroutines for function prologue/epilogue"
+msgstr ""
+
+#: config/avr/avr.h:84
+msgid "Change only the low 8 bits of the stack pointer"
+msgstr ""
+
+#: config/avr/avr.h:86
+msgid "Do not generate tablejump insns"
+msgstr ""
+
+#: 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:108
+msgid "Specify the initial stack address"
+msgstr ""
+
+#: config/avr/avr.h:109
+msgid "Specify the MCU name"
+msgstr ""
+
+#. `GIV_SORT_CRITERION(GIV1, GIV2)'
+#. In some cases, the strength reduction optimization pass can
+#. produce better code if this is defined. This macro controls the
+#. order that induction variables are combined. This macro is
+#. particularly useful if the target has limited addressing modes.
+#. 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:2450
+msgid "trampolines not supported"
+msgstr ""
+
+#: config/c4x/c4x-c.c:69
+#, c-format
+msgid "missing '(' after '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:72
+#, c-format
+msgid "missing function name in '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:77
+#, c-format
+msgid "malformed '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:79
+#, c-format
+msgid "missing section name in '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:84
+#, c-format
+msgid "missing ')' for '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:87
+#, c-format
+msgid "junk at end of '#pragma %s'"
+msgstr ""
+
+#: config/c4x/c4x.c:280
+#, c-format
+msgid "unknown CPU version %d, using 40.\n"
+msgstr ""
+
+#: config/c4x/c4x.c:853
+#, c-format
+msgid "ISR %s requires %d words of local vars, max is 32767"
+msgstr ""
+
+#: config/c4x/c4x.c:1602
+msgid "using CONST_DOUBLE for address"
+msgstr ""
+
+#: config/c4x/c4x.c:1742
+msgid "c4x_address_cost: Invalid addressing mode"
+msgstr ""
+
+#: config/c4x/c4x.c:1884
+#, c-format
+msgid "c4x_print_operand: %%L inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:1890
+#, c-format
+msgid "c4x_print_operand: %%N inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:1931
+#, c-format
+msgid "c4x_print_operand: %%O inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:2026
+msgid "c4x_print_operand: Bad operand case"
+msgstr ""
+
+#: config/c4x/c4x.c:2069
+msgid "c4x_print_operand_address: Bad post_modify"
+msgstr ""
+
+#: config/c4x/c4x.c:2091
+msgid "c4x_print_operand_address: Bad pre_modify"
+msgstr ""
+
+#: 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:2422
+msgid "c4x_rptb_insert: Cannot find start label"
+msgstr ""
+
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
+msgid "mode not QImode"
+msgstr ""
+
+#: config/c4x/c4x.c:3514
+msgid "invalid indirect memory address"
+msgstr ""
+
+#: config/c4x/c4x.c:3603
+msgid "invalid indirect (S) memory address"
+msgstr ""
+
+#: config/c4x/c4x.c:3944
+msgid "c4x_valid_operands: Internal error"
+msgstr ""
+
+#: config/c4x/c4x.c:4424
+msgid "c4x_operand_subword: invalid mode"
+msgstr ""
+
+#: 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:4453
+msgid "c4x_operand_subword: invalid autoincrement"
+msgstr ""
+
+#: config/c4x/c4x.c:4459
+msgid "c4x_operand_subword: invalid address"
+msgstr ""
+
+#: config/c4x/c4x.c:4470
+msgid "c4x_operand_subword: address not offsettable"
+msgstr ""
+
+#: config/c4x/c4x.c:4670
+msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
+msgstr ""
+
+#. Name of the c4x assembler.
+#. Name of the c4x linker.
+#. Define assembler options.
+#. Define linker options.
+#. Specify the end file to link with.
+#. Target compilation option flags.
+#. Small memory model.
+#. Use 24-bit MPYI for C3x.
+#. Fast fixing of floats.
+#. Allow use of RPTS.
+#. Emit C3x code.
+#. Be compatible with TI assembler.
+#. Be paranoid about DP reg. in ISRs.
+#. Pass arguments on stack.
+#. Enable features under development.
+#. Enable repeat block.
+#. Use BK as general register.
+#. Use decrement and branch for C3x.
+#. Enable debugging of GCC.
+#. Force constants into registers.
+#. Allow unsigned loop counters.
+#. Force op0 and op1 to be same.
+#. Save all 40 bits for floats.
+#. Allow parallel insns.
+#. Allow MPY||ADD, MPY||SUB insns.
+#. Assume mem refs possibly aliased.
+#. Emit C30 code.
+#. Emit C31 code.
+#. Emit C32 code.
+#. Emit C33 code.
+#. Emit C40 code.
+#. Emit C44 code.
+#. Run-time compilation parameters selecting different hardware subsets.
+#.
+#. Macro to define tables used to set the flags.
+#. This is a list in braces of triplets in braces,
+#. 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:170
+msgid "Small memory model"
+msgstr ""
+
+#: config/c4x/c4x.h:172
+msgid "Big memory model"
+msgstr ""
+
+#: config/c4x/c4x.h:174
+msgid "Use MPYI instruction for C3x"
+msgstr ""
+
+#: config/c4x/c4x.h:176
+msgid "Do not use MPYI instruction for C3x"
+msgstr ""
+
+#: config/c4x/c4x.h:178
+msgid "Use fast but approximate float to integer conversion"
+msgstr ""
+
+#: config/c4x/c4x.h:180
+msgid "Use slow but accurate float to integer conversion"
+msgstr ""
+
+#: config/c4x/c4x.h:182
+msgid "Enable use of RTPS instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:184
+msgid "Disable use of RTPS instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:186
+msgid "Enable use of RTPB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:188
+msgid "Disable use of RTPB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:190
+msgid "Generate code for C30 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:192
+msgid "Generate code for C31 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:194
+msgid "Generate code for C32 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:196
+msgid "Generate code for C33 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:198
+msgid "Generate code for C40 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:200
+msgid "Generate code for C44 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:202
+msgid "Emit code compatible with TI tools"
+msgstr ""
+
+#: config/c4x/c4x.h:204
+msgid "Emit code to use GAS extensions"
+msgstr ""
+
+#: config/c4x/c4x.h:206 config/c4x/c4x.h:210
+msgid "Save DP across ISR in small memory model"
+msgstr ""
+
+#: 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:214
+msgid "Pass arguments on the stack"
+msgstr ""
+
+#: config/c4x/c4x.h:216
+msgid "Pass arguments in registers"
+msgstr ""
+
+#: config/c4x/c4x.h:218
+msgid "Enable new features under development"
+msgstr ""
+
+#: config/c4x/c4x.h:220
+msgid "Disable new features under development"
+msgstr ""
+
+#: config/c4x/c4x.h:222
+msgid "Use the BK register as a general purpose register"
+msgstr ""
+
+#: config/c4x/c4x.h:224
+msgid "Do not allocate BK register"
+msgstr ""
+
+#: config/c4x/c4x.h:226
+msgid "Enable use of DB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:228
+msgid "Disable use of DB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:230
+msgid "Enable debugging"
+msgstr ""
+
+#: config/c4x/c4x.h:232
+msgid "Disable debugging"
+msgstr ""
+
+#: config/c4x/c4x.h:234
+msgid "Force constants into registers to improve hoisting"
+msgstr ""
+
+#: config/c4x/c4x.h:236
+msgid "Don't force constants into registers"
+msgstr ""
+
+#: config/c4x/c4x.h:238
+msgid "Force RTL generation to emit valid 3 operand insns"
+msgstr ""
+
+#: config/c4x/c4x.h:240
+msgid "Allow RTL generation to emit invalid 3 operand insns"
+msgstr ""
+
+#: config/c4x/c4x.h:242
+msgid "Allow unsigned interation counts for RPTB/DB"
+msgstr ""
+
+#: config/c4x/c4x.h:244
+msgid "Disallow unsigned iteration counts for RPTB/DB"
+msgstr ""
+
+#: config/c4x/c4x.h:246
+msgid "Preserve all 40 bits of FP reg across call"
+msgstr ""
+
+#: config/c4x/c4x.h:248
+msgid "Only preserve 32 bits of FP reg across call"
+msgstr ""
+
+#: config/c4x/c4x.h:250
+msgid "Enable parallel instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:252
+msgid "Disable parallel instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:254
+msgid "Enable MPY||ADD and MPY||SUB instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:256
+msgid "Disable MPY||ADD and MPY||SUB instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:258
+msgid "Assume that pointers may be aliased"
+msgstr ""
+
+#: config/c4x/c4x.h:260
+msgid "Assume that pointers not aliased"
+msgstr ""
+
+#: config/c4x/c4x.h:333
+msgid "Specify maximum number of iterations for RPTS"
+msgstr ""
+
+#: config/c4x/c4x.h:335
+msgid "Select CPU to generate code for"
+msgstr ""
+
+#: config/cris/cris.c:583
+msgid "unexpected index-type in cris_print_index"
+msgstr ""
+
+#: config/cris/cris.c:599
+msgid "unexpected base-type in cris_print_base"
+msgstr ""
+
+#: config/cris/cris.c:892
+#, c-format
+msgid "stackframe too big: %d bytes"
+msgstr ""
+
+#: config/cris/cris.c:1207
+msgid "allocated but unused delay list in epilogue"
+msgstr ""
+
+#: config/cris/cris.c:1217
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+msgstr ""
+
+#: config/cris/cris.c:1296
+msgid "invalid operand for 'b' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1308
+msgid "invalid operand for 'v' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1318
+msgid "invalid operand for 'P' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1325
+msgid "invalid operand for 'p' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1364
+msgid "invalid operand for 'z' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1395 config/cris/cris.c:1425
+msgid "invalid operand for 'H' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1401
+msgid "bad register"
+msgstr ""
+
+#: config/cris/cris.c:1439
+msgid "invalid operand for 'e' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1456
+msgid "invalid operand for 'm' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1481
+msgid "invalid operand for 'A' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1489
+msgid "invalid operand for 'D' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1503
+msgid "invalid operand for 'T' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1512
+msgid "invalid operand modifier letter"
+msgstr ""
+
+#: config/cris/cris.c:1520
+#, c-format
+msgid "internal error: bad register: %d"
+msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°: дрÑнны Ñ€ÑгіÑÑ‚Ñ€: %d"
+
+#: config/cris/cris.c:1568
+msgid "unexpected multiplicative operand"
+msgstr ""
+
+#: config/cris/cris.c:1588
+msgid "unexpected operand"
+msgstr ""
+
+#: config/cris/cris.c:1623 config/cris/cris.c:1633
+msgid "unrecognized address"
+msgstr "нераÑпазнаны адраÑ"
+
+#: 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:2276
+msgid "internal error: cris_side_effect_mode_ok with bad operands"
+msgstr ""
+
+#: config/cris/cris.c:2358 config/cris/cris.c:2416
+#, fuzzy
+msgid "unrecognized supposed constant"
+msgstr "нераÑпазнаны выбар \"-%s\""
+
+#: config/cris/cris.c:2457
+msgid "unrecognized supposed constant in cris_global_pic_symbol"
+msgstr ""
+
+#: config/cris/cris.c:2476
+#, c-format
+msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+msgstr ""
+
+#: config/cris/cris.c:2504
+#, c-format
+msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+msgstr ""
+
+#: config/cris/cris.c:2540
+#, c-format
+msgid "unknown CRIS cpu version specification in -mtune= : %s"
+msgstr ""
+
+#: config/cris/cris.c:2558
+msgid "-fPIC and -fpic are not supported in this configuration"
+msgstr ""
+
+#: config/cris/cris.c:2574
+msgid "that particular -g option is invalid with -maout and -melinux"
+msgstr ""
+
+#: 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:2950 config/cris/cris.c:2981
+msgid "unexpected PIC symbol"
+msgstr ""
+
+#: config/cris/cris.c:2954
+msgid "PIC register isn't set up"
+msgstr ""
+
+#: config/cris/cris.c:2967 config/cris/cris.c:3050
+msgid "unexpected address expression"
+msgstr ""
+
+#: config/cris/cris.c:2985
+msgid "emitting PIC operand, but PIC register isn't set up"
+msgstr ""
+
+#: config/cris/cris.c:2994
+msgid "unexpected NOTE as addr_const:"
+msgstr ""
+
+#: config/cris/aout.h:106
+msgid "Compile for the MMU-less Etrax 100-based elinux system"
+msgstr ""
+
+#: config/cris/aout.h:113
+msgid "For elinux, request a specified stack-size for this program"
+msgstr ""
+
+#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
+#: config/cris/cris.h:336
+msgid "Compile for ETRAX 4 (CRIS v3)"
+msgstr ""
+
+#: config/cris/cris.h:341
+msgid "Compile for ETRAX 100 (CRIS v8)"
+msgstr ""
+
+#: config/cris/cris.h:345
+msgid "Emit verbose debug information in assembly code"
+msgstr ""
+
+#: config/cris/cris.h:348
+#, fuzzy
+msgid "Do not use condition codes from normal instructions"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/cris/cris.h:352
+msgid "Do not emit addressing modes with side-effect assignment"
+msgstr ""
+
+#: config/cris/cris.h:355
+msgid "Do not tune stack alignment"
+msgstr ""
+
+#: config/cris/cris.h:358
+msgid "Do not tune writable data alignment"
+msgstr ""
+
+#: config/cris/cris.h:361
+msgid "Do not tune code and read-only data alignment"
+msgstr ""
+
+#: config/cris/cris.h:370
+msgid "Align code and data to 32 bits"
+msgstr ""
+
+#: config/cris/cris.h:383
+msgid "Don't align items in code or data"
+msgstr ""
+
+#: config/cris/cris.h:386
+msgid "Do not emit function prologue or epilogue"
+msgstr ""
+
+#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
+#: config/cris/cris.h:390
+msgid "Use the most feature-enabling options allowed by other options"
+msgstr ""
+
+#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
+#: config/cris/cris.h:396
+msgid "Override -mbest-lib-options"
+msgstr ""
+
+#: config/cris/cris.h:428
+#, fuzzy
+msgid "Generate code for the specified chip or CPU version"
+msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+#: config/cris/cris.h:430
+msgid "Tune alignment for the specified chip or CPU version"
+msgstr ""
+
+#: config/cris/cris.h:432
+msgid "Warn when a stackframe is larger than the specified size"
+msgstr ""
+
+#. Node: Profiling
+#: config/cris/cris.h:1019
+msgid "no FUNCTION_PROFILER for CRIS"
+msgstr ""
+
+#: config/cris/linux.h:74
+msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+msgstr ""
+
+#: config/d30v/d30v.c:207
+#, c-format
+msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+msgstr ""
+
+#: config/d30v/d30v.c:2666
+msgid "bad insn to d30v_print_operand_address:"
+msgstr ""
+
+#: 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:2851
+msgid "bad insn to d30v_print_operand, 'f' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2860
+msgid "bad insn to d30v_print_operand, 'A' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2867
+msgid "bad insn to d30v_print_operand, 'M' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2921
+msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2932
+msgid "bad insn to print_operand, 'B' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2939
+msgid "bad insn to print_operand, 'E' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2957
+msgid "bad insn to print_operand, 'R' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
+msgid "bad insn to print_operand, 's' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:3003
+msgid "bad insn in d30v_print_operand, 0 case"
+msgstr ""
+
+#: config/d30v/d30v.c:3301
+msgid "d30v_emit_comparison"
+msgstr ""
+
+#: config/d30v/d30v.c:3345
+msgid "bad call to d30v_move_2words"
+msgstr ""
+
+#: config/d30v/d30v.h:114
+msgid "Enable use of conditional move instructions"
+msgstr ""
+
+#: config/d30v/d30v.h:117
+msgid "Disable use of conditional move instructions"
+msgstr ""
+
+#: config/d30v/d30v.h:120
+msgid "Debug argument support in compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:123
+msgid "Debug stack support in compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:126
+msgid "Debug memory address support in compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:129
+msgid "Make adjacent short instructions parallel if possible"
+msgstr ""
+
+#: config/d30v/d30v.h:132
+#, fuzzy
+msgid "Do not make adjacent short instructions parallel"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: 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:141
+msgid "Link programs/data to be in onchip memory by default"
+msgstr ""
+
+#: config/d30v/d30v.h:149
+msgid "Change the branch costs within the compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:152
+msgid "Change the threshold for conversion to conditional execution"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1446 config/dsp16xx/dsp16xx.c:1469
+msgid "stack size > 32k"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1678
+msgid "invalid addressing mode"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1821
+msgid "bad register extension code"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1921
+msgid "invalid offset in ybase addressing"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1924
+msgid "invalid register in ybase addressing"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:2099
+msgid "invalid shift operator in emit_1600_core_shift"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:2428
+msgid "invalid mode for gen_tst_reg"
+msgstr "нерÑчаіÑны Ñ€Ñжым Ð´Ð»Ñ gen_tst_reg"
+
+#: config/dsp16xx/dsp16xx.c:2500
+msgid "invalid mode for integer comparison in gen_compare_reg"
+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/dsp16xx/dsp16xx.h:230
+msgid "Pass parameters in registers (default)"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:232
+#, fuzzy
+msgid "Don't pass parameters in registers"
+msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+#: config/dsp16xx/dsp16xx.h:234
+#, fuzzy
+msgid "Generate code for near calls"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:236
+#, fuzzy
+msgid "Don't generate code for near calls"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:238
+#, fuzzy
+msgid "Generate code for near jumps"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:240
+#, fuzzy
+msgid "Don't generate code for near jumps"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:242
+#, fuzzy
+msgid "Generate code for a bit-manipulation unit"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:244
+#, fuzzy
+msgid "Don't generate code for a bit-manipulation unit"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/dsp16xx/dsp16xx.h:246
+#, fuzzy
+msgid "Generate code for memory map1"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:248
+#, fuzzy
+msgid "Generate code for memory map2"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:250
+#, fuzzy
+msgid "Generate code for memory map3"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:252
+#, fuzzy
+msgid "Generate code for memory map4"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/dsp16xx/dsp16xx.h:254
+msgid "Ouput extra code for initialized data"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:256
+msgid "Don't let reg. allocator use ybase registers"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:258
+msgid "Output extra debug info in Luxworks environment"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:260
+msgid "Save temp. files in Luxworks environment"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:272
+msgid "Specify alternate name for text section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:274
+msgid "Specify alternate name for data section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:276
+msgid "Specify alternate name for bss section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:278
+msgid "Specify alternate name for constant section"
+msgstr ""
+
+#: 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: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:1228 config/dsp16xx/dsp16xx.h:1240
+msgid "trampolines not yet implemented"
+msgstr ""
+
+#: config/fr30/fr30.c:453
+msgid "fr30_print_operand_address: unhandled address"
+msgstr ""
+
+#: config/fr30/fr30.c:480
+#, c-format
+msgid "fr30_print_operand: unrecognized %%p code"
+msgstr ""
+
+#: config/fr30/fr30.c:500
+#, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
+msgstr ""
+
+#: config/fr30/fr30.c:521
+#, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
+msgstr ""
+
+#: config/fr30/fr30.c:529
+#, c-format
+msgid "fr30_print_operand: invalid operand to %%A code"
+msgstr ""
+
+#: config/fr30/fr30.c:546
+#, c-format
+msgid "fr30_print_operand: invalid %%x code"
+msgstr ""
+
+#: config/fr30/fr30.c:553
+#, c-format
+msgid "fr30_print_operand: invalid %%F code"
+msgstr ""
+
+#: config/fr30/fr30.c:570
+msgid "fr30_print_operand: unknown code"
+msgstr ""
+
+#: 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:63
+msgid "Assume small address space"
+msgstr ""
+
+#: 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
+#, fuzzy, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: config/frv/frv.c:9253
+#, c-format
+msgid "`%s' expects a constant argument"
+msgstr ""
+
+#: config/frv/frv.c:9258
+#, fuzzy, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+#: 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
+#, fuzzy
+msgid "-ms2600 is used without -ms"
+msgstr "-ms2600 ужываецца без -ms."
+
+#: config/h8300/h8300.c:320
+#, fuzzy
+msgid "-mn is used without -mh or -ms"
+msgstr "-ms2600 ужываецца без -ms."
+
+#. 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:150
+#, fuzzy
+msgid "Generate H8S code"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/h8300/h8300.h:151
+#, fuzzy
+msgid "Do not generate H8S code"
+msgstr "Ðе Ñтвараць код Ð´Ð»Ñ 68851"
+
+#: config/h8300/h8300.h:152
+msgid "Generate H8S/2600 code"
+msgstr ""
+
+#: config/h8300/h8300.h:153
+#, fuzzy
+msgid "Do not generate H8S/2600 code"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/h8300/h8300.h:154
+msgid "Make integers 32 bits wide"
+msgstr ""
+
+#: config/h8300/h8300.h:157
+msgid "Use registers for argument passing"
+msgstr ""
+
+#: config/h8300/h8300.h:159
+msgid "Do not use registers for argument passing"
+msgstr ""
+
+#: config/h8300/h8300.h:161
+msgid "Consider access to byte sized memory slow"
+msgstr ""
+
+#: config/h8300/h8300.h:162
+msgid "Enable linker relaxing"
+msgstr ""
+
+#: config/h8300/h8300.h:164
+msgid "Generate H8/300H code"
+msgstr ""
+
+#: 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:167
+msgid "Use H8/300 alignment rules"
+msgstr ""
+
+#: config/i370/i370-c.c:53
+msgid "junk at end of #pragma map"
+msgstr ""
+
+#: config/i370/i370-c.c:59
+msgid "malformed #pragma map, ignored"
+msgstr ""
+
+#: config/i370/i370.c:915
+msgid "real name is too long - alias ignored"
+msgstr ""
+
+#: config/i370/i370.c:920
+msgid "alias name is too long - alias ignored"
+msgstr ""
+
+#: config/i370/i370.c:1191
+msgid "internal error--no jump follows compare:"
+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/i370/i370.h:75
+msgid "Generate char instructions"
+msgstr ""
+
+#: config/i370/i370.h:76
+msgid "Do not generate char instructions"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/i386/i386.c:1043
+#, c-format
+msgid "code model %s not supported in PIC mode"
+msgstr ""
+
+#: config/i386/i386.c:1053 config/sparc/sparc.c:356
+#, c-format
+msgid "bad value (%s) for -mcmodel= switch"
+msgstr ""
+
+#: config/i386/i386.c:1068
+#, c-format
+msgid "bad value (%s) for -masm= switch"
+msgstr ""
+
+#: config/i386/i386.c:1071
+#, c-format
+msgid "code model `%s' not supported in the %s bit mode"
+msgstr ""
+
+#: config/i386/i386.c:1074
+msgid "code model `large' not supported yet"
+msgstr ""
+
+#: config/i386/i386.c:1076
+#, c-format
+msgid "%i-bit mode not compiled in"
+msgstr ""
+
+#: config/i386/i386.c:1106
+#, c-format
+msgid "bad value (%s) for -march= switch"
+msgstr ""
+
+#: config/i386/i386.c:1117
+#, c-format
+msgid "bad value (%s) for -mcpu= switch"
+msgstr ""
+
+#: config/i386/i386.c:1134
+#, c-format
+msgid "-mregparm=%d is not between 0 and %d"
+msgstr ""
+
+#: config/i386/i386.c:1147
+msgid "-malign-loops is obsolete, use -falign-loops"
+msgstr ""
+
+#: 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:1160
+msgid "-malign-jumps is obsolete, use -falign-jumps"
+msgstr ""
+
+#: config/i386/i386.c:1173
+msgid "-malign-functions is obsolete, use -falign-functions"
+msgstr ""
+
+#: config/i386/i386.c:1211
+#, c-format
+msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+msgstr ""
+
+#: config/i386/i386.c:1223
+#, c-format
+msgid "-mbranch-cost=%d is not between 0 and 5"
+msgstr ""
+
+#: 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:1258
+msgid "-mrtd calling convention not supported in the 64bit mode"
+msgstr ""
+
+#: config/i386/i386.c:1274 config/i386/i386.c:1285
+msgid "SSE instruction set disabled, using 387 arithmetics"
+msgstr ""
+
+#: config/i386/i386.c:1290
+msgid "387 instruction set disabled, using SSE arithmetics"
+msgstr ""
+
+#: config/i386/i386.c:1297
+#, c-format
+msgid "bad value (%s) for -mfpmath= switch"
+msgstr ""
+
+#: config/i386/i386.c:1429
+#, c-format
+msgid "`%s' attribute requires an integer constant argument"
+msgstr ""
+
+#: config/i386/i386.c:1435
+#, fuzzy, c-format
+msgid "argument to `%s' attribute larger than %d"
+msgstr "памер \"%s\" больш чам %d байт"
+
+#: config/i386/i386.c:6176
+msgid "invalid UNSPEC as operand"
+msgstr ""
+
+#: config/i386/i386.c:6438
+msgid "extended registers have no high halves"
+msgstr ""
+
+#: config/i386/i386.c:6453
+msgid "unsupported operand size for extended register"
+msgstr ""
+
+#: config/i386/i386.c:6768
+msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+msgstr ""
+
+#: config/i386/i386.c:6814
+#, fuzzy, c-format
+msgid "invalid operand code `%c'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: config/i386/i386.c:6861
+#, fuzzy
+msgid "invalid constraints for operand"
+msgstr "нерÑчаіÑны %%c аперанд"
+
+#: config/i386/i386.c:11027
+#, fuzzy
+msgid "unknown insn mode"
+msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+#. @@@ better error message
+#: config/i386/i386.c:13083 config/i386/i386.c:13119
+msgid "selector must be an immediate"
+msgstr ""
+
+#. @@@ better error message
+#: config/i386/i386.c:13280 config/i386/i386.c:13314
+msgid "mask must be an immediate"
+msgstr ""
+
+#: config/i386/i386.c:13346
+msgid "shift must be an immediate"
+msgstr ""
+
+#: config/i386/winnt.c:105
+#, fuzzy, c-format
+msgid "`%s' attribute only applies to variables"
+msgstr "\"%s\" атрыбут ігнарыруецца"
+
+#: config/i386/winnt.c:275
+#, c-format
+msgid "`%s' declared as both exported to and imported from a DLL"
+msgstr ""
+
+#: config/i386/cygwin.h:45
+msgid "Use the Cygwin interface"
+msgstr ""
+
+#: config/i386/cygwin.h:46
+msgid "Use the Mingw32 interface"
+msgstr ""
+
+#: config/i386/cygwin.h:47
+msgid "Create GUI application"
+msgstr "Стварыць GUI прыдатак"
+
+#: config/i386/cygwin.h:48
+msgid "Don't set Windows defines"
+msgstr ""
+
+#: config/i386/cygwin.h:49
+msgid "Set Windows defines"
+msgstr ""
+
+#: config/i386/cygwin.h:50
+msgid "Create console application"
+msgstr "Стварыць канÑольны прыдатак"
+
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
+msgid "Generate code for a DLL"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
+msgid "Ignore dllimport for functions"
+msgstr ""
+
+#: config/i386/cygwin.h:55
+msgid "Use Mingw-specific thread support"
+msgstr ""
+
+#: config/i386/cygwin.h:244
+#, c-format
+msgid "-f%s ignored for target (all code is position independent)"
+msgstr ""
+
+#: config/i386/djgpp.h:204
+msgid "-mbnu210 is ignored (option is obsolete)"
+msgstr ""
+
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#: config/i386/i386.h:306
+msgid "Alternate calling convention"
+msgstr ""
+
+#: 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:310
+msgid "Align some doubles on dword boundary"
+msgstr ""
+
+#: config/i386/i386.h:312
+msgid "Align doubles on word boundary"
+msgstr ""
+
+#: config/i386/i386.h:314
+msgid "Uninitialized locals in .bss"
+msgstr ""
+
+#: config/i386/i386.h:316
+msgid "Uninitialized locals in .data"
+msgstr ""
+
+#: 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:320 config/ns32k/ns32k.h:169
+msgid "Do not use IEEE math for fp comparisons"
+msgstr ""
+
+#: config/i386/i386.h:322
+msgid "Return values of functions in FPU registers"
+msgstr ""
+
+#: config/i386/i386.h:324
+msgid "Do not return values of functions in FPU registers"
+msgstr ""
+
+#: config/i386/i386.h:326
+msgid "Do not generate sin, cos, sqrt for FPU"
+msgstr ""
+
+#: config/i386/i386.h:328
+msgid "Generate sin, cos, sqrt for FPU"
+msgstr ""
+
+#: config/i386/i386.h:330
+msgid "Omit the frame pointer in leaf functions"
+msgstr ""
+
+#: config/i386/i386.h:333
+msgid "Enable stack probing"
+msgstr ""
+
+#. undocumented
+#. undocumented
+#: config/i386/i386.h:338
+msgid "Align destination of the string operations"
+msgstr ""
+
+#: config/i386/i386.h:340
+msgid "Do not align destination of the string operations"
+msgstr ""
+
+#: config/i386/i386.h:342
+msgid "Inline all known string operations"
+msgstr ""
+
+#: config/i386/i386.h:344
+msgid "Do not inline all known string operations"
+msgstr ""
+
+#: config/i386/i386.h:346 config/i386/i386.h:350
+msgid "Use push instructions to save outgoing arguments"
+msgstr ""
+
+#: 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:354
+msgid "Support MMX built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:356
+msgid "Do not support MMX built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:358
+msgid "Support 3DNow! built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:360
+msgid "Do not support 3DNow! built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:362
+msgid "Support MMX and SSE built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:364
+msgid "Do not support MMX and SSE built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:366
+msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:368
+msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:370
+msgid "sizeof(long double) is 16"
+msgstr ""
+
+#: config/i386/i386.h:372
+msgid "sizeof(long double) is 12"
+msgstr ""
+
+#: config/i386/i386.h:374
+msgid "Generate 64bit x86-64 code"
+msgstr ""
+
+#: config/i386/i386.h:376
+msgid "Generate 32bit i386 code"
+msgstr ""
+
+#: config/i386/i386.h:378
+msgid "Use red-zone in the x86-64 code"
+msgstr ""
+
+#: config/i386/i386.h:380
+msgid "Do not use red-zone in the x86-64 code"
+msgstr ""
+
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:409 config/rs6000/rs6000.h:393 config/sparc/sparc.h:635
+msgid "Schedule code for given CPU"
+msgstr ""
+
+#: config/i386/i386.h:411
+msgid "Generate floating point mathematics using given instruction set"
+msgstr ""
+
+#: config/i386/i386.h:413
+msgid "Generate code for given CPU"
+msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+#: config/i386/i386.h:415
+msgid "Number of registers used to pass integer arguments"
+msgstr ""
+
+#. TARGET_DEFAULT is defined in sun*.h and isi.h, etc.
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:417 config/m68k/m68k.h:263
+msgid "Loop code aligned to this power of 2"
+msgstr ""
+
+#: 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:421 config/m68k/m68k.h:267
+msgid "Function starts are aligned to this power of 2"
+msgstr ""
+
+#: config/i386/i386.h:424
+msgid "Attempt to keep stack aligned to this power of 2"
+msgstr ""
+
+#: config/i386/i386.h:426
+msgid "Branches are this expensive (1-5, arbitrary units)"
+msgstr ""
+
+#: config/i386/i386.h:428
+msgid "Use given x86-64 code model"
+msgstr ""
+
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
+msgid "Use given assembler dialect"
+msgstr "ВыкарыÑтоўвываць зададзены дыÑлект аÑÑмблера"
+
+#: config/i386/i386.h:436
+#, fuzzy
+msgid "Use given thread-local storage dialect"
+msgstr "ВыкарыÑтоўвываць зададзены дыÑлект аÑÑмблера"
+
+#: config/i386/sco5.h:700
+msgid "Generate ELF output"
+msgstr "Стварыць ELF-вывад"
+
+#: config/i386/win32.h:53
+msgid "Use Mingw32 interface"
+msgstr ""
+
+#: config/i386/win32.h:55
+msgid "Use Cygwin interface"
+msgstr ""
+
+#: config/i386/win32.h:57
+msgid "Use bare Windows interface"
+msgstr ""
+
+#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
+#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
+#: config/i386/xm-djgpp.h:71
+msgid "environment variable DJGPP not defined"
+msgstr ""
+
+#: config/i386/xm-djgpp.h:73
+#, c-format
+msgid "environment variable DJGPP points to missing file '%s'"
+msgstr ""
+
+#: config/i386/xm-djgpp.h:76
+#, c-format
+msgid "environment variable DJGPP points to corrupt file '%s'"
+msgstr ""
+
+#: config/i960/i960-c.c:66
+msgid "sorry, not implemented: #pragma align NAME=SIZE"
+msgstr ""
+
+#: config/i960/i960-c.c:71
+msgid "malformed #pragma align - ignored"
+msgstr ""
+
+#: config/i960/i960-c.c:109
+msgid "sorry, not implemented: #pragma noalign NAME"
+msgstr ""
+
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr ""
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr ""
+
+#: 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 ""
+
+#. 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.
+#. ??? Not all ten of these architecture variations actually exist, but I
+#. am not sure which are real and which aren't.
+#: config/i960/i960.h:240
+msgid "Generate SA code"
+msgstr ""
+
+#: config/i960/i960.h:243
+msgid "Generate SB code"
+msgstr ""
+
+#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
+#: config/i960/i960.h:248
+msgid "Generate KA code"
+msgstr ""
+
+#: config/i960/i960.h:251
+msgid "Generate KB code"
+msgstr ""
+
+#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
+#: config/i960/i960.h:256
+msgid "Generate JA code"
+msgstr ""
+
+#: config/i960/i960.h:258
+msgid "Generate JD code"
+msgstr ""
+
+#: config/i960/i960.h:261
+msgid "Generate JF code"
+msgstr ""
+
+#: config/i960/i960.h:263
+msgid "generate RP code"
+msgstr ""
+
+#: config/i960/i960.h:266
+msgid "Generate MC code"
+msgstr ""
+
+#: config/i960/i960.h:269
+msgid "Generate CA code"
+msgstr ""
+
+#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
+#: config/i960/i960.h:279
+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 ""
+
+#: config/i960/i960.h:287
+msgid "Do not use alternate leaf function entries"
+msgstr ""
+
+#: config/i960/i960.h:289
+msgid "Perform tail call optimization"
+msgstr ""
+
+#: config/i960/i960.h:291
+msgid "Do not perform tail call optimization"
+msgstr ""
+
+#: config/i960/i960.h:293
+msgid "Use complex addressing modes"
+msgstr ""
+
+#: config/i960/i960.h:295
+msgid "Do not use complex addressing modes"
+msgstr ""
+
+#: config/i960/i960.h:297
+msgid "Align code to 8 byte boundary"
+msgstr ""
+
+#: config/i960/i960.h:299
+msgid "Do not align code to 8 byte boundary"
+msgstr ""
+
+#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
+#: config/i960/i960.h:305 config/i960/i960.h:307
+msgid "Enable compatibility with iC960 v2.0"
+msgstr ""
+
+#: config/i960/i960.h:309
+msgid "Enable compatibility with iC960 v3.0"
+msgstr ""
+
+#: config/i960/i960.h:311 config/i960/i960.h:313
+msgid "Enable compatibility with ic960 assembler"
+msgstr ""
+
+#: config/i960/i960.h:315
+msgid "Do not permit unaligned accesses"
+msgstr ""
+
+#: config/i960/i960.h:317
+msgid "Permit unaligned accesses"
+msgstr ""
+
+#: config/i960/i960.h:319
+msgid "Layout types like Intel's v1.3 gcc"
+msgstr ""
+
+#: config/i960/i960.h:321
+msgid "Do not layout types like Intel's v1.3 gcc"
+msgstr ""
+
+#: 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 ""
+
+#: config/i960/i960.h:325
+msgid "Enable linker relaxation"
+msgstr ""
+
+#: config/i960/i960.h:327
+msgid "Do not enable linker relaxation"
+msgstr ""
+
+#: config/ia64/ia64-c.c:50
+msgid "malformed #pragma builtin"
+msgstr ""
+
+#: config/ia64/ia64.c:3879
+msgid "ia64_print_operand: unknown code"
+msgstr ""
+
+#: config/ia64/ia64.c:4157
+msgid "value of -mfixed-range must have form REG1-REG2"
+msgstr ""
+
+#: config/ia64/ia64.c:4184
+#, c-format
+msgid "%s-%s is an empty range"
+msgstr ""
+
+#: config/ia64/ia64.c:4215
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4221
+msgid "cannot optimize integer division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4233
+#, c-format
+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:150
+msgid "Generate big endian code"
+msgstr ""
+
+#: config/ia64/ia64.h:152 config/mcore/mcore.h:159
+msgid "Generate little endian code"
+msgstr ""
+
+#: config/ia64/ia64.h:154
+msgid "Generate code for GNU as"
+msgstr "Генерыраваць код Ð´Ð»Ñ GNU as"
+
+#: config/ia64/ia64.h:156
+msgid "Generate code for Intel as"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/ia64/ia64.h:158
+msgid "Generate code for GNU ld"
+msgstr "Генерыраваць код Ð´Ð»Ñ GNU ld"
+
+#: config/ia64/ia64.h:160
+msgid "Generate code for Intel ld"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel ld"
+
+#: config/ia64/ia64.h:162
+msgid "Generate code without GP reg"
+msgstr "Генерыраваць код без GP reg"
+
+#: config/ia64/ia64.h:164
+msgid "Emit stop bits before and after volatile extended asms"
+msgstr ""
+
+#: config/ia64/ia64.h:166
+msgid "Don't emit stop bits before and after volatile extended asms"
+msgstr ""
+
+#: config/ia64/ia64.h:168
+msgid "Emit code for Itanium (TM) processor B step"
+msgstr ""
+
+#: config/ia64/ia64.h:170
+msgid "Use in/loc/out register names"
+msgstr ""
+
+#: config/ia64/ia64.h:172
+msgid "Disable use of sdata/scommon/sbss"
+msgstr ""
+
+#: config/ia64/ia64.h:174
+msgid "Enable use of sdata/scommon/sbss"
+msgstr ""
+
+#: config/ia64/ia64.h:176
+msgid "gp is constant (but save/restore gp on indirect calls)"
+msgstr ""
+
+#: config/ia64/ia64.h:178
+msgid "Generate self-relocatable code"
+msgstr ""
+
+#: 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:186
+msgid "Generate inline integer division, optimize for throughput"
+msgstr ""
+
+#: config/ia64/ia64.h:188
+msgid "Enable Dwarf 2 line debug info via GNU as"
+msgstr ""
+
+#: config/ia64/ia64.h:190
+msgid "Disable Dwarf 2 line debug info via GNU as"
+msgstr ""
+
+#: config/ia64/ia64.h:219
+msgid "Specify range of registers to make fixed"
+msgstr ""
+
+#: config/ip2k/ip2k.c:1082
+#, fuzzy
+msgid "bad operand"
+msgstr "нерÑчаіÑны %%f аперанд"
+
+#: 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:148
+#, c-format
+msgid "bad value (%s) for -msdata switch"
+msgstr ""
+
+#: config/m32r/m32r.c:319
+#, fuzzy, c-format
+msgid "invalid argument of `%s' attribute"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: config/m32r/m32r.c:422
+msgid "const objects cannot go in .sdata/.sbss"
+msgstr ""
+
+#: config/m32r/m32r.c:2256
+#, fuzzy, c-format
+msgid "invalid operand to %%s code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/m32r/m32r.c:2263
+#, fuzzy, c-format
+msgid "invalid operand to %%p code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/m32r/m32r.c:2318
+msgid "bad insn for 'A'"
+msgstr ""
+
+#: config/m32r/m32r.c:2370
+#, fuzzy, c-format
+msgid "invalid operand to %%T/%%B code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/m32r/m32r.c:2393
+#, fuzzy, c-format
+msgid "invalid operand to %%N code"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/m32r/m32r.c:2438
+msgid "pre-increment address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2445
+msgid "pre-decrement address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2452
+msgid "post-increment address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12737
+msgid "bad address"
+msgstr "дрÑнны адраÑ"
+
+#: config/m32r/m32r.c:2551
+#, fuzzy
+msgid "lo_sum not of register"
+msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+#. { "relax", TARGET_RELAX_MASK, "" }, { "no-relax", -TARGET_RELAX_MASK, "" },
+#: config/m32r/m32r.h:241
+msgid "Display compile time statistics"
+msgstr ""
+
+#: config/m32r/m32r.h:243
+msgid "Align all loops to 32 byte boundary"
+msgstr ""
+
+#: config/m32r/m32r.h:246
+msgid "Only issue one instruction per cycle"
+msgstr ""
+
+#: config/m32r/m32r.h:249
+msgid "Prefer branches over conditional execution"
+msgstr ""
+
+#: config/m32r/m32r.h:265
+msgid "Code size: small, medium or large"
+msgstr ""
+
+#: config/m32r/m32r.h:267
+msgid "Small data area: none, sdata, use"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:242
+#, c-format
+msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
+msgstr ""
+
+#. !!!! SCz wrong here.
+#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3626
+msgid "move insn not handled"
+msgstr ""
+
+#: 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:3506
+msgid "invalid operand in the instruction"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3803
+#, fuzzy
+msgid "invalid register in the instruction"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: config/m68hc11/m68hc11.c:3836
+msgid "operand 1 must be a hard register"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3853
+#, fuzzy
+msgid "invalid rotate insn"
+msgstr "ÐерÑчаіÑны выбар %s"
+
+#: config/m68hc11/m68hc11.c:4278
+msgid "registers IX, IY and Z used in the same INSN"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:4603 config/m68hc11/m68hc11.c:4906
+msgid "cannot do z-register replacement"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:4969
+msgid "invalid Z register replacement for insn"
+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/m68hc11/m68hc11.h:160
+msgid "Compile with 16-bit integer mode"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:162
+msgid "Compile with 32-bit integer mode"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:164
+msgid "Auto pre/post decrement increment allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:166
+msgid "Auto pre/post decrement increment not allowed"
+msgstr ""
+
+#: 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:178 config/m68hc11/m68hc11.h:182
+msgid "Compile for a 68HC11"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:180 config/m68hc11/m68hc11.h:184
+msgid "Compile for a 68HC12"
+msgstr ""
+
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:198
+msgid "Specify the register allocation order"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:200
+msgid "Indicate the number of soft registers available"
+msgstr ""
+
+#: config/m68k/m68k.c:158
+#, c-format
+msgid "-malign-loops=%d is not between 1 and %d"
+msgstr ""
+
+#: config/m68k/m68k.c:169
+#, c-format
+msgid "-malign-jumps=%d is not between 1 and %d"
+msgstr ""
+
+#: 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 }
+#. 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/m68k/m68k.h:162 config/m68k/m68k.h:164
+msgid "Generate code for a 68020"
+msgstr "Ствараць код Ð´Ð»Ñ 68020"
+
+#: config/m68k/m68k.h:169 config/m68k/m68k.h:172
+msgid "Generate code for a 68000"
+msgstr "Ствараць код Ð´Ð»Ñ 68000"
+
+#: config/m68k/m68k.h:174
+msgid "Use the bit-field instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:176
+#, fuzzy
+msgid "Do not use the bit-field instructions"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/m68k/m68k.h:178
+msgid "Use different calling convention using 'rtd'"
+msgstr ""
+
+#: config/m68k/m68k.h:182
+msgid "Consider type `int' to be 16 bits wide"
+msgstr ""
+
+#: config/m68k/m68k.h:184
+msgid "Consider type `int' to be 32 bits wide"
+msgstr ""
+
+#: config/m68k/m68k.h:186
+#, fuzzy
+msgid "Generate code for a Sun FPA"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/m68k/m68k.h:189
+#, fuzzy
+msgid "Do not generate code for a Sun FPA"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/m68k/m68k.h:191 config/m68k/m68k.h:193
+#, fuzzy
+msgid "Generate code for a Sun Sky board"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/m68k/m68k.h:195
+msgid "Do not use Sky linkage convention"
+msgstr ""
+
+#: config/m68k/m68k.h:197
+msgid "Generate code for a 68881"
+msgstr "Ствараць код Ð´Ð»Ñ 68881"
+
+#: config/m68k/m68k.h:200
+msgid "Generate code with library calls for floating point"
+msgstr ""
+
+#: config/m68k/m68k.h:202
+msgid "Generate code for a 68040, without any new instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:205
+msgid "Generate code for a 68060, without any new instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:209
+msgid "Generate code for a 68030"
+msgstr "Ствараць код Ð´Ð»Ñ 68030"
+
+#: config/m68k/m68k.h:212
+msgid "Generate code for a 68040"
+msgstr "Ствараць код Ð´Ð»Ñ 68040"
+
+#: config/m68k/m68k.h:216
+msgid "Generate code for a 68060"
+msgstr "Ствараць код Ð´Ð»Ñ 68060"
+
+#: config/m68k/m68k.h:221
+msgid "Generate code for a 520X"
+msgstr "Ствараць код Ð´Ð»Ñ 520X"
+
+#: config/m68k/m68k.h:224
+msgid "Generate code for a 68851"
+msgstr "Ствараць код Ð´Ð»Ñ 68851"
+
+#: config/m68k/m68k.h:226
+msgid "Do no generate code for a 68851"
+msgstr "Ðе Ñтвараць код Ð´Ð»Ñ 68851"
+
+#: config/m68k/m68k.h:229
+msgid "Generate code for a 68302"
+msgstr "Ствараць код Ð´Ð»Ñ 68302"
+
+#: config/m68k/m68k.h:232
+msgid "Generate code for a 68332"
+msgstr "Ствараць код Ð´Ð»Ñ 68332"
+
+#: config/m68k/m68k.h:236
+msgid "Generate code for a cpu32"
+msgstr "Ствараць код Ð´Ð»Ñ Ñ†Ð¿32"
+
+#: config/m68k/m68k.h:239
+msgid "Align variables on a 32-bit boundary"
+msgstr ""
+
+#: config/m68k/m68k.h:241
+msgid "Align variables on a 16-bit boundary"
+msgstr ""
+
+#: config/m68k/m68k.h:243
+msgid "Generate pc-relative code"
+msgstr ""
+
+#: config/m68k/m68k.h:245
+msgid "Do not use unaligned memory references"
+msgstr ""
+
+#: config/m68k/m68k.h:247
+msgid "Use unaligned memory references"
+msgstr ""
+
+#: config/m88k/m88k.c:903
+#, c-format
+msgid "internal gcc monitor: short-branch(%x)"
+msgstr ""
+
+#: config/m88k/m88k.c:2302
+msgid "internal gcc error: Can't express symbolic location"
+msgstr ""
+
+#: config/m88k/m88k.c:2517
+#, c-format
+msgid "argument #%d is a structure"
+msgstr ""
+
+#: config/m88k/m88k.c:2816
+#, c-format
+msgid "%%R not followed by %%B/C/D/E"
+msgstr ""
+
+#: config/m88k/m88k.c:2884
+#, c-format
+msgid "invalid %%x/X value"
+msgstr "нерÑчаіÑнае значÑньне %%x/X"
+
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "дрÑннае %%Q значÑнне"
+
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681
+#, c-format
+msgid "invalid %%q value"
+msgstr ""
+
+#: config/m88k/m88k.c:2913
+#, c-format
+msgid "invalid %%o value"
+msgstr "нерÑчаіÑнае значÑньне %%o"
+
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644
+#, c-format
+msgid "invalid %%p value"
+msgstr ""
+
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, fuzzy, c-format
+msgid "invalid %%s/S value"
+msgstr "дрÑннае %%Q значÑнне"
+
+#: config/m88k/m88k.c:2949
+#, fuzzy, c-format
+msgid "invalid %%P operand"
+msgstr "нерÑчаіÑны %%-код"
+
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
+#, c-format
+msgid "invalid %%B value"
+msgstr ""
+
+#: config/m88k/m88k.c:3010
+#, fuzzy, c-format
+msgid "invalid %%D value"
+msgstr "дрÑннае %%Q значÑнне"
+
+#: config/m88k/m88k.c:3023
+#, c-format
+msgid "`%%d' operand isn't a register"
+msgstr ""
+
+#: config/m88k/m88k.c:3041
+msgid "operand is r0"
+msgstr ""
+
+#: config/m88k/m88k.c:3055
+msgid "operand is const_double"
+msgstr ""
+
+#: config/m88k/m88k.c:3074
+msgid "invalid code"
+msgstr ""
+
+#. Do any checking or such that is needed after processing the -m switches.
+#: config/m88k/m88k.h:277
+msgid "-mtrap-large-shift and -mhandle-large-shift are incompatible"
+msgstr ""
+
+#: config/m88k/m88k.h:299
+#, fuzzy, c-format
+msgid "invalid option `-mshort-data-%s'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: config/m88k/m88k.h:304
+#, c-format
+msgid "-mshort-data-%s is too large "
+msgstr ""
+
+#: config/m88k/m88k.h:306
+#, c-format
+msgid "-mshort-data-%s and PIC are incompatible"
+msgstr ""
+
+#: config/mcore/mcore.c:3078
+#, fuzzy, c-format
+msgid "invalid option `-mstack-increment=%s'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: config/mcore/mcore.h:126
+msgid "Inline constants if it can be done in 2 insns or less"
+msgstr ""
+
+#: config/mcore/mcore.h:128
+msgid "Inline constants if it only takes 1 instruction"
+msgstr ""
+
+#: config/mcore/mcore.h:130
+msgid "Set maximum alignment to 4"
+msgstr ""
+
+#: config/mcore/mcore.h:132
+msgid "Set maximum alignment to 8"
+msgstr ""
+
+#: config/mcore/mcore.h:136
+msgid "Do not use the divide instruction"
+msgstr ""
+
+#: config/mcore/mcore.h:140
+msgid "Do not arbitary sized immediates in bit operations"
+msgstr ""
+
+#: config/mcore/mcore.h:142
+msgid "Always treat bit-field as int-sized"
+msgstr ""
+
+#: config/mcore/mcore.h:146
+msgid "Force functions to be aligned to a 4 byte boundary"
+msgstr ""
+
+#: config/mcore/mcore.h:148
+msgid "Force functions to be aligned to a 2 byte boundary"
+msgstr ""
+
+#: config/mcore/mcore.h:150
+msgid "Emit call graph information"
+msgstr ""
+
+#: config/mcore/mcore.h:154
+msgid "Prefer word accesses over byte accesses"
+msgstr ""
+
+#: config/mcore/mcore.h:165
+msgid "Generate code for the M*Core M340"
+msgstr ""
+
+#: config/mcore/mcore.h:178
+msgid "Maximum amount for a single stack increment operation"
+msgstr ""
+
+#: config/mips/mips.c:5112
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
+msgstr ""
+
+#: config/mips/mips.c:5142
+#, c-format
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr ""
+
+#: config/mips/mips.c:5149
+#, c-format
+msgid "bad value (%s) for -mips switch"
+msgstr ""
+
+#: config/mips/mips.c:5164
+#, c-format
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr ""
+
+#: config/mips/mips.c:5176
+msgid "-mgp64 used with a 32-bit processor"
+msgstr ""
+
+#: config/mips/mips.c:5178
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr ""
+
+#: config/mips/mips.c:5180
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr ""
+
+#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202
+#, fuzzy, c-format
+msgid "unsupported combination: %s"
+msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ"
+
+#: config/mips/mips.c:5272
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr ""
+
+#: config/mips/mips.c:5283
+msgid "-G is incompatible with PIC code which is the default"
+msgstr ""
+
+#: config/mips/mips.c:5299
+msgid "-membedded-pic and -mabicalls are incompatible"
+msgstr ""
+
+#: config/mips/mips.c:5302
+msgid "-G and -membedded-pic are incompatible"
+msgstr ""
+
+#: config/mips/mips.c:5353
+#, fuzzy, c-format
+msgid "invalid option `entry%s'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: config/mips/mips.c:5356
+msgid "-mentry is only meaningful with -mips-16"
+msgstr ""
+
+#: config/mips/mips.c:5761
+#, c-format
+msgid "internal error: %%) found without a %%( in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5775
+#, c-format
+msgid "internal error: %%] found without a %%[ in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5788
+#, c-format
+msgid "internal error: %%> found without a %%< in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5801
+#, c-format
+msgid "internal error: %%} found without a %%{ in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5815
+#, c-format
+msgid "PRINT_OPERAND: unknown punctuation '%c'"
+msgstr ""
+
+#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939
+msgid "PRINT_OPERAND null pointer"
+msgstr ""
+
+#: config/mips/mips.c:5955
+#, c-format
+msgid "invalid use of %%d, %%x, or %%X"
+msgstr ""
+
+#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033
+msgid "PRINT_OPERAND_ADDRESS, null pointer"
+msgstr ""
+
+#: config/mips/mips.c:6222
+msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
+msgstr ""
+
+#: config/mips/mips.c:6532
+#, fuzzy
+msgid "can't rewind temp file"
+msgstr "немагчыма Ñтварыць чаÑовы файл"
+
+#: config/mips/mips.c:6536
+#, fuzzy
+msgid "can't write to output file"
+msgstr "не магу запіÑаць Ñž %s"
+
+#: config/mips/mips.c:6539
+#, fuzzy
+msgid "can't read from temp file"
+msgstr "не магу прачытаць з %s"
+
+#: config/mips/mips.c:6542
+#, fuzzy
+msgid "can't close temp file"
+msgstr "немагчыма зачыніць уваходзÑчы файл %s"
+
+#: config/mips/mips.c:6983
+#, c-format
+msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+msgstr ""
+
+#: config/mips/mips.c:7092
+#, c-format
+msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+msgstr ""
+
+#: 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:528 config/mn10300/mn10300.h:64
+msgid "No default crt0.o"
+msgstr ""
+
+#: config/mips/mips.h:530
+msgid "Use 64-bit int type"
+msgstr ""
+
+#: config/mips/mips.h:532
+msgid "Use 64-bit long type"
+msgstr ""
+
+#: config/mips/mips.h:534
+msgid "Use 32-bit long type"
+msgstr ""
+
+#: config/mips/mips.h:536
+msgid "Optimize lui/addiu address loads"
+msgstr ""
+
+#: config/mips/mips.h:538
+msgid "Don't optimize lui/addiu address loads"
+msgstr ""
+
+#: config/mips/mips.h:540
+msgid "Use MIPS as"
+msgstr ""
+
+#: config/mips/mips.h:542
+msgid "Use GNU as"
+msgstr "ВыкарыÑтоўваць GNU Ñк"
+
+#: config/mips/mips.h:544
+msgid "Use symbolic register names"
+msgstr "Ужываць ÑÑ–Ð¼Ð²Ð°Ð»Ñ–Ñ‡Ð½Ñ‹Ñ Ð½Ð°Ð·Ð²Ñ‹ Ñ€ÑгіÑтраў"
+
+#: config/mips/mips.h:546
+msgid "Don't use symbolic register names"
+msgstr "Ðе ўжываць ÑÑ–Ð¼Ð²Ð°Ð»Ñ–Ñ‡Ð½Ñ‹Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтраў"
+
+#: config/mips/mips.h:548 config/mips/mips.h:550
+msgid "Use GP relative sdata/sbss sections"
+msgstr ""
+
+#: config/mips/mips.h:552 config/mips/mips.h:554
+msgid "Don't use GP relative sdata/sbss sections"
+msgstr ""
+
+#: config/mips/mips.h:556
+msgid "Output compiler statistics"
+msgstr "ВывеÑці ÑтатыÑтыку капілÑтара"
+
+#: config/mips/mips.h:558
+msgid "Don't output compiler statistics"
+msgstr "Ðе выводзіць ÑтатыÑтыку кампілÑтара"
+
+#: config/mips/mips.h:560
+msgid "Don't optimize block moves"
+msgstr ""
+
+#: config/mips/mips.h:562
+msgid "Optimize block moves"
+msgstr ""
+
+#: config/mips/mips.h:564
+msgid "Use mips-tfile asm postpass"
+msgstr ""
+
+#: config/mips/mips.h:566
+msgid "Don't use mips-tfile asm postpass"
+msgstr ""
+
+#. Macro to define tables used to set the flags.
+#. This is a list in braces of triplets in braces,
+#. each triplet being { "NAME", VALUE, DOC }
+#. 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:570 config/pdp11/pdp11.h:56
+msgid "Use hardware floating point"
+msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+
+#: config/mips/mips.h:572
+msgid "Use 64-bit FP registers"
+msgstr "ВыкарыÑтоўваць 64-Ð±Ñ–Ñ‚Ð½Ñ‹Ñ FP-Ñ€ÑгіÑтры"
+
+#: config/mips/mips.h:574
+msgid "Use 32-bit FP registers"
+msgstr "ВыкарыÑтоўваць 32-Ð±Ñ–Ñ‚Ð½Ñ‹Ñ FP-Ñ€ÑгіÑтры"
+
+#: config/mips/mips.h:576
+msgid "Use 64-bit general registers"
+msgstr "ВыкарыÑтоўваць 64-Ð±Ñ–Ñ‚Ð½Ñ‹Ñ Ð³Ð°Ð»Ð¾ÑžÐ½Ñ‹Ñ Ñ€ÑгіÑтры"
+
+#: config/mips/mips.h:578
+msgid "Use 32-bit general registers"
+msgstr "ВыкарыÑтоўваць 32-Ð±Ñ–Ñ‚Ð½Ñ‹Ñ Ð³Ð°Ð»Ð¾ÑžÐ½Ñ‹Ñ Ñ€ÑгіÑтры"
+
+#: config/mips/mips.h:580
+msgid "Use Irix PIC"
+msgstr "ВыкарыÑтоўваць Irix PIC"
+
+#: config/mips/mips.h:582
+msgid "Don't use Irix PIC"
+msgstr "Ðе выкарыÑтоўваць Irix PIC"
+
+#: config/mips/mips.h:584
+msgid "Use indirect calls"
+msgstr ""
+
+#: config/mips/mips.h:586
+msgid "Don't use indirect calls"
+msgstr ""
+
+#: config/mips/mips.h:588
+msgid "Use embedded PIC"
+msgstr ""
+
+#: config/mips/mips.h:590
+msgid "Don't use embedded PIC"
+msgstr ""
+
+#: config/mips/mips.h:592
+msgid "Use ROM instead of RAM"
+msgstr ""
+
+#: config/mips/mips.h:594
+msgid "Don't use ROM instead of RAM"
+msgstr ""
+
+#: config/mips/mips.h:596
+msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+msgstr ""
+
+#: 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:600 config/xtensa/xtensa.h:110
+msgid "Use big-endian byte order"
+msgstr ""
+
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
+msgid "Use little-endian byte order"
+msgstr ""
+
+#: config/mips/mips.h:604
+msgid "Use single (32-bit) FP only"
+msgstr ""
+
+#: config/mips/mips.h:606
+msgid "Don't use single (32-bit) FP only"
+msgstr ""
+
+#: config/mips/mips.h:608
+msgid "Use multiply accumulate"
+msgstr ""
+
+#: config/mips/mips.h:610
+msgid "Don't use multiply accumulate"
+msgstr ""
+
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
+msgid "Don't generate fused multiply/add instructions"
+msgstr ""
+
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
+msgid "Generate fused multiply/add instructions"
+msgstr ""
+
+#: config/mips/mips.h:616
+msgid "Work around early 4300 hardware bug"
+msgstr ""
+
+#: config/mips/mips.h:618
+msgid "Don't work around early 4300 hardware bug"
+msgstr ""
+
+#: config/mips/mips.h:620
+msgid "Trap on integer divide by zero"
+msgstr ""
+
+#: config/mips/mips.h:622
+msgid "Don't trap on integer divide by zero"
+msgstr ""
+
+#: config/mips/mips.h:624
+msgid "Trap on integer divide overflow"
+msgstr ""
+
+#: config/mips/mips.h:626
+msgid "Don't trap on integer divide overflow"
+msgstr ""
+
+#: 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:746
+msgid "Specify CPU for code generation purposes"
+msgstr ""
+
+#: 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:752
+msgid "Use mips16 entry/exit psuedo ops"
+msgstr ""
+
+#: config/mips/mips.h:754
+msgid "Don't use MIPS16 instructions"
+msgstr ""
+
+#: config/mips/mips.h:756
+msgid "Don't call any cache flush functions"
+msgstr ""
+
+#: 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:2868
+msgid "mips16 function profiling"
+msgstr ""
+
+#: config/mmix/mmix.c:189
+#, fuzzy, c-format
+msgid "-f%s not supported: ignored"
+msgstr "-pipe не падтрымліваецца"
+
+#: 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:826
+msgid "function_profiler support for MMIX"
+msgstr ""
+
+#: config/mmix/mmix.c:848
+msgid "MMIX Internal: Last named vararg would not fit in a register"
+msgstr ""
+
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
+msgid "MMIX Internal: Expected a CONST_INT, not this"
+msgstr ""
+
+#: 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:1718
+msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+msgstr ""
+
+#: config/mmix/mmix.c:1737
+msgid "MMIX Internal: Expected a register, not this"
+msgstr ""
+
+#: 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:1779
+#, c-format
+msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
+msgstr ""
+
+#. We need the original here.
+#: config/mmix/mmix.c:1831
+msgid "MMIX Internal: Cannot decode this operand"
+msgstr ""
+
+#: config/mmix/mmix.c:1891
+msgid "MMIX Internal: This is not a recognized address"
+msgstr ""
+
+#: 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:3006
+msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+msgstr ""
+
+#: config/mmix/mmix.c:3013
+msgid "MMIX Internal: What's the CC of this?"
+msgstr ""
+
+#: config/mmix/mmix.c:3017
+msgid "MMIX Internal: What is the CC of this?"
+msgstr ""
+
+#: config/mmix/mmix.c:3088
+msgid "MMIX Internal: This is not a constant:"
+msgstr ""
+
+#. For these target macros, there is no generic documentation here. You
+#. should read `Using and Porting GCC' for that. Only comments specific
+#. to the MMIX target are here.
+#.
+#. There are however references to the specific texinfo node (comments
+#. with "Node:"), so there should be little or nothing amiss. Probably
+#. the opposite, since we don't have to care about old littering and
+#. soon outdated generic comments.
+#. Node: Driver
+#. 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.
+#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
+#. Provide default program start 0x100 unless -mno-set-program-start.
+#. 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:132
+msgid "Set start-address of the program"
+msgstr ""
+
+#: 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:198
+msgid "For intrinsics library: pass all parameters in registers"
+msgstr ""
+
+#: config/mmix/mmix.h:201
+msgid "Use register stack for parameters and return value"
+msgstr ""
+
+#: config/mmix/mmix.h:203
+msgid "Use call-clobbered registers for parameters and return value"
+msgstr ""
+
+#: config/mmix/mmix.h:205
+msgid "Use epsilon-respecting floating point compare instructions"
+msgstr ""
+
+#: config/mmix/mmix.h:208
+msgid "Use zero-extending memory loads, not sign-extending ones"
+msgstr ""
+
+#: 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:215
+msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+msgstr ""
+
+#: config/mmix/mmix.h:217
+msgid "Do not provide a default start-address 0x100 of the program"
+msgstr ""
+
+#: config/mmix/mmix.h:219
+msgid "Link to emit program in ELF format (rather than mmo)"
+msgstr ""
+
+#: config/mmix/mmix.h:221
+msgid "Use P-mnemonics for branches statically predicted as taken"
+msgstr ""
+
+#: config/mmix/mmix.h:223
+msgid "Don't use P-mnemonics for branches"
+msgstr ""
+
+#: config/mmix/mmix.h:225
+msgid "Use addresses that allocate global registers"
+msgstr ""
+
+#: 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
+#, fuzzy
+msgid "Do not generate a single exit point for each function"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/mn10300/mn10300.h:59
+msgid "Work around hardware multiply bug"
+msgstr ""
+
+#: config/mn10300/mn10300.h:60
+msgid "Do not work around hardware multiply bug"
+msgstr ""
+
+#: config/mn10300/mn10300.h:61
+msgid "Target the AM33 processor"
+msgstr "ÐœÑта - AM33 працÑÑар"
+
+#: config/mn10300/mn10300.h:65
+msgid "Enable linker relaxations"
+msgstr ""
+
+#: config/ns32k/ns32k.h:142 config/s390/s390.h:69
+msgid "Don't use hardware fp"
+msgstr "Ðе выкарыÑтоўваць апаратную fp"
+
+#: config/ns32k/ns32k.h:143
+msgid "Alternative calling convention"
+msgstr ""
+
+#: config/ns32k/ns32k.h:145
+msgid "Pass some arguments in registers"
+msgstr ""
+
+#: config/ns32k/ns32k.h:146
+msgid "Pass all arguments on stack"
+msgstr ""
+
+#: config/ns32k/ns32k.h:147
+msgid "Optimize for 32532 cpu"
+msgstr "Ðптымізаваць Ð´Ð»Ñ 32532 ЦП"
+
+#: config/ns32k/ns32k.h:148
+msgid "Optimize for 32332 cpu"
+msgstr "Ðптымізаваць Ð´Ð»Ñ 32332 ЦП"
+
+#: config/ns32k/ns32k.h:150
+msgid "Optimize for 32032"
+msgstr "Ðптымізаваць Ð´Ð»Ñ 32032 ЦП"
+
+#: config/ns32k/ns32k.h:152
+msgid "Register sb is zero. Use for absolute addressing"
+msgstr ""
+
+#: config/ns32k/ns32k.h:153
+msgid "Do not use register sb"
+msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+#: config/ns32k/ns32k.h:155
+msgid "Use bit-field instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:157
+#, fuzzy
+msgid "Do not use bit-field instructions"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/ns32k/ns32k.h:158
+msgid "Generate code for high memory"
+msgstr ""
+
+#: config/ns32k/ns32k.h:159
+msgid "Generate code for low memory"
+msgstr ""
+
+#: config/ns32k/ns32k.h:160
+msgid "32381 fpu"
+msgstr ""
+
+#: config/ns32k/ns32k.h:162
+msgid "Use multiply-accumulate fp instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:164
+msgid "Do not use multiply-accumulate fp instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:165
+msgid "\"Small register classes\" kludge"
+msgstr ""
+
+#: config/ns32k/ns32k.h:166
+msgid "No \"Small register classes\" kludge"
+msgstr ""
+
+#: config/pa/pa.c:246
+#, c-format
+msgid ""
+"unknown -mschedule= option (%s).\n"
+"Valid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n"
+msgstr ""
+
+#: 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:284
+msgid "PIC code generation is not supported in the portable runtime model\n"
+msgstr ""
+
+#: config/pa/pa.c:289
+msgid "PIC code generation is not compatible with fast indirect calls\n"
+msgstr ""
+
+#: config/pa/pa.c:294
+msgid "-g is only supported when using GAS on this processor,"
+msgstr ""
+
+#: config/pa/pa.c:295
+msgid "-g option disabled"
+msgstr ""
+
+#: config/pa/pa-hiux.h:75 config/pa/pa-hpux.h:80 config/pa/pa-hpux7.h:81
+#: config/pa/pa64-hpux.h:25
+#, fuzzy
+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
+#, fuzzy
+msgid "Generate cpp defines for workstation IO"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#. 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
+#, fuzzy
+msgid "Generate PA1.1 code"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: config/pa/pa.h:220 config/pa/pa.h:222
+#, fuzzy
+msgid "Generate PA1.0 code"
+msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+#: 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
+#, fuzzy
+msgid "Do not disable FP regs"
+msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+#: 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
+#, fuzzy
+msgid "Disable indexed addressing"
+msgstr "нерÑчаіÑны адраÑ"
+
+#: config/pa/pa.h:242
+#, fuzzy
+msgid "Do not disable indexed addressing"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+
+#: config/pa/pa.h:244
+msgid "Use portable calling conventions"
+msgstr ""
+
+#: config/pa/pa.h:246
+#, fuzzy
+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
+#, fuzzy
+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
+#, fuzzy
+msgid "Generate fast indirect calls"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/pa/pa.h:262
+#, fuzzy
+msgid "Do not generate fast indirect calls"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/pa/pa.h:264
+#, fuzzy
+msgid "Generate code for huge switch statements"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/pa/pa.h:266
+#, fuzzy
+msgid "Do not generate code for huge switch statements"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/pa/pa.h:268
+#, fuzzy
+msgid "Always generate long calls"
+msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+#: config/pa/pa.h:270
+msgid "Generate long calls only when needed"
+msgstr ""
+
+#: config/pa/pa.h:272
+#, fuzzy
+msgid "Enable linker optimizations"
+msgstr "Уключаць SSA аптымізацыю"
+
+#: 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:59
+msgid "Return floating point results in ac0"
+msgstr ""
+
+#: config/pdp11/pdp11.h:60
+msgid "Return floating point results in memory"
+msgstr ""
+
+#. is 11/40
+#: config/pdp11/pdp11.h:62
+msgid "Generate code for an 11/40"
+msgstr ""
+
+#. is 11/45
+#: config/pdp11/pdp11.h:65
+msgid "Generate code for an 11/45"
+msgstr ""
+
+#. is 11/10
+#: 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:73 config/pdp11/pdp11.h:74
+msgid "Use 32 bit int"
+msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int"
+
+#: config/pdp11/pdp11.h:75 config/pdp11/pdp11.h:76
+msgid "Use 16 bit int"
+msgstr "ВыкарыÑтоўваць 16-ці бітны int"
+
+#. use 32 bit for float
+#: config/pdp11/pdp11.h:78 config/pdp11/pdp11.h:79
+msgid "Use 32 bit float"
+msgstr "ВыкарыÑтоўваць 32-Ñ… бітны float"
+
+#: config/pdp11/pdp11.h:80 config/pdp11/pdp11.h:81
+msgid "Use 64 bit float"
+msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float"
+
+#. allow abshi pattern? - can trigger "optimizations" which make code SLOW!
+#. 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:90
+msgid "Target has split I&D"
+msgstr ""
+
+#: config/pdp11/pdp11.h:91
+msgid "Target does not have split I&D"
+msgstr ""
+
+#. UNIX assembler syntax?
+#: config/pdp11/pdp11.h:93
+msgid "Use UNIX assembler syntax"
+msgstr "ВыкарыÑтоўваць UNIX-ÑÑ–Ð½Ñ‚Ð°ÐºÑ Ð´Ð»Ñ Ð°ÑÑмблера"
+
+#: config/pdp11/pdp11.h:94
+msgid "Use DEC assembler syntax"
+msgstr "ВыкарыÑтоўваць DEC-ÑÑ–Ð½Ñ‚Ð°ÐºÑ Ð´Ð»Ñ Ð°ÑÑмблера"
+
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7718
+#, c-format
+msgid "invalid %%S value"
+msgstr ""
+
+#: config/romp/romp.c:726 config/romp/romp.c:733
+#, c-format
+msgid "invalid %%b value"
+msgstr ""
+
+#: config/romp/romp.c:773 config/romp/romp.c:784
+#, c-format
+msgid "invalid %%z value"
+msgstr ""
+
+#: config/romp/romp.c:792 config/romp/romp.c:800
+#, c-format
+msgid "invalid %%Z value"
+msgstr ""
+
+#: 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:908 config/romp/romp.c:951
+#, c-format
+msgid "invalid %%j value"
+msgstr ""
+
+#. Perform any needed actions needed for a function that is receiving a
+#. variable number of arguments.
+#.
+#. CUM is as above.
+#.
+#. MODE and TYPE are the mode and type of the current parameter.
+#.
+#. PRETEND_SIZE is a variable that should be set to the amount of stack
+#. that must be pushed by the prolog to pretend that our caller pushed
+#. it.
+#.
+#. Normally, this macro will push all remaining incoming registers on the
+#. stack and set PRETEND_SIZE to the length of the registers pushed.
+#: config/romp/romp.h:648
+msgid "can't have varargs with -mfp-arg-in-fp-regs"
+msgstr ""
+
+#. 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
+#, fuzzy
+msgid "missing open paren"
+msgstr "Прапушчана назва"
+
+#: config/rs6000/rs6000-c.c:60
+#, fuzzy
+msgid "missing number"
+msgstr "Прапушчана назва"
+
+#: config/rs6000/rs6000-c.c:62
+#, fuzzy
+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:595
+msgid "-mstring is not supported on little endian systems"
+msgstr ""
+
+#: config/rs6000/rs6000.c:619
+#, c-format
+msgid "unknown -mdebug-%s switch"
+msgstr ""
+
+#: config/rs6000/rs6000.c:631
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:642
+#, c-format
+msgid "Unknown switch -mlong-double-%s"
+msgstr ""
+
+#: config/rs6000/rs6000.c:734
+#, fuzzy, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+#: config/rs6000/rs6000.c:749
+#, fuzzy, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+#: config/rs6000/rs6000.c:768
+#, fuzzy, c-format
+msgid "unknown ABI specified: '%s'"
+msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+#: config/rs6000/rs6000.c:4169
+#, fuzzy
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+#: config/rs6000/rs6000.c:4276 config/rs6000/rs6000.c:4866
+#, fuzzy
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+#: config/rs6000/rs6000.c:4319
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: config/rs6000/rs6000.c:4373
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+#: config/rs6000/rs6000.c:4452
+#, fuzzy
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+#: config/rs6000/rs6000.c:4629
+#, fuzzy, c-format
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+#: config/rs6000/rs6000.c:4745
+#, fuzzy
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+#: config/rs6000/rs6000.c:4976
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+#: config/rs6000/rs6000.c:5049
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+#: config/rs6000/rs6000.c:7474
+#, c-format
+msgid "invalid %%f value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7483
+#, c-format
+msgid "invalid %%F value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7492
+#, c-format
+msgid "invalid %%G value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7527
+#, c-format
+msgid "invalid %%j code"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7537
+#, c-format
+msgid "invalid %%J code"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7567
+#, c-format
+msgid "invalid %%K value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7634
+#, c-format
+msgid "invalid %%O value"
+msgstr "нерÑчаіÑнае значÑньне %%O"
+
+#: config/rs6000/rs6000.c:7756
+#, c-format
+msgid "invalid %%T value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7766
+#, c-format
+msgid "invalid %%u value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7775
+#, c-format
+msgid "invalid %%v value"
+msgstr ""
+
+#: 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: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/aix52.h:28
+msgid "Compile for 64-bit pointers"
+msgstr ""
+
+#: 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/aix52.h:49
+msgid "-maix64 and POWER architecture are incompatible"
+msgstr ""
+
+#: 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/aix52.h:58
+msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+msgstr ""
+
+#. Run-time compilation parameters selecting different hardware subsets.
+#.
+#. 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/rs6000/rs6000.h:240
+msgid "Use POWER instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:243
+msgid "Use POWER2 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:245
+msgid "Do not use POWER2 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:248
+msgid "Do not use POWER instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:250
+msgid "Use PowerPC instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:253
+msgid "Do not use PowerPC instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:255
+msgid "Use PowerPC General Purpose group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:257
+msgid "Don't use PowerPC General Purpose group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:259
+msgid "Use PowerPC Graphics group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:261
+msgid "Don't use PowerPC Graphics group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:263
+msgid "Use PowerPC-64 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:265
+msgid "Don't use PowerPC-64 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:267
+msgid "Use AltiVec instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:269
+msgid "Don't use AltiVec instructions"
+msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
+
+#: config/rs6000/rs6000.h:271
+msgid "Use new mnemonics for PowerPC architecture"
+msgstr ""
+
+#: config/rs6000/rs6000.h:273
+msgid "Use old mnemonics for PowerPC architecture"
+msgstr ""
+
+#: config/rs6000/rs6000.h:276
+msgid "Put everything in the regular TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:278
+msgid "Place floating point constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:280
+msgid "Don't place floating point constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:282
+msgid "Place symbol+offset constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:284
+msgid "Don't place symbol+offset constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:290
+msgid "Place variable addresses in the regular TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:296
+msgid "Generate load/store multiple instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:298
+msgid "Do not generate load/store multiple instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:302
+msgid "Generate string instructions for block moves"
+msgstr ""
+
+#: config/rs6000/rs6000.h:304
+msgid "Do not generate string instructions for block moves"
+msgstr ""
+
+#: config/rs6000/rs6000.h:308
+msgid "Generate load/store with update instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:310
+msgid "Do not generate load/store with update instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:318
+msgid "Don't schedule the start and end of the procedure"
+msgstr ""
+
+#: config/rs6000/rs6000.h:324
+msgid "Return all structures in memory (AIX default)"
+msgstr ""
+
+#: config/rs6000/rs6000.h:326
+msgid "Return small structures in registers (SVR4 default)"
+msgstr ""
+
+#: 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:394
+msgid "Enable debug output"
+msgstr ""
+
+#: 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: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.
+#. This should be uncommented, so that the link register is used, but
+#. currently this would result in unmatched insns and spilling fixed
+#. registers so we'll leave it for another day. When these problems are
+#. taken care of one additional fetch will be necessary in RETURN_ADDR_RTX.
+#. (mrs)
+#. #define RETURN_ADDR_IN_PREVIOUS_FRAME
+#. 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:1869
+msgid "RETURN_ADDRESS_OFFSET not supported"
+msgstr ""
+
+#: config/rs6000/sysv4.h:87
+msgid "Select ABI calling convention"
+msgstr ""
+
+#: config/rs6000/sysv4.h:88
+msgid "Select method for sdata handling"
+msgstr ""
+
+#: config/rs6000/sysv4.h:103
+msgid "Align to the base type of the bit-field"
+msgstr ""
+
+#: config/rs6000/sysv4.h:105
+msgid "Don't align to the base type of the bit-field"
+msgstr ""
+
+#: config/rs6000/sysv4.h:107
+msgid "Don't assume that unaligned accesses are handled by the system"
+msgstr ""
+
+#: config/rs6000/sysv4.h:109
+msgid "Assume that unaligned accesses are handled by the system"
+msgstr ""
+
+#: config/rs6000/sysv4.h:111 config/rs6000/sysv4.h:115
+msgid "Produce code relocatable at runtime"
+msgstr ""
+
+#: config/rs6000/sysv4.h:113 config/rs6000/sysv4.h:117
+msgid "Don't produce code relocatable at runtime"
+msgstr ""
+
+#: config/rs6000/sysv4.h:119 config/rs6000/sysv4.h:121
+msgid "Produce little endian code"
+msgstr ""
+
+#: config/rs6000/sysv4.h:123 config/rs6000/sysv4.h:125
+msgid "Produce big endian code"
+msgstr ""
+
+#: 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:132
+msgid "Use EABI"
+msgstr ""
+
+#: config/rs6000/sysv4.h:133
+msgid "Don't use EABI"
+msgstr "Ðе выкарыÑтоўваць EABI"
+
+#: config/rs6000/sysv4.h:136
+msgid "Do not allow bit-fields to cross word boundaries"
+msgstr ""
+
+#: config/rs6000/sysv4.h:138
+msgid "Use alternate register names"
+msgstr "ВыкарыÑтоўвываць альтÑÑ€Ð½Ð°Ñ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð½Ð°Ð·Ð²Ñ‹ Ñ€ÑгіÑтраў"
+
+#: config/rs6000/sysv4.h:140
+msgid "Don't use alternate register names"
+msgstr "Ðе выкарыÑтоўвываць альтÑÑ€Ð½Ð°Ñ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð½Ð°Ð·Ð²Ñ‹ Ñ€ÑгіÑтраў"
+
+#: config/rs6000/sysv4.h:144
+msgid "Link with libsim.a, libc.a and sim-crt0.o"
+msgstr ""
+
+#: config/rs6000/sysv4.h:146
+msgid "Link with libads.a, libc.a and crt0.o"
+msgstr ""
+
+#: config/rs6000/sysv4.h:148
+msgid "Link with libyk.a, libc.a and crt0.o"
+msgstr ""
+
+#: config/rs6000/sysv4.h:150
+msgid "Link with libmvme.a, libc.a and crt0.o"
+msgstr ""
+
+#: 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
+#. defined, is executed once just after all the command options have
+#. been parsed.
+#.
+#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+#. get control.
+#: config/rs6000/sysv4.h:214
+#, c-format
+msgid "bad value for -mcall-%s"
+msgstr ""
+
+#: config/rs6000/sysv4.h:230
+#, c-format
+msgid "bad value for -msdata=%s"
+msgstr ""
+
+#: config/rs6000/sysv4.h:247
+#, c-format
+msgid "-mrelocatable and -msdata=%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:255
+#, c-format
+msgid "-f%s and -msdata=%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:263
+#, c-format
+msgid "-msdata=%s and -mcall-%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:272
+msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:278
+#, c-format
+msgid "-mrelocatable and -mcall-%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:285
+#, c-format
+msgid "-fPIC and -mcall-%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:292
+msgid "-mcall-aixdesc must be big endian"
+msgstr ""
+
+#: config/s390/s390.c:2584
+msgid "invalid UNSPEC as operand (1)"
+msgstr ""
+
+#: config/s390/s390.c:2620
+msgid "invalid UNSPEC as operand (2)"
+msgstr ""
+
+#: config/s390/s390.c:2626
+msgid "UNKNOWN in s390_output_symbolic_const !?"
+msgstr ""
+
+#: config/s390/s390.c:2644
+msgid "Cannot decompose address."
+msgstr ""
+
+#: config/s390/s390.c:2784
+msgid "UNKNOWN in print_operand !?"
+msgstr ""
+
+#: config/s390/s390.c:4421
+msgid "Total size of local variables exceeds architecture limit."
+msgstr ""
+
+#: config/s390/s390.h:70
+msgid "Set backchain"
+msgstr ""
+
+#: config/s390/s390.h:71
+msgid "Don't set backchain (faster, but debug harder"
+msgstr ""
+
+#: config/s390/s390.h:72
+msgid "Use bras for execucable < 64k"
+msgstr ""
+
+#: config/s390/s390.h:73
+#, fuzzy
+msgid "Don't use bras"
+msgstr "Ðе выкарыÑтоўваць Irix PIC"
+
+#: config/s390/s390.h:74
+msgid "Additional debug prints"
+msgstr ""
+
+#: config/s390/s390.h:75
+msgid "Don't print additional debug prints"
+msgstr ""
+
+#: config/s390/s390.h:76
+msgid "64 bit mode"
+msgstr ""
+
+#: config/s390/s390.h:77
+msgid "31 bit mode"
+msgstr ""
+
+#: config/s390/s390.h:78
+msgid "mvcle use"
+msgstr ""
+
+#: config/s390/s390.h:79
+msgid "mvc&ex"
+msgstr ""
+
+#: config/sh/sh.c:5134
+#, fuzzy
+msgid "__builtin_saveregs not supported by this subtarget"
+msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+#: 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: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:5717
+#, c-format
+msgid "`%s' attribute argument not a string constant"
+msgstr ""
+
+#. The argument must be a constant integer.
+#: 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:437
+#, fuzzy
+msgid "Profiling is not supported on this target."
+msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+#: config/sparc/sparc.c:329
+#, c-format
+msgid "%s is not supported by this configuration"
+msgstr ""
+
+#: config/sparc/sparc.c:336
+msgid "-mlong-double-64 not allowed with -m64"
+msgstr ""
+
+#: config/sparc/sparc.c:361
+msgid "-mcmodel= is not supported on 32 bit systems"
+msgstr ""
+
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
+#, c-format
+msgid "invalid %%Y operand"
+msgstr "нерÑчаіÑны %%Y аперанд"
+
+#: config/sparc/sparc.c:6375
+#, c-format
+msgid "invalid %%A operand"
+msgstr "нерÑчаіÑны %%A аперанд"
+
+#: config/sparc/sparc.c:6385
+#, c-format
+msgid "invalid %%B operand"
+msgstr "нерÑчаіÑны %%B аперанд"
+
+#: config/sparc/sparc.c:6424
+#, c-format
+msgid "invalid %%c operand"
+msgstr "нерÑчаіÑны %%c аперанд"
+
+#: config/sparc/sparc.c:6425
+#, c-format
+msgid "invalid %%C operand"
+msgstr "нерÑчаіÑны %%C аперанд"
+
+#: config/sparc/sparc.c:6446
+#, c-format
+msgid "invalid %%d operand"
+msgstr "нерÑчаіÑны %%d аперанд"
+
+#: config/sparc/sparc.c:6447
+#, c-format
+msgid "invalid %%D operand"
+msgstr "нерÑчаіÑны %%D аперанд"
+
+#: config/sparc/sparc.c:6463
+#, c-format
+msgid "invalid %%f operand"
+msgstr "нерÑчаіÑны %%f аперанд"
+
+#: config/sparc/sparc.c:6513
+msgid "long long constant not a valid immediate operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6516
+msgid "floating point constant not a valid immediate operand"
+msgstr ""
+
+#: 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 ""
+
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
+msgid "Generate code for big endian"
+msgstr ""
+
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
+msgid "Generate code for little endian"
+msgstr ""
+
+#: 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:532
+msgid "Assume possible double misalignment"
+msgstr ""
+
+#: config/sparc/sparc.h:534
+msgid "Assume all doubles are aligned"
+msgstr ""
+
+#: config/sparc/sparc.h:536
+msgid "Pass -assert pure-text to linker"
+msgstr ""
+
+#: config/sparc/sparc.h:538
+msgid "Do not pass -assert pure-text to linker"
+msgstr ""
+
+#: config/sparc/sparc.h:540
+msgid "Use flat register window model"
+msgstr ""
+
+#: config/sparc/sparc.h:542
+msgid "Do not use flat register window model"
+msgstr ""
+
+#: config/sparc/sparc.h:544
+msgid "Use ABI reserved registers"
+msgstr ""
+
+#: config/sparc/sparc.h:546
+msgid "Do not use ABI reserved registers"
+msgstr ""
+
+#: config/sparc/sparc.h:548
+msgid "Use hardware quad fp instructions"
+msgstr ""
+
+#: config/sparc/sparc.h:550
+msgid "Do not use hardware quad fp instructions"
+msgstr ""
+
+#: config/sparc/sparc.h:552
+msgid "Compile for v8plus ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:554
+msgid "Do not compile for v8plus ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:556
+msgid "Utilize Visual Instruction Set"
+msgstr ""
+
+#: 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:561
+msgid "Optimize for Cypress processors"
+msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ Cypress працÑÑараў"
+
+#: config/sparc/sparc.h:563
+#, fuzzy
+msgid "Optimize for SPARCLite processors"
+msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ SparcLite працÑÑараў"
+
+#: config/sparc/sparc.h:565
+msgid "Optimize for F930 processors"
+msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F930 працÑÑараў"
+
+#: config/sparc/sparc.h:567
+msgid "Optimize for F934 processors"
+msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F934 працÑÑараў"
+
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
+msgstr ""
+
+#: config/sparc/sparc.h:571
+#, fuzzy
+msgid "Optimize for SuperSPARC processors"
+msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ SuperSparc працÑÑараў"
+
+#. End of deprecated options.
+#: config/sparc/sparc.h:574
+msgid "Pointers are 64-bit"
+msgstr ""
+
+#: config/sparc/sparc.h:576
+msgid "Pointers are 32-bit"
+msgstr ""
+
+#: config/sparc/sparc.h:578
+msgid "Use 32-bit ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:580
+msgid "Use 64-bit ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:582
+msgid "Use stack bias"
+msgstr ""
+
+#: config/sparc/sparc.h:584
+msgid "Do not use stack bias"
+msgstr ""
+
+#: config/sparc/sparc.h:586
+msgid "Use structs on stronger alignment for double-word copies"
+msgstr ""
+
+#: config/sparc/sparc.h:588
+msgid "Do not use structs on stronger alignment for double-word copies"
+msgstr ""
+
+#: config/sparc/sparc.h:590
+msgid "Optimize tail call instructions in assembler and linker"
+msgstr ""
+
+#: config/sparc/sparc.h:592
+msgid "Do not optimize tail call instructions in assembler or linker"
+msgstr ""
+
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1192
+msgid "cannot use va_start in interrupt function"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1552
+msgid "`B' operand is not constant"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1558
+msgid "`B' operand has multiple bits set"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1585
+msgid "`o' operand is not constant"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1600
+msgid "xstormy16_print_operand: unknown code"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1650
+#, c-format
+msgid "switch statement of size %lu entries too large"
+msgstr ""
+
+#: config/v850/v850-c.c:67
+msgid "#pragma GHS endXXXX found without previous startXXX"
+msgstr ""
+
+#: config/v850/v850-c.c:69
+msgid "#pragma GHS endXXX does not match previous startXXX"
+msgstr ""
+
+#: config/v850/v850-c.c:94
+msgid "cannot set interrupt attribute: no current function"
+msgstr ""
+
+#: config/v850/v850-c.c:102
+msgid "cannot set interrupt attribute: no such identifier"
+msgstr ""
+
+#: config/v850/v850-c.c:148
+msgid "junk at end of #pragma ghs section"
+msgstr ""
+
+#: config/v850/v850-c.c:165
+#, c-format
+msgid "unrecognized section name \"%s\""
+msgstr "нераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° ÑÑкцыі \"%s\""
+
+#: config/v850/v850-c.c:180
+msgid "malformed #pragma ghs section"
+msgstr ""
+
+#: config/v850/v850-c.c:200
+msgid "junk at end of #pragma ghs interrupt"
+msgstr ""
+
+#: config/v850/v850-c.c:212
+msgid "junk at end of #pragma ghs starttda"
+msgstr ""
+
+#: config/v850/v850-c.c:224
+msgid "junk at end of #pragma ghs startsda"
+msgstr ""
+
+#: config/v850/v850-c.c:236
+msgid "junk at end of #pragma ghs startzda"
+msgstr ""
+
+#: config/v850/v850-c.c:248
+msgid "junk at end of #pragma ghs endtda"
+msgstr ""
+
+#: config/v850/v850-c.c:260
+msgid "junk at end of #pragma ghs endsda"
+msgstr ""
+
+#: config/v850/v850-c.c:272
+msgid "junk at end of #pragma ghs endzda"
+msgstr ""
+
+#: config/v850/v850.c:129
+#, c-format
+msgid "%s=%s is not numeric"
+msgstr ""
+
+#: config/v850/v850.c:136
+#, c-format
+msgid "%s=%s is too large"
+msgstr "%s=%s вельмі вÑлікі"
+
+#: config/v850/v850.c:302
+msgid "const_double_split got a bad insn:"
+msgstr ""
+
+#: config/v850/v850.c:837
+msgid "output_move_single:"
+msgstr ""
+
+#: config/v850/v850.c:2217
+msgid "a data area attribute cannot be specified for local variables"
+msgstr ""
+
+#: config/v850/v850.c:2228
+#, c-format
+msgid "data area of '%s' conflicts with previous declaration"
+msgstr ""
+
+#: config/v850/v850.c:2447
+#, c-format
+msgid "bogus JR construction: %d\n"
+msgstr ""
+
+#: 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: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:158
+msgid "Support Green Hills ABI"
+msgstr ""
+
+#: config/v850/v850.h:161
+msgid "Prohibit PC relative function calls"
+msgstr ""
+
+#: config/v850/v850.h:164
+msgid "Reuse r30 on a per function basis"
+msgstr ""
+
+#: config/v850/v850.h:167
+msgid "Use stubs for function prologues"
+msgstr ""
+
+#: config/v850/v850.h:170
+msgid "Same as: -mep -mprolog-function"
+msgstr ""
+
+#: config/v850/v850.h:171
+msgid "Enable backend debugging"
+msgstr ""
+
+#: config/v850/v850.h:173
+msgid "Compile for the v850 processor"
+msgstr ""
+
+#: config/v850/v850.h:175
+#, fuzzy
+msgid "Compile for v850e processor"
+msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F930 працÑÑараў"
+
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
+#, fuzzy
+msgid "Enable the use of the short load instructions"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/v850/v850.h:180
+#, fuzzy
+msgid "Do not use the callt instruction"
+msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+#: config/v850/v850.h:187
+#, fuzzy
+msgid "Do not use registers r2 and r5"
+msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+#: 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:218
+msgid "Set the max size of data eligible for the TDA area"
+msgstr ""
+
+#: config/v850/v850.h:221
+msgid "Set the max size of data eligible for the SDA area"
+msgstr ""
+
+#: config/v850/v850.h:224
+msgid "Set the max size of data eligible for the ZDA area"
+msgstr ""
+
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
+msgid "bad test"
+msgstr ""
+
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
+msgstr ""
+
+#: config/xtensa/xtensa.c:1991
+msgid "invalid mask"
+msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка"
+
+#: config/xtensa/xtensa.c:2038
+msgid "invalid address"
+msgstr "нерÑчаіÑны адраÑ"
+
+#: config/xtensa/xtensa.c:2063
+#, fuzzy
+msgid "no register in address"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+
+#: 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 ""
+
+#: config/xtensa/xtensa.h:116
+msgid "Do not use the Xtensa code density option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:120
+msgid "Do not use the Xtensa MAC16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:124
+msgid "Do not use the Xtensa MUL16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:128
+msgid "Do not use the Xtensa MUL32 option"
+msgstr ""
+
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:136
+msgid "Do not use the Xtensa NSA option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:140
+msgid "Do not use the Xtensa MIN/MAX option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:144
+msgid "Do not use the Xtensa SEXT option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:146
+msgid "Use the Xtensa boolean register option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:148
+#, fuzzy
+msgid "Do not use the Xtensa boolean register option"
+msgstr "Ðе ўжываць ÑÑ–Ð¼Ð²Ð°Ð»Ñ–Ñ‡Ð½Ñ‹Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтраў"
+
+#: config/xtensa/xtensa.h:150
+#, fuzzy
+msgid "Use the Xtensa floating-point unit"
+msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+
+#: config/xtensa/xtensa.h:152
+msgid "Do not use the Xtensa floating-point unit"
+msgstr ""
+
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:172
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:176
+msgid "Do not serialize volatile memory references with MEMW instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
+msgstr ""
+
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
+msgstr ""
+
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
+msgstr ""
+
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
+msgstr ""
+
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
+msgstr ""
+
+#: config/xtensa/xtensa.h:188
+msgid "Use direct CALLn instructions for fast calls"
+msgstr ""
+
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
+msgstr ""
+
+#: cp/call.c:258 cp/init.c:1587
+msgid "qualified type `%T' does not match destructor name `~%T'"
+msgstr ""
+
+#: cp/call.c:267
+msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+msgstr ""
+
+#: cp/call.c:276
+msgid "`%D' is a namespace"
+msgstr ""
+
+#: cp/call.c:284
+msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+msgstr ""
+
+#: cp/call.c:366
+msgid "unable to call pointer to member function here"
+msgstr ""
+
+#: cp/call.c:515
+msgid "destructors take no parameters"
+msgstr ""
+
+#: cp/call.c:519
+msgid "destructor name `~%T' does not match type `%T' of expression"
+msgstr ""
+
+#: 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
+#, fuzzy
+msgid "request for member `%D' is ambiguous"
+msgstr "памер \"%s\" - %d байт"
+
+#: cp/call.c:2446
+msgid "%s %D(%T, %T, %T) <built-in>"
+msgstr ""
+
+#: cp/call.c:2451
+msgid "%s %D(%T, %T) <built-in>"
+msgstr ""
+
+#: cp/call.c:2455
+msgid "%s %D(%T) <built-in>"
+msgstr ""
+
+#: cp/call.c:2459
+msgid "%s %T <conversion>"
+msgstr ""
+
+#: cp/call.c:2461
+msgid "%s %+#D%s"
+msgstr ""
+
+#: cp/call.c:2615
+msgid "conversion from `%T' to `%T' is ambiguous"
+msgstr ""
+
+#: 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:2812
+msgid "no matching function for call to `%D(%A)'"
+msgstr ""
+
+#: 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:2850
+#, c-format
+msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+msgstr ""
+
+#: cp/call.c:2920
+msgid "no match for call to `(%T) (%A)'"
+msgstr ""
+
+#: cp/call.c:2930
+msgid "call of `(%T) (%A)' is ambiguous"
+msgstr ""
+
+#: cp/call.c:2965
+msgid "%s for `%T ? %T : %T' operator"
+msgstr ""
+
+#: cp/call.c:2970
+#, fuzzy
+msgid "%s for `%T %s' operator"
+msgstr "%s перад знакам \"%s\""
+
+#: cp/call.c:2973
+msgid "%s for `%T [%T]' operator"
+msgstr ""
+
+#: cp/call.c:2978
+#, fuzzy
+msgid "%s for `%T %s %T' operator"
+msgstr "%s перад знакам \"%s\""
+
+#: cp/call.c:2981
+#, fuzzy
+msgid "%s for `%s %T' operator"
+msgstr "%s перад знакам \"%s\""
+
+#: cp/call.c:3071
+msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+msgstr ""
+
+#: cp/call.c:3130
+#, c-format
+msgid "`%E' has type `void' and is not a throw-expression"
+msgstr ""
+
+#: cp/call.c:3163 cp/call.c:3363
+msgid "operands to ?: have different types"
+msgstr ""
+
+#: cp/call.c:3316
+msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
+msgstr ""
+
+#: cp/call.c:3323
+msgid "enumeral and non-enumeral type in conditional expression"
+msgstr ""
+
+#: cp/call.c:3405
+msgid "`%D' must be declared before use"
+msgstr ""
+
+#: cp/call.c:3604
+msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
+msgstr ""
+
+#: cp/call.c:3651
+msgid "using synthesized `%#D' for copy assignment"
+msgstr ""
+
+#: cp/call.c:3653
+msgid " where cfront would use `%#D'"
+msgstr ""
+
+#: cp/call.c:3680
+msgid "comparison between `%#T' and `%#T'"
+msgstr ""
+
+#: cp/call.c:3919
+msgid "no suitable `operator delete' for `%T'"
+msgstr ""
+
+#: cp/call.c:3938
+msgid "`%+#D' is private"
+msgstr ""
+
+#: cp/call.c:3940
+msgid "`%+#D' is protected"
+msgstr ""
+
+#: cp/call.c:3942
+msgid "`%+#D' is inaccessible"
+msgstr ""
+
+#: cp/call.c:3943
+msgid "within this context"
+msgstr ""
+
+#: cp/call.c:3985
+msgid "invalid conversion from `%T' to `%T'"
+msgstr ""
+
+#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128
+msgid " initializing argument %P of `%D'"
+msgstr ""
+
+#: cp/call.c:4050 cp/call.c:4054
+msgid " initializing argument %P of `%D' from result of `%D'"
+msgstr ""
+
+#: cp/call.c:4060 cp/call.c:4063
+msgid " initializing temporary from result of `%D'"
+msgstr ""
+
+#. 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 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:4422
+msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
+msgstr ""
+
+#: cp/call.c:4656
+msgid "could not find class$ field in java interface type `%T'"
+msgstr ""
+
+#: cp/call.c:4831
+#, fuzzy
+msgid "call to non-function `%D'"
+msgstr "у функцыі \"%s\":"
+
+#: cp/call.c:4937
+msgid "no matching function for call to `%T::%D(%A)%#V'"
+msgstr ""
+
+#: cp/call.c:4967
+msgid "cannot call member function `%D' without object"
+msgstr ""
+
+#: cp/call.c:5580
+msgid "passing `%T' chooses `%T' over `%T'"
+msgstr ""
+
+#: cp/call.c:5582 cp/decl2.c:4081
+msgid " in call to `%D'"
+msgstr ""
+
+#: cp/call.c:5631 cp/call.c:5756
+msgid "choosing `%D' over `%D'"
+msgstr ""
+
+#: cp/call.c:5632
+msgid " for conversion from `%T' to `%T'"
+msgstr ""
+
+#: cp/call.c:5634
+msgid " because conversion sequence for the argument is better"
+msgstr ""
+
+#: cp/call.c:5758
+msgid " because worst conversion for the former is better than worst conversion for the latter"
+msgstr ""
+
+#: cp/call.c:5874 cp/call.c:5895
+msgid "could not convert `%E' to `%T'"
+msgstr ""
+
+#: cp/class.c:286
+msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
+msgstr ""
+
+#: cp/class.c:943
+msgid "`%#D' and `%#D' cannot be overloaded"
+msgstr ""
+
+#: cp/class.c:1027
+#, fuzzy
+msgid "duplicate enum value `%D'"
+msgstr "паўтарÑнне \"volatile\""
+
+#: cp/class.c:1030
+msgid "duplicate field `%D' (as enum and non-enum)"
+msgstr ""
+
+#: cp/class.c:1037
+#, fuzzy
+msgid "duplicate nested type `%D'"
+msgstr "паўтарÑнне \"restrict\""
+
+#: cp/class.c:1048
+msgid "duplicate field `%D' (as type and non-type)"
+msgstr ""
+
+#: cp/class.c:1052
+#, fuzzy
+msgid "duplicate member `%D'"
+msgstr "паўтарÑнне \"%s\""
+
+#: cp/class.c:1095
+msgid "conflicting access specifications for method `%D', ignored"
+msgstr ""
+
+#: cp/class.c:1097
+#, c-format
+msgid "conflicting access specifications for field `%s', ignored"
+msgstr ""
+
+#: cp/class.c:1142
+msgid "`%D' names constructor"
+msgstr ""
+
+#: cp/class.c:1147
+#, fuzzy
+msgid "`%D' invalid in `%T'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: cp/class.c:1155
+msgid "no members matching `%D' in `%#T'"
+msgstr ""
+
+#: cp/class.c:1187 cp/class.c:1195
+#, fuzzy
+msgid "`%D' invalid in `%#T'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: cp/class.c:1188
+msgid " because of local method `%#D' with same name"
+msgstr ""
+
+#: cp/class.c:1196
+msgid " because of local member `%#D' with same name"
+msgstr ""
+
+#: cp/class.c:1268
+msgid "base class `%#T' has a non-virtual destructor"
+msgstr ""
+
+#: cp/class.c:1288
+msgid "base `%T' with only non-default constructor in class without a constructor"
+msgstr ""
+
+#: cp/class.c:1860
+msgid "all member functions in class `%T' are private"
+msgstr ""
+
+#: cp/class.c:1874
+msgid "`%#T' only defines a private destructor and has no friends"
+msgstr ""
+
+#: cp/class.c:1917
+msgid "`%#T' only defines private constructors and has no friends"
+msgstr ""
+
+#: cp/class.c:2038 cp/class.c:5172
+msgid "redefinition of `%#T'"
+msgstr ""
+
+#: cp/class.c:2039
+msgid "previous definition of `%#T'"
+msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'"
+
+#: 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:2652
+msgid "`%D' was hidden"
+msgstr ""
+
+#: cp/class.c:2653
+msgid " by `%D'"
+msgstr ""
+
+#: cp/class.c:2695
+msgid "ISO C++ forbids member `%D' with same name as enclosing class"
+msgstr ""
+
+#: 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:2706 cp/decl2.c:1333
+msgid "private member `%#D' in anonymous union"
+msgstr ""
+
+#: cp/class.c:2709 cp/decl2.c:1335
+msgid "protected member `%#D' in anonymous union"
+msgstr ""
+
+#: 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
+#, fuzzy
+msgid "bit-field `%#D' with non-integral type"
+msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+#: cp/class.c:2918
+msgid "bit-field `%D' width not an integer constant"
+msgstr ""
+
+#: cp/class.c:2924
+msgid "negative width in bit-field `%D'"
+msgstr ""
+
+#: cp/class.c:2929
+msgid "zero width for bit-field `%D'"
+msgstr ""
+
+#: cp/class.c:2935
+msgid "width of `%D' exceeds its type"
+msgstr ""
+
+#: cp/class.c:2944
+msgid "`%D' is too small to hold all values of `%#T'"
+msgstr ""
+
+#: cp/class.c:3028
+msgid "member `%#D' with constructor not allowed in union"
+msgstr ""
+
+#: cp/class.c:3031
+msgid "member `%#D' with destructor not allowed in union"
+msgstr ""
+
+#: cp/class.c:3034
+msgid "member `%#D' with copy assignment operator not allowed in union"
+msgstr ""
+
+#: cp/class.c:3061
+msgid "multiple fields in union `%T' initialized"
+msgstr ""
+
+#: cp/class.c:3183
+msgid "field `%D' in local class cannot be static"
+msgstr ""
+
+#: cp/class.c:3189
+msgid "field `%D' invalidly declared function type"
+msgstr ""
+
+#: cp/class.c:3196
+#, fuzzy
+msgid "field `%D' invalidly declared method type"
+msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+#: cp/class.c:3202
+#, fuzzy
+msgid "field `%D' invalidly declared offset type"
+msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+#. Unions cannot have static members.
+#: cp/class.c:3220
+#, fuzzy
+msgid "field `%D' declared static in union"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/class.c:3247
+msgid "non-static reference `%#D' in class without a constructor"
+msgstr ""
+
+#: cp/class.c:3282
+msgid "non-static const member `%#D' in class without a constructor"
+msgstr ""
+
+#: cp/class.c:3298
+msgid "field `%#D' with same name as class"
+msgstr ""
+
+#: cp/class.c:3316
+msgid "`%#T' has pointer data members"
+msgstr ""
+
+#: cp/class.c:3320
+msgid " but does not override `%T(const %T&)'"
+msgstr ""
+
+#: cp/class.c:3322
+msgid " or `operator=(const %T&)'"
+msgstr ""
+
+#: cp/class.c:3325
+msgid " but does not override `operator=(const %T&)'"
+msgstr ""
+
+#: 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:4709
+msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:4809
+msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
+msgstr ""
+
+#: 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:5405
+msgid "trying to finish struct, but kicked out due to previous parse errors"
+msgstr ""
+
+#: cp/class.c:5861
+#, c-format
+msgid "language string `\"%s\"' not recognized"
+msgstr ""
+
+#: cp/class.c:5957
+msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
+msgstr ""
+
+#: cp/class.c:6078
+msgid "no matches converting function `%D' to type `%#T'"
+msgstr ""
+
+#: cp/class.c:6101
+msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
+msgstr ""
+
+#: cp/class.c:6127
+msgid "assuming pointer to member `%D'"
+msgstr ""
+
+#: cp/class.c:6130
+#, c-format
+msgid "(a pointer to member can only be formed with `&%E')"
+msgstr ""
+
+#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352
+msgid "not enough type information"
+msgstr ""
+
+#: cp/class.c:6183
+msgid "argument of type `%T' does not match `%T'"
+msgstr ""
+
+#: cp/class.c:6329
+msgid "invalid operation on uninstantiated type"
+msgstr ""
+
+#. [basic.scope.class]
+#.
+#. 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:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845
+msgid "declaration of `%#D'"
+msgstr "абвÑшчÑньне `%#D'"
+
+#: cp/class.c:6613
+msgid "changes meaning of `%D' from `%+#D'"
+msgstr ""
+
+#: cp/cvt.c:88
+msgid "can't convert from incomplete type `%T' to `%T'"
+msgstr ""
+
+#: cp/cvt.c:97
+msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
+msgstr ""
+
+#: cp/cvt.c:126
+msgid "converting from `%T' to `%T'"
+msgstr "пераўтварÑньне з `%T' у `%T'"
+
+#: 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:223 cp/cvt.c:236 cp/cvt.c:283
+msgid "cannot convert `%E' from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/cvt.c:262
+#, fuzzy
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "пераўтварÑньне з `%T' у `%T'"
+
+#: cp/cvt.c:537
+msgid "conversion from `%T' to `%T' discards qualifiers"
+msgstr ""
+
+#: cp/cvt.c:555
+msgid "casting `%T' to `%T' does not dereference pointer"
+msgstr ""
+
+#: cp/cvt.c:584
+msgid "cannot convert type `%T' to type `%T'"
+msgstr ""
+
+#: cp/cvt.c:701
+msgid "conversion from `%#T' to `%#T'"
+msgstr ""
+
+#: cp/cvt.c:713
+msgid "`%#T' used where a `%T' was expected"
+msgstr ""
+
+#: cp/cvt.c:730
+msgid "the address of `%D', will always be `true'"
+msgstr ""
+
+#: cp/cvt.c:750
+msgid "`%#T' used where a floating point value was expected"
+msgstr ""
+
+#: cp/cvt.c:797
+msgid "conversion from `%T' to non-scalar type `%T' requested"
+msgstr ""
+
+#: cp/cvt.c:883
+msgid "object of incomplete type `%T' will not be accessed in %s"
+msgstr ""
+
+#: cp/cvt.c:886
+msgid "object of type `%T' will not be accessed in %s"
+msgstr ""
+
+#: 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:922
+#, c-format
+msgid "%s cannot resolve address of overloaded function"
+msgstr ""
+
+#. Only warn when there is no &.
+#: cp/cvt.c:927
+#, c-format
+msgid "%s is a reference, not call, to function `%E'"
+msgstr ""
+
+#: cp/cvt.c:1065
+msgid "converting NULL to non-pointer type"
+msgstr ""
+
+#: cp/cvt.c:1141
+msgid "ambiguous default type conversion from `%T'"
+msgstr ""
+
+#: cp/cvt.c:1143
+msgid " candidate conversions include `%D' and `%D'"
+msgstr ""
+
+#: cp/decl.c:1007 cp/decl.c:3205
+msgid "conflicts with previous declaration `%#D'"
+msgstr "канфлікт з папÑÑ€Ñднім абвÑшчÑньнем `%#D'"
+
+#: cp/decl.c:1211
+msgid "label `%D' used but not defined"
+msgstr "адмеціна `%D' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+#: cp/decl.c:1216
+msgid "label `%D' defined but not used"
+msgstr "адмеціна `%D' вызначана, але не выкарыÑтоўваецца"
+
+#: cp/decl.c:2249
+msgid "namespace alias `%D' not allowed here, assuming `%D'"
+msgstr ""
+
+#: cp/decl.c:3008 cp/decl.c:3413
+msgid "previous declaration of `%D'"
+msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%D'"
+
+#: cp/decl.c:3089 cp/decl.c:3127
+#, fuzzy
+msgid "shadowing %s function `%#D'"
+msgstr "у функцыі \"%s\":"
+
+#: cp/decl.c:3098
+msgid "library function `%#D' redeclared as non-function `%#D'"
+msgstr ""
+
+#: cp/decl.c:3103
+#, fuzzy
+msgid "conflicts with built-in declaration `%#D'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235
+msgid "new declaration `%#D'"
+msgstr "новае абвÑшчÑньне `%#D'"
+
+#: cp/decl.c:3123
+#, fuzzy
+msgid "ambiguates built-in declaration `%#D'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/decl.c:3179
+msgid "`%#D' redeclared as different kind of symbol"
+msgstr ""
+
+#: cp/decl.c:3182
+msgid "previous declaration of `%#D'"
+msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%#D'"
+
+#: cp/decl.c:3204
+msgid "declaration of template `%#D'"
+msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+#: cp/decl.c:3220 cp/decl.c:3236
+#, fuzzy
+msgid "ambiguates old declaration `%#D'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/decl.c:3228
+msgid "declaration of C function `%#D' conflicts with"
+msgstr ""
+
+#: cp/decl.c:3230
+#, fuzzy
+msgid "previous declaration `%#D' here"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:3246
+msgid "conflicting types for `%#D'"
+msgstr ""
+
+#: cp/decl.c:3247
+#, fuzzy
+msgid "previous declaration as `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:3290
+msgid "`%#D' previously defined here"
+msgstr ""
+
+#: cp/decl.c:3291
+msgid "`%#D' previously declared here"
+msgstr ""
+
+#. Prototype decl follows defn w/o prototype.
+#: cp/decl.c:3300
+#, fuzzy
+msgid "prototype for `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга прататыпа Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:3301
+msgid "follows non-prototype definition here"
+msgstr ""
+
+#: cp/decl.c:3313
+#, fuzzy
+msgid "previous declaration of `%#D' with %L linkage"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:3315
+msgid "conflicts with new declaration with %L linkage"
+msgstr ""
+
+#: cp/decl.c:3338 cp/decl.c:3345
+msgid "default argument given for parameter %d of `%#D'"
+msgstr ""
+
+#: cp/decl.c:3340 cp/decl.c:3347
+#, fuzzy
+msgid "after previous specification in `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:3356
+msgid "`%#D' was used before it was declared inline"
+msgstr ""
+
+#: cp/decl.c:3358
+#, fuzzy
+msgid "previous non-inline declaration here"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:3412
+msgid "redundant redeclaration of `%D' in same scope"
+msgstr ""
+
+#: cp/decl.c:3493
+#, c-format
+msgid "declaration of `%F' throws different exceptions"
+msgstr ""
+
+#: cp/decl.c:3495
+#, fuzzy, c-format
+msgid "than previous declaration `%F'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#. From [temp.expl.spec]:
+#.
+#. If a template, a member template or the member of a class
+#. template is explicitly specialized then that
+#. specialization shall be declared before the first use of
+#. that specialization that would cause an implicit
+#. instantiation to take place, in every translation unit in
+#. which such a use occurs.
+#: cp/decl.c:3632
+msgid "explicit specialization of %D after first use"
+msgstr ""
+
+#: cp/decl.c:3886
+#, fuzzy
+msgid "`%#D' used prior to declaration"
+msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+#: cp/decl.c:3917
+#, fuzzy
+msgid "redeclaration of `wchar_t' as `%T'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#. A redeclaration of main, but not a duplicate of the
+#. previous one.
+#.
+#. [basic.start.main]
+#.
+#. This function shall not be overloaded.
+#: cp/decl.c:3945
+#, fuzzy
+msgid "invalid redeclaration of `%D'"
+msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+#: cp/decl.c:3946
+msgid "as `%D'"
+msgstr "Ñк `%D'"
+
+#: cp/decl.c:4036
+#, fuzzy
+msgid "previous external decl of `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:4077
+msgid "`%D' was previously implicitly declared to return `int'"
+msgstr ""
+
+#: cp/decl.c:4137
+msgid "extern declaration of `%#D' doesn't match"
+msgstr ""
+
+#: cp/decl.c:4138
+#, fuzzy
+msgid "global declaration `%#D'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/decl.c:4169
+msgid "declaration of `%#D' shadows a parameter"
+msgstr ""
+
+#: cp/decl.c:4189
+#, c-format
+msgid "declaration of `%s' shadows a member of `this'"
+msgstr ""
+
+#: cp/decl.c:4541
+#, fuzzy
+msgid "`%#D' hides constructor for `%#T'"
+msgstr "дÑÑтруктару неабходны \"%#D\""
+
+#: cp/decl.c:4556
+#, fuzzy
+msgid "`%#D' conflicts with previous using declaration `%#D'"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: cp/decl.c:4568
+#, fuzzy
+msgid "previous non-function declaration `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:4569
+#, fuzzy
+msgid "conflicts with function declaration `%#D'"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: cp/decl.c:4659
+#, fuzzy
+msgid "implicit declaration of function `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:4817
+#, c-format
+msgid "label `%s' referenced outside of any function"
+msgstr ""
+
+#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037
+msgid "jump to label `%D'"
+msgstr ""
+
+#: cp/decl.c:4922 cp/decl.c:4946
+msgid "jump to case label"
+msgstr ""
+
+#: cp/decl.c:4930
+msgid " crosses initialization of `%#D'"
+msgstr ""
+
+#: cp/decl.c:4933 cp/decl.c:5053
+msgid " enters scope of non-POD `%#D'"
+msgstr ""
+
+#: cp/decl.c:4953 cp/decl.c:5057
+msgid " enters try block"
+msgstr ""
+
+#. Can't skip init of __exception_info.
+#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059
+msgid " enters catch block"
+msgstr ""
+
+#: cp/decl.c:5038
+msgid " from here"
+msgstr " адÑюль"
+
+#: cp/decl.c:5051
+#, fuzzy
+msgid " skips initialization of `%#D'"
+msgstr "ініцыÑлізацыÑ"
+
+#: cp/decl.c:5086
+msgid "label named wchar_t"
+msgstr ""
+
+#: cp/decl.c:5090
+#, fuzzy
+msgid "duplicate label `%D'"
+msgstr "паўтарÑнне \"%s\""
+
+#: 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: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:5461 cp/typeck.c:2062 cp/typeck.c:2217
+msgid "invalid use of `%D'"
+msgstr "нерÑчаіÑнае выкарыÑтаньне `%D'"
+
+#: cp/decl.c:5502
+msgid "`%D::%D' is not a template"
+msgstr ""
+
+#: cp/decl.c:5519
+msgid "`%D' undeclared in namespace `%D'"
+msgstr ""
+
+#: cp/decl.c:5652
+msgid "`%D' used without template parameters"
+msgstr ""
+
+#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783
+msgid "no class template named `%#T' in `%#T'"
+msgstr ""
+
+#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744
+msgid "no type named `%#T' in `%#T'"
+msgstr ""
+
+#: cp/decl.c:5968
+msgid "lookup of `%D' finds `%#D'"
+msgstr ""
+
+#: cp/decl.c:5970
+msgid " instead of `%D' from dependent base class"
+msgstr ""
+
+#: cp/decl.c:5972
+msgid " (use `typename %T::%D' if that's what you meant)"
+msgstr ""
+
+#: 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:7025
+msgid "an anonymous union cannot have function members"
+msgstr ""
+
+#: cp/decl.c:7042
+msgid "member %#D' with constructor not allowed in anonymous aggregate"
+msgstr ""
+
+#: cp/decl.c:7045
+msgid "member %#D' with destructor not allowed in anonymous aggregate"
+msgstr ""
+
+#: cp/decl.c:7048
+msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
+msgstr ""
+
+#: cp/decl.c:7086
+msgid "redeclaration of C++ built-in type `%T'"
+msgstr ""
+
+#: cp/decl.c:7122
+msgid "multiple types in one declaration"
+msgstr ""
+
+#: cp/decl.c:7149
+msgid "missing type-name in typedef-declaration"
+msgstr ""
+
+#: cp/decl.c:7156
+msgid "ISO C++ prohibits anonymous structs"
+msgstr ""
+
+#: cp/decl.c:7163
+msgid "`%D' can only be specified for functions"
+msgstr ""
+
+#: cp/decl.c:7165
+msgid "`%D' can only be specified inside a class"
+msgstr ""
+
+#: cp/decl.c:7167
+msgid "`%D' can only be specified for constructors"
+msgstr ""
+
+#: cp/decl.c:7170
+msgid "`%D' can only be specified for objects and functions"
+msgstr ""
+
+#: cp/decl.c:7312 cp/decl2.c:927
+#, fuzzy
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/decl.c:7317
+msgid "function `%#D' is initialized like a variable"
+msgstr ""
+
+#: cp/decl.c:7329
+msgid "declaration of `%#D' has `extern' and is initialized"
+msgstr ""
+
+#: cp/decl.c:7363
+msgid "`%#D' is not a static member of `%#T'"
+msgstr ""
+
+#: cp/decl.c:7368
+msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
+msgstr ""
+
+#: cp/decl.c:7379
+msgid "duplicate initialization of %D"
+msgstr ""
+
+#: cp/decl.c:7408
+msgid "declaration of `%#D' outside of class is not definition"
+msgstr ""
+
+#: cp/decl.c:7456
+#, fuzzy
+msgid "variable `%#D' has initializer but incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/decl.c:7464 cp/decl.c:8006
+#, fuzzy
+msgid "elements of array `%#D' have incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/decl.c:7480
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
+msgstr ""
+
+#: cp/decl.c:7519
+msgid "`%D' declared as reference but not initialized"
+msgstr ""
+
+#: cp/decl.c:7528
+msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
+msgstr ""
+
+#: cp/decl.c:7561
+#, fuzzy
+msgid "cannot initialize `%T' from `%T'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl.c:7595
+msgid "initializer fails to determine size of `%D'"
+msgstr ""
+
+#: cp/decl.c:7600
+msgid "array size missing in `%D'"
+msgstr "прапушчан памер маÑіва Ñž `%D'"
+
+#: cp/decl.c:7612
+msgid "zero-size array `%D'"
+msgstr "нулÑвы памер маÑіва `%D'"
+
+#. 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:7650
+msgid "storage size of `%D' isn't known"
+msgstr ""
+
+#: cp/decl.c:7672
+msgid "storage size of `%D' isn't constant"
+msgstr ""
+
+#: 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:7724
+msgid " you can work around this by removing the initializer"
+msgstr ""
+
+#: cp/decl.c:7752
+#, fuzzy
+msgid "uninitialized const `%D'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl.c:7836
+#, fuzzy
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl.c:7900
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr ""
+
+#: cp/decl.c:7964
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl.c:8000
+msgid "variable-sized object `%D' may not be initialized"
+msgstr ""
+
+#: cp/decl.c:8011
+#, fuzzy
+msgid "`%D' has incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/decl.c:8060
+msgid "`%D' must be initialized by constructor, not by `{...}'"
+msgstr ""
+
+#: cp/decl.c:8101
+msgid "structure `%D' with uninitialized const members"
+msgstr ""
+
+#: cp/decl.c:8103
+msgid "structure `%D' with uninitialized reference members"
+msgstr ""
+
+#: cp/decl.c:8346
+msgid "assignment (not initialization) in declaration"
+msgstr ""
+
+#: cp/decl.c:8358
+#, fuzzy
+msgid "cannot initialize `%D' to namespace `%D'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl.c:8409
+#, fuzzy
+msgid "shadowing previous type declaration of `%#D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: 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:8956
+msgid "invalid catch parameter"
+msgstr ""
+
+#: cp/decl.c:9074
+msgid "destructor for alien class `%T' cannot be a member"
+msgstr ""
+
+#: cp/decl.c:9077
+msgid "constructor for alien class `%T' cannot be a member"
+msgstr ""
+
+#: cp/decl.c:9096
+msgid "`%D' declared as a `virtual' %s"
+msgstr ""
+
+#: cp/decl.c:9098
+msgid "`%D' declared as an `inline' %s"
+msgstr ""
+
+#: cp/decl.c:9100
+msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
+msgstr ""
+
+#: cp/decl.c:9103
+msgid "`%D' declared as a friend"
+msgstr ""
+
+#: cp/decl.c:9109
+#, fuzzy
+msgid "`%D' declared with an exception specification"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/decl.c:9184
+msgid "cannot declare `::main' to be a template"
+msgstr ""
+
+#: cp/decl.c:9186
+msgid "cannot declare `::main' to be inline"
+msgstr ""
+
+#: cp/decl.c:9188
+msgid "cannot declare `::main' to be static"
+msgstr ""
+
+#: cp/decl.c:9191
+msgid "`main' must return `int'"
+msgstr "`main' павінна вÑртаць `int'"
+
+#: cp/decl.c:9219
+msgid "non-local function `%#D' uses anonymous type"
+msgstr ""
+
+#: cp/decl.c:9222
+msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
+msgstr ""
+
+#: cp/decl.c:9228
+msgid "non-local function `%#D' uses local type `%T'"
+msgstr ""
+
+#: cp/decl.c:9251
+msgid "%smember function `%D' cannot have `%T' method qualifier"
+msgstr ""
+
+#: 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:9285
+msgid "invalid use of template-id `%D' in declaration of primary template"
+msgstr ""
+
+#: cp/decl.c:9313
+msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
+msgstr ""
+
+#: cp/decl.c:9320
+msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
+msgstr ""
+
+#: cp/decl.c:9382
+msgid "definition of implicitly-declared `%D'"
+msgstr ""
+
+#: cp/decl.c:9394 cp/decl2.c:776
+msgid "no `%#D' member function declared in class `%T'"
+msgstr ""
+
+#: cp/decl.c:9527
+msgid "non-local variable `%#D' uses local type `%T'"
+msgstr ""
+
+#: cp/decl.c:9625
+msgid "invalid in-class initialization of static data member of non-integral type `%T'"
+msgstr ""
+
+#: cp/decl.c:9634
+msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
+msgstr ""
+
+#: cp/decl.c:9637
+msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
+msgstr ""
+
+#: cp/decl.c:9687
+msgid "size of array `%D' has non-integer type"
+msgstr "памер маÑіва `%D' не цÑлалікавы тып"
+
+#: cp/decl.c:9689
+#, fuzzy
+msgid "size of array has non-integer type"
+msgstr "памер маÑіва \"%s\" адмоўны"
+
+#: cp/decl.c:9709
+msgid "size of array `%D' is negative"
+msgstr "памер маÑіва `%D' - адмоўны"
+
+#: cp/decl.c:9711
+msgid "size of array is negative"
+msgstr "адмоўны памер маÑіва "
+
+#: cp/decl.c:9720
+msgid "ISO C++ forbids zero-size array `%D'"
+msgstr ""
+
+#: cp/decl.c:9722
+#, fuzzy
+msgid "ISO C++ forbids zero-size array"
+msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+#: cp/decl.c:9729
+#, fuzzy
+msgid "size of array `%D' is not an integral constant-expression"
+msgstr "памер маÑіва \"%s\" адмоўны"
+
+#: cp/decl.c:9732
+msgid "size of array is not an integral constant-expression"
+msgstr ""
+
+#: cp/decl.c:9750
+msgid "ISO C++ forbids variable-size array `%D'"
+msgstr ""
+
+#: cp/decl.c:9753
+#, fuzzy
+msgid "ISO C++ forbids variable-size array"
+msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+#: cp/decl.c:9764
+msgid "overflow in array dimension"
+msgstr ""
+
+#: cp/decl.c:9823
+msgid "declaration of `%D' as %s"
+msgstr ""
+
+#: cp/decl.c:9825
+#, c-format
+msgid "creating %s"
+msgstr ""
+
+#: cp/decl.c:9837
+msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
+msgstr ""
+
+#: cp/decl.c:9840
+msgid "multidimensional array must have bounds for all dimensions except the first"
+msgstr ""
+
+#: cp/decl.c:9869
+msgid "return type specification for constructor invalid"
+msgstr ""
+
+#: cp/decl.c:9876
+msgid "return type specification for destructor invalid"
+msgstr ""
+
+#: cp/decl.c:9882
+msgid "operator `%T' declared to return `%T'"
+msgstr ""
+
+#: cp/decl.c:9884
+msgid "return type specified for `operator %T'"
+msgstr ""
+
+#: cp/decl.c:10052
+msgid "destructors must be member functions"
+msgstr ""
+
+#: cp/decl.c:10071
+msgid "destructor `%T' must match class name `%T'"
+msgstr ""
+
+#: cp/decl.c:10100
+msgid "variable declaration is not allowed here"
+msgstr ""
+
+#: cp/decl.c:10127
+msgid "invalid declarator"
+msgstr "нерÑчаіÑны абвÑшчальнік"
+
+#: cp/decl.c:10178
+msgid "declarator-id missing; using reserved word `%D'"
+msgstr ""
+
+#: 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:10279
+msgid "`%T' specified as declarator-id"
+msgstr ""
+
+#: cp/decl.c:10281
+msgid " perhaps you want `%T' for a constructor"
+msgstr ""
+
+#. 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
+#, fuzzy, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: cp/decl.c:10323
+msgid "declaration of `%D' as non-function"
+msgstr ""
+
+#: cp/decl.c:10400
+msgid "`bool' is now a keyword"
+msgstr ""
+
+#: cp/decl.c:10402
+msgid "extraneous `%T' ignored"
+msgstr ""
+
+#: cp/decl.c:10418 cp/decl.c:10463
+msgid "multiple declarations `%T' and `%T'"
+msgstr "неаднолькавае абвÑшчÑньне `%T' Ñ– `%T'"
+
+#: cp/decl.c:10431
+msgid "ISO C++ does not support `long long'"
+msgstr "ISO C++ не падтрымлівае \"long long\""
+
+#: cp/decl.c:10536 cp/decl.c:10539
+#, fuzzy, c-format
+msgid "ISO C++ forbids declaration of `%s' with no type"
+msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+#. The implicit typename extension is deprecated and will be
+#. removed. Warn about its use now.
+#: cp/decl.c:10549
+msgid "`%T' is implicitly a typename"
+msgstr ""
+
+#: cp/decl.c:10585
+#, c-format
+msgid "short, signed or unsigned invalid for `%s'"
+msgstr ""
+
+#: cp/decl.c:10590
+#, c-format
+msgid "long and short specified together for `%s'"
+msgstr ""
+
+#: cp/decl.c:10601
+#, c-format
+msgid "signed and unsigned given together for `%s'"
+msgstr ""
+
+#: cp/decl.c:10710
+msgid "qualifiers are not allowed on declaration of `operator %T'"
+msgstr ""
+
+#: cp/decl.c:10732
+msgid "member `%D' cannot be declared both virtual and static"
+msgstr ""
+
+#: cp/decl.c:10741
+#, fuzzy
+msgid "`%T::%D' is not a valid declarator"
+msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+#: cp/decl.c:10753
+msgid "storage class specifiers invalid in parameter declarations"
+msgstr ""
+
+#: cp/decl.c:10757
+msgid "typedef declaration invalid in parameter declaration"
+msgstr ""
+
+#: cp/decl.c:10770
+msgid "virtual outside class declaration"
+msgstr ""
+
+#: cp/decl.c:10831
+#, c-format
+msgid "storage class specified for %s `%s'"
+msgstr ""
+
+#: cp/decl.c:10878
+msgid "storage class specifiers invalid in friend function declarations"
+msgstr ""
+
+#: cp/decl.c:11048
+msgid "destructor cannot be static member function"
+msgstr ""
+
+#: cp/decl.c:11051
+#, c-format
+msgid "destructors may not be `%s'"
+msgstr ""
+
+#: cp/decl.c:11072
+msgid "constructor cannot be static member function"
+msgstr ""
+
+#: cp/decl.c:11075
+msgid "constructors cannot be declared virtual"
+msgstr ""
+
+#: cp/decl.c:11080
+#, c-format
+msgid "constructors may not be `%s'"
+msgstr ""
+
+#: cp/decl.c:11090
+msgid "return value type specifier for constructor ignored"
+msgstr ""
+
+#: cp/decl.c:11109
+#, c-format
+msgid "can't initialize friend function `%s'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#. Cannot be both friend and virtual.
+#: cp/decl.c:11113
+msgid "virtual functions cannot be friends"
+msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+#: cp/decl.c:11118
+msgid "friend declaration not in class definition"
+msgstr ""
+
+#: cp/decl.c:11120
+#, fuzzy, c-format
+msgid "can't define friend function `%s' in a local class definition"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl.c:11144
+msgid "destructors may not have parameters"
+msgstr ""
+
+#: cp/decl.c:11175 cp/decl.c:11182
+#, fuzzy
+msgid "cannot declare reference to `%#T'"
+msgstr "Ðе магу знайÑці файл Ð´Ð»Ñ ÐºÐ»Ð°Ñа %s."
+
+#: cp/decl.c:11176
+#, fuzzy
+msgid "cannot declare pointer to `%#T'"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/decl.c:11181
+msgid "cannot declare pointer to `%#T' member"
+msgstr ""
+
+#: cp/decl.c:11357
+msgid "extra qualification `%T::' on member `%s' ignored"
+msgstr ""
+
+#: cp/decl.c:11367
+msgid "cannot declare member function `%T::%s' within `%T'"
+msgstr ""
+
+#: 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:11468
+msgid "only declarations of constructors can be `explicit'"
+msgstr ""
+
+#: cp/decl.c:11476
+#, c-format
+msgid "non-member `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11481
+#, c-format
+msgid "non-object member `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11487
+#, c-format
+msgid "function `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11492
+#, c-format
+msgid "static `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11497
+#, c-format
+msgid "const `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11510
+msgid "template-id `%D' used as a declarator"
+msgstr ""
+
+#: cp/decl.c:11531
+msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
+msgstr ""
+
+#: cp/decl.c:11580
+msgid "typedef name may not be class-qualified"
+msgstr ""
+
+#: cp/decl.c:11588
+msgid "invalid type qualifier for non-member function type"
+msgstr ""
+
+#: cp/decl.c:11651
+msgid "type qualifiers specified for friend class declaration"
+msgstr ""
+
+#: cp/decl.c:11656
+msgid "`inline' specified for friend class declaration"
+msgstr ""
+
+#: cp/decl.c:11664
+#, fuzzy
+msgid "template parameters cannot be friends"
+msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+#: cp/decl.c:11666
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
+msgstr ""
+
+#: cp/decl.c:11670
+msgid "friend declaration requires class-key, i.e. `friend %#T'"
+msgstr ""
+
+#: cp/decl.c:11684
+msgid "trying to make class `%T' a friend of global scope"
+msgstr ""
+
+#: cp/decl.c:11695
+msgid "invalid qualifiers on non-member function type"
+msgstr ""
+
+#: cp/decl.c:11714
+msgid "abstract declarator `%T' used as declaration"
+msgstr ""
+
+#: cp/decl.c:11726
+msgid "unnamed variable or field declared void"
+msgstr ""
+
+#: cp/decl.c:11735
+msgid "variable or field declared void"
+msgstr ""
+
+#: cp/decl.c:11745
+msgid "cannot use `::' in parameter declaration"
+msgstr ""
+
+#. Something like struct S { int N::j; };
+#: cp/decl.c:11784
+msgid "invalid use of `::'"
+msgstr "нерÑчаіÑнае выкарыÑтаньне `::'"
+
+#: cp/decl.c:11796
+#, fuzzy
+msgid "function `%D' cannot be declared friend"
+msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+#: cp/decl.c:11808
+msgid "can't make `%D' into a method -- not in a class"
+msgstr ""
+
+#: cp/decl.c:11817
+#, fuzzy
+msgid "function `%D' declared virtual inside a union"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/decl.c:11829
+msgid "`%D' cannot be declared virtual, since it is always static"
+msgstr ""
+
+#: cp/decl.c:11902
+#, fuzzy
+msgid "field `%D' has incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/decl.c:11904
+#, fuzzy
+msgid "name `%T' has incomplete type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/decl.c:11913
+msgid " in instantiation of template `%T'"
+msgstr ""
+
+#: cp/decl.c:11923
+#, c-format
+msgid "`%s' is neither function nor member function; cannot be declared friend"
+msgstr ""
+
+#: cp/decl.c:11934
+msgid "member functions are implicitly friends of their class"
+msgstr ""
+
+#. An attempt is being made to initialize a non-static
+#. member. But, from [class.mem]:
+#.
+#. 4 A member-declarator can contain a
+#. constant-initializer only if it declares a static
+#. member (_class.static_) of integral or enumeration
+#. type, see _class.static.data_.
+#.
+#. This used to be relatively common practice, but
+#. 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:11981
+msgid "ISO C++ forbids initialization of member `%D'"
+msgstr ""
+
+#: cp/decl.c:11983
+msgid "making `%D' static"
+msgstr ""
+
+#: cp/decl.c:12007
+msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+msgstr ""
+
+#: cp/decl.c:12048
+#, c-format
+msgid "storage class `auto' invalid for function `%s'"
+msgstr ""
+
+#: cp/decl.c:12050
+#, c-format
+msgid "storage class `register' invalid for function `%s'"
+msgstr ""
+
+#: 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:12065
+#, c-format
+msgid "storage class `inline' invalid for function `%s' declared out of global scope"
+msgstr ""
+
+#: cp/decl.c:12072
+#, c-format
+msgid "virtual non-class function `%s'"
+msgstr ""
+
+#: cp/decl.c:12101
+msgid "cannot declare member function `%D' to have static linkage"
+msgstr ""
+
+#. FIXME need arm citation
+#: cp/decl.c:12107
+msgid "cannot declare static function inside another function"
+msgstr ""
+
+#: cp/decl.c:12135
+msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
+msgstr ""
+
+#: cp/decl.c:12141
+msgid "static member `%D' declared `register'"
+msgstr ""
+
+#: cp/decl.c:12146
+msgid "cannot explicitly declare member `%#D' to have extern linkage"
+msgstr ""
+
+#: cp/decl.c:12318
+msgid "default argument for `%#D' has type `%T'"
+msgstr "звычайны аргумÑнт Ð´Ð»Ñ `%#D' мае тып `%T'"
+
+#: cp/decl.c:12321
+msgid "default argument for parameter of type `%T' has type `%T'"
+msgstr ""
+
+#: cp/decl.c:12338
+msgid "default argument `%E' uses local variable `%D'"
+msgstr ""
+
+#: cp/decl.c:12383
+#, c-format
+msgid "invalid string constant `%E'"
+msgstr "`%E' - нерÑчаіÑÐ½Ð°Ñ Ð½ÑÐ·ÑŒÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ñ‹Ð¿Ñƒ string"
+
+#: cp/decl.c:12385
+msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
+msgstr ""
+
+#: cp/decl.c:12423
+#, fuzzy
+msgid "parameter `%D' invalidly declared method type"
+msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+#: cp/decl.c:12429
+#, fuzzy
+msgid "parameter `%D' invalidly declared offset type"
+msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+#: cp/decl.c:12453
+msgid "parameter `%D' includes %s to array of unknown bound `%T'"
+msgstr ""
+
+#. [class.copy]
+#.
+#. A declaration of a constructor for a class X is ill-formed if
+#. its first parameter is of type (optionally cv-qualified) X
+#. and either there are no other parameters or else all other
+#. parameters have default arguments.
+#.
+#. We *don't* complain about member template instantiations that
+#. have this form, though; they can occur as we try to decide
+#. what constructor to use during overload resolution. Since
+#. overload resolution will never prefer such a constructor to
+#. the non-template copy constructor (which is either explicitly
+#. 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:12615
+msgid "invalid constructor; you probably meant `%T (const %T&)'"
+msgstr ""
+
+#: cp/decl.c:12766
+msgid "`%D' must be a nonstatic member function"
+msgstr ""
+
+#: cp/decl.c:12772
+msgid "`%D' must be either a non-static member function or a non-member function"
+msgstr ""
+
+#: cp/decl.c:12789
+msgid "`%D' must have an argument of class or enumerated type"
+msgstr ""
+
+#: 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:12828
+msgid "ISO C++ prohibits overloading operator ?:"
+msgstr ""
+
+#: cp/decl.c:12878
+msgid "postfix `%D' must take `int' as its argument"
+msgstr ""
+
+#: cp/decl.c:12882
+msgid "postfix `%D' must take `int' as its second argument"
+msgstr ""
+
+#: cp/decl.c:12889
+msgid "`%D' must take either zero or one argument"
+msgstr ""
+
+#: cp/decl.c:12891
+msgid "`%D' must take either one or two arguments"
+msgstr ""
+
+#: cp/decl.c:12912
+msgid "prefix `%D' should return `%T'"
+msgstr ""
+
+#: cp/decl.c:12918
+msgid "postfix `%D' should return `%T'"
+msgstr ""
+
+#: cp/decl.c:12927
+msgid "`%D' must take `void'"
+msgstr ""
+
+#: cp/decl.c:12929 cp/decl.c:12937
+msgid "`%D' must take exactly one argument"
+msgstr ""
+
+#: cp/decl.c:12939
+msgid "`%D' must take exactly two arguments"
+msgstr ""
+
+#: cp/decl.c:12947
+msgid "user-defined `%D' always evaluates both arguments"
+msgstr ""
+
+#: cp/decl.c:12961
+msgid "`%D' should return by value"
+msgstr ""
+
+#: cp/decl.c:12973 cp/decl.c:12976
+msgid "`%D' cannot have default arguments"
+msgstr ""
+
+#: cp/decl.c:13052
+msgid "`%s %T' declares a new type at namespace scope"
+msgstr ""
+
+#: 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:13093
+msgid "using typedef-name `%D' after `%s'"
+msgstr ""
+
+#: cp/decl.c:13098
+msgid "using template type parameter `%T' after `%s'"
+msgstr ""
+
+#: cp/decl.c:13178
+#, fuzzy
+msgid "use of enum `%#D' without previous declaration"
+msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+#: cp/decl.c:13264
+msgid "derived union `%T' invalid"
+msgstr ""
+
+#: cp/decl.c:13310
+msgid "base type `%T' fails to be a struct or class type"
+msgstr ""
+
+#: cp/decl.c:13320
+msgid "base class `%T' has incomplete type"
+msgstr ""
+
+#: cp/decl.c:13328
+msgid "recursive type `%T' undefined"
+msgstr ""
+
+#: cp/decl.c:13330
+msgid "duplicate base type `%T' invalid"
+msgstr ""
+
+#: cp/decl.c:13441
+msgid "multiple definition of `%#T'"
+msgstr ""
+
+#: cp/decl.c:13442
+msgid "previous definition here"
+msgstr "папÑÑ€ÑднÑе вызначÑньне"
+
+#: cp/decl.c:13610
+msgid "enumerator value for `%D' not integer constant"
+msgstr ""
+
+#: cp/decl.c:13630
+msgid "overflow in enumeration values at `%D'"
+msgstr ""
+
+#: cp/decl.c:13716
+#, fuzzy
+msgid "return type `%#T' is incomplete"
+msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+#: cp/decl.c:13830
+#, fuzzy
+msgid "semicolon missing after declaration of `%#T'"
+msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+#: cp/decl.c:13851
+msgid "return type for `main' changed to `int'"
+msgstr ""
+
+#: cp/decl.c:13882
+#, fuzzy
+msgid "`%D' implicitly declared before its definition"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/decl.c:13904 cp/typeck.c:6229
+msgid "`operator=' should return a reference to `*this'"
+msgstr ""
+
+#: cp/decl.c:14164
+#, fuzzy
+msgid "parameter `%D' declared void"
+msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+#: cp/decl.c:14628
+msgid "`%D' is already defined in class `%T'"
+msgstr ""
+
+#: cp/decl.c:14845
+msgid "static member function `%#D' declared with type qualifiers"
+msgstr ""
+
+#: cp/decl2.c:154
+#, fuzzy, c-format
+msgid "duplicate type qualifiers in %s declaration"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/decl2.c:193
+msgid "template `%#D' instantiated in file without #pragma interface"
+msgstr ""
+
+#: cp/decl2.c:199
+msgid "template `%#D' defined in file without #pragma interface"
+msgstr ""
+
+#: 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:429
+msgid "parser may be lost: is there a '{' missing somewhere?"
+msgstr ""
+
+#: cp/decl2.c:460 cp/decl2.c:474
+msgid "ambiguous conversion for array subscript"
+msgstr ""
+
+#: cp/decl2.c:468
+msgid "invalid types `%T[%T]' for array subscript"
+msgstr ""
+
+#: cp/decl2.c:516
+msgid "type `%#T' argument given to `delete', expected pointer"
+msgstr ""
+
+#: cp/decl2.c:524
+msgid "anachronistic use of array size in vector delete"
+msgstr ""
+
+#: cp/decl2.c:534
+msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
+msgstr ""
+
+#: cp/decl2.c:541
+#, fuzzy
+msgid "deleting `%T' is undefined"
+msgstr "метка \"%s\" ужываецца, але не вызначана"
+
+#: 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:583
+msgid "invalid declaration of member template `%#D' in local class"
+msgstr ""
+
+#: cp/decl2.c:592
+msgid "invalid use of `virtual' in template declaration of `%#D'"
+msgstr ""
+
+#: cp/decl2.c:602 cp/pt.c:2586
+#, fuzzy
+msgid "template declaration of `%#D'"
+msgstr "пуÑтое абвÑшчÑнне"
+
+#: cp/decl2.c:652
+msgid "Java method '%D' has non-Java return type `%T'"
+msgstr ""
+
+#: cp/decl2.c:661
+msgid "Java method '%D' has non-Java parameter type `%T'"
+msgstr ""
+
+#: cp/decl2.c:737
+msgid "prototype for `%#D' does not match any in class `%T'"
+msgstr ""
+
+#: cp/decl2.c:819
+msgid "local class `%#T' shall not have static data member `%#D'"
+msgstr ""
+
+#: cp/decl2.c:827
+msgid "initializer invalid for static member with constructor"
+msgstr ""
+
+#: cp/decl2.c:830
+msgid "(an out of class initialization is required)"
+msgstr ""
+
+#: cp/decl2.c:889
+#, fuzzy
+msgid "invalid data member initialization"
+msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+#: cp/decl2.c:892
+msgid "(use `=' to initialize static data members)"
+msgstr ""
+
+#: cp/decl2.c:938
+msgid "member `%D' conflicts with virtual function table field name"
+msgstr ""
+
+#: cp/decl2.c:958
+msgid "`%D' is already defined in `%T'"
+msgstr ""
+
+#: cp/decl2.c:1010
+msgid "field initializer is not constant"
+msgstr ""
+
+#: cp/decl2.c:1034
+msgid "`asm' specifiers are not permitted on non-static data members"
+msgstr ""
+
+#: cp/decl2.c:1086
+msgid "cannot declare `%D' to be a bit-field type"
+msgstr ""
+
+#: cp/decl2.c:1096
+msgid "cannot declare bit-field `%D' with function type"
+msgstr ""
+
+#: cp/decl2.c:1103
+msgid "`%D' is already defined in the class %T"
+msgstr ""
+
+#: cp/decl2.c:1110
+msgid "static member `%D' cannot be a bit-field"
+msgstr ""
+
+#: cp/decl2.c:1197
+#, fuzzy
+msgid "initializer specified for non-member function `%D'"
+msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#: cp/decl2.c:1201
+#, fuzzy
+msgid "invalid initializer for virtual method `%D'"
+msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+#: cp/decl2.c:1315
+msgid "anonymous struct not inside named type"
+msgstr ""
+
+#: cp/decl2.c:1411
+msgid "namespace-scope anonymous aggregates must be static"
+msgstr ""
+
+#: cp/decl2.c:1424
+msgid "anonymous aggregate with no members"
+msgstr ""
+
+#: cp/decl2.c:1493
+msgid "`operator new' must return type `%T'"
+msgstr ""
+
+#: cp/decl2.c:1501
+msgid "`operator new' takes type `size_t' (`%T') as first parameter"
+msgstr ""
+
+#: cp/decl2.c:1528
+msgid "`operator delete' must return type `%T'"
+msgstr ""
+
+#: 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:2290
+msgid "too many initialization functions required"
+msgstr ""
+
+#: cp/decl2.c:2966
+#, fuzzy
+msgid "inline function `%D' used but never defined"
+msgstr "адмеціна `%D' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+#: cp/decl2.c:3086
+msgid "use of old-style cast"
+msgstr ""
+
+#: cp/decl2.c:3794
+#, fuzzy
+msgid "use of `%D' is ambiguous"
+msgstr "памер \"%s\" - %d байт"
+
+#: cp/decl2.c:3795
+msgid " first declared as `%#D' here"
+msgstr ""
+
+#: cp/decl2.c:3798
+msgid " also declared as `%#D' here"
+msgstr ""
+
+#: cp/decl2.c:3813
+msgid "`%D' denotes an ambiguous type"
+msgstr ""
+
+#: cp/decl2.c:3814
+msgid " first type here"
+msgstr ""
+
+#: cp/decl2.c:3815
+msgid " other type here"
+msgstr ""
+
+#: cp/decl2.c:3912
+msgid "declaration of `%D' not in a namespace surrounding `%D'"
+msgstr ""
+
+#: cp/decl2.c:3946
+msgid "`%D' should have been declared inside `%D'"
+msgstr ""
+
+#: cp/decl2.c:4079
+msgid "`%D' is not a function,"
+msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+#: cp/decl2.c:4080
+msgid " conflict with `%D'"
+msgstr ""
+
+#. The parser did not find it, so it's not there.
+#: cp/decl2.c:4396
+#, fuzzy
+msgid "unknown namespace `%D'"
+msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+#: cp/decl2.c:4430 cp/decl2.c:4707
+msgid "`%T' is not a namespace"
+msgstr ""
+
+#: cp/decl2.c:4432
+msgid "`%D' is not a namespace"
+msgstr ""
+
+#: cp/decl2.c:4441
+msgid "a using-declaration cannot specify a template-id. Try `using %D'"
+msgstr ""
+
+#: cp/decl2.c:4455
+#, fuzzy
+msgid "namespace `%D' not allowed in using-declaration"
+msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+#: cp/decl2.c:4484
+msgid "`%D' not declared"
+msgstr ""
+
+#: cp/decl2.c:4535
+msgid "`%D' is already declared in this scope"
+msgstr ""
+
+#: cp/decl2.c:4562
+msgid "using declaration `%D' introduced ambiguous type `%T'"
+msgstr ""
+
+#: cp/decl2.c:4653
+msgid "using-declaration for non-member at class scope"
+msgstr ""
+
+#: cp/decl2.c:4659
+msgid "using-declaration for destructor"
+msgstr ""
+
+#: cp/decl2.c:4665
+msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
+msgstr ""
+
+#: cp/decl2.c:4701
+msgid "namespace `%T' undeclared"
+msgstr ""
+
+#: cp/decl2.c:4730
+msgid "default argument missing for parameter %P of `%+#D'"
+msgstr ""
+
+#: cp/decl2.c:4829
+msgid "extra qualification `%T::' on member `%D' ignored"
+msgstr ""
+
+#: cp/decl2.c:4833
+msgid "`%T' does not have a class or union named `%D'"
+msgstr ""
+
+#: cp/decl2.c:4848
+msgid "`%T' is not a class or union type"
+msgstr ""
+
+#: cp/decl2.c:4862
+#, fuzzy
+msgid "template argument is required for `%T'"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/error.c:35
+#, c-format
+msgid "`%s' not supported by %s"
+msgstr ""
+
+#: cp/error.c:571
+#, c-format
+msgid "<anonymous %s>"
+msgstr ""
+
+#: cp/error.c:808
+#, c-format
+msgid "(static %s for %s)"
+msgstr ""
+
+#: cp/error.c:1482
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2430
+#, c-format
+msgid "In %s `%s':"
+msgstr ""
+
+#: cp/error.c:2487
+#, c-format
+msgid "%s: In instantiation of `%s':\n"
+msgstr ""
+
+#: cp/error.c:2511
+#, c-format
+msgid "%s:%d: instantiated from `%s'\n"
+msgstr ""
+
+#: cp/error.c:2516
+#, c-format
+msgid "%s:%d: instantiated from here\n"
+msgstr ""
+
+#. damn ICE suppression
+#: cp/error.c:2670
+#, c-format
+msgid "unexpected letter `%c' in locate_error\n"
+msgstr ""
+
+#. Can't throw a reference.
+#: cp/except.c:240
+msgid "type `%T' is disallowed in Java `throw' or `catch'"
+msgstr ""
+
+#: cp/except.c:251
+msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
+msgstr ""
+
+#. Thrown object must be a Throwable.
+#: cp/except.c:258
+msgid "type `%T' is not derived from `java::lang::Throwable'"
+msgstr ""
+
+#: cp/except.c:322
+msgid "mixing C++ and Java catches in a single translation unit"
+msgstr ""
+
+#: cp/except.c:639
+msgid "throwing NULL, which has integral, not pointer type"
+msgstr ""
+
+#: cp/except.c:730
+msgid " in thrown expression"
+msgstr ""
+
+#: cp/except.c:856
+msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
+msgstr ""
+
+#: cp/except.c:944
+msgid "exception of type `%T' will be caught"
+msgstr ""
+
+#: cp/except.c:947
+msgid " by earlier handler for `%T'"
+msgstr ""
+
+#: cp/except.c:968
+msgid "`...' handler must be the last handler for its try block"
+msgstr ""
+
+#: cp/friend.c:155
+#, fuzzy
+msgid "`%D' is already a friend of class `%T'"
+msgstr "не знойдзен ÐºÐ»Ð°Ñ \"%s\""
+
+#: cp/friend.c:157
+#, fuzzy
+msgid "previous friend declaration of `%D'"
+msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#: cp/friend.c:202
+msgid "invalid type `%T' declared `friend'"
+msgstr ""
+
+#. [temp.friend]
+#. Friend declarations shall not declare partial
+#. specializations.
+#: cp/friend.c:218
+msgid "partial specialization `%T' declared `friend'"
+msgstr ""
+
+#: cp/friend.c:227
+msgid "class `%T' is implicitly friends with itself"
+msgstr ""
+
+#. template <class T> friend typename S<T>::X;
+#: cp/friend.c:245
+msgid "typename type `%#T' declared `friend'"
+msgstr ""
+
+#. template <class T> friend class T;
+#: cp/friend.c:251
+#, fuzzy
+msgid "template parameter type `%T' declared `friend'"
+msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+#. template <class T> friend class A; where A is not a template
+#: cp/friend.c:257
+msgid "`%#T' is not a template"
+msgstr ""
+
+#: cp/friend.c:272
+msgid "`%T' is already a friend of `%T'"
+msgstr ""
+
+#: cp/friend.c:370
+msgid "member `%D' declared as friend before type `%T' defined"
+msgstr ""
+
+#: cp/friend.c:425
+msgid "friend declaration `%#D' declares a non-template function"
+msgstr ""
+
+#: 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:209 java/jvspec.c:423
+#, c-format
+msgid "argument to `%s' missing\n"
+msgstr ""
+
+#: 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:374
+msgid "uninitialized reference member `%D'"
+msgstr ""
+
+#: cp/init.c:382
+msgid "initializer list treated as compound expression"
+msgstr ""
+
+#: cp/init.c:523
+#, fuzzy
+msgid "`%D' will be initialized after"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/init.c:526
+#, fuzzy
+msgid "base `%T' will be initialized after"
+msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+#: cp/init.c:529
+#, fuzzy
+msgid " `%#D'"
+msgstr "Ñк `%D'"
+
+#: cp/init.c:531
+#, fuzzy
+msgid " base `%T'"
+msgstr "Ñк `%D'"
+
+#: cp/init.c:549
+#, fuzzy
+msgid "multiple initializations given for base `%T'"
+msgstr "ініцыÑлізацыÑ"
+
+#: cp/init.c:616
+msgid "initializations for multiple members of `%T'"
+msgstr ""
+
+#: cp/init.c:671
+msgid "base class `%#T' should be explicitly initialized in the copy constructor"
+msgstr ""
+
+#: cp/init.c:916
+msgid "class `%T' does not have any field named `%D'"
+msgstr ""
+
+#: cp/init.c:922
+msgid "field `%#D' is static; the only point of initialization is its definition"
+msgstr ""
+
+#: cp/init.c:956
+msgid "unnamed initializer for `%T', which has no base classes"
+msgstr ""
+
+#: cp/init.c:963
+msgid "unnamed initializer for `%T', which uses multiple inheritance"
+msgstr ""
+
+#: cp/init.c:1000
+msgid "type `%D' is not a direct or virtual base of `%T'"
+msgstr ""
+
+#: cp/init.c:1003
+msgid "type `%D' is not a direct base of `%T'"
+msgstr ""
+
+#. Handle bad initializers like:
+#. class COMPLEX {
+#. public:
+#. double re, im;
+#. COMPLEX(double r = 0.0, double i = 0.0) {re = r; im = i;};
+#. ~COMPLEX() {};
+#. };
+#.
+#. int main(int argc, char **argv) {
+#. COMPLEX zees(1.0, 0.0)[10];
+#. }
+#.
+#: cp/init.c:1097
+#, fuzzy
+msgid "bad array initializer"
+msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+#: cp/init.c:1304
+#, fuzzy
+msgid "`%T' is not an aggregate type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/init.c:1327
+msgid "`%T' fails to be an aggregate typedef"
+msgstr ""
+
+#: cp/init.c:1336
+msgid "type `%T' is of non-aggregate type"
+msgstr ""
+
+#: cp/init.c:1439
+msgid "cannot call destructor `%T::~%T' without object"
+msgstr ""
+
+#: cp/init.c:1483
+#, fuzzy
+msgid "invalid use of non-static field `%D'"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#. We can get here when processing a bad default
+#. argument, like:
+#. struct S { int a; void f(int i = a); }
+#: cp/init.c:1492 cp/method.c:160
+#, fuzzy
+msgid "invalid use of member `%D'"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: cp/init.c:1502
+#, fuzzy
+msgid "no method `%T::%D'"
+msgstr "у метадзе \"%s\":"
+
+#: cp/init.c:1595
+msgid "incomplete type `%T' does not have member `%D'"
+msgstr ""
+
+#: cp/init.c:1669
+msgid "`%D' is not a member of type `%T'"
+msgstr ""
+
+#: cp/init.c:1688
+#, fuzzy
+msgid "invalid pointer to bit-field `%D'"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: cp/init.c:1727
+msgid "object missing in use of pointer-to-member construct"
+msgstr ""
+
+#: cp/init.c:1767
+msgid "member `%D' is non-static but referenced as a static member"
+msgstr ""
+
+#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932
+msgid "at this point in file"
+msgstr ""
+
+#: cp/init.c:1806
+#, c-format
+msgid "object missing in `%E'"
+msgstr ""
+
+#: cp/init.c:1937
+msgid "new of array type fails to specify size"
+msgstr ""
+
+#: cp/init.c:1948
+msgid "size in array new must have integral type"
+msgstr ""
+
+#: cp/init.c:1954
+msgid "zero size array reserves no space"
+msgstr ""
+
+#: cp/init.c:2019
+msgid "new cannot be applied to a reference type"
+msgstr ""
+
+#: cp/init.c:2025
+msgid "new cannot be applied to a function type"
+msgstr ""
+
+#: cp/init.c:2072
+msgid "call to Java constructor, while `jclass' undefined"
+msgstr ""
+
+#: cp/init.c:2088
+#, fuzzy
+msgid "can't find class$"
+msgstr "Ðе магу знайÑці ÐºÐ»Ð°Ñ \"%s\""
+
+#: cp/init.c:2202
+msgid "invalid type `void' for new"
+msgstr ""
+
+#: cp/init.c:2254
+#, c-format
+msgid "call to Java constructor with `%s' undefined"
+msgstr ""
+
+#: cp/init.c:2362
+msgid "ISO C++ forbids initialization in array new"
+msgstr ""
+
+#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223
+msgid "initializer list being treated as compound expression"
+msgstr ""
+
+#: cp/init.c:2386
+msgid "ISO C++ forbids aggregate initializer to new"
+msgstr ""
+
+#: cp/init.c:2474
+msgid "uninitialized const in `new' of `%#T'"
+msgstr ""
+
+#: cp/init.c:2840
+msgid "initializer ends prematurely"
+msgstr ""
+
+#: cp/init.c:2910
+msgid "cannot initialize multi-dimensional array with initializer"
+msgstr ""
+
+#: cp/init.c:3100
+msgid "unknown array size in delete"
+msgstr ""
+
+#: cp/init.c:3365
+msgid "type to vector delete is neither pointer or array type"
+msgstr ""
+
+#: cp/lex.c:136
+msgid "type name expected before `*'"
+msgstr ""
+
+#: cp/lex.c:158
+msgid "cannot declare references to references"
+msgstr ""
+
+#: cp/lex.c:163
+msgid "cannot declare pointers to references"
+msgstr ""
+
+#: cp/lex.c:167
+msgid "type name expected before `&'"
+msgstr ""
+
+#: cp/lex.c:894
+#, c-format
+msgid "semicolon missing after %s declaration"
+msgstr ""
+
+#: cp/lex.c:897
+#, fuzzy
+msgid "semicolon missing after declaration of `%T'"
+msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+#: cp/lex.c:945
+#, c-format
+msgid "junk at end of #pragma %s"
+msgstr ""
+
+#: cp/lex.c:952
+#, c-format
+msgid "invalid #pragma %s"
+msgstr ""
+
+#: cp/lex.c:961
+msgid "#pragma vtable no longer supported"
+msgstr ""
+
+#: cp/lex.c:1038
+#, c-format
+msgid "#pragma implementation for %s appears after file is included"
+msgstr ""
+
+#: cp/lex.c:1063
+msgid "junk at end of #pragma GCC java_exceptions"
+msgstr ""
+
+#: cp/lex.c:1107
+#, fuzzy
+msgid "`%D' not defined"
+msgstr "YYDEBUG не вызначан."
+
+#: cp/lex.c:1110
+#, fuzzy
+msgid "`%D' was not declared in this scope"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/lex.c:1118
+#, fuzzy
+msgid "`%D' undeclared (first use this function)"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/lex.c:1122
+msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
+msgstr ""
+
+#: cp/lex.c:1239
+#, fuzzy
+msgid "`::%D' undeclared (first use here)"
+msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+#: cp/mangle.c:2061
+msgid "real-valued template parameters when cross-compiling"
+msgstr ""
+
+#: 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:216
+msgid "use of namespace `%D' as expression"
+msgstr ""
+
+#: cp/method.c:221
+msgid "use of class template `%T' as expression"
+msgstr ""
+
+#: cp/method.c:234
+#, c-format
+msgid "use of %s from containing function"
+msgstr ""
+
+#: cp/method.c:237
+msgid " `%#D' declared here"
+msgstr ""
+
+#: cp/method.c:255
+msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
+msgstr ""
+
+#: cp/method.c:455
+msgid "generic thunk code fails for method `%#D' which uses `...'"
+msgstr ""
+
+#: cp/method.c:694
+msgid "non-static const member `%#D', can't use default assignment operator"
+msgstr ""
+
+#: cp/method.c:699
+msgid "non-static reference member `%#D', can't use default assignment operator"
+msgstr ""
+
+#: parse.y:261
+msgid "`%s' tag used in naming `%#T'"
+msgstr ""
+
+#: parse.y:541
+msgid "keyword `export' not implemented, and will be ignored"
+msgstr ""
+
+#: parse.y:645
+msgid "use of linkage spec `%D' is different from previous spec `%D'"
+msgstr ""
+
+#: parse.y:942
+msgid "no base or member initializers given following ':'"
+msgstr ""
+
+#: parse.y:983 parse.y:989
+msgid "anachronistic old style base class initializer"
+msgstr ""
+
+#. Handle `Class<Class<Type>>' without space in the `>>'
+#: parse.y:1115
+msgid "`>>' should be `> >' in template class name"
+msgstr ""
+
+#: parse.y:1153
+msgid "use of template qualifier outside template"
+msgstr ""
+
+#: parse.y:1182 parse.y:1191
+#, c-format
+msgid "ISO C++ forbids an empty condition for `%s'"
+msgstr ""
+
+#: parse.y:1214
+msgid "definition of class `%T' in condition"
+msgstr ""
+
+#: parse.y:1216
+msgid "definition of enum `%T' in condition"
+msgstr ""
+
+#: parse.y:1227
+msgid "definition of array `%#D' in condition"
+msgstr ""
+
+#: parse.y:1340
+msgid "old style placement syntax, use () instead"
+msgstr ""
+
+#: parse.y:1351
+msgid "`%T' is not a valid expression"
+msgstr ""
+
+#. 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:1384
+msgid "ISO C++ forbids compound literals"
+msgstr ""
+
+#: parse.y:1631
+msgid "ISO C++ forbids braced-groups within expressions"
+msgstr ""
+
+#: parse.y:2035 parse.y:2050
+msgid "sigof type specifier"
+msgstr ""
+
+#: parse.y:2040
+msgid "`sigof' applied to non-aggregate expression"
+msgstr ""
+
+#: parse.y:2055
+msgid "`sigof' applied to non-aggregate type"
+msgstr ""
+
+#: parse.y:2321
+msgid "using `typename' outside of template"
+msgstr ""
+
+#: parse.y:2391
+#, c-format
+msgid "storage class specifier `%s' not allowed after struct or class"
+msgstr ""
+
+#: parse.y:2393
+#, c-format
+msgid "type specifier `%s' not allowed after struct or class"
+msgstr ""
+
+#: parse.y:2395
+#, c-format
+msgid "type qualifier `%s' not allowed after struct or class"
+msgstr ""
+
+#: parse.y:2397
+msgid "no body nor ';' separates two class, struct or union declarations"
+msgstr ""
+
+#: parse.y:2537
+msgid "no bases given following `:'"
+msgstr ""
+
+#: parse.y:2568 parse.y:2583
+msgid "`%D' access"
+msgstr ""
+
+#: parse.y:2573
+msgid "multiple access specifiers"
+msgstr ""
+
+#: parse.y:2591
+msgid "multiple `virtual' specifiers"
+msgstr ""
+
+#: parse.y:2628
+msgid "missing ';' before right brace"
+msgstr ""
+
+#: parse.y:2849
+msgid "ISO C++ forbids array dimensions with parenthesized type in new"
+msgstr ""
+
+#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194
+msgid "`%T' is not a class or namespace"
+msgstr ""
+
+#: parse.y:3361
+msgid "ISO C++ forbids label declarations"
+msgstr ""
+
+#: parse.y:3521
+msgid "ISO C++ forbids computed gotos"
+msgstr ""
+
+#: parse.y:3529
+msgid "label must be followed by statement"
+msgstr ""
+
+#: parse.y:3574
+msgid "must have at least one catch per try block"
+msgstr ""
+
+#: 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:3721 parse.y:3731
+msgid "possibly missing ')'"
+msgstr ""
+
+#: parse.y:3824
+msgid "type specifier omitted for parameter"
+msgstr ""
+
+#: parse.y:3833
+#, c-format
+msgid "`%E' is not a type, use `typename %E' to make it one"
+msgstr ""
+
+#: parse.y:3835
+#, fuzzy
+msgid "no type `%D' in `%T'"
+msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+#: parse.y:3838
+#, c-format
+msgid "type specifier omitted for parameter `%E'"
+msgstr ""
+
+#: parse.y:3846
+msgid "'%D' is used as a type, but is not defined as a type."
+msgstr ""
+
+#: cp/pt.c:198
+msgid "data member `%D' cannot be a member template"
+msgstr ""
+
+#: cp/pt.c:210
+#, fuzzy
+msgid "invalid member template declaration `%D'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/pt.c:605
+msgid "explicit specialization in non-namespace scope `%D'"
+msgstr ""
+
+#: cp/pt.c:617
+msgid "enclosing class templates are not explicitly specialized"
+msgstr ""
+
+#: cp/pt.c:692
+msgid "specializing `%#T' in different namespace"
+msgstr ""
+
+#: cp/pt.c:693
+msgid " from definition of `%#D'"
+msgstr ""
+
+#: cp/pt.c:701
+msgid "specialization of `%T' after instantiation"
+msgstr ""
+
+#: cp/pt.c:704
+msgid "explicit specialization of non-template `%T'"
+msgstr ""
+
+#: cp/pt.c:836
+msgid "specialization of %D after instantiation"
+msgstr ""
+
+#: cp/pt.c:939
+msgid "%s %+#D"
+msgstr ""
+
+#: cp/pt.c:990
+#, fuzzy
+msgid "`%D' is not a function template"
+msgstr "\"%s\" звычайна функцыÑ"
+
+#: cp/pt.c:1129
+msgid "template-id `%D' for `%+D' does not match any template declaration"
+msgstr ""
+
+#: 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:1364 cp/pt.c:1438
+msgid "template-id `%D' in declaration of primary template"
+msgstr ""
+
+#: cp/pt.c:1377
+msgid "template parameter list used in explicit instantiation"
+msgstr ""
+
+#: cp/pt.c:1383
+msgid "definition provided for explicit instantiation"
+msgstr ""
+
+#: cp/pt.c:1389
+msgid "too many template parameter lists in declaration of `%D'"
+msgstr ""
+
+#: cp/pt.c:1405
+msgid "too few template parameter lists in declaration of `%D'"
+msgstr ""
+
+#: cp/pt.c:1422
+msgid "explicit specialization not preceded by `template <>'"
+msgstr ""
+
+#: cp/pt.c:1435
+msgid "partial specialization `%D' of function template"
+msgstr ""
+
+#: cp/pt.c:1467
+msgid "default argument specified in explicit specialization"
+msgstr ""
+
+#: cp/pt.c:1471
+msgid "template specialization with C linkage"
+msgstr ""
+
+#. From [temp.expl.spec]:
+#.
+#. If such an explicit specialization for the member
+#. of a class template names an implicitly-declared
+#. special member function (clause _special_), the
+#. program is ill-formed.
+#.
+#. Similar language is found in [temp.explicit].
+#: cp/pt.c:1558
+msgid "specialization of implicitly-declared special member function"
+msgstr ""
+
+#: cp/pt.c:1602
+msgid "no member function `%D' declared in `%T'"
+msgstr ""
+
+#. There are two many template parameter lists.
+#: cp/pt.c:1750
+msgid "too many template parameter lists in declaration of `%T'"
+msgstr ""
+
+#: cp/pt.c:1846
+msgid " shadows template parm `%#D'"
+msgstr ""
+
+#: cp/pt.c:2250
+msgid "template parameters not used in partial specialization:"
+msgstr ""
+
+#: cp/pt.c:2254
+msgid " `%D'"
+msgstr ""
+
+#: cp/pt.c:2266
+msgid "partial specialization `%T' does not specialize any template arguments"
+msgstr ""
+
+#: cp/pt.c:2291
+#, c-format
+msgid "template argument `%E' involves template parameter(s)"
+msgstr ""
+
+#: cp/pt.c:2335
+msgid "type `%T' of template argument `%E' depends on template parameter(s)"
+msgstr ""
+
+#: cp/pt.c:2423
+#, fuzzy
+msgid "no default argument for `%D'"
+msgstr "нехапае аргументаў у функцыі \"%s\""
+
+#: cp/pt.c:2576
+msgid "template with C linkage"
+msgstr ""
+
+#: cp/pt.c:2579
+msgid "template class without a name"
+msgstr ""
+
+#: cp/pt.c:2656
+msgid "`%D' does not declare a template type"
+msgstr ""
+
+#: cp/pt.c:2662
+msgid "template definition of non-template `%#D'"
+msgstr ""
+
+#: cp/pt.c:2703
+msgid "expected %d levels of template parms for `%#D', got %d"
+msgstr ""
+
+#: cp/pt.c:2715
+msgid "got %d template parameters for `%#D'"
+msgstr ""
+
+#: cp/pt.c:2718
+msgid "got %d template parameters for `%#T'"
+msgstr ""
+
+#: cp/pt.c:2720
+#, c-format
+msgid " but %d required"
+msgstr ""
+
+#: cp/pt.c:2803
+#, fuzzy
+msgid "`%T' is not a template type"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/pt.c:2819
+msgid "previous declaration `%D'"
+msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%D'"
+
+#: cp/pt.c:2820
+#, c-format
+msgid "used %d template parameter%s instead of %d"
+msgstr ""
+
+#: cp/pt.c:2836
+#, fuzzy
+msgid "template parameter `%#D'"
+msgstr "невыкарыÑтаемы параметр \"%s\""
+
+#: cp/pt.c:2837
+msgid "redeclared here as `%#D'"
+msgstr ""
+
+#. We have in [temp.param]:
+#.
+#. A template-parameter may not be given default arguments
+#. by two different declarations in the same scope.
+#: cp/pt.c:2847
+msgid "redefinition of default argument for `%#D'"
+msgstr ""
+
+#: cp/pt.c:2848
+msgid " original definition appeared here"
+msgstr ""
+
+#: cp/pt.c:2941
+#, c-format
+msgid "`%E' is not a valid template argument"
+msgstr ""
+
+#: cp/pt.c:2945
+msgid "it must be the address of a function with external linkage"
+msgstr ""
+
+#: cp/pt.c:2947
+msgid "it must be the address of an object with external linkage"
+msgstr ""
+
+#: cp/pt.c:2951
+msgid "it must be a pointer-to-member of the form `&X::Y'"
+msgstr ""
+
+#: 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:2974
+#, c-format
+msgid "address of non-extern `%E' cannot be used as template argument"
+msgstr ""
+
+#: cp/pt.c:2985
+#, c-format
+msgid "non-constant `%E' cannot be used as template argument"
+msgstr ""
+
+#: cp/pt.c:2992
+#, c-format
+msgid "object `%E' cannot be used as template argument"
+msgstr ""
+
+#: cp/pt.c:3367
+#, c-format
+msgid "to refer to a type member of a template parameter, use `typename %E'"
+msgstr ""
+
+#: 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:3383
+msgid " expected a constant of type `%T', got `%T'"
+msgstr ""
+
+#: cp/pt.c:3387
+#, c-format
+msgid " expected a type, got `%E'"
+msgstr ""
+
+#: cp/pt.c:3399
+msgid " expected a type, got `%T'"
+msgstr ""
+
+#: cp/pt.c:3401
+msgid " expected a class template, got `%T'"
+msgstr ""
+
+#: cp/pt.c:3437
+msgid " expected a template of type `%D', got `%D'"
+msgstr ""
+
+#: cp/pt.c:3459
+msgid "template-argument `%T' uses anonymous type"
+msgstr ""
+
+#: cp/pt.c:3462
+msgid "template-argument `%T' uses local type `%T'"
+msgstr ""
+
+#: cp/pt.c:3472
+#, fuzzy
+msgid "template-argument `%T' is a variably modified type"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/pt.c:3507
+msgid "could not convert template argument `%E' to `%T'"
+msgstr ""
+
+#: cp/pt.c:3551
+#, c-format
+msgid "wrong number of template arguments (%d, should be %d)"
+msgstr ""
+
+#: cp/pt.c:3555
+#, fuzzy
+msgid "provided for `%D'"
+msgstr "дÑÑтруктару неабходны \"%#D\""
+
+#: cp/pt.c:3602
+#, fuzzy, c-format
+msgid "template argument %d is invalid"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/pt.c:3837
+msgid "non-template used as template"
+msgstr ""
+
+#: cp/pt.c:3968
+msgid "`%T' is not a template"
+msgstr ""
+
+#: cp/pt.c:3981
+msgid "non-template type `%T' used as a template"
+msgstr ""
+
+#: cp/pt.c:3983
+#, fuzzy
+msgid "for template declaration `%D'"
+msgstr "пуÑтое абвÑшчÑнне"
+
+#: 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:5074
+msgid "ambiguous class template instantiation for `%#T'"
+msgstr ""
+
+#: cp/pt.c:5081
+msgid "%s %+#T"
+msgstr ""
+
+#: cp/pt.c:6104 cp/pt.c:6214
+msgid "instantiation of `%D' as type `%T'"
+msgstr ""
+
+#: cp/pt.c:6258
+msgid "invalid parameter type `%T'"
+msgstr "нерÑчаіÑны тып парамÑтра `%T'"
+
+#: cp/pt.c:6260
+msgid "in declaration `%D'"
+msgstr "у абвÑшчÑньні `%D'"
+
+#: cp/pt.c:6335
+msgid "creating pointer to member function of non-class type `%T'"
+msgstr ""
+
+#: cp/pt.c:6498
+msgid "creating array with size zero"
+msgstr ""
+
+#: cp/pt.c:6512
+#, c-format
+msgid "creating array with size zero (`%E')"
+msgstr ""
+
+#: cp/pt.c:6751
+msgid "forming reference to void"
+msgstr ""
+
+#: cp/pt.c:6753
+msgid "forming %s to reference type `%T'"
+msgstr ""
+
+#: cp/pt.c:6791
+msgid "creating pointer to member of non-class type `%T'"
+msgstr ""
+
+#: cp/pt.c:6797
+msgid "creating pointer to member reference type `%T'"
+msgstr ""
+
+#: cp/pt.c:6875
+msgid "creating array of `%T'"
+msgstr ""
+
+#: cp/pt.c:6918
+msgid "`%T' is not a class, struct, or union type"
+msgstr ""
+
+#: cp/pt.c:7028
+#, c-format
+msgid "use of `%s' in template"
+msgstr ""
+
+#: cp/pt.c:7790
+msgid "type `%T' composed from a local class is not a valid template-argument"
+msgstr ""
+
+#: cp/pt.c:7791
+msgid " trying to instantiate `%D'"
+msgstr ""
+
+#: cp/pt.c:8230
+msgid "incomplete type unification"
+msgstr ""
+
+#: cp/pt.c:9178
+#, c-format
+msgid "use of `%s' in template type unification"
+msgstr ""
+
+#: cp/pt.c:9596 cp/pt.c:9668
+msgid "explicit instantiation of non-template `%#D'"
+msgstr ""
+
+#: cp/pt.c:9612 cp/pt.c:9663
+msgid "no matching template for `%D' found"
+msgstr ""
+
+#: cp/pt.c:9618
+msgid "explicit instantiation of `%#D'"
+msgstr ""
+
+#: cp/pt.c:9655
+#, fuzzy
+msgid "duplicate explicit instantiation of `%#D'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/pt.c:9680
+msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
+msgstr ""
+
+#: cp/pt.c:9684 cp/pt.c:9762
+msgid "storage class `%D' applied to template instantiation"
+msgstr ""
+
+#: cp/pt.c:9729
+msgid "explicit instantiation of non-template type `%T'"
+msgstr ""
+
+#: cp/pt.c:9743
+msgid "explicit instantiation of `%#T' before definition of template"
+msgstr ""
+
+#: cp/pt.c:9751
+#, c-format
+msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
+msgstr ""
+
+#: cp/pt.c:9795
+#, fuzzy
+msgid "duplicate explicit instantiation of `%#T'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: cp/pt.c:10177
+msgid "explicit instantiation of `%D' but no definition available"
+msgstr ""
+
+#: cp/pt.c:10551
+msgid "`%#T' is not a valid type for a template constant parameter"
+msgstr ""
+
+#: cp/repo.c:271
+msgid "-frepo must be used with -c"
+msgstr ""
+
+#: cp/repo.c:361
+#, c-format
+msgid "mysterious repository information in %s"
+msgstr ""
+
+#: cp/repo.c:376
+#, c-format
+msgid "can't create repository information file `%s'"
+msgstr ""
+
+#: cp/rtti.c:240
+msgid "cannot use typeid with -fno-rtti"
+msgstr ""
+
+#: cp/rtti.c:246
+msgid "must #include <typeinfo> before using typeid"
+msgstr ""
+
+#: cp/rtti.c:320
+msgid "cannot create type information for type `%T' because its size is variable"
+msgstr ""
+
+#: cp/rtti.c:585 cp/rtti.c:599
+msgid "dynamic_cast of `%#D' to `%#T' can never succeed"
+msgstr ""
+
+#: cp/rtti.c:675
+msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
+msgstr ""
+
+#: cp/search.c:348
+msgid "`%T' is an inaccessible base of `%T'"
+msgstr ""
+
+#: cp/search.c:358
+msgid "`%T' is an ambiguous base of `%T'"
+msgstr ""
+
+#: cp/search.c:1925
+msgid "adjusting pointers for covariant returns"
+msgstr ""
+
+#: cp/search.c:1929 cp/search.c:1936
+msgid "invalid covariant return type for `%#D'"
+msgstr ""
+
+#: cp/search.c:1930
+msgid " overriding `%#D' (must be pointer or reference to class)"
+msgstr ""
+
+#: cp/search.c:1937
+msgid " overriding `%#D' (must use pointer or reference)"
+msgstr ""
+
+#: cp/search.c:1942
+msgid "conflicting return type specified for `%#D'"
+msgstr ""
+
+#: cp/search.c:1943
+msgid " overriding `%#D'"
+msgstr ""
+
+#: cp/search.c:1952
+#, c-format
+msgid "looser throw specifier for `%#F'"
+msgstr ""
+
+#: cp/search.c:1953
+#, c-format
+msgid " overriding `%#F'"
+msgstr ""
+
+#. A static member function cannot match an inherited
+#. virtual member function.
+#: cp/search.c:2042
+msgid "`%#D' cannot be declared"
+msgstr ""
+
+#: cp/search.c:2043
+msgid " since `%#D' declared in base class"
+msgstr ""
+
+#: cp/search.c:2184
+msgid "`%#D' needs a final overrider"
+msgstr ""
+
+#: cp/semantics.c:919
+#, fuzzy, c-format
+msgid "type of asm operand `%E' could not be determined"
+msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+#: cp/semantics.c:1051
+msgid "ISO C++ does not permit named return values"
+msgstr ""
+
+#: cp/semantics.c:1060
+msgid "return identifier `%D' already in place"
+msgstr ""
+
+#: cp/semantics.c:1068
+msgid "can't redefine default return value for constructors"
+msgstr ""
+
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr ""
+
+#: cp/semantics.c:1342
+msgid "`this' is unavailable for static member functions"
+msgstr ""
+
+#: cp/semantics.c:1348
+msgid "invalid use of `this' in non-member function"
+msgstr ""
+
+#: cp/semantics.c:1350
+msgid "invalid use of `this' at top level"
+msgstr ""
+
+#: cp/semantics.c:1380
+msgid "calling type `%T' like a method"
+msgstr ""
+
+#: cp/semantics.c:1418
+msgid "destructor specifier `%T::~%T()' must have matching names"
+msgstr ""
+
+#: cp/semantics.c:1424
+msgid "`%E' is not of type `%T'"
+msgstr ""
+
+#: cp/semantics.c:1612
+msgid "template type parameters must use the keyword `class' or `typename'"
+msgstr ""
+
+#: 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:1709
+msgid "invalid definition of qualified type `%T'"
+msgstr ""
+
+#: cp/semantics.c:2051
+#, fuzzy
+msgid "invalid base-class specification"
+msgstr "ÐерÑчаіÑÐ½Ð°Ñ ÑпецыфікацыÑ! Памылка Ñž cc."
+
+#: cp/semantics.c:2060
+msgid "base class `%T' has cv qualifiers"
+msgstr ""
+
+#: cp/semantics.c:2091
+msgid "multiple declarators in template declaration"
+msgstr ""
+
+#: cp/spew.c:225
+#, c-format
+msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+msgstr ""
+
+#: cp/spew.c:1002 cp/spew.c:1336
+msgid "parse error at end of saved function text"
+msgstr ""
+
+#: 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:1161
+msgid "function body for constructor missing"
+msgstr ""
+
+#: 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:1479
+msgid "invalid type `%T' for default argument to `%T'"
+msgstr ""
+
+#: cp/spew.c:1539
+#, c-format
+msgid "%s before `%s'"
+msgstr "%s перад \"%s\""
+
+#: cp/spew.c:1541
+#, c-format
+msgid "%s before `%c'"
+msgstr "%s перад '%c'"
+
+#: cp/spew.c:1543
+#, c-format
+msgid "%s before `\\%o'"
+msgstr "%s перад \"\\%o\""
+
+#: cp/spew.c:1546
+#, c-format
+msgid "%s before `%s' token"
+msgstr "%s перад знакам \"%s\""
+
+#: cp/tree.c:251 cp/tree.c:263
+#, c-format
+msgid "non-lvalue in %s"
+msgstr ""
+
+#: cp/tree.c:635
+msgid "`%V' qualifiers cannot be applied to `%T'"
+msgstr ""
+
+#: cp/tree.c:2012
+#, c-format
+msgid "`%s' attribute can only be applied to Java class definitions"
+msgstr ""
+
+#: cp/tree.c:2042
+#, c-format
+msgid "`%s' attribute can only be applied to class definitions"
+msgstr ""
+
+#: cp/tree.c:2048
+#, c-format
+msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
+msgstr ""
+
+#: cp/tree.c:2073
+msgid "requested init_priority is not an integer constant"
+msgstr ""
+
+#: 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:2102
+msgid "requested init_priority is out of range"
+msgstr ""
+
+#: cp/tree.c:2112
+msgid "requested init_priority is reserved for internal use"
+msgstr ""
+
+#: cp/tree.c:2122
+#, fuzzy, c-format
+msgid "`%s' attribute is not supported on this platform"
+msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+#: 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:545
+msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
+msgstr ""
+
+#: cp/typeck.c:1438
+msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
+msgstr ""
+
+#: cp/typeck.c:1516
+#, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr ""
+
+#: cp/typeck.c:1522
+#, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr ""
+
+#: cp/typeck.c:1540
+msgid "sizeof applied to a bit-field"
+msgstr ""
+
+#: cp/typeck.c:1543
+msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
+msgstr ""
+
+#: cp/typeck.c:1655
+msgid "invalid use of non-lvalue array"
+msgstr ""
+
+#: cp/typeck.c:1761
+msgid "deprecated conversion from string constant to `%T'"
+msgstr ""
+
+#: 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:1918
+#, fuzzy
+msgid "`%D' is not a member of `%T'"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/typeck.c:1958 cp/typeck.c:1979
+#, fuzzy
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#: cp/typeck.c:1960 cp/typeck.c:1981
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr ""
+
+#: cp/typeck.c:2161
+#, fuzzy
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+#: 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:2232
+#, fuzzy
+msgid "`%D' is not a member template function"
+msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+#. A pointer to incomplete type (other than cv void) can be
+#. dereferenced [expr.unary.op]/1
+#: cp/typeck.c:2326
+msgid "`%T' is not a pointer-to-object type"
+msgstr ""
+
+#: cp/typeck.c:2353
+#, c-format
+msgid "invalid use of `%s' on pointer to member"
+msgstr ""
+
+#: cp/typeck.c:2359
+msgid "invalid type argument"
+msgstr ""
+
+#: cp/typeck.c:2462
+msgid "ISO C++ forbids subscripting non-lvalue array"
+msgstr ""
+
+#: cp/typeck.c:2473
+msgid "subscripting array declared `register'"
+msgstr ""
+
+#: cp/typeck.c:2558
+#, c-format
+msgid "object missing in use of `%E'"
+msgstr ""
+
+#: cp/typeck.c:2663
+msgid "ISO C++ forbids calling `::main' from within program"
+msgstr ""
+
+#: cp/typeck.c:2688
+#, c-format
+msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
+msgstr ""
+
+#: cp/typeck.c:2701
+#, fuzzy, c-format
+msgid "`%E' cannot be used as a function"
+msgstr "\"%s\" звычайна функцыÑ"
+
+#: cp/typeck.c:2826
+#, fuzzy
+msgid "too many arguments to %s `%+#D'"
+msgstr "вельмі шмат аргументаў у функцыі \"%s\""
+
+#: cp/typeck.c:2867
+msgid "parameter type of called function is incomplete"
+msgstr ""
+
+#: cp/typeck.c:2930
+#, fuzzy
+msgid "too few arguments to %s `%+#D'"
+msgstr "нехапае аргументаў у функцыі \"%s\""
+
+#: cp/typeck.c:3058 cp/typeck.c:3068
+msgid "assuming cast to type `%T' from overloaded function"
+msgstr ""
+
+#: cp/typeck.c:3128
+#, c-format
+msgid "division by zero in `%E / 0'"
+msgstr ""
+
+#: cp/typeck.c:3130
+#, c-format
+msgid "division by zero in `%E / 0.'"
+msgstr ""
+
+#: cp/typeck.c:3160
+#, c-format
+msgid "division by zero in `%E %% 0'"
+msgstr ""
+
+#: cp/typeck.c:3162
+#, c-format
+msgid "division by zero in `%E %% 0.'"
+msgstr ""
+
+#: cp/typeck.c:3242
+#, c-format
+msgid "%s rotate count is negative"
+msgstr ""
+
+#: cp/typeck.c:3245
+#, c-format
+msgid "%s rotate count >= width of type"
+msgstr ""
+
+#: 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:3555
+msgid "comparison between types `%#T' and `%#T'"
+msgstr ""
+
+#: cp/typeck.c:3591
+msgid "comparison between signed and unsigned integer expressions"
+msgstr ""
+
+#: cp/typeck.c:3656
+msgid "invalid operands of types `%T' and `%T' to binary `%O'"
+msgstr ""
+
+#. Some sort of arithmetic operation involving NULL was
+#. 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:3678
+msgid "NULL used in arithmetic"
+msgstr ""
+
+#: cp/typeck.c:3745
+msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3747
+msgid "ISO C++ forbids using pointer to a function in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3749
+msgid "ISO C++ forbids using pointer to a method in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3751
+msgid "ISO C++ forbids using pointer to a member in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3763
+msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+msgstr ""
+
+#: 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: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:4055
+#, c-format
+msgid "ISO C++ forbids %sing an enum"
+msgstr ""
+
+#: cp/typeck.c:4067
+#, fuzzy
+msgid "cannot %s a pointer to incomplete type `%T'"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/typeck.c:4074
+msgid "ISO C++ forbids %sing a pointer of type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4099
+msgid "cast to non-reference type used as lvalue"
+msgstr ""
+
+#: cp/typeck.c:4133
+msgid "invalid use of `--' on bool variable `%D'"
+msgstr ""
+
+#. ARM $3.4
+#: cp/typeck.c:4166
+msgid "ISO C++ forbids taking address of function `::main'"
+msgstr ""
+
+#. An expression like &memfn.
+#: 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: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:4259
+msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+msgstr ""
+
+#: cp/typeck.c:4290
+#, fuzzy
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "не магу атрымаць Ð°Ð´Ñ€Ð°Ñ Ð±Ñ–Ñ‚Ð°Ð²Ð°Ð³Ð° Ð¿Ð¾Ð»Ñ \"%s\""
+
+#: cp/typeck.c:4418
+msgid "taking address of destructor"
+msgstr ""
+
+#: cp/typeck.c:4431
+msgid "taking address of bound pointer-to-member expression"
+msgstr ""
+
+#: cp/typeck.c:4447
+msgid "cannot create pointer to reference member `%D'"
+msgstr ""
+
+#: cp/typeck.c:4510
+msgid "cannot take the address of `this', which is an rvalue expression"
+msgstr ""
+
+#: cp/typeck.c:4529
+msgid "address requested for `%D', which is declared `register'"
+msgstr ""
+
+#: cp/typeck.c:4750
+msgid "static_cast from type `%T' to type `%T' casts away constness"
+msgstr ""
+
+#: cp/typeck.c:4758
+msgid "invalid static_cast from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4797
+msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4817
+msgid "reinterpret_cast from `%T' to `%T' loses precision"
+msgstr ""
+
+#: cp/typeck.c:4830
+msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
+msgstr ""
+
+#: cp/typeck.c:4839
+msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+msgstr ""
+
+#: cp/typeck.c:4845
+msgid "invalid reinterpret_cast from type `%T' to type `%T'"
+msgstr ""
+
+#: 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:4875
+msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
+msgstr ""
+
+#: cp/typeck.c:4898
+msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4914
+msgid "invalid const_cast from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4956 cp/typeck.c:4961
+msgid "ISO C++ forbids casting to an array type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4969
+#, fuzzy
+msgid "invalid cast to function type `%T'"
+msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+#: cp/typeck.c:5021
+msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
+msgstr ""
+
+#: cp/typeck.c:5067
+msgid "cast from `%T' to `%T' increases required alignment of target type"
+msgstr ""
+
+#: cp/typeck.c:5235
+msgid " in evaluation of `%Q(%#T, %#T)'"
+msgstr ""
+
+#: cp/typeck.c:5277
+msgid "ISO C++ forbids cast to non-reference type used as lvalue"
+msgstr ""
+
+#: cp/typeck.c:5349
+msgid "incompatible types in assignment of `%T' to `%T'"
+msgstr ""
+
+#: cp/typeck.c:5356
+msgid "ISO C++ forbids assignment of arrays"
+msgstr ""
+
+#: cp/typeck.c:5499
+msgid " in pointer to member function conversion"
+msgstr ""
+
+#: cp/typeck.c:5507
+msgid " in pointer to member conversion"
+msgstr ""
+
+#. This is a reinterpret cast, we choose to do nothing.
+#: cp/typeck.c:5518 cp/typeck.c:5537
+msgid "pointer to member cast via virtual base `%T' of `%T'"
+msgstr ""
+
+#: cp/typeck.c:5541
+msgid "pointer to member conversion via virtual base `%T' of `%T'"
+msgstr ""
+
+#: cp/typeck.c:5611
+msgid "invalid conversion to type `%T' from type `%T'"
+msgstr ""
+
+#: cp/typeck.c:5776
+msgid "passing NULL used for non-pointer %s %P of `%D'"
+msgstr ""
+
+#: cp/typeck.c:5779
+msgid "%s to non-pointer type `%T' from NULL"
+msgstr ""
+
+#: cp/typeck.c:5787
+msgid "passing `%T' for %s %P of `%D'"
+msgstr ""
+
+#: cp/typeck.c:5790
+msgid "%s to `%T' from `%T'"
+msgstr ""
+
+#: cp/typeck.c:5800
+msgid "passing negative value `%E' for %s %P of `%D'"
+msgstr ""
+
+#: cp/typeck.c:5803
+msgid "%s of negative value `%E' to `%T'"
+msgstr ""
+
+#: cp/typeck.c:5898
+msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
+msgstr ""
+
+#: cp/typeck.c:5901
+msgid "cannot convert `%T' to `%T' in %s"
+msgstr ""
+
+#: cp/typeck.c:5988 cp/typeck.c:5990
+msgid "in passing argument %P of `%+D'"
+msgstr ""
+
+#: cp/typeck.c:6105
+msgid "returning reference to temporary"
+msgstr ""
+
+#: cp/typeck.c:6112
+msgid "reference to non-lvalue returned"
+msgstr ""
+
+#: cp/typeck.c:6124
+msgid "reference to local variable `%D' returned"
+msgstr ""
+
+#: cp/typeck.c:6127
+msgid "address of local variable `%D' returned"
+msgstr ""
+
+#: 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: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:6169
+msgid "returning a value from a constructor"
+msgstr ""
+
+#: cp/typeck.c:6186
+msgid "return-statement with no value, in function declared with a non-void return type"
+msgstr ""
+
+#: cp/typeck.c:6202
+msgid "return-statement with a value, in function declared with a void return type"
+msgstr ""
+
+#: cp/typeck.c:6223
+msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
+msgstr ""
+
+#: cp/typeck2.c:54
+msgid "type `%T' is not a base type for type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:151
+msgid "cannot declare variable `%D' to be of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:154
+msgid "cannot declare parameter `%D' to be of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:157
+msgid "cannot declare field `%D' to be of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:161
+msgid "invalid return type for member function `%#D'"
+msgstr ""
+
+#: cp/typeck2.c:163
+msgid "invalid return type for function `%#D'"
+msgstr ""
+
+#: cp/typeck2.c:166
+msgid "cannot allocate an object of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:173
+msgid " because the following virtual functions are abstract:"
+msgstr ""
+
+#: cp/typeck2.c:175
+msgid "\t%#D"
+msgstr ""
+
+#: cp/typeck2.c:178
+msgid " since type `%T' has abstract virtual functions"
+msgstr ""
+
+#: cp/typeck2.c:331
+msgid "constructor syntax used, but no constructor declared for type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:342
+msgid "comma expression used to initialize return value"
+msgstr ""
+
+#: cp/typeck2.c:351
+msgid "cannot initialize arrays using this syntax"
+msgstr ""
+
+#: cp/typeck2.c:406
+msgid "ISO C++ forbids non-constant aggregate initializer expressions"
+msgstr ""
+
+#: cp/typeck2.c:490
+msgid "initializing array with parameter list"
+msgstr ""
+
+#: cp/typeck2.c:546
+msgid "initializer for scalar variable requires one element"
+msgstr ""
+
+#: cp/typeck2.c:553
+msgid "braces around scalar initializer for `%T'"
+msgstr ""
+
+#: cp/typeck2.c:556
+msgid "ignoring extra initializers for `%T'"
+msgstr ""
+
+#: cp/typeck2.c:568
+msgid "variable-sized object of type `%T' may not be initialized"
+msgstr ""
+
+#: cp/typeck2.c:578
+msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
+msgstr ""
+
+#: cp/typeck2.c:644
+msgid "aggregate has a partly bracketed initializer"
+msgstr ""
+
+#: cp/typeck2.c:682 cp/typeck2.c:786
+msgid "non-trivial labeled initializers"
+msgstr ""
+
+#: cp/typeck2.c:699
+msgid "non-empty initializer for array of empty elements"
+msgstr ""
+
+#: cp/typeck2.c:752
+msgid "initializer list for object of class with virtual base classes"
+msgstr ""
+
+#: cp/typeck2.c:758
+msgid "initializer list for object of class with base classes"
+msgstr ""
+
+#: cp/typeck2.c:764
+msgid "initializer list for object using virtual functions"
+msgstr ""
+
+#: cp/typeck2.c:827 cp/typeck2.c:843
+#, fuzzy
+msgid "missing initializer for member `%D'"
+msgstr "прапушчан ініцыÑлізатар"
+
+#: cp/typeck2.c:832
+msgid "uninitialized const member `%D'"
+msgstr ""
+
+#: cp/typeck2.c:834
+#, fuzzy
+msgid "member `%D' with uninitialized const fields"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/typeck2.c:837
+#, fuzzy
+msgid "member `%D' is uninitialized reference"
+msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+#: cp/typeck2.c:883
+msgid "index value instead of field name in union initializer"
+msgstr ""
+
+#: cp/typeck2.c:895
+msgid "no field `%D' in union being initialized"
+msgstr ""
+
+#: cp/typeck2.c:903
+msgid "union `%T' with no named members cannot be initialized"
+msgstr ""
+
+#: cp/typeck2.c:939
+msgid "excess elements in aggregate initializer"
+msgstr ""
+
+#: cp/typeck2.c:1053
+msgid "circular pointer delegation detected"
+msgstr ""
+
+#: cp/typeck2.c:1066
+msgid "base operand of `->' has non-pointer type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1080
+msgid "result of `operator->()' yields non-pointer result"
+msgstr ""
+
+#: cp/typeck2.c:1082
+msgid "base operand of `->' is not a pointer"
+msgstr ""
+
+#: cp/typeck2.c:1148
+msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1155
+msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1164
+msgid "member type `%T::' incompatible with object type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1201
+msgid "`%T' fails to be a typedef or built-in type"
+msgstr ""
+
+#: cp/typeck2.c:1274
+#, c-format
+msgid "ISO C++ forbids defining types within %s"
+msgstr ""
+
+#: cp/typeck2.c:1399
+#, fuzzy
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "\"%s\" мае незавершаны тып"
+
+#: cp/typeck2.c:1402
+#, fuzzy
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "\"%s\" мае незавершаны тып"
+
+#. XXX Not i18n clean.
+#: cp/cp-tree.h:3846
+#, c-format
+msgid "%s is deprecated, please see the documentation for details"
+msgstr ""
+
+#: cp/lang-options.h:29
+msgid "Do not obey access control semantics"
+msgstr ""
+
+#: cp/lang-options.h:31
+msgid "Change when template instances are emitted"
+msgstr ""
+
+#: cp/lang-options.h:36
+msgid "Check the return value of new"
+msgstr ""
+
+#: cp/lang-options.h:39
+msgid "Reduce size of object files"
+msgstr ""
+
+#: cp/lang-options.h:43
+msgid "Make string literals `char[]' instead of `const char[]'"
+msgstr ""
+
+#: cp/lang-options.h:46
+msgid "Dump the entire translation unit to a file"
+msgstr ""
+
+#: cp/lang-options.h:48
+msgid "Do not inline member functions by default"
+msgstr ""
+
+#: cp/lang-options.h:51
+msgid "Do not generate run time type descriptor information"
+msgstr ""
+
+#: cp/lang-options.h:56
+msgid "Do not generate code to check exception specifications"
+msgstr ""
+
+#: cp/lang-options.h:61
+msgid "Scope of for-init-statement vars extends outside"
+msgstr ""
+
+#: cp/lang-options.h:64
+msgid "Do not recognize GNU defined keywords"
+msgstr ""
+
+#: cp/lang-options.h:68
+msgid "Enable support for huge objects"
+msgstr ""
+
+#: cp/lang-options.h:72
+msgid "Export functions even if they can be inlined"
+msgstr ""
+
+#: cp/lang-options.h:75
+msgid "Only emit explicit template instatiations"
+msgstr ""
+
+#: cp/lang-options.h:78
+msgid "Only emit explicit instatiations of inline templates"
+msgstr ""
+
+#: cp/lang-options.h:84
+msgid "Don't pedwarn about uses of Microsoft extensions"
+msgstr ""
+
+#: cp/lang-options.h:87
+msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+msgstr ""
+
+#: cp/lang-options.h:91
+msgid "Disable optional diagnostics"
+msgstr ""
+
+#: cp/lang-options.h:93
+msgid "Downgrade conformance errors to warnings"
+msgstr ""
+
+#: cp/lang-options.h:96
+msgid "Enable automatic template instantiation"
+msgstr ""
+
+#: cp/lang-options.h:101
+msgid "Display statistics accumulated during compilation"
+msgstr ""
+
+#: cp/lang-options.h:104
+msgid "Specify maximum template instantiation depth"
+msgstr ""
+
+#: cp/lang-options.h:106
+msgid "Use __cxa_atexit to register destructors"
+msgstr ""
+
+#: cp/lang-options.h:109
+msgid "Discard unused virtual functions"
+msgstr ""
+
+#: cp/lang-options.h:112
+msgid "Implement vtables using thunks"
+msgstr ""
+
+#: cp/lang-options.h:115
+msgid "Emit common-like symbols as weak symbols"
+msgstr ""
+
+#: cp/lang-options.h:118
+msgid "Emit cross referencing information"
+msgstr ""
+
+#: cp/lang-options.h:122
+msgid "Warn about inconsistent return types"
+msgstr ""
+
+#: cp/lang-options.h:125
+msgid "Warn about overloaded virtual function names"
+msgstr ""
+
+#: cp/lang-options.h:129
+msgid "Don't warn when all ctors/dtors are private"
+msgstr ""
+
+#: cp/lang-options.h:131
+msgid "Warn about non virtual destructors"
+msgstr ""
+
+#: cp/lang-options.h:134
+msgid "Warn when a function is declared extern, then inline"
+msgstr ""
+
+#: cp/lang-options.h:137
+msgid "Warn when the compiler reorders code"
+msgstr ""
+
+#: cp/lang-options.h:140
+msgid "Warn when synthesis behavior differs from Cfront"
+msgstr ""
+
+#: cp/lang-options.h:144
+msgid "Don't warn when type converting pointers to member functions"
+msgstr ""
+
+#: cp/lang-options.h:146
+msgid "Warn about violations of Effective C++ style rules"
+msgstr ""
+
+#: cp/lang-options.h:149
+msgid "Warn when overload promotes from unsigned to signed"
+msgstr ""
+
+#: cp/lang-options.h:152
+msgid "Warn if a C style cast is used in a program"
+msgstr ""
+
+#: cp/lang-options.h:156
+msgid "Don't warn when non-templatized friend functions are declared within a template"
+msgstr ""
+
+#: cp/lang-options.h:159
+msgid "Don't announce deprecation of compiler features"
+msgstr ""
+
+#: f/bad.c:387
+msgid "note:"
+msgstr ""
+
+#: f/bad.c:391
+msgid "warning:"
+msgstr "увага:"
+
+#: f/bad.c:395
+msgid "fatal:"
+msgstr ""
+
+#: f/bad.c:437
+msgid "(continued):"
+msgstr ""
+
+#: f/bad.c:487 f/bad.c:505
+msgid "[REPORT BUG!!] %"
+msgstr ""
+
+#: f/bad.c:494 f/bad.c:526
+msgid "[REPORT BUG!!]"
+msgstr ""
+
+#: f/com.c:3132
+#, no-c-format
+msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+msgstr ""
+
+#: f/com.c:11551
+msgid "no INTEGER type can hold a pointer on this configuration"
+msgstr ""
+
+#: f/com.c:11772
+#, c-format
+msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+msgstr ""
+
+#: f/com.c:11774
+#, c-format
+msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+msgstr ""
+
+#: f/com.c:11776
+msgid "properly unless they all are 32 bits wide"
+msgstr ""
+
+#: f/com.c:11777
+msgid "Please keep this in mind before you report bugs."
+msgstr ""
+
+#. I/O will probably crash.
+#: 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:11794
+#, c-format
+msgid ""
+"configuration: char * holds %d bits, but INTEGER only %d --\n"
+" ASSIGN statement might fail"
+msgstr ""
+
+#: f/com.c:13609
+#, fuzzy
+msgid "In statement function"
+msgstr "вельмі шмат аргументаў у функцыі"
+
+#: f/com.c:13619
+msgid "Outside of any program unit:\n"
+msgstr ""
+
+#: f/com.c:15248
+#, no-c-format
+msgid "%A from %B at %0%C"
+msgstr ""
+
+#: f/com.c:15425
+msgid "directory name must immediately follow -I"
+msgstr ""
+
+#: f/com.c:15568
+#, no-c-format
+msgid "At %0, INCLUDE file %A exists, but is not readable"
+msgstr ""
+
+#: f/com.c:15603
+#, no-c-format
+msgid "At %0, INCLUDE nesting too deep"
+msgstr ""
+
+#: f/expr.c:9614
+#, no-c-format
+msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+msgstr ""
+
+#: f/expr.c:9664
+#, no-c-format
+msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+msgstr ""
+
+#: 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:10896
+#, no-c-format
+msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+msgstr ""
+
+#: f/g77spec.c:255
+#, c-format
+msgid "overflowed output arg list for `%s'"
+msgstr ""
+
+#: f/g77spec.c:394
+msgid "--driver no longer supported"
+msgstr ""
+
+#: f/g77spec.c:407
+#, c-format
+msgid "argument to `%s' missing"
+msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#: f/g77spec.c:411
+msgid "no input files; unwilling to write output files"
+msgstr ""
+
+#: f/implic.c:203
+#, fuzzy, no-c-format
+msgid "Implicit declaration of `%A' at %0"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: f/lex.c:326
+#, no-c-format
+msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+msgstr ""
+
+#: f/lex.c:345
+#, no-c-format
+msgid "Unknown escape sequence `\\%A' at %0"
+msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑьць `\\%A' at %0"
+
+#: f/lex.c:354
+#, fuzzy, no-c-format
+msgid "Unterminated escape sequence `\\' at %0"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑць '\\%c'"
+
+#: f/lex.c:365
+#, no-c-format
+msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+msgstr ""
+
+#: f/lex.c:393
+#, no-c-format
+msgid "\\x used at %0 with no following hex digits"
+msgstr ""
+
+#: f/lex.c:407
+#, no-c-format
+msgid "Hex escape at %0 out of range"
+msgstr ""
+
+#: f/lex.c:441
+#, no-c-format
+msgid "Escape sequence at %0 out of range for character"
+msgstr ""
+
+#: f/lex.c:595
+msgid "hex escape out of range"
+msgstr ""
+
+#: f/lex.c:648
+#, c-format
+msgid "non-ANSI-standard escape sequence, `\\%c'"
+msgstr ""
+
+#: f/lex.c:661
+#, fuzzy, c-format
+msgid "non-ISO escape sequence `\\%c'"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑць '\\%c'"
+
+#: f/lex.c:665
+#, c-format
+msgid "unknown escape sequence `\\%c'"
+msgstr ""
+
+#: f/lex.c:667
+#, c-format
+msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+msgstr ""
+
+#: f/lex.c:744
+msgid "badly formed directive -- no closing quote"
+msgstr ""
+
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
+msgstr ""
+
+#: f/lex.c:964
+msgid "bad directive -- missing close-quote"
+msgstr ""
+
+#: f/lex.c:1078
+#, c-format
+msgid "ignoring pragma: %s"
+msgstr ""
+
+#: f/lex.c:1156
+msgid "invalid #ident"
+msgstr ""
+
+#: f/lex.c:1173
+msgid "undefined or invalid # directive"
+msgstr ""
+
+#: f/lex.c:1229
+msgid "invalid #line"
+msgstr ""
+
+#: f/lex.c:1285 f/lex.c:1329
+msgid "use `#line ...' instead of `# ...' in first line"
+msgstr ""
+
+#: f/lex.c:1339
+msgid "invalid #-line"
+msgstr ""
+
+#: f/lex.c:1432
+#, no-c-format
+msgid "Null character at %0 -- line ignored"
+msgstr ""
+
+#: f/stb.c:12078
+#, no-c-format
+msgid "INCLUDE at %0 not the only statement on the source line"
+msgstr ""
+
+#: 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:2624
+#, no-c-format
+msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+msgstr ""
+
+#: f/ste.c:2953
+msgid "ASSIGN to variable that is too small"
+msgstr ""
+
+#: f/ste.c:2981
+msgid "ASSIGNed GOTO target variable is too small"
+msgstr ""
+
+#: f/stu.c:305
+#, no-c-format
+msgid "Local adjustable symbol `%A' at %0"
+msgstr ""
+
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr ""
+
+#: f/top.c:237
+#, c-format
+msgid "%s no longer supported -- try -fvxt"
+msgstr ""
+
+#: f/top.c:239
+#, c-format
+msgid "%s no longer supported -- try -fno-vxt -ff90"
+msgstr ""
+
+#: f/top.c:307 f/top.c:309
+#, c-format
+msgid "%s disabled, use normal debugging flags"
+msgstr ""
+
+#: f/lang-options.h:33
+msgid "Print g77-specific compiler version info, run internal tests"
+msgstr ""
+
+#: f/lang-options.h:37
+msgid "Program is written in typical FORTRAN 66 dialect"
+msgstr ""
+
+#: f/lang-options.h:40
+msgid "Program is written in typical Unix f77 dialect"
+msgstr ""
+
+#: f/lang-options.h:42
+msgid "Program does not use Unix-f77 dialectal features"
+msgstr ""
+
+#: f/lang-options.h:44
+msgid "Program is written in Fortran-90-ish dialect"
+msgstr ""
+
+#: f/lang-options.h:48
+msgid "Treat local vars and COMMON blocks as if they were named in SAVE statements"
+msgstr ""
+
+#: f/lang-options.h:50
+msgid "Allow $ in symbol names"
+msgstr ""
+
+#: f/lang-options.h:54
+msgid "f2c-compatible code need not be generated"
+msgstr ""
+
+#: f/lang-options.h:57
+msgid "Unsupported; do not generate libf2c-calling code"
+msgstr ""
+
+#: f/lang-options.h:59
+msgid "Unsupported; affects code-generation of arrays"
+msgstr ""
+
+#: f/lang-options.h:62
+msgid "Program is written in Fortran-90-ish free form"
+msgstr ""
+
+#: f/lang-options.h:67
+msgid "Warn about use of (only a few for now) Fortran extensions"
+msgstr ""
+
+#: f/lang-options.h:70
+msgid "Program is written in VXT (Digital-like) FORTRAN"
+msgstr ""
+
+#: f/lang-options.h:73
+msgid "Disallow all ugly features"
+msgstr ""
+
+#: f/lang-options.h:76
+msgid "Hollerith and typeless constants not passed as arguments"
+msgstr ""
+
+#: f/lang-options.h:78
+msgid "Allow ordinary copying of ASSIGN'ed vars"
+msgstr ""
+
+#: f/lang-options.h:81
+msgid "Dummy array dimensioned to (1) is assumed-size"
+msgstr ""
+
+#: f/lang-options.h:84
+msgid "Trailing comma in procedure call denotes null argument"
+msgstr ""
+
+#: f/lang-options.h:87
+msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+msgstr ""
+
+#: f/lang-options.h:91
+msgid "Initialization via DATA and PARAMETER is type-compatible"
+msgstr ""
+
+#: f/lang-options.h:93
+msgid "Allow INTEGER and LOGICAL interchangeability"
+msgstr ""
+
+#: f/lang-options.h:96
+msgid "Print internal debugging-related info"
+msgstr ""
+
+#: f/lang-options.h:99
+msgid "Initialize local vars and arrays to zero"
+msgstr ""
+
+#: f/lang-options.h:103
+msgid "Backslashes in character/hollerith constants not special (C-style)"
+msgstr ""
+
+#: f/lang-options.h:105
+msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+msgstr ""
+
+#: f/lang-options.h:109
+msgid "Disable the appending of underscores to externals"
+msgstr ""
+
+#: f/lang-options.h:112
+msgid "Never append a second underscore to externals"
+msgstr ""
+
+#: f/lang-options.h:114
+msgid "Intrinsics spelled as e.g. SqRt"
+msgstr ""
+
+#: f/lang-options.h:116
+msgid "Intrinsics in uppercase"
+msgstr ""
+
+#: f/lang-options.h:119
+msgid "Intrinsics letters in arbitrary cases"
+msgstr ""
+
+#: f/lang-options.h:121
+msgid "Language keywords spelled as e.g. IOStat"
+msgstr ""
+
+#: f/lang-options.h:123
+msgid "Language keywords in uppercase"
+msgstr ""
+
+#: f/lang-options.h:126
+msgid "Language keyword letters in arbitrary cases"
+msgstr ""
+
+#: f/lang-options.h:128
+msgid "Internally convert most source to uppercase"
+msgstr ""
+
+#: f/lang-options.h:131
+msgid "Internally preserve source case"
+msgstr ""
+
+#: f/lang-options.h:133
+msgid "Symbol names spelled in mixed case"
+msgstr ""
+
+#: f/lang-options.h:135
+msgid "Symbol names in uppercase"
+msgstr ""
+
+#: f/lang-options.h:137
+msgid "Symbol names in lowercase"
+msgstr ""
+
+#: f/lang-options.h:140
+msgid "Program written in uppercase"
+msgstr ""
+
+#: f/lang-options.h:142
+msgid "Program written in lowercase"
+msgstr ""
+
+#: f/lang-options.h:144
+msgid "Program written in strict mixed-case"
+msgstr ""
+
+#: f/lang-options.h:146
+msgid "Compile as if program written in uppercase"
+msgstr ""
+
+#: f/lang-options.h:148
+msgid "Compile as if program written in lowercase"
+msgstr ""
+
+#: f/lang-options.h:150
+msgid "Preserve all spelling (case) used in program"
+msgstr ""
+
+#: f/lang-options.h:152
+msgid "Delete libU77 intrinsics with bad interfaces"
+msgstr ""
+
+#: f/lang-options.h:154
+msgid "Disable libU77 intrinsics with bad interfaces"
+msgstr ""
+
+#: f/lang-options.h:157
+msgid "Hide libU77 intrinsics with bad interfaces"
+msgstr ""
+
+#: f/lang-options.h:159
+msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
+msgstr ""
+
+#: f/lang-options.h:161
+msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
+msgstr ""
+
+#: f/lang-options.h:164
+msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
+msgstr ""
+
+#: f/lang-options.h:166
+msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:168
+msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:171
+msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:173
+msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
+msgstr ""
+
+#: f/lang-options.h:175
+msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:178
+msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:180
+msgid "Delete MIL-STD 1753 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:182
+msgid "Disable MIL-STD 1753 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:185
+msgid "Hide MIL-STD 1753 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:187
+msgid "Delete libU77 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:189
+msgid "Disable libU77 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:192
+msgid "Hide libU77 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:194
+msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
+
+#: f/lang-options.h:196
+msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
+
+#: f/lang-options.h:199
+msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
+
+#: f/lang-options.h:201
+msgid "Treat initial values of 0 like non-zero values"
+msgstr ""
+
+#: f/lang-options.h:204
+msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+msgstr ""
+
+#: f/lang-options.h:207
+msgid "Take at least one trip through each iterative DO loop"
+msgstr ""
+
+#: f/lang-options.h:211
+msgid "Print names of program units as they are compiled"
+msgstr ""
+
+#: f/lang-options.h:214
+msgid "Disable fatal diagnostics about inter-procedural problems"
+msgstr ""
+
+#: f/lang-options.h:216
+msgid "Make prefix-radix non-decimal constants be typeless"
+msgstr ""
+
+#: f/lang-options.h:219
+msgid "Generate code to check subscript and substring bounds"
+msgstr ""
+
+#: f/lang-options.h:222
+msgid "Fortran-specific form of -fbounds-check"
+msgstr ""
+
+#: f/lang-options.h:226
+msgid "Disable warnings about inter-procedural problems"
+msgstr ""
+
+#: f/lang-options.h:230
+msgid "Warn about constructs with surprising meanings"
+msgstr ""
+
+#: f/lang-options.h:235
+msgid "Add a directory for INCLUDE searching"
+msgstr ""
+
+#: f/lang-options.h:237
+msgid "Set the maximum line length"
+msgstr ""
+
+#: f/bad.def:39
+#, no-c-format
+msgid "Missing first operand for binary operator at %0"
+msgstr ""
+
+#: f/bad.def:42
+#, fuzzy, no-c-format
+msgid "Zero-length character constant at %0"
+msgstr "пуÑÑ‚Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+#: f/bad.def:45
+#, no-c-format
+msgid "Invalid token at %0 in expression or subexpression at %1"
+msgstr ""
+
+#: f/bad.def:48
+#, no-c-format
+msgid "Missing operand for operator at %1 at end of expression at %0"
+msgstr ""
+
+#: f/bad.def:51
+#, no-c-format
+msgid "Label %A already defined at %1 when redefined at %0"
+msgstr ""
+
+#: f/bad.def:54
+#, no-c-format
+msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:57
+#, no-c-format
+msgid "Label definition %A at %0 on empty statement (as of %1)"
+msgstr ""
+
+#: f/bad.def:65
+#, no-c-format
+msgid "Invalid first character at %0 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:68
+#, no-c-format
+msgid "Line too long as of %0 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:71
+#, no-c-format
+msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:74
+#, no-c-format
+msgid "Label number at %0 not in range 1-99999"
+msgstr ""
+
+#: f/bad.def:77
+#, no-c-format
+msgid "At %0, '!' and '/*' are not valid comment delimiters"
+msgstr ""
+
+#: f/bad.def:80
+#, no-c-format
+msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:83
+#, no-c-format
+msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:91
+#, fuzzy, no-c-format
+msgid "Character constant at %0 has no closing apostrophe at %1"
+msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+#: f/bad.def:94
+#, no-c-format
+msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+msgstr ""
+
+#: f/bad.def:97
+#, no-c-format
+msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+msgstr ""
+
+#: f/bad.def:100
+#, no-c-format
+msgid "Integer at %0 too large"
+msgstr ""
+
+#: f/bad.def:123
+#, no-c-format
+msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+msgstr ""
+
+#: f/bad.def:126
+#, no-c-format
+msgid "Missing close-period between `.%A' at %0 and %1"
+msgstr ""
+
+#: f/bad.def:129
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+msgstr ""
+
+#: f/bad.def:132
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
+msgstr ""
+
+#: f/bad.def:135
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
+msgstr ""
+
+#: f/bad.def:253
+#, no-c-format
+msgid "Semicolon at %0 is an invalid token"
+msgstr ""
+
+#: f/bad.def:271
+#, no-c-format
+msgid "Extraneous comma in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:274
+#, no-c-format
+msgid "Missing comma in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:277
+#, no-c-format
+msgid "Spurious sign in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:280
+#, no-c-format
+msgid "Spurious number in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:283
+#, no-c-format
+msgid "Spurious text trailing number in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:291
+#, no-c-format
+msgid "Unrecognized FORMAT specifier at %0"
+msgstr ""
+
+#: f/bad.def:419
+#, no-c-format
+msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:422
+#, no-c-format
+msgid "Missing number following period in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:425
+#, no-c-format
+msgid "Missing number following `E' in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:433
+#, no-c-format
+msgid "Spurious trailing comma preceding terminator at %0"
+msgstr ""
+
+#: f/bad.def:436
+#, no-c-format
+msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+msgstr ""
+
+#: f/bad.def:439
+#, no-c-format
+msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+msgstr ""
+
+#: f/bad.def:452
+#, no-c-format
+msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+msgstr ""
+
+#: f/bad.def:455
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with its definition at %0"
+msgstr ""
+
+#: f/bad.def:458
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+msgstr ""
+
+#: f/bad.def:461
+#, no-c-format
+msgid "DO-statement reference to label at %1 follows its definition at %0"
+msgstr ""
+
+#: f/bad.def:464
+#, no-c-format
+msgid "Reference to label at %1 is outside block containing definition at %0"
+msgstr ""
+
+#: f/bad.def:467
+#, no-c-format
+msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+msgstr ""
+
+#: f/bad.def:470
+#, no-c-format
+msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+msgstr ""
+
+#: f/bad.def:473
+#, no-c-format
+msgid "Label definition at %0 invalid on this kind of statement"
+msgstr ""
+
+#: f/bad.def:476
+#, no-c-format
+msgid "Statement at %0 invalid in this context"
+msgstr ""
+
+#: f/bad.def:479
+#, no-c-format
+msgid "Statement at %0 invalid in context established by statement at %1"
+msgstr ""
+
+#: f/bad.def:482
+#, no-c-format
+msgid "Statement at %0 must specify construct name specified at %1"
+msgstr ""
+
+#: f/bad.def:485
+#, no-c-format
+msgid "Construct name at %0 superfluous, no construct name specified at %1"
+msgstr ""
+
+#: f/bad.def:488
+#, no-c-format
+msgid "Construct name at %0 not the same as construct name at %1"
+msgstr ""
+
+#: f/bad.def:491
+#, no-c-format
+msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+msgstr ""
+
+#: f/bad.def:494
+#, no-c-format
+msgid "Label definition missing at %0 for DO construct specifying label at %1"
+msgstr ""
+
+#: f/bad.def:497
+#, no-c-format
+msgid "Statement at %0 follows ELSE block for IF construct at %1"
+msgstr ""
+
+#: f/bad.def:500
+#, no-c-format
+msgid "No label definition for FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:503
+#, no-c-format
+msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+msgstr ""
+
+#: f/bad.def:506
+#, no-c-format
+msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+msgstr ""
+
+#: f/bad.def:509
+#, no-c-format
+msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+msgstr ""
+
+#: f/bad.def:512
+#, no-c-format
+msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+msgstr ""
+
+#: f/bad.def:515
+#, no-c-format
+msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+msgstr ""
+
+#: f/bad.def:518
+#, no-c-format
+msgid "Program unit name at %0 not the same as name at %1"
+msgstr ""
+
+#: f/bad.def:521
+#, no-c-format
+msgid "Type name at %0 not the same as name at %1"
+msgstr ""
+
+#: f/bad.def:524
+#, no-c-format
+msgid "End of source file before end of block started at %0"
+msgstr ""
+
+#: f/bad.def:527
+#, no-c-format
+msgid "Undefined label, first referenced at %0"
+msgstr ""
+
+#: f/bad.def:530
+#, no-c-format
+msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
+msgstr ""
+
+#: f/bad.def:533
+#, no-c-format
+msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
+msgstr ""
+
+#: f/bad.def:536
+#, no-c-format
+msgid "RETURN statement at %0 invalid within a main program unit"
+msgstr ""
+
+#: f/bad.def:539
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a main program unit"
+msgstr ""
+
+#: f/bad.def:542
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a function"
+msgstr ""
+
+#: f/bad.def:545
+#, no-c-format
+msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
+msgstr ""
+
+#: f/bad.def:548
+#, no-c-format
+msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+msgstr ""
+
+#: f/bad.def:551
+#, no-c-format
+msgid "No components specified as of %0 for derived-type definition beginning at %1"
+msgstr ""
+
+#: f/bad.def:554
+#, no-c-format
+msgid "No components specified as of %0 for structure definition beginning at %1"
+msgstr ""
+
+#: f/bad.def:557
+#, no-c-format
+msgid "Missing structure name for outer structure definition at %0"
+msgstr ""
+
+#: f/bad.def:560
+#, no-c-format
+msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+msgstr ""
+
+#: f/bad.def:563
+#, no-c-format
+msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+msgstr ""
+
+#: f/bad.def:566
+#, no-c-format
+msgid "No components specified as of %0 for map beginning at %1"
+msgstr ""
+
+#: f/bad.def:569
+#, no-c-format
+msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+msgstr ""
+
+#: f/bad.def:572
+#, no-c-format
+msgid "Missing %A specifier in statement at %0"
+msgstr ""
+
+#: f/bad.def:575
+#, no-c-format
+msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+msgstr ""
+
+#: f/bad.def:578
+#, no-c-format
+msgid "Conflicting I/O control specifications at %0 and %1"
+msgstr ""
+
+#: f/bad.def:581
+#, no-c-format
+msgid "No UNIT= specifier in I/O control list at %0"
+msgstr ""
+
+#: f/bad.def:584
+#, no-c-format
+msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+msgstr ""
+
+#: f/bad.def:587
+#, no-c-format
+msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+msgstr ""
+
+#: f/bad.def:595
+#, no-c-format
+msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+msgstr ""
+
+#: f/bad.def:598
+#, no-c-format
+msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+msgstr ""
+
+#: f/bad.def:601
+#, no-c-format
+msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+msgstr ""
+
+#: f/bad.def:604
+#, no-c-format
+msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+msgstr ""
+
+#: f/bad.def:617
+#, no-c-format
+msgid "Fortran 90 feature at %0 unsupported"
+msgstr ""
+
+#: f/bad.def:630
+#, no-c-format
+msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+msgstr ""
+
+#: f/bad.def:638
+#, no-c-format
+msgid "Null element at %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:641
+#, no-c-format
+msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:644
+#, no-c-format
+msgid "Too many elements as of %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:647
+#, no-c-format
+msgid "Missing colon as of %0 in substring reference for %1"
+msgstr ""
+
+#: f/bad.def:650
+#, no-c-format
+msgid "Invalid use at %0 of substring operator on %1"
+msgstr ""
+
+#: f/bad.def:653
+#, no-c-format
+msgid "Substring begin/end point at %0 out of defined range"
+msgstr ""
+
+#: f/bad.def:656
+#, no-c-format
+msgid "Array element value at %0 out of defined range"
+msgstr ""
+
+#: f/bad.def:659
+#, no-c-format
+msgid "Expression at %0 has incorrect data type or rank for its context"
+msgstr ""
+
+#: f/bad.def:662
+#, no-c-format
+msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+msgstr ""
+
+#: f/bad.def:665
+#, no-c-format
+msgid "%A step count known to be 0 (zero) at %0"
+msgstr ""
+
+#: f/bad.def:668
+#, no-c-format
+msgid "%A end value plus step count known to overflow at %0"
+msgstr ""
+
+#: f/bad.def:671
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+msgstr ""
+
+#: f/bad.def:674
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+msgstr ""
+
+#: f/bad.def:677
+#, no-c-format
+msgid "Type disagreement between expressions at %0 and %1"
+msgstr ""
+
+#: f/bad.def:690
+#, no-c-format
+msgid "No specification for implied-DO iterator `%A' at %0"
+msgstr ""
+
+#: f/bad.def:693
+#, no-c-format
+msgid "Gratuitous parentheses surround implied-DO construct at %0"
+msgstr ""
+
+#: f/bad.def:696
+#, no-c-format
+msgid "Zero-size specification invalid at %0"
+msgstr ""
+
+#: f/bad.def:699
+#, no-c-format
+msgid "Zero-size array at %0"
+msgstr ""
+
+#: f/bad.def:702
+#, no-c-format
+msgid "Target machine does not support complex entity of kind specified at %0"
+msgstr ""
+
+#: f/bad.def:705
+#, no-c-format
+msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
+msgstr ""
+
+#: f/bad.def:708
+#, no-c-format
+msgid "Attempt to raise constant zero to a power at %0"
+msgstr ""
+
+#: f/bad.def:806
+#, no-c-format
+msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
+msgstr ""
+
+#: f/bad.def:809
+#, no-c-format
+msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
+msgstr ""
+
+#: f/bad.def:812
+#, no-c-format
+msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
+msgstr ""
+
+#: f/bad.def:815
+#, no-c-format
+msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
+msgstr ""
+
+#: f/bad.def:818
+#, no-c-format
+msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
+msgstr ""
+
+#: f/bad.def:821
+#, fuzzy, no-c-format
+msgid "Unable to open INCLUDE file `%A' at %0"
+msgstr "немагу адчыніць файл \"%s\""
+
+#: f/bad.def:839
+#, no-c-format
+msgid "Null argument at %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:842
+#, no-c-format
+msgid "Null argument at %0 for procedure invocation at %1"
+msgstr ""
+
+#: f/bad.def:845
+#, no-c-format
+msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:848
+#, no-c-format
+msgid "%A too many arguments as of %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:851
+#, no-c-format
+msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
+msgstr ""
+
+#: f/bad.def:854
+#, no-c-format
+msgid "Unsupported FORMAT specifier at %0"
+msgstr ""
+
+#: f/bad.def:857
+#, no-c-format
+msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
+msgstr ""
+
+#: f/bad.def:880
+#, no-c-format
+msgid "Unsupported VXT statement at %0"
+msgstr ""
+
+#: f/bad.def:883
+#, no-c-format
+msgid "Attempt to specify second initial value for `%A' at %0"
+msgstr ""
+
+#: f/bad.def:886
+#, no-c-format
+msgid "Too few initial values in list of initializers for `%A' at %0"
+msgstr ""
+
+#: f/bad.def:889
+#, no-c-format
+msgid "Too many initial values in list of initializers starting at %0"
+msgstr ""
+
+#: f/bad.def:892
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in statement at %0"
+msgstr ""
+
+#: f/bad.def:895
+#, no-c-format
+msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:898
+#, no-c-format
+msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:901
+#, no-c-format
+msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:904
+#, no-c-format
+msgid "Not an integer constant expression in implied do-loop in statement at %0"
+msgstr ""
+
+#: f/bad.def:907
+#, no-c-format
+msgid "Attempt to specify second initial value for element of `%A' at %0"
+msgstr ""
+
+#: f/bad.def:910
+#, no-c-format
+msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
+msgstr ""
+
+#: f/bad.def:913
+#, no-c-format
+msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+msgstr ""
+
+#: f/bad.def:916
+#, no-c-format
+msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+msgstr ""
+
+#: f/bad.def:919
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:922
+#, no-c-format
+msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:925
+#, no-c-format
+msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:928
+#, no-c-format
+msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
+msgstr ""
+
+#: f/bad.def:936
+#, no-c-format
+msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
+msgstr ""
+
+#: f/bad.def:939
+#, no-c-format
+msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:942
+#, no-c-format
+msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:945
+#, no-c-format
+msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
+msgstr ""
+
+#: f/bad.def:958
+#, no-c-format
+msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
+msgstr ""
+
+#: f/bad.def:976
+#, no-c-format
+msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
+msgstr ""
+
+#: f/bad.def:979
+#, no-c-format
+msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
+msgstr ""
+
+#: f/bad.def:987
+#, no-c-format
+msgid "Blank common initialized at %0"
+msgstr ""
+
+#: f/bad.def:990
+#, no-c-format
+msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
+msgstr ""
+
+#: f/bad.def:993
+#, no-c-format
+msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
+msgstr ""
+
+#: f/bad.def:996
+#, no-c-format
+msgid "Character `%A' (for example) is upper-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:999
+#, no-c-format
+msgid "Character `%A' (for example) is lower-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1002
+#, no-c-format
+msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1005
+#, no-c-format
+msgid "Initial character `%A' is lower-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1013
+#, no-c-format
+msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
+msgstr ""
+
+#: f/bad.def:1016
+#, no-c-format
+msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
+msgstr ""
+
+#: f/bad.def:1034
+#, no-c-format
+msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
+msgstr ""
+
+#: f/bad.def:1037
+#, fuzzy, no-c-format
+msgid "Truncating characters on right side of character constant at %0"
+msgstr "мнагаÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+#: f/bad.def:1040
+#, no-c-format
+msgid "Truncating characters on right side of hollerith constant at %0"
+msgstr ""
+
+#: f/bad.def:1043
+#, no-c-format
+msgid "Truncating non-zero data on left side of numeric constant at %0"
+msgstr ""
+
+#: f/bad.def:1046
+#, no-c-format
+msgid "Truncating non-zero data on left side of typeless constant at %0"
+msgstr ""
+
+#: f/bad.def:1049
+#, no-c-format
+msgid "Typeless constant at %0 too large"
+msgstr ""
+
+#: f/bad.def:1052
+#, no-c-format
+msgid "First-column ampersand continuation at %0"
+msgstr ""
+
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
+msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
+msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
+msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1073
+#, no-c-format
+msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1076
+#, no-c-format
+msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
+msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1085
+#, fuzzy, no-c-format
+msgid "Array `%A' at %0 is too large to handle"
+msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+#: f/bad.def:1088
+#, fuzzy, no-c-format
+msgid "Statement function `%A' defined at %0 is not used"
+msgstr "метка \"%s\" вызначана, але не выкарыÑтоўваецца"
+
+#: f/bad.def:1091
+#, no-c-format
+msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
+msgstr ""
+
+#: f/bad.def:1094
+#, no-c-format
+msgid "Internal compiler error -- cannot perform operation"
+msgstr ""
+
+#. Kind messages are used in diagnostic location reports of the
+#. form "<file>: In function `foo': <error message>".
+#: f/info-k.def:32
+msgid "In unknown kind"
+msgstr ""
+
+#: f/info-k.def:33
+msgid "In entity"
+msgstr ""
+
+#: f/info-k.def:34
+msgid "In function"
+msgstr "У функцыі"
+
+#: f/info-k.def:35
+msgid "In subroutine"
+msgstr ""
+
+#: f/info-k.def:36
+msgid "In program"
+msgstr "У праграме"
+
+#: f/info-k.def:37
+msgid "In block-data unit"
+msgstr ""
+
+#: f/info-k.def:38
+msgid "In common block"
+msgstr ""
+
+#: f/info-k.def:39
+msgid "In construct"
+msgstr "У канÑтрукцыі"
+
+#: f/info-k.def:40
+msgid "In namelist"
+msgstr ""
+
+#: f/info-k.def:41
+msgid "In anything"
+msgstr ""
+
+#: java/check-init.c:917
+#, c-format
+msgid "internal error in check-init: tree code not implemented: %s"
+msgstr ""
+
+#: java/check-init.c:990
+#, c-format
+msgid "final field '%s' may not have been initialized"
+msgstr ""
+
+#: java/class.c:539 java/class.c:564
+msgid "internal error - too many interface type"
+msgstr ""
+
+#: java/class.c:677
+msgid "bad method signature"
+msgstr ""
+
+#: java/class.c:726
+msgid "misplaced ConstantValue attribute (not in any field)"
+msgstr ""
+
+#: java/class.c:728
+#, c-format
+msgid "duplicate ConstantValue attribute for field '%s'"
+msgstr ""
+
+#: java/class.c:739
+#, c-format
+msgid "ConstantValue attribute of field '%s' has wrong type"
+msgstr ""
+
+#: java/class.c:1103
+#, c-format
+msgid "field '%s' not found in class"
+msgstr "поле \"%s\" не знойдзена Ñž клаÑе"
+
+#: java/class.c:1365
+msgid "abstract method in non-abstract class"
+msgstr "абÑтрактны метад у неабÑтрактным клаÑе"
+
+#: java/class.c:2067
+#, c-format
+msgid "non-static method '%s' overrides static method"
+msgstr ""
+
+#: java/decl.c:1537
+#, c-format
+msgid "In %s: overlapped variable and exception ranges at %d"
+msgstr ""
+
+#: java/decl.c:1618
+msgid "bad type in parameter debug info"
+msgstr ""
+
+#: java/decl.c:1628
+#, c-format
+msgid "bad PC range for debug info for local `%s'"
+msgstr ""
+
+#: java/expr.c:530
+msgid "stack underflow - dup* operation"
+msgstr ""
+
+#: java/expr.c:1536
+#, c-format
+msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
+msgstr ""
+
+#: java/expr.c:1565
+#, c-format
+msgid "field `%s' not found"
+msgstr ""
+
+#: java/expr.c:1717
+msgid "ret instruction not implemented"
+msgstr ""
+
+#: java/expr.c:1852
+#, c-format
+msgid "method '%s' not found in class"
+msgstr "метад \"%s\" не знойдзен у клаÑе"
+
+#: java/expr.c:2055
+#, c-format
+msgid "failed to find class '%s'"
+msgstr "не знойдзен ÐºÐ»Ð°Ñ \"%s\""
+
+#: java/expr.c:2065
+#, c-format
+msgid "class '%s' has no method named '%s' matching signature '%s'"
+msgstr ""
+
+#: java/expr.c:2075
+msgid "invokestatic on non static method"
+msgstr ""
+
+#: java/expr.c:2080
+msgid "invokestatic on abstract method"
+msgstr ""
+
+#: java/expr.c:2088
+msgid "invoke[non-static] on static method"
+msgstr ""
+
+#: java/expr.c:2373
+#, c-format
+msgid "missing field '%s' in '%s'"
+msgstr "прапушчана поле '%s' у '%s'"
+
+#: java/expr.c:2379
+#, fuzzy, c-format
+msgid "mismatching signature for field '%s' in '%s'"
+msgstr "Прапушчана поле \"%s\" у \"%s\""
+
+#: java/expr.c:2402
+#, c-format
+msgid "assignment to final field `%s' not in field's class"
+msgstr ""
+
+#: java/expr.c:2407
+#, c-format
+msgid "assignment to final static field `%s' not in class initializer"
+msgstr ""
+
+#: java/expr.c:2414
+#, c-format
+msgid "assignment to final field `%s' not in constructor"
+msgstr ""
+
+#: java/expr.c:2661
+#, fuzzy, c-format
+msgid "can't expand %s"
+msgstr "не магу прачытаць з %s"
+
+#: 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: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:2920
+#, c-format
+msgid "unreachable bytecode from %d to the end of the method"
+msgstr ""
+
+#. duplicate code from LOAD macro
+#: java/expr.c:3238
+msgid "unrecogized wide sub-instruction"
+msgstr ""
+
+#: 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:338
+msgid "bad string constant"
+msgstr ""
+
+#: java/jcf-parse.c:356
+#, c-format
+msgid "bad value constant type %d, index %d"
+msgstr ""
+
+#: java/jcf-parse.c:528
+#, c-format
+msgid "can't reopen %s"
+msgstr ""
+
+#: java/jcf-parse.c:533
+#, c-format
+msgid "can't close %s"
+msgstr "не магу зачыніць %s"
+
+#: java/jcf-parse.c:615
+#, c-format
+msgid "cannot find file for class %s"
+msgstr "немагчыма знайÑьці файл Ð´Ð»Ñ ÐºÐ»ÑÑа %s"
+
+#: java/jcf-parse.c:627
+msgid "not a valid Java .class file"
+msgstr ""
+
+#: java/jcf-parse.c:630
+msgid "error while parsing constant pool"
+msgstr ""
+
+#: 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:645
+#, c-format
+msgid "reading class %s for the second time from %s"
+msgstr ""
+
+#: java/jcf-parse.c:663
+msgid "error while parsing fields"
+msgstr ""
+
+#: java/jcf-parse.c:666
+msgid "error while parsing methods"
+msgstr ""
+
+#: java/jcf-parse.c:669
+msgid "error while parsing final attributes"
+msgstr ""
+
+#: java/jcf-parse.c:683
+#, c-format
+msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
+msgstr ""
+
+#: java/jcf-parse.c:773
+msgid "missing Code attribute"
+msgstr ""
+
+#: java/jcf-parse.c:1010
+msgid "source file seen twice on command line and will be compiled only once"
+msgstr ""
+
+#: java/jcf-parse.c:1026
+msgid "no input file specified"
+msgstr "не зададзены ўваходзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹"
+
+#: java/jcf-parse.c:1055
+#, c-format
+msgid "can't close input file %s"
+msgstr "немагчыма зачыніць уваходзÑчы файл %s"
+
+#: java/jcf-parse.c:1092
+#, c-format
+msgid "bad zip/jar file %s"
+msgstr "дрÑнны zip/jar файл \"%s\""
+
+#: java/jcf-write.c:2641
+#, c-format
+msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
+msgstr ""
+
+#: java/jcf-write.c:2979
+#, fuzzy
+msgid "field initializer type mismatch"
+msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+#: java/jcf-write.c:3387
+#, c-format
+msgid "can't create directory %s"
+msgstr "немагчыма Ñтварыць дырÑкторыю \"%s\""
+
+#: java/jcf-write.c:3441
+#, fuzzy, c-format
+msgid "can't create %s"
+msgstr "не магу зачыніць %s"
+
+#: java/jv-scan.c:187
+msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
+msgstr ""
+
+#: java/jv-scan.c:190
+#, c-format
+msgid "can't open output file `%s'"
+msgstr "немагчыма адчыніць файл уводу `%s'"
+
+#: java/jv-scan.c:224
+#, c-format
+msgid "file not found `%s'"
+msgstr "файл `%s' Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½"
+
+#: java/jvspec.c:426
+msgid "can't specify `-D' without `--main'\n"
+msgstr ""
+
+#: java/jvspec.c:429
+#, c-format
+msgid "`%s' is not a valid class name"
+msgstr ""
+
+#: java/jvspec.c:435
+msgid "--resource requires -o"
+msgstr ""
+
+#: java/jvspec.c:442
+msgid "warning: already-compiled .class files ignored with -C"
+msgstr ""
+
+#: java/jvspec.c:449
+msgid "cannot specify both -C and -o"
+msgstr ""
+
+#: java/jvspec.c:461
+msgid "cannot create temporary file"
+msgstr "немагчыма Ñтварыць чаÑовы файл"
+
+#: java/jvspec.c:489
+msgid "using both @FILE with multiple files not implemented"
+msgstr ""
+
+#: java/jvspec.c:538
+msgid "cannot specify `main' class when not linking"
+msgstr ""
+
+#: java/lang.c:543
+msgid "can't do dependency tracking with input from stdin"
+msgstr ""
+
+#: java/lang.c:559
+msgid "couldn't determine target name for dependency tracking"
+msgstr ""
+
+#: java/lex.c:303
+#, c-format
+msgid ""
+"unknown encoding: `%s'\n"
+"This might mean that your locale's encoding is not supported\n"
+"by your system's iconv(3) implementation. If you aren't trying\n"
+"to use a particular encoding for your input file, try the\n"
+"`--encoding=UTF-8' option"
+msgstr ""
+
+#: java/mangle.c:85
+#, fuzzy, c-format
+msgid "can't mangle %s"
+msgstr "не магу зачыніць %s"
+
+#: java/mangle_name.c:144 java/mangle_name.c:216
+msgid "internal error - invalid Utf8 name"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:809
+msgid "Class or interface declaration expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848
+msgid "Missing class name"
+msgstr "Прапушчана назва клаÑа"
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:865
+msgid "Missing super class name"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891
+msgid "Missing interface name"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:977
+msgid "Missing variable initializer"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:994
+msgid "Invalid declaration"
+msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1001
+msgid "Unbalanced ']'"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1037
+msgid "Invalid method declaration, method name required"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1057
+msgid "Invalid method declaration, return type required"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1096
+msgid "Missing formal parameter term"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116
+msgid "Missing identifier"
+msgstr "Прапушчан ідÑнтыфікатар"
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1136 ../../gcc-3cvs/gcc/java/parse.y:1145
+msgid "Missing class type term"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1301
+msgid "Invalid interface type"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1494 ../../gcc-3cvs/gcc/java/parse.y:1663
+#: ../../gcc-3cvs/gcc/java/parse.y:1665
+msgid "':' expected"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1614
+msgid "Missing term or ')'"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1661
+msgid "Missing or invalid constant expression"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1682
+msgid "Missing term and ')' expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1721
+msgid "Invalid control expression"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725
+msgid "Invalid update expression"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1750
+msgid "Invalid init statement"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1941
+msgid "Missing term or ')' expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1983
+msgid "'class' or 'this' expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987
+msgid "'class' expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2032
+msgid "')' or term expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2151
+msgid "'[' expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2229
+msgid "Field expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2286 ../../gcc-3cvs/gcc/java/parse.y:2296
+msgid "Missing term and ']' expected"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2400
+msgid "']' expected, invalid type expression"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2403
+msgid "Invalid type expression"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2515
+msgid "Invalid reference type"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2993
+msgid "Constructor invocation must be first thing in a constructor"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2995
+msgid "Only constructors can invoke constructors"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:3004
+#, c-format
+msgid ": `%s' JDK1.1(TM) feature"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066
+#, c-format
+msgid ""
+"%s.\n"
+"%s"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:6867
+#, c-format
+msgid "malformed .zip archive in CLASSPATH: %s"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:12266
+#, c-format
+msgid "missing static field `%s'"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:12271
+#, c-format
+msgid "not a static field `%s'"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:12314
+#, c-format
+msgid "No case for %s"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:13240
+#, c-format
+msgid "unregistered operator %s"
+msgstr "нераÑпазнаны аператар %s"
+
+#: java/typeck.c:553
+msgid "junk at end of signature string"
+msgstr ""
+
+#: java/verify.c:479
+msgid "bad pc in exception_table"
+msgstr ""
+
+#: 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:1465 java/verify.c:1478 java/verify.c:1482
+#, c-format
+msgid "verification error at PC=%d"
+msgstr ""
+
+#: java/lang-options.h:32
+msgid "Disable automatic array bounds checking"
+msgstr ""
+
+#: java/lang-options.h:34
+msgid "Disable assignability checks for stores into object arrays"
+msgstr ""
+
+#: java/lang-options.h:36
+msgid "Assume native functions are implemented using JNI"
+msgstr ""
+
+#: java/lang-options.h:38
+msgid "Replace system path"
+msgstr ""
+
+#: java/lang-options.h:40
+msgid "Set class path"
+msgstr ""
+
+#: java/lang-options.h:42
+msgid "Set class path (deprecated: use --classpath instead)"
+msgstr ""
+
+#: java/lang-options.h:44
+msgid "Choose class whose main method should be used"
+msgstr ""
+
+#: java/lang-options.h:46
+msgid "Choose input encoding (default comes from locale)"
+msgstr ""
+
+#: java/lang-options.h:48
+msgid "Add directory to class path"
+msgstr ""
+
+#: java/lang-options.h:50
+msgid "Directory where class files should be written"
+msgstr ""
+
+#: java/lang-options.h:52
+msgid "Warn if modifiers are specified when not necessary"
+msgstr ""
+
+#: java/lang-options.h:54
+msgid "Warn if deprecated empty statements are found"
+msgstr ""
+
+#: java/lang-options.h:56
+msgid "Warn if .class files are out of date"
+msgstr ""
+
+#: java/lang-options.h:58
+msgid "Always check for non gcj generated classes archives"
+msgstr ""
+
+#: java/lang-options.h:60
+msgid "Never optimize static class initialization code"
+msgstr ""
+
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
+msgstr ""
+
+#: objc/objc-act.c:651
+#, c-format
+msgid "object does not conform to the `%s' protocol"
+msgstr ""
+
+#: 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:914
+#, c-format
+msgid "`%s' cannot be statically allocated"
+msgstr ""
+
+#: objc/objc-act.c:963
+#, c-format
+msgid "unexpected type for `id' (%s)"
+msgstr ""
+
+#: objc/objc-act.c:968
+msgid "undefined type `id', please import <objc/objc.h>"
+msgstr ""
+
+#: objc/objc-act.c:1019
+#, c-format
+msgid "protocol `%s' has circular dependency"
+msgstr ""
+
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
+#, fuzzy, c-format
+msgid "cannot find protocol declaration for `%s'"
+msgstr "Ðе магу знайÑці дÑкларацыю пратакола Ð´Ð»Ñ \"%s\""
+
+#: 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
+#, fuzzy, c-format
+msgid "cannot find interface declaration for `%s'"
+msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+#: objc/objc-act.c:1328
+#, fuzzy, c-format
+msgid "cannot find reference tag for class `%s'"
+msgstr "Ðе магу знайÑці файл Ð´Ð»Ñ ÐºÐ»Ð°Ñа %s."
+
+#: 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 "немагчыма знайÑьці клÑÑ `%s'"
+
+#: objc/objc-act.c:2366
+#, c-format
+msgid "class `%s' already exists"
+msgstr "клÑÑ `%s' ужо Ñ–Ñнуе"
+
+#. fatal did not work with 2 args...should fix
+#: objc/objc-act.c:2473
+#, fuzzy, c-format
+msgid "cannot find interface declaration for `%s', superclass of `%s'"
+msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+#: objc/objc-act.c:2480
+#, fuzzy, c-format
+msgid "circular inheritance in interface declaration for `%s'"
+msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
+msgid "inconsistent instance variable specification"
+msgstr ""
+
+#: 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:4946
+#, c-format
+msgid "invalid receiver type `%s'"
+msgstr ""
+
+#: 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:4983 objc/objc-act.c:7318
+#, c-format
+msgid "no super class declared in interface for `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5081
+#, fuzzy
+msgid "cannot find class (factory) method"
+msgstr "не магу знайÑці метад."
+
+#: 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:5099
+#, fuzzy, c-format
+msgid "method `%s' not implemented by protocol"
+msgstr "метад \"%s\" не знойдзен у клаÑе"
+
+#: objc/objc-act.c:5108
+msgid "return type defaults to id"
+msgstr ""
+
+#: objc/objc-act.c:5125
+msgid "cannot find method"
+msgstr "немагчыма знайÑьці мÑтад"
+
+#: objc/objc-act.c:5399
+#, fuzzy, c-format
+msgid "undeclared selector `%s'"
+msgstr "у абвÑшчÑньні `%D'"
+
+#. 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
+#. an instance method. Following this assignment, the instance
+#. variables could be accessed. That practice, while safe,
+#. violates the simple rule that a class method should not refer
+#. 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:5443
+#, c-format
+msgid "instance variable `%s' accessed in class method"
+msgstr ""
+
+#: objc/objc-act.c:5678
+#, fuzzy, c-format
+msgid "duplicate definition of class method `%s'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: objc/objc-act.c:5684
+#, fuzzy, c-format
+msgid "duplicate declaration of class method `%s'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: objc/objc-act.c:5720
+#, c-format
+msgid "duplicate definition of instance method `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5726
+#, fuzzy, c-format
+msgid "duplicate declaration of instance method `%s'"
+msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+#: objc/objc-act.c:5766
+#, c-format
+msgid "duplicate interface declaration for category `%s(%s)'"
+msgstr ""
+
+#: objc/objc-act.c:5852
+#, c-format
+msgid "instance variable `%s' is declared private"
+msgstr ""
+
+#: objc/objc-act.c:5899
+#, c-format
+msgid "instance variable `%s' is declared %s"
+msgstr ""
+
+#: objc/objc-act.c:5909
+msgid "static access to object of type `id'"
+msgstr ""
+
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
+#, c-format
+msgid "incomplete implementation of class `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
+#, c-format
+msgid "incomplete implementation of category `%s'"
+msgstr ""
+
+#: 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:6081
+#, c-format
+msgid "%s `%s' does not fully implement the `%s' protocol"
+msgstr ""
+
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
+msgid "`@end' missing in implementation context"
+msgstr ""
+
+#: objc/objc-act.c:6167
+#, c-format
+msgid "reimplementation of class `%s'"
+msgstr ""
+
+#: objc/objc-act.c:6209
+#, c-format
+msgid "conflicting super class name `%s'"
+msgstr ""
+
+#: objc/objc-act.c:6224
+#, c-format
+msgid "duplicate interface declaration for class `%s'"
+msgstr ""
+
+#: objc/objc-act.c:6506
+#, c-format
+msgid "duplicate declaration for protocol `%s'"
+msgstr ""
+
+#: objc/objc-act.c:7363
+msgid "[super ...] must appear in a method context"
+msgstr ""
+
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
+#, c-format
+msgid "potential selector conflict for method `%s'"
+msgstr ""
+
+#: objc-parse.y:2656
+msgid "`@end' must appear in an implementation context"
+msgstr ""
+
+#: objc-parse.y:2932
+msgid "method definition not in class context"
+msgstr ""
+
+#: objc/lang-options.h:27
+msgid "Dump decls to a .decl file"
+msgstr ""
+
+#: objc/lang-options.h:29
+msgid "Generate code for GNU runtime environment"
+msgstr ""
+
+#: objc/lang-options.h:32
+msgid "Generate code for NeXT runtime environment"
+msgstr ""
+
+#: objc/lang-options.h:35
+msgid "Warn if a selector has multiple methods"
+msgstr ""
+
+#: objc/lang-options.h:39
+msgid "Do not warn if inherited methods are unimplemented"
+msgstr ""
+
+#: objc/lang-options.h:41
+msgid "Generate C header of platform specific features"
+msgstr ""
+
+#: objc/lang-options.h:43
+msgid "Specify the name of the class for constant strings"
+msgstr ""
+
+#. 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 ""
+
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr ""
+
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr ""
+
+#: 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 ""
+
+#: f/lang-specs.h:39 gcc.c:690
+#, fuzzy
+msgid "GNU C does not support -CC without using -E"
+msgstr "ISO C89 не падтрымлівае `long long'"
+
+#: 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 ""
+
+#: 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 ""
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr ""
+
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "-pipe не падтрымліваецца"
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr ""
+
+#: 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:170 config/i386/mingw32.h:84
+msgid "shared and mdll are not compatible"
+msgstr ""
+
+#: 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
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr ""
+
+#: 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/mcore/mcore.h:60
+msgid "choose either big or little endian, not both"
+msgstr ""
+
+#: config/mcore/mcore.h:63
+msgid "choose either m340 or m210 not both"
+msgstr ""
+
+#: config/mcore/mcore.h:64
+msgid "the m210 does not have little endian support"
+msgstr ""
+
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr ""
+
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr ""
+
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr ""
+
+#: config/mips/r3900.h:35
+msgid "-mhard-float not supported"
+msgstr "-mhard-float не падтрымліваецца"
+
+#: config/mips/r3900.h:37
+msgid "-msingle-float and -msoft-float can not both be specified"
+msgstr ""
+
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr ""
+
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
+msgid "-static not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
+msgid "-shared not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
+msgid "-symbolic not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:636
+msgid "-fpic is not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:637
+msgid "-fPIC is not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:669
+msgid "-fpic not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:670
+msgid "-fPIC not valid with -mcoff"
+msgstr ""
+
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "невÑдомы C Ñтандарт `%s'"
+
+#, fuzzy
+#~ msgid "missing binary operator"
+#~ msgstr "прапушчан ініцыÑлізатар"
+
+#, fuzzy
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "немагчыма Ñтварыць дырÑкторыю \"%s\""
+
+#, fuzzy
+#~ msgid "argument missing after %s"
+#~ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+#, fuzzy
+#~ msgid "invalid option %s"
+#~ msgstr "ÐерÑчаіÑны выбар %s"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: увага: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: увага: "
+
+#~ msgid "floating point overflow"
+#~ msgstr "перапаўненьне плаваючай кропкі"
+
+#, fuzzy
+#~ msgid "internal error: %s"
+#~ msgstr "Ð£Ð½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°: %s"
+
+#, fuzzy
+#~ msgid "invalid character constant in #if"
+#~ msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+#~ msgid "usage: %s [switches] input output"
+#~ msgstr "выкарыÑтаньне: %s [выключальнікі] увод вывад"
+
+#~ msgid "#error%.*s"
+#~ msgstr "#памылка%.*s"
+
+#~ msgid "#warning%.*s"
+#~ msgstr "#увага%.*s"
+
+#~ msgid "unbalanced #endif"
+#~ msgstr "незбаланÑаваны #endif"
+
+#~ msgid "optimization turned on"
+#~ msgstr "Ð°Ð¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ð°"
+
+#~ msgid "optimization turned off"
+#~ msgstr "Ð°Ð¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡Ð°Ð½Ð°"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "нерÑчаіÑнае значÑньне %%V"
+
+#~ msgid "Use OSF PIC"
+#~ msgstr "ВыкарыÑтоўваць OSF PIC"
+
+#~ msgid "Don't use OSF PIC"
+#~ msgstr "Ðе выкарыÑтоўваць OSF PIC"
+
+#~ msgid "Optimize for 3900"
+#~ msgstr "Ðптымізаваць Ð´Ð»Ñ 3900"
+
+#~ msgid "Optimize for 4650"
+#~ msgstr "Ðптымізаваць Ð´Ð»Ñ 4650"
+
+#, fuzzy
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+#, fuzzy
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+#, fuzzy
+#~ msgid "explicit specialization here"
+#~ msgstr "ініцыÑлізацыÑ"
+
+#, fuzzy
+#~ msgid "base initializer for `%T'"
+#~ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+#, fuzzy
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "\"%s\" мае незавершаны тып"
+
+#, fuzzy
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+#, fuzzy
+#~ msgid "forward declaration of `%#T'"
+#~ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+#~ msgid "invalid use of `%T'"
+#~ msgstr "нерÑчаіÑнае выкарыÑтаньне `%T'"
diff --git a/gcc/po/da.po b/gcc/po/da.po
index 964b6827989..a73f20e890a 100644
--- a/gcc/po/da.po
+++ b/gcc/po/da.po
@@ -1,22 +1,191 @@
# Danish version of GCC strings.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Ole Laursen <olau@hardworking.dk>, 2001.
+# Copyright (C) 2002, 03 Free Software Foundation, Inc.
+# Ole Laursen <olau@hardworking.dk>, 2001, 02, 03.
+#
+# Konventioner:
+#
+# ABI -> binær grænseflade
+# ANSI -> (har jeg tilladt mig at opdatere til (modsvarer Info-hjælpen)) ISO
+# access -> tilgangs-
+# aggregate -> en variabel af en sammensat type (fx struct, class)
+# ambigeous -> tvetydig
+# arg, argument -> parameter (for ikke at blande sammen med diskussionsargument)
+# array -> tabel
+# assembler -> maskinkodeoversætter
+# assertion -> postulat
+# attribute -> egenskab
+# base class -> stamklasse
+# basic block -> basisblok (funktioner deles op i disse under oversættelsen)
+# braces -> krøllede paranteser
+# braced-group -> sætningsblok
+# branch -> forgrening
+# buffer -> mellemlager
+# cast -> typetildeling, omtvingelse af typen
+# con-/destructor -> kon-/destruktionsfunktion
+# conflicting -> modstridende
+# convert -> konvertere, omdanne
+# declared -> erklæret
+# defaults to -> antages at være
+# dereference -> følge
+# discard -> fjerne
+# discard -> kassere
+# driver -> styringsprogram
+# duplicate -> optræder mere end én gang; mangfoldiggøre
+# edge list -> kantliste
+# elt -> udtrykstræ
+# endian -> endet (fx storendet, lillendet)
+# endianness -> endethed
+# exception handling -> håndtering af undtagelser
+# excess -> for mange
+# expansion -> udfoldning
+# extra -> (ret ofte) overskydende
+# floating point -> kommatal
+# formals -> parametre
+# format string -> formateringsstreng
+# forward -> forhånd (f.eks. forhåndserklæring)
+# frame table -> rammetabel
+# friend -> ven(ne-)
+# gp (general purpose) register -> alment register (havde først brug- med, med det er overflødigt)
+# hard register -> hardware-register
+# have no effect -> udvirker intet
+# identifier -> kaldenavn
+# incompatible -> uforenelig, passer ikke
+# incomplete -> ufuldstændig
+# initialize -> tildele startværdi, klargøre
+# initializer -> startværdi
+# initializer list -> klargøringsliste
+# inline -> integrede, indbygges (eller som reserveret ord: inline)
+# instance -> instans (fx af en klasse)
+# issue (fx warnings) -> fremkom med
+# iterator -> løkkevariabel
+# junk -> ragelse
+# keyword -> reserveret ord
+# label -> etiket
+# linking -> sammenkædning
+# lvalue -> venstreværdi
+# macro -> makro
+# malformed -> forkert udformet, misdannet
+# member function/method -> [medlems]funktion (metode i Objective C)
+# mismatch -> passer ikke med
+# mmap -> indlæse
+# modifier, qualifier -> modifikation
+# multiple inheritance -> multipel nedarvning
+# newline -> linjeskift
+# non-numeric -> ikke et tal
+# null character -> nultegn
+# null pointer -> nul[-]henvisning
+# offset -> forskydning
+# opcodes (til ovenstående) -> instruktioner
+# out of range -> uden for det gyldige (til tider mulige) interval
+# overflow -> (til tider) løber over
+# overlap -> [interval]sammenfald
+# overloading -> flertydiggørelse
+# padding -> udfylning
+# pass -> overbringe (fx parametre), videregive
+# pointer -> henvisning[svariabel]
+# preprocessor -> præprocessor
+# profiling -> profilering
+# promote -> forfremme
+# request -> (til tider) forespørgsel
+# return -> returnerer
+# schedule -> planlæg
+# scope -> virkningsfelt
+# shadowing -> skygger for
+# shift -> skift
+# specified -> (oftest) angivet
+# specifier -> anvisning, angivelse
+# stab -> stik (?)
+# statement -> sætning
+# storage class -> lagringsklasse
+# strict -> nøje
+# string -> streng
+# subscript -> indeks, opslag
+# target -> mål[arkitektur]
+# template -> skabelon
+# thrown -> kastet
+# token -> symbol
+# top-level -> øverste niveau
+# trigraphs ('??%c'-dimser) -> trigrafer
+# undefine -> glemme definitionen
+# undefined blahblah -> blahblah er ikke defineret
+# underscore -> understreg
+# universal-character-name -> universelt tegn[navn]
+# unsigned -> uden fortegn
+# varargs -> variable parameterlister
+# variadic macro -> makro med vilkårligt antal parametre
+# variabels -> variabler (med afslutnings-r)
+# vtable -> virtuel tabel
+# wide character -> bredtegn
+# white space -> mellemrum
+# whitespace -> mellemrum
+#
+# Reserverede ord ofte ikke oversat, ej heller er der anbragt ' omkring
+# (fx unsigned -> unsigned; derimod function -> funktion). Forkortelser
+# som decl (for declaration) og arg (for argument) er oversat uforkortet
+# - der er jo masser af plads at tage af.
#
msgid ""
msgstr ""
-"Project-Id-Version: gcc 2.96.20000615\n"
-"POT-Creation-Date: 2001-06-11 15:08-0700\n"
-"PO-Revision-Date: 2001-02-10 16:06+01:00\n"
+"Project-Id-Version: gcc 3.3\n"
+"POT-Creation-Date: 2003-05-12 14:42-0700\n"
+"PO-Revision-Date: 2003-05-25 18:00+0200\n"
"Last-Translator: Ole Laursen <olau@hardworking.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: builtins.c:280
-#, fuzzy
+#: attribs.c:185
+#, c-format
+msgid "`%s' attribute directive ignored"
+msgstr "egenskabsdirektivet '%s' ignoreret"
+
+#: attribs.c:193
+#, c-format
+msgid "wrong number of arguments specified for `%s' attribute"
+msgstr "forkert antal parametre angivet til egenskaben '%s'"
+
+#: attribs.c:210
+#, c-format
+msgid "`%s' attribute does not apply to types"
+msgstr "egenskaben '%s' kan ikke anvendes på typer"
+
+#: attribs.c:247
+#, c-format
+msgid "`%s' attribute only applies to function types"
+msgstr "egenskaben '%s' kan kun anvendes sammen med funktionstyper"
+
+#: attribs.c:404 c-common.c:5270 c-common.c:5292 c-common.c:5314
+#: c-common.c:5345 c-common.c:5367 c-common.c:5392 c-common.c:5418
+#: c-common.c:5448 c-common.c:5486 c-common.c:5533 c-common.c:5563
+#: c-common.c:5593 c-common.c:5616 c-common.c:5873 c-common.c:5895
+#: c-common.c:5938 c-common.c:6015 c-common.c:6071 c-common.c:6132
+#: c-common.c:6166 c-common.c:6520 config/arm/arm.c:2098 config/arm/arm.c:2125
+#: config/avr/avr.c:4774 config/h8300/h8300.c:3693 config/h8300/h8300.c:3718
+#: config/i386/i386.c:1403 config/i386/winnt.c:76 config/ip2k/ip2k.c:3204
+#, c-format
+msgid "`%s' attribute ignored"
+msgstr "egenskaben '%s' ignoreret"
+
+#: builtins.c:285
msgid "offset outside bounds of constant string"
-msgstr "parameteren til 'asm' er ikke en konstant streng"
+msgstr "forskydning udenfor grænserne af konstant streng"
+
+#: builtins.c:765
+msgid "second arg to `__builtin_prefetch' must be a constant"
+msgstr "den anden parameter til '__builtin_prefetch' skal være en konstant"
+
+#: builtins.c:772
+msgid "invalid second arg to __builtin_prefetch; using zero"
+msgstr "ugyldig anden parameter til '__builtin_prefetch'; benytter nul"
+
+#: builtins.c:779
+msgid "third arg to `__builtin_prefetch' must be a constant"
+msgstr "en tredje parameter til '__builtin_prefetch' skal være en konstant"
+
+#: builtins.c:786
+msgid "invalid third arg to __builtin_prefetch; using zero"
+msgstr "ugyldig tredje parameter til '__builtin_prefetch'; benytter nul"
#. ??? We used to try and build up a call to the out of line function,
#. guessing about what registers needed saving etc. This became much
@@ -25,2228 +194,2439 @@ msgstr "parameteren til 'asm' er ikke en konstant streng"
#. 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:2634
-#, fuzzy
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+msgstr "__builtin_saveregs understøttes ikke af denne målarkitektur"
-#: builtins.c:2677
-#, fuzzy
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
-msgstr "parameteren til 'asm' er ikke en konstant streng"
+msgstr "parameteren til '__builtin_args_info' skal være konstant"
-#: builtins.c:2683
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
-msgstr ""
+msgstr "parameteren til '__builtin_args_info' er uden for det gyldige interval"
-#: builtins.c:2689
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
-msgstr ""
+msgstr "manglende parameter i '__builtin_args_info'"
-#: builtins.c:2720
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
-msgstr ""
+msgstr "`va_start' benyttet i en funktion med fast antal parametre"
-#: builtins.c:2739
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
-msgstr ""
+msgstr "den anden parameter til 'va_start' er ikke den sidste navngivne parameter"
#. 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:2744
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
-msgstr ""
+msgstr "`__builtin_next_arg' kaldt uden en parameter"
-#: builtins.c:2846
-#, fuzzy
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
-msgstr "for mange parametre til funktionen '%s'"
+msgstr "for mange parametre til funktionen 'va_start'"
-#: builtins.c:2932
-#, fuzzy
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
-msgstr "den anden parameter til 'operator delete' skal være af typen 'size_t'"
+msgstr "den første parameter til 'va_arg' er ikke af typen 'va_list'"
-#: builtins.c:2960
+#. 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:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
-msgstr ""
+msgstr "'%s' forfremmes til '%s' ved overbringelse gennem '...'"
-#: builtins.c:2964
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
-msgstr ""
+msgstr "(så du skal overbring '%s' ikke '%s' til 'va_arg')"
-#: builtins.c:3073
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
-msgstr ""
+msgstr "ugyldig parameter til '__builtin_frame_address'"
-#: builtins.c:3075
-#, fuzzy
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
-msgstr "Mere end ét kald til __builtin_eh_return"
+msgstr "ugyldig parameter til '__builtin_return_address'"
-#: builtins.c:3088
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
-msgstr ""
+msgstr "ikke-understøttet parameter til '__builtin_frame_address'"
-#: builtins.c:3090
-#, fuzzy
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
-msgstr "Mere end ét kald til __builtin_eh_return"
+msgstr "ikke-understøttet parameter til '__builtin_return_address'"
-#: builtins.c:3253
+#: builtins.c:3519
msgid "second arg to `__builtin_expect' must be a constant"
-msgstr ""
+msgstr "den anden parameter til '__builtin_expect' skal være en konstant"
-#: builtins.c:3564
+#: builtins.c:4017
msgid "__builtin_longjmp second argument must be 1"
-msgstr ""
-
-#: builtins.c:3578
-#, fuzzy
-msgid "__builtin_trap not supported by this target"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+msgstr "den anden paramter til '__builtin_longjmp' skal være 1"
#. just do library call, if unknown builtin
-#: builtins.c:3630 c-common.c:4256
-#, fuzzy, c-format
-msgid "built-in function `%s' not currently supported"
-msgstr "%s: definitionen af funktionen '%s' er ikke omdannet\n"
-
-#: c-common.c:465
-#, c-format
-msgid "string length `%d' is greater than the length `%d' ISO C%d compilers are required to support"
-msgstr ""
-
-#: c-common.c:630
-#, c-format
-msgid "`%s' attribute directive ignored"
-msgstr ""
-
-#: c-common.c:638
-#, c-format
-msgid "`%s' attribute does not apply to types"
-msgstr ""
-
-#: c-common.c:645
-#, c-format
-msgid "wrong number of arguments specified for `%s' attribute"
-msgstr "forkert antal parametre angivet til '%s'-egenskaben"
-
-#: c-common.c:661 c-common.c:668 c-common.c:675 c-common.c:688 c-common.c:696
-#: c-common.c:711 c-common.c:724 c-common.c:732 c-common.c:748 c-common.c:760
-#: c-common.c:772 c-common.c:777 c-common.c:951 c-common.c:1103
-#, c-format
-msgid "`%s' attribute ignored"
-msgstr ""
-
-#: c-common.c:810
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "ukendt maskintilstand '%s'"
-
-#: c-common.c:813
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "ingen datatype til tilstand '%s'"
-
-#: c-common.c:820
+#: builtins.c:4081 c-common.c:4454
#, c-format
-msgid "type with more precision than %s"
-msgstr ""
+msgid "built-in function `%s' not currently supported"
+msgstr "den indbyggede funktion '%s' understøttes i øjeblikket ikke"
-#: c-common.c:839
-msgid "section attribute cannot be specified for local variables"
-msgstr ""
+#: builtins.c:4154
+msgid "target format does not support infinity"
+msgstr "målprocessoren understøtter ikke uendelig"
-#: c-common.c:846
+#: c-common.c:1163
#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr ""
+msgid "`%s' is not defined outside of function scope"
+msgstr "'%s' er ikke defineret uden for funktionsvirkefelt"
-#: c-common.c:852
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr ""
-
-#: c-common.c:855
-#, fuzzy
-msgid "section attributes are not supported for this target"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
-
-#: c-common.c:874
-msgid "requested alignment is not a constant"
-msgstr "angivet justering er ikke en konstant"
-
-#: c-common.c:879
-msgid "requested alignment is not a power of 2"
-msgstr "angivet justering er ikke en potens af 2"
-
-#: c-common.c:881
-msgid "requested alignment is too large"
-msgstr "angivet justering er for stor"
-
-#: c-common.c:904
-#, fuzzy, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "både signed og unsigned er angivet for '%s'"
-
-#: c-common.c:929
+#: c-common.c:1184
#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr ""
-
-#: c-common.c:937
-msgid "alias arg not a string"
-msgstr "aliasparameter er ikke en streng"
-
-#: c-common.c:958 c-common.c:975 c-common.c:992
-#, fuzzy, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "new kan ikke bruges på en funktionstype"
+msgid "string length `%d' is greater than the length `%d' ISO C%d compilers are required to support"
+msgstr "strenglængden '%d' er større end den længde på '%d' som ISO C%d-oversættere er pålagt at understøtte"
-#: c-common.c:964 c-common.c:981 c-common.c:998
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr ""
+#: c-common.c:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr "sammensætning af strengkonstanter med __FUNCTION__ er forældet"
-#: c-common.c:1131
-#, fuzzy
+#: c-common.c:1338
msgid "overflow in constant expression"
-msgstr "heltallet løber over i forbehandlerudtrykket"
+msgstr "overløb i konstant udtryk"
-#: c-common.c:1152
-#, fuzzy
+#: c-common.c:1359
msgid "integer overflow in expression"
-msgstr "heltallet løber over i forbehandlerudtrykket"
+msgstr "heltalsoverløb i udtryk"
-#: c-common.c:1161
-#, fuzzy
+#: c-common.c:1368
msgid "floating point overflow in expression"
-msgstr "kommatal er ikke tilladt i '#if'-udtryk"
+msgstr "kommatalsoverløb i udtryk"
+
+#: c-common.c:1374
+msgid "vector overflow in expression"
+msgstr "vektoroverløb i udtryk"
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:1182
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
-msgstr ""
+msgstr "stort heltal forkortes underforstået til type uden fortegn"
-#: c-common.c:1184
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
-msgstr ""
+msgstr "negativt heltal forkortes underforstået til type uden fortegn"
-#: c-common.c:1231
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
-msgstr ""
+msgstr "overløb i underforstået konstant konvertering"
-#: c-common.c:1379
-#, fuzzy, c-format
+#: c-common.c:1595
+#, c-format
msgid "operation on `%s' may be undefined"
-msgstr "erklæring af '%s' som void"
+msgstr "brug af '%s' er muligvis ikke defineret"
-#: c-common.c:1664
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr "udtrykket er af en ufuldstændig type"
-#: c-common.c:1697
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "case-etiketten kan ikke reduceres til en heltalskonstant"
-#: c-common.c:1967
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "ugyldigt sandhedsværdiudtryk"
-#: c-common.c:2018
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "ugyldige operander til binær %s"
-#: c-common.c:2253 c-common.c:2262
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
-msgstr ""
+msgstr "sammenligning er altid falsk på grund af den begrænsede rækkevidde af datatypen"
-#: c-common.c:2255 c-common.c:2264
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
-msgstr ""
+msgstr "sammenligning er altid sand på grund af den begrænsede rækkevidde af datatypen"
-#: c-common.c:2330
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
-msgstr ""
+msgstr "sammenligning med unsigned udtryk >= 0 er altid sand"
-#: c-common.c:2339
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
-msgstr ""
+msgstr "sammenligning med unsigned udtryk < 0 er altid falsk"
+
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr "henvisning af typen 'void *' benyttet i udregning"
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr "henvisning til en funktion benyttet i udregning"
+
+#: c-common.c:2648
+msgid "pointer to member function used in arithmetic"
+msgstr "henvisning til en medlemsfunktion benyttet i udregning"
-#: c-common.c:2390 f/com.c:15291
+#: c-common.c:2654
+msgid "pointer to a member used in arithmetic"
+msgstr "henvisning til et medlem benyttet i udregning"
+
+#: c-common.c:2741 f/com.c:14762
msgid "struct type value used where scalar is required"
msgstr "værdi af struct-type angivet hvor skalar er påkrævet"
-#: c-common.c:2394 f/com.c:15295
+#: c-common.c:2745 f/com.c:14766
msgid "union type value used where scalar is required"
msgstr "værdi af union-type angivet hvor skalar er påkrævet"
-#: c-common.c:2398 f/com.c:15299
+#: c-common.c:2749 f/com.c:14770
msgid "array type value used where scalar is required"
msgstr "værdi af tabeltype angivet hvor skalar er påkrævet"
-#: c-common.c:2513 f/com.c:15425
+#: c-common.c:2869 f/com.c:14903
msgid "suggest parentheses around assignment used as truth value"
-msgstr ""
+msgstr "foreslår paranteser omkring tildeling der er benyttet som boolsk værdi"
-#: c-common.c:2557 c-common.c:2589
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
msgstr "ugyldig brug af 'restrict'"
-#: c-common.c:3724 c-typeck.c:1792
+#: c-common.c:3059
+msgid "invalid application of `sizeof' to a function type"
+msgstr "ugyldig anvendelse af 'sizeof' på en funktionstype"
+
+#: c-common.c:3069
+#, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "ugyldig anvendelse af '%s' på en void-type"
+
+#: c-common.c:3075
+#, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "ugyldig anvendelse af '%s' på en ufuldstændig type"
+
+#: c-common.c:3116
+msgid "`__alignof' applied to a bit-field"
+msgstr "'__alignof' benyttet på et bitfelt"
+
+#: c-common.c:3613
+#, c-format
+msgid "cannot disable built-in function `%s'"
+msgstr "kan ikke deaktivere den indbyggede funktion '%s'"
+
+#: c-common.c:3782 c-typeck.c:1748
#, c-format
msgid "too few arguments to function `%s'"
msgstr "for få parametre til funktionen '%s'"
-#: c-common.c:3730 c-typeck.c:1644
+#: c-common.c:3788 c-typeck.c:1601
#, c-format
msgid "too many arguments to function `%s'"
msgstr "for mange parametre til funktionen '%s'"
-#: c-common.c:3917
+#: c-common.c:3807
+#, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "parameter der ikke er et kommatal, til funktionen '%s'"
+
+#: c-common.c:4076
msgid "pointers are not permitted as case values"
msgstr "henvisningsvariabler er ikke tilladt som case-værdier"
-#: c-common.c:3923
+#: c-common.c:4082
msgid "ISO C++ forbids range expressions in switch statements"
-msgstr ""
+msgstr "ISO C++ forbyder intervaludtryk i switch-sætninger"
-#: c-common.c:3925
+#: c-common.c:4084
msgid "ISO C forbids range expressions in switch statements"
-msgstr ""
+msgstr "ISO C forbyder intervaludtryk i switch-sætninger"
-#: c-common.c:3955
+#: c-common.c:4114
msgid "empty range specified"
-msgstr ""
+msgstr "tomt interval angivet"
-#: c-common.c:4006
+#: c-common.c:4165
msgid "duplicate (or overlapping) case value"
-msgstr "case-værdi optræder mere end én gang (måske pga. overlap)"
+msgstr "case-værdi optræder mere end én gang (måske pga. intervalsammenfald)"
-#: c-common.c:4008
-#, fuzzy
+#: c-common.c:4167
msgid "this is the first entry overlapping that value"
-msgstr "case-værdi optræder mere end én gang (måske pga. overlap)"
+msgstr "dette er det første punkt som falder sammen med den værdi"
-#: c-common.c:4012
+#: c-common.c:4171
msgid "duplicate case value"
msgstr "case-værdi optræder mere end én gang"
-#: c-common.c:4013
+#: c-common.c:4172
msgid "previously used here"
-msgstr ""
+msgstr "tidligere benyttet her"
-#: c-common.c:4017
+#: c-common.c:4176
msgid "multiple default labels in one switch"
msgstr "flere default-etiketter i én switch-konstruktion"
-#: c-common.c:4018
+#: c-common.c:4177
msgid "this is the first default label"
-msgstr ""
+msgstr "dette er den første default-etiket"
-#: c-common.c:4526
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr ""
+#: c-common.c:4205
+msgid "ISO C++ forbids taking the address of a label"
+msgstr "ISO C++ forbyder at tage adressen af en etiket"
-#: c-common.c:4528
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr ""
+#: c-common.c:4207
+msgid "ISO C forbids taking the address of a label"
+msgstr "ISO C forbyder at tage adressen af en etiket"
-#: c-common.c:4530
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr ""
+#: c-common.c:5230
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "erklæring af '%s' skygger for '%s'"
-#: c-common.c:4532
-msgid "-Wformat-security ignored without -Wformat"
-msgstr ""
+#: c-common.c:5649
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "ukendt maskintilstand '%s'"
-#: c-common.c:4534
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr ""
+#: c-common.c:5652
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "ingen datatype til tilstanden '%s'"
+
+#: c-common.c:5661 c-common.c:6262
+#, c-format
+msgid "unable to emulate '%s'"
+msgstr "kunne ikke emulere '%s'"
+
+#: c-common.c:5697
+msgid "section attribute cannot be specified for local variables"
+msgstr "sektionsegenskaben kan ikke angives for lokale variabler"
+
+#: c-common.c:5708
+#, c-format
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "sektionen '%s' strider mod tidligere erklæring"
+
+#: c-common.c:5717
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "sektionsegenskaben er ikke tilladt for '%s'"
+
+#: c-common.c:5724
+msgid "section attributes are not supported for this target"
+msgstr "sektionsegenskaber understøttes ikke på denne målarkitektur"
+
+#: c-common.c:5766
+msgid "requested alignment is not a constant"
+msgstr "angivet justering er ikke en konstant"
+
+#: c-common.c:5771
+msgid "requested alignment is not a power of 2"
+msgstr "angivet justering er ikke en potens af 2"
+
+#: c-common.c:5776
+msgid "requested alignment is too large"
+msgstr "angivet justering er for stor"
+
+#: c-common.c:5803
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "justering må ikke angives for '%s'"
+
+#: c-common.c:5848
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr "'%s' er defineret både normalt og som et alias"
+
+#: c-common.c:5858
+msgid "alias arg not a string"
+msgstr "aliasparameter er ikke en streng"
+
+#: c-common.c:5905
+msgid "visibility arg not a string"
+msgstr "synlighedsparameter er ikke en streng"
+
+#: c-common.c:5914
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr "synlighedsparameter skal være en af \"default\", \"hidden\", \"protected\" eller \"internal\""
+
+#: c-common.c:5948
+msgid "tls_model arg not a string"
+msgstr "tls_model-parameter er ikke en streng"
+
+#: c-common.c:5957
+msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+msgstr "tls_model-parameter skal være en af \"local-exec\", \"initial-exec\", \"local-dynamic\" eller \"global-dynamic\""
+
+#: c-common.c:5982 c-common.c:6038
+#, c-format
+msgid "`%s' attribute applies only to functions"
+msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner"
+
+#: c-common.c:5989 c-common.c:6045
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "kan ikke angive '%s'-egenskaben efter definitionen"
-#: c-convert.c:78 c-typeck.c:983 c-typeck.c:4098 cp/typeck.c:1754
-#: cp/typeck.c:6304
+#: c-common.c:6129
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "'%s'-egenskaben ignoreret for '%s'"
+
+#: c-common.c:6194
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "ugyldig vektortype for egenskaben '%s'"
+
+#: c-common.c:6218 c-common.c:6250
+msgid "no vector mode with the size and type specified could be found"
+msgstr "ingen vektortilstand med den angivne størrelse og typen kunne findes"
+
+#: c-common.c:6349
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "ikke-nul egenskab uden parametre til en ikke-prototype"
+
+#: c-common.c:6364
+#, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr "ikke-nul parameter har ugyldig operandnummer (parameter %lu)"
+
+#: c-common.c:6383
+#, c-format
+msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
+msgstr "ikke-nul parameter med operandnummer uden for det gyldig interval (parameter %lu, operand %lu)"
+
+#: c-common.c:6391
+#, c-format
+msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
+msgstr "ikke-nul parameter refererer til ikke-henvisningsoperand (parameter %lu, operand %lu)"
+
+#: c-common.c:6477
+#, c-format
+msgid "null argument where non-null required (arg %lu)"
+msgstr "nulparameter hvor ikke-nul er påkrævet (parameter %lu)"
+
+#: c-convert.c:80 c-typeck.c:988 c-typeck.c:4059 cp/typeck.c:1617
+#: cp/typeck.c:5884
msgid "void value not ignored as it ought to be"
msgstr "tom værdi er ikke ignoreret som den burde være"
-#: c-convert.c:110 java/typeck.c:150
+#: c-convert.c:112 java/typeck.c:150
msgid "conversion to non-scalar type requested"
msgstr "konvertering til ikke-skalartype udbedt"
-#: c-decl.c:550
-#, c-format
-msgid "unknown C standard `%s'"
-msgstr "ukendt C-standard '%s'"
-
-#: c-decl.c:844
+#: c-decl.c:337
#, c-format
msgid "array `%s' assumed to have one element"
-msgstr ""
+msgstr "tabellen '%s' antages kun at have ét element"
-#: c-decl.c:1020
+#: c-decl.c:523
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr "'struct %s' er ufuldstændig ved virkefeltets afslutning her"
-#: c-decl.c:1023
+#: c-decl.c:526
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr "'union %s' er ufuldstændig ved virkefeltets afslutning her"
-#: c-decl.c:1026
+#: c-decl.c:529
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr "'enum %s' er ufuldstændig ved virkefeltets afslutning her"
-#: c-decl.c:1140 c-decl.c:1305 java/decl.c:1337
-#, fuzzy, c-format
+#: c-decl.c:643 c-decl.c:768 java/decl.c:1403
+#, c-format
msgid "label `%s' used but not defined"
-msgstr "'%.*s' er ikke defineret"
+msgstr "etiketten '%s' er benyttet, men ikke defineret"
-#: c-decl.c:1146 c-decl.c:1312 java/decl.c:1343
-#, fuzzy, c-format
+#: c-decl.c:649 c-decl.c:775 java/decl.c:1409
+#, c-format
msgid "label `%s' defined but not used"
-msgstr "der er blevet henvist til etiketten '%s' uden for en funktion"
+msgstr "etiketten '%s' er defineret, men ikke benyttet"
+
+#: c-decl.c:890 cp/decl.c:3089
+#, c-format
+msgid "function `%s' redeclared as inline"
+msgstr "funktionen '%s' omerklæret som inline"
+
+#: c-decl.c:892 cp/decl.c:3091
+#, c-format
+msgid "previous declaration of function `%s' with attribute noinline"
+msgstr "tidligere erklæring af funktionen '%s' med egenskaben noinline"
-#: c-decl.c:1434 c-decl.c:1487
-#, fuzzy, c-format
+#: c-decl.c:899 cp/decl.c:3098
+#, c-format
+msgid "function `%s' redeclared with attribute noinline"
+msgstr "funktionen '%s' omerklæret med egenskaben noinline"
+
+#: c-decl.c:901 cp/decl.c:3100
+#, c-format
+msgid "previous declaration of function `%s' was inline"
+msgstr "tidligere erklæring af funktionen '%s' var inline"
+
+# shadowing betyder at en funktion har samme navn og dermed skjuler en anden
+#: c-decl.c:930 c-decl.c:976
+#, c-format
msgid "shadowing built-in function `%s'"
-msgstr "kan ikke klargøre vennefunktionen '%s'"
+msgstr "skygger for den indbyggede funktion '%s'"
-#: c-decl.c:1436
-#, fuzzy, c-format
+#: c-decl.c:932
+#, c-format
msgid "shadowing library function `%s'"
-msgstr "ugyldig lagringsklasse for funktion '%s'"
+msgstr "skygger for biblioteksfunktionen '%s'"
-#: c-decl.c:1442
-#, fuzzy, c-format
+#: c-decl.c:938
+#, c-format
msgid "library function `%s' declared as non-function"
-msgstr "feltet '%s' er erklæret som en funktion"
+msgstr "biblioteksfunktionen '%s' er erklæret som noget der ikke er en funktion"
-#: c-decl.c:1446 c-decl.c:1449
-#, fuzzy, c-format
+#: c-decl.c:942 c-decl.c:945
+#, c-format
msgid "built-in function `%s' declared as non-function"
-msgstr "feltet '%s' er erklæret som en funktion"
+msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion"
-#: c-decl.c:1453 objc/objc-act.c:2480 objc/objc-act.c:6133
+#: c-decl.c:949 objc/objc-act.c:2384 objc/objc-act.c:6154
#, c-format
msgid "`%s' redeclared as different kind of symbol"
msgstr "'%s' omerklæret som en anden form for symbol"
-#: c-decl.c:1454 c-decl.c:1632 c-decl.c:1779 objc/objc-act.c:2482
-#: objc/objc-act.c:6135 objc/objc-act.c:6193
+#: c-decl.c:950 c-decl.c:1141 c-decl.c:1155 c-decl.c:1162 c-decl.c:1307
+#: objc/objc-act.c:2386 objc/objc-act.c:6156 objc/objc-act.c:6211
#, c-format
msgid "previous declaration of `%s'"
msgstr "'%s' er tidligere erklæret"
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1536
-#, fuzzy, c-format
+#: c-decl.c:1045
+#, c-format
msgid "conflicting types for built-in function `%s'"
-msgstr "kan ikke klargøre vennefunktionen '%s'"
+msgstr "modstridende typer for den indbyggede funktion '%s'"
-#: c-decl.c:1579 c-decl.c:1598
-#, fuzzy, c-format
+#: c-decl.c:1088 c-decl.c:1107
+#, c-format
msgid "conflicting types for `%s'"
-msgstr "modstridende superklassenavn '%s'"
+msgstr "modstridende typer for '%s'"
-#: c-decl.c:1621
-msgid "A parameter list with an ellipsis can't match an empty parameter name list declaration."
-msgstr "En parameterliste med '...' passer ikke til en erklæring med en tom parameterliste"
+#: c-decl.c:1130
+msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
+msgstr "en parameterliste med '...' passer ikke til en erklæring med en tom parameterliste"
-#: c-decl.c:1627
-msgid "An argument type that has a default promotion can't match an empty parameter name list declaration."
-msgstr "En parametertype med automatisk forfremmelse passer ikke til en erklæring med en tom parameterliste."
+#: c-decl.c:1136
+msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
+msgstr "en parametertype med automatisk forfremmelse passer ikke til en erklæring med en tom parameterliste"
-#: c-decl.c:1642 c-decl.c:1664
-#, fuzzy, c-format
-msgid "redefinition of `%s'"
-msgstr "omdefinering af '%s %s'"
+#: c-decl.c:1154
+#, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "trådlokal erklæring af '%s' følger ikke-trådlokal erklæring"
-#: c-decl.c:1645
-#, fuzzy, c-format
-msgid "redeclaration of `%s'"
-msgstr "omerklæring af 'enum %s'"
+#: c-decl.c:1161
+#, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "ikke-trådlokal erklæring af '%s' følger trådlokal erklæring"
-#: c-decl.c:1648
-#, fuzzy, c-format
-msgid "conflicting declarations of `%s'"
-msgstr "modstridende superklassenavn '%s'"
+#: c-decl.c:1172 c-decl.c:1195
+#, c-format
+msgid "redefinition of `%s'"
+msgstr "omdefinering af '%s'"
-#: c-decl.c:1657 c-decl.c:1669
+#: c-decl.c:1175
#, c-format
-msgid "`%s' previously defined here"
-msgstr ""
+msgid "redeclaration of `%s'"
+msgstr "omerklæring af '%s'"
-#: c-decl.c:1658 c-decl.c:1670
+#: c-decl.c:1178
#, c-format
-msgid "`%s' previously declared here"
-msgstr ""
+msgid "conflicting declarations of `%s'"
+msgstr "modstridende erklæringer af '%s'"
-#: c-decl.c:1691
-#, fuzzy, c-format
+#: c-decl.c:1222
+#, c-format
msgid "prototype for `%s' follows"
-msgstr "%s: modstridene for '%s' følger:\n"
+msgstr "prototypen for '%s' følger"
-#: c-decl.c:1692 c-decl.c:1700 c-decl.c:1716
+#: c-decl.c:1223 c-decl.c:1231 c-decl.c:1242
msgid "non-prototype definition here"
-msgstr ""
+msgstr "definition uden prototype her"
-#: c-decl.c:1699
-#, fuzzy, c-format
+#: c-decl.c:1230
+#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
-msgstr "antallet af parametre passer ikke til prototypen"
+msgstr "prototypen for '%s' følger og antallet af parametre passer ikke"
-#: c-decl.c:1714
+#: c-decl.c:1240
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
-msgstr ""
+msgstr "prototypen for '%s' følger og den %d. parameter passer ikke"
-#: c-decl.c:1731
-#, fuzzy, c-format
+#: c-decl.c:1258
+#, c-format
msgid "`%s' declared inline after being called"
-msgstr "'%s' er erklæret som en funktion der returnerer en tabel"
+msgstr "'%s' er erklæret inline efter at være blevet kaldt"
-#: c-decl.c:1736
-#, fuzzy, c-format
+#: c-decl.c:1264
+#, c-format
msgid "`%s' declared inline after its definition"
-msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)"
+msgstr "'%s' er erklæret inline efter dens definition"
-#: c-decl.c:1743
-#, fuzzy, c-format
+# anden 'declaration' er underforstået i engelsk original
+#: c-decl.c:1271
+#, c-format
msgid "static declaration for `%s' follows non-static"
-msgstr "erklæring af '%s' som void"
+msgstr "static-erklæring af '%s' følger erklæring uden static"
-#: c-decl.c:1751
-#, fuzzy, c-format
+#: c-decl.c:1279
+#, c-format
msgid "non-static declaration for `%s' follows static"
-msgstr "Kan ikke finde interface-erklæringen af '%s'"
+msgstr "erklæring uden static af '%s' følger static-erklæring"
-#: c-decl.c:1758
-#, fuzzy, c-format
+#: c-decl.c:1286
+#, c-format
msgid "const declaration for `%s' follows non-const"
-msgstr "%s: erklæringer af '%s' vil ikke blive omdannet\n"
+msgstr "const-erklæring af '%s' følger ikke-konstant erklæring"
-#: c-decl.c:1765
+#: c-decl.c:1293
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
-msgstr ""
+msgstr "typemodifikationer for '%s' strider mod tidligere erklæring"
-#: c-decl.c:1778
-#, fuzzy, c-format
+#: c-decl.c:1306
+#, c-format
msgid "redundant redeclaration of `%s' in same scope"
-msgstr "erklæring af '%s' som void"
+msgstr "overflødig omerklæring af '%s' i samme virkefelt"
+
+#: c-decl.c:1607 java/decl.c:1102
+#, c-format
+msgid "declaration of `%s' shadows a parameter"
+msgstr "erklæring af '%s' skygger for en parameter"
+
+#: c-decl.c:1610 java/decl.c:1105
+#, c-format
+msgid "declaration of `%s' shadows a symbol from the parameter list"
+msgstr "erklæring af '%s' skygger for et symbol fra parameterlisten"
-#: c-decl.c:2069
-#, fuzzy, c-format
+#: c-decl.c:1631 cp/decl.c:4218
+msgid "a parameter"
+msgstr "en parameter"
+
+#: c-decl.c:1633 cp/decl.c:4235
+msgid "a previous local"
+msgstr "en tidligere lokal variabel"
+
+#. XXX shadow warnings in outer-more namespaces
+#: c-decl.c:1637 cp/decl.c:4239
+msgid "a global declaration"
+msgstr "en global erklæring"
+
+#: c-decl.c:1681
+#, c-format
msgid "nested extern declaration of `%s'"
-msgstr "indlejret omdefinering af '%s'"
+msgstr "indlejret extern-erklæring af '%s'"
-#: c-decl.c:2094 java/decl.c:989
-#, fuzzy, c-format
+#: c-decl.c:1700 java/decl.c:1055
+#, c-format
msgid "`%s' used prior to declaration"
-msgstr "'%s' er underforstået erklæret som en funktion"
+msgstr "'%s' benyttes før erklæringen"
-#: c-decl.c:2115 c-decl.c:2330
+#: c-decl.c:1714 c-decl.c:1889
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
-msgstr ""
+msgstr "'%s' blev underforstået erklæret 'extern' og derefter 'static'"
-#: c-decl.c:2225
+#: c-decl.c:1817 cp/decl.c:4075
msgid "type mismatch with previous external decl"
-msgstr ""
+msgstr "typen passer ikke med tidligere ekstern erklæring"
-#: c-decl.c:2226
-#, fuzzy, c-format
+#: c-decl.c:1818
+#, c-format
msgid "previous external decl of `%s'"
-msgstr "'%s' er tidligere erklæret"
+msgstr "tidligere ekstern erklæring af '%s'"
-#: c-decl.c:2239
+#: c-decl.c:1831
msgid "type mismatch with previous implicit declaration"
-msgstr ""
+msgstr "typen passer ikke med tidligere underforstået erklæring"
-#: c-decl.c:2241
-#, fuzzy, c-format
+#: c-decl.c:1833
+#, c-format
msgid "previous implicit declaration of `%s'"
-msgstr "'%s' er tidligere erklæret"
-
-#: c-decl.c:2258
-#, fuzzy, c-format
-msgid "type of external `%s' is not global"
-msgstr "størrelsen af tabel '%s' er for stor"
+msgstr "tidligere underforstået erklæring af '%s'"
-#: c-decl.c:2309
-#, fuzzy, c-format
+#: c-decl.c:1868
+#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
-msgstr "'%s' er underforstået erklæret som en funktion"
+msgstr "'%s' blev tidligere underforstået erklæret til at returnere 'int'"
-#: c-decl.c:2334
-#, fuzzy, c-format
+#: c-decl.c:1893
+#, c-format
msgid "`%s' was declared `extern' and later `static'"
-msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
+msgstr "'%s' blev erklæret 'extern' og derefter 'static'"
-#: c-decl.c:2357
-#, fuzzy, c-format
+#: c-decl.c:1917
+#, c-format
msgid "extern declaration of `%s' doesn't match global one"
-msgstr "'%s' erklæret som en tabel af void"
+msgstr "extern-erklæring af '%s' passer ikke med den globale"
-#: c-decl.c:2397
+#: c-decl.c:1959
#, c-format
msgid "`%s' locally external but globally static"
-msgstr ""
-
-#: c-decl.c:2433 c-decl.c:2458 cp/decl.c:4225 java/decl.c:1036
-#, fuzzy, c-format
-msgid "declaration of `%s' shadows a parameter"
-msgstr "erklæring af '%s' som void"
+msgstr "'%s' er lokalt ekstern, men globalt statisk"
-#: c-decl.c:2436 java/decl.c:1039
-#, fuzzy, c-format
-msgid "declaration of `%s' shadows a symbol from the parameter list"
-msgstr "'%s' erklæret som en tabel af void"
-
-#: c-decl.c:2460 cp/decl.c:4233
-#, fuzzy, c-format
-msgid "declaration of `%s' shadows previous local"
-msgstr "erklæring af '%s' som void"
-
-#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2463 cp/decl.c:4237
-#, fuzzy, c-format
-msgid "declaration of `%s' shadows global declaration"
-msgstr "'%s' erklæret som en tabel af funktioner"
-
-#: c-decl.c:2553
-#, fuzzy, c-format
+#: c-decl.c:2081
+#, c-format
msgid "function `%s' was previously declared within a block"
-msgstr "funktionen '%s' kan ikke erklæres 'mutable'"
+msgstr "funktionen '%s' blev tidligere erklæret inden for en blok"
-#: c-decl.c:2570 c-decl.c:2572
+#: c-decl.c:2101 c-decl.c:2103
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "underforstået erklæring af funktionen '%s'"
-#: c-decl.c:2659
+#: c-decl.c:2182
#, c-format
msgid "label %s referenced outside of any function"
msgstr "der er blevet henvist til etiketten '%s' uden for en funktion"
-#: c-decl.c:2716
+#: c-decl.c:2239
#, c-format
msgid "duplicate label declaration `%s'"
msgstr "etiketten '%s' er blevet erklæret mere end én gang"
-#: c-decl.c:2719
-#, fuzzy
+#: c-decl.c:2242
msgid "this is a previous declaration"
-msgstr "'%s' er tidligere erklæret"
+msgstr "dette er en tidligere erklæring"
-#: c-decl.c:3246
+#: c-decl.c:2665
msgid "unnamed struct/union that defines no instances"
-msgstr ""
+msgstr "unavngiven struct/union som ikke definerer nogen instanser"
-#: c-decl.c:3265
-#, fuzzy
+#: c-decl.c:2684
msgid "useless keyword or type name in empty declaration"
-msgstr "to typer angivet i én tom erklæring"
+msgstr "ubrugeligt reserveret ord eller typenavn i tom erklæring"
-#: c-decl.c:3272
+#: c-decl.c:2691
msgid "two types specified in one empty declaration"
msgstr "to typer angivet i én tom erklæring"
-#: c-decl.c:3277 c-parse.y:303 c-parse.y:722 c-parse.y:724 c-parse.y:774
-#: cp/parse.y:724 cp/parse.y:1781 objc/objc-parse.y:332 objc/objc-parse.y:774
-#: objc/objc-parse.y:776 objc/objc-parse.y:826 objc/objc-parse.y:2574
-#, fuzzy
+#: c-decl.c:2696 c-parse.y:753 c-parse.y:755 parse.y:765 parse.y:1836
+#: objc-parse.y:799 objc-parse.y:801 objc-parse.y:3042
msgid "empty declaration"
-msgstr "flere typer i én erklæring"
+msgstr "tom erklæring"
+
+#: c-decl.c:2726
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr "ISO C90 understøtter ikke 'static' eller typemodifikationer i parametertabelerklæringer"
+
+#: c-decl.c:2728
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "ISO C90 understøtter ikke tabelerklæringer med '[*]'"
-#: c-decl.c:3334
-#, fuzzy, c-format
+#: c-decl.c:2731
+msgid "GCC does not yet properly implement `[*]' array declarators"
+msgstr "GCC understøtter endnu ikke ordentligt tabelerklæringer med '[*]'"
+
+#: c-decl.c:2750
+msgid "static or type qualifiers in abstract declarator"
+msgstr "static eller typemodifikationer i abstrakt erklæring"
+
+#: c-decl.c:2824
+#, c-format
msgid "`%s' is usually a function"
-msgstr "'%s' er underforstået erklæret som en funktion"
+msgstr "'%s' er sædvanligvis en funktion"
-#: c-decl.c:3348
+# init dækker over værditildeling her - samme for de næste mange
+#: c-decl.c:2833
#, c-format
-msgid "typedef `%s' is initialized"
-msgstr "typedef '%s' bliver tildelt en værdi"
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
+msgstr "typedef '%s' bliver tildelt en værdi (benyt __typeof__ i stedet)"
-#: c-decl.c:3355
+#: c-decl.c:2839
#, c-format
msgid "function `%s' is initialized like a variable"
msgstr "funktionen '%s' bliver tildelt en startværdi som en variabel"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3362
+#: c-decl.c:2846
#, c-format
msgid "parameter `%s' is initialized"
-msgstr "parameter '%s' bliver tildelt en startværdi"
+msgstr "parameteren '%s' bliver tildelt en startværdi"
-#: c-decl.c:3382 c-typeck.c:4829
+#: c-decl.c:2866 c-typeck.c:4868
msgid "variable-sized object may not be initialized"
msgstr "et objekt af variabel størrelse må ikke tildeles en startværdi"
-#: c-decl.c:3388
+#: c-decl.c:2872
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr "variablen '%s' bliver tildelt en startværdi, men er af en ufuldstændig type"
-#: c-decl.c:3394
+#: c-decl.c:2878
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr "elementer i tabellen '%s' er af en ufuldstændig type"
-#: c-decl.c:3407
-#, fuzzy, c-format
+#: c-decl.c:2891
+#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
-msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
+msgstr "erklæringen af '%s' indeholder 'extern' og variablen bliver tildelt en startværdi"
+
+#: c-decl.c:2940 c-decl.c:5705 cp/decl.c:7456 cp/decl.c:14012
+#, c-format
+msgid "inline function `%s' given attribute noinline"
+msgstr "inline funktion '%s' givet egenskaben noinline"
-#: c-decl.c:3521
+#: c-decl.c:3014
#, c-format
msgid "initializer fails to determine size of `%s'"
-msgstr ""
+msgstr "startværdien giver ikke størrelsen af '%s'"
-#: c-decl.c:3526
-#, fuzzy, c-format
+#: c-decl.c:3019
+#, c-format
msgid "array size missing in `%s'"
-msgstr "Et makronavn mangler efter %s"
+msgstr "tabelstørrelsen mangler i '%s'"
-#: c-decl.c:3542
+#: c-decl.c:3035
#, c-format
msgid "zero or negative size array `%s'"
-msgstr ""
+msgstr "nul eller negativ størrelse for tabellen '%s'"
-#: c-decl.c:3570
+#: c-decl.c:3063
#, c-format
msgid "storage size of `%s' isn't known"
-msgstr ""
+msgstr "lagringsstørrelsen af '%s' er ikke kendt"
-#: c-decl.c:3580
-#, fuzzy, c-format
+#: c-decl.c:3073
+#, c-format
msgid "storage size of `%s' isn't constant"
-msgstr "parameteren til 'asm' er ikke en konstant streng"
+msgstr "lagringsstørrelsen af '%s' er ikke konstant"
-#: c-decl.c:3631
+#: c-decl.c:3133
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
-msgstr ""
+msgstr "ignorerer asm-anvisning til den ikke-statiske, lokale variabel '%s'"
-#: c-decl.c:3706
+#: c-decl.c:3198
#, c-format
-msgid "ANSI C forbids parameter `%s' shadowing typedef"
-msgstr ""
+msgid "ISO C forbids parameter `%s' shadowing typedef"
+msgstr "ISO C forbyder at parameteren '%s' skygger for typedef"
-#: c-decl.c:3940 cp/decl.c:10013
+#: c-decl.c:3543 cp/decl.c:10568
msgid "`long long long' is too long for GCC"
msgstr "'long long long' er for langt for GCC"
-#: c-decl.c:3945
-#, fuzzy
-msgid "ISO C89 does not support `long long'"
-msgstr "GNU C understøtter ikke -C uden -E"
+#: c-decl.c:3548
+msgid "ISO C90 does not support `long long'"
+msgstr "ISO C90 understøtter ikke 'long long'"
-#: c-decl.c:3950 cp/decl.c:10018
-#, fuzzy, c-format
+#: c-decl.c:3557 c-decl.c:3560 cp/decl.c:10573
+#, c-format
msgid "duplicate `%s'"
-msgstr "etiketten '%s' optræder mere end én gang"
+msgstr "'%s' optræder mere end én gang"
+
+#: c-decl.c:3570 cp/decl.c:10580
+msgid "`__thread' before `extern'"
+msgstr "'__thread' før 'extern'"
-#: c-decl.c:3956 cp/decl.c:10038
+#: c-decl.c:3572 cp/decl.c:10582
+msgid "`__thread' before `static'"
+msgstr "'__thread' før 'static'"
+
+#: c-decl.c:3580 cp/decl.c:10609
#, c-format
msgid "two or more data types in declaration of `%s'"
msgstr "mere end én datatype i erklæringen af '%s'"
-#: c-decl.c:3971 cp/decl.c:10043
+#: c-decl.c:3600 cp/decl.c:10614
#, c-format
msgid "`%s' fails to be a typedef or built in type"
msgstr "'%s' er hverken en typedef eller en indbygget type"
-#: c-decl.c:4009
-#, fuzzy, c-format
+#: c-decl.c:3639
+#, c-format
msgid "type defaults to `int' in declaration of `%s'"
-msgstr "mere end én datatype i erklæringen af '%s'"
+msgstr "typen antages at være 'int' i erklæringen af '%s'"
-#: c-decl.c:4038
+#: c-decl.c:3668
#, c-format
msgid "both long and short specified for `%s'"
-msgstr "både long og short angivet for '%s'"
+msgstr "både long og short er angivet for '%s'"
-#: c-decl.c:4042 cp/decl.c:10142
+#: c-decl.c:3672 cp/decl.c:10729
#, c-format
msgid "long or short specified with char for `%s'"
msgstr "long eller short angivet samtidig med char for '%s'"
-#: c-decl.c:4049 cp/decl.c:10146
+#: c-decl.c:3679 cp/decl.c:10733
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr "long eller short angivet samtidig med en kommatalstype for '%s'"
-#: c-decl.c:4052
+#: c-decl.c:3682
msgid "the only valid combination is `long double'"
msgstr "den eneste gyldige kombination er 'long double'"
-#: c-decl.c:4058
+#: c-decl.c:3688
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "både signed og unsigned er angivet for '%s'"
-#: c-decl.c:4060 cp/decl.c:10135
+#: c-decl.c:3690 cp/decl.c:10722
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr "long, short, signed og unsigned er ugyldige for '%s'"
-#: c-decl.c:4066 cp/decl.c:10155
-#, fuzzy, c-format
+#: c-decl.c:3696 cp/decl.c:10742
+#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
-msgstr "long, short, signed og unsigned er ugyldige for '%s'"
+msgstr "long, short, signed og unsigned er benyttet på ugyldig vis for '%s'"
-#: c-decl.c:4085 cp/decl.c:10176
+#: c-decl.c:3714 cp/decl.c:10763
#, c-format
msgid "complex invalid for `%s'"
msgstr "complex ugyldig for '%s'"
-#: c-decl.c:4130
-msgid "ISO C89 does not support complex types"
-msgstr ""
+#: c-decl.c:3756
+msgid "ISO C90 does not support complex types"
+msgstr "ISO C90 understøtter ikke komplekse typer"
-#: c-decl.c:4142
+#: c-decl.c:3768
msgid "ISO C does not support plain `complex' meaning `double complex'"
-msgstr ""
+msgstr "ISO C understøtter ikke at blot 'complex' betyder 'double complex'"
-#: c-decl.c:4148 c-decl.c:4160
-#, fuzzy
+#: c-decl.c:3774 c-decl.c:3786
msgid "ISO C does not support complex integer types"
-msgstr "GNU C understøtter ikke -C uden -E"
+msgstr "ISO C understøtter ikke komplekse heltalstyper"
-#: c-decl.c:4175 c-decl.c:4571 cp/decl.c:10775
-#, fuzzy
+#: c-decl.c:3801 c-decl.c:4267 cp/decl.c:11376
msgid "duplicate `const'"
-msgstr "etiketten '%s' optræder mere end én gang"
+msgstr "'const' optræder mere end én gang"
-#: c-decl.c:4177 c-decl.c:4575 cp/decl.c:10779
-#, fuzzy
+#: c-decl.c:3803 c-decl.c:4271 cp/decl.c:11380
msgid "duplicate `restrict'"
-msgstr "etiketten '%s' optræder mere end én gang"
+msgstr "'restrict' optræder mere end én gang"
-#: c-decl.c:4179 c-decl.c:4573 cp/decl.c:10777
-#, fuzzy
+#: c-decl.c:3805 c-decl.c:4269 cp/decl.c:11378
msgid "duplicate `volatile'"
-msgstr "case-værdi optræder mere end én gang"
+msgstr "'volatile' optræder mere end én gang"
-#: c-decl.c:4201 cp/decl.c:10325
+#: c-decl.c:3833 cp/decl.c:10926
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "flere lagringsklasser optræder i erklæringen af '%s'"
-#: c-decl.c:4210
-#, fuzzy
+#: c-decl.c:3843
msgid "function definition declared `auto'"
-msgstr "'typedef' er påhæftet funktionsdefinitionen"
+msgstr "'auto' er påhæftet funktionsdefinitionen"
-#: c-decl.c:4212
+#: c-decl.c:3845
msgid "function definition declared `register'"
msgstr "'register' er påhæftet funktionsdefinitionen"
-#: c-decl.c:4214
+#: c-decl.c:3847
msgid "function definition declared `typedef'"
msgstr "'typedef' er påhæftet funktionsdefinitionen"
-#: c-decl.c:4227
+#: c-decl.c:3849
+msgid "function definition declared `__thread'"
+msgstr "'__thread' er påhæftet funktionsdefinitionen"
+
+#: c-decl.c:3862
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr "lagringsklasse angivet for strukturfelt '%s'"
-#: c-decl.c:4231 cp/decl.c:10372
+#: c-decl.c:3866 cp/decl.c:10973
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "lagringsklasse angivet for parameter '%s'"
-#: c-decl.c:4234 cp/decl.c:10374
+#: c-decl.c:3869 cp/decl.c:10975
msgid "storage class specified for typename"
msgstr "lagringsklasse angivet for typenavn"
-#: c-decl.c:4246 cp/decl.c:10388
-#, fuzzy, c-format
+#: c-decl.c:3881 cp/decl.c:10990
+#, c-format
msgid "`%s' initialized and declared `extern'"
-msgstr "indlejret funktion '%s' er erklæret 'extern'"
+msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'"
-#: c-decl.c:4248 cp/decl.c:10391
+#: c-decl.c:3883 cp/decl.c:10993
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
-#: c-decl.c:4252 cp/decl.c:10395
+#: c-decl.c:3888 cp/decl.c:11001
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "erklæring af '%s' på øverste niveau angiver 'auto'"
+
+#: c-decl.c:3893 cp/decl.c:10997
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "indlejret funktion '%s' er erklæret 'extern'"
-#: c-decl.c:4255 cp/decl.c:10399
+#: c-decl.c:3899 cp/decl.c:11007
#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "erklæring af '%s' på øverste niveau angiver 'auto'"
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "'%s' i funktionsvirkefelt underforstået auto og erklæret '__thread'"
+
+#. 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:3938 c-decl.c:4139
+msgid "static or type qualifiers in non-parameter array declarator"
+msgstr "static eller typemodifikationer i ikke-parametertabelerklæring"
-#: c-decl.c:4297
+#: c-decl.c:3982
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr "'%s' erklæret som en tabel af void"
-#: c-decl.c:4303
+#: c-decl.c:3988
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "'%s' erklæret som en tabel af funktioner"
-#: c-decl.c:4325
+#: c-decl.c:3993 c-decl.c:5261
+msgid "invalid use of structure with flexible array member"
+msgstr "ugyldig brug af struktur med fleksibelt tabelmedlem"
+
+#: c-decl.c:4012
#, c-format
msgid "size of array `%s' has non-integer type"
-msgstr "størrelsen af tabel '%s' er ikke af en heltalstype"
+msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype"
-#: c-decl.c:4330
-#, fuzzy, c-format
+#: c-decl.c:4017
+#, c-format
msgid "ISO C forbids zero-size array `%s'"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C forbyder tabellen '%s' med størrelsen nul"
-#: c-decl.c:4337
+#: c-decl.c:4024
#, c-format
msgid "size of array `%s' is negative"
-msgstr "størrelsen af tabel '%s' er negativ"
+msgstr "størrelsen af tabellen '%s' er negativ"
-#: c-decl.c:4350
+#: c-decl.c:4037
#, c-format
-msgid "ISO C89 forbids array `%s' whose size can't be evaluated"
-msgstr ""
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes"
-#: c-decl.c:4353
-#, fuzzy, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
-msgstr "ISO C forbyder tekst efter #%s"
+#: c-decl.c:4040
+#, c-format
+msgid "ISO C90 forbids variable-size array `%s'"
+msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse"
-#: c-decl.c:4383 c-decl.c:4597
+#: c-decl.c:4070 c-decl.c:4293 cp/decl.c:11585
#, c-format
msgid "size of array `%s' is too large"
-msgstr "størrelsen af tabel '%s' er for stor"
+msgstr "størrelsen af tabellen '%s' er for stor"
-#: c-decl.c:4400
-#, fuzzy
-msgid "ISO C89 does not support flexible array members"
-msgstr "ISO C tillader ikke navngivne variabel parameterliste-makroer"
+#: c-decl.c:4096
+msgid "ISO C90 does not support flexible array members"
+msgstr "ISO C90 understøtter ikke fleksible tabelmedlemmer"
-#: c-decl.c:4410
-#, fuzzy
+#: c-decl.c:4106
msgid "array type has incomplete element type"
-msgstr "parameteren er af en ufuldstændig type"
+msgstr "tabeltypen er af en ufuldstændig type"
-#: c-decl.c:4417
-msgid "ANSI C forbids const or volatile function types"
-msgstr ""
+#: c-decl.c:4113 c-decl.c:4343
+msgid "ISO C forbids const or volatile function types"
+msgstr "ISO C forbyder const eller volatile funktionstyper"
-#: c-decl.c:4456 cp/decl.c:10535
+#: c-decl.c:4159 cp/decl.c:11133
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "'%s' er erklæret som en funktion der returnerer en funktion"
-#: c-decl.c:4461 cp/decl.c:10540
+#: c-decl.c:4164 cp/decl.c:11138
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "'%s' er erklæret som en funktion der returnerer en tabel"
-#: c-decl.c:4496
-#, fuzzy
+#: c-decl.c:4192
msgid "ISO C forbids qualified void function return type"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+msgstr "ISO C forbyder void funktionsreturtype med modifikationer"
-#: c-decl.c:4500
+#: c-decl.c:4196
msgid "type qualifiers ignored on function return type"
-msgstr ""
+msgstr "typemodifikationer ignoreret i funktionsreturtypen"
-#: c-decl.c:4529 c-decl.c:4612 c-decl.c:4696 c-decl.c:4787
-#, fuzzy
+#: c-decl.c:4225 c-decl.c:4308 c-decl.c:4432 c-decl.c:4524
msgid "ISO C forbids qualified function types"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+msgstr "ISO C forbyder funktionsreturtype med modifikationer"
-#: c-decl.c:4569 cp/decl.c:10771
+#: c-decl.c:4265 cp/decl.c:11372
msgid "invalid type modifier within pointer declarator"
msgstr "ugyldig typemodifikation i erklæring af henvisning"
-#: c-decl.c:4646
-#, fuzzy
-msgid "ISO C forbids const or volatile function types"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
-
-#: c-decl.c:4665 cp/decl.c:11247
+#: c-decl.c:4363 cp/decl.c:11870
#, c-format
msgid "variable or field `%s' declared void"
msgstr "variabel eller felt '%s' erklæret void"
-#: c-decl.c:4734
+#: c-decl.c:4396
+msgid "attributes in parameter array declarator ignored"
+msgstr "egenskaber i parametertabelerklæring ignoreret"
+
+#: c-decl.c:4421
+msgid "invalid type modifier within array declarator"
+msgstr "ugyldig typemodifikation i tabelerklæring"
+
+#: c-decl.c:4466
#, c-format
msgid "field `%s' declared as a function"
msgstr "feltet '%s' er erklæret som en funktion"
-#: c-decl.c:4740
+#: c-decl.c:4472
#, c-format
msgid "field `%s' has incomplete type"
msgstr "feltet '%s' er af en ufuldstændig type"
-#: c-decl.c:4772 c-decl.c:4774 c-decl.c:4781
+#: c-decl.c:4504 c-decl.c:4506 c-decl.c:4508 c-decl.c:4515
#, c-format
msgid "invalid storage class for function `%s'"
msgstr "ugyldig lagringsklasse for funktion '%s'"
-#: c-decl.c:4793
+#: c-decl.c:4530
msgid "`noreturn' function returns non-void value"
-msgstr ""
+msgstr "en funktion uden returtype returnerer en ikke-tom værdi"
-#: c-decl.c:4805
-#, fuzzy
+# at oversætte inline med et udsagnsord her bliver vist for tvetydigt
+#: c-decl.c:4545
msgid "cannot inline function `main'"
-msgstr "kan ikke klargøre vennefunktionen '%s'"
+msgstr "funktionen 'main' kan ikke være inline"
-#: c-decl.c:4840
-#, fuzzy, c-format
+#: c-decl.c:4600
+#, c-format
msgid "variable `%s' declared `inline'"
-msgstr "variabel eller felt '%s' erklæret void"
+msgstr "variablen '%s' er erklæret 'inline'"
+
+#. A mere warning is sure to result in improper semantics
+#. at runtime. Don't bother to allow this to compile.
+#: c-decl.c:4628 cp/decl.c:9639
+msgid "thread-local storage not supported for this target"
+msgstr "trådlokal lagring understøttes ikke på målarkitekturen"
-#: c-decl.c:4911 c-decl.c:5898
+#: c-decl.c:4683 c-decl.c:5757
msgid "function declaration isn't a prototype"
-msgstr ""
+msgstr "funktionserklæringen er ikke en prototype"
-#: c-decl.c:4917
-#, fuzzy
+#: c-decl.c:4689
msgid "parameter names (without types) in function declaration"
-msgstr "flere typer i én erklæring"
+msgstr "parameternavne (uden typer) i funktionserklæringen"
-#: c-decl.c:4949 c-decl.c:6286 c-decl.c:6585
+#: c-decl.c:4721 c-decl.c:6127
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr "parameteren '%s' er af en ufuldstændig type"
-#: c-decl.c:4952
+#: c-decl.c:4724
msgid "parameter has incomplete type"
msgstr "parameteren er af en ufuldstændig type"
-#: c-decl.c:4973
-#, fuzzy, c-format
+# engelsk original upræcis (hvordan kan man henvise til en type?)
+#: c-decl.c:4745
+#, c-format
msgid "parameter `%s' points to incomplete type"
-msgstr "parameteren '%s' er af en ufuldstændig type"
+msgstr "parameteren '%s' er en henvisning til en ufuldstændig type"
-#: c-decl.c:4976
-#, fuzzy
+#: c-decl.c:4748
msgid "parameter points to incomplete type"
-msgstr "parameteren er af en ufuldstændig type"
+msgstr "parameteren er en henvisning til en ufuldstændig type"
-#: c-decl.c:5041
+#: c-decl.c:4813
#, c-format
msgid "parameter `%s' has just a forward declaration"
-msgstr ""
+msgstr "parameteren '%s' har kun en forhåndserklæring"
-#: c-decl.c:5082
+#: c-decl.c:4854
msgid "`void' in parameter list must be the entire list"
msgstr "'void' i en parameterliste skal udgøre hele listen"
-#: c-decl.c:5111
+#: c-decl.c:4885
#, c-format
-msgid "`%s %s' declared inside parameter list"
-msgstr ""
+msgid "`struct %s' declared inside parameter list"
+msgstr "'struct %s' erklæret inde i en parameterliste"
+
+#: c-decl.c:4888
+#, c-format
+msgid "`union %s' declared inside parameter list"
+msgstr "'union %s' erklæret inde i en parameterliste"
+
+#: c-decl.c:4891
+#, c-format
+msgid "`enum %s' declared inside parameter list"
+msgstr "'enum %s' erklæret inde i en parameterliste"
-#: c-decl.c:5120
-#, fuzzy
+#: c-decl.c:4898
msgid "anonymous struct declared inside parameter list"
-msgstr "anonym struct er ikke inden i en navngiven type"
+msgstr "anonym struct erklæret inde i en parameterliste"
-#: c-decl.c:5122
-#, fuzzy
+#: c-decl.c:4900
msgid "anonymous union declared inside parameter list"
-msgstr "anonym struct er ikke inden i en navngiven type"
+msgstr "anonym union erklæret inde i en parameterliste"
-#: c-decl.c:5124
-#, fuzzy
+#: c-decl.c:4902
msgid "anonymous enum declared inside parameter list"
-msgstr "anonym struct er ikke inden i en navngiven type"
+msgstr "anonym enum erklæret inde i en parameterliste"
-#: c-decl.c:5128
-msgid "its scope is only this definition or declaration, which is probably not what you want."
-msgstr ""
+#: c-decl.c:4906
+msgid "its scope is only this definition or declaration, which is probably not what you want"
+msgstr "dens virkefelt er kun denne definition eller erklæring hvilket sandsynligvis ikke er hvad du ønsker."
+
+#: c-decl.c:4983
+#, c-format
+msgid "redefinition of `union %s'"
+msgstr "omdefinering af 'union %s'"
-#: c-decl.c:5198
+#: c-decl.c:4985
#, c-format
-msgid "redefinition of `%s %s'"
-msgstr "omdefinering af '%s %s'"
+msgid "redefinition of `struct %s'"
+msgstr "omdefinering af 'struct %s'"
+
+#: c-decl.c:5056 cp/decl.c:7228
+msgid "declaration does not declare anything"
+msgstr "erklæring erklærer ikke noget"
-#: c-decl.c:5266 c-decl.c:5269
+# engelsk original forkortet
+#: c-decl.c:5098 c-decl.c:5101
#, c-format
msgid "%s defined inside parms"
-msgstr ""
+msgstr "%s defineret inden i parameterliste"
-#: c-decl.c:5267 c-decl.c:5270 c-decl.c:5281
+#: c-decl.c:5099 c-decl.c:5102 c-decl.c:5113
msgid "union"
-msgstr ""
+msgstr "union"
-#: c-decl.c:5267 c-decl.c:5270
+#: c-decl.c:5099 c-decl.c:5102
msgid "structure"
-msgstr ""
+msgstr "struktur"
-#: c-decl.c:5280
-#, fuzzy, c-format
+#: c-decl.c:5112
+#, c-format
msgid "%s has no %s"
-msgstr "%s har intet medlem ved navn '%s'"
+msgstr "%s har ingen %s"
-#: c-decl.c:5281
+#: c-decl.c:5113
msgid "struct"
-msgstr ""
+msgstr "struct"
-#: c-decl.c:5282
+#: c-decl.c:5114
msgid "named members"
-msgstr ""
+msgstr "navngivne medlemmer"
-#: c-decl.c:5282
+#: c-decl.c:5114
msgid "members"
-msgstr ""
+msgstr "medlemmer"
-#: c-decl.c:5321
+#: c-decl.c:5153
#, c-format
msgid "nested redefinition of `%s'"
msgstr "indlejret omdefinering af '%s'"
-#: c-decl.c:5334
-#, fuzzy, c-format
+#: c-decl.c:5166
+#, c-format
msgid "bit-field `%s' width not an integer constant"
-msgstr "tre 'l'er i heltalskonstant"
+msgstr "bredden af bitfeltet '%s' er ikke en heltalskonstant"
-#: c-decl.c:5345
-#, fuzzy, c-format
+#: c-decl.c:5177
+#, c-format
msgid "bit-field `%s' has invalid type"
-msgstr "feltet '%s' er af en ufuldstændig type"
+msgstr "bitfeltet '%s' er af en ufuldstændig type"
-#: c-decl.c:5357
+#: c-decl.c:5189
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
-msgstr ""
+msgstr "typen af bitfeltet '%s' er ugyldig i ISO C"
-#: c-decl.c:5369
+#: c-decl.c:5200
#, c-format
msgid "negative width in bit-field `%s'"
-msgstr ""
+msgstr "negativ bredde i bitfeltet '%s'"
-#: c-decl.c:5371
+#: c-decl.c:5202
#, c-format
msgid "width of `%s' exceeds its type"
-msgstr ""
+msgstr "bredden af '%s' overstiger typen"
-#: c-decl.c:5373
-#, fuzzy, c-format
+#: c-decl.c:5204
+#, c-format
msgid "zero width for bit-field `%s'"
-msgstr "sizeof benyttet på et bitfelt"
+msgstr "en bredde på nul for bitfeltet '%s'"
-#: c-decl.c:5387
+# RETMIG: find på et eller andet med præcisionen
+#: c-decl.c:5218
#, c-format
msgid "`%s' is narrower than values of its type"
-msgstr ""
+msgstr "'%s' er smallere end værdier af dens type"
-#: c-decl.c:5432
+#: c-decl.c:5252
msgid "flexible array member in union"
-msgstr ""
+msgstr "fleksibelt tabelmedlem i union"
-#: c-decl.c:5434
+#: c-decl.c:5254
msgid "flexible array member not at end of struct"
-msgstr ""
+msgstr "fleksibelt tabelmedlem ikke i slutningen af struktur"
-#: c-decl.c:5436
+#: c-decl.c:5256
msgid "flexible array member in otherwise empty struct"
-msgstr ""
+msgstr "fleksibelt tabelmedlem i ellers tom struktur"
-#: c-decl.c:5461
-#, fuzzy, c-format
+#: c-decl.c:5286
+#, c-format
msgid "duplicate member `%s'"
-msgstr "etiketten '%s' optræder mere end én gang"
+msgstr "medlemmet '%s' optræder mere end én gang"
-#: c-decl.c:5505
+#: c-decl.c:5330
msgid "union cannot be made transparent"
-msgstr ""
+msgstr "union kan ikke ikke gøres gennemsigtig"
#. This enum is a named one that has been declared already.
-#: c-decl.c:5586
+#: c-decl.c:5435
#, c-format
msgid "redeclaration of `enum %s'"
msgstr "omerklæring af 'enum %s'"
-#: c-decl.c:5620
+# original forkortet
+#: c-decl.c:5469
msgid "enum defined inside parms"
-msgstr ""
+msgstr "enum defineret inden i parameterliste"
-#: c-decl.c:5653
+#: c-decl.c:5502
msgid "enumeration values exceed range of largest integer"
-msgstr ""
+msgstr "enum-værdier overstige rækkevidden af det største heltal"
-#: c-decl.c:5762
+#: c-decl.c:5611
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
-#: c-decl.c:5775
+#: c-decl.c:5624
msgid "overflow in enumeration values"
-msgstr "for mange enum-værdier"
+msgstr "enum-værdier for store"
-#: c-decl.c:5780
+#: c-decl.c:5629
msgid "ISO C restricts enumerator values to range of `int'"
-msgstr ""
+msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'"
-#: c-decl.c:5852
-#, fuzzy
+#: c-decl.c:5711
msgid "return type is an incomplete type"
-msgstr "returneringstypen er en ufuldstændig type"
+msgstr "returtypen er en ufuldstændig type"
-#: c-decl.c:5860
+#: c-decl.c:5719
msgid "return type defaults to `int'"
-msgstr ""
+msgstr "returtypen antages at være 'int'"
-#: c-decl.c:5907
-#, fuzzy, c-format
+#: c-decl.c:5766
+#, c-format
msgid "no previous prototype for `%s'"
-msgstr "'%s' er tidligere erklæret"
+msgstr "ingen tidligere prototype for '%s'"
-#: c-decl.c:5914
+#: c-decl.c:5773
#, c-format
msgid "`%s' was used with no prototype before its definition"
-msgstr ""
+msgstr "'%s' blev brugt uden en prototype før dens definition"
-#: c-decl.c:5920
-#, fuzzy, c-format
+#: c-decl.c:5779
+#, c-format
msgid "no previous declaration for `%s'"
-msgstr "'%s' er tidligere erklæret"
+msgstr "ingen tidligere erklæring af '%s'"
-#: c-decl.c:5927
-#, fuzzy, c-format
+#: c-decl.c:5786
+#, c-format
msgid "`%s' was used with no declaration before its definition"
-msgstr "friend-erklæringen er ikke i klassedefinitionen"
+msgstr "'%s' blev brugt uden en erklæring før dens definition"
-#: c-decl.c:5955 c-decl.c:6672
-#, fuzzy, c-format
+#: c-decl.c:5810 c-decl.c:6363
+#, c-format
msgid "return type of `%s' is not `int'"
-msgstr "basisoperanden til '->' er ikke en henvisning"
+msgstr "returtypen til '%s' er ikke 'int'"
-#: c-decl.c:5971
-#, fuzzy, c-format
+#: c-decl.c:5826
+#, c-format
msgid "first argument of `%s' should be `int'"
-msgstr "Der mangler en parameter til '%s'-tilvalget"
+msgstr "den første parameter til '%s' skal være 'int'"
-#: c-decl.c:5980
+#: c-decl.c:5835
#, c-format
msgid "second argument of `%s' should be `char **'"
-msgstr ""
+msgstr "den anden parameter til '%s' skal være 'char **'"
-#: c-decl.c:5989
+#: c-decl.c:5844
#, c-format
msgid "third argument of `%s' should probably be `char **'"
-msgstr ""
+msgstr "den tredje parameter til '%s' skal sandsynligvis være 'char **'"
-#: c-decl.c:5998
+#: c-decl.c:5853
#, c-format
msgid "`%s' takes only zero or two arguments"
-msgstr ""
+msgstr "'%s' tager kun mod to eller ingen parametre"
-#: c-decl.c:6001
-#, fuzzy, c-format
+#: c-decl.c:5856
+#, c-format
msgid "`%s' is normally a non-static function"
-msgstr "'%s' er underforstået erklæret som en funktion"
+msgstr "'%s' er normalt en ikke-statisk funktion"
-#: c-decl.c:6104
+#: c-decl.c:5954
msgid "parm types given both in parmlist and separately"
-msgstr ""
+msgstr "parametertyper angivet både i parameterliste og separat"
-#: c-decl.c:6125
-#, fuzzy
+#: c-decl.c:5975
msgid "parameter name omitted"
-msgstr "parameteren er af en ufuldstændig type"
+msgstr "parameternavn udeladt"
-#: c-decl.c:6129 c-decl.c:6231 c-decl.c:6542
-#, fuzzy, c-format
+#: c-decl.c:5979 c-decl.c:6081
+#, c-format
msgid "parameter `%s' declared void"
-msgstr "variabel eller felt '%s' erklæret void"
+msgstr "parameteren '%s' erklæret void"
-#: c-decl.c:6205
-#, fuzzy
+#: c-decl.c:6055
msgid "parameter name missing from parameter list"
-msgstr "Et katalognavn mangler efter %s"
+msgstr "parameternavn mangler fra parameterliste"
-#: c-decl.c:6224 c-decl.c:6535
-#, fuzzy, c-format
+#: c-decl.c:6074
+#, c-format
msgid "multiple parameters named `%s'"
-msgstr "ukendt registernavn '%s'"
+msgstr "flere parametre ved navn '%s'"
-#: c-decl.c:6255 c-decl.c:6257
+#: c-decl.c:6096 c-decl.c:6098
#, c-format
msgid "type of `%s' defaults to `int'"
-msgstr ""
+msgstr "typen til '%s' antages at være 'int'"
-#: c-decl.c:6293 c-decl.c:6592
+#: c-decl.c:6134
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
-msgstr ""
+msgstr "erklæring af parameteren '%s', men ingen sådan parameter"
-#: c-decl.c:6341
+#: c-decl.c:6182
msgid "number of arguments doesn't match prototype"
msgstr "antallet af parametre passer ikke til prototypen"
-#: c-decl.c:6371
-#, fuzzy, c-format
+#: c-decl.c:6212
+#, c-format
msgid "promoted argument `%s' doesn't match prototype"
-msgstr "parameter '%s' passer ikke til prototypen"
+msgstr "den forfremmede parameter '%s' passer ikke til prototypen"
-#: c-decl.c:6385
+#: c-decl.c:6222
#, c-format
msgid "argument `%s' doesn't match prototype"
-msgstr "parameter '%s' passer ikke til prototypen"
+msgstr "parameteren '%s' passer ikke til prototypen"
-#: c-decl.c:6565
-#, fuzzy, c-format
-msgid "type of parameter `%s' is not declared"
-msgstr "parameter '%s' bliver tildelt en startværdi"
+#: c-decl.c:6395 cp/decl.c:14723
+msgid "no return statement in function returning non-void"
+msgstr "ingen return-sætning i en funktion der ikke returnerer void"
-#: c-decl.c:6793
+#: c-decl.c:6578
msgid "this function may return with or without a value"
-msgstr ""
+msgstr "denne funktion kan returnere med eller uden en værdi"
-#: c-decl.c:6813
-#, fuzzy, c-format
+#: c-decl.c:6598
+#, c-format
msgid "size of return value of `%s' is %u bytes"
-msgstr "størrelsen af tabel '%s' er negativ"
+msgstr "størrelsen af returtypen til '%s' er %u byte"
-#: c-decl.c:6817
-#, fuzzy, c-format
+#: c-decl.c:6602
+#, c-format
msgid "size of return value of `%s' is larger than %d bytes"
-msgstr "størrelsen af tabel '%s' er for stor"
+msgstr "størrelsen af returtypen til '%s' er større end %d byte"
#. 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:6872
+#: c-decl.c:6657
msgid "`for' loop initial declaration used outside C99 mode"
-msgstr ""
+msgstr "begyndelseserklæring i 'for'-løkke benyttet uden for C99-tilstand"
-#: c-decl.c:6892
-#, fuzzy, c-format
-msgid "`%s %s' declared in `for' loop initial declaration"
-msgstr "'%s' ikke erklæret her (ikke i en funktion)"
+#: c-decl.c:6681
+#, c-format
+msgid "`struct %s' declared in `for' loop initial declaration"
+msgstr "'struct %s' erklæret i begyndelseserklæring i 'for'-løkke"
+
+#: c-decl.c:6684
+#, c-format
+msgid "`union %s' declared in `for' loop initial declaration"
+msgstr "'union %s' erklæret i begyndelseserklæring i 'for'-løkke"
+
+#: c-decl.c:6687
+#, c-format
+msgid "`enum %s' declared in `for' loop initial declaration"
+msgstr "'enum %s' erklæret i begyndelseserklæring i 'for'-løkke"
-#: c-decl.c:6901
+#: c-decl.c:6695
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
-msgstr ""
+msgstr "erklæring af '%s' der ikke er en variabel, i begyndelseserklæring i 'for'-løkke"
-#: c-decl.c:6903
-#, fuzzy, c-format
+#: c-decl.c:6697
+#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
-msgstr "Instansvariablen '%s' er underforstået erklæret som en funktion"
+msgstr "erklæring af '%s' der er en statisk variabel, i begyndelseserklæring i 'for'-løkke"
-#: c-decl.c:6905
+#: c-decl.c:6699
#, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
-msgstr ""
-
-#: c-dump.c:826
-#, fuzzy, c-format
-msgid "could not open dump file `%s'"
-msgstr "Kunne ikke åbne uddatafilen %s.\n"
-
-#: c-dump.c:871
-#, fuzzy, c-format
-msgid "ignoring `%s' at end of `-f%s'"
-msgstr "ragelse i slutningen af #%s"
-
-#: c-format.c:106 c-format.c:219
-#, fuzzy, c-format
-msgid "argument format specified for non-function `%s'"
-msgstr "for få parametre til funktionen '%s'"
-
-#: c-format.c:112
-msgid "unrecognized format specifier"
-msgstr "ukendt formatanvisning"
-
-#: c-format.c:123
-#, fuzzy, c-format
-msgid "`%s' is an unrecognized format function type"
-msgstr "ukendt formatanvisning"
-
-#: c-format.c:145 c-format.c:233
-msgid "format string has invalid operand number"
-msgstr "formatstrengen har et ugyldigt operandtal"
+msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke"
-#: c-format.c:153
-msgid "format string arg follows the args to be formatted"
-msgstr "formatstrengsparameter efterfølger parametrene der skal formateres"
-
-#: c-format.c:172 c-format.c:254
+#: c-format.c:109 c-format.c:191
msgid "format string arg not a string type"
-msgstr "formatstrengsparameter er ikke af en strengtype"
+msgstr "formateringsstrengsparameter er ikke af en strengtype"
-#: c-format.c:185
+#: c-format.c:124
msgid "args to be formatted is not '...'"
msgstr "parametrene der skal formateres, er ikke '...'"
-#: c-format.c:193
+#: c-format.c:133
msgid "strftime formats cannot format arguments"
-msgstr ""
+msgstr "strftime-formater kan ikke formatere parametre"
+
+#: c-format.c:168 c-format.c:270
+msgid "format string has invalid operand number"
+msgstr "formateringsstrengen har et ugyldigt operandtal"
-#: c-format.c:263
+#: c-format.c:202
msgid "function does not return string type"
msgstr "funktionen returnerer ikke en strengtype"
-#: c-format.c:757
+#: c-format.c:233
+msgid "unrecognized format specifier"
+msgstr "ukendt formateringsanvisning"
+
+#: c-format.c:246
+#, c-format
+msgid "`%s' is an unrecognized format function type"
+msgstr "'%s' er en ukendt formateringsfunktionstype"
+
+#: c-format.c:280
+msgid "format string arg follows the args to be formatted"
+msgstr "formateringsstrengsparameter efterfølger parametrene der skal formateres"
+
+# her er der tale om en signalering
+#: c-format.c:601
msgid "` ' flag"
-msgstr ""
+msgstr "' '-flag"
-#: c-format.c:757
+#: c-format.c:601
msgid "the ` ' printf flag"
-msgstr ""
+msgstr "' '-printf-flaget"
-#: c-format.c:758 c-format.c:829
+#: c-format.c:602 c-format.c:673
msgid "`+' flag"
-msgstr ""
+msgstr "'+'-flag"
-#: c-format.c:758
+#: c-format.c:602
msgid "the `+' printf flag"
-msgstr ""
+msgstr "'+'-printf-flaget"
-#: c-format.c:759 c-format.c:805
+#: c-format.c:603 c-format.c:649
msgid "`#' flag"
-msgstr ""
+msgstr "'#'-flag"
-#: c-format.c:759
+#: c-format.c:603
msgid "the `#' printf flag"
-msgstr ""
+msgstr "'#'-printf-flaget"
-#: c-format.c:760 c-format.c:803
+#: c-format.c:604 c-format.c:647
msgid "`0' flag"
-msgstr ""
+msgstr "'0'-flag"
-#: c-format.c:760
+#: c-format.c:604
msgid "the `0' printf flag"
-msgstr ""
+msgstr "'0'-printf-flaget"
-#: c-format.c:761 c-format.c:802 c-format.c:832
+#: c-format.c:605 c-format.c:646 c-format.c:676
msgid "`-' flag"
-msgstr ""
+msgstr "'-'-flag"
-#: c-format.c:761
+#: c-format.c:605
msgid "the `-' printf flag"
-msgstr ""
+msgstr "'-'-printf-flaget"
-#: c-format.c:762 c-format.c:786
+#: c-format.c:606 c-format.c:630
msgid "`'' flag"
-msgstr ""
+msgstr "'''-flag"
-#: c-format.c:762
+#: c-format.c:606
msgid "the `'' printf flag"
-msgstr ""
+msgstr "'''-printf-flaget"
-#: c-format.c:763 c-format.c:787
+#: c-format.c:607 c-format.c:631
msgid "`I' flag"
-msgstr ""
+msgstr "'I'-flag"
-#: c-format.c:763
+#: c-format.c:607
msgid "the `I' printf flag"
-msgstr ""
+msgstr "'I'-printf-flaget"
-#: c-format.c:764 c-format.c:784 c-format.c:806 c-format.c:833 c-format.c:1846
+#: c-format.c:608 c-format.c:628 c-format.c:650 c-format.c:677 c-format.c:1702
msgid "field width"
-msgstr ""
+msgstr "feltbredde"
-#: c-format.c:764
+#: c-format.c:608
msgid "field width in printf format"
-msgstr ""
+msgstr "feltbredde i printf-formatering"
-#: c-format.c:765
+#: c-format.c:609
msgid "precision"
-msgstr ""
+msgstr "præcision"
-#: c-format.c:765
+#: c-format.c:609
msgid "precision in printf format"
-msgstr ""
+msgstr "præcision i printf-formatering"
-#: c-format.c:766 c-format.c:785 c-format.c:836
+#: c-format.c:610 c-format.c:629 c-format.c:680
msgid "length modifier"
-msgstr ""
+msgstr "længdetilpasning"
-#: c-format.c:766
+#: c-format.c:610
msgid "length modifier in printf format"
-msgstr ""
+msgstr "længdetilpasning i printf-formatering"
-#: c-format.c:782
-#, fuzzy
+#: c-format.c:626
msgid "assignment suppression"
-msgstr "tildeling"
+msgstr "tildelingsundertrykkelse"
+
+#: c-format.c:626
+msgid "the assignment suppression scanf feature"
+msgstr "den tildelingsundertrykkende scanf-facilitet"
-#: c-format.c:783
+#: c-format.c:627
msgid "`a' flag"
-msgstr ""
+msgstr "'a'-flag"
-#: c-format.c:783
+#: c-format.c:627
msgid "the `a' scanf flag"
-msgstr ""
+msgstr "'a'-scanf-flaget"
-#: c-format.c:784
+#: c-format.c:628
msgid "field width in scanf format"
-msgstr ""
+msgstr "feltbredde i scanf-formatering"
-#: c-format.c:785
+#: c-format.c:629
msgid "length modifier in scanf format"
-msgstr ""
+msgstr "længdetilpasning i scanf-formatering"
-#: c-format.c:786
+#: c-format.c:630
msgid "the `'' scanf flag"
-msgstr ""
+msgstr "'''-scanf-flaget"
-#: c-format.c:787
+#: c-format.c:631
msgid "the `I' scanf flag"
-msgstr ""
+msgstr "'I'-scanf-flaget"
-#: c-format.c:801
+#: c-format.c:645
msgid "`_' flag"
-msgstr ""
+msgstr "'_'-flag"
-#: c-format.c:801
+#: c-format.c:645
msgid "the `_' strftime flag"
-msgstr ""
+msgstr "'_'-strftime-flaget"
-#: c-format.c:802
+#: c-format.c:646
msgid "the `-' strftime flag"
-msgstr ""
+msgstr "'-'-strftime-flaget"
-#: c-format.c:803
+#: c-format.c:647
msgid "the `0' strftime flag"
-msgstr ""
+msgstr "'0'-strftime-flaget"
-#: c-format.c:804 c-format.c:828
+#: c-format.c:648 c-format.c:672
msgid "`^' flag"
-msgstr ""
+msgstr "'^'-flag"
-#: c-format.c:804
+#: c-format.c:648
msgid "the `^' strftime flag"
-msgstr ""
+msgstr "'^'-strftime-flaget"
-#: c-format.c:805
+#: c-format.c:649
msgid "the `#' strftime flag"
-msgstr ""
+msgstr "'#'-strftime-flaget"
-#: c-format.c:806
+#: c-format.c:650
msgid "field width in strftime format"
-msgstr ""
+msgstr "feltbredde i strftime-formatering"
-#: c-format.c:807
-#, fuzzy
+#: c-format.c:651
msgid "`E' modifier"
-msgstr "'$' i kaldenavn"
+msgstr "'E'-modifikation"
-#: c-format.c:807
+#: c-format.c:651
msgid "the `E' strftime modifier"
-msgstr ""
+msgstr "'E'-strftime-modifikationen"
-#: c-format.c:808
-#, fuzzy
+#: c-format.c:652
msgid "`O' modifier"
-msgstr "'$' i kaldenavn"
+msgstr "'O'-modifikation"
-#: c-format.c:808
+#: c-format.c:652
msgid "the `O' strftime modifier"
-msgstr ""
+msgstr "'O'-strftime-modifikationen"
-#: c-format.c:809
+#: c-format.c:653
msgid "the `O' modifier"
-msgstr ""
+msgstr "'O'-modifikation"
-#: c-format.c:827
-#, fuzzy
+#: c-format.c:671
msgid "fill character"
-msgstr "%s ved nultegn"
+msgstr "udfyldningstegn"
-#: c-format.c:827
-#, fuzzy
+#: c-format.c:671
msgid "fill character in strfmon format"
-msgstr "nultegn i streng- eller tegnkonstant"
+msgstr "udfyldningstegn i strfmon-formatering"
-#: c-format.c:828
+#: c-format.c:672
msgid "the `^' strfmon flag"
-msgstr ""
+msgstr "'^'-strfmon-flaget"
-#: c-format.c:829
+#: c-format.c:673
msgid "the `+' strfmon flag"
-msgstr ""
+msgstr "'+'-strfmon-flaget"
-#: c-format.c:830
+#: c-format.c:674
msgid "`(' flag"
-msgstr ""
+msgstr "'('-flag"
-#: c-format.c:830
+#: c-format.c:674
msgid "the `(' strfmon flag"
-msgstr ""
+msgstr "'('-strfmon-flaget"
-#: c-format.c:831
+#: c-format.c:675
msgid "`!' flag"
-msgstr ""
+msgstr "'!'-flag"
-#: c-format.c:831
+#: c-format.c:675
msgid "the `!' strfmon flag"
-msgstr ""
+msgstr "'!'-strfmon-flaget"
-#: c-format.c:832
+#: c-format.c:676
msgid "the `-' strfmon flag"
-msgstr ""
+msgstr "'-'-strfmon-flaget"
-#: c-format.c:833
+#: c-format.c:677
msgid "field width in strfmon format"
-msgstr ""
+msgstr "feltbredde i strfmon-formatering"
-#: c-format.c:834
+#: c-format.c:678
msgid "left precision"
-msgstr ""
+msgstr "venstrepræcision"
-#: c-format.c:834
+#: c-format.c:678
msgid "left precision in strfmon format"
-msgstr ""
+msgstr "venstrepræcision i strfmon-formatering"
-#: c-format.c:835
+#: c-format.c:679
msgid "right precision"
-msgstr ""
+msgstr "højrepræcision"
-#: c-format.c:835
+#: c-format.c:679
msgid "right precision in strfmon format"
-msgstr ""
+msgstr "højrepræcision i strfmon-formatering"
-#: c-format.c:836
+#: c-format.c:680
msgid "length modifier in strfmon format"
-msgstr ""
+msgstr "længdemodifikation i strfmon-formatering"
-#: c-format.c:1135
+#: c-format.c:983
#, c-format
msgid "function might be possible candidate for `%s' format attribute"
-msgstr ""
+msgstr "funktion er en mulig kandidat til '%s'-formateringsegenskab"
-#: c-format.c:1248 c-format.c:1269 c-format.c:2256
-#, fuzzy
+#: c-format.c:1107 c-format.c:1128 c-format.c:2112
msgid "missing $ operand number in format"
-msgstr "ugyldigt versionsnummerformat"
+msgstr "manglende $-operandnummer i formatering"
-#: c-format.c:1279
+#: c-format.c:1138
#, c-format
msgid "%s does not support %%n$ operand number formats"
-msgstr ""
+msgstr "%s understøtter ikke %%n$-operandnummerformateringer"
-#: c-format.c:1286
-#, fuzzy
+#: c-format.c:1145
msgid "operand number out of range in format"
-msgstr "operandtal er uden for det gyldige interval"
+msgstr "operandnummer uden for det gyldige interval"
-#: c-format.c:1307
+#: c-format.c:1168
#, c-format
msgid "format argument %d used more than once in %s format"
-msgstr ""
+msgstr "formateringsparameter %d brugt mere end en gang i %s-formatering"
-#: c-format.c:1349
+#: c-format.c:1218
#, c-format
msgid "format argument %d unused before used argument %d in $-style format"
-msgstr ""
+msgstr "formateringsparameter %d ubenyttet før den brugte parameter %d i formatering med $"
-#: c-format.c:1443
-#, fuzzy
+#: c-format.c:1322
msgid "format not a string literal, format string not checked"
-msgstr "formatstrengsparameter er ikke af en strengtype"
+msgstr "formatering er ikke en strengkonstant, formateringsstrengen er ikke kontrolleret"
-#: c-format.c:1457
+#: c-format.c:1336
msgid "format not a string literal and no format arguments"
-msgstr ""
+msgstr "formatering er ikke en strengkonstant og der er ingen formateringsparametre"
-#: c-format.c:1459
+#: c-format.c:1338
msgid "format not a string literal, argument types not checked"
-msgstr ""
+msgstr "formatering er ikke en strengkonstant, parametertyper er ikke kontrolleret"
-#: c-format.c:1472
-#, fuzzy
+#: c-format.c:1351
msgid "too many arguments for format"
-msgstr "for mange parametre til funktionen"
+msgstr "for mange parametre til formatering"
-#: c-format.c:1475
+#: c-format.c:1354
msgid "unused arguments in $-style format"
-msgstr ""
+msgstr "ubenyttede parametre i formatering med $"
-#: c-format.c:1478
-msgid "zero-length format string"
-msgstr ""
+#: c-format.c:1357
+#, c-format
+msgid "zero-length %s format string"
+msgstr "formateringsstreng %s med længden nul"
-#: c-format.c:1481
-#, fuzzy
+#: c-format.c:1361
msgid "format is a wide character string"
-msgstr "forkert formateret tegnkonstant"
+msgstr "formatering er en bredtegnsstreng"
-#: c-format.c:1484
-#, fuzzy
+#: c-format.c:1364
msgid "unterminated format string"
-msgstr "uafsluttet tegnkonstant"
-
-#. 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:1572
-#, fuzzy
-msgid "null format string"
-msgstr "ugyldigt #line-format"
-
-#: c-format.c:1725
+msgstr "uafsluttet formateringsstreng"
+
+#: c-format.c:1581
msgid "embedded `\\0' in format"
-msgstr ""
+msgstr "indlejret '\\0' i formatering"
-#: c-format.c:1740
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
-msgstr ""
+msgstr "mystisk afsluttende '%%' i formatering"
-#: c-format.c:1779 c-format.c:2016
+#: c-format.c:1635 c-format.c:1872
#, c-format
msgid "repeated %s in format"
-msgstr ""
+msgstr "gentaget %s i formatering"
-#: c-format.c:1792
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
-msgstr ""
+msgstr "mangler fyldtegn i slutningen af strfmon-formatering"
-#: c-format.c:1812 c-format.c:1930 c-format.c:2210 c-format.c:2263
-#, fuzzy
+#: c-format.c:1687 c-format.c:1786 c-format.c:2066 c-format.c:2119
msgid "too few arguments for format"
-msgstr "for få parametre til funktionen"
+msgstr "for få parametre til formatering"
-#: c-format.c:1872
+#: c-format.c:1728
#, c-format
msgid "zero width in %s format"
-msgstr ""
+msgstr "bredde på nul i %s-formatering"
-#: c-format.c:1891
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
-msgstr ""
+msgstr "tom venstrepræcision i %s-formatering"
-#: c-format.c:1945
+#: c-format.c:1801
msgid "field precision"
-msgstr ""
+msgstr "feltpræcision"
-#: c-format.c:1960
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
-msgstr ""
+msgstr "tom præcision i %s-formatering"
-#: c-format.c:2000
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
-msgstr ""
+msgstr "%s understøtter ikke '%s' %s-længdemodifikationen"
-#: c-format.c:2050
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
-msgstr ""
+msgstr "konvertering mangler type i slutningen af formatering"
-#: c-format.c:2061
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
-msgstr ""
+msgstr "ukendt konverteringstypetegn '%c' i formatering"
-#: c-format.c:2064
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
-msgstr ""
+msgstr "ukendt konverteringstypetegn 0x%x i formatering"
-#: c-format.c:2071
-#, fuzzy, c-format
+#: c-format.c:1927
+#, c-format
msgid "%s does not support the `%%%c' %s format"
-msgstr "%s understøttes ikke af denne konfiguration"
+msgstr "%s understøtter ikke '%%%c' %s-formateringen"
-#: c-format.c:2087
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
-msgstr ""
+msgstr "%s brugt med '%%%c' %s-formatering"
-#: c-format.c:2096
-#, fuzzy, c-format
+#: c-format.c:1952
+#, c-format
msgid "%s does not support %s"
-msgstr "-mabi=%s understøtter ikke -mips%d"
+msgstr "%s understøtter ikke %s"
-#: c-format.c:2105
-#, fuzzy, c-format
+#: c-format.c:1961
+#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
-msgstr "GNU C understøtter ikke -C uden -E"
+msgstr "%s understøtter ikke %s med '%%%c' %s-formateringen"
-#: c-format.c:2138
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
-msgstr ""
+msgstr "%s ignoreret med %s og '%%%c' %s-formatering"
-#: c-format.c:2142
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
-msgstr ""
+msgstr "%s ignoreret med %s i %s-formatering"
-#: c-format.c:2148
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
-msgstr ""
+msgstr "brug af %s og %s sammen med '%%%c' %s-formatering"
-#: c-format.c:2152
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
-msgstr ""
+msgstr "brug af %s og %s sammen i %s-formatering"
-#: c-format.c:2171
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
-msgstr ""
+msgstr "'%%%c' giver kun de to sidste cifre af året under nogle regionalindstillinger"
-#: c-format.c:2174
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
-msgstr ""
+msgstr "'%%%c' giver kun de to sidste cifre af året"
#. The end of the format string was reached.
-#: c-format.c:2190
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
-msgstr ""
+msgstr "ingen afsluttende '[' til '%%['-formatering"
-#: c-format.c:2203
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
-msgstr ""
+msgstr "brug af '%s'-længdemodifikation med '%c'-typetegn"
-#: c-format.c:2224
-#, fuzzy, c-format
+#: c-format.c:2080
+#, c-format
msgid "%s does not support the `%%%s%c' %s format"
-msgstr "%s understøttes ikke af denne konfiguration"
+msgstr "%s understøtter ikke '%%%s%c' %s-formateringen"
-#: c-format.c:2239
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
-msgstr ""
+msgstr "operandnummer angivet med undertrykt tildeling"
-#: c-format.c:2241
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
-msgstr ""
+msgstr "operandnummer angiver for formatering der ikke tager mod parametre"
-#: c-format.c:2360
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
-msgstr ""
+msgstr "skrivning gennem nulhenvisning (parameter %d)"
-#: c-format.c:2369
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
-msgstr ""
+msgstr "læsning gennem nulhenvisning (parameter %d)"
-#: c-format.c:2389
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
-msgstr ""
+msgstr "skrivning til konstant objekt (parameter %d)"
-#: c-format.c:2399
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
-msgstr ""
+msgstr "ekstra typemodifikationer i formateringsparameter (parameter %d)"
-#: c-format.c:2406
-#, fuzzy, c-format
+#: c-format.c:2257
+#, c-format
msgid "format argument is not a pointer (arg %d)"
-msgstr "angivet justering er ikke en potens af 2"
+msgstr "formateringsparameter er ikke en henvisning (parameter %d)"
-#: c-format.c:2408
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
-msgstr ""
+msgstr "formateringsparameter er ikke en henvisning til en henvisning (parameter %d)"
+
+#: c-format.c:2330
+msgid "pointer"
+msgstr "henvisning"
-#: c-format.c:2502
+#: c-format.c:2332
+msgid "different type"
+msgstr "anden type"
+
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
-msgstr ""
+msgstr "%s er ikke af typen %s (parameter %d)"
-#: c-format.c:2505
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
-msgstr ""
+msgstr "%s-formatering, %s-parameter (parameter %d)"
-#: c-lex.c:279
-msgid "badly nested C headers from preprocessor"
-msgstr ""
+#: c-lex.c:153
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG ikke defineret"
-#: c-lex.c:297
-msgid "leaving more files than we entered"
-msgstr ""
+#: c-lex.c:290
+msgid "badly nested C headers from preprocessor"
+msgstr "ugyldigt indlejrede C-inkluderingsfiler fra præprocessoren"
-#: c-lex.c:329
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
-msgstr ""
-
-#: c-lex.c:331
-#, fuzzy, c-format
-msgid "ignoring #pragma %s"
-msgstr "ugyldig #pragma-enhed"
-
-#: c-lex.c:381
-#, fuzzy
-msgid "incomplete universal-character-name"
-msgstr "ugyldigt universelt tegnnavn"
+msgstr "ignorerer #pragma %s %s"
-#: c-lex.c:388
+#: c-lex.c:383
#, c-format
-msgid "non hex digit '%c' in universal-character-name"
-msgstr "der optræder '%c' der ikke er et hexadecimalt ciffer, i universelt tegnnavn"
-
-#: c-lex.c:403
-#, fuzzy
-msgid "universal-character-name on EBCDIC target"
-msgstr "ugyldigt universelt tegnnavn"
+msgid "universal-character-name '\\U%08x' not valid in identifier"
+msgstr "universelt tegn '\\U%08x' er ikke gyldigt i kaldenavne"
-#: c-lex.c:416
-#, fuzzy, c-format
-msgid "universal-character-name used for '%c'"
-msgstr "ugyldigt universelt tegnnavn"
+#: c-lex.c:629
+#, c-format
+msgid "universal-character-name '\\u%04x' not valid in identifier"
+msgstr "universelt tegn '\\u%04x' er ikke gyldigt i kaldenavne"
-#: c-lex.c:419
-msgid "invalid universal-character-name"
-msgstr "ugyldigt universelt tegnnavn"
+#: c-lex.c:692
+#, c-format
+msgid "stray '%c' in program"
+msgstr "vildfaren '%c' i program"
-#: c-lex.c:453 f/lex.c:601
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr ""
+#: c-lex.c:694
+#, c-format
+msgid "stray '\\%o' in program"
+msgstr "vildfaren '\\%o' i program"
-#: c-lex.c:489 cppexp.c:579 f/lex.c:636
-msgid "\\x used with no following hex digits"
-msgstr "\\x angivet uden efterfølgende hexadecimale cifre"
+#: c-lex.c:851
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr "denne kommatalskonstant er kun unsigned i ISO C90"
-#: c-lex.c:502 f/lex.c:646
-#, fuzzy
-msgid "hex escape out of range"
-msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval"
+#: c-lex.c:854
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr "denne kommatalskonstant ville være unsigned i ISO C90"
-#: c-lex.c:540
-msgid "the meaning of '\\a' varies with -traditional"
-msgstr ""
+#: c-lex.c:870
+#, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "heltalskonstanten er for stor til typen '%s'"
-#: c-lex.c:550
+#: c-lex.c:938
#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
-msgstr ""
+msgid "floating constant exceeds range of \"%s\""
+msgstr "kommatalskonstant overskrider intervallet for '%s'"
-#: c-lex.c:556 cppexp.c:527
-#, fuzzy, c-format
-msgid "non-ISO-standard escape sequence, '\\%c'"
-msgstr "undvigesekvensen '\\%c' følger ikke ISO-standarden"
+#: c-lex.c:974 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr "ignorerer ugyldigt flerbyte-tegn"
-#: c-lex.c:563 c-lex.c:569
-#, fuzzy, c-format
-msgid "unknown escape sequence '\\%c'"
-msgstr "undvigesekvensen '\\%c' følger ikke ISO-standarden"
+#: c-opts.c:355
+#, c-format
+msgid "missing argument to \"-%s\""
+msgstr "der mangler en parameter til tilvalget '-%s'"
-#: c-lex.c:571
+#: c-opts.c:359
#, c-format
-msgid "unknown escape sequence: '\\' followed by char 0x%x"
-msgstr ""
+msgid "no class name specified with \"-%s\""
+msgstr "intet klassenavn angivet med '-%s'"
-#: c-lex.c:601
-#, fuzzy, c-format
-msgid "universal-character-name '\\U%08x' not valid in identifier"
-msgstr "universelt tegn '\\U%08x' er ikke tilladt i kaldenavne"
+#: c-opts.c:366
+#, c-format
+msgid "missing filename after \"-%s\""
+msgstr "et filnavn mangler efter '-%s'"
-#: c-lex.c:847
-#, fuzzy, c-format
-msgid "universal-character-name '\\u%04x' not valid in identifier"
-msgstr "universelt tegn '\\u%04x' er ikke tilladt i kaldenavne"
+#: c-opts.c:371
+#, c-format
+msgid "missing target after \"-%s\""
+msgstr "et mål mangler efter '-%s'"
-#: c-lex.c:937
-#, fuzzy
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "både 'f' og 'l' i kommatalskonstant"
+#: c-opts.c:505
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr "tilvalgstabel sorteret forkert: %s er før %s"
-#: c-lex.c:964
-#, fuzzy, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr "kommatal er ikke tilladt i '#if'-udtryk"
+#: c-opts.c:550
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr "for mange filnavne angivet - vejledning i brug kan fås med '%s --help'"
-#: c-lex.c:994
-#, fuzzy, c-format
-msgid "stray '%c' in program"
-msgstr "vildfaren '\\' i program"
+#: c-opts.c:937
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "-Wno-strict-prototypes er ikke understøttet i C++"
-#: c-lex.c:996
-#, fuzzy, c-format
-msgid "stray '\\%o' in program"
-msgstr "vildfaren '\\' i program"
+#: c-opts.c:1017
+#, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "tilvalget '%s' understøttes ikke længere"
-#: c-lex.c:1193
-#, fuzzy
-msgid "floating constant may not be in radix 16"
-msgstr "kommatalskonstant uden for det mulige interval"
+#: c-opts.c:1033
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr "tilvalget '%s' er forældet, se venligst dokumentationen for detaljer"
-#: c-lex.c:1230
-msgid "traditional C rejects the 'f' suffix"
-msgstr ""
+#: c-opts.c:1153
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr "-fhandle-exceptions er blevet omdøbt til -fexceptions (og er nu til som standard)"
-#: c-lex.c:1239
-msgid "traditional C rejects the 'l' suffix"
-msgstr ""
+#: c-opts.c:1273
+msgid "output filename specified twice"
+msgstr "uddatafilnavnet er angivet to gange"
-#: c-lex.c:1249 c-lex.c:1342
-msgid "ISO C forbids imaginary numeric constants"
-msgstr ""
+#: c-opts.c:1387
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "-Wformat-y2k ignoreret uden -Wformat"
-#: c-lex.c:1283
-msgid "floating point number exceeds range of 'double'"
-msgstr ""
+#: c-opts.c:1389
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "-Wformat-extra-args ignoreret uden -Wformat"
-#: c-lex.c:1312
-#, fuzzy
-msgid "two 'u' suffixes on integer constant"
-msgstr "for mange 'u'-suffikser i heltalskonstant"
+#: c-opts.c:1391
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "-Wformat-zero-length ignoreret uden -Wformat"
-#: c-lex.c:1314
-msgid "traditional C rejects the 'u' suffix"
-msgstr ""
+#: c-opts.c:1393
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "-Wformat-nonliteral ignoreret uden -Wformat"
-#: c-lex.c:1325
-#, fuzzy
-msgid "three 'l' suffixes on integer constant"
-msgstr "for mange 'l'-suffikser i heltalskonstant"
+#: c-opts.c:1395
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "-Wformat-security ignoreret uden -Wformat"
-#: c-lex.c:1327
-msgid "'lul' is not a valid integer suffix"
-msgstr ""
+#: c-opts.c:1397
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "-Wmissing-format-attribute ignoreret uden -Wformat"
-#: c-lex.c:1329
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr ""
+#: c-opts.c:1419
+#, c-format
+msgid "opening output file %s"
+msgstr "åbner uddatafilen %s"
-#: c-lex.c:1332
-#, fuzzy
-msgid "ISO C89 forbids long long integer constants"
-msgstr "tre 'l'er i heltalskonstant"
+#: c-opts.c:1474
+#, c-format
+msgid "opening dependency file %s"
+msgstr "åbner afhængighedsfilen %s"
-#: c-lex.c:1340
-#, fuzzy
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "mere end ét 'i' eller 'j' i talkonstant"
+#: c-opts.c:1484
+#, c-format
+msgid "closing dependency file %s"
+msgstr "lukker afhængighedsfilen %s"
-#: c-lex.c:1355
+#: c-opts.c:1487
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
-msgstr ""
+msgid "when writing output to %s"
+msgstr "ved skrivning af uddata til %s"
-#: c-lex.c:1445
-#, fuzzy
-msgid "width of integer constant changes with -traditional"
-msgstr "heltalskonstanten indeholder cifre der er større end grundtallet"
+#: c-opts.c:1567
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "for at generere afhængigheder skal du angive enten -M eller -MM"
-#: c-lex.c:1447
-#, fuzzy
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "heltalskonstanten indeholder cifre der er større end grundtallet"
+#: c-opts.c:1714
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr "'-%s' er gyldigt for %s, men ikke for %s"
-#: c-lex.c:1449
-msgid "width of integer constant may change on other systems with -traditional"
+# den fulde tekst til disse bidder findes også senere
+#. To keep the lines from getting too long for some compilers, limit
+#. to about 500 characters (6 lines) per chunk.
+#: c-opts.c:1724
+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 ""
+"Tilvalg:\n"
+" -include <fil> Inkludér indholdet af <fil> før andre filer\n"
+" -imacros <fil> Læs makrodefinitionerne i <fil>\n"
+" -iprefix <sti> Angiv <sti> som et præfiks til de næste to tilvalg\n"
+" -iwithprefix <ktlg> Føj <ktlg> til slutningen af systeminkluderingsstien\n"
+" -withprefixbefore <ktlg> Føj <ktlg> til slutningen af den alm. inkluderingssti\n"
+" -isystem <ktlg> Føj <ktlg> til begyndelsen af systeminkluderingsstien\n"
-#: c-lex.c:1459
-#, fuzzy, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "heltalskonstanten er så stor at den er unsigned"
-
-#: c-lex.c:1468
-#, fuzzy
-msgid "decimal constant is so large that it is unsigned"
-msgstr "heltalskonstanten er så stor at den er unsigned"
+#: c-opts.c:1733
+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 ""
+" -idirafter <ktlg> Føj <ktlg> til slutningen af systeminkluderingsstien\n"
+" -I <ktlg> Føj <ktlg> til slutningen af den alm. inkluderingssti\n"
+" -I- Nøje kontrolleret inkluderingssti; se info-hjælpen\n"
+" -nostdinc Søg ikke i systeminkluderingskataloger\n"
+" (kataloger angivet med -isystem søges dog stadig)\n"
+" -nostdinc++ Søg ikke i systeminkluderingskataloger til C++\n"
+" -o <fil> Send uddata til <fil>\n"
-#: c-lex.c:1497
-#, fuzzy
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "heltalskonstanten er så stor at den er unsigned"
+#: c-opts.c:1742
+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 ""
+" -trigraphs Understøt ISO C trigrafer\n"
+" -std=<standardnavn> Angiv at koden retter sig efter en af standarderne:\n"
+" gnu89, gnu99, c89, c99, iso9899:1990,\n"
+" iso9899:199409, iso9899:1999, c++98\n"
+" -w Undertryk advarselsmeddelelser\n"
+" -W[no-]trigraphs Advar hvis trigrafer mødes\n"
+" -W[no-]comment{s} Advar hvis en kommentar begynder inden i en anden\n"
+
+#: c-opts.c:1751
+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 ""
+" -W[no-]traditional Advar om utilgængelige faciliteter i traditionel C\n"
+" -W[no-]undef Advar hvis en ikkedefineret makro bruges med #if\n"
+" -W[no-]import Advar om brug af #import-direktivet\n"
-#: c-lex.c:1501
-#, fuzzy, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "manglende mellemrum efter tallet '%s'"
+#: c-opts.c:1756
+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 ""
+" -W[no-]error Behandl alle advarsler som fejl\n"
+" -W[no-]system-headers Undertryk ikke advarsler fra systeminkluderingsfiler\n"
+" -W[no-]all Slå alle præprocessoradvarsler til\n"
-#: c-lex.c:1537 c-lex.c:1641
-msgid "Ignoring invalid multibyte character"
+#: c-opts.c:1761
+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 ""
+" -M Generér afhængigheder til make\n"
+" -MM Som -M, men ignorér systeminkluderingsfiler\n"
+" -MD Generer make-afhængigheder og oversæt\n"
+" -MMD Som -MD, men ignorér systeminkluderingsfiler\n"
+" -MF <fil> Skriv afhænghedsuddata til den givne fil\n"
+" -MG Behandl manglende inkl.-filer som genererede filer\n"
-#: c-lex.c:1555 c-lex.c:1660 cppexp.c:275
-msgid "escape sequence out of range for character"
-msgstr "undvigesekvensen er uden for det gyldig interval for tegn"
+# make kalder phony targets for falske mål
+#: c-opts.c:1769
+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 ""
+" -MP Generér \"falske\" mål for alle inkluderingsfiler\n"
+" -MQ <mål> Tilføj et MAKE-mål i anførselstegn\n"
+" -MT <mål> Tilføj et mål uden anførselstegn\n"
-#: c-lex.c:1679
-msgid "empty character constant"
-msgstr "tom tegnkonstant"
+#: c-opts.c:1774
+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 ""
+" -D<makro> Definér makroen <makro> med strengen '1' som værdi\n"
+" -D<makro>=<værdi> Definér makroen <makro> med værdien <værdi>\n"
+" -A<spørgsmål>=<svar> Angiv at <svar> er svar på <spørgsmål>\n"
+" -A-<spørgsmål>=<svar> Angiv at <svar> ikke er svar på <spørgsmål>\n"
+" -U<makro> Glem definitionen af <makro>\n"
+" -v Skriv versionsnummeret\n"
-#: c-lex.c:1683
-msgid "character constant too long"
-msgstr "tegnkonstanten er for lang"
+#: c-opts.c:1782
+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 ""
+" -H Skriv navnene på inkluderingsfilerne når de bruges\n"
+" -C Fjern ikke kommentarer\n"
+" -dM Vis til sidst de aktive makrodefinitioner\n"
+" -dD Bevar makrodefinitioner i uddata\n"
+" -dN Som -dD bortset fra at kun navnene bevares\n"
+" -dI Inkludér #include-anvisninger i uddata\n"
-#: c-lex.c:1686 cppexp.c:293
-msgid "multi-character character constant"
-msgstr "tegnkonstanten fylder mere end én char"
+#: c-opts.c:1790
+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 ""
+" -f[no-]preprocessed Behandl inddatafilen som allerede præprocesseret\n"
+" -ftabstop=<tal> Afstand mellem tabulatorstop i kolonnerapportering\n"
+" -P Generér ikke #line-angivelser\n"
+" -remap Omdan filnavne ved filinkludering\n"
+" --help Vis denne vejledning\n"
#. Like YYERROR but do call yyerror.
-#: c-parse.y:61 cp/parse.y:55 objc/objc-parse.y:62
+#: c-parse.y:55 parse.y:48 objc-parse.y:55
msgid "syntax error"
msgstr "syntaksfejl"
-#: c-parse.y:247 objc/objc-parse.y:275
-#, fuzzy
+#: /usr/share/bison/bison.simple:179
+msgid "syntax error: cannot back up"
+msgstr "syntaksfejl: kan ikke gå tilbage"
+
+#: c-parse.y:325 objc-parse.y:346
msgid "ISO C forbids an empty source file"
-msgstr "ISO C++ forbyder en tom betingelse til '%s'"
+msgstr "ISO C forbyder en tom kildefil"
-#: c-parse.y:279 c-parse.y:1824 objc/objc-parse.y:308 objc/objc-parse.y:1888
+#: c-parse.y:366 c-typeck.c:6887 objc-parse.y:388
msgid "argument of `asm' is not a constant string"
msgstr "parameteren til 'asm' er ikke en konstant streng"
-#: c-parse.y:287 objc/objc-parse.y:316
-#, fuzzy
+#: c-parse.y:374 objc-parse.y:396
msgid "ISO C forbids data definition with no type or storage class"
msgstr "ISO C forbyder definition af data uden angivelse af type eller lagringsklasse"
-#: c-parse.y:289 objc/objc-parse.y:318
-#, fuzzy
+#: c-parse.y:376 objc-parse.y:398
msgid "data definition has no type or storage class"
-msgstr "ISO C forbyder definition af data uden angivelse af type eller lagringsklasse"
+msgstr "definition af data uden angivelse af type eller lagringsklasse"
-#: c-parse.y:310 objc/objc-parse.y:339
+#: c-parse.y:389 objc-parse.y:411
msgid "ISO C does not allow extra `;' outside of a function"
-msgstr ""
+msgstr "ISO C tillader ikke ekstra ';' uden for funktioner"
-#: c-parse.y:382 cppexp.c:900
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
-msgstr ""
+msgstr "traditionel C tillader ikke operatoren unær plus"
-#: c-parse.y:426 objc/objc-parse.y:455
-#, fuzzy
-msgid "ISO C forbids `&&'"
-msgstr "ISO C forbyder tekst efter #%s"
-
-#: c-parse.y:455 objc/objc-parse.y:484
+#: c-parse.y:496 objc-parse.y:518
msgid "`sizeof' applied to a bit-field"
msgstr "'sizeof' benyttet på et bitfelt"
-#: c-parse.y:543 objc/objc-parse.y:572
+#: c-parse.y:583 objc-parse.y:605
msgid "ISO C forbids omitting the middle term of a ?: expression"
-msgstr ""
+msgstr "ISO C forbyder udeladelse af den midterste del af et '?:'-udtryk"
-#: c-parse.y:591 objc/objc-parse.y:620
-#, fuzzy
+#: c-parse.y:632 objc-parse.y:654
msgid "ISO C89 forbids compound literals"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C89 forbyder sammensatte konstanter"
-#: c-parse.y:621 objc/objc-parse.y:650
+#: c-parse.y:646 objc-parse.y:668
msgid "ISO C forbids braced-groups within expressions"
-msgstr ""
+msgstr "ISO C forbyder sætningsblokke inden i udtryk"
-#: c-parse.y:674
-msgid "traditional C rejects string concatenation"
-msgstr ""
+#: c-parse.y:677 objc-parse.y:699
+msgid "first argument to __builtin_choose_expr not a constant"
+msgstr "første parameter til '__builtin_choose_expr' skal være en konstant"
-#: c-parse.y:689 objc/objc-parse.y:741
-#, fuzzy
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ISO C tillader ikke navngivne variabel parameterliste-makroer"
+#: c-parse.y:721 objc-parse.y:767
+msgid "traditional C rejects ISO C style function definitions"
+msgstr "traditionel C tillader ikke ISO C-functionsdefinitioner"
-#: c-parse.y:797 c-parse.y:818 c-parse.y:850 cp/parse.y:1861 cp/parse.y:1868
-#: cp/parse.y:1907 objc/objc-parse.y:849 objc/objc-parse.y:870
-#: objc/objc-parse.y:902
-#, fuzzy, c-format
+#: 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:1916 parse.y:1923 parse.y:1958 objc-parse.y:1031
+#: objc-parse.y:1037 objc-parse.y:1043 objc-parse.y:1049 objc-parse.y:1070
+#: objc-parse.y:1076 objc-parse.y:1082 objc-parse.y:1088 objc-parse.y:1121
+#: objc-parse.y:1127 objc-parse.y:1133 objc-parse.y:1139 objc-parse.y:1184
+#: objc-parse.y:1190 objc-parse.y:1196 objc-parse.y:1202
+#, c-format
msgid "`%s' is not at beginning of declaration"
-msgstr "'%s' er ikke en løkkevariabel"
+msgstr "'%s' er ikke ved begyndelsen af erklæringen"
-#: c-parse.y:1014 objc/objc-parse.y:1075
-#, fuzzy
+#: c-parse.y:1441 objc-parse.y:1496
msgid "ISO C forbids empty initializer braces"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C forbyder tom startværdiblok"
-#: c-parse.y:1028 objc/objc-parse.y:1089
+#: c-parse.y:1455 objc-parse.y:1510
msgid "ISO C89 forbids specifying subobject to initialize"
-msgstr ""
+msgstr "ISO C89 forbyder angivelse af underobjekt til klargøring"
-#: c-parse.y:1031 objc/objc-parse.y:1092
+# RETMIG: hm, gad vide om dette er rigtigt
+#: c-parse.y:1458 objc-parse.y:1513
msgid "obsolete use of designated initializer without `='"
-msgstr ""
+msgstr "forældet brug af udpeget startværdi uden '='"
-#: c-parse.y:1035 objc/objc-parse.y:1096
+#: c-parse.y:1462 objc-parse.y:1517
msgid "obsolete use of designated initializer with `:'"
-msgstr ""
+msgstr "forældet brug af udpeget startværdi med ':'"
-#: c-parse.y:1064
+#: c-parse.y:1489 objc-parse.y:1544
msgid "ISO C forbids specifying range of elements to initialize"
-msgstr ""
+msgstr "ISO C forbyder angivelse af interval af elementer til klargøring"
-#: c-parse.y:1072 c-parse.y:1102 objc/objc-parse.y:1127 objc/objc-parse.y:1157
-#, fuzzy
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1552 objc-parse.y:1583
msgid "ISO C forbids nested functions"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C forbyder indlejrede funktioner"
-#: c-parse.y:1177 c-parse.y:1211
-msgid "`[*]' in parameter declaration only allowed in ISO C 99"
-msgstr "'[*]' i parametererklæring kun tilladt i ISO C 99"
-
-#: c-parse.y:1286 objc/objc-parse.y:1332
+#: c-parse.y:1703 objc-parse.y:1760
msgid "ISO C forbids forward references to `enum' types"
-msgstr ""
+msgstr "ISO C forbyder forhåndsreferencer til 'enum'-typer"
-#: c-parse.y:1298 cp/parse.y:2326 objc/objc-parse.y:1344
+#: c-parse.y:1715 parse.y:2386 objc-parse.y:1772
msgid "comma at end of enumerator list"
-msgstr ""
+msgstr "komma i slutningen af enum-liste"
-#: c-parse.y:1306 objc/objc-parse.y:1352
+#: c-parse.y:1723 objc-parse.y:1780
msgid "no semicolon at end of struct or union"
-msgstr ""
+msgstr "intet semikolon i slutningen af struct eller union"
-#: c-parse.y:1315 objc/objc-parse.y:1361 objc/objc-parse.y:2359
+#: c-parse.y:1732 objc-parse.y:1789 objc-parse.y:2864
msgid "extra semicolon in struct or union specified"
-msgstr ""
+msgstr "ekstra semikolon angivet i struct eller union"
-#: c-parse.y:1339 objc/objc-parse.y:1399
-#, fuzzy
+#: c-parse.y:1745 objc-parse.y:1816
msgid "ISO C doesn't support unnamed structs/unions"
-msgstr "ISO C tillader ikke navngivne variabel parameterliste-makroer"
+msgstr "ISO C understøtter ikke unavngivne struct/union-konstruktioner"
-#: c-parse.y:1353 objc/objc-parse.y:1413
+#: c-parse.y:1754 objc-parse.y:1825
msgid "ISO C forbids member declarations with no members"
-msgstr ""
+msgstr "ISO C forbyder medlemserklæringer uden medlemmer"
-#: c-parse.y:1472 objc/objc-parse.y:1532
+#: c-parse.y:1913 objc-parse.y:1984
msgid "deprecated use of label at end of compound statement"
-msgstr ""
+msgstr "forældet brug af etiket i slutningen af sammensat sætning"
-#: c-parse.y:1489 objc/objc-parse.y:1549
+#: c-parse.y:1930 objc-parse.y:2001
msgid "ISO C89 forbids mixed declarations and code"
-msgstr ""
+msgstr "ISO C89 forbyder blandede erklæringer og kode"
-#: c-parse.y:1563 objc/objc-parse.y:1627
-#, fuzzy
+#: c-parse.y:2005 objc-parse.y:2080
msgid "ISO C forbids label declarations"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C forbyder etiketerklæringer"
-#: c-parse.y:1612 cp/parse.y:1562 objc/objc-parse.y:1676
+#: c-parse.y:2055 parse.y:1628 objc-parse.y:2130
msgid "braced-group within expression allowed only inside a function"
msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion"
-#: c-parse.y:1727 objc/objc-parse.y:1791
+#: c-parse.y:2182 objc-parse.y:2257
msgid "empty body in an else-statement"
-msgstr ""
+msgstr "tom krop i en else-sætning"
-#: c-parse.y:1856 objc/objc-parse.y:1920
-#, fuzzy
+#: c-parse.y:2303 objc-parse.y:2378
msgid "ISO C forbids `goto *expr;'"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C forbyder 'goto *udtryk;'"
-#: c-parse.y:1948 objc/objc-parse.y:2012
-#, fuzzy
+#: c-parse.y:2403 objc-parse.y:2478
msgid "ISO C forbids forward parameter declarations"
-msgstr "lagringsklasseanvisninger er ugyldige i parametererklæringer"
+msgstr "ISO C forbyder forhåndsparametererklæringer"
#. Gcc used to allow this as an extension. However, it does
#. not work for all targets, and thus has been disabled.
@@ -2254,1282 +2634,1543 @@ msgstr "lagringsklasseanvisninger er ugyldige i parametererklæringer"
#. 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:1971 objc/objc-parse.y:2035
-#, fuzzy
+#: c-parse.y:2429 objc-parse.y:2504
msgid "ISO C requires a named argument before `...'"
msgstr "ISO C påkræver en navngiven parameter før '...'"
-#: c-parse.y:2051 objc/objc-parse.y:2115
+#: c-parse.y:2526 objc-parse.y:2601
msgid "`...' in old-style identifier list"
msgstr "'...' i gammeldags liste af kaldenavne"
-#: c-parse.y:2377 cp/spew.c:1480 objc/objc-parse.y:3109
+#: /usr/share/bison/bison.simple:795
+msgid "parse error; also virtual memory exhausted"
+msgstr "tolkningsfejl; desuden løbet tør for virtuel hukommelse"
+
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
+msgid "parse error"
+msgstr "tolkningsfejl"
+
+#: /usr/share/bison/bison.simple:924
+msgid "parser stack overflow"
+msgstr "overløb i tolkerens stak"
+
+#: c-parse.y:2838 cp/spew.c:1525 objc-parse.y:3537
#, c-format
msgid "%s at end of input"
msgstr "%s ved slutning af inddata"
-#: c-parse.y:2383 cp/spew.c:1486 objc/objc-parse.y:3115
-#, fuzzy, c-format
+#: c-parse.y:2844 cp/spew.c:1533 objc-parse.y:3543
+#, c-format
msgid "%s before %s'%c'"
-msgstr "%s før '%s'"
+msgstr "%s før %s'%c'"
-#: c-parse.y:2385 cp/spew.c:1488 objc/objc-parse.y:3117
-#, fuzzy, c-format
+#: c-parse.y:2846 cp/spew.c:1535 objc-parse.y:3545
+#, c-format
msgid "%s before %s'\\x%x'"
-msgstr "%s før '%s'"
+msgstr "%s før %s'\\x%x'"
-#: c-parse.y:2389 cp/spew.c:1492 objc/objc-parse.y:3121
+#: c-parse.y:2850 cp/spew.c:1542 objc-parse.y:3549
#, c-format
msgid "%s before string constant"
msgstr "%s før strengkonstant"
-#: c-parse.y:2393 cp/spew.c:1496 objc/objc-parse.y:3125
-#, fuzzy, c-format
+#: c-parse.y:2852 cp/spew.c:1544 objc-parse.y:3551
+#, c-format
msgid "%s before numeric constant"
-msgstr "%s før strengkonstant"
+msgstr "%s før talkonstant"
-#: c-parse.y:2395 objc/objc-parse.y:3127
-#, fuzzy, c-format
+#: c-parse.y:2854 objc-parse.y:3553
+#, c-format
msgid "%s before \"%s\""
-msgstr "%s før '%s'"
+msgstr "%s før \"%s\""
-#: c-parse.y:2397 objc/objc-parse.y:3129
-#, fuzzy, c-format
+#: c-parse.y:2856 objc-parse.y:3555
+#, c-format
msgid "%s before '%s' token"
-msgstr "%s før '%s'"
+msgstr "%s før symbolet '%s'"
-#: c-parse.y:2543 objc/objc-parse.y:3292
-#, fuzzy, c-format
-msgid "syntax error at '%s' token"
-msgstr "syntaksfejl"
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr "traditionel C tillader ikke strengsammensætning"
-#: c-parse.y:2573 cp/lex.c:928 objc/objc-parse.y:3322
-msgid "YYDEBUG not defined."
-msgstr ""
+#: c-parse.y:3047 objc-parse.y:3779
+#, c-format
+msgid "syntax error at '%s' token"
+msgstr "syntaksfejl ved symbolet '%s'"
-#: c-pragma.c:108
+#: c-pragma.c:107
msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
-msgstr ""
+msgstr "'#pragma pack (pop)' mødt uden tilsvarende '#pragma pack (push, <n>)'"
-#: c-pragma.c:126
+#: c-pragma.c:125
#, c-format
msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
-msgstr ""
+msgstr "'#pragma pack(pop, %s)' mødt uden tilsvarende '#pragma pack(push, %s, <n>)'"
+
+#: c-pragma.c:145
+msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+msgstr "#pragma pack(push[, id], <n>) understøttes ikke på målarkitekturen"
-#: c-pragma.c:249
-#, fuzzy
+#: c-pragma.c:147
+msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+msgstr "#pragma pack(pop[, id], <n>) understøttes ikke på målarkitekturen"
+
+#: c-pragma.c:167
+msgid "missing '(' after '#pragma pack' - ignored"
+msgstr "manglende '(' efter '#pragma pack' - ignoreret"
+
+#: c-pragma.c:180 c-pragma.c:230
+msgid "malformed '#pragma pack' - ignored"
+msgstr "forkert udformet '#pragma pack' - ignoreret"
+
+#: c-pragma.c:185
+msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
+msgstr "forkert udformet '#pragma pack(push[, id], <n>)' - ignoreret"
+
+#: c-pragma.c:187
+msgid "malformed '#pragma pack(pop[, id])' - ignored"
+msgstr "forkert udformet '#pragma pack(pop[, id])' - ignoreret"
+
+#: c-pragma.c:196
+#, c-format
+msgid "unknown action '%s' for '#pragma pack' - ignored"
+msgstr "ukendt handling '%s' for '#pragma pack' - ignoreret"
+
+#: c-pragma.c:233
msgid "junk at end of '#pragma pack'"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma pack'"
+
+#: c-pragma.c:247
+#, c-format
+msgid "alignment must be a small power of two, not %d"
+msgstr "justering skal være en lille potens af to, ikke %d"
+
+#: c-pragma.c:280
+#, c-format
+msgid "applying #pragma weak `%s' after first use results in unspecified behavior"
+msgstr "anvendelse af #pragma weak '%s' efter første brug resulterer i ikke-defineret opførsel"
+
+#: c-pragma.c:321 c-pragma.c:326
+msgid "malformed #pragma weak, ignored"
+msgstr "forkert udformet '#pragma weak' - ignoreret"
-#: c-pragma.c:298
-#, fuzzy
+#: c-pragma.c:330
msgid "junk at end of #pragma weak"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma weak'"
+
+#: c-pragma.c:365 c-pragma.c:370
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr "forkert udformet '#pragma redefine_extname' - ignoreret"
+
+#: c-pragma.c:375
+msgid "junk at end of #pragma redefine_extname"
+msgstr "ragelse i slutningen af '#pragma redefine_extname'"
+
+#: c-pragma.c:382 c-pragma.c:463
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr "#pragma redefine_extname er i konflikt med erklæring"
+
+#: c-pragma.c:413
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr "forkert udformet '#pragma extern_prefix' - ignoreret"
-#: c-semantics.c:607
+#: c-pragma.c:418
+msgid "junk at end of #pragma extern_prefix"
+msgstr "ragelse i slutningen af '#pragma extern_prefix'"
+
+#: c-pragma.c:450
+msgid "asm declaration conflicts with previous rename"
+msgstr "asm-erklæring er i konflikt med tidligere omdøbelse"
+
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion"
-#: c-semantics.c:625
+#: c-semantics.c:583
msgid "continue statement not within a loop"
msgstr "continue-sætning befinder sig ikke i en løkke"
-#: c-semantics.c:720
+#: c-semantics.c:678
msgid "destructor needed for `%#D'"
-msgstr ""
+msgstr "destruktionsfunktion påkrævet til '%#D'"
-#: c-semantics.c:721
+#: c-semantics.c:679
msgid "where case label appears here"
-msgstr ""
+msgstr "hvor case-etiket optræder her"
-#: c-semantics.c:724
+#: c-semantics.c:682
msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
-msgstr ""
+msgstr "(indesluttede handlinger fra tidligere case-sætninger kræver destruktionsfunktioner i deres eget virkefelt)"
-#: c-semantics.c:757 c-typeck.c:6800
+#: c-semantics.c:725 c-typeck.c:6913 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
-msgstr ""
+msgstr "%s-modifikation ignoreret ved asm"
-#: c-typeck.c:122
+#: c-typeck.c:123
#, c-format
msgid "`%s' has an incomplete type"
msgstr "'%s' er af en ufuldstændig type"
-#: c-typeck.c:144 cp/call.c:2553
+#: c-typeck.c:145 cp/call.c:2849
msgid "invalid use of void expression"
msgstr "ugyldig brug af void-udtryk"
#: c-typeck.c:153
+msgid "invalid use of flexible array member"
+msgstr "ugyldig brug af fleksibelt tabelmedlem"
+
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
-msgstr "ugyldig brug af tabel med uangivne rammer"
+msgstr "ugyldig brug af tabel uden angivne grænser"
-#: c-typeck.c:161
+#: c-typeck.c:167
#, c-format
msgid "invalid use of undefined type `%s %s'"
msgstr "ugyldig brug af en type '%s %s' der ikke er defineret"
#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c-typeck.c:165
+#: c-typeck.c:171
#, c-format
msgid "invalid use of incomplete typedef `%s'"
msgstr "ugyldig brug af ufuldstændig typedef '%s'"
-#: c-typeck.c:396 c-typeck.c:410
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
-msgstr ""
+msgstr "funktionstyper ikke er fuldt ud forenelige i ISO C"
-#: c-typeck.c:561
+#: c-typeck.c:603
msgid "types are not quite compatible"
-msgstr ""
-
-#: c-typeck.c:714
-#, fuzzy
-msgid "sizeof applied to a function type"
-msgstr "sizeof benyttet på en ufuldstændig type"
-
-#: c-typeck.c:720
-#, fuzzy
-msgid "sizeof applied to a void type"
-msgstr "sizeof benyttet på en ufuldstændig type"
-
-#: c-typeck.c:727
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof benyttet på en ufuldstændig type"
+msgstr "typer er ikke helt forenelige"
-#: c-typeck.c:780 c-typeck.c:2793
+#: c-typeck.c:757 c-typeck.c:2687
msgid "arithmetic on pointer to an incomplete type"
msgstr "beregninger udført på en henvisning til en ufuldstændig type"
-#: c-typeck.c:808
-msgid "__alignof__ applied to an incomplete type"
-msgstr "__alignof__ benyttet på en ufuldstændig type"
-
-#: c-typeck.c:834
-msgid "`__alignof' applied to a bit-field"
-msgstr "'__alignof' benyttet på et bitfelt"
-
-#: c-typeck.c:1025 cp/typeck.c:1792
-msgid "invalid use of non-lvalue array"
-msgstr "ugyldig brug af en tabel der ikke kan optræde som en venstreværdi"
-
-#: c-typeck.c:1200
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr "%s har intet medlem ved navn '%s'"
-#: c-typeck.c:1231
+#: c-typeck.c:1172
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr "forespørgsel efter medlemmet '%s' i noget der hverken er en union eller en struktur"
-#: c-typeck.c:1264
+#: c-typeck.c:1204
msgid "dereferencing pointer to incomplete type"
msgstr "forsøg på at følge en henvisning til en variabel af en ufuldstændig type"
-#: c-typeck.c:1268
-#, fuzzy
+#: c-typeck.c:1208
msgid "dereferencing `void *' pointer"
-msgstr "forsøg på at følge en henvisning til en variabel af en ufuldstændig type"
+msgstr "forsøg på at følge en 'void *'-henvisning"
-#: c-typeck.c:1285 cp/typeck.c:2402
+#: c-typeck.c:1225 cp/typeck.c:2366
#, c-format
msgid "invalid type argument of `%s'"
msgstr "ugyldig typeparameter '%s'"
-#: c-typeck.c:1304 cp/typeck.c:2428
+#: c-typeck.c:1244 cp/typeck.c:2392
msgid "subscript missing in array reference"
msgstr "indeks mangler i tabelopslag"
-#: c-typeck.c:1325 cp/typeck.c:2470
-#, fuzzy
+#: c-typeck.c:1265 cp/typeck.c:2434
msgid "array subscript has type `char'"
-msgstr "tabelindeks er ikke et heltal"
+msgstr "tabelindeks er af typen 'char'"
-#: c-typeck.c:1333 c-typeck.c:1422 cp/typeck.c:2477 cp/typeck.c:2556
+#: c-typeck.c:1273 c-typeck.c:1362 cp/typeck.c:2441 cp/typeck.c:2520
msgid "array subscript is not an integer"
msgstr "tabelindeks er ikke et heltal"
-#: c-typeck.c:1366
-#, fuzzy
+#: c-typeck.c:1306
msgid "ISO C forbids subscripting `register' array"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+msgstr "ISO C forbyder opslag i 'register'-tabel"
-#: c-typeck.c:1368
-#, fuzzy
-msgid "ISO C89 forbids subscripting non-lvalue array"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: c-typeck.c:1308
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr "ISO C90 forbyder opslag i tabel der ikke er venstreværdi"
-#: c-typeck.c:1401
+#: c-typeck.c:1341
msgid "subscript has type `char'"
-msgstr ""
+msgstr "indeks er af typen 'char'"
-#: c-typeck.c:1417 cp/typeck.c:2551
+#: c-typeck.c:1357 cp/typeck.c:2515
msgid "subscripted value is neither array nor pointer"
msgstr "værdien der er påført et indeks, er hverken en tabel eller en henvisningsvariabel"
-#: c-typeck.c:1468
+#: c-typeck.c:1411
#, c-format
msgid "`%s' undeclared here (not in a function)"
msgstr "'%s' ikke erklæret her (ikke i en funktion)"
-#: c-typeck.c:1475
+#: c-typeck.c:1418
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)"
-#: c-typeck.c:1480
+#: c-typeck.c:1423
msgid "(Each undeclared identifier is reported only once"
msgstr "(et kaldenavn der ikke er erklæret, rapporteres kun én gang"
-#: c-typeck.c:1481
+#: c-typeck.c:1424
msgid "for each function it appears in.)"
msgstr "per funktion)"
-#: c-typeck.c:1498
-#, fuzzy, c-format
+#: c-typeck.c:1441
+#, c-format
msgid "local declaration of `%s' hides instance variable"
-msgstr "%s: den lokale erklæring af funktionen '%s' er ikke indsat\n"
+msgstr "den lokale erklæring af funktionen '%s' skjuler instansvariabel"
-#: c-typeck.c:1563
+#: c-typeck.c:1518
msgid "called object is not a function"
msgstr "det kaldte objekt er ikke en funktion"
-#: c-typeck.c:1647 cp/typeck.c:3189
+#: c-typeck.c:1604 cp/typeck.c:2826
msgid "too many arguments to function"
msgstr "for mange parametre til funktionen"
-#: c-typeck.c:1670
+#: c-typeck.c:1625
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr "typen af den formelle parameter %d er ufuldstændig"
-#: c-typeck.c:1683
+#: c-typeck.c:1638
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr "%s som heltal i stedet for kommatal på grund af prototypen"
-#: c-typeck.c:1686
-#, fuzzy, c-format
+#: c-typeck.c:1641
+#, c-format
msgid "%s as integer rather than complex due to prototype"
-msgstr "%s som kommatal i stedet for complex på grund af prototypen"
+msgstr "%s som heltal i stedet for complex på grund af prototypen"
-#: c-typeck.c:1689
+#: c-typeck.c:1644
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr "%s som complex i stedet for kommatal på grund af prototypen"
-#: c-typeck.c:1692
+#: c-typeck.c:1647
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr "%s som kommatal i stedet for heltal på grund af prototypen"
-#: c-typeck.c:1695
-#, fuzzy, c-format
+#: c-typeck.c:1650
+#, c-format
msgid "%s as complex rather than integer due to prototype"
-msgstr "%s som complex i stedet for kommatal på grund af prototypen"
+msgstr "%s som complex i stedet for heltal på grund af prototypen"
-#: c-typeck.c:1698
+#: c-typeck.c:1653
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr "%s som kommatal i stedet for complex på grund af prototypen"
-#: c-typeck.c:1708
+#: c-typeck.c:1663
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr "%s som float i stedet for double på grund af prototypen"
-#: c-typeck.c:1725
+#: c-typeck.c:1681
#, c-format
msgid "%s with different width due to prototype"
msgstr "%s med anderledes bredde på grund af prototypen"
-#: c-typeck.c:1759
+#: c-typeck.c:1715
#, c-format
msgid "%s as unsigned due to prototype"
msgstr "%s som unsigned på grund af prototypen"
-#: c-typeck.c:1761
+#: c-typeck.c:1717
#, c-format
msgid "%s as signed due to prototype"
msgstr "%s som signed på grund af prototypen"
-#: c-typeck.c:1795 cp/typeck.c:3290
+#: c-typeck.c:1751 cp/typeck.c:2930
msgid "too few arguments to function"
msgstr "for få parametre til funktionen"
-#: c-typeck.c:1836
+#: c-typeck.c:1793
msgid "suggest parentheses around + or - inside shift"
-msgstr ""
+msgstr "foreslår paranteser omkring + eller - inden i skifteoperation"
-#: c-typeck.c:1843
+#: c-typeck.c:1800
msgid "suggest parentheses around && within ||"
-msgstr ""
+msgstr "foreslår paranteser omkring && inden i ||"
-#: c-typeck.c:1852
+#: c-typeck.c:1809
msgid "suggest parentheses around arithmetic in operand of |"
-msgstr ""
+msgstr "foreslår paranteser omkring beregning i operand til |"
-#: c-typeck.c:1855
+#: c-typeck.c:1812
msgid "suggest parentheses around comparison in operand of |"
-msgstr ""
+msgstr "foreslår paranteser omkring sammenligning i operand til |"
-#: c-typeck.c:1864
+#: c-typeck.c:1821
msgid "suggest parentheses around arithmetic in operand of ^"
-msgstr ""
+msgstr "foreslår paranteser omkring beregning i operand til ^"
-#: c-typeck.c:1867
+#: c-typeck.c:1824
msgid "suggest parentheses around comparison in operand of ^"
-msgstr ""
+msgstr "foreslår paranteser omkring sammenligning i operand til ^"
-#: c-typeck.c:1874
+#: c-typeck.c:1831
msgid "suggest parentheses around + or - in operand of &"
-msgstr ""
+msgstr "foreslår paranteser omkring + eller - i operand til &"
-#: c-typeck.c:1877
+#: c-typeck.c:1834
msgid "suggest parentheses around comparison in operand of &"
-msgstr ""
+msgstr "foreslår paranteser omkring sammenligning i operand til &"
-#: c-typeck.c:1884
+#: c-typeck.c:1841
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
-msgstr ""
+msgstr "sammenligninger som 'x <= y <= z' følger ikke den matematiske betydning"
-#: c-typeck.c:2138 cp/typeck.c:3569
+#: c-typeck.c:2001 c-typeck.c:2036
+msgid "division by zero"
+msgstr "division med nul"
+
+#: c-typeck.c:2081 cp/typeck.c:3191
msgid "right shift count is negative"
-msgstr ""
+msgstr "højreskiftsantal er negativ"
-#: c-typeck.c:2145 cp/typeck.c:3575
+#: c-typeck.c:2088 cp/typeck.c:3197
msgid "right shift count >= width of type"
-msgstr ""
+msgstr "højreskiftsantal er større end bredden af typen"
-#: c-typeck.c:2170 cp/typeck.c:3594
+#: c-typeck.c:2109 cp/typeck.c:3216
msgid "left shift count is negative"
-msgstr ""
+msgstr "venstreskiftsantal er negativ"
-#: c-typeck.c:2173 cp/typeck.c:3596
+#: c-typeck.c:2112 cp/typeck.c:3218
msgid "left shift count >= width of type"
-msgstr ""
+msgstr "venstreskiftsantal er større end bredden af typen"
-#: c-typeck.c:2198
-#, fuzzy
+#: c-typeck.c:2133
msgid "shift count is negative"
-msgstr "størrelsen af tabel '%s' er negativ"
+msgstr "skifteantal er negativ"
-#: c-typeck.c:2200
+#: c-typeck.c:2135
msgid "shift count >= width of type"
-msgstr ""
+msgstr "skifteantal er større end bredden af typen"
-#: c-typeck.c:2221 cp/typeck.c:3631
+#: c-typeck.c:2152 cp/typeck.c:3253
msgid "comparing floating point with == or != is unsafe"
-msgstr ""
+msgstr "sammenligning af kommatal med == eller != er ikke sikkert"
-#: c-typeck.c:2245 c-typeck.c:2251
-#, fuzzy
+#: c-typeck.c:2178 c-typeck.c:2184
msgid "ISO C forbids comparison of `void *' with function pointer"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning"
-#: c-typeck.c:2254 c-typeck.c:2296 c-typeck.c:2324
+#: c-typeck.c:2187 c-typeck.c:2227 c-typeck.c:2255
msgid "comparison of distinct pointer types lacks a cast"
-msgstr ""
+msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse"
-#: c-typeck.c:2269 c-typeck.c:2275 c-typeck.c:2345 c-typeck.c:2351
-#, fuzzy
+#: c-typeck.c:2201 c-typeck.c:2206 c-typeck.c:2275 c-typeck.c:2280
msgid "comparison between pointer and integer"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "sammenligning mellem henvisningsvariabel og heltal"
-#: c-typeck.c:2291 c-typeck.c:2319
-#, fuzzy
+#: c-typeck.c:2222 c-typeck.c:2250
msgid "ISO C forbids ordered comparisons of pointers to functions"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "ISO C forbyder ordnede sammenligninger af henvisninger til funktioner"
-#: c-typeck.c:2316
-#, fuzzy
+#: c-typeck.c:2247
msgid "comparison of complete and incomplete pointers"
-msgstr "__alignof__ benyttet på en ufuldstændig type"
+msgstr "sammenligning mellem en fuldstændig og ufuldstændig henvisning"
-#: c-typeck.c:2332 c-typeck.c:2339
-#, fuzzy
+#: c-typeck.c:2263 c-typeck.c:2270
msgid "ordered comparison of pointer with integer zero"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "ordnet sammenligning af henvisning med heltallet nul"
-#: c-typeck.c:2365 cp/typeck.c:3764
+#: c-typeck.c:2294 cp/typeck.c:3386
msgid "unordered comparison on non-floating point argument"
-msgstr "uordnent sammenligning af ikke-kommatalsparameter"
+msgstr "uordnet sammenligning af ikke-kommatalsparameter"
-#: c-typeck.c:2579
-#, fuzzy
+#: c-typeck.c:2505
msgid "comparison between signed and unsigned"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "sammenligning mellem signed og unsigned"
-#: c-typeck.c:2625 cp/typeck.c:4010
+#: c-typeck.c:2551 cp/typeck.c:3630
msgid "comparison of promoted ~unsigned with constant"
-msgstr ""
+msgstr "sammenligning af forfremmet ~unsigned med konstant"
-#: c-typeck.c:2633 cp/typeck.c:4018
+#: c-typeck.c:2559 cp/typeck.c:3638
msgid "comparison of promoted ~unsigned with unsigned"
-msgstr ""
+msgstr "sammenligning af forfremmet ~unsigned med unsigned"
-#: c-typeck.c:2695
-msgid "pointer of type `void *' used in arithmetic"
-msgstr ""
-
-#: c-typeck.c:2701
-msgid "pointer to a function used in arithmetic"
-msgstr ""
-
-#: c-typeck.c:2779
+#: c-typeck.c:2639
msgid "pointer of type `void *' used in subtraction"
-msgstr ""
+msgstr "henvisning af typen 'void *' benyttet i subtraktion"
-#: c-typeck.c:2781
-#, fuzzy
+#: c-typeck.c:2641
msgid "pointer to a function used in subtraction"
-msgstr " i henvisning til medlemsfunktion-omdannelse"
+msgstr "henvisning til en funktion benyttet i subtraktion"
-#: c-typeck.c:2839
+#: c-typeck.c:2738
msgid "wrong type argument to unary plus"
msgstr "forkert parametertype til unært plus"
-#: c-typeck.c:2850
+#: c-typeck.c:2751
msgid "wrong type argument to unary minus"
msgstr "forkert parametertype til unært minus"
-#: c-typeck.c:2862
+#: c-typeck.c:2768
msgid "ISO C does not support `~' for complex conjugation"
-msgstr ""
+msgstr "ISO C understøtter ikke '~' til compleks-konjugering"
-#: c-typeck.c:2868
+#: c-typeck.c:2774
msgid "wrong type argument to bit-complement"
msgstr "forkert parametertype til bitkomplement"
-#: c-typeck.c:2879
+#: c-typeck.c:2783
msgid "wrong type argument to abs"
msgstr "forkert parametertype til abs"
-#: c-typeck.c:2891
+#: c-typeck.c:2795
msgid "wrong type argument to conjugation"
msgstr "forkert parametertype til konjugation"
-#: c-typeck.c:2905
+#: c-typeck.c:2809
msgid "wrong type argument to unary exclamation mark"
msgstr "forkert parametertype til unært udråbstegn"
-#: c-typeck.c:2948
+#: c-typeck.c:2852
msgid "ISO C does not support `++' and `--' on complex types"
-msgstr ""
+msgstr "ISO C understøtter ikke '++' og '--' for complex-typer"
-#: c-typeck.c:2962 c-typeck.c:2988
-#, c-format
-msgid "wrong type argument to %s"
-msgstr "forkert parametertype til %s"
-
-#: c-typeck.c:2982
-#, c-format
-msgid "%s of pointer to unknown structure"
-msgstr "%s af henvisning til en ukendt struktur"
-
-#: c-typeck.c:3052
-msgid "invalid lvalue in increment"
-msgstr "ugyldig venstreværdi i forøgelse"
+# man kan ikke stikke en forøgelse (++) en type som parameter, 'type
+# argument' skal opfattes på en anden måde
+#: c-typeck.c:2867 c-typeck.c:2899
+msgid "wrong type argument to increment"
+msgstr "forkert parametertype til forøgelse"
-#: c-typeck.c:3053
-msgid "invalid lvalue in decrement"
-msgstr "ugyldig venstreværdi i formindskelse"
+#: c-typeck.c:2869 c-typeck.c:2901
+msgid "wrong type argument to decrement"
+msgstr "forkert parametertype til formindskelse"
-#: c-typeck.c:3061 cp/typeck.c:4587
-msgid "increment"
-msgstr "forøgelse"
+#: c-typeck.c:2890
+msgid "increment of pointer to unknown structure"
+msgstr "forøgelse af henvisning til en ukendt struktur"
-#: c-typeck.c:3061 cp/typeck.c:4587
-msgid "decrement"
-msgstr "formindskelse"
+#: c-typeck.c:2892
+msgid "decrement of pointer to unknown structure"
+msgstr "formindskelse af henvisning til en ukendt struktur"
-#: c-typeck.c:3117
-#, fuzzy
+# RETMIG: hvad betyder dette?
+#: c-typeck.c:3029
msgid "ISO C forbids the address of a cast expression"
-msgstr "ISO C forbyder tekst efter #%s"
+msgstr "ISO C forbyder adressen af et typeomtvingningsudtryk"
-#: c-typeck.c:3131
+#: c-typeck.c:3039
msgid "invalid lvalue in unary `&'"
-msgstr "ugyldig venstreværdi i unært '&'"
+msgstr "ugyldig venstreværdi i unær '&'"
-#: c-typeck.c:3163
+#: c-typeck.c:3071
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr "forsøg på at finde adressen af bitfeltstrukturmedlemmet '%s'"
-#: c-typeck.c:3271 c-typeck.c:4618 c-typeck.c:4634 c-typeck.c:4650
-#: cp/typeck.c:4780 diagnostic.c:1475 gcc.c:4207 java/verify.c:1416
-#: java/verify.c:1417 java/verify.c:1432
+#: c-typeck.c:3180 c-typeck.c:4646 c-typeck.c:4662 c-typeck.c:4678
+#: final.c:3146 final.c:3148 gcc.c:4378 rtl-error.c:122 toplev.c:1694
+#: config/cris/cris.c:545 cp/spew.c:1538 cp/typeck.c:4364 java/expr.c:364
+#: java/verify.c:1467 java/verify.c:1468 java/verify.c:1483
#, c-format
msgid "%s"
msgstr "%s"
-#: c-typeck.c:3328
+#: c-typeck.c:3241
msgid "ISO C forbids use of conditional expressions as lvalues"
-msgstr ""
+msgstr "ISO C forbyder brug af betingede udtryk som venstreværdier"
-#: c-typeck.c:3331
+#: c-typeck.c:3244
msgid "ISO C forbids use of compound expressions as lvalues"
-msgstr ""
+msgstr "ISO C forbyder brug af sammensatte udtryk som venstreværdier"
-#: c-typeck.c:3334
+#: c-typeck.c:3247
msgid "ISO C forbids use of cast expressions as lvalues"
-msgstr ""
+msgstr "ISO C forbyder brug af typeomtvingningsudtryk som venstreværdier"
-#: c-typeck.c:3351
-#, fuzzy, c-format
+# RETMIG: lettere klodset konstruktion
+#: c-typeck.c:3264
+#, c-format
msgid "%s of read-only member `%s'"
-msgstr "%s har intet medlem ved navn '%s'"
+msgstr "%s af medlemmet '%s' der kun må læses"
-#: c-typeck.c:3355
+#: c-typeck.c:3268
#, c-format
msgid "%s of read-only variable `%s'"
-msgstr ""
+msgstr "%s af variablen '%s' der kun må læses"
-#: c-typeck.c:3358
+#: c-typeck.c:3271
#, c-format
msgid "%s of read-only location"
-msgstr ""
+msgstr "%s af placering der kun må læses"
-#: c-typeck.c:3376
+#: c-typeck.c:3290
#, c-format
-msgid "cannot take address of bitfield `%s'"
+msgid "cannot take address of bit-field `%s'"
msgstr "kan ikke finde adressen af bitfeltet '%s'"
-#: c-typeck.c:3403
+#: c-typeck.c:3318
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr "global registervariabel '%s' benyttet i indlejret funktion"
-#: c-typeck.c:3407
-#, fuzzy, c-format
+#: c-typeck.c:3322
+#, c-format
msgid "register variable `%s' used in nested function"
-msgstr "global registervariabel '%s' benyttet i indlejret funktion"
+msgstr "registervariabel '%s' benyttet i indlejret funktion"
-#: c-typeck.c:3414
+#: c-typeck.c:3329
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "forespørgsel efter adressen af den globale registervariabel '%s'"
-#: c-typeck.c:3426
+#: c-typeck.c:3341
msgid "cannot put object with volatile field into register"
msgstr "kan ikke anbringe et objekt med et volatile-felt i et register"
-#: c-typeck.c:3430
-#, fuzzy, c-format
+#: c-typeck.c:3345
+#, c-format
msgid "address of register variable `%s' requested"
-msgstr "forespørgsel efter adressen af den globale registervariabel '%s'"
+msgstr "forespørgsel efter adressen af registervariablen '%s'"
-#: c-typeck.c:3538
-#, fuzzy
+#: c-typeck.c:3453
msgid "signed and unsigned type in conditional expression"
-msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+msgstr "signed og unsigned type i betinget udtryk"
-#: c-typeck.c:3545
+#: c-typeck.c:3460
msgid "ISO C forbids conditional expr with only one void side"
-msgstr ""
+msgstr "ISO C forbyder betingede udtryk med kun én tom side"
-#: c-typeck.c:3561 c-typeck.c:3568
-#, fuzzy
+#: c-typeck.c:3476 c-typeck.c:3483
msgid "ISO C forbids conditional expr between `void *' and function pointer"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "ISO C++ forbyder betinget udtryk mellem 'void *' og funktionshenvisning"
-#: c-typeck.c:3574
-#, fuzzy
+#: c-typeck.c:3489
msgid "pointer type mismatch in conditional expression"
-msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+msgstr "henvisningstyperne i betingelsesudtrykket passer ikke sammen"
-#: c-typeck.c:3581 c-typeck.c:3591
-#, fuzzy
+#: c-typeck.c:3496 c-typeck.c:3506
msgid "pointer/integer type mismatch in conditional expression"
-msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+msgstr "henvisnings- og heltalstype i betingelsesudtrykket passer ikke sammen"
-#: c-typeck.c:3605
+#: c-typeck.c:3520
msgid "type mismatch in conditional expression"
msgstr "typerne i betingelsesudtrykket passer ikke sammen"
-#: c-typeck.c:3678 cp/typeck.c:5012
+#: c-typeck.c:3591 cp/typeck.c:4620
msgid "left-hand operand of comma expression has no effect"
-msgstr ""
+msgstr "venstreoperanden til kommaudtrykket har ingen virkning"
-#: c-typeck.c:3717
+#: c-typeck.c:3635
msgid "cast specifies array type"
msgstr "typetildelingen angiver en tabeltype"
-#: c-typeck.c:3723
+#: c-typeck.c:3641
msgid "cast specifies function type"
msgstr "typetildelingen angiver en funktionstype"
-#: c-typeck.c:3733
-#, fuzzy
+#: c-typeck.c:3651
msgid "ISO C forbids casting nonscalar to the same type"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+msgstr "ISO C forbyder omtvingelse af ikke-skalar til den samme type"
-#: c-typeck.c:3754
-#, fuzzy
+#: c-typeck.c:3670
msgid "ISO C forbids casts to union type"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+msgstr "ISO C forbyder omtvingelse til uniontype"
-#: c-typeck.c:3770
+#: c-typeck.c:3685
msgid "cast to union type from type not present in union"
-msgstr "typetildeling til en union-type fra en type der ikke findes i union'en"
+msgstr "typetildeling til en uniontype fra en type der ikke findes i union'en"
+
+#: c-typeck.c:3736
+msgid "cast adds new qualifiers to function type"
+msgstr "typeomtvingning tilføjer modifikationer til en funktionstype"
#. There are qualifiers present in IN_OTYPE that are not
#. present in IN_TYPE.
-#: c-typeck.c:3815
-#, fuzzy
+#: c-typeck.c:3741
msgid "cast discards qualifiers from pointer target type"
-msgstr "%s kasserer modifikationer på henvisningsmålets type"
+msgstr "typeomtvingelse kasserer modifikationer på henvisningsmålets type"
-#: c-typeck.c:3830
+#: c-typeck.c:3756
msgid "cast increases required alignment of target type"
-msgstr ""
+msgstr "typeomtvingelse forøger den påkrævne justering af måltypen"
-#: c-typeck.c:3836 cp/typeck.c:5420
+#: c-typeck.c:3762 cp/typeck.c:5050
msgid "cast from pointer to integer of different size"
-msgstr ""
+msgstr "typeomtvingelse fra henvisning til heltal af en anden størrelse"
-#: c-typeck.c:3841
-#, fuzzy
+#: c-typeck.c:3767
msgid "cast does not match function type"
-msgstr "typetildelingen angiver en funktionstype"
+msgstr "typeomtvingelse passer ikke til funktionstype"
-#: c-typeck.c:3848 cp/typeck.c:5427
-#, fuzzy
+#: c-typeck.c:3774 cp/typeck.c:5057
msgid "cast to pointer from integer of different size"
-msgstr "%s opretter en henvisningsvariabel ud fra et heltal uden en typeomtvingning"
+msgstr "typeomtvingelse fra heltal til henvisning af en anden størrelse"
+
+#: c-typeck.c:3786
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr "typeomtvingning af ufuldstændig type bryder muligvis strenge aliasregler"
+
+#: c-typeck.c:3790
+msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+msgstr "følgning af en typeomtvunget henvisning vil bryde strenge aliasregler"
#. Now we have handled acceptable kinds of LHS that are not truly lvalues.
#. Reject anything strange now.
-#: c-typeck.c:3990
+#: c-typeck.c:3949
msgid "invalid lvalue in assignment"
msgstr "ugyldig venstreværdi i tildeling"
#. Convert new value to destination type.
-#: c-typeck.c:3999 c-typeck.c:4024 c-typeck.c:4041 cp/typeck.c:5542
-#: cp/typeck.c:5699
+#: c-typeck.c:3958 c-typeck.c:3983 c-typeck.c:4000 cp/typeck.c:5168
+#: cp/typeck.c:5317
msgid "assignment"
msgstr "tildeling"
-#: c-typeck.c:4208 c-typeck.c:4275
+#: c-typeck.c:4070
+msgid "cannot pass rvalue to reference parameter"
+msgstr "kan ikke videregive højreværdi til referenceparameter"
+
+#: c-typeck.c:4174 c-typeck.c:4241
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr "%s opretter en funktionshenvisning med modifikationer fra én uden"
-#: c-typeck.c:4212 c-typeck.c:4255
+#: c-typeck.c:4178 c-typeck.c:4221
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr "%s kasserer modifikationer på henvisningsmålets type"
-#: c-typeck.c:4218
+#: c-typeck.c:4184
msgid "ISO C prohibits argument conversion to union type"
-msgstr ""
+msgstr "ISO C forbyder parameterkonvertering til uniontype"
-#: c-typeck.c:4247
-#, fuzzy, c-format
+#: c-typeck.c:4213
+#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
-msgstr "ISO forbyder %s mellem funktionshenvisning og 'void *'"
+msgstr "ISO C forbyder %s mellem funktionshenvisning og 'void *'"
-#: c-typeck.c:4264
+#: c-typeck.c:4230
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr "fortegnene i henvisningsmål i %s er forskellige"
-#: c-typeck.c:4280
+#: c-typeck.c:4246
#, c-format
msgid "%s from incompatible pointer type"
msgstr "%s fra en henvisningstype der ikke er forenelig med målets"
-#: c-typeck.c:4296
+#: c-typeck.c:4262
#, c-format
msgid "%s makes pointer from integer without a cast"
msgstr "%s opretter en henvisningsvariabel ud fra et heltal uden en typeomtvingning"
-#: c-typeck.c:4304
+#: c-typeck.c:4270
#, c-format
msgid "%s makes integer from pointer without a cast"
msgstr "%s opretter et heltal ud fra en henvisningsvariabel uden en typeomtvingning"
-#: c-typeck.c:4318 c-typeck.c:4321
+#: c-typeck.c:4284 c-typeck.c:4287
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr "typen af den %d. parameter i '%s' passer ikke"
-#: c-typeck.c:4325
+#: c-typeck.c:4291
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr "typen af den %d. parameter i det indirekte funktionskald passer ikke"
-#: c-typeck.c:4329
+#: c-typeck.c:4295
#, c-format
msgid "incompatible types in %s"
msgstr "uforenelige typer i %s"
#. Function name is known; supply it.
-#: c-typeck.c:4360
+#: c-typeck.c:4353
+#, c-format
+msgid "passing arg of `%s'"
+msgstr "videregiver parameter til '%s'"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4363
+msgid "passing arg of pointer to function"
+msgstr "videregiver parameter af henvisning til funktion"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4371
#, c-format
msgid "passing arg %d of `%s'"
msgstr "videregiver den %d. parameter til '%s'"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4370
+#: c-typeck.c:4381
#, c-format
msgid "passing arg %d of pointer to function"
msgstr "videregiver den %d. parameter af henvisning til funktion"
-#: c-typeck.c:4437
+#: c-typeck.c:4447
msgid "initializer for static variable is not constant"
msgstr "startværdien for den statiske variabel er ikke en konstant"
-#: c-typeck.c:4443
+#: c-typeck.c:4453
msgid "initializer for static variable uses complicated arithmetic"
msgstr "startværdien for den statiske variabel benytter komplicerede beregninger"
-#: c-typeck.c:4451
-#, fuzzy
+#: c-typeck.c:4461
msgid "aggregate initializer is not constant"
-msgstr "feltets startværdi er ikke en konstant"
+msgstr "startværdi til variabel af en sammensat type er ikke en konstant"
-#: c-typeck.c:4453
-#, fuzzy
+#: c-typeck.c:4463
msgid "aggregate initializer uses complicated arithmetic"
-msgstr "startværdien for den statiske variabel benytter komplicerede beregninger"
+msgstr "startværdien til variabel af en sammensat type benytter komplicerede beregninger"
-#: c-typeck.c:4460
+# 'automatic aggregate' betyder automatisk allokerede variabler, dvs.
+# ganske almindelige lokale variabler (kan evt. erklæres med 'auto')
+#: c-typeck.c:4470
msgid "traditional C rejects automatic aggregate initialization"
-msgstr ""
+msgstr "traditionel C forbyder klargøring af auto-variabler af sammensatte typer"
-#: c-typeck.c:4621 c-typeck.c:4637 c-typeck.c:4653
+#: c-typeck.c:4649 c-typeck.c:4665 c-typeck.c:4681
#, c-format
msgid "(near initialization for `%s')"
msgstr "(i nærheden af klargøringen af '%s')"
-#: c-typeck.c:4705 cp/typeck2.c:518
+#: c-typeck.c:4732 cp/typeck2.c:487
msgid "char-array initialized from wide string"
msgstr "char-tabel får tildelt startværdi fra en bred streng"
-#: c-typeck.c:4712 cp/typeck2.c:525
+#: c-typeck.c:4739 cp/typeck2.c:494
msgid "int-array initialized from non-wide string"
msgstr "int-tabel får tildelt startværdi fra en ikke-bred streng"
-#: c-typeck.c:4729 cp/typeck2.c:541
+#: c-typeck.c:4757 cp/typeck2.c:510
msgid "initializer-string for array of chars is too long"
msgstr "startværdistrengen til char-tabellen er for lang"
-#: c-typeck.c:4756
+#: c-typeck.c:4795
msgid "array initialized from non-constant array expression"
msgstr "tabel får tildelt en startværdi fra et tabeludtryk der ikke er konstant"
-#: c-typeck.c:4773 c-typeck.c:4775 c-typeck.c:4791 c-typeck.c:4812
-#: c-typeck.c:6207
+#: c-typeck.c:4812 c-typeck.c:4814 c-typeck.c:4830 c-typeck.c:4851
+#: c-typeck.c:6252
msgid "initializer element is not constant"
msgstr "startværdielement er ikke en konstant"
-#: c-typeck.c:4807
+#: c-typeck.c:4846
msgid "initialization"
msgstr "klargøring"
-#: c-typeck.c:4818 c-typeck.c:6212
+#: c-typeck.c:4857 c-typeck.c:6257
msgid "initializer element is not computable at load time"
msgstr "startværdielement kan ikke beregnes ved indlæsningstidspunktet"
-#: c-typeck.c:4855 c-typeck.c:4871 cp/typeck2.c:618
+#: c-typeck.c:4872 cp/typeck2.c:587
msgid "invalid initializer"
msgstr "ugyldig startværdi"
-#: c-typeck.c:5339
+#: c-typeck.c:5366
msgid "extra brace group at end of initializer"
msgstr "overskydende krøllede paranteser ved slutningen af startværdien"
-#: c-typeck.c:5359
+#: c-typeck.c:5386
msgid "missing braces around initializer"
msgstr "krøllede paranteser mangler omkring startværdien"
-#: c-typeck.c:5403
+#: c-typeck.c:5446
msgid "braces around scalar initializer"
msgstr "krøllede paranteser omkring skalarstartværdi"
-#: c-typeck.c:5455
+# RETMIG: eller er det fleksibel tabel-medlem
+#: c-typeck.c:5494
msgid "initialization of flexible array member in a nested context"
-msgstr ""
+msgstr "klargøring af fleksibelt tabelmedlem i en indlejret kontekst"
-#: c-typeck.c:5457
+#: c-typeck.c:5496
msgid "initialization of a flexible array member"
-msgstr ""
-
-#: c-typeck.c:5467
-msgid "deprecated initialization of zero-length array"
-msgstr ""
-
-#: c-typeck.c:5472
-msgid "initialization of zero-length array before end of structure"
-msgstr ""
-
-#: c-typeck.c:5477
-msgid "initialization of zero-length array inside a nested context"
-msgstr ""
+msgstr "klargøring af fleksibelt tabelmedlem"
-#: c-typeck.c:5496
+#: c-typeck.c:5527
msgid "missing initializer"
msgstr "manglende startværdi"
-#: c-typeck.c:5521
+#: c-typeck.c:5553
msgid "empty scalar initializer"
msgstr "tom skalarstartværdi"
-#: c-typeck.c:5526
+#: c-typeck.c:5558
msgid "extra elements in scalar initializer"
msgstr "overskydende elementer i skalarstarværdi"
-#: c-typeck.c:5610
+#: c-typeck.c:5644
msgid "initialization designators may not nest"
-msgstr ""
+msgstr "klargøringstegn må ikke indlejres"
-#: c-typeck.c:5631 c-typeck.c:5701
+#: c-typeck.c:5665 c-typeck.c:5736
msgid "array index in non-array initializer"
msgstr "tabelindeks i en startværdi der ikke er en tabel"
-#: c-typeck.c:5636 c-typeck.c:5753
-#, fuzzy
+# RETMIG: record?
+#: c-typeck.c:5670 c-typeck.c:5788
msgid "field name not in record or union initializer"
-msgstr "for mange elementer i union-startværdi"
+msgstr "feltnavn ikke i struktur- eller union-startværdi"
-#: c-typeck.c:5697 c-typeck.c:5699
+#: c-typeck.c:5732 c-typeck.c:5734
msgid "nonconstant array index in initializer"
msgstr "tabelindekset i startværdien er ikke en konstant"
-#: c-typeck.c:5704
-#, fuzzy
+#: c-typeck.c:5739
msgid "array index in initializer exceeds array bounds"
-msgstr "tabelindeks i en startværdi der ikke er en tabel"
+msgstr "tabelindeks i startværdi overskrider tabelgrænser"
-#: c-typeck.c:5715
+#: c-typeck.c:5750
msgid "empty index range in initializer"
msgstr "tomt indeksinterval i startværdi"
-#: c-typeck.c:5724
-#, fuzzy
+#: c-typeck.c:5759
msgid "array index range in initializer exceeds array bounds"
-msgstr "tomt indeksinterval i startværdi"
+msgstr "tabelindeksinterval i startværdi overskrider tabelgrænser"
-#: c-typeck.c:5765
+#: c-typeck.c:5800
#, c-format
msgid "unknown field `%s' specified in initializer"
msgstr "ukendt felt '%s' angivet i startværdi"
-#: c-typeck.c:5802 c-typeck.c:5823 c-typeck.c:6277
+#: c-typeck.c:5837 c-typeck.c:5858 c-typeck.c:6319
msgid "initialized field with side-effects overwritten"
-msgstr ""
+msgstr "klargjort felt med bivirkninger overskrevet"
-#: c-typeck.c:6490
+#: c-typeck.c:6529
msgid "excess elements in char array initializer"
msgstr "for mange elementer i char-tabelstartværdien"
-#: c-typeck.c:6497 c-typeck.c:6536
+#: c-typeck.c:6536 c-typeck.c:6582
msgid "excess elements in struct initializer"
-msgstr "for mange elementer i struc-startværdi"
+msgstr "for mange elementer i struct-startværdi"
+
+#: c-typeck.c:6597
+msgid "non-static initialization of a flexible array member"
+msgstr "ikke-statisk klargøring af fleksibelt tabelmedlem"
-#: c-typeck.c:6603
+#: c-typeck.c:6664
msgid "excess elements in union initializer"
msgstr "for mange elementer i union-startværdi"
-#: c-typeck.c:6620
+#: c-typeck.c:6685
msgid "traditional C rejects initialization of unions"
-msgstr ""
+msgstr "traditionel C forbyder tildeling af startværdi til unioner"
-#: c-typeck.c:6683
+#: c-typeck.c:6748
msgid "excess elements in array initializer"
msgstr "for mange elementer i tabelstartværdi"
-#: c-typeck.c:6709
+#: c-typeck.c:6777
+msgid "excess elements in vector initializer"
+msgstr "for mange elementer i vektorstartværdi"
+
+#: c-typeck.c:6799
msgid "excess elements in scalar initializer"
-msgstr "for mange elemener i skalarstartværdi"
+msgstr "for mange elementer i skalarstartværdi"
-#: c-typeck.c:6793
+#: c-typeck.c:6906
msgid "asm template is not a string constant"
msgstr "asm-sætning er ikke en strengkonstant"
-#: c-typeck.c:6825
+#: c-typeck.c:6938
msgid "invalid lvalue in asm statement"
msgstr "ugyldig venstreværdi i asm-sætning"
-#: c-typeck.c:6898
+#: c-typeck.c:7013
msgid "modification by `asm'"
-msgstr "ændring i 'asm'"
+msgstr "ændring af 'asm'"
-#: c-typeck.c:6917 cp/typeck.c:6589
-#, fuzzy
+#: c-typeck.c:7032 cp/typeck.c:6181
msgid "function declared `noreturn' has a `return' statement"
-msgstr "funktionen returnerer ikke en strengtype"
+msgstr "funktion der er erklæret 'noreturn' har en 'return'-sætning"
-#: c-typeck.c:6924
+#: c-typeck.c:7039
msgid "`return' with no value, in function returning non-void"
-msgstr ""
+msgstr "'return' uden nogen værdi i en funktion der ikke returnerer void"
-#: c-typeck.c:6930
+#: c-typeck.c:7045
msgid "`return' with a value, in function returning void"
-msgstr ""
+msgstr "'return' med en værdi i en funktion der returnerer void"
-#: c-typeck.c:6934
+#: c-typeck.c:7049
msgid "return"
-msgstr "return"
+msgstr "returnering"
-#: c-typeck.c:6985
+#: c-typeck.c:7101
msgid "function returns address of local variable"
-msgstr ""
+msgstr "funktion returnerer adressen på en lokal variabel"
-#: c-typeck.c:7043 cp/semantics.c:533
+#: c-typeck.c:7157 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "switch-størrelsen er ikke et heltal"
-#: c-typeck.c:7054
+#: c-typeck.c:7167
msgid "`long' switch expression not converted to `int' in ISO C"
-msgstr ""
+msgstr "'long'-udtryk i switch konverteres ikke til 'int' i ISO C"
-#: c-typeck.c:7097 cp/decl.c:5228
+#: c-typeck.c:7202 cp/decl.c:5237
msgid "case label not within a switch statement"
msgstr "case-etiket befinder sig ikke inden i en switch-sætning"
-#: c-typeck.c:7099 cp/decl.c:5233
-#, fuzzy
+#: c-typeck.c:7204 cp/decl.c:5242
msgid "`default' label not within a switch statement"
-msgstr "default-etiket befinder sig ikke inden i en switch-sætning"
+msgstr "'default'-etiket befinder sig ikke inden i en switch-sætning"
-#: calls.c:1877
-#, fuzzy, c-format
+#: calls.c:1927 tree-inline.c:1176
+#, c-format
msgid "inlining failed in call to `%s'"
-msgstr "kan ikke håndtere inkonsistente kald af '%s'"
+msgstr "indlejring mislykkedes i kald til '%s'"
-#: calls.c:1878 calls.c:2191
+#: calls.c:1928 calls.c:2264 tree-inline.c:1177
msgid "called from here"
-msgstr ""
+msgstr "kaldt herfra"
-#: calls.c:2190
-#, fuzzy, c-format
+#: calls.c:2263
+#, c-format
msgid "can't inline call to `%s'"
-msgstr "kan ikke håndtere inkonsistente kald af '%s'"
+msgstr "kan ikke indlejre kald til '%s'"
-#: calls.c:2228
+#: calls.c:2293
msgid "function call has aggregate value"
-msgstr ""
+msgstr "funktionskald har en sammensat værdi"
-#: calls.c:4604
-msgid "variable offset is passed paritially in stack and in reg"
-msgstr ""
+#: cfgloop.c:1106
+#, c-format
+msgid "Size of loop %d should be %d, not %d."
+msgstr "Størrelsen af løkke %d burde være %d, ikke %d."
-#: calls.c:4606
-msgid "variable size is passed partially in stack and in reg"
-msgstr ""
+#: cfgloop.c:1125
+#, c-format
+msgid "Bb %d do not belong to loop %d."
+msgstr "Basisblok %d hører ikke til løkke %d."
+
+#: cfgloop.c:1143
+#, c-format
+msgid "Loop %d's header does not have exactly 2 entries."
+msgstr "Løkke %d's hoved har ikke præcis 2 elementer."
+
+#: cfgloop.c:1151
+#, c-format
+msgid "Loop %d's latch does not have exactly 1 successor."
+msgstr "Løkke %d's ende har ikke præcis 1 efterfølger."
+
+#: cfgloop.c:1156
+#, c-format
+msgid "Loop %d's latch does not have header as successor."
+msgstr "Løkke %d's ende har ikke hoved som efterfølger."
+
+#: cfgloop.c:1161
+#, c-format
+msgid "Loop %d's latch does not belong directly to it."
+msgstr "Løkke %d's ende tilhører ikke direkte løkken."
+
+#: cfgloop.c:1167
+#, c-format
+msgid "Loop %d's header does not belong directly to it."
+msgstr "Løkke %d's hoved tilhører ikke direkte løkken."
+
+#: cfgrtl.c:1774
+#, c-format
+msgid "bb %d on wrong place"
+msgstr "basisblok %d ved et forkerte sted"
+
+#: cfgrtl.c:1780
+#, c-format
+msgid "prev_bb of %d should be %d, not %d"
+msgstr "prev_bb for %d bør være %d, ikke %d"
+
+#: cfgrtl.c:1800
+#, c-format
+msgid "end insn %d for block %d not found in the insn stream"
+msgstr "slutinstruktion %d for blok %d ikke fundet i instruktionsstrømmen"
+
+#: cfgrtl.c:1814
+#, c-format
+msgid "insn %d is in multiple basic blocks (%d and %d)"
+msgstr "instruktion %d er i flere basisblokke (%d og %d)"
+
+#: cfgrtl.c:1826
+#, c-format
+msgid "head insn %d for block %d not found in the insn stream"
+msgstr "hovedinstruktion %d for blok %d ikke fundet i instruktionsstrømmen"
+
+#: cfgrtl.c:1848
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr "verify_flow_info: REG_BR_PROB passer ikke til konf. %i %i"
+
+#: cfgrtl.c:1855
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr "verify_flow_info: Ukorrekt antal af blok %i %i"
+
+#: cfgrtl.c:1861
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr "verify_flow_info: Ukorrekt frekvens af blok %i %i"
+
+#: cfgrtl.c:1869
+#, c-format
+msgid "verify_flow_info: Duplicate edge %i->%i"
+msgstr "verify_flow_info: Dobbelt kant %i->%i"
+
+#: cfgrtl.c:1875
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr "verify_flow_info: Ukorrekt sandsynlighed for kant %i->%i %i"
+
+#: cfgrtl.c:1881
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr "verify_flow_info: Ukorrekt antal for kant %i->%i %i"
+
+#: cfgrtl.c:1911
+#, c-format
+msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+msgstr "verify_flow_info: Ukorrekte blokke til fald-gennem %i->%i"
+
+#: cfgrtl.c:1926
+#, c-format
+msgid "verify_flow_info: Incorrect fallthru %i->%i"
+msgstr "verify_flow_info: Ukorrekt fald-gennem %i->%i"
+
+#: cfgrtl.c:1928
+msgid "wrong insn in the fallthru edge"
+msgstr "forkert instruktion i fald-gennem-kant"
+
+#: cfgrtl.c:1935
+#, c-format
+msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+msgstr "verify_flow_info: Efterfølgende kant til basisblok %d er ødelagt"
+
+#: cfgrtl.c:1951
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr "Mangler REG_EH_REGION-note i slutningen af basisblok %i"
+
+#: cfgrtl.c:1959
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr "For mange udgående forgreningskanter fra basisblok %i"
+
+#: cfgrtl.c:1964
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr "Fald gennem-kant efter ubetinget spring %i"
+
+#: cfgrtl.c:1969
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr "Forkert antal forgreningskanter efter ubetinget spring %i"
+
+#: cfgrtl.c:1975
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "Forkert antal forgreningskanter efter betinget spring %i"
+
+#: cfgrtl.c:1980
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr "Kaldekanter for ikke-kaldsinstruktion i basisblok %i"
+
+#: cfgrtl.c:1989
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr "Unormale kanter uden noget formål i basisblok %i"
+
+#: cfgrtl.c:2004
+#, c-format
+msgid "missing barrier after block %i"
+msgstr "manglende barriere efter blok %i"
+
+#: cfgrtl.c:2014
+#, c-format
+msgid "basic block %d pred edge is corrupted"
+msgstr "foregående kant til basisblok %d er ødelagt"
+
+#: cfgrtl.c:2031
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is NULL"
+msgstr "instruktion %d inden i basisblok %d, men block_for_insn er NULL"
+
+#: cfgrtl.c:2035
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is %i"
+msgstr "instruktion %d inden i basisblok %d, men block_for_insn er %i"
+
+#: cfgrtl.c:2049 cfgrtl.c:2059
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+msgstr "NOTE_INSN_BASIC_BLOCK mangler for blok %d"
+
+#: cfgrtl.c:2072
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+msgstr "NOTE_INSN_BASIC_BLOCK %d i midten af basisblok %d"
+
+#: cfgrtl.c:2084
+#, c-format
+msgid "in basic block %d:"
+msgstr "i basisblok %d:"
+
+#: cfgrtl.c:2085
+msgid "flow control insn inside a basic block"
+msgstr "strømkontrolinstruktion inden i en basisblok"
+
+#: cfgrtl.c:2104
+#, c-format
+msgid "basic block %i edge lists are corrupted"
+msgstr "kantlister til basisblok %i er ødelagt"
+
+#: cfgrtl.c:2119
+msgid "basic blocks not numbered consecutively"
+msgstr "basisblokkene er ikke nummeret i rækkefølge"
+
+#: cfgrtl.c:2144
+msgid "insn outside basic block"
+msgstr "instruktion uden for basisblok"
+
+#: cfgrtl.c:2152
+msgid "return not followed by barrier"
+msgstr "returnering følges ikke af barriere"
+
+#: cfgrtl.c:2157
+#, c-format
+msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+msgstr "antallet af basisbloknoter i instruktionskæden (%d) != n_basic_blocks (%d)"
-#: collect2.c:454
+#: cfgrtl.c:2161
+msgid "verify_flow_info failed"
+msgstr "verify_flow_info mislykkedes"
+
+#: collect2.c:425
msgid "internal error"
msgstr "intern fejl"
-#: collect2.c:935
+#: collect2.c:934
msgid "no arguments"
msgstr "ingen parametre"
-#: collect2.c:1290 collect2.c:1438 collect2.c:1482
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
#, c-format
msgid "fopen %s"
-msgstr "fejl under åbning af filen %s"
+msgstr "fopen %s"
-#: collect2.c:1293 collect2.c:1443 collect2.c:1485
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
-msgstr "fejl under lukning af filen %s"
+msgstr "fclose %s"
-#: collect2.c:1302
+#: collect2.c:1275
#, c-format
msgid "collect2 version %s"
msgstr "collect2 version %s"
-#: collect2.c:1392
+#: collect2.c:1365
#, c-format
msgid "%d constructor(s) found\n"
-msgstr "%d konstrueringsfunktion(er) fundet\n"
+msgstr "%d konstruktionsfunktion(er) fundet\n"
-#: collect2.c:1393
+#: collect2.c:1366
#, c-format
msgid "%d destructor(s) found\n"
-msgstr "%d destrueringsfunktion(er) fundet\n"
+msgstr "%d destruktionsfunktion(er) fundet\n"
-#: collect2.c:1394
+#: collect2.c:1367
#, c-format
msgid "%d frame table(s) found\n"
msgstr "%d rammetabel(ler) fundet\n"
-#: collect2.c:1546
+#: collect2.c:1508
#, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s afsluttet af signal %d [%s]%s"
-#: collect2.c:1565
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
msgstr "%s returnerede afslutningskoden %d"
-#: collect2.c:1593
+#: collect2.c:1555
#, c-format
msgid "[cannot find %s]"
msgstr "[kan ikke finde %s]"
-#: collect2.c:1608
+#: collect2.c:1570
#, c-format
msgid "cannot find `%s'"
msgstr "kan ikke finde '%s'"
-#: collect2.c:1619 collect2.c:1622
+#: collect2.c:1581 collect2.c:1584
#, c-format
msgid "redirecting stdout: %s"
msgstr "omdirigerer standard-ud: %s"
-#: collect2.c:1665
+#: collect2.c:1627
#, c-format
msgid "[Leaving %s]\n"
msgstr "[Efterlader %s]\n"
-#: collect2.c:1906
+#: collect2.c:1870
#, c-format
-msgid "\nwrite_c_file - output name is %s, prefix is %s\n"
-msgstr "\nwrite_c_file - uddatanavnet er %s, præfikset er %s\n"
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
+msgstr ""
+"\n"
+"write_c_file - uddatanavnet er %s, præfikset er %s\n"
-#: collect2.c:2124
+#: collect2.c:2083
msgid "cannot find `nm'"
msgstr "kan ikke finde 'nm'"
-#: collect2.c:2134 collect2.c:2576
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
-msgstr "fejl under oprettelse af ledning"
+msgstr "pipe"
-#: collect2.c:2138 collect2.c:2580
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
-msgstr "fejl under åbning af fildeskriptor"
+msgstr "fdopen"
-#: collect2.c:2164 collect2.c:2606
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
-msgstr "fejl under kopiering af fildeskriptor (dup2 %d 1)"
+msgstr "dup2 %d 1"
-#: collect2.c:2167 collect2.c:2170 collect2.c:2183 collect2.c:2609
-#: collect2.c:2612 collect2.c:2625
+#: collect2.c:2126 collect2.c:2129 collect2.c:2142 collect2.c:2568
+#: collect2.c:2571 collect2.c:2584
#, c-format
msgid "close %d"
-msgstr "fejl under lukning af fildeskriptor %d"
+msgstr "close %d"
-#: collect2.c:2173
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr "fejl under kørsel (vha. execvp) af %s"
+msgid "execv %s"
+msgstr "fejl under kørsel (vha. execv) af %s"
-#: collect2.c:2227
+#: collect2.c:2186
#, c-format
msgid "init function found in object %s"
msgstr "klargøringsfunktion fundet i objekt %s"
-#: collect2.c:2235
+#: collect2.c:2194
#, c-format
msgid "fini function found in object %s"
msgstr "afslutningsfunktion fundet i objekt %s"
-#: collect2.c:2258 collect2.c:2664
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
-msgstr "fejl under lukning af fil"
+msgstr "fclose"
-#: collect2.c:2303
+#: collect2.c:2262
#, c-format
msgid "unable to open file '%s'"
msgstr "kunne ikke åbne filen '%s'"
-#: collect2.c:2305
+#: collect2.c:2264
#, c-format
msgid "unable to stat file '%s'"
msgstr "kunne ikke få fat i oplysninger om filen '%s'"
-#: collect2.c:2311
+#: collect2.c:2270
#, c-format
msgid "unable to mmap file '%s'"
msgstr "kunne ikke indlæse filen '%s'"
-#: collect2.c:2464
+#: collect2.c:2423
msgid "not found\n"
msgstr "ikke fundet\n"
-#: collect2.c:2466 collect2.c:2643
+#: collect2.c:2425 collect2.c:2602
#, c-format
msgid "dynamic dependency %s not found"
msgstr "dynamisk afhængighed %s ikke fundet"
-#: collect2.c:2486
+#: collect2.c:2445
#, c-format
msgid "bad magic number in file '%s'"
msgstr "ugyldigt magisk tal i filen '%s'"
-#: collect2.c:2508
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
msgstr "dynamiske afhængigheder.\n"
-#: collect2.c:2567
+#: collect2.c:2526
msgid "cannot find `ldd'"
msgstr "kan ikke finde 'ldd'"
-#: collect2.c:2615
-#, c-format
-msgid "execv %s"
-msgstr "fejl under kørsel (vha. execv) af %s"
-
-#: collect2.c:2628
-msgid "\nldd output with constructors/destructors.\n"
-msgstr "\nldd-uddata med konstruktions-/destruktionsfunktioner.\n"
+#: collect2.c:2587
+msgid ""
+"\n"
+"ldd output with constructors/destructors.\n"
+msgstr ""
+"\n"
+"ldd-uddata med konstruktions-/destruktionsfunktioner.\n"
-#: collect2.c:2655
+#: collect2.c:2614
#, c-format
msgid "unable to open dynamic dependency '%s'"
msgstr "kan ikke åbne den dynamiske afhængighed '%s'"
-#: collect2.c:2769
+#: collect2.c:2728
#, c-format
msgid "%s: not a COFF file"
-msgstr "%s: ikke en coff-fil"
+msgstr "%s: ikke en COFF-fil"
-#: collect2.c:2888
+#: collect2.c:2847
#, c-format
msgid "%s: cannot open as COFF file"
-msgstr "%s: kan ikke åbnes som en coff-fil"
+msgstr "%s: kan ikke åbnes som en COFF-fil"
-#: collect2.c:2944
+#: collect2.c:2903
#, c-format
-msgid "Library lib%s not found"
-msgstr "Biblioteket lib%s ikke fundet"
+msgid "library lib%s not found"
+msgstr "biblioteket lib%s ikke fundet"
-#: collect2.c:3073
+#: collect2.c:3030
#, c-format
msgid "open %s"
msgstr "fejl ved åbning af %s"
-#: collect2.c:3096
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
-msgstr "uforeneligheder mellem objektfil og forventede værdier"
+msgstr "uoverensstemmelser mellem objektfil og forventede værdier"
-#: collect2.c:3169
+#: collect2.c:3126
#, c-format
-msgid "\nProcessing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
-msgstr "\nBehandler symboltabel nr. %d, offset = 0x%.8lx, form = %s\n"
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+msgstr ""
+"\n"
+"Behandler symboltabel nr. %d, forskydning = 0x%.8lx, form = %s\n"
-#: collect2.c:3178
+#: collect2.c:3135
msgid "string section missing"
msgstr "strengsektion mangler"
-#: collect2.c:3181
+#: collect2.c:3138
msgid "section pointer missing"
msgstr "sektionshenvisning mangler"
-#: collect2.c:3229
+#: collect2.c:3186
msgid "no symbol table found"
msgstr "ingen symboltabel fundet"
-#: collect2.c:3242
+#: collect2.c:3199
msgid "no cmd_strings found"
msgstr "ingen cmd_strings fundet"
-#: collect2.c:3254
-msgid "\nUpdating header and load commands.\n\n"
-msgstr "\nOpdaterer hoved- og indlæsningskommandoer.\n\n"
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
+msgstr ""
+"\n"
+"Opdaterer hoved- og indlæsningskommandoer.\n"
+"\n"
-#: collect2.c:3261
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
msgstr "indlæser kommandooversigt, %d kommandoer, ny størrelse %ld.\n"
-#: collect2.c:3292
-msgid "writing load commands.\n\n"
-msgstr "skriver indlæsningskommandoer.\n\n"
+#: collect2.c:3249
+msgid ""
+"writing load commands.\n"
+"\n"
+msgstr ""
+"skriver indlæsningskommandoer.\n"
+"\n"
-#: collect2.c:3312
+#: collect2.c:3269
#, c-format
msgid "close %s"
msgstr "fejl ved lukning af %s"
-#: collect2.c:3386
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
msgstr "kunne ikke konvertere 0x%l.8x til en region"
-#: collect2.c:3390
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
-msgstr "%s-funktion, region %d, offset = %ld (0x%.8lx)\n"
+msgstr "%s-funktion, region %d, forskydning = %ld (0x%.8lx)\n"
-#: collect2.c:3517
+#: collect2.c:3474
msgid "bad magic number"
msgstr "ugyldigt magisk tal"
-#: collect2.c:3518
+#: collect2.c:3475
msgid "bad header version"
msgstr "ugyldig version af hovedet"
-#: collect2.c:3519
+#: collect2.c:3476
msgid "bad raw header version"
msgstr "ugyldig version af råhovedet"
-#: collect2.c:3520
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr "råhoved-mellemlager for småt"
-#: collect2.c:3521
+#: collect2.c:3478
msgid "old raw header file"
msgstr "gammel råhovedfil"
-#: collect2.c:3522
+#: collect2.c:3479
msgid "unsupported version"
msgstr "versionen er ikke understøttet"
-#: collect2.c:3524
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr "ukendt {de,en}code_mach_o_hdr returneringsværdi %d"
-#: collect2.c:3544
+#: collect2.c:3501
#, c-format
msgid "fstat %s"
msgstr "fejl ved egenskabsundersøgelse af filen %s"
-#: collect2.c:3581 collect2.c:3629
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
msgstr "fejl ved søgning til begyndelsen i filen %s"
-#: collect2.c:3585
+#: collect2.c:3542
#, c-format
msgid "read %s"
msgstr "fejl ved læsning af %s"
-#: collect2.c:3588
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr "læste %ld byte, forventede %ld, fra %s"
-#: collect2.c:3609
+#: collect2.c:3566
#, c-format
msgid "msync %s"
msgstr "fejl ved synkronisering mellem hukommelse og disk af %s"
-#: collect2.c:3616
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
msgstr "fejl ved fjernelse af %s fra hukommelsen"
-#: collect2.c:3633
+#: collect2.c:3590
#, c-format
msgid "write %s"
msgstr "fejl ved skrivning til %s"
-#: collect2.c:3636
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr "skrev %ld byte, forventede %ld, til %s"
-#: combine.c:12818
+#: combine.c:13185
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
@@ -3540,7 +4181,7 @@ msgstr ""
";; %d vellykkede.\n"
"\n"
-#: combine.c:12828
+#: combine.c:13195
#, c-format
msgid ""
"\n"
@@ -3551,716 +4192,5102 @@ msgstr ""
";; kombineringstotal: %d forsøg, %d udskiftninger (%d kræver ny plads),\n"
";; %d succeser.\n"
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
+#: convert.c:69
+msgid "cannot convert to a pointer type"
+msgstr "kan ikke konverteres til en henvisningstype"
+
+#: convert.c:102
+msgid "pointer value used where a floating point value was expected"
+msgstr "en henvisningsværdi er angivet hvor der forventedes en kommatalsværdi"
+
+#: convert.c:106
+msgid "aggregate value used where a float was expected"
+msgstr "en værdi af en sammensat type er angivet hvor der forventedes et kommatal"
+
+#: convert.c:132
+msgid "conversion to incomplete type"
+msgstr "konvertering til en ufuldstændig type"
+
+#: convert.c:414 convert.c:494
+msgid "can't convert between vector values of different size"
+msgstr "kan ikke konvertere vektorværdier af forskellige størrelser"
+
+#: convert.c:420
+msgid "aggregate value used where an integer was expected"
+msgstr "en værdi af en sammensat type er angivet hvor der forventedes et heltal"
+
+#: convert.c:472 f/com.c:1100
+msgid "pointer value used where a complex was expected"
+msgstr "en henvisningsværdi er angivet hvor der forventedes et komplekst tal"
+
+#: convert.c:476 f/com.c:1102
+msgid "aggregate value used where a complex was expected"
+msgstr "en værdi af en sammensat type er angivet hvor der forventedes et komplekst tal"
+
+#: convert.c:500
+msgid "can't convert value to a vector"
+msgstr "kan ikke konvertere værdi til en vektor"
+
+#: cpperror.c:113
+msgid "warning: "
+msgstr "advarsel: "
+
+#: cpperror.c:115
+msgid "internal error: "
+msgstr "intern fejl: "
+
+#: cpperror.c:189
+msgid "stdout"
+msgstr "std-ud"
+
+#: cpperror.c:191 gcc.c:6425
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: cppexp.c:199
+msgid "too many decimal points in number"
+msgstr "for mange decimalkommaer i tal"
+
+#: cppexp.c:219
+#, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "ugyldig ciffer \"%c\" i oktal konstant"
+
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
+msgstr "brug af C99 hexadecimal kommatalskonstant"
+
+#: cppexp.c:234
+msgid "exponent has no digits"
+msgstr "der er ingen cifre i eksponent"
+
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
+msgstr "hexadecimal kommatalskonstant skal have en eksponent"
+
+#: cppexp.c:247
+#, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "ugyldig endelse \"%.*s\" i kommatalskonstant"
+
+#: cppexp.c:257 cppexp.c:282
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "traditionel C tillader ikke endelsen \"%.*s\""
+
+#: cppexp.c:268
+#, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "ugyldig endelse \"%.*s\" i heltalskonstant"
+
+#: cppexp.c:289
+msgid "use of C99 long long integer constant"
+msgstr "brug af ISO C99 long long-heltalskonstanter"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
+msgstr "imaginære konstanter er en GCC-udvidelse"
+
+#: cppexp.c:383
+msgid "integer constant is too large for its type"
+msgstr "heltalskonstanten er for stor for dens type"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
+msgstr "heltalskonstanten er så stor at den er unsigned"
+
+#: cppexp.c:482
+msgid "missing ')' after \"defined\""
+msgstr "manglende ')' efter \"defined\""
+
+#: cppexp.c:489
+msgid "operator \"defined\" requires an identifier"
+msgstr "operatoren \"defined\" kræver et kaldenavn"
+
+#: cppexp.c:497
+#, c-format
+msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+msgstr "(\"%s\" er et alternativt symbol for \"%s\" i C++)"
+
+#: cppexp.c:507
+msgid "this use of \"defined\" may not be portable"
+msgstr "denne brug af \"defined\" er muligvis ikke portabel"
+
+#: cppexp.c:545
+msgid "floating constant in preprocessor expression"
+msgstr "kommatalskonstant i præprocessorudtryk"
+
+#: cppexp.c:551
+msgid "imaginary number in preprocessor expression"
+msgstr "imaginært tal i præprocessorudtryk"
+
+#: cppexp.c:596
+#, c-format
+msgid "ISO C++ does not permit \"%s\" in #if"
+msgstr "ISO C++ tillader ikke \"%s\" i #if"
+
+#: cppexp.c:604
+#, c-format
+msgid "\"%s\" is not defined"
+msgstr "\"%s\" er ikke defineret"
+
+#: cppexp.c:737 cppexp.c:772
+#, c-format
+msgid "missing binary operator before token \"%s\""
+msgstr "manglende binær operator før symbolet \"%s\""
+
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
+msgstr "ugyldigt tegn '%c' i #if"
+
+#: cppexp.c:758
+#, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "ugyldigt tegn '\\%03o' i #if"
+
+#: cppexp.c:763
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "symbolet \"%s\" er ikke gyldigt i præprocessorudtryk"
+
+#: cppexp.c:782
+msgid "void expression between '(' and ')'"
+msgstr "tomt udtryk mellem '(' og ')'"
+
+#: cppexp.c:785
+msgid "#if with no expression"
+msgstr "#if uden noget udtryk"
+
+#: cppexp.c:787
+#, c-format
+msgid "operator '%s' has no right operand"
+msgstr "operatoren '%s' har ikke nogen højre operand"
+
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr " ':' uden forudgående '?'"
+
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
+msgstr "uafbalanceret stak i #if"
+
+#: cppexp.c:862
+#, c-format
+msgid "impossible operator '%u'"
+msgstr "umulig operator '%u'"
+
+#: cppexp.c:954
+msgid "missing ')' in expression"
+msgstr "manglende ')' i udtryk"
+
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr "'?' uden efterfølgende ':'"
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr "heltallet løber over i præprocessorudtrykket"
+
+#: cppexp.c:990
+msgid "missing '(' in expression"
+msgstr "manglende '(' i udtryk"
+
+#: cppexp.c:1026
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr "den venstre operand til \"%s\" ændrer fortegn ved forfremmelse"
+
+#: cppexp.c:1031
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr "den højre operand til \"%s\" ændrer fortegn ved forfremmelse"
+
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr "kommeoperator i en operand til #if"
+
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr "division med nul i #if"
+
+#: cppfiles.c:411
+#, c-format
+msgid "%s is too large"
+msgstr "%s er for stor"
+
+#: cppfiles.c:447
+#, c-format
+msgid "%s is shorter than expected"
+msgstr "%s er kortere end forventet"
+
+#: cppfiles.c:461
+#, c-format
+msgid "%s is a block device"
+msgstr "%s er en blokenhed"
+
+#: cppfiles.c:594
+#, c-format
+msgid "no include path in which to find %s"
+msgstr "der er ingen inkluderingssti at finde %s i"
+
+#: cppfiles.c:668
+msgid "Multiple include guards may be useful for:\n"
+msgstr "Flere inkluderingsvagter kan være nyttige til:\n"
+
+#: cppfiles.c:1014
+msgid "absolute file name in remap_filename"
+msgstr "absolut filnavn i remap_filename"
+
+#: cppinit.c:224
+#, c-format
+msgid "ignoring nonexistent directory \"%s\"\n"
+msgstr "ignorerer det ikke-eksisterende katalog \"%s\"\n"
+
+#: cppinit.c:231
+#, c-format
+msgid "%s: Not a directory"
+msgstr "%s: ikke et katalog"
+
+#: cppinit.c:287
+#, c-format
+msgid "ignoring duplicate directory \"%s\"\n"
+msgstr "ignorerer mere end én angivelse af kataloget \"%s\"\n"
+
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
+msgstr " da det er et ikke-systemkatalog som dublerer et systemkatalog\n"
+
+#: cppinit.c:891
+msgid "cppchar_t must be an unsigned type"
+msgstr "cppchar_t skal være en unsigned type"
+
+#: cppinit.c:895
+#, c-format
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit"
+
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int"
+
+#: cppinit.c:904
+msgid "target char is less than 8 bits wide"
+msgstr "målarkitekturs char er mindre end 8 bit bred"
+
+#: cppinit.c:908
+msgid "target wchar_t is narrower than target char"
+msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char"
+
+#: cppinit.c:912
+msgid "target int is narrower than target char"
+msgstr "målarkitekturs int er mindre end målarkitekturs char"
+
+#: cppinit.c:916
+msgid "CPP half-integer narrower than CPP character"
+msgstr "CPP-halvheltal er mindre end CPP-tegn"
+
+#: 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 "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit"
+
+#: cppinit.c:972
+msgid "#include \"...\" search starts here:\n"
+msgstr "#include \"...\"-søgning begynder her:\n"
+
+#: cppinit.c:976
+msgid "#include <...> search starts here:\n"
+msgstr "#include <...>-søgning begynder her:\n"
+
+#: cppinit.c:979
+msgid "End of search list.\n"
+msgstr "Slut på søgningslisten.\n"
+
+#: cppinit.c:1057
+msgid "<built-in>"
+msgstr "<indbygget>"
+
+#: cppinit.c:1059
+msgid "<command line>"
+msgstr "<kommandolinje>"
+
+#. 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:1164
+#, c-format
+msgid "assertion missing after %s"
+msgstr "et postulat mangler efter %s"
+
+#: cppinit.c:1165
+#, c-format
+msgid "directory name missing after %s"
+msgstr "et katalognavn mangler efter %s"
+
+#: cppinit.c:1166
+#, c-format
+msgid "file name missing after %s"
+msgstr "et filnavn mangler efter %s"
+
+#: cppinit.c:1167
+#, c-format
+msgid "macro name missing after %s"
+msgstr "et makronavn mangler efter %s"
+
+#: cppinit.c:1168
+#, c-format
+msgid "path name missing after %s"
+msgstr "navnet på en sti mangler efter %s"
+
+#: cppinit.c:1353
+msgid "-I- specified twice"
+msgstr "-I- er angivet to gange"
+
+#: cpplex.c:149
+#, c-format
+msgid "trigraph ??%c converted to %c"
+msgstr "trigrafen ??%c konverteret til %c"
+
+#: cpplex.c:157
+#, c-format
+msgid "trigraph ??%c ignored"
+msgstr "trigrafen ??%c ignoreret"
+
+#: cpplex.c:214
+msgid "backslash and newline separated by space"
+msgstr "omvendt skråstreg og linjeskift er adskilt af mellemrum"
+
+#: cpplex.c:221 cpptrad.c:158
+msgid "backslash-newline at end of file"
+msgstr "omvendt skråstreg efterfulgt af linjeskift ved slutningen af filen"
+
+#: cpplex.c:287 cpptrad.c:199
+msgid "\"/*\" within comment"
+msgstr "\"/*\" i en kommentar"
+
+#: cpplex.c:395
+msgid "null character(s) ignored"
+msgstr "nultegn ignoreret"
+
+#: cpplex.c:402
+#, c-format
+msgid "%s in preprocessing directive"
+msgstr "%s i præprocessordirektiv"
+
+#: cpplex.c:475
+#, c-format
+msgid "attempt to use poisoned \"%s\""
+msgstr "forsøg på at bruge forgiftet \"%s\""
+
+#: cpplex.c:483
+msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C99-makro med vilkårligt antal parametre"
+
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
+msgstr "'$'-tegn i kaldenavn eller tal"
+
+#: cpplex.c:698
+#, c-format
+msgid "missing terminating %c character"
+msgstr "manglende afsluttende '%c'-tegn"
+
+#: cpplex.c:711
+msgid "null character(s) preserved in literal"
+msgstr "nultegn bevaret i strengkonstant"
+
+#: cpplex.c:915 cpptrad.c:487
+msgid "no newline at end of file"
+msgstr "ingen linjeskift ved slutningen af filen"
+
+#: cpplex.c:1092 cpptrad.c:213
+msgid "unterminated comment"
+msgstr "uafsluttet kommentar"
+
+#: cpplex.c:1103
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90"
+
+#: cpplex.c:1105
+msgid "(this will be reported only once per input file)"
+msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"
+
+#: cpplex.c:1110
+msgid "multi-line comment"
+msgstr "flerlinjers kommentar"
+
+#: cpplex.c:1425
+#, c-format
+msgid "unknown string token %s\n"
+msgstr "ukendt strengsymbol %s\n"
+
+#: cpplex.c:1438
+#, c-format
+msgid "unspellable token %s"
+msgstr "symbol %s kan ikke staves"
+
+#: cpplex.c:1695
+#, c-format
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr "betydningen af '\\%c' er anderledes i traditionel C"
+
+#: cpplex.c:1701
+msgid "incomplete universal-character-name"
+msgstr "ufuldstændigt universelt tegnnavn"
+
+#: cpplex.c:1715
+#, c-format
+msgid "non-hex digit '%c' in universal-character-name"
+msgstr "'%c' der ikke er et hexadecimalt ciffer, optræder i universelt tegnnavn"
+
+#: cpplex.c:1723
+msgid "universal-character-name on EBCDIC target"
+msgstr "universelt tegnnavn på EBCDIC-mål"
+
+#: cpplex.c:1737
+msgid "universal-character-name out of range"
+msgstr "universelt tegnnavn uden for det gyldige interval"
+
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr "betydningen af '\\a' er anderledes i traditionel C"
+
+#: cpplex.c:1798
+#, c-format
+msgid "non-ISO-standard escape sequence, '\\%c'"
+msgstr "undvigesekvensen '\\%c' er ikke ISO-standard"
+
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "betydningen af '\\x' er anderledes i traditionel C"
+
+#: cpplex.c:1828 f/lex.c:585
+msgid "\\x used with no following hex digits"
+msgstr "\\x angivet uden efterfølgende hexadecimale cifre"
+
+#: cpplex.c:1833
+msgid "hex escape sequence out of range"
+msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval"
+
+#: cpplex.c:1858
+msgid "octal escape sequence out of range"
+msgstr "den oktale undvigesekvens er uden for det gyldige interval"
+
+#: cpplex.c:1874
+#, c-format
+msgid "unknown escape sequence '\\%c'"
+msgstr "ukendt undvigesekvensen '\\%c'"
+
+#: cpplex.c:1877
+#, c-format
+msgid "unknown escape sequence: '\\%03o'"
+msgstr "ukendt undvigesekvensen '\\%03o'"
+
+#: cpplex.c:1882
+msgid "escape sequence out of range for its type"
+msgstr "undvigesekvensen er uden for det gyldig interval for dens type"
+
+#: cpplex.c:1973
+msgid "empty character constant"
+msgstr "tom tegnkonstant"
+
+#: cpplex.c:1983
+msgid "character constant too long for its type"
+msgstr "tegnkonstanten er for lang for dens type"
+
+#: cpplex.c:1986
+msgid "multi-character character constant"
+msgstr "flerbyte-tegnkonstant"
+
+#: cpplib.c:225
+#, c-format
+msgid "extra tokens at end of #%s directive"
+msgstr "ekstra symboler i slutningen af #%s-direktiv"
+
+#: cpplib.c:315
+#, c-format
+msgid "#%s is a GCC extension"
+msgstr "#%s er en GCC-udvidelse"
+
+#: cpplib.c:327
+msgid "suggest not using #elif in traditional C"
+msgstr "foreslår undladelse af brug af #elif i traditionel C"
+
+#: cpplib.c:330
+#, c-format
+msgid "traditional C ignores #%s with the # indented"
+msgstr "traditionel C ignorerer #%s når '#' er indrykket"
+
+#: cpplib.c:334
+#, c-format
+msgid "suggest hiding #%s from traditional C with an indented #"
+msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket '#'"
+
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt"
+
+#: cpplib.c:378
+msgid "style of line directive is a GCC extension"
+msgstr "linjestilsdirektiv er en GCC-udvidelse"
+
+#: cpplib.c:428
+#, c-format
+msgid "invalid preprocessing directive #%s"
+msgstr "ugyldigt præprocessordirektiv #%s"
+
+#: cpplib.c:500
+msgid "\"defined\" cannot be used as a macro name"
+msgstr "\"defined\" kan ikke bruges som makronavn"
+
+#: cpplib.c:506
+#, c-format
+msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
+msgstr "\"%s\" kan ikke bruges som et makronavn da det er en operator i C++"
+
+#: cpplib.c:509
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr "intet makronavn angivet i direktivet #%s"
+
+#: cpplib.c:512
+msgid "macro names must be identifiers"
+msgstr "makronavne skal være kaldenavne"
+
+#: cpplib.c:552
+#, c-format
+msgid "undefining \"%s\""
+msgstr "glemmer definitionen af \"%s\""
+
+#: cpplib.c:598
+msgid "missing terminating > character"
+msgstr "manglende afsluttende '>'-tegn"
+
+#: cpplib.c:637
+#, c-format
+msgid "#%s expects \"FILENAME\" or <FILENAME>"
+msgstr "#%s forventer \"FILNAVN\" eller <FILNAVN>"
+
+#: cpplib.c:648
+#, c-format
+msgid "empty file name in #%s"
+msgstr "tomt filnavn i #%s"
+
+#: cpplib.c:667
+msgid "#include_next in primary source file"
+msgstr "#include_next i den primære kildekodefil"
+
+#: cpplib.c:674
+msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+msgstr "#import er forældet, brug en #ifndef-indpakning i inkluderingsfilen"
+
+#: cpplib.c:682
+msgid "#include nested too deeply"
+msgstr "#include indlejret for dybt"
+
+#: cpplib.c:739
+#, c-format
+msgid "invalid flag \"%s\" in line directive"
+msgstr "ugyldigt flag \"%s\" i linjedirektiv"
+
+#: cpplib.c:814
+#, c-format
+msgid "\"%s\" after #line is not a positive integer"
+msgstr "\"%s\" efter #line er ikke et positivt heltal"
+
+#: cpplib.c:820
+msgid "line number out of range"
+msgstr "linjenummer er uden for det gyldige interval"
+
+#: cpplib.c:831 cpplib.c:902
+#, c-format
+msgid "\"%s\" is not a valid filename"
+msgstr "\"%s\" er ikke et ugyldigt filnavn"
+
+#: cpplib.c:866
+#, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr "\"%s\" efter # er ikke et positivt heltal"
+
+#: cpplib.c:973
+msgid "invalid #ident directive"
+msgstr "ugyldigt #ident-direktiv"
+
+#: cpplib.c:1061
+#, c-format
+msgid "registering \"%s\" as both a pragma and a pragma namespace"
+msgstr "registrerer \"%s\" som både et pragma og som et pragmanavnerum"
+
+#: cpplib.c:1064
+#, c-format
+msgid "#pragma %s %s is already registered"
+msgstr "#pragma %s %s er allerede registreret"
+
+#: cpplib.c:1067
+#, c-format
+msgid "#pragma %s is already registered"
+msgstr "#pragma %s er allerede registreret"
+
+#: cpplib.c:1141
+msgid "#pragma once is obsolete"
+msgstr "'#pragma once' er forældet"
+
+#: cpplib.c:1144
+msgid "#pragma once in main file"
+msgstr "'#pragma once' i hovedfil"
+
+#: cpplib.c:1168
+msgid "invalid #pragma GCC poison directive"
+msgstr "ugyldigt #pragma GCC poison-direktiv"
+
+#: cpplib.c:1177
+#, c-format
+msgid "poisoning existing macro \"%s\""
+msgstr "forgifter eksisterende makro \"%s\""
+
+#: cpplib.c:1199
+msgid "#pragma system_header ignored outside include file"
+msgstr "'#pragma system_header' ignoreret uden for inkluderingsfil"
+
+#: cpplib.c:1224
+#, c-format
+msgid "cannot find source %s"
+msgstr "kan ikke finde kilden %s"
+
+#: cpplib.c:1228
+#, c-format
+msgid "current file is older than %s"
+msgstr "aktuel fil er ældre end %s"
+
+#: cpplib.c:1344
+msgid "_Pragma takes a parenthesized string literal"
+msgstr "_Pragma tager en strengkonstant med paranteser omkring"
+
+#: cpplib.c:1427
+msgid "#else without #if"
+msgstr "#else uden #if"
+
+#: cpplib.c:1432
+msgid "#else after #else"
+msgstr "#else efter #else"
+
+#: cpplib.c:1434 cpplib.c:1468
+msgid "the conditional began here"
+msgstr "betingelsen begyndte her"
+
+#: cpplib.c:1461
+msgid "#elif without #if"
+msgstr "#elif uden #if"
+
+#: cpplib.c:1466
+msgid "#elif after #else"
+msgstr "#elif efter #else"
+
+#: cpplib.c:1497
+msgid "#endif without #if"
+msgstr "#endif uden #if"
+
+#: cpplib.c:1580
+msgid "missing '(' after predicate"
+msgstr "manglende '(' efter udsagn"
+
+#: cpplib.c:1595
+msgid "missing ')' to complete answer"
+msgstr "manglende ')' til at fuldføre svar"
+
+#: cpplib.c:1615
+msgid "predicate's answer is empty"
+msgstr "udsagnets svar et tomt"
+
+#: cpplib.c:1645
+msgid "assertion without predicate"
+msgstr "postulat uden udsagn"
+
+#: cpplib.c:1647
+msgid "predicate must be an identifier"
+msgstr "udsagn skal være et kaldenavn"
+
+#: cpplib.c:1736
+#, c-format
+msgid "\"%s\" re-asserted"
+msgstr "\"%s\" genpostuleret"
+
+#: cpplib.c:1966
+#, c-format
+msgid "unterminated #%s"
+msgstr "uafsluttet #%s"
+
+#: cppmacro.c:94
+#, c-format
+msgid "macro \"%s\" is not used"
+msgstr "makroen \"%s\" bliver ikke brugt"
+
+#: cppmacro.c:139 cppmacro.c:294
+#, c-format
+msgid "invalid built-in macro \"%s\""
+msgstr "ugyldig indbygget makro \"%s\""
+
+#: cppmacro.c:234
+msgid "could not determine date and time"
+msgstr "kunne ikke bestemme dato og tid"
+
+#: cppmacro.c:407
+msgid "invalid string literal, ignoring final '\\'"
+msgstr "ugyldig strengkonstant, ignorerer afsluttende '\\'"
+
+#: cppmacro.c:504
+#, c-format
+msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+msgstr "indsættelse af \"%s\" og \"%s\" giver ikke et gyldigt præprocessorsymbol"
+
+#: cppmacro.c:546
+msgid "ISO C99 requires rest arguments to be used"
+msgstr "ISO C99 påkræver at restparametrene skal bruges"
+
+#: cppmacro.c:551
+#, c-format
+msgid "macro \"%s\" requires %u arguments, but only %u given"
+msgstr "makroen \"%s\" kræver %u parametre, men modtager kun %u"
+
+#: cppmacro.c:556
+#, c-format
+msgid "macro \"%s\" passed %u arguments, but takes just %u"
+msgstr "makroen \"%s\" bliver viderebragt %u parametre, men tager kun mod %u"
+
+#: cppmacro.c:669 cpptrad.c:774
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "uafsluttet parameterliste ved kald af makroen \"%s\""
+
+#: cppmacro.c:776
+#, c-format
+msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+msgstr "funktionsagtig makro \"%s\" skal bruges med parametre i traditionel C"
+
+#: cppmacro.c:1312
+#, c-format
+msgid "duplicate macro parameter \"%s\""
+msgstr "makroparameternavnet \"%s\" optræder mere end én gang"
+
+#: cppmacro.c:1349
+#, c-format
+msgid "\"%s\" may not appear in macro parameter list"
+msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+#: cppmacro.c:1357
+msgid "macro parameters must be comma-separated"
+msgstr "makroparametre skal være komma-adskilte"
+
+#: cppmacro.c:1374
+msgid "parameter name missing"
+msgstr "parameternavn mangler"
+
+#: cppmacro.c:1389
+msgid "anonymous variadic macros were introduced in C99"
+msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99"
+
+#: cppmacro.c:1393
+msgid "ISO C does not permit named variadic macros"
+msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"
+
+#: cppmacro.c:1402
+msgid "missing ')' in macro parameter list"
+msgstr "manglende ')' i makroparameterliste"
+
+#: cppmacro.c:1470
+msgid "ISO C requires whitespace after the macro name"
+msgstr "ISO C påkræver mellemrum efter makronavnet"
+
+#: cppmacro.c:1498
+msgid "'#' is not followed by a macro parameter"
+msgstr "'#' efterfølges ikke af en makroparameter"
+
+#: cppmacro.c:1517
+msgid "'##' cannot appear at either end of a macro expansion"
+msgstr "'##' må ikke optræde ved nogen af enderne i en makrokrop"
+
+#: cppmacro.c:1599
+#, c-format
+msgid "\"%s\" redefined"
+msgstr "\"%s\" omdefineret"
+
+#: cppmacro.c:1604
+msgid "this is the location of the previous definition"
+msgstr "den foregående definition er her"
+
+#: cppmacro.c:1655
+#, c-format
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr "makroparameteren \"%s\" ville blive gjort til en streng i traditionel C"
+
+#: cppmacro.c:1680
+#, c-format
+msgid "invalid hash type %d in cpp_macro_definition"
+msgstr "ugyldig hashtype %d i cpp_macro_definition"
+
+#: cppspec.c:109
+#, c-format
+msgid "\"%s\" is not a valid option to the preprocessor"
+msgstr "\"%s\" er ikke et gyldigt tilvalg til præprocessoren"
+
+#: cppspec.c:133
+msgid "too many input files"
+msgstr "for mange inddatafiler"
+
+#: cpptrad.c:841
+#, c-format
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "opdagede rekursion ved udfoldelse af makroen \"%s\""
+
+#: cse.c:7187
+#, c-format
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ";; Behandler blok fra %d til %d, %d mængder.\n"
+
+#: diagnostic.c:700
+msgid "((anonymous))"
+msgstr "((anonym))"
+
+#: diagnostic.c:914
+#, c-format
+msgid "%s: warnings being treated as errors\n"
+msgstr "%s: advarsler bliver opfattet som fejl\n"
+
+#: diagnostic.c:949
+#, c-format
+msgid "%s: %s: "
+msgstr "%s: %s: "
+
+#: diagnostic.c:1040
+#, c-format
+msgid "%s "
+msgstr "%s "
+
+#: diagnostic.c:1042
+#, c-format
+msgid " %s"
+msgstr " %s"
+
+#: diagnostic.c:1064
+msgid "At top level:"
+msgstr "Ved øverste niveau:"
+
+#: diagnostic.c:1069
+#, c-format
+msgid "In member function `%s':"
+msgstr "I medlemsfunktionen '%s':"
+
+#: diagnostic.c:1073
+#, c-format
+msgid "In function `%s':"
+msgstr "I funktionen '%s':"
+
+#: diagnostic.c:1161
+msgid "compilation terminated.\n"
+msgstr "oversættelse afsluttede.\n"
+
+#: diagnostic.c:1179
+#, c-format
+msgid "%s:%d: confused by earlier errors, bailing out\n"
+msgstr "%s:%d: forvirret af tidligere fejl, opgiver ævred\n"
+
+#: diagnostic.c:1194 diagnostic.c:1302
+#, c-format
+msgid ""
+"Please submit a full bug report,\n"
+"with preprocessed source if appropriate.\n"
+"See %s for instructions.\n"
msgstr ""
+"Indsend venligst en komplet fejlrapport med\n"
+"præprocesseret kildekode om nødvendigt.\n"
+"Se %s for instruktioner.\n"
+
+#: diagnostic.c:1300
+msgid "Internal compiler error: Error reporting routines re-entered.\n"
+msgstr "Intern oversætterfejl: fejlrapporteringsrutiner blev kaldt igen.\n"
-#: config/a29k/a29k.c:1006
+#: diagnostic.c:1362
#, c-format
-msgid "invalid %%Q value"
-msgstr "ugyldig %%Q-værdi"
+msgid "in %s, at %s:%d"
+msgstr "i %s, ved %s:%d"
-#: config/a29k/a29k.c:1012 config/alpha/alpha.c:4055
+#: diagnostic.c:1383
#, c-format
-msgid "invalid %%C value"
-msgstr "ugyldig %%C-værdi"
+msgid "In file included from %s:%d"
+msgstr "I filen inkluderet af %s:%d"
-#: config/a29k/a29k.c:1018 config/alpha/alpha.c:3919
-#: config/rs6000/rs6000.c:4015
+# kommer til at stå neden under ovenstående, derfor "af"
+#: diagnostic.c:1386
#, c-format
-msgid "invalid %%N value"
-msgstr "ugyldig %%N-værdi"
+msgid ""
+",\n"
+" from %s:%d"
+msgstr ""
+",\n"
+" af %s:%d"
-#: config/a29k/a29k.c:1024 config/alpha/alpha.c:3990
-#: config/rs6000/rs6000.c:3977
+#: diagnostic.c:1387
+msgid ":\n"
+msgstr ":\n"
+
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
-msgid "invalid %%M value"
-msgstr "ugyldig %%M-værdi"
+msgid "`%s' is deprecated (declared at %s:%d)"
+msgstr "'%s' er forældet (erklæret ved %s:%d)"
-#: config/a29k/a29k.c:1030 config/alpha/alpha.c:3982
-#: config/rs6000/rs6000.c:3942
+#: diagnostic.c:1451
#, c-format
-msgid "invalid %%m value"
-msgstr "ugyldig %%m-værdi"
+msgid "`%s' is deprecated"
+msgstr "'%s' er forældet"
-#: config/a29k/a29k.c:1130 config/alpha/alpha.c:3943 config/romp/romp.c:682
+#: diagnostic.c:1454
#, c-format
-msgid "invalid %%L value"
-msgstr "ugyldig %%L-værdi"
+msgid "type is deprecated (declared at %s:%d)"
+msgstr "type er forældet (erklæret ved %s:%d)"
-#: config/a29k/a29k.c:1135 config/rs6000/rs6000.c:4023
+#: diagnostic.c:1457
+msgid "type is deprecated"
+msgstr "type er forældet"
+
+#: dominance.c:728
#, c-format
-msgid "invalid %%O value"
-msgstr "ugyldig %%O-værdi"
+msgid "dominator of %d should be %d, not %d"
+msgstr "dominator for %d burde være %d, ikke %d"
-#: config/a29k/a29k.c:1141 config/alpha/alpha.c:3927
-#: config/rs6000/rs6000.c:4042
+#: dwarf2out.c:3126
#, c-format
-msgid "invalid %%P value"
-msgstr "ugyldig %%P-værdi"
+msgid "DW_LOC_OP %s not implemented\n"
+msgstr "DW_LOC_OP %s understøttes ikke\n"
+
+#: dwarfout.c:2066
+#, c-format
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr "internt reg.nr.-problem: '%s' har reg.nr. = %d\n"
+
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
+msgstr "understøttelse for DWARF1-fejlanalyseringsformatet er forældet"
+
+#: dwarfout.c:6278
+msgid "can't get current directory"
+msgstr "kan ikke få fat i det aktuelle katalog"
+
+#: emit-rtl.c:1155
+msgid "can't access real part of complex value in hard register"
+msgstr "kan ikke tilgå den reelle del af komplekst tal i et hardwareregister"
+
+#: emit-rtl.c:1177
+msgid "can't access imaginary part of complex value in hard register"
+msgstr "kan ikke tilgå den imaginære del af komplekst tal i et hardwareregister"
+
+#: emit-rtl.c:3399
+msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+msgstr "ICE: emit_insn brugt hvor emit_jump_insn behøves:\n"
+
+#: errors.c:136
+#, c-format
+msgid "abort in %s, at %s:%d"
+msgstr "afbrudt i %s ved %s:%d"
+
+#: except.c:375
+msgid "exception handling disabled, use -fexceptions to enable"
+msgstr "håndtering af undtagelser er slået fra, angiv -fexceptions for at slå dem til"
+
+#: except.c:3000
+msgid "argument of `__builtin_eh_return_regno' must be constant"
+msgstr "parameteren til '__builtin_eh_return_regno' skal være konstant"
+
+#: except.c:3121 except.c:3143
+msgid "__builtin_eh_return not supported on this target"
+msgstr "__builtin_eh_return understøttes ikke på målarkitekturen"
+
+#: explow.c:1408
+msgid "stack limits not supported on this target"
+msgstr "stakgrænser understøttes ikke på målarkitekturen"
+
+#: expr.c:3334
+msgid "function using short complex types cannot be inline"
+msgstr "funktioner der benytter short complex-typer, kan ikke indbygges"
+
+#: expr.c:6251 expr.c:6260 expr.c:6269 expr.c:6274 expr.c:6583 expr.c:6599
+msgid "unsupported wide integer operation"
+msgstr "bred heltalsoperation understøttes ikke"
+
+#: expr.c:6648
+#, c-format
+msgid "prior parameter's size depends on `%s'"
+msgstr "foregående parameters størrelse afhænger af '%s'"
+
+#: expr.c:6981
+msgid "returned value in block_exit_expr"
+msgstr "returnerede værdi i block_exit_expr"
+
+#. We can't make a bitwise copy of this object, so fail.
+#: expr.c:9172
+msgid "cannot take the address of an unaligned member"
+msgstr "kan ikke tage adressen af et ikke-justeret medlem"
-#: config/a29k/a29k.c:1151
+#: final.c:1342
+msgid "negative insn length"
+msgstr "negativ instruktionslængde"
+
+#: final.c:2793
+msgid "could not split insn"
+msgstr "kunne ikke dele instruktion"
+
+#: final.c:3141
+msgid "invalid `asm': "
+msgstr "ugyldig 'asm': "
+
+#: final.c:3328
+msgid "nested assembly dialect alternatives"
+msgstr "indlejrede alternativer for maskinkodedialekter"
+
+#: final.c:3345 final.c:3357
+msgid "unterminated assembly dialect alternative"
+msgstr "uafsluttet alternativ for maskinkodedialekt"
+
+#: final.c:3401
#, c-format
-msgid "invalid %%V value"
-msgstr "ugyldig %%V-værdi"
+msgid "operand number missing after %%-letter"
+msgstr "operandtal mangler efter %%-letter"
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
+#: final.c:3404 final.c:3443
+msgid "operand number out of range"
+msgstr "operandtal er uden for det gyldige interval"
+
+#: final.c:3462
+#, c-format
+msgid "invalid %%-code"
+msgstr "ugyldig %%-kode"
+
+#: final.c:3493
+#, c-format
+msgid "`%%l' operand isn't a label"
+msgstr "'%%l'-operand er ikke en etiket"
+
+#. We can't handle floating point constants;
+#. PRINT_OPERAND must handle them.
+#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6253
+#: config/pdp11/pdp11.c:1573
+msgid "floating constant misused"
+msgstr "kommatalskonstant misbrugt"
+
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6331
+#: config/pdp11/pdp11.c:1620
+msgid "invalid expression as operand"
+msgstr "ugyldigt udtryk som operand"
+
+#: flow.c:352
+msgid "function might be possible candidate for attribute `noreturn'"
+msgstr "funktion er muligvis en kandidat til egenskaben 'noreturn'"
+
+#: flow.c:357
+msgid "`noreturn' function does return"
+msgstr "funktion med egenskaben 'noreturn' returnerer"
+
+# RETMIG: dette må kunne gøres bedre
+#: flow.c:378
+msgid "control reaches end of non-void function"
+msgstr "kontrol når til slutningen af ikke-void funktion"
+
+#: flow.c:1639
+msgid "Attempt to delete prologue/epilogue insn:"
+msgstr "forsøg på at slette indledende/afsluttende instruktion:"
+
+#: fold-const.c:2546 fold-const.c:2559
+#, c-format
+msgid "comparison is always %d due to width of bit-field"
+msgstr "sammenligning er altid %d på grund af den begrænsede rækkevidde af bitfeltet"
+
+#: fold-const.c:3753 fold-const.c:3770
+#, c-format
+msgid "comparison is always %d"
+msgstr "sammenligning er altid %d"
+
+# RETMIG: det giver ikke mening
+#: fold-const.c:3901
+msgid "`or' of unmatched not-equal tests is always 1"
+msgstr "'or' af uafbalancerede sammenligninger med forskellig fra er altid 1"
+
+#: fold-const.c:3906
+msgid "`and' of mutually exclusive equal-tests is always 0"
+msgstr "'and' af udtryk der hver for sig udelukker hinanden, er altid 0"
+
+#: function.c:884 varasm.c:1503
+#, c-format
+msgid "size of variable `%s' is too large"
+msgstr "størrelsen af variablen '%s' er for stor"
+
+#: function.c:3770
+msgid "impossible constraint in `asm'"
+msgstr "umulig begrænsing i 'asm'"
+
+#: function.c:5525
+#, c-format
+msgid "`%s' might be used uninitialized in this function"
+msgstr "'%s' bliver måske brugt uden at have en startværdi i denne funktion"
+
+#: function.c:5532
+#, c-format
+msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
+msgstr "variablen '%s' bliver måske overskrevet af 'longjmp' eller 'vfork'"
+
+#: function.c:5551
+#, c-format
+msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
+msgstr "parameteren '%s' bliver måske overskrevet af 'longjmp' eller 'vfork'"
+
+#: function.c:6418
+msgid "function returns an aggregate"
+msgstr "funktion returnerer en værdi af en sammensat type"
+
+#: function.c:6923
+#, c-format
+msgid "unused parameter `%s'"
+msgstr "ubenyttet parameter '%s'"
+
+#: gcc.c:1107
+#, c-format
+msgid "ambiguous abbreviation %s"
+msgstr "tvetydig forkortelse %s"
+
+#: gcc.c:1134
+#, c-format
+msgid "incomplete `%s' option"
+msgstr "ufuldstændigt tilvalg '%s'"
+
+#: gcc.c:1145
+#, c-format
+msgid "missing argument to `%s' option"
+msgstr "der mangler en parameter til tilvalget '%s'"
+
+#: gcc.c:1158
+#, c-format
+msgid "extraneous argument to `%s' option"
+msgstr "der er en parameter for meget til tilvalget '%s'"
+
+#: gcc.c:1486
+msgid "Using built-in specs.\n"
+msgstr "Benytter indbyggede specifikationer.\n"
+
+#: gcc.c:1664
+#, c-format
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
msgstr ""
+"Sætter specifikation %s til '%s'\n"
+"\n"
+
+#: gcc.c:1771
+#, c-format
+msgid "Reading specs from %s\n"
+msgstr "Læser specifikationer fra %s\n"
+
+#: gcc.c:1869 gcc.c:1888
+#, c-format
+msgid "specs %%include syntax malformed after %ld characters"
+msgstr "%%include-syntaks i specifikationer misdannet efter %ld tegn"
+
+#: gcc.c:1896
+#, c-format
+msgid "could not find specs file %s\n"
+msgstr "kunne ikke finde specifikationsfilen %s\n"
+
+#: gcc.c:1913 gcc.c:1921 gcc.c:1930 gcc.c:1939
+#, c-format
+msgid "specs %%rename syntax malformed after %ld characters"
+msgstr "%%rename-syntaks i specifikationer misdannet efter %ld tegn"
+
+#: gcc.c:1948
+#, c-format
+msgid "specs %s spec was not found to be renamed"
+msgstr "%s-specifikation i specifikationer kunne ikke findes til omdøbelse"
+
+#: gcc.c:1955
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr "%s: forsøg på at omdøbe specifikation '%s' til allerede defineret specifikation '%s'"
+
+#: gcc.c:1960
+#, c-format
+msgid "rename spec %s to %s\n"
+msgstr "omdøb specifikation %s til %s\n"
-#: config/a29k/a29k.h:102
-msgid "Generate code assuming DW bit is not set"
+#: gcc.c:1962
+#, c-format
+msgid ""
+"spec is '%s'\n"
+"\n"
msgstr ""
+"specifikation er '%s'\n"
+"\n"
+
+#: gcc.c:1975
+#, c-format
+msgid "specs unknown %% command after %ld characters"
+msgstr "ukendt %%-kommando i specifikationer efter %ld tegn"
+
+#: gcc.c:1986 gcc.c:1999
+#, c-format
+msgid "specs file malformed after %ld characters"
+msgstr "specifikationsfil misdannet efter %ld tegn"
+
+#: gcc.c:2053
+msgid "spec file has no spec for linking"
+msgstr "specifikationsfil har ingen specifikation til sammenkædning"
-#: config/a29k/a29k.h:103
-msgid "Generate code using byte writes"
+#: gcc.c:2551
+msgid "-pipe not supported"
+msgstr "-pipe understøttes ikke"
+
+#: gcc.c:2606
+msgid ""
+"\n"
+"Go ahead? (y or n) "
msgstr ""
+"\n"
+"Fortsæt, ja (y) eller nej (n)?"
-#: config/a29k/a29k.h:104
-msgid "Do not generate byte writes"
+#: gcc.c:2732
+#, c-format
+msgid ""
+"Internal error: %s (program %s)\n"
+"Please submit a full bug report.\n"
+"See %s for instructions."
msgstr ""
+"Intern fejl: %s (programmet %s)\n"
+"Indsend venligst en komplet fejlrapport.\n"
+"Se %s for instruktioner."
+
+#: gcc.c:2750
+#, c-format
+msgid "# %s %.2f %.2f\n"
+msgstr "# %s %.2f %.2f\n"
+
+#: gcc.c:2880
+#, c-format
+msgid "Usage: %s [options] file...\n"
+msgstr "Brug: %s [tilvalg] fil...\n"
+
+#: gcc.c:2881
+msgid "Options:\n"
+msgstr "Tilvalg:\n"
+
+#: gcc.c:2883
+msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+msgstr " -pass-exit-codes Afslut med den højeste fejlkode fra en fase\n"
+
+#: gcc.c:2884
+msgid " --help Display this information\n"
+msgstr " --help Vis disse oplysninger\n"
+
+#: gcc.c:2885
+msgid " --target-help Display target specific command line options\n"
+msgstr " --target-help Vis målspecifikke kommandolinjetilvalg\n"
+
+#: gcc.c:2887
+msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+msgstr " (benyt '-v --help' for at vise kommandolinjetilvalg for underprocesser)\n"
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
+#: gcc.c:2888
+msgid " -dumpspecs Display all of the built in spec strings\n"
+msgstr " -dumpspecs Vis alle de indbyggede specifikationsstrenge\n"
+
+#: gcc.c:2889
+msgid " -dumpversion Display the version of the compiler\n"
+msgstr " -dumpversion Vis versionsnummeret af oversætteren\n"
+
+#: gcc.c:2890
+msgid " -dumpmachine Display the compiler's target processor\n"
+msgstr " -dumpmachine Vis oversætterens målprocessor\n"
+
+#: gcc.c:2891
+msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+msgstr " -print-search-dirs Vis katalogerne i oversætterens søgesti\n"
+
+#: gcc.c:2892
+msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+msgstr " -print-libgcc-file-name Vis navnet på oversætterens tilhørende bibliotek\n"
+
+#: gcc.c:2893
+msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+msgstr " -print-file-name=<bibl> Vis den komplette sti til biblioteket <bibl>\n"
+
+#: gcc.c:2894
+msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+msgstr " -print-prog-name=<prog> Vis den komplette sti til oversætterkomponenten <prog>\n"
+
+#: gcc.c:2895
+msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+msgstr " -print-multi-directory Vis rodkataloget for versioner af libgcc\n"
+
+#: gcc.c:2896
+msgid ""
+" -print-multi-lib Display the mapping between command line options and\n"
+" multiple library search directories\n"
msgstr ""
+" -print-multi-lib Vis afbildningen mellem kommandolinjetilvalg og\n"
+" flere bibliotekssøgekataloger\n"
+
+#: gcc.c:2899
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-os-directory Vis den relative sti for OS-biblioteker\n"
+
+#: gcc.c:2900
+msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+msgstr " -Wa,<tilvalg> Videregiv komma-adskilte <tilvalg> til maskinkodeoversætteren\n"
+
+#: gcc.c:2901
+msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+msgstr " -Wp,<tilvalg> Videregiv komma-adskilte <tilvalg> til præprocessoren\n"
+
+#: gcc.c:2902
+msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+msgstr " -Wl,<tilvalg> Videregiv komma-adskilte <tilvalg> til sammenkæderen\n"
+
+#: gcc.c:2903
+msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+msgstr " -Xlinker <para> Videregiv <para> til sammenkæderen\n"
+
+#: gcc.c:2904
+msgid " -save-temps Do not delete intermediate files\n"
+msgstr " -save-temps Slet ikke midlertidige filer\n"
+
+#: gcc.c:2905
+msgid " -pipe Use pipes rather than intermediate files\n"
+msgstr " -pipe Brug datakanaler i stedet for midlertidige filer\n"
+
+#: gcc.c:2906
+msgid " -time Time the execution of each subprocess\n"
+msgstr " -time Tag tid på udførslen af hver underproces\n"
+
+#: gcc.c:2907
+msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+msgstr " -specs=<fil> Overskriv indbyggede specifikationer med indholdet af <fil>\n"
+
+#: gcc.c:2908
+msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+msgstr " -std=<standard> Antag at inddatakildekoden er skrevet til <standard>\n"
+
+#: gcc.c:2909
+msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+msgstr " -B <katalog> Tilføj katalog til oversætterens søgestier\n"
+
+#: gcc.c:2910
+msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+msgstr " -b <maskine> Kør GCC til målet <maskine>, hvis installeret\n"
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
+#: gcc.c:2911
+msgid " -V <version> Run gcc version number <version>, if installed\n"
+msgstr " -V <version> Kør GCC med versionsnummeret <version>, hvis installeret\n"
+
+#: gcc.c:2912
+msgid " -v Display the programs invoked by the compiler\n"
+msgstr " -v Vis de programmer der startes af oversætteren\n"
+
+#: gcc.c:2913
+msgid " -### Like -v but options quoted and commands not executed\n"
msgstr ""
+" -### Som '-v', men tilvalg anbringes i anførselstegn\n"
+" og kommandoerne udføres ikke\n"
+
+#: gcc.c:2914
+msgid " -E Preprocess only; do not compile, assemble or link\n"
+msgstr " -E Forbehandl kun; oversæt og sammenkæd ikke\n"
+
+#: gcc.c:2915
+msgid " -S Compile only; do not assemble or link\n"
+msgstr " -S Oversæt kun; maskinekodeoversæt og sammenkæd ikke\n"
+
+#: gcc.c:2916
+msgid " -c Compile and assemble, but do not link\n"
+msgstr " -c Oversæt, også til maskinkode, men sammenkæd ikke\n"
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
+#: gcc.c:2917
+msgid " -o <file> Place the output into <file>\n"
+msgstr " -o <fil> Anbring uddataene i <fil>\n"
+
+#: gcc.c:2918
+msgid ""
+" -x <language> Specify the language of the following input files\n"
+" Permissible languages include: c c++ assembler none\n"
+" 'none' means revert to the default behavior of\n"
+" guessing the language based on the file's extension\n"
msgstr ""
+" -x <sprog> Angiv sproget for de følgende inddatafiler.\n"
+" Tilladte sprog inkluderer: c c++ assembler none\n"
+" 'none' betyder at standardopførslen med at gætte\n"
+" sproget på filendelsen udføres\n"
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
+#: gcc.c:2925
+#, c-format
+msgid ""
+"\n"
+"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+" passed on to the various sub-processes invoked by %s. In order to pass\n"
+" other options on to these processes the -W<letter> options must be used.\n"
msgstr ""
+"\n"
+"Tilvalg der begynder med -g, -f, -m, -O, -W eller --param bliver automatisk\n"
+" givet videre til de forskellige underprocesser som %s starter. For at\n"
+" videregive andre indstillinger til disse processer kan tilvalg på formen\n"
+" '-W<bogstav>' bruges.\n"
+
+#: gcc.c:3060
+#, c-format
+msgid "`-%c' option must have argument"
+msgstr "tilvalget '-%c' skal have en parameter"
+
+#: gcc.c:3082
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr "kunne ikke køre '%s': %s"
+
+#. translate_options () has turned --version into -fversion.
+#: gcc.c:3259
+#, c-format
+msgid "%s (GCC) %s\n"
+msgstr "%s (GCC) %s\n"
+
+#: gcc.c:3260
+msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2003 Free Software Foundation, Inc.\n"
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
+#: gcc.c:3262 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 ""
+"Dette er et frit program; se kildekoden for kopieringsbetingelser. Der er\n"
+"INGEN garanti; ikke engang for SALGBARHED eller BRUGBARHED TIL NOGET FORMÅL.\n"
+
+#: gcc.c:3363
+msgid "argument to `-Xlinker' is missing"
+msgstr "der mangler en parameter til '-Xlinker'"
+
+#: gcc.c:3371
+msgid "argument to `-l' is missing"
+msgstr "der mangler en parameter til '-l'"
+
+#: gcc.c:3388
+msgid "argument to `-specs' is missing"
+msgstr "der mangler en parameter til '-specs'"
+
+#: gcc.c:3403
+msgid "argument to `-specs=' is missing"
+msgstr "der mangler en parameter til '-specs='"
+
+#: gcc.c:3433
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr "'-%c' skal være i begyndelsen af kommandolinjen"
+
+#: gcc.c:3442
+msgid "argument to `-B' is missing"
+msgstr "der mangler en parameter til '-B'"
+
+#: gcc.c:3615
+msgid "cannot specify -o with -c or -S and multiple compilations"
+msgstr "kan ikke angive -o med -c eller -S og flere oversættelser"
+
+#: gcc.c:3788
+msgid "warning: -pipe ignored because -save-temps specified"
+msgstr "advarsel: -pipe ignoreret fordi -save-temps er angivet"
+
+#: gcc.c:3792
+msgid "warning: -pipe ignored because -time specified"
+msgstr "advarsel: -pipe ignoreret fordi -time er angivet"
+
+#: gcc.c:3804
+msgid "argument to `-x' is missing"
+msgstr "der mangler en parameter til '-x'"
+
+#: gcc.c:3832
+#, c-format
+msgid "argument to `-%s' is missing"
+msgstr "der mangler en parameter til '-%s'"
+
+#: gcc.c:3893
+#, c-format
+msgid "warning: `-x %s' after last input file has no effect"
+msgstr "advarsel: '-x %s' efter den sidste inddatafil har ingen effekt"
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
+#: gcc.c:4238
+msgid "invalid specification! Bug in cc"
+msgstr "ugyldig specifikation! Fejl i cc."
+
+#: gcc.c:4392
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#. 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:4952
+#, c-format
+msgid "spec failure: '%%*' has not been initialized by pattern match"
+msgstr "specifikationsfejl: '%%*' er ikke blevet klargjort af mønstersøgning"
+
+#: gcc.c:4961
+#, c-format
+msgid "warning: use of obsolete %%[ operator in specs"
+msgstr "advarsel: forældet '%%['-operator benyttet i specifikationer"
+
+#: gcc.c:4979
+#, c-format
+msgid "Processing spec %c%s%c, which is '%s'\n"
+msgstr "Behandler specifikation %c%s%c, som er '%s'\n"
+
+#: gcc.c:5104
+#, c-format
+msgid "spec failure: unrecognized spec option '%c'"
+msgstr "specifikationsfejl: ukendt specifikationstilvalg '%c'"
+
+#: gcc.c:5185
+#, c-format
+msgid "unknown spec function `%s'"
+msgstr "ukendt specifikationsfunktion '%s'"
+
+#: gcc.c:5204
+#, c-format
+msgid "error in args to spec function `%s'"
+msgstr "fejl i parametre til specifikationsfunktion '%s'"
+
+#: gcc.c:5253
+msgid "malformed spec function name"
+msgstr "forkert udformet specifikationsfunktionsnavn"
+
+#. )
+#: gcc.c:5256
+msgid "no arguments for spec function"
+msgstr "ingen parametre til specifikationsfunktion"
+
+#: gcc.c:5275
+msgid "malformed spec function arguments"
+msgstr "forkert udformede specifikationsfunktionsparametre"
+
+#: gcc.c:5383
+msgid "mismatched braces in specs"
+msgstr "uafbalancerede krøllede paranteser i specifikationer"
+
+#: gcc.c:6078
+#, c-format
+msgid "unrecognized option `-%s'"
+msgstr "ukendt tilvalg '-%s'"
+
+#: gcc.c:6084
+#, c-format
+msgid "install: %s%s\n"
+msgstr "installering: %s%s\n"
+
+#: gcc.c:6085
+#, c-format
+msgid "programs: %s\n"
+msgstr "programmer: %s\n"
+
+#: gcc.c:6086
+#, c-format
+msgid "libraries: %s\n"
+msgstr "biblioteker: %s\n"
+
+#: gcc.c:6143
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
msgstr ""
+"\n"
+"For fejlrapporteringsinstruktioner, se:\n"
+
+#: gcc.c:6159
+#, c-format
+msgid "Configured with: %s\n"
+msgstr "Konfigureret med: %s\n"
+
+#: gcc.c:6173
+#, c-format
+msgid "Thread model: %s\n"
+msgstr "Trådmodel: %s\n"
+
+#: gcc.c:6184
+#, c-format
+msgid "gcc version %s\n"
+msgstr "GCC version %s\n"
+
+#: gcc.c:6186
+#, c-format
+msgid "gcc driver version %s executing gcc version %s\n"
+msgstr "GCC-styringsprogram version %s kører GCCc version %s\n"
+
+#: gcc.c:6194
+msgid "no input files"
+msgstr "ingen inddatafiler"
+
+#: gcc.c:6232
+#, c-format
+msgid "%s: %s compiler not installed on this system"
+msgstr "%s: %s-oversætter ikke installeret på dette system"
+
+#: gcc.c:6307
+#, c-format
+msgid "%s: linker input file unused because linking not done"
+msgstr "%s: sammenkæderinddatafil ikke benyttet eftersom sammenkædning ikke blev foretaget"
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
+#: gcc.c:6350
+#, c-format
+msgid "language %s not recognized"
+msgstr "sproget %s ikke genkendt"
+
+#: gcc.c:6453
+msgid "internal gcc abort"
+msgstr "intern GCC-afbrydelse"
+
+#: gcov.c:325
+msgid "Internal gcov abort.\n"
+msgstr "Intern gcov afbrydelse.\n"
+
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
msgstr ""
+"Brug: gcov [TILVALG]... KILDEFIL\n"
+"\n"
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
+#: gcov.c:339
+msgid ""
+"Print code coverage information.\n"
+"\n"
msgstr ""
+"Udskriv kodedækningsoplysninger.\n"
+"\n"
+
+#: gcov.c:340
+msgid " -h, --help Print this help, then exit\n"
+msgstr " -h, --help Udskriv denne hjælp og afslut\n"
+
+#: gcov.c:341
+msgid " -v, --version Print version number, then exit\n"
+msgstr " -v, --version Udskriv versionsnummeret og afslut\n"
+
+#: gcov.c:342
+msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+msgstr " -b, --branch-probabilities Medtag forgreningssandsynligheder i uddata\n"
+
+#: gcov.c:343
+msgid ""
+" -c, --branch-counts Given counts of branches taken\n"
+" rather than percentages\n"
+msgstr " -c, --branch-counts Antal forgreninger taget i stedet for procenter\n"
-#: config/a29k/a29k.h:113
-msgid "Do not emit stack checking code"
+#: gcov.c:345
+msgid " -n, --no-output Do not create an output file\n"
+msgstr " -n, --no-output Opret ikke en uddatafil\n"
+
+#: gcov.c:346
+msgid ""
+" -l, --long-file-names Use long output file names for included\n"
+" source files\n"
+msgstr " -l, --long-file-names Brug lange filnavne til inkluderede kildefiler\n"
+
+#: gcov.c:348
+msgid " -f, --function-summaries Output summaries for each function\n"
+msgstr " -f, --function-summaries Udskriv sammendrag for hver funktion\n"
+
+#: gcov.c:349
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+msgstr " -o, --object-directory KAT|FIL Søg efter objektfiler i KAT eller kaldt FIL\n"
+
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
+msgstr " -p, --preserve-paths Bevar alle stinavnskomponenter\n"
+
+#: gcov.c:351
+#, c-format
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+"%s.\n"
msgstr ""
+"\n"
+"For fejlrapporteringsinstruktioner, se:\n"
+"%s.\n"
+
+#: gcov.c:361
+#, c-format
+msgid "gcov (GCC) %s\n"
+msgstr "gcov (GCC) %s\n"
+
+#: gcov.c:362
+msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2001 Free Software Foundation, Inc.\n"
+
+#: gcov.c:500
+#, c-format
+msgid "Could not open basic block file %s.\n"
+msgstr "Kunne ikke åbne basisblokfilen %s.\n"
-#: config/a29k/a29k.h:114
-#, fuzzy
-msgid "Work around storem hardware bug"
-msgstr "Brug ikke hardware-kommatal"
+#: gcov.c:507
+#, c-format
+msgid "Could not open program flow graph file %s.\n"
+msgstr "Kunne ikke åbne programstrømsgraffilen %s.\n"
-#: config/a29k/a29k.h:115
-#, fuzzy
-msgid "Do not work around storem hardware bug"
-msgstr "Brug ikke hardware-kommatal"
+#: gcov.c:524
+#, c-format
+msgid "Could not open data file %s.\n"
+msgstr "Kunne ikke åbne datafilen %s.\n"
-#: config/a29k/a29k.h:116
-#, fuzzy
-msgid "Store locals in argument registers"
-msgstr "Kontrollér tildelingsordenen for heltalsregistrene"
+#: gcov.c:525
+msgid "Assuming that all execution counts are zero.\n"
+msgstr "Antager at alle kørselstællere er nul.\n"
-#: config/a29k/a29k.h:117
-#, fuzzy
-msgid "Do not store locals in arg registers"
-msgstr "Returnér ikke værdier fra funktioner i fpu-registre"
+#: gcov.c:534
+#, c-format
+msgid "No executable code associated with file %s.\n"
+msgstr "Ingen kørbar kode associeret med filen %s.\n"
-#: config/a29k/a29k.h:118 config/i960/i960.h:284 config/mips/mips.h:375
-msgid "Use software floating point"
+#: gcov.c:1186
+#, c-format
+msgid "%s of %d lines executed in %s %s\n"
+msgstr "%s af %d linjer udført i %s %s\n"
+
+#: gcov.c:1191
+#, c-format
+msgid "No executable lines in %s %s\n"
+msgstr "Ingen kørbare linjer i %s %s\n"
+
+#: gcov.c:1198
+#, c-format
+msgid "%s of %d branches executed in %s %s\n"
+msgstr "%s af %d forgreninger udført i %s %s\n"
+
+#: gcov.c:1203
+#, c-format
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr "%s af %d forgreninger valgt mindst én gang i %s %s\n"
+
+#: gcov.c:1209
+#, c-format
+msgid "No branches in %s %s\n"
+msgstr "Ingen forgreninger i %s %s\n"
+
+#: gcov.c:1211
+#, c-format
+msgid "%s of %d calls executed in %s %s\n"
+msgstr "%s af %d kald udført i %s %s\n"
+
+#: gcov.c:1216
+#, c-format
+msgid "No calls in %s %s\n"
+msgstr "Ingen kald i %s %s\n"
+
+#: gcov.c:1351
+#, c-format
+msgid "didn't use all bb entries of graph, function %s\n"
+msgstr "brugte ikke alle grafens basisblokelementer, funktion %s\n"
+
+#: gcov.c:1353
+#, c-format
+msgid "block_num = %ld, num_blocks = %d\n"
+msgstr "block_num = %ld, num_blocks = %d\n"
+
+#: gcov.c:1367
+#, c-format
+msgid "ERROR: unexpected line number %ld\n"
+msgstr "Fejl: uventet linjenummer %ld\n"
+
+#: gcov.c:1383
+#, c-format
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "Fejl: for mange basisblokke i funktionen %s\n"
+
+#: gcov.c:1398
+#, c-format
+msgid "ERROR: out of range line number in function %s\n"
+msgstr "Fejl: linjenummer uden for det gyldige interval i funktionen %s\n"
+
+#: gcov.c:1470
+#, c-format
+msgid "Could not open source file %s.\n"
+msgstr "Kunne ikke åbne kildefilen %s.\n"
+
+#: gcov.c:1480
+#, c-format
+msgid "Warning: source file %s is newer than %s\n"
+msgstr "Advarsel: kildefil %s er nyere end %s\n"
+
+#: gcov.c:1510
+#, c-format
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr "Stødt på slutningen af kildefilen %s tidligere end forventet.\n"
+
+#: gcov.c:1532
+#, c-format
+msgid "call %2d never executed\n"
+msgstr "kald %2d aldrig udført\n"
+
+#: gcov.c:1535
+#, c-format
+msgid "call %2d returns %s\n"
+msgstr "kald %2d returnerer %s\n"
+
+#: gcov.c:1543
+#, c-format
+msgid "branch %2d never executed\n"
+msgstr "forgrening %2d aldrig udført\n"
+
+#: gcov.c:1546
+#, c-format
+msgid "branch %2d taken %s\n"
+msgstr "forgrening %2d valgt %s\n"
+
+#: gcov.c:1610
+#, c-format
+msgid "Creating %s.\n"
+msgstr "Opretter %s.\n"
+
+#: gcov.c:1613
+#, c-format
+msgid "Error writing output file %s.\n"
+msgstr "Fejl ved skrivning af uddatafilen %s.\n"
+
+#: gcov.c:1618
+#, c-format
+msgid "Could not open output file %s.\n"
+msgstr "Kunne ikke åbne uddatafilen %s.\n"
+
+#: gcse.c:763
+#, c-format
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgstr "GCSE deaktiveret: %d > 1000 basisblokke og %d >= 20 kanter/basisblok"
+
+#: gcse.c:775
+#, c-format
+msgid "GCSE disabled: %d basic blocks and %d registers"
+msgstr "GCSE deaktiveret: %d basisblokke og %d registre"
+
+#: genautomata.c:1490
+#, c-format
+msgid "Name `%s' contains quotes"
+msgstr "Navnet '%s' indeholder citationstegn"
+
+#: genautomata.c:1621
+#, c-format
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr "ugyldig streng '%s' i define_cpu_unit"
+
+#: genautomata.c:1650
+#, c-format
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr "ugyldig streng '%s' i define_query_cpu_unit"
+
+#: genautomata.c:1682 genautomata.c:1685
+#, c-format
+msgid "invalid string `%s' in define_bypass"
+msgstr "ugyldig streng '%s' i define_bypass"
+
+#: genautomata.c:1720
+#, c-format
+msgid "invalid first string `%s' in exclusion_set"
+msgstr "ugyldig første streng '%s' i exclusion_set"
+
+#: genautomata.c:1724
+#, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr "ugyldig anden streng '%s' i exclusion_set"
+
+#: genautomata.c:1760
+#, c-format
+msgid "invalid first string `%s' in presence_set"
+msgstr "ugyldig første streng '%s' i presence_set"
+
+#: genautomata.c:1764
+#, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr "ugyldig anden streng '%s' i presence_set"
+
+#: genautomata.c:1800
+#, c-format
+msgid "invalid first string `%s' in absence_set"
+msgstr "ugyldig første streng '%s' i absence_set"
+
+#: genautomata.c:1804
+#, c-format
+msgid "invalid second string `%s' in absence_set"
+msgstr "ugyldig anden streng '%s' i absence_set"
+
+#: genautomata.c:1837
+#, c-format
+msgid "invalid string `%s' in define_automaton"
+msgstr "ugyldig streng '%s' i define_automaton"
+
+#: genautomata.c:1868
+#, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "ugyldigt tilvalg '%s' i automata_option"
+
+#: genautomata.c:1890
+#, c-format
+msgid "garbage after ) in reservation `%s'"
+msgstr "ragelse efter ) i reservering '%s'"
+
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "ugyldig '%s' i reservering '%s'"
+
+#: genautomata.c:1932
+#, c-format
+msgid "repetition `%s' <= 1 in reservation `%s'"
+msgstr "gentagelse '%s' <= 1 i reservering '%s'"
+
+#: genautomata.c:2425
+#, c-format
+msgid "unit `%s' in exclusion is not declared"
+msgstr "enhed '%s' i ekskludering er ikke erklæret"
+
+#: genautomata.c:2427
+#, c-format
+msgid "`%s' in exclusion is not unit"
+msgstr "'%s' i ekskludering er ikke enhed"
+
+#: genautomata.c:2465
+#, c-format
+msgid "unit `%s' excludes itself"
+msgstr "enheden '%s' ekskluderer sig selv"
+
+#: genautomata.c:2473
+#, c-format
+msgid "units `%s' and `%s' in exclusion set belong to different automata"
+msgstr "enhederne '%s' og '%s' i ekskluderingsmængde tilhører forskellige automater"
+
+#: genautomata.c:2603 genautomata.c:2609
+#, c-format
+msgid "unit `%s' excludes and requires presence of `%s'"
+msgstr "enheden '%s' ekskluderer og kræver tilstedeværelse af '%s'"
+
+#: genautomata.c:2623 genautomata.c:2629
+#, c-format
+msgid "unit `%s' requires absence and presence of `%s'"
+msgstr "enheden '%s' kræver tilstedeværelse og fravær af '%s'"
+
+#: genautomata.c:2692 genautomata.c:2695
+#, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "gentaget erklæring af automaten '%s'"
+
+#: genautomata.c:2711
+#, c-format
+msgid "define_insn_reservation `%s' has negative latency time"
+msgstr "define_insn_reservation '%s' har negativ ventetid"
+
+#: genautomata.c:2717
+#, c-format
+msgid "`%s' is already used as insn reservation name"
+msgstr "`%s' bliver allerede benyttet som instruktionsreserveringsnavn"
+
+#: genautomata.c:2723
+#, c-format
+msgid "define_bypass `%s - %s' has negative latency time"
+msgstr "define_bypass '%s - %s' har negativ ventetid"
+
+#: genautomata.c:2737
+#, c-format
+msgid "automaton `%s' is not declared"
+msgstr "automaten '%s' er ikke erklæret"
+
+#: genautomata.c:2747
+#, c-format
+msgid "define_unit `%s' without automaton when one defined"
+msgstr "define_unit '%s' uden automat når en er defineret"
+
+#: genautomata.c:2753
+#, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "'%s' er erklæret som CPU-enhed"
+
+#: genautomata.c:2762
+#, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "'%s' er erklæret som CPU-reservering"
+
+#: genautomata.c:2772
+#, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "gentaget erklæring af enheden '%s'"
+
+#: genautomata.c:2775
+#, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "gentaget erklæring af reserveringen '%s'"
+
+#: genautomata.c:2790 genautomata.c:2793
+#, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "der er ingen instruktionsreservering '%s'"
+
+#: genautomata.c:2810 genautomata.c:2815
+#, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr "den samme videreledning '%s - %s' er allerede defineret"
+
+#: genautomata.c:2820
+#, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "videreledning '%s - %s' er allerede defineret"
+
+#: genautomata.c:2925 genautomata.c:2927
+#, c-format
+msgid "automaton `%s' is not used"
+msgstr "automat '%s' bliver ikke benyttet"
+
+#: genautomata.c:2950
+#, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr "ikke-erklæret enhed eller reservering '%s'"
+
+#: genautomata.c:3028 genautomata.c:3030
+#, c-format
+msgid "unit `%s' is not used"
+msgstr "enhed '%s' bliver ikke benyttet"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, c-format
+msgid "reservation `%s' is not used"
+msgstr "reservering '%s' bliver ikke benyttet"
+
+#: genautomata.c:3134
+#, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "cyklus i definering af reservering '%s'"
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr "Enhederne '%s' og '%s' skal være i den samme automat"
+
+#: genautomata.c:9441
+msgid "-split has no argument."
+msgstr "-split uden parametre"
+
+#: genautomata.c:9442
+msgid "option `-split' has not been implemented yet\n"
+msgstr "tilvalget '-split' understøttes ikke endnu\n"
+
+#: genautomata.c:9486 genautomata.c:9491
+#, c-format
+msgid "Automaton `%s': Insn `%s' will never be issued"
+msgstr "Automat '%s': instruktion '%s' vil aldrig blive udført"
+
+#: genautomata.c:9498 genautomata.c:9501
+#, c-format
+msgid "Insn `%s' will never be issued"
+msgstr "Instruktion '%s' vil aldrig blive udført"
+
+#: genautomata.c:9649
+msgid "Errors in DFA description"
+msgstr "Fejl i DFA-beskrivelse"
+
+#: genautomata.c:9732
+#, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "Fejl ved skrivning af DFA-beskrivelsesfil %s"
+
+#: genconditions.c:196
+msgid "No input file name."
+msgstr "Intet inddatafilnavn."
+
+#: graph.c:420 profile.c:1204 profile.c:1211 toplev.c:1836 toplev.c:5136
+#: f/com.c:14210 java/jcf-parse.c:917 java/jcf-parse.c:1063 java/lex.c:1776
+#: objc/objc-act.c:449
+#, c-format
+msgid "can't open %s"
+msgstr "kan ikke åbne %s"
+
+#: haifa-sched.c:196
+#, c-format
+msgid "fix_sched_param: unknown param: %s"
+msgstr "fix_sched_param: ukendt parameter: %s"
+
+#: integrate.c:174
+msgid "function cannot be inline"
+msgstr "funktion kan ikke indbygges"
+
+#: integrate.c:178
+msgid "varargs function cannot be inline"
+msgstr "funktion med variabel parameterliste kan ikke indbygges"
+
+#: integrate.c:181
+msgid "function using alloca cannot be inline"
+msgstr "funktion der bruger alloca, kan ikke indbygges"
+
+#: integrate.c:184
+msgid "function using setjmp cannot be inline"
+msgstr "funktion der bruger setjmp, kan ikke indbygges"
+
+#: integrate.c:187
+msgid "function uses __builtin_eh_return"
+msgstr "funktionen bruger __builtin_eh_return"
+
+#: integrate.c:190
+msgid "function with nested functions cannot be inline"
+msgstr "funktion med indlejrede funktioner kan ikke indbygges"
+
+#: integrate.c:194
+msgid "function with label addresses used in initializers cannot inline"
+msgstr "funktion hvor etiketadresser benyttes i klargøringer, kan ikke indbygges"
+
+#: integrate.c:201 integrate.c:245
+msgid "function too large to be inline"
+msgstr "funktionen er for stor til at blive indbygget"
+
+#: integrate.c:211
+msgid "no prototype, and parameter address used; cannot be inline"
+msgstr "ingen prototype, og parameteradressen benyttes; kan ikke indbygges"
+
+#: integrate.c:218 integrate.c:263
+msgid "inline functions not supported for this return value type"
+msgstr "integrerede funktioner understøttes ikke for denne returværditype"
+
+#: integrate.c:223
+msgid "function with varying-size return value cannot be inline"
+msgstr "funktioner med returværdier af varierende størrelse kan ikke indbygges"
+
+#: integrate.c:230
+msgid "function with varying-size parameter cannot be inline"
+msgstr "funktioner med parametre af varierende størrelse kan ikke indbygges"
+
+#: integrate.c:233
+msgid "function with transparent unit parameter cannot be inline"
+msgstr "funktioner med gennemsigtig union-parameter kan ikke indbygges"
+
+#: integrate.c:252
+msgid "function with computed jump cannot inline"
+msgstr "funktioner med beregnede spring kan ikke indbygges"
+
+#: integrate.c:256
+msgid "function with nonlocal goto cannot be inline"
+msgstr "funktioner med ikke-lokale goto'er kan ikke indbygges"
+
+#: integrate.c:270
+msgid "function with target specific attribute(s) cannot be inlined"
+msgstr "funktioner med målspecifikke egenskaber kan ikke indbygges"
+
+#: line-map.c:198
+#, c-format
+msgid "In file included from %s:%u"
+msgstr "I filen inkluderet af %s:%u"
+
+#. Translators note: this message is used in conjunction
+#. with "In file included from %s:%ld" and some other
+#. tricks. We want something like this:
+#.
+#. | In file included from sys/select.h:123,
+#. | from sys/types.h:234,
+#. | from userfile.c:31:
+#. | bits/select.h:45: <error message here>
+#.
+#. with all the "from"s lined up.
+#. The trailing comma is at the beginning of this message,
+#. and the trailing colon is not translated.
+#: line-map.c:216
+#, c-format
+msgid ""
+",\n"
+" from %s:%u"
msgstr ""
+",\n"
+" af %s:%u"
-#: config/a29k/a29k.h:119
-#, fuzzy
-msgid "Do not generate multm instructions"
-msgstr "Generér ikke sin, cos, sqrt til fpu"
+#. If we didn't find this parameter, issue an error message.
+#: params.c:80
+#, c-format
+msgid "invalid parameter `%s'"
+msgstr "ugyldig parameter '%s'"
+
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr "Profil passer ikke til flowgraph af funktionen %s (forældet?)"
+
+#: profile.c:400
+msgid ".da file corrupted"
+msgstr ".da-fil ødelagt"
+
+# 'prob' står for sandsynlighed
+#: profile.c:634
+#, c-format
+msgid "corrupted profile info: prob for %d-%d thought to be %d"
+msgstr "ødelagte profilinfo: sandsynlighed for %d-%d menes at være %d"
+
+#: profile.c:1226
+#, c-format
+msgid "file %s not found, execution counts assumed to be zero"
+msgstr "filen %s ikke fundet, antager at kørselstællere er nul"
+
+#: protoize.c:542
+#, c-format
+msgid "%s: internal abort\n"
+msgstr "%s: intern afbrydelse\n"
+
+#: protoize.c:633
+#, c-format
+msgid "%s: error writing file `%s': %s\n"
+msgstr "%s: fejl ved skrivning til filen '%s': %s\n"
+
+#: protoize.c:678
+#, c-format
+msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+msgstr "%s: brug '%s [ -VqfnkN ] [ -i <istreng> ] [ filenavn ... ]'\n"
+
+#: protoize.c:681
+#, c-format
+msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+msgstr "%s: brug '%s [ -VqfnkNlgC ] [ -B <katalognavn> ] [ filnavn ... ]'\n"
+
+#: protoize.c:788
+#, c-format
+msgid "%s: warning: no read access for file `%s'\n"
+msgstr "%s: advarsel: ingen læseadgang til filen '%s'\n"
+
+#: protoize.c:796
+#, c-format
+msgid "%s: warning: no write access for file `%s'\n"
+msgstr "%s: advarsel: ingen skriveadgang til filen '%s'\n"
+
+#: protoize.c:804
+#, c-format
+msgid "%s: warning: no write access for dir containing `%s'\n"
+msgstr "%s: advarsel: ingen skriveadgang til kataloget der indeholder '%s'\n"
+
+#. Catch cases like /.. where we try to backup to a
+#. point above the absolute root of the logical file
+#. system.
+#: protoize.c:1222
+#, c-format
+msgid "%s: invalid file name: %s\n"
+msgstr "%s: ugyldigt filnavn: %s\n"
+
+#: protoize.c:1374
+#, c-format
+msgid "%s: %s: can't get status: %s\n"
+msgstr "%s: %s: kan ikke finde ud af filens status: %s\n"
+
+#: protoize.c:1395
+#, c-format
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
+msgstr ""
+"\n"
+"%s: fatal fejl: hjælpeinformationsfilen er beskadiget ved linje %d\n"
+
+#: protoize.c:1731
+#, c-format
+msgid "%s:%d: declaration of function `%s' takes different forms\n"
+msgstr "%s:%d: erklæringen af funktionen '%s' antager forskellige former\n"
+
+#: protoize.c:1989
+#, c-format
+msgid "%s: compiling `%s'\n"
+msgstr "%s: oversætter '%s'\n"
+
+#: protoize.c:2012
+#, c-format
+msgid "%s: wait: %s\n"
+msgstr "%s: vent: %s\n"
+
+#: protoize.c:2017
+#, c-format
+msgid "%s: subprocess got fatal signal %d\n"
+msgstr "%s: underprocessen modtog fatalt signal %d\n"
+
+#: protoize.c:2025
+#, c-format
+msgid "%s: %s exited with status %d\n"
+msgstr "%s: %s afsluttede med status %d\n"
+
+#: protoize.c:2077
+#, c-format
+msgid "%s: warning: missing SYSCALLS file `%s'\n"
+msgstr "%s: advarsel: manglende SYSCALLS-fil '%s'\n"
+
+#: protoize.c:2086 protoize.c:2115
+#, c-format
+msgid "%s: can't read aux info file `%s': %s\n"
+msgstr "%s: kan ikke læse hjælpeinformationsfilen '%s': %s\n"
+
+#: protoize.c:2131 protoize.c:2159
+#, c-format
+msgid "%s: can't get status of aux info file `%s': %s\n"
+msgstr "%s: kan ikke få status for hjælpeinformationsfilen '%s': %s\n"
+
+#: protoize.c:2187
+#, c-format
+msgid "%s: can't open aux info file `%s' for reading: %s\n"
+msgstr "%s: kan ikke åbne hjælpeinformationsfilen '%s' til at læse fra: %s\n"
+
+#: protoize.c:2205
+#, c-format
+msgid "%s: error reading aux info file `%s': %s\n"
+msgstr "%s: fejl ved læsning af hjælpeinformationsfilen '%s': %s\n"
+
+#: protoize.c:2218
+#, c-format
+msgid "%s: error closing aux info file `%s': %s\n"
+msgstr "%s: fejl ved lukning af hjælpeinformationsfilen '%s': %s\n"
+
+#: protoize.c:2234
+#, c-format
+msgid "%s: can't delete aux info file `%s': %s\n"
+msgstr "%s: kan ikke slette hjælpeinformationsfilen '%s': %s\n"
+
+#: protoize.c:2316 protoize.c:4318
+#, c-format
+msgid "%s: can't delete file `%s': %s\n"
+msgstr "%s: kan ikke slette filen '%s': %s\n"
+
+#: protoize.c:2395
+#, c-format
+msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
+msgstr "%s: advarsel: kan ikke omdøbe filen '%s' til '%s': %s\n"
+
+#: protoize.c:2520
+#, c-format
+msgid "%s: conflicting extern definitions of '%s'\n"
+msgstr "%s: modstridende eksterne definitioner af '%s'\n"
+
+#: protoize.c:2524
+#, c-format
+msgid "%s: declarations of '%s' will not be converted\n"
+msgstr "%s: erklæringer af '%s' vil ikke blive omdannet\n"
+
+#: protoize.c:2526
+#, c-format
+msgid "%s: conflict list for '%s' follows:\n"
+msgstr "%s: modstridene for '%s' følger:\n"
+
+#: protoize.c:2559
+#, c-format
+msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
+msgstr "%s: advarsel: bruger parameterlisten fra %s(%d) til funktionen '%s'\n"
+
+#: protoize.c:2599
+#, c-format
+msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
+msgstr "%s: %d: '%s' benyttet, men mangler i SYSCALLS\n"
+
+#: protoize.c:2605
+#, c-format
+msgid "%s: %d: warning: no extern definition for `%s'\n"
+msgstr "%s: %d: advarsel: ingen ekstern definition af '%s'\n"
+
+#: protoize.c:2636
+#, c-format
+msgid "%s: warning: no static definition for `%s' in file `%s'\n"
+msgstr "%s: advarsel: ingen statisk definition af '%s' i filen '%s'\n"
+
+#: protoize.c:2642
+#, c-format
+msgid "%s: multiple static defs of `%s' in file `%s'\n"
+msgstr "%s: flere statiske definitioner af '%s' i filen '%s'\n"
+
+#: protoize.c:2815 protoize.c:2818
+#, c-format
+msgid "%s: %d: warning: source too confusing\n"
+msgstr "%s: %d: advarsel: koden er for forvirrende\n"
+
+#: protoize.c:3024
+#, c-format
+msgid "%s: %d: warning: varargs function declaration not converted\n"
+msgstr "%s: %d: advarsel: funktionserklæring med variabel parameterliste er ikke omdannet\n"
+
+#: protoize.c:3039
+#, c-format
+msgid "%s: declaration of function `%s' not converted\n"
+msgstr "%s: erklæringen af funktionen '%s' er ikke omdannet\n"
+
+#: protoize.c:3162
+#, c-format
+msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
+msgstr "%s: advarsel: for mange parameterlister i erklæringen af '%s'\n"
+
+#: protoize.c:3183
+#, c-format
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
+msgstr ""
+"\n"
+"%s: advarsel: for få parameterlister i erklæringen af '%s'\n"
+
+#: protoize.c:3281
+#, c-format
+msgid "%s: %d: warning: found `%s' but expected `%s'\n"
+msgstr "%s: %d: advarsel: fandt '%s', men forventede '%s'\n"
+
+#: protoize.c:3459
+#, c-format
+msgid "%s: local declaration for function `%s' not inserted\n"
+msgstr "%s: den lokale erklæring af funktionen '%s' er ikke indsat\n"
+
+#: protoize.c:3486
+#, c-format
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
+msgstr ""
+"\n"
+"%s: %d: advarsel: kan ikke tilføje erklæringen af '%s' i makrokald\n"
+
+#: protoize.c:3560
+#, c-format
+msgid "%s: global declarations for file `%s' not inserted\n"
+msgstr "%s: globale erklæringer for filen '%s' er ikke indsat\n"
+
+#: protoize.c:3651 protoize.c:3681
+#, c-format
+msgid "%s: definition of function `%s' not converted\n"
+msgstr "%s: definitionen af funktionen '%s' er ikke omdannet\n"
+
+#: protoize.c:3670
+#, c-format
+msgid "%s: %d: warning: definition of %s not converted\n"
+msgstr "%s: %d: advarsel: definitionen af '%s' er ikke omdannet\n"
+
+#: protoize.c:4000
+#, c-format
+msgid "%s: found definition of `%s' at %s(%d)\n"
+msgstr "%s: fandt definitionen af '%s' ved %s(%d)\n"
+
+#. If we make it here, then we did not know about this
+#. function definition.
+#: protoize.c:4016
+#, c-format
+msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
+msgstr "%s: %d: advarsel: '%s' ekskluderet af forbehandlingen\n"
+
+#: protoize.c:4019
+#, c-format
+msgid "%s: function definition not converted\n"
+msgstr "%s: funktionsdefinitionen er ikke omdannet\n"
+
+#: protoize.c:4078
+#, c-format
+msgid "%s: `%s' not converted\n"
+msgstr "%s: '%s' ikke omdannet\n"
+
+#: protoize.c:4086
+#, c-format
+msgid "%s: would convert file `%s'\n"
+msgstr "%s: ville omdanne filen '%s'\n"
+
+#: protoize.c:4089
+#, c-format
+msgid "%s: converting file `%s'\n"
+msgstr "%s: omdanner filen '%s'\n"
+
+#: protoize.c:4099
+#, c-format
+msgid "%s: can't get status for file `%s': %s\n"
+msgstr "%s: kan ikke få status for filen '%s': %s\n"
+
+#: protoize.c:4141
+#, c-format
+msgid "%s: can't open file `%s' for reading: %s\n"
+msgstr "%s: kan ikke åbne filen '%s' til at læse fra: %s\n"
+
+#: protoize.c:4156
+#, c-format
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
+msgstr ""
+"\n"
+"%s: fejl ved læsning af inddatafilen '%s': %s\n"
+
+#: protoize.c:4190
+#, c-format
+msgid "%s: can't create/open clean file `%s': %s\n"
+msgstr "%s: kan ikke oprette/åbne oprydningsfilen '%s': %s\n"
+
+#: protoize.c:4295
+#, c-format
+msgid "%s: warning: file `%s' already saved in `%s'\n"
+msgstr "%s: advarsel: filen '%s' er allerede gemt i '%s'\n"
+
+#: protoize.c:4303
+#, c-format
+msgid "%s: can't link file `%s' to `%s': %s\n"
+msgstr "%s: kan ikke kæde filen '%s' sammen med '%s': %s\n"
+
+#: protoize.c:4333
+#, c-format
+msgid "%s: can't create/open output file `%s': %s\n"
+msgstr "%s: kan ikke oprette/åbne uddatafilen '%s': %s\n"
+
+#: protoize.c:4366
+#, c-format
+msgid "%s: can't change mode of file `%s': %s\n"
+msgstr "%s: kan ikke ændre tilstanden af filen '%s': '%s'\n"
+
+#: protoize.c:4541
+#, c-format
+msgid "%s: cannot get working directory: %s\n"
+msgstr "%s: kan ikke få fat i arbejdskataloget: %s\n"
+
+#: protoize.c:4639
+#, c-format
+msgid "%s: input file names must have .c suffixes: %s\n"
+msgstr "%s: inddatafilnavn skal have '.c'-endelser: %s\n"
+
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr "Kunne ikke finde en farvning.\n"
+
+#: reg-stack.c:670
+#, c-format
+msgid "output constraint %d must specify a single register"
+msgstr "uddatabegrænsning %d skal angive et enkelt register"
+
+#: reg-stack.c:680
+#, c-format
+msgid "output constraint %d cannot be specified together with \"%s\" clobber"
+msgstr "uddatabegrænsning %d kan ikke angives samtidig med overskrivning af \"%s\""
+
+#: reg-stack.c:703
+msgid "output regs must be grouped at top of stack"
+msgstr "uddataregistre skal grupperes i toppen af stakken"
+
+#: reg-stack.c:740
+msgid "implicitly popped regs must be grouped at top of stack"
+msgstr "implicit aflæste registre skal grupperes i toppen af stakken"
+
+#: reg-stack.c:759
+#, c-format
+msgid "output operand %d must use `&' constraint"
+msgstr "uddataoperand %d skal bruge begrænsningen '&'"
+
+#: regclass.c:756
+#, c-format
+msgid "can't use '%s' as a %s register"
+msgstr "kan ikke bruge '%s' som et %s-register"
+
+#: regclass.c:771 config/ia64/ia64.c:4265 config/ia64/ia64.c:4272
+#, c-format
+msgid "unknown register name: %s"
+msgstr "ukendt registernavn: %s"
+
+#: regclass.c:782
+msgid "global register variable follows a function definition"
+msgstr "en global registervariabel følger en funktionsdefinition"
+
+#: regclass.c:786
+msgid "register used for two global register variables"
+msgstr "register brugt til to globale registervariabler"
+
+#: regclass.c:791
+msgid "call-clobbered register used for global register variable"
+msgstr "kaldeoverskrevet register brugt til global registervariabel"
+
+#: regrename.c:1899
+#, c-format
+msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+msgstr "validate_value_data: [%u] Ugyldig next_regno til tom kæde (%u)"
+
+#: regrename.c:1911
+#, c-format
+msgid "validate_value_data: Loop in regno chain (%u)"
+msgstr "validate_value_data: Løkke i registertalskæde (%u)"
+
+#: regrename.c:1914
+#, c-format
+msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
+msgstr "validate_value_data: [%u] Ugyldig oldest_regno (%u)"
+
+#: regrename.c:1926
+#, c-format
+msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+msgstr "validate_value_data: [%u] Ikke-tomt register i kæde (%s %u %i)"
+
+#: reload.c:1229
+msgid "cannot reload integer constant operand in `asm'"
+msgstr "kan ikke genindlæse heltalskonstantoperand i 'asm'"
+
+#: reload.c:1251
+msgid "impossible register constraint in `asm'"
+msgstr "umulig registerbegrænsing i 'asm'"
+
+#: reload.c:3461
+msgid "`&' constraint used with no register class"
+msgstr "'&'-begrænsning brugt uden registerklasse"
+
+#: reload.c:3629
+msgid "unable to generate reloads for:"
+msgstr "kunne ikke generere genindlæsninger for:"
+
+#: reload.c:3630 reload.c:3844
+msgid "inconsistent operand constraints in an `asm'"
+msgstr "inkonsistente operandbegræsninger i 'asm'"
+
+#: reload1.c:1250
+msgid "frame size too large for reliable stack checking"
+msgstr "rammestørrelse for stor til pålidelig stakkontrol"
+
+#: reload1.c:1253
+msgid "try reducing the number of local variables"
+msgstr "forsøg at reducere antallet af lokale variable"
+
+#: reload1.c:1909
+#, c-format
+msgid "can't find a register in class `%s' while reloading `asm'"
+msgstr "kan ikke finde et register i klassen '%s' ved genindlæsning af 'asm'"
+
+#: reload1.c:1913
+#, c-format
+msgid "unable to find a register to spill in class `%s'"
+msgstr "kan ikke finde et register at bortødsle i klassen '%s'"
+
+#: reload1.c:1915
+msgid "this is the insn:"
+msgstr "dette er instruktionen:"
+
+#: reload1.c:3938
+msgid "`asm' operand requires impossible reload"
+msgstr "'asm'-operand kræver umulig genindlæsning"
+
+#. It's the compiler's fault.
+#: reload1.c:5052
+msgid "could not find a spill register"
+msgstr "kunne ikke finde et register at bortødsle"
+
+#: reload1.c:5057
+msgid "`asm' operand constraint incompatible with operand size"
+msgstr "'asm'-operandbegrænsning ikke forenelig med operandstørrelse"
+
+#. It's the compiler's fault.
+#: reload1.c:6677
+msgid "VOIDmode on an output"
+msgstr "VOID-tilstand ved uddata"
+
+#: reload1.c:6678
+msgid "output operand is constant in `asm'"
+msgstr "uddataoperand er konstant i 'asm'"
+
+#: rtl-error.c:140
+msgid "unrecognizable insn:"
+msgstr "ukendt instruktion:"
+
+#: rtl-error.c:142
+msgid "insn does not satisfy its constraints:"
+msgstr "instruktion tilfredsstiller ikke sine begrænsninger:"
+
+#: rtl.c:535
+#, c-format
+msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
+msgstr "RTL-kontrol: tilgang til udtrykstræ %d fra '%s' med sidste udtrykstræ %d i %s, ved %s:%d"
+
+#: rtl.c:550
+#, c-format
+msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+msgstr "RTL-kontrol: forventede udtrykstræ %d type '%c', har '%c' (registeroverførselsudtryk %s) i %s, ved %s:%d"
+
+#: rtl.c:566
+#, c-format
+msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
+msgstr "RTL-kontrol: forventede udtrykstræ %d type '%c' eller '%c', har '%c' (registeroverførselsudtryk %s) i %s, ved %s:%d"
+
+#: rtl.c:579
+#, c-format
+msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
+msgstr "RTL-kontrol: forventede koden '%s', har '%s' i %s, ved %s:%d"
+
+#: rtl.c:593
+#, c-format
+msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
+msgstr "RTL-kontrol: forventede koden '%s' eller '%s', har '%s' i %s, ved %s:%d"
+
+#: rtl.c:608
+#, c-format
+msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+msgstr "RTL-kontrol: tilgang til udtrykstræ %d af vektor hvis sidste udtrykstræ er %d i %s, ved %s:%d"
+
+#: rtl.c:623
+#, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr "RTL-flagskontrol: %s benyttet med uventet rtx-kode '%s' i %s, ved %s:%d"
+
+#: stmt.c:766
+#, c-format
+msgid "jump to `%s' invalidly jumps into binding contour"
+msgstr "spring til '%s' rammer på ugyldig vis ind i bindingskontur"
+
+#: stmt.c:1002 stmt.c:3766
+#, c-format
+msgid "label `%s' used before containing binding contour"
+msgstr "etiket '%s' brugt før indholdende bindingskontur"
+
+#: stmt.c:1190
+msgid "output operand constraint lacks `='"
+msgstr "uddataoperandbegrænsning mangler '='"
+
+#: stmt.c:1205
+#, c-format
+msgid "output constraint `%c' for operand %d is not at the beginning"
+msgstr "uddatabegrænsning '%c' for operanden %d er ikke ved begyndelsen"
+
+#: stmt.c:1227
+msgid "operand constraint contains incorrectly positioned '+' or '='"
+msgstr "operandbegrænsning indeholder forkert placeret '+' eller '='"
+
+#: stmt.c:1233 stmt.c:1337
+#, c-format
+msgid "`%%' constraint used with last operand"
+msgstr "'%%'-begrænsning brugt med sidste operand"
+
+#: stmt.c:1252
+msgid "matching constraint not valid in output operand"
+msgstr "begrænsningen er ikke gyldig for uddataoperanden"
+
+#: stmt.c:1328
+#, c-format
+msgid "input operand constraint contains `%c'"
+msgstr "inddataoperandbegrænsningen indeholder '%c'"
+
+#: stmt.c:1368
+msgid "matching constraint references invalid operand number"
+msgstr "begrænsning refererer til et ugyldigt operandtal"
+
+#: stmt.c:1400
+#, c-format
+msgid "invalid punctuation `%c' in constraint"
+msgstr "ugyldig punktuering '%c' i begrænsning"
+
+#: stmt.c:1450
+#, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "asm-anvisning for variablen '%s' strider mod asm-overskrivelsesliste"
+
+#: stmt.c:1540
+#, c-format
+msgid "unknown register name `%s' in `asm'"
+msgstr "ukendt registernavn '%s' i 'asm'"
+
+#: stmt.c:1588
+#, c-format
+msgid "more than %d operands in `asm'"
+msgstr "mere end %d operander i 'asm'"
+
+#: stmt.c:1650
+#, c-format
+msgid "output number %d not directly addressable"
+msgstr "uddata nr. %d kan ikke adresseres direkte"
+
+#. ??? Leave this only until we have experience with what
+#. happens in combine and elsewhere when constraints are
+#. not satisfied.
+#: stmt.c:1726 stmt.c:1758
+#, c-format
+msgid "asm operand %d probably doesn't match constraints"
+msgstr "'asm'-operand %d passer sandsynligvis ikke til begrænsninger"
+
+#: stmt.c:1889
+msgid "asm clobber conflict with output operand"
+msgstr "asm-overskrivelse er i modstrid med uddataoperander"
+
+#: stmt.c:1894
+msgid "asm clobber conflict with input operand"
+msgstr "asm-overskrivelse er i modstrid med inddataoperander"
+
+#: stmt.c:1929
+msgid "too many alternatives in `asm'"
+msgstr "for mange alternativer i 'asm'"
+
+#: stmt.c:1941
+msgid "operand constraints for `asm' differ in number of alternatives"
+msgstr "operandbegrænsninger til 'asm' har forskellige antal alternativer"
+
+#: stmt.c:1994
+#, c-format
+msgid "duplicate asm operand name '%s'"
+msgstr "'asm'-operandnavnet '%s' optræder mere end én gang"
+
+#: stmt.c:2081
+msgid "missing close brace for named operand"
+msgstr "manglende afsluttende krøllet parantes til navngiven operand"
+
+#: stmt.c:2109
+#, c-format
+msgid "undefined named operand '%s'"
+msgstr "ikkedefineret navngiven operand '%s'"
+
+#: stmt.c:3703
+#, c-format
+msgid "unused variable `%s'"
+msgstr "ubrugt variabel '%s'"
+
+#: stmt.c:5189
+#, c-format
+msgid "enumeration value `%s' not handled in switch"
+msgstr "enum-værdien '%s' håndteres ikke i switch-sætning"
+
+#: stmt.c:5214 stmt.c:5234
+#, c-format
+msgid "case value `%ld' not in enumerated type"
+msgstr "case-værdien '%ld' eksisterer ikke i enum-type"
+
+#: stmt.c:5217 stmt.c:5237
+#, c-format
+msgid "case value `%ld' not in enumerated type `%s'"
+msgstr "case-værdien '%ld' eksisterer ikke i enum-typen '%s'"
+
+#: stmt.c:5310
+msgid "switch missing default case"
+msgstr "switch-konstruktion mangler default"
+
+#: stor-layout.c:178
+msgid "type size can't be explicitly evaluated"
+msgstr "det er ikke muligt eksplicit at finde typens størrelse"
+
+#: stor-layout.c:180
+msgid "variable-size type declared outside of any function"
+msgstr "en type med en variabel størrelse er erklæret uden for en funktion"
+
+#: stor-layout.c:487
+#, c-format
+msgid "size of `%s' is %d bytes"
+msgstr "størrelsen af '%s' er %d byte"
+
+#: stor-layout.c:489
+#, c-format
+msgid "size of `%s' is larger than %d bytes"
+msgstr "størrelsen af '%s' er større end %d byte"
+
+#: stor-layout.c:906 stor-layout.c:1322
+#, c-format
+msgid "packed attribute causes inefficient alignment for `%s'"
+msgstr "packed-egenskab forårsager ineffektiv justering af '%s'"
+
+#: stor-layout.c:908 stor-layout.c:1324
+#, c-format
+msgid "packed attribute is unnecessary for `%s'"
+msgstr "packed-egenskab er unødvendig for '%s'"
+
+#: stor-layout.c:923
+#, c-format
+msgid "padding struct to align `%s'"
+msgstr "udfylder struct for at justere '%s'"
+
+#: stor-layout.c:1286
+msgid "padding struct size to alignment boundary"
+msgstr "udfylder struct-størrelse til justeringskant"
+
+#: stor-layout.c:1329
+msgid "packed attribute causes inefficient alignment"
+msgstr "packed-egenskab forårsager ineffektiv justering"
+
+#: stor-layout.c:1331
+msgid "packed attribute is unnecessary"
+msgstr "packed-egenskab er unødvendig"
+
+#: timevar.c:322
+#, c-format
+msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+msgstr "kan ikke udføre timevar_pop '%s' når toppen af timevars-stakken er '%s'"
+
+#: timevar.c:453
+msgid ""
+"\n"
+"Execution times (seconds)\n"
+msgstr ""
+"\n"
+"Udførselstid (sekunder)\n"
+
+#. Print total time.
+#: timevar.c:503
+msgid " TOTAL :"
+msgstr " TOTAL :"
+
+#: timevar.c:539
+#, c-format
+msgid "time in %s: %ld.%06ld (%ld%%)\n"
+msgstr "tid i %s: %ld.%06ld (%ld%%)\n"
+
+#: tlink.c:399
+#, c-format
+msgid "collect: reading %s\n"
+msgstr "collect: læser %s\n"
+
+#: tlink.c:502
+#, c-format
+msgid "collect: recompiling %s\n"
+msgstr "collect: genoversætter '%s'\n"
+
+# RETMIG: rigtigt?
+#: tlink.c:674
+#, c-format
+msgid "collect: tweaking %s in %s\n"
+msgstr "collect: presser %s i %s\n"
+
+#: tlink.c:721
+msgid "collect: relinking\n"
+msgstr "collect: kæder sammen igen\n"
+
+#: tlink.c:730
+#, c-format
+msgid "ld returned %d exit status"
+msgstr "ld returnerede afslutningskoden %d"
+
+#: toplev.c:920
+msgid "Generate debugging info in default format"
+msgstr "Generér fejlfindingsinfo i standardformat"
+
+#: toplev.c:921
+msgid "Generate debugging info in default extended format"
+msgstr "Generér fejlfindingsinfo i udvidet standardformat"
+
+#: toplev.c:923
+msgid "Generate STABS format debug info"
+msgstr "Generér fejlfindingsinfo i STABS-format"
+
+#: toplev.c:924
+msgid "Generate extended STABS format debug info"
+msgstr "Generér fejlfindingsinfo i udvidet STABS-format"
+
+#: toplev.c:927
+msgid "Generate DWARF-1 format debug info"
+msgstr "Generér fejlfindingsinfo i DWARF-1-format"
+
+#: toplev.c:929
+msgid "Generate extended DWARF-1 format debug info"
+msgstr "Generér fejlfindingsinfo i udvidet DWARF-1-format"
+
+#: toplev.c:932
+msgid "Generate DWARF-2 debug info"
+msgstr "Generér fejlfindingsinfo i DWARF-2-format"
+
+#: toplev.c:935
+msgid "Generate XCOFF format debug info"
+msgstr "Generér fejlfindingsinfo i XCOFF-format"
+
+#: toplev.c:936
+msgid "Generate extended XCOFF format debug info"
+msgstr "Generér fejlfindingsinfo i udvidet XCOFF-format"
+
+#: toplev.c:939
+msgid "Generate COFF format debug info"
+msgstr "Generér fejlfindingsinfo i COFF-format"
+
+#: toplev.c:942
+msgid "Generate VMS format debug info"
+msgstr "Generér fejlfindingsinfo i VMS-format"
+
+#: toplev.c:981
+msgid "Perform DWARF2 duplicate elimination"
+msgstr "Udfør DWARF2-eliminering af dubletter"
+
+#: toplev.c:983
+msgid "Do not store floats in registers"
+msgstr "Lagr ikke kommatal i registre"
+
+#: toplev.c:985
+msgid "Consider all mem refs through pointers as volatile"
+msgstr "Betragt alle hukommelsesferencer gennem henvisninger som volatile"
+
+#: toplev.c:987
+msgid "Consider all mem refs to global data to be volatile"
+msgstr "Betragt alle hukommelsesferencer til globale data som volatile"
+
+#: toplev.c:989
+msgid "Consider all mem refs to static data to be volatile"
+msgstr "Betragt alle hukommelsesferencer til statiske data som volatile"
+
+#: toplev.c:991
+msgid "Defer popping functions args from stack until later"
+msgstr "Vent med fjernelse af funktionsparametre fra stakken til senere"
+
+#: toplev.c:993
+msgid "When possible do not generate stack frames"
+msgstr "Generér ikke stakrammer når det kan undgås"
+
+#: toplev.c:995
+msgid "Optimize sibling and tail recursive calls"
+msgstr "Optimér søskende- og halerekursive kald"
+
+#: toplev.c:997
+msgid "Perform superblock formation via tail duplication"
+msgstr "Udfør superbloksformering vha. haleduplikering"
+
+# RETMIG: hvad er CSE?
+#: toplev.c:999
+msgid "When running CSE, follow jumps to their targets"
+msgstr "Ved kørsel af CSE følg spring til deres mål"
+
+#: toplev.c:1001
+msgid "When running CSE, follow conditional jumps"
+msgstr "Ved kørsel af CSE følg betingede spring"
+
+#: toplev.c:1003
+msgid "Perform a number of minor, expensive optimizations"
+msgstr "Udfør et antal mindre, dyre optimeringer"
+
+#: toplev.c:1005
+msgid "Perform jump threading optimizations"
+msgstr "Udfør springtrådningsoptimeringer"
+
+#: toplev.c:1007
+msgid "Perform strength reduction optimizations"
+msgstr "Udfør styrkereduceringsoptimeringer"
+
+#: toplev.c:1009
+msgid "Perform loop unrolling when iteration count is known"
+msgstr "Udfør løkkeudrulning når iterationsantallet er kendt"
+
+#: toplev.c:1011
+msgid "Perform loop unrolling for all loops"
+msgstr "Udfør løkkeudrulning for alle løkker"
+
+#: toplev.c:1013
+msgid "Generate prefetch instructions, if available, for arrays in loops"
+msgstr "Generér præhentningsinstruktioner, hvis tilgængelige, for tabeller i løkker"
+
+#: toplev.c:1015
+msgid "Force all loop invariant computations out of loops"
+msgstr "Tving alle løkkeinvariansberegninger ud af løkker"
+
+#: toplev.c:1017
+msgid "Strength reduce all loop general induction variables"
+msgstr "Styrkereducér alle generelle løkkeinduktionsvariabler"
+
+#: toplev.c:1019
+msgid "Store strings in writable data section"
+msgstr "Gem strenge i en skrivbar datasektion"
+
+#: toplev.c:1021
+msgid "Enable machine specific peephole optimizations"
+msgstr "Aktivér maskinspecifikke kighulsoptimeringer"
+
+#: toplev.c:1023
+msgid "Copy memory operands into registers before using"
+msgstr "Kopiér hukommelsesoperander ind i registre før brug"
+
+#: toplev.c:1025
+msgid "Copy memory address constants into regs before using"
+msgstr "Kopiér hukommelsesadressekonstanter ind i registre før brug"
+
+#: toplev.c:1027
+msgid "Allow function addresses to be held in registers"
+msgstr "Tillad funktionsadresser at blive opbevaret i registre"
+
+#: toplev.c:1029
+msgid "Integrate simple functions into their callers"
+msgstr "Integrér simple funktioner i deres kaldere"
+
+#: toplev.c:1031
+msgid "Generate code for funcs even if they are fully inlined"
+msgstr "Generér kode for funktioner selv hvis de indlejres helt"
+
+#: toplev.c:1033
+msgid "Pay attention to the 'inline' keyword"
+msgstr "Læg mærke til 'inline'-nøgleordet"
+
+#: toplev.c:1035
+msgid "Emit static const variables even if they are not used"
+msgstr "Konstruér statiske, konstante variabler selv hvis de ikke bruges"
+
+#: toplev.c:1037
+msgid "Check for syntax errors, then stop"
+msgstr "Kontrollér syntaks og stop derefter"
+
+#: toplev.c:1039
+msgid "Mark data as shared rather than private"
+msgstr "Markér data som delt snarere end privat"
+
+#: toplev.c:1041
+msgid "Enable saving registers around function calls"
+msgstr "Aktivér gemning af registrer omkring funktionskald"
+
+#: toplev.c:1043
+msgid "Return 'short' aggregates in memory, not registers"
+msgstr "Returnér små sammensatte værdier i hukommelsen, ikke i registre"
+
+#: toplev.c:1045
+msgid "Return 'short' aggregates in registers"
+msgstr "Returnér små sammensatte værdier i registre"
+
+#: toplev.c:1047
+msgid "Attempt to fill delay slots of branch instructions"
+msgstr "Forsøg at udfylde ventepladser med forgreningsinstruktioner"
+
+#: toplev.c:1049
+msgid "Perform the global common subexpression elimination"
+msgstr "Udfør global eliminering af fælles underudtryk"
+
+#: toplev.c:1051
+msgid "Perform enhanced load motion during global subexpression elimination"
+msgstr "Udfør forbedret indlæsningsbevægelse under eliminering af fælles underudtryk"
+
+#: toplev.c:1053
+msgid "Perform store motion after global subexpression elimination"
+msgstr "Udfør lagringsbevægelse efter eliminering af fælles underudtryk"
+
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr "Udfør løkkeoptimeringerne"
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr "Udfør krydsspringsoptimering"
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
+msgstr "Udfør konvertering af betingede spring til forgreningsløse ækvivalenter"
+
+#: toplev.c:1061
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr "Udfør konvertering af betingede spring til betinget udførsel"
+
+#: toplev.c:1063
+msgid "Run CSE pass after loop optimizations"
+msgstr "Kør CSE-fase efter løkkeoptimeringer"
+
+#: toplev.c:1065
+msgid "Run the loop optimizer twice"
+msgstr "Kør løkkeoptimeringen to gange"
+
+#: toplev.c:1067
+msgid "Delete useless null pointer checks"
+msgstr "Fjern ubrugelige nul-henvisningstjek"
+
+#: toplev.c:1069
+msgid "Reschedule instructions before register allocation"
+msgstr "Omplanlæg instruktioner før registerallokering"
+
+#: toplev.c:1071
+msgid "Reschedule instructions after register allocation"
+msgstr "Omplanlæg instruktioner efter registerallokering"
+
+#: toplev.c:1073
+msgid "Enable scheduling across basic blocks"
+msgstr "Aktivér planlægning over basisblokke"
+
+#: toplev.c:1075
+msgid "Allow speculative motion of non-loads"
+msgstr "Tillad spekulativ bevægelse af ikke-indlæsninger"
+
+#: toplev.c:1077
+msgid "Allow speculative motion of some loads"
+msgstr "Tillad spekulativ bevægelse af nogle indlæsninger"
+
+#: toplev.c:1079
+msgid "Allow speculative motion of more loads"
+msgstr "Tillad spekulativ bevægelse af flere indlæsninger"
+
+# RETMIG: rigtig?
+#: toplev.c:1081
+msgid "Replace add,compare,branch with branch on count reg"
+msgstr "Erstat tilføj,sammenlign,forgrening med forgrening på tælleregister"
+
+#: toplev.c:1083
+msgid "Generate position independent code, if possible"
+msgstr "Generér placeringsuafhængig kode, om muligt"
+
+#: toplev.c:1086
+msgid "Enable exception handling"
+msgstr "Aktivér undtagelseshåndtering"
+
+#: toplev.c:1088
+msgid "Just generate unwind tables for exception handling"
+msgstr "Generér blot afvindingstabeller for undtagelseshåndtering"
+
+#: toplev.c:1090
+msgid "Generate unwind tables exact at each instruction boundary"
+msgstr "Generér afvindingstabeller eksakt for hver instruktionsgrænse"
+
+#: toplev.c:1092
+msgid "Support synchronous non-call exceptions"
+msgstr "Understøt synkrone ikke-kaldende undtagelser"
+
+#: toplev.c:1094
+msgid "Insert arc based program profiling code"
+msgstr "Indsæt buebaseret programprofileringskode"
+
+#: toplev.c:1096
+msgid "Create data files needed by gcov"
+msgstr "Opret datafiler som gcov har brug for"
+
+#: toplev.c:1098
+msgid "Use profiling information for branch probabilities"
+msgstr "Benyt profileringsoplysninger til forgreningssandsynligheder"
+
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr "Aktivér basal programprofileringskode"
+
+#: toplev.c:1102
+msgid "Reorder basic blocks to improve code placement"
+msgstr "Omordn basisblokke for at forbedre kodeplacering"
+
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr "Omordn funktioner for at forbedre kodeplacering"
+
+#: toplev.c:1106
+msgid "Do the register renaming optimization pass"
+msgstr "Foretag registeromdøbningsoptimering"
+
+#: toplev.c:1108
+msgid "Do the register copy-propagation optimization pass"
+msgstr "Foretag registerkopipropageringsoptimering"
+
+#: toplev.c:1110
+msgid "Do not put uninitialized globals in the common section"
+msgstr "Anbring ikke uklargjorte globale variabler i den fælles sektion"
+
+#: toplev.c:1112
+msgid "Do not generate .size directives"
+msgstr "Generér ikke .size-direktiver"
+
+#: toplev.c:1114
+msgid "place each function into its own section"
+msgstr "placér hver funktion i dens egen sektion"
+
+#: toplev.c:1116
+msgid "place data items into their own section"
+msgstr "placér dataelementer i deres egen sektion"
+
+#: toplev.c:1118
+msgid "Add extra commentary to assembler output"
+msgstr "Tilføj ekstra kommentarer til menneskeligt læsbar maskinkodeuddata"
+
+#: toplev.c:1120
+msgid "Output GNU ld formatted global initializers"
+msgstr "Udskriv GNU ld-formaterede globale startværdier"
+
+#: toplev.c:1122
+msgid "Enables a register move optimization"
+msgstr "Aktivér en registerflytningsoptimering"
+
+#: toplev.c:1124
+msgid "Do the full regmove optimization pass"
+msgstr "Foretag en komplet registerflytningsoptimering"
+
+#: toplev.c:1126
+msgid "Pack structure members together without holes"
+msgstr "Pak strukturmedlemmer sammen uden mellemrum"
+
+#: toplev.c:1128
+msgid "Insert stack checking code into the program"
+msgstr "Indsæt stakkontrolleringskode i programmet"
+
+#: toplev.c:1130
+msgid "Specify that arguments may alias each other & globals"
+msgstr "Angiv at parametre kan være aliaser for hinanden og for globale variable"
+
+#: toplev.c:1132
+msgid "Assume arguments may alias globals but not each other"
+msgstr "Antag at parametre kan være aliaser for globale variable, men ikke for hinanden"
+
+#: toplev.c:1134
+msgid "Assume arguments do not alias each other or globals"
+msgstr "Antag at parametre ikke er aliaser for hinanden eller for globale variable"
+
+#: toplev.c:1136
+msgid "Assume strict aliasing rules apply"
+msgstr "Antag at strenge aliasregler skal anvendes"
+
+#: toplev.c:1138
+msgid "Align the start of loops"
+msgstr "Justér begyndelsen af løkker"
+
+#: toplev.c:1140
+msgid "Align labels which are only reached by jumping"
+msgstr "Justér etiketter som kun nås ved spring"
+
+#: toplev.c:1142
+msgid "Align all labels"
+msgstr "Justér alle etiketter"
+
+#: toplev.c:1144
+msgid "Align the start of functions"
+msgstr "Justér begyndelsen af funktioner"
+
+#: toplev.c:1146
+msgid "Attempt to merge identical constants across compilation units"
+msgstr "Forsøg at forene identiske konstanter over forskellige oversættelsesenheder"
+
+#: toplev.c:1148
+msgid "Attempt to merge identical constants and constant variables"
+msgstr "Forsøg at forene identiske konstanter og konstante variabler"
+
+#: toplev.c:1150
+msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
+msgstr "Undtryk udskrift af instruktionstal og linjenummernoter i fejlfindingsdump"
+
+#: toplev.c:1152
+msgid "Instrument function entry/exit with profiling calls"
+msgstr "Instrumentér funktionsindgange/-afslutninger med profileringskald"
+
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr "Anbring nul-klargjorte data i bss-sektionen"
+
+#: toplev.c:1156
+msgid "Enable SSA optimizations"
+msgstr "Aktivér SSA-optimeringer"
+
+#: toplev.c:1158
+msgid "Enable SSA conditional constant propagation"
+msgstr "Aktivér betinget konstant SSA-propagering"
+
+#: toplev.c:1160
+msgid "Enable aggressive SSA dead code elimination"
+msgstr "Aktivér aggressiv SSA-eliminering af ubrugt kode"
+
+#: toplev.c:1162
+msgid "External symbols have a leading underscore"
+msgstr "Eksterne symboler har indledende understreg"
+
+#: toplev.c:1164
+msgid "Process #ident directives"
+msgstr "Behandl #ident-direktiver"
+
+#: toplev.c:1166
+msgid "Enables an rtl peephole pass run before sched2"
+msgstr "Aktivér en RTL-kikhulsfase før sched2"
+
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr "Antag at ingen NaN eller +-Inf bliver genereret"
+
+#: toplev.c:1170
+msgid "Enables guessing of branch probabilities"
+msgstr "Aktivér gæt af forgreningssandsynligheder"
+
+#: toplev.c:1172
+msgid "Set errno after built-in math functions"
+msgstr "Sæt errno efter indbyggede matematikfunktioner"
+
+#: toplev.c:1174
+msgid "Floating-point operations can trap"
+msgstr "Kommatalsoperationer kan fange"
+
+#: toplev.c:1176
+msgid "Allow math optimizations that may violate IEEE or ANSI standards"
+msgstr "Tillad matematikoptimeringer der kan overtræde IEEE- eller ANSI-standarderne"
+
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
+msgstr "Deaktivér optimeringer som kan opdages ved IEEE-signalerende NaN'er"
+
+#: toplev.c:1180
+msgid "Generate code to check bounds before indexing arrays"
+msgstr "Generér kode til at kontrollere grænserne før tabeller indekseres"
+
+#: toplev.c:1182
+msgid "Convert floating point constant to single precision constant"
+msgstr "Konvertér kommatalskonstanter til enkeltpræcisionskonstanter"
+
+#: toplev.c:1184
+msgid "Report time taken by each compiler pass at end of run"
+msgstr "Rapportér den tid det tager for hver oversættelsesfase ved afslutningen af kørslen"
+
+#: toplev.c:1186
+msgid "Report on permanent memory allocation at end of run"
+msgstr "Rapportér om permanente hukommelsesallokering ved afslutningen af kørslen"
+
+#: toplev.c:1188
+msgid "Trap for signed overflow in addition / subtraction / multiplication"
+msgstr "Opsæt fælde for overløb med fortegn i addition/subtraktion/multiplikation"
+
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
+msgstr "Allokér registre vha. graffarvning"
+
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
+msgstr "Oversæt kun til ISO C90"
+
+#: toplev.c:1209
+msgid "Determine language standard"
+msgstr "Bestem sprogstandarden"
+
+#: toplev.c:1213
+msgid "Make bit-fields by unsigned by default"
+msgstr "Lad bitfelter være uden fortegn som standard"
+
+#: toplev.c:1217
+msgid "Make 'char' be signed by default"
+msgstr "Lad 'char' være med fortegn som standard"
+
+#: toplev.c:1219
+msgid "Make 'char' be unsigned by default"
+msgstr "Lad 'char' være uden fortegn som standard"
+
+#: toplev.c:1225
+msgid "Do not recognize the 'asm' keyword"
+msgstr "Genkend ikke det reserverede ord 'asm'"
+
+#: toplev.c:1228
+msgid "Do not recognize any built in functions"
+msgstr "Genkend ikke nogen indbyggede funktioner"
+
+#: toplev.c:1230
+msgid "Assume normal C execution environment"
+msgstr "Antag normalt C-kørselsmiljø"
+
+#: toplev.c:1233
+msgid "Assume that standard libraries & main might not exist"
+msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer"
+
+#: toplev.c:1236
+msgid "Allow different types as args of ? operator"
+msgstr "Tillad forskellige typer som parametre til ?-operatoren"
+
+#: toplev.c:1239
+msgid "Allow the use of $ inside identifiers"
+msgstr "Tillad brug af $ inden i kaldenavne"
+
+#: toplev.c:1244
+msgid "Use the same size for double as for float"
+msgstr "Benyt den samme størrelse til double som til float"
+
+#: toplev.c:1247
+msgid "Use the smallest fitting integer to hold enums"
+msgstr "Benyt den mindst mulige størrelse heltal til enum-værdier"
+
+#: toplev.c:1250
+msgid "Override the underlying type for wchar_t to `unsigned short'"
+msgstr "Overskriv den underliggende type af wchar_t til 'unsigned short'"
+
+#: toplev.c:1254
+msgid "Enable most warning messages"
+msgstr "Aktivér de fleste advarselsbeskeder"
+
+#: toplev.c:1256
+msgid "Warn about casting functions to incompatible types"
+msgstr "Advar om omtvingning af funktioner til ikke-kompatible typer"
+
+#: toplev.c:1259
+msgid "Warn about functions which might be candidates for format attributes"
+msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber"
+
+#: toplev.c:1262
+msgid "Warn about casts which discard qualifiers"
+msgstr "Advar om typeomtvingninger som forkaster modifikationer"
+
+#: toplev.c:1265
+msgid "Warn about subscripts whose type is 'char'"
+msgstr "Advar som tabelindeksering hvis type er 'char'"
+
+#: toplev.c:1268 toplev.c:1271
+msgid "Warn if nested comments are detected"
+msgstr "Advar hvis indlejrede kommentarer mødes"
+
+#: toplev.c:1274
+msgid "Warn about possibly confusing type conversions"
+msgstr "Advar om typekonverteringer der kan være forvirrende"
+
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
+msgstr "Advar ikke om heltalsdivision på oversættelsestidspunktet med nul"
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr "Advar om lighedssammenligninger mellem kommatal"
+
+#: toplev.c:1283
+msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+msgstr "Advar om printf/scanf/strftime/strfmon-formateringsanormaliteter"
+
+#: toplev.c:1287
+msgid "Don't warn about too many arguments to format functions"
+msgstr "Advar ikke om for mange parametre til formateringsfunktioner"
+
+#: toplev.c:1289
+msgid "Warn about non-string-literal format strings"
+msgstr "Advar om formateringsstrenge der ikke er strengkonstanter"
+
+#: toplev.c:1292
+msgid "Warn about possible security problems with format functions"
+msgstr "Advar om mulige sikkerhedsproblemer i forbindelse med formateringsfunktioner"
+
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr "Advar ikke om strftime-formateringer med 2-cifres år"
+
+#: toplev.c:1298
+msgid "Warn about implicit function declarations"
+msgstr "Advar om underforståede funktionserklæringer"
+
+#: toplev.c:1302
+msgid "Warn when a declaration does not specify a type"
+msgstr "Advar når en erklæring ikke angiver en type"
+
+#: toplev.c:1307
+msgid "Warn about the use of the #import directive"
+msgstr "Advar om brug af #import-direktivet"
+
+#: toplev.c:1311
+msgid "Do not warn about using 'long long' when -pedantic"
+msgstr "Advar ikke om brug af 'long long' når -pedantic benyttes"
+
+#: toplev.c:1313
+msgid "Warn about suspicious declarations of main"
+msgstr "Advar om mistænkelige erklæringer af main"
+
+#: toplev.c:1316
+msgid "Warn about possibly missing braces around initializers"
+msgstr "Advar om mulige manglende krøllede paranteser omkring startværdier"
+
+#: toplev.c:1319
+msgid "Warn about global funcs without previous declarations"
+msgstr "Advar om globale funktioner uden tidligere erklæringer"
+
+#: toplev.c:1322
+msgid "Warn about global funcs without prototypes"
+msgstr "Advar om globale funktioner uden prototyper"
+
+#: toplev.c:1325
+msgid "Warn about use of multicharacter literals"
+msgstr "Advar om brug af multitegnskonstanter"
+
+#: toplev.c:1328
+msgid "Warn about externs not at file scope level"
+msgstr "Advar om extern-erklæringer som ikke er ved filvirkefeltsniveauet"
+
+#: toplev.c:1331
+msgid "Warn about possible missing parentheses"
+msgstr "Advar om mulige manglende paranteser"
+
+#: toplev.c:1334
+msgid "Warn about function pointer arithmetic"
+msgstr "Advar om beregninger på funktionshenvisninger"
+
+#: toplev.c:1337
+msgid "Warn about multiple declarations of the same object"
+msgstr "Advar om flere erklæring af det samme objekt"
+
+#: toplev.c:1340
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "Advar når en funktions returtype antages at være int"
+
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr "Advar om mulige brud på sekvenspunktreglerne"
+
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr "Advar om sammenligninger mellem typer med og uden fortegn"
+
+#: toplev.c:1349
+msgid "Warn about non-prototyped function decls"
+msgstr "Advar om funktionserklæringer uden prototype"
+
+#: toplev.c:1352
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr "Advar om konstruktioner hvis betydning er ændret i ISO C"
+
+#: toplev.c:1355
+msgid "Warn when trigraphs are encountered"
+msgstr "Advar når trigrafer mødes"
+
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr "Advar om ukendte pragmaer"
+
+#: toplev.c:1363
+msgid "Mark strings as 'const char *'"
+msgstr "Markér strenge som 'const char *'"
+
+#: toplev.c:1508
+msgid "Warn when a function is unused"
+msgstr "Advar når en funktion ikke benyttes"
+
+#: toplev.c:1510
+msgid "Warn when a label is unused"
+msgstr "Advar når en etiket ikke benyttes"
+
+#: toplev.c:1512
+msgid "Warn when a function parameter is unused"
+msgstr "Advar når en funktionsparameter ikke benyttes"
+
+#: toplev.c:1514
+msgid "Warn when a variable is unused"
+msgstr "Advar når en variabel ikke benyttes"
+
+#: toplev.c:1516
+msgid "Warn when an expression value is unused"
+msgstr "Advar når værdien af et udtryk ikke benyttes"
+
+#: toplev.c:1518
+msgid "Do not suppress warnings from system headers"
+msgstr "Undertryk ikke advarsler fra systeminkluderingsfiler"
+
+#: toplev.c:1520
+msgid "Treat all warnings as errors"
+msgstr "Behandl alle advarsler som fejl"
+
+#: toplev.c:1522
+msgid "Warn when one local variable shadows another"
+msgstr "Advar når en lokal variabel skygger for en anden"
+
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr "Advar om switch-sætninger over enum-typer som mangler et tilfælde og ikke har default"
+
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
+msgstr "Advar om switch-sætninger over enum-typer som mangler default"
+
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr "Advar om alle switch-sætninger over enum-typer som mangler et bestemt tilfælde"
+
+#: toplev.c:1530
+msgid "Warn about returning structures, unions or arrays"
+msgstr "Advar om returnering af struct, union og tabeller"
+
+#: toplev.c:1532
+msgid "Warn about pointer casts which increase alignment"
+msgstr "Advar om typeomtvingning af henvisninger som forøger justeringen"
+
+#: toplev.c:1534
+msgid "Warn about code that will never be executed"
+msgstr "Advar om kode som aldrig bliver udført"
+
+#: toplev.c:1536
+msgid "Warn about uninitialized automatic variables"
+msgstr "Advar om ikke-klargjorte automatiske variabler"
+
+#: toplev.c:1538
+msgid "Warn when an inlined function cannot be inlined"
+msgstr "Advar når en inline funktion ikke kan indbygges"
+
+#: toplev.c:1540
+msgid "Warn when the packed attribute has no effect on struct layout"
+msgstr "Advar når packed-egenskaben ikke har nogen effekt på struct-layoutet"
+
+#: toplev.c:1542
+msgid "Warn when padding is required to align struct members"
+msgstr "Advar når udfyldning er påkrævet for at justere struct-medlemmer"
+
+#: toplev.c:1544
+msgid "Warn when an optimization pass is disabled"
+msgstr "Advar når en optimeringsfase deaktiveres"
+
+#: toplev.c:1546
+msgid "Warn about uses of __attribute__((deprecated)) declarations"
+msgstr "Advar om brug af __attribute__((deprecated))-erklæringer"
+
+#: toplev.c:1548
+msgid "Warn about functions which might be candidates for attribute noreturn"
+msgstr "Advar om funktioner som kan være kandidater til egenskaben noreturn"
+
+#: toplev.c:1550
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr "Advar om kode som kan bryde strenge aliasregler"
+
+#: toplev.c:1627 toplev.c:4522 config/rs6000/rs6000.c:680
+#, c-format
+msgid "invalid option `%s'"
+msgstr "ugyldigt tilvalg '%s'"
+
+#: toplev.c:2031
+#, c-format
+msgid "`%s' used but never defined"
+msgstr "'%s' brugt, men aldrig defineret"
+
+#: toplev.c:2034
+#, c-format
+msgid "`%s' declared `static' but never defined"
+msgstr "'%s' erklæret 'static', men aldrig defineret"
+
+#: toplev.c:2057
+#, c-format
+msgid "`%s' defined but not used"
+msgstr "'%s' defineret, men aldrig brugt"
+
+#: toplev.c:2280
+#, c-format
+msgid "invalid register name `%s' for register variable"
+msgstr "ugyldigt registernavn '%s' for registervariabel"
+
+#: toplev.c:3679
+msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
+msgstr " -ffixed-<register> Markér <register> som værende utilgængeligt for oversætteren\n"
+
+#: toplev.c:3680
+msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
+msgstr " -fcall-used-<register> Markér <register> som værende benyttet af funktionskald\n"
+
+#: toplev.c:3681
+msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
+msgstr " -fcall-saved-<register> Markér <register> som værende bevaret over funktioner\n"
+
+#: toplev.c:3682
+msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
+msgstr " -finline-limit=<str> Begræns størrelsen af inlie funktion til <str>\n"
+
+#: toplev.c:3683
+msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
+msgstr " -fmessage-length=<antal> Begræns længden af diagnosticeringmeddelelser til længden <antal> tegn/linje. 0 undertrykker linjeombrydning\n"
+
+#: toplev.c:3684
+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 " -fdiagnostics-show-location=[once | every-line] Indikerer hvor ofte kildeplaceringsoplysninger skal udsendes som præfiks til begyndelsen af meddelelserne ved linjeombrydning\n"
+
+#: toplev.c:3685
+msgid " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"
+msgstr " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indikerer den forvalgte tråd-lokale lagringsmodel for kodegenerering\n"
+
+#: toplev.c:3696
+msgid " -O[number] Set optimization level to [number]\n"
+msgstr " -O[tal] Sæt optimeringsniveauet til [tal]\n"
+
+#: toplev.c:3697
+msgid " -Os Optimize for space rather than speed\n"
+msgstr " -Os Optimér mht. plads i stedet for hastighed\n"
+
+#: toplev.c:3709
+msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
+msgstr " -pedantic Udsend advarsler som er nødvendige for streng overholdelse af ISO C\n"
+
+#: toplev.c:3710
+msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+msgstr " -pedantic-errors Som -pedantic bortset fra at problemer bliver til fejl\n"
+
+#: toplev.c:3711
+msgid " -w Suppress warnings\n"
+msgstr " -w Undertryk advarsler\n"
+
+#: toplev.c:3712
+msgid " -W Enable extra warnings\n"
+msgstr " -W Aktivér ekstra advarsler\n"
+
+#: toplev.c:3723
+msgid " -Wunused Enable unused warnings\n"
+msgstr " -Wunused Aktivér ubrugthedsadvarsler\n"
+
+#: toplev.c:3724
+msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
+msgstr " -Wlarger-than-<tal> Advar hvis et objekt er større end <tal> byte\n"
+
+#: toplev.c:3725
+msgid " -p Enable function profiling\n"
+msgstr " -p Aktivér funktionsprofilering\n"
+
+#: toplev.c:3726
+msgid " -o <file> Place output into <file> \n"
+msgstr " -o <fil> Anbring uddata i <fil>\n"
+
+#: toplev.c:3727
+msgid ""
+" -G <number> Put global and static data smaller than <number>\n"
+" bytes into a special section (on some targets)\n"
+msgstr " -G <str> Anbring globale og statiske data mindre end <tal> byte i en specialsektion (på nogle målarkitekturer)\n"
+
+#: toplev.c:3738
+msgid " -aux-info <file> Emit declaration info into <file>\n"
+msgstr " -aux-info <fil> Udskriv erklæringsoplysninger til <fil>\n"
+
+#: toplev.c:3739
+msgid " -quiet Do not display functions compiled or elapsed time\n"
+msgstr " -quiet Vis ikke funktioner der oversættes eller forløbet tid\n"
+
+#: toplev.c:3740
+msgid " -version Display the compiler's version\n"
+msgstr " -version Udskriv oversætterens version\n"
+
+#: toplev.c:3741
+msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
+msgstr " -d[bogstaver] Aktivér dump fra specifikke faser i oversætteren\n"
+
+#: toplev.c:3742
+msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
+msgstr " -dumpbase <fil> Basisnavn til brug for dump fra specifikke faser\n"
+
+#: toplev.c:3744
+msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
+msgstr " -fsched-verbose=<tal> Angiv hvor meget planlæggeren skal fortælle\n"
+
+#: toplev.c:3746
+msgid " --help Display this information\n"
+msgstr " --help Vis disse oplysninger\n"
+
+#: toplev.c:3761
+msgid ""
+"\n"
+"Language specific options:\n"
+msgstr ""
+"\n"
+"Sprogspecifikke tilvalg:\n"
+
+#: toplev.c:3773
+#, c-format
+msgid " %-23.23s [undocumented]\n"
+msgstr " %-23.23s [ikke dokumenteret]\n"
+
+# %s er et sprog
+#: toplev.c:3781 toplev.c:3795
+#, c-format
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
+msgstr ""
+"\n"
+"Der er også ikke-dokumenterede specifikke tilvalg til %s.\n"
+
+#: toplev.c:3785
+#, c-format
+msgid ""
+"\n"
+" Options for %s:\n"
+msgstr ""
+"\n"
+" Tilvalg til %s:\n"
+
+#: toplev.c:3822
+msgid ""
+"\n"
+"Target specific options:\n"
+msgstr ""
+"\n"
+"Målspecifikke tilvalg:\n"
+
+#: toplev.c:3836 toplev.c:3855
+#, c-format
+msgid " -m%-23.23s [undocumented]\n"
+msgstr " -m%-23.23s [ikke dokumenteret]\n"
+
+#: toplev.c:3864
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
+msgstr ""
+"\n"
+"Der er også ikke-dokumenterede målspecifikke tilvalg.\n"
+
+#: toplev.c:3866
+msgid " They exist, but they are not documented.\n"
+msgstr " De eksisterer, men er ikke dokumenteret.\n"
+
+#: toplev.c:3919
+#, c-format
+msgid "unrecognized gcc debugging option: %c"
+msgstr "ukendt GCC-fejlfindingstilvalg: %c"
+
+#: toplev.c:3985
+#, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "'%s': ukendt tls-model-tilvalg"
+
+#: toplev.c:4012
+#, c-format
+msgid "unrecognized register name `%s'"
+msgstr "ukendt registernavn '%s'"
+
+#: toplev.c:4037 toplev.c:4980
+#, c-format
+msgid "unrecognized option `%s'"
+msgstr "ukendt tilvalg '%s'"
+
+#: toplev.c:4081
+msgid "-Wid-clash-LEN is no longer supported"
+msgstr "-Wid-clash-LEN understøttes ikke længere"
+
+#: toplev.c:4158
+#, c-format
+msgid "use -gdwarf -g%d for DWARF v1, level %d"
+msgstr "benyt - gdwarf -g%d til DWARF v1, niveau %d"
+
+#: toplev.c:4161
+msgid "use -gdwarf-2 for DWARF v2"
+msgstr "benyt -gdwarf-2 til DWARF v2"
+
+#: toplev.c:4166
+#, c-format
+msgid "ignoring option `%s' due to invalid debug level specification"
+msgstr "ignorerer tilvalget '%s' på grund af ugyldig specifikation af fejlfindingsniveau"
+
+#: toplev.c:4189 toplev.c:4978
+#, c-format
+msgid "`%s': unknown or unsupported -g option"
+msgstr "'%s': ukendt eller ikke-understøttet '-g'-tilvalg"
+
+#: toplev.c:4196
+#, c-format
+msgid "`%s' ignored, conflicts with `-g%s'"
+msgstr "'%s' ignoreret, er i konflikt med '-g%s'"
+
+#: toplev.c:4278
+msgid "-param option missing argument"
+msgstr "'-param'-tilvalg mangler parameter"
+
+#: toplev.c:4287
+#, c-format
+msgid "invalid --param option: %s"
+msgstr "ugyldigt '--param'-tilvalg: %s"
-#: config/alpha/alpha.c:201
+#: toplev.c:4299
+#, c-format
+msgid "invalid parameter value `%s'"
+msgstr "ugyldig parameterværdi '%s'"
+
+#: toplev.c:4539
+#, c-format
+msgid ""
+"%s%s%s version %s (%s)\n"
+"%s\tcompiled by GNU C version %s.\n"
+"%s%s%s version %s (%s) compiled by CC.\n"
+msgstr ""
+"%s%s%s version %s (%s)\n"
+"%s\toversat af GNU C version %s.\n"
+"%s%s%s version %s (%s) oversat af CC.\n"
+
+#: toplev.c:4546
+#, c-format
+msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+msgstr "%s%sGGC-heuristikker: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+#: toplev.c:4598
+msgid "options passed: "
+msgstr "tilvalg overbragt: "
+
+#: toplev.c:4627
+msgid "options enabled: "
+msgstr "tilvalg slået til: "
+
+#: toplev.c:4686 java/jcf-write.c:3453
+#, c-format
+msgid "can't open %s for writing"
+msgstr "kan ikke åbne '%s' til skrivning"
+
+#: toplev.c:4970
+#, c-format
+msgid "ignoring command line option '%s'"
+msgstr "ignorerer kommandolinjetilvalget '%s'"
+
+#: toplev.c:4973
+#, c-format
+msgid "(it is valid for %s but not the selected language)"
+msgstr "(det er gyldigt for %s, men ikke for det valgte sprog)"
+
+#: toplev.c:5007
+msgid "-Wuninitialized is not supported without -O"
+msgstr "-Wuninitialized understøttes ikke uden -O"
+
+#: toplev.c:5062
+msgid "instruction scheduling not supported on this target machine"
+msgstr "instruktionsplanlægning understøttes ikke på målarkitekturen"
+
+#: toplev.c:5066
+msgid "this target machine does not have delayed branches"
+msgstr "målarkitekturen har ikke forsinkede forgreninger"
+
+#: toplev.c:5080
+#, c-format
+msgid "-f%sleading-underscore not supported on this target machine"
+msgstr "-f%sleading-underscore understøttes ikke på målarkitekturen"
+
+#: toplev.c:5143
+msgid "-ffunction-sections not supported for this target"
+msgstr "-ffunction-sections understøttes ikke på målarkitekturen"
+
+#: toplev.c:5148
+msgid "-fdata-sections not supported for this target"
+msgstr "-fdata-sections understøttes ikke på målarkitekturen"
+
+#: toplev.c:5155
+msgid "-ffunction-sections disabled; it makes profiling impossible"
+msgstr "-ffunction-sections deaktiveret; dette gør profilering umulig"
+
+#: toplev.c:5162
+msgid "-fprefetch-loop-arrays not supported for this target"
+msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen"
+
+#: toplev.c:5168
+msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen (prøv '-march'-tilvalgene)"
+
+#: toplev.c:5177
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr "-fprefetch-loop-arrays understøttes ikke med -Os"
+
+#: toplev.c:5183
+msgid "-ffunction-sections may affect debugging on some targets"
+msgstr "-ffunction-sections kan have indflydelse på fejlfinding på nogle målarkitekturer"
+
+#: toplev.c:5295
+#, c-format
+msgid "error writing to %s"
+msgstr "fejl ved skrivning til %s"
+
+#: toplev.c:5297 java/jcf-parse.c:936 java/jcf-write.c:3460
+#, c-format
+msgid "error closing %s"
+msgstr "fejl ved lukning af %s"
+
+#: tree-dump.c:702
+#, c-format
+msgid "could not open dump file `%s'"
+msgstr "kunne ikke åbne dumpningsfilen '%s'"
+
+#: tree-dump.c:778
+#, c-format
+msgid "ignoring unknown option `%.*s' in `-f%s'"
+msgstr "ignorerer ukendt tilvalg '%.*s' i '-f%s'"
+
+#: tree.c:3645
+msgid "arrays of functions are not meaningful"
+msgstr "en tabel af funktioner giver ikke mening"
+
+#: tree.c:3702
+msgid "function return type cannot be function"
+msgstr "en funktions returtype kan ikke være en funktion"
+
+#: tree.c:4545
+msgid "invalid initializer for bit string"
+msgstr "ugyldig startværdi til bitstreng"
+
+#: tree.c:4604
+#, c-format
+msgid "tree check: expected %s, have %s in %s, at %s:%d"
+msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d"
+
+#: tree.c:4621
+#, c-format
+msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
+msgstr "træ-kontrol: forventede klasse '%c', har '%c' (%s) i %s, ved %s:%d"
+
+#: tree.c:4638
+#, c-format
+msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+msgstr "RTL-kontrol: tilgik udtrykstræ %d af tree_vec med %d udtrykstræer i %s, ved %s:%d"
+
+#: varasm.c:455 config/i386/winnt.c:546
+#, c-format
+msgid "%s causes a section type conflict"
+msgstr "%s forårsager en sektionstypekonflikt"
+
+#: varasm.c:841
+#, c-format
+msgid "register name not specified for `%s'"
+msgstr "registernavn ikke angivet for '%s'"
+
+#: varasm.c:843
+#, c-format
+msgid "invalid register name for `%s'"
+msgstr "ugyldigt registernavn for '%s'"
+
+#: varasm.c:846
+#, c-format
+msgid "data type of `%s' isn't suitable for a register"
+msgstr "datatypen for '%s' passer ikke med et register"
+
+#: varasm.c:849
+#, c-format
+msgid "register specified for `%s' isn't suitable for data type"
+msgstr "registeret som er angivet for '%s' passer ikke med datatypen"
+
+#: varasm.c:858
+msgid "global register variable has initial value"
+msgstr "global registervariabel har en startværdi"
+
+#: varasm.c:861
+msgid "volatile register variables don't work as you might wish"
+msgstr "registervariable erklæret volatile virker ikke som du måske ønsker"
+
+#: varasm.c:894
+#, c-format
+msgid "register name given for non-register variable `%s'"
+msgstr "registernavn givet for ikke-registervariablen '%s'"
+
+#: varasm.c:1542
+#, c-format
+msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
+msgstr "justering af '%s' er større end den maksimale objektfilsjustering - bruger %d"
+
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
+msgstr "tråd-lokal COMMON-data er ikke implementeret"
+
+#: varasm.c:1610
+#, c-format
+msgid "requested alignment for %s is greater than implemented alignment of %d"
+msgstr "forespurgt justering for %s er større end den implementerede justering af %d"
+
+#: varasm.c:4023
+msgid "initializer for integer value is too complicated"
+msgstr "startværdien for heltallet er for kompliceret"
+
+#: varasm.c:4028
+msgid "initializer for floating value is not a floating constant"
+msgstr "startværdien for kommatal er ikke en kommatalskonstant"
+
+#: varasm.c:4078
+msgid "unknown set constructor type"
+msgstr "ukendt mængdekonstruktionstype"
+
+#: varasm.c:4292
+#, c-format
+msgid "invalid initial value for member `%s'"
+msgstr "ugyldig startværdi for medlemmet '%s'"
+
+#: varasm.c:4483 varasm.c:4526
+#, c-format
+msgid "weak declaration of `%s' must precede definition"
+msgstr "svag erklæring af '%s' skal komme før definitionen"
+
+#: varasm.c:4490
+#, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "svag erklæring af '%s' efter første brug resulterer i ikke-defineret opførsel"
+
+#: varasm.c:4524
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr "svag erklæring af '%s' skal være public"
+
+#: varasm.c:4533
+#, c-format
+msgid "weak declaration of `%s' not supported"
+msgstr "svag erklæring af '%s' ikke understøttet"
+
+#: varasm.c:4560 varasm.c:4635
+msgid "only weak aliases are supported in this configuration"
+msgstr "kun svage aliaser understøttes i denne konfiguration"
+
+#: varasm.c:4643
+msgid "alias definitions not supported in this configuration; ignored"
+msgstr "aliasdefinitioner er ikke understøttet i denne konfiguration; ignoreret"
+
+#: varasm.c:4674
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "synlighedsegenskab er ikke understøttet i denne konfiguration; ignoreret"
+
+#: varray.c:134
+#, c-format
+msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
+msgstr "virtuel tabel %s[%lu]: element %lu ude over grænserne i %s, ved %s:%d"
+
+#. Print an error message for unrecognized stab codes.
+#: xcoffout.c:175
+#, c-format
+msgid "no sclass for %s stab (0x%x)\n"
+msgstr "ingen sclass for %s stab (0x%x)\n"
+
+#: pretty-print.h:97
+#, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "#'%s' ikke understøttet af %s#"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eligible for inlining"
+msgstr "Det maksimale antal instruktioner i en enkelt funktion der må indbygges"
+
+#: params.def:65
+msgid "The maximum number of instructions when automatically inlining"
+msgstr "Det maksimale antal instruktioner ved automatisk indbygning"
+
+#: params.def:84
+msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+msgstr "Det maksimale antal instruktioner ved gentagen indbygning før GCC dæmper indbygningen"
+
+#: params.def:97
+msgid "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter"
+msgstr "Hældningen af den lineære funktion der dæmper indbygning efter at den rekursive indbygningsgrænse er nået, er givet ved den negative, reciprokke værdi af denne parameter"
+
+#: params.def:110
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+msgstr "Antallet af instruktioner i en enkelt funktion der stadig indbygges efter megen rekursiv indbygning"
+
+#: params.def:120
+msgid "The maximum number of instructions for the RTL inliner"
+msgstr "Det maksimale antal instruktioner til RTL-indbyggeren"
+
+#: params.def:131
+msgid "The maximum number of instructions to consider to fill a delay slot"
+msgstr "Det maksimale antal instruktioner det overvejes at udfylde ventepladser med"
+
+#: params.def:142
+msgid "The maximum number of instructions to consider to find accurate live register information"
+msgstr "Det maksimale antal instruktioner der overvejes under søgning efter præcis registerinfo"
+
+#: params.def:152
+msgid "The maximum length of scheduling's pending operations list"
+msgstr "Den maksimale længde af planlæggerens liste over ventende operationer"
+
+#: params.def:159
+msgid "The maximum amount of memory to be allocated by GCSE"
+msgstr "Den maksimale mængde hukommelse som skal allokeres af GCSE"
+
+#: params.def:164
+msgid "The maximum number of passes to make when doing GCSE"
+msgstr "Det maksimale antal faser der skal gennemgås ved udførsel af GCSE"
+
+#: params.def:171
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr "Det maksimale antal instruktioner der overvejes at udrulle i en løkke"
+
+#: params.def:176
+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 "Vælg den andel af det maksimale antal gentagelser af basisblokke i et program en given basisblok skal have for at blive betragtet som \"varm\""
+
+#: params.def:181
+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 "Vælg den andel af den maksimale frekvens af udførsler af basisblokke i et program en given basisblok skal have for at blive betragtet som \"varm\""
+
+#: params.def:186
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+msgstr "Den procendel af funktioner vægtet efter udførselsfrekvens som skal dækkes af sporingsformering; benyttes når profileringsfeedback er tilgængeligt"
+
+#: params.def:191
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+msgstr "Den procendel af funktioner vægtet efter udførselsfrekvens som skal dækkes af sporingsformering; benyttes når profileringsfeedback ikke er tilgængeligt"
+
+#: params.def:196
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr "Maksimal kodevækst forårsaget af haleduplikering (i procent)"
+
+#: params.def:200
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr "Stop omvendt vækst hvis den omvendte sandsynlighed for den bedste kant er mindre end denne tærskel (i procent)"
+
+#: params.def:205
+msgid "Stop forward growth if the probability of best edge is less than this threshold (in percents). Used when profile feedback is available"
+msgstr "Stop fremadrettet vækst hvis sandsynligheden for den bedste kant er mindre end denne tærskel (i procent); benyttes når profileringsfeedback er tilgængeligt"
+
+#: params.def:210
+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 "Stop fremadrettet vækst hvis sandsynligheden for den bedste kant er mindre end denne tærskel (i procent); benyttes når profileringsfeedback ikke er tilgængeligt"
+
+#: params.def:217
+msgid "The maximum number of incoming edges to consider for crossjumping"
+msgstr "Det maksimale antal indadgående kanter der overvejes til krydsspring"
+
+#: params.def:230
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr "Minimal heap-udvidelse for at udløse garbage collection, som en procentdel af den totale heap"
+
+#: params.def:236
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr "Minimal heap-størrelse før garbage collection startes, i kilobyte."
+
+#: config/darwin-c.c:75
+msgid "too many #pragma options align=reset"
+msgstr "for mange '#pragma options align=reset'"
+
+#: 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 "forkert udformet '#pragma options', ignorerer"
+
+#: config/darwin-c.c:107
+msgid "junk at end of '#pragma options'"
+msgstr "ragelse i slutningen af '#pragma options'"
+
+#: config/darwin-c.c:117
+msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+msgstr "forkert udformet '#pragma options align={mac68k|power|reset}', ignorerer"
+
+#: config/darwin-c.c:130
+msgid "missing '(' after '#pragma unused', ignoring"
+msgstr "manglende '(' efter '#pragma unused', ignorerer"
+
+#: config/darwin-c.c:148
+msgid "missing ')' after '#pragma unused', ignoring"
+msgstr "manglende ')' efter '#pragma unused', ignorerer"
+
+#: config/darwin-c.c:151
+msgid "junk at end of '#pragma unused'"
+msgstr "ragelse i slutningen af '#pragma unused'"
+
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
+msgid "-msystem-v and -p are incompatible"
+msgstr "-msystem-v og -p er indbyrdes uforenelige"
+
+#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102
+msgid "-msystem-v and -mthreads are incompatible"
+msgstr "-msystem-v og -mthreads er indbyrdes uforenelige"
+
+#: config/alpha/alpha.c:342
+#, c-format
+msgid "-f%s ignored for Unicos/Mk (not supported)"
+msgstr "-f%s ignoreret for Unicos/Mk (ikke understøttet)"
+
+#: config/alpha/alpha.c:366
+msgid "-mieee not supported on Unicos/Mk"
+msgstr "-mieee understøttes ikke på Unicos/Mk"
+
+#: config/alpha/alpha.c:377
+msgid "-mieee-with-inexact not supported on Unicos/Mk"
+msgstr "-mieee-with-inexact understøttes ikke på Unicos/Mk"
+
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
-msgstr "ugyldig værdi '%s' til '-mtrap-precision'-tilvalget"
+msgstr "ugyldig værdi '%s' til tilvalget -mtrap-precision"
-#: config/alpha/alpha.c:215
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
-msgstr "ugyldig værdi '%s' til '-mfp-rounding-mode'-tilvalget"
+msgstr "ugyldig værdi '%s' til tilvalget -mfp-rounding-mode"
-#: config/alpha/alpha.c:230
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
-msgstr "ugyldig værdi '%s' til '-mfp-trap-mode'-tilvalget"
+msgstr "ugyldig værdi '%s' til tilvalget -mfp-trap-mode"
+
+#: config/alpha/alpha.c:435
+#, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "ugyldig værdi '%s' til tilvalget -mtls-size"
-#: config/alpha/alpha.c:249 config/alpha/alpha.c:261
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
-msgstr "ugyldig værdi '%s' til '-mcpu'-tilvalget"
+msgstr "ugyldig værdi '%s' til tilvalget -mcpu"
+
+#: config/alpha/alpha.c:473
+msgid "trap mode not supported on Unicos/Mk"
+msgstr "fældetilstand understøttes ikke på Unicos/Mk"
-#: config/alpha/alpha.c:269
-#, fuzzy
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
-msgstr "Et '-ifile'-tilvalg påkræver et '-map'-tilvalg"
+msgstr "kommatalssoftwarefuldførelse kræver -mtrap-precision=i"
-#: config/alpha/alpha.c:285
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
-msgstr ""
+msgstr "afrundingstilstand er ikke understøttet for VAX-kommatal"
-#: config/alpha/alpha.c:290
-#, fuzzy
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+msgstr "fældetilstand er ikke understøttet for VAX-kommatal"
-#: config/alpha/alpha.c:319
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
-msgstr ""
+msgstr "L%d-mellemlagersventetid ukendt for %s"
-#: config/alpha/alpha.c:334
-#, fuzzy, c-format
+#: config/alpha/alpha.c:545
+#, c-format
msgid "bad value `%s' for -mmemory-latency"
-msgstr "ugyldig værdi (%s) til '-mmodel'-tilvalget"
+msgstr "ugyldig værdi '%s' for -mmemory-latency"
+
+#: config/alpha/alpha.c:5608 config/m88k/m88k.c:2889 config/romp/romp.c:754
+#: config/romp/romp.c:761
+#, c-format
+msgid "invalid %%H value"
+msgstr "ugyldig %%H-værdi"
+
+#: config/alpha/alpha.c:5629
+#, c-format
+msgid "invalid %%J value"
+msgstr "ugyldig %%J-værdi"
-#: config/alpha/alpha.c:3901 config/ia64/ia64.c:3368
+#: config/alpha/alpha.c:5645 config/ia64/ia64.c:3931 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "ugyldig %%r-værdi"
-#: config/alpha/alpha.c:3912 config/rs6000/rs6000.c:4088
+#: config/alpha/alpha.c:5655 config/rs6000/rs6000.c:7734
#, c-format
msgid "invalid %%R value"
msgstr "ugyldig %%R-værdi"
-#: config/alpha/alpha.c:3935 config/romp/romp.c:724 config/romp/romp.c:731
+#: config/alpha/alpha.c:5661 config/rs6000/rs6000.c:7660
+#, c-format
+msgid "invalid %%N value"
+msgstr "ugyldig %%N-værdi"
+
+#: config/alpha/alpha.c:5669 config/rs6000/rs6000.c:7688
+#, c-format
+msgid "invalid %%P value"
+msgstr "ugyldig %%P-værdi"
+
+#: config/alpha/alpha.c:5677 config/m88k/m88k.c:2895 config/romp/romp.c:740
+#: config/romp/romp.c:747
#, c-format
msgid "invalid %%h value"
msgstr "ugyldig %%h-værdi"
-#: config/alpha/alpha.c:4025
+#: config/alpha/alpha.c:5685 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "ugyldig %%L-værdi"
+
+#: config/alpha/alpha.c:5724 config/rs6000/rs6000.c:7642
+#, c-format
+msgid "invalid %%m value"
+msgstr "ugyldig %%m-værdi"
+
+#: config/alpha/alpha.c:5732 config/rs6000/rs6000.c:7650
+#, c-format
+msgid "invalid %%M value"
+msgstr "ugyldig %%M-værdi"
+
+#: config/alpha/alpha.c:5776
#, c-format
msgid "invalid %%U value"
msgstr "ugyldig %%U-værdi"
-#: config/alpha/alpha.c:4033 config/alpha/alpha.c:4044 config/romp/romp.c:690
-#: config/rs6000/rs6000.c:4096
+#: config/alpha/alpha.c:5788 config/alpha/alpha.c:5802 config/romp/romp.c:706
+#: config/rs6000/rs6000.c:7742
#, c-format
msgid "invalid %%s value"
msgstr "ugyldig %%s-værdi"
-#: config/alpha/alpha.c:4092 config/rs6000/rs6000.c:3806
+#: config/alpha/alpha.c:5825 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "ugyldig %%C-værdi"
+
+#: config/alpha/alpha.c:5862 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7499
#, c-format
msgid "invalid %%E value"
msgstr "ugyldig %%E-værdi"
-#: config/alpha/alpha.c:4113 config/romp/romp.c:965
-#: config/rs6000/rs6000.c:4388
+#: config/alpha/alpha.c:5887 config/alpha/alpha.c:5937
+msgid "unknown relocation unspec"
+msgstr "ukendt relokaliserings-unspec"
+
+#: config/alpha/alpha.c:5896 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8049
#, c-format
msgid "invalid %%xn code"
msgstr "ugyldig %%xn-kode"
+#: config/alpha/alpha.c:6622 config/alpha/alpha.c:6625 config/s390/s390.c:6008
+#: config/s390/s390.c:6011
+msgid "bad builtin fcode"
+msgstr "ugyldig indbygget fcode"
+
#. 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:200 config/i386/i386.h:233 config/i386/i386.h:235
-#: config/i386/i386.h:237 config/ns32k/ns32k.h:103 config/rs6000/rs6000.h:301
-#: config/sparc/sparc.h:577 config/sparc/sparc.h:582
+#: 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 "Brug hardware-kommatal"
+msgstr "Brug hardwarekommatal"
-#: config/alpha/alpha.h:201 config/i386/i386.h:234 config/i386/i386.h:236
-#: config/rs6000/rs6000.h:303 config/sparc/sparc.h:579
-#: config/sparc/sparc.h:584
+#: 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 "Brug ikke hardware-kommatal"
+msgstr "Brug ikke hardwarekommatal"
-#: config/alpha/alpha.h:202
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
-msgstr ""
+msgstr "Brug kommatalsregistre"
-#: config/alpha/alpha.h:204
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
-msgstr ""
+msgstr "Brug ikke kommatalsregistre"
-#: config/alpha/alpha.h:205
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
-msgstr ""
+msgstr "Antag ikke GAS"
-#: config/alpha/alpha.h:206
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
-msgstr ""
+msgstr "Antag GAS"
-#: config/alpha/alpha.h:208
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
-msgstr ""
+msgstr "Påkræv at matematiksbibliotekrutiner opfylder IEEE-standarden (OSF/1)"
-#: config/alpha/alpha.h:210
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
-msgstr ""
+msgstr "Udsend kode der opfylder IEEE-standarden, uden ineksakte undtagelser"
-#: config/alpha/alpha.h:212
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
-msgstr ""
+msgstr "Udsend kode der opfylder IEEE-standarden, med ineksakte undtagelser"
-#: config/alpha/alpha.h:214
-#, fuzzy
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
-msgstr "kompleks heltalskonstant er for stor til 'complex int'"
+msgstr "Udsend ikke komplekse heltalskonstanter til skrivebeskyttet hukommelse"
-#: config/alpha/alpha.h:215
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
-msgstr ""
+msgstr "Benyt VAX-kommatal"
-#: config/alpha/alpha.h:216
-#, fuzzy
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Benyt ikke VAX-kommatal"
-#: config/alpha/alpha.h:217
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
-msgstr ""
+msgstr "Udsend kode for byte/word-ISA-udvidelsen"
-#: config/alpha/alpha.h:220
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
-msgstr ""
+msgstr "Udsend kode for video-ISA-udvidelsen"
-#: config/alpha/alpha.h:223
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
-msgstr ""
+msgstr "Udsend kode for kommatalsflytning og kvadratrod-ISA-udvidelsen"
-#: config/alpha/alpha.h:225
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
-msgstr ""
+msgstr "Udsend kode for tæller-ISA-udvidelsen"
+
+#: config/alpha/alpha.h:307
+msgid "Emit code using explicit relocation directives"
+msgstr "Udsend kode der bruger eksplicitte relokaliseringsdirektiver"
+
+#: config/alpha/alpha.h:310
+msgid "Emit 16-bit relocations to the small data areas"
+msgstr "Udsend 16-bit relokalisering til det lille dataområde"
+
+#: config/alpha/alpha.h:312
+msgid "Emit 32-bit relocations to the small data areas"
+msgstr "Udsend 32-bit relokalisering til det lille dataområde"
+
+#: config/alpha/alpha.h:314
+msgid "Emit rdval instead of rduniq for thread pointer"
+msgstr "Udsend rdval i stedet for rduniq for trådhenvisning"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an initializer
-#. with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the fixed
-#. part of the option name, and the address of a variable. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
#. 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:262
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
msgid "Use features of and schedule given CPU"
-msgstr ""
+msgstr "Brug faciliteter fra og planlæg mht. den givne processor"
-#: config/alpha/alpha.h:264
-#, fuzzy
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
-msgstr "Planlæg koden til en given cpu"
+msgstr "Planlæg til en given processor"
-#: config/alpha/alpha.h:266
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
-msgstr ""
+msgstr "Kontrollér den genererede kommatalsafrundingstilstand"
-#: config/alpha/alpha.h:268
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
-msgstr ""
+msgstr "Kontrollér IEEE-fældetilstanden"
-#: config/alpha/alpha.h:270
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
-msgstr ""
+msgstr "Kontrollér den præcision der gives til kommatalsundtagelser"
-#: config/alpha/alpha.h:272
+#: config/alpha/alpha.h:353
msgid "Tune expected memory latency"
-msgstr ""
+msgstr "Justér den forventede hukommelsesventetid"
-#. The names we put in the hashtable will always be the unique versions gived to us by the stringtable, so we can just use their addresses as the keys.
-#. See if we already have an entry for this section.
-#: config/alpha/elf.h:354 config/elfos.h:461 config/i386/sco5.h:492
-#: config/pa/pa-64.h:320 config/rs6000/sysv4.h:963
-#, c-format
-msgid "%s causes a section type conflict"
-msgstr ""
+#: config/alpha/alpha.h:355 config/ia64/ia64.h:225
+msgid "Specify bit size of immediate TLS offsets"
+msgstr "Angiv bitstørrelse for umiddelbar TLS-afsæt"
-#: config/arc/arc.c:108
+#: config/arc/arc.c:135
#, c-format
msgid "bad value (%s) for -mcpu switch"
-msgstr "ugyldig værdi '%s' til '-mcpu'-tilvalget"
+msgstr "ugyldig værdi '%s' til tilvalget -mcpu"
+
+#: config/arc/arc.c:362
+#, c-format
+msgid "argument of `%s' attribute is not a string constant"
+msgstr "parameteren til egenskaben '%s er ikke en strengkonstant"
-#: config/arc/arc.c:1666 config/m32r/m32r.c:2217
-msgid "invalid operand to %R code"
-msgstr "ugyldig operand til '%R'-koden"
+#: config/arc/arc.c:369
+#, c-format
+msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
+msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\""
+
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, c-format
+msgid "invalid operand to %%R code"
+msgstr "ugyldig operand til %%R-koden"
-#: config/arc/arc.c:1698 config/m32r/m32r.c:2240
-msgid "invalid operand to %H/%L code"
-msgstr "ugyldig operand til '%H'/'%L'-koden"
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, c-format
+msgid "invalid operand to %%H/%%L code"
+msgstr "ugyldig operand til %%H/%%L-koden"
-#: config/arc/arc.c:1722 config/m32r/m32r.c:2317
-msgid "invalid operand to %U code"
-msgstr "ugyldig operand til '%U'-koden"
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, c-format
+msgid "invalid operand to %%U code"
+msgstr "ugyldig operand til %%U-koden"
-#: config/arc/arc.c:1733
-msgid "invalid operand to %V code"
-msgstr "ugyldig operand til '%V'-koden"
+#: config/arc/arc.c:1774
+#, c-format
+msgid "invalid operand to %%V code"
+msgstr "ugyldig operand til %%V-koden"
#. Unknown flag.
-#: config/arc/arc.c:1740 config/m32r/m32r.c:2356 config/sparc/sparc.c:5888
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6488
msgid "invalid operand output code"
msgstr "ugyldig operand-uddatakode"
-#: config/arm/arm.c:372
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
-msgstr ""
+msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march="
-#: config/arm/arm.c:382 config/rs6000/rs6000.c:311 config/sparc/sparc.c:317
+#: config/arm/arm.c:469 config/rs6000/rs6000.c:558 config/sparc/sparc.c:393
#, c-format
msgid "bad value (%s) for %s switch"
-msgstr "ugyldig værdi (%s) til '%s'-tilvalget"
+msgstr "ugyldig værdi (%s) til tilvalget %s"
-#: config/arm/arm.c:518
-#, fuzzy
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
-msgstr "Dette mål understøtter ikke '-mabi'-tilvalget."
+msgstr "målprocessoren understøtter ikke APCS-32"
-#: config/arm/arm.c:523
-#, fuzzy
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
-msgstr "Dette mål understøtter ikke '-mabi'-tilvalget."
+msgstr "målprocessoren understøtter ikke APCS-26"
-#: config/arm/arm.c:529
-#, fuzzy
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
-msgstr "Dette mål understøtter ikke '-mabi'-tilvalget."
+msgstr "målprocessoren understøtter ikke interarbejde"
-#: config/arm/arm.c:535
-#, fuzzy
-msgid "target CPU does not support THUMB instructions."
-msgstr "Dette mål understøtter ikke '-mabi'-tilvalget."
+#: config/arm/arm.c:622
+msgid "target CPU does not support THUMB instructions"
+msgstr "målprocessoren understøtter ikke THUMB-instruktioner"
-#: config/arm/arm.c:549
-msgid "enabling backtrace support is only meaningful when compiling for the Thumb."
-msgstr ""
+#: config/arm/arm.c:636
+msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
+msgstr "aktivering af tilbagesporingsunderstøttelse giver kun mening ved oversættelse for en Thumb"
-#: config/arm/arm.c:552
-msgid "enabling callee interworking support is only meaningful when compiling for the Thumb."
-msgstr ""
+#: config/arm/arm.c:639
+msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
+msgstr "aktivering af interarbejdeunderstøttelse for kaldte objekter giver kun mening ved oversættelse for en Thumb"
-#: config/arm/arm.c:555
-msgid "enabling caller interworking support is only meaningful when compiling for the Thumb."
-msgstr ""
+#: config/arm/arm.c:642
+msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
+msgstr "aktivering af interarbejdeunderstøttelse for kaldere giver kun mening ved oversættelse for en Thumb"
-#: config/arm/arm.c:561
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
-msgstr ""
+msgstr "interarbejde tvinger APCS-32 til at blive brugt"
-#: config/arm/arm.c:567
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
-msgstr ""
+msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige"
-#: config/arm/arm.c:575
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
-#: config/arm/arm.c:578
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
-msgstr ""
+msgstr "APCS-genindtrædelig kode er ikke understøttet - ignoreret"
-#: config/arm/arm.c:586
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
-msgstr ""
+msgstr "-g med -mno-apcs-frame giver måske ikke fornuftig fejlanalysering"
-#: config/arm/arm.c:594
-msgid "Passing floating point arguments in fp regs not yet supported"
-msgstr ""
+#: config/arm/arm.c:681
+msgid "passing floating point arguments in fp regs not yet supported"
+msgstr "overbringelse af kommatalsparametre i kommatalsregistre er ikke understøttet endnu"
-#: config/arm/arm.c:623
+#: config/arm/arm.c:710
#, c-format
-msgid "Invalid floating point emulation option: -mfpe-%s"
-msgstr "Ugyldigt tilvalg til kommatalsemulering: -mfpe-%s"
+msgid "invalid floating point emulation option: -mfpe-%s"
+msgstr "ugyldigt tilvalg til kommatalsemulering: -mfpe-%s"
-#: config/arm/arm.c:647
-msgid "Structure size boundary can only be set to 8 or 32"
-msgstr ""
+#: config/arm/arm.c:734
+msgid "structure size boundary can only be set to 8 or 32"
+msgstr "strukturstørrelsesgrænse kan kun sættes til 8 eller 32"
-#: config/arm/arm.c:655
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
-msgstr ""
+msgstr "-mpic-register= er ubrugelig uden -fpic"
-#: config/arm/arm.c:664
+#: config/arm/arm.c:749
#, c-format
-msgid "Unable to use '%s' for PIC register"
-msgstr "Kan ikke bruge '%s' til PIC-register"
+msgid "unable to use '%s' for PIC register"
+msgstr "kan ikke bruge '%s' til PIC-register"
-#. FIXME - the way to handle this situation is to allow
-#. the pretend args to be dumped onto the stack, then
-#. reuse r3 to save IP. This would involve moving the
-#. copying of SP into IP until after the pretend args
-#. have been dumped, but this is not too hard.
-#. [See e.g. gcc.c-torture/execute/nest-stdar-1.c.]
-#: config/arm/arm.c:7844
-msgid "Unable to find a temporary location for static chain register"
-msgstr ""
+#: config/arm/arm.c:2061 config/arm/arm.c:2084 config/avr/avr.c:4794
+#: config/c4x/c4x.c:4644 config/h8300/h8300.c:3667 config/i386/i386.c:1396
+#: config/i386/i386.c:1425 config/ip2k/ip2k.c:3224
+#: config/m68hc11/m68hc11.c:1267 config/mcore/mcore.c:3510
+#: config/ns32k/ns32k.c:1047 config/rs6000/rs6000.c:12519 config/sh/sh.c:5681
+#: config/sh/sh.c:5706 config/sh/sh.c:5745 config/stormy16/stormy16.c:2026
+#: config/v850/v850.c:2180
+#, c-format
+msgid "`%s' attribute only applies to functions"
+msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
-#: config/arm/arm.c:8806
-msgid "Unable to compute real location of stacked parameter"
-msgstr ""
+#: config/arm/arm.c:9485
+msgid "unable to compute real location of stacked parameter"
+msgstr "kan ikke beregne virkelig placering af stakkede parametre"
-#: config/arm/arm.c:9500
-#, fuzzy
+#: config/arm/arm.c:10164
msgid "no low registers available for popping high registers"
-msgstr "Ingen lave registre er tilgængelige til at modtage værdier fra høje registre"
+msgstr "ingen lave registre er tilgængelige til at modtage værdier fra høje registre"
-#: config/arm/arm.c:9712
-msgid "Interrupt Service Routines cannot be coded in Thumb mode."
-msgstr ""
+#: config/arm/arm.c:10415
+msgid "interrupt Service Routines cannot be coded in Thumb mode"
+msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand"
-#: config/arm/arm.h:421
+#: 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 "variablen '%s' med startværdi er markeret dllimport"
+
+#: config/arm/pe.c:177 config/i386/winnt.c:312
+#, c-format
+msgid "static variable `%s' is marked dllimport"
+msgstr "statisk variabel '%s' er markeret dllimport"
+
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
-msgstr ""
+msgstr "Generér APCS-overholdende stakrammer"
-#: config/arm/arm.h:424
-#, fuzzy
+#: config/arm/arm.h:419
msgid "Store function names in object code"
-msgstr "klargøringsfunktion fundet i objekt %s"
+msgstr "Gem funktionsnavne i objektkode"
-#: config/arm/arm.h:428
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
-msgstr ""
+msgstr "Benyt 32 bit-udgaven af APCS"
-#: config/arm/arm.h:430
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
-msgstr ""
+msgstr "Benyt 26 bit-udgaven af APCS"
-#: config/arm/arm.h:434
-#, fuzzy
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
-msgstr "Returnér værdier fra funktioner i fpu-registre"
+msgstr "Videregiv kommatalsparametre i kommatalsregistre"
-#: config/arm/arm.h:437
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
-msgstr ""
+msgstr "Generér genindtrædelig PIC-kode"
-#: config/arm/arm.h:440
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
-msgstr ""
+msgstr "MMU'en vil aktiveres ved ikke-justerede tilgange"
-#: config/arm/arm.h:447
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
-msgstr ""
+msgstr "Benyt bibliotekskald til at udføre kommatalsoperationer"
-#: config/arm/arm.h:449 config/i960/i960.h:282
+#: config/arm/arm.h:444 config/i960/i960.h:281
msgid "Use hardware floating point instructions"
-msgstr ""
+msgstr "Benyt hardware-kommatalsinstruktioner"
-#: config/arm/arm.h:451
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
-msgstr ""
+msgstr "Antag at målprocessoren er konfigureret som storendet"
-#: config/arm/arm.h:453
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
-msgstr ""
+msgstr "Antag at målprocessoren er konfigureret som lilleendet"
-#: config/arm/arm.h:455
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
-msgstr ""
+msgstr "Antag storendede byte og lilleendede word"
-#: config/arm/arm.h:457
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
-msgstr ""
+msgstr "Understøt kald mellem Thumb- og ARM-instruktionssættene"
-#: config/arm/arm.h:460
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
-msgstr ""
+msgstr "Generér et kald til abort hvis en noreturn-funktion returnerer"
-#: config/arm/arm.h:463
-#, fuzzy
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
-msgstr "Brug ikke push-instruktioner til at gemme udgående parametre"
+msgstr "Flyt ikke instruktioner til en funktions begyndelse"
-#: config/arm/arm.h:466
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
-msgstr ""
+msgstr "Indlæs ikke PIC-registeret i funktionsbegyndelser"
-#: config/arm/arm.h:469
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
-msgstr ""
+msgstr "Generér kaldeinstruktioner som indirekte kald, om nødvendigt"
-#: config/arm/arm.h:472
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
-msgstr ""
+msgstr "Oversæt til Thymb, ikke til ARM"
-#: config/arm/arm.h:476
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
-msgstr ""
+msgstr "Thumb: Generér (ikke-yderste) stakrammer selv hvis det ikke er nødvendigt"
-#: config/arm/arm.h:479
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
-msgstr ""
+msgstr "Thumb: Generér (yderste) stakrammer selv hvis det ikke er nødvendigt"
-#: config/arm/arm.h:482
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
-msgstr ""
+msgstr "Thumb: Antag at ikke-statiske funktioner kan kaldes fra ARM-kode"
-#: config/arm/arm.h:486
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
-msgstr ""
+msgstr "Thumb: Antag at funktionshenvisninger kan gå til kode der ikke er opmærksom på Thumb"
-#: config/arm/arm.h:496
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
-msgstr ""
+msgstr "Angiv navnet på målprocessoren"
-#: config/arm/arm.h:498
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
-msgstr ""
+msgstr "Angiv navnet på målarkitekturen"
-#: config/arm/arm.h:502
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
-msgstr ""
+msgstr "Angiv versionen af kommatalsemulatoren"
-#: config/arm/arm.h:504
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
-msgstr ""
+msgstr "Angiv den mindste bitjustering af strukturer"
-#: config/arm/arm.h:506
-#, fuzzy
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
-msgstr "Ugyldigt register i ybase-adressering"
+msgstr "Angiv det register der skal bruges til PIC-adressering"
-#: config/arm/pe.c:255 config/i386/winnt.c:339 config/mcore/mcore.c:3400
-#, fuzzy, c-format
-msgid "initialized variable `%s' is marked dllimport"
-msgstr "instansvariablen '%s' er erklæret privat"
+#: config/arm/pe.h:65
+msgid "Ignore dllimport attribute for functions"
+msgstr "Ignorér dllimport-egenskaben for funktioner"
-#: config/arm/pe.c:264 config/i386/winnt.c:348
-#, fuzzy, c-format
-msgid "static variable `%s' is marked dllimport"
-msgstr "instansvariablen '%s' er erklæret privat"
+#: config/avr/avr.c:528
+#, c-format
+msgid "large frame pointer change (%d) with -mtiny-stack"
+msgstr "stor rammehenvisningsændring (%d) med -mtiny-stack"
-#: config/arm/pe.h:62
-msgid "Ignore dllimport attribute for functions"
-msgstr ""
+#: config/avr/avr.c:1135
+msgid "bad address, not (reg+disp):"
+msgstr "ugyldig adresse, ikke (reg+disp):"
-#. 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/avr/avr.c:1143
+msgid "internal compiler error. Bad address:"
+msgstr "intern oversætterfejl - ugyldig adresse:"
-#: config/arm/riscix.h:85
-msgid "Do symbol renaming for X/OPEN"
-msgstr ""
+#: config/avr/avr.c:1156
+msgid "internal compiler error. Unknown mode:"
+msgstr "intern oversætterfejl - ugyldig tilstand:"
-#: config/arm/riscix.h:86
-msgid "Don't do symbol renaming"
-msgstr ""
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
+msgid "invalid insn:"
+msgstr "ugyldig instruktion:"
-#: config/avr/avr.c:190
-#, fuzzy, c-format
-msgid "MCU `%s' not supported"
-msgstr "-pipe understøttes ikke."
+#: 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 "ukorrekt instruktion:"
-#: config/avr/avr.c:430
-#, c-format
-msgid "large frame pointer change (%d) with -mtiny-stack"
-msgstr ""
+#: 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 "ukendt flytteinstruktion:"
-#: config/avr/avr.c:4704
-msgid "Only initialized variables can be placed into program memory area."
-msgstr ""
+#: config/avr/avr.c:3003
+msgid "bad shift insn:"
+msgstr "ugyldig skifteinstruktion:"
-#. `TARGET_...'
-#. This series of macros is to allow compiler command arguments to
-#. enable or disable the use of optional features of the target
-#. machine. For example, one machine description serves both the
-#. 68000 and the 68020; a command argument tells the compiler whether
-#. it should use 68020-only instructions or not. This command
-#. argument works by means of a macro `TARGET_68020' that tests a bit
-#. in `target_flags'.
-#.
-#. Define a macro `TARGET_FEATURENAME' for each such option. Its
-#. definition should test a bit in `target_flags'; for example:
-#.
-#. #define TARGET_68020 (target_flags & 1)
-#.
-#. One place where these macros are used is in the
-#. condition-expressions of instruction patterns. Note how
-#. `TARGET_68020' appears frequently in the 68000 machine description
-#. file, `m68k.md'. Another place they are used is in the
-#. definitions of the other macros in the `MACHINE.h' file.
-#: config/avr/avr.h:99
+#: config/avr/avr.c:3119 config/avr/avr.c:3549 config/avr/avr.c:3929
+msgid "internal compiler error. Incorrect shift:"
+msgstr "intern oversætterfejl - ukorrekt skift:"
+
+#: config/avr/avr.c:4767 config/ip2k/ip2k.c:3197
+msgid "only initialized variables can be placed into program memory area"
+msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet"
+
+#: config/avr/avr.c:4866
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr "kun variabler uden startværdi kan placeres i .noinit-sektionen"
+
+#: config/avr/avr.c:4881
+#, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "MCU '%s' understøttes kun for maskinkode"
+
+#: config/avr/avr.h:78
msgid "Assume int to be 8 bit integer"
-msgstr ""
+msgstr "Antag at int er 8 bit-heltal"
-#: config/avr/avr.h:101
+#: config/avr/avr.h:80
msgid "Change the stack pointer without disabling interrupts"
-msgstr ""
+msgstr "Ændr stakhenvisningen uden at deaktivere afbrydelser"
-#: config/avr/avr.h:103
+#: config/avr/avr.h:82
msgid "Use subroutines for function prologue/epilogue"
-msgstr ""
+msgstr "Benyt subrutiner for funktionsindledning/-afslutninger"
-#: config/avr/avr.h:105
+#: config/avr/avr.h:84
msgid "Change only the low 8 bits of the stack pointer"
-msgstr ""
+msgstr "Ændr kun de laveste 8 bit af stakhenvisningen"
-#: config/avr/avr.h:107
+#: config/avr/avr.h:86
msgid "Do not generate tablejump insns"
-msgstr ""
+msgstr "Generér ikke tabelspringsinstruktioner"
+
+#: config/avr/avr.h:88
+msgid "Use rjmp/rcall (limited range) on >8K devices"
+msgstr "Benyt rjmp/rcall (begrænset omfang) på >8K-enheder"
-#: config/avr/avr.h:110
+#: config/avr/avr.h:91
msgid "Output instruction sizes to the asm file"
-msgstr ""
+msgstr "Anbring instruktionsstørrelser i asm-filen"
-#: config/avr/avr.h:144
+#: config/avr/avr.h:108
msgid "Specify the initial stack address"
-msgstr ""
+msgstr "Angiv den første stakadresse"
-#: config/avr/avr.h:145
+#: config/avr/avr.h:109
msgid "Specify the MCU name"
-msgstr ""
+msgstr "Angiv MCU-navnet"
-#: config/avr/avr.h:2899
-#, fuzzy
-msgid "Trampolines not supported\n"
-msgstr "-pipe understøttes ikke"
+#. `GIV_SORT_CRITERION(GIV1, GIV2)'
+#. In some cases, the strength reduction optimization pass can
+#. produce better code if this is defined. This macro controls the
+#. order that induction variables are combined. This macro is
+#. particularly useful if the target has limited addressing modes.
+#. 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:2450
+msgid "trampolines not supported"
+msgstr "trampoliner understøttes ikke"
-#: config/c4x/c4x.c:268
+#: config/c4x/c4x-c.c:69
#, c-format
-msgid "Unknown CPU version %d, using 40.\n"
-msgstr ""
+msgid "missing '(' after '#pragma %s' - ignored"
+msgstr "manglende '(' efter '#pragma %s' - ignoreret"
-#: config/c4x/c4x.c:859
+#: config/c4x/c4x-c.c:72
#, c-format
-msgid "ISR %s requires %d words of local vars, max is 32767."
-msgstr ""
+msgid "missing function name in '#pragma %s' - ignored"
+msgstr "manglende funktionsnavn i '#pragma %s' - ignoreret"
+
+#: config/c4x/c4x-c.c:77
+#, c-format
+msgid "malformed '#pragma %s' - ignored"
+msgstr "forkert udformet '#pragma %s' - ignoreret"
-#: config/c4x/c4x.c:4525
-#, fuzzy, c-format
+#: config/c4x/c4x-c.c:79
+#, c-format
+msgid "missing section name in '#pragma %s' - ignored"
+msgstr "manglende sektionsnavn i '#pragma %s' - ignoreret"
+
+#: config/c4x/c4x-c.c:84
+#, c-format
+msgid "missing ')' for '#pragma %s' - ignored"
+msgstr "manglende '(' for '#pragma %s' - ignoreret"
+
+#: config/c4x/c4x-c.c:87
+#, c-format
msgid "junk at end of '#pragma %s'"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma %s'"
+
+#: config/c4x/c4x.c:280
+#, c-format
+msgid "unknown CPU version %d, using 40.\n"
+msgstr "ukendt processorversion %d, bruger 40.\n"
+
+#: config/c4x/c4x.c:853
+#, c-format
+msgid "ISR %s requires %d words of local vars, max is 32767"
+msgstr "ISR %s kræver %d ord af lokale variable, maks. er 32767"
+
+#: config/c4x/c4x.c:1602
+msgid "using CONST_DOUBLE for address"
+msgstr "bruger CONST_DOUBLE til adresse"
+
+#: config/c4x/c4x.c:1742
+msgid "c4x_address_cost: Invalid addressing mode"
+msgstr "c4x_address_cost: Ugyldig adresseringstilstand"
+
+#: config/c4x/c4x.c:1884
+#, c-format
+msgid "c4x_print_operand: %%L inconsistency"
+msgstr "c4x_print_operand: %%L-inkonsistens"
+
+#: config/c4x/c4x.c:1890
+#, c-format
+msgid "c4x_print_operand: %%N inconsistency"
+msgstr "c4x_print_operand: %%N-inkonsistens"
+
+#: config/c4x/c4x.c:1931
+#, c-format
+msgid "c4x_print_operand: %%O inconsistency"
+msgstr "c4x_print_operand: %%O-inkonsistens"
+
+#: config/c4x/c4x.c:2026
+msgid "c4x_print_operand: Bad operand case"
+msgstr "c4x_print_operand: Ugyldig operand-case"
+
+#: config/c4x/c4x.c:2069
+msgid "c4x_print_operand_address: Bad post_modify"
+msgstr "c4x_print_operand_address: Ugyldig post_modify"
+
+#: config/c4x/c4x.c:2091
+msgid "c4x_print_operand_address: Bad pre_modify"
+msgstr "c4x_print_operand_address: Ugyldig pre_modify"
+
+#: config/c4x/c4x.c:2139 config/c4x/c4x.c:2151 config/c4x/c4x.c:2166
+msgid "c4x_print_operand_address: Bad operand case"
+msgstr "c4x_print_operand_address: Ugyldig operand-case"
+
+#: config/c4x/c4x.c:2422
+msgid "c4x_rptb_insert: Cannot find start label"
+msgstr "c4x_rptb_insert: Kan ikke finde startetiket"
+
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
+msgid "mode not QImode"
+msgstr "tilstand ikke QImode"
+
+#: config/c4x/c4x.c:3514
+msgid "invalid indirect memory address"
+msgstr "ugyldig indirekte hukommelsesadresse"
+
+#: config/c4x/c4x.c:3603
+msgid "invalid indirect (S) memory address"
+msgstr "ugyldig indirekte (S) hukommelsesadresse"
+
+#: config/c4x/c4x.c:3944
+msgid "c4x_valid_operands: Internal error"
+msgstr "c4x_valid_operands: Intern fejl"
+
+#: config/c4x/c4x.c:4424
+msgid "c4x_operand_subword: invalid mode"
+msgstr "c4x_operand_subword: ugyldig tilstand"
+
+#: config/c4x/c4x.c:4427
+msgid "c4x_operand_subword: invalid operand"
+msgstr "c4x_operand_subword: ugyldig operand"
+
+#. We could handle these with some difficulty.
+#. e.g., *p-- => *(p-=2); *(p+1).
+#: config/c4x/c4x.c:4453
+msgid "c4x_operand_subword: invalid autoincrement"
+msgstr "c4x_operand_subword: ugyldig selvforøgelse"
+
+#: config/c4x/c4x.c:4459
+msgid "c4x_operand_subword: invalid address"
+msgstr "c4x_operand_subword: ugyldig adresse"
+
+#: config/c4x/c4x.c:4470
+msgid "c4x_operand_subword: address not offsettable"
+msgstr "c4x_operand_subword: adresse kan ikke tilføjes et offset"
+
+#: config/c4x/c4x.c:4670
+msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
+msgstr "c4x_rptb_rpts_p: Topetiket til gentagelsesblok flyttet\n"
#. Name of the c4x assembler.
#. 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.
@@ -4296,810 +9323,1309 @@ msgstr "ragelse i slutningen af #%s"
#. 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:168
msgid "Small memory model"
-msgstr ""
+msgstr "Lille hukommelsesmodel"
-#: config/c4x/c4x.h:143
+#: config/c4x/c4x.h:170
msgid "Big memory model"
-msgstr ""
+msgstr "Stor hukommelsesmodel"
-#: config/c4x/c4x.h:145
+#: config/c4x/c4x.h:172
msgid "Use MPYI instruction for C3x"
-msgstr ""
+msgstr "Benyt MPYI-instruktionen til C3x"
-#: config/c4x/c4x.h:147
+#: config/c4x/c4x.h:174
msgid "Do not use MPYI instruction for C3x"
-msgstr ""
+msgstr "Benyt ikke MPYI-instruktionen til C3x"
-#: config/c4x/c4x.h:149
-#, fuzzy
+#: config/c4x/c4x.h:176
msgid "Use fast but approximate float to integer conversion"
-msgstr " i henvisning til medlem-omdannelse"
+msgstr "Benyt hurtig, men approksimativ konvertering fra komma- til heltal"
-#: config/c4x/c4x.h:151
+#: config/c4x/c4x.h:178
msgid "Use slow but accurate float to integer conversion"
-msgstr ""
+msgstr "Benyt langsom, men nøjagtig konvertering fra komma- til heltal"
-#: config/c4x/c4x.h:153
-#, fuzzy
+#: config/c4x/c4x.h:180
msgid "Enable use of RTPS instruction"
-msgstr "Se %s for instruktioner."
+msgstr "Aktivér brug af RTPS-instruktionen"
-#: config/c4x/c4x.h:155
-#, fuzzy
+#: config/c4x/c4x.h:182
msgid "Disable use of RTPS instruction"
-msgstr "Se %s for instruktioner."
+msgstr "Deaktivér brug af RTPS-instruktionen"
-#: config/c4x/c4x.h:157
-#, fuzzy
+#: config/c4x/c4x.h:184
msgid "Enable use of RTPB instruction"
-msgstr "Se %s for instruktioner."
+msgstr "Aktivér brug af RTPB-instruktionen"
-#: config/c4x/c4x.h:159
-#, fuzzy
+#: config/c4x/c4x.h:186
msgid "Disable use of RTPB instruction"
-msgstr "Se %s for instruktioner."
+msgstr "Deaktivér brug af RTPB-instruktionen"
-#: config/c4x/c4x.h:161
-#, fuzzy
+#: config/c4x/c4x.h:188
msgid "Generate code for C30 CPU"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en C30-processor"
-#: config/c4x/c4x.h:163
-#, fuzzy
+#: config/c4x/c4x.h:190
msgid "Generate code for C31 CPU"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en C31-processor"
-#: config/c4x/c4x.h:165
-#, fuzzy
+#: config/c4x/c4x.h:192
msgid "Generate code for C32 CPU"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en C32-processor"
-#: config/c4x/c4x.h:167
-#, fuzzy
+#: config/c4x/c4x.h:194
msgid "Generate code for C33 CPU"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en C33-processor"
-#: config/c4x/c4x.h:169
-#, fuzzy
+#: config/c4x/c4x.h:196
msgid "Generate code for C40 CPU"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en C40-processor"
-#: config/c4x/c4x.h:171
-#, fuzzy
+#: config/c4x/c4x.h:198
msgid "Generate code for C44 CPU"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en C44-processor"
-#: config/c4x/c4x.h:173
+#: config/c4x/c4x.h:200
msgid "Emit code compatible with TI tools"
-msgstr ""
+msgstr "Udsend kode der er kompatibel med TI-værktøjer"
-#: config/c4x/c4x.h:175
+#: config/c4x/c4x.h:202
msgid "Emit code to use GAS extensions"
-msgstr ""
+msgstr "Udsend kode der bruger GAS-udvidelser"
-#: config/c4x/c4x.h:177 config/c4x/c4x.h:181
+# RETMIG: hvad står ISR for?
+#: config/c4x/c4x.h:204 config/c4x/c4x.h:208
msgid "Save DP across ISR in small memory model"
-msgstr ""
+msgstr "Gem DP over ISR i lille hukommelsesmodel"
-#: config/c4x/c4x.h:179 config/c4x/c4x.h:183
+#: config/c4x/c4x.h:206 config/c4x/c4x.h:210
msgid "Don't save DP across ISR in small memory model"
-msgstr ""
+msgstr "Gem ikke DP over ISR i lille hukommelsesmodel"
-#: config/c4x/c4x.h:185
+#: config/c4x/c4x.h:212
msgid "Pass arguments on the stack"
-msgstr ""
+msgstr "Overbring parametre på stakken"
-#: config/c4x/c4x.h:187
+#: config/c4x/c4x.h:214
msgid "Pass arguments in registers"
-msgstr ""
+msgstr "Overbring parametre i registre"
-#: config/c4x/c4x.h:189
+#: config/c4x/c4x.h:216
msgid "Enable new features under development"
-msgstr ""
+msgstr "Aktivér nye faciliteter under udvikling"
-#: config/c4x/c4x.h:191
+#: config/c4x/c4x.h:218
msgid "Disable new features under development"
-msgstr ""
+msgstr "Deaktivér nye faciliteter under udvikling"
-#: config/c4x/c4x.h:193
+#: config/c4x/c4x.h:220
msgid "Use the BK register as a general purpose register"
-msgstr ""
+msgstr "Benyt BK-registeret som et alment register"
-#: config/c4x/c4x.h:195
-#, fuzzy
+#: config/c4x/c4x.h:222
msgid "Do not allocate BK register"
-msgstr "Kontrollér tildelingsordenen for heltalsregistrene"
+msgstr "Allokér ikke BK-registeret"
-#: config/c4x/c4x.h:197
-#, fuzzy
+#: config/c4x/c4x.h:224
msgid "Enable use of DB instruction"
-msgstr "Se %s for instruktioner."
+msgstr "Aktivér brug af DB-instruktioner"
-#: config/c4x/c4x.h:199
-#, fuzzy
+#: config/c4x/c4x.h:226
msgid "Disable use of DB instruction"
-msgstr "Se %s for instruktioner."
+msgstr "Deaktivér brug af DB-instruktioner"
-#: config/c4x/c4x.h:201
-#, fuzzy
+#: config/c4x/c4x.h:228
msgid "Enable debugging"
-msgstr "Aktivér stakprøvning"
+msgstr "Aktivér fejlanalyseringsinfo"
-#: config/c4x/c4x.h:203
+#: config/c4x/c4x.h:230
msgid "Disable debugging"
-msgstr ""
+msgstr "Deaktivér fejlanalyseringsinfo"
-#: config/c4x/c4x.h:205
+# RETMIG: hvad betyder hoisting? (det har noget med jage indlæsning af dem ud af registre)
+#: config/c4x/c4x.h:232
msgid "Force constants into registers to improve hoisting"
-msgstr ""
+msgstr "Tving konstanter ind i registre for at forbedre hoisting"
-#: config/c4x/c4x.h:207
-#, fuzzy
+#: config/c4x/c4x.h:234
msgid "Don't force constants into registers"
-msgstr "talkonstant uden cifre"
+msgstr "Tving ikke konstanter ind i registre"
-#: config/c4x/c4x.h:209
+#: config/c4x/c4x.h:236
msgid "Force RTL generation to emit valid 3 operand insns"
-msgstr ""
+msgstr "Tving RTL-generering til at udsende gyldig 3-operandinstruktioner"
-#: config/c4x/c4x.h:211
+#: config/c4x/c4x.h:238
msgid "Allow RTL generation to emit invalid 3 operand insns"
-msgstr ""
+msgstr "Tillad RTL-generering at udsende ugyldig 3-operandinstruktioner"
-#: config/c4x/c4x.h:213
-msgid "Allow unsigned interation counts for RPTB/DB"
-msgstr ""
+#: config/c4x/c4x.h:240
+msgid "Allow unsigned iteration counts for RPTB/DB"
+msgstr "Tillad iterationstællere uden fortegn for RPTB/DB"
-#: config/c4x/c4x.h:215
+#: config/c4x/c4x.h:242
msgid "Disallow unsigned iteration counts for RPTB/DB"
-msgstr ""
+msgstr "Tillad ikke iterationstællere uden fortegn for RPTB/DB"
-#: config/c4x/c4x.h:217
+#: config/c4x/c4x.h:244
msgid "Preserve all 40 bits of FP reg across call"
-msgstr ""
+msgstr "Bevar alle 40 bit af kommatalsregisteret på tværs af kald"
-#: config/c4x/c4x.h:219
+#: config/c4x/c4x.h:246
msgid "Only preserve 32 bits of FP reg across call"
-msgstr ""
+msgstr "Bevar kun 32 bit af kommatalsregisteret på tværs af kald"
-#: config/c4x/c4x.h:221
-#, fuzzy
+#: config/c4x/c4x.h:248
msgid "Enable parallel instructions"
-msgstr "Se %s for instruktioner."
+msgstr "Aktivér parallelle instruktioner"
-#: config/c4x/c4x.h:223
-#, fuzzy
+#: config/c4x/c4x.h:250
msgid "Disable parallel instructions"
-msgstr "Se %s for instruktioner."
+msgstr "Deaktivér parallelle instruktioner"
-#: config/c4x/c4x.h:225
+#: config/c4x/c4x.h:252
msgid "Enable MPY||ADD and MPY||SUB instructions"
-msgstr ""
+msgstr "Aktivér instruktionerne MPY||ADD og MPY||SUB"
-#: config/c4x/c4x.h:227
+#: config/c4x/c4x.h:254
msgid "Disable MPY||ADD and MPY||SUB instructions"
-msgstr ""
+msgstr "Deaktivér instruktionerne MPY||ADD og MPY||SUB"
-#: config/c4x/c4x.h:229
+#: config/c4x/c4x.h:256
msgid "Assume that pointers may be aliased"
-msgstr ""
+msgstr "Antag at henvisninger kan være aliaser"
-#: config/c4x/c4x.h:231
+#: config/c4x/c4x.h:258
msgid "Assume that pointers not aliased"
-msgstr ""
+msgstr "Antag at henvisninger ikke kan være aliaser"
-#: config/c4x/c4x.h:321
+#: config/c4x/c4x.h:331
msgid "Specify maximum number of iterations for RPTS"
-msgstr ""
+msgstr "Angiv maksimalt antal iterationer for RPTS"
-#: config/c4x/c4x.h:323
+#: config/c4x/c4x.h:333
msgid "Select CPU to generate code for"
-msgstr ""
+msgstr "Vælg den processor der skal genereres kode til"
-#. 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
-#, fuzzy
-msgid "Generate code for the C400"
-msgstr "Generér kode til en given cpu"
-
-#: config/clipper/clipper.h:41
-#, fuzzy
-msgid "Generate code for the C300"
-msgstr "Generér kode til en given cpu"
-
-#: config/convex/convex.h:52
-#, fuzzy
-msgid "Generate code for c1"
-msgstr "Generér kode til en given cpu"
-
-#: config/convex/convex.h:53
-#, fuzzy
-msgid "Generate code for c2"
-msgstr "Generér kode til en given cpu"
-
-#: config/convex/convex.h:54
-#, fuzzy
-msgid "Generate code for c32"
-msgstr "Generér kode til en given cpu"
-
-#: config/convex/convex.h:55 config/convex/convex.h:56
-#, fuzzy
-msgid "Generate code for c34"
-msgstr "Generér kode til en given cpu"
-
-#: config/convex/convex.h:58
-msgid "Use standard calling sequence, with arg count word"
-msgstr ""
+#: config/cris/cris.c:599
+msgid "unexpected index-type in cris_print_index"
+msgstr "uventet indekstype i cris_print_index"
-#: config/convex/convex.h:60
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr ""
+#: config/cris/cris.c:615
+msgid "unexpected base-type in cris_print_base"
+msgstr "uventet grundtype in cris_print_base"
-#: config/convex/convex.h:62
-msgid "Don't push arg count, depend on symbol table"
-msgstr ""
+#: config/cris/cris.c:908
+#, c-format
+msgid "stackframe too big: %d bytes"
+msgstr "stakramme for stor: %d byte"
-#: config/convex/convex.h:64
-msgid "Use data cache for volatile mem refs (default)"
-msgstr ""
+#: config/cris/cris.c:1223
+msgid "allocated but unused delay list in epilogue"
+msgstr "allokeret, men ubenyttet venteliste i afslutning"
-#: config/convex/convex.h:66
-msgid "Don't use data cache for volatile mem refs"
-msgstr ""
+#: config/cris/cris.c:1233
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+msgstr "uventet funktionstype behøver stak justering for __builtin_eh_return"
-#: config/convex/convex.h:68
-msgid "Bypass data cache for volatile mem refs"
-msgstr ""
+#: config/cris/cris.c:1312
+msgid "invalid operand for 'b' modifier"
+msgstr "ugyldig operand til 'b'-ændring"
-#: config/convex/convex.h:69
-msgid "Use 64-bit longs"
-msgstr ""
+#: config/cris/cris.c:1324
+msgid "invalid operand for 'v' modifier"
+msgstr "ugyldig operand til 'v'-ændring"
-#: config/convex/convex.h:70
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr ""
+#: config/cris/cris.c:1334
+msgid "invalid operand for 'P' modifier"
+msgstr "ugyldig operand til 'P'-ændring"
+
+#: config/cris/cris.c:1341
+msgid "invalid operand for 'p' modifier"
+msgstr "ugyldig operand til 'p'-ændring"
+
+#: config/cris/cris.c:1380
+msgid "invalid operand for 'z' modifier"
+msgstr "ugyldig operand til 'z'-ændring"
+
+#: config/cris/cris.c:1411 config/cris/cris.c:1441
+msgid "invalid operand for 'H' modifier"
+msgstr "ugyldig operand til 'H'-ændring"
+
+#: config/cris/cris.c:1417
+msgid "bad register"
+msgstr "ugyldigt register"
+
+#: config/cris/cris.c:1455
+msgid "invalid operand for 'e' modifier"
+msgstr "ugyldig operand til 'e'-ændring"
-#: config/d30v/d30v.c:186
+#: config/cris/cris.c:1472
+msgid "invalid operand for 'm' modifier"
+msgstr "ugyldig operand til 'm'-ændring"
+
+#: config/cris/cris.c:1497
+msgid "invalid operand for 'A' modifier"
+msgstr "ugyldig operand til 'A'-ændring"
+
+#: config/cris/cris.c:1505
+msgid "invalid operand for 'D' modifier"
+msgstr "ugyldig operand til 'D'-ændring"
+
+#: config/cris/cris.c:1519
+msgid "invalid operand for 'T' modifier"
+msgstr "ugyldig operand til 'T'-ændring"
+
+#: config/cris/cris.c:1528
+msgid "invalid operand modifier letter"
+msgstr "ugyldigt operandændringsbogstav"
+
+#: config/cris/cris.c:1536
#, c-format
-msgid "Bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
-msgstr ""
+msgid "internal error: bad register: %d"
+msgstr "intern fejl: ugyldigt register: %d"
-#. 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.
-#.
-#. Each subgrouping contains a string constant, that defines the option name, a
-#. number, which contains the bits to set in `target_flags', and a second
-#. string which is the description displayed by `--help'. If the number is
-#. negative then the bits specified by the number are cleared instead of being
-#. set. If the description string is present but empty, then no help
-#. information will be displayed for that option, but it will not count as an
-#. undocumented option. The actual option name is made by appending `-m' to
-#. the specified name.
-#.
-#. One of the subgroupings should have a null string. The number in this
-#. grouping is the default value for target_flags. Any target options act
-#. starting with that value.
-#.
-#. Here is an example which defines -m68000 and -m68020 with opposite meanings,
-#. and picks the latter as the default:
-#.
-#. #define TARGET_SWITCHES { { "68020", TARGET_MASK_68020, "" }, { "68000", -TARGET_MASK_68020, "Compile for the 68000" }, { "", TARGET_MASK_68020, "" }}
-#: config/d30v/d30v.h:447
+#: config/cris/cris.c:1584
+msgid "unexpected multiplicative operand"
+msgstr "uventet multiplikativ operand"
+
+#: config/cris/cris.c:1604
+msgid "unexpected operand"
+msgstr "uventet operand"
+
+#: config/cris/cris.c:1639 config/cris/cris.c:1649
+msgid "unrecognized address"
+msgstr "ukendt adresse"
+
+#: config/cris/cris.c:2005
+msgid "internal error: sideeffect-insn affecting main effect"
+msgstr "intern fejl: bivirkningsinstruktion påvirker hovedvirkning"
+
+#. If we get here, the caller got its initial tests wrong.
+#: config/cris/cris.c:2292
+msgid "internal error: cris_side_effect_mode_ok with bad operands"
+msgstr "intern fejl: cris_side_effect_mode_ok med ugyldige operander"
+
+#: config/cris/cris.c:2374 config/cris/cris.c:2432
+msgid "unrecognized supposed constant"
+msgstr "ukendt formodet konstant"
+
+#: config/cris/cris.c:2473
+msgid "unrecognized supposed constant in cris_global_pic_symbol"
+msgstr "ukendt formodet konstant i cris_global_pic_symbol"
+
+#: config/cris/cris.c:2492
+#, c-format
+msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+msgstr "-max-stackframe=%d er ikke brugbar mellem 0 og %d"
+
+#: config/cris/cris.c:2520
+#, c-format
+msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+msgstr "ukendt CRIS-versionsspecifikation i -march= eller -mcpu=: %s"
+
+#: config/cris/cris.c:2556
+#, c-format
+msgid "unknown CRIS cpu version specification in -mtune= : %s"
+msgstr "ukendt CRIS-versionsspecifikation i -mtune=: %s"
+
+#: config/cris/cris.c:2574
+msgid "-fPIC and -fpic are not supported in this configuration"
+msgstr "-fPIC og -fpic understøttes ikke af denne konfiguration"
+
+#: config/cris/cris.c:2590
+msgid "that particular -g option is invalid with -maout and -melinux"
+msgstr "det bestemte '-g'-tilvalg er ugyldigt med -maout og -melinux"
+
+#: config/cris/cris.c:2824 config/cris/cris.c:2869
+msgid "unexpected side-effects in address"
+msgstr "uventede bivirkninger i adresse"
+
+#. Labels are never marked as global symbols.
+#: config/cris/cris.c:2966 config/cris/cris.c:2997
+msgid "unexpected PIC symbol"
+msgstr "uventet PIC-symbol"
+
+#: config/cris/cris.c:2970
+msgid "PIC register isn't set up"
+msgstr "PIC-register er ikke sat op"
+
+#: config/cris/cris.c:2983 config/cris/cris.c:3066
+msgid "unexpected address expression"
+msgstr "uventet adresseudtryk"
+
+#: config/cris/cris.c:3001
+msgid "emitting PIC operand, but PIC register isn't set up"
+msgstr "udsender PIC-operand, men PIC-register er ikke sat op"
+
+#: config/cris/cris.c:3010
+msgid "unexpected NOTE as addr_const:"
+msgstr "uventet NOTE som addr_const:"
+
+#: config/cris/aout.h:108
+msgid "Compile for the MMU-less Etrax 100-based elinux system"
+msgstr "Oversæt for det Etrax 100-baserede elinux-system uden MMU"
+
+#: config/cris/aout.h:115
+msgid "For elinux, request a specified stack-size for this program"
+msgstr "For elinux; forespørg en angivet stakstørrelse for dette program"
+
+#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
+#: config/cris/cris.h:340
+msgid "Compile for ETRAX 4 (CRIS v3)"
+msgstr "Oversæt for ETRAX 4 (CRIS v3)"
+
+#: config/cris/cris.h:345
+msgid "Compile for ETRAX 100 (CRIS v8)"
+msgstr "Oversæt for ETRAX 100 (CRIS v8)"
+
+#: config/cris/cris.h:349
+msgid "Emit verbose debug information in assembly code"
+msgstr "Udsend fejlanalyseringsinfo i maskinkode"
+
+#: config/cris/cris.h:352
+msgid "Do not use condition codes from normal instructions"
+msgstr "Benyt ikke betingelseskoder fra normale instruktioner"
+
+#: config/cris/cris.h:356
+msgid "Do not emit addressing modes with side-effect assignment"
+msgstr "Udsend ikke adresseringstilstande med bivirkningstildeling"
+
+#: config/cris/cris.h:359
+msgid "Do not tune stack alignment"
+msgstr "Finjustér ikke stakjustering"
+
+#: config/cris/cris.h:362
+msgid "Do not tune writable data alignment"
+msgstr "Finjustér ikke justering af skrivbare data"
+
+#: config/cris/cris.h:365
+msgid "Do not tune code and read-only data alignment"
+msgstr "Finjustér ikke justering af kode og skrivebeskyttet data"
+
+#: config/cris/cris.h:374
+msgid "Align code and data to 32 bits"
+msgstr "Justér kode og data til 32 bit"
+
+#: config/cris/cris.h:387
+msgid "Don't align items in code or data"
+msgstr "Justér ikke elementer i kode eller data"
+
+#: config/cris/cris.h:390
+msgid "Do not emit function prologue or epilogue"
+msgstr "Udsend ikke funktionsindledning eller -afslutning"
+
+#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
+#: config/cris/cris.h:394
+msgid "Use the most feature-enabling options allowed by other options"
+msgstr "Benyt de tilvalg der giver de fleste faciliteter tilladt af andre tilvalg"
+
+#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
+#: config/cris/cris.h:400
+msgid "Override -mbest-lib-options"
+msgstr "Overskriv -mbest-lib-options"
+
+#: config/cris/cris.h:432
+msgid "Generate code for the specified chip or CPU version"
+msgstr "Generér kode til en given chip- eller processorversion"
+
+#: config/cris/cris.h:434
+msgid "Tune alignment for the specified chip or CPU version"
+msgstr "Finjustér justering til en given chip- eller processorversion"
+
+#: config/cris/cris.h:436
+msgid "Warn when a stackframe is larger than the specified size"
+msgstr "Advar når en stakramme er større end den angivne størrelse"
+
+#. Node: Profiling
+#: config/cris/cris.h:1022
+msgid "no FUNCTION_PROFILER for CRIS"
+msgstr "ingen FUNCTION_PROFILER for CRIS"
+
+#: config/cris/linux.h:71
+msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+msgstr "Benyt ikke GOTPLT-referencer sammen med -fpic og -fPIC"
+
+#: config/d30v/d30v.c:207
+#, c-format
+msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+msgstr "ugyldig modes_tieable_p for register %s, mode1 %s, mode2 %s"
+
+#: config/d30v/d30v.c:2666
+msgid "bad insn to d30v_print_operand_address:"
+msgstr "ugyldig instruktion til d30v_print_operand_address:"
+
+#: 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 "ugyldig instruktion til d30v_print_operand_memory_reference:"
+
+#: config/d30v/d30v.c:2851
+msgid "bad insn to d30v_print_operand, 'f' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'f'-ændring:"
+
+#: config/d30v/d30v.c:2860
+msgid "bad insn to d30v_print_operand, 'A' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'A'-ændring:"
+
+#: config/d30v/d30v.c:2867
+msgid "bad insn to d30v_print_operand, 'M' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'M'-ændring:"
+
+#: config/d30v/d30v.c:2921
+msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'F'- eller 'T'-ændring:"
+
+#: config/d30v/d30v.c:2932
+msgid "bad insn to print_operand, 'B' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'B'-ændring:"
+
+#: config/d30v/d30v.c:2939
+msgid "bad insn to print_operand, 'E' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'E'-ændring:"
+
+#: config/d30v/d30v.c:2957
+msgid "bad insn to print_operand, 'R' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 'R'-ændring:"
+
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
+msgid "bad insn to print_operand, 's' modifier:"
+msgstr "ugyldig instruktion til d30v_print_operand, 's'-ændring:"
+
+#: config/d30v/d30v.c:3003
+msgid "bad insn in d30v_print_operand, 0 case"
+msgstr "ugyldig instruktion til d30v_print_operand, 0 case"
+
+#: config/d30v/d30v.c:3301
+msgid "d30v_emit_comparison"
+msgstr "d30v_emit_comparison"
+
+#: config/d30v/d30v.c:3345
+msgid "bad call to d30v_move_2words"
+msgstr "ugyldigt kald af d30v_move_2words"
+
+#: config/d30v/d30v.h:114
msgid "Enable use of conditional move instructions"
-msgstr ""
+msgstr "Aktivér brug af betingede flytteinstruktioner"
-#: config/d30v/d30v.h:450
+#: config/d30v/d30v.h:117
msgid "Disable use of conditional move instructions"
-msgstr ""
+msgstr "Deaktivér brug af betingede flytteinstruktioner"
-#: config/d30v/d30v.h:453
+#: config/d30v/d30v.h:120
msgid "Debug argument support in compiler"
-msgstr ""
+msgstr "Fejlanalyser parameterunderstøttelse i oversætteren"
-#: config/d30v/d30v.h:456
+#: config/d30v/d30v.h:123
msgid "Debug stack support in compiler"
-msgstr ""
+msgstr "Fejlanalyser stakunderstøttelse i oversætteren"
-#: config/d30v/d30v.h:459
+#: config/d30v/d30v.h:126
msgid "Debug memory address support in compiler"
-msgstr ""
+msgstr "Fejlanalyser hukommelsesadresseunderstøttelse i oversætteren"
-#: config/d30v/d30v.h:462
-msgid "Make adjacent short instructions parallel if possible."
-msgstr ""
+#: config/d30v/d30v.h:129
+msgid "Make adjacent short instructions parallel if possible"
+msgstr "Gør nærliggende korte instruktioner parallelle om muligt"
-#: config/d30v/d30v.h:465
-msgid "Do not make adjacent short instructions parallel."
-msgstr ""
+#: config/d30v/d30v.h:132
+msgid "Do not make adjacent short instructions parallel"
+msgstr "Gør ikke nærliggende korte instruktioner parallelle"
-#: config/d30v/d30v.h:468 config/d30v/d30v.h:471
+#: config/d30v/d30v.h:135 config/d30v/d30v.h:138
msgid "Link programs/data to be in external memory by default"
-msgstr ""
+msgstr "Sammenkæd program/data til at være i ekstern hukommelse som standard"
-#: config/d30v/d30v.h:474
+#: config/d30v/d30v.h:141
msgid "Link programs/data to be in onchip memory by default"
-msgstr ""
+msgstr "Sammenkæd program/data til at være i hukommelsen på chippen som standard"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of command
-#. options that have values. Its definition is an initializer with a
-#. subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the fixed part of
-#. the option name, the address of a variable, and a description string. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-<number>'. If the given
-#. option is `-mshort-data-512', the variable `m88k_short_data' will be set to
-#. the string "512".
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data, "Specify the size of the short data section" } }
-#: config/d30v/d30v.h:501
+#: config/d30v/d30v.h:149
msgid "Change the branch costs within the compiler"
-msgstr ""
+msgstr "Skift forgreningsomkostningen i oversætteren"
-#: config/d30v/d30v.h:504
+#: config/d30v/d30v.h:152
msgid "Change the threshold for conversion to conditional execution"
-msgstr ""
+msgstr "Skift tærsklen for konvertering til betinget udførelse"
-#: config/dsp16xx/dsp16xx.c:1225 config/dsp16xx/dsp16xx.c:1250
-msgid "Stack size > 32k"
-msgstr "Stakstørrelse > 32k"
+#: config/dsp16xx/dsp16xx.c:1446 config/dsp16xx/dsp16xx.c:1469
+msgid "stack size > 32k"
+msgstr "stakstørrelse > 32k"
-#: config/dsp16xx/dsp16xx.c:1759 config/dsp16xx/dsp16xx.c:1999
-msgid "inline float constants not supported on this host"
-msgstr "integrerede kommatalskonstanter er ikke understøttede på denne vært"
+#: config/dsp16xx/dsp16xx.c:1678
+msgid "invalid addressing mode"
+msgstr "ugyldig adresseringstilstand"
-#. Output assembler code to FILE to increment profiler label # LABELNO
-#. for profiling a function entry.
-#: config/dsp16xx/dsp16xx.h:1188 config/dsp16xx/dsp16xx.h:1193
-#: config/dsp16xx/dsp16xx.h:1198 config/dsp16xx/dsp16xx.h:1840
-#: config/dsp16xx/dsp16xx.h:1845
-msgid "Profiling not implemented yet."
-msgstr "Profilgenerering understøttes ikke endnu."
+#: config/dsp16xx/dsp16xx.c:1821
+msgid "bad register extension code"
+msgstr "ugyldig registerudvidelseskode"
-#. 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:1209 config/dsp16xx/dsp16xx.h:1221
-msgid "Trampolines not yet implemented"
-msgstr "Trampoliner understøttes ikke endnu"
+#: config/dsp16xx/dsp16xx.c:1921
+msgid "invalid offset in ybase addressing"
+msgstr "ugyldigt afsæt i ybase-adressering"
+
+#: config/dsp16xx/dsp16xx.c:1924
+msgid "invalid register in ybase addressing"
+msgstr "ugyldigt register i ybase-adressering"
+
+#: config/dsp16xx/dsp16xx.c:2099
+msgid "invalid shift operator in emit_1600_core_shift"
+msgstr "ugyldig skifteoperator i emit_1600_core_shift"
+
+#: config/dsp16xx/dsp16xx.c:2428
+msgid "invalid mode for gen_tst_reg"
+msgstr "ugyldig tilstand for gen_tst_reg"
+
+#: config/dsp16xx/dsp16xx.c:2500
+msgid "invalid mode for integer comparison in gen_compare_reg"
+msgstr "ugyldig tilstand for heltalssammenligning i gen_compare_reg"
#. 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/dsp16xx/dsp16xx.h:230
+msgid "Pass parameters in registers (default)"
+msgstr "Overbring parametre i registre (standard)"
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
-msgstr ""
+#: config/dsp16xx/dsp16xx.h:232
+msgid "Don't pass parameters in registers"
+msgstr "Overbring ikke parametre i registre"
+
+#: config/dsp16xx/dsp16xx.h:234
+msgid "Generate code for near calls"
+msgstr "Generér kode til nære kald"
+
+#: config/dsp16xx/dsp16xx.h:236
+msgid "Don't generate code for near calls"
+msgstr "Generér ikke kode til nære kald"
+
+#: config/dsp16xx/dsp16xx.h:238
+msgid "Generate code for near jumps"
+msgstr "Generér kode til nære spring"
-#: config/fr30/fr30.c:445
+#: config/dsp16xx/dsp16xx.h:240
+msgid "Don't generate code for near jumps"
+msgstr "Generér ikke kode til nære spring"
+
+#: config/dsp16xx/dsp16xx.h:242
+msgid "Generate code for a bit-manipulation unit"
+msgstr "Generér kode til en bit-manipuleringsenhed"
+
+#: config/dsp16xx/dsp16xx.h:244
+msgid "Don't generate code for a bit-manipulation unit"
+msgstr "Generér ikke kode til en bit-manipuleringsenhed"
+
+#: config/dsp16xx/dsp16xx.h:246
+msgid "Generate code for memory map1"
+msgstr "Generér kode til memory map1"
+
+#: config/dsp16xx/dsp16xx.h:248
+msgid "Generate code for memory map2"
+msgstr "Generér kode til memory map2"
+
+#: config/dsp16xx/dsp16xx.h:250
+msgid "Generate code for memory map3"
+msgstr "Generér kode til memory map3"
+
+#: config/dsp16xx/dsp16xx.h:252
+msgid "Generate code for memory map4"
+msgstr "Generér kode til memory map4"
+
+#: config/dsp16xx/dsp16xx.h:254
+msgid "Ouput extra code for initialized data"
+msgstr "Udsend ekstra kode til data med startværdier"
+
+#: config/dsp16xx/dsp16xx.h:256
+msgid "Don't let reg. allocator use ybase registers"
+msgstr "Lad ikke registerallokeringen benytte ybase-registre"
+
+#: config/dsp16xx/dsp16xx.h:258
+msgid "Output extra debug info in Luxworks environment"
+msgstr "Udsend ekstra fejlanalyseringsinfo i Luxworks-miljøet"
+
+#: config/dsp16xx/dsp16xx.h:260
+msgid "Save temp. files in Luxworks environment"
+msgstr "Gem midlertidige filer i Luxworks-miljøet"
+
+#: config/dsp16xx/dsp16xx.h:272
+msgid "Specify alternate name for text section"
+msgstr "Angiv alternativt navn til tekstsektionen"
+
+#: config/dsp16xx/dsp16xx.h:274
+msgid "Specify alternate name for data section"
+msgstr "Angiv alternativt navn til datasektionen"
+
+#: config/dsp16xx/dsp16xx.h:276
+msgid "Specify alternate name for bss section"
+msgstr "Angiv alternativt navn til bss-sektionen"
+
+#: config/dsp16xx/dsp16xx.h:278
+msgid "Specify alternate name for constant section"
+msgstr "Angiv alternativt navn til konstantsektionen"
+
+#: config/dsp16xx/dsp16xx.h:280
+msgid "Specify alternate name for dsp16xx chip"
+msgstr "Angiv alternativt navn til dsp16xx-chippen"
+
+#. Output assembler code to FILE to increment profiler label # LABELNO
+#. for profiling a function entry.
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
+msgid "profiling not implemented yet"
+msgstr "profilering understøttes ikke endnu"
+
+#. 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:1228 config/dsp16xx/dsp16xx.h:1240
+msgid "trampolines not yet implemented"
+msgstr "trampoliner understøttes ikke endnu"
+
+#: config/fr30/fr30.c:453
msgid "fr30_print_operand_address: unhandled address"
-msgstr ""
+msgstr "fr30_print_operand_address: ikke-håndteret adresse"
-#: config/fr30/fr30.c:472
+#: config/fr30/fr30.c:480
#, c-format
-msgid "fr30_print_operand: unrecognised %p code"
-msgstr ""
+msgid "fr30_print_operand: unrecognized %%p code"
+msgstr "fr30_print_operand: ukendt '%%p'-kode"
-#: config/fr30/fr30.c:492
-msgid "fr30_print_operand: unrecognised %b code"
-msgstr ""
-
-#: config/fr30/fr30.c:513
-msgid "fr30_print_operand: unrecognised %B code"
-msgstr ""
+#: config/fr30/fr30.c:500
+#, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
+msgstr "fr30_print_operand: ukendt '%%b'-kode"
#: config/fr30/fr30.c:521
-#, fuzzy
-msgid "fr30_print_operand: invalid operand to %A code"
-msgstr "ugyldig operand til '%N'-koden"
+#, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
+msgstr "fr30_print_operand: ukendt '%%B'-kode"
-#: config/fr30/fr30.c:538
+#: config/fr30/fr30.c:529
#, c-format
-msgid "fr30_print_operand: invalid %x code"
-msgstr ""
+msgid "fr30_print_operand: invalid operand to %%A code"
+msgstr "fr30_print_operand: ugyldig operand til '%%A'-kode"
-#: config/fr30/fr30.c:545
-msgid "fr30_print_operand: invalid %F code"
-msgstr ""
+#: config/fr30/fr30.c:546
+#, c-format
+msgid "fr30_print_operand: invalid %%x code"
+msgstr "fr30_print_operand: ugyldig '%%x'-kode"
-#: config/fr30/fr30.c:561
+#: config/fr30/fr30.c:553
+#, c-format
+msgid "fr30_print_operand: invalid %%F code"
+msgstr "fr30_print_operand: ugyldig '%%F'-kode"
+
+#: config/fr30/fr30.c:570
msgid "fr30_print_operand: unknown code"
-msgstr ""
+msgstr "fr30_print_operand: ukendt kode"
-#: config/fr30/fr30.c:590 config/fr30/fr30.c:599 config/fr30/fr30.c:610
-#: config/fr30/fr30.c:623
+#: 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 ""
+msgstr "fr30_print_operand: ikke-håndteret MEM"
-#: config/fr30/fr30.h:85
+#: config/fr30/fr30.h:63
msgid "Assume small address space"
-msgstr ""
+msgstr "Antag lille adresserum"
+
+#: config/frv/frv.c:410 config/frv/frv.c:428
+#, c-format
+msgid "Unknown cpu: -mcpu=%s"
+msgstr "Ukendt processor: -mcpu=%s"
-#: config/h8300/h8300.c:116
-#, fuzzy
-msgid "-ms2600 is used without -ms."
-msgstr "makroen '%s' kaldt uden parametre"
+#: config/frv/frv.c:451
+msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+msgstr "-fpic og -gdwarf er indbyrdes uforenelige (-fpic og -g/-gdwarf-2 er i orden)"
-#: config/h8300/h8300.c:3047 config/h8300/h8300.c:3059
-msgid "Only initialized variables can be placed into the 8-bit area."
-msgstr ""
+#: config/frv/frv.c:2520
+msgid "Bad insn to frv_print_operand_address:"
+msgstr "Ugyldig instruktion til frv_print_operand_address:"
+
+#: config/frv/frv.c:2533
+msgid "Bad register to frv_print_operand_memory_reference_reg:"
+msgstr "Ugyldigt register til frv_print_operand_memory_reference_reg:"
+
+#: 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 "Ugyldig instruktion til frv_print_operand_memory_reference:"
+
+#: config/frv/frv.c:2779
+msgid "Bad insn in frv_print_operand, bad const_double"
+msgstr "Ugyldig instruktion i frv_print_operand, ugyldig const_double"
+
+#: config/frv/frv.c:2824
+msgid "Bad insn to frv_print_operand, 'C' modifier:"
+msgstr "Ugyldig instruktionen til frv_print_operand, 'C'-modifikation:"
+
+#: config/frv/frv.c:2847
+msgid "Bad insn to frv_print_operand, 'c' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'c'-modifikation:"
+
+#: config/frv/frv.c:2872
+msgid "Bad insn to frv_print_operand, 'e' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'e'-modifikation:"
+
+#: config/frv/frv.c:2880
+msgid "Bad insn to frv_print_operand, 'F' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'F'-modifikation:"
+
+#: config/frv/frv.c:2896
+msgid "Bad insn to frv_print_operand, 'f' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'f'-modifikation:"
+
+#: config/frv/frv.c:2949
+msgid "Bad insn to frv_print_operand, 'L' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'L'-modifikation:"
+
+#: config/frv/frv.c:2962
+msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'M/N'-modifikation:"
+
+#: config/frv/frv.c:2983
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, 'O'-modifikation:"
+
+#: config/frv/frv.c:3001
+msgid "Bad insn to frv_print_operand, P modifier:"
+msgstr "Ugyldig instruktion til frv_print_operand, P-modifikation:"
+
+#: config/frv/frv.c:3021
+msgid "Bad insn in frv_print_operand, z case"
+msgstr "Ugyldig instruktion i frv_print_operand, tilfældet z"
+
+#: config/frv/frv.c:3049
+msgid "Bad insn in frv_print_operand, 0 case"
+msgstr "Ugyldig instruktion i frv_print_operand, tilfældet 0"
+
+#: config/frv/frv.c:3054
+msgid "frv_print_operand: unknown code"
+msgstr "fr_print_operand: ukendt kode"
+
+#: config/frv/frv.c:5737
+msgid "Bad output_move_single operand"
+msgstr "Ugyldig output_move_single-operand"
+
+#: config/frv/frv.c:5866
+msgid "Bad output_move_double operand"
+msgstr "Ugyldig output_move_double-operand"
+
+#: config/frv/frv.c:6010
+msgid "Bad output_condmove_single operand"
+msgstr "Ugyldig output_condmove_single-operand"
+
+#: config/frv/frv.c:8315
+msgid "frv_registers_update"
+msgstr "frv_registers_update"
+
+#: config/frv/frv.c:8475
+msgid "frv_registers_used_p"
+msgstr "frv_registers_used_p"
+
+#: config/frv/frv.c:8604
+msgid "frv_registers_set_p"
+msgstr "frv_registers_set_p"
+
+#: config/frv/frv.c:9171
+msgid "accumulator is not a constant integer"
+msgstr "akkumulator er ikke et konstant heltal"
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
+msgstr "akkumulatortal er uden for det gyldig interval"
+
+#: config/frv/frv.c:9187
+#, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "forkert akkumulator for '%s'"
+
+#: config/frv/frv.c:9253
+#, c-format
+msgid "`%s' expects a constant argument"
+msgstr "'%s' forventer en konstant parameter"
+
+#: config/frv/frv.c:9258
+#, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "konstant parameter uden for det gyldige interval for '%s'"
+
+#: config/frv/frv.c:9638
+msgid "media functions are not available unless -mmedia is used"
+msgstr "mediafunktioner er ikke tilgængelige medmindre -mmedia benyttes"
+
+#: config/frv/frv.c:9650
+msgid "this media function is only available on the fr500"
+msgstr "denne mediafunktion er kun tilgængelig på fr500"
+
+#: config/frv/frv.c:9678
+msgid "this media function is only available on the fr400"
+msgstr "denne mediafunktion er kun tilgængelig på fr400"
+
+#. 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 " (frv)"
+
+#: config/h8300/h8300.c:314
+msgid "-ms2600 is used without -ms"
+msgstr "-ms2600 benyttet uden -ms"
+
+#: config/h8300/h8300.c:320
+msgid "-mn is used without -mh or -ms"
+msgstr "-mn benyttet uden -mh eller -ms"
#. 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:108
-msgid "Generate H8/S code"
-msgstr ""
+#: config/h8300/h8300.h:150
+msgid "Generate H8S code"
+msgstr "Generér H8S-kode"
-#: config/h8300/h8300.h:109
-#, fuzzy
-msgid "Do not generate H8/S code"
-msgstr "Generér ikke sin, cos, sqrt til fpu"
+#: config/h8300/h8300.h:151
+msgid "Do not generate H8S code"
+msgstr "Generér ikke H8S-kode"
-#: config/h8300/h8300.h:110
-msgid "Generate H8/S2600 code"
-msgstr ""
+#: config/h8300/h8300.h:152
+msgid "Generate H8S/2600 code"
+msgstr "Generér H8S/2600-kode"
-#: config/h8300/h8300.h:111
-msgid "Do not generate H8/S2600 code"
-msgstr ""
+#: config/h8300/h8300.h:153
+msgid "Do not generate H8S/2600 code"
+msgstr "Generér ikke H8S/2600-kode"
-#: config/h8300/h8300.h:112
+#: config/h8300/h8300.h:154
msgid "Make integers 32 bits wide"
-msgstr ""
+msgstr "Gør heltal 32 bit brede"
-#: config/h8300/h8300.h:115
+#: config/h8300/h8300.h:157
msgid "Use registers for argument passing"
-msgstr ""
+msgstr "Benyt registre til parameteroverbringning"
-#: config/h8300/h8300.h:117
+#: config/h8300/h8300.h:159
msgid "Do not use registers for argument passing"
-msgstr ""
+msgstr "Benyt ikke registre til parameteroverbringning"
-#: config/h8300/h8300.h:119
+#: config/h8300/h8300.h:161
msgid "Consider access to byte sized memory slow"
-msgstr ""
+msgstr "Betragt tilgang til bytestørrelseshukommelse som langsomt"
-#: config/h8300/h8300.h:120
-#, fuzzy
+#: config/h8300/h8300.h:162
msgid "Enable linker relaxing"
-msgstr "Aktivér stakprøvning"
+msgstr "Aktivér tolerant sammenkædning"
-#: config/h8300/h8300.h:122
+#: config/h8300/h8300.h:164
msgid "Generate H8/300H code"
-msgstr ""
+msgstr "Generér H8/300H-kode"
-#: config/h8300/h8300.h:123
+#: config/h8300/h8300.h:165
+msgid "Enable the normal mode"
+msgstr "Aktivér den normale tilstand"
+
+#: config/h8300/h8300.h:166
msgid "Do not generate H8/300H code"
-msgstr ""
+msgstr "Generér ikke H8/300H-kode"
-#: config/h8300/h8300.h:124
+#: config/h8300/h8300.h:167
msgid "Use H8/300 alignment rules"
-msgstr ""
+msgstr "Benyt H8/300-justeringsregler"
+
+#: config/i370/i370-c.c:53
+msgid "junk at end of #pragma map"
+msgstr "ragelse i slutningen af #pragma map"
+
+#: config/i370/i370-c.c:59
+msgid "malformed #pragma map, ignored"
+msgstr "forkert udformet '#pragma map' - ignoreret"
-#: config/i370/i370.c:869
+#: config/i370/i370.c:915
msgid "real name is too long - alias ignored"
-msgstr ""
+msgstr "rigtigt navn for langt - alias ignoreret"
-#: config/i370/i370.c:874
+#: config/i370/i370.c:920
msgid "alias name is too long - alias ignored"
-msgstr ""
-
-#: config/i370/i370.c:1039
-#, fuzzy
-msgid "junk at end of #pragma map"
-msgstr "ragelse i slutningen af #%s"
+msgstr "aliasnavn for langt - alias ignoreret"
-#: config/i370/i370.c:1045
-#, fuzzy
-msgid "malformed #pragma map, ignored"
-msgstr "forkert udformet #pragma-direktiv"
+#: config/i370/i370.c:1191
+msgid "internal error--no jump follows compare:"
+msgstr "intern fejl - intet spring efterfølger sammenligning:"
#. 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/i370/i370.h:63
-#, fuzzy
+#: config/i370/i370.h:75
msgid "Generate char instructions"
-msgstr "Se %s for instruktioner."
+msgstr "Generér char-instruktioner"
-#: config/i370/i370.h:64
-#, fuzzy
+#: config/i370/i370.h:76
msgid "Do not generate char instructions"
-msgstr "Generér ikke sin, cos, sqrt til fpu"
-
-#: config/i386/cygwin.h:49
-msgid "Use the Cygwin interface"
-msgstr ""
-
-#: config/i386/cygwin.h:51
-msgid "Use the Mingw32 interface"
-msgstr ""
-
-#: config/i386/cygwin.h:52
-msgid "Create GUI application"
-msgstr ""
-
-#: config/i386/cygwin.h:53
-msgid "Don't set Windows defines"
-msgstr ""
-
-#: config/i386/cygwin.h:54
-msgid "Set Windows defines"
-msgstr ""
-
-#: config/i386/cygwin.h:56
-msgid "Create console application"
-msgstr ""
-
-#: config/i386/cygwin.h:57 config/i386/win32.h:59
-#, fuzzy
-msgid "Generate code for a DLL"
-msgstr "Generér kode til en given cpu"
-
-#: config/i386/cygwin.h:59 config/i386/win32.h:61
-msgid "Ignore dllimport for functions"
-msgstr ""
-
-#: config/i386/cygwin.h:61
-msgid "Use Mingw-specific thread support"
-msgstr ""
+msgstr "Generér ikke char-instruktioner"
-#: config/i386/cygwin.h:313
+#: config/i386/i386.c:1050
#, c-format
-msgid "-f%s ignored for target (all code is position independent)"
-msgstr ""
+msgid "code model %s not supported in PIC mode"
+msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand"
-#: config/i386/dgux.c:185
+#: config/i386/i386.c:1060 config/sparc/sparc.c:356
#, c-format
-msgid "Internal gcc abort from %s:%d"
-msgstr "Internt gcc-afbrydelse fra %s:%d"
-
-#: config/i386/dgux.c:189
-msgid "The local variable `insn' has the value:"
-msgstr "Den lokale variabel 'insn' har værdien:"
-
-#: config/i386/dgux.h:62
-msgid "Retain standard MXDB information"
-msgstr ""
-
-#: config/i386/dgux.h:64
-#, fuzzy
-msgid "Retain legend information"
-msgstr "ikke tilstrækkelig information om typen"
-
-#: config/i386/dgux.h:67
-#, fuzzy
-msgid "Generate external legend information"
-msgstr "ikke tilstrækkelig information om typen"
+msgid "bad value (%s) for -mcmodel= switch"
+msgstr "ugyldig værdi (%s) til tilvalget -mcmodel="
-#: config/i386/dgux.h:69
-msgid "Emit identifying info in .s file"
-msgstr ""
+#: config/i386/i386.c:1075
+#, c-format
+msgid "bad value (%s) for -masm= switch"
+msgstr "ugyldig værdi (%s) til tilvalget -masm="
-#: config/i386/dgux.h:71
-msgid "Warn when a function arg is a structure"
-msgstr ""
+#: config/i386/i386.c:1078
+#, c-format
+msgid "code model `%s' not supported in the %s bit mode"
+msgstr "kodemodellen %s er ikke understøttet i %s bit-tilstand"
-#: config/i386/dgux.h:249
-msgid "argument is a structure"
-msgstr ""
+#: config/i386/i386.c:1081
+msgid "code model `large' not supported yet"
+msgstr "kodemodellen 'large' er ikke understøttet endnu"
-#: config/i386/djgpp.h:286
-msgid "-mbnu210 is ignored (option is obsolete)."
-msgstr ""
+#: config/i386/i386.c:1083
+#, c-format
+msgid "%i-bit mode not compiled in"
+msgstr "%i bit-tilstand er ikke oversat med ind"
-#: config/i386/i386.c:558
+#: config/i386/i386.c:1113
#, c-format
msgid "bad value (%s) for -march= switch"
-msgstr "Ugyldig værdi (%s) til '-march='-tilvalget"
+msgstr "ugyldig værdi (%s) til tilvalget -march="
-#: config/i386/i386.c:570 config/mips/mips.c:4935
+#: config/i386/i386.c:1124
#, c-format
msgid "bad value (%s) for -mcpu= switch"
-msgstr "Ugyldig værdi (%s) til '-mcpu='-tilvalget"
-
-#: config/i386/i386.c:601
-#, c-format
-msgid "Register '%c' is unknown"
-msgstr "Registret '%c' er ukendt"
-
-#: config/i386/i386.c:607
-#, c-format
-msgid "Register '%c' already specified in allocation order"
-msgstr "Registret '%c' er allerede angivet i tildelingsordenen"
+msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
-#: config/i386/i386.c:620
+#: config/i386/i386.c:1141
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr "-mregparm=%d er ikke mellem 0 og %d"
-#: config/i386/i386.c:631
+#: config/i386/i386.c:1154
+msgid "-malign-loops is obsolete, use -falign-loops"
+msgstr "-malign-loops er forældet, benyt -falign-loops"
+
+#: config/i386/i386.c:1159 config/i386/i386.c:1172 config/i386/i386.c:1185
#, c-format
msgid "-malign-loops=%d is not between 0 and %d"
msgstr "-malign-loops=%d er ikke mellem 0 og %d"
-#: config/i386/i386.c:642
-#, c-format
-msgid "-malign-jumps=%d is not between 0 and %d"
-msgstr "-malign-jumps=%d er ikke mellem 0 og %d"
+#: config/i386/i386.c:1167
+msgid "-malign-jumps is obsolete, use -falign-jumps"
+msgstr "-malign-jumps er forældet, benyt -falign-jumps"
-#: config/i386/i386.c:653
-#, c-format
-msgid "-malign-functions=%d is not between 0 and %d"
-msgstr "-malign-functions=%d er ikke mellem 0 og %d"
+#: config/i386/i386.c:1180
+msgid "-malign-functions is obsolete, use -falign-functions"
+msgstr "-malign-functions er forældet, benyt -falign-functions"
-#: config/i386/i386.c:666
+#: config/i386/i386.c:1218
#, c-format
-msgid "-mpreferred-stack-boundary=%d is not between 2 and 31"
-msgstr "-mpreferred-stack-boundary=%d er ikke mellem 2 og 31"
+msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12"
-#: config/i386/i386.c:677
+#: config/i386/i386.c:1230
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr "-mbranch-cost=%d er ikke mellem 0 og 5"
-#. We can't handle floating point constants;
-#. PRINT_OPERAND must handle them.
-#: config/i386/i386.c:3124 config/pdp11/pdp11.c:1477 final.c:3676
-msgid "floating constant misused"
-msgstr "kommatalskonstant misbrugt"
+#: config/i386/i386.c:1242
+#, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "ugyldig værdi (%s) til tilvalget -mtls-dialect"
+
+#: config/i386/i386.c:1263
+msgid "-malign-double makes no sense in the 64bit mode"
+msgstr "-malign-double giver ikke mening i 64 bit-tilstand"
+
+#: config/i386/i386.c:1265
+msgid "-mrtd calling convention not supported in the 64bit mode"
+msgstr "kaldekonventionen -mrtd er ikke understøttet i 64 bit-tilstand"
+
+#: config/i386/i386.c:1281 config/i386/i386.c:1292
+msgid "SSE instruction set disabled, using 387 arithmetics"
+msgstr "SSE-instruktionssæt deaktiveret, bruger 387-beregninger"
+
+#: config/i386/i386.c:1297
+msgid "387 instruction set disabled, using SSE arithmetics"
+msgstr "387-instruktionssæt deaktiveret, bruger SSE-beregninger"
+
+#: config/i386/i386.c:1304
+#, c-format
+msgid "bad value (%s) for -mfpmath= switch"
+msgstr "ugyldig værdi (%s) til tilvalget -mfpmath="
+
+#: config/i386/i386.c:1436
+#, c-format
+msgid "`%s' attribute requires an integer constant argument"
+msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
-#: config/i386/i386.c:3169
+#: config/i386/i386.c:1442
+#, c-format
+msgid "argument to `%s' attribute larger than %d"
+msgstr "parameter til egenskaben '%s' er større end %d"
+
+#: config/i386/i386.c:6325
msgid "invalid UNSPEC as operand"
msgstr "ugyldig UNSPEC som operand"
-#: config/i386/i386.c:3175 config/pdp11/pdp11.c:1524 final.c:3731
-msgid "invalid expression as operand"
-msgstr "ugyldigt udtryk som operand"
+#: config/i386/i386.c:6587
+msgid "extended registers have no high halves"
+msgstr "udvidede registre har ikke høje halvdele"
+
+#: config/i386/i386.c:6602
+msgid "unsupported operand size for extended register"
+msgstr "ikke-understøttet operandstørrelse for udvidede registre"
+
+#: config/i386/i386.c:6917
+msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
+
+#: config/i386/i386.c:6963
+#, c-format
+msgid "invalid operand code `%c'"
+msgstr "ugyldig operandkode '%c'"
+
+#: config/i386/i386.c:7010
+msgid "invalid constraints for operand"
+msgstr "ugyldige begrænsninger for operand"
+
+#: config/i386/i386.c:11189
+msgid "unknown insn mode"
+msgstr "ukendt instruktionstilstand"
#. @@@ better error message
-#: config/i386/i386.c:8457 config/i386/i386.c:8490 config/i386/i386.c:8627
+#: config/i386/i386.c:13309 config/i386/i386.c:13345
msgid "selector must be an immediate"
-msgstr ""
+msgstr "vælger skal være en umiddelbar værdi"
#. @@@ better error message
-#: config/i386/i386.c:8658 config/i386/i386.c:8686
+#: config/i386/i386.c:13506 config/i386/i386.c:13540
msgid "mask must be an immediate"
-msgstr ""
+msgstr "maske skal være en umiddelbar værdi"
+
+#: config/i386/i386.c:13572
+msgid "shift must be an immediate"
+msgstr "skifteværdi skal være en umiddelbar værdi"
+
+#: config/i386/winnt.c:105
+#, c-format
+msgid "`%s' attribute only applies to variables"
+msgstr "egenskaben '%s' kan kun anvendes på variabler"
+
+#: config/i386/winnt.c:275
+#, c-format
+msgid "`%s' declared as both exported to and imported from a DLL"
+msgstr "'%s' erklæret som både eksporteret til og importeret fra en DLL"
+
+#: config/i386/cygwin.h:45
+msgid "Use the Cygwin interface"
+msgstr "Benyt Cygwin-grænsefladen"
+
+#: config/i386/cygwin.h:46
+msgid "Use the Mingw32 interface"
+msgstr "Benyt Mingw32-grænsefladen"
+
+#: config/i386/cygwin.h:47
+msgid "Create GUI application"
+msgstr "Opret grafisk program"
+
+#: config/i386/cygwin.h:48
+msgid "Don't set Windows defines"
+msgstr "Angiv ikke Windows-definitioner"
-#: config/i386/i386.h:45 config/mips/mips.h:176
-msgid "half-pic init called on systems that don't support it."
-msgstr "half-pic klargøring kaldes på systemer der ikke understøtter det."
+#: config/i386/cygwin.h:49
+msgid "Set Windows defines"
+msgstr "Angiv Windows-definitioner"
-#: config/i386/i386.h:238
-msgid "Same as -mcpu=i386"
-msgstr "Magen til -mcpu=i386"
+#: config/i386/cygwin.h:50
+msgid "Create console application"
+msgstr "Opret konsolprogram"
-#: config/i386/i386.h:239
-msgid "Same as -mcpu=i486"
-msgstr "Magen til -mcpu=i486"
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
+msgid "Generate code for a DLL"
+msgstr "Generér kode til en DLL"
-#: config/i386/i386.h:240
-msgid "Same as -mcpu=pentium"
-msgstr "Magen til -mcpu=pentium"
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
+msgid "Ignore dllimport for functions"
+msgstr "Ignorér dllimport til funktioner"
-#: config/i386/i386.h:241
-msgid "Same as -mcpu=pentiumpro"
-msgstr "Magen til -mcpu=pentiumpro"
+#: config/i386/cygwin.h:55
+msgid "Use Mingw-specific thread support"
+msgstr "Benyt Mingw-specifik trådunderstøttelse"
-#: config/i386/i386.h:243
+#: config/i386/cygwin.h:245
+#, c-format
+msgid "-f%s ignored for target (all code is position independent)"
+msgstr "-f%s ignoreret for målarkitekturen (all kode er positionsuafhængigt)"
+
+#: config/i386/djgpp.h:204
+msgid "-mbnu210 is ignored (option is obsolete)"
+msgstr "-mbnu210 ignoreres (tilvalget er forældet)"
+
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#: config/i386/i386.h:306
msgid "Alternate calling convention"
msgstr "Alternativ kaldekonvention"
-#: config/i386/i386.h:245 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 "Brug normal kaldekonvention"
-#: config/i386/i386.h:247
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr "Justér nogle double-variabler til dword-grænserne"
-#: config/i386/i386.h:249
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr "Justér double-variabler til word-grænserne"
-#: config/i386/i386.h:251
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr "Lokale variabler uden startværdi i .bss"
-#: config/i386/i386.h:253
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr "Lokale variabler uden startværdi i .data"
-#: config/i386/i386.h:255
+#: 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 "Brug IEEE-matematik til kommatalssammenligninger"
-#: config/i386/i386.h:257
+#: config/i386/i386.h:320 config/ns32k/ns32k.h:169
msgid "Do not use IEEE math for fp comparisons"
-msgstr "Brug ikke IEEE-regning til kommatalssammenligninger"
+msgstr "Brug ikke IEEE-matematik til kommatalssammenligninger"
-#: config/i386/i386.h:259
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr "Returnér værdier fra funktioner i fpu-registre"
-#: config/i386/i386.h:261
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr "Returnér ikke værdier fra funktioner i fpu-registre"
-#: config/i386/i386.h:263
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr "Generér ikke sin, cos, sqrt til fpu"
-#: config/i386/i386.h:265
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr "Generér sin, cos og sqrt til fpu"
-#: config/i386/i386.h:267
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr "Udelad rammehenvisningen i de yderste funktioner"
-#. undocumented
-#. undocumented
-#. undocumented
-#. undocumented
-#: config/i386/i386.h:274
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr "Aktivér stakprøvning"
#. undocumented
#. undocumented
-#: config/i386/i386.h:279
-msgid "Emit Intel syntax assembler opcodes"
-msgstr "Konstruer instruktionerne til maskinkodeoversætteren med Intel-syntaks"
-
-#: config/i386/i386.h:282
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr "Justér strengoperationernes destination"
-#: config/i386/i386.h:284
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr "Justér ikke strengoperationernes destination"
-#: config/i386/i386.h:286
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
-msgstr "Integrér alle kendte strengoperationer"
+msgstr "Indbyg alle kendte strengoperationer"
-#: config/i386/i386.h:288
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
-msgstr "Integrér ikke alle kendte strengoperationer"
+msgstr "Indbyg ikke alle kendte strengoperationer"
-#: config/i386/i386.h:290 config/i386/i386.h:294
+#: config/i386/i386.h:346 config/i386/i386.h:350
msgid "Use push instructions to save outgoing arguments"
msgstr "Brug push-instruktioner til at gemme udgående parametre"
-#: config/i386/i386.h:292 config/i386/i386.h:296
+#: config/i386/i386.h:348 config/i386/i386.h:352
msgid "Do not use push instructions to save outgoing arguments"
msgstr "Brug ikke push-instruktioner til at gemme udgående parametre"
-#: config/i386/i386.h:298
-msgid "sizeof(long double) is 16."
-msgstr ""
+# shadowing betyder at en funktion har samme navn og dermed skjuler en anden
+#: config/i386/i386.h:354
+msgid "Support MMX built-in functions"
+msgstr "Understøt indbyggede MMX-funktioner"
-#: config/i386/i386.h:300
-msgid "sizeof(long double) is 12."
-msgstr ""
+#: config/i386/i386.h:356
+msgid "Do not support MMX built-in functions"
+msgstr "Understøt ikke indbyggede MMX-funktioner"
+
+# shadowing betyder at en funktion har samme navn og dermed skjuler en anden
+#: config/i386/i386.h:358
+msgid "Support 3DNow! built-in functions"
+msgstr "Understøt indbyggede 3DNow!-funktioner"
+
+#: config/i386/i386.h:360
+msgid "Do not support 3DNow! built-in functions"
+msgstr "Understøt ikke indbyggede 3DNow!-funktioner"
+
+#: config/i386/i386.h:362
+msgid "Support MMX and SSE built-in functions and code generation"
+msgstr "Understøt indbyggede MMX- og SSE-funktioner og kodegenerering"
+
+#: config/i386/i386.h:364
+msgid "Do not support MMX and SSE built-in functions and code generation"
+msgstr "Understøt ikke indbyggede MMX- og SSE-funktioner og kodegenerering"
+
+#: config/i386/i386.h:366
+msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr "Understøt indbyggede MMX-, SSE- og SSE2-funktioner og kodegenerering"
+
+#: config/i386/i386.h:368
+msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr "Understøt ikke indbyggede MMX-, SSE- og SSE2-funktioner og kodegenerering"
+
+#: config/i386/i386.h:370
+msgid "sizeof(long double) is 16"
+msgstr "sizeof(long double) er 16"
+
+#: config/i386/i386.h:372
+msgid "sizeof(long double) is 12"
+msgstr "sizeof(long double) er 12"
+
+#: config/i386/i386.h:374
+msgid "Generate 64bit x86-64 code"
+msgstr "Generér 64 bit x86-64-kode"
+
+#: config/i386/i386.h:376
+msgid "Generate 32bit i386 code"
+msgstr "Generér 64 bit i386-kode"
+
+#: config/i386/i386.h:378
+msgid "Use red-zone in the x86-64 code"
+msgstr "Benyt rødzone i x86-64-koden"
+
+#: config/i386/i386.h:380
+msgid "Do not use red-zone in the x86-64 code"
+msgstr "Benyt ikke rødzone i x86-64-koden"
#. This macro is similar to `TARGET_SWITCHES' but defines names of
#. command options that have values. Its definition is an
@@ -5110,147 +10636,125 @@ 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:333 config/rs6000/rs6000.h:402 config/sparc/sparc.h:710
+#: config/i386/i386.h:409 config/rs6000/rs6000.h:393 config/sparc/sparc.h:635
msgid "Schedule code for given CPU"
-msgstr "Planlæg koden til en given cpu"
+msgstr "Planlæg koden til en given processor"
-#: config/i386/i386.h:335
-msgid "Generate code for given CPU"
-msgstr "Generér kode til en given cpu"
+#: config/i386/i386.h:411
+msgid "Generate floating point mathematics using given instruction set"
+msgstr "Generér kommatalsmatematik vha. givent instruktionssæt"
-#: config/i386/i386.h:337
-msgid "Control allocation order of integer registers"
-msgstr "Kontrollér tildelingsordenen for heltalsregistrene"
+#: config/i386/i386.h:413
+msgid "Generate code for given CPU"
+msgstr "Generér kode til en given processor"
-#: config/i386/i386.h:339
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr "Antallet af registre der skal bruges til at overbringe heltalsparametre"
-#: config/i386/i386.h:341
+#. TARGET_DEFAULT is defined in sun*.h and isi.h, etc.
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:417 config/m68k/m68k.h:263
msgid "Loop code aligned to this power of 2"
msgstr "Løkkekode skal justeres til denne potens af 2"
-#: config/i386/i386.h:343
+#: config/i386/i386.h:419 config/m68k/m68k.h:265
msgid "Jump targets are aligned to this power of 2"
msgstr "Steder der skal springes til, justeres til denne potens af 2"
-#: config/i386/i386.h:345
+#: config/i386/i386.h:421 config/m68k/m68k.h:267
msgid "Function starts are aligned to this power of 2"
msgstr "Funktionsbegyndelser justeres til denne potens af 2"
-#: config/i386/i386.h:348
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr "Forsøg at holde stakken justeret til denne potens af 2"
-#: config/i386/i386.h:350
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr "Forgreninger koster dette (1-5, vilkårlige enheder)"
-#: config/i386/osf1elf.h:111
-msgid "Profiling uses mcount"
-msgstr ""
-
-#: config/i386/osfrose.h:63
-msgid "Emit half-PIC code"
-msgstr ""
-
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:70
-msgid "Emit ELF object code"
-msgstr ""
-
-#: config/i386/osfrose.h:72
-msgid "Emit ROSE object code"
-msgstr ""
-
-#: config/i386/osfrose.h:74
-msgid "Symbols have a leading underscore"
-msgstr ""
-
-#: config/i386/osfrose.h:77
-#, fuzzy
-msgid "Align to >word boundaries"
-msgstr "Justér double-variabler til word-grænserne"
+#: config/i386/i386.h:428
+msgid "Use given x86-64 code model"
+msgstr "Benyt den givne x86-64-kodemodel"
-#: config/i386/osfrose.h:80
-msgid "Use mcount for profiling"
-msgstr ""
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
+msgid "Use given assembler dialect"
+msgstr "Benyt den givne maskinkodedialekt"
-#: config/i386/osfrose.h:82
-msgid "Use mcount_ptr for profiling"
-msgstr ""
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
+msgstr "Benyt den givne tråd-lokale lagringsdialekt"
-#: config/i386/sco5.h:887
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
-msgstr ""
+msgstr "Generér ELF-uddata"
#: config/i386/win32.h:53
msgid "Use Mingw32 interface"
-msgstr ""
+msgstr "Benyt Mingw32-grænseflade"
#: config/i386/win32.h:55
msgid "Use Cygwin interface"
-msgstr ""
+msgstr "Benyt Cygwin-grænseflade"
#: config/i386/win32.h:57
msgid "Use bare Windows interface"
-msgstr ""
-
-#: config/i386/winnt.c:311
-#, c-format
-msgid "`%s' declared as both exported to and imported from a DLL."
-msgstr "'%s' erklæret som både eksporteret til og importeret fra en dll."
+msgstr "Benyt bar Windows-grænseflade"
#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
-#: config/i386/xm-djgpp.h:75
-msgid "Environment variable DJGPP not defined."
-msgstr ""
+#: config/i386/xm-djgpp.h:71
+msgid "environment variable DJGPP not defined"
+msgstr "miljøvariablen DJGPP er ikke defineret"
-#: config/i386/xm-djgpp.h:77
+#: config/i386/xm-djgpp.h:73
#, c-format
-msgid "Environment variable DJGPP points to missing file '%s'."
-msgstr ""
+msgid "environment variable DJGPP points to missing file '%s'"
+msgstr "miljøvariablen DJGPP peger på den manglende fil '%s'"
-#: config/i386/xm-djgpp.h:80
+#: config/i386/xm-djgpp.h:76
#, c-format
-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
-#, fuzzy
-msgid "Generate code which uses the FPU"
-msgstr "Generér kode til en given cpu"
-
-#: 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
-#, fuzzy
-msgid "Do not generate code which uses the FPU"
-msgstr "Generér ikke sin, cos, sqrt til fpu"
+msgid "environment variable DJGPP points to corrupt file '%s'"
+msgstr "miljøvariablen DJGPP peger på den ødelagte fil '%s'"
-#: config/i960/i960.c:122
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
-msgstr ""
+msgstr "desværre, ikke implementeret: #pragma align NAVN=STØRRELSE"
-#: config/i960/i960.c:127
-#, fuzzy
+#: config/i960/i960-c.c:71
msgid "malformed #pragma align - ignored"
-msgstr "forkert udformet #pragma-direktiv"
+msgstr "forkert udformet '#pragma align' - ignoreret"
-#: config/i960/i960.c:165
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
-msgstr ""
+msgstr "desværre, ikke implementeret: #pragma noalign NAVN"
+
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr "modstridende arkitekturer defineret - bruger C-serien"
-#: config/i960/i960.c:1513 config/m68k/m68k.c:407 config/rs6000/rs6000.c:5520
-#, fuzzy
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr "modstridende arkitekturer defineret - bruger K-serien"
+
+#: config/i960/i960.c:141
+msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+msgstr "iC2.0 og iC3.0 er inkompatible - bruger iC3.0"
+
+#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9974
msgid "stack limit expression is not supported"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+msgstr "stakgrænseudtryk understøttes ikke"
#. Macro to define tables used to set the flags.
#. This is a list in braces of pairs in braces,
@@ -5259,374 +10763,451 @@ msgstr "stakgrænser understøttes ikke på målarkitekturen"
#. An empty string NAME is used to identify the default VALUE.
#. ??? Not all ten of these architecture variations actually exist, but I
#. am not sure which are real and which aren't.
-#: config/i960/i960.h:241
-#, fuzzy
+#: config/i960/i960.h:240
msgid "Generate SA code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér SA-kode"
-#: config/i960/i960.h:244
-#, fuzzy
+#: config/i960/i960.h:243
msgid "Generate SB code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér SB-kode"
#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
-#: config/i960/i960.h:249
-#, fuzzy
+#: config/i960/i960.h:248
msgid "Generate KA code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér KA-kode"
-#: config/i960/i960.h:252
-#, fuzzy
+#: config/i960/i960.h:251
msgid "Generate KB code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér KB-kode"
#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
-#: config/i960/i960.h:257
-#, fuzzy
+#: config/i960/i960.h:256
msgid "Generate JA code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér JA-kode"
-#: config/i960/i960.h:259
-#, fuzzy
+#: config/i960/i960.h:258
msgid "Generate JD code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér JD-kode"
-#: config/i960/i960.h:262
-#, fuzzy
+#: config/i960/i960.h:261
msgid "Generate JF code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér JF-kode"
-#: config/i960/i960.h:264
+#: config/i960/i960.h:263
msgid "generate RP code"
-msgstr ""
+msgstr "Generér RP-kode"
-#: config/i960/i960.h:267
-#, fuzzy
+#: config/i960/i960.h:266
msgid "Generate MC code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér MC-kode"
-#: config/i960/i960.h:270
-#, fuzzy
+#: config/i960/i960.h:269
msgid "Generate CA code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér CA-kode"
#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
-#: config/i960/i960.h:280
-#, fuzzy
+#: config/i960/i960.h:279
msgid "Generate CF code"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér CF-kode"
+
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:266
+msgid "Use software floating point"
+msgstr "Benyt softwarekommatal"
-#: config/i960/i960.h:286
+#: config/i960/i960.h:285
msgid "Use alternate leaf function entries"
-msgstr ""
+msgstr "Benyt alternative elementer til yderste funktioner"
-#: config/i960/i960.h:288
-#, fuzzy
+#: config/i960/i960.h:287
msgid "Do not use alternate leaf function entries"
-msgstr "Returnér ikke værdier fra funktioner i fpu-registre"
+msgstr "Benyt ikke alternative elementer til yderste funktioner"
-#: config/i960/i960.h:290
+#: config/i960/i960.h:289
msgid "Perform tail call optimization"
-msgstr ""
+msgstr "Udfør halekaldsoptimering"
-#: config/i960/i960.h:292
+#: config/i960/i960.h:291
msgid "Do not perform tail call optimization"
-msgstr ""
+msgstr "Udfør ikke halekaldsoptimering"
-#: config/i960/i960.h:294
-#, fuzzy
+#: config/i960/i960.h:293
msgid "Use complex addressing modes"
-msgstr "Ugyldig adresseringstilstand"
+msgstr "Benyt komplekse adresseringstilstande"
-#: config/i960/i960.h:296
-#, fuzzy
+#: config/i960/i960.h:295
msgid "Do not use complex addressing modes"
-msgstr "Ugyldig adresseringstilstand"
+msgstr "Benyt ikke komplekse adresseringstilstande"
-#: config/i960/i960.h:298
-#, fuzzy
+#: config/i960/i960.h:297
msgid "Align code to 8 byte boundary"
-msgstr "Justér double-variabler til word-grænserne"
+msgstr "Justér kode til 8 byte-grænser"
-#: config/i960/i960.h:300
+#: config/i960/i960.h:299
msgid "Do not align code to 8 byte boundary"
-msgstr ""
+msgstr "Justér ikke kode til 8 byte-grænser"
#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
-#: config/i960/i960.h:306 config/i960/i960.h:308
+#: config/i960/i960.h:305 config/i960/i960.h:307
msgid "Enable compatibility with iC960 v2.0"
-msgstr ""
+msgstr "Aktivér kompatibilitet med iC960 v2.0"
-#: config/i960/i960.h:310
+#: config/i960/i960.h:309
msgid "Enable compatibility with iC960 v3.0"
-msgstr ""
+msgstr "Aktivér kompatibilitet med iC960 v3.0"
-#: config/i960/i960.h:312 config/i960/i960.h:314
+#: config/i960/i960.h:311 config/i960/i960.h:313
msgid "Enable compatibility with ic960 assembler"
-msgstr ""
+msgstr "Aktivér kompatibilitet med ic960-maskinkodeoversætteren"
-#: config/i960/i960.h:316
+#: config/i960/i960.h:315
msgid "Do not permit unaligned accesses"
-msgstr ""
+msgstr "Tillad ikke ikke-justeret adgang"
-#: config/i960/i960.h:318
+#: config/i960/i960.h:317
msgid "Permit unaligned accesses"
-msgstr ""
+msgstr "Tillad ikke-justeret adgang"
-#: config/i960/i960.h:320
+#: config/i960/i960.h:319
msgid "Layout types like Intel's v1.3 gcc"
-msgstr ""
+msgstr "Sammensæt typer som Intels v1.3 gcc"
-#: config/i960/i960.h:322
+#: config/i960/i960.h:321
msgid "Do not layout types like Intel's v1.3 gcc"
-msgstr ""
+msgstr "Sammensæt ikke typer som Intels v1.3 gcc"
-#: config/i960/i960.h:324 config/rs6000/sysv4.h:128 config/sparc/linux.h:83
-#: config/sparc/linux64.h:139
+#: 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 ""
+msgstr "Benyt 64 bit long double"
-#: config/i960/i960.h:326
+#: config/i960/i960.h:325
msgid "Enable linker relaxation"
-msgstr ""
+msgstr "Aktivér tolerant sammenkæder"
-#: config/i960/i960.h:328
+#: config/i960/i960.h:327
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:343 config/i960/i960.h:353
-msgid "conflicting architectures defined - using C series"
-msgstr ""
-
-#: config/i960/i960.h:348
-msgid "conflicting architectures defined - using K series"
-msgstr ""
-
-#: config/i960/i960.h:363
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr ""
+msgstr "Aktivér ikke tolerant sammenkæder"
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:374
-#, fuzzy
-msgid "The -mlong-double-64 option does not work yet."
-msgstr "Understøttelsen af -mabi=32 virker ikke endnu"
+#: config/ia64/ia64-c.c:51
+msgid "malformed #pragma builtin"
+msgstr "forkert udformet '#pragma builtin'"
-#: config/ia64/ia64.c:3413
+#: config/ia64/ia64.c:3976
msgid "ia64_print_operand: unknown code"
-msgstr ""
+msgstr "ia64_print_operand: ukendt kode"
-#: config/ia64/ia64.c:3651
+#: config/ia64/ia64.c:4253
msgid "value of -mfixed-range must have form REG1-REG2"
-msgstr ""
-
-#: config/ia64/ia64.c:3663 config/ia64/ia64.c:3670 regclass.c:714
-#, fuzzy, c-format
-msgid "unknown register name: %s"
-msgstr "ukendt registernavn '%s' i 'asm'"
+msgstr "værdien af -mfixed-range skal være på formen REG1-REG2"
-#: config/ia64/ia64.c:3678
-#, fuzzy, c-format
+#: config/ia64/ia64.c:4280
+#, c-format
msgid "%s-%s is an empty range"
-msgstr "%s=%s er for stor."
+msgstr "%s-%s er et tomt interval"
-#: config/ia64/ia64.c:3743
-msgid "cannot optimize division for both latency and throughput"
-msgstr ""
+#: config/ia64/ia64.c:4311
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr "kan ikke optimere kommatalsdivision for både ventetid og båndbredde"
+
+#: config/ia64/ia64.c:4317
+msgid "cannot optimize integer division for both latency and throughput"
+msgstr "kan ikke optimere heltalsdivision for både ventetid og båndbredde"
+
+#: config/ia64/ia64.c:4329
+#, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "ugyldig værdi (%s) for tilvalget -mtls-size="
#. 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:110
+#: config/ia64/ia64.h:154
msgid "Generate big endian code"
-msgstr ""
+msgstr "Generér storendet kode"
-#: config/ia64/ia64.h:112 config/mcore/mcore.h:164
+#: config/ia64/ia64.h:156 config/mcore/mcore.h:159
msgid "Generate little endian code"
-msgstr ""
+msgstr "Generér lilleendet kode"
-#: config/ia64/ia64.h:114
-#, fuzzy
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU as"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til GNU as"
-#: config/ia64/ia64.h:116
-#, fuzzy
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel as"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til Intel as"
-#: config/ia64/ia64.h:118
-#, fuzzy
+#: config/ia64/ia64.h:162
msgid "Generate code for GNU ld"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til GNU ld"
-#: config/ia64/ia64.h:120
-#, fuzzy
+#: config/ia64/ia64.h:164
msgid "Generate code for Intel ld"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til Intel ld"
-#: config/ia64/ia64.h:122
-#, fuzzy
+#: config/ia64/ia64.h:166
msgid "Generate code without GP reg"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode uden GP-registeret"
-#: config/ia64/ia64.h:124
+#: config/ia64/ia64.h:168
msgid "Emit stop bits before and after volatile extended asms"
-msgstr ""
+msgstr "Udsend stopbit før og efter volatile udvidede asm-sætninger"
-#: config/ia64/ia64.h:126
+#: config/ia64/ia64.h:170
msgid "Don't emit stop bits before and after volatile extended asms"
-msgstr ""
+msgstr "Udsend ikke stopbit før og efter volatile udvidede asm-sætninger"
-#: config/ia64/ia64.h:128
+#: config/ia64/ia64.h:172
msgid "Emit code for Itanium (TM) processor B step"
-msgstr ""
+msgstr "Udsend kode for Itanium (TM) processor B-skridt"
-#: config/ia64/ia64.h:130
-#, fuzzy
+#: config/ia64/ia64.h:174
msgid "Use in/loc/out register names"
-msgstr "ukendt registernavn '%s'"
+msgstr "Benyt in/loc/out-registernavne"
-#: config/ia64/ia64.h:132
+#: config/ia64/ia64.h:176
msgid "Disable use of sdata/scommon/sbss"
-msgstr ""
+msgstr "Deaktivér brug af sdata/scommon/sbss"
-#: config/ia64/ia64.h:134
+#: config/ia64/ia64.h:178
msgid "Enable use of sdata/scommon/sbss"
-msgstr ""
+msgstr "Aktivér brug af sdata/scommon/sbss"
-#: config/ia64/ia64.h:136
+#: config/ia64/ia64.h:180
msgid "gp is constant (but save/restore gp on indirect calls)"
-msgstr ""
+msgstr "gp er konstant (men gem/gendan gp ved indirekte kald)"
-#: config/ia64/ia64.h:138
+#: config/ia64/ia64.h:182
msgid "Generate self-relocatable code"
-msgstr ""
+msgstr "Generér selvflyttende kode"
-#: config/ia64/ia64.h:140
-msgid "Generate inline division, optimize for latency"
-msgstr ""
+#: config/ia64/ia64.h:184
+msgid "Generate inline floating point division, optimize for latency"
+msgstr "Generér indlejrede kommatalsdivisioner, optimér for ventetid"
-#: config/ia64/ia64.h:142
-msgid "Generate inline division, optimize for throughput"
-msgstr ""
+#: config/ia64/ia64.h:186
+msgid "Generate inline floating point division, optimize for throughput"
+msgstr "Generér indlejrede kommatalsdivisioner, optimér for båndbredde"
+
+#: config/ia64/ia64.h:188
+msgid "Generate inline integer division, optimize for latency"
+msgstr "Generér indlejrede heltalsdivisioner, optimér for ventetid"
+
+#: config/ia64/ia64.h:190
+msgid "Generate inline integer division, optimize for throughput"
+msgstr "Generér indlejrede heltalsdivisioner, optimér for båndbredde"
-#: config/ia64/ia64.h:144
+#: config/ia64/ia64.h:192
msgid "Enable Dwarf 2 line debug info via GNU as"
-msgstr ""
+msgstr "Aktivér Dwarf 2-linjefejlanalyseringsinfo via GNU as"
-#: config/ia64/ia64.h:146
+#: config/ia64/ia64.h:194
msgid "Disable Dwarf 2 line debug info via GNU as"
-msgstr ""
-
-#: config/ia64/ia64.h:169
-msgid "Specify range of registers to make fixed."
-msgstr ""
+msgstr "Deaktivér Dwarf 2-linjefejlanalyseringsinfo via GNU as"
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:88
-#, fuzzy
-msgid "-msystem-v and -p are incompatible"
-msgstr "-mbsd og -mxopen er indbyrdes uforenelige"
+#: config/ia64/ia64.h:223
+msgid "Specify range of registers to make fixed"
+msgstr "Angiv interval af registre der skal gøres faste"
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:90
-#, fuzzy
-msgid "-msystem-v and -mthreads are incompatible"
-msgstr "-f%s og -msdata=%s er indbyrdes uforenelige."
+#: config/ip2k/ip2k.c:1090
+msgid "bad operand"
+msgstr "ugyldig operand"
-#: config/m32r/m32r.c:83
+#: config/m32r/m32r.c:139
#, c-format
msgid "bad value (%s) for -mmodel switch"
-msgstr "ugyldig værdi (%s) til '-mmodel'-tilvalget"
+msgstr "ugyldig værdi (%s) til tilvalget -mmodel"
-#: config/m32r/m32r.c:92
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
-msgstr "ugyldig værdi (%s) til '-msdata'-tilvalget"
+msgstr "ugyldig værdi (%s) til tilvalget -msdata"
+
+#: config/m32r/m32r.c:319
+#, c-format
+msgid "invalid argument of `%s' attribute"
+msgstr "ugyldig parameter til egenskaben '%s'"
-#: config/m32r/m32r.c:380
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
-msgstr ""
+msgstr "konstante objekter kan ikke anbringes i .sdata/.sbss"
+
+#: config/m32r/m32r.c:2256
+#, c-format
+msgid "invalid operand to %%s code"
+msgstr "ugyldig operand til %%s-koden"
+
+#: config/m32r/m32r.c:2263
+#, c-format
+msgid "invalid operand to %%p code"
+msgstr "ugyldig operand til %%p-koden"
+
+#: config/m32r/m32r.c:2318
+msgid "bad insn for 'A'"
+msgstr "ugyldig instruktion for 'A'"
-#: config/m32r/m32r.c:2187
+#: config/m32r/m32r.c:2370
#, c-format
-msgid "invalid operand to %s code"
-msgstr "ugyldig operand til '%s'-koden"
+msgid "invalid operand to %%T/%%B code"
+msgstr "ugyldig operand til %%T/%%B-koden"
-#: config/m32r/m32r.c:2194
+#: config/m32r/m32r.c:2393
#, c-format
-msgid "invalid operand to %p code"
-msgstr "ugyldig operand til '%p'-koden"
+msgid "invalid operand to %%N code"
+msgstr "ugyldig operand til %%N-koden"
+
+#: config/m32r/m32r.c:2438
+msgid "pre-increment address is not a register"
+msgstr "præfiks forøgelsesadresse er ikke et register"
+
+#: config/m32r/m32r.c:2445
+msgid "pre-decrement address is not a register"
+msgstr "præfiks formindskelsesadresse er ikke et register"
-#: config/m32r/m32r.c:2302
-msgid "invalid operand to %T/%B code"
-msgstr "ugyldig operand til '%T/%B'-koden"
+#: config/m32r/m32r.c:2452
+msgid "post-increment address is not a register"
+msgstr "postfiks forøgelsesadresse er ikke et register"
-#: config/m32r/m32r.c:2325
-msgid "invalid operand to %N code"
-msgstr "ugyldig operand til '%N'-koden"
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12783
+msgid "bad address"
+msgstr "ugyldig adresse"
+
+#: config/m32r/m32r.c:2551
+msgid "lo_sum not of register"
+msgstr "lo_sum ikke af register"
#. { "relax", TARGET_RELAX_MASK, "" }, { "no-relax", -TARGET_RELAX_MASK, "" },
-#: config/m32r/m32r.h:186
+#: config/m32r/m32r.h:241
msgid "Display compile time statistics"
-msgstr ""
+msgstr "Vis oversættelsesstatistikker"
-#: config/m32r/m32r.h:188
-#, fuzzy
+#: config/m32r/m32r.h:243
msgid "Align all loops to 32 byte boundary"
-msgstr "Justér double-variabler til word-grænserne"
+msgstr "Justér alle løkker til 32 byte-grænserne"
-#: config/m32r/m32r.h:191
+#: config/m32r/m32r.h:246
msgid "Only issue one instruction per cycle"
-msgstr ""
+msgstr "Udfør kun én instruktion pr. cyklus"
-#: config/m32r/m32r.h:194
-#, fuzzy
+#: config/m32r/m32r.h:249
msgid "Prefer branches over conditional execution"
-msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+msgstr "Foretræk forgrening frem for betinget udførelse"
-#: config/m32r/m32r.h:210
+#: config/m32r/m32r.h:265
msgid "Code size: small, medium or large"
-msgstr ""
+msgstr "Kodestørrelse: small, medium eller large"
-#: config/m32r/m32r.h:212
+#: config/m32r/m32r.h:267
msgid "Small data area: none, sdata, use"
-msgstr ""
+msgstr "Område til små data: none, sdata, use"
-#: config/m68hc11/m68hc11.c:227
+#: config/m68hc11/m68hc11.c:242
#, c-format
msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
-msgstr ""
+msgstr "-f%s ignoreret for 68HC11/68HC12 (ikke understøttet)"
+
+#: config/m68hc11/m68hc11.c:1305
+msgid "`trap' and `far' attributes are not compatible, ignoring `far'"
+msgstr "egenskaberne 'trap' og 'far' kan ikke bruges på samme tid, ignorerer 'far'"
+
+#: config/m68hc11/m68hc11.c:1311
+msgid "`trap' attribute is already used"
+msgstr "egenskaben 'trap' er allerede benyttet"
+
+#. !!!! SCz wrong here.
+#: config/m68hc11/m68hc11.c:3327 config/m68hc11/m68hc11.c:3733
+msgid "move insn not handled"
+msgstr "flytteinstruktion ikke håndteret"
+
+#: config/m68hc11/m68hc11.c:3579 config/m68hc11/m68hc11.c:3663
+#: config/m68hc11/m68hc11.c:3946
+msgid "invalid register in the move instruction"
+msgstr "ugyldigt register i flytteinstruktionen"
+
+#: config/m68hc11/m68hc11.c:3613
+msgid "invalid operand in the instruction"
+msgstr "ugyldig operand i instruktionen"
+
+#: config/m68hc11/m68hc11.c:3920
+msgid "invalid register in the instruction"
+msgstr "ugyldigt register i instruktionen"
+
+#: config/m68hc11/m68hc11.c:3953
+msgid "operand 1 must be a hard register"
+msgstr "operand 1 skal være et hårdt register"
+
+#: config/m68hc11/m68hc11.c:3970
+msgid "invalid rotate insn"
+msgstr "ugyldig roteringsinstruktion"
+
+#: config/m68hc11/m68hc11.c:4391
+msgid "registers IX, IY and Z used in the same INSN"
+msgstr "registrene IX, IY og Z benyttet i samme INSN"
+
+#: config/m68hc11/m68hc11.c:4728 config/m68hc11/m68hc11.c:5031
+msgid "cannot do z-register replacement"
+msgstr "kan ikke udføre Z-registererstatning"
+
+#: config/m68hc11/m68hc11.c:5094
+msgid "invalid Z register replacement for insn"
+msgstr "ugyldig Z-registererstatning for instruktion"
#. 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/m68hc11/m68hc11.h:179
+#: config/m68hc11/m68hc11.h:172
msgid "Compile with 16-bit integer mode"
-msgstr ""
+msgstr "Oversæt med 16 bit-heltalstilstand"
-#: config/m68hc11/m68hc11.h:181
+#: config/m68hc11/m68hc11.h:174
msgid "Compile with 32-bit integer mode"
-msgstr ""
+msgstr "Oversæt med 32 bit-heltalstilstand"
-#: config/m68hc11/m68hc11.h:183
+#: config/m68hc11/m68hc11.h:176
msgid "Auto pre/post decrement increment allowed"
-msgstr ""
+msgstr "Selvformindskelse tilladt"
-#: config/m68hc11/m68hc11.h:185
+#: config/m68hc11/m68hc11.h:178
msgid "Auto pre/post decrement increment not allowed"
-msgstr ""
+msgstr "Selvforøgelse ikke tilladt"
+
+#: config/m68hc11/m68hc11.h:180
+msgid "Min/max instructions allowed"
+msgstr "Min/max-instruktioner tilladt"
-#: config/m68hc11/m68hc11.h:187 config/m68hc11/m68hc11.h:191
+#: config/m68hc11/m68hc11.h:182
+msgid "Min/max instructions not allowed"
+msgstr "Min/max-instruktioner ikke tilladt"
+
+#: config/m68hc11/m68hc11.h:184
+msgid "Use call and rtc for function calls and returns"
+msgstr "Benyt call og rtc til funktionskald og returneringer"
+
+#: config/m68hc11/m68hc11.h:186
+msgid "Use jsr and rts for function calls and returns"
+msgstr "Benyt jsr og rts til funktionskald og returneringer"
+
+#: config/m68hc11/m68hc11.h:188
+msgid "Do not use direct addressing mode for soft registers"
+msgstr "Benyt ikke direkte adresseringstilstand til bløde registre"
+
+#: config/m68hc11/m68hc11.h:190
+msgid "Use direct addressing mode for soft registers"
+msgstr "Benyt direkte adresseringstilstand til bløde registre"
+
+#: config/m68hc11/m68hc11.h:192 config/m68hc11/m68hc11.h:198
msgid "Compile for a 68HC11"
-msgstr ""
+msgstr "Oversæt til en 68HC11"
-#: config/m68hc11/m68hc11.h:189 config/m68hc11/m68hc11.h:193
+#: config/m68hc11/m68hc11.h:194 config/m68hc11/m68hc11.h:200
msgid "Compile for a 68HC12"
-msgstr ""
+msgstr "Oversæt til en 68HC12"
+
+#: config/m68hc11/m68hc11.h:196 config/m68hc11/m68hc11.h:202
+msgid "Compile for a 68HCS12"
+msgstr "Oversæt til en 68HCS12"
#. This macro is similar to `TARGET_SWITCHES' but defines names of
#. command options that have values. Its definition is an
@@ -5637,135 +11218,232 @@ 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:207
+#: config/m68hc11/m68hc11.h:216
msgid "Specify the register allocation order"
-msgstr ""
+msgstr "Angiv registerallokeringsordnen"
-#: config/m68hc11/m68hc11.h:209
-#, fuzzy
+#: config/m68hc11/m68hc11.h:218
msgid "Indicate the number of soft registers available"
-msgstr "ugyldigt registernavn '%s' for registervariabel"
+msgstr "Angiv antallet af bløde registre der er til rådighed"
-#: config/m68k/m68k.c:102
+#: config/m68k/m68k.c:158
#, c-format
msgid "-malign-loops=%d is not between 1 and %d"
msgstr "-malign-loops=%d er ikke mellem 1 og %d"
-#: config/m68k/m68k.c:113
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr "-malign-jumps=%d er ikke mellem 1 og %d"
-#: config/m68k/m68k.c:124
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
msgstr "-malign-functions=%d er ikke mellem 1 og %d"
-#. 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:238 config/m68k/m68kelf.h:265 config/m68k/m68kv4.h:295
+#: config/m68k/m68k.c:189
msgid "-fPIC is not currently supported on the 68000 or 68010\n"
msgstr "-fPIC understøttes ikke på nuværende tidspunkt på 68000 og 68010\n"
-#: config/m88k/m88k.c:860
-#, c-format
-msgid "Internal gcc monitor: short-branch(%x)"
-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/m68k/m68k.h:162 config/m68k/m68k.h:164
+msgid "Generate code for a 68020"
+msgstr "Generér kode til en 68020"
-#: config/m88k/m88k.c:2266
-msgid "Internal gcc error: Can't express symbolic location"
-msgstr ""
+#: config/m68k/m68k.h:169 config/m68k/m68k.h:172
+msgid "Generate code for a 68000"
+msgstr "Generér kode til en 68000"
-#: config/m88k/m88k.c:2547
-#, c-format
-msgid "argument #%d is a structure"
-msgstr ""
+#: config/m68k/m68k.h:174
+msgid "Use the bit-field instructions"
+msgstr "Benyt bitfeltinstruktionerne"
-#: config/m88k/m88k.c:2862
-msgid "%R not followed by %B/C/D/E"
-msgstr "%R efterfølges ikke af %B/C/D/E"
+#: config/m68k/m68k.h:176
+msgid "Do not use the bit-field instructions"
+msgstr "Benyt ikke bitfeltinstruktionerne"
-#: config/m88k/m88k.c:2930
-#, c-format
-msgid "invalid %x/X value"
-msgstr "ugyldig '%x/X'-værdi"
+#: config/m68k/m68k.h:178
+msgid "Use different calling convention using 'rtd'"
+msgstr "Benyt anden kaldekonvention vha. 'rtd'"
+
+#: config/m68k/m68k.h:182
+msgid "Consider type `int' to be 16 bits wide"
+msgstr "Lad typen 'int' være 16 bit bred"
+
+#: config/m68k/m68k.h:184
+msgid "Consider type `int' to be 32 bits wide"
+msgstr "Lad typen 'int' være 32 bit bred"
+
+#: config/m68k/m68k.h:186
+msgid "Generate code for a Sun FPA"
+msgstr "Generér kode til en Sun FPA"
+
+#: config/m68k/m68k.h:189
+msgid "Do not generate code for a Sun FPA"
+msgstr "Generér ikke kode til en Sun FPA"
+
+#: config/m68k/m68k.h:191 config/m68k/m68k.h:193
+msgid "Generate code for a Sun Sky board"
+msgstr "Generér kode til et Sun Sky-kort"
+
+#: config/m68k/m68k.h:195
+msgid "Do not use Sky linkage convention"
+msgstr "Benyt ikke Sky-kædningskonventionen"
-#: config/m88k/m88k.c:2935
-msgid "invalid %H value"
-msgstr "ugyldig '%H'-værdi"
+#: config/m68k/m68k.h:197
+msgid "Generate code for a 68881"
+msgstr "Generér kode til en 68881"
-#: config/m88k/m88k.c:2941
-msgid "invalid %h value"
-msgstr "ugyldig '%h'-værdi"
+#: config/m68k/m68k.h:200
+msgid "Generate code with library calls for floating point"
+msgstr "Generér kode med bibliotekskald for kommatalsoperationer"
-#: config/m88k/m88k.c:2947
-msgid "invalid %Q value"
-msgstr "ugyldig '%Q'-værdi"
+#: config/m68k/m68k.h:202
+msgid "Generate code for a 68040, without any new instructions"
+msgstr "Generér kode til en 68040 uden nogen nye instruktioner"
-#: config/m88k/m88k.c:2953
-msgid "invalid %q value"
-msgstr "ugyldig '%q'-værdi"
+#: config/m68k/m68k.h:205
+msgid "Generate code for a 68060, without any new instructions"
+msgstr "Generér kode til en 68060 uden nogen nye instruktioner"
-#: config/m88k/m88k.c:2959
+#: config/m68k/m68k.h:209
+msgid "Generate code for a 68030"
+msgstr "Generér kode til en 68030"
+
+#: config/m68k/m68k.h:212
+msgid "Generate code for a 68040"
+msgstr "Generér kode til en 68040"
+
+#: config/m68k/m68k.h:216
+msgid "Generate code for a 68060"
+msgstr "Generér kode til en 68060"
+
+#: config/m68k/m68k.h:221
+msgid "Generate code for a 520X"
+msgstr "Generér kode til en 520X"
+
+#: config/m68k/m68k.h:224
+msgid "Generate code for a 68851"
+msgstr "Generér kode til en 68851"
+
+#: config/m68k/m68k.h:226
+msgid "Do no generate code for a 68851"
+msgstr "Generér ikke kode til en 68851"
+
+#: config/m68k/m68k.h:229
+msgid "Generate code for a 68302"
+msgstr "Generér kode til en 68302"
+
+#: config/m68k/m68k.h:232
+msgid "Generate code for a 68332"
+msgstr "Generér kode til en 68332"
+
+#: config/m68k/m68k.h:236
+msgid "Generate code for a cpu32"
+msgstr "Generér kode til en cpu32"
+
+#: config/m68k/m68k.h:239
+msgid "Align variables on a 32-bit boundary"
+msgstr "Justér variabler til 32 bit-grænserne"
+
+#: config/m68k/m68k.h:241
+msgid "Align variables on a 16-bit boundary"
+msgstr "Justér variabler til 16 bit-grænserne"
+
+#: config/m68k/m68k.h:243
+msgid "Generate pc-relative code"
+msgstr "Generér pc-relativ kode"
+
+#: config/m68k/m68k.h:245
+msgid "Do not use unaligned memory references"
+msgstr "Benyt ikke ikke-justerede hukommelsesreferencer"
+
+#: config/m68k/m68k.h:247
+msgid "Use unaligned memory references"
+msgstr "Benyt ikke-justerede hukommelsesreferencer"
+
+#: config/m88k/m88k.c:903
#, c-format
-msgid "invalid %o value"
-msgstr "ugyldig '%o'-værdi"
+msgid "internal gcc monitor: short-branch(%x)"
+msgstr "intern GCC-overvågning: short-branch(%x)"
+
+#: config/m88k/m88k.c:2302
+msgid "internal gcc error: Can't express symbolic location"
+msgstr "intern GCC-fejl: Kan ikke udtrykke symbolsk placering"
-#: config/m88k/m88k.c:2966
+#: config/m88k/m88k.c:2517
#, c-format
-msgid "invalid %p value"
-msgstr "ugyldig '%p'-værdi"
+msgid "argument #%d is a structure"
+msgstr "%d. parameter er en struktur"
-#: config/m88k/m88k.c:2979 config/m88k/m88k.c:2984
+#: config/m88k/m88k.c:2816
#, c-format
-msgid "invalid %s/S value"
-msgstr "ugyldig '%s/S'-værdi"
+msgid "%%R not followed by %%B/C/D/E"
+msgstr "%%R efterfølges ikke af %%B/C/D/E"
-#: config/m88k/m88k.c:2995
-msgid "invalid %P operand"
-msgstr "ugyldig '%P'-operand"
+#: config/m88k/m88k.c:2884
+#, c-format
+msgid "invalid %%x/X value"
+msgstr "ugyldig %%x/X-værdi"
-#: config/m88k/m88k.c:3026
-msgid "invalid %B value"
-msgstr "ugyldig '%B'-værdi"
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "ugyldig %%Q-værdi"
+
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7715
+#, c-format
+msgid "invalid %%q value"
+msgstr "ugyldig %%q-værdi"
+
+#: config/m88k/m88k.c:2913
+#, c-format
+msgid "invalid %%o value"
+msgstr "ugyldig %%o-værdi"
-#: config/m88k/m88k.c:3043
-msgid "invalid %C value"
-msgstr "ugyldig '%C'-værdi"
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7678
+#, c-format
+msgid "invalid %%p value"
+msgstr "ugyldig %%p-værdi"
-#: config/m88k/m88k.c:3056
-msgid "invalid %D value"
-msgstr "ugyldig '%D'-værdi"
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, c-format
+msgid "invalid %%s/S value"
+msgstr "ugyldig %%s/S-værdi"
-#: config/m88k/m88k.c:3064
+#: config/m88k/m88k.c:2949
#, c-format
-msgid "invalid %E value"
-msgstr "ugyldig '%E'-værdi"
+msgid "invalid %%P operand"
+msgstr "ugyldig %%P-operand"
-#: config/m88k/m88k.c:3069
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
#, c-format
-msgid "`%d' operand isn't a register"
-msgstr "operanden '%d' er ikke et register"
+msgid "invalid %%B value"
+msgstr "ugyldig %%B-værdi"
-#: config/m88k/m88k.c:3080
-msgid "invalid %r value"
-msgstr "ugyldig '%r'-værdi"
+#: config/m88k/m88k.c:3010
+#, c-format
+msgid "invalid %%D value"
+msgstr "ugyldig %%D-værdi"
-#: config/m88k/m88k.c:3087
+#: config/m88k/m88k.c:3023
+#, c-format
+msgid "`%%d' operand isn't a register"
+msgstr "operanden '%%d' er ikke et register"
+
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr "operanden er r0"
-#: config/m88k/m88k.c:3101
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr "operanden er const_double"
-#: config/m88k/m88k.c:3120
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr "ugyldig kode"
@@ -5776,8 +11454,8 @@ msgstr "-mtrap-large-shift og -mhandle-large-shift er indbyrdes uforenelige"
#: config/m88k/m88k.h:299
#, c-format
-msgid "Invalid option `-mshort-data-%s'"
-msgstr "Ugyldigt tilvalg '-mshort-data-%s'"
+msgid "invalid option `-mshort-data-%s'"
+msgstr "ugyldigt tilvalg '-mshort-data-%s'"
#: config/m88k/m88k.h:304
#, c-format
@@ -5789,292 +11467,289 @@ msgstr "-mshort-data-%s er for stor"
msgid "-mshort-data-%s and PIC are incompatible"
msgstr "-mshort-data-%s og PIC er indbyrdes uforenelige"
-#: config/mcore/mcore.c:3118
-#, fuzzy, c-format
-msgid "Invalid option `-mstack-increment=%s'"
-msgstr "Ugyldigt tilvalg '-mshort-data-%s'"
+#: config/mcore/mcore.c:3078
+#, c-format
+msgid "invalid option `-mstack-increment=%s'"
+msgstr "ugyldigt tilvalg '-mshort-increment=%s'"
-#: config/mcore/mcore.h:131
+#: config/mcore/mcore.h:126
msgid "Inline constants if it can be done in 2 insns or less"
-msgstr ""
+msgstr "Indlejr konstanter hvis det kan gøres med 2 instruktioner eller mindre"
-#: config/mcore/mcore.h:133
-msgid "inline constants if it only takes 1 instruction"
-msgstr ""
+#: config/mcore/mcore.h:128
+msgid "Inline constants if it only takes 1 instruction"
+msgstr "Indlejr konstanter hvis det kan gøres med 1 instruktion"
-#: config/mcore/mcore.h:135
+#: config/mcore/mcore.h:130
msgid "Set maximum alignment to 4"
-msgstr ""
+msgstr "Sæt maksimal justering til 4"
-#: config/mcore/mcore.h:137
+#: config/mcore/mcore.h:132
msgid "Set maximum alignment to 8"
-msgstr ""
+msgstr "Sæt maksimal justering til 8"
-#: config/mcore/mcore.h:141
+#: config/mcore/mcore.h:136
msgid "Do not use the divide instruction"
-msgstr ""
+msgstr "Benyt ikke divisionsinstruktionen"
-#: config/mcore/mcore.h:145
-#, fuzzy
-msgid "Do not arbitary sized immediates in bit operations"
-msgstr "Justér ikke strengoperationernes destination"
+#: config/mcore/mcore.h:140
+msgid "Do not arbitrary sized immediates in bit operations"
+msgstr "Benyt ikke vilkårlige størrelsers umiddelbare værdier i bitoperationer"
-#: config/mcore/mcore.h:147
-msgid "Always treat bitfield as int-sized"
-msgstr ""
+#: config/mcore/mcore.h:142
+msgid "Always treat bit-field as int-sized"
+msgstr "Behandl altid bitfelter som af størrelsen int"
-#: config/mcore/mcore.h:151
+#: config/mcore/mcore.h:146
msgid "Force functions to be aligned to a 4 byte boundary"
-msgstr ""
+msgstr "Tving funktioner til at blive justeret til en 4 byte-grænse"
-#: config/mcore/mcore.h:153
+#: config/mcore/mcore.h:148
msgid "Force functions to be aligned to a 2 byte boundary"
-msgstr ""
+msgstr "Tving funktioner til at blive justeret til en 2 byte-grænse"
-#: config/mcore/mcore.h:155
+#: config/mcore/mcore.h:150
msgid "Emit call graph information"
-msgstr ""
+msgstr "Udsend kaldegrafinfo"
-#: config/mcore/mcore.h:159
+#: config/mcore/mcore.h:154
msgid "Prefer word accesses over byte accesses"
-msgstr ""
+msgstr "Foretræk ord-tilgange frem for byte-tilgange"
-#: config/mcore/mcore.h:170
-#, fuzzy
+#: config/mcore/mcore.h:165
msgid "Generate code for the M*Core M340"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en M*Core M340"
-#: config/mcore/mcore.h:183
+#: config/mcore/mcore.h:178
msgid "Maximum amount for a single stack increment operation"
-msgstr ""
+msgstr "Maksimalt antal for en enkelt stakforøgelsesoperation"
-#: config/mips/mips.c:4737
+#: config/mips/mips.c:5126
#, c-format
-msgid "-mips%d not supported"
-msgstr "-mips%d er ikke understøttet"
+msgid "bad value (%s) for -mabi= switch"
+msgstr "ugyldig værdi (%s) til tilvalget -mabi="
-#: config/mips/mips.c:4744
+#: config/mips/mips.c:5156
#, c-format
-msgid "bad value (%s) for -mips switch"
-msgstr "ugyldig værdi (%s) til '-mips'-tilvalget"
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr "-mips%d er i konflikt med de andre arkitekturtilvalg som angiver en MIPS%d-processor"
-#: config/mips/mips.c:4763
+#: config/mips/mips.c:5163
#, c-format
-msgid "bad value (%s) for -mabi= switch"
-msgstr "ugyldig værdi (%s) til '-mabi='-tilvalget"
+msgid "bad value (%s) for -mips switch"
+msgstr "ugyldig værdi (%s) til tilvalget -mips"
-#: config/mips/mips.c:4793
+#: config/mips/mips.c:5178
#, c-format
-msgid "-mabi=%s does not support -mips%d"
-msgstr "-mabi=%s understøtter ikke -mips%d"
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr "-march=%s er ikke forenelig med den valgte ABI"
-#: config/mips/mips.c:4810
-msgid "The -mabi=32 support does not work yet."
-msgstr "Understøttelsen af -mabi=32 virker ikke endnu"
+#: config/mips/mips.c:5190
+msgid "-mgp64 used with a 32-bit processor"
+msgstr "-mgp64 benyttet med en 32 bit-processor"
-#: config/mips/mips.c:4814
-msgid "This target does not support the -mabi switch."
-msgstr "Dette mål understøtter ikke '-mabi'-tilvalget."
+#: config/mips/mips.c:5192
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "-mgp32 benyttet med et 64 bit-ABI"
-#: config/mips/mips.c:4948
-#, c-format
-msgid "-mcpu=%s does not support -mips%d"
-msgstr "-mcpu=%s understøtter ikke -mips%d"
+#: config/mips/mips.c:5194
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "-mgp64 benyttet med et 32 bit-ABI"
-#: config/mips/mips.c:4955
+#: config/mips/mips.c:5212 config/mips/mips.c:5214 config/mips/mips.c:5216
#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr "-mips%d understøtter ikke 64-bit kommatalsregistre"
+msgid "unsupported combination: %s"
+msgstr "ikke-understøttet kombination: %s"
-#: config/mips/mips.c:4961
-#, c-format
-msgid "-mips%d does not support 64 bit gp registers"
-msgstr "-mips%d understøtter ikke 64-bit almene registre"
+#: config/mips/mips.c:5286
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr "generering af Branch Likely-instruktioner er aktiveret, men ikke understøttet af arkitekturen"
-#: config/mips/mips.c:4982
+#: config/mips/mips.c:5297
msgid "-G is incompatible with PIC code which is the default"
-msgstr ""
+msgstr "-G er uforenelig med PIC-kode som genereres som standard"
-#: config/mips/mips.c:4998
-#, fuzzy
+#: config/mips/mips.c:5313
msgid "-membedded-pic and -mabicalls are incompatible"
-msgstr "-mrelocatable og -mcall-%s er indbyrdes uforenelige."
+msgstr "-membedded-pic og -mabicalls er indbyrdes uforenelige"
-#: config/mips/mips.c:5001
-#, fuzzy
+#: config/mips/mips.c:5316
msgid "-G and -membedded-pic are incompatible"
-msgstr "-pg og -fomit-frame-pointer er indbyrdes uforenelige"
+msgstr "-G og -membedded-pic er indbyrdes uforenelige"
-#: config/mips/mips.c:5052
+#: config/mips/mips.c:5367
#, c-format
-msgid "Invalid option `entry%s'"
-msgstr "Ugyldigt tilvalg 'entry%s'"
+msgid "invalid option `entry%s'"
+msgstr "ugyldigt tilvalg 'entry%s'"
-#: config/mips/mips.c:5055
+#: config/mips/mips.c:5370
msgid "-mentry is only meaningful with -mips-16"
-msgstr ""
+msgstr "-mentry giver kun mening sammen med -mips-16"
-#: config/mips/mips.c:5388
+#: config/mips/mips.c:5779
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr "intern fejl: %%) fundet uden en %%) i maskinkodeoversættermønster"
-#: config/mips/mips.c:5402
+#: config/mips/mips.c:5793
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr "intern fejl: %%] fundet uden en %%[ i maskinkodeoversættermønster"
-#: config/mips/mips.c:5415
+#: config/mips/mips.c:5806
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr "intern fejl: %%> fundet uden en %%< i maskinkodeoversættermønster"
-#: config/mips/mips.c:5428
+#: config/mips/mips.c:5819
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr "intern fejl: %%} fundet uden en %%{ i maskinkodeoversættermønster"
-#: config/mips/mips.c:5442
+#: config/mips/mips.c:5833
#, c-format
-msgid "PRINT_OPERAND: Unknown punctuation '%c'"
-msgstr "PRINT_OPERAND: Ukendt tegnsætning '%c'"
+msgid "PRINT_OPERAND: unknown punctuation '%c'"
+msgstr "PRINT_OPERAND: ukendt tegnsætning '%c'"
-#: config/mips/mips.c:5451
+#: config/mips/mips.c:5842 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr "PRINT_OPERAND nul-henvisning"
-#: config/mips/mips.c:5579
-#, fuzzy, c-format
+#: config/mips/mips.c:5973
+#, c-format
msgid "invalid use of %%d, %%x, or %%X"
-msgstr "ugyldig brug af void-udtryk"
+msgstr "ugyldigt brug af %%d, %%x eller %%X"
-#: config/mips/mips.c:5622
+#: config/mips/mips.c:6011 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr "PRINT_OPERAND_ADDRESS, nul-henvisning"
-#: config/mips/mips.c:5826 f/com.c:14611 graph.c:421 java/jcf-parse.c:929
-#: java/jcf-parse.c:1065 java/lex.c:1726 objc/objc-act.c:733 profile.c:906
-#: profile.c:914 toplev.c:1875 toplev.c:2234
-#, fuzzy, c-format
-msgid "can't open %s"
-msgstr "fejl ved åbning af %s"
-
-#: config/mips/mips.c:5877
+#: config/mips/mips.c:6240
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
-msgstr ""
+msgstr "MIPS ECOFF-formatet tillader ikke skift af filnavne inden i funktioner med #line"
-#: config/mips/mips.c:6076
-#, fuzzy, c-format
-msgid "can't rewind %s"
-msgstr "[kan ikke finde %s]"
+#: config/mips/mips.c:6550
+msgid "can't rewind temp file"
+msgstr "kan ikke spole midlertidig fil tilbage"
-#: config/mips/mips.c:6080
-#, fuzzy, c-format
-msgid "can't write to %s"
-msgstr "fejl ved skrivning til %s"
+#: config/mips/mips.c:6554
+msgid "can't write to output file"
+msgstr "kan ikke skrive i uddatafil"
-#: config/mips/mips.c:6083
-#, fuzzy, c-format
-msgid "can't read from %s"
-msgstr "Læser specifikationer fra %s\n"
+#: config/mips/mips.c:6557
+msgid "can't read from temp file"
+msgstr "kan ikke læse fra midlertidig fil"
-#: config/mips/mips.c:6086 java/jcf-parse.c:605 java/jcf-write.c:3341
-#, fuzzy, c-format
-msgid "can't close %s"
-msgstr "fejl ved lukning af %s"
+#: config/mips/mips.c:6560
+msgid "can't close temp file"
+msgstr "kan ikke lukke midlertidig fil"
-#: config/mips/mips.c:6455
+#: config/mips/mips.c:7001
#, c-format
-msgid "gp_offset (%ld) or end_offset (%ld) is less than zero."
-msgstr "gp_offset (%ld) eller end_offset (%ld) er mindre end nul."
+msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+msgstr "gp_offset (%ld) eller end_offset (%ld) er mindre end nul"
-#: config/mips/mips.c:6673
+#: config/mips/mips.c:7110
#, c-format
-msgid "fp_offset (%ld) or end_offset (%ld) is less than zero."
-msgstr "fp_offset (%ld) eller end_offset (%ld) er mindre end nul."
+msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+msgstr "fp_offset (%ld) eller end_offset (%ld) er mindre end nul"
-#: config/mips/mips.c:8744
+#: config/mips/mips.c:9346
#, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr "kan ikke håndtere inkonsistente kald af '%s'"
+#: config/mips/mips.c:10478
+msgid "the cpu name must be lower case"
+msgstr "processornavnet skal staves med små bogstaver"
+
+#: config/mips/mips.c:10500
+#, c-format
+msgid "bad value (%s) for %s"
+msgstr "ugyldig værdi (%s) for %s"
+
+#. 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:335 config/mn10300/mn10300.h:64
+#: config/mips/mips.h:528 config/mn10300/mn10300.h:64
msgid "No default crt0.o"
-msgstr ""
+msgstr "Ingen standard crt0.o"
-#: config/mips/mips.h:337
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
-msgstr ""
+msgstr "Benyt 64 bit int-type"
-#: config/mips/mips.h:339
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
-msgstr ""
+msgstr "Benyt 64 bit long-type"
-#: config/mips/mips.h:341
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
-msgstr ""
+msgstr "Benyt 32 bit long-type"
-#: config/mips/mips.h:343
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
-msgstr ""
+msgstr "Optimér lui/addiu-adresseindlæsninger"
-#: config/mips/mips.h:345
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
-msgstr ""
+msgstr "Optimér ikke lui/addiu-adresseindlæsninger"
-#: config/mips/mips.h:347
+# 'as' står for assembler
+#: config/mips/mips.h:540
msgid "Use MIPS as"
-msgstr ""
+msgstr "Benyt MIPS as"
-#: config/mips/mips.h:349
+#: config/mips/mips.h:542
msgid "Use GNU as"
-msgstr ""
+msgstr "Benyt GNU as"
-#: config/mips/mips.h:351
-#, fuzzy
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
-msgstr "ukendt registernavn '%s'"
+msgstr "Benyt symbolske registernavne"
-#: config/mips/mips.h:353
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
-msgstr ""
+msgstr "Benyt ikke symbolske registernavne"
-#: config/mips/mips.h:355 config/mips/mips.h:357
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
-msgstr ""
+msgstr "Benyt GP-relative sdata/sbss-sektioner"
-#: config/mips/mips.h:359 config/mips/mips.h:361
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
-msgstr ""
+msgstr "Benyt ikke GP-relative sdata/sbss-sektioner"
-#: config/mips/mips.h:363
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
-msgstr ""
+msgstr "Udsend oversættelsesstatistik"
-#: config/mips/mips.h:365
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
-msgstr ""
+msgstr "Udsend ikke oversættelsesstatistik"
-#: config/mips/mips.h:367
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
-msgstr ""
+msgstr "Optimér ikke blokflytninger"
-#: config/mips/mips.h:369
+#: config/mips/mips.h:562
msgid "Optimize block moves"
-msgstr ""
+msgstr "Optimér blokflytninger"
-#: config/mips/mips.h:371
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
-msgstr ""
+msgstr "Benyt mips-tfile-maskinkodeefterfase"
-#: config/mips/mips.h:373
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
-msgstr ""
+msgstr "Benyt ikke mips-tfile-maskinkodeefterfase"
#. Macro to define tables used to set the flags.
#. This is a list in braces of triplets in braces,
@@ -6082,446 +11757,686 @@ 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:377 config/pdp11/pdp11.h:55
-#, fuzzy
+#: config/mips/mips.h:570 config/pdp11/pdp11.h:56
msgid "Use hardware floating point"
-msgstr "Brug hardware-kommatal"
+msgstr "Benyt hardware-kommatal"
-#: config/mips/mips.h:379
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
-msgstr ""
+msgstr "Benyt 64 bit-kommatalsregistre"
-#: config/mips/mips.h:381
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
-msgstr ""
+msgstr "Benyt 32 bit-kommatalsregistre"
-#: config/mips/mips.h:383
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
-msgstr ""
+msgstr "Benyt 64 bit almene registre"
-#: config/mips/mips.h:385
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
-msgstr ""
+msgstr "Benyt 32 bit almene registre"
-#: config/mips/mips.h:387
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
-msgstr ""
+msgstr "Benyt Irix PIC"
-#: config/mips/mips.h:389
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
-msgstr ""
-
-#: config/mips/mips.h:391
-msgid "Use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:393
-msgid "Don't use OSF PIC"
-msgstr ""
+msgstr "Benyt ikke Irix PIC"
-#: config/mips/mips.h:395
+#: config/mips/mips.h:584
msgid "Use indirect calls"
-msgstr ""
+msgstr "Benyt indirekte kald"
-#: config/mips/mips.h:397
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
-msgstr ""
+msgstr "Benyt ikke indirekte kald"
-#: config/mips/mips.h:399
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
-msgstr ""
+msgstr "Benyt indlejret PIC"
-#: config/mips/mips.h:401
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
-msgstr ""
+msgstr "Benyt ikke indlejret PIC"
-#: config/mips/mips.h:403
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
-msgstr ""
+msgstr "Benyt ROM i stedet for RAM"
-#: config/mips/mips.h:405
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
-msgstr ""
+msgstr "Benyt ikke ROM i stedet for RAM"
-#: config/mips/mips.h:407
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
-msgstr ""
+msgstr "Anbring konstanter uden startværdi i ROM (behøver -membedded-data)"
-#: config/mips/mips.h:409
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
-msgstr ""
+msgstr "Anbring ikke konstanter uden startværdi i ROM"
-#: config/mips/mips.h:411
+#. Macro to define tables used to set the flags.
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
-msgstr ""
+msgstr "Benyt storendet byteordning"
-#: config/mips/mips.h:413
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
-msgstr ""
+msgstr "Benyt lilleendet byteordning"
-#: config/mips/mips.h:415
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
-msgstr ""
+msgstr "Benyt kun enkeltpræcisions (32 bit) kommatal"
-#: config/mips/mips.h:417
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
-msgstr ""
+msgstr "Benyt ikke kun enkeltpræcisions (32 bit) kommatal"
-#: config/mips/mips.h:419
+# hvad så det er...
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
-msgstr ""
+msgstr "Benyt multiplikationsakkumulering"
-#: config/mips/mips.h:421
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
-msgstr ""
+msgstr "Benyt ikke multiplikationsakkumulering"
-#: config/mips/mips.h:423
-msgid "Work around early 4300 hardware bug"
-msgstr ""
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
+msgid "Don't generate fused multiply/add instructions"
+msgstr "Generér ikke sammensatte gang/addér-instruktioner"
-#: config/mips/mips.h:425
-msgid "Don't work around early 4300 hardware bug"
-msgstr ""
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
+msgid "Generate fused multiply/add instructions"
+msgstr "Generér sammensatte gang/addér-instruktioner"
-#: config/mips/mips.h:427
-msgid "Optimize for 4650"
-msgstr ""
+#: config/mips/mips.h:616
+msgid "Work around early 4300 hardware bug"
+msgstr "Arbejd rundt om tidlig 4300-hardwarefejl"
-#: config/mips/mips.h:429
-msgid "Optimize for 3900"
-msgstr ""
+#: config/mips/mips.h:618
+msgid "Don't work around early 4300 hardware bug"
+msgstr "Arbejd ikke rundt om tidlig 4300-hardwarefejl"
-#: config/mips/mips.h:431
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
-msgstr ""
+msgstr "Forårsag undtagelse ved heltalsdivision med nul"
-#: config/mips/mips.h:433
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
-msgstr ""
+msgstr "Forårsag ikke undtagelse ved heltalsdivision med nul"
-#: config/mips/mips.h:435
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
-msgstr ""
+msgstr "Forårsag undtagelse ved heltalsdivisionsoverløb"
-#: config/mips/mips.h:437
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
-msgstr ""
+msgstr "Forårsag ikke undtagelse ved heltalsdivisionsoverløb"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/mips/mips.h:562
+#: config/mips/mips.h:628
+msgid "Use Branch Likely instructions, overriding default for arch"
+msgstr "Benyt Branch Likely-instruktioner, overskrivende forvalget for arkitektur"
+
+#: config/mips/mips.h:630
+msgid "Don't use Branch Likely instructions, overriding default for arch"
+msgstr "Benyt ikke Branch Likely-instruktioner, overskrivende forvalget for arkitektur"
+
+#: config/mips/mips.h:744 config/pa/pa.h:310
msgid "Specify CPU for scheduling purposes"
-msgstr ""
+msgstr "Angiv processor til planlægningsformål"
-#: config/mips/mips.h:564
-msgid "Specify MIPS ISA"
-msgstr ""
+#: config/mips/mips.h:746
+msgid "Specify CPU for code generation purposes"
+msgstr "Angiv processor til kodegenereringsformål"
-#: config/mips/mips.h:566
+#: config/mips/mips.h:748
+msgid "Specify an ABI"
+msgstr "Angiv en ABI"
+
+#: config/mips/mips.h:750
+msgid "Specify a Standard MIPS ISA"
+msgstr "Angiv en Standard MIPS ISA"
+
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
-msgstr ""
+msgstr "Benyt MIPS16-indtrædelse-/afslutningspseudooperationer"
-#: config/mips/mips.h:568
-#, fuzzy
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt ikke MIPS16-instruktioner"
+
+#: config/mips/mips.h:756
+msgid "Don't call any cache flush functions"
+msgstr "Kald ikke nogen mellemlagertømningsfunktion"
+
+#: config/mips/mips.h:758
+msgid "Specify cache flush function"
+msgstr "Angiv mellemlagertømningsfunktion"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/mips/mips.h:2592
+#: config/mips/mips.h:2890
msgid "mips16 function profiling"
-msgstr ""
+msgstr "MIPS16-funktionsprofilering"
+
+#: config/mmix/mmix.c:189
+#, c-format
+msgid "-f%s not supported: ignored"
+msgstr "-f%s er ikke understøttet: ignoreret"
+
+#: config/mmix/mmix.c:644
+#, c-format
+msgid "too large function value type, needs %d registers, have only %d registers for this"
+msgstr "for stor funktionsværditype, behøver %d registre, har kun %d registre til dette"
+
+#: config/mmix/mmix.c:826
+msgid "function_profiler support for MMIX"
+msgstr "function_profiler-understøttelse for MMIX"
+
+#: config/mmix/mmix.c:848
+msgid "MMIX Internal: Last named vararg would not fit in a register"
+msgstr "MMIX-intern: Sidst navngivne variabel parameter kan ikke passes i et register"
+
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
+msgid "MMIX Internal: Expected a CONST_INT, not this"
+msgstr "MMIX-intern: Forventede en CONST_INT, ikke dette"
+
+#: config/mmix/mmix.c:1647 config/mmix/mmix.c:1671 config/mmix/mmix.c:1787
+#, c-format
+msgid "MMIX Internal: Bad register: %d"
+msgstr "MMIX-intern: Ugyldigt register: %d"
+
+#: config/mmix/mmix.c:1718
+msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+msgstr "MMIX-intern: Ugyldigt værdi for 'm', ikke en CONST_INT"
+
+#: config/mmix/mmix.c:1737
+msgid "MMIX Internal: Expected a register, not this"
+msgstr "MMIX-intern: Forventede et register, ikke dette"
+
+#: config/mmix/mmix.c:1747
+msgid "MMIX Internal: Expected a constant, not this"
+msgstr "MMIX-intern: Forventede en konstant, ikke dette"
+
+#. Presumably there's a missing case above if we get here.
+#: config/mmix/mmix.c:1779
+#, c-format
+msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
+msgstr "MMIX-intern: Mangler '%c'-case i mmix_print_operand"
+
+#. We need the original here.
+#: config/mmix/mmix.c:1831
+msgid "MMIX Internal: Cannot decode this operand"
+msgstr "MMIX-intern: Kan ikke dekode denne operand"
+
+#: config/mmix/mmix.c:1891
+msgid "MMIX Internal: This is not a recognized address"
+msgstr "MMIX-intern: Dette er ikke en genkendt adresse"
+
+#: config/mmix/mmix.c:2082
+#, c-format
+msgid "stack frame not a multiple of 8 bytes: %d"
+msgstr "stakramme ikke et produkt af 8 byte: %d"
+
+#: config/mmix/mmix.c:2321
+#, c-format
+msgid "stack frame not a multiple of octabyte: %d"
+msgstr "stakramme ikke et produkt af 8 byte: %d"
+
+#: config/mmix/mmix.c:2818 config/mmix/mmix.c:2887
+#, c-format
+msgid "MMIX Internal: %s is not a shiftable int"
+msgstr "MMIX-intern: %s er ikke en int der kan skiftes"
+
+#: config/mmix/mmix.c:3006
+msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+msgstr "MMIX-intern: Forsøger at udskrive ugyldigt omvendt betingelse:"
+
+#: config/mmix/mmix.c:3013
+msgid "MMIX Internal: What's the CC of this?"
+msgstr "MMIX-intern: Hvad er CC af dette?"
+
+#: config/mmix/mmix.c:3017
+msgid "MMIX Internal: What is the CC of this?"
+msgstr "MMIX-intern: Hvad er CC af dette?"
+
+#: config/mmix/mmix.c:3088
+msgid "MMIX Internal: This is not a constant:"
+msgstr "MMIX-intern: Dette er ikke en konstant:"
+
+#. For these target macros, there is no generic documentation here. You
+#. should read `Using and Porting GCC' for that. Only comments specific
+#. to the MMIX target are here.
+#.
+#. There are however references to the specific texinfo node (comments
+#. with "Node:"), so there should be little or nothing amiss. Probably
+#. the opposite, since we don't have to care about old littering and
+#. soon outdated generic comments.
+#. Node: Driver
+#. 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.
+#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
+#. Provide default program start 0x100 unless -mno-set-program-start.
+#. 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:132
+msgid "Set start-address of the program"
+msgstr "Angiv startadressen for programmet"
+
+#: config/mmix/mmix.h:134
+msgid "Set start-address of data"
+msgstr "Angiv startadressen for data"
+
+#. FIXME: Provide a way to *load* the epsilon register.
+#: config/mmix/mmix.h:198
+msgid "For intrinsics library: pass all parameters in registers"
+msgstr "For indbyggede biblioteker: overbring alle parametre i registre"
+
+#: config/mmix/mmix.h:201
+msgid "Use register stack for parameters and return value"
+msgstr "Benyt registerstakken til parametre og returværdier"
+
+#: config/mmix/mmix.h:203
+msgid "Use call-clobbered registers for parameters and return value"
+msgstr "Benyt kaldeoptagne registre til parametre og returværdier"
+
+#: config/mmix/mmix.h:205
+msgid "Use epsilon-respecting floating point compare instructions"
+msgstr "Benyt epsilon-respekterende instruktioner til kommatalssammenligning"
+
+#: config/mmix/mmix.h:208
+msgid "Use zero-extending memory loads, not sign-extending ones"
+msgstr "Benyt nul-udvidende hukommelsesindlæsninger, ikke fortegnsudvidende"
+
+#: config/mmix/mmix.h:211
+msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+msgstr "Generér divisionsresultater med rest som har det samme fortegn som nævneren (ikke tælleren)"
+
+#: config/mmix/mmix.h:215
+msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+msgstr "Tilføj \":\" til starten af globale symboler (til brug sammen med PREFIX)"
+
+#: config/mmix/mmix.h:217
+msgid "Do not provide a default start-address 0x100 of the program"
+msgstr "Tilbyd ikke standardstartadressen 0x100 for programmet"
+
+#: config/mmix/mmix.h:219
+msgid "Link to emit program in ELF format (rather than mmo)"
+msgstr "Lad sammenkædningen udsende programmet i ELF-format (i stedet for mmo)"
+
+#: config/mmix/mmix.h:221
+msgid "Use P-mnemonics for branches statically predicted as taken"
+msgstr "Benyt P-aliaser for forgreninger som statistisk forudses at blive taget"
+
+#: config/mmix/mmix.h:223
+msgid "Don't use P-mnemonics for branches"
+msgstr "Benyt ikke P-aliaser for forgreninger"
+
+#: config/mmix/mmix.h:225
+msgid "Use addresses that allocate global registers"
+msgstr "Benyt adresser der allokerer globale registre"
+
+#: config/mmix/mmix.h:227
+msgid "Do not use addresses that allocate global registers"
+msgstr "Benyt ikke adresser der allokerer globale registre"
+
+#: config/mmix/mmix.h:229
+msgid "Generate a single exit point for each function"
+msgstr "Generér et enkelt afslutningspunkt for hver funktion"
+
+#: config/mmix/mmix.h:231
+msgid "Do not generate a single exit point for each function"
+msgstr "Generér ikke et enkelt afslutningspunkt for hver funktion"
#: config/mn10300/mn10300.h:59
msgid "Work around hardware multiply bug"
-msgstr ""
+msgstr "Arbejd omkring hardware-multiplikationsfejl"
#: config/mn10300/mn10300.h:60
-#, fuzzy
msgid "Do not work around hardware multiply bug"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Arbejd ikke omkring hardware-multiplikationsfejl"
#: config/mn10300/mn10300.h:61
msgid "Target the AM33 processor"
-msgstr ""
-
-#: config/nextstep.c:65
-msgid "optimization turned on"
-msgstr ""
-
-#: config/nextstep.c:71
-msgid "optimization turned off"
-msgstr ""
+msgstr "Målret mod AM33-processoren"
-#: config/nextstep.c:80
-#, fuzzy
-msgid "optimization level restored"
-msgstr "Oversættelse af inkluderingsfil udbedt"
+#: config/mn10300/mn10300.h:65
+msgid "Enable linker relaxations"
+msgstr "Aktivér tolerant sammenkædning"
-#: config/ns32k/ns32k.h:104
-#, fuzzy
+#: config/ns32k/ns32k.h:142 config/s390/s390.h:69
msgid "Don't use hardware fp"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Benyt ikke hardware-kommatal"
-#: config/ns32k/ns32k.h:105
-#, fuzzy
+#: config/ns32k/ns32k.h:143
msgid "Alternative calling convention"
msgstr "Alternativ kaldekonvention"
-#: config/ns32k/ns32k.h:107
+#: config/ns32k/ns32k.h:145
msgid "Pass some arguments in registers"
-msgstr ""
+msgstr "Overbring nogle parametre i registre"
-#: config/ns32k/ns32k.h:108
+#: config/ns32k/ns32k.h:146
msgid "Pass all arguments on stack"
-msgstr ""
+msgstr "Overbring alle parametre på stakken"
-#: config/ns32k/ns32k.h:109
+#: config/ns32k/ns32k.h:147
msgid "Optimize for 32532 cpu"
-msgstr ""
+msgstr "Optimér for en 32532-processor"
-#: config/ns32k/ns32k.h:110
+#: config/ns32k/ns32k.h:148
msgid "Optimize for 32332 cpu"
-msgstr ""
+msgstr "Optimér for en 32332-processor"
-#: config/ns32k/ns32k.h:112
+#: config/ns32k/ns32k.h:150
msgid "Optimize for 32032"
-msgstr ""
+msgstr "Optimér for en 32032-processor"
-#: config/ns32k/ns32k.h:114
+#: config/ns32k/ns32k.h:152
msgid "Register sb is zero. Use for absolute addressing"
-msgstr ""
+msgstr "Registeret 'sb' er nul; benyt til absolut adressering"
-#: config/ns32k/ns32k.h:115
-#, fuzzy
+#: config/ns32k/ns32k.h:153
msgid "Do not use register sb"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Benyt ikke registeret 'sb'"
-#: config/ns32k/ns32k.h:116
-#, fuzzy
-msgid "Do not use bitfield instructions"
-msgstr "Se %s for instruktioner."
+#: config/ns32k/ns32k.h:155
+msgid "Use bit-field instructions"
+msgstr "Benyt bitfeltinstruktioner"
-#: config/ns32k/ns32k.h:117
-#, fuzzy
-msgid "Use bitfield instructions"
-msgstr "Se %s for instruktioner."
+#: config/ns32k/ns32k.h:157
+msgid "Do not use bit-field instructions"
+msgstr "Benyt ikke bitfeltinstruktioner"
-#: config/ns32k/ns32k.h:118
-#, fuzzy
+#: config/ns32k/ns32k.h:158
msgid "Generate code for high memory"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til høj hukommelse"
-#: config/ns32k/ns32k.h:119
-#, fuzzy
+#: config/ns32k/ns32k.h:159
msgid "Generate code for low memory"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til lav hukommelse"
-#: config/ns32k/ns32k.h:120
+#: config/ns32k/ns32k.h:160
msgid "32381 fpu"
-msgstr ""
+msgstr "32381-fpu"
-#: config/ns32k/ns32k.h:121
+#: config/ns32k/ns32k.h:162
msgid "Use multiply-accumulate fp instructions"
-msgstr ""
+msgstr "Benyt kommatalsinstruktioner til multiplikationsakkumulering"
-#: config/ns32k/ns32k.h:123
+#: config/ns32k/ns32k.h:164
msgid "Do not use multiply-accumulate fp instructions"
-msgstr ""
+msgstr "Benyt ikke kommatalsinstruktioner til multiplikationsakkumulering"
-#: config/ns32k/ns32k.h:124
-#, fuzzy
+#: config/ns32k/ns32k.h:165
msgid "\"Small register classes\" kludge"
-msgstr "Ugyldigt registerklassebogstav %c"
+msgstr "\"Små registerklasser\"-lapning"
-#: config/ns32k/ns32k.h:125
-#, fuzzy
+#: config/ns32k/ns32k.h:166
msgid "No \"Small register classes\" kludge"
-msgstr "Ugyldigt registerklassebogstav %c"
+msgstr "Ingen \"Små registerklasser\"-lapning"
-#: config/pa/pa.c:135
+#: config/pa/pa.c:261
#, c-format
msgid ""
-"Unknown -mschedule= option (%s).\n"
-"Valid options are 700, 7100, 7100LC, 7200, and 8000\n"
+"unknown -mschedule= option (%s).\n"
+"Valid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n"
msgstr ""
+"ukendt parameter til -mschedule= (%s).\n"
+"Gyldige parametre er 700, 7100, 7100LC, 7200, 7300 og 8000\n"
-#: config/pa/pa.c:160
+#: config/pa/pa.c:286
#, c-format
msgid ""
-"Unknown -march= option (%s).\n"
+"unknown -march= option (%s).\n"
"Valid options are 1.0, 1.1, and 2.0\n"
msgstr ""
+"ukendt parameter til -march= (%s).\n"
+"Gyldige parametre er 1.0, 1.1 og 2.0\n"
-#: config/pa/pa.c:165
+#: config/pa/pa.c:299
msgid "PIC code generation is not supported in the portable runtime model\n"
-msgstr ""
+msgstr "PIC-kodegenerering er ikke understøttet i den portable kørselsmodel\n"
-#: config/pa/pa.c:170
+#: config/pa/pa.c:304
msgid "PIC code generation is not compatible with fast indirect calls\n"
-msgstr ""
+msgstr "PIC-kodegenerering er ikke kompatibel med hurtige indirekte kald\n"
-#: config/pa/pa.c:175
-msgid "PIC code generation is not compatible with profiling\n"
-msgstr ""
-
-#: config/pa/pa.c:180
+#: config/pa/pa.c:309
msgid "-g is only supported when using GAS on this processor,"
-msgstr ""
+msgstr "-g er kun understøttet ved brug af GAS på denne processor,"
+
+#: config/pa/pa.c:310
+msgid "-g option disabled"
+msgstr "tilvalget -g deaktiveret"
+
+#: 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 "Generér CPP-defineringer til server-IO"
+
+#: 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 "Generér CPP-defineringer til arbejdsstation-IO"
+
+#. 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:232 config/pa/pa.h:238
+msgid "Generate PA1.1 code"
+msgstr "Generér PA1.1-kode"
+
+#: config/pa/pa.h:234 config/pa/pa.h:236
+msgid "Generate PA1.0 code"
+msgstr "Generér PA1.0-kode"
+
+#: config/pa/pa.h:240
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr "Generér PA2.0-kode (kræver binutils 2.10 eller nyere)"
+
+#: config/pa/pa.h:242
+msgid "Disable FP regs"
+msgstr "Deaktivér kommatalsregistre"
+
+#: config/pa/pa.h:244
+msgid "Do not disable FP regs"
+msgstr "Deaktivér ikke kommatalsregistre"
+
+#: config/pa/pa.h:246
+msgid "Disable space regs"
+msgstr "Deaktivér pladsregistre"
+
+#: config/pa/pa.h:248
+msgid "Do not disable space regs"
+msgstr "Deaktivér ikke pladsregistre"
+
+#: config/pa/pa.h:250
+msgid "Put jumps in call delay slots"
+msgstr "Anbring spring på kaldeventetidspladser"
+
+#: config/pa/pa.h:252
+msgid "Do not put jumps in call delay slots"
+msgstr "Anbring ikke spring på kaldeventetidspladser"
+
+#: config/pa/pa.h:254
+msgid "Disable indexed addressing"
+msgstr "Deaktivér indekseret adressering"
+
+#: config/pa/pa.h:256
+msgid "Do not disable indexed addressing"
+msgstr "Deaktivér ikke indekseret adressering"
+
+#: config/pa/pa.h:258
+msgid "Use portable calling conventions"
+msgstr "Benyt portable kaldekonventioner"
+
+#: config/pa/pa.h:260
+msgid "Do not use portable calling conventions"
+msgstr "Benyt ikke portable kaldekonventioner"
+
+#: config/pa/pa.h:262
+msgid "Assume code will be assembled by GAS"
+msgstr "Antag at koden bliver oversat af GAS"
+
+#: config/pa/pa.h:264
+msgid "Do not assume code will be assembled by GAS"
+msgstr "Antag ikke at koden bliver oversat af GAS"
+
+#: config/pa/pa.h:268
+msgid "Do not use software floating point"
+msgstr "Benyt ikke softwarekommatal"
+
+#: config/pa/pa.h:270
+msgid "Emit long load/store sequences"
+msgstr "Udsend lange load/store-sekvenser"
+
+#: config/pa/pa.h:272
+msgid "Do not emit long load/store sequences"
+msgstr "Udsend ikke lange load/store-sekvenser"
+
+#: config/pa/pa.h:274
+msgid "Generate fast indirect calls"
+msgstr "Generér hurtige indirekte kald"
+
+#: config/pa/pa.h:276
+msgid "Do not generate fast indirect calls"
+msgstr "Generér ikke hurtige indirekte kald"
+
+#: config/pa/pa.h:278
+msgid "Generate code for huge switch statements"
+msgstr "Generér kode til store switch-sætninger"
+
+#: config/pa/pa.h:280
+msgid "Do not generate code for huge switch statements"
+msgstr "Generér ikke kode til store switch-sætninger"
+
+#: config/pa/pa.h:282
+msgid "Always generate long calls"
+msgstr "Generér altid lange kalde"
+
+#: config/pa/pa.h:284
+msgid "Generate long calls only when needed"
+msgstr "Generér kun lange kalde når det er nødvendigt"
+
+#: config/pa/pa.h:286
+msgid "Enable linker optimizations"
+msgstr "Aktivér sammenkæderoptimeringer"
-#: config/pa/pa.c:181
-#, fuzzy
-msgid "-g option disabled."
-msgstr "tilvalg slået til: "
+#: config/pa/pa.h:312
+msgid "Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later."
+msgstr "Angiv arkitekturen for kodegenerering. Mulige værdier er 1.0, 1.1 og 2.0. 2.0 kræver GAS-snapshot 19990413 eller senere."
+
+#: config/pa/pa64-hpux.h:29
+msgid "Assume code will be linked by GNU ld"
+msgstr "Antag at kode vil blive sammenkædet med GNU ld"
-#: config/pdp11/pdp11.h:56
-#, fuzzy
+#: config/pa/pa64-hpux.h:31
+msgid "Assume code will be linked by HP ld"
+msgstr "Antag at kode vil blive sammenkædet med HP ld"
+
+#: config/pdp11/pdp11.h:57
msgid "Do not use hardware floating point"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Benyt ikke hardware-kommatal"
#. return float result in ac0
-#: config/pdp11/pdp11.h:58
+#: config/pdp11/pdp11.h:59
msgid "Return floating point results in ac0"
-msgstr ""
+msgstr "Returnér kommatalsresultater i ac0"
-#: config/pdp11/pdp11.h:59
-#, fuzzy
+#: config/pdp11/pdp11.h:60
msgid "Return floating point results in memory"
-msgstr "Ugyldigt tilvalg til kommatalsemulering: -mfpe-%s"
+msgstr "Returnér kommatalsresultater i hukommelse"
#. is 11/40
-#: config/pdp11/pdp11.h:61
-#, fuzzy
+#: config/pdp11/pdp11.h:62
msgid "Generate code for an 11/40"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en 11/40"
#. is 11/45
-#: config/pdp11/pdp11.h:64
-#, fuzzy
+#: config/pdp11/pdp11.h:65
msgid "Generate code for an 11/45"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en 11/45"
#. is 11/10
-#: config/pdp11/pdp11.h:67
-#, fuzzy
+#: config/pdp11/pdp11.h:68
msgid "Generate code for an 11/10"
-msgstr "Generér kode til en given cpu"
+msgstr "Generér kode til en 11/10"
#. 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 ""
+msgstr "Benyt 32 bit int"
-#: 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 ""
+msgstr "Benyt 16 bit int"
#. 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 ""
+msgstr "Benyt 32 bit float"
-#: 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 ""
+msgstr "Benyt 64 bit float"
#. allow abshi pattern? - can trigger "optimizations" which make code SLOW!
#. 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 ""
+msgstr "Målarkitektur har delt I&D"
-#: config/pdp11/pdp11.h:90
+#: config/pdp11/pdp11.h:91
msgid "Target does not have split I&D"
-msgstr ""
+msgstr "Målarkitektur har ikke delt I&D"
#. UNIX assembler syntax?
-#: config/pdp11/pdp11.h:92
+#: config/pdp11/pdp11.h:93
msgid "Use UNIX assembler syntax"
-msgstr ""
+msgstr "Benyt UNIX-maskinkodesyntaks"
-#: 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 ""
+msgstr "Benyt DEC-maskinkodesyntaks"
-#: config/pj/pj.h:83
-msgid "Disable reorganization pass"
-msgstr ""
-
-#: config/romp/romp.c:674
-#, c-format
-msgid "invalid %%B value"
-msgstr "ugyldig %%B-værdi"
-
-#: config/romp/romp.c:701 config/rs6000/rs6000.c:4106
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7752
#, c-format
msgid "invalid %%S value"
msgstr "ugyldig %%S-værdi"
-#: config/romp/romp.c:710 config/romp/romp.c:717
+#: config/romp/romp.c:726 config/romp/romp.c:733
#, c-format
msgid "invalid %%b value"
msgstr "ugyldig %%b-værdi"
-#: config/romp/romp.c:738 config/romp/romp.c:745
-#, c-format
-msgid "invalid %%H value"
-msgstr "ugyldig %%H-værdi"
-
-#: config/romp/romp.c:757 config/romp/romp.c:768
+#: config/romp/romp.c:773 config/romp/romp.c:784
#, c-format
msgid "invalid %%z value"
msgstr "ugyldig %%z-værdi"
-#: config/romp/romp.c:776 config/romp/romp.c:784
+#: config/romp/romp.c:792 config/romp/romp.c:800
#, c-format
msgid "invalid %%Z value"
msgstr "ugyldig %%Z-værdi"
-#: config/romp/romp.c:791 config/romp/romp.c:800 config/romp/romp.c:807
-#: config/rs6000/rs6000.c:3888
+#: config/romp/romp.c:807 config/romp/romp.c:816 config/romp/romp.c:823
+#: config/rs6000/rs6000.c:7581
#, c-format
msgid "invalid %%k value"
msgstr "ugyldig %%k-værdi"
-#: config/romp/romp.c:892 config/romp/romp.c:935
+#: config/romp/romp.c:908 config/romp/romp.c:951
#, c-format
msgid "invalid %%j value"
msgstr "ugyldig %%j-værdi"
@@ -6539,141 +12454,204 @@ msgstr "ugyldig %%j-værdi"
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr "kan ikke have variable parameterlister med -mfp-arg-in-fp-regs"
-#: config/rs6000/aix.h:303 config/rs6000/beos.h:30
-msgid "Always pass floating-point arguments in memory"
-msgstr ""
+#. 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 "ignorerer forkert udformet #pragma longcall"
+
+#: config/rs6000/rs6000-c.c:58
+msgid "missing open paren"
+msgstr "manglende startparantes"
+
+#: config/rs6000/rs6000-c.c:60
+msgid "missing number"
+msgstr "manglende tal"
+
+#: config/rs6000/rs6000-c.c:62
+msgid "missing close paren"
+msgstr "manglende slutparantes"
+
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
+msgstr "tal skal enten være 0 eller 1"
+
+#: config/rs6000/rs6000-c.c:68
+msgid "junk at end of #pragma longcall"
+msgstr "ragelse i slutningen af #pragma longcall"
+
+#: config/rs6000/rs6000.c:592
+msgid "-mmultiple is not supported on little endian systems"
+msgstr "-mmultiple er ikke understøttet på lilleendede systemer"
-#: config/rs6000/aix.h:305 config/rs6000/beos.h:32
-msgid "Don't always pass floating-point arguments in memory"
-msgstr ""
+#: config/rs6000/rs6000.c:599
+msgid "-mstring is not supported on little endian systems"
+msgstr "-mstring er ikke understøttet på lilleendede systemer"
-#: config/rs6000/aix41.h:28 config/rs6000/aix43.h:32 config/rs6000/aix51.h:32
-msgid "Support message passing with the Parallel Environment"
-msgstr ""
+#: config/rs6000/rs6000.c:623
+#, c-format
+msgid "unknown -mdebug-%s switch"
+msgstr "ukendt tilvalg -mdebug-%s"
-#: config/rs6000/aix43.h:28 config/rs6000/aix51.h:28
-msgid "Compile for 64-bit pointers"
-msgstr ""
+#: config/rs6000/rs6000.c:635
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr "ukendt parameter '%s' til -mtraceback; forventer 'full', 'partial' eller 'none'"
-#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30
-msgid "Compile for 32-bit pointers"
-msgstr ""
+#: config/rs6000/rs6000.c:646
+#, c-format
+msgid "Unknown switch -mlong-double-%s"
+msgstr "Ukendt tilvalg -mlong-double-%s"
-#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49
-#, fuzzy
-msgid "-maix64 and POWER architecture are incompatible."
-msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
+#: config/rs6000/rs6000.c:738
+#, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "ukendt tilvalg til -misel= angivet: '%s'"
-#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54
-msgid "-maix64 requires PowerPC64 architecture remain enabled."
-msgstr ""
+#: config/rs6000/rs6000.c:753
+#, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "ukendt tilvalg til -mvrsave= angivet: '%s'"
-#: config/rs6000/aix43.h:58 config/rs6000/aix51.h:58
-msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported."
-msgstr "-maix64 påkrævet: 64 bit-beregninger med 32 bit-adressering understøttes endnu ikke."
+#: config/rs6000/rs6000.c:772
+#, c-format
+msgid "unknown ABI specified: '%s'"
+msgstr "ukendt ABI angivet: '%s'"
-#: config/rs6000/rs6000.c:341
-#, fuzzy
-msgid "-mmultiple is not supported on little endian systems"
-msgstr "-mcmodel= understøttes ikke på 32 bit-systemer"
+#: config/rs6000/rs6000.c:4203
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
-#: config/rs6000/rs6000.c:348
-#, fuzzy
-msgid "-mstring is not supported on little endian systems"
-msgstr "-mcmodel= understøttes ikke på 32 bit-systemer"
+#: config/rs6000/rs6000.c:4310 config/rs6000/rs6000.c:4900
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "2. parameter skal være en 5 bit-konstant uden fortegn"
-#: config/rs6000/rs6000.c:354
-#, c-format
-msgid "-f%s ignored for AIX (all code is position independent)"
-msgstr ""
+#: config/rs6000/rs6000.c:4353
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr "1. parameter til __builtin_altivec_predicate skal være en konstant"
-#: config/rs6000/rs6000.c:362
-msgid "-ffunction-sections disabled on AIX when debugging"
-msgstr ""
+#: config/rs6000/rs6000.c:4407
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr "1. parameter til __builtin_altivec_predicate er uden for det gyldige interval"
-#: config/rs6000/rs6000.c:368
-#, fuzzy
-msgid "-fdata-sections not supported on AIX"
-msgstr "-pipe understøttes ikke."
+#: config/rs6000/rs6000.c:4486
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
-#: config/rs6000/rs6000.c:382
+#: config/rs6000/rs6000.c:4663
#, c-format
-msgid "Unknown -mdebug-%s switch"
-msgstr "Ukendt '-mdebug-%s'-tilvalg"
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn"
-#: config/rs6000/rs6000.c:3815
+#: config/rs6000/rs6000.c:4779
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr "parameter til dss skal være en 2 bit-konstant uden fortegn"
+
+#: config/rs6000/rs6000.c:5010
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "1. parameter til __builtin_spe_predicate skal være en konstant"
+
+#: config/rs6000/rs6000.c:5083
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "1. parameter til __builtin_spe_predicate er uden for det gyldige interval"
+
+#: config/rs6000/rs6000.c:7508
#, c-format
msgid "invalid %%f value"
msgstr "ugyldig %%f-værdi"
-#: config/rs6000/rs6000.c:3824
+#: config/rs6000/rs6000.c:7517
#, c-format
msgid "invalid %%F value"
msgstr "ugyldig %%F-værdi"
-#: config/rs6000/rs6000.c:3833
+#: config/rs6000/rs6000.c:7526
#, c-format
msgid "invalid %%G value"
msgstr "ugyldig %%G-værdi"
-#: config/rs6000/rs6000.c:3868
+#: config/rs6000/rs6000.c:7561
#, c-format
msgid "invalid %%j code"
msgstr "ugyldig %%j-kode"
-#: config/rs6000/rs6000.c:3878
+#: config/rs6000/rs6000.c:7571
#, c-format
msgid "invalid %%J code"
msgstr "ugyldig %%J-kode"
-#: config/rs6000/rs6000.c:3908
+#: config/rs6000/rs6000.c:7601
#, c-format
msgid "invalid %%K value"
msgstr "ugyldig %%K-værdi"
-#: config/rs6000/rs6000.c:4032
-#, c-format
-msgid "invalid %%p value"
-msgstr "ugyldig %%p-værdi"
-
-#: config/rs6000/rs6000.c:4069
+#: config/rs6000/rs6000.c:7668
#, c-format
-msgid "invalid %%q value"
-msgstr "ugyldig %%q-værdi"
-
-#: config/rs6000/rs6000.c:4132
-#, c-format
-msgid "%%S computed all 1's mask"
-msgstr "%%S beregnede alle 1'eres maske"
+msgid "invalid %%O value"
+msgstr "ugyldig %%O-værdi"
-#: config/rs6000/rs6000.c:4159
+#: config/rs6000/rs6000.c:7790
#, c-format
-msgid "%%S computed all 0's mask"
-msgstr "%%S beregnede alle 0'eres maske"
-
-#: config/rs6000/rs6000.c:4169
-#, fuzzy, c-format
msgid "invalid %%T value"
-msgstr "ugyldig %%v-værdi"
+msgstr "ugyldig %%T-værdi"
-#: config/rs6000/rs6000.c:4179
+#: config/rs6000/rs6000.c:7800
#, c-format
msgid "invalid %%u value"
msgstr "ugyldig %%u-værdi"
-#: config/rs6000/rs6000.c:4188
+#: config/rs6000/rs6000.c:7809
#, c-format
msgid "invalid %%v value"
msgstr "ugyldig %%v-værdi"
-#: config/rs6000/rs6000.c:4261
-#, fuzzy, c-format
-msgid "invalid %%W value"
-msgstr "ugyldig %%v-værdi"
+#: config/rs6000/rs6000.c:12223
+msgid "no profiling of 64-bit code for this ABI"
+msgstr "ingen profilering af 64 bit-kode for denne ABI"
+
+#: config/rs6000/aix.h:160 config/rs6000/beos.h:32
+msgid "Always pass floating-point arguments in memory"
+msgstr "Overbring altid kommatalsparametre i hukommelse"
+
+#: config/rs6000/aix.h:162 config/rs6000/beos.h:34
+msgid "Don't always pass floating-point arguments in memory"
+msgstr "Overbring ikke altid kommatalsparametre i hukommelse"
+
+#: 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 "Understøt meddelelsesoverbringelse med Parallel Environment"
+
+#: config/rs6000/aix43.h:28 config/rs6000/aix51.h:28 config/rs6000/aix52.h:28
+msgid "Compile for 64-bit pointers"
+msgstr "Oversæt for 64 bit-henvisninger"
+
+#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30 config/rs6000/aix52.h:30
+msgid "Compile for 32-bit pointers"
+msgstr "Oversæt for 32 bit-henvisninger"
+
+#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49 config/rs6000/aix52.h:49
+msgid "-maix64 and POWER architecture are incompatible"
+msgstr "-maix64 og POWER-arkitekturen er indbyrdes uforenelige"
+
+#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54 config/rs6000/aix52.h:54
+msgid "-maix64 requires PowerPC64 architecture remain enabled"
+msgstr "-maix64 kræver at PowerPC64-arkitekturen forbliver aktiveret"
+
+#: 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 "-maix64 påkrævet: 64 bit-beregninger med 32 bit-adressering understøttes endnu ikke"
#. Run-time compilation parameters selecting different hardware subsets.
#.
@@ -6682,156 +12660,161 @@ msgstr "ugyldig %%v-værdi"
#. 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:253
-#, fuzzy
+#: config/rs6000/rs6000.h:240
msgid "Use POWER instruction set"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt POWER-instruktionssættet"
-#: config/rs6000/rs6000.h:256
-#, fuzzy
+#: config/rs6000/rs6000.h:243
msgid "Use POWER2 instruction set"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt POWER2-instruktionssættet"
-#: config/rs6000/rs6000.h:258
-#, fuzzy
+#: config/rs6000/rs6000.h:245
msgid "Do not use POWER2 instruction set"
-msgstr "Brug ikke push-instruktioner til at gemme udgående parametre"
+msgstr "Benyt ikke POWER2-instruktionssættet"
-#: config/rs6000/rs6000.h:261
-#, fuzzy
+#: config/rs6000/rs6000.h:248
msgid "Do not use POWER instruction set"
-msgstr "Brug ikke push-instruktioner til at gemme udgående parametre"
+msgstr "Benyt ikke POWER-instruktionssættet"
-#: config/rs6000/rs6000.h:263
-#, fuzzy
+#: config/rs6000/rs6000.h:250
msgid "Use PowerPC instruction set"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt PowerPC-instruktionssættet"
-#: config/rs6000/rs6000.h:266
-#, fuzzy
+#: config/rs6000/rs6000.h:253
msgid "Do not use PowerPC instruction set"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt ikke PowerPC-instruktionssættet"
-#: config/rs6000/rs6000.h:268
+#: config/rs6000/rs6000.h:255
msgid "Use PowerPC General Purpose group optional instructions"
-msgstr ""
+msgstr "Benyt valgfrie instruktioner fra PowerPC General Purpose-gruppen"
-#: config/rs6000/rs6000.h:270
+#: config/rs6000/rs6000.h:257
msgid "Don't use PowerPC General Purpose group optional instructions"
-msgstr ""
+msgstr "Benyt ikke valgfrie instruktioner fra PowerPC General Purpose-gruppen"
-#: config/rs6000/rs6000.h:272
+#: config/rs6000/rs6000.h:259
msgid "Use PowerPC Graphics group optional instructions"
-msgstr ""
+msgstr "Benyt valgfrie instruktioner fra PowerPC Graphics-gruppen"
-#: config/rs6000/rs6000.h:274
+#: config/rs6000/rs6000.h:261
msgid "Don't use PowerPC Graphics group optional instructions"
-msgstr ""
+msgstr "Benyt ikke valgfrie instruktioner fra PowerPC Graphics-gruppen"
-#: config/rs6000/rs6000.h:276
-#, fuzzy
+#: config/rs6000/rs6000.h:263
msgid "Use PowerPC-64 instruction set"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt PowerPC-64-instruktionssættet"
-#: config/rs6000/rs6000.h:278
-#, fuzzy
+#: config/rs6000/rs6000.h:265
msgid "Don't use PowerPC-64 instruction set"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt ikke PowerPC-64-instruktionssættet"
-#: config/rs6000/rs6000.h:280
+#: config/rs6000/rs6000.h:267
+msgid "Use AltiVec instructions"
+msgstr "Benyt AltiVec-instruktioner"
+
+#: config/rs6000/rs6000.h:269
+msgid "Don't use AltiVec instructions"
+msgstr "Benyt ikke AltiVec-instruktioner"
+
+#: config/rs6000/rs6000.h:271
msgid "Use new mnemonics for PowerPC architecture"
-msgstr ""
+msgstr "Benyt nye aliaser for PowerPC-arkitekturen"
-#: config/rs6000/rs6000.h:282
+#: config/rs6000/rs6000.h:273
msgid "Use old mnemonics for PowerPC architecture"
-msgstr ""
+msgstr "Benyt tidligere aliaser for PowerPC-arkitekturen"
-#: config/rs6000/rs6000.h:285
+#: config/rs6000/rs6000.h:276
msgid "Put everything in the regular TOC"
-msgstr ""
+msgstr "Anbring alting i den regulære indholdsfortegnelse"
-#: config/rs6000/rs6000.h:287
-#, fuzzy
+#: config/rs6000/rs6000.h:278
msgid "Place floating point constants in TOC"
-msgstr "forkert udformet kommatalskonstant"
+msgstr "Anbring kommatalskonstanter i indholdsfortegnelsen"
-#: config/rs6000/rs6000.h:289
+#: config/rs6000/rs6000.h:280
msgid "Don't place floating point constants in TOC"
-msgstr ""
+msgstr "Anbring ikke kommatalskonstanter i indholdsfortegnelsen"
-#: config/rs6000/rs6000.h:291
+#: config/rs6000/rs6000.h:282
msgid "Place symbol+offset constants in TOC"
-msgstr ""
+msgstr "Anbring symbol+afsæt-konstanter i indholdsfortegnelsen"
-#: config/rs6000/rs6000.h:293
+#: config/rs6000/rs6000.h:284
msgid "Don't place symbol+offset constants in TOC"
-msgstr ""
+msgstr "Anbring ikke symbol+afsæt-konstanter i indholdsfortegnelsen"
-#: config/rs6000/rs6000.h:299
+#: config/rs6000/rs6000.h:290
msgid "Place variable addresses in the regular TOC"
-msgstr ""
+msgstr "Anbring variabeladresser i den regulære indholdsfortegnelse"
-#: config/rs6000/rs6000.h:305
+#: config/rs6000/rs6000.h:296
msgid "Generate load/store multiple instructions"
-msgstr ""
+msgstr "Generér flere indlæsnings-/lagringsinstruktioner"
-#: config/rs6000/rs6000.h:307
+#: config/rs6000/rs6000.h:298
msgid "Do not generate load/store multiple instructions"
-msgstr ""
+msgstr "Generér ikke flere indlæsnings-/lagringsinstruktioner"
-#: config/rs6000/rs6000.h:311
+#: config/rs6000/rs6000.h:302
msgid "Generate string instructions for block moves"
-msgstr ""
+msgstr "Generér strengoperationer til blokflytninger"
-#: config/rs6000/rs6000.h:313
-#, fuzzy
+#: config/rs6000/rs6000.h:304
msgid "Do not generate string instructions for block moves"
-msgstr "Generér ikke sin, cos, sqrt til fpu"
+msgstr "Generér ikke strengoperationer til blokflytninger"
-#: config/rs6000/rs6000.h:317
+#: config/rs6000/rs6000.h:308
msgid "Generate load/store with update instructions"
-msgstr ""
+msgstr "Generér indlæsning/lagring med opdateringsinstruktioner"
-#: config/rs6000/rs6000.h:319
+#: config/rs6000/rs6000.h:310
msgid "Do not generate load/store with update instructions"
-msgstr ""
+msgstr "Generér ikke indlæsning/lagring med opdateringsinstruktioner"
-#: config/rs6000/rs6000.h:321
-msgid "Generate fused multiply/add instructions"
-msgstr ""
+#: config/rs6000/rs6000.h:318
+msgid "Don't schedule the start and end of the procedure"
+msgstr "Planlæg ikke begyndelsen og slutningen af proceduren"
-#: config/rs6000/rs6000.h:323
-msgid "Don't generate fused multiply/add instructions"
-msgstr ""
+#: config/rs6000/rs6000.h:324
+msgid "Return all structures in memory (AIX default)"
+msgstr "Returnér alle strukturer i hukommelse (SVR4-standard)"
-#: config/rs6000/rs6000.h:327
-msgid "Don't schedule the start and end of the procedure"
-msgstr ""
+#: config/rs6000/rs6000.h:326
+msgid "Return small structures in registers (SVR4 default)"
+msgstr "Returnér små strukturer i registre (SVR4-standard)"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/rs6000/rs6000.h:400 config/sparc/sparc.h:708
-#, fuzzy
+#: config/rs6000/rs6000.h:391 config/sparc/sparc.h:633
msgid "Use features of and schedule code for given CPU"
-msgstr "Planlæg koden til en given cpu"
+msgstr "Benyt faciliteter fra og planlæg koden til en given processor"
-#: config/rs6000/rs6000.h:403
+#: config/rs6000/rs6000.h:394
msgid "Enable debug output"
-msgstr ""
+msgstr "Aktivér fejlanalyseringsuddata"
+
+#: config/rs6000/rs6000.h:396
+msgid "Select full, part, or no traceback table"
+msgstr "Vælg komplet, partiel eller ingen tilbagesporingstabel"
+
+#: config/rs6000/rs6000.h:397
+msgid "Specify ABI to use"
+msgstr "Angiv ABI der skal bruges"
+
+#: config/rs6000/rs6000.h:399
+msgid "Specify size of long double (64 or 128 bits)"
+msgstr "Angiv størrelsen af long double (64 eller 128 bit)"
+
+#: config/rs6000/rs6000.h:401
+msgid "Specify yes/no if isel instructions should be generated"
+msgstr "Angiv yes/no hvis isel-instruktioner skal genereres"
+
+#: config/rs6000/rs6000.h:403
+msgid "Specify yes/no if VRSAVE instructions should be generated for AltiVec"
+msgstr "Angiv yes/no hvis VRSAVE-instruktioner skal genereres til AltiVec"
+
+#: config/rs6000/rs6000.h:405
+msgid "Avoid all range limits on call instructions"
+msgstr "Undgå alle områdegrænser ved kaldeinstruktioner"
#. Definitions for __builtin_return_address and __builtin_frame_address.
#. __builtin_return_address (0) should give link register (65), enable
@@ -6845,101 +12828,102 @@ 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:1654
+#: config/rs6000/rs6000.h:1878
msgid "RETURN_ADDRESS_OFFSET not supported"
msgstr "RETURN_ADDRESS_OFFSET er ikke understøttet"
-#: config/rs6000/sysv4.h:88
-#, fuzzy
-msgid "Select ABI calling convention."
-msgstr "Alternativ kaldekonvention"
+#: config/rs6000/sysv4.h:87
+msgid "Select ABI calling convention"
+msgstr "Angiv ABI-kaldekonvention"
-#: config/rs6000/sysv4.h:89
-msgid "Select method for sdata handling."
-msgstr ""
+#: config/rs6000/sysv4.h:88
+msgid "Select method for sdata handling"
+msgstr "Angiv metode for sdata-håndtering"
-#: config/rs6000/sysv4.h:104
-msgid "Align to the base type of the bitfield."
-msgstr ""
+#: config/rs6000/sysv4.h:103
+msgid "Align to the base type of the bit-field"
+msgstr "Justér til grundtypen for bitfeltet"
-#: config/rs6000/sysv4.h:106
-msgid "Don't align to the base type of the bitfield."
-msgstr ""
+#: config/rs6000/sysv4.h:105
+msgid "Don't align to the base type of the bit-field"
+msgstr "Justér ikke til grundtypen for bitfeltet"
-#: config/rs6000/sysv4.h:108
+#: config/rs6000/sysv4.h:107
msgid "Don't assume that unaligned accesses are handled by the system"
-msgstr ""
+msgstr "Antag ikke at ujusterede tilgange håndteres af systemet"
-#: 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
-msgid "Produce code relocatable at runtime."
-msgstr ""
-
-#: config/rs6000/sysv4.h:114 config/rs6000/sysv4.h:118
-msgid "Don't produce code relocatable at runtime."
-msgstr ""
-
-#: config/rs6000/sysv4.h:120 config/rs6000/sysv4.h:122
-msgid "Produce little endian code."
-msgstr ""
-
-#: config/rs6000/sysv4.h:124 config/rs6000/sysv4.h:126
-msgid "Produce big endian code."
-msgstr ""
+msgstr "Antag at ujusterede tilgange håndteres af systemet"
+
+#: config/rs6000/sysv4.h:111 config/rs6000/sysv4.h:115
+msgid "Produce code relocatable at runtime"
+msgstr "Generér kode som kan flyttes på kørselstidspunktet"
+
+#: config/rs6000/sysv4.h:113 config/rs6000/sysv4.h:117
+msgid "Don't produce code relocatable at runtime"
+msgstr "Generér ikke kode som kan flyttes på kørselstidspunktet"
+
+#: config/rs6000/sysv4.h:119 config/rs6000/sysv4.h:121
+msgid "Produce little endian code"
+msgstr "Generér lilleendet kode"
+
+#: config/rs6000/sysv4.h:123 config/rs6000/sysv4.h:125
+msgid "Produce big endian code"
+msgstr "Generér storendet kode"
+
+#: 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 "ingen beskrivelse endnu"
-#: config/rs6000/sysv4.h:130 config/sparc/linux.h:84
-#: config/sparc/linux64.h:140
-msgid "Use 128 bit long doubles"
-msgstr ""
+#: config/rs6000/sysv4.h:132
+msgid "Use EABI"
+msgstr "Benyt EABI"
-#: config/rs6000/sysv4.h:131 config/rs6000/sysv4.h:132
-#: config/rs6000/sysv4.h:133 config/rs6000/sysv4.h:134
-#: config/rs6000/sysv4.h:135 config/rs6000/sysv4.h:136
-#: config/rs6000/sysv4.h:143 config/rs6000/sysv4.h:144
-#: config/rs6000/sysv4.h:155 config/rs6000/sysv4.h:156
-#: config/rs6000/sysv4.h:157 config/rs6000/sysv4.h:159
-msgid "no description yet"
-msgstr ""
+#: config/rs6000/sysv4.h:133
+msgid "Don't use EABI"
+msgstr "Benyt ikke EABI"
-#: config/rs6000/sysv4.h:137
-msgid "Use EABI."
-msgstr ""
+#: config/rs6000/sysv4.h:136
+msgid "Do not allow bit-fields to cross word boundaries"
+msgstr "Tillad ikke bitfelter at krydse ordgrænser"
#: config/rs6000/sysv4.h:138
-msgid "Don't use EABI."
-msgstr ""
+msgid "Use alternate register names"
+msgstr "Benyt alternative registernavne"
#: config/rs6000/sysv4.h:140
-#, fuzzy
-msgid "Use alternate register names."
-msgstr "ukendt registernavn '%s'"
+msgid "Don't use alternate register names"
+msgstr "Benyt ikke alternative registernavne"
-#: config/rs6000/sysv4.h:142
-msgid "Don't use alternate register names."
-msgstr ""
+#: config/rs6000/sysv4.h:144
+msgid "Link with libsim.a, libc.a and sim-crt0.o"
+msgstr "Sammenkæd med libsim.a, libc.a og sim-crt0.o"
#: config/rs6000/sysv4.h:146
-msgid "Link with libsim.a, libc.a and sim-crt0.o."
-msgstr ""
+msgid "Link with libads.a, libc.a and crt0.o"
+msgstr "Sammenkæd med libads.a, libc.a og crt0.o"
#: config/rs6000/sysv4.h:148
-msgid "Link with libads.a, libc.a and crt0.o."
-msgstr ""
+msgid "Link with libyk.a, libc.a and crt0.o"
+msgstr "Sammenkæd med libyk.a, libc.a og crt0.o"
#: config/rs6000/sysv4.h:150
-msgid "Link with libyk.a, libc.a and crt0.o."
-msgstr ""
+msgid "Link with libmvme.a, libc.a and crt0.o"
+msgstr "Sammenkæd med libmvme.a, libc.a og crt0.o"
#: config/rs6000/sysv4.h:152
-msgid "Link with libmvme.a, libc.a and crt0.o."
-msgstr ""
+msgid "Set the PPC_EMB bit in the ELF flags header"
+msgstr "Sæt PPC_EMB-bitten i ELF-tilvalgshovedet"
#: config/rs6000/sysv4.h:154
-msgid "Set the PPC_EMB bit in the ELF flags header"
-msgstr ""
+msgid "Use the WindISS simulator"
+msgstr "Benyt WindISS-simulatoren"
#. Sometimes certain combinations of command options do not make sense
#. on a particular target machine. You can define a macro
@@ -6949,4972 +12933,7514 @@ msgstr ""
#.
#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
#. get control.
-#: config/rs6000/sysv4.h:205
+#: config/rs6000/sysv4.h:214
#, c-format
-msgid "Bad value for -mcall-%s"
-msgstr "Ugyldig værdi til -mcall-%s"
+msgid "bad value for -mcall-%s"
+msgstr "ugyldig værdi til -mcall-%s"
-#: config/rs6000/sysv4.h:221
+#: config/rs6000/sysv4.h:230
#, c-format
-msgid "Bad value for -msdata=%s"
-msgstr "Ugyldig værdi til -msdata=%s"
+msgid "bad value for -msdata=%s"
+msgstr "ugyldig værdi til -msdata=%s"
-#: config/rs6000/sysv4.h:238
+#: config/rs6000/sysv4.h:247
#, c-format
-msgid "-mrelocatable and -msdata=%s are incompatible."
+msgid "-mrelocatable and -msdata=%s are incompatible"
msgstr "-mrelocatable og -msdata=%s er indbyrdes uforenelige"
-#: config/rs6000/sysv4.h:246
+#: config/rs6000/sysv4.h:255
#, c-format
-msgid "-f%s and -msdata=%s are incompatible."
-msgstr "-f%s og -msdata=%s er indbyrdes uforenelige."
+msgid "-f%s and -msdata=%s are incompatible"
+msgstr "-f%s og -msdata=%s er indbyrdes uforenelige"
-#: config/rs6000/sysv4.h:255
+#: config/rs6000/sysv4.h:263
#, c-format
-msgid "-msdata=%s and -mcall-%s are incompatible."
-msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige."
+msgid "-msdata=%s and -mcall-%s are incompatible"
+msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige"
-#: config/rs6000/sysv4.h:262
-msgid "-mrelocatable and -mno-minimal-toc are incompatible."
-msgstr "-mrelocatable og -mno-minimal-toc er indbyrdes uforenelige."
+#: config/rs6000/sysv4.h:272
+msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+msgstr "-mrelocatable og -mno-minimal-toc er indbyrdes uforenelige"
-#: config/rs6000/sysv4.h:268
+#: config/rs6000/sysv4.h:278
#, c-format
-msgid "-mrelocatable and -mcall-%s are incompatible."
-msgstr "-mrelocatable og -mcall-%s er indbyrdes uforenelige."
+msgid "-mrelocatable and -mcall-%s are incompatible"
+msgstr "-mrelocatable og -mcall-%s er indbyrdes uforenelige"
-#: config/rs6000/sysv4.h:275
+#: config/rs6000/sysv4.h:285
#, c-format
-msgid "-fPIC and -mcall-%s are incompatible."
-msgstr "-fPIC og -mcall-%s er indbyrdes uforenelige."
+msgid "-fPIC and -mcall-%s are incompatible"
+msgstr "-fPIC og -mcall-%s er indbyrdes uforenelige"
-#: config/rs6000/sysv4.h:282
+#: config/rs6000/sysv4.h:292
msgid "-mcall-aixdesc must be big endian"
-msgstr "-mcall-aixdesc skal være ordnet med de mest betydende byte først i hukommelsen (big endian)"
+msgstr "-mcall-aixdesc skal være stor-endet"
-#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
-#, fuzzy
-msgid "Generate code for big endian"
-msgstr "Generér kode til en given cpu"
+#: config/s390/s390.c:3004
+msgid "invalid UNSPEC as operand (1)"
+msgstr "ugyldig UNSPEC som operand (1)"
-#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
-#, fuzzy
-msgid "Generate code for little endian"
-msgstr "Generér kode til en given cpu"
+#: config/s390/s390.c:3064
+msgid "invalid UNSPEC as operand (2)"
+msgstr "ugyldig UNSPEC som operand (2)"
-#: config/sparc/sp86x-aout.h:53 config/sparc/sp86x-elf.h:66
-msgid "Use little-endian byte order for data"
-msgstr ""
+#: config/s390/s390.c:3070
+msgid "UNKNOWN in s390_output_symbolic_const !?"
+msgstr "UNKNOWN i s390_output_symbolic_const !?"
+
+#: config/s390/s390.c:3088
+msgid "Cannot decompose address."
+msgstr "Kan ikke adskille adresse."
+
+#: config/s390/s390.c:3249
+msgid "UNKNOWN in print_operand !?"
+msgstr "UNKNOWN i print_operand !?"
+
+#: config/s390/s390.c:4902
+msgid "Total size of local variables exceeds architecture limit."
+msgstr "Total størrelse af lokale variable overstiger arkitekturgrænsen."
+
+# RETMIG: hvad er backchain?
+#: config/s390/s390.h:70
+msgid "Set backchain"
+msgstr "Sæt backchain"
+
+#: config/s390/s390.h:71
+msgid "Don't set backchain (faster, but debug harder"
+msgstr "Sæt ikke backchain (hurtigere, men sværere at fejlanalysere)"
+
+#: config/s390/s390.h:72
+msgid "Use bras for executable < 64k"
+msgstr "Benyt bras til kørbar fil < 64k"
+
+#: config/s390/s390.h:73
+msgid "Don't use bras"
+msgstr "Benyt ikke bras"
+
+#: config/s390/s390.h:74
+msgid "Additional debug prints"
+msgstr "Udskriv ekstra fejlanalyseringsinfo"
+
+#: config/s390/s390.h:75
+msgid "Don't print additional debug prints"
+msgstr "Udskriv ikke ekstra fejlanalyseringsinfo"
-#: config/sparc/sparc.c:253
+#: config/s390/s390.h:76
+msgid "64 bit mode"
+msgstr "64 bit-tilstand"
+
+#: config/s390/s390.h:77
+msgid "31 bit mode"
+msgstr "31 bit-tilstand"
+
+#: config/s390/s390.h:78
+msgid "mvcle use"
+msgstr "Benyt mvcle"
+
+#: config/s390/s390.h:79
+msgid "mvc&ex"
+msgstr "mvc&ex"
+
+#: config/sh/sh.c:5137
+msgid "__builtin_saveregs not supported by this subtarget"
+msgstr "__builtin_saveregs understøttes ikke af denne undermålarkitektur"
+
+#: config/sh/sh.c:5687
+msgid "attribute interrupt_handler is not compatible with -m5-compact"
+msgstr "egenskaben interrupt_handler er ikke forenelig med -m5-compact"
+
+#. The sp_switch attribute only has meaning for interrupt functions.
+#: config/sh/sh.c:5713 config/sh/sh.c:5752
+#, c-format
+msgid "`%s' attribute only applies to interrupt functions"
+msgstr "egenskaben '%s' kan kun anvendes sammen med afbrydelsesfunktioner"
+
+#. The argument must be a constant string.
+#: config/sh/sh.c:5720
+#, c-format
+msgid "`%s' attribute argument not a string constant"
+msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant"
+
+#. The argument must be a constant integer.
+#: config/sh/sh.c:5759
+#, c-format
+msgid "`%s' attribute argument not an integer constant"
+msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant"
+
+#. There are no delay slots on SHmedia.
+#. Relaxation isn't yet supported for SHmedia
+#: config/sh/sh.h:437
+msgid "Profiling is not supported on this target."
+msgstr "Profilering er ikke understøttet på målarkitekturen."
+
+#: config/sparc/sparc.c:329
#, c-format
msgid "%s is not supported by this configuration"
msgstr "%s understøttes ikke af denne konfiguration"
-#: config/sparc/sparc.c:260
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr "-mlong-double-64 er ikke tilladt med -m64"
-#: config/sparc/sparc.c:280
-#, c-format
-msgid "bad value (%s) for -mcmodel= switch"
-msgstr "ugyldig værdi (%s) til '-mcmodel='tilvalget"
-
-#: config/sparc/sparc.c:285
+#: config/sparc/sparc.c:361
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr "-mcmodel= understøttes ikke på 32 bit-systemer"
-#: config/sparc/sparc.c:366
-msgid "profiling does not support code models other than medlow"
-msgstr "profilgenerering understøtter ikke andre kodemodeller end medlow"
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
+#, c-format
+msgid "invalid %%Y operand"
+msgstr "ugyldig %%Y-operand"
-#: config/sparc/sparc.c:5712 config/sparc/sparc.c:5718
+#: config/sparc/sparc.c:6375
#, c-format
-msgid "Invalid %%Y operand"
-msgstr "Ugyldig %%Y-operand"
+msgid "invalid %%A operand"
+msgstr "ugyldig %%A-operand"
-#: config/sparc/sparc.c:5788
+#: config/sparc/sparc.c:6385
#, c-format
-msgid "Invalid %%A operand"
-msgstr "Ugyldig %%A-operand"
+msgid "invalid %%B operand"
+msgstr "ugyldig %%B-operand"
-#: config/sparc/sparc.c:5798
+#: config/sparc/sparc.c:6424
#, c-format
-msgid "Invalid %%B operand"
-msgstr "Ugyldig %%B-operand"
+msgid "invalid %%c operand"
+msgstr "ugyldig %%c-operand"
-#: config/sparc/sparc.c:5837
+#: config/sparc/sparc.c:6425
#, c-format
-msgid "Invalid %%c operand"
-msgstr "Ugyldig %%c-operand"
+msgid "invalid %%C operand"
+msgstr "ugyldig %%C-operand"
-#: config/sparc/sparc.c:5838
+#: config/sparc/sparc.c:6446
#, c-format
-msgid "Invalid %%C operand"
-msgstr "Ugyldig %%C-operand"
+msgid "invalid %%d operand"
+msgstr "ugyldig %%d-operand"
-#: config/sparc/sparc.c:5859
+#: config/sparc/sparc.c:6447
#, c-format
-msgid "Invalid %%d operand"
-msgstr "Ugyldig %%d-operand"
+msgid "invalid %%D operand"
+msgstr "ugyldig %%D-operand"
-#: config/sparc/sparc.c:5860
+#: config/sparc/sparc.c:6463
#, c-format
-msgid "Invalid %%D operand"
-msgstr "Ugyldig %%D-operand"
+msgid "invalid %%f operand"
+msgstr "ugyldig %%f-operand"
-#: config/sparc/sparc.c:5878
+#: config/sparc/sparc.c:6476
#, c-format
-msgid "Invalid %%f operand"
-msgstr "Ugyldig %%f-operand"
+msgid "invalid %%s operand"
+msgstr "ugyldig %%s-operand"
-#: config/sparc/sparc.c:5928
+#: config/sparc/sparc.c:6528
msgid "long long constant not a valid immediate operand"
msgstr "long long-konstant er ikke en gyldig umiddelbar operand"
-#: config/sparc/sparc.c:5931
+#: config/sparc/sparc.c:6531
msgid "floating point constant not a valid immediate operand"
msgstr "kommatalskonstant er ikke en gyldig umiddelbar operand"
-#. To make profiling work with -f{pic,PIC}, we need to emit the profiling
-#. code into the rtl. Also, if we are profiling, we cannot eliminate
-#. the frame pointer (because the return address will get smashed).
-#: config/sparc/sparc.h:403
-#, c-format
-msgid "%s and profiling conflict: disabling %s"
-msgstr ""
+#: 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 "Benyt 128 bit long double"
-#: config/sparc/sparc.h:587
-msgid "Use FUNCTION_EPILOGUE"
-msgstr ""
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
+msgid "Generate code for big endian"
+msgstr "Generér kode til storendet"
-#: config/sparc/sparc.h:589
-msgid "Do not use FUNCTION_EPILOGUE"
-msgstr ""
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
+msgid "Generate code for little endian"
+msgstr "Generér kode til lilleendet"
+
+#: config/sparc/sp86x-aout.h:51 config/sparc/sp86x-elf.h:65
+msgid "Use little-endian byte order for data"
+msgstr "Benyt lilleendet byte-orden til data"
-#: config/sparc/sparc.h:591
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
-msgstr ""
+msgstr "Antag at double-variabler kan være ujusterede"
-#: config/sparc/sparc.h:593
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
-msgstr ""
+msgstr "Antag at alle double-variabler er justerede"
-#: config/sparc/sparc.h:595
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
-msgstr ""
+msgstr "Overbring -assert pure-text til sammenkæderen"
-#: config/sparc/sparc.h:597
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
-msgstr ""
+msgstr "Overbring ikke -assert pure-text til sammenkæderen"
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
-msgstr ""
+msgstr "Benyt flad registervinduesmodel"
-#: config/sparc/sparc.h:601
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
-msgstr ""
+msgstr "Benyt ikke flad registervinduesmodel"
-#: config/sparc/sparc.h:603
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
-msgstr ""
+msgstr "Benyt ABI-reserverede registre"
-#: config/sparc/sparc.h:605
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
-msgstr ""
+msgstr "Benyt ikke ABI-reserverede registre"
-#: config/sparc/sparc.h:607
-#, fuzzy
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
-msgstr "Se %s for instruktioner."
+msgstr "Benyt hardware quad-kommatalsinstruktioner"
-#: config/sparc/sparc.h:609
-#, fuzzy
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Benyt ikke hardware quad-kommatalsinstruktioner"
-#: config/sparc/sparc.h:611
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
-msgstr ""
+msgstr "Oversæt for v8plus-ABI"
-#: config/sparc/sparc.h:613
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
-msgstr ""
+msgstr "Oversæt ikke for v8plus-ABI"
-#: config/sparc/sparc.h:615
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
-msgstr ""
+msgstr "Benyt Visual Instruction Set"
-#: config/sparc/sparc.h:617
-#, fuzzy
+#: config/sparc/sparc.h:558
msgid "Do not utilize Visual Instruction Set"
-msgstr "Integrér ikke alle kendte strengoperationer"
+msgstr "Benyt ikke Visual Instruction Set"
#. ??? These are deprecated, coerced to -mcpu=. Delete in 2.9.
-#: config/sparc/sparc.h:620
+#: config/sparc/sparc.h:561
msgid "Optimize for Cypress processors"
-msgstr ""
+msgstr "Optimér for Cypress-processorer"
-#: config/sparc/sparc.h:622
-msgid "Optimize for SparcLite processors"
-msgstr ""
+#: config/sparc/sparc.h:563
+msgid "Optimize for SPARCLite processors"
+msgstr "Optimér for SPARCLite-processorer"
-#: config/sparc/sparc.h:624
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
-msgstr ""
+msgstr "Optimér for F930-processorer"
-#: config/sparc/sparc.h:626
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
-msgstr ""
+msgstr "Optimér for F934-processorer"
-#: config/sparc/sparc.h:628
-msgid "Use V8 Sparc ISA"
-msgstr ""
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
+msgstr "Benyt V8 SPARC ISA"
-#: config/sparc/sparc.h:630
-msgid "Optimize for SuperSparc processors"
-msgstr ""
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
+msgstr "Optimér for SuperSPARC-processorer"
#. End of deprecated options.
-#: config/sparc/sparc.h:633
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
-msgstr ""
+msgstr "Henvisninger er 64 bit"
-#: config/sparc/sparc.h:635
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
-msgstr ""
+msgstr "Henvisninger er 32 bit"
-#: config/sparc/sparc.h:637
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
-msgstr ""
+msgstr "Benyt 32 bit-API"
-#: config/sparc/sparc.h:639
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
-msgstr ""
+msgstr "Benyt 64 bit-API"
-#: config/sparc/sparc.h:641
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
-msgstr ""
+msgstr "Benyt stakafsæt"
-#: config/sparc/sparc.h:643
-#, fuzzy
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
-msgstr "Brug ikke hardware-kommatal"
+msgstr "Benyt ikke stakafsæt"
-#: config/sparc/sparc.h:645
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
-msgstr ""
+msgstr "Benyt strukturer på stærkere justering til dobbelt-ord kopier"
-#: config/sparc/sparc.h:647
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
-msgstr ""
+msgstr "Benyt ikke strukturer på stærkere justering til dobbelt-ord kopier"
-#: config/sparc/sparc.h:649
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
-msgstr ""
+msgstr "Optimér halekaldsinstruktioner i maskinkodeoversætteren og sammenkæderen"
-#: config/sparc/sparc.h:651
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
-msgstr ""
+msgstr "Optimér ikke halekaldsinstruktioner i maskinkodeoversætteren og sammenkæderen"
-#: config/sparc/sparc.h:712
-msgid "Use given Sparc code model"
-msgstr ""
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
+msgstr "Benyt given SPARC-kodemodel"
+
+#: config/stormy16/stormy16.c:1192
+msgid "cannot use va_start in interrupt function"
+msgstr "kan ikke bruge va_start i afbrydelsesfunktion"
+
+#: config/stormy16/stormy16.c:1552
+msgid "`B' operand is not constant"
+msgstr "'B'-operanden er ikke konstant"
+
+#: config/stormy16/stormy16.c:1558
+msgid "`B' operand has multiple bits set"
+msgstr "'B'-operanden har flere bit sat"
+
+#: config/stormy16/stormy16.c:1585
+msgid "`o' operand is not constant"
+msgstr "'o'-operanden er ikke konstant"
+
+#: config/stormy16/stormy16.c:1600
+msgid "xstormy16_print_operand: unknown code"
+msgstr "xstormy16_print_operand: ukendt kode"
+
+#: config/stormy16/stormy16.c:1650
+#, c-format
+msgid "switch statement of size %lu entries too large"
+msgstr "switch-sætning med %lu elementer er for stor"
-#: config/v850/v850-c.c:68
+#: config/v850/v850-c.c:67
msgid "#pragma GHS endXXXX found without previous startXXX"
-msgstr ""
+msgstr "'#pragma GHS endXXXX' fundet uden forudgående 'startXXX'"
-#: config/v850/v850-c.c:70
+#: config/v850/v850-c.c:69
msgid "#pragma GHS endXXX does not match previous startXXX"
-msgstr ""
+msgstr "'#pragma GHS endXXXX' passer ikke med forudgående 'startXXX'"
-#: config/v850/v850-c.c:95
-msgid "Cannot set interrupt attribute: no current function"
-msgstr ""
+#: config/v850/v850-c.c:94
+msgid "cannot set interrupt attribute: no current function"
+msgstr "kan ikke sætte afbrydelsesegenskaben: ingen aktuel funktion"
-#: config/v850/v850-c.c:103
-msgid "Cannot set interrupt attribute: no such identifier"
-msgstr ""
+#: config/v850/v850-c.c:102
+msgid "cannot set interrupt attribute: no such identifier"
+msgstr "kan ikke sætte afbrydelsesegenskaben: intet sådant kaldenavn"
-#: config/v850/v850-c.c:149
-#, fuzzy
+#: config/v850/v850-c.c:148
msgid "junk at end of #pragma ghs section"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs section'"
-#: config/v850/v850-c.c:166
-#, fuzzy, c-format
-msgid "unrecognised section name \"%s\""
-msgstr "ukendt registernavn '%s'"
+#: config/v850/v850-c.c:165
+#, c-format
+msgid "unrecognized section name \"%s\""
+msgstr "ukendt sektionsnavn \"%s\""
-#: config/v850/v850-c.c:181
-#, fuzzy
+#: config/v850/v850-c.c:180
msgid "malformed #pragma ghs section"
-msgstr "forkert udformet #pragma-direktiv"
+msgstr "forkert udformet '#pragma ghs section'"
-#: config/v850/v850-c.c:201
-#, fuzzy
+#: config/v850/v850-c.c:200
msgid "junk at end of #pragma ghs interrupt"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs interrupt'"
-#: config/v850/v850-c.c:213
-#, fuzzy
+#: config/v850/v850-c.c:212
msgid "junk at end of #pragma ghs starttda"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs starttda'"
-#: config/v850/v850-c.c:225
-#, fuzzy
+#: config/v850/v850-c.c:224
msgid "junk at end of #pragma ghs startsda"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs startsda'"
-#: config/v850/v850-c.c:237
-#, fuzzy
+#: config/v850/v850-c.c:236
msgid "junk at end of #pragma ghs startzda"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs startzda'"
-#: config/v850/v850-c.c:249
-#, fuzzy
+#: config/v850/v850-c.c:248
msgid "junk at end of #pragma ghs endtda"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs endtda'"
-#: config/v850/v850-c.c:261
-#, fuzzy
+#: config/v850/v850-c.c:260
msgid "junk at end of #pragma ghs endsda"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs endsda'"
-#: config/v850/v850-c.c:273
-#, fuzzy
+#: config/v850/v850-c.c:272
msgid "junk at end of #pragma ghs endzda"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen af '#pragma ghs endzda'"
-#: config/v850/v850.c:107
+#: config/v850/v850.c:129
#, c-format
-msgid "%s=%s is not numeric."
-msgstr "%s=%s er ikke et tal."
+msgid "%s=%s is not numeric"
+msgstr "%s=%s er ikke et tal"
-#: config/v850/v850.c:114
+#: config/v850/v850.c:136
#, c-format
-msgid "%s=%s is too large."
-msgstr "%s=%s er for stor."
+msgid "%s=%s is too large"
+msgstr "%s=%s er for stor"
+
+#: config/v850/v850.c:302
+msgid "const_double_split got a bad insn:"
+msgstr "const_double_split modtog en ugyldig instruktion:"
-#: config/v850/v850.c:2039
+#: config/v850/v850.c:837
+msgid "output_move_single:"
+msgstr "output_move_single:"
+
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
-msgstr ""
+msgstr "en dataområdeegenskab kan ikke angives for lokale variable"
-#: config/v850/v850.c:2047
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
-msgstr ""
+msgstr "dataområdet '%s' er i modstrid med tidligere erklæring"
+
+#: config/v850/v850.c:2447
+#, c-format
+msgid "bogus JR construction: %d\n"
+msgstr "falsk JR-konstruktion: %d\n"
+
+#: config/v850/v850.c:2468 config/v850/v850.c:2670
+#, c-format
+msgid "bad amount of stack space removal: %d"
+msgstr "ugyldig størrelse af stakpladsfjernelse: %d"
+
+#: config/v850/v850.c:2646
+#, c-format
+msgid "bogus JARL construction: %d\n"
+msgstr "falsk JARL-konstruktion: %d\n"
+
+#: config/v850/v850.c:3026
+#, c-format
+msgid "Bogus DISPOSE construction: %d\n"
+msgstr "Falsk DISPOSE-konstruktion: %d\n"
-#: config/v850/v850.c:2249
+#: config/v850/v850.c:3048
#, c-format
-msgid "Bogus JR construction: %d\n"
-msgstr "Falsk JR-konstruktion: %d\n"
+msgid "Too much stack space to dispose of: %d"
+msgstr "For meget stakplads at tage sig af: %d"
-#: config/v850/v850.c:2270 config/v850/v850.c:2472
+#: config/v850/v850.c:3224
#, c-format
-msgid "Bad amount of stack space removal: %d"
-msgstr "Ugyldig størrelse af stakpladsfjernelse: %d"
+msgid "Bogus PREPEARE construction: %d\n"
+msgstr "Falsk PREPARE-konstruktion: %d\n"
-#: config/v850/v850.c:2448
+#: config/v850/v850.c:3246
#, c-format
-msgid "Bogus JARL construction: %d\n"
-msgstr "Falsk JARL-konstruktion: %d\n"
+msgid "Too much stack space to prepare: %d"
+msgstr "For meget stakplads at forberede: %d"
#. 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:121
+#: config/v850/v850.h:158
msgid "Support Green Hills ABI"
-msgstr ""
+msgstr "Understøt Green Hills-ABI"
-#: config/v850/v850.h:124
+#: config/v850/v850.h:161
msgid "Prohibit PC relative function calls"
-msgstr ""
+msgstr "Forbyd PC-relative funktionskald"
-#: config/v850/v850.h:127
+#: config/v850/v850.h:164
msgid "Reuse r30 on a per function basis"
-msgstr ""
+msgstr "Genbrug r30 på et pr. funktionsgrundlag"
-#: config/v850/v850.h:130
+#: config/v850/v850.h:167
msgid "Use stubs for function prologues"
-msgstr ""
+msgstr "Benyt stubbe til funktionsindledninger"
-#: config/v850/v850.h:133
+#: config/v850/v850.h:170
msgid "Same as: -mep -mprolog-function"
-msgstr ""
+msgstr "Samme som: -mep -mprolog-function"
-#: config/v850/v850.h:134
-#, fuzzy
+#: config/v850/v850.h:171
msgid "Enable backend debugging"
-msgstr "Aktivér stakprøvning"
+msgstr "Aktivér bagendefejlanalyseringsinfo"
-#: config/v850/v850.h:136
+#: config/v850/v850.h:173
msgid "Compile for the v850 processor"
-msgstr ""
+msgstr "Oversæt for v850-processoren"
+
+#: config/v850/v850.h:175
+msgid "Compile for v850e processor"
+msgstr "Oversæt for v850e-processoren"
+
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
+msgid "Enable the use of the short load instructions"
+msgstr "Aktivér brug af short load-instruktioner"
+
+#: config/v850/v850.h:180
+msgid "Do not use the callt instruction"
+msgstr "Benyt ikke callt-instruktionen"
+
+#: config/v850/v850.h:187
+msgid "Do not use registers r2 and r5"
+msgstr "Benyt ikke registrene r2 og r5"
+
+#: config/v850/v850.h:189
+msgid "Enforce strict alignment"
+msgstr "Gennemtving streng justering"
-#: config/v850/v850.h:139
+#: config/v850/v850.h:192
msgid "Use 4 byte entries in switch tables"
-msgstr ""
+msgstr "Benyt 4 byte-elementer i switch-tabeller"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/v850/v850.h:183
+#: config/v850/v850.h:218
msgid "Set the max size of data eligible for the TDA area"
-msgstr ""
+msgstr "Angiv den maks. størrelse af data til TDA-området"
-#: config/v850/v850.h:186
+#: config/v850/v850.h:221
msgid "Set the max size of data eligible for the SDA area"
-msgstr ""
+msgstr "Angiv den maks. størrelse af data til SDA-området"
-#: config/v850/v850.h:189
+#: config/v850/v850.h:224
msgid "Set the max size of data eligible for the ZDA area"
-msgstr ""
+msgstr "Angiv den maks. størrelse af data til ZDA-området"
-#: convert.c:67
-msgid "cannot convert to a pointer type"
-msgstr "kan ikke konverteres til en henvisningstype"
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
+msgid "bad test"
+msgstr "ugyldig test"
-#: convert.c:100
-msgid "pointer value used where a floating point value was expected"
-msgstr "en henvisningsværdi er angivet hvor der forventedes en kommatalsværdi"
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
+msgstr "booleske registre er påkrævet til kommatalsindstillingen"
-#: convert.c:104
-msgid "aggregate value used where a float was expected"
-msgstr "en værdi af en sammensat type er angivet hvor der forventedes et kommatal"
+#: config/xtensa/xtensa.c:1991
+msgid "invalid mask"
+msgstr "ugyldig maske"
-#: convert.c:130
-msgid "conversion to incomplete type"
-msgstr "konvertering til en ufuldstændig type"
+#: config/xtensa/xtensa.c:2038
+msgid "invalid address"
+msgstr "ugyldig adresse"
-#: convert.c:390 convert.c:470
-msgid "can't convert between vector values of different size"
-msgstr ""
+#: config/xtensa/xtensa.c:2063
+msgid "no register in address"
+msgstr "ingen registre i adresse"
-#: convert.c:396
-msgid "aggregate value used where an integer was expected"
-msgstr "en værdi af en sammensat type er angivet hvor der forventedes et heltal"
+#: config/xtensa/xtensa.c:2071
+msgid "address offset not a constant"
+msgstr "adresseafsæt er ikke en konstant"
-#: convert.c:448 f/com.c:1132
-msgid "pointer value used where a complex was expected"
-msgstr "en henvisningsværdi er angivet hvor der forventedes et komplekst tal"
+#: config/xtensa/xtensa.c:2794
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "kun variabler uden startværdi kan placeres i .bss-sektionen"
-#: convert.c:452 f/com.c:1134
-msgid "aggregate value used where a complex was expected"
-msgstr "en værdi af en sammensat type er angivet hvor der forventedes et komplekst tal"
+#: config/xtensa/xtensa.h:114
+msgid "Use the Xtensa code density option"
+msgstr "Benyt Xtensa-kodetæthedsindstillingen"
-#: convert.c:476
-#, fuzzy
-msgid "can't convert value to a vector"
-msgstr "kan ikke konverteres til en henvisningstype"
+#: config/xtensa/xtensa.h:116
+msgid "Do not use the Xtensa code density option"
+msgstr "Benyt ikke Xtensa-kodetæthedsindstillingen"
+
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
+msgstr "Benyt Xtensa-MAC16-indstillingen"
+
+#: config/xtensa/xtensa.h:120
+msgid "Do not use the Xtensa MAC16 option"
+msgstr "Benyt ikke Xtensa-MAC16-indstillingen"
+
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
+msgstr "Benyt Xtensa-MUL16-indstillingen"
+
+#: config/xtensa/xtensa.h:124
+msgid "Do not use the Xtensa MUL16 option"
+msgstr "Benyt ikke Xtensa-MUL16-indstillingen"
+
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
+msgstr "Benyt Xtensa-MUL32-indstillingen"
+
+#: config/xtensa/xtensa.h:128
+msgid "Do not use the Xtensa MUL32 option"
+msgstr "Benyt ikke Xtensa-MUL32-indstillingen"
+
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
+msgstr "Benyt Xtensa-NSA-indstillingen"
+
+#: config/xtensa/xtensa.h:136
+msgid "Do not use the Xtensa NSA option"
+msgstr "Benyt ikke Xtensa-NSA-indstillingen"
+
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
+msgstr "Benyt Xtensa-MIN/MAX-indstillingen"
+
+#: config/xtensa/xtensa.h:140
+msgid "Do not use the Xtensa MIN/MAX option"
+msgstr "Benyt ikke Xtensa-MIN/MAX-indstillingen"
+
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
+msgstr "Benyt Xtensa-SEXT-indstillingen"
+
+#: config/xtensa/xtensa.h:144
+msgid "Do not use the Xtensa SEXT option"
+msgstr "Benyt ikke Xtensa-SEXT-indstillingen"
+
+#: config/xtensa/xtensa.h:146
+msgid "Use the Xtensa boolean register option"
+msgstr "Benyt Xtensa-indstillingen til booleske registre"
-#: cp/call.c:379
-#, fuzzy
+#: config/xtensa/xtensa.h:148
+msgid "Do not use the Xtensa boolean register option"
+msgstr "Benyt ikke Xtensa-indstillingen til booleske registre"
+
+#: config/xtensa/xtensa.h:150
+msgid "Use the Xtensa floating-point unit"
+msgstr "Benyt kommatalsenheden til Xtensa"
+
+#: config/xtensa/xtensa.h:152
+msgid "Do not use the Xtensa floating-point unit"
+msgstr "Benyt ikke kommatalsenheden til Xtensa"
+
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+msgstr "Deaktivér sammensatte gang/addér- og gang/subtrahér-kommatalsinstruktioner"
+
+#: config/xtensa/xtensa.h:172
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+msgstr "Aktivér sammensatte gang/addér- og gang/subtrahér-kommatalsinstruktioner"
+
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
+msgstr "Serialisér volatile hukommelsesreference med MEMW-instruktioner"
+
+#: config/xtensa/xtensa.h:176
+msgid "Do not serialize volatile memory references with MEMW instructions"
+msgstr "Serialisér ikke volatile hukommelsesreference med MEMW-instruktioner"
+
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
+msgstr "Fordel konstanter med kode i tekstsektionen"
+
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
+msgstr "Anbring konstanter i en adskilt konstantsektion"
+
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
+msgstr "Justér automatisk forgreningsmål for at reducere forgreningsstraffe"
+
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
+msgstr "Justér ikke automatisk forgreningsmål"
+
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
+msgstr "Benyt indirekte CALLXn-instruktioner for store programmer"
+
+#: config/xtensa/xtensa.h:188
+msgid "Use direct CALLn instructions for fast calls"
+msgstr "Benyt direkte CALLn-instruktioner for hurtige kald"
+
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
+msgstr "'-gnat' stavet forkert som '-gant'"
+
+#: cp/call.c:259 cp/init.c:1596
+msgid "qualified type `%T' does not match destructor name `~%T'"
+msgstr "den modificerede type '%T' passer ikke til destruktionsfunktionsnavnet '~%T'"
+
+#: cp/call.c:268
+msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+msgstr "typen af '%E' passer ikke til destruktionsfunktionstypen '%T' (typen var '%T')"
+
+#: cp/call.c:277
+msgid "`%D' is a namespace"
+msgstr "'%D' er et navnerum"
+
+#: cp/call.c:285
+msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+msgstr "stamobjektet '%E' fra metodekald forsynet med virkefelt er af en ikke-sammensat type '%T'"
+
+#: cp/call.c:367
msgid "unable to call pointer to member function here"
-msgstr " i henvisning til medlemsfunktion-omdannelse"
+msgstr "kan ikke kalde henvisning til medlemsfunktion her"
-#: cp/call.c:509
+#: cp/call.c:516
msgid "destructors take no parameters"
msgstr "destruktionsfunktioner kan ikke have parametre"
-#: cp/call.c:2867
+#: cp/call.c:520
+msgid "destructor name `~%T' does not match type `%T' of expression"
+msgstr "destruktionsfunktionsnavn '~T' passer ikke med typen '%T' for udtrykket"
+
+#: cp/call.c:541 cp/call.c:4959
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr "forespørgsel efter medlemmet '%D' i '%E' som er af en ikke-sammensat type '%T'"
+
+#: cp/call.c:565
+msgid "request for member `%D' is ambiguous"
+msgstr "forespørgsel efter medlemmet '%D' er tvetydigt"
+
+#: cp/call.c:2526
+msgid "%s %D(%T, %T, %T) <built-in>"
+msgstr "%s %D(%T, %T, %T) <indbygget>"
+
+#: cp/call.c:2531
+msgid "%s %D(%T, %T) <built-in>"
+msgstr "%s %D(%T, %T) <indbygget>"
+
+#: cp/call.c:2535
+msgid "%s %D(%T) <built-in>"
+msgstr "%s %D(%T) <indbygget>"
+
+#: cp/call.c:2539
+msgid "%s %T <conversion>"
+msgstr "%s %T <konvertering>"
+
+#: cp/call.c:2541
+msgid "%s %+#D%s"
+msgstr "%s %+#D%s"
+
+#: cp/call.c:2715
+msgid "conversion from `%T' to `%T' is ambiguous"
+msgstr "konvertering fra '%T' til '%T' er tvetydigt"
+
+#: cp/call.c:2795
+msgid "incomplete type '%T' cannot be used to name a scope"
+msgstr "ufuldstændig type '%T' kan ikke bruges til at navngive et virkefelt"
+
+#: cp/call.c:2815 cp/typeck.c:2185 cp/typeck.c:2214
+msgid "'%D' has no member named '%E'"
+msgstr "'%D' har intet medlem ved navn '%E'"
+
+#: cp/call.c:2917
+msgid "no matching function for call to `%D(%A)'"
+msgstr "ingen passende funktion for kald til '%D(%A)'"
+
+#: cp/call.c:2928 cp/call.c:5046
+msgid "call of overloaded `%D(%A)' is ambiguous"
+msgstr "kald af flertydig '%D(%A)' er tvetydigt"
+
+#. It's no good looking for an overloaded operator() on a
+#. pointer-to-member-function.
+#: cp/call.c:2955
+#, c-format
+msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+msgstr "henvisning til medlemsfunktionen %E kan ikke kaldes uden et objekt; overvej at benytte .* eller ->*"
+
+#: cp/call.c:3020
+msgid "no match for call to `(%T) (%A)'"
+msgstr "ingen passende fundet for kald til '(%T) (%A)'"
+
+#: cp/call.c:3030
+msgid "call of `(%T) (%A)' is ambiguous"
+msgstr "kald af '(%T) (%A)' er tvetydigt"
+
+#: cp/call.c:3065
+msgid "%s for `%T ? %T : %T' operator"
+msgstr "%s for operatoren '%T ? %T : %T'"
+
+#: cp/call.c:3070
+msgid "%s for `%T %s' operator"
+msgstr "%s for operatoren '%T %s' "
+
+#: cp/call.c:3073
+msgid "%s for `%T [%T]' operator"
+msgstr "%s for operatoren '%T [%T]'"
+
+#: cp/call.c:3078
+msgid "%s for `%T %s %T' operator"
+msgstr "%s for operatoren '%T %s %T'"
+
+#: cp/call.c:3081
+msgid "%s for `%s %T' operator"
+msgstr "%s for operatoren '%s %T'"
+
+#: cp/call.c:3171
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
-msgstr ""
+msgstr "ISO C++ forbyder udeladelse af den mellemste del af et ?:-udtryk"
+
+#: cp/call.c:3230
+#, c-format
+msgid "`%E' has type `void' and is not a throw-expression"
+msgstr "'%E' har typen 'void' og er ikke et throw-udtryk"
+
+#: cp/call.c:3263 cp/call.c:3455
+msgid "operands to ?: have different types"
+msgstr "operander til ?: har forskellige typer"
+
+#: cp/call.c:3408
+msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
+msgstr "enum-typer passer ikke sammen i betinget udtryk: '%T' og '%T'"
+
+#: cp/call.c:3415
+msgid "enumeral and non-enumeral type in conditional expression"
+msgstr "enum- og ikke enum-type i betinget udtryk"
+
+#: cp/call.c:3496
+msgid "`%D' must be declared before use"
+msgstr "'%D' skal erklæres før brug"
+
+#: cp/call.c:3686
+msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
+msgstr "ingen '%D(int)' erklæret for suffiks '%s', prøver præfiksoperatoren i stedet"
+
+#: cp/call.c:3733
+msgid "using synthesized `%#D' for copy assignment"
+msgstr "bruger syntetiseret '%#D' for kopitildeling"
+
+#: cp/call.c:3735
+msgid " where cfront would use `%#D'"
+msgstr " hvor cfront ville bruge '%#D'"
+
+#: cp/call.c:3762
+msgid "comparison between `%#T' and `%#T'"
+msgstr "sammenligning mellem '%#T' og '%#T'"
+
+#: cp/call.c:4001
+msgid "no suitable `operator delete' for `%T'"
+msgstr "ingen passende 'operator delete' for '%T'"
+
+#: cp/call.c:4020
+msgid "`%+#D' is private"
+msgstr "'%+#D' er privat"
+
+#: cp/call.c:4022
+msgid "`%+#D' is protected"
+msgstr "'%+#D' er beskyttet"
+
+#: cp/call.c:4024
+msgid "`%+#D' is inaccessible"
+msgstr "'%+#D' er ikke tilgængelig"
-#: cp/class.c:1438
+#: cp/call.c:4025
+msgid "within this context"
+msgstr "i denne kontekst"
+
+#: cp/call.c:4067
+msgid "invalid conversion from `%T' to `%T'"
+msgstr "ugyldig konvertering fra '%T' til '%T'"
+
+#: cp/call.c:4069 cp/call.c:4207 cp/call.c:4209
+msgid " initializing argument %P of `%D'"
+msgstr " ved klargøring af parameteren %P til '%D'"
+
+#: cp/call.c:4131 cp/call.c:4135
+msgid " initializing argument %P of `%D' from result of `%D'"
+msgstr " ved klargøring af parameteren %P til '%D' fra resultatet af '%D'"
+
+#: cp/call.c:4141 cp/call.c:4144
+msgid " initializing temporary from result of `%D'"
+msgstr " ved klargøring af midlertidig variabel fra resultatet af '%D'"
+
+#. 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:4294
+msgid "cannot pass objects of non-POD type `%#T' through `...'; call will abort at runtime"
+msgstr "kan ikke videregive objekter af en ikke-POD type '%#T' gennem '...'; kald vil afbryde på kørselstidspunktet"
+
+#. Undefined behavior [expr.call] 5.2.2/7.
+#: cp/call.c:4321
+msgid "cannot receive objects of non-POD type `%#T' through `...'"
+msgstr "kan ikke modtage objekter af en ikke-POD type '%#T' gennem '...'"
+
+#: cp/call.c:4501
+msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
+msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer"
+
+#: cp/call.c:4759
+msgid "could not find class$ field in java interface type `%T'"
+msgstr "kunne ikke finde et class$-felt i Java-grænsefladetypen '%T'"
+
+#: cp/call.c:4933
+msgid "call to non-function `%D'"
+msgstr "kald af ikke-funktion '%D'"
+
+#: cp/call.c:5035
+msgid "no matching function for call to `%T::%D(%A)%#V'"
+msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'"
+
+#: cp/call.c:5065
+msgid "cannot call member function `%D' without object"
+msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt"
+
+#: cp/call.c:5663
+msgid "passing `%T' chooses `%T' over `%T'"
+msgstr "videregivelse af '%T' vælger '%T' frem for '%T'"
+
+#: cp/call.c:5665 cp/decl2.c:4148
+msgid " in call to `%D'"
+msgstr " i kald af '%D'"
+
+#: cp/call.c:5714
+msgid "choosing `%D' over `%D'"
+msgstr "vælger '%D' frem for '%D'"
+
+#: cp/call.c:5715
+msgid " for conversion from `%T' to `%T'"
+msgstr " for konvertering fra '%T' til '%T'"
+
+#: cp/call.c:5717
+msgid " because conversion sequence for the argument is better"
+msgstr " fordi konverteringssekvensen for parameteren er bedre"
+
+#: cp/call.c:5838
+msgid "ISO C++ says that `%D' and `%D' are ambiguous even though the worst conversion for the former is better than the worst conversion for the latter"
+msgstr "ifølge ISO C++ er '%D' og '%D' tvetydigt selvom den værste konvertering for førstnævnte er bedre end den værste konvertering for den sidstnævnte"
+
+#: cp/call.c:5955 cp/call.c:6021
+msgid "could not convert `%E' to `%T'"
+msgstr "kunne ikke konvertere '%E' til '%T'"
+
+#: cp/class.c:286
+msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
+msgstr "kan ikke konvertere fra stamklassen '%T' til den nedarvede type '%T' via den virtuelle stamklasse '%T'"
+
+#: cp/class.c:964
+msgid "`%#D' and `%#D' cannot be overloaded"
+msgstr "'%#D' og '%#D' kan ikke flertydiggøres"
+
+#: cp/class.c:1048
+msgid "duplicate enum value `%D'"
+msgstr "enum-værdien '%D' optræder mere end én gang"
+
+#: cp/class.c:1051
+msgid "duplicate field `%D' (as enum and non-enum)"
+msgstr "feltet '%D' optræder mere end én gang (som enum og som ikke-enum)"
+
+#: cp/class.c:1058
+msgid "duplicate nested type `%D'"
+msgstr "den indlejrede type '%D' optræder mere end én gang"
+
+#: cp/class.c:1069
+msgid "duplicate field `%D' (as type and non-type)"
+msgstr "feltet '%D' optræder mere end én gang (som type og som ikke-type)"
+
+#: cp/class.c:1073
+msgid "duplicate member `%D'"
+msgstr "medlemmet '%D' optræder mere end én gang"
+
+#: cp/class.c:1116
+msgid "conflicting access specifications for method `%D', ignored"
+msgstr "modstridende tilgangsanvisninger til metoden '%D', ignoreret"
+
+#: cp/class.c:1118
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr "modstridende tilgangsanvisninger til feltet '%s', ignoreret"
-#: cp/class.c:5533
-msgid "trying to finish struct, but kicked out due to previous parse errors."
-msgstr "forsøgte at afslutte struct, men blev stoppet af tidligere tolkningsfejl."
+#: cp/class.c:1163
+msgid "`%D' names constructor"
+msgstr "'%D' navngiver en konstruktionsfunktion"
+
+#: cp/class.c:1168
+msgid "`%D' invalid in `%T'"
+msgstr "'%D' ugyldig i '%T'"
+
+#: cp/class.c:1176
+msgid "no members matching `%D' in `%#T'"
+msgstr "ingen medlemmer passer til '%D' i '%#T'"
+
+#: cp/class.c:1208 cp/class.c:1216
+msgid "`%D' invalid in `%#T'"
+msgstr "'%D' ugyldig i '%#T'"
+
+#: cp/class.c:1209
+msgid " because of local method `%#D' with same name"
+msgstr " på grund af den lokale metode '%#D' med det samme navn"
+
+#: cp/class.c:1217
+msgid " because of local member `%#D' with same name"
+msgstr " på grund af det lokale medlem '%#D' med det samme navn"
-#: cp/class.c:5988
+#: cp/class.c:1289
+msgid "base class `%#T' has a non-virtual destructor"
+msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
+
+#: cp/class.c:1309
+msgid "base `%T' with only non-default constructor in class without a constructor"
+msgstr "stamklasse '%T' med kun ikke-standardkonstruktionsfunktion i klasse uden en konstruktionsfunktion"
+
+#: cp/class.c:1881
+msgid "all member functions in class `%T' are private"
+msgstr "alle medlemsfunktioner i klassen '%T' er private"
+
+#: cp/class.c:1895
+msgid "`%#T' only defines a private destructor and has no friends"
+msgstr "'%#T' definerer kun en privat destruktionsfunktion og har ingen venner"
+
+#: cp/class.c:1938
+msgid "`%#T' only defines private constructors and has no friends"
+msgstr "'%#T' definerer kun private konstruktionsfunktioner og har ingen venner"
+
+#: cp/class.c:2059 cp/class.c:5236
+msgid "redefinition of `%#T'"
+msgstr "omdefinering af '%#T'"
+
+#: cp/class.c:2060
+msgid "previous definition of `%#T'"
+msgstr "tidligere definition af '%#T'"
+
+# %D er en funktion
+#: cp/class.c:2334
+msgid "no unique final overrider for `%D' in `%T'"
+msgstr "ingen unik endelig overskrivning af '%D' i '%T'"
+
+#. Here we know it is a hider, and no overrider exists.
+#: cp/class.c:2681
+msgid "`%D' was hidden"
+msgstr "'%D' var skjult"
+
+#: cp/class.c:2682
+msgid " by `%D'"
+msgstr " af '%D'"
+
+#: cp/class.c:2724
+msgid "ISO C++ forbids member `%D' with same name as enclosing class"
+msgstr "ISO C++ forbyder medlemmet '%D' med samme navn som den omgivende klasse"
+
+#: cp/class.c:2729 cp/decl2.c:1336
+msgid "`%#D' invalid; an anonymous union can only have non-static data members"
+msgstr "'%#D' er ugyldig; en anonym union kan kun have ikke-statiske datamedlemmer"
+
+#: cp/class.c:2735 cp/decl2.c:1342
+msgid "private member `%#D' in anonymous union"
+msgstr "privat medlem '%#D' i en anonym union"
+
+#: cp/class.c:2738 cp/decl2.c:1344
+msgid "protected member `%#D' in anonymous union"
+msgstr "beskyttet medlem '%#D' i en anonym union"
+
+#: cp/class.c:2863
+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 "vtable-layout for klassen '%T' følger ikke nødvendigvis ABI'et og kan ændre sig i en fremtidig version af GCC pga. underforstået virtuel destruktionsfunktion"
+
+#: cp/class.c:2927
+msgid "bit-field `%#D' with non-integral type"
+msgstr "bitfelt '%#D' med en ikke-heltalstype"
+
+#: cp/class.c:2947
+msgid "bit-field `%D' width not an integer constant"
+msgstr "bredden af bitfeltet '%D' er ikke en heltalskonstant"
+
+#: cp/class.c:2953
+msgid "negative width in bit-field `%D'"
+msgstr "negativ bredde i bitfeltet '%D'"
+
+#: cp/class.c:2958
+msgid "zero width for bit-field `%D'"
+msgstr "en bredde på nul for bitfeltet '%D'"
+
+#: cp/class.c:2964
+msgid "width of `%D' exceeds its type"
+msgstr "bredden af '%D' overstiger typen"
+
+#: cp/class.c:2973
+msgid "`%D' is too small to hold all values of `%#T'"
+msgstr "'%D' er for lille til at indeholde alle værdierne af '%#T'"
+
+#: cp/class.c:3057
+msgid "member `%#D' with constructor not allowed in union"
+msgstr "medlemmet '%#D' med en konstruktionsfunktion er ikke tilladt i en union"
+
+#: cp/class.c:3060
+msgid "member `%#D' with destructor not allowed in union"
+msgstr "medlemmet '%#D' med en destruktionsfunktion er ikke tilladt i en union"
+
+#: cp/class.c:3063
+msgid "member `%#D' with copy assignment operator not allowed in union"
+msgstr "medlemmet '%#D' med en kopitildelingsoperator er ikke tilladt i en union"
+
+#: cp/class.c:3090
+msgid "multiple fields in union `%T' initialized"
+msgstr "flere felter i union '%T' tildeles startværdi"
+
+#: cp/class.c:3203
+msgid "field `%D' in local class cannot be static"
+msgstr "feltet '%D' i lokal klasse kan ikke være statisk"
+
+#: cp/class.c:3209
+msgid "field `%D' invalidly declared function type"
+msgstr "feltet '%D' er på ugyldig vis erklæret som en funktionstype"
+
+#: cp/class.c:3216
+msgid "field `%D' invalidly declared method type"
+msgstr "feltet '%D' er på ugyldig vis erklæret som en medlemsfunktionstype"
+
+#: cp/class.c:3222
+msgid "field `%D' invalidly declared offset type"
+msgstr "feltet '%D' er på ugyldig vis erklæret som en afstandstype"
+
+#. Unions cannot have static members.
+#: cp/class.c:3240
+msgid "field `%D' declared static in union"
+msgstr "feltet '%D' er erklæret statisk i union"
+
+#: cp/class.c:3267
+msgid "non-static reference `%#D' in class without a constructor"
+msgstr "ikke-statisk reference '%#D' i klasse uden en konstruktionsfunktion"
+
+#: cp/class.c:3302
+msgid "non-static const member `%#D' in class without a constructor"
+msgstr "ikke-statisk konstant medlem '%#D' i klasse uden en konstruktionsfunktion"
+
+#: cp/class.c:3318
+msgid "field `%#D' with same name as class"
+msgstr "felt '%#D' med samme navn som klassen"
+
+#: cp/class.c:3336
+msgid "`%#T' has pointer data members"
+msgstr "'%#T' har henvisningsdatamedlemmer"
+
+#: cp/class.c:3340
+msgid " but does not override `%T(const %T&)'"
+msgstr " men overskriver ikke '%T(const %T&)'"
+
+#: cp/class.c:3342
+msgid " or `operator=(const %T&)'"
+msgstr " eller 'operator=(const %T&)'"
+
+#: cp/class.c:3345
+msgid " but does not override `operator=(const %T&)'"
+msgstr " men overskriver ikke 'operator=(const %T&)'"
+
+#: cp/class.c:3795
+msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
+msgstr "afsættet for tom stamklasse '%T' følger ikke nødvendigvis ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+#: cp/class.c:3904
+msgid "class `%T' will be considered nearly empty in a future version of GCC"
+msgstr "klassen '%T' vil blive betragtet som næsten tom i en fremtidig version af GCC"
+
+#: cp/class.c:3994
+msgid "initializer specified for non-virtual method `%D'"
+msgstr "startværdi angivet for ikke-virtuel medlemsfunktion '%D'"
+
+#: cp/class.c:4730
+msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
+msgstr "afsættet for virtuel stamklasse '%T' følger ikke ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+#: cp/class.c:4830
+msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
+msgstr "direkte stamklasse '%T' er ikke tilgængelig i '%T' på grund af tvetydighed"
+
+#: cp/class.c:4843
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+msgstr "virtuel stamklasse '%T' er ikke tilgængelig i '%T' på grund af tvetydighed"
+
+#: cp/class.c:4999
+msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
+msgstr "størrelsen der bliver tildelt '%T' følger ikke nødvendigvis ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+#: cp/class.c:5039
+msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
+msgstr "afsættet for '%D' følger ikke ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+#: cp/class.c:5048
+msgid "`%D' contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+msgstr "'%D' indeholder tomme klasser hvad der kan få stamklasser til at blive placeret andre steder i en fremtidig version af GCC"
+
+#: cp/class.c:5107
+msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
+msgstr "layoutet af klasser der nedarver fra den tomme klasse '%T' kan ændre sig i en fremtidig version af GCC"
+
+#: cp/class.c:5392
+msgid "`%#T' has virtual functions but non-virtual destructor"
+msgstr "'%#T' har virtuelle funktioner, men ikke-virtuel destruktionsfunktion"
+
+#: cp/class.c:5477
+msgid "trying to finish struct, but kicked out due to previous parse errors"
+msgstr "forsøgte at afslutte struct, men blev stoppet af tidligere fortolkningsfejl"
+
+#: cp/class.c:5943
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr "sprogstrengen '\"%s\"' ikke genkendt"
-#: cp/class.c:6303 cp/class.c:6471 cp/class.c:6478
+#: cp/class.c:6039
+msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
+msgstr "kan ikke benytte den flertydiggjorte funktion '%D' baseret på konvertering til typen '%T'"
+
+#: cp/class.c:6160
+msgid "no matches converting function `%D' to type `%#T'"
+msgstr "ingen passende ved konvertering af funktionen '%D' til typen '%#T'"
+
+#: cp/class.c:6183
+msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
+msgstr "konvertering af den flertydiggjorte funktion '%D' til typen '%T' er tvetydig"
+
+#: cp/class.c:6209
+msgid "assuming pointer to member `%D'"
+msgstr "antager henvisning til medlemmet '%D'"
+
+#: cp/class.c:6212
+#, c-format
+msgid "(a pointer to member can only be formed with `&%E')"
+msgstr "(en henvisning til medlem kan kun dannes med '&%E')"
+
+#: cp/class.c:6256 cp/class.c:6427 cp/class.c:6434
msgid "not enough type information"
msgstr "ikke tilstrækkelig information om typen"
-#: cp/class.c:6455
+#: cp/class.c:6265
+msgid "argument of type `%T' does not match `%T'"
+msgstr "parameter af typen '%T' passer ikke til '%T'"
+
+#: cp/class.c:6411
msgid "invalid operation on uninstantiated type"
msgstr "ugyldig operation på uudskiftet type"
-#: cp/class.c:8256
-msgid "object size exceeds built-in limit for virtual function table implementation"
-msgstr ""
+#. [basic.scope.class]
+#.
+#. 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:6694 cp/decl.c:1009 cp/decl.c:3133 cp/pt.c:2001
+msgid "declaration of `%#D'"
+msgstr "omerklæring af '%#D'"
-#: cp/class.c:8258
-msgid "object size exceeds normal limit for virtual function table implementation, recompile all source and use -fhuge-objects"
-msgstr ""
+#: cp/class.c:6695
+msgid "changes meaning of `%D' from `%+#D'"
+msgstr "skifter betydningen af '%D' fra '%+#D'"
+
+#: cp/cvt.c:88
+msgid "can't convert from incomplete type `%T' to `%T'"
+msgstr "kan ikke konvertere fra ufuldstændig type '%T' til '%T'"
+
+#: cp/cvt.c:97
+msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
+msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt"
+
+#: cp/cvt.c:126
+msgid "converting from `%T' to `%T'"
+msgstr "konvertering fra '%T' til '%T'"
+
+#: cp/cvt.c:203 cp/cvt.c:207
+msgid "pointer to member cast from `%T' to `%T' is via virtual base"
+msgstr "typekonvertering af henvisning til medlem fra '%T' til '%T' er via virtuel stamklasse"
+
+#: cp/cvt.c:225 cp/cvt.c:236 cp/cvt.c:283
+msgid "cannot convert `%E' from type `%T' to type `%T'"
+msgstr "kan ikke konvertere '%E' fra typen '%T' til typen '%T'"
+
+#: cp/cvt.c:262
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "ugyldig konvertering fra '%T' til '%T'"
+
+#: cp/cvt.c:504
+msgid "conversion from `%T' to `%T' discards qualifiers"
+msgstr "konvertering fra '%T' til '%T' forkaster modifikationer"
+
+#: cp/cvt.c:522
+msgid "casting `%T' to `%T' does not dereference pointer"
+msgstr "typeomtvingning af '%T' til '%T' følger ikke henvisning"
+
+#: cp/cvt.c:551
+msgid "cannot convert type `%T' to type `%T'"
+msgstr "kan ikke konvertere typen '%T' til typen '%T'"
+
+#: cp/cvt.c:683
+msgid "conversion from `%#T' to `%#T'"
+msgstr "konvertering fra '%#T' til '%#T'"
+
+#: cp/cvt.c:695
+msgid "`%#T' used where a `%T' was expected"
+msgstr "'%#T' benyttet hvor '%T' var forventet"
+
+#: cp/cvt.c:712
+msgid "the address of `%D', will always be `true'"
+msgstr "adressen af '%D' vil altid være 'true'"
-#: cp/decl.c:4230
-#, fuzzy, c-format
+#: cp/cvt.c:732
+msgid "`%#T' used where a floating point value was expected"
+msgstr "'%#T' benyttet hvor der forventedes en kommatalsværdi"
+
+#: cp/cvt.c:779
+msgid "conversion from `%T' to non-scalar type `%T' requested"
+msgstr "konvertering fra '%T' til en ikke-skalartype '%T' udbedt"
+
+#: cp/cvt.c:865
+msgid "object of incomplete type `%T' will not be accessed in %s"
+msgstr "objekt af den ufuldstændige type '%T' vil ikke blive tilgået i %s"
+
+#: cp/cvt.c:868
+msgid "object of type `%T' will not be accessed in %s"
+msgstr "objekt af typen '%T' vil ikke blive tilgået i %s"
+
+#: cp/cvt.c:884
+msgid "object `%E' of incomplete type `%T' will not be accessed in %s"
+msgstr "objektet '%E' af den ufuldstændige type '%T' vil ikke blive tilgået i %s"
+
+#. [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:904
+#, c-format
+msgid "%s cannot resolve address of overloaded function"
+msgstr "%s kan ikke finde adressen af flertydiggjort funktion"
+
+#. Only warn when there is no &.
+#: cp/cvt.c:909
+#, c-format
+msgid "%s is a reference, not call, to function `%E'"
+msgstr "%s er en reference til og ikke et kald af funktionen '%E'"
+
+#: cp/cvt.c:1039
+msgid "converting NULL to non-pointer type"
+msgstr "konverterer NULL til en ikke-henvisningstype"
+
+#: cp/cvt.c:1115
+msgid "ambiguous default type conversion from `%T'"
+msgstr "tvetydig standardtypekonvertering fra '%T'"
+
+#: cp/cvt.c:1117
+msgid " candidate conversions include `%D' and `%D'"
+msgstr " kandidater til konverteringen inkluderer '%D' og '%D'"
+
+#: cp/decl.c:1010 cp/decl.c:3240
+msgid "conflicts with previous declaration `%#D'"
+msgstr "strider mod tidligere erklæring '%#D'"
+
+#: cp/decl.c:1222
+msgid "label `%D' used but not defined"
+msgstr "etiketten '%D' er benyttet, men ikke defineret"
+
+#: cp/decl.c:1227
+msgid "label `%D' defined but not used"
+msgstr "etiketten '%D' er defineret, men ikke benyttet"
+
+#: cp/decl.c:2240
+msgid "namespace alias `%D' not allowed here, assuming `%D'"
+msgstr "navnerumsalias '%D' er ikke tilladt her, antager '%D'"
+
+#: cp/decl.c:3039 cp/decl.c:3448
+msgid "previous declaration of `%D'"
+msgstr "'%D' er tidligere erklæret"
+
+#: cp/decl.c:3120 cp/decl.c:3158
+msgid "shadowing %s function `%#D'"
+msgstr "skygger for en %s-funktion '%#D'"
+
+#: cp/decl.c:3129
+msgid "library function `%#D' redeclared as non-function `%#D'"
+msgstr "biblioteksfunktionen '%#D' er omerklæret som '%#D' der ikke er en funktion"
+
+#: cp/decl.c:3134
+msgid "conflicts with built-in declaration `%#D'"
+msgstr "strider mod indbygget erklæring '%#D'"
+
+# følges af næste tekst
+#: cp/decl.c:3153 cp/decl.c:3254 cp/decl.c:3270
+msgid "new declaration `%#D'"
+msgstr "ny erklæring af '%#D'"
+
+#: cp/decl.c:3154
+msgid "ambiguates built-in declaration `%#D'"
+msgstr "tvetydiggør indbygget erklæring '%#D'"
+
+#: cp/decl.c:3214
+msgid "`%#D' redeclared as different kind of symbol"
+msgstr "'%#D' omerklæret som en anden form for symbol"
+
+#: cp/decl.c:3217
+msgid "previous declaration of `%#D'"
+msgstr "tidligere erklæring af '%#D'"
+
+#: cp/decl.c:3239
+msgid "declaration of template `%#D'"
+msgstr "erklæring af skabelon '%#D'"
+
+#: cp/decl.c:3255 cp/decl.c:3271
+msgid "ambiguates old declaration `%#D'"
+msgstr "tvetydiggør tidligere erklæring '%#D'"
+
+#: cp/decl.c:3263
+msgid "declaration of C function `%#D' conflicts with"
+msgstr "erklæring af C-funktionen '%#D' strider mod"
+
+#: cp/decl.c:3265
+msgid "previous declaration `%#D' here"
+msgstr "tidligere erklæring af '%#D' her"
+
+#: cp/decl.c:3281
+msgid "conflicting types for `%#D'"
+msgstr "modstridende typer for '%#D'"
+
+#: cp/decl.c:3282
+msgid "previous declaration as `%#D'"
+msgstr "tidligere erklæring som '%#D'"
+
+#: cp/decl.c:3325
+msgid "`%#D' previously defined here"
+msgstr "'%#D' tidligere defineret her"
+
+#: cp/decl.c:3326
+msgid "`%#D' previously declared here"
+msgstr "'%#D' tidligere erklæret her"
+
+#. Prototype decl follows defn w/o prototype.
+#: cp/decl.c:3335
+msgid "prototype for `%#D'"
+msgstr "prototypen for '%#D'"
+
+#: cp/decl.c:3336
+msgid "follows non-prototype definition here"
+msgstr "følger definition uden prototype her"
+
+#: cp/decl.c:3348
+msgid "previous declaration of `%#D' with %L linkage"
+msgstr "tidligere erklæring af '%#D' med %L-kædning"
+
+#: cp/decl.c:3350
+msgid "conflicts with new declaration with %L linkage"
+msgstr "strider mod ny erklæring af med %L-kædning"
+
+#: cp/decl.c:3373 cp/decl.c:3380
+msgid "default argument given for parameter %d of `%#D'"
+msgstr "standardparameter givet til %d. parameter for '%#D'"
+
+#: cp/decl.c:3375 cp/decl.c:3382
+msgid "after previous specification in `%#D'"
+msgstr "efter tidligere specifikation i '%#D'"
+
+#: cp/decl.c:3391
+msgid "`%#D' was used before it was declared inline"
+msgstr "'%#D' blev brugt før erklæring som inline"
+
+#: cp/decl.c:3393
+msgid "previous non-inline declaration here"
+msgstr "tidligere ikke-inline erklæring her"
+
+#: cp/decl.c:3447
+msgid "redundant redeclaration of `%D' in same scope"
+msgstr "overflødig omerklæring af '%D' i samme virkefelt"
+
+#: cp/decl.c:3528
+#, c-format
+msgid "declaration of `%F' throws different exceptions"
+msgstr "erklæring af '%F' kaster forskellige undtagelser"
+
+#: cp/decl.c:3530
+#, c-format
+msgid "than previous declaration `%F'"
+msgstr "end tidligere erklæring '%F'"
+
+#. From [temp.expl.spec]:
+#.
+#. If a template, a member template or the member of a class
+#. template is explicitly specialized then that
+#. specialization shall be declared before the first use of
+#. that specialization that would cause an implicit
+#. instantiation to take place, in every translation unit in
+#. which such a use occurs.
+#: cp/decl.c:3670
+msgid "explicit specialization of %D after first use"
+msgstr "eksplicit specialisering af %D efter første brug"
+
+#: cp/decl.c:3926
+msgid "`%#D' used prior to declaration"
+msgstr "'%#D' benyttet før erklæring"
+
+#: cp/decl.c:3957
+msgid "redeclaration of `wchar_t' as `%T'"
+msgstr "omerklæring af 'wchar_t' som '%T'"
+
+#. A redeclaration of main, but not a duplicate of the
+#. previous one.
+#.
+#. [basic.start.main]
+#.
+#. This function shall not be overloaded.
+#: cp/decl.c:3985
+msgid "invalid redeclaration of `%D'"
+msgstr "ugyldig omerklæring af '%D'"
+
+#: cp/decl.c:3986
+msgid "as `%D'"
+msgstr "som '%D'"
+
+#: cp/decl.c:4076
+msgid "previous external decl of `%#D'"
+msgstr "tidligere ekstern erklæring af '%#D'"
+
+#: cp/decl.c:4117
+msgid "`%D' was previously implicitly declared to return `int'"
+msgstr "'%D' blev tidligere underforstået erklæret til at returnere 'int'"
+
+#: cp/decl.c:4177
+msgid "extern declaration of `%#D' doesn't match"
+msgstr "extern-erklæring af '%#D' passer ikke med"
+
+#: cp/decl.c:4178
+msgid "global declaration `%#D'"
+msgstr "global erklæring '%#D'"
+
+#: cp/decl.c:4211
+msgid "declaration of `%#D' shadows a parameter"
+msgstr "erklæring af '%#D' skygger for en parameter"
+
+#: cp/decl.c:4231
+#, c-format
msgid "declaration of `%s' shadows a member of `this'"
-msgstr "'%s' erklæret som en tabel af void"
+msgstr "erklæring af '%s' skygger for et medlem af 'this'"
+
+#: cp/decl.c:4600
+msgid "`%#D' hides constructor for `%#T'"
+msgstr "'%#D' skjuler konstruktionsfunktion for '%#T'"
+
+#: cp/decl.c:4615
+msgid "`%#D' conflicts with previous using declaration `%#D'"
+msgstr "'%#D' strider mod tidligere using-erklæring '%#D'"
+
+#: cp/decl.c:4627
+msgid "previous non-function declaration `%#D'"
+msgstr "tidligere ikke-funktionserklæring '%#D'"
-#: cp/decl.c:4871
+#: cp/decl.c:4628
+msgid "conflicts with function declaration `%#D'"
+msgstr "strider mod funktionserklæring '%#D'"
+
+#: cp/decl.c:4718
+msgid "implicit declaration of function `%#D'"
+msgstr "underforstået erklæring af funktionen '%#D'"
+
+#: cp/decl.c:4878
#, c-format
msgid "label `%s' referenced outside of any function"
msgstr "der er blevet henvist til etiketten '%s' uden for en funktion"
-#: cp/decl.c:4976 cp/decl.c:5000
+#: cp/decl.c:4981 cp/decl.c:5005 cp/decl.c:5098
+msgid "jump to label `%D'"
+msgstr "spring til etiketten '%D' "
+
+#: cp/decl.c:4983 cp/decl.c:5007
msgid "jump to case label"
-msgstr ""
+msgstr "spring til case-etiket"
-#: cp/decl.c:5007 cp/decl.c:5111
+#: cp/decl.c:4991
+msgid " crosses initialization of `%#D'"
+msgstr " krydser klargøring af '%#D'"
+
+#: cp/decl.c:4994 cp/decl.c:5114
+msgid " enters scope of non-POD `%#D'"
+msgstr " går ind i virkefelt af ikke-POD '%#D'"
+
+#: cp/decl.c:5014 cp/decl.c:5118
msgid " enters try block"
msgstr " går ind i try-blok"
-#: cp/decl.c:5009 cp/decl.c:5113
-#, fuzzy
+#. Can't skip init of __exception_info.
+#: cp/decl.c:5016 cp/decl.c:5110 cp/decl.c:5120
msgid " enters catch block"
-msgstr " går ind i try-blok"
+msgstr " går ind i catch-blok"
-#: cp/decl.c:5092
+#: cp/decl.c:5099
msgid " from here"
-msgstr ""
+msgstr " herfra"
-#: cp/decl.c:6355
-#, fuzzy
-msgid "the ABI requires vtable thunks"
-msgstr "den nye binære grænseflade kræver virtuel tabel-afdelinger"
+#: cp/decl.c:5112
+msgid " skips initialization of `%#D'"
+msgstr " springer over klargøring af '%#D'"
-#: cp/decl.c:6996
+#: cp/decl.c:5149
+msgid "label named wchar_t"
+msgstr "etiket med navnet wchar_t"
+
+#: cp/decl.c:5153
+msgid "duplicate label `%D'"
+msgstr "etiketten '%D' optræder mere end én gang"
+
+#: cp/decl.c:5239
+#, c-format
+msgid "case label `%E' not within a switch statement"
+msgstr "case-etiket '%E' befinder sig ikke inden i en switch-sætning"
+
+#. Definition isn't the kind we were looking for.
+#: cp/decl.c:5424 cp/decl.c:5443
+msgid "`%#D' redeclared as %C"
+msgstr "'%#D' omerklæret som %C"
+
+#. This happens for A::B where B is a template, and there are no
+#. template arguments.
+#: cp/decl.c:5536 cp/typeck.c:2071 cp/typeck.c:2226
+msgid "invalid use of `%D'"
+msgstr "ugyldig brug af '%D"
+
+#: cp/decl.c:5577
+msgid "`%D::%D' is not a template"
+msgstr "'%D::%D' er ikke en skabelon"
+
+#: cp/decl.c:5594
+msgid "`%D' undeclared in namespace `%D'"
+msgstr "'%D' ikke erklæret i navnerummet '%D'"
+
+#: cp/decl.c:5727
+msgid "`%D' used without template parameters"
+msgstr "'%D' benyttet uden skabelonsparametre"
+
+#: cp/decl.c:5738 cp/decl.c:5754 cp/decl.c:5864
+msgid "no class template named `%#T' in `%#T'"
+msgstr "ingen klasseskabelon ved navn '%#T' i '%#T'"
+
+#: cp/decl.c:5780 cp/decl.c:5790 cp/decl.c:5825
+msgid "no type named `%#T' in `%#T'"
+msgstr "ingen type ved navn '%#T' i '%#T'"
+
+#: cp/decl.c:6054
+msgid "lookup of `%D' finds `%#D'"
+msgstr "opslag af '%D' finder '%#D'"
+
+#: cp/decl.c:6056
+msgid " instead of `%D' from dependent base class"
+msgstr " i stedet for '%D' fra afhængig stamklasse"
+
+#: cp/decl.c:6058
+msgid " (use `typename %T::%D' if that's what you meant)"
+msgstr " (benyt 'typename %T::%D' hvis det er hvad du mener)"
+
+#: cp/decl.c:6089
+msgid "name lookup of `%D' changed"
+msgstr "navneopslag for '%D' ændret"
+
+#: cp/decl.c:6091
+msgid " matches this `%D' under ISO standard rules"
+msgstr " passer med '%D' under ISO-standardreglerne"
+
+#: cp/decl.c:6093
+msgid " matches this `%D' under old rules"
+msgstr " passer med '%D' under tidligere regler"
+
+#: cp/decl.c:6107 cp/decl.c:6114
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr "navneopslaget af '%D' er ændret til ISO 'for'-virkefelt"
+
+#: cp/decl.c:6109
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
+msgstr " kan ikke bruge forældet binding til '%D' fordi den har en destruktionsfunktion"
+
+#: cp/decl.c:6116
+msgid " using obsolete binding at `%D'"
+msgstr " bruger forældet binding til '%D'"
+
+#: cp/decl.c:6305
+msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
+msgstr "opslag af '%D' i virkefeltet for '%#T' ('%#D') passer ikke med opslaget i det aktuelle virkefelt ('%#D')"
+
+#: cp/decl.c:7128
+msgid "an anonymous union cannot have function members"
+msgstr "en anonym union kan ikke have funktionsmedlemmer"
+
+#: cp/decl.c:7145
+msgid "member %#D' with constructor not allowed in anonymous aggregate"
+msgstr "medlemmet '%#D' med konstruktionsfunktion er ikke tilladt i anonym sammensat type"
+
+#: cp/decl.c:7148
+msgid "member %#D' with destructor not allowed in anonymous aggregate"
+msgstr "medlemmet '%#D' med destruktionsfunktion er ikke tilladt i anonym sammensat type"
+
+#: cp/decl.c:7151
+msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
+msgstr "medlemmet '%#D' med kopitildelingsoperator er ikke tilladt i anonym sammensat type"
+
+#: cp/decl.c:7189
+msgid "redeclaration of C++ built-in type `%T'"
+msgstr "omerklæring af indbygget type i C++ '%T'"
+
+#: cp/decl.c:7225
msgid "multiple types in one declaration"
msgstr "flere typer i én erklæring"
-#: cp/decl.c:6999
-#, fuzzy
-msgid "declaration does not declare anything"
-msgstr "friend-erklæringen er ikke i klassedefinitionen"
-
-#: cp/decl.c:7023
-msgid "Missing type-name in typedef-declaration."
-msgstr ""
+#: cp/decl.c:7252
+msgid "missing type-name in typedef-declaration"
+msgstr "manglende typenavn i typedef-erklæring"
-#: cp/decl.c:7030
+#: cp/decl.c:7259
msgid "ISO C++ prohibits anonymous structs"
-msgstr ""
+msgstr "ISO C++ forbyder anonyme strukturer"
+
+#: cp/decl.c:7266
+msgid "`%D' can only be specified for functions"
+msgstr "'%D' kan kun angives for funktioner"
+
+#: cp/decl.c:7268
+msgid "`%D' can only be specified inside a class"
+msgstr "'%D' kan kun angives inden i en klasse"
+
+#: cp/decl.c:7270
+msgid "`%D' can only be specified for constructors"
+msgstr "'%D' kan kun angives for konstruktionsfunktioner"
+
+#: cp/decl.c:7273
+msgid "`%D' can only be specified for objects and functions"
+msgstr "'%D' kan kun angives for objekter og funktioner"
+
+# init dækker over værditildeling her - samme for de næste mange
+#: cp/decl.c:7415 cp/decl2.c:936
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
+msgstr "typedef '%D' bliver tildelt en værdi (benyt __typeof__ i stedet)"
+
+#: cp/decl.c:7420
+msgid "function `%#D' is initialized like a variable"
+msgstr "funktionen '%#D' bliver tildelt en startværdi som en variabel"
+
+#: cp/decl.c:7432
+msgid "declaration of `%#D' has `extern' and is initialized"
+msgstr "erklæringen af '%#D' indeholder 'extern' og variablen bliver tildelt en startværdi"
+
+#: cp/decl.c:7466
+msgid "`%#D' is not a static member of `%#T'"
+msgstr "'%#D' er ikke et statisk medlem af '%#T'"
+
+#: cp/decl.c:7471
+msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
+msgstr "ISO C++ tillader ikke '%T::%D' at blive defineret som '%T::%D'"
+
+#: cp/decl.c:7482
+msgid "duplicate initialization of %D"
+msgstr "%D tildelt startværdi mere end én gang"
+
+#: cp/decl.c:7511
+msgid "declaration of `%#D' outside of class is not definition"
+msgstr "erklæring af '%#D' uden for en klasse er ikke en definition"
+
+#: cp/decl.c:7561
+msgid "variable `%#D' has initializer but incomplete type"
+msgstr "variablen '%#D' bliver tildelt en startværdi, men er af en ufuldstændig type"
+
+#: cp/decl.c:7569 cp/decl.c:8123
+msgid "elements of array `%#D' have incomplete type"
+msgstr "elementer i tabellen '%#D' er af en ufuldstændig type"
+
+#: cp/decl.c:7585
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
+msgstr "den sammensatte type '%#D' er af en ufuldstændig type og kan ikke defineres"
+
+#: cp/decl.c:7624
+msgid "`%D' declared as reference but not initialized"
+msgstr "'%D' erklæret som en reference, men bliver ikke tildelt en startværdi"
+
+#: cp/decl.c:7633
+msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
+msgstr "ISO C++ forbyder brug af en startværdiliste til at klargøre referencen '%D'"
+
+#: cp/decl.c:7663
+msgid "cannot initialize `%T' from `%T'"
+msgstr "kan ikke klargøre '%T' fra %T'"
+
+#: cp/decl.c:7697
+msgid "initializer fails to determine size of `%D'"
+msgstr "startværdien giver ikke størrelsen af '%D'"
+
+#: cp/decl.c:7702
+msgid "array size missing in `%D'"
+msgstr "tabelstørrelsen mangler i '%D'"
+
+#: cp/decl.c:7714
+msgid "zero-size array `%D'"
+msgstr "nulstørrelsestabel '%D'"
+
+#. 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:7752
+msgid "storage size of `%D' isn't known"
+msgstr "lagringsstørrelsen af '%D' er ikke kendt"
+
+#: cp/decl.c:7774
+msgid "storage size of `%D' isn't constant"
+msgstr "lagringsstørrelsen af '%D' er ikke konstant"
+
+#: cp/decl.c:7830
+msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
+msgstr "semantikken for indlejret funktionsstatisk data '%#D' er forkert (du ender med flere kopier)"
+
+#: cp/decl.c:7831
+msgid " you can work around this by removing the initializer"
+msgstr " du kan arbejde dig rundt om dette ved at fjerne startværdien"
+
+#: cp/decl.c:7857
+msgid "uninitialized const `%D'"
+msgstr "konstant '%D' uden startværdi"
+
+#: cp/decl.c:7941
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'"
+
+#: cp/decl.c:8005
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr "startværdi for '%T' skal være indesluttet i krøllede paranteser"
+
+#: cp/decl.c:8020
+msgid "ISO C++ does not allow designated initializers"
+msgstr "ISO C++ tillader ikke udpegede startværdier"
+
+#: cp/decl.c:8024
+msgid "`%T' has no non-static data member named `%D'"
+msgstr "'%T' har intet ikke-statisk medlem ved navn '%D'"
+
+#: cp/decl.c:8081
+msgid "too many initializers for `%T'"
+msgstr "for mange startværdier for '%T'"
+
+#: cp/decl.c:8117
+msgid "variable-sized object `%D' may not be initialized"
+msgstr "objektet '%D' af variabel størrelse må ikke tildeles en startværdi"
+
+#: cp/decl.c:8128
+msgid "`%D' has incomplete type"
+msgstr "'%D' er af en ufuldstændig type"
+
+#: cp/decl.c:8177
+msgid "`%D' must be initialized by constructor, not by `{...}'"
+msgstr "'%D' skal klargøres af en konstruktionsfunktion, ikke af '{...}'"
-#: cp/decl.c:8018
+#: cp/decl.c:8218
+msgid "structure `%D' with uninitialized const members"
+msgstr "struktur '%D' med konstante medlemmer uden startværdi"
+
+#: cp/decl.c:8220
+msgid "structure `%D' with uninitialized reference members"
+msgstr "struktur '%D' med referencemedlemmer uden startværdi"
+
+#: cp/decl.c:8467
msgid "assignment (not initialization) in declaration"
msgstr "tildeling (ikke klargøring) i erklæring"
-#: cp/decl.c:8580
+#: cp/decl.c:8479
+msgid "cannot initialize `%D' to namespace `%D'"
+msgstr "kan ikke tildele startværdi til '%D' med navnerummet '%D'"
+
+#: cp/decl.c:8530
+msgid "shadowing previous type declaration of `%#D'"
+msgstr "skygger for tidligere typeerklæring af '%#D'"
+
+#: cp/decl.c:8576
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+msgstr "'%D' kan ikke være trådlokal eftersom den er af en ikke-POD type '%T'"
+
+#: cp/decl.c:8591
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
+msgstr "'%D' er trådlokal og kan derfor ikke blive tildelt en startværdi dynamisk"
+
+#: cp/decl.c:8986 cp/init.c:556
+msgid "multiple initializations given for `%D'"
+msgstr "flere startværdier angivet for '%D'"
+
+#: cp/decl.c:9078
msgid "invalid catch parameter"
msgstr "ugyldig catch-parameter"
-#: cp/decl.c:8807
+#: cp/decl.c:9196
+msgid "destructor for alien class `%T' cannot be a member"
+msgstr "destruktionsfunktionen for den fremmede klasse '%T' kan ikke være et medlem"
+
+#: cp/decl.c:9199
+msgid "constructor for alien class `%T' cannot be a member"
+msgstr "konstruktionsfunktionen for den fremmede klasse '%T' kan ikke være et medlem"
+
+#: cp/decl.c:9218
+msgid "`%D' declared as a `virtual' %s"
+msgstr "'%D' erklæret som 'virtual' %s"
+
+#: cp/decl.c:9220
+msgid "`%D' declared as an `inline' %s"
+msgstr "'%D' erklæret som 'inline' %s"
+
+# %s bliver omsat til typen
+#: cp/decl.c:9222
+msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
+msgstr "'const'- og 'volatile'-funktionsangivelser til '%D' er ugyldigt i erklæring af %s"
+
+#: cp/decl.c:9225
+msgid "`%D' declared as a friend"
+msgstr "'%D' er erklæret som en ven"
+
+#: cp/decl.c:9231
+msgid "`%D' declared with an exception specification"
+msgstr "'%D' erklæret med en undtagelsesspecifikation"
+
+#: cp/decl.c:9306
msgid "cannot declare `::main' to be a template"
-msgstr "kan ikke erklære '::main' som et template"
+msgstr "kan ikke erklære '::main' som en skabelon"
-#: cp/decl.c:8809
+#: cp/decl.c:9308
msgid "cannot declare `::main' to be inline"
-msgstr "kan ikke erklære '::main' som inline"
+msgstr "kan ikke erklære '::main' som indlejret"
-#: cp/decl.c:8811
+#: cp/decl.c:9310
msgid "cannot declare `::main' to be static"
-msgstr "kan ikke erklære '::main' som static"
+msgstr "kan ikke erklære '::main' som statisk"
-#: cp/decl.c:8814
-#, fuzzy
+#: cp/decl.c:9313
msgid "`main' must return `int'"
-msgstr "'operator new' skal returnere typen 'void *'"
+msgstr "'main' skal returnere typen 'int'"
+
+#: cp/decl.c:9341
+msgid "non-local function `%#D' uses anonymous type"
+msgstr "ikke-lokal funktion '%#D' bruger anonym type"
+
+#: cp/decl.c:9344
+msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
+msgstr "'%#D' refererer ikke til den ikkemodificerede type, so den bruges ikke til sammenkædning"
+
+#: cp/decl.c:9350
+msgid "non-local function `%#D' uses local type `%T'"
+msgstr "ikke-lokal funktion '%#D' bruger lokal type '%T'"
+
+#: cp/decl.c:9379
+msgid "%smember function `%D' cannot have `%T' method qualifier"
+msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'"
+
+#: cp/decl.c:9403
+msgid "defining explicit specialization `%D' in friend declaration"
+msgstr "definering af eksplicit specialisering '%D' i friend-erklæring"
+
+#. Something like `template <class T> friend void f<T>()'.
+#: cp/decl.c:9413
+msgid "invalid use of template-id `%D' in declaration of primary template"
+msgstr "ugyldig brug af skabelons-id '%D' i erklæring af primær skabelon"
+
+#: cp/decl.c:9441
+msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
+msgstr "standardparametre er ikke tilladt i erklæring af venneskabelonsspecialisering '%D'"
+
+#: cp/decl.c:9448
+msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
+msgstr "'inline' er ikke tilladt i erklæring venneskabelonsspecialisering '%D'"
+
+#: cp/decl.c:9510
+msgid "definition of implicitly-declared `%D'"
+msgstr "definition af underforstået-erklæret '%D'"
+
+#: cp/decl.c:9522 cp/decl2.c:785
+msgid "no `%#D' member function declared in class `%T'"
+msgstr "ingen medlemsfunktion '%#D' erklæret i klassen '%T'"
+
+#: cp/decl.c:9655
+msgid "non-local variable `%#D' uses local type `%T'"
+msgstr "ikke-lokal variabel '%#D' bruger lokal type '%T'"
+
+#: cp/decl.c:9752
+msgid "invalid in-class initialization of static data member of non-integral type `%T'"
+msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'"
+
+#: cp/decl.c:9761
+msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
+msgstr "ISO C++ forbyder tildeling af startværdi i klasse til ikke-konstant statisk medlem '%D'"
+
+#: cp/decl.c:9764
+msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
+msgstr "ISO C++ forbyder tildeling af startværdi til medlemskonstant '%D' af en ikke-heltallig type"
+
+#: cp/decl.c:9814
+msgid "size of array `%D' has non-integer type"
+msgstr "størrelsen af tabellen '%D' er ikke af en heltalstype"
+
+#: cp/decl.c:9816
+msgid "size of array has non-integer type"
+msgstr "størrelsen af tabel er ikke af en heltalstype"
+
+#: cp/decl.c:9836
+msgid "size of array `%D' is negative"
+msgstr "størrelsen af tabellen '%D' er negativ"
+
+#: cp/decl.c:9838
+msgid "size of array is negative"
+msgstr "størrelsen af tabel er negativ"
-#: cp/decl.c:9365
+#: cp/decl.c:9847
+msgid "ISO C++ forbids zero-size array `%D'"
+msgstr "ISO C++ forbyder tabellen '%D' med størrelsen nul"
+
+#: cp/decl.c:9849
+msgid "ISO C++ forbids zero-size array"
+msgstr "ISO C++ forbyder tabel med størrelsen nul"
+
+#: cp/decl.c:9856
+msgid "size of array `%D' is not an integral constant-expression"
+msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk"
+
+#: cp/decl.c:9859
+msgid "size of array is not an integral constant-expression"
+msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk"
+
+#: cp/decl.c:9877
+msgid "ISO C++ forbids variable-size array `%D'"
+msgstr "ISO C++ forbyder tabellen '%D' med variabel størrelse"
+
+#: cp/decl.c:9880
+msgid "ISO C++ forbids variable-size array"
+msgstr "ISO C++ forbyder tabel med variabel størrelse"
+
+#: cp/decl.c:9891
msgid "overflow in array dimension"
msgstr "tabeldimension for stor"
-#: cp/decl.c:9651
+#: cp/decl.c:9950
+msgid "declaration of `%D' as %s"
+msgstr "erklæring af '%D' som %s"
+
+#: cp/decl.c:9952
+#, c-format
+msgid "creating %s"
+msgstr "opretter %s"
+
+#: cp/decl.c:9964
+msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
+msgstr "erklæring af '%D' som flerdimensional tabel skal have grænser for alle dimensioner pånær den første"
+
+#: cp/decl.c:9967
+msgid "multidimensional array must have bounds for all dimensions except the first"
+msgstr "flerdimensional tabel skal have grænser for alle dimensioner pånær den første"
+
+#: cp/decl.c:9996
+msgid "return type specification for constructor invalid"
+msgstr "angivelse af returneringstypen til konstruktionsfunktion er ugyldigt"
+
+#: cp/decl.c:10003
+msgid "return type specification for destructor invalid"
+msgstr "angivelse af returneringstypen til destruktionsfunktion er ugyldigt"
+
+#: cp/decl.c:10009
+msgid "operator `%T' declared to return `%T'"
+msgstr "operator '%T' erklæret til at returnere '%T'"
+
+#: cp/decl.c:10011
+msgid "return type specified for `operator %T'"
+msgstr "returtype angivet for 'operator %T'"
+
+#: cp/decl.c:10179
msgid "destructors must be member functions"
msgstr "destruktionsfunktioner skal være medlemmer"
-#: cp/decl.c:9980
+#: cp/decl.c:10198
+msgid "destructor `%T' must match class name `%T'"
+msgstr "destruktionsfunktion '%T' skal passe til klassenavnet '%T'"
+
+#: cp/decl.c:10227
+msgid "variable declaration is not allowed here"
+msgstr "variabelerklæring er ikke tilladt her"
+
+#: cp/decl.c:10254
+msgid "invalid declarator"
+msgstr "ugyldig erklærer"
+
+#: cp/decl.c:10305
+msgid "declarator-id missing; using reserved word `%D'"
+msgstr "erklærer-id mangler; bruger reserveret ord '%D'"
+
+#: cp/decl.c:10362
+msgid "type `%T' is not derived from type `%T'"
+msgstr "typen '%T' er ikke nedarvet fra typen '%T'"
+
+#. Parse error puts this typespec where
+#. a declarator should go.
+#: cp/decl.c:10414
+msgid "`%T' specified as declarator-id"
+msgstr "'%T' angivet som erklærer-id"
+
+#: cp/decl.c:10416
+msgid " perhaps you want `%T' for a constructor"
+msgstr " måske ønsker du '%T' for en konstruktionsfunktion"
+
+#. Sometimes, we see a template-name used as part of a
+#. decl-specifier like in
+#. std::allocator alloc;
+#. Handle that gracefully.
+#: cp/decl.c:10438
+#, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring"
+
+#: cp/decl.c:10458
+msgid "declaration of `%D' as non-function"
+msgstr "erklæring af '%D' som ikke-funktion"
+
+#: cp/decl.c:10535
msgid "`bool' is now a keyword"
msgstr "'bool' er et reserveret ord"
-#: cp/decl.c:10011
-#, fuzzy
+#: cp/decl.c:10537
+msgid "extraneous `%T' ignored"
+msgstr "overflødig '%T' ignoreret"
+
+#: cp/decl.c:10553 cp/decl.c:10598
+msgid "multiple declarations `%T' and `%T'"
+msgstr "flere erklæringer '%T' og '%T'"
+
+#: cp/decl.c:10566
msgid "ISO C++ does not support `long long'"
-msgstr "GNU C++ understøtter ikke -C uden -E"
+msgstr "ISO C++ understøtter ikke 'long long'"
+
+#: cp/decl.c:10671 cp/decl.c:10674
+#, c-format
+msgid "ISO C++ forbids declaration of `%s' with no type"
+msgstr "ISO C++ forbyder erklæring af '%s' uden en type"
+
+#. The implicit typename extension is deprecated and will be
+#. removed. Warn about its use now.
+#: cp/decl.c:10684
+msgid "`%T' is implicitly a typename"
+msgstr "'%T' er underforstået et typenavn"
-#: cp/decl.c:10133
+#: cp/decl.c:10720
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr "short, signed eller unsigned er ugyldig for '%s'"
-#: cp/decl.c:10138
+#: cp/decl.c:10725
#, c-format
msgid "long and short specified together for `%s'"
msgstr "long og short er begge angivet for '%s'"
-#: cp/decl.c:10149
+#: cp/decl.c:10736
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr "signed og unsigned er begge angivet for '%s'"
-#: cp/decl.c:10296
+#: cp/decl.c:10845
+msgid "qualifiers are not allowed on declaration of `operator %T'"
+msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'"
+
+#: cp/decl.c:10867
+msgid "member `%D' cannot be declared both virtual and static"
+msgstr "medlemmet '%D' kan ikke afklæres både virtual og static"
+
+#: cp/decl.c:10876
+msgid "`%T::%D' is not a valid declarator"
+msgstr "'%T::%D' er ikke en gyldig erklærer"
+
+#: cp/decl.c:10888
msgid "storage class specifiers invalid in parameter declarations"
msgstr "lagringsklasseanvisninger er ugyldige i parametererklæringer"
-#: cp/decl.c:10300
+#: cp/decl.c:10892
msgid "typedef declaration invalid in parameter declaration"
msgstr "typedef-erklæringer er ugyldig i parametererklæringer"
-#: cp/decl.c:10311
+#: cp/decl.c:10905
msgid "virtual outside class declaration"
msgstr "virtual angivet uden for klasseerklæring"
-#: cp/decl.c:10365
+#: cp/decl.c:10966
#, c-format
msgid "storage class specified for %s `%s'"
msgstr "lagringsklasse angivet for %s '%s'"
-#: cp/decl.c:10403
+#: cp/decl.c:11013
msgid "storage class specifiers invalid in friend function declarations"
msgstr "lagringsklasseanvisninger er ugyldige i vennefunktionserklæringer"
-#: cp/decl.c:10585
+#: cp/decl.c:11183
msgid "destructor cannot be static member function"
msgstr "destruktionsfunktionen kan ikke være en statisk medlemsfunktion"
-#: cp/decl.c:10609
+#: cp/decl.c:11186
+#, c-format
+msgid "destructors may not be `%s'"
+msgstr "destruktionsfunktioner må ikke være '%s'"
+
+#: cp/decl.c:11207
msgid "constructor cannot be static member function"
msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion"
-#: cp/decl.c:10612
-#, fuzzy
+#: cp/decl.c:11210
msgid "constructors cannot be declared virtual"
-msgstr "const '%s' kan ikke erklæres 'mutable'"
+msgstr "konstruktionsfunktioner kan ikke erklæres virtual"
+
+#: cp/decl.c:11215
+#, c-format
+msgid "constructors may not be `%s'"
+msgstr "konstruktionsfunktioner må ikke være '%s'"
-#: cp/decl.c:10627
+#: cp/decl.c:11225
msgid "return value type specifier for constructor ignored"
-msgstr "angivelse af typen af returværdien til konstruktionsfunktionen ignoreres"
+msgstr "angivelse af typen af returværdien til konstruktionsfunktionen ignoreret"
-#: cp/decl.c:10646
+#: cp/decl.c:11244
#, c-format
msgid "can't initialize friend function `%s'"
-msgstr "kan ikke klargøre vennefunktionen '%s'"
+msgstr "kan ikke tildele en startværdi til vennefunktionen '%s'"
#. Cannot be both friend and virtual.
-#: cp/decl.c:10650
+#: cp/decl.c:11248
msgid "virtual functions cannot be friends"
msgstr "en virtuel funktion kan ikke erklæres som friend"
-#: cp/decl.c:10655
+#: cp/decl.c:11253
msgid "friend declaration not in class definition"
msgstr "friend-erklæringen er ikke i klassedefinitionen"
-#: cp/decl.c:10711
+#: cp/decl.c:11255
#, c-format
-msgid "cannot declare %s to references"
-msgstr "kan ikke erklære %s til referencer"
+msgid "can't define friend function `%s' in a local class definition"
+msgstr "kan ikke definere vennefunktion '%s' i en lokal klassedefinition"
-#: cp/decl.c:10737
-msgid "invalid type: `void &'"
-msgstr "ugyldig type: 'void &'"
+#: cp/decl.c:11279
+msgid "destructors may not have parameters"
+msgstr "destruktionsfunktioner må ikke have parametre"
-#: cp/decl.c:10788
-#, fuzzy
-msgid "discarding `const' applied to a reference"
-msgstr "new kan ikke bruges på en referencetype"
+#: cp/decl.c:11310 cp/decl.c:11317
+msgid "cannot declare reference to `%#T'"
+msgstr "kan ikke erklære reference til '%#T'"
-#: cp/decl.c:10790
-#, fuzzy
-msgid "discarding `volatile' applied to a reference"
-msgstr "new kan ikke bruges på en referencetype"
+#: cp/decl.c:11311
+msgid "cannot declare pointer to `%#T'"
+msgstr "kan ikke erklære henvisning til '%#T'"
+
+#: cp/decl.c:11316
+msgid "cannot declare pointer to `%#T' member"
+msgstr "kan ikke erklære henvisning til medlemmet '%#T'"
+
+#: cp/decl.c:11492
+msgid "extra qualification `%T::' on member `%s' ignored"
+msgstr "ekstra modifikation '%T::' af medlemmet '%s' ignoreret"
+
+#: cp/decl.c:11502
+msgid "cannot declare member function `%T::%s' within `%T'"
+msgstr "kan ikke erklære medlemsfunktion '%T::%s' inde i '%T'"
+
+#: cp/decl.c:11517
+msgid "cannot declare member `%T::%s' within `%T'"
+msgstr "kan ikke erklære medlem '%T::%s' inde i '%T'"
+
+#: cp/decl.c:11596
+msgid "data member may not have variably modified type `%T'"
+msgstr "datamedlem må ikke have variabelt ændret type '%T'"
+
+#: cp/decl.c:11598
+msgid "parameter may not have variably modified type `%T'"
+msgstr "parameter må ikke have variabelt ændret type '%T'"
#. [dcl.fct.spec] The explicit specifier shall only be used in
#. declarations of constructors within a class definition.
-#: cp/decl.c:10997
+#: cp/decl.c:11606
msgid "only declarations of constructors can be `explicit'"
msgstr "kun erklæringer af konstruktionsfunktioner kan være 'explicit'"
-#: cp/decl.c:11005
+#: cp/decl.c:11614
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr "'%s' som ikke er medlem, kan ikke erklæres 'mutable'"
-#: cp/decl.c:11010
+#: cp/decl.c:11619
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr "'%s' som ikke er objektmedlem, kan ikke erklæres 'mutable'"
-#: cp/decl.c:11016
+#: cp/decl.c:11625
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr "funktionen '%s' kan ikke erklæres 'mutable'"
-#: cp/decl.c:11021
+#: cp/decl.c:11630
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr "static '%s' kan ikke erklæres 'mutable'"
-#: cp/decl.c:11026
+#: cp/decl.c:11635
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr "const '%s' kan ikke erklæres 'mutable'"
-#: cp/decl.c:11131
-msgid "typedef declaration includes an initializer"
-msgstr "typedef-erklæringen indeholder en startværdi"
+#: cp/decl.c:11648
+msgid "template-id `%D' used as a declarator"
+msgstr "skabelons-id '%D' benyttet som erklærer"
+
+#: cp/decl.c:11669
+msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
+msgstr "ISO C++ forbyder indlejret type '%D' med samme navn som den omgivende klasse"
-#: cp/decl.c:11241
+#: cp/decl.c:11718
+msgid "typedef name may not be class-qualified"
+msgstr "typedef-navn kan ikke klassemodificeres"
+
+#: cp/decl.c:11726
+msgid "invalid type qualifier for non-member function type"
+msgstr "ugyldig typemodifikation for ikke-medlemsfunktionstype"
+
+#: cp/decl.c:11789
+msgid "type qualifiers specified for friend class declaration"
+msgstr "typemodifikationer angivet for friend class-erklæring"
+
+#: cp/decl.c:11794
+msgid "`inline' specified for friend class declaration"
+msgstr "'inline' angivet for friend class-erklæring"
+
+#: cp/decl.c:11802
+msgid "template parameters cannot be friends"
+msgstr "skabelonsparametre kan ikke være venner"
+
+#: cp/decl.c:11804
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
+msgstr "friend-erklæring kræver klasseangivelse, dvs. 'friend class %T::%D'"
+
+#: cp/decl.c:11808
+msgid "friend declaration requires class-key, i.e. `friend %#T'"
+msgstr "friend-erklæring kræver klasseangivelse, dvs. 'friend %#T'"
+
+#: cp/decl.c:11822
+msgid "trying to make class `%T' a friend of global scope"
+msgstr "forsøg på at gøre klassen '%T' til ven af det globale virkningsfelt"
+
+#: cp/decl.c:11833
+msgid "invalid qualifiers on non-member function type"
+msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype"
+
+#: cp/decl.c:11852
+msgid "abstract declarator `%T' used as declaration"
+msgstr "abstrakt erklærer '%T' benyttet som erklæring"
+
+#: cp/decl.c:11864
msgid "unnamed variable or field declared void"
msgstr "unavngiven variabel eller felt erklæret void"
-#: cp/decl.c:11250
+#: cp/decl.c:11873
msgid "variable or field declared void"
msgstr "variabel eller felt erklæret void"
-#: cp/decl.c:11260
+#: cp/decl.c:11883
msgid "cannot use `::' in parameter declaration"
msgstr "kan ikke bruge '::' i parametererklæring"
-#: cp/decl.c:11445
+#. Something like struct S { int N::j; };
+#: cp/decl.c:11922
+msgid "invalid use of `::'"
+msgstr "ugyldig brug af '::'"
+
+#: cp/decl.c:11934
+msgid "function `%D' cannot be declared friend"
+msgstr "funktionen '%D' kan ikke erklæres friend"
+
+#: cp/decl.c:11946
+msgid "can't make `%D' into a method -- not in a class"
+msgstr "kan ikke gøre '%D' til en metode - er ikke i en klasse"
+
+#: cp/decl.c:11955
+msgid "function `%D' declared virtual inside a union"
+msgstr "funktionen '%D' erklæret virtual inden i en union"
+
+#: cp/decl.c:11967
+msgid "`%D' cannot be declared virtual, since it is always static"
+msgstr "'%D' kan ikke erklæres virtual eftersom den altid er statisk"
+
+#: cp/decl.c:12040
+msgid "field `%D' has incomplete type"
+msgstr "feltet '%D' er af en ufuldstændig type"
+
+#: cp/decl.c:12042
+msgid "name `%T' has incomplete type"
+msgstr "navnet '%T' er af en ufuldstændig type"
+
+#: cp/decl.c:12051
+msgid " in instantiation of template `%T'"
+msgstr " i instantiering af skabelonen '%T'"
+
+#: cp/decl.c:12061
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr "'%s' er hverken en almindelig funktion eller en medlemsfunktion; kan ikke erklæres som friend"
-#: cp/decl.c:11456
+#: cp/decl.c:12072
msgid "member functions are implicitly friends of their class"
-msgstr ""
+msgstr "medlemsfunktioner er underforstået venner af deres klasse"
+
+#. An attempt is being made to initialize a non-static
+#. member. But, from [class.mem]:
+#.
+#. 4 A member-declarator can contain a
+#. constant-initializer only if it declares a static
+#. member (_class.static_) of integral or enumeration
+#. type, see _class.static.data_.
+#.
+#. This used to be relatively common practice, but
+#. 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:12119
+msgid "ISO C++ forbids initialization of member `%D'"
+msgstr "ISO C++ forbyder tildeling af startværdi til medlemmet '%D'"
+
+#: cp/decl.c:12121
+msgid "making `%D' static"
+msgstr "gør '%D' statisk"
+
+#: cp/decl.c:12145
+msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+msgstr "ISO C++ forbyder statisk datamedlem '%D' med samme navn som den omgivende klasse"
-#: cp/decl.c:11570
+#: cp/decl.c:12186
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'"
-#: cp/decl.c:11572
+#: cp/decl.c:12188
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'"
-#: cp/decl.c:11583
-#, fuzzy, c-format
+#: cp/decl.c:12190
+#, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'"
+
+#: cp/decl.c:12201
+#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
-msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'"
+msgstr "lagringsklassen 'static' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt"
-#: cp/decl.c:11585
-#, fuzzy, c-format
+#: cp/decl.c:12203
+#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
-msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'"
+msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt"
-#: cp/decl.c:11592
+#: cp/decl.c:12210
#, c-format
msgid "virtual non-class function `%s'"
msgstr "virtuel funktion '%s' tilhører ikke en klasse"
+#: cp/decl.c:12239
+msgid "cannot declare member function `%D' to have static linkage"
+msgstr "kan ikke erklære medlemsfunktion '%D' til at have statisk kædning"
+
#. FIXME need arm citation
-#: cp/decl.c:11627
+#: cp/decl.c:12245
msgid "cannot declare static function inside another function"
msgstr "kan ikke erklære en funktion for static inden i en anden funktion"
-#: cp/decl.c:11904
+#: cp/decl.c:12273
+msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
+msgstr "'static' må ikke bruges ved definering (i modsætning til erklæring) af et statisk datamedlem"
+
+#: cp/decl.c:12279
+msgid "static member `%D' declared `register'"
+msgstr "statisk medlem '%D' erklæret 'register'"
+
+#: cp/decl.c:12284
+msgid "cannot explicitly declare member `%#D' to have extern linkage"
+msgstr "kan ikke eksplicit erklære medlemmet '%#D' til at have extern-kædning"
+
+#: cp/decl.c:12459
+msgid "default argument for `%#D' has type `%T'"
+msgstr "standardparameter for '%#D' har typen '%T'"
+
+#: cp/decl.c:12462
+msgid "default argument for parameter of type `%T' has type `%T'"
+msgstr "standardparameter for parameter af typen '%T' har typen '%T'"
+
+#: cp/decl.c:12479
+msgid "default argument `%E' uses local variable `%D'"
+msgstr "standardparameter '%E' bruger lokal variabel '%D'"
+
+#: cp/decl.c:12524
+#, c-format
+msgid "invalid string constant `%E'"
+msgstr "ugyldig strengkonstant '%E'"
+
+#: cp/decl.c:12526
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr "ugyldig heltalskonstant i parameterlisten, måske mangler parameternavnet?"
-#: cp/decl.c:12281
+#: cp/decl.c:12564
+msgid "parameter `%D' invalidly declared method type"
+msgstr "parameteren '%D' er på ugyldig vis erklæret som af en medlemsfunktionstype"
+
+#: cp/decl.c:12570
+msgid "parameter `%D' invalidly declared offset type"
+msgstr "parameteren '%D' er på ugyldig vis erklæret som af en offset-type"
+
+#: cp/decl.c:12594
+msgid "parameter `%D' includes %s to array of unknown bound `%T'"
+msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'"
+
+#. [class.copy]
+#.
+#. A declaration of a constructor for a class X is ill-formed if
+#. its first parameter is of type (optionally cv-qualified) X
+#. and either there are no other parameters or else all other
+#. parameters have default arguments.
+#.
+#. We *don't* complain about member template instantiations that
+#. have this form, though; they can occur as we try to decide
+#. what constructor to use during overload resolution. Since
+#. overload resolution will never prefer such a constructor to
+#. the non-template copy constructor (which is either explicitly
+#. 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:12756
+msgid "invalid constructor; you probably meant `%T (const %T&)'"
+msgstr "ugyldig konstruktionsfunktion; du mente sandsynligvis '%T (const %T&)'"
+
+#: cp/decl.c:12907
+msgid "`%D' must be a nonstatic member function"
+msgstr "'%D' skal være en ikke-statisk medlemsfunktion"
+
+#: cp/decl.c:12913
+msgid "`%D' must be either a non-static member function or a non-member function"
+msgstr "'%D' skal enten være en ikke-statisk medlemsfunktion eller ikke en medlemsfunktion"
+
+#: cp/decl.c:12930
+msgid "`%D' must have an argument of class or enumerated type"
+msgstr "'%D' skal have en parameter af en klasse- eller enum-type"
+
+#: cp/decl.c:12962
#, c-format
msgid "conversion to %s%s will never use a type conversion operator"
-msgstr ""
+msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
+
+#. 13.4.0.3
+#: cp/decl.c:12969
+msgid "ISO C++ prohibits overloading operator ?:"
+msgstr "ISO C++ forbyder flertydiggørelse af operatoren ?:"
+
+#: cp/decl.c:13019
+msgid "postfix `%D' must take `int' as its argument"
+msgstr "postfiks '%D' skal tage mod 'int' som parameter"
+
+#: cp/decl.c:13023
+msgid "postfix `%D' must take `int' as its second argument"
+msgstr "postfiks '%D' skal tage mod 'int' som den anden parameter"
-#: cp/decl.c:13365
+#: cp/decl.c:13030
+msgid "`%D' must take either zero or one argument"
+msgstr "'%D' skal tage mod nul eller én parameter"
+
+#: cp/decl.c:13032
+msgid "`%D' must take either one or two arguments"
+msgstr "'%D' skal tage mod én eller to parametre"
+
+#: cp/decl.c:13053
+msgid "prefix `%D' should return `%T'"
+msgstr "præfiks '%D' skal returnere '%T'"
+
+#: cp/decl.c:13059
+msgid "postfix `%D' should return `%T'"
+msgstr "postfiks '%D' skal returnere '%T'"
+
+#: cp/decl.c:13068
+msgid "`%D' must take `void'"
+msgstr "'%D' skal tage mod 'void'"
+
+#: cp/decl.c:13070 cp/decl.c:13078
+msgid "`%D' must take exactly one argument"
+msgstr "'%s' skal tage mod én parameter"
+
+#: cp/decl.c:13080
+msgid "`%D' must take exactly two arguments"
+msgstr "'%s' skal tage mod to parametre"
+
+#: cp/decl.c:13088
+msgid "user-defined `%D' always evaluates both arguments"
+msgstr "brugerdefineret '%D' evaluerer altid begge parametre"
+
+#: cp/decl.c:13102
+msgid "`%D' should return by value"
+msgstr "'%D' skal returnere pr. værdi (ikke reference)"
+
+#: cp/decl.c:13114 cp/decl.c:13117
+msgid "`%D' cannot have default arguments"
+msgstr "'%D' kan ikke have standardparametre"
+
+#: cp/decl.c:13160
+msgid "using typedef-name `%D' after `%s'"
+msgstr "bruger typedef-navn '%D' efter '%s'"
+
+#: cp/decl.c:13166
+msgid "using template type parameter `%T' after `%s'"
+msgstr "bruger skabelonstypeparameter '%D' efter '%s'"
+
+#: cp/decl.c:13227
+msgid "`%s %T' declares a new type at namespace scope"
+msgstr "'%s %T' erklærer en ny type ved navnerumsvirkefelt"
+
+#: cp/decl.c:13230
+msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
+msgstr " navne fra afhængige stamklasser er ikke synlige for umodificerede navneopslag - benyt '%s %T::%T' for at referere til den nedarvede type"
+
+#: cp/decl.c:13348
+msgid "use of enum `%#D' without previous declaration"
+msgstr "brug af enum '%#D' uden tidligere erklæring"
+
+#: cp/decl.c:13434
+msgid "derived union `%T' invalid"
+msgstr "nedarvet union '%T' ugyldig"
+
+#: cp/decl.c:13480
+msgid "base type `%T' fails to be a struct or class type"
+msgstr "stamklassetype '%T' er hverken en struct- eller class-type"
+
+#: cp/decl.c:13490
+msgid "base class `%T' has incomplete type"
+msgstr "stamklasse '%T' er af en ufuldstændig type"
+
+#: cp/decl.c:13498
+msgid "recursive type `%T' undefined"
+msgstr "rekursiv type '%T' ikke defineret"
+
+#: cp/decl.c:13500
+msgid "duplicate base type `%T' invalid"
+msgstr "stamklassetype '%T' optræder mere end én gang"
+
+#: cp/decl.c:13611
+msgid "multiple definition of `%#T'"
+msgstr "flere definitioner af '%#T'"
+
+#: cp/decl.c:13612
+msgid "previous definition here"
+msgstr "tidligere definition her"
+
+#: cp/decl.c:13779
+msgid "enumerator value for `%D' not integer constant"
+msgstr "enum-værdi for '%D' er ikke en heltalskonstant"
+
+#: cp/decl.c:13799
+msgid "overflow in enumeration values at `%D'"
+msgstr "enum-værdier for store ved '%D'"
+
+#: cp/decl.c:13868
+msgid "return type `%#T' is incomplete"
+msgstr "returtype '%#T' er ufuldstændig"
+
+#: cp/decl.c:13982
+msgid "semicolon missing after declaration of `%#T'"
+msgstr "semikolon mangler efter erklæring af '%#T'"
+
+#: cp/decl.c:14003
msgid "return type for `main' changed to `int'"
-msgstr ""
+msgstr "returtype for 'main' ændret til 'int'"
-#: cp/decl2.c:569
-#, fuzzy, c-format
-msgid "-f%s is no longer supported"
-msgstr "-pipe understøttes ikke."
+#: cp/decl.c:14034
+msgid "`%D' implicitly declared before its definition"
+msgstr "'%s' er underforstået erklæret efter dens definition"
-#: cp/decl2.c:575
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr ""
+#: cp/decl.c:14056 cp/typeck.c:6258
+msgid "`operator=' should return a reference to `*this'"
+msgstr "'operator=' bør returnere en reference til '*this'"
-#: cp/decl2.c:601
-msgid "-fname-mangling-version is no longer supported"
-msgstr ""
+#: cp/decl.c:14316
+msgid "parameter `%D' declared void"
+msgstr "parameteren '%D' erklæret void"
-#: cp/decl2.c:664
-#, fuzzy
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "-pipe understøttes ikke."
+#: cp/decl.c:14804
+msgid "`%D' is already defined in class `%T'"
+msgstr "'%D' er allerede defineret i klassen '%T'"
+
+#: cp/decl.c:15022
+msgid "static member function `%#D' declared with type qualifiers"
+msgstr "statisk medlemsfunktion '%#D' erklæret med typemodifikationer"
-#: cp/decl2.c:1000
+#: cp/decl2.c:153
+#, c-format
+msgid "duplicate type qualifiers in %s declaration"
+msgstr "dobbelte typemodifikationer i %s-erklæring"
+
+#: cp/decl2.c:192
+msgid "template `%#D' instantiated in file without #pragma interface"
+msgstr "skabelon '%#D' instantieret i fil uden #pragma interface"
+
+#: cp/decl2.c:198
+msgid "template `%#D' defined in file without #pragma interface"
+msgstr "skabelon '%#D' defineret i fil uden #pragma interface"
+
+#: cp/decl2.c:365
msgid "name missing for member function"
msgstr "navn mangler for medlemsfunktion"
-#: cp/decl2.c:1061
-msgid "`__alignof__' applied to a bit-field"
-msgstr "'__alignof__' brugt på et bitfelt"
-
#. Something has gone very wrong. Assume we are mistakenly reducing
#. an expression instead of a declaration.
-#: cp/decl2.c:1103
+#: cp/decl2.c:428
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr "fortolkeren kan være faret vild: mangler der en '{' et eller andet sted?"
-#: cp/decl2.c:1134 cp/decl2.c:1148
+#: cp/decl2.c:459 cp/decl2.c:473
msgid "ambiguous conversion for array subscript"
-msgstr "flertydig konvertering af tabelindeks"
+msgstr "tvetydig konvertering af tabelindeks"
+
+#: cp/decl2.c:467
+msgid "invalid types `%T[%T]' for array subscript"
+msgstr "ugyldige typer '%T[%T]' for tabelopslag"
-#: cp/decl2.c:1198
-#, fuzzy
+#: cp/decl2.c:515
+msgid "type `%#T' argument given to `delete', expected pointer"
+msgstr "parameter af typen '%#T' givet til 'delete', forventede henvisning"
+
+#: cp/decl2.c:523
msgid "anachronistic use of array size in vector delete"
-msgstr "ukendt tabelstørrelse i delete"
+msgstr "forældet brug af tabelstørrelse i tabelformen af delete"
-#: cp/decl2.c:1208
+#: cp/decl2.c:533
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
-msgstr "kan ikke slette en funktion; kun henvisninger til objekter er gyldige parametre til 'delete'"
+msgstr "kan ikke udføre delete på en funktion; kun henvisninger til objekter er gyldige som parameter til 'delete'"
+
+#: cp/decl2.c:540
+msgid "deleting `%T' is undefined"
+msgstr "benyttelse af delete på '%T' er ikke defineret"
+
+#: cp/decl2.c:548
+msgid "deleting array `%#D'"
+msgstr "benyttelse af delete på tabellen '%#D'"
+
+#. 14.5.2.2 [temp.mem]
+#.
+#. A local class shall not have member templates.
+#: cp/decl2.c:582
+msgid "invalid declaration of member template `%#D' in local class"
+msgstr "ugyldig erklæring af medlemsskabelon '%#D' i lokal klasse"
+
+#: cp/decl2.c:591
+msgid "invalid use of `virtual' in template declaration of `%#D'"
+msgstr "ugyldig brug af 'virtual' i skabelonserklæring af '%#D'"
+
+#: cp/decl2.c:601 cp/pt.c:2742
+msgid "template declaration of `%#D'"
+msgstr "skabelonserklæring af '%#D'"
+
+#: cp/decl2.c:651
+msgid "Java method '%D' has non-Java return type `%T'"
+msgstr "Java-metoden '%D' har har en returtype '%T' som ikke er fra Java"
+
+#: cp/decl2.c:660
+msgid "Java method '%D' has non-Java parameter type `%T'"
+msgstr "Java-metoden '%D' har har en parametertype '%T' som ikke er fra Java"
-#: cp/decl2.c:1505
+#: cp/decl2.c:746
+msgid "prototype for `%#D' does not match any in class `%T'"
+msgstr "prototypen for '%#D' passer ikke nogen i klassen '%T'"
+
+#: cp/decl2.c:828
+msgid "local class `%#T' shall not have static data member `%#D'"
+msgstr "lokal klasse '%#T' må ikke have det statiske datamedlem '%#D'"
+
+#: cp/decl2.c:836
msgid "initializer invalid for static member with constructor"
msgstr "tildeling af startværdi er ugyldig for statisk medlem med konstruktionsfunktion"
-#: cp/decl2.c:1508
+#: cp/decl2.c:839
msgid "(an out of class initialization is required)"
-msgstr ""
+msgstr "(en klargøring uden for klassens erklæring er nødvendig)"
+
+#: cp/decl2.c:898
+msgid "invalid data member initialization"
+msgstr "ugyldig tildeling af startværdi til datamedlem"
-#: cp/decl2.c:1681
+#: cp/decl2.c:901
+msgid "(use `=' to initialize static data members)"
+msgstr "(brug '=' for at klargøre statiske datamedlemmer)"
+
+#: cp/decl2.c:947
+msgid "member `%D' conflicts with virtual function table field name"
+msgstr "medlemmet '%D' er i konflikt med feltnavn fra den virtuelle funktionstabel"
+
+#: cp/decl2.c:967
+msgid "`%D' is already defined in `%T'"
+msgstr "'%D' er allerede defineret i '%T'"
+
+#: cp/decl2.c:1019
msgid "field initializer is not constant"
msgstr "feltets startværdi er ikke en konstant"
-#: cp/decl2.c:2020
+#: cp/decl2.c:1043
+msgid "`asm' specifiers are not permitted on non-static data members"
+msgstr "'asm'-angivelser er ikke tilladt på ikke-statiske datamedlemmer"
+
+#: cp/decl2.c:1095
+msgid "cannot declare `%D' to be a bit-field type"
+msgstr "kan ikke erklære '%D' til at være en bitfeltstype"
+
+#: cp/decl2.c:1105
+msgid "cannot declare bit-field `%D' with function type"
+msgstr "kan ikke erklære bitfelt '%D' med funktionstype"
+
+#: cp/decl2.c:1112
+msgid "`%D' is already defined in the class %T"
+msgstr "'%D' er allerede defineret i klassen '%T'"
+
+#: cp/decl2.c:1119
+msgid "static member `%D' cannot be a bit-field"
+msgstr "statisk medlem '%D' kan ikke være et bitfelt"
+
+#: cp/decl2.c:1206
+msgid "initializer specified for non-member function `%D'"
+msgstr "startværdi angivet for ikke-medlemsfunktion '%D'"
+
+#: cp/decl2.c:1210
+msgid "invalid initializer for virtual method `%D'"
+msgstr "ugyldig startværdi til virtuel medlemsfunktion '%D'"
+
+#: cp/decl2.c:1324
msgid "anonymous struct not inside named type"
msgstr "anonym struct er ikke inden i en navngiven type"
-#: cp/decl2.c:2119
+#: cp/decl2.c:1420
msgid "namespace-scope anonymous aggregates must be static"
msgstr "anonyme variabler af sammensatte typer i navnerumsvirkefelt skal erklæres static"
-#: cp/decl2.c:2129
-#, fuzzy
+#: cp/decl2.c:1433
msgid "anonymous aggregate with no members"
-msgstr "en anonym union kan ikke have funktionsmedlemmer"
+msgstr "anonym sammensat type uden medlemmer"
+
+#: cp/decl2.c:1502
+msgid "`operator new' must return type `%T'"
+msgstr "'operator new' skal returnere typen '%T'"
+
+#: cp/decl2.c:1510
+msgid "`operator new' takes type `size_t' (`%T') as first parameter"
+msgstr "den første parameter til 'operator new' skal være af typen 'size_t' ('%T')"
+
+#: cp/decl2.c:1537
+msgid "`operator delete' must return type `%T'"
+msgstr "'operator delete' skal returnere typen '%T'"
+
+#: cp/decl2.c:1545
+msgid "`operator delete' takes type `%T' as first parameter"
+msgstr "den første parameter til 'operator delete' skal være af typen '%T'"
#. Overflow occurred. That means there are at least 4 billion
#. initialization functions.
-#: cp/decl2.c:2997
-#, fuzzy
+#: cp/decl2.c:2288
msgid "too many initialization functions required"
-msgstr "for mange parametre til funktionen"
+msgstr "for mange klargøringsfunktioner påkrævet"
+
+#: cp/decl2.c:3011
+msgid "inline function `%D' used but never defined"
+msgstr "indbygget funktion '%D' benyttet, men aldrig defineret"
-#: cp/decl2.c:3807
+#: cp/decl2.c:3131
msgid "use of old-style cast"
-msgstr ""
+msgstr "brug af ældre type typeomtvingning"
+
+#: cp/decl2.c:3856
+msgid "use of `%D' is ambiguous"
+msgstr "brug af '%D' er tvetydigt"
+
+#: cp/decl2.c:3857
+msgid " first declared as `%#D' here"
+msgstr " først erklæret som '%#D' her"
+
+#: cp/decl2.c:3860
+msgid " also declared as `%#D' here"
+msgstr " også erklæret som '%#D' her"
+
+#: cp/decl2.c:3875
+msgid "`%D' denotes an ambiguous type"
+msgstr "'%D' angiver en tvetydig type"
+
+#: cp/decl2.c:3876
+msgid " first type here"
+msgstr " første type her"
+
+#: cp/decl2.c:3877
+msgid " other type here"
+msgstr " anden type her"
+
+#: cp/decl2.c:3978
+msgid "declaration of `%D' not in a namespace surrounding `%D'"
+msgstr "erklæring af '%D' er ikke i et navnerum der omgiver '%D'"
+
+#: cp/decl2.c:4012
+msgid "`%D' should have been declared inside `%D'"
+msgstr "'%D' skulle have været erklæret inden i '%D'"
+
+#: cp/decl2.c:4146
+msgid "`%D' is not a function,"
+msgstr "'%s' er ikke en funktion,"
+
+#: cp/decl2.c:4147
+msgid " conflict with `%D'"
+msgstr " konflikt med '%D'"
+
+#. The parser did not find it, so it's not there.
+#: cp/decl2.c:4467
+msgid "unknown namespace `%D'"
+msgstr "ukendt navnerum '%D'"
+
+#: cp/decl2.c:4501 cp/decl2.c:4788
+msgid "`%T' is not a namespace"
+msgstr "'%T' er ikke et navnerum"
+
+#: cp/decl2.c:4503
+msgid "`%D' is not a namespace"
+msgstr "'%D' er ikke et navnerum"
+
+#: cp/decl2.c:4512
+msgid "a using-declaration cannot specify a template-id. Try `using %D'"
+msgstr "en using-erklæring kan ikke angive en skabelons-id; prøv 'using %D'"
+
+#: cp/decl2.c:4526
+msgid "namespace `%D' not allowed in using-declaration"
+msgstr "navnerum '%D' ikke tilladt i using-erklæring"
+
+#: cp/decl2.c:4555
+msgid "`%D' not declared"
+msgstr "'%D' ikke erklæret"
+
+#. If the OLD_FN was really declared, the
+#. declarations don't match.
+#: cp/decl2.c:4567 cp/decl2.c:4609 cp/decl2.c:4634
+msgid "`%D' is already declared in this scope"
+msgstr "'%D' er allerede erklæret i dette navnerum"
+
+#: cp/decl2.c:4640
+msgid "using declaration `%D' introduced ambiguous type `%T'"
+msgstr "using-erklæring '%D' introducerede tvetydig type '%T'"
+
+#: cp/decl2.c:4734
+msgid "using-declaration for non-member at class scope"
+msgstr "using-erklæring for ikke-medlem ved klassevirkefelt"
+
+#: cp/decl2.c:4740
+msgid "using-declaration for destructor"
+msgstr "using-erklæring for destruktionsfunktion"
+
+#: cp/decl2.c:4746
+msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
+msgstr "en using-erklæring kan ikke angive en skabelons-id; prøv 'using %T::%D'"
+
+#: cp/decl2.c:4782
+msgid "namespace `%T' undeclared"
+msgstr "navnerummet '%T' er ikke erklæret"
+
+#: cp/decl2.c:4811
+msgid "default argument missing for parameter %P of `%+#D'"
+msgstr "standardparameter mangler for parameter %P i '%+#D'"
+
+#: cp/decl2.c:4935
+msgid "extra qualification `%T::' on member `%D' ignored"
+msgstr "ekstra modifikation '%T::' af medlemmet '%D' ignoreret"
+
+#: cp/decl2.c:4939
+msgid "`%T' does not have a class or union named `%D'"
+msgstr "'%T' har ikke en klasse eller en union ved navn '%D'"
+
+#: cp/decl2.c:4957
+msgid "`%T' is not a class or union type"
+msgstr "'%T' er ikke af en klasse- eller union-type"
+
+#: cp/decl2.c:4971
+msgid "template argument is required for `%T'"
+msgstr "skabelonsparameter er påkrævet for '%T'"
-#: cp/error.c:46
-#, fuzzy, c-format
+#: cp/decl2.c:4989
+msgid "declaration of `%D' in `%D' which does not enclose `%D'"
+msgstr "erklæring af '%D' i '%D' som ikke omgiver '%D'"
+
+#: cp/error.c:35
+#, c-format
msgid "`%s' not supported by %s"
-msgstr "-mips%d er ikke understøttet"
+msgstr "'%s' ikke understøttet af %s"
-#: cp/error.c:630
+#: cp/error.c:571
#, c-format
msgid "<anonymous %s>"
-msgstr ""
+msgstr "<anonym %s>"
-#: cp/error.c:891
+#: cp/error.c:810
#, c-format
msgid "(static %s for %s)"
-msgstr ""
+msgstr "(statisk %s for %s)"
-#: cp/error.c:2528
+#: cp/error.c:1503
+#, c-format
+msgid "\\x%x"
+msgstr "\\x%x"
+
+#: cp/error.c:2463
#, c-format
msgid "In %s `%s':"
-msgstr ""
+msgstr "I %s '%s':"
-#: cp/error.c:2583
-#, fuzzy, c-format
+#: cp/error.c:2520
+#, c-format
msgid "%s: In instantiation of `%s':\n"
-msgstr "%s: fandt definitionen af '%s' ved %s(%d)\n"
+msgstr "%s: i instantiering af '%s':\n"
-#: cp/error.c:2607
+#: cp/error.c:2544
#, c-format
msgid "%s:%d: instantiated from `%s'\n"
-msgstr ""
+msgstr "%s:%d: instantieret fra '%s'\n"
-#: cp/error.c:2612
+#: cp/error.c:2549
#, c-format
msgid "%s:%d: instantiated from here\n"
-msgstr ""
+msgstr "%s:%d: instantieret herfra\n"
-#: cp/except.c:258
-#, fuzzy
+#. damn ICE suppression
+#: cp/error.c:2703
+#, c-format
+msgid "unexpected letter `%c' in locate_error\n"
+msgstr "uventet bogstav '%c' i locate_error\n"
+
+#. Can't throw a reference.
+#: cp/except.c:240
+msgid "type `%T' is disallowed in Java `throw' or `catch'"
+msgstr "typen '%T' er ikke tilladt i Java 'throw' eller 'catch'"
+
+#: cp/except.c:251
msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
msgstr "kald til Java 'catch' eller 'throw' mens 'jthrowable' ikke er defineret"
-#: cp/except.c:329
-#, fuzzy
+#. Thrown object must be a Throwable.
+#: cp/except.c:258
+msgid "type `%T' is not derived from `java::lang::Throwable'"
+msgstr "typen '%T' nedarver ikke fra 'java::lang::Throwable'"
+
+#: cp/except.c:322
msgid "mixing C++ and Java catches in a single translation unit"
msgstr "blander C++ og Java 'catch' i én oversættelsesenhed"
-#: cp/except.c:685
+#: cp/except.c:639
+msgid "throwing NULL, which has integral, not pointer type"
+msgstr "kaster NULL som har en heltals-, ikke en henvisningstype"
+
+#: cp/except.c:730
msgid " in thrown expression"
msgstr " i kastet udtryk"
-#: cp/friend.c:423
-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/except.c:856
+msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
+msgstr "udtrykket '%E' med den abstrakte klassetype '%T' kan ikke bruges i throw-udtryk"
-#: cp/g++spec.c:197 java/jvspec.c:357
-#, c-format
-msgid "argument to `%s' missing\n"
-msgstr "en parameter til '%s' mangler\n"
+#: cp/except.c:944
+msgid "exception of type `%T' will be caught"
+msgstr "undtagelse af typen '%T' vil blive fanget"
-#: cp/init.c:313
-msgid "initializer list treated as compound expression"
-msgstr ""
+#: cp/except.c:947
+msgid " by earlier handler for `%T'"
+msgstr " af tidligere håndtering af '%T'"
-#: cp/init.c:428
-msgid " will be re-ordered to match declaration order"
-msgstr ""
+#: cp/except.c:968
+msgid "`...' handler must be the last handler for its try block"
+msgstr "håndteringen '...' skal være den sidste håndtering i try-blokken"
-#: cp/init.c:662
-msgid " will be re-ordered to match inheritance order"
-msgstr ""
+#: cp/friend.c:159
+msgid "`%D' is already a friend of class `%T'"
+msgstr "'%D' er allerede en ven af klassen '%T'"
+
+#: cp/friend.c:161
+msgid "previous friend declaration of `%D'"
+msgstr "tidligere friend-erklæring af '%D'"
+
+#: cp/friend.c:206
+msgid "invalid type `%T' declared `friend'"
+msgstr "ugyldig type '%T' erklæret 'friend'"
+
+#. [temp.friend]
+#. Friend declarations shall not declare partial
+#. specializations.
+#: cp/friend.c:222
+msgid "partial specialization `%T' declared `friend'"
+msgstr "partiel specialisering '%T' erklæret 'friend'"
+
+#: cp/friend.c:231
+msgid "class `%T' is implicitly friends with itself"
+msgstr "klassen '%T' er underforstået ven med sig selv"
+
+#. template <class T> friend typename S<T>::X;
+#: cp/friend.c:249
+msgid "typename type `%#T' declared `friend'"
+msgstr "typename-type '%#T' erklæret 'friend'"
+
+#. template <class T> friend class T;
+#: cp/friend.c:255
+msgid "template parameter type `%T' declared `friend'"
+msgstr "skabelonsparametertypen '%T' erklæret 'friend'"
-#: cp/init.c:1105
-msgid "base class initializer specified, but no base class to initialize"
-msgstr "stamklasse-klargøring angivet, men der er ingen stamklasse at klargøre"
+#. template <class T> friend class A; where A is not a template
+#: cp/friend.c:261
+msgid "`%#T' is not a template"
+msgstr "'%#T' er ikke en skabelon"
-#: cp/init.c:1111
-msgid "initializer for unnamed base class ambiguous"
-msgstr "klargøring af unavngiven stamklasse er flertydig"
+#: cp/friend.c:276
+msgid "`%T' is already a friend of `%T'"
+msgstr "'%T' er allerede en ven af '%T'"
-#: cp/init.c:1136
-msgid "no base class to initialize"
-msgstr "ingen stamklasse at klargøre"
+#: cp/friend.c:374
+msgid "member `%D' declared as friend before type `%T' defined"
+msgstr "medlemmet '%D' erklæret som friend før typen '%T' er defineret"
-#: cp/init.c:1860
+#: cp/friend.c:429
+msgid "friend declaration `%#D' declares a non-template function"
+msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion"
+
+#: cp/friend.c:432
+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 "(hvis dette er hvad du ønsker, så sikr dig at funktionsskabelonen allerede er blevet erklæret og tilføj <> efter funktionsnavnet her) -Wno-non-template-friend deaktiverer denne advarsel"
+
+#: cp/g++spec.c:211 java/jvspec.c:423
+#, c-format
+msgid "argument to `%s' missing\n"
+msgstr "en parameter til '%s' mangler\n"
+
+#: cp/init.c:328
+msgid "`%D' should be initialized in the member initialization list"
+msgstr "'%D' bør blive klargjort i medlemsklargøringslisten"
+
+#: cp/init.c:378
+msgid "default-initialization of `%#D', which has reference type"
+msgstr "standardklargøring af '%#D' som er af en referencetype"
+
+#: cp/init.c:383
+msgid "uninitialized reference member `%D'"
+msgstr "referencemedlem '%D' uden startværdi"
+
+#: cp/init.c:391
+msgid "initializer list treated as compound expression"
+msgstr "klargøringsliste behandlet som et sammensat udtryk"
+
+#: cp/init.c:532
+msgid "`%D' will be initialized after"
+msgstr "'%D' vil blive klargjort efter"
+
+#: cp/init.c:535
+msgid "base `%T' will be initialized after"
+msgstr "stamklasse '%T' vil blive klargjort efter"
+
+#: cp/init.c:538
+msgid " `%#D'"
+msgstr " '%#D'"
+
+#: cp/init.c:540
+msgid " base `%T'"
+msgstr " stamklasse '%T'"
+
+#: cp/init.c:558
+msgid "multiple initializations given for base `%T'"
+msgstr "flere startværdier angivet for stamklassen '%T'"
+
+#: cp/init.c:625
+msgid "initializations for multiple members of `%T'"
+msgstr "startværdier for flere medlemmer af '%T'"
+
+#: cp/init.c:682
+msgid "base class `%#T' should be explicitly initialized in the copy constructor"
+msgstr "stamklassen '%#T' bør eksplicit blive klargjort i kopikonstruktionsfunktionen"
+
+#: cp/init.c:928
+msgid "class `%T' does not have any field named `%D'"
+msgstr "klassen '%T' har ikke et felt ved navn '%D'"
+
+#: cp/init.c:934
+msgid "field `%#D' is static; the only point of initialization is its definition"
+msgstr "feltet '%#D' er statisk; det eneste sted det kan klargøres er ved dets definition"
+
+#: cp/init.c:967
+msgid "unnamed initializer for `%T', which has no base classes"
+msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser"
+
+#: cp/init.c:974
+msgid "unnamed initializer for `%T', which uses multiple inheritance"
+msgstr "unavngiven klargøring af '%T' som benytter multipel nedarvning"
+
+#: cp/init.c:1009
+msgid "type `%D' is not a direct or virtual base of `%T'"
+msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'"
+
+#: cp/init.c:1012
+msgid "type `%D' is not a direct base of `%T'"
+msgstr "typen '%D' er ikke en direkte stamklasse til '%T'"
+
+#. Handle bad initializers like:
+#. class COMPLEX {
+#. public:
+#. double re, im;
+#. COMPLEX(double r = 0.0, double i = 0.0) {re = r; im = i;};
+#. ~COMPLEX() {};
+#. };
+#.
+#. int main(int argc, char **argv) {
+#. COMPLEX zees(1.0, 0.0)[10];
+#. }
+#.
+#: cp/init.c:1106
+msgid "bad array initializer"
+msgstr "ugyldig tildeling af startværdi til tabel"
+
+#: cp/init.c:1313
+msgid "`%T' is not an aggregate type"
+msgstr "'%T' er ikke en sammensat type"
+
+#: cp/init.c:1336
+msgid "`%T' fails to be an aggregate typedef"
+msgstr "'%T' er ikke en sammensat typedef"
+
+#: cp/init.c:1345
+msgid "type `%T' is of non-aggregate type"
+msgstr "typen '%T' er ikke en sammensat type"
+
+#: cp/init.c:1448
+msgid "cannot call destructor `%T::~%T' without object"
+msgstr "kan ikke kalde destruktionsfunktion '%T::~%T' uden objekt"
+
+#: cp/init.c:1492
+msgid "invalid use of non-static field `%D'"
+msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+#. We can get here when processing a bad default
+#. argument, like:
+#. struct S { int a; void f(int i = a); }
+#: cp/init.c:1501 cp/method.c:160
+msgid "invalid use of member `%D'"
+msgstr "ugyldig brug af medlemmet '%D'"
+
+#: cp/init.c:1511
+msgid "no method `%T::%D'"
+msgstr "ingen metode ved navn '%T::%D'"
+
+#: cp/init.c:1604
+msgid "incomplete type `%T' does not have member `%D'"
+msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'"
+
+#: cp/init.c:1678
+msgid "`%D' is not a member of type `%T'"
+msgstr "'%D' er ikke et medlem af typen '%T'"
+
+#: cp/init.c:1697
+msgid "invalid pointer to bit-field `%D'"
+msgstr "ugyldig henvisning til bitfeltet '%D'"
+
+#: cp/init.c:1736
msgid "object missing in use of pointer-to-member construct"
-msgstr "der mangler et objekt i henvisning til medlem-konstruktionen"
+msgstr "der mangler et objekt i henvisning til medlem-konstruktion"
-#: cp/init.c:1902 cp/typeck.c:3186 cp/typeck.c:3287
+#: cp/init.c:1776
+msgid "member `%D' is non-static but referenced as a static member"
+msgstr "medlemmet '%D' er ikke statisk, men refereres som et statisk medlem"
+
+#: cp/init.c:1778 cp/typeck.c:2823 cp/typeck.c:2927
msgid "at this point in file"
msgstr "ved dette sted i filen"
-#: cp/init.c:2076
+#: cp/init.c:1815
+#, c-format
+msgid "object missing in `%E'"
+msgstr "objekt mangler i '%E'"
+
+#: cp/init.c:1946
msgid "new of array type fails to specify size"
msgstr "new virkende på en tabeltype mangler at angive størrelsen"
-#: cp/init.c:2087
-#, fuzzy
+#: cp/init.c:1957
msgid "size in array new must have integral type"
-msgstr "størrelsen af tabel '%s' er ikke af en heltalstype"
+msgstr "størrelse i tabel-new skal være en heltalstype"
-#: cp/init.c:2093
+#: cp/init.c:1963
msgid "zero size array reserves no space"
-msgstr ""
+msgstr "tabel med størrelsen nul reserverer ingen plads"
-#: cp/init.c:2158
+#: cp/init.c:2028
msgid "new cannot be applied to a reference type"
msgstr "new kan ikke bruges på en referencetype"
-#: cp/init.c:2164
+#: cp/init.c:2034
msgid "new cannot be applied to a function type"
msgstr "new kan ikke bruges på en funktionstype"
-#: cp/init.c:2211
+#: cp/init.c:2081
msgid "call to Java constructor, while `jclass' undefined"
msgstr "kald af Java-konstruktionsfunktion mens 'jclass' ikke er defineret"
-#: cp/init.c:2227
-#, fuzzy
-msgid "Can't find class$"
-msgstr "[kan ikke finde %s]"
+#: cp/init.c:2097
+msgid "can't find class$"
+msgstr "kan ikke finde class$"
-#: cp/init.c:2340
+#: cp/init.c:2211
msgid "invalid type `void' for new"
msgstr "ugyldig type 'void' til new"
-#: cp/init.c:2394
-#, fuzzy, c-format
+#: cp/init.c:2263
+#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr "kald af Java-konstruktionsfunktion mens '%s' ikke er defineret"
-#: cp/init.c:2522 cp/typeck2.c:381 cp/typeck2.c:1207
+#: cp/init.c:2371
+msgid "ISO C++ forbids initialization in array new"
+msgstr "ISO C++ forbyder startværdier i tabel-new"
+
+#: cp/init.c:2393 cp/typeck2.c:366 cp/typeck2.c:1207
msgid "initializer list being treated as compound expression"
-msgstr ""
+msgstr "klargøringsliste bliver behandlet som et sammensat udtryk"
-#: cp/init.c:2528
-#, fuzzy
+#: cp/init.c:2399
msgid "ISO C++ forbids aggregate initializer to new"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "ISO C++ forbyder sammensat startværditildeling ved new"
-#: cp/init.c:2967
+#: cp/init.c:2487
+msgid "uninitialized const in `new' of `%#T'"
+msgstr "konstant uden startværdi i 'new' af '%#T'"
+
+#: cp/init.c:2862
msgid "initializer ends prematurely"
msgstr "startværdien slutter for tidligt"
-#: cp/init.c:3037
-#, fuzzy
+#: cp/init.c:2932
msgid "cannot initialize multi-dimensional array with initializer"
-msgstr "kan ikke tildele tabeller startværdier med denne syntaks"
+msgstr "kan ikke klargøre multidimensional tabel med startværdi"
-#: cp/init.c:3215
+#: cp/init.c:3122
msgid "unknown array size in delete"
msgstr "ukendt tabelstørrelse i delete"
-#: cp/init.c:3440
+#: cp/init.c:3387
msgid "type to vector delete is neither pointer or array type"
msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype"
-#: cp/lang-options.h:29
-msgid "Do not obey access control semantics"
-msgstr ""
-
-#: cp/lang-options.h:31
-msgid "Change when template instances are emitted"
-msgstr ""
-
-#: cp/lang-options.h:36
-msgid "Check the return value of new"
-msgstr ""
-
-#: cp/lang-options.h:39
-msgid "Reduce size of object files"
-msgstr ""
-
-#: cp/lang-options.h:43
-msgid "Make string literals `char[]' instead of `const char[]'"
-msgstr ""
-
-#: cp/lang-options.h:46
-msgid "Dump the entire translation unit to a file"
-msgstr ""
-
-#: cp/lang-options.h:48
-msgid "Do not inline member functions by default"
-msgstr ""
-
-#: cp/lang-options.h:51
-#, fuzzy
-msgid "Do not generate run time type descriptor information"
-msgstr "ikke tilstrækkelig information om typen"
-
-#: cp/lang-options.h:56
-#, fuzzy
-msgid "Do not generate code to check exception specifications"
-msgstr "Justér ikke strengoperationernes destination"
-
-#: cp/lang-options.h:61
-msgid "Scope of for-init-statement vars extends outside"
-msgstr ""
-
-#: cp/lang-options.h:64
-msgid "Do not recognise GNU defined keywords"
-msgstr ""
-
-#: cp/lang-options.h:69
-msgid "Do not treat the namespace `std' as a normal namespace"
-msgstr ""
-
-#: cp/lang-options.h:71
-msgid "Enable support for huge objects"
-msgstr ""
-
-#: cp/lang-options.h:75
-#, fuzzy
-msgid "Export functions even if they can be inlined"
-msgstr "funktioner der bruger setjmp, kan ikke indbygges"
-
-#: cp/lang-options.h:78
-msgid "Only emit explicit template instatiations"
-msgstr ""
-
-#: cp/lang-options.h:81
-msgid "Only emit explicit instatiations of inline templates"
-msgstr ""
-
-#: cp/lang-options.h:87
-msgid "Don't pedwarn about uses of Microsoft extensions"
-msgstr ""
-
-#: cp/lang-options.h:90
-msgid "Recognise and/bitand/bitor/compl/not/or/xor"
-msgstr ""
-
-#: cp/lang-options.h:94
-msgid "Disable optional diagnostics"
-msgstr ""
-
-#: cp/lang-options.h:96
-msgid "Downgrade conformance errors to warnings"
-msgstr ""
-
-#: cp/lang-options.h:99
-msgid "Enable automatic template instantiation"
-msgstr ""
-
-#: cp/lang-options.h:104
-msgid "Display statistics accumulated during compilation"
-msgstr ""
-
-#: cp/lang-options.h:107
-msgid "Specify maximum template instantiation depth"
-msgstr ""
-
-#: cp/lang-options.h:109
-msgid "Use __cxa_atexit to register destructors."
-msgstr ""
-
-#: cp/lang-options.h:112
-msgid "Discard unused virtual functions"
-msgstr ""
-
-#: cp/lang-options.h:115
-msgid "Implement vtables using thunks"
-msgstr ""
-
-#: cp/lang-options.h:118
-msgid "Emit common-like symbols as weak symbols"
-msgstr ""
-
-#: cp/lang-options.h:121
-msgid "Emit cross referencing information"
-msgstr ""
-
-#: cp/lang-options.h:125
-msgid "Warn about inconsistent return types"
-msgstr ""
-
-#: cp/lang-options.h:128
-msgid "Warn about overloaded virtual function names"
-msgstr ""
-
-#: cp/lang-options.h:132
-msgid "Don't warn when all ctors/dtors are private"
-msgstr ""
-
-#: cp/lang-options.h:134
-msgid "Warn about non virtual destructors"
-msgstr ""
-
-#: cp/lang-options.h:137
-#, fuzzy
-msgid "Warn when a function is declared extern, then inline"
-msgstr "indlejret funktion '%s' er erklæret 'extern'"
-
-#: cp/lang-options.h:140
-msgid "Warn when the compiler reorders code"
-msgstr ""
-
-#: cp/lang-options.h:143
-msgid "Warn when synthesis behaviour differs from Cfront"
-msgstr ""
-
-#: cp/lang-options.h:147
-#, fuzzy
-msgid "Don't warn when type converting pointers to member functions"
-msgstr " i henvisning til medlemsfunktion-omdannelse"
-
-#: cp/lang-options.h:149
-msgid "Warn about violations of Effective C++ style rules"
-msgstr ""
-
-#: cp/lang-options.h:152
-msgid "Warn when overload promotes from unsigned to signed"
-msgstr ""
-
-#: cp/lang-options.h:155
-msgid "Warn if a C style cast is used in a program"
-msgstr ""
-
-#: cp/lang-options.h:159
-msgid "Don't warn when non-templatized friend functions are declared within a template"
-msgstr ""
-
-#: cp/lang-options.h:162
-msgid "Don't announce deprecation of compiler features"
-msgstr ""
-
-#: cp/lex.c:148
+#: cp/lex.c:136
msgid "type name expected before `*'"
msgstr "der forventedes et typenavn før '*'"
-#: cp/lex.c:170
+#: cp/lex.c:158
msgid "cannot declare references to references"
msgstr "kan ikke erklære referencer til referencer"
-#: cp/lex.c:175
+#: cp/lex.c:163
msgid "cannot declare pointers to references"
msgstr "kan ikke erklære henvisninger til referencer"
-#: cp/lex.c:179
+#: cp/lex.c:167
msgid "type name expected before `&'"
msgstr "der forventedes et typenavn før '&'"
-#: cp/lex.c:1018
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
-msgstr "semikolon mangler efter %s erklæringen"
+msgstr "semikolon mangler efter %s-erklæring"
+
+#: cp/lex.c:897
+msgid "semicolon missing after declaration of `%T'"
+msgstr "semikolon mangler efter erklæring af '%T'"
-#: cp/lex.c:1069
-#, fuzzy, c-format
+#: cp/lex.c:945
+#, c-format
msgid "junk at end of #pragma %s"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen 'af #pragma %s'"
-#: cp/lex.c:1076
-#, fuzzy, c-format
+#: cp/lex.c:952
+#, c-format
msgid "invalid #pragma %s"
-msgstr "ugyldig #pragma-enhed"
+msgstr "ugyldig #pragma %s"
-#: cp/lex.c:1166
+#: cp/lex.c:961
+msgid "#pragma vtable no longer supported"
+msgstr "'#pragma vtable' understøttes ikke længere"
+
+#: cp/lex.c:1038
#, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr "'#pragma implementation' til %s optræder efter filen er inkluderet"
-#: cp/lex.c:1191
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
-msgstr ""
+msgstr "ragelse i slutningen af #pragma GCC java_exceptions"
+
+#: cp/lex.c:1107
+msgid "`%D' not defined"
+msgstr "'%D' er ikke defineret"
+
+#: cp/lex.c:1110
+msgid "`%D' was not declared in this scope"
+msgstr "'%D' blev ikke erklæret i dette virkefelt"
-#: cp/lex.c:1292
+#: cp/lex.c:1118
+msgid "`%D' undeclared (first use this function)"
+msgstr "'%D' er ikke erklæret (først benyttet i denne funktion)"
+
+# dækkende, og pænere end original i praktisk brug
+#: cp/lex.c:1122
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr "(et kaldenavn der ikke er erklæret, rapporteres kun én gang per funktion)"
-#: cp/lex.c:1315
-#, fuzzy, c-format
-msgid "name lookup of `%s' changed"
-msgstr "opslaget af '%s' er ændret på grund af ISO definitionen af 'for'-virkefeltet"
-
-#: cp/lex.c:1329 cp/lex.c:1336
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr "opslaget af '%s' er ændret på grund af ISO definitionen af 'for'-virkefeltet"
+#: cp/lex.c:1242
+msgid "`::%D' undeclared (first use here)"
+msgstr "'::%D' er ikke erklæret (først benyttet her)"
-#: cp/mangle.c:1877
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
-msgstr ""
+msgstr "skabelonsparametre med reelle værdi ved krydsoversættelse"
-#: cp/method.c:173
-#, fuzzy
-msgid "methods cannot be converted to function pointers"
-msgstr "new kan ikke bruges på en funktionstype"
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
+msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC"
+
+#: cp/mangle.c:2617
+msgid "due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name to two different types"
+msgstr "pga. en fejl i G++ 3.2-ABI'en har G++ tildelt det samme sammensatte navn til det to forskellige typer"
+
+#: cp/method.c:154
+msgid "invalid use of member `%D' in static member function"
+msgstr "ugyldig brug af medlemmet '%D' i statisk medlemsfunktion"
+
+#: cp/method.c:216
+msgid "use of namespace `%D' as expression"
+msgstr "brug af navnerummet '%D' som udtryk"
-#: cp/method.c:178
+#: cp/method.c:221
+msgid "use of class template `%T' as expression"
+msgstr "brug af klasseskabelonen '%T' som udtryk"
+
+#: cp/method.c:234
#, c-format
-msgid "ambiguous request for method pointer `%s'"
-msgstr "flertydig forespørgsel efter medlemsfunktionshenvisningen '%s'"
+msgid "use of %s from containing function"
+msgstr "brug af %s fra indeholdende funktion"
-#: cp/parse.y:670
-msgid "invalid default template argument"
-msgstr "ugyldig standardparameter i skabelon"
+#: cp/method.c:237
+msgid " `%#D' declared here"
+msgstr " '%#D' erklæret her"
-#: cp/parse.y:879
-#, fuzzy
-msgid "no base or member initializers given following ':'"
-msgstr "ingen stamklasseklargøringer er angivet efter ':'"
+#: cp/method.c:255
+msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
+msgstr "forespørgsel efter medlemmet '%D' er tvetydigt i det multiple nedarvningsnet"
-#: cp/parse.y:892
-msgid "base initializers not allowed for non-member functions"
-msgstr "stamklasseklargøringer er ikke tilladt for ikke-medlemsfunktioner"
+#: cp/method.c:458
+msgid "generic thunk code fails for method `%#D' which uses `...'"
+msgstr "generel thunk-kode mislykkes for metoden '%#D' som bruger '...'"
-#: cp/parse.y:894
-msgid "only constructors take base initializers"
-msgstr "kun konstruktionsfunktioner har stamklasseklargøringer"
+#: cp/method.c:697
+msgid "non-static const member `%#D', can't use default assignment operator"
+msgstr "ikke-statisk konstant medlem '%#D' kan ikke bruge standardtildelingsoperatoren"
+
+#: cp/method.c:702
+msgid "non-static reference member `%#D', can't use default assignment operator"
+msgstr "ikke-statisk referencemedlem '%#D' kan ikke bruge standardtildelingsoperatoren"
+
+#: parse.y:261
+msgid "`%s' tag used in naming `%#T'"
+msgstr "'%s'-mærke benyttet i navngivning af '%#T'"
+
+#: parse.y:541
+msgid "keyword `export' not implemented, and will be ignored"
+msgstr "det reserverede ord 'export' er ikke implementeret og vil blive ignoreret"
+
+#: parse.y:645
+msgid "use of linkage spec `%D' is different from previous spec `%D'"
+msgstr "brug af kædningsangivelse '%D' er forskellig fra den tidligere angivelse '%D'"
+
+#: parse.y:942
+msgid "no base or member initializers given following ':'"
+msgstr "ingen stamklasse- eller medlemsklargøringer er angivet efter ':'"
-#: cp/parse.y:927 cp/parse.y:933
-#, fuzzy
+#: parse.y:983
msgid "anachronistic old style base class initializer"
-msgstr "ingen stamklasse at klargøre"
+msgstr "forældet stamklasseklargøring"
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: cp/parse.y:1055
+#: parse.y:1116
msgid "`>>' should be `> >' in template class name"
-msgstr ""
+msgstr "'>>' skulle have været '> >' i skabelonsklassenavn"
+
+#: parse.y:1154
+msgid "use of template qualifier outside template"
+msgstr "brug af skabelonsmodifikation uden for skabelon"
-#: cp/parse.y:1112 cp/parse.y:1121
+#: parse.y:1183 parse.y:1192
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr "ISO C++ forbyder en tom betingelse til '%s'"
-#: cp/parse.y:1216
-msgid "ISO C++ forbids `&&'"
-msgstr ""
+#: parse.y:1215
+msgid "definition of class `%T' in condition"
+msgstr "definition af klassen '%T' i betingelse"
-#: cp/parse.y:1300
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr ""
+#: parse.y:1217
+msgid "definition of enum `%T' in condition"
+msgstr "definition af enum '%T' i betingelse"
+
+#: parse.y:1228
+msgid "definition of array `%#D' in condition"
+msgstr "definition af tabel '%#D' i betingelse"
-#: cp/parse.y:1331
-#, fuzzy
+#: parse.y:1341
+msgid "old style placement syntax, use () instead"
+msgstr "forældet placeringssyntaks, brug () i stedet"
+
+#: parse.y:1352
+msgid "`%T' is not a valid expression"
+msgstr "'%T' er ikke et gyldigt udtryk"
+
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1359
+msgid "initialization of new expression with `='"
+msgstr "tildeling af startværdi til new-udtryk med '='"
+
+#: parse.y:1385
msgid "ISO C++ forbids compound literals"
-msgstr "ISO C++ forbyder en tom betingelse til '%s'"
+msgstr "ISO C++ forbyder sammensatte konstanter"
-#: cp/parse.y:1566
+#: parse.y:1632
msgid "ISO C++ forbids braced-groups within expressions"
-msgstr ""
+msgstr "ISO C++ forbyder krøllet parantes-grupper inden i udtryk"
-#: cp/parse.y:1972 cp/parse.y:1987
+#: parse.y:2036 parse.y:2051
msgid "sigof type specifier"
-msgstr ""
+msgstr "sigof-typeangivelse"
-#: cp/parse.y:1977
+#: parse.y:2041
msgid "`sigof' applied to non-aggregate expression"
msgstr "'sigof' benyttet på et udtryk der ikke er af en sammensat type"
-#: cp/parse.y:1992
+#: parse.y:2056
msgid "`sigof' applied to non-aggregate type"
msgstr "'sigof' benyttet på en type der ikke er sammensat"
-#: cp/parse.y:2332
+#: parse.y:2322
+msgid "using `typename' outside of template"
+msgstr "bruger 'typename' uden for en skabelon"
+
+#: parse.y:2392
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr "lagringsklasseangivelsen '%s' er ikke tilladt efter struct eller class"
-#: cp/parse.y:2334
+#: parse.y:2394
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr "typeangivelsen '%s' er ikke tilladt efter struct eller class"
-#: cp/parse.y:2336
+#: parse.y:2396
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr "typemodifikationen '%s' er ikke tilladt efter struct eller class"
-#: cp/parse.y:2338
+#: parse.y:2398
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr "der er hverken en krop eller et semikolon mellem to class, struct eller union-erklæringer"
-#: cp/parse.y:2503
+#: parse.y:2538
+msgid "no bases given following `:'"
+msgstr "ingen stamklasse er angivet efter ':'"
+
+#: parse.y:2569 parse.y:2584
+msgid "`%D' access"
+msgstr "'%D'-tilgang"
+
+#: parse.y:2574
msgid "multiple access specifiers"
msgstr "mere end én tilgangsangivelse"
-#: cp/parse.y:2521
+#: parse.y:2592
msgid "multiple `virtual' specifiers"
msgstr "mere end én 'virtual'-angivelse"
-#: cp/parse.y:2556
+#: parse.y:2629
msgid "missing ';' before right brace"
msgstr "der mangler et semikolon før en højre krøllet parantes"
-#: cp/parse.y:2779
+#: parse.y:2850
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
-msgstr ""
+msgstr "ISO C++ forbyder tabeldimensioner med parantetiseret type i new"
-#: cp/parse.y:3288
-#, fuzzy
+#: parse.y:3137 parse.y:3157 parse.y:3166 parse.y:3195
+msgid "`%T' is not a class or namespace"
+msgstr "'%T' er ikke en klasse eller et navnerum"
+
+#: parse.y:3362
msgid "ISO C++ forbids label declarations"
-msgstr "ISO C++ forbyder en tom betingelse til '%s'"
+msgstr "ISO C++ forbyder etiketerklæringer"
-#: cp/parse.y:3450
-#, fuzzy
+#: parse.y:3522
msgid "ISO C++ forbids computed gotos"
-msgstr "ISO C++ forbyder en tom betingelse til '%s'"
+msgstr "ISO C++ forbyder beregnede goto'er"
-#: cp/parse.y:3458
+#: parse.y:3530
msgid "label must be followed by statement"
msgstr "etiketten skal efterfølges af en sætning"
-#: cp/parse.y:3557
-#, fuzzy
+#: parse.y:3575
+msgid "must have at least one catch per try block"
+msgstr "skal have mindst én catch pr. try-blok"
+
+#: parse.y:3635
msgid "ISO C++ forbids compound statements inside for initializations"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgstr "ISO C++ forbyder sammensatte sætninger inden i 'for'-klargøringer"
#. This helps us recover from really nasty
#. parse errors, for example, a missing right
#. parenthesis.
-#: cp/parse.y:3640 cp/parse.y:3650
+#: parse.y:3722 parse.y:3732
msgid "possibly missing ')'"
msgstr "muligvis mangler en ')'"
-#: cp/parse.y:3747 cp/parse.y:3752
+#: parse.y:3825
msgid "type specifier omitted for parameter"
msgstr "typeangivelsen er ikke angivet for parameteren"
-#: cp/pt.c:6316
-msgid "creating array with size zero"
-msgstr ""
-
-#: cp/pt.c:6830
-#, fuzzy, c-format
-msgid "use of `%s' in template"
-msgstr "størrelsen af tabel '%s' er negativ"
-
-#: cp/pt.c:8036
-msgid "incomplete type unification"
-msgstr "ufuldstændig typeforening"
-
-#: cp/pt.c:8966
-#, fuzzy, c-format
-msgid "use of `%s' in template type unification"
-msgstr "ufuldstændig typeforening"
-
-#: cp/repo.c:272
-msgid "-frepo must be used with -c"
-msgstr ""
-
-#: cp/repo.c:366
+#: parse.y:3834
#, c-format
-msgid "mysterious repository information in %s"
-msgstr "mystisk opbevaringsstedinformation i '%s'"
-
-#: cp/repo.c:381
-#, c-format
-msgid "can't create repository information file `%s'"
-msgstr "kan ikke oprette opbevaringsstedinformationsfilen '%s'"
-
-#: cp/rtti.c:224
-msgid "taking dynamic typeid of object with -fno-rtti"
-msgstr "forsøg på at finde den dynamiske typeid af et objekt med -fno-rtti"
-
-#: cp/rtti.c:260
-msgid "cannot use typeid with -fno-rtti"
-msgstr "kan ikke bruge typeid med -fno-rtti"
-
-#: cp/rtti.c:266 cp/rtti.c:415
-msgid "must #include <typeinfo> before using typeid"
-msgstr "'#include <typeinfo>' er nødvendig før typeid kan benyttes"
-
-#: cp/search.c:1961
-msgid "adjusting pointers for covariant returns"
-msgstr ""
-
-#. This shouldn't happen, I don't want errors!
-#: cp/search.c:2469
-msgid "recoverable compiler error, fixups for virtual function"
-msgstr ""
+msgid "`%E' is not a type, use `typename %E' to make it one"
+msgstr "'%E' er ikke en type, benyt 'typename %E' for at gøre den til en"
-#: cp/semantics.c:1026
-#, fuzzy
-msgid "ISO C++ does not permit named return values"
-msgstr "ISO C tillader ikke navngivne variabel parameterliste-makroer"
-
-#: cp/semantics.c:1043
-#, fuzzy
-msgid "can't redefine default return value for constructors"
-msgstr "returnerer en værdi fra en konstruktionsfunktion"
-
-#: cp/semantics.c:1112
-msgid " will be re-ordered to precede member initializations"
-msgstr ""
-
-#: cp/semantics.c:1385
-#, fuzzy
-msgid "`this' is unavailable for static member functions"
-msgstr "destruktionsfunktionen kan ikke være en statisk medlemsfunktion"
-
-#: cp/semantics.c:1391
-#, fuzzy
-msgid "invalid use of `this' in non-member function"
-msgstr "ugyldig brug af '%s' på henvisning til medlem"
+#: parse.y:3836
+msgid "no type `%D' in `%T'"
+msgstr "ingen type '%D' i '%T'"
-#: cp/semantics.c:1393
-#, fuzzy
-msgid "invalid use of `this' at top level"
-msgstr "ugyldig brug af '%s' på henvisning til medlem"
-
-#: cp/semantics.c:1678
-#, fuzzy
-msgid "template type parameters must use the keyword `class' or `typename'"
-msgstr " en skabelonstypeparameter skal begynde med 'class' eller 'typename'"
-
-#: cp/spew.c:249
+#: parse.y:3839
#, c-format
-msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
-msgstr ""
-
-#: cp/spew.c:357
-msgid "parse error"
-msgstr "tolkningsfejl"
-
-#: cp/spew.c:1023 cp/spew.c:1295
-msgid "parse error at end of saved function text"
-msgstr "tolkningsfejl ved slutningen af gemt funktionstekst"
+msgid "type specifier omitted for parameter `%E'"
+msgstr "typeangivelse udeladt for parameteren '%E'"
-#: cp/spew.c:1065
-msgid "parse error in method specification"
-msgstr "tolkningsfejl i medlemsfunktionsangivelsen"
+#: parse.y:3847
+msgid "'%D' is used as a type, but is not defined as a type."
+msgstr "'%D' benyttes som en type, men er ikke defineret som en type"
-#: cp/spew.c:1107
-msgid "function body for constructor missing"
-msgstr "kroppen til konstruktionsfunktionen mangler"
+#: cp/pt.c:284
+msgid "data member `%D' cannot be a member template"
+msgstr "datamedlem '%D' kan ikke være en medlemsskabelon"
-#: cp/spew.c:1500
-#, c-format
-msgid "%s before `%s'"
-msgstr "%s før '%s'"
+#: cp/pt.c:296
+msgid "invalid member template declaration `%D'"
+msgstr "ugyldig medlemsskabelonerklæring '%D'"
-#: cp/spew.c:1502
-#, fuzzy, c-format
-msgid "%s before `%c'"
-msgstr "%s før '%s'"
+#: cp/pt.c:691
+msgid "explicit specialization in non-namespace scope `%D'"
+msgstr "eksplicit specialisering i virkefeltet '%D' der ikke er et navnerum"
-#: cp/spew.c:1504
-#, fuzzy, c-format
-msgid "%s before `\\%o'"
-msgstr "%s før '%s'"
+#: cp/pt.c:703
+msgid "enclosing class templates are not explicitly specialized"
+msgstr "omgivende klasseskabeloner er ikke eksplicit specialiserede"
-#: cp/spew.c:1507
-#, fuzzy, c-format
-msgid "%s before `%s' token"
-msgstr "%s før '%s'"
+#: cp/pt.c:792 cp/pt.c:833
+msgid "specializing `%#T' in different namespace"
+msgstr "specialiserer '%#T' i andet navnerum"
-#: cp/tree.c:216
-#, c-format
-msgid "non-lvalue in %s"
-msgstr "ikke venstreværdi i %s"
+# hænger sammen med foregående tekst, derfor ikke 'fra'
+#: cp/pt.c:793 cp/pt.c:834
+msgid " from definition of `%#D'"
+msgstr " i forhold til definition af '%#D'"
-#: cp/tree.c:2232
-msgid "`java_interface' attribute can only be applied to Java class definitions"
-msgstr ""
+#: cp/pt.c:801
+msgid "specialization of `%T' after instantiation"
+msgstr "specialisering af '%T' efter instantiering"
-#: cp/tree.c:2242
-msgid "`com_interface' only supported with -fvtable-thunks"
-msgstr "'com_interface' understøttes kun med -fvtable-thunks"
+#: cp/pt.c:848
+msgid "specialization `%T' after instantiation `%T'"
+msgstr "specialisering af '%T' efter instantiering '%T'"
-#: cp/tree.c:2251
-msgid "`com_interface' attribute can only be applied to class definitions"
-msgstr ""
+#: cp/pt.c:860
+msgid "explicit specialization of non-template `%T'"
+msgstr "eksplicit specialisering af '%T' der ikke er en skabelon"
-#: cp/tree.c:2267
-msgid "requested init_priority is not an integer constant"
-msgstr "den udbedte init_priority er ikke en heltalskonstant"
+#: cp/pt.c:992
+msgid "specialization of %D after instantiation"
+msgstr "specialisering af '%D' efter instantiering"
-#: cp/tree.c:2287
-msgid "can only use init_priority attribute on file-scope definitions of objects of class type"
-msgstr "kan kun bruge init_priority-egenskaben på filvirkefeltsdefinitioner af objekter af class-type"
+#: cp/pt.c:1095
+msgid "%s %+#D"
+msgstr "%s %+#D"
-#: cp/tree.c:2293
-msgid "requested init_priority is out of range"
-msgstr "den udbedte init_priority er uden for det gyldige interval"
+#: cp/pt.c:1146
+msgid "`%D' is not a function template"
+msgstr "'%D' er ikke en funktionsskabelon"
-#: cp/tree.c:2302
-#, fuzzy
-msgid "requested init_priority is reserved for internal use"
-msgstr "den udbedte init_priority er uden for det gyldige interval"
+#: cp/pt.c:1285
+msgid "template-id `%D' for `%+D' does not match any template declaration"
+msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring"
-#: cp/tree.c:2312
-#, fuzzy
-msgid "init_priority attribute is not supported on this platform"
-msgstr "integrerede kommatalskonstanter er ikke understøttede på denne vært"
+#: cp/pt.c:1293
+msgid "ambiguous template specialization `%D' for `%+D'"
+msgstr "tvetydig skabelonsspecialisering '%D' for '%+D'"
-#: cp/typeck.c:483
-#, fuzzy, c-format
-msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+#. This case handles bogus declarations like template <>
+#. template <class T> void f<int>();
+#: cp/pt.c:1520 cp/pt.c:1594
+msgid "template-id `%D' in declaration of primary template"
+msgstr "skabelons-id '%D' i erklæring af primær skabelon"
-#: cp/typeck.c:1558
-#, fuzzy
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:1533
+msgid "template parameter list used in explicit instantiation"
+msgstr "skabelonsparameterliste benyttet i eksplicit instantiering"
-#: cp/typeck.c:1564
-#, fuzzy
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:1539
+msgid "definition provided for explicit instantiation"
+msgstr "definition angivet for eksplicit instantiering"
-#: cp/typeck.c:1570
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr ""
+#: cp/pt.c:1545
+msgid "too many template parameter lists in declaration of `%D'"
+msgstr "for mange skabelonsparameterlister angivet i erklæring af '%D'"
-#: cp/typeck.c:1619
-msgid "sizeof applied to a bit-field"
-msgstr "sizeof benyttet på et bitfelt"
+#: cp/pt.c:1561
+msgid "too few template parameter lists in declaration of `%D'"
+msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'"
-#: cp/typeck.c:1622
-#, fuzzy
-msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:1578
+msgid "explicit specialization not preceded by `template <>'"
+msgstr "eksplicit specialisering følger ikke efter 'template <>'"
-#: cp/typeck.c:2235
-msgid "invalid reference to NULL ptr, use ptr-to-member instead"
-msgstr "ugyldig reference til NULL-henvisning, benyt en henvisning til medlem i stedet"
+#: cp/pt.c:1591
+msgid "partial specialization `%D' of function template"
+msgstr "partiel specialisering '%D' af funktionsskabelon"
-#: cp/typeck.c:2398
-#, c-format
-msgid "invalid use of `%s' on pointer to member"
-msgstr "ugyldig brug af '%s' på henvisning til medlem"
+#: cp/pt.c:1623
+msgid "default argument specified in explicit specialization"
+msgstr "standardparameter angivet i eksplicit specialisering"
-#: cp/typeck.c:2404
-msgid "invalid type argument"
-msgstr "ugyldig typeparameter"
+#: cp/pt.c:1627
+msgid "template specialization with C linkage"
+msgstr "skabelonsspecialisering med C-kædning"
-#: cp/typeck.c:2507
-#, fuzzy
-msgid "ISO C++ forbids subscripting non-lvalue array"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#. From [temp.expl.spec]:
+#.
+#. If such an explicit specialization for the member
+#. of a class template names an implicitly-declared
+#. special member function (clause _special_), the
+#. program is ill-formed.
+#.
+#. Similar language is found in [temp.explicit].
+#: cp/pt.c:1714
+msgid "specialization of implicitly-declared special member function"
+msgstr "specialisering af underforstået erklæret speciel medlemsfunktion"
-#: cp/typeck.c:2518
-#, fuzzy
-msgid "subscripting array declared `register'"
-msgstr "'register' er påhæftet funktionsdefinitionen"
+#: cp/pt.c:1758
+msgid "no member function `%D' declared in `%T'"
+msgstr "ingen medlemsfunktion '%D' erklæret i '%T'"
-#: cp/typeck.c:2693 cp/typeck.c:2833
-msgid "pointer to member function called, but not in class scope"
-msgstr "henvisning til medlem-funktion kaldt, men ikke i klassevirkefelt"
+#. There are two many template parameter lists.
+#: cp/pt.c:1906
+msgid "too many template parameter lists in declaration of `%T'"
+msgstr "for mange skabelonsparameterlister i erklæringen af '%T'"
-#: cp/typeck.c:2831
-msgid "invalid call to member function needing `this' in static member function scope"
-msgstr "ugyldigt kald af medlemsfunktion som har brug for 'this', i et statisk medlemsfunktionsvirkefelt"
+#: cp/pt.c:2002
+msgid " shadows template parm `%#D'"
+msgstr " skygger for skabelonsparameter '%#D'"
-#: cp/typeck.c:3021
-#, fuzzy
-msgid "ISO C++ forbids calling `::main' from within program"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:2406
+msgid "template parameters not used in partial specialization:"
+msgstr "skabelonsparametre der ikke bruges i partiel specialisering:"
-#: cp/typeck.c:3225
-msgid "parameter type of called function is incomplete"
-msgstr "parametertypen af den kaldte funktion er ufuldstændig"
+#: cp/pt.c:2410
+msgid " `%D'"
+msgstr " '%D'"
-#: cp/typeck.c:3615
-#, c-format
-msgid "%s rotate count is negative"
-msgstr ""
+#: cp/pt.c:2422
+msgid "partial specialization `%T' does not specialize any template arguments"
+msgstr "den partielle specialisering '%T' specialiserer ikke nogen skabelonsparametre"
-#: cp/typeck.c:3618
+# flertalsform unødvendig
+#: cp/pt.c:2447
#, c-format
-msgid "%s rotate count >= width of type"
-msgstr ""
-
-#: cp/typeck.c:3649 cp/typeck.c:3654 cp/typeck.c:3745 cp/typeck.c:3750
-msgid "ISO C++ forbids comparison between pointer and integer"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
-
-#: cp/typeck.c:3966
-#, fuzzy
-msgid "comparison between signed and unsigned integer expressions"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+msgid "template argument `%E' involves template parameter(s)"
+msgstr "skabelonsparameter '%E' involverer skabelonsparameter"
-#: cp/typeck.c:4105
-#, fuzzy
-msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
-msgstr "ugyldig brug af en henvisning til en ufuldstændig type i henvisningsberegningen"
+# flertalsform unødvendig
+#: cp/pt.c:2491
+msgid "type `%T' of template argument `%E' depends on template parameter(s)"
+msgstr "typen '%T' af skabelonsparameteren '%E' afhænger af skabelonsparameter"
-#: cp/typeck.c:4111
-#, fuzzy
-msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
-msgstr "ugyldig brug af en henvisning til en ufuldstændig type i henvisningsberegningen"
+#: cp/pt.c:2579
+msgid "no default argument for `%D'"
+msgstr "ingen standardparameter til '%D'"
-#: cp/typeck.c:4117
-#, fuzzy
-msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
-msgstr " i henvisning til medlemsfunktion-omdannelse"
+#: cp/pt.c:2732
+msgid "template with C linkage"
+msgstr "skabelon med C-kædning"
-#: cp/typeck.c:4123
-#, fuzzy
-msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
-msgstr "ugyldig brug af en henvisning til en ufuldstændig type i henvisningsberegningen"
+#: cp/pt.c:2735
+msgid "template class without a name"
+msgstr "skabelonsklasse uden et navn"
-#: cp/typeck.c:4194
-msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
-msgstr ""
+#: cp/pt.c:2812
+msgid "`%D' does not declare a template type"
+msgstr "'%D' erklærer ikke en skabelonstype"
-#: cp/typeck.c:4196
-#, fuzzy
-msgid "ISO C++ forbids using pointer to a function in subtraction"
-msgstr " i henvisning til medlemsfunktion-omdannelse"
+#: cp/pt.c:2818
+msgid "template definition of non-template `%#D'"
+msgstr "skabelonsdefinition af ikke-skabelon '%#D'"
-#: cp/typeck.c:4198
-#, fuzzy
-msgid "ISO C++ forbids using pointer to a method in subtraction"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:2859
+msgid "expected %d levels of template parms for `%#D', got %d"
+msgstr "forvented %d niveauer af skabelonsparametre for '%#D', modtog %d"
-#: cp/typeck.c:4200
-#, fuzzy
-msgid "ISO C++ forbids using pointer to a member in subtraction"
-msgstr " i henvisning til medlem-omdannelse"
+#: cp/pt.c:2871
+msgid "got %d template parameters for `%#D'"
+msgstr "modtog %d skabelonsparametre for '%#D'"
-#: cp/typeck.c:4212
-msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
-msgstr "ugyldig brug af en henvisning til en ufuldstændig type i henvisningsberegningen"
+#: cp/pt.c:2874
+msgid "got %d template parameters for `%#T'"
+msgstr "modtog %d skabelonsparametre for '%#T'"
-#: cp/typeck.c:4317
-msgid "taking address of temporary"
-msgstr ""
+#: cp/pt.c:2876
+#, c-format
+msgid " but %d required"
+msgstr " men %d påkrævet"
-#: cp/typeck.c:4517
-#, fuzzy, c-format
-msgid "ISO C++ forbids %sing an enum"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:2959
+msgid "`%T' is not a template type"
+msgstr "'%T' er ikke en skabelonstype"
-#: cp/typeck.c:4561
-msgid "cast to non-reference type used as lvalue"
-msgstr ""
+# hænger sammen med næste tekst
+#: cp/pt.c:2975
+msgid "previous declaration `%D'"
+msgstr "tidligere erklæring '%D'"
-#. ARM $3.4
-#: cp/typeck.c:4628
-#, fuzzy
-msgid "ISO C++ forbids taking address of function `::main'"
-msgstr "ISO C++ forbyder en tom betingelse til '%s'"
+#: cp/pt.c:2976
+#, c-format
+msgid "used %d template parameter%s instead of %d"
+msgstr "benyttede %d skabelonsparameter%s i stedet for %d"
-#: cp/typeck.c:4721
-#, fuzzy
-msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
-msgstr "kan ikke finde adressen af 'this' som er et højreværdiudtryk"
+#: cp/pt.c:2992
+msgid "template parameter `%#D'"
+msgstr "skabelonsparameter '%#D'"
-#: cp/typeck.c:4737
-msgid "unary `&'"
-msgstr "unær '&'"
+#: cp/pt.c:2993
+msgid "redeclared here as `%#D'"
+msgstr "omerklæret her som '%#D'"
-#: cp/typeck.c:4929
-#, fuzzy
-msgid "cannot take the address of `this', which is an rvalue expression"
-msgstr "kan ikke finde adressen af 'this' som er et højreværdiudtryk"
+#. We have in [temp.param]:
+#.
+#. A template-parameter may not be given default arguments
+#. by two different declarations in the same scope.
+#: cp/pt.c:3003
+msgid "redefinition of default argument for `%#D'"
+msgstr "omdefinering af standardparameter for '%#D'"
-#: cp/typeck.c:5232
-#, fuzzy
-msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
-msgstr "ISO C++ forbyder sammenligninger af henvisningsvariabler og heltal"
+#: cp/pt.c:3004
+msgid " original definition appeared here"
+msgstr " oprindelig definition er her"
-#: cp/typeck.c:5682
-#, fuzzy
-msgid "ISO C++ forbids cast to non-reference type used as lvalue"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:3097
+#, c-format
+msgid "`%E' is not a valid template argument"
+msgstr "'%E' er ikke en gyldig skabelonsparameter"
-#: cp/typeck.c:5788
-#, fuzzy
-msgid "ISO C++ forbids assignment of arrays"
-msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype"
+#: cp/pt.c:3101
+msgid "it must be the address of a function with external linkage"
+msgstr "den skal være adressen af en funktion med ekstern kædning"
-#: cp/typeck.c:5803
-msgid "return value from function receives multiple initializations"
-msgstr ""
+#: cp/pt.c:3103
+msgid "it must be the address of an object with external linkage"
+msgstr "den skal være adressen af et objekt med ekstern kædning"
-#: cp/typeck.c:5946
-msgid " in pointer to member function conversion"
-msgstr " i henvisning til medlemsfunktion-omdannelse"
+#: cp/pt.c:3107
+msgid "it must be a pointer-to-member of the form `&X::Y'"
+msgstr "den skal være en henvisning til medlem på formen '&X::Y'"
-#: cp/typeck.c:5954
-msgid " in pointer to member conversion"
-msgstr " i henvisning til medlem-omdannelse"
+#: cp/pt.c:3118
+#, c-format
+msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage"
+msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
-#: cp/typeck.c:6542
-msgid "returning reference to temporary"
-msgstr ""
+#: cp/pt.c:3130
+#, c-format
+msgid "address of non-extern `%E' cannot be used as template argument"
+msgstr "adresse på ikke-ekstern '%E' kan ikke bruges som skabelonsparameter"
-#: cp/typeck.c:6549
-msgid "reference to non-lvalue returned"
-msgstr ""
+#: cp/pt.c:3141
+#, c-format
+msgid "non-constant `%E' cannot be used as template argument"
+msgstr "ikke-konstant '%E' kan ikke bruges som skabelonsparameter"
-#: cp/typeck.c:6595
-msgid "returning a value from a destructor"
-msgstr "returnerer en værdi fra en destruktionsfunktion"
+#: cp/pt.c:3148
+#, c-format
+msgid "object `%E' cannot be used as template argument"
+msgstr "objektet '%E' kan ikke bruges som skabelonsparameter"
-#. If a return statement appears in a handler of the
-#. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:6603
-msgid "cannot return from a handler of a function-try-block of a constructor"
-msgstr "kan ikke returnere fra en håndtering af en funktions-try-blok i en konstruktionsfunktion"
+#: cp/pt.c:3523
+#, c-format
+msgid "to refer to a type member of a template parameter, use `typename %E'"
+msgstr "benyt 'typename %E' for at referere til et typemedlem af en skabelonsparameter"
-#. You can't return a value from a constructor.
-#: cp/typeck.c:6606
-msgid "returning a value from a constructor"
-msgstr "returnerer en værdi fra en konstruktionsfunktion"
+#: cp/pt.c:3536 cp/pt.c:3552 cp/pt.c:3591
+msgid "type/value mismatch at argument %d in template parameter list for `%D'"
+msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'"
-#: cp/typeck.c:6623
-msgid "return-statement with no value, in function declared with a non-void return type"
-msgstr ""
+#: cp/pt.c:3539
+msgid " expected a constant of type `%T', got `%T'"
+msgstr " forventede en konstant af typen '%T', modtog '%T'"
-#: cp/typeck.c:6639
-msgid "return-statement with a value, in function declared with a void return type"
-msgstr ""
+#: cp/pt.c:3543
+#, c-format
+msgid " expected a type, got `%E'"
+msgstr " forventede en type, modtog '%E'"
-#: cp/typeck2.c:171
-#, fuzzy
-msgid " because the following virtual functions are abstract:"
-msgstr " eftersom de følgende virtuelle funktioner er abstrakte:"
+#: cp/pt.c:3555
+msgid " expected a type, got `%T'"
+msgstr " forventede en type, modtog '%T'"
-#: cp/typeck2.c:268
-#, fuzzy, c-format
-msgid "Internal error #%d."
-msgstr "intern fejl: "
+#: cp/pt.c:3557
+msgid " expected a class template, got `%T'"
+msgstr " forventede en klasseskabelon, modtog '%T'"
-#: cp/typeck2.c:339
-msgid "due to the presence of a constructor"
-msgstr "pga. af tilstedeværelsen af en konstruktionsfunktion"
+#: cp/pt.c:3593
+msgid " expected a template of type `%D', got `%D'"
+msgstr " forventede en skabelon af typen '%D', modtog '%D'"
-#: cp/typeck2.c:363
-msgid "comma expression used to initialize return value"
-msgstr ""
+#: cp/pt.c:3615
+msgid "template-argument `%T' uses anonymous type"
+msgstr "skabelonsparameter '%T' benytter anonym type"
-#: cp/typeck2.c:372
-msgid "cannot initialize arrays using this syntax"
-msgstr "kan ikke tildele tabeller startværdier med denne syntaks"
+#: cp/pt.c:3618
+msgid "template-argument `%T' uses local type `%T'"
+msgstr "skabelonsparameter '%T' benytter lokal type '%T'"
-#: cp/typeck2.c:428
-msgid "ANSI C++ forbids non-constant aggregate initializer expressions"
-msgstr ""
+#: cp/pt.c:3628
+msgid "template-argument `%T' is a variably modified type"
+msgstr "skabelonsparameter '%T' er en variabelt ændret type"
-#: cp/typeck2.c:503
-msgid "initializing array with parameter list"
-msgstr "klargører tabel med en parameterliste"
+#: cp/pt.c:3663
+msgid "could not convert template argument `%E' to `%T'"
+msgstr "kunne ikke konvertere skabelonsparameteren '%E' til '%T'"
-#: cp/typeck2.c:559
-msgid "initializer for scalar variable requires one element"
-msgstr "startværdien for en skalarvariabel kan kun bestå af ét element"
+#: cp/pt.c:3707
+#, c-format
+msgid "wrong number of template arguments (%d, should be %d)"
+msgstr "forkert antal skabelonsparametre (%d, skulle være %d)"
-#: cp/typeck2.c:657
-#, fuzzy
-msgid "aggregate has a partly bracketed initializer"
-msgstr "krøllede paranteser uden noget imellem i startværdi"
+#: cp/pt.c:3711
+msgid "provided for `%D'"
+msgstr "angivet for '%D'"
-#: cp/typeck2.c:687 cp/typeck2.c:788
-#, fuzzy
-msgid "non-trivial labeled initializers"
-msgstr "ugyldig startværdi"
+#: cp/pt.c:3758
+#, c-format
+msgid "template argument %d is invalid"
+msgstr "skabelonsparameter %d er ugyldig"
-#: cp/typeck2.c:704
-msgid "non-empty initializer for array of empty elements"
-msgstr "en startværdi der ikke er tom, tildeles til en tabel med tomme elementer"
+#: cp/pt.c:3993
+msgid "non-template used as template"
+msgstr "ikke-skabelon benyttet som skabelon"
-#: cp/typeck2.c:754
-msgid "initializer list for object of class with virtual base classes"
-msgstr ""
+#: cp/pt.c:4125
+msgid "`%T' is not a template"
+msgstr "'%T' er ikke en skabelon"
-#: cp/typeck2.c:760
-msgid "initializer list for object of class with base classes"
-msgstr ""
+#: cp/pt.c:4138
+msgid "non-template type `%T' used as a template"
+msgstr "ikke-skabelonstype '%T' benyttet som skabelon"
-#: cp/typeck2.c:766
-#, fuzzy
-msgid "initializer list for object using virtual functions"
-msgstr "startværdien for kommatal er ikke en kommatalskonstant"
+#: cp/pt.c:4140
+msgid "for template declaration `%D'"
+msgstr "til skabelonserklæring '%D'"
-#: cp/typeck2.c:883
-msgid "index value instead of field name in union initializer"
-msgstr "indeksværdi i stedet for feltnavn i union-startværdi"
+#: cp/pt.c:4756
+msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
+msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'"
-#: cp/typeck2.c:939
-#, fuzzy
-msgid "excess elements in aggregate initializer"
-msgstr "for mange elementer i tabelstartværdi"
+#: cp/pt.c:5232
+msgid "ambiguous class template instantiation for `%#T'"
+msgstr "tvetydig klasseskabelonsinstantiering for '%#T'"
-#: cp/typeck2.c:1037
-msgid "circular pointer delegation detected"
-msgstr "fundet en henvisningsefterfølgelse der går i ring"
+#: cp/pt.c:5239
+msgid "%s %+#T"
+msgstr "%s %+#T"
-#: cp/typeck2.c:1064
-msgid "result of `operator->()' yields non-pointer result"
-msgstr "resultatet af 'operator->()' er ikke en henvisning"
+#: cp/pt.c:6261 cp/pt.c:6371
+msgid "instantiation of `%D' as type `%T'"
+msgstr "instantiering af '%D' som typen '%T'"
-#: cp/typeck2.c:1066
-msgid "base operand of `->' is not a pointer"
-msgstr "basisoperanden til '->' er ikke en henvisning"
+#: cp/pt.c:6415
+msgid "invalid parameter type `%T'"
+msgstr "ugyldig parametertype '%T'"
-#: cp/typeck2.c:1258
-#, fuzzy, c-format
-msgid "ISO C++ forbids defining types within %s"
-msgstr "ISO C++ forbyder en tom betingelse til '%s'"
+#: cp/pt.c:6417
+msgid "in declaration `%D'"
+msgstr "i erklæringen '%D'"
-#: cp/xref.c:833
-#, c-format
-msgid "Can't create cross-reference file `%s'"
-msgstr "Kan ikke oprette krydsreferencefilen '%s'"
+#: cp/pt.c:6492
+msgid "creating pointer to member function of non-class type `%T'"
+msgstr "opretter henvisning til medlemsfunktion af typen '%T' der ikke er en klasse"
-#. The current line in each outer source file is now the
-#. same as the line of the #include.
-#: cpperror.c:55
-#, c-format
-msgid "In file included from %s:%u"
-msgstr "I filen inkluderet af %s:%u"
+#: cp/pt.c:6655
+msgid "creating array with size zero"
+msgstr "opretter tabel med størrelsen nul"
-#. Translators note: this message is used in conjunction
-#. with "In file included from %s:%ld" and some other
-#. tricks. We want something like this:
-#.
-#. | In file included from sys/select.h:123,
-#. | from sys/types.h:234,
-#. | from userfile.c:31:
-#. | bits/select.h:45: <error message here>
-#.
-#. with all the "from"s lined up.
-#. The trailing comma is at the beginning of this message,
-#. and the trailing colon is not translated.
-#: cpperror.c:71
+#: cp/pt.c:6669
#, c-format
-msgid ""
-",\n"
-" from %s:%u"
-msgstr ""
-",\n"
-" af %s:%u"
+msgid "creating array with size zero (`%E')"
+msgstr "opretter tabel med størrelsen nul ('%E')"
-#: cpperror.c:188
-msgid "internal error: "
-msgstr "intern fejl: "
-
-#: cpperror.c:195
-msgid "warning: "
-msgstr "advarsel: "
+#: cp/pt.c:6908
+msgid "forming reference to void"
+msgstr "danner reference til void"
-#: cpperror.c:309 cpperror.c:480 cppfiles.c:661 gcc.c:6076 tradcpp.c:4722
-#, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
+#: cp/pt.c:6910
+msgid "forming %s to reference type `%T'"
+msgstr "danner %s til referencetypen '%T'"
-#: cppexp.c:209
-msgid "traditional C rejects the `U' suffix"
-msgstr ""
+#: cp/pt.c:6948
+msgid "creating pointer to member of non-class type `%T'"
+msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse"
-#: cppexp.c:212
-msgid "too many 'l' suffixes in integer constant"
-msgstr "for mange 'l'-suffikser i heltalskonstant"
+#: cp/pt.c:6954
+msgid "creating pointer to member reference type `%T'"
+msgstr "opretter henvisning til medlemsreference af typen '%T'"
-#: cppexp.c:216
-msgid "integer constant contains digits beyond the radix"
-msgstr "heltalskonstanten indeholder cifre der er større end grundtallet"
+#: cp/pt.c:7032
+msgid "creating array of `%T'"
+msgstr "opretter tabel af '%T'"
-#: cppexp.c:219
-msgid "integer constant out of range"
-msgstr "heltalskonstanten er uden for det gyldige interval"
+#: cp/pt.c:7075
+msgid "`%T' is not a class, struct, or union type"
+msgstr "'%T' er ikke en class-, struct- eller union-type"
-#: cppexp.c:225
-msgid "integer constant is so large that it is unsigned"
-msgstr "heltalskonstanten er så stor at den er unsigned"
+#: cp/pt.c:7185
+#, c-format
+msgid "use of `%s' in template"
+msgstr "brug af '%s' i skabelon"
-#: cppexp.c:234
-#, fuzzy, c-format
-msgid "invalid suffix '%.*s' on integer constant"
-msgstr "for mange 'l'-suffikser i heltalskonstant"
+#: cp/pt.c:7947
+msgid "type `%T' composed from a local class is not a valid template-argument"
+msgstr "typen '%T' sammensat fra lokal klasse er ikke en gyldig skabelonsparameter"
-#: cppexp.c:343
-msgid "missing ')' after \"defined\""
-msgstr ""
+#: cp/pt.c:7948
+msgid " trying to instantiate `%D'"
+msgstr " ved forsøg på at instantiere '%D'"
-#: cppexp.c:350
-#, fuzzy
-msgid "operator \"defined\" requires an identifier"
-msgstr "symbolet efter #undef er ikke et kaldenavn"
+#: cp/pt.c:8393
+msgid "incomplete type unification"
+msgstr "ufuldstændig typeforening"
-#: cppexp.c:358
+#: cp/pt.c:9348
#, c-format
-msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
-msgstr ""
+msgid "use of `%s' in template type unification"
+msgstr "brug af '%s' i skabelonstypeforening"
-#: cppexp.c:427
-msgid "\"defined\" operator appears during macro expansion"
-msgstr ""
+#: cp/pt.c:9776 cp/pt.c:9848
+msgid "explicit instantiation of non-template `%#D'"
+msgstr "eksplicit instantiering af ikke-skabelon '%#D'"
-#: cppexp.c:443
-#, fuzzy, c-format
-msgid "ISO C++ does not permit \"%s\" in #if"
-msgstr "ISO C tillader ikke navngivne variabel parameterliste-makroer"
+#: cp/pt.c:9792 cp/pt.c:9843
+msgid "no matching template for `%D' found"
+msgstr "ingen passende skabelon for '%D' fundet"
-#: cppexp.c:458
-#, fuzzy, c-format
-msgid "\"%s\" is not defined"
-msgstr "'%.*s' er ikke defineret"
+#: cp/pt.c:9798
+msgid "explicit instantiation of `%#D'"
+msgstr "eksplicit instantiering af '%#D'"
-#: cppexp.c:550
-msgid "octal escape sequence out of range"
-msgstr "den oktale undvigesekvens er uden for det gyldige interval"
+#: cp/pt.c:9835
+msgid "duplicate explicit instantiation of `%#D'"
+msgstr "'%#D' er blevet eksplicit instantieret mere end én gang"
-#: cppexp.c:583
-msgid "hex escape sequence out of range"
-msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval"
+#: cp/pt.c:9860
+msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
+msgstr "ISO C++ forbyder brugen af 'extern' ved eksplicitte instantieringer"
-#: cppexp.c:598
-msgid "integer overflow in preprocessor expression"
-msgstr "heltallet løber over i forbehandlerudtrykket"
+#: cp/pt.c:9864 cp/pt.c:9942
+msgid "storage class `%D' applied to template instantiation"
+msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering"
-#: cppexp.c:868
-#, c-format
-msgid "impossible operator '%s'"
-msgstr ""
+#: cp/pt.c:9909
+msgid "explicit instantiation of non-template type `%T'"
+msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype"
-#: cppexp.c:978
-msgid "comma operator in operand of #if"
-msgstr "kommeoperator i en operand til #if"
+#: cp/pt.c:9923
+msgid "explicit instantiation of `%#T' before definition of template"
+msgstr "eksplicit instantiering af '%T' før definering af skabelonen"
-#: cppfiles.c:383
+#: cp/pt.c:9931
#, c-format
-msgid "%s is too large"
-msgstr "%s er for stor"
-
-#: cppfiles.c:412
-#, fuzzy, c-format
-msgid "%s is shorter than expected"
-msgstr "%s er kortere end forventet\n"
+msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
+msgstr "ISO C++ forbyder brugen af '%s ved eksplicitte instantieringer"
-#: cppfiles.c:421
-#, c-format
-msgid "%s is a block device"
-msgstr "%s er en blokenhed"
+#: cp/pt.c:9975
+msgid "duplicate explicit instantiation of `%#T'"
+msgstr "'%#T' er blevet eksplicit instantieret mere end én gang"
-#: cppfiles.c:541
-#, c-format
-msgid "No include path in which to find %s"
-msgstr "Der er ingen inkluderingssti at finde %s i"
+#: cp/pt.c:10355
+msgid "explicit instantiation of `%D' but no definition available"
+msgstr "eksplicit instantiering af '%D', men ingen definition tilgængelig"
-#: cppfiles.c:609
-msgid "Multiple include guards may be useful for:\n"
-msgstr ""
+#: cp/pt.c:10758
+msgid "`%#T' is not a valid type for a template constant parameter"
+msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant "
-#: cppfiles.c:999
-msgid "absolute file name in remap_filename"
-msgstr ""
+#: cp/repo.c:271
+msgid "-frepo must be used with -c"
+msgstr "-frepo skal bruges med -c"
-#: cppinit.c:223
-#, fuzzy, c-format
-msgid "ignoring nonexistent directory \"%s\"\n"
-msgstr "ignorerer det ikkeeksisterende katalog '%s'\n"
+#: cp/repo.c:361
+#, c-format
+msgid "mysterious repository information in %s"
+msgstr "mystisk info om opbevaringssted i '%s'"
-#: cppinit.c:229
+#: cp/repo.c:376
#, c-format
-msgid "%s: Not a directory"
-msgstr "%s: ikke et katalog"
+msgid "can't create repository information file `%s'"
+msgstr "kan ikke oprette informationsfilen '%s' til opbevaringssted"
-#: cppinit.c:275
-#, fuzzy, c-format
-msgid "ignoring duplicate directory \"%s\"\n"
-msgstr "ignorerer mere end én angivelse af kataloget '%s'\n"
+#: cp/rtti.c:240
+msgid "cannot use typeid with -fno-rtti"
+msgstr "kan ikke bruge typeid med -fno-rtti"
-#: cppinit.c:889
-msgid "-include and -imacros cannot be used with -fpreprocessed"
-msgstr ""
+#: cp/rtti.c:246
+msgid "must #include <typeinfo> before using typeid"
+msgstr "'#include <typeinfo>' er nødvendig før typeid kan benyttes"
-#: cppinit.c:925
-msgid "#include \"...\" search starts here:\n"
-msgstr "#include \"...\"-søgning begynder her:\n"
+#: cp/rtti.c:320
+msgid "cannot create type information for type `%T' because its size is variable"
+msgstr "kan ikke oprette typeinformation for typen '%T' fordi dens størrelse er variabel"
+
+#: cp/rtti.c:585 cp/rtti.c:599
+msgid "dynamic_cast of `%#D' to `%#T' can never succeed"
+msgstr "dynamic_cast af '%#D' til '%#T' kan aldrig lykkes"
+
+#: cp/rtti.c:675
+msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
+msgstr "kan ikke anvende dynamic_cast på '%E' (af typen '%#T') til typen '%#T' (%s)"
+
+#: cp/search.c:347
+msgid "`%T' is an inaccessible base of `%T'"
+msgstr "'%T' er en utilgængelig stamklasse til '%T'"
+
+#: cp/search.c:357
+msgid "`%T' is an ambiguous base of `%T'"
+msgstr "'%T' er en tvetydig stamklasse til '%T'"
+
+#. At parse time, we don't want to give this error, since
+#. we won't have enough state to make this kind of
+#. decision properly. But there are times (e.g., with
+#. enums in nested classes) when we do need to call
+#. this fn at parse time. So, in those cases, we pass
+#. complain as a 0 and just return a NULL_TREE.
+#: cp/search.c:1642
+msgid "assignment to non-static member `%D' of enclosing class `%T'"
+msgstr "tildeling til ikke-statisk medlem '%D' af omgivende klasse '%T'"
+
+#: cp/search.c:2009
+msgid "adjusting pointers for covariant returns"
+msgstr "justerer henvisninger for kovariante returneringer"
-#: cppinit.c:929
-msgid "#include <...> search starts here:\n"
-msgstr "#include <...>-søgning begynder her:\n"
+#: cp/search.c:2013 cp/search.c:2020
+msgid "invalid covariant return type for `%#D'"
+msgstr "ugyldig kovariant returneringstype for '%#D'"
-#: cppinit.c:932
-msgid "End of search list.\n"
-msgstr "Slut på søgningslisten.\n"
+#: cp/search.c:2014
+msgid " overriding `%#D' (must be pointer or reference to class)"
+msgstr " overskriver '%#D' (skal være en henvisning eller reference til klasse)"
-#: cppinit.c:1004 tradcpp.c:963 tradcpp.c:973 tradcpp.c:1064
-msgid "I/O error on output"
-msgstr "I/O-fejl på uddata"
+#: cp/search.c:2021
+msgid " overriding `%#D' (must use pointer or reference)"
+msgstr " overskriver '%#D' (skal være en henvisning eller reference)"
-#: cppinit.c:1018
-msgid "buffers still stacked in cpp_finish"
-msgstr "mellemlagre er stadig stakket op i cpp_finish"
+#: cp/search.c:2026
+msgid "conflicting return type specified for `%#D'"
+msgstr "modstridende returtyper angivet for '%#D'"
-#. 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:1050
-#, c-format
-msgid "Argument missing after %s"
-msgstr "En parameter mangler efter %s"
+#: cp/search.c:2027
+msgid " overriding `%#D'"
+msgstr " overskriver '%#D'"
-#: cppinit.c:1051
+#: cp/search.c:2036
#, c-format
-msgid "Assertion missing after %s"
-msgstr "Et postulat mangler efter %s"
+msgid "looser throw specifier for `%#F'"
+msgstr "løsere throw-angivelse for '%#F'"
-#: cppinit.c:1052
+#: cp/search.c:2037
#, c-format
-msgid "Directory name missing after %s"
-msgstr "Et katalognavn mangler efter %s"
+msgid " overriding `%#F'"
+msgstr " overskriver '%#F'"
-#: cppinit.c:1053
-#, c-format
-msgid "File name missing after %s"
-msgstr "Et filnavn mangler efter %s"
+#. A static member function cannot match an inherited
+#. virtual member function.
+#: cp/search.c:2126
+msgid "`%#D' cannot be declared"
+msgstr "'%#D' kan ikke erklæres"
-#: cppinit.c:1054
-#, c-format
-msgid "Macro name missing after %s"
-msgstr "Et makronavn mangler efter %s"
+#: cp/search.c:2127
+msgid " since `%#D' declared in base class"
+msgstr " eftersom '%#D' er erklæret i stamklassen"
-#: cppinit.c:1055
-#, c-format
-msgid "Path name missing after %s"
-msgstr "Navnet på en sti mangler efter %s"
+#: cp/search.c:2268
+msgid "`%#D' needs a final overrider"
+msgstr "'%#D' behøver en endelig overskrivning"
-#: cppinit.c:1056
+#: cp/semantics.c:919
#, c-format
-msgid "Number missing after %s"
-msgstr "Et tal mangler efter %s"
-
-#: cppinit.c:1057
-#, fuzzy, c-format
-msgid "Target missing after %s"
-msgstr "En parameter mangler efter %s"
+msgid "type of asm operand `%E' could not be determined"
+msgstr "typen af asm-operanden '%E' kunne ikke afgøres"
-#: cppinit.c:1242
-#, fuzzy, c-format
-msgid "Too many filenames. Type %s --help for usage info"
-msgstr "For mange parametre. Brugsvejledning fås ved '%s --help'"
-
-#: cppinit.c:1426 tradcpp.c:598
-msgid "Output filename specified twice"
-msgstr "Uddatafilnavnet er angivet to gange"
-
-#: cppinit.c:1546
-msgid "-I- specified twice"
-msgstr "-I- er angivet to gange"
-
-#: cppinit.c:1694
-#, fuzzy, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP version %s (cpplib)\n"
-
-#: cppinit.c:1735 tradcpp.c:787
-#, fuzzy
-msgid "you must additionally specify either -M or -MM"
-msgstr "-MG skal angives sammen med en af -M eller -MM"
-
-#: cppinit.c:1795
-#, c-format
-msgid "Usage: %s [switches] input output\n"
-msgstr "Brug: %s [tilvalg] inddata uddata\n"
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1798
-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:1807
-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 ""
+#: cp/semantics.c:1051
+msgid "ISO C++ does not permit named return values"
+msgstr "ISO C++ tillader ikke navngivne returværdier"
-#: cppinit.c:1816
-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 ""
+#: cp/semantics.c:1060
+msgid "return identifier `%D' already in place"
+msgstr "returkaldenavn '%D' allerede på plads"
-#: cppinit.c:1823
-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 ""
+#: cp/semantics.c:1068
+msgid "can't redefine default return value for constructors"
+msgstr "kan ikke omdefinere standardreturværdi for konstruktionsfunktioner"
-#: cppinit.c:1829
-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 ""
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr "kun konstruktionsfunktioner har stamklasseklargøringer"
-#: cppinit.c:1839
-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 ""
+#: cp/semantics.c:1342
+msgid "`this' is unavailable for static member functions"
+msgstr "'this' er ikke tilgængelig for statiske medlemsfunktioner"
-#: cppinit.c:1847
-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 ""
+#: cp/semantics.c:1348
+msgid "invalid use of `this' in non-member function"
+msgstr "ugyldig brug af 'this' i ikke-medlemsfunktion"
-#: cppinit.c:1855
-msgid ""
-" -M Generate make dependencies\n"
-" -MM As -M, 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 ""
+#: cp/semantics.c:1350
+msgid "invalid use of `this' at top level"
+msgstr "ugyldig brug af 'this' ved øverste niveau"
-#: cppinit.c:1861
-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 ""
+#: cp/semantics.c:1380
+msgid "calling type `%T' like a method"
+msgstr "kalder typen '%T' som en metode"
-#: cppinit.c:1866
-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 ""
+#: cp/semantics.c:1418
+msgid "destructor specifier `%T::~%T()' must have matching names"
+msgstr "destruktionsangivelse '%T::~%T()' skal have ens navne"
-#: cppinit.c:1874
-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 ""
+#: cp/semantics.c:1424
+msgid "`%E' is not of type `%T'"
+msgstr "'%E' er ikke af typen '%T'"
-#: cppinit.c:1882
-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 ""
+#: cp/semantics.c:1612
+msgid "template type parameters must use the keyword `class' or `typename'"
+msgstr "skabelonstypeparametre skal begynde med 'class' eller 'typename'"
-#: cpplex.c:159
-#, c-format
-msgid "trigraph ??%c converted to %c"
-msgstr "trigrafen ??%c konverteret til %c"
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr "ugyldig standardparameter i skabelon"
-#: cpplex.c:167
-#, c-format
-msgid "trigraph ??%c ignored"
-msgstr "trigrafen ??%c ignoreret"
+#: cp/semantics.c:1693
+msgid "definition of `%#T' inside template parameter list"
+msgstr "definition af '%#T' inden i skabelonsparameterliste"
-#: cpplex.c:251
-msgid "backslash and newline separated by space"
-msgstr "omvendt skråstreg og linjeskift er adskilt af mellemrum"
+#: cp/semantics.c:1709
+msgid "invalid definition of qualified type `%T'"
+msgstr "ugyldig definition af modificeret type '%T'"
-#: cpplex.c:255
-#, fuzzy
-msgid "backslash-newline at end of file"
-msgstr "ingen linjeskift ved slutningen af filen"
+#: cp/semantics.c:2051
+msgid "invalid base-class specification"
+msgstr "ugyldig stamklasseangivelse"
-#: cpplex.c:330
-#, fuzzy
-msgid "\"/*\" within comment"
-msgstr "'/*' i en kommentar"
+#: cp/semantics.c:2060
+msgid "base class `%T' has cv qualifiers"
+msgstr "stamklassen '%T' har const/volatile-modifikationer"
-#: cpplex.c:416
-#, fuzzy
-msgid "null character(s) ignored"
-msgstr "indlejrede nultegn ignoreret"
+#: cp/semantics.c:2091
+msgid "multiple declarators in template declaration"
+msgstr "flere erklærerer i skabelonserklæring"
-#: cpplex.c:423
+#: cp/semantics.c:2118
#, c-format
-msgid "%s in preprocessing directive"
-msgstr "%s i forbehandlerdirektiv"
-
-#: cpplex.c:507
-#, fuzzy
-msgid "'$' character(s) in identifier"
-msgstr "'$'-tegn optræder i kaldenavn"
+msgid "type of `%E' is unknown"
+msgstr "typen af '%E' er ukendt"
-#: cpplex.c:521
-#, fuzzy, c-format
-msgid "attempt to use poisoned \"%s\""
-msgstr "forsøg på at bruge forgiftet '%s'"
-
-#: cpplex.c:527
-msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
-msgstr ""
-
-#: cpplex.c:597
+#: cp/spew.c:225
#, c-format
-msgid "missing terminating %c character"
-msgstr "manglende afsluttende '%c'-tegn"
-
-#: cpplex.c:604
-msgid "possible start of unterminated string literal"
-msgstr "muligvis begyndelsen af uafsluttet strengkonstant"
-
-#: cpplex.c:697
-#, fuzzy
-msgid "multi-line string literals are deprecated"
-msgstr "flerlinjers strengkonstant"
-
-#: cpplex.c:708
-#, fuzzy
-msgid "null character(s) preserved in literal"
-msgstr "nultegn bevaret"
+msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+msgstr "kaldenavnet '%s' er i modstrid med den interne navngivningsstrategi i GNU c++"
-#: cpplex.c:881
-msgid "no newline at end of file"
-msgstr "ingen linjeskift ved slutningen af filen"
+#: cp/spew.c:1002 cp/spew.c:1340
+msgid "parse error at end of saved function text"
+msgstr "tolkningsfejl ved slutningen af gemt funktionstekst"
-#: cpplex.c:1002 tradcpp.c:1447
-msgid "unterminated comment"
-msgstr "uafsluttet kommentar"
+#: cp/spew.c:1090 cp/spew.c:1178
+msgid "%Hend of file read inside definition"
+msgstr "%Hslutningen af filen læst inden i definition"
-#: cpplex.c:1016
-msgid "C++ style comments are not allowed in ISO C89"
-msgstr "kommentarer i C++-stil er ikke tilladt i ISO C89"
+#: cp/spew.c:1121
+msgid "parse error in method specification"
+msgstr "tolkningsfejl i medlemsfunktionsangivelsen"
-#: cpplex.c:1018
-msgid "(this will be reported only once per input file)"
-msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"
+#: cp/spew.c:1161
+msgid "function body for constructor missing"
+msgstr "kroppen til konstruktionsfunktionen mangler"
-#: cpplex.c:1026
-msgid "multi-line comment"
-msgstr "flerlinjers kommentar"
+#: cp/spew.c:1262
+msgid "%Hend of file read inside default argument"
+msgstr "%Hslutningen af filen læst inden i standardparameter"
-#: cpplex.c:1188
-#, fuzzy
-msgid "directives may not be used inside a macro argument"
-msgstr "#%s må ikke optræde i en makroparameter"
+#: cp/spew.c:1419
+msgid "circular dependency in default args of `%#D'"
+msgstr "cirkulær afhængighed i standardparametre til '%#D'"
-#: cpplex.c:1343
-#, fuzzy, c-format
-msgid "Unspellable token %s"
-msgstr "Symbol kan ikke staves"
+#: cp/spew.c:1483
+msgid "invalid type `%T' for default argument to `%T'"
+msgstr "ugyldig type '%T' for standardparameter til '%T'"
-#: cpplib.c:214
+#: cp/spew.c:1548
#, c-format
-msgid "extra tokens at end of #%s directive"
-msgstr ""
-
-#: cpplib.c:303
-msgid "# followed by integer"
-msgstr "'#' efterfølges af et heltal"
-
-#: cpplib.c:352
-msgid "suggest not using #elif in traditional C"
-msgstr ""
+msgid "%s before `%s'"
+msgstr "%s før '%s'"
-#: cpplib.c:355
+#: cp/spew.c:1550
#, c-format
-msgid "traditional C ignores #%s with the # indented"
-msgstr "traditionel C ignorerer #%s når '#' er indrykket"
+msgid "%s before `%c'"
+msgstr "%s før '%c'"
-#: cpplib.c:359
+#: cp/spew.c:1552
#, c-format
-msgid "suggest hiding #%s from traditional C with an indented #"
-msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket '#'"
+msgid "%s before `\\%o'"
+msgstr "%s før '\\%o'"
-#: cpplib.c:369
+#: cp/spew.c:1555
#, c-format
-msgid "#%s is a GCC extension"
-msgstr ""
+msgid "%s before `%s' token"
+msgstr "%s før symbolet '%s'"
-#: cpplib.c:393
+#: cp/tree.c:263 cp/tree.c:275
#, c-format
-msgid "invalid preprocessing directive #%s"
-msgstr "ugyldigt forbehandlerdirektiv #%s"
+msgid "non-lvalue in %s"
+msgstr "ikke-venstreværdi i %s"
-#: cpplib.c:454
-#, c-format
-msgid "no macro name given in #%s directive"
-msgstr ""
+#: cp/tree.c:647
+msgid "`%V' qualifiers cannot be applied to `%T'"
+msgstr "modifikationerne '%V' kan ikke anvendes på '%T'"
-#: cpplib.c:458
+#: cp/tree.c:2026
#, c-format
-msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
-msgstr ""
-
-#: cpplib.c:461
-#, fuzzy
-msgid "macro names must be identifiers"
-msgstr "Et makronavn mangler efter %s"
-
-#: cpplib.c:470
-#, fuzzy, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr "#%s må ikke optræde i en makroparameter"
-
-#: cpplib.c:508
-#, fuzzy, c-format
-msgid "undefining \"%s\""
-msgstr "glemmer definitionen af '%s'"
-
-#: cpplib.c:552
-#, fuzzy
-msgid "missing terminating > character"
-msgstr "manglende afsluttende '%c'-tegn"
+msgid "`%s' attribute can only be applied to Java class definitions"
+msgstr "egenskaben '%s' kan kun anvendes med Java-klassedefinitioner"
-#: cpplib.c:590
+#: cp/tree.c:2056
#, c-format
-msgid "#%s expects \"FILENAME\" or <FILENAME>"
-msgstr "#%s forventer \"FILNAVN\" eller <FILNAVN>"
+msgid "`%s' attribute can only be applied to class definitions"
+msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner"
-#: cpplib.c:599
+#: cp/tree.c:2062
#, c-format
-msgid "empty file name in #%s"
-msgstr "tomt filnavn i #%s"
-
-#: cpplib.c:627
-#, fuzzy
-msgid "#include nested too deeply"
-msgstr "makro eller '#include'-rekursion er for dyb"
-
-#: cpplib.c:629
-msgid "attempt to push file buffer with contexts stacked"
-msgstr ""
-
-#: cpplib.c:636
-msgid "#include_next in primary source file"
-msgstr "#include_next i den primære kildekodefil"
+msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
+msgstr "'%s' er forældet; virtuelle tabeller i g++ er nu COM-kompatible som standard"
-#: cpplib.c:660
-msgid "#import is obsolete, use an #ifndef wrapper in the header file"
-msgstr "#import er forældet, brug en #ifndef-indpakning i inkluderingsfilen"
+#: cp/tree.c:2087
+msgid "requested init_priority is not an integer constant"
+msgstr "den udbedte init_priority er ikke en heltalskonstant"
-#: cpplib.c:696
-#, fuzzy, c-format
-msgid "invalid flag \"%s\" in line directive"
-msgstr "ugyldigt '#pragma poison'-direktiv"
+#: cp/tree.c:2108
+#, c-format
+msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
+msgstr "kan kun bruge egenskaben '%s' på filvirkefeltsdefinitioner af objekter af klassetype"
-#: cpplib.c:748
-#, fuzzy, c-format
-msgid "\"%s\" after #line is not a positive integer"
-msgstr "symbolet efter #line er ikke et heltal"
+#: cp/tree.c:2116
+msgid "requested init_priority is out of range"
+msgstr "den udbedte init_priority er uden for det gyldige interval"
-#: cpplib.c:754
-#, fuzzy
-msgid "line number out of range"
-msgstr "linjenummer er uden for det gyldige interval i #line"
+#: cp/tree.c:2126
+msgid "requested init_priority is reserved for internal use"
+msgstr "den udbedte init_priority er reserveret til intern brug"
-#: cpplib.c:798
+#: cp/tree.c:2136
#, c-format
-msgid "file \"%s\" left but not entered"
-msgstr ""
-
-#: cpplib.c:806
-#, fuzzy, c-format
-msgid "expected to return to file \"%s\""
-msgstr "Stødt på slutningen af kildefilen %s tidligere end forventet.\n"
+msgid "`%s' attribute is not supported on this platform"
+msgstr "egenskaben '%s' er ikke understøttet på denne platform"
-#: cpplib.c:809
+#: cp/tree.c:2673
#, c-format
-msgid "expected to return to line number %u"
-msgstr ""
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr "lang_*-kontrol: mislykkedes i %s, ved %s:%d"
-#: cpplib.c:812
+#: cp/typeck.c:524
#, c-format
-msgid "header flags for \"%s\" have changed"
-msgstr ""
-
-#: cpplib.c:823
-#, fuzzy, c-format
-msgid "\"%s\" is not a valid filename"
-msgstr "%s: ugyldigt filnavn: %s\n"
-
-#: cpplib.c:920 f/lex.c:1240
-msgid "invalid #ident"
-msgstr "ugyldig #ident"
-
-#: cpplib.c:971
-#, fuzzy, c-format
-msgid "unknown #pragma namespace %s"
-msgstr "ukendt maskintilstand '%s'"
-
-#: cpplib.c:1083
-msgid "#pragma once is obsolete"
-msgstr "'#pragma once' er forældet"
-
-#: cpplib.c:1086
-#, fuzzy
-msgid "#pragma once in main file"
-msgstr "'#pragma once' uden for inkluderingsfil"
-
-#: cpplib.c:1110
-#, fuzzy
-msgid "invalid #pragma GCC poison directive"
-msgstr "ugyldigt '#pragma poison'-direktiv"
-
-#: cpplib.c:1119
-#, fuzzy, c-format
-msgid "poisoning existing macro \"%s\""
-msgstr "forgifter eksisterende makro '%s'"
+msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
+msgstr "ISO C++ forbyder %s mellem henvisning af typen 'void *' og henvisning til funktion"
-#: cpplib.c:1144
-#, fuzzy
-msgid "#pragma system_header ignored outside include file"
-msgstr "'#pragma systemheader' uden for inkluderingsfil"
+#: cp/typeck.c:545
+msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
+msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse"
-#: cpplib.c:1166
-#, fuzzy, c-format
-msgid "cannot find source %s"
-msgstr "[kan ikke finde %s]"
+#: cp/typeck.c:1438
+msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
+msgstr "ISO C++ forbyder konvertering fra '%#T' til '(...)'"
-#: cpplib.c:1170
+#: cp/typeck.c:1516
#, c-format
-msgid "current file is older than %s"
-msgstr ""
+msgid "invalid application of `%s' to a member function"
+msgstr "ugyldig brug af '%s' på en medlemsfunktion"
-#: cpplib.c:1233
-msgid "_Pragma takes a parenthesized string literal"
-msgstr ""
+#: cp/typeck.c:1522
+#, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "ugyldig brug af '%s' på et ikke-statisk medlem"
-#: cpplib.c:1326
-msgid "#else without #if"
-msgstr "#else uden #if"
+#: cp/typeck.c:1540
+msgid "sizeof applied to a bit-field"
+msgstr "'sizeof' benyttet på et bitfelt"
-#: cpplib.c:1331 tradcpp.c:3850
-msgid "#else after #else"
-msgstr "#else efter #else"
+#: cp/typeck.c:1543
+msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
+msgstr "ISO C++ forbyder anvendelse af 'sizeof' på et udtryk af en funktionstype"
-#: cpplib.c:1333 cpplib.c:1367
-msgid "the conditional began here"
-msgstr "betingelsen begyndte her"
+#: cp/typeck.c:1655
+msgid "invalid use of non-lvalue array"
+msgstr "ugyldig brug af en tabel der ikke kan optræde som en venstreværdi"
-#: cpplib.c:1360
-msgid "#elif without #if"
-msgstr "#elif uden #if"
+#: cp/typeck.c:1761
+msgid "deprecated conversion from string constant to `%T'"
+msgstr "forældet konvertering fra strengkonstant til '%T'"
-#: cpplib.c:1365 tradcpp.c:3545
-msgid "#elif after #else"
-msgstr "#elif efter #else"
+#: cp/typeck.c:1892 cp/typeck.c:2124
+msgid "request for member `%D' in `%E', which is of non-class type `%T'"
+msgstr "forespørgsel efter medlemmet '%D' i '%E' som er af en ikke-klassetype '%T'"
-#: cpplib.c:1397
-msgid "#endif without #if"
-msgstr "#endif uden #if"
+#: cp/typeck.c:1918
+msgid "`%D' is not a member of `%T'"
+msgstr "'%D' er ikke et medlem af '%T'"
-#: cpplib.c:1482 tradcpp.c:3242
-#, fuzzy
-msgid "missing '(' after predicate"
-msgstr "der mangler et semikolon før en højre krøllet parantes"
+#: cp/typeck.c:1959 cp/typeck.c:1980
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "ugyldig tilgang til ikke-statisk datamedlem '%D' af NULL-objekt"
-#: cpplib.c:1503 tradcpp.c:3256
-msgid "missing ')' to complete answer"
-msgstr ""
+#: cp/typeck.c:1961 cp/typeck.c:1982
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr "(måske blev 'offsetof'-makroen benyttet forkert)"
-#: cpplib.c:1511 tradcpp.c:3262
-msgid "predicate's answer is empty"
-msgstr ""
+#: cp/typeck.c:2170
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "'%D::%D' er ikke et medlem af '%T'"
-#: cpplib.c:1542 tradcpp.c:3310
-msgid "assertion without predicate"
-msgstr ""
-
-#: cpplib.c:1544 tradcpp.c:3312
-#, fuzzy
-msgid "predicate must be an identifier"
-msgstr "#define skal efterfølges af et kaldenavn"
-
-#: cpplib.c:1625 tradcpp.c:3409
-#, fuzzy, c-format
-msgid "\"%s\" re-asserted"
-msgstr "\"%s\" omdefineret"
-
-#: cpplib.c:1821
-msgid "<builtin>"
-msgstr ""
+#: cp/typeck.c:2196
+msgid "destructor specifier `%T::~%T' must have matching names"
+msgstr "destruktionsangivelse '%T::~%T' skal have ens navne"
-#: cpplib.c:1823
-#, fuzzy
-msgid "<command line>"
-msgstr "<kommandolinje>: "
+#: cp/typeck.c:2202
+msgid "type `%T' has no destructor"
+msgstr "typen '%T' har ingen destruktionsfunktion"
-#: cpplib.c:1846
-msgid "<stdin>"
-msgstr ""
+#: cp/typeck.c:2241
+msgid "`%D' is not a member template function"
+msgstr "'%D' er ikke en medlemsskabelonfunktion"
-#: cpplib.c:1879
-#, c-format
-msgid "unterminated #%s"
-msgstr "uafsluttet #%s"
+#. A pointer to incomplete type (other than cv void) can be
+#. dereferenced [expr.unary.op]/1
+#: cp/typeck.c:2335
+msgid "`%T' is not a pointer-to-object type"
+msgstr "'%T' er ikke af en henvisning til objekt-type"
-#: cpplib.c:1907
+#: cp/typeck.c:2362
#, c-format
-msgid "file \"%s\" entered but not left"
-msgstr ""
+msgid "invalid use of `%s' on pointer to member"
+msgstr "ugyldig brug af '%s' på henvisning til medlem"
-#: cppmacro.c:213
-#, fuzzy, c-format
-msgid "invalid builtin macro \"%s\""
-msgstr "forgifter eksisterende makro '%s'"
+#: cp/typeck.c:2368
+msgid "invalid type argument"
+msgstr "ugyldig typeparameter"
-#: cppmacro.c:333
-msgid "invalid string literal, ignoring final '\\'"
-msgstr ""
+#: cp/typeck.c:2471
+msgid "ISO C++ forbids subscripting non-lvalue array"
+msgstr "ISO C++ forbyder indeksering af en ikke-venstreværdis tabel"
-#: cppmacro.c:367
-#, c-format
-msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
-msgstr ""
+#: cp/typeck.c:2482
+msgid "subscripting array declared `register'"
+msgstr "indeksering af tabel som er erklæret 'register'"
-#: cppmacro.c:539
+#: cp/typeck.c:2567
#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr ""
+msgid "object missing in use of `%E'"
+msgstr "objekt mangler i brug af '%E'"
-#: cppmacro.c:556
-#, fuzzy
-msgid "ISO C99 requires rest arguments to be used"
-msgstr "ISO C påkræver en navngiven parameter før '...'"
+#: cp/typeck.c:2671
+msgid "ISO C++ forbids calling `::main' from within program"
+msgstr "ISO C++ forbyder kald af '::main' inde fra programmet"
-#: cppmacro.c:561
+#: cp/typeck.c:2696
#, c-format
-msgid "macro \"%s\" requires %u arguments, but only %u given"
-msgstr ""
+msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
+msgstr "brug .* eller ->* i kald af henvisning til medlemsfunktion i '%E (...)'"
-#: cppmacro.c:572
+#: cp/typeck.c:2709
#, c-format
-msgid "macro \"%s\" passed %u arguments, but takes just %u"
-msgstr ""
-
-#: cppmacro.c:612
-#, fuzzy, c-format
-msgid "function-like macro \"%s\" must be used with arguments in traditional C"
-msgstr "funktionsmakroen %s skal bruges med parametre i traditionel C"
-
-#: cppmacro.c:1236
-#, fuzzy, c-format
-msgid "duplicate macro parameter \"%s\""
-msgstr "makroparameternavnet \"%s\" optræder mere end én gang"
-
-#: cppmacro.c:1271
-#, fuzzy, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "manglende højreparantes i makroparameterlisten"
-
-#: cppmacro.c:1278
-msgid "macro parameters must be comma-separated"
-msgstr ""
-
-#: cppmacro.c:1295
-#, fuzzy
-msgid "parameter name missing"
-msgstr "Et katalognavn mangler efter %s"
-
-#: cppmacro.c:1309
-msgid "anonymous variadic macros were introduced in C99"
-msgstr ""
-
-#: cppmacro.c:1312
-#, fuzzy
-msgid "ISO C does not permit named variadic macros"
-msgstr "ISO C tillader ikke navngivne variabel parameterliste-makroer"
+msgid "`%E' cannot be used as a function"
+msgstr "'%E' kan ikke bruges som en funktion"
-#: cppmacro.c:1321
-#, fuzzy
-msgid "missing ')' in macro parameter list"
-msgstr "manglende højreparantes i makroparameterlisten"
+#: cp/typeck.c:2821
+msgid "too many arguments to %s `%+#D'"
+msgstr "for mange parametre til %s '%+#D'"
-#: cppmacro.c:1400
-#, fuzzy
-msgid "ISO C requires whitespace after the macro name"
-msgstr "C-standarden påkræver mellemrum efter #define %s"
+#: cp/typeck.c:2862
+msgid "parameter type of called function is incomplete"
+msgstr "parametertypen for den kaldte funktion er ufuldstændig"
-#: cppmacro.c:1423
-#, fuzzy
-msgid "'#' is not followed by a macro parameter"
-msgstr "'#' efterfølges ikke af et makroparameternavn"
+#: cp/typeck.c:2925
+msgid "too few arguments to %s `%+#D'"
+msgstr "for få parametre til %s '%+#D'"
-#: cppmacro.c:1443
-msgid "'##' cannot appear at either end of a macro expansion"
-msgstr ""
+#: cp/typeck.c:3053 cp/typeck.c:3063
+msgid "assuming cast to type `%T' from overloaded function"
+msgstr "antager typeomtvingning til typen '%T' fra flertydig funktion"
-#: cppmacro.c:1478
+#: cp/typeck.c:3123
#, c-format
-msgid "\"%s\" redefined"
-msgstr "\"%s\" omdefineret"
-
-#: cppmacro.c:1484
-msgid "this is the location of the previous definition"
-msgstr "den foregående definition er her"
+msgid "division by zero in `%E / 0'"
+msgstr "division med nul i '%E / 0'"
-#: cppmacro.c:1542
-#, fuzzy, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional."
-msgstr "makroparameteren \"%s\" ville blive gjort til en streng i traditionel C"
-
-#: cppmacro.c:1566
+#: cp/typeck.c:3125
#, c-format
-msgid "invalid hash type %d in dump_definition"
-msgstr "ugyldig hashtype %d i dump_definition"
+msgid "division by zero in `%E / 0.'"
+msgstr "division med nul i '%E / 0.'"
-#: cppmain.c:128
+#: cp/typeck.c:3155
#, c-format
-msgid "Invalid option %s"
-msgstr "Ugyldigt tilvalg %s"
+msgid "division by zero in `%E %% 0'"
+msgstr "division med nul i '%E %% 0'"
-#: cppspec.c:128
-#, fuzzy, c-format
-msgid "\"%s\" is not a valid option to the preprocessor"
-msgstr "'%s' er ikke et tilladt tilvalg til forbehandleren"
+#: cp/typeck.c:3157
+#, c-format
+msgid "division by zero in `%E %% 0.'"
+msgstr "division med nul i '%E %% 0.'"
-#: cppspec.c:152
-msgid "too many input files"
-msgstr "for mange inddatafiler"
+#: cp/typeck.c:3237
+#, c-format
+msgid "%s rotate count is negative"
+msgstr "%s-roteringsantal er negativt"
-#: cse.c:7140
+#: cp/typeck.c:3240
#, c-format
-msgid ";; Processing block from %d to %d, %d sets.\n"
-msgstr ";; Behandler blok fra %d til %d, %d mængder.\n"
+msgid "%s rotate count >= width of type"
+msgstr "%s-roteringsantal >= bredden af typen"
-#: diagnostic.c:844
-#, fuzzy, c-format
-msgid "%s:%d: warning: "
-msgstr "advarsel: "
+#: cp/typeck.c:3271 cp/typeck.c:3276 cp/typeck.c:3367 cp/typeck.c:3372
+msgid "ISO C++ forbids comparison between pointer and integer"
+msgstr "ISO C++ forbyder sammenligning mellem henvisningsvariabel og heltal"
-#: diagnostic.c:851
-#, fuzzy, c-format
-msgid "%s: warning: "
-msgstr "advarsel: "
+#: cp/typeck.c:3550
+msgid "comparison between types `%#T' and `%#T'"
+msgstr "sammenligning mellem typerne '%#T' og '%#T'"
-#: diagnostic.c:937
-msgid "((anonymous))"
-msgstr ""
+#: cp/typeck.c:3586
+msgid "comparison between signed and unsigned integer expressions"
+msgstr "sammenlign mellem signed og unsigned heltalsudtryk"
-#: diagnostic.c:1064
-#, fuzzy, c-format
-msgid "%s: warnings being treated as errors\n"
-msgstr "%s: advarsel: ingen læseadgang til filen '%s'\n"
+#: cp/typeck.c:3651
+msgid "invalid operands of types `%T' and `%T' to binary `%O'"
+msgstr "ugyldige operander af typerne '%T' og '%T' til binær '%O'"
-#: diagnostic.c:1116
-#, fuzzy, c-format
-msgid "%s: %s: "
-msgstr "%s: %s"
+#. Some sort of arithmetic operation involving NULL was
+#. 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:3673
+msgid "NULL used in arithmetic"
+msgstr "NULL benyttet i udregning"
-#: diagnostic.c:1224
-#, fuzzy
-msgid "sorry, not implemented: "
-msgstr "Profilgenerering understøttes ikke endnu."
+#: cp/typeck.c:3740
+msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
+msgstr "ISO C++ forbyder brug af henvisning af typen 'void *' i fratrækning"
-#: diagnostic.c:1243
-#, fuzzy, c-format
-msgid "%s "
-msgstr "%s"
+#: cp/typeck.c:3742
+msgid "ISO C++ forbids using pointer to a function in subtraction"
+msgstr "ISO C++ forbyder brug af henvisning til funktion i fratrækning"
-#: diagnostic.c:1245
-#, fuzzy, c-format
-msgid " %s"
-msgstr "%s"
+#: cp/typeck.c:3744
+msgid "ISO C++ forbids using pointer to a method in subtraction"
+msgstr "ISO C++ forbyder brug af henvisning til medlemsfunktion i fratrækning"
-#: diagnostic.c:1268
-msgid "At top level:"
-msgstr ""
+#: cp/typeck.c:3746
+msgid "ISO C++ forbids using pointer to a member in subtraction"
+msgstr "ISO C++ forbyder brug af henvisning til medlem i fratrækning"
-#: diagnostic.c:1273
-#, c-format
-msgid "In method `%s':"
-msgstr ""
+#: cp/typeck.c:3758
+msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+msgstr "ugyldig brug af en henvisning til en ufuldstændig type i henvisningsberegning"
-#: diagnostic.c:1277
-#, fuzzy, c-format
-msgid "In function `%s':"
-msgstr "Ugyldigt tilvalg '%s'"
+#: cp/typeck.c:3818
+#, c-format
+msgid "invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id."
+msgstr "ugyldig brug af '%E' til at danne en henvisning til medlemsfunktion; benyt et kaldenavn med klassepræfiks"
-#: diagnostic.c:1412
-msgid "compilation terminated.\n"
-msgstr ""
+#: cp/typeck.c:3824
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr "paranteser omkring '%E' kan ikke bruges til at danne en henvisning til medlemsfunktion"
-#: diagnostic.c:1447
-#, fuzzy, c-format
-msgid "%s:%d: confused by earlier errors, bailing out\n"
-msgstr "forvirret af tidligere fejl, opgiver ævred"
+#: cp/typeck.c:3847
+msgid "taking address of temporary"
+msgstr "tager adressen på midlertidig variabel"
-#: diagnostic.c:1461 diagnostic.c:1700
+#: cp/typeck.c:4088
#, c-format
-msgid ""
-"Please submit a full bug report,\n"
-"with preprocessed source if appropriate.\n"
-"See %s for instructions.\n"
-msgstr ""
+msgid "ISO C++ forbids %sing an enum"
+msgstr "ISO C++ forbyder %s af en enum"
-#: diagnostic.c:1493
-#, fuzzy
-msgid "Unrecognizable insn:"
-msgstr "Ukendt tilvalg '%s'"
+#: cp/typeck.c:4100
+msgid "cannot %s a pointer to incomplete type `%T'"
+msgstr "kan ikke %s en henvisning til en ufuldstændig type '%T'"
-#: diagnostic.c:1495
-msgid "Insn does not satisfy its constraints:"
-msgstr ""
+#: cp/typeck.c:4107
+msgid "ISO C++ forbids %sing a pointer of type `%T'"
+msgstr "ISO C++ forbyder %s af en henvisning af typen '%T'"
-#: diagnostic.c:1698
-#, fuzzy
-msgid "Internal compiler error: Error reporting routines re-entered.\n"
-msgstr "Intern oversætterfejl: program %s modtog et fatalt signal %d"
+#: cp/typeck.c:4132
+msgid "cast to non-reference type used as lvalue"
+msgstr "typeomtvingning til ikke-reference-type benyttet som venstreværdi"
-#: diagnostic.c:1760
-#, fuzzy, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "Intern oversætterfejl %d."
+#: cp/typeck.c:4166
+msgid "invalid use of `--' on bool variable `%D'"
+msgstr "ugyldig brug af '--' på den booleske variabel '%D'"
-#: diagnostic.c:1805
-#, fuzzy, c-format
-msgid "In file included from %s:%d"
-msgstr "I filen inkluderet af %s:%u"
+#. ARM $3.4
+#: cp/typeck.c:4199
+msgid "ISO C++ forbids taking address of function `::main'"
+msgstr "ISO C++ forbyder at tage adressen på funktionen '::main'"
-#: diagnostic.c:1808
-#, fuzzy, c-format
-msgid ""
-",\n"
-" from %s:%d"
-msgstr ""
-",\n"
-" af %s:%u"
+#. An expression like &memfn.
+#: cp/typeck.c:4266
+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 "ISO C++ forbyder at tage adressen på en ikke-modificeret, ikke-statisk medlemsfunktion for at danne en henvisning til medlemsfunktion; brug '&%T::%D'"
-#: diagnostic.c:1809
-msgid ":\n"
-msgstr ""
+#: cp/typeck.c:4268
+msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say `&%T::%D'"
+msgstr "ISO C++ forbyder at tage adressen på en bundet medlemsfunktion for at danne en henvisning til medlemsfunktion; brug '&%T::%D'"
-#: dwarf2out.c:2977
-#, c-format
-msgid "DW_LOC_OP %s not implememnted\n"
-msgstr ""
+#: cp/typeck.c:4292
+msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+msgstr "ISO C++ forbyder at tage adressen på en typeomtvingning til et udtryk der ikke er en venstreværdi"
-#: dwarf2out.c:7071 dwarfout.c:2128
-#, fuzzy, c-format
-msgid "internal regno botch: regno = %d\n"
-msgstr "Internt gcc-afbrydelse fra %s:%d"
+#: cp/typeck.c:4321
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "forsøg på at finde adressen af bitfeltstrukturmedlemmet '%D'"
-#: dwarfout.c:6262
-#, fuzzy
-msgid "can't get current directory"
-msgstr "%s: kan ikke få fat i arbejdskataloget: %s\n"
+#: cp/typeck.c:4441
+msgid "taking address of destructor"
+msgstr "tager adressen på en destruktionsfunktion"
-#: emit-rtl.c:1006
-#, fuzzy
-msgid "Can't access real part of complex value in hard register"
-msgstr "Kan ikke tilgå den reelle del af komplekst tal i et hardware-register på målarkitekturen"
+#: cp/typeck.c:4454
+msgid "taking address of bound pointer-to-member expression"
+msgstr "tager adressen på et bundet henvisning til medlem-udtryk"
-#: emit-rtl.c:1030
-#, fuzzy
-msgid "can't access imaginary part of complex value in hard register"
-msgstr "Kan ikke tilgå den imaginære del af komplekst tal i et hardware-register på målarkitekturen"
+#: cp/typeck.c:4470
+msgid "cannot create pointer to reference member `%D'"
+msgstr "kan ikke oprette henvisning til reference medlemmet '%D'"
-#: emit-rtl.c:2560
-msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
-msgstr ""
+#: cp/typeck.c:4533
+msgid "cannot take the address of `this', which is an rvalue expression"
+msgstr "kan ikke tage adressen af 'this' som er et højreværdiudtryk"
-#: errors.c:168
-#, c-format
-msgid "abort in %s, at %s:%d"
-msgstr ""
+#: cp/typeck.c:4552
+msgid "address requested for `%D', which is declared `register'"
+msgstr "adresse forespurgt for '%D' som er erklæret 'register'"
-#: except.c:357
-msgid "exception handling disabled, use -fexceptions to enable"
-msgstr "håndtering af undtagelser er slået fra, angiv -fexceptions for at slå dem til"
+#: cp/typeck.c:4773
+msgid "static_cast from type `%T' to type `%T' casts away constness"
+msgstr "static_cast fra typen '%T' til typen '%T' fjerner konstanthed"
-#: except.c:2931
-msgid "argument of `__builtin_eh_return_regno' must be constant"
-msgstr ""
+#: cp/typeck.c:4781
+msgid "invalid static_cast from type `%T' to type `%T'"
+msgstr "ugyldig static_cast fra typen '%T' til typen '%T'"
-#: except.c:3029 except.c:3053
-#, fuzzy
-msgid "__builtin_eh_return not supported on this target"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+#: cp/typeck.c:4820
+msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
+msgstr "ugyldig reinterpret_cast af et højreværdiudtryk fra typen '%T' til typen '%T'"
-#: explow.c:1458
-msgid "stack limits not supported on this target"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+#: cp/typeck.c:4840
+msgid "reinterpret_cast from `%T' to `%T' loses precision"
+msgstr "reinterpret_cast fra '%T' til '%T' mister præcision"
-#: expr.c:2842
-msgid "function using short complex types cannot be inline"
-msgstr "funktioner der benytter short complex-typer, kan ikke indbygges"
+#: cp/typeck.c:4853
+msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
+msgstr "reinterpret_cast fra '%T' til '%T' fjerner const (eller volatile)"
-#: expr.c:5860 expr.c:5869 expr.c:5878 expr.c:5883 expr.c:6041 expr.c:6056
-msgid "unsupported wide integer operation"
-msgstr "bred heltalsoperation understøttes ikke"
+#: cp/typeck.c:4862
+msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+msgstr "ISO C++ forbyder sammenligninger mellem henvisning til funktion og henvisning til objekt"
-#: expr.c:6103
-#, c-format
-msgid "prior parameter's size depends on `%s'"
-msgstr ""
+#: cp/typeck.c:4868
+msgid "invalid reinterpret_cast from type `%T' to type `%T'"
+msgstr "ugyldig reinterpret_cast fra typen '%T' til typen '%T'"
-#: expr.c:6504
-msgid "returned value in block_exit_expr"
-msgstr ""
+#: cp/typeck.c:4895
+msgid "invalid use of const_cast with type `%T', which is not a pointer, reference, nor a pointer-to-data-member type"
+msgstr "ugyldig brug af const_cast med typen '%T' som ikke er en henvisnings-, reference- eller en henvisning til datamedlem-type"
-#: f/com.c:11860
-msgid "no INTEGER type can hold a pointer on this configuration"
-msgstr ""
+#: cp/typeck.c:4898
+msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
+msgstr "ugyldig brug af const_cast med typen '%T' som er en henvisning eller reference til funktion"
-#: f/com.c:12087
-#, c-format
-msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
-msgstr ""
+#: cp/typeck.c:4921
+msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
+msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'"
-#: f/com.c:12089
-#, c-format
-msgid "and pointers are %d bits wide, but g77 doesn't yet work"
-msgstr ""
+#: cp/typeck.c:4937
+msgid "invalid const_cast from type `%T' to type `%T'"
+msgstr "ugyldig const_cast fra typen '%T' til typen '%T'"
-#: f/com.c:12091
-msgid "properly unless they all are 32 bits wide."
-msgstr ""
+#: cp/typeck.c:4979 cp/typeck.c:4984
+msgid "ISO C++ forbids casting to an array type `%T'"
+msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype '%T'"
-#: f/com.c:12092
-msgid "Please keep this in mind before you report bugs. g77 should"
-msgstr ""
+#: cp/typeck.c:4992
+msgid "invalid cast to function type `%T'"
+msgstr "ugyldig omtvingelse til funktionstypen '%T'"
-#: f/com.c:12093
-msgid "support non-32-bit machines better as of version 0.6."
-msgstr ""
+#: cp/typeck.c:5044
+msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
+msgstr "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type"
-#. I/O will probably crash.
-#: f/com.c:12101
-#, c-format
-msgid "configuration: char * holds %d bits, but ftnlen only %d"
-msgstr ""
+#: cp/typeck.c:5090
+msgid "cast from `%T' to `%T' increases required alignment of target type"
+msgstr "typeomtvingning fra '%T' til '%T' forøger den påkrævede justering af målets type"
-#. ASSIGN 10 TO I will crash.
-#: f/com.c:12110
-#, c-format
-msgid ""
-"configuration: char * holds %d bits, but INTEGER only %d --\n"
-" ASSIGN statement might fail"
-msgstr ""
+#: cp/typeck.c:5258
+msgid " in evaluation of `%Q(%#T, %#T)'"
+msgstr " i evaluering af '%Q(%#T, %#T)'"
-#: f/com.c:16088
-#, fuzzy
-msgid "Directory name must immediately follow -I"
-msgstr "Et katalognavn mangler efter %s"
+#: cp/typeck.c:5300
+msgid "ISO C++ forbids cast to non-reference type used as lvalue"
+msgstr "ISO C++ forbyder omtvingelse af typen til en ikke-reference-type benyttet som venstreværdi"
-#: f/g77spec.c:250
-#, c-format
-msgid "overflowed output arg list for `%s'"
-msgstr ""
+#: cp/typeck.c:5372
+msgid "incompatible types in assignment of `%T' to `%T'"
+msgstr "uforenelige typer i tildeling af '%T' til '%T'"
-#: f/g77spec.c:436
-#, fuzzy
-msgid "--driver no longer supported"
-msgstr "-pipe understøttes ikke"
+#: cp/typeck.c:5379
+msgid "ISO C++ forbids assignment of arrays"
+msgstr "ISO C++ forbyder tildeling af tabeller"
-#: f/g77spec.c:450
-#, fuzzy, c-format
-msgid "argument to `%s' missing"
-msgstr "en parameter til '%s' mangler\n"
+#: cp/typeck.c:5522
+msgid " in pointer to member function conversion"
+msgstr " i henvisning til medlemsfunktion-omdannelse"
-#: f/g77spec.c:454
-msgid "No input files; unwilling to write output files"
-msgstr ""
+#: cp/typeck.c:5530
+msgid " in pointer to member conversion"
+msgstr " i henvisning til medlem-omdannelse"
-#: f/lang-options.h:33
-msgid "Print g77-specific compiler version info, run internal tests"
-msgstr ""
+#. This is a reinterpret cast, we choose to do nothing.
+#: cp/typeck.c:5541 cp/typeck.c:5560
+msgid "pointer to member cast via virtual base `%T' of `%T'"
+msgstr "henvisning til medlem-typeomtvingning via den virtuelle stamklasse '%T' af '%T'"
-#: f/lang-options.h:38
-msgid "Program is written in typical FORTRAN 66 dialect"
-msgstr ""
+#: cp/typeck.c:5564
+msgid "pointer to member conversion via virtual base `%T' of `%T'"
+msgstr "henvisning til medlem-omdannelse via den virtuelle stamklasse '%T' af '%T'"
-#: f/lang-options.h:41
-msgid "Program is written in typical Unix f77 dialect"
-msgstr ""
+#: cp/typeck.c:5640
+msgid "invalid conversion to type `%T' from type `%T'"
+msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'"
-#: f/lang-options.h:43
-msgid "Program does not use Unix-f77 dialectal features"
-msgstr ""
+# %s bliver til returnering eller tildeling eller noget i den retning
+#: cp/typeck.c:5805
+msgid "passing NULL used for non-pointer %s %P of `%D'"
+msgstr "overbringelse af NULL benyttet for ikke-henvisnings%s %P af '%D'"
-#: f/lang-options.h:45
-msgid "Program is written in Fortran-90-ish dialect"
-msgstr ""
+#: cp/typeck.c:5808
+msgid "%s to non-pointer type `%T' from NULL"
+msgstr "%s til ikke-henvisningstypen '%T' fra NULL"
-#: f/lang-options.h:49
-msgid "Treat local vars and COMMON blocks as if they were named in SAVE statements"
-msgstr ""
+#: cp/typeck.c:5816
+msgid "passing `%T' for %s %P of `%D'"
+msgstr "overbringelse af '%T' for ikke-henvisnings%s %P af '%D'"
-#: f/lang-options.h:51
-msgid "Allow $ in symbol names"
-msgstr ""
+#: cp/typeck.c:5819
+msgid "%s to `%T' from `%T'"
+msgstr "%s til '%T' fra '%T'"
-#: f/lang-options.h:55
-msgid "f2c-compatible code need not be generated"
-msgstr ""
+#: cp/typeck.c:5829
+msgid "passing negative value `%E' for %s %P of `%D'"
+msgstr "overbringelse af negativ værdi '%E' for %s %P af '%D'"
-#: f/lang-options.h:58
-msgid "Unsupported; do not generate libf2c-calling code"
-msgstr ""
+#: cp/typeck.c:5832
+msgid "%s of negative value `%E' to `%T'"
+msgstr "%s af negativ værdi '%E' til `%T'"
-#: f/lang-options.h:60
-msgid "Unsupported; affects code-generation of arrays"
-msgstr ""
+#: cp/typeck.c:5927
+msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
+msgstr "kan ikke konvertere '%T' til '%T' for parameter '%P' til '%D'"
-#: f/lang-options.h:63
-msgid "Program is written in Fortran-90-ish free form"
-msgstr ""
+#: cp/typeck.c:5930
+msgid "cannot convert `%T' to `%T' in %s"
+msgstr "kan ikke konvertere '%T' til '%T' i %s"
-#: f/lang-options.h:68
-msgid "Warn about use of (only a few for now) Fortran extensions"
-msgstr ""
+#: cp/typeck.c:6017 cp/typeck.c:6019
+msgid "in passing argument %P of `%+D'"
+msgstr "i overbringelse af parameter %P af '%+D'"
-#: f/lang-options.h:71
-msgid "Program is written in VXT (Digital-like) FORTRAN"
-msgstr ""
+#: cp/typeck.c:6134
+msgid "returning reference to temporary"
+msgstr "returnerer reference til midlertidig variabel"
-#: f/lang-options.h:74
-msgid "Disallow all ugly features"
-msgstr ""
+#: cp/typeck.c:6141
+msgid "reference to non-lvalue returned"
+msgstr "reference til ikke-venstreværdi returneret"
-#: f/lang-options.h:77
-msgid "Hollerith and typeless constants not passed as arguments"
-msgstr ""
+#: cp/typeck.c:6153
+msgid "reference to local variable `%D' returned"
+msgstr "reference til den lokale variabel '%D' returneret"
-#: f/lang-options.h:79
-msgid "Allow ordinary copying of ASSIGN'ed vars"
-msgstr ""
+#: cp/typeck.c:6156
+msgid "address of local variable `%D' returned"
+msgstr "adresse af den lokale variabel '%D' returneret"
-#: f/lang-options.h:82
-msgid "Dummy array dimensioned to (1) is assumed-size"
-msgstr ""
+#: cp/typeck.c:6187
+msgid "returning a value from a destructor"
+msgstr "returnerer en værdi fra en destruktionsfunktion"
-#: f/lang-options.h:85
-msgid "Trailing comma in procedure call denotes null argument"
-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:6195
+msgid "cannot return from a handler of a function-try-block of a constructor"
+msgstr "kan ikke returnere fra en håndtering af en funktions-try-blok i en konstruktionsfunktion"
-#: f/lang-options.h:88
-msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
-msgstr ""
+#. You can't return a value from a constructor.
+#: cp/typeck.c:6198
+msgid "returning a value from a constructor"
+msgstr "returnerer en værdi fra en konstruktionsfunktion"
-#: f/lang-options.h:92
-msgid "Initialization via DATA and PARAMETER is type-compatible"
-msgstr ""
+#: cp/typeck.c:6215
+msgid "return-statement with no value, in function declared with a non-void return type"
+msgstr "return-sætning uden en værdi i en funktion der er erklæret med en ikke-void returtype"
-#: f/lang-options.h:94
-msgid "Allow INTEGER and LOGICAL interchangeability"
-msgstr ""
+#: cp/typeck.c:6231
+msgid "return-statement with a value, in function declared with a void return type"
+msgstr "return-sætning med en værdi i en funktion der er erklæret med en void returtype"
-#: f/lang-options.h:97
-msgid "Print internal debugging-related info"
-msgstr ""
+#: cp/typeck.c:6252
+msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
+msgstr "'operator new' må ikke returnere NULL medmindre den er erklæret 'throw()' (eller -fcheck-new er benyttet)"
-#: f/lang-options.h:100
-#, fuzzy
-msgid "Initialize local vars and arrays to zero"
-msgstr "Lokale variabler uden startværdi i .data"
+#: cp/typeck2.c:54
+msgid "type `%T' is not a base type for type `%T'"
+msgstr "typen '%T' er ikke en grundtype for typen '%T'"
-#: f/lang-options.h:104
-msgid "Backslashes in character/hollerith constants not special (C-style)"
-msgstr ""
+#: cp/typeck2.c:157
+msgid "cannot declare variable `%D' to be of type `%T'"
+msgstr "kan ikke erklære variablen '%D' til at være af typen '%T'"
-#: f/lang-options.h:106
-msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
-msgstr ""
+#: cp/typeck2.c:160
+msgid "cannot declare parameter `%D' to be of type `%T'"
+msgstr "kan ikke erklære parameteren '%D' til at være af typen '%T'"
-#: f/lang-options.h:110
-msgid "Disable the appending of underscores to externals"
-msgstr ""
+#: cp/typeck2.c:163
+msgid "cannot declare field `%D' to be of type `%T'"
+msgstr "kan ikke erklære feltet '%D' til at være af typen '%T'"
-#: f/lang-options.h:113
-msgid "Never append a second underscore to externals"
-msgstr ""
+#: cp/typeck2.c:167
+msgid "invalid return type for member function `%#D'"
+msgstr "ugyldig returtype for medlemsfunktionen '%#D'"
-#: f/lang-options.h:115
-msgid "Intrinsics spelled as e.g. SqRt"
-msgstr ""
+#: cp/typeck2.c:169
+msgid "invalid return type for function `%#D'"
+msgstr "ugyldig returtype for funktionen '%#D'"
-#: f/lang-options.h:117
-msgid "Intrinsics in uppercase"
-msgstr ""
+#: cp/typeck2.c:172
+msgid "cannot allocate an object of type `%T'"
+msgstr "kan ikke allokere et objekt af typen '%T'"
-#: f/lang-options.h:120
-msgid "Intrinsics letters in arbitrary cases"
-msgstr ""
+#: cp/typeck2.c:179
+msgid " because the following virtual functions are abstract:"
+msgstr " eftersom de følgende virtuelle funktioner er abstrakte:"
-#: f/lang-options.h:122
-msgid "Language keywords spelled as e.g. IOStat"
-msgstr ""
+#: cp/typeck2.c:181
+msgid "\t%#D"
+msgstr "\t%#D"
-#: f/lang-options.h:124
-msgid "Language keywords in uppercase"
-msgstr ""
+#: cp/typeck2.c:184
+msgid " since type `%T' has abstract virtual functions"
+msgstr " eftersom typen '%T' har abstrakte virtuelle funktioner"
-#: f/lang-options.h:127
-msgid "Language keyword letters in arbitrary cases"
-msgstr ""
+#: cp/typeck2.c:337
+msgid "constructor syntax used, but no constructor declared for type `%T'"
+msgstr "konstruktionsfunktionsyntaks benyttet, men ingen konstruktionsfunktion er erklæret for typen '%T'"
-#: f/lang-options.h:129
-msgid "Internally convert most source to uppercase"
-msgstr ""
+#: cp/typeck2.c:348
+msgid "comma expression used to initialize return value"
+msgstr "kommaudtryk benyttet til at klargøre returværdi"
-#: f/lang-options.h:132
-msgid "Internally preserve source case"
-msgstr ""
+#: cp/typeck2.c:357
+msgid "cannot initialize arrays using this syntax"
+msgstr "kan ikke tildele tabeller startværdier med denne syntaks"
-#: f/lang-options.h:134
-msgid "Symbol names spelled in mixed case"
-msgstr ""
+#: cp/typeck2.c:472
+msgid "initializing array with parameter list"
+msgstr "klargør tabel med en parameterliste"
-#: f/lang-options.h:136
-msgid "Symbol names in uppercase"
-msgstr ""
+#: cp/typeck2.c:528
+msgid "initializer for scalar variable requires one element"
+msgstr "startværdien for en skalarvariabel kan kun bestå af ét element"
-#: f/lang-options.h:138
-msgid "Symbol names in lowercase"
-msgstr ""
+#: cp/typeck2.c:535
+msgid "braces around scalar initializer for `%T'"
+msgstr "krøllede paranteser omkring skalarstartværdi for '%T'"
-#: f/lang-options.h:141
-msgid "Program written in uppercase"
-msgstr ""
+#: cp/typeck2.c:538
+msgid "ignoring extra initializers for `%T'"
+msgstr "ignorerer ekstra startværdier for '%T'"
-#: f/lang-options.h:143
-msgid "Program written in lowercase"
-msgstr ""
+#: cp/typeck2.c:550
+msgid "variable-sized object of type `%T' may not be initialized"
+msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi"
-#: f/lang-options.h:145
-msgid "Program written in strict mixed-case"
-msgstr ""
+#: cp/typeck2.c:560
+msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
+msgstr "underobjekt af typen '%T' skal klargøres af en konstruktionsfunktion, ikke af '%E'"
-#: f/lang-options.h:147
-msgid "Compile as if program written in uppercase"
-msgstr ""
+#: cp/typeck2.c:626
+msgid "aggregate has a partly bracketed initializer"
+msgstr "sammensat type har delvis indklammet startværdi"
-#: f/lang-options.h:149
-msgid "Compile as if program written in lowercase"
-msgstr ""
+#: cp/typeck2.c:664 cp/typeck2.c:769
+msgid "non-trivial labeled initializers"
+msgstr "ikke-trivielle navngivne startværdier"
-#: f/lang-options.h:151
-msgid "Preserve all spelling (case) used in program"
-msgstr ""
+#: cp/typeck2.c:681
+msgid "non-empty initializer for array of empty elements"
+msgstr "en startværdi der ikke er tom, tildeles til en tabel med tomme elementer"
-#: f/lang-options.h:153
-msgid "Delete libU77 intrinsics with bad interfaces"
-msgstr ""
+#: cp/typeck2.c:735
+msgid "initializer list for object of class with virtual base classes"
+msgstr "klargøringsliste for objekt af en klasse med virtuelle stamklasser"
-#: f/lang-options.h:155
-msgid "Disable libU77 intrinsics with bad interfaces"
-msgstr ""
+#: cp/typeck2.c:741
+msgid "initializer list for object of class with base classes"
+msgstr "klargøringsliste for objekt af en klasse med stamklasser"
-#: f/lang-options.h:158
-msgid "Hide libU77 intrinsics with bad interfaces"
-msgstr ""
+#: cp/typeck2.c:747
+msgid "initializer list for object using virtual functions"
+msgstr "klargøringsliste for objekt med virtuelle funktioner"
-#: f/lang-options.h:160
-msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
-msgstr ""
+#: cp/typeck2.c:810 cp/typeck2.c:826
+msgid "missing initializer for member `%D'"
+msgstr "manglende startværdi for medlemmet '%D'"
-#: f/lang-options.h:162
-msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
-msgstr ""
+#: cp/typeck2.c:815
+msgid "uninitialized const member `%D'"
+msgstr "konstant medlem '%D' uden startværdi"
-#: f/lang-options.h:165
-msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
-msgstr ""
+#: cp/typeck2.c:817
+msgid "member `%D' with uninitialized const fields"
+msgstr "medlem '%D' med konstante felter uden startværdi"
-#: f/lang-options.h:167
-msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
-msgstr ""
+#: cp/typeck2.c:820
+msgid "member `%D' is uninitialized reference"
+msgstr "medlemmet '%D' er en reference uden startværdi"
-#: f/lang-options.h:169
-msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
-msgstr ""
+#: cp/typeck2.c:867
+msgid "index value instead of field name in union initializer"
+msgstr "indeksværdi i stedet for feltnavn i union-startværdi"
-#: f/lang-options.h:172
-msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
-msgstr ""
+#: cp/typeck2.c:879
+msgid "no field `%D' in union being initialized"
+msgstr "intet felt '%D' i union der tildeles startværdi"
-#: f/lang-options.h:174
-msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
-msgstr ""
+#: cp/typeck2.c:887
+msgid "union `%T' with no named members cannot be initialized"
+msgstr "union '%T' uden navngivne elementer kan ikke tildeles startværdi"
-#: f/lang-options.h:176
-msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
-msgstr ""
+#: cp/typeck2.c:923
+msgid "excess elements in aggregate initializer"
+msgstr "for mange elementer i startværdi til sammensat type"
-#: f/lang-options.h:179
-msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
-msgstr ""
+#: cp/typeck2.c:1037
+msgid "circular pointer delegation detected"
+msgstr "fundet en henvisningsefterfølgelse der går i ring"
-#: f/lang-options.h:181
-msgid "Delete MIL-STD 1753 intrinsics"
-msgstr ""
+#: cp/typeck2.c:1050
+msgid "base operand of `->' has non-pointer type `%T'"
+msgstr "grundoperanden til '->' har en ikke-henvisningstype '%T'"
-#: f/lang-options.h:183
-msgid "Disable MIL-STD 1753 intrinsics"
-msgstr ""
+#: cp/typeck2.c:1064
+msgid "result of `operator->()' yields non-pointer result"
+msgstr "resultatet af 'operator->()' er ikke en henvisning"
-#: f/lang-options.h:186
-msgid "Hide MIL-STD 1753 intrinsics"
-msgstr ""
+#: cp/typeck2.c:1066
+msgid "base operand of `->' is not a pointer"
+msgstr "grundoperanden til '->' er ikke en henvisning"
-#: f/lang-options.h:188
-msgid "Delete libU77 intrinsics"
-msgstr ""
+#: cp/typeck2.c:1132
+msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
+msgstr "'%E' kan ikke bruges som en medlemshenvisning eftersom udtrykkets type er '%T'"
-#: f/lang-options.h:190
-msgid "Disable libU77 intrinsics"
-msgstr ""
+#: cp/typeck2.c:1139
+msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
+msgstr "kan ikke anvende medlemshenvisning '%E' på '%E' som er af den ikke-sammensatte type '%T'"
-#: f/lang-options.h:193
-msgid "Hide libU77 intrinsics"
-msgstr ""
+#: cp/typeck2.c:1148
+msgid "member type `%T::' incompatible with object type `%T'"
+msgstr "medlemstypen '%T::' uforenelige med objekttypen '%T'"
-#: f/lang-options.h:195
-msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
-msgstr ""
+#: cp/typeck2.c:1185
+msgid "`%T' fails to be a typedef or built-in type"
+msgstr "'%T' er hverken en typedef eller en indbygget type"
-#: f/lang-options.h:197
-msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
-msgstr ""
+#: cp/typeck2.c:1258
+#, c-format
+msgid "ISO C++ forbids defining types within %s"
+msgstr "ISO C++ forbyder definering af typer inden i %s"
-#: f/lang-options.h:200
-msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
-msgstr ""
+#: cp/typeck2.c:1383
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "kald af en funktion '%D' som kaster en ufuldstændig type '%#T'"
-#: f/lang-options.h:202
-msgid "Treat initial values of 0 like non-zero values"
-msgstr ""
+#: cp/typeck2.c:1386
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "kald af en funktion som kaster en ufuldstændig type '%#T'"
-#: f/lang-options.h:205
-msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
-msgstr ""
+#. XXX Not i18n clean.
+#: cp/cp-tree.h:3887
+#, c-format
+msgid "%s is deprecated, please see the documentation for details"
+msgstr "%s er forældet, se venligst dokumentationen for detaljer"
-#: f/lang-options.h:208
-msgid "Take at least one trip through each iterative DO loop"
-msgstr ""
+#: cp/lang-options.h:29
+msgid "Do not obey access control semantics"
+msgstr "Adlyd ikke tilgangskontrolsemantikker"
-#: f/lang-options.h:212
-msgid "Print names of program units as they are compiled"
-msgstr ""
+#: cp/lang-options.h:31
+msgid "Change when template instances are emitted"
+msgstr "Skift hvornår skabelonsinstanser udsendes"
-#: f/lang-options.h:215
-msgid "Disable fatal diagnostics about inter-procedural problems"
-msgstr ""
+#: cp/lang-options.h:36
+msgid "Check the return value of new"
+msgstr "Kontrollér returværdien for new"
-#: f/lang-options.h:217
-msgid "Make prefix-radix non-decimal constants be typeless"
-msgstr ""
+#: cp/lang-options.h:39
+msgid "Reduce size of object files"
+msgstr "Reducér størrelsen af objektfiler"
-#: f/lang-options.h:220
-msgid "Generate code to check subscript and substring bounds"
-msgstr ""
+#: cp/lang-options.h:43
+msgid "Make string literals `char[]' instead of `const char[]'"
+msgstr "Gør strengkonstanter til 'char[]' i stedet for 'const char[]'"
-#: f/lang-options.h:223
-msgid "Fortran-specific form of -fbounds-check"
-msgstr ""
+#: cp/lang-options.h:46
+msgid "Dump the entire translation unit to a file"
+msgstr "Anbring hele oversættelsesenheden i en fil"
-#: f/lang-options.h:227
-msgid "Disable warnings about inter-procedural problems"
-msgstr ""
+#: cp/lang-options.h:48
+msgid "Do not inline member functions by default"
+msgstr "Integrér ikke medlemsfunktioner som standard"
-#: f/lang-options.h:231
-msgid "Warn about constructs with surprising meanings"
-msgstr ""
+#: cp/lang-options.h:51
+msgid "Do not generate run time type descriptor information"
+msgstr "Generér ikke typebeskrivelsesoplysninger til kørselstidspunktet"
-#: f/lang-options.h:236
-msgid "Add a directory for INCLUDE searching"
-msgstr ""
+#: cp/lang-options.h:56
+msgid "Do not generate code to check exception specifications"
+msgstr "Generér ikke kode til at kontrollere undtagelsesspecifikationer"
-#: f/lang-options.h:238
-msgid "Set the maximum line length"
-msgstr ""
+#: cp/lang-options.h:61
+msgid "Scope of for-init-statement vars extends outside"
+msgstr "Udvid virkefeltet for variabler i for-klargøringssætninger"
-#: f/lex.c:692
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr ""
+#: cp/lang-options.h:64
+msgid "Do not recognize GNU defined keywords"
+msgstr "Genkend ikke GNU-definerede reserverede ord"
-#: f/lex.c:708
-#, fuzzy, c-format
-msgid "non-ANSI-standard escape sequence, `\\%c'"
-msgstr "undvigesekvensen '\\%c' følger ikke ISO-standarden"
+#: cp/lang-options.h:68
+msgid "Enable support for huge objects"
+msgstr "Aktivér understøttelse af enorme objekter"
-#: f/lex.c:721
-#, fuzzy, c-format
-msgid "non-ANSI escape sequence `\\%c'"
-msgstr "undvigesekvensen '\\%c' følger ikke ISO-standarden"
+#: cp/lang-options.h:72
+msgid "Export functions even if they can be inlined"
+msgstr "Eksportér funktioner også selvom de kan integreres"
-#: f/lex.c:725
-#, fuzzy, c-format
-msgid "unknown escape sequence `\\%c'"
-msgstr "undvigesekvensen '\\%c' følger ikke ISO-standarden"
+#: cp/lang-options.h:75
+msgid "Only emit explicit template instantiations"
+msgstr "Udsend kun eksplicitte skabelonsinstatieringer"
-#: f/lex.c:727
-#, c-format
-msgid "unknown escape sequence: `\\' followed by char code 0x%x"
-msgstr ""
+#: cp/lang-options.h:78
+msgid "Only emit explicit instantiations of inline templates"
+msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner"
-#: f/lex.c:806
-msgid "Badly formed directive -- no closing quote"
-msgstr ""
+#: cp/lang-options.h:84
+msgid "Don't pedwarn about uses of Microsoft extensions"
+msgstr "Udsend ikke pedantiske advarsler om brug af Microsoft-udvidelser"
-#: f/lex.c:870
-msgid "#-lines for entering and leaving files don't match"
-msgstr "#-linjer til at træde ind og ud af filer passer ikke"
+#: cp/lang-options.h:87
+msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+msgstr "Genkend and/bitand/bitor/compl/not/or/xor"
-#: f/lex.c:1039
-msgid "Bad directive -- missing close-quote"
-msgstr ""
+#: cp/lang-options.h:91
+msgid "Disable optional diagnostics"
+msgstr "Deaktivér valgfrie diagnosticeringer"
-#: f/lex.c:1156
-#, c-format
-msgid "ignoring pragma: %s"
-msgstr ""
+#: cp/lang-options.h:93
+msgid "Downgrade conformance errors to warnings"
+msgstr "Nedgradér standardoverholdelsesfejl til advarsler"
-#: f/lex.c:1257
-#, fuzzy
-msgid "undefined or invalid # directive"
-msgstr "# direktivet '%s' er ugyldigt eller ikke defineret"
+#: cp/lang-options.h:96
+msgid "Enable automatic template instantiation"
+msgstr "Aktivér automatisk skabelonsinstantiering"
-#: f/lex.c:1313
-msgid "invalid #line"
-msgstr "ugyldig #line"
+#: cp/lang-options.h:101
+msgid "Display statistics accumulated during compilation"
+msgstr "Vis statistik som indsamles under oversættelsen"
-#: f/lex.c:1369 f/lex.c:1413
-msgid "Use `#line ...' instead of `# ...' in first line"
-msgstr ""
+#: cp/lang-options.h:104
+msgid "Specify maximum template instantiation depth"
+msgstr "Angiv maksimal skabelonsinstantieringsdybde"
-#: f/lex.c:1423
-msgid "invalid #-line"
-msgstr "ugyldig #-linje"
+#: cp/lang-options.h:106
+msgid "Use __cxa_atexit to register destructors"
+msgstr "Benyt __cxa_atexit til at registrere destruktionsfunktioner"
-#: f/ste.c:1436 f/ste.c:1791
-msgid "ASSIGNed FORMAT specifier is too small"
-msgstr ""
+#: cp/lang-options.h:109
+msgid "Discard unused virtual functions"
+msgstr "Kassér ubrugte virtuelle funktioner"
-#: f/ste.c:3259
-msgid "ASSIGN to variable that is too small"
-msgstr ""
+#: cp/lang-options.h:112
+msgid "Implement vtables using thunks"
+msgstr "Implementér virtuelle tabeller vha. thunk-kode"
-#: f/ste.c:3297
-msgid "ASSIGNed GOTO target variable is too small"
-msgstr ""
+#: cp/lang-options.h:115
+msgid "Emit common-like symbols as weak symbols"
+msgstr "Udsend almindelige symboler som svage symboler"
-#: f/top.c:240
-#, c-format
-msgid "%s no longer supported -- try -fvxt"
-msgstr ""
+#: cp/lang-options.h:118
+msgid "Emit cross referencing information"
+msgstr "Udsend krydsreferenceoplysninger"
-#: f/top.c:242
-#, c-format
-msgid "%s no longer supported -- try -fno-vxt -ff90"
-msgstr ""
+#: cp/lang-options.h:122
+msgid "Warn about inconsistent return types"
+msgstr "Advar om inkonsistente returtyper"
-#: f/top.c:310 f/top.c:312
-#, c-format
-msgid "%s disabled, use normal debugging flags"
-msgstr ""
+#: cp/lang-options.h:125
+msgid "Warn about overloaded virtual function names"
+msgstr "Advar om flertydige virtuelle funktionsnavne"
-#: final.c:3349
-#, fuzzy, c-format
-msgid "invalid `asm': %s"
-msgstr "%s: ugyldigt filnavn: %s\n"
+#: cp/lang-options.h:129
+msgid "Don't warn when all ctors/dtors are private"
+msgstr "Advar ikke når alle konstruktions-/destruktionsfunktioner er private"
-#: final.c:3352
-#, c-format
-msgid "output_operand: %s"
-msgstr "output_operand: %s"
+#: cp/lang-options.h:131
+msgid "Warn about non virtual destructors"
+msgstr "Advar om ikke-virtuelle destruktionsfunktioner"
-#: final.c:3492
-#, c-format
-msgid "operand number missing after %-letter"
-msgstr "operandtal mangler efter %-letter"
+#: cp/lang-options.h:134
+msgid "Warn when a function is declared extern, then inline"
+msgstr "Advar når en funktion erklæret extern erklæres inline"
-#: final.c:3494 final.c:3529
-msgid "operand number out of range"
-msgstr "operandtal er uden for det gyldige interval"
+#: cp/lang-options.h:137
+msgid "Warn when the compiler reorders code"
+msgstr "Advar når oversætteren ændrer på ordenen af kode"
-#: final.c:3543
-#, c-format
-msgid "invalid %%-code"
-msgstr "ugyldig %%-kode"
+#: cp/lang-options.h:140
+msgid "Warn when synthesis behavior differs from Cfront"
+msgstr "Advar når synteseopførslen adskiller sig fra Cfront"
-#: final.c:3570
-msgid "`%l' operand isn't a label"
-msgstr "'%l'-operand er ikke en etiket"
+#: cp/lang-options.h:144
+msgid "Don't warn when type converting pointers to member functions"
+msgstr "Advar ikke ved typeomdannelse af henvisninger til medlemsfunktioner"
-#: flow.c:541
-msgid "function might be possible candidate for attribute `noreturn'"
-msgstr ""
+#: cp/lang-options.h:146
+msgid "Warn about violations of Effective C++ style rules"
+msgstr "Advar om overtrædelser af stilreglerne fra Effective C++"
-#: flow.c:546
-msgid "`noreturn' function does return"
-msgstr ""
+#: cp/lang-options.h:149
+msgid "Warn when overload promotes from unsigned to signed"
+msgstr "Advar når flertydiggørelse forfremmer fra unsigned til signed"
-#: flow.c:567
-msgid "control reaches end of non-void function"
-msgstr ""
+#: cp/lang-options.h:152
+msgid "Warn if a C style cast is used in a program"
+msgstr "Advar hvis en typeomtvingning i C-stil benyttes"
-#: flow.c:6646
-#, c-format
-msgid "End insn %d for block %d not found in the insn stream."
-msgstr "Slutinstruktion %d for blok %d ikke fundet i instruktionsstrømmen."
+#: cp/lang-options.h:156
+msgid "Don't warn when non-templatized friend functions are declared within a template"
+msgstr "Advar ikke når ikke-skabelonsvennefunktioner erklæres inde i en skabelon"
-#: flow.c:6660
-#, c-format
-msgid "Insn %d is in multiple basic blocks (%d and %d)"
-msgstr "Instruktion %d er i flere basisblokke (%d og %d)"
+#: cp/lang-options.h:159
+msgid "Don't announce deprecation of compiler features"
+msgstr "Annoncér ikke forældelse af oversætterfaciliteter"
-#: flow.c:6671
-#, c-format
-msgid "Head insn %d for block %d not found in the insn stream."
-msgstr "Hovedinstruktion %d for blok %d ikke fundet i instruktionsstrømmen."
+#: f/bad.c:387
+msgid "note:"
+msgstr "bemærk:"
-#: flow.c:6708 flow.c:6735
-#, c-format
-msgid "Basic block %i edge lists are corrupted"
-msgstr "Kantlister til basisblok %i er ødelagt"
+#: f/bad.c:391
+msgid "warning:"
+msgstr "advarsel: "
-#: flow.c:6720
-#, c-format
-msgid "Basic block %d pred edge is corrupted"
-msgstr "Forkant til basisblok %d er ødelagt"
+#: f/bad.c:395
+msgid "fatal:"
+msgstr "fatal:"
-#: flow.c:6750
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
-msgstr "NOTE_INSN_BASIC_BLOCK mangler for blok %d"
+#: f/bad.c:437
+msgid "(continued):"
+msgstr "(fortsat):"
-#: flow.c:6758
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d\n"
-msgstr "NOTE_INSN_BASIC_BLOCK mangler for blok %d\n"
+#: f/bad.c:487 f/bad.c:505
+msgid "[REPORT BUG!!] %"
+msgstr "[RAPPORTER FEJL!] %"
-#: flow.c:6774
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK %d in the middle of basic block %d"
-msgstr "NOTE_INSN_BASIC_BLOCK %d i midten af basisblok %d"
+#: f/bad.c:494 f/bad.c:526
+msgid "[REPORT BUG!!]"
+msgstr "[RAPPORTER FEJL!]"
-#: flow.c:6786
-#, c-format
-msgid "In basic block %d:"
-msgstr "I basisblok %d:"
+#: f/com.c:3132
+#, no-c-format
+msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+msgstr "ASSIGN'et etiket kan ikke passe i '%A' ved %0 - bruger bredere søskende"
-#: flow.c:6848
-#, c-format
-msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
-msgstr "antallet af basisbloknoter i instruktionskæden (%d) != n_basic_blocks (%d)"
+#: f/com.c:11623
+msgid "no INTEGER type can hold a pointer on this configuration"
+msgstr "ingen INTEGER-type kan opbevare en henvisning i denne konfiguration"
-#: fold-const.c:3013 fold-const.c:3026
+#: f/com.c:11844
#, c-format
-msgid "comparison is always %d due to width of bitfield"
-msgstr ""
+msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+msgstr "konfiguration: REAL, INTEGER og LOGICAL er %d bit brede,"
-#: fold-const.c:4069 fold-const.c:4086
+#: f/com.c:11846
#, c-format
-msgid "comparison is always %d"
-msgstr ""
-
-#: fold-const.c:4217
-msgid "`or' of unmatched not-equal tests is always 1"
-msgstr ""
+msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+msgstr "og henvisninger er %d bit brede, men g77 virker endnu ikke"
-#: fold-const.c:4222
-msgid "`and' of mutually exclusive equal-tests is always 0"
-msgstr ""
+#: f/com.c:11848
+msgid "properly unless they all are 32 bits wide"
+msgstr "ordentligt medmindre de alle er 32 bit brede"
-#: function.c:5390
-#, fuzzy, c-format
-msgid "`%s' might be used uninitialized in this function"
-msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)"
+#: f/com.c:11849
+msgid "Please keep this in mind before you report bugs."
+msgstr "Husk venligst på dette før du rapporterer fejl."
-#: function.c:5397
+#. I/O will probably crash.
+#: f/com.c:11857
#, c-format
-msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
-msgstr ""
+msgid "configuration: char * holds %d bits, but ftnlen only %d"
+msgstr "konfiguration: char * holder %d bit, men ftnlen kun %d"
-#: function.c:5416
+#. ASSIGN 10 TO I will crash.
+#: f/com.c:11866
#, c-format
-msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
-msgstr ""
+msgid ""
+"configuration: char * holds %d bits, but INTEGER only %d --\n"
+" ASSIGN statement might fail"
+msgstr "konfiguration: char * holder %d bit, men INTEGER kun %d - ASSIGN-sætning kan mislykkes"
-#: function.c:6216
-#, fuzzy
-msgid "function returns an aggregate"
-msgstr "en funktions returtype kan ikke være en funktion"
+#: f/com.c:13681
+msgid "In statement function"
+msgstr "I sætningsfunktion"
-#: function.c:6745
-#, c-format
-msgid "unused parameter `%s'"
-msgstr ""
+#: f/com.c:13691
+msgid "Outside of any program unit:\n"
+msgstr "Uden for nogen programenhed:\n"
-#: gcc.c:954
-#, c-format
-msgid "Ambiguous abbreviation %s"
-msgstr "Flertydig forkortelse %s"
+#: f/com.c:15320
+#, no-c-format
+msgid "%A from %B at %0%C"
+msgstr "%A fra %B ved %0%C"
-#: gcc.c:981
-#, c-format
-msgid "Incomplete `%s' option"
-msgstr "Ufuldstændigt '%s'-tilvalg"
+#: f/com.c:15497
+msgid "directory name must immediately follow -I"
+msgstr "et katalognavn skal følge umiddelbart efter -I"
-#: gcc.c:992
-#, c-format
-msgid "Missing argument to `%s' option"
-msgstr "Der mangler en parameter til '%s'-tilvalget"
+#: f/com.c:15640
+#, no-c-format
+msgid "At %0, INCLUDE file %A exists, but is not readable"
+msgstr "Ved %0 eksisterer INCLUDE-filen %A, men kan ikke læses"
-#: gcc.c:1005
-#, c-format
-msgid "Extraneous argument to `%s' option"
-msgstr "Der er en parameter for meget til '%s'-tilvalget"
+#: f/com.c:15675
+#, no-c-format
+msgid "At %0, INCLUDE nesting too deep"
+msgstr "Ved %0 er INCLUDE-indlejring for dyb"
-#: gcc.c:1308
-msgid "Using builtin specs.\n"
-msgstr "Benytter indbyggede specifikationer.\n"
+#: f/expr.c:9614
+#, no-c-format
+msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+msgstr "To aritmetiske operatorer efter hinanden ved %0 og %1 - benyt paranteser"
-#: gcc.c:1474
-#, c-format
-msgid "Setting spec %s to '%s'\n\n"
-msgstr "Sætter specifikation %s til '%s'\n\n"
+#: f/expr.c:9664
+#, no-c-format
+msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+msgstr "Operatoren ved %0 har lavere prioritet end den ved %1 - benyt paranteser"
-#: gcc.c:1572
-#, c-format
-msgid "Reading specs from %s\n"
-msgstr "Læser specifikationer fra %s\n"
+#: 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 "Benyt .EQV./.NEQV. i stedet for .EQ./.NE. ved %0 for LOGICAL-operander ved %1 og %2"
-#: gcc.c:1670 gcc.c:1689
-#, c-format
-msgid "specs %%include syntax malformed after %ld characters"
-msgstr "%%include-syntaks i specifikationer misdannet efter %ld tegn"
+#: f/expr.c:10896
+#, no-c-format
+msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+msgstr "Ikke-understøttet operand for ** ved %1 - konverterer til standard-INTEGER"
-#: gcc.c:1697
+#: f/g77spec.c:234
#, c-format
-msgid "Could not find specs file %s\n"
-msgstr "Kun ikke finde specifikationsfil %s\n"
+msgid "overflowed output arg list for `%s'"
+msgstr "overløb i uddataparameterlist for '%s'"
-#: gcc.c:1713 gcc.c:1721 gcc.c:1730 gcc.c:1739
-#, c-format
-msgid "specs %%rename syntax malformed after %ld characters"
-msgstr "%%rename-syntaks i specifikationer misdannet efter %ld tegn"
+#: f/g77spec.c:373
+msgid "--driver no longer supported"
+msgstr "--driver understøttes ikke længere"
-#: gcc.c:1748
+#: f/g77spec.c:386
#, c-format
-msgid "specs %s spec was not found to be renamed"
-msgstr "%s-specifikation i specifikationer kunne ikke findes til omdøbelse"
+msgid "argument to `%s' missing"
+msgstr "parameter til '%s' mangler"
+
+#: f/g77spec.c:390
+msgid "no input files; unwilling to write output files"
+msgstr "ingen inputfiler; vil ikke skrive outputfiler"
+
+#: f/implic.c:203
+#, no-c-format
+msgid "Implicit declaration of `%A' at %0"
+msgstr "Implicit erklæring af '%A' ved %0"
+
+#: f/lex.c:326
+#, no-c-format
+msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+msgstr "Undvigesekvensen '\\%A' ved %0 følger ikke ISO C-standarden"
+
+#: f/lex.c:345
+#, no-c-format
+msgid "Unknown escape sequence `\\%A' at %0"
+msgstr "Ukendt undvigesekvens '\\%A' ved %0"
+
+#: f/lex.c:354
+#, no-c-format
+msgid "Unterminated escape sequence `\\' at %0"
+msgstr "Uafsluttet undvigsekvens '\\' ved %0"
+
+#: f/lex.c:365
+#, no-c-format
+msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+msgstr "Ukendt undvigesekvens '\\' efterfulgt af tegnkode 0x%A ved %0"
+
+#: f/lex.c:393
+#, no-c-format
+msgid "\\x used at %0 with no following hex digits"
+msgstr "\\x angivet ved %0 uden efterfølgende hexadecimale cifre"
+
+#: f/lex.c:407
+#, no-c-format
+msgid "Hex escape at %0 out of range"
+msgstr "Hexadecimal undvigesekvens ved %0 er uden for det gyldige interval"
+
+#: f/lex.c:441
+#, no-c-format
+msgid "Escape sequence at %0 out of range for character"
+msgstr "Undvigesekvens ved %0 er uden for det gyldig interval for tegn"
+
+#: f/lex.c:595
+msgid "hex escape out of range"
+msgstr "hexadecimal undvigesekvens er uden for det gyldige interval"
-#: gcc.c:1755
+#: f/lex.c:648
#, c-format
-msgid "rename spec %s to %s\n"
-msgstr "omdøb specifikation %s til %s\n"
+msgid "non-ANSI-standard escape sequence, `\\%c'"
+msgstr "undvigesekvensen '\\%c' følger ikke ANSI-standarden"
-#: gcc.c:1757
+#: f/lex.c:661
#, c-format
-msgid "spec is '%s'\n\n"
-msgstr "specifikation er '%s'\n\n"
+msgid "non-ISO escape sequence `\\%c'"
+msgstr "undvigesekvensen '\\%c' følger ikke ISO-standarden"
-#: gcc.c:1770
+#: f/lex.c:665
#, c-format
-msgid "specs unknown %% command after %ld characters"
-msgstr "ukendt %%-kommando i specifikationer efter %ld tegn"
+msgid "unknown escape sequence `\\%c'"
+msgstr "ukendt undvigesekvens '\\%c'"
-#: gcc.c:1781 gcc.c:1794
+#: f/lex.c:667
#, c-format
-msgid "specs file malformed after %ld characters"
-msgstr "specifikationsfil misdannet efter %ld tegn"
-
-#: gcc.c:1848
-msgid "spec file has no spec for linking"
-msgstr "specifikationsfil har ingen specifikation til sammenkædning"
-
-#: gcc.c:2609
-msgid "-pipe not supported"
-msgstr "-pipe understøttes ikke"
+msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+msgstr "ukendt undvigesekvens: '\\' efterfulgt af tegnkoden 0x%x"
-#: gcc.c:2645
-msgid "\nGo ahead? (y or n) "
-msgstr "\nFortsæt, ja (y) eller nej (n)?"
+#: f/lex.c:744
+msgid "badly formed directive -- no closing quote"
+msgstr "forkert udformet direktiv - intet afsluttende anførselstegn"
-#: gcc.c:2744
-#, fuzzy, c-format
-msgid ""
-"Internal error: %s (program %s)\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"Intern oversætterfejl i '%s', ved %s:%d\n"
-"Send venligst en komplet fejlrapport.\n"
-"Se %s for instruktioner."
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
+msgstr "#-linjer til at træde ind og ud af filer passer ikke"
-#: gcc.c:2762
-#, c-format
-msgid "# %s %.2f %.2f\n"
-msgstr "# %s %.2f %.2f\n"
+#: f/lex.c:964
+msgid "bad directive -- missing close-quote"
+msgstr "forkert udformet direktiv - intet afsluttende anførselstegn"
-#: gcc.c:2890
+#: f/lex.c:1078
#, c-format
-msgid "Usage: %s [options] file...\n"
-msgstr ""
-
-#: gcc.c:2891
-msgid "Options:\n"
-msgstr ""
-
-#: gcc.c:2893
-msgid " -pass-exit-codes Exit with highest error code from a phase\n"
-msgstr ""
-
-#: gcc.c:2894
-msgid " --help Display this information\n"
-msgstr ""
-
-#: gcc.c:2895
-msgid " --target-help Display target specific command line options\n"
-msgstr ""
-
-#: gcc.c:2897
-msgid " (Use '-v --help' to display command line options of sub-processes)\n"
-msgstr ""
-
-#: gcc.c:2898
-msgid " -dumpspecs Display all of the built in spec strings\n"
-msgstr ""
-
-#: gcc.c:2899
-msgid " -dumpversion Display the version of the compiler\n"
-msgstr ""
-
-#: gcc.c:2900
-msgid " -dumpmachine Display the compiler's target processor\n"
-msgstr ""
-
-#: gcc.c:2901
-msgid " -print-search-dirs Display the directories in the compiler's search path\n"
-msgstr ""
-
-#: gcc.c:2902
-msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
-msgstr ""
-
-#: gcc.c:2903
-msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
-msgstr ""
-
-#: gcc.c:2904
-msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
-msgstr ""
-
-#: gcc.c:2905
-msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
-msgstr ""
-
-#: gcc.c:2906
-msgid ""
-" -print-multi-lib Display the mapping between command line options and\n"
-" multiple library search directories\n"
-msgstr ""
-
-#: gcc.c:2909
-msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
-msgstr ""
-
-#: gcc.c:2910
-msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
-msgstr ""
-
-#: gcc.c:2911
-msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
-msgstr ""
-
-#: gcc.c:2912
-msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
-msgstr ""
+msgid "ignoring pragma: %s"
+msgstr "ignorerer pragma: %s"
-#: gcc.c:2913
-msgid " -save-temps Do not delete intermediate files\n"
-msgstr ""
+#: f/lex.c:1156
+msgid "invalid #ident"
+msgstr "ugyldig #ident"
-#: gcc.c:2914
-msgid " -pipe Use pipes rather than intermediate files\n"
-msgstr ""
+#: f/lex.c:1173
+msgid "undefined or invalid # directive"
+msgstr "ugyldigt eller ikke-defineret #-direktiv"
-#: gcc.c:2915
-msgid " -time Time the execution of each subprocess\n"
-msgstr ""
+#: f/lex.c:1229
+msgid "invalid #line"
+msgstr "ugyldig #line"
-#: gcc.c:2916
-msgid " -specs=<file> Override builtin specs with the contents of <file>\n"
-msgstr ""
+#: f/lex.c:1285 f/lex.c:1329
+msgid "use `#line ...' instead of `# ...' in first line"
+msgstr "benyt '#line ...' i stedet for '# ...' i første linje"
-#: gcc.c:2917
-msgid " -std=<standard> Assume that the input sources are for <standard>\n"
-msgstr ""
+#: f/lex.c:1339
+msgid "invalid #-line"
+msgstr "ugyldig #-linje"
-#: gcc.c:2918
-msgid " -B <directory> Add <directory> to the compiler's search paths\n"
-msgstr ""
+#: f/lex.c:1432
+#, no-c-format
+msgid "Null character at %0 -- line ignored"
+msgstr "Nultegn ved %0 - linje ignoreret"
-#: gcc.c:2919
-msgid " -b <machine> Run gcc for target <machine>, if installed\n"
-msgstr ""
+#: f/stb.c:12078
+#, no-c-format
+msgid "INCLUDE at %0 not the only statement on the source line"
+msgstr "INCLUDE ved %0 er ikke den eneste sætning på kildekodelinjen"
-#: gcc.c:2920
-msgid " -V <version> Run gcc version number <version>, if installed\n"
-msgstr ""
+#: f/ste.c:1400 f/ste.c:1747
+msgid "ASSIGNed FORMAT specifier is too small"
+msgstr "ASSIGN'et FORMAT-angivelse er for lille"
-#: gcc.c:2921
-msgid " -v Display the programs invoked by the compiler\n"
-msgstr ""
+#. ~~~Someday handle CHARACTER*1, CHARACTER*N
+#: f/ste.c:2624
+#, no-c-format
+msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+msgstr "SELECT CASE på CHARACTER-type (ved %0) er ikke understøttet - desværre"
-#: gcc.c:2922
-msgid " -E Preprocess only; do not compile, assemble or link\n"
-msgstr ""
+#: f/ste.c:2729
+msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+msgstr "SELECT (ved %0) har ens tilfælde -- tjek heltalsoverløb af CASEs"
-#: gcc.c:2923
-msgid " -S Compile only; do not assemble or link\n"
-msgstr ""
+#: f/ste.c:2959
+msgid "ASSIGN to variable that is too small"
+msgstr "ASSIGN til variabel der er for lille"
-#: gcc.c:2924
-msgid " -c Compile and assemble, but do not link\n"
-msgstr ""
+#: f/ste.c:2987
+msgid "ASSIGNed GOTO target variable is too small"
+msgstr "ASSIGN'et GOTO-målvariabel er for lille"
-#: gcc.c:2925
-msgid " -o <file> Place the output into <file>\n"
-msgstr ""
+#: f/stu.c:305
+#, no-c-format
+msgid "Local adjustable symbol `%A' at %0"
+msgstr "Lokalt justerbart symbol '%A' ved %0"
-#: gcc.c:2926
-msgid ""
-" -x <language> Specify the language of the following input files\n"
-" Permissable languages include: c c++ assembler none\n"
-" 'none' means revert to the default behaviour of\n"
-" guessing the language based on the file's extension\n"
-msgstr ""
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr "datastartværdi på vært med anden endethed"
-#: gcc.c:2933
+#: f/top.c:237
#, c-format
-msgid ""
-"\n"
-"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
-" passed on to the various sub-processes invoked by %s. In order to pass\n"
-" other options on to these processes the -W<letter> options must be used.\n"
-msgstr ""
-
-#: gcc.c:3300
-msgid "argument to `-Xlinker' is missing"
-msgstr "en parameter til '-Xlinker' mangler"
-
-#: gcc.c:3317
-msgid "argument to `-specs' is missing"
-msgstr "en parameter til '-specs' mangler"
-
-#: gcc.c:3332
-msgid "argument to `-specs=' is missing"
-msgstr "en parameter til '-specs=' mangler"
-
-#: gcc.c:3354
-msgid "argument to `-b' is missing"
-msgstr "en parameter til '-b' mangler"
-
-#: gcc.c:3367
-msgid "argument to `-B' is missing"
-msgstr "en parameter til '-B' mangler"
-
-#: gcc.c:3420
-msgid "argument to `-V' is missing"
-msgstr "en parameter til '-V' mangler"
-
-#: gcc.c:3441 gcc.c:3448 gcc.c:3455
-msgid "invalid version number format"
-msgstr "ugyldigt versionsnummerformat"
-
-#: gcc.c:3566
-msgid "cannot specify -o with -c or -S and multiple compilations"
-msgstr "kan ikke angive -o med -c eller -S og flere oversættelser"
-
-#: gcc.c:3762
-#, fuzzy
-msgid "Warning: -pipe ignored because -save-temps specified"
-msgstr "Advarsel: -pipe ignoreret eftersom -save-temps er angivet"
-
-#: gcc.c:3766
-#, fuzzy
-msgid "Warning: -pipe ignored because -time specified"
-msgstr "Advarsel: -pipe ignoreret eftersom -time er angivet"
-
-#: gcc.c:3776
-msgid "argument to `-x' is missing"
-msgstr "en parameter til '-x' mangler"
+msgid "%s no longer supported -- try -fvxt"
+msgstr "%s er ikke længere understøttet - prøv -fvxt"
-#: gcc.c:3804
+#: f/top.c:239
#, c-format
-msgid "argument to `-%s' is missing"
-msgstr "en parameter til '-%s' mangler"
+msgid "%s no longer supported -- try -fno-vxt -ff90"
+msgstr "%s er ikke længere understøttet - prøv -fno-vxt -ff90"
-#: gcc.c:3867
+#: f/top.c:307 f/top.c:309
#, c-format
-msgid "Warning: `-x %s' after last input file has no effect"
-msgstr "Advarsel: '-x %s' efter den sidste inddatafil udvirker intet"
+msgid "%s disabled, use normal debugging flags"
+msgstr "%s deaktiveret, benyt normale fejlanalyseringstilvalg"
-#: gcc.c:4072
-msgid "Invalid specification! Bug in cc."
-msgstr "Ugyldig specifikation! Fejl i cc."
+#: f/lang-options.h:33
+msgid "Print g77-specific compiler version info, run internal tests"
+msgstr "Udskriv g77-specifik oversætterversioninfo, kør interne test"
-#: gcc.c:4221
-#, fuzzy, c-format
-msgid "%s\n"
-msgstr "%s"
+#: f/lang-options.h:37
+msgid "Program is written in typical FORTRAN 66 dialect"
+msgstr "Program er skrevet i typisk FORTRAN 66-dialekt"
-#. 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:4738
-#, c-format
-msgid "Spec failure: '%%*' has not been initialised by pattern match"
-msgstr "Specifikationsfejl: '%%*' er ikke blevet klargjort af mønstersøgning"
+#: f/lang-options.h:40
+msgid "Program is written in typical Unix f77 dialect"
+msgstr "Program er skrevet i typisk Unix f77-dialekt"
-#: gcc.c:4747
-#, c-format
-msgid "Warning: use of obsolete %%[ operator in specs"
-msgstr "Advarsel: forældet '%%['-operator benyttet i specifikationer"
+#: f/lang-options.h:42
+msgid "Program does not use Unix-f77 dialectal features"
+msgstr "Program benytter ikke Unix f77-dialektiske faciliteter"
-#: gcc.c:4765
-#, c-format
-msgid "Processing spec %c%s%c, which is '%s'\n"
-msgstr "Behandler specifikation %c%s%c, som er '%s'\n"
+#: f/lang-options.h:44
+msgid "Program is written in Fortran-90-ish dialect"
+msgstr "Program er skrevet i Fortran 90-agtig dialekt"
-#: gcc.c:4890
-#, c-format
-msgid "Spec failure: Unrecognised spec option '%c'"
-msgstr "Specifikationsfejl: Ukendt specifikationstilvalg '%c'"
+#: f/lang-options.h:48
+msgid "Treat local vars and COMMON blocks as if they were named in SAVE statements"
+msgstr "Behandl lokale variable og COMMON-blokke som om de var nævnt i SAVE-sætninger"
-#: gcc.c:5744
-#, c-format
-msgid "unrecognized option `-%s'"
-msgstr "ukendt tilvalg '-%s'"
+#: f/lang-options.h:50
+msgid "Allow $ in symbol names"
+msgstr "Tillad $ i symbolnavne"
-#: gcc.c:5750
-#, c-format
-msgid "install: %s%s\n"
-msgstr ""
+#: f/lang-options.h:54
+msgid "f2c-compatible code need not be generated"
+msgstr "f2c-kompatibel kode behøver ikke at blive genereret"
-#: gcc.c:5751
-#, c-format
-msgid "programs: %s\n"
-msgstr ""
+#: f/lang-options.h:57
+msgid "Unsupported; do not generate libf2c-calling code"
+msgstr "Ikke-understøttet; generér ikke libf2c-kaldende kode"
-#: gcc.c:5752
-#, c-format
-msgid "libraries: %s\n"
-msgstr ""
+#: f/lang-options.h:59
+msgid "Unsupported; affects code-generation of arrays"
+msgstr "Ikke-understøttet; påvirker kodegenerering af tabeller"
-#: gcc.c:5800
-msgid "\nFor bug reporting instructions, please see:\n"
-msgstr ""
+#: f/lang-options.h:62
+msgid "Program is written in Fortran-90-ish free form"
+msgstr "Program er skrevet i Fortran 90-agtig fri stil"
-#: gcc.c:5816
-#, c-format
-msgid "Configured with: %s\n"
-msgstr ""
+#: f/lang-options.h:67
+msgid "Warn about use of (only a few for now) Fortran extensions"
+msgstr "Advar om brug af (i øjeblikket kun nogle få) Fortran-udvidelser"
-#: gcc.c:5830
-#, c-format
-msgid "Thread model: %s\n"
-msgstr ""
+#: f/lang-options.h:70
+msgid "Program is written in VXT (Digital-like) FORTRAN"
+msgstr "Program er skrevet i VXT (Digital-agtig) FORTRAN"
-#: gcc.c:5841
-#, c-format
-msgid "gcc version %s\n"
-msgstr "gcc version %s\n"
+#: f/lang-options.h:73
+msgid "Disallow all ugly features"
+msgstr "Forbyd alle grimme faciliteter"
-#: gcc.c:5843
-#, c-format
-msgid "gcc driver version %s executing gcc version %s\n"
-msgstr "gcc-styringsprogram version %s kører gcc version %s\n"
+# hollerith?
+#: f/lang-options.h:76
+msgid "Hollerith and typeless constants not passed as arguments"
+msgstr "Hollerith og typeløse konstanter overbringes ikke som parametre"
-#: gcc.c:5851
-msgid "No input files"
-msgstr "Ingen inddatafiler"
+#: f/lang-options.h:78
+msgid "Allow ordinary copying of ASSIGN'ed vars"
+msgstr "Tillad almindelig kopiering af ASSIGN'ede variable"
-#: gcc.c:5888
-#, c-format
-msgid "%s: %s compiler not installed on this system"
-msgstr "%s: %s-oversætter ikke installeret på dette system"
+# RETMIG: ?
+#: f/lang-options.h:81
+msgid "Dummy array dimensioned to (1) is assumed-size"
+msgstr "Dummy-tabel dimensioneret til (1) er antaget størrelse"
-#: gcc.c:5958
-#, fuzzy, c-format
-msgid "%s: linker input file unused because linking not done"
-msgstr "%s: sammenkæderinddatafil ikke benyttet eftersom sammenkædning ikke blev foretaget"
+#: f/lang-options.h:84
+msgid "Trailing comma in procedure call denotes null argument"
+msgstr "Afsluttende komma i procedurekald angiver nulparameter"
-#: gcc.c:6001
-#, c-format
-msgid "language %s not recognized"
-msgstr "sproget %s ikke genkendt"
+#: f/lang-options.h:87
+msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+msgstr "Tillad REAL(Z) og AIMAG(Z) givet DOUBLE COMPLEX Z"
-#: gcc.c:6104
-msgid "Internal gcc abort."
-msgstr "Intern gcc-afbrydelse."
+#: f/lang-options.h:91
+msgid "Initialization via DATA and PARAMETER is type-compatible"
+msgstr "Klargøring via DATA og PARAMETER er type-kompatible"
-#: gcov.c:299
-msgid "Internal gcov abort.\n"
-msgstr "Intern gcov afbrydelse.\n"
+#: f/lang-options.h:93
+msgid "Allow INTEGER and LOGICAL interchangeability"
+msgstr "Tillad INTEGER og LOGICAL på hinandens plads"
-#: gcov.c:308
-msgid "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file\n"
-msgstr "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJKAT] fil\n"
+#: f/lang-options.h:96
+msgid "Print internal debugging-related info"
+msgstr "Udskriv intern fejlanalyseringsrelateret info"
-#: gcov.c:428
-#, c-format
-msgid "Could not open basic block file %s.\n"
-msgstr "Kunne ikke åbne basisblokfilen %s.\n"
+#: f/lang-options.h:99
+msgid "Initialize local vars and arrays to zero"
+msgstr "Klargør lokale variable og tabeller til nul"
-#: gcov.c:437
-#, c-format
-msgid "Could not open data file %s.\n"
-msgstr "Kunne ikke åbne datafilen %s.\n"
+#: f/lang-options.h:103
+msgid "Backslashes in character/hollerith constants not special (C-style)"
+msgstr "Omvendte skråstreger i tegn/hollerith-konstanter er ikke specielle (C-stil)"
-#: gcov.c:438
-msgid "Assuming that all execution counts are zero.\n"
-msgstr "Antager at alle kørselstællere er nul.\n"
+#: f/lang-options.h:105
+msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+msgstr "Lad forenden emulere COMPLEX-beregninger for at undgå fejl"
-#: gcov.c:444
-#, c-format
-msgid "Could not open program flow graph file %s.\n"
-msgstr "Kunne ikke åbne programstrømsgraffilen %s.\n"
+#: f/lang-options.h:109
+msgid "Disable the appending of underscores to externals"
+msgstr "Deaktivér tilføjelse af understreger bag på eksterne variable"
-#: gcov.c:455
-#, c-format
-msgid "No executable code associated with file %s.\n"
-msgstr "Ingen kørbar kode associeret med filen %s.\n"
+#: f/lang-options.h:112
+msgid "Never append a second underscore to externals"
+msgstr "Tilføj aldrig en anden understreg til eksterne variable"
-#: gcov.c:754 profile.c:977
-msgid ".da file contents exhausted too early\n"
-msgstr "indholdet af .da-filen er udtømt for tidligt\n"
+#: f/lang-options.h:114
+msgid "Intrinsics spelled as e.g. SqRt"
+msgstr "Indbyggede staves som f.eks. SqRt"
-#: gcov.c:757 profile.c:980
-msgid ".da file contents not exhausted\n"
-msgstr "indholdet af .da-filen ikke udtømt\n"
+#: f/lang-options.h:116
+msgid "Intrinsics in uppercase"
+msgstr "Indbyggede staves med store bogstaver"
-#: gcov.c:938
-#, c-format
-msgid "%6.2f%% of %d source lines executed in function %s\n"
-msgstr "%6.2f%% af %d kildekodelinjer udført i funktionen %s\n"
+#: f/lang-options.h:119
+msgid "Intrinsics letters in arbitrary cases"
+msgstr "Der skelnes ikke mellem små og store bogstaver i indbyggede"
-#: gcov.c:942
-#, c-format
-msgid "No executable source lines in function %s\n"
-msgstr "Ingen kørbare kildekodelinjer i funktionen %s\n"
+#: f/lang-options.h:121
+msgid "Language keywords spelled as e.g. IOStat"
+msgstr "Sprognøgleord staves som f.eks. IOStat"
-#: gcov.c:949
-#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
-msgstr "%6.2f%% af %d forgreninger udført i funktionen %s\n"
+#: f/lang-options.h:123
+msgid "Language keywords in uppercase"
+msgstr "Sprognøgleord staves med store bogstaver"
-#: gcov.c:953
-#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
-msgstr "%6.2f%% af %d forgreninger valgt mindst én gang i funktionen %s\n"
+#: f/lang-options.h:126
+msgid "Language keyword letters in arbitrary cases"
+msgstr "Der skelnes ikke mellem små og store bogstaver i sprognøgleord"
-#: gcov.c:958
-#, c-format
-msgid "No branches in function %s\n"
-msgstr "Ingen forgreninger i funktionen %s\n"
+#: f/lang-options.h:128
+msgid "Internally convert most source to uppercase"
+msgstr "Konvertér det meste kildekode til store bogstaver internt"
-#: gcov.c:960
-#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
-msgstr "%6.2f%% af %d kald udført i funktionen %s\n"
+#: f/lang-options.h:131
+msgid "Internally preserve source case"
+msgstr "Bevar de store/små bogstaver i kildekoden internt"
-#: gcov.c:964
-#, c-format
-msgid "No calls in function %s\n"
-msgstr "Ingen kald i funktionen %s\n"
+#: f/lang-options.h:133
+msgid "Symbol names spelled in mixed case"
+msgstr "Symbolnavne staves med en blanding af store og små bogstaver"
-#: gcov.c:1096
-#, c-format
-msgid "didn't use all bb entries of graph, function %s\n"
-msgstr "brugte ikke alle grafens basisblokelementer, funktion %s\n"
+#: f/lang-options.h:135
+msgid "Symbol names in uppercase"
+msgstr "Symbolnavne staves med store bogstaver"
-#: gcov.c:1098
-#, c-format
-msgid "block_num = %ld, num_blocks = %d\n"
-msgstr "block_num = %ld, num_blocks = %d\n"
+#: f/lang-options.h:137
+msgid "Symbol names in lowercase"
+msgstr "Symbolnavne staves med små bogstaver"
-#: gcov.c:1136
-#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
-msgstr "Fejl: for mange basisblokke i .bb-filen %s\n"
+#: f/lang-options.h:140
+msgid "Program written in uppercase"
+msgstr "Program skrives med store bogstaver"
-#: gcov.c:1213
-#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
-msgstr "%6.2f%% af %d kildekodelinjer udført i filen %s\n"
+#: f/lang-options.h:142
+msgid "Program written in lowercase"
+msgstr "Program skrives med små bogstaver"
-#: gcov.c:1217
-#, c-format
-msgid "No executable source lines in file %s\n"
-msgstr "Ingen kørbare kildekodelinjer i filen %s\n"
+#: f/lang-options.h:144
+msgid "Program written in strict mixed-case"
+msgstr "Program skrives med streng blanding af store/små bogstaver"
-#: gcov.c:1224
-#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
-msgstr "%6.2f%% af %d forgreninger udført i filen %s\n"
+#: f/lang-options.h:146
+msgid "Compile as if program written in uppercase"
+msgstr "Oversæt som hvis programmet var skrevet med store bogstaver"
-#: gcov.c:1228
-#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
-msgstr "%6.2f%% af %d forgreninger valgt mindst én gang i filen %s\n"
+#: f/lang-options.h:148
+msgid "Compile as if program written in lowercase"
+msgstr "Oversæt som hvis programmet var skrevet med små bogstaver"
-#: gcov.c:1233
-#, c-format
-msgid "No branches in file %s\n"
-msgstr "Ingen forgreninger i filen %s\n"
+#: f/lang-options.h:150
+msgid "Preserve all spelling (case) used in program"
+msgstr "Bevar al stavning (store/små bogstaver) benyttet i programmet"
-#: gcov.c:1235
-#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
-msgstr "%6.2f%% af %d kald udført i filen %s\n"
+#: f/lang-options.h:152
+msgid "Delete libU77 intrinsics with bad interfaces"
+msgstr "Slet libU77-indbyggede med dårlige grænseflader"
-#: gcov.c:1239
-#, c-format
-msgid "No calls in file %s\n"
-msgstr "Ingen kald i filen %s\n"
+#: f/lang-options.h:154
+msgid "Disable libU77 intrinsics with bad interfaces"
+msgstr "Deaktivér libU77-indbyggede med dårlige grænseflader"
-#: gcov.c:1251
-#, c-format
-msgid "Could not open source file %s.\n"
-msgstr "Kunne ikke åbne kildefilen %s.\n"
+#: f/lang-options.h:157
+msgid "Hide libU77 intrinsics with bad interfaces"
+msgstr "Skjul libU77-indbyggede med dårlige grænseflader"
-#: gcov.c:1301
-#, c-format
-msgid "Could not open output file %s.\n"
-msgstr "Kunne ikke åbne uddatafilen %s.\n"
+#: f/lang-options.h:159
+msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
+msgstr "Slet f2c-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcov.c:1309
-#, c-format
-msgid "Creating %s.\n"
-msgstr "Opretter %s.\n"
+#: f/lang-options.h:161
+msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
+msgstr "Deaktivér f2c-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcov.c:1353
-#, c-format
-msgid "call %d never executed\n"
-msgstr "kald %d aldrig udført\n"
+#: f/lang-options.h:164
+msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
+msgstr "Skjul f2c-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcov.c:1358
-#, c-format
-msgid "call %d returns = %d\n"
-msgstr "kald %d returnerer = %d\n"
+#: f/lang-options.h:166
+msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
+msgstr "Slet F90-understøttelse af ikke-FORTRAN-77-indbyggede "
-#: gcov.c:1362
-#, c-format
-msgid "call %d returns = %d%%\n"
-msgstr "kald %d returnerer = %d%%\n"
+#: f/lang-options.h:168
+msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
+msgstr "Deaktivér F90-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcov.c:1370
-#, c-format
-msgid "branch %d never executed\n"
-msgstr "forgrening %d aldrig udført\n"
+#: f/lang-options.h:171
+msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
+msgstr "Skjul F90-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcov.c:1376
-#, c-format
-msgid "branch %d taken = %d\n"
-msgstr "forgrening %d valgt = %d\n"
+#: f/lang-options.h:173
+msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
+msgstr "Slet g77-understøttelse af ikke-FORTRAN-77-indbyggede "
-#: gcov.c:1380
-#, c-format
-msgid "branch %d taken = %d%%\n"
-msgstr "forgrening %d valgt = %d%%\n"
+#: f/lang-options.h:175
+msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
+msgstr "Deaktivér g77-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcov.c:1394
-#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
-msgstr "Stødt på slutningen af kildefilen %s tidligere end forventet.\n"
+#: f/lang-options.h:178
+msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
+msgstr "Skjul g77-understøttelse af ikke-FORTRAN-77-indbyggede"
-#: gcse.c:691
-#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr ""
+#: f/lang-options.h:180
+msgid "Delete MIL-STD 1753 intrinsics"
+msgstr "Slet MIL-STD 1753-indbyggede"
-#: gcse.c:703
-#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
-msgstr ""
+#: f/lang-options.h:182
+msgid "Disable MIL-STD 1753 intrinsics"
+msgstr "Deaktivér MIL-STD 1753-indbyggede"
-#: haifa-sched.c:193
-#, c-format
-msgid "fix_sched_param: unknown param: %s"
-msgstr ""
+#: f/lang-options.h:185
+msgid "Hide MIL-STD 1753 intrinsics"
+msgstr "Skjul MIL-STD 1753-indbyggede"
-#: integrate.c:142
-#, fuzzy
-msgid "function cannot be inline"
-msgstr "funktioner med variabel parameterliste kan ikke indbygges"
+#: f/lang-options.h:187
+msgid "Delete libU77 intrinsics"
+msgstr "Slet libU77-indbyggede"
-#: integrate.c:147
-msgid "varargs function cannot be inline"
-msgstr "funktioner med variabel parameterliste kan ikke indbygges"
+#: f/lang-options.h:189
+msgid "Disable libU77 intrinsics"
+msgstr "Deaktivér libU77-indbyggede"
-#: integrate.c:150
-msgid "function using alloca cannot be inline"
-msgstr "funktion der bruger alloca, kan ikke indbygges"
+#: f/lang-options.h:192
+msgid "Hide libU77 intrinsics"
+msgstr "Skjul libU77-indbyggede"
-#: integrate.c:153
-msgid "function using setjmp cannot be inline"
-msgstr "funktioner der bruger setjmp, kan ikke indbygges"
+#: f/lang-options.h:194
+msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr "Slet VXT FORTRAN-understøttelse af ikke-FORTRAN-77-indbyggede "
-#: integrate.c:156
-msgid "function uses __builtin_eh_return"
-msgstr "funktionen bruger __builtin_eh_return"
+#: f/lang-options.h:196
+msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr "Deaktivér VXT FORTRAN-understøttelse af ikke-FORTRAN-77-indbyggede "
-#: integrate.c:159
-msgid "function with nested functions cannot be inline"
-msgstr "funktioner med indlejrede funktioner kan ikke indbygges"
+#: f/lang-options.h:199
+msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr "Skjul VXT FORTRAN-understøttelse af ikke-FORTRAN-77-indbyggede "
-#: integrate.c:163
-msgid "function with label addresses used in initializers cannot inline"
-msgstr "funktioner hvor etiketadresser benyttes i klargøringer, kan ikke indbygges"
+#: f/lang-options.h:201
+msgid "Treat initial values of 0 like non-zero values"
+msgstr "Behandl begyndelsesværdier på 0 som værdier forskellig fra nul"
-#: integrate.c:170 integrate.c:214
-msgid "function too large to be inline"
-msgstr "funktionen er for stor til at blive indbygget"
+#: f/lang-options.h:204
+msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+msgstr "Udsend speciel fejlanalyseringsinfo for COMMON og EQUIVALENCE (deaktiveret)"
-#: integrate.c:180
-msgid "no prototype, and parameter address used; cannot be inline"
-msgstr "ingen prototype, og parameteradressen benyttes; kan ikke indbygges"
+#: f/lang-options.h:207
+msgid "Take at least one trip through each iterative DO loop"
+msgstr "Tag i det mindste et skridt gennem hver DO-løkke"
-#: integrate.c:187 integrate.c:232
-msgid "inline functions not supported for this return value type"
-msgstr "integrerede funktioner understøttes ikke for denne returværditype"
+#: f/lang-options.h:211
+msgid "Print names of program units as they are compiled"
+msgstr "Udskriv navne på programenheder efterhånden som de oversættes"
-#: integrate.c:192
-msgid "function with varying-size return value cannot be inline"
-msgstr "funktioner med returværdier af varierende størrelse kan ikke indbygges"
+#: f/lang-options.h:214
+msgid "Disable fatal diagnostics about inter-procedural problems"
+msgstr "Deaktivér fatale diagnosticeringer af interprocedurale procedurer"
-#: integrate.c:199
-msgid "function with varying-size parameter cannot be inline"
-msgstr "funktioner med parametre af varierende størrelse kan ikke indbygges"
+#: f/lang-options.h:216
+msgid "Make prefix-radix non-decimal constants be typeless"
+msgstr "Gør præfiks-grundtal ikke-decimale konstanter typeløse"
-#: integrate.c:202
-msgid "function with transparent unit parameter cannot be inline"
-msgstr "funktioner med gennemsigtig union-parameter kan ikke indbygges"
+#: f/lang-options.h:219
+msgid "Generate code to check subscript and substring bounds"
+msgstr "Generér kode for at tjekke indekserings- og understrengsgrænser"
-#: integrate.c:221
-msgid "function with computed jump cannot inline"
-msgstr "funktioner med beregnede spring kan ikke indbygges"
+#: f/lang-options.h:222
+msgid "Fortran-specific form of -fbounds-check"
+msgstr "Fortran-specifik form for -fbounds-check"
-#: integrate.c:225
-msgid "function with nonlocal goto cannot be inline"
-msgstr "funktioner med ikke-lokale goto'er kan ikke indbygges"
+#: f/lang-options.h:226
+msgid "Disable warnings about inter-procedural problems"
+msgstr "Deaktivér advarsler om interprocedurale problemer"
-#: integrate.c:240
-msgid "function with target specific attribute(s) cannot be inlined"
-msgstr "funktioner med målspecifikke egenskaber kan ikke indbygges"
+#: f/lang-options.h:230
+msgid "Warn about constructs with surprising meanings"
+msgstr "Advar om konstruktioner med overraskende betydninger"
+
+#: f/lang-options.h:235
+msgid "Add a directory for INCLUDE searching"
+msgstr "Tilføj et katalog til INCLUDE-søgning"
-#: java/check-init.c:731
+#: f/lang-options.h:237
+msgid "Set the maximum line length"
+msgstr "Angiv den maksimale linjelængde"
+
+#: f/bad.def:39
+#, no-c-format
+msgid "Missing first operand for binary operator at %0"
+msgstr "Manglende første operand for binær operator ved %0"
+
+#: f/bad.def:42
+#, no-c-format
+msgid "Zero-length character constant at %0"
+msgstr "Nul-længde tegnkonstant ved %0"
+
+#: f/bad.def:45
+#, no-c-format
+msgid "Invalid token at %0 in expression or subexpression at %1"
+msgstr "Ugyldigt symbol ved %0 i udtryk eller underudtryk ved %1"
+
+#: f/bad.def:48
+#, no-c-format
+msgid "Missing operand for operator at %1 at end of expression at %0"
+msgstr "Manglende operand for operator ved %1 i slutningen af udtryk ved %0"
+
+#: f/bad.def:51
+#, no-c-format
+msgid "Label %A already defined at %1 when redefined at %0"
+msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0"
+
+#: f/bad.def:54
+#, no-c-format
+msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+msgstr "Ukendt tegn ved %0 [info -f g77 M LEX]"
+
+#: f/bad.def:57
+#, no-c-format
+msgid "Label definition %A at %0 on empty statement (as of %1)"
+msgstr "Etiketdefinition %A ved %0 i tom sætning (ved %1)"
+
+#: f/bad.def:65
+#, no-c-format
+msgid "Invalid first character at %0 [info -f g77 M LEX]"
+msgstr "Ugyldig første tegn ved %0 [info -f g77 M LEX]"
+
+#: f/bad.def:68
+#, no-c-format
+msgid "Line too long as of %0 [info -f g77 M LEX]"
+msgstr "Linje for lang ved %0 [info -f g77 M LEX]"
+
+#: f/bad.def:71
+#, no-c-format
+msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
+msgstr "Tegn der ikke er tal ved %0 i etiketfelt [info -f g77 M LEX]"
+
+#: f/bad.def:74
+#, no-c-format
+msgid "Label number at %0 not in range 1-99999"
+msgstr "Etiketnummer ved %0 er ikke i intervallet 1-99999"
+
+#: f/bad.def:77
+#, no-c-format
+msgid "At %0, '!' and '/*' are not valid comment delimiters"
+msgstr "Ved %0 er '!' og '/*' ikke gyldige kommentarafgrænsninger"
+
+#: f/bad.def:80
+#, no-c-format
+msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+msgstr "Fortsættelsesindikator ved %0 skal optræde i kolonne 6 [info -f g77 M LEX]"
+
+#: f/bad.def:83
+#, no-c-format
+msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+msgstr "Etiket ved %0 er ugyldig med fortsættelseslinjeindikator ved %1 [info -f g77 M LEX]"
+
+#: f/bad.def:91
+#, no-c-format
+msgid "Character constant at %0 has no closing apostrophe at %1"
+msgstr "Tenkonstant ved %0 har ingen afsluttende apostrof ved %1"
+
+#: f/bad.def:94
+#, no-c-format
+msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+msgstr "Hollerith-konstant ved %0 angiver %A flere tegn end der optræder ved %1"
+
+#: f/bad.def:97
+#, no-c-format
+msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+msgstr "Afsluttende parantes ved %0 behøves for at svare til åben parantes ved %1"
+
+#: f/bad.def:100
+#, no-c-format
+msgid "Integer at %0 too large"
+msgstr "Heltal ved %0 for stort"
+
+#: f/bad.def:123
+#, no-c-format
+msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+msgstr "Punktum ved %0 efterfølges ikke af cifre til kommatal eller af 'NOT.', 'TRUE.' eller 'FALSE.'"
+
+#: f/bad.def:126
+#, no-c-format
+msgid "Missing close-period between `.%A' at %0 and %1"
+msgstr "Manglende afsluttende punktum mellem '.%A' ved %0 og %1"
+
+#: f/bad.def:129
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+msgstr "Ugyldig eksponent ved %0 for reel konstant ved %1; ikke-ciffer '%A' i eksponentfelt"
+
+#: f/bad.def:132
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
+msgstr "Manglende værdi ved %1 for reel eksponent ved %0"
+
+#: f/bad.def:135
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
+msgstr "Forventede binær operator mellem udtryk ved %0 og ved %1"
+
+#: f/bad.def:253
+#, no-c-format
+msgid "Semicolon at %0 is an invalid token"
+msgstr "Semikolon ved %0 er et ugyldigt symbol"
+
+#: f/bad.def:271
+#, no-c-format
+msgid "Extraneous comma in FORMAT statement at %0"
+msgstr "Ekstra komma i FORMAT-sætning ved %0"
+
+#: f/bad.def:274
+#, no-c-format
+msgid "Missing comma in FORMAT statement at %0"
+msgstr "Manglende komma i FORMAT-sætning ved %0"
+
+#: f/bad.def:277
+#, no-c-format
+msgid "Spurious sign in FORMAT statement at %0"
+msgstr "Mystisk fortegn i FORMAT-sætning ved %0"
+
+#: f/bad.def:280
+#, no-c-format
+msgid "Spurious number in FORMAT statement at %0"
+msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+#: f/bad.def:283
+#, no-c-format
+msgid "Spurious text trailing number in FORMAT statement at %0"
+msgstr "Mystisk tekstafsluttende tal i FORMAT-sætning ved %0"
+
+#: f/bad.def:291
+#, no-c-format
+msgid "Unrecognized FORMAT specifier at %0"
+msgstr "Ukendt FORMAT-angivelse ved %0"
+
+#: f/bad.def:419
+#, no-c-format
+msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+msgstr "Manglende afsluttende parantes i FORMAT-sætning ved %0"
+
+#: f/bad.def:422
+#, no-c-format
+msgid "Missing number following period in FORMAT statement at %0"
+msgstr "Manglende tal efter punktum i FORMAT-sætning ved %0"
+
+#: f/bad.def:425
+#, no-c-format
+msgid "Missing number following `E' in FORMAT statement at %0"
+msgstr "Manglende tal efter 'E' i FORMAT-sætning ved %0"
+
+#: f/bad.def:433
+#, no-c-format
+msgid "Spurious trailing comma preceding terminator at %0"
+msgstr "Mystisk afsluttende komma før afslutningssymbol ved %0"
+
+#: f/bad.def:436
+#, no-c-format
+msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+msgstr "Angiv OPERATOR i stedet for ASSIGNMENT ved %0 for INTERFACE-sætning der ikke angiver tildelingsoperatoren (=)"
+
+#: f/bad.def:439
+#, no-c-format
+msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+msgstr "Angiv ASSIGNMENT i stedet for OPERATOR ved %0 for INTERFACE-sætning der angiver tildelingsoperatoren (=)"
+
+#: f/bad.def:452
+#, no-c-format
+msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+msgstr "Kan ikke angive =klargøringsudtryk ved %0 medmindre '::' optræder før listen af objekter"
+
+#: f/bad.def:455
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with its definition at %0"
+msgstr "Reference til etiket ved %1 er inkonsistent med dens definition ved %0"
+
+#: f/bad.def:458
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+msgstr "Reference til etiket ved %1 er inkonsistent med tidligere reference ved %0"
+
+#: f/bad.def:461
+#, no-c-format
+msgid "DO-statement reference to label at %1 follows its definition at %0"
+msgstr "DO-sætningsreference til etiket ved %1 følger dens definition ved %0"
+
+#: f/bad.def:464
+#, no-c-format
+msgid "Reference to label at %1 is outside block containing definition at %0"
+msgstr "Reference til etiket ved %1 er uden for blok der indeholder definitionen ved %0"
+
+#: f/bad.def:467
+#, no-c-format
+msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+msgstr "DO-sætningsreferencer til etiket ved %0 og %2 adskilt af uafsluttet blok der begynder ved %1"
+
+#: f/bad.def:470
+#, no-c-format
+msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+msgstr "DO-sætningsreference til etiket ved %0 og etiketdefinition ved %2 adskilt af uafsluttet blok der begynder ved %1"
+
+#: f/bad.def:473
+#, no-c-format
+msgid "Label definition at %0 invalid on this kind of statement"
+msgstr "Etiketdefinition ved %0 er ugyldig ved denne slags sætning"
+
+#: f/bad.def:476
+#, no-c-format
+msgid "Statement at %0 invalid in this context"
+msgstr "Sætning ved %0 er ugyldig i denne kontekst"
+
+#: f/bad.def:479
+#, no-c-format
+msgid "Statement at %0 invalid in context established by statement at %1"
+msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1"
+
+#: f/bad.def:482
+#, no-c-format
+msgid "Statement at %0 must specify construct name specified at %1"
+msgstr "Sætning ved %0 skal angive konstruktionsnavn angivet ved %1"
+
+#: f/bad.def:485
+#, no-c-format
+msgid "Construct name at %0 superfluous, no construct name specified at %1"
+msgstr "Kontruktionsnavn ved %0 er overflødigt, intet kontruktionsnavn angivet ved %1"
+
+#: f/bad.def:488
+#, no-c-format
+msgid "Construct name at %0 not the same as construct name at %1"
+msgstr "Kontruktionsnavn ved %0 er ikke det samme som konstruktionsnavn ved %1"
+
+#: f/bad.def:491
+#, no-c-format
+msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+msgstr "Kontruktionsnavn ved %0 passer ikke med konstruktionsnavn for nogen indeholdende DO-konstruktioner"
+
+#: f/bad.def:494
+#, no-c-format
+msgid "Label definition missing at %0 for DO construct specifying label at %1"
+msgstr "Etiketdefinition mangler ved %0 for DO-konstruktion der angiver etiket ved %1"
+
+#: f/bad.def:497
+#, no-c-format
+msgid "Statement at %0 follows ELSE block for IF construct at %1"
+msgstr "Sætning ved %0 følger ELSE-blok for IF-konstruktion ved %1"
+
+#: f/bad.def:500
+#, no-c-format
+msgid "No label definition for FORMAT statement at %0"
+msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0"
+
+#: f/bad.def:503
+#, no-c-format
+msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+msgstr "Anden forekomst af ELSE WHERE ved %0 inden i WHERE ved %1"
+
+#: f/bad.def:506
+#, no-c-format
+msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+msgstr "END-sætning ved %0 mangler nøgleordet '%A' som er påkrævet for interne eller modul-procedurer afgrænset af %1"
+
+#: f/bad.def:509
+#, no-c-format
+msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+msgstr "MODULE PROCEDURE-sætning ved %0 er ikke tilladt da INTERFACE ved %1 ikke angiver generisk navn, operator eller tildeling"
+
+#: f/bad.def:512
+#, no-c-format
+msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+msgstr "BLOCK DATA-navn ved %0 er overflødigt, intet navn angivet ved %1"
+
+#: f/bad.def:515
+#, no-c-format
+msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+msgstr "Programnavn ved %0 er overflødigt, ingen PROGRAM-sætning angivet ved %1"
+
+#: f/bad.def:518
+#, no-c-format
+msgid "Program unit name at %0 not the same as name at %1"
+msgstr "Programenhedsnavn ved %0 er ikke det samme som navn ved %1"
+
+#: f/bad.def:521
+#, no-c-format
+msgid "Type name at %0 not the same as name at %1"
+msgstr "Typenavn ved %0 er ikke det samme som navn ved %1"
+
+#: f/bad.def:524
+#, no-c-format
+msgid "End of source file before end of block started at %0"
+msgstr "Slutning på kildekodefil før slutning af blok begyndt ved %0"
+
+#: f/bad.def:527
+#, no-c-format
+msgid "Undefined label, first referenced at %0"
+msgstr "Ikke-defineret etiket, første reference er ved %0"
+
+#: f/bad.def:530
+#, no-c-format
+msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
+msgstr "SAVE-sætning eller -egenskab ved %1 kan ikke angives sammen med SAVE-sætning eller -egenskab ved %0"
+
+#: f/bad.def:533
+#, no-c-format
+msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
+msgstr "PUBLIC- eller PRIVATE-sætning ved %1 kan ikke angives sammen med PUBLIC- eller PRIVATE-sætning ved %0"
+
+#: f/bad.def:536
+#, no-c-format
+msgid "RETURN statement at %0 invalid within a main program unit"
+msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed"
+
+#: f/bad.def:539
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a main program unit"
+msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en hovedprogramenhed"
+
+#: f/bad.def:542
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a function"
+msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en funktion"
+
+#: f/bad.def:545
+#, no-c-format
+msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
+msgstr "Tilgangsangivelse eller PRIVATE-sætning ved %0 er ugyldig for nedarvet typedefinition som ikke er i specifikationsdelen af et modul"
+
+#: f/bad.def:548
+#, no-c-format
+msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+msgstr "Tilgangsangivelse ved %0 skal umiddelbart følge nedarvet type-sætning ved %1 uden nogen mellemliggende sætninger"
+
+#: f/bad.def:551
+#, no-c-format
+msgid "No components specified as of %0 for derived-type definition beginning at %1"
+msgstr "Ingen komponenter angivet ved %0 for nedarvet typedefinition begyndende ved %1"
+
+#: f/bad.def:554
+#, no-c-format
+msgid "No components specified as of %0 for structure definition beginning at %1"
+msgstr "Ingen komponenter angivet ved %0 for strukturdefinition begyndende ved %1"
+
+#: f/bad.def:557
+#, no-c-format
+msgid "Missing structure name for outer structure definition at %0"
+msgstr "Manglende strukturnavn for ydre strukturdefinition ved %0"
+
+#: f/bad.def:560
+#, no-c-format
+msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+msgstr "Feltnavne ved %0 for ydre strukturdefinition - angiv dem i en efterfølgende RECORD-sætning i stedet"
+
+#: f/bad.def:563
+#, no-c-format
+msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+msgstr "Manglende feltnavne for strukturdefinition ved %0 inden i strukturdefinition ved %1"
+
+#: f/bad.def:566
+#, no-c-format
+msgid "No components specified as of %0 for map beginning at %1"
+msgstr "Ingen komponenter angivet ved %0 for map begyndende ved %1"
+
+#: f/bad.def:569
+#, no-c-format
+msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+msgstr "Nul eller en map angivet ved %0 for union begyndende ved %1 - mindst to er påkrævet"
+
+#: f/bad.def:572
+#, no-c-format
+msgid "Missing %A specifier in statement at %0"
+msgstr "Manglende %A-angivelse i sætning ved %0"
+
+#: f/bad.def:575
+#, no-c-format
+msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+msgstr "Elementer i I/O-liste begyndende ved %0 er ugyldigt for navnlistedirigeret I/O"
+
+#: f/bad.def:578
+#, no-c-format
+msgid "Conflicting I/O control specifications at %0 and %1"
+msgstr "Modstridende I/O-kontrolangivelser ved %0 og %1"
+
+#: f/bad.def:581
+#, no-c-format
+msgid "No UNIT= specifier in I/O control list at %0"
+msgstr "Inge UNIT=-angivelse i I/O-kontrolliste ved %0"
+
+#: f/bad.def:584
+#, no-c-format
+msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+msgstr "Specifikation ved %0 kræver ADVANCE='NO'-specifikation i samme I/O-kontrolliste"
+
+#: f/bad.def:587
+#, no-c-format
+msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+msgstr "Specifikation ved %0 kræver eksplicit FMT=-specifikation i samme I/O-kontrolliste"
+
+#: f/bad.def:595
+#, no-c-format
+msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+msgstr "Anden forekomst af CASE DEFAULT ved %0 inden i SELECT CASE ved %1"
+
+#: f/bad.def:598
+#, no-c-format
+msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+msgstr "CASE-værdi optræder mere end én gang eller intervaller overlapper ved %0 og %1"
+
+#: f/bad.def:601
+#, no-c-format
+msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+msgstr "Type og/eller form for type-parameter konflikt mellem CASE-værdi eller værdi i interval ved %0 og SELECT CASE ved %1"
+
+#: f/bad.def:604
+#, no-c-format
+msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+msgstr "Intervalangivelse ved %0 er ugyldig for CASE-sætning inden i SELECT CASE-sætning med logisk type"
+
+#: f/bad.def:617
+#, no-c-format
+msgid "Fortran 90 feature at %0 unsupported"
+msgstr "Fortran 90-facilitet ved %0 er ikke understøttet"
+
+#: f/bad.def:630
+#, no-c-format
+msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+msgstr "Ugyldig erklæring af reference til symbolet '%A' ved %0 (først set ved %1)"
+
+#: f/bad.def:638
+#, no-c-format
+msgid "Null element at %0 for array reference at %1"
+msgstr "Nulelement ved %0 for tabelreference ved %1"
+
+#: f/bad.def:641
+#, no-c-format
+msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+msgstr "For få elementer (%A mangler) ved %0 for tabelreference ved %1"
+
+#: f/bad.def:644
+#, no-c-format
+msgid "Too many elements as of %0 for array reference at %1"
+msgstr "For mange elementer ved %0 for tabelreference ved %1"
+
+#: f/bad.def:647
+#, no-c-format
+msgid "Missing colon as of %0 in substring reference for %1"
+msgstr "Manglende kolon ved %0 i understrengsreference for %1"
+
+#: f/bad.def:650
+#, no-c-format
+msgid "Invalid use at %0 of substring operator on %1"
+msgstr "Ugyldig brug ved %0 af understrengsoperator på %1"
+
+#: f/bad.def:653
+#, no-c-format
+msgid "Substring begin/end point at %0 out of defined range"
+msgstr "Understrengs begyndelses-/slutpunkt ved %0 er uden for det definerede interval"
+
+#: f/bad.def:656
+#, no-c-format
+msgid "Array element value at %0 out of defined range"
+msgstr "Tabelelementværdi ved %0 er uden for det definerede interval"
+
+#: f/bad.def:659
+#, no-c-format
+msgid "Expression at %0 has incorrect data type or rank for its context"
+msgstr "Udtryk ved %0 har forkert datatype eller rang for dets kontekst"
+
+#: f/bad.def:662
+#, no-c-format
+msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+msgstr "Division med nul ved %0 (IEEE understøttes ikke endnu)"
+
+#: f/bad.def:665
+#, no-c-format
+msgid "%A step count known to be 0 (zero) at %0"
+msgstr "%A-skridttæller vides at være nul ved %0"
+
+#: f/bad.def:668
+#, no-c-format
+msgid "%A end value plus step count known to overflow at %0"
+msgstr "%A-slutværdi plus skridttæller vides at forårsage overløb ved %0"
+
+#: f/bad.def:671
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+msgstr "%A-begyndelses-, slut- og skridttæller-værdier vides at resultere i implementeringsafhængig opførsel pga. overløb i mellemregninger ved %0"
+
+#: f/bad.def:674
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+msgstr "%A-begyndelses-, slut- og skridttæller-værdier vides at resultere i at der ikke foretages nogen iterationer ved %0"
+
+#: f/bad.def:677
+#, no-c-format
+msgid "Type disagreement between expressions at %0 and %1"
+msgstr "Typekonflikt mellem udtryk ved %0 og %1"
+
+#: f/bad.def:690
+#, no-c-format
+msgid "No specification for implied-DO iterator `%A' at %0"
+msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0"
+
+#: f/bad.def:693
+#, no-c-format
+msgid "Gratuitous parentheses surround implied-DO construct at %0"
+msgstr "Ekstra paranteser omkring underforstået DO-konstruktion ved %0"
+
+#: f/bad.def:696
+#, no-c-format
+msgid "Zero-size specification invalid at %0"
+msgstr "Nulstørrelses angivelse ugyldig ved %0"
+
+#: f/bad.def:699
+#, no-c-format
+msgid "Zero-size array at %0"
+msgstr "Nulstørrelsestabel ved %0"
+
+#: f/bad.def:702
+#, no-c-format
+msgid "Target machine does not support complex entity of kind specified at %0"
+msgstr "Målarkitekturen understøtter ikke den form for kompleks enhed der er angivet ved %0"
+
+#: f/bad.def:705
+#, no-c-format
+msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
+msgstr "Målarkitekturen understøtter ikke DOUBLE COMPLEX, som angivet ved %0"
+
+#: f/bad.def:708
+#, no-c-format
+msgid "Attempt to raise constant zero to a power at %0"
+msgstr "Forsøg at opløfte konstant nul til en potens af %0"
+
+#: f/bad.def:806
+#, no-c-format
+msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
+msgstr "Reference til generisk indbygget '%A' ved %0 kunne være for at danne %B eller %C"
+
+#: f/bad.def:809
+#, no-c-format
+msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
+msgstr "Tvetydig brug af indbygget '%A' ved %0 [info -f g77 M CMPAMBIG]"
+
+#: f/bad.def:812
+#, no-c-format
+msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
+msgstr "Indbygget '%A' refereret til som %B ved %0, som %C ved %1 [info -f g77 M EXPIMP]"
+
+#: f/bad.def:815
+#, no-c-format
+msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
+msgstr "Samme navn '%A' benyttet for %B ved %0 og %C ved %1 [info -f g77 M INTGLOB]"
+
+#: f/bad.def:818
+#, no-c-format
+msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
+msgstr "Eksplicit typeerklæring for indbygget '%A' er i modstrid med kald ved %0"
+
+#: f/bad.def:821
+#, no-c-format
+msgid "Unable to open INCLUDE file `%A' at %0"
+msgstr "Kunne ikke åbne INCLUDE-filen '%A' ved %0"
+
+#: f/bad.def:839
+#, no-c-format
+msgid "Null argument at %0 for statement function reference at %1"
+msgstr "Nulparameter ved %0 for sætningsfunktionsreference ved %1"
+
+#: f/bad.def:842
+#, no-c-format
+msgid "Null argument at %0 for procedure invocation at %1"
+msgstr "Nulparameter ved %0 for procedurekald ved %1"
+
+#: f/bad.def:845
+#, no-c-format
+msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
+msgstr "%A for få parametre (begyndende ved dummy-parameter '%B') ved %0 for sætningsfunktionsreference ved %1"
+
+#: f/bad.def:848
+#, no-c-format
+msgid "%A too many arguments as of %0 for statement function reference at %1"
+msgstr "%A for mange parametre ved %0 for sætningsfunktionsreference ved %1"
+
+#: f/bad.def:851
+#, no-c-format
+msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
+msgstr "Tabel angivet ved %1 for dummy-parameter '%A' i sætningsfunktionsreference ved %1"
+
+#: f/bad.def:854
+#, no-c-format
+msgid "Unsupported FORMAT specifier at %0"
+msgstr "Ikke-understøttet FORMAT-angivelse ved %0"
+
+#: f/bad.def:857
+#, no-c-format
+msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
+msgstr "Variabel-udtryks FORMAT-angivelse ved %0 - ikke-understøttet"
+
+#: f/bad.def:880
+#, no-c-format
+msgid "Unsupported VXT statement at %0"
+msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+#: f/bad.def:883
+#, no-c-format
+msgid "Attempt to specify second initial value for `%A' at %0"
+msgstr "Forsøg på at angive anden startværdi for '%A' ved %0"
+
+#: f/bad.def:886
+#, no-c-format
+msgid "Too few initial values in list of initializers for `%A' at %0"
+msgstr "For få startværdier i klargøringsliste for '%A' ved %0"
+
+#: f/bad.def:889
+#, no-c-format
+msgid "Too many initial values in list of initializers starting at %0"
+msgstr "For mange startværdier i klargøringsliste ved %0"
+
+#: f/bad.def:892
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in statement at %0"
+msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0"
+
+#: f/bad.def:895
+#, no-c-format
+msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
+msgstr "Tabelindeks nr. %B er uden for det gyldig interval ved klargøring af '%A' i sætning ved %0"
+
+#: f/bad.def:898
+#, no-c-format
+msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr "Underforstået do-løkkeskridttæller på nul for iterationsvariablen '%A' i sætning ved %0"
+
+#: f/bad.def:901
+#, no-c-format
+msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr "Underforstået do-løkkegentagelsestæller på nul for iterationsvariablen '%A' i sætning ved %0"
+
+#: f/bad.def:904
+#, no-c-format
+msgid "Not an integer constant expression in implied do-loop in statement at %0"
+msgstr "Ikke et heltalskonstantudtryk i underforstået do-løkke i sætning ved %0"
+
+#: f/bad.def:907
+#, no-c-format
+msgid "Attempt to specify second initial value for element of `%A' at %0"
+msgstr "Forsøg på at angive anden startvædi for element af '%A' ved %0"
+
+#: f/bad.def:910
+#, no-c-format
+msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
+msgstr "Forsøg på at anvende EQUIVALENCE mellem de almene områder '%A' og '%B' ved %0"
+
+#: f/bad.def:913
+#, no-c-format
+msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+msgstr "Kan ikke placere '%A' som angivet af EQUIVALENCE pga. justeringsrestriktioner"
+
+#: f/bad.def:916
+#, no-c-format
+msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+msgstr "Forkerte EQUIVALENCE-krav for placering af '%A' ved både %C og %D bytes afstand fra '%B'"
+
+#: f/bad.def:919
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
+msgstr "Tabel- eller understrengsspecifikation for '%A' er uden for det gyldige interval i EQUIVALENCE-sætning"
+
+#: f/bad.def:922
+#, no-c-format
+msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
+msgstr "Understreng af ikke-CHARACTER enhed '%A' i EQUIVALENCE-sætning"
+
+#: f/bad.def:925
+#, no-c-format
+msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
+msgstr "Tabelreference til skalar variabel '%A' i EQUIVALENCE-sætning"
+
+#: f/bad.def:928
+#, no-c-format
+msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
+msgstr "Tabelindeks nr. %B er uden for det gyldige interval for EQUIVALENCE '%A'"
+
+#: f/bad.def:936
+#, no-c-format
+msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
+msgstr "Forsøg på at udvide COMMON-område over dets begyndelsespunkt vha. EQUIVALENCE '%A'"
+
+#: f/bad.def:939
+#, no-c-format
+msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr "For få elementer i reference til tabllen '%A' i EQUIVALENCE-sætning"
+
+#: f/bad.def:942
+#, no-c-format
+msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr "For mange elementer i reference til tabllen '%A' i EQUIVALENCE-sætning"
+
+#: f/bad.def:945
+#, no-c-format
+msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
+msgstr "Blandede CHARACTER- og ikke-CHARACTER-typer vha. COMMON/EQUIVALENCE - f.eks. '%A' og '%B'"
+
+#: f/bad.def:958
+#, no-c-format
+msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
+msgstr "Returværdi `%A' for FUNCTION ved %0 refereres ikke i underprogram"
+
+#: f/bad.def:976
+#, no-c-format
+msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
+msgstr "Almen blok '%A' er SAVEd, eksplicit eller implicit, ved %0, men ikke ved %1"
+
+#: f/bad.def:979
+#, no-c-format
+msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
+msgstr "Almen blok '%A' er %B %D i længde ved %0, men %C %E ved %1"
+
+#: f/bad.def:987
+#, no-c-format
+msgid "Blank common initialized at %0"
+msgstr "Tom almen tildelt startværdi ved %0"
+
+#: f/bad.def:990
+#, no-c-format
+msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
+msgstr "Indbygget '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret INTRINSIC"
+
+#: f/bad.def:993
+#, no-c-format
+msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
+msgstr "Ekstern procedure '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret EXTERNAL"
+
+#: f/bad.def:996
+#, no-c-format
+msgid "Character `%A' (for example) is upper-case in symbol name at %0"
+msgstr "Tegn '%A' (f.eks.) er et stort bogstav i symbolnavn ved %0"
+
+#: f/bad.def:999
+#, no-c-format
+msgid "Character `%A' (for example) is lower-case in symbol name at %0"
+msgstr "Tegn '%A' (f.eks.) er et lille bogstav i symbolnavn ved %0"
+
+#: f/bad.def:1002
+#, no-c-format
+msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
+msgstr "Tegn '%A' følges ikke af lille bogstav i symbolnavn ved %0"
+
+#: f/bad.def:1005
+#, no-c-format
+msgid "Initial character `%A' is lower-case in symbol name at %0"
+msgstr "Begyndelsestegn '%A' er et lille bogstav i symbolnavn ved %0"
+
+#: f/bad.def:1013
+#, no-c-format
+msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
+msgstr "NAMELIST er ikke tilstrækkeligt understøttet af kørselsbiblioteket for kildefiler med store/små bogstaver bevaret"
+
+#: f/bad.def:1016
+#, no-c-format
+msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
+msgstr "Indlejret %%-konstruktion (%%VAL, %%REF eller %%DESCR) ved %0"
+
+#: f/bad.def:1034
+#, no-c-format
+msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
+msgstr "Sætning ved %0 er ugyldig i BLOCK DATA-programenhed ved %1"
+
+#: f/bad.def:1037
+#, no-c-format
+msgid "Truncating characters on right side of character constant at %0"
+msgstr "Fjerner tegn på den højre side af tegnkonstant ved %0"
+
+#: f/bad.def:1040
+#, no-c-format
+msgid "Truncating characters on right side of hollerith constant at %0"
+msgstr "Fjerner tegn på den højre side af hollerith-konstant ved %0"
+
+#: f/bad.def:1043
+#, no-c-format
+msgid "Truncating non-zero data on left side of numeric constant at %0"
+msgstr "Fjerner data der ikke er nul, på den venstre side af numerisk konstant ved %0"
+
+#: f/bad.def:1046
+#, no-c-format
+msgid "Truncating non-zero data on left side of typeless constant at %0"
+msgstr "Fjerner data der ikke er nul, på den venstre side af typeløs konstant ved %0"
+
+#: f/bad.def:1049
+#, no-c-format
+msgid "Typeless constant at %0 too large"
+msgstr "Typeløs konstant ved %0 er for stor"
+
+#: f/bad.def:1052
+#, no-c-format
+msgid "First-column ampersand continuation at %0"
+msgstr "Førstekolonne og-tegnsfortsættelse ved %0"
+
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
+msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
+msgstr "Globalt navn '%A' defineret ved %0 er allerede defineret ved %1 [info -f g77 M GLOBALS]"
+
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
+msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
+msgstr "Globalt navn '%A' er %B ved %0, men er %C ved %1 [info -f g77 M GLOBALS]"
+
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
+msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
+msgstr "Globalt navn '%A' ved %0 har anden type ved %1 [info -f g77 M GLOBALS]"
+
+#: f/bad.def:1073
+#, no-c-format
+msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
+msgstr "For %B parameter overbragt til '%A' ved %0 mod definitionen ved %1 [info -f g77 M GLOBALS]"
+
+#: f/bad.def:1076
+#, no-c-format
+msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
+msgstr "For %B parametre til '%A' ved %0 mod kald ved %1 [info -f g77 M GLOBALS]"
+
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
+msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
+msgstr "Parameter nr. %B for '%A' er %C ved %0, men er %D ved %1 [info -f g77 M GLOBALS]"
+
+#: f/bad.def:1085
+#, no-c-format
+msgid "Array `%A' at %0 is too large to handle"
+msgstr "Tabellen '%A' ved %0 er for stor til at håndtere"
+
+#: f/bad.def:1088
+#, no-c-format
+msgid "Statement function `%A' defined at %0 is not used"
+msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt"
+
+#: f/bad.def:1091
+#, no-c-format
+msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
+msgstr "Indbygget '%A', kaldt ved %0, vides ikke være år 2000-sikker [info -f g77 M Y2KBAD]"
+
+#: f/bad.def:1094
+#, no-c-format
+msgid "Internal compiler error -- cannot perform operation"
+msgstr "Intern oversætterfejl - kan ikke udføre operation"
+
+#. Kind messages are used in diagnostic location reports of the
+#. form "<file>: In function `foo': <error message>".
+#: f/info-k.def:32
+msgid "In unknown kind"
+msgstr "I ukendt ting"
+
+#: f/info-k.def:33
+msgid "In entity"
+msgstr "I enheden"
+
+#: f/info-k.def:34
+msgid "In function"
+msgstr "I funktionen"
+
+#: f/info-k.def:35
+msgid "In subroutine"
+msgstr "I underrutinen"
+
+#: f/info-k.def:36
+msgid "In program"
+msgstr "I programmet"
+
+#: f/info-k.def:37
+msgid "In block-data unit"
+msgstr "I blokdataenheden"
+
+#: f/info-k.def:38
+msgid "In common block"
+msgstr "I den almene blok"
+
+#: f/info-k.def:39
+msgid "In construct"
+msgstr "I konstruktionen"
+
+#: f/info-k.def:40
+msgid "In namelist"
+msgstr "I navnelisten"
+
+#: f/info-k.def:41
+msgid "In anything"
+msgstr "I et eller andet"
+
+#: java/check-init.c:917
#, c-format
msgid "internal error in check-init: tree code not implemented: %s"
-msgstr ""
+msgstr "intern fejl i check-init: trækode ikke implementeret: %s"
+
+#: java/check-init.c:990
+#, c-format
+msgid "final field '%s' may not have been initialized"
+msgstr "slutfeltet '%s' bliver måske ikke klargjort"
-#: java/class.c:543 java/class.c:568
+#: java/class.c:539 java/class.c:564
msgid "internal error - too many interface type"
-msgstr ""
+msgstr "intern fejl - for mange grænsefladetyper"
-#: java/class.c:702
+#: java/class.c:677
msgid "bad method signature"
-msgstr ""
+msgstr "ugyldig metodesignatur"
-#: java/class.c:747
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
-msgstr ""
+msgstr "forkert placeret ConstantValue-egenskab (ikke i noget felt)"
-#: java/class.c:749
+#: java/class.c:728
#, c-format
-msgid "duplicate ConstanValue atribute for field '%s'"
-msgstr ""
+msgid "duplicate ConstantValue attribute for field '%s'"
+msgstr "mere end én ConstantValue-egenskab for feltet '%s'"
+
+#: java/class.c:739
+#, c-format
+msgid "ConstantValue attribute of field '%s' has wrong type"
+msgstr "ConstantValue-egenskaben for feltet '%s' har forkert type"
-#: java/class.c:995
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
-msgstr ""
+msgstr "feltet '%s' blev ikke fundet i klassen"
-#: java/class.c:1203
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
-msgstr ""
+msgstr "abstrakt metode i ikke-abstrakt klasse"
-#: java/class.c:1820
+#: java/class.c:2078
#, c-format
msgid "non-static method '%s' overrides static method"
-msgstr ""
+msgstr "ikke-statisk metode '%s' overskriver statisk metode"
-#: java/decl.c:1475
+#: java/decl.c:1541
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
-msgstr ""
+msgstr "I %s: overlappende variabel- og undtagelsesintervaller ved %d"
-#: java/decl.c:1563
+#: java/decl.c:1622
msgid "bad type in parameter debug info"
-msgstr ""
+msgstr "ugyldig type i parameterfejlanalyseringsinfo"
-#: java/decl.c:1573
+#: java/decl.c:1632
#, c-format
msgid "bad PC range for debug info for local `%s'"
-msgstr ""
+msgstr "ugyldig PC-interval for fejlanalyseringsinfo for lokal '%s'"
-#: java/expr.c:553
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
-msgstr ""
+msgstr "stakunderløb - dup*-operation"
-#: java/expr.c:1444
+#: java/expr.c:1534
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
-msgstr ""
+msgstr "reference '%s' er tvetydig: den optræder i grænsefladen '%s' og grænsefladen '%s'"
-#: java/expr.c:1473
-#, fuzzy, c-format
+#: java/expr.c:1563
+#, c-format
msgid "field `%s' not found"
-msgstr "Biblioteket lib%s ikke fundet"
+msgstr "feltet '%s' ikke fundet"
-#: java/expr.c:1624
-#, fuzzy
+#: java/expr.c:1715
msgid "ret instruction not implemented"
-msgstr "Profilgenerering understøttes ikke endnu."
+msgstr "ret-instruktion ikke implementeret"
-#: java/expr.c:1750
+#: java/expr.c:1857
#, c-format
msgid "method '%s' not found in class"
-msgstr ""
+msgstr "metoden '%s' ikke fundet i klassen"
-#: java/expr.c:1885
-#, fuzzy, c-format
+#: java/expr.c:2060
+#, c-format
msgid "failed to find class '%s'"
-msgstr "omimplementering af klassen '%s'"
+msgstr "kunne ikke finde klassen '%s'"
-#: java/expr.c:1897
+#: java/expr.c:2070
#, c-format
-msgid "Class '%s' has no method named '%s' matching signature '%s'"
-msgstr ""
+msgid "class '%s' has no method named '%s' matching signature '%s'"
+msgstr "klassen '%s' har ingen metode ved navn '%s' der passer med signaturen '%s'"
-#: java/expr.c:1907
+#: java/expr.c:2080
msgid "invokestatic on non static method"
-msgstr ""
+msgstr "invokestatic på en ikke-statisk metode"
-#: java/expr.c:1912
+#: java/expr.c:2085
msgid "invokestatic on abstract method"
-msgstr ""
+msgstr "invokestatic på en abstrakt metode"
-#: java/expr.c:1920
+#: java/expr.c:2093
msgid "invoke[non-static] on static method"
-msgstr ""
+msgstr "invoke[non-static] på en statisk metode"
-#: java/expr.c:2208
+#: java/expr.c:2396
#, c-format
-msgid "Missing field '%s' in '%s'"
-msgstr ""
+msgid "missing field '%s' in '%s'"
+msgstr "manglende felt '%s' i '%s'"
-#: java/expr.c:2214
+#: java/expr.c:2402
#, c-format
-msgid "Mismatching signature for field '%s' in '%s'"
-msgstr ""
+msgid "mismatching signature for field '%s' in '%s'"
+msgstr "signatur passer ikke med feltet '%s' i '%s'"
-#: java/expr.c:2253
+#: java/expr.c:2425
#, c-format
msgid "assignment to final field `%s' not in field's class"
-msgstr ""
+msgstr "tildeling til endeligt felt '%s' er ikke i feltets klasse"
-#: java/expr.c:2258
+#: java/expr.c:2430
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
-msgstr ""
+msgstr "tildeling til endeligt statisk felt '%s' er ikke i klassens klargøring"
-#: java/expr.c:2265
-#, fuzzy, c-format
+#: java/expr.c:2437
+#, c-format
msgid "assignment to final field `%s' not in constructor"
-msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
+msgstr "tildeling til endeligt felt '%s' er ikke i konstruktionsfunktion"
-#: java/expr.c:2519
+#: java/expr.c:2684
#, c-format
-msgid "Can't expand %s"
-msgstr ""
+msgid "can't expand %s"
+msgstr "kan ikke udfolde %s"
-#: java/expr.c:2695
-#, fuzzy
+#: java/expr.c:2861
msgid "invalid PC in line number table"
-msgstr "ugyldigt versionsnummerformat"
+msgstr "ugyldig PC i linjetalstabel"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2740
+#: java/expr.c:2906
#, c-format
-msgid "Unreachable bytecode from %d to before %d."
-msgstr ""
+msgid "unreachable bytecode from %d to before %d"
+msgstr "kan ikke nå bytekode fra %d til før %d"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2777
+#: java/expr.c:2943
#, c-format
-msgid "Unreachable bytecode from %d to the end of the method."
-msgstr ""
+msgid "unreachable bytecode from %d to the end of the method"
+msgstr "kan ikke nå bytekode fra %d til slutningen af metoden"
#. duplicate code from LOAD macro
-#: java/expr.c:3096
+#: java/expr.c:3261
msgid "unrecogized wide sub-instruction"
-msgstr ""
+msgstr "ukendt bred underinstruktion"
-#: java/jcf-io.c:416
+#: java/jcf-io.c:543
#, c-format
-msgid "Source file for class `%s' is newer than its matching class file. Source file used instead"
-msgstr ""
+msgid "source file for class `%s' is newer than its matching class file. Source file `%s' used instead"
+msgstr "kildekodefilen for klassen '%s' er nyere end dens tilsvarende klassefil; kildekodefilen '%s' benyttet i stedet"
-#: java/jcf-parse.c:375
-#, fuzzy
+#: java/jcf-parse.c:338
msgid "bad string constant"
-msgstr "%s før strengkonstant"
+msgstr "ugyldig strengkonstant"
-#: java/jcf-parse.c:431
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
-msgstr ""
+msgstr "ugyldig værdikonstanttype %d, indeks %d"
-#: java/jcf-parse.c:601
-#, fuzzy, c-format
+#: java/jcf-parse.c:528
+#, c-format
msgid "can't reopen %s"
-msgstr "fejl ved åbning af %s"
+msgstr "kan ikke genåbne %s"
-#: java/jcf-parse.c:663
-#, fuzzy, c-format
-msgid "Cannot find file for class %s."
-msgstr "Kan ikke finde interface-erklæringen af '%s'"
+#: java/jcf-parse.c:533
+#, c-format
+msgid "can't close %s"
+msgstr "kan ikke lukke %s"
-#: java/jcf-parse.c:675
+#: java/jcf-parse.c:619
+#, c-format
+msgid "cannot find file for class %s"
+msgstr "kan ikke finde filen for klassen %s"
+
+#: java/jcf-parse.c:631
msgid "not a valid Java .class file"
-msgstr ""
+msgstr "ikke en gyldig Java .class-fil"
-#: java/jcf-parse.c:678
-#, fuzzy
+#: java/jcf-parse.c:634
msgid "error while parsing constant pool"
-msgstr "%s før strengkonstant"
+msgstr "fejl ved tolkning af konstant område"
-#: java/jcf-parse.c:681
+#: java/jcf-parse.c:637
#, c-format
msgid "error in constant pool entry #%d\n"
-msgstr ""
+msgstr "fejl i konstantområdelement nr. %d\n"
#. FIXME - where was first time
-#: java/jcf-parse.c:693
+#: java/jcf-parse.c:649
#, c-format
msgid "reading class %s for the second time from %s"
-msgstr ""
+msgstr "læser klassen %s for anden gang fra %s"
-#: java/jcf-parse.c:711
+#: java/jcf-parse.c:667
msgid "error while parsing fields"
-msgstr ""
+msgstr "fejl ved tolkning af felter"
-#: java/jcf-parse.c:714
+#: java/jcf-parse.c:670
msgid "error while parsing methods"
-msgstr ""
+msgstr "fejl ved tolkning af metoder"
-#: java/jcf-parse.c:717
+#: java/jcf-parse.c:673
msgid "error while parsing final attributes"
-msgstr ""
+msgstr "fejl ved tolkning af endelige egenskaber"
-#: java/jcf-parse.c:731
+#: java/jcf-parse.c:687
#, c-format
-msgid "The `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrect set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath."
-msgstr ""
+msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
+msgstr "det 'java.lang.Object' som blev fundet i '%s' havde ikke den specielle nullængdes egenskab 'gnu.gcj.gcj-compiled'. Dette betyder som regel at din klassesti er angivet forkert. Prøv 'info gcj \"Input Options\"' for at se en infoside der beskriver hvordan man angiver klassestien"
-#: java/jcf-parse.c:804
+#: java/jcf-parse.c:777
msgid "missing Code attribute"
-msgstr ""
+msgstr "manglende Code-egenskab"
-#: java/jcf-parse.c:948 toplev.c:2511
-#, c-format
-msgid "error closing %s"
-msgstr ""
+#: java/jcf-parse.c:1014
+msgid "source file seen twice on command line and will be compiled only once"
+msgstr "kildekodefil angivet to gange i kommandolinjen og vil kun blive oversat én gang"
-#: java/jcf-parse.c:1029
-msgid "source file seen twice on command line and will be compiled only once."
-msgstr ""
-
-#: java/jcf-parse.c:1045
-#, fuzzy
+#: java/jcf-parse.c:1030
msgid "no input file specified"
-msgstr "Ingen inddatafiler"
+msgstr "ingen inddatafiler angivet"
-#: java/jcf-parse.c:1061
-#, fuzzy, c-format
+#: java/jcf-parse.c:1059
+#, c-format
msgid "can't close input file %s"
-msgstr "Ingen kald i filen %s\n"
-
-#: java/jcf-parse.c:1075
-#, fuzzy, c-format
-msgid "Premature end of input file %s"
-msgstr "%s ved slutning af inddata"
+msgstr "kan ikke lukke inddatafilen %s"
-#: java/jcf-parse.c:1098
+#: java/jcf-parse.c:1096
#, c-format
msgid "bad zip/jar file %s"
-msgstr ""
+msgstr "ødelagt zip/jar-fil %s"
-#: java/jcf-write.c:2597
+#: java/jcf-write.c:2650
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
-msgstr ""
+msgstr "intern fejl i generate_bytecode_insn - trækode er ikke implementeret: %s"
-#: java/jcf-write.c:3307
-#, fuzzy, c-format
+#: java/jcf-write.c:2988
+msgid "field initializer type mismatch"
+msgstr "typen af startværdien for feltet passer ikke"
+
+#: java/jcf-write.c:3419
+#, c-format
msgid "can't create directory %s"
-msgstr "%s: kan ikke få fat i arbejdskataloget: %s\n"
+msgstr "kan ikke oprette kataloget %s"
-#: java/jcf-write.c:3334
-#, fuzzy, c-format
-msgid "can't to open %s"
-msgstr "fejl ved åbning af %s"
+#: java/jcf-write.c:3473
+#, c-format
+msgid "can't create %s"
+msgstr "kan ikke oprette %s"
-#: java/jv-scan.c:183
-msgid "Only one of `--print-main', `--list-class', and `--complexity' allowed"
-msgstr ""
+#: java/jv-scan.c:187
+msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
+msgstr "kun én af '--print-main', '--list-class' og '--complexity' tilladt"
-#: java/jv-scan.c:186
-#, fuzzy, c-format
-msgid "Can't open output file `%s'"
-msgstr "Kunne ikke åbne uddatafilen %s.\n"
+#: java/jv-scan.c:190
+#, c-format
+msgid "can't open output file `%s'"
+msgstr "kan ikke åbne uddatafilen '%s'"
-#: java/jv-scan.c:222
-#, fuzzy, c-format
-msgid "File not found `%s'"
-msgstr "kan ikke finde '%s'"
+#: java/jv-scan.c:224
+#, c-format
+msgid "file not found `%s'"
+msgstr "filen '%s' blev ikke fundet"
-#: java/jvspec.c:360
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
-msgstr ""
+msgstr "kan ikke angive '-D' uden '--main'\n"
-#: java/jvspec.c:368
-msgid "Warning: already-compiled .class files ignored with -C"
-msgstr ""
+#: java/jvspec.c:429
+#, c-format
+msgid "`%s' is not a valid class name"
+msgstr "'%s' er et ugyldigt klassenavn"
+
+#: java/jvspec.c:435
+msgid "--resource requires -o"
+msgstr "--resource påkræver -o"
-#: java/jvspec.c:375
-#, fuzzy
+#: java/jvspec.c:442
+msgid "warning: already-compiled .class files ignored with -C"
+msgstr "advarsel: allerede oversatte .class-filer ignoreret med -C"
+
+#: java/jvspec.c:449
msgid "cannot specify both -C and -o"
-msgstr "kan ikke bruge både -EB og -EL"
+msgstr "-C og -o er indbyrdes uforenelige"
-#: java/jvspec.c:387
-#, fuzzy
+#: java/jvspec.c:461
msgid "cannot create temporary file"
-msgstr "kan ikke oprette opbevaringsstedinformationsfilen '%s'"
+msgstr "kan ikke oprette midlertidig fil"
-#: java/jvspec.c:415
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
-msgstr ""
+msgstr "brug af @FILE med flere filer er ikke implementeret"
-#: java/jvspec.c:456
-#, fuzzy
+#: java/jvspec.c:538
msgid "cannot specify `main' class when not linking"
-msgstr "kan ikke erklære '::main' som inline"
-
-#: java/lang-options.h:32
-msgid "Disable automatic array bounds checking"
-msgstr ""
-
-#: java/lang-options.h:34
-msgid "Make is_compiled_class return 1"
-msgstr ""
-
-#: java/lang-options.h:38
-msgid "Dump class files to <name>.class"
-msgstr ""
-
-#: java/lang-options.h:40
-msgid "input file is list of file names to compile"
-msgstr ""
-
-#: java/lang-options.h:42
-#, fuzzy
-msgid "Generate code for Boehm GC"
-msgstr "Generér kode til en given cpu"
-
-#: java/lang-options.h:44
-msgid "Don't put synchronization structure in each object"
-msgstr ""
-
-#: java/lang-options.h:46
-msgid "Assume native functions are implemented using JNI"
-msgstr ""
-
-#: java/lang-options.h:48
-msgid "Set class path and suppress system path"
-msgstr ""
+msgstr "kan ikke angive 'main'-klassen når der ikke sammenkædes"
-#: java/lang-options.h:50
-msgid "Set class path"
-msgstr ""
-
-#: java/lang-options.h:52
-msgid "Choose class whose main method should be used"
-msgstr ""
-
-#: java/lang-options.h:54
-msgid "Choose input encoding (default is UTF-8)"
-msgstr ""
-
-#: java/lang-options.h:56
-msgid "Add directory to class path"
-msgstr ""
-
-#: java/lang-options.h:58
-msgid "Directory where class files should be written"
-msgstr ""
-
-#: java/lang-options.h:61
-msgid "Use built-in instructions for division"
-msgstr ""
-
-#: java/lang-options.h:63
-msgid "Warn if modifiers are specified when not necessary"
-msgstr ""
-
-#: java/lang-options.h:65
-msgid "Warn if deprecated empty statements are found"
-msgstr ""
-
-#: java/lang-options.h:67
-msgid "Warn if .class files are out of date"
-msgstr ""
-
-#: java/lang-options.h:69
-msgid "Always check for non gcj generated classes archives"
-msgstr ""
-
-#: java/lang.c:387
+#: java/lang.c:544
msgid "can't do dependency tracking with input from stdin"
-msgstr ""
+msgstr "kan ikke udføre afhængighedsfølgning med inddata fra standard-ind"
-#: java/lang.c:403
+#: java/lang.c:560
msgid "couldn't determine target name for dependency tracking"
-msgstr ""
+msgstr "kunne ikke bestemme målnavn for afhængighedsfølgning"
-#: java/lex.c:297
+#: java/lex.c:303
#, c-format
msgid ""
"unknown encoding: `%s'\n"
"This might mean that your locale's encoding is not supported\n"
"by your system's iconv(3) implementation. If you aren't trying\n"
"to use a particular encoding for your input file, try the\n"
-"`--encoding=UTF-8' option."
+"`--encoding=UTF-8' option"
msgstr ""
+"ukendt kodning: '%s'\n"
+"Dette betyder muligvis at kodningen fra dine regionaldata ikke\n"
+"understøttes af dit systems iconv(3)-implementering. Hvis du \n"
+"ikke ønske at bruge en bestemt kodning for dine inddatafiler, \n"
+"så prøv tilvalget '--encoding=UTF-8'"
#: java/mangle.c:85
#, c-format
-msgid "Can't mangle %s"
-msgstr ""
+msgid "can't mangle %s"
+msgstr "kan ikke sammensætte %s"
-#: java/mangle_name.c:151 java/mangle_name.c:228
-#, fuzzy
+#: java/mangle_name.c:144 java/mangle_name.c:216
msgid "internal error - invalid Utf8 name"
-msgstr "intern fejl: "
+msgstr "intern fejl - ugyldigt UTF-8-navn"
+
+#: ../../gcc/java/parse-scan.y:881 ../../gcc/java/parse.y:962
+#: ../../gcc/java/parse.y:1303 ../../gcc/java/parse.y:1364
+#: ../../gcc/java/parse.y:1574 ../../gcc/java/parse.y:1796
+#: ../../gcc/java/parse.y:1805 ../../gcc/java/parse.y:1816
+#: ../../gcc/java/parse.y:1827 ../../gcc/java/parse.y:1839
+#: ../../gcc/java/parse.y:1854 ../../gcc/java/parse.y:1871
+#: ../../gcc/java/parse.y:1873 ../../gcc/java/parse.y:1945
+#: ../../gcc/java/parse.y:2116 ../../gcc/java/parse.y:2178
+#: ../../gcc/java/parse.y:2330 ../../gcc/java/parse.y:2342
+#: ../../gcc/java/parse.y:2349 ../../gcc/java/parse.y:2356
+#: ../../gcc/java/parse.y:2367 ../../gcc/java/parse.y:2369
+#: ../../gcc/java/parse.y:2407 ../../gcc/java/parse.y:2409
+#: ../../gcc/java/parse.y:2411 ../../gcc/java/parse.y:2432
+#: ../../gcc/java/parse.y:2434 ../../gcc/java/parse.y:2436
+#: ../../gcc/java/parse.y:2452 ../../gcc/java/parse.y:2454
+#: ../../gcc/java/parse.y:2475 ../../gcc/java/parse.y:2477
+#: ../../gcc/java/parse.y:2479 ../../gcc/java/parse.y:2507
+#: ../../gcc/java/parse.y:2509 ../../gcc/java/parse.y:2511
+#: ../../gcc/java/parse.y:2513 ../../gcc/java/parse.y:2531
+#: ../../gcc/java/parse.y:2533 ../../gcc/java/parse.y:2544
+#: ../../gcc/java/parse.y:2555 ../../gcc/java/parse.y:2566
+#: ../../gcc/java/parse.y:2577 ../../gcc/java/parse.y:2588
+#: ../../gcc/java/parse.y:2601 ../../gcc/java/parse.y:2605
+#: ../../gcc/java/parse.y:2607 ../../gcc/java/parse.y:2620
+msgid "Missing term"
+msgstr "Manglende term"
+
+#: ../../gcc/java/parse-scan.y:883 ../../gcc/java/parse.y:734
+#: ../../gcc/java/parse.y:772 ../../gcc/java/parse.y:797
+#: ../../gcc/java/parse.y:983 ../../gcc/java/parse.y:1338
+#: ../../gcc/java/parse.y:1550 ../../gcc/java/parse.y:1552
+#: ../../gcc/java/parse.y:1781 ../../gcc/java/parse.y:1807
+#: ../../gcc/java/parse.y:1818 ../../gcc/java/parse.y:1829
+#: ../../gcc/java/parse.y:1841 ../../gcc/java/parse.y:1856
+msgid "';' expected"
+msgstr "';' forventet"
-#: java/parse.y:737 java/parse.y:775
-#, fuzzy
+#: ../../gcc/java/parse.y:732 ../../gcc/java/parse.y:770
msgid "Missing name"
-msgstr "manglende startværdi"
+msgstr "Manglende navn"
-#: java/parse.y:739 java/parse.y:777 java/parse.y:796 java/parse.y:977
-#: java/parse.y:1324 java/parse.y:1527 java/parse.y:1529 java/parse.y:1758
-#: java/parse.y:1784 java/parse.y:1795 java/parse.y:1806 java/parse.y:1818
-msgid "';' expected"
-msgstr ""
-
-#: java/parse.y:794
+#: ../../gcc/java/parse.y:795
msgid "'*' expected"
-msgstr ""
+msgstr "'*' forventet"
-#: java/parse.y:808
-#, fuzzy
+#: ../../gcc/java/parse.y:809
msgid "Class or interface declaration expected"
-msgstr "fundet en henvisningsefterfølgelse der går i ring"
+msgstr "Klasse- eller grænsefladeerklæring forventet"
-#: java/parse.y:843 java/parse.y:845
+#: ../../gcc/java/parse.y:846 ../../gcc/java/parse.y:848
msgid "Missing class name"
-msgstr ""
+msgstr "Manglende klassenavn"
-#: java/parse.y:848 java/parse.y:852 java/parse.y:860 java/parse.y:1022
-#: java/parse.y:1270 java/parse.y:1272 java/parse.y:1593 java/parse.y:1829
-#: java/parse.y:1861 java/parse.y:1913
+#: ../../gcc/java/parse.y:851 ../../gcc/java/parse.y:855
+#: ../../gcc/java/parse.y:863 ../../gcc/java/parse.y:1023
+#: ../../gcc/java/parse.y:1284 ../../gcc/java/parse.y:1286
+#: ../../gcc/java/parse.y:1616 ../../gcc/java/parse.y:1867
+#: ../../gcc/java/parse.y:1899 ../../gcc/java/parse.y:1952
msgid "'{' expected"
-msgstr ""
+msgstr "'{' forventet"
-#: java/parse.y:862
-#, fuzzy
+#: ../../gcc/java/parse.y:865
msgid "Missing super class name"
-msgstr "modstridende superklassenavn '%s'"
+msgstr "Manglende superklassenavn"
-#: java/parse.y:872 java/parse.y:888
+#: ../../gcc/java/parse.y:875 ../../gcc/java/parse.y:891
msgid "Missing interface name"
-msgstr ""
-
-#. That's for ()
-#: java/parse.y:956 java/parse.y:1289 java/parse.y:1348 java/parse.y:1551
-#: java/parse.y:1773 java/parse.y:1782 java/parse.y:1793 java/parse.y:1804
-#: java/parse.y:1816 java/parse.y:1833 java/parse.y:1835 java/parse.y:1906
-#: java/parse.y:2077 java/parse.y:2138 java/parse.y:2292 java/parse.y:2294
-#: java/parse.y:2301 java/parse.y:2308 java/parse.y:2319 java/parse.y:2321
-#: java/parse.y:2358 java/parse.y:2360 java/parse.y:2362 java/parse.y:2383
-#: java/parse.y:2385 java/parse.y:2387 java/parse.y:2403 java/parse.y:2405
-#: java/parse.y:2426 java/parse.y:2428 java/parse.y:2430 java/parse.y:2458
-#: java/parse.y:2460 java/parse.y:2462 java/parse.y:2464 java/parse.y:2482
-#: java/parse.y:2484 java/parse.y:2495 java/parse.y:2506 java/parse.y:2517
-#: java/parse.y:2528 java/parse.y:2539 java/parse.y:2552 java/parse.y:2556
-#: java/parse.y:2558 java/parse.y:2571
-#, fuzzy
-msgid "Missing term"
-msgstr "manglende startværdi"
+msgstr "Manglende grænsefladenavn"
-#: java/parse.y:971
-#, fuzzy
+#: ../../gcc/java/parse.y:977
msgid "Missing variable initializer"
-msgstr "manglende startværdi"
+msgstr "Manglende variabelstartværdi"
-#: java/parse.y:988
-#, fuzzy
+#: ../../gcc/java/parse.y:994
msgid "Invalid declaration"
-msgstr "Ugyldig %%d-operand"
-
-#: java/parse.y:994
-#, fuzzy
-msgid "Can't specify array dimension in a declaration"
-msgstr "to typer angivet i én tom erklæring"
+msgstr "Ugyldig erklæring"
-#: java/parse.y:996 java/parse.y:1072 java/parse.y:2113 java/parse.y:2135
-#: java/parse.y:2139 java/parse.y:2174 java/parse.y:2251 java/parse.y:2261
+#: ../../gcc/java/parse.y:997 ../../gcc/java/parse.y:1082
+#: ../../gcc/java/parse.y:2153 ../../gcc/java/parse.y:2175
+#: ../../gcc/java/parse.y:2179 ../../gcc/java/parse.y:2214
+#: ../../gcc/java/parse.y:2291 ../../gcc/java/parse.y:2301
msgid "']' expected"
-msgstr ""
+msgstr "']' forventet"
-#: java/parse.y:1000
+#: ../../gcc/java/parse.y:1001
msgid "Unbalanced ']'"
-msgstr ""
+msgstr "Uafbalanceret ']'"
-#: java/parse.y:1036
+#: ../../gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
-msgstr ""
+msgstr "Ugyldig metodeerklæring, metodenavn påkrævet"
-#: java/parse.y:1042 java/parse.y:1044 java/parse.y:1997
+#: ../../gcc/java/parse.y:1042 ../../gcc/java/parse.y:1047
+#: ../../gcc/java/parse.y:1052 ../../gcc/java/parse.y:2036
msgid "Identifier expected"
-msgstr ""
+msgstr "Kaldenavn forventet"
-#: java/parse.y:1047
+#: ../../gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
-msgstr ""
+msgstr "Ugyldig metodeerklæring, returtype påkrævet"
-#: java/parse.y:1070 java/parse.y:1507 java/parse.y:1514 java/parse.y:1523
-#: java/parse.y:1525 java/parse.y:1553 java/parse.y:1661 java/parse.y:1942
-#: java/parse.y:1995
+#: ../../gcc/java/parse.y:1080 ../../gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1537 ../../gcc/java/parse.y:1546
+#: ../../gcc/java/parse.y:1548 ../../gcc/java/parse.y:1576
+#: ../../gcc/java/parse.y:1684 ../../gcc/java/parse.y:1981
+#: ../../gcc/java/parse.y:2034
msgid "')' expected"
-msgstr ""
+msgstr "')' forventet"
-#: java/parse.y:1086
+#: ../../gcc/java/parse.y:1096
msgid "Missing formal parameter term"
-msgstr ""
+msgstr "Manglende formel parameterterm"
-#: java/parse.y:1101 java/parse.y:1106
-#, fuzzy
+#: ../../gcc/java/parse.y:1111 ../../gcc/java/parse.y:1116
msgid "Missing identifier"
-msgstr "manglende startværdi"
+msgstr "Manglende kaldenavn"
-#: java/parse.y:1126 java/parse.y:1135
+#: ../../gcc/java/parse.y:1136 ../../gcc/java/parse.y:1145
msgid "Missing class type term"
-msgstr ""
+msgstr "Manglende klassetypeterm"
-#: java/parse.y:1287
-#, fuzzy
+#: ../../gcc/java/parse.y:1301
msgid "Invalid interface type"
-msgstr "ugyldig '#pragma interface'"
+msgstr "Ugyldig grænsefladetype"
-#: java/parse.y:1471 java/parse.y:1640 java/parse.y:1642
+#: ../../gcc/java/parse.y:1494 ../../gcc/java/parse.y:1663
+#: ../../gcc/java/parse.y:1665
msgid "':' expected"
-msgstr ""
+msgstr "':' forventet"
-#: java/parse.y:1493 java/parse.y:1498 java/parse.y:1503
-#, fuzzy
+#: ../../gcc/java/parse.y:1516 ../../gcc/java/parse.y:1521
+#: ../../gcc/java/parse.y:1526
msgid "Invalid expression statement"
-msgstr "ugyldigt udtryk som operand"
-
-#: java/parse.y:1521 java/parse.y:1549 java/parse.y:1589 java/parse.y:1657
-#: java/parse.y:1725 java/parse.y:1831 java/parse.y:1899 java/parse.y:1989
-#: java/parse.y:1991 java/parse.y:1999 java/parse.y:2234 java/parse.y:2236
+msgstr "Ugyldig udtrykssætning"
+
+#: ../../gcc/java/parse.y:1544 ../../gcc/java/parse.y:1572
+#: ../../gcc/java/parse.y:1612 ../../gcc/java/parse.y:1680
+#: ../../gcc/java/parse.y:1748 ../../gcc/java/parse.y:1869
+#: ../../gcc/java/parse.y:1938 ../../gcc/java/parse.y:2028
+#: ../../gcc/java/parse.y:2030 ../../gcc/java/parse.y:2038
+#: ../../gcc/java/parse.y:2274 ../../gcc/java/parse.y:2276
msgid "'(' expected"
-msgstr ""
+msgstr "'(' forventet"
-#: java/parse.y:1591
+#: ../../gcc/java/parse.y:1614
msgid "Missing term or ')'"
-msgstr ""
+msgstr "Manglende term eller ')'"
-#: java/parse.y:1638
-#, fuzzy
+#: ../../gcc/java/parse.y:1661
msgid "Missing or invalid constant expression"
-msgstr "tabel får tildelt en startværdi fra et tabeludtryk der ikke er konstant"
+msgstr "Manglende eller ugyldigt konstant udtryk"
-#: java/parse.y:1659
-#, fuzzy
+#: ../../gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
-msgstr "%s er kortere end forventet\n"
+msgstr "Manglende term eller ')' forventet"
-#: java/parse.y:1698
-#, fuzzy
+#: ../../gcc/java/parse.y:1721
msgid "Invalid control expression"
-msgstr "ugyldigt sandhedsværdiudtryk"
+msgstr "Ugyldigt kontroludtryk"
-#: java/parse.y:1700 java/parse.y:1702
-#, fuzzy
+#: ../../gcc/java/parse.y:1723 ../../gcc/java/parse.y:1725
msgid "Invalid update expression"
-msgstr "ugyldigt sandhedsværdiudtryk"
+msgstr "Ugyldigt opdateringsudtryk"
-#: java/parse.y:1727
-#, fuzzy
+#: ../../gcc/java/parse.y:1750
msgid "Invalid init statement"
-msgstr "ugyldig venstreværdi i asm-sætning"
+msgstr "Ugyldig klargøringssætning"
-#: java/parse.y:1902
+#: ../../gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
-msgstr ""
+msgstr "Manglende term eller ')' forventet"
-#: java/parse.y:1944
-#, fuzzy
+#: ../../gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
-msgstr "%s er kortere end forventet\n"
+msgstr "'class' eller 'this' forventet"
-#: java/parse.y:1946 java/parse.y:1948
+#: ../../gcc/java/parse.y:1985 ../../gcc/java/parse.y:1987
msgid "'class' expected"
-msgstr ""
+msgstr "'class' forventet"
-#: java/parse.y:1993
-#, fuzzy
+#: ../../gcc/java/parse.y:2032
msgid "')' or term expected"
-msgstr "%s er kortere end forventet\n"
+msgstr "')' eller term forventet"
-#: java/parse.y:2111
+#: ../../gcc/java/parse.y:2151
msgid "'[' expected"
-msgstr ""
+msgstr "'[' forventet"
-#: java/parse.y:2189
+#: ../../gcc/java/parse.y:2229
msgid "Field expected"
-msgstr ""
+msgstr "Felt forventet"
-#: java/parse.y:2246 java/parse.y:2256
-#, fuzzy
+#: ../../gcc/java/parse.y:2286 ../../gcc/java/parse.y:2296
msgid "Missing term and ']' expected"
-msgstr "%s er kortere end forventet\n"
+msgstr "Manglende term og ']' forventet"
-#: java/parse.y:2351
-#, fuzzy
+#: ../../gcc/java/parse.y:2400
msgid "']' expected, invalid type expression"
-msgstr "ugyldigt sandhedsværdiudtryk"
+msgstr "']' forventet, ugyldigt typeudtryk"
-#: java/parse.y:2354
-#, fuzzy
+#: ../../gcc/java/parse.y:2403
msgid "Invalid type expression"
-msgstr "ugyldigt sandhedsværdiudtryk"
+msgstr "Ugyldigt typeudtryk"
-#: java/parse.y:2466
-#, fuzzy
+#: ../../gcc/java/parse.y:2515
msgid "Invalid reference type"
-msgstr "new kan ikke bruges på en referencetype"
+msgstr "Ugyldig referencetype"
-#: java/parse.y:2944
+#: ../../gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
-msgstr ""
+msgstr "Konstruktionsfunktionskald skal være det første i en konstruktionsfunktion"
-#: java/parse.y:2946
-#, fuzzy
+#: ../../gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
-msgstr "kun konstruktionsfunktioner har stamklasseklargøringer"
+msgstr "Kun konstruktionsfunktioner kan kalde konstruktionsfunktioner"
-#: java/parse.y:2955
+#: ../../gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
-msgstr ""
+msgstr ": '%s' JDK1.1(TM)-facilitet"
-#: java/parse.y:3015 java/parse.y:3017
-#, fuzzy, c-format
+#: ../../gcc/java/parse.y:3064 ../../gcc/java/parse.y:3066
+#, c-format
msgid ""
"%s.\n"
"%s"
-msgstr "%s: %s"
-
-#: java/parse.y:3480
-msgid "Can't use '$' as a separator for inner classes"
msgstr ""
+"%s.\n"
+"%s"
-#: java/parse.y:6577
+#: ../../gcc/java/parse.y:6879
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
-msgstr ""
+msgstr "ugyldigt udformet .zip-arkiv i CLASSPATH: %s"
-#: java/parse.y:6648
+#: ../../gcc/java/parse.y:6950
#, c-format
-msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives."
-msgstr ""
+msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives"
+msgstr "Kan ikke finde standardpakken '%s'. Kontrollér CLASSPATH-miljøvariablen og tilgangen til arkiverne"
-#: java/parse.y:11787
-#, fuzzy, c-format
+#: ../../gcc/java/parse.y:12352
+#, c-format
msgid "missing static field `%s'"
-msgstr "manglende mellemrum efter tallet '%s'"
+msgstr "manglende statisk felt '%s'"
-#: java/parse.y:11792
-#, fuzzy, c-format
+#: ../../gcc/java/parse.y:12357
+#, c-format
msgid "not a static field `%s'"
-msgstr "kunne ikke få fat i oplysninger om filen '%s'"
+msgstr "ikke et statisk felt '%s'"
-#: java/parse.y:11845
-#, fuzzy, c-format
+#: ../../gcc/java/parse.y:12400
+#, c-format
msgid "No case for %s"
-msgstr "Ingen kald i filen %s\n"
+msgstr "Ingen case for %s"
-#: java/parse.y:13030
-#, fuzzy, c-format
+#: ../../gcc/java/parse.y:13365
+#, c-format
msgid "unregistered operator %s"
-msgstr "ukendt tilvalg '-%s'"
+msgstr "ikke-registreret operator %s"
-#: java/typeck.c:178
-#, fuzzy
-msgid "internal error - use of undefined type"
-msgstr "ugyldig brug af en type '%s %s' der ikke er defineret"
-
-#: java/typeck.c:557
-#, fuzzy
+#: java/typeck.c:553
msgid "junk at end of signature string"
-msgstr "ragelse i slutningen af #%s"
+msgstr "ragelse i slutningen signaturstreng"
-#: java/verify.c:464
+#: java/verify.c:479
msgid "bad pc in exception_table"
-msgstr ""
+msgstr "ugyldig pc i exception_table"
-#: java/verify.c:1344
+#: java/verify.c:485
+msgid "exception handler inside code that is being protected"
+msgstr "undtagelseshåndtering inden i kode der bliver beskyttet"
+
+#: java/verify.c:1395
#, c-format
msgid "unknown opcode %d@pc=%d during verification"
-msgstr ""
+msgstr "ukendt kode %d@pc=%d under verifikation"
-#: java/verify.c:1414 java/verify.c:1427 java/verify.c:1431
+#: java/verify.c:1465 java/verify.c:1478 java/verify.c:1482
#, c-format
msgid "verification error at PC=%d"
-msgstr ""
+msgstr "verifikationsfejl ved PC=%d"
-#: objc/lang-options.h:27
-msgid "Dump decls to a .decl file"
-msgstr ""
+#: java/lang-options.h:32
+msgid "Disable automatic array bounds checking"
+msgstr "Deaktivér automatisk tabelgrænsekontrollering"
-#: objc/lang-options.h:29
-#, fuzzy
-msgid "Generate code for GNU runtime environment"
-msgstr "Generér kode til en given cpu"
+#: java/lang-options.h:34
+msgid "Disable assignability checks for stores into object arrays"
+msgstr "Deaktivér tildelingstjek for lagringer i objekttabeller"
-#: objc/lang-options.h:32
-#, fuzzy
-msgid "Generate code for NeXT runtime environment"
-msgstr "Generér kode til en given cpu"
+#: java/lang-options.h:36
+msgid "Assume native functions are implemented using JNI"
+msgstr "Antag at indfødte funktioner er implementeret vha. JNI"
-#: objc/lang-options.h:35
-msgid "Warn if a selector has multiple methods"
-msgstr ""
+#: java/lang-options.h:38
+msgid "Replace system path"
+msgstr "Erstat systemsti"
-#: objc/lang-options.h:39
-msgid "Do not warn if inherited methods are unimplemented"
-msgstr ""
+#: java/lang-options.h:40
+msgid "Set class path"
+msgstr "Angiv klassesti"
-#: objc/lang-options.h:41
-msgid "Generate C header of platform specific features"
-msgstr ""
+#: java/lang-options.h:42
+msgid "Set class path (deprecated: use --classpath instead)"
+msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)"
-#: objc/lang-options.h:43
-#, fuzzy
-msgid "Specify the name of the class for constant strings"
-msgstr "parameteren til 'asm' er ikke en konstant streng"
+#: java/lang-options.h:44
+msgid "Choose class whose main method should be used"
+msgstr "Vælg klasse hvis main-metode skal bruges"
-#: objc/objc-act.c:811
-msgid "no class name specified as argument to -fconstant-string-class"
-msgstr ""
+#: java/lang-options.h:46
+msgid "Choose input encoding (default comes from locale)"
+msgstr "Vælg inddatakodning (standardværdi kommer fra regionalindstillinger)"
+
+#: java/lang-options.h:48
+msgid "Add directory to class path"
+msgstr "Tilføj katalog til klassesti"
+
+#: java/lang-options.h:50
+msgid "Directory where class files should be written"
+msgstr "Katalog som klassefiler skrives i"
+
+#: java/lang-options.h:52
+msgid "Warn if modifiers are specified when not necessary"
+msgstr "Advar hvis modifikationer angives når det ikke er nødvendigt"
+
+#: java/lang-options.h:54
+msgid "Warn if deprecated empty statements are found"
+msgstr "Advar hvis forældede tomme sætninger bliver fundet"
-#: objc/objc-act.c:972
+#: java/lang-options.h:56
+msgid "Warn if .class files are out of date"
+msgstr "Advar hvis .class-filer er forældede"
+
+#: java/lang-options.h:58
+msgid "Always check for non gcj generated classes archives"
+msgstr "Kontrollér altid for ikke-GCJ-genererede klassearkiver"
+
+#: java/lang-options.h:60
+msgid "Never optimize static class initialization code"
+msgstr "Optimér aldrig statiske klassers klargøringskode"
+
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
+msgstr "Benyt afsætstabeller til virtuelle metodekald"
+
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
-msgstr ""
+msgstr "objekt overholder ikke protokollen '%s'"
-#: objc/objc-act.c:1010
+#: objc/objc-act.c:737 objc/objc-act.c:810
#, c-format
msgid "class `%s' does not implement the `%s' protocol"
-msgstr ""
+msgstr "klassen '%s' implementerer ikke protokollen '%s'"
-#: objc/objc-act.c:1091
+#: objc/objc-act.c:914
#, c-format
msgid "`%s' cannot be statically allocated"
-msgstr ""
+msgstr "'%s' kan ikke allokeres statisk"
-#: objc/objc-act.c:1147
+#: objc/objc-act.c:963
#, c-format
-msgid "Unexpected type for `id' (%s)"
-msgstr ""
+msgid "unexpected type for `id' (%s)"
+msgstr "uventet type for 'id' (%s)"
-#: objc/objc-act.c:1152
-msgid "Undefined type `id', please import <objc/objc.h>"
-msgstr "Typen 'id' er ikke defineret, importér venligst <objc/objc.h>"
+#: objc/objc-act.c:968
+msgid "undefined type `id', please import <objc/objc.h>"
+msgstr "typen 'id' er ikke defineret, importér venligst <objc/objc.h>"
-#: objc/objc-act.c:1200 objc/objc-act.c:5359
+#: objc/objc-act.c:1019
#, c-format
-msgid "Cannot find protocol declaration for `%s'"
-msgstr "Kan ikke finde protokolerklæringen af '%s'"
+msgid "protocol `%s' has circular dependency"
+msgstr "protokollen '%s' har cirkulær afhængighed"
-#: objc/objc-act.c:1422 objc/objc-act.c:5879 objc/objc-act.c:6177
-#: objc/objc-act.c:6226 objc/objc-act.c:6262 objc/objc-parse.y:1371
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, c-format
-msgid "Cannot find interface declaration for `%s'"
-msgstr "Kan ikke finde interface-erklæringen af '%s'"
+msgid "cannot find protocol declaration for `%s'"
+msgstr "kan ikke finde protokolerklæringen af '%s'"
-#: objc/objc-act.c:2460
-#, fuzzy, c-format
-msgid "Cannot find class `%s'"
-msgstr "kan ikke finde '%s'"
+#: 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:1799
+#, c-format
+msgid "cannot find interface declaration for `%s'"
+msgstr "kan ikke finde grænsefladeerklæringen af '%s'"
+
+#: objc/objc-act.c:1328
+#, c-format
+msgid "cannot find reference tag for class `%s'"
+msgstr "kan ikke finde referencemærket for klassen '%s'"
-#: objc/objc-act.c:2462
-#, fuzzy, c-format
-msgid "Class `%s' already exists"
-msgstr "feltet '%s' er allerede blevet klargjort"
+#: objc/objc-act.c:2050
+#, c-format
+msgid "creating selector for non existant method %s"
+msgstr "opretter vælger for ikke-eksisterende metode '%s'"
+
+#: objc/objc-act.c:2364
+#, c-format
+msgid "cannot find class `%s'"
+msgstr "kan ikke finde klassen '%s'"
+
+#: objc/objc-act.c:2366
+#, c-format
+msgid "class `%s' already exists"
+msgstr "klassen '%s' eksisterer allerede"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2586
+#: objc/objc-act.c:2473
#, c-format
-msgid "Cannot find interface declaration for `%s', superclass of `%s'"
-msgstr "Kan ikke interface-erklæringen af '%s', superklasse til '%s'"
+msgid "cannot find interface declaration for `%s', superclass of `%s'"
+msgstr "kan ikke grænsefladeerklæringen af '%s', superklasse til '%s'"
-#: objc/objc-act.c:2593
+#: objc/objc-act.c:2480
#, c-format
-msgid "Circular inheritance in interface declaration for `%s'"
-msgstr "Cirkulær nedarvning i interface-erklæringen af '%s'"
+msgid "circular inheritance in interface declaration for `%s'"
+msgstr "cirkulær nedarvning i interface-erklæringen af '%s'"
-#: objc/objc-act.c:3643 objc/objc-act.c:3660
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
msgid "inconsistent instance variable specification"
msgstr "inkonsistent instansvariabelangivelse"
-#: objc/objc-act.c:4854
-#, fuzzy, c-format
+#: objc/objc-act.c:4580
+msgid "can not use an object as parameter to a method\n"
+msgstr "kan ikke benytte et objekt som parameter til en metode\n"
+
+#: objc/objc-act.c:4780
+#, c-format
msgid "multiple declarations for method `%s'"
-msgstr "mere end én erklæring af klassemetoden '%s'."
+msgstr "mere end én erklæring af metoden '%s'"
-#: objc/objc-act.c:4968
-#, fuzzy, c-format
+#: objc/objc-act.c:4946
+#, c-format
msgid "invalid receiver type `%s'"
-msgstr "ugyldig brug af en type '%s %s' der ikke er defineret"
+msgstr "ugyldig modtagertype '%s'"
-#: objc/objc-act.c:5036 objc/objc-act.c:5062 objc/objc-act.c:5110
+#: 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 ""
+msgstr "'%s' svarer ikke på '%s'"
-#: objc/objc-act.c:5042 objc/objc-act.c:7283
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, c-format
msgid "no super class declared in interface for `%s'"
-msgstr "der er ikke erklæret en superklasse i interface-erklæringen af '%s'"
+msgstr "ingen superklasse erklæret i grænsefladen for '%s'"
-#: objc/objc-act.c:5140
-msgid "cannot find class (factory) method."
-msgstr ""
+#: objc/objc-act.c:5081
+msgid "cannot find class (factory) method"
+msgstr "kan ikke finde klasse(fabriks)metode"
-#: objc/objc-act.c:5141 objc/objc-act.c:5185
+#: objc/objc-act.c:5082 objc/objc-act.c:5126
#, c-format
msgid "return type for `%s' defaults to id"
-msgstr ""
+msgstr "returtypen for '%s' får standardværdien id"
-#: objc/objc-act.c:5158
-#, fuzzy, c-format
-msgid "method `%s' not implemented by protocol."
-msgstr "Profilgenerering understøttes ikke endnu."
+#: objc/objc-act.c:5099
+#, c-format
+msgid "method `%s' not implemented by protocol"
+msgstr "metoden '%s' er ikke implementeret af protokollen"
-#: objc/objc-act.c:5167
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
-msgstr ""
+msgstr "returtype får standardværdien id"
-#: objc/objc-act.c:5184
-#, fuzzy
-msgid "cannot find method."
-msgstr "kan ikke finde 'nm'"
+#: objc/objc-act.c:5125
+msgid "cannot find method"
+msgstr "kan ikke finde metode"
+
+#: objc/objc-act.c:5399
+#, c-format
+msgid "undeclared selector `%s'"
+msgstr "uerklæret vælger '%s'"
#. Historically, a class method that produced objects (factory
#. method) would assign `self' to the instance that it
@@ -11925,2367 +20451,1369 @@ msgstr "kan ikke finde 'nm'"
#. 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:5428
-#, fuzzy, c-format
+#: objc/objc-act.c:5443
+#, c-format
msgid "instance variable `%s' accessed in class method"
-msgstr "instansvariablen '%s' er erklæret '%s'"
+msgstr "instansvariablen '%s' tilgået i klassemetode"
-#: objc/objc-act.c:5680
+#: objc/objc-act.c:5678
#, c-format
-msgid "duplicate definition of class method `%s'."
-msgstr "mere end én definition af klassemetoden '%s'."
+msgid "duplicate definition of class method `%s'"
+msgstr "mere end én definition af klassemetoden '%s'"
-#: objc/objc-act.c:5686
+#: objc/objc-act.c:5684
#, c-format
-msgid "duplicate declaration of class method `%s'."
-msgstr "mere end én erklæring af klassemetoden '%s'."
+msgid "duplicate declaration of class method `%s'"
+msgstr "mere end én erklæring af klassemetoden '%s'"
-#: objc/objc-act.c:5722
+#: objc/objc-act.c:5720
#, c-format
-msgid "duplicate definition of instance method `%s'."
-msgstr "mere end én definition af instansmetoden '%s'."
+msgid "duplicate definition of instance method `%s'"
+msgstr "mere end én definition af instansmetoden '%s'"
-#: objc/objc-act.c:5728
+#: objc/objc-act.c:5726
#, c-format
-msgid "duplicate declaration of instance method `%s'."
-msgstr "mere end én erklæring af instansmetoden '%s'."
+msgid "duplicate declaration of instance method `%s'"
+msgstr "mere end én erklæring af instansmetoden '%s'"
-#: objc/objc-act.c:5768
-#, fuzzy, c-format
+#: objc/objc-act.c:5766
+#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
-msgstr "Kan ikke finde interface-erklæringen af '%s'"
+msgstr "mere end én grænsefladeerklæring af kategorien '%s(%s)'"
-#: objc/objc-act.c:5854
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr "instansvariablen '%s' er erklæret privat"
-#: objc/objc-act.c:5901
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr "instansvariablen '%s' er erklæret '%s'"
-#: objc/objc-act.c:5911
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
-msgstr ""
+msgstr "statisk tilgang til objekt af typen 'id'"
-#: objc/objc-act.c:5945 objc/objc-act.c:6039
-#, fuzzy, c-format
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
+#, c-format
msgid "incomplete implementation of class `%s'"
-msgstr "omimplementering af klassen '%s'"
+msgstr "ufuldstændig implementering af klassen '%s'"
-#: objc/objc-act.c:5949 objc/objc-act.c:6044
-#, fuzzy, c-format
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
+#, c-format
msgid "incomplete implementation of category `%s'"
-msgstr "omimplementering af klassen '%s'"
+msgstr "ufuldstændig implementering af kategorien '%s'"
-#: objc/objc-act.c:5954 objc/objc-act.c:6049
-#, fuzzy, c-format
+#: objc/objc-act.c:5943 objc/objc-act.c:6037
+#, c-format
msgid "method definition for `%c%s' not found"
-msgstr "metodedefinitionen optræder ikke i en klassekontekst"
+msgstr "metodedefinitionen for '%c%s' ikke fundet"
-#: objc/objc-act.c:6090
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
-msgstr ""
+msgstr "%s '%s' implementerer ikke helt protokollen '%s'"
-#: objc/objc-act.c:6149
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
+msgid "`@end' missing in implementation context"
+msgstr "'@end' mangler i implementationskontekst"
+
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr "omimplementering af klassen '%s'"
-#: objc/objc-act.c:6191
+#: objc/objc-act.c:6209
#, c-format
msgid "conflicting super class name `%s'"
msgstr "modstridende superklassenavn '%s'"
-#: objc/objc-act.c:6206
-#, fuzzy, c-format
+#: objc/objc-act.c:6224
+#, c-format
msgid "duplicate interface declaration for class `%s'"
-msgstr "mere end én erklæring af klassemetoden '%s'."
+msgstr "mere end én grænsefladeerklæring af klassen '%s'"
-#: objc/objc-act.c:6449
-#, fuzzy, c-format
+#: objc/objc-act.c:6506
+#, c-format
msgid "duplicate declaration for protocol `%s'"
-msgstr "mere end én erklæring af klassemetoden '%s'."
+msgstr "mere end én erklæring af protokollen '%s'"
-#: objc/objc-act.c:7324
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr "[super ...] skal optræde i en metodekontekst"
-#: objc/objc-act.c:8287 objc/objc-act.c:8303
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
-msgstr ""
+msgstr "potentiel vælgerkonflikt for metoden '%s'"
-#: objc/objc-parse.y:2159
-#, fuzzy
+#: objc-parse.y:2655
msgid "`@end' must appear in an implementation context"
-msgstr "[super ...] skal optræde i en metodekontekst"
+msgstr "'@end' skal optræde i en implementationskontekst"
-#: objc/objc-parse.y:2425 objc/objc-parse.y:2450
+#: objc-parse.y:2931
msgid "method definition not in class context"
msgstr "metodedefinitionen optræder ikke i en klassekontekst"
-#: objc/objc-parse.y:3278
-#, fuzzy
-msgid "syntax error at '@' token"
-msgstr "syntaksfejl"
-
-#. If we didn't find this parameter, issue an error message.
-#: params.c:80
-#, fuzzy, c-format
-msgid "invalid parameter `%s'"
-msgstr "ugyldig catch-parameter"
-
-#: profile.c:490
-msgid "Arc profiling: some edge counts were bad."
-msgstr ""
-
-#: profile.c:931
-#, fuzzy, c-format
-msgid "file %s not found, execution counts assumed to be zero."
-msgstr "Antager at alle kørselstællere er nul.\n"
-
-#: protoize.c:601
-#, c-format
-msgid "%s: internal abort\n"
-msgstr "%s: intern afbrydelse\n"
-
-#: protoize.c:692
-#, c-format
-msgid "%s: error writing file `%s': %s\n"
-msgstr "%s: fejl ved skrivning til filen '%s': %s\n"
-
-#: protoize.c:737
-#, c-format
-msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
-msgstr "%s: brug '%s [ -VqfnkN ] [ -i <istreng> ] [ filenavn ... ]'\n"
-
-#: protoize.c:740
-#, c-format
-msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
-msgstr "%s: brug '%s [ -VqfnkNlgC ] [ -B <katalognavn> ] [ filnavn ... ]'\n"
-
-#: protoize.c:847
-#, c-format
-msgid "%s: warning: no read access for file `%s'\n"
-msgstr "%s: advarsel: ingen læseadgang til filen '%s'\n"
-
-#: protoize.c:855
-#, c-format
-msgid "%s: warning: no write access for file `%s'\n"
-msgstr "%s: advarsel: ingen skriveadgang til filen '%s'\n"
-
-#: protoize.c:863
-#, c-format
-msgid "%s: warning: no write access for dir containing `%s'\n"
-msgstr "%s: advarsel: ingen skriveadgang til kataloget der indeholder '%s'\n"
-
-#. Catch cases like /.. where we try to backup to a
-#. point above the absolute root of the logical file
-#. system.
-#: protoize.c:1281
-#, c-format
-msgid "%s: invalid file name: %s\n"
-msgstr "%s: ugyldigt filnavn: %s\n"
-
-#: protoize.c:1433
-#, c-format
-msgid "%s: %s: can't get status: %s\n"
-msgstr "%s: %s: kan ikke finde ud filens status: %s\n"
-
-#: protoize.c:1454
-#, c-format
-msgid "\n%s: fatal error: aux info file corrupted at line %d\n"
-msgstr "\n%s: fatal fejl: hjælpeinformationsfilen er beskadiget ved linje %d\n"
-
-#: protoize.c:1790
-#, c-format
-msgid "%s:%d: declaration of function `%s' takes different forms\n"
-msgstr "%s:%d: erklæringen af funktionen '%s' antager forskellige former\n"
-
-#: protoize.c:2048
-#, c-format
-msgid "%s: compiling `%s'\n"
-msgstr "%s: oversætter '%s'\n"
-
-#: protoize.c:2071
-#, c-format
-msgid "%s: wait: %s\n"
-msgstr "%s: vent: %s\n"
-
-#: protoize.c:2076
-#, c-format
-msgid "%s: subprocess got fatal signal %d\n"
-msgstr "%s: barneprocessen modtog fatalt signal %d\n"
-
-#: protoize.c:2084
-#, c-format
-msgid "%s: %s exited with status %d\n"
-msgstr "%s: %s afsluttede med status %d\n"
-
-#: protoize.c:2136
-#, c-format
-msgid "%s: warning: missing SYSCALLS file `%s'\n"
-msgstr "%s: advarsel: manglende SYSCALLS-fil '%s'\n"
-
-#: protoize.c:2145 protoize.c:2174
-#, c-format
-msgid "%s: can't read aux info file `%s': %s\n"
-msgstr "%s: kan ikke læse hjælpeinformationsfilen '%s': %s\n"
-
-#: protoize.c:2190 protoize.c:2218
-#, c-format
-msgid "%s: can't get status of aux info file `%s': %s\n"
-msgstr "%s: kan ikke finde status af hjælpeinformationsfilen '%s': %s\n"
-
-#: protoize.c:2246
-#, c-format
-msgid "%s: can't open aux info file `%s' for reading: %s\n"
-msgstr "%s: kan ikke åbne hjælpeinformationsfilen '%s' til at læse fra: %s\n"
-
-#: protoize.c:2264
-#, c-format
-msgid "%s: error reading aux info file `%s': %s\n"
-msgstr "%s: fejl ved læsning af hjælpeinformationsfilen '%s': %s\n"
-
-#: protoize.c:2277
-#, c-format
-msgid "%s: error closing aux info file `%s': %s\n"
-msgstr "%s: fejl ved lukning af hjælpeinformationsfilen '%s': %s\n"
-
-#: protoize.c:2293
-#, c-format
-msgid "%s: can't delete aux info file `%s': %s\n"
-msgstr "%s: kan ikke slette hjælpeinformationsfilen '%s': %s\n"
-
-#: protoize.c:2375 protoize.c:4377
-#, c-format
-msgid "%s: can't delete file `%s': %s\n"
-msgstr "%s: kan ikke slette filen '%s': %s\n"
-
-#: protoize.c:2454
-#, c-format
-msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
-msgstr "%s: advarsel: kan ikke omdøbe filen '%s' til '%s': %s\n"
-
-#: protoize.c:2579
-#, c-format
-msgid "%s: conflicting extern definitions of '%s'\n"
-msgstr "%s: modstridende eksterne definitioner af '%s'\n"
-
-#: protoize.c:2583
-#, c-format
-msgid "%s: declarations of '%s' will not be converted\n"
-msgstr "%s: erklæringer af '%s' vil ikke blive omdannet\n"
-
-#: protoize.c:2585
-#, c-format
-msgid "%s: conflict list for '%s' follows:\n"
-msgstr "%s: modstridene for '%s' følger:\n"
-
-#: protoize.c:2618
-#, c-format
-msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
-msgstr "%s: advarsel: bruger parameterlisten fra %s(%d) til funktionen '%s'\n"
-
-#: protoize.c:2658
-#, c-format
-msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
-msgstr "%s: %d: '%s' benyttet, men mangler i SYSCALLS\n"
-
-#: protoize.c:2664
-#, c-format
-msgid "%s: %d: warning: no extern definition for `%s'\n"
-msgstr "%s: %d: advarsel: ingen ekstern definition af '%s'\n"
-
-#: protoize.c:2695
-#, c-format
-msgid "%s: warning: no static definition for `%s' in file `%s'\n"
-msgstr "%s: advarsel: ingen statisk definition af '%s' i filen '%s'\n"
-
-#: protoize.c:2701
-#, c-format
-msgid "%s: multiple static defs of `%s' in file `%s'\n"
-msgstr "%s: flere statiske definitioner af '%s' i filen '%s'\n"
-
-#: protoize.c:2874 protoize.c:2877
-#, c-format
-msgid "%s: %d: warning: source too confusing\n"
-msgstr "%s: %d: advarsel: koden er for forvirrende\n"
-
-#: protoize.c:3083
-#, c-format
-msgid "%s: %d: warning: varargs function declaration not converted\n"
-msgstr "%s: %d: advarsel: funktionserklæring med variabel parameterliste er ikke omdannet\n"
-
-#: protoize.c:3098
-#, c-format
-msgid "%s: declaration of function `%s' not converted\n"
-msgstr "%s: erklæringen af funktionen '%s' er ikke omdannet\n"
-
-#: protoize.c:3221
-#, c-format
-msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
-msgstr "%s: advarsel: for mange parameterlister i erklæringen af '%s'\n"
-
-#: protoize.c:3242
-#, c-format
-msgid "\n%s: warning: too few parameter lists in declaration of `%s'\n"
-msgstr "\n%s: advarsel: for få parameterlister i erklæringen af '%s'\n"
-
-#: protoize.c:3340
-#, c-format
-msgid "%s: %d: warning: found `%s' but expected `%s'\n"
-msgstr "%s: %d: advarsel: fandt '%s', men forventede '%s'\n"
-
-#: protoize.c:3518
-#, c-format
-msgid "%s: local declaration for function `%s' not inserted\n"
-msgstr "%s: den lokale erklæring af funktionen '%s' er ikke indsat\n"
-
-#: protoize.c:3545
-#, c-format
-msgid "\n%s: %d: warning: can't add declaration of `%s' into macro call\n"
-msgstr "\n%s: %d: advarsel: kan ikke tilføje erklæringen af '%s' i makrokald\n"
-
-#: protoize.c:3619
-#, c-format
-msgid "%s: global declarations for file `%s' not inserted\n"
-msgstr "%s: globale erklæringer for filen '%s' er ikke indsat\n"
-
-#: protoize.c:3710 protoize.c:3740
-#, c-format
-msgid "%s: definition of function `%s' not converted\n"
-msgstr "%s: definitionen af funktionen '%s' er ikke omdannet\n"
-
-#: protoize.c:3729
-#, c-format
-msgid "%s: %d: warning: definition of %s not converted\n"
-msgstr "%s: %d: advarsel: definitionen af '%s' er ikke omdannet\n"
-
-#: protoize.c:4059
-#, c-format
-msgid "%s: found definition of `%s' at %s(%d)\n"
-msgstr "%s: fandt definitionen af '%s' ved %s(%d)\n"
-
-#. If we make it here, then we did not know about this
-#. function definition.
-#: protoize.c:4075
-#, c-format
-msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
-msgstr "%s: %d: advarsel: '%s' ekskluderet af forbehandlingen\n"
-
-#: protoize.c:4078
-#, c-format
-msgid "%s: function definition not converted\n"
-msgstr "%s: funktionsdefinitionen er ikke omdannet\n"
-
-#: protoize.c:4137
-#, c-format
-msgid "%s: `%s' not converted\n"
-msgstr "%s: '%s' ikke omdannet\n"
-
-#: protoize.c:4145
-#, c-format
-msgid "%s: would convert file `%s'\n"
-msgstr "%s: ville omdanne filen '%s'\n"
-
-#: protoize.c:4148
-#, c-format
-msgid "%s: converting file `%s'\n"
-msgstr "%s: omdanner filen '%s'\n"
-
-#: protoize.c:4158
-#, c-format
-msgid "%s: can't get status for file `%s': %s\n"
-msgstr "%s: kan ikke finde status af filen '%s': %s\n"
-
-#: protoize.c:4200
-#, c-format
-msgid "%s: can't open file `%s' for reading: %s\n"
-msgstr "%s: kan ikke åbne filen '%s' til at læse fra: %s\n"
-
-#: protoize.c:4215
-#, c-format
-msgid "\n%s: error reading input file `%s': %s\n"
-msgstr "\n%s: fejl ved læsning af inddatafilen '%s': %s\n"
-
-#: protoize.c:4249
-#, c-format
-msgid "%s: can't create/open clean file `%s': %s\n"
-msgstr "%s: kan ikke oprette/åbne oprydningsfilen '%s': %s\n"
-
-#: protoize.c:4354
-#, c-format
-msgid "%s: warning: file `%s' already saved in `%s'\n"
-msgstr "%s: advarsel: filen '%s' er allerede gemt i '%s'\n"
-
-#: protoize.c:4362
-#, c-format
-msgid "%s: can't link file `%s' to `%s': %s\n"
-msgstr "%s: kan ikke kæde filen '%s' sammen med '%s': %s\n"
-
-#: protoize.c:4392
-#, c-format
-msgid "%s: can't create/open output file `%s': %s\n"
-msgstr "%s: kan ikke oprette/åbne uddatafilen '%s': %s\n"
-
-#: protoize.c:4425
-#, c-format
-msgid "%s: can't change mode of file `%s': %s\n"
-msgstr "%s: kan ikke ændre tilstanden af filen '%s': '%s'\n"
-
-#: protoize.c:4611
-#, c-format
-msgid "%s: cannot get working directory: %s\n"
-msgstr "%s: kan ikke få fat i arbejdskataloget: %s\n"
-
-#: protoize.c:4709
-#, c-format
-msgid "%s: input file names must have .c suffixes: %s\n"
-msgstr "%s: inddatafilnavn skal have '.c'-endelser: %s\n"
-
-#: real.c:802 real.c:979
-#, fuzzy
-msgid "conversion from NaN to int"
-msgstr "konvertering til en ufuldstændig type"
-
-#: real.c:825
-msgid "conversion from NaN to unsigned int"
-msgstr ""
-
-#: real.c:2700
-msgid "floating point overflow"
-msgstr ""
-
-#: real.c:4340 real.c:6619 real.c:6700
-#, fuzzy
-msgid "overflow on truncation to integer"
-msgstr "for mange enum-værdier"
-
-#: real.c:4412
-msgid "overflow on truncation to unsigned integer"
-msgstr ""
-
-#: real.c:5760
-#, c-format
-msgid "%s: argument domain error"
-msgstr ""
-
-#: real.c:5761
-#, c-format
-msgid "%s: function singularity"
-msgstr ""
-
-#: real.c:5762
-#, c-format
-msgid "%s: overflow range error"
-msgstr ""
-
-#: real.c:5763
-#, c-format
-msgid "%s: underflow range error"
-msgstr ""
-
-#: real.c:5764
-#, c-format
-msgid "%s: total loss of precision"
-msgstr ""
-
-#: real.c:5765
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr ""
-
-#: real.c:5766
-#, c-format
-msgid "%s: NaN - producing operation"
-msgstr ""
-
-#: reg-stack.c:655
-#, c-format
-msgid "Output constraint %d must specify a single register"
-msgstr ""
-
-#: reg-stack.c:675
-msgid "Output regs must be grouped at top of stack"
-msgstr ""
-
-#: reg-stack.c:712
-msgid "Implicitly popped regs must be grouped at top of stack"
-msgstr ""
-
-#: reg-stack.c:731
-#, fuzzy, c-format
-msgid "Output operand %d must use `&' constraint"
-msgstr "uddataoperandbegrænsning mangler '='"
-
-#: regclass.c:703
-#, c-format
-msgid "can't use '%s' as a %s register"
-msgstr "kan ikke bruge '%s' som et %s-register"
-
-#: regclass.c:725
-msgid "global register variable follows a function definition"
-msgstr "en global registervariabel følger en funktionsdefinition"
-
-#: regclass.c:729
-#, fuzzy
-msgid "register used for two global register variables"
-msgstr "ugyldigt registernavn '%s' for registervariabel"
-
-#: regclass.c:734
-#, fuzzy
-msgid "call-clobbered register used for global register variable"
-msgstr "ugyldigt registernavn '%s' for registervariabel"
-
-#: reload.c:1198
-#, fuzzy
-msgid "cannot reload integer constant operand in `asm'"
-msgstr "mere end %d operander i 'asm'"
-
-#: reload.c:1220
-#, fuzzy
-msgid "impossible register constraint in `asm'"
-msgstr "muligvis den rigtige begyndelse af uafsluttet konstant"
-
-#: reload.c:3330
-#, fuzzy
-msgid "`&' constraint used with no register class"
-msgstr "'%%'-begrænsning brugt med sidste operand"
-
-#: reload.c:3487 reload.c:3701
-#, fuzzy
-msgid "inconsistent operand constraints in an `asm'"
-msgstr "inddataoperandbegrænsningen indeholder '%c'"
-
-#: reload1.c:1235
-msgid "frame size too large for reliable stack checking"
-msgstr ""
-
-#: reload1.c:1238
-msgid "try reducing the number of local variables"
-msgstr ""
+#: objc/lang-options.h:27
+msgid "Dump decls to a .decl file"
+msgstr "Udskriv erklæringer i en .decl-fil"
-#: reload1.c:1893
-#, fuzzy, c-format
-msgid "Can't find a register in class `%s' while reloading `asm'."
-msgstr "Kan ikke finde et register at bortødsle i klassen '%s'"
+#: objc/lang-options.h:29
+msgid "Generate code for GNU runtime environment"
+msgstr "Generér kode til GNU-kørselmiljø"
-#: reload1.c:1897
-#, c-format
-msgid "Unable to find a register to spill in class `%s'."
-msgstr "Kan ikke finde et register at bortødsle i klassen '%s'"
+#: objc/lang-options.h:32
+msgid "Generate code for NeXT runtime environment"
+msgstr "Generér kode til NeXT-kørselmiljø"
-#: reload1.c:3922
-msgid "`asm' operand requires impossible reload"
-msgstr ""
+#: objc/lang-options.h:35
+msgid "Warn if a selector has multiple methods"
+msgstr "Advar hvis en vælger har flere metoder"
-#: reload1.c:5033
-#, fuzzy
-msgid "`asm' operand constraint incompatible with operand size"
-msgstr "'%%'-begrænsning brugt med sidste operand"
+#: objc/lang-options.h:39
+msgid "Do not warn if inherited methods are unimplemented"
+msgstr "Advar ikk hvis nedarvede metoder ikke implementeres"
-#: reload1.c:6620
-#, fuzzy
-msgid "output operand is constant in `asm'"
-msgstr "uddataoperandbegrænsning mangler '='"
+#: objc/lang-options.h:41
+msgid "Generate C header of platform specific features"
+msgstr "Generér C-inkluderingsfil med platformspecifikke faciliteter"
-#: rtl.c:1289
-#, fuzzy, c-format
-msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
-msgstr "RTL-tjek: tilgang til udtrykstræ %d fra '%s' hvis sidste udtrykstræ er %d"
+#: objc/lang-options.h:43
+msgid "Specify the name of the class for constant strings"
+msgstr "Angiv navnet på klassen til konstante strenge"
-#: rtl.c:1304
-#, fuzzy, c-format
-msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
-msgstr "RTL-tjek: forventede udtrykstræ %d type '%c', har '%c' (registeroverførselsudtryk %s)"
+#. 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 "(fejlretning) følg fortolkningsprocessen"
-#: rtl.c:1320
-#, fuzzy, c-format
-msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
-msgstr "RTL-tjek: forventede udtrykstræ %d type '%c' eller '%c', har '%c' (registeroverførselsudtryk %s)"
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr "(fejlretning) følg lexikalsk analyse"
-#: rtl.c:1333
-#, fuzzy, c-format
-msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
-msgstr "RTL-tjek: forventede koden '%s', har '%s'"
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr "-current_version er kun tilladt med -dynamiclib"
-#: rtl.c:1347
-#, fuzzy, c-format
-msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
-msgstr "RTL-tjek: forventede koden '%s' eller '%s', har '%s'"
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr "-install_name er kun tilladt med -dynamiclib"
-#: rtl.c:1362
-#, fuzzy, c-format
-msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
-msgstr "RTL-tjek: tilgang til udtrykstræ %d af vektor hvis sidste udtrykstræ er %d"
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr "-bundle er ikke tilladt med -dynamiclib"
-#: stmt.c:917
-#, c-format
-msgid "jump to `%s' invalidly jumps into binding contour"
-msgstr "spring til '%s' rammer på ugyldig vis ind i bindingskontur"
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr "-bundle_loader er ikke tilladt med -dynamiclib"
-#: stmt.c:1153 stmt.c:3641
-#, c-format
-msgid "label `%s' used before containing binding contour"
-msgstr ""
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr "-client_name er ikke tilladt med -dynamiclib"
-#: stmt.c:1283 stmt.c:1357
-msgid "`asm' cannot be used in function where memory usage is checked"
-msgstr "'asm' kan ikke benyttes i funktioner hvor hukommelsesforbruget bliver tjekket"
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr "-force_cpusubtype_ALL er ikke tilladt med -dynamiclib"
-#: stmt.c:1343
-msgid "`asm' cannot be used with `-fcheck-memory-usage'"
-msgstr "'asm' kan ikke benyttes sammen med '-fcheck-memory-usage'"
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr "-force_flat_namespace er ikke tilladt med -dynamiclib"
-#: stmt.c:1372
-#, c-format
-msgid "unknown register name `%s' in `asm'"
-msgstr "ukendt registernavn '%s' i 'asm'"
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr "-keep_private_externs er ikke tilladt med -dynamiclib"
-#: stmt.c:1387
-msgid "too many alternatives in `asm'"
-msgstr "for mange alternativer i 'asm'"
+#: config/darwin.h:229
+msgid "-private_bundle not allowed with -dynamiclib"
+msgstr "-private_bundle er ikke tilladt med -dynamiclib"
-#: stmt.c:1398
-msgid "operand constraints for `asm' differ in number of alternatives"
-msgstr "operandbegrænsninger til 'asm' har forskellige antal alternativer"
+#: f/lang-specs.h:38 gcc.c:689
+msgid "GNU C does not support -C without using -E"
+msgstr "GNU C understøtter ikke -C uden -E"
-#: stmt.c:1446
-msgid "output operand constraint lacks `='"
-msgstr "uddataoperandbegrænsning mangler '='"
+#: f/lang-specs.h:39 gcc.c:690
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C understøtter ikke -CC uden -E"
-#: stmt.c:1465
-#, c-format
-msgid "output constraint `%c' for operand %d is not at the beginning"
-msgstr ""
+#: config/ia64/freebsd.h:23 config/sparc/freebsd.h:33
+#: config/i386/freebsd-aout.h:213 config/rs6000/sysv4.h:1106
+#: config/alpha/freebsd.h:44
+msgid "`-p' not supported; use `-pg' and gprof(1)"
+msgstr "'-p' understøttes ikke; brug '-pg' og gprof(1)"
-#: stmt.c:1472
-#, c-format
-msgid "output operand constraint %d contains `+'"
-msgstr "uddataoperandbegrænsning %d indeholder '+'"
+#: 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 "-m32 og -m64 er indbyrdes uforenelige"
-#: stmt.c:1481
-msgid "operand constraint contains '+' or '=' at illegal position."
-msgstr "operandbegrænsning indeholder '+' eller '=' på et ulovligt sted."
+#: config/vax/netbsd-elf.h:42
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "Tilvalget -shared understøttes i øjeblikket ikke for VAX ELF."
-#: stmt.c:1487 stmt.c:1664
-#, c-format
-msgid "`%%' constraint used with last operand"
-msgstr "'%%'-begrænsning brugt med sidste operand"
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "profilgenerering understøttes ikke med -mg\n"
-#: stmt.c:1501
-msgid "matching constraint not valid in output operand"
-msgstr "begrænsningen er ikke gyldig for uddataoperanden"
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "-pipe understøttes ikke"
-#: stmt.c:1527 stmt.c:1724
-#, c-format
-msgid "invalid punctuation `%c' in constraint"
-msgstr ""
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr "kan ikke bruge både -EB og -EL"
-#: stmt.c:1571
-#, c-format
-msgid "output number %d not directly addressable"
-msgstr "uddata nr. %d kan ikke adresseres direkte"
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr "-pg og -fomit-frame-pointer er indbyrdes uforenelige"
-#: stmt.c:1599
-#, c-format
-msgid "more than %d operands in `asm'"
-msgstr "mere end %d operander i 'asm'"
+#: config/i386/cygwin.h:115
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "-mno-cygwin og -mnowin32 er indbyrdes uforenelige"
-#: stmt.c:1637
-#, c-format
-msgid "hard register `%s' listed as input operand to `asm'"
-msgstr "hardware-register '%s' angivet som inddataoperand til 'asm'"
+#: config/i386/cygwin.h:171 config/i386/mingw32.h:85
+msgid "shared and mdll are not compatible"
+msgstr "shared og mdll er indbyrdes uforenelige"
-#: stmt.c:1654
-#, c-format
-msgid "input operand constraint contains `%c'"
-msgstr "inddataoperandbegrænsningen indeholder '%c'"
+#: gcc.c:847
+msgid "-E required when input is from standard input"
+msgstr "-E påkrævet når inddata kommer fra standardind"
-#: stmt.c:1691
-msgid "matching constraint references invalid operand number"
-msgstr "begrænsning refererer til et ugyldigt operandtal"
+#: gcc.c:851
+msgid "compilation of header file requested"
+msgstr "oversættelse af inkluderingsfil udbedt"
-#. ??? Leave this only until we have experience with what
-#. happens in combine and elsewhere when constraints are
-#. not satisfied.
-#: stmt.c:1758 stmt.c:1786
-#, c-format
-msgid "asm operand %d probably doesn't match constraints"
-msgstr ""
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
+msgstr " konfliktende kodegenereringstilvalg er benyttet"
-#: stmt.c:3578
-#, c-format
-msgid "unused variable `%s'"
-msgstr ""
+#: treelang/lang-specs.h:52
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg eller -p og -fomit-frame-pointer er indbyrdes uforenelige"
-#: stmt.c:5026
-#, fuzzy, c-format
-msgid "enumeration value `%s' not handled in switch"
-msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
+#: config/mcore/mcore.h:60
+msgid "choose either big or little endian, not both"
+msgstr "vælg enten stor- eller lilleendet, ikke begge"
-#: stmt.c:5052 stmt.c:5072
-#, c-format
-msgid "case value `%ld' not in enumerated type"
-msgstr ""
+#: config/mcore/mcore.h:63
+msgid "choose either m340 or m210 not both"
+msgstr "vælg enten m340 eller m210, ikke begge"
-#: stmt.c:5055 stmt.c:5075
-#, c-format
-msgid "case value `%ld' not in enumerated type `%s'"
-msgstr ""
+#: config/mcore/mcore.h:64
+msgid "the m210 does not have little endian support"
+msgstr "m210 har ikke understøttelse for lilleendet"
-#: stor-layout.c:140
-msgid "type size can't be explicitly evaluated"
-msgstr "det er ikke muligt eksplicit at finde typens størrelse"
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr "-mapcs-26 og -mapcs-32 kan ikke bruges på samme tid"
-#: stor-layout.c:142
-msgid "variable-size type declared outside of any function"
-msgstr "en type med en variabel størrelse er erklæret uden for en funktion"
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr "-msoft-float og -mhard_float kan ikke bruges på samme tid"
-#: stor-layout.c:415
-#, fuzzy, c-format
-msgid "size of `%s' is %d bytes"
-msgstr "størrelsen af tabel '%s' er negativ"
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr "-mbig-endian og -mlittle-endian kan ikke bruges på samme tid"
-#: stor-layout.c:417
-#, fuzzy, c-format
-msgid "size of `%s' is larger than %d bytes"
-msgstr "størrelsen af tabel '%s' er for stor"
+#: config/mips/r3900.h:35
+msgid "-mhard-float not supported"
+msgstr "-mhard-float understøttes ikke"
-#: stor-layout.c:771 stor-layout.c:1023
-#, c-format
-msgid "packed attribute causes inefficient alignment for `%s'"
-msgstr ""
+#: config/mips/r3900.h:37
+msgid "-msingle-float and -msoft-float can not both be specified"
+msgstr "-msingle-float og -msoft-float er indbyrdes uforenelige"
-#: stor-layout.c:773 stor-layout.c:1025
-#, c-format
-msgid "packed attribute is unnecessary for `%s'"
-msgstr ""
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr "-c eller -S kræves til Ada"
-#: stor-layout.c:788
-#, c-format
-msgid "padding struct to align `%s'"
-msgstr ""
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "-fjni og -femit-class-files er indbyrdes uforenelige"
-#: stor-layout.c:987
-msgid "padding struct size to alignment boundary"
-msgstr ""
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "-fjni og -femit-class-file er indbyrdes uforenelige"
-#: stor-layout.c:1030
-msgid "packed attribute causes inefficient alignment"
-msgstr ""
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "-femit-class-file skal bruges sammen med -fsyntax-only"
-#: stor-layout.c:1032
-msgid "packed attribute is unnecessary"
-msgstr ""
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
+msgid "-static not valid with -mcoff"
+msgstr "-static er ikke gyldig sammen med -mcoff"
-#: stringpool.c:307
-#, c-format
-msgid "\"%s\" and \"%s\" identical in first %d characters"
-msgstr ""
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
+msgid "-shared not valid with -mcoff"
+msgstr "-shared er ikke gyldig sammen med -mcoff"
-#: timevar.c:428
-msgid "\nExecution times (seconds)\n"
-msgstr ""
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
+msgid "-symbolic not valid with -mcoff"
+msgstr "-symbolic er ikke gyldig sammen med -mcoff"
-#. Print total time.
-#: timevar.c:476
-#, fuzzy
-msgid " TOTAL :"
-msgstr ""
-",\n"
-" af %s:%u"
+#: config/i386/sco5.h:636
+msgid "-fpic is not valid with -mcoff"
+msgstr "-fpic er ikke gyldig sammen med -mcoff"
-#: timevar.c:515
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr ""
+#: config/i386/sco5.h:637
+msgid "-fPIC is not valid with -mcoff"
+msgstr "-fPIC er ikke gyldig sammen med -mcoff"
-#: tlink.c:428
-#, fuzzy, c-format
-msgid "collect: reading %s\n"
-msgstr "collect2 version %s"
+#: config/i386/sco5.h:669
+msgid "-fpic not valid with -mcoff"
+msgstr "-fpic er ikke gyldig sammen med -mcoff"
-#: tlink.c:529
-#, fuzzy, c-format
-msgid "collect: recompiling %s\n"
-msgstr "%s: oversætter '%s'\n"
+#: config/i386/sco5.h:670
+msgid "-fPIC not valid with -mcoff"
+msgstr "-fPIC er ikke gyldig sammen med -mcoff"
-#: tlink.c:694
-#, fuzzy, c-format
-msgid "collect: tweaking %s in %s\n"
-msgstr "collect2 version %s"
+#~ msgid "__alignof__ applied to an incomplete type"
+#~ msgstr "__alignof__ benyttet på en ufuldstændig type"
-#: tlink.c:741
-msgid "collect: relinking\n"
-msgstr ""
+#~ msgid "-traditional is deprecated and may be removed"
+#~ msgstr "-traditional er forældet og kan blive fjernet"
-#: tlink.c:750
-#, fuzzy, c-format
-msgid "ld returned %d exit status"
-msgstr "%s returnerede afslutningskoden %d"
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "ukendt C-standard '%s'"
-#: toplev.c:913
-msgid "Generate debugging info in default format"
-msgstr ""
+#~ msgid "type of external `%s' is not global"
+#~ msgstr "typen af den eksterne '%s' er ikke global"
-#: toplev.c:914
-msgid "Generate debugging info in default extended format"
-msgstr ""
+#~ msgid "typedef `%s' is initialized"
+#~ msgstr "typedef '%s' bliver tildelt en startværdi"
-#: toplev.c:916
-msgid "Generate STABS format debug info"
-msgstr ""
+#~ msgid "unnamed fields of type other than struct or union are not allowed"
+#~ msgstr "unavngivne felter af andre typer end struct eller union er ikke tilladt"
-#: toplev.c:917
-msgid "Generate extended STABS format debug info"
-msgstr ""
+#~ msgid "null format string"
+#~ msgstr "formateringsstreng er nul"
-#: toplev.c:920
-msgid "Generate DWARF-1 format debug info"
-msgstr ""
+#~ msgid "ignoring #pragma %s"
+#~ msgstr "ignorerer #pragma: %s"
-#: toplev.c:922
-msgid "Generate extended DWARF-1 format debug info"
-msgstr ""
+#~ msgid "both 'f' and 'l' suffixes on floating constant"
+#~ msgstr "både 'f'- og 'l'-endelser i kommatalskonstant"
-#: toplev.c:925
-msgid "Generate DWARF-2 debug info"
-msgstr ""
+#~ msgid "floating point number exceeds range of '%s'"
+#~ msgstr "kommatal overskrider intervallet for '%s"
-#: toplev.c:928
-msgid "Generate XCOFF format debug info"
-msgstr ""
+#~ msgid "decimal point in exponent - impossible!"
+#~ msgstr "decimalkomma i eksponent - umuligt!"
-#: toplev.c:929
-msgid "Generate extended XCOFF format debug info"
-msgstr ""
+#~ msgid "underscore in number"
+#~ msgstr "understreg i tal"
-#: toplev.c:932
-msgid "Generate COFF format debug info"
-msgstr ""
+#~ msgid "numeric constant with no digits"
+#~ msgstr "talkonstant uden cifre"
-#: toplev.c:976
-#, fuzzy
-msgid "Do not store floats in registers"
-msgstr "Returnér ikke værdier fra funktioner i fpu-registre"
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "talkonstant indeholder cifre der ligger ud over grundtallet"
-#: toplev.c:978
-msgid "Consider all mem refs through pointers as volatile"
-msgstr ""
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "kommatalskonstant må ikke skrives med grundtal 16"
-#: toplev.c:980
-msgid "Consider all mem refs to global data to be volatile"
-msgstr ""
+#~ msgid "more than one 'f' suffix on floating constant"
+#~ msgstr "mere end én 'f'-endelse i kommatalskonstant"
-#: toplev.c:982
-msgid "Consider all mem refs to static data to be volatile"
-msgstr ""
+#~ msgid "traditional C rejects the 'f' suffix"
+#~ msgstr "traditionel C tillader ikke endelsen 'f'"
-#: toplev.c:984
-msgid "Defer popping functions args from stack until later"
-msgstr ""
+#~ msgid "more than one 'l' suffix on floating constant"
+#~ msgstr "mere end én 'l'-endelse i kommatalskonstant"
-#: toplev.c:986
-msgid "When possible do not generate stack frames"
-msgstr ""
+#~ msgid "traditional C rejects the 'l' suffix"
+#~ msgstr "traditionel C tillader ikke endelsen 'l'"
-#: toplev.c:988
-msgid "Optimize sibling and tail recursive calls"
-msgstr ""
+#~ msgid "more than one 'i' or 'j' suffix on floating constant"
+#~ msgstr "mere end én 'i'- eller 'j'-endelse i kommatalskonstant"
-#: toplev.c:990
-msgid "When running CSE, follow jumps to their targets"
-msgstr ""
+#~ msgid "ISO C forbids imaginary numeric constants"
+#~ msgstr "ISO C forbyder imaginære talkonstanter"
-#: toplev.c:992
-msgid "When running CSE, follow conditional jumps"
-msgstr ""
+#~ msgid "floating constant out of range"
+#~ msgstr "kommatalskonstant er uden for det gyldige interval"
-#: toplev.c:994
-msgid "Perform a number of minor, expensive optimisations"
-msgstr ""
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "kommatal overskrider intervallet for 'double'"
-#: toplev.c:996
-msgid "Perform jump threading optimisations"
-msgstr ""
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "to 'u'-endelser i heltalskonstant"
-#: toplev.c:998
-msgid "Perform strength reduction optimisations"
-msgstr ""
+#~ msgid "traditional C rejects the 'u' suffix"
+#~ msgstr "traditionel C tillader ikke 'u'-endelsen"
-#: toplev.c:1000
-msgid "Perform loop unrolling when iteration count is known"
-msgstr ""
+#~ msgid "three 'l' suffixes on integer constant"
+#~ msgstr "tre 'l'-endelser i heltalskonstant"
-#: toplev.c:1002
-msgid "Perform loop unrolling for all loops"
-msgstr ""
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "'lul' er ikke en gyldig heltalsendelse"
-#: toplev.c:1004
-msgid "Force all loop invariant computations out of loops"
-msgstr ""
+#~ msgid "'Ll' and 'lL' are not valid integer suffixes"
+#~ msgstr "'Ll' og 'lL' er ikke gyldige heltalsendelser"
-#: toplev.c:1006
-msgid "Strength reduce all loop general induction variables"
-msgstr ""
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "mere end én 'i'- eller 'j'-endelse i heltalskonstant"
-#: toplev.c:1008
-msgid "Store strings in writable data section"
-msgstr ""
+#~ msgid "invalid suffix on integer constant"
+#~ msgstr "ugyldig endelse i heltalskonstant"
-#: toplev.c:1010
-msgid "Enable machine specific peephole optimisations"
-msgstr ""
+#~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+#~ msgstr "heltalskonstant er for stor til denne konfiguration af oversætteren - afkortet til %d bit"
-#: toplev.c:1012
-msgid "Copy memory operands into registers before using"
-msgstr ""
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "bredden af heltalskonstant skifter med -traditional"
-#: toplev.c:1014
-msgid "Copy memory address constants into regs before using"
-msgstr ""
+#~ msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#~ msgstr "heltalskonstant er unsigned i ISO C, signed med -traditional"
-#: toplev.c:1016
-msgid "Allow function addresses to be held in registers"
-msgstr ""
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "bredden af heltalskonstant kan skifte på andre systemer med -traditional"
-#: toplev.c:1018
-msgid "Integrate simple functions into their callers"
-msgstr ""
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "heltalskonstant er større end den maksimale værdi for %s"
-#: toplev.c:1020
-msgid "Generate code for funcs even if they are fully inlined"
-msgstr ""
+#~ msgid "an unsigned long long int"
+#~ msgstr "en unsigned long long int"
-#: toplev.c:1022
-msgid "Pay attention to the 'inline' keyword"
-msgstr ""
+#~ msgid "a long long int"
+#~ msgstr "en long long int"
-#: toplev.c:1024
-msgid "Emit static const variables even if they are not used"
-msgstr ""
+#~ msgid "an unsigned long int"
+#~ msgstr "en unsigned long int"
-#: toplev.c:1026
-msgid "Check for syntax errors, then stop"
-msgstr ""
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "decimalkonstant er så stor at den er unsigned"
-#: toplev.c:1028
-msgid "Mark data as shared rather than private"
-msgstr ""
+#~ msgid "complex integer constant is too wide for 'complex int'"
+#~ msgstr "kompleks heltalskonstant er for bred til 'complex int'"
-#: toplev.c:1030
-msgid "Enable saving registers around function calls"
-msgstr ""
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr "heltalskonstant er større end den maksimale værdi for dens type"
-#: toplev.c:1032
-msgid "Return 'short' aggregates in memory, not registers"
-msgstr ""
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "manglende mellemrum efter tallet '%.*s'"
-#: toplev.c:1034
-#, fuzzy
-msgid "Return 'short' aggregates in registers"
-msgstr "Returnér værdier fra funktioner i fpu-registre"
+#~ msgid "ISO C does not permit use of `varargs.h'"
+#~ msgstr "ISO C tillader ikke brug af 'varargs.h'"
-#: toplev.c:1036
-msgid "Attempt to fill delay slots of branch instructions"
-msgstr ""
+#~ msgid "storage class specifier in array declarator"
+#~ msgstr "lagringsklasseanvisning i tabelerklæring"
-#: toplev.c:1038
-msgid "Perform the global common subexpression elimination"
-msgstr ""
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "sizeof benyttet på en funktionstype"
-#: toplev.c:1040
-msgid "Run CSE pass after loop optimisations"
-msgstr ""
+#~ msgid "sizeof applied to a void type"
+#~ msgstr "sizeof benyttet på en void-type"
-#: toplev.c:1042
-msgid "Run the loop optimiser twice"
-msgstr ""
+#~ msgid "sizeof applied to an incomplete type"
+#~ msgstr "sizeof benyttet på en ufuldstændig type"
-#: toplev.c:1044
-msgid "Delete useless null pointer checks"
-msgstr ""
+#~ msgid "variable offset is passed partially in stack and in reg"
+#~ msgstr "variabelafsæt bliver viderebragt delvis i stak og i register"
-#: toplev.c:1046
-msgid "Pretend that host and target use the same FP format"
-msgstr ""
+#~ msgid "variable size is passed partially in stack and in reg"
+#~ msgstr "variabelstørrelse bliver viderebragt delvis i stak og i register"
-#: toplev.c:1048
-msgid "Reschedule instructions before register allocation"
-msgstr ""
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
-#: toplev.c:1050
-msgid "Reschedule instructions after register allocation"
-msgstr ""
+#~ msgid "floating point numbers are not valid in #if"
+#~ msgstr "kommatal er ikke tilladt i #if"
-#: toplev.c:1052
-msgid "Enable scheduling across basic blocks"
-msgstr ""
+#~ msgid "traditional C rejects the `U' suffix"
+#~ msgstr "traditionel C forbyder 'U'-endelsen"
-#: toplev.c:1054
-msgid "Allow speculative motion of non-loads"
-msgstr ""
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "for mange 'l'-endelser i heltalskonstant"
-#: toplev.c:1056
-msgid "Allow speculative motion of some loads"
-msgstr ""
+#~ msgid "integer constant contains digits beyond the radix"
+#~ msgstr "heltalskonstanten indeholder cifre der er større end grundtallet"
-#: toplev.c:1058
-msgid "Allow speculative motion of more loads"
-msgstr ""
+#~ msgid "integer constant out of range"
+#~ msgstr "heltalskonstanten er uden for det gyldige interval"
-#: toplev.c:1060
-msgid "Replace add,compare,branch with branch on count reg"
-msgstr ""
+#~ msgid "string constants are not valid in #if"
+#~ msgstr "strengkonstanter er ikke tilladt i #if"
-#: toplev.c:1062
-msgid "Generate position independent code, if possible"
-msgstr ""
+#~ msgid "missing binary operator"
+#~ msgstr "manglende binær operator"
-#: toplev.c:1065
-msgid "Enable exception handling"
-msgstr ""
+#~ msgid "operator '%s' has no left operand"
+#~ msgstr "operatoren '%s' har ikke nogen venstre operand"
-#: toplev.c:1067
-msgid "Just generate unwind tables for exception handling"
-msgstr ""
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "skifter søgeorden for systemkataloget \"%s\""
-#: toplev.c:1069
-msgid "Support synchronous non-call exceptions"
-msgstr ""
+#~ msgid " as it is the same as non-system directory \"%s\""
+#~ msgstr " da det er det samme som ikke-system-kataloget \"%s\""
-#: toplev.c:1071
-msgid "Insert arc based program profiling code"
-msgstr ""
+#~ msgid " as it has already been specified as a non-system directory"
+#~ msgstr " da det allerede er blevet angivet som et ikke-system-katalog"
-#: toplev.c:1073
-msgid "Create data files needed by gcov"
-msgstr ""
+#~ msgid "I/O error on output"
+#~ msgstr "I/O-fejl på uddata"
-#: toplev.c:1075
-msgid "Use profiling information for branch probabilities"
-msgstr ""
+#~ msgid "argument missing after %s"
+#~ msgstr "en parameter mangler efter %s"
-#: toplev.c:1077
-msgid "Reorder basic blocks to improve code placement"
-msgstr ""
+#~ msgid "number missing after %s"
+#~ msgstr "et tal mangler efter %s"
-#: toplev.c:1079
-msgid "Do the register renaming optimization pass"
-msgstr ""
+#~ msgid "target missing after %s"
+#~ msgstr "et mål mangler efter %s"
-#: toplev.c:1081
-msgid "Improve FP speed by violating ANSI & IEEE rules"
-msgstr ""
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP version %s (cpplib)"
-#: toplev.c:1083
-msgid "Do not put unitialised globals in the common section"
-msgstr ""
+#~ 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 ""
+#~ " -pedantic Fremkom med alle advarsler påkrævet for nøje ISO C\n"
+#~ " -pedantic-errors Behandl '-pedantic'-advarsler som fejl\n"
+#~ " -traditional Iagttag opførsel som en K&R-præprocessor\n"
+#~ " -trigraphs Understøt ANSI C-trigrafer\n"
+#~ " -lang-c Antag at inddata er C\n"
+#~ " -lang-c89 Antag at inddata er C89\n"
-#: toplev.c:1085
-#, fuzzy
-msgid "Do not generate .size directives"
-msgstr "Generér ikke sin, cos, sqrt til fpu"
+#~ 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 ""
+#~ " -lang-c++ Antag at inddata er C++\n"
+#~ " -lang-cobjc Antag at inddata er Objective C\n"
+#~ " -lang-cobjc++ Antag at inddata er Objective C++\n"
+#~ " -lang-asm Antag at inddata er maskinkode\n"
-#: toplev.c:1087
-#, fuzzy
-msgid "place each function into its own section"
-msgstr "per funktion)"
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "muligvis begyndelsen af uafsluttet strengkonstant"
-#: toplev.c:1089
-msgid "place data items into their own section"
-msgstr ""
+#~ msgid "multi-line string literals are deprecated"
+#~ msgstr "flerlinjers strengkonstanter er forældede"
-#: toplev.c:1091
-msgid "Add extra commentry to assembler output"
-msgstr ""
+#~ msgid "the meaning of '\\%c' varies with -traditional"
+#~ msgstr "betydningen af '\\%c' skifter med -traditional"
-#: toplev.c:1093
-msgid "Output GNU ld formatted global initialisers"
-msgstr ""
+#~ msgid "the meaning of '\\a' varies with -traditional"
+#~ msgstr "betydningen af '\\a' skifter med -traditional"
-#: toplev.c:1095
-msgid "Enables a register move optimisation"
-msgstr ""
+#~ msgid "the meaning of '\\x' varies with -traditional"
+#~ msgstr "betydningen af '\\x' skifter med -traditional"
-#: toplev.c:1097
-msgid "Do the full regmove optimization pass"
-msgstr ""
+#~ msgid "escape sequence out of range for character"
+#~ msgstr "undvigesekvens er uden for det gyldig interval for tegn"
-#: toplev.c:1099
-msgid "Pack structure members together without holes"
-msgstr ""
+#~ msgid "\"%s\" cannot be used as a macro name"
+#~ msgstr "\"%s\" kan ikke bruges som et makronavn"
-#: toplev.c:1101
-msgid "Insert stack checking code into the program"
-msgstr ""
+#~ msgid "directives may not be used inside a macro argument"
+#~ msgstr "direktiver må ikke optræde inden i en makroparameter"
-#: toplev.c:1103
-msgid "Specify that arguments may alias each other & globals"
-msgstr ""
+#~ msgid "invalid option %s"
+#~ msgstr "ugyldigt tilvalg %s"
-#: toplev.c:1105
-msgid "Assume arguments may alias globals but not each other"
-msgstr ""
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: advarsel: "
-#: toplev.c:1107
-msgid "Assume arguments do not alias each other or globals"
-msgstr ""
+#~ msgid "%s: warning: "
+#~ msgstr "%s: advarsel: "
-#: toplev.c:1109
-msgid "Assume strict aliasing rules apply"
-msgstr ""
+#~ msgid "sorry, not implemented: "
+#~ msgstr "desværre, ikke implementeret: "
-#: toplev.c:1111
-msgid "Align the start of loops"
-msgstr ""
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "Intern oversætterfejl i %s ved %s:%d."
-#: toplev.c:1113
-msgid "Align labels which are only reached by jumping"
-msgstr ""
+#~ msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+#~ msgstr "Copyright © 2002 Free Software Foundation, Inc.\n"
-#: toplev.c:1115
-msgid "Align all labels"
-msgstr ""
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "der mangler en parameter til '-b'"
-#: toplev.c:1117
-#, fuzzy
-msgid "Align the start of functions"
-msgstr "underforstået erklæring af funktionen '%s'"
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "der mangler en parameter til '-V'"
-#: toplev.c:1119
-msgid "Generate code to check every memory access"
-msgstr ""
+#~ msgid "invalid version number format"
+#~ msgstr "ugyldigt versionsnummerformat"
-#: toplev.c:1121
-msgid "Add a prefix to all function names"
-msgstr ""
+#~ msgid ".da file contents exhausted too early\n"
+#~ msgstr "indholdet af .da-filen er udtømt for tidligt\n"
-#: toplev.c:1123
-msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
-msgstr ""
+#~ msgid ".da file contents not exhausted\n"
+#~ msgstr "indholdet af .da-filen ikke udtømt\n"
-#: toplev.c:1125
-msgid "Instrument function entry/exit with profiling calls"
-msgstr ""
+#~ msgid "%6.2f%% of %d source lines executed in function %s\n"
+#~ msgstr "%6.2f%% af %d kildekodelinjer udført i funktionen %s\n"
-#: toplev.c:1127
-msgid "Enable SSA optimizations"
-msgstr ""
+#~ msgid "No executable source lines in function %s\n"
+#~ msgstr "Ingen kørbare kildelinjer i funktionen %s\n"
-#: toplev.c:1129
-msgid "Enable dead code elimination"
-msgstr ""
+#~ msgid "%6.2f%% of %d branches executed in function %s\n"
+#~ msgstr "%6.2f%% af %d forgreninger udført i funktionen %s\n"
-#: toplev.c:1131
-msgid "External symbols have a leading underscore"
-msgstr ""
+#~ msgid "%6.2f%% of %d branches taken at least once in function %s\n"
+#~ msgstr "%6.2f%% af %d forgreninger valgt mindst én gang i funktionen %s\n"
-#: toplev.c:1133
-#, fuzzy
-msgid "Process #ident directives"
-msgstr "%s i forbehandlerdirektiv"
+#~ msgid "No branches in function %s\n"
+#~ msgstr "Ingen forgreninger i funktionen %s\n"
-#: toplev.c:1135
-msgid "Enables an rtl peephole pass run before sched2"
-msgstr ""
+#~ msgid "%6.2f%% of %d calls executed in function %s\n"
+#~ msgstr "%6.2f%% af %d kald udført i funktionen %s\n"
-#: toplev.c:1137
-msgid "Enables guessing of branch probabilities"
-msgstr ""
+#~ msgid "No calls in function %s\n"
+#~ msgstr "Ingen kald i funktionen %s\n"
-#: toplev.c:1139
-msgid "Set errno after built-in math functions"
-msgstr ""
+#~ msgid "%6.2f%% of %d source lines executed in file %s\n"
+#~ msgstr "%6.2f%% af %d kildekodelinjer udført i filen %s\n"
-#: toplev.c:1141
-#, fuzzy
-msgid "Convert floating point constant to single precision constant"
-msgstr "kommatalsfælde udsender en konstant"
+#~ msgid "%6.2f%% of %d branches executed in file %s\n"
+#~ msgstr "%6.2f%% af %d forgreninger udført i filen %s\n"
-#: toplev.c:1143
-msgid "Report time taken by each compiler pass at end of run"
-msgstr ""
+#~ msgid "%6.2f%% of %d branches taken at least once in file %s\n"
+#~ msgstr "%6.2f%% af %d forgreninger valgt mindst én gang i filen %s\n"
-#: toplev.c:1145
-msgid "Report on permanent memory allocation at end of run"
-msgstr ""
+#~ msgid "%6.2f%% of %d calls executed in file %s\n"
+#~ msgstr "%6.2f%% af %d kald udført i filen %s\n"
-#: toplev.c:1147
-msgid "Trap for signed overflow in addition / subtraction / multiplication."
-msgstr ""
+#~ msgid "call %d returns = %s\n"
+#~ msgstr "kald %d returnerer = %s\n"
-#: toplev.c:1164
-msgid "Compile just for ISO C89"
-msgstr ""
+#~ msgid "call %d returns = %s%%\n"
+#~ msgstr "kald %d returnerer = %s%%\n"
-#: toplev.c:1166
-msgid "Do not promote floats to double if using -traditional"
-msgstr ""
+#~ msgid "branch %d taken = %s\n"
+#~ msgstr "forgrening %d valgt = %s\n"
-#: toplev.c:1168
-msgid "Determine language standard"
-msgstr ""
+#~ msgid "branch %d taken = %s%%\n"
+#~ msgstr "forgrening %d valgt = %s%%\n"
-#: toplev.c:1172
-msgid "Make bitfields by unsigned by default"
-msgstr ""
+#~ msgid ".da file contents exhausted too early"
+#~ msgstr "indholdet af .da-filen er udtømt for tidligt"
-#: toplev.c:1176
-msgid "Make 'char' be signed by default"
-msgstr ""
+#~ msgid ".da file contents not exhausted"
+#~ msgstr "indholdet af .da-filen ikke udtømt"
-#: toplev.c:1178
-msgid "Make 'char' be unsigned by default"
-msgstr ""
+#~ msgid "conversion from NaN to int"
+#~ msgstr "konvertering fra NaN til int"
-#: toplev.c:1184
-msgid "Attempt to support traditional K&R style C"
-msgstr ""
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "konvertering fra NaN til unsigned int"
-#: toplev.c:1190
-msgid "Do not recognise the 'asm' keyword"
-msgstr ""
+#~ msgid "floating point overflow"
+#~ msgstr "kommatalsoverløb"
-#: toplev.c:1193
-msgid "Do not recognise any built in functions"
-msgstr ""
+#~ msgid "overflow on truncation to integer"
+#~ msgstr "overløb ved afkortelse til heltal"
-#: toplev.c:1195
-msgid "Assume normal C execution environment"
-msgstr ""
+#~ msgid "overflow on truncation to unsigned integer"
+#~ msgstr "overløb ved afkortelse til heltal uden fortegn"
-#: toplev.c:1198
-msgid "Assume that standard libraries & main might not exist"
-msgstr ""
+#~ msgid "%s: argument domain error"
+#~ msgstr "%s: parameterdomænefejl"
-#: toplev.c:1201
-msgid "Allow different types as args of ? operator"
-msgstr ""
+#~ msgid "%s: function singularity"
+#~ msgstr "%s: funktionssingularitet"
-#: toplev.c:1204
-msgid "Allow the use of $ inside identifiers"
-msgstr ""
+#~ msgid "%s: overflow range error"
+#~ msgstr "%s: overløbsintervalfejl"
-#: toplev.c:1209
-msgid "Use the same size for double as for float"
-msgstr ""
+#~ msgid "%s: underflow range error"
+#~ msgstr "%s: underløbsintervalfejl"
-#: toplev.c:1212
-msgid "Use the smallest fitting integer to hold enums"
-msgstr ""
+#~ msgid "%s: total loss of precision"
+#~ msgstr "%s: samlet tab af præcision"
-#: toplev.c:1215
-msgid "Override the underlying type for wchar_t to `unsigned short'"
-msgstr ""
+#~ msgid "%s: partial loss of precision"
+#~ msgstr "%s: delvist tab af præcision"
-#: toplev.c:1219
-msgid "Enable most warning messages"
-msgstr ""
+#~ msgid "%s: NaN - producing operation"
+#~ msgstr "%s: NaN - producerer operation"
-#: toplev.c:1221
-msgid "Warn about casting functions to incompatible types"
-msgstr ""
+#~ msgid "Pretend that host and target use the same FP format"
+#~ msgstr "Lad som om værten og målet bruger samme kommatalsformat"
-#: toplev.c:1225
-msgid "Warn about functions which might be candidates for format attributes"
-msgstr ""
+#~ msgid "Compile pointers as triples: value, base & end"
+#~ msgstr "Oversæt henvisningsvariabler som tretupler: værdi, basis og slut"
-#: toplev.c:1228
-msgid "Warn about casts which discard qualifiers"
-msgstr ""
+#~ msgid "Do not promote floats to double if using -traditional"
+#~ msgstr "Forfrem ikke float til double hvis -traditional benyttes"
-#: toplev.c:1231
-msgid "Warn about subscripts whose type is 'char'"
-msgstr ""
+#~ msgid "Attempt to support traditional K&R style C"
+#~ msgstr "Forsøg at understøtte traditionel K&R C"
-#: toplev.c:1234 toplev.c:1237
-msgid "Warn if nested comments are detected"
-msgstr ""
+#~ msgid "internal error: %s"
+#~ msgstr "intern fejl: %s"
-#: toplev.c:1240
-msgid "Warn about possibly confusing type conversions"
-msgstr ""
+#~ msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+#~ msgstr "krydsspring deaktiveret: %d > 1000 basisblokke og %d >= 20 kanter/basisblok"
-#: toplev.c:1243
-msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
-msgstr ""
+#~ msgid " -a Enable block profiling \n"
+#~ msgstr " -a Aktivér blokprofilering\n"
-#: toplev.c:1247
-msgid "Don't warn about strftime formats yielding 2 digit years"
-msgstr ""
+#~ msgid " -ax Enable jump profiling \n"
+#~ msgstr " -ax Aktivér springprofilering\n"
-#: toplev.c:1250
-#, fuzzy
-msgid "Don't warn about too many arguments to format functions"
-msgstr "for mange parametre til funktionen"
+#~ msgid "profiling does not work without a frame pointer"
+#~ msgstr "profilering virker ikke uden en rammehenvisning"
-#: toplev.c:1252
-msgid "Warn about non-string-literal format strings"
-msgstr ""
+#~ msgid "floating point numbers not allowed in #if expressions"
+#~ msgstr "kommatal er ikke tilladt i #if-udtryk"
-#: toplev.c:1255
-msgid "Warn about possible security problems with format functions"
-msgstr ""
+#~ msgid "invalid number in #if expression"
+#~ msgstr "ugyldigt tal i #if-udtryk"
-#: toplev.c:1258
-msgid "Warn about implicit function declarations"
-msgstr ""
+#~ msgid "invalid character constant in #if"
+#~ msgstr "ugyldig tegnkonstant i #if"
-#: toplev.c:1262
-msgid "Warn when a declaration does not specify a type"
-msgstr ""
+#~ msgid "double quoted strings not allowed in #if expressions"
+#~ msgstr "strenge med dobbelte anførselstegn er ikke tilladte i #if-udtryk"
-#: toplev.c:1267
-msgid "Warn about the use of the #import directive"
-msgstr ""
+#~ msgid "invalid token in expression"
+#~ msgstr "ugyldigt symbol udtryk"
-#: toplev.c:1271
-msgid "Do not warn about using 'long long' when -pedantic"
-msgstr ""
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "oktal tegnkonstant kan ikke være i en byte"
-#: toplev.c:1273
-#, fuzzy
-msgid "Warn about suspicious declarations of main"
-msgstr "'%s' er tidligere erklæret"
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "hexadecimal tegnkonstant kan ikke være i en byte"
-#: toplev.c:1276
-#, fuzzy
-msgid "Warn about possibly missing braces around initialisers"
-msgstr "krøllede paranteser mangler omkring startværdien"
+#~ msgid "empty #if expression"
+#~ msgstr "tomt #if-udtryk"
-#: toplev.c:1279
-msgid "Warn about global funcs without previous declarations"
-msgstr ""
+#~ msgid "Junk after end of expression."
+#~ msgstr "ragelse efter slutningen af udtryk"
-#: toplev.c:1282
-msgid "Warn about global funcs without prototypes"
-msgstr ""
+#~ msgid "macro or #include recursion too deep"
+#~ msgstr "makro eller #include-rekursion er for dyb"
-#: toplev.c:1285
-msgid "Warn about use of multicharacter literals"
-msgstr ""
+#~ msgid "usage: %s [switches] input output"
+#~ msgstr "brug: %s [tilvalg] inddata uddata"
-#: toplev.c:1288
-msgid "Warn about externs not at file scope level"
-msgstr ""
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "-traditional understøttes ikke i C++"
-#: toplev.c:1291
-msgid "Warn about possible missing parentheses"
-msgstr ""
+#~ msgid "-traditional and -ansi are mutually exclusive"
+#~ msgstr "-traditional og -ansi er indbyrdes uforenelige"
-#: toplev.c:1294
-msgid "Warn about possible violations of sequence point rules"
-msgstr ""
+#~ msgid "filename missing after -i option"
+#~ msgstr "et filnavn mangler efter tilvalget -i"
-#: toplev.c:1297
-msgid "Warn about function pointer arithmetic"
-msgstr ""
+#~ msgid "filename missing after -o option"
+#~ msgstr "et filnavn mangler efter tilvalget -o"
-#: toplev.c:1300
-msgid "Warn about multiple declarations of the same object"
-msgstr ""
+#~ msgid "target missing after %s option"
+#~ msgstr "et mål mangler efter tilvalget %s"
-#: toplev.c:1303
-msgid "Warn about signed/unsigned comparisons"
-msgstr ""
+#~ msgid "filename missing after %s option"
+#~ msgstr "et filnavn mangler efter tilvalget %s"
-#: toplev.c:1306
-msgid "Warn about testing equality of floating point numbers"
-msgstr ""
+#~ msgid "macro name missing after -%c option"
+#~ msgstr "et makronavn mangler efter tilvalget -%c"
-#: toplev.c:1309
-msgid "Warn about unrecognized pragmas"
-msgstr ""
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "-pedantic og -traditional er indbyrdes uforenelige"
-#: toplev.c:1312
-msgid "Warn about non-prototyped function decls"
-msgstr ""
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "-trigraphs og -traditional er indbyrdes uforenelige"
-#: toplev.c:1315
-msgid "Warn about constructs whose meaning change in ISO C"
-msgstr ""
+#~ msgid "directory name missing after -I option"
+#~ msgstr "et katalognavn mangler efter '-I'-tilvalg"
-#: toplev.c:1318
-msgid "Warn when trigraphs are encountered"
-msgstr ""
+#~ msgid "`/*' within comment"
+#~ msgstr "'/*' i en kommentar"
-#: toplev.c:1323
-msgid "Mark strings as 'const char *'"
-msgstr ""
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "uafsluttet #%s-betingelse"
-#: toplev.c:1471
-msgid "Warn when a function is unused"
-msgstr ""
+#~ msgid "not in any file?!"
+#~ msgstr "ikke i nogen fil?!"
-#: toplev.c:1473
-msgid "Warn when a label is unused"
-msgstr ""
+#~ msgid "`defined' must be followed by ident or (ident)"
+#~ msgstr "'defined' skal efterfølges af et kaldenavn eller (kaldenavn)"
-#: toplev.c:1475
-msgid "Warn when a function parameter is unused"
-msgstr ""
+#~ msgid "cccp error: invalid special hash type"
+#~ msgstr "cccp-fejl: ugyldig speciel hash-type"
-#: toplev.c:1477
-msgid "Warn when a variable is unused"
-msgstr ""
+#~ msgid "#include expects \"fname\" or <fname>"
+#~ msgstr "#include forventer \"filnavn\" eller <filnavn>"
-#: toplev.c:1479
-msgid "Warn when an expression value is unused"
-msgstr ""
+#~ msgid "no include path in which to find %.*s"
+#~ msgstr "der er ingen inkluderingssti at finde %.*s i"
-#: toplev.c:1481
-msgid "Do not suppress warnings from system headers"
-msgstr ""
+#~ msgid "invalid macro name"
+#~ msgstr "ugyldigt makronavn"
-#: toplev.c:1483
-msgid "Treat all warnings as errors"
-msgstr ""
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "ugyldigt makronavn '%s'"
-#: toplev.c:1485
-#, fuzzy
-msgid "Warn when one local variable shadows another"
-msgstr "Den lokale variabel 'insn' har værdien:"
+#~ msgid "parameter name starts with a digit in #define"
+#~ msgstr "parameternavn begynder med et ciffer i #define"
-#: toplev.c:1487
-msgid "Warn about enumerated switches missing a specific case"
-msgstr ""
+#~ msgid "badly punctuated parameter list in #define"
+#~ msgstr "ugyldigt punktueret parameterliste i #define"
-#: toplev.c:1489
-msgid "Warn about returning structures, unions or arrays"
-msgstr ""
+#~ msgid "unterminated parameter list in #define"
+#~ msgstr "uafsluttet parameterliste i #define"
-#: toplev.c:1491
-msgid "Warn about pointer casts which increase alignment"
-msgstr ""
+#~ msgid "\"%.*s\" redefined"
+#~ msgstr "\"%.*s\" omdefineret"
-#: toplev.c:1493
-msgid "Warn about code that will never be executed"
-msgstr ""
+#~ msgid "# operator should be followed by a macro argument name"
+#~ msgstr "operatoren # skal efterfølges af et makroparameternavn"
-#: toplev.c:1495
-msgid "Warn about unitialized automatic variables"
-msgstr ""
+#~ msgid "invalid format #line command"
+#~ msgstr "ugyldigt formateret #line-kommando"
-#: toplev.c:1497
-#, fuzzy
-msgid "Warn when an inlined function cannot be inlined"
-msgstr "funktioner med variabel parameterliste kan ikke indbygges"
+#~ msgid "undefining `defined'"
+#~ msgstr "glemmer definitionen af 'defined'"
-#: toplev.c:1499
-msgid "Warn when the packed attribute has no effect on struct layout"
-msgstr ""
+#~ msgid "undefining `%s'"
+#~ msgstr "glemmer definitionen af '%s'"
-#: toplev.c:1501
-msgid "Warn when padding is required to align struct members"
-msgstr ""
+#~ msgid "extra text at end of directive"
+#~ msgstr "ekstra tekst i slutningen af direktiv"
-#: toplev.c:1503
-msgid "Warn when an optimization pass is disabled"
-msgstr ""
+#~ msgid "#error%.*s"
+#~ msgstr "#error%.*s"
-#: toplev.c:1505
-msgid "Warn about functions which might be candidates for attribute noreturn"
-msgstr ""
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning%.*s"
-#: toplev.c:1539 toplev.c:5061 tradcpp.c:776
-#, c-format
-msgid "Invalid option `%s'"
-msgstr "Ugyldigt tilvalg '%s'"
+#~ msgid "#elif not within a conditional"
+#~ msgstr "#elif er ikke inde i betingelsessætning"
-#: toplev.c:1741
-#, fuzzy, c-format
-msgid "Internal error: %s"
-msgstr "intern fejl: "
+#~ msgid "#%s not within a conditional"
+#~ msgstr "#%s ikke inde i betingelsessætning"
-#: toplev.c:2056
-#, fuzzy, c-format
-msgid "`%s' used but never defined"
-msgstr "'%.*s' er ikke defineret"
+#~ msgid "#else or #elif after #else"
+#~ msgstr "#else eller #elif efter #else"
-#: toplev.c:2059
-#, c-format
-msgid "`%s' declared `static' but never defined"
-msgstr ""
+#~ msgid "#else not within a conditional"
+#~ msgstr "#else er ikke inde i betingelsessætning"
-#: toplev.c:2081
-#, c-format
-msgid "`%s' defined but not used"
-msgstr ""
+#~ msgid "unbalanced #endif"
+#~ msgstr "uafbalanceret #endif"
-#: toplev.c:2259
-#, fuzzy, c-format
-msgid "can't open %s for writing"
-msgstr "%s: kan ikke åbne filen '%s' til at læse fra: %s\n"
+#~ msgid "unterminated string or character constant"
+#~ msgstr "uafsluttet streng- eller tegnkonstant"
-#: toplev.c:2312
-#, fuzzy
-msgid "-ffunction-sections not supported for this target."
-msgstr "integrerede funktioner understøttes ikke for denne returværditype"
+#~ msgid "arguments given to macro `%s'"
+#~ msgstr "parametre givet til makroen '%s'"
-#: toplev.c:2317
-#, fuzzy
-msgid "-fdata-sections not supported for this target."
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+#~ msgid "no args to macro `%s'"
+#~ msgstr "ingen parametre givet til makroen '%s'"
-#: toplev.c:2325
-msgid "-ffunction-sections disabled; it makes profiling impossible."
-msgstr ""
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "kun 1 parameter givet til makroen '%s'"
-#: toplev.c:2331
-msgid "-ffunction-sections may affect debugging on some targets."
-msgstr ""
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "kun %d parametre givet til makroen '%s'"
-#: toplev.c:2372
-msgid "Errors detected in input file (your bison.simple is out of date)\n"
-msgstr "Fandt fejl i inddatafilen (din bison.simple er forældet)\n"
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "for mange (%d) parametre givet til makroen '%s'"
-#: toplev.c:2509
-#, fuzzy, c-format
-msgid "error writing to %s"
-msgstr "%s: fejl ved skrivning til filen '%s': %s\n"
+#~ msgid ""
+#~ "internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "intern fejl i '%s', ved tradcpp:%d\n"
+#~ "Send venligst en komplet fejlrapport.\n"
+#~ "Se %s for instruktioner."
-#: toplev.c:2614
-#, c-format
-msgid "invalid register name `%s' for register variable"
-msgstr "ugyldigt registernavn '%s' for registervariabel"
+#~ msgid "optimization turned on"
+#~ msgstr "optimeringer slået til"
-#: toplev.c:3863
-msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
-msgstr ""
+#~ msgid "optimization turned off"
+#~ msgstr "optimeringer slået fra"
-#: toplev.c:3864
-msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
-msgstr ""
+#~ msgid "optimization level restored"
+#~ msgstr "optimeringsniveau gendannet"
-#: toplev.c:3865
-msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
-msgstr ""
+#~ msgid "Use VAX-C alignment"
+#~ msgstr "Brug VAX-C-justering"
-#: toplev.c:3866
-msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
-msgstr ""
+#~ msgid "invalid %%V value"
+#~ msgstr "ugyldig %%V-værdi"
-#: toplev.c:3867
-msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
-msgstr ""
+#~ msgid "Generate code assuming DW bit is set"
+#~ msgstr "Generér kode der antager at DW-bitten er sat"
-#: toplev.c:3868
-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 ""
+#~ msgid "Generate code assuming DW bit is not set"
+#~ msgstr "Generér kode der antager at DW-bitten ikke er sat"
-#: toplev.c:3879
-msgid " -O[number] Set optimisation level to [number]\n"
-msgstr ""
+#~ msgid "Generate code using byte writes"
+#~ msgstr "Generér kode der bruger byte-skrivninger"
-#: toplev.c:3880
-msgid " -Os Optimise for space rather than speed\n"
-msgstr ""
+#~ msgid "Do not generate byte writes"
+#~ msgstr "Generér ikke byte-skrivninger"
-#: toplev.c:3892
-msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
-msgstr ""
+#~ msgid "Use small memory model"
+#~ msgstr "Brug en lille hukommelsesmodel"
-#: toplev.c:3893
-msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
-msgstr ""
+#~ msgid "Use normal memory model"
+#~ msgstr "Brug en normal hukommelsesmodel"
-#: toplev.c:3894
-msgid " -w Suppress warnings\n"
-msgstr ""
+#~ msgid "Use large memory model"
+#~ msgstr "Brug en stor hukommelsesmodel"
-#: toplev.c:3895
-msgid " -W Enable extra warnings\n"
-msgstr ""
+#~ msgid "Generate 29050 code"
+#~ msgstr "Generér 29050-kode"
-#: toplev.c:3906
-msgid " -Wunused Enable unused warnings\n"
-msgstr ""
+#~ msgid "Generate 29000 code"
+#~ msgstr "Generér 29000-kode"
-#: toplev.c:3907
-msgid " -Wid-clash-<num> Warn if 2 identifiers have the same first <num> chars\n"
-msgstr ""
+#~ msgid "Use kernel global registers"
+#~ msgstr "Bruge kerneglobale registre"
-#: toplev.c:3908
-msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
-msgstr ""
+#~ msgid "Use user global registers"
+#~ msgstr "Bruge brugerglobale registre"
-#: toplev.c:3909
-msgid " -p Enable function profiling\n"
-msgstr ""
+#~ msgid "Emit stack checking code"
+#~ msgstr "Generér stakkontrolleringskode"
-#: toplev.c:3911
-msgid " -a Enable block profiling \n"
-msgstr ""
+#~ msgid "Do not emit stack checking code"
+#~ msgstr "Generér ikke stakkontrolleringskode"
-#: toplev.c:3914
-msgid " -ax Enable jump profiling \n"
-msgstr ""
+#~ msgid "Work around storem hardware bug"
+#~ msgstr "Arbejd rundt om storem-hardwarefejl"
-#: toplev.c:3916
-msgid " -o <file> Place output into <file> \n"
-msgstr ""
+#~ msgid "Do not work around storem hardware bug"
+#~ msgstr "Arbejd ikke rundt om storem-hardwarefejl"
-#: toplev.c:3917
-msgid ""
-" -G <number> Put global and static data smaller than <number>\n"
-" bytes into a special section (on some targets)\n"
-msgstr ""
+#~ msgid "Store locals in argument registers"
+#~ msgstr "Gem lokale variable i parameterregistre"
-#: toplev.c:3928
-msgid " -aux-info <file> Emit declaration info into <file>\n"
-msgstr ""
+#~ msgid "Do not store locals in arg registers"
+#~ msgstr "Gem ikke lokale variable i parameterregistre"
-#: toplev.c:3929
-msgid " -quiet Do not display functions compiled or elapsed time\n"
-msgstr ""
+#~ msgid "Do not generate multm instructions"
+#~ msgstr "Generér ikke multm-instruktioner"
-#: toplev.c:3930
-msgid " -version Display the compiler's version\n"
-msgstr ""
+#~ msgid "Do symbol renaming for BSD"
+#~ msgstr "Foretag symbolomdøbning for BSD"
-#: toplev.c:3931
-msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
-msgstr ""
+#~ msgid "Do symbol renaming for X/OPEN"
+#~ msgstr "Foretag symbolomdøbning for X/OPEN"
-#: toplev.c:3932
-msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
-msgstr ""
+#~ msgid "Don't do symbol renaming"
+#~ msgstr "Foretag ikke symbolomdøbning"
-#: toplev.c:3934
-msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
-msgstr ""
+#~ msgid "MCU `%s' not supported"
+#~ msgstr "MCU '%s' ikke understøttet"
-#: toplev.c:3936
-msgid " --help Display this information\n"
-msgstr ""
+#~ msgid "Generate code for the C400"
+#~ msgstr "Generér kode til en C400"
-#: toplev.c:3951
-msgid "\nLanguage specific options:\n"
-msgstr ""
+#~ msgid "Generate code for the C300"
+#~ msgstr "Generér kode til en C300"
-#: toplev.c:3963
-#, c-format
-msgid " %-23.23s [undocumented]\n"
-msgstr ""
+#~ msgid "Generate code for c1"
+#~ msgstr "Generér kode til en c1"
-#: toplev.c:3971 toplev.c:3985
-#, c-format
-msgid "\nThere are undocumented %s specific options as well.\n"
-msgstr ""
+#~ msgid "Generate code for c2"
+#~ msgstr "Generér kode til en c2"
-#: toplev.c:3975
-#, c-format
-msgid "\n Options for %s:\n"
-msgstr ""
+#~ msgid "Generate code for c32"
+#~ msgstr "Generér kode til en c32"
-#: toplev.c:4006
-msgid "\nTarget specific options:\n"
-msgstr ""
+#~ msgid "Generate code for c34"
+#~ msgstr "Generér kode til en c34"
-#: toplev.c:4020 toplev.c:4039
-#, c-format
-msgid " -m%-23.23s [undocumented]\n"
-msgstr ""
+#~ msgid "Use standard calling sequence, with arg count word"
+#~ msgstr "Benyt standardkaldesekvens, med parameterantalsord"
-#: toplev.c:4048
-msgid "\nThere are undocumented target specific options as well.\n"
-msgstr ""
+#~ msgid "Place arg count in a nop instruction (faster than push)"
+#~ msgstr "Anbring parameterantal i en nop-instruktion (hurtigere end push)"
-#: toplev.c:4050
-msgid " They exist, but they are not documented.\n"
-msgstr ""
+#~ msgid "Don't push arg count, depend on symbol table"
+#~ msgstr "Videresend ikke parameterantal, afhæng af symboltabel"
-#: toplev.c:4106
-#, fuzzy, c-format
-msgid "unrecognized gcc debugging option: %c"
-msgstr "ukendt tilvalg '-%s'"
+#~ msgid "Use data cache for volatile mem refs (default)"
+#~ msgstr "Benyt datamellemlager for volatile hukommelsesreferencer (standard)"
-#: toplev.c:4172
-#, c-format
-msgid "unrecognized register name `%s'"
-msgstr "ukendt registernavn '%s'"
+#~ msgid "Don't use data cache for volatile mem refs"
+#~ msgstr "Benyt ikke datamellemlager for volatile hukommelsesreferencer"
-#: toplev.c:4196 toplev.c:4880
-#, c-format
-msgid "Unrecognized option `%s'"
-msgstr "Ukendt tilvalg '%s'"
+#~ msgid "Bypass data cache for volatile mem refs"
+#~ msgstr "Forbigå datamellemlager for volatile hukommelsesreferencer"
-#: toplev.c:4322
-#, c-format
-msgid "use -gdwarf -g%d for DWARF v1, level %d"
-msgstr "benyt - gdwarf -g%d til DWARF v1, niveau %d"
+#~ msgid "Use 64-bit longs"
+#~ msgstr "Benyt 64 bit-long"
-#: toplev.c:4325
-msgid "use -gdwarf-2 for DWARF v2"
-msgstr "benyt -gdwarf-2 til DWARF v2"
+#~ msgid "Use cc- and libc-compatible 32-bit longs"
+#~ msgstr "Benyt cc- og libc-kompatibel 32 bit-long"
-#: toplev.c:4330
-#, c-format
-msgid "ignoring option `%s' due to invalid debug level specification"
-msgstr ""
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "integrerede kommatalskonstanter er ikke understøttede på denne vært"
-#: toplev.c:4353 toplev.c:4878
-#, c-format
-msgid "`%s': unknown or unsupported -g option"
-msgstr ""
+#~ msgid "Generate code the unix assembler can handle"
+#~ msgstr "Generér kode som Unix-maskinkodeoversætteren kan håndtere"
-#: toplev.c:4360
-#, c-format
-msgid "`%s' ignored, conflicts with `-g%s'"
-msgstr ""
+#~ msgid "Generate code an embedded assembler can handle"
+#~ msgstr "Generér kode som en indlejret maskinkodeoversætter kan håndtere"
-#: toplev.c:4439
-msgid "-param option missing argument"
-msgstr ""
+#~ msgid "Retain standard MXDB information"
+#~ msgstr "Bevar standard-MXDB-info"
-#: toplev.c:4448
-#, fuzzy, c-format
-msgid "invalid --param option: %s"
-msgstr "Ugyldigt tilvalg %s"
+#~ msgid "Retain legend information"
+#~ msgstr "Bevar indholdsinfo"
-#: toplev.c:4460
-#, fuzzy, c-format
-msgid "invalid parameter value `%s'"
-msgstr "ugyldig typeparameter '%s'"
+#~ msgid "Generate external legend information"
+#~ msgstr "Generér ekstern indholdsinfo"
-#: toplev.c:4551
-msgid "`-a' option (basic block profile) not supported"
-msgstr ""
+#~ msgid "Emit identifying info in .s file"
+#~ msgstr "Udsend identificerende info i .s-fil"
-#: toplev.c:4559
-#, fuzzy
-msgid "`-ax' option (jump profiling) not supported"
-msgstr "-pipe understøttes ikke."
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "Advar når en funktionsparameter er en struktur"
-#: toplev.c:4870
-#, fuzzy, c-format
-msgid "Ignoring command line option '%s'"
-msgstr "Ukendt tilvalg '%s'"
+#~ msgid "argument is a structure"
+#~ msgstr "parameter er en struktur"
-#: toplev.c:4873
-#, c-format
-msgid "(It is valid for %s but not the selected language)"
-msgstr ""
+#~ msgid "half-pic init called on systems that don't support it"
+#~ msgstr "half-PIC-klargøring kaldt på systemer der ikke understøtter det"
-#: toplev.c:4911
-#, fuzzy
-msgid "-Wuninitialized is not supported without -O"
-msgstr "profilgenerering understøttes ikke med -mg\n"
+#~ msgid "Profiling uses mcount"
+#~ msgstr "Profilering benytter mcount"
-#: toplev.c:4938
-msgid "`-ax' and `-a' are conflicting options. `-a' ignored."
-msgstr ""
+#~ msgid "Emit half-PIC code"
+#~ msgstr "Udsend half-PIC-kode"
-#: toplev.c:4959
-#, fuzzy
-msgid "instruction scheduling not supported on this target machine"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+#~ msgid "Emit ELF object code"
+#~ msgstr "Udsend ELF-objektkode"
-#: toplev.c:4963
-msgid "this target machine does not have delayed branches"
-msgstr ""
+#~ msgid "Emit ROSE object code"
+#~ msgstr "Udsend ROSE-objektkode"
-#: toplev.c:4972
-#, fuzzy
-msgid "profiling does not work without a frame pointer"
-msgstr "profilgenerering understøtter ikke andre kodemodeller end medlow"
+#~ msgid "Symbols have a leading underscore"
+#~ msgstr "Symboler har en indledende understreg"
-#: toplev.c:4987
-#, fuzzy, c-format
-msgid "-f%sleading-underscore not supported on this target machine"
-msgstr "stakgrænser understøttes ikke på målarkitekturen"
+#~ msgid "Align to >word boundaries"
+#~ msgstr "Justér til >word-grænserne"
-#: toplev.c:5007
-#, c-format
-msgid "Data size %ld.\n"
-msgstr "Datastørrelse %ld.\n"
+#~ msgid "Use mcount for profiling"
+#~ msgstr "Benyt mcount til profilering"
-#: toplev.c:5078
-#, fuzzy, c-format
-msgid ""
-"%s%s%s version %s (%s)\n"
-"%s\tcompiled by GNU C version %s.\n"
-"%s%s%s version %s (%s) compiled by CC.\n"
-msgstr ""
-"%s%s%s version %s (%s) oversat af GNU C version %s.\n"
-"%s%s%s version %s (%s) oversat af CC.\n"
+#~ msgid "Use mcount_ptr for profiling"
+#~ msgstr "Benyt mcount_ptr til profilering"
-#: toplev.c:5134
-msgid "options passed: "
-msgstr "tilvalg overbragt: "
+#~ msgid "Generate code which uses the FPU"
+#~ msgstr "Generér kode som bruger FPU'en"
-#: toplev.c:5163
-msgid "options enabled: "
-msgstr "tilvalg slået til: "
+#~ msgid "Do not generate code which uses the FPU"
+#~ msgstr "Generér ikke kode som bruger FPU'en"
-#: tradcif.y:110 tradcif.y:121
-msgid "division by zero in #if"
-msgstr ""
+#~ msgid "the -mlong-double-64 option does not work yet"
+#~ msgstr "tilvalget -mlong-double-64 virker ikke endnu"
-#. It's a float since it contains a point.
-#: tradcif.y:230
-#, fuzzy
-msgid "floating point numbers not allowed in #if expressions"
-msgstr "kommatal er ikke tilladt i '#if'-udtryk"
-
-#: tradcif.y:276
-#, fuzzy
-msgid "Invalid number in #if expression"
-msgstr "ugyldigt tal i '#if'-udtryk"
-
-#: tradcif.y:361
-#, fuzzy
-msgid "Invalid character constant in #if"
-msgstr "forkert udformet tegnkonstant"
-
-#: tradcif.y:398
-#, fuzzy
-msgid "double quoted strings not allowed in #if expressions"
-msgstr "'%.*s' er ikke tilladt i '#if'-udtryk"
-
-#: tradcif.y:411
-#, fuzzy
-msgid "Invalid token in expression"
-msgstr "ugyldigt tal i '#if'-udtryk"
-
-#: tradcif.y:502
-#, fuzzy
-msgid "octal character constant does not fit in a byte"
-msgstr "tegnkonstanten er for lang"
-
-#: tradcif.y:527
-#, fuzzy
-msgid "hex character constant does not fit in a byte"
-msgstr "tegnkonstanten er for lang"
-
-#: tradcif.y:558
-#, fuzzy
-msgid "empty #if expression"
-msgstr " i kastet udtryk"
+#~ msgid "The -march option is incompatible to -mipsN and therefore ignored."
+#~ msgstr "Tilvalget -march er uforeneligt med -mipsN og derfor ignoreret."
-#: tradcif.y:572
-#, fuzzy
-msgid "Junk after end of expression."
-msgstr "ragelse i slutningen af #%s"
-
-#: tradcpp.c:137
-#, fuzzy
-msgid "macro or #include recursion too deep"
-msgstr "makro eller '#include'-rekursion er for dyb"
-
-#: tradcpp.c:550
-#, fuzzy, c-format
-msgid "Usage: %s [switches] input output"
-msgstr "Brug: %s [tilvalg] inddata uddata\n"
-
-#: tradcpp.c:566
-#, fuzzy
-msgid "-traditional is not supported in C++"
-msgstr "-pipe understøttes ikke."
-
-#: tradcpp.c:568
-#, fuzzy
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr "-lang-chill og -trigraphs er indbyrdes uforenelige"
-
-#: tradcpp.c:582
-#, fuzzy
-msgid "Filename missing after -i option"
-msgstr "Et filnavn mangler efter %s"
-
-#: tradcpp.c:600
-#, fuzzy
-msgid "Filename missing after -o option"
-msgstr "Et filnavn mangler efter %s"
-
-#: tradcpp.c:659
-#, fuzzy, c-format
-msgid "Target missing after %s option"
-msgstr "En parameter mangler efter %s"
-
-#: tradcpp.c:673
-#, fuzzy, c-format
-msgid "Filename missing after %s option"
-msgstr "Et filnavn mangler efter %s"
-
-#: tradcpp.c:698
-#, fuzzy, c-format
-msgid "Macro name missing after -%c option"
-msgstr "Et makronavn mangler efter %s"
-
-#: tradcpp.c:718
-#, fuzzy
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "-lang-chill og -trigraphs er indbyrdes uforenelige"
-
-#: tradcpp.c:723
-#, fuzzy
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "-lang-chill og -trigraphs er indbyrdes uforenelige"
-
-#: tradcpp.c:749
-#, fuzzy
-msgid "Directory name missing after -I option"
-msgstr "Et katalognavn mangler efter %s"
-
-#: tradcpp.c:1425 tradcpp.c:3916
-#, fuzzy
-msgid "`/*' within comment"
-msgstr "'/*' i en kommentar"
-
-#: tradcpp.c:1800
-#, fuzzy, c-format
-msgid "unterminated #%s conditional"
-msgstr "uafsluttet #%s"
+#~ msgid "-mips%d not supported"
+#~ msgstr "-mips%d er ikke understøttet"
-#: tradcpp.c:2159
-#, fuzzy
-msgid "not in any file?!"
-msgstr "ingen linjeskift ved slutningen af filen"
+#~ msgid "-mabi=%s does not support -mips%d"
+#~ msgstr "-mabi=%s understøtter ikke -mips%d"
-#: tradcpp.c:2265
-#, fuzzy
-msgid "`defined' must be followed by ident or (ident)"
-msgstr "#define skal efterfølges af et kaldenavn"
+#~ msgid "this target does not support the -mabi switch"
+#~ msgstr "denne målarkitektur understøtter ikke tilvalget -mabi"
-#: tradcpp.c:2269
-#, fuzzy
-msgid "cccp error: invalid special hash type"
-msgstr "ugyldig speciel hash-type"
+#~ msgid "bad value (%s) for -mtune= switch"
+#~ msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
-#: tradcpp.c:2367 tradcpp.c:2437
-msgid "#include expects \"fname\" or <fname>"
-msgstr ""
+#~ msgid "-mips%d does not support 64 bit fp registers"
+#~ msgstr "-mips%d understøtter ikke 64-bit kommatalsregistre"
-#: tradcpp.c:2522
-#, fuzzy, c-format
-msgid "No include path in which to find %.*s"
-msgstr "Der er ingen inkluderingssti at finde %s i"
+#~ msgid "-mips%d does not support 64 bit gp registers"
+#~ msgstr "-mips%d understøtter ikke 64-bit almene registre"
-#: tradcpp.c:2700
-#, fuzzy
-msgid "invalid macro name"
-msgstr "ugyldig kode"
+#~ msgid "Use OSF PIC"
+#~ msgstr "Benyt OSF PIC"
-#: tradcpp.c:2708
-#, fuzzy, c-format
-msgid "invalid macro name `%s'"
-msgstr "Ugyldigt tilvalg '%s'"
+#~ msgid "Don't use OSF PIC"
+#~ msgstr "Benyt ikke OSF PIC"
-#: tradcpp.c:2713
-#, fuzzy
-msgid "\"defined\" cannot be used as a macro name"
-msgstr "\"defined\" er ikke et tilladt makronavn"
+#~ msgid "Optimize for 3900"
+#~ msgstr "Optimér for 3900"
-#: tradcpp.c:2740
-msgid "parameter name starts with a digit in #define"
-msgstr ""
+#~ msgid "Optimize for 4650"
+#~ msgstr "Optimér for 4650"
-#: tradcpp.c:2750
-msgid "badly punctuated parameter list in #define"
-msgstr ""
+#~ msgid "stack frame too big"
+#~ msgstr "stakramme for stor"
-#: tradcpp.c:2758
-#, fuzzy
-msgid "unterminated parameter list in #define"
-msgstr "uafsluttet tegnkonstant"
+#~ msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
+#~ msgstr "hverken variable parametre eller standardparametre mmix_setup_incoming_varargs"
-#: tradcpp.c:2806
-#, fuzzy, c-format
-msgid "\"%.*s\" redefined"
-msgstr "\"%s\" omdefineret"
+#~ msgid "oops, not debugged; fixing up value:"
+#~ msgstr "ups, ikke fejlanalyseret; retter værdi:"
-#: tradcpp.c:3063
-#, fuzzy
-msgid "# operator should be followed by a macro argument name"
-msgstr "'#' efterfølges ikke af et makroparameternavn"
+#~ msgid "Generate little endian data"
+#~ msgstr "Generér lilleendet data"
-#: tradcpp.c:3110 tradcpp.c:3136 tradcpp.c:3150 tradcpp.c:3157 tradcpp.c:3182
-#, fuzzy
-msgid "invalid format #line command"
-msgstr "ugyldigt #line-format"
+#~ msgid "Generate big endian data"
+#~ msgstr "Generér storendet data"
-#: tradcpp.c:3208
-#, fuzzy
-msgid "undefining `defined'"
-msgstr "glemmer definitionen af '%s'"
+#~ msgid "Turn on maintainer testing code"
+#~ msgstr "Aktivér vedligeholdertestkode"
-#: tradcpp.c:3212
-#, c-format
-msgid "undefining `%s'"
-msgstr "glemmer definitionen af '%s'"
+#~ msgid "Enable Transmeta picoJava extensions"
+#~ msgstr "Aktivér Transmeta picoJava-udvidelser"
-#: tradcpp.c:3268
-#, fuzzy
-msgid "extra text at end of directive"
-msgstr "overskydende krøllede paranteser ved slutningen af startværdien"
+#~ msgid "Disable Transmeta picoJava extensions"
+#~ msgstr "Deaktivér Transmeta picoJava-udvidelser"
-#: tradcpp.c:3375
-#, fuzzy, c-format
-msgid "#error%.*s"
-msgstr "#error %.*s"
+#~ msgid "Disable reorganization pass"
+#~ msgstr "Deaktivér omorganiseringsfase"
-#: tradcpp.c:3385
-#, fuzzy, c-format
-msgid "#warning%.*s"
-msgstr "#warning %.*s"
+#~ msgid "-f%s ignored (all code is position independent)"
+#~ msgstr "-f%s ignoreret (al kode er positionsuafhængigt)"
-#: tradcpp.c:3541
-msgid "#elif not within a conditional"
-msgstr ""
+#~ msgid "-ffunction-sections disabled on AIX when debugging"
+#~ msgstr "-ffunction-sections deaktiveret på AIX ved fejlanalysering"
-#: tradcpp.c:3798
-#, c-format
-msgid "#%s not within a conditional"
-msgstr ""
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "-fdata-sections er ikke understøttet på AIX"
-#: tradcpp.c:3806
-#, fuzzy
-msgid "#else or #elif after #else"
-msgstr "#elif efter #else"
+#~ msgid "argument 3 of `%s' must be a 2-bit literal"
+#~ msgstr "parameter til '%s' skal være en 2 bit-konstant"
-#: tradcpp.c:3846
-msgid "#else not within a conditional"
-msgstr ""
+#~ msgid "%%S computed all 1's mask"
+#~ msgstr "%%S beregnede alle 1'eres maske"
-#: tradcpp.c:3877
-msgid "unbalanced #endif"
-msgstr ""
+#~ msgid "%%S computed all 0's mask"
+#~ msgstr "%%S beregnede alle 0's maske"
-#: tradcpp.c:3971
-msgid "unterminated string or character constant"
-msgstr "uafsluttet streng- eller tegnkonstant"
+#~ msgid "no viable candidates"
+#~ msgstr "ingen mulige kandidater"
-#: tradcpp.c:4129
-#, c-format
-msgid "arguments given to macro `%s'"
-msgstr "parametre givet til makro '%s'"
+#~ msgid "cannot pass objects of non-POD type `%#T' through `...'"
+#~ msgstr "kan ikke videregive objekter af en ikke-POD type '%#T' gennem '...'"
-#: tradcpp.c:4135
-#, fuzzy, c-format
-msgid "no args to macro `%s'"
-msgstr "parametre givet til makro '%s'"
+#~ msgid "`%D' has already been declared in `%T'"
+#~ msgstr "'%D' er allerede blevet erklæret i '%T'"
-#: tradcpp.c:4137
-#, fuzzy, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "parametre givet til makro '%s'"
+#~ msgid "typedef `%D' is initialized"
+#~ msgstr "typedef '%D' bliver tildelt en startværdi"
-#: tradcpp.c:4139
-#, fuzzy, c-format
-msgid "only %d args to macro `%s'"
-msgstr "parametre givet til makro '%s'"
+#~ msgid "`%D' as declarator"
+#~ msgstr "'%D' som erklærer"
-#: tradcpp.c:4141
-#, fuzzy, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "for mange parametre til funktionen '%s'"
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "størrelsen af medlemmet '%D' er ikke konstant"
-#: tradcpp.c:4767
-#, fuzzy, c-format
-msgid ""
-"Internal error in %s, at tradcpp.c:%d\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"Intern oversætterfejl i '%s', ved %s:%d\n"
-"Send venligst en komplet fejlrapport.\n"
-"Se %s for instruktioner."
+#~ msgid "cannot declare %s to references"
+#~ msgstr "kan ikke erklære %s til referencer"
-#: tree.c:3879
-msgid "arrays of functions are not meaningful"
-msgstr "en tabel af funktioner giver ikke mening"
+#~ msgid "invalid type: `void &'"
+#~ msgstr "ugyldig type: 'void &'"
-#: tree.c:3936
-msgid "function return type cannot be function"
-msgstr "en funktions returtype kan ikke være en funktion"
+#~ msgid "typedef declaration includes an initializer"
+#~ msgstr "typedef-erklæringen indeholder en startværdi"
-#: tree.c:4673
-msgid "invalid initializer for bit string"
-msgstr "ugyldig startværdi til bitstreng"
+#~ msgid "-fname-mangling-version is no longer supported"
+#~ msgstr "-fname-mangling-version understøttes ikke længere"
-#: tree.c:4732
-#, fuzzy, c-format
-msgid "Tree check: expected %s, have %s in %s, at %s:%d"
-msgstr "Træ-tjek: forventede %s, har %s"
+#~ msgid "candidate%s: %+#D"
+#~ msgstr "candidate%s: %+#D"
-#: tree.c:4749
-#, fuzzy, c-format
-msgid "Tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
-msgstr "Træ-tjek: forventede klasse '%c', har '%c' (%s)"
+#~ msgid " %#D"
+#~ msgstr " %#D"
-#: varasm.c:639
-#, fuzzy, c-format
-msgid "register name not specified for `%s'"
-msgstr "lagringsklasse angivet for %s '%s'"
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "medlemsstartværdier for '%#D'"
-#: varasm.c:641
-#, fuzzy, c-format
-msgid "invalid register name for `%s'"
-msgstr "ukendt registernavn '%s'"
+#~ msgid " will be re-ordered to match declaration order"
+#~ msgstr " vil blive omordnet for at passe til erklæringsordenen"
-#: varasm.c:644
-#, c-format
-msgid "data type of `%s' isn't suitable for a register"
-msgstr ""
+#~ msgid "multiple initializations given for member `%D'"
+#~ msgstr "flere startværdier angivet for medlemmet '%D'"
-#: varasm.c:647
-#, c-format
-msgid "register specified for `%s' isn't suitable for data type"
-msgstr ""
+#~ msgid "base initializers for `%#T'"
+#~ msgstr "stamklasseklargøring for '%#T'"
-#: varasm.c:656
-msgid "global register variable has initial value"
-msgstr "global registervariabel har en startværdi"
+#~ msgid " will be re-ordered to match inheritance order"
+#~ msgstr " vil blive omordnet for at passe til nedarvningsordenen"
-#: varasm.c:659
-msgid "volatile register variables don't work as you might wish"
-msgstr ""
+#~ msgid "base class `%T' already initialized"
+#~ msgstr "stamklassen '%T' er allerede klargjort"
-#: varasm.c:695
-#, fuzzy, c-format
-msgid "register name given for non-register variable `%s'"
-msgstr "ugyldigt registernavn '%s' for registervariabel"
+#~ msgid "implementation-reserved name `%D' used"
+#~ msgstr "implementationsreserveret navn '%D' benyttet"
-#: varasm.c:1333
-#, fuzzy, c-format
-msgid "size of variable `%s' is too large"
-msgstr "størrelsen af tabel '%s' er for stor"
+#~ msgid "explicit instantiation of `%#D' after"
+#~ msgstr "eksplicit instantiering af '%#D' efter"
-#: varasm.c:1373
-#, c-format
-msgid "alignment of `%s' is greater than maximum object file alignment. Using %d."
-msgstr ""
+#~ msgid "explicit specialization here"
+#~ msgstr "eksplicit specialisering her"
-#: varasm.c:1420
-#, fuzzy, c-format
-msgid "requested alignment for %s is greater than implemented alignment of %d."
-msgstr "angivet justering er ikke en potens af 2"
+#~ msgid "explicit instantiation of `%#T' after"
+#~ msgstr "eksplicit instantiering af '%#T' efter"
-#: varasm.c:1899
-msgid "floating point trap outputting a constant"
-msgstr "kommatalsfælde udsender en konstant"
+#~ msgid "base initializer for `%T'"
+#~ msgstr "stamklasseklargøring for '%T'"
-#: varasm.c:4304
-msgid "initializer for integer value is too complicated"
-msgstr "startværdien for heltallet er for kompliceret"
+#~ msgid " will be re-ordered to precede member initializations"
+#~ msgstr " vil blive omordnet for at komme før medlemsklargøringer"
-#: varasm.c:4310
-msgid "initializer for floating value is not a floating constant"
-msgstr "startværdien for kommatal er ikke en kommatalskonstant"
+#~ msgid "ignoring `%V' qualifiers on `%T'"
+#~ msgstr "ignorerer modifikationerne '%V' til '%T'"
-#: varasm.c:4367
-msgid "unknown set constructor type"
-msgstr "ukendt mængdekonstruktionstype"
+#~ msgid "ISO C++ forbids applying `sizeof' to a function type"
+#~ msgstr "ISO C++ forbyder anvendelse af 'sizeof' på en funktionstype"
-#: varasm.c:4572
-#, c-format
-msgid "invalid initial value for member `%s'"
-msgstr "ugyldig startværdi for medlemmet '%s'"
+#~ msgid "ISO C++ forbids applying `sizeof' to a member function"
+#~ msgstr "ISO C++ forbyder anvendelse af 'sizeof' på en medlemsfunktion"
-#: varasm.c:4754
-#, fuzzy, c-format
-msgid "weak declaration of `%s' must be public"
-msgstr "erklæring af '%s' som void"
+#~ msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
+#~ msgstr "ISO C++ forbyder anvendelse af 'sizeof' på typen 'void' som er en ufuldstændig type"
-#: varasm.c:4756
-#, fuzzy, c-format
-msgid "weak declaration of `%s' must precede definition"
-msgstr "'%s' erklæret som en tabel af funktioner"
+#~ msgid "`sizeof' applied to non-static member"
+#~ msgstr "'sizeof' benyttet på et ikke-statisk medlem"
-#: varasm.c:4852
-#, fuzzy
-msgid "only weak aliases are supported in this configuration"
-msgstr "%s understøttes ikke af denne konfiguration"
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "'sizeof' benyttet på en ufuldstændig type '%T'"
-#: varasm.c:4857
-#, fuzzy
-msgid "alias definitions not supported in this configuration; ignored"
-msgstr "%s understøttes ikke af denne konfiguration"
+#~ msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
+#~ msgstr "forespørgsel for medlemmet '%T::%D' i udtryk med den ikke-sammensatte type '%T'"
-#: varray.c:87
-#, c-format
-msgid "Virtual array %s[%lu]: element %lu out of bounds"
-msgstr ""
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "ugyldig brug af typeerklæring '%#D' som udtryk"
-#. Print an error message for unrecognized stab codes.
-#: xcoffout.c:176
-#, c-format
-msgid "No sclass for %s stab (0x%x)\n"
-msgstr ""
+#~ msgid "invalid use of template `%#D' as expression"
+#~ msgstr "ugyldig brug af skabelon '%#D' som udtryk"
-#: config/alpha/freebsd.h:35 config/i386/freebsd-aout.h:236
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr "'-p' understøttes ikke; brug '-pg' og gprof(1)"
+#~ msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
+#~ msgstr "ugyldig offsetof fra ikke-POD type '%#T'; benyt henvisning til medlem i stedet"
-#: config/arc/arc.h:61 config/mips/mips.h:918
-msgid "may not use both -EB and -EL"
-msgstr "kan ikke bruge både -EB og -EL"
+#~ msgid "pointer to member function called, but not in class scope"
+#~ msgstr "henvisning til medlem-funktion kaldt, men ikke i klassevirkefelt"
-#: config/arm/arm.h:216
-msgid "-mapcs-26 and -mapcs-32 may not be used together"
-msgstr "-mapcs-26 og -mapcs-32 kan ikke bruges på samme tid"
+#~ msgid "object missing in call to method `%D'"
+#~ msgstr "objekt mangler i kald til metoden '%D'"
-#: config/arm/arm.h:228
-msgid "-msoft-float and -mhard_float may not be used together"
-msgstr "-msoft-float og -mhard_float kan ikke bruges på samme tid"
+#~ msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
+#~ msgstr "funktionen '%D' erklæret flertydigt, men ingen definition optræder til at passe den sammen med?!?"
-#: config/arm/arm.h:239
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr "-mbig-endian og -mlittle-endian kan ikke bruges på samme tid"
+#~ msgid "invalid call to member function needing `this' in static member function scope"
+#~ msgstr "ugyldigt kald af medlemsfunktion som har brug for 'this', i et statisk medlemsfunktionsvirkefelt"
-#: config/arm/arm.h:257
-#, fuzzy
-msgid "Incompatible interworking options"
-msgstr "uforenelige typer i %s"
+#~ msgid "unary `&'"
+#~ msgstr "unær '&'"
-#: config/arm/riscix.h:73 config/arm/riscix.h:135
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd og -pedantic er indbyrdes uforenelige"
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "ugyldig brug af en ikke-defineret type '%#T'"
-#: config/arm/riscix.h:74 config/arm/riscix.h:136
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd og -mxopen er indbyrdes uforenelige"
+#~ msgid "forward declaration of `%#T'"
+#~ msgstr "forhåndserklæring af '%#T'"
-#: config/arm/riscix.h:75 config/arm/riscix.h:137
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen og -pedantic er indbyrdes uforenelige"
+#~ msgid "invalid use of `%T'"
+#~ msgstr "ugyldig brug af '%T'"
-#: config/dsp16xx/dsp16xx.h:101 config/dsp16xx/dsp16xx.h:110
-msgid "A -ifile option requires a -map option"
-msgstr "Et '-ifile'-tilvalg påkræver et '-map'-tilvalg"
+#~ msgid "invalid use of member (did you forget the `&' ?)"
+#~ msgstr "ugyldig brug af medlem (glemte du en '&'?)"
-#: config/i386/cygwin.h:103
-#, fuzzy
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
+#~ msgid "invalid use of template type parameter"
+#~ msgstr "ugyldig brug af skabelonstypeparameter"
-#: config/i386/cygwin.h:158 config/i386/mingw32.h:63
-#, fuzzy
-msgid "shared and mdll are not compatible"
-msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige."
+#~ msgid "address of overloaded function with no contextual type information"
+#~ msgstr "adresse af flertydig funktion uden kontekstuelle typeoplysninger"
-#: config/i386/sco5.h:777 config/i386/sco5.h:852
-msgid "-static not valid with -mcoff"
-msgstr "-static er ikke gyldig sammen med -mcoff"
+#~ msgid "overloaded function with no contextual type information"
+#~ msgstr "flertydig funktion uden kontekstuelle typeoplysninger"
-#: config/i386/sco5.h:778 config/i386/sco5.h:853
-msgid "-shared not valid with -mcoff"
-msgstr "-shared er ikke gyldig sammen med -mcoff"
+#~ msgid "insufficient contextual information to determine type"
+#~ msgstr "utilstrækkelige kontekstuelle oplysninger til at afgøre typen"
-#: config/i386/sco5.h:779 config/i386/sco5.h:854
-msgid "-symbolic not valid with -mcoff"
-msgstr "-symbolic er ikke gyldig sammen med -mcoff"
+#~ msgid "initializer list construction invalid for derived class object `%D'"
+#~ msgstr "klargøringslistekonstruktion er ugyldig for nedarvet klasseobjekt '%D'"
-#: config/i386/sco5.h:817
-msgid "-fpic is not valid with -mcoff"
-msgstr "-fpic er ikke gyldig sammen med -mcoff"
+#~ msgid "initializer list construction invalid for polymorphic class object `%D'"
+#~ msgstr "klargøringslistekonstruktion er ugyldig for polymorfisk klasseobjekt '%D'"
-#: config/i386/sco5.h:818
-msgid "-fPIC is not valid with -mcoff"
-msgstr "-fPIC er ikke gyldig sammen med -mcoff"
+#~ msgid "initializer list construction invalid for `%D'"
+#~ msgstr "klargøringslistekonstruktion er ugyldig for '%D'"
-#: config/i386/sco5.h:855
-msgid "-fpic not valid with -mcoff"
-msgstr "-fpic er ikke gyldig sammen med -mcoff"
+#~ msgid "due to the presence of a constructor"
+#~ msgstr "pga. af tilstedeværelsen af en konstruktionsfunktion"
-#: config/i386/sco5.h:856
-msgid "-fPIC not valid with -mcoff"
-msgstr "-fPIC er ikke gyldig sammen med -mcoff"
+#~ msgid "due to non-public access of member `%D'"
+#~ msgstr "pga. ikke-public tilgang af medlemmet '%D'"
-#: config/i386/unix.h:122
-msgid "bx]"
-msgstr ""
+#~ msgid "ISO C++ forbids non-constant aggregate initializer expressions"
+#~ msgstr "ISO C++ forbyder ikke-konstante startværdiudtryk for sammensatte typer"
-#: config/i386/unix.h:124
-msgid "bx"
-msgstr ""
+#~ msgid "The meaning of `\\x' (at %0) varies with -traditional"
+#~ msgstr "Betydningen af '\\x' (ved %0) skifter med -traditional"
-#: config/i386/unix.h:125
-msgid "cx"
-msgstr ""
+#~ msgid "The meaning of `\\a' (at %0) varies with -traditional"
+#~ msgstr "Betydningen af '\\a' (ved %0) skifter med -traditional"
-#: config/i860/fx2800.h:305
-msgid "-p option not supported: use -pg instead"
-msgstr "'-p'-tilvalget understøttes ikke; benyt '-pg' i stedet"
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "betydningen af '\\x' skifter med -traditional"
-#: config/mcore/mcore.h:65
-msgid "choose either big or little endian, not both"
-msgstr ""
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "betydningen af '\\a' skifter med -traditional"
-#: config/mcore/mcore.h:68
-msgid "choose either m340 or m210 not both"
-msgstr ""
+#~ msgid "parse error; also virtual memory exceeded"
+#~ msgstr "tolkningsfejl; desuden løbet tør for virtuel hukommelse"
-#: config/mcore/mcore.h:69
-msgid "the m210 does not have little endian support"
-msgstr ""
+#~ msgid "Can't specify array dimension in a declaration"
+#~ msgstr "Kan ikke angive tabeldimension i en erklæring"
-#: config/mips/mips.h:774
-msgid "-pipe is not supported."
-msgstr "-pipe understøttes ikke."
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "intern fejl - brug af ikke-defineret type"
-#: config/mips/mips.h:913
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "-mfp64 og -msingle-float er indbyrdes uforenelige"
+#~ msgid "no class name specified as argument to -fconstant-string-class"
+#~ msgstr "intet klassenavn angivet som parameter til -fconstant-string-class"
-#: config/mips/mips.h:914
-msgid "may not use both -mfp64 and -m4650"
-msgstr "-mfp64 og -m4650 er indbyrdes uforenelige"
+#~ msgid "-p profiling is no longer supported. Use -pg instead"
+#~ msgstr "profilgenerering med -p understøttes ikke længere; benyt -pg i stedet for"
-#: config/mips/r3900.h:28 config/mips/r3900.h:42
-msgid "-mhard-float not supported."
-msgstr "-mhard-float understøttes ikke."
+#~ msgid "incompatible interworking options"
+#~ msgstr "uforenelige samvirkende tilvalg"
-#: config/mips/r3900.h:30 config/mips/r3900.h:44
-msgid "-msingle-float and -msoft-float can not both be specified."
-msgstr "-msingle-float og -msoft-float er indbyrdes uforenelige."
+#~ msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#~ msgstr "-mabi=mmixware og -mabi=gnu er indbyrdes uforenelige"
-#: config/nextstep.h:163 config/nextstep.h:166
-msgid "-p profiling is no longer supported. Use -pg instead."
-msgstr "profilgenerering med -p understøttes ikke længere; benyt -pg i stedet for."
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "tilvalget -p understøttes ikke; benyt -pg i stedet"
-#: config/vax/vax.h:41 config/vax/vax.h:42
-msgid "profiling not supported with -mg\n"
-msgstr "profilgenerering understøttes ikke med -mg\n"
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd og -pedantic er indbyrdes uforenelige"
-#: f/lang-specs.h:35 gcc.c:593
-msgid "GNU C does not support -C without using -E"
-msgstr "GNU C understøtter ikke -C uden -E"
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd og -mxopen er indbyrdes uforenelige"
-#: gcc.c:614 java/jvspec.c:68
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr "-pg og -fomit-frame-pointer er indbyrdes uforenelige"
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen og -pedantic er indbyrdes uforenelige"
-#: gcc.c:762
-msgid "-E required when input is from standard input"
-msgstr "-E påkrævet når inddata kommer fra standardind"
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "-mfp64 og -msingle-float er indbyrdes uforenelige"
-#: gcc.c:766
-msgid "Compilation of header file requested"
-msgstr "Oversættelse af inkluderingsfil udbedt"
+#~ msgid "may not use both -mfp64 and -m4650"
+#~ msgstr "-mfp64 og -m4650 er indbyrdes uforenelige"
-#: java/lang-specs.h:33
-#, fuzzy
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
+#~ msgid "may not use both -mgp32 and -mfp64"
+#~ msgstr "-mgp32 og -mfp64 er indbyrdes uforenelige"
-#: java/lang-specs.h:34
-#, fuzzy
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
+#~ msgid "Only initialized variables can be placed into program memory area."
+#~ msgstr "Kun variabler med startværdi kan placeres i programhukommelsesområdet."
-#~ msgid "iterator `%s' has derived type"
-#~ msgstr "løkkevariablen '%s' er af en nedarvet type"
+#~ msgid "declaration of `%#T'"
+#~ msgstr "erklæring af '%#T'"
-#~ msgid "iterator `%s' has noninteger type"
-#~ msgstr "løkkevariablen '%s' er ikke af en heltalstype"
+#~ msgid "a -ifile option requires a -map option"
+#~ msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg"
#~ msgid "%s before character constant"
#~ msgstr "%s før tegnkonstant"
@@ -14293,12 +21821,6 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "%s before character 0%o"
#~ msgstr "%s før tegn 0%o"
-#~ msgid "more than one `f' in numeric constant"
-#~ msgstr "mere end ét 'f' i talkonstant"
-
-#~ msgid "more than one `l' in numeric constant"
-#~ msgstr "mere end ét 'l' i talkonstant"
-
#~ msgid "invalid identifier `%s'"
#~ msgstr "ugyldigt kaldenavn '%s'"
@@ -14308,26 +21830,11 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "nondigits in number and not hexadecimal"
#~ msgstr "tegn der ikke er cifre, optræder i tal"
-#~ msgid "numeric constant contains digits beyond the radix"
-#~ msgstr "talkonstant indeholder cifre der ligger ud over grundtallet"
-
-#~ msgid "floating constant exponent has no digits"
-#~ msgstr "der er ingen cifre i kommatallets eksponent"
-
-#~ msgid "hexadecimal floating constant has no exponent"
-#~ msgstr "hexadecimal kommatalskonstant har ingen eksponent"
-
#~ msgid "two `u's in integer constant"
-#~ msgstr "to 'u'er i heltalskonstant"
-
-#~ msgid "Unterminated string constant"
-#~ msgstr "Uafsluttet strengkonstant"
+#~ msgstr "to 'u'-endelser i heltalskonstant"
-#~ msgid "syntax error: cannot back up"
-#~ msgstr "syntaksfejl: kan ikke gå tilbage"
-
-#~ msgid "parser stack overflow"
-#~ msgstr "overløb i tolkerens stak"
+#~ msgid "`[*]' in parameter declaration only allowed in ISO C 99"
+#~ msgstr "'[*]' i parametererklæring kun tilladt i ISO C 99"
#~ msgid "invalid `for (ITERATOR)' syntax"
#~ msgstr "ugyldigt 'for (LØKKEVARIABEL)'-syntaks"
@@ -14338,24 +21845,30 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "case label within scope of cleanup or variable array"
#~ msgstr "case-etiket i oprydningsområde eller i en variabel tabel"
-#~ msgid "parse error; also virtual memory exceeded"
-#~ msgstr "tolkningsfejl; desuden løbet tør for virtuel hukommelse"
+#~ msgid "wrong type argument to %s"
+#~ msgstr "forkert parametertype til %s"
+
+#~ msgid "invalid lvalue in increment"
+#~ msgstr "ugyldig venstreværdi i forøgelse"
+
+#~ msgid "invalid lvalue in decrement"
+#~ msgstr "ugyldig venstreværdi i formindskelse"
+
+#~ msgid "increment"
+#~ msgstr "forøgelse"
+
+#~ msgid "decrement"
+#~ msgstr "formindskelse"
#~ msgid "duplicate array index in initializer"
#~ msgstr "tabelindeks i startværdi optræder mere end én gang"
-#~ msgid "duplicate initializer"
-#~ msgstr "startværdi optræder mere end én gang"
-
#~ msgid "thumb_load_double_from_address: destination is not a register"
#~ msgstr "thumb_load_double_from_adress: destination er ikke et register"
#~ msgid "thumb_load_double_from_address: source is not a computed memory address"
#~ msgstr "thumb_load_double_from_adress: kilden er ikke en beregnet hukommelsesadresse"
-#~ msgid "thumb_load_double_from_address: base is not a register"
-#~ msgstr "thumb_load_double_from_adress: basis er ikke et register"
-
#~ msgid "thumb_load_double_from_address: Unhandled address calculation"
#~ msgstr "thumb_load_double_from_adress: adresseberegningen er ikke håndteret"
@@ -14368,23 +21881,59 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "YL found in limit_reload_class"
#~ msgstr "YL fundet i limit_reload_class"
-#~ msgid "Bad register extension code"
-#~ msgstr "Ugyldig registerudvidelseskode"
+#~ msgid "Invalid register for compare"
+#~ msgstr "Ugyldigt register til sammenligningen"
+
+#~ msgid "Internal gcc abort from %s:%d"
+#~ msgstr "Intern GCC-afbrydelse fra %s:%d"
-#~ msgid "Invalid offset in ybase addressing"
-#~ msgstr "Ugyldigt offset i ybase-adressering"
+#~ msgid "Register '%c' already specified in allocation order"
+#~ msgstr "Registret '%c' er allerede angivet i tildelingsordenen"
-#~ msgid "Invalid shift operator in emit_1600_core_shift"
-#~ msgstr "Ugyldig forskydningsoperator i emit_1600_core_shift"
+#~ msgid "Same as -mcpu=i386"
+#~ msgstr "Magen til -mcpu=i386"
-#~ msgid "Invalid mode for gen_tst_reg"
-#~ msgstr "Ugyldig tilstand for gen_tst_reg"
+#~ msgid "Same as -mcpu=i486"
+#~ msgstr "Magen til -mcpu=i486"
-#~ msgid "Invalid mode for integer comparison in gen_compare_reg"
-#~ msgstr "Ugyldig tilstand for heltalssammenligning i gen_compare_reg"
+#~ msgid "Same as -mcpu=pentium"
+#~ msgstr "Magen til -mcpu=pentium"
-#~ msgid "Invalid register for compare"
-#~ msgstr "Ugyldigt register til sammenligningen"
+#~ msgid "Same as -mcpu=pentiumpro"
+#~ msgstr "Magen til -mcpu=pentiumpro"
+
+#~ msgid "Emit Intel syntax assembler opcodes"
+#~ msgstr "Konstruér instruktionerne til maskinkodeoversætteren med Intel-syntaks"
+
+#~ msgid "invalid %H value"
+#~ msgstr "ugyldig %H-værdi"
+
+#~ msgid "invalid %h value"
+#~ msgstr "ugyldig %h-værdi"
+
+#~ msgid "invalid %Q value"
+#~ msgstr "ugyldig %Q-værdi"
+
+#~ msgid "invalid %q value"
+#~ msgstr "ugyldig %q-værdi"
+
+#~ msgid "invalid %p value"
+#~ msgstr "ugyldig %p-værdi"
+
+#~ msgid "invalid %B value"
+#~ msgstr "ugyldig %B-værdi"
+
+#~ msgid "invalid %C value"
+#~ msgstr "ugyldig %C-værdi"
+
+#~ msgid "invalid %E value"
+#~ msgstr "ugyldig %E-værdi"
+
+#~ msgid "invalid %r value"
+#~ msgstr "ugyldig %r-værdi"
+
+#~ msgid "-mcpu=%s does not support -mips%d"
+#~ msgstr "-mcpu=%s understøtter ikke -mips%d"
#~ msgid "PRINT_OPERAND: letter %c was found & insn was not CONST_INT"
#~ msgstr "PRINT_OPERAND: bogstavet %c blev fundet og instruktionen var ikke CONST_INT"
@@ -14398,20 +21947,8 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "virtual memory exhausted"
#~ msgstr "løbet tør for virtuel hukommelse"
-#~ msgid "destructor for alien class `%s' cannot be a member"
-#~ msgstr "destruktionsfunktionen for den fremmede klasse '%s' kan ikke være et medlem"
-
-#~ msgid "constructor for alien class `%s' cannot be a member"
-#~ msgstr "konstruktionsfunktionen for den fremmede klasse '%s' kan ikke være et medlem"
-
-#~ msgid "trying to make class `%s' a friend of global scope"
-#~ msgstr "forsøg på at gøre klassen '%s' til ven af det globale virkningsfelt"
-
-#~ msgid "parameter invalidly declared method type"
-#~ msgstr "parameteren er på ugyldig vis erklæret som af en medlemsfunktionstype"
-
-#~ msgid "parameter invalidly declared offset type"
-#~ msgstr "parameteren er på ugyldig vis erklæret som af en offset-type"
+#~ msgid "the new ABI requires vtable thunks"
+#~ msgstr "den nye binære grænseflade kræver virtuel tabel-afdelinger"
#~ msgid "`void' in parameter list must be entire list"
#~ msgstr "'void' i en parameterliste skal udgøre hele listen"
@@ -14419,44 +21956,26 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "no file specified with -fdump-translation-unit"
#~ msgstr "ingen filer angivet med -fdump-translation-unit"
+#~ msgid "`__alignof__' applied to a bit-field"
+#~ msgstr "'__alignof__' brugt på et bitfelt"
+
#~ msgid "(you really want to initialize it separately)"
#~ msgstr "(klargør den separat)"
#~ msgid "`operator new' takes type `size_t' parameter"
#~ msgstr "'operator new' skal have en parameter af typen 'size_t'"
-#~ msgid "`operator new' takes type `size_t' as first parameter"
-#~ msgstr "den første parameter til 'operator new' skal være af typen 'size_t'"
-
-#~ msgid "`operator delete' must return type `void'"
-#~ msgstr "'operator delete' skal returnere 'void'"
-
-#~ msgid "`operator delete' takes type `void *' as first parameter"
-#~ msgstr "den første parameter til 'operator delete' skal være af typen 'void *'"
-
-#~ msgid "too many arguments in declaration of `operator delete'"
-#~ msgstr "for mange parametre i erklæringen af 'operator delete'"
-
#~ msgid "`...' invalid in specification of `operator delete'"
#~ msgstr "'...' er ugyldigt i angivelsen af 'operator delete'"
#~ msgid "`default' label within scope of cleanup or variable array"
#~ msgstr "'default'-etiket i oprydningsområde eller i en variabel tabel"
-#~ msgid "bad array initializer"
-#~ msgstr "ugyldig tildeling af startværdi i tabel"
-
-#~ msgid "end of file encountered inside string constant"
-#~ msgstr "nåede slutningen af filen inden i en strengkonstant"
-
-#~ msgid "end of file encountered inside character constant"
-#~ msgstr "nåede slutningen af filen inden i en tegnkonstant"
+#~ msgid "initializer for unnamed base class ambiguous"
+#~ msgstr "klargøring af unavngiven stamklasse er flertydig"
#~ msgid "invalid #pragma vtable"
-#~ msgstr "ugyldig #pragma virtuel tabel"
-
-#~ msgid "invalid `#pragma implementation'"
-#~ msgstr "ugyldig '#pragma implementation'"
+#~ msgstr "ugyldig #pragma vtable"
#~ msgid "universal-character-name designates `%c', part of the basic source character set"
#~ msgstr "universelt tegnnavn står for '%c', som er en del af det basale kildekodetegnsæt"
@@ -14467,11 +21986,17 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "complex integer constant is too wide for `__complex int'"
#~ msgstr "kompleks heltalskonstant er for bred til '__complex int'"
-#~ msgid "request for member `%s' is ambiguous in multiple inheritance lattice"
-#~ msgstr "forespørgsel efter medlemmet '%s' er flertydigt i et net af multipel nedarvning"
+#~ msgid "ambiguous request for method pointer `%s'"
+#~ msgstr "flertydig forespørgsel efter medlemsfunktionshenvisningen '%s'"
+
+#~ msgid "taking dynamic typeid of object with -fno-rtti"
+#~ msgstr "forsøg på at finde den dynamiske typeid af et objekt med -fno-rtti"
-#~ msgid "Internal compiler error."
-#~ msgstr "Intern oversætterfejl."
+#~ msgid "`com_interface' only supported with -fvtable-thunks"
+#~ msgstr "'com_interface' understøttes kun med -fvtable-thunks"
+
+#~ msgid "invalid reference to NULL ptr, use ptr-to-member instead"
+#~ msgstr "ugyldig reference til NULL-henvisning, benyt en henvisning til medlem i stedet"
#~ msgid "Please submit a full bug report."
#~ msgstr "Send venligst en komplet fejlrapport."
@@ -14488,30 +22013,18 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "range values reversed"
#~ msgstr "intervalværdierne vender omvendt"
+#~ msgid "Can't create cross-reference file `%s'"
+#~ msgstr "Kan ikke oprette krydsreferencefilen '%s'"
+
#~ msgid "bad is_error(%d) in v_message"
#~ msgstr "ugyldig is_error(%d) i v_message"
#~ msgid "'defined' without an identifier"
#~ msgstr "'defined' optræder uden et kaldenavn"
-#~ msgid "string constants are not allowed in #if expressions"
-#~ msgstr "strengkonstanter er ikke tilladt i '#if'-udtryk"
-
-#~ msgid "included file `%s' exists but is not readable"
-#~ msgstr "den inkluderede fil '%s' eksisterer, men kan ikke læses"
-
-#~ msgid "%s is a directory"
-#~ msgstr "%s er et katalog"
-
-#~ msgid "macro argument \"%s\" is stringified"
-#~ msgstr "makroparameteren \"%s\" er blevet gjort til en streng"
-
#~ msgid "`##' at start of macro definition"
#~ msgstr "'##' i begyndelsen af makrodefinitionen"
-#~ msgid "`##' at end of macro definition"
-#~ msgstr "'##' ved slutningen af makrodefinitionen"
-
#~ msgid "empty object-like macro went through full #define"
#~ msgstr "en tom objektlignende makro gik gennem komplet #define"
@@ -14522,7 +22035,7 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgstr "umuligt symbol i makroparameterlisten"
#~ msgid "illegal token in macro argument list"
-#~ msgstr "ulovligt symbol i makroparameterlisten"
+#~ msgstr "ugyldigt symbol i makroparameterlisten"
#~ msgid "another parameter follows \"...\""
#~ msgstr "der optræder en parameter mere efter \"...\""
@@ -14557,6 +22070,9 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "macro `%s' used with too many (%d) args"
#~ msgstr "makroen '%s' kaldt med for mange (%d) parametre"
+#~ msgid "buffers still stacked in cpp_finish"
+#~ msgstr "mellemlagre er stadig stakket op i cpp_finish"
+
#~ msgid ""
#~ "Switches:\n"
#~ " -include <file> Include the contents of <file> before other files\n"
@@ -14644,8 +22160,8 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ " -o <fil> Send uddata til <fil>\n"
#~ " -pedantic Fremkom med alle advarsler påkrævet for nøje ISO C\n"
#~ " -pedantic-errors Behandl '-pedantic'-advarsler som fejl\n"
-#~ " -traditional Iagttag opførsel som en K&R-forbehandler\n"
-#~ " -trigraphs Understøt ANSI C trigrafer\n"
+#~ " -traditional Iagttag opførsel som en K&R-præprocessor\n"
+#~ " -trigraphs Understøt ANSI C-trigrafer\n"
#~ " -lang-c Antag at inddata er C\n"
#~ " -lang-c89 Antag at inddata er C89\n"
#~ " -lang-c++ Antag at inddata er C++\n"
@@ -14672,7 +22188,7 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ " -Wno-import Advar ikke om brug af #import\n"
#~ " -Werror Behandl alle advarsler som fejl\n"
#~ " -Wno-error Behandl ikke alle advarsler som fejl\n"
-#~ " -Wall Slå alle forbehandleradvarsler til\n"
+#~ " -Wall Slå alle præprocessoradvarsler til\n"
#~ " -M Generér afhængigheder til make\n"
#~ " -MM Som -M, men ignorér systeminkluderingsfiler\n"
#~ " -MD Som -M, men anbring uddata i en '.d'-fil\n"
@@ -14710,29 +22226,17 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "C++ style comments are not allowed in traditional C"
#~ msgstr "kommentarer i C++-stil er ikke tilladt i traditionel C"
-#~ msgid "embedded null character ignored"
-#~ msgstr "indlejret nultegn ignoreret"
-
#~ msgid "string constant runs past end of line"
#~ msgstr "strengkonstanten går ud over slutningen af linjen"
-#~ msgid "\\r escape inside string constant"
-#~ msgstr "\\r-undvigetegn i strengkonstant"
-
-#~ msgid "null characters in string or character constant"
-#~ msgstr "nultegn i streng- eller tegnkonstant"
-
#~ msgid "missing '>' in `#include <FILENAME>'"
#~ msgstr "manglende '>' i '#include <FILNAVN>'"
-#~ msgid "unrecognized escape \\r%c"
-#~ msgstr "ukendt undvigetegn \\r%c"
-
#~ msgid "vertical tab in preprocessing directive"
-#~ msgstr "lodret tabulator i forbehandlerdirektiv"
+#~ msgstr "lodret tabulator i præprocessordirektiv"
#~ msgid "form feed in preprocessing directive"
-#~ msgstr "sideskift i forbehandlerdirektiv"
+#~ msgstr "sideskift i præprocessordirektiv"
#~ msgid "null character preserved"
#~ msgstr "nultegn bevaret"
@@ -14770,14 +22274,8 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "cannot undefine poisoned \"%s\""
#~ msgstr "kan ikke glemme definitionen af forgiftet \"%s\""
-#~ msgid "malformed #pragma implementation"
-#~ msgstr "forkert udformet '#pragma implementation'"
-
-#~ msgid "#%s with no argument"
-#~ msgstr "#%s uden parametre"
-
#~ msgid "#%s with invalid argument"
-#~ msgstr "#%s med ugyldigt parameter"
+#~ msgstr "#%s med ugyldig parameter"
#~ msgid "Cannot duplicate non-existant exception region."
#~ msgstr "Kan ikke mangfoldiggøre en ikkeeksisterende undtagelsesregion."
@@ -14785,8 +22283,11 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "Never issued previous false_label"
#~ msgstr "Sørgede ikke for tidligere false_label"
-#~ msgid "Basic blocks not numbered consecutively"
-#~ msgstr "Basisblokkene er ikke nummeret i rækkefølge"
+#~ msgid "output_operand: %s"
+#~ msgstr "output_operand: %s"
+
+#~ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d\n"
+#~ msgstr "NOTE_INSN_BASIC_BLOCK mangler for blok %d\n"
#~ msgid "file path prefix `%s%s' never used"
#~ msgstr "stipræfikset '%s%s' blev aldrig brugt"
@@ -14794,8 +22295,8 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "file path prefix `%s' never used"
#~ msgstr "stipræfikset '%s' blev aldrig brugt"
-#~ msgid "%s: option `%s' is ambiguous\n"
-#~ msgstr "%s: tilvalget '%s' er flertydigt\n"
+#~ msgid "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file\n"
+#~ msgstr "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJKAT] fil\n"
#~ msgid "%s: option `--%s' doesn't allow an argument\n"
#~ msgstr "%s: tilvalget '--%s' tillader ikke en parameter\n"
@@ -14821,23 +22322,50 @@ msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
#~ msgid "%s: option requires an argument -- %c\n"
#~ msgstr "%s: tilvalget skal have en parameter -- %c\n"
-#~ msgid "%s: option `-W %s' is ambiguous\n"
-#~ msgstr "%s: tilvalget '-W %s' er flertydigt\n"
-
#~ msgid "%s: option `-W %s' doesn't allow an argument\n"
#~ msgstr "%s: tilvalget '-W %s' tillader ikke en parameter\n"
-#~ msgid "function with complex parameters cannot be inline"
-#~ msgstr "funktioner med complex-parametre kan ikke indbygges"
-
#~ msgid "Objective-C text in C source file"
#~ msgstr "Objective C-tekst i C-kildekodefil"
#~ msgid "statically allocated objects not supported"
#~ msgstr "statisk allokerede objekter understøttes ikke"
+#~ msgid "`asm' cannot be used in function where memory usage is checked"
+#~ msgstr "'asm' kan ikke benyttes i funktioner hvor hukommelsesforbruget bliver tjekket"
+
+#~ msgid "`asm' cannot be used with `-fcheck-memory-usage'"
+#~ msgstr "'asm' kan ikke benyttes sammen med '-fcheck-memory-usage'"
+
+#~ msgid "output operand constraint %d contains `+'"
+#~ msgstr "uddataoperandbegrænsning %d indeholder '+'"
+
+#~ msgid "hard register `%s' listed as input operand to `asm'"
+#~ msgstr "hardware-register '%s' angivet som inddataoperand til 'asm'"
+
#~ msgid "output pipe has been closed"
#~ msgstr "uddataledningen er blevet lukket"
+#~ msgid "Errors detected in input file (your bison.simple is out of date)\n"
+#~ msgstr "Fandt fejl i inddatafilen (din bison.simple er forældet)\n"
+
+#~ msgid "Data size %ld.\n"
+#~ msgstr "Datastørrelse %ld.\n"
+
#~ msgid "Unknown stab %s: : 0x%x\n"
#~ msgstr "Ukendt stab %s: : 0x%x\n"
+
+#~ msgid "__builtin_trap not supported by this target"
+#~ msgstr "__builtin_trap understøttes ikke på denne målarkitektur"
+
+#~ msgid "`%s' previously defined here"
+#~ msgstr "'%s' tidligere defineret her"
+
+#~ msgid "`%s' previously declared here"
+#~ msgstr "'%s' tidligere erklæret her"
+
+#~ msgid "profiling does not support code models other than medlow"
+#~ msgstr "profilgenerering understøtter ikke andre kodemodeller end medlow"
+
+#~ msgid "Control allocation order of integer registers"
+#~ msgstr "Kontrollér tildelingsordenen for heltalsregistrene"
diff --git a/gcc/po/de.po b/gcc/po/de.po
new file mode 100644
index 00000000000..6bd4d65ee2d
--- /dev/null
+++ b/gcc/po/de.po
@@ -0,0 +1,20512 @@
+# German translation of gcc messages.
+# Copyright © 2002, 2003 Free Software Foundation, Inc.
+# Karl Eichwalder <ke@suse.de>, 2002, 2003.
+# This file is distributed under the same license as the gcc package.
+#
+# Wer möchte an dieser Übersetzung arbeiten? Bitte bei de@li.org melden!
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcc 3.3-b20021230\n"
+"POT-Creation-Date: 2003-05-12 14:42-0700\n"
+"PO-Revision-Date: 2003-01-06 20:10+0100\n"
+"Last-Translator: Karl Eichwalder <ke@suse.de>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: attribs.c:185
+#, c-format
+msgid "`%s' attribute directive ignored"
+msgstr "Attribut-Anweisung »%s« wird ignoriert"
+
+#: attribs.c:193
+#, c-format
+msgid "wrong number of arguments specified for `%s' attribute"
+msgstr "falsche Anzahl an Argumenten für das Attribut »%s« angegeben"
+
+#: attribs.c:210
+#, c-format
+msgid "`%s' attribute does not apply to types"
+msgstr ""
+
+#: attribs.c:247
+#, c-format
+msgid "`%s' attribute only applies to function types"
+msgstr ""
+
+#: attribs.c:404 c-common.c:5270 c-common.c:5292 c-common.c:5314
+#: c-common.c:5345 c-common.c:5367 c-common.c:5392 c-common.c:5418
+#: c-common.c:5448 c-common.c:5486 c-common.c:5533 c-common.c:5563
+#: c-common.c:5593 c-common.c:5616 c-common.c:5873 c-common.c:5895
+#: c-common.c:5938 c-common.c:6015 c-common.c:6071 c-common.c:6132
+#: c-common.c:6166 c-common.c:6520 config/arm/arm.c:2098 config/arm/arm.c:2125
+#: config/avr/avr.c:4774 config/h8300/h8300.c:3693 config/h8300/h8300.c:3718
+#: config/i386/i386.c:1403 config/i386/winnt.c:76 config/ip2k/ip2k.c:3204
+#, c-format
+msgid "`%s' attribute ignored"
+msgstr "Attribut »%s« wird ignoriert"
+
+#: builtins.c:285
+msgid "offset outside bounds of constant string"
+msgstr ""
+
+#: builtins.c:765
+msgid "second arg to `__builtin_prefetch' must be a constant"
+msgstr ""
+
+#: builtins.c:772
+msgid "invalid second arg to __builtin_prefetch; using zero"
+msgstr ""
+
+#: builtins.c:779
+msgid "third arg to `__builtin_prefetch' must be a constant"
+msgstr ""
+
+#: builtins.c:786
+msgid "invalid third arg to __builtin_prefetch; using zero"
+msgstr ""
+
+#. ??? We used to try and build up a call to the out of line function,
+#. guessing about what registers needed saving etc. This became much
+#. harder with __builtin_va_start, since we don't have a tree for a
+#. call to __builtin_saveregs to fall back on. There was exactly one
+#. 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:2864
+msgid "__builtin_saveregs not supported by this target"
+msgstr ""
+
+#: builtins.c:2906
+msgid "argument of `__builtin_args_info' must be constant"
+msgstr ""
+
+#: builtins.c:2912
+msgid "argument of `__builtin_args_info' out of range"
+msgstr ""
+
+#: builtins.c:2918
+msgid "missing argument in `__builtin_args_info'"
+msgstr ""
+
+#: builtins.c:2949
+msgid "`va_start' used in function with fixed args"
+msgstr ""
+
+#: 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:2973
+msgid "`__builtin_next_arg' called without an argument"
+msgstr ""
+
+#: builtins.c:3059
+msgid "too many arguments to function `va_start'"
+msgstr ""
+
+#: 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:3193
+#, c-format
+msgid "`%s' is promoted to `%s' when passed through `...'"
+msgstr ""
+
+#: builtins.c:3198
+#, c-format
+msgid "(so you should pass `%s' not `%s' to `va_arg')"
+msgstr ""
+
+#: builtins.c:3329
+msgid "invalid arg to `__builtin_frame_address'"
+msgstr ""
+
+#: builtins.c:3331
+msgid "invalid arg to `__builtin_return_address'"
+msgstr ""
+
+#: builtins.c:3345
+msgid "unsupported arg to `__builtin_frame_address'"
+msgstr ""
+
+#: builtins.c:3347
+msgid "unsupported arg to `__builtin_return_address'"
+msgstr ""
+
+#: builtins.c:3519
+msgid "second arg to `__builtin_expect' must be a constant"
+msgstr ""
+
+#: builtins.c:4017
+msgid "__builtin_longjmp second argument must be 1"
+msgstr ""
+
+#. just do library call, if unknown builtin
+#: builtins.c:4081 c-common.c:4454
+#, c-format
+msgid "built-in function `%s' not currently supported"
+msgstr ""
+
+#: builtins.c:4154
+msgid "target format does not support infinity"
+msgstr ""
+
+#: c-common.c:1163
+#, c-format
+msgid "`%s' is not defined outside of function scope"
+msgstr ""
+
+#: 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:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr ""
+
+#: c-common.c:1338
+msgid "overflow in constant expression"
+msgstr ""
+
+#: c-common.c:1359
+msgid "integer overflow in expression"
+msgstr ""
+
+#: c-common.c:1368
+msgid "floating point overflow in expression"
+msgstr ""
+
+#: c-common.c:1374
+msgid "vector overflow in expression"
+msgstr ""
+
+#. This detects cases like converting -129 or 256 to unsigned char.
+#: c-common.c:1397
+msgid "large integer implicitly truncated to unsigned type"
+msgstr ""
+
+#: c-common.c:1399
+msgid "negative integer implicitly converted to unsigned type"
+msgstr ""
+
+#: c-common.c:1447
+msgid "overflow in implicit constant conversion"
+msgstr ""
+
+#: c-common.c:1595
+#, c-format
+msgid "operation on `%s' may be undefined"
+msgstr ""
+
+#: c-common.c:1886
+msgid "expression statement has incomplete type"
+msgstr ""
+
+#: c-common.c:1919
+msgid "case label does not reduce to an integer constant"
+msgstr ""
+
+#: c-common.c:2223
+msgid "invalid truth-value expression"
+msgstr ""
+
+#: c-common.c:2274
+#, c-format
+msgid "invalid operands to binary %s"
+msgstr ""
+
+#: c-common.c:2508
+msgid "comparison is always false due to limited range of data type"
+msgstr ""
+
+#: c-common.c:2510
+msgid "comparison is always true due to limited range of data type"
+msgstr ""
+
+#: c-common.c:2580
+msgid "comparison of unsigned expression >= 0 is always true"
+msgstr ""
+
+#: c-common.c:2589
+msgid "comparison of unsigned expression < 0 is always false"
+msgstr ""
+
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr ""
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr ""
+
+#: c-common.c:2648
+msgid "pointer to member function used in arithmetic"
+msgstr ""
+
+#: c-common.c:2654
+msgid "pointer to a member used in arithmetic"
+msgstr ""
+
+#: c-common.c:2741 f/com.c:14762
+msgid "struct type value used where scalar is required"
+msgstr ""
+
+#: c-common.c:2745 f/com.c:14766
+msgid "union type value used where scalar is required"
+msgstr ""
+
+#: c-common.c:2749 f/com.c:14770
+msgid "array type value used where scalar is required"
+msgstr ""
+
+#: c-common.c:2869 f/com.c:14903
+msgid "suggest parentheses around assignment used as truth value"
+msgstr ""
+
+#: c-common.c:2913 c-common.c:2945
+msgid "invalid use of `restrict'"
+msgstr ""
+
+#: 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:3116
+msgid "`__alignof' applied to a bit-field"
+msgstr ""
+
+#: c-common.c:3613
+#, c-format
+msgid "cannot disable built-in function `%s'"
+msgstr ""
+
+#: c-common.c:3782 c-typeck.c:1748
+#, c-format
+msgid "too few arguments to function `%s'"
+msgstr ""
+
+#: c-common.c:3788 c-typeck.c:1601
+#, c-format
+msgid "too many arguments to function `%s'"
+msgstr ""
+
+#: c-common.c:3807
+#, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr ""
+
+#: c-common.c:4076
+msgid "pointers are not permitted as case values"
+msgstr ""
+
+#: c-common.c:4082
+msgid "ISO C++ forbids range expressions in switch statements"
+msgstr ""
+
+#: c-common.c:4084
+msgid "ISO C forbids range expressions in switch statements"
+msgstr ""
+
+#: c-common.c:4114
+msgid "empty range specified"
+msgstr ""
+
+#: c-common.c:4165
+msgid "duplicate (or overlapping) case value"
+msgstr ""
+
+#: c-common.c:4167
+msgid "this is the first entry overlapping that value"
+msgstr ""
+
+#: c-common.c:4171
+msgid "duplicate case value"
+msgstr ""
+
+#: c-common.c:4172
+msgid "previously used here"
+msgstr ""
+
+#: c-common.c:4176
+msgid "multiple default labels in one switch"
+msgstr ""
+
+#: c-common.c:4177
+msgid "this is the first default label"
+msgstr ""
+
+#: c-common.c:4205
+msgid "ISO C++ forbids taking the address of a label"
+msgstr ""
+
+#: c-common.c:4207
+msgid "ISO C forbids taking the address of a label"
+msgstr ""
+
+#: c-common.c:5230
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr ""
+
+#: c-common.c:5649
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr ""
+
+#: c-common.c:5652
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr ""
+
+#: c-common.c:5661 c-common.c:6262
+#, c-format
+msgid "unable to emulate '%s'"
+msgstr ""
+
+#: c-common.c:5697
+msgid "section attribute cannot be specified for local variables"
+msgstr ""
+
+#: c-common.c:5708
+#, c-format
+msgid "section of `%s' conflicts with previous declaration"
+msgstr ""
+
+#: c-common.c:5717
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr ""
+
+#: c-common.c:5724
+msgid "section attributes are not supported for this target"
+msgstr ""
+
+#: c-common.c:5766
+msgid "requested alignment is not a constant"
+msgstr ""
+
+#: c-common.c:5771
+msgid "requested alignment is not a power of 2"
+msgstr ""
+
+#: c-common.c:5776
+msgid "requested alignment is too large"
+msgstr ""
+
+#: c-common.c:5803
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr ""
+
+#: c-common.c:5848
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr ""
+
+#: c-common.c:5858
+msgid "alias arg not a string"
+msgstr ""
+
+#: c-common.c:5905
+msgid "visibility arg not a string"
+msgstr ""
+
+#: c-common.c:5914
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr ""
+
+#: c-common.c:5948
+msgid "tls_model arg not a string"
+msgstr ""
+
+#: c-common.c:5957
+msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+msgstr ""
+
+#: c-common.c:5982 c-common.c:6038
+#, c-format
+msgid "`%s' attribute applies only to functions"
+msgstr ""
+
+#: c-common.c:5989 c-common.c:6045
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr ""
+
+#: c-common.c:6129
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr ""
+
+#: c-common.c:6194
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr ""
+
+#: c-common.c:6218 c-common.c:6250
+msgid "no vector mode with the size and type specified could be found"
+msgstr ""
+
+#: c-common.c:6349
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr ""
+
+#: c-common.c:6364
+#, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr ""
+
+#: c-common.c:6383
+#, c-format
+msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
+msgstr ""
+
+#: c-common.c:6391
+#, c-format
+msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
+msgstr ""
+
+#: c-common.c:6477
+#, c-format
+msgid "null argument where non-null required (arg %lu)"
+msgstr ""
+
+#: c-convert.c:80 c-typeck.c:988 c-typeck.c:4059 cp/typeck.c:1617
+#: cp/typeck.c:5884
+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:337
+#, c-format
+msgid "array `%s' assumed to have one element"
+msgstr ""
+
+#: c-decl.c:523
+#, c-format
+msgid "`struct %s' incomplete in scope ending here"
+msgstr ""
+
+#: c-decl.c:526
+#, c-format
+msgid "`union %s' incomplete in scope ending here"
+msgstr ""
+
+#: c-decl.c:529
+#, c-format
+msgid "`enum %s' incomplete in scope ending here"
+msgstr ""
+
+#: c-decl.c:643 c-decl.c:768 java/decl.c:1403
+#, c-format
+msgid "label `%s' used but not defined"
+msgstr ""
+
+#: c-decl.c:649 c-decl.c:775 java/decl.c:1409
+#, c-format
+msgid "label `%s' defined but not used"
+msgstr ""
+
+#: c-decl.c:890 cp/decl.c:3089
+#, c-format
+msgid "function `%s' redeclared as inline"
+msgstr ""
+
+#: c-decl.c:892 cp/decl.c:3091
+#, c-format
+msgid "previous declaration of function `%s' with attribute noinline"
+msgstr ""
+
+#: c-decl.c:899 cp/decl.c:3098
+#, c-format
+msgid "function `%s' redeclared with attribute noinline"
+msgstr ""
+
+#: c-decl.c:901 cp/decl.c:3100
+#, c-format
+msgid "previous declaration of function `%s' was inline"
+msgstr ""
+
+#: c-decl.c:930 c-decl.c:976
+#, c-format
+msgid "shadowing built-in function `%s'"
+msgstr ""
+
+#: c-decl.c:932
+#, c-format
+msgid "shadowing library function `%s'"
+msgstr ""
+
+#: c-decl.c:938
+#, c-format
+msgid "library function `%s' declared as non-function"
+msgstr ""
+
+#: c-decl.c:942 c-decl.c:945
+#, c-format
+msgid "built-in function `%s' declared as non-function"
+msgstr ""
+
+#: c-decl.c:949 objc/objc-act.c:2384 objc/objc-act.c:6154
+#, c-format
+msgid "`%s' redeclared as different kind of symbol"
+msgstr ""
+
+#: c-decl.c:950 c-decl.c:1141 c-decl.c:1155 c-decl.c:1162 c-decl.c:1307
+#: 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:1045
+#, c-format
+msgid "conflicting types for built-in function `%s'"
+msgstr ""
+
+#: c-decl.c:1088 c-decl.c:1107
+#, c-format
+msgid "conflicting types for `%s'"
+msgstr ""
+
+#: c-decl.c:1130
+msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
+msgstr ""
+
+#: c-decl.c:1136
+msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
+msgstr ""
+
+#: c-decl.c:1154
+#, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr ""
+
+#: c-decl.c:1161
+#, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr ""
+
+#: c-decl.c:1172 c-decl.c:1195
+#, c-format
+msgid "redefinition of `%s'"
+msgstr ""
+
+#: c-decl.c:1175
+#, c-format
+msgid "redeclaration of `%s'"
+msgstr ""
+
+#: c-decl.c:1178
+#, c-format
+msgid "conflicting declarations of `%s'"
+msgstr ""
+
+#: c-decl.c:1222
+#, c-format
+msgid "prototype for `%s' follows"
+msgstr ""
+
+#: c-decl.c:1223 c-decl.c:1231 c-decl.c:1242
+msgid "non-prototype definition here"
+msgstr ""
+
+#: c-decl.c:1230
+#, c-format
+msgid "prototype for `%s' follows and number of arguments doesn't match"
+msgstr ""
+
+#: c-decl.c:1240
+#, c-format
+msgid "prototype for `%s' follows and argument %d doesn't match"
+msgstr ""
+
+#: c-decl.c:1258
+#, c-format
+msgid "`%s' declared inline after being called"
+msgstr ""
+
+#: c-decl.c:1264
+#, c-format
+msgid "`%s' declared inline after its definition"
+msgstr ""
+
+#: c-decl.c:1271
+#, c-format
+msgid "static declaration for `%s' follows non-static"
+msgstr ""
+
+#: c-decl.c:1279
+#, c-format
+msgid "non-static declaration for `%s' follows static"
+msgstr ""
+
+#: c-decl.c:1286
+#, c-format
+msgid "const declaration for `%s' follows non-const"
+msgstr ""
+
+#: c-decl.c:1293
+#, c-format
+msgid "type qualifiers for `%s' conflict with previous decl"
+msgstr ""
+
+#: c-decl.c:1306
+#, c-format
+msgid "redundant redeclaration of `%s' in same scope"
+msgstr ""
+
+#: c-decl.c:1607 java/decl.c:1102
+#, c-format
+msgid "declaration of `%s' shadows a parameter"
+msgstr ""
+
+#: c-decl.c:1610 java/decl.c:1105
+#, c-format
+msgid "declaration of `%s' shadows a symbol from the parameter list"
+msgstr ""
+
+#: c-decl.c:1631 cp/decl.c:4218
+msgid "a parameter"
+msgstr ""
+
+#: c-decl.c:1633 cp/decl.c:4235
+msgid "a previous local"
+msgstr ""
+
+#. XXX shadow warnings in outer-more namespaces
+#: c-decl.c:1637 cp/decl.c:4239
+msgid "a global declaration"
+msgstr ""
+
+#: c-decl.c:1681
+#, c-format
+msgid "nested extern declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:1700 java/decl.c:1055
+#, c-format
+msgid "`%s' used prior to declaration"
+msgstr ""
+
+#: c-decl.c:1714 c-decl.c:1889
+#, c-format
+msgid "`%s' was declared implicitly `extern' and later `static'"
+msgstr ""
+
+#: c-decl.c:1817 cp/decl.c:4075
+msgid "type mismatch with previous external decl"
+msgstr ""
+
+#: c-decl.c:1818
+#, c-format
+msgid "previous external decl of `%s'"
+msgstr ""
+
+#: c-decl.c:1831
+msgid "type mismatch with previous implicit declaration"
+msgstr ""
+
+#: c-decl.c:1833
+#, c-format
+msgid "previous implicit declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:1868
+#, c-format
+msgid "`%s' was previously implicitly declared to return `int'"
+msgstr ""
+
+#: c-decl.c:1893
+#, c-format
+msgid "`%s' was declared `extern' and later `static'"
+msgstr ""
+
+#: c-decl.c:1917
+#, c-format
+msgid "extern declaration of `%s' doesn't match global one"
+msgstr ""
+
+#: c-decl.c:1959
+#, c-format
+msgid "`%s' locally external but globally static"
+msgstr ""
+
+#: c-decl.c:2081
+#, c-format
+msgid "function `%s' was previously declared within a block"
+msgstr ""
+
+#: c-decl.c:2101 c-decl.c:2103
+#, c-format
+msgid "implicit declaration of function `%s'"
+msgstr ""
+
+#: c-decl.c:2182
+#, c-format
+msgid "label %s referenced outside of any function"
+msgstr ""
+
+#: c-decl.c:2239
+#, c-format
+msgid "duplicate label declaration `%s'"
+msgstr ""
+
+#: c-decl.c:2242
+msgid "this is a previous declaration"
+msgstr ""
+
+#: c-decl.c:2665
+msgid "unnamed struct/union that defines no instances"
+msgstr ""
+
+#: c-decl.c:2684
+msgid "useless keyword or type name in empty declaration"
+msgstr ""
+
+#: c-decl.c:2691
+msgid "two types specified in one empty declaration"
+msgstr ""
+
+#: c-decl.c:2696 c-parse.y:753 c-parse.y:755 parse.y:765 parse.y:1836
+#: objc-parse.y:799 objc-parse.y:801 objc-parse.y:3042
+msgid "empty declaration"
+msgstr "leere Deklaration"
+
+#: c-decl.c:2726
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr ""
+
+#: c-decl.c:2728
+#, fuzzy
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "ISO C89 unterstützt nicht »long long«"
+
+#: c-decl.c:2731
+msgid "GCC does not yet properly implement `[*]' array declarators"
+msgstr ""
+
+#: c-decl.c:2750
+msgid "static or type qualifiers in abstract declarator"
+msgstr ""
+
+#: c-decl.c:2824
+#, c-format
+msgid "`%s' is usually a function"
+msgstr ""
+
+#: c-decl.c:2833
+#, c-format
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
+msgstr ""
+
+#: c-decl.c:2839
+#, 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:2846
+#, c-format
+msgid "parameter `%s' is initialized"
+msgstr ""
+
+#: c-decl.c:2866 c-typeck.c:4868
+msgid "variable-sized object may not be initialized"
+msgstr ""
+
+#: c-decl.c:2872
+#, c-format
+msgid "variable `%s' has initializer but incomplete type"
+msgstr ""
+
+#: c-decl.c:2878
+#, c-format
+msgid "elements of array `%s' have incomplete type"
+msgstr ""
+
+#: c-decl.c:2891
+#, c-format
+msgid "declaration of `%s' has `extern' and is initialized"
+msgstr ""
+
+#: c-decl.c:2940 c-decl.c:5705 cp/decl.c:7456 cp/decl.c:14012
+#, c-format
+msgid "inline function `%s' given attribute noinline"
+msgstr ""
+
+#: c-decl.c:3014
+#, c-format
+msgid "initializer fails to determine size of `%s'"
+msgstr ""
+
+#: c-decl.c:3019
+#, c-format
+msgid "array size missing in `%s'"
+msgstr ""
+
+#: c-decl.c:3035
+#, c-format
+msgid "zero or negative size array `%s'"
+msgstr ""
+
+#: c-decl.c:3063
+#, c-format
+msgid "storage size of `%s' isn't known"
+msgstr ""
+
+#: c-decl.c:3073
+#, c-format
+msgid "storage size of `%s' isn't constant"
+msgstr ""
+
+#: c-decl.c:3133
+#, c-format
+msgid "ignoring asm-specifier for non-static local variable `%s'"
+msgstr ""
+
+#: c-decl.c:3198
+#, c-format
+msgid "ISO C forbids parameter `%s' shadowing typedef"
+msgstr ""
+
+#: c-decl.c:3543 cp/decl.c:10568
+msgid "`long long long' is too long for GCC"
+msgstr "»long long long« ist für GCC zu lang"
+
+#: c-decl.c:3548
+msgid "ISO C90 does not support `long long'"
+msgstr "ISO C90 unterstützt nicht »long long«"
+
+#: c-decl.c:3557 c-decl.c:3560 cp/decl.c:10573
+#, c-format
+msgid "duplicate `%s'"
+msgstr ""
+
+#: c-decl.c:3570 cp/decl.c:10580
+msgid "`__thread' before `extern'"
+msgstr ""
+
+#: c-decl.c:3572 cp/decl.c:10582
+msgid "`__thread' before `static'"
+msgstr ""
+
+#: c-decl.c:3580 cp/decl.c:10609
+#, c-format
+msgid "two or more data types in declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:3600 cp/decl.c:10614
+#, c-format
+msgid "`%s' fails to be a typedef or built in type"
+msgstr ""
+
+#: c-decl.c:3639
+#, c-format
+msgid "type defaults to `int' in declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:3668
+#, c-format
+msgid "both long and short specified for `%s'"
+msgstr ""
+
+#: c-decl.c:3672 cp/decl.c:10729
+#, c-format
+msgid "long or short specified with char for `%s'"
+msgstr ""
+
+#: c-decl.c:3679 cp/decl.c:10733
+#, c-format
+msgid "long or short specified with floating type for `%s'"
+msgstr ""
+
+#: c-decl.c:3682
+msgid "the only valid combination is `long double'"
+msgstr ""
+
+#: c-decl.c:3688
+#, c-format
+msgid "both signed and unsigned specified for `%s'"
+msgstr ""
+
+#: c-decl.c:3690 cp/decl.c:10722
+#, c-format
+msgid "long, short, signed or unsigned invalid for `%s'"
+msgstr ""
+
+#: c-decl.c:3696 cp/decl.c:10742
+#, c-format
+msgid "long, short, signed or unsigned used invalidly for `%s'"
+msgstr ""
+
+#: c-decl.c:3714 cp/decl.c:10763
+#, c-format
+msgid "complex invalid for `%s'"
+msgstr ""
+
+#: c-decl.c:3756
+msgid "ISO C90 does not support complex types"
+msgstr "ISO C90 unterstützt nicht komplexe Typen"
+
+#: c-decl.c:3768
+msgid "ISO C does not support plain `complex' meaning `double complex'"
+msgstr ""
+
+#: c-decl.c:3774 c-decl.c:3786
+msgid "ISO C does not support complex integer types"
+msgstr ""
+
+#: c-decl.c:3801 c-decl.c:4267 cp/decl.c:11376
+msgid "duplicate `const'"
+msgstr ""
+
+#: c-decl.c:3803 c-decl.c:4271 cp/decl.c:11380
+msgid "duplicate `restrict'"
+msgstr ""
+
+#: c-decl.c:3805 c-decl.c:4269 cp/decl.c:11378
+msgid "duplicate `volatile'"
+msgstr ""
+
+#: c-decl.c:3833 cp/decl.c:10926
+#, c-format
+msgid "multiple storage classes in declaration of `%s'"
+msgstr ""
+
+#: c-decl.c:3843
+msgid "function definition declared `auto'"
+msgstr ""
+
+#: c-decl.c:3845
+msgid "function definition declared `register'"
+msgstr ""
+
+#: c-decl.c:3847
+msgid "function definition declared `typedef'"
+msgstr ""
+
+#: c-decl.c:3849
+msgid "function definition declared `__thread'"
+msgstr ""
+
+#: c-decl.c:3862
+#, c-format
+msgid "storage class specified for structure field `%s'"
+msgstr ""
+
+#: c-decl.c:3866 cp/decl.c:10973
+#, c-format
+msgid "storage class specified for parameter `%s'"
+msgstr ""
+
+#: c-decl.c:3869 cp/decl.c:10975
+msgid "storage class specified for typename"
+msgstr ""
+
+#: c-decl.c:3881 cp/decl.c:10990
+#, c-format
+msgid "`%s' initialized and declared `extern'"
+msgstr ""
+
+#: c-decl.c:3883 cp/decl.c:10993
+#, c-format
+msgid "`%s' has both `extern' and initializer"
+msgstr ""
+
+#: c-decl.c:3888 cp/decl.c:11001
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr ""
+
+#: c-decl.c:3893 cp/decl.c:10997
+#, c-format
+msgid "nested function `%s' declared `extern'"
+msgstr ""
+
+#: c-decl.c:3899 cp/decl.c:11007
+#, c-format
+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:3938 c-decl.c:4139
+msgid "static or type qualifiers in non-parameter array declarator"
+msgstr ""
+
+#: c-decl.c:3982
+#, c-format
+msgid "declaration of `%s' as array of voids"
+msgstr ""
+
+#: c-decl.c:3988
+#, c-format
+msgid "declaration of `%s' as array of functions"
+msgstr ""
+
+#: c-decl.c:3993 c-decl.c:5261
+msgid "invalid use of structure with flexible array member"
+msgstr ""
+
+#: c-decl.c:4012
+#, c-format
+msgid "size of array `%s' has non-integer type"
+msgstr ""
+
+#: c-decl.c:4017
+#, c-format
+msgid "ISO C forbids zero-size array `%s'"
+msgstr ""
+
+#: c-decl.c:4024
+#, c-format
+msgid "size of array `%s' is negative"
+msgstr ""
+
+#: c-decl.c:4037
+#, c-format
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+msgstr ""
+
+#: c-decl.c:4040
+#, c-format
+msgid "ISO C90 forbids variable-size array `%s'"
+msgstr ""
+
+#: c-decl.c:4070 c-decl.c:4293 cp/decl.c:11585
+#, c-format
+msgid "size of array `%s' is too large"
+msgstr ""
+
+#: c-decl.c:4096
+#, fuzzy
+msgid "ISO C90 does not support flexible array members"
+msgstr "ISO C90 unterstützt nicht komplexe Typen"
+
+#: c-decl.c:4106
+msgid "array type has incomplete element type"
+msgstr ""
+
+#: c-decl.c:4113 c-decl.c:4343
+msgid "ISO C forbids const or volatile function types"
+msgstr ""
+
+#: c-decl.c:4159 cp/decl.c:11133
+#, c-format
+msgid "`%s' declared as function returning a function"
+msgstr ""
+
+#: c-decl.c:4164 cp/decl.c:11138
+#, c-format
+msgid "`%s' declared as function returning an array"
+msgstr ""
+
+#: c-decl.c:4192
+msgid "ISO C forbids qualified void function return type"
+msgstr ""
+
+#: c-decl.c:4196
+msgid "type qualifiers ignored on function return type"
+msgstr ""
+
+#: c-decl.c:4225 c-decl.c:4308 c-decl.c:4432 c-decl.c:4524
+msgid "ISO C forbids qualified function types"
+msgstr ""
+
+#: c-decl.c:4265 cp/decl.c:11372
+msgid "invalid type modifier within pointer declarator"
+msgstr ""
+
+#: c-decl.c:4363 cp/decl.c:11870
+#, c-format
+msgid "variable or field `%s' declared void"
+msgstr ""
+
+#: c-decl.c:4396
+msgid "attributes in parameter array declarator ignored"
+msgstr ""
+
+#: c-decl.c:4421
+msgid "invalid type modifier within array declarator"
+msgstr ""
+
+#: c-decl.c:4466
+#, c-format
+msgid "field `%s' declared as a function"
+msgstr ""
+
+#: c-decl.c:4472
+#, c-format
+msgid "field `%s' has incomplete type"
+msgstr ""
+
+#: c-decl.c:4504 c-decl.c:4506 c-decl.c:4508 c-decl.c:4515
+#, c-format
+msgid "invalid storage class for function `%s'"
+msgstr ""
+
+#: c-decl.c:4530
+msgid "`noreturn' function returns non-void value"
+msgstr ""
+
+#: c-decl.c:4545
+msgid "cannot inline function `main'"
+msgstr ""
+
+#: c-decl.c:4600
+#, c-format
+msgid "variable `%s' declared `inline'"
+msgstr ""
+
+#. A mere warning is sure to result in improper semantics
+#. at runtime. Don't bother to allow this to compile.
+#: c-decl.c:4628 cp/decl.c:9639
+msgid "thread-local storage not supported for this target"
+msgstr ""
+
+#: c-decl.c:4683 c-decl.c:5757
+msgid "function declaration isn't a prototype"
+msgstr ""
+
+#: c-decl.c:4689
+msgid "parameter names (without types) in function declaration"
+msgstr ""
+
+#: c-decl.c:4721 c-decl.c:6127
+#, c-format
+msgid "parameter `%s' has incomplete type"
+msgstr ""
+
+#: c-decl.c:4724
+msgid "parameter has incomplete type"
+msgstr ""
+
+#: c-decl.c:4745
+#, c-format
+msgid "parameter `%s' points to incomplete type"
+msgstr ""
+
+#: c-decl.c:4748
+msgid "parameter points to incomplete type"
+msgstr ""
+
+#: c-decl.c:4813
+#, c-format
+msgid "parameter `%s' has just a forward declaration"
+msgstr ""
+
+#: c-decl.c:4854
+msgid "`void' in parameter list must be the entire list"
+msgstr ""
+
+#: c-decl.c:4885
+#, c-format
+msgid "`struct %s' declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4888
+#, c-format
+msgid "`union %s' declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4891
+#, c-format
+msgid "`enum %s' declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4898
+msgid "anonymous struct declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4900
+msgid "anonymous union declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4902
+msgid "anonymous enum declared inside parameter list"
+msgstr ""
+
+#: c-decl.c:4906
+msgid "its scope is only this definition or declaration, which is probably not what you want"
+msgstr ""
+
+#: c-decl.c:4983
+#, c-format
+msgid "redefinition of `union %s'"
+msgstr ""
+
+#: c-decl.c:4985
+#, c-format
+msgid "redefinition of `struct %s'"
+msgstr ""
+
+#: c-decl.c:5056 cp/decl.c:7228
+msgid "declaration does not declare anything"
+msgstr ""
+
+#: c-decl.c:5098 c-decl.c:5101
+#, c-format
+msgid "%s defined inside parms"
+msgstr ""
+
+#: c-decl.c:5099 c-decl.c:5102 c-decl.c:5113
+msgid "union"
+msgstr ""
+
+#: c-decl.c:5099 c-decl.c:5102
+msgid "structure"
+msgstr ""
+
+#: c-decl.c:5112
+#, c-format
+msgid "%s has no %s"
+msgstr ""
+
+#: c-decl.c:5113
+msgid "struct"
+msgstr ""
+
+#: c-decl.c:5114
+msgid "named members"
+msgstr ""
+
+#: c-decl.c:5114
+msgid "members"
+msgstr ""
+
+#: c-decl.c:5153
+#, c-format
+msgid "nested redefinition of `%s'"
+msgstr ""
+
+#: c-decl.c:5166
+#, c-format
+msgid "bit-field `%s' width not an integer constant"
+msgstr ""
+
+#: c-decl.c:5177
+#, c-format
+msgid "bit-field `%s' has invalid type"
+msgstr ""
+
+#: c-decl.c:5189
+#, c-format
+msgid "bit-field `%s' type invalid in ISO C"
+msgstr ""
+
+#: c-decl.c:5200
+#, c-format
+msgid "negative width in bit-field `%s'"
+msgstr ""
+
+#: c-decl.c:5202
+#, c-format
+msgid "width of `%s' exceeds its type"
+msgstr ""
+
+#: c-decl.c:5204
+#, c-format
+msgid "zero width for bit-field `%s'"
+msgstr ""
+
+#: c-decl.c:5218
+#, c-format
+msgid "`%s' is narrower than values of its type"
+msgstr ""
+
+#: c-decl.c:5252
+msgid "flexible array member in union"
+msgstr ""
+
+#: c-decl.c:5254
+msgid "flexible array member not at end of struct"
+msgstr ""
+
+#: c-decl.c:5256
+msgid "flexible array member in otherwise empty struct"
+msgstr ""
+
+#: c-decl.c:5286
+#, c-format
+msgid "duplicate member `%s'"
+msgstr ""
+
+#: c-decl.c:5330
+msgid "union cannot be made transparent"
+msgstr ""
+
+#. This enum is a named one that has been declared already.
+#: c-decl.c:5435
+#, c-format
+msgid "redeclaration of `enum %s'"
+msgstr ""
+
+#: c-decl.c:5469
+msgid "enum defined inside parms"
+msgstr ""
+
+#: c-decl.c:5502
+msgid "enumeration values exceed range of largest integer"
+msgstr ""
+
+#: c-decl.c:5611
+#, c-format
+msgid "enumerator value for `%s' not integer constant"
+msgstr ""
+
+#: c-decl.c:5624
+msgid "overflow in enumeration values"
+msgstr ""
+
+#: c-decl.c:5629
+msgid "ISO C restricts enumerator values to range of `int'"
+msgstr ""
+
+#: c-decl.c:5711
+msgid "return type is an incomplete type"
+msgstr ""
+
+#: c-decl.c:5719
+msgid "return type defaults to `int'"
+msgstr ""
+
+#: c-decl.c:5766
+#, c-format
+msgid "no previous prototype for `%s'"
+msgstr ""
+
+#: c-decl.c:5773
+#, c-format
+msgid "`%s' was used with no prototype before its definition"
+msgstr ""
+
+#: c-decl.c:5779
+#, c-format
+msgid "no previous declaration for `%s'"
+msgstr ""
+
+#: c-decl.c:5786
+#, c-format
+msgid "`%s' was used with no declaration before its definition"
+msgstr ""
+
+#: c-decl.c:5810 c-decl.c:6363
+#, c-format
+msgid "return type of `%s' is not `int'"
+msgstr ""
+
+#: c-decl.c:5826
+#, c-format
+msgid "first argument of `%s' should be `int'"
+msgstr ""
+
+#: c-decl.c:5835
+#, c-format
+msgid "second argument of `%s' should be `char **'"
+msgstr ""
+
+#: c-decl.c:5844
+#, c-format
+msgid "third argument of `%s' should probably be `char **'"
+msgstr ""
+
+#: c-decl.c:5853
+#, c-format
+msgid "`%s' takes only zero or two arguments"
+msgstr ""
+
+#: c-decl.c:5856
+#, c-format
+msgid "`%s' is normally a non-static function"
+msgstr ""
+
+#: c-decl.c:5954
+msgid "parm types given both in parmlist and separately"
+msgstr ""
+
+#: c-decl.c:5975
+msgid "parameter name omitted"
+msgstr ""
+
+#: c-decl.c:5979 c-decl.c:6081
+#, c-format
+msgid "parameter `%s' declared void"
+msgstr ""
+
+#: c-decl.c:6055
+msgid "parameter name missing from parameter list"
+msgstr ""
+
+#: c-decl.c:6074
+#, c-format
+msgid "multiple parameters named `%s'"
+msgstr ""
+
+#: c-decl.c:6096 c-decl.c:6098
+#, c-format
+msgid "type of `%s' defaults to `int'"
+msgstr ""
+
+#: c-decl.c:6134
+#, c-format
+msgid "declaration for parameter `%s' but no such parameter"
+msgstr ""
+
+#: c-decl.c:6182
+msgid "number of arguments doesn't match prototype"
+msgstr ""
+
+#: c-decl.c:6212
+#, c-format
+msgid "promoted argument `%s' doesn't match prototype"
+msgstr ""
+
+#: c-decl.c:6222
+#, c-format
+msgid "argument `%s' doesn't match prototype"
+msgstr ""
+
+#: c-decl.c:6395 cp/decl.c:14723
+msgid "no return statement in function returning non-void"
+msgstr ""
+
+#: c-decl.c:6578
+msgid "this function may return with or without a value"
+msgstr ""
+
+#: c-decl.c:6598
+#, c-format
+msgid "size of return value of `%s' is %u bytes"
+msgstr ""
+
+#: c-decl.c:6602
+#, c-format
+msgid "size of return value of `%s' is larger than %d bytes"
+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:6657
+msgid "`for' loop initial declaration used outside C99 mode"
+msgstr ""
+
+#: c-decl.c:6681
+#, c-format
+msgid "`struct %s' declared in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6684
+#, c-format
+msgid "`union %s' declared in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6687
+#, c-format
+msgid "`enum %s' declared in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6695
+#, c-format
+msgid "declaration of non-variable `%s' in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6697
+#, c-format
+msgid "declaration of static variable `%s' in `for' loop initial declaration"
+msgstr ""
+
+#: c-decl.c:6699
+#, c-format
+msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
+msgstr ""
+
+#: c-format.c:109 c-format.c:191
+msgid "format string arg not a string type"
+msgstr ""
+
+#: c-format.c:124
+msgid "args to be formatted is not '...'"
+msgstr ""
+
+#: c-format.c:133
+msgid "strftime formats cannot format arguments"
+msgstr ""
+
+#: c-format.c:168 c-format.c:270
+msgid "format string has invalid operand number"
+msgstr ""
+
+#: c-format.c:202
+msgid "function does not return string type"
+msgstr ""
+
+#: c-format.c:233
+msgid "unrecognized format specifier"
+msgstr ""
+
+#: c-format.c:246
+#, c-format
+msgid "`%s' is an unrecognized format function type"
+msgstr ""
+
+#: c-format.c:280
+msgid "format string arg follows the args to be formatted"
+msgstr ""
+
+#: c-format.c:601
+msgid "` ' flag"
+msgstr ""
+
+#: c-format.c:601
+msgid "the ` ' printf flag"
+msgstr ""
+
+#: c-format.c:602 c-format.c:673
+msgid "`+' flag"
+msgstr ""
+
+#: c-format.c:602
+msgid "the `+' printf flag"
+msgstr ""
+
+#: c-format.c:603 c-format.c:649
+msgid "`#' flag"
+msgstr ""
+
+#: c-format.c:603
+msgid "the `#' printf flag"
+msgstr ""
+
+#: c-format.c:604 c-format.c:647
+msgid "`0' flag"
+msgstr ""
+
+#: c-format.c:604
+msgid "the `0' printf flag"
+msgstr ""
+
+#: c-format.c:605 c-format.c:646 c-format.c:676
+msgid "`-' flag"
+msgstr ""
+
+#: c-format.c:605
+msgid "the `-' printf flag"
+msgstr ""
+
+#: c-format.c:606 c-format.c:630
+msgid "`'' flag"
+msgstr ""
+
+#: c-format.c:606
+msgid "the `'' printf flag"
+msgstr ""
+
+#: c-format.c:607 c-format.c:631
+msgid "`I' flag"
+msgstr ""
+
+#: c-format.c:607
+msgid "the `I' printf flag"
+msgstr ""
+
+#: 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:608
+msgid "field width in printf format"
+msgstr ""
+
+#: c-format.c:609
+msgid "precision"
+msgstr ""
+
+#: c-format.c:609
+msgid "precision in printf format"
+msgstr ""
+
+#: c-format.c:610 c-format.c:629 c-format.c:680
+msgid "length modifier"
+msgstr ""
+
+#: c-format.c:610
+msgid "length modifier in printf format"
+msgstr ""
+
+#: c-format.c:626
+msgid "assignment suppression"
+msgstr ""
+
+#: c-format.c:626
+msgid "the assignment suppression scanf feature"
+msgstr ""
+
+#: c-format.c:627
+msgid "`a' flag"
+msgstr ""
+
+#: c-format.c:627
+msgid "the `a' scanf flag"
+msgstr ""
+
+#: c-format.c:628
+msgid "field width in scanf format"
+msgstr ""
+
+#: c-format.c:629
+msgid "length modifier in scanf format"
+msgstr ""
+
+#: c-format.c:630
+msgid "the `'' scanf flag"
+msgstr ""
+
+#: c-format.c:631
+msgid "the `I' scanf flag"
+msgstr ""
+
+#: c-format.c:645
+msgid "`_' flag"
+msgstr ""
+
+#: c-format.c:645
+msgid "the `_' strftime flag"
+msgstr ""
+
+#: c-format.c:646
+msgid "the `-' strftime flag"
+msgstr ""
+
+#: c-format.c:647
+msgid "the `0' strftime flag"
+msgstr ""
+
+#: c-format.c:648 c-format.c:672
+msgid "`^' flag"
+msgstr ""
+
+#: c-format.c:648
+msgid "the `^' strftime flag"
+msgstr ""
+
+#: c-format.c:649
+msgid "the `#' strftime flag"
+msgstr ""
+
+#: c-format.c:650
+msgid "field width in strftime format"
+msgstr ""
+
+#: c-format.c:651
+msgid "`E' modifier"
+msgstr ""
+
+#: c-format.c:651
+msgid "the `E' strftime modifier"
+msgstr ""
+
+#: c-format.c:652
+msgid "`O' modifier"
+msgstr ""
+
+#: c-format.c:652
+msgid "the `O' strftime modifier"
+msgstr ""
+
+#: c-format.c:653
+msgid "the `O' modifier"
+msgstr ""
+
+#: c-format.c:671
+msgid "fill character"
+msgstr ""
+
+#: c-format.c:671
+msgid "fill character in strfmon format"
+msgstr ""
+
+#: c-format.c:672
+msgid "the `^' strfmon flag"
+msgstr ""
+
+#: c-format.c:673
+msgid "the `+' strfmon flag"
+msgstr ""
+
+#: c-format.c:674
+msgid "`(' flag"
+msgstr ""
+
+#: c-format.c:674
+msgid "the `(' strfmon flag"
+msgstr ""
+
+#: c-format.c:675
+msgid "`!' flag"
+msgstr ""
+
+#: c-format.c:675
+msgid "the `!' strfmon flag"
+msgstr ""
+
+#: c-format.c:676
+msgid "the `-' strfmon flag"
+msgstr ""
+
+#: c-format.c:677
+msgid "field width in strfmon format"
+msgstr ""
+
+#: c-format.c:678
+msgid "left precision"
+msgstr ""
+
+#: c-format.c:678
+msgid "left precision in strfmon format"
+msgstr ""
+
+#: c-format.c:679
+msgid "right precision"
+msgstr ""
+
+#: c-format.c:679
+msgid "right precision in strfmon format"
+msgstr ""
+
+#: c-format.c:680
+msgid "length modifier in strfmon format"
+msgstr ""
+
+#: c-format.c:983
+#, c-format
+msgid "function might be possible candidate for `%s' format attribute"
+msgstr ""
+
+#: c-format.c:1107 c-format.c:1128 c-format.c:2112
+msgid "missing $ operand number in format"
+msgstr ""
+
+#: c-format.c:1138
+#, c-format
+msgid "%s does not support %%n$ operand number formats"
+msgstr ""
+
+#: c-format.c:1145
+msgid "operand number out of range in format"
+msgstr ""
+
+#: c-format.c:1168
+#, c-format
+msgid "format argument %d used more than once in %s format"
+msgstr ""
+
+#: c-format.c:1218
+#, c-format
+msgid "format argument %d unused before used argument %d in $-style format"
+msgstr ""
+
+#: c-format.c:1322
+msgid "format not a string literal, format string not checked"
+msgstr ""
+
+#: c-format.c:1336
+msgid "format not a string literal and no format arguments"
+msgstr ""
+
+#: c-format.c:1338
+msgid "format not a string literal, argument types not checked"
+msgstr ""
+
+#: c-format.c:1351
+msgid "too many arguments for format"
+msgstr ""
+
+#: c-format.c:1354
+msgid "unused arguments in $-style format"
+msgstr ""
+
+#: c-format.c:1357
+#, c-format
+msgid "zero-length %s format string"
+msgstr ""
+
+#: c-format.c:1361
+msgid "format is a wide character string"
+msgstr ""
+
+#: c-format.c:1364
+msgid "unterminated format string"
+msgstr ""
+
+#: c-format.c:1581
+msgid "embedded `\\0' in format"
+msgstr ""
+
+#: c-format.c:1596
+#, c-format
+msgid "spurious trailing `%%' in format"
+msgstr ""
+
+#: c-format.c:1635 c-format.c:1872
+#, c-format
+msgid "repeated %s in format"
+msgstr ""
+
+#: c-format.c:1648
+msgid "missing fill character at end of strfmon format"
+msgstr ""
+
+#: 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:1728
+#, c-format
+msgid "zero width in %s format"
+msgstr ""
+
+#: c-format.c:1747
+#, c-format
+msgid "empty left precision in %s format"
+msgstr ""
+
+#: c-format.c:1801
+msgid "field precision"
+msgstr ""
+
+#: c-format.c:1816
+#, c-format
+msgid "empty precision in %s format"
+msgstr ""
+
+#: c-format.c:1856
+#, c-format
+msgid "%s does not support the `%s' %s length modifier"
+msgstr ""
+
+#: c-format.c:1906
+msgid "conversion lacks type at end of format"
+msgstr ""
+
+#: c-format.c:1917
+#, c-format
+msgid "unknown conversion type character `%c' in format"
+msgstr ""
+
+#: c-format.c:1920
+#, c-format
+msgid "unknown conversion type character 0x%x in format"
+msgstr ""
+
+#: c-format.c:1927
+#, c-format
+msgid "%s does not support the `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1943
+#, c-format
+msgid "%s used with `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1952
+#, c-format
+msgid "%s does not support %s"
+msgstr ""
+
+#: c-format.c:1961
+#, c-format
+msgid "%s does not support %s with the `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1994
+#, c-format
+msgid "%s ignored with %s and `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:1998
+#, c-format
+msgid "%s ignored with %s in %s format"
+msgstr ""
+
+#: c-format.c:2004
+#, c-format
+msgid "use of %s and %s together with `%%%c' %s format"
+msgstr ""
+
+#: c-format.c:2008
+#, c-format
+msgid "use of %s and %s together in %s format"
+msgstr ""
+
+#: c-format.c:2027
+#, c-format
+msgid "`%%%c' yields only last 2 digits of year in some locales"
+msgstr ""
+
+#: 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:2046
+#, c-format
+msgid "no closing `]' for `%%[' format"
+msgstr ""
+
+#: c-format.c:2059
+#, c-format
+msgid "use of `%s' length modifier with `%c' type character"
+msgstr ""
+
+#: c-format.c:2080
+#, c-format
+msgid "%s does not support the `%%%s%c' %s format"
+msgstr ""
+
+#: c-format.c:2095
+msgid "operand number specified with suppressed assignment"
+msgstr ""
+
+#: c-format.c:2097
+msgid "operand number specified for format taking no argument"
+msgstr ""
+
+#: c-format.c:2211
+#, c-format
+msgid "writing through null pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2220
+#, c-format
+msgid "reading through null pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2240
+#, c-format
+msgid "writing into constant object (arg %d)"
+msgstr ""
+
+#: c-format.c:2250
+#, c-format
+msgid "extra type qualifiers in format argument (arg %d)"
+msgstr ""
+
+#: c-format.c:2257
+#, c-format
+msgid "format argument is not a pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2259
+#, c-format
+msgid "format argument is not a pointer to a pointer (arg %d)"
+msgstr ""
+
+#: c-format.c:2330
+msgid "pointer"
+msgstr ""
+
+#: c-format.c:2332
+msgid "different type"
+msgstr ""
+
+#: c-format.c:2353
+#, c-format
+msgid "%s is not type %s (arg %d)"
+msgstr ""
+
+#: c-format.c:2356
+#, c-format
+msgid "%s format, %s arg (arg %d)"
+msgstr ""
+
+#: c-lex.c:153
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG ist nicht definiert"
+
+#: c-lex.c:290
+msgid "badly nested C headers from preprocessor"
+msgstr ""
+
+#: c-lex.c:333
+#, c-format
+msgid "ignoring #pragma %s %s"
+msgstr ""
+
+#: c-lex.c:383
+#, c-format
+msgid "universal-character-name '\\U%08x' not valid in identifier"
+msgstr ""
+
+#: c-lex.c:629
+#, c-format
+msgid "universal-character-name '\\u%04x' not valid in identifier"
+msgstr ""
+
+#: c-lex.c:692
+#, c-format
+msgid "stray '%c' in program"
+msgstr ""
+
+#: c-lex.c:694
+#, c-format
+msgid "stray '\\%o' in program"
+msgstr ""
+
+#: c-lex.c:851
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr ""
+
+#: c-lex.c:854
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr ""
+
+#: c-lex.c:870
+#, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr ""
+
+#: c-lex.c:938
+#, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr ""
+
+#: c-lex.c:974 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr "ungültiges Multibyte-Zeichen wird ignoriert"
+
+#: c-opts.c:355
+#, c-format
+msgid "missing argument to \"-%s\""
+msgstr ""
+
+#: c-opts.c:359
+#, c-format
+msgid "no class name specified with \"-%s\""
+msgstr ""
+
+#: c-opts.c:366
+#, c-format
+msgid "missing filename after \"-%s\""
+msgstr ""
+
+#: c-opts.c:371
+#, c-format
+msgid "missing target after \"-%s\""
+msgstr ""
+
+#: c-opts.c:505
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr ""
+
+#: c-opts.c:550
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr ""
+
+#: c-opts.c:937
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr ""
+
+#: c-opts.c:1017
+#, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr ""
+
+#: c-opts.c:1033
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr ""
+
+#: c-opts.c:1153
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr ""
+
+#: c-opts.c:1273
+msgid "output filename specified twice"
+msgstr ""
+
+#: c-opts.c:1387
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1389
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1391
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1393
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1395
+msgid "-Wformat-security ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1397
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr ""
+
+#: c-opts.c:1419
+#, c-format
+msgid "opening output file %s"
+msgstr "Ausgabedatei »%s« wird geöffnet"
+
+#: c-opts.c:1474
+#, c-format
+msgid "opening dependency file %s"
+msgstr ""
+
+#: c-opts.c:1484
+#, c-format
+msgid "closing dependency file %s"
+msgstr ""
+
+#: c-opts.c:1487
+#, c-format
+msgid "when writing output to %s"
+msgstr ""
+
+#: c-opts.c:1567
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "Um Abhängigkeiten zu erzeugen müssen Sie entweder -M oder -MM angeben"
+
+#: c-opts.c:1714
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr ""
+
+#. To keep the lines from getting too long for some compilers, limit
+#. to about 500 characters (6 lines) per chunk.
+#: c-opts.c:1724
+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-opts.c:1733
+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-opts.c:1742
+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-opts.c:1751
+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-opts.c:1756
+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-opts.c:1761
+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-opts.c:1769
+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-opts.c:1774
+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-opts.c:1782
+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-opts.c:1790
+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:55 parse.y:48 objc-parse.y:55
+msgid "syntax error"
+msgstr "Syntaxfehler"
+
+#: /usr/share/bison/bison.simple:179
+msgid "syntax error: cannot back up"
+msgstr ""
+
+#: c-parse.y:325 objc-parse.y:346
+msgid "ISO C forbids an empty source file"
+msgstr "ISO C erlaubt keine leeren Quelldateien"
+
+#: c-parse.y:366 c-typeck.c:6887 objc-parse.y:388
+msgid "argument of `asm' is not a constant string"
+msgstr ""
+
+#: c-parse.y:374 objc-parse.y:396
+msgid "ISO C forbids data definition with no type or storage class"
+msgstr ""
+
+#: c-parse.y:376 objc-parse.y:398
+msgid "data definition has no type or storage class"
+msgstr ""
+
+#: c-parse.y:389 objc-parse.y:411
+msgid "ISO C does not allow extra `;' outside of a function"
+msgstr ""
+
+#: c-parse.y:449 cppexp.c:1312
+msgid "traditional C rejects the unary plus operator"
+msgstr ""
+
+#: c-parse.y:496 objc-parse.y:518
+msgid "`sizeof' applied to a bit-field"
+msgstr ""
+
+#: c-parse.y:583 objc-parse.y:605
+msgid "ISO C forbids omitting the middle term of a ?: expression"
+msgstr ""
+
+#: c-parse.y:632 objc-parse.y:654
+msgid "ISO C89 forbids compound literals"
+msgstr ""
+
+#: c-parse.y:646 objc-parse.y:668
+msgid "ISO C forbids braced-groups within expressions"
+msgstr ""
+
+#: c-parse.y:677 objc-parse.y:699
+msgid "first argument to __builtin_choose_expr not a constant"
+msgstr ""
+
+#: c-parse.y:721 objc-parse.y:767
+msgid "traditional C rejects ISO C style function definitions"
+msgstr ""
+
+#: 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:1916 parse.y:1923 parse.y:1958 objc-parse.y:1031
+#: objc-parse.y:1037 objc-parse.y:1043 objc-parse.y:1049 objc-parse.y:1070
+#: objc-parse.y:1076 objc-parse.y:1082 objc-parse.y:1088 objc-parse.y:1121
+#: objc-parse.y:1127 objc-parse.y:1133 objc-parse.y:1139 objc-parse.y:1184
+#: objc-parse.y:1190 objc-parse.y:1196 objc-parse.y:1202
+#, c-format
+msgid "`%s' is not at beginning of declaration"
+msgstr "»%s« ist nicht am Beginn einer Deklaration"
+
+#: c-parse.y:1441 objc-parse.y:1496
+msgid "ISO C forbids empty initializer braces"
+msgstr ""
+
+#: c-parse.y:1455 objc-parse.y:1510
+msgid "ISO C89 forbids specifying subobject to initialize"
+msgstr ""
+
+#: c-parse.y:1458 objc-parse.y:1513
+msgid "obsolete use of designated initializer without `='"
+msgstr ""
+
+#: c-parse.y:1462 objc-parse.y:1517
+msgid "obsolete use of designated initializer with `:'"
+msgstr ""
+
+#: c-parse.y:1489 objc-parse.y:1544
+msgid "ISO C forbids specifying range of elements to initialize"
+msgstr ""
+
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1552 objc-parse.y:1583
+msgid "ISO C forbids nested functions"
+msgstr "ISO C verbietet verschachtelte Funktionen"
+
+#: c-parse.y:1703 objc-parse.y:1760
+msgid "ISO C forbids forward references to `enum' types"
+msgstr ""
+
+#: c-parse.y:1715 parse.y:2386 objc-parse.y:1772
+msgid "comma at end of enumerator list"
+msgstr ""
+
+#: c-parse.y:1723 objc-parse.y:1780
+msgid "no semicolon at end of struct or union"
+msgstr ""
+
+#: c-parse.y:1732 objc-parse.y:1789 objc-parse.y:2864
+msgid "extra semicolon in struct or union specified"
+msgstr ""
+
+#: c-parse.y:1745 objc-parse.y:1816
+msgid "ISO C doesn't support unnamed structs/unions"
+msgstr ""
+
+#: c-parse.y:1754 objc-parse.y:1825
+msgid "ISO C forbids member declarations with no members"
+msgstr ""
+
+#: c-parse.y:1913 objc-parse.y:1984
+msgid "deprecated use of label at end of compound statement"
+msgstr ""
+
+#: c-parse.y:1930 objc-parse.y:2001
+msgid "ISO C89 forbids mixed declarations and code"
+msgstr ""
+
+#: c-parse.y:2005 objc-parse.y:2080
+msgid "ISO C forbids label declarations"
+msgstr ""
+
+#: c-parse.y:2055 parse.y:1628 objc-parse.y:2130
+msgid "braced-group within expression allowed only inside a function"
+msgstr ""
+
+#: c-parse.y:2182 objc-parse.y:2257
+msgid "empty body in an else-statement"
+msgstr ""
+
+#: c-parse.y:2303 objc-parse.y:2378
+msgid "ISO C forbids `goto *expr;'"
+msgstr "ISO C verbietet »goto *expr;«"
+
+#: c-parse.y:2403 objc-parse.y:2478
+msgid "ISO C forbids forward parameter declarations"
+msgstr ""
+
+#. Gcc used to allow this as an extension. However, it does
+#. not work for all targets, and thus has been disabled.
+#. Also, since func (...) and func () are indistinguishable,
+#. 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:2429 objc-parse.y:2504
+msgid "ISO C requires a named argument before `...'"
+msgstr ""
+
+#: c-parse.y:2526 objc-parse.y:2601
+msgid "`...' in old-style identifier list"
+msgstr ""
+
+#: /usr/share/bison/bison.simple:795
+msgid "parse error; also virtual memory exhausted"
+msgstr ""
+
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
+msgid "parse error"
+msgstr ""
+
+#: /usr/share/bison/bison.simple:924
+msgid "parser stack overflow"
+msgstr ""
+
+#: c-parse.y:2838 cp/spew.c:1525 objc-parse.y:3537
+#, c-format
+msgid "%s at end of input"
+msgstr "%s am Ende der Eingabe"
+
+#: c-parse.y:2844 cp/spew.c:1533 objc-parse.y:3543
+#, c-format
+msgid "%s before %s'%c'"
+msgstr "%s vor %s'%c'"
+
+#: c-parse.y:2846 cp/spew.c:1535 objc-parse.y:3545
+#, c-format
+msgid "%s before %s'\\x%x'"
+msgstr "%s vor %s'\\x%x'"
+
+#: c-parse.y:2850 cp/spew.c:1542 objc-parse.y:3549
+#, c-format
+msgid "%s before string constant"
+msgstr ""
+
+#: c-parse.y:2852 cp/spew.c:1544 objc-parse.y:3551
+#, c-format
+msgid "%s before numeric constant"
+msgstr ""
+
+#: c-parse.y:2854 objc-parse.y:3553
+#, c-format
+msgid "%s before \"%s\""
+msgstr "%s vor \"%s\""
+
+#: c-parse.y:2856 objc-parse.y:3555
+#, c-format
+msgid "%s before '%s' token"
+msgstr ""
+
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr ""
+
+#: c-parse.y:3047 objc-parse.y:3779
+#, c-format
+msgid "syntax error at '%s' token"
+msgstr ""
+
+#: c-pragma.c:107
+msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
+msgstr ""
+
+#: c-pragma.c:125
+#, c-format
+msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
+msgstr ""
+
+#: c-pragma.c:145
+msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+msgstr ""
+
+#: c-pragma.c:147
+msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+msgstr ""
+
+#: c-pragma.c:167
+msgid "missing '(' after '#pragma pack' - ignored"
+msgstr ""
+
+#: c-pragma.c:180 c-pragma.c:230
+msgid "malformed '#pragma pack' - ignored"
+msgstr ""
+
+#: c-pragma.c:185
+msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
+msgstr ""
+
+#: c-pragma.c:187
+msgid "malformed '#pragma pack(pop[, id])' - ignored"
+msgstr ""
+
+#: c-pragma.c:196
+#, c-format
+msgid "unknown action '%s' for '#pragma pack' - ignored"
+msgstr ""
+
+#: c-pragma.c:233
+msgid "junk at end of '#pragma pack'"
+msgstr ""
+
+#: c-pragma.c:247
+#, c-format
+msgid "alignment must be a small power of two, not %d"
+msgstr ""
+
+#: 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:330
+msgid "junk at end of #pragma weak"
+msgstr ""
+
+#: c-pragma.c:365 c-pragma.c:370
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr ""
+
+#: c-pragma.c:375
+msgid "junk at end of #pragma redefine_extname"
+msgstr ""
+
+#: c-pragma.c:382 c-pragma.c:463
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr ""
+
+#: c-pragma.c:413
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr ""
+
+#: c-pragma.c:418
+msgid "junk at end of #pragma extern_prefix"
+msgstr ""
+
+#: c-pragma.c:450
+msgid "asm declaration conflicts with previous rename"
+msgstr ""
+
+#: c-semantics.c:565
+msgid "break statement not within loop or switch"
+msgstr ""
+
+#: c-semantics.c:583
+msgid "continue statement not within a loop"
+msgstr ""
+
+#: c-semantics.c:678
+msgid "destructor needed for `%#D'"
+msgstr ""
+
+#: c-semantics.c:679
+msgid "where case label appears here"
+msgstr ""
+
+#: c-semantics.c:682
+msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
+msgstr ""
+
+#: c-semantics.c:725 c-typeck.c:6913 cp/semantics.c:897
+#, c-format
+msgid "%s qualifier ignored on asm"
+msgstr ""
+
+#: c-typeck.c:123
+#, c-format
+msgid "`%s' has an incomplete type"
+msgstr ""
+
+#: c-typeck.c:145 cp/call.c:2849
+msgid "invalid use of void expression"
+msgstr ""
+
+#: c-typeck.c:153
+msgid "invalid use of flexible array member"
+msgstr ""
+
+#: c-typeck.c:159
+msgid "invalid use of array with unspecified bounds"
+msgstr ""
+
+#: c-typeck.c:167
+#, c-format
+msgid "invalid use of undefined type `%s %s'"
+msgstr ""
+
+#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
+#: c-typeck.c:171
+#, c-format
+msgid "invalid use of incomplete typedef `%s'"
+msgstr ""
+
+#: c-typeck.c:424 c-typeck.c:438
+msgid "function types not truly compatible in ISO C"
+msgstr ""
+
+#: c-typeck.c:603
+msgid "types are not quite compatible"
+msgstr ""
+
+#: c-typeck.c:757 c-typeck.c:2687
+msgid "arithmetic on pointer to an incomplete type"
+msgstr ""
+
+#: c-typeck.c:1136
+#, c-format
+msgid "%s has no member named `%s'"
+msgstr ""
+
+#: c-typeck.c:1172
+#, c-format
+msgid "request for member `%s' in something not a structure or union"
+msgstr ""
+
+#: c-typeck.c:1204
+msgid "dereferencing pointer to incomplete type"
+msgstr ""
+
+#: c-typeck.c:1208
+msgid "dereferencing `void *' pointer"
+msgstr ""
+
+#: c-typeck.c:1225 cp/typeck.c:2366
+#, c-format
+msgid "invalid type argument of `%s'"
+msgstr ""
+
+#: c-typeck.c:1244 cp/typeck.c:2392
+msgid "subscript missing in array reference"
+msgstr ""
+
+#: c-typeck.c:1265 cp/typeck.c:2434
+msgid "array subscript has type `char'"
+msgstr ""
+
+#: c-typeck.c:1273 c-typeck.c:1362 cp/typeck.c:2441 cp/typeck.c:2520
+msgid "array subscript is not an integer"
+msgstr ""
+
+#: c-typeck.c:1306
+msgid "ISO C forbids subscripting `register' array"
+msgstr ""
+
+#: c-typeck.c:1308
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr ""
+
+#: c-typeck.c:1341
+msgid "subscript has type `char'"
+msgstr ""
+
+#: c-typeck.c:1357 cp/typeck.c:2515
+msgid "subscripted value is neither array nor pointer"
+msgstr ""
+
+#: c-typeck.c:1411
+#, c-format
+msgid "`%s' undeclared here (not in a function)"
+msgstr ""
+
+#: c-typeck.c:1418
+#, c-format
+msgid "`%s' undeclared (first use in this function)"
+msgstr ""
+
+#: c-typeck.c:1423
+msgid "(Each undeclared identifier is reported only once"
+msgstr ""
+
+#: c-typeck.c:1424
+msgid "for each function it appears in.)"
+msgstr ""
+
+#: c-typeck.c:1441
+#, c-format
+msgid "local declaration of `%s' hides instance variable"
+msgstr ""
+
+#: c-typeck.c:1518
+msgid "called object is not a function"
+msgstr ""
+
+#: c-typeck.c:1604 cp/typeck.c:2826
+msgid "too many arguments to function"
+msgstr ""
+
+#: c-typeck.c:1625
+#, c-format
+msgid "type of formal parameter %d is incomplete"
+msgstr ""
+
+#: c-typeck.c:1638
+#, c-format
+msgid "%s as integer rather than floating due to prototype"
+msgstr ""
+
+#: c-typeck.c:1641
+#, c-format
+msgid "%s as integer rather than complex due to prototype"
+msgstr ""
+
+#: c-typeck.c:1644
+#, c-format
+msgid "%s as complex rather than floating due to prototype"
+msgstr ""
+
+#: c-typeck.c:1647
+#, c-format
+msgid "%s as floating rather than integer due to prototype"
+msgstr ""
+
+#: c-typeck.c:1650
+#, c-format
+msgid "%s as complex rather than integer due to prototype"
+msgstr ""
+
+#: c-typeck.c:1653
+#, c-format
+msgid "%s as floating rather than complex due to prototype"
+msgstr ""
+
+#: c-typeck.c:1663
+#, c-format
+msgid "%s as `float' rather than `double' due to prototype"
+msgstr ""
+
+#: c-typeck.c:1681
+#, c-format
+msgid "%s with different width due to prototype"
+msgstr ""
+
+#: c-typeck.c:1715
+#, c-format
+msgid "%s as unsigned due to prototype"
+msgstr ""
+
+#: c-typeck.c:1717
+#, c-format
+msgid "%s as signed due to prototype"
+msgstr ""
+
+#: c-typeck.c:1751 cp/typeck.c:2930
+msgid "too few arguments to function"
+msgstr ""
+
+#: c-typeck.c:1793
+msgid "suggest parentheses around + or - inside shift"
+msgstr ""
+
+#: c-typeck.c:1800
+msgid "suggest parentheses around && within ||"
+msgstr ""
+
+#: c-typeck.c:1809
+msgid "suggest parentheses around arithmetic in operand of |"
+msgstr ""
+
+#: c-typeck.c:1812
+msgid "suggest parentheses around comparison in operand of |"
+msgstr ""
+
+#: c-typeck.c:1821
+msgid "suggest parentheses around arithmetic in operand of ^"
+msgstr ""
+
+#: c-typeck.c:1824
+msgid "suggest parentheses around comparison in operand of ^"
+msgstr ""
+
+#: c-typeck.c:1831
+msgid "suggest parentheses around + or - in operand of &"
+msgstr ""
+
+#: c-typeck.c:1834
+msgid "suggest parentheses around comparison in operand of &"
+msgstr ""
+
+#: c-typeck.c:1841
+msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
+msgstr ""
+
+#: c-typeck.c:2001 c-typeck.c:2036
+msgid "division by zero"
+msgstr "Teilung durch Null"
+
+#: c-typeck.c:2081 cp/typeck.c:3191
+msgid "right shift count is negative"
+msgstr ""
+
+#: c-typeck.c:2088 cp/typeck.c:3197
+msgid "right shift count >= width of type"
+msgstr ""
+
+#: c-typeck.c:2109 cp/typeck.c:3216
+msgid "left shift count is negative"
+msgstr ""
+
+#: c-typeck.c:2112 cp/typeck.c:3218
+msgid "left shift count >= width of type"
+msgstr ""
+
+#: c-typeck.c:2133
+msgid "shift count is negative"
+msgstr ""
+
+#: c-typeck.c:2135
+msgid "shift count >= width of type"
+msgstr ""
+
+#: c-typeck.c:2152 cp/typeck.c:3253
+msgid "comparing floating point with == or != is unsafe"
+msgstr ""
+
+#: c-typeck.c:2178 c-typeck.c:2184
+msgid "ISO C forbids comparison of `void *' with function pointer"
+msgstr ""
+
+#: c-typeck.c:2187 c-typeck.c:2227 c-typeck.c:2255
+msgid "comparison of distinct pointer types lacks a cast"
+msgstr ""
+
+#: c-typeck.c:2201 c-typeck.c:2206 c-typeck.c:2275 c-typeck.c:2280
+msgid "comparison between pointer and integer"
+msgstr ""
+
+#: c-typeck.c:2222 c-typeck.c:2250
+msgid "ISO C forbids ordered comparisons of pointers to functions"
+msgstr ""
+
+#: c-typeck.c:2247
+msgid "comparison of complete and incomplete pointers"
+msgstr ""
+
+#: c-typeck.c:2263 c-typeck.c:2270
+msgid "ordered comparison of pointer with integer zero"
+msgstr ""
+
+#: c-typeck.c:2294 cp/typeck.c:3386
+msgid "unordered comparison on non-floating point argument"
+msgstr ""
+
+#: c-typeck.c:2505
+msgid "comparison between signed and unsigned"
+msgstr ""
+
+#: c-typeck.c:2551 cp/typeck.c:3630
+msgid "comparison of promoted ~unsigned with constant"
+msgstr ""
+
+#: c-typeck.c:2559 cp/typeck.c:3638
+msgid "comparison of promoted ~unsigned with unsigned"
+msgstr ""
+
+#: c-typeck.c:2639
+msgid "pointer of type `void *' used in subtraction"
+msgstr ""
+
+#: c-typeck.c:2641
+msgid "pointer to a function used in subtraction"
+msgstr ""
+
+#: c-typeck.c:2738
+msgid "wrong type argument to unary plus"
+msgstr ""
+
+#: c-typeck.c:2751
+msgid "wrong type argument to unary minus"
+msgstr ""
+
+#: c-typeck.c:2768
+msgid "ISO C does not support `~' for complex conjugation"
+msgstr ""
+
+#: c-typeck.c:2774
+msgid "wrong type argument to bit-complement"
+msgstr ""
+
+#: c-typeck.c:2783
+msgid "wrong type argument to abs"
+msgstr ""
+
+#: c-typeck.c:2795
+msgid "wrong type argument to conjugation"
+msgstr ""
+
+#: c-typeck.c:2809
+msgid "wrong type argument to unary exclamation mark"
+msgstr ""
+
+#: c-typeck.c:2852
+msgid "ISO C does not support `++' and `--' on complex types"
+msgstr ""
+
+#: c-typeck.c:2867 c-typeck.c:2899
+msgid "wrong type argument to increment"
+msgstr ""
+
+#: c-typeck.c:2869 c-typeck.c:2901
+msgid "wrong type argument to decrement"
+msgstr ""
+
+#: c-typeck.c:2890
+msgid "increment of pointer to unknown structure"
+msgstr ""
+
+#: c-typeck.c:2892
+msgid "decrement of pointer to unknown structure"
+msgstr ""
+
+#: c-typeck.c:3029
+msgid "ISO C forbids the address of a cast expression"
+msgstr ""
+
+#: c-typeck.c:3039
+msgid "invalid lvalue in unary `&'"
+msgstr ""
+
+#: c-typeck.c:3071
+#, c-format
+msgid "attempt to take address of bit-field structure member `%s'"
+msgstr ""
+
+#: c-typeck.c:3180 c-typeck.c:4646 c-typeck.c:4662 c-typeck.c:4678
+#: final.c:3146 final.c:3148 gcc.c:4378 rtl-error.c:122 toplev.c:1694
+#: config/cris/cris.c:545 cp/spew.c:1538 cp/typeck.c:4364 java/expr.c:364
+#: java/verify.c:1467 java/verify.c:1468 java/verify.c:1483
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: c-typeck.c:3241
+msgid "ISO C forbids use of conditional expressions as lvalues"
+msgstr ""
+
+#: c-typeck.c:3244
+msgid "ISO C forbids use of compound expressions as lvalues"
+msgstr ""
+
+#: c-typeck.c:3247
+msgid "ISO C forbids use of cast expressions as lvalues"
+msgstr ""
+
+#: c-typeck.c:3264
+#, c-format
+msgid "%s of read-only member `%s'"
+msgstr ""
+
+#: c-typeck.c:3268
+#, c-format
+msgid "%s of read-only variable `%s'"
+msgstr ""
+
+#: c-typeck.c:3271
+#, c-format
+msgid "%s of read-only location"
+msgstr ""
+
+#: c-typeck.c:3290
+#, c-format
+msgid "cannot take address of bit-field `%s'"
+msgstr ""
+
+#: c-typeck.c:3318
+#, c-format
+msgid "global register variable `%s' used in nested function"
+msgstr ""
+
+#: c-typeck.c:3322
+#, c-format
+msgid "register variable `%s' used in nested function"
+msgstr ""
+
+#: c-typeck.c:3329
+#, c-format
+msgid "address of global register variable `%s' requested"
+msgstr ""
+
+#: c-typeck.c:3341
+msgid "cannot put object with volatile field into register"
+msgstr ""
+
+#: c-typeck.c:3345
+#, c-format
+msgid "address of register variable `%s' requested"
+msgstr ""
+
+#: c-typeck.c:3453
+msgid "signed and unsigned type in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3460
+msgid "ISO C forbids conditional expr with only one void side"
+msgstr ""
+
+#: c-typeck.c:3476 c-typeck.c:3483
+msgid "ISO C forbids conditional expr between `void *' and function pointer"
+msgstr ""
+
+#: c-typeck.c:3489
+msgid "pointer type mismatch in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3496 c-typeck.c:3506
+msgid "pointer/integer type mismatch in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3520
+msgid "type mismatch in conditional expression"
+msgstr ""
+
+#: c-typeck.c:3591 cp/typeck.c:4620
+msgid "left-hand operand of comma expression has no effect"
+msgstr ""
+
+#: c-typeck.c:3635
+msgid "cast specifies array type"
+msgstr ""
+
+#: c-typeck.c:3641
+msgid "cast specifies function type"
+msgstr ""
+
+#: c-typeck.c:3651
+msgid "ISO C forbids casting nonscalar to the same type"
+msgstr ""
+
+#: c-typeck.c:3670
+msgid "ISO C forbids casts to union type"
+msgstr ""
+
+#: c-typeck.c:3685
+msgid "cast to union type from type not present in union"
+msgstr ""
+
+#: c-typeck.c:3736
+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:3741
+msgid "cast discards qualifiers from pointer target type"
+msgstr ""
+
+#: c-typeck.c:3756
+msgid "cast increases required alignment of target type"
+msgstr ""
+
+#: c-typeck.c:3762 cp/typeck.c:5050
+msgid "cast from pointer to integer of different size"
+msgstr ""
+
+#: c-typeck.c:3767
+msgid "cast does not match function type"
+msgstr ""
+
+#: c-typeck.c:3774 cp/typeck.c:5057
+msgid "cast to pointer from integer of different size"
+msgstr ""
+
+#: c-typeck.c:3786
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr ""
+
+#: c-typeck.c:3790
+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:3949
+msgid "invalid lvalue in assignment"
+msgstr ""
+
+#. Convert new value to destination type.
+#: c-typeck.c:3958 c-typeck.c:3983 c-typeck.c:4000 cp/typeck.c:5168
+#: cp/typeck.c:5317
+msgid "assignment"
+msgstr ""
+
+#: c-typeck.c:4070
+msgid "cannot pass rvalue to reference parameter"
+msgstr ""
+
+#: c-typeck.c:4174 c-typeck.c:4241
+#, c-format
+msgid "%s makes qualified function pointer from unqualified"
+msgstr ""
+
+#: c-typeck.c:4178 c-typeck.c:4221
+#, c-format
+msgid "%s discards qualifiers from pointer target type"
+msgstr ""
+
+#: c-typeck.c:4184
+msgid "ISO C prohibits argument conversion to union type"
+msgstr ""
+
+#: c-typeck.c:4213
+#, c-format
+msgid "ISO C forbids %s between function pointer and `void *'"
+msgstr ""
+
+#: c-typeck.c:4230
+#, c-format
+msgid "pointer targets in %s differ in signedness"
+msgstr ""
+
+#: c-typeck.c:4246
+#, c-format
+msgid "%s from incompatible pointer type"
+msgstr ""
+
+#: c-typeck.c:4262
+#, c-format
+msgid "%s makes pointer from integer without a cast"
+msgstr ""
+
+#: c-typeck.c:4270
+#, c-format
+msgid "%s makes integer from pointer without a cast"
+msgstr ""
+
+#: c-typeck.c:4284 c-typeck.c:4287
+#, c-format
+msgid "incompatible type for argument %d of `%s'"
+msgstr ""
+
+#: c-typeck.c:4291
+#, c-format
+msgid "incompatible type for argument %d of indirect function call"
+msgstr ""
+
+#: c-typeck.c:4295
+#, c-format
+msgid "incompatible types in %s"
+msgstr ""
+
+#. Function name is known; supply it.
+#: c-typeck.c:4353
+#, c-format
+msgid "passing arg of `%s'"
+msgstr ""
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4363
+msgid "passing arg of pointer to function"
+msgstr ""
+
+#. Function name is known; supply it.
+#: c-typeck.c:4371
+#, c-format
+msgid "passing arg %d of `%s'"
+msgstr ""
+
+#. Function name unknown (call through ptr); just give arg number.
+#: c-typeck.c:4381
+#, c-format
+msgid "passing arg %d of pointer to function"
+msgstr ""
+
+#: c-typeck.c:4447
+msgid "initializer for static variable is not constant"
+msgstr ""
+
+#: c-typeck.c:4453
+msgid "initializer for static variable uses complicated arithmetic"
+msgstr ""
+
+#: c-typeck.c:4461
+msgid "aggregate initializer is not constant"
+msgstr ""
+
+#: c-typeck.c:4463
+msgid "aggregate initializer uses complicated arithmetic"
+msgstr ""
+
+#: c-typeck.c:4470
+msgid "traditional C rejects automatic aggregate initialization"
+msgstr ""
+
+#: c-typeck.c:4649 c-typeck.c:4665 c-typeck.c:4681
+#, c-format
+msgid "(near initialization for `%s')"
+msgstr ""
+
+#: c-typeck.c:4732 cp/typeck2.c:487
+msgid "char-array initialized from wide string"
+msgstr ""
+
+#: c-typeck.c:4739 cp/typeck2.c:494
+msgid "int-array initialized from non-wide string"
+msgstr ""
+
+#: c-typeck.c:4757 cp/typeck2.c:510
+msgid "initializer-string for array of chars is too long"
+msgstr ""
+
+#: c-typeck.c:4795
+msgid "array initialized from non-constant array expression"
+msgstr ""
+
+#: c-typeck.c:4812 c-typeck.c:4814 c-typeck.c:4830 c-typeck.c:4851
+#: c-typeck.c:6252
+msgid "initializer element is not constant"
+msgstr ""
+
+#: c-typeck.c:4846
+msgid "initialization"
+msgstr ""
+
+#: c-typeck.c:4857 c-typeck.c:6257
+msgid "initializer element is not computable at load time"
+msgstr ""
+
+#: c-typeck.c:4872 cp/typeck2.c:587
+msgid "invalid initializer"
+msgstr ""
+
+#: c-typeck.c:5366
+msgid "extra brace group at end of initializer"
+msgstr ""
+
+#: c-typeck.c:5386
+msgid "missing braces around initializer"
+msgstr ""
+
+#: c-typeck.c:5446
+msgid "braces around scalar initializer"
+msgstr ""
+
+#: c-typeck.c:5494
+msgid "initialization of flexible array member in a nested context"
+msgstr ""
+
+#: c-typeck.c:5496
+msgid "initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:5527
+msgid "missing initializer"
+msgstr ""
+
+#: c-typeck.c:5553
+msgid "empty scalar initializer"
+msgstr ""
+
+#: c-typeck.c:5558
+msgid "extra elements in scalar initializer"
+msgstr ""
+
+#: c-typeck.c:5644
+msgid "initialization designators may not nest"
+msgstr ""
+
+#: c-typeck.c:5665 c-typeck.c:5736
+msgid "array index in non-array initializer"
+msgstr ""
+
+#: c-typeck.c:5670 c-typeck.c:5788
+msgid "field name not in record or union initializer"
+msgstr ""
+
+#: c-typeck.c:5732 c-typeck.c:5734
+msgid "nonconstant array index in initializer"
+msgstr ""
+
+#: c-typeck.c:5739
+msgid "array index in initializer exceeds array bounds"
+msgstr ""
+
+#: c-typeck.c:5750
+msgid "empty index range in initializer"
+msgstr ""
+
+#: c-typeck.c:5759
+msgid "array index range in initializer exceeds array bounds"
+msgstr ""
+
+#: c-typeck.c:5800
+#, c-format
+msgid "unknown field `%s' specified in initializer"
+msgstr ""
+
+#: c-typeck.c:5837 c-typeck.c:5858 c-typeck.c:6319
+msgid "initialized field with side-effects overwritten"
+msgstr ""
+
+#: c-typeck.c:6529
+msgid "excess elements in char array initializer"
+msgstr ""
+
+#: c-typeck.c:6536 c-typeck.c:6582
+msgid "excess elements in struct initializer"
+msgstr ""
+
+#: c-typeck.c:6597
+msgid "non-static initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:6664
+msgid "excess elements in union initializer"
+msgstr ""
+
+#: c-typeck.c:6685
+msgid "traditional C rejects initialization of unions"
+msgstr ""
+
+#: c-typeck.c:6748
+msgid "excess elements in array initializer"
+msgstr ""
+
+#: c-typeck.c:6777
+msgid "excess elements in vector initializer"
+msgstr ""
+
+#: c-typeck.c:6799
+msgid "excess elements in scalar initializer"
+msgstr ""
+
+#: c-typeck.c:6906
+msgid "asm template is not a string constant"
+msgstr ""
+
+#: c-typeck.c:6938
+msgid "invalid lvalue in asm statement"
+msgstr ""
+
+#: c-typeck.c:7013
+msgid "modification by `asm'"
+msgstr ""
+
+#: c-typeck.c:7032 cp/typeck.c:6181
+msgid "function declared `noreturn' has a `return' statement"
+msgstr ""
+
+#: c-typeck.c:7039
+msgid "`return' with no value, in function returning non-void"
+msgstr ""
+
+#: c-typeck.c:7045
+msgid "`return' with a value, in function returning void"
+msgstr ""
+
+#: c-typeck.c:7049
+msgid "return"
+msgstr ""
+
+#: c-typeck.c:7101
+msgid "function returns address of local variable"
+msgstr ""
+
+#: c-typeck.c:7157 cp/semantics.c:555
+msgid "switch quantity not an integer"
+msgstr ""
+
+#: c-typeck.c:7167
+msgid "`long' switch expression not converted to `int' in ISO C"
+msgstr ""
+
+#: c-typeck.c:7202 cp/decl.c:5237
+msgid "case label not within a switch statement"
+msgstr ""
+
+#: c-typeck.c:7204 cp/decl.c:5242
+msgid "`default' label not within a switch statement"
+msgstr ""
+
+#: calls.c:1927 tree-inline.c:1176
+#, c-format
+msgid "inlining failed in call to `%s'"
+msgstr ""
+
+#: calls.c:1928 calls.c:2264 tree-inline.c:1177
+msgid "called from here"
+msgstr ""
+
+#: calls.c:2263
+#, c-format
+msgid "can't inline call to `%s'"
+msgstr ""
+
+#: calls.c:2293
+msgid "function call has aggregate value"
+msgstr ""
+
+#: 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:1774
+#, c-format
+msgid "bb %d on wrong place"
+msgstr ""
+
+#: cfgrtl.c:1780
+#, c-format
+msgid "prev_bb of %d should be %d, not %d"
+msgstr ""
+
+#: cfgrtl.c:1800
+#, c-format
+msgid "end insn %d for block %d not found in the insn stream"
+msgstr ""
+
+#: cfgrtl.c:1814
+#, c-format
+msgid "insn %d is in multiple basic blocks (%d and %d)"
+msgstr ""
+
+#: cfgrtl.c:1826
+#, c-format
+msgid "head insn %d for block %d not found in the insn stream"
+msgstr ""
+
+#: cfgrtl.c:1848
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr ""
+
+#: cfgrtl.c:1855
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1861
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1869
+#, c-format
+msgid "verify_flow_info: Duplicate edge %i->%i"
+msgstr ""
+
+#: cfgrtl.c:1875
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1881
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1911
+#, c-format
+msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+msgstr ""
+
+#: cfgrtl.c:1926
+#, c-format
+msgid "verify_flow_info: Incorrect fallthru %i->%i"
+msgstr ""
+
+#: cfgrtl.c:1928
+msgid "wrong insn in the fallthru edge"
+msgstr ""
+
+#: cfgrtl.c:1935
+#, c-format
+msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+msgstr ""
+
+#: cfgrtl.c:1951
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr ""
+
+#: cfgrtl.c:1959
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr ""
+
+#: cfgrtl.c:1964
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1969
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1975
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1980
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1989
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr ""
+
+#: cfgrtl.c:2004
+#, c-format
+msgid "missing barrier after block %i"
+msgstr ""
+
+#: cfgrtl.c:2014
+#, c-format
+msgid "basic block %d pred edge is corrupted"
+msgstr ""
+
+#: cfgrtl.c:2031
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is NULL"
+msgstr ""
+
+#: cfgrtl.c:2035
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is %i"
+msgstr ""
+
+#: cfgrtl.c:2049 cfgrtl.c:2059
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+msgstr ""
+
+#: cfgrtl.c:2072
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+msgstr ""
+
+#: cfgrtl.c:2084
+#, c-format
+msgid "in basic block %d:"
+msgstr ""
+
+#: cfgrtl.c:2085
+msgid "flow control insn inside a basic block"
+msgstr ""
+
+#: cfgrtl.c:2104
+#, c-format
+msgid "basic block %i edge lists are corrupted"
+msgstr ""
+
+#: cfgrtl.c:2119
+msgid "basic blocks not numbered consecutively"
+msgstr ""
+
+#: cfgrtl.c:2144
+msgid "insn outside basic block"
+msgstr ""
+
+#: cfgrtl.c:2152
+msgid "return not followed by barrier"
+msgstr ""
+
+#: cfgrtl.c:2157
+#, c-format
+msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+msgstr ""
+
+#: cfgrtl.c:2161
+msgid "verify_flow_info failed"
+msgstr ""
+
+#: collect2.c:425
+msgid "internal error"
+msgstr ""
+
+#: collect2.c:934
+msgid "no arguments"
+msgstr ""
+
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
+#, c-format
+msgid "fopen %s"
+msgstr ""
+
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
+#, c-format
+msgid "fclose %s"
+msgstr ""
+
+#: collect2.c:1275
+#, c-format
+msgid "collect2 version %s"
+msgstr ""
+
+#: collect2.c:1365
+#, c-format
+msgid "%d constructor(s) found\n"
+msgstr ""
+
+#: collect2.c:1366
+#, c-format
+msgid "%d destructor(s) found\n"
+msgstr ""
+
+#: collect2.c:1367
+#, c-format
+msgid "%d frame table(s) found\n"
+msgstr ""
+
+#: collect2.c:1508
+#, c-format
+msgid "%s terminated with signal %d [%s]%s"
+msgstr ""
+
+#: collect2.c:1527
+#, c-format
+msgid "%s returned %d exit status"
+msgstr ""
+
+#: collect2.c:1555
+#, c-format
+msgid "[cannot find %s]"
+msgstr ""
+
+#: collect2.c:1570
+#, c-format
+msgid "cannot find `%s'"
+msgstr ""
+
+#: collect2.c:1581 collect2.c:1584
+#, c-format
+msgid "redirecting stdout: %s"
+msgstr ""
+
+#: collect2.c:1627
+#, c-format
+msgid "[Leaving %s]\n"
+msgstr ""
+
+#: collect2.c:1870
+#, c-format
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
+msgstr ""
+
+#: collect2.c:2083
+msgid "cannot find `nm'"
+msgstr ""
+
+#: collect2.c:2093 collect2.c:2535
+msgid "pipe"
+msgstr ""
+
+#: collect2.c:2097 collect2.c:2539
+msgid "fdopen"
+msgstr ""
+
+#: collect2.c:2123 collect2.c:2565
+#, c-format
+msgid "dup2 %d 1"
+msgstr ""
+
+#: 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:2132 collect2.c:2574
+#, c-format
+msgid "execv %s"
+msgstr ""
+
+#: collect2.c:2186
+#, c-format
+msgid "init function found in object %s"
+msgstr ""
+
+#: collect2.c:2194
+#, c-format
+msgid "fini function found in object %s"
+msgstr ""
+
+#: collect2.c:2217 collect2.c:2623
+msgid "fclose"
+msgstr ""
+
+#: collect2.c:2262
+#, c-format
+msgid "unable to open file '%s'"
+msgstr ""
+
+#: collect2.c:2264
+#, c-format
+msgid "unable to stat file '%s'"
+msgstr ""
+
+#: collect2.c:2270
+#, c-format
+msgid "unable to mmap file '%s'"
+msgstr ""
+
+#: collect2.c:2423
+msgid "not found\n"
+msgstr ""
+
+#: collect2.c:2425 collect2.c:2602
+#, c-format
+msgid "dynamic dependency %s not found"
+msgstr ""
+
+#: collect2.c:2445
+#, c-format
+msgid "bad magic number in file '%s'"
+msgstr ""
+
+#: collect2.c:2467
+msgid "dynamic dependencies.\n"
+msgstr ""
+
+#: collect2.c:2526
+msgid "cannot find `ldd'"
+msgstr ""
+
+#: collect2.c:2587
+msgid ""
+"\n"
+"ldd output with constructors/destructors.\n"
+msgstr ""
+
+#: collect2.c:2614
+#, c-format
+msgid "unable to open dynamic dependency '%s'"
+msgstr ""
+
+#: collect2.c:2728
+#, c-format
+msgid "%s: not a COFF file"
+msgstr ""
+
+#: collect2.c:2847
+#, c-format
+msgid "%s: cannot open as COFF file"
+msgstr ""
+
+#: collect2.c:2903
+#, c-format
+msgid "library lib%s not found"
+msgstr ""
+
+#: collect2.c:3030
+#, c-format
+msgid "open %s"
+msgstr ""
+
+#: collect2.c:3053
+msgid "incompatibilities between object file & expected values"
+msgstr ""
+
+#: collect2.c:3126
+#, c-format
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+msgstr ""
+
+#: collect2.c:3135
+msgid "string section missing"
+msgstr ""
+
+#: collect2.c:3138
+msgid "section pointer missing"
+msgstr ""
+
+#: collect2.c:3186
+msgid "no symbol table found"
+msgstr ""
+
+#: collect2.c:3199
+msgid "no cmd_strings found"
+msgstr ""
+
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
+msgstr ""
+
+#: collect2.c:3218
+#, c-format
+msgid "load command map, %d cmds, new size %ld.\n"
+msgstr ""
+
+#: collect2.c:3249
+msgid ""
+"writing load commands.\n"
+"\n"
+msgstr ""
+
+#: collect2.c:3269
+#, c-format
+msgid "close %s"
+msgstr ""
+
+#: collect2.c:3343
+msgid "could not convert 0x%l.8x into a region"
+msgstr ""
+
+#: collect2.c:3347
+#, c-format
+msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+msgstr ""
+
+#: collect2.c:3474
+msgid "bad magic number"
+msgstr ""
+
+#: collect2.c:3475
+msgid "bad header version"
+msgstr ""
+
+#: collect2.c:3476
+msgid "bad raw header version"
+msgstr ""
+
+#: collect2.c:3477
+msgid "raw header buffer too small"
+msgstr ""
+
+#: collect2.c:3478
+msgid "old raw header file"
+msgstr ""
+
+#: collect2.c:3479
+msgid "unsupported version"
+msgstr ""
+
+#: collect2.c:3481
+#, c-format
+msgid "unknown {de,en}code_mach_o_hdr return value %d"
+msgstr ""
+
+#: collect2.c:3501
+#, c-format
+msgid "fstat %s"
+msgstr ""
+
+#: collect2.c:3538 collect2.c:3586
+#, c-format
+msgid "lseek %s 0"
+msgstr ""
+
+#: collect2.c:3542
+#, c-format
+msgid "read %s"
+msgstr ""
+
+#: collect2.c:3545
+#, c-format
+msgid "read %ld bytes, expected %ld, from %s"
+msgstr ""
+
+#: collect2.c:3566
+#, c-format
+msgid "msync %s"
+msgstr ""
+
+#: collect2.c:3573
+#, c-format
+msgid "munmap %s"
+msgstr ""
+
+#: collect2.c:3590
+#, c-format
+msgid "write %s"
+msgstr ""
+
+#: collect2.c:3593
+#, c-format
+msgid "wrote %ld bytes, expected %ld, to %s"
+msgstr ""
+
+#: combine.c:13185
+#, c-format
+msgid ""
+";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+";; %d successes.\n"
+"\n"
+msgstr ""
+
+#: combine.c:13195
+#, c-format
+msgid ""
+"\n"
+";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
+";; %d successes.\n"
+msgstr ""
+
+#: convert.c:69
+msgid "cannot convert to a pointer type"
+msgstr ""
+
+#: convert.c:102
+msgid "pointer value used where a floating point value was expected"
+msgstr ""
+
+#: convert.c:106
+msgid "aggregate value used where a float was expected"
+msgstr ""
+
+#: convert.c:132
+msgid "conversion to incomplete type"
+msgstr ""
+
+#: convert.c:414 convert.c:494
+msgid "can't convert between vector values of different size"
+msgstr ""
+
+#: convert.c:420
+msgid "aggregate value used where an integer was expected"
+msgstr ""
+
+#: convert.c:472 f/com.c:1100
+msgid "pointer value used where a complex was expected"
+msgstr ""
+
+#: convert.c:476 f/com.c:1102
+msgid "aggregate value used where a complex was expected"
+msgstr ""
+
+#: convert.c:500
+msgid "can't convert value to a vector"
+msgstr ""
+
+#: cpperror.c:113
+msgid "warning: "
+msgstr "Warnung: "
+
+#: cpperror.c:115
+msgid "internal error: "
+msgstr "interner Fehler: "
+
+#: cpperror.c:189
+msgid "stdout"
+msgstr ""
+
+#: cpperror.c:191 gcc.c:6425
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: cppexp.c:199
+msgid "too many decimal points in number"
+msgstr ""
+
+#: cppexp.c:219
+#, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr ""
+
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
+msgstr ""
+
+#: cppexp.c:234
+msgid "exponent has no digits"
+msgstr ""
+
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
+msgstr ""
+
+#: cppexp.c:247
+#, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr ""
+
+#: cppexp.c:257 cppexp.c:282
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr ""
+
+#: 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:489
+msgid "operator \"defined\" requires an identifier"
+msgstr ""
+
+#: cppexp.c:497
+#, c-format
+msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+msgstr ""
+
+#: cppexp.c:507
+msgid "this use of \"defined\" may not be portable"
+msgstr ""
+
+#: cppexp.c:545
+msgid "floating constant in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:551
+msgid "imaginary number in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:596
+#, c-format
+msgid "ISO C++ does not permit \"%s\" in #if"
+msgstr ""
+
+#: cppexp.c:604
+#, c-format
+msgid "\"%s\" is not defined"
+msgstr ""
+
+#: cppexp.c:737 cppexp.c:772
+#, c-format
+msgid "missing binary operator before token \"%s\""
+msgstr ""
+
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
+msgstr ""
+
+#: cppexp.c:758
+#, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr ""
+
+#: cppexp.c:763
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr ""
+
+#: cppexp.c:782
+msgid "void expression between '(' and ')'"
+msgstr ""
+
+#: cppexp.c:785
+msgid "#if with no expression"
+msgstr ""
+
+#: cppexp.c:787
+#, c-format
+msgid "operator '%s' has no right operand"
+msgstr ""
+
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr ""
+
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
+msgstr ""
+
+#: cppexp.c:862
+#, c-format
+msgid "impossible operator '%u'"
+msgstr ""
+
+#: cppexp.c:954
+msgid "missing ')' in expression"
+msgstr ""
+
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr ""
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:990
+msgid "missing '(' in expression"
+msgstr ""
+
+#: cppexp.c:1026
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr ""
+
+#: cppexp.c:1031
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr ""
+
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr ""
+
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr ""
+
+#: cppfiles.c:411
+#, c-format
+msgid "%s is too large"
+msgstr "%s ist zu groß"
+
+#: cppfiles.c:447
+#, c-format
+msgid "%s is shorter than expected"
+msgstr ""
+
+#: cppfiles.c:461
+#, c-format
+msgid "%s is a block device"
+msgstr ""
+
+#: cppfiles.c:594
+#, c-format
+msgid "no include path in which to find %s"
+msgstr ""
+
+#: cppfiles.c:668
+msgid "Multiple include guards may be useful for:\n"
+msgstr ""
+
+#: cppfiles.c:1014
+msgid "absolute file name in remap_filename"
+msgstr ""
+
+#: cppinit.c:224
+#, c-format
+msgid "ignoring nonexistent directory \"%s\"\n"
+msgstr "nicht vorhandenes Verzeichnis »%s« wird ignoriert\n"
+
+#: cppinit.c:231
+#, c-format
+msgid "%s: Not a directory"
+msgstr "%s: Kein Verzeichnis"
+
+#: cppinit.c:287
+#, c-format
+msgid "ignoring duplicate directory \"%s\"\n"
+msgstr "doppeltes Verzeichnis »%s« wird ignoriert\n"
+
+#: 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:895
+#, c-format
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr ""
+
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr ""
+
+#: 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:976
+msgid "#include <...> search starts here:\n"
+msgstr ""
+
+#: cppinit.c:979
+msgid "End of search list.\n"
+msgstr ""
+
+#: cppinit.c:1057
+msgid "<built-in>"
+msgstr ""
+
+#: cppinit.c:1059
+msgid "<command line>"
+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:1164
+#, c-format
+msgid "assertion missing after %s"
+msgstr ""
+
+#: cppinit.c:1165
+#, c-format
+msgid "directory name missing after %s"
+msgstr ""
+
+#: cppinit.c:1166
+#, c-format
+msgid "file name missing after %s"
+msgstr ""
+
+#: cppinit.c:1167
+#, c-format
+msgid "macro name missing after %s"
+msgstr ""
+
+#: cppinit.c:1168
+#, c-format
+msgid "path name missing after %s"
+msgstr ""
+
+#: cppinit.c:1353
+msgid "-I- specified twice"
+msgstr ""
+
+#: cpplex.c:149
+#, c-format
+msgid "trigraph ??%c converted to %c"
+msgstr ""
+
+#: cpplex.c:157
+#, c-format
+msgid "trigraph ??%c ignored"
+msgstr ""
+
+#: cpplex.c:214
+msgid "backslash and newline separated by space"
+msgstr ""
+
+#: cpplex.c:221 cpptrad.c:158
+msgid "backslash-newline at end of file"
+msgstr ""
+
+#: cpplex.c:287 cpptrad.c:199
+msgid "\"/*\" within comment"
+msgstr ""
+
+#: cpplex.c:395
+msgid "null character(s) ignored"
+msgstr ""
+
+#: cpplex.c:402
+#, c-format
+msgid "%s in preprocessing directive"
+msgstr ""
+
+#: cpplex.c:475
+#, c-format
+msgid "attempt to use poisoned \"%s\""
+msgstr ""
+
+#: cpplex.c:483
+msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+msgstr ""
+
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
+msgstr ""
+
+#: cpplex.c:698
+#, c-format
+msgid "missing terminating %c character"
+msgstr ""
+
+#: cpplex.c:711
+msgid "null character(s) preserved in literal"
+msgstr ""
+
+#: cpplex.c:915 cpptrad.c:487
+msgid "no newline at end of file"
+msgstr ""
+
+#: cpplex.c:1092 cpptrad.c:213
+msgid "unterminated comment"
+msgstr "nicht beendeter Kommentar"
+
+#: cpplex.c:1103
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr ""
+
+#: cpplex.c:1105
+msgid "(this will be reported only once per input file)"
+msgstr ""
+
+#: cpplex.c:1110
+msgid "multi-line comment"
+msgstr "mehrzeiliger Kommentar"
+
+#: cpplex.c:1425
+#, c-format
+msgid "unknown string token %s\n"
+msgstr ""
+
+#: cpplex.c:1438
+#, c-format
+msgid "unspellable token %s"
+msgstr ""
+
+#: cpplex.c:1695
+#, c-format
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr ""
+
+#: cpplex.c:1701
+msgid "incomplete universal-character-name"
+msgstr ""
+
+#: cpplex.c:1715
+#, c-format
+msgid "non-hex digit '%c' in universal-character-name"
+msgstr ""
+
+#: cpplex.c:1723
+msgid "universal-character-name on EBCDIC target"
+msgstr ""
+
+#: cpplex.c:1737
+msgid "universal-character-name out of range"
+msgstr ""
+
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr ""
+
+#: cpplex.c:1798
+#, c-format
+msgid "non-ISO-standard escape sequence, '\\%c'"
+msgstr ""
+
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr ""
+
+#: cpplex.c:1828 f/lex.c:585
+msgid "\\x used with no following hex digits"
+msgstr ""
+
+#: cpplex.c:1833
+msgid "hex escape sequence out of range"
+msgstr ""
+
+#: cpplex.c:1858
+msgid "octal escape sequence out of range"
+msgstr ""
+
+#: cpplex.c:1874
+#, c-format
+msgid "unknown escape sequence '\\%c'"
+msgstr ""
+
+#: cpplex.c:1877
+#, c-format
+msgid "unknown escape sequence: '\\%03o'"
+msgstr ""
+
+#: cpplex.c:1882
+msgid "escape sequence out of range for its type"
+msgstr ""
+
+#: cpplex.c:1973
+msgid "empty character constant"
+msgstr ""
+
+#: cpplex.c:1983
+msgid "character constant too long for its type"
+msgstr ""
+
+#: cpplex.c:1986
+msgid "multi-character character constant"
+msgstr ""
+
+#: cpplib.c:225
+#, c-format
+msgid "extra tokens at end of #%s directive"
+msgstr ""
+
+#: cpplib.c:315
+#, c-format
+msgid "#%s is a GCC extension"
+msgstr "#%s ist eine Erweiterung des GCC"
+
+#: cpplib.c:327
+msgid "suggest not using #elif in traditional C"
+msgstr ""
+
+#: cpplib.c:330
+#, c-format
+msgid "traditional C ignores #%s with the # indented"
+msgstr ""
+
+#: cpplib.c:334
+#, c-format
+msgid "suggest hiding #%s from traditional C with an indented #"
+msgstr ""
+
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr ""
+
+#: cpplib.c:378
+msgid "style of line directive is a GCC extension"
+msgstr ""
+
+#: cpplib.c:428
+#, c-format
+msgid "invalid preprocessing directive #%s"
+msgstr ""
+
+#: cpplib.c:500
+msgid "\"defined\" cannot be used as a macro name"
+msgstr ""
+
+#: cpplib.c:506
+#, c-format
+msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
+msgstr ""
+
+#: cpplib.c:509
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr ""
+
+#: cpplib.c:512
+msgid "macro names must be identifiers"
+msgstr ""
+
+#: cpplib.c:552
+#, c-format
+msgid "undefining \"%s\""
+msgstr ""
+
+#: cpplib.c:598
+msgid "missing terminating > character"
+msgstr ""
+
+#: cpplib.c:637
+#, c-format
+msgid "#%s expects \"FILENAME\" or <FILENAME>"
+msgstr ""
+
+#: cpplib.c:648
+#, c-format
+msgid "empty file name in #%s"
+msgstr ""
+
+#: cpplib.c:667
+msgid "#include_next in primary source file"
+msgstr ""
+
+#: cpplib.c:674
+msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+msgstr ""
+
+#: cpplib.c:682
+msgid "#include nested too deeply"
+msgstr ""
+
+#: cpplib.c:739
+#, c-format
+msgid "invalid flag \"%s\" in line directive"
+msgstr ""
+
+#: cpplib.c:814
+#, c-format
+msgid "\"%s\" after #line is not a positive integer"
+msgstr ""
+
+#: cpplib.c:820
+msgid "line number out of range"
+msgstr ""
+
+#: cpplib.c:831 cpplib.c:902
+#, c-format
+msgid "\"%s\" is not a valid filename"
+msgstr ""
+
+#: cpplib.c:866
+#, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr ""
+
+#: cpplib.c:973
+msgid "invalid #ident directive"
+msgstr ""
+
+#: cpplib.c:1061
+#, c-format
+msgid "registering \"%s\" as both a pragma and a pragma namespace"
+msgstr ""
+
+#: cpplib.c:1064
+#, c-format
+msgid "#pragma %s %s is already registered"
+msgstr ""
+
+#: cpplib.c:1067
+#, c-format
+msgid "#pragma %s is already registered"
+msgstr ""
+
+#: cpplib.c:1141
+msgid "#pragma once is obsolete"
+msgstr ""
+
+#: cpplib.c:1144
+msgid "#pragma once in main file"
+msgstr ""
+
+#: cpplib.c:1168
+msgid "invalid #pragma GCC poison directive"
+msgstr ""
+
+#: cpplib.c:1177
+#, c-format
+msgid "poisoning existing macro \"%s\""
+msgstr ""
+
+#: cpplib.c:1199
+msgid "#pragma system_header ignored outside include file"
+msgstr ""
+
+#: cpplib.c:1224
+#, c-format
+msgid "cannot find source %s"
+msgstr ""
+
+#: cpplib.c:1228
+#, c-format
+msgid "current file is older than %s"
+msgstr ""
+
+#: cpplib.c:1344
+msgid "_Pragma takes a parenthesized string literal"
+msgstr ""
+
+#: cpplib.c:1427
+msgid "#else without #if"
+msgstr ""
+
+#: cpplib.c:1432
+msgid "#else after #else"
+msgstr ""
+
+#: cpplib.c:1434 cpplib.c:1468
+msgid "the conditional began here"
+msgstr ""
+
+#: cpplib.c:1461
+msgid "#elif without #if"
+msgstr ""
+
+#: cpplib.c:1466
+msgid "#elif after #else"
+msgstr ""
+
+#: cpplib.c:1497
+msgid "#endif without #if"
+msgstr ""
+
+#: cpplib.c:1580
+msgid "missing '(' after predicate"
+msgstr ""
+
+#: cpplib.c:1595
+msgid "missing ')' to complete answer"
+msgstr ""
+
+#: cpplib.c:1615
+msgid "predicate's answer is empty"
+msgstr ""
+
+#: cpplib.c:1645
+msgid "assertion without predicate"
+msgstr ""
+
+#: cpplib.c:1647
+msgid "predicate must be an identifier"
+msgstr ""
+
+#: cpplib.c:1736
+#, c-format
+msgid "\"%s\" re-asserted"
+msgstr ""
+
+#: cpplib.c:1966
+#, c-format
+msgid "unterminated #%s"
+msgstr ""
+
+#: 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:234
+msgid "could not determine date and time"
+msgstr ""
+
+#: cppmacro.c:407
+msgid "invalid string literal, ignoring final '\\'"
+msgstr ""
+
+#: cppmacro.c:504
+#, c-format
+msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+msgstr ""
+
+#: cppmacro.c:546
+msgid "ISO C99 requires rest arguments to be used"
+msgstr ""
+
+#: cppmacro.c:551
+#, c-format
+msgid "macro \"%s\" requires %u arguments, but only %u given"
+msgstr ""
+
+#: cppmacro.c:556
+#, c-format
+msgid "macro \"%s\" passed %u arguments, but takes just %u"
+msgstr ""
+
+#: 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:1312
+#, c-format
+msgid "duplicate macro parameter \"%s\""
+msgstr ""
+
+#: cppmacro.c:1349
+#, c-format
+msgid "\"%s\" may not appear in macro parameter list"
+msgstr ""
+
+#: cppmacro.c:1357
+msgid "macro parameters must be comma-separated"
+msgstr ""
+
+#: cppmacro.c:1374
+msgid "parameter name missing"
+msgstr ""
+
+#: cppmacro.c:1389
+msgid "anonymous variadic macros were introduced in C99"
+msgstr ""
+
+#: cppmacro.c:1393
+msgid "ISO C does not permit named variadic macros"
+msgstr ""
+
+#: cppmacro.c:1402
+msgid "missing ')' in macro parameter list"
+msgstr ""
+
+#: cppmacro.c:1470
+msgid "ISO C requires whitespace after the macro name"
+msgstr ""
+
+#: cppmacro.c:1498
+msgid "'#' is not followed by a macro parameter"
+msgstr ""
+
+#: cppmacro.c:1517
+msgid "'##' cannot appear at either end of a macro expansion"
+msgstr ""
+
+#: cppmacro.c:1599
+#, c-format
+msgid "\"%s\" redefined"
+msgstr ""
+
+#: cppmacro.c:1604
+msgid "this is the location of the previous definition"
+msgstr ""
+
+#: cppmacro.c:1655
+#, c-format
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr ""
+
+#: cppmacro.c:1680
+#, c-format
+msgid "invalid hash type %d in cpp_macro_definition"
+msgstr ""
+
+#: cppspec.c:109
+#, c-format
+msgid "\"%s\" is not a valid option to the preprocessor"
+msgstr ""
+
+#: cppspec.c:133
+msgid "too many input files"
+msgstr "zu viele Eingabedateien"
+
+#: cpptrad.c:841
+#, c-format
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr ""
+
+#: cse.c:7187
+#, c-format
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ""
+
+#: diagnostic.c:700
+msgid "((anonymous))"
+msgstr ""
+
+#: diagnostic.c:914
+#, c-format
+msgid "%s: warnings being treated as errors\n"
+msgstr ""
+
+#: diagnostic.c:949
+#, c-format
+msgid "%s: %s: "
+msgstr ""
+
+#: diagnostic.c:1040
+#, c-format
+msgid "%s "
+msgstr ""
+
+#: diagnostic.c:1042
+#, c-format
+msgid " %s"
+msgstr ""
+
+#: diagnostic.c:1064
+msgid "At top level:"
+msgstr ""
+
+#: diagnostic.c:1069
+#, c-format
+msgid "In member function `%s':"
+msgstr ""
+
+#: diagnostic.c:1073
+#, c-format
+msgid "In function `%s':"
+msgstr ""
+
+#: diagnostic.c:1161
+msgid "compilation terminated.\n"
+msgstr ""
+
+#: diagnostic.c:1179
+#, c-format
+msgid "%s:%d: confused by earlier errors, bailing out\n"
+msgstr ""
+
+#: diagnostic.c:1194 diagnostic.c:1302
+#, c-format
+msgid ""
+"Please submit a full bug report,\n"
+"with preprocessed source if appropriate.\n"
+"See %s for instructions.\n"
+msgstr ""
+"Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;\n"
+"bearbeiten Sie die Quellen zunächst mit eine Präprozessor, wenn es\n"
+"dienlich ist.\n"
+"Fehler in der deutschen Ãœbersetzung sind an de@li.org zu melden.\n"
+"\n"
+"Gehen Sie gemäß den Hinweisen in %s vor.\n"
+
+#: diagnostic.c:1300
+msgid "Internal compiler error: Error reporting routines re-entered.\n"
+msgstr ""
+
+#: diagnostic.c:1362
+#, c-format
+msgid "in %s, at %s:%d"
+msgstr ""
+
+#: diagnostic.c:1383
+#, c-format
+msgid "In file included from %s:%d"
+msgstr ""
+
+#: diagnostic.c:1386
+#, c-format
+msgid ""
+",\n"
+" from %s:%d"
+msgstr ""
+
+#: diagnostic.c:1387
+msgid ":\n"
+msgstr ""
+
+#: diagnostic.c:1431 diagnostic.c:1448
+#, c-format
+msgid "`%s' is deprecated (declared at %s:%d)"
+msgstr ""
+
+#: diagnostic.c:1451
+#, c-format
+msgid "`%s' is deprecated"
+msgstr ""
+
+#: diagnostic.c:1454
+#, c-format
+msgid "type is deprecated (declared at %s:%d)"
+msgstr ""
+
+#: diagnostic.c:1457
+msgid "type is deprecated"
+msgstr ""
+
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
+msgstr ""
+
+#: dwarf2out.c:3126
+#, c-format
+msgid "DW_LOC_OP %s not implemented\n"
+msgstr ""
+
+#: dwarfout.c:2066
+#, c-format
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr ""
+
+#: 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:1155
+msgid "can't access real part of complex value in hard register"
+msgstr ""
+
+#: emit-rtl.c:1177
+msgid "can't access imaginary part of complex value in hard register"
+msgstr ""
+
+#: emit-rtl.c:3399
+msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+msgstr ""
+
+#: errors.c:136
+#, c-format
+msgid "abort in %s, at %s:%d"
+msgstr ""
+
+#: except.c:375
+msgid "exception handling disabled, use -fexceptions to enable"
+msgstr ""
+
+#: except.c:3000
+msgid "argument of `__builtin_eh_return_regno' must be constant"
+msgstr ""
+
+#: except.c:3121 except.c:3143
+msgid "__builtin_eh_return not supported on this target"
+msgstr ""
+
+#: explow.c:1408
+msgid "stack limits not supported on this target"
+msgstr ""
+
+#: expr.c:3334
+msgid "function using short complex types cannot be inline"
+msgstr ""
+
+#: expr.c:6251 expr.c:6260 expr.c:6269 expr.c:6274 expr.c:6583 expr.c:6599
+msgid "unsupported wide integer operation"
+msgstr ""
+
+#: expr.c:6648
+#, c-format
+msgid "prior parameter's size depends on `%s'"
+msgstr ""
+
+#: expr.c:6981
+msgid "returned value in block_exit_expr"
+msgstr ""
+
+#. We can't make a bitwise copy of this object, so fail.
+#: expr.c:9172
+msgid "cannot take the address of an unaligned member"
+msgstr ""
+
+#: final.c:1342
+msgid "negative insn length"
+msgstr ""
+
+#: final.c:2793
+msgid "could not split insn"
+msgstr ""
+
+#: final.c:3141
+msgid "invalid `asm': "
+msgstr ""
+
+#: final.c:3328
+msgid "nested assembly dialect alternatives"
+msgstr ""
+
+#: final.c:3345 final.c:3357
+msgid "unterminated assembly dialect alternative"
+msgstr ""
+
+#: final.c:3401
+#, c-format
+msgid "operand number missing after %%-letter"
+msgstr ""
+
+#: final.c:3404 final.c:3443
+msgid "operand number out of range"
+msgstr ""
+
+#: final.c:3462
+#, c-format
+msgid "invalid %%-code"
+msgstr ""
+
+#: 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:3600 vmsdbgout.c:466 config/i386/i386.c:6253
+#: config/pdp11/pdp11.c:1573
+msgid "floating constant misused"
+msgstr ""
+
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6331
+#: config/pdp11/pdp11.c:1620
+msgid "invalid expression as operand"
+msgstr ""
+
+#: flow.c:352
+msgid "function might be possible candidate for attribute `noreturn'"
+msgstr ""
+
+#: flow.c:357
+msgid "`noreturn' function does return"
+msgstr ""
+
+#: flow.c:378
+msgid "control reaches end of non-void function"
+msgstr ""
+
+#: flow.c:1639
+msgid "Attempt to delete prologue/epilogue insn:"
+msgstr ""
+
+#: fold-const.c:2546 fold-const.c:2559
+#, c-format
+msgid "comparison is always %d due to width of bit-field"
+msgstr ""
+
+#: fold-const.c:3753 fold-const.c:3770
+#, c-format
+msgid "comparison is always %d"
+msgstr ""
+
+#: fold-const.c:3901
+msgid "`or' of unmatched not-equal tests is always 1"
+msgstr ""
+
+#: fold-const.c:3906
+msgid "`and' of mutually exclusive equal-tests is always 0"
+msgstr ""
+
+#: function.c:884 varasm.c:1503
+#, c-format
+msgid "size of variable `%s' is too large"
+msgstr ""
+
+#: function.c:3770
+msgid "impossible constraint in `asm'"
+msgstr ""
+
+#: function.c:5525
+#, c-format
+msgid "`%s' might be used uninitialized in this function"
+msgstr ""
+
+#: function.c:5532
+#, c-format
+msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
+msgstr ""
+
+#: function.c:5551
+#, c-format
+msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
+msgstr ""
+
+#: function.c:6418
+msgid "function returns an aggregate"
+msgstr ""
+
+#: function.c:6923
+#, c-format
+msgid "unused parameter `%s'"
+msgstr ""
+
+#: gcc.c:1107
+#, c-format
+msgid "ambiguous abbreviation %s"
+msgstr ""
+
+#: gcc.c:1134
+#, c-format
+msgid "incomplete `%s' option"
+msgstr ""
+
+#: gcc.c:1145
+#, c-format
+msgid "missing argument to `%s' option"
+msgstr ""
+
+#: gcc.c:1158
+#, c-format
+msgid "extraneous argument to `%s' option"
+msgstr ""
+
+#: gcc.c:1486
+msgid "Using built-in specs.\n"
+msgstr ""
+
+#: gcc.c:1664
+#, c-format
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
+msgstr ""
+
+#: gcc.c:1771
+#, c-format
+msgid "Reading specs from %s\n"
+msgstr ""
+
+#: gcc.c:1869 gcc.c:1888
+#, c-format
+msgid "specs %%include syntax malformed after %ld characters"
+msgstr ""
+
+#: gcc.c:1896
+#, c-format
+msgid "could not find specs file %s\n"
+msgstr ""
+
+#: gcc.c:1913 gcc.c:1921 gcc.c:1930 gcc.c:1939
+#, c-format
+msgid "specs %%rename syntax malformed after %ld characters"
+msgstr ""
+
+#: gcc.c:1948
+#, c-format
+msgid "specs %s spec was not found to be renamed"
+msgstr ""
+
+#: gcc.c:1955
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr ""
+
+#: gcc.c:1960
+#, c-format
+msgid "rename spec %s to %s\n"
+msgstr ""
+
+#: gcc.c:1962
+#, c-format
+msgid ""
+"spec is '%s'\n"
+"\n"
+msgstr ""
+
+#: gcc.c:1975
+#, c-format
+msgid "specs unknown %% command after %ld characters"
+msgstr ""
+
+#: gcc.c:1986 gcc.c:1999
+#, c-format
+msgid "specs file malformed after %ld characters"
+msgstr ""
+
+#: gcc.c:2053
+msgid "spec file has no spec for linking"
+msgstr ""
+
+#: gcc.c:2551
+msgid "-pipe not supported"
+msgstr "-pipe wird nicht unterstützt"
+
+# can we use j/n here, too?
+# 2002-04-23 18:57:43 CEST -ke-
+#: gcc.c:2606
+msgid ""
+"\n"
+"Go ahead? (y or n) "
+msgstr ""
+"\n"
+"Fortfahren? (y oder n) "
+
+#: gcc.c:2732
+#, c-format
+msgid ""
+"Internal error: %s (program %s)\n"
+"Please submit a full bug report.\n"
+"See %s for instructions."
+msgstr ""
+"Interner Fehler: %s (Programm %s)\n"
+"Bitte senden Sie einen vollständigen Fehlerbericht\n"
+"auf Englisch ein; Fehler in der deutschen Ãœbersetzung\n"
+"sind an de@li.org zu melden.\n"
+"Gehen Sie gemäß den Hinweisen in %s vor."
+
+#: gcc.c:2750
+#, c-format
+msgid "# %s %.2f %.2f\n"
+msgstr ""
+
+#: gcc.c:2880
+#, c-format
+msgid "Usage: %s [options] file...\n"
+msgstr "Aufruf: %s [Optionen] Datei...\n"
+
+#: gcc.c:2881
+msgid "Options:\n"
+msgstr "Optionen:\n"
+
+#: gcc.c:2883
+msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+msgstr ""
+
+#: gcc.c:2884
+msgid " --help Display this information\n"
+msgstr " --help Diese Informationen anzeigen\n"
+
+#: gcc.c:2885
+msgid " --target-help Display target specific command line options\n"
+msgstr ""
+
+#: gcc.c:2887
+msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+msgstr ""
+
+#: gcc.c:2888
+msgid " -dumpspecs Display all of the built in spec strings\n"
+msgstr ""
+
+#: gcc.c:2889
+msgid " -dumpversion Display the version of the compiler\n"
+msgstr ""
+
+#: gcc.c:2890
+msgid " -dumpmachine Display the compiler's target processor\n"
+msgstr ""
+
+#: gcc.c:2891
+msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+msgstr ""
+
+#: gcc.c:2892
+msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+msgstr ""
+
+#: gcc.c:2893
+msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+msgstr ""
+
+#: gcc.c:2894
+msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+msgstr ""
+
+#: gcc.c:2895
+msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+msgstr ""
+
+#: gcc.c:2896
+msgid ""
+" -print-multi-lib Display the mapping between command line options and\n"
+" multiple library search directories\n"
+msgstr ""
+
+#: gcc.c:2899
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr ""
+
+#: gcc.c:2900
+msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+msgstr ""
+
+#: gcc.c:2901
+msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+msgstr ""
+
+#: gcc.c:2902
+msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+msgstr ""
+
+#: gcc.c:2903
+msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+msgstr ""
+
+#: gcc.c:2904
+msgid " -save-temps Do not delete intermediate files\n"
+msgstr ""
+
+#: gcc.c:2905
+msgid " -pipe Use pipes rather than intermediate files\n"
+msgstr ""
+
+#: gcc.c:2906
+msgid " -time Time the execution of each subprocess\n"
+msgstr ""
+
+#: gcc.c:2907
+msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+msgstr ""
+
+#: gcc.c:2908
+msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+msgstr ""
+
+#: gcc.c:2909
+msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+msgstr ""
+
+#: gcc.c:2910
+msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+msgstr ""
+
+#: gcc.c:2911
+msgid " -V <version> Run gcc version number <version>, if installed\n"
+msgstr ""
+
+#: gcc.c:2912
+msgid " -v Display the programs invoked by the compiler\n"
+msgstr ""
+
+#: gcc.c:2913
+msgid " -### Like -v but options quoted and commands not executed\n"
+msgstr ""
+
+#: gcc.c:2914
+msgid " -E Preprocess only; do not compile, assemble or link\n"
+msgstr ""
+
+#: gcc.c:2915
+msgid " -S Compile only; do not assemble or link\n"
+msgstr ""
+
+#: gcc.c:2916
+msgid " -c Compile and assemble, but do not link\n"
+msgstr ""
+
+#: gcc.c:2917
+msgid " -o <file> Place the output into <file>\n"
+msgstr " -o <Datei> Ausgabe in <Datei> schreiben\n"
+
+#: gcc.c:2918
+msgid ""
+" -x <language> Specify the language of the following input files\n"
+" Permissible languages include: c c++ assembler none\n"
+" 'none' means revert to the default behavior of\n"
+" guessing the language based on the file's extension\n"
+msgstr ""
+
+#: gcc.c:2925
+#, c-format
+msgid ""
+"\n"
+"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+" passed on to the various sub-processes invoked by %s. In order to pass\n"
+" other options on to these processes the -W<letter> options must be used.\n"
+msgstr ""
+
+#: gcc.c:3060
+#, c-format
+msgid "`-%c' option must have argument"
+msgstr ""
+
+#: gcc.c:3082
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr ""
+
+#. translate_options () has turned --version into -fversion.
+#: gcc.c:3259
+#, c-format
+msgid "%s (GCC) %s\n"
+msgstr "%s (GCC) %s\n"
+
+#: gcc.c:3260
+#, fuzzy
+msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2001 Free Software Foundation, Inc.\n"
+
+#: gcc.c:3262 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 ""
+"Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es\n"
+"gibt KEINE Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.\n"
+"\n"
+
+#: gcc.c:3363
+msgid "argument to `-Xlinker' is missing"
+msgstr ""
+
+#: gcc.c:3371
+msgid "argument to `-l' is missing"
+msgstr ""
+
+#: gcc.c:3388
+msgid "argument to `-specs' is missing"
+msgstr ""
+
+#: gcc.c:3403
+msgid "argument to `-specs=' is missing"
+msgstr ""
+
+#: gcc.c:3433
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr ""
+
+#: gcc.c:3442
+msgid "argument to `-B' is missing"
+msgstr ""
+
+#: gcc.c:3615
+msgid "cannot specify -o with -c or -S and multiple compilations"
+msgstr ""
+
+#: gcc.c:3788
+msgid "warning: -pipe ignored because -save-temps specified"
+msgstr ""
+
+#: gcc.c:3792
+msgid "warning: -pipe ignored because -time specified"
+msgstr ""
+
+#: gcc.c:3804
+msgid "argument to `-x' is missing"
+msgstr ""
+
+#: gcc.c:3832
+#, c-format
+msgid "argument to `-%s' is missing"
+msgstr ""
+
+#: gcc.c:3893
+#, c-format
+msgid "warning: `-x %s' after last input file has no effect"
+msgstr ""
+
+#: gcc.c:4238
+msgid "invalid specification! Bug in cc"
+msgstr ""
+
+#: gcc.c:4392
+#, c-format
+msgid "%s\n"
+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:4952
+#, c-format
+msgid "spec failure: '%%*' has not been initialized by pattern match"
+msgstr ""
+
+#: gcc.c:4961
+#, c-format
+msgid "warning: use of obsolete %%[ operator in specs"
+msgstr ""
+
+#: gcc.c:4979
+#, c-format
+msgid "Processing spec %c%s%c, which is '%s'\n"
+msgstr ""
+
+#: gcc.c:5104
+#, c-format
+msgid "spec failure: unrecognized spec option '%c'"
+msgstr ""
+
+#: gcc.c:5185
+#, c-format
+msgid "unknown spec function `%s'"
+msgstr ""
+
+#: gcc.c:5204
+#, c-format
+msgid "error in args to spec function `%s'"
+msgstr ""
+
+#: gcc.c:5253
+msgid "malformed spec function name"
+msgstr ""
+
+#. )
+#: gcc.c:5256
+msgid "no arguments for spec function"
+msgstr ""
+
+#: gcc.c:5275
+msgid "malformed spec function arguments"
+msgstr ""
+
+#: gcc.c:5383
+msgid "mismatched braces in specs"
+msgstr ""
+
+#: gcc.c:6078
+#, c-format
+msgid "unrecognized option `-%s'"
+msgstr ""
+
+#: gcc.c:6084
+#, c-format
+msgid "install: %s%s\n"
+msgstr ""
+
+#: gcc.c:6085
+#, c-format
+msgid "programs: %s\n"
+msgstr ""
+
+#: gcc.c:6086
+#, c-format
+msgid "libraries: %s\n"
+msgstr ""
+
+#: gcc.c:6143
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+msgstr ""
+"\n"
+"Zum Einsenden von Fehlerberichten (auf Englisch) lesen Sie bitte die\n"
+"folgenden Hinweise; Fehler in der deutschen Ãœbersetzung sind an de@li.org\n"
+"zu melden:\n"
+
+#: gcc.c:6159
+#, c-format
+msgid "Configured with: %s\n"
+msgstr "Konfiguriert mit: %s\n"
+
+#: gcc.c:6173
+#, c-format
+msgid "Thread model: %s\n"
+msgstr ""
+
+#: gcc.c:6184
+#, c-format
+msgid "gcc version %s\n"
+msgstr "gcc-Version %s\n"
+
+#: gcc.c:6186
+#, c-format
+msgid "gcc driver version %s executing gcc version %s\n"
+msgstr ""
+
+#: gcc.c:6194
+msgid "no input files"
+msgstr "keine Eingabedateien"
+
+#: gcc.c:6232
+#, c-format
+msgid "%s: %s compiler not installed on this system"
+msgstr "%s: %s-Compiler ist auf diesem System nicht installiert"
+
+#: gcc.c:6307
+#, c-format
+msgid "%s: linker input file unused because linking not done"
+msgstr ""
+
+#: gcc.c:6350
+#, c-format
+msgid "language %s not recognized"
+msgstr "Sprache %s nicht erkannt"
+
+#: gcc.c:6453
+msgid "internal gcc abort"
+msgstr ""
+
+#: gcov.c:325
+msgid "Internal gcov abort.\n"
+msgstr ""
+
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
+msgstr ""
+"Aufruf: gcov [OPTION]... QUELLDATEI\n"
+"\n"
+
+#: gcov.c:339
+msgid ""
+"Print code coverage information.\n"
+"\n"
+msgstr ""
+
+#: gcov.c:340
+msgid " -h, --help Print this help, then exit\n"
+msgstr " -h, --help Diese Hilfe anzeigen\n"
+
+#: gcov.c:341
+msgid " -v, --version Print version number, then exit\n"
+msgstr " -v, --version Versionsnummer anzeigen\n"
+
+#: gcov.c:342
+msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+msgstr ""
+
+#: gcov.c:343
+msgid ""
+" -c, --branch-counts Given counts of branches taken\n"
+" rather than percentages\n"
+msgstr ""
+
+#: gcov.c:345
+msgid " -n, --no-output Do not create an output file\n"
+msgstr " -n, --no-output Keine Ausgabedatei erzeugen\n"
+
+#: gcov.c:346
+msgid ""
+" -l, --long-file-names Use long output file names for included\n"
+" source files\n"
+msgstr ""
+
+#: gcov.c:348
+msgid " -f, --function-summaries Output summaries for each function\n"
+msgstr ""
+
+#: gcov.c:349
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+msgstr ""
+
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
+msgstr ""
+
+#: gcov.c:351
+#, c-format
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+"%s.\n"
+msgstr ""
+"\n"
+"Zum Einsenden von Fehlerberichten (auf Englisch) lesen Sie bitte die Hinweise in:\n"
+"%s.\n"
+"Fehler in der deutschen Ãœbersetzung sind an de@li.org zu melden.\n"
+
+#: gcov.c:361
+#, c-format
+msgid "gcov (GCC) %s\n"
+msgstr "gcov (GCC) %s\n"
+
+#: gcov.c:362
+msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2001 Free Software Foundation, Inc.\n"
+
+#: gcov.c:500
+#, c-format
+msgid "Could not open basic block file %s.\n"
+msgstr ""
+
+#: 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:525
+msgid "Assuming that all execution counts are zero.\n"
+msgstr ""
+
+#: gcov.c:534
+#, c-format
+msgid "No executable code associated with file %s.\n"
+msgstr ""
+
+#: gcov.c:1186
+#, c-format
+msgid "%s of %d lines executed in %s %s\n"
+msgstr ""
+
+#: gcov.c:1191
+#, c-format
+msgid "No executable lines in %s %s\n"
+msgstr ""
+
+#: gcov.c:1198
+#, c-format
+msgid "%s of %d branches executed in %s %s\n"
+msgstr ""
+
+#: gcov.c:1203
+#, c-format
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr ""
+
+#: gcov.c:1209
+#, c-format
+msgid "No branches in %s %s\n"
+msgstr ""
+
+#: gcov.c:1211
+#, c-format
+msgid "%s of %d calls executed in %s %s\n"
+msgstr ""
+
+#: gcov.c:1216
+#, c-format
+msgid "No calls in %s %s\n"
+msgstr ""
+
+#: gcov.c:1351
+#, c-format
+msgid "didn't use all bb entries of graph, function %s\n"
+msgstr ""
+
+#: gcov.c:1353
+#, c-format
+msgid "block_num = %ld, num_blocks = %d\n"
+msgstr ""
+
+#: gcov.c:1367
+#, c-format
+msgid "ERROR: unexpected line number %ld\n"
+msgstr ""
+
+#: gcov.c:1383
+#, c-format
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr ""
+
+#: gcov.c:1398
+#, c-format
+msgid "ERROR: out of range line number in function %s\n"
+msgstr ""
+
+#: gcov.c:1470
+#, c-format
+msgid "Could not open source file %s.\n"
+msgstr ""
+
+#: gcov.c:1480
+#, c-format
+msgid "Warning: source file %s is newer than %s\n"
+msgstr ""
+
+#: gcov.c:1510
+#, c-format
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr ""
+
+#: gcov.c:1532
+#, c-format
+msgid "call %2d never executed\n"
+msgstr ""
+
+#: gcov.c:1535
+#, c-format
+msgid "call %2d returns %s\n"
+msgstr ""
+
+#: gcov.c:1543
+#, c-format
+msgid "branch %2d never executed\n"
+msgstr ""
+
+#: gcov.c:1546
+#, c-format
+msgid "branch %2d taken %s\n"
+msgstr ""
+
+#: gcov.c:1610
+#, c-format
+msgid "Creating %s.\n"
+msgstr ""
+
+#: gcov.c:1613
+#, c-format
+msgid "Error writing output file %s.\n"
+msgstr ""
+
+#: gcov.c:1618
+#, c-format
+msgid "Could not open output file %s.\n"
+msgstr ""
+
+#: gcse.c:763
+#, c-format
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgstr ""
+
+#: gcse.c:775
+#, c-format
+msgid "GCSE disabled: %d basic blocks and %d registers"
+msgstr ""
+
+#: genautomata.c:1490
+#, c-format
+msgid "Name `%s' contains quotes"
+msgstr ""
+
+#: genautomata.c:1621
+#, c-format
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr ""
+
+#: genautomata.c:1650
+#, c-format
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr ""
+
+#: genautomata.c:1682 genautomata.c:1685
+#, c-format
+msgid "invalid string `%s' in define_bypass"
+msgstr ""
+
+#: genautomata.c:1720
+#, c-format
+msgid "invalid first string `%s' in exclusion_set"
+msgstr ""
+
+#: genautomata.c:1724
+#, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr ""
+
+#: genautomata.c:1760
+#, c-format
+msgid "invalid first string `%s' in presence_set"
+msgstr ""
+
+#: genautomata.c:1764
+#, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr ""
+
+#: genautomata.c:1800
+#, c-format
+msgid "invalid first string `%s' in absence_set"
+msgstr ""
+
+#: genautomata.c:1804
+#, c-format
+msgid "invalid second string `%s' in absence_set"
+msgstr ""
+
+#: 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 "ungültige Option »%s« in automata_option"
+
+#: genautomata.c:1890
+#, c-format
+msgid "garbage after ) in reservation `%s'"
+msgstr ""
+
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "ungültige Option »%s«"
+
+#: 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
+#, fuzzy, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "Deklaration von »%D« als %s"
+
+#: 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
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "»%s« als »static« deklariert, aber nirgendwo definiert"
+
+#: genautomata.c:2772
+#, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "wiederholte Deklaration von Unit »%s«"
+
+#: 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 "Unit »%s« wird nicht verwendet"
+
+#: 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 "Kein Eingabedateiname,"
+
+#: graph.c:420 profile.c:1204 profile.c:1211 toplev.c:1836 toplev.c:5136
+#: f/com.c:14210 java/jcf-parse.c:917 java/jcf-parse.c:1063 java/lex.c:1776
+#: objc/objc-act.c:449
+#, c-format
+msgid "can't open %s"
+msgstr "Es ist nicht möglich »%s« zu öffnen"
+
+#: haifa-sched.c:196
+#, c-format
+msgid "fix_sched_param: unknown param: %s"
+msgstr ""
+
+#: integrate.c:174
+msgid "function cannot be inline"
+msgstr ""
+
+#: integrate.c:178
+msgid "varargs function cannot be inline"
+msgstr ""
+
+#: integrate.c:181
+msgid "function using alloca cannot be inline"
+msgstr ""
+
+#: integrate.c:184
+msgid "function using setjmp cannot be inline"
+msgstr ""
+
+#: integrate.c:187
+msgid "function uses __builtin_eh_return"
+msgstr ""
+
+#: integrate.c:190
+msgid "function with nested functions cannot be inline"
+msgstr ""
+
+#: integrate.c:194
+msgid "function with label addresses used in initializers cannot inline"
+msgstr ""
+
+#: integrate.c:201 integrate.c:245
+msgid "function too large to be inline"
+msgstr ""
+
+#: integrate.c:211
+msgid "no prototype, and parameter address used; cannot be inline"
+msgstr ""
+
+#: integrate.c:218 integrate.c:263
+msgid "inline functions not supported for this return value type"
+msgstr ""
+
+#: integrate.c:223
+msgid "function with varying-size return value cannot be inline"
+msgstr ""
+
+#: integrate.c:230
+msgid "function with varying-size parameter cannot be inline"
+msgstr ""
+
+#: integrate.c:233
+msgid "function with transparent unit parameter cannot be inline"
+msgstr ""
+
+#: integrate.c:252
+msgid "function with computed jump cannot inline"
+msgstr ""
+
+#: integrate.c:256
+msgid "function with nonlocal goto cannot be inline"
+msgstr ""
+
+#: integrate.c:270
+msgid "function with target specific attribute(s) cannot be inlined"
+msgstr ""
+
+#: line-map.c:198
+#, c-format
+msgid "In file included from %s:%u"
+msgstr ""
+
+#. Translators note: this message is used in conjunction
+#. with "In file included from %s:%ld" and some other
+#. tricks. We want something like this:
+#.
+#. | In file included from sys/select.h:123,
+#. | from sys/types.h:234,
+#. | from userfile.c:31:
+#. | bits/select.h:45: <error message here>
+#.
+#. with all the "from"s lined up.
+#. The trailing comma is at the beginning of this message,
+#. and the trailing colon is not translated.
+#: line-map.c:216
+#, c-format
+msgid ""
+",\n"
+" from %s:%u"
+msgstr ""
+
+#. If we didn't find this parameter, issue an error message.
+#: params.c:80
+#, c-format
+msgid "invalid parameter `%s'"
+msgstr ""
+
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr ""
+
+#: profile.c:400
+msgid ".da file corrupted"
+msgstr ""
+
+#: profile.c:634
+#, c-format
+msgid "corrupted profile info: prob for %d-%d thought to be %d"
+msgstr ""
+
+#: profile.c:1226
+#, c-format
+msgid "file %s not found, execution counts assumed to be zero"
+msgstr ""
+
+#: protoize.c:542
+#, c-format
+msgid "%s: internal abort\n"
+msgstr ""
+
+#: protoize.c:633
+#, c-format
+msgid "%s: error writing file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:678
+#, c-format
+msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+msgstr ""
+
+#: protoize.c:681
+#, c-format
+msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+msgstr ""
+
+#: protoize.c:788
+#, c-format
+msgid "%s: warning: no read access for file `%s'\n"
+msgstr ""
+
+#: protoize.c:796
+#, c-format
+msgid "%s: warning: no write access for file `%s'\n"
+msgstr ""
+
+#: protoize.c:804
+#, c-format
+msgid "%s: warning: no write access for dir containing `%s'\n"
+msgstr ""
+
+#. Catch cases like /.. where we try to backup to a
+#. point above the absolute root of the logical file
+#. system.
+#: protoize.c:1222
+#, c-format
+msgid "%s: invalid file name: %s\n"
+msgstr ""
+
+#: protoize.c:1374
+#, c-format
+msgid "%s: %s: can't get status: %s\n"
+msgstr ""
+
+#: protoize.c:1395
+#, c-format
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
+msgstr ""
+
+#: protoize.c:1731
+#, c-format
+msgid "%s:%d: declaration of function `%s' takes different forms\n"
+msgstr ""
+
+#: protoize.c:1989
+#, c-format
+msgid "%s: compiling `%s'\n"
+msgstr ""
+
+#: protoize.c:2012
+#, c-format
+msgid "%s: wait: %s\n"
+msgstr ""
+
+#: protoize.c:2017
+#, c-format
+msgid "%s: subprocess got fatal signal %d\n"
+msgstr ""
+
+#: protoize.c:2025
+#, c-format
+msgid "%s: %s exited with status %d\n"
+msgstr ""
+
+#: protoize.c:2077
+#, c-format
+msgid "%s: warning: missing SYSCALLS file `%s'\n"
+msgstr ""
+
+#: protoize.c:2086 protoize.c:2115
+#, c-format
+msgid "%s: can't read aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2131 protoize.c:2159
+#, c-format
+msgid "%s: can't get status of aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2187
+#, c-format
+msgid "%s: can't open aux info file `%s' for reading: %s\n"
+msgstr ""
+
+#: protoize.c:2205
+#, c-format
+msgid "%s: error reading aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2218
+#, c-format
+msgid "%s: error closing aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2234
+#, c-format
+msgid "%s: can't delete aux info file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2316 protoize.c:4318
+#, c-format
+msgid "%s: can't delete file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2395
+#, c-format
+msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
+msgstr ""
+
+#: protoize.c:2520
+#, c-format
+msgid "%s: conflicting extern definitions of '%s'\n"
+msgstr ""
+
+#: protoize.c:2524
+#, c-format
+msgid "%s: declarations of '%s' will not be converted\n"
+msgstr ""
+
+#: protoize.c:2526
+#, c-format
+msgid "%s: conflict list for '%s' follows:\n"
+msgstr ""
+
+#: protoize.c:2559
+#, c-format
+msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
+msgstr ""
+
+#: protoize.c:2599
+#, c-format
+msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
+msgstr ""
+
+#: protoize.c:2605
+#, c-format
+msgid "%s: %d: warning: no extern definition for `%s'\n"
+msgstr ""
+
+#: protoize.c:2636
+#, c-format
+msgid "%s: warning: no static definition for `%s' in file `%s'\n"
+msgstr ""
+
+#: protoize.c:2642
+#, c-format
+msgid "%s: multiple static defs of `%s' in file `%s'\n"
+msgstr ""
+
+#: protoize.c:2815 protoize.c:2818
+#, c-format
+msgid "%s: %d: warning: source too confusing\n"
+msgstr ""
+
+#: protoize.c:3024
+#, c-format
+msgid "%s: %d: warning: varargs function declaration not converted\n"
+msgstr ""
+
+#: protoize.c:3039
+#, c-format
+msgid "%s: declaration of function `%s' not converted\n"
+msgstr ""
+
+#: protoize.c:3162
+#, c-format
+msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
+msgstr ""
+
+#: protoize.c:3183
+#, c-format
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
+msgstr ""
+
+#: protoize.c:3281
+#, c-format
+msgid "%s: %d: warning: found `%s' but expected `%s'\n"
+msgstr ""
+
+#: protoize.c:3459
+#, c-format
+msgid "%s: local declaration for function `%s' not inserted\n"
+msgstr ""
+
+#: protoize.c:3486
+#, c-format
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
+msgstr ""
+
+#: protoize.c:3560
+#, c-format
+msgid "%s: global declarations for file `%s' not inserted\n"
+msgstr ""
+
+#: protoize.c:3651 protoize.c:3681
+#, c-format
+msgid "%s: definition of function `%s' not converted\n"
+msgstr ""
+
+#: protoize.c:3670
+#, c-format
+msgid "%s: %d: warning: definition of %s not converted\n"
+msgstr ""
+
+#: 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:4016
+#, c-format
+msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
+msgstr ""
+
+#: protoize.c:4019
+#, c-format
+msgid "%s: function definition not converted\n"
+msgstr ""
+
+#: protoize.c:4078
+#, c-format
+msgid "%s: `%s' not converted\n"
+msgstr ""
+
+#: protoize.c:4086
+#, c-format
+msgid "%s: would convert file `%s'\n"
+msgstr ""
+
+#: protoize.c:4089
+#, c-format
+msgid "%s: converting file `%s'\n"
+msgstr ""
+
+#: protoize.c:4099
+#, c-format
+msgid "%s: can't get status for file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4141
+#, c-format
+msgid "%s: can't open file `%s' for reading: %s\n"
+msgstr ""
+
+#: protoize.c:4156
+#, c-format
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4190
+#, c-format
+msgid "%s: can't create/open clean file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4295
+#, c-format
+msgid "%s: warning: file `%s' already saved in `%s'\n"
+msgstr ""
+
+#: protoize.c:4303
+#, c-format
+msgid "%s: can't link file `%s' to `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4333
+#, c-format
+msgid "%s: can't create/open output file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4366
+#, c-format
+msgid "%s: can't change mode of file `%s': %s\n"
+msgstr ""
+
+#: protoize.c:4541
+#, c-format
+msgid "%s: cannot get working directory: %s\n"
+msgstr ""
+
+#: protoize.c:4639
+#, c-format
+msgid "%s: input file names must have .c suffixes: %s\n"
+msgstr ""
+
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr ""
+
+#: reg-stack.c:670
+#, c-format
+msgid "output constraint %d must specify a single register"
+msgstr ""
+
+#: reg-stack.c:680
+#, c-format
+msgid "output constraint %d cannot be specified together with \"%s\" clobber"
+msgstr ""
+
+#: reg-stack.c:703
+msgid "output regs must be grouped at top of stack"
+msgstr ""
+
+#: reg-stack.c:740
+msgid "implicitly popped regs must be grouped at top of stack"
+msgstr ""
+
+#: reg-stack.c:759
+#, c-format
+msgid "output operand %d must use `&' constraint"
+msgstr ""
+
+#: regclass.c:756
+#, c-format
+msgid "can't use '%s' as a %s register"
+msgstr ""
+
+#: regclass.c:771 config/ia64/ia64.c:4265 config/ia64/ia64.c:4272
+#, c-format
+msgid "unknown register name: %s"
+msgstr ""
+
+#: regclass.c:782
+msgid "global register variable follows a function definition"
+msgstr ""
+
+#: regclass.c:786
+msgid "register used for two global register variables"
+msgstr ""
+
+#: regclass.c:791
+msgid "call-clobbered register used for global register variable"
+msgstr ""
+
+#: regrename.c:1899
+#, c-format
+msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+msgstr ""
+
+#: regrename.c:1911
+#, c-format
+msgid "validate_value_data: Loop in regno chain (%u)"
+msgstr ""
+
+#: regrename.c:1914
+#, c-format
+msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
+msgstr ""
+
+#: regrename.c:1926
+#, c-format
+msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+msgstr ""
+
+#: reload.c:1229
+msgid "cannot reload integer constant operand in `asm'"
+msgstr ""
+
+#: reload.c:1251
+msgid "impossible register constraint in `asm'"
+msgstr ""
+
+#: reload.c:3461
+msgid "`&' constraint used with no register class"
+msgstr ""
+
+#: reload.c:3629
+msgid "unable to generate reloads for:"
+msgstr ""
+
+#: reload.c:3630 reload.c:3844
+msgid "inconsistent operand constraints in an `asm'"
+msgstr ""
+
+#: reload1.c:1250
+msgid "frame size too large for reliable stack checking"
+msgstr ""
+
+#: reload1.c:1253
+msgid "try reducing the number of local variables"
+msgstr ""
+
+#: reload1.c:1909
+#, c-format
+msgid "can't find a register in class `%s' while reloading `asm'"
+msgstr ""
+
+#: reload1.c:1913
+#, c-format
+msgid "unable to find a register to spill in class `%s'"
+msgstr ""
+
+#: reload1.c:1915
+msgid "this is the insn:"
+msgstr ""
+
+#: reload1.c:3938
+msgid "`asm' operand requires impossible reload"
+msgstr ""
+
+#. It's the compiler's fault.
+#: reload1.c:5052
+msgid "could not find a spill register"
+msgstr ""
+
+#: reload1.c:5057
+msgid "`asm' operand constraint incompatible with operand size"
+msgstr ""
+
+#. It's the compiler's fault.
+#: reload1.c:6677
+msgid "VOIDmode on an output"
+msgstr ""
+
+#: reload1.c:6678
+msgid "output operand is constant in `asm'"
+msgstr ""
+
+#: rtl-error.c:140
+msgid "unrecognizable insn:"
+msgstr ""
+
+#: rtl-error.c:142
+msgid "insn does not satisfy its constraints:"
+msgstr ""
+
+#: rtl.c:535
+#, c-format
+msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:550
+#, c-format
+msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:566
+#, c-format
+msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:579
+#, c-format
+msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:593
+#, c-format
+msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:608
+#, c-format
+msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+msgstr ""
+
+#: rtl.c:623
+#, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr ""
+
+#: stmt.c:766
+#, c-format
+msgid "jump to `%s' invalidly jumps into binding contour"
+msgstr ""
+
+#: stmt.c:1002 stmt.c:3766
+#, c-format
+msgid "label `%s' used before containing binding contour"
+msgstr ""
+
+#: stmt.c:1190
+msgid "output operand constraint lacks `='"
+msgstr ""
+
+#: stmt.c:1205
+#, c-format
+msgid "output constraint `%c' for operand %d is not at the beginning"
+msgstr ""
+
+#: stmt.c:1227
+msgid "operand constraint contains incorrectly positioned '+' or '='"
+msgstr ""
+
+#: stmt.c:1233 stmt.c:1337
+#, c-format
+msgid "`%%' constraint used with last operand"
+msgstr ""
+
+#: stmt.c:1252
+msgid "matching constraint not valid in output operand"
+msgstr ""
+
+#: stmt.c:1328
+#, c-format
+msgid "input operand constraint contains `%c'"
+msgstr ""
+
+#: stmt.c:1368
+msgid "matching constraint references invalid operand number"
+msgstr ""
+
+#: stmt.c:1400
+#, c-format
+msgid "invalid punctuation `%c' in constraint"
+msgstr ""
+
+#: stmt.c:1450
+#, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr ""
+
+#: stmt.c:1540
+#, c-format
+msgid "unknown register name `%s' in `asm'"
+msgstr ""
+
+#: stmt.c:1588
+#, c-format
+msgid "more than %d operands in `asm'"
+msgstr ""
+
+#: stmt.c:1650
+#, c-format
+msgid "output number %d not directly addressable"
+msgstr ""
+
+#. ??? Leave this only until we have experience with what
+#. happens in combine and elsewhere when constraints are
+#. not satisfied.
+#: stmt.c:1726 stmt.c:1758
+#, c-format
+msgid "asm operand %d probably doesn't match constraints"
+msgstr ""
+
+#: stmt.c:1889
+msgid "asm clobber conflict with output operand"
+msgstr ""
+
+#: stmt.c:1894
+msgid "asm clobber conflict with input operand"
+msgstr ""
+
+#: stmt.c:1929
+msgid "too many alternatives in `asm'"
+msgstr ""
+
+#: stmt.c:1941
+msgid "operand constraints for `asm' differ in number of alternatives"
+msgstr ""
+
+#: stmt.c:1994
+#, c-format
+msgid "duplicate asm operand name '%s'"
+msgstr ""
+
+#: stmt.c:2081
+msgid "missing close brace for named operand"
+msgstr ""
+
+#: stmt.c:2109
+#, c-format
+msgid "undefined named operand '%s'"
+msgstr ""
+
+#: stmt.c:3703
+#, c-format
+msgid "unused variable `%s'"
+msgstr ""
+
+#: stmt.c:5189
+#, c-format
+msgid "enumeration value `%s' not handled in switch"
+msgstr ""
+
+#: stmt.c:5214 stmt.c:5234
+#, c-format
+msgid "case value `%ld' not in enumerated type"
+msgstr ""
+
+#: stmt.c:5217 stmt.c:5237
+#, c-format
+msgid "case value `%ld' not in enumerated type `%s'"
+msgstr ""
+
+#: stmt.c:5310
+msgid "switch missing default case"
+msgstr ""
+
+#: stor-layout.c:178
+msgid "type size can't be explicitly evaluated"
+msgstr ""
+
+#: stor-layout.c:180
+msgid "variable-size type declared outside of any function"
+msgstr ""
+
+#: stor-layout.c:487
+#, c-format
+msgid "size of `%s' is %d bytes"
+msgstr ""
+
+#: stor-layout.c:489
+#, c-format
+msgid "size of `%s' is larger than %d bytes"
+msgstr ""
+
+#: stor-layout.c:906 stor-layout.c:1322
+#, c-format
+msgid "packed attribute causes inefficient alignment for `%s'"
+msgstr ""
+
+#: stor-layout.c:908 stor-layout.c:1324
+#, c-format
+msgid "packed attribute is unnecessary for `%s'"
+msgstr ""
+
+#: stor-layout.c:923
+#, c-format
+msgid "padding struct to align `%s'"
+msgstr ""
+
+#: stor-layout.c:1286
+msgid "padding struct size to alignment boundary"
+msgstr ""
+
+#: stor-layout.c:1329
+msgid "packed attribute causes inefficient alignment"
+msgstr ""
+
+#: stor-layout.c:1331
+msgid "packed attribute is unnecessary"
+msgstr ""
+
+#: timevar.c:322
+#, c-format
+msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+msgstr ""
+
+#: timevar.c:453
+msgid ""
+"\n"
+"Execution times (seconds)\n"
+msgstr ""
+
+#. Print total time.
+#: timevar.c:503
+msgid " TOTAL :"
+msgstr ""
+
+#: timevar.c:539
+#, c-format
+msgid "time in %s: %ld.%06ld (%ld%%)\n"
+msgstr ""
+
+#: tlink.c:399
+#, c-format
+msgid "collect: reading %s\n"
+msgstr ""
+
+#: tlink.c:502
+#, c-format
+msgid "collect: recompiling %s\n"
+msgstr ""
+
+#: tlink.c:674
+#, c-format
+msgid "collect: tweaking %s in %s\n"
+msgstr ""
+
+#: tlink.c:721
+msgid "collect: relinking\n"
+msgstr ""
+
+#: tlink.c:730
+#, c-format
+msgid "ld returned %d exit status"
+msgstr ""
+
+#: toplev.c:920
+msgid "Generate debugging info in default format"
+msgstr ""
+
+#: toplev.c:921
+msgid "Generate debugging info in default extended format"
+msgstr ""
+
+#: toplev.c:923
+msgid "Generate STABS format debug info"
+msgstr ""
+
+#: toplev.c:924
+msgid "Generate extended STABS format debug info"
+msgstr ""
+
+#: toplev.c:927
+msgid "Generate DWARF-1 format debug info"
+msgstr ""
+
+#: toplev.c:929
+msgid "Generate extended DWARF-1 format debug info"
+msgstr ""
+
+#: toplev.c:932
+msgid "Generate DWARF-2 debug info"
+msgstr ""
+
+#: toplev.c:935
+msgid "Generate XCOFF format debug info"
+msgstr ""
+
+#: toplev.c:936
+msgid "Generate extended XCOFF format debug info"
+msgstr ""
+
+#: toplev.c:939
+msgid "Generate COFF format debug info"
+msgstr ""
+
+#: toplev.c:942
+msgid "Generate VMS format debug info"
+msgstr ""
+
+#: toplev.c:981
+msgid "Perform DWARF2 duplicate elimination"
+msgstr ""
+
+#: toplev.c:983
+msgid "Do not store floats in registers"
+msgstr ""
+
+#: toplev.c:985
+msgid "Consider all mem refs through pointers as volatile"
+msgstr ""
+
+#: toplev.c:987
+msgid "Consider all mem refs to global data to be volatile"
+msgstr ""
+
+#: toplev.c:989
+msgid "Consider all mem refs to static data to be volatile"
+msgstr ""
+
+#: toplev.c:991
+msgid "Defer popping functions args from stack until later"
+msgstr ""
+
+#: toplev.c:993
+msgid "When possible do not generate stack frames"
+msgstr ""
+
+#: toplev.c:995
+msgid "Optimize sibling and tail recursive calls"
+msgstr ""
+
+#: 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:1001
+msgid "When running CSE, follow conditional jumps"
+msgstr ""
+
+#: toplev.c:1003
+msgid "Perform a number of minor, expensive optimizations"
+msgstr ""
+
+#: toplev.c:1005
+msgid "Perform jump threading optimizations"
+msgstr ""
+
+#: toplev.c:1007
+msgid "Perform strength reduction optimizations"
+msgstr ""
+
+#: toplev.c:1009
+msgid "Perform loop unrolling when iteration count is known"
+msgstr ""
+
+#: toplev.c:1011
+msgid "Perform loop unrolling for all loops"
+msgstr ""
+
+#: toplev.c:1013
+msgid "Generate prefetch instructions, if available, for arrays in loops"
+msgstr ""
+
+#: toplev.c:1015
+msgid "Force all loop invariant computations out of loops"
+msgstr ""
+
+#: toplev.c:1017
+msgid "Strength reduce all loop general induction variables"
+msgstr ""
+
+#: toplev.c:1019
+msgid "Store strings in writable data section"
+msgstr ""
+
+#: toplev.c:1021
+msgid "Enable machine specific peephole optimizations"
+msgstr ""
+
+#: toplev.c:1023
+msgid "Copy memory operands into registers before using"
+msgstr ""
+
+#: toplev.c:1025
+msgid "Copy memory address constants into regs before using"
+msgstr ""
+
+#: toplev.c:1027
+msgid "Allow function addresses to be held in registers"
+msgstr ""
+
+#: toplev.c:1029
+msgid "Integrate simple functions into their callers"
+msgstr ""
+
+#: toplev.c:1031
+msgid "Generate code for funcs even if they are fully inlined"
+msgstr ""
+
+#: toplev.c:1033
+msgid "Pay attention to the 'inline' keyword"
+msgstr ""
+
+#: toplev.c:1035
+msgid "Emit static const variables even if they are not used"
+msgstr ""
+
+#: toplev.c:1037
+msgid "Check for syntax errors, then stop"
+msgstr ""
+
+#: toplev.c:1039
+msgid "Mark data as shared rather than private"
+msgstr ""
+
+#: toplev.c:1041
+msgid "Enable saving registers around function calls"
+msgstr ""
+
+#: toplev.c:1043
+msgid "Return 'short' aggregates in memory, not registers"
+msgstr ""
+
+#: toplev.c:1045
+msgid "Return 'short' aggregates in registers"
+msgstr ""
+
+#: toplev.c:1047
+msgid "Attempt to fill delay slots of branch instructions"
+msgstr ""
+
+#: toplev.c:1049
+msgid "Perform the global common subexpression elimination"
+msgstr ""
+
+#: toplev.c:1051
+msgid "Perform enhanced load motion during global subexpression elimination"
+msgstr ""
+
+#: toplev.c:1053
+msgid "Perform store motion after global subexpression elimination"
+msgstr ""
+
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr ""
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr ""
+
+#: 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:1065
+msgid "Run the loop optimizer twice"
+msgstr ""
+
+#: toplev.c:1067
+msgid "Delete useless null pointer checks"
+msgstr ""
+
+#: toplev.c:1069
+msgid "Reschedule instructions before register allocation"
+msgstr ""
+
+#: toplev.c:1071
+msgid "Reschedule instructions after register allocation"
+msgstr ""
+
+#: toplev.c:1073
+msgid "Enable scheduling across basic blocks"
+msgstr ""
+
+#: toplev.c:1075
+msgid "Allow speculative motion of non-loads"
+msgstr ""
+
+#: toplev.c:1077
+msgid "Allow speculative motion of some loads"
+msgstr ""
+
+#: toplev.c:1079
+msgid "Allow speculative motion of more loads"
+msgstr ""
+
+#: toplev.c:1081
+msgid "Replace add,compare,branch with branch on count reg"
+msgstr ""
+
+#: toplev.c:1083
+msgid "Generate position independent code, if possible"
+msgstr ""
+
+#: toplev.c:1086
+msgid "Enable exception handling"
+msgstr ""
+
+#: toplev.c:1088
+msgid "Just generate unwind tables for exception handling"
+msgstr ""
+
+#: toplev.c:1090
+msgid "Generate unwind tables exact at each instruction boundary"
+msgstr ""
+
+#: toplev.c:1092
+msgid "Support synchronous non-call exceptions"
+msgstr ""
+
+#: toplev.c:1094
+msgid "Insert arc based program profiling code"
+msgstr ""
+
+#: toplev.c:1096
+msgid "Create data files needed by gcov"
+msgstr ""
+
+#: toplev.c:1098
+msgid "Use profiling information for branch probabilities"
+msgstr ""
+
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr ""
+
+#: toplev.c:1102
+msgid "Reorder basic blocks to improve code placement"
+msgstr ""
+
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr ""
+
+#: toplev.c:1106
+msgid "Do the register renaming optimization pass"
+msgstr ""
+
+#: toplev.c:1108
+msgid "Do the register copy-propagation optimization pass"
+msgstr ""
+
+#: toplev.c:1110
+msgid "Do not put uninitialized globals in the common section"
+msgstr ""
+
+#: toplev.c:1112
+msgid "Do not generate .size directives"
+msgstr ""
+
+#: toplev.c:1114
+msgid "place each function into its own section"
+msgstr ""
+
+#: toplev.c:1116
+msgid "place data items into their own section"
+msgstr ""
+
+#: toplev.c:1118
+msgid "Add extra commentary to assembler output"
+msgstr ""
+
+#: toplev.c:1120
+msgid "Output GNU ld formatted global initializers"
+msgstr ""
+
+#: toplev.c:1122
+msgid "Enables a register move optimization"
+msgstr ""
+
+#: toplev.c:1124
+msgid "Do the full regmove optimization pass"
+msgstr ""
+
+#: toplev.c:1126
+msgid "Pack structure members together without holes"
+msgstr ""
+
+#: toplev.c:1128
+msgid "Insert stack checking code into the program"
+msgstr ""
+
+#: toplev.c:1130
+msgid "Specify that arguments may alias each other & globals"
+msgstr ""
+
+#: toplev.c:1132
+msgid "Assume arguments may alias globals but not each other"
+msgstr ""
+
+#: toplev.c:1134
+msgid "Assume arguments do not alias each other or globals"
+msgstr ""
+
+#: toplev.c:1136
+msgid "Assume strict aliasing rules apply"
+msgstr ""
+
+#: toplev.c:1138
+msgid "Align the start of loops"
+msgstr ""
+
+#: toplev.c:1140
+msgid "Align labels which are only reached by jumping"
+msgstr ""
+
+#: toplev.c:1142
+msgid "Align all labels"
+msgstr ""
+
+#: toplev.c:1144
+msgid "Align the start of functions"
+msgstr ""
+
+#: toplev.c:1146
+msgid "Attempt to merge identical constants across compilation units"
+msgstr ""
+
+#: toplev.c:1148
+msgid "Attempt to merge identical constants and constant variables"
+msgstr ""
+
+#: toplev.c:1150
+msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
+msgstr ""
+
+#: toplev.c:1152
+msgid "Instrument function entry/exit with profiling calls"
+msgstr ""
+
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr ""
+
+#: toplev.c:1156
+msgid "Enable SSA optimizations"
+msgstr ""
+
+#: toplev.c:1158
+msgid "Enable SSA conditional constant propagation"
+msgstr ""
+
+#: toplev.c:1160
+msgid "Enable aggressive SSA dead code elimination"
+msgstr ""
+
+#: toplev.c:1162
+msgid "External symbols have a leading underscore"
+msgstr ""
+
+#: toplev.c:1164
+msgid "Process #ident directives"
+msgstr ""
+
+#: toplev.c:1166
+msgid "Enables an rtl peephole pass run before sched2"
+msgstr ""
+
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr ""
+
+#: toplev.c:1170
+msgid "Enables guessing of branch probabilities"
+msgstr ""
+
+#: toplev.c:1172
+msgid "Set errno after built-in math functions"
+msgstr ""
+
+#: toplev.c:1174
+msgid "Floating-point operations can trap"
+msgstr ""
+
+#: toplev.c:1176
+msgid "Allow math optimizations that may violate IEEE or ANSI standards"
+msgstr ""
+
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
+msgstr ""
+
+#: toplev.c:1180
+msgid "Generate code to check bounds before indexing arrays"
+msgstr ""
+
+#: toplev.c:1182
+msgid "Convert floating point constant to single precision constant"
+msgstr ""
+
+#: toplev.c:1184
+msgid "Report time taken by each compiler pass at end of run"
+msgstr ""
+
+#: toplev.c:1186
+msgid "Report on permanent memory allocation at end of run"
+msgstr ""
+
+#: toplev.c:1188
+msgid "Trap for signed overflow in addition / subtraction / multiplication"
+msgstr ""
+
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
+msgstr ""
+
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
+msgstr ""
+
+#: toplev.c:1209
+msgid "Determine language standard"
+msgstr ""
+
+#: toplev.c:1213
+msgid "Make bit-fields by unsigned by default"
+msgstr ""
+
+#: toplev.c:1217
+msgid "Make 'char' be signed by default"
+msgstr ""
+
+#: toplev.c:1219
+msgid "Make 'char' be unsigned by default"
+msgstr ""
+
+#: toplev.c:1225
+msgid "Do not recognize the 'asm' keyword"
+msgstr ""
+
+#: toplev.c:1228
+msgid "Do not recognize any built in functions"
+msgstr ""
+
+#: toplev.c:1230
+msgid "Assume normal C execution environment"
+msgstr ""
+
+#: toplev.c:1233
+msgid "Assume that standard libraries & main might not exist"
+msgstr ""
+
+#: toplev.c:1236
+msgid "Allow different types as args of ? operator"
+msgstr ""
+
+#: toplev.c:1239
+msgid "Allow the use of $ inside identifiers"
+msgstr ""
+
+#: toplev.c:1244
+msgid "Use the same size for double as for float"
+msgstr ""
+
+#: toplev.c:1247
+msgid "Use the smallest fitting integer to hold enums"
+msgstr ""
+
+#: toplev.c:1250
+msgid "Override the underlying type for wchar_t to `unsigned short'"
+msgstr ""
+
+#: toplev.c:1254
+msgid "Enable most warning messages"
+msgstr ""
+
+#: toplev.c:1256
+msgid "Warn about casting functions to incompatible types"
+msgstr ""
+
+#: toplev.c:1259
+msgid "Warn about functions which might be candidates for format attributes"
+msgstr ""
+
+#: toplev.c:1262
+msgid "Warn about casts which discard qualifiers"
+msgstr ""
+
+#: toplev.c:1265
+msgid "Warn about subscripts whose type is 'char'"
+msgstr ""
+
+#: toplev.c:1268 toplev.c:1271
+msgid "Warn if nested comments are detected"
+msgstr ""
+
+#: toplev.c:1274
+msgid "Warn about possibly confusing type conversions"
+msgstr ""
+
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
+msgstr ""
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr ""
+
+#: toplev.c:1283
+msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+msgstr ""
+
+#: toplev.c:1287
+msgid "Don't warn about too many arguments to format functions"
+msgstr ""
+
+#: toplev.c:1289
+msgid "Warn about non-string-literal format strings"
+msgstr ""
+
+#: toplev.c:1292
+msgid "Warn about possible security problems with format functions"
+msgstr ""
+
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr ""
+
+#: toplev.c:1298
+msgid "Warn about implicit function declarations"
+msgstr ""
+
+#: toplev.c:1302
+msgid "Warn when a declaration does not specify a type"
+msgstr ""
+
+#: toplev.c:1307
+msgid "Warn about the use of the #import directive"
+msgstr ""
+
+#: toplev.c:1311
+msgid "Do not warn about using 'long long' when -pedantic"
+msgstr ""
+
+#: toplev.c:1313
+msgid "Warn about suspicious declarations of main"
+msgstr ""
+
+#: toplev.c:1316
+msgid "Warn about possibly missing braces around initializers"
+msgstr ""
+
+#: toplev.c:1319
+msgid "Warn about global funcs without previous declarations"
+msgstr ""
+
+#: toplev.c:1322
+msgid "Warn about global funcs without prototypes"
+msgstr ""
+
+#: toplev.c:1325
+msgid "Warn about use of multicharacter literals"
+msgstr ""
+
+#: toplev.c:1328
+msgid "Warn about externs not at file scope level"
+msgstr ""
+
+#: toplev.c:1331
+msgid "Warn about possible missing parentheses"
+msgstr ""
+
+#: toplev.c:1334
+msgid "Warn about function pointer arithmetic"
+msgstr ""
+
+#: toplev.c:1337
+msgid "Warn about multiple declarations of the same object"
+msgstr ""
+
+#: toplev.c:1340
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr ""
+
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr ""
+
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr ""
+
+#: toplev.c:1349
+msgid "Warn about non-prototyped function decls"
+msgstr ""
+
+#: toplev.c:1352
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr ""
+
+#: toplev.c:1355
+msgid "Warn when trigraphs are encountered"
+msgstr ""
+
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr ""
+
+#: toplev.c:1363
+msgid "Mark strings as 'const char *'"
+msgstr ""
+
+#: toplev.c:1508
+msgid "Warn when a function is unused"
+msgstr ""
+
+#: toplev.c:1510
+msgid "Warn when a label is unused"
+msgstr ""
+
+#: toplev.c:1512
+msgid "Warn when a function parameter is unused"
+msgstr ""
+
+#: toplev.c:1514
+msgid "Warn when a variable is unused"
+msgstr ""
+
+#: toplev.c:1516
+msgid "Warn when an expression value is unused"
+msgstr ""
+
+#: toplev.c:1518
+msgid "Do not suppress warnings from system headers"
+msgstr ""
+
+#: toplev.c:1520
+msgid "Treat all warnings as errors"
+msgstr ""
+
+#: toplev.c:1522
+msgid "Warn when one local variable shadows another"
+msgstr ""
+
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr ""
+
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
+msgstr ""
+
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr ""
+
+#: toplev.c:1530
+msgid "Warn about returning structures, unions or arrays"
+msgstr ""
+
+#: toplev.c:1532
+msgid "Warn about pointer casts which increase alignment"
+msgstr ""
+
+#: toplev.c:1534
+msgid "Warn about code that will never be executed"
+msgstr ""
+
+#: toplev.c:1536
+msgid "Warn about uninitialized automatic variables"
+msgstr ""
+
+#: toplev.c:1538
+msgid "Warn when an inlined function cannot be inlined"
+msgstr ""
+
+#: toplev.c:1540
+msgid "Warn when the packed attribute has no effect on struct layout"
+msgstr ""
+
+#: toplev.c:1542
+msgid "Warn when padding is required to align struct members"
+msgstr ""
+
+#: toplev.c:1544
+msgid "Warn when an optimization pass is disabled"
+msgstr ""
+
+#: toplev.c:1546
+msgid "Warn about uses of __attribute__((deprecated)) declarations"
+msgstr ""
+
+#: toplev.c:1548
+msgid "Warn about functions which might be candidates for attribute noreturn"
+msgstr ""
+
+#: toplev.c:1550
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr ""
+
+#: toplev.c:1627 toplev.c:4522 config/rs6000/rs6000.c:680
+#, c-format
+msgid "invalid option `%s'"
+msgstr "ungültige Option »%s«"
+
+#: toplev.c:2031
+#, c-format
+msgid "`%s' used but never defined"
+msgstr "»%s« verwendet, aber nirgendwo definiert"
+
+#: toplev.c:2034
+#, c-format
+msgid "`%s' declared `static' but never defined"
+msgstr "»%s« als »static« deklariert, aber nirgendwo definiert"
+
+#: toplev.c:2057
+#, c-format
+msgid "`%s' defined but not used"
+msgstr "»%s« definiert, aber nicht verwendet"
+
+#: toplev.c:2280
+#, c-format
+msgid "invalid register name `%s' for register variable"
+msgstr ""
+
+#: toplev.c:3679
+msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
+msgstr ""
+
+#: toplev.c:3680
+msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
+msgstr ""
+
+#: toplev.c:3681
+msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
+msgstr ""
+
+#: toplev.c:3682
+msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
+msgstr ""
+
+#: toplev.c:3683
+msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
+msgstr ""
+
+#: toplev.c:3684
+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:3685
+msgid " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"
+msgstr ""
+
+#: toplev.c:3696
+msgid " -O[number] Set optimization level to [number]\n"
+msgstr ""
+
+#: toplev.c:3697
+msgid " -Os Optimize for space rather than speed\n"
+msgstr ""
+
+#: toplev.c:3709
+msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
+msgstr ""
+
+#: toplev.c:3710
+msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+msgstr ""
+
+#: toplev.c:3711
+msgid " -w Suppress warnings\n"
+msgstr ""
+
+#: toplev.c:3712
+msgid " -W Enable extra warnings\n"
+msgstr ""
+
+#: toplev.c:3723
+msgid " -Wunused Enable unused warnings\n"
+msgstr ""
+
+#: toplev.c:3724
+msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
+msgstr ""
+
+#: toplev.c:3725
+msgid " -p Enable function profiling\n"
+msgstr ""
+
+#: toplev.c:3726
+msgid " -o <file> Place output into <file> \n"
+msgstr ""
+
+#: toplev.c:3727
+msgid ""
+" -G <number> Put global and static data smaller than <number>\n"
+" bytes into a special section (on some targets)\n"
+msgstr ""
+
+#: toplev.c:3738
+msgid " -aux-info <file> Emit declaration info into <file>\n"
+msgstr ""
+
+#: toplev.c:3739
+msgid " -quiet Do not display functions compiled or elapsed time\n"
+msgstr ""
+
+#: toplev.c:3740
+msgid " -version Display the compiler's version\n"
+msgstr ""
+
+#: toplev.c:3741
+msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
+msgstr ""
+
+#: toplev.c:3742
+msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
+msgstr ""
+
+#: toplev.c:3744
+msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
+msgstr ""
+
+#: toplev.c:3746
+msgid " --help Display this information\n"
+msgstr ""
+
+#: toplev.c:3761
+msgid ""
+"\n"
+"Language specific options:\n"
+msgstr ""
+
+#: toplev.c:3773
+#, c-format
+msgid " %-23.23s [undocumented]\n"
+msgstr ""
+
+#: toplev.c:3781 toplev.c:3795
+#, c-format
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
+msgstr ""
+
+#: toplev.c:3785
+#, c-format
+msgid ""
+"\n"
+" Options for %s:\n"
+msgstr ""
+
+#: toplev.c:3822
+msgid ""
+"\n"
+"Target specific options:\n"
+msgstr ""
+
+#: toplev.c:3836 toplev.c:3855
+#, c-format
+msgid " -m%-23.23s [undocumented]\n"
+msgstr ""
+
+#: toplev.c:3864
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
+msgstr ""
+
+#: toplev.c:3866
+msgid " They exist, but they are not documented.\n"
+msgstr ""
+
+#: toplev.c:3919
+#, c-format
+msgid "unrecognized gcc debugging option: %c"
+msgstr ""
+
+#: toplev.c:3985
+#, c-format
+msgid "`%s': unknown tls-model option"
+msgstr ""
+
+#: toplev.c:4012
+#, c-format
+msgid "unrecognized register name `%s'"
+msgstr ""
+
+#: toplev.c:4037 toplev.c:4980
+#, c-format
+msgid "unrecognized option `%s'"
+msgstr ""
+
+#: toplev.c:4081
+msgid "-Wid-clash-LEN is no longer supported"
+msgstr ""
+
+#: toplev.c:4158
+#, c-format
+msgid "use -gdwarf -g%d for DWARF v1, level %d"
+msgstr ""
+
+#: toplev.c:4161
+msgid "use -gdwarf-2 for DWARF v2"
+msgstr ""
+
+#: toplev.c:4166
+#, c-format
+msgid "ignoring option `%s' due to invalid debug level specification"
+msgstr ""
+
+#: toplev.c:4189 toplev.c:4978
+#, c-format
+msgid "`%s': unknown or unsupported -g option"
+msgstr ""
+
+#: toplev.c:4196
+#, c-format
+msgid "`%s' ignored, conflicts with `-g%s'"
+msgstr ""
+
+#: toplev.c:4278
+msgid "-param option missing argument"
+msgstr ""
+
+#: toplev.c:4287
+#, c-format
+msgid "invalid --param option: %s"
+msgstr ""
+
+#: toplev.c:4299
+#, c-format
+msgid "invalid parameter value `%s'"
+msgstr ""
+
+#: toplev.c:4539
+#, c-format
+msgid ""
+"%s%s%s version %s (%s)\n"
+"%s\tcompiled by GNU C version %s.\n"
+"%s%s%s version %s (%s) compiled by CC.\n"
+msgstr ""
+
+#: toplev.c:4546
+#, c-format
+msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+msgstr ""
+
+#: toplev.c:4598
+msgid "options passed: "
+msgstr ""
+
+#: toplev.c:4627
+msgid "options enabled: "
+msgstr ""
+
+#: toplev.c:4686 java/jcf-write.c:3453
+#, c-format
+msgid "can't open %s for writing"
+msgstr ""
+
+#: toplev.c:4970
+#, c-format
+msgid "ignoring command line option '%s'"
+msgstr ""
+
+#: toplev.c:4973
+#, c-format
+msgid "(it is valid for %s but not the selected language)"
+msgstr ""
+
+#: toplev.c:5007
+msgid "-Wuninitialized is not supported without -O"
+msgstr ""
+
+#: toplev.c:5062
+msgid "instruction scheduling not supported on this target machine"
+msgstr ""
+
+#: toplev.c:5066
+msgid "this target machine does not have delayed branches"
+msgstr ""
+
+#: toplev.c:5080
+#, c-format
+msgid "-f%sleading-underscore not supported on this target machine"
+msgstr ""
+
+#: toplev.c:5143
+msgid "-ffunction-sections not supported for this target"
+msgstr ""
+
+#: toplev.c:5148
+msgid "-fdata-sections not supported for this target"
+msgstr ""
+
+#: toplev.c:5155
+msgid "-ffunction-sections disabled; it makes profiling impossible"
+msgstr ""
+
+#: toplev.c:5162
+msgid "-fprefetch-loop-arrays not supported for this target"
+msgstr ""
+
+#: toplev.c:5168
+msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+msgstr ""
+
+#: toplev.c:5177
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr ""
+
+#: toplev.c:5183
+msgid "-ffunction-sections may affect debugging on some targets"
+msgstr ""
+
+#: toplev.c:5295
+#, c-format
+msgid "error writing to %s"
+msgstr ""
+
+#: toplev.c:5297 java/jcf-parse.c:936 java/jcf-write.c:3460
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: tree-dump.c:702
+#, c-format
+msgid "could not open dump file `%s'"
+msgstr ""
+
+#: tree-dump.c:778
+#, c-format
+msgid "ignoring unknown option `%.*s' in `-f%s'"
+msgstr ""
+
+#: tree.c:3645
+msgid "arrays of functions are not meaningful"
+msgstr ""
+
+#: tree.c:3702
+msgid "function return type cannot be function"
+msgstr ""
+
+#: tree.c:4545
+msgid "invalid initializer for bit string"
+msgstr ""
+
+#: tree.c:4604
+#, c-format
+msgid "tree check: expected %s, have %s in %s, at %s:%d"
+msgstr ""
+
+#: tree.c:4621
+#, c-format
+msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
+msgstr ""
+
+#: tree.c:4638
+#, 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:841
+#, c-format
+msgid "register name not specified for `%s'"
+msgstr ""
+
+#: varasm.c:843
+#, c-format
+msgid "invalid register name for `%s'"
+msgstr ""
+
+#: varasm.c:846
+#, c-format
+msgid "data type of `%s' isn't suitable for a register"
+msgstr ""
+
+#: varasm.c:849
+#, c-format
+msgid "register specified for `%s' isn't suitable for data type"
+msgstr ""
+
+#: varasm.c:858
+msgid "global register variable has initial value"
+msgstr ""
+
+#: varasm.c:861
+msgid "volatile register variables don't work as you might wish"
+msgstr ""
+
+#: varasm.c:894
+#, c-format
+msgid "register name given for non-register variable `%s'"
+msgstr ""
+
+#: varasm.c:1542
+#, c-format
+msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
+msgstr ""
+
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
+msgstr ""
+
+#: varasm.c:1610
+#, c-format
+msgid "requested alignment for %s is greater than implemented alignment of %d"
+msgstr ""
+
+#: varasm.c:4023
+msgid "initializer for integer value is too complicated"
+msgstr ""
+
+#: varasm.c:4028
+msgid "initializer for floating value is not a floating constant"
+msgstr ""
+
+#: varasm.c:4078
+msgid "unknown set constructor type"
+msgstr ""
+
+#: varasm.c:4292
+#, c-format
+msgid "invalid initial value for member `%s'"
+msgstr ""
+
+#: varasm.c:4483 varasm.c:4526
+#, c-format
+msgid "weak declaration of `%s' must precede definition"
+msgstr ""
+
+#: varasm.c:4490
+#, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr ""
+
+#: varasm.c:4524
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr ""
+
+#: varasm.c:4533
+#, c-format
+msgid "weak declaration of `%s' not supported"
+msgstr ""
+
+#: varasm.c:4560 varasm.c:4635
+msgid "only weak aliases are supported in this configuration"
+msgstr ""
+
+#: varasm.c:4643
+msgid "alias definitions not supported in this configuration; ignored"
+msgstr ""
+
+#: varasm.c:4674
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr ""
+
+#: 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:175
+#, c-format
+msgid "no sclass for %s stab (0x%x)\n"
+msgstr ""
+
+#: pretty-print.h:97
+#, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "#»%s« wird von %s# nicht unterstützt"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eligible for inlining"
+msgstr ""
+
+#: params.def:65
+msgid "The maximum number of instructions when automatically inlining"
+msgstr ""
+
+#: params.def:84
+msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+msgstr ""
+
+#: params.def:97
+msgid "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter"
+msgstr ""
+
+#: params.def:110
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+msgstr ""
+
+#: params.def:120
+msgid "The maximum number of instructions for the RTL inliner"
+msgstr ""
+
+#: params.def:131
+msgid "The maximum number of instructions to consider to fill a delay slot"
+msgstr ""
+
+#: params.def:142
+msgid "The maximum number of instructions to consider to find accurate live register information"
+msgstr ""
+
+#: params.def:152
+msgid "The maximum length of scheduling's pending operations list"
+msgstr ""
+
+#: params.def:159
+msgid "The maximum amount of memory to be allocated by GCSE"
+msgstr ""
+
+#: params.def:164
+msgid "The maximum number of passes to make when doing GCSE"
+msgstr ""
+
+#: params.def:171
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr ""
+
+#: params.def:176
+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 ""
+
+#: params.def:181
+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 ""
+
+#: params.def:186
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+msgstr ""
+
+#: params.def:191
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+msgstr ""
+
+#: params.def:196
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr ""
+
+#: params.def:200
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr ""
+
+#: params.def:205
+msgid "Stop forward growth if the probability of best edge is less than this threshold (in percents). Used when profile feedback is available"
+msgstr ""
+
+#: params.def:210
+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 ""
+
+#: params.def:217
+msgid "The maximum number of incoming edges to consider for crossjumping"
+msgstr ""
+
+#: params.def:230
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr ""
+
+#: params.def:236
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr ""
+
+#: config/darwin-c.c:75
+msgid "too many #pragma options align=reset"
+msgstr ""
+
+#: 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/darwin-c.c:107
+msgid "junk at end of '#pragma options'"
+msgstr ""
+
+#: config/darwin-c.c:117
+msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:130
+msgid "missing '(' after '#pragma unused', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:148
+msgid "missing ')' after '#pragma unused', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:151
+msgid "junk at end of '#pragma unused'"
+msgstr ""
+
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
+msgid "-msystem-v and -p are incompatible"
+msgstr ""
+
+#: 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:342
+#, c-format
+msgid "-f%s ignored for Unicos/Mk (not supported)"
+msgstr ""
+
+#: config/alpha/alpha.c:366
+msgid "-mieee not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:377
+msgid "-mieee-with-inexact not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:394
+#, c-format
+msgid "bad value `%s' for -mtrap-precision switch"
+msgstr ""
+
+#: config/alpha/alpha.c:408
+#, c-format
+msgid "bad value `%s' for -mfp-rounding-mode switch"
+msgstr ""
+
+#: config/alpha/alpha.c:423
+#, c-format
+msgid "bad value `%s' for -mfp-trap-mode switch"
+msgstr ""
+
+#: 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:473
+msgid "trap mode not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:480
+msgid "fp software completion requires -mtrap-precision=i"
+msgstr ""
+
+#: config/alpha/alpha.c:496
+msgid "rounding mode not supported for VAX floats"
+msgstr ""
+
+#: config/alpha/alpha.c:501
+msgid "trap mode not supported for VAX floats"
+msgstr ""
+
+#: config/alpha/alpha.c:530
+#, c-format
+msgid "L%d cache latency unknown for %s"
+msgstr ""
+
+#: config/alpha/alpha.c:545
+#, c-format
+msgid "bad value `%s' for -mmemory-latency"
+msgstr ""
+
+#: config/alpha/alpha.c:5608 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:5629
+#, c-format
+msgid "invalid %%J value"
+msgstr ""
+
+#: config/alpha/alpha.c:5645 config/ia64/ia64.c:3931 config/m88k/m88k.c:3034
+#, c-format
+msgid "invalid %%r value"
+msgstr ""
+
+#: config/alpha/alpha.c:5655 config/rs6000/rs6000.c:7734
+#, c-format
+msgid "invalid %%R value"
+msgstr ""
+
+#: config/alpha/alpha.c:5661 config/rs6000/rs6000.c:7660
+#, c-format
+msgid "invalid %%N value"
+msgstr ""
+
+#: config/alpha/alpha.c:5669 config/rs6000/rs6000.c:7688
+#, c-format
+msgid "invalid %%P value"
+msgstr ""
+
+#: config/alpha/alpha.c:5677 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:5685 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr ""
+
+#: config/alpha/alpha.c:5724 config/rs6000/rs6000.c:7642
+#, c-format
+msgid "invalid %%m value"
+msgstr ""
+
+#: config/alpha/alpha.c:5732 config/rs6000/rs6000.c:7650
+#, c-format
+msgid "invalid %%M value"
+msgstr ""
+
+#: config/alpha/alpha.c:5776
+#, c-format
+msgid "invalid %%U value"
+msgstr ""
+
+#: config/alpha/alpha.c:5788 config/alpha/alpha.c:5802 config/romp/romp.c:706
+#: config/rs6000/rs6000.c:7742
+#, c-format
+msgid "invalid %%s value"
+msgstr ""
+
+#: config/alpha/alpha.c:5825 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr ""
+
+#: config/alpha/alpha.c:5862 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7499
+#, c-format
+msgid "invalid %%E value"
+msgstr ""
+
+#: config/alpha/alpha.c:5887 config/alpha/alpha.c:5937
+msgid "unknown relocation unspec"
+msgstr ""
+
+#: config/alpha/alpha.c:5896 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8049
+#, c-format
+msgid "invalid %%xn code"
+msgstr ""
+
+#: config/alpha/alpha.c:6622 config/alpha/alpha.c:6625 config/s390/s390.c:6008
+#: config/s390/s390.c:6011
+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: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: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:281
+msgid "Use fp registers"
+msgstr ""
+
+#: config/alpha/alpha.h:283
+msgid "Do not use fp registers"
+msgstr ""
+
+#: config/alpha/alpha.h:284
+msgid "Do not assume GAS"
+msgstr ""
+
+#: config/alpha/alpha.h:285
+msgid "Assume GAS"
+msgstr ""
+
+#: config/alpha/alpha.h:287
+msgid "Request IEEE-conformant math library routines (OSF/1)"
+msgstr ""
+
+#: config/alpha/alpha.h:289
+msgid "Emit IEEE-conformant code, without inexact exceptions"
+msgstr ""
+
+#: config/alpha/alpha.h:291
+msgid "Emit IEEE-conformant code, with inexact exceptions"
+msgstr ""
+
+#: config/alpha/alpha.h:293
+msgid "Do not emit complex integer constants to read-only memory"
+msgstr ""
+
+#: config/alpha/alpha.h:294
+msgid "Use VAX fp"
+msgstr ""
+
+#: config/alpha/alpha.h:295
+msgid "Do not use VAX fp"
+msgstr ""
+
+#: config/alpha/alpha.h:296
+msgid "Emit code for the byte/word ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:299
+msgid "Emit code for the motion video ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:302
+msgid "Emit code for the fp move and sqrt ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:304
+msgid "Emit code for the counting ISA extension"
+msgstr ""
+
+#: config/alpha/alpha.h:307
+msgid "Emit code using explicit relocation directives"
+msgstr ""
+
+#: config/alpha/alpha.h:310
+msgid "Emit 16-bit relocations to the small data areas"
+msgstr ""
+
+#: 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=
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
+msgid "Use features of and schedule given CPU"
+msgstr ""
+
+#: config/alpha/alpha.h:345
+msgid "Schedule given CPU"
+msgstr ""
+
+#: config/alpha/alpha.h:347
+msgid "Control the generated fp rounding mode"
+msgstr ""
+
+#: config/alpha/alpha.h:349
+msgid "Control the IEEE trap mode"
+msgstr ""
+
+#: config/alpha/alpha.h:351
+msgid "Control the precision given to fp exceptions"
+msgstr ""
+
+#: config/alpha/alpha.h:353
+msgid "Tune expected memory latency"
+msgstr ""
+
+#: config/alpha/alpha.h:355 config/ia64/ia64.h:225
+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:362
+#, c-format
+msgid "argument of `%s' attribute is not a string constant"
+msgstr ""
+
+#: config/arc/arc.c:369
+#, c-format
+msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
+msgstr ""
+
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, c-format
+msgid "invalid operand to %%R code"
+msgstr ""
+
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, c-format
+msgid "invalid operand to %%H/%%L code"
+msgstr ""
+
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, c-format
+msgid "invalid operand to %%U code"
+msgstr ""
+
+#: config/arc/arc.c:1774
+#, c-format
+msgid "invalid operand to %%V code"
+msgstr ""
+
+#. Unknown flag.
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6488
+msgid "invalid operand output code"
+msgstr ""
+
+#: config/arm/arm.c:459
+#, c-format
+msgid "switch -mcpu=%s conflicts with -march= switch"
+msgstr ""
+
+#: config/arm/arm.c:469 config/rs6000/rs6000.c:558 config/sparc/sparc.c:393
+#, c-format
+msgid "bad value (%s) for %s switch"
+msgstr ""
+
+#: config/arm/arm.c:605
+msgid "target CPU does not support APCS-32"
+msgstr ""
+
+#: config/arm/arm.c:610
+msgid "target CPU does not support APCS-26"
+msgstr ""
+
+#: config/arm/arm.c:616
+msgid "target CPU does not support interworking"
+msgstr ""
+
+#: config/arm/arm.c:622
+msgid "target CPU does not support THUMB instructions"
+msgstr ""
+
+#: config/arm/arm.c:636
+msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
+msgstr ""
+
+#: config/arm/arm.c:639
+msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
+msgstr ""
+
+#: config/arm/arm.c:642
+msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
+msgstr ""
+
+#: config/arm/arm.c:648
+msgid "interworking forces APCS-32 to be used"
+msgstr ""
+
+#: config/arm/arm.c:654
+msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
+msgstr ""
+
+#: config/arm/arm.c:662
+msgid "-fpic and -mapcs-reent are incompatible"
+msgstr ""
+
+#: config/arm/arm.c:665
+msgid "APCS reentrant code not supported. Ignored"
+msgstr ""
+
+#: config/arm/arm.c:673
+msgid "-g with -mno-apcs-frame may not give sensible debugging"
+msgstr ""
+
+#: config/arm/arm.c:681
+msgid "passing floating point arguments in fp regs not yet supported"
+msgstr ""
+
+#: config/arm/arm.c:710
+#, c-format
+msgid "invalid floating point emulation option: -mfpe-%s"
+msgstr ""
+
+#: config/arm/arm.c:734
+msgid "structure size boundary can only be set to 8 or 32"
+msgstr ""
+
+#: config/arm/arm.c:742
+msgid "-mpic-register= is useless without -fpic"
+msgstr ""
+
+#: config/arm/arm.c:749
+#, c-format
+msgid "unable to use '%s' for PIC register"
+msgstr ""
+
+#: config/arm/arm.c:2061 config/arm/arm.c:2084 config/avr/avr.c:4794
+#: config/c4x/c4x.c:4644 config/h8300/h8300.c:3667 config/i386/i386.c:1396
+#: config/i386/i386.c:1425 config/ip2k/ip2k.c:3224
+#: config/m68hc11/m68hc11.c:1267 config/mcore/mcore.c:3510
+#: config/ns32k/ns32k.c:1047 config/rs6000/rs6000.c:12519 config/sh/sh.c:5681
+#: config/sh/sh.c:5706 config/sh/sh.c:5745 config/stormy16/stormy16.c:2026
+#: config/v850/v850.c:2180
+#, c-format
+msgid "`%s' attribute only applies to functions"
+msgstr ""
+
+#: config/arm/arm.c:9485
+msgid "unable to compute real location of stacked parameter"
+msgstr ""
+
+#: config/arm/arm.c:10164
+msgid "no low registers available for popping high registers"
+msgstr ""
+
+#: config/arm/arm.c:10415
+msgid "interrupt Service Routines cannot be coded in Thumb mode"
+msgstr ""
+
+#: 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:312
+#, c-format
+msgid "static variable `%s' is marked dllimport"
+msgstr ""
+
+#: config/arm/arm.h:416
+msgid "Generate APCS conformant stack frames"
+msgstr ""
+
+#: config/arm/arm.h:419
+msgid "Store function names in object code"
+msgstr ""
+
+#: config/arm/arm.h:423
+msgid "Use the 32-bit version of the APCS"
+msgstr ""
+
+#: config/arm/arm.h:425
+msgid "Use the 26-bit version of the APCS"
+msgstr ""
+
+#: config/arm/arm.h:429
+msgid "Pass FP arguments in FP registers"
+msgstr ""
+
+#: config/arm/arm.h:432
+msgid "Generate re-entrant, PIC code"
+msgstr ""
+
+#: config/arm/arm.h:435
+msgid "The MMU will trap on unaligned accesses"
+msgstr ""
+
+#: config/arm/arm.h:442
+msgid "Use library calls to perform FP operations"
+msgstr ""
+
+#: config/arm/arm.h:444 config/i960/i960.h:281
+msgid "Use hardware floating point instructions"
+msgstr ""
+
+#: config/arm/arm.h:446
+msgid "Assume target CPU is configured as big endian"
+msgstr ""
+
+#: config/arm/arm.h:448
+msgid "Assume target CPU is configured as little endian"
+msgstr ""
+
+#: config/arm/arm.h:450
+msgid "Assume big endian bytes, little endian words"
+msgstr ""
+
+#: config/arm/arm.h:452
+msgid "Support calls between Thumb and ARM instruction sets"
+msgstr ""
+
+#: config/arm/arm.h:455
+msgid "Generate a call to abort if a noreturn function returns"
+msgstr ""
+
+#: config/arm/arm.h:458
+msgid "Do not move instructions into a function's prologue"
+msgstr ""
+
+#: config/arm/arm.h:461
+msgid "Do not load the PIC register in function prologues"
+msgstr ""
+
+#: config/arm/arm.h:464
+msgid "Generate call insns as indirect calls, if necessary"
+msgstr ""
+
+#: config/arm/arm.h:467
+msgid "Compile for the Thumb not the ARM"
+msgstr ""
+
+#: config/arm/arm.h:471
+msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+msgstr ""
+
+#: config/arm/arm.h:474
+msgid "Thumb: Generate (leaf) stack frames even if not needed"
+msgstr ""
+
+#: config/arm/arm.h:477
+msgid "Thumb: Assume non-static functions may be called from ARM code"
+msgstr ""
+
+#: config/arm/arm.h:481
+msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+msgstr ""
+
+#: config/arm/arm.h:491
+msgid "Specify the name of the target CPU"
+msgstr ""
+
+#: config/arm/arm.h:493
+msgid "Specify the name of the target architecture"
+msgstr ""
+
+#: config/arm/arm.h:497
+msgid "Specify the version of the floating point emulator"
+msgstr ""
+
+#: config/arm/arm.h:499
+msgid "Specify the minimum bit alignment of structures"
+msgstr ""
+
+#: config/arm/arm.h:501
+msgid "Specify the register to be used for PIC addressing"
+msgstr ""
+
+#: config/arm/pe.h:65
+msgid "Ignore dllimport attribute for functions"
+msgstr ""
+
+#: config/avr/avr.c:528
+#, c-format
+msgid "large frame pointer change (%d) with -mtiny-stack"
+msgstr ""
+
+#: config/avr/avr.c:1135
+msgid "bad address, not (reg+disp):"
+msgstr ""
+
+#: config/avr/avr.c:1143
+msgid "internal compiler error. Bad address:"
+msgstr ""
+
+#: config/avr/avr.c:1156
+msgid "internal compiler error. Unknown mode:"
+msgstr ""
+
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
+msgid "invalid insn:"
+msgstr ""
+
+#: 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: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:3003
+msgid "bad shift insn:"
+msgstr ""
+
+#: 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:4767 config/ip2k/ip2k.c:3197
+msgid "only initialized variables can be placed into program memory area"
+msgstr ""
+
+#: 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:80
+msgid "Change the stack pointer without disabling interrupts"
+msgstr ""
+
+#: config/avr/avr.h:82
+msgid "Use subroutines for function prologue/epilogue"
+msgstr ""
+
+#: config/avr/avr.h:84
+msgid "Change only the low 8 bits of the stack pointer"
+msgstr ""
+
+#: config/avr/avr.h:86
+msgid "Do not generate tablejump insns"
+msgstr ""
+
+#: 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:108
+msgid "Specify the initial stack address"
+msgstr ""
+
+#: config/avr/avr.h:109
+msgid "Specify the MCU name"
+msgstr ""
+
+#. `GIV_SORT_CRITERION(GIV1, GIV2)'
+#. In some cases, the strength reduction optimization pass can
+#. produce better code if this is defined. This macro controls the
+#. order that induction variables are combined. This macro is
+#. particularly useful if the target has limited addressing modes.
+#. 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:2450
+msgid "trampolines not supported"
+msgstr ""
+
+#: config/c4x/c4x-c.c:69
+#, c-format
+msgid "missing '(' after '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:72
+#, c-format
+msgid "missing function name in '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:77
+#, c-format
+msgid "malformed '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:79
+#, c-format
+msgid "missing section name in '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:84
+#, c-format
+msgid "missing ')' for '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:87
+#, c-format
+msgid "junk at end of '#pragma %s'"
+msgstr ""
+
+#: config/c4x/c4x.c:280
+#, c-format
+msgid "unknown CPU version %d, using 40.\n"
+msgstr ""
+
+#: config/c4x/c4x.c:853
+#, c-format
+msgid "ISR %s requires %d words of local vars, max is 32767"
+msgstr ""
+
+#: config/c4x/c4x.c:1602
+msgid "using CONST_DOUBLE for address"
+msgstr ""
+
+#: config/c4x/c4x.c:1742
+msgid "c4x_address_cost: Invalid addressing mode"
+msgstr ""
+
+#: config/c4x/c4x.c:1884
+#, c-format
+msgid "c4x_print_operand: %%L inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:1890
+#, c-format
+msgid "c4x_print_operand: %%N inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:1931
+#, c-format
+msgid "c4x_print_operand: %%O inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:2026
+msgid "c4x_print_operand: Bad operand case"
+msgstr ""
+
+#: config/c4x/c4x.c:2069
+msgid "c4x_print_operand_address: Bad post_modify"
+msgstr ""
+
+#: config/c4x/c4x.c:2091
+msgid "c4x_print_operand_address: Bad pre_modify"
+msgstr ""
+
+#: 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:2422
+msgid "c4x_rptb_insert: Cannot find start label"
+msgstr ""
+
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
+msgid "mode not QImode"
+msgstr ""
+
+#: config/c4x/c4x.c:3514
+msgid "invalid indirect memory address"
+msgstr ""
+
+#: config/c4x/c4x.c:3603
+msgid "invalid indirect (S) memory address"
+msgstr ""
+
+#: config/c4x/c4x.c:3944
+msgid "c4x_valid_operands: Internal error"
+msgstr ""
+
+#: config/c4x/c4x.c:4424
+msgid "c4x_operand_subword: invalid mode"
+msgstr ""
+
+#: 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:4453
+msgid "c4x_operand_subword: invalid autoincrement"
+msgstr ""
+
+#: config/c4x/c4x.c:4459
+msgid "c4x_operand_subword: invalid address"
+msgstr ""
+
+#: config/c4x/c4x.c:4470
+msgid "c4x_operand_subword: address not offsettable"
+msgstr ""
+
+#: config/c4x/c4x.c:4670
+msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
+msgstr ""
+
+#. Name of the c4x assembler.
+#. Name of the c4x linker.
+#. Define assembler options.
+#. Define linker options.
+#. Specify the end file to link with.
+#. Target compilation option flags.
+#. Small memory model.
+#. Use 24-bit MPYI for C3x.
+#. Fast fixing of floats.
+#. Allow use of RPTS.
+#. Emit C3x code.
+#. Be compatible with TI assembler.
+#. Be paranoid about DP reg. in ISRs.
+#. Pass arguments on stack.
+#. Enable features under development.
+#. Enable repeat block.
+#. Use BK as general register.
+#. Use decrement and branch for C3x.
+#. Enable debugging of GCC.
+#. Force constants into registers.
+#. Allow unsigned loop counters.
+#. Force op0 and op1 to be same.
+#. Save all 40 bits for floats.
+#. Allow parallel insns.
+#. Allow MPY||ADD, MPY||SUB insns.
+#. Assume mem refs possibly aliased.
+#. Emit C30 code.
+#. Emit C31 code.
+#. Emit C32 code.
+#. Emit C33 code.
+#. Emit C40 code.
+#. Emit C44 code.
+#. Run-time compilation parameters selecting different hardware subsets.
+#.
+#. Macro to define tables used to set the flags.
+#. This is a list in braces of triplets in braces,
+#. 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:168
+msgid "Small memory model"
+msgstr ""
+
+#: config/c4x/c4x.h:170
+msgid "Big memory model"
+msgstr ""
+
+#: config/c4x/c4x.h:172
+msgid "Use MPYI instruction for C3x"
+msgstr ""
+
+#: config/c4x/c4x.h:174
+msgid "Do not use MPYI instruction for C3x"
+msgstr ""
+
+#: config/c4x/c4x.h:176
+msgid "Use fast but approximate float to integer conversion"
+msgstr ""
+
+#: config/c4x/c4x.h:178
+msgid "Use slow but accurate float to integer conversion"
+msgstr ""
+
+#: config/c4x/c4x.h:180
+msgid "Enable use of RTPS instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:182
+msgid "Disable use of RTPS instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:184
+msgid "Enable use of RTPB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:186
+msgid "Disable use of RTPB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:188
+msgid "Generate code for C30 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:190
+msgid "Generate code for C31 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:192
+msgid "Generate code for C32 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:194
+msgid "Generate code for C33 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:196
+msgid "Generate code for C40 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:198
+msgid "Generate code for C44 CPU"
+msgstr ""
+
+#: config/c4x/c4x.h:200
+msgid "Emit code compatible with TI tools"
+msgstr ""
+
+#: config/c4x/c4x.h:202
+msgid "Emit code to use GAS extensions"
+msgstr ""
+
+#: config/c4x/c4x.h:204 config/c4x/c4x.h:208
+msgid "Save DP across ISR in small memory model"
+msgstr ""
+
+#: config/c4x/c4x.h:206 config/c4x/c4x.h:210
+msgid "Don't save DP across ISR in small memory model"
+msgstr ""
+
+#: config/c4x/c4x.h:212
+msgid "Pass arguments on the stack"
+msgstr ""
+
+#: config/c4x/c4x.h:214
+msgid "Pass arguments in registers"
+msgstr ""
+
+#: config/c4x/c4x.h:216
+msgid "Enable new features under development"
+msgstr ""
+
+#: config/c4x/c4x.h:218
+msgid "Disable new features under development"
+msgstr ""
+
+#: config/c4x/c4x.h:220
+msgid "Use the BK register as a general purpose register"
+msgstr ""
+
+#: config/c4x/c4x.h:222
+msgid "Do not allocate BK register"
+msgstr ""
+
+#: config/c4x/c4x.h:224
+msgid "Enable use of DB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:226
+msgid "Disable use of DB instruction"
+msgstr ""
+
+#: config/c4x/c4x.h:228
+msgid "Enable debugging"
+msgstr ""
+
+#: config/c4x/c4x.h:230
+msgid "Disable debugging"
+msgstr ""
+
+#: config/c4x/c4x.h:232
+msgid "Force constants into registers to improve hoisting"
+msgstr ""
+
+#: config/c4x/c4x.h:234
+msgid "Don't force constants into registers"
+msgstr ""
+
+#: config/c4x/c4x.h:236
+msgid "Force RTL generation to emit valid 3 operand insns"
+msgstr ""
+
+#: config/c4x/c4x.h:238
+msgid "Allow RTL generation to emit invalid 3 operand insns"
+msgstr ""
+
+#: config/c4x/c4x.h:240
+msgid "Allow unsigned iteration counts for RPTB/DB"
+msgstr ""
+
+#: config/c4x/c4x.h:242
+msgid "Disallow unsigned iteration counts for RPTB/DB"
+msgstr ""
+
+#: config/c4x/c4x.h:244
+msgid "Preserve all 40 bits of FP reg across call"
+msgstr ""
+
+#: config/c4x/c4x.h:246
+msgid "Only preserve 32 bits of FP reg across call"
+msgstr ""
+
+#: config/c4x/c4x.h:248
+msgid "Enable parallel instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:250
+msgid "Disable parallel instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:252
+msgid "Enable MPY||ADD and MPY||SUB instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:254
+msgid "Disable MPY||ADD and MPY||SUB instructions"
+msgstr ""
+
+#: config/c4x/c4x.h:256
+msgid "Assume that pointers may be aliased"
+msgstr ""
+
+#: config/c4x/c4x.h:258
+msgid "Assume that pointers not aliased"
+msgstr ""
+
+#: config/c4x/c4x.h:331
+msgid "Specify maximum number of iterations for RPTS"
+msgstr ""
+
+#: config/c4x/c4x.h:333
+msgid "Select CPU to generate code for"
+msgstr ""
+
+#: config/cris/cris.c:599
+msgid "unexpected index-type in cris_print_index"
+msgstr ""
+
+#: config/cris/cris.c:615
+msgid "unexpected base-type in cris_print_base"
+msgstr ""
+
+#: config/cris/cris.c:908
+#, c-format
+msgid "stackframe too big: %d bytes"
+msgstr ""
+
+#: config/cris/cris.c:1223
+msgid "allocated but unused delay list in epilogue"
+msgstr ""
+
+#: config/cris/cris.c:1233
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+msgstr ""
+
+#: config/cris/cris.c:1312
+msgid "invalid operand for 'b' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1324
+msgid "invalid operand for 'v' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1334
+msgid "invalid operand for 'P' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1341
+msgid "invalid operand for 'p' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1380
+msgid "invalid operand for 'z' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1411 config/cris/cris.c:1441
+msgid "invalid operand for 'H' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1417
+msgid "bad register"
+msgstr ""
+
+#: config/cris/cris.c:1455
+msgid "invalid operand for 'e' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1472
+msgid "invalid operand for 'm' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1497
+msgid "invalid operand for 'A' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1505
+msgid "invalid operand for 'D' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1519
+msgid "invalid operand for 'T' modifier"
+msgstr ""
+
+#: config/cris/cris.c:1528
+msgid "invalid operand modifier letter"
+msgstr ""
+
+#: config/cris/cris.c:1536
+#, c-format
+msgid "internal error: bad register: %d"
+msgstr ""
+
+#: config/cris/cris.c:1584
+msgid "unexpected multiplicative operand"
+msgstr ""
+
+#: config/cris/cris.c:1604
+msgid "unexpected operand"
+msgstr ""
+
+#: config/cris/cris.c:1639 config/cris/cris.c:1649
+msgid "unrecognized address"
+msgstr ""
+
+#: config/cris/cris.c:2005
+msgid "internal error: sideeffect-insn affecting main effect"
+msgstr ""
+
+#. If we get here, the caller got its initial tests wrong.
+#: config/cris/cris.c:2292
+msgid "internal error: cris_side_effect_mode_ok with bad operands"
+msgstr ""
+
+#: config/cris/cris.c:2374 config/cris/cris.c:2432
+msgid "unrecognized supposed constant"
+msgstr ""
+
+#: config/cris/cris.c:2473
+msgid "unrecognized supposed constant in cris_global_pic_symbol"
+msgstr ""
+
+#: config/cris/cris.c:2492
+#, c-format
+msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+msgstr ""
+
+#: config/cris/cris.c:2520
+#, c-format
+msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+msgstr ""
+
+#: config/cris/cris.c:2556
+#, c-format
+msgid "unknown CRIS cpu version specification in -mtune= : %s"
+msgstr ""
+
+#: config/cris/cris.c:2574
+msgid "-fPIC and -fpic are not supported in this configuration"
+msgstr ""
+
+#: config/cris/cris.c:2590
+msgid "that particular -g option is invalid with -maout and -melinux"
+msgstr ""
+
+#: config/cris/cris.c:2824 config/cris/cris.c:2869
+msgid "unexpected side-effects in address"
+msgstr ""
+
+#. Labels are never marked as global symbols.
+#: config/cris/cris.c:2966 config/cris/cris.c:2997
+msgid "unexpected PIC symbol"
+msgstr ""
+
+#: config/cris/cris.c:2970
+msgid "PIC register isn't set up"
+msgstr ""
+
+#: config/cris/cris.c:2983 config/cris/cris.c:3066
+msgid "unexpected address expression"
+msgstr ""
+
+#: config/cris/cris.c:3001
+msgid "emitting PIC operand, but PIC register isn't set up"
+msgstr ""
+
+#: config/cris/cris.c:3010
+msgid "unexpected NOTE as addr_const:"
+msgstr ""
+
+#: config/cris/aout.h:108
+msgid "Compile for the MMU-less Etrax 100-based elinux system"
+msgstr ""
+
+#: config/cris/aout.h:115
+msgid "For elinux, request a specified stack-size for this program"
+msgstr ""
+
+#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
+#: config/cris/cris.h:340
+msgid "Compile for ETRAX 4 (CRIS v3)"
+msgstr ""
+
+#: config/cris/cris.h:345
+msgid "Compile for ETRAX 100 (CRIS v8)"
+msgstr ""
+
+#: config/cris/cris.h:349
+msgid "Emit verbose debug information in assembly code"
+msgstr ""
+
+#: config/cris/cris.h:352
+msgid "Do not use condition codes from normal instructions"
+msgstr ""
+
+#: config/cris/cris.h:356
+msgid "Do not emit addressing modes with side-effect assignment"
+msgstr ""
+
+#: config/cris/cris.h:359
+msgid "Do not tune stack alignment"
+msgstr ""
+
+#: config/cris/cris.h:362
+msgid "Do not tune writable data alignment"
+msgstr ""
+
+#: config/cris/cris.h:365
+msgid "Do not tune code and read-only data alignment"
+msgstr ""
+
+#: config/cris/cris.h:374
+msgid "Align code and data to 32 bits"
+msgstr ""
+
+#: config/cris/cris.h:387
+msgid "Don't align items in code or data"
+msgstr ""
+
+#: config/cris/cris.h:390
+msgid "Do not emit function prologue or epilogue"
+msgstr ""
+
+#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
+#: config/cris/cris.h:394
+msgid "Use the most feature-enabling options allowed by other options"
+msgstr ""
+
+#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
+#: config/cris/cris.h:400
+msgid "Override -mbest-lib-options"
+msgstr ""
+
+#: config/cris/cris.h:432
+msgid "Generate code for the specified chip or CPU version"
+msgstr ""
+
+#: config/cris/cris.h:434
+msgid "Tune alignment for the specified chip or CPU version"
+msgstr ""
+
+#: config/cris/cris.h:436
+msgid "Warn when a stackframe is larger than the specified size"
+msgstr ""
+
+#. Node: Profiling
+#: config/cris/cris.h:1022
+msgid "no FUNCTION_PROFILER for CRIS"
+msgstr ""
+
+#: config/cris/linux.h:71
+msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+msgstr ""
+
+#: config/d30v/d30v.c:207
+#, c-format
+msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+msgstr ""
+
+#: config/d30v/d30v.c:2666
+msgid "bad insn to d30v_print_operand_address:"
+msgstr ""
+
+#: 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:2851
+msgid "bad insn to d30v_print_operand, 'f' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2860
+msgid "bad insn to d30v_print_operand, 'A' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2867
+msgid "bad insn to d30v_print_operand, 'M' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2921
+msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2932
+msgid "bad insn to print_operand, 'B' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2939
+msgid "bad insn to print_operand, 'E' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2957
+msgid "bad insn to print_operand, 'R' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
+msgid "bad insn to print_operand, 's' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:3003
+msgid "bad insn in d30v_print_operand, 0 case"
+msgstr ""
+
+#: config/d30v/d30v.c:3301
+msgid "d30v_emit_comparison"
+msgstr ""
+
+#: config/d30v/d30v.c:3345
+msgid "bad call to d30v_move_2words"
+msgstr ""
+
+#: config/d30v/d30v.h:114
+msgid "Enable use of conditional move instructions"
+msgstr ""
+
+#: config/d30v/d30v.h:117
+msgid "Disable use of conditional move instructions"
+msgstr ""
+
+#: config/d30v/d30v.h:120
+msgid "Debug argument support in compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:123
+msgid "Debug stack support in compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:126
+msgid "Debug memory address support in compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:129
+msgid "Make adjacent short instructions parallel if possible"
+msgstr ""
+
+#: config/d30v/d30v.h:132
+msgid "Do not make adjacent short instructions parallel"
+msgstr ""
+
+#: 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:141
+msgid "Link programs/data to be in onchip memory by default"
+msgstr ""
+
+#: config/d30v/d30v.h:149
+msgid "Change the branch costs within the compiler"
+msgstr ""
+
+#: config/d30v/d30v.h:152
+msgid "Change the threshold for conversion to conditional execution"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1446 config/dsp16xx/dsp16xx.c:1469
+msgid "stack size > 32k"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1678
+msgid "invalid addressing mode"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1821
+msgid "bad register extension code"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1921
+msgid "invalid offset in ybase addressing"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:1924
+msgid "invalid register in ybase addressing"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:2099
+msgid "invalid shift operator in emit_1600_core_shift"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:2428
+msgid "invalid mode for gen_tst_reg"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:2500
+msgid "invalid mode for integer comparison in gen_compare_reg"
+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/dsp16xx/dsp16xx.h:230
+msgid "Pass parameters in registers (default)"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:232
+msgid "Don't pass parameters in registers"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:234
+msgid "Generate code for near calls"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:236
+msgid "Don't generate code for near calls"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:238
+msgid "Generate code for near jumps"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:240
+msgid "Don't generate code for near jumps"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:242
+msgid "Generate code for a bit-manipulation unit"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:244
+msgid "Don't generate code for a bit-manipulation unit"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:246
+msgid "Generate code for memory map1"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:248
+msgid "Generate code for memory map2"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:250
+msgid "Generate code for memory map3"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:252
+msgid "Generate code for memory map4"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:254
+msgid "Ouput extra code for initialized data"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:256
+msgid "Don't let reg. allocator use ybase registers"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:258
+msgid "Output extra debug info in Luxworks environment"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:260
+msgid "Save temp. files in Luxworks environment"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:272
+msgid "Specify alternate name for text section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:274
+msgid "Specify alternate name for data section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:276
+msgid "Specify alternate name for bss section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:278
+msgid "Specify alternate name for constant section"
+msgstr ""
+
+#: 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: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:1228 config/dsp16xx/dsp16xx.h:1240
+msgid "trampolines not yet implemented"
+msgstr ""
+
+#: config/fr30/fr30.c:453
+msgid "fr30_print_operand_address: unhandled address"
+msgstr ""
+
+#: config/fr30/fr30.c:480
+#, c-format
+msgid "fr30_print_operand: unrecognized %%p code"
+msgstr ""
+
+#: config/fr30/fr30.c:500
+#, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
+msgstr ""
+
+#: config/fr30/fr30.c:521
+#, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
+msgstr ""
+
+#: config/fr30/fr30.c:529
+#, c-format
+msgid "fr30_print_operand: invalid operand to %%A code"
+msgstr ""
+
+#: config/fr30/fr30.c:546
+#, c-format
+msgid "fr30_print_operand: invalid %%x code"
+msgstr ""
+
+#: config/fr30/fr30.c:553
+#, c-format
+msgid "fr30_print_operand: invalid %%F code"
+msgstr ""
+
+#: config/fr30/fr30.c:570
+msgid "fr30_print_operand: unknown code"
+msgstr ""
+
+#: 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:63
+msgid "Assume small address space"
+msgstr ""
+
+#: 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:150
+msgid "Generate H8S code"
+msgstr ""
+
+#: config/h8300/h8300.h:151
+msgid "Do not generate H8S code"
+msgstr ""
+
+#: config/h8300/h8300.h:152
+msgid "Generate H8S/2600 code"
+msgstr ""
+
+#: config/h8300/h8300.h:153
+msgid "Do not generate H8S/2600 code"
+msgstr ""
+
+#: config/h8300/h8300.h:154
+msgid "Make integers 32 bits wide"
+msgstr ""
+
+#: config/h8300/h8300.h:157
+msgid "Use registers for argument passing"
+msgstr ""
+
+#: config/h8300/h8300.h:159
+msgid "Do not use registers for argument passing"
+msgstr ""
+
+#: config/h8300/h8300.h:161
+msgid "Consider access to byte sized memory slow"
+msgstr ""
+
+#: config/h8300/h8300.h:162
+msgid "Enable linker relaxing"
+msgstr ""
+
+#: config/h8300/h8300.h:164
+msgid "Generate H8/300H code"
+msgstr ""
+
+#: 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:167
+msgid "Use H8/300 alignment rules"
+msgstr ""
+
+#: config/i370/i370-c.c:53
+msgid "junk at end of #pragma map"
+msgstr ""
+
+#: config/i370/i370-c.c:59
+msgid "malformed #pragma map, ignored"
+msgstr ""
+
+#: config/i370/i370.c:915
+msgid "real name is too long - alias ignored"
+msgstr ""
+
+#: config/i370/i370.c:920
+msgid "alias name is too long - alias ignored"
+msgstr ""
+
+#: config/i370/i370.c:1191
+msgid "internal error--no jump follows compare:"
+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/i370/i370.h:75
+msgid "Generate char instructions"
+msgstr ""
+
+#: config/i370/i370.h:76
+msgid "Do not generate char instructions"
+msgstr ""
+
+#: config/i386/i386.c:1050
+#, c-format
+msgid "code model %s not supported in PIC mode"
+msgstr ""
+
+#: config/i386/i386.c:1060 config/sparc/sparc.c:356
+#, c-format
+msgid "bad value (%s) for -mcmodel= switch"
+msgstr ""
+
+#: config/i386/i386.c:1075
+#, c-format
+msgid "bad value (%s) for -masm= switch"
+msgstr ""
+
+#: config/i386/i386.c:1078
+#, c-format
+msgid "code model `%s' not supported in the %s bit mode"
+msgstr ""
+
+#: config/i386/i386.c:1081
+msgid "code model `large' not supported yet"
+msgstr ""
+
+#: config/i386/i386.c:1083
+#, c-format
+msgid "%i-bit mode not compiled in"
+msgstr ""
+
+#: config/i386/i386.c:1113
+#, c-format
+msgid "bad value (%s) for -march= switch"
+msgstr ""
+
+#: config/i386/i386.c:1124
+#, c-format
+msgid "bad value (%s) for -mcpu= switch"
+msgstr ""
+
+#: config/i386/i386.c:1141
+#, c-format
+msgid "-mregparm=%d is not between 0 and %d"
+msgstr ""
+
+#: config/i386/i386.c:1154
+msgid "-malign-loops is obsolete, use -falign-loops"
+msgstr ""
+
+#: config/i386/i386.c:1159 config/i386/i386.c:1172 config/i386/i386.c:1185
+#, c-format
+msgid "-malign-loops=%d is not between 0 and %d"
+msgstr ""
+
+#: config/i386/i386.c:1167
+msgid "-malign-jumps is obsolete, use -falign-jumps"
+msgstr ""
+
+#: config/i386/i386.c:1180
+msgid "-malign-functions is obsolete, use -falign-functions"
+msgstr ""
+
+#: config/i386/i386.c:1218
+#, c-format
+msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+msgstr ""
+
+#: config/i386/i386.c:1230
+#, c-format
+msgid "-mbranch-cost=%d is not between 0 and 5"
+msgstr ""
+
+#: config/i386/i386.c:1242
+#, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr ""
+
+#: config/i386/i386.c:1263
+msgid "-malign-double makes no sense in the 64bit mode"
+msgstr ""
+
+#: config/i386/i386.c:1265
+msgid "-mrtd calling convention not supported in the 64bit mode"
+msgstr ""
+
+#: config/i386/i386.c:1281 config/i386/i386.c:1292
+msgid "SSE instruction set disabled, using 387 arithmetics"
+msgstr ""
+
+#: config/i386/i386.c:1297
+msgid "387 instruction set disabled, using SSE arithmetics"
+msgstr ""
+
+#: config/i386/i386.c:1304
+#, c-format
+msgid "bad value (%s) for -mfpmath= switch"
+msgstr ""
+
+#: config/i386/i386.c:1436
+#, c-format
+msgid "`%s' attribute requires an integer constant argument"
+msgstr ""
+
+#: config/i386/i386.c:1442
+#, c-format
+msgid "argument to `%s' attribute larger than %d"
+msgstr ""
+
+#: config/i386/i386.c:6325
+msgid "invalid UNSPEC as operand"
+msgstr ""
+
+#: config/i386/i386.c:6587
+msgid "extended registers have no high halves"
+msgstr ""
+
+#: config/i386/i386.c:6602
+msgid "unsupported operand size for extended register"
+msgstr ""
+
+#: config/i386/i386.c:6917
+msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+msgstr ""
+
+#: config/i386/i386.c:6963
+#, c-format
+msgid "invalid operand code `%c'"
+msgstr ""
+
+#: config/i386/i386.c:7010
+msgid "invalid constraints for operand"
+msgstr ""
+
+#: config/i386/i386.c:11189
+msgid "unknown insn mode"
+msgstr ""
+
+#. @@@ better error message
+#: config/i386/i386.c:13309 config/i386/i386.c:13345
+msgid "selector must be an immediate"
+msgstr ""
+
+#. @@@ better error message
+#: config/i386/i386.c:13506 config/i386/i386.c:13540
+msgid "mask must be an immediate"
+msgstr ""
+
+#: config/i386/i386.c:13572
+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:275
+#, c-format
+msgid "`%s' declared as both exported to and imported from a DLL"
+msgstr ""
+
+#: config/i386/cygwin.h:45
+msgid "Use the Cygwin interface"
+msgstr ""
+
+#: config/i386/cygwin.h:46
+msgid "Use the Mingw32 interface"
+msgstr ""
+
+#: config/i386/cygwin.h:47
+msgid "Create GUI application"
+msgstr ""
+
+#: config/i386/cygwin.h:48
+msgid "Don't set Windows defines"
+msgstr ""
+
+#: config/i386/cygwin.h:49
+msgid "Set Windows defines"
+msgstr ""
+
+#: config/i386/cygwin.h:50
+msgid "Create console application"
+msgstr ""
+
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
+msgid "Generate code for a DLL"
+msgstr ""
+
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
+msgid "Ignore dllimport for functions"
+msgstr ""
+
+#: config/i386/cygwin.h:55
+msgid "Use Mingw-specific thread support"
+msgstr ""
+
+#: config/i386/cygwin.h:245
+#, c-format
+msgid "-f%s ignored for target (all code is position independent)"
+msgstr ""
+
+#: config/i386/djgpp.h:204
+msgid "-mbnu210 is ignored (option is obsolete)"
+msgstr ""
+
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#: config/i386/i386.h:306
+msgid "Alternate calling convention"
+msgstr ""
+
+#: 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:310
+msgid "Align some doubles on dword boundary"
+msgstr ""
+
+#: config/i386/i386.h:312
+msgid "Align doubles on word boundary"
+msgstr ""
+
+#: config/i386/i386.h:314
+msgid "Uninitialized locals in .bss"
+msgstr ""
+
+#: config/i386/i386.h:316
+msgid "Uninitialized locals in .data"
+msgstr ""
+
+#: 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:320 config/ns32k/ns32k.h:169
+msgid "Do not use IEEE math for fp comparisons"
+msgstr ""
+
+#: config/i386/i386.h:322
+msgid "Return values of functions in FPU registers"
+msgstr ""
+
+#: config/i386/i386.h:324
+msgid "Do not return values of functions in FPU registers"
+msgstr ""
+
+#: config/i386/i386.h:326
+msgid "Do not generate sin, cos, sqrt for FPU"
+msgstr ""
+
+#: config/i386/i386.h:328
+msgid "Generate sin, cos, sqrt for FPU"
+msgstr ""
+
+#: config/i386/i386.h:330
+msgid "Omit the frame pointer in leaf functions"
+msgstr ""
+
+#: config/i386/i386.h:333
+msgid "Enable stack probing"
+msgstr ""
+
+#. undocumented
+#. undocumented
+#: config/i386/i386.h:338
+msgid "Align destination of the string operations"
+msgstr ""
+
+#: config/i386/i386.h:340
+msgid "Do not align destination of the string operations"
+msgstr ""
+
+#: config/i386/i386.h:342
+msgid "Inline all known string operations"
+msgstr ""
+
+#: config/i386/i386.h:344
+msgid "Do not inline all known string operations"
+msgstr ""
+
+#: config/i386/i386.h:346 config/i386/i386.h:350
+msgid "Use push instructions to save outgoing arguments"
+msgstr ""
+
+#: 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:354
+msgid "Support MMX built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:356
+msgid "Do not support MMX built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:358
+msgid "Support 3DNow! built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:360
+msgid "Do not support 3DNow! built-in functions"
+msgstr ""
+
+#: config/i386/i386.h:362
+msgid "Support MMX and SSE built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:364
+msgid "Do not support MMX and SSE built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:366
+msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:368
+msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr ""
+
+#: config/i386/i386.h:370
+msgid "sizeof(long double) is 16"
+msgstr ""
+
+#: config/i386/i386.h:372
+msgid "sizeof(long double) is 12"
+msgstr ""
+
+#: config/i386/i386.h:374
+msgid "Generate 64bit x86-64 code"
+msgstr ""
+
+#: config/i386/i386.h:376
+msgid "Generate 32bit i386 code"
+msgstr ""
+
+#: config/i386/i386.h:378
+msgid "Use red-zone in the x86-64 code"
+msgstr ""
+
+#: config/i386/i386.h:380
+msgid "Do not use red-zone in the x86-64 code"
+msgstr ""
+
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:409 config/rs6000/rs6000.h:393 config/sparc/sparc.h:635
+msgid "Schedule code for given CPU"
+msgstr ""
+
+#: config/i386/i386.h:411
+msgid "Generate floating point mathematics using given instruction set"
+msgstr ""
+
+#: config/i386/i386.h:413
+msgid "Generate code for given CPU"
+msgstr ""
+
+#: config/i386/i386.h:415
+msgid "Number of registers used to pass integer arguments"
+msgstr ""
+
+#. TARGET_DEFAULT is defined in sun*.h and isi.h, etc.
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:417 config/m68k/m68k.h:263
+msgid "Loop code aligned to this power of 2"
+msgstr ""
+
+#: 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:421 config/m68k/m68k.h:267
+msgid "Function starts are aligned to this power of 2"
+msgstr ""
+
+#: config/i386/i386.h:424
+msgid "Attempt to keep stack aligned to this power of 2"
+msgstr ""
+
+#: config/i386/i386.h:426
+msgid "Branches are this expensive (1-5, arbitrary units)"
+msgstr ""
+
+#: config/i386/i386.h:428
+msgid "Use given x86-64 code model"
+msgstr ""
+
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
+msgid "Use given assembler dialect"
+msgstr ""
+
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
+msgstr ""
+
+#: config/i386/sco5.h:700
+msgid "Generate ELF output"
+msgstr ""
+
+#: config/i386/win32.h:53
+msgid "Use Mingw32 interface"
+msgstr ""
+
+#: config/i386/win32.h:55
+msgid "Use Cygwin interface"
+msgstr ""
+
+#: config/i386/win32.h:57
+msgid "Use bare Windows interface"
+msgstr ""
+
+#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
+#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
+#: config/i386/xm-djgpp.h:71
+msgid "environment variable DJGPP not defined"
+msgstr ""
+
+#: config/i386/xm-djgpp.h:73
+#, c-format
+msgid "environment variable DJGPP points to missing file '%s'"
+msgstr ""
+
+#: config/i386/xm-djgpp.h:76
+#, c-format
+msgid "environment variable DJGPP points to corrupt file '%s'"
+msgstr ""
+
+#: config/i960/i960-c.c:66
+msgid "sorry, not implemented: #pragma align NAME=SIZE"
+msgstr ""
+
+#: config/i960/i960-c.c:71
+msgid "malformed #pragma align - ignored"
+msgstr ""
+
+#: config/i960/i960-c.c:109
+msgid "sorry, not implemented: #pragma noalign NAME"
+msgstr ""
+
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr ""
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr ""
+
+#: 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:9974
+msgid "stack limit expression is not supported"
+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.
+#. ??? Not all ten of these architecture variations actually exist, but I
+#. am not sure which are real and which aren't.
+#: config/i960/i960.h:240
+msgid "Generate SA code"
+msgstr ""
+
+#: config/i960/i960.h:243
+msgid "Generate SB code"
+msgstr ""
+
+#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
+#: config/i960/i960.h:248
+msgid "Generate KA code"
+msgstr ""
+
+#: config/i960/i960.h:251
+msgid "Generate KB code"
+msgstr ""
+
+#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
+#: config/i960/i960.h:256
+msgid "Generate JA code"
+msgstr ""
+
+#: config/i960/i960.h:258
+msgid "Generate JD code"
+msgstr ""
+
+#: config/i960/i960.h:261
+msgid "Generate JF code"
+msgstr ""
+
+#: config/i960/i960.h:263
+msgid "generate RP code"
+msgstr ""
+
+#: config/i960/i960.h:266
+msgid "Generate MC code"
+msgstr ""
+
+#: config/i960/i960.h:269
+msgid "Generate CA code"
+msgstr ""
+
+#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
+#: config/i960/i960.h:279
+msgid "Generate CF code"
+msgstr ""
+
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:266
+msgid "Use software floating point"
+msgstr ""
+
+#: config/i960/i960.h:285
+msgid "Use alternate leaf function entries"
+msgstr ""
+
+#: config/i960/i960.h:287
+msgid "Do not use alternate leaf function entries"
+msgstr ""
+
+#: config/i960/i960.h:289
+msgid "Perform tail call optimization"
+msgstr ""
+
+#: config/i960/i960.h:291
+msgid "Do not perform tail call optimization"
+msgstr ""
+
+#: config/i960/i960.h:293
+msgid "Use complex addressing modes"
+msgstr ""
+
+#: config/i960/i960.h:295
+msgid "Do not use complex addressing modes"
+msgstr ""
+
+#: config/i960/i960.h:297
+msgid "Align code to 8 byte boundary"
+msgstr ""
+
+#: config/i960/i960.h:299
+msgid "Do not align code to 8 byte boundary"
+msgstr ""
+
+#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
+#: config/i960/i960.h:305 config/i960/i960.h:307
+msgid "Enable compatibility with iC960 v2.0"
+msgstr ""
+
+#: config/i960/i960.h:309
+msgid "Enable compatibility with iC960 v3.0"
+msgstr ""
+
+#: config/i960/i960.h:311 config/i960/i960.h:313
+msgid "Enable compatibility with ic960 assembler"
+msgstr ""
+
+#: config/i960/i960.h:315
+msgid "Do not permit unaligned accesses"
+msgstr ""
+
+#: config/i960/i960.h:317
+msgid "Permit unaligned accesses"
+msgstr ""
+
+#: config/i960/i960.h:319
+msgid "Layout types like Intel's v1.3 gcc"
+msgstr ""
+
+#: config/i960/i960.h:321
+msgid "Do not layout types like Intel's v1.3 gcc"
+msgstr ""
+
+#: 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 ""
+
+#: config/i960/i960.h:325
+msgid "Enable linker relaxation"
+msgstr ""
+
+#: config/i960/i960.h:327
+msgid "Do not enable linker relaxation"
+msgstr ""
+
+#: config/ia64/ia64-c.c:51
+msgid "malformed #pragma builtin"
+msgstr ""
+
+#: config/ia64/ia64.c:3976
+msgid "ia64_print_operand: unknown code"
+msgstr ""
+
+#: config/ia64/ia64.c:4253
+msgid "value of -mfixed-range must have form REG1-REG2"
+msgstr ""
+
+#: config/ia64/ia64.c:4280
+#, c-format
+msgid "%s-%s is an empty range"
+msgstr ""
+
+#: config/ia64/ia64.c:4311
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4317
+msgid "cannot optimize integer division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4329
+#, c-format
+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:154
+msgid "Generate big endian code"
+msgstr ""
+
+#: config/ia64/ia64.h:156 config/mcore/mcore.h:159
+msgid "Generate little endian code"
+msgstr ""
+
+#: config/ia64/ia64.h:158
+msgid "Generate code for GNU as"
+msgstr ""
+
+#: config/ia64/ia64.h:160
+msgid "Generate code for Intel as"
+msgstr ""
+
+#: config/ia64/ia64.h:162
+msgid "Generate code for GNU ld"
+msgstr ""
+
+#: config/ia64/ia64.h:164
+msgid "Generate code for Intel ld"
+msgstr ""
+
+#: config/ia64/ia64.h:166
+msgid "Generate code without GP reg"
+msgstr ""
+
+#: config/ia64/ia64.h:168
+msgid "Emit stop bits before and after volatile extended asms"
+msgstr ""
+
+#: config/ia64/ia64.h:170
+msgid "Don't emit stop bits before and after volatile extended asms"
+msgstr ""
+
+#: config/ia64/ia64.h:172
+msgid "Emit code for Itanium (TM) processor B step"
+msgstr ""
+
+#: config/ia64/ia64.h:174
+msgid "Use in/loc/out register names"
+msgstr ""
+
+#: config/ia64/ia64.h:176
+msgid "Disable use of sdata/scommon/sbss"
+msgstr ""
+
+#: config/ia64/ia64.h:178
+msgid "Enable use of sdata/scommon/sbss"
+msgstr ""
+
+#: config/ia64/ia64.h:180
+msgid "gp is constant (but save/restore gp on indirect calls)"
+msgstr ""
+
+#: config/ia64/ia64.h:182
+msgid "Generate self-relocatable code"
+msgstr ""
+
+#: config/ia64/ia64.h:184
+msgid "Generate inline floating point division, optimize for latency"
+msgstr ""
+
+#: config/ia64/ia64.h:186
+msgid "Generate inline floating point division, optimize for throughput"
+msgstr ""
+
+#: config/ia64/ia64.h:188
+msgid "Generate inline integer division, optimize for latency"
+msgstr ""
+
+#: config/ia64/ia64.h:190
+msgid "Generate inline integer division, optimize for throughput"
+msgstr ""
+
+#: config/ia64/ia64.h:192
+msgid "Enable Dwarf 2 line debug info via GNU as"
+msgstr ""
+
+#: config/ia64/ia64.h:194
+msgid "Disable Dwarf 2 line debug info via GNU as"
+msgstr ""
+
+#: config/ia64/ia64.h:223
+msgid "Specify range of registers to make fixed"
+msgstr ""
+
+#: config/ip2k/ip2k.c:1090
+msgid "bad operand"
+msgstr ""
+
+#: config/m32r/m32r.c:139
+#, c-format
+msgid "bad value (%s) for -mmodel switch"
+msgstr ""
+
+#: config/m32r/m32r.c:148
+#, c-format
+msgid "bad value (%s) for -msdata switch"
+msgstr ""
+
+#: config/m32r/m32r.c:319
+#, c-format
+msgid "invalid argument of `%s' attribute"
+msgstr ""
+
+#: config/m32r/m32r.c:422
+msgid "const objects cannot go in .sdata/.sbss"
+msgstr ""
+
+#: config/m32r/m32r.c:2256
+#, c-format
+msgid "invalid operand to %%s code"
+msgstr ""
+
+#: config/m32r/m32r.c:2263
+#, c-format
+msgid "invalid operand to %%p code"
+msgstr ""
+
+#: config/m32r/m32r.c:2318
+msgid "bad insn for 'A'"
+msgstr ""
+
+#: config/m32r/m32r.c:2370
+#, c-format
+msgid "invalid operand to %%T/%%B code"
+msgstr ""
+
+#: config/m32r/m32r.c:2393
+#, c-format
+msgid "invalid operand to %%N code"
+msgstr ""
+
+#: config/m32r/m32r.c:2438
+msgid "pre-increment address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2445
+msgid "pre-decrement address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2452
+msgid "post-increment address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12783
+msgid "bad address"
+msgstr ""
+
+#: config/m32r/m32r.c:2551
+msgid "lo_sum not of register"
+msgstr ""
+
+#. { "relax", TARGET_RELAX_MASK, "" }, { "no-relax", -TARGET_RELAX_MASK, "" },
+#: config/m32r/m32r.h:241
+msgid "Display compile time statistics"
+msgstr ""
+
+#: config/m32r/m32r.h:243
+msgid "Align all loops to 32 byte boundary"
+msgstr ""
+
+#: config/m32r/m32r.h:246
+msgid "Only issue one instruction per cycle"
+msgstr ""
+
+#: config/m32r/m32r.h:249
+msgid "Prefer branches over conditional execution"
+msgstr ""
+
+#: config/m32r/m32r.h:265
+msgid "Code size: small, medium or large"
+msgstr ""
+
+#: config/m32r/m32r.h:267
+msgid "Small data area: none, sdata, use"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:242
+#, c-format
+msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:1305
+msgid "`trap' and `far' attributes are not compatible, ignoring `far'"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:1311
+#, fuzzy
+msgid "`trap' attribute is already used"
+msgstr "Attribut »%s« wird ignoriert"
+
+#. !!!! SCz wrong here.
+#: config/m68hc11/m68hc11.c:3327 config/m68hc11/m68hc11.c:3733
+msgid "move insn not handled"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3579 config/m68hc11/m68hc11.c:3663
+#: config/m68hc11/m68hc11.c:3946
+msgid "invalid register in the move instruction"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3613
+msgid "invalid operand in the instruction"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3920
+msgid "invalid register in the instruction"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3953
+msgid "operand 1 must be a hard register"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3970
+msgid "invalid rotate insn"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:4391
+msgid "registers IX, IY and Z used in the same INSN"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:4728 config/m68hc11/m68hc11.c:5031
+msgid "cannot do z-register replacement"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:5094
+msgid "invalid Z register replacement for insn"
+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/m68hc11/m68hc11.h:172
+msgid "Compile with 16-bit integer mode"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:174
+msgid "Compile with 32-bit integer mode"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:176
+msgid "Auto pre/post decrement increment allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:178
+msgid "Auto pre/post decrement increment not allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:180
+msgid "Min/max instructions allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:182
+msgid "Min/max instructions not allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:184
+msgid "Use call and rtc for function calls and returns"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:186
+msgid "Use jsr and rts for function calls and returns"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:188
+msgid "Do not use direct addressing mode for soft registers"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:190
+msgid "Use direct addressing mode for soft registers"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:192 config/m68hc11/m68hc11.h:198
+msgid "Compile for a 68HC11"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:194 config/m68hc11/m68hc11.h:200
+msgid "Compile for a 68HC12"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:196 config/m68hc11/m68hc11.h:202
+msgid "Compile for a 68HCS12"
+msgstr ""
+
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:216
+msgid "Specify the register allocation order"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:218
+msgid "Indicate the number of soft registers available"
+msgstr ""
+
+#: config/m68k/m68k.c:158
+#, c-format
+msgid "-malign-loops=%d is not between 1 and %d"
+msgstr ""
+
+#: config/m68k/m68k.c:169
+#, c-format
+msgid "-malign-jumps=%d is not between 1 and %d"
+msgstr ""
+
+#: 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 }
+#. 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/m68k/m68k.h:162 config/m68k/m68k.h:164
+msgid "Generate code for a 68020"
+msgstr ""
+
+#: config/m68k/m68k.h:169 config/m68k/m68k.h:172
+msgid "Generate code for a 68000"
+msgstr ""
+
+#: config/m68k/m68k.h:174
+msgid "Use the bit-field instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:176
+msgid "Do not use the bit-field instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:178
+msgid "Use different calling convention using 'rtd'"
+msgstr ""
+
+#: config/m68k/m68k.h:182
+msgid "Consider type `int' to be 16 bits wide"
+msgstr ""
+
+#: config/m68k/m68k.h:184
+msgid "Consider type `int' to be 32 bits wide"
+msgstr ""
+
+#: config/m68k/m68k.h:186
+msgid "Generate code for a Sun FPA"
+msgstr ""
+
+#: config/m68k/m68k.h:189
+msgid "Do not generate code for a Sun FPA"
+msgstr ""
+
+#: config/m68k/m68k.h:191 config/m68k/m68k.h:193
+msgid "Generate code for a Sun Sky board"
+msgstr ""
+
+#: config/m68k/m68k.h:195
+msgid "Do not use Sky linkage convention"
+msgstr ""
+
+#: config/m68k/m68k.h:197
+msgid "Generate code for a 68881"
+msgstr ""
+
+#: config/m68k/m68k.h:200
+msgid "Generate code with library calls for floating point"
+msgstr ""
+
+#: config/m68k/m68k.h:202
+msgid "Generate code for a 68040, without any new instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:205
+msgid "Generate code for a 68060, without any new instructions"
+msgstr ""
+
+#: config/m68k/m68k.h:209
+msgid "Generate code for a 68030"
+msgstr ""
+
+#: config/m68k/m68k.h:212
+msgid "Generate code for a 68040"
+msgstr ""
+
+#: config/m68k/m68k.h:216
+msgid "Generate code for a 68060"
+msgstr ""
+
+#: config/m68k/m68k.h:221
+msgid "Generate code for a 520X"
+msgstr ""
+
+#: config/m68k/m68k.h:224
+msgid "Generate code for a 68851"
+msgstr ""
+
+#: config/m68k/m68k.h:226
+msgid "Do no generate code for a 68851"
+msgstr ""
+
+#: config/m68k/m68k.h:229
+msgid "Generate code for a 68302"
+msgstr ""
+
+#: config/m68k/m68k.h:232
+msgid "Generate code for a 68332"
+msgstr ""
+
+#: config/m68k/m68k.h:236
+msgid "Generate code for a cpu32"
+msgstr ""
+
+#: config/m68k/m68k.h:239
+msgid "Align variables on a 32-bit boundary"
+msgstr ""
+
+#: config/m68k/m68k.h:241
+msgid "Align variables on a 16-bit boundary"
+msgstr ""
+
+#: config/m68k/m68k.h:243
+msgid "Generate pc-relative code"
+msgstr ""
+
+#: config/m68k/m68k.h:245
+msgid "Do not use unaligned memory references"
+msgstr ""
+
+#: config/m68k/m68k.h:247
+msgid "Use unaligned memory references"
+msgstr ""
+
+#: config/m88k/m88k.c:903
+#, c-format
+msgid "internal gcc monitor: short-branch(%x)"
+msgstr ""
+
+#: config/m88k/m88k.c:2302
+msgid "internal gcc error: Can't express symbolic location"
+msgstr ""
+
+#: config/m88k/m88k.c:2517
+#, c-format
+msgid "argument #%d is a structure"
+msgstr ""
+
+#: config/m88k/m88k.c:2816
+#, c-format
+msgid "%%R not followed by %%B/C/D/E"
+msgstr ""
+
+#: config/m88k/m88k.c:2884
+#, c-format
+msgid "invalid %%x/X value"
+msgstr ""
+
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr ""
+
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7715
+#, c-format
+msgid "invalid %%q value"
+msgstr ""
+
+#: config/m88k/m88k.c:2913
+#, c-format
+msgid "invalid %%o value"
+msgstr ""
+
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7678
+#, c-format
+msgid "invalid %%p value"
+msgstr ""
+
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, c-format
+msgid "invalid %%s/S value"
+msgstr ""
+
+#: config/m88k/m88k.c:2949
+#, c-format
+msgid "invalid %%P operand"
+msgstr ""
+
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
+#, c-format
+msgid "invalid %%B value"
+msgstr ""
+
+#: config/m88k/m88k.c:3010
+#, c-format
+msgid "invalid %%D value"
+msgstr ""
+
+#: config/m88k/m88k.c:3023
+#, c-format
+msgid "`%%d' operand isn't a register"
+msgstr ""
+
+#: config/m88k/m88k.c:3041
+msgid "operand is r0"
+msgstr ""
+
+#: config/m88k/m88k.c:3055
+msgid "operand is const_double"
+msgstr ""
+
+#: config/m88k/m88k.c:3074
+msgid "invalid code"
+msgstr ""
+
+#. Do any checking or such that is needed after processing the -m switches.
+#: config/m88k/m88k.h:277
+msgid "-mtrap-large-shift and -mhandle-large-shift are incompatible"
+msgstr ""
+
+#: config/m88k/m88k.h:299
+#, c-format
+msgid "invalid option `-mshort-data-%s'"
+msgstr ""
+
+#: config/m88k/m88k.h:304
+#, c-format
+msgid "-mshort-data-%s is too large "
+msgstr ""
+
+#: config/m88k/m88k.h:306
+#, c-format
+msgid "-mshort-data-%s and PIC are incompatible"
+msgstr ""
+
+#: config/mcore/mcore.c:3078
+#, c-format
+msgid "invalid option `-mstack-increment=%s'"
+msgstr ""
+
+#: config/mcore/mcore.h:126
+msgid "Inline constants if it can be done in 2 insns or less"
+msgstr ""
+
+#: config/mcore/mcore.h:128
+msgid "Inline constants if it only takes 1 instruction"
+msgstr ""
+
+#: config/mcore/mcore.h:130
+msgid "Set maximum alignment to 4"
+msgstr ""
+
+#: config/mcore/mcore.h:132
+msgid "Set maximum alignment to 8"
+msgstr ""
+
+#: config/mcore/mcore.h:136
+msgid "Do not use the divide instruction"
+msgstr ""
+
+#: config/mcore/mcore.h:140
+msgid "Do not arbitrary sized immediates in bit operations"
+msgstr ""
+
+#: config/mcore/mcore.h:142
+msgid "Always treat bit-field as int-sized"
+msgstr ""
+
+#: config/mcore/mcore.h:146
+msgid "Force functions to be aligned to a 4 byte boundary"
+msgstr ""
+
+#: config/mcore/mcore.h:148
+msgid "Force functions to be aligned to a 2 byte boundary"
+msgstr ""
+
+#: config/mcore/mcore.h:150
+msgid "Emit call graph information"
+msgstr ""
+
+#: config/mcore/mcore.h:154
+msgid "Prefer word accesses over byte accesses"
+msgstr ""
+
+#: config/mcore/mcore.h:165
+msgid "Generate code for the M*Core M340"
+msgstr ""
+
+#: config/mcore/mcore.h:178
+msgid "Maximum amount for a single stack increment operation"
+msgstr ""
+
+#: config/mips/mips.c:5126
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
+msgstr ""
+
+#: config/mips/mips.c:5156
+#, c-format
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr ""
+
+#: config/mips/mips.c:5163
+#, c-format
+msgid "bad value (%s) for -mips switch"
+msgstr ""
+
+#: config/mips/mips.c:5178
+#, c-format
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr ""
+
+#: config/mips/mips.c:5190
+msgid "-mgp64 used with a 32-bit processor"
+msgstr ""
+
+#: config/mips/mips.c:5192
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr ""
+
+#: config/mips/mips.c:5194
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr ""
+
+#: config/mips/mips.c:5212 config/mips/mips.c:5214 config/mips/mips.c:5216
+#, c-format
+msgid "unsupported combination: %s"
+msgstr ""
+
+#: config/mips/mips.c:5286
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr ""
+
+#: config/mips/mips.c:5297
+msgid "-G is incompatible with PIC code which is the default"
+msgstr ""
+
+#: config/mips/mips.c:5313
+msgid "-membedded-pic and -mabicalls are incompatible"
+msgstr ""
+
+#: config/mips/mips.c:5316
+msgid "-G and -membedded-pic are incompatible"
+msgstr ""
+
+#: config/mips/mips.c:5367
+#, c-format
+msgid "invalid option `entry%s'"
+msgstr ""
+
+#: config/mips/mips.c:5370
+msgid "-mentry is only meaningful with -mips-16"
+msgstr ""
+
+#: config/mips/mips.c:5779
+#, c-format
+msgid "internal error: %%) found without a %%( in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5793
+#, c-format
+msgid "internal error: %%] found without a %%[ in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5806
+#, c-format
+msgid "internal error: %%> found without a %%< in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5819
+#, c-format
+msgid "internal error: %%} found without a %%{ in assembler pattern"
+msgstr ""
+
+#: config/mips/mips.c:5833
+#, c-format
+msgid "PRINT_OPERAND: unknown punctuation '%c'"
+msgstr ""
+
+#: config/mips/mips.c:5842 config/xtensa/xtensa.c:1939
+msgid "PRINT_OPERAND null pointer"
+msgstr ""
+
+#: config/mips/mips.c:5973
+#, c-format
+msgid "invalid use of %%d, %%x, or %%X"
+msgstr ""
+
+#: config/mips/mips.c:6011 config/xtensa/xtensa.c:2033
+msgid "PRINT_OPERAND_ADDRESS, null pointer"
+msgstr ""
+
+#: config/mips/mips.c:6240
+msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
+msgstr ""
+
+#: config/mips/mips.c:6550
+msgid "can't rewind temp file"
+msgstr ""
+
+#: config/mips/mips.c:6554
+msgid "can't write to output file"
+msgstr ""
+
+#: config/mips/mips.c:6557
+msgid "can't read from temp file"
+msgstr ""
+
+#: config/mips/mips.c:6560
+msgid "can't close temp file"
+msgstr ""
+
+#: config/mips/mips.c:7001
+#, c-format
+msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+msgstr ""
+
+#: config/mips/mips.c:7110
+#, c-format
+msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+msgstr ""
+
+#: config/mips/mips.c:9346
+#, c-format
+msgid "can not handle inconsistent calls to `%s'"
+msgstr ""
+
+#: config/mips/mips.c:10478
+msgid "the cpu name must be lower case"
+msgstr ""
+
+#: config/mips/mips.c:10500
+#, 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:528 config/mn10300/mn10300.h:64
+msgid "No default crt0.o"
+msgstr ""
+
+#: config/mips/mips.h:530
+msgid "Use 64-bit int type"
+msgstr ""
+
+#: config/mips/mips.h:532
+msgid "Use 64-bit long type"
+msgstr ""
+
+#: config/mips/mips.h:534
+msgid "Use 32-bit long type"
+msgstr ""
+
+#: config/mips/mips.h:536
+msgid "Optimize lui/addiu address loads"
+msgstr ""
+
+#: config/mips/mips.h:538
+msgid "Don't optimize lui/addiu address loads"
+msgstr ""
+
+#: config/mips/mips.h:540
+msgid "Use MIPS as"
+msgstr ""
+
+#: config/mips/mips.h:542
+msgid "Use GNU as"
+msgstr ""
+
+#: config/mips/mips.h:544
+msgid "Use symbolic register names"
+msgstr ""
+
+#: config/mips/mips.h:546
+msgid "Don't use symbolic register names"
+msgstr ""
+
+#: config/mips/mips.h:548 config/mips/mips.h:550
+msgid "Use GP relative sdata/sbss sections"
+msgstr ""
+
+#: config/mips/mips.h:552 config/mips/mips.h:554
+msgid "Don't use GP relative sdata/sbss sections"
+msgstr ""
+
+#: config/mips/mips.h:556
+msgid "Output compiler statistics"
+msgstr ""
+
+#: config/mips/mips.h:558
+msgid "Don't output compiler statistics"
+msgstr ""
+
+#: config/mips/mips.h:560
+msgid "Don't optimize block moves"
+msgstr ""
+
+#: config/mips/mips.h:562
+msgid "Optimize block moves"
+msgstr ""
+
+#: config/mips/mips.h:564
+msgid "Use mips-tfile asm postpass"
+msgstr ""
+
+#: config/mips/mips.h:566
+msgid "Don't use mips-tfile asm postpass"
+msgstr ""
+
+#. Macro to define tables used to set the flags.
+#. This is a list in braces of triplets in braces,
+#. each triplet being { "NAME", VALUE, DOC }
+#. 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:570 config/pdp11/pdp11.h:56
+msgid "Use hardware floating point"
+msgstr ""
+
+#: config/mips/mips.h:572
+msgid "Use 64-bit FP registers"
+msgstr ""
+
+#: config/mips/mips.h:574
+msgid "Use 32-bit FP registers"
+msgstr ""
+
+#: config/mips/mips.h:576
+msgid "Use 64-bit general registers"
+msgstr ""
+
+#: config/mips/mips.h:578
+msgid "Use 32-bit general registers"
+msgstr ""
+
+#: config/mips/mips.h:580
+msgid "Use Irix PIC"
+msgstr ""
+
+#: config/mips/mips.h:582
+msgid "Don't use Irix PIC"
+msgstr ""
+
+#: config/mips/mips.h:584
+msgid "Use indirect calls"
+msgstr ""
+
+#: config/mips/mips.h:586
+msgid "Don't use indirect calls"
+msgstr ""
+
+#: config/mips/mips.h:588
+msgid "Use embedded PIC"
+msgstr ""
+
+#: config/mips/mips.h:590
+msgid "Don't use embedded PIC"
+msgstr ""
+
+#: config/mips/mips.h:592
+msgid "Use ROM instead of RAM"
+msgstr ""
+
+#: config/mips/mips.h:594
+msgid "Don't use ROM instead of RAM"
+msgstr ""
+
+#: config/mips/mips.h:596
+msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+msgstr ""
+
+#: 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:600 config/xtensa/xtensa.h:110
+msgid "Use big-endian byte order"
+msgstr ""
+
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
+msgid "Use little-endian byte order"
+msgstr ""
+
+#: config/mips/mips.h:604
+msgid "Use single (32-bit) FP only"
+msgstr ""
+
+#: config/mips/mips.h:606
+msgid "Don't use single (32-bit) FP only"
+msgstr ""
+
+#: config/mips/mips.h:608
+msgid "Use multiply accumulate"
+msgstr ""
+
+#: config/mips/mips.h:610
+msgid "Don't use multiply accumulate"
+msgstr ""
+
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
+msgid "Don't generate fused multiply/add instructions"
+msgstr ""
+
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
+msgid "Generate fused multiply/add instructions"
+msgstr ""
+
+#: config/mips/mips.h:616
+msgid "Work around early 4300 hardware bug"
+msgstr ""
+
+#: config/mips/mips.h:618
+msgid "Don't work around early 4300 hardware bug"
+msgstr ""
+
+#: config/mips/mips.h:620
+msgid "Trap on integer divide by zero"
+msgstr ""
+
+#: config/mips/mips.h:622
+msgid "Don't trap on integer divide by zero"
+msgstr ""
+
+#: config/mips/mips.h:624
+msgid "Trap on integer divide overflow"
+msgstr ""
+
+#: config/mips/mips.h:626
+msgid "Don't trap on integer divide overflow"
+msgstr ""
+
+#: 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:310
+msgid "Specify CPU for scheduling purposes"
+msgstr ""
+
+#: config/mips/mips.h:746
+msgid "Specify CPU for code generation purposes"
+msgstr ""
+
+#: 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:752
+msgid "Use mips16 entry/exit psuedo ops"
+msgstr ""
+
+#: config/mips/mips.h:754
+msgid "Don't use MIPS16 instructions"
+msgstr ""
+
+#: config/mips/mips.h:756
+msgid "Don't call any cache flush functions"
+msgstr ""
+
+#: 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:2890
+msgid "mips16 function profiling"
+msgstr ""
+
+#: config/mmix/mmix.c:189
+#, c-format
+msgid "-f%s not supported: ignored"
+msgstr ""
+
+#: 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:826
+msgid "function_profiler support for MMIX"
+msgstr ""
+
+#: config/mmix/mmix.c:848
+msgid "MMIX Internal: Last named vararg would not fit in a register"
+msgstr ""
+
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
+msgid "MMIX Internal: Expected a CONST_INT, not this"
+msgstr ""
+
+#: 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:1718
+msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+msgstr ""
+
+#: config/mmix/mmix.c:1737
+msgid "MMIX Internal: Expected a register, not this"
+msgstr ""
+
+#: 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:1779
+#, c-format
+msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
+msgstr ""
+
+#. We need the original here.
+#: config/mmix/mmix.c:1831
+msgid "MMIX Internal: Cannot decode this operand"
+msgstr ""
+
+#: config/mmix/mmix.c:1891
+msgid "MMIX Internal: This is not a recognized address"
+msgstr ""
+
+#: 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:3006
+msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+msgstr ""
+
+#: config/mmix/mmix.c:3013
+msgid "MMIX Internal: What's the CC of this?"
+msgstr ""
+
+#: config/mmix/mmix.c:3017
+msgid "MMIX Internal: What is the CC of this?"
+msgstr ""
+
+#: config/mmix/mmix.c:3088
+msgid "MMIX Internal: This is not a constant:"
+msgstr ""
+
+#. For these target macros, there is no generic documentation here. You
+#. should read `Using and Porting GCC' for that. Only comments specific
+#. to the MMIX target are here.
+#.
+#. There are however references to the specific texinfo node (comments
+#. with "Node:"), so there should be little or nothing amiss. Probably
+#. the opposite, since we don't have to care about old littering and
+#. soon outdated generic comments.
+#. Node: Driver
+#. 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.
+#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
+#. Provide default program start 0x100 unless -mno-set-program-start.
+#. 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:132
+msgid "Set start-address of the program"
+msgstr ""
+
+#: 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:198
+msgid "For intrinsics library: pass all parameters in registers"
+msgstr ""
+
+#: config/mmix/mmix.h:201
+msgid "Use register stack for parameters and return value"
+msgstr ""
+
+#: config/mmix/mmix.h:203
+msgid "Use call-clobbered registers for parameters and return value"
+msgstr ""
+
+#: config/mmix/mmix.h:205
+msgid "Use epsilon-respecting floating point compare instructions"
+msgstr ""
+
+#: config/mmix/mmix.h:208
+msgid "Use zero-extending memory loads, not sign-extending ones"
+msgstr ""
+
+#: 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:215
+msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+msgstr ""
+
+#: config/mmix/mmix.h:217
+msgid "Do not provide a default start-address 0x100 of the program"
+msgstr ""
+
+#: config/mmix/mmix.h:219
+msgid "Link to emit program in ELF format (rather than mmo)"
+msgstr ""
+
+#: config/mmix/mmix.h:221
+msgid "Use P-mnemonics for branches statically predicted as taken"
+msgstr ""
+
+#: config/mmix/mmix.h:223
+msgid "Don't use P-mnemonics for branches"
+msgstr ""
+
+#: config/mmix/mmix.h:225
+msgid "Use addresses that allocate global registers"
+msgstr ""
+
+#: 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 ""
+
+#: config/mn10300/mn10300.h:60
+msgid "Do not work around hardware multiply bug"
+msgstr ""
+
+#: config/mn10300/mn10300.h:61
+msgid "Target the AM33 processor"
+msgstr ""
+
+#: config/mn10300/mn10300.h:65
+msgid "Enable linker relaxations"
+msgstr ""
+
+#: config/ns32k/ns32k.h:142 config/s390/s390.h:69
+msgid "Don't use hardware fp"
+msgstr ""
+
+#: config/ns32k/ns32k.h:143
+msgid "Alternative calling convention"
+msgstr ""
+
+#: config/ns32k/ns32k.h:145
+msgid "Pass some arguments in registers"
+msgstr ""
+
+#: config/ns32k/ns32k.h:146
+msgid "Pass all arguments on stack"
+msgstr ""
+
+#: config/ns32k/ns32k.h:147
+msgid "Optimize for 32532 cpu"
+msgstr ""
+
+#: config/ns32k/ns32k.h:148
+msgid "Optimize for 32332 cpu"
+msgstr ""
+
+#: config/ns32k/ns32k.h:150
+msgid "Optimize for 32032"
+msgstr ""
+
+#: config/ns32k/ns32k.h:152
+msgid "Register sb is zero. Use for absolute addressing"
+msgstr ""
+
+#: config/ns32k/ns32k.h:153
+msgid "Do not use register sb"
+msgstr ""
+
+#: config/ns32k/ns32k.h:155
+msgid "Use bit-field instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:157
+msgid "Do not use bit-field instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:158
+msgid "Generate code for high memory"
+msgstr ""
+
+#: config/ns32k/ns32k.h:159
+msgid "Generate code for low memory"
+msgstr ""
+
+#: config/ns32k/ns32k.h:160
+msgid "32381 fpu"
+msgstr ""
+
+#: config/ns32k/ns32k.h:162
+msgid "Use multiply-accumulate fp instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:164
+msgid "Do not use multiply-accumulate fp instructions"
+msgstr ""
+
+#: config/ns32k/ns32k.h:165
+msgid "\"Small register classes\" kludge"
+msgstr ""
+
+#: config/ns32k/ns32k.h:166
+msgid "No \"Small register classes\" kludge"
+msgstr ""
+
+#: config/pa/pa.c:261
+#, c-format
+msgid ""
+"unknown -mschedule= option (%s).\n"
+"Valid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n"
+msgstr ""
+
+#: config/pa/pa.c:286
+#, c-format
+msgid ""
+"unknown -march= option (%s).\n"
+"Valid options are 1.0, 1.1, and 2.0\n"
+msgstr ""
+
+#: config/pa/pa.c:299
+msgid "PIC code generation is not supported in the portable runtime model\n"
+msgstr ""
+
+#: config/pa/pa.c:304
+msgid "PIC code generation is not compatible with fast indirect calls\n"
+msgstr ""
+
+#: config/pa/pa.c:309
+msgid "-g is only supported when using GAS on this processor,"
+msgstr ""
+
+#: config/pa/pa.c:310
+msgid "-g option disabled"
+msgstr ""
+
+#: 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:232 config/pa/pa.h:238
+msgid "Generate PA1.1 code"
+msgstr ""
+
+#: config/pa/pa.h:234 config/pa/pa.h:236
+msgid "Generate PA1.0 code"
+msgstr ""
+
+#: config/pa/pa.h:240
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr ""
+
+#: config/pa/pa.h:242
+msgid "Disable FP regs"
+msgstr ""
+
+#: config/pa/pa.h:244
+msgid "Do not disable FP regs"
+msgstr ""
+
+#: config/pa/pa.h:246
+msgid "Disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:248
+msgid "Do not disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:250
+msgid "Put jumps in call delay slots"
+msgstr ""
+
+#: config/pa/pa.h:252
+msgid "Do not put jumps in call delay slots"
+msgstr ""
+
+#: config/pa/pa.h:254
+msgid "Disable indexed addressing"
+msgstr ""
+
+#: config/pa/pa.h:256
+msgid "Do not disable indexed addressing"
+msgstr ""
+
+#: config/pa/pa.h:258
+msgid "Use portable calling conventions"
+msgstr ""
+
+#: config/pa/pa.h:260
+msgid "Do not use portable calling conventions"
+msgstr ""
+
+#: config/pa/pa.h:262
+msgid "Assume code will be assembled by GAS"
+msgstr ""
+
+#: config/pa/pa.h:264
+msgid "Do not assume code will be assembled by GAS"
+msgstr ""
+
+#: config/pa/pa.h:268
+msgid "Do not use software floating point"
+msgstr ""
+
+#: config/pa/pa.h:270
+msgid "Emit long load/store sequences"
+msgstr ""
+
+#: config/pa/pa.h:272
+msgid "Do not emit long load/store sequences"
+msgstr ""
+
+#: config/pa/pa.h:274
+msgid "Generate fast indirect calls"
+msgstr ""
+
+#: config/pa/pa.h:276
+msgid "Do not generate fast indirect calls"
+msgstr ""
+
+#: config/pa/pa.h:278
+msgid "Generate code for huge switch statements"
+msgstr ""
+
+#: config/pa/pa.h:280
+msgid "Do not generate code for huge switch statements"
+msgstr ""
+
+#: config/pa/pa.h:282
+msgid "Always generate long calls"
+msgstr ""
+
+#: config/pa/pa.h:284
+msgid "Generate long calls only when needed"
+msgstr ""
+
+#: config/pa/pa.h:286
+msgid "Enable linker optimizations"
+msgstr ""
+
+#: config/pa/pa.h:312
+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:59
+msgid "Return floating point results in ac0"
+msgstr ""
+
+#: config/pdp11/pdp11.h:60
+msgid "Return floating point results in memory"
+msgstr ""
+
+#. is 11/40
+#: config/pdp11/pdp11.h:62
+msgid "Generate code for an 11/40"
+msgstr ""
+
+#. is 11/45
+#: config/pdp11/pdp11.h:65
+msgid "Generate code for an 11/45"
+msgstr ""
+
+#. is 11/10
+#: 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:73 config/pdp11/pdp11.h:74
+msgid "Use 32 bit int"
+msgstr ""
+
+#: 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:78 config/pdp11/pdp11.h:79
+msgid "Use 32 bit float"
+msgstr ""
+
+#: config/pdp11/pdp11.h:80 config/pdp11/pdp11.h:81
+msgid "Use 64 bit float"
+msgstr ""
+
+#. allow abshi pattern? - can trigger "optimizations" which make code SLOW!
+#. 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:90
+msgid "Target has split I&D"
+msgstr ""
+
+#: config/pdp11/pdp11.h:91
+msgid "Target does not have split I&D"
+msgstr ""
+
+#. UNIX assembler syntax?
+#: config/pdp11/pdp11.h:93
+msgid "Use UNIX assembler syntax"
+msgstr ""
+
+#: config/pdp11/pdp11.h:94
+msgid "Use DEC assembler syntax"
+msgstr ""
+
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7752
+#, c-format
+msgid "invalid %%S value"
+msgstr ""
+
+#: config/romp/romp.c:726 config/romp/romp.c:733
+#, c-format
+msgid "invalid %%b value"
+msgstr ""
+
+#: config/romp/romp.c:773 config/romp/romp.c:784
+#, c-format
+msgid "invalid %%z value"
+msgstr ""
+
+#: config/romp/romp.c:792 config/romp/romp.c:800
+#, c-format
+msgid "invalid %%Z value"
+msgstr ""
+
+#: config/romp/romp.c:807 config/romp/romp.c:816 config/romp/romp.c:823
+#: config/rs6000/rs6000.c:7581
+#, c-format
+msgid "invalid %%k value"
+msgstr ""
+
+#: config/romp/romp.c:908 config/romp/romp.c:951
+#, c-format
+msgid "invalid %%j value"
+msgstr ""
+
+#. Perform any needed actions needed for a function that is receiving a
+#. variable number of arguments.
+#.
+#. CUM is as above.
+#.
+#. MODE and TYPE are the mode and type of the current parameter.
+#.
+#. PRETEND_SIZE is a variable that should be set to the amount of stack
+#. that must be pushed by the prolog to pretend that our caller pushed
+#. it.
+#.
+#. Normally, this macro will push all remaining incoming registers on the
+#. stack and set PRETEND_SIZE to the length of the registers pushed.
+#: config/romp/romp.h:648
+msgid "can't have varargs with -mfp-arg-in-fp-regs"
+msgstr ""
+
+#. 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:592
+msgid "-mmultiple is not supported on little endian systems"
+msgstr ""
+
+#: config/rs6000/rs6000.c:599
+msgid "-mstring is not supported on little endian systems"
+msgstr ""
+
+#: config/rs6000/rs6000.c:623
+#, c-format
+msgid "unknown -mdebug-%s switch"
+msgstr ""
+
+#: config/rs6000/rs6000.c:635
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:646
+#, c-format
+msgid "Unknown switch -mlong-double-%s"
+msgstr ""
+
+#: config/rs6000/rs6000.c:738
+#, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:753
+#, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:772
+#, c-format
+msgid "unknown ABI specified: '%s'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4203
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4310 config/rs6000/rs6000.c:4900
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4353
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4407
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4486
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4663
+#, c-format
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4779
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:5010
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr ""
+
+#: config/rs6000/rs6000.c:5083
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7508
+#, c-format
+msgid "invalid %%f value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7517
+#, c-format
+msgid "invalid %%F value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7526
+#, c-format
+msgid "invalid %%G value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7561
+#, c-format
+msgid "invalid %%j code"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7571
+#, c-format
+msgid "invalid %%J code"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7601
+#, c-format
+msgid "invalid %%K value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7668
+#, c-format
+msgid "invalid %%O value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7790
+#, c-format
+msgid "invalid %%T value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7800
+#, c-format
+msgid "invalid %%u value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7809
+#, c-format
+msgid "invalid %%v value"
+msgstr ""
+
+#: config/rs6000/rs6000.c:12223
+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: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/aix52.h:28
+msgid "Compile for 64-bit pointers"
+msgstr ""
+
+#: 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/aix52.h:49
+msgid "-maix64 and POWER architecture are incompatible"
+msgstr ""
+
+#: 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/aix52.h:58
+msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+msgstr ""
+
+#. Run-time compilation parameters selecting different hardware subsets.
+#.
+#. 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/rs6000/rs6000.h:240
+msgid "Use POWER instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:243
+msgid "Use POWER2 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:245
+msgid "Do not use POWER2 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:248
+msgid "Do not use POWER instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:250
+msgid "Use PowerPC instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:253
+msgid "Do not use PowerPC instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:255
+msgid "Use PowerPC General Purpose group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:257
+msgid "Don't use PowerPC General Purpose group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:259
+msgid "Use PowerPC Graphics group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:261
+msgid "Don't use PowerPC Graphics group optional instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:263
+msgid "Use PowerPC-64 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:265
+msgid "Don't use PowerPC-64 instruction set"
+msgstr ""
+
+#: config/rs6000/rs6000.h:267
+msgid "Use AltiVec instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:269
+msgid "Don't use AltiVec instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:271
+msgid "Use new mnemonics for PowerPC architecture"
+msgstr ""
+
+#: config/rs6000/rs6000.h:273
+msgid "Use old mnemonics for PowerPC architecture"
+msgstr ""
+
+#: config/rs6000/rs6000.h:276
+msgid "Put everything in the regular TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:278
+msgid "Place floating point constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:280
+msgid "Don't place floating point constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:282
+msgid "Place symbol+offset constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:284
+msgid "Don't place symbol+offset constants in TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:290
+msgid "Place variable addresses in the regular TOC"
+msgstr ""
+
+#: config/rs6000/rs6000.h:296
+msgid "Generate load/store multiple instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:298
+msgid "Do not generate load/store multiple instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:302
+msgid "Generate string instructions for block moves"
+msgstr ""
+
+#: config/rs6000/rs6000.h:304
+msgid "Do not generate string instructions for block moves"
+msgstr ""
+
+#: config/rs6000/rs6000.h:308
+msgid "Generate load/store with update instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:310
+msgid "Do not generate load/store with update instructions"
+msgstr ""
+
+#: config/rs6000/rs6000.h:318
+msgid "Don't schedule the start and end of the procedure"
+msgstr ""
+
+#: config/rs6000/rs6000.h:324
+msgid "Return all structures in memory (AIX default)"
+msgstr ""
+
+#: config/rs6000/rs6000.h:326
+msgid "Return small structures in registers (SVR4 default)"
+msgstr ""
+
+#: 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:394
+msgid "Enable debug output"
+msgstr ""
+
+#: 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: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.
+#. This should be uncommented, so that the link register is used, but
+#. currently this would result in unmatched insns and spilling fixed
+#. registers so we'll leave it for another day. When these problems are
+#. taken care of one additional fetch will be necessary in RETURN_ADDR_RTX.
+#. (mrs)
+#. #define RETURN_ADDR_IN_PREVIOUS_FRAME
+#. 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:1878
+msgid "RETURN_ADDRESS_OFFSET not supported"
+msgstr ""
+
+#: config/rs6000/sysv4.h:87
+msgid "Select ABI calling convention"
+msgstr ""
+
+#: config/rs6000/sysv4.h:88
+msgid "Select method for sdata handling"
+msgstr ""
+
+#: config/rs6000/sysv4.h:103
+msgid "Align to the base type of the bit-field"
+msgstr ""
+
+#: config/rs6000/sysv4.h:105
+msgid "Don't align to the base type of the bit-field"
+msgstr ""
+
+#: config/rs6000/sysv4.h:107
+msgid "Don't assume that unaligned accesses are handled by the system"
+msgstr ""
+
+#: config/rs6000/sysv4.h:109
+msgid "Assume that unaligned accesses are handled by the system"
+msgstr ""
+
+#: config/rs6000/sysv4.h:111 config/rs6000/sysv4.h:115
+msgid "Produce code relocatable at runtime"
+msgstr ""
+
+#: config/rs6000/sysv4.h:113 config/rs6000/sysv4.h:117
+msgid "Don't produce code relocatable at runtime"
+msgstr ""
+
+#: config/rs6000/sysv4.h:119 config/rs6000/sysv4.h:121
+msgid "Produce little endian code"
+msgstr ""
+
+#: config/rs6000/sysv4.h:123 config/rs6000/sysv4.h:125
+msgid "Produce big endian code"
+msgstr ""
+
+#: 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:132
+msgid "Use EABI"
+msgstr ""
+
+#: config/rs6000/sysv4.h:133
+msgid "Don't use EABI"
+msgstr ""
+
+#: config/rs6000/sysv4.h:136
+msgid "Do not allow bit-fields to cross word boundaries"
+msgstr ""
+
+#: config/rs6000/sysv4.h:138
+msgid "Use alternate register names"
+msgstr ""
+
+#: config/rs6000/sysv4.h:140
+msgid "Don't use alternate register names"
+msgstr ""
+
+#: config/rs6000/sysv4.h:144
+msgid "Link with libsim.a, libc.a and sim-crt0.o"
+msgstr ""
+
+#: config/rs6000/sysv4.h:146
+msgid "Link with libads.a, libc.a and crt0.o"
+msgstr ""
+
+#: config/rs6000/sysv4.h:148
+msgid "Link with libyk.a, libc.a and crt0.o"
+msgstr ""
+
+#: config/rs6000/sysv4.h:150
+msgid "Link with libmvme.a, libc.a and crt0.o"
+msgstr ""
+
+#: 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
+#. defined, is executed once just after all the command options have
+#. been parsed.
+#.
+#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+#. get control.
+#: config/rs6000/sysv4.h:214
+#, c-format
+msgid "bad value for -mcall-%s"
+msgstr ""
+
+#: config/rs6000/sysv4.h:230
+#, c-format
+msgid "bad value for -msdata=%s"
+msgstr ""
+
+#: config/rs6000/sysv4.h:247
+#, c-format
+msgid "-mrelocatable and -msdata=%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:255
+#, c-format
+msgid "-f%s and -msdata=%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:263
+#, c-format
+msgid "-msdata=%s and -mcall-%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:272
+msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:278
+#, c-format
+msgid "-mrelocatable and -mcall-%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:285
+#, c-format
+msgid "-fPIC and -mcall-%s are incompatible"
+msgstr ""
+
+#: config/rs6000/sysv4.h:292
+msgid "-mcall-aixdesc must be big endian"
+msgstr ""
+
+#: config/s390/s390.c:3004
+msgid "invalid UNSPEC as operand (1)"
+msgstr ""
+
+#: config/s390/s390.c:3064
+msgid "invalid UNSPEC as operand (2)"
+msgstr ""
+
+#: config/s390/s390.c:3070
+msgid "UNKNOWN in s390_output_symbolic_const !?"
+msgstr ""
+
+#: config/s390/s390.c:3088
+msgid "Cannot decompose address."
+msgstr ""
+
+#: config/s390/s390.c:3249
+msgid "UNKNOWN in print_operand !?"
+msgstr ""
+
+#: config/s390/s390.c:4902
+msgid "Total size of local variables exceeds architecture limit."
+msgstr ""
+
+#: config/s390/s390.h:70
+msgid "Set backchain"
+msgstr ""
+
+#: config/s390/s390.h:71
+msgid "Don't set backchain (faster, but debug harder"
+msgstr ""
+
+#: config/s390/s390.h:72
+msgid "Use bras for executable < 64k"
+msgstr ""
+
+#: config/s390/s390.h:73
+msgid "Don't use bras"
+msgstr ""
+
+#: config/s390/s390.h:74
+msgid "Additional debug prints"
+msgstr ""
+
+#: config/s390/s390.h:75
+msgid "Don't print additional debug prints"
+msgstr ""
+
+#: config/s390/s390.h:76
+msgid "64 bit mode"
+msgstr ""
+
+#: config/s390/s390.h:77
+msgid "31 bit mode"
+msgstr ""
+
+#: config/s390/s390.h:78
+msgid "mvcle use"
+msgstr ""
+
+#: config/s390/s390.h:79
+msgid "mvc&ex"
+msgstr ""
+
+#: config/sh/sh.c:5137
+msgid "__builtin_saveregs not supported by this subtarget"
+msgstr ""
+
+#: config/sh/sh.c:5687
+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:5713 config/sh/sh.c:5752
+#, c-format
+msgid "`%s' attribute only applies to interrupt functions"
+msgstr ""
+
+#. The argument must be a constant string.
+#: config/sh/sh.c:5720
+#, c-format
+msgid "`%s' attribute argument not a string constant"
+msgstr ""
+
+#. The argument must be a constant integer.
+#: config/sh/sh.c:5759
+#, 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:437
+msgid "Profiling is not supported on this target."
+msgstr ""
+
+#: config/sparc/sparc.c:329
+#, c-format
+msgid "%s is not supported by this configuration"
+msgstr ""
+
+#: config/sparc/sparc.c:336
+msgid "-mlong-double-64 not allowed with -m64"
+msgstr ""
+
+#: config/sparc/sparc.c:361
+msgid "-mcmodel= is not supported on 32 bit systems"
+msgstr ""
+
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
+#, c-format
+msgid "invalid %%Y operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6375
+#, c-format
+msgid "invalid %%A operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6385
+#, c-format
+msgid "invalid %%B operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6424
+#, c-format
+msgid "invalid %%c operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6425
+#, c-format
+msgid "invalid %%C operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6446
+#, c-format
+msgid "invalid %%d operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6447
+#, c-format
+msgid "invalid %%D operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6463
+#, c-format
+msgid "invalid %%f operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6476
+#, c-format
+msgid "invalid %%s operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6528
+msgid "long long constant not a valid immediate operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6531
+msgid "floating point constant not a valid immediate operand"
+msgstr ""
+
+#: 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 ""
+
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
+msgid "Generate code for big endian"
+msgstr ""
+
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
+msgid "Generate code for little endian"
+msgstr ""
+
+#: 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:532
+msgid "Assume possible double misalignment"
+msgstr ""
+
+#: config/sparc/sparc.h:534
+msgid "Assume all doubles are aligned"
+msgstr ""
+
+#: config/sparc/sparc.h:536
+msgid "Pass -assert pure-text to linker"
+msgstr ""
+
+#: config/sparc/sparc.h:538
+msgid "Do not pass -assert pure-text to linker"
+msgstr ""
+
+#: config/sparc/sparc.h:540
+msgid "Use flat register window model"
+msgstr ""
+
+#: config/sparc/sparc.h:542
+msgid "Do not use flat register window model"
+msgstr ""
+
+#: config/sparc/sparc.h:544
+msgid "Use ABI reserved registers"
+msgstr ""
+
+#: config/sparc/sparc.h:546
+msgid "Do not use ABI reserved registers"
+msgstr ""
+
+#: config/sparc/sparc.h:548
+msgid "Use hardware quad fp instructions"
+msgstr ""
+
+#: config/sparc/sparc.h:550
+msgid "Do not use hardware quad fp instructions"
+msgstr ""
+
+#: config/sparc/sparc.h:552
+msgid "Compile for v8plus ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:554
+msgid "Do not compile for v8plus ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:556
+msgid "Utilize Visual Instruction Set"
+msgstr ""
+
+#: 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:561
+msgid "Optimize for Cypress processors"
+msgstr ""
+
+#: config/sparc/sparc.h:563
+msgid "Optimize for SPARCLite processors"
+msgstr ""
+
+#: config/sparc/sparc.h:565
+msgid "Optimize for F930 processors"
+msgstr ""
+
+#: config/sparc/sparc.h:567
+msgid "Optimize for F934 processors"
+msgstr ""
+
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
+msgstr ""
+
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
+msgstr ""
+
+#. End of deprecated options.
+#: config/sparc/sparc.h:574
+msgid "Pointers are 64-bit"
+msgstr ""
+
+#: config/sparc/sparc.h:576
+msgid "Pointers are 32-bit"
+msgstr ""
+
+#: config/sparc/sparc.h:578
+msgid "Use 32-bit ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:580
+msgid "Use 64-bit ABI"
+msgstr ""
+
+#: config/sparc/sparc.h:582
+msgid "Use stack bias"
+msgstr ""
+
+#: config/sparc/sparc.h:584
+msgid "Do not use stack bias"
+msgstr ""
+
+#: config/sparc/sparc.h:586
+msgid "Use structs on stronger alignment for double-word copies"
+msgstr ""
+
+#: config/sparc/sparc.h:588
+msgid "Do not use structs on stronger alignment for double-word copies"
+msgstr ""
+
+#: config/sparc/sparc.h:590
+msgid "Optimize tail call instructions in assembler and linker"
+msgstr ""
+
+#: config/sparc/sparc.h:592
+msgid "Do not optimize tail call instructions in assembler or linker"
+msgstr ""
+
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1192
+msgid "cannot use va_start in interrupt function"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1552
+msgid "`B' operand is not constant"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1558
+msgid "`B' operand has multiple bits set"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1585
+msgid "`o' operand is not constant"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1600
+msgid "xstormy16_print_operand: unknown code"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1650
+#, c-format
+msgid "switch statement of size %lu entries too large"
+msgstr ""
+
+#: config/v850/v850-c.c:67
+msgid "#pragma GHS endXXXX found without previous startXXX"
+msgstr ""
+
+#: config/v850/v850-c.c:69
+msgid "#pragma GHS endXXX does not match previous startXXX"
+msgstr ""
+
+#: config/v850/v850-c.c:94
+msgid "cannot set interrupt attribute: no current function"
+msgstr ""
+
+#: config/v850/v850-c.c:102
+msgid "cannot set interrupt attribute: no such identifier"
+msgstr ""
+
+#: config/v850/v850-c.c:148
+msgid "junk at end of #pragma ghs section"
+msgstr ""
+
+#: config/v850/v850-c.c:165
+#, c-format
+msgid "unrecognized section name \"%s\""
+msgstr ""
+
+#: config/v850/v850-c.c:180
+msgid "malformed #pragma ghs section"
+msgstr ""
+
+#: config/v850/v850-c.c:200
+msgid "junk at end of #pragma ghs interrupt"
+msgstr ""
+
+#: config/v850/v850-c.c:212
+msgid "junk at end of #pragma ghs starttda"
+msgstr ""
+
+#: config/v850/v850-c.c:224
+msgid "junk at end of #pragma ghs startsda"
+msgstr ""
+
+#: config/v850/v850-c.c:236
+msgid "junk at end of #pragma ghs startzda"
+msgstr ""
+
+#: config/v850/v850-c.c:248
+msgid "junk at end of #pragma ghs endtda"
+msgstr ""
+
+#: config/v850/v850-c.c:260
+msgid "junk at end of #pragma ghs endsda"
+msgstr ""
+
+#: config/v850/v850-c.c:272
+msgid "junk at end of #pragma ghs endzda"
+msgstr ""
+
+#: config/v850/v850.c:129
+#, c-format
+msgid "%s=%s is not numeric"
+msgstr ""
+
+#: config/v850/v850.c:136
+#, c-format
+msgid "%s=%s is too large"
+msgstr ""
+
+#: config/v850/v850.c:302
+msgid "const_double_split got a bad insn:"
+msgstr ""
+
+#: config/v850/v850.c:837
+msgid "output_move_single:"
+msgstr ""
+
+#: config/v850/v850.c:2217
+msgid "a data area attribute cannot be specified for local variables"
+msgstr ""
+
+#: config/v850/v850.c:2228
+#, c-format
+msgid "data area of '%s' conflicts with previous declaration"
+msgstr ""
+
+#: config/v850/v850.c:2447
+#, c-format
+msgid "bogus JR construction: %d\n"
+msgstr ""
+
+#: 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: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:158
+msgid "Support Green Hills ABI"
+msgstr ""
+
+#: config/v850/v850.h:161
+msgid "Prohibit PC relative function calls"
+msgstr ""
+
+#: config/v850/v850.h:164
+msgid "Reuse r30 on a per function basis"
+msgstr ""
+
+#: config/v850/v850.h:167
+msgid "Use stubs for function prologues"
+msgstr ""
+
+#: config/v850/v850.h:170
+msgid "Same as: -mep -mprolog-function"
+msgstr ""
+
+#: config/v850/v850.h:171
+msgid "Enable backend debugging"
+msgstr ""
+
+#: config/v850/v850.h:173
+msgid "Compile for the v850 processor"
+msgstr ""
+
+#: 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 "Enforce strict alignment"
+msgstr ""
+
+#: config/v850/v850.h:192
+msgid "Use 4 byte entries in switch tables"
+msgstr ""
+
+#: config/v850/v850.h:218
+msgid "Set the max size of data eligible for the TDA area"
+msgstr ""
+
+#: config/v850/v850.h:221
+msgid "Set the max size of data eligible for the SDA area"
+msgstr ""
+
+#: config/v850/v850.h:224
+msgid "Set the max size of data eligible for the ZDA area"
+msgstr ""
+
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
+msgid "bad test"
+msgstr ""
+
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
+msgstr ""
+
+#: config/xtensa/xtensa.c:1991
+msgid "invalid mask"
+msgstr ""
+
+#: config/xtensa/xtensa.c:2038
+msgid "invalid address"
+msgstr ""
+
+#: config/xtensa/xtensa.c:2063
+msgid "no register in address"
+msgstr ""
+
+#: config/xtensa/xtensa.c:2071
+msgid "address offset not a constant"
+msgstr ""
+
+#: config/xtensa/xtensa.c:2794
+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 ""
+
+#: config/xtensa/xtensa.h:116
+msgid "Do not use the Xtensa code density option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:120
+msgid "Do not use the Xtensa MAC16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:124
+msgid "Do not use the Xtensa MUL16 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:128
+msgid "Do not use the Xtensa MUL32 option"
+msgstr ""
+
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:136
+msgid "Do not use the Xtensa NSA option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:140
+msgid "Do not use the Xtensa MIN/MAX option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:144
+msgid "Do not use the Xtensa SEXT option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:146
+msgid "Use the Xtensa boolean register option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:148
+msgid "Do not use the Xtensa boolean register option"
+msgstr ""
+
+#: config/xtensa/xtensa.h:150
+msgid "Use the Xtensa floating-point unit"
+msgstr ""
+
+#: config/xtensa/xtensa.h:152
+msgid "Do not use the Xtensa floating-point unit"
+msgstr ""
+
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:172
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:176
+msgid "Do not serialize volatile memory references with MEMW instructions"
+msgstr ""
+
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
+msgstr ""
+
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
+msgstr ""
+
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
+msgstr ""
+
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
+msgstr ""
+
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
+msgstr ""
+
+#: config/xtensa/xtensa.h:188
+msgid "Use direct CALLn instructions for fast calls"
+msgstr ""
+
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
+msgstr ""
+
+#: cp/call.c:259 cp/init.c:1596
+msgid "qualified type `%T' does not match destructor name `~%T'"
+msgstr ""
+
+#: cp/call.c:268
+msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+msgstr ""
+
+#: cp/call.c:277
+msgid "`%D' is a namespace"
+msgstr ""
+
+#: cp/call.c:285
+msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+msgstr ""
+
+#: cp/call.c:367
+msgid "unable to call pointer to member function here"
+msgstr ""
+
+#: cp/call.c:516
+msgid "destructors take no parameters"
+msgstr ""
+
+#: cp/call.c:520
+msgid "destructor name `~%T' does not match type `%T' of expression"
+msgstr ""
+
+#: cp/call.c:541 cp/call.c:4959
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr ""
+
+#: cp/call.c:565
+msgid "request for member `%D' is ambiguous"
+msgstr ""
+
+#: cp/call.c:2526
+msgid "%s %D(%T, %T, %T) <built-in>"
+msgstr ""
+
+#: cp/call.c:2531
+msgid "%s %D(%T, %T) <built-in>"
+msgstr ""
+
+#: cp/call.c:2535
+msgid "%s %D(%T) <built-in>"
+msgstr ""
+
+#: cp/call.c:2539
+msgid "%s %T <conversion>"
+msgstr ""
+
+#: cp/call.c:2541
+msgid "%s %+#D%s"
+msgstr ""
+
+#: cp/call.c:2715
+msgid "conversion from `%T' to `%T' is ambiguous"
+msgstr ""
+
+#: cp/call.c:2795
+msgid "incomplete type '%T' cannot be used to name a scope"
+msgstr ""
+
+#: cp/call.c:2815 cp/typeck.c:2185 cp/typeck.c:2214
+msgid "'%D' has no member named '%E'"
+msgstr ""
+
+#: cp/call.c:2917
+msgid "no matching function for call to `%D(%A)'"
+msgstr ""
+
+#: cp/call.c:2928 cp/call.c:5046
+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:2955
+#, c-format
+msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+msgstr ""
+
+#: cp/call.c:3020
+msgid "no match for call to `(%T) (%A)'"
+msgstr ""
+
+#: cp/call.c:3030
+msgid "call of `(%T) (%A)' is ambiguous"
+msgstr ""
+
+#: cp/call.c:3065
+msgid "%s for `%T ? %T : %T' operator"
+msgstr ""
+
+#: cp/call.c:3070
+msgid "%s for `%T %s' operator"
+msgstr ""
+
+#: cp/call.c:3073
+msgid "%s for `%T [%T]' operator"
+msgstr ""
+
+#: cp/call.c:3078
+msgid "%s for `%T %s %T' operator"
+msgstr ""
+
+#: cp/call.c:3081
+msgid "%s for `%s %T' operator"
+msgstr ""
+
+#: cp/call.c:3171
+msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+msgstr ""
+
+#: cp/call.c:3230
+#, c-format
+msgid "`%E' has type `void' and is not a throw-expression"
+msgstr ""
+
+#: cp/call.c:3263 cp/call.c:3455
+msgid "operands to ?: have different types"
+msgstr ""
+
+#: cp/call.c:3408
+msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
+msgstr ""
+
+#: cp/call.c:3415
+msgid "enumeral and non-enumeral type in conditional expression"
+msgstr ""
+
+#: cp/call.c:3496
+msgid "`%D' must be declared before use"
+msgstr ""
+
+#: cp/call.c:3686
+msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
+msgstr ""
+
+#: cp/call.c:3733
+msgid "using synthesized `%#D' for copy assignment"
+msgstr ""
+
+#: cp/call.c:3735
+msgid " where cfront would use `%#D'"
+msgstr ""
+
+#: cp/call.c:3762
+msgid "comparison between `%#T' and `%#T'"
+msgstr ""
+
+#: cp/call.c:4001
+msgid "no suitable `operator delete' for `%T'"
+msgstr ""
+
+#: cp/call.c:4020
+msgid "`%+#D' is private"
+msgstr ""
+
+#: cp/call.c:4022
+msgid "`%+#D' is protected"
+msgstr ""
+
+#: cp/call.c:4024
+msgid "`%+#D' is inaccessible"
+msgstr ""
+
+#: cp/call.c:4025
+msgid "within this context"
+msgstr ""
+
+#: cp/call.c:4067
+msgid "invalid conversion from `%T' to `%T'"
+msgstr ""
+
+#: cp/call.c:4069 cp/call.c:4207 cp/call.c:4209
+msgid " initializing argument %P of `%D'"
+msgstr ""
+
+#: cp/call.c:4131 cp/call.c:4135
+msgid " initializing argument %P of `%D' from result of `%D'"
+msgstr ""
+
+#: cp/call.c:4141 cp/call.c:4144
+msgid " initializing temporary from result of `%D'"
+msgstr ""
+
+#. 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:4294
+msgid "cannot pass objects of non-POD type `%#T' through `...'; call will abort at runtime"
+msgstr ""
+
+#. Undefined behavior [expr.call] 5.2.2/7.
+#: cp/call.c:4321
+msgid "cannot receive objects of non-POD type `%#T' through `...'"
+msgstr ""
+
+#: cp/call.c:4501
+msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
+msgstr ""
+
+#: cp/call.c:4759
+msgid "could not find class$ field in java interface type `%T'"
+msgstr ""
+
+#: cp/call.c:4933
+msgid "call to non-function `%D'"
+msgstr ""
+
+#: cp/call.c:5035
+msgid "no matching function for call to `%T::%D(%A)%#V'"
+msgstr ""
+
+#: cp/call.c:5065
+msgid "cannot call member function `%D' without object"
+msgstr ""
+
+#: cp/call.c:5663
+msgid "passing `%T' chooses `%T' over `%T'"
+msgstr ""
+
+#: cp/call.c:5665 cp/decl2.c:4148
+msgid " in call to `%D'"
+msgstr ""
+
+#: cp/call.c:5714
+msgid "choosing `%D' over `%D'"
+msgstr ""
+
+#: cp/call.c:5715
+msgid " for conversion from `%T' to `%T'"
+msgstr ""
+
+#: cp/call.c:5717
+msgid " because conversion sequence for the argument is better"
+msgstr ""
+
+#: cp/call.c:5838
+msgid "ISO C++ says that `%D' and `%D' are ambiguous even though the worst conversion for the former is better than the worst conversion for the latter"
+msgstr ""
+
+#: cp/call.c:5955 cp/call.c:6021
+msgid "could not convert `%E' to `%T'"
+msgstr ""
+
+#: cp/class.c:286
+msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
+msgstr ""
+
+#: cp/class.c:964
+msgid "`%#D' and `%#D' cannot be overloaded"
+msgstr ""
+
+#: cp/class.c:1048
+msgid "duplicate enum value `%D'"
+msgstr ""
+
+#: cp/class.c:1051
+msgid "duplicate field `%D' (as enum and non-enum)"
+msgstr ""
+
+#: cp/class.c:1058
+msgid "duplicate nested type `%D'"
+msgstr ""
+
+#: cp/class.c:1069
+msgid "duplicate field `%D' (as type and non-type)"
+msgstr ""
+
+#: cp/class.c:1073
+msgid "duplicate member `%D'"
+msgstr ""
+
+#: cp/class.c:1116
+msgid "conflicting access specifications for method `%D', ignored"
+msgstr ""
+
+#: cp/class.c:1118
+#, c-format
+msgid "conflicting access specifications for field `%s', ignored"
+msgstr ""
+
+#: cp/class.c:1163
+msgid "`%D' names constructor"
+msgstr ""
+
+#: cp/class.c:1168
+msgid "`%D' invalid in `%T'"
+msgstr ""
+
+#: cp/class.c:1176
+msgid "no members matching `%D' in `%#T'"
+msgstr ""
+
+#: cp/class.c:1208 cp/class.c:1216
+msgid "`%D' invalid in `%#T'"
+msgstr ""
+
+#: cp/class.c:1209
+msgid " because of local method `%#D' with same name"
+msgstr ""
+
+#: cp/class.c:1217
+msgid " because of local member `%#D' with same name"
+msgstr ""
+
+#: cp/class.c:1289
+msgid "base class `%#T' has a non-virtual destructor"
+msgstr ""
+
+#: cp/class.c:1309
+msgid "base `%T' with only non-default constructor in class without a constructor"
+msgstr ""
+
+#: cp/class.c:1881
+msgid "all member functions in class `%T' are private"
+msgstr ""
+
+#: cp/class.c:1895
+msgid "`%#T' only defines a private destructor and has no friends"
+msgstr ""
+
+#: cp/class.c:1938
+msgid "`%#T' only defines private constructors and has no friends"
+msgstr ""
+
+#: cp/class.c:2059 cp/class.c:5236
+msgid "redefinition of `%#T'"
+msgstr ""
+
+#: cp/class.c:2060
+msgid "previous definition of `%#T'"
+msgstr ""
+
+#: cp/class.c:2334
+msgid "no unique final overrider for `%D' in `%T'"
+msgstr ""
+
+#. Here we know it is a hider, and no overrider exists.
+#: cp/class.c:2681
+msgid "`%D' was hidden"
+msgstr ""
+
+#: cp/class.c:2682
+msgid " by `%D'"
+msgstr ""
+
+#: cp/class.c:2724
+msgid "ISO C++ forbids member `%D' with same name as enclosing class"
+msgstr ""
+
+#: cp/class.c:2729 cp/decl2.c:1336
+msgid "`%#D' invalid; an anonymous union can only have non-static data members"
+msgstr ""
+
+#: cp/class.c:2735 cp/decl2.c:1342
+msgid "private member `%#D' in anonymous union"
+msgstr ""
+
+#: cp/class.c:2738 cp/decl2.c:1344
+msgid "protected member `%#D' in anonymous union"
+msgstr ""
+
+#: cp/class.c:2863
+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:2927
+msgid "bit-field `%#D' with non-integral type"
+msgstr ""
+
+#: cp/class.c:2947
+msgid "bit-field `%D' width not an integer constant"
+msgstr ""
+
+#: cp/class.c:2953
+msgid "negative width in bit-field `%D'"
+msgstr ""
+
+#: cp/class.c:2958
+msgid "zero width for bit-field `%D'"
+msgstr ""
+
+#: cp/class.c:2964
+msgid "width of `%D' exceeds its type"
+msgstr ""
+
+#: cp/class.c:2973
+msgid "`%D' is too small to hold all values of `%#T'"
+msgstr ""
+
+#: cp/class.c:3057
+msgid "member `%#D' with constructor not allowed in union"
+msgstr ""
+
+#: cp/class.c:3060
+msgid "member `%#D' with destructor not allowed in union"
+msgstr ""
+
+#: cp/class.c:3063
+msgid "member `%#D' with copy assignment operator not allowed in union"
+msgstr ""
+
+#: cp/class.c:3090
+msgid "multiple fields in union `%T' initialized"
+msgstr ""
+
+#: cp/class.c:3203
+msgid "field `%D' in local class cannot be static"
+msgstr ""
+
+#: cp/class.c:3209
+msgid "field `%D' invalidly declared function type"
+msgstr ""
+
+#: cp/class.c:3216
+msgid "field `%D' invalidly declared method type"
+msgstr ""
+
+#: cp/class.c:3222
+msgid "field `%D' invalidly declared offset type"
+msgstr ""
+
+#. Unions cannot have static members.
+#: cp/class.c:3240
+msgid "field `%D' declared static in union"
+msgstr ""
+
+#: cp/class.c:3267
+msgid "non-static reference `%#D' in class without a constructor"
+msgstr ""
+
+#: cp/class.c:3302
+msgid "non-static const member `%#D' in class without a constructor"
+msgstr ""
+
+#: cp/class.c:3318
+msgid "field `%#D' with same name as class"
+msgstr ""
+
+#: cp/class.c:3336
+msgid "`%#T' has pointer data members"
+msgstr ""
+
+#: cp/class.c:3340
+msgid " but does not override `%T(const %T&)'"
+msgstr ""
+
+#: cp/class.c:3342
+msgid " or `operator=(const %T&)'"
+msgstr ""
+
+#: cp/class.c:3345
+msgid " but does not override `operator=(const %T&)'"
+msgstr ""
+
+#: cp/class.c:3795
+msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:3904
+msgid "class `%T' will be considered nearly empty in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:3994
+msgid "initializer specified for non-virtual method `%D'"
+msgstr ""
+
+#: cp/class.c:4730
+msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:4830
+msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
+msgstr ""
+
+#: cp/class.c:4843
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+msgstr ""
+
+#: cp/class.c:4999
+msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:5039
+msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:5048
+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:5107
+msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:5392
+msgid "`%#T' has virtual functions but non-virtual destructor"
+msgstr ""
+
+#: cp/class.c:5477
+msgid "trying to finish struct, but kicked out due to previous parse errors"
+msgstr ""
+
+#: cp/class.c:5943
+#, c-format
+msgid "language string `\"%s\"' not recognized"
+msgstr ""
+
+#: cp/class.c:6039
+msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
+msgstr ""
+
+#: cp/class.c:6160
+msgid "no matches converting function `%D' to type `%#T'"
+msgstr ""
+
+#: cp/class.c:6183
+msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
+msgstr ""
+
+#: cp/class.c:6209
+msgid "assuming pointer to member `%D'"
+msgstr ""
+
+#: cp/class.c:6212
+#, c-format
+msgid "(a pointer to member can only be formed with `&%E')"
+msgstr ""
+
+#: cp/class.c:6256 cp/class.c:6427 cp/class.c:6434
+msgid "not enough type information"
+msgstr ""
+
+#: cp/class.c:6265
+msgid "argument of type `%T' does not match `%T'"
+msgstr ""
+
+#: cp/class.c:6411
+msgid "invalid operation on uninstantiated type"
+msgstr ""
+
+#. [basic.scope.class]
+#.
+#. 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:6694 cp/decl.c:1009 cp/decl.c:3133 cp/pt.c:2001
+msgid "declaration of `%#D'"
+msgstr ""
+
+#: cp/class.c:6695
+msgid "changes meaning of `%D' from `%+#D'"
+msgstr ""
+
+#: cp/cvt.c:88
+msgid "can't convert from incomplete type `%T' to `%T'"
+msgstr ""
+
+#: cp/cvt.c:97
+msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
+msgstr ""
+
+#: cp/cvt.c:126
+msgid "converting from `%T' to `%T'"
+msgstr ""
+
+#: cp/cvt.c:203 cp/cvt.c:207
+msgid "pointer to member cast from `%T' to `%T' is via virtual base"
+msgstr ""
+
+#: cp/cvt.c:225 cp/cvt.c:236 cp/cvt.c:283
+msgid "cannot convert `%E' from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/cvt.c:262
+msgid "invalid conversion from '%T' to '%T'"
+msgstr ""
+
+#: cp/cvt.c:504
+msgid "conversion from `%T' to `%T' discards qualifiers"
+msgstr ""
+
+#: cp/cvt.c:522
+msgid "casting `%T' to `%T' does not dereference pointer"
+msgstr ""
+
+#: cp/cvt.c:551
+msgid "cannot convert type `%T' to type `%T'"
+msgstr ""
+
+#: cp/cvt.c:683
+msgid "conversion from `%#T' to `%#T'"
+msgstr ""
+
+#: cp/cvt.c:695
+msgid "`%#T' used where a `%T' was expected"
+msgstr ""
+
+#: cp/cvt.c:712
+msgid "the address of `%D', will always be `true'"
+msgstr ""
+
+#: cp/cvt.c:732
+msgid "`%#T' used where a floating point value was expected"
+msgstr ""
+
+#: cp/cvt.c:779
+msgid "conversion from `%T' to non-scalar type `%T' requested"
+msgstr ""
+
+#: cp/cvt.c:865
+msgid "object of incomplete type `%T' will not be accessed in %s"
+msgstr ""
+
+#: cp/cvt.c:868
+msgid "object of type `%T' will not be accessed in %s"
+msgstr ""
+
+#: cp/cvt.c:884
+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:904
+#, c-format
+msgid "%s cannot resolve address of overloaded function"
+msgstr ""
+
+#. Only warn when there is no &.
+#: cp/cvt.c:909
+#, c-format
+msgid "%s is a reference, not call, to function `%E'"
+msgstr ""
+
+#: cp/cvt.c:1039
+msgid "converting NULL to non-pointer type"
+msgstr ""
+
+#: cp/cvt.c:1115
+msgid "ambiguous default type conversion from `%T'"
+msgstr ""
+
+#: cp/cvt.c:1117
+msgid " candidate conversions include `%D' and `%D'"
+msgstr ""
+
+#: cp/decl.c:1010 cp/decl.c:3240
+msgid "conflicts with previous declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:1222
+msgid "label `%D' used but not defined"
+msgstr ""
+
+#: cp/decl.c:1227
+msgid "label `%D' defined but not used"
+msgstr ""
+
+#: cp/decl.c:2240
+msgid "namespace alias `%D' not allowed here, assuming `%D'"
+msgstr ""
+
+#: cp/decl.c:3039 cp/decl.c:3448
+msgid "previous declaration of `%D'"
+msgstr ""
+
+#: cp/decl.c:3120 cp/decl.c:3158
+msgid "shadowing %s function `%#D'"
+msgstr ""
+
+#: cp/decl.c:3129
+msgid "library function `%#D' redeclared as non-function `%#D'"
+msgstr ""
+
+#: cp/decl.c:3134
+msgid "conflicts with built-in declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:3153 cp/decl.c:3254 cp/decl.c:3270
+msgid "new declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:3154
+msgid "ambiguates built-in declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:3214
+msgid "`%#D' redeclared as different kind of symbol"
+msgstr ""
+
+#: cp/decl.c:3217
+msgid "previous declaration of `%#D'"
+msgstr ""
+
+#: cp/decl.c:3239
+msgid "declaration of template `%#D'"
+msgstr ""
+
+#: cp/decl.c:3255 cp/decl.c:3271
+msgid "ambiguates old declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:3263
+msgid "declaration of C function `%#D' conflicts with"
+msgstr ""
+
+#: cp/decl.c:3265
+msgid "previous declaration `%#D' here"
+msgstr ""
+
+#: cp/decl.c:3281
+msgid "conflicting types for `%#D'"
+msgstr ""
+
+#: cp/decl.c:3282
+msgid "previous declaration as `%#D'"
+msgstr ""
+
+#: cp/decl.c:3325
+msgid "`%#D' previously defined here"
+msgstr ""
+
+#: cp/decl.c:3326
+msgid "`%#D' previously declared here"
+msgstr ""
+
+#. Prototype decl follows defn w/o prototype.
+#: cp/decl.c:3335
+msgid "prototype for `%#D'"
+msgstr ""
+
+#: cp/decl.c:3336
+msgid "follows non-prototype definition here"
+msgstr ""
+
+#: cp/decl.c:3348
+msgid "previous declaration of `%#D' with %L linkage"
+msgstr ""
+
+#: cp/decl.c:3350
+msgid "conflicts with new declaration with %L linkage"
+msgstr ""
+
+#: cp/decl.c:3373 cp/decl.c:3380
+msgid "default argument given for parameter %d of `%#D'"
+msgstr ""
+
+#: cp/decl.c:3375 cp/decl.c:3382
+msgid "after previous specification in `%#D'"
+msgstr ""
+
+#: cp/decl.c:3391
+msgid "`%#D' was used before it was declared inline"
+msgstr ""
+
+#: cp/decl.c:3393
+msgid "previous non-inline declaration here"
+msgstr ""
+
+#: cp/decl.c:3447
+msgid "redundant redeclaration of `%D' in same scope"
+msgstr ""
+
+#: cp/decl.c:3528
+#, c-format
+msgid "declaration of `%F' throws different exceptions"
+msgstr ""
+
+#: cp/decl.c:3530
+#, c-format
+msgid "than previous declaration `%F'"
+msgstr ""
+
+#. From [temp.expl.spec]:
+#.
+#. If a template, a member template or the member of a class
+#. template is explicitly specialized then that
+#. specialization shall be declared before the first use of
+#. that specialization that would cause an implicit
+#. instantiation to take place, in every translation unit in
+#. which such a use occurs.
+#: cp/decl.c:3670
+msgid "explicit specialization of %D after first use"
+msgstr ""
+
+#: cp/decl.c:3926
+msgid "`%#D' used prior to declaration"
+msgstr ""
+
+#: cp/decl.c:3957
+msgid "redeclaration of `wchar_t' as `%T'"
+msgstr ""
+
+#. A redeclaration of main, but not a duplicate of the
+#. previous one.
+#.
+#. [basic.start.main]
+#.
+#. This function shall not be overloaded.
+#: cp/decl.c:3985
+msgid "invalid redeclaration of `%D'"
+msgstr ""
+
+#: cp/decl.c:3986
+msgid "as `%D'"
+msgstr ""
+
+#: cp/decl.c:4076
+msgid "previous external decl of `%#D'"
+msgstr ""
+
+#: cp/decl.c:4117
+msgid "`%D' was previously implicitly declared to return `int'"
+msgstr ""
+
+#: cp/decl.c:4177
+msgid "extern declaration of `%#D' doesn't match"
+msgstr ""
+
+#: cp/decl.c:4178
+msgid "global declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:4211
+msgid "declaration of `%#D' shadows a parameter"
+msgstr ""
+
+#: cp/decl.c:4231
+#, c-format
+msgid "declaration of `%s' shadows a member of `this'"
+msgstr ""
+
+#: cp/decl.c:4600
+msgid "`%#D' hides constructor for `%#T'"
+msgstr ""
+
+#: cp/decl.c:4615
+msgid "`%#D' conflicts with previous using declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:4627
+msgid "previous non-function declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:4628
+msgid "conflicts with function declaration `%#D'"
+msgstr ""
+
+#: cp/decl.c:4718
+msgid "implicit declaration of function `%#D'"
+msgstr ""
+
+#: cp/decl.c:4878
+#, c-format
+msgid "label `%s' referenced outside of any function"
+msgstr ""
+
+#: cp/decl.c:4981 cp/decl.c:5005 cp/decl.c:5098
+msgid "jump to label `%D'"
+msgstr ""
+
+#: cp/decl.c:4983 cp/decl.c:5007
+msgid "jump to case label"
+msgstr ""
+
+#: cp/decl.c:4991
+msgid " crosses initialization of `%#D'"
+msgstr ""
+
+#: cp/decl.c:4994 cp/decl.c:5114
+msgid " enters scope of non-POD `%#D'"
+msgstr ""
+
+#: cp/decl.c:5014 cp/decl.c:5118
+msgid " enters try block"
+msgstr ""
+
+#. Can't skip init of __exception_info.
+#: cp/decl.c:5016 cp/decl.c:5110 cp/decl.c:5120
+msgid " enters catch block"
+msgstr ""
+
+#: cp/decl.c:5099
+msgid " from here"
+msgstr ""
+
+#: cp/decl.c:5112
+msgid " skips initialization of `%#D'"
+msgstr ""
+
+#: cp/decl.c:5149
+msgid "label named wchar_t"
+msgstr ""
+
+#: cp/decl.c:5153
+msgid "duplicate label `%D'"
+msgstr ""
+
+#: cp/decl.c:5239
+#, c-format
+msgid "case label `%E' not within a switch statement"
+msgstr ""
+
+#. Definition isn't the kind we were looking for.
+#: cp/decl.c:5424 cp/decl.c:5443
+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:5536 cp/typeck.c:2071 cp/typeck.c:2226
+msgid "invalid use of `%D'"
+msgstr ""
+
+#: cp/decl.c:5577
+msgid "`%D::%D' is not a template"
+msgstr ""
+
+#: cp/decl.c:5594
+msgid "`%D' undeclared in namespace `%D'"
+msgstr ""
+
+#: cp/decl.c:5727
+msgid "`%D' used without template parameters"
+msgstr ""
+
+#: cp/decl.c:5738 cp/decl.c:5754 cp/decl.c:5864
+msgid "no class template named `%#T' in `%#T'"
+msgstr ""
+
+#: cp/decl.c:5780 cp/decl.c:5790 cp/decl.c:5825
+msgid "no type named `%#T' in `%#T'"
+msgstr ""
+
+#: cp/decl.c:6054
+msgid "lookup of `%D' finds `%#D'"
+msgstr ""
+
+#: cp/decl.c:6056
+msgid " instead of `%D' from dependent base class"
+msgstr ""
+
+#: cp/decl.c:6058
+msgid " (use `typename %T::%D' if that's what you meant)"
+msgstr ""
+
+#: cp/decl.c:6089
+msgid "name lookup of `%D' changed"
+msgstr ""
+
+#: cp/decl.c:6091
+msgid " matches this `%D' under ISO standard rules"
+msgstr ""
+
+#: cp/decl.c:6093
+msgid " matches this `%D' under old rules"
+msgstr ""
+
+#: cp/decl.c:6107 cp/decl.c:6114
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr ""
+
+#: cp/decl.c:6109
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
+msgstr ""
+
+#: cp/decl.c:6116
+msgid " using obsolete binding at `%D'"
+msgstr ""
+
+#: cp/decl.c:6305
+msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
+msgstr ""
+
+#: cp/decl.c:7128
+msgid "an anonymous union cannot have function members"
+msgstr ""
+
+#: cp/decl.c:7145
+msgid "member %#D' with constructor not allowed in anonymous aggregate"
+msgstr ""
+
+#: cp/decl.c:7148
+msgid "member %#D' with destructor not allowed in anonymous aggregate"
+msgstr ""
+
+#: cp/decl.c:7151
+msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
+msgstr ""
+
+#: cp/decl.c:7189
+msgid "redeclaration of C++ built-in type `%T'"
+msgstr ""
+
+#: cp/decl.c:7225
+msgid "multiple types in one declaration"
+msgstr ""
+
+#: cp/decl.c:7252
+msgid "missing type-name in typedef-declaration"
+msgstr ""
+
+#: cp/decl.c:7259
+msgid "ISO C++ prohibits anonymous structs"
+msgstr ""
+
+#: cp/decl.c:7266
+msgid "`%D' can only be specified for functions"
+msgstr ""
+
+#: cp/decl.c:7268
+msgid "`%D' can only be specified inside a class"
+msgstr ""
+
+#: cp/decl.c:7270
+msgid "`%D' can only be specified for constructors"
+msgstr ""
+
+#: cp/decl.c:7273
+msgid "`%D' can only be specified for objects and functions"
+msgstr ""
+
+#: cp/decl.c:7415 cp/decl2.c:936
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
+msgstr ""
+
+#: cp/decl.c:7420
+msgid "function `%#D' is initialized like a variable"
+msgstr ""
+
+#: cp/decl.c:7432
+msgid "declaration of `%#D' has `extern' and is initialized"
+msgstr ""
+
+#: cp/decl.c:7466
+msgid "`%#D' is not a static member of `%#T'"
+msgstr ""
+
+#: cp/decl.c:7471
+msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
+msgstr ""
+
+#: cp/decl.c:7482
+msgid "duplicate initialization of %D"
+msgstr ""
+
+#: cp/decl.c:7511
+msgid "declaration of `%#D' outside of class is not definition"
+msgstr ""
+
+#: cp/decl.c:7561
+msgid "variable `%#D' has initializer but incomplete type"
+msgstr ""
+
+#: cp/decl.c:7569 cp/decl.c:8123
+msgid "elements of array `%#D' have incomplete type"
+msgstr ""
+
+#: cp/decl.c:7585
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
+msgstr ""
+
+#: cp/decl.c:7624
+msgid "`%D' declared as reference but not initialized"
+msgstr ""
+
+#: cp/decl.c:7633
+msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
+msgstr ""
+
+#: cp/decl.c:7663
+msgid "cannot initialize `%T' from `%T'"
+msgstr ""
+
+#: cp/decl.c:7697
+msgid "initializer fails to determine size of `%D'"
+msgstr ""
+
+#: cp/decl.c:7702
+msgid "array size missing in `%D'"
+msgstr ""
+
+#: cp/decl.c:7714
+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:7752
+msgid "storage size of `%D' isn't known"
+msgstr ""
+
+#: cp/decl.c:7774
+msgid "storage size of `%D' isn't constant"
+msgstr ""
+
+#: cp/decl.c:7830
+msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
+msgstr ""
+
+#: cp/decl.c:7831
+msgid " you can work around this by removing the initializer"
+msgstr ""
+
+#: cp/decl.c:7857
+msgid "uninitialized const `%D'"
+msgstr ""
+
+#: cp/decl.c:7941
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr ""
+
+#: cp/decl.c:8005
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr ""
+
+#: cp/decl.c:8020
+msgid "ISO C++ does not allow designated initializers"
+msgstr ""
+
+#: cp/decl.c:8024
+msgid "`%T' has no non-static data member named `%D'"
+msgstr ""
+
+#: cp/decl.c:8081
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "zu viele Eingabedateien"
+
+#: cp/decl.c:8117
+msgid "variable-sized object `%D' may not be initialized"
+msgstr ""
+
+#: cp/decl.c:8128
+msgid "`%D' has incomplete type"
+msgstr ""
+
+#: cp/decl.c:8177
+msgid "`%D' must be initialized by constructor, not by `{...}'"
+msgstr ""
+
+#: cp/decl.c:8218
+msgid "structure `%D' with uninitialized const members"
+msgstr ""
+
+#: cp/decl.c:8220
+msgid "structure `%D' with uninitialized reference members"
+msgstr ""
+
+#: cp/decl.c:8467
+msgid "assignment (not initialization) in declaration"
+msgstr ""
+
+#: cp/decl.c:8479
+msgid "cannot initialize `%D' to namespace `%D'"
+msgstr ""
+
+#: cp/decl.c:8530
+msgid "shadowing previous type declaration of `%#D'"
+msgstr ""
+
+#: cp/decl.c:8576
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+msgstr ""
+
+#: cp/decl.c:8591
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
+msgstr ""
+
+#: cp/decl.c:8986 cp/init.c:556
+msgid "multiple initializations given for `%D'"
+msgstr ""
+
+#: cp/decl.c:9078
+msgid "invalid catch parameter"
+msgstr ""
+
+#: cp/decl.c:9196
+msgid "destructor for alien class `%T' cannot be a member"
+msgstr ""
+
+#: cp/decl.c:9199
+msgid "constructor for alien class `%T' cannot be a member"
+msgstr ""
+
+#: cp/decl.c:9218
+msgid "`%D' declared as a `virtual' %s"
+msgstr ""
+
+#: cp/decl.c:9220
+msgid "`%D' declared as an `inline' %s"
+msgstr ""
+
+#: cp/decl.c:9222
+msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
+msgstr ""
+
+#: cp/decl.c:9225
+msgid "`%D' declared as a friend"
+msgstr ""
+
+#: cp/decl.c:9231
+msgid "`%D' declared with an exception specification"
+msgstr ""
+
+#: cp/decl.c:9306
+msgid "cannot declare `::main' to be a template"
+msgstr ""
+
+#: cp/decl.c:9308
+msgid "cannot declare `::main' to be inline"
+msgstr ""
+
+#: cp/decl.c:9310
+msgid "cannot declare `::main' to be static"
+msgstr ""
+
+#: cp/decl.c:9313
+msgid "`main' must return `int'"
+msgstr ""
+
+#: cp/decl.c:9341
+msgid "non-local function `%#D' uses anonymous type"
+msgstr ""
+
+#: cp/decl.c:9344
+msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
+msgstr ""
+
+#: cp/decl.c:9350
+msgid "non-local function `%#D' uses local type `%T'"
+msgstr ""
+
+#: cp/decl.c:9379
+msgid "%smember function `%D' cannot have `%T' method qualifier"
+msgstr ""
+
+#: cp/decl.c:9403
+msgid "defining explicit specialization `%D' in friend declaration"
+msgstr ""
+
+#. Something like `template <class T> friend void f<T>()'.
+#: cp/decl.c:9413
+msgid "invalid use of template-id `%D' in declaration of primary template"
+msgstr ""
+
+#: cp/decl.c:9441
+msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
+msgstr ""
+
+#: cp/decl.c:9448
+msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
+msgstr ""
+
+#: cp/decl.c:9510
+msgid "definition of implicitly-declared `%D'"
+msgstr ""
+
+#: cp/decl.c:9522 cp/decl2.c:785
+msgid "no `%#D' member function declared in class `%T'"
+msgstr ""
+
+#: cp/decl.c:9655
+msgid "non-local variable `%#D' uses local type `%T'"
+msgstr ""
+
+#: cp/decl.c:9752
+msgid "invalid in-class initialization of static data member of non-integral type `%T'"
+msgstr ""
+
+#: cp/decl.c:9761
+msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
+msgstr ""
+
+#: cp/decl.c:9764
+msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
+msgstr ""
+
+#: cp/decl.c:9814
+msgid "size of array `%D' has non-integer type"
+msgstr ""
+
+#: cp/decl.c:9816
+msgid "size of array has non-integer type"
+msgstr ""
+
+#: cp/decl.c:9836
+msgid "size of array `%D' is negative"
+msgstr ""
+
+#: cp/decl.c:9838
+msgid "size of array is negative"
+msgstr ""
+
+#: cp/decl.c:9847
+msgid "ISO C++ forbids zero-size array `%D'"
+msgstr ""
+
+#: cp/decl.c:9849
+msgid "ISO C++ forbids zero-size array"
+msgstr ""
+
+#: cp/decl.c:9856
+msgid "size of array `%D' is not an integral constant-expression"
+msgstr ""
+
+#: cp/decl.c:9859
+msgid "size of array is not an integral constant-expression"
+msgstr ""
+
+#: cp/decl.c:9877
+msgid "ISO C++ forbids variable-size array `%D'"
+msgstr ""
+
+#: cp/decl.c:9880
+msgid "ISO C++ forbids variable-size array"
+msgstr ""
+
+#: cp/decl.c:9891
+msgid "overflow in array dimension"
+msgstr ""
+
+#: cp/decl.c:9950
+msgid "declaration of `%D' as %s"
+msgstr "Deklaration von »%D« als %s"
+
+#: cp/decl.c:9952
+#, c-format
+msgid "creating %s"
+msgstr "Erzeugen von %s"
+
+#: cp/decl.c:9964
+msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
+msgstr ""
+
+#: cp/decl.c:9967
+msgid "multidimensional array must have bounds for all dimensions except the first"
+msgstr ""
+
+#: cp/decl.c:9996
+msgid "return type specification for constructor invalid"
+msgstr ""
+
+#: cp/decl.c:10003
+msgid "return type specification for destructor invalid"
+msgstr ""
+
+#: cp/decl.c:10009
+msgid "operator `%T' declared to return `%T'"
+msgstr ""
+
+#: cp/decl.c:10011
+msgid "return type specified for `operator %T'"
+msgstr ""
+
+#: cp/decl.c:10179
+msgid "destructors must be member functions"
+msgstr ""
+
+#: cp/decl.c:10198
+msgid "destructor `%T' must match class name `%T'"
+msgstr ""
+
+#: cp/decl.c:10227
+msgid "variable declaration is not allowed here"
+msgstr ""
+
+#: cp/decl.c:10254
+msgid "invalid declarator"
+msgstr ""
+
+#: cp/decl.c:10305
+msgid "declarator-id missing; using reserved word `%D'"
+msgstr ""
+
+#: cp/decl.c:10362
+msgid "type `%T' is not derived from type `%T'"
+msgstr ""
+
+#. Parse error puts this typespec where
+#. a declarator should go.
+#: cp/decl.c:10414
+msgid "`%T' specified as declarator-id"
+msgstr ""
+
+#: cp/decl.c:10416
+msgid " perhaps you want `%T' for a constructor"
+msgstr ""
+
+#. Sometimes, we see a template-name used as part of a
+#. decl-specifier like in
+#. std::allocator alloc;
+#. Handle that gracefully.
+#: cp/decl.c:10438
+#, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr ""
+
+#: cp/decl.c:10458
+msgid "declaration of `%D' as non-function"
+msgstr ""
+
+#: cp/decl.c:10535
+msgid "`bool' is now a keyword"
+msgstr ""
+
+#: cp/decl.c:10537
+msgid "extraneous `%T' ignored"
+msgstr ""
+
+#: cp/decl.c:10553 cp/decl.c:10598
+msgid "multiple declarations `%T' and `%T'"
+msgstr ""
+
+#: cp/decl.c:10566
+msgid "ISO C++ does not support `long long'"
+msgstr ""
+
+#: cp/decl.c:10671 cp/decl.c:10674
+#, 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:10684
+msgid "`%T' is implicitly a typename"
+msgstr ""
+
+#: cp/decl.c:10720
+#, c-format
+msgid "short, signed or unsigned invalid for `%s'"
+msgstr ""
+
+#: cp/decl.c:10725
+#, c-format
+msgid "long and short specified together for `%s'"
+msgstr ""
+
+#: cp/decl.c:10736
+#, c-format
+msgid "signed and unsigned given together for `%s'"
+msgstr ""
+
+#: cp/decl.c:10845
+msgid "qualifiers are not allowed on declaration of `operator %T'"
+msgstr ""
+
+#: cp/decl.c:10867
+msgid "member `%D' cannot be declared both virtual and static"
+msgstr ""
+
+#: cp/decl.c:10876
+msgid "`%T::%D' is not a valid declarator"
+msgstr ""
+
+#: cp/decl.c:10888
+msgid "storage class specifiers invalid in parameter declarations"
+msgstr ""
+
+#: cp/decl.c:10892
+msgid "typedef declaration invalid in parameter declaration"
+msgstr ""
+
+#: cp/decl.c:10905
+msgid "virtual outside class declaration"
+msgstr ""
+
+#: cp/decl.c:10966
+#, c-format
+msgid "storage class specified for %s `%s'"
+msgstr ""
+
+#: cp/decl.c:11013
+msgid "storage class specifiers invalid in friend function declarations"
+msgstr ""
+
+#: cp/decl.c:11183
+msgid "destructor cannot be static member function"
+msgstr ""
+
+#: cp/decl.c:11186
+#, c-format
+msgid "destructors may not be `%s'"
+msgstr ""
+
+#: cp/decl.c:11207
+msgid "constructor cannot be static member function"
+msgstr ""
+
+#: cp/decl.c:11210
+msgid "constructors cannot be declared virtual"
+msgstr ""
+
+#: cp/decl.c:11215
+#, c-format
+msgid "constructors may not be `%s'"
+msgstr ""
+
+#: cp/decl.c:11225
+msgid "return value type specifier for constructor ignored"
+msgstr ""
+
+#: cp/decl.c:11244
+#, c-format
+msgid "can't initialize friend function `%s'"
+msgstr ""
+
+#. Cannot be both friend and virtual.
+#: cp/decl.c:11248
+msgid "virtual functions cannot be friends"
+msgstr ""
+
+#: cp/decl.c:11253
+msgid "friend declaration not in class definition"
+msgstr ""
+
+#: cp/decl.c:11255
+#, c-format
+msgid "can't define friend function `%s' in a local class definition"
+msgstr ""
+
+#: cp/decl.c:11279
+msgid "destructors may not have parameters"
+msgstr ""
+
+#: cp/decl.c:11310 cp/decl.c:11317
+msgid "cannot declare reference to `%#T'"
+msgstr ""
+
+#: cp/decl.c:11311
+msgid "cannot declare pointer to `%#T'"
+msgstr ""
+
+#: cp/decl.c:11316
+msgid "cannot declare pointer to `%#T' member"
+msgstr ""
+
+#: cp/decl.c:11492
+msgid "extra qualification `%T::' on member `%s' ignored"
+msgstr ""
+
+#: cp/decl.c:11502
+msgid "cannot declare member function `%T::%s' within `%T'"
+msgstr ""
+
+#: cp/decl.c:11517
+msgid "cannot declare member `%T::%s' within `%T'"
+msgstr ""
+
+#: cp/decl.c:11596
+msgid "data member may not have variably modified type `%T'"
+msgstr ""
+
+#: cp/decl.c:11598
+msgid "parameter 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:11606
+msgid "only declarations of constructors can be `explicit'"
+msgstr ""
+
+#: cp/decl.c:11614
+#, c-format
+msgid "non-member `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11619
+#, c-format
+msgid "non-object member `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11625
+#, c-format
+msgid "function `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11630
+#, c-format
+msgid "static `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11635
+#, c-format
+msgid "const `%s' cannot be declared `mutable'"
+msgstr ""
+
+#: cp/decl.c:11648
+msgid "template-id `%D' used as a declarator"
+msgstr ""
+
+#: cp/decl.c:11669
+msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
+msgstr ""
+
+#: cp/decl.c:11718
+msgid "typedef name may not be class-qualified"
+msgstr ""
+
+#: cp/decl.c:11726
+msgid "invalid type qualifier for non-member function type"
+msgstr ""
+
+#: cp/decl.c:11789
+msgid "type qualifiers specified for friend class declaration"
+msgstr ""
+
+#: cp/decl.c:11794
+msgid "`inline' specified for friend class declaration"
+msgstr ""
+
+#: cp/decl.c:11802
+msgid "template parameters cannot be friends"
+msgstr ""
+
+#: cp/decl.c:11804
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
+msgstr ""
+
+#: cp/decl.c:11808
+msgid "friend declaration requires class-key, i.e. `friend %#T'"
+msgstr ""
+
+#: cp/decl.c:11822
+msgid "trying to make class `%T' a friend of global scope"
+msgstr ""
+
+#: cp/decl.c:11833
+msgid "invalid qualifiers on non-member function type"
+msgstr ""
+
+#: cp/decl.c:11852
+msgid "abstract declarator `%T' used as declaration"
+msgstr ""
+
+#: cp/decl.c:11864
+msgid "unnamed variable or field declared void"
+msgstr ""
+
+#: cp/decl.c:11873
+msgid "variable or field declared void"
+msgstr ""
+
+#: cp/decl.c:11883
+msgid "cannot use `::' in parameter declaration"
+msgstr ""
+
+#. Something like struct S { int N::j; };
+#: cp/decl.c:11922
+msgid "invalid use of `::'"
+msgstr ""
+
+#: cp/decl.c:11934
+msgid "function `%D' cannot be declared friend"
+msgstr ""
+
+#: cp/decl.c:11946
+msgid "can't make `%D' into a method -- not in a class"
+msgstr ""
+
+#: cp/decl.c:11955
+msgid "function `%D' declared virtual inside a union"
+msgstr ""
+
+#: cp/decl.c:11967
+msgid "`%D' cannot be declared virtual, since it is always static"
+msgstr ""
+
+#: cp/decl.c:12040
+msgid "field `%D' has incomplete type"
+msgstr ""
+
+#: cp/decl.c:12042
+msgid "name `%T' has incomplete type"
+msgstr ""
+
+#: cp/decl.c:12051
+msgid " in instantiation of template `%T'"
+msgstr ""
+
+#: cp/decl.c:12061
+#, c-format
+msgid "`%s' is neither function nor member function; cannot be declared friend"
+msgstr ""
+
+#: cp/decl.c:12072
+msgid "member functions are implicitly friends of their class"
+msgstr ""
+
+#. An attempt is being made to initialize a non-static
+#. member. But, from [class.mem]:
+#.
+#. 4 A member-declarator can contain a
+#. constant-initializer only if it declares a static
+#. member (_class.static_) of integral or enumeration
+#. type, see _class.static.data_.
+#.
+#. This used to be relatively common practice, but
+#. 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:12119
+msgid "ISO C++ forbids initialization of member `%D'"
+msgstr ""
+
+#: cp/decl.c:12121
+msgid "making `%D' static"
+msgstr ""
+
+#: cp/decl.c:12145
+msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+msgstr ""
+
+#: cp/decl.c:12186
+#, c-format
+msgid "storage class `auto' invalid for function `%s'"
+msgstr ""
+
+#: cp/decl.c:12188
+#, c-format
+msgid "storage class `register' invalid for function `%s'"
+msgstr ""
+
+#: cp/decl.c:12190
+#, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr ""
+
+#: cp/decl.c:12201
+#, c-format
+msgid "storage class `static' invalid for function `%s' declared out of global scope"
+msgstr ""
+
+#: cp/decl.c:12203
+#, c-format
+msgid "storage class `inline' invalid for function `%s' declared out of global scope"
+msgstr ""
+
+#: cp/decl.c:12210
+#, c-format
+msgid "virtual non-class function `%s'"
+msgstr ""
+
+#: cp/decl.c:12239
+msgid "cannot declare member function `%D' to have static linkage"
+msgstr ""
+
+#. FIXME need arm citation
+#: cp/decl.c:12245
+msgid "cannot declare static function inside another function"
+msgstr ""
+
+#: cp/decl.c:12273
+msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
+msgstr ""
+
+#: cp/decl.c:12279
+msgid "static member `%D' declared `register'"
+msgstr ""
+
+#: cp/decl.c:12284
+msgid "cannot explicitly declare member `%#D' to have extern linkage"
+msgstr ""
+
+#: cp/decl.c:12459
+msgid "default argument for `%#D' has type `%T'"
+msgstr ""
+
+#: cp/decl.c:12462
+msgid "default argument for parameter of type `%T' has type `%T'"
+msgstr ""
+
+#: cp/decl.c:12479
+msgid "default argument `%E' uses local variable `%D'"
+msgstr ""
+
+#: cp/decl.c:12524
+#, c-format
+msgid "invalid string constant `%E'"
+msgstr ""
+
+#: cp/decl.c:12526
+msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
+msgstr ""
+
+#: cp/decl.c:12564
+msgid "parameter `%D' invalidly declared method type"
+msgstr ""
+
+#: cp/decl.c:12570
+msgid "parameter `%D' invalidly declared offset type"
+msgstr ""
+
+#: cp/decl.c:12594
+msgid "parameter `%D' includes %s to array of unknown bound `%T'"
+msgstr ""
+
+#. [class.copy]
+#.
+#. A declaration of a constructor for a class X is ill-formed if
+#. its first parameter is of type (optionally cv-qualified) X
+#. and either there are no other parameters or else all other
+#. parameters have default arguments.
+#.
+#. We *don't* complain about member template instantiations that
+#. have this form, though; they can occur as we try to decide
+#. what constructor to use during overload resolution. Since
+#. overload resolution will never prefer such a constructor to
+#. the non-template copy constructor (which is either explicitly
+#. 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:12756
+msgid "invalid constructor; you probably meant `%T (const %T&)'"
+msgstr ""
+
+#: cp/decl.c:12907
+msgid "`%D' must be a nonstatic member function"
+msgstr ""
+
+#: cp/decl.c:12913
+msgid "`%D' must be either a non-static member function or a non-member function"
+msgstr ""
+
+#: cp/decl.c:12930
+msgid "`%D' must have an argument of class or enumerated type"
+msgstr ""
+
+#: cp/decl.c:12962
+#, c-format
+msgid "conversion to %s%s will never use a type conversion operator"
+msgstr ""
+
+#. 13.4.0.3
+#: cp/decl.c:12969
+msgid "ISO C++ prohibits overloading operator ?:"
+msgstr ""
+
+#: cp/decl.c:13019
+msgid "postfix `%D' must take `int' as its argument"
+msgstr ""
+
+#: cp/decl.c:13023
+msgid "postfix `%D' must take `int' as its second argument"
+msgstr ""
+
+#: cp/decl.c:13030
+msgid "`%D' must take either zero or one argument"
+msgstr ""
+
+#: cp/decl.c:13032
+msgid "`%D' must take either one or two arguments"
+msgstr ""
+
+#: cp/decl.c:13053
+msgid "prefix `%D' should return `%T'"
+msgstr ""
+
+#: cp/decl.c:13059
+msgid "postfix `%D' should return `%T'"
+msgstr ""
+
+#: cp/decl.c:13068
+msgid "`%D' must take `void'"
+msgstr ""
+
+#: cp/decl.c:13070 cp/decl.c:13078
+msgid "`%D' must take exactly one argument"
+msgstr ""
+
+#: cp/decl.c:13080
+msgid "`%D' must take exactly two arguments"
+msgstr ""
+
+#: cp/decl.c:13088
+msgid "user-defined `%D' always evaluates both arguments"
+msgstr ""
+
+#: cp/decl.c:13102
+msgid "`%D' should return by value"
+msgstr ""
+
+#: cp/decl.c:13114 cp/decl.c:13117
+msgid "`%D' cannot have default arguments"
+msgstr ""
+
+#: cp/decl.c:13160
+msgid "using typedef-name `%D' after `%s'"
+msgstr ""
+
+#: cp/decl.c:13166
+msgid "using template type parameter `%T' after `%s'"
+msgstr ""
+
+#: cp/decl.c:13227
+msgid "`%s %T' declares a new type at namespace scope"
+msgstr ""
+
+#: cp/decl.c:13230
+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:13348
+msgid "use of enum `%#D' without previous declaration"
+msgstr ""
+
+#: cp/decl.c:13434
+msgid "derived union `%T' invalid"
+msgstr ""
+
+#: cp/decl.c:13480
+msgid "base type `%T' fails to be a struct or class type"
+msgstr ""
+
+#: cp/decl.c:13490
+msgid "base class `%T' has incomplete type"
+msgstr ""
+
+#: cp/decl.c:13498
+msgid "recursive type `%T' undefined"
+msgstr ""
+
+#: cp/decl.c:13500
+msgid "duplicate base type `%T' invalid"
+msgstr ""
+
+#: cp/decl.c:13611
+msgid "multiple definition of `%#T'"
+msgstr ""
+
+#: cp/decl.c:13612
+msgid "previous definition here"
+msgstr ""
+
+#: cp/decl.c:13779
+msgid "enumerator value for `%D' not integer constant"
+msgstr ""
+
+#: cp/decl.c:13799
+msgid "overflow in enumeration values at `%D'"
+msgstr ""
+
+#: cp/decl.c:13868
+msgid "return type `%#T' is incomplete"
+msgstr ""
+
+#: cp/decl.c:13982
+msgid "semicolon missing after declaration of `%#T'"
+msgstr ""
+
+#: cp/decl.c:14003
+msgid "return type for `main' changed to `int'"
+msgstr ""
+
+#: cp/decl.c:14034
+msgid "`%D' implicitly declared before its definition"
+msgstr ""
+
+#: cp/decl.c:14056 cp/typeck.c:6258
+msgid "`operator=' should return a reference to `*this'"
+msgstr ""
+
+#: cp/decl.c:14316
+msgid "parameter `%D' declared void"
+msgstr ""
+
+#: cp/decl.c:14804
+msgid "`%D' is already defined in class `%T'"
+msgstr ""
+
+#: cp/decl.c:15022
+msgid "static member function `%#D' declared with type qualifiers"
+msgstr ""
+
+#: cp/decl2.c:153
+#, c-format
+msgid "duplicate type qualifiers in %s declaration"
+msgstr ""
+
+#: cp/decl2.c:192
+msgid "template `%#D' instantiated in file without #pragma interface"
+msgstr ""
+
+#: cp/decl2.c:198
+msgid "template `%#D' defined in file without #pragma interface"
+msgstr ""
+
+#: cp/decl2.c:365
+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:428
+msgid "parser may be lost: is there a '{' missing somewhere?"
+msgstr ""
+
+#: cp/decl2.c:459 cp/decl2.c:473
+msgid "ambiguous conversion for array subscript"
+msgstr ""
+
+#: cp/decl2.c:467
+msgid "invalid types `%T[%T]' for array subscript"
+msgstr ""
+
+#: cp/decl2.c:515
+msgid "type `%#T' argument given to `delete', expected pointer"
+msgstr ""
+
+#: cp/decl2.c:523
+msgid "anachronistic use of array size in vector delete"
+msgstr ""
+
+#: cp/decl2.c:533
+msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
+msgstr ""
+
+#: cp/decl2.c:540
+msgid "deleting `%T' is undefined"
+msgstr ""
+
+#: cp/decl2.c:548
+msgid "deleting array `%#D'"
+msgstr ""
+
+#. 14.5.2.2 [temp.mem]
+#.
+#. A local class shall not have member templates.
+#: cp/decl2.c:582
+msgid "invalid declaration of member template `%#D' in local class"
+msgstr ""
+
+#: cp/decl2.c:591
+msgid "invalid use of `virtual' in template declaration of `%#D'"
+msgstr ""
+
+#: cp/decl2.c:601 cp/pt.c:2742
+msgid "template declaration of `%#D'"
+msgstr ""
+
+#: cp/decl2.c:651
+msgid "Java method '%D' has non-Java return type `%T'"
+msgstr ""
+
+#: cp/decl2.c:660
+msgid "Java method '%D' has non-Java parameter type `%T'"
+msgstr ""
+
+#: cp/decl2.c:746
+msgid "prototype for `%#D' does not match any in class `%T'"
+msgstr ""
+
+#: cp/decl2.c:828
+msgid "local class `%#T' shall not have static data member `%#D'"
+msgstr ""
+
+#: cp/decl2.c:836
+msgid "initializer invalid for static member with constructor"
+msgstr ""
+
+#: cp/decl2.c:839
+msgid "(an out of class initialization is required)"
+msgstr ""
+
+#: cp/decl2.c:898
+msgid "invalid data member initialization"
+msgstr ""
+
+#: cp/decl2.c:901
+msgid "(use `=' to initialize static data members)"
+msgstr ""
+
+#: cp/decl2.c:947
+msgid "member `%D' conflicts with virtual function table field name"
+msgstr ""
+
+#: cp/decl2.c:967
+msgid "`%D' is already defined in `%T'"
+msgstr ""
+
+#: cp/decl2.c:1019
+msgid "field initializer is not constant"
+msgstr ""
+
+#: cp/decl2.c:1043
+msgid "`asm' specifiers are not permitted on non-static data members"
+msgstr ""
+
+#: cp/decl2.c:1095
+msgid "cannot declare `%D' to be a bit-field type"
+msgstr ""
+
+#: cp/decl2.c:1105
+msgid "cannot declare bit-field `%D' with function type"
+msgstr ""
+
+#: cp/decl2.c:1112
+msgid "`%D' is already defined in the class %T"
+msgstr ""
+
+#: cp/decl2.c:1119
+msgid "static member `%D' cannot be a bit-field"
+msgstr ""
+
+#: cp/decl2.c:1206
+msgid "initializer specified for non-member function `%D'"
+msgstr ""
+
+#: cp/decl2.c:1210
+msgid "invalid initializer for virtual method `%D'"
+msgstr ""
+
+#: cp/decl2.c:1324
+msgid "anonymous struct not inside named type"
+msgstr ""
+
+#: cp/decl2.c:1420
+msgid "namespace-scope anonymous aggregates must be static"
+msgstr ""
+
+#: cp/decl2.c:1433
+msgid "anonymous aggregate with no members"
+msgstr ""
+
+#: cp/decl2.c:1502
+msgid "`operator new' must return type `%T'"
+msgstr ""
+
+#: cp/decl2.c:1510
+msgid "`operator new' takes type `size_t' (`%T') as first parameter"
+msgstr ""
+
+#: cp/decl2.c:1537
+msgid "`operator delete' must return type `%T'"
+msgstr ""
+
+#: cp/decl2.c:1545
+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:2288
+msgid "too many initialization functions required"
+msgstr ""
+
+#: cp/decl2.c:3011
+#, fuzzy
+msgid "inline function `%D' used but never defined"
+msgstr "»%s« verwendet, aber nirgendwo definiert"
+
+#: cp/decl2.c:3131
+msgid "use of old-style cast"
+msgstr ""
+
+#: cp/decl2.c:3856
+msgid "use of `%D' is ambiguous"
+msgstr ""
+
+#: cp/decl2.c:3857
+msgid " first declared as `%#D' here"
+msgstr ""
+
+#: cp/decl2.c:3860
+msgid " also declared as `%#D' here"
+msgstr ""
+
+#: cp/decl2.c:3875
+msgid "`%D' denotes an ambiguous type"
+msgstr ""
+
+#: cp/decl2.c:3876
+msgid " first type here"
+msgstr ""
+
+#: cp/decl2.c:3877
+msgid " other type here"
+msgstr ""
+
+#: cp/decl2.c:3978
+msgid "declaration of `%D' not in a namespace surrounding `%D'"
+msgstr ""
+
+#: cp/decl2.c:4012
+msgid "`%D' should have been declared inside `%D'"
+msgstr ""
+
+#: cp/decl2.c:4146
+msgid "`%D' is not a function,"
+msgstr ""
+
+#: cp/decl2.c:4147
+msgid " conflict with `%D'"
+msgstr ""
+
+#. The parser did not find it, so it's not there.
+#: cp/decl2.c:4467
+msgid "unknown namespace `%D'"
+msgstr ""
+
+#: cp/decl2.c:4501 cp/decl2.c:4788
+msgid "`%T' is not a namespace"
+msgstr ""
+
+#: cp/decl2.c:4503
+msgid "`%D' is not a namespace"
+msgstr ""
+
+#: cp/decl2.c:4512
+msgid "a using-declaration cannot specify a template-id. Try `using %D'"
+msgstr ""
+
+#: cp/decl2.c:4526
+msgid "namespace `%D' not allowed in using-declaration"
+msgstr ""
+
+#: cp/decl2.c:4555
+msgid "`%D' not declared"
+msgstr ""
+
+#. If the OLD_FN was really declared, the
+#. declarations don't match.
+#: cp/decl2.c:4567 cp/decl2.c:4609 cp/decl2.c:4634
+msgid "`%D' is already declared in this scope"
+msgstr ""
+
+#: cp/decl2.c:4640
+msgid "using declaration `%D' introduced ambiguous type `%T'"
+msgstr ""
+
+#: cp/decl2.c:4734
+msgid "using-declaration for non-member at class scope"
+msgstr ""
+
+#: cp/decl2.c:4740
+msgid "using-declaration for destructor"
+msgstr ""
+
+#: cp/decl2.c:4746
+msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
+msgstr ""
+
+#: cp/decl2.c:4782
+msgid "namespace `%T' undeclared"
+msgstr ""
+
+#: cp/decl2.c:4811
+msgid "default argument missing for parameter %P of `%+#D'"
+msgstr ""
+
+#: cp/decl2.c:4935
+msgid "extra qualification `%T::' on member `%D' ignored"
+msgstr ""
+
+#: cp/decl2.c:4939
+msgid "`%T' does not have a class or union named `%D'"
+msgstr ""
+
+#: cp/decl2.c:4957
+msgid "`%T' is not a class or union type"
+msgstr ""
+
+#: cp/decl2.c:4971
+msgid "template argument is required for `%T'"
+msgstr ""
+
+#: cp/decl2.c:4989
+msgid "declaration of `%D' in `%D' which does not enclose `%D'"
+msgstr ""
+
+#: cp/error.c:35
+#, c-format
+msgid "`%s' not supported by %s"
+msgstr ""
+
+#: cp/error.c:571
+#, c-format
+msgid "<anonymous %s>"
+msgstr ""
+
+#: cp/error.c:810
+#, c-format
+msgid "(static %s for %s)"
+msgstr ""
+
+#: cp/error.c:1503
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2463
+#, c-format
+msgid "In %s `%s':"
+msgstr ""
+
+#: cp/error.c:2520
+#, c-format
+msgid "%s: In instantiation of `%s':\n"
+msgstr ""
+
+#: cp/error.c:2544
+#, c-format
+msgid "%s:%d: instantiated from `%s'\n"
+msgstr ""
+
+#: cp/error.c:2549
+#, c-format
+msgid "%s:%d: instantiated from here\n"
+msgstr ""
+
+#. damn ICE suppression
+#: cp/error.c:2703
+#, c-format
+msgid "unexpected letter `%c' in locate_error\n"
+msgstr ""
+
+#. Can't throw a reference.
+#: cp/except.c:240
+msgid "type `%T' is disallowed in Java `throw' or `catch'"
+msgstr ""
+
+#: cp/except.c:251
+msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
+msgstr ""
+
+#. Thrown object must be a Throwable.
+#: cp/except.c:258
+msgid "type `%T' is not derived from `java::lang::Throwable'"
+msgstr ""
+
+#: cp/except.c:322
+msgid "mixing C++ and Java catches in a single translation unit"
+msgstr ""
+
+#: cp/except.c:639
+msgid "throwing NULL, which has integral, not pointer type"
+msgstr ""
+
+#: cp/except.c:730
+msgid " in thrown expression"
+msgstr ""
+
+#: cp/except.c:856
+msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
+msgstr ""
+
+#: cp/except.c:944
+msgid "exception of type `%T' will be caught"
+msgstr ""
+
+#: cp/except.c:947
+msgid " by earlier handler for `%T'"
+msgstr ""
+
+#: cp/except.c:968
+msgid "`...' handler must be the last handler for its try block"
+msgstr ""
+
+#: cp/friend.c:159
+msgid "`%D' is already a friend of class `%T'"
+msgstr ""
+
+#: cp/friend.c:161
+msgid "previous friend declaration of `%D'"
+msgstr ""
+
+#: cp/friend.c:206
+msgid "invalid type `%T' declared `friend'"
+msgstr ""
+
+#. [temp.friend]
+#. Friend declarations shall not declare partial
+#. specializations.
+#: cp/friend.c:222
+msgid "partial specialization `%T' declared `friend'"
+msgstr ""
+
+#: cp/friend.c:231
+msgid "class `%T' is implicitly friends with itself"
+msgstr ""
+
+#. template <class T> friend typename S<T>::X;
+#: cp/friend.c:249
+msgid "typename type `%#T' declared `friend'"
+msgstr ""
+
+#. template <class T> friend class T;
+#: cp/friend.c:255
+msgid "template parameter type `%T' declared `friend'"
+msgstr ""
+
+#. template <class T> friend class A; where A is not a template
+#: cp/friend.c:261
+msgid "`%#T' is not a template"
+msgstr ""
+
+#: cp/friend.c:276
+msgid "`%T' is already a friend of `%T'"
+msgstr ""
+
+#: cp/friend.c:374
+msgid "member `%D' declared as friend before type `%T' defined"
+msgstr ""
+
+#: cp/friend.c:429
+msgid "friend declaration `%#D' declares a non-template function"
+msgstr ""
+
+#: cp/friend.c:432
+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:211 java/jvspec.c:423
+#, c-format
+msgid "argument to `%s' missing\n"
+msgstr ""
+
+#: cp/init.c:328
+msgid "`%D' should be initialized in the member initialization list"
+msgstr ""
+
+#: cp/init.c:378
+msgid "default-initialization of `%#D', which has reference type"
+msgstr ""
+
+#: cp/init.c:383
+msgid "uninitialized reference member `%D'"
+msgstr ""
+
+#: cp/init.c:391
+msgid "initializer list treated as compound expression"
+msgstr ""
+
+#: cp/init.c:532
+msgid "`%D' will be initialized after"
+msgstr ""
+
+#: cp/init.c:535
+msgid "base `%T' will be initialized after"
+msgstr ""
+
+#: cp/init.c:538
+msgid " `%#D'"
+msgstr ""
+
+#: cp/init.c:540
+msgid " base `%T'"
+msgstr ""
+
+#: cp/init.c:558
+msgid "multiple initializations given for base `%T'"
+msgstr ""
+
+#: cp/init.c:625
+msgid "initializations for multiple members of `%T'"
+msgstr ""
+
+#: cp/init.c:682
+msgid "base class `%#T' should be explicitly initialized in the copy constructor"
+msgstr ""
+
+#: cp/init.c:928
+msgid "class `%T' does not have any field named `%D'"
+msgstr ""
+
+#: cp/init.c:934
+msgid "field `%#D' is static; the only point of initialization is its definition"
+msgstr ""
+
+#: cp/init.c:967
+msgid "unnamed initializer for `%T', which has no base classes"
+msgstr ""
+
+#: cp/init.c:974
+msgid "unnamed initializer for `%T', which uses multiple inheritance"
+msgstr ""
+
+#: cp/init.c:1009
+msgid "type `%D' is not a direct or virtual base of `%T'"
+msgstr ""
+
+#: cp/init.c:1012
+msgid "type `%D' is not a direct base of `%T'"
+msgstr ""
+
+#. Handle bad initializers like:
+#. class COMPLEX {
+#. public:
+#. double re, im;
+#. COMPLEX(double r = 0.0, double i = 0.0) {re = r; im = i;};
+#. ~COMPLEX() {};
+#. };
+#.
+#. int main(int argc, char **argv) {
+#. COMPLEX zees(1.0, 0.0)[10];
+#. }
+#.
+#: cp/init.c:1106
+msgid "bad array initializer"
+msgstr ""
+
+#: cp/init.c:1313
+msgid "`%T' is not an aggregate type"
+msgstr ""
+
+#: cp/init.c:1336
+msgid "`%T' fails to be an aggregate typedef"
+msgstr ""
+
+#: cp/init.c:1345
+msgid "type `%T' is of non-aggregate type"
+msgstr ""
+
+#: cp/init.c:1448
+msgid "cannot call destructor `%T::~%T' without object"
+msgstr ""
+
+#: cp/init.c:1492
+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:1501 cp/method.c:160
+msgid "invalid use of member `%D'"
+msgstr ""
+
+#: cp/init.c:1511
+msgid "no method `%T::%D'"
+msgstr ""
+
+#: cp/init.c:1604
+msgid "incomplete type `%T' does not have member `%D'"
+msgstr ""
+
+#: cp/init.c:1678
+msgid "`%D' is not a member of type `%T'"
+msgstr ""
+
+#: cp/init.c:1697
+msgid "invalid pointer to bit-field `%D'"
+msgstr ""
+
+#: cp/init.c:1736
+msgid "object missing in use of pointer-to-member construct"
+msgstr ""
+
+#: cp/init.c:1776
+msgid "member `%D' is non-static but referenced as a static member"
+msgstr ""
+
+#: cp/init.c:1778 cp/typeck.c:2823 cp/typeck.c:2927
+msgid "at this point in file"
+msgstr ""
+
+#: cp/init.c:1815
+#, c-format
+msgid "object missing in `%E'"
+msgstr ""
+
+#: cp/init.c:1946
+msgid "new of array type fails to specify size"
+msgstr ""
+
+#: cp/init.c:1957
+msgid "size in array new must have integral type"
+msgstr ""
+
+#: cp/init.c:1963
+msgid "zero size array reserves no space"
+msgstr ""
+
+#: cp/init.c:2028
+msgid "new cannot be applied to a reference type"
+msgstr ""
+
+#: cp/init.c:2034
+msgid "new cannot be applied to a function type"
+msgstr ""
+
+#: cp/init.c:2081
+msgid "call to Java constructor, while `jclass' undefined"
+msgstr ""
+
+#: cp/init.c:2097
+msgid "can't find class$"
+msgstr ""
+
+#: cp/init.c:2211
+msgid "invalid type `void' for new"
+msgstr ""
+
+#: cp/init.c:2263
+#, c-format
+msgid "call to Java constructor with `%s' undefined"
+msgstr ""
+
+#: cp/init.c:2371
+msgid "ISO C++ forbids initialization in array new"
+msgstr ""
+
+#: cp/init.c:2393 cp/typeck2.c:366 cp/typeck2.c:1207
+msgid "initializer list being treated as compound expression"
+msgstr ""
+
+#: cp/init.c:2399
+msgid "ISO C++ forbids aggregate initializer to new"
+msgstr ""
+
+#: cp/init.c:2487
+msgid "uninitialized const in `new' of `%#T'"
+msgstr ""
+
+#: cp/init.c:2862
+msgid "initializer ends prematurely"
+msgstr ""
+
+#: cp/init.c:2932
+msgid "cannot initialize multi-dimensional array with initializer"
+msgstr ""
+
+#: cp/init.c:3122
+msgid "unknown array size in delete"
+msgstr ""
+
+#: cp/init.c:3387
+msgid "type to vector delete is neither pointer or array type"
+msgstr ""
+
+#: cp/lex.c:136
+msgid "type name expected before `*'"
+msgstr ""
+
+#: cp/lex.c:158
+msgid "cannot declare references to references"
+msgstr ""
+
+#: cp/lex.c:163
+msgid "cannot declare pointers to references"
+msgstr ""
+
+#: cp/lex.c:167
+msgid "type name expected before `&'"
+msgstr ""
+
+#: cp/lex.c:894
+#, c-format
+msgid "semicolon missing after %s declaration"
+msgstr ""
+
+#: cp/lex.c:897
+msgid "semicolon missing after declaration of `%T'"
+msgstr ""
+
+#: cp/lex.c:945
+#, c-format
+msgid "junk at end of #pragma %s"
+msgstr ""
+
+#: cp/lex.c:952
+#, c-format
+msgid "invalid #pragma %s"
+msgstr ""
+
+#: cp/lex.c:961
+msgid "#pragma vtable no longer supported"
+msgstr ""
+
+#: cp/lex.c:1038
+#, c-format
+msgid "#pragma implementation for %s appears after file is included"
+msgstr ""
+
+#: cp/lex.c:1063
+msgid "junk at end of #pragma GCC java_exceptions"
+msgstr ""
+
+#: cp/lex.c:1107
+msgid "`%D' not defined"
+msgstr ""
+
+#: cp/lex.c:1110
+msgid "`%D' was not declared in this scope"
+msgstr ""
+
+#: cp/lex.c:1118
+msgid "`%D' undeclared (first use this function)"
+msgstr ""
+
+#: cp/lex.c:1122
+msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
+msgstr ""
+
+#: cp/lex.c:1242
+msgid "`::%D' undeclared (first use here)"
+msgstr ""
+
+#: cp/mangle.c:2061
+msgid "real-valued template parameters when cross-compiling"
+msgstr ""
+
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
+msgstr ""
+
+#: cp/mangle.c:2617
+msgid "due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name to two different types"
+msgstr ""
+
+#: cp/method.c:154
+msgid "invalid use of member `%D' in static member function"
+msgstr ""
+
+#: cp/method.c:216
+msgid "use of namespace `%D' as expression"
+msgstr ""
+
+#: cp/method.c:221
+msgid "use of class template `%T' as expression"
+msgstr ""
+
+#: cp/method.c:234
+#, c-format
+msgid "use of %s from containing function"
+msgstr ""
+
+#: cp/method.c:237
+msgid " `%#D' declared here"
+msgstr ""
+
+#: cp/method.c:255
+msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
+msgstr ""
+
+#: cp/method.c:458
+msgid "generic thunk code fails for method `%#D' which uses `...'"
+msgstr ""
+
+#: cp/method.c:697
+msgid "non-static const member `%#D', can't use default assignment operator"
+msgstr ""
+
+#: cp/method.c:702
+msgid "non-static reference member `%#D', can't use default assignment operator"
+msgstr ""
+
+#: parse.y:261
+msgid "`%s' tag used in naming `%#T'"
+msgstr ""
+
+#: parse.y:541
+msgid "keyword `export' not implemented, and will be ignored"
+msgstr ""
+
+#: parse.y:645
+msgid "use of linkage spec `%D' is different from previous spec `%D'"
+msgstr ""
+
+#: parse.y:942
+msgid "no base or member initializers given following ':'"
+msgstr ""
+
+#: parse.y:983
+msgid "anachronistic old style base class initializer"
+msgstr ""
+
+#. Handle `Class<Class<Type>>' without space in the `>>'
+#: parse.y:1116
+msgid "`>>' should be `> >' in template class name"
+msgstr ""
+
+#: parse.y:1154
+msgid "use of template qualifier outside template"
+msgstr ""
+
+#: parse.y:1183 parse.y:1192
+#, c-format
+msgid "ISO C++ forbids an empty condition for `%s'"
+msgstr ""
+
+#: parse.y:1215
+msgid "definition of class `%T' in condition"
+msgstr ""
+
+#: parse.y:1217
+msgid "definition of enum `%T' in condition"
+msgstr ""
+
+#: parse.y:1228
+msgid "definition of array `%#D' in condition"
+msgstr ""
+
+#: parse.y:1341
+msgid "old style placement syntax, use () instead"
+msgstr ""
+
+#: parse.y:1352
+msgid "`%T' is not a valid expression"
+msgstr ""
+
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1359
+msgid "initialization of new expression with `='"
+msgstr ""
+
+#: parse.y:1385
+msgid "ISO C++ forbids compound literals"
+msgstr ""
+
+#: parse.y:1632
+msgid "ISO C++ forbids braced-groups within expressions"
+msgstr ""
+
+#: parse.y:2036 parse.y:2051
+msgid "sigof type specifier"
+msgstr ""
+
+#: parse.y:2041
+msgid "`sigof' applied to non-aggregate expression"
+msgstr ""
+
+#: parse.y:2056
+msgid "`sigof' applied to non-aggregate type"
+msgstr ""
+
+#: parse.y:2322
+msgid "using `typename' outside of template"
+msgstr ""
+
+#: parse.y:2392
+#, c-format
+msgid "storage class specifier `%s' not allowed after struct or class"
+msgstr ""
+
+#: parse.y:2394
+#, c-format
+msgid "type specifier `%s' not allowed after struct or class"
+msgstr ""
+
+#: parse.y:2396
+#, c-format
+msgid "type qualifier `%s' not allowed after struct or class"
+msgstr ""
+
+#: parse.y:2398
+msgid "no body nor ';' separates two class, struct or union declarations"
+msgstr ""
+
+#: parse.y:2538
+msgid "no bases given following `:'"
+msgstr ""
+
+#: parse.y:2569 parse.y:2584
+msgid "`%D' access"
+msgstr ""
+
+#: parse.y:2574
+msgid "multiple access specifiers"
+msgstr ""
+
+#: parse.y:2592
+msgid "multiple `virtual' specifiers"
+msgstr ""
+
+#: parse.y:2629
+msgid "missing ';' before right brace"
+msgstr ""
+
+#: parse.y:2850
+msgid "ISO C++ forbids array dimensions with parenthesized type in new"
+msgstr ""
+
+#: parse.y:3137 parse.y:3157 parse.y:3166 parse.y:3195
+msgid "`%T' is not a class or namespace"
+msgstr ""
+
+#: parse.y:3362
+msgid "ISO C++ forbids label declarations"
+msgstr ""
+
+#: parse.y:3522
+msgid "ISO C++ forbids computed gotos"
+msgstr ""
+
+#: parse.y:3530
+msgid "label must be followed by statement"
+msgstr ""
+
+#: parse.y:3575
+msgid "must have at least one catch per try block"
+msgstr ""
+
+#: parse.y:3635
+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:3722 parse.y:3732
+msgid "possibly missing ')'"
+msgstr ""
+
+#: parse.y:3825
+msgid "type specifier omitted for parameter"
+msgstr ""
+
+#: parse.y:3834
+#, c-format
+msgid "`%E' is not a type, use `typename %E' to make it one"
+msgstr ""
+
+#: parse.y:3836
+msgid "no type `%D' in `%T'"
+msgstr ""
+
+#: parse.y:3839
+#, c-format
+msgid "type specifier omitted for parameter `%E'"
+msgstr ""
+
+#: parse.y:3847
+msgid "'%D' is used as a type, but is not defined as a type."
+msgstr ""
+
+#: cp/pt.c:284
+msgid "data member `%D' cannot be a member template"
+msgstr ""
+
+#: cp/pt.c:296
+msgid "invalid member template declaration `%D'"
+msgstr ""
+
+#: cp/pt.c:691
+msgid "explicit specialization in non-namespace scope `%D'"
+msgstr ""
+
+#: cp/pt.c:703
+msgid "enclosing class templates are not explicitly specialized"
+msgstr ""
+
+#: cp/pt.c:792 cp/pt.c:833
+msgid "specializing `%#T' in different namespace"
+msgstr ""
+
+#: cp/pt.c:793 cp/pt.c:834
+msgid " from definition of `%#D'"
+msgstr ""
+
+#: cp/pt.c:801
+msgid "specialization of `%T' after instantiation"
+msgstr ""
+
+#: cp/pt.c:848
+msgid "specialization `%T' after instantiation `%T'"
+msgstr ""
+
+#: cp/pt.c:860
+msgid "explicit specialization of non-template `%T'"
+msgstr ""
+
+#: cp/pt.c:992
+msgid "specialization of %D after instantiation"
+msgstr ""
+
+#: cp/pt.c:1095
+msgid "%s %+#D"
+msgstr ""
+
+#: cp/pt.c:1146
+msgid "`%D' is not a function template"
+msgstr ""
+
+#: cp/pt.c:1285
+msgid "template-id `%D' for `%+D' does not match any template declaration"
+msgstr ""
+
+#: cp/pt.c:1293
+msgid "ambiguous template specialization `%D' for `%+D'"
+msgstr ""
+
+#. This case handles bogus declarations like template <>
+#. template <class T> void f<int>();
+#: cp/pt.c:1520 cp/pt.c:1594
+msgid "template-id `%D' in declaration of primary template"
+msgstr ""
+
+#: cp/pt.c:1533
+msgid "template parameter list used in explicit instantiation"
+msgstr ""
+
+#: cp/pt.c:1539
+msgid "definition provided for explicit instantiation"
+msgstr ""
+
+#: cp/pt.c:1545
+msgid "too many template parameter lists in declaration of `%D'"
+msgstr ""
+
+#: cp/pt.c:1561
+msgid "too few template parameter lists in declaration of `%D'"
+msgstr ""
+
+#: cp/pt.c:1578
+msgid "explicit specialization not preceded by `template <>'"
+msgstr ""
+
+#: cp/pt.c:1591
+msgid "partial specialization `%D' of function template"
+msgstr ""
+
+#: cp/pt.c:1623
+msgid "default argument specified in explicit specialization"
+msgstr ""
+
+#: cp/pt.c:1627
+msgid "template specialization with C linkage"
+msgstr ""
+
+#. From [temp.expl.spec]:
+#.
+#. If such an explicit specialization for the member
+#. of a class template names an implicitly-declared
+#. special member function (clause _special_), the
+#. program is ill-formed.
+#.
+#. Similar language is found in [temp.explicit].
+#: cp/pt.c:1714
+msgid "specialization of implicitly-declared special member function"
+msgstr ""
+
+#: cp/pt.c:1758
+msgid "no member function `%D' declared in `%T'"
+msgstr ""
+
+#. There are two many template parameter lists.
+#: cp/pt.c:1906
+msgid "too many template parameter lists in declaration of `%T'"
+msgstr ""
+
+#: cp/pt.c:2002
+msgid " shadows template parm `%#D'"
+msgstr ""
+
+#: cp/pt.c:2406
+msgid "template parameters not used in partial specialization:"
+msgstr ""
+
+#: cp/pt.c:2410
+msgid " `%D'"
+msgstr ""
+
+#: cp/pt.c:2422
+msgid "partial specialization `%T' does not specialize any template arguments"
+msgstr ""
+
+#: cp/pt.c:2447
+#, c-format
+msgid "template argument `%E' involves template parameter(s)"
+msgstr ""
+
+#: cp/pt.c:2491
+msgid "type `%T' of template argument `%E' depends on template parameter(s)"
+msgstr ""
+
+#: cp/pt.c:2579
+msgid "no default argument for `%D'"
+msgstr ""
+
+#: cp/pt.c:2732
+msgid "template with C linkage"
+msgstr ""
+
+#: cp/pt.c:2735
+msgid "template class without a name"
+msgstr ""
+
+#: cp/pt.c:2812
+msgid "`%D' does not declare a template type"
+msgstr ""
+
+#: cp/pt.c:2818
+msgid "template definition of non-template `%#D'"
+msgstr ""
+
+#: cp/pt.c:2859
+msgid "expected %d levels of template parms for `%#D', got %d"
+msgstr ""
+
+#: cp/pt.c:2871
+msgid "got %d template parameters for `%#D'"
+msgstr ""
+
+#: cp/pt.c:2874
+msgid "got %d template parameters for `%#T'"
+msgstr ""
+
+#: cp/pt.c:2876
+#, c-format
+msgid " but %d required"
+msgstr ""
+
+#: cp/pt.c:2959
+msgid "`%T' is not a template type"
+msgstr ""
+
+#: cp/pt.c:2975
+msgid "previous declaration `%D'"
+msgstr ""
+
+#: cp/pt.c:2976
+#, c-format
+msgid "used %d template parameter%s instead of %d"
+msgstr ""
+
+#: cp/pt.c:2992
+msgid "template parameter `%#D'"
+msgstr ""
+
+#: cp/pt.c:2993
+msgid "redeclared here as `%#D'"
+msgstr ""
+
+#. We have in [temp.param]:
+#.
+#. A template-parameter may not be given default arguments
+#. by two different declarations in the same scope.
+#: cp/pt.c:3003
+msgid "redefinition of default argument for `%#D'"
+msgstr ""
+
+#: cp/pt.c:3004
+msgid " original definition appeared here"
+msgstr ""
+
+#: cp/pt.c:3097
+#, c-format
+msgid "`%E' is not a valid template argument"
+msgstr ""
+
+#: cp/pt.c:3101
+msgid "it must be the address of a function with external linkage"
+msgstr ""
+
+#: cp/pt.c:3103
+msgid "it must be the address of an object with external linkage"
+msgstr ""
+
+#: cp/pt.c:3107
+msgid "it must be a pointer-to-member of the form `&X::Y'"
+msgstr ""
+
+#: cp/pt.c:3118
+#, 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:3130
+#, c-format
+msgid "address of non-extern `%E' cannot be used as template argument"
+msgstr ""
+
+#: cp/pt.c:3141
+#, c-format
+msgid "non-constant `%E' cannot be used as template argument"
+msgstr ""
+
+#: cp/pt.c:3148
+#, c-format
+msgid "object `%E' cannot be used as template argument"
+msgstr ""
+
+#: cp/pt.c:3523
+#, c-format
+msgid "to refer to a type member of a template parameter, use `typename %E'"
+msgstr ""
+
+#: cp/pt.c:3536 cp/pt.c:3552 cp/pt.c:3591
+msgid "type/value mismatch at argument %d in template parameter list for `%D'"
+msgstr ""
+
+#: cp/pt.c:3539
+msgid " expected a constant of type `%T', got `%T'"
+msgstr ""
+
+#: cp/pt.c:3543
+#, c-format
+msgid " expected a type, got `%E'"
+msgstr ""
+
+#: cp/pt.c:3555
+msgid " expected a type, got `%T'"
+msgstr ""
+
+#: cp/pt.c:3557
+msgid " expected a class template, got `%T'"
+msgstr ""
+
+#: cp/pt.c:3593
+msgid " expected a template of type `%D', got `%D'"
+msgstr ""
+
+#: cp/pt.c:3615
+msgid "template-argument `%T' uses anonymous type"
+msgstr ""
+
+#: cp/pt.c:3618
+msgid "template-argument `%T' uses local type `%T'"
+msgstr ""
+
+#: cp/pt.c:3628
+msgid "template-argument `%T' is a variably modified type"
+msgstr ""
+
+#: cp/pt.c:3663
+msgid "could not convert template argument `%E' to `%T'"
+msgstr ""
+
+#: cp/pt.c:3707
+#, c-format
+msgid "wrong number of template arguments (%d, should be %d)"
+msgstr ""
+
+#: cp/pt.c:3711
+msgid "provided for `%D'"
+msgstr ""
+
+#: cp/pt.c:3758
+#, c-format
+msgid "template argument %d is invalid"
+msgstr ""
+
+#: cp/pt.c:3993
+msgid "non-template used as template"
+msgstr ""
+
+#: cp/pt.c:4125
+msgid "`%T' is not a template"
+msgstr ""
+
+#: cp/pt.c:4138
+msgid "non-template type `%T' used as a template"
+msgstr ""
+
+#: cp/pt.c:4140
+msgid "for template declaration `%D'"
+msgstr ""
+
+#: cp/pt.c:4756
+msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
+msgstr ""
+
+#: cp/pt.c:5232
+msgid "ambiguous class template instantiation for `%#T'"
+msgstr ""
+
+#: cp/pt.c:5239
+msgid "%s %+#T"
+msgstr ""
+
+#: cp/pt.c:6261 cp/pt.c:6371
+msgid "instantiation of `%D' as type `%T'"
+msgstr ""
+
+#: cp/pt.c:6415
+msgid "invalid parameter type `%T'"
+msgstr ""
+
+#: cp/pt.c:6417
+msgid "in declaration `%D'"
+msgstr ""
+
+#: cp/pt.c:6492
+msgid "creating pointer to member function of non-class type `%T'"
+msgstr ""
+
+#: cp/pt.c:6655
+msgid "creating array with size zero"
+msgstr ""
+
+#: cp/pt.c:6669
+#, c-format
+msgid "creating array with size zero (`%E')"
+msgstr ""
+
+#: cp/pt.c:6908
+msgid "forming reference to void"
+msgstr ""
+
+#: cp/pt.c:6910
+msgid "forming %s to reference type `%T'"
+msgstr ""
+
+#: cp/pt.c:6948
+msgid "creating pointer to member of non-class type `%T'"
+msgstr ""
+
+#: cp/pt.c:6954
+msgid "creating pointer to member reference type `%T'"
+msgstr ""
+
+#: cp/pt.c:7032
+msgid "creating array of `%T'"
+msgstr ""
+
+#: cp/pt.c:7075
+msgid "`%T' is not a class, struct, or union type"
+msgstr ""
+
+#: cp/pt.c:7185
+#, c-format
+msgid "use of `%s' in template"
+msgstr ""
+
+#: cp/pt.c:7947
+msgid "type `%T' composed from a local class is not a valid template-argument"
+msgstr ""
+
+#: cp/pt.c:7948
+msgid " trying to instantiate `%D'"
+msgstr ""
+
+#: cp/pt.c:8393
+msgid "incomplete type unification"
+msgstr ""
+
+#: cp/pt.c:9348
+#, c-format
+msgid "use of `%s' in template type unification"
+msgstr ""
+
+#: cp/pt.c:9776 cp/pt.c:9848
+msgid "explicit instantiation of non-template `%#D'"
+msgstr ""
+
+#: cp/pt.c:9792 cp/pt.c:9843
+msgid "no matching template for `%D' found"
+msgstr ""
+
+#: cp/pt.c:9798
+msgid "explicit instantiation of `%#D'"
+msgstr ""
+
+#: cp/pt.c:9835
+msgid "duplicate explicit instantiation of `%#D'"
+msgstr ""
+
+#: cp/pt.c:9860
+msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
+msgstr ""
+
+#: cp/pt.c:9864 cp/pt.c:9942
+msgid "storage class `%D' applied to template instantiation"
+msgstr ""
+
+#: cp/pt.c:9909
+msgid "explicit instantiation of non-template type `%T'"
+msgstr ""
+
+#: cp/pt.c:9923
+msgid "explicit instantiation of `%#T' before definition of template"
+msgstr ""
+
+#: cp/pt.c:9931
+#, c-format
+msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
+msgstr ""
+
+#: cp/pt.c:9975
+msgid "duplicate explicit instantiation of `%#T'"
+msgstr ""
+
+#: cp/pt.c:10355
+msgid "explicit instantiation of `%D' but no definition available"
+msgstr ""
+
+#: cp/pt.c:10758
+msgid "`%#T' is not a valid type for a template constant parameter"
+msgstr ""
+
+#: cp/repo.c:271
+msgid "-frepo must be used with -c"
+msgstr ""
+
+#: cp/repo.c:361
+#, c-format
+msgid "mysterious repository information in %s"
+msgstr ""
+
+#: cp/repo.c:376
+#, c-format
+msgid "can't create repository information file `%s'"
+msgstr ""
+
+#: cp/rtti.c:240
+msgid "cannot use typeid with -fno-rtti"
+msgstr ""
+
+#: cp/rtti.c:246
+msgid "must #include <typeinfo> before using typeid"
+msgstr ""
+
+#: cp/rtti.c:320
+msgid "cannot create type information for type `%T' because its size is variable"
+msgstr ""
+
+#: cp/rtti.c:585 cp/rtti.c:599
+msgid "dynamic_cast of `%#D' to `%#T' can never succeed"
+msgstr ""
+
+#: cp/rtti.c:675
+msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
+msgstr ""
+
+#: cp/search.c:347
+msgid "`%T' is an inaccessible base of `%T'"
+msgstr ""
+
+#: cp/search.c:357
+msgid "`%T' is an ambiguous base of `%T'"
+msgstr ""
+
+#. At parse time, we don't want to give this error, since
+#. we won't have enough state to make this kind of
+#. decision properly. But there are times (e.g., with
+#. enums in nested classes) when we do need to call
+#. this fn at parse time. So, in those cases, we pass
+#. complain as a 0 and just return a NULL_TREE.
+#: cp/search.c:1642
+msgid "assignment to non-static member `%D' of enclosing class `%T'"
+msgstr ""
+
+#: cp/search.c:2009
+msgid "adjusting pointers for covariant returns"
+msgstr ""
+
+#: cp/search.c:2013 cp/search.c:2020
+msgid "invalid covariant return type for `%#D'"
+msgstr ""
+
+#: cp/search.c:2014
+msgid " overriding `%#D' (must be pointer or reference to class)"
+msgstr ""
+
+#: cp/search.c:2021
+msgid " overriding `%#D' (must use pointer or reference)"
+msgstr ""
+
+#: cp/search.c:2026
+msgid "conflicting return type specified for `%#D'"
+msgstr ""
+
+#: cp/search.c:2027
+msgid " overriding `%#D'"
+msgstr ""
+
+#: cp/search.c:2036
+#, c-format
+msgid "looser throw specifier for `%#F'"
+msgstr ""
+
+#: cp/search.c:2037
+#, c-format
+msgid " overriding `%#F'"
+msgstr ""
+
+#. A static member function cannot match an inherited
+#. virtual member function.
+#: cp/search.c:2126
+msgid "`%#D' cannot be declared"
+msgstr ""
+
+#: cp/search.c:2127
+msgid " since `%#D' declared in base class"
+msgstr ""
+
+#: cp/search.c:2268
+msgid "`%#D' needs a final overrider"
+msgstr ""
+
+#: cp/semantics.c:919
+#, c-format
+msgid "type of asm operand `%E' could not be determined"
+msgstr ""
+
+#: cp/semantics.c:1051
+msgid "ISO C++ does not permit named return values"
+msgstr ""
+
+#: cp/semantics.c:1060
+msgid "return identifier `%D' already in place"
+msgstr ""
+
+#: cp/semantics.c:1068
+msgid "can't redefine default return value for constructors"
+msgstr ""
+
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr ""
+
+#: cp/semantics.c:1342
+msgid "`this' is unavailable for static member functions"
+msgstr ""
+
+#: cp/semantics.c:1348
+msgid "invalid use of `this' in non-member function"
+msgstr ""
+
+#: cp/semantics.c:1350
+msgid "invalid use of `this' at top level"
+msgstr ""
+
+#: cp/semantics.c:1380
+msgid "calling type `%T' like a method"
+msgstr ""
+
+#: cp/semantics.c:1418
+msgid "destructor specifier `%T::~%T()' must have matching names"
+msgstr ""
+
+#: cp/semantics.c:1424
+msgid "`%E' is not of type `%T'"
+msgstr ""
+
+#: cp/semantics.c:1612
+msgid "template type parameters must use the keyword `class' or `typename'"
+msgstr ""
+
+#: 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:1709
+msgid "invalid definition of qualified type `%T'"
+msgstr ""
+
+#: cp/semantics.c:2051
+msgid "invalid base-class specification"
+msgstr ""
+
+#: cp/semantics.c:2060
+msgid "base class `%T' has cv qualifiers"
+msgstr ""
+
+#: cp/semantics.c:2091
+msgid "multiple declarators in template declaration"
+msgstr ""
+
+#: cp/semantics.c:2118
+#, c-format
+msgid "type of `%E' is unknown"
+msgstr ""
+
+#: cp/spew.c:225
+#, c-format
+msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+msgstr ""
+
+#: cp/spew.c:1002 cp/spew.c:1340
+msgid "parse error at end of saved function text"
+msgstr ""
+
+#: 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:1161
+msgid "function body for constructor missing"
+msgstr ""
+
+#: cp/spew.c:1262
+msgid "%Hend of file read inside default argument"
+msgstr ""
+
+#: cp/spew.c:1419
+msgid "circular dependency in default args of `%#D'"
+msgstr ""
+
+#: cp/spew.c:1483
+msgid "invalid type `%T' for default argument to `%T'"
+msgstr ""
+
+#: cp/spew.c:1548
+#, c-format
+msgid "%s before `%s'"
+msgstr ""
+
+#: cp/spew.c:1550
+#, c-format
+msgid "%s before `%c'"
+msgstr ""
+
+#: cp/spew.c:1552
+#, c-format
+msgid "%s before `\\%o'"
+msgstr ""
+
+#: cp/spew.c:1555
+#, c-format
+msgid "%s before `%s' token"
+msgstr ""
+
+#: cp/tree.c:263 cp/tree.c:275
+#, c-format
+msgid "non-lvalue in %s"
+msgstr ""
+
+#: cp/tree.c:647
+msgid "`%V' qualifiers cannot be applied to `%T'"
+msgstr ""
+
+#: cp/tree.c:2026
+#, c-format
+msgid "`%s' attribute can only be applied to Java class definitions"
+msgstr ""
+
+#: cp/tree.c:2056
+#, c-format
+msgid "`%s' attribute can only be applied to class definitions"
+msgstr ""
+
+#: cp/tree.c:2062
+#, c-format
+msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
+msgstr ""
+
+#: cp/tree.c:2087
+msgid "requested init_priority is not an integer constant"
+msgstr ""
+
+#: cp/tree.c:2108
+#, c-format
+msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
+msgstr ""
+
+#: cp/tree.c:2116
+msgid "requested init_priority is out of range"
+msgstr ""
+
+#: cp/tree.c:2126
+msgid "requested init_priority is reserved for internal use"
+msgstr ""
+
+#: cp/tree.c:2136
+#, c-format
+msgid "`%s' attribute is not supported on this platform"
+msgstr ""
+
+#: cp/tree.c:2673
+#, 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:545
+msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
+msgstr ""
+
+#: cp/typeck.c:1438
+msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
+msgstr ""
+
+#: cp/typeck.c:1516
+#, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr ""
+
+#: cp/typeck.c:1522
+#, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr ""
+
+#: cp/typeck.c:1540
+msgid "sizeof applied to a bit-field"
+msgstr ""
+
+#: cp/typeck.c:1543
+msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
+msgstr ""
+
+#: cp/typeck.c:1655
+msgid "invalid use of non-lvalue array"
+msgstr ""
+
+#: cp/typeck.c:1761
+msgid "deprecated conversion from string constant to `%T'"
+msgstr ""
+
+#: cp/typeck.c:1892 cp/typeck.c:2124
+msgid "request for member `%D' in `%E', which is of non-class type `%T'"
+msgstr ""
+
+#: cp/typeck.c:1918
+msgid "`%D' is not a member of `%T'"
+msgstr ""
+
+#: cp/typeck.c:1959 cp/typeck.c:1980
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr ""
+
+#: cp/typeck.c:1961 cp/typeck.c:1982
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr ""
+
+#: cp/typeck.c:2170
+msgid "`%D::%D' is not a member of `%T'"
+msgstr ""
+
+#: cp/typeck.c:2196
+msgid "destructor specifier `%T::~%T' must have matching names"
+msgstr ""
+
+#: cp/typeck.c:2202
+msgid "type `%T' has no destructor"
+msgstr ""
+
+#: cp/typeck.c:2241
+msgid "`%D' is not a member template function"
+msgstr ""
+
+#. A pointer to incomplete type (other than cv void) can be
+#. dereferenced [expr.unary.op]/1
+#: cp/typeck.c:2335
+msgid "`%T' is not a pointer-to-object type"
+msgstr ""
+
+#: cp/typeck.c:2362
+#, c-format
+msgid "invalid use of `%s' on pointer to member"
+msgstr ""
+
+#: cp/typeck.c:2368
+msgid "invalid type argument"
+msgstr ""
+
+#: cp/typeck.c:2471
+msgid "ISO C++ forbids subscripting non-lvalue array"
+msgstr ""
+
+#: cp/typeck.c:2482
+msgid "subscripting array declared `register'"
+msgstr ""
+
+#: cp/typeck.c:2567
+#, c-format
+msgid "object missing in use of `%E'"
+msgstr ""
+
+#: cp/typeck.c:2671
+msgid "ISO C++ forbids calling `::main' from within program"
+msgstr ""
+
+#: cp/typeck.c:2696
+#, c-format
+msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
+msgstr ""
+
+#: cp/typeck.c:2709
+#, c-format
+msgid "`%E' cannot be used as a function"
+msgstr ""
+
+#: cp/typeck.c:2821
+msgid "too many arguments to %s `%+#D'"
+msgstr ""
+
+#: cp/typeck.c:2862
+msgid "parameter type of called function is incomplete"
+msgstr ""
+
+#: cp/typeck.c:2925
+msgid "too few arguments to %s `%+#D'"
+msgstr ""
+
+#: cp/typeck.c:3053 cp/typeck.c:3063
+msgid "assuming cast to type `%T' from overloaded function"
+msgstr ""
+
+#: cp/typeck.c:3123
+#, c-format
+msgid "division by zero in `%E / 0'"
+msgstr ""
+
+#: cp/typeck.c:3125
+#, c-format
+msgid "division by zero in `%E / 0.'"
+msgstr ""
+
+#: cp/typeck.c:3155
+#, c-format
+msgid "division by zero in `%E %% 0'"
+msgstr ""
+
+#: cp/typeck.c:3157
+#, c-format
+msgid "division by zero in `%E %% 0.'"
+msgstr ""
+
+#: cp/typeck.c:3237
+#, c-format
+msgid "%s rotate count is negative"
+msgstr ""
+
+#: cp/typeck.c:3240
+#, c-format
+msgid "%s rotate count >= width of type"
+msgstr ""
+
+#: cp/typeck.c:3271 cp/typeck.c:3276 cp/typeck.c:3367 cp/typeck.c:3372
+msgid "ISO C++ forbids comparison between pointer and integer"
+msgstr ""
+
+#: cp/typeck.c:3550
+msgid "comparison between types `%#T' and `%#T'"
+msgstr ""
+
+#: cp/typeck.c:3586
+msgid "comparison between signed and unsigned integer expressions"
+msgstr ""
+
+#: cp/typeck.c:3651
+msgid "invalid operands of types `%T' and `%T' to binary `%O'"
+msgstr ""
+
+#. Some sort of arithmetic operation involving NULL was
+#. 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:3673
+msgid "NULL used in arithmetic"
+msgstr ""
+
+#: cp/typeck.c:3740
+msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3742
+msgid "ISO C++ forbids using pointer to a function in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3744
+msgid "ISO C++ forbids using pointer to a method in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3746
+msgid "ISO C++ forbids using pointer to a member in subtraction"
+msgstr ""
+
+#: cp/typeck.c:3758
+msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+msgstr ""
+
+#: cp/typeck.c:3818
+#, c-format
+msgid "invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id."
+msgstr ""
+
+#: cp/typeck.c:3824
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr ""
+
+#: cp/typeck.c:3847
+msgid "taking address of temporary"
+msgstr ""
+
+#: cp/typeck.c:4088
+#, c-format
+msgid "ISO C++ forbids %sing an enum"
+msgstr ""
+
+#: cp/typeck.c:4100
+msgid "cannot %s a pointer to incomplete type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4107
+msgid "ISO C++ forbids %sing a pointer of type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4132
+msgid "cast to non-reference type used as lvalue"
+msgstr ""
+
+#: cp/typeck.c:4166
+msgid "invalid use of `--' on bool variable `%D'"
+msgstr ""
+
+#. ARM $3.4
+#: cp/typeck.c:4199
+msgid "ISO C++ forbids taking address of function `::main'"
+msgstr ""
+
+#. An expression like &memfn.
+#: cp/typeck.c:4266
+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:4268
+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:4292
+msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+msgstr ""
+
+#: cp/typeck.c:4321
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr ""
+
+#: cp/typeck.c:4441
+msgid "taking address of destructor"
+msgstr ""
+
+#: cp/typeck.c:4454
+msgid "taking address of bound pointer-to-member expression"
+msgstr ""
+
+#: cp/typeck.c:4470
+msgid "cannot create pointer to reference member `%D'"
+msgstr ""
+
+#: cp/typeck.c:4533
+msgid "cannot take the address of `this', which is an rvalue expression"
+msgstr ""
+
+#: cp/typeck.c:4552
+msgid "address requested for `%D', which is declared `register'"
+msgstr ""
+
+#: cp/typeck.c:4773
+msgid "static_cast from type `%T' to type `%T' casts away constness"
+msgstr ""
+
+#: cp/typeck.c:4781
+msgid "invalid static_cast from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4820
+msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4840
+msgid "reinterpret_cast from `%T' to `%T' loses precision"
+msgstr ""
+
+#: cp/typeck.c:4853
+msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
+msgstr ""
+
+#: cp/typeck.c:4862
+msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+msgstr ""
+
+#: cp/typeck.c:4868
+msgid "invalid reinterpret_cast from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4895
+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:4898
+msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
+msgstr ""
+
+#: cp/typeck.c:4921
+msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4937
+msgid "invalid const_cast from type `%T' to type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4979 cp/typeck.c:4984
+msgid "ISO C++ forbids casting to an array type `%T'"
+msgstr ""
+
+#: cp/typeck.c:4992
+msgid "invalid cast to function type `%T'"
+msgstr ""
+
+#: cp/typeck.c:5044
+msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
+msgstr ""
+
+#: cp/typeck.c:5090
+msgid "cast from `%T' to `%T' increases required alignment of target type"
+msgstr ""
+
+#: cp/typeck.c:5258
+msgid " in evaluation of `%Q(%#T, %#T)'"
+msgstr ""
+
+#: cp/typeck.c:5300
+msgid "ISO C++ forbids cast to non-reference type used as lvalue"
+msgstr ""
+
+#: cp/typeck.c:5372
+msgid "incompatible types in assignment of `%T' to `%T'"
+msgstr ""
+
+#: cp/typeck.c:5379
+msgid "ISO C++ forbids assignment of arrays"
+msgstr ""
+
+#: cp/typeck.c:5522
+msgid " in pointer to member function conversion"
+msgstr ""
+
+#: cp/typeck.c:5530
+msgid " in pointer to member conversion"
+msgstr ""
+
+#. This is a reinterpret cast, we choose to do nothing.
+#: cp/typeck.c:5541 cp/typeck.c:5560
+msgid "pointer to member cast via virtual base `%T' of `%T'"
+msgstr ""
+
+#: cp/typeck.c:5564
+msgid "pointer to member conversion via virtual base `%T' of `%T'"
+msgstr ""
+
+#: cp/typeck.c:5640
+msgid "invalid conversion to type `%T' from type `%T'"
+msgstr ""
+
+#: cp/typeck.c:5805
+msgid "passing NULL used for non-pointer %s %P of `%D'"
+msgstr ""
+
+#: cp/typeck.c:5808
+msgid "%s to non-pointer type `%T' from NULL"
+msgstr ""
+
+#: cp/typeck.c:5816
+msgid "passing `%T' for %s %P of `%D'"
+msgstr ""
+
+#: cp/typeck.c:5819
+msgid "%s to `%T' from `%T'"
+msgstr ""
+
+#: cp/typeck.c:5829
+msgid "passing negative value `%E' for %s %P of `%D'"
+msgstr ""
+
+#: cp/typeck.c:5832
+msgid "%s of negative value `%E' to `%T'"
+msgstr ""
+
+#: cp/typeck.c:5927
+msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
+msgstr ""
+
+#: cp/typeck.c:5930
+msgid "cannot convert `%T' to `%T' in %s"
+msgstr ""
+
+#: cp/typeck.c:6017 cp/typeck.c:6019
+msgid "in passing argument %P of `%+D'"
+msgstr ""
+
+#: cp/typeck.c:6134
+msgid "returning reference to temporary"
+msgstr ""
+
+#: cp/typeck.c:6141
+msgid "reference to non-lvalue returned"
+msgstr ""
+
+#: cp/typeck.c:6153
+msgid "reference to local variable `%D' returned"
+msgstr ""
+
+#: cp/typeck.c:6156
+msgid "address of local variable `%D' returned"
+msgstr ""
+
+#: cp/typeck.c:6187
+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:6195
+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:6198
+msgid "returning a value from a constructor"
+msgstr ""
+
+#: cp/typeck.c:6215
+msgid "return-statement with no value, in function declared with a non-void return type"
+msgstr ""
+
+#: cp/typeck.c:6231
+msgid "return-statement with a value, in function declared with a void return type"
+msgstr ""
+
+#: cp/typeck.c:6252
+msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
+msgstr ""
+
+#: cp/typeck2.c:54
+msgid "type `%T' is not a base type for type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:157
+msgid "cannot declare variable `%D' to be of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:160
+msgid "cannot declare parameter `%D' to be of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:163
+msgid "cannot declare field `%D' to be of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:167
+msgid "invalid return type for member function `%#D'"
+msgstr ""
+
+#: cp/typeck2.c:169
+msgid "invalid return type for function `%#D'"
+msgstr ""
+
+#: cp/typeck2.c:172
+msgid "cannot allocate an object of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:179
+msgid " because the following virtual functions are abstract:"
+msgstr ""
+
+#: cp/typeck2.c:181
+msgid "\t%#D"
+msgstr ""
+
+#: cp/typeck2.c:184
+msgid " since type `%T' has abstract virtual functions"
+msgstr ""
+
+#: cp/typeck2.c:337
+msgid "constructor syntax used, but no constructor declared for type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:348
+msgid "comma expression used to initialize return value"
+msgstr ""
+
+#: cp/typeck2.c:357
+msgid "cannot initialize arrays using this syntax"
+msgstr ""
+
+#: cp/typeck2.c:472
+msgid "initializing array with parameter list"
+msgstr ""
+
+#: cp/typeck2.c:528
+msgid "initializer for scalar variable requires one element"
+msgstr ""
+
+#: cp/typeck2.c:535
+msgid "braces around scalar initializer for `%T'"
+msgstr ""
+
+#: cp/typeck2.c:538
+msgid "ignoring extra initializers for `%T'"
+msgstr ""
+
+#: cp/typeck2.c:550
+msgid "variable-sized object of type `%T' may not be initialized"
+msgstr ""
+
+#: cp/typeck2.c:560
+msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
+msgstr ""
+
+#: cp/typeck2.c:626
+msgid "aggregate has a partly bracketed initializer"
+msgstr ""
+
+#: cp/typeck2.c:664 cp/typeck2.c:769
+msgid "non-trivial labeled initializers"
+msgstr ""
+
+#: cp/typeck2.c:681
+msgid "non-empty initializer for array of empty elements"
+msgstr ""
+
+#: cp/typeck2.c:735
+msgid "initializer list for object of class with virtual base classes"
+msgstr ""
+
+#: cp/typeck2.c:741
+msgid "initializer list for object of class with base classes"
+msgstr ""
+
+#: cp/typeck2.c:747
+msgid "initializer list for object using virtual functions"
+msgstr ""
+
+#: cp/typeck2.c:810 cp/typeck2.c:826
+msgid "missing initializer for member `%D'"
+msgstr ""
+
+#: cp/typeck2.c:815
+msgid "uninitialized const member `%D'"
+msgstr ""
+
+#: cp/typeck2.c:817
+msgid "member `%D' with uninitialized const fields"
+msgstr ""
+
+#: cp/typeck2.c:820
+msgid "member `%D' is uninitialized reference"
+msgstr ""
+
+#: cp/typeck2.c:867
+msgid "index value instead of field name in union initializer"
+msgstr ""
+
+#: cp/typeck2.c:879
+msgid "no field `%D' in union being initialized"
+msgstr ""
+
+#: cp/typeck2.c:887
+msgid "union `%T' with no named members cannot be initialized"
+msgstr ""
+
+#: cp/typeck2.c:923
+msgid "excess elements in aggregate initializer"
+msgstr ""
+
+#: cp/typeck2.c:1037
+msgid "circular pointer delegation detected"
+msgstr ""
+
+#: cp/typeck2.c:1050
+msgid "base operand of `->' has non-pointer type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1064
+msgid "result of `operator->()' yields non-pointer result"
+msgstr ""
+
+#: cp/typeck2.c:1066
+msgid "base operand of `->' is not a pointer"
+msgstr ""
+
+#: cp/typeck2.c:1132
+msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1139
+msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1148
+msgid "member type `%T::' incompatible with object type `%T'"
+msgstr ""
+
+#: cp/typeck2.c:1185
+msgid "`%T' fails to be a typedef or built-in type"
+msgstr ""
+
+#: cp/typeck2.c:1258
+#, c-format
+msgid "ISO C++ forbids defining types within %s"
+msgstr ""
+
+#: cp/typeck2.c:1383
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr ""
+
+#: cp/typeck2.c:1386
+msgid "call to function which throws incomplete type `%#T'"
+msgstr ""
+
+#. XXX Not i18n clean.
+#: cp/cp-tree.h:3887
+#, c-format
+msgid "%s is deprecated, please see the documentation for details"
+msgstr ""
+
+#: cp/lang-options.h:29
+msgid "Do not obey access control semantics"
+msgstr ""
+
+#: cp/lang-options.h:31
+msgid "Change when template instances are emitted"
+msgstr ""
+
+#: cp/lang-options.h:36
+msgid "Check the return value of new"
+msgstr ""
+
+#: cp/lang-options.h:39
+msgid "Reduce size of object files"
+msgstr ""
+
+#: cp/lang-options.h:43
+msgid "Make string literals `char[]' instead of `const char[]'"
+msgstr ""
+
+#: cp/lang-options.h:46
+msgid "Dump the entire translation unit to a file"
+msgstr ""
+
+#: cp/lang-options.h:48
+msgid "Do not inline member functions by default"
+msgstr ""
+
+#: cp/lang-options.h:51
+msgid "Do not generate run time type descriptor information"
+msgstr ""
+
+#: cp/lang-options.h:56
+msgid "Do not generate code to check exception specifications"
+msgstr ""
+
+#: cp/lang-options.h:61
+msgid "Scope of for-init-statement vars extends outside"
+msgstr ""
+
+#: cp/lang-options.h:64
+msgid "Do not recognize GNU defined keywords"
+msgstr ""
+
+#: cp/lang-options.h:68
+msgid "Enable support for huge objects"
+msgstr ""
+
+#: cp/lang-options.h:72
+msgid "Export functions even if they can be inlined"
+msgstr ""
+
+#: cp/lang-options.h:75
+msgid "Only emit explicit template instantiations"
+msgstr ""
+
+#: cp/lang-options.h:78
+msgid "Only emit explicit instantiations of inline templates"
+msgstr ""
+
+#: cp/lang-options.h:84
+msgid "Don't pedwarn about uses of Microsoft extensions"
+msgstr ""
+
+#: cp/lang-options.h:87
+msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+msgstr ""
+
+#: cp/lang-options.h:91
+msgid "Disable optional diagnostics"
+msgstr ""
+
+#: cp/lang-options.h:93
+msgid "Downgrade conformance errors to warnings"
+msgstr ""
+
+#: cp/lang-options.h:96
+msgid "Enable automatic template instantiation"
+msgstr ""
+
+#: cp/lang-options.h:101
+msgid "Display statistics accumulated during compilation"
+msgstr ""
+
+#: cp/lang-options.h:104
+msgid "Specify maximum template instantiation depth"
+msgstr ""
+
+#: cp/lang-options.h:106
+msgid "Use __cxa_atexit to register destructors"
+msgstr ""
+
+#: cp/lang-options.h:109
+msgid "Discard unused virtual functions"
+msgstr ""
+
+#: cp/lang-options.h:112
+msgid "Implement vtables using thunks"
+msgstr ""
+
+#: cp/lang-options.h:115
+msgid "Emit common-like symbols as weak symbols"
+msgstr ""
+
+#: cp/lang-options.h:118
+msgid "Emit cross referencing information"
+msgstr ""
+
+#: cp/lang-options.h:122
+msgid "Warn about inconsistent return types"
+msgstr ""
+
+#: cp/lang-options.h:125
+msgid "Warn about overloaded virtual function names"
+msgstr ""
+
+#: cp/lang-options.h:129
+msgid "Don't warn when all ctors/dtors are private"
+msgstr ""
+
+#: cp/lang-options.h:131
+msgid "Warn about non virtual destructors"
+msgstr ""
+
+#: cp/lang-options.h:134
+msgid "Warn when a function is declared extern, then inline"
+msgstr ""
+
+#: cp/lang-options.h:137
+msgid "Warn when the compiler reorders code"
+msgstr ""
+
+#: cp/lang-options.h:140
+msgid "Warn when synthesis behavior differs from Cfront"
+msgstr ""
+
+#: cp/lang-options.h:144
+msgid "Don't warn when type converting pointers to member functions"
+msgstr ""
+
+#: cp/lang-options.h:146
+msgid "Warn about violations of Effective C++ style rules"
+msgstr ""
+
+#: cp/lang-options.h:149
+msgid "Warn when overload promotes from unsigned to signed"
+msgstr ""
+
+#: cp/lang-options.h:152
+msgid "Warn if a C style cast is used in a program"
+msgstr ""
+
+#: cp/lang-options.h:156
+msgid "Don't warn when non-templatized friend functions are declared within a template"
+msgstr ""
+
+#: cp/lang-options.h:159
+msgid "Don't announce deprecation of compiler features"
+msgstr ""
+
+#: f/bad.c:387
+msgid "note:"
+msgstr ""
+
+#: f/bad.c:391
+msgid "warning:"
+msgstr ""
+
+#: f/bad.c:395
+msgid "fatal:"
+msgstr ""
+
+#: f/bad.c:437
+msgid "(continued):"
+msgstr ""
+
+#: f/bad.c:487 f/bad.c:505
+msgid "[REPORT BUG!!] %"
+msgstr ""
+
+#: f/bad.c:494 f/bad.c:526
+msgid "[REPORT BUG!!]"
+msgstr ""
+
+#: f/com.c:3132
+#, no-c-format
+msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+msgstr ""
+
+#: f/com.c:11623
+msgid "no INTEGER type can hold a pointer on this configuration"
+msgstr ""
+
+#: f/com.c:11844
+#, c-format
+msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+msgstr ""
+
+#: f/com.c:11846
+#, c-format
+msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+msgstr ""
+
+#: f/com.c:11848
+msgid "properly unless they all are 32 bits wide"
+msgstr ""
+
+#: f/com.c:11849
+msgid "Please keep this in mind before you report bugs."
+msgstr "Bitte bedenken Sie dies, wenn Sie einen Fehlerbericht einsenden."
+
+#. I/O will probably crash.
+#: f/com.c:11857
+#, c-format
+msgid "configuration: char * holds %d bits, but ftnlen only %d"
+msgstr ""
+
+#. ASSIGN 10 TO I will crash.
+#: f/com.c:11866
+#, c-format
+msgid ""
+"configuration: char * holds %d bits, but INTEGER only %d --\n"
+" ASSIGN statement might fail"
+msgstr ""
+
+#: f/com.c:13681
+msgid "In statement function"
+msgstr ""
+
+#: f/com.c:13691
+msgid "Outside of any program unit:\n"
+msgstr ""
+
+#: f/com.c:15320
+#, no-c-format
+msgid "%A from %B at %0%C"
+msgstr ""
+
+#: f/com.c:15497
+msgid "directory name must immediately follow -I"
+msgstr ""
+
+#: f/com.c:15640
+#, no-c-format
+msgid "At %0, INCLUDE file %A exists, but is not readable"
+msgstr ""
+
+#: f/com.c:15675
+#, no-c-format
+msgid "At %0, INCLUDE nesting too deep"
+msgstr ""
+
+#: f/expr.c:9614
+#, no-c-format
+msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+msgstr ""
+
+#: f/expr.c:9664
+#, no-c-format
+msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+msgstr ""
+
+#: 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:10896
+#, no-c-format
+msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+msgstr ""
+
+#: f/g77spec.c:234
+#, c-format
+msgid "overflowed output arg list for `%s'"
+msgstr ""
+
+#: f/g77spec.c:373
+msgid "--driver no longer supported"
+msgstr ""
+
+#: f/g77spec.c:386
+#, c-format
+msgid "argument to `%s' missing"
+msgstr ""
+
+#: f/g77spec.c:390
+msgid "no input files; unwilling to write output files"
+msgstr ""
+
+#: f/implic.c:203
+#, no-c-format
+msgid "Implicit declaration of `%A' at %0"
+msgstr ""
+
+#: f/lex.c:326
+#, no-c-format
+msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+msgstr ""
+
+#: f/lex.c:345
+#, no-c-format
+msgid "Unknown escape sequence `\\%A' at %0"
+msgstr ""
+
+#: f/lex.c:354
+#, no-c-format
+msgid "Unterminated escape sequence `\\' at %0"
+msgstr ""
+
+#: f/lex.c:365
+#, no-c-format
+msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+msgstr ""
+
+#: f/lex.c:393
+#, no-c-format
+msgid "\\x used at %0 with no following hex digits"
+msgstr ""
+
+#: f/lex.c:407
+#, no-c-format
+msgid "Hex escape at %0 out of range"
+msgstr ""
+
+#: f/lex.c:441
+#, no-c-format
+msgid "Escape sequence at %0 out of range for character"
+msgstr ""
+
+#: f/lex.c:595
+msgid "hex escape out of range"
+msgstr ""
+
+#: f/lex.c:648
+#, c-format
+msgid "non-ANSI-standard escape sequence, `\\%c'"
+msgstr ""
+
+#: f/lex.c:661
+#, c-format
+msgid "non-ISO escape sequence `\\%c'"
+msgstr ""
+
+#: f/lex.c:665
+#, c-format
+msgid "unknown escape sequence `\\%c'"
+msgstr ""
+
+#: f/lex.c:667
+#, c-format
+msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+msgstr ""
+
+#: f/lex.c:744
+msgid "badly formed directive -- no closing quote"
+msgstr ""
+
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
+msgstr ""
+
+#: f/lex.c:964
+msgid "bad directive -- missing close-quote"
+msgstr ""
+
+#: f/lex.c:1078
+#, c-format
+msgid "ignoring pragma: %s"
+msgstr ""
+
+#: f/lex.c:1156
+msgid "invalid #ident"
+msgstr ""
+
+#: f/lex.c:1173
+msgid "undefined or invalid # directive"
+msgstr ""
+
+#: f/lex.c:1229
+msgid "invalid #line"
+msgstr ""
+
+#: f/lex.c:1285 f/lex.c:1329
+msgid "use `#line ...' instead of `# ...' in first line"
+msgstr ""
+
+#: f/lex.c:1339
+msgid "invalid #-line"
+msgstr ""
+
+#: f/lex.c:1432
+#, no-c-format
+msgid "Null character at %0 -- line ignored"
+msgstr ""
+
+#: f/stb.c:12078
+#, no-c-format
+msgid "INCLUDE at %0 not the only statement on the source line"
+msgstr ""
+
+#: 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:2624
+#, no-c-format
+msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+msgstr ""
+
+#: f/ste.c:2729
+msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+msgstr ""
+
+#: f/ste.c:2959
+msgid "ASSIGN to variable that is too small"
+msgstr ""
+
+#: f/ste.c:2987
+msgid "ASSIGNed GOTO target variable is too small"
+msgstr ""
+
+#: f/stu.c:305
+#, no-c-format
+msgid "Local adjustable symbol `%A' at %0"
+msgstr ""
+
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr ""
+
+#: f/top.c:237
+#, c-format
+msgid "%s no longer supported -- try -fvxt"
+msgstr ""
+
+#: f/top.c:239
+#, c-format
+msgid "%s no longer supported -- try -fno-vxt -ff90"
+msgstr ""
+
+#: f/top.c:307 f/top.c:309
+#, c-format
+msgid "%s disabled, use normal debugging flags"
+msgstr ""
+
+#: f/lang-options.h:33
+msgid "Print g77-specific compiler version info, run internal tests"
+msgstr ""
+
+#: f/lang-options.h:37
+msgid "Program is written in typical FORTRAN 66 dialect"
+msgstr ""
+
+#: f/lang-options.h:40
+msgid "Program is written in typical Unix f77 dialect"
+msgstr ""
+
+#: f/lang-options.h:42
+msgid "Program does not use Unix-f77 dialectal features"
+msgstr ""
+
+#: f/lang-options.h:44
+msgid "Program is written in Fortran-90-ish dialect"
+msgstr ""
+
+#: f/lang-options.h:48
+msgid "Treat local vars and COMMON blocks as if they were named in SAVE statements"
+msgstr ""
+
+#: f/lang-options.h:50
+msgid "Allow $ in symbol names"
+msgstr ""
+
+#: f/lang-options.h:54
+msgid "f2c-compatible code need not be generated"
+msgstr ""
+
+#: f/lang-options.h:57
+msgid "Unsupported; do not generate libf2c-calling code"
+msgstr ""
+
+#: f/lang-options.h:59
+msgid "Unsupported; affects code-generation of arrays"
+msgstr ""
+
+#: f/lang-options.h:62
+msgid "Program is written in Fortran-90-ish free form"
+msgstr ""
+
+#: f/lang-options.h:67
+msgid "Warn about use of (only a few for now) Fortran extensions"
+msgstr ""
+
+#: f/lang-options.h:70
+msgid "Program is written in VXT (Digital-like) FORTRAN"
+msgstr ""
+
+#: f/lang-options.h:73
+msgid "Disallow all ugly features"
+msgstr ""
+
+#: f/lang-options.h:76
+msgid "Hollerith and typeless constants not passed as arguments"
+msgstr ""
+
+#: f/lang-options.h:78
+msgid "Allow ordinary copying of ASSIGN'ed vars"
+msgstr ""
+
+#: f/lang-options.h:81
+msgid "Dummy array dimensioned to (1) is assumed-size"
+msgstr ""
+
+#: f/lang-options.h:84
+msgid "Trailing comma in procedure call denotes null argument"
+msgstr ""
+
+#: f/lang-options.h:87
+msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+msgstr ""
+
+#: f/lang-options.h:91
+msgid "Initialization via DATA and PARAMETER is type-compatible"
+msgstr ""
+
+#: f/lang-options.h:93
+msgid "Allow INTEGER and LOGICAL interchangeability"
+msgstr ""
+
+#: f/lang-options.h:96
+msgid "Print internal debugging-related info"
+msgstr ""
+
+#: f/lang-options.h:99
+msgid "Initialize local vars and arrays to zero"
+msgstr ""
+
+#: f/lang-options.h:103
+msgid "Backslashes in character/hollerith constants not special (C-style)"
+msgstr ""
+
+#: f/lang-options.h:105
+msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+msgstr ""
+
+#: f/lang-options.h:109
+msgid "Disable the appending of underscores to externals"
+msgstr ""
+
+#: f/lang-options.h:112
+msgid "Never append a second underscore to externals"
+msgstr ""
+
+#: f/lang-options.h:114
+msgid "Intrinsics spelled as e.g. SqRt"
+msgstr ""
+
+#: f/lang-options.h:116
+msgid "Intrinsics in uppercase"
+msgstr ""
+
+#: f/lang-options.h:119
+msgid "Intrinsics letters in arbitrary cases"
+msgstr ""
+
+#: f/lang-options.h:121
+msgid "Language keywords spelled as e.g. IOStat"
+msgstr ""
+
+#: f/lang-options.h:123
+msgid "Language keywords in uppercase"
+msgstr ""
+
+#: f/lang-options.h:126
+msgid "Language keyword letters in arbitrary cases"
+msgstr ""
+
+#: f/lang-options.h:128
+msgid "Internally convert most source to uppercase"
+msgstr ""
+
+#: f/lang-options.h:131
+msgid "Internally preserve source case"
+msgstr ""
+
+#: f/lang-options.h:133
+msgid "Symbol names spelled in mixed case"
+msgstr ""
+
+#: f/lang-options.h:135
+msgid "Symbol names in uppercase"
+msgstr ""
+
+#: f/lang-options.h:137
+msgid "Symbol names in lowercase"
+msgstr ""
+
+#: f/lang-options.h:140
+msgid "Program written in uppercase"
+msgstr ""
+
+#: f/lang-options.h:142
+msgid "Program written in lowercase"
+msgstr ""
+
+#: f/lang-options.h:144
+msgid "Program written in strict mixed-case"
+msgstr ""
+
+#: f/lang-options.h:146
+msgid "Compile as if program written in uppercase"
+msgstr ""
+
+#: f/lang-options.h:148
+msgid "Compile as if program written in lowercase"
+msgstr ""
+
+#: f/lang-options.h:150
+msgid "Preserve all spelling (case) used in program"
+msgstr ""
+
+#: f/lang-options.h:152
+msgid "Delete libU77 intrinsics with bad interfaces"
+msgstr ""
+
+#: f/lang-options.h:154
+msgid "Disable libU77 intrinsics with bad interfaces"
+msgstr ""
+
+#: f/lang-options.h:157
+msgid "Hide libU77 intrinsics with bad interfaces"
+msgstr ""
+
+#: f/lang-options.h:159
+msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
+msgstr ""
+
+#: f/lang-options.h:161
+msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
+msgstr ""
+
+#: f/lang-options.h:164
+msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
+msgstr ""
+
+#: f/lang-options.h:166
+msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:168
+msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:171
+msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:173
+msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
+msgstr ""
+
+#: f/lang-options.h:175
+msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:178
+msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
+msgstr ""
+
+#: f/lang-options.h:180
+msgid "Delete MIL-STD 1753 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:182
+msgid "Disable MIL-STD 1753 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:185
+msgid "Hide MIL-STD 1753 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:187
+msgid "Delete libU77 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:189
+msgid "Disable libU77 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:192
+msgid "Hide libU77 intrinsics"
+msgstr ""
+
+#: f/lang-options.h:194
+msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
+
+#: f/lang-options.h:196
+msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
+
+#: f/lang-options.h:199
+msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
+
+#: f/lang-options.h:201
+msgid "Treat initial values of 0 like non-zero values"
+msgstr ""
+
+#: f/lang-options.h:204
+msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+msgstr ""
+
+#: f/lang-options.h:207
+msgid "Take at least one trip through each iterative DO loop"
+msgstr ""
+
+#: f/lang-options.h:211
+msgid "Print names of program units as they are compiled"
+msgstr ""
+
+#: f/lang-options.h:214
+msgid "Disable fatal diagnostics about inter-procedural problems"
+msgstr ""
+
+#: f/lang-options.h:216
+msgid "Make prefix-radix non-decimal constants be typeless"
+msgstr ""
+
+#: f/lang-options.h:219
+msgid "Generate code to check subscript and substring bounds"
+msgstr ""
+
+#: f/lang-options.h:222
+msgid "Fortran-specific form of -fbounds-check"
+msgstr ""
+
+#: f/lang-options.h:226
+msgid "Disable warnings about inter-procedural problems"
+msgstr ""
+
+#: f/lang-options.h:230
+msgid "Warn about constructs with surprising meanings"
+msgstr ""
+
+#: f/lang-options.h:235
+msgid "Add a directory for INCLUDE searching"
+msgstr ""
+
+#: f/lang-options.h:237
+msgid "Set the maximum line length"
+msgstr ""
+
+#: f/bad.def:39
+#, no-c-format
+msgid "Missing first operand for binary operator at %0"
+msgstr ""
+
+#: f/bad.def:42
+#, no-c-format
+msgid "Zero-length character constant at %0"
+msgstr ""
+
+#: f/bad.def:45
+#, no-c-format
+msgid "Invalid token at %0 in expression or subexpression at %1"
+msgstr ""
+
+#: f/bad.def:48
+#, no-c-format
+msgid "Missing operand for operator at %1 at end of expression at %0"
+msgstr ""
+
+#: f/bad.def:51
+#, no-c-format
+msgid "Label %A already defined at %1 when redefined at %0"
+msgstr ""
+
+#: f/bad.def:54
+#, no-c-format
+msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:57
+#, no-c-format
+msgid "Label definition %A at %0 on empty statement (as of %1)"
+msgstr ""
+
+#: f/bad.def:65
+#, no-c-format
+msgid "Invalid first character at %0 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:68
+#, no-c-format
+msgid "Line too long as of %0 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:71
+#, no-c-format
+msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:74
+#, no-c-format
+msgid "Label number at %0 not in range 1-99999"
+msgstr ""
+
+#: f/bad.def:77
+#, no-c-format
+msgid "At %0, '!' and '/*' are not valid comment delimiters"
+msgstr ""
+
+#: f/bad.def:80
+#, no-c-format
+msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:83
+#, no-c-format
+msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:91
+#, no-c-format
+msgid "Character constant at %0 has no closing apostrophe at %1"
+msgstr ""
+
+#: f/bad.def:94
+#, no-c-format
+msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+msgstr ""
+
+#: f/bad.def:97
+#, no-c-format
+msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+msgstr ""
+
+#: f/bad.def:100
+#, no-c-format
+msgid "Integer at %0 too large"
+msgstr ""
+
+#: f/bad.def:123
+#, no-c-format
+msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+msgstr ""
+
+#: f/bad.def:126
+#, no-c-format
+msgid "Missing close-period between `.%A' at %0 and %1"
+msgstr ""
+
+#: f/bad.def:129
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+msgstr ""
+
+#: f/bad.def:132
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
+msgstr ""
+
+#: f/bad.def:135
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
+msgstr ""
+
+#: f/bad.def:253
+#, no-c-format
+msgid "Semicolon at %0 is an invalid token"
+msgstr ""
+
+#: f/bad.def:271
+#, no-c-format
+msgid "Extraneous comma in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:274
+#, no-c-format
+msgid "Missing comma in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:277
+#, no-c-format
+msgid "Spurious sign in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:280
+#, no-c-format
+msgid "Spurious number in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:283
+#, no-c-format
+msgid "Spurious text trailing number in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:291
+#, no-c-format
+msgid "Unrecognized FORMAT specifier at %0"
+msgstr ""
+
+#: f/bad.def:419
+#, no-c-format
+msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:422
+#, no-c-format
+msgid "Missing number following period in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:425
+#, no-c-format
+msgid "Missing number following `E' in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:433
+#, no-c-format
+msgid "Spurious trailing comma preceding terminator at %0"
+msgstr ""
+
+#: f/bad.def:436
+#, no-c-format
+msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+msgstr ""
+
+#: f/bad.def:439
+#, no-c-format
+msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+msgstr ""
+
+#: f/bad.def:452
+#, no-c-format
+msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+msgstr ""
+
+#: f/bad.def:455
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with its definition at %0"
+msgstr ""
+
+#: f/bad.def:458
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+msgstr ""
+
+#: f/bad.def:461
+#, no-c-format
+msgid "DO-statement reference to label at %1 follows its definition at %0"
+msgstr ""
+
+#: f/bad.def:464
+#, no-c-format
+msgid "Reference to label at %1 is outside block containing definition at %0"
+msgstr ""
+
+#: f/bad.def:467
+#, no-c-format
+msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+msgstr ""
+
+#: f/bad.def:470
+#, no-c-format
+msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+msgstr ""
+
+#: f/bad.def:473
+#, no-c-format
+msgid "Label definition at %0 invalid on this kind of statement"
+msgstr ""
+
+#: f/bad.def:476
+#, no-c-format
+msgid "Statement at %0 invalid in this context"
+msgstr ""
+
+#: f/bad.def:479
+#, no-c-format
+msgid "Statement at %0 invalid in context established by statement at %1"
+msgstr ""
+
+#: f/bad.def:482
+#, no-c-format
+msgid "Statement at %0 must specify construct name specified at %1"
+msgstr ""
+
+#: f/bad.def:485
+#, no-c-format
+msgid "Construct name at %0 superfluous, no construct name specified at %1"
+msgstr ""
+
+#: f/bad.def:488
+#, no-c-format
+msgid "Construct name at %0 not the same as construct name at %1"
+msgstr ""
+
+#: f/bad.def:491
+#, no-c-format
+msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+msgstr ""
+
+#: f/bad.def:494
+#, no-c-format
+msgid "Label definition missing at %0 for DO construct specifying label at %1"
+msgstr ""
+
+#: f/bad.def:497
+#, no-c-format
+msgid "Statement at %0 follows ELSE block for IF construct at %1"
+msgstr ""
+
+#: f/bad.def:500
+#, no-c-format
+msgid "No label definition for FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:503
+#, no-c-format
+msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+msgstr ""
+
+#: f/bad.def:506
+#, no-c-format
+msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+msgstr ""
+
+#: f/bad.def:509
+#, no-c-format
+msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+msgstr ""
+
+#: f/bad.def:512
+#, no-c-format
+msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+msgstr ""
+
+#: f/bad.def:515
+#, no-c-format
+msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+msgstr ""
+
+#: f/bad.def:518
+#, no-c-format
+msgid "Program unit name at %0 not the same as name at %1"
+msgstr ""
+
+#: f/bad.def:521
+#, no-c-format
+msgid "Type name at %0 not the same as name at %1"
+msgstr ""
+
+#: f/bad.def:524
+#, no-c-format
+msgid "End of source file before end of block started at %0"
+msgstr ""
+
+#: f/bad.def:527
+#, no-c-format
+msgid "Undefined label, first referenced at %0"
+msgstr ""
+
+#: f/bad.def:530
+#, no-c-format
+msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
+msgstr ""
+
+#: f/bad.def:533
+#, no-c-format
+msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
+msgstr ""
+
+#: f/bad.def:536
+#, no-c-format
+msgid "RETURN statement at %0 invalid within a main program unit"
+msgstr ""
+
+#: f/bad.def:539
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a main program unit"
+msgstr ""
+
+#: f/bad.def:542
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a function"
+msgstr ""
+
+#: f/bad.def:545
+#, no-c-format
+msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
+msgstr ""
+
+#: f/bad.def:548
+#, no-c-format
+msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+msgstr ""
+
+#: f/bad.def:551
+#, no-c-format
+msgid "No components specified as of %0 for derived-type definition beginning at %1"
+msgstr ""
+
+#: f/bad.def:554
+#, no-c-format
+msgid "No components specified as of %0 for structure definition beginning at %1"
+msgstr ""
+
+#: f/bad.def:557
+#, no-c-format
+msgid "Missing structure name for outer structure definition at %0"
+msgstr ""
+
+#: f/bad.def:560
+#, no-c-format
+msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+msgstr ""
+
+#: f/bad.def:563
+#, no-c-format
+msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+msgstr ""
+
+#: f/bad.def:566
+#, no-c-format
+msgid "No components specified as of %0 for map beginning at %1"
+msgstr ""
+
+#: f/bad.def:569
+#, no-c-format
+msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+msgstr ""
+
+#: f/bad.def:572
+#, no-c-format
+msgid "Missing %A specifier in statement at %0"
+msgstr ""
+
+#: f/bad.def:575
+#, no-c-format
+msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+msgstr ""
+
+#: f/bad.def:578
+#, no-c-format
+msgid "Conflicting I/O control specifications at %0 and %1"
+msgstr ""
+
+#: f/bad.def:581
+#, no-c-format
+msgid "No UNIT= specifier in I/O control list at %0"
+msgstr ""
+
+#: f/bad.def:584
+#, no-c-format
+msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+msgstr ""
+
+#: f/bad.def:587
+#, no-c-format
+msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+msgstr ""
+
+#: f/bad.def:595
+#, no-c-format
+msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+msgstr ""
+
+#: f/bad.def:598
+#, no-c-format
+msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+msgstr ""
+
+#: f/bad.def:601
+#, no-c-format
+msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+msgstr ""
+
+#: f/bad.def:604
+#, no-c-format
+msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+msgstr ""
+
+#: f/bad.def:617
+#, no-c-format
+msgid "Fortran 90 feature at %0 unsupported"
+msgstr ""
+
+#: f/bad.def:630
+#, no-c-format
+msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+msgstr ""
+
+#: f/bad.def:638
+#, no-c-format
+msgid "Null element at %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:641
+#, no-c-format
+msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:644
+#, no-c-format
+msgid "Too many elements as of %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:647
+#, no-c-format
+msgid "Missing colon as of %0 in substring reference for %1"
+msgstr ""
+
+#: f/bad.def:650
+#, no-c-format
+msgid "Invalid use at %0 of substring operator on %1"
+msgstr ""
+
+#: f/bad.def:653
+#, no-c-format
+msgid "Substring begin/end point at %0 out of defined range"
+msgstr ""
+
+#: f/bad.def:656
+#, no-c-format
+msgid "Array element value at %0 out of defined range"
+msgstr ""
+
+#: f/bad.def:659
+#, no-c-format
+msgid "Expression at %0 has incorrect data type or rank for its context"
+msgstr ""
+
+#: f/bad.def:662
+#, no-c-format
+msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+msgstr ""
+
+#: f/bad.def:665
+#, no-c-format
+msgid "%A step count known to be 0 (zero) at %0"
+msgstr ""
+
+#: f/bad.def:668
+#, no-c-format
+msgid "%A end value plus step count known to overflow at %0"
+msgstr ""
+
+#: f/bad.def:671
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+msgstr ""
+
+#: f/bad.def:674
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+msgstr ""
+
+#: f/bad.def:677
+#, no-c-format
+msgid "Type disagreement between expressions at %0 and %1"
+msgstr ""
+
+#: f/bad.def:690
+#, no-c-format
+msgid "No specification for implied-DO iterator `%A' at %0"
+msgstr ""
+
+#: f/bad.def:693
+#, no-c-format
+msgid "Gratuitous parentheses surround implied-DO construct at %0"
+msgstr ""
+
+#: f/bad.def:696
+#, no-c-format
+msgid "Zero-size specification invalid at %0"
+msgstr ""
+
+#: f/bad.def:699
+#, no-c-format
+msgid "Zero-size array at %0"
+msgstr ""
+
+#: f/bad.def:702
+#, no-c-format
+msgid "Target machine does not support complex entity of kind specified at %0"
+msgstr ""
+
+#: f/bad.def:705
+#, no-c-format
+msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
+msgstr ""
+
+#: f/bad.def:708
+#, no-c-format
+msgid "Attempt to raise constant zero to a power at %0"
+msgstr ""
+
+#: f/bad.def:806
+#, no-c-format
+msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
+msgstr ""
+
+#: f/bad.def:809
+#, no-c-format
+msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
+msgstr ""
+
+#: f/bad.def:812
+#, no-c-format
+msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
+msgstr ""
+
+#: f/bad.def:815
+#, no-c-format
+msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
+msgstr ""
+
+#: f/bad.def:818
+#, no-c-format
+msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
+msgstr ""
+
+#: f/bad.def:821
+#, no-c-format
+msgid "Unable to open INCLUDE file `%A' at %0"
+msgstr ""
+
+#: f/bad.def:839
+#, no-c-format
+msgid "Null argument at %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:842
+#, no-c-format
+msgid "Null argument at %0 for procedure invocation at %1"
+msgstr ""
+
+#: f/bad.def:845
+#, no-c-format
+msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:848
+#, no-c-format
+msgid "%A too many arguments as of %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:851
+#, no-c-format
+msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
+msgstr ""
+
+#: f/bad.def:854
+#, no-c-format
+msgid "Unsupported FORMAT specifier at %0"
+msgstr ""
+
+#: f/bad.def:857
+#, no-c-format
+msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
+msgstr ""
+
+#: f/bad.def:880
+#, no-c-format
+msgid "Unsupported VXT statement at %0"
+msgstr ""
+
+#: f/bad.def:883
+#, no-c-format
+msgid "Attempt to specify second initial value for `%A' at %0"
+msgstr ""
+
+#: f/bad.def:886
+#, no-c-format
+msgid "Too few initial values in list of initializers for `%A' at %0"
+msgstr ""
+
+#: f/bad.def:889
+#, no-c-format
+msgid "Too many initial values in list of initializers starting at %0"
+msgstr ""
+
+#: f/bad.def:892
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in statement at %0"
+msgstr ""
+
+#: f/bad.def:895
+#, no-c-format
+msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:898
+#, no-c-format
+msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:901
+#, no-c-format
+msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:904
+#, no-c-format
+msgid "Not an integer constant expression in implied do-loop in statement at %0"
+msgstr ""
+
+#: f/bad.def:907
+#, no-c-format
+msgid "Attempt to specify second initial value for element of `%A' at %0"
+msgstr ""
+
+#: f/bad.def:910
+#, no-c-format
+msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
+msgstr ""
+
+#: f/bad.def:913
+#, no-c-format
+msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+msgstr ""
+
+#: f/bad.def:916
+#, no-c-format
+msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+msgstr ""
+
+#: f/bad.def:919
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:922
+#, no-c-format
+msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:925
+#, no-c-format
+msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:928
+#, no-c-format
+msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
+msgstr ""
+
+#: f/bad.def:936
+#, no-c-format
+msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
+msgstr ""
+
+#: f/bad.def:939
+#, no-c-format
+msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:942
+#, no-c-format
+msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:945
+#, no-c-format
+msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
+msgstr ""
+
+#: f/bad.def:958
+#, no-c-format
+msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
+msgstr ""
+
+#: f/bad.def:976
+#, no-c-format
+msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
+msgstr ""
+
+#: f/bad.def:979
+#, no-c-format
+msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
+msgstr ""
+
+#: f/bad.def:987
+#, no-c-format
+msgid "Blank common initialized at %0"
+msgstr ""
+
+#: f/bad.def:990
+#, no-c-format
+msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
+msgstr ""
+
+#: f/bad.def:993
+#, no-c-format
+msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
+msgstr ""
+
+#: f/bad.def:996
+#, no-c-format
+msgid "Character `%A' (for example) is upper-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:999
+#, no-c-format
+msgid "Character `%A' (for example) is lower-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1002
+#, no-c-format
+msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1005
+#, no-c-format
+msgid "Initial character `%A' is lower-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1013
+#, no-c-format
+msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
+msgstr ""
+
+#: f/bad.def:1016
+#, no-c-format
+msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
+msgstr ""
+
+#: f/bad.def:1034
+#, no-c-format
+msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
+msgstr ""
+
+#: f/bad.def:1037
+#, no-c-format
+msgid "Truncating characters on right side of character constant at %0"
+msgstr ""
+
+#: f/bad.def:1040
+#, no-c-format
+msgid "Truncating characters on right side of hollerith constant at %0"
+msgstr ""
+
+#: f/bad.def:1043
+#, no-c-format
+msgid "Truncating non-zero data on left side of numeric constant at %0"
+msgstr ""
+
+#: f/bad.def:1046
+#, no-c-format
+msgid "Truncating non-zero data on left side of typeless constant at %0"
+msgstr ""
+
+#: f/bad.def:1049
+#, no-c-format
+msgid "Typeless constant at %0 too large"
+msgstr ""
+
+#: f/bad.def:1052
+#, no-c-format
+msgid "First-column ampersand continuation at %0"
+msgstr ""
+
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
+msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
+msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
+msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1073
+#, no-c-format
+msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1076
+#, no-c-format
+msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
+msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1085
+#, no-c-format
+msgid "Array `%A' at %0 is too large to handle"
+msgstr ""
+
+#: f/bad.def:1088
+#, no-c-format
+msgid "Statement function `%A' defined at %0 is not used"
+msgstr ""
+
+#: f/bad.def:1091
+#, no-c-format
+msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
+msgstr ""
+
+#: f/bad.def:1094
+#, no-c-format
+msgid "Internal compiler error -- cannot perform operation"
+msgstr ""
+
+#. Kind messages are used in diagnostic location reports of the
+#. form "<file>: In function `foo': <error message>".
+#: f/info-k.def:32
+msgid "In unknown kind"
+msgstr ""
+
+#: f/info-k.def:33
+msgid "In entity"
+msgstr ""
+
+#: f/info-k.def:34
+msgid "In function"
+msgstr ""
+
+#: f/info-k.def:35
+msgid "In subroutine"
+msgstr ""
+
+#: f/info-k.def:36
+msgid "In program"
+msgstr ""
+
+#: f/info-k.def:37
+msgid "In block-data unit"
+msgstr ""
+
+#: f/info-k.def:38
+msgid "In common block"
+msgstr ""
+
+#: f/info-k.def:39
+msgid "In construct"
+msgstr ""
+
+#: f/info-k.def:40
+msgid "In namelist"
+msgstr ""
+
+#: f/info-k.def:41
+msgid "In anything"
+msgstr ""
+
+#: java/check-init.c:917
+#, c-format
+msgid "internal error in check-init: tree code not implemented: %s"
+msgstr ""
+
+#: java/check-init.c:990
+#, c-format
+msgid "final field '%s' may not have been initialized"
+msgstr ""
+
+#: java/class.c:539 java/class.c:564
+msgid "internal error - too many interface type"
+msgstr ""
+
+#: java/class.c:677
+msgid "bad method signature"
+msgstr ""
+
+#: java/class.c:726
+msgid "misplaced ConstantValue attribute (not in any field)"
+msgstr ""
+
+#: java/class.c:728
+#, c-format
+msgid "duplicate ConstantValue attribute for field '%s'"
+msgstr ""
+
+#: java/class.c:739
+#, c-format
+msgid "ConstantValue attribute of field '%s' has wrong type"
+msgstr ""
+
+#: java/class.c:1103
+#, c-format
+msgid "field '%s' not found in class"
+msgstr ""
+
+#: java/class.c:1365
+msgid "abstract method in non-abstract class"
+msgstr ""
+
+#: java/class.c:2078
+#, c-format
+msgid "non-static method '%s' overrides static method"
+msgstr ""
+
+#: java/decl.c:1541
+#, c-format
+msgid "In %s: overlapped variable and exception ranges at %d"
+msgstr ""
+
+#: java/decl.c:1622
+msgid "bad type in parameter debug info"
+msgstr ""
+
+#: java/decl.c:1632
+#, c-format
+msgid "bad PC range for debug info for local `%s'"
+msgstr ""
+
+#: java/expr.c:530
+msgid "stack underflow - dup* operation"
+msgstr ""
+
+#: java/expr.c:1534
+#, c-format
+msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
+msgstr ""
+
+#: java/expr.c:1563
+#, c-format
+msgid "field `%s' not found"
+msgstr ""
+
+#: java/expr.c:1715
+msgid "ret instruction not implemented"
+msgstr ""
+
+#: java/expr.c:1857
+#, c-format
+msgid "method '%s' not found in class"
+msgstr ""
+
+#: java/expr.c:2060
+#, c-format
+msgid "failed to find class '%s'"
+msgstr ""
+
+#: java/expr.c:2070
+#, c-format
+msgid "class '%s' has no method named '%s' matching signature '%s'"
+msgstr ""
+
+#: java/expr.c:2080
+msgid "invokestatic on non static method"
+msgstr ""
+
+#: java/expr.c:2085
+msgid "invokestatic on abstract method"
+msgstr ""
+
+#: java/expr.c:2093
+msgid "invoke[non-static] on static method"
+msgstr ""
+
+#: java/expr.c:2396
+#, c-format
+msgid "missing field '%s' in '%s'"
+msgstr ""
+
+#: java/expr.c:2402
+#, c-format
+msgid "mismatching signature for field '%s' in '%s'"
+msgstr ""
+
+#: java/expr.c:2425
+#, c-format
+msgid "assignment to final field `%s' not in field's class"
+msgstr ""
+
+#: java/expr.c:2430
+#, c-format
+msgid "assignment to final static field `%s' not in class initializer"
+msgstr ""
+
+#: java/expr.c:2437
+#, c-format
+msgid "assignment to final field `%s' not in constructor"
+msgstr ""
+
+#: java/expr.c:2684
+#, c-format
+msgid "can't expand %s"
+msgstr ""
+
+#: java/expr.c:2861
+msgid "invalid PC in line number table"
+msgstr ""
+
+#. We've just reached the end of a region of dead code.
+#: java/expr.c:2906
+#, 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:2943
+#, c-format
+msgid "unreachable bytecode from %d to the end of the method"
+msgstr ""
+
+#. duplicate code from LOAD macro
+#: java/expr.c:3261
+msgid "unrecogized wide sub-instruction"
+msgstr ""
+
+#: java/jcf-io.c:543
+#, 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:338
+msgid "bad string constant"
+msgstr ""
+
+#: java/jcf-parse.c:356
+#, c-format
+msgid "bad value constant type %d, index %d"
+msgstr ""
+
+#: java/jcf-parse.c:528
+#, c-format
+msgid "can't reopen %s"
+msgstr ""
+
+#: java/jcf-parse.c:533
+#, c-format
+msgid "can't close %s"
+msgstr ""
+
+#: java/jcf-parse.c:619
+#, c-format
+msgid "cannot find file for class %s"
+msgstr ""
+
+#: java/jcf-parse.c:631
+msgid "not a valid Java .class file"
+msgstr ""
+
+#: java/jcf-parse.c:634
+msgid "error while parsing constant pool"
+msgstr ""
+
+#: java/jcf-parse.c:637
+#, c-format
+msgid "error in constant pool entry #%d\n"
+msgstr ""
+
+#. FIXME - where was first time
+#: java/jcf-parse.c:649
+#, c-format
+msgid "reading class %s for the second time from %s"
+msgstr ""
+
+#: java/jcf-parse.c:667
+msgid "error while parsing fields"
+msgstr ""
+
+#: java/jcf-parse.c:670
+msgid "error while parsing methods"
+msgstr ""
+
+#: java/jcf-parse.c:673
+msgid "error while parsing final attributes"
+msgstr ""
+
+#: java/jcf-parse.c:687
+#, c-format
+msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
+msgstr ""
+
+#: java/jcf-parse.c:777
+msgid "missing Code attribute"
+msgstr ""
+
+#: java/jcf-parse.c:1014
+msgid "source file seen twice on command line and will be compiled only once"
+msgstr ""
+
+#: java/jcf-parse.c:1030
+msgid "no input file specified"
+msgstr ""
+
+#: java/jcf-parse.c:1059
+#, c-format
+msgid "can't close input file %s"
+msgstr ""
+
+#: java/jcf-parse.c:1096
+#, c-format
+msgid "bad zip/jar file %s"
+msgstr ""
+
+#: java/jcf-write.c:2650
+#, c-format
+msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
+msgstr ""
+
+#: java/jcf-write.c:2988
+msgid "field initializer type mismatch"
+msgstr ""
+
+#: java/jcf-write.c:3419
+#, c-format
+msgid "can't create directory %s"
+msgstr ""
+
+#: java/jcf-write.c:3473
+#, c-format
+msgid "can't create %s"
+msgstr "Es ist nicht möglich %s zu erzeugen"
+
+#: java/jv-scan.c:187
+msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
+msgstr ""
+
+#: java/jv-scan.c:190
+#, c-format
+msgid "can't open output file `%s'"
+msgstr ""
+
+#: java/jv-scan.c:224
+#, c-format
+msgid "file not found `%s'"
+msgstr ""
+
+#: java/jvspec.c:426
+msgid "can't specify `-D' without `--main'\n"
+msgstr ""
+
+#: java/jvspec.c:429
+#, c-format
+msgid "`%s' is not a valid class name"
+msgstr "»%s« ist kein gültiger Klassenname"
+
+#: java/jvspec.c:435
+msgid "--resource requires -o"
+msgstr "--resource erfordert -o"
+
+#: java/jvspec.c:442
+msgid "warning: already-compiled .class files ignored with -C"
+msgstr ""
+
+#: java/jvspec.c:449
+msgid "cannot specify both -C and -o"
+msgstr "-C und -o können nicht zusammen angegeben werden"
+
+#: java/jvspec.c:461
+msgid "cannot create temporary file"
+msgstr "temporäre Datei konnte nicht angelegt werden"
+
+#: java/jvspec.c:489
+msgid "using both @FILE with multiple files not implemented"
+msgstr ""
+
+#: java/jvspec.c:538
+msgid "cannot specify `main' class when not linking"
+msgstr ""
+
+#: java/lang.c:544
+msgid "can't do dependency tracking with input from stdin"
+msgstr ""
+
+#: java/lang.c:560
+msgid "couldn't determine target name for dependency tracking"
+msgstr ""
+
+#: java/lex.c:303
+#, c-format
+msgid ""
+"unknown encoding: `%s'\n"
+"This might mean that your locale's encoding is not supported\n"
+"by your system's iconv(3) implementation. If you aren't trying\n"
+"to use a particular encoding for your input file, try the\n"
+"`--encoding=UTF-8' option"
+msgstr ""
+
+#: java/mangle.c:85
+#, c-format
+msgid "can't mangle %s"
+msgstr ""
+
+#: java/mangle_name.c:144 java/mangle_name.c:216
+msgid "internal error - invalid Utf8 name"
+msgstr ""
+
+#: ../../gcc/java/parse-scan.y:881 ../../gcc/java/parse.y:962
+#: ../../gcc/java/parse.y:1303 ../../gcc/java/parse.y:1364
+#: ../../gcc/java/parse.y:1574 ../../gcc/java/parse.y:1796
+#: ../../gcc/java/parse.y:1805 ../../gcc/java/parse.y:1816
+#: ../../gcc/java/parse.y:1827 ../../gcc/java/parse.y:1839
+#: ../../gcc/java/parse.y:1854 ../../gcc/java/parse.y:1871
+#: ../../gcc/java/parse.y:1873 ../../gcc/java/parse.y:1945
+#: ../../gcc/java/parse.y:2116 ../../gcc/java/parse.y:2178
+#: ../../gcc/java/parse.y:2330 ../../gcc/java/parse.y:2342
+#: ../../gcc/java/parse.y:2349 ../../gcc/java/parse.y:2356
+#: ../../gcc/java/parse.y:2367 ../../gcc/java/parse.y:2369
+#: ../../gcc/java/parse.y:2407 ../../gcc/java/parse.y:2409
+#: ../../gcc/java/parse.y:2411 ../../gcc/java/parse.y:2432
+#: ../../gcc/java/parse.y:2434 ../../gcc/java/parse.y:2436
+#: ../../gcc/java/parse.y:2452 ../../gcc/java/parse.y:2454
+#: ../../gcc/java/parse.y:2475 ../../gcc/java/parse.y:2477
+#: ../../gcc/java/parse.y:2479 ../../gcc/java/parse.y:2507
+#: ../../gcc/java/parse.y:2509 ../../gcc/java/parse.y:2511
+#: ../../gcc/java/parse.y:2513 ../../gcc/java/parse.y:2531
+#: ../../gcc/java/parse.y:2533 ../../gcc/java/parse.y:2544
+#: ../../gcc/java/parse.y:2555 ../../gcc/java/parse.y:2566
+#: ../../gcc/java/parse.y:2577 ../../gcc/java/parse.y:2588
+#: ../../gcc/java/parse.y:2601 ../../gcc/java/parse.y:2605
+#: ../../gcc/java/parse.y:2607 ../../gcc/java/parse.y:2620
+msgid "Missing term"
+msgstr ""
+
+#: ../../gcc/java/parse-scan.y:883 ../../gcc/java/parse.y:734
+#: ../../gcc/java/parse.y:772 ../../gcc/java/parse.y:797
+#: ../../gcc/java/parse.y:983 ../../gcc/java/parse.y:1338
+#: ../../gcc/java/parse.y:1550 ../../gcc/java/parse.y:1552
+#: ../../gcc/java/parse.y:1781 ../../gcc/java/parse.y:1807
+#: ../../gcc/java/parse.y:1818 ../../gcc/java/parse.y:1829
+#: ../../gcc/java/parse.y:1841 ../../gcc/java/parse.y:1856
+msgid "';' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:732 ../../gcc/java/parse.y:770
+msgid "Missing name"
+msgstr ""
+
+#: ../../gcc/java/parse.y:795
+msgid "'*' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:809
+msgid "Class or interface declaration expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:846 ../../gcc/java/parse.y:848
+msgid "Missing class name"
+msgstr ""
+
+#: ../../gcc/java/parse.y:851 ../../gcc/java/parse.y:855
+#: ../../gcc/java/parse.y:863 ../../gcc/java/parse.y:1023
+#: ../../gcc/java/parse.y:1284 ../../gcc/java/parse.y:1286
+#: ../../gcc/java/parse.y:1616 ../../gcc/java/parse.y:1867
+#: ../../gcc/java/parse.y:1899 ../../gcc/java/parse.y:1952
+msgid "'{' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:865
+msgid "Missing super class name"
+msgstr ""
+
+#: ../../gcc/java/parse.y:875 ../../gcc/java/parse.y:891
+msgid "Missing interface name"
+msgstr ""
+
+#: ../../gcc/java/parse.y:977
+msgid "Missing variable initializer"
+msgstr ""
+
+#: ../../gcc/java/parse.y:994
+msgid "Invalid declaration"
+msgstr ""
+
+#: ../../gcc/java/parse.y:997 ../../gcc/java/parse.y:1082
+#: ../../gcc/java/parse.y:2153 ../../gcc/java/parse.y:2175
+#: ../../gcc/java/parse.y:2179 ../../gcc/java/parse.y:2214
+#: ../../gcc/java/parse.y:2291 ../../gcc/java/parse.y:2301
+msgid "']' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1001
+msgid "Unbalanced ']'"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1037
+msgid "Invalid method declaration, method name required"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1042 ../../gcc/java/parse.y:1047
+#: ../../gcc/java/parse.y:1052 ../../gcc/java/parse.y:2036
+msgid "Identifier expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1057
+msgid "Invalid method declaration, return type required"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1080 ../../gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1537 ../../gcc/java/parse.y:1546
+#: ../../gcc/java/parse.y:1548 ../../gcc/java/parse.y:1576
+#: ../../gcc/java/parse.y:1684 ../../gcc/java/parse.y:1981
+#: ../../gcc/java/parse.y:2034
+msgid "')' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1096
+msgid "Missing formal parameter term"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1111 ../../gcc/java/parse.y:1116
+msgid "Missing identifier"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1136 ../../gcc/java/parse.y:1145
+msgid "Missing class type term"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1301
+msgid "Invalid interface type"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1494 ../../gcc/java/parse.y:1663
+#: ../../gcc/java/parse.y:1665
+msgid "':' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1516 ../../gcc/java/parse.y:1521
+#: ../../gcc/java/parse.y:1526
+msgid "Invalid expression statement"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1544 ../../gcc/java/parse.y:1572
+#: ../../gcc/java/parse.y:1612 ../../gcc/java/parse.y:1680
+#: ../../gcc/java/parse.y:1748 ../../gcc/java/parse.y:1869
+#: ../../gcc/java/parse.y:1938 ../../gcc/java/parse.y:2028
+#: ../../gcc/java/parse.y:2030 ../../gcc/java/parse.y:2038
+#: ../../gcc/java/parse.y:2274 ../../gcc/java/parse.y:2276
+msgid "'(' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1614
+msgid "Missing term or ')'"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1661
+msgid "Missing or invalid constant expression"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1682
+msgid "Missing term and ')' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1721
+msgid "Invalid control expression"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1723 ../../gcc/java/parse.y:1725
+msgid "Invalid update expression"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1750
+msgid "Invalid init statement"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1941
+msgid "Missing term or ')' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1983
+msgid "'class' or 'this' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:1985 ../../gcc/java/parse.y:1987
+msgid "'class' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2032
+msgid "')' or term expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2151
+msgid "'[' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2229
+msgid "Field expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2286 ../../gcc/java/parse.y:2296
+msgid "Missing term and ']' expected"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2400
+msgid "']' expected, invalid type expression"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2403
+msgid "Invalid type expression"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2515
+msgid "Invalid reference type"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2993
+msgid "Constructor invocation must be first thing in a constructor"
+msgstr ""
+
+#: ../../gcc/java/parse.y:2995
+msgid "Only constructors can invoke constructors"
+msgstr ""
+
+#: ../../gcc/java/parse.y:3004
+#, c-format
+msgid ": `%s' JDK1.1(TM) feature"
+msgstr ""
+
+#: ../../gcc/java/parse.y:3064 ../../gcc/java/parse.y:3066
+#, c-format
+msgid ""
+"%s.\n"
+"%s"
+msgstr ""
+
+#: ../../gcc/java/parse.y:6879
+#, c-format
+msgid "malformed .zip archive in CLASSPATH: %s"
+msgstr ""
+
+#: ../../gcc/java/parse.y:6950
+#, c-format
+msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives"
+msgstr ""
+
+#: ../../gcc/java/parse.y:12352
+#, c-format
+msgid "missing static field `%s'"
+msgstr ""
+
+#: ../../gcc/java/parse.y:12357
+#, c-format
+msgid "not a static field `%s'"
+msgstr ""
+
+#: ../../gcc/java/parse.y:12400
+#, c-format
+msgid "No case for %s"
+msgstr ""
+
+#: ../../gcc/java/parse.y:13365
+#, c-format
+msgid "unregistered operator %s"
+msgstr ""
+
+#: java/typeck.c:553
+msgid "junk at end of signature string"
+msgstr ""
+
+#: java/verify.c:479
+msgid "bad pc in exception_table"
+msgstr ""
+
+#: 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:1465 java/verify.c:1478 java/verify.c:1482
+#, c-format
+msgid "verification error at PC=%d"
+msgstr ""
+
+#: java/lang-options.h:32
+msgid "Disable automatic array bounds checking"
+msgstr ""
+
+#: java/lang-options.h:34
+msgid "Disable assignability checks for stores into object arrays"
+msgstr ""
+
+#: java/lang-options.h:36
+msgid "Assume native functions are implemented using JNI"
+msgstr ""
+
+#: java/lang-options.h:38
+msgid "Replace system path"
+msgstr ""
+
+#: java/lang-options.h:40
+msgid "Set class path"
+msgstr ""
+
+#: java/lang-options.h:42
+msgid "Set class path (deprecated: use --classpath instead)"
+msgstr ""
+
+#: java/lang-options.h:44
+msgid "Choose class whose main method should be used"
+msgstr ""
+
+#: java/lang-options.h:46
+msgid "Choose input encoding (default comes from locale)"
+msgstr ""
+
+#: java/lang-options.h:48
+msgid "Add directory to class path"
+msgstr ""
+
+#: java/lang-options.h:50
+msgid "Directory where class files should be written"
+msgstr ""
+
+#: java/lang-options.h:52
+msgid "Warn if modifiers are specified when not necessary"
+msgstr ""
+
+#: java/lang-options.h:54
+msgid "Warn if deprecated empty statements are found"
+msgstr ""
+
+#: java/lang-options.h:56
+msgid "Warn if .class files are out of date"
+msgstr ""
+
+#: java/lang-options.h:58
+msgid "Always check for non gcj generated classes archives"
+msgstr ""
+
+#: java/lang-options.h:60
+msgid "Never optimize static class initialization code"
+msgstr ""
+
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
+msgstr ""
+
+#: objc/objc-act.c:651
+#, c-format
+msgid "object does not conform to the `%s' protocol"
+msgstr ""
+
+#: 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:914
+#, c-format
+msgid "`%s' cannot be statically allocated"
+msgstr ""
+
+#: objc/objc-act.c:963
+#, c-format
+msgid "unexpected type for `id' (%s)"
+msgstr ""
+
+#: objc/objc-act.c:968
+msgid "undefined type `id', please import <objc/objc.h>"
+msgstr ""
+
+#: objc/objc-act.c:1019
+#, c-format
+msgid "protocol `%s' has circular dependency"
+msgstr ""
+
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
+#, c-format
+msgid "cannot find protocol declaration for `%s'"
+msgstr ""
+
+#: 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:1799
+#, c-format
+msgid "cannot find interface declaration for `%s'"
+msgstr ""
+
+#: objc/objc-act.c:1328
+#, c-format
+msgid "cannot find reference tag for class `%s'"
+msgstr ""
+
+#: 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:2366
+#, c-format
+msgid "class `%s' already exists"
+msgstr ""
+
+#. fatal did not work with 2 args...should fix
+#: objc/objc-act.c:2473
+#, c-format
+msgid "cannot find interface declaration for `%s', superclass of `%s'"
+msgstr ""
+
+#: objc/objc-act.c:2480
+#, c-format
+msgid "circular inheritance in interface declaration for `%s'"
+msgstr ""
+
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
+msgid "inconsistent instance variable specification"
+msgstr ""
+
+#: 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:4946
+#, c-format
+msgid "invalid receiver type `%s'"
+msgstr ""
+
+#: 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:4983 objc/objc-act.c:7318
+#, c-format
+msgid "no super class declared in interface for `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5081
+msgid "cannot find class (factory) method"
+msgstr ""
+
+#: 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:5099
+#, c-format
+msgid "method `%s' not implemented by protocol"
+msgstr ""
+
+#: objc/objc-act.c:5108
+msgid "return type defaults to id"
+msgstr ""
+
+#: 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
+#. an instance method. Following this assignment, the instance
+#. variables could be accessed. That practice, while safe,
+#. violates the simple rule that a class method should not refer
+#. 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:5443
+#, c-format
+msgid "instance variable `%s' accessed in class method"
+msgstr ""
+
+#: objc/objc-act.c:5678
+#, c-format
+msgid "duplicate definition of class method `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5684
+#, c-format
+msgid "duplicate declaration of class method `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5720
+#, c-format
+msgid "duplicate definition of instance method `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5726
+#, c-format
+msgid "duplicate declaration of instance method `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5766
+#, c-format
+msgid "duplicate interface declaration for category `%s(%s)'"
+msgstr ""
+
+#: objc/objc-act.c:5852
+#, c-format
+msgid "instance variable `%s' is declared private"
+msgstr ""
+
+#: objc/objc-act.c:5899
+#, c-format
+msgid "instance variable `%s' is declared %s"
+msgstr ""
+
+#: objc/objc-act.c:5909
+msgid "static access to object of type `id'"
+msgstr ""
+
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
+#, c-format
+msgid "incomplete implementation of class `%s'"
+msgstr ""
+
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
+#, c-format
+msgid "incomplete implementation of category `%s'"
+msgstr ""
+
+#: 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:6081
+#, c-format
+msgid "%s `%s' does not fully implement the `%s' protocol"
+msgstr "%s »%s« implementiert das »%s«-Protokoll nicht vollständig"
+
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
+msgid "`@end' missing in implementation context"
+msgstr ""
+
+#: objc/objc-act.c:6167
+#, c-format
+msgid "reimplementation of class `%s'"
+msgstr ""
+
+#: objc/objc-act.c:6209
+#, c-format
+msgid "conflicting super class name `%s'"
+msgstr ""
+
+#: objc/objc-act.c:6224
+#, c-format
+msgid "duplicate interface declaration for class `%s'"
+msgstr ""
+
+#: objc/objc-act.c:6506
+#, c-format
+msgid "duplicate declaration for protocol `%s'"
+msgstr ""
+
+#: objc/objc-act.c:7363
+msgid "[super ...] must appear in a method context"
+msgstr ""
+
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
+#, c-format
+msgid "potential selector conflict for method `%s'"
+msgstr ""
+
+#: objc-parse.y:2655
+msgid "`@end' must appear in an implementation context"
+msgstr ""
+
+#: objc-parse.y:2931
+msgid "method definition not in class context"
+msgstr ""
+
+#: objc/lang-options.h:27
+msgid "Dump decls to a .decl file"
+msgstr ""
+
+#: objc/lang-options.h:29
+msgid "Generate code for GNU runtime environment"
+msgstr "Code für die GNU-Laufzeitumgebung erzeugen"
+
+#: objc/lang-options.h:32
+msgid "Generate code for NeXT runtime environment"
+msgstr ""
+
+#: objc/lang-options.h:35
+msgid "Warn if a selector has multiple methods"
+msgstr ""
+
+#: objc/lang-options.h:39
+msgid "Do not warn if inherited methods are unimplemented"
+msgstr ""
+
+#: objc/lang-options.h:41
+msgid "Generate C header of platform specific features"
+msgstr "C-Header mit Plattform-spezifischen Merkmalen erzeugen"
+
+#: objc/lang-options.h:43
+msgid "Specify the name of the class for constant strings"
+msgstr ""
+
+#. 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 ""
+
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr ""
+
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr "-keep_private_externs ist mit -dynamiclib nicht erlaubt"
+
+#: config/darwin.h:229
+msgid "-private_bundle not allowed with -dynamiclib"
+msgstr "-private_bundle ist mit -dynamiclib nicht erlaubt"
+
+#: f/lang-specs.h:38 gcc.c:689
+msgid "GNU C does not support -C without using -E"
+msgstr "GNU C unterstützt nicht -C ohne -E"
+
+#: f/lang-specs.h:39 gcc.c:690
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C unterstützt nicht -CC ohne -E"
+
+#: config/ia64/freebsd.h:23 config/sparc/freebsd.h:33
+#: config/i386/freebsd-aout.h:213 config/rs6000/sysv4.h:1106
+#: config/alpha/freebsd.h:44
+msgid "`-p' not supported; use `-pg' and gprof(1)"
+msgstr "»-p« wird nicht unterstützt; verwenden Sie »-pg« und gprof(1)"
+
+#: 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 "-m32 und -m64 können nicht zusammen angegeben werden"
+
+#: config/vax/netbsd-elf.h:42
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr ""
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "Profiling wird mit -mg nicht unterstützt\n"
+
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "-pipe wird nicht unterstützt"
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr ""
+
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr ""
+
+#: config/i386/cygwin.h:115
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr ""
+
+#: config/i386/cygwin.h:171 config/i386/mingw32.h:85
+msgid "shared and mdll are not compatible"
+msgstr ""
+
+#: gcc.c:847
+msgid "-E required when input is from standard input"
+msgstr ""
+
+#: gcc.c:851
+msgid "compilation of header file requested"
+msgstr ""
+
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
+msgstr ""
+
+#: treelang/lang-specs.h:52
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr ""
+
+#: config/mcore/mcore.h:60
+msgid "choose either big or little endian, not both"
+msgstr ""
+
+#: config/mcore/mcore.h:63
+msgid "choose either m340 or m210 not both"
+msgstr ""
+
+#: config/mcore/mcore.h:64
+msgid "the m210 does not have little endian support"
+msgstr ""
+
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr ""
+
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr ""
+
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr ""
+
+#: config/mips/r3900.h:35
+msgid "-mhard-float not supported"
+msgstr ""
+
+#: config/mips/r3900.h:37
+msgid "-msingle-float and -msoft-float can not both be specified"
+msgstr ""
+
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr ""
+
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr ""
+
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
+msgid "-static not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
+msgid "-shared not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
+msgid "-symbolic not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:636
+msgid "-fpic is not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:637
+msgid "-fPIC is not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:669
+msgid "-fpic not valid with -mcoff"
+msgstr ""
+
+#: config/i386/sco5.h:670
+msgid "-fPIC not valid with -mcoff"
+msgstr ""
+
+#~ msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+#~ msgstr "Copyright © 2002 Free Software Foundation, Inc.\n"
+
+#~ msgid "I/O error on output"
+#~ msgstr "Ein-/Ausgabefehler bei der Ausgabe"
+
+#~ msgid ""
+#~ "internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "Interner Fehler in %s bei tradcpp.c:%d\n"
+#~ "Bitte senden Sie einen vollständigen Fehlerbericht\n"
+#~ "auf Englisch ein; Fehler in der deutschen Ãœbersetzung\n"
+#~ "sind an de@li.org zu melden.\n"
+#~ "Gehen Sie gemäß den Hinweisen in %s vor."
diff --git a/gcc/po/el.po b/gcc/po/el.po
index 0b432f328df..318e0fdd407 100644
--- a/gcc/po/el.po
+++ b/gcc/po/el.po
@@ -1,145 +1,67 @@
# Greek translation of gcc.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Simos Xenitellis <simos@hellug.gr>, 2001.
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Simos Xenitellis <simos@hellug.gr>, 2001, 2002.
#
msgid ""
msgstr ""
-"Project-Id-Version: gcc 3.1-b20011219\n"
-"POT-Creation-Date: 2002-01-22 19:38-0800\n"
-"PO-Revision-Date: 2001-12-20 17:19+0000\n"
+"Project-Id-Version: gcc 3.2\n"
+"POT-Creation-Date: 2002-12-30 18:56+0000\n"
+"PO-Revision-Date: 2002-08-18 15:46+0100\n"
"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-7\n"
"Content-Transfer-Encoding: 8bit\n"
-#: attribs.c:310
+#: attribs.c:185
#, c-format
msgid "`%s' attribute directive ignored"
msgstr ""
-#: attribs.c:318
+#: attribs.c:193
#, fuzzy, c-format
msgid "wrong number of arguments specified for `%s' attribute"
msgstr "ëÜèïò áñéèìüò ïñéóìÜôùí"
-#: attribs.c:335
+#: attribs.c:210
#, c-format
msgid "`%s' attribute does not apply to types"
msgstr ""
-#: attribs.c:372
+#: attribs.c:247
#, c-format
msgid "`%s' attribute only applies to function types"
msgstr ""
-#: attribs.c:462 attribs.c:484 attribs.c:506 attribs.c:537 attribs.c:559
-#: attribs.c:582 attribs.c:612 attribs.c:650 attribs.c:697 attribs.c:727
-#: attribs.c:757 attribs.c:780 attribs.c:1026 attribs.c:1082 attribs.c:1138
-#: attribs.c:1199 attribs.c:1225 attribs.c:1427 config/arm/arm.c:2012
-#: config/arm/arm.c:2039 config/avr/avr.c:4683 config/h8300/h8300.c:3045
-#: config/h8300/h8300.c:3070 config/i386/i386.c:1261 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:813
-#, fuzzy, c-format
-msgid "unknown machine mode `%s'"
-msgstr "Üãíùóôï óåô `%s'"
-
-#: attribs.c:816
-#, fuzzy, c-format
-msgid "no data type for mode `%s'"
-msgstr "äåí ïñßóôçêå âáñýôçôá ãéá ôï óýìâïëï `%s'"
-
-#: attribs.c:849
-msgid "section attribute cannot be specified for local variables"
-msgstr ""
-
-#: attribs.c:860
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr ""
-
-#: attribs.c:869
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr ""
-
-#: attribs.c:876
-#, fuzzy
-msgid "section attributes are not supported for this target"
-msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-
-#: attribs.c:918
-msgid "requested alignment is not a constant"
-msgstr ""
-
-#: attribs.c:923
-msgid "requested alignment is not a power of 2"
-msgstr ""
-
-#: attribs.c:928
-#, fuzzy
-msgid "requested alignment is too large"
-msgstr "ÊáêÞ áßôçóç ðáñáìÝôñùí"
-
-#: attribs.c:955
-#, fuzzy, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "ìüíï Ýíá üñéóìá ìðïñåß íá äçëùèåß"
-
-#: attribs.c:1000
-#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr ""
-
-#: attribs.c:1010
-msgid "alias arg not a string"
-msgstr ""
-
-#: attribs.c:1049 attribs.c:1105
-#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr ""
-
-#: attribs.c:1056 attribs.c:1112
-#, fuzzy, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-
-#: attribs.c:1196
-#, fuzzy, c-format
-msgid "`%s' attribute ignored for `%s'"
-msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-
-#: attribs.c:1253
-#, fuzzy, c-format
-msgid "invalid vector type for attribute `%s'"
-msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
-
-#: attribs.c:1276 attribs.c:1281
-msgid "no vector mode with the size and type specified could be found"
-msgstr ""
-
-#: builtins.c:282
+#: builtins.c:285
msgid "offset outside bounds of constant string"
msgstr ""
-#: builtins.c:759
+#: builtins.c:765
msgid "second arg to `__builtin_prefetch' must be a constant"
msgstr ""
-#: builtins.c:766
+#: builtins.c:772
msgid "invalid second arg to __builtin_prefetch; using zero"
msgstr ""
-#: builtins.c:773
+#: builtins.c:779
msgid "third arg to `__builtin_prefetch' must be a constant"
msgstr ""
-#: builtins.c:780
+#: builtins.c:786
msgid "invalid third arg to __builtin_prefetch; using zero"
msgstr ""
@@ -150,1297 +72,1464 @@ 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:2759
+#: builtins.c:2864
#, fuzzy
msgid "__builtin_saveregs not supported by this target"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: builtins.c:2801
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr ""
-#: builtins.c:2807
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
msgstr ""
-#: builtins.c:2813
+#: builtins.c:2918
#, fuzzy
msgid "missing argument in `__builtin_args_info'"
msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-#: builtins.c:2845
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
msgstr ""
-#: builtins.c:2864
+#: 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:2869
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr ""
-#: builtins.c:2973
+#: builtins.c:3059
#, fuzzy
msgid "too many arguments to function `va_start'"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: builtins.c:3057
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
msgstr ""
-#: builtins.c:3085
+#. 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:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
msgstr ""
-#: builtins.c:3089
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
msgstr ""
-#: builtins.c:3213
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
msgstr ""
-#: builtins.c:3215
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
msgstr ""
-#: builtins.c:3229
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
msgstr ""
-#: builtins.c:3231
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
msgstr ""
-#: builtins.c:3399
+#: builtins.c:3515
msgid "second arg to `__builtin_expect' must be a constant"
msgstr ""
-#: builtins.c:3868
+#: builtins.c:4010
msgid "__builtin_longjmp second argument must be 1"
msgstr ""
-#: builtins.c:3882
-#, fuzzy
-msgid "__builtin_trap not supported by this target"
-msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-
#. just do library call, if unknown builtin
-#: builtins.c:3947 c-common.c:3685
+#: builtins.c:4074 c-common.c:4437
#, c-format
msgid "built-in function `%s' not currently supported"
msgstr ""
-#: c-common.c:550
-#, 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:590
-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:659
+#: 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:707 ch/decl.c:4100
+#: 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:728
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr ""
-#: c-common.c:737
+#: c-common.c:1368
#, fuzzy
msgid "floating point overflow in expression"
msgstr "Åîáßñåóç êéíçôÞò õðïäéáóôïëÞò"
+#: c-common.c:1374
+#, fuzzy
+msgid "vector overflow in expression"
+msgstr "Åîáßñåóç êéíçôÞò õðïäéáóôïëÞò"
+
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:758
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr ""
-#: c-common.c:760
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr ""
-#: c-common.c:807
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr ""
-#: c-common.c:955
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
msgstr ""
-#: c-common.c:1246
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr ""
-#: c-common.c:1279 ch/actions.c:1027
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr ""
-#: c-common.c:1577
+#: c-common.c:2223
#, fuzzy
msgid "invalid truth-value expression"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: c-common.c:1628
+#: c-common.c:2274
#, fuzzy, c-format
msgid "invalid operands to binary %s"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: c-common.c:1863 c-common.c:1872
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
msgstr ""
-#: c-common.c:1865 c-common.c:1874
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
msgstr ""
-#: c-common.c:1940
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr ""
-#: c-common.c:1949
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr ""
-#: c-common.c:2000 f/com.c:14814
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr ""
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr ""
+
+#: c-common.c:2648
+msgid "pointer to member function used in arithmetic"
+msgstr ""
+
+#: c-common.c:2654
+msgid "pointer to a member used in arithmetic"
+msgstr ""
+
+#: c-common.c:2741 f/com.c:14690
msgid "struct type value used where scalar is required"
msgstr ""
-#: c-common.c:2004 f/com.c:14818
+#: c-common.c:2745 f/com.c:14694
msgid "union type value used where scalar is required"
msgstr ""
-#: c-common.c:2008 f/com.c:14822
+#: c-common.c:2749 f/com.c:14698
msgid "array type value used where scalar is required"
msgstr ""
-#: c-common.c:2123 f/com.c:14948
+#: c-common.c:2869 f/com.c:14831
msgid "suggest parentheses around assignment used as truth value"
msgstr ""
-#: c-common.c:2167 c-common.c:2199
+#: c-common.c:2913 c-common.c:2945
#, fuzzy
msgid "invalid use of `restrict'"
msgstr "ìç Ýãêõñïò áñéèìüò áðü ãñáììÝò"
-#: c-common.c:2315
-msgid "__alignof__ applied to an incomplete type"
-msgstr ""
+#: c-common.c:3059
+#, fuzzy
+msgid "invalid application of `sizeof' to a function type"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: c-common.c:3069
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
+
+#: c-common.c:3075
+#, fuzzy, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "ìç Ýãêõñïò äåýôåñïò ôåëåóôÞò óå êáôÜóôáóç óõìâáôüôçôáò `%s'"
-#: c-common.c:2341
+#: c-common.c:3116
msgid "`__alignof' applied to a bit-field"
msgstr ""
-#: c-common.c:2783
+#: c-common.c:3596
#, fuzzy, c-format
msgid "cannot disable built-in function `%s'"
msgstr "áäõíáìßá åêôÝëåóçò ioctl óôï `%s'"
-#: c-common.c:3064 c-typeck.c:1774
+#: c-common.c:3765 c-typeck.c:1734
#, fuzzy, c-format
msgid "too few arguments to function `%s'"
msgstr "Ðñïåéäïðïßçóç: Ðïëý ëßãá ïñßóìáôá óôï åóùäïìçìÝíï `%s'"
-#: c-common.c:3070 c-typeck.c:1627
+#: c-common.c:3771 c-typeck.c:1587
#, fuzzy, c-format
msgid "too many arguments to function `%s'"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: c-common.c:3258
+#: c-common.c:3790
+#, fuzzy, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#: c-common.c:4059
msgid "pointers are not permitted as case values"
msgstr ""
-#: c-common.c:3264
+#: c-common.c:4065
msgid "ISO C++ forbids range expressions in switch statements"
msgstr ""
-#: c-common.c:3266
+#: c-common.c:4067
msgid "ISO C forbids range expressions in switch statements"
msgstr ""
-#: c-common.c:3296
+#: c-common.c:4097
#, fuzzy
msgid "empty range specified"
msgstr "ìç ïñéóìÝíï"
-#: c-common.c:3347
+#: c-common.c:4148
msgid "duplicate (or overlapping) case value"
msgstr ""
-#: c-common.c:3349
+#: c-common.c:4150
#, fuzzy
msgid "this is the first entry overlapping that value"
msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-#: c-common.c:3353 ch/actions.c:1125
+#: c-common.c:4154
#, fuzzy
msgid "duplicate case value"
msgstr "äéðëüò áñéèìüò ìçíýìáôïò"
-#: c-common.c:3354
+#: c-common.c:4155
msgid "previously used here"
msgstr ""
-#: c-common.c:3358
+#: c-common.c:4159
msgid "multiple default labels in one switch"
msgstr ""
-#: c-common.c:3359
+#: c-common.c:4160
#, fuzzy
msgid "this is the first default label"
msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-#: c-common.c:3387
+#: c-common.c:4188
msgid "ISO C++ forbids taking the address of a label"
msgstr ""
-#: c-common.c:3389
+#: c-common.c:4190
msgid "ISO C forbids taking the address of a label"
msgstr ""
-#: c-common.c:4023
-msgid "-Wformat-y2k ignored without -Wformat"
+#: c-common.c:5213
+#, c-format
+msgid "declaration of `%s' shadows %s"
msgstr ""
-#: c-common.c:4025
-msgid "-Wformat-extra-args ignored without -Wformat"
+#: c-common.c:5629
+#, fuzzy, c-format
+msgid "unknown machine mode `%s'"
+msgstr "Üãíùóôï óåô `%s'"
+
+#: c-common.c:5632
+#, fuzzy, c-format
+msgid "no data type for mode `%s'"
+msgstr "äåí ïñßóôçêå âáñýôçôá ãéá ôï óýìâïëï `%s'"
+
+#: c-common.c:5641 c-common.c:6242
+#, fuzzy, c-format
+msgid "unable to emulate '%s'"
+msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
+
+#: c-common.c:5677
+msgid "section attribute cannot be specified for local variables"
msgstr ""
-#: c-common.c:4027
-msgid "-Wformat-nonliteral ignored without -Wformat"
+#: c-common.c:5688
+#, c-format
+msgid "section of `%s' conflicts with previous declaration"
msgstr ""
-#: c-common.c:4029
-msgid "-Wformat-security ignored without -Wformat"
+#: c-common.c:5697
+#, c-format
+msgid "section attribute not allowed for `%s'"
msgstr ""
-#: c-common.c:4031
-msgid "-Wmissing-format-attribute ignored without -Wformat"
+#: c-common.c:5704
+#, fuzzy
+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:4122
+#: c-common.c:5751
+msgid "requested alignment is not a power of 2"
+msgstr ""
+
+#: c-common.c:5756
+#, fuzzy
+msgid "requested alignment is too large"
+msgstr "ÊáêÞ áßôçóç ðáñáìÝôñùí"
+
+#: c-common.c:5783
+#, fuzzy, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "ìüíï Ýíá üñéóìá ìðïñåß íá äçëùèåß"
+
+#: c-common.c:5828
#, c-format
-msgid "declaration of `%s' shadows %s"
+msgid "`%s' defined both normally and as an alias"
msgstr ""
-#: c-convert.c:78 c-typeck.c:1031 c-typeck.c:4139 ch/convert.c:1164
-#: cp/typeck.c:1728 cp/typeck.c:6288
-msgid "void value not ignored as it ought to be"
+#: c-common.c:5838
+msgid "alias arg not a string"
msgstr ""
-#: c-convert.c:110 java/typeck.c:150
-msgid "conversion to non-scalar type requested"
+#: c-common.c:5885
+msgid "visibility arg not a string"
msgstr ""
-#: c-decl.c:470
-msgid "-traditional is deprecated and may be removed"
+#: 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-decl.c:560
+#: c-common.c:5969 c-common.c:6025
#, fuzzy, c-format
-msgid "unknown C standard `%s'"
-msgstr "Üãíùóôï óåô `%s'"
+msgid "can't set `%s' attribute after definition"
+msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
+
+#: c-common.c:6109
+#, fuzzy, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
+
+#: c-common.c:6174
+#, fuzzy, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
-#: c-decl.c:842
+#: 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:1018
+#: c-decl.c:522
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr ""
-#: c-decl.c:1021
+#: c-decl.c:525
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr ""
-#: c-decl.c:1024
+#: c-decl.c:528
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr ""
-#: c-decl.c:1138 c-decl.c:1279 ch/decl.c:2920 java/decl.c:1373
+#: 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:1144 c-decl.c:1286 ch/decl.c:2926 java/decl.c:1379
+#: 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:1403 cp/decl.c:3138
+#: c-decl.c:889 cp/decl.c:3058
#, c-format
msgid "function `%s' redeclared as inline"
msgstr ""
-#: c-decl.c:1405 cp/decl.c:3140
+#: c-decl.c:891 cp/decl.c:3060
#, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr ""
-#: c-decl.c:1412 cp/decl.c:3147
+#: c-decl.c:898 cp/decl.c:3067
#, c-format
msgid "function `%s' redeclared with attribute noinline"
msgstr ""
-#: c-decl.c:1414 cp/decl.c:3149
+#: c-decl.c:900 cp/decl.c:3069
#, c-format
msgid "previous declaration of function `%s' was inline"
msgstr ""
-#: c-decl.c:1443 c-decl.c:1496
+#: c-decl.c:929 c-decl.c:975
#, c-format
msgid "shadowing built-in function `%s'"
msgstr ""
-#: c-decl.c:1445
+#: c-decl.c:931
#, c-format
msgid "shadowing library function `%s'"
msgstr ""
-#: c-decl.c:1451
+#: c-decl.c:937
#, c-format
msgid "library function `%s' declared as non-function"
msgstr ""
-#: c-decl.c:1455 c-decl.c:1458
+#: c-decl.c:941 c-decl.c:944
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr ""
-#: c-decl.c:1462 objc/objc-act.c:2334 objc/objc-act.c:6036
+#: 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:1463 c-decl.c:1645 c-decl.c:1794 objc/objc-act.c:2336
-#: objc/objc-act.c:6038 objc/objc-act.c:6093
+#: 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:1549
+#: c-decl.c:1044
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr ""
-#: c-decl.c:1592 c-decl.c:1611
+#: c-decl.c:1087 c-decl.c:1106
#, fuzzy, c-format
msgid "conflicting types for `%s'"
msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
-#: c-decl.c:1634
+#: c-decl.c:1129
msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
msgstr ""
-#: c-decl.c:1640
+#: 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:1655 c-decl.c:1677
+#: 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
#, fuzzy, c-format
msgid "redefinition of `%s'"
msgstr "êáíÝíáò ïñéóìüò ôïõ `UNDEFINED'"
-#: c-decl.c:1658
+#: c-decl.c:1167
#, fuzzy, c-format
msgid "redeclaration of `%s'"
msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
-#: c-decl.c:1661
+#: c-decl.c:1170
#, c-format
msgid "conflicting declarations of `%s'"
msgstr ""
-#: c-decl.c:1670 c-decl.c:1682
-#, fuzzy, c-format
-msgid "`%s' previously defined here"
-msgstr "Äåí õðÜñ÷åé ðñïçãïýìåíç êáíïíéêÞ Ýêöñáóç"
-
-#: c-decl.c:1671 c-decl.c:1683
-#, fuzzy, c-format
-msgid "`%s' previously declared here"
-msgstr "Äåí õðÜñ÷åé ðñïçãïýìåíç êáíïíéêÞ Ýêöñáóç"
-
-#: c-decl.c:1704
+#: c-decl.c:1214
#, c-format
msgid "prototype for `%s' follows"
msgstr ""
-#: c-decl.c:1705 c-decl.c:1713 c-decl.c:1729
+#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234
msgid "non-prototype definition here"
msgstr ""
-#: c-decl.c:1712
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr ""
-#: c-decl.c:1727
+#: c-decl.c:1232
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr ""
-#: c-decl.c:1745
+#: c-decl.c:1250
#, c-format
msgid "`%s' declared inline after being called"
msgstr ""
-#: c-decl.c:1751
+#: c-decl.c:1256
#, fuzzy, c-format
msgid "`%s' declared inline after its definition"
msgstr "%s: äéðëüò ïñéóìüò Ýêäïóçò êáôçãïñßáò"
-#: c-decl.c:1758
+#: c-decl.c:1263
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr ""
-#: c-decl.c:1766
+#: c-decl.c:1271
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr ""
-#: c-decl.c:1773
+#: c-decl.c:1278
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr ""
-#: c-decl.c:1780
+#: c-decl.c:1285
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr ""
-#: c-decl.c:1793
+#: c-decl.c:1298
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr ""
-#: c-decl.c:2097 java/decl.c:1072
+#: c-decl.c:1599 java/decl.c:1098
#, c-format
msgid "declaration of `%s' shadows a parameter"
msgstr ""
-#: c-decl.c:2100 java/decl.c:1075
+#: 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:2121 cp/decl.c:4220
+#: c-decl.c:1623 cp/decl.c:4176
#, fuzzy
msgid "a parameter"
msgstr "êáêü üñéóìá"
-#: c-decl.c:2123 cp/decl.c:4237
+#: c-decl.c:1625 cp/decl.c:4193
msgid "a previous local"
msgstr ""
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2127 cp/decl.c:4241
+#: c-decl.c:1629 cp/decl.c:4197
msgid "a global declaration"
msgstr ""
-#: c-decl.c:2171
+#: c-decl.c:1673
#, c-format
msgid "nested extern declaration of `%s'"
msgstr ""
-#: c-decl.c:2191 java/decl.c:1025
+#: c-decl.c:1692 java/decl.c:1051
#, c-format
msgid "`%s' used prior to declaration"
msgstr ""
-#: c-decl.c:2206 c-decl.c:2421
+#: c-decl.c:1706 c-decl.c:1881
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr ""
-#: c-decl.c:2316 cp/decl.c:4079
+#: c-decl.c:1809 cp/decl.c:4035
msgid "type mismatch with previous external decl"
msgstr ""
-#: c-decl.c:2317
+#: c-decl.c:1810
#, c-format
msgid "previous external decl of `%s'"
msgstr ""
-#: c-decl.c:2330
+#: c-decl.c:1823
msgid "type mismatch with previous implicit declaration"
msgstr "óöÜëìá ôáéñéÜóìáôïò ôýðïõ ìå ðñïçãïýìåíç áõôïíüçôç äéáêýñçîç"
-#: c-decl.c:2332
+#: c-decl.c:1825
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "ðñïçãïýìåíç áõôïíüçôç äéáêýñçîç ôïõ `%s'"
-#: c-decl.c:2349
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr ""
-
-#: c-decl.c:2400
+#: c-decl.c:1860
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr ""
-#: c-decl.c:2425
+#: c-decl.c:1885
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr ""
-#: c-decl.c:2449
+#: c-decl.c:1909
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr ""
-#: c-decl.c:2491
+#: c-decl.c:1951
#, c-format
msgid "`%s' locally external but globally static"
msgstr ""
-#: c-decl.c:2613
+#: c-decl.c:2073
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr ""
-#: c-decl.c:2633 c-decl.c:2635
+#: c-decl.c:2093 c-decl.c:2095
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "áõôïíüçôç äéáêýñçîç ôçò óõíÜñôçóçò `%s'"
-#: c-decl.c:2723
+#: c-decl.c:2174
#, c-format
msgid "label %s referenced outside of any function"
msgstr ""
-#: c-decl.c:2780
+#: c-decl.c:2231
#, fuzzy, c-format
msgid "duplicate label declaration `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: c-decl.c:2783
+#: c-decl.c:2234
#, fuzzy
msgid "this is a previous declaration"
msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-#: c-decl.c:3291
+#: c-decl.c:2657
msgid "unnamed struct/union that defines no instances"
msgstr ""
-#: c-decl.c:3310
+#: c-decl.c:2676
msgid "useless keyword or type name in empty declaration"
msgstr ""
-#: c-decl.c:3317
+#: c-decl.c:2683
msgid "two types specified in one empty declaration"
msgstr ""
-#: c-decl.c:3322 c-parse.y:725 c-parse.y:727 objc-parse.y:761 objc-parse.y:763
-#: objc-parse.y:2987 parse.y:728 parse.y:1808
+#: 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
#, fuzzy
msgid "empty declaration"
msgstr "êåíü áëöáñéèìçôéêü"
-#: c-decl.c:3352
-msgid "ISO C89 does not support `static' or type qualifiers in parameter array declarators"
+#: c-decl.c:2718
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
msgstr ""
-#: c-decl.c:3354
-msgid "ISO C89 does not support `[*]' array declarators"
+#: c-decl.c:2720
+msgid "ISO C90 does not support `[*]' array declarators"
msgstr ""
-#: c-decl.c:3357
+#: c-decl.c:2723
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr ""
-#: c-decl.c:3376
+#: c-decl.c:2742
msgid "static or type qualifiers in abstract declarator"
msgstr ""
-#: c-decl.c:3450
+#: c-decl.c:2816
#, c-format
msgid "`%s' is usually a function"
msgstr ""
-#: c-decl.c:3464
+#: c-decl.c:2825
#, c-format
-msgid "typedef `%s' is initialized"
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
msgstr ""
-#: c-decl.c:3471
+#: 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:3478
+#: c-decl.c:2838
#, c-format
msgid "parameter `%s' is initialized"
msgstr ""
-#: c-decl.c:3498 c-typeck.c:4907
+#: c-decl.c:2858 c-typeck.c:4854
msgid "variable-sized object may not be initialized"
msgstr ""
-#: c-decl.c:3504
+#: c-decl.c:2864
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr ""
-#: c-decl.c:3510
+#: c-decl.c:2870
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr ""
-#: c-decl.c:3523
+#: c-decl.c:2883
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
msgstr ""
-#: c-decl.c:3558 c-decl.c:6198 cp/decl.c:7264 cp/decl.c:13533
+#: 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:3639
+#: c-decl.c:3006
#, c-format
msgid "initializer fails to determine size of `%s'"
msgstr ""
-#: c-decl.c:3644
+#: c-decl.c:3011
#, fuzzy, c-format
msgid "array size missing in `%s'"
msgstr "óöÜëìá êáôÜ ôï êëåßóéìï ôçò åéóüäïõ `%s'"
-#: c-decl.c:3660
+#: c-decl.c:3027
#, c-format
msgid "zero or negative size array `%s'"
msgstr ""
-#: c-decl.c:3688 ch/decl.c:4133
+#: c-decl.c:3055
#, fuzzy, c-format
msgid "storage size of `%s' isn't known"
msgstr "Ôï üíïìá `%s' åßíáé Üãíùóôï\n"
-#: c-decl.c:3698
+#: c-decl.c:3065
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr ""
-#: c-decl.c:3757
+#: c-decl.c:3125
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr ""
-#: c-decl.c:3832
+#: c-decl.c:3190
#, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr ""
-#: c-decl.c:4136 cp/decl.c:10069
+#: c-decl.c:3535 cp/decl.c:10433
msgid "`long long long' is too long for GCC"
msgstr ""
-#: c-decl.c:4141
-msgid "ISO C89 does not support `long long'"
-msgstr ""
+#: c-decl.c:3540
+#, fuzzy
+msgid "ISO C90 does not support `long long'"
+msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-#: c-decl.c:4146 cp/decl.c:10074
+#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438
#, fuzzy, c-format
msgid "duplicate `%s'"
msgstr "äéðëü êëåéäß"
-#: c-decl.c:4152 cp/decl.c:10098
+#: 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:4167 cp/decl.c:10103
+#: 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:4206
+#: c-decl.c:3631
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr ""
-#: c-decl.c:4235
+#: c-decl.c:3660
#, c-format
msgid "both long and short specified for `%s'"
msgstr ""
-#: c-decl.c:4239 cp/decl.c:10217
+#: c-decl.c:3664 cp/decl.c:10594
#, c-format
msgid "long or short specified with char for `%s'"
msgstr ""
-#: c-decl.c:4246 cp/decl.c:10221
+#: c-decl.c:3671 cp/decl.c:10598
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr ""
-#: c-decl.c:4249
+#: c-decl.c:3674
msgid "the only valid combination is `long double'"
msgstr ""
-#: c-decl.c:4255
+#: c-decl.c:3680
#, fuzzy, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "ìç Ýãêõñïò äçëùôÞò ðåäßïõ: `%s'"
-#: c-decl.c:4257 cp/decl.c:10210
+#: c-decl.c:3682 cp/decl.c:10587
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr ""
-#: c-decl.c:4263 cp/decl.c:10230
+#: c-decl.c:3688 cp/decl.c:10607
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr ""
-#: c-decl.c:4282 cp/decl.c:10251
+#: c-decl.c:3706 cp/decl.c:10628
#, fuzzy, c-format
msgid "complex invalid for `%s'"
msgstr "Ìç Ýãêõñç ðñïôåñáéüôçôá `%s'"
-#: c-decl.c:4327
-msgid "ISO C89 does not support complex types"
-msgstr ""
+#: c-decl.c:3748
+#, fuzzy
+msgid "ISO C90 does not support complex types"
+msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-#: c-decl.c:4339
+#: c-decl.c:3760
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr ""
-#: c-decl.c:4345 c-decl.c:4357
+#: c-decl.c:3766 c-decl.c:3778
msgid "ISO C does not support complex integer types"
msgstr ""
-#: c-decl.c:4372 c-decl.c:4811 cp/decl.c:10853
+#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241
#, fuzzy
msgid "duplicate `const'"
msgstr "äéðëü êëåéäß"
-#: c-decl.c:4374 c-decl.c:4815 cp/decl.c:10857
+#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245
#, fuzzy
msgid "duplicate `restrict'"
msgstr "äéðëü êëåéäß"
-#: c-decl.c:4376 c-decl.c:4813 cp/decl.c:10855
+#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243
#, fuzzy
msgid "duplicate `volatile'"
msgstr "äéðëü êëåéäß"
-#: c-decl.c:4398 cp/decl.c:10402
+#: c-decl.c:3825 cp/decl.c:10791
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr ""
-#: c-decl.c:4407
+#: c-decl.c:3835
msgid "function definition declared `auto'"
msgstr ""
-#: c-decl.c:4409
+#: c-decl.c:3837
msgid "function definition declared `register'"
msgstr ""
-#: c-decl.c:4411
+#: c-decl.c:3839
msgid "function definition declared `typedef'"
msgstr ""
-#: c-decl.c:4424
+#: 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:4428 cp/decl.c:10449
+#: c-decl.c:3858 cp/decl.c:10838
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr ""
-#: c-decl.c:4431 cp/decl.c:10451
+#: c-decl.c:3861 cp/decl.c:10840
msgid "storage class specified for typename"
msgstr ""
-#: c-decl.c:4443 cp/decl.c:10465
+#: c-decl.c:3873 cp/decl.c:10855
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr ""
-#: c-decl.c:4445 cp/decl.c:10468
+#: c-decl.c:3875 cp/decl.c:10858
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr ""
-#: c-decl.c:4449 cp/decl.c:10472
+#: 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:4452 cp/decl.c:10476
+#: 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:4487 c-decl.c:4676
+#: c-decl.c:3930 c-decl.c:4118
msgid "static or type qualifiers in non-parameter array declarator"
msgstr ""
-#: c-decl.c:4531
+#: c-decl.c:3974
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr ""
-#: c-decl.c:4537
+#: c-decl.c:3980
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr ""
-#: c-decl.c:4558
+#: c-decl.c:3985 c-decl.c:5250
+#, fuzzy
+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:4563
+#: c-decl.c:4009
#, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr ""
-#: c-decl.c:4570
+#: c-decl.c:4016
#, c-format
msgid "size of array `%s' is negative"
msgstr ""
-#: c-decl.c:4583
+#: 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:4586
+#: 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:4616 c-decl.c:4837 cp/decl.c:11074
+#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450
#, fuzzy, c-format
msgid "size of array `%s' is too large"
msgstr "Ï êáôÜëïãïò `%s' äåí åßíáé ðñïóéôüò."
-#: c-decl.c:4633
-msgid "ISO C89 does not support flexible array members"
-msgstr ""
+#: c-decl.c:4075
+#, fuzzy
+msgid "ISO C90 does not support flexible array members"
+msgstr "ìç Ýãêõñç þñá ôçò ìÝñáò"
-#: c-decl.c:4643
+#: c-decl.c:4085
msgid "array type has incomplete element type"
msgstr ""
-#: c-decl.c:4650 c-decl.c:4887
+#: c-decl.c:4092 c-decl.c:4322
msgid "ISO C forbids const or volatile function types"
msgstr ""
-#: c-decl.c:4696 cp/decl.c:10613
+#: c-decl.c:4138 cp/decl.c:10998
#, c-format
msgid "`%s' declared as function returning a function"
msgstr ""
-#: c-decl.c:4701 cp/decl.c:10618
+#: c-decl.c:4143 cp/decl.c:11003
#, c-format
msgid "`%s' declared as function returning an array"
msgstr ""
-#: c-decl.c:4736
+#: c-decl.c:4171
msgid "ISO C forbids qualified void function return type"
msgstr ""
-#: c-decl.c:4740
+#: c-decl.c:4175
msgid "type qualifiers ignored on function return type"
msgstr ""
-#: c-decl.c:4769 c-decl.c:4852 c-decl.c:4976 c-decl.c:5070
+#: 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:4809 cp/decl.c:10849
+#: c-decl.c:4244 cp/decl.c:11237
msgid "invalid type modifier within pointer declarator"
msgstr ""
-#: c-decl.c:4907 cp/decl.c:11357
+#: c-decl.c:4342 cp/decl.c:11732
#, c-format
msgid "variable or field `%s' declared void"
msgstr ""
-#: c-decl.c:4940
+#: c-decl.c:4375
msgid "attributes in parameter array declarator ignored"
msgstr ""
-#: c-decl.c:4965
+#: c-decl.c:4400
msgid "invalid type modifier within array declarator"
msgstr ""
-#: c-decl.c:5014
+#: c-decl.c:4445
#, c-format
msgid "field `%s' declared as a function"
msgstr ""
-#: c-decl.c:5020
+#: c-decl.c:4451
#, c-format
msgid "field `%s' has incomplete type"
msgstr ""
-#: c-decl.c:5052 c-decl.c:5054 c-decl.c:5061
+#: c-decl.c:4483 c-decl.c:4485 c-decl.c:4487 c-decl.c:4494
#, fuzzy, c-format
msgid "invalid storage class for function `%s'"
msgstr "ìç Ýãêõñç ôÜîç ÷áñáêôÞñùí `%s'"
-#: c-decl.c:5076
+#: c-decl.c:4509
msgid "`noreturn' function returns non-void value"
msgstr ""
-#: c-decl.c:5088
+#: c-decl.c:4524
#, fuzzy
msgid "cannot inline function `main'"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï áñ÷åßï fifo `%s'"
-#: c-decl.c:5141
+#: c-decl.c:4577
#, c-format
msgid "variable `%s' declared `inline'"
msgstr ""
-#: c-decl.c:5214 c-decl.c:6250
+#. 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
+#, fuzzy
+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:5220
+#: c-decl.c:4666
msgid "parameter names (without types) in function declaration"
msgstr ""
-#: c-decl.c:5252 c-decl.c:6641
+#: c-decl.c:4698 c-decl.c:6116
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr ""
-#: c-decl.c:5255
+#: c-decl.c:4701
#, fuzzy
msgid "parameter has incomplete type"
msgstr "ìç ðëÞñçò åããñáöÞ"
-#: c-decl.c:5276
+#: c-decl.c:4722
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr ""
-#: c-decl.c:5279
+#: c-decl.c:4725
msgid "parameter points to incomplete type"
msgstr ""
-#: c-decl.c:5344
+#: c-decl.c:4790
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr ""
-#: c-decl.c:5385
+#: c-decl.c:4831
msgid "`void' in parameter list must be the entire list"
msgstr ""
-#: c-decl.c:5416
+#: c-decl.c:4862
#, c-format
msgid "`struct %s' declared inside parameter list"
msgstr ""
-#: c-decl.c:5419
+#: c-decl.c:4865
#, c-format
msgid "`union %s' declared inside parameter list"
msgstr ""
-#: c-decl.c:5422
+#: c-decl.c:4868
#, c-format
msgid "`enum %s' declared inside parameter list"
msgstr ""
-#: c-decl.c:5429
+#: c-decl.c:4875
msgid "anonymous struct declared inside parameter list"
msgstr ""
-#: c-decl.c:5431
+#: c-decl.c:4877
msgid "anonymous union declared inside parameter list"
msgstr ""
-#: c-decl.c:5433
+#: c-decl.c:4879
msgid "anonymous enum declared inside parameter list"
msgstr ""
-#: c-decl.c:5437
+#: c-decl.c:4883
msgid "its scope is only this definition or declaration, which is probably not what you want"
msgstr ""
-#: c-decl.c:5516
+#: c-decl.c:4960
#, fuzzy, c-format
msgid "redefinition of `union %s'"
msgstr "Ïé ïñéóìïß ðçãÞ âñßóêïíôáé óôï ÁÑ×ÅÉÏ"
-#: c-decl.c:5519
+#: c-decl.c:4962
#, c-format
msgid "redefinition of `struct %s'"
msgstr ""
-#: c-decl.c:5558
-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:5599 c-decl.c:5602
+#: c-decl.c:5075 c-decl.c:5078
#, fuzzy, c-format
msgid "%s defined inside parms"
msgstr "óõíå÷ßæåôáé óôï ôìÞìá"
-#: c-decl.c:5600 c-decl.c:5603 c-decl.c:5614
+#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090
msgid "union"
-msgstr ""
+msgstr "Ýíùóç"
-#: c-decl.c:5600 c-decl.c:5603
+#: c-decl.c:5076 c-decl.c:5079
msgid "structure"
-msgstr ""
+msgstr "äïìÞ"
# src/request.c:37
-#: c-decl.c:5613
+#: c-decl.c:5089
#, fuzzy, c-format
msgid "%s has no %s"
msgstr "%s óå %s"
-#: c-decl.c:5614
+#: c-decl.c:5090
msgid "struct"
-msgstr ""
+msgstr "äïìÞ"
-#: c-decl.c:5615
+#: c-decl.c:5091
msgid "named members"
-msgstr ""
+msgstr "åðþíõìá ìÝëç"
-#: c-decl.c:5615
+#: c-decl.c:5091
msgid "members"
-msgstr ""
+msgstr "ìÝëç"
-#: c-decl.c:5654
+#: c-decl.c:5130
#, fuzzy, c-format
msgid "nested redefinition of `%s'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïñéóìïý locale `%s'"
-#: c-decl.c:5667
+#: c-decl.c:5143
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr ""
-#: c-decl.c:5678
+#: c-decl.c:5154
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr ""
-#: c-decl.c:5690
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr ""
-#: c-decl.c:5702
+#: c-decl.c:5177
#, fuzzy, c-format
msgid "negative width in bit-field `%s'"
msgstr "Áñíçôéêü ðëÜôïò óôçí áðïôßìçóç"
-#: c-decl.c:5704
+#: c-decl.c:5179
#, c-format
msgid "width of `%s' exceeds its type"
msgstr ""
-#: c-decl.c:5706
+#: c-decl.c:5181
#, c-format
msgid "zero width for bit-field `%s'"
msgstr ""
-#: c-decl.c:5720
+#: c-decl.c:5195
#, fuzzy, c-format
msgid "`%s' is narrower than values of its type"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: c-decl.c:5765
+#: c-decl.c:5241
msgid "flexible array member in union"
msgstr ""
-#: c-decl.c:5767
+#: c-decl.c:5243
msgid "flexible array member not at end of struct"
msgstr ""
-#: c-decl.c:5769
+#: c-decl.c:5245
msgid "flexible array member in otherwise empty struct"
msgstr ""
-#: c-decl.c:5794 ch/typeck.c:3060
+#: c-decl.c:5275
#, fuzzy, c-format
msgid "duplicate member `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: c-decl.c:5838
+#: 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:5932
+#: c-decl.c:5424
#, c-format
msgid "redeclaration of `enum %s'"
msgstr ""
-#: c-decl.c:5966
+#: c-decl.c:5458
#, fuzzy
msgid "enum defined inside parms"
msgstr "Ìç ïñéóìÝíï üíïìá %s"
-#: c-decl.c:5999
+#: c-decl.c:5491
msgid "enumeration values exceed range of largest integer"
msgstr ""
-#: c-decl.c:6108 ch/decl.c:4437
+#: c-decl.c:5600
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr ""
-#: c-decl.c:6121 ch/decl.c:4449
+#: c-decl.c:5613
msgid "overflow in enumeration values"
msgstr ""
-#: c-decl.c:6126
+#: c-decl.c:5618
msgid "ISO C restricts enumerator values to range of `int'"
msgstr ""
-#: c-decl.c:6204
+#: c-decl.c:5700
msgid "return type is an incomplete type"
msgstr ""
-#: c-decl.c:6212
+#: c-decl.c:5708
msgid "return type defaults to `int'"
msgstr "ï åðéóôñåöüìåíïò ôýðïò ðñïêáèïñßæåôáé óå `int'"
-#: c-decl.c:6259
+#: c-decl.c:5755
#, c-format
msgid "no previous prototype for `%s'"
msgstr ""
-#: c-decl.c:6266
+#: c-decl.c:5762
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr ""
-#: c-decl.c:6272
+#: c-decl.c:5768
#, c-format
msgid "no previous declaration for `%s'"
msgstr ""
-#: c-decl.c:6279
+#: c-decl.c:5775
#, fuzzy, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "áõôÞ åßíáé ç èÝóç ôïõ ðñþôïõ ïñéóìïý"
-#: c-decl.c:6303 c-decl.c:6884
+#: c-decl.c:5799 c-decl.c:6352
#, c-format
msgid "return type of `%s' is not `int'"
-msgstr ""
+msgstr "ç åðéóôñåöüìåíç ôéìÞ ôçò `%s' äåí åßíáé `int'"
-#: c-decl.c:6319
+#: c-decl.c:5815
#, c-format
msgid "first argument of `%s' should be `int'"
-msgstr ""
+msgstr "ôï ðñþôï üñéóìá ôçò `%s' ðñÝðåé íá åßíáé `int'"
-#: c-decl.c:6328
+#: c-decl.c:5824
#, c-format
msgid "second argument of `%s' should be `char **'"
-msgstr ""
+msgstr "ôï äåýôåñï üñéóìá ôçò `%s' ðñÝðåé íá åßíáé `char **'"
-#: c-decl.c:6337
+#: c-decl.c:5833
#, c-format
msgid "third argument of `%s' should probably be `char **'"
-msgstr ""
+msgstr "ôï ôñßôï üñéóìá ôçò `%s' ðñÝðåé íá åßíáé `char **'"
-#: c-decl.c:6346
+#: c-decl.c:5842
#, c-format
msgid "`%s' takes only zero or two arguments"
-msgstr ""
+msgstr "ç `%s' ðáßñíåé åßôå êáíÝíá åßôå äýï ïñßóìáôá"
-#: c-decl.c:6349
+#: c-decl.c:5845
#, c-format
msgid "`%s' is normally a non-static function"
-msgstr ""
+msgstr "ç `%s' åßíáé óõíÞèùò ìç-óôáôéêÞ óõíÜñôçóç"
-#: c-decl.c:6459
+#: c-decl.c:5943
msgid "parm types given both in parmlist and separately"
msgstr ""
-#: c-decl.c:6480
+#: c-decl.c:5964
msgid "parameter name omitted"
-msgstr ""
+msgstr "Ý÷åé ðáñáëçöèåß ôï üíïìá ôçò ðáñáìÝôñïõ"
-#: c-decl.c:6484 c-decl.c:6586
+#: c-decl.c:5968 c-decl.c:6070
#, fuzzy, c-format
msgid "parameter `%s' declared void"
msgstr "ï ÷Üñôçò ÷áñáêôÞñùí `%s' ïñßóôçêå Þäç"
-#: c-decl.c:6560
+#: c-decl.c:6044
msgid "parameter name missing from parameter list"
msgstr ""
-#: c-decl.c:6579
+#: c-decl.c:6063
#, fuzzy, c-format
msgid "multiple parameters named `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: c-decl.c:6610 c-decl.c:6612
+#: c-decl.c:6085 c-decl.c:6087
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr ""
-#: c-decl.c:6648
+#: c-decl.c:6123
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr ""
-#: c-decl.c:6696
+#: c-decl.c:6171
msgid "number of arguments doesn't match prototype"
msgstr ""
-#: c-decl.c:6726
+#: c-decl.c:6201
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr ""
-#: c-decl.c:6740
+#: c-decl.c:6211
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr ""
-#: c-decl.c:7054
+#: c-decl.c:6384 cp/decl.c:14547
+#, fuzzy
+msgid "no return statement in function returning non-void"
+msgstr "`return' ÷ùñßò ôéìÞ, óå óõíÜñôçóç ðïõ åðéóôñÝöåé ìç-êåíü"
+
+#: c-decl.c:6536
msgid "this function may return with or without a value"
msgstr ""
-#: c-decl.c:7074
+#: c-decl.c:6556
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr ""
-#: c-decl.c:7078
+#: c-decl.c:6560
#, fuzzy, c-format
msgid "size of return value of `%s' is larger than %d bytes"
msgstr "%s: ïé ôéìÝò ôïõ ðåäßïõ `%s' äåí ðñÝðåé íá åßíáé ìåãáëýôåñåò áðü %d"
@@ -1448,932 +1537,951 @@ msgstr "%s: ïé ôéìÝò ôïõ ðåäßïõ `%s' äåí ðñÝðåé íá åßíáé ìåãáëýôåñåò áðü %d"
#. 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:7133
+#: c-decl.c:6615
msgid "`for' loop initial declaration used outside C99 mode"
msgstr ""
-#: c-decl.c:7157
+#: c-decl.c:6639
#, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:7160
+#: c-decl.c:6642
#, c-format
msgid "`union %s' declared in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:7163
+#: c-decl.c:6645
#, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:7171
+#: c-decl.c:6653
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:7173
+#: c-decl.c:6655
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:7175
+#: 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
#, fuzzy
msgid "unrecognized format specifier"
msgstr "Üãíùóôï ðñüèåìá: %s"
-#: 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:1791
+#: c-format.c:608 c-format.c:628 c-format.c:650 c-format.c:677 c-format.c:1702
msgid "field width"
-msgstr ""
+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 ""
+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
#, fuzzy
msgid "fill character"
msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ðáñáâïëÞò"
-#: c-format.c:690
+#: c-format.c:671
#, fuzzy
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
#, fuzzy
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:2201
+#: c-format.c:1107 c-format.c:1128 c-format.c:2112
#, fuzzy
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
#, fuzzy
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
#, fuzzy
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"
-msgstr ""
+#: c-format.c:1357
+#, fuzzy, c-format
+msgid "zero-length %s format string"
+msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-#: c-format.c:1368
+#: c-format.c:1361
#, fuzzy
msgid "format is a wide character string"
msgstr "ëßóôá ìå üëá ôá ãíùóôÜ óýíïëá ÷áñáêôÞñùí"
-#: c-format.c:1371
+#: c-format.c:1364
#, fuzzy
msgid "unterminated format string"
msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-#. 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
-#, fuzzy
-msgid "null format string"
-msgstr "Ç áëõóßäá ìïñöÞò äåí åßíáé Ýãêõñç: `%s'"
-
-#: c-format.c:1670
+#: c-format.c:1581
msgid "embedded `\\0' in format"
msgstr ""
-#: c-format.c:1685
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
msgstr ""
-#: c-format.c:1724 c-format.c:1961
+#: c-format.c:1635 c-format.c:1872
#, fuzzy, c-format
msgid "repeated %s in format"
msgstr "repeated leap second moment"
-#: c-format.c:1737
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
msgstr ""
-#: c-format.c:1757 c-format.c:1875 c-format.c:2155 c-format.c:2208
+#: c-format.c:1687 c-format.c:1786 c-format.c:2066 c-format.c:2119
#, fuzzy
msgid "too few arguments for format"
msgstr "ðïëý ëßãá ïñßóìáôá"
-#: c-format.c:1817
+#: c-format.c:1728
#, fuzzy, c-format
msgid "zero width in %s format"
msgstr "óöÜëìá åããñáöÞò %s"
-#: c-format.c:1836
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
msgstr ""
-#: c-format.c:1890
+#: c-format.c:1801
msgid "field precision"
msgstr ""
-#: c-format.c:1905
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
msgstr ""
-#: c-format.c:1945
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
msgstr ""
-#: c-format.c:1995
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr ""
-#: c-format.c:2006
+#: c-format.c:1917
#, fuzzy, c-format
msgid "unknown conversion type character `%c' in format"
msgstr "Üãíùóôïò ÷áñáêôÞñáò `%s'"
-#: c-format.c:2009
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr ""
-#: c-format.c:2016
+#: c-format.c:1927
#, c-format
msgid "%s does not support the `%%%c' %s format"
msgstr ""
-#: c-format.c:2032
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
msgstr ""
-#: c-format.c:2041
+#: c-format.c:1952
#, fuzzy, c-format
msgid "%s does not support %s"
msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-#: c-format.c:2050
+#: c-format.c:1961
#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
msgstr ""
-#: c-format.c:2083
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
msgstr ""
-#: c-format.c:2087
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
msgstr ""
-#: c-format.c:2093
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
msgstr ""
-#: c-format.c:2097
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
msgstr ""
-#: c-format.c:2116
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
msgstr ""
-#: c-format.c:2119
+#: 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:2135
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
msgstr ""
-#: c-format.c:2148
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr ""
-#: c-format.c:2169
+#: c-format.c:2080
#, c-format
msgid "%s does not support the `%%%s%c' %s format"
msgstr ""
-#: c-format.c:2184
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr ""
-#: c-format.c:2186
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
msgstr ""
-#: c-format.c:2305
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
msgstr ""
-#: c-format.c:2314
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
msgstr ""
-#: c-format.c:2334
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
msgstr ""
-#: c-format.c:2344
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr ""
-#: c-format.c:2351
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr ""
-#: c-format.c:2353
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr ""
-#: c-format.c:2424
+#: c-format.c:2330
msgid "pointer"
msgstr ""
-#: c-format.c:2426
+#: c-format.c:2332
#, fuzzy
msgid "different type"
msgstr "åßäïò ìïñöÞò"
-#: c-format.c:2447
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
msgstr ""
-#: c-format.c:2450
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr ""
-#: c-lex.c:292
+#: c-lex.c:153
+msgid "YYDEBUG not defined"
+msgstr ""
+
+#: c-lex.c:290
msgid "badly nested C headers from preprocessor"
msgstr ""
-#: c-lex.c:342
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
msgstr ""
-#: c-lex.c:344
-#, fuzzy, c-format
-msgid "ignoring #pragma %s"
-msgstr "áãíïïýíôáé üëá ôá ïñßóìáôá"
-
-#: c-lex.c:394
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
msgstr ""
-#: c-lex.c:640
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
msgstr ""
-#: c-lex.c:730
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr ""
-
-#: c-lex.c:757
-#, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr ""
-
-#: c-lex.c:787
+#: c-lex.c:692
#, c-format
msgid "stray '%c' in program"
msgstr ""
-#: c-lex.c:789
+#: c-lex.c:694
#, c-format
msgid "stray '\\%o' in program"
msgstr ""
-#: c-lex.c:887
-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:889
-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:900
-msgid "underscore in number"
-msgstr ""
+#: c-lex.c:869
+#, fuzzy, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "%s: ôï %s åßíáé ôüóï ìåãÜëï ðïõ äå ìðïñåß íá áíáðáñáóôáèåß"
-#: c-lex.c:962
-msgid "numeric constant with no digits"
-msgstr ""
+#: c-lex.c:937
+#, fuzzy, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-#: c-lex.c:965
-msgid "numeric constant contains digits beyond the radix"
-msgstr ""
+#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+#, fuzzy
+msgid "ignoring invalid multibyte character"
+msgstr "Ìç Ýãêõñï Þ áóõìðëÞñùôï multibyte Þ ðëáôýò ÷áñáêôÞñáò"
-#: c-lex.c:976
-msgid "floating constant may not be in radix 16"
-msgstr ""
+#: c-opts.c:353
+#, fuzzy, c-format
+msgid "missing argument to \"-%s\""
+msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-#: c-lex.c:979
-msgid "hexadecimal floating constant has no exponent"
+#: c-opts.c:357
+#, c-format
+msgid "no class name specified with \"-%s\""
msgstr ""
-#: c-lex.c:991
-msgid "floating constant exponent has no digits"
-msgstr ""
+#: c-opts.c:364
+#, fuzzy, c-format
+msgid "missing filename after \"-%s\""
+msgstr "ðáñÜëçøç ïñßóìáôïò áñ÷åßïõ"
-#: c-lex.c:1011
-msgid "more than one 'f' suffix on floating constant"
+#: c-opts.c:369
+#, fuzzy, c-format
+msgid "missing target after \"-%s\""
+msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôá ðåäßá"
+
+#: c-opts.c:503
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
msgstr ""
-#: c-lex.c:1014
-msgid "traditional C rejects the 'f' suffix"
+#: c-opts.c:548
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
msgstr ""
-#: c-lex.c:1021
-msgid "more than one 'l' suffix on floating constant"
+#: c-opts.c:934
+msgid "-Wno-strict-prototypes is not supported in C++"
msgstr ""
-#: c-lex.c:1024
-msgid "traditional C rejects the 'l' suffix"
+#: c-opts.c:1014
+#, fuzzy, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
+
+#: c-opts.c:1030
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
msgstr ""
-#: c-lex.c:1032
-msgid "more than one 'i' or 'j' suffix 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:1034 c-lex.c:1128
-msgid "ISO C forbids imaginary numeric constants"
+#: c-opts.c:1263
+msgid "output filename specified twice"
msgstr ""
-#: c-lex.c:1039
-#, fuzzy
-msgid "invalid suffix on floating constant"
-msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
+#: c-opts.c:1377
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr ""
-#. We got an exception from parse_float()
-#: c-lex.c:1056
-#, fuzzy
-msgid "floating constant out of range"
-msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
+#: c-opts.c:1379
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr ""
-#: c-lex.c:1068
-msgid "floating point number exceeds range of 'double'"
+#: c-opts.c:1381
+msgid "-Wformat-zero-length ignored without -Wformat"
msgstr ""
-#: c-lex.c:1097
-msgid "two 'u' suffixes on integer constant"
+#: c-opts.c:1383
+msgid "-Wformat-nonliteral ignored without -Wformat"
msgstr ""
-#: c-lex.c:1100
-msgid "traditional C rejects the 'u' suffix"
+#: c-opts.c:1385
+msgid "-Wformat-security ignored without -Wformat"
msgstr ""
-#: c-lex.c:1111
-msgid "three 'l' suffixes on integer constant"
+#: c-opts.c:1387
+msgid "-Wmissing-format-attribute ignored without -Wformat"
msgstr ""
-#: c-lex.c:1113
-#, fuzzy
-msgid "'lul' is not a valid integer suffix"
-msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+#: c-opts.c:1409
+#, fuzzy, c-format
+msgid "opening output file %s"
+msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ `%s'"
-#: c-lex.c:1115
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr ""
+#: c-opts.c:1464
+#, fuzzy, c-format
+msgid "opening dependency file %s"
+msgstr "äõíáìéêÝò åîáñôÞóåéò.\n"
-#: c-lex.c:1118
-msgid "ISO C89 forbids long long integer constants"
-msgstr ""
+#: c-opts.c:1474
+#, fuzzy, c-format
+msgid "closing dependency file %s"
+msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: c-lex.c:1126
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr ""
+#: c-opts.c:1477
+#, fuzzy, c-format
+msgid "when writing output to %s"
+msgstr "óöÜëìá åããñáöÞò %s"
-#: c-lex.c:1133
-#, fuzzy
-msgid "invalid suffix on integer constant"
-msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
+#: c-opts.c:1557
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr ""
-#: c-lex.c:1141
+#: c-opts.c:1704
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+msgid "\"-%s\" is valid for %s but not for %s"
msgstr ""
-#: c-lex.c:1231
-msgid "width of integer constant changes with -traditional"
+#. 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:1233
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#: 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:1235
-msgid "width of integer constant may change on other systems with -traditional"
+#: 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:1245
-#, c-format
-msgid "integer constant larger than the maximum value of %s"
+#: 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:1248
-msgid "an unsigned long 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:1249
-msgid "a long long int"
+#: 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:1250
-msgid "an unsigned long 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:1254
-#, fuzzy
-msgid "decimal constant is so large that it is unsigned"
-msgstr "%s: ôï %s åßíáé ôüóï ìåãÜëï ðïõ äå ìðïñåß íá áíáðáñáóôáèåß"
-
-#: c-lex.c:1263
-msgid "complex integer constant is too wide for 'complex int'"
+#: 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:1283
-#, fuzzy
-msgid "integer constant is larger than the maximum value for its type"
+#: 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 ""
-"ï äçëùìÝíïò áñéèìüò bytes `%s' åßíáé ìåãáëýôåñïò áðü ôï ìÝãéóôï\n"
-"ðïõ ìðïñåß íá áíáðáñáóôáèåß áðü ôï ôýðï äåäïìÝíùí `long'"
-#: c-lex.c:1287
-#, c-format
-msgid "missing white space after number '%.*s'"
+#: 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 ""
-#: c-lex.c:1323 cpplex.c:1866
-#, fuzzy
-msgid "ignoring invalid multibyte character"
-msgstr "Ìç Ýãêõñï Þ áóõìðëÞñùôï multibyte Þ ðëáôýò ÷áñáêôÞñáò"
-
#. Like YYERROR but do call yyerror.
-#: c-parse.y:56 objc-parse.y:57 parse.y:51
+#: c-parse.y:55 parse.y:48 objc-parse.y:56
msgid "syntax error"
msgstr "óöÜëìá óýíôáîçò"
-#: /usr/share/bison/bison.simple:107 /usr/share/bison/bison.simple:110
-#: /usr/share/bison/bison.simple:172
+#: /usr/share/bison/bison.simple:179
#, fuzzy
msgid "syntax error: cannot back up"
msgstr "ï äéá÷ùñéóôÞò äå ìðïñåß íá åßíáé êåíüò"
-#: /usr/share/bison/bison.simple:358 /usr/share/bison/bison.simple:410
-#: /usr/share/bison/bison.simple:946
-#, fuzzy
-msgid "parser stack overflow"
-msgstr "Õðåñ÷åßëéóç ðßíáêá áñ÷åßïõ"
-
-#: c-parse.y:288 objc-parse.y:310
+#: c-parse.y:325 objc-parse.y:347
msgid "ISO C forbids an empty source file"
msgstr ""
-#: c-parse.y:321 c-typeck.c:6909 ch/parse.c:2113 objc-parse.y:343
+#: 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:329 objc-parse.y:351
+#: c-parse.y:374 objc-parse.y:397
msgid "ISO C forbids data definition with no type or storage class"
msgstr ""
-#: c-parse.y:331 objc-parse.y:353
+#: c-parse.y:376 objc-parse.y:399
msgid "data definition has no type or storage class"
msgstr ""
-#: c-parse.y:344 objc-parse.y:366
+#: c-parse.y:389 objc-parse.y:412
msgid "ISO C does not allow extra `;' outside of a function"
msgstr ""
-#: c-parse.y:404 cppexp.c:691
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: c-parse.y:466 objc-parse.y:488
+#: c-parse.y:496 objc-parse.y:519
msgid "`sizeof' applied to a bit-field"
msgstr ""
-#: c-parse.y:546 objc-parse.y:568
+#: c-parse.y:583 objc-parse.y:606
msgid "ISO C forbids omitting the middle term of a ?: expression"
msgstr ""
-#: c-parse.y:593 objc-parse.y:615
+#: c-parse.y:632 objc-parse.y:655
msgid "ISO C89 forbids compound literals"
msgstr ""
-#: c-parse.y:607 objc-parse.y:629
+#: c-parse.y:646 objc-parse.y:669
msgid "ISO C forbids braced-groups within expressions"
msgstr ""
-#: c-parse.y:638 objc-parse.y:660
+#: c-parse.y:677 objc-parse.y:700
msgid "first argument to __builtin_choose_expr not a constant"
msgstr ""
-#: c-parse.y:681
-msgid "traditional C rejects string concatenation"
+#: c-parse.y:721 objc-parse.y:768
+msgid "traditional C rejects ISO C style function definitions"
msgstr ""
-#: c-parse.y:696 objc-parse.y:732
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr ""
-
-#: c-parse.y:957 c-parse.y:963 c-parse.y:969 c-parse.y:975 c-parse.y:996
-#: c-parse.y:1002 c-parse.y:1008 c-parse.y:1014 c-parse.y:1047 c-parse.y:1053
-#: c-parse.y:1059 c-parse.y:1065 c-parse.y:1110 c-parse.y:1116 c-parse.y:1122
-#: c-parse.y:1128 objc-parse.y:993 objc-parse.y:999 objc-parse.y:1005
-#: objc-parse.y:1011 objc-parse.y:1032 objc-parse.y:1038 objc-parse.y:1044
-#: objc-parse.y:1050 objc-parse.y:1083 objc-parse.y:1089 objc-parse.y:1095
-#: objc-parse.y:1101 objc-parse.y:1146 objc-parse.y:1152 objc-parse.y:1158
-#: objc-parse.y:1164 parse.y:1888 parse.y:1895 parse.y:1934
+#: 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
#, fuzzy, c-format
msgid "`%s' is not at beginning of declaration"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: c-parse.y:1410 objc-parse.y:1455
+#: c-parse.y:1441 objc-parse.y:1497
msgid "ISO C forbids empty initializer braces"
msgstr ""
-#: c-parse.y:1424 objc-parse.y:1469
+#: c-parse.y:1455 objc-parse.y:1511
msgid "ISO C89 forbids specifying subobject to initialize"
msgstr ""
-#: c-parse.y:1427 objc-parse.y:1472
+#: c-parse.y:1458 objc-parse.y:1514
msgid "obsolete use of designated initializer without `='"
msgstr ""
-#: c-parse.y:1431 objc-parse.y:1476
+#: c-parse.y:1462 objc-parse.y:1518
msgid "obsolete use of designated initializer with `:'"
msgstr ""
-#: c-parse.y:1460
+#: c-parse.y:1489 objc-parse.y:1545
msgid "ISO C forbids specifying range of elements to initialize"
msgstr ""
-#: c-parse.y:1468 c-parse.y:1498 objc-parse.y:1507 objc-parse.y:1537
+#: 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:1672 objc-parse.y:1713
+#: c-parse.y:1703 objc-parse.y:1761
msgid "ISO C forbids forward references to `enum' types"
msgstr ""
-#: c-parse.y:1684 objc-parse.y:1725 parse.y:2346
+#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773
#, fuzzy
msgid "comma at end of enumerator list"
msgstr "óêïõðßäéá óôï ôÝëïò ôïõ áñéèìïý"
-#: c-parse.y:1692 objc-parse.y:1733
+#: c-parse.y:1723 objc-parse.y:1781
msgid "no semicolon at end of struct or union"
msgstr ""
-#: c-parse.y:1701 objc-parse.y:1742 objc-parse.y:2809
+#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865
msgid "extra semicolon in struct or union specified"
msgstr ""
-#: c-parse.y:1714 objc-parse.y:1769
+#: c-parse.y:1745 objc-parse.y:1817
msgid "ISO C doesn't support unnamed structs/unions"
msgstr ""
-#: c-parse.y:1723 objc-parse.y:1778
+#: c-parse.y:1754 objc-parse.y:1826
msgid "ISO C forbids member declarations with no members"
msgstr ""
-#: c-parse.y:1872 c-parse.y:1876 c-parse.y:1880 objc-parse.y:1927
-#: objc-parse.y:1931 objc-parse.y:1935
-msgid "storage class specifier in array declarator"
-msgstr ""
-
-#: c-parse.y:1895 objc-parse.y:1950
+#: c-parse.y:1913 objc-parse.y:1985
msgid "deprecated use of label at end of compound statement"
msgstr ""
-#: c-parse.y:1912 objc-parse.y:1967
+#: c-parse.y:1930 objc-parse.y:2002
msgid "ISO C89 forbids mixed declarations and code"
msgstr ""
-#: c-parse.y:1986 objc-parse.y:2045
+#: c-parse.y:2005 objc-parse.y:2081
msgid "ISO C forbids label declarations"
msgstr ""
-#: c-parse.y:2035 objc-parse.y:2094 parse.y:1588
+#: 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:2160 objc-parse.y:2219
+#: c-parse.y:2182 objc-parse.y:2258
msgid "empty body in an else-statement"
msgstr ""
-#: c-parse.y:2280 objc-parse.y:2339
+#: c-parse.y:2303 objc-parse.y:2379
msgid "ISO C forbids `goto *expr;'"
msgstr ""
-#: c-parse.y:2378 objc-parse.y:2437
+#: c-parse.y:2403 objc-parse.y:2479
msgid "ISO C forbids forward parameter declarations"
msgstr ""
@@ -2383,1430 +2491,1577 @@ 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:2404 objc-parse.y:2463
+#: c-parse.y:2429 objc-parse.y:2505
msgid "ISO C requires a named argument before `...'"
msgstr ""
-#: c-parse.y:2498 objc-parse.y:2557
+#: c-parse.y:2526 objc-parse.y:2602
msgid "`...' in old-style identifier list"
msgstr ""
-#: /usr/share/bison/bison.simple:639 /usr/share/bison/bison.simple:699
-msgid "parse error; also virtual memory exceeded"
+#: /usr/share/bison/bison.simple:795
+#, fuzzy
+msgid "parse error; also virtual memory exhausted"
msgstr "óöÜëìá åðåîåñãáóßáò· åðßóçò ç ìíÞìç åîáíôëÞèçêå"
-#: /usr/share/bison/bison.simple:643 /usr/share/bison/bison.simple:703
-#: /usr/share/bison/bison.simple:821 cp/spew.c:349
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
msgid "parse error"
msgstr "óöÜëìá åðåîåñãáóßáò"
-#: c-parse.y:2814 cp/spew.c:1477 objc-parse.y:3501
+#: /usr/share/bison/bison.simple:924
+#, fuzzy
+msgid "parser stack overflow"
+msgstr "Õðåñ÷åßëéóç ðßíáêá áñ÷åßïõ"
+
+#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538
#, c-format
msgid "%s at end of input"
msgstr "%s óôï ôÝëïò ôçò åéóüäïõ"
-#: c-parse.y:2820 cp/spew.c:1483 objc-parse.y:3507
+#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544
#, c-format
msgid "%s before %s'%c'"
msgstr "%s ðñéí áðü %s'%c'"
-#: c-parse.y:2822 cp/spew.c:1485 objc-parse.y:3509
+#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546
#, c-format
msgid "%s before %s'\\x%x'"
-msgstr ""
+msgstr "%s ðñéí áðü %s'\\x%x'"
-#: c-parse.y:2826 cp/spew.c:1489 objc-parse.y:3513
+#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550
#, fuzzy, c-format
msgid "%s before string constant"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-#: c-parse.y:2828 cp/spew.c:1491 objc-parse.y:3515
+#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552
#, c-format
msgid "%s before numeric constant"
-msgstr ""
+msgstr "%s ðñéí áðü áñéèìçôéêÞ óôáèåñÜ"
# src/request.c:37
-#: c-parse.y:2830 objc-parse.y:3517
-#, fuzzy, c-format
+#: c-parse.y:2854 objc-parse.y:3554
+#, c-format
msgid "%s before \"%s\""
-msgstr "%s óå %s"
+msgstr "%s ðñéí áðü \"%s\""
-#: c-parse.y:2832 objc-parse.y:3519
+#: c-parse.y:2856 objc-parse.y:3556
#, c-format
msgid "%s before '%s' token"
+msgstr "%s ðñéí áðü ôï óýìâïëï '%s'"
+
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
msgstr ""
-#: c-parse.y:2968 objc-parse.y:3698
-#, fuzzy, c-format
+#: c-parse.y:3047 objc-parse.y:3780
+#, c-format
msgid "syntax error at '%s' token"
-msgstr "óõíôáêôéêü óöÜëìá óôï ïñéóìü ôïõ %s: %s"
+msgstr "óõíôáêôéêü óöÜëìá óôï óýìâïëï '%s'"
-#: c-parse.y:2998 ch/parse.c:4329 cp/lex.c:910 objc-parse.y:3728
-msgid "YYDEBUG not defined"
-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
#, fuzzy
msgid "#pragma pack(push[, id], <n>) is not supported on this target"
msgstr "ðñïåéäïðïßçóç: ôï --pid=PID äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
-#: c-pragma.c:164
+#: c-pragma.c:147
#, fuzzy
msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
msgstr "ðñïåéäïðïßçóç: ôï --pid=PID äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
-#: 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
#, fuzzy
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:290 c-pragma.c:295
+#: 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
#, fuzzy
msgid "malformed #pragma weak, ignored"
msgstr "êáêïäéáìïñöùìÝíç ãñáììÞ áãíïÞèçêå"
-#: c-pragma.c:299
+#: c-pragma.c:330
msgid "junk at end of #pragma weak"
msgstr ""
-#: c-semantics.c:563
+#: c-pragma.c:365 c-pragma.c:370
+#, fuzzy
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr "êáêïäéáìïñöùìÝíç ãñáììÞ áãíïÞèçêå"
+
+#: c-pragma.c:375
+#, fuzzy
+msgid "junk at end of #pragma redefine_extname"
+msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
+
+#: c-pragma.c:382 c-pragma.c:463
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr ""
+
+#: c-pragma.c:413
+#, fuzzy
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr "êáêïäéáìïñöùìÝíç ãñáììÞ áãíïÞèçêå"
+
+#: c-pragma.c:418
+#, fuzzy
+msgid "junk at end of #pragma extern_prefix"
+msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
+
+#: c-pragma.c:450
+msgid "asm declaration conficts with previous rename"
+msgstr ""
+
+#: 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:6937 cp/semantics.c:881
+#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
msgstr ""
-#: c-typeck.c:124
+#: c-typeck.c:123
#, c-format
msgid "`%s' has an incomplete type"
msgstr ""
-#: c-typeck.c:146 cp/call.c:2590
+#: c-typeck.c:145 cp/call.c:2740
#, fuzzy
msgid "invalid use of void expression"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: c-typeck.c:155 cp/typeck2.c:227
+#: c-typeck.c:153
+#, fuzzy
+msgid "invalid use of flexible array member"
+msgstr "ìç Ýãêõñç þñá ôçò ìÝñáò"
+
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
msgstr ""
-#: c-typeck.c:163
+#: c-typeck.c:167
#, fuzzy, c-format
msgid "invalid use of undefined type `%s %s'"
msgstr "ìç Ýãêõñïò áñéèìüò áðü êåíÝò ãñáììÝò: `%s'"
#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c-typeck.c:167
+#: c-typeck.c:171
#, fuzzy, c-format
msgid "invalid use of incomplete typedef `%s'"
msgstr "ìç Ýãêõñïò äåýôåñïò ôåëåóôÞò óå êáôÜóôáóç óõìâáôüôçôáò `%s'"
-#: c-typeck.c:398 c-typeck.c:412
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
msgstr ""
-#: c-typeck.c:572
+#: c-typeck.c:603
msgid "types are not quite compatible"
msgstr ""
-#: c-typeck.c:725
-msgid "sizeof applied to a function type"
-msgstr ""
-
-#: c-typeck.c:731
-msgid "sizeof applied to a void type"
-msgstr ""
-
-#: c-typeck.c:738
-msgid "sizeof applied to an incomplete type"
-msgstr ""
-
-#: c-typeck.c:791 c-typeck.c:2809
+#: c-typeck.c:757 c-typeck.c:2673
msgid "arithmetic on pointer to an incomplete type"
msgstr ""
-#: c-typeck.c:1179
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr ""
-#: c-typeck.c:1212
+#: c-typeck.c:1169
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr ""
-#: c-typeck.c:1244 ch/expr.c:810
+#: c-typeck.c:1201
msgid "dereferencing pointer to incomplete type"
msgstr ""
-#: c-typeck.c:1248 ch/expr.c:814
+#: c-typeck.c:1205
msgid "dereferencing `void *' pointer"
msgstr ""
-#: c-typeck.c:1265 cp/typeck.c:2380
+#: c-typeck.c:1222 cp/typeck.c:2357
#, fuzzy, c-format
msgid "invalid type argument of `%s'"
msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-#: c-typeck.c:1284 cp/typeck.c:2406
+#: c-typeck.c:1241 cp/typeck.c:2383
msgid "subscript missing in array reference"
msgstr ""
-#: c-typeck.c:1305 cp/typeck.c:2448
+#: c-typeck.c:1262 cp/typeck.c:2425
msgid "array subscript has type `char'"
msgstr ""
-#: c-typeck.c:1313 c-typeck.c:1402 cp/typeck.c:2455 cp/typeck.c:2534
+#: 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:1346
+#: c-typeck.c:1303
msgid "ISO C forbids subscripting `register' array"
msgstr ""
-#: c-typeck.c:1348
-msgid "ISO C89 forbids subscripting non-lvalue array"
+#: c-typeck.c:1305
+msgid "ISO C90 forbids subscripting non-lvalue array"
msgstr ""
-#: c-typeck.c:1381
+#: c-typeck.c:1338
msgid "subscript has type `char'"
msgstr ""
-#: c-typeck.c:1397 cp/typeck.c:2529
+#: c-typeck.c:1354 cp/typeck.c:2506
msgid "subscripted value is neither array nor pointer"
msgstr ""
-#: c-typeck.c:1451
+#: c-typeck.c:1408
#, c-format
msgid "`%s' undeclared here (not in a function)"
msgstr ""
-#: c-typeck.c:1458
+#: c-typeck.c:1415
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr ""
-#: c-typeck.c:1463
+#: c-typeck.c:1420
msgid "(Each undeclared identifier is reported only once"
msgstr ""
-#: c-typeck.c:1464
+#: c-typeck.c:1421
msgid "for each function it appears in.)"
msgstr ""
-#: c-typeck.c:1481
+#: c-typeck.c:1438
#, c-format
msgid "local declaration of `%s' hides instance variable"
msgstr ""
-#: c-typeck.c:1546
+#: c-typeck.c:1504
#, fuzzy
msgid "called object is not a function"
msgstr "Ôï åðþíõìï áíôéêåßìåíï äåí åßíáé áíáæçôÞóéìï"
-#: c-typeck.c:1630 cp/typeck.c:3171
+#: c-typeck.c:1590 cp/typeck.c:2831
#, fuzzy
msgid "too many arguments to function"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: c-typeck.c:1651
+#: c-typeck.c:1611
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr ""
-#: c-typeck.c:1664
+#: c-typeck.c:1624
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr ""
-#: c-typeck.c:1667
+#: c-typeck.c:1627
#, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr ""
-#: c-typeck.c:1670
+#: c-typeck.c:1630
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr ""
-#: c-typeck.c:1673
+#: c-typeck.c:1633
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr ""
-#: c-typeck.c:1676
+#: c-typeck.c:1636
#, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr ""
-#: c-typeck.c:1679
+#: c-typeck.c:1639
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr ""
-#: c-typeck.c:1689
+#: c-typeck.c:1649
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr ""
-#: c-typeck.c:1707
+#: c-typeck.c:1667
#, c-format
msgid "%s with different width due to prototype"
msgstr ""
-#: c-typeck.c:1741
+#: c-typeck.c:1701
#, c-format
msgid "%s as unsigned due to prototype"
msgstr ""
-#: c-typeck.c:1743
+#: c-typeck.c:1703
#, c-format
msgid "%s as signed due to prototype"
msgstr ""
-#: c-typeck.c:1777 cp/typeck.c:3279
+#: c-typeck.c:1737 cp/typeck.c:2935
#, fuzzy
msgid "too few arguments to function"
msgstr "ðïëý ëßãá ïñßóìáôá"
-#: c-typeck.c:1819
+#: c-typeck.c:1779
msgid "suggest parentheses around + or - inside shift"
msgstr ""
-#: c-typeck.c:1826
+#: c-typeck.c:1786
msgid "suggest parentheses around && within ||"
msgstr ""
-#: c-typeck.c:1835
+#: c-typeck.c:1795
msgid "suggest parentheses around arithmetic in operand of |"
msgstr ""
-#: c-typeck.c:1838
+#: c-typeck.c:1798
msgid "suggest parentheses around comparison in operand of |"
msgstr ""
-#: c-typeck.c:1847
+#: c-typeck.c:1807
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr ""
-#: c-typeck.c:1850
+#: c-typeck.c:1810
msgid "suggest parentheses around comparison in operand of ^"
msgstr ""
-#: c-typeck.c:1857
+#: c-typeck.c:1817
msgid "suggest parentheses around + or - in operand of &"
msgstr ""
-#: c-typeck.c:1860
+#: c-typeck.c:1820
msgid "suggest parentheses around comparison in operand of &"
msgstr ""
-#: c-typeck.c:1867
+#: c-typeck.c:1827
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr ""
-#: c-typeck.c:2027 c-typeck.c:2083 ch/expr.c:3951
+#: c-typeck.c:1987 c-typeck.c:2022
msgid "division by zero"
-msgstr ""
+msgstr "äéáßñåóç ìå ìçäÝí"
-#: c-typeck.c:2128 cp/typeck.c:3565
+#: c-typeck.c:2067 cp/typeck.c:3196
msgid "right shift count is negative"
msgstr ""
-#: c-typeck.c:2135 cp/typeck.c:3571
+#: c-typeck.c:2074 cp/typeck.c:3202
msgid "right shift count >= width of type"
msgstr ""
-#: c-typeck.c:2160 cp/typeck.c:3590
+#: c-typeck.c:2095 cp/typeck.c:3221
msgid "left shift count is negative"
msgstr ""
-#: c-typeck.c:2163 cp/typeck.c:3592
+#: c-typeck.c:2098 cp/typeck.c:3223
msgid "left shift count >= width of type"
msgstr ""
-#: c-typeck.c:2188
+#: c-typeck.c:2119
msgid "shift count is negative"
msgstr ""
-#: c-typeck.c:2190
+#: c-typeck.c:2121
msgid "shift count >= width of type"
msgstr ""
-#: c-typeck.c:2211 cp/typeck.c:3627
+#: c-typeck.c:2138 cp/typeck.c:3258
msgid "comparing floating point with == or != is unsafe"
msgstr ""
-#: c-typeck.c:2235 c-typeck.c:2241
+#: c-typeck.c:2164 c-typeck.c:2170
msgid "ISO C forbids comparison of `void *' with function pointer"
msgstr ""
-#: c-typeck.c:2244 c-typeck.c:2286 c-typeck.c:2314
+#: 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:2259 c-typeck.c:2265 c-typeck.c:2335 c-typeck.c:2341
+#: 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:2281 c-typeck.c:2309
+#: c-typeck.c:2208 c-typeck.c:2236
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr ""
-#: c-typeck.c:2306
+#: c-typeck.c:2233
msgid "comparison of complete and incomplete pointers"
msgstr ""
-#: c-typeck.c:2322 c-typeck.c:2329
+#: c-typeck.c:2249 c-typeck.c:2256
msgid "ordered comparison of pointer with integer zero"
msgstr ""
-#: c-typeck.c:2355 cp/typeck.c:3760
+#: c-typeck.c:2280 cp/typeck.c:3391
#, fuzzy
msgid "unordered comparison on non-floating point argument"
msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
-#: c-typeck.c:2559
+#: c-typeck.c:2491
msgid "comparison between signed and unsigned"
msgstr ""
-#: c-typeck.c:2605 cp/typeck.c:4006
+#: c-typeck.c:2537 cp/typeck.c:3635
msgid "comparison of promoted ~unsigned with constant"
msgstr ""
-#: c-typeck.c:2613 cp/typeck.c:4014
+#: c-typeck.c:2545 cp/typeck.c:3643
msgid "comparison of promoted ~unsigned with unsigned"
msgstr ""
-#: c-typeck.c:2675
-msgid "pointer of type `void *' used in arithmetic"
-msgstr ""
-
-#: c-typeck.c:2681
-msgid "pointer to a function used in arithmetic"
-msgstr ""
-
-#: c-typeck.c:2761
+#: c-typeck.c:2625
msgid "pointer of type `void *' used in subtraction"
msgstr ""
-#: c-typeck.c:2763
+#: c-typeck.c:2627
msgid "pointer to a function used in subtraction"
msgstr ""
-#: c-typeck.c:2860
+#: c-typeck.c:2724
msgid "wrong type argument to unary plus"
msgstr ""
-#: c-typeck.c:2871
+#: c-typeck.c:2737
msgid "wrong type argument to unary minus"
msgstr ""
-#: c-typeck.c:2883
+#: c-typeck.c:2754
msgid "ISO C does not support `~' for complex conjugation"
msgstr ""
-#: c-typeck.c:2889
+#: c-typeck.c:2760
msgid "wrong type argument to bit-complement"
msgstr ""
-#: c-typeck.c:2900
+#: c-typeck.c:2769
#, fuzzy
msgid "wrong type argument to abs"
msgstr "ëÜèïò áñéèìüò ïñéóìÜôùí"
-#: c-typeck.c:2912
+#: c-typeck.c:2781
msgid "wrong type argument to conjugation"
msgstr ""
-#: c-typeck.c:2926
+#: c-typeck.c:2795
msgid "wrong type argument to unary exclamation mark"
msgstr ""
-#: c-typeck.c:2969
+#: c-typeck.c:2838
msgid "ISO C does not support `++' and `--' on complex types"
msgstr ""
-#: c-typeck.c:2984 c-typeck.c:3016
+#: c-typeck.c:2853 c-typeck.c:2885
msgid "wrong type argument to increment"
msgstr ""
-#: c-typeck.c:2986 c-typeck.c:3018
+#: c-typeck.c:2855 c-typeck.c:2887
msgid "wrong type argument to decrement"
msgstr ""
-#: c-typeck.c:3007
+#: c-typeck.c:2876
msgid "increment of pointer to unknown structure"
msgstr ""
-#: c-typeck.c:3009
+#: c-typeck.c:2878
msgid "decrement of pointer to unknown structure"
msgstr ""
-#: c-typeck.c:3082
-#, fuzzy
-msgid "invalid lvalue in increment"
-msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
-
-#: c-typeck.c:3083
-#, fuzzy
-msgid "invalid lvalue in decrement"
-msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
-
-#: c-typeck.c:3091 cp/typeck.c:4594
-msgid "increment"
-msgstr ""
-
-#: c-typeck.c:3091 cp/typeck.c:4594
-msgid "decrement"
-msgstr ""
-
-#: c-typeck.c:3146
+#: c-typeck.c:3015
msgid "ISO C forbids the address of a cast expression"
msgstr ""
-#: c-typeck.c:3156
+#: c-typeck.c:3025
#, fuzzy
msgid "invalid lvalue in unary `&'"
msgstr "ìç Ýãêõñïò ÷ñüíïò áíáðÞäçò"
-#: c-typeck.c:3188
+#: c-typeck.c:3057
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr ""
-#. condition met at compile time
-#: c-typeck.c:3297 c-typeck.c:4686 c-typeck.c:4702 c-typeck.c:4718
-#: ch/expr.c:1782 ch/parse.c:361 ch/typeck.c:160 cp/typeck.c:4787 gcc.c:4467
-#: java/expr.c:387 java/verify.c:1464 java/verify.c:1465 java/verify.c:1480
-#: rtl-error.c:121 tradcif.y:533 tradcpp.c:4123
+#: 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 ""
+msgstr "%s"
-#: c-typeck.c:3358
+#: c-typeck.c:3227
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr ""
-#: c-typeck.c:3361
+#: c-typeck.c:3230
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr ""
-#: c-typeck.c:3364
+#: c-typeck.c:3233
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr ""
-#: c-typeck.c:3381
+#: c-typeck.c:3250
#, c-format
msgid "%s of read-only member `%s'"
msgstr ""
-#: c-typeck.c:3385
+#: c-typeck.c:3254
#, fuzzy, c-format
msgid "%s of read-only variable `%s'"
msgstr "Ìç áíáãíùñßóéìç ìåôáâëçôÞ `%s'"
-#: c-typeck.c:3388
+#: c-typeck.c:3257
#, c-format
msgid "%s of read-only location"
msgstr ""
-#: c-typeck.c:3406
+#: c-typeck.c:3276
#, fuzzy, c-format
msgid "cannot take address of bit-field `%s'"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï áñ÷åßï fifo `%s'"
-#: c-typeck.c:3434 ch/typeck.c:3676 ch/xtypeck.c:62
+#: c-typeck.c:3304
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr ""
-#: c-typeck.c:3438 ch/typeck.c:3680 ch/xtypeck.c:66
+#: c-typeck.c:3308
#, c-format
msgid "register variable `%s' used in nested function"
msgstr ""
-#: c-typeck.c:3445 ch/typeck.c:3687 ch/xtypeck.c:73
+#: c-typeck.c:3315
#, c-format
msgid "address of global register variable `%s' requested"
msgstr ""
-#: c-typeck.c:3457 ch/typeck.c:3699 ch/xtypeck.c:85
+#: c-typeck.c:3327
msgid "cannot put object with volatile field into register"
msgstr ""
-#: c-typeck.c:3461 ch/typeck.c:3703 ch/xtypeck.c:89
+#: c-typeck.c:3331
#, c-format
msgid "address of register variable `%s' requested"
msgstr ""
-#: c-typeck.c:3569
+#: c-typeck.c:3439
msgid "signed and unsigned type in conditional expression"
msgstr ""
-#: c-typeck.c:3576
+#: c-typeck.c:3446
msgid "ISO C forbids conditional expr with only one void side"
msgstr ""
-#: c-typeck.c:3592 c-typeck.c:3599
+#: c-typeck.c:3462 c-typeck.c:3469
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr ""
-#: c-typeck.c:3605
+#: c-typeck.c:3475
msgid "pointer type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3612 c-typeck.c:3622
+#: c-typeck.c:3482 c-typeck.c:3492
msgid "pointer/integer type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3636
+#: c-typeck.c:3506
msgid "type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3707 cp/typeck.c:5044
+#: c-typeck.c:3577 cp/typeck.c:4597
msgid "left-hand operand of comma expression has no effect"
msgstr ""
-#: c-typeck.c:3746
+#: c-typeck.c:3621
msgid "cast specifies array type"
msgstr ""
-#: c-typeck.c:3752
+#: c-typeck.c:3627
msgid "cast specifies function type"
msgstr ""
-#: c-typeck.c:3762
+#: c-typeck.c:3637
msgid "ISO C forbids casting nonscalar to the same type"
msgstr ""
-#: c-typeck.c:3781
+#: c-typeck.c:3656
msgid "ISO C forbids casts to union type"
msgstr ""
-#: c-typeck.c:3797
+#: c-typeck.c:3671
msgid "cast to union type from type not present in union"
msgstr ""
+#: 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:3840
+#: c-typeck.c:3727
msgid "cast discards qualifiers from pointer target type"
msgstr ""
-#: c-typeck.c:3855
+#: c-typeck.c:3742
msgid "cast increases required alignment of target type"
msgstr ""
-#: c-typeck.c:3861 cp/typeck.c:5458
+#: c-typeck.c:3748 cp/typeck.c:5027
msgid "cast from pointer to integer of different size"
msgstr ""
-#: c-typeck.c:3866
+#: c-typeck.c:3753
msgid "cast does not match function type"
msgstr ""
-#: c-typeck.c:3873 cp/typeck.c:5465
+#: 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:4031
+#: c-typeck.c:3935
#, fuzzy
msgid "invalid lvalue in assignment"
msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
#. Convert new value to destination type.
-#: c-typeck.c:4040 c-typeck.c:4065 c-typeck.c:4082 ch/typeck.c:2334
-#: cp/typeck.c:5575 cp/typeck.c:5726
+#: c-typeck.c:3944 c-typeck.c:3969 c-typeck.c:3986 cp/typeck.c:5145
+#: cp/typeck.c:5294
#, fuzzy
msgid "assignment"
msgstr "ðñïóðÝñáóìá ïñßóìáôïò"
-#: c-typeck.c:4249 c-typeck.c:4316
+#: c-typeck.c:4056
+#, fuzzy
+msgid "cannot pass rvalue to reference parameter"
+msgstr "äåí åßíáé äõíáôüí íá ãßíåé `stat' ôï locale áñ÷åßï `%s'"
+
+#: c-typeck.c:4160 c-typeck.c:4227
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr ""
-#: c-typeck.c:4253 c-typeck.c:4296
+#: c-typeck.c:4164 c-typeck.c:4207
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr ""
-#: c-typeck.c:4259
+#: c-typeck.c:4170
msgid "ISO C prohibits argument conversion to union type"
msgstr ""
-#: c-typeck.c:4288
+#: c-typeck.c:4199
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
msgstr ""
-#: c-typeck.c:4305
+#: c-typeck.c:4216
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr ""
-#: c-typeck.c:4321
+#: c-typeck.c:4232
#, c-format
msgid "%s from incompatible pointer type"
msgstr ""
-#: c-typeck.c:4337
+#: c-typeck.c:4248
#, c-format
msgid "%s makes pointer from integer without a cast"
-msgstr ""
+msgstr "%s ìåôáôñÝðåé áêÝñáéï óå äåßêôç ÷ùñßò ìåôáôñïðÝá"
-#: c-typeck.c:4345
+#: c-typeck.c:4256
#, c-format
msgid "%s makes integer from pointer without a cast"
msgstr ""
-#: c-typeck.c:4359 c-typeck.c:4362
+#: c-typeck.c:4270 c-typeck.c:4273
#, fuzzy, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
-#: c-typeck.c:4366
+#: c-typeck.c:4277
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr ""
-#: c-typeck.c:4370
+#: c-typeck.c:4281
#, fuzzy, c-format
msgid "incompatible types in %s"
msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
#. Function name is known; supply it.
-#: c-typeck.c:4401
+#: c-typeck.c:4339
#, fuzzy, c-format
+msgid "passing arg of `%s'"
+msgstr "ôï ðÝñáóìá ôïõ ïñßóìáôïò %d áðü `%s'"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4349
+#, fuzzy
+msgid "passing arg of pointer to function"
+msgstr "ôï ðÝñáóìá ôïõ ïñßóìáôïò %d ôïõ äåßêôç óôç óõíÜñôçóç"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4357
+#, c-format
msgid "passing arg %d of `%s'"
-msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
+msgstr "ôï ðÝñáóìá ôïõ ïñßóìáôïò %d áðü `%s'"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4411
+#: c-typeck.c:4367
#, c-format
msgid "passing arg %d of pointer to function"
-msgstr ""
+msgstr "ôï ðÝñáóìá ôïõ ïñßóìáôïò %d ôïõ äåßêôç óôç óõíÜñôçóç"
-#: c-typeck.c:4478
+#: c-typeck.c:4433
msgid "initializer for static variable is not constant"
msgstr ""
-#: c-typeck.c:4484
+#: c-typeck.c:4439
msgid "initializer for static variable uses complicated arithmetic"
msgstr ""
-#: c-typeck.c:4492
+#: c-typeck.c:4447
msgid "aggregate initializer is not constant"
msgstr ""
-#: c-typeck.c:4494
+#: c-typeck.c:4449
msgid "aggregate initializer uses complicated arithmetic"
msgstr ""
-#: c-typeck.c:4501
+#: c-typeck.c:4456
msgid "traditional C rejects automatic aggregate initialization"
msgstr ""
# src/request.c:263
-#: c-typeck.c:4689 c-typeck.c:4705 c-typeck.c:4721
+#: c-typeck.c:4635 c-typeck.c:4651 c-typeck.c:4667
#, fuzzy, c-format
msgid "(near initialization for `%s')"
msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
-#: c-typeck.c:4773 cp/typeck2.c:531
+#: c-typeck.c:4718 cp/typeck2.c:505
msgid "char-array initialized from wide string"
msgstr ""
-#: c-typeck.c:4780 cp/typeck2.c:538
+#: c-typeck.c:4725 cp/typeck2.c:512
msgid "int-array initialized from non-wide string"
msgstr ""
-#: c-typeck.c:4798 cp/typeck2.c:554
+#: c-typeck.c:4743 cp/typeck2.c:528
msgid "initializer-string for array of chars is too long"
msgstr ""
-#: c-typeck.c:4834
+#: c-typeck.c:4781
msgid "array initialized from non-constant array expression"
msgstr ""
-#: c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4869 c-typeck.c:4890
-#: c-typeck.c:6311
+#: c-typeck.c:4798 c-typeck.c:4800 c-typeck.c:4816 c-typeck.c:4837
+#: c-typeck.c:6237
#, fuzzy
msgid "initializer element is not constant"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
# src/request.c:263
-#: c-typeck.c:4885
-#, fuzzy
+#: c-typeck.c:4832
msgid "initialization"
-msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
+msgstr "áñ÷éêïðïßçóç"
-#: c-typeck.c:4896 c-typeck.c:6316
+#: c-typeck.c:4843 c-typeck.c:6242
msgid "initializer element is not computable at load time"
msgstr ""
-#: c-typeck.c:4933 c-typeck.c:4949 cp/typeck2.c:631
+#: c-typeck.c:4858 cp/typeck2.c:605
#, fuzzy
msgid "invalid initializer"
msgstr "ìç Ýãêõñï ìÝãåèïò ïñéæüíôéïõ óôçëïèÝôç: %s"
-#: c-typeck.c:5434
+#: c-typeck.c:5351
#, fuzzy
msgid "extra brace group at end of initializer"
msgstr "áêïëïõèïýí óêïõðßäéá óôï ôÝëïò ôçò ãñáììÞò"
-#: c-typeck.c:5454
+#: c-typeck.c:5371
msgid "missing braces around initializer"
msgstr ""
-#: c-typeck.c:5506
+#: c-typeck.c:5431
msgid "braces around scalar initializer"
msgstr ""
-#: c-typeck.c:5554
+#: c-typeck.c:5479
msgid "initialization of flexible array member in a nested context"
msgstr ""
-#: c-typeck.c:5556
+#: c-typeck.c:5481
msgid "initialization of a flexible array member"
msgstr ""
-#: c-typeck.c:5587
+#: c-typeck.c:5512
#, fuzzy
msgid "missing initializer"
msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
-#: c-typeck.c:5612
+#: c-typeck.c:5538
msgid "empty scalar initializer"
msgstr ""
-#: c-typeck.c:5617
+#: c-typeck.c:5543
msgid "extra elements in scalar initializer"
msgstr ""
-#: c-typeck.c:5703
+#: c-typeck.c:5629
msgid "initialization designators may not nest"
msgstr ""
-#: c-typeck.c:5724 c-typeck.c:5795
+#: c-typeck.c:5650 c-typeck.c:5721
msgid "array index in non-array initializer"
msgstr ""
-#: c-typeck.c:5729 c-typeck.c:5847
+#: c-typeck.c:5655 c-typeck.c:5773
msgid "field name not in record or union initializer"
msgstr ""
-#: c-typeck.c:5791 c-typeck.c:5793
+#: c-typeck.c:5717 c-typeck.c:5719
msgid "nonconstant array index in initializer"
msgstr ""
-#: c-typeck.c:5798
+#: c-typeck.c:5724
msgid "array index in initializer exceeds array bounds"
msgstr ""
-#: c-typeck.c:5809
+#: c-typeck.c:5735
msgid "empty index range in initializer"
msgstr ""
-#: c-typeck.c:5818
+#: c-typeck.c:5744
msgid "array index range in initializer exceeds array bounds"
msgstr ""
-#: c-typeck.c:5859
+#: c-typeck.c:5785
#, c-format
msgid "unknown field `%s' specified in initializer"
msgstr ""
-#: c-typeck.c:5896 c-typeck.c:5917 c-typeck.c:6379
+#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304
msgid "initialized field with side-effects overwritten"
msgstr ""
-#: c-typeck.c:6589
+#: c-typeck.c:6514
msgid "excess elements in char array initializer"
msgstr ""
-#: c-typeck.c:6596 c-typeck.c:6642
+#: c-typeck.c:6521 c-typeck.c:6567
msgid "excess elements in struct initializer"
msgstr ""
-#: c-typeck.c:6709
+#: c-typeck.c:6582
+msgid "non-static initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:6644
msgid "excess elements in union initializer"
msgstr ""
-#: c-typeck.c:6730
+#: c-typeck.c:6665
msgid "traditional C rejects initialization of unions"
msgstr ""
-#: c-typeck.c:6793
+#: c-typeck.c:6728
msgid "excess elements in array initializer"
msgstr ""
-#: c-typeck.c:6819
+#: c-typeck.c:6757
+msgid "excess elements in vector initializer"
+msgstr ""
+
+#: c-typeck.c:6779
msgid "excess elements in scalar initializer"
msgstr ""
-#: c-typeck.c:6930 ch/parse.c:2026
+#: c-typeck.c:6886
#, fuzzy
msgid "asm template is not a string constant"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-#: c-typeck.c:6962
+#: c-typeck.c:6918
msgid "invalid lvalue in asm statement"
msgstr ""
-#: c-typeck.c:7033
+#: c-typeck.c:6993
#, fuzzy
msgid "modification by `asm'"
msgstr "Ç ôñïðïðïßçóç áðÝôõ÷å"
-#: c-typeck.c:7052 cp/typeck.c:6576
+#: c-typeck.c:7012 cp/typeck.c:6152
msgid "function declared `noreturn' has a `return' statement"
msgstr ""
-#: c-typeck.c:7059
+#: c-typeck.c:7019
msgid "`return' with no value, in function returning non-void"
msgstr "`return' ÷ùñßò ôéìÞ, óå óõíÜñôçóç ðïõ åðéóôñÝöåé ìç-êåíü"
-#: c-typeck.c:7065
+#: c-typeck.c:7025
msgid "`return' with a value, in function returning void"
msgstr ""
-#: c-typeck.c:7069
+#: c-typeck.c:7029
msgid "return"
-msgstr ""
+msgstr "åðéóôñïöÞ"
-#: c-typeck.c:7120
+#: c-typeck.c:7081
msgid "function returns address of local variable"
msgstr ""
-#: c-typeck.c:7177 cp/semantics.c:525
+#: c-typeck.c:7137 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr ""
-#: c-typeck.c:7187
+#: c-typeck.c:7147
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr ""
-#: c-typeck.c:7222 cp/decl.c:5230
+#: c-typeck.c:7182 cp/decl.c:5173
msgid "case label not within a switch statement"
msgstr ""
-#: c-typeck.c:7224 cp/decl.c:5235
+#: c-typeck.c:7184 cp/decl.c:5178
msgid "`default' label not within a switch statement"
msgstr ""
-#: calls.c:1901
+#: calls.c:1921
#, c-format
msgid "inlining failed in call to `%s'"
msgstr ""
-#: calls.c:1902 calls.c:2208
+#: calls.c:1922 calls.c:2228
msgid "called from here"
msgstr ""
-#: calls.c:2207
+#: calls.c:2227
#, fuzzy, c-format
msgid "can't inline call to `%s'"
msgstr "áäõíáìßá åêôÝëåóçò ioctl óôï `%s'"
-#: calls.c:2237
+#: calls.c:2257
msgid "function call has aggregate value"
msgstr ""
-#: calls.c:4539
+#: calls.c:4614
msgid "variable offset is passed partially in stack and in reg"
msgstr ""
-#: calls.c:4541
+#: calls.c:4616
msgid "variable size is passed partially in stack and in reg"
msgstr ""
-#: cfgrtl.c:1578
+#: 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:1592
+#: cfgrtl.c:1744
#, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr ""
-#: cfgrtl.c:1604
+#: cfgrtl.c:1756
#, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr ""
-#: cfgrtl.c:1623
+#: cfgrtl.c:1778
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr ""
+
+#: cfgrtl.c:1785
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1791
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1799
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr ""
-#: cfgrtl.c:1642
+#: cfgrtl.c:1805
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1811
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1841
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1657
+#: cfgrtl.c:1856
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1659
+#: cfgrtl.c:1858
msgid "wrong insn in the fallthru edge"
msgstr ""
-#: cfgrtl.c:1666
+#: cfgrtl.c:1865
#, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr ""
-#: cfgrtl.c:1690
+#: cfgrtl.c:1881
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr ""
+
+#: cfgrtl.c:1889
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr ""
+
+#: cfgrtl.c:1894
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1899
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1905
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1910
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1919
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1934
#, c-format
msgid "missing barrier after block %i"
msgstr ""
-#: cfgrtl.c:1700
+#: cfgrtl.c:1944
#, c-format
msgid "basic block %d pred edge is corrupted"
msgstr ""
-#: cfgrtl.c:1717
+#: cfgrtl.c:1961
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr ""
-#: cfgrtl.c:1721
+#: cfgrtl.c:1965
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is %i"
msgstr ""
-#: cfgrtl.c:1735 cfgrtl.c:1745
+#: cfgrtl.c:1979 cfgrtl.c:1989
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr ""
-#: cfgrtl.c:1758
+#: cfgrtl.c:2002
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr ""
-#: cfgrtl.c:1770
+#: cfgrtl.c:2014
#, c-format
msgid "in basic block %d:"
msgstr ""
-#: cfgrtl.c:1771
+#: cfgrtl.c:2015
msgid "flow control insn inside a basic block"
msgstr ""
-#: cfgrtl.c:1790
+#: cfgrtl.c:2034
#, c-format
msgid "basic block %i edge lists are corrupted"
msgstr ""
-#: cfgrtl.c:1804
+#: cfgrtl.c:2049
msgid "basic blocks not numbered consecutively"
msgstr ""
-#: cfgrtl.c:1829
+#: cfgrtl.c:2074
msgid "insn outside basic block"
msgstr ""
-#: cfgrtl.c:1837
+#: cfgrtl.c:2082
msgid "return not followed by barrier"
msgstr ""
-#: cfgrtl.c:1842
+#: cfgrtl.c:2087
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr ""
-#: cfgrtl.c:1846
+#: cfgrtl.c:2091
msgid "verify_flow_info failed"
msgstr ""
-#: collect2.c:439
-#, fuzzy
+#: collect2.c:425
msgid "internal error"
-msgstr "Åóùôåñéêü óöÜëìá NIS"
+msgstr "åóùôåñéêü óöÜëìá"
-#: collect2.c:940
-#, fuzzy
+#: collect2.c:934
msgid "no arguments"
-msgstr "ðïëý ëßãá ïñßóìáôá"
+msgstr "÷ùñßò ïñßóìáôá"
# src/getopt1.c:132
# src/getopt1.c:132
-#: collect2.c:1269 collect2.c:1417 collect2.c:1450
-#, fuzzy, c-format
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
+#, c-format
msgid "fopen %s"
-msgstr "åðéëïãÞ %s"
+msgstr "fopen %s"
-#: collect2.c:1272 collect2.c:1422 collect2.c:1453
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
-msgstr ""
+msgstr "fclose %s"
-#: 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
#, fuzzy, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s: Ï ðñïåðåîåñãáóôÞò C áðÝôõ÷å ìå óÞìá %d\n"
-#: collect2.c:1533
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
msgstr ""
-#: collect2.c:1561
+#: collect2.c:1555
#, fuzzy, c-format
msgid "[cannot find %s]"
msgstr "Äåí åßíáé äõíáôüí íá åêôåëåóôåß ôï %s"
-#: collect2.c:1576
+#: collect2.c:1570
#, fuzzy, c-format
msgid "cannot find `%s'"
msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
-#: 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
#, fuzzy, c-format
msgid "[Leaving %s]\n"
msgstr "äéáãñáöÞ êáôáëüãïõ %s\n"
-#: collect2.c:1876
+#: collect2.c:1870
#, c-format
-msgid "\nwrite_c_file - output name is %s, prefix is %s\n"
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
msgstr ""
-#: collect2.c:2089
+#: collect2.c:2083
#, fuzzy
msgid "cannot find `nm'"
msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
-#: collect2.c:2099 collect2.c:2541
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
-msgstr ""
+msgstr "óùëÞíùóç"
-#: collect2.c:2103 collect2.c:2545
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
-msgstr ""
+msgstr "fdopen"
-#: collect2.c:2129 collect2.c:2571
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
-msgstr ""
+msgstr "dup2 %d 1"
-#: collect2.c:2132 collect2.c:2135 collect2.c:2148 collect2.c:2574
-#: collect2.c:2577 collect2.c:2590
-#, fuzzy, c-format
+#: collect2.c:2126 collect2.c:2129 collect2.c:2142 collect2.c:2568
+#: collect2.c:2571 collect2.c:2584
+#, c-format
msgid "close %d"
-msgstr "ôï %s åßíáé êëåéóôü"
+msgstr "close %d"
-#: collect2.c:2138
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr ""
+msgid "execv %s"
+msgstr "execv %s"
-#: 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
-#, fuzzy
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
-msgstr "áñ÷åßï"
+msgstr "fclose"
-#: collect2.c:2268
+#: collect2.c:2262
#, fuzzy, c-format
msgid "unable to open file '%s'"
msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: collect2.c:2270
+#: collect2.c:2264
#, fuzzy, c-format
msgid "unable to stat file '%s'"
msgstr "áäõíáìßá ðñïóðÝëáóçò(stat()) áñ÷åßïõ `%s': %s"
-#: collect2.c:2276
+#: collect2.c:2270
#, fuzzy, c-format
msgid "unable to mmap file '%s'"
msgstr "Áäõíáìßá ìåôáöïñÜò óôç ìíÞìç (mmap) ôïõ áñ÷åßïõ %s.\n"
-#: collect2.c:2429
-#, fuzzy
+#: collect2.c:2423
msgid "not found\n"
-msgstr "Äå âñÝèçêå"
+msgstr "äå âñÝèçêå\n"
-#: 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
#, fuzzy, c-format
msgid "bad magic number in file '%s'"
msgstr "ìç Ýãêõñïò áñéèìüò áñ÷åßïõ óôç äÞëùóç ðåäßïõ: `%s'"
-#: collect2.c:2473
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
-msgstr ""
+msgstr "äõíáìéêÝò åîáñôÞóåéò.\n"
-#: collect2.c:2532
+#: collect2.c:2526
#, fuzzy
msgid "cannot find `ldd'"
msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
-#: collect2.c:2580
-#, c-format
-msgid "execv %s"
-msgstr ""
-
-#: collect2.c:2593
-msgid "\nldd output with constructors/destructors.\n"
+#: 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
#, fuzzy, c-format
msgid "%s: not a COFF file"
msgstr "%s: Äåí åßíáé êáíïíéêü áñ÷åßï"
-#: collect2.c:2853
+#: collect2.c:2847
#, fuzzy, c-format
msgid "%s: cannot open as COFF file"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ"
-#: collect2.c:2909
+#: collect2.c:2903
#, fuzzy, c-format
msgid "library lib%s not found"
msgstr "Ðéèáíüí äå âñÝèçêå"
# src/getopt1.c:132
# src/getopt1.c:132
-#: collect2.c:3038
-#, fuzzy, c-format
+#: collect2.c:3030
+#, c-format
msgid "open %s"
-msgstr "åðéëïãÞ %s"
+msgstr "open %s"
-#: collect2.c:3061
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
msgstr ""
-#: collect2.c:3134
+#: collect2.c:3126
#, c-format
-msgid "\nProcessing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
msgstr ""
-#: collect2.c:3143
+#: collect2.c:3135
msgid "string section missing"
msgstr ""
-#: collect2.c:3146
+#: collect2.c:3138
#, fuzzy
msgid "section pointer missing"
msgstr "ïñéóìüò äéêáéùìÜôùí óôï %s"
-#: collect2.c:3194
+#: collect2.c:3186
#, fuzzy
msgid "no symbol table found"
msgstr "äåí äþèçêå óõìâïëéêü üíïìá"
-#: collect2.c:3207
+#: collect2.c:3199
#, fuzzy
msgid "no cmd_strings found"
msgstr "Äåí âñÝèçêå ìÝóï"
-#: collect2.c:3219
-msgid "\nUpdating header and load commands.\n\n"
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
msgstr ""
-#: collect2.c:3226
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
msgstr ""
-#: collect2.c:3257
+#: collect2.c:3249
#, fuzzy
-msgid "writing load commands.\n\n"
+msgid ""
+"writing load commands.\n"
+"\n"
msgstr "¸÷åé ðáñáëçöèåß åíôïëÞ"
-#: collect2.c:3277
-#, fuzzy, c-format
+#: collect2.c:3269
+#, c-format
msgid "close %s"
-msgstr "Êëåßóéìï ôïõ `%s'"
+msgstr "close %s"
-#: collect2.c:3351
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
msgstr ""
-#: collect2.c:3355
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
msgstr ""
-#: collect2.c:3482
+#: collect2.c:3474
#, fuzzy
msgid "bad magic number"
msgstr "ÅóöáëìÝíïò áñéèìüò áñ÷åßïõ"
-#: collect2.c:3483
+#: collect2.c:3475
msgid "bad header version"
-msgstr ""
+msgstr "åóöáëìÝíç Ýêäïóç êåöáëßäáò"
-#: collect2.c:3484
+#: collect2.c:3476
msgid "bad raw header version"
msgstr ""
-#: collect2.c:3485
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr ""
-#: collect2.c:3486
+#: collect2.c:3478
#, fuzzy
msgid "old raw header file"
msgstr "Äåí åßíáé åðþíõìï áñ÷åßï"
-#: collect2.c:3487
+#: collect2.c:3479
#, fuzzy
msgid "unsupported version"
msgstr "ÅìöÜíéóç Ýêäïóçò ðñïãñÜììáôïò"
-#: collect2.c:3489
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr ""
# src/request.c:37
-#: collect2.c:3509
-#, fuzzy, c-format
+#: collect2.c:3501
+#, c-format
msgid "fstat %s"
-msgstr "%s óå %s"
+msgstr "fstat %s"
-#: collect2.c:3546 collect2.c:3594
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
-msgstr ""
+msgstr "lseek %s 0"
-#: collect2.c:3550
-#, fuzzy, c-format
+#: collect2.c:3542
+#, c-format
msgid "read %s"
-msgstr "óöÜëìá áíÜãíùóçò %s"
+msgstr "read %s"
-#: collect2.c:3553
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr ""
-#: collect2.c:3574
+#: collect2.c:3566
#, c-format
msgid "msync %s"
-msgstr ""
+msgstr "msync %s"
-#: collect2.c:3581
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
-msgstr ""
+msgstr "munmap %s"
-#: collect2.c:3598
-#, fuzzy, c-format
+#: collect2.c:3590
+#, c-format
msgid "write %s"
-msgstr "óöÜëìá åããñáöÞò"
+msgstr "write %s"
-#: collect2.c:3601
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr ""
-#: combine.c:12639
+#: combine.c:12966
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
@@ -3814,7 +4069,7 @@ msgid ""
"\n"
msgstr ""
-#: combine.c:12649
+#: combine.c:12976
#, c-format
msgid ""
"\n"
@@ -3822,984 +4077,883 @@ msgid ""
";; %d successes.\n"
msgstr ""
-#: convert.c:67
+#: convert.c:69
#, fuzzy
msgid "cannot convert to a pointer type"
msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ï ôýðïò ôïõ åðåîåñãáóôÞ."
-#: convert.c:100
+#: convert.c:102
msgid "pointer value used where a floating point value was expected"
msgstr ""
-#: convert.c:104
+#: convert.c:106
msgid "aggregate value used where a float was expected"
msgstr ""
-#: convert.c:130
+#: convert.c:132
#, fuzzy
msgid "conversion to incomplete type"
msgstr "ìç ðëÞñçò åããñáöÞ"
-#: convert.c:390 convert.c:470
+#: convert.c:414 convert.c:494
msgid "can't convert between vector values of different size"
msgstr ""
-#: convert.c:396
+#: convert.c:420
msgid "aggregate value used where an integer was expected"
msgstr ""
-#: convert.c:448 f/com.c:1073
+#: convert.c:472 f/com.c:1100
msgid "pointer value used where a complex was expected"
msgstr ""
-#: convert.c:452 f/com.c:1075
+#: convert.c:476 f/com.c:1102
msgid "aggregate value used where a complex was expected"
msgstr ""
-#: convert.c:476
+#: convert.c:500
msgid "can't convert value to a vector"
msgstr ""
-#: cpperror.c:125
-#, fuzzy
-msgid "internal error: "
-msgstr "Åóùôåñéêü óöÜëìá NIS"
-
-#: cpperror.c:132 tradcpp.c:4679
+#: cpperror.c:113
msgid "warning: "
msgstr "ðñïåéäïðïßçóç: "
+#: cpperror.c:115
+msgid "internal error: "
+msgstr "åóùôåñéêü óöÜëìá: "
+
+#: cpperror.c:189
+#, fuzzy
+msgid "stdout"
+msgstr "äïìÞ"
+
# src/request.c:37
-#: cpperror.c:209 cpperror.c:299 cppfiles.c:691 gcc.c:6318 tradcpp.c:4717
-#, fuzzy, c-format
+#: cpperror.c:191 gcc.c:6444
+#, c-format
msgid "%s: %s"
-msgstr "%s óå %s"
+msgstr "%s: %s"
+
+#: cppexp.c:199
+#, fuzzy
+msgid "too many decimal points in number"
+msgstr "Õðåñâïëéêá ðïëëÜ áíïéêôÜ áñ÷åßá óôï óýóôçìá"
+
+#: cppexp.c:219
+#, fuzzy, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
-#: cppexp.c:154
-msgid "floating point numbers are not valid in #if"
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: cppexp.c:176
-msgid "traditional C rejects the `U' suffix"
+#: cppexp.c:234
+msgid "exponent has no digits"
msgstr ""
-#: cppexp.c:179
-msgid "too many 'l' suffixes in integer constant"
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
msgstr ""
-#: cppexp.c:183
-msgid "integer constant contains digits beyond the radix"
+#: cppexp.c:247
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
+
+#: cppexp.c:257 cppexp.c:282
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: cppexp.c:186
+#: cppexp.c:268
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
+
+#: cppexp.c:289
#, fuzzy
-msgid "integer constant out of range"
-msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
+msgid "use of C99 long long integer constant"
+msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
+msgstr ""
-#: cppexp.c:192
+#: cppexp.c:383
#, fuzzy
-msgid "integer constant is so large that it is unsigned"
+msgid "integer constant is too large for its type"
msgstr "%s: ôï %s åßíáé ôüóï ìåãÜëï ðïõ äå ìðïñåß íá áíáðáñáóôáèåß"
-#: cppexp.c:201
-#, c-format
-msgid "invalid suffix '%.*s' on integer constant"
-msgstr ""
+#: cppexp.c:395
+#, fuzzy
+msgid "integer constant is so large that it is unsigned"
+msgstr "%s: ôï %s åßíáé ôüóï ìåãÜëï ðïõ äå ìðïñåß íá áíáðáñáóôáèåß"
-#: cppexp.c:234
+#: cppexp.c:482
#, fuzzy
msgid "missing ')' after \"defined\""
msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôá ðåäßá"
-#: cppexp.c:240
+#: cppexp.c:489
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: cppexp.c:248
+#: cppexp.c:497
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: cppexp.c:259
+#: cppexp.c:507
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: cppexp.c:305
-msgid "string constants are not valid in #if"
-msgstr ""
-
-#: cppexp.c:309
-#, fuzzy, c-format
-msgid "invalid character '%c' in #if"
-msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
+#: cppexp.c:545
+#, fuzzy
+msgid "floating constant in preprocessor expression"
+msgstr "Åîáßñåóç êéíçôÞò õðïäéáóôïëÞò"
-#: cppexp.c:311
-#, fuzzy, c-format
-msgid "invalid character '\\%03o' in #if"
-msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
+#: cppexp.c:551
+#, fuzzy
+msgid "imaginary number in preprocessor expression"
+msgstr "ìç Ýãêõñïò áñéèìüò áðü ãñáììÝò"
-#: cppexp.c:328
+#: cppexp.c:596
#, c-format
msgid "ISO C++ does not permit \"%s\" in #if"
msgstr ""
-#: cppexp.c:339
+#: cppexp.c:604
#, fuzzy, c-format
msgid "\"%s\" is not defined"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cppexp.c:365
+#: cppexp.c:737 cppexp.c:772
#, fuzzy, c-format
-msgid "\"%s\" is not valid in #if expressions"
-msgstr "%s: ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç: %s"
+msgid "missing binary operator before token \"%s\""
+msgstr "%s: Áíáìåíüôáí äõáäéêüò ÷åéñéóôÞò.\n"
-#: cppexp.c:380
-msgid "integer overflow in preprocessor expression"
-msgstr ""
+#: cppexp.c:756
+#, fuzzy, c-format
+msgid "invalid character '%c' in #if"
+msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
-#: cppexp.c:610
-#, fuzzy
-msgid "missing binary operator"
-msgstr "Áãíùóôïò äõáäéêüò ÷åéñéóôÞò."
+#: cppexp.c:758
+#, fuzzy, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
+
+#: cppexp.c:763
+#, fuzzy, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "%s: ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç: %s"
-#: cppexp.c:645
+#: cppexp.c:782
msgid "void expression between '(' and ')'"
msgstr ""
-#: cppexp.c:647
-#, c-format
-msgid "operator '%s' has no right operand"
+#: cppexp.c:785
+msgid "#if with no expression"
msgstr ""
-#: cppexp.c:659
+#: cppexp.c:787
#, c-format
-msgid "impossible operator '%s'"
+msgid "operator '%s' has no right operand"
msgstr ""
-#: cppexp.c:735 tradcif.y:111 tradcif.y:122
-#, fuzzy
-msgid "division by zero in #if"
-msgstr "Äéáßñåóç ìå ìçäÝí óôçí áðïôßìçóç: %s"
-
-#: cppexp.c:769
-msgid "comma operator in operand of #if"
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
msgstr ""
-#: cppexp.c:774
-#, fuzzy
-msgid "syntax error '?' without following ':'"
-msgstr "óõíôáêôéêü óöÜëìá óôïí ðñüëïãï: %s"
-
-#: cppexp.c:777
-msgid "syntax error ':' without preceding '?'"
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
msgstr ""
-#: cppexp.c:785
+#: cppexp.c:862
+#, fuzzy, c-format
+msgid "impossible operator '%u'"
+msgstr "RPC: Ìç óõìâáôÝò åêäüóåéò ôïõ RPC"
+
+#: cppexp.c:954
#, fuzzy
msgid "missing ')' in expression"
msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôéò èÝóåéò"
-#: cppexp.c:792
+#: cppexp.c:975
+#, fuzzy
+msgid "'?' without following ':'"
+msgstr "óõíôáêôéêü óöÜëìá óôïí ðñüëïãï: %s"
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr ""
+
+#: cppexp.c:990
#, fuzzy
msgid "missing '(' in expression"
msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôéò èÝóåéò"
-#: cppexp.c:818
-#, fuzzy, c-format
-msgid "missing binary operator before '%s'"
-msgstr "%s: Áíáìåíüôáí äõáäéêüò ÷åéñéóôÞò.\n"
-
-#: cppexp.c:824
+#: cppexp.c:1026
#, c-format
-msgid "operator '%s' has no left operand"
+msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: cppexp.c:862
-msgid "unbalanced stack in #if"
+#: cppexp.c:1031
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: cppexp.c:865
-msgid "#if with no expression"
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
msgstr ""
+#: cppexp.c:1551
+#, fuzzy
+msgid "division by zero in #if"
+msgstr "Äéáßñåóç ìå ìçäÝí óôçí áðïôßìçóç: %s"
+
# src/shred.c:1134
-#: cppfiles.c:395
+#: cppfiles.c:411
#, fuzzy, c-format
msgid "%s is too large"
msgstr "%s: ôï áñ÷åßï åßíáé ðïëý ìåãÜëï"
-#: cppfiles.c:426
+#: cppfiles.c:447
#, fuzzy, c-format
msgid "%s is shorter than expected"
msgstr "%s: Áíáìåíüôáí äõáäéêüò ÷åéñéóôÞò.\n"
-#: cppfiles.c:440
+#: cppfiles.c:461
#, fuzzy, 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:639
+#: cppfiles.c:668
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: cppfiles.c:1029
+#: cppfiles.c:1014
msgid "absolute file name in remap_filename"
msgstr ""
-#: cppinit.c:230
+#: cppinit.c:224
#, fuzzy, c-format
msgid "ignoring nonexistent directory \"%s\"\n"
msgstr "äéáãñáöÞ ìç-êáôáëüãïõ `%s'\n"
-#: cppinit.c:237
+#: cppinit.c:231
#, fuzzy, c-format
msgid "%s: Not a directory"
msgstr "Äåí åßíáé êáôÜëïãïò"
-#: cppinit.c:284
+#: cppinit.c:287
#, fuzzy, c-format
msgid "ignoring duplicate directory \"%s\"\n"
msgstr "áäõíáìßá áëëáãÞò óôï êáôÜëïãï \"%s\""
-#: cppinit.c:312
-#, fuzzy, c-format
-msgid "changing search order for system directory \"%s\""
-msgstr "áäõíáìßá áëëáãÞò óôï êáôÜëïãï \"%s\""
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
+msgstr ""
+
+#: cppinit.c:891
+#, fuzzy
+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:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr ""
+
+#: 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:320
-msgid " as it has already been specified as a non-system directory"
+#: 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:927
+#: cppinit.c:972
msgid "#include \"...\" search starts here:\n"
msgstr ""
-#: cppinit.c:931
+#: cppinit.c:976
msgid "#include <...> search starts here:\n"
msgstr ""
-#: cppinit.c:934
+#: cppinit.c:979
#, fuzzy
msgid "End of search list.\n"
msgstr "ÔÝëïò ôìÞìáôïò"
-#: cppinit.c:1001
+#: cppinit.c:1055
msgid "<built-in>"
msgstr ""
-#: cppinit.c:1003
+#: cppinit.c:1057
msgid "<command line>"
msgstr ""
-#: cppinit.c:1099 tradcpp.c:968 tradcpp.c:978 tradcpp.c:1069
-#, fuzzy
-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:1147
-#, fuzzy, c-format
-msgid "argument missing after %s"
-msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-
-#: cppinit.c:1148
+#: cppinit.c:1162
#, fuzzy, c-format
msgid "assertion missing after %s"
msgstr "ïñéóìüò äéêáéùìÜôùí óôï %s"
-#: cppinit.c:1149
+#: cppinit.c:1163
#, c-format
msgid "directory name missing after %s"
msgstr ""
-#: cppinit.c:1150
+#: cppinit.c:1164
#, fuzzy, c-format
msgid "file name missing after %s"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: cppinit.c:1151
+#: cppinit.c:1165
#, c-format
msgid "macro name missing after %s"
msgstr ""
-#: cppinit.c:1152
+#: cppinit.c:1166
#, c-format
msgid "path name missing after %s"
msgstr ""
-#: cppinit.c:1153
-#, fuzzy, c-format
-msgid "number missing after %s"
-msgstr "ïñéóìüò äéêáéùìÜôùí óôï %s"
-
-#: cppinit.c:1154
-#, fuzzy, c-format
-msgid "target missing after %s"
-msgstr "Áñ÷Þ áñ÷åßïõ %s\n"
-
-#: cppinit.c:1338
-#, c-format
-msgid "too many filenames. Type %s --help for usage info"
-msgstr ""
-
-#: cppinit.c:1522 tradcpp.c:603
-msgid "output filename specified twice"
-msgstr ""
-
-#: cppinit.c:1634
+#: cppinit.c:1368
#, fuzzy
msgid "-I- specified twice"
msgstr "ìç ïñéóìÝíï"
-#: cppinit.c:1773
-#, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr ""
-
-#: cppinit.c:1814 tradcpp.c:792
-msgid "you must additionally specify either -M or -MM"
-msgstr ""
-
-#: cppinit.c:1877
-#, c-format
-msgid "Usage: %s [switches] input output\n"
-msgstr ""
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1880
-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:1889
-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:1898
-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:1905
-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:1911
-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:1921
-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:1929
-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:1937
-msgid ""
-" -M Generate make dependencies\n"
-" -MM As -M, 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:1943
-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:1948
-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:1956
-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:1964
-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:154
+#: cpplex.c:149
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: cpplex.c:162
+#: cpplex.c:157
#, c-format
msgid "trigraph ??%c ignored"
msgstr ""
-#: cpplex.c:218
+#: cpplex.c:214
msgid "backslash and newline separated by space"
msgstr ""
-#: cpplex.c:224
+#: cpplex.c:221 cpptrad.c:158
#, fuzzy
msgid "backslash-newline at end of file"
msgstr "ìç Ýãêõñç äéáöõãÞ ìå ðéóùêÜèåôï óôï ôÝëïò ôïõ áëöáñéèìçôéêïý"
-#: cpplex.c:290
+#: cpplex.c:287 cpptrad.c:199
msgid "\"/*\" within comment"
msgstr ""
-#: cpplex.c:373
+#: cpplex.c:395
#, fuzzy
msgid "null character(s) ignored"
msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò óôï áñ÷åßï: "
-#: cpplex.c:380
+#: cpplex.c:402
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: cpplex.c:447
+#: cpplex.c:475
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: cpplex.c:455
+#: cpplex.c:483
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: cpplex.c:508
-msgid "'$' character(s) in identifier"
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
msgstr ""
-#: cpplex.c:589
-#, fuzzy, c-format
+#: cpplex.c:698
+#, c-format
msgid "missing terminating %c character"
-msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
+msgstr "Ý÷åé ðáñáëçöèåß ôåñìáôéêüò ÷áñáêôÞñáò %c"
-#: cpplex.c:594
-#, fuzzy
-msgid "possible start of unterminated string literal"
-msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-
-#: cpplex.c:689
-msgid "multi-line string literals are deprecated"
-msgstr ""
-
-#: cpplex.c:712
+#: cpplex.c:711
msgid "null character(s) preserved in literal"
msgstr ""
-#: cpplex.c:914
+#: cpplex.c:915 cpptrad.c:487
#, fuzzy
msgid "no newline at end of file"
msgstr "%s: ðñüùñï ôÝëïò áñ÷åßïõ"
-#: cpplex.c:1034 tradcpp.c:1456
+#: cpplex.c:1092 cpptrad.c:213
#, fuzzy
msgid "unterminated comment"
msgstr "Ìç ôåñìáôéóìÝíç åíôïëÞ `s'"
-#: cpplex.c:1045
-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:1047
+#: cpplex.c:1105
msgid "(this will be reported only once per input file)"
msgstr ""
-#: cpplex.c:1052
+#: cpplex.c:1110
msgid "multi-line comment"
msgstr ""
-#: cpplex.c:1367
+#: cpplex.c:1425
#, fuzzy, c-format
msgid "unknown string token %s\n"
msgstr "¶ãíùóôÞ åðéëïãÞ ãéá ôï `s'"
-#: cpplex.c:1379
+#: cpplex.c:1438
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "%s: áäýíáôï ôï Üíïéãìá ôïõ %s: %m\n"
-#: cpplex.c:1635
+#: cpplex.c:1695
#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
+msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: cpplex.c:1641
+#: cpplex.c:1701
msgid "incomplete universal-character-name"
msgstr ""
-#: cpplex.c:1655
+#: cpplex.c:1715
#, c-format
msgid "non-hex digit '%c' in universal-character-name"
msgstr ""
-#: cpplex.c:1663
+#: cpplex.c:1723
msgid "universal-character-name on EBCDIC target"
msgstr ""
-#: cpplex.c:1677
+#: cpplex.c:1737
#, fuzzy
msgid "universal-character-name out of range"
msgstr "U+%04X: åêôüò ïñßùí ÷áñáêôÞñáò"
-#: cpplex.c:1722
-msgid "the meaning of '\\a' varies with -traditional"
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: cpplex.c:1729
+#: cpplex.c:1798
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr ""
-#: cpplex.c:1739
-msgid "the meaning of '\\x' varies with -traditional"
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: cpplex.c:1758 f/lex.c:610
+#: cpplex.c:1828 f/lex.c:585
msgid "\\x used with no following hex digits"
msgstr ""
-#: cpplex.c:1762
+#: cpplex.c:1833
#, fuzzy
msgid "hex escape sequence out of range"
msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
-#: cpplex.c:1786
+#: cpplex.c:1858
#, fuzzy
msgid "octal escape sequence out of range"
msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
# src/main.c:663
-#: cpplex.c:1801
+#: cpplex.c:1874
#, fuzzy, c-format
msgid "unknown escape sequence '\\%c'"
msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
# src/main.c:663
-#: cpplex.c:1803
+#: cpplex.c:1877
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%03o'"
msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
-#: cpplex.c:1807
-msgid "escape sequence out of range for character"
-msgstr ""
+#: cpplex.c:1882
+#, fuzzy
+msgid "escape sequence out of range for its type"
+msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
-#: cpplex.c:1897
+#: cpplex.c:1973
#, fuzzy
msgid "empty character constant"
msgstr "êåíü áëöáñéèìçôéêü"
-#: cpplex.c:1901
+#: cpplex.c:1983
#, fuzzy
-msgid "character constant too long"
+msgid "character constant too long for its type"
msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-#: cpplex.c:1904
+#: cpplex.c:1986
#, fuzzy
msgid "multi-character character constant"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: cpplib.c:221
+#: cpplib.c:225
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: cpplib.c:275
-msgid "style of line directive is a GCC extension"
-msgstr ""
-
-#: cpplib.c:283
+#: cpplib.c:315
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: cpplib.c:294
+#: cpplib.c:327
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: cpplib.c:297
+#: cpplib.c:330
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: cpplib.c:301
+#: cpplib.c:334
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: cpplib.c:383
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr ""
+
+#: cpplib.c:378
+msgid "style of line directive is a GCC extension"
+msgstr ""
+
+#: cpplib.c:427
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: cpplib.c:438
-#, 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:442
+#: cpplib.c:505
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: cpplib.c:445
+#: cpplib.c:508
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr ""
+
+#: cpplib.c:511
#, fuzzy
msgid "macro names must be identifiers"
msgstr "äéðëüò ðñïóäéïñéóôÞò ìçíýìáôïò"
-#: cpplib.c:456
-#, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr ""
-
-#: cpplib.c:494
+#: cpplib.c:551
#, fuzzy, c-format
msgid "undefining \"%s\""
msgstr "Ìç ïñéóìÝíï üíïìá %s"
-#: cpplib.c:540
+#: cpplib.c:597
#, fuzzy
msgid "missing terminating > character"
msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
-#: cpplib.c:575
+#: cpplib.c:636
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: cpplib.c:586
+#: cpplib.c:647
#, fuzzy, c-format
msgid "empty file name in #%s"
msgstr "Ìç ïñéóìÝíï üíïìá %s"
-#: cpplib.c:605
+#: cpplib.c:666
msgid "#include_next in primary source file"
msgstr ""
-#: cpplib.c:612
+#: cpplib.c:673
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
msgstr ""
-#: cpplib.c:620
+#: cpplib.c:681
msgid "#include nested too deeply"
msgstr ""
-#: cpplib.c:677
+#: cpplib.c:738
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: cpplib.c:732
+#: cpplib.c:813
#, fuzzy, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: cpplib.c:739
+#: cpplib.c:819
#, fuzzy
msgid "line number out of range"
msgstr "%s: áñéèìüò ãñáììÞò Ýîù áðü ôá üñéá"
-#: cpplib.c:777
+#: cpplib.c:830 cpplib.c:901
#, fuzzy, c-format
msgid "\"%s\" is not a valid filename"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: cpplib.c:846
+#: cpplib.c:865
+#, fuzzy, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+
+#: cpplib.c:972
#, fuzzy
msgid "invalid #ident directive"
msgstr "%%%c: êáôåõèõíôÞñéïò ãñáììÞ ìç Ýãêõñç."
-#: cpplib.c:934
+#: cpplib.c:1060
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: cpplib.c:937
+#: cpplib.c:1063
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: cpplib.c:939
+#: cpplib.c:1066
#, fuzzy, c-format
msgid "#pragma %s is already registered"
msgstr "ï ÷Üñôçò ÷áñáêôÞñùí `%s' ïñßóôçêå Þäç"
-#: cpplib.c:1014
+#: cpplib.c:1140
msgid "#pragma once is obsolete"
msgstr ""
-#: cpplib.c:1017
+#: cpplib.c:1143
msgid "#pragma once in main file"
msgstr ""
-#: cpplib.c:1041
+#: cpplib.c:1167
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: cpplib.c:1050
+#: cpplib.c:1176
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: cpplib.c:1070
+#: cpplib.c:1198
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: cpplib.c:1095
+#: cpplib.c:1223
#, fuzzy, c-format
msgid "cannot find source %s"
msgstr "áäõíáìßá áíïßãìáôïò õðïäï÷Þò: %s"
-#: cpplib.c:1099
+#: cpplib.c:1227
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: cpplib.c:1174
+#: cpplib.c:1343
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: cpplib.c:1273
+#: cpplib.c:1426
msgid "#else without #if"
msgstr ""
-#: cpplib.c:1278 tradcpp.c:3860
+#: cpplib.c:1431
msgid "#else after #else"
msgstr "#else ìåôÜ áðü #else"
-#: cpplib.c:1280 cpplib.c:1314
+#: cpplib.c:1433 cpplib.c:1467
msgid "the conditional began here"
msgstr ""
-#: cpplib.c:1307
+#: cpplib.c:1460
msgid "#elif without #if"
msgstr ""
-#: cpplib.c:1312 tradcpp.c:3555
+#: cpplib.c:1465
msgid "#elif after #else"
msgstr "#elif ìåôÜ áðü #else"
-#: cpplib.c:1343
+#: cpplib.c:1496
msgid "#endif without #if"
msgstr ""
-#: cpplib.c:1426 tradcpp.c:3252
+#: cpplib.c:1579
msgid "missing '(' after predicate"
msgstr ""
-#: cpplib.c:1441 tradcpp.c:3266
+#: cpplib.c:1594
msgid "missing ')' to complete answer"
msgstr ""
-#: cpplib.c:1461 tradcpp.c:3272
+#: cpplib.c:1614
msgid "predicate's answer is empty"
msgstr ""
-#: cpplib.c:1491 tradcpp.c:3320
+#: cpplib.c:1644
#, fuzzy
msgid "assertion without predicate"
msgstr "Ç ëåéôïõñãßá äåí åðéôñÝðåôáé"
-#: cpplib.c:1493 tradcpp.c:3322
+#: cpplib.c:1646
#, fuzzy
msgid "predicate must be an identifier"
msgstr "äéðëüò ðñïóäéïñéóôÞò ìçíýìáôïò"
-#: cpplib.c:1575 tradcpp.c:3419
+#: cpplib.c:1735
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: cpplib.c:1805
+#: cpplib.c:1965
#, fuzzy, c-format
msgid "unterminated #%s"
msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-#: cppmacro.c:148
+#: cppmacro.c:94
+#, fuzzy, c-format
+msgid "macro \"%s\" is not used"
+msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+#: cppmacro.c:139 cppmacro.c:294
#, fuzzy, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ìç Ýãêõñï ìÞêïò ãñáììÞò: %s"
-#: cppmacro.c:348
+#: cppmacro.c:234
+#, fuzzy
+msgid "could not determine date and time"
+msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
+
+#: cppmacro.c:407
#, fuzzy
msgid "invalid string literal, ignoring final '\\'"
msgstr "ìç Ýãêõñïò áñ÷éêüò áñéèìüò ãñáììÞò: `%s'"
-#: cppmacro.c:440
+#: cppmacro.c:504
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: cppmacro.c:566
-msgid "directives may not be used inside a macro argument"
-msgstr ""
-
-#: cppmacro.c:578
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr ""
-
-#: cppmacro.c:595
+#: cppmacro.c:546
#, fuzzy
msgid "ISO C99 requires rest arguments to be used"
msgstr "ÊáêÞ áßôçóç ðáñáìÝôñùí"
-#: cppmacro.c:600
+#: cppmacro.c:551
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: cppmacro.c:611
+#: cppmacro.c:556
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: cppmacro.c:694
+#: 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:1190
+#: cppmacro.c:1312
#, fuzzy, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: cppmacro.c:1218
+#: cppmacro.c:1349
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr ""
-#: cppmacro.c:1225
+#: cppmacro.c:1357
msgid "macro parameters must be comma-separated"
msgstr ""
-#: cppmacro.c:1242
+#: cppmacro.c:1374
msgid "parameter name missing"
msgstr ""
-#: cppmacro.c:1256
+#: cppmacro.c:1389
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: cppmacro.c:1259
+#: cppmacro.c:1393
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: cppmacro.c:1268
+#: cppmacro.c:1402
msgid "missing ')' in macro parameter list"
msgstr ""
-#: cppmacro.c:1346
+#: cppmacro.c:1470
msgid "ISO C requires whitespace after the macro name"
msgstr ""
-#: cppmacro.c:1376
+#: cppmacro.c:1498
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: cppmacro.c:1396
+#: cppmacro.c:1517
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: cppmacro.c:1432
+#: cppmacro.c:1599
#, fuzzy, c-format
msgid "\"%s\" redefined"
msgstr "áüñéóôï"
-#: cppmacro.c:1436
+#: cppmacro.c:1604
#, fuzzy
msgid "this is the location of the previous definition"
msgstr "áõôÞ åßíáé ç èÝóç ôïõ ðñþôïõ ïñéóìïý"
-#: cppmacro.c:1500
+#: cppmacro.c:1655
#, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional"
+msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: cppmacro.c:1524
+#: cppmacro.c:1680
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr ""
-#: cppmain.c:121
-#, c-format
-msgid "invalid option %s"
-msgstr "ìç Ýãêõñç åðéëïãÞ %s"
-
#: cppspec.c:131
#, fuzzy, c-format
msgid "\"%s\" is not a valid option to the preprocessor"
@@ -4809,75 +4963,66 @@ msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
msgid "too many input files"
msgstr "õðåñâïëéêÜ ðïëëÜ áñ÷åßá åéóüäïõ"
-#: cse.c:7092
+#: 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:784
+#: cse.c:7187
#, c-format
-msgid "%s:%d: warning: "
-msgstr "%s:%d: ðñïåéäïðïßçóç: "
-
-#: diagnostic.c:791
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: ðñïåéäïðïßçóç: "
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ""
-#: diagnostic.c:871
+#: diagnostic.c:700
msgid "((anonymous))"
msgstr "((áíþíõìï))"
-#: diagnostic.c:941
+#: diagnostic.c:914
#, c-format
msgid "%s: warnings being treated as errors\n"
msgstr ""
# src/request.c:37
-#: diagnostic.c:978
+#: diagnostic.c:949
#, c-format
msgid "%s: %s: "
msgstr "%s: %s: "
-#: diagnostic.c:1057
-msgid "sorry, not implemented: "
-msgstr "óõããíþìç, ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß: "
-
-#: diagnostic.c:1076
+#: diagnostic.c:1040
#, c-format
msgid "%s "
msgstr "%s "
-#: diagnostic.c:1078
+#: diagnostic.c:1042
#, c-format
msgid " %s"
-msgstr ""
+msgstr " %s"
-#: diagnostic.c:1102
+#: diagnostic.c:1064
msgid "At top level:"
msgstr ""
-#: diagnostic.c:1107
+#: diagnostic.c:1069
#, c-format
msgid "In member function `%s':"
-msgstr ""
+msgstr "Óôç óõíÜñôçóç ìÝëïò `%s':"
-#: diagnostic.c:1111
+#: diagnostic.c:1073
#, c-format
msgid "In function `%s':"
msgstr "Óôç óõíÜñôçóç `%s':"
-#: diagnostic.c:1195
+#: diagnostic.c:1161
#, fuzzy
msgid "compilation terminated.\n"
msgstr "Ç ëåéôïõñãßá äåí åðéôñÝðåôáé"
-#: diagnostic.c:1226
+#: diagnostic.c:1179
#, c-format
msgid "%s:%d: confused by earlier errors, bailing out\n"
msgstr ""
-#: diagnostic.c:1240 diagnostic.c:1390
+#: diagnostic.c:1194 diagnostic.c:1302
#, c-format
msgid ""
"Please submit a full bug report,\n"
@@ -4885,74 +5030,83 @@ msgid ""
"See %s for instructions.\n"
msgstr ""
-#: diagnostic.c:1388
+#: diagnostic.c:1300
msgid "Internal compiler error: Error reporting routines re-entered.\n"
msgstr ""
-#: diagnostic.c:1450
-#, fuzzy, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+#: diagnostic.c:1362
+#, c-format
+msgid "in %s, at %s:%d"
+msgstr ""
-#: diagnostic.c:1495
+#: diagnostic.c:1383
#, c-format
msgid "In file included from %s:%d"
msgstr ""
-#: diagnostic.c:1498
+#: diagnostic.c:1386
#, c-format
msgid ""
",\n"
" from %s:%d"
msgstr ""
-#: diagnostic.c:1499
+#: diagnostic.c:1387
msgid ":\n"
-msgstr ""
+msgstr ":\n"
-#: diagnostic.c:1532 diagnostic.c:1549
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
msgid "`%s' is deprecated (declared at %s:%d)"
msgstr ""
-#: diagnostic.c:1552
+#: diagnostic.c:1451
#, fuzzy, c-format
msgid "`%s' is deprecated"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: diagnostic.c:1555
+#: diagnostic.c:1454
#, c-format
msgid "type is deprecated (declared at %s:%d)"
msgstr ""
-#: diagnostic.c:1558
+#: diagnostic.c:1457
msgid "type is deprecated"
msgstr ""
-#: dwarf2out.c:3034
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
+msgstr ""
+
+#: dwarf2out.c:3124
#, fuzzy, c-format
msgid "DW_LOC_OP %s not implemented\n"
msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
-#: dwarfout.c:2089
+#: dwarfout.c:2066
#, c-format
-msgid "internal regno botch: regno = %d\n"
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr ""
+
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
msgstr ""
-#: dwarfout.c:6291
+#: dwarfout.c:6278
#, fuzzy
msgid "can't get current directory"
msgstr "Äåí åßíáé äõíáôüí íá ëçöèåß ï ôñÝ÷ùí êáôÜëïãïò."
-#: emit-rtl.c:1091
+#: emit-rtl.c:1151
msgid "can't access real part of complex value in hard register"
msgstr ""
-#: emit-rtl.c:1113
+#: emit-rtl.c:1173
msgid "can't access imaginary part of complex value in hard register"
msgstr ""
-#: emit-rtl.c:3140
+#: emit-rtl.c:3418
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr ""
@@ -4961,248 +5115,262 @@ msgstr ""
msgid "abort in %s, at %s:%d"
msgstr ""
-#: except.c:360
+#: except.c:371
msgid "exception handling disabled, use -fexceptions to enable"
msgstr ""
-#: except.c:3062
+#: except.c:2969
msgid "argument of `__builtin_eh_return_regno' must be constant"
msgstr ""
-#: except.c:3173 except.c:3195
+#: except.c:3090 except.c:3112
#, fuzzy
msgid "__builtin_eh_return not supported on this target"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: explow.c:1357
+#: explow.c:1398
#, fuzzy
msgid "stack limits not supported on this target"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: expr.c:2926
+#: expr.c:3323
msgid "function using short complex types cannot be inline"
msgstr ""
-#: expr.c:5766 expr.c:5775 expr.c:5784 expr.c:5789 expr.c:6075 expr.c:6091
+#: 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:6140
+#: expr.c:6587
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr ""
-#: expr.c:6474
+#: expr.c:6932
msgid "returned value in block_exit_expr"
msgstr ""
-#: final.c:1209
+#: final.c:1342
msgid "negative insn length"
msgstr ""
-#: final.c:2627
+#: final.c:2793
#, fuzzy
msgid "could not split insn"
msgstr "áäõíáìßá åýñåóçò âñü÷ïõ"
-#: final.c:2971
-#, fuzzy, c-format
-msgid "invalid `asm': %s"
+#: final.c:3141
+#, fuzzy
+msgid "invalid `asm': "
msgstr "ìç Ýãêõñï ìÝãåèïò ïñéæüíôéïõ óôçëïèÝôç: %s"
-#: final.c:2973
-#, c-format
-msgid "output_operand: %s"
-msgstr ""
-
-#: final.c:3146
+#: final.c:3328
msgid "nested assembly dialect alternatives"
msgstr ""
-#: final.c:3163 final.c:3175
+#: final.c:3345 final.c:3357
#, fuzzy
msgid "unterminated assembly dialect alternative"
msgstr "ìç ôåñìáôéæüìåíï óõìâïëéêü üíïìá"
-#: final.c:3219
-#, c-format
-msgid "operand number missing after %-letter"
-msgstr ""
+#: final.c:3401
+#, fuzzy, c-format
+msgid "operand number missing after %%-letter"
+msgstr "ïñéóìüò äéêáéùìÜôùí óôï %s"
-#: final.c:3222 final.c:3261
+#: final.c:3404 final.c:3443
#, fuzzy
msgid "operand number out of range"
msgstr "Ï áñéèìüò óýíäåóìïõ åßíáé Ýîù áðü ôï üñéï"
-#: final.c:3280
+#: final.c:3462
#, fuzzy, c-format
msgid "invalid %%-code"
msgstr "ìç Ýãêõñï äéêáßùìá"
-#: final.c:3311
-msgid "`%l' operand isn't a label"
+#: 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.
-#: config/i386/i386.c:5280 config/pdp11/pdp11.c:1570 final.c:3418
-#: vmsdbgout.c:478
+#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6104
+#: config/pdp11/pdp11.c:1573
msgid "floating constant misused"
msgstr ""
-#: config/i386/i386.c:5334 config/pdp11/pdp11.c:1617 final.c:3473
-#: vmsdbgout.c:535
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6182
+#: config/pdp11/pdp11.c:1620
#, fuzzy
msgid "invalid expression as operand"
msgstr "%s: ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç: %s"
-#: flow.c:360
+#: flow.c:352
msgid "function might be possible candidate for attribute `noreturn'"
msgstr ""
-#: flow.c:365
+#: flow.c:357
msgid "`noreturn' function does return"
msgstr ""
-#: flow.c:384
+#: flow.c:378
msgid "control reaches end of non-void function"
msgstr "ï Ýëåã÷ïò öèÜíåé óôï ôÝëïò ìç-êåíÞò óõíÜñôçóçò"
-#: flow.c:1569
+#: flow.c:1641
msgid "Attempt to delete prologue/epilogue insn:"
msgstr ""
-#: fold-const.c:3114 fold-const.c:3127
+#: 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:4169 fold-const.c:4186
+#: fold-const.c:3752 fold-const.c:3769
#, c-format
msgid "comparison is always %d"
msgstr ""
-#: fold-const.c:4317
+#: fold-const.c:3900
msgid "`or' of unmatched not-equal tests is always 1"
msgstr ""
-#: fold-const.c:4322
+#: fold-const.c:3905
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr ""
-#: function.c:5378
+# src/shred.c:1134
+#: function.c:881 varasm.c:1503
+#, fuzzy, c-format
+msgid "size of variable `%s' is too large"
+msgstr "%s: ôï áñ÷åßï åßíáé ðïëý ìåãÜëï"
+
+#: function.c:5470
#, c-format
msgid "`%s' might be used uninitialized in this function"
msgstr ""
-#: function.c:5385
+#: function.c:5477
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: function.c:5404
+#: function.c:5496
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: function.c:6270
+#: function.c:6363
msgid "function returns an aggregate"
msgstr ""
-#: function.c:6789
+#: function.c:6868
#, fuzzy, c-format
msgid "unused parameter `%s'"
msgstr "Üãíùóôïò ÷áñáêôÞñáò `%s'"
# src/main.c:785
-#: gcc.c:1100
+#: gcc.c:1126
#, fuzzy, c-format
msgid "ambiguous abbreviation %s"
msgstr "ÁóáöÞò ìïñöÞ `%s'"
-#: gcc.c:1127
+#: gcc.c:1153
#, c-format
msgid "incomplete `%s' option"
msgstr ""
-#: gcc.c:1138
+#: gcc.c:1164
#, fuzzy, c-format
msgid "missing argument to `%s' option"
msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-#: gcc.c:1151
+#: gcc.c:1177
#, fuzzy, c-format
msgid "extraneous argument to `%s' option"
msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-#: gcc.c:1465
+#: gcc.c:1505
msgid "Using built-in specs.\n"
msgstr ""
-#: gcc.c:1639
+#: gcc.c:1683
#, fuzzy, c-format
-msgid "Setting spec %s to '%s'\n\n"
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
msgstr "äçìéïõñãßá %s %s óôï %s"
-#: gcc.c:1737
+#: gcc.c:1790
#, c-format
msgid "Reading specs from %s\n"
msgstr ""
-#: gcc.c:1835 gcc.c:1854
+#: gcc.c:1888 gcc.c:1907
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr ""
-#: gcc.c:1862
+#: gcc.c:1915
#, fuzzy, c-format
msgid "could not find specs file %s\n"
msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: gcc.c:1878 gcc.c:1886 gcc.c:1895 gcc.c:1904
+#: 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:1913
+#: gcc.c:1967
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr ""
-#: gcc.c:1920
+#: gcc.c:1974
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr ""
+
+#: gcc.c:1979
#, fuzzy, c-format
msgid "rename spec %s to %s\n"
msgstr "äçìéïõñãßá %s %s óôï %s"
-#: gcc.c:1922
+#: gcc.c:1981
#, c-format
-msgid "spec is '%s'\n\n"
+msgid ""
+"spec is '%s'\n"
+"\n"
msgstr ""
-#: gcc.c:1935
+#: gcc.c:1994
#, fuzzy, 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
-#, fuzzy
+#: gcc.c:2570
msgid "-pipe not supported"
-msgstr "Ôï ai_socktype äåí õðïóôçñßæåôáé"
+msgstr "ôï -pipe äåí õðïóôçñßæåôáé"
-#: gcc.c:2779
-msgid "\nGo ahead? (y or n) "
+#: gcc.c:2625
+msgid ""
+"\n"
+"Go ahead? (y or n) "
msgstr ""
+"\n"
+"Íá óõíå÷ßóåôå; (y Þ n) "
-#: gcc.c:2878
+#: gcc.c:2751
#, c-format
msgid ""
"Internal error: %s (program %s)\n"
@@ -5210,156 +5378,170 @@ msgid ""
"See %s for instructions."
msgstr ""
-#: gcc.c:2896
+#: gcc.c:2769
#, c-format
msgid "# %s %.2f %.2f\n"
-msgstr ""
+msgstr "# %s %.2f %.2f\n"
-#: gcc.c:3029
-#, fuzzy, c-format
+#: gcc.c:2899
+#, c-format
msgid "Usage: %s [options] file...\n"
-msgstr "÷ñÞóç: %s áñ÷åßï_åéóüäïõ\n"
+msgstr "÷ñÞóç: %s [åðéëïãÝò] áñ÷åßï...\n"
-#: gcc.c:3030
-#, fuzzy
+#: gcc.c:2900
msgid "Options:\n"
-msgstr " (åðéëïãÝò:"
+msgstr "ÅðéëïãÝò:\n"
-#: gcc.c:3032
+#: gcc.c:2902
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
-msgstr ""
+msgstr " -pass-exit-codes ¸îïäïò ìå ôï õøçëüôåñï êùäéêü óöÜëìáôïò ôçò öÜóçò\n"
-#: gcc.c:3033
+#: gcc.c:2903
msgid " --help Display this information\n"
-msgstr ""
+msgstr " --help ÅìöÜíéóç áõôþí ôùí ðëçñïöïñéþí\n"
-#: gcc.c:3034
+#: gcc.c:2904
msgid " --target-help Display target specific command line options\n"
-msgstr ""
+msgstr " --target-help ÅìöÜíéóç åðéëïãÝò ãñáììþí åíôïëÞò ó÷åôéêÝò ìå ôï óôü÷ï\n"
-#: gcc.c:3036
+#: gcc.c:2906
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
-msgstr ""
+msgstr " (×ñÞóç '-v --help' ãéá ôçí åìöÜíéóç åðéëïãþí ãñáììÞò åíôïëÞò õðïäéåñãáóéþí)\n"
-#: gcc.c:3037
+#: gcc.c:2907
msgid " -dumpspecs Display all of the built in spec strings\n"
-msgstr ""
+msgstr " -dumpspecs ÅìöÜíéóç üëùí ôùí ðñïêáèïñéóìÝíùí áëöáñéèìçôéêþí ôùí ðñïóäéïñéóìþí\n"
-#: gcc.c:3038
+#: gcc.c:2908
msgid " -dumpversion Display the version of the compiler\n"
-msgstr ""
+msgstr " -dumpversion ÅìöÜíéóç ôçò Ýêäïóçò ôïõ ìåôáãëùôôéóôÞ\n"
-#: gcc.c:3039
+#: gcc.c:2909
msgid " -dumpmachine Display the compiler's target processor\n"
-msgstr ""
+msgstr " -dumpmachine ÅìöÜíéóç ôïõ åðåîåñãáóôÞ óôü÷ïõ ôïõ ìåôáãëùôôéóôÞ\n"
-#: gcc.c:3040
+#: gcc.c:2910
msgid " -print-search-dirs Display the directories in the compiler's search path\n"
-msgstr ""
+msgstr " -print-search-dirs ÅìöÜíéóç ôùí êáôáëüãùí óôéò äéáäñïìÝò áíáæÞôçóçò ôïõ ìåôáãëùôôéóôÞ\n"
-#: gcc.c:3041
+#: gcc.c:2911
msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
-msgstr ""
+msgstr " -print-libgcc-file-name ÅìöÜíéóç ôïõ ïíüìáôïò ôçò óõíïäåõôéêÞò âéâëéïèÞêçò ôïõ ìåôáãëùôôéóôÞ\n"
-#: gcc.c:3042
+#: gcc.c:2912
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
-msgstr ""
+msgstr " -print-file-name=<âéâëéïè> ÅìöÜíéóç ôçò ðëÞñçò äéáäñïìÞò óôç âéâëéïèÞêç <âéâëéïè>\n"
-#: gcc.c:3043
+#: gcc.c:2913
msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
-msgstr ""
+msgstr " -print-prog-name=<ðñüãñ> ÅìöÜíéóç ôçò ðëÞñçò äéáäñïìÞò óôï óõóôáôéêü ìåôáãëùôôéóôÞ <ðñüãñ>\n"
-#: gcc.c:3044
+#: gcc.c:2914
msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
-msgstr ""
+msgstr " -print-multi-directory ÅìöÜíéóç ôïõ ñéæéêïý êáôáëüãïõ ãéá åêäüóåéò ôçò libgcc\n"
-#: 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 ""
+" -print-multi-lib ÅìöÜíéóç ôçò áíôéóôïß÷éóçò ìåôáîý åðéëïãþí ãñáììÞò\n"
+" åíôïëÞò êáé êáôáëüãùí áíáæÞôçóçò ðïëëáðëþí\n"
+" âéâëéïèçêþí\n"
+
+#: gcc.c:2918
+#, fuzzy
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-directory ÅìöÜíéóç ôïõ ñéæéêïý êáôáëüãïõ ãéá åêäüóåéò ôçò libgcc\n"
-#: gcc.c:3048
+#: gcc.c:2919
msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
-msgstr ""
+msgstr " -Wa,<åðéëïãÝò> ÐÝñáóìá <åðéëïãþí> äéá÷ùñéóìÝíùí ìå êüììá óôï óõíáñìïëïãçôÞ\n"
-#: gcc.c:3049
+#: gcc.c:2920
msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
-msgstr ""
+msgstr " -Wp,<åðéëïãÝò> ÐÝñáóìá <åðéëïãþí> äéá÷ùñéóìÝíùí ìå êüììá óôïí ðñï-åðåîåñãáóôÞ\n"
-#: gcc.c:3050
+#: gcc.c:2921
msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
-msgstr ""
+msgstr " -Wl,<åðéëïãÝò> ÐÝñáóìá <åðéëïãþí> äéá÷ùñéóìÝíùí ìå êüììá óôï óõíäÝôç\n"
-#: gcc.c:3051
+#: gcc.c:2922
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
-msgstr ""
+msgstr " -Xlinker <üñéóìá> ÐÝñáóìá <ïñßóìáôïò> óôï óõíäÝôç\n"
-#: gcc.c:3052
+#: gcc.c:2923
msgid " -save-temps Do not delete intermediate files\n"
-msgstr ""
+msgstr " -save-temps Íá ìç äéáãñáöïýí ôá åíäéÜìåóá áñ÷åßá\n"
-#: gcc.c:3053
+#: gcc.c:2924
msgid " -pipe Use pipes rather than intermediate files\n"
-msgstr ""
+msgstr " -pipe ×ñÞóç óùëçíþóåùí áíôß åíäéÜìåóùí áñ÷åßùí\n"
-#: gcc.c:3054
+#: gcc.c:2925
msgid " -time Time the execution of each subprocess\n"
-msgstr ""
+msgstr " -time ÌÝôñçóç ôïõ ÷ñüíïõ åêôÝëåóçò êÜèå õðïäéåñãáóßáò\n"
-#: gcc.c:3055
+#: gcc.c:2926
msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
-msgstr ""
+msgstr " -specs=<áñ÷åßï> ×ñÞóç ôïõ ðåñéå÷ïìÝíïõ ôïõ <áñ÷åßïõ> áíôß ôùí ðñïêáèïñéóìÝíùí ðñïóäéïñéóìþí\n"
-#: gcc.c:3056
+#: gcc.c:2927
msgid " -std=<standard> Assume that the input sources are for <standard>\n"
msgstr ""
+" -std=<ðñüôõðï> Èåþñçóå üôé ïé ðçãÝò êþäéêá åßíáé ãéá ôï <ðñüôõðï>\n"
+"\n"
-#: gcc.c:3057
+#: gcc.c:2928
msgid " -B <directory> Add <directory> to the compiler's search paths\n"
-msgstr ""
+msgstr " -B <êáôÜëïãïò> ÐñïóèÞêç ôïõ <êáôáëüãïõ> óôéò äéáäñïìÝò áíáæÞôçóçò ôïõ ìåôáãëùôôéóôÞ\n"
-#: gcc.c:3058
+#: gcc.c:2929
msgid " -b <machine> Run gcc for target <machine>, if installed\n"
-msgstr ""
+msgstr " -b <ìç÷áíÞ> ÅêôÝëåóç ôïõ gcc ãéá ôï óôü÷ï <ìç÷áíÞ>, áí åßíáé åãêáôåóôçìÝíïò\n"
-#: gcc.c:3059
+#: gcc.c:2930
msgid " -V <version> Run gcc version number <version>, if installed\n"
-msgstr ""
+msgstr " -V <Ýêäïóç> ÅêôÝëåóç ôçò Ýêäïóçò <Ýêäïóç> ôïõ gcc, áí åßíáé åãêáôåóôçìÝíç\n"
-#: gcc.c:3060
+#: gcc.c:2931
msgid " -v Display the programs invoked by the compiler\n"
-msgstr ""
+msgstr " -v ÅìöÜíéóç ôùí ðñïãñáììÜôùí ðïõ êáëåß ï ìåôáãëùôôéóôÞò\n"
-#: 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 ""
+msgstr " -E Ðñïåðåîåñãáóßá ìüíï· ü÷é ìåôáãëþôôéóç, óõíáñìïëüãçóç Þ óýíäåóç\n"
-#: gcc.c:3063
+#: gcc.c:2934
msgid " -S Compile only; do not assemble or link\n"
-msgstr ""
+msgstr " -S Ìåôáãëþôôéóç ìüíï· ü÷é óõíáñìïëüãçóç Þóýíäåóç\n"
-#: gcc.c:3064
+#: gcc.c:2935
msgid " -c Compile and assemble, but do not link\n"
-msgstr ""
+msgstr " -c Ìåôáãëþôôéóç êáé óõíáñìïëüãçóç, ü÷éüìùò óýíäåóç\n"
-#: gcc.c:3065
+#: gcc.c:2936
msgid " -o <file> Place the output into <file>\n"
-msgstr ""
+msgstr " -o <áñ÷åßï> ÔïðïèÝôçóç ôçò åîüäïõ óôï <áñ÷åßï>\n"
-#: gcc.c:3066
+#: gcc.c:2937
msgid ""
" -x <language> Specify the language of the following input files\n"
" Permissable languages include: c c++ assembler none\n"
" 'none' means revert to the default behavior of\n"
" guessing the language based on the file's extension\n"
msgstr ""
+" -x <ãëþóóá> Êáèïñéóìüò ôçò ãëþóóáò ôùí åðüìåíùí áñ÷Ýéùí åéóüäïõ\n"
+" ÁðïäåêôÝò ãëþóóåò åßíáé: c c++ assembler none\n"
+" Ôï 'none' óçìáßíåé åðáíáöïñÜ óôçí åî ïñéóìïý\n"
+" óõìðåñéöïñÜ åýñåóçò ôçò ãëþóóáò âÜóåé ôçò åðÝêôáóçò\n"
+" ôïõ áñ÷åßïõ\n"
-#: gcc.c:3073
+#: gcc.c:2944
#, c-format
msgid ""
"\n"
@@ -5367,20 +5549,34 @@ msgid ""
" passed on to the various sub-processes invoked by %s. In order to pass\n"
" other options on to these processes the -W<letter> options must be used.\n"
msgstr ""
+"\n"
+"Ïé åðéëïãÝò ðïõ îåêéíïýí ìå -g, -f, -m, -O, -W Þ --param ðåñíïýí áõôüìáôá\n"
+" óôéò äéÜöïñåò õðïäéåñãáóßåò ðïõ êáëåß ôï %s. Ãéá íá ðåñÜóåôå Üëëåò\n"
+" åðéëïãÝò óå áõôÝò ôéò äéåñãáóßåò, ðñÝðåé íá ÷ñçóéìïðïéÞóåôå ôéò åðéëïãÝò\n"
+" -W<ãñÜììá>.\n"
+
+#: gcc.c:3079
+#, fuzzy, 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 ""
+msgstr "%s (GCC) %s\n"
-#: gcc.c:3354
-#, fuzzy
+#: gcc.c:3279
msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
-msgstr "ÐíåõìáôéêÜ Äéêáéþìáôá (C) 2000 Free Software Foundation, Inc."
+msgstr "ÐíåõìáôéêÜ Äéêáéþìáôá (C) 2002 Free Software Foundation, Inc.\n"
# src/main.c:850
-#: gcc.c:3356 gcov.c:320
+#: gcc.c:3281 gcov.c:364
#, fuzzy
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
@@ -5391,79 +5587,69 @@ msgstr ""
"áíôéãñáöÞò. Äåí õðÜñ÷åé ÊÁÌÉÁ åããýçóç· ïýôå áêüìá ãéá ËÅÉÔÏÕÑÃÉÊÏÔÇÔÁ Þ \n"
"ÊÁÔÁËËÇËÏÔÇÔÁ ÃÉÁ ÅÍÁ ÓÕÃÊÅÊÑÉÌÅÍÏ ÓÊÏÐÏ.\n"
-#: gcc.c:3455
+#: gcc.c:3382
#, fuzzy
msgid "argument to `-Xlinker' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:3463
+#: gcc.c:3390
#, fuzzy
msgid "argument to `-l' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:3480
+#: gcc.c:3407
#, fuzzy
msgid "argument to `-specs' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:3495
+#: gcc.c:3422
#, fuzzy
msgid "argument to `-specs=' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:3526
-#, fuzzy
-msgid "argument to `-b' is missing"
-msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
+#: gcc.c:3452
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr ""
-#: gcc.c:3541
+#: gcc.c:3461
#, fuzzy
msgid "argument to `-B' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:3611
-#, fuzzy
-msgid "argument to `-V' is missing"
-msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-
-#: gcc.c:3632 gcc.c:3639 gcc.c:3646
-#, fuzzy
-msgid "invalid version number format"
-msgstr "ìç Ýãêõñç äéáìüñöùóç óõíôüìåõóçò"
-
-#: gcc.c:3757
+#: gcc.c:3634
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr ""
-#: gcc.c:3928
+#: gcc.c:3807
msgid "warning: -pipe ignored because -save-temps specified"
msgstr ""
-#: gcc.c:3932
+#: gcc.c:3811
msgid "warning: -pipe ignored because -time specified"
msgstr ""
-#: gcc.c:3944
+#: gcc.c:3823
#, fuzzy
msgid "argument to `-x' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:3972
+#: gcc.c:3851
#, fuzzy, c-format
msgid "argument to `-%s' is missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: gcc.c:4033
+#: gcc.c:3912
#, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr ""
-#: gcc.c:4332
+#: gcc.c:4257
#, fuzzy
msgid "invalid specification! Bug in cc"
msgstr "Ìç Ýãêõñç ñýèìéóç èýñáò (port)"
-#: gcc.c:4481
+#: gcc.c:4411
#, c-format
msgid "%s\n"
msgstr ""
@@ -5471,420 +5657,666 @@ 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:5040
+#: gcc.c:4971
#, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
msgstr ""
-#: gcc.c:5049
+#: gcc.c:4980
#, c-format
msgid "warning: use of obsolete %%[ operator in specs"
msgstr ""
-#: gcc.c:5067
+#: gcc.c:4998
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr ""
-#: gcc.c:5192
+#: gcc.c:5123
#, fuzzy, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr "%s: ìç áíáãíùñßóéìç åðéëïãÞ `-%c'\n"
-#: gcc.c:5302
+#: gcc.c:5204
+#, fuzzy, c-format
+msgid "unknown spec function `%s'"
+msgstr "Óôç óõíÜñôçóç `%s':"
+
+#: gcc.c:5223
+#, fuzzy, c-format
+msgid "error in args to spec function `%s'"
+msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#: gcc.c:5272
+msgid "malformed spec function name"
+msgstr ""
+
+#. )
+#: gcc.c:5275
+#, fuzzy
+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:5980
+#: gcc.c:6097
#, c-format
msgid "unrecognized option `-%s'"
msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%s'"
-#: gcc.c:5986
-#, fuzzy, c-format
+#: gcc.c:6103
+#, c-format
msgid "install: %s%s\n"
-msgstr "Ôïðïèåóßá: %s%s\n"
+msgstr "åãêáôÜóôáóç: %s%s\n"
-#: gcc.c:5987
+#: gcc.c:6104
#, c-format
msgid "programs: %s\n"
-msgstr ""
+msgstr "ðñïãñÜììáôá: %s\n"
-#: gcc.c:5988
-#, fuzzy, c-format
+#: gcc.c:6105
+#, c-format
msgid "libraries: %s\n"
-msgstr "áêáôÜëëçëç êáíïíéêÞ Ýêöñáóç: %s\n"
+msgstr "âéâëéïèÞêåò: %s\n"
-#: gcc.c:6036
-msgid "\nFor bug reporting instructions, please see:\n"
+#: gcc.c:6162
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
msgstr ""
+"\n"
+"Ãéá ïäçãßåò ãéá áíáöïñÝò óöáëìÜôùí. ðáñáêáëþ äåßôå:\n"
-#: gcc.c:6052
+#: gcc.c:6178
#, c-format
msgid "Configured with: %s\n"
-msgstr ""
+msgstr "¸÷åé ñõèìéóôåß ìå: %s\n"
-#: gcc.c:6066
+#: gcc.c:6192
#, c-format
msgid "Thread model: %s\n"
-msgstr ""
+msgstr "ÌïíôÝëï íçìÜôùí: %s\n"
-#: gcc.c:6077
+#: gcc.c:6203
#, c-format
msgid "gcc version %s\n"
-msgstr ""
+msgstr "Ýêäïóç gcc %s\n"
-#: gcc.c:6079
+#: gcc.c:6205
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
-msgstr ""
+msgstr "Ýêäïóç ïäçãïý gcc %s åêôåëåß ôçí Ýêäïóç gcc %s\n"
-#: gcc.c:6087
-#, fuzzy
+#: gcc.c:6213
msgid "no input files"
-msgstr "Äåí õðÜñ÷ïõí áñ÷åßá åéóüäïõ"
+msgstr "äåí õðÜñ÷ïõí áñ÷åßá åéóüäïõ"
-#: gcc.c:6125
-#, fuzzy, c-format
+#: gcc.c:6251
+#, c-format
msgid "%s: %s compiler not installed on this system"
-msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
+msgstr "%s: ï ìåôáãëùôôéóôÞò %s äåí Ý÷åé åãêáôáóôáèåß óôï óýóôçìá áõôü"
-#: gcc.c:6200
+#: gcc.c:6326
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr ""
-#: gcc.c:6243
+#: gcc.c:6369
#, c-format
msgid "language %s not recognized"
msgstr ""
-#: gcc.c:6346
-#, fuzzy
+#: gcc.c:6472
msgid "internal gcc abort"
-msgstr "Åóùôåñéêü óöÜëìá NIS"
+msgstr "åóùôåñéêü óöÜëìá gcc"
# src/main.c:178
-#: gcov.c:282
+#: gcov.c:325
#, fuzzy
msgid "Internal gcov abort.\n"
msgstr "Åóùôåñéêü óöÜëìá (recoding)"
-#: gcov.c:295
-#, fuzzy
-msgid "Usage: gcov [OPTION]... SOURCEFILE\n\n"
-msgstr "×ñÞóç: %s [ÅÐÉËÏÃÇ]... [ÁÑ×ÅÉÏ]\n"
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
+msgstr ""
+"×ñÞóç: gcov [ÅÐÉËÏÃÇ]... [ÁÑןÏÐÇÃÇÓ]\n"
+"\n"
-#: gcov.c:296
-#, fuzzy
-msgid "Print code coverage information.\n\n"
-msgstr "åìöÜíéóç ðëçñïöïñéþí ðñïüäïõ"
+#: gcov.c:339
+msgid ""
+"Print code coverage information.\n"
+"\n"
+msgstr ""
+"EìöÜíéóç ðëçñïöïñéþí êÜëõøçò êþäéêá.\n"
+"\n"
-#: gcov.c:297
+#: gcov.c:340
msgid " -h, --help Print this help, then exit\n"
-msgstr ""
+msgstr " -h, --help ÅìöÜíéóç áõôÞò ôçò âïÞèåéáò, ìåôÜ Ýîïäïò\n"
-#: gcov.c:298
+#: gcov.c:341
msgid " -v, --version Print version number, then exit\n"
-msgstr ""
+msgstr " -v, --version ÅìöÜíéóç áñéèìïý Ýêäïóçò, ìåôÜ Ýîïäïò\n"
-#: 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"
"For bug reporting instructions, please see:\n"
"%s.\n"
msgstr ""
+"\n"
+"Ãéá ïäçãßåò óôéò áíáöïñÝò óöáëìÜôùí, ðáñáêáëþ äåßôå:\n"
+"%s.\n"
-#: gcov.c:317
+#: gcov.c:361
#, c-format
msgid "gcov (GCC) %s\n"
-msgstr ""
+msgstr "gcov (GCC) %s\n"
-#: gcov.c:318
-#, fuzzy
+#: gcov.c:362
msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
-msgstr "ÐíåõìáôéêÜ Äéêáéþìáôá (C) 2000 Free Software Foundation, Inc."
+msgstr "ÐíåõìáôéêÜ Äéêáéþìáôá (C) 2001 Free Software Foundation, Inc.\n"
-#: gcov.c:462
+#: gcov.c:500
#, fuzzy, c-format
msgid "Could not open basic block file %s.\n"
msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: gcov.c:471
+#: gcov.c:507
+#, fuzzy, c-format
+msgid "Could not open program flow graph file %s.\n"
+msgstr "Áäýíáôç ç äçìéïõñãßá áñ÷åßïõ êáôáãñáöþí \"%s\""
+
+#: gcov.c:524
#, fuzzy, c-format
msgid "Could not open data file %s.\n"
msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: gcov.c:472
+#: gcov.c:525
msgid "Assuming that all execution counts are zero.\n"
msgstr ""
-#: gcov.c:478
-#, fuzzy, c-format
-msgid "Could not open program flow graph file %s.\n"
-msgstr "Áäýíáôç ç äçìéïõñãßá áñ÷åßïõ êáôáãñáöþí \"%s\""
-
-#: gcov.c:489
+#: gcov.c:534
#, fuzzy, c-format
msgid "No executable code associated with file %s.\n"
msgstr "ÊáìéÜ äéåýèõíóç äåí óõíäÝåôáé ìå ôï üíïìá"
-#: gcov.c:789
-msgid ".da file contents exhausted too early\n"
+#: gcov.c:1186
+#, c-format
+msgid "%s of %d lines executed in %s %s\n"
msgstr ""
-#: gcov.c:792
-msgid ".da file contents not exhausted\n"
+#: gcov.c:1191
+#, fuzzy, c-format
+msgid "No executable lines in %s %s\n"
+msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
+
+#: gcov.c:1198
+#, fuzzy, c-format
+msgid "%s of %d branches executed in %s %s\n"
msgstr ""
+"Äåí õðÜñ÷åé áñ÷åßï `%s'.\n"
+"\n"
-#: 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
+#, fuzzy, c-format
+msgid "No branches in %s %s\n"
+msgstr ""
+"Äåí õðÜñ÷åé áñ÷åßï `%s'.\n"
+"\n"
+
+#: gcov.c:1211
#, c-format
-msgid "No executable source lines in function %s\n"
+msgid "%s of %d calls executed in %s %s\n"
msgstr ""
-#: gcov.c:984
+#: gcov.c:1216
+#, fuzzy, c-format
+msgid "No calls in %s %s\n"
+msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
+
+#: gcov.c:1351
+#, fuzzy, c-format
+msgid "didn't use all bb entries of graph, function %s\n"
+msgstr "äéáãñáöÞ üëùí ôùí åããñáöþí ôïõ êáôáëüãïõ %s\n"
+
+#: gcov.c:1353
#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
+msgid "block_num = %ld, num_blocks = %d\n"
msgstr ""
-#: gcov.c:988
+#: gcov.c:1367
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
+msgid "ERROR: unexpected line number %ld\n"
msgstr ""
-#: gcov.c:993
+#: gcov.c:1383
#, fuzzy, c-format
-msgid "No branches in function %s\n"
-msgstr "Äåí âñÝèçêáí ôáéñéÜóìáôá óôç ìïñöÞ `%s'.\n"
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: gcov.c:995
+#: gcov.c:1398
#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
+msgid "ERROR: out of range line number in function %s\n"
msgstr ""
-#: gcov.c:999
+#: gcov.c:1470
#, fuzzy, c-format
-msgid "No calls in function %s\n"
-msgstr "Äåí âñÝèçêáí URL óôï %s.\n"
+msgid "Could not open source file %s.\n"
+msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: gcov.c:1126
-#, fuzzy, c-format
-msgid "didn't use all bb entries of graph, function %s\n"
-msgstr "äéáãñáöÞ üëùí ôùí åããñáöþí ôïõ êáôáëüãïõ %s\n"
+#: gcov.c:1480
+#, c-format
+msgid "Warning: source file %s is newer than %s\n"
+msgstr ""
-#: gcov.c:1128
+#: gcov.c:1510
#, c-format
-msgid "block_num = %ld, num_blocks = %d\n"
+msgid "Unexpected EOF while reading source file %s.\n"
msgstr ""
-#: gcov.c:1166
+#: gcov.c:1532
#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
+msgid "call %2d never executed\n"
msgstr ""
-#: gcov.c:1243
+#: gcov.c:1535
#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
+msgid "call %2d returns %s\n"
msgstr ""
-#: gcov.c:1247
+#: gcov.c:1543
#, c-format
-msgid "No executable source lines in file %s\n"
+msgid "branch %2d never executed\n"
msgstr ""
-#: gcov.c:1254
+#: gcov.c:1546
+#, fuzzy, c-format
+msgid "branch %2d taken %s\n"
+msgstr ""
+"Äåí õðÜñ÷åé áñ÷åßï `%s'.\n"
+"\n"
+
+#: gcov.c:1610
+#, c-format
+msgid "Creating %s.\n"
+msgstr "Äçìéïõñãßá ôïõ %s.\n"
+
+#: gcov.c:1613
+#, fuzzy, c-format
+msgid "Error writing output file %s.\n"
+msgstr "óöÜëìá åããñáöÞò %s"
+
+#: gcov.c:1618
+#, fuzzy, c-format
+msgid "Could not open output file %s.\n"
+msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ `%s'"
+
+#: gcse.c:761
#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
msgstr ""
-#: gcov.c:1258
+#: gcse.c:773
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
msgstr ""
-#: gcov.c:1263
+#: genautomata.c:1490
+#, c-format
+msgid "Name `%s' contains quotes"
+msgstr ""
+
+#: genautomata.c:1621
#, fuzzy, c-format
-msgid "No branches in file %s\n"
-msgstr "Äåí õðÜñ÷åé áñ÷åßï `%s'.\n\n"
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-#: gcov.c:1265
+#: genautomata.c:1650
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
msgstr ""
-#: gcov.c:1269
+#: genautomata.c:1682 genautomata.c:1685
#, fuzzy, c-format
-msgid "No calls in file %s\n"
-msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
+msgid "invalid string `%s' in define_bypass"
+msgstr "ìç Ýãêõñïò áñéèìüò áðü êåíÝò ãñáììÝò: `%s'"
-#: gcov.c:1281
+#: genautomata.c:1720
#, fuzzy, c-format
-msgid "Could not open source file %s.\n"
-msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
+msgid "invalid first string `%s' in exclusion_set"
+msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-#: gcov.c:1331
+#: genautomata.c:1724
#, fuzzy, c-format
-msgid "Could not open output file %s.\n"
-msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ `%s'"
+msgid "invalid second string `%s' in exclusion_set"
+msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-#: gcov.c:1339
+#: genautomata.c:1760
#, c-format
-msgid "Creating %s.\n"
-msgstr "Äçìéïõñãßá ôïõ %s.\n"
+msgid "invalid first string `%s' in presence_set"
+msgstr ""
+
+#: genautomata.c:1764
+#, fuzzy, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr "ìç Ýãêõñï üíïìá ìÞíá"
-#: gcov.c:1387
+#: genautomata.c:1800
#, c-format
-msgid "call %d never executed\n"
+msgid "invalid first string `%s' in absence_set"
msgstr ""
-#: gcov.c:1396
+#: genautomata.c:1804
#, c-format
-msgid "call %d returns = %s\n"
+msgid "invalid second string `%s' in absence_set"
msgstr ""
-#: gcov.c:1406
+#: genautomata.c:1837
#, c-format
-msgid "call %d returns = %s%%\n"
+msgid "invalid string `%s' in define_automaton"
msgstr ""
-#: gcov.c:1413
+#: genautomata.c:1868
+#, fuzzy, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
+
+#: genautomata.c:1890
#, c-format
-msgid "branch %d never executed\n"
+msgid "garbage after ) in reservation `%s'"
msgstr ""
-#: gcov.c:1423
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: genautomata.c:1932
#, c-format
-msgid "branch %d taken = %s\n"
+msgid "repetition `%s' <= 1 in reservation `%s'"
msgstr ""
-#: gcov.c:1433
+#: genautomata.c:2425
#, c-format
-msgid "branch %d taken = %s%%\n"
+msgid "unit `%s' in exclusion is not declared"
msgstr ""
-#: gcov.c:1444
+#: genautomata.c:2427
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
+msgid "`%s' in exclusion is not unit"
msgstr ""
-#: gcse.c:757
+#: genautomata.c:2465
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgid "unit `%s' excludes itself"
msgstr ""
-#: gcse.c:769
+#: genautomata.c:2473
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
+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
+#, fuzzy, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
+
+#: 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
+#, fuzzy, c-format
+msgid "automaton `%s' is not declared"
+msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+#: genautomata.c:2747
+#, c-format
+msgid "define_unit `%s' without automaton when one defined"
+msgstr ""
+
+#: genautomata.c:2753
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+#: genautomata.c:2762
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+#: genautomata.c:2772
+#, fuzzy, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
+
+#: genautomata.c:2775
+#, fuzzy, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
+
+#: 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 ""
-#: ch/grant.c:2652 ch/lex.c:212 ch/lex.c:2189 f/com.c:14249 graph.c:421
-#: java/jcf-parse.c:981 java/jcf-parse.c:1133 java/lex.c:1782
-#: objc/objc-act.c:529 profile.c:950 profile.c:958 toplev.c:1845 toplev.c:4954
+#: genautomata.c:2820
+#, fuzzy, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "(ôï áñ÷åßï Þäç õðÜñ÷åé)"
+
+#: genautomata.c:2925 genautomata.c:2927
+#, fuzzy, c-format
+msgid "automaton `%s' is not used"
+msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
+
+#: genautomata.c:2950
+#, fuzzy, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr "ìç Ýãêõñïò äçëùôÞò ðåäßïõ: `%s'"
+
+#: genautomata.c:3028 genautomata.c:3030
+#, fuzzy, c-format
+msgid "unit `%s' is not used"
+msgstr "ôï áñ÷åßï ÷Üñôç ÷áñáêôÞñùí `%s' äåí âñÝèçêå"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, fuzzy, c-format
+msgid "reservation `%s' is not used"
+msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
+
+#: genautomata.c:3134
+#, fuzzy, 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
+#, fuzzy
+msgid "-split has no argument."
+msgstr "÷ùñßò ïñßóìáôá"
+
+#: genautomata.c:9442
+#, fuzzy
+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
+#, fuzzy
+msgid "Errors in DFA description"
+msgstr "(÷ùñßò ðåñéãñáöÞ)"
+
+#: genautomata.c:9732
+#, fuzzy, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "óöÜëìá åããñáöÞò %s"
+
+#: genconditions.c:196
+#, fuzzy
+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
#, fuzzy, c-format
msgid "can't open %s"
msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
-#: haifa-sched.c:190
+#: haifa-sched.c:196
#, c-format
msgid "fix_sched_param: unknown param: %s"
msgstr ""
-#: integrate.c:185
+#: integrate.c:172
#, fuzzy
msgid "function cannot be inline"
msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
-#: integrate.c:190
+#: integrate.c:176
msgid "varargs function cannot be inline"
msgstr ""
-#: integrate.c:193
+#: integrate.c:179
msgid "function using alloca cannot be inline"
msgstr ""
-#: integrate.c:196
+#: integrate.c:182
msgid "function using setjmp cannot be inline"
msgstr ""
-#: integrate.c:199
+#: integrate.c:185
msgid "function uses __builtin_eh_return"
msgstr ""
-#: integrate.c:202
+#: integrate.c:188
msgid "function with nested functions cannot be inline"
msgstr ""
-#: integrate.c:206
+#: integrate.c:192
msgid "function with label addresses used in initializers cannot inline"
msgstr ""
-#: integrate.c:213 integrate.c:257
+#: integrate.c:199 integrate.c:243
msgid "function too large to be inline"
msgstr ""
-#: integrate.c:223
+#: integrate.c:209
msgid "no prototype, and parameter address used; cannot be inline"
msgstr ""
-#: integrate.c:230 integrate.c:275
+#: integrate.c:216 integrate.c:261
msgid "inline functions not supported for this return value type"
msgstr ""
-#: integrate.c:235
+#: integrate.c:221
msgid "function with varying-size return value cannot be inline"
msgstr ""
-#: integrate.c:242
+#: integrate.c:228
msgid "function with varying-size parameter cannot be inline"
msgstr ""
-#: integrate.c:245
+#: integrate.c:231
msgid "function with transparent unit parameter cannot be inline"
msgstr ""
-#: integrate.c:264
+#: integrate.c:250
msgid "function with computed jump cannot inline"
msgstr ""
-#: integrate.c:268
+#: integrate.c:254
msgid "function with nonlocal goto cannot be inline"
msgstr ""
-#: integrate.c:282
+#: integrate.c:268
msgid "function with target specific attribute(s) cannot be inlined"
msgstr ""
@@ -5918,55 +6350,56 @@ msgstr ""
msgid "invalid parameter `%s'"
msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-#: profile.c:429
+#: 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:975
-#, c-format
-msgid "file %s not found, execution counts assumed to be zero"
+#: profile.c:400
+msgid ".da file corrupted"
msgstr ""
-#: profile.c:1022
-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:1025
-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:593
+#: protoize.c:542
#, fuzzy, c-format
msgid "%s: internal abort\n"
msgstr "Åóùôåñéêü óöÜëìá ôïõ áíáëõôÞ äéåõèýíóåùí"
-#: protoize.c:684
+#: protoize.c:633
#, fuzzy, c-format
msgid "%s: error writing file `%s': %s\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí åããñáöÞ ôïõ %s\n"
-#: protoize.c:729
+#: protoize.c:678
#, fuzzy, c-format
msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
msgstr "%s: ç ÷ñÞóç åßíáé %s [ -v ] [ -c äéáêïðÞ ] ïíïìáóßá æþíçò ...\n"
-#: protoize.c:732
+#: protoize.c:681
#, fuzzy, c-format
msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
msgstr "%s: ç ÷ñÞóç åßíáé %s [ -v ] [ -c äéáêïðÞ ] ïíïìáóßá æþíçò ...\n"
-#: protoize.c:839
+#: protoize.c:788
#, fuzzy, c-format
msgid "%s: warning: no read access for file `%s'\n"
msgstr "%s: Ðñïåéäïðïßçóç: ç uname áðÝôõ÷å: %s\n"
-#: protoize.c:847
+#: protoize.c:796
#, fuzzy, c-format
msgid "%s: warning: no write access for file `%s'\n"
msgstr "%s: Ðñïåéäïðïßçóç: ç uname áðÝôõ÷å: %s\n"
-#: protoize.c:855
+#: protoize.c:804
#, c-format
msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr ""
@@ -5974,556 +6407,520 @@ msgstr ""
#. Catch cases like /.. where we try to backup to a
#. point above the absolute root of the logical file
#. system.
-#: protoize.c:1273
+#: protoize.c:1222
#, fuzzy, c-format
msgid "%s: invalid file name: %s\n"
msgstr "%s: ìç Ýãêõñï åßäïò áñ÷åßïõ"
-#: protoize.c:1425
+#: protoize.c:1374
#, fuzzy, c-format
msgid "%s: %s: can't get status: %s\n"
msgstr "%s: áäõíáìßá ðñüóâáóçò óôï %s: %s\n"
-#: protoize.c:1446
+#: protoize.c:1395
#, c-format
-msgid "\n%s: fatal error: aux info file corrupted at line %d\n"
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
msgstr ""
-#: protoize.c:1782
+#: protoize.c:1731
#, c-format
msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr ""
-#: protoize.c:2040
+#: protoize.c:1989
#, fuzzy, c-format
msgid "%s: compiling `%s'\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí åããñáöÞ ôïõ %s\n"
# src/request.c:37
-#: protoize.c:2063
+#: protoize.c:2012
#, fuzzy, c-format
msgid "%s: wait: %s\n"
msgstr "%s óå %s"
-#: protoize.c:2068
+#: protoize.c:2017
#, fuzzy, c-format
msgid "%s: subprocess got fatal signal %d\n"
msgstr "%s: Ï ðñïåðåîåñãáóôÞò C áðÝôõ÷å ìå óÞìá %d\n"
-#: protoize.c:2076
+#: protoize.c:2025
#, fuzzy, c-format
msgid "%s: %s exited with status %d\n"
msgstr "%s: Ï ðñïåðåîåñãáóôÞò C áðÝôõ÷å ìå óÞìá %d\n"
-#: protoize.c:2128
+#: protoize.c:2077
#, fuzzy, c-format
msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr "%s: Ðñïåéäïðïßçóç: ç uname áðÝôõ÷å: %s\n"
-#: protoize.c:2137 protoize.c:2166
+#: protoize.c:2086 protoize.c:2115
#, fuzzy, c-format
msgid "%s: can't read aux info file `%s': %s\n"
msgstr "%s: áäõíáìßá óôçí áíÜãíùóç %s: %s\n"
-#: protoize.c:2182 protoize.c:2210
+#: protoize.c:2131 protoize.c:2159
#, fuzzy, c-format
msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr "áäõíáìßá ðñïóðÝëáóçò(stat()) áñ÷åßïõ `%s': %s"
-#: protoize.c:2238
+#: protoize.c:2187
#, fuzzy, c-format
msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäï `%s' ãéá ôçí êáôçãïñßá `%s'"
# src/shred.c:1103
-#: protoize.c:2256
+#: protoize.c:2205
#, fuzzy, c-format
msgid "%s: error reading aux info file `%s': %s\n"
msgstr "%s: óöÜëìá åããñáöÞò óôç èÝóç %s"
-#: protoize.c:2269
+#: protoize.c:2218
#, fuzzy, c-format
msgid "%s: error closing aux info file `%s': %s\n"
msgstr "%s: ÓöÜëìá êáôÜ ôï êëåßóéìï ôïõ %s: %s\n"
-#: protoize.c:2285
+#: protoize.c:2234
#, fuzzy, c-format
msgid "%s: can't delete aux info file `%s': %s\n"
msgstr "%s: Äå ìðïñåß íá äéáãñáöåß ôï %s: %s\n"
-#: protoize.c:2367 protoize.c:4369
+#: protoize.c:2316 protoize.c:4318
#, fuzzy, c-format
msgid "%s: can't delete file `%s': %s\n"
msgstr "%s: Äåí åßíáé äõíáôüí íá äçìéïõñãçèåß %s: %s\n"
-#: protoize.c:2446
+#: protoize.c:2395
#, fuzzy, c-format
msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
msgstr "%s: Ðñïåéäïðïßçóç: ç uname áðÝôõ÷å: %s\n"
-#: protoize.c:2571
+#: protoize.c:2520
#, c-format
msgid "%s: conflicting extern definitions of '%s'\n"
msgstr ""
-#: protoize.c:2575
+#: protoize.c:2524
#, c-format
msgid "%s: declarations of '%s' will not be converted\n"
msgstr ""
-#: protoize.c:2577
+#: protoize.c:2526
#, c-format
msgid "%s: conflict list for '%s' follows:\n"
msgstr ""
-#: protoize.c:2610
+#: protoize.c:2559
#, c-format
msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr ""
-#: protoize.c:2650
+#: protoize.c:2599
#, c-format
msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr ""
-#: protoize.c:2656
+#: protoize.c:2605
#, fuzzy, c-format
msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr "%s: ðñïåéäïðïßçóç: äå âñÝèçêå áñ÷Þ êåöáëßäáò"
-#: protoize.c:2687
+#: protoize.c:2636
#, c-format
msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr ""
-#: protoize.c:2693
+#: protoize.c:2642
#, c-format
msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr ""
-#: protoize.c:2866 protoize.c:2869
+#: protoize.c:2815 protoize.c:2818
#, c-format
msgid "%s: %d: warning: source too confusing\n"
msgstr ""
-#: protoize.c:3075
+#: protoize.c:3024
#, c-format
msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr ""
-#: protoize.c:3090
+#: protoize.c:3039
#, c-format
msgid "%s: declaration of function `%s' not converted\n"
msgstr ""
-#: protoize.c:3213
+#: protoize.c:3162
#, c-format
msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr ""
-#: protoize.c:3234
+#: protoize.c:3183
#, fuzzy, c-format
-msgid "\n%s: warning: too few parameter lists in declaration of `%s'\n"
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
msgstr "Ðñïåéäïðïßçóç: Ðïëý ëßãá ïñßóìáôá óôï åóùäïìçìÝíï `%s'"
-#: protoize.c:3332
+#: protoize.c:3281
#, c-format
msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr ""
-#: protoize.c:3510
+#: protoize.c:3459
#, c-format
msgid "%s: local declaration for function `%s' not inserted\n"
msgstr ""
-#: protoize.c:3537
+#: protoize.c:3486
#, c-format
-msgid "\n%s: %d: warning: can't add declaration of `%s' into macro call\n"
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
msgstr ""
-#: protoize.c:3611
+#: protoize.c:3560
#, c-format
msgid "%s: global declarations for file `%s' not inserted\n"
msgstr ""
-#: protoize.c:3702 protoize.c:3732
+#: protoize.c:3651 protoize.c:3681
#, c-format
msgid "%s: definition of function `%s' not converted\n"
msgstr ""
-#: protoize.c:3721
+#: protoize.c:3670
#, c-format
msgid "%s: %d: warning: definition of %s not converted\n"
msgstr ""
-#: protoize.c:4051
+#: 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:4067
+#: protoize.c:4016
#, c-format
msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr ""
-#: protoize.c:4070
+#: protoize.c:4019
#, c-format
msgid "%s: function definition not converted\n"
msgstr ""
-#: protoize.c:4129
+#: protoize.c:4078
#, fuzzy, c-format
msgid "%s: `%s' not converted\n"
msgstr "%s: `%s': äåí âñÝèçêå ôáßñéáóìá"
-#: protoize.c:4137
+#: protoize.c:4086
#, fuzzy, c-format
msgid "%s: would convert file `%s'\n"
msgstr "%s: ç Ýîïäïò èá åðéêáëýøåé ôï %s\n"
-#: protoize.c:4140
+#: protoize.c:4089
#, fuzzy, c-format
msgid "%s: converting file `%s'\n"
msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
-#: protoize.c:4150
+#: protoize.c:4099
#, fuzzy, c-format
msgid "%s: can't get status for file `%s': %s\n"
msgstr "áäõíáìßá ðñïóðÝëáóçò(stat()) áñ÷åßïõ `%s': %s"
-#: protoize.c:4192
+#: protoize.c:4141
#, fuzzy, c-format
msgid "%s: can't open file `%s' for reading: %s\n"
msgstr "%s: Äåí åßíáé äõíáôüí íá áíïé÷ôåß ôï %s: %s\n"
-#: protoize.c:4207
+#: protoize.c:4156
#, fuzzy, c-format
-msgid "\n%s: error reading input file `%s': %s\n"
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
msgstr "%s: ÓöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ %s\n"
-#: protoize.c:4241
+#: protoize.c:4190
#, fuzzy, c-format
msgid "%s: can't create/open clean file `%s': %s\n"
msgstr "%s: Äåí åßíáé äõíáôüí íá äçìéïõñãçèåß %s: %s\n"
-#: protoize.c:4346
+#: protoize.c:4295
#, c-format
msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr ""
-#: protoize.c:4354
+#: protoize.c:4303
#, fuzzy, c-format
msgid "%s: can't link file `%s' to `%s': %s\n"
msgstr "%s: Äåí åßíáé äõíáôüí íá óõíäåèåß ôï %s ìå ôï %s: %s\n"
-#: protoize.c:4384
+#: protoize.c:4333
#, fuzzy, c-format
msgid "%s: can't create/open output file `%s': %s\n"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ `%s'"
-#: protoize.c:4417
+#: protoize.c:4366
#, fuzzy, c-format
msgid "%s: can't change mode of file `%s': %s\n"
msgstr "%s: Äåí åßíáé äõíáôüí íá áöáéñåèåß ôï %s: %s\n"
-#: protoize.c:4592
+#: protoize.c:4541
#, fuzzy, c-format
msgid "%s: cannot get working directory: %s\n"
msgstr "%s: äåí åßíáé äõíáôü íá ãñáöôåß ðÜíù óå êáôÜëïãï"
-#: protoize.c:4690
+#: protoize.c:4639
#, fuzzy, c-format
msgid "%s: input file names must have .c suffixes: %s\n"
msgstr "%s: ôï áñ÷åßï åéóüäïõ åßíáé ôï áñ÷åßï åîüäïõ"
-#: real.c:824 real.c:1001
-#, fuzzy
-msgid "conversion from NaN to int"
-msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-
-#: real.c:847
-#, fuzzy
-msgid "conversion from NaN to unsigned int"
-msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-
-#: real.c:2730
-#, fuzzy
-msgid "floating point overflow"
-msgstr "Åîáßñåóç êéíçôÞò õðïäéáóôïëÞò"
-
-#: real.c:4395 real.c:6675 real.c:6756
-msgid "overflow on truncation to integer"
-msgstr ""
-
-#: real.c:4467
-msgid "overflow on truncation to unsigned integer"
-msgstr ""
-
-#: real.c:5812
-#, fuzzy, c-format
-msgid "%s: argument domain error"
-msgstr "%s: óöÜëìá áíÜãíùóçò"
-
-#: real.c:5813
-#, c-format
-msgid "%s: function singularity"
-msgstr ""
-
-#: real.c:5814
-#, fuzzy, c-format
-msgid "%s: overflow range error"
-msgstr "%s: óöÜëìá åããñáöÞò"
-
-#: real.c:5815
-#, fuzzy, c-format
-msgid "%s: underflow range error"
-msgstr "%s: óöÜëìá åããñáöÞò"
-
-#: real.c:5816
-#, c-format
-msgid "%s: total loss of precision"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
msgstr ""
-#: real.c:5817
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr ""
-
-#: real.c:5818
-#, c-format
-msgid "%s: NaN - producing operation"
-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 ""
-#: config/ia64/ia64.c:3856 config/ia64/ia64.c:3863 regclass.c:793
+#: regclass.c:768 config/ia64/ia64.c:4169 config/ia64/ia64.c:4176
#, fuzzy, c-format
msgid "unknown register name: %s"
msgstr "Üãíùóôïò ÷áñáêôÞñáò `%s'"
-#: 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:1821
+#: regrename.c:1899
#, c-format
msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr ""
-#: regrename.c:1833
+#: regrename.c:1911
#, c-format
msgid "validate_value_data: Loop in regno chain (%u)"
msgstr ""
-#: regrename.c:1836
+#: regrename.c:1914
#, c-format
msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr ""
-#: regrename.c:1848
+#: regrename.c:1926
#, c-format
msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr ""
-#: reload.c:1207
+#: reload.c:1225
msgid "cannot reload integer constant operand in `asm'"
msgstr ""
-#: reload.c:1229
+#: reload.c:1247
msgid "impossible register constraint in `asm'"
msgstr ""
-#: reload.c:3387
+#: reload.c:3467
msgid "`&' constraint used with no register class"
msgstr ""
-#: reload.c:3555
+#: reload.c:3635
#, fuzzy
msgid "unable to generate reloads for:"
msgstr "Áäýíáôç ç äçìéïõñãßá äéåñãáóßáò óôïí åîõðçñåôçôÞ"
-#: reload.c:3556 reload.c:3770
+#: reload.c:3636 reload.c:3850
msgid "inconsistent operand constraints in an `asm'"
msgstr ""
-#: reload1.c:1242
+#: reload1.c:1255
msgid "frame size too large for reliable stack checking"
msgstr ""
-#: reload1.c:1245
+#: reload1.c:1258
msgid "try reducing the number of local variables"
msgstr ""
-#: reload1.c:1892
+#: reload1.c:1914
#, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr ""
-#: reload1.c:1896
+#: reload1.c:1918
#, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr ""
-#: reload1.c:1898
+#: reload1.c:1920
#, fuzzy
msgid "this is the insn:"
msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-#: reload1.c:3917
+#: reload1.c:3941
msgid "`asm' operand requires impossible reload"
msgstr ""
#. It's the compiler's fault.
-#: reload1.c:5033
+#: reload1.c:5055
#, fuzzy
msgid "could not find a spill register"
msgstr "áäõíáìßá åýñåóçò âñü÷ïõ"
-#: reload1.c:5038
+#: reload1.c:5060
msgid "`asm' operand constraint incompatible with operand size"
msgstr ""
#. It's the compiler's fault.
-#: reload1.c:6629
+#: reload1.c:6680
msgid "VOIDmode on an output"
msgstr ""
-#: reload1.c:6630
+#: reload1.c:6681
msgid "output operand is constant in `asm'"
msgstr ""
-#: rtl-error.c:139
+#: rtl-error.c:140
#, fuzzy
msgid "unrecognizable insn:"
msgstr "Ìç áíáãíùñßóéìç ìåôáâëçôÞ `%s'"
-#: rtl-error.c:141
+#: rtl-error.c:142
msgid "insn does not satisfy its constraints:"
msgstr ""
-#: rtl.c:707
+#: 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:722
+#: 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:738
+#: 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:751
+#: rtl.c:602
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:765
+#: rtl.c:616
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:780
+#: 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:927
+#: 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:1163 stmt.c:3895
+#: stmt.c:989 stmt.c:3731
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr ""
-#: stmt.c:1343
+#: stmt.c:1169
msgid "output operand constraint lacks `='"
msgstr ""
-#: stmt.c:1358
+#: stmt.c:1184
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr ""
-#: stmt.c:1380
+#: stmt.c:1206
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr ""
-#: stmt.c:1386 stmt.c:1486
+#: stmt.c:1212 stmt.c:1316
#, c-format
msgid "`%%' constraint used with last operand"
msgstr ""
-#: stmt.c:1405
+#: stmt.c:1231
msgid "matching constraint not valid in output operand"
msgstr ""
-#: stmt.c:1477
+#: stmt.c:1307
#, c-format
msgid "input operand constraint contains `%c'"
msgstr ""
-#: stmt.c:1517
+#: stmt.c:1347
msgid "matching constraint references invalid operand number"
msgstr ""
-#: stmt.c:1549
+#: stmt.c:1379
#, fuzzy, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-#: stmt.c:1645
+#: stmt.c:1429
+#, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr ""
+
+#: stmt.c:1519
#, fuzzy, c-format
msgid "unknown register name `%s' in `asm'"
msgstr "Üãíùóôïò ÷áñáêôÞñáò óôï ðåäßï `%s' ôçò êáôçãïñßáò `%s'"
-#: stmt.c:1689
+#: stmt.c:1567
#, c-format
msgid "more than %d operands in `asm'"
msgstr ""
-#: stmt.c:1748
+#: stmt.c:1626
#, c-format
msgid "output number %d not directly addressable"
msgstr ""
@@ -6531,101 +6928,116 @@ msgstr ""
#. ??? Leave this only until we have experience with what
#. happens in combine and elsewhere when constraints are
#. not satisfied.
-#: stmt.c:1817 stmt.c:1846
+#: stmt.c:1698 stmt.c:1727
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr ""
-#: stmt.c:1992
+#: 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
#, fuzzy
msgid "too many alternatives in `asm'"
msgstr "Õðåñâïëéêá ðïëëÜ áíïéêôÜ áñ÷åßá óôï óýóôçìá"
-#: stmt.c:2004
+#: stmt.c:1910
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr ""
-#: stmt.c:2057
+#: stmt.c:1963
#, fuzzy, c-format
msgid "duplicate asm operand name '%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: stmt.c:2144
+#: stmt.c:2050
msgid "missing close brace for named operand"
msgstr ""
-#: stmt.c:2164
+#: stmt.c:2078
#, fuzzy, c-format
msgid "undefined named operand '%s'"
msgstr "Ìç ïñéóìÝíï üíïìá %s"
-#: stmt.c:3832
-#, fuzzy, c-format
+#: stmt.c:3668
+#, c-format
msgid "unused variable `%s'"
-msgstr "Ìç áíáãíùñßóéìç ìåôáâëçôÞ `%s'"
+msgstr "á÷ñçóéìïðïßçôç ìåôáâëçôÞ `%s'"
-#: stmt.c:5284
+#: stmt.c:5149
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr ""
-#: stmt.c:5310 stmt.c:5330
+#: stmt.c:5174 stmt.c:5194
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr ""
-#: stmt.c:5313 stmt.c:5333
+#: stmt.c:5177 stmt.c:5197
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr ""
-#: stor-layout.c:172
+#: stmt.c:5270
+#, fuzzy
+msgid "switch missing default case"
+msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
+
+#: stor-layout.c:178
msgid "type size can't be explicitly evaluated"
msgstr ""
-#: stor-layout.c:174
+#: stor-layout.c:180
msgid "variable-size type declared outside of any function"
msgstr ""
-#: stor-layout.c:455
+#: stor-layout.c:461
#, c-format
msgid "size of `%s' is %d bytes"
msgstr ""
-#: stor-layout.c:457
+#: stor-layout.c:463
#, fuzzy, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr "%s: ïé ôéìÝò ôïõ ðåäßïõ `%s' äåí ðñÝðåé íá åßíáé ìåãáëýôåñåò áðü %d"
-#: stor-layout.c:836 stor-layout.c:1089
+#: stor-layout.c:869 stor-layout.c:1285
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr ""
-#: stor-layout.c:838 stor-layout.c:1091
+#: stor-layout.c:871 stor-layout.c:1287
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr ""
-#: stor-layout.c:853
+#: stor-layout.c:886
#, c-format
msgid "padding struct to align `%s'"
msgstr ""
-#: stor-layout.c:1053
+#: stor-layout.c:1249
msgid "padding struct size to alignment boundary"
msgstr ""
-#: stor-layout.c:1096
+#: stor-layout.c:1292
msgid "packed attribute causes inefficient alignment"
msgstr ""
-#: stor-layout.c:1098
+#: stor-layout.c:1294
msgid "packed attribute is unnecessary"
msgstr ""
#: timevar.c:448
-msgid "\nExecution times (seconds)\n"
+msgid ""
+"\n"
+"Execution times (seconds)\n"
msgstr ""
#. Print total time.
@@ -6638,744 +7050,794 @@ msgstr " ÓÕÍÏËÉÊÁ :"
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr ""
-#: tlink.c:428
+#: tlink.c:399
#, fuzzy, c-format
msgid "collect: reading %s\n"
msgstr "óöÜëìá áíÜãíùóçò %s"
-#: 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 "ç ld åðÝóôñåøå êáôÜóôáóç åîüäïõ %d"
-#: toplev.c:913
+#: toplev.c:920
msgid "Generate debugging info in default format"
msgstr ""
-#: toplev.c:914
+#: toplev.c:921
msgid "Generate debugging info in default extended format"
msgstr ""
-#: toplev.c:916
+#: toplev.c:923
msgid "Generate STABS format debug info"
msgstr ""
-#: toplev.c:917
+#: toplev.c:924
msgid "Generate extended STABS format debug info"
msgstr ""
-#: toplev.c:920
+#: toplev.c:927
msgid "Generate DWARF-1 format debug info"
msgstr ""
-#: toplev.c:922
+#: toplev.c:929
msgid "Generate extended DWARF-1 format debug info"
msgstr ""
-#: toplev.c:925
+#: toplev.c:932
msgid "Generate DWARF-2 debug info"
msgstr ""
-#: toplev.c:928
+#: toplev.c:935
msgid "Generate XCOFF format debug info"
msgstr ""
-#: toplev.c:929
+#: toplev.c:936
msgid "Generate extended XCOFF format debug info"
msgstr ""
-#: toplev.c:932
+#: toplev.c:939
msgid "Generate COFF format debug info"
msgstr ""
-#: toplev.c:976
+#: toplev.c:942
+msgid "Generate VMS format debug info"
+msgstr ""
+
+#: toplev.c:981
msgid "Perform DWARF2 duplicate elimination"
msgstr ""
-#: toplev.c:978
+#: toplev.c:983
msgid "Do not store floats in registers"
msgstr ""
-#: toplev.c:980
+#: toplev.c:985
msgid "Consider all mem refs through pointers as volatile"
msgstr ""
-#: toplev.c:982
+#: toplev.c:987
msgid "Consider all mem refs to global data to be volatile"
msgstr ""
-#: toplev.c:984
+#: toplev.c:989
msgid "Consider all mem refs to static data to be volatile"
msgstr ""
-#: toplev.c:986
+#: toplev.c:991
msgid "Defer popping functions args from stack until later"
msgstr ""
-#: toplev.c:988
+#: toplev.c:993
msgid "When possible do not generate stack frames"
msgstr ""
-#: toplev.c:990
+#: toplev.c:995
msgid "Optimize sibling and tail recursive calls"
msgstr ""
-#: toplev.c:992
+#: 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:994
+#: toplev.c:1001
msgid "When running CSE, follow conditional jumps"
msgstr ""
-#: toplev.c:996
+#: toplev.c:1003
msgid "Perform a number of minor, expensive optimizations"
msgstr ""
-#: toplev.c:998
+#: toplev.c:1005
msgid "Perform jump threading optimizations"
msgstr ""
-#: toplev.c:1000
+#: toplev.c:1007
msgid "Perform strength reduction optimizations"
msgstr ""
-#: toplev.c:1002
+#: toplev.c:1009
msgid "Perform loop unrolling when iteration count is known"
msgstr ""
-#: toplev.c:1004
+#: toplev.c:1011
msgid "Perform loop unrolling for all loops"
msgstr ""
-#: toplev.c:1006
+#: toplev.c:1013
msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr ""
-#: toplev.c:1008
+#: toplev.c:1015
msgid "Force all loop invariant computations out of loops"
msgstr ""
-#: toplev.c:1010
+#: toplev.c:1017
msgid "Strength reduce all loop general induction variables"
msgstr ""
-#: toplev.c:1012
+#: toplev.c:1019
msgid "Store strings in writable data section"
msgstr ""
-#: toplev.c:1014
+#: toplev.c:1021
msgid "Enable machine specific peephole optimizations"
msgstr ""
-#: toplev.c:1016
+#: toplev.c:1023
msgid "Copy memory operands into registers before using"
msgstr ""
-#: toplev.c:1018
+#: toplev.c:1025
msgid "Copy memory address constants into regs before using"
msgstr ""
-#: toplev.c:1020
+#: toplev.c:1027
msgid "Allow function addresses to be held in registers"
msgstr ""
-#: toplev.c:1022
+#: toplev.c:1029
msgid "Integrate simple functions into their callers"
msgstr ""
-#: toplev.c:1024
+#: toplev.c:1031
msgid "Generate code for funcs even if they are fully inlined"
msgstr ""
-#: toplev.c:1026
+#: toplev.c:1033
msgid "Pay attention to the 'inline' keyword"
msgstr ""
-#: toplev.c:1028
+#: toplev.c:1035
msgid "Emit static const variables even if they are not used"
msgstr ""
-#: toplev.c:1030
+#: toplev.c:1037
msgid "Check for syntax errors, then stop"
msgstr ""
-#: toplev.c:1032
+#: toplev.c:1039
msgid "Mark data as shared rather than private"
msgstr ""
-#: toplev.c:1034
+#: toplev.c:1041
msgid "Enable saving registers around function calls"
msgstr ""
-#: toplev.c:1036
+#: toplev.c:1043
msgid "Return 'short' aggregates in memory, not registers"
msgstr ""
-#: toplev.c:1038
+#: toplev.c:1045
msgid "Return 'short' aggregates in registers"
msgstr ""
-#: toplev.c:1040
+#: toplev.c:1047
msgid "Attempt to fill delay slots of branch instructions"
msgstr ""
-#: toplev.c:1042
+#: toplev.c:1049
msgid "Perform the global common subexpression elimination"
msgstr ""
-#: toplev.c:1044
+#: toplev.c:1051
msgid "Perform enhanced load motion during global subexpression elimination"
msgstr ""
-#: toplev.c:1046
+#: toplev.c:1053
msgid "Perform store motion after global subexpression elimination"
msgstr ""
-#: toplev.c:1048
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr ""
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr ""
+
+#: 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:1050
+#: toplev.c:1065
msgid "Run the loop optimizer twice"
msgstr ""
-#: toplev.c:1052
+#: toplev.c:1067
msgid "Delete useless null pointer checks"
msgstr ""
-#: toplev.c:1054
-msgid "Pretend that host and target use the same FP format"
-msgstr ""
-
-#: toplev.c:1056
+#: toplev.c:1069
msgid "Reschedule instructions before register allocation"
msgstr ""
-#: toplev.c:1058
+#: toplev.c:1071
msgid "Reschedule instructions after register allocation"
msgstr ""
-#: toplev.c:1060
+#: toplev.c:1073
msgid "Enable scheduling across basic blocks"
msgstr ""
-#: toplev.c:1062
+#: toplev.c:1075
msgid "Allow speculative motion of non-loads"
msgstr ""
-#: toplev.c:1064
+#: toplev.c:1077
msgid "Allow speculative motion of some loads"
msgstr ""
-#: toplev.c:1066
+#: toplev.c:1079
msgid "Allow speculative motion of more loads"
msgstr ""
-#: toplev.c:1068
+#: toplev.c:1081
msgid "Replace add,compare,branch with branch on count reg"
msgstr ""
-#: toplev.c:1070
+#: toplev.c:1083
msgid "Generate position independent code, if possible"
msgstr ""
-#: toplev.c:1073
+#: toplev.c:1086
msgid "Enable exception handling"
msgstr ""
-#: toplev.c:1075
+#: toplev.c:1088
msgid "Just generate unwind tables for exception handling"
msgstr ""
-#: toplev.c:1077
+#: toplev.c:1090
msgid "Generate unwind tables exact at each instruction boundary"
msgstr ""
-#: toplev.c:1079
+#: toplev.c:1092
msgid "Support synchronous non-call exceptions"
msgstr ""
-#: toplev.c:1081
+#: toplev.c:1094
msgid "Insert arc based program profiling code"
msgstr ""
-#: toplev.c:1083
+#: toplev.c:1096
msgid "Create data files needed by gcov"
msgstr ""
-#: toplev.c:1085
+#: toplev.c:1098
msgid "Use profiling information for branch probabilities"
msgstr ""
-#: toplev.c:1087
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr ""
+
+#: toplev.c:1102
msgid "Reorder basic blocks to improve code placement"
msgstr ""
-#: toplev.c:1089
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr ""
+
+#: toplev.c:1106
msgid "Do the register renaming optimization pass"
msgstr ""
-#: toplev.c:1091
+#: toplev.c:1108
msgid "Do the register copy-propagation optimization pass"
msgstr ""
-#: toplev.c:1093
+#: toplev.c:1110
msgid "Do not put uninitialized globals in the common section"
msgstr ""
-#: toplev.c:1095
+#: toplev.c:1112
msgid "Do not generate .size directives"
msgstr ""
-#: toplev.c:1097
+#: toplev.c:1114
msgid "place each function into its own section"
msgstr ""
-#: toplev.c:1099
+#: toplev.c:1116
msgid "place data items into their own section"
msgstr ""
-#: toplev.c:1101
+#: toplev.c:1118
msgid "Add extra commentry to assembler output"
msgstr ""
-#: toplev.c:1103
+#: toplev.c:1120
msgid "Output GNU ld formatted global initializers"
msgstr ""
-#: toplev.c:1105
+#: toplev.c:1122
msgid "Enables a register move optimization"
msgstr ""
-#: toplev.c:1107
+#: toplev.c:1124
msgid "Do the full regmove optimization pass"
msgstr ""
-#: toplev.c:1109
+#: toplev.c:1126
msgid "Pack structure members together without holes"
msgstr ""
-#: toplev.c:1111
+#: toplev.c:1128
msgid "Insert stack checking code into the program"
msgstr ""
-#: toplev.c:1113
+#: toplev.c:1130
msgid "Specify that arguments may alias each other & globals"
msgstr ""
-#: toplev.c:1115
+#: toplev.c:1132
msgid "Assume arguments may alias globals but not each other"
msgstr ""
-#: toplev.c:1117
+#: toplev.c:1134
msgid "Assume arguments do not alias each other or globals"
msgstr ""
-#: toplev.c:1119
+#: toplev.c:1136
msgid "Assume strict aliasing rules apply"
msgstr ""
-#: toplev.c:1121
+#: toplev.c:1138
msgid "Align the start of loops"
msgstr ""
-#: toplev.c:1123
+#: toplev.c:1140
msgid "Align labels which are only reached by jumping"
msgstr ""
-#: toplev.c:1125
+#: toplev.c:1142
msgid "Align all labels"
msgstr ""
-#: toplev.c:1127
+#: toplev.c:1144
msgid "Align the start of functions"
msgstr ""
-#: toplev.c:1129
+#: toplev.c:1146
msgid "Attempt to merge identical constants accross compilation units"
msgstr ""
-#: toplev.c:1131
+#: toplev.c:1148
msgid "Attempt to merge identical constants and constant variables"
msgstr ""
-#: toplev.c:1133
+#: toplev.c:1150
msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr ""
-#: toplev.c:1135
+#: toplev.c:1152
msgid "Instrument function entry/exit with profiling calls"
msgstr ""
-#: toplev.c:1137
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr ""
+
+#: toplev.c:1156
msgid "Enable SSA optimizations"
msgstr ""
-#: toplev.c:1139
+#: toplev.c:1158
msgid "Enable SSA conditional constant propagation"
msgstr ""
-#: toplev.c:1141
+#: toplev.c:1160
msgid "Enable aggressive SSA dead code elimination"
msgstr ""
-#: toplev.c:1143
+#: toplev.c:1162
msgid "External symbols have a leading underscore"
msgstr ""
-#: toplev.c:1145
+#: toplev.c:1164
msgid "Process #ident directives"
msgstr ""
-#: toplev.c:1147
+#: toplev.c:1166
msgid "Enables an rtl peephole pass run before sched2"
msgstr ""
-#: toplev.c:1149
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr ""
+
+#: toplev.c:1170
msgid "Enables guessing of branch probabilities"
msgstr ""
-#: toplev.c:1151
+#: toplev.c:1172
msgid "Set errno after built-in math functions"
msgstr ""
-#: toplev.c:1153
+#: toplev.c:1174
#, fuzzy
msgid "Floating-point operations can trap"
msgstr "Åîáßñåóç êéíçôÞò õðïäéáóôïëÞò"
-#: toplev.c:1155
+#: toplev.c:1176
msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr ""
-#: toplev.c:1157
-msgid "Compile pointers as triples: value, base & end"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
msgstr ""
-#: toplev.c:1159
-msgid "Generate code to check bounds before dereferencing pointers and arrays"
-msgstr ""
+#: toplev.c:1180
+#, fuzzy
+msgid "Generate code to check bounds before indexing arrays"
+msgstr "×ñÞóç îå÷ùñéóôÞò ëáíèÜíïõóáò ìíÞìçò ãéá êÜèå ÷ñÞóôç"
-#: toplev.c:1161
+#: toplev.c:1182
msgid "Convert floating point constant to single precision constant"
msgstr ""
-#: toplev.c:1163
+#: toplev.c:1184
msgid "Report time taken by each compiler pass at end of run"
msgstr ""
-#: toplev.c:1165
+#: toplev.c:1186
msgid "Report on permanent memory allocation at end of run"
msgstr ""
-#: toplev.c:1167
+#: toplev.c:1188
msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr ""
-#: toplev.c:1184
-msgid "Compile just for ISO C89"
-msgstr ""
+#: toplev.c:1190
+#, fuzzy
+msgid "Use graph coloring register allocation."
+msgstr "ìç ôåñìáôéæüìåíï üíïìá âÜñïõò"
-#: toplev.c:1186
-msgid "Do not promote floats to double if using -traditional"
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
msgstr ""
-#: toplev.c:1188
+#: toplev.c:1209
msgid "Determine language standard"
msgstr ""
-#: toplev.c:1192
+#: toplev.c:1213
msgid "Make bit-fields by unsigned by default"
msgstr ""
-#: toplev.c:1196
+#: toplev.c:1217
msgid "Make 'char' be signed by default"
msgstr ""
-#: toplev.c:1198
+#: toplev.c:1219
msgid "Make 'char' be unsigned by default"
msgstr ""
-#: toplev.c:1204
-msgid "Attempt to support traditional K&R style C"
-msgstr ""
-
-#: toplev.c:1210
+#: toplev.c:1225
msgid "Do not recognize the 'asm' keyword"
msgstr ""
-#: toplev.c:1213
+#: toplev.c:1228
msgid "Do not recognize any built in functions"
msgstr ""
-#: toplev.c:1215
+#: toplev.c:1230
msgid "Assume normal C execution environment"
msgstr ""
-#: toplev.c:1218
+#: toplev.c:1233
msgid "Assume that standard libraries & main might not exist"
msgstr ""
-#: toplev.c:1221
+#: toplev.c:1236
msgid "Allow different types as args of ? operator"
msgstr ""
-#: toplev.c:1224
+#: toplev.c:1239
msgid "Allow the use of $ inside identifiers"
msgstr ""
-#: toplev.c:1229
+#: toplev.c:1244
msgid "Use the same size for double as for float"
msgstr ""
-#: toplev.c:1232
+#: toplev.c:1247
msgid "Use the smallest fitting integer to hold enums"
msgstr ""
-#: toplev.c:1235
+#: toplev.c:1250
msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr ""
-#: toplev.c:1239
+#: toplev.c:1254
msgid "Enable most warning messages"
msgstr ""
-#: toplev.c:1241
+#: toplev.c:1256
msgid "Warn about casting functions to incompatible types"
msgstr ""
-#: toplev.c:1245
+#: toplev.c:1259
msgid "Warn about functions which might be candidates for format attributes"
msgstr ""
-#: toplev.c:1248
+#: toplev.c:1262
msgid "Warn about casts which discard qualifiers"
msgstr ""
-#: toplev.c:1251
+#: toplev.c:1265
msgid "Warn about subscripts whose type is 'char'"
msgstr ""
-#: toplev.c:1254 toplev.c:1257
+#: toplev.c:1268 toplev.c:1271
msgid "Warn if nested comments are detected"
msgstr ""
-#: toplev.c:1260
+#: toplev.c:1274
msgid "Warn about possibly confusing type conversions"
msgstr ""
-#: toplev.c:1263
-msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
msgstr ""
-#: toplev.c:1267
-msgid "Don't warn about strftime formats yielding 2 digit years"
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
msgstr ""
-#: toplev.c:1270
+#: toplev.c:1283
+msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+msgstr ""
+
+#: toplev.c:1287
msgid "Don't warn about too many arguments to format functions"
msgstr ""
-#: toplev.c:1272
+#: toplev.c:1289
msgid "Warn about non-string-literal format strings"
msgstr ""
-#: toplev.c:1275
+#: toplev.c:1292
msgid "Warn about possible security problems with format functions"
msgstr ""
-#: toplev.c:1278
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr ""
+
+#: toplev.c:1298
msgid "Warn about implicit function declarations"
msgstr ""
-#: toplev.c:1282
+#: toplev.c:1302
msgid "Warn when a declaration does not specify a type"
msgstr ""
-#: toplev.c:1287
+#: toplev.c:1307
msgid "Warn about the use of the #import directive"
msgstr ""
-#: toplev.c:1291
+#: toplev.c:1311
msgid "Do not warn about using 'long long' when -pedantic"
msgstr ""
-#: toplev.c:1293
+#: toplev.c:1313
msgid "Warn about suspicious declarations of main"
msgstr ""
-#: toplev.c:1296
+#: toplev.c:1316
msgid "Warn about possibly missing braces around initializers"
msgstr ""
-#: toplev.c:1299
+#: toplev.c:1319
msgid "Warn about global funcs without previous declarations"
msgstr ""
-#: toplev.c:1302
+#: toplev.c:1322
msgid "Warn about global funcs without prototypes"
msgstr ""
-#: toplev.c:1305
+#: toplev.c:1325
msgid "Warn about use of multicharacter literals"
msgstr ""
-#: toplev.c:1308
+#: toplev.c:1328
msgid "Warn about externs not at file scope level"
msgstr ""
-#: toplev.c:1311
+#: toplev.c:1331
msgid "Warn about possible missing parentheses"
msgstr ""
-#: toplev.c:1314
-msgid "Warn about possible violations of sequence point rules"
-msgstr ""
-
-#: toplev.c:1317
+#: toplev.c:1334
msgid "Warn about function pointer arithmetic"
msgstr ""
-#: toplev.c:1320
+#: toplev.c:1337
msgid "Warn about multiple declarations of the same object"
msgstr ""
-#: toplev.c:1323
-msgid "Warn about signed/unsigned comparisons"
-msgstr ""
+#: toplev.c:1340
+#, fuzzy
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "ï åðéóôñåöüìåíïò ôýðïò ðñïêáèïñßæåôáé óå `int'"
-#: toplev.c:1326
-msgid "Warn about testing equality of floating point numbers"
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
msgstr ""
-#: toplev.c:1329
-msgid "Warn about unrecognized pragmas"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
msgstr ""
-#: toplev.c:1332
+#: toplev.c:1349
msgid "Warn about non-prototyped function decls"
msgstr ""
-#: toplev.c:1335
-msgid "Warn about constructs whose meaning change in ISO C"
+#: toplev.c:1352
+msgid "Warn about constructs whose meanings change in ISO C"
msgstr ""
-#: toplev.c:1338
+#: toplev.c:1355
msgid "Warn when trigraphs are encountered"
msgstr ""
-#: toplev.c:1343
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr ""
+
+#: toplev.c:1363
msgid "Mark strings as 'const char *'"
msgstr ""
-#: toplev.c:1473
+#: toplev.c:1508
msgid "Warn when a function is unused"
msgstr ""
-#: toplev.c:1475
+#: toplev.c:1510
msgid "Warn when a label is unused"
msgstr ""
-#: toplev.c:1477
+#: toplev.c:1512
msgid "Warn when a function parameter is unused"
msgstr ""
-#: toplev.c:1479
+#: toplev.c:1514
msgid "Warn when a variable is unused"
msgstr ""
-#: toplev.c:1481
+#: toplev.c:1516
msgid "Warn when an expression value is unused"
msgstr ""
-#: toplev.c:1483
+#: toplev.c:1518
#, fuzzy
msgid "Do not suppress warnings from system headers"
msgstr "Áðïóéþðçóç ðñïçäïðïéÞóåùí êáé ìçíõìÜôùí ðëçñïöüñçóçò"
-#: toplev.c:1485
+#: toplev.c:1520
msgid "Treat all warnings as errors"
msgstr ""
-#: toplev.c:1487
+#: toplev.c:1522
msgid "Warn when one local variable shadows another"
msgstr ""
-#: toplev.c:1489
-msgid "Warn about enumerated switches missing a specific case"
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr ""
+
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
msgstr ""
-#: toplev.c:1491
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr ""
+
+#: toplev.c:1530
msgid "Warn about returning structures, unions or arrays"
msgstr ""
-#: toplev.c:1493
+#: toplev.c:1532
msgid "Warn about pointer casts which increase alignment"
msgstr ""
-#: toplev.c:1495
+#: toplev.c:1534
msgid "Warn about code that will never be executed"
msgstr ""
-#: toplev.c:1497
+#: toplev.c:1536
msgid "Warn about uninitialized automatic variables"
msgstr ""
-#: toplev.c:1499
+#: toplev.c:1538
msgid "Warn when an inlined function cannot be inlined"
msgstr ""
-#: toplev.c:1501
+#: toplev.c:1540
msgid "Warn when the packed attribute has no effect on struct layout"
msgstr ""
-#: toplev.c:1503
+#: toplev.c:1542
msgid "Warn when padding is required to align struct members"
msgstr ""
-#: toplev.c:1505
+#: toplev.c:1544
msgid "Warn when an optimization pass is disabled"
msgstr ""
-#: toplev.c:1507
+#: toplev.c:1546
msgid "Warn about uses of __attribute__((deprecated)) declarations"
msgstr ""
-#: toplev.c:1509
+#: toplev.c:1548
msgid "Warn about functions which might be candidates for attribute noreturn"
msgstr ""
-#: toplev.c:1580 toplev.c:4363 tradcpp.c:781
+#: toplev.c:1550
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr ""
+
+#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676
#, c-format
msgid "invalid option `%s'"
msgstr "ìç Ýãêõñç åðéëïãÞ `%s'"
-#: toplev.c:1726
-#, fuzzy, c-format
-msgid "internal error: %s"
-msgstr "óöÜëìá óôçí áíÜãíùóç åéóüäïõ: %s"
-
-#: toplev.c:2026
+#: toplev.c:2029
#, c-format
msgid "`%s' used but never defined"
msgstr ""
-#: toplev.c:2029
+#: toplev.c:2032
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr ""
@@ -7385,214 +7847,225 @@ msgstr ""
msgid "`%s' defined but not used"
msgstr ""
-#: toplev.c:2282
+#: toplev.c:2300
#, c-format
msgid "invalid register name `%s' for register variable"
msgstr ""
-#: toplev.c:3574
+#: toplev.c:3683
msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
msgstr ""
-#: toplev.c:3575
+#: toplev.c:3684
msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
msgstr ""
-#: toplev.c:3576
+#: toplev.c:3685
msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
msgstr ""
-#: toplev.c:3577
+#: toplev.c:3686
msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr ""
-#: toplev.c:3578
+#: toplev.c:3687
msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
msgstr ""
-#: toplev.c:3579
+#: 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:3590
+#: 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:3591
+#: toplev.c:3701
msgid " -Os Optimize for space rather than speed\n"
msgstr ""
-#: toplev.c:3603
+#: toplev.c:3713
msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
msgstr ""
-#: toplev.c:3604
+#: toplev.c:3714
msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr ""
-#: toplev.c:3605
+#: toplev.c:3715
msgid " -w Suppress warnings\n"
msgstr ""
-#: toplev.c:3606
+#: toplev.c:3716
msgid " -W Enable extra warnings\n"
msgstr ""
-#: toplev.c:3617
+#: toplev.c:3727
msgid " -Wunused Enable unused warnings\n"
msgstr ""
-#: toplev.c:3618
+#: toplev.c:3728
msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr ""
-#: toplev.c:3619
+#: toplev.c:3729
msgid " -p Enable function profiling\n"
msgstr ""
-#: toplev.c:3621
-msgid " -a Enable block profiling \n"
-msgstr ""
-
-#: toplev.c:3624
-msgid " -ax Enable jump profiling \n"
-msgstr ""
-
-#: toplev.c:3626
+#: toplev.c:3730
msgid " -o <file> Place output into <file> \n"
msgstr ""
-#: toplev.c:3627
+#: 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:3638
+#: toplev.c:3742
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr ""
-#: toplev.c:3639
+#: toplev.c:3743
msgid " -quiet Do not display functions compiled or elapsed time\n"
msgstr ""
-#: toplev.c:3640
+#: toplev.c:3744
msgid " -version Display the compiler's version\n"
msgstr ""
-#: toplev.c:3641
+#: toplev.c:3745
msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr ""
-#: toplev.c:3642
+#: toplev.c:3746
msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
msgstr ""
-#: toplev.c:3644
+#: toplev.c:3748
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
msgstr ""
-#: toplev.c:3646
+#: toplev.c:3750
msgid " --help Display this information\n"
msgstr ""
-#: toplev.c:3661
-msgid "\nLanguage specific options:\n"
+#: toplev.c:3765
+msgid ""
+"\n"
+"Language specific options:\n"
msgstr ""
-#: toplev.c:3673
+#: toplev.c:3777
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr ""
-#: toplev.c:3681 toplev.c:3695
+#: toplev.c:3785 toplev.c:3799
#, c-format
-msgid "\nThere are undocumented %s specific options as well.\n"
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
msgstr ""
-#: toplev.c:3685
+#: toplev.c:3789
#, c-format
-msgid "\n Options for %s:\n"
+msgid ""
+"\n"
+" Options for %s:\n"
msgstr ""
-#: toplev.c:3722
+#: toplev.c:3826
#, fuzzy
-msgid "\nTarget specific options:\n"
+msgid ""
+"\n"
+"Target specific options:\n"
msgstr "äÞëùóç ðëÜôïõò"
-#: toplev.c:3736 toplev.c:3755
+#: toplev.c:3840 toplev.c:3859
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr ""
-#: toplev.c:3764
-msgid "\nThere are undocumented target specific options as well.\n"
+#: toplev.c:3868
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
msgstr ""
-#: toplev.c:3766
+#: toplev.c:3870
msgid " They exist, but they are not documented.\n"
msgstr ""
-#: toplev.c:3819
+#: toplev.c:3923
#, fuzzy, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%c'"
+#: toplev.c:3979
+#, fuzzy, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "%s: Üãíùóôï/ìç õðïóôçñéæüìåíï åßäïò áñ÷åßïõ.\n"
+
# src/request.c:806 src/request.c:912
-#: toplev.c:3889
+#: toplev.c:4006
#, fuzzy, c-format
msgid "unrecognized register name `%s'"
msgstr "Ìç áíáãíùñßóçìï üíïìá åðéöÜíåéáò `%s'"
-#: toplev.c:3914 toplev.c:4792
+#: toplev.c:4031 toplev.c:4965
#, fuzzy, c-format
msgid "unrecognized option `%s'"
msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%c'"
-#: toplev.c:3958
+#: toplev.c:4075
msgid "-Wid-clash-LEN is no longer supported"
msgstr ""
-#: toplev.c:4035
+#: toplev.c:4152
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr ""
-#: toplev.c:4038
+#: toplev.c:4155
msgid "use -gdwarf-2 for DWARF v2"
msgstr ""
-#: toplev.c:4043
+#: toplev.c:4160
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr ""
-#: toplev.c:4066 toplev.c:4790
+#: toplev.c:4183 toplev.c:4963
#, fuzzy, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr "%s: Üãíùóôï/ìç õðïóôçñéæüìåíï åßäïò áñ÷åßïõ.\n"
-#: toplev.c:4073
+#: toplev.c:4190
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr ""
-#: toplev.c:4152
+#: toplev.c:4269
#, fuzzy
msgid "-param option missing argument"
msgstr "ðáñÜëçøç ïñßóìáôïò áñ÷åßïõ"
-#: toplev.c:4161
+#: toplev.c:4278
#, fuzzy, c-format
msgid "invalid --param option: %s"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: toplev.c:4173
+#: toplev.c:4290
#, fuzzy, c-format
msgid "invalid parameter value `%s'"
msgstr "Ìç Ýãêõñï äéÜóôçìá ÷ñüíïõ `%s'"
-#: toplev.c:4380
+#: toplev.c:4530
#, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7602,1177 +8075,908 @@ msgstr ""
# src/getopt1.c:132
# src/getopt1.c:132
-#: toplev.c:4436
+#: toplev.c:4586
#, fuzzy
msgid "options passed: "
msgstr "åðéëïãÞ %s"
# src/getopt1.c:155
# src/getopt1.c:155
-#: toplev.c:4465
+#: toplev.c:4615
#, fuzzy
msgid "options enabled: "
msgstr "åðéëïãÞ á\n"
-#: toplev.c:4524
+#: toplev.c:4674 java/jcf-write.c:3421
#, fuzzy, c-format
msgid "can't open %s for writing"
msgstr "%s: ÓöÜëìá åããñáöÞò "
-#: toplev.c:4782
+#: toplev.c:4955
#, fuzzy, c-format
msgid "ignoring command line option '%s'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: toplev.c:4785
+#: toplev.c:4958
#, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr ""
-#: toplev.c:4814
+#: toplev.c:4992
msgid "-Wuninitialized is not supported without -O"
msgstr ""
-#: toplev.c:4870
+#: toplev.c:5047
#, fuzzy
msgid "instruction scheduling not supported on this target machine"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: toplev.c:4874
+#: toplev.c:5051
msgid "this target machine does not have delayed branches"
msgstr ""
-#: toplev.c:4883
-msgid "profiling does not work without a frame pointer"
-msgstr ""
-
-#: toplev.c:4898
+#: toplev.c:5065
#, fuzzy, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: toplev.c:4961
+#: toplev.c:5128
#, fuzzy
msgid "-ffunction-sections not supported for this target"
msgstr "ôï --no-dereference (-h) äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
-#: toplev.c:4966
+#: toplev.c:5133
#, fuzzy
msgid "-fdata-sections not supported for this target"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: toplev.c:4973
+#: toplev.c:5140
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr ""
-#: toplev.c:4980
+#: toplev.c:5147
#, fuzzy
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr "ôï --no-dereference (-h) äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
-#: toplev.c:4986
+#: toplev.c:5153
msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr ""
-#: toplev.c:4993
+#: toplev.c:5162
+#, fuzzy
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr "ôï --no-dereference (-h) äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
+
+#: toplev.c:5168
msgid "-ffunction-sections may affect debugging on some targets"
msgstr ""
-#: toplev.c:5114
+#: toplev.c:5280
#, fuzzy, c-format
msgid "error writing to %s"
msgstr "óöÜëìá åããñáöÞò %s"
-#: java/jcf-parse.c:1000 toplev.c:5116
+#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428
#, fuzzy, c-format
msgid "error closing %s"
msgstr "óöÜëìá áíÜãíùóçò %s"
-#. 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
-#, fuzzy
-msgid "invalid number in #if expression"
-msgstr "ìç Ýãêõñïò áñéèìüò áðü ãñáììÝò"
-
-#: tradcif.y:358
-#, fuzzy
-msgid "invalid character constant in #if"
-msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-
-#: tradcif.y:395
-msgid "double quoted strings not allowed in #if expressions"
-msgstr ""
-
-#: tradcif.y:408
-#, fuzzy
-msgid "invalid token in expression"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: tradcif.y:499
-#, fuzzy
-msgid "octal character constant does not fit in a byte"
-msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-
-#: tradcif.y:520
-#, fuzzy
-msgid "hex character constant does not fit in a byte"
-msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-
-#: tradcif.y:551
-msgid "empty #if expression"
-msgstr ""
-
-#: tradcif.y:565
-#, fuzzy
-msgid "Junk after end of expression."
-msgstr "Ðñüùñï ôÝëïò ôçò êáíïíéêÞò Ýêöñáóçò"
-
-#: tradcpp.c:138
-msgid "macro or #include recursion too deep"
-msgstr ""
-
-#: tradcpp.c:555
-#, c-format
-msgid "usage: %s [switches] input output"
-msgstr ""
-
-#: tradcpp.c:571
-#, fuzzy
-msgid "-traditional is not supported in C++"
-msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
-
-#: tradcpp.c:573
-#, fuzzy
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr "ïé åðéëïãÝò --string êáé --check åßíáé áìïéâáßùò áðïêëåéüìåíåò"
-
-#: tradcpp.c:587
-msgid "filename missing after -i option"
-msgstr ""
-
-#: tradcpp.c:605
-msgid "filename missing after -o option"
-msgstr ""
-
-#: tradcpp.c:664
-#, c-format
-msgid "target missing after %s option"
-msgstr ""
-
-#: tradcpp.c:678
-#, c-format
-msgid "filename missing after %s option"
-msgstr ""
-
-#: tradcpp.c:703
-#, c-format
-msgid "macro name missing after -%c option"
-msgstr ""
-
-#: tradcpp.c:723
-#, fuzzy
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "\"Æþíç %s\" ãñáììÞ êáé åðéëïãÞ -l åßíáé áìïéâáßùò áðïêëåéüìåíá"
-
-#: tradcpp.c:728
-#, fuzzy
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "ïé åðéëïãÝò --string êáé --check åßíáé áìïéâáßùò áðïêëåéüìåíåò"
-
-#: tradcpp.c:754
-msgid "directory name missing after -I option"
-msgstr ""
-
-#: tradcpp.c:1434 tradcpp.c:3926
-msgid "`/*' within comment"
-msgstr ""
-
-#: tradcpp.c:1810
-#, fuzzy, c-format
-msgid "unterminated #%s conditional"
-msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-
-#: tradcpp.c:2169
-#, fuzzy
-msgid "not in any file?!"
-msgstr "Äåí åßíáé åðþíõìï áñ÷åßï"
-
-#: tradcpp.c:2275
-msgid "`defined' must be followed by ident or (ident)"
-msgstr ""
-
-#: tradcpp.c:2279
-msgid "cccp error: invalid special hash type"
-msgstr ""
-
-#: tradcpp.c:2377 tradcpp.c:2447
-msgid "#include expects \"fname\" or <fname>"
-msgstr ""
-
-#: tradcpp.c:2532
-#, c-format
-msgid "no include path in which to find %.*s"
-msgstr ""
-
-#: tradcpp.c:2710
-#, fuzzy
-msgid "invalid macro name"
-msgstr "ìç Ýãêõñï üíïìá ìÞíá"
-
-#: tradcpp.c:2718
-#, fuzzy, c-format
-msgid "invalid macro name `%s'"
-msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-
-#: tradcpp.c:2723
-msgid "\"defined\" cannot be used as a macro name"
-msgstr ""
-
-#: tradcpp.c:2750
-msgid "parameter name starts with a digit in #define"
-msgstr ""
-
-#: tradcpp.c:2760
-msgid "badly punctuated parameter list in #define"
-msgstr ""
-
-#: tradcpp.c:2768
-#, fuzzy
-msgid "unterminated parameter list in #define"
-msgstr "ìç ôåñìáôéæüìåíï üíïìá âÜñïõò"
-
-#: tradcpp.c:2816
-#, c-format
-msgid "\"%.*s\" redefined"
-msgstr ""
-
-#: tradcpp.c:3073
-msgid "# operator should be followed by a macro argument name"
-msgstr ""
-
-#: tradcpp.c:3120 tradcpp.c:3146 tradcpp.c:3160 tradcpp.c:3167 tradcpp.c:3192
-#, fuzzy
-msgid "invalid format #line command"
-msgstr "Ç áëõóßäá ìïñöÞò äåí åßíáé Ýãêõñç: `%s'"
-
-#: tradcpp.c:3218
-#, fuzzy
-msgid "undefining `defined'"
-msgstr "áüñéóôï"
-
-#: tradcpp.c:3222
-#, fuzzy, c-format
-msgid "undefining `%s'"
-msgstr "¶íïéãìá ôïõ `%s'"
-
-#: tradcpp.c:3278
-msgid "extra text at end of directive"
-msgstr ""
-
-#: tradcpp.c:3385
-#, c-format
-msgid "#error%.*s"
-msgstr ""
-
-#: tradcpp.c:3395
-#, fuzzy, c-format
-msgid "#warning%.*s"
-msgstr "ðñïåéäïðïßçóç: "
-
-#: tradcpp.c:3551
-msgid "#elif not within a conditional"
-msgstr ""
-
-#: tradcpp.c:3808
-#, c-format
-msgid "#%s not within a conditional"
-msgstr ""
-
-#: tradcpp.c:3816
-msgid "#else or #elif after #else"
-msgstr ""
-
-#: tradcpp.c:3856
-msgid "#else not within a conditional"
-msgstr ""
-
-# src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
-# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
-# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695
-# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712
-#: tradcpp.c:3887
-#, fuzzy
-msgid "unbalanced #endif"
-msgstr "Ìç éóóïñïðçìÝíï ["
-
-#: tradcpp.c:3981
-#, fuzzy
-msgid "unterminated string or character constant"
-msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-
-#: tradcpp.c:4139
-#, fuzzy, c-format
-msgid "arguments given to macro `%s'"
-msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-
-#: tradcpp.c:4145
-#, fuzzy, c-format
-msgid "no args to macro `%s'"
-msgstr "Üãíùóôïò ÷áñáêôÞñáò `%s'"
-
-#: tradcpp.c:4147
-#, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr ""
-
-#: tradcpp.c:4149
-#, c-format
-msgid "only %d args to macro `%s'"
-msgstr ""
-
-#: tradcpp.c:4151
-#, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr ""
-
-#: tradcpp.c:4748
-#, 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:841
+#: tree-dump.c:702
#, fuzzy, c-format
msgid "could not open dump file `%s'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ `%s'"
-#: tree-dump.c:917
+#: tree-dump.c:778
#, fuzzy, c-format
msgid "ignoring unknown option `%.*s' in `-f%s'"
msgstr "¶ãíùóôç åðéëïãÞ: %s %s %s"
-#: tree.c:3841
+#: tree.c:3645
msgid "arrays of functions are not meaningful"
msgstr ""
-#: tree.c:3898
+#: tree.c:3702
msgid "function return type cannot be function"
msgstr ""
-#: tree.c:4645
+#: tree.c:4544
#, fuzzy
msgid "invalid initializer for bit string"
msgstr "Ç áëõóßäá ìïñöÞò äåí åßíáé Ýãêõñç: `%s'"
-#: tree.c:4704
+#: tree.c:4603
#, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr ""
-#: tree.c:4721
+#: tree.c:4620
#, c-format
msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
msgstr ""
-#: config/i386/winnt.c:522 varasm.c:451
+#: 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:877
+#: varasm.c:841
#, fuzzy, c-format
msgid "register name not specified for `%s'"
msgstr "ÅããñáöÞ ïíïìÜôùí ôùí åðéëåãìÝíùí ëÝîåùí-êëåéäéþí"
-#: varasm.c:879
+#: varasm.c:843
#, fuzzy, c-format
msgid "invalid register name for `%s'"
msgstr "ìç Ýãêõñïò áñéèìüò ðåäßïõ: `%s'"
-#: varasm.c:882
+#: varasm.c:846
#, c-format
msgid "data type of `%s' isn't suitable for a register"
msgstr ""
-#: varasm.c:885
+#: varasm.c:849
#, c-format
msgid "register specified for `%s' isn't suitable for data type"
msgstr ""
-#: varasm.c:894
+#: varasm.c:858
msgid "global register variable has initial value"
msgstr ""
-#: varasm.c:897
+#: varasm.c:861
msgid "volatile register variables don't work as you might wish"
msgstr ""
-#: varasm.c:930
+#: varasm.c:894
#, c-format
msgid "register name given for non-register variable `%s'"
msgstr ""
-# src/shred.c:1134
-#: varasm.c:1537
-#, fuzzy, c-format
-msgid "size of variable `%s' is too large"
-msgstr "%s: ôï áñ÷åßï åßíáé ðïëý ìåãÜëï"
-
-#: varasm.c:1577
+#: varasm.c:1542
#, c-format
msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr ""
-#: varasm.c:1628
+#: 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:4449
+#: varasm.c:4020
msgid "initializer for integer value is too complicated"
msgstr ""
-#: varasm.c:4454
+#: varasm.c:4025
msgid "initializer for floating value is not a floating constant"
msgstr ""
-#: varasm.c:4503
+#: varasm.c:4075
#, fuzzy
msgid "unknown set constructor type"
msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ï ôýðïò ôïõ åðåîåñãáóôÞ."
-#: varasm.c:4717
+#: varasm.c:4289
#, fuzzy, c-format
msgid "invalid initial value for member `%s'"
msgstr "ìç Ýãêõñïò áñéèìüò ðåäßïõ: `%s'"
-#: varasm.c:4909
+#: 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:4911
+#: varasm.c:4487
+#, fuzzy, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
+
+#: varasm.c:4521
#, c-format
-msgid "weak declaration of `%s' must precede definition"
+msgid "weak declaration of `%s' must be public"
msgstr ""
-#: varasm.c:4915
+#: varasm.c:4530
#, fuzzy, c-format
msgid "weak declaration of `%s' not supported"
msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
-#: varasm.c:5011
+#: varasm.c:4557 varasm.c:4632
msgid "only weak aliases are supported in this configuration"
msgstr ""
-#: varasm.c:5016
+#: varasm.c:4640
msgid "alias definitions not supported in this configuration; ignored"
msgstr ""
-#: varray.c:88
+#: varasm.c:4670
+#, fuzzy
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "Ç ïéêïãÝíåéá äéåõèýíóåùí äåí õðïóôçñßæåôáé áðü ôçí ïéêïãÝíåéá ðñùôïêüëëïõ"
+
+#: 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
-msgid "The maximum number of instructions in a function that is eligible for inlining"
-msgstr ""
-
-#: params.def:57
-msgid "The maximum number of instructions to consider to fill a delay slot"
-msgstr ""
+#: pretty-print.h:97
+#, fuzzy, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "Äåí õðïóôçñßæåôáé"
-#: params.def:68
-msgid "The maximum number of instructions to consider to find accurate live register information"
+#: params.def:53
+msgid "The maximum number of instructions in a single function eliglible for inlining"
msgstr ""
-#: params.def:78
-msgid "The maximum length of scheduling's pending operations list"
+#: params.def:74
+msgid "The maximuem number of instructions by repeated inlining before gcc starts to throttle inlining"
msgstr ""
-#: params.def:85
-msgid "The maximum amount of memory to be allocated by GCSE"
+#: 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:90
-msgid "The maximum number of passes to make when doing GCSE"
+#: params.def:100
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
msgstr ""
-#: config/darwin-c.c:76
-#, fuzzy
-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
-#, fuzzy
-msgid "malformed '#pragma options', ignoring"
-msgstr "êáêïäéáìïñöùìÝíç ãñáììÞ áãíïÞèçêå"
-
-#: config/darwin-c.c:108
-msgid "junk at end of '#pragma options'"
+#: params.def:111
+msgid "The maximum number of instructions to consider to fill a delay slot"
msgstr ""
-#: config/darwin-c.c:118
-msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+#: params.def:122
+msgid "The maximum number of instructions to consider to find accurate live register information"
msgstr ""
-#: config/darwin-c.c:131
-msgid "missing '(' after '#pragma unused', ignoring"
+#: params.def:132
+msgid "The maximum length of scheduling's pending operations list"
msgstr ""
-#: config/darwin-c.c:149
-msgid "missing ')' after '#pragma unused', ignoring"
+#: params.def:139
+msgid "The maximum amount of memory to be allocated by GCSE"
msgstr ""
-#: config/darwin-c.c:152
-msgid "junk at end of '#pragma unused'"
+#: params.def:144
+msgid "The maximum number of passes to make when doing GCSE"
msgstr ""
-#: config/nextstep.c:68
-msgid "optimization turned on"
+#: params.def:151
+msgid "The maximum number of instructions to consider to unroll in a loop"
msgstr ""
-#: config/nextstep.c:74
-msgid "optimization turned off"
+#: 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/nextstep.c:83
-msgid "optimization level restored"
+#: 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/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85
-msgid "-msystem-v and -p are incompatible"
+#: 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/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87
-msgid "-msystem-v and -mthreads are incompatible"
+#: 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 ""
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
+#: params.def:176
+msgid "Maximal code growth caused by tail duplication (in percents)"
msgstr ""
-#: config/a29k/a29k.c:1028
-#, fuzzy, c-format
-msgid "invalid %%Q value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5355
-#, fuzzy, c-format
-msgid "invalid %%C value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5200
-#: config/rs6000/rs6000.c:6110
-#, fuzzy, c-format
-msgid "invalid %%N value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5271
-#: config/rs6000/rs6000.c:6072
-#, fuzzy, c-format
-msgid "invalid %%M value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5263
-#: config/rs6000/rs6000.c:6037
-#, fuzzy, c-format
-msgid "invalid %%m value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1154 config/alpha/alpha.c:5224 config/romp/romp.c:690
-#, fuzzy, c-format
-msgid "invalid %%L value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1159 config/rs6000/rs6000.c:6118
-#, fuzzy, c-format
-msgid "invalid %%O value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1165 config/alpha/alpha.c:5208
-#: config/rs6000/rs6000.c:6138
-#, fuzzy, c-format
-msgid "invalid %%P value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.c:1175
-#, fuzzy, c-format
-msgid "invalid %%V value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
+#: 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:102
-msgid "Generate code assuming DW bit is not set"
+#: 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:103
-msgid "Generate code using byte writes"
+#: 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:104
-msgid "Do not generate byte writes"
+#: 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:105
-msgid "Use small memory model"
+#: params.def:210
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
msgstr ""
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
-msgstr ""
-
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
-msgstr ""
-
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
-msgstr ""
-
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
-msgstr ""
-
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
-msgstr ""
-
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
-msgstr ""
+#: config/darwin-c.c:75
+#, fuzzy
+msgid "too many #pragma options align=reset"
+msgstr "ÕðåñâïëéêÝò ðáñÜìåôñïé ðïõ äåí åßíáé åðéëïãÝò."
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
-msgstr ""
+#: config/darwin-c.c:97 config/darwin-c.c:100 config/darwin-c.c:102
+#: config/darwin-c.c:104
+#, fuzzy
+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:289 config/mips/mips.h:408
-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:273
+#: config/alpha/alpha.c:342
#, fuzzy, c-format
msgid "-f%s ignored for Unicos/Mk (not supported)"
msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-#: config/alpha/alpha.c:297
+#: config/alpha/alpha.c:366
#, fuzzy
msgid "-mieee not supported on Unicos/Mk"
msgstr "Ôï servname äåí õðïóôçñßæåôáé áðü ôï ai_socktype"
-#: config/alpha/alpha.c:308
+#: config/alpha/alpha.c:377
msgid "-mieee-with-inexact not supported on Unicos/Mk"
msgstr ""
-#: config/alpha/alpha.c:325
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr ""
-#: config/alpha/alpha.c:339
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr ""
-#: config/alpha/alpha.c:354
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr ""
-#: config/alpha/alpha.c:373 config/alpha/alpha.c:385
+#: config/alpha/alpha.c:435
+#, fuzzy, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "ÁêáôÜëëçëç ôéìÞ óôï ai_flags"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr ""
-#: config/alpha/alpha.c:392
+#: config/alpha/alpha.c:473
#, fuzzy
msgid "trap mode not supported on Unicos/Mk"
msgstr "Ôï servname äåí õðïóôçñßæåôáé áðü ôï ai_socktype"
-#: config/alpha/alpha.c:399
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr ""
-#: config/alpha/alpha.c:415
+#: config/alpha/alpha.c:496
#, fuzzy
msgid "rounding mode not supported for VAX floats"
msgstr "Ôï servname äåí õðïóôçñßæåôáé áðü ôï ai_socktype"
-#: config/alpha/alpha.c:420
+#: config/alpha/alpha.c:501
#, fuzzy
msgid "trap mode not supported for VAX floats"
msgstr "Ôï servname äåí õðïóôçñßæåôáé áðü ôï ai_socktype"
-#: config/alpha/alpha.c:449
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr ""
-#: config/alpha/alpha.c:464
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr ""
-#: config/alpha/alpha.c:5164 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
#, fuzzy, c-format
msgid "invalid %%H value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5174
+#: config/alpha/alpha.c:5625
#, fuzzy, c-format
msgid "invalid %%J value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5184 config/ia64/ia64.c:3525
+#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034
#, fuzzy, c-format
msgid "invalid %%r value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5194 config/rs6000/rs6000.c:6184
+#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700
#, fuzzy, c-format
msgid "invalid %%R value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5216 config/romp/romp.c:732 config/romp/romp.c:739
+#: config/alpha/alpha.c:5657 config/rs6000/rs6000.c:7626
+#, fuzzy, c-format
+msgid "invalid %%N value"
+msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654
+#, fuzzy, 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
#, fuzzy, c-format
msgid "invalid %%h value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5306
+#: config/alpha/alpha.c:5681 config/romp/romp.c:698
+#, fuzzy, c-format
+msgid "invalid %%L value"
+msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608
+#, fuzzy, c-format
+msgid "invalid %%m value"
+msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616
+#, fuzzy, c-format
+msgid "invalid %%M value"
+msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#: config/alpha/alpha.c:5772
#, fuzzy, c-format
msgid "invalid %%U value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5318 config/alpha/alpha.c:5332 config/romp/romp.c:698
-#: config/rs6000/rs6000.c:6192
+#: config/alpha/alpha.c:5784 config/alpha/alpha.c:5798 config/romp/romp.c:706
+#: config/rs6000/rs6000.c:7708
#, fuzzy, c-format
msgid "invalid %%s value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5392 config/rs6000/rs6000.c:5899
+#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997
+#, fuzzy, c-format
+msgid "invalid %%C value"
+msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7465
#, fuzzy, c-format
msgid "invalid %%E value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/alpha/alpha.c:5413 config/romp/romp.c:973
-#: config/rs6000/rs6000.c:6500
+#: config/alpha/alpha.c:5883 config/alpha/alpha.c:5933
+#, fuzzy
+msgid "unknown relocation unspec"
+msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ï ôýðïò ôïõ åðåîåñãáóôÞ."
+
+#: config/alpha/alpha.c:5892 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8015
#, fuzzy, 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:220 config/i386/i386.h:285 config/i386/i386.h:287
-#: config/i386/i386.h:289 config/ns32k/ns32k.h:103 config/rs6000/rs6000.h:329
-#: config/s390/s390.h:51 config/sparc/sparc.h:552 config/sparc/sparc.h:557
+#: 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:221 config/i386/i386.h:286 config/i386/i386.h:288
-#: config/rs6000/rs6000.h:331 config/sparc/sparc.h:554
-#: config/sparc/sparc.h:559
+#: 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:222
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr ""
-#: config/alpha/alpha.h:224
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr ""
-#: config/alpha/alpha.h:225
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
msgstr ""
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
msgstr ""
-#: config/alpha/alpha.h:228
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
msgstr ""
-#: config/alpha/alpha.h:230
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr ""
-#: config/alpha/alpha.h:232
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr ""
-#: config/alpha/alpha.h:234
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
msgstr ""
-#: config/alpha/alpha.h:235
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr ""
-#: config/alpha/alpha.h:236
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr ""
-#: config/alpha/alpha.h:237
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr ""
-#: config/alpha/alpha.h:240
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr ""
-#: config/alpha/alpha.h:243
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr ""
-#: config/alpha/alpha.h:245
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr ""
-#: config/alpha/alpha.h:248
+#: config/alpha/alpha.h:307
msgid "Emit code using explicit relocation directives"
msgstr ""
-#: config/alpha/alpha.h:251
+#: config/alpha/alpha.h:310
msgid "Emit 16-bit relocations to the small data areas"
msgstr ""
-#: config/alpha/alpha.h:253
+#: 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:281
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
msgid "Use features of and schedule given CPU"
msgstr ""
-#: config/alpha/alpha.h:283
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
msgstr ""
-#: config/alpha/alpha.h:285
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr ""
-#: config/alpha/alpha.h:287
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr ""
-#: config/alpha/alpha.h:289
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr ""
-#: config/alpha/alpha.h:291
+#: 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
#, fuzzy, c-format
msgid "argument of `%s' attribute is not a string constant"
msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-#: 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:2278
-#, fuzzy
-msgid "invalid operand to %R code"
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, fuzzy, c-format
+msgid "invalid operand to %%R code"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/arc/arc.c:1741 config/m32r/m32r.c:2301
-msgid "invalid operand to %H/%L code"
-msgstr ""
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, fuzzy, c-format
+msgid "invalid operand to %%H/%%L code"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/arc/arc.c:1765 config/m32r/m32r.c:2378
-#, fuzzy
-msgid "invalid operand to %U code"
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, fuzzy, c-format
+msgid "invalid operand to %%U code"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/arc/arc.c:1776
-#, fuzzy
-msgid "invalid operand to %V code"
+#: config/arc/arc.c:1774
+#, fuzzy, c-format
+msgid "invalid operand to %%V code"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
#. Unknown flag.
-#: config/arc/arc.c:1783 config/m32r/m32r.c:2417 config/sparc/sparc.c:6010
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6473
#, fuzzy
msgid "invalid operand output code"
msgstr "Ìç Ýãêõñïò êþäéêáò áßôçóçò"
-#: config/arm/arm.c:439
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr ""
-#: config/arm/arm.c:449 config/rs6000/rs6000.c:441 config/sparc/sparc.c:383
+#: 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:585
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
msgstr ""
-#: config/arm/arm.c:590
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
msgstr ""
-#: config/arm/arm.c:596
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
msgstr ""
-#: config/arm/arm.c:602
+#: config/arm/arm.c:622
msgid "target CPU does not support THUMB instructions"
msgstr ""
-#: config/arm/arm.c:616
+#: config/arm/arm.c:636
msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:619
+#: config/arm/arm.c:639
msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:622
+#: config/arm/arm.c:642
msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:628
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr ""
-#: config/arm/arm.c:634
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
msgstr ""
-#: config/arm/arm.c:642
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr ""
-#: config/arm/arm.c:645
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr ""
-#: config/arm/arm.c:653
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr ""
-#: config/arm/arm.c:661
+#: config/arm/arm.c:681
msgid "passing floating point arguments in fp regs not yet supported"
msgstr ""
-#: config/arm/arm.c:690
+#: config/arm/arm.c:710
#, fuzzy, c-format
msgid "invalid floating point emulation option: -mfpe-%s"
msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
-#: config/arm/arm.c:714
+#: config/arm/arm.c:734
msgid "structure size boundary can only be set to 8 or 32"
msgstr ""
-#: config/arm/arm.c:722
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr ""
-#: config/arm/arm.c:731
+#: config/arm/arm.c:749
#, c-format
msgid "unable to use '%s' for PIC register"
msgstr ""
-#: config/arm/arm.c:1975 config/arm/arm.c:1998 config/avr/avr.c:4703
-#: config/c4x/c4x.c:4650 config/h8300/h8300.c:3019 config/i386/i386.c:1254
-#: config/i386/i386.c:1283 config/m68hc11/m68hc11.c:1160
-#: config/mcore/mcore.c:3505 config/ns32k/ns32k.c:1044
-#: config/rs6000/rs6000.c:10412 config/sh/sh.c:4703 config/sh/sh.c:4723
-#: config/sh/sh.c:4762 config/stormy16/stormy16.c:1999 config/v850/v850.c:2044
+#: 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:9265
+#: config/arm/arm.c:9474
msgid "unable to compute real location of stacked parameter"
msgstr ""
-#: config/arm/arm.c:9945
+#: config/arm/arm.c:10153
msgid "no low registers available for popping high registers"
msgstr ""
-#: config/arm/arm.c:10137
+#: 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:424
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr ""
-#: config/arm/arm.h:427
+#: config/arm/arm.h:419
msgid "Store function names in object code"
msgstr ""
-#: config/arm/arm.h:431
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr ""
-#: config/arm/arm.h:433
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr ""
-#: config/arm/arm.h:437
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr ""
-#: config/arm/arm.h:440
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr ""
-#: config/arm/arm.h:443
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr ""
-#: config/arm/arm.h:450
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
msgstr ""
-#: config/arm/arm.h:452 config/i960/i960.h:287
+#: config/arm/arm.h:444 config/i960/i960.h:281
msgid "Use hardware floating point instructions"
msgstr ""
-#: config/arm/arm.h:454
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
msgstr ""
-#: config/arm/arm.h:456
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
msgstr ""
-#: config/arm/arm.h:458
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
msgstr ""
-#: config/arm/arm.h:460
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr ""
-#: config/arm/arm.h:463
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr ""
-#: config/arm/arm.h:466
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr ""
-#: config/arm/arm.h:469
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr ""
-#: config/arm/arm.h:472
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr ""
-#: config/arm/arm.h:475
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr ""
-#: config/arm/arm.h:479
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr ""
-#: config/arm/arm.h:482
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
msgstr ""
-#: config/arm/arm.h:485
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
msgstr ""
-#: config/arm/arm.h:489
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
msgstr ""
-#: config/arm/arm.h:499
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
msgstr ""
-#: config/arm/arm.h:501
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr ""
-#: config/arm/arm.h:505
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr ""
-#: config/arm/arm.h:507
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr ""
-#: config/arm/arm.h:509
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
msgstr ""
@@ -8780,103 +8984,95 @@ 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
-#, fuzzy
-msgid "Don't do symbol renaming"
-msgstr "äåí äþèçêå óõìâïëéêü üíïìá"
-
-#: config/avr/avr.c:221
-#, fuzzy, c-format
-msgid "MCU `%s' not supported"
-msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-
-#: 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
#, fuzzy
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
#, fuzzy
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
#, fuzzy
msgid "unknown move insn:"
msgstr "Üãíùóôï óåô `%s'"
-#: 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
+#, fuzzy, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
+
+#: 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
#, fuzzy
msgid "Specify the MCU name"
msgstr "Ïñéóìüò ïíüìáôïò ðñïãñÜììáôïò"
@@ -8889,135 +9085,135 @@ 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:2566
+#: config/avr/avr.h:2450
#, fuzzy
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
#, fuzzy, 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:1635
+#: config/c4x/c4x.c:1602
msgid "using CONST_DOUBLE for address"
msgstr ""
-#: config/c4x/c4x.c:1775
+#: config/c4x/c4x.c:1742
msgid "c4x_address_cost: Invalid addressing mode"
msgstr ""
-#: config/c4x/c4x.c:1917
+#: config/c4x/c4x.c:1884
#, c-format
msgid "c4x_print_operand: %%L inconsistency"
msgstr ""
-#: config/c4x/c4x.c:1923
+#: config/c4x/c4x.c:1890
#, c-format
msgid "c4x_print_operand: %%N inconsistency"
msgstr ""
-#: config/c4x/c4x.c:1964
+#: config/c4x/c4x.c:1931
#, c-format
msgid "c4x_print_operand: %%O inconsistency"
msgstr ""
-#: config/c4x/c4x.c:2060
+#: config/c4x/c4x.c:2026
msgid "c4x_print_operand: Bad operand case"
msgstr ""
-#: config/c4x/c4x.c:2103
+#: config/c4x/c4x.c:2069
msgid "c4x_print_operand_address: Bad post_modify"
msgstr ""
-#: config/c4x/c4x.c:2125
+#: config/c4x/c4x.c:2091
msgid "c4x_print_operand_address: Bad pre_modify"
msgstr ""
-#: config/c4x/c4x.c:2173 config/c4x/c4x.c:2185 config/c4x/c4x.c:2200
+#: 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:2456
+#: config/c4x/c4x.c:2422
msgid "c4x_rptb_insert: Cannot find start label"
msgstr ""
-#: config/c4x/c4x.c:3443 config/c4x/c4x.c:3463
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
#, fuzzy
msgid "mode not QImode"
msgstr "íåá_êáôÜóôáóç: êáôÜóôáóç ëåéôïõñãßáò\n"
-#: config/c4x/c4x.c:3520
+#: config/c4x/c4x.c:3514
#, fuzzy
msgid "invalid indirect memory address"
msgstr "ìç Ýãêõñïò ÷ñüíïò ëÞîçò"
-#: config/c4x/c4x.c:3609
+#: config/c4x/c4x.c:3603
msgid "invalid indirect (S) memory address"
msgstr ""
-#: config/c4x/c4x.c:3950
+#: config/c4x/c4x.c:3944
msgid "c4x_valid_operands: Internal error"
msgstr ""
-#: config/c4x/c4x.c:4430
+#: config/c4x/c4x.c:4424
msgid "c4x_operand_subword: invalid mode"
msgstr ""
-#: config/c4x/c4x.c:4433
+#: 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:4459
+#: config/c4x/c4x.c:4453
msgid "c4x_operand_subword: invalid autoincrement"
msgstr ""
-#: config/c4x/c4x.c:4465
+#: config/c4x/c4x.c:4459
msgid "c4x_operand_subword: invalid address"
msgstr ""
-#: config/c4x/c4x.c:4476
+#: config/c4x/c4x.c:4470
msgid "c4x_operand_subword: address not offsettable"
msgstr ""
-#: config/c4x/c4x.c:4676
+#: config/c4x/c4x.c:4670
msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
msgstr ""
@@ -9025,7 +9221,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.
@@ -9061,337 +9256,364 @@ 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
#, fuzzy
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
#, fuzzy
msgid "Enable parallel instructions"
msgstr "ÁêáôÜëëçëç åíôïëÞ"
-#: config/c4x/c4x.h:223
+#: config/c4x/c4x.h:252
#, fuzzy
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"
+#: config/cris/cris.c:583
+msgid "unexpected index-type in cris_print_index"
msgstr ""
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
+#: config/cris/cris.c:599
+msgid "unexpected base-type in cris_print_base"
msgstr ""
-#: config/convex/convex.h:53
-msgid "Generate code for c1"
+#: config/cris/cris.c:892
+#, c-format
+msgid "stackframe too big: %d bytes"
msgstr ""
-#: config/convex/convex.h:54
-msgid "Generate code for c2"
+#: config/cris/cris.c:1207
+msgid "allocated but unused delay list in epilogue"
msgstr ""
-#: config/convex/convex.h:55
-msgid "Generate code for c32"
+#: config/cris/cris.c:1217
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
msgstr ""
-#: config/convex/convex.h:56 config/convex/convex.h:57
-msgid "Generate code for c34"
-msgstr ""
+#: config/cris/cris.c:1296
+#, fuzzy
+msgid "invalid operand for 'b' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:59
-msgid "Use standard calling sequence, with arg count word"
-msgstr ""
+#: config/cris/cris.c:1308
+#, fuzzy
+msgid "invalid operand for 'v' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:61
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr ""
+#: config/cris/cris.c:1318
+#, fuzzy
+msgid "invalid operand for 'P' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:63
-msgid "Don't push arg count, depend on symbol table"
-msgstr ""
+#: config/cris/cris.c:1325
+#, fuzzy
+msgid "invalid operand for 'p' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:65
-msgid "Use data cache for volatile mem refs (default)"
-msgstr ""
+#: config/cris/cris.c:1364
+#, fuzzy
+msgid "invalid operand for 'z' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:67
-msgid "Don't use data cache for volatile mem refs"
-msgstr ""
+#: config/cris/cris.c:1395 config/cris/cris.c:1425
+#, fuzzy
+msgid "invalid operand for 'H' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:69
-msgid "Bypass data cache for volatile mem refs"
-msgstr ""
+#: config/cris/cris.c:1401
+#, fuzzy
+msgid "bad register"
+msgstr "Äåí åßíáé äõíáôÞ ç êáôá÷þñçóç ôçò õðçñåóßáò"
-#: config/convex/convex.h:70
-msgid "Use 64-bit longs"
-msgstr ""
+#: config/cris/cris.c:1439
+#, fuzzy
+msgid "invalid operand for 'e' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/convex/convex.h:71
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr ""
+#: config/cris/cris.c:1456
+#, fuzzy
+msgid "invalid operand for 'm' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/cris/cris.c:878
-#, c-format
-msgid "stackframe too big: %d bytes"
-msgstr ""
+#: config/cris/cris.c:1481
+#, fuzzy
+msgid "invalid operand for 'A' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/cris/cris.c:1193
-msgid "allocated but unused delay list in epilogue"
-msgstr ""
+#: config/cris/cris.c:1489
+#, fuzzy
+msgid "invalid operand for 'D' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/cris/cris.c:1203
-msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
-msgstr ""
+#: config/cris/cris.c:1503
+#, fuzzy
+msgid "invalid operand for 'T' modifier"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/cris/cris.c:1512
+#, fuzzy
+msgid "invalid operand modifier letter"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/cris/cris.c:1497
+#: config/cris/cris.c:1520
#, fuzzy, c-format
msgid "internal error: bad register: %d"
msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-#: config/cris/cris.c:1966
+#: config/cris/cris.c:1568
+msgid "unexpected multiplicative operand"
+msgstr ""
+
+#: config/cris/cris.c:1588
+#, fuzzy
+msgid "unexpected operand"
+msgstr "Ìç ïñéóìÝíï üíïìá %s"
+
+# src/request.c:806 src/request.c:912
+#: config/cris/cris.c:1623 config/cris/cris.c:1633
+#, fuzzy
+msgid "unrecognized address"
+msgstr "Ìç áíáãíùñßóçìï üíïìá åðéöÜíåéáò `%s'"
+
+#: 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:2253
+#: config/cris/cris.c:2276
msgid "internal error: cris_side_effect_mode_ok with bad operands"
msgstr ""
-#: config/cris/cris.c:2335 config/cris/cris.c:2393
+#: config/cris/cris.c:2358 config/cris/cris.c:2416
#, fuzzy
msgid "unrecognized supposed constant"
msgstr "Üãíùóôï ðñüèåìá: %s"
-#: config/cris/cris.c:2434
+#: config/cris/cris.c:2457
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr ""
-#: config/cris/cris.c:2453
+#: config/cris/cris.c:2476
#, c-format
msgid "-max-stackframe=%d is not usable, not between 0 and %d"
msgstr ""
-#: config/cris/cris.c:2481
+#: config/cris/cris.c:2504
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr ""
-#: config/cris/cris.c:2517
+#: config/cris/cris.c:2540
#, fuzzy, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr "ðÜñá ðïëëÝò äçëþóåéò ìåôáôñïðÞò óôçí êáôÜëçîç"
-#: config/cris/cris.c:2535
-msgid "-fPIC not supported in this configuration"
-msgstr ""
+#: config/cris/cris.c:2558
+#, fuzzy
+msgid "-fPIC and -fpic are not supported in this configuration"
+msgstr "Ç ïéêïãÝíåéá äéåõèýíóåùí äåí õðïóôçñßæåôáé áðü ôçí ïéêïãÝíåéá ðñùôïêüëëïõ"
-#: config/cris/cris.c:2551
+#: config/cris/cris.c:2574
msgid "that particular -g option is invalid with -maout and -melinux"
msgstr ""
-#: config/cris/cris.c:2742 config/cris/cris.c:2787
+#: config/cris/cris.c:2808 config/cris/cris.c:2853
msgid "unexpected side-effects in address"
msgstr ""
-#: config/cris/cris.c:2888
+#. Labels are never marked as global symbols.
+#: config/cris/cris.c:2950 config/cris/cris.c:2981
+msgid "unexpected PIC symbol"
+msgstr ""
+
+#: config/cris/cris.c:2954
msgid "PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2901
+#: config/cris/cris.c:2967 config/cris/cris.c:3050
#, fuzzy
msgid "unexpected address expression"
msgstr "Ìç Ýãêõñç ðñïðïñåõüìåíç êáíïíéêÞ Ýêöñáóç"
-#. Labels are never marked as global symbols.
-#: config/cris/cris.c:2915
-msgid "unexpected PIC symbol"
-msgstr ""
-
-#: config/cris/cris.c:2919
+#: config/cris/cris.c:2985
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2928
+#: config/cris/cris.c:2994
msgid "unexpected NOTE as addr_const:"
msgstr ""
@@ -9404,74 +9626,74 @@ msgid "For elinux, request a specified stack-size for this program"
msgstr ""
#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
-#: config/cris/cris.h:333
+#: config/cris/cris.h:336
msgid "Compile for ETRAX 4 (CRIS v3)"
msgstr ""
-#: config/cris/cris.h:338
+#: config/cris/cris.h:341
msgid "Compile for ETRAX 100 (CRIS v8)"
msgstr ""
-#: config/cris/cris.h:342
+#: config/cris/cris.h:345
msgid "Emit verbose debug information in assembly code"
msgstr ""
-#: config/cris/cris.h:345
+#: config/cris/cris.h:348
msgid "Do not use condition codes from normal instructions"
msgstr ""
-#: config/cris/cris.h:349
+#: config/cris/cris.h:352
msgid "Do not emit addressing modes with side-effect assignment"
msgstr ""
-#: config/cris/cris.h:352
+#: config/cris/cris.h:355
msgid "Do not tune stack alignment"
msgstr ""
-#: config/cris/cris.h:355
+#: config/cris/cris.h:358
msgid "Do not tune writable data alignment"
msgstr ""
-#: config/cris/cris.h:358
+#: config/cris/cris.h:361
msgid "Do not tune code and read-only data alignment"
msgstr ""
-#: config/cris/cris.h:367
+#: config/cris/cris.h:370
msgid "Align code and data to 32 bits"
msgstr ""
-#: config/cris/cris.h:380
+#: config/cris/cris.h:383
msgid "Don't align items in code or data"
msgstr ""
-#: config/cris/cris.h:383
+#: config/cris/cris.h:386
msgid "Do not emit function prologue or epilogue"
msgstr ""
#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
-#: config/cris/cris.h:387
+#: config/cris/cris.h:390
msgid "Use the most feature-enabling options allowed by other options"
msgstr ""
#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
-#: config/cris/cris.h:393
+#: config/cris/cris.h:396
msgid "Override -mbest-lib-options"
msgstr ""
-#: config/cris/cris.h:425
+#: config/cris/cris.h:428
msgid "Generate code for the specified chip or CPU version"
msgstr ""
-#: config/cris/cris.h:427
+#: config/cris/cris.h:430
msgid "Tune alignment for the specified chip or CPU version"
msgstr ""
-#: config/cris/cris.h:429
+#: config/cris/cris.h:432
msgid "Warn when a stackframe is larger than the specified size"
msgstr ""
#. Node: Profiling
-#: config/cris/cris.h:1025
+#: config/cris/cris.h:1019
msgid "no FUNCTION_PROFILER for CRIS"
msgstr ""
@@ -9479,107 +9701,107 @@ msgstr ""
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
msgstr ""
-#: config/d30v/d30v.c:209
+#: config/d30v/d30v.c:207
#, c-format
msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
msgstr ""
-#: config/d30v/d30v.c:2676
+#: config/d30v/d30v.c:2666
msgid "bad insn to d30v_print_operand_address:"
msgstr ""
-#: config/d30v/d30v.c:2693 config/d30v/d30v.c:2754 config/d30v/d30v.c:2775
-#: config/d30v/d30v.c:2793
+#: 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:2861
+#: config/d30v/d30v.c:2851
msgid "bad insn to d30v_print_operand, 'f' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2870
+#: config/d30v/d30v.c:2860
msgid "bad insn to d30v_print_operand, 'A' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2877
+#: config/d30v/d30v.c:2867
msgid "bad insn to d30v_print_operand, 'M' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2931
+#: config/d30v/d30v.c:2921
msgid "bad insn to print_operand, 'F' or 'T' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2942
+#: config/d30v/d30v.c:2932
msgid "bad insn to print_operand, 'B' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2949
+#: config/d30v/d30v.c:2939
msgid "bad insn to print_operand, 'E' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2967
+#: config/d30v/d30v.c:2957
msgid "bad insn to print_operand, 'R' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2976 config/d30v/d30v.c:2984
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
msgid "bad insn to print_operand, 's' modifier:"
msgstr ""
-#: config/d30v/d30v.c:3013
+#: config/d30v/d30v.c:3003
msgid "bad insn in d30v_print_operand, 0 case"
msgstr ""
-#: config/d30v/d30v.c:3368
+#: config/d30v/d30v.c:3301
msgid "d30v_emit_comparison"
msgstr ""
-#: config/d30v/d30v.c:3412
+#: 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
#, fuzzy
msgid "Debug argument support in compiler"
msgstr "%s: ç õðïóôÞñéîç åêóöáëìÜôùóçò äåí Ý÷åé óõìðåñéëçöèåß óôç ìåôáãëþôôéóç.\n"
-#: config/d30v/d30v.h:117
+#: config/d30v/d30v.h:123
#, fuzzy
msgid "Debug stack support in compiler"
msgstr "%s: ç õðïóôÞñéîç åêóöáëìÜôùóçò äåí Ý÷åé óõìðåñéëçöèåß óôç ìåôáãëþôôéóç.\n"
-#: 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 ""
@@ -9592,36 +9814,31 @@ msgstr ""
msgid "invalid addressing mode"
msgstr "ÁêáôÜëëçëç ÷ñÞóç ôïõ äéáìïñöùôÞ äéåýèõíóçò"
-#: config/dsp16xx/dsp16xx.c:1857
+#: config/dsp16xx/dsp16xx.c:1821
#, fuzzy
msgid "bad register extension code"
msgstr "Äåí åßíáé äõíáôÞ ç êáôá÷þñçóç ôçò õðçñåóßáò"
-#: config/dsp16xx/dsp16xx.c:1958
+#: config/dsp16xx/dsp16xx.c:1921
#, fuzzy
msgid "invalid offset in ybase addressing"
msgstr "ìç Ýãêõñïò ÷ñüíïò Ýíáñîçò"
-#: config/dsp16xx/dsp16xx.c:1961
+#: config/dsp16xx/dsp16xx.c:1924
#, fuzzy
msgid "invalid register in ybase addressing"
msgstr "ìç Ýãêõñïò ÷ñüíïò Ýíáñîçò"
-#: config/dsp16xx/dsp16xx.c:1990
-#, fuzzy
-msgid "inline float constants not supported on this host"
-msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-
-#: config/dsp16xx/dsp16xx.c:2140
+#: config/dsp16xx/dsp16xx.c:2099
msgid "invalid shift operator in emit_1600_core_shift"
msgstr ""
-#: config/dsp16xx/dsp16xx.c:2469
+#: config/dsp16xx/dsp16xx.c:2428
#, fuzzy
msgid "invalid mode for gen_tst_reg"
msgstr "ìç Ýãêõñç êáôÜóôáóç ãéá ôçí dlopen()"
-#: config/dsp16xx/dsp16xx.c:2541
+#: config/dsp16xx/dsp16xx.c:2500
msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr ""
@@ -9630,97 +9847,96 @@ 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
#, fuzzy
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
#, fuzzy
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:1219 config/dsp16xx/dsp16xx.h:1224
-#: config/dsp16xx/dsp16xx.h:1229 config/dsp16xx/dsp16xx.h:1809
-#: config/dsp16xx/dsp16xx.h:1814
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
#, fuzzy
msgid "profiling not implemented yet"
msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
@@ -9728,143 +9944,300 @@ 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:1240 config/dsp16xx/dsp16xx.h:1252
+#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240
#, fuzzy
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"
+#: config/fr30/fr30.c:453
+msgid "fr30_print_operand_address: unhandled address"
msgstr ""
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
+#: config/fr30/fr30.c:480
+#, c-format
+msgid "fr30_print_operand: unrecognized %%p code"
msgstr ""
-#: config/fr30/fr30.c:456
-msgid "fr30_print_operand_address: unhandled address"
+#: config/fr30/fr30.c:500
+#, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
msgstr ""
-#: config/fr30/fr30.c:483
+#: config/fr30/fr30.c:521
+#, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
+msgstr ""
+
+#: config/fr30/fr30.c:529
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid operand to %%A code"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/fr30/fr30.c:546
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid %%x code"
+msgstr "ìç Ýãêõñï äéêáßùìá"
+
+#: config/fr30/fr30.c:553
#, c-format
-msgid "fr30_print_operand: unrecognized %p code"
+msgid "fr30_print_operand: invalid %%F code"
msgstr ""
-#: config/fr30/fr30.c:503
-msgid "fr30_print_operand: unrecognized %b code"
+#: config/fr30/fr30.c:570
+msgid "fr30_print_operand: unknown code"
msgstr ""
-#: config/fr30/fr30.c:524
-msgid "fr30_print_operand: unrecognized %B code"
+#: 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.c:532
-msgid "fr30_print_operand: invalid operand to %A code"
+#: config/fr30/fr30.h:63
+msgid "Assume small address space"
msgstr ""
-#: config/fr30/fr30.c:549
+#: config/frv/frv.c:410 config/frv/frv.c:428
#, c-format
-msgid "fr30_print_operand: invalid %x code"
+msgid "Unknown cpu: -mcpu=%s"
msgstr ""
-#: config/fr30/fr30.c:556
-msgid "fr30_print_operand: invalid %F code"
+#: config/frv/frv.c:451
+msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
msgstr ""
-#: config/fr30/fr30.c:572
-msgid "fr30_print_operand: unknown code"
+#: config/frv/frv.c:2520
+msgid "Bad insn to frv_print_operand_address:"
msgstr ""
-#: config/fr30/fr30.c:601 config/fr30/fr30.c:610 config/fr30/fr30.c:621
-#: config/fr30/fr30.c:634
-msgid "fr30_print_operand: unhandled MEM"
+#: config/frv/frv.c:2533
+msgid "Bad register to frv_print_operand_memory_reference_reg:"
msgstr ""
-#: config/fr30/fr30.h:57
-msgid "Assume small address space"
+#: 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
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'C' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/frv/frv.c:2847
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'c' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/frv/frv.c:2872
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'e' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/frv/frv.c:2880
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'F' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/frv/frv.c:2896
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'f' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/frv/frv.c:2949
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'L' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/frv/frv.c:2962
+msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
msgstr ""
-#: config/h8300/h8300.c:141
+#: config/frv/frv.c:2983
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: 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
+#, fuzzy
+msgid "frv_print_operand: unknown code"
+msgstr "ìç Ýãêõñï äéêáßùìá"
+
+#: config/frv/frv.c:5737
+#, fuzzy
+msgid "Bad output_move_single operand"
+msgstr "áñ÷åßï åîüäïõ"
+
+#: config/frv/frv.c:5866
+msgid "Bad output_move_double operand"
+msgstr ""
+
+#: config/frv/frv.c:6010
+#, fuzzy
+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
+#, fuzzy
+msgid "accumulator is not a constant integer"
+msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+
+#: 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
+#, fuzzy, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç ñïõôßíá `%s'"
+
+#: 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
#, fuzzy
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
+#, fuzzy
+msgid "Enable the normal mode"
+msgstr "ìçäåíéóìÝíç åããñáöÞ êáé ãñÜøéìï ðÜíù óå áõôÞ (truncated)"
+
+#: 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
#, fuzzy
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 ""
@@ -9872,376 +10245,371 @@ 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
#, fuzzy
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:924
+#: config/i386/i386.c:1043
#, c-format
msgid "code model %s not supported in PIC mode"
msgstr ""
-#: config/i386/i386.c:934 config/sparc/sparc.c:346
+#: config/i386/i386.c:1053 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr ""
-#: config/i386/i386.c:949
+#: config/i386/i386.c:1068
#, c-format
msgid "bad value (%s) for -masm= switch"
msgstr ""
-#: config/i386/i386.c:952
+#: config/i386/i386.c:1071
#, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr ""
-#: config/i386/i386.c:955
+#: config/i386/i386.c:1074
#, fuzzy
msgid "code model `large' not supported yet"
msgstr "åéäéêÜ áñ÷åßá ìðëïê äåí õðïóôçñßæïíôáé"
-#: config/i386/i386.c:957
+#: config/i386/i386.c:1076
#, fuzzy, c-format
msgid "%i-bit mode not compiled in"
msgstr "%s: ç õðïóôÞñéîç åêóöáëìÜôùóçò äåí Ý÷åé óõìðåñéëçöèåß óôç ìåôáãëþôôéóç.\n"
-#: config/i386/i386.c:987 config/mips/mips.c:4972
+#: config/i386/i386.c:1106
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr ""
-#: config/i386/i386.c:998 config/mips/mips.c:4928
+#: config/i386/i386.c:1117
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr ""
-#: config/i386/i386.c:1017
+#: config/i386/i386.c:1134
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr ""
-#: config/i386/i386.c:1030
+#: config/i386/i386.c:1147
msgid "-malign-loops is obsolete, use -falign-loops"
msgstr ""
-#: config/i386/i386.c:1035 config/i386/i386.c:1048 config/i386/i386.c:1061
+#: 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:1043
+#: config/i386/i386.c:1160
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr ""
-#: config/i386/i386.c:1056
+#: config/i386/i386.c:1173
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr ""
-#: config/i386/i386.c:1094
+#: config/i386/i386.c:1211
#, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr ""
-#: config/i386/i386.c:1106
+#: config/i386/i386.c:1223
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr ""
-#: config/i386/i386.c:1123
+#: config/i386/i386.c:1235
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "ÁêáôÜëëçëç ôéìÞ óôï ai_flags"
+
+#: config/i386/i386.c:1256
msgid "-malign-double makes no sense in the 64bit mode"
msgstr ""
-#: config/i386/i386.c:1125
+#: config/i386/i386.c:1258
msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr ""
-#: config/i386/i386.c:1141 config/i386/i386.c:1152
+#: config/i386/i386.c:1274 config/i386/i386.c:1285
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr ""
-#: config/i386/i386.c:1157
+#: config/i386/i386.c:1290
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr ""
-#: config/i386/i386.c:1164
+#: config/i386/i386.c:1297
#, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr ""
-#: config/i386/i386.c:1294
+#: config/i386/i386.c:1429
#, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr ""
-#: config/i386/i386.c:1300
+#: config/i386/i386.c:1435
#, fuzzy, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr "%s: ïé ôéìÝò ôïõ ðåäßïõ `%s' äåí ðñÝðåé íá åßíáé ìåãáëýôåñåò áðü %d"
-#: config/i386/i386.c:5328
+#: config/i386/i386.c:6176
#, fuzzy
msgid "invalid UNSPEC as operand"
msgstr "ìç Ýãêõñç ìåôáôüðéóç UTC"
-#: config/i386/i386.c:5529
+#: config/i386/i386.c:6438
msgid "extended registers have no high halves"
msgstr ""
-#: config/i386/i386.c:5544
+#: config/i386/i386.c:6453
msgid "unsupported operand size for extended register"
msgstr ""
-#: config/i386/i386.c:5791
+#: config/i386/i386.c:6768
msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr ""
+#: config/i386/i386.c:6814
+#, fuzzy, c-format
+msgid "invalid operand code `%c'"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: config/i386/i386.c:6861
+#, fuzzy
+msgid "invalid constraints for operand"
+msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
# src/grep.c:1133
-#: config/i386/i386.c:9774
+#: config/i386/i386.c:11027
#, fuzzy
msgid "unknown insn mode"
msgstr "Üãíùóôç ìÝèïäïò êáôáëüãùí"
#. @@@ better error message
-#: config/i386/i386.c:11617 config/i386/i386.c:11650
+#: config/i386/i386.c:13083 config/i386/i386.c:13119
#, fuzzy
msgid "selector must be an immediate"
msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
#. @@@ better error message
-#: config/i386/i386.c:11808 config/i386/i386.c:11836
+#: config/i386/i386.c:13280 config/i386/i386.c:13314
#, fuzzy
msgid "mask must be an immediate"
msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
-#: config/i386/winnt.c:94
+#: config/i386/i386.c:13346
+#, fuzzy
+msgid "shift must be an immediate"
+msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
+
+#: 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 ""
-#: config/i386/cygwin.h:51
+#: config/i386/cygwin.h:45
msgid "Use the Cygwin interface"
msgstr ""
-#: config/i386/cygwin.h:53
+#: config/i386/cygwin.h:46
msgid "Use the Mingw32 interface"
msgstr ""
-#: config/i386/cygwin.h:54
+#: config/i386/cygwin.h:47
msgid "Create GUI application"
msgstr ""
-#: config/i386/cygwin.h:55
+#: config/i386/cygwin.h:48
msgid "Don't set Windows defines"
msgstr ""
-#: config/i386/cygwin.h:56
+#: config/i386/cygwin.h:49
msgid "Set Windows defines"
msgstr ""
-#: config/i386/cygwin.h:58
+#: config/i386/cygwin.h:50
msgid "Create console application"
msgstr ""
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
msgid "Generate code for a DLL"
msgstr ""
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
msgid "Ignore dllimport for functions"
msgstr ""
-#: config/i386/cygwin.h:63
+#: config/i386/cygwin.h:55
msgid "Use Mingw-specific thread support"
msgstr ""
-#: config/i386/cygwin.h:257
+#: 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
-#, fuzzy
-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 ""
-
-# lib/argmatch.c:188
-#: config/i386/dgux.h:252
-#, fuzzy
-msgid "argument is a structure"
-msgstr "¸ãêõñá ïñßóìáôá åßíáé:"
-
-#: config/i386/djgpp.h:201
+#: config/i386/djgpp.h:204
msgid "-mbnu210 is ignored (option is obsolete)"
msgstr ""
-#: config/i386/i386.h:45 config/mips/mips.h:186
-msgid "half-pic init called on systems that don't support it"
-msgstr ""
-
#. Deprecated.
-#: config/i386/i386.h:297
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#: config/i386/i386.h:306
#, fuzzy
msgid "Alternate calling convention"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-#: config/i386/i386.h:299 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:301
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr ""
-#: config/i386/i386.h:303
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr ""
-#: config/i386/i386.h:305
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr ""
-#: config/i386/i386.h:307
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr ""
-#: config/i386/i386.h:309 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:311
+#: config/i386/i386.h:320 config/ns32k/ns32k.h:169
msgid "Do not use IEEE math for fp comparisons"
msgstr ""
-#: config/i386/i386.h:313
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr ""
-#: config/i386/i386.h:315
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr ""
-#: config/i386/i386.h:317
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr ""
-#: config/i386/i386.h:319
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr ""
-#: config/i386/i386.h:321
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr ""
-#: config/i386/i386.h:324
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr ""
#. undocumented
#. undocumented
-#: config/i386/i386.h:329
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr ""
-#: config/i386/i386.h:331
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr ""
-#: config/i386/i386.h:333
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr ""
-#: config/i386/i386.h:335
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
msgstr ""
-#: config/i386/i386.h:337 config/i386/i386.h:342
+#: config/i386/i386.h:346 config/i386/i386.h:350
msgid "Use push instructions to save outgoing arguments"
msgstr ""
-#: config/i386/i386.h:339 config/i386/i386.h:344
+#: 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:346
+#: config/i386/i386.h:354
msgid "Support MMX built-in functions"
msgstr ""
-#: config/i386/i386.h:348
+#: config/i386/i386.h:356
msgid "Do not support MMX built-in functions"
msgstr ""
-#: config/i386/i386.h:351
+#: config/i386/i386.h:358
msgid "Support 3DNow! built-in functions"
msgstr ""
-#: config/i386/i386.h:354
+#: config/i386/i386.h:360
msgid "Do not support 3DNow! built-in functions"
msgstr ""
-#: config/i386/i386.h:356
+#: config/i386/i386.h:362
msgid "Support MMX and SSE built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:359
+#: config/i386/i386.h:364
msgid "Do not support MMX and SSE built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:361
+#: config/i386/i386.h:366
msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:364
+#: config/i386/i386.h:368
msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:366
+#: config/i386/i386.h:370
msgid "sizeof(long double) is 16"
msgstr ""
-#: config/i386/i386.h:368
+#: config/i386/i386.h:372
msgid "sizeof(long double) is 12"
msgstr ""
-#: config/i386/i386.h:370
+#: config/i386/i386.h:374
msgid "Generate 64bit x86-64 code"
msgstr ""
-#: config/i386/i386.h:372
+#: config/i386/i386.h:376
msgid "Generate 32bit i386 code"
msgstr ""
-#: config/i386/i386.h:374
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr ""
-#: config/i386/i386.h:376
+#: config/i386/i386.h:380
msgid "Do not use red-zone in the x86-64 code"
msgstr ""
@@ -10254,19 +10622,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:422 config/rs6000/rs6000.h:428 config/sparc/sparc.h:668
+#: 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:424
+#: config/i386/i386.h:411
msgid "Generate floating point mathematics using given instruction set"
msgstr ""
-#: config/i386/i386.h:426
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
msgstr ""
-#: config/i386/i386.h:428
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr ""
@@ -10280,70 +10648,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:430 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:432 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:434 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:437
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr ""
-#: config/i386/i386.h:439
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr ""
-#: config/i386/i386.h:441
+#: config/i386/i386.h:428
msgid "Use given x86-64 code model"
msgstr ""
-#: config/i386/i386.h:447
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
msgid "Use given assembler dialect"
msgstr ""
-#: config/i386/osf1elf.h:112
-msgid "Profiling uses mcount"
-msgstr ""
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr ""
-
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr ""
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr ""
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
-msgstr ""
-
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr ""
-
-#: config/i386/osfrose.h:77
-#, fuzzy
-msgid "Use mcount for profiling"
-msgstr "áäýíáôç ç öüñôùóç äåäïìÝíùí ðñïößë"
-
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
msgstr ""
-#: config/i386/sco5.h:771
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr ""
@@ -10375,34 +10714,32 @@ 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"
-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"
-msgstr ""
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr ""
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
#, fuzzy
msgid "malformed #pragma align - ignored"
msgstr "êáêïäéáìïñöùìÝíç ãñáììÞ áãíïÞèçêå"
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr ""
-#: config/i960/i960.c:1405 config/m68k/m68k.c:665 config/rs6000/rs6000.c:8094
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr ""
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr ""
+
+#: 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
#, fuzzy
msgid "stack limit expression is not supported"
msgstr "åéäéêÜ áñ÷åßá ìðëïê äåí õðïóôçñßæïíôáé"
@@ -10414,309 +10751,327 @@ msgstr "åéäéêÜ áñ÷åßá ìðëïê äåí õðïóôçñßæïíôáé"
#. An empty string NAME is used to identify the default VALUE.
#. ??? Not all ten of these architecture variations actually exist, but I
#. am not sure which are real and which aren't.
-#: config/i960/i960.h:246
+#: config/i960/i960.h:240
msgid "Generate SA code"
msgstr ""
-#: config/i960/i960.h:249
+#: config/i960/i960.h:243
msgid "Generate SB code"
msgstr ""
#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
-#: config/i960/i960.h:254
+#: config/i960/i960.h:248
msgid "Generate KA code"
msgstr ""
-#: config/i960/i960.h:257
+#: config/i960/i960.h:251
msgid "Generate KB code"
msgstr ""
#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
-#: config/i960/i960.h:262
+#: config/i960/i960.h:256
msgid "Generate JA code"
msgstr ""
-#: config/i960/i960.h:264
+#: config/i960/i960.h:258
msgid "Generate JD code"
msgstr ""
-#: config/i960/i960.h:267
+#: config/i960/i960.h:261
msgid "Generate JF code"
msgstr ""
-#: config/i960/i960.h:269
+#: config/i960/i960.h:263
msgid "generate RP code"
msgstr ""
-#: config/i960/i960.h:272
+#: config/i960/i960.h:266
msgid "Generate MC code"
msgstr ""
-#: config/i960/i960.h:275
+#: config/i960/i960.h:269
msgid "Generate CA code"
msgstr ""
#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
-#: config/i960/i960.h:285
+#: config/i960/i960.h:279
msgid "Generate CF code"
msgstr ""
-#: config/i960/i960.h:291
+#: 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 ""
-#: config/i960/i960.h:293
+#: config/i960/i960.h:287
msgid "Do not use alternate leaf function entries"
msgstr ""
-#: config/i960/i960.h:295
+#: config/i960/i960.h:289
msgid "Perform tail call optimization"
msgstr ""
-#: config/i960/i960.h:297
+#: config/i960/i960.h:291
msgid "Do not perform tail call optimization"
msgstr ""
-#: config/i960/i960.h:299
+#: config/i960/i960.h:293
msgid "Use complex addressing modes"
msgstr ""
-#: config/i960/i960.h:301
+#: config/i960/i960.h:295
#, fuzzy
msgid "Do not use complex addressing modes"
msgstr "ÁêáôÜëëçëç ÷ñÞóç ôïõ äéáìïñöùôÞ äéåýèõíóçò"
-#: config/i960/i960.h:303
+#: config/i960/i960.h:297
msgid "Align code to 8 byte boundary"
msgstr ""
-#: config/i960/i960.h:305
+#: config/i960/i960.h:299
msgid "Do not align code to 8 byte boundary"
msgstr ""
#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
-#: config/i960/i960.h:311 config/i960/i960.h:313
+#: config/i960/i960.h:305 config/i960/i960.h:307
msgid "Enable compatibility with iC960 v2.0"
msgstr ""
-#: config/i960/i960.h:315
+#: config/i960/i960.h:309
msgid "Enable compatibility with iC960 v3.0"
msgstr ""
-#: config/i960/i960.h:317 config/i960/i960.h:319
+#: config/i960/i960.h:311 config/i960/i960.h:313
msgid "Enable compatibility with ic960 assembler"
msgstr ""
-#: config/i960/i960.h:321
+#: config/i960/i960.h:315
msgid "Do not permit unaligned accesses"
msgstr ""
-#: config/i960/i960.h:323
+#: config/i960/i960.h:317
msgid "Permit unaligned accesses"
msgstr ""
-#: config/i960/i960.h:325
+#: config/i960/i960.h:319
msgid "Layout types like Intel's v1.3 gcc"
msgstr ""
-#: config/i960/i960.h:327
+#: config/i960/i960.h:321
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr ""
-#: config/i960/i960.h:329 config/sparc/freebsd.h:80 config/sparc/linux.h:85
-#: config/sparc/linux64.h:138
+#: 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 ""
-#: config/i960/i960.h:331
+#: config/i960/i960.h:325
msgid "Enable linker relaxation"
msgstr ""
-#: config/i960/i960.h:333
+#: config/i960/i960.h:327
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:348 config/i960/i960.h:358
-msgid "conflicting architectures defined - using C series"
-msgstr ""
-
-#: config/i960/i960.h:353
-msgid "conflicting architectures defined - using K series"
-msgstr ""
-
-#: config/i960/i960.h:368
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr ""
-
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:379
-msgid "the -mlong-double-64 option does not work yet"
-msgstr ""
+# src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
+# src/dfa.c:577 src/dfa.c:591 src/dfa.c:595
+#: config/ia64/ia64-c.c:50
+#, fuzzy
+msgid "malformed #pragma builtin"
+msgstr "êáêïó÷çìáôéóìÝíïò ìåôñçôÞò åðáíÜëçøçò"
-#: config/ia64/ia64.c:3570
+#: config/ia64/ia64.c:3879
msgid "ia64_print_operand: unknown code"
msgstr ""
-#: config/ia64/ia64.c:3844
+#: config/ia64/ia64.c:4157
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr ""
-#: config/ia64/ia64.c:3871
+#: config/ia64/ia64.c:4184
#, c-format
msgid "%s-%s is an empty range"
msgstr ""
-#: config/ia64/ia64.c:3936
-msgid "cannot optimize division for both latency and throughput"
+#: config/ia64/ia64.c:4215
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4221
+msgid "cannot optimize integer division for both latency and throughput"
msgstr ""
+#: config/ia64/ia64.c:4233
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "ÁêáôÜëëçëç ôéìÞ óôï ai_flags"
+
#. 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:112
+#: config/ia64/ia64.h:150
msgid "Generate big endian code"
msgstr ""
-#: config/ia64/ia64.h:114 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:116
+#: config/ia64/ia64.h:154
msgid "Generate code for GNU as"
msgstr ""
-#: config/ia64/ia64.h:118
+#: config/ia64/ia64.h:156
msgid "Generate code for Intel as"
msgstr ""
-#: config/ia64/ia64.h:120
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU ld"
msgstr ""
-#: config/ia64/ia64.h:122
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel ld"
msgstr ""
-#: config/ia64/ia64.h:124
+#: config/ia64/ia64.h:162
msgid "Generate code without GP reg"
msgstr ""
-#: config/ia64/ia64.h:126
+#: config/ia64/ia64.h:164
msgid "Emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:128
+#: config/ia64/ia64.h:166
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:130
+#: config/ia64/ia64.h:168
msgid "Emit code for Itanium (TM) processor B step"
msgstr ""
-#: config/ia64/ia64.h:132
+#: config/ia64/ia64.h:170
msgid "Use in/loc/out register names"
msgstr ""
-#: config/ia64/ia64.h:134
+#: config/ia64/ia64.h:172
msgid "Disable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:136
+#: config/ia64/ia64.h:174
msgid "Enable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:138
+#: config/ia64/ia64.h:176
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr ""
-#: config/ia64/ia64.h:140
+#: config/ia64/ia64.h:178
msgid "Generate self-relocatable code"
msgstr ""
-#: config/ia64/ia64.h:142
-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:144
-msgid "Generate inline division, optimize for throughput"
+#: config/ia64/ia64.h:182
+msgid "Generate inline floating point division, optimize for throughput"
msgstr ""
-#: config/ia64/ia64.h:146
+#: config/ia64/ia64.h:184
+msgid "Generate inline integer division, optimize for latency"
+msgstr ""
+
+#: config/ia64/ia64.h:186
+msgid "Generate inline integer division, optimize for throughput"
+msgstr ""
+
+#: config/ia64/ia64.h:188
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/ia64/ia64.h:148
+#: config/ia64/ia64.h:190
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/ia64/ia64.h:176
+#: config/ia64/ia64.h:219
msgid "Specify range of registers to make fixed"
msgstr ""
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1082
+#, fuzzy
+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
#, fuzzy, c-format
msgid "invalid argument of `%s' attribute"
msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-#: config/m32r/m32r.c:408
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr ""
-#: config/m32r/m32r.c:2248
+#: config/m32r/m32r.c:2256
#, fuzzy, c-format
-msgid "invalid operand to %s code"
+msgid "invalid operand to %%s code"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/m32r/m32r.c:2255
+#: config/m32r/m32r.c:2263
#, fuzzy, c-format
-msgid "invalid operand to %p code"
+msgid "invalid operand to %%p code"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/m32r/m32r.c:2311
+#: config/m32r/m32r.c:2318
msgid "bad insn for 'A'"
msgstr ""
-#: config/m32r/m32r.c:2363
-msgid "invalid operand to %T/%B code"
-msgstr ""
+#: config/m32r/m32r.c:2370
+#, fuzzy, c-format
+msgid "invalid operand to %%T/%%B code"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/m32r/m32r.c:2386
-#, fuzzy
-msgid "invalid operand to %N code"
+#: config/m32r/m32r.c:2393
+#, fuzzy, c-format
+msgid "invalid operand to %%N code"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/m32r/m32r.c:2431
+#: config/m32r/m32r.c:2438
msgid "pre-increment address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2438
+#: config/m32r/m32r.c:2445
msgid "pre-decrement address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2445
+#: config/m32r/m32r.c:2452
msgid "post-increment address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2523 config/m32r/m32r.c:2539
-#: config/rs6000/rs6000.c:10712
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12737
#, fuzzy
msgid "bad address"
msgstr "ÅóöáëìÝíç äéåýèõíóç"
-#: config/m32r/m32r.c:2544
+#: config/m32r/m32r.c:2551
#, fuzzy
msgid "lo_sum not of register"
msgstr "RPC: Ôï ðñüãñáììá äåí Ý÷åé êáôá÷ùñçèåß"
@@ -10746,50 +11101,50 @@ 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:3032 config/m68hc11/m68hc11.c:3406
+#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3626
msgid "move insn not handled"
msgstr ""
-#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3336
-#: config/m68hc11/m68hc11.c:3609
+#: 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:3286
+#: config/m68hc11/m68hc11.c:3506
#, fuzzy
msgid "invalid operand in the instruction"
msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-#: config/m68hc11/m68hc11.c:3583
+#: config/m68hc11/m68hc11.c:3803
#, fuzzy
msgid "invalid register in the instruction"
msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
-#: config/m68hc11/m68hc11.c:3616
+#: config/m68hc11/m68hc11.c:3836
msgid "operand 1 must be a hard register"
msgstr ""
-#: config/m68hc11/m68hc11.c:3633
+#: config/m68hc11/m68hc11.c:3853
#, fuzzy
msgid "invalid rotate insn"
msgstr "Ìç Ýãêõñç çìåñïìçíßá `%s'."
-#: config/m68hc11/m68hc11.c:4053
+#: config/m68hc11/m68hc11.c:4278
msgid "registers IX, IY and Z used in the same INSN"
msgstr ""
-#: config/m68hc11/m68hc11.c:4373 config/m68hc11/m68hc11.c:4678
+#: config/m68hc11/m68hc11.c:4603 config/m68hc11/m68hc11.c:4906
#, fuzzy
msgid "cannot do z-register replacement"
msgstr "Äåí åßíáé äõíáôÞ ç êáôá÷þñçóç ôçò õðçñåóßáò"
-#: config/m68hc11/m68hc11.c:4727
+#: config/m68hc11/m68hc11.c:4969
msgid "invalid Z register replacement for insn"
msgstr ""
@@ -10797,27 +11152,49 @@ 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:152
+#: config/m68hc11/m68hc11.h:160
msgid "Compile with 16-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:154
+#: config/m68hc11/m68hc11.h:162
msgid "Compile with 32-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:156
+#: config/m68hc11/m68hc11.h:164
msgid "Auto pre/post decrement increment allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:158
+#: config/m68hc11/m68hc11.h:166
msgid "Auto pre/post decrement increment not allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:160 config/m68hc11/m68hc11.h:164
+#: config/m68hc11/m68hc11.h:168
+msgid "Min/max instructions allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:170
+#, fuzzy
+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
+#, fuzzy
+msgid "Do not use direct addressing mode for soft registers"
+msgstr "ÁêáôÜëëçëç ÷ñÞóç ôïõ äéáìïñöùôÞ äéåýèõíóçò"
+
+#: config/m68hc11/m68hc11.h:178 config/m68hc11/m68hc11.h:182
msgid "Compile for a 68HC11"
msgstr ""
-#: config/m68hc11/m68hc11.h:162 config/m68hc11/m68hc11.h:166
+#: config/m68hc11/m68hc11.h:180 config/m68hc11/m68hc11.h:184
msgid "Compile for a 68HC12"
msgstr ""
@@ -10830,30 +11207,34 @@ 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:180
+#: config/m68hc11/m68hc11.h:198
#, fuzzy
msgid "Specify the register allocation order"
msgstr "Áðïôõ÷ßá äÝóìåõóçò ðüñùí óõóôÞìáôïò"
-#: config/m68hc11/m68hc11.h:182
+#: 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 }
@@ -10976,120 +11357,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:900
+#: config/m88k/m88k.c:903
#, c-format
msgid "internal gcc monitor: short-branch(%x)"
msgstr ""
-#: config/m88k/m88k.c:2300
+#: config/m88k/m88k.c:2302
msgid "internal gcc error: Can't express symbolic location"
msgstr ""
-#: config/m88k/m88k.c:2582
+#: config/m88k/m88k.c:2517
#, c-format
msgid "argument #%d is a structure"
msgstr ""
-#: config/m88k/m88k.c:2882
-msgid "%R not followed by %B/C/D/E"
+#: config/m88k/m88k.c:2816
+#, c-format
+msgid "%%R not followed by %%B/C/D/E"
msgstr ""
-#: config/m88k/m88k.c:2950
+#: config/m88k/m88k.c:2884
#, fuzzy, c-format
-msgid "invalid %x/X value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/m88k/m88k.c:2955
-#, fuzzy
-msgid "invalid %H value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/m88k/m88k.c:2961
-#, fuzzy
-msgid "invalid %h value"
+msgid "invalid %%x/X value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:2967
-#, fuzzy
-msgid "invalid %Q value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/m88k/m88k.c:2973
-#, fuzzy
-msgid "invalid %q value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/m88k/m88k.c:2979
+#: config/m88k/m88k.c:2901
#, fuzzy, c-format
-msgid "invalid %o value"
+msgid "invalid %%Q value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:2986
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681
#, fuzzy, c-format
-msgid "invalid %p value"
+msgid "invalid %%q value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:2999 config/m88k/m88k.c:3004
+#: config/m88k/m88k.c:2913
#, fuzzy, c-format
-msgid "invalid %s/S value"
+msgid "invalid %%o value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:3015
-#, fuzzy
-msgid "invalid %P operand"
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644
+#, fuzzy, c-format
+msgid "invalid %%p value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:3046
-#, fuzzy
-msgid "invalid %B value"
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, fuzzy, c-format
+msgid "invalid %%s/S value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:3063
-#, fuzzy
-msgid "invalid %C value"
+#: config/m88k/m88k.c:2949
+#, fuzzy, c-format
+msgid "invalid %%P operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:3076
-#, fuzzy
-msgid "invalid %D value"
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
+#, fuzzy, c-format
+msgid "invalid %%B value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:3084
+#: config/m88k/m88k.c:3010
#, fuzzy, c-format
-msgid "invalid %E value"
+msgid "invalid %%D value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/m88k/m88k.c:3089
+#: config/m88k/m88k.c:3023
#, c-format
-msgid "`%d' operand isn't a register"
+msgid "`%%d' operand isn't a register"
msgstr ""
-#: config/m88k/m88k.c:3100
-#, fuzzy
-msgid "invalid %r value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/m88k/m88k.c:3107
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr ""
-#: config/m88k/m88k.c:3121
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr ""
-#: config/m88k/m88k.c:3140
+#: config/m88k/m88k.c:3074
#, fuzzy
msgid "invalid code"
msgstr "ìç Ýãêõñï äéêáßùìá"
@@ -11114,7 +11459,7 @@ msgstr ""
msgid "-mshort-data-%s and PIC are incompatible"
msgstr ""
-#: config/mcore/mcore.c:3083
+#: config/mcore/mcore.c:3078
#, fuzzy, c-format
msgid "invalid option `-mstack-increment=%s'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
@@ -11172,223 +11517,236 @@ msgstr ""
msgid "Maximum amount for a single stack increment operation"
msgstr ""
-#: config/mips/mips.c:4824
-#, fuzzy, c-format
-msgid "-mips%d not supported"
-msgstr "Ôï ai_family äåí õðïóôçñßæåôáé"
-
-#: config/mips/mips.c:4831
-#, c-format
-msgid "bad value (%s) for -mips switch"
-msgstr ""
-
-#: config/mips/mips.c:4852
+#: config/mips/mips.c:5112
#, c-format
msgid "bad value (%s) for -mabi= switch"
msgstr ""
-#: config/mips/mips.c:4890
-#, fuzzy, c-format
-msgid "-mabi=%s does not support -mips%d"
-msgstr "Ôï ai_socktype äåí õðïóôçñßæåôáé"
-
-#: config/mips/mips.c:4907
-msgid "this target does not support the -mabi switch"
+#: config/mips/mips.c:5142
+#, c-format
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
msgstr ""
-#: config/mips/mips.c:5017
+#: config/mips/mips.c:5149
#, c-format
-msgid "bad value (%s) for -mtune= switch"
+msgid "bad value (%s) for -mips switch"
msgstr ""
-#: config/mips/mips.c:5033
+#: config/mips/mips.c:5164
#, c-format
-msgid "-march=%s does not support -mips%d"
+msgid "-march=%s is not compatible with the selected ABI"
msgstr ""
-#: config/mips/mips.c:5040
-#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
+#: config/mips/mips.c:5176
+msgid "-mgp64 used with a 32-bit processor"
msgstr ""
-#: config/mips/mips.c:5046
-#, c-format
-msgid "-mips%d does not support 64 bit gp registers"
+#: config/mips/mips.c:5178
+#, fuzzy
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "×ñÞóç ABI 64-bit"
+
+#: config/mips/mips.c:5180
+#, fuzzy
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "×ñÞóç ABI 32-bit"
+
+#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202
+#, fuzzy, c-format
+msgid "unsupported combination: %s"
+msgstr "ÅìöÜíéóç Ýêäïóçò ðñïãñÜììáôïò"
+
+#: config/mips/mips.c:5272
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
msgstr ""
-#: config/mips/mips.c:5067
+#: config/mips/mips.c:5283
msgid "-G is incompatible with PIC code which is the default"
msgstr ""
-#: config/mips/mips.c:5083
+#: config/mips/mips.c:5299
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr ""
-#: config/mips/mips.c:5086
+#: config/mips/mips.c:5302
msgid "-G and -membedded-pic are incompatible"
msgstr ""
-#: config/mips/mips.c:5137
+#: config/mips/mips.c:5353
#, fuzzy, c-format
msgid "invalid option `entry%s'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: config/mips/mips.c:5140
+#: config/mips/mips.c:5356
msgid "-mentry is only meaningful with -mips-16"
msgstr ""
-#: config/mips/mips.c:5480
+#: config/mips/mips.c:5761
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5494
+#: config/mips/mips.c:5775
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5507
+#: config/mips/mips.c:5788
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5520
+#: config/mips/mips.c:5801
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5534
+#: config/mips/mips.c:5815
#, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr ""
-#: config/mips/mips.c:5543
+#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr ""
-#: config/mips/mips.c:5676
+#: config/mips/mips.c:5955
#, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr ""
-#: config/mips/mips.c:5719
+#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr ""
-#: config/mips/mips.c:5943
+#: config/mips/mips.c:6222
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr ""
-#: config/mips/mips.c:6257
+#: config/mips/mips.c:6532
#, fuzzy
msgid "can't rewind temp file"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ"
-#: config/mips/mips.c:6261
+#: config/mips/mips.c:6536
#, fuzzy
msgid "can't write to output file"
msgstr "áäõíáìßá åããñáöÞò áñ÷åßùí åîüäïõ óôï `%s'"
-#: config/mips/mips.c:6264
+#: config/mips/mips.c:6539
#, fuzzy
msgid "can't read from temp file"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ"
-#: config/mips/mips.c:6267
+#: config/mips/mips.c:6542
#, fuzzy
msgid "can't close temp file"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ"
-#: config/mips/mips.c:6700
+#: config/mips/mips.c:6983
#, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:6862
+#: config/mips/mips.c:7092
#, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:8893
+#: config/mips/mips.c:9312
#, fuzzy, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr "áäõíáìßá åêôÝëåóçò ioctl óôï `%s'"
+#: config/mips/mips.c:10444
+msgid "the cpu name must be lower case"
+msgstr ""
+
+#: config/mips/mips.c:10466
+#, fuzzy, c-format
+msgid "bad value (%s) for %s"
+msgstr "ÁêáôÜëëçëç ôéìÞ óôï ai_flags"
+
+#. 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:368 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:370
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr ""
-#: config/mips/mips.h:372
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr ""
-#: config/mips/mips.h:374
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr ""
-#: config/mips/mips.h:376
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr ""
-#: config/mips/mips.h:378
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr ""
-#: config/mips/mips.h:380
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr ""
-#: config/mips/mips.h:382
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr ""
-#: config/mips/mips.h:384
+#: config/mips/mips.h:544
#, fuzzy
msgid "Use symbolic register names"
msgstr "äåí äþèçêå óõìâïëéêü üíïìá"
-#: config/mips/mips.h:386
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr ""
-#: config/mips/mips.h:388 config/mips/mips.h:390
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr ""
-#: config/mips/mips.h:392 config/mips/mips.h:394
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr ""
-#: config/mips/mips.h:396
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr ""
-#: config/mips/mips.h:398
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr ""
-#: config/mips/mips.h:400
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr ""
-#: config/mips/mips.h:402
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr ""
-#: config/mips/mips.h:404
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr ""
-#: config/mips/mips.h:406
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr ""
@@ -11398,267 +11756,251 @@ 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:410 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:412
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr ""
-#: config/mips/mips.h:414
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr ""
-#: config/mips/mips.h:416
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr ""
-#: config/mips/mips.h:418
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr ""
-#: config/mips/mips.h:420
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr ""
-#: config/mips/mips.h:422
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
msgstr ""
-#: config/mips/mips.h:424
-msgid "Use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:426
-msgid "Don't use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:428
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr ""
-#: config/mips/mips.h:430
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr ""
-#: config/mips/mips.h:432
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr ""
-#: config/mips/mips.h:434
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr ""
-#: config/mips/mips.h:436
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr ""
-#: config/mips/mips.h:438
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr ""
-#: config/mips/mips.h:440
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
msgstr ""
-#: config/mips/mips.h:442
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
msgstr ""
-#: config/mips/mips.h:444
+#. Macro to define tables used to set the flags.
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr ""
-#: config/mips/mips.h:446
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr ""
-#: config/mips/mips.h:448
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr ""
-#: config/mips/mips.h:450
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr ""
-#: config/mips/mips.h:452
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr ""
-#: config/mips/mips.h:454
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr ""
-#: config/mips/mips.h:456 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:458 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:460
+#: config/mips/mips.h:616
msgid "Work around early 4300 hardware bug"
msgstr ""
-#: config/mips/mips.h:462
+#: config/mips/mips.h:618
msgid "Don't work around early 4300 hardware bug"
msgstr ""
-#: config/mips/mips.h:464
-msgid "Optimize for 3900"
-msgstr ""
-
-#: config/mips/mips.h:466
-msgid "Optimize for 4650"
-msgstr ""
-
-#: config/mips/mips.h:468
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr ""
-#: config/mips/mips.h:470
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr ""
-#: config/mips/mips.h:472
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr ""
-#: config/mips/mips.h:474
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr ""
-#: config/mips/mips.h:590 config/mips/mips.h:592
+#: 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:594
+#: config/mips/mips.h:746
msgid "Specify CPU for code generation purposes"
msgstr ""
-#: config/mips/mips.h:596
+#: 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:598
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr ""
-#: config/mips/mips.h:600
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr ""
-#: config/mips/mips.h:604
+#: config/mips/mips.h:756
msgid "Don't call any cache flush functions"
msgstr ""
-#: config/mips/mips.h:606
+#: 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:2869
+#: config/mips/mips.h:2868
msgid "mips16 function profiling"
msgstr ""
-#: config/mmix/mmix.c:138
+#: config/mmix/mmix.c:189
#, fuzzy, c-format
msgid "-f%s not supported: ignored"
msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-#: config/mmix/mmix.c:564
+#: 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:651
-msgid "stack frame too big"
-msgstr ""
-
-#: config/mmix/mmix.c:679
-#, fuzzy, c-format
-msgid "stack frame not a multiple of 8 bytes: %d"
-msgstr "ï ßäéïò êáíüíáò óå ðïëëáðëÜ áñ÷åßá"
-
-#: config/mmix/mmix.c:1022
-#, c-format
-msgid "stack frame not a multiple of octabyte: %d"
-msgstr ""
-
-#: config/mmix/mmix.c:1190
+#: config/mmix/mmix.c:826
msgid "function_profiler support for MMIX"
msgstr ""
-#: config/mmix/mmix.c:1227
-msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
-msgstr ""
-
-#: config/mmix/mmix.c:1233
+#: 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:1556
-msgid "oops, not debugged; fixing up value:"
-msgstr ""
-
-#: config/mmix/mmix.c:2100 config/mmix/mmix.c:2234
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
msgid "MMIX Internal: Expected a CONST_INT, not this"
msgstr ""
-#: config/mmix/mmix.c:2108 config/mmix/mmix.c:2132 config/mmix/mmix.c:2251
+#: 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:2179
+#: config/mmix/mmix.c:1718
msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
msgstr ""
-#: config/mmix/mmix.c:2202
+#: config/mmix/mmix.c:1737
msgid "MMIX Internal: Expected a register, not this"
msgstr ""
-#: config/mmix/mmix.c:2212
+#: 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:2244
+#: 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:2295
+#: config/mmix/mmix.c:1831
msgid "MMIX Internal: Cannot decode this operand"
msgstr ""
-#: config/mmix/mmix.c:2354
+#: config/mmix/mmix.c:1891
msgid "MMIX Internal: This is not a recognized address"
msgstr ""
-#: config/mmix/mmix.c:2823 config/mmix/mmix.c:2892
+#: config/mmix/mmix.c:2082
+#, fuzzy, 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:3011
+#: config/mmix/mmix.c:3006
msgid "MMIX Internal: Trying to output invalidly reversed condition:"
msgstr ""
-#: config/mmix/mmix.c:3018
+#: config/mmix/mmix.c:3013
msgid "MMIX Internal: What's the CC of this?"
msgstr ""
-#: config/mmix/mmix.c:3022
+#: config/mmix/mmix.c:3017
msgid "MMIX Internal: What is the CC of this?"
msgstr ""
-#: config/mmix/mmix.c:3093
+#: config/mmix/mmix.c:3088
msgid "MMIX Internal: This is not a constant:"
msgstr ""
@@ -11671,68 +12013,84 @@ 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.
#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
#. Provide default program start 0x100 unless -mno-set-program-start.
-#. Link to ELF if requested.
+#. 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:135
+#: config/mmix/mmix.h:132
msgid "Set start-address of the program"
msgstr ""
-#: config/mmix/mmix.h:137
+#: 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:175
+#: config/mmix/mmix.h:198
msgid "For intrinsics library: pass all parameters in registers"
msgstr ""
-#: config/mmix/mmix.h:178
+#: config/mmix/mmix.h:201
msgid "Use register stack for parameters and return value"
msgstr ""
-#: config/mmix/mmix.h:180
+#: config/mmix/mmix.h:203
msgid "Use call-clobbered registers for parameters and return value"
msgstr ""
-#: config/mmix/mmix.h:182
+#: config/mmix/mmix.h:205
msgid "Use epsilon-respecting floating point compare instructions"
msgstr ""
-#: config/mmix/mmix.h:185
+#: config/mmix/mmix.h:208
msgid "Use zero-extending memory loads, not sign-extending ones"
msgstr ""
-#: config/mmix/mmix.h:188
+#: 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:192
+#: config/mmix/mmix.h:215
msgid "Prepend global symbols with \":\" (for use with PREFIX)"
msgstr ""
-#: config/mmix/mmix.h:194
+#: config/mmix/mmix.h:217
msgid "Do not provide a default start-address 0x100 of the program"
msgstr ""
-#: config/mmix/mmix.h:196
+#: config/mmix/mmix.h:219
msgid "Link to emit program in ELF format (rather than mmo)"
msgstr ""
-#: config/mmix/mmix.h:198
+#: config/mmix/mmix.h:221
msgid "Use P-mnemonics for branches statically predicted as taken"
msgstr ""
-#: config/mmix/mmix.h:200
+#: config/mmix/mmix.h:223
msgid "Don't use P-mnemonics for branches"
msgstr ""
+#: config/mmix/mmix.h:225
+msgid "Use addresses that allocate global registers"
+msgstr ""
+
+#: config/mmix/mmix.h:227
+#, fuzzy
+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 ""
@@ -11749,156 +12107,293 @@ msgstr ""
msgid "Enable linker relaxations"
msgstr ""
-#: config/ns32k/ns32k.h:104 config/s390/s390.h:52
+#: 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
#, fuzzy
msgid "Do not use register sb"
msgstr "Äåí åßíáé äõíáôÞ ç êáôá÷þñçóç ôçò õðçñåóßáò"
-#: config/ns32k/ns32k.h:116
-msgid "Do not use bit-field instructions"
-msgstr ""
-
-#: config/ns32k/ns32k.h:117
+#: config/ns32k/ns32k.h:155
#, fuzzy
msgid "Use bit-field instructions"
msgstr "ÁêáôÜëëçëç åíôïëÞ"
-#: config/ns32k/ns32k.h:118
+#: config/ns32k/ns32k.h:157
+msgid "Do not use bit-field instructions"
+msgstr ""
+
+#: 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:188
+#: 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:213
+#: 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:218
+#: config/pa/pa.c:284
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr ""
-#: config/pa/pa.c:223
+#: config/pa/pa.c:289
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr ""
-#: config/pa/pa.c:228
+#: config/pa/pa.c:294
msgid "-g is only supported when using GAS on this processor,"
msgstr ""
-#: config/pa/pa.c:229
+#: config/pa/pa.c:295
#, fuzzy
msgid "-g option disabled"
msgstr "Ç ëåéôïõñãßá NIS+ áðÝôõ÷å"
-#: 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
+#, fuzzy
+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
+#, fuzzy
+msgid "Do not disable FP regs"
+msgstr "Äåí åßíáé äõíáôü íá äåóìåõôåß ìíÞìç"
+
+#: config/pa/pa.h:232
+msgid "Disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:234
+#, fuzzy
+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
+#, fuzzy
+msgid "Disable indexed addressing"
+msgstr "ÁêáôÜëëçëç ÷ñÞóç ôïõ äéáìïñöùôÞ äéåýèõíóçò"
+
+#: config/pa/pa.h:242
+#, fuzzy
+msgid "Do not disable indexed addressing"
+msgstr "ÁêáôÜëëçëç ÷ñÞóç ôïõ äéáìïñöùôÞ äéåýèõíóçò"
+
+#: config/pa/pa.h:244
+#, fuzzy
+msgid "Use portable calling conventions"
+msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
+
+#: config/pa/pa.h:246
+#, fuzzy
+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
+#, fuzzy
+msgid "Generate fast indirect calls"
+msgstr "×ñÞóç îå÷ùñéóôÞò ëáíèÜíïõóáò ìíÞìçò ãéá êÜèå ÷ñÞóôç"
+
+#: config/pa/pa.h:262
+msgid "Do not generate fast indirect calls"
+msgstr ""
+
+#: config/pa/pa.h:264
+#, fuzzy
+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
#, fuzzy
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 ""
@@ -11906,80 +12401,51 @@ 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
#, fuzzy
msgid "Target does not have split I&D"
msgstr "-nt äåí äÝ÷åôáé -l\n"
#. 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:682
-#, fuzzy, c-format
-msgid "invalid %%B value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/romp/romp.c:709 config/rs6000/rs6000.c:6202
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7718
#, fuzzy, 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
#, fuzzy, 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
#, fuzzy, 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
#, fuzzy, 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:5981
+#: config/romp/romp.c:807 config/romp/romp.c:816 config/romp/romp.c:823
+#: config/rs6000/rs6000.c:7547
#, fuzzy, 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
#, fuzzy, c-format
msgid "invalid %%j value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
@@ -11997,150 +12463,216 @@ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr ""
-#: config/rs6000/rs6000.c:472
+#. 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
+#, fuzzy
+msgid "ignoring malformed #pragma longcall"
+msgstr "áãíïïýíôáé üëá ôá ïñßóìáôá"
+
+#: config/rs6000/rs6000-c.c:58
+#, fuzzy
+msgid "missing open paren"
+msgstr "ÅëëéðÞò Þ êáêïó÷çìáôéóìÝíç éäéüôçôá"
+
+#: config/rs6000/rs6000-c.c:60
+#, fuzzy
+msgid "missing number"
+msgstr "¸÷åé ðáñáëçöèåß åíôïëÞ"
+
+#: config/rs6000/rs6000-c.c:62
+#, fuzzy
+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
+#, fuzzy
+msgid "junk at end of #pragma longcall"
+msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
+
+#: config/rs6000/rs6000.c:588
#, fuzzy
msgid "-mmultiple is not supported on little endian systems"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: config/rs6000/rs6000.c:479
+#: config/rs6000/rs6000.c:595
#, fuzzy
msgid "-mstring is not supported on little endian systems"
msgstr "ðñïåéäïðïßçóç: ôï --pid=PID äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
-#: config/rs6000/rs6000.c:485
+#: config/rs6000/rs6000.c:619
#, c-format
-msgid "-f%s ignored (all code is position independent)"
-msgstr ""
-
-#: config/rs6000/rs6000.c:494
-msgid "-ffunction-sections disabled on AIX when debugging"
+msgid "unknown -mdebug-%s switch"
msgstr ""
-#: config/rs6000/rs6000.c:500
-#, fuzzy
-msgid "-fdata-sections not supported on AIX"
-msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
-
-#: config/rs6000/rs6000.c:515
+#: config/rs6000/rs6000.c:631
#, c-format
-msgid "unknown -mdebug-%s switch"
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
msgstr ""
-#: config/rs6000/rs6000.c:525
+#: config/rs6000/rs6000.c:642
#, c-format
msgid "Unknown switch -mlong-double-%s"
msgstr ""
-#: config/rs6000/rs6000.c:590
+#: config/rs6000/rs6000.c:734
+#, fuzzy, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "Üãíùóôï óåô `%s'"
+
+#: config/rs6000/rs6000.c:749
+#, fuzzy, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "Üãíùóôï óåô `%s'"
+
+#: config/rs6000/rs6000.c:768
#, fuzzy, c-format
msgid "unknown ABI specified: '%s'"
msgstr "Üãíùóôï óåô `%s'"
-#: config/rs6000/rs6000.c:3810
+#: config/rs6000/rs6000.c:4169
+#, fuzzy
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#: config/rs6000/rs6000.c:4276 config/rs6000/rs6000.c:4866
+#, fuzzy
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#: config/rs6000/rs6000.c:4319
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4373
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4452
+#, fuzzy
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#: config/rs6000/rs6000.c:4629
#, fuzzy, 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 "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-#: config/rs6000/rs6000.c:5908
+#: config/rs6000/rs6000.c:4745
+#, fuzzy
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#: config/rs6000/rs6000.c:4976
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#: config/rs6000/rs6000.c:5049
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr ""
+
+#: config/rs6000/rs6000.c:7474
#, fuzzy, c-format
msgid "invalid %%f value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:5917
+#: config/rs6000/rs6000.c:7483
#, fuzzy, c-format
msgid "invalid %%F value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:5926
+#: config/rs6000/rs6000.c:7492
#, fuzzy, c-format
msgid "invalid %%G value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:5961
+#: config/rs6000/rs6000.c:7527
#, fuzzy, c-format
msgid "invalid %%j code"
msgstr "ìç Ýãêõñï äéêáßùìá"
-#: config/rs6000/rs6000.c:5971
+#: config/rs6000/rs6000.c:7537
#, fuzzy, c-format
msgid "invalid %%J code"
msgstr "ìç Ýãêõñï äéêáßùìá"
-#: config/rs6000/rs6000.c:6001
+#: config/rs6000/rs6000.c:7567
#, fuzzy, c-format
msgid "invalid %%K value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:6128
+#: config/rs6000/rs6000.c:7634
#, fuzzy, c-format
-msgid "invalid %%p value"
-msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-
-#: config/rs6000/rs6000.c:6165
-#, fuzzy, c-format
-msgid "invalid %%q value"
+msgid "invalid %%O value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:6228
-#, c-format
-msgid "%%S computed all 1's mask"
-msgstr ""
-
-#: config/rs6000/rs6000.c:6255
-#, c-format
-msgid "%%S computed all 0's mask"
-msgstr ""
-
-#: config/rs6000/rs6000.c:6265
+#: config/rs6000/rs6000.c:7756
#, fuzzy, c-format
msgid "invalid %%T value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:6275
+#: config/rs6000/rs6000.c:7766
#, fuzzy, c-format
msgid "invalid %%u value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/rs6000.c:6284
+#: config/rs6000/rs6000.c:7775
#, fuzzy, c-format
msgid "invalid %%v value"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/rs6000/aix.h:134 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
#, fuzzy
msgid "Always pass floating-point arguments in memory"
msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
-#: config/rs6000/aix.h:136 config/rs6000/beos.h:34
+#: config/rs6000/aix.h:162 config/rs6000/beos.h:34
#, fuzzy
msgid "Don't always pass floating-point arguments in memory"
msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
#: 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 ""
@@ -12151,147 +12683,164 @@ 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
#, fuzzy
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:666
+#: 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
+#, fuzzy
+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.
@@ -12304,101 +12853,105 @@ 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:1776
+#: 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
#, fuzzy
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
#, fuzzy
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
@@ -12407,3352 +12960,999 @@ msgstr ""
#.
#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
#. get control.
-#: config/rs6000/sysv4.h:212
+#: config/rs6000/sysv4.h:214
#, fuzzy, c-format
msgid "bad value for -mcall-%s"
msgstr "ÁêáôÜëëçëç ôéìÞ óôï ai_flags"
-#: config/rs6000/sysv4.h:228
+#: config/rs6000/sysv4.h:230
#, fuzzy, c-format
msgid "bad value for -msdata=%s"
msgstr "ÁêáôÜëëçëç ôéìÞ óôï ai_flags"
-#: config/rs6000/sysv4.h:245
+#: config/rs6000/sysv4.h:247
#, c-format
msgid "-mrelocatable and -msdata=%s are incompatible"
msgstr ""
-#: config/rs6000/sysv4.h:253
+#: config/rs6000/sysv4.h:255
#, c-format
msgid "-f%s and -msdata=%s are incompatible"
msgstr ""
-#: config/rs6000/sysv4.h:261
+#: config/rs6000/sysv4.h:263
#, c-format
msgid "-msdata=%s and -mcall-%s are incompatible"
msgstr ""
-#: config/rs6000/sysv4.h:268
+#: config/rs6000/sysv4.h:272
msgid "-mrelocatable and -mno-minimal-toc are incompatible"
msgstr ""
-#: config/rs6000/sysv4.h:274
+#: config/rs6000/sysv4.h:278
#, c-format
msgid "-mrelocatable and -mcall-%s are incompatible"
msgstr ""
-#: config/rs6000/sysv4.h:281
+#: config/rs6000/sysv4.h:285
#, c-format
msgid "-fPIC and -mcall-%s are incompatible"
msgstr ""
-#: config/rs6000/sysv4.h:288
+#: config/rs6000/sysv4.h:292
#, fuzzy
msgid "-mcall-aixdesc must be big endian"
msgstr "ôá ìåãÝèç ôïõ óôçëïãíþìïíá ðñÝðåé íá åßíáé êáôÜ áýîïõóá óåéñÜ"
-#: config/s390/s390.c:1762
+#: config/s390/s390.c:2584
msgid "invalid UNSPEC as operand (1)"
msgstr ""
-#: config/s390/s390.c:1792
+#: config/s390/s390.c:2620
msgid "invalid UNSPEC as operand (2)"
msgstr ""
-#: config/s390/s390.c:1798
+#: config/s390/s390.c:2626
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr ""
-#: config/s390/s390.c:1814
+#: config/s390/s390.c:2644
#, fuzzy
msgid "Cannot decompose address."
msgstr "Äåí åßíáé äõíáôÞ ç åê÷þñçóç ôçò æçôçèÞóáò äéåýèõíóçò"
-#: config/s390/s390.c:1962
+#: config/s390/s390.c:2784
msgid "UNKNOWN in print_operand !?"
msgstr ""
-#: config/s390/s390.c:2507
-msgid "no code label found"
-msgstr ""
-
-#: config/s390/s390.c:2653
+#: config/s390/s390.c:4421
msgid "Total size of local variables exceeds architecture limit."
msgstr ""
-#: config/s390/s390.h:53
+#: config/s390/s390.h:70
msgid "Set backchain"
msgstr ""
-#: config/s390/s390.h:54
+#: config/s390/s390.h:71
msgid "Don't set backchain (faster, but debug harder"
msgstr ""
-#: config/s390/s390.h:55
+#: config/s390/s390.h:72
msgid "Use bras for execucable < 64k"
msgstr ""
-#: config/s390/s390.h:56
+#: config/s390/s390.h:73
msgid "Don't use bras"
msgstr ""
-#: config/s390/s390.h:57
+#: config/s390/s390.h:74
msgid "Additional debug prints"
msgstr ""
-#: config/s390/s390.h:58
+#: config/s390/s390.h:75
msgid "Don't print additional debug prints"
msgstr ""
-#: config/s390/s390.h:59
+#: config/s390/s390.h:76
msgid "64 bit mode"
-msgstr ""
+msgstr "êáôÜóôáóç 64 bit"
-#: config/s390/s390.h:60
+#: config/s390/s390.h:77
msgid "31 bit mode"
-msgstr ""
+msgstr "êáôÜóôáóç 31 bit"
-#: config/s390/s390.h:61
+#: config/s390/s390.h:78
#, fuzzy
msgid "mvcle use"
msgstr "Ç óõóêåõÞ åßíáé áðáó÷ïëçìÝíç"
-#: config/s390/s390.h:62
+#: config/s390/s390.h:79
msgid "mvc&ex"
msgstr ""
+#: config/sh/sh.c:5134
+#, fuzzy
+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:4730 config/sh/sh.c:4769
+#: 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:4737
+#: config/sh/sh.c:5717
#, fuzzy, c-format
msgid "`%s' attribute argument not a string constant"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
#. The argument must be a constant integer.
-#: config/sh/sh.c:4776
+#: config/sh/sh.c:5756
#, c-format
msgid "`%s' attribute argument not an integer constant"
msgstr ""
-#: config/sparc/sparc.c:319
+#. There are no delay slots on SHmedia.
+#. Relaxation isn't yet supported for SHmedia
+#: config/sh/sh.h:437
+#, fuzzy
+msgid "Profiling is not supported on this target."
+msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
+
+#: config/sparc/sparc.c:329
#, fuzzy, c-format
msgid "%s is not supported by this configuration"
msgstr "Ç ïéêïãÝíåéá äéåõèýíóåùí äåí õðïóôçñßæåôáé áðü ôçí ïéêïãÝíåéá ðñùôïêüëëïõ"
-#: config/sparc/sparc.c:326
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr ""
-#: config/sparc/sparc.c:351
+#: config/sparc/sparc.c:361
#, fuzzy
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
-#: config/sparc/sparc.c:439
-msgid "profiling does not support code models other than medlow"
-msgstr ""
-
-#: config/sparc/sparc.c:5834 config/sparc/sparc.c:5840
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
#, fuzzy, c-format
msgid "invalid %%Y operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:5910
+#: config/sparc/sparc.c:6375
#, fuzzy, c-format
msgid "invalid %%A operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:5920
+#: config/sparc/sparc.c:6385
#, fuzzy, c-format
msgid "invalid %%B operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:5959
+#: config/sparc/sparc.c:6424
#, fuzzy, c-format
msgid "invalid %%c operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:5960
+#: config/sparc/sparc.c:6425
#, fuzzy, c-format
msgid "invalid %%C operand"
msgstr "ìç Ýãêõñç ìåôáôüðéóç UTC"
-#: config/sparc/sparc.c:5981
+#: config/sparc/sparc.c:6446
#, fuzzy, c-format
msgid "invalid %%d operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:5982
+#: config/sparc/sparc.c:6447
#, fuzzy, c-format
msgid "invalid %%D operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:6000
+#: config/sparc/sparc.c:6463
#, fuzzy, c-format
msgid "invalid %%f operand"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: config/sparc/sparc.c:6050
+#: config/sparc/sparc.c:6513
msgid "long long constant not a valid immediate operand"
msgstr ""
-#: config/sparc/sparc.c:6053
+#: config/sparc/sparc.c:6516
msgid "floating point constant not a valid immediate operand"
msgstr ""
-#: config/sparc/freebsd.h:81 config/sparc/linux.h:86
-#: config/sparc/linux64.h:139
+#: 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 ""
-#: config/sparc/sp64-elf.h:82 config/sparc/splet.h:29
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
msgid "Generate code for big endian"
msgstr ""
-#: config/sparc/sp64-elf.h:83 config/sparc/splet.h:30
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
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 ""
-#. To make profiling work with -f{pic,PIC}, we need to emit the profiling
-#. code into the rtl. Also, if we are profiling, we cannot eliminate
-#. the frame pointer (because the return address will get smashed).
-#: config/sparc/sparc.h:388
-#, c-format
-msgid "%s and profiling conflict: disabling %s"
-msgstr ""
-
-#: config/sparc/sparc.h:562
-msgid "Use function_epilogue()"
-msgstr ""
-
-#: config/sparc/sparc.h:564
-msgid "Do not use function_epilogue()"
-msgstr ""
-
-#: config/sparc/sparc.h:566
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
msgstr ""
-#: config/sparc/sparc.h:568
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
msgstr ""
-#: config/sparc/sparc.h:570
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr ""
-#: config/sparc/sparc.h:572
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr ""
-#: config/sparc/sparc.h:574
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr ""
-#: config/sparc/sparc.h:576
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr ""
-#: config/sparc/sparc.h:578
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr ""
-#: config/sparc/sparc.h:580
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr ""
-#: config/sparc/sparc.h:582
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr ""
-#: config/sparc/sparc.h:584
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr ""
-#: config/sparc/sparc.h:586
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr ""
-#: config/sparc/sparc.h:588
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr ""
-#: config/sparc/sparc.h:590
+#: config/sparc/sparc.h:556
#, fuzzy
msgid "Utilize Visual Instruction Set"
msgstr "ÐáñÜíïìç ÅíôïëÞ"
-#: config/sparc/sparc.h:592
+#: 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:595
+#: config/sparc/sparc.h:561
msgid "Optimize for Cypress processors"
msgstr ""
-#: config/sparc/sparc.h:597
-msgid "Optimize for SparcLite processors"
+#: config/sparc/sparc.h:563
+msgid "Optimize for SPARCLite processors"
msgstr ""
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr ""
-#: config/sparc/sparc.h:601
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr ""
-#: config/sparc/sparc.h:603
-msgid "Use V8 Sparc ISA"
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
msgstr ""
-#: config/sparc/sparc.h:605
-msgid "Optimize for SuperSparc processors"
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
msgstr ""
#. End of deprecated options.
-#: config/sparc/sparc.h:608
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr ""
-#: config/sparc/sparc.h:610
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr ""
-#: config/sparc/sparc.h:612
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
-msgstr ""
+msgstr "×ñÞóç ABI 32-bit"
-#: config/sparc/sparc.h:614
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
-msgstr ""
+msgstr "×ñÞóç ABI 64-bit"
-#: config/sparc/sparc.h:616
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr ""
-#: config/sparc/sparc.h:618
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr ""
-#: config/sparc/sparc.h:620
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr ""
-#: config/sparc/sparc.h:622
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr ""
-#: config/sparc/sparc.h:624
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr ""
-#: config/sparc/sparc.h:626
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr ""
-#: config/sparc/sparc.h:670
-msgid "Use given Sparc code model"
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
msgstr ""
-#: config/stormy16/stormy16.c:1168
+#: config/stormy16/stormy16.c:1192
msgid "cannot use va_start in interrupt function"
msgstr ""
-#: config/stormy16/stormy16.c:1525
+#: config/stormy16/stormy16.c:1552
msgid "`B' operand is not constant"
msgstr ""
-#: config/stormy16/stormy16.c:1531
+#: config/stormy16/stormy16.c:1558
msgid "`B' operand has multiple bits set"
msgstr ""
-#: config/stormy16/stormy16.c:1558
+#: config/stormy16/stormy16.c:1585
msgid "`o' operand is not constant"
msgstr ""
-#: config/stormy16/stormy16.c:1573
+#: config/stormy16/stormy16.c:1600
msgid "xstormy16_print_operand: unknown code"
msgstr ""
-#: config/stormy16/stormy16.c:1623
+#: 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 ""
# src/request.c:806 src/request.c:912
-#: config/v850/v850-c.c:166
+#: config/v850/v850-c.c:165
#, fuzzy, c-format
msgid "unrecognized section name \"%s\""
msgstr "Ìç áíáãíùñßóçìï üíïìá åðéöÜíåéáò `%s'"
# src/dfa.c:569 src/dfa.c:583 src/dfa.c:587
# src/dfa.c:577 src/dfa.c:591 src/dfa.c:595
-#: config/v850/v850-c.c:181
+#: config/v850/v850-c.c:180
#, fuzzy
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 ""
# src/shred.c:1134
-#: config/v850/v850.c:129
+#: config/v850/v850.c:136
#, fuzzy, c-format
msgid "%s=%s is too large"
msgstr "%s: ôï áñ÷åßï åßíáé ðïëý ìåãÜëï"
-#: 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
#, fuzzy
msgid "output_move_single:"
msgstr "áñ÷åßï åîüäïõ"
-#: config/v850/v850.c:2081
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr ""
-#: config/v850/v850.c:2092
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr ""
-#: config/v850/v850.c:2295
+#: config/v850/v850.c:2447
#, c-format
msgid "bogus JR construction: %d\n"
msgstr ""
-#: config/v850/v850.c:2316 config/v850/v850.c:2518
+#: 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:2494
+#: config/v850/v850.c:2646
#, c-format
msgid "bogus JARL construction: %d\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 }
-#. 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
-msgid "Support Green Hills ABI"
-msgstr ""
-
-#: config/v850/v850.h:123
-msgid "Prohibit PC relative function calls"
-msgstr ""
-
-#: config/v850/v850.h:126
-msgid "Reuse r30 on a per function basis"
-msgstr ""
-
-#: config/v850/v850.h:129
-msgid "Use stubs for function prologues"
-msgstr ""
-
-#: config/v850/v850.h:132
-msgid "Same as: -mep -mprolog-function"
-msgstr ""
-
-#: config/v850/v850.h:133
-msgid "Enable backend debugging"
-msgstr ""
-
-#: config/v850/v850.h:135
-msgid "Compile for the v850 processor"
-msgstr ""
-
-#: config/v850/v850.h:138
-msgid "Use 4 byte entries in switch tables"
-msgstr ""
-
-#: config/v850/v850.h:164
-msgid "Set the max size of data eligible for the TDA area"
-msgstr ""
-
-#: config/v850/v850.h:167
-msgid "Set the max size of data eligible for the SDA area"
-msgstr ""
-
-#: config/v850/v850.h:170
-msgid "Set the max size of data eligible for the ZDA area"
-msgstr ""
-
-#: ada/misc.c:219
-msgid "`-gnat' misspelled as `-gant'"
-msgstr ""
-
-#: ch/actions.c:118
-#, c-format
-msgid "%d errors, %d sorries, do granting"
-msgstr ""
-
-#: ch/actions.c:135
-msgid "GNU compiler does not support statically allocated objects"
-msgstr ""
-
-#: ch/actions.c:138 objc/objc-act.c:882
-#, c-format
-msgid "`%s' cannot be statically allocated"
-msgstr ""
-
-#: ch/actions.c:300
-#, c-format
-msgid "causing unhandled exception `%s' (this is flaged only once)"
-msgstr ""
-
-#: ch/actions.c:438
-msgid "range failure (not inside function)"
-msgstr ""
-
-#: ch/actions.c:440
-msgid "possible range failure (not inside function)"
-msgstr ""
-
-#: ch/actions.c:445
-msgid "expression will always cause RANGEFAIL"
-msgstr ""
-
-#: ch/actions.c:492
-msgid "right hand side of assignment is a mode"
-msgstr ""
-
-#: ch/actions.c:498
-#, c-format
-msgid "incompatible modes in %s"
-msgstr ""
-
-#: ch/actions.c:523
-#, fuzzy, c-format
-msgid "bad string length in %s"
-msgstr "åëÜ÷éóôï ìÝãåèïò áëöáñéèìçôéêïý"
-
-#: ch/actions.c:631 ch/actions.c:644
-#, fuzzy, c-format
-msgid "mode mismatch in %s expression"
-msgstr "ÓöÜëìá óôï ôáßñéáóìá óôçí êáíïíéêÞ Ýêöñáóç `%s'"
-
-#: ch/actions.c:638
-#, c-format
-msgid "%s expression must be referable"
-msgstr ""
-
-#: ch/actions.c:667
-#, c-format
-msgid "%s not allowed outside a PROC"
-msgstr ""
-
-#: ch/actions.c:673
-#, c-format
-msgid "%s action in PROC with no declared RESULTS"
-msgstr ""
-
-#: ch/actions.c:704
-msgid "RETURN not allowed outside PROC"
-msgstr ""
-
-#: ch/actions.c:717
-msgid "RETURN with a value, in PROC returning void"
-msgstr ""
-
-#: ch/actions.c:726
-msgid "RETURN with no value and no RESULT action in procedure"
-msgstr ""
-
-# src/main.c:697 src/main.c:751
-#: ch/actions.c:749
-#, fuzzy, c-format
-msgid "no label named `%s'"
-msgstr "¶ãíùóôç ãëþóóá `%s'"
-
-#: ch/actions.c:751
-#, c-format
-msgid "cannot GOTO label `%s' outside current function"
-msgstr ""
-
-#: ch/actions.c:773
-#, c-format
-msgid "no EXITable label named `%s'"
-msgstr ""
-
-#: ch/actions.c:775
+#: config/v850/v850.c:3026
#, c-format
-msgid "cannot EXIT label `%s' outside current function"
-msgstr ""
-
-#: ch/actions.c:1018
-msgid "case selector not compatible with label"
-msgstr ""
-
-#: ch/actions.c:1044
-msgid "ELSE label not within a CASE statement"
-msgstr ""
-
-#: ch/actions.c:1048
-msgid "multiple default labels found in a CASE statement"
-msgstr ""
-
-#: ch/actions.c:1049
-#, fuzzy
-msgid "this is the first ELSE label"
-msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-
-#: ch/actions.c:1070
-msgid "label found outside of CASE statement"
-msgstr ""
-
-#: ch/actions.c:1073
-#, fuzzy
-msgid "duplicate CASE value"
-msgstr "äéðëü êëåéäß"
-
-#: ch/actions.c:1074 ch/actions.c:1127
-#, fuzzy
-msgid "this is the first entry for that value"
-msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
-
-#: ch/actions.c:1077 ch/actions.c:1130
-#, fuzzy
-msgid "CASE value out of range"
-msgstr "Ï áñéèìüò ôùí êáíáëéþí åßíáé Ýîù áðü ôá üñéá"
-
-#: ch/actions.c:1079 ch/actions.c:1132
-#, fuzzy
-msgid "empty range"
-msgstr "êåíü áëöáñéèìçôéêü"
-
-#: ch/actions.c:1081 ch/actions.c:1134
-msgid "label within scope of cleanup or variable array"
-msgstr ""
-
-#: ch/actions.c:1105 ch/actions.c:1302
-msgid "mode in label is not discrete"
-msgstr ""
-
-#: ch/actions.c:1122
-msgid "label not within a CASE statement"
-msgstr ""
-
-#: ch/actions.c:1282
-msgid "lower bound of range must be a discrete literal expression"
-msgstr ""
-
-#: ch/actions.c:1287
-msgid "upper bound of range must be a discrete literal expression"
-msgstr ""
-
-#: ch/actions.c:1311
-msgid "CASE label is not valid"
+msgid "Bogus DISPOSE construction: %d\n"
msgstr ""
-#: ch/actions.c:1357
-msgid "number of CASE selectors does not match the number of CASE label lists"
-msgstr ""
-
-#: ch/actions.c:1442
+#: config/v850/v850.c:3048
#, c-format
-msgid "incomplete CASE - %s not handled"
-msgstr ""
-
-#: ch/actions.c:1461
-msgid "CASE selector with variable range"
-msgstr ""
-
-#: ch/actions.c:1465
-msgid "too many cases to do CASE completeness testing"
-msgstr ""
-
-#: ch/actions.c:1550
-msgid "type of tuple cannot be implicit in multiple assignent"
+msgid "Too much stack space to dispose of: %d"
msgstr ""
-#: ch/actions.c:1552
-msgid "conditional expression cannot be used in multiple assignent"
-msgstr ""
-
-#: ch/actions.c:1554
-#, fuzzy
-msgid "internal error - unknown type in multiple assignment"
-msgstr "åóùôåñéêü óöÜëìá - êëÞèçêå ç addtype ìå êáêü ttisgmt"
-
-#: ch/actions.c:1558
-msgid "no operator allowed in multiple assignment,"
-msgstr ""
-
-#: ch/actions.c:1568
-msgid "location modes in multiple assignment are not equivalent"
-msgstr ""
-
-#: ch/actions.c:1606
-msgid "you may not assign a value to a BUFFER or EVENT location"
-msgstr ""
-
-#: ch/actions.c:1614
-msgid "can't assign value to READonly location"
-msgstr ""
-
-#: ch/actions.c:1619
-msgid "cannot assign to location with non-value property"
-msgstr ""
-
-#: ch/actions.c:1639
-msgid "lefthand side of assignment is not a location"
-msgstr ""
-
-#: ch/actions.c:1715 ch/actions.c:1785
-msgid "bitstring slice"
-msgstr ""
-
-#: ch/actions.c:1810
-msgid "LENGTH on left-hand-side is non-portable"
-msgstr ""
-
-#: ch/actions.c:1814
-msgid "can only set LENGTH of array location"
-msgstr ""
-
-#: ch/convert.c:63
-msgid "internal error: trying to make loc-identity with non-location"
-msgstr ""
-
-#: ch/convert.c:117
-#, fuzzy
-msgid "cannot convert to a boolean mode"
-msgstr "áäýíáôç ç ìåôáôñïðÞ ôïõ U+%04X óôï ôïðéêü óýíïëï ÷áñáêôÞñùí"
-
-#: ch/convert.c:152
-#, fuzzy
-msgid "cannot convert to a char mode"
-msgstr "áäýíáôç ç ìåôáôñïðÞ ôïõ U+%04X óôï ôïðéêü óýíïëï ÷áñáêôÞñùí"
-
-#: ch/convert.c:248
-#, fuzzy
-msgid "powerset tuple element out of range"
-msgstr "%s: áñéèìüò ãñáììÞò Ýîù áðü ôá üñéá"
-
-#: ch/convert.c:284 ch/convert.c:312
+#: config/v850/v850.c:3224
#, c-format
-msgid "incompatible member of powerset tuple (at position #%d)"
+msgid "Bogus PREPEARE construction: %d\n"
msgstr ""
-#: ch/convert.c:394
+#: config/v850/v850.c:3246
#, c-format
-msgid "no initializer value for fixed field `%s'"
+msgid "Too much stack space to prepare: %d"
msgstr ""
-#: ch/convert.c:436
-#, c-format
-msgid "non-constant value for tag field `%s'"
-msgstr ""
-
-#: ch/convert.c:488
-#, c-format
-msgid "field `%s' in wrong variant"
-msgstr ""
-
-#: ch/convert.c:495
-#, fuzzy, c-format
-msgid "missing variant fields (at least `%s')"
-msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-
-#: ch/convert.c:518
-#, fuzzy, c-format
-msgid "bad initializer for field `%s'"
-msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
-
-#: ch/convert.c:525
-#, c-format
-msgid "no initializer value for variant field `%s'"
-msgstr ""
-
-#: ch/convert.c:531
-msgid "no selected variant"
-msgstr ""
-
-#: ch/convert.c:546 ch/convert.c:912
-msgid "mixture of labelled and unlabelled tuple elements"
-msgstr ""
-
-#: ch/convert.c:557
-msgid "probably not a structure tuple"
-msgstr ""
-
-#: ch/convert.c:559
-#, c-format
-msgid "excess initializer for field `%s'"
-msgstr ""
-
-#: ch/convert.c:566
-msgid "excess unnamed initializers"
-msgstr ""
-
-#: ch/convert.c:693
-msgid "non-constant start index for tuple"
-msgstr ""
-
-#: ch/convert.c:736
-#, fuzzy
-msgid "invalid array tuple label"
-msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ïíüìáôïò êëÜóçò"
-
-#: ch/convert.c:750
-msgid "non-constant array tuple index range"
-msgstr ""
-
-#: ch/convert.c:759
-#, c-format
-msgid "incompatible array tuple element %s"
-msgstr ""
-
-#: ch/convert.c:775
-msgid "multiple (*) or (ELSE) array tuple labels"
-msgstr ""
-
-#: ch/convert.c:784
-msgid "empty range in array tuple"
-msgstr ""
-
-#: ch/convert.c:801
-#, c-format
-msgid "array tuple has duplicate index %s"
-msgstr ""
-
-#: ch/convert.c:809
-#, fuzzy
-msgid "array tuple index out of range"
-msgstr "%s: áñéèìüò ãñáììÞò Ýîù áðü ôá üñéá"
-
-#: ch/convert.c:811
-#, fuzzy
-msgid "too many array tuple values"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: ch/convert.c:883
-msgid "dynamic array tuple without (*) or (ELSE)"
-msgstr ""
-
-#: ch/convert.c:885
-#, fuzzy, c-format
-msgid "missing array tuple element %s"
-msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-
-#: ch/convert.c:892
-#, fuzzy, c-format
-msgid "missing array tuple elements %s : %s"
-msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-
-#: ch/convert.c:1086
-msgid "initializer is not an array or string mode"
-msgstr ""
-
-#: ch/convert.c:1096
-msgid "destination is too small"
-msgstr ""
-
-#: ch/convert.c:1152
-msgid "internal error: unknown type of expression"
-msgstr ""
-
-#: ch/decl.c:1033
-#, fuzzy, c-format
-msgid "`%s' must not be declared readonly"
-msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-
-#: ch/decl.c:1037
-msgid "declaration of readonly variable without initialization"
-msgstr ""
-
-# src/request.c:263
-#: ch/decl.c:1059
-#, fuzzy, c-format
-msgid "no initialization allowed for `%s'"
-msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
-
-#: ch/decl.c:1067
-#, c-format
-msgid "value for loc-identity `%s' is not a location"
+#. 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:158
+msgid "Support Green Hills ABI"
msgstr ""
-#: ch/decl.c:1074
-#, fuzzy, c-format
-msgid "location for `%s' not read-compatible"
-msgstr "Ï êáôÜëïãïò `%s' äåí åßíáé ðñïóéôüò."
-
-#: ch/decl.c:1101
-#, c-format
-msgid "nonconstant initializer for `%s'"
+#: config/v850/v850.h:161
+msgid "Prohibit PC relative function calls"
msgstr ""
-#: ch/decl.c:1132
-msgid "do_decl: internal error: don't know what to initialize"
+#: config/v850/v850.h:164
+msgid "Reuse r30 on a per function basis"
msgstr ""
-#: ch/decl.c:1189
-msgid "RECURSIVE PROCs"
+#: config/v850/v850.h:167
+msgid "Use stubs for function prologues"
msgstr ""
-#: ch/decl.c:1445
-#, c-format
-msgid "`%s' must not be READonly"
+#: config/v850/v850.h:170
+msgid "Same as: -mep -mprolog-function"
msgstr ""
-#: ch/decl.c:1471
-msgid "POS may not be specified for a list of field declarations"
+#: config/v850/v850.h:171
+msgid "Enable backend debugging"
msgstr ""
-#: ch/decl.c:1525
-msgid "(ELSE) case label as well as ELSE variant"
+#: config/v850/v850.h:173
+msgid "Compile for the v850 processor"
msgstr ""
-#: ch/decl.c:1610 ch/decl.c:1613
-msgid "inconsistent modes between labels and tag field"
+#: config/v850/v850.h:175
+msgid "Compile for v850e processor"
msgstr ""
-#: ch/decl.c:1618
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
#, fuzzy
-msgid "too few tag labels"
-msgstr "ðïëý ëßãá ïñßóìáôá"
-
-#: ch/decl.c:1620
-#, fuzzy
-msgid "too many tag labels"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: ch/decl.c:1658
-msgid "case label lower limit is not a discrete constant expression"
-msgstr ""
-
-#: ch/decl.c:1660
-msgid "case label upper limit is not a discrete constant expression"
-msgstr ""
-
-#: ch/decl.c:1670
-msgid "case label must be a discrete constant expression"
-msgstr ""
-
-#: ch/decl.c:1697
-msgid "variant label declared here..."
-msgstr ""
+msgid "Enable the use of the short load instructions"
+msgstr "ÁêáôÜëëçëç åíôïëÞ"
-#: ch/decl.c:1699
+#: config/v850/v850.h:180
#, fuzzy
-msgid "...is duplicated here"
-msgstr "äéðëü êëåéäß"
-
-#: ch/decl.c:1729
-#, c-format
-msgid "no field (yet) for tag %s"
-msgstr ""
-
-#: ch/decl.c:1824
-msgid "non-value mode may only returned by LOC"
-msgstr ""
-
-#: ch/decl.c:1847
-#, fuzzy, c-format
-msgid "mode of `%s' is not a mode"
-msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
-
-#: ch/decl.c:1853
-#, c-format
-msgid "`%s' may only be passed by LOC"
-msgstr ""
-
-#: ch/decl.c:2281
-#, c-format
-msgid "nothing named `%s' to grant"
-msgstr ""
-
-#: ch/decl.c:2321
-#, fuzzy, c-format
-msgid "duplicate grant for `%s'"
-msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-
-#: ch/decl.c:2322
-#, fuzzy, c-format
-msgid "previous grant for `%s'"
-msgstr "äéáôÞñçóç ùñþí óôï %s"
-
-#: ch/decl.c:2409
-#, fuzzy, c-format
-msgid "duplicate definition `%s'"
-msgstr "äéðëüò ïñéóìüò óõíüëïõ"
-
-#: ch/decl.c:2410
-#, fuzzy, c-format
-msgid "previous definition of `%s'"
-msgstr "êáíÝíáò ïñéóìüò ôïõ `UNDEFINED'"
-
-# src/main.c:785
-#: ch/decl.c:3248 ch/decl.c:3258
-#, fuzzy, c-format
-msgid "ambiguous choice for seize `%s' -"
-msgstr "ÁóáöÞò ìïñöÞ `%s'"
-
-#: ch/decl.c:3249 ch/decl.c:3259
-#, c-format
-msgid " - can seize this `%s' -"
-msgstr ""
-
-#: ch/decl.c:3250 ch/decl.c:3261
-#, c-format
-msgid " - or this granted decl `%s'"
-msgstr ""
-
-#: ch/decl.c:4430
-#, fuzzy, c-format
-msgid "enumerator value for `%s' is less than 0"
-msgstr "%s: ïé ôéìÝò ôïõ ðåäßïõ `%s' äåí ðñÝðåé íá åßíáé ìåãáëýôåñåò áðü %d"
-
-#: ch/decl.c:4512
-#, c-format
-msgid "enumerators `%s' and `%s' have equal values"
-msgstr ""
-
-#: ch/decl.c:4618
-msgid "undefined value in SET mode is obsolete and deprecated"
-msgstr ""
-
-#: ch/decl.c:4794
-msgid "BASE variable never declared"
-msgstr ""
-
-#: ch/decl.c:4796
-msgid "cannot BASE a variable on a PROC/PROCESS name"
-msgstr ""
+msgid "Do not use the callt instruction"
+msgstr "ÁêáôÜëëçëç åíôïëÞ"
-#: ch/decl.c:4848
+#: config/v850/v850.h:187
#, fuzzy
-msgid "INTERNAL ERROR: handle_one_level is broken"
-msgstr "ÅÓÙÔÅÑÉÊÏ ÓÖÁËÌÁ: ËÜèïò åßäïò áíôéêåéìÝíïõ óôï expand_token ()"
-
-#: ch/expr.c:126
-#, c-format
-msgid "tuple without specified mode not allowed in %s"
-msgstr ""
-
-#: ch/expr.c:128
-#, fuzzy, c-format
-msgid "conditional expression not allowed in %s"
-msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç (ëÜèïò åßóïäïò): %s"
-
-#: ch/expr.c:130
-#, fuzzy, c-format
-msgid "internal error: unknown expression mode in %s"
-msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-
-#: ch/expr.c:147
-msgid "CASE selector is not a discrete expression"
-msgstr ""
-
-#: ch/expr.c:215
-msgid "The number of CASE selectors does not match the number of CASE label lists"
-msgstr ""
+msgid "Do not use registers r2 and r5"
+msgstr "Äåí åßíáé äõíáôÞ ç êáôá÷þñçóç ôçò õðçñåóßáò"
-#: ch/expr.c:594
-msgid "powerset is not addressable"
+#: config/v850/v850.h:189
+msgid "Enfore strict alignment"
msgstr ""
-#: ch/expr.c:639
-#, fuzzy
-msgid "array is not addressable"
-msgstr "Ï êáôÜëïãïò `%s' äåí åßíáé ðñïóéôüò."
-
-#: ch/expr.c:687
-#, c-format
-msgid "too few arguments in call to `%s'"
-msgstr "ðïëý ëßãá ïñßóìáôá óôç êëÞóç ôçò `%s'"
-
-#: ch/expr.c:689
-#, c-format
-msgid "too many arguments in call to `%s'"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç êëÞóç ôçò `%s'"
-
-#: ch/expr.c:758
-#, fuzzy
-msgid "cannot dereference, not a pointer"
-msgstr "Äåí ìðïñåß íá êáèïñéóôåß ôï üíïìá ôïõ óõóôÞìáôïò"
-
-#: ch/expr.c:768
-#, c-format
-msgid "missing '.' operator or undefined mode name `%s'"
+#: config/v850/v850.h:192
+msgid "Use 4 byte entries in switch tables"
msgstr ""
-#: ch/expr.c:771
-msgid "you have forgotten the '.' operator which must"
+#: config/v850/v850.h:218
+msgid "Set the max size of data eligible for the TDA area"
msgstr ""
-#: ch/expr.c:772
-#, c-format
-msgid " precede a STRUCT field reference, or `%s' is an undefined mode"
+#: config/v850/v850.h:221
+msgid "Set the max size of data eligible for the SDA area"
msgstr ""
-#: ch/expr.c:786
-msgid "can't dereference PTR value using unary `->'"
+#: config/v850/v850.h:224
+msgid "Set the max size of data eligible for the ZDA area"
msgstr ""
-#: ch/expr.c:831
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
#, fuzzy
-msgid "invalid type argument of `->'"
-msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-
-#: ch/expr.c:856 ch/expr.c:969
-msgid "operand of '.' is not a STRUCT"
-msgstr ""
-
-#: ch/expr.c:909
-#, fuzzy, c-format
-msgid "no field named `%s'"
-msgstr "Ìç ïñéóìÝíï üíïìá %s"
-
-#: ch/expr.c:1217
-msgid "ABS argument must be discrete or real mode"
-msgstr ""
-
-#: ch/expr.c:1250
-#, fuzzy, c-format
-msgid "argument %d to ABSTIME must be of integer type"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/expr.c:1288 ch/expr.c:1329
-msgid "parameter 1 must be referable"
-msgstr ""
+msgid "bad test"
+msgstr "ÅóöáëìÝíç äéåýèõíóç"
-#: ch/expr.c:1294 ch/expr.c:1335 ch/expr.c:1372
-msgid "mode mismatch in parameter 1"
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
msgstr ""
-#: ch/expr.c:1301 ch/expr.c:1342
+#: config/xtensa/xtensa.c:1991
#, fuzzy
-msgid "parameter 2 must be a positive integer"
-msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
-
-#: ch/expr.c:1436
-msgid "CARD argument must be powerset mode"
-msgstr ""
-
-#: ch/expr.c:1487
-msgid "expression for DESCR-built-in must be referable"
-msgstr ""
-
-#: ch/expr.c:1535
-#, fuzzy, c-format
-msgid "argument to `%s' must be of integer type"
-msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/expr.c:1568
-#, fuzzy, c-format
-msgid "argument 1 to `%s' must be of floating point mode"
-msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/expr.c:1602
-#, fuzzy, c-format
-msgid "first argument to `%s' must be a mode"
-msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/expr.c:1609
-#, c-format
-msgid "READonly modes for %s must have a value"
-msgstr ""
-
-#: ch/expr.c:1692
-msgid "argument to TERMINATE must be a reference primitive value"
-msgstr ""
-
-#: ch/expr.c:1741
-msgid "argument 1 to INTTIME must be of mode TIME"
-msgstr ""
-
-#: ch/expr.c:1888
-msgid "LENGTH argument must be string, buffer, event mode, text location or mode"
-msgstr ""
-
-#: ch/expr.c:1917
-msgid "UPPER argument must have a mode, or be a mode"
-msgstr ""
-
-#: ch/expr.c:1919
-msgid "LOWER argument must have a mode, or be a mode"
-msgstr ""
-
-#: ch/expr.c:1953
-msgid "UPPER argument must be string, array, mode or integer"
-msgstr ""
-
-#: ch/expr.c:1955
-msgid "LOWER argument must be string, array, mode or integer"
-msgstr ""
-
-#: ch/expr.c:1991
-#, c-format
-msgid "%s argument must be POWERSET mode"
-msgstr ""
-
-#: ch/expr.c:2017
-#, c-format
-msgid "%s called for empty POWERSET"
-msgstr ""
-
-#: ch/expr.c:2098
-msgid "argument to NUM is not discrete"
-msgstr ""
-
-#: ch/expr.c:2110
-msgid "no integer mode which matches expression's mode"
-msgstr ""
-
-#: ch/expr.c:2119
-msgid "NUM's parameter is below its mode range"
-msgstr ""
-
-#: ch/expr.c:2122
-msgid "NUM's parameter is above its mode range"
-msgstr ""
-
-#: ch/expr.c:2161
-msgid "cannot take SUCC or PRED of a numbered SET"
-msgstr ""
-
-#: ch/expr.c:2169
-msgid "SUCC or PRED must not be done on a PTR"
-msgstr ""
-
-#: ch/expr.c:2172
-msgid "SUCC or PRED for a reference type is not standard"
-msgstr ""
-
-#: ch/expr.c:2182
-msgid "SUCC or PRED argument must be a discrete mode"
-msgstr ""
-
-#: ch/expr.c:2203
-#, c-format
-msgid "taking the %s of a value already at its %s value"
-msgstr ""
-
-#: ch/expr.c:2254
-msgid "size applied to a function mode"
-msgstr ""
-
-#: ch/expr.c:2260
-msgid "sizeof applied to a void mode"
-msgstr ""
-
-#: ch/expr.c:2265
-msgid "sizeof applied to an incomplete mode"
-msgstr ""
-
-#: ch/expr.c:2360
-msgid "cannot call a PROCESS, you START a PROCESS"
-msgstr ""
-
-#: ch/expr.c:2422
-#, fuzzy, c-format
-msgid "invalid %s"
+msgid "invalid mask"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: ch/expr.c:2437
-#, c-format
-msgid "%s parameter %d must be a location"
-msgstr ""
-
-#: ch/expr.c:2445
-#, c-format
-msgid "%s parameter %d is READ-only"
-msgstr ""
-
-#: ch/expr.c:2488
-#, c-format
-msgid "LOC actual parameter %d is a non-referable location"
-msgstr ""
-
-#: ch/expr.c:2494
-#, c-format
-msgid "mode mismatch in parameter %d"
-msgstr ""
-
-#: ch/expr.c:2518
-#, c-format
-msgid "too many arguments to procedure `%s'"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç ñïõôßíá `%s'"
-
-#: ch/expr.c:2521
-msgid "too many arguments to procedure"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç ñïõôßíá"
-
-#: ch/expr.c:2527
-#, fuzzy, c-format
-msgid "too few arguments to procedure `%s'"
-msgstr "Ðñïåéäïðïßçóç: Ðïëý ëßãá ïñßóìáôá óôï åóùäïìçìÝíï `%s'"
-
-#: ch/expr.c:2530
-#, fuzzy
-msgid "too few arguments to procedure"
-msgstr "ðïëý ëßãá ïñßóìáôá"
-
-#: ch/expr.c:2596
-#, fuzzy
-msgid "syntax error (integer used as function)"
-msgstr "óõíôáêôéêü óöÜëìá óôïí êáèïñéóìü óåéñÜò"
-
-#: ch/expr.c:2616
-#, fuzzy
-msgid "syntax error - missing operator, comma, or '('?"
-msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìü ôïõ ðßíáêá ñåðåñôïñßïõ: %s"
-
-#: ch/expr.c:2977
-#, c-format
-msgid "unimplemented built-in function `%s'"
-msgstr ""
-
-#: ch/expr.c:2981
-#, fuzzy, c-format
-msgid "internal error - bad built-in function `%s'"
-msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-
-#: ch/expr.c:2995
-msgid "empty expression in string index"
-msgstr ""
-
-#: ch/expr.c:3000
-msgid "only one expression allowed in string index"
-msgstr ""
-
-#: ch/expr.c:3017
-msgid "invalid: primval ( untyped_exprlist )"
-msgstr ""
-
-#: ch/expr.c:3081 ch/expr.c:3095
-msgid "operand is variable-size bitstring/power-set"
-msgstr ""
-
-#: ch/expr.c:3245
-#, c-format
-msgid "tree code `%s' unhandled in build_compare_set_expr"
-msgstr ""
-
-#: ch/expr.c:3410
-msgid "incompatible modes in concat expression"
-msgstr ""
-
-#: ch/expr.c:3459
+#: config/xtensa/xtensa.c:2038
#, fuzzy
-msgid "invalid operation on array of chars"
-msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ðáñáâïëÞò"
-
-#: ch/expr.c:3504
-msgid "comparison of variant structures is unsafe"
-msgstr ""
-
-#: ch/expr.c:3511
-msgid "compare with variant records"
-msgstr ""
-
-#: ch/expr.c:3688 ch/expr.c:3924
-#, fuzzy, c-format
-msgid "incompatible operands to %s"
-msgstr "RPC: Ìç óõìâáôÝò åêäüóåéò ôïõ RPC"
-
-#: ch/expr.c:3740
-msgid "relational operator not allowed for this mode"
-msgstr ""
-
-#: ch/expr.c:3794
-#, c-format
-msgid "cannot use %s operator on PROC mode variable"
-msgstr ""
-
-#: ch/expr.c:3800
-#, fuzzy, c-format
-msgid "invalid left operand of %s"
-msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
-
-#: ch/expr.c:3805 ch/expr.c:4357
-#, fuzzy, c-format
-msgid "invalid right operand of %s"
-msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
-
-#: ch/expr.c:3819
-msgid "repetition expression must be constant"
-msgstr ""
-
-#: ch/expr.c:3829
-msgid "left argument to MOD/REM operator must be integral"
-msgstr ""
-
-#: ch/expr.c:3834
-msgid "right argument to MOD/REM operator must be integral"
-msgstr ""
-
-#: ch/expr.c:3891
-msgid "right operand of IN is not a powerset"
-msgstr ""
-
-#: ch/expr.c:3896
-msgid "left operand of IN incompatible with right operand"
-msgstr ""
-
-#: ch/expr.c:3987
-msgid "-> operator not allow in constant expression"
-msgstr ""
-
-#: ch/expr.c:4000
-msgid "taking the address of a string literal is non-standard"
-msgstr ""
-
-#: ch/expr.c:4002
-msgid "taking the address of a function is non-standard"
-msgstr ""
-
-#: ch/expr.c:4005
-#, fuzzy
-msgid "ADDR requires a LOCATION argument"
-msgstr "ç åðéëïãÞ `-k' áðáéôåß Ýíá üñéóìá"
-
-#: ch/expr.c:4035
-#, fuzzy
-msgid "-> expression is not addressable"
-msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç: %s"
-
-#: ch/expr.c:4062
-msgid "ADDR parameter must be a LOCATION"
-msgstr ""
-
-#: ch/expr.c:4071
-msgid "possible internal error in build_chill_arrow_expr"
-msgstr ""
-
-#: ch/expr.c:4076
-#, fuzzy, c-format
-msgid "%s is not addressable"
-msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-
-#: ch/expr.c:4175
-msgid "repetition count is not an integer constant"
-msgstr ""
-
-#: ch/expr.c:4183
-msgid "repetition count < 0"
-msgstr ""
-
-#: ch/expr.c:4188
-msgid "repetition value not constant"
-msgstr ""
-
-#: ch/expr.c:4200
-msgid "bitstring repetition of non-constant boolean"
-msgstr ""
-
-#: ch/expr.c:4223
-msgid "string repetition operand is non-constant bitstring"
-msgstr ""
-
-#: ch/expr.c:4283
-msgid "non-char, non-bit string repetition"
-msgstr ""
-
-#: ch/expr.c:4311
-#, fuzzy, c-format
-msgid "invalid operand of %s"
-msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-
-#: ch/expr.c:4322
-#, c-format
-msgid "right operand of %s is not array of boolean"
-msgstr ""
-
-#: ch/expr.c:4335
-#, c-format
-msgid "%s operator applied to boolean variable"
-msgstr ""
-
-#: ch/expr.c:4406
-msgid "non-boolean mode in conditional expression"
-msgstr ""
-
-#: ch/grant.c:1978
-msgid "decode_constant: invalid component_ref"
-msgstr ""
-
-#: ch/grant.c:1986
-msgid "decode_constant: mode and value mismatch"
-msgstr ""
-
-#: ch/grant.c:1989
-msgid "decode_constant: cannot decode this mode"
-msgstr ""
-
-#: ch/grant.c:2214
-msgid "decode_constant_selective: mode and value mismatch"
-msgstr ""
-
-#: ch/grant.c:2217
-msgid "decode_constant_selective: cannot decode this mode"
-msgstr ""
-
-#: ch/grant.c:2677
-#, fuzzy, c-format
-msgid "can't write to %s"
-msgstr "áäõíáìßá åããñáöÞò áðïôåëÝóìáôïò: %s"
-
-#: ch/grant.c:2764
-#, fuzzy
-msgid "FORBID is not yet implemented"
-msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
-
-#. this nerver should happen
-#: ch/grant.c:2825
-#, c-format
-msgid "function \"really_grant_this\" called for `%s'"
-msgstr ""
-
-#: ch/inout.c:1645
-msgid "non-integral text length"
-msgstr ""
-
-#: ch/inout.c:1650
-msgid "non-constant text length"
-msgstr ""
-
-#: ch/inout.c:1655
-#, fuzzy
-msgid "text length must be greater than 0"
-msgstr "%s: ï áñéèìüò ãñáììÞò ðñÝðåé íá åßíáé ìåãáëýôåñïò áðü ôï ìçäÝí"
-
-#: ch/inout.c:1755
-#, c-format
-msgid "argument %d of %s must be of mode ASSOCIATION"
-msgstr ""
-
-#: ch/inout.c:1760 ch/inout.c:2146 ch/inout.c:2516 ch/inout.c:2751
-#, fuzzy, c-format
-msgid "argument %d of %s must be a location"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:1795
-#, fuzzy
-msgid "argument 2 of ASSOCIATE must not be an empty string"
-msgstr "%s: ç ôéìÞ ãéá ôï ðåäßï `%s' äåí ðñÝðåé íá åßíáé Ýíá êåíü áëöáñéèìçôéêü"
-
-#: ch/inout.c:1811
-#, fuzzy
-msgid "argument 2 to ASSOCIATE must be a string"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:1850
-#, fuzzy
-msgid "argument 3 to ASSOCIATE must be a string"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:2031
-#, fuzzy
-msgid "too many arguments in call to MODIFY"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: ch/inout.c:2044
-#, fuzzy
-msgid "argument 2 of MODIFY must not be an empty string"
-msgstr "%s: ç ôéìÞ ãéá ôï ðåäßï `%s' äåí ðñÝðåé íá åßíáé Ýíá êåíü áëöáñéèìçôéêü"
-
-#: ch/inout.c:2060
-#, fuzzy
-msgid "argument 2 to MODIFY must be a string"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:2094
-#, fuzzy
-msgid "argument 3 to MODIFY must be a string"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:2141
-#, c-format
-msgid "argument %d of %s must be an ACCESS or TEXT mode"
-msgstr ""
-
-#: ch/inout.c:2355
-msgid "argument 4 of CONNECT must be of mode WHERE"
-msgstr ""
-
-#: ch/inout.c:2371
-msgid "index expression for ACCESS without index"
-msgstr ""
-
-#: ch/inout.c:2376 ch/inout.c:2554 ch/inout.c:2636 ch/inout.c:4356
-#: ch/inout.c:4504
-#, fuzzy
-msgid "incompatible index mode"
-msgstr "ìç Ýãêõñï äéêáßùìá"
-
-#: ch/inout.c:2476
-msgid "argument 3 to CONNECT must be of mode USAGE"
-msgstr ""
-
-#: ch/inout.c:2511
-#, fuzzy, c-format
-msgid "argument %d of %s must be of mode ACCESS"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:2545
-#, fuzzy
-msgid "too few arguments in call to `readrecord'"
-msgstr "ðïëý ëßãá bytes óôçí êùäéêïðïßçóç ÷áñáêôÞñá"
-
-#: ch/inout.c:2569 ch/inout.c:2648
-#, fuzzy
-msgid "incompatible record mode"
-msgstr "ìçäåíéóìÝíç åããñáöÞ êáé ãñÜøéìï ðÜíù óå áõôÞ (truncated)"
-
-#: ch/inout.c:2574
-msgid "store location must not be READonly"
-msgstr ""
-
-#: ch/inout.c:2616
-#, fuzzy
-msgid "too few arguments in call to `writerecord'"
-msgstr "ðïëý ëßãá bytes óôçí êùäéêïðïßçóç ÷áñáêôÞñá"
-
-#: ch/inout.c:2643
-msgid "transfer to ACCESS without record mode"
-msgstr ""
-
-#: ch/inout.c:2746
-#, fuzzy, c-format
-msgid "argument %d of %s must be of mode TEXT"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:2803
-msgid "TEXT doesn't have a location"
-msgstr ""
-
-#: ch/inout.c:2905
-msgid "incompatible index mode for SETETEXTACCESS"
-msgstr ""
-
-#: ch/inout.c:2915
-msgid "incompatible record mode for SETTEXTACCESS"
-msgstr ""
-
-#: ch/inout.c:2945
-msgid "parameter 2 must be a location"
-msgstr ""
-
-#: ch/inout.c:2955
-msgid "incompatible modes in parameter 2"
-msgstr ""
-
-#: ch/inout.c:3062
-msgid "conditional expression not allowed in this context"
-msgstr ""
-
-#: ch/inout.c:3064
-#, c-format
-msgid "untyped expression as argument %d"
-msgstr ""
-
-#: ch/inout.c:3141 ch/inout.c:3187
-#, c-format
-msgid "cannot process %d bits integer for READTEXT argument %d"
-msgstr ""
-
-#: ch/inout.c:3262
-#, c-format
-msgid "cannot process %d bits integer WRITETEXT argument %d"
-msgstr ""
-
-#: ch/inout.c:3283 ch/inout.c:3338 ch/inout.c:3417 ch/inout.c:3483
-#: ch/inout.c:3534 ch/inout.c:3619 ch/inout.c:3654
-#, c-format
-msgid "argument %d is READonly"
-msgstr ""
-
-#: ch/inout.c:3290 ch/inout.c:3345 ch/inout.c:3424 ch/inout.c:3491
-#: ch/inout.c:3542 ch/inout.c:3627 ch/inout.c:3659
-#, fuzzy, c-format
-msgid "argument %d must be referable"
-msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
-
-#: ch/inout.c:3578
-#, c-format
-msgid "cannot process argument %d of WRITETEXT, unknown size"
-msgstr ""
-
-#. datatype is not yet implemented, issue a warning
-#: ch/inout.c:3725
-#, c-format
-msgid "cannot process mode of argument %d for %sTEXT"
-msgstr ""
-
-#: ch/inout.c:3868
-#, fuzzy
-msgid "too few arguments for this format string"
-msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-
-#: ch/inout.c:3893 ch/inout.c:3902
-#, c-format
-msgid "type of argument %d invalid for conversion code at offset %d"
-msgstr ""
-
-#: ch/inout.c:4012
-msgid "unmatched open paren"
-msgstr ""
-
-#: ch/inout.c:4026 ch/inout.c:4221
-#, c-format
-msgid "bad format specification character (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4039
-#, c-format
-msgid "repetition factor overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4057 ch/inout.c:4064 ch/inout.c:4071
-#, c-format
-msgid "duplicate qualifier (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4093
-#, c-format
-msgid "clause width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4106
-#, c-format
-msgid "no fraction (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4124
-#, c-format
-msgid "no fraction width (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4131
-#, c-format
-msgid "fraction width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4142
-#, c-format
-msgid "no exponent (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4160
-#, c-format
-msgid "no exponent width (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4167
-#, c-format
-msgid "exponent width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4208
-#, fuzzy
-msgid "internal error in check_format_string"
-msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-
-# src/recode.c:171
-#: ch/inout.c:4224
-#, fuzzy, c-format
-msgid "no padding character (offset %d)"
-msgstr "ÊáíÝíáò ÷áñáêôÞñáò äåí ìåôáôñÝðåôáé óå %3d"
-
-#. too may arguments for format string
-#: ch/inout.c:4256
-#, fuzzy
-msgid "too many arguments for this format string"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá óå áõôü ôï áëöáñéèìçôéêü ìïñöÞò"
-
-#: ch/inout.c:4354 ch/inout.c:4502
-#, fuzzy
-msgid "missing index expression"
-msgstr "ðáñÜëçøç ïñßóìáôïò áñ÷åßïõ"
-
-#: ch/inout.c:4361
-msgid "too few arguments in call to `writetext'"
-msgstr ""
-
-#: ch/inout.c:4374
-msgid "argument 1 for WRITETEXT must be a TEXT or CHARS(n) VARYING location"
-msgstr ""
-
-#: ch/inout.c:4397
-msgid "`format string' for WRITETEXT must be a CHARACTER string"
-msgstr ""
-
-#: ch/inout.c:4509
-#, fuzzy
-msgid "too few arguments in call to `readtext'"
-msgstr "ðïëý ëßãá ïñßóìáôá"
-
-#: ch/inout.c:4522
-msgid "argument 1 for READTEXT must be a TEXT location or CHARS(n) [ VARYING ] expression"
-msgstr ""
-
-#: ch/inout.c:4543
-msgid "`format string' for READTEXT must be a CHARACTER string"
-msgstr ""
-
-#: ch/lang.c:105
-#, fuzzy
-msgid "non-constant expression"
-msgstr "Áäõíáìßá ðñïóðÝëáóçò ôïõ áñ÷åßïõ ôçò áëëáãÞò"
-
-#: ch/lang.c:191
-msgid "ignoring case upon input and"
-msgstr ""
-
-#: ch/lang.c:192
-msgid "making special words uppercase wouldn't work"
-msgstr ""
-
-#: ch/lang.c:203
-msgid "making special words uppercase and"
-msgstr ""
-
-#: ch/lang.c:204
-msgid " ignoring case upon input wouldn't work"
-msgstr ""
-
-#: ch/lang.c:277 java/typeck.c:178
-#, fuzzy
-msgid "internal error - use of undefined type"
-msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-
-#: ch/lex.c:502
-#, fuzzy
-msgid "invalid C'xx' "
-msgstr "ìç Ýãêõñç ìåôáôüðéóç UTC"
-
-#: ch/lex.c:607 java/jcf-parse.c:611 java/jcf-write.c:3376
-#, fuzzy, c-format
-msgid "can't close %s"
-msgstr "äåí åßíáé äõíáôü íá áëëá÷ôïýí ôá äéêáéþìáôá ôïõ `%s'"
-
-#: ch/lex.c:711
-msgid "malformed exponent part of floating-point literal"
-msgstr ""
-
-#: ch/lex.c:728
-msgid "real number exceeds range of REAL"
-msgstr ""
-
-#: ch/lex.c:747 ch/lex.c:774
-msgid "end-of-file in '<>' directive"
-msgstr ""
-
-#: ch/lex.c:780
-#, fuzzy
-msgid "unrecognized compiler directive"
-msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%c'"
-
-#: ch/lex.c:788 ch/lex.c:834
-#, fuzzy, c-format
-msgid "unrecognized compiler directive `%s'"
-msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%c'"
-
-#: ch/lex.c:995
-#, fuzzy
-msgid "unterminated control sequence"
-msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-
-#: ch/lex.c:1010 ch/lex.c:1046
-msgid "invalid integer literal in control sequence"
-msgstr ""
-
-#: ch/lex.c:1021 ch/lex.c:1029
-msgid "control sequence overflow"
-msgstr ""
-
-#: ch/lex.c:1023 ch/lex.c:1031
-#, fuzzy
-msgid "invalid control sequence"
-msgstr "ìç Ýãêõñï üíïìá ìÞíá"
-
-#: ch/lex.c:1111
-msgid "invalid base in read control sequence"
-msgstr ""
-
-#: ch/lex.c:1118
-msgid "invalid digit in control sequence"
-msgstr ""
-
-#: ch/lex.c:1145
-#, fuzzy
-msgid "unterminated string literal"
-msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-
-#: ch/lex.c:1248 ch/lex.c:1334
-#, fuzzy, c-format
-msgid "invalid number format `%s'"
-msgstr "ìç Ýãêõñïò áñéèìüò áðü óôÞëåò: `%s'"
-
-#: ch/lex.c:1266
-msgid "integer literal too big"
-msgstr ""
-
-#: ch/lex.c:1395
-#, fuzzy, c-format
-msgid "can't find %s"
-msgstr "Äåí åßíáé äõíáôüí íá åêôåëåóôåß ôï %s"
-
-#: ch/lex.c:1421
-msgid "USE_SEIZE_FILE directive must be followed by string"
-msgstr ""
-
-#: ch/lex.c:1693 f/lex.c:1190
-#, fuzzy
-msgid "invalid #ident"
-msgstr "ìç Ýãêõñï äéêáßùìá"
-
-#: ch/lex.c:1711 f/lex.c:1207
-#, fuzzy
-msgid "undefined or invalid # directive"
-msgstr "%%%c: êáôåõèõíôÞñéïò ãñáììÞ ìç Ýãêõñç."
-
-#: ch/lex.c:1765 ch/lex.c:1774 f/lex.c:1263
-#, fuzzy
-msgid "invalid #line"
-msgstr "ìç Ýãêõñïò áñéèìüò"
-
-#: ch/lex.c:1843 f/lex.c:836
-msgid "#-lines for entering and leaving files don't match"
-msgstr ""
-
-#: ch/lex.c:1868 f/lex.c:1373
-#, fuzzy
-msgid "invalid #-line"
-msgstr "ìç Ýãêõñïò áñéèìüò"
-
-#: ch/lex.c:1998
-msgid "missing `=' in compiler directive"
-msgstr ""
-
-#: ch/lex.c:2040 ch/lex.c:2050 ch/lex.c:2091
-msgid "invalid value follows `=' in compiler directive"
-msgstr ""
-
-#: ch/lex.c:2061
-#, fuzzy, c-format
-msgid "invalid `%c' character in name"
-msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ïíüìáôïò êëÜóçò"
-
-#: ch/lex.c:2074
-#, c-format
-msgid "`%s' not integer constant synonym "
-msgstr ""
-
-#: ch/lex.c:2097
-msgid "value out of range in compiler directive"
-msgstr ""
-
-#: ch/lex.c:2214 java/jcf-parse.c:607
-#, fuzzy, c-format
-msgid "can't reopen %s"
-msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
-
-#: ch/lex.c:2225
-msgid "no modules seen"
-msgstr ""
-
-#: ch/loop.c:480
-msgid "modeless tuple not allowed in this context"
-msgstr ""
-
-#: ch/loop.c:482
-msgid "IN expression does not have a mode"
-msgstr ""
-
-#: ch/loop.c:489
-msgid "location enumeration for BOOLS"
-msgstr ""
-
-#: ch/loop.c:517
-msgid "location enumeration for bit-packed arrays"
-msgstr ""
-
-#: ch/loop.c:526 ch/nloop.c:481
-msgid "loop's IN expression is not a composite object"
-msgstr ""
-
-#: ch/loop.c:541 ch/nloop.c:498
-msgid "start expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:547 ch/nloop.c:504
-msgid "DO FOR start expression is a numbered SET"
-msgstr ""
-
-#: ch/loop.c:555 ch/nloop.c:510
-msgid "TO expression is a numbered SET"
-msgstr ""
-
-#: ch/loop.c:560 ch/nloop.c:525
-msgid "TO expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:565 ch/nloop.c:531
-msgid "start expr and TO expr must be compatible"
-msgstr ""
-
-#: ch/loop.c:574 ch/nloop.c:546
-msgid "BY expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:579 ch/nloop.c:552
-msgid "start expr and BY expr must be compatible"
-msgstr ""
-
-#: ch/loop.c:595 ch/nloop.c:765
-#, fuzzy
-msgid "loop identifier undeclared"
-msgstr "áíáìåíüôáí óôáèåñÜ Þ ðñïóäéïñéóôÞò"
-
-#: ch/loop.c:606
-msgid "loop variable incompatible with start expression"
-msgstr ""
-
-#: ch/loop.c:633 ch/nloop.c:564
-msgid "body of DO FOR will never execute"
-msgstr ""
-
-#: ch/loop.c:648 ch/nloop.c:585
-#, fuzzy
-msgid "BY expression is negative or zero"
-msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç: %s"
-
-#: ch/loop.c:847 ch/nloop.c:817
-msgid "can't iterate through array of BOOL"
-msgstr ""
-
-#: ch/nloop.c:867
-msgid "Can't iterate through array of BOOL"
-msgstr ""
-
-#: ch/parse.c:159
-#, c-format
-msgid "there was no start label to match the end label '%s'"
-msgstr ""
-
-#: ch/parse.c:162
-#, fuzzy, c-format
-msgid "start label '%s' does not match end label '%s'"
-msgstr "ôï áñ÷åßï äåäïìÝíùí ðñïößë `%s' äåí ôáéñéÜæåé ìå ôï äéáìïéñáæüìåíï áíôéêåßìåíï `%s'"
-
-#: ch/parse.c:192
-#, fuzzy, c-format
-msgid "`%s' not declared"
-msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-
-#: ch/parse.c:226
-msgid "no RETURN or RESULT in procedure"
-msgstr ""
-
-#: ch/parse.c:245
-msgid "PREFIXED clause with no prelix in unlabeled module"
-msgstr ""
-
-#: ch/parse.c:336
-#, c-format
-msgid "internal parser error - expected token %d"
-msgstr ""
-
-#: ch/parse.c:529
-#, c-format
-msgid "'%s!' is not followed by an identifier"
-msgstr ""
-
-#: ch/parse.c:545
-#, fuzzy
-msgid "expected a name here"
-msgstr "%s: áíáìåíüôáí áñéèìçôéêÞ ôéìÞ."
-
-#: ch/parse.c:560
-#, fuzzy
-msgid "expected a name string here"
-msgstr "%s: áíáìåíüôáí áñéèìçôéêÞ ôéìÞ."
-
-#: ch/parse.c:591
-#, c-format
-msgid "`%s' undeclared"
-msgstr ""
-
-#: ch/parse.c:669
-msgid "action not allowed in SPEC MODULE"
-msgstr ""
-
-#: ch/parse.c:691
-#, fuzzy
-msgid "missing defining occurrence"
-msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
-
-#: ch/parse.c:702
-msgid "bad defining occurrence following ','"
-msgstr ""
-
-#: ch/parse.c:802
-#, fuzzy
-msgid "missing '(' in exception list"
-msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
-
-#: ch/parse.c:827
-msgid "ON exception names must be unique"
-msgstr ""
-
-#: ch/parse.c:837
-#, fuzzy
-msgid "syntax error in exception list"
-msgstr "óõíôáêôéêü óöÜëìá óôï ïñéóìü ôïõ %s: %s"
-
-#: ch/parse.c:873
-#, fuzzy
-msgid "empty ON-condition"
-msgstr "Åðåßãïõóá êáôÜóôáóç åéóüäïõ/åîüäïõ"
-
-#: ch/parse.c:938
-msgid "INIT not allowed at loc-identity declaration"
-msgstr ""
-
-#: ch/parse.c:948
-msgid "'=' used where ':=' is required"
-msgstr ""
-
-#: ch/parse.c:956
-msgid "initialization is not allowed in spec module"
-msgstr ""
-
-#: ch/parse.c:964
-msgid "loc-identity declaration without initialization"
-msgstr ""
-
-#: ch/parse.c:1008
-msgid "bad syntax following FORBID"
-msgstr ""
-
-#: ch/parse.c:1023
-msgid "expected a postfix name here"
-msgstr ""
-
-#: ch/parse.c:1068
-#, fuzzy
-msgid "expected another rename clause"
-msgstr "%s: áíáìåíüôáí áñéèìçôéêÞ ôéìÞ."
-
-#: ch/parse.c:1128
-#, fuzzy
-msgid "syntax error in parameter name list"
-msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìü êëÜóçò ÷áñáêôÞñùí"
-
-#: ch/parse.c:1221
-msgid "NONREF specific without LOC in result attribute"
-msgstr ""
-
-#: ch/parse.c:1223
-msgid "DYNAMIC specific without LOC in result attribute"
-msgstr ""
-
-#: ch/parse.c:1245
-msgid "exception names must be unique"
-msgstr ""
-
-#: ch/parse.c:1441
-msgid "must specify a PROCESS name"
-msgstr ""
-
-#: ch/parse.c:1448
-msgid "SIGNAL must be in global reach"
-msgstr ""
-
-#: ch/parse.c:1479
-#, fuzzy
-msgid "syntax error while parsing signal definition statement"
-msgstr "óõíôáêôéêü óöÜëìá óôï ïñéóìü ôïõ %s: %s"
-
-#: ch/parse.c:1593
-msgid "case range list"
-msgstr ""
-
-#: ch/parse.c:1660
-msgid "misplaced colon in case label"
-msgstr ""
-
-#: ch/parse.c:1707
-msgid "unrecognized case label list after ','"
-msgstr ""
-
-#: ch/parse.c:1971 ch/parse.c:1997
-msgid "bad ASM operand"
-msgstr ""
-
-#: ch/parse.c:2067
-msgid "readonly location modified by 'asm'"
-msgstr ""
-
-#: ch/parse.c:2198
-msgid "expected 'TO' in step enumeration"
-msgstr ""
-
-#: ch/parse.c:2213
-msgid "expected 'IN' in FOR control here"
-msgstr ""
-
-#: ch/parse.c:2314
-msgid "missing DELAY CASE alternative"
-msgstr ""
-
-#. This is probably not possible
-#: ch/parse.c:2348
-msgid "non-referable location in DO WITH"
-msgstr ""
-
-#: ch/parse.c:2360
-msgid "WITH element must be of STRUCT mode"
-msgstr ""
-
-#: ch/parse.c:2467
-msgid "missing ')' in signal/buffer receive alternative"
-msgstr ""
-
-#: ch/parse.c:2481
-msgid "misplaced 'IN' in signal/buffer receive alternative"
-msgstr ""
-
-#: ch/parse.c:2529
-msgid "missing RECEIVE alternative"
-msgstr ""
-
-#: ch/parse.c:2655
-msgid "PROCESS copy number must be integer"
-msgstr ""
-
-#: ch/parse.c:2882
-msgid "missing parenthesis for procedure call"
-msgstr ""
-
-#: ch/parse.c:2884
-#, fuzzy
-msgid "expression is not an action"
-msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç: %s"
-
-#: ch/parse.c:2918
-#, fuzzy
-msgid "syntax error in action"
-msgstr "óõíôáêôéêü óöÜëìá óôïí êáèïñéóìü óåéñÜò"
-
-#: ch/parse.c:2945
-msgid "no handler is permitted on this action"
-msgstr ""
-
-#: ch/parse.c:2966
-msgid "definition follows action"
-msgstr ""
-
-#: ch/parse.c:3042
-#, fuzzy
-msgid "bad tuple field name list"
-msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
-
-#: ch/parse.c:3088
-#, fuzzy
-msgid "invalid syntax for label in tuple"
-msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
-
-#: ch/parse.c:3133
-msgid "bad syntax in tuple"
-msgstr ""
-
-#: ch/parse.c:3160
-msgid "non-mode name before tuple"
-msgstr ""
-
-#: ch/parse.c:3205
-msgid "invalid expression/location syntax"
-msgstr ""
-
-#: ch/parse.c:3262
-msgid "RECEIVE expression"
-msgstr ""
-
-#: ch/parse.c:3457
-msgid "there should not be a ';' here"
-msgstr ""
-
-#: ch/parse.c:3496
-msgid "missing ELSE/ELSIF in IF expression"
-msgstr ""
-
-#: ch/parse.c:3547
-msgid "conditional expression not allowed inside parentheses"
-msgstr ""
-
-#: ch/parse.c:3551
-msgid "mode-less tuple not allowed inside parentheses"
-msgstr ""
-
-#. Z.200 doesn't allow mixed numbered and unnumbered set elements,
-#. but we can do it. Print a warning
-#: ch/parse.c:3664
-msgid "mixed numbered and unnumbered set elements is not standard"
-msgstr ""
-
-#: ch/parse.c:3667
-msgid "SET mode must define at least one named value"
-msgstr ""
-
-#: ch/parse.c:3766
-msgid "POS not allowed for ARRAY"
-msgstr ""
-
-#: ch/parse.c:3776
-msgid "STEP not allowed in field definition"
-msgstr ""
-
-#: ch/parse.c:3792
-#, fuzzy
-msgid "missing field name"
-msgstr "ðáñÜëçøç ïñßóìáôïò áñ÷åßïõ"
-
-#: ch/parse.c:3801
-msgid "bad field name following ','"
-msgstr ""
-
-#: ch/parse.c:3861
-msgid "expected ':' in structure variant alternative"
-msgstr ""
-
-#: ch/parse.c:3912
-#, fuzzy
-msgid "missing field"
-msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôá ðåäßá"
-
-#: ch/parse.c:4060
-#, fuzzy
-msgid "VARYING bit-strings not implemented"
-msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
-
-#: ch/parse.c:4121
-msgid "strings must be composed of chars"
-msgstr ""
-
-#: ch/parse.c:4171
-msgid "BUFFER modes may not be readonly"
-msgstr ""
-
-#: ch/parse.c:4178
-msgid "EVENT modes may not be readonly"
-msgstr ""
+msgid "invalid address"
+msgstr "ÁêáôÜëëçëç ÷ñÞóç ôïõ äéáìïñöùôÞ äéåýèõíóçò"
-#: ch/parse.c:4198
+#: config/xtensa/xtensa.c:2063
#, fuzzy
-msgid "SIGNAL is not a valid mode"
-msgstr "ìç Ýãêõñï äéêáßùìá"
+msgid "no register in address"
+msgstr "ìç Ýãêõñïò ÷ñüíïò Ýíáñîçò"
-#: ch/parse.c:4235
+#: config/xtensa/xtensa.c:2071
#, fuzzy
-msgid "syntax error - missing mode"
-msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìïý locale ìçíýìáôïò"
-
-#: ch/parse.c:4282
-msgid "syntax error - expected a module or end of file"
-msgstr ""
-
-#: ch/satisfy.c:58
-#, c-format
-msgid " `%s', which depends on ..."
-msgstr ""
-
-#: ch/satisfy.c:90
-#, c-format
-msgid "cycle: `%s' depends on ..."
-msgstr ""
-
-#: ch/satisfy.c:92
-#, c-format
-msgid " `%s'"
-msgstr " `%s'"
-
-#: ch/satisfy.c:151
-msgid "SYN of this mode not allowed"
-msgstr ""
-
-#: ch/satisfy.c:156
-msgid "mode of SYN incompatible with value"
-msgstr ""
-
-#: ch/satisfy.c:167
-msgid "SYN value outside range of its mode"
-msgstr ""
-
-#: ch/satisfy.c:176
-msgid "INIT string too large for mode"
-msgstr ""
-
-#: ch/satisfy.c:195
-#, fuzzy, c-format
-msgid "value of %s is not a valid constant"
+msgid "address offset not a constant"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: ch/satisfy.c:226
-msgid "mode with non-value property in signal definition"
-msgstr ""
-
-#: ch/satisfy.c:403
-#, fuzzy, c-format
-msgid "undeclared identifier `%s'"
-msgstr "ìç Ýãêõñïò äçëùôÞò ðåäßïõ: `%s'"
-
-#: ch/satisfy.c:456
-msgid "RETURNS spec with invalid mode"
-msgstr ""
-
-#: ch/satisfy.c:520
-msgid "operand to REF is not a mode"
-msgstr ""
-
-#: ch/satisfy.c:554
-msgid "field with non-value mode in variant structure not allowed"
-msgstr ""
-
-#: ch/satisfy.c:593
-msgid "buffer element mode must not have non-value property"
-msgstr ""
-
-#: ch/satisfy.c:602
-msgid "recordmode must not have the non-value property"
-msgstr ""
-
-#: ch/tasking.c:170 ch/tasking.c:218
-#, c-format
-msgid "tasking code %ld out of range for `%s'"
-msgstr ""
-
-#: ch/tasking.c:284
-#, c-format
-msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
-msgstr ""
-
-#: ch/tasking.c:325
-msgid "PROCESS may only be declared at module level"
-msgstr ""
-
-#: ch/tasking.c:549
-#, c-format
-msgid "process name %s never declared"
-msgstr ""
-
-#: ch/tasking.c:554
-msgid "you may only START a process, not a proc"
-msgstr ""
-
-#: ch/tasking.c:590
-msgid "SET expression not a location"
-msgstr ""
-
-#: ch/tasking.c:595
-msgid "SET location must be INSTANCE mode"
-msgstr ""
-
-#: ch/tasking.c:632
-#, fuzzy, c-format
-msgid "too many arguments to process `%s'"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: ch/tasking.c:635
-#, fuzzy
-msgid "too many arguments to process"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: ch/tasking.c:640
-#, fuzzy, c-format
-msgid "too few arguments to process `%s'"
-msgstr "ðïëý ëßãá ïñßóìáôá"
-
-#: ch/tasking.c:643
-#, fuzzy
-msgid "too few arguments to process"
-msgstr "ðïëý ëßãá ïñßóìáôá"
-
-#: ch/tasking.c:983
-msgid "COPY_NUMBER argument must be INSTANCE expression"
-msgstr ""
-
-#: ch/tasking.c:1007
-msgid "GEN_CODE argument must be a process or signal name"
-msgstr ""
-
-#: ch/tasking.c:1029
-#, fuzzy
-msgid "GEN_INST parameter 2 must be an integer mode"
-msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
-
-#: ch/tasking.c:1050
-msgid "GEN_INST parameter 1 must be a PROCESS or an integer expression"
-msgstr ""
-
-#: ch/tasking.c:1076
-#, fuzzy, c-format
-msgid "%s is not a declared process"
-msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-
-#: ch/tasking.c:1097
-msgid "PROC_TYPE argument must be INSTANCE expression"
-msgstr ""
-
-#: ch/tasking.c:1139
-msgid "QUEUE_LENGTH argument must be a BUFFER/EVENT location"
-msgstr ""
-
-#: ch/tasking.c:1289
-#, c-format
-msgid "SEND requires a SIGNAL; %s is not a SIGNAL name"
-msgstr ""
-
-#: ch/tasking.c:1314
-#, c-format
-msgid "too many values for SIGNAL `%s'"
-msgstr ""
-
-#: ch/tasking.c:1320
-#, c-format
-msgid "too few values for SIGNAL `%s'"
-msgstr ""
-
-#: ch/tasking.c:1398
-msgid "signal sent without priority"
-msgstr ""
-
-#: ch/tasking.c:1399 ch/tasking.c:2927
-#, fuzzy
-msgid " and no default priority was set."
-msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ç ðñïôåñáéüôçôá."
-
-#: ch/tasking.c:1400 ch/tasking.c:2777 ch/tasking.c:2928
-msgid " PRIORITY defaulted to 0"
-msgstr ""
-
-#: ch/tasking.c:1415
-msgid "SEND without a destination instance"
-msgstr ""
-
-#: ch/tasking.c:1416
-#, fuzzy
-msgid " and no destination process specified"
-msgstr "Áðáéôåßôáé äéåýèõíóç ðñïïñéóìïý"
-
-#: ch/tasking.c:1417
-msgid " for the signal"
-msgstr ""
-
-#. as our system doesn't allow that and Z.200 specifies it,
-#. we issue a warning
-#: ch/tasking.c:1436
-#, c-format
-msgid "SEND to ANY copy of process `%s'"
-msgstr ""
-
-#: ch/tasking.c:1441
-msgid "SEND TO must be an INSTANCE mode"
-msgstr ""
-
-#: ch/tasking.c:1455
-msgid "SEND WITH must have a mode"
-msgstr ""
-
-#: ch/tasking.c:1724
-msgid "internal error: RECEIVE CASE stack invalid"
-msgstr ""
-
-#: ch/tasking.c:1764 ch/tasking.c:2492
-msgid "SET requires INSTANCE location"
-msgstr ""
-
-#: ch/tasking.c:1843
-msgid "SIGNAL in RECEIVE CASE alternative follows"
-msgstr ""
-
-#: ch/tasking.c:1844
-#, c-format
-msgid " a BUFFER name on line %d"
-msgstr ""
-
-#: ch/tasking.c:1852
-#, c-format
-msgid "SIGNAL `%s' has no data fields"
-msgstr ""
-
-#: ch/tasking.c:1857
-#, c-format
-msgid "SIGNAL `%s' requires data fields"
-msgstr ""
-
-#: ch/tasking.c:1921
-#, c-format
-msgid "too few data fields provided for `%s'"
-msgstr ""
-
-#: ch/tasking.c:1924
-#, c-format
-msgid "too many data fields provided for `%s'"
-msgstr ""
-
-#: ch/tasking.c:1947
-msgid "BUFFER in RECEIVE CASE alternative follows"
-msgstr ""
-
-#: ch/tasking.c:1948
-#, c-format
-msgid " a SIGNAL name on line %d"
-msgstr ""
-
-#: ch/tasking.c:1956
-msgid "BUFFER in RECEIVE CASE alternative must be a location"
-msgstr ""
-
-#: ch/tasking.c:1962
-msgid "buffer receive alternative requires only 1 defining occurrence"
-msgstr ""
-
-#: ch/tasking.c:2043
-msgid "incompatible modes in receive buffer alternative"
-msgstr ""
-
-#: ch/tasking.c:2049
-msgid "defining occurrence in receive buffer alternative must be a location"
+#: config/xtensa/xtensa.c:2809
+msgid "only uninitialized variables can be placed in a .bss section"
msgstr ""
-#: ch/tasking.c:2086
-msgid "buffer receive alternative without `IN location'"
+#: config/xtensa/xtensa.h:114
+msgid "Use the Xtensa code density option"
msgstr ""
-#: ch/tasking.c:2092
-msgid "RECEIVE CASE alternative must specify a SIGNAL name or BUFFER location"
+#: config/xtensa/xtensa.h:116
+msgid "Do not use the Xtensa code density option"
msgstr ""
-#: ch/tasking.c:2331
-msgid "RECEIVE CASE without alternatives"
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
msgstr ""
-#: ch/tasking.c:2369
-msgid "CONTINUE requires an event location"
+#: config/xtensa/xtensa.h:120
+msgid "Do not use the Xtensa MAC16 option"
msgstr ""
-#: ch/tasking.c:2503 ch/tasking.c:2939
-msgid "PRIORITY must be of integer type"
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
msgstr ""
-#: ch/tasking.c:2581
-msgid "delay alternative must be an EVENT location"
+#: config/xtensa/xtensa.h:124
+msgid "Do not use the Xtensa MUL16 option"
msgstr ""
-#: ch/tasking.c:2636
-msgid "DELAY CASE without alternatives"
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
msgstr ""
-#: ch/tasking.c:2756
-msgid "DELAY action requires an event location"
+#: config/xtensa/xtensa.h:128
+msgid "Do not use the Xtensa MUL32 option"
msgstr ""
-#: ch/tasking.c:2767
-msgid "PRIORITY in DELAY action must be of integer type"
-msgstr ""
-
-#: ch/tasking.c:2776
-msgid "DELAY action without priority."
-msgstr ""
-
-#: ch/tasking.c:2867
-msgid "send buffer action requires a BUFFER location"
-msgstr ""
-
-#: ch/tasking.c:2884
-msgid "there must be only 1 value for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:2905
-msgid "convert failed for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:2911
-msgid "incompatible modes in send buffer action"
-msgstr ""
-
-#: ch/tasking.c:2926
-msgid "buffer sent without priority"
-msgstr ""
-
-#: ch/tasking.c:2945
-msgid "WITH not allowed for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:2950
-msgid "TO not allowed for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:3093
-#, c-format
-msgid "SEND requires a BUFFER; `%s' is not a BUFFER name"
-msgstr ""
-
-#: ch/tasking.c:3234
-msgid "non-integral max queue size for EVENT/BUFFER mode"
-msgstr ""
-
-#: ch/tasking.c:3239
-msgid "non-constant max queue size for EVENT/BUFFER mode"
-msgstr ""
-
-#: ch/tasking.c:3246
-msgid "max queue_size for EVENT/BUFFER is not positive"
-msgstr ""
-
-#: ch/timing.c:224
-msgid "absolute time value must be of mode TIME"
-msgstr ""
-
-#: ch/timing.c:281 ch/timing.c:364
-msgid "duration primitive value must be of mode DURATION"
-msgstr ""
-
-#: ch/tree.c:58
-msgid "string length > UPPER (UINT)"
-msgstr ""
-
-#: ch/tree.c:112
-msgid "can only build a powerset from a discrete mode"
-msgstr ""
-
-#: ch/tree.c:124
-msgid "non-constant bitstring size invalid"
-msgstr ""
-
-#: ch/tree.c:126
-msgid "non-constant powerset size invalid"
-msgstr ""
-
-#: ch/typeck.c:83
-msgid "array or string index is a mode (instead of a value)"
-msgstr ""
-
-#: ch/typeck.c:114
-msgid "index is not an integer expression"
-msgstr ""
-
-#: ch/typeck.c:122
-msgid "index not compatible with index mode"
-msgstr ""
-
-#. should never happen
-#: ch/typeck.c:132
-msgid "index is not discrete"
-msgstr ""
-
-#: ch/typeck.c:196
-msgid "possible internal error - slice argument is neither referable nor constant"
-msgstr ""
-
-#: ch/typeck.c:285
-msgid "bit array slice with non-constant length"
-msgstr ""
-
-#: ch/typeck.c:325
-msgid "bitstring slice with non-constant length"
-msgstr ""
-
-#: ch/typeck.c:338
-msgid "slice operation on non-array, non-bitstring value not supported"
-msgstr ""
-
-#: ch/typeck.c:390 ch/typeck.c:441
-msgid "can only take slice of array or string"
-msgstr ""
-
-#: ch/typeck.c:455
-msgid "slice length is not an integer"
-msgstr ""
-
-#: ch/typeck.c:488
-#, fuzzy
-msgid "slice length out-of-range"
-msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-
-#: ch/typeck.c:543
-#, fuzzy
-msgid "too many index expressions"
-msgstr "õðåñâïëéêÜ ðïëëÜ äåõôåñüëåðôá áíáðÞäçóçò"
-
-#: ch/typeck.c:595
-msgid "array index is not discrete"
-msgstr ""
-
-#: ch/typeck.c:675
-msgid "invalid compound index for bitstring mode"
-msgstr ""
-
-#: ch/typeck.c:1079
-msgid "conversions from variable_size value"
-msgstr ""
-
-#: ch/typeck.c:1084
-msgid "conversions to variable_size mode"
-msgstr ""
-
-#: ch/typeck.c:1098
-#, fuzzy
-msgid "cannot convert to float"
-msgstr "áäýíáôç ç ìåôáôñïðÞ ôïõ U+%04X óôï ôïðéêü óýíïëï ÷áñáêôÞñùí"
-
-#: ch/typeck.c:1103
-#, fuzzy
-msgid "cannot convert float to this mode"
-msgstr "yp_update: áäõíáìßá ìåôáôñïðÞò ïíüìáôïò óõóôÞìáôïò óå üíïìá äéêôýïõ\n"
-
-#: ch/typeck.c:1130
-msgid "OVERFLOW in expression conversion"
-msgstr ""
-
-#: ch/typeck.c:1159
-msgid "overflow (not inside function)"
-msgstr ""
-
-#: ch/typeck.c:1161
-msgid "possible overflow (not inside function)"
-msgstr ""
-
-#: ch/typeck.c:1166
-msgid "expression will always cause OVERFLOW"
-msgstr ""
-
-#: ch/typeck.c:1199
-msgid "not implemented: constant conversion from that kind of expression"
-msgstr ""
-
-#: ch/typeck.c:1205
-msgid "not implemented: constant conversion to that kind of mode"
-msgstr ""
-
-#: ch/typeck.c:1216
-msgid "non-standard, non-portable value conversion"
-msgstr ""
-
-#: ch/typeck.c:1222
-msgid "location conversion between differently-sized modes"
-msgstr ""
-
-#: ch/typeck.c:1224
-msgid "unsupported value conversion"
-msgstr ""
-
-#: ch/typeck.c:1272
-msgid "operand to bin must be a non-negative integer literal"
-msgstr ""
-
-#: ch/typeck.c:1288
-#, c-format
-msgid "size %d of BIN too big - no such integer mode"
-msgstr ""
-
-#: ch/typeck.c:1302
-msgid "BIN in pass 2"
-msgstr ""
-
-#: ch/typeck.c:1335
-msgid "mode of tuple is neither ARRAY, STRUCT, nor POWERSET"
-msgstr ""
-
-#: ch/typeck.c:2108
-#, fuzzy
-msgid "internal error in chill_root_resulting_mode"
-msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-
-#: ch/typeck.c:2367
-msgid "string lengths not equal"
-msgstr ""
-
-#: ch/typeck.c:2382
-msgid "can't do ARRAY assignment - too large"
-msgstr ""
-
-#: ch/typeck.c:2400
-msgid "rhs of array assignment is not addressable"
-msgstr ""
-
-#: ch/typeck.c:2577
-msgid "non-constant expression for BIN"
-msgstr ""
-
-#: ch/typeck.c:2582
-msgid "expression for BIN must not be negative"
-msgstr ""
-
-#: ch/typeck.c:2587
-#, fuzzy
-msgid "cannot process BIN (>32)"
-msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ï ôýðïò ôïõ åðåîåñãáóôÞ."
-
-#: ch/typeck.c:2603
-msgid "bounds of range are not compatible"
-msgstr ""
-
-#: ch/typeck.c:2612
-#, fuzzy
-msgid "negative string length"
-msgstr "åëÜ÷éóôï ìÝãåèïò áëöáñéèìçôéêïý"
-
-#: ch/typeck.c:2649
-msgid "range's lower bound and parent mode don't match"
-msgstr ""
-
-#: ch/typeck.c:2654
-msgid "range's upper bound and parent mode don't match"
-msgstr ""
-
-#: ch/typeck.c:2663
-msgid "making range from non-mode"
-msgstr ""
-
-#: ch/typeck.c:2669
-#, fuzzy
-msgid "floating point ranges"
-msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
-
-#: ch/typeck.c:2677
-msgid "range mode has non-constant limits"
-msgstr ""
-
-#: ch/typeck.c:2686
-msgid "range's high bound < mode's low bound"
-msgstr ""
-
-#: ch/typeck.c:2691
-msgid "range's high bound > mode's high bound"
-msgstr ""
-
-#: ch/typeck.c:2696
-msgid "range mode high bound < range mode low bound"
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
msgstr ""
-#: ch/typeck.c:2701
-msgid "range's low bound < mode's low bound"
+#: config/xtensa/xtensa.h:136
+msgid "Do not use the Xtensa NSA option"
msgstr ""
-#: ch/typeck.c:2706
-msgid "range's low bound > mode's high bound"
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
msgstr ""
-#: ch/typeck.c:2814
-msgid "stepsize in STEP must be an integer constant"
+#: config/xtensa/xtensa.h:140
+msgid "Do not use the Xtensa MIN/MAX option"
msgstr ""
-#: ch/typeck.c:2818
-msgid "stepsize in STEP must be > 0"
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
msgstr ""
-#: ch/typeck.c:2824
-msgid "stepsize in STEP must be the natural width of the array element mode"
+#: config/xtensa/xtensa.h:144
+msgid "Do not use the Xtensa SEXT option"
msgstr ""
-#: ch/typeck.c:2830 ch/typeck.c:3131
+#: config/xtensa/xtensa.h:146
#, fuzzy
-msgid "starting word in POS must be an integer constant"
-msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
-
-#: ch/typeck.c:2834 ch/typeck.c:3138
-msgid "starting word in POS must be >= 0"
-msgstr ""
-
-#: ch/typeck.c:2836
-msgid "starting word in POS within STEP must be 0"
-msgstr ""
-
-#: ch/typeck.c:2848 ch/typeck.c:3155
-msgid "starting bit in POS must be an integer constant"
-msgstr ""
+msgid "Use the Xtensa boolean register option"
+msgstr "ìç ôåñìáôéæüìåíï üíïìá âÜñïõò"
-#: ch/typeck.c:2854
-msgid "starting bit in POS within STEP must be 0"
+#: config/xtensa/xtensa.h:148
+msgid "Do not use the Xtensa boolean register option"
msgstr ""
-#: ch/typeck.c:2858 ch/typeck.c:3163
-msgid "starting bit in POS must be >= 0"
+#: config/xtensa/xtensa.h:150
+msgid "Use the Xtensa floating-point unit"
msgstr ""
-#: ch/typeck.c:2866 ch/typeck.c:3171
-msgid "starting bit in POS must be < the width of a word"
+#: config/xtensa/xtensa.h:152
+msgid "Do not use the Xtensa floating-point unit"
msgstr ""
-#: ch/typeck.c:2880 ch/typeck.c:3185
-#, fuzzy
-msgid "length in POS must be an integer constant"
-msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
-
-#: ch/typeck.c:2887 ch/typeck.c:3192
-msgid "length in POS must be > 0"
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
msgstr ""
-#: ch/typeck.c:2894 ch/typeck.c:3205
-#, fuzzy
-msgid "end bit in POS must be an integer constant"
-msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
-
-#: ch/typeck.c:2903 ch/typeck.c:3214
-msgid "end bit in POS must be >= the start bit"
+#: config/xtensa/xtensa.h:172
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
msgstr ""
-#: ch/typeck.c:2909 ch/typeck.c:3219
-msgid "end bit in POS must be < the width of a word"
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
msgstr ""
-#: ch/typeck.c:2921
-msgid "the length specified on POS within STEP must be the natural length of the array element type"
+#: config/xtensa/xtensa.h:176
+msgid "Do not serialize volatile memory references with MEMW instructions"
msgstr ""
-#: ch/typeck.c:2926
-msgid "step size in STEP must be >= the length in POS"
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
msgstr ""
-#: ch/typeck.c:2952
-msgid "array index must be a range, not a single integer"
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
msgstr ""
-#: ch/typeck.c:2958
-msgid "array index is not a discrete mode"
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
msgstr ""
-#: ch/typeck.c:3229
-msgid "the length specified on POS must be the natural length of the field type"
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
msgstr ""
-#: ch/typeck.c:3238
-msgid "STRUCT fields must be layed out in monotonically increasing order"
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
msgstr ""
-#: ch/typeck.c:3301
-msgid "if one field has a POS layout, then all fields must have a POS layout"
+#: config/xtensa/xtensa.h:188
+msgid "Use direct CALLn instructions for fast calls"
msgstr ""
-#: ch/typeck.c:3444
-msgid "parameterized structures not implemented"
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
msgstr ""
-#: ch/typeck.c:3449
-#, fuzzy
-msgid "invalid parameterized type"
-msgstr "%s: ìç Ýãêõñï åßäïò áñ÷åßïõ"
-
-#: cp/call.c:270 cp/init.c:1637
+#: 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:394
+#: cp/call.c:366
msgid "unable to call pointer to member function here"
msgstr ""
-#: cp/call.c:527
+#: cp/call.c:515
msgid "destructors take no parameters"
msgstr ""
-#: cp/call.c:534
+#: cp/call.c:519
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr ""
-#: cp/call.c:2343
+#: cp/call.c:535 cp/call.c:4857
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr ""
+
+# src/getopt.c:628
+# src/getopt.c:628
+#: cp/call.c:557
+#, fuzzy
+msgid "request for member `%D' is ambiguous"
+msgstr "%s: ç åðéëïãÞ `%s' åßíáé áóáöÞò\n"
+
+#: cp/call.c:2446
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2348
+#: cp/call.c:2451
msgid "%s %D(%T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2352
+#: cp/call.c:2455
msgid "%s %D(%T) <built-in>"
msgstr ""
-#: cp/call.c:2356
+#: cp/call.c:2459
msgid "%s %T <conversion>"
msgstr ""
-#: cp/call.c:2358
+#: cp/call.c:2461
msgid "%s %+#D%s"
msgstr ""
-#: cp/call.c:2515
-msgid "no viable candidates"
-msgstr ""
-
-#: cp/call.c:2529
+#: cp/call.c:2615
#, fuzzy
msgid "conversion from `%T' to `%T' is ambiguous"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: cp/call.c:2646
+#: 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
+#, fuzzy
+msgid "'%D' has no member named '%E'"
+msgstr "äåí åßóôå ìÝëïò ôçò ïìÜäáò `%s'"
+
+#: cp/call.c:2812
msgid "no matching function for call to `%D(%A)'"
msgstr ""
-#: cp/call.c:2657 cp/call.c:4642
+#: 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:2684
+#: 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:2753
+#: cp/call.c:2920
msgid "no match for call to `(%T) (%A)'"
msgstr ""
# src/getopt.c:813
# src/getopt.c:813
-#: cp/call.c:2763
+#: cp/call.c:2930
#, fuzzy
msgid "call of `(%T) (%A)' is ambiguous"
msgstr "%s: ç åðéëïãÞ `-W %s' åßíáé äéöïñïýìåíç\n"
-#: cp/call.c:2798
+#: cp/call.c:2965
msgid "%s for `%T ? %T : %T' operator"
msgstr ""
-#: cp/call.c:2803
+#: cp/call.c:2970
msgid "%s for `%T %s' operator"
msgstr ""
-#: cp/call.c:2806
+#: cp/call.c:2973
msgid "%s for `%T [%T]' operator"
msgstr ""
-#: cp/call.c:2811
+#: cp/call.c:2978
msgid "%s for `%T %s %T' operator"
msgstr ""
-#: cp/call.c:2814
+#: cp/call.c:2981
msgid "%s for `%s %T' operator"
msgstr ""
-#: cp/call.c:2906
+#: cp/call.c:3071
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
msgstr ""
-#: cp/call.c:2965
+#: cp/call.c:3130
#, c-format
msgid "`%E' has type `void' and is not a throw-expression"
msgstr ""
-#: cp/call.c:2998 cp/call.c:3198
+#: cp/call.c:3163 cp/call.c:3363
msgid "operands to ?: have different types"
msgstr ""
-#: cp/call.c:3151
+#: cp/call.c:3316
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr ""
-#: cp/call.c:3158
+#: cp/call.c:3323
msgid "enumeral and non-enumeral type in conditional expression"
msgstr ""
-#: cp/call.c:3239
+#: cp/call.c:3405
msgid "`%D' must be declared before use"
msgstr ""
-#: cp/call.c:3402
+#: cp/call.c:3604
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr ""
-#: cp/call.c:3449
+#: cp/call.c:3651
msgid "using synthesized `%#D' for copy assignment"
msgstr ""
-#: cp/call.c:3451
+#: cp/call.c:3653
msgid " where cfront would use `%#D'"
msgstr ""
-#: cp/call.c:3478
+#: cp/call.c:3680
msgid "comparison between `%#T' and `%#T'"
msgstr ""
-#: cp/call.c:3711
+#: cp/call.c:3919
msgid "no suitable `operator delete' for `%T'"
msgstr ""
-#: cp/call.c:3730
+#: cp/call.c:3938
msgid "`%+#D' is private"
msgstr ""
-#: cp/call.c:3732
+#: cp/call.c:3940
msgid "`%+#D' is protected"
msgstr ""
-#: cp/call.c:3734
+#: cp/call.c:3942
#, fuzzy
msgid "`%+#D' is inaccessible"
msgstr "ôï `%s' åßíáé ìç-ðñïóðåëÜóéìï"
-#: cp/call.c:3735
+#: cp/call.c:3943
msgid "within this context"
msgstr ""
-#: cp/call.c:3777
+#: cp/call.c:3985
#, fuzzy
msgid "invalid conversion from `%T' to `%T'"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: cp/call.c:3779 cp/call.c:3918 cp/call.c:3920
+#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128
#, fuzzy
msgid " initializing argument %P of `%D'"
msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
-#: cp/call.c:3842 cp/call.c:3846
+#: cp/call.c:4050 cp/call.c:4054
msgid " initializing argument %P of `%D' from result of `%D'"
msgstr ""
-#: cp/call.c:3852 cp/call.c:3855
+#: 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:3989
-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:4014
+#. 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:4156
+#: cp/call.c:4422
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr ""
-#: cp/call.c:4404
+#: cp/call.c:4656
msgid "could not find class$ field in java interface type `%T'"
msgstr ""
-#: cp/call.c:4505 cp/typeck.c:2071
-msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
-msgstr ""
+#: cp/call.c:4831
+#, fuzzy
+msgid "call to non-function `%D'"
+msgstr "Äåí âñÝèçêáí URL óôï %s.\n"
-#: cp/call.c:4631
+#: cp/call.c:4937
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr ""
-#: cp/call.c:4655
-msgid "abstract virtual `%#D' called from constructor"
-msgstr ""
-
-#: cp/call.c:4656
-msgid "abstract virtual `%#D' called from destructor"
-msgstr ""
-
-#: cp/call.c:4661
+#: cp/call.c:4967
msgid "cannot call member function `%D' without object"
msgstr ""
-#: cp/call.c:5274
+#: cp/call.c:5580
msgid "passing `%T' chooses `%T' over `%T'"
msgstr ""
-#: cp/call.c:5276 cp/decl2.c:4496
+#: cp/call.c:5582 cp/decl2.c:4081
#, fuzzy
msgid " in call to `%D'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: cp/call.c:5325 cp/call.c:5450
+#: cp/call.c:5631 cp/call.c:5756
msgid "choosing `%D' over `%D'"
msgstr ""
-#: cp/call.c:5326
+#: cp/call.c:5632
#, fuzzy
msgid " for conversion from `%T' to `%T'"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: cp/call.c:5328
+#: cp/call.c:5634
msgid " because conversion sequence for the argument is better"
msgstr ""
-#: cp/call.c:5452
+#: cp/call.c:5758
msgid " because worst conversion for the former is better than worst conversion for the latter"
msgstr ""
-#: cp/call.c:5568 cp/call.c:5589
+#: cp/call.c:5874 cp/call.c:5895
#, fuzzy
msgid "could not convert `%E' to `%T'"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
@@ -15761,280 +13961,306 @@ msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr ""
-#: cp/class.c:1012
+#: 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:1023
-msgid "`%D' has already been declared in `%T'"
-msgstr ""
-
-#: cp/class.c:1104
+#: cp/class.c:1027
#, fuzzy
msgid "duplicate enum value `%D'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: cp/class.c:1107
+#: cp/class.c:1030
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr ""
-#: cp/class.c:1114
+#: cp/class.c:1037
#, fuzzy
msgid "duplicate nested type `%D'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: cp/class.c:1125
+#: cp/class.c:1048
msgid "duplicate field `%D' (as type and non-type)"
msgstr ""
-#: cp/class.c:1129
+#: cp/class.c:1052
#, fuzzy
msgid "duplicate member `%D'"
msgstr "äéðëüò áñéèìüò ìçíýìáôïò"
-#: cp/class.c:1172
+#: cp/class.c:1095
msgid "conflicting access specifications for method `%D', ignored"
msgstr ""
-#: cp/class.c:1174
+#: cp/class.c:1097
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr ""
-#: cp/class.c:1217
+#: cp/class.c:1142
msgid "`%D' names constructor"
msgstr ""
-#: cp/class.c:1223
+#: cp/class.c:1147
#, fuzzy
msgid "`%D' invalid in `%T'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: cp/class.c:1231
+#: cp/class.c:1155
msgid "no members matching `%D' in `%#T'"
msgstr ""
-#: cp/class.c:1263 cp/class.c:1271
+#: cp/class.c:1187 cp/class.c:1195
#, fuzzy
msgid "`%D' invalid in `%#T'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: cp/class.c:1264
+#: cp/class.c:1188
msgid " because of local method `%#D' with same name"
msgstr ""
-#: cp/class.c:1272
+#: cp/class.c:1196
msgid " because of local member `%#D' with same name"
msgstr ""
-#: cp/class.c:1344
+#: cp/class.c:1268
msgid "base class `%#T' has a non-virtual destructor"
msgstr ""
-#: cp/class.c:1364
+#: cp/class.c:1288
msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr ""
-#: cp/class.c:1950
+#: cp/class.c:1860
msgid "all member functions in class `%T' are private"
msgstr ""
-#: cp/class.c:1964
+#: cp/class.c:1874
msgid "`%#T' only defines a private destructor and has no friends"
msgstr ""
-#: cp/class.c:2007
+#: cp/class.c:1917
msgid "`%#T' only defines private constructors and has no friends"
msgstr ""
-#: cp/class.c:2128 cp/class.c:5045
+#: cp/class.c:2038 cp/class.c:5172
#, fuzzy
msgid "redefinition of `%#T'"
msgstr "êáíÝíáò ïñéóìüò ôïõ `UNDEFINED'"
-#: cp/class.c:2129
+#: cp/class.c:2039
#, fuzzy
msgid "previous definition of `%#T'"
msgstr "êáíÝíáò ïñéóìüò ôïõ `UNDEFINED'"
-#: cp/class.c:2459
+#: 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:2841
+#: cp/class.c:2652
msgid "`%D' was hidden"
msgstr ""
-#: cp/class.c:2842
+#: cp/class.c:2653
msgid " by `%D'"
-msgstr ""
+msgstr " êáôÜ `%D'"
-#: cp/class.c:2884
+#: cp/class.c:2695
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr ""
-#: cp/class.c:2889 cp/decl2.c:1898
+#: 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:2895 cp/decl2.c:1904
+#: cp/class.c:2706 cp/decl2.c:1333
msgid "private member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:2898 cp/decl2.c:1906
+#: cp/class.c:2709 cp/decl2.c:1335
msgid "protected member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:3050
+#: 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:3070
+#: cp/class.c:2918
msgid "bit-field `%D' width not an integer constant"
msgstr ""
-#: cp/class.c:3076
+#: cp/class.c:2924
#, fuzzy
msgid "negative width in bit-field `%D'"
msgstr "Áñíçôéêü ðëÜôïò óôçí áðïôßìçóç"
-#: cp/class.c:3081
+#: cp/class.c:2929
msgid "zero width for bit-field `%D'"
msgstr ""
-#: cp/class.c:3087
+#: cp/class.c:2935
msgid "width of `%D' exceeds its type"
msgstr ""
-#: cp/class.c:3096
+#: cp/class.c:2944
msgid "`%D' is too small to hold all values of `%#T'"
msgstr ""
-#: cp/class.c:3179
+#: cp/class.c:3028
msgid "member `%#D' with constructor not allowed in union"
msgstr ""
-#: cp/class.c:3182
+#: cp/class.c:3031
msgid "member `%#D' with destructor not allowed in union"
msgstr ""
-#: cp/class.c:3185
+#: cp/class.c:3034
msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr ""
-#: cp/class.c:3212
+#: cp/class.c:3061
msgid "multiple fields in union `%T' initialized"
msgstr ""
-#: cp/class.c:3333
+#: cp/class.c:3183
msgid "field `%D' in local class cannot be static"
msgstr ""
-#: cp/class.c:3339
+#: cp/class.c:3189
msgid "field `%D' invalidly declared function type"
msgstr ""
-#: cp/class.c:3346
+#: cp/class.c:3196
msgid "field `%D' invalidly declared method type"
msgstr ""
-#: cp/class.c:3352
+#: cp/class.c:3202
msgid "field `%D' invalidly declared offset type"
msgstr ""
#. Unions cannot have static members.
-#: cp/class.c:3370
+#: cp/class.c:3220
msgid "field `%D' declared static in union"
msgstr ""
-#: cp/class.c:3396
+#: cp/class.c:3247
msgid "non-static reference `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3427
+#: cp/class.c:3282
msgid "non-static const member `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3442
+#: cp/class.c:3298
#, fuzzy
msgid "field `%#D' with same name as class"
msgstr "ÕðÜñ÷åé áíôéêåßìåíï ìå ôï ßäéï üíïìá"
-#: cp/class.c:3460
+#: cp/class.c:3316
msgid "`%#T' has pointer data members"
msgstr ""
-#: cp/class.c:3464
+#: cp/class.c:3320
msgid " but does not override `%T(const %T&)'"
msgstr ""
-#: cp/class.c:3466
+#: cp/class.c:3322
msgid " or `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3469
+#: cp/class.c:3325
msgid " but does not override `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3937
+#: 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:4721
-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:4791
+#: cp/class.c:4809
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr ""
-#: cp/class.c:5208
+#: 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:5292
+#: cp/class.c:5405
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr ""
-#: cp/class.c:5749
+#: cp/class.c:5861
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr ""
-#: cp/class.c:5845
+#: cp/class.c:5957
msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr ""
-#: cp/class.c:5966
+#: cp/class.c:6078
msgid "no matches converting function `%D' to type `%#T'"
msgstr ""
-#: cp/class.c:5989
+#: cp/class.c:6101
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr ""
-#: cp/class.c:6015
+#: cp/class.c:6127
msgid "assuming pointer to member `%D'"
msgstr ""
-#: cp/class.c:6018
+#: cp/class.c:6130
#, c-format
msgid "(a pointer to member can only be formed with `&%E')"
msgstr ""
-#: cp/class.c:6062 cp/class.c:6230 cp/class.c:6237
+#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352
#, fuzzy
msgid "not enough type information"
msgstr "åìöÜíéóç ðëçñïöïñéþí ðñïüäïõ"
-#: cp/class.c:6071
+#: cp/class.c:6183
msgid "argument of type `%T' does not match `%T'"
msgstr ""
-#: cp/class.c:6214
+#: cp/class.c:6329
msgid "invalid operation on uninstantiated type"
msgstr ""
@@ -16043,12 +14269,12 @@ 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:6465 cp/decl.c:1030 cp/decl.c:3178 cp/pt.c:1839
+#: cp/class.c:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845
#, fuzzy
msgid "declaration of `%#D'"
msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
-#: cp/class.c:6466
+#: cp/class.c:6613
msgid "changes meaning of `%D' from `%+#D'"
msgstr ""
@@ -16066,212 +14292,219 @@ msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
msgid "converting from `%T' to `%T'"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: 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
#, fuzzy
msgid "cannot convert `%E' from type `%T' to type `%T'"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
-#: cp/cvt.c:525
+#: cp/cvt.c:262
+#, fuzzy
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
+
+#: cp/cvt.c:537
#, fuzzy
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: 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
#, fuzzy
msgid "cannot convert type `%T' to type `%T'"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
-#: cp/cvt.c:689
+#: cp/cvt.c:701
#, fuzzy
msgid "conversion from `%#T' to `%#T'"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: 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
#, fuzzy
msgid "conversion from `%T' to non-scalar type `%T' requested"
msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
-#: cp/cvt.c:878
+#: cp/cvt.c:883
msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr ""
-#: cp/cvt.c:881
+#: cp/cvt.c:886
msgid "object of type `%T' will not be accessed in %s"
msgstr ""
-#: cp/cvt.c:897
+#: 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:917
+#: cp/cvt.c:922
#, c-format
msgid "%s cannot resolve address of overloaded function"
msgstr ""
#. Only warn when there is no &.
-#: cp/cvt.c:922
+#: cp/cvt.c:927
#, c-format
msgid "%s is a reference, not call, to function `%E'"
msgstr ""
-#: cp/cvt.c:1060
+#: cp/cvt.c:1065
msgid "converting NULL to non-pointer type"
msgstr ""
-#: cp/cvt.c:1136
+#: cp/cvt.c:1141
msgid "ambiguous default type conversion from `%T'"
msgstr ""
-#: cp/cvt.c:1138
+#: cp/cvt.c:1143
msgid " candidate conversions include `%D' and `%D'"
msgstr ""
-#: cp/decl.c:1031 cp/decl.c:3278
+#: cp/decl.c:1007 cp/decl.c:3205
msgid "conflicts with previous declaration `%#D'"
msgstr ""
-#: cp/decl.c:1220
+#: cp/decl.c:1211
msgid "label `%D' used but not defined"
msgstr ""
-#: cp/decl.c:1225
+#: cp/decl.c:1216
msgid "label `%D' defined but not used"
msgstr ""
-#: cp/decl.c:2305
+#: cp/decl.c:2249
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr ""
-#: cp/decl.c:3088 cp/decl.c:3476
+#: cp/decl.c:3008 cp/decl.c:3413
msgid "previous declaration of `%D'"
msgstr ""
-#: cp/decl.c:3165 cp/decl.c:3200
+#: cp/decl.c:3089 cp/decl.c:3127
msgid "shadowing %s function `%#D'"
msgstr ""
-#: cp/decl.c:3174
+#: cp/decl.c:3098
msgid "library function `%#D' redeclared as non-function `%#D'"
msgstr ""
-#: cp/decl.c:3179
+#: cp/decl.c:3103
msgid "conflicts with built-in declaration `%#D'"
msgstr ""
-#: cp/decl.c:3195 cp/decl.c:3288 cp/decl.c:3304
+#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235
msgid "new declaration `%#D'"
msgstr ""
-#: cp/decl.c:3196
+#: cp/decl.c:3123
msgid "ambiguates built-in declaration `%#D'"
msgstr ""
-#: cp/decl.c:3252
+#: cp/decl.c:3179
msgid "`%#D' redeclared as different kind of symbol"
msgstr ""
-#: cp/decl.c:3255
+#: cp/decl.c:3182
msgid "previous declaration of `%#D'"
msgstr ""
-#: cp/decl.c:3277
+#: cp/decl.c:3204
msgid "declaration of template `%#D'"
msgstr ""
-#: cp/decl.c:3289 cp/decl.c:3305
+#: cp/decl.c:3220 cp/decl.c:3236
msgid "ambiguates old declaration `%#D'"
msgstr ""
-#: cp/decl.c:3297
+#: cp/decl.c:3228
msgid "declaration of C function `%#D' conflicts with"
msgstr ""
-#: cp/decl.c:3299
+#: cp/decl.c:3230
msgid "previous declaration `%#D' here"
msgstr ""
-#: cp/decl.c:3315
+#: cp/decl.c:3246
msgid "conflicting types for `%#D'"
msgstr ""
-#: cp/decl.c:3316
+#: cp/decl.c:3247
msgid "previous declaration as `%#D'"
msgstr ""
-#: cp/decl.c:3359
+#: cp/decl.c:3290
msgid "`%#D' previously defined here"
msgstr ""
-#: cp/decl.c:3360
+#: cp/decl.c:3291
#, fuzzy
msgid "`%#D' previously declared here"
msgstr "Äåí õðÜñ÷åé ðñïçãïýìåíç êáíïíéêÞ Ýêöñáóç"
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3368
+#: cp/decl.c:3300
msgid "prototype for `%#D'"
msgstr ""
-#: cp/decl.c:3369
+#: cp/decl.c:3301
msgid "follows non-prototype definition here"
msgstr ""
-#: cp/decl.c:3381
+#: cp/decl.c:3313
msgid "previous declaration of `%#D' with %L linkage"
msgstr ""
-#: cp/decl.c:3383
+#: cp/decl.c:3315
msgid "conflicts with new declaration with %L linkage"
msgstr ""
-#: cp/decl.c:3408 cp/decl.c:3416
+#: cp/decl.c:3338 cp/decl.c:3345
msgid "default argument given for parameter %d of `%#D'"
msgstr ""
-#: cp/decl.c:3410 cp/decl.c:3418
+#: cp/decl.c:3340 cp/decl.c:3347
#, fuzzy
msgid "after previous specification in `%#D'"
msgstr "%s: Ìç Ýãêõñç ñýèìéóç `%s'.\n"
-#: cp/decl.c:3427
+#: cp/decl.c:3356
msgid "`%#D' was used before it was declared inline"
msgstr ""
-#: cp/decl.c:3429
+#: cp/decl.c:3358
msgid "previous non-inline declaration here"
msgstr ""
-#: cp/decl.c:3475
+#: cp/decl.c:3412
msgid "redundant redeclaration of `%D' in same scope"
msgstr ""
-#: cp/decl.c:3558
+#: cp/decl.c:3493
+#, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr ""
-#: cp/decl.c:3560
+#: cp/decl.c:3495
+#, c-format
msgid "than previous declaration `%F'"
msgstr ""
@@ -16283,15 +14516,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:3685
+#: cp/decl.c:3632
msgid "explicit specialization of %D after first use"
msgstr ""
-#: cp/decl.c:3930
+#: cp/decl.c:3886
msgid "`%#D' used prior to declaration"
msgstr ""
-#: cp/decl.c:3961
+#: cp/decl.c:3917
msgid "redeclaration of `wchar_t' as `%T'"
msgstr ""
@@ -16301,873 +14534,909 @@ msgstr ""
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:3989
+#: cp/decl.c:3945
#, fuzzy
msgid "invalid redeclaration of `%D'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: cp/decl.c:3990
+#: cp/decl.c:3946
msgid "as `%D'"
msgstr ""
-#: cp/decl.c:4080
+#: cp/decl.c:4036
msgid "previous external decl of `%#D'"
msgstr ""
-#: cp/decl.c:4121
+#: cp/decl.c:4077
msgid "`%D' was previously implicitly declared to return `int'"
msgstr ""
-#: cp/decl.c:4181
+#: cp/decl.c:4137
msgid "extern declaration of `%#D' doesn't match"
msgstr ""
-#: cp/decl.c:4182
+#: cp/decl.c:4138
msgid "global declaration `%#D'"
msgstr ""
-#: cp/decl.c:4213
+#: cp/decl.c:4169
msgid "declaration of `%#D' shadows a parameter"
msgstr ""
-#: cp/decl.c:4233
+#: cp/decl.c:4189
#, c-format
msgid "declaration of `%s' shadows a member of `this'"
msgstr ""
-#: cp/decl.c:4598
+#: cp/decl.c:4541
#, fuzzy
msgid "`%#D' hides constructor for `%#T'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/decl.c:4613
+#: cp/decl.c:4556
msgid "`%#D' conflicts with previous using declaration `%#D'"
msgstr ""
-#: cp/decl.c:4625
+#: cp/decl.c:4568
msgid "previous non-function declaration `%#D'"
msgstr ""
-#: cp/decl.c:4626
+#: cp/decl.c:4569
msgid "conflicts with function declaration `%#D'"
msgstr ""
-#: cp/decl.c:4716
+#: cp/decl.c:4659
msgid "implicit declaration of function `%#D'"
msgstr "áõôïíüçôç äéáêýñçîç ôçò óõíÜñôçóçò `%#D'"
-#: cp/decl.c:4874
+#: cp/decl.c:4817
#, c-format
msgid "label `%s' referenced outside of any function"
msgstr ""
-#: cp/decl.c:4977 cp/decl.c:5001 cp/decl.c:5094
+#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037
msgid "jump to label `%D'"
msgstr ""
-#: cp/decl.c:4979 cp/decl.c:5003
+#: cp/decl.c:4922 cp/decl.c:4946
msgid "jump to case label"
msgstr ""
-#: cp/decl.c:4987
+#: cp/decl.c:4930
msgid " crosses initialization of `%#D'"
msgstr ""
-#: cp/decl.c:4990 cp/decl.c:5110
+#: cp/decl.c:4933 cp/decl.c:5053
msgid " enters scope of non-POD `%#D'"
msgstr ""
-#: cp/decl.c:5010 cp/decl.c:5114
+#: cp/decl.c:4953 cp/decl.c:5057
msgid " enters try block"
msgstr ""
#. Can't skip init of __exception_info.
-#: cp/decl.c:5012 cp/decl.c:5106 cp/decl.c:5116
+#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059
msgid " enters catch block"
msgstr ""
-#: cp/decl.c:5095
+#: cp/decl.c:5038
msgid " from here"
msgstr ""
-#: cp/decl.c:5108
+#: cp/decl.c:5051
msgid " skips initialization of `%#D'"
msgstr ""
-#: cp/decl.c:5143
+#: cp/decl.c:5086
msgid "label named wchar_t"
msgstr ""
-#: cp/decl.c:5147
+#: cp/decl.c:5090
#, fuzzy
msgid "duplicate label `%D'"
msgstr "äéðëü êëåéäß"
-#: cp/decl.c:5232
+#: 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:5365 cp/decl.c:5385
+#: 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:5474 cp/typeck.c:2033
+#: cp/decl.c:5461 cp/typeck.c:2062 cp/typeck.c:2217
#, fuzzy
msgid "invalid use of `%D'"
msgstr "Ìç Ýãêõñç çìåñïìçíßá `%s'."
-#: cp/decl.c:5515
+#: cp/decl.c:5502
#, fuzzy
msgid "`%D::%D' is not a template"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/decl.c:5527
+#: cp/decl.c:5519
msgid "`%D' undeclared in namespace `%D'"
msgstr ""
-#: cp/decl.c:5661
+#: cp/decl.c:5652
msgid "`%D' used without template parameters"
msgstr ""
-#: cp/decl.c:5672 cp/decl.c:5688 cp/decl.c:5759
+#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783
msgid "no class template named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:5706 cp/decl.c:5721
+#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744
msgid "no type named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:5938
+#: cp/decl.c:5968
msgid "lookup of `%D' finds `%#D'"
msgstr ""
-#: cp/decl.c:5940
+#: cp/decl.c:5970
msgid " instead of `%D' from dependent base class"
msgstr ""
-#: cp/decl.c:5942
+#: cp/decl.c:5972
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr ""
-#: cp/decl.c:6115
+#: cp/decl.c:6003
+#, fuzzy
+msgid "name lookup of `%D' changed"
+msgstr "ç ïìÜäá ôïõ %s Üëëáîå óå %s\n"
+
+#: 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
+#, fuzzy
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr "ç ïìÜäá ôïõ %s Üëëáîå óå %s\n"
+
+#: 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:6938
+#: cp/decl.c:7025
msgid "an anonymous union cannot have function members"
msgstr ""
-#: cp/decl.c:6955
+#: cp/decl.c:7042
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6958
+#: cp/decl.c:7045
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6961
+#: cp/decl.c:7048
msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6999
+#: cp/decl.c:7086
msgid "redeclaration of C++ built-in type `%T'"
msgstr ""
-#: cp/decl.c:7034
+#: cp/decl.c:7122
msgid "multiple types in one declaration"
msgstr ""
-#: cp/decl.c:7037
-msgid "declaration does not declare anything"
-msgstr ""
-
-#: cp/decl.c:7061
+#: cp/decl.c:7149
msgid "missing type-name in typedef-declaration"
msgstr ""
-#: cp/decl.c:7068
+#: cp/decl.c:7156
msgid "ISO C++ prohibits anonymous structs"
msgstr ""
-#: cp/decl.c:7075
+#: cp/decl.c:7163
msgid "`%D' can only be specified for functions"
msgstr ""
-#: cp/decl.c:7077
+#: cp/decl.c:7165
msgid "`%D' can only be specified inside a class"
msgstr ""
-#: cp/decl.c:7079
+#: cp/decl.c:7167
msgid "`%D' can only be specified for constructors"
msgstr ""
-#: cp/decl.c:7082
+#: cp/decl.c:7170
msgid "`%D' can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:7226
-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:7232
+#: cp/decl.c:7317
msgid "function `%#D' is initialized like a variable"
msgstr ""
-#: cp/decl.c:7244
+#: cp/decl.c:7329
msgid "declaration of `%#D' has `extern' and is initialized"
msgstr ""
-#: cp/decl.c:7274
+#: cp/decl.c:7363
#, fuzzy
msgid "`%#D' is not a static member of `%#T'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/decl.c:7279
+#: cp/decl.c:7368
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
msgstr ""
# src/request.c:263
-#: cp/decl.c:7290
+#: cp/decl.c:7379
#, fuzzy
msgid "duplicate initialization of %D"
msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
-#: cp/decl.c:7319
+#: cp/decl.c:7408
msgid "declaration of `%#D' outside of class is not definition"
msgstr ""
-#: cp/decl.c:7367
+#: cp/decl.c:7456
msgid "variable `%#D' has initializer but incomplete type"
msgstr ""
-#: cp/decl.c:7375 cp/decl.c:7726
+#: cp/decl.c:7464 cp/decl.c:8006
msgid "elements of array `%#D' have incomplete type"
msgstr ""
-#: cp/decl.c:7391
-msgid "aggregate `%#D' has incomplete type and cannot be initialized"
+#: cp/decl.c:7480
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
msgstr ""
-#: cp/decl.c:7430
+#: cp/decl.c:7519
msgid "`%D' declared as reference but not initialized"
msgstr ""
-#: cp/decl.c:7439
+#: cp/decl.c:7528
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
msgstr ""
-#: cp/decl.c:7472
+#: cp/decl.c:7561
#, fuzzy
msgid "cannot initialize `%T' from `%T'"
msgstr "äåí åßíáé äõíáôü íá ìåôáíïìáóôåß ôï `.' Þ ôï `..'"
-#: cp/decl.c:7533
+#: cp/decl.c:7595
msgid "initializer fails to determine size of `%D'"
msgstr ""
-#: cp/decl.c:7538
+#: cp/decl.c:7600
#, fuzzy
msgid "array size missing in `%D'"
msgstr "óöÜëìá êáôÜ ôï êëåßóéìï ôçò åéóüäïõ `%s'"
-#: cp/decl.c:7550
+#: 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:7583
+#: cp/decl.c:7650
msgid "storage size of `%D' isn't known"
msgstr ""
-#: cp/decl.c:7605
+#: cp/decl.c:7672
msgid "storage size of `%D' isn't constant"
msgstr ""
-#: cp/decl.c:7656
+#: 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:7657
+#: cp/decl.c:7724
msgid " you can work around this by removing the initializer"
msgstr ""
-#: cp/decl.c:7685
+#: cp/decl.c:7752
#, fuzzy
msgid "uninitialized const `%D'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: cp/decl.c:7720
+#: cp/decl.c:7836
+#, fuzzy
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
+
+#: cp/decl.c:7900
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr ""
+
+#: cp/decl.c:7964
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
+
+#: cp/decl.c:8000
msgid "variable-sized object `%D' may not be initialized"
msgstr ""
-#: cp/decl.c:7731 cp/typeck2.c:201
+#: cp/decl.c:8011
msgid "`%D' has incomplete type"
msgstr ""
-#: cp/decl.c:7763
+#: cp/decl.c:8060
msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr ""
-#: cp/decl.c:7793
+#: cp/decl.c:8101
msgid "structure `%D' with uninitialized const members"
msgstr ""
-#: cp/decl.c:7795
+#: cp/decl.c:8103
msgid "structure `%D' with uninitialized reference members"
msgstr ""
-#: cp/decl.c:8060
+#: cp/decl.c:8346
msgid "assignment (not initialization) in declaration"
msgstr ""
-#: cp/decl.c:8070
+#: cp/decl.c:8358
msgid "cannot initialize `%D' to namespace `%D'"
msgstr ""
-#: cp/decl.c:8127
+#: cp/decl.c:8409
msgid "shadowing previous type declaration of `%#D'"
msgstr ""
-#: cp/decl.c:8526
+#: 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:8626
+#: cp/decl.c:8956
#, fuzzy
msgid "invalid catch parameter"
msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ðáñáâïëÞò"
-#: cp/decl.c:8744
+#: cp/decl.c:9074
msgid "destructor for alien class `%T' cannot be a member"
msgstr ""
-#: cp/decl.c:8747
+#: cp/decl.c:9077
msgid "constructor for alien class `%T' cannot be a member"
msgstr ""
-#: cp/decl.c:8766
+#: cp/decl.c:9096
msgid "`%D' declared as a `virtual' %s"
msgstr ""
-#: cp/decl.c:8768
+#: cp/decl.c:9098
msgid "`%D' declared as an `inline' %s"
msgstr ""
-#: cp/decl.c:8770
+#: cp/decl.c:9100
msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr ""
-#: cp/decl.c:8773
+#: cp/decl.c:9103
msgid "`%D' declared as a friend"
msgstr ""
-#: cp/decl.c:8779
+#: cp/decl.c:9109
msgid "`%D' declared with an exception specification"
msgstr ""
-#: cp/decl.c:8854
+#: cp/decl.c:9184
msgid "cannot declare `::main' to be a template"
msgstr ""
-#: cp/decl.c:8856
+#: cp/decl.c:9186
msgid "cannot declare `::main' to be inline"
msgstr ""
-#: cp/decl.c:8858
+#: cp/decl.c:9188
msgid "cannot declare `::main' to be static"
msgstr ""
-#: cp/decl.c:8861
+#: cp/decl.c:9191
msgid "`main' must return `int'"
msgstr ""
-#: cp/decl.c:8889
+#: cp/decl.c:9219
msgid "non-local function `%#D' uses anonymous type"
msgstr ""
-#: cp/decl.c:8892
+#: cp/decl.c:9222
msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr ""
-#: cp/decl.c:8898
+#: cp/decl.c:9228
msgid "non-local function `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:8921
+#: cp/decl.c:9251
msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr ""
-#: cp/decl.c:8945
+#: 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:8955
+#: cp/decl.c:9285
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/decl.c:8983
+#: cp/decl.c:9313
msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:8990
+#: cp/decl.c:9320
msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:9052
+#: cp/decl.c:9382
msgid "definition of implicitly-declared `%D'"
msgstr ""
-#: cp/decl.c:9064 cp/decl2.c:1384
+#: cp/decl.c:9394 cp/decl2.c:776
msgid "no `%#D' member function declared in class `%T'"
msgstr ""
-#: cp/decl.c:9183
+#: cp/decl.c:9527
msgid "non-local variable `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:9273
+#: cp/decl.c:9625
msgid "invalid in-class initialization of static data member of non-integral type `%T'"
msgstr ""
-#: cp/decl.c:9282
+#: cp/decl.c:9634
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
msgstr ""
-#: cp/decl.c:9285
+#: cp/decl.c:9637
msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
msgstr ""
-#: cp/decl.c:9335
+#: cp/decl.c:9687
msgid "size of array `%D' has non-integer type"
msgstr ""
-#: cp/decl.c:9337
+#: cp/decl.c:9689
msgid "size of array has non-integer type"
msgstr ""
-#: cp/decl.c:9357
+#: cp/decl.c:9709
msgid "size of array `%D' is negative"
msgstr ""
-#: cp/decl.c:9359
+#: cp/decl.c:9711
msgid "size of array is negative"
msgstr ""
-#: cp/decl.c:9368
+#: cp/decl.c:9720
msgid "ISO C++ forbids zero-size array `%D'"
msgstr ""
-#: cp/decl.c:9370
+#: cp/decl.c:9722
msgid "ISO C++ forbids zero-size array"
msgstr ""
-#: cp/decl.c:9377
+#: cp/decl.c:9729
msgid "size of array `%D' is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:9380
+#: cp/decl.c:9732
msgid "size of array is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:9398
+#: cp/decl.c:9750
msgid "ISO C++ forbids variable-size array `%D'"
msgstr ""
-#: cp/decl.c:9401
+#: cp/decl.c:9753
msgid "ISO C++ forbids variable-size array"
msgstr ""
-#: cp/decl.c:9412
+#: cp/decl.c:9764
msgid "overflow in array dimension"
msgstr ""
-#: cp/decl.c:9471
+#: cp/decl.c:9823
msgid "declaration of `%D' as %s"
msgstr ""
-#: cp/decl.c:9473
+#: cp/decl.c:9825
#, fuzzy, c-format
msgid "creating %s"
msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
-#: cp/decl.c:9485
+#: cp/decl.c:9837
msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9488
+#: cp/decl.c:9840
msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9517
+#: cp/decl.c:9869
msgid "return type specification for constructor invalid"
msgstr ""
-#: cp/decl.c:9524
+#: cp/decl.c:9876
msgid "return type specification for destructor invalid"
msgstr ""
-#: cp/decl.c:9530
+#: cp/decl.c:9882
msgid "operator `%T' declared to return `%T'"
msgstr ""
-#: cp/decl.c:9532
+#: cp/decl.c:9884
msgid "return type specified for `operator %T'"
msgstr ""
-#: cp/decl.c:9702
+#: cp/decl.c:10052
msgid "destructors must be member functions"
msgstr ""
-#: cp/decl.c:9721
+#: cp/decl.c:10071
msgid "destructor `%T' must match class name `%T'"
msgstr ""
-#: cp/decl.c:9771
+#: cp/decl.c:10100
+msgid "variable declaration is not allowed here"
+msgstr ""
+
+#: cp/decl.c:10127
#, fuzzy
msgid "invalid declarator"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: cp/decl.c:9824
+#: cp/decl.c:10178
msgid "declarator-id missing; using reserved word `%D'"
msgstr ""
-#: cp/decl.c:9868
-#, fuzzy
-msgid "`%T::%D' is not a valid declarator"
-msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
-
-#: cp/decl.c:9870
-msgid " perhaps you want `typename %T::%D' to make it a type"
-msgstr ""
-
-#: cp/decl.c:9882
+#: 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:9928
+#: cp/decl.c:10279
msgid "`%T' specified as declarator-id"
msgstr ""
-#: cp/decl.c:9930
+#: cp/decl.c:10281
msgid " perhaps you want `%T' for a constructor"
msgstr ""
-#: cp/decl.c:9944
-#, fuzzy
-msgid "`%D' as declarator"
-msgstr "ôï `%s' åßíáé êáôÜëïãïò"
+#. 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
+#, fuzzy, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: cp/decl.c:9959
+#: cp/decl.c:10323
msgid "declaration of `%D' as non-function"
msgstr ""
-#: cp/decl.c:10036
+#: cp/decl.c:10400
#, fuzzy
msgid "`bool' is now a keyword"
msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
-#: cp/decl.c:10038
+#: cp/decl.c:10402
msgid "extraneous `%T' ignored"
msgstr ""
-#: cp/decl.c:10054 cp/decl.c:10088
+#: cp/decl.c:10418 cp/decl.c:10463
#, fuzzy
msgid "multiple declarations `%T' and `%T'"
msgstr "ðïëëáðëüò áñéèìüò åðéëïãþí ôçí åíôïëÞ `s'"
-#: cp/decl.c:10067
+#: cp/decl.c:10431
msgid "ISO C++ does not support `long long'"
msgstr ""
-#: cp/decl.c:10159 cp/decl.c:10162
+#: 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:10172
+#: cp/decl.c:10549
msgid "`%T' is implicitly a typename"
msgstr ""
-#: cp/decl.c:10208
+#: cp/decl.c:10585
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr ""
-#: cp/decl.c:10213
+#: cp/decl.c:10590
#, c-format
msgid "long and short specified together for `%s'"
msgstr ""
-#: cp/decl.c:10224
+#: cp/decl.c:10601
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr ""
-#: cp/decl.c:10329
+#: cp/decl.c:10710
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr ""
-#: cp/decl.c:10357
+#: cp/decl.c:10732
msgid "member `%D' cannot be declared both virtual and static"
msgstr ""
-#: cp/decl.c:10371
+#: cp/decl.c:10741
+#, fuzzy
+msgid "`%T::%D' is not a valid declarator"
+msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
+
+#: cp/decl.c:10753
msgid "storage class specifiers invalid in parameter declarations"
msgstr ""
-#: cp/decl.c:10375
+#: cp/decl.c:10757
msgid "typedef declaration invalid in parameter declaration"
msgstr ""
-#: cp/decl.c:10388
+#: cp/decl.c:10770
msgid "virtual outside class declaration"
msgstr ""
-#: cp/decl.c:10442
+#: cp/decl.c:10831
#, c-format
msgid "storage class specified for %s `%s'"
msgstr ""
-#: cp/decl.c:10480
+#: cp/decl.c:10878
msgid "storage class specifiers invalid in friend function declarations"
msgstr ""
-#: cp/decl.c:10584
-msgid "size of member `%D' is not constant"
-msgstr ""
-
-#: cp/decl.c:10663
+#: cp/decl.c:11048
msgid "destructor cannot be static member function"
msgstr ""
-#: cp/decl.c:10666
+#: cp/decl.c:11051
#, c-format
msgid "destructors may not be `%s'"
msgstr ""
-#: cp/decl.c:10687
+#: cp/decl.c:11072
msgid "constructor cannot be static member function"
msgstr ""
-#: cp/decl.c:10690
+#: cp/decl.c:11075
msgid "constructors cannot be declared virtual"
msgstr ""
-#: cp/decl.c:10695
+#: cp/decl.c:11080
#, c-format
msgid "constructors may not be `%s'"
msgstr ""
-#: cp/decl.c:10705
+#: cp/decl.c:11090
msgid "return value type specifier for constructor ignored"
msgstr ""
-#: cp/decl.c:10724
+#: cp/decl.c:11109
#, fuzzy, c-format
msgid "can't initialize friend function `%s'"
msgstr "Äåí Þôáí äõíáôÞ ç åýñåóç åôéêÝôôáò ãéá ìåôáãùãÞ óôï `%s'"
#. Cannot be both friend and virtual.
-#: cp/decl.c:10728
+#: cp/decl.c:11113
msgid "virtual functions cannot be friends"
msgstr ""
-#: cp/decl.c:10733
+#: cp/decl.c:11118
#, fuzzy
msgid "friend declaration not in class definition"
msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìü êëÜóçò ÷áñáêôÞñùí"
-#: cp/decl.c:10735
+#: cp/decl.c:11120
#, c-format
msgid "can't define friend function `%s' in a local class definition"
msgstr ""
-#: cp/decl.c:10759
+#: cp/decl.c:11144
msgid "destructors may not have parameters"
msgstr ""
-#: cp/decl.c:10789
-#, fuzzy, c-format
-msgid "cannot declare %s to references"
+#: cp/decl.c:11175 cp/decl.c:11182
+#, fuzzy
+msgid "cannot declare reference to `%#T'"
msgstr "áäõíáìßá áëëáãÞò óôï êáôÜëïãï %s"
-#: cp/decl.c:10800
-msgid "cannot declare pointer to `%#T' member"
-msgstr ""
-
-#: cp/decl.c:10815
+#: cp/decl.c:11176
#, fuzzy
-msgid "invalid type: `void &'"
-msgstr "Ìç Ýãêõñç çìåñïìçíßá `%s'"
-
-#: cp/decl.c:10866
-msgid "discarding `const' applied to a reference"
-msgstr ""
+msgid "cannot declare pointer to `%#T'"
+msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
-#: cp/decl.c:10868
-msgid "discarding `volatile' applied to a reference"
+#: cp/decl.c:11181
+msgid "cannot declare pointer to `%#T' member"
msgstr ""
-#: cp/decl.c:10979
+#: cp/decl.c:11357
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr ""
-#: cp/decl.c:10989
+#: cp/decl.c:11367
msgid "cannot declare member function `%T::%s' within `%T'"
msgstr ""
-#: cp/decl.c:11004
+#: cp/decl.c:11382
#, fuzzy
msgid "cannot declare member `%T::%s' within `%T'"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
+#: 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:11084
+#: cp/decl.c:11468
msgid "only declarations of constructors can be `explicit'"
msgstr ""
-#: cp/decl.c:11092
+#: cp/decl.c:11476
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11097
+#: cp/decl.c:11481
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11103
+#: cp/decl.c:11487
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11108
+#: cp/decl.c:11492
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11113
+#: cp/decl.c:11497
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11126
+#: cp/decl.c:11510
msgid "template-id `%D' used as a declarator"
msgstr ""
-#: cp/decl.c:11147
+#: cp/decl.c:11531
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11194
+#: cp/decl.c:11580
msgid "typedef name may not be class-qualified"
msgstr ""
-#: cp/decl.c:11202
+#: cp/decl.c:11588
msgid "invalid type qualifier for non-member function type"
msgstr ""
-#: cp/decl.c:11218
-msgid "typedef declaration includes an initializer"
-msgstr ""
-
-#: cp/decl.c:11271
+#: cp/decl.c:11651
msgid "type qualifiers specified for friend class declaration"
msgstr ""
-#: cp/decl.c:11276
+#: cp/decl.c:11656
msgid "`inline' specified for friend class declaration"
msgstr ""
-#: cp/decl.c:11286
+#: cp/decl.c:11664
#, fuzzy
msgid "template parameters cannot be friends"
msgstr "ï äéá÷ùñéóôÞò äå ìðïñåß íá åßíáé êåíüò"
-#: cp/decl.c:11288
-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:11293
+#: cp/decl.c:11670
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr ""
-#: cp/decl.c:11309
+#: cp/decl.c:11684
msgid "trying to make class `%T' a friend of global scope"
msgstr ""
-#: cp/decl.c:11320
+#: cp/decl.c:11695
msgid "invalid qualifiers on non-member function type"
msgstr ""
-#: cp/decl.c:11339
+#: cp/decl.c:11714
msgid "abstract declarator `%T' used as declaration"
msgstr ""
-#: cp/decl.c:11351
+#: cp/decl.c:11726
msgid "unnamed variable or field declared void"
msgstr ""
-#: cp/decl.c:11360
+#: cp/decl.c:11735
msgid "variable or field declared void"
msgstr ""
-#: cp/decl.c:11370
+#: cp/decl.c:11745
msgid "cannot use `::' in parameter declaration"
msgstr ""
#. Something like struct S { int N::j; };
-#: cp/decl.c:11416
+#: cp/decl.c:11784
#, fuzzy
msgid "invalid use of `::'"
msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
-#: cp/decl.c:11428
+#: cp/decl.c:11796
msgid "function `%D' cannot be declared friend"
msgstr ""
-#: cp/decl.c:11440
+#: cp/decl.c:11808
msgid "can't make `%D' into a method -- not in a class"
msgstr ""
-#: cp/decl.c:11449
+#: cp/decl.c:11817
msgid "function `%D' declared virtual inside a union"
msgstr ""
-#: cp/decl.c:11461
+#: cp/decl.c:11829
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr ""
-#: cp/decl.c:11534
+#: cp/decl.c:11902
msgid "field `%D' has incomplete type"
msgstr ""
-#: cp/decl.c:11536
+#: cp/decl.c:11904
msgid "name `%T' has incomplete type"
msgstr ""
-#: cp/decl.c:11545
+#: cp/decl.c:11913
msgid " in instantiation of template `%T'"
msgstr ""
-#: cp/decl.c:11555
+#: cp/decl.c:11923
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr ""
-#: cp/decl.c:11572
+#: cp/decl.c:11934
msgid "member functions are implicitly friends of their class"
msgstr ""
@@ -17183,94 +15452,99 @@ 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:11614
+#: cp/decl.c:11981
msgid "ISO C++ forbids initialization of member `%D'"
msgstr ""
-#: cp/decl.c:11616
+#: cp/decl.c:11983
msgid "making `%D' static"
msgstr ""
-#: cp/decl.c:11640
+#: cp/decl.c:12007
msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11681
+#: cp/decl.c:12048
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr ""
-#: cp/decl.c:11683
+#: cp/decl.c:12050
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr ""
-#: cp/decl.c:11694
+#: cp/decl.c:12052
+#, fuzzy, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "ìç Ýãêõñç ôÜîç ÷áñáêôÞñùí `%s'"
+
+#: cp/decl.c:12063
#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cp/decl.c:11696
+#: cp/decl.c:12065
#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cp/decl.c:11703
+#: cp/decl.c:12072
#, c-format
msgid "virtual non-class function `%s'"
msgstr ""
-#: cp/decl.c:11732
+#: cp/decl.c:12101
msgid "cannot declare member function `%D' to have static linkage"
msgstr ""
#. FIXME need arm citation
-#: cp/decl.c:11738
+#: cp/decl.c:12107
msgid "cannot declare static function inside another function"
msgstr ""
-#: cp/decl.c:11766
+#: cp/decl.c:12135
msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr ""
-#: cp/decl.c:11772
+#: cp/decl.c:12141
msgid "static member `%D' declared `register'"
msgstr ""
-#: cp/decl.c:11777
+#: cp/decl.c:12146
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr ""
-#: cp/decl.c:11949
+#: cp/decl.c:12318
msgid "default argument for `%#D' has type `%T'"
msgstr ""
-#: cp/decl.c:11952
+#: cp/decl.c:12321
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr ""
-#: cp/decl.c:11969
+#: cp/decl.c:12338
msgid "default argument `%E' uses local variable `%D'"
msgstr ""
-#: cp/decl.c:12013
+#: cp/decl.c:12383
#, fuzzy, c-format
msgid "invalid string constant `%E'"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-#: cp/decl.c:12015
+#: cp/decl.c:12385
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr ""
-#: cp/decl.c:12049
+#: cp/decl.c:12423
msgid "parameter `%D' invalidly declared method type"
msgstr ""
-#: cp/decl.c:12055
+#: cp/decl.c:12429
msgid "parameter `%D' invalidly declared offset type"
msgstr ""
-#: cp/decl.c:12079
+#: cp/decl.c:12453
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr ""
@@ -17289,489 +15563,474 @@ 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:12246
+#: cp/decl.c:12615
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr ""
-#: cp/decl.c:12397
+#: cp/decl.c:12766
msgid "`%D' must be a nonstatic member function"
msgstr ""
-#: cp/decl.c:12403
+#: cp/decl.c:12772
msgid "`%D' must be either a non-static member function or a non-member function"
msgstr ""
-#: cp/decl.c:12420
+#: cp/decl.c:12789
msgid "`%D' must have an argument of class or enumerated type"
msgstr ""
-#: cp/decl.c:12452
+#: 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:12459
+#: cp/decl.c:12828
msgid "ISO C++ prohibits overloading operator ?:"
msgstr ""
-#: cp/decl.c:12509
+#: cp/decl.c:12878
msgid "postfix `%D' must take `int' as its argument"
msgstr ""
-#: cp/decl.c:12513
+#: cp/decl.c:12882
msgid "postfix `%D' must take `int' as its second argument"
msgstr ""
-#: cp/decl.c:12520
+#: cp/decl.c:12889
msgid "`%D' must take either zero or one argument"
msgstr ""
-#: cp/decl.c:12522
+#: cp/decl.c:12891
msgid "`%D' must take either one or two arguments"
msgstr ""
-#: cp/decl.c:12543
+#: cp/decl.c:12912
msgid "prefix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12549
+#: cp/decl.c:12918
msgid "postfix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12558
+#: cp/decl.c:12927
msgid "`%D' must take `void'"
msgstr ""
-#: cp/decl.c:12560 cp/decl.c:12568
+#: cp/decl.c:12929 cp/decl.c:12937
msgid "`%D' must take exactly one argument"
msgstr ""
-#: cp/decl.c:12570
+#: cp/decl.c:12939
msgid "`%D' must take exactly two arguments"
msgstr ""
-#: cp/decl.c:12578
+#: cp/decl.c:12947
msgid "user-defined `%D' always evaluates both arguments"
msgstr ""
-#: cp/decl.c:12590
+#: cp/decl.c:12961
msgid "`%D' should return by value"
msgstr ""
-#: cp/decl.c:12602 cp/decl.c:12605
+#: cp/decl.c:12973 cp/decl.c:12976
msgid "`%D' cannot have default arguments"
msgstr ""
-#: cp/decl.c:12698
+#: cp/decl.c:13052
msgid "`%s %T' declares a new type at namespace scope"
msgstr ""
-#: cp/decl.c:12701
+#: 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:12737
+#: cp/decl.c:13093
msgid "using typedef-name `%D' after `%s'"
msgstr ""
-#: cp/decl.c:12740
+#: cp/decl.c:13098
msgid "using template type parameter `%T' after `%s'"
msgstr ""
-#: cp/decl.c:12822
+#: cp/decl.c:13178
msgid "use of enum `%#D' without previous declaration"
msgstr ""
-#: cp/decl.c:12932
+#: cp/decl.c:13264
msgid "derived union `%T' invalid"
msgstr ""
-#: cp/decl.c:12976
+#: cp/decl.c:13310
msgid "base type `%T' fails to be a struct or class type"
msgstr ""
-#: cp/decl.c:12988
+#: cp/decl.c:13320
msgid "base class `%T' has incomplete type"
msgstr ""
-#: cp/decl.c:12996
+#: cp/decl.c:13328
msgid "recursive type `%T' undefined"
msgstr ""
-#: cp/decl.c:12998
+#: cp/decl.c:13330
#, fuzzy
msgid "duplicate base type `%T' invalid"
msgstr "äéðëüò ïñéóìüò óõíüëïõ"
-#: cp/decl.c:13109
+#: cp/decl.c:13441
#, fuzzy
msgid "multiple definition of `%#T'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïñéóìïý locale `%s'"
-#: cp/decl.c:13110
+#: cp/decl.c:13442
msgid "previous definition here"
msgstr ""
-#: cp/decl.c:13285
+#: cp/decl.c:13610
msgid "enumerator value for `%D' not integer constant"
msgstr ""
-#: cp/decl.c:13305
+#: cp/decl.c:13630
msgid "overflow in enumeration values at `%D'"
msgstr ""
-#: cp/decl.c:13394
+#: cp/decl.c:13716
msgid "return type `%#T' is incomplete"
msgstr ""
-#: cp/decl.c:13503
+#: cp/decl.c:13830
msgid "semicolon missing after declaration of `%#T'"
msgstr ""
-#: cp/decl.c:13524
+#: cp/decl.c:13851
msgid "return type for `main' changed to `int'"
msgstr ""
-#: cp/decl.c:13555
+#: cp/decl.c:13882
msgid "`%D' implicitly declared before its definition"
msgstr ""
-#: cp/decl.c:13577 cp/typeck.c:6653
+#: cp/decl.c:13904 cp/typeck.c:6229
msgid "`operator=' should return a reference to `*this'"
msgstr ""
-#: cp/decl.c:13858
+#: cp/decl.c:14164
msgid "parameter `%D' declared void"
msgstr ""
-#: cp/decl.c:14302
+#: cp/decl.c:14628
msgid "`%D' is already defined in class `%T'"
msgstr ""
-#: cp/decl.c:14453
-msgid "parser lost in parsing declaration of `%D'"
-msgstr ""
-
-#: cp/decl.c:14538
+#: cp/decl.c:14845
msgid "static member function `%#D' declared with type qualifiers"
msgstr ""
-#: cp/decl2.c:529
-#, fuzzy, c-format
-msgid "-f%s is no longer supported"
-msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
-
-#: cp/decl2.c:535
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr ""
-
-#: cp/decl2.c:561
-msgid "-fname-mangling-version is no longer supported"
-msgstr ""
-
-#: cp/decl2.c:624
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr ""
-
-#: cp/decl2.c:761
+#: cp/decl2.c:154
#, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr ""
-#: cp/decl2.c:800
+#: cp/decl2.c:193
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:806
+#: cp/decl2.c:199
msgid "template `%#D' defined in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:963
+#: 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:1030
+#: cp/decl2.c:429
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr ""
-#: cp/decl2.c:1061 cp/decl2.c:1075
+#: cp/decl2.c:460 cp/decl2.c:474
msgid "ambiguous conversion for array subscript"
msgstr ""
-#: cp/decl2.c:1069
+#: cp/decl2.c:468
msgid "invalid types `%T[%T]' for array subscript"
msgstr ""
-#: cp/decl2.c:1117
+#: cp/decl2.c:516
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr ""
-#: cp/decl2.c:1125
+#: cp/decl2.c:524
msgid "anachronistic use of array size in vector delete"
msgstr ""
-#: cp/decl2.c:1135
+#: cp/decl2.c:534
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
msgstr ""
-#: cp/decl2.c:1142
+#: cp/decl2.c:541
msgid "deleting `%T' is undefined"
msgstr ""
-#: cp/decl2.c:1150
+#: 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:1197
+#: cp/decl2.c:583
msgid "invalid declaration of member template `%#D' in local class"
msgstr ""
-#: cp/decl2.c:1206
+#: cp/decl2.c:592
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr ""
-#: cp/decl2.c:1216 cp/pt.c:2559
+#: cp/decl2.c:602 cp/pt.c:2586
msgid "template declaration of `%#D'"
msgstr ""
-#: cp/decl2.c:1266
+#: cp/decl2.c:652
msgid "Java method '%D' has non-Java return type `%T'"
msgstr ""
-#: cp/decl2.c:1275
+#: cp/decl2.c:661
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr ""
-#: cp/decl2.c:1371
+#: cp/decl2.c:737
#, fuzzy
msgid "prototype for `%#D' does not match any in class `%T'"
msgstr "ôï áñ÷åßï äåäïìÝíùí ðñïößë `%s' äåí ôáéñéÜæåé ìå ôï äéáìïéñáæüìåíï áíôéêåßìåíï `%s'"
-#: cp/decl2.c:1373
-msgid "candidate%s: %+#D"
-msgstr ""
-
-#: cp/decl2.c:1376
-msgid " %#D"
-msgstr " %#D"
+#: cp/decl2.c:819
+#, fuzzy
+msgid "local class `%#T' shall not have static data member `%#D'"
+msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/decl2.c:1432
+#: cp/decl2.c:827
msgid "initializer invalid for static member with constructor"
msgstr ""
-#: cp/decl2.c:1435
+#: cp/decl2.c:830
msgid "(an out of class initialization is required)"
msgstr ""
-#: cp/decl2.c:1494
+#: cp/decl2.c:889
msgid "invalid data member initialization"
msgstr ""
-#: cp/decl2.c:1497
+#: cp/decl2.c:892
msgid "(use `=' to initialize static data members)"
msgstr ""
-#: cp/decl2.c:1537
+#: cp/decl2.c:938
msgid "member `%D' conflicts with virtual function table field name"
msgstr ""
-#: cp/decl2.c:1557
+#: cp/decl2.c:958
msgid "`%D' is already defined in `%T'"
msgstr ""
-#: cp/decl2.c:1608
+#: cp/decl2.c:1010
msgid "field initializer is not constant"
msgstr ""
-#: cp/decl2.c:1631
+#: cp/decl2.c:1034
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr ""
-#: cp/decl2.c:1683
+#: cp/decl2.c:1086
msgid "cannot declare `%D' to be a bit-field type"
msgstr ""
-#: cp/decl2.c:1693
+#: cp/decl2.c:1096
msgid "cannot declare bit-field `%D' with function type"
msgstr ""
-#: cp/decl2.c:1700
+#: cp/decl2.c:1103
msgid "`%D' is already defined in the class %T"
msgstr ""
-#: cp/decl2.c:1709
+#: cp/decl2.c:1110
msgid "static member `%D' cannot be a bit-field"
msgstr ""
-#: cp/decl2.c:1778
+#: cp/decl2.c:1197
msgid "initializer specified for non-member function `%D'"
msgstr ""
-#: cp/decl2.c:1782
+#: cp/decl2.c:1201
#, fuzzy
msgid "invalid initializer for virtual method `%D'"
msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
-#: cp/decl2.c:1886
+#: cp/decl2.c:1315
msgid "anonymous struct not inside named type"
msgstr ""
-#: cp/decl2.c:1982
+#: cp/decl2.c:1411
msgid "namespace-scope anonymous aggregates must be static"
msgstr ""
-#: cp/decl2.c:1992
+#: cp/decl2.c:1424
msgid "anonymous aggregate with no members"
msgstr ""
-#: cp/decl2.c:2059
+#: cp/decl2.c:1493
msgid "`operator new' must return type `%T'"
msgstr ""
-#: cp/decl2.c:2067
+#: cp/decl2.c:1501
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr ""
-#: cp/decl2.c:2094
+#: cp/decl2.c:1528
msgid "`operator delete' must return type `%T'"
msgstr ""
-#: cp/decl2.c:2102
+#: 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:2839
+#: cp/decl2.c:2290
msgid "too many initialization functions required"
msgstr ""
-#: cp/decl2.c:3650
+#: cp/decl2.c:2966
+msgid "inline function `%D' used but never defined"
+msgstr ""
+
+#: cp/decl2.c:3086
#, fuzzy
msgid "use of old-style cast"
msgstr "ðáëáéïý åßäïõò èÝóç"
# src/getopt.c:628
# src/getopt.c:628
-#: cp/decl2.c:4208
+#: cp/decl2.c:3794
#, fuzzy
msgid "use of `%D' is ambiguous"
msgstr "%s: ç åðéëïãÞ `%s' åßíáé áóáöÞò\n"
-#: cp/decl2.c:4209
+#: cp/decl2.c:3795
msgid " first declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4212
+#: cp/decl2.c:3798
msgid " also declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4227
+#: cp/decl2.c:3813
msgid "`%D' denotes an ambiguous type"
msgstr ""
-#: cp/decl2.c:4228
+#: cp/decl2.c:3814
msgid " first type here"
msgstr ""
-#: cp/decl2.c:4229
+#: cp/decl2.c:3815
msgid " other type here"
msgstr ""
-#: cp/decl2.c:4326
+#: cp/decl2.c:3912
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr ""
-#: cp/decl2.c:4360
+#: cp/decl2.c:3946
msgid "`%D' should have been declared inside `%D'"
msgstr ""
-#: cp/decl2.c:4494
+#: cp/decl2.c:4079
#, fuzzy
msgid "`%D' is not a function,"
msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
-#: cp/decl2.c:4495
+#: cp/decl2.c:4080
msgid " conflict with `%D'"
msgstr ""
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4809
+#: cp/decl2.c:4396
#, fuzzy
msgid "unknown namespace `%D'"
msgstr "Üãíùóôï óåô `%s'"
-#: cp/decl2.c:4843 cp/decl2.c:5104
+#: cp/decl2.c:4430 cp/decl2.c:4707
#, fuzzy
msgid "`%T' is not a namespace"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/decl2.c:4845
+#: cp/decl2.c:4432
#, fuzzy
msgid "`%D' is not a namespace"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/decl2.c:4854
+#: cp/decl2.c:4441
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr ""
-#: cp/decl2.c:4868
+#: cp/decl2.c:4455
msgid "namespace `%D' not allowed in using-declaration"
msgstr ""
-#: cp/decl2.c:4897
+#: cp/decl2.c:4484
#, fuzzy
msgid "`%D' not declared"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/decl2.c:4939
+#: cp/decl2.c:4535
msgid "`%D' is already declared in this scope"
msgstr ""
-#: cp/decl2.c:4966
+#: cp/decl2.c:4562
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr ""
-#: cp/decl2.c:5057
+#: cp/decl2.c:4653
msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cp/decl2.c:5063
+#: cp/decl2.c:4659
msgid "using-declaration for destructor"
msgstr ""
-#: cp/decl2.c:5069
+#: cp/decl2.c:4665
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr ""
-#: cp/decl2.c:5098
+#: cp/decl2.c:4701
msgid "namespace `%T' undeclared"
msgstr ""
-#: cp/decl2.c:5127
+#: cp/decl2.c:4730
msgid "default argument missing for parameter %P of `%+#D'"
msgstr ""
-#: cp/decl2.c:5217
+#: cp/decl2.c:4829
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr ""
-#: cp/decl2.c:5221
+#: cp/decl2.c:4833
#, fuzzy
msgid "`%T' does not have a class or union named `%D'"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/decl2.c:5234
+#: cp/decl2.c:4848
#, fuzzy
msgid "`%T' is not a class or union type"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+#: cp/decl2.c:4862
+#, fuzzy
+msgid "template argument is required for `%T'"
+msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
+
#: cp/error.c:35
#, fuzzy, c-format
msgid "`%s' not supported by %s"
@@ -17787,7 +16046,12 @@ msgstr ""
msgid "(static %s for %s)"
msgstr ""
-#: cp/error.c:2432
+#: cp/error.c:1482
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2430
#, c-format
msgid "In %s `%s':"
msgstr ""
@@ -17808,50 +16072,50 @@ msgid "%s:%d: instantiated from here\n"
msgstr ""
#. damn ICE suppression
-#: cp/error.c:2669
+#: 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:558
+#: cp/except.c:639
msgid "throwing NULL, which has integral, not pointer type"
msgstr ""
-#: cp/except.c:663
+#: cp/except.c:730
msgid " in thrown expression"
msgstr ""
-#: cp/except.c:775
+#: cp/except.c:856
msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr ""
-#: cp/except.c:863
+#: cp/except.c:944
msgid "exception of type `%T' will be caught"
msgstr ""
-#: cp/except.c:866
+#: cp/except.c:947
msgid " by earlier handler for `%T'"
msgstr ""
-#: cp/except.c:887
+#: cp/except.c:968
msgid "`...' handler must be the last handler for its try block"
msgstr ""
@@ -17863,138 +16127,129 @@ 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
#, fuzzy
msgid "`%#T' is not a template"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/friend.c:268
+#: cp/friend.c:272
#, fuzzy
msgid "`%T' is already a friend of `%T'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/friend.c:364
+#: cp/friend.c:370
msgid "member `%D' declared as friend before type `%T' defined"
msgstr ""
-#: cp/friend.c:419
+#: cp/friend.c:425
msgid "friend declaration `%#D' declares a non-template function"
msgstr ""
-#: cp/friend.c:422
+#: 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:381
+#: cp/g++spec.c:209 java/jvspec.c:423
#, fuzzy, c-format
msgid "argument to `%s' missing\n"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: cp/init.c:285
+#: 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:290
+#: cp/init.c:374
msgid "uninitialized reference member `%D'"
msgstr ""
-#: cp/init.c:298
+#: cp/init.c:382
msgid "initializer list treated as compound expression"
msgstr ""
-#: cp/init.c:410
-msgid "member initializers for `%#D'"
-msgstr ""
-
-#: cp/init.c:412
-msgid " and `%#D'"
-msgstr ""
-
-#: cp/init.c:413
-msgid " will be re-ordered to match declaration order"
-msgstr ""
-
-#: cp/init.c:428
-msgid "multiple initializations given for member `%D'"
-msgstr ""
-
-#: cp/init.c:500
-msgid "initializations for multiple members of `%T'"
+#: cp/init.c:523
+msgid "`%D' will be initialized after"
msgstr ""
-#: cp/init.c:617
-msgid "base initializers for `%#T'"
-msgstr ""
+#: cp/init.c:526
+#, fuzzy
+msgid "base `%T' will be initialized after"
+msgstr "ç êëÜóç ÷áñáêôÞñùí `%s' ïñßóôçêå Þäç"
-#: cp/init.c:618
-msgid " and `%#T'"
-msgstr ""
+#: cp/init.c:529
+#, fuzzy
+msgid " `%#D'"
+msgstr " `%s'"
-#: cp/init.c:619
-msgid " will be re-ordered to match inheritance order"
-msgstr ""
+#: cp/init.c:531
+#, fuzzy
+msgid " base `%T'"
+msgstr " êáôÜ `%D'"
-#: cp/init.c:631
+# src/request.c:263
+#: cp/init.c:549
#, fuzzy
-msgid "base class `%T' already initialized"
-msgstr "ç êëÜóç ÷áñáêôÞñùí `%s' ïñßóôçêå Þäç"
+msgid "multiple initializations given for base `%T'"
+msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
-#: cp/init.c:702
-msgid "base class `%#T' should be explicitly initialized in the copy constructor"
+#: cp/init.c:616
+msgid "initializations for multiple members of `%T'"
msgstr ""
-#: cp/init.c:745
-msgid "`%D' should be initialized in the member initialization list"
+#: cp/init.c:671
+msgid "base class `%#T' should be explicitly initialized in the copy constructor"
msgstr ""
-#: cp/init.c:987
+#: cp/init.c:916
msgid "class `%T' does not have any field named `%D'"
msgstr ""
-#: cp/init.c:993
+#: cp/init.c:922
msgid "field `%#D' is static; the only point of initialization is its definition"
msgstr ""
-#: cp/init.c:1032
+#: cp/init.c:956
msgid "unnamed initializer for `%T', which has no base classes"
msgstr ""
-#: cp/init.c:1039
+#: cp/init.c:963
msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr ""
-#: cp/init.c:1068
+#: cp/init.c:1000
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr ""
-#: cp/init.c:1071
+#: cp/init.c:1003
#, fuzzy
msgid "type `%D' is not a direct base of `%T'"
msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
@@ -18011,28 +16266,28 @@ msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1165
+#: cp/init.c:1097
msgid "bad array initializer"
msgstr ""
-#: cp/init.c:1357
+#: cp/init.c:1304
#, fuzzy
msgid "`%T' is not an aggregate type"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/init.c:1380
+#: cp/init.c:1327
msgid "`%T' fails to be an aggregate typedef"
msgstr ""
-#: cp/init.c:1389
+#: cp/init.c:1336
msgid "type `%T' is of non-aggregate type"
msgstr ""
-#: cp/init.c:1491
+#: cp/init.c:1439
msgid "cannot call destructor `%T::~%T' without object"
msgstr ""
-#: cp/init.c:1533
+#: cp/init.c:1483
#, fuzzy
msgid "invalid use of non-static field `%D'"
msgstr "ìç Ýãêõñïò áñéèìüò áðü óôÞëåò: `%s'"
@@ -18040,549 +16295,509 @@ msgstr "ìç Ýãêõñïò áñéèìüò áðü óôÞëåò: `%s'"
#. We can get here when processing a bad default
#. argument, like:
#. struct S { int a; void f(int i = a); }
-#: cp/init.c:1542 cp/method.c:194
+#: cp/init.c:1492 cp/method.c:160
#, fuzzy
msgid "invalid use of member `%D'"
msgstr "ìç Ýãêõñïò áñéèìüò ðåäßïõ: `%s'"
-#: cp/init.c:1552
+#: cp/init.c:1502
msgid "no method `%T::%D'"
msgstr ""
-#: cp/init.c:1645
+#: cp/init.c:1595
msgid "incomplete type `%T' does not have member `%D'"
msgstr ""
-#: cp/init.c:1714
+#: cp/init.c:1669
#, fuzzy
msgid "`%D' is not a member of type `%T'"
msgstr "äåí åßóôå ìÝëïò ôçò ïìÜäáò `%s'"
-#: cp/init.c:1733
+#: cp/init.c:1688
#, fuzzy
-msgid "illegal pointer to bit-field `%D'"
+msgid "invalid pointer to bit-field `%D'"
msgstr "áêáôÜëëçëïò ôýðïò äéêôýïõ :`%s'\n"
-#: cp/init.c:1772
+#: cp/init.c:1727
msgid "object missing in use of pointer-to-member construct"
msgstr ""
-#: cp/init.c:1812
+#: cp/init.c:1767
msgid "member `%D' is non-static but referenced as a static member"
msgstr ""
-#: cp/init.c:1814 cp/typeck.c:3168 cp/typeck.c:3276
+#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932
msgid "at this point in file"
msgstr ""
-#: cp/init.c:1872 cp/typeck.c:2963
+#: cp/init.c:1806
#, c-format
msgid "object missing in `%E'"
msgstr ""
-#: cp/init.c:2004
+#: cp/init.c:1937
msgid "new of array type fails to specify size"
msgstr ""
-#: cp/init.c:2015
+#: cp/init.c:1948
msgid "size in array new must have integral type"
msgstr ""
-#: cp/init.c:2021
+#: cp/init.c:1954
msgid "zero size array reserves no space"
msgstr ""
-#: cp/init.c:2086
+#: cp/init.c:2019
msgid "new cannot be applied to a reference type"
msgstr ""
-#: cp/init.c:2092
+#: cp/init.c:2025
msgid "new cannot be applied to a function type"
msgstr ""
-#: cp/init.c:2139
+#: cp/init.c:2072
msgid "call to Java constructor, while `jclass' undefined"
msgstr ""
-#: cp/init.c:2155
+#: cp/init.c:2088
msgid "can't find class$"
msgstr ""
-#: cp/init.c:2268
+#: cp/init.c:2202
#, fuzzy
msgid "invalid type `void' for new"
msgstr "ìç Ýãêõñç êáôÜóôáóç ãéá ôçí dlopen()"
-#: cp/init.c:2320
+#: cp/init.c:2254
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr ""
-#: cp/init.c:2429
+#: cp/init.c:2362
msgid "ISO C++ forbids initialization in array new"
msgstr ""
-#: cp/init.c:2447 cp/typeck2.c:383 cp/typeck2.c:1227
+#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223
msgid "initializer list being treated as compound expression"
msgstr ""
-#: cp/init.c:2453
+#: cp/init.c:2386
msgid "ISO C++ forbids aggregate initializer to new"
msgstr ""
-#: cp/init.c:2528
+#: cp/init.c:2474
msgid "uninitialized const in `new' of `%#T'"
msgstr ""
-#: cp/init.c:2892
+#: cp/init.c:2840
msgid "initializer ends prematurely"
msgstr ""
-#: cp/init.c:2962
+#: cp/init.c:2910
msgid "cannot initialize multi-dimensional array with initializer"
msgstr ""
-#: cp/init.c:3137
+#: cp/init.c:3100
msgid "unknown array size in delete"
msgstr ""
-#: cp/init.c:3402
+#: cp/init.c:3365
msgid "type to vector delete is neither pointer or array type"
msgstr ""
-#: cp/lex.c:144
+#: cp/lex.c:136
#, fuzzy
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
#, fuzzy
msgid "type name expected before `&'"
msgstr "ÅããñáöÞ ïíïìÜôùí ôùí åðéëåãìÝíùí êáôçãïñéþí"
-#: cp/lex.c:1000
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
msgstr ""
-#: cp/lex.c:1003
+#: cp/lex.c:897
msgid "semicolon missing after declaration of `%T'"
msgstr ""
-#: cp/lex.c:1051
+#: cp/lex.c:945
#, c-format
msgid "junk at end of #pragma %s"
msgstr ""
-#: cp/lex.c:1058
+#: cp/lex.c:952
#, fuzzy, c-format
msgid "invalid #pragma %s"
msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-#: cp/lex.c:1067
+#: cp/lex.c:961
msgid "#pragma vtable no longer supported"
msgstr ""
-#: cp/lex.c:1144
+#: cp/lex.c:1038
#, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr ""
-#: cp/lex.c:1169
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
msgstr ""
-#: cp/lex.c:1254
+#: cp/lex.c:1107
#, fuzzy
msgid "`%D' not defined"
msgstr "áüñéóôï"
-#: cp/lex.c:1259
+#: cp/lex.c:1110
msgid "`%D' was not declared in this scope"
msgstr ""
-#: cp/lex.c:1269
+#: cp/lex.c:1118
msgid "`%D' undeclared (first use this function)"
msgstr ""
-#: cp/lex.c:1273
+#: cp/lex.c:1122
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr ""
-#: cp/lex.c:1296
-#, fuzzy, c-format
-msgid "name lookup of `%s' changed"
-msgstr "ç ïìÜäá ôïõ %s Üëëáîå óå %s\n"
-
-#: cp/lex.c:1298
-msgid " matches this `%D' under ISO standard rules"
-msgstr ""
-
-#: cp/lex.c:1300
-msgid " matches this `%D' under old rules"
-msgstr ""
-
-#: cp/lex.c:1310 cp/lex.c:1317
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr ""
-
-#: cp/lex.c:1312
-msgid " cannot use obsolete binding at `%D' because it has a destructor"
-msgstr ""
-
-#: cp/lex.c:1319
-msgid " using obsolete binding at `%D'"
-msgstr ""
-
-#: cp/lex.c:1384
+#: cp/lex.c:1239
msgid "`::%D' undeclared (first use here)"
msgstr ""
-#: cp/mangle.c:1892
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
msgstr ""
-#: cp/method.c:166
-msgid "methods cannot be converted to function pointers"
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
msgstr ""
-# src/main.c:659
-#: cp/method.c:171
-#, fuzzy, c-format
-msgid "ambiguous request for method pointer `%s'"
-msgstr "ÁóáöÞò óõìâïëïóåéñÜ `%s'"
-
-#: cp/method.c:188
+#: cp/method.c:154
msgid "invalid use of member `%D' in static member function"
msgstr ""
-#: cp/method.c:236
+#: cp/method.c:216
msgid "use of namespace `%D' as expression"
msgstr ""
-#: cp/method.c:241
+#: cp/method.c:221
msgid "use of class template `%T' as expression"
msgstr ""
-#: cp/method.c:254
+#: cp/method.c:234
#, c-format
msgid "use of %s from containing function"
msgstr ""
-#: cp/method.c:257
+#: cp/method.c:237
msgid " `%#D' declared here"
msgstr ""
-#: cp/method.c:275
+#: cp/method.c:255
msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr ""
-#: cp/method.c:328
-msgid "implementation-reserved name `%D' used"
-msgstr ""
-
-#: cp/method.c:453
+#: cp/method.c:455
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr ""
-#: cp/method.c:683
+#: cp/method.c:694
msgid "non-static const member `%#D', can't use default assignment operator"
msgstr ""
-#: cp/method.c:688
+#: cp/method.c:699
msgid "non-static reference member `%#D', can't use default assignment operator"
msgstr ""
-#: parse.y:498
+#: parse.y:261
+#, fuzzy
+msgid "`%s' tag used in naming `%#T'"
+msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
+
+#: parse.y:541
msgid "keyword `export' not implemented, and will be ignored"
msgstr ""
-#: parse.y:602
+#: parse.y:645
msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr ""
-# src/grep.c:785 src/grep.c:792
-# src/grep.c:1060 src/grep.c:1067 src/grep.c:1076
-#: parse.y:674
-#, fuzzy
-msgid "invalid default template argument"
-msgstr "ìç Ýãêõñï üñéóìá ìÞêïõò ðåñéå÷ïìÝíïõ"
-
-#: parse.y:905
-msgid "only constructors take base initializers"
-msgstr ""
-
-#: parse.y:907
+#: parse.y:942
msgid "no base or member initializers given following ':'"
msgstr ""
-#: parse.y:949 parse.y:955
+#: parse.y:983 parse.y:989
msgid "anachronistic old style base class initializer"
msgstr ""
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1077
+#: parse.y:1115
msgid "`>>' should be `> >' in template class name"
msgstr ""
-#: parse.y:1115
+#: parse.y:1153
msgid "use of template qualifier outside template"
msgstr ""
-#: parse.y:1144 parse.y:1153
+#: parse.y:1182 parse.y:1191
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr ""
-#: parse.y:1176
+#: parse.y:1214
msgid "definition of class `%T' in condition"
msgstr ""
-#: parse.y:1178
+#: parse.y:1216
msgid "definition of enum `%T' in condition"
msgstr ""
-#: parse.y:1189
+#: parse.y:1227
msgid "definition of array `%#D' in condition"
msgstr ""
-#: parse.y:1298
+#: parse.y:1340
msgid "old style placement syntax, use () instead"
msgstr ""
-#: parse.y:1309
+#: parse.y:1351
#, fuzzy
msgid "`%T' is not a valid expression"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: parse.y:1320
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr ""
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1358
+#, fuzzy
+msgid "initialization of new expression with `='"
+msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: parse.y:1351
+#: parse.y:1384
msgid "ISO C++ forbids compound literals"
msgstr ""
-#: parse.y:1592
+#: parse.y:1631
msgid "ISO C++ forbids braced-groups within expressions"
msgstr ""
# src/dfa.c:962
# src/dfa.c:970
-#: parse.y:1999 parse.y:2014
+#: parse.y:2035 parse.y:2050
#, fuzzy
msgid "sigof type specifier"
msgstr "Äåí ïñßóôçêå óõíôáêôéêü"
-#: parse.y:2004
+#: parse.y:2040
msgid "`sigof' applied to non-aggregate expression"
msgstr ""
-#: parse.y:2019
+#: parse.y:2055
msgid "`sigof' applied to non-aggregate type"
msgstr ""
-#: parse.y:2283
+#: parse.y:2321
msgid "using `typename' outside of template"
msgstr ""
-#: parse.y:2352
+#: parse.y:2391
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2354
+#: parse.y:2393
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2356
+#: parse.y:2395
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2358
+#: parse.y:2397
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr ""
-#: parse.y:2490
+#: parse.y:2537
msgid "no bases given following `:'"
msgstr ""
-#: parse.y:2521 parse.y:2536
+#: parse.y:2568 parse.y:2583
msgid "`%D' access"
msgstr ""
-#: parse.y:2526
+#: parse.y:2573
msgid "multiple access specifiers"
msgstr ""
-#: parse.y:2544
+#: parse.y:2591
msgid "multiple `virtual' specifiers"
msgstr ""
-#: parse.y:2581
+#: parse.y:2628
msgid "missing ';' before right brace"
msgstr ""
-#: parse.y:2801
+#: parse.y:2849
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
msgstr ""
-#: parse.y:3082 parse.y:3102 parse.y:3111 parse.y:3140
+#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194
#, fuzzy
msgid "`%T' is not a class or namespace"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: parse.y:3307
+#: parse.y:3361
msgid "ISO C++ forbids label declarations"
msgstr ""
-#: parse.y:3462
+#: parse.y:3521
msgid "ISO C++ forbids computed gotos"
msgstr ""
-#: parse.y:3470
+#: parse.y:3529
msgid "label must be followed by statement"
msgstr ""
-#: parse.y:3566
+#: parse.y:3574
+msgid "must have at least one catch per try block"
+msgstr ""
+
+#: 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:3651 parse.y:3661
+#: parse.y:3721 parse.y:3731
msgid "possibly missing ')'"
msgstr ""
-#: parse.y:3758
+#: parse.y:3824
msgid "type specifier omitted for parameter"
msgstr ""
-#: parse.y:3767
+#: parse.y:3833
#, c-format
msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr ""
-#: parse.y:3769
+#: parse.y:3835
#, fuzzy
msgid "no type `%D' in `%T'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: parse.y:3772
+#: parse.y:3838
#, c-format
msgid "type specifier omitted for parameter `%E'"
msgstr ""
-#: parse.y:3780
+#: parse.y:3846
msgid "'%D' is used as a type, but is not defined as a type."
msgstr ""
-#: /usr/share/bison/bison.simple:817
-#, fuzzy
-msgid "parse error; also virtual memory exhausted"
-msgstr "óöÜëìá åðåîåñãáóßáò· åðßóçò ç ìíÞìç åîáíôëÞèçêå"
-
-#: cp/pt.c:208
+#: cp/pt.c:198
msgid "data member `%D' cannot be a member template"
msgstr ""
-#: cp/pt.c:220
+#: cp/pt.c:210
#, fuzzy
msgid "invalid member template declaration `%D'"
msgstr "ìç Ýãêõñïò áñéèìüò áðü êåíÝò ãñáììÝò: `%s'"
-#: cp/pt.c:615
+#: cp/pt.c:605
msgid "explicit specialization in non-namespace scope `%D'"
msgstr ""
-#: cp/pt.c:627
+#: cp/pt.c:617
msgid "enclosing class templates are not explicitly specialized"
msgstr ""
-#: cp/pt.c:702
+#: cp/pt.c:692
msgid "specializing `%#T' in different namespace"
msgstr ""
-#: cp/pt.c:703
+#: cp/pt.c:693
#, fuzzy
msgid " from definition of `%#D'"
msgstr "êáíÝíáò ïñéóìüò ôïõ `UNDEFINED'"
-#: cp/pt.c:711
+#: cp/pt.c:701
msgid "specialization of `%T' after instantiation"
msgstr ""
-#: cp/pt.c:714
+#: cp/pt.c:704
msgid "explicit specialization of non-template `%T'"
msgstr ""
-#: cp/pt.c:846
+#: cp/pt.c:836
msgid "specialization of %D after instantiation"
msgstr ""
-#: cp/pt.c:949
+#: cp/pt.c:939
msgid "%s %+#D"
msgstr ""
-#: cp/pt.c:1000
+#: cp/pt.c:990
msgid "`%D' is not a function template"
msgstr ""
-#: cp/pt.c:1123
+#: cp/pt.c:1129
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr ""
-#: cp/pt.c:1131
+#: 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:1358 cp/pt.c:1432
+#: cp/pt.c:1364 cp/pt.c:1438
msgid "template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/pt.c:1371
+#: cp/pt.c:1377
msgid "template parameter list used in explicit instantiation"
msgstr ""
-#: cp/pt.c:1377
+#: cp/pt.c:1383
msgid "definition provided for explicit instantiation"
msgstr ""
-#: cp/pt.c:1383
+#: cp/pt.c:1389
msgid "too many template parameter lists in declaration of `%D'"
msgstr ""
-#: cp/pt.c:1399
+#: cp/pt.c:1405
msgid "too few template parameter lists in declaration of `%D'"
msgstr ""
-#: cp/pt.c:1416
+#: cp/pt.c:1422
msgid "explicit specialization not preceded by `template <>'"
msgstr ""
-#: cp/pt.c:1429
+#: cp/pt.c:1435
msgid "partial specialization `%D' of function template"
msgstr ""
-#: cp/pt.c:1461
+#: cp/pt.c:1467
msgid "default argument specified in explicit specialization"
msgstr ""
-#: cp/pt.c:1465
+#: cp/pt.c:1471
msgid "template specialization with C linkage"
msgstr ""
@@ -18594,104 +16809,104 @@ msgstr ""
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1553
+#: cp/pt.c:1558
msgid "specialization of implicitly-declared special member function"
msgstr ""
-#: cp/pt.c:1596
+#: cp/pt.c:1602
msgid "no member function `%D' declared in `%T'"
msgstr ""
#. There are two many template parameter lists.
-#: cp/pt.c:1744
+#: cp/pt.c:1750
msgid "too many template parameter lists in declaration of `%T'"
msgstr ""
-#: cp/pt.c:1840
+#: cp/pt.c:1846
msgid " shadows template parm `%#D'"
msgstr ""
-#: cp/pt.c:2244
+#: cp/pt.c:2250
msgid "template parameters not used in partial specialization:"
msgstr ""
-#: cp/pt.c:2248
+#: cp/pt.c:2254
msgid " `%D'"
msgstr " `%D'"
-#: cp/pt.c:2260
+#: cp/pt.c:2266
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr ""
-#: cp/pt.c:2285
+#: cp/pt.c:2291
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr ""
-#: cp/pt.c:2328
+#: cp/pt.c:2335
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr ""
-#: cp/pt.c:2416
+#: cp/pt.c:2423
#, fuzzy
msgid "no default argument for `%D'"
msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-#: cp/pt.c:2549
+#: cp/pt.c:2576
msgid "template with C linkage"
msgstr ""
-#: cp/pt.c:2552
+#: cp/pt.c:2579
#, fuzzy
msgid "template class without a name"
msgstr "ìç ôåñìáôéæüìåíï üíïìá âÜñïõò"
-#: cp/pt.c:2627
+#: cp/pt.c:2656
msgid "`%D' does not declare a template type"
msgstr ""
-#: cp/pt.c:2633
+#: cp/pt.c:2662
#, fuzzy
msgid "template definition of non-template `%#D'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïñéóìïý locale `%s'"
-#: cp/pt.c:2674
+#: cp/pt.c:2703
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr ""
-#: cp/pt.c:2686
+#: cp/pt.c:2715
msgid "got %d template parameters for `%#D'"
msgstr ""
-#: cp/pt.c:2689
+#: cp/pt.c:2718
msgid "got %d template parameters for `%#T'"
msgstr ""
-#: cp/pt.c:2691
+#: cp/pt.c:2720
#, c-format
msgid " but %d required"
msgstr " áëëÜ %d áðáéôïýíôáé"
-#: cp/pt.c:2759
+#: cp/pt.c:2803
#, fuzzy
msgid "`%T' is not a template type"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/pt.c:2775
+#: cp/pt.c:2819
msgid "previous declaration `%D'"
msgstr ""
-#: cp/pt.c:2776
+#: cp/pt.c:2820
#, c-format
msgid "used %d template parameter%s instead of %d"
msgstr ""
-#: cp/pt.c:2792
+#: cp/pt.c:2836
#, fuzzy
msgid "template parameter `%#D'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: cp/pt.c:2793
+#: cp/pt.c:2837
msgid "redeclared here as `%#D'"
msgstr ""
@@ -18699,741 +16914,734 @@ msgstr ""
#.
#. A template-parameter may not be given default arguments
#. by two different declarations in the same scope.
-#: cp/pt.c:2803
+#: cp/pt.c:2847
msgid "redefinition of default argument for `%#D'"
msgstr ""
-#: cp/pt.c:2804
+#: cp/pt.c:2848
msgid " original definition appeared here"
msgstr ""
-#: cp/pt.c:2897
+#: cp/pt.c:2941
#, fuzzy, c-format
msgid "`%E' is not a valid template argument"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: cp/pt.c:2901
+#: cp/pt.c:2945
msgid "it must be the address of a function with external linkage"
msgstr ""
-#: cp/pt.c:2903
+#: cp/pt.c:2947
msgid "it must be the address of an object with external linkage"
msgstr ""
-#: cp/pt.c:2907
+#: cp/pt.c:2951
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr ""
-#: cp/pt.c:2918
+#: 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:2930
+#: cp/pt.c:2974
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2941
+#: cp/pt.c:2985
#, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2948
+#: cp/pt.c:2992
#, c-format
msgid "object `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:3328
+#: cp/pt.c:3367
#, c-format
msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr ""
-#: cp/pt.c:3341 cp/pt.c:3357 cp/pt.c:3396
+#: 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:3344
+#: cp/pt.c:3383
msgid " expected a constant of type `%T', got `%T'"
msgstr ""
-#: cp/pt.c:3348
+#: cp/pt.c:3387
#, fuzzy, c-format
msgid " expected a type, got `%E'"
msgstr "%s: áíáìåíüôáí áêÝñáéïò ìåôÜ ôï `%c'"
-#: cp/pt.c:3360
+#: cp/pt.c:3399
#, fuzzy
msgid " expected a type, got `%T'"
msgstr "%s: áíáìåíüôáí áêÝñáéïò ìåôÜ ôï `%c'"
-#: cp/pt.c:3362
+#: cp/pt.c:3401
msgid " expected a class template, got `%T'"
msgstr ""
-#: cp/pt.c:3398
+#: cp/pt.c:3437
msgid " expected a template of type `%D', got `%D'"
msgstr ""
-#: cp/pt.c:3420
+#: cp/pt.c:3459
msgid "template-argument `%T' uses anonymous type"
msgstr ""
-#: cp/pt.c:3423
+#: cp/pt.c:3462
msgid "template-argument `%T' uses local type `%T'"
msgstr ""
-#: cp/pt.c:3458
+#: cp/pt.c:3472
+#, fuzzy
+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:3502
+#: cp/pt.c:3551
#, fuzzy, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr "ëÜèïò áñéèìüò ïñéóìÜôùí"
-#: cp/pt.c:3506
+#: cp/pt.c:3555
msgid "provided for `%D'"
msgstr ""
-#: cp/pt.c:3553
+#: cp/pt.c:3602
#, fuzzy, c-format
msgid "template argument %d is invalid"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: cp/pt.c:3785
+#: cp/pt.c:3837
msgid "non-template used as template"
msgstr ""
-#: cp/pt.c:3903
+#: cp/pt.c:3968
#, fuzzy
msgid "`%T' is not a template"
msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
-#: cp/pt.c:3916
+#: cp/pt.c:3981
msgid "non-template type `%T' used as a template"
msgstr ""
-#: cp/pt.c:3918
+#: cp/pt.c:3983
msgid "for template declaration `%D'"
msgstr ""
-#: cp/pt.c:4481
+#: 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:4916
+#: cp/pt.c:5074
msgid "ambiguous class template instantiation for `%#T'"
msgstr ""
-#: cp/pt.c:4923
+#: cp/pt.c:5081
msgid "%s %+#T"
msgstr ""
-#: cp/pt.c:5942 cp/pt.c:6056
+#: cp/pt.c:6104 cp/pt.c:6214
msgid "instantiation of `%D' as type `%T'"
msgstr ""
-#: cp/pt.c:6098
+#: cp/pt.c:6258
#, fuzzy
msgid "invalid parameter type `%T'"
msgstr "Ìç Ýãêõñç ðñïôåñáéüôçôá `%s'"
-#: cp/pt.c:6100
+#: cp/pt.c:6260
msgid "in declaration `%D'"
msgstr ""
-#: cp/pt.c:6175
+#: cp/pt.c:6335
msgid "creating pointer to member function of non-class type `%T'"
msgstr ""
-#: cp/pt.c:6338
+#: cp/pt.c:6498
msgid "creating array with size zero"
msgstr ""
-#: cp/pt.c:6352
+#: cp/pt.c:6512
#, c-format
msgid "creating array with size zero (`%E')"
msgstr ""
-#: cp/pt.c:6590
+#: cp/pt.c:6751
msgid "forming reference to void"
msgstr ""
-#: cp/pt.c:6592
+#: cp/pt.c:6753
msgid "forming %s to reference type `%T'"
msgstr ""
-#: cp/pt.c:6630
+#: cp/pt.c:6791
msgid "creating pointer to member of non-class type `%T'"
msgstr ""
-#: cp/pt.c:6637
+#: cp/pt.c:6797
#, fuzzy
msgid "creating pointer to member reference type `%T'"
msgstr "äåí åßóôå ìÝëïò ôçò ïìÜäáò `%s'"
-#: cp/pt.c:6715
+#: cp/pt.c:6875
#, fuzzy
msgid "creating array of `%T'"
msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
-#: cp/pt.c:6761
+#: cp/pt.c:6918
msgid "`%T' is not a class, struct, or union type"
msgstr ""
-#: cp/pt.c:6873
+#: cp/pt.c:7028
#, c-format
msgid "use of `%s' in template"
msgstr ""
-#: cp/pt.c:7630
+#: cp/pt.c:7790
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr ""
-#: cp/pt.c:7631
+#: cp/pt.c:7791
msgid " trying to instantiate `%D'"
msgstr ""
-#: cp/pt.c:8061
+#: cp/pt.c:8230
#, fuzzy
msgid "incomplete type unification"
msgstr "Ìåôáãëùôôéóìüò ðñïäéáãñáöþí ôïðéêþí ñõèìßóåùí"
-#: cp/pt.c:9016
+#: cp/pt.c:9178
#, c-format
msgid "use of `%s' in template type unification"
msgstr ""
-#: cp/pt.c:9438 cp/pt.c:9506
+#: cp/pt.c:9596 cp/pt.c:9668
msgid "explicit instantiation of non-template `%#D'"
msgstr ""
-#: cp/pt.c:9454 cp/pt.c:9501
+#: cp/pt.c:9612 cp/pt.c:9663
#, fuzzy
msgid "no matching template for `%D' found"
msgstr "Ï Ýëåã÷ïò ìïíïðáôéïý ãéá ôï `%s' âñÞêå `%s'"
-#: cp/pt.c:9460
+#: 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:9477
-msgid "explicit instantiation of `%#D' after"
-msgstr ""
-
-#: cp/pt.c:9478 cp/pt.c:9615
-msgid "explicit specialization here"
-msgstr ""
-
-#: cp/pt.c:9493
+#: cp/pt.c:9655
#, fuzzy
msgid "duplicate explicit instantiation of `%#D'"
msgstr "äéðëüò ïñéóìüò óõíüëïõ"
-#: cp/pt.c:9518
+#: cp/pt.c:9680
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr ""
-#: cp/pt.c:9522 cp/pt.c:9600
+#: cp/pt.c:9684 cp/pt.c:9762
msgid "storage class `%D' applied to template instantiation"
msgstr ""
-#: cp/pt.c:9567
+#: cp/pt.c:9729
msgid "explicit instantiation of non-template type `%T'"
msgstr ""
-#: cp/pt.c:9581
+#: cp/pt.c:9743
msgid "explicit instantiation of `%#T' before definition of template"
msgstr ""
-#: cp/pt.c:9589
+#: cp/pt.c:9751
#, c-format
msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
msgstr ""
-#: cp/pt.c:9614
-msgid "explicit instantiation of `%#T' after"
-msgstr ""
-
-#: cp/pt.c:9632
+#: cp/pt.c:9795
#, fuzzy
msgid "duplicate explicit instantiation of `%#T'"
msgstr "äéðëüò ïñéóìüò óõíüëïõ"
-#: cp/pt.c:9973
+#: cp/pt.c:10177
msgid "explicit instantiation of `%D' but no definition available"
msgstr ""
-#: cp/pt.c:10345
+#: cp/pt.c:10551
#, fuzzy
msgid "`%#T' is not a valid type for a template constant parameter"
msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: 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
#, fuzzy, c-format
msgid "can't create repository information file `%s'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïñéóìïý locale `%s'"
-#: cp/rtti.c:200
+#: cp/rtti.c:240
#, fuzzy
msgid "cannot use typeid with -fno-rtti"
msgstr "Äåí åßíáé äõíáôü íá ÷ñçóéìïðïéçèåß ç åðéëïãÞ -a ÷ùñßò ôï -n"
-#: 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
#, fuzzy
msgid "`%T' is an inaccessible base of `%T'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/search.c:350
+#: cp/search.c:358
#, fuzzy
msgid "`%T' is an ambiguous base of `%T'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/search.c:1826
+#: cp/search.c:1925
msgid "adjusting pointers for covariant returns"
msgstr ""
-#: cp/search.c:1830 cp/search.c:1837
+#: cp/search.c:1929 cp/search.c:1936
#, fuzzy
msgid "invalid covariant return type for `%#D'"
msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
-#: cp/search.c:1831
+#: cp/search.c:1930
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr ""
-#: cp/search.c:1838
+#: cp/search.c:1937
msgid " overriding `%#D' (must use pointer or reference)"
msgstr ""
-#: cp/search.c:1843
+#: cp/search.c:1942
msgid "conflicting return type specified for `%#D'"
msgstr ""
-#: cp/search.c:1844
+#: cp/search.c:1943
#, fuzzy
msgid " overriding `%#D'"
msgstr "áíôéãñÜöåôáé áðü ðÜíù"
-#: cp/search.c:1853
+#: cp/search.c:1952
+#, c-format
msgid "looser throw specifier for `%#F'"
msgstr ""
-#: cp/search.c:1854
-#, fuzzy
+#: cp/search.c:1953
+#, fuzzy, c-format
msgid " overriding `%#F'"
msgstr "áíôéãñÜöåôáé áðü ðÜíù"
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1944
+#: cp/search.c:2042
#, fuzzy
msgid "`%#D' cannot be declared"
msgstr "Äåí ìðïñåß íá ôåèåß ç çìåñïìçíßá."
-#: cp/search.c:1945
+#: cp/search.c:2043
msgid " since `%#D' declared in base class"
msgstr ""
-#: cp/search.c:2130
+#: cp/search.c:2184
msgid "`%#D' needs a final overrider"
msgstr ""
-#: cp/semantics.c:903
+#: cp/semantics.c:919
#, c-format
msgid "type of asm operand `%E' could not be determined"
msgstr ""
-#: cp/semantics.c:1045
+#: cp/semantics.c:1051
msgid "ISO C++ does not permit named return values"
msgstr ""
-#: cp/semantics.c:1054
+#: cp/semantics.c:1060
msgid "return identifier `%D' already in place"
msgstr ""
-#: cp/semantics.c:1062
+#: cp/semantics.c:1068
msgid "can't redefine default return value for constructors"
msgstr ""
-#: cp/semantics.c:1129
-msgid "base initializer for `%T'"
-msgstr ""
-
-#: cp/semantics.c:1131
-msgid " will be re-ordered to precede member initializations"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
msgstr ""
-#: cp/semantics.c:1319
+#: cp/semantics.c:1342
msgid "`this' is unavailable for static member functions"
msgstr ""
-#: cp/semantics.c:1325
+#: cp/semantics.c:1348
msgid "invalid use of `this' in non-member function"
msgstr ""
-#: cp/semantics.c:1327
+#: cp/semantics.c:1350
msgid "invalid use of `this' at top level"
msgstr ""
-#: cp/semantics.c:1365
+#: cp/semantics.c:1380
msgid "calling type `%T' like a method"
msgstr ""
-#: cp/semantics.c:1401
+#: cp/semantics.c:1418
msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr ""
-#: cp/semantics.c:1407
+#: cp/semantics.c:1424
#, fuzzy
msgid "`%E' is not of type `%T'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/semantics.c:1619
+#: cp/semantics.c:1612
msgid "template type parameters must use the keyword `class' or `typename'"
msgstr ""
-#: cp/semantics.c:1678
+# src/grep.c:785 src/grep.c:792
+# src/grep.c:1060 src/grep.c:1067 src/grep.c:1076
+#: cp/semantics.c:1651
+#, fuzzy
+msgid "invalid default template argument"
+msgstr "ìç Ýãêõñï üñéóìá ìÞêïõò ðåñéå÷ïìÝíïõ"
+
+#: cp/semantics.c:1693
msgid "definition of `%#T' inside template parameter list"
msgstr ""
-#: cp/semantics.c:1694
+#: cp/semantics.c:1709
#, fuzzy
msgid "invalid definition of qualified type `%T'"
msgstr "ìç Ýãêõñïò áñéèìüò áñ÷åßïõ óôç äÞëùóç ðåäßïõ: `%s'"
-#: cp/semantics.c:2046
+#: cp/semantics.c:2051
+#, fuzzy
+msgid "invalid base-class specification"
+msgstr "Ìç Ýãêõñç ñýèìéóç èýñáò (port)"
+
+#: cp/semantics.c:2060
msgid "base class `%T' has cv qualifiers"
msgstr ""
-#: cp/semantics.c:2079
+#: cp/semantics.c:2091
msgid "multiple declarators in template declaration"
msgstr ""
-#: cp/spew.c:245
+#: cp/spew.c:225
#, c-format
msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
msgstr ""
-#: cp/spew.c:1020 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
#, fuzzy
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
#, fuzzy
msgid "invalid type `%T' for default argument to `%T'"
msgstr "Ìç Ýãêõñç áêÝñáéá ðáñÜìåôñïò `%s'"
-#: cp/spew.c:1495
+#: cp/spew.c:1539
#, c-format
msgid "%s before `%s'"
msgstr "%s ðñéí áðü `%s'"
-#: cp/spew.c:1497
+#: cp/spew.c:1541
#, c-format
msgid "%s before `%c'"
msgstr "%s ðñéí áðü `%c'"
-#: cp/spew.c:1499
+#: cp/spew.c:1543
#, c-format
msgid "%s before `\\%o'"
msgstr "%s ðñéí áðü `\\%o'"
-#: cp/spew.c:1502
+#: cp/spew.c:1546
#, fuzzy, c-format
msgid "%s before `%s' token"
msgstr "%s (ãéá êáíïíéêÞ Ýêöñáóç `%s')"
-#: cp/tree.c:224
+#: cp/tree.c:251 cp/tree.c:263
#, c-format
msgid "non-lvalue in %s"
msgstr ""
-#: cp/tree.c:536
-msgid "`%T' cannot be `restrict'-qualified"
-msgstr ""
-
-#: cp/tree.c:547
-msgid "`%T' cannot be `const'-, `volatile'-, or `restrict'-qualified"
-msgstr ""
+#: cp/tree.c:635
+#, fuzzy
+msgid "`%V' qualifiers cannot be applied to `%T'"
+msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
-#: cp/tree.c:1888
+#: cp/tree.c:2012
#, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr ""
-#: cp/tree.c:1918
+#: cp/tree.c:2042
#, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr ""
-#: cp/tree.c:1924
+#: cp/tree.c:2048
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr ""
-#: cp/tree.c:1949
+#: cp/tree.c:2073
msgid "requested init_priority is not an integer constant"
msgstr ""
-#: cp/tree.c:1970
+#: 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:1978
+#: cp/tree.c:2102
msgid "requested init_priority is out of range"
msgstr ""
-#: cp/tree.c:1988
+#: cp/tree.c:2112
msgid "requested init_priority is reserved for internal use"
msgstr ""
-#: cp/tree.c:1998
+#: cp/tree.c:2122
#, fuzzy, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr "ðñïåéäïðïßçóç: ôï --pid=PID äåí õðïóôçñßæåôáé óå áõôü ôï óýóôçìá"
-#: cp/typeck.c:480
+#: 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:501
+#: cp/typeck.c:545
msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
msgstr ""
-#: cp/typeck.c:1485
+#: cp/typeck.c:1438
msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
msgstr ""
-#: cp/typeck.c:1555
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr ""
-
-#: cp/typeck.c:1561
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr ""
-
-#: cp/typeck.c:1567
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr ""
-
-#: cp/typeck.c:1581
-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:1586
-msgid "`sizeof' applied to incomplete type `%T'"
-msgstr ""
+#: cp/typeck.c:1522
+#, fuzzy, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-#: cp/typeck.c:1616
+#: cp/typeck.c:1540
msgid "sizeof applied to a bit-field"
msgstr ""
-#: cp/typeck.c:1619
+#: cp/typeck.c:1543
msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
msgstr ""
-#: cp/typeck.c:1766
+#: cp/typeck.c:1655
#, fuzzy
msgid "invalid use of non-lvalue array"
msgstr "ìç Ýãêõñç þñá ôçò ìÝñáò"
-#: cp/typeck.c:1872
+#: cp/typeck.c:1761
msgid "deprecated conversion from string constant to `%T'"
msgstr ""
-#: cp/typeck.c:1890
-msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
-msgstr ""
-
-#: cp/typeck.c:2083
-msgid "destructor specifier `%T::~%T' must have matching names"
+#: 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:2089
+#: cp/typeck.c:1918
#, fuzzy
-msgid "type `%T' has no destructor"
-msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
+msgid "`%D' is not a member of `%T'"
+msgstr "äåí åßóôå ìÝëïò ôçò ïìÜäáò `%s'"
-#: cp/typeck.c:2106 cp/typeck.c:2188
+#: cp/typeck.c:1958 cp/typeck.c:1979
#, fuzzy
-msgid "invalid use of type decl `%#D' as expression"
-msgstr "Ìç Ýãêõñç ðñïðïñåõüìåíç êáíïíéêÞ Ýêöñáóç"
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "ìç Ýãêõñïò áñéèìüò áðü óôÞëåò: `%s'"
+
+#: cp/typeck.c:1960 cp/typeck.c:1981
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr ""
-#: cp/typeck.c:2111
+#: cp/typeck.c:2161
#, fuzzy
-msgid "invalid use of template `%#D' as expression"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "äåí åßóôå ìÝëïò ôçò ïìÜäáò `%s'"
-#: cp/typeck.c:2179
-msgid "`%#T' has no member named `%D'"
+#: cp/typeck.c:2187
+msgid "destructor specifier `%T::~%T' must have matching names"
msgstr ""
-#: cp/typeck.c:2223
-msgid "invalid reference to NULL ptr, use ptr-to-member instead"
-msgstr ""
+#: cp/typeck.c:2193
+#, fuzzy
+msgid "type `%T' has no destructor"
+msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
+
+#: cp/typeck.c:2232
+#, fuzzy
+msgid "`%D' is not a member template function"
+msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2349
+#: cp/typeck.c:2326
#, fuzzy
msgid "`%T' is not a pointer-to-object type"
msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
-#: cp/typeck.c:2376
+#: cp/typeck.c:2353
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr ""
-#: cp/typeck.c:2382
+#: cp/typeck.c:2359
#, fuzzy
msgid "invalid type argument"
msgstr "Ìç Ýãêõñç ðáñÜìåôñïò"
-#: cp/typeck.c:2485
+#: cp/typeck.c:2462
msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr ""
-#: cp/typeck.c:2496
+#: cp/typeck.c:2473
msgid "subscripting array declared `register'"
msgstr ""
-#: cp/typeck.c:2671 cp/typeck.c:2821
-msgid "pointer to member function called, but not in class scope"
-msgstr ""
-
-#: cp/typeck.c:2695
-msgid "object missing in call to method `%D'"
-msgstr ""
-
-#: cp/typeck.c:2739
-msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
-msgstr ""
-
-#: cp/typeck.c:2819
-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:3003
+#: cp/typeck.c:2663
msgid "ISO C++ forbids calling `::main' from within program"
msgstr ""
-#: cp/typeck.c:3028
+#: cp/typeck.c:2688
#, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr ""
-#: cp/typeck.c:3041
+#: cp/typeck.c:2701
#, c-format
msgid "`%E' cannot be used as a function"
msgstr ""
-#: cp/typeck.c:3166
+#: cp/typeck.c:2826
#, fuzzy
msgid "too many arguments to %s `%+#D'"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: cp/typeck.c:3207
+#: cp/typeck.c:2867
msgid "parameter type of called function is incomplete"
msgstr ""
-#: cp/typeck.c:3274
+#: cp/typeck.c:2930
#, fuzzy
msgid "too few arguments to %s `%+#D'"
msgstr "ðïëý ëßãá ïñßóìáôá"
-#: cp/typeck.c:3402 cp/typeck.c:3412
+#: cp/typeck.c:3058 cp/typeck.c:3068
msgid "assuming cast to type `%T' from overloaded function"
msgstr ""
-#: cp/typeck.c:3472
+#: cp/typeck.c:3128
#, c-format
msgid "division by zero in `%E / 0'"
msgstr ""
-#: cp/typeck.c:3474
+#: cp/typeck.c:3130
#, c-format
msgid "division by zero in `%E / 0.'"
msgstr ""
-#: cp/typeck.c:3529
+#: cp/typeck.c:3160
#, fuzzy, c-format
msgid "division by zero in `%E %% 0'"
msgstr "Äéáßñåóç ìå ìçäÝí óôçí áðïôßìçóç: %s"
-#: cp/typeck.c:3531
+#: cp/typeck.c:3162
#, fuzzy, c-format
msgid "division by zero in `%E %% 0.'"
msgstr "Äéáßñåóç ìå ìçäÝí óôçí áðïôßìçóç: %s"
-#: cp/typeck.c:3611
+#: cp/typeck.c:3242
#, c-format
msgid "%s rotate count is negative"
msgstr ""
-#: cp/typeck.c:3614
+#: cp/typeck.c:3245
#, c-format
msgid "%s rotate count >= width of type"
msgstr ""
-#: cp/typeck.c:3645 cp/typeck.c:3650 cp/typeck.c:3741 cp/typeck.c:3746
+#: 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:3926
+#: cp/typeck.c:3555
msgid "comparison between types `%#T' and `%#T'"
msgstr ""
-#: cp/typeck.c:3962
+#: cp/typeck.c:3591
msgid "comparison between signed and unsigned integer expressions"
msgstr ""
-#: cp/typeck.c:4027
+#: cp/typeck.c:3656
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr ""
@@ -19441,298 +17649,288 @@ 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:4049
+#: cp/typeck.c:3678
msgid "NULL used in arithmetic"
msgstr ""
-#: cp/typeck.c:4101
-msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
-msgstr ""
-
-#: cp/typeck.c:4107
-msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
-msgstr ""
-
-#: cp/typeck.c:4113
-msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
-msgstr ""
-
-#: cp/typeck.c:4119
-msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
-msgstr ""
-
-#: cp/typeck.c:4190
+#: cp/typeck.c:3745
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr ""
-#: cp/typeck.c:4192
+#: cp/typeck.c:3747
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr ""
-#: cp/typeck.c:4194
+#: cp/typeck.c:3749
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr ""
-#: cp/typeck.c:4196
+#: cp/typeck.c:3751
msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr ""
-#: cp/typeck.c:4208
+#: cp/typeck.c:3763
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr ""
-#: cp/typeck.c:4245
-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:4322
+#: 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:4524
+#: cp/typeck.c:4055
#, c-format
msgid "ISO C++ forbids %sing an enum"
msgstr ""
-#: cp/typeck.c:4536
+#: cp/typeck.c:4067
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr ""
-#: cp/typeck.c:4543
+#: cp/typeck.c:4074
msgid "ISO C++ forbids %sing a pointer of type `%T'"
msgstr ""
-#: cp/typeck.c:4568
+#: cp/typeck.c:4099
msgid "cast to non-reference type used as lvalue"
msgstr ""
-#: cp/typeck.c:4602
+#: cp/typeck.c:4133
#, fuzzy
msgid "invalid use of `--' on bool variable `%D'"
msgstr "ìç Ýãêõñïò áñéèìüò áðü êåíÝò ãñáììÝò: `%s'"
#. ARM $3.4
-#: cp/typeck.c:4635
+#: cp/typeck.c:4166
msgid "ISO C++ forbids taking address of function `::main'"
msgstr ""
#. An expression like &memfn.
-#: cp/typeck.c:4702
+#: 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:4704
+#: 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:4728
+#: cp/typeck.c:4259
msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
msgstr ""
-#: cp/typeck.c:4744
-msgid "unary `&'"
+#: cp/typeck.c:4290
+msgid "attempt to take address of bit-field structure member `%D'"
msgstr ""
-#: cp/typeck.c:4864
+#: cp/typeck.c:4418
msgid "taking address of destructor"
msgstr ""
-#: cp/typeck.c:4877
+#: cp/typeck.c:4431
msgid "taking address of bound pointer-to-member expression"
msgstr ""
-#: cp/typeck.c:4893
+#: cp/typeck.c:4447
#, fuzzy
msgid "cannot create pointer to reference member `%D'"
msgstr "äåí åßíáé äõíáôüí íá ãßíåé `stat' ôï locale áñ÷åßï `%s'"
-#: cp/typeck.c:4961
+#: cp/typeck.c:4510
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr ""
-#: cp/typeck.c:4977
+#: cp/typeck.c:4529
msgid "address requested for `%D', which is declared `register'"
msgstr ""
-#: cp/typeck.c:5181
+#: cp/typeck.c:4750
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr ""
-#: cp/typeck.c:5189
+#: cp/typeck.c:4758
#, fuzzy
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
-#: cp/typeck.c:5228
+#: cp/typeck.c:4797
msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5248
+#: cp/typeck.c:4817
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr ""
-#: cp/typeck.c:5261
+#: cp/typeck.c:4830
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr ""
-#: cp/typeck.c:5270
+#: cp/typeck.c:4839
msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr ""
-#: cp/typeck.c:5276
+#: cp/typeck.c:4845
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5303
+#: 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:5306
+#: 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:5329
+#: cp/typeck.c:4898
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5345
+#: cp/typeck.c:4914
#, fuzzy
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò `%c' óôï ôýðï áëöáñéèìçôéêïý `%s'"
-#: cp/typeck.c:5387 cp/typeck.c:5392
+#: cp/typeck.c:4956 cp/typeck.c:4961
msgid "ISO C++ forbids casting to an array type `%T'"
msgstr ""
-#: cp/typeck.c:5400
+#: cp/typeck.c:4969
#, fuzzy
msgid "invalid cast to function type `%T'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: cp/typeck.c:5452
+#: cp/typeck.c:5021
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr ""
-#: cp/typeck.c:5498
+#: cp/typeck.c:5067
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr ""
-#: cp/typeck.c:5667
+#: cp/typeck.c:5235
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr ""
-#: cp/typeck.c:5709
+#: cp/typeck.c:5277
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr ""
-#: cp/typeck.c:5782
+#: cp/typeck.c:5349
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr ""
-#: cp/typeck.c:5789
+#: cp/typeck.c:5356
msgid "ISO C++ forbids assignment of arrays"
msgstr ""
-#: cp/typeck.c:5932
+#: cp/typeck.c:5499
msgid " in pointer to member function conversion"
msgstr ""
-#: cp/typeck.c:5940
+#: cp/typeck.c:5507
msgid " in pointer to member conversion"
msgstr ""
#. This is a reinterpret cast, we choose to do nothing.
-#: cp/typeck.c:5951 cp/typeck.c:5970
+#: cp/typeck.c:5518 cp/typeck.c:5537
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:5974
+#: cp/typeck.c:5541
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:6044
+#: cp/typeck.c:5611
msgid "invalid conversion to type `%T' from type `%T'"
msgstr ""
-#: cp/typeck.c:6209
+#: cp/typeck.c:5776
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6212
+#: cp/typeck.c:5779
msgid "%s to non-pointer type `%T' from NULL"
msgstr ""
-#: cp/typeck.c:6220
+#: cp/typeck.c:5787
msgid "passing `%T' for %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6223
+#: cp/typeck.c:5790
msgid "%s to `%T' from `%T'"
msgstr ""
-#: cp/typeck.c:6233
+#: cp/typeck.c:5800
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6236
+#: cp/typeck.c:5803
msgid "%s of negative value `%E' to `%T'"
msgstr ""
-#: cp/typeck.c:6323
+#: cp/typeck.c:5898
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr ""
-#: cp/typeck.c:6326
+#: cp/typeck.c:5901
#, fuzzy
msgid "cannot convert `%T' to `%T' in %s"
msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
-#: cp/typeck.c:6413 cp/typeck.c:6415
+#: cp/typeck.c:5988 cp/typeck.c:5990
#, fuzzy
msgid "in passing argument %P of `%+D'"
msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-#: cp/typeck.c:6529
+#: cp/typeck.c:6105
#, fuzzy
msgid "returning reference to temporary"
msgstr "xdr_reference: ç ìíÞìç åîáíôëÞèçêå\n"
-#: cp/typeck.c:6536
+#: cp/typeck.c:6112
msgid "reference to non-lvalue returned"
msgstr ""
-#: cp/typeck.c:6548
+#: cp/typeck.c:6124
msgid "reference to local variable `%D' returned"
msgstr ""
-#: cp/typeck.c:6551
+#: cp/typeck.c:6127
msgid "address of local variable `%D' returned"
msgstr ""
-#: cp/typeck.c:6582
+#: 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:6590
+#: 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:6593
+#: cp/typeck.c:6169
msgid "returning a value from a constructor"
msgstr ""
-#: cp/typeck.c:6610
+#: cp/typeck.c:6186
msgid "return-statement with no value, in function declared with a non-void return type"
msgstr ""
-#: cp/typeck.c:6626
+#: cp/typeck.c:6202
msgid "return-statement with a value, in function declared with a void return type"
msgstr ""
-#: cp/typeck.c:6647
+#: cp/typeck.c:6223
msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr ""
@@ -19781,205 +17979,150 @@ msgstr ""
msgid " since type `%T' has abstract virtual functions"
msgstr ""
-#: cp/typeck2.c:213
-#, fuzzy
-msgid "invalid use of undefined type `%#T'"
-msgstr "ìç Ýãêõñïò áñéèìüò áðü êåíÝò ãñáììÝò: `%s'"
-
-#: cp/typeck2.c:214
-msgid "forward declaration of `%#T'"
-msgstr ""
-
-#: cp/typeck2.c:218
-#, fuzzy
-msgid "invalid use of `%T'"
-msgstr "Ìç Ýãêõñç çìåñïìçíßá `%s'."
-
-#: 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:270
-#, fuzzy, c-format
-msgid "internal error #%d"
-msgstr "Åóùôåñéêü óöÜëìá NIS"
-
-#: cp/typeck2.c:325
+#: cp/typeck2.c:331
msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr ""
-#: cp/typeck2.c:335
-msgid "initializer list construction invalid for derived class object `%D'"
-msgstr ""
-
-#: cp/typeck2.c:337
-msgid "initializer list construction invalid for polymorphic class object `%D'"
-msgstr ""
-
-#: cp/typeck2.c:340 cp/typeck2.c:346 cp/typeck2.c:352
-msgid "initializer list construction invalid for `%D'"
-msgstr ""
-
-#: cp/typeck2.c:341
-msgid "due to the presence of a constructor"
-msgstr ""
-
-#: cp/typeck2.c:347 cp/typeck2.c:353
-msgid "due to non-public access of member `%D'"
-msgstr ""
-
-#: cp/typeck2.c:365
+#: cp/typeck2.c:342
msgid "comma expression used to initialize return value"
msgstr ""
-#: cp/typeck2.c:374
+#: cp/typeck2.c:351
msgid "cannot initialize arrays using this syntax"
msgstr ""
-#: cp/typeck2.c:436
+#: cp/typeck2.c:406
msgid "ISO C++ forbids non-constant aggregate initializer expressions"
msgstr ""
-#: cp/typeck2.c:516
+#: cp/typeck2.c:490
msgid "initializing array with parameter list"
msgstr ""
-#: cp/typeck2.c:572
+#: cp/typeck2.c:546
msgid "initializer for scalar variable requires one element"
msgstr ""
-#: cp/typeck2.c:579
+#: cp/typeck2.c:553
msgid "braces around scalar initializer for `%T'"
msgstr ""
-#: cp/typeck2.c:582
+#: cp/typeck2.c:556
msgid "ignoring extra initializers for `%T'"
msgstr ""
-#: cp/typeck2.c:594
+#: cp/typeck2.c:568
msgid "variable-sized object of type `%T' may not be initialized"
msgstr ""
-#: cp/typeck2.c:604
+#: cp/typeck2.c:578
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr ""
-#: cp/typeck2.c:670
+#: cp/typeck2.c:644
msgid "aggregate has a partly bracketed initializer"
msgstr ""
-#: cp/typeck2.c:700 cp/typeck2.c:801
+#: cp/typeck2.c:682 cp/typeck2.c:786
msgid "non-trivial labeled initializers"
msgstr ""
-#: cp/typeck2.c:717
+#: cp/typeck2.c:699
msgid "non-empty initializer for array of empty elements"
msgstr ""
-#: cp/typeck2.c:767
+#: cp/typeck2.c:752
msgid "initializer list for object of class with virtual base classes"
msgstr ""
-#: cp/typeck2.c:773
+#: cp/typeck2.c:758
msgid "initializer list for object of class with base classes"
msgstr ""
-#: cp/typeck2.c:779
+#: cp/typeck2.c:764
msgid "initializer list for object using virtual functions"
msgstr ""
-#: cp/typeck2.c:842 cp/typeck2.c:859
+#: cp/typeck2.c:827 cp/typeck2.c:843
msgid "missing initializer for member `%D'"
msgstr ""
-#: cp/typeck2.c:847
+#: cp/typeck2.c:832
msgid "uninitialized const member `%D'"
msgstr ""
-#: cp/typeck2.c:850
+#: cp/typeck2.c:834
msgid "member `%D' with uninitialized const fields"
msgstr ""
-#: cp/typeck2.c:853
+#: cp/typeck2.c:837
msgid "member `%D' is uninitialized reference"
msgstr ""
-#: cp/typeck2.c:896
+#: cp/typeck2.c:883
msgid "index value instead of field name in union initializer"
msgstr ""
-#: cp/typeck2.c:908
+#: cp/typeck2.c:895
msgid "no field `%D' in union being initialized"
msgstr ""
-#: cp/typeck2.c:916
+#: cp/typeck2.c:903
msgid "union `%T' with no named members cannot be initialized"
msgstr ""
-#: cp/typeck2.c:952
+#: cp/typeck2.c:939
msgid "excess elements in aggregate initializer"
msgstr ""
-#: cp/typeck2.c:1057
+#: cp/typeck2.c:1053
msgid "circular pointer delegation detected"
msgstr ""
-#: cp/typeck2.c:1070
+#: cp/typeck2.c:1066
msgid "base operand of `->' has non-pointer type `%T'"
msgstr ""
-#: cp/typeck2.c:1084
+#: cp/typeck2.c:1080
msgid "result of `operator->()' yields non-pointer result"
msgstr ""
-#: cp/typeck2.c:1086
+#: cp/typeck2.c:1082
msgid "base operand of `->' is not a pointer"
msgstr ""
-#: cp/typeck2.c:1152
+#: cp/typeck2.c:1148
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr ""
-#: cp/typeck2.c:1159
+#: cp/typeck2.c:1155
msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr ""
-#: cp/typeck2.c:1168
+#: cp/typeck2.c:1164
msgid "member type `%T::' incompatible with object type `%T'"
msgstr ""
-#: cp/typeck2.c:1205
+#: cp/typeck2.c:1201
msgid "`%T' fails to be a typedef or built-in type"
msgstr ""
-#: cp/typeck2.c:1278
+#: cp/typeck2.c:1274
#, c-format
msgid "ISO C++ forbids defining types within %s"
msgstr ""
-#: cp/xref.c:826
-#, fuzzy, c-format
-msgid "can't create cross-reference file `%s'"
-msgstr "äåí åßíáé äõíáôüí íá ãßíåé `stat' ôï locale áñ÷åßï `%s'"
+#: cp/typeck2.c:1399
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr ""
+
+#: cp/typeck2.c:1402
+#, fuzzy
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "ìç ðëÞñçò åããñáöÞ"
#. XXX Not i18n clean.
-#: cp/cp-tree.h:3847
+#: cp/cp-tree.h:3846
#, c-format
msgid "%s is deprecated, please see the documentation for details"
msgstr ""
@@ -20145,278 +18288,297 @@ msgstr ""
msgid "Don't announce deprecation of compiler features"
msgstr ""
-#: f/bad.c:386
+#: f/bad.c:387
msgid "note:"
-msgstr ""
+msgstr "óçìåßùóç:"
-#: f/bad.c:390
+#: f/bad.c:391
#, fuzzy
msgid "warning:"
msgstr "ðñïåéäïðïßçóç: "
-#: f/bad.c:394
+#: f/bad.c:395
msgid "fatal:"
-msgstr ""
+msgstr "ìïéñáßï:"
-#: f/bad.c:436
+#: f/bad.c:437
msgid "(continued):"
-msgstr ""
+msgstr "(óõíå÷ßæåôáé):"
-#: f/bad.c:486 f/bad.c:504
-#, c-format
+#: f/bad.c:487 f/bad.c:505
msgid "[REPORT BUG!!] %"
-msgstr ""
+msgstr "[ÁÍÁÖ¸ÑÅÔÅ ÔÏ ÓÖ¶ËÌÁ!!] %"
-#: f/bad.c:493 f/bad.c:525
+#: f/bad.c:494 f/bad.c:526
msgid "[REPORT BUG!!]"
-msgstr ""
+msgstr "[ÁÍÁÖ¸ÑÅÔÅ ÔÏ ÓÖÁËÌÁ!!]"
-#: f/com.c:3116
+#: f/com.c:3132
+#, no-c-format
msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
msgstr ""
-#: f/com.c:11596
+#: f/com.c:11551
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr ""
-#: f/com.c:11821
+#: f/com.c:11772
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr ""
-#: f/com.c:11823
+#: f/com.c:11774
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
msgstr ""
-#: f/com.c:11825
+#: f/com.c:11776
msgid "properly unless they all are 32 bits wide"
msgstr ""
-#: f/com.c:11826
-msgid "Please keep this in mind before you report bugs. g77 should"
-msgstr ""
-
-#: f/com.c:11827
-msgid "support non-32-bit machines better as of version 0.6"
+#: f/com.c:11777
+msgid "Please keep this in mind before you report bugs."
msgstr ""
#. I/O will probably crash.
-#: f/com.c:11835
+#: 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:11844
+#: 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:13678
+#: f/com.c:13609
#, fuzzy
msgid "In statement function"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: f/com.c:13688
+#: f/com.c:13619
msgid "Outside of any program unit:\n"
msgstr ""
-#: f/com.c:15376
+#: f/com.c:15248
+#, no-c-format
msgid "%A from %B at %0%C"
msgstr ""
-#: f/com.c:15553
+#: f/com.c:15425
msgid "directory name must immediately follow -I"
msgstr ""
-#: f/com.c:15695
+#: f/com.c:15568
+#, no-c-format
msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr ""
-#: f/com.c:15729
+#: f/com.c:15603
+#, no-c-format
msgid "At %0, INCLUDE nesting too deep"
msgstr ""
-#: f/expr.c:9611
+#: f/expr.c:9614
+#, no-c-format
msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
msgstr ""
-#: f/expr.c:9660
+#: f/expr.c:9664
+#, no-c-format
msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
msgstr ""
-#: f/expr.c:10520
+#: 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:10890
+#: 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
#, fuzzy, c-format
msgid "argument to `%s' missing"
msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
-#: f/g77spec.c:412
+#: f/g77spec.c:411
#, fuzzy
msgid "no input files; unwilling to write output files"
msgstr "%s: ôï áñ÷åßï åéóüäïõ åßíáé ôï áñ÷åßï åîüäïõ"
-#: f/implic.c:202
-#, fuzzy
+#: f/implic.c:203
+#, fuzzy, no-c-format
msgid "Implicit declaration of `%A' at %0"
msgstr "ðñïçãïýìåíç áõôïíüçôç äéáêýñçîç ôïõ `%s'"
-#: f/lex.c:272
-msgid "The meaning of `\\x' (at %0) varies with -traditional"
-msgstr ""
-
-#: f/lex.c:322
-msgid "The meaning of `\\a' (at %0) varies with -traditional"
-msgstr ""
-
# src/main.c:663
-#: f/lex.c:351
-#, fuzzy
+#: f/lex.c:326
+#, fuzzy, no-c-format
msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
# src/main.c:663
-#: f/lex.c:369
-#, fuzzy
+#: f/lex.c:345
+#, fuzzy, no-c-format
msgid "Unknown escape sequence `\\%A' at %0"
msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
-#: f/lex.c:377
-#, fuzzy, c-format
+#: f/lex.c:354
+#, fuzzy, no-c-format
msgid "Unterminated escape sequence `\\' at %0"
msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-#: f/lex.c:387
+#: f/lex.c:365
+#, no-c-format
msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
msgstr ""
-#: f/lex.c:414
+#: f/lex.c:393
+#, no-c-format
msgid "\\x used at %0 with no following hex digits"
msgstr ""
-#: f/lex.c:427
-#, fuzzy, c-format
+#: f/lex.c:407
+#, fuzzy, no-c-format
msgid "Hex escape at %0 out of range"
msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-#: f/lex.c:460
-#, fuzzy, c-format
+#: f/lex.c:441
+#, fuzzy, no-c-format
msgid "Escape sequence at %0 out of range for character"
msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
-#: f/lex.c:583
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr ""
-
-#: f/lex.c:620
+#: f/lex.c:595
#, fuzzy
msgid "hex escape out of range"
msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-#: f/lex.c:666
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr ""
-
-#: f/lex.c:682
+#: f/lex.c:648
#, c-format
msgid "non-ANSI-standard escape sequence, `\\%c'"
msgstr ""
# src/main.c:663
-#: f/lex.c:695
+#: f/lex.c:661
#, fuzzy, c-format
msgid "non-ISO escape sequence `\\%c'"
msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
# src/main.c:663
-#: f/lex.c:699
+#: f/lex.c:665
#, fuzzy, c-format
msgid "unknown escape sequence `\\%c'"
msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
-#: f/lex.c:701
+#: f/lex.c:667
#, c-format
msgid "unknown escape sequence: `\\' followed by char code 0x%x"
msgstr ""
-#: f/lex.c:778
+#: f/lex.c:744
msgid "badly formed directive -- no closing quote"
msgstr ""
-#: f/lex.c:998
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
+msgstr ""
+
+#: f/lex.c:964
msgid "bad directive -- missing close-quote"
msgstr ""
-#: f/lex.c:1112
+#: f/lex.c:1078
#, fuzzy, c-format
msgid "ignoring pragma: %s"
msgstr "áãíïïýíôáé üëá ôá ïñßóìáôá"
-#: f/lex.c:1319 f/lex.c:1363
+#: f/lex.c:1156
+#, fuzzy
+msgid "invalid #ident"
+msgstr "ìç Ýãêõñï äéêáßùìá"
+
+#: f/lex.c:1173
+#, fuzzy
+msgid "undefined or invalid # directive"
+msgstr "%%%c: êáôåõèõíôÞñéïò ãñáììÞ ìç Ýãêõñç."
+
+#: f/lex.c:1229
+#, fuzzy
+msgid "invalid #line"
+msgstr "ìç Ýãêõñïò áñéèìüò"
+
+#: f/lex.c:1285 f/lex.c:1329
msgid "use `#line ...' instead of `# ...' in first line"
msgstr ""
-#: f/lex.c:1465
-#, fuzzy, c-format
+#: f/lex.c:1339
+#, fuzzy
+msgid "invalid #-line"
+msgstr "ìç Ýãêõñïò áñéèìüò"
+
+#: f/lex.c:1432
+#, fuzzy, no-c-format
msgid "Null character at %0 -- line ignored"
msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò óôï áñ÷åßï: "
-#: f/stb.c:12077
-#, c-format
+#: f/stb.c:12078
+#, no-c-format
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:2635
+#: f/ste.c:2624
+#, no-c-format
msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
msgstr ""
-#: f/ste.c:2964
+#: f/ste.c:2953
msgid "ASSIGN to variable that is too small"
msgstr ""
-#: f/ste.c:2992
+#: f/ste.c:2981
msgid "ASSIGNed GOTO target variable is too small"
msgstr ""
-#: f/stu.c:304
+#: f/stu.c:305
+#, no-c-format
msgid "Local adjustable symbol `%A' at %0"
msgstr ""
-#: f/top.c:238
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr ""
+
+#: f/top.c:237
#, c-format
msgid "%s no longer supported -- try -fvxt"
msgstr ""
-#: f/top.c:240
+#: f/top.c:239
#, c-format
msgid "%s no longer supported -- try -fno-vxt -ff90"
msgstr ""
-#: f/top.c:308 f/top.c:310
+#: f/top.c:307 f/top.c:309
#, c-format
msgid "%s disabled, use normal debugging flags"
msgstr ""
@@ -20730,1690 +18892,863 @@ msgstr ""
msgid "Set the maximum line length"
msgstr "åëÜ÷éóôï ìÝãåèïò áëöáñéèìçôéêïý"
-#: f/bad.def:38
-#, fuzzy, c-format
+#: f/bad.def:39
+#, fuzzy, no-c-format
msgid "Missing first operand for binary operator at %0"
msgstr "Áãíùóôïò äõáäéêüò ÷åéñéóôÞò."
-#: f/bad.def:40
-#, fuzzy, c-format
+#: f/bad.def:42
+#, fuzzy, no-c-format
msgid "Zero-length character constant at %0"
msgstr "êåíü áëöáñéèìçôéêü"
-#: f/bad.def:42
-#, fuzzy, c-format
+#: f/bad.def:45
+#, fuzzy, no-c-format
msgid "Invalid token at %0 in expression or subexpression at %1"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: f/bad.def:44
+#: f/bad.def:48
+#, no-c-format
msgid "Missing operand for operator at %1 at end of expression at %0"
msgstr ""
-#: f/bad.def:46
+#: f/bad.def:51
+#, no-c-format
msgid "Label %A already defined at %1 when redefined at %0"
msgstr ""
-#: f/bad.def:48
+#: f/bad.def:54
+#, no-c-format
msgid "Unrecognized character at %0 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:50
+#: f/bad.def:57
+#, no-c-format
msgid "Label definition %A at %0 on empty statement (as of %1)"
msgstr ""
-#: f/bad.def:52
-msgid "Extra label definition %A at %0 -- perhaps previous label definition %B at %1 should have CONTINUE statement?"
-msgstr ""
-
-#: f/bad.def:53
-msgid "Extra label definition %A at %0 following label definition %B at %1"
-msgstr ""
-
-#: f/bad.def:55
+#: f/bad.def:65
+#, no-c-format
msgid "Invalid first character at %0 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:57
+#: f/bad.def:68
+#, no-c-format
msgid "Line too long as of %0 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:59
-#, c-format
+#: f/bad.def:71
+#, no-c-format
msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:61
-#, c-format
+#: f/bad.def:74
+#, no-c-format
msgid "Label number at %0 not in range 1-99999"
msgstr ""
-#: f/bad.def:63
+#: f/bad.def:77
+#, no-c-format
msgid "At %0, '!' and '/*' are not valid comment delimiters"
msgstr ""
-#: f/bad.def:65
-#, c-format
+#: f/bad.def:80
+#, no-c-format
msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:67
+#: f/bad.def:83
+#, no-c-format
msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:69
-#, c-format
-msgid "Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:70
-#, c-format
-msgid "Continuation indicator at %0 invalid here [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:72
-#, fuzzy
+#: f/bad.def:91
+#, fuzzy, no-c-format
msgid "Character constant at %0 has no closing apostrophe at %1"
msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-#: f/bad.def:74
+#: f/bad.def:94
+#, no-c-format
msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
msgstr ""
-#: f/bad.def:76
-#, c-format
+#: f/bad.def:97
+#, no-c-format
msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
msgstr ""
-#: f/bad.def:78
-#, fuzzy
+#: f/bad.def:100
+#, fuzzy, no-c-format
msgid "Integer at %0 too large"
msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-#: f/bad.def:80
-msgid "Integer at %0 too large except as negative number (preceded by unary minus sign)"
-msgstr ""
-
-#: f/bad.def:81
-msgid "Non-negative integer at %0 too large"
-msgstr ""
-
-#: f/bad.def:83
-msgid "Integer at %0 too large; even though preceded by unary minus sign at %1, subsequent operator at %2 has precedence over unary minus -- enclose unary minus sign and integer in parentheses to force precedence"
-msgstr ""
-
-#: f/bad.def:84
-msgid "Integer at %0 too large (%2 has precedence over %1)"
-msgstr ""
-
-#: f/bad.def:86
-msgid "Integer at %0 too large; even though preceded by minus sign at %1, because minus sign is a binary, not unary, operator -- insert plus sign before minus sign to change it to a unary minus sign"
-msgstr ""
-
-#: f/bad.def:87
-msgid "Integer at %0 too large (needs unary, not binary, minus at %1)"
-msgstr ""
-
-#: f/bad.def:89
-msgid "Integer at %0 too large; even though preceded by minus sign at %1, subsequent operator at %2 has precedence over minus, and that minus sign should be a unary minus rather than a binary minus -- insert plus sign before minus sign to change it to a unary minus sign, and enclose unary minus sign and integer in parentheses to force precedence"
-msgstr ""
-
-#: f/bad.def:90
-msgid "Integer at %0 too large (%2 has precedence over %1, which needs to be unary, not binary, minus)"
-msgstr ""
-
-#: f/bad.def:92
-#, c-format
+#: f/bad.def:123
+#, no-c-format
msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
msgstr ""
-#: f/bad.def:94
+#: f/bad.def:126
+#, no-c-format
msgid "Missing close-period between `.%A' at %0 and %1"
msgstr ""
-#: f/bad.def:96
-msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
-msgstr ""
-
-#: f/bad.def:98
-msgid "Missing value at %1 for real-number exponent at %0"
-msgstr ""
-
-#: f/bad.def:100
-msgid "Expected binary operator between expressions at %0 and at %1"
-msgstr ""
-
-#: f/bad.def:102
-msgid "Period at %0 not followed by valid keyword forming a valid binary operator; `.%A.' is not a valid binary operator"
-msgstr ""
-
-#: f/bad.def:103
-msgid "`.%A.' at %0 not a binary operator"
-msgstr ""
-
-#: f/bad.def:105
-#, c-format
-msgid "Double-quote at %0 not followed by a string of valid octal digits at %1"
-msgstr ""
-
-#: f/bad.def:106 f/bad.def:115 f/bad.def:124
-#, fuzzy, c-format
-msgid "Invalid octal constant at %0"
-msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-
-#: f/bad.def:108 f/bad.def:120
-#, c-format
-msgid "Invalid binary digit(s) found in string of digits at %0"
-msgstr ""
-
-#: f/bad.def:109 f/bad.def:121
-#, fuzzy, c-format
-msgid "Invalid binary constant at %0"
-msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-
-#: f/bad.def:111 f/bad.def:126
-#, c-format
-msgid "Invalid hexadecimal digit(s) found in string of digits at %0"
-msgstr ""
-
-#: f/bad.def:112 f/bad.def:127
-#, fuzzy, c-format
-msgid "Invalid hexadecimal constant at %0"
-msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-
-#: f/bad.def:114 f/bad.def:123
-#, c-format
-msgid "Invalid octal digit(s) found in string of digits at %0"
-msgstr ""
-
-#: f/bad.def:117
-msgid "Invalid radix specifier `%A' at %0 for typeless constant at %1"
-msgstr ""
-
-#: f/bad.def:118
-#, fuzzy, c-format
-msgid "Invalid typeless constant at %1"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
#: f/bad.def:129
-msgid "%A part of complex constant at %0 must be a real or integer constant -- otherwise use CMPLX() or COMPLEX() in place of ()"
-msgstr ""
-
-#: f/bad.def:130
-msgid "%A part of complex constant at %0 not a real or integer constant"
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
msgstr ""
#: f/bad.def:132
-msgid "Invalid keyword `%%%A' at %0 in this context"
-msgstr ""
-
-#: f/bad.def:133
-msgid "Invalid keyword `%%%A' at %0"
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
msgstr ""
#: f/bad.def:135
-msgid "Null expression between %0 and %1 invalid in this context"
-msgstr ""
-
-#: f/bad.def:136
-#, fuzzy
-msgid "Invalid null expression between %0 and %1"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:138
-msgid "Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type"
-msgstr ""
-
-#: f/bad.def:139
-msgid "Invalid operands at %1 and %2 for concatenation operator at %0"
-msgstr ""
-
-#: f/bad.def:141
-msgid "Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type"
-msgstr ""
-
-#: f/bad.def:142
-msgid "Invalid operand at %1 for concatenation operator at %0"
-msgstr ""
-
-#: f/bad.def:144
-msgid "Concatenation operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning character scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:145
-msgid "Invalid operand (is %A) at %1 for concatenation operator at %0"
-msgstr ""
-
-#: f/bad.def:147
-msgid "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type"
-msgstr ""
-
-#: f/bad.def:148
-msgid "Invalid operands at %1 and %2 for arithmetic operator at %0"
-msgstr ""
-
-#: f/bad.def:150
-msgid "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type"
-msgstr ""
-
-#: f/bad.def:151
-msgid "Invalid operand at %1 for arithmetic operator at %0"
-msgstr ""
-
-#: f/bad.def:153
-msgid "Arithmetic operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:154
-msgid "Invalid operand (is %A) at %1 for arithmetic operator at %0"
-msgstr ""
-
-#: f/bad.def:156
-msgid "Character constant at %0 has no closing quote at %1 [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:157
-#, fuzzy
-msgid "Unterminated character constant at %0 [info -f g77 M LEX]"
-msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
-
-#: f/bad.def:159
-#, c-format
-msgid "Continuation line at %0 must have initial `&' since it continues a character context [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:160 f/bad.def:163
-msgid "Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:162
-#, c-format
-msgid "Continuation line at %0 must have initial `&' since it continues a split lexical token [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:165
-#, c-format
-msgid "Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character"
-msgstr ""
-
-#: f/bad.def:166
-#, fuzzy, c-format
-msgid "Invalid continuation line at %0"
-msgstr "ìç Ýãêõñç ìÝôñçóç åðáíÜëçøçò `%s' óôç êáôáóêåõÞ [c*n]"
-
-#: f/bad.def:168
-msgid "Statement at %0 begins with invalid token [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:169
-msgid "Invalid statement at %0 [info -f g77 M LEX]"
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
msgstr ""
-#: f/bad.def:171
-#, c-format
+#: f/bad.def:253
+#, no-c-format
msgid "Semicolon at %0 is an invalid token"
msgstr ""
-#: f/bad.def:173
-msgid "Unrecognized statement name at %0 and invalid form for assignment or statement-function definition at %1"
-msgstr ""
-
-#: f/bad.def:174
-#, fuzzy, c-format
-msgid "Invalid statement at %0"
-msgstr "Ìç Ýãêõñç ðáñÜìåôñïò"
-
-#: f/bad.def:176
-#, fuzzy
-msgid "Invalid form for %A statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:177
-#, fuzzy
-msgid "Invalid %A statement at %0"
-msgstr "Ìç Ýãêõñç ðáñÜìåôñïò"
-
-#: f/bad.def:179
-#, c-format
-msgid "Invalid use of hollerith constant in statement at %0 -- enclose the constant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))"
-msgstr ""
-
-#: f/bad.def:180
-#, c-format
-msgid "Enclose hollerith constant in statement at %0 in parentheses"
-msgstr ""
-
-#: f/bad.def:182
-#, c-format
+#: f/bad.def:271
+#, no-c-format
msgid "Extraneous comma in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:184
-#, c-format
+#: f/bad.def:274
+#, no-c-format
msgid "Missing comma in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:186
-#, c-format
+#: f/bad.def:277
+#, no-c-format
msgid "Spurious sign in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:188
-#, c-format
+#: f/bad.def:280
+#, no-c-format
msgid "Spurious number in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:190
-#, c-format
+#: f/bad.def:283
+#, no-c-format
msgid "Spurious text trailing number in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:192
-#, c-format
-msgid "nP control edit descriptor not followed by comma but followed by edit descriptor at %0 other than D, E, EN, F, or G"
-msgstr ""
-
-#: f/bad.def:193
-#, c-format
-msgid "Invalid edit descriptor at %0 following nP control edit descriptor"
-msgstr ""
-
-#: f/bad.def:195
-#, fuzzy, c-format
+#: f/bad.def:291
+#, fuzzy, no-c-format
msgid "Unrecognized FORMAT specifier at %0"
msgstr "Üãíùóôï ðñüèåìá: %s"
-#: f/bad.def:197
-#, c-format
-msgid "Invalid I specifier in FORMAT statement at %0 -- correct form: [r]Iw.[m]"
-msgstr ""
-
-#: f/bad.def:198
-#, fuzzy, c-format
-msgid "Invalid I specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:200
-#, c-format
-msgid "Invalid B specifier in FORMAT statement at %0 -- correct form: [r]Bw.[m]"
-msgstr ""
-
-#: f/bad.def:201
-#, fuzzy, c-format
-msgid "Invalid B specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:203
-#, c-format
-msgid "Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]"
-msgstr ""
-
-#: f/bad.def:204
-#, fuzzy, c-format
-msgid "Invalid O specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:206
-#, c-format
-msgid "Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]"
-msgstr ""
-
-#: f/bad.def:207
-#, fuzzy, c-format
-msgid "Invalid Z specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:209
-#, c-format
-msgid "Invalid F specifier in FORMAT statement at %0 -- correct form: [r]Fw.d"
-msgstr ""
-
-#: f/bad.def:210
-#, fuzzy, c-format
-msgid "Invalid F specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:212
-#, c-format
-msgid "Invalid E specifier in FORMAT statement at %0 -- correct form: [r]Ew.d[Ee]"
-msgstr ""
-
-#: f/bad.def:213
-#, fuzzy, c-format
-msgid "Invalid E specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:215
-#, c-format
-msgid "Invalid EN specifier in FORMAT statement at %0 -- correct form: [r]ENw.d[Ee]"
-msgstr ""
-
-#: f/bad.def:216
-#, c-format
-msgid "Invalid EN specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:218
-#, c-format
-msgid "Invalid G specifier in FORMAT statement at %0 -- correct form: [r]Gw.d[Ee]"
-msgstr ""
-
-#: f/bad.def:219
-#, fuzzy, c-format
-msgid "Invalid G specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:221
-#, c-format
-msgid "Invalid L specifier in FORMAT statement at %0 -- correct form: [r]Lw"
-msgstr ""
-
-#: f/bad.def:222
-#, fuzzy, c-format
-msgid "Invalid L specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:224
-#, c-format
-msgid "Invalid A specifier in FORMAT statement at %0 -- correct form: [r]A[w]"
-msgstr ""
-
-#: f/bad.def:225
-#, fuzzy, c-format
-msgid "Invalid A specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:227
-#, c-format
-msgid "Invalid D specifier in FORMAT statement at %0 -- correct form: [r]Dw.d"
-msgstr ""
-
-#: f/bad.def:228
-#, fuzzy, c-format
-msgid "Invalid D specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:230
-#, c-format
-msgid "Invalid Q specifier in FORMAT statement at %0 -- correct form: Q"
-msgstr ""
-
-#: f/bad.def:231
-#, fuzzy, c-format
-msgid "Invalid Q specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:233
-#, c-format
-msgid "Invalid $ specifier in FORMAT statement at %0 -- correct form: $"
-msgstr ""
-
-#: f/bad.def:234
-#, fuzzy, c-format
-msgid "Invalid $ specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:236
-#, c-format
-msgid "Invalid P specifier in FORMAT statement at %0 -- correct form: kP"
-msgstr ""
-
-#: f/bad.def:237
-#, fuzzy, c-format
-msgid "Invalid P specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:239
-#, c-format
-msgid "Invalid T specifier in FORMAT statement at %0 -- correct form: Tn"
-msgstr ""
-
-#: f/bad.def:240
-#, fuzzy, c-format
-msgid "Invalid T specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:242
-#, c-format
-msgid "Invalid TL specifier in FORMAT statement at %0 -- correct form: TLn"
-msgstr ""
-
-#: f/bad.def:243
-#, c-format
-msgid "Invalid TL specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:245
-#, c-format
-msgid "Invalid TR specifier in FORMAT statement at %0 -- correct form: TRn"
-msgstr ""
-
-#: f/bad.def:246
-#, c-format
-msgid "Invalid TR specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:248
-#, c-format
-msgid "Invalid X specifier in FORMAT statement at %0 -- correct form: nX"
-msgstr ""
-
-#: f/bad.def:249
-#, fuzzy, c-format
-msgid "Invalid X specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:251
-#, c-format
-msgid "Invalid S specifier in FORMAT statement at %0 -- correct form: S"
-msgstr ""
-
-#: f/bad.def:252
-#, fuzzy, c-format
-msgid "Invalid S specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:254
-#, c-format
-msgid "Invalid SP specifier in FORMAT statement at %0 -- correct form: SP"
-msgstr ""
-
-#: f/bad.def:255
-#, c-format
-msgid "Invalid SP specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:257
-#, c-format
-msgid "Invalid SS specifier in FORMAT statement at %0 -- correct form: SS"
-msgstr ""
-
-#: f/bad.def:258
-#, c-format
-msgid "Invalid SS specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:260
-#, c-format
-msgid "Invalid BN specifier in FORMAT statement at %0 -- correct form: BN"
-msgstr ""
-
-#: f/bad.def:261
-#, c-format
-msgid "Invalid BN specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:263
-#, c-format
-msgid "Invalid BZ specifier in FORMAT statement at %0 -- correct form: BZ"
-msgstr ""
-
-#: f/bad.def:264
-#, c-format
-msgid "Invalid BZ specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:266
-#, c-format
-msgid "Invalid : specifier in FORMAT statement at %0 -- correct form: :"
-msgstr ""
-
-#: f/bad.def:267
-#, fuzzy, c-format
-msgid "Invalid : specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:269
-#, c-format
-msgid "Invalid H specifier in FORMAT statement at %0 -- correct form: nHcharacters !where n is an unsigned decimal constant, and characters !contains exactly n characters (including spaces)"
-msgstr ""
-
-#: f/bad.def:270
-#, fuzzy, c-format
-msgid "Invalid H specifier in FORMAT statement at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:272
-#, c-format
+#: f/bad.def:419
+#, no-c-format
msgid "Missing close-parenthese(s) in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:274
-#, c-format
+#: f/bad.def:422
+#, no-c-format
msgid "Missing number following period in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:276
-#, c-format
+#: f/bad.def:425
+#, no-c-format
msgid "Missing number following `E' in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:278
-#, c-format
-msgid "Invalid token with FORMAT run-time expression at %0 -- use the traditional operators .LT., .LE., .GT., .GE., .EQ., and .NE. in place of the newer tokens <, <=, >, >=, ==, and !=, because > ends an expression within a FORMAT statement"
-msgstr ""
-
-#: f/bad.def:279
-#, fuzzy, c-format
-msgid "Invalid token with FORMAT run-time expression at %0"
-msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-
-#: f/bad.def:281
-#, c-format
+#: f/bad.def:433
+#, no-c-format
msgid "Spurious trailing comma preceding terminator at %0"
msgstr ""
-#: f/bad.def:283
+#: f/bad.def:436
+#, no-c-format
msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
msgstr ""
-#: f/bad.def:285
+#: f/bad.def:439
+#, no-c-format
msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
msgstr ""
-#: f/bad.def:287
-#, c-format
-msgid "Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)"
-msgstr ""
-
-#: f/bad.def:288
-#, fuzzy, c-format
-msgid "Nonletter in defined operator at %0"
-msgstr "ðïôÝ äåí äçëþèçêå ôï ðñüãñáììá %d\n"
-
-#: f/bad.def:290
-#, c-format
-msgid "Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE"
-msgstr ""
-
-#: f/bad.def:291
-#, fuzzy, c-format
-msgid "Invalid type-declaration attribute at %0"
-msgstr "Ìç Ýãêõñç áíôáëëáãÞ"
-
-#: f/bad.def:293
-#, c-format
+#: f/bad.def:452
+#, no-c-format
msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
msgstr ""
-#: f/bad.def:295
+#: f/bad.def:455
+#, no-c-format
msgid "Reference to label at %1 inconsistent with its definition at %0"
msgstr ""
-#: f/bad.def:297
+#: f/bad.def:458
+#, no-c-format
msgid "Reference to label at %1 inconsistent with earlier reference at %0"
msgstr ""
-#: f/bad.def:299
+#: f/bad.def:461
+#, no-c-format
msgid "DO-statement reference to label at %1 follows its definition at %0"
msgstr ""
-#: f/bad.def:301
+#: f/bad.def:464
+#, no-c-format
msgid "Reference to label at %1 is outside block containing definition at %0"
msgstr ""
-#: f/bad.def:303
+#: f/bad.def:467
+#, no-c-format
msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
msgstr ""
-#: f/bad.def:305
+#: f/bad.def:470
+#, no-c-format
msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
msgstr ""
-#: f/bad.def:307
-#, c-format
+#: f/bad.def:473
+#, no-c-format
msgid "Label definition at %0 invalid on this kind of statement"
msgstr ""
-#: f/bad.def:309
-#, c-format
+#: f/bad.def:476
+#, no-c-format
msgid "Statement at %0 invalid in this context"
msgstr ""
-#: f/bad.def:311
-#, c-format
+#: f/bad.def:479
+#, no-c-format
msgid "Statement at %0 invalid in context established by statement at %1"
msgstr ""
-#: f/bad.def:313
-#, c-format
+#: f/bad.def:482
+#, no-c-format
msgid "Statement at %0 must specify construct name specified at %1"
msgstr ""
-#: f/bad.def:315
-#, c-format
+#: f/bad.def:485
+#, no-c-format
msgid "Construct name at %0 superfluous, no construct name specified at %1"
msgstr ""
-#: f/bad.def:317
-#, c-format
+#: f/bad.def:488
+#, no-c-format
msgid "Construct name at %0 not the same as construct name at %1"
msgstr ""
-#: f/bad.def:319
-#, c-format
+#: f/bad.def:491
+#, no-c-format
msgid "Construct name at %0 does not match construct name for any containing DO constructs"
msgstr ""
-#: f/bad.def:321
-#, c-format
+#: f/bad.def:494
+#, no-c-format
msgid "Label definition missing at %0 for DO construct specifying label at %1"
msgstr ""
-#: f/bad.def:323
-#, c-format
+#: f/bad.def:497
+#, no-c-format
msgid "Statement at %0 follows ELSE block for IF construct at %1"
msgstr ""
-#: f/bad.def:325
-#, c-format
+#: f/bad.def:500
+#, no-c-format
msgid "No label definition for FORMAT statement at %0"
msgstr ""
-#: f/bad.def:327
+#: f/bad.def:503
+#, no-c-format
msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
msgstr ""
-#: f/bad.def:329
+#: f/bad.def:506
+#, no-c-format
msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
msgstr ""
-#: f/bad.def:331
+#: f/bad.def:509
+#, no-c-format
msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
msgstr ""
-#: f/bad.def:333
-#, c-format
+#: f/bad.def:512
+#, no-c-format
msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
msgstr ""
-#: f/bad.def:335
-#, c-format
+#: f/bad.def:515
+#, no-c-format
msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
msgstr ""
-#: f/bad.def:337
-#, c-format
+#: f/bad.def:518
+#, no-c-format
msgid "Program unit name at %0 not the same as name at %1"
msgstr ""
-#: f/bad.def:339
-#, c-format
+#: f/bad.def:521
+#, no-c-format
msgid "Type name at %0 not the same as name at %1"
msgstr ""
-#: f/bad.def:341
-#, c-format
+#: f/bad.def:524
+#, no-c-format
msgid "End of source file before end of block started at %0"
msgstr ""
-#: f/bad.def:343
-#, c-format
+#: f/bad.def:527
+#, no-c-format
msgid "Undefined label, first referenced at %0"
msgstr ""
-#: f/bad.def:345
+#: f/bad.def:530
+#, no-c-format
msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
msgstr ""
-#: f/bad.def:347
+#: f/bad.def:533
+#, no-c-format
msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
msgstr ""
-#: f/bad.def:349
-#, c-format
+#: f/bad.def:536
+#, no-c-format
msgid "RETURN statement at %0 invalid within a main program unit"
msgstr ""
-#: f/bad.def:351
-#, c-format
+#: f/bad.def:539
+#, no-c-format
msgid "Alternate return specifier at %0 invalid within a main program unit"
msgstr ""
-#: f/bad.def:353
-#, c-format
+#: f/bad.def:542
+#, no-c-format
msgid "Alternate return specifier at %0 invalid within a function"
msgstr ""
-#: f/bad.def:355
-#, c-format
+#: f/bad.def:545
+#, no-c-format
msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
msgstr ""
-#: f/bad.def:357
+#: f/bad.def:548
+#, no-c-format
msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
msgstr ""
-#: f/bad.def:359
-#, c-format
+#: f/bad.def:551
+#, no-c-format
msgid "No components specified as of %0 for derived-type definition beginning at %1"
msgstr ""
-#: f/bad.def:361
-#, c-format
+#: f/bad.def:554
+#, no-c-format
msgid "No components specified as of %0 for structure definition beginning at %1"
msgstr ""
-#: f/bad.def:363
-#, c-format
+#: f/bad.def:557
+#, no-c-format
msgid "Missing structure name for outer structure definition at %0"
msgstr ""
-#: f/bad.def:365
-#, c-format
+#: f/bad.def:560
+#, no-c-format
msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
msgstr ""
-#: f/bad.def:367
+#: f/bad.def:563
+#, no-c-format
msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
msgstr ""
-#: f/bad.def:369
-#, c-format
+#: f/bad.def:566
+#, no-c-format
msgid "No components specified as of %0 for map beginning at %1"
msgstr ""
-#: f/bad.def:371
+#: f/bad.def:569
+#, no-c-format
msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
msgstr ""
-#: f/bad.def:373
+#: f/bad.def:572
+#, no-c-format
msgid "Missing %A specifier in statement at %0"
msgstr ""
-#: f/bad.def:375
-#, c-format
+#: f/bad.def:575
+#, no-c-format
msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
msgstr ""
-#: f/bad.def:377
+#: f/bad.def:578
+#, no-c-format
msgid "Conflicting I/O control specifications at %0 and %1"
msgstr ""
-#: f/bad.def:379
-#, c-format
+#: f/bad.def:581
+#, no-c-format
msgid "No UNIT= specifier in I/O control list at %0"
msgstr ""
-#: f/bad.def:381
+#: f/bad.def:584
+#, no-c-format
msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
msgstr ""
-#: f/bad.def:383
+#: f/bad.def:587
+#, no-c-format
msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
msgstr ""
-#: f/bad.def:385
-msgid "Unrecognized value for character constant at %0 -- expecting %A"
-msgstr ""
-
-#: f/bad.def:386
-#, fuzzy, c-format
-msgid "Unrecognized value for character constant at %0"
-msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-
-#: f/bad.def:388
+#: f/bad.def:595
+#, no-c-format
msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
msgstr ""
-#: f/bad.def:390
+#: f/bad.def:598
+#, no-c-format
msgid "Duplicate or overlapping case values/ranges at %0 and %1"
msgstr ""
-#: f/bad.def:392
+#: f/bad.def:601
+#, no-c-format
msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
msgstr ""
-#: f/bad.def:394
-#, c-format
+#: f/bad.def:604
+#, no-c-format
msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
msgstr ""
-#: f/bad.def:396
-#, c-format
-msgid "Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT"
-msgstr ""
-
-#: f/bad.def:397
-#, fuzzy, c-format
-msgid "Range specification at %0 invalid"
-msgstr "Ìç Ýãêõñç ñýèìéóç èýñáò (port)"
-
-#: f/bad.def:399
-#, c-format
-msgid "Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression"
-msgstr ""
-
-#: f/bad.def:400
-#, c-format
-msgid "Useless range at %0"
-msgstr ""
-
-#: f/bad.def:402
-#, c-format
+#: f/bad.def:617
+#, no-c-format
msgid "Fortran 90 feature at %0 unsupported"
msgstr ""
-#: f/bad.def:404
-msgid "Invalid kind at %0 for type at %1 -- unsupported or not permitted"
-msgstr ""
-
-#: f/bad.def:405
-#, fuzzy, c-format
-msgid "Invalid kind at %0 for type at %1"
-msgstr "Ìç Ýãêõñïò åîáêñéâùôÞò(verifier) åîõðçñåôïýìåíïõ"
-
-#: f/bad.def:407
-msgid "Cannot establish implicit type for initial letter `%A' at %0 -- already explicitly established or used to set implicit type of some name, or backwards order of letters in letter range"
-msgstr ""
-
-#: f/bad.def:408
-msgid "Cannot establish implicit type for initial letter `%A' at %0"
-msgstr ""
-
-#: f/bad.def:410
+#: f/bad.def:630
+#, no-c-format
msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
msgstr ""
-#: f/bad.def:412
-msgid "Label definition %A (at %0) invalid -- must be in columns 1-5"
-msgstr ""
-
-#: f/bad.def:413
-#, fuzzy
-msgid "Invalid label definition %A (at %0)"
-msgstr "ìç Ýãêõñïò áñéèìüò áñ÷åßïõ óôç äÞëùóç ðåäßïõ: `%s'"
-
-#: f/bad.def:415
-#, c-format
+#: f/bad.def:638
+#, no-c-format
msgid "Null element at %0 for array reference at %1"
msgstr ""
-#: f/bad.def:417
+#: f/bad.def:641
+#, no-c-format
msgid "Too few elements (%A missing) as of %0 for array reference at %1"
msgstr ""
-#: f/bad.def:419
-#, c-format
+#: f/bad.def:644
+#, no-c-format
msgid "Too many elements as of %0 for array reference at %1"
msgstr ""
-#: f/bad.def:421
-#, c-format
+#: f/bad.def:647
+#, no-c-format
msgid "Missing colon as of %0 in substring reference for %1"
msgstr ""
-#: f/bad.def:423
-#, c-format
+#: f/bad.def:650
+#, no-c-format
msgid "Invalid use at %0 of substring operator on %1"
msgstr ""
-#: f/bad.def:425
-#, c-format
+#: f/bad.def:653
+#, no-c-format
msgid "Substring begin/end point at %0 out of defined range"
msgstr ""
-#: f/bad.def:427
-#, c-format
+#: f/bad.def:656
+#, no-c-format
msgid "Array element value at %0 out of defined range"
msgstr ""
-#: f/bad.def:429
+#: f/bad.def:659
+#, no-c-format
msgid "Expression at %0 has incorrect data type or rank for its context"
msgstr ""
-#: f/bad.def:431
+#: f/bad.def:662
+#, no-c-format
msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
msgstr ""
-#: f/bad.def:433
+#: f/bad.def:665
+#, no-c-format
msgid "%A step count known to be 0 (zero) at %0"
msgstr ""
-#: f/bad.def:435
+#: f/bad.def:668
+#, no-c-format
msgid "%A end value plus step count known to overflow at %0"
msgstr ""
-#: f/bad.def:437
+#: f/bad.def:671
+#, no-c-format
msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
msgstr ""
-#: f/bad.def:439
+#: f/bad.def:674
+#, no-c-format
msgid "%A begin, end, and step-count values known to result in no iterations at %0"
msgstr ""
-#: f/bad.def:441
+#: f/bad.def:677
+#, no-c-format
msgid "Type disagreement between expressions at %0 and %1"
msgstr ""
-#: f/bad.def:443
-#, c-format
-msgid "Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement"
-msgstr ""
-
-#: f/bad.def:444
-msgid "FORMAT at %0 with run-time expression must follow first executable statement"
-msgstr ""
-
-#: f/bad.def:446
-msgid "Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is `(item-list,do-var=start,end[,incr])'"
-msgstr ""
-
-#: f/bad.def:447
-#, c-format
-msgid "Unexpected token at %0 in implied-DO construct at %1"
-msgstr ""
-
-#: f/bad.def:449
+#: f/bad.def:690
+#, no-c-format
msgid "No specification for implied-DO iterator `%A' at %0"
msgstr ""
-#: f/bad.def:451
-#, c-format
+#: f/bad.def:693
+#, no-c-format
msgid "Gratuitous parentheses surround implied-DO construct at %0"
msgstr ""
-#: f/bad.def:453
-#, fuzzy, c-format
+#: f/bad.def:696
+#, fuzzy, no-c-format
msgid "Zero-size specification invalid at %0"
msgstr "%s: Ìç Ýãêõñç ñýèìéóç `%s'.\n"
-#: f/bad.def:455
-#, c-format
+#: f/bad.def:699
+#, no-c-format
msgid "Zero-size array at %0"
msgstr ""
-#: f/bad.def:457
-#, c-format
+#: f/bad.def:702
+#, no-c-format
msgid "Target machine does not support complex entity of kind specified at %0"
msgstr ""
-#: f/bad.def:459
-#, c-format
+#: f/bad.def:705
+#, no-c-format
msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
msgstr ""
-#: f/bad.def:461
-#, c-format
+#: f/bad.def:708
+#, no-c-format
msgid "Attempt to raise constant zero to a power at %0"
msgstr ""
-#: f/bad.def:463
-msgid "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type"
-msgstr ""
-
-#: f/bad.def:464
-msgid "Invalid operands at %1 and %2 for boolean operator at %0"
-msgstr ""
-
-#: f/bad.def:466
-msgid "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type"
-msgstr ""
-
-#: f/bad.def:467
-#, fuzzy
-msgid "Invalid operand at %1 for boolean operator at %0"
-msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-
-#: f/bad.def:469
-msgid "Boolean/logical operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning logical scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:470
-msgid "Invalid operand (is %A) at %1 for boolean operator at %0"
-msgstr ""
-
-#: f/bad.def:472
-msgid ".NOT. operator at %0 must operate on subexpression of logical type, but the subexpression at %1 is not of logical type"
-msgstr ""
-
-#: f/bad.def:473
-#, fuzzy
-msgid "Invalid operand at %1 for .NOT. operator at %0"
-msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-
-#: f/bad.def:475
-msgid ".NOT. operator at %0 must operate on scalar subexpressions -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:476
-msgid "Invalid operand (is %A) at %1 for .NOT. operator at %0"
-msgstr ""
-
-#: f/bad.def:478
-msgid "Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but neither subexpression at %1 or %2 is of arithmetic or character type"
-msgstr ""
-
-#: f/bad.def:479
-msgid "Invalid operands at %1 and %2 for equality operator at %0"
-msgstr ""
-
-#: f/bad.def:481
-msgid "Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but the subexpression at %1 is not of arithmetic or character type"
-msgstr ""
-
-#: f/bad.def:482
-msgid "Invalid operand at %1 for equality operator at %0"
-msgstr ""
-
-#: f/bad.def:484
-msgid "Equality operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic or character scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:485
-msgid "Invalid operand (is %A) at %1 for equality operator at %0"
-msgstr ""
-
-#: f/bad.def:487
-msgid "Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but neither subexpression at %1 or %2 is of integer, real, or character type"
-msgstr ""
-
-#: f/bad.def:488
-msgid "Invalid operands at %1 and %2 for relational operator at %0"
-msgstr ""
-
-#: f/bad.def:490
-msgid "Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but the subexpression at %1 is not of integer, real, or character type"
-msgstr ""
-
-#: f/bad.def:491
-#, fuzzy
-msgid "Invalid operand at %1 for relational operator at %0"
-msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-
-#: f/bad.def:493
-msgid "Relational operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning integer, real, or character scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:494
-msgid "Invalid operand (is %A) at %1 for relational operator at %0"
-msgstr ""
-
-#: f/bad.def:496
-msgid "Reference to intrinsic `%A' at %0 invalid -- one or more arguments have incorrect type"
-msgstr ""
-
-#: f/bad.def:497
-#, fuzzy
-msgid "Invalid reference to intrinsic `%A' at %0"
-msgstr "Ìç Ýãêõñç ðéóù-ðáñáðïìðÞ"
-
-#: f/bad.def:499
-#, fuzzy
-msgid "Too few arguments passed to intrinsic `%A' at %0"
-msgstr "Ðñïåéäïðïßçóç: Ðïëý ëßãá ïñßóìáôá óôï åóùäïìçìÝíï `%s'"
-
-#: f/bad.def:500
-#, fuzzy
-msgid "Too few arguments for intrinsic `%A' at %0"
-msgstr "Ðñïåéäïðïßçóç: Ðïëý ëßãá ïñßóìáôá óôï åóùäïìçìÝíï `%s'"
-
-#: f/bad.def:502
-#, fuzzy
-msgid "Too many arguments passed to intrinsic `%A' at %0"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: f/bad.def:503
-#, fuzzy
-msgid "Too many arguments for intrinsic `%A' at %0"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-
-#: f/bad.def:505
-msgid "Reference to disabled intrinsic `%A' at %0"
-msgstr ""
-
-#: f/bad.def:506
-msgid "Disabled intrinsic `%A' at %0"
-msgstr ""
-
-#: f/bad.def:508
-msgid "Reference to intrinsic subroutine `%A' as if it were a function at %0"
-msgstr ""
-
-#: f/bad.def:509
-msgid "Function reference to intrinsic subroutine `%A' at %0"
-msgstr ""
-
-#: f/bad.def:511
-msgid "Reference to intrinsic function `%A' as if it were a subroutine at %0"
-msgstr ""
-
-#: f/bad.def:512
-msgid "Subroutine reference to intrinsic function `%A' at %0"
-msgstr ""
-
-#: f/bad.def:514
-msgid "Reference to unimplemented intrinsic `%A' at %0 -- use EXTERNAL to reference user-written procedure with this name"
-msgstr ""
-
-#: f/bad.def:515
-msgid "Unimplemented intrinsic `%A' at %0"
-msgstr ""
-
-#: f/bad.def:517
-msgid "Reference to unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"
-msgstr ""
-
-#: f/bad.def:518
-msgid "Unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"
-msgstr ""
-
-#: f/bad.def:520
+#: f/bad.def:806
+#, no-c-format
msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
msgstr ""
-#: f/bad.def:522
+#: f/bad.def:809
+#, no-c-format
msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
msgstr ""
-#: f/bad.def:524
+#: f/bad.def:812
+#, no-c-format
msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
msgstr ""
-#: f/bad.def:526
+#: f/bad.def:815
+#, no-c-format
msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
msgstr ""
-#: f/bad.def:528
+#: f/bad.def:818
+#, no-c-format
msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
msgstr ""
-#: f/bad.def:530
-#, fuzzy
+#: f/bad.def:821
+#, fuzzy, no-c-format
msgid "Unable to open INCLUDE file `%A' at %0"
msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
-#: f/bad.def:532
-msgid "Attempt to modify variable `%A' at %0 while it serves as DO-loop iterator at %1"
-msgstr ""
-
-#: f/bad.def:533 f/bad.def:536
-msgid "Modification of DO-loop iterator `%A' at %0"
-msgstr ""
-
-#: f/bad.def:535
-msgid "Attempt to modify variable `%A' via item #%B in list at %0 while it serves as implied-DO iterator at %1"
-msgstr ""
-
-#: f/bad.def:538
-#, c-format
-msgid "Array has too many dimensions, as of dimension specifier at %0"
-msgstr ""
-
-#: f/bad.def:539
-#, fuzzy, c-format
-msgid "Too many dimensions at %0"
-msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç êëÞóç ôçò `%s'"
-
-#: f/bad.def:541
-#, c-format
+#: f/bad.def:839
+#, no-c-format
msgid "Null argument at %0 for statement function reference at %1"
msgstr ""
-#: f/bad.def:543
-#, c-format
+#: f/bad.def:842
+#, no-c-format
msgid "Null argument at %0 for procedure invocation at %1"
msgstr ""
-#: f/bad.def:545
+#: f/bad.def:845
+#, no-c-format
msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
msgstr ""
-#: f/bad.def:547
+#: f/bad.def:848
+#, no-c-format
msgid "%A too many arguments as of %0 for statement function reference at %1"
msgstr ""
-#: f/bad.def:549
+#: f/bad.def:851
+#, no-c-format
msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
msgstr ""
-#: f/bad.def:551
-#, c-format
+#: f/bad.def:854
+#, no-c-format
msgid "Unsupported FORMAT specifier at %0"
msgstr ""
-#: f/bad.def:553
-#, c-format
+#: f/bad.def:857
+#, no-c-format
msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
msgstr ""
-#: f/bad.def:555
-msgid "Unsupported OPEN control item at %0 -- ACTION=, ASSOCIATEVARIABLE=, BLOCKSIZE=, BUFFERCOUNT=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, DISPOSE=, EXTENDSIZE=, INITIALSIZE=, KEY=, MAXREC=, NOSPANBLOCKS, ORGANIZATION=, PAD=, POSITION=, READONLY=, RECORDTYPE=, SHARED=, and USEROPEN= are not supported"
-msgstr ""
-
-#: f/bad.def:556
-#, c-format
-msgid "Unsupported OPEN control item at %0"
-msgstr ""
-
-#: f/bad.def:558
-msgid "Unsupported INQUIRE control item at %0 -- ACTION=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, KEYED=, ORGANIZATION=, PAD=, POSITION=, READ=, READWRITE=, RECORDTYPE=, and WRITE= are not supported"
-msgstr ""
-
-#: f/bad.def:559
-#, c-format
-msgid "Unsupported INQUIRE control item at %0"
-msgstr ""
-
-#: f/bad.def:561
-msgid "Unsupported READ control item at %0 -- ADVANCE=, EOR=, KEYEQ=, KEYGE=, KEYGT=, KEYID=, NULLS=, and SIZE= are not supported"
-msgstr ""
-
-#: f/bad.def:562
-#, c-format
-msgid "Unsupported READ control item at %0"
-msgstr ""
-
-#: f/bad.def:564
-msgid "Unsupported WRITE control item at %0 -- ADVANCE= and EOR= are not supported"
-msgstr ""
-
-#: f/bad.def:565
-#, c-format
-msgid "Unsupported WRITE control item at %0"
-msgstr ""
-
-#: f/bad.def:567
-#, c-format
+#: f/bad.def:880
+#, no-c-format
msgid "Unsupported VXT statement at %0"
msgstr ""
-#: f/bad.def:569
+#: f/bad.def:883
+#, no-c-format
msgid "Attempt to specify second initial value for `%A' at %0"
msgstr ""
-#: f/bad.def:571
+#: f/bad.def:886
+#, no-c-format
msgid "Too few initial values in list of initializers for `%A' at %0"
msgstr ""
-#: f/bad.def:573
-#, c-format
+#: f/bad.def:889
+#, no-c-format
msgid "Too many initial values in list of initializers starting at %0"
msgstr ""
-#: f/bad.def:575
+#: f/bad.def:892
+#, no-c-format
msgid "Array or substring specification for `%A' out of range in statement at %0"
msgstr ""
-#: f/bad.def:577
+#: f/bad.def:895
+#, no-c-format
msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
msgstr ""
-#: f/bad.def:579
+#: f/bad.def:898
+#, no-c-format
msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
msgstr ""
-#: f/bad.def:581
+#: f/bad.def:901
+#, no-c-format
msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
msgstr ""
-#: f/bad.def:583
-#, c-format
+#: f/bad.def:904
+#, no-c-format
msgid "Not an integer constant expression in implied do-loop in statement at %0"
msgstr ""
-#: f/bad.def:585
+#: f/bad.def:907
+#, no-c-format
msgid "Attempt to specify second initial value for element of `%A' at %0"
msgstr ""
-#: f/bad.def:587
+#: f/bad.def:910
+#, no-c-format
msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
msgstr ""
-#: f/bad.def:589
+#: f/bad.def:913
+#, no-c-format
msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
msgstr ""
-#: f/bad.def:591
+#: f/bad.def:916
+#, no-c-format
msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
msgstr ""
-#: f/bad.def:593
+#: f/bad.def:919
+#, no-c-format
msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:595
+#: f/bad.def:922
+#, no-c-format
msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:597
+#: f/bad.def:925
+#, no-c-format
msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:599
+#: f/bad.def:928
+#, no-c-format
msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
msgstr ""
-#: f/bad.def:601
-msgid "Padding of %A %D required before `%B' in common block `%C' at %0 -- consider reordering members, largest-type-size first"
-msgstr ""
-
-#: f/bad.def:602
-msgid "Padding of %A %D required before `%B' in common block `%C' at %0"
-msgstr ""
-
-#: f/bad.def:604
+#: f/bad.def:936
+#, no-c-format
msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
msgstr ""
-#: f/bad.def:606
+#: f/bad.def:939
+#, no-c-format
msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:608
+#: f/bad.def:942
+#, no-c-format
msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:610
+#: f/bad.def:945
+#, no-c-format
msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
msgstr ""
-#: f/bad.def:612
-#, c-format
-msgid "Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression"
-msgstr ""
-
-#: f/bad.def:613
-#, fuzzy, c-format
-msgid "Invalid length specification at %0"
-msgstr "Ìç Ýãêõñç ñýèìéóç èýñáò (port)"
-
-#: f/bad.def:615
-msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type"
-msgstr ""
-
-#: f/bad.def:616
-msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s)"
-msgstr ""
-
-#: f/bad.def:618
+#: f/bad.def:958
+#, no-c-format
msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
msgstr ""
-#: f/bad.def:620
-msgid "Common block `%A' initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block"
-msgstr ""
-
-#: f/bad.def:621
-msgid "Common block `%A' initialized at %0 already initialized at %1"
-msgstr ""
-
-#: f/bad.def:623
-msgid "Initial padding for common block `%A' is %B %C at %0 -- consider reordering members, largest-type-size first"
-msgstr ""
-
-#: f/bad.def:624
-msgid "Initial padding for common block `%A' is %B %C at %0"
-msgstr ""
-
-#: f/bad.def:626
-msgid "Initial padding for common block `%A' is %B %D at %0 but %C %E at %1 -- consider reordering members, largest-type-size first"
-msgstr ""
-
-#: f/bad.def:627
-msgid "Initial padding for common block `%A' is %B %D at %0 but %C %E at %1"
-msgstr ""
-
-#: f/bad.def:629
+#: f/bad.def:976
+#, no-c-format
msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
msgstr ""
-#: f/bad.def:631
+#: f/bad.def:979
+#, no-c-format
msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
msgstr ""
-#: f/bad.def:633
-msgid "Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1 -- use consistent definitions or reorder program units in source file"
-msgstr ""
-
-#: f/bad.def:634
-msgid "Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1"
-msgstr ""
-
-#: f/bad.def:636
-#, c-format
+#: f/bad.def:987
+#, no-c-format
msgid "Blank common initialized at %0"
msgstr ""
-#: f/bad.def:638
+#: f/bad.def:990
+#, no-c-format
msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
msgstr ""
-#: f/bad.def:640
+#: f/bad.def:993
+#, no-c-format
msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
msgstr ""
-#: f/bad.def:642
+#: f/bad.def:996
+#, no-c-format
msgid "Character `%A' (for example) is upper-case in symbol name at %0"
msgstr ""
-#: f/bad.def:644
+#: f/bad.def:999
+#, no-c-format
msgid "Character `%A' (for example) is lower-case in symbol name at %0"
msgstr ""
-#: f/bad.def:646
+#: f/bad.def:1002
+#, no-c-format
msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
msgstr ""
-#: f/bad.def:648
+#: f/bad.def:1005
+#, no-c-format
msgid "Initial character `%A' is lower-case in symbol name at %0"
msgstr ""
-#: f/bad.def:650
-msgid "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely"
-msgstr ""
-
-#: f/bad.def:651
-msgid "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0"
-msgstr ""
-
-#: f/bad.def:653
+#: f/bad.def:1013
+#, no-c-format
msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
msgstr ""
-#: f/bad.def:655
-#, c-format
+#: f/bad.def:1016
+#, no-c-format
msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
msgstr ""
-#: f/bad.def:657
-msgid "Invalid actual argument at %0 -- replace hollerith constants with %%REF('string') and typeless constants with INTEGER constant equivalents, or use -fugly-args or -fugly"
-msgstr ""
-
-#: f/bad.def:658
-#, fuzzy, c-format
-msgid "Invalid actual argument at %0"
-msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
-
-#: f/bad.def:660
-msgid "Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision"
-msgstr ""
-
-#: f/bad.def:661
-msgid "Quadruple-precision floating-point unsupported"
-msgstr ""
-
-#: f/bad.def:663
-msgid "Initialization of large (%B-unit) aggregate area `%A' at %0 currently very slow and takes lots of memory during g77 compile -- to be improved in 0.6"
-msgstr ""
-
-#: f/bad.def:664
-msgid "This could take a while (initializing `%A' at %0)..."
-msgstr ""
-
-#: f/bad.def:666
-#, c-format
+#: f/bad.def:1034
+#, no-c-format
msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
msgstr ""
-#: f/bad.def:668
-#, fuzzy, c-format
+#: f/bad.def:1037
+#, fuzzy, no-c-format
msgid "Truncating characters on right side of character constant at %0"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: f/bad.def:670
-#, c-format
+#: f/bad.def:1040
+#, no-c-format
msgid "Truncating characters on right side of hollerith constant at %0"
msgstr ""
-#: f/bad.def:672
-#, c-format
+#: f/bad.def:1043
+#, no-c-format
msgid "Truncating non-zero data on left side of numeric constant at %0"
msgstr ""
-#: f/bad.def:674
-#, c-format
+#: f/bad.def:1046
+#, no-c-format
msgid "Truncating non-zero data on left side of typeless constant at %0"
msgstr ""
-#: f/bad.def:676
-#, fuzzy
+#: f/bad.def:1049
+#, fuzzy, no-c-format
msgid "Typeless constant at %0 too large"
msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-#: f/bad.def:678
-#, c-format
+#: f/bad.def:1052
+#, no-c-format
msgid "First-column ampersand continuation at %0"
msgstr ""
-#: f/bad.def:680 f/bad.def:682
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:684 f/bad.def:686
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:688 f/bad.def:690
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:692
+#: f/bad.def:1073
+#, no-c-format
msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:694
+#: f/bad.def:1076
+#, no-c-format
msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:696 f/bad.def:698
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:700
-#, fuzzy
+#: f/bad.def:1085
+#, fuzzy, no-c-format
msgid "Array `%A' at %0 is too large to handle"
msgstr "Ï êáôÜëïãïò `%s' äåí åßíáé ðñïóéôüò."
-#: f/bad.def:702
+#: f/bad.def:1088
+#, no-c-format
msgid "Statement function `%A' defined at %0 is not used"
msgstr ""
-#: f/bad.def:704
+#: f/bad.def:1091
+#, no-c-format
msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
msgstr ""
-#: f/bad.def:706
-#, fuzzy
+#: f/bad.def:1094
+#, fuzzy, no-c-format
msgid "Internal compiler error -- cannot perform operation"
msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
@@ -22430,25 +19765,24 @@ msgid "In entity"
msgstr ""
#: f/info-k.def:34
-#, fuzzy
msgid "In function"
-msgstr "Óôç óõíÜñôçóç `%s':"
+msgstr "Óôç óõíÜñôçóç"
#: f/info-k.def:35
msgid "In subroutine"
-msgstr ""
+msgstr "Óôçí õðïñïõôßíá"
#: f/info-k.def:36
msgid "In program"
-msgstr ""
+msgstr "Óôï ðñüãñáììá"
#: f/info-k.def:37
msgid "In block-data unit"
-msgstr ""
+msgstr "Óôç ìïíÜäá ìðëïê-äåäïìÝíùí"
#: f/info-k.def:38
msgid "In common block"
-msgstr ""
+msgstr "Óôï êïéíü ìðëïê"
#: f/info-k.def:39
msgid "In construct"
@@ -22462,321 +19796,336 @@ 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:567 java/class.c:592
+#: java/class.c:539 java/class.c:564
#, fuzzy
msgid "internal error - too many interface type"
msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-#: java/class.c:742
+#: java/class.c:677
msgid "bad method signature"
msgstr ""
-#: java/class.c:787
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
msgstr ""
-#: java/class.c:789
+#: java/class.c:728
#, c-format
msgid "duplicate ConstantValue attribute for field '%s'"
msgstr ""
-#: java/class.c:800
+#: java/class.c:739
#, c-format
msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr ""
-#: java/class.c:1149
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
msgstr ""
-#: java/class.c:1407
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
msgstr ""
-#: java/class.c:2092
+#: java/class.c:2067
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr ""
-#: java/decl.c:1511
+#: java/decl.c:1537
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr ""
-#: java/decl.c:1599
+#: java/decl.c:1618
msgid "bad type in parameter debug info"
msgstr ""
-#: java/decl.c:1609
+#: java/decl.c:1628
#, c-format
msgid "bad PC range for debug info for local `%s'"
msgstr ""
-#: java/expr.c:550
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
msgstr ""
-#: java/expr.c:1504
+#: java/expr.c:1536
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr ""
-#: java/expr.c:1533
+#: java/expr.c:1565
#, fuzzy, c-format
msgid "field `%s' not found"
msgstr "ôï áñ÷åßï ÷Üñôç ÷áñáêôÞñùí `%s' äåí âñÝèçêå"
-#: java/expr.c:1684
+#: java/expr.c:1717
#, fuzzy
msgid "ret instruction not implemented"
msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
-#: java/expr.c:1821
+#: java/expr.c:1852
#, c-format
msgid "method '%s' not found in class"
msgstr ""
-#: java/expr.c:2025
+#: java/expr.c:2055
#, c-format
msgid "failed to find class '%s'"
msgstr ""
-#: java/expr.c:2037
+#: java/expr.c:2065
#, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr ""
-#: java/expr.c:2047
+#: java/expr.c:2075
msgid "invokestatic on non static method"
msgstr ""
-#: java/expr.c:2052
+#: java/expr.c:2080
msgid "invokestatic on abstract method"
msgstr ""
-#: java/expr.c:2060
+#: java/expr.c:2088
msgid "invoke[non-static] on static method"
msgstr ""
-#: java/expr.c:2337
+#: java/expr.c:2373
#, c-format
msgid "missing field '%s' in '%s'"
msgstr ""
-#: java/expr.c:2343
+#: java/expr.c:2379
#, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr ""
-#: java/expr.c:2366
+#: java/expr.c:2402
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr ""
-#: java/expr.c:2371
+#: java/expr.c:2407
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
msgstr ""
-#: java/expr.c:2378
+#: java/expr.c:2414
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr ""
-#: java/expr.c:2616
+#: java/expr.c:2661
#, fuzzy, c-format
msgid "can't expand %s"
msgstr "%s: áäõíáìßá óôçí áíÜãíùóç %s: %s\n"
-#: java/expr.c:2792
+#: java/expr.c:2838
#, fuzzy
msgid "invalid PC in line number table"
msgstr "ìç Ýãêõñïò áñ÷éêüò áñéèìüò ãñáììÞò: `%s'"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2837
+#: 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:2874
+#: 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:3193
+#: 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:379
+#: java/jcf-parse.c:338
#, fuzzy
msgid "bad string constant"
msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
-#: java/jcf-parse.c:435
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
msgstr ""
-#: java/jcf-parse.c:693
+#: java/jcf-parse.c:528
+#, fuzzy, c-format
+msgid "can't reopen %s"
+msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
+
+#: java/jcf-parse.c:533
+#, fuzzy, c-format
+msgid "can't close %s"
+msgstr "äåí åßíáé äõíáôü íá áëëá÷ôïýí ôá äéêáéþìáôá ôïõ `%s'"
+
+#: java/jcf-parse.c:615
#, fuzzy, c-format
msgid "cannot find file for class %s"
msgstr "äå âñÝèçêå ï ðñïåðåîåñãáóôÞò C: %s \n"
-#: java/jcf-parse.c:705
+#: java/jcf-parse.c:627
#, fuzzy
msgid "not a valid Java .class file"
msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ïíüìáôïò êëÜóçò"
-#: java/jcf-parse.c:708
+#: java/jcf-parse.c:630
#, fuzzy
msgid "error while parsing constant pool"
msgstr "óöÜëìá êáôÜ ôï êëåßóéìï ôïõ áñ÷åßïõ åîüäïõ"
-#: java/jcf-parse.c:711
+#: 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:723
+#: java/jcf-parse.c:645
#, c-format
msgid "reading class %s for the second time from %s"
msgstr ""
-#: java/jcf-parse.c:741
+#: java/jcf-parse.c:663
#, fuzzy
msgid "error while parsing fields"
msgstr "óöÜëìá êáôÜ ôï êëåßóéìï ôïõ áñ÷åßïõ åîüäïõ"
-#: java/jcf-parse.c:744
+#: java/jcf-parse.c:666
#, fuzzy
msgid "error while parsing methods"
msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôçò åéóüäïõ"
-#: java/jcf-parse.c:747
+#: java/jcf-parse.c:669
#, fuzzy
msgid "error while parsing final attributes"
msgstr "óöÜëìá êáôÜ ôï êëåßóéìï ôçò åéóüäïõ `%s'"
-#: java/jcf-parse.c:761
+#: java/jcf-parse.c:683
#, c-format
msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr ""
-#: java/jcf-parse.c:846
+#: java/jcf-parse.c:773
#, fuzzy
msgid "missing Code attribute"
msgstr "ÅëëéðÞò Þ êáêïó÷çìáôéóìÝíç éäéüôçôá"
-#: java/jcf-parse.c:1081
+#: java/jcf-parse.c:1010
msgid "source file seen twice on command line and will be compiled only once"
msgstr ""
-#: java/jcf-parse.c:1097
+#: java/jcf-parse.c:1026
#, fuzzy
msgid "no input file specified"
msgstr "Äåí õðÜñ÷ïõí áñ÷åßá åéóüäïõ"
-#: java/jcf-parse.c:1129
+#: java/jcf-parse.c:1055
#, fuzzy, c-format
msgid "can't close input file %s"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åéóüäïõ `%s'"
-#: java/jcf-parse.c:1166
+#: java/jcf-parse.c:1092
#, c-format
msgid "bad zip/jar file %s"
msgstr ""
-#: java/jcf-write.c:2626
+#: java/jcf-write.c:2641
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr ""
-#: java/jcf-write.c:2933
+#: java/jcf-write.c:2979
#, fuzzy
msgid "field initializer type mismatch"
msgstr "Êáêïóõíôáßñéáóìá ôýðùí êáôá÷þñçóçò/ðßíáêá"
-#: java/jcf-write.c:3342
+#: java/jcf-write.c:3387
#, fuzzy, c-format
msgid "can't create directory %s"
msgstr "%s: Äåí åßíáé äõíáôüí íá äçìéïõñãçèåß ï êáôÜëïãïò %s: %s\n"
-#: java/jcf-write.c:3369
+#: java/jcf-write.c:3441
#, fuzzy, c-format
-msgid "can't to open %s"
+msgid "can't create %s"
msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
-#: java/jv-scan.c:183
+#: 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
#, fuzzy, c-format
msgid "can't open output file `%s'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ åîüäïõ `%s'"
-#: java/jv-scan.c:222
+#: java/jv-scan.c:224
#, fuzzy, c-format
msgid "file not found `%s'"
msgstr "Ìç Ýãêõñç åðéëïãÞ `%s'"
-#: java/jvspec.c:384
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
msgstr ""
-#: java/jvspec.c:390
+#: java/jvspec.c:429
+#, fuzzy, c-format
+msgid "`%s' is not a valid class name"
+msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+
+#: java/jvspec.c:435
#, fuzzy
-msgid "-R requires -o"
+msgid "--resource requires -o"
msgstr "ÅóöáëìÝíïò êþäéêáò áßôçóçò"
-#: java/jvspec.c:397
+#: java/jvspec.c:442
msgid "warning: already-compiled .class files ignored with -C"
msgstr ""
-#: java/jvspec.c:404
+#: java/jvspec.c:449
#, fuzzy
msgid "cannot specify both -C and -o"
msgstr "äåí åßíáé äõíáôü íá ðáñáëçöèåß ï ÷ñÞóôçò êáé ç ïìÜäá"
-#: java/jvspec.c:416
+#: java/jvspec.c:461
#, fuzzy
msgid "cannot create temporary file"
msgstr "ÓÖÁËÌÁ: Áäõíáìßá äçìéïõñãßáò ðñïóùñéíïý áñ÷åßïõ ãéá áëëáãÞ"
-#: java/jvspec.c:444
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
msgstr ""
-#: java/jvspec.c:501
+#: java/jvspec.c:538
#, fuzzy
msgid "cannot specify `main' class when not linking"
msgstr "Äåí åßíáé äõíáôü íá äçëùèåß áñéèìüò óôçëþí óôçí ðáñÜëëçëç åêôýðùóç."
-#: java/lang.c:433
+#: java/lang.c:543
msgid "can't do dependency tracking with input from stdin"
msgstr ""
-#: java/lang.c:449
+#: java/lang.c:559
msgid "couldn't determine target name for dependency tracking"
msgstr ""
@@ -22795,140 +20144,97 @@ msgstr ""
msgid "can't mangle %s"
msgstr "Äåí åßíáé äõíáôüí íá åêôåëåóôåß ôï %s"
-#: java/mangle_name.c:145 java/mangle_name.c:217
+#: java/mangle_name.c:144 java/mangle_name.c:216
#, fuzzy
msgid "internal error - invalid Utf8 name"
msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
-#: ../../../gcc/vanilla/gcc/java/parse.y:748
-#: ../../../gcc/vanilla/gcc/java/parse.y:786
+#: ../../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
#, fuzzy
-msgid "Missing name"
+msgid "Missing term"
msgstr "¸÷åé ðáñáëçöèåß åíôïëÞ"
-#: ../../../gcc/vanilla/gcc/java/parse.y:750
-#: ../../../gcc/vanilla/gcc/java/parse.y:788
-#: ../../../gcc/vanilla/gcc/java/parse.y:813
-#: ../../../gcc/vanilla/gcc/java/parse.y:997
-#: ../../../gcc/vanilla/gcc/java/parse.y:1344
-#: ../../../gcc/vanilla/gcc/java/parse.y:1555
-#: ../../../gcc/vanilla/gcc/java/parse.y:1557
-#: ../../../gcc/vanilla/gcc/java/parse.y:1786
-#: ../../../gcc/vanilla/gcc/java/parse.y:1812
-#: ../../../gcc/vanilla/gcc/java/parse.y:1823
-#: ../../../gcc/vanilla/gcc/java/parse.y:1834
-#: ../../../gcc/vanilla/gcc/java/parse.y:1846
+#: ../../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 "áíáìåíüôáí ';'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:811
+#: ../../gcc-3cvs/gcc/java/parse.y:732 ../../gcc-3cvs/gcc/java/parse.y:770
+#, fuzzy
+msgid "Missing name"
+msgstr "¸÷åé ðáñáëçöèåß åíôïëÞ"
+
+#: ../../gcc-3cvs/gcc/java/parse.y:795
msgid "'*' expected"
msgstr "áíáìåíüôáí '*'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:825
+#: ../../gcc-3cvs/gcc/java/parse.y:809
msgid "Class or interface declaration expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:860
-#: ../../../gcc/vanilla/gcc/java/parse.y:862
+#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848
#, fuzzy
msgid "Missing class name"
msgstr "¸÷åé ðáñáëçöèåß åíôïëÞ"
-#: ../../../gcc/vanilla/gcc/java/parse.y:865
-#: ../../../gcc/vanilla/gcc/java/parse.y:869
-#: ../../../gcc/vanilla/gcc/java/parse.y:877
-#: ../../../gcc/vanilla/gcc/java/parse.y:1042
-#: ../../../gcc/vanilla/gcc/java/parse.y:1290
-#: ../../../gcc/vanilla/gcc/java/parse.y:1292
-#: ../../../gcc/vanilla/gcc/java/parse.y:1621
-#: ../../../gcc/vanilla/gcc/java/parse.y:1857
-#: ../../../gcc/vanilla/gcc/java/parse.y:1889
-#: ../../../gcc/vanilla/gcc/java/parse.y:1941
+#: ../../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 "áíáìåíüôáí '{'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:879
+#: ../../gcc-3cvs/gcc/java/parse.y:865
msgid "Missing super class name"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:889
-#: ../../../gcc/vanilla/gcc/java/parse.y:905
+#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891
#, fuzzy
msgid "Missing interface name"
msgstr "ðáñÜëçøç ïñßóìáôïò áñ÷åßïõ"
-#: ../../../gcc/vanilla/gcc/java/parse.y:976
-#: ../../../gcc/vanilla/gcc/java/parse.y:1309
-#: ../../../gcc/vanilla/gcc/java/parse.y:1370
-#: ../../../gcc/vanilla/gcc/java/parse.y:1579
-#: ../../../gcc/vanilla/gcc/java/parse.y:1801
-#: ../../../gcc/vanilla/gcc/java/parse.y:1810
-#: ../../../gcc/vanilla/gcc/java/parse.y:1821
-#: ../../../gcc/vanilla/gcc/java/parse.y:1832
-#: ../../../gcc/vanilla/gcc/java/parse.y:1844
-#: ../../../gcc/vanilla/gcc/java/parse.y:1861
-#: ../../../gcc/vanilla/gcc/java/parse.y:1863
-#: ../../../gcc/vanilla/gcc/java/parse.y:1934
-#: ../../../gcc/vanilla/gcc/java/parse.y:2105
-#: ../../../gcc/vanilla/gcc/java/parse.y:2167
-#: ../../../gcc/vanilla/gcc/java/parse.y:2319
-#: ../../../gcc/vanilla/gcc/java/parse.y:2331
-#: ../../../gcc/vanilla/gcc/java/parse.y:2338
-#: ../../../gcc/vanilla/gcc/java/parse.y:2345
-#: ../../../gcc/vanilla/gcc/java/parse.y:2356
-#: ../../../gcc/vanilla/gcc/java/parse.y:2358
-#: ../../../gcc/vanilla/gcc/java/parse.y:2396
-#: ../../../gcc/vanilla/gcc/java/parse.y:2398
-#: ../../../gcc/vanilla/gcc/java/parse.y:2400
-#: ../../../gcc/vanilla/gcc/java/parse.y:2421
-#: ../../../gcc/vanilla/gcc/java/parse.y:2423
-#: ../../../gcc/vanilla/gcc/java/parse.y:2425
-#: ../../../gcc/vanilla/gcc/java/parse.y:2441
-#: ../../../gcc/vanilla/gcc/java/parse.y:2443
-#: ../../../gcc/vanilla/gcc/java/parse.y:2464
-#: ../../../gcc/vanilla/gcc/java/parse.y:2466
-#: ../../../gcc/vanilla/gcc/java/parse.y:2468
-#: ../../../gcc/vanilla/gcc/java/parse.y:2496
-#: ../../../gcc/vanilla/gcc/java/parse.y:2498
-#: ../../../gcc/vanilla/gcc/java/parse.y:2500
-#: ../../../gcc/vanilla/gcc/java/parse.y:2502
-#: ../../../gcc/vanilla/gcc/java/parse.y:2520
-#: ../../../gcc/vanilla/gcc/java/parse.y:2522
-#: ../../../gcc/vanilla/gcc/java/parse.y:2533
-#: ../../../gcc/vanilla/gcc/java/parse.y:2544
-#: ../../../gcc/vanilla/gcc/java/parse.y:2555
-#: ../../../gcc/vanilla/gcc/java/parse.y:2566
-#: ../../../gcc/vanilla/gcc/java/parse.y:2577
-#: ../../../gcc/vanilla/gcc/java/parse.y:2590
-#: ../../../gcc/vanilla/gcc/java/parse.y:2594
-#: ../../../gcc/vanilla/gcc/java/parse.y:2596
-#: ../../../gcc/vanilla/gcc/java/parse.y:2609
-#, fuzzy
-msgid "Missing term"
-msgstr "¸÷åé ðáñáëçöèåß åíôïëÞ"
-
-#: ../../../gcc/vanilla/gcc/java/parse.y:991
+#: ../../gcc-3cvs/gcc/java/parse.y:977
msgid "Missing variable initializer"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1008
+#: ../../gcc-3cvs/gcc/java/parse.y:994
#, fuzzy
msgid "Invalid declaration"
msgstr "Ìç Ýãêõñç áíôáëëáãÞ"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1014
-msgid "Can't specify array dimension in a declaration"
-msgstr ""
-
-#: ../../../gcc/vanilla/gcc/java/parse.y:1016
-#: ../../../gcc/vanilla/gcc/java/parse.y:1092
-#: ../../../gcc/vanilla/gcc/java/parse.y:2142
-#: ../../../gcc/vanilla/gcc/java/parse.y:2164
-#: ../../../gcc/vanilla/gcc/java/parse.y:2168
-#: ../../../gcc/vanilla/gcc/java/parse.y:2203
-#: ../../../gcc/vanilla/gcc/java/parse.y:2280
-#: ../../../gcc/vanilla/gcc/java/parse.y:2290
+#: ../../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 "áíáìåíüôáí ']'"
@@ -22936,232 +20242,219 @@ msgstr "áíáìåíüôáí ']'"
# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695
# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712
-#: ../../../gcc/vanilla/gcc/java/parse.y:1020
+#: ../../gcc-3cvs/gcc/java/parse.y:1001
#, fuzzy
msgid "Unbalanced ']'"
msgstr "Ìç éóóïñïðçìÝíï ["
-#: ../../../gcc/vanilla/gcc/java/parse.y:1056
+#: ../../gcc-3cvs/gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1062
-#: ../../../gcc/vanilla/gcc/java/parse.y:1064
-#: ../../../gcc/vanilla/gcc/java/parse.y:2025
+#: ../../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
#, fuzzy
msgid "Identifier expected"
msgstr "ÐñïóäéïñéóôÞò áöáéñÝèçêå"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1067
+#: ../../gcc-3cvs/gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1090
-#: ../../../gcc/vanilla/gcc/java/parse.y:1535
-#: ../../../gcc/vanilla/gcc/java/parse.y:1542
-#: ../../../gcc/vanilla/gcc/java/parse.y:1551
-#: ../../../gcc/vanilla/gcc/java/parse.y:1553
-#: ../../../gcc/vanilla/gcc/java/parse.y:1581
-#: ../../../gcc/vanilla/gcc/java/parse.y:1689
-#: ../../../gcc/vanilla/gcc/java/parse.y:1970
-#: ../../../gcc/vanilla/gcc/java/parse.y:2023
+#: ../../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 "áíáìåíüôáí '('"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1106
+#: ../../gcc-3cvs/gcc/java/parse.y:1096
#, fuzzy
msgid "Missing formal parameter term"
msgstr "ÅëëéðÞò Þ êáêïó÷çìáôéóìÝíç éäéüôçôá"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1121
-#: ../../../gcc/vanilla/gcc/java/parse.y:1126
+#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116
#, fuzzy
msgid "Missing identifier"
msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1146
-#: ../../../gcc/vanilla/gcc/java/parse.y:1155
+#: ../../gcc-3cvs/gcc/java/parse.y:1136 ../../gcc-3cvs/gcc/java/parse.y:1145
msgid "Missing class type term"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1307
+#: ../../gcc-3cvs/gcc/java/parse.y:1301
#, fuzzy
msgid "Invalid interface type"
msgstr "Ìç Ýãêõñïò åîáêñéâùôÞò(verifier) åîõðçñåôïýìåíïõ"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1499
-#: ../../../gcc/vanilla/gcc/java/parse.y:1668
-#: ../../../gcc/vanilla/gcc/java/parse.y:1670
+#: ../../gcc-3cvs/gcc/java/parse.y:1494 ../../gcc-3cvs/gcc/java/parse.y:1663
+#: ../../gcc-3cvs/gcc/java/parse.y:1665
msgid "':' expected"
msgstr "áíáìåíüôáí ':'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1521
-#: ../../../gcc/vanilla/gcc/java/parse.y:1526
-#: ../../../gcc/vanilla/gcc/java/parse.y:1531
+#: ../../gcc-3cvs/gcc/java/parse.y:1516 ../../gcc-3cvs/gcc/java/parse.y:1521
+#: ../../gcc-3cvs/gcc/java/parse.y:1526
#, fuzzy
msgid "Invalid expression statement"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1549
-#: ../../../gcc/vanilla/gcc/java/parse.y:1577
-#: ../../../gcc/vanilla/gcc/java/parse.y:1617
-#: ../../../gcc/vanilla/gcc/java/parse.y:1685
-#: ../../../gcc/vanilla/gcc/java/parse.y:1753
-#: ../../../gcc/vanilla/gcc/java/parse.y:1859
-#: ../../../gcc/vanilla/gcc/java/parse.y:1927
-#: ../../../gcc/vanilla/gcc/java/parse.y:2017
-#: ../../../gcc/vanilla/gcc/java/parse.y:2019
-#: ../../../gcc/vanilla/gcc/java/parse.y:2027
-#: ../../../gcc/vanilla/gcc/java/parse.y:2263
-#: ../../../gcc/vanilla/gcc/java/parse.y:2265
+#: ../../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 "áíáìåíüôáí '('"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1619
+#: ../../gcc-3cvs/gcc/java/parse.y:1614
#, fuzzy
msgid "Missing term or ')'"
msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1666
+#: ../../gcc-3cvs/gcc/java/parse.y:1661
#, fuzzy
msgid "Missing or invalid constant expression"
msgstr "%s: ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç: %s"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1687
+#: ../../gcc-3cvs/gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1726
+#: ../../gcc-3cvs/gcc/java/parse.y:1721
#, fuzzy
msgid "Invalid control expression"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1728
-#: ../../../gcc/vanilla/gcc/java/parse.y:1730
+#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725
#, fuzzy
msgid "Invalid update expression"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1755
+#: ../../gcc-3cvs/gcc/java/parse.y:1750
#, fuzzy
msgid "Invalid init statement"
msgstr "Ìç Ýãêõñç ðáñÜìåôñïò"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1930
+#: ../../gcc-3cvs/gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1972
+#: ../../gcc-3cvs/gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1974
-#: ../../../gcc/vanilla/gcc/java/parse.y:1976
+#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987
#, fuzzy
msgid "'class' expected"
msgstr "áíáìåíüôáí ')'\n"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2021
+#: ../../gcc-3cvs/gcc/java/parse.y:2032
#, fuzzy
msgid "')' or term expected"
msgstr "áíáìåíüôáí ')'\n"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2140
+#: ../../gcc-3cvs/gcc/java/parse.y:2151
msgid "'[' expected"
msgstr "áíáìåíüôáí '['"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2218
+#: ../../gcc-3cvs/gcc/java/parse.y:2229
#, fuzzy
msgid "Field expected"
msgstr "Ç èõãáôñéêÞ äéåñãáóßá ôåñìáôßóôçêå"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2275
-#: ../../../gcc/vanilla/gcc/java/parse.y:2285
+#: ../../gcc-3cvs/gcc/java/parse.y:2286 ../../gcc-3cvs/gcc/java/parse.y:2296
msgid "Missing term and ']' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2389
+#: ../../gcc-3cvs/gcc/java/parse.y:2400
#, fuzzy
msgid "']' expected, invalid type expression"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2392
+#: ../../gcc-3cvs/gcc/java/parse.y:2403
#, fuzzy
msgid "Invalid type expression"
msgstr "Ìç Ýãêõñç êáíïíéêÞ Ýêöñáóç"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2504
+#: ../../gcc-3cvs/gcc/java/parse.y:2515
#, fuzzy
msgid "Invalid reference type"
msgstr "Ìç Ýãêõñç ðéóù-ðáñáðïìðÞ"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2982
+#: ../../gcc-3cvs/gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2984
+#: ../../gcc-3cvs/gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2993
+#: ../../gcc-3cvs/gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:3053
-#: ../../../gcc/vanilla/gcc/java/parse.y:3055
+#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
"%s"
msgstr ""
+"%s.\n"
+"%s"
-#: ../../../gcc/vanilla/gcc/java/parse.y:6789
+#: ../../gcc-3cvs/gcc/java/parse.y:6867
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:6860
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:12191
+#: ../../gcc-3cvs/gcc/java/parse.y:12266
#, fuzzy, c-format
msgid "missing static field `%s'"
msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôá ðåäßá"
-#: ../../../gcc/vanilla/gcc/java/parse.y:12196
+#: ../../gcc-3cvs/gcc/java/parse.y:12271
#, fuzzy, c-format
msgid "not a static field `%s'"
msgstr "áäõíáìßá ðñïóðÝëáóçò(stat()) áñ÷åßïõ `%s': %s"
-#: ../../../gcc/vanilla/gcc/java/parse.y:12239
+#: ../../gcc-3cvs/gcc/java/parse.y:12314
#, fuzzy, c-format
msgid "No case for %s"
msgstr "ÓöÜëìá åðåîåñãáóßáò: %s"
-#: ../../../gcc/vanilla/gcc/java/parse.y:13140
+#: ../../gcc-3cvs/gcc/java/parse.y:13240
#, fuzzy, c-format
msgid "unregistered operator %s"
msgstr "ðïôÝ äåí äçëþèçêå ôï ðñüãñáììá %d\n"
-#: java/typeck.c:566
+#: java/typeck.c:553
#, fuzzy
msgid "junk at end of signature string"
msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
-#: java/verify.c:480
+#: java/verify.c:479
#, fuzzy
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 ""
@@ -23171,169 +20464,196 @@ msgid "Disable automatic array bounds checking"
msgstr ""
#: java/lang-options.h:34
-msgid "Assume native functions are implemented using JNI"
+msgid "Disable assignability checks for stores into object arrays"
msgstr ""
#: java/lang-options.h:36
-msgid "Set class path and suppress system path"
+msgid "Assume native functions are implemented using JNI"
msgstr ""
#: java/lang-options.h:38
-msgid "Set class path"
+msgid "Replace system path"
msgstr ""
#: java/lang-options.h:40
-msgid "Choose class whose main method should be used"
+msgid "Set class path"
msgstr ""
#: java/lang-options.h:42
-msgid "Choose input encoding (default comes from locale)"
+msgid "Set class path (deprecated: use --classpath instead)"
msgstr ""
#: java/lang-options.h:44
-msgid "Add directory to class path"
+msgid "Choose class whose main method should be used"
msgstr ""
#: java/lang-options.h:46
-msgid "Directory where class files should be written"
+msgid "Choose input encoding (default comes from locale)"
msgstr ""
#: java/lang-options.h:48
+msgid "Add directory to class path"
+msgstr ""
+
+#: java/lang-options.h:50
+msgid "Directory where class files should be written"
+msgstr ""
+
+#: java/lang-options.h:52
#, fuzzy
msgid "Warn if modifiers are specified when not necessary"
msgstr "äå ìðïñïýí íá äçëþíïíôáé áñ÷åßá üôáí ãßíåôáé ÷ñÞóç ôïõ --string"
-#: java/lang-options.h:50
+#: java/lang-options.h:54
msgid "Warn if deprecated empty statements are found"
msgstr ""
-#: java/lang-options.h:52
+#: java/lang-options.h:56
msgid "Warn if .class files are out of date"
msgstr ""
-#: java/lang-options.h:54
+#: java/lang-options.h:58
msgid "Always check for non gcj generated classes archives"
msgstr ""
-#: java/lang-options.h:56
+#: java/lang-options.h:60
msgid "Never optimize static class initialization code"
msgstr ""
-#: objc/objc-act.c:606
-msgid "no class name specified as argument to -fconstant-string-class"
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
msgstr ""
-#: objc/objc-act.c:757
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
msgstr ""
-#: objc/objc-act.c:801
+#: 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:939
+#: objc/objc-act.c:914
+#, c-format
+msgid "`%s' cannot be statically allocated"
+msgstr ""
+
+#: objc/objc-act.c:963
#, c-format
msgid "unexpected type for `id' (%s)"
msgstr ""
-#: objc/objc-act.c:944
+#: objc/objc-act.c:968
msgid "undefined type `id', please import <objc/objc.h>"
msgstr ""
-#: objc/objc-act.c:996
+#: objc/objc-act.c:1019
#, c-format
msgid "protocol `%s' has circular dependency"
msgstr ""
-#: objc/objc-act.c:1018 objc/objc-act.c:5229
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, fuzzy, c-format
msgid "cannot find protocol declaration for `%s'"
msgstr "áäõíáìßá åéóáãùãÞò óôïé÷åßï ðáñáâïëÞò `%.*s'"
-#: objc-parse.y:1752 objc/objc-act.c:1279 objc/objc-act.c:5747
-#: objc/objc-act.c:6077 objc/objc-act.c:6126 objc/objc-act.c:6162
+#: 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
#, fuzzy, c-format
msgid "cannot find interface declaration for `%s'"
msgstr "áäõíáìßá áíÜãíùóçò êåöáëßäáò áðü ôï `%s'"
-#: objc/objc-act.c:1304
+#: objc/objc-act.c:1328
#, fuzzy, c-format
msgid "cannot find reference tag for class `%s'"
msgstr "äå âñÝèçêå ï ðñïåðåîåñãáóôÞò C: %s \n"
-#: objc/objc-act.c:2314
+#: objc/objc-act.c:2050
+#, c-format
+msgid "creating selector for non existant method %s"
+msgstr ""
+
+#: objc/objc-act.c:2364
#, fuzzy, c-format
msgid "cannot find class `%s'"
msgstr "áäõíáìßá åêôÝëåóçò ioctl óôï `%s'"
-#: objc/objc-act.c:2316
+#: objc/objc-act.c:2366
#, fuzzy, c-format
msgid "class `%s' already exists"
msgstr "(ôï áñ÷åßï Þäç õðÜñ÷åé)"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2440
+#: objc/objc-act.c:2473
#, c-format
msgid "cannot find interface declaration for `%s', superclass of `%s'"
msgstr ""
-#: objc/objc-act.c:2447
+#: objc/objc-act.c:2480
#, c-format
msgid "circular inheritance in interface declaration for `%s'"
msgstr ""
-#: objc/objc-act.c:3500 objc/objc-act.c:3517
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
#, fuzzy
msgid "inconsistent instance variable specification"
msgstr "Ìåôáãëùôôéóìüò ðñïäéáãñáöþí ôïðéêþí ñõèìßóåùí"
-#: objc/objc-act.c:4710
+#: objc/objc-act.c:4580
+msgid "can not use an object as parameter to a method\n"
+msgstr ""
+
+#: objc/objc-act.c:4780
#, fuzzy, c-format
msgid "multiple declarations for method `%s'"
msgstr "ðïëëáðëüò áñéèìüò åðéëïãþí ôçí åíôïëÞ `s'"
-#: objc/objc-act.c:4876
+#: objc/objc-act.c:4946
#, fuzzy, c-format
msgid "invalid receiver type `%s'"
msgstr "Ìç Ýãêõñç ðñïôåñáéüôçôá `%s'"
-#: objc/objc-act.c:4907 objc/objc-act.c:4933 objc/objc-act.c:4981
+#: objc/objc-act.c:4977 objc/objc-act.c:5003 objc/objc-act.c:5051
#, fuzzy, c-format
msgid "`%s' does not respond to `%s'"
msgstr "ôï `%s' åßíáé ðñüãïíïò ôïõ `%s'"
# src/outer.c:102
-#: objc/objc-act.c:4913 objc/objc-act.c:7197
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, fuzzy, c-format
msgid "no super class declared in interface for `%s'"
msgstr "Ï áíôéôïðïèåôçôÞò åðéöÜíåéáò Ý÷åé ôåèåß ðåñéóóüôåñï áðü ìéá öïñÜ ãéá ôï `%s'"
-#: objc/objc-act.c:5011
+#: objc/objc-act.c:5081
msgid "cannot find class (factory) method"
msgstr ""
-#: objc/objc-act.c:5012 objc/objc-act.c:5056
+#: 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:5029
+#: objc/objc-act.c:5099
#, fuzzy, c-format
msgid "method `%s' not implemented by protocol"
msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé áðü ôï ðñùôüêïëëï"
-#: objc/objc-act.c:5038
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
msgstr ""
# src/install.c:562
-#: objc/objc-act.c:5055
+#: objc/objc-act.c:5125
#, fuzzy
msgid "cannot find method"
msgstr "áäõíáìßá äéêñÜíùóçò"
+#: objc/objc-act.c:5399
+#, fuzzy, c-format
+msgid "undeclared selector `%s'"
+msgstr "ìç Ýãêõñïò äçëùôÞò ðåäßïõ: `%s'"
+
#. 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
@@ -23343,109 +20663,109 @@ 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:5298
+#: objc/objc-act.c:5443
#, c-format
msgid "instance variable `%s' accessed in class method"
msgstr ""
-#: objc/objc-act.c:5548
+#: objc/objc-act.c:5678
#, fuzzy, c-format
msgid "duplicate definition of class method `%s'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïñéóìïý locale `%s'"
-#: objc/objc-act.c:5554
+#: objc/objc-act.c:5684
#, fuzzy, c-format
msgid "duplicate declaration of class method `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: objc/objc-act.c:5590
+#: objc/objc-act.c:5720
#, fuzzy, c-format
msgid "duplicate definition of instance method `%s'"
msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïñéóìïý locale `%s'"
-#: objc/objc-act.c:5596
+#: objc/objc-act.c:5726
#, fuzzy, c-format
msgid "duplicate declaration of instance method `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: objc/objc-act.c:5636
+#: objc/objc-act.c:5766
#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
msgstr ""
-#: objc/objc-act.c:5722
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr ""
-#: objc/objc-act.c:5769
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr ""
-#: objc/objc-act.c:5779
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
msgstr ""
-#: objc/objc-act.c:5816 objc/objc-act.c:5909
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
msgid "incomplete implementation of class `%s'"
msgstr ""
-#: objc/objc-act.c:5820 objc/objc-act.c:5914
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, fuzzy, c-format
msgid "incomplete implementation of category `%s'"
msgstr "áðïôõ÷ßá êáôÜ ôçí åããñáöÞ äåäïìÝíùí ãéá ôçí êáôçãïñßá `%s'"
-#: objc/objc-act.c:5825 objc/objc-act.c:5919
+#: 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:5963
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr ""
-#: objc/objc-act.c:6021 objc/objc-act.c:8118
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
msgid "`@end' missing in implementation context"
msgstr ""
-#: objc/objc-act.c:6049
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr ""
# src/request.c:806 src/request.c:912
-#: objc/objc-act.c:6091
+#: objc/objc-act.c:6209
#, fuzzy, c-format
msgid "conflicting super class name `%s'"
msgstr "Ìç áíáãíùñßóçìï üíïìá åðéöÜíåéáò `%s'"
-#: objc/objc-act.c:6106
+#: objc/objc-act.c:6224
#, fuzzy, c-format
msgid "duplicate interface declaration for class `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: objc/objc-act.c:6388
+#: objc/objc-act.c:6506
#, fuzzy, c-format
msgid "duplicate declaration for protocol `%s'"
msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
-#: objc/objc-act.c:7238
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr ""
-#: objc/objc-act.c:8220 objc/objc-act.c:8236
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
msgstr ""
-#: objc-parse.y:2602
+#: objc-parse.y:2656
msgid "`@end' must appear in an implementation context"
msgstr ""
-#: objc-parse.y:2876
+#: objc-parse.y:2932
msgid "method definition not in class context"
msgstr ""
@@ -23477,15 +20797,109 @@ msgstr ""
msgid "Specify the name of the class for constant strings"
msgstr ""
-#: config/mmix/mmix.h:112
-#, fuzzy
-msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
-msgstr "\"Æþíç %s\" ãñáììÞ êáé åðéëïãÞ -l åßíáé áìïéâáßùò áðïêëåéüìåíá"
+#. 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 ""
+
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr ""
+
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr ""
-#: f/lang-specs.h:35 gcc.c:677
+#: 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 ""
+#: f/lang-specs.h:39 gcc.c:690
+msgid "GNU C does not support -CC without using -E"
+msgstr ""
+
+#: 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
+#, fuzzy
+msgid "may not use both -m32 and -m64"
+msgstr "äåí åßíáé äõíáôü íá ðáñáëçöèåß ï ÷ñÞóôçò êáé ç ïìÜäá"
+
+#: 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 ""
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+#, fuzzy
+msgid "profiling not supported with -mg\n"
+msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
+
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "ôï -pipe äåí õðïóôçñßæåôáé"
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr ""
+
+#: 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:170 config/i386/mingw32.h:84
+msgid "shared and mdll are not compatible"
+msgstr ""
+
+#: 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
msgid "-fjni and -femit-class-files are incompatible"
msgstr ""
@@ -23498,6 +20912,14 @@ msgstr ""
msgid "-femit-class-file should used along with -fsyntax-only"
msgstr ""
+#: 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/mcore/mcore.h:60
msgid "choose either big or little endian, not both"
msgstr ""
@@ -23510,148 +20932,898 @@ msgstr ""
msgid "the m210 does not have little endian support"
msgstr ""
-#: config/alpha/freebsd.h:36 config/i386/freebsd-aout.h:227
-#: config/ia64/freebsd.h:24 config/sparc/freebsd.h:31
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr ""
-
-#: ada/lang-specs.h:39 gcc.c:698 java/jvspec.c:74
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr ""
-
-#: ada/lang-specs.h:42
-msgid "-c or -S required for Ada"
-msgstr ""
-
-#: config/arm/arm.h:213
+#: config/arm/arm.h:178
#, fuzzy
msgid "-mapcs-26 and -mapcs-32 may not be used together"
msgstr ""
"Ïé åðéëïãÝò ãéá íá åêôõðùèåß êáé íá ïñéóôåß ç þñá äåí ìðïñïýí íá\n"
"÷ñçóéìïðïéçèïýí ðáñÜëëçëá."
-#: config/arm/arm.h:225
+#: config/arm/arm.h:180
#, fuzzy
msgid "-msoft-float and -mhard_float may not be used together"
msgstr ""
"Ïé åðéëïãÝò ãéá íá åêôõðùèåß êáé íá ïñéóôåß ç þñá äåí ìðïñïýí íá\n"
"÷ñçóéìïðïéçèïýí ðáñÜëëçëá."
-#: config/arm/arm.h:236
+#: config/arm/arm.h:182
#, fuzzy
msgid "-mbig-endian and -mlittle-endian may not be used together"
msgstr ""
"Ïé åðéëïãÝò ãéá íá åêôõðùèåß êáé íá ïñéóôåß ç þñá äåí ìðïñïýí íá\n"
"÷ñçóéìïðïéçèïýí ðáñÜëëçëá."
-#: config/arm/arm.h:254
-msgid "incompatible interworking options"
-msgstr ""
-
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
-msgstr ""
-
-#: config/arm/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
-msgstr ""
-
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
-msgstr ""
-
-#: config/nextstep.h:161 config/nextstep.h:164
-msgid "-p profiling is no longer supported. Use -pg instead"
-msgstr ""
-
-#: gcc.c:846
-msgid "-E required when input is from standard input"
-msgstr ""
+#: config/mips/r3900.h:35
+#, fuzzy
+msgid "-mhard-float not supported"
+msgstr "Ôï ðñùôüêïëëï äåí õðïóôçñßæåôáé"
-#: gcc.c:850
-msgid "compilation of header file requested"
+#: config/mips/r3900.h:37
+msgid "-msingle-float and -msoft-float can not both be specified"
msgstr ""
-#: config/i386/cygwin.h:169 config/i386/mingw32.h:69
-msgid "shared and mdll are not compatible"
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
msgstr ""
-#: config/i386/sco5.h:662 config/i386/sco5.h:737
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
msgid "-static not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:663 config/i386/sco5.h:738
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
msgid "-shared not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:664 config/i386/sco5.h:739
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
msgid "-symbolic not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:702
+#: config/i386/sco5.h:636
msgid "-fpic is not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:703
+#: config/i386/sco5.h:637
msgid "-fPIC is not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:740
+#: config/i386/sco5.h:669
msgid "-fpic not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:741
+#: config/i386/sco5.h:670
msgid "-fPIC not valid with -mcoff"
msgstr ""
-#: config/dsp16xx/dsp16xx.h:103 config/dsp16xx/dsp16xx.h:112
-msgid "a -ifile option requires a -map option"
-msgstr ""
+#, fuzzy
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "Üãíùóôï óåô `%s'"
-#: config/arc/arc.h:59 config/mips/mips.h:1007
-msgid "may not use both -EB and -EL"
-msgstr ""
+#, fuzzy
+#~ msgid "null format string"
+#~ msgstr "Ç áëõóßäá ìïñöÞò äåí åßíáé Ýãêõñç: `%s'"
-#: config/i860/fx2800.h:290
#, fuzzy
-msgid "-p option not supported: use -pg instead"
-msgstr "ôï -C äåí óõíßóôáôáé ðéá, ÷ñçóéìïðïéÞóôå -Z"
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
-#: config/mips/mips.h:837
#, fuzzy
-msgid "-pipe is not supported"
-msgstr "áñ÷åßá fifo äåí õðïóôçñßæïíôáé"
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "%s: ôï %s åßíáé ôüóï ìåãÜëï ðïõ äå ìðïñåß íá áíáðáñáóôáèåß"
-#: config/mips/mips.h:1003
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr ""
+#, fuzzy
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr ""
+#~ "ï äçëùìÝíïò áñéèìüò bytes `%s' åßíáé ìåãáëýôåñïò áðü ôï ìÝãéóôï\n"
+#~ "ðïõ ìðïñåß íá áíáðáñáóôáèåß áðü ôï ôýðï äåäïìÝíùí `long'"
-#: config/mips/mips.h:1004
-msgid "may not use both -mfp64 and -m4650"
-msgstr ""
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
-#: config/mips/mips.h:1006
-msgid "may not use both -mgp32 and -mfp64"
-msgstr ""
+#, fuzzy
+#~ msgid "integer constant out of range"
+#~ msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
-#: config/mips/r3900.h:36 config/mips/r3900.h:42
#, fuzzy
-msgid "-mhard-float not supported"
-msgstr "Ôï ðñùôüêïëëï äåí õðïóôçñßæåôáé"
+#~ msgid "missing binary operator"
+#~ msgstr "Áãíùóôïò äõáäéêüò ÷åéñéóôÞò."
-#: config/mips/r3900.h:38 config/mips/r3900.h:44
-msgid "-msingle-float and -msoft-float can not both be specified"
-msgstr ""
+#, fuzzy
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "áäõíáìßá áëëáãÞò óôï êáôÜëïãï \"%s\""
-#: config/i386/cygwin.h:114
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr ""
+#, fuzzy
+#~ msgid "I/O error on output"
+#~ msgstr "ÓöÜëìá åéóüäïõ/åîüäïõ"
-#: config/vax/vax.h:42 config/vax/vax.h:43
#, fuzzy
-msgid "profiling not supported with -mg\n"
-msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
+#~ msgid "argument missing after %s"
+#~ msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "number missing after %s"
+#~ msgstr "ïñéóìüò äéêáéùìÜôùí óôï %s"
+
+#, fuzzy
+#~ msgid "target missing after %s"
+#~ msgstr "Áñ÷Þ áñ÷åßïõ %s\n"
+
+#, fuzzy
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
+
+#~ msgid "multi-line string literals are deprecated"
+#~ msgstr "äå óõíßóôáôáé ðéá ç ÷ñÞóç áëöáñéèìçôéêþí óôáèåñþí ðïëëáðëþí ãñáììþí"
+
+#~ msgid "invalid option %s"
+#~ msgstr "ìç Ýãêõñç åðéëïãÞ %s"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: ðñïåéäïðïßçóç: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: ðñïåéäïðïßçóç: "
+
+#~ msgid "sorry, not implemented: "
+#~ msgstr "óõããíþìç, ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß: "
+
+#, fuzzy
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+
+#, fuzzy
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "invalid version number format"
+#~ msgstr "ìç Ýãêõñç äéáìüñöùóç óõíôüìåõóçò"
+
+#, fuzzy
+#~ msgid "No branches in function %s\n"
+#~ msgstr "Äåí âñÝèçêáí ôáéñéÜóìáôá óôç ìïñöÞ `%s'.\n"
+
+#, fuzzy
+#~ msgid "conversion from NaN to int"
+#~ msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
+
+#, fuzzy
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
+
+#, fuzzy
+#~ msgid "floating point overflow"
+#~ msgstr "Åîáßñåóç êéíçôÞò õðïäéáóôïëÞò"
+
+#, fuzzy
+#~ msgid "%s: argument domain error"
+#~ msgstr "%s: óöÜëìá áíÜãíùóçò"
+
+#, fuzzy
+#~ msgid "%s: overflow range error"
+#~ msgstr "%s: óöÜëìá åããñáöÞò"
+
+#, fuzzy
+#~ msgid "%s: underflow range error"
+#~ msgstr "%s: óöÜëìá åããñáöÞò"
+
+#, fuzzy
+#~ msgid "internal error: %s"
+#~ msgstr "óöÜëìá óôçí áíÜãíùóç åéóüäïõ: %s"
+
+#, fuzzy
+#~ msgid "invalid character constant in #if"
+#~ msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
+
+#, fuzzy
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
+
+#, fuzzy
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
+
+#, fuzzy
+#~ msgid "Junk after end of expression."
+#~ msgstr "Ðñüùñï ôÝëïò ôçò êáíïíéêÞò Ýêöñáóçò"
+
+#, fuzzy
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
+
+#, fuzzy
+#~ msgid "-traditional and -ansi are mutually exclusive"
+#~ msgstr "ïé åðéëïãÝò --string êáé --check åßíáé áìïéâáßùò áðïêëåéüìåíåò"
+
+#, fuzzy
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "\"Æþíç %s\" ãñáììÞ êáé åðéëïãÞ -l åßíáé áìïéâáßùò áðïêëåéüìåíá"
+
+#, fuzzy
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "ïé åðéëïãÝò --string êáé --check åßíáé áìïéâáßùò áðïêëåéüìåíåò"
+
+#, fuzzy
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
+
+#, fuzzy
+#~ msgid "not in any file?!"
+#~ msgstr "Äåí åßíáé åðþíõìï áñ÷åßï"
+
+#, fuzzy
+#~ msgid "invalid macro name"
+#~ msgstr "ìç Ýãêõñï üíïìá ìÞíá"
+
+#, fuzzy
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
+
+#, fuzzy
+#~ msgid "unterminated parameter list in #define"
+#~ msgstr "ìç ôåñìáôéæüìåíï üíïìá âÜñïõò"
+
+#, fuzzy
+#~ msgid "invalid format #line command"
+#~ msgstr "Ç áëõóßäá ìïñöÞò äåí åßíáé Ýãêõñç: `%s'"
+
+#, fuzzy
+#~ msgid "undefining `defined'"
+#~ msgstr "áüñéóôï"
+
+#, fuzzy
+#~ msgid "undefining `%s'"
+#~ msgstr "¶íïéãìá ôïõ `%s'"
+
+#, fuzzy
+#~ msgid "#warning%.*s"
+#~ msgstr "ðñïåéäïðïßçóç: "
+
+# src/dfa.c:652 src/dfa.c:655 src/dfa.c:682 src/dfa.c:686 src/dfa.c:687
+# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
+# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695
+# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712
+#, fuzzy
+#~ msgid "unbalanced #endif"
+#~ msgstr "Ìç éóóïñïðçìÝíï ["
+
+#, fuzzy
+#~ msgid "unterminated string or character constant"
+#~ msgstr "ìç ôåñìáôéæìÝíï áëöáñéèìçôéêü óôáèåñÜò"
+
+#, fuzzy
+#~ msgid "arguments given to macro `%s'"
+#~ msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
+
+#, fuzzy
+#~ msgid "no args to macro `%s'"
+#~ msgstr "Üãíùóôïò ÷áñáêôÞñáò `%s'"
+
+#, fuzzy
+#~ msgid "invalid %%V value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "Don't do symbol renaming"
+#~ msgstr "äåí äþèçêå óõìâïëéêü üíïìá"
+
+#, fuzzy
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
+
+#, fuzzy
+#~ msgid "Retain legend information"
+#~ msgstr "åìöÜíéóç ðëçñïöïñéþí ðñïüäïõ"
+
+# lib/argmatch.c:188
+#, fuzzy
+#~ msgid "argument is a structure"
+#~ msgstr "¸ãêõñá ïñßóìáôá åßíáé:"
+
+#, fuzzy
+#~ msgid "Use mcount for profiling"
+#~ msgstr "áäýíáôç ç öüñôùóç äåäïìÝíùí ðñïößë"
+
+#, fuzzy
+#~ msgid "-mips%d not supported"
+#~ msgstr "Ôï ai_family äåí õðïóôçñßæåôáé"
+
+#, fuzzy
+#~ msgid "-mabi=%s does not support -mips%d"
+#~ msgstr "Ôï ai_socktype äåí õðïóôçñßæåôáé"
+
+#, fuzzy
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "Ç ëåéôïõñãßá äåí õðïóôçñßæåôáé"
+
+#, fuzzy
+#~ msgid "`%D' as declarator"
+#~ msgstr "ôï `%s' åßíáé êáôÜëïãïò"
+
+#, fuzzy
+#~ msgid "invalid type: `void &'"
+#~ msgstr "Ìç Ýãêõñç çìåñïìçíßá `%s'"
+
+#~ msgid " %#D"
+#~ msgstr " %#D"
+
+#, fuzzy
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "Ìç Ýãêõñç ðñïðïñåõüìåíç êáíïíéêÞ Ýêöñáóç"
+
+#, fuzzy
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "ìç Ýãêõñïò áñéèìüò áðü êåíÝò ãñáììÝò: `%s'"
+
+#, fuzzy
+#~ msgid "declaration of `%#T'"
+#~ msgstr "äçìéïõñãßá áñ÷åßïõ `%s'\n"
+
+#, fuzzy
+#~ msgid "invalid use of `%T'"
+#~ msgstr "Ìç Ýãêõñç çìåñïìçíßá `%s'."
+
+#, fuzzy
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+
+#, fuzzy
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "ôï -C äåí óõíßóôáôáé ðéá, ÷ñçóéìïðïéÞóôå -Z"
+
+#, fuzzy
+#~ msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#~ msgstr "\"Æþíç %s\" ãñáììÞ êáé åðéëïãÞ -l åßíáé áìïéâáßùò áðïêëåéüìåíá"
+
+#, fuzzy
+#~ msgid "__builtin_trap not supported by this target"
+#~ msgstr "óõìâïëéêïß óýíäåóìïé äåí õðïóôçñßæïíôáé óôï óýóôçìá áõôü"
+
+#, fuzzy
+#~ msgid "invalid %H value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %h value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %Q value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %q value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %p value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %B value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %C value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %E value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "invalid %r value"
+#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "bad string length in %s"
+#~ msgstr "åëÜ÷éóôï ìÝãåèïò áëöáñéèìçôéêïý"
+
+#, fuzzy
+#~ msgid "mode mismatch in %s expression"
+#~ msgstr "ÓöÜëìá óôï ôáßñéáóìá óôçí êáíïíéêÞ Ýêöñáóç `%s'"
+
+# src/main.c:697 src/main.c:751
+#, fuzzy
+#~ msgid "no label named `%s'"
+#~ msgstr "¶ãíùóôç ãëþóóá `%s'"
+
+#, fuzzy
+#~ msgid "this is the first ELSE label"
+#~ msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
+
+#, fuzzy
+#~ msgid "duplicate CASE value"
+#~ msgstr "äéðëü êëåéäß"
+
+#, fuzzy
+#~ msgid "this is the first entry for that value"
+#~ msgstr "áõôüò åßíáé ï ðñþôïò ïñéóìüò"
+
+#, fuzzy
+#~ msgid "CASE value out of range"
+#~ msgstr "Ï áñéèìüò ôùí êáíáëéþí åßíáé Ýîù áðü ôá üñéá"
+
+#, fuzzy
+#~ msgid "empty range"
+#~ msgstr "êåíü áëöáñéèìçôéêü"
+
+#, fuzzy
+#~ msgid "internal error - unknown type in multiple assignment"
+#~ msgstr "åóùôåñéêü óöÜëìá - êëÞèçêå ç addtype ìå êáêü ttisgmt"
+
+#, fuzzy
+#~ msgid "cannot convert to a boolean mode"
+#~ msgstr "áäýíáôç ç ìåôáôñïðÞ ôïõ U+%04X óôï ôïðéêü óýíïëï ÷áñáêôÞñùí"
+
+#, fuzzy
+#~ msgid "cannot convert to a char mode"
+#~ msgstr "áäýíáôç ç ìåôáôñïðÞ ôïõ U+%04X óôï ôïðéêü óýíïëï ÷áñáêôÞñùí"
+
+#, fuzzy
+#~ msgid "powerset tuple element out of range"
+#~ msgstr "%s: áñéèìüò ãñáììÞò Ýîù áðü ôá üñéá"
+
+#, fuzzy
+#~ msgid "missing variant fields (at least `%s')"
+#~ msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
+
+#, fuzzy
+#~ msgid "invalid array tuple label"
+#~ msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ïíüìáôïò êëÜóçò"
+
+#, fuzzy
+#~ msgid "array tuple index out of range"
+#~ msgstr "%s: áñéèìüò ãñáììÞò Ýîù áðü ôá üñéá"
+
+#, fuzzy
+#~ msgid "too many array tuple values"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "missing array tuple element %s"
+#~ msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
+
+#, fuzzy
+#~ msgid "missing array tuple elements %s : %s"
+#~ msgstr "Ëåßðåé ðáñÜìåôñïò ãéá `%s'"
+
+# src/request.c:263
+#, fuzzy
+#~ msgid "no initialization allowed for `%s'"
+#~ msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
+
+#, fuzzy
+#~ msgid "location for `%s' not read-compatible"
+#~ msgstr "Ï êáôÜëïãïò `%s' äåí åßíáé ðñïóéôüò."
+
+#, fuzzy
+#~ msgid "too few tag labels"
+#~ msgstr "ðïëý ëßãá ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "too many tag labels"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "...is duplicated here"
+#~ msgstr "äéðëü êëåéäß"
+
+#, fuzzy
+#~ msgid "duplicate grant for `%s'"
+#~ msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
+
+#, fuzzy
+#~ msgid "previous grant for `%s'"
+#~ msgstr "äéáôÞñçóç ùñþí óôï %s"
+
+#, fuzzy
+#~ msgid "duplicate definition `%s'"
+#~ msgstr "äéðëüò ïñéóìüò óõíüëïõ"
+
+#, fuzzy
+#~ msgid "previous definition of `%s'"
+#~ msgstr "êáíÝíáò ïñéóìüò ôïõ `UNDEFINED'"
+
+# src/main.c:785
+#, fuzzy
+#~ msgid "ambiguous choice for seize `%s' -"
+#~ msgstr "ÁóáöÞò ìïñöÞ `%s'"
+
+#, fuzzy
+#~ msgid "INTERNAL ERROR: handle_one_level is broken"
+#~ msgstr "ÅÓÙÔÅÑÉÊÏ ÓÖÁËÌÁ: ËÜèïò åßäïò áíôéêåéìÝíïõ óôï expand_token ()"
+
+#, fuzzy
+#~ msgid "conditional expression not allowed in %s"
+#~ msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç (ëÜèïò åßóïäïò): %s"
+
+#, fuzzy
+#~ msgid "internal error: unknown expression mode in %s"
+#~ msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+
+#, fuzzy
+#~ msgid "array is not addressable"
+#~ msgstr "Ï êáôÜëïãïò `%s' äåí åßíáé ðñïóéôüò."
+
+#~ msgid "too few arguments in call to `%s'"
+#~ msgstr "ðïëý ëßãá ïñßóìáôá óôç êëÞóç ôçò `%s'"
+
+#~ msgid "too many arguments in call to `%s'"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç êëÞóç ôçò `%s'"
+
+#, fuzzy
+#~ msgid "cannot dereference, not a pointer"
+#~ msgstr "Äåí ìðïñåß íá êáèïñéóôåß ôï üíïìá ôïõ óõóôÞìáôïò"
+
+#, fuzzy
+#~ msgid "invalid type argument of `->'"
+#~ msgstr "Ç ðáñÜìåôñïò `%s' äåí åßíáé Ýãêõñç."
+
+#, fuzzy
+#~ msgid "no field named `%s'"
+#~ msgstr "Ìç ïñéóìÝíï üíïìá %s"
+
+#, fuzzy
+#~ msgid "argument %d to ABSTIME must be of integer type"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "parameter 2 must be a positive integer"
+#~ msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
+
+#, fuzzy
+#~ msgid "argument 1 to `%s' must be of floating point mode"
+#~ msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "first argument to `%s' must be a mode"
+#~ msgstr "Ç ðáñÜìåôñïò óôï `%s' ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#~ msgid "too many arguments to procedure"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá óôç ñïõôßíá"
+
+#, fuzzy
+#~ msgid "too few arguments to procedure `%s'"
+#~ msgstr "Ðñïåéäïðïßçóç: Ðïëý ëßãá ïñßóìáôá óôï åóùäïìçìÝíï `%s'"
+
+#, fuzzy
+#~ msgid "too few arguments to procedure"
+#~ msgstr "ðïëý ëßãá ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "syntax error (integer used as function)"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôïí êáèïñéóìü óåéñÜò"
+
+#, fuzzy
+#~ msgid "syntax error - missing operator, comma, or '('?"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìü ôïõ ðßíáêá ñåðåñôïñßïõ: %s"
+
+#, fuzzy
+#~ msgid "internal error - bad built-in function `%s'"
+#~ msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+
+#, fuzzy
+#~ msgid "invalid operation on array of chars"
+#~ msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ðáñáâïëÞò"
+
+#, fuzzy
+#~ msgid "invalid left operand of %s"
+#~ msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
+
+#, fuzzy
+#~ msgid "invalid right operand of %s"
+#~ msgstr "ìç Ýãêõñï åßäïò áëöáñéèìçôéêïý `%s'"
+
+#, fuzzy
+#~ msgid "ADDR requires a LOCATION argument"
+#~ msgstr "ç åðéëïãÞ `-k' áðáéôåß Ýíá üñéóìá"
+
+#, fuzzy
+#~ msgid "-> expression is not addressable"
+#~ msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç: %s"
+
+#, fuzzy
+#~ msgid "%s is not addressable"
+#~ msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+#, fuzzy
+#~ msgid "can't write to %s"
+#~ msgstr "áäõíáìßá åããñáöÞò áðïôåëÝóìáôïò: %s"
+
+#, fuzzy
+#~ msgid "FORBID is not yet implemented"
+#~ msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
+
+#, fuzzy
+#~ msgid "text length must be greater then 0"
+#~ msgstr "%s: ï áñéèìüò ãñáììÞò ðñÝðåé íá åßíáé ìåãáëýôåñïò áðü ôï ìçäÝí"
+
+#, fuzzy
+#~ msgid "argument 2 of ASSOCIATE must not be an empty string"
+#~ msgstr "%s: ç ôéìÞ ãéá ôï ðåäßï `%s' äåí ðñÝðåé íá åßíáé Ýíá êåíü áëöáñéèìçôéêü"
+
+#, fuzzy
+#~ msgid "argument 2 to ASSOCIATE must be a string"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "argument 3 to ASSOCIATE must be a string"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "too many arguments in call to MODIFY"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "argument 2 of MODIFY must not be an empty string"
+#~ msgstr "%s: ç ôéìÞ ãéá ôï ðåäßï `%s' äåí ðñÝðåé íá åßíáé Ýíá êåíü áëöáñéèìçôéêü"
+
+#, fuzzy
+#~ msgid "argument 2 to MODIFY must be a string"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "argument 3 to MODIFY must be a string"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "incompatible index mode"
+#~ msgstr "ìç Ýãêõñï äéêáßùìá"
+
+#, fuzzy
+#~ msgid "argument %d of %s must be of mode ACCESS"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `readrecord'"
+#~ msgstr "ðïëý ëßãá bytes óôçí êùäéêïðïßçóç ÷áñáêôÞñá"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `writerecord'"
+#~ msgstr "ðïëý ëßãá bytes óôçí êùäéêïðïßçóç ÷áñáêôÞñá"
+
+#, fuzzy
+#~ msgid "argument %d of %s must be of mode TEXT"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "argument %d must be referable"
+#~ msgstr "Ç ðáñÜìåôñïò óôï <%s> ðñÝðåé íá åßíáé Ýíáò áðëüò ÷áñáêôÞñáò"
+
+#, fuzzy
+#~ msgid "too few arguments for this format string"
+#~ msgstr "Ý÷ïõí ðáñáëçöèåß ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "internal error in check_format_string"
+#~ msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+
+# src/recode.c:171
+#, fuzzy
+#~ msgid "no padding character (offset %d)"
+#~ msgstr "ÊáíÝíáò ÷áñáêôÞñáò äåí ìåôáôñÝðåôáé óå %3d"
+
+#, fuzzy
+#~ msgid "too many arguments for this format string"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá óå áõôü ôï áëöáñéèìçôéêü ìïñöÞò"
+
+#, fuzzy
+#~ msgid "missing index expression"
+#~ msgstr "ðáñÜëçøç ïñßóìáôïò áñ÷åßïõ"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `readtext'"
+#~ msgstr "ðïëý ëßãá ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "non-constant expression"
+#~ msgstr "Áäõíáìßá ðñïóðÝëáóçò ôïõ áñ÷åßïõ ôçò áëëáãÞò"
+
+#, fuzzy
+#~ msgid "invalid C'xx' "
+#~ msgstr "ìç Ýãêõñç ìåôáôüðéóç UTC"
+
+#, fuzzy
+#~ msgid "unrecognized compiler directive"
+#~ msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%c'"
+
+#, fuzzy
+#~ msgid "unrecognized compiler directive `%s'"
+#~ msgstr "ìç áíáãíùñßóçìç åðéëïãÞ `-%c'"
+
+#, fuzzy
+#~ msgid "unterminated string literal"
+#~ msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
+
+#, fuzzy
+#~ msgid "invalid number format `%s'"
+#~ msgstr "ìç Ýãêõñïò áñéèìüò áðü óôÞëåò: `%s'"
+
+#, fuzzy
+#~ msgid "can't find %s"
+#~ msgstr "Äåí åßíáé äõíáôüí íá åêôåëåóôåß ôï %s"
+
+#, fuzzy
+#~ msgid "invalid `%c' character in name"
+#~ msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò ïíüìáôïò êëÜóçò"
+
+#, fuzzy
+#~ msgid "loop identifier undeclared"
+#~ msgstr "áíáìåíüôáí óôáèåñÜ Þ ðñïóäéïñéóôÞò"
-#~ #, fuzzy
+#, fuzzy
+#~ msgid "BY expression is negative or zero"
+#~ msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç: %s"
+
+#, fuzzy
+#~ msgid "start label '%s' does not match end label '%s'"
+#~ msgstr "ôï áñ÷åßï äåäïìÝíùí ðñïößë `%s' äåí ôáéñéÜæåé ìå ôï äéáìïéñáæüìåíï áíôéêåßìåíï `%s'"
+
+#, fuzzy
+#~ msgid "expected a name here"
+#~ msgstr "%s: áíáìåíüôáí áñéèìçôéêÞ ôéìÞ."
+
+#, fuzzy
+#~ msgid "expected a name string here"
+#~ msgstr "%s: áíáìåíüôáí áñéèìçôéêÞ ôéìÞ."
+
+#, fuzzy
+#~ msgid "missing defining occurrence"
+#~ msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
+
+#, fuzzy
+#~ msgid "missing '(' in exception list"
+#~ msgstr "Ý÷åé ðáñáëçöèåß ôï áñ÷åßï ðñïïñéóìïý"
+
+#, fuzzy
+#~ msgid "syntax error in exception list"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôï ïñéóìü ôïõ %s: %s"
+
+#, fuzzy
+#~ msgid "empty ON-condition"
+#~ msgstr "Åðåßãïõóá êáôÜóôáóç åéóüäïõ/åîüäïõ"
+
+#, fuzzy
+#~ msgid "expected another rename clause"
+#~ msgstr "%s: áíáìåíüôáí áñéèìçôéêÞ ôéìÞ."
+
+#, fuzzy
+#~ msgid "syntax error in parameter name list"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìü êëÜóçò ÷áñáêôÞñùí"
+
+#, fuzzy
+#~ msgid "syntax error while parsing signal definition statement"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôï ïñéóìü ôïõ %s: %s"
+
+#, fuzzy
+#~ msgid "expression is not an action"
+#~ msgstr "ËÜèïò Ýêöñáóç óôçí áðïôßìçóç: %s"
+
+#, fuzzy
+#~ msgid "syntax error in action"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôïí êáèïñéóìü óåéñÜò"
+
+#, fuzzy
+#~ msgid "bad tuple field name list"
+#~ msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
+
+#, fuzzy
+#~ msgid "invalid syntax for label in tuple"
+#~ msgstr "ìç Ýãêõñï byte Þ ëßóôá ðåäßùí"
+
+#, fuzzy
+#~ msgid "missing field"
+#~ msgstr "Ý÷åé ðáñáëçöèåß ç ëßóôá ìå ôá ðåäßá"
+
+#, fuzzy
+#~ msgid "VARYING bit-strings not implemented"
+#~ msgstr "Ç ëåéôïõñãßá äåí Ý÷åé õëïðïéçèåß"
+
+#, fuzzy
+#~ msgid "SIGNAL is not a valid mode"
+#~ msgstr "ìç Ýãêõñï äéêáßùìá"
+
+#, fuzzy
+#~ msgid "syntax error - missing mode"
+#~ msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìïý locale ìçíýìáôïò"
+
+#, fuzzy
+#~ msgid "too many arguments to process `%s'"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "too many arguments to process"
+#~ msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "too few arguments to process `%s'"
+#~ msgstr "ðïëý ëßãá ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "too few arguments to process"
+#~ msgstr "ðïëý ëßãá ïñßóìáôá"
+
+#, fuzzy
+#~ msgid "GEN_INST parameter 2 must be an integer mode"
+#~ msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
+
+#, fuzzy
+#~ msgid "%s is not a declared process"
+#~ msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+#, fuzzy
+#~ msgid " and no default priority was set."
+#~ msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ç ðñïôåñáéüôçôá."
+
+#, fuzzy
+#~ msgid " and no destination process specified"
+#~ msgstr "Áðáéôåßôáé äéåýèõíóç ðñïïñéóìïý"
+
+#, fuzzy
+#~ msgid "slice length out-of-range"
+#~ msgstr "ó÷åôéêÞ èÝóç áñ÷åßïõ åßíáé åêôüò ïñßùí"
+
+#, fuzzy
+#~ msgid "too many index expressions"
+#~ msgstr "õðåñâïëéêÜ ðïëëÜ äåõôåñüëåðôá áíáðÞäçóçò"
+
+#, fuzzy
+#~ msgid "cannot convert to float"
+#~ msgstr "áäýíáôç ç ìåôáôñïðÞ ôïõ U+%04X óôï ôïðéêü óýíïëï ÷áñáêôÞñùí"
+
+#, fuzzy
+#~ msgid "cannot convert float to this mode"
+#~ msgstr "yp_update: áäõíáìßá ìåôáôñïðÞò ïíüìáôïò óõóôÞìáôïò óå üíïìá äéêôýïõ\n"
+
+#, fuzzy
+#~ msgid "internal error in chill_root_resulting_mode"
+#~ msgstr "åóùôåñéêü óöÜëìá óôï %s, ãñáììÞ %u"
+
+#, fuzzy
+#~ msgid "cannot process BIN (>32)"
+#~ msgstr "Äåí åßíáé äõíáôüí íá âñåèåß ï ôýðïò ôïõ åðåîåñãáóôÞ."
+
+#, fuzzy
+#~ msgid "negative string length"
+#~ msgstr "åëÜ÷éóôï ìÝãåèïò áëöáñéèìçôéêïý"
+
+#, fuzzy
+#~ msgid "floating point ranges"
+#~ msgstr "Ç ðáñÜìåôñïò êéíçôÞò õðïäéáóôïëÞò äåí åßíáé Ýãêõñç: %s"
+
+#, fuzzy
+#~ msgid "starting word in POS must be an integer constant"
+#~ msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
+
+#, fuzzy
+#~ msgid "length in POS must be an integer constant"
+#~ msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
+
+#, fuzzy
+#~ msgid "end bit in POS must be an integer constant"
+#~ msgstr "ç ôéìÞ ãéá ôï %s ðñÝðåé íá åßíáé áêÝñáéïò"
+
+#, fuzzy
+#~ msgid "invalid parameterized type"
+#~ msgstr "%s: ìç Ýãêõñï åßäïò áñ÷åßïõ"
+
+# src/main.c:659
+#, fuzzy
+#~ msgid "ambiguous request for method pointer `%s'"
+#~ msgstr "ÁóáöÞò óõìâïëïóåéñÜ `%s'"
+
+#, fuzzy
#~ msgid "invalid use of %D"
#~ msgstr "ìç Ýãêõñïò ÷ñÞóôçò"
+
+#, fuzzy
+#~ msgid "internal error #%d"
+#~ msgstr "Åóùôåñéêü óöÜëìá NIS"
+
+#, fuzzy
+#~ msgid "can't to open %s"
+#~ msgstr "áäõíáìßá áíïßãìáôïò ôïõ `%s'"
diff --git a/gcc/po/es.po b/gcc/po/es.po
index a9b5b4b00fe..d4fe4423166 100644
--- a/gcc/po/es.po
+++ b/gcc/po/es.po
@@ -1,138 +1,67 @@
-# Mensajes en español para gcc-3.1-b20020415
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002.
+# Mensajes en español para gcc-3.3
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002, 2003.
#
msgid ""
msgstr ""
-"Project-Id-Version: gcc 3.1-b20020415\n"
-"POT-Creation-Date: 2002-04-23 12:53+0200\n"
-"PO-Revision-Date: 2002-04-23 16:15-0600\n"
+"Project-Id-Version: gcc 3.3\n"
+"POT-Creation-Date: 2003-05-12 14:42-0700\n"
+"PO-Revision-Date: 2003-05-21 13:22-0500\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: attribs.c:314
+#: attribs.c:185
#, c-format
msgid "`%s' attribute directive ignored"
msgstr "se ignora la directiva de atributo `%s'"
-#: attribs.c:322
+#: attribs.c:193
#, c-format
msgid "wrong number of arguments specified for `%s' attribute"
msgstr "se especificó el número equivocado de argumentos para el atributo `%s'"
-#: attribs.c:339
+#: attribs.c:210
#, c-format
msgid "`%s' attribute does not apply to types"
msgstr "el atributo `%s' no aplica a tipos"
-#: attribs.c:376
+#: attribs.c:247
#, c-format
msgid "`%s' attribute only applies to function types"
msgstr "el atributo `%s' aplica solamente a tipos de funciones"
-#: attribs.c:468 attribs.c:490 attribs.c:512 attribs.c:543 attribs.c:565 attribs.c:590 attribs.c:613 attribs.c:643 attribs.c:681 attribs.c:728 attribs.c:758 attribs.c:788 attribs.c:811 attribs.c:1057 attribs.c:1113 attribs.c:1169 attribs.c:1230 attribs.c:1256 attribs.c:1458 config/arm/arm.c:2007 config/arm/arm.c:2034 config/avr/avr.c:4683 config/h8300/h8300.c:3071 config/h8300/h8300.c:3096 config/i386/i386.c:1267 config/i386/winnt.c:74
+#: attribs.c:404 c-common.c:5270 c-common.c:5292 c-common.c:5314
+#: c-common.c:5345 c-common.c:5367 c-common.c:5392 c-common.c:5418
+#: c-common.c:5448 c-common.c:5486 c-common.c:5533 c-common.c:5563
+#: c-common.c:5593 c-common.c:5616 c-common.c:5873 c-common.c:5895
+#: c-common.c:5938 c-common.c:6015 c-common.c:6071 c-common.c:6132
+#: c-common.c:6166 c-common.c:6520 config/arm/arm.c:2098 config/arm/arm.c:2125
+#: config/avr/avr.c:4774 config/h8300/h8300.c:3693 config/h8300/h8300.c:3718
+#: config/i386/i386.c:1403 config/i386/winnt.c:76 config/ip2k/ip2k.c:3204
#, c-format
msgid "`%s' attribute ignored"
msgstr "se ignora el atributo `%s'"
-#: attribs.c:844
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "se desconoce el modo de máquina `%s'"
-
-#: attribs.c:847
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "no hay tipo de datos para el modo `%s'"
-
-#: attribs.c:880
-msgid "section attribute cannot be specified for local variables"
-msgstr "el atributo de sección no puede ser especificado para las variables locales"
-
-#: attribs.c:891
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr "la sección de `%s' causa conflictos con la declaración previa"
-
-#: attribs.c:900
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr "no se permite un atributo de sección para `%s'"
-
-#: attribs.c:907
-msgid "section attributes are not supported for this target"
-msgstr "no se da soporte a atributos de sección en este objetivo"
-
-#: attribs.c:949
-msgid "requested alignment is not a constant"
-msgstr "la alineación solicitada no es una constante"
-
-#: attribs.c:954
-msgid "requested alignment is not a power of 2"
-msgstr "la alineación solicitada no es una potencia de 2"
-
-#: attribs.c:959
-msgid "requested alignment is too large"
-msgstr "la alineación solicitada es demasiado grande"
-
-#: attribs.c:986
-#, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "la alineación no puede ser especificada para `%s'"
-
-#: attribs.c:1031
-#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr "`%s' definido normalmente y como un alias"
-
-#: attribs.c:1041
-msgid "alias arg not a string"
-msgstr "el argumento de alias no es una cadena"
-
-#: attribs.c:1080 attribs.c:1136
-#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "el atributo `%s' aplica solamente a funciones"
-
-#: attribs.c:1087 attribs.c:1143
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "no se puede establecer el atributo `%s' después de la definición"
-
-#: attribs.c:1227
-#, c-format
-msgid "`%s' attribute ignored for `%s'"
-msgstr "se ignora el atributo `%s' para `%s'"
-
-#: attribs.c:1284
-#, c-format
-msgid "invalid vector type for attribute `%s'"
-msgstr "tipo vector inválido para el atributo `%s'"
-
-#: attribs.c:1307 attribs.c:1312
-msgid "no vector mode with the size and type specified could be found"
-msgstr "no se puede encontrar un modo vector con el tamaño y tipo especificados"
-
-#: builtins.c:282
+#: builtins.c:285
msgid "offset outside bounds of constant string"
msgstr "el desplazamiento fuera de los límites de la constante de cadena"
-#: builtins.c:759
+#: builtins.c:765
msgid "second arg to `__builtin_prefetch' must be a constant"
msgstr "el segundo argumento de `__builtin_prefetch' debe ser una constante"
-#: builtins.c:766
+#: builtins.c:772
msgid "invalid second arg to __builtin_prefetch; using zero"
msgstr "el segundo argumento para __builtin_prefetch es inválido; se usará cero"
-#: builtins.c:773
+#: builtins.c:779
msgid "third arg to `__builtin_prefetch' must be a constant"
msgstr "el tercer argumento de `__builtin_prefetch' debe ser una constante"
-#: builtins.c:780
+#: builtins.c:786
msgid "invalid third arg to __builtin_prefetch; using zero"
msgstr "el tercer argumento para __builtin_prefetch es inválido; se usará cero"
@@ -143,1286 +72,1434 @@ msgstr "el tercer argumento para __builtin_prefetch es inválido; se usará cero"
#. 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:2760
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
msgstr "no se da soporte a __builtin_saveregs en este objetivo"
-#: builtins.c:2802
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr "el argumento de `__builtin_args_info' debe ser constante"
-#: builtins.c:2808
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
msgstr "el argumento de `__builtin_args_info' está fuera de rango"
-#: builtins.c:2814
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
msgstr "falta un argumento en `__builtin_args_info'"
-#: builtins.c:2846
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
msgstr "se usó `va_start' en una función con argumentos fijos"
-#: builtins.c:2865
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
msgstr "el segundo parámetro de `va_start' no es el último argumento nombrado"
#. 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:2870
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr "se llamó a `__builtin_next_arg' sin un argumento"
-#: builtins.c:2974
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
msgstr "demasiados argumentos para la función `va_start'"
-#: builtins.c:3075
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
msgstr "el primer argumento para `va_arg' no es del tipo `va_list'"
#. 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:3106
+#: builtins.c:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
msgstr "`%s' se promueve a `%s' cuando pasa a través de `...'"
-#: builtins.c:3111
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
msgstr "(así que debe pasar `%s' y no `%s' a `va_arg')"
-#: builtins.c:3242
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
msgstr "argumento inválido para `__builtin_frame_address'"
-#: builtins.c:3244
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
msgstr "argumento inválido para `__builtin_return_address'"
-#: builtins.c:3258
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
msgstr "argumento sin soporte para `__builtin_frame_address'"
-#: builtins.c:3260
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
msgstr "argumento no soportado para `__builtin_return_address'"
-#: builtins.c:3428
+#: builtins.c:3519
msgid "second arg to `__builtin_expect' must be a constant"
msgstr "el segundo argumento de `__builtin_expect' debe ser una constante"
-#: builtins.c:3909
+#: builtins.c:4017
msgid "__builtin_longjmp second argument must be 1"
msgstr "el segundo argumento de __builtin_longjump debe ser 1"
#. just do library call, if unknown builtin
-#: builtins.c:3982 c-common.c:3811
+#: builtins.c:4081 c-common.c:4454
#, c-format
msgid "built-in function `%s' not currently supported"
msgstr "no se soporta actualmente la función interna `%s'"
-#: c-common.c:550
+#: builtins.c:4154
+msgid "target format does not support infinity"
+msgstr "el formato objetivo no tiene soporte para infinito"
+
+#: c-common.c:1163
#, c-format
msgid "`%s' is not defined outside of function scope"
msgstr "`%s' no está definido fuera del ámbito de la función"
-#: c-common.c:590
-msgid "concatenation of string literals with __FUNCTION__ is deprecated. This feature will be removed in future"
-msgstr "la concatenación de literales de cadena con __FUNCTION__ está deprecado. Esta característica será eliminada en el futuro"
-
-#: c-common.c:659
+#: 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 "la longitud de la cadena `%d' es mayor que la longitud `%d' que se requiere que los compiladores ISO C%d den soporte"
-#: c-common.c:708
+#: c-common.c:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr "la concatenación de literales de cadena con __FUNCTION__ es obsoleta"
+
+#: c-common.c:1338
msgid "overflow in constant expression"
msgstr "desbordamiento en la expresión constante"
-#: c-common.c:729
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr "desbordamiento entero en la expresión"
-#: c-common.c:738
+#: c-common.c:1368
msgid "floating point overflow in expression"
msgstr "desbordamiento de coma flotante en la expresión"
-#: c-common.c:744
+#: c-common.c:1374
msgid "vector overflow in expression"
msgstr "desbordamiento vectorial en la expresión"
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:765
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr "entero grande truncado implícitamente al tipo unsigned"
-#: c-common.c:767
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr "entero negativo truncado implícitamente al tipo unsigned"
-#: c-common.c:814
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr "desbordamiento en la conversión implícita de constante"
-#: c-common.c:962
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
msgstr "la operación sobre `%s' puede estar indefinida"
-#: c-common.c:1253
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr "la declaración de la expresión tiene tipo de dato incompleto"
-#: c-common.c:1286
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "la etiqueta de `case' no se reduce a una constante entera"
-#: c-common.c:1586
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "expresión de valor verdadero inválida"
-#: c-common.c:1637
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "operadores inválidos para el binario %s"
-#: c-common.c:1872 c-common.c:1881
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
msgstr "la comparación siempre es falsa debido al rango limitado del tipo de datos"
-#: c-common.c:1874 c-common.c:1883
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
msgstr "la comparación siempre es verdadera debido al rango limitado del tipo de datos"
-#: c-common.c:1949
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr "la comparación de una expresión unsigned >= 0 siempre es verdadera"
-#: c-common.c:1958
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr "la comparación de una expresión unsigned < 0 siempre es falsa"
-#: c-common.c:2005
+#: c-common.c:2636
msgid "pointer of type `void *' used in arithmetic"
msgstr "se usó un apuntador de tipo `void *' en la aritmética"
-#: c-common.c:2011
+#: c-common.c:2642
msgid "pointer to a function used in arithmetic"
msgstr "se usó un apuntador a una función en la aritmética"
-#: c-common.c:2017
+#: c-common.c:2648
msgid "pointer to member function used in arithmetic"
msgstr "se usó un apuntador a una función miembro en la aritmética"
-#: c-common.c:2023
+#: c-common.c:2654
msgid "pointer to a member used in arithmetic"
msgstr "se usó un apuntador a un miembro en la aritmética"
-#: c-common.c:2110 f/com.c:14823
+#: c-common.c:2741 f/com.c:14762
msgid "struct type value used where scalar is required"
msgstr "se usa un valor de tipo struct cuando se requiere un escalar"
-#: c-common.c:2114 f/com.c:14827
+#: c-common.c:2745 f/com.c:14766
msgid "union type value used where scalar is required"
msgstr "se usa un valor de tipo union cuando se requiere un escalar"
-#: c-common.c:2118 f/com.c:14831
+#: c-common.c:2749 f/com.c:14770
msgid "array type value used where scalar is required"
msgstr "se usa un valor de tipo matriz cuando se requiere un escalar"
-#: c-common.c:2233 f/com.c:14957
+#: c-common.c:2869 f/com.c:14903
msgid "suggest parentheses around assignment used as truth value"
msgstr "se sugieren paréntesis alrededor de la asignación usada como valor verdadero"
-#: c-common.c:2277 c-common.c:2309
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
msgstr "uso inválido de `restrict'"
-#: c-common.c:2425
-msgid "__alignof__ applied to an incomplete type"
-msgstr "__alignof__ aplicado a un tipo de dato incompleto"
+#: c-common.c:3059
+msgid "invalid application of `sizeof' to a function type"
+msgstr "aplicación inválida de `sizeof' a un tipo de función"
+
+#: c-common.c:3069
+#, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "aplicación inválida de `%s' a un tipo void"
+
+#: c-common.c:3075
+#, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "aplicación inválida de `%s' a un tipo de dato incompleto"
-#: c-common.c:2451
+#: c-common.c:3116
msgid "`__alignof' applied to a bit-field"
msgstr "`__alignof' applicado a un campo de bits"
-#: c-common.c:2893
+#: c-common.c:3613
#, c-format
msgid "cannot disable built-in function `%s'"
msgstr "no se puede desactivar la función interna `%s'"
-#: c-common.c:3174 c-typeck.c:1781
+#: c-common.c:3782 c-typeck.c:1748
#, c-format
msgid "too few arguments to function `%s'"
msgstr "muy pocos argumentos para la función `%s'"
-#: c-common.c:3180 c-typeck.c:1634
+#: c-common.c:3788 c-typeck.c:1601
#, c-format
msgid "too many arguments to function `%s'"
msgstr "demasiados argumentos para la función `%s'"
-#: c-common.c:3369
+#: c-common.c:3807
+#, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "argumentos que no son de coma flotante para la función `%s'"
+
+#: c-common.c:4076
msgid "pointers are not permitted as case values"
msgstr "los apuntadores no son permitidos como valores case"
-#: c-common.c:3375
+#: c-common.c:4082
msgid "ISO C++ forbids range expressions in switch statements"
msgstr "ISO C++ prohibe un rango de expresiones en las declaraciones switch"
-#: c-common.c:3377
+#: c-common.c:4084
msgid "ISO C forbids range expressions in switch statements"
msgstr "ISO C prohibe un rango de expresiones en las declaraciones switch"
-#: c-common.c:3407
+#: c-common.c:4114
msgid "empty range specified"
msgstr "se especificó un rango vacío"
-#: c-common.c:3458
+#: c-common.c:4165
msgid "duplicate (or overlapping) case value"
msgstr "valor case duplicado (o traslapado)"
-#: c-common.c:3460
+#: c-common.c:4167
msgid "this is the first entry overlapping that value"
msgstr "esta es la primera entrada que traslapa ese valor"
-#: c-common.c:3464
+#: c-common.c:4171
msgid "duplicate case value"
msgstr "valor de case duplicado"
-#: c-common.c:3465
+#: c-common.c:4172
msgid "previously used here"
msgstr "se usó previamente aquí"
-#: c-common.c:3469
+#: c-common.c:4176
msgid "multiple default labels in one switch"
msgstr "múltiples etiquetas por omisión en un solo switch"
-#: c-common.c:3470
+#: c-common.c:4177
msgid "this is the first default label"
msgstr "esta es la primera etiqueta por omisión"
-#: c-common.c:3498
+#: c-common.c:4205
msgid "ISO C++ forbids taking the address of a label"
msgstr "ISO C++ prohibe tomar la dirección de una etiqueta"
-#: c-common.c:3500
+#: c-common.c:4207
msgid "ISO C forbids taking the address of a label"
msgstr "ISO C prohibe tomar la dirección de una etiqueta"
-#: c-common.c:4148
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr "se ignora -Wformat-y2k sin -Wformat"
+#: c-common.c:5230
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "la declaración de `%s' obscurece a %s"
-#: c-common.c:4150
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr "se ignora -Wformat-extra-args sin -Wformat"
+#: c-common.c:5649
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "se desconoce el modo de máquina `%s'"
-#: c-common.c:4152
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr "se ignora -Wformat-nonliteral sin -Wformat"
+#: c-common.c:5652
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "no hay tipo de datos para el modo `%s'"
-#: c-common.c:4154
-msgid "-Wformat-security ignored without -Wformat"
-msgstr "se ignora -Wformat-security sin -Wformat"
+#: c-common.c:5661 c-common.c:6262
+#, c-format
+msgid "unable to emulate '%s'"
+msgstr "no se puede emular '%s'"
-#: c-common.c:4156
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr "se ignora -Wformat-attribute sin -Wformat"
+#: c-common.c:5697
+msgid "section attribute cannot be specified for local variables"
+msgstr "no se puede especificar el atributo de sección para las variables locales"
-#: c-common.c:4247
+#: c-common.c:5708
#, c-format
-msgid "declaration of `%s' shadows %s"
-msgstr "la declaración de `%s' obscurece a %s"
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "la sección de `%s' causa conflictos con la declaración previa"
-#: c-convert.c:78 c-typeck.c:1035 c-typeck.c:4047 cp/typeck.c:1673 cp/typeck.c:6165
+#: c-common.c:5717
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "no se permite un atributo de sección para `%s'"
+
+#: c-common.c:5724
+msgid "section attributes are not supported for this target"
+msgstr "no se da soporte a atributos de sección en este objetivo"
+
+#: c-common.c:5766
+msgid "requested alignment is not a constant"
+msgstr "la alineación solicitada no es una constante"
+
+#: c-common.c:5771
+msgid "requested alignment is not a power of 2"
+msgstr "la alineación solicitada no es una potencia de 2"
+
+#: c-common.c:5776
+msgid "requested alignment is too large"
+msgstr "la alineación solicitada es demasiado grande"
+
+#: c-common.c:5803
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "la alineación no puede ser especificada para `%s'"
+
+#: c-common.c:5848
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr "`%s' definido normalmente y como un alias"
+
+#: c-common.c:5858
+msgid "alias arg not a string"
+msgstr "el argumento de alias no es una cadena"
+
+#: c-common.c:5905
+msgid "visibility arg not a string"
+msgstr "el argumento de visibilidad no es una cadena"
+
+#: c-common.c:5914
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr "el argumento de visibilidad debe ser uno de \"default\", \"hidden\", \"protected\" ó \"internal\""
+
+#: c-common.c:5948
+msgid "tls_model arg not a string"
+msgstr "el argumento de tls_model no es una cadena"
+
+#: c-common.c:5957
+msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+msgstr "el argumento de tls_model debe ser uno de \"local-exec\", \"initial-exec\", \"local-dynamic\" ó \"global-dynamic\""
+
+#: c-common.c:5982 c-common.c:6038
+#, c-format
+msgid "`%s' attribute applies only to functions"
+msgstr "el atributo `%s' aplica solamente a funciones"
+
+#: c-common.c:5989 c-common.c:6045
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "no se puede establecer el atributo `%s' después de la definición"
+
+#: c-common.c:6129
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "se ignora el atributo `%s' para `%s'"
+
+#: c-common.c:6194
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "tipo vector inválido para el atributo `%s'"
+
+#: c-common.c:6218 c-common.c:6250
+msgid "no vector mode with the size and type specified could be found"
+msgstr "no se puede encontrar un modo vector con el tamaño y tipo especificados"
+
+#: c-common.c:6349
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "atributo que no es nulo sin argumentos en uno que no es prototipo"
+
+#: c-common.c:6364
+#, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr "un argumento que no es nulo tiene un número inválido de operandos (arg %lu)"
+
+#: c-common.c:6383
+#, c-format
+msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
+msgstr "un argumento que no es nulo con un número de operandos fuera de rango (arg %lu, operando %lu)"
+
+#: c-common.c:6391
+#, c-format
+msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
+msgstr "un argumento que no es nulo hace referencia a un operando que no es apuntador (arg %lu, operando %lu)"
+
+#: c-common.c:6477
+#, c-format
+msgid "null argument where non-null required (arg %lu)"
+msgstr "un argumento nulo donde se requiere uno que no sea nulo (arg %lu)"
+
+#: c-convert.c:80 c-typeck.c:988 c-typeck.c:4059 cp/typeck.c:1617
+#: cp/typeck.c:5884
msgid "void value not ignored as it ought to be"
msgstr "valor void no ignorado como debería de ser"
-#: c-convert.c:110 java/typeck.c:150
+#: c-convert.c:112 java/typeck.c:150
msgid "conversion to non-scalar type requested"
msgstr "se solicitó conversión a tipo no escalar"
-#: c-decl.c:476
-msgid "-traditional is deprecated and may be removed"
-msgstr "-traditional está deprecado y será eliminado"
-
-#: c-decl.c:566
-#, c-format
-msgid "unknown C standard `%s'"
-msgstr "no se conoce el estándard de C `%s'"
-
-#: c-decl.c:848
+#: c-decl.c:337
#, c-format
msgid "array `%s' assumed to have one element"
msgstr "se asume que la matriz `%s' tiene un elemento"
-#: c-decl.c:1024
+#: c-decl.c:523
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr "el `struct %s' incompleto en el ámbito termina aquí"
-#: c-decl.c:1027
+#: c-decl.c:526
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr "el `union %s' incompleto en el ámbito termina aquí"
-#: c-decl.c:1030
+#: c-decl.c:529
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr "el `enum %s' incompleto en el ámbito termina aquí"
-#: c-decl.c:1144 c-decl.c:1285 java/decl.c:1377
+#: c-decl.c:643 c-decl.c:768 java/decl.c:1403
#, c-format
msgid "label `%s' used but not defined"
msgstr "se usa la etiqueta `%s' pero no está definida"
-#: c-decl.c:1150 c-decl.c:1292 java/decl.c:1383
+#: c-decl.c:649 c-decl.c:775 java/decl.c:1409
#, c-format
msgid "label `%s' defined but not used"
msgstr "la etiqueta `%s' está definida pero no se usa"
-#: c-decl.c:1409 cp/decl.c:3128
+#: c-decl.c:890 cp/decl.c:3089
#, c-format
msgid "function `%s' redeclared as inline"
msgstr "la función `%s' es redeclarada como inline"
-#: c-decl.c:1411 cp/decl.c:3130
+#: c-decl.c:892 cp/decl.c:3091
#, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr "declaración previa de la función `%s' con el atributo noinline"
-#: c-decl.c:1418 cp/decl.c:3137
+#: c-decl.c:899 cp/decl.c:3098
#, c-format
msgid "function `%s' redeclared with attribute noinline"
msgstr "la función `%s' redeclarada con el atributo noinline"
-#: c-decl.c:1420 cp/decl.c:3139
+#: c-decl.c:901 cp/decl.c:3100
#, c-format
msgid "previous declaration of function `%s' was inline"
msgstr "la declaración previa de la función `%s' era inline"
-#: c-decl.c:1449 c-decl.c:1502
+#: c-decl.c:930 c-decl.c:976
#, c-format
msgid "shadowing built-in function `%s'"
msgstr "obscureciendo la función interna `%s'"
-#: c-decl.c:1451
+#: c-decl.c:932
#, c-format
msgid "shadowing library function `%s'"
msgstr "obscureciendo la función de biblioteca `%s'"
-#: c-decl.c:1457
+#: c-decl.c:938
#, c-format
msgid "library function `%s' declared as non-function"
msgstr "la función de biblioteca `%s' no es declarada como función"
-#: c-decl.c:1461 c-decl.c:1464
+#: c-decl.c:942 c-decl.c:945
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr "la función interna `%s' no es declarada como función"
-#: c-decl.c:1468 objc/objc-act.c:2334 objc/objc-act.c:6036
+#: c-decl.c:949 objc/objc-act.c:2384 objc/objc-act.c:6154
#, c-format
msgid "`%s' redeclared as different kind of symbol"
msgstr "`%s' redeclarado como un tipo diferente de símbolo"
-#: c-decl.c:1469 c-decl.c:1667 c-decl.c:1817 objc/objc-act.c:2336 objc/objc-act.c:6038 objc/objc-act.c:6093
+#: c-decl.c:950 c-decl.c:1141 c-decl.c:1155 c-decl.c:1162 c-decl.c:1307
+#: objc/objc-act.c:2386 objc/objc-act.c:6156 objc/objc-act.c:6211
#, c-format
msgid "previous declaration of `%s'"
msgstr "declaración previa de `%s'"
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1571
+#: c-decl.c:1045
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr "tipos en conflicto para la función interna `%s'"
-#: c-decl.c:1614 c-decl.c:1633
+#: c-decl.c:1088 c-decl.c:1107
#, c-format
msgid "conflicting types for `%s'"
msgstr "tipos en conflicto para `%s'"
-#: c-decl.c:1656
+#: c-decl.c:1130
msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
msgstr "una lista de parámetros con una elipsis no puede coincidir con una declaración de nombre de lista de parámetros vacía."
-#: c-decl.c:1662
+#: c-decl.c:1136
msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
msgstr "un tipo de argumento que tiene una promoción por omisión no puede coincidir con una declaración de nombre de lista de parámetros vacía."
-#: c-decl.c:1677 c-decl.c:1700
+#: c-decl.c:1154
+#, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "la declaración thread-local para `%s' a continuación de una que no es thread-local"
+
+#: c-decl.c:1161
+#, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "la declaración que no es thread-local para `%s' a continuación de una thread-local"
+
+#: c-decl.c:1172 c-decl.c:1195
#, c-format
msgid "redefinition of `%s'"
msgstr "redefinición de `%s'"
-#: c-decl.c:1680
+#: c-decl.c:1175
#, c-format
msgid "redeclaration of `%s'"
msgstr "redeclaración de `%s'"
-#: c-decl.c:1683
+#: c-decl.c:1178
#, c-format
msgid "conflicting declarations of `%s'"
msgstr "declaraciones de `%s' en conflicto"
-#: c-decl.c:1727
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows"
msgstr "el prototipo para '%s' a continuación"
-#: c-decl.c:1728 c-decl.c:1736 c-decl.c:1752
+#: c-decl.c:1223 c-decl.c:1231 c-decl.c:1242
msgid "non-prototype definition here"
msgstr "la definición del no prototipo aquí"
-#: c-decl.c:1735
+#: c-decl.c:1230
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr "el prototipo para `%s' continúa y el número de argumentos no coincide"
-#: c-decl.c:1750
+#: c-decl.c:1240
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr "el prototipo para `%s' a continuación y el argumento %d no coinciden"
-#: c-decl.c:1768
+#: c-decl.c:1258
#, c-format
msgid "`%s' declared inline after being called"
msgstr "`%s' declarado inline antes de ser llamado"
-#: c-decl.c:1774
+#: c-decl.c:1264
#, c-format
msgid "`%s' declared inline after its definition"
msgstr "`%s' declarado inline después de su definición"
-#: c-decl.c:1781
+#: c-decl.c:1271
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr "la declaración static para `%s' a continuación de una no static"
-#: c-decl.c:1789
+#: c-decl.c:1279
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr "la declaración no static para `%s' a continuación de una static"
-#: c-decl.c:1796
+#: c-decl.c:1286
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr "la declaración const para '%s' a continuación de una no const"
-#: c-decl.c:1803
+#: c-decl.c:1293
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr "los calificadores de tipo para `%s' generan conflicto con la declaración previa"
-#: c-decl.c:1816
+#: c-decl.c:1306
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr "declaración redundante de `%s' en el mismo ámbito"
-#: c-decl.c:2120 java/decl.c:1076
+#: c-decl.c:1607 java/decl.c:1102
#, c-format
msgid "declaration of `%s' shadows a parameter"
msgstr "la declaración de `%s' obscurece un parámetro"
-#: c-decl.c:2123 java/decl.c:1079
+#: c-decl.c:1610 java/decl.c:1105
#, c-format
msgid "declaration of `%s' shadows a symbol from the parameter list"
msgstr "la declaración de `%s' obscurece un símbolo de la lista de parámetros"
-#: c-decl.c:2144 cp/decl.c:4236
+#: c-decl.c:1631 cp/decl.c:4218
msgid "a parameter"
msgstr "un parámetro"
-#: c-decl.c:2146 cp/decl.c:4253
+#: c-decl.c:1633 cp/decl.c:4235
msgid "a previous local"
msgstr "un local previo"
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2150 cp/decl.c:4257
+#: c-decl.c:1637 cp/decl.c:4239
msgid "a global declaration"
msgstr "una declaración global"
-#: c-decl.c:2194
+#: c-decl.c:1681
#, c-format
msgid "nested extern declaration of `%s'"
msgstr "declaración externa anidada de `%s'"
-#: c-decl.c:2216 java/decl.c:1029
+#: c-decl.c:1700 java/decl.c:1055
#, c-format
msgid "`%s' used prior to declaration"
msgstr "se usa `%s' previo a la declaración"
-#: c-decl.c:2231 c-decl.c:2446
+#: c-decl.c:1714 c-decl.c:1889
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr "`%s' se declaró implícitamente `extern' y después `static'"
-#: c-decl.c:2341 cp/decl.c:4095
+#: c-decl.c:1817 cp/decl.c:4075
msgid "type mismatch with previous external decl"
msgstr "no coinciden los tipos con la declaración externa previa"
-#: c-decl.c:2342
+#: c-decl.c:1818
#, c-format
msgid "previous external decl of `%s'"
msgstr "declaración externa previa de `%s'"
-#: c-decl.c:2355
+#: c-decl.c:1831
msgid "type mismatch with previous implicit declaration"
msgstr "no coinciden los tipos con la declaración implícita previa"
-#: c-decl.c:2357
+#: c-decl.c:1833
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "declaración implícita previa de `%s'"
-#: c-decl.c:2374
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr "el tamaño de `%s' externo no es global"
-
-#: c-decl.c:2425
+#: c-decl.c:1868
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr "`%s' fue declarado previa e implícitamente para devolver `int'"
-#: c-decl.c:2450
+#: c-decl.c:1893
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr "`%s' fue declarado `extern' y después `static'"
-#: c-decl.c:2474
+#: c-decl.c:1917
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr "la declaración externa de `%s' no coincide con la global"
-#: c-decl.c:2516
+#: c-decl.c:1959
#, c-format
msgid "`%s' locally external but globally static"
msgstr "`%s' es externa localmente pero estática globalmente"
-#: c-decl.c:2638
+#: c-decl.c:2081
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr "la función `%s' fue declarada previamente dentro de un bloque"
-#: c-decl.c:2658 c-decl.c:2660
+#: c-decl.c:2101 c-decl.c:2103
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "declaración implícita de la función `%s'"
-#: c-decl.c:2748
+#: c-decl.c:2182
#, c-format
msgid "label %s referenced outside of any function"
msgstr "la etiqueta %s es referenciada fuera de cualquier función"
-#: c-decl.c:2805
+#: c-decl.c:2239
#, c-format
msgid "duplicate label declaration `%s'"
msgstr "declaración de la etiqueta `%s' duplicada"
-#: c-decl.c:2808
+#: c-decl.c:2242
msgid "this is a previous declaration"
msgstr "esta es una declaración previa"
-#: c-decl.c:3320
+#: c-decl.c:2665
msgid "unnamed struct/union that defines no instances"
msgstr "struct/union sin nombre que no define ninguna instancia"
-#: c-decl.c:3339
+#: c-decl.c:2684
msgid "useless keyword or type name in empty declaration"
msgstr "palabras claves inútiles o nombres de tipos en una declaración vacía"
-#: c-decl.c:3346
+#: c-decl.c:2691
msgid "two types specified in one empty declaration"
msgstr "se especificaron dos tipos en una declaración vacía"
-#: c-decl.c:3351 c-parse.y:725 c-parse.y:727 parse.y:742 parse.y:1827 objc-parse.y:761 objc-parse.y:763 objc-parse.y:2997
+#: c-decl.c:2696 c-parse.y:753 c-parse.y:755 parse.y:765 parse.y:1836
+#: objc-parse.y:799 objc-parse.y:801 objc-parse.y:3042
msgid "empty declaration"
msgstr "declaración vacía"
-#: c-decl.c:3381
-msgid "ISO C89 does not support `static' or type qualifiers in parameter array declarators"
-msgstr "ISO C89 no tiene soporte para `static' o calificadores de tipo en las declaraciones de parámetros de matrices"
+#: c-decl.c:2726
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr "ISO C90 no tiene soporte para `static' o calificadores de tipo en los declaradores de parámetros de matrices"
-#: c-decl.c:3383
-msgid "ISO C89 does not support `[*]' array declarators"
-msgstr "ISO C89 no tiene soporte para declaradores de matriz `[*]'"
+#: c-decl.c:2728
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "ISO C90 no tiene soporte para declaradores de matriz `[*]'"
-#: c-decl.c:3386
+#: c-decl.c:2731
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr "GCC aún no implementa adecuadamente los declaradores de matriz `[*]'"
-#: c-decl.c:3405
+#: c-decl.c:2750
msgid "static or type qualifiers in abstract declarator"
msgstr "static o calificador de tipo en un declarador abstracto"
-#: c-decl.c:3479
+#: c-decl.c:2824
#, c-format
msgid "`%s' is usually a function"
msgstr "`%s' generalmente es una función"
-#: c-decl.c:3493
+#: c-decl.c:2833
#, c-format
-msgid "typedef `%s' is initialized"
-msgstr "typedef `%s' tiene valor inicial"
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
+msgstr "typedef `%s' está inicializado (utilice __typeof__ en su lugar)"
-#: c-decl.c:3500
+#: c-decl.c:2839
#, c-format
msgid "function `%s' is initialized like a variable"
-msgstr "la función `%s' tiene valor inicial como una variable"
+msgstr "la función `%s' está inicializada como una variable"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3507
+#: c-decl.c:2846
#, c-format
msgid "parameter `%s' is initialized"
-msgstr "el parámetro `%s' tiene valor inicial"
+msgstr "el parámetro `%s' está inicializado"
-#: c-decl.c:3527 c-typeck.c:4841
+#: c-decl.c:2866 c-typeck.c:4868
msgid "variable-sized object may not be initialized"
-msgstr "un objeto de tamaño variable no puede tener valor inicial"
+msgstr "un objeto de tamaño variable no puede ser inicializado"
-#: c-decl.c:3533
+#: c-decl.c:2872
#, c-format
msgid "variable `%s' has initializer but incomplete type"
-msgstr "la variable `%s' tiene asignación de valor inicial, pero tipo de dato incompleto"
+msgstr "la variable `%s' tiene un inicializador, pero es de tipo de dato incompleto"
-#: c-decl.c:3539
+#: c-decl.c:2878
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr "algunos elementos de la matriz `%s' tienen tipo de dato incompleto"
-#: c-decl.c:3552
+#: c-decl.c:2891
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
-msgstr "la declaración de `%s' tiene `extern' y tiene valor inicial"
+msgstr "la declaración de `%s' tiene `extern' y está inicializada"
-#: c-decl.c:3591 c-decl.c:6246 cp/decl.c:7368 cp/decl.c:13623
+#: c-decl.c:2940 c-decl.c:5705 cp/decl.c:7456 cp/decl.c:14012
#, c-format
msgid "inline function `%s' given attribute noinline"
msgstr "se le dió a la función inline `%s' un atributo noinline"
-#: c-decl.c:3674
+#: c-decl.c:3014
#, c-format
msgid "initializer fails to determine size of `%s'"
-msgstr "el iniciador no pudo determinar el tamaño de `%s'"
+msgstr "el inicializador no puede determinar el tamaño de `%s'"
-#: c-decl.c:3679
+#: c-decl.c:3019
#, c-format
msgid "array size missing in `%s'"
msgstr "falta el tamaño de la matriz en %s"
-#: c-decl.c:3695
+#: c-decl.c:3035
#, c-format
msgid "zero or negative size array `%s'"
msgstr "matriz `%s' de tamaño cero o negativo"
-#: c-decl.c:3723
+#: c-decl.c:3063
#, c-format
msgid "storage size of `%s' isn't known"
msgstr "no se conoce el tamaño de almacenamiento de `%s'"
-#: c-decl.c:3733
+#: c-decl.c:3073
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr "el tamaño de almacenamiento de `%s' no es constante"
-#: c-decl.c:3792
+#: c-decl.c:3133
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr "se ignora el especificador asm para la variable local no estática `%s'"
-#: c-decl.c:3867
+#: c-decl.c:3198
#, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr "ISO C prohibe el obscurecimiento del parámetro `%s' de typedef"
-#: c-decl.c:4171 cp/decl.c:10171
+#: c-decl.c:3543 cp/decl.c:10568
msgid "`long long long' is too long for GCC"
msgstr "`long long long' es demasiado largo para GCC"
-#: c-decl.c:4176
-msgid "ISO C89 does not support `long long'"
-msgstr "ISO C89 no da soporte a `long long'"
+#: c-decl.c:3548
+msgid "ISO C90 does not support `long long'"
+msgstr "ISO C90 no da soporte a `long long'"
-#: c-decl.c:4181 cp/decl.c:10176
+#: c-decl.c:3557 c-decl.c:3560 cp/decl.c:10573
#, c-format
msgid "duplicate `%s'"
msgstr "`%s' duplicado"
-#: c-decl.c:4187 cp/decl.c:10200
+#: c-decl.c:3570 cp/decl.c:10580
+msgid "`__thread' before `extern'"
+msgstr "`__thread' antes de `extern'"
+
+#: c-decl.c:3572 cp/decl.c:10582
+msgid "`__thread' before `static'"
+msgstr "`__thread' antes de `static'"
+
+#: c-decl.c:3580 cp/decl.c:10609
#, c-format
msgid "two or more data types in declaration of `%s'"
msgstr "dos o más tipos de datos en la declaración de `%s'"
-#: c-decl.c:4207 cp/decl.c:10205
+#: c-decl.c:3600 cp/decl.c:10614
#, c-format
msgid "`%s' fails to be a typedef or built in type"
msgstr "`%s' falla al ser un typedef o un tipo interno del compilador"
-#: c-decl.c:4246
+#: c-decl.c:3639
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr "el tipo de dato por omisión es `int' en la declaración de `%s'"
-#: c-decl.c:4275
+#: c-decl.c:3668
#, c-format
msgid "both long and short specified for `%s'"
msgstr "se especifica long y short al mismo tiempo para `%s'"
-#: c-decl.c:4279 cp/decl.c:10320
+#: c-decl.c:3672 cp/decl.c:10729
#, c-format
msgid "long or short specified with char for `%s'"
msgstr "se especifica long ó short con char para `%s'"
-#: c-decl.c:4286 cp/decl.c:10324
+#: c-decl.c:3679 cp/decl.c:10733
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr "se especifica long ó short con tipo floating para `%s'"
-#: c-decl.c:4289
+#: c-decl.c:3682
msgid "the only valid combination is `long double'"
msgstr "la única combinación válida es `long double'"
-#: c-decl.c:4295
+#: c-decl.c:3688
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "se especifica signed y unsigned al mismo tiempo para `%s'"
-#: c-decl.c:4297 cp/decl.c:10313
+#: c-decl.c:3690 cp/decl.c:10722
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr "long, short, signed ó unsigned inválidos para `%s'"
-#: c-decl.c:4303 cp/decl.c:10333
+#: c-decl.c:3696 cp/decl.c:10742
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr "uso inválido de long, short, signed ó unsigned para `%s'"
-#: c-decl.c:4322 cp/decl.c:10354
+#: c-decl.c:3714 cp/decl.c:10763
#, c-format
msgid "complex invalid for `%s'"
msgstr "complex inválido para `%s'"
-#: c-decl.c:4367
-msgid "ISO C89 does not support complex types"
-msgstr "ISO C89 no tiene soporte para tipos complejos"
+#: c-decl.c:3756
+msgid "ISO C90 does not support complex types"
+msgstr "ISO C90 no tiene soporte para tipos complejos"
-#: c-decl.c:4379
+#: c-decl.c:3768
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr "ISO C no tiene soporte para `complex' simples que significan `double complex'"
-#: c-decl.c:4385 c-decl.c:4397
+#: c-decl.c:3774 c-decl.c:3786
msgid "ISO C does not support complex integer types"
msgstr "ISO C no da soporte a tipos enteros complejos"
-#: c-decl.c:4412 c-decl.c:4851 cp/decl.c:10969
+#: c-decl.c:3801 c-decl.c:4267 cp/decl.c:11376
msgid "duplicate `const'"
msgstr "`const' duplicado"
-#: c-decl.c:4414 c-decl.c:4855 cp/decl.c:10973
+#: c-decl.c:3803 c-decl.c:4271 cp/decl.c:11380
msgid "duplicate `restrict'"
msgstr "`restrict' duplicado"
-#: c-decl.c:4416 c-decl.c:4853 cp/decl.c:10971
+#: c-decl.c:3805 c-decl.c:4269 cp/decl.c:11378
msgid "duplicate `volatile'"
msgstr "`volatile' duplicado"
-#: c-decl.c:4438 cp/decl.c:10509
+#: c-decl.c:3833 cp/decl.c:10926
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "múltiples clases de almacenamiento en la declaración de `%s'"
-#: c-decl.c:4447
+#: c-decl.c:3843
msgid "function definition declared `auto'"
-msgstr "la definición de la función lo declaró como `auto'"
+msgstr "la definición de la función se declaró como `auto'"
-#: c-decl.c:4449
+#: c-decl.c:3845
msgid "function definition declared `register'"
-msgstr "la definición de la función lo declaró como `register'"
+msgstr "la definición de la función se declaró como `register'"
-#: c-decl.c:4451
+#: c-decl.c:3847
msgid "function definition declared `typedef'"
-msgstr "la definición de la función lo declaró como `typedef'"
+msgstr "la definición de la función se declaró como `typedef'"
+
+#: c-decl.c:3849
+msgid "function definition declared `__thread'"
+msgstr "la definición de la función se declaró como `__thread'"
-#: c-decl.c:4464
+#: c-decl.c:3862
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr "se especificó una clase de almacenamiento para el campo de la estructura `%s'"
-#: c-decl.c:4468 cp/decl.c:10556
+#: c-decl.c:3866 cp/decl.c:10973
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "se especificó una clase de almacenamiento para el parámetro `%s'"
-#: c-decl.c:4471 cp/decl.c:10558
+#: c-decl.c:3869 cp/decl.c:10975
msgid "storage class specified for typename"
msgstr "se especificó una clase de almacenamiento para el nombre de tipo"
-#: c-decl.c:4483 cp/decl.c:10572
+#: c-decl.c:3881 cp/decl.c:10990
#, c-format
msgid "`%s' initialized and declared `extern'"
-msgstr "`%s' iniciado y declarado como `extern'"
+msgstr "`%s' inicializado y declarado como `extern'"
-#: c-decl.c:4485 cp/decl.c:10575
+#: c-decl.c:3883 cp/decl.c:10993
#, c-format
msgid "`%s' has both `extern' and initializer"
-msgstr "`%s' tiene `extern' y asignador de valor inicial al mismo tiempo"
+msgstr "`%s' tiene `extern' e inicializador al mismo tiempo"
+
+#: c-decl.c:3888 cp/decl.c:11001
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "la declaración del nivel superior de `%s' especifica `auto'"
-#: c-decl.c:4489 cp/decl.c:10579
+#: c-decl.c:3893 cp/decl.c:10997
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "la función anidada `%s' se declaró `extern'"
-#: c-decl.c:4492 cp/decl.c:10583
+#: c-decl.c:3899 cp/decl.c:11007
#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "la declaración del nivel superior de `%s' especifica `auto'"
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "el ámbito de la función `%s' es implícitamente auto y declarada `__thread'"
#. 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:4527 c-decl.c:4716
+#: c-decl.c:3938 c-decl.c:4139
msgid "static or type qualifiers in non-parameter array declarator"
msgstr "static o calificadores de tipo en un declarador de matriz que no es parámetro"
-#: c-decl.c:4571
+#: c-decl.c:3982
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr "la declaración de `%s' como una matriz de voids"
-#: c-decl.c:4577
+#: c-decl.c:3988
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "la declaración de `%s' como una matriz de funciones"
-#: c-decl.c:4598
+#: c-decl.c:3993 c-decl.c:5261
+msgid "invalid use of structure with flexible array member"
+msgstr "uso inválido de una estructura con un miembro de matriz flexible"
+
+#: c-decl.c:4012
#, c-format
msgid "size of array `%s' has non-integer type"
msgstr "el tamaño de la matriz `%s' tiene un tipo no entero"
-#: c-decl.c:4603
+#: c-decl.c:4017
#, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr "ISO C prohibe la matriz `%s' de tamaño cero"
-#: c-decl.c:4610
+#: c-decl.c:4024
#, c-format
msgid "size of array `%s' is negative"
msgstr "el tamaño de la matriz `%s' es negativo"
-#: c-decl.c:4623
+#: c-decl.c:4037
#, c-format
-msgid "ISO C89 forbids array `%s' whose size can't be evaluated"
-msgstr "ISO C89 prohibe la matriz `%s' cuyo tamaño no puede ser evaluado"
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+msgstr "ISO C90 prohibe la matriz `%s' cuyo tamaño no se puede evaluar"
-#: c-decl.c:4626
+#: c-decl.c:4040
#, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
-msgstr "ISO C89 prohibe la matriz `%s' de tamaño variable"
+msgid "ISO C90 forbids variable-size array `%s'"
+msgstr "ISO C90 prohibe la matriz `%s' de tamaño variable"
-#: c-decl.c:4656 c-decl.c:4877 cp/decl.c:11179
+#: c-decl.c:4070 c-decl.c:4293 cp/decl.c:11585
#, c-format
msgid "size of array `%s' is too large"
msgstr "el tamaño de la matriz `%s' es demasiado grande"
-#: c-decl.c:4673
-msgid "ISO C89 does not support flexible array members"
-msgstr "ISO C89 no tiene soporte para miembros de matriz flexibles"
+#: c-decl.c:4096
+msgid "ISO C90 does not support flexible array members"
+msgstr "ISO C90 no tiene soporte para miembros de matriz flexibles"
-#: c-decl.c:4683
+#: c-decl.c:4106
msgid "array type has incomplete element type"
msgstr "el tipo matriz tiene tipo de elemento incompleto"
-#: c-decl.c:4690 c-decl.c:4927
+#: c-decl.c:4113 c-decl.c:4343
msgid "ISO C forbids const or volatile function types"
msgstr "ISO C prohibe los tipos de función const o volatile"
-#: c-decl.c:4736 cp/decl.c:10720
+#: c-decl.c:4159 cp/decl.c:11133
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "`%s' que es declarado como función devuelve una función"
-#: c-decl.c:4741 cp/decl.c:10725
+#: c-decl.c:4164 cp/decl.c:11138
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "`%s' que es declarado como función devuelve una matriz"
-#: c-decl.c:4776
+#: c-decl.c:4192
msgid "ISO C forbids qualified void function return type"
msgstr "ISO C prohibe el tipo calificado de devolución de una función void"
-#: c-decl.c:4780
+#: c-decl.c:4196
msgid "type qualifiers ignored on function return type"
msgstr "se ignoran los calificadores de tipo en el tipo de devolución de la función"
-#: c-decl.c:4809 c-decl.c:4892 c-decl.c:5016 c-decl.c:5110
+#: c-decl.c:4225 c-decl.c:4308 c-decl.c:4432 c-decl.c:4524
msgid "ISO C forbids qualified function types"
msgstr "ISO C prohibe los tipos de función calificados"
-#: c-decl.c:4849 cp/decl.c:10965
+#: c-decl.c:4265 cp/decl.c:11372
msgid "invalid type modifier within pointer declarator"
msgstr "modificador de tipo inválido dentro de la declaración del apuntador"
-#: c-decl.c:4947 cp/decl.c:11457
+#: c-decl.c:4363 cp/decl.c:11870
#, c-format
msgid "variable or field `%s' declared void"
msgstr "variable o campo `%s' declarado void"
-#: c-decl.c:4980
+#: c-decl.c:4396
msgid "attributes in parameter array declarator ignored"
msgstr "se ignoran los atributos en los declaradores de parámetros de matriz"
-#: c-decl.c:5005
+#: c-decl.c:4421
msgid "invalid type modifier within array declarator"
msgstr "modificador de tipo inválido dentro de un declarador de matriz"
-#: c-decl.c:5054
+#: c-decl.c:4466
#, c-format
msgid "field `%s' declared as a function"
msgstr "el campo `%s' declarado como una función"
-#: c-decl.c:5060
+#: c-decl.c:4472
#, c-format
msgid "field `%s' has incomplete type"
msgstr "el campo `%s' tiene tipo de dato incompleto"
-#: c-decl.c:5092 c-decl.c:5094 c-decl.c:5101
+#: c-decl.c:4504 c-decl.c:4506 c-decl.c:4508 c-decl.c:4515
#, c-format
msgid "invalid storage class for function `%s'"
msgstr "clase de almacenamiento inválida para la función `%s'"
-#: c-decl.c:5116
+#: c-decl.c:4530
msgid "`noreturn' function returns non-void value"
msgstr "la función `no return' devuelve un valor que no es void"
-#: c-decl.c:5131
+#: c-decl.c:4545
msgid "cannot inline function `main'"
msgstr "no se puede hacer inline la función `main'"
-#: c-decl.c:5184
+#: c-decl.c:4600
#, c-format
msgid "variable `%s' declared `inline'"
msgstr "la variable `%s' fue declarada como `inline'"
-#: c-decl.c:5257 c-decl.c:6298
+#. A mere warning is sure to result in improper semantics
+#. at runtime. Don't bother to allow this to compile.
+#: c-decl.c:4628 cp/decl.c:9639
+msgid "thread-local storage not supported for this target"
+msgstr "no se da soporte a almacenamiento thread-local para este objetivo"
+
+#: c-decl.c:4683 c-decl.c:5757
msgid "function declaration isn't a prototype"
msgstr "la declaración de la función no es un prototipo"
-#: c-decl.c:5263
+#: c-decl.c:4689
msgid "parameter names (without types) in function declaration"
msgstr "nombres de parámetros (sin tipos) en la declaración de la función"
-#: c-decl.c:5295 c-decl.c:6689
+#: c-decl.c:4721 c-decl.c:6127
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr "el parámetro `%s' tiene tipo de dato incompleto"
-#: c-decl.c:5298
+#: c-decl.c:4724
msgid "parameter has incomplete type"
msgstr "el parámetro tiene tipo incompleto"
-#: c-decl.c:5319
+#: c-decl.c:4745
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr "el parámetro `%s' apunta a un tipo incompleto"
-#: c-decl.c:5322
+#: c-decl.c:4748
msgid "parameter points to incomplete type"
msgstr "el parámetro apunta a un tipo incompleto"
-#: c-decl.c:5387
+#: c-decl.c:4813
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr "el parámetro `%s' sólo tiene una declaración posterior"
-#: c-decl.c:5428
+#: c-decl.c:4854
msgid "`void' in parameter list must be the entire list"
msgstr "`void' en la lista de parámetros debe ser la lista completa"
-#: c-decl.c:5459
+#: c-decl.c:4885
#, c-format
msgid "`struct %s' declared inside parameter list"
msgstr "se declaró `struct %s' dentro de la lista de parámetros"
-#: c-decl.c:5462
+#: c-decl.c:4888
#, c-format
msgid "`union %s' declared inside parameter list"
msgstr "se declaró `union %s' dentro de la lista de parámetros"
-#: c-decl.c:5465
+#: c-decl.c:4891
#, c-format
msgid "`enum %s' declared inside parameter list"
msgstr "se declaró `enum %s' dentro de la lista de parámetros"
-#: c-decl.c:5472
+#: c-decl.c:4898
msgid "anonymous struct declared inside parameter list"
msgstr "struct anónimo declarado dentro de una lista de parámetros"
-#: c-decl.c:5474
+#: c-decl.c:4900
msgid "anonymous union declared inside parameter list"
msgstr "union anónimo declarado dentro de una lista de parámetros"
-#: c-decl.c:5476
+#: c-decl.c:4902
msgid "anonymous enum declared inside parameter list"
msgstr "enum anónimo declarado dentro de una lista de parámetros"
-#: c-decl.c:5480
+#: c-decl.c:4906
msgid "its scope is only this definition or declaration, which is probably not what you want"
msgstr "su ámbito es solamente esta definición o declaración, lo cual probablemente no sea lo que desea"
-#: c-decl.c:5559
+#: c-decl.c:4983
#, c-format
msgid "redefinition of `union %s'"
msgstr "redefinición de `union %s'"
-#: c-decl.c:5562
+#: c-decl.c:4985
#, c-format
msgid "redefinition of `struct %s'"
msgstr "redefinición de `struct %s'"
-#: c-decl.c:5601
-msgid "unnamed fields of type other than struct or union are not allowed"
-msgstr "no se permiten campos sin nombre de otro tipo que no sea struct o union"
+#: c-decl.c:5056 cp/decl.c:7228
+msgid "declaration does not declare anything"
+msgstr "la declaración no declara nada}"
-#: c-decl.c:5642 c-decl.c:5645
+#: c-decl.c:5098 c-decl.c:5101
#, c-format
msgid "%s defined inside parms"
msgstr "se definió %s dentro de los parámetros"
-#: c-decl.c:5643 c-decl.c:5646 c-decl.c:5657
+#: c-decl.c:5099 c-decl.c:5102 c-decl.c:5113
msgid "union"
msgstr "unión"
-#: c-decl.c:5643 c-decl.c:5646
+#: c-decl.c:5099 c-decl.c:5102
msgid "structure"
msgstr "estructura"
-#: c-decl.c:5656
+#: c-decl.c:5112
#, c-format
msgid "%s has no %s"
-msgstr "%s no tiene `%s'"
+msgstr "%s no tiene %s"
-#: c-decl.c:5657
+#: c-decl.c:5113
msgid "struct"
msgstr "struct"
-#: c-decl.c:5658
+#: c-decl.c:5114
msgid "named members"
msgstr "miembros nombrados"
-#: c-decl.c:5658
+#: c-decl.c:5114
msgid "members"
msgstr "miembros"
-#: c-decl.c:5697
+#: c-decl.c:5153
#, c-format
msgid "nested redefinition of `%s'"
msgstr "redefinición anidada de `%s'"
-#: c-decl.c:5710
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr "la anchura del campo de bits `%s' no es una constante entera"
-#: c-decl.c:5721
+#: c-decl.c:5177
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr "el campo de bits `%s' tiene un tipo inválido"
-#: c-decl.c:5733
+#: c-decl.c:5189
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr "el tipo de campo de bit `%s' es inválido en ISO C"
-#: c-decl.c:5744
+#: c-decl.c:5200
#, c-format
msgid "negative width in bit-field `%s'"
msgstr "anchura negativa en el campo de bit `%s'"
-#: c-decl.c:5746
+#: c-decl.c:5202
#, c-format
msgid "width of `%s' exceeds its type"
msgstr "la anchura de `%s' excede su tipo"
-#: c-decl.c:5748
+#: c-decl.c:5204
#, c-format
msgid "zero width for bit-field `%s'"
msgstr "anchura cero para el campo de bits `%s'"
-#: c-decl.c:5762
+#: c-decl.c:5218
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr "`%s' es más estrecho que los valores de su tipo"
-#: c-decl.c:5808
+#: c-decl.c:5252
msgid "flexible array member in union"
msgstr "miembro de matriz flexible en el union"
-#: c-decl.c:5810
+#: c-decl.c:5254
msgid "flexible array member not at end of struct"
msgstr "el miembro de matriz flexible no está al final del struct"
-#: c-decl.c:5812
+#: c-decl.c:5256
msgid "flexible array member in otherwise empty struct"
msgstr "el miembro de matriz flexible sería de otra manera un struct vacío"
-#: c-decl.c:5837
+#: c-decl.c:5286
#, c-format
msgid "duplicate member `%s'"
msgstr "miembro duplicado `%s'"
-#: c-decl.c:5881
+#: c-decl.c:5330
msgid "union cannot be made transparent"
msgstr "union no se puede hacer transparente"
#. This enum is a named one that has been declared already.
-#: c-decl.c:5975
+#: c-decl.c:5435
#, c-format
msgid "redeclaration of `enum %s'"
msgstr "redeclaración de `enum %s'"
-#: c-decl.c:6009
+#: c-decl.c:5469
msgid "enum defined inside parms"
msgstr "enum definido dentro de los parámetros"
-#: c-decl.c:6042
+#: c-decl.c:5502
msgid "enumeration values exceed range of largest integer"
msgstr "los valores de enumeración exceden el rango del entero más grande"
-#: c-decl.c:6151
+#: c-decl.c:5611
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "el valor de enumerador para `%s' no es una constante entera"
-#: c-decl.c:6164
+#: c-decl.c:5624
msgid "overflow in enumeration values"
msgstr "desbordamiento en valores de enumeración"
-#: c-decl.c:6169
+#: c-decl.c:5629
msgid "ISO C restricts enumerator values to range of `int'"
msgstr "ISO C restringe los valores de enumeración al rango de `int'"
-#: c-decl.c:6252
+#: c-decl.c:5711
msgid "return type is an incomplete type"
msgstr "el tipo de devolución es un tipo de dato incompleto"
-#: c-decl.c:6260
+#: c-decl.c:5719
msgid "return type defaults to `int'"
msgstr "el tipo de devolución por omisión es `int'"
-#: c-decl.c:6307
+#: c-decl.c:5766
#, c-format
msgid "no previous prototype for `%s'"
msgstr "no hay un prototipo previo para `%s'"
-#: c-decl.c:6314
+#: c-decl.c:5773
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr "se usó `%s' sin prototipo antes de su definición"
-#: c-decl.c:6320
+#: c-decl.c:5779
#, c-format
msgid "no previous declaration for `%s'"
msgstr "no hay declaración previa para `%s'"
-#: c-decl.c:6327
+#: c-decl.c:5786
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "se usó `%s' sin declaración antes de su definición"
-#: c-decl.c:6351 c-decl.c:6936
+#: c-decl.c:5810 c-decl.c:6363
#, c-format
msgid "return type of `%s' is not `int'"
msgstr "el tipo de devolución de `%s' no es `int'"
-#: c-decl.c:6367
+#: c-decl.c:5826
#, c-format
msgid "first argument of `%s' should be `int'"
msgstr "el primer argumento de `%s' debe ser `int'"
-#: c-decl.c:6376
+#: c-decl.c:5835
#, c-format
msgid "second argument of `%s' should be `char **'"
msgstr "el segundo argumento de `%s' debe ser `char **'"
-#: c-decl.c:6385
+#: c-decl.c:5844
#, c-format
msgid "third argument of `%s' should probably be `char **'"
msgstr "el tercer argumento de `%s' debería ser `char **'"
-#: c-decl.c:6394
+#: c-decl.c:5853
#, c-format
msgid "`%s' takes only zero or two arguments"
msgstr "`%s' sólo toma cero o dos argumentos"
-#: c-decl.c:6397
+#: c-decl.c:5856
#, c-format
msgid "`%s' is normally a non-static function"
msgstr "`%s' generalmente es una función no estática"
-#: c-decl.c:6507
+#: c-decl.c:5954
msgid "parm types given both in parmlist and separately"
msgstr "se dieron los tipos de los parámetros en la lista de parámetros y por separado"
-#: c-decl.c:6528
+#: c-decl.c:5975
msgid "parameter name omitted"
msgstr "se omitió el nombre del parámetro"
-#: c-decl.c:6532 c-decl.c:6634
+#: c-decl.c:5979 c-decl.c:6081
#, c-format
msgid "parameter `%s' declared void"
msgstr "el parámetro `%s' se declaró void"
-#: c-decl.c:6608
+#: c-decl.c:6055
msgid "parameter name missing from parameter list"
msgstr "falta el nombre del parámetro de la lista de parámetros"
-#: c-decl.c:6627
+#: c-decl.c:6074
#, c-format
msgid "multiple parameters named `%s'"
msgstr "múltiples parámetros nombrados `%s'"
-#: c-decl.c:6658 c-decl.c:6660
+#: c-decl.c:6096 c-decl.c:6098
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr "el tipo de `%s' es `int' por omisión"
-#: c-decl.c:6696
+#: c-decl.c:6134
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr "existe la declaración para el parámetro `%s' pero no hay tal parámetro"
-#: c-decl.c:6744
+#: c-decl.c:6182
msgid "number of arguments doesn't match prototype"
msgstr "el número de argumentos no coinciden con el prototipo"
-#: c-decl.c:6774
+#: c-decl.c:6212
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr "el argumento promovido `%s' no coincide con el prototipo"
-#: c-decl.c:6788
+#: c-decl.c:6222
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr "el argumento `%s' no coincide con el prototipo"
-#: c-decl.c:6968 cp/decl.c:14327
+#: c-decl.c:6395 cp/decl.c:14723
msgid "no return statement in function returning non-void"
msgstr "no hay una declaración de devolución en una función que no devuelve void"
-#: c-decl.c:7124
+#: c-decl.c:6578
msgid "this function may return with or without a value"
msgstr "esta función puede devolver con o sin un valor"
-#: c-decl.c:7144
+#: c-decl.c:6598
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr "el tamaño del valor de devolución de `%s' es de %u bytes"
-#: c-decl.c:7148
+#: c-decl.c:6602
#, c-format
msgid "size of return value of `%s' is larger than %d bytes"
msgstr "el tamaño del valor de devolución de `%s' es más grande que %d bytes"
@@ -1430,894 +1507,991 @@ msgstr "el tamaño del valor de devolución de `%s' es más grande que %d bytes"
#. 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:7203
+#: c-decl.c:6657
msgid "`for' loop initial declaration used outside C99 mode"
msgstr "se usó la declaración inicial del ciclo `for' fuera del modo C99"
-#: c-decl.c:7227
+#: c-decl.c:6681
#, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
msgstr "`struct %s' declarado en la declaración inicial del ciclo `for'"
-#: c-decl.c:7230
+#: c-decl.c:6684
#, c-format
msgid "`union %s' declared in `for' loop initial declaration"
msgstr "`union %s' declarado en la declaración inicial del ciclo `for'"
-#: c-decl.c:7233
+#: c-decl.c:6687
#, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
msgstr "`enum %s' declarado en la declaración inicial del ciclo `for'"
-#: c-decl.c:7241
+#: c-decl.c:6695
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr "declaración de `%s' que no es variable en la declaración inicial del ciclo `for'"
-#: c-decl.c:7243
+#: c-decl.c:6697
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr "declaración de la variable static `%s' en la declaración inicial del ciclo `for'"
-#: c-decl.c:7245
+#: c-decl.c:6699
#, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
msgstr "declaración de la variable `extern' `%s' en la declaración inicial del ciclo `for'"
-#: 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 "el argumento de la cadena de formato no es del tipo cadena de texto"
-#: c-format.c:143
+#: c-format.c:124
msgid "args to be formatted is not '...'"
msgstr "los argumentos que recibirán formato no son '...'"
-#: c-format.c:152
+#: c-format.c:133
msgid "strftime formats cannot format arguments"
msgstr "los formatos de strftime no pueden dar formato a los argumentos"
-#: c-format.c:187 c-format.c:289
+#: c-format.c:168 c-format.c:270
msgid "format string has invalid operand number"
msgstr "la cadena de formato tiene un número de operadores inválido"
-#: c-format.c:221
+#: c-format.c:202
msgid "function does not return string type"
msgstr "la función no devuelve valores de tipo cadena"
-#: c-format.c:252
+#: c-format.c:233
msgid "unrecognized format specifier"
msgstr "no se reconoce el especificador de formato"
-#: c-format.c:265
+#: c-format.c:246
#, c-format
msgid "`%s' is an unrecognized format function type"
msgstr "`%s' es un formato de tipo de función no reconocido"
-#: c-format.c:299
+#: c-format.c:280
msgid "format string arg follows the args to be formatted"
msgstr "el argumento de la cadena de formato sigue a los argumentos que recibirán formato"
-#: c-format.c:620
+#: c-format.c:601
msgid "` ' flag"
msgstr "opción ` '"
-#: c-format.c:620
+#: c-format.c:601
msgid "the ` ' printf flag"
msgstr "la opción de printf ` '"
-#: c-format.c:621 c-format.c:692
+#: c-format.c:602 c-format.c:673
msgid "`+' flag"
msgstr "opción `+'"
-#: c-format.c:621
+#: c-format.c:602
msgid "the `+' printf flag"
msgstr "la opción de printf `+'"
-#: c-format.c:622 c-format.c:668
+#: c-format.c:603 c-format.c:649
msgid "`#' flag"
msgstr "opción `#'"
-#: c-format.c:622
+#: c-format.c:603
msgid "the `#' printf flag"
msgstr "la opción de printf `#'"
-#: c-format.c:623 c-format.c:666
+#: c-format.c:604 c-format.c:647
msgid "`0' flag"
msgstr "opción `0'"
-#: c-format.c:623
+#: c-format.c:604
msgid "the `0' printf flag"
msgstr "la opción de printf `0'"
-#: 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 "opción `-'"
-#: c-format.c:624
+#: c-format.c:605
msgid "the `-' printf flag"
msgstr "la opción de printf `-'"
-#: c-format.c:625 c-format.c:649
+#: c-format.c:606 c-format.c:630
msgid "`'' flag"
msgstr "opción `''"
-#: c-format.c:625
+#: c-format.c:606
msgid "the `'' printf flag"
msgstr "la opción de printf `''"
-#: c-format.c:626 c-format.c:650
+#: c-format.c:607 c-format.c:631
msgid "`I' flag"
msgstr "opción `I'"
-#: c-format.c:626
+#: c-format.c:607
msgid "the `I' printf flag"
msgstr "la opción de printf `I'"
-#: 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 "anchura de campo"
-#: c-format.c:627
+#: c-format.c:608
msgid "field width in printf format"
msgstr "anchura de campo en formato printf"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision"
msgstr "precisión"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision in printf format"
msgstr "precisión en formato printf"
-#: 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 "modificador de longitud"
-#: c-format.c:629
+#: c-format.c:610
msgid "length modifier in printf format"
msgstr "modificador de longitud en formato printf"
-#: c-format.c:645
+#: c-format.c:626
msgid "assignment suppression"
msgstr "supresión de la asignación"
-#: c-format.c:645
+#: c-format.c:626
msgid "the assignment suppression scanf feature"
msgstr "la supresión de la asignación es una característica de scanf"
-#: c-format.c:646
+#: c-format.c:627
msgid "`a' flag"
msgstr "opción `a'"
-#: c-format.c:646
+#: c-format.c:627
msgid "the `a' scanf flag"
msgstr "la opción de scanf `a'"
-#: c-format.c:647
+#: c-format.c:628
msgid "field width in scanf format"
msgstr "anchura de campo en formato scanf"
-#: c-format.c:648
+#: c-format.c:629
msgid "length modifier in scanf format"
msgstr "modificador de longitud en formato scanf"
-#: c-format.c:649
+#: c-format.c:630
msgid "the `'' scanf flag"
msgstr "la opción de scanf `''"
-#: c-format.c:650
+#: c-format.c:631
msgid "the `I' scanf flag"
msgstr "la opción de scanf `I'"
-#: c-format.c:664
+#: c-format.c:645
msgid "`_' flag"
msgstr "opción `_'"
-#: c-format.c:664
+#: c-format.c:645
msgid "the `_' strftime flag"
msgstr "la opción de strftime `_'"
-#: c-format.c:665
+#: c-format.c:646
msgid "the `-' strftime flag"
msgstr "la opción de strftime `-'"
-#: c-format.c:666
+#: c-format.c:647
msgid "the `0' strftime flag"
msgstr "la opción de strftime `0'"
-#: c-format.c:667 c-format.c:691
+#: c-format.c:648 c-format.c:672
msgid "`^' flag"
msgstr "opción `^'"
-#: c-format.c:667
+#: c-format.c:648
msgid "the `^' strftime flag"
msgstr "la opción de strftime `^'"
-#: c-format.c:668
+#: c-format.c:649
msgid "the `#' strftime flag"
msgstr "la opción de strftime `#'"
-#: c-format.c:669
+#: c-format.c:650
msgid "field width in strftime format"
msgstr "anchura de campo en formato strftime"
-#: c-format.c:670
+#: c-format.c:651
msgid "`E' modifier"
msgstr "modificador `E'"
-#: c-format.c:670
+#: c-format.c:651
msgid "the `E' strftime modifier"
msgstr "el modificador de strftime `E'"
-#: c-format.c:671
+#: c-format.c:652
msgid "`O' modifier"
msgstr "modificador `O'"
-#: c-format.c:671
+#: c-format.c:652
msgid "the `O' strftime modifier"
msgstr "el modificador de strftime `O'"
-#: c-format.c:672
+#: c-format.c:653
msgid "the `O' modifier"
msgstr "el modificador `O'"
-#: c-format.c:690
+#: c-format.c:671
msgid "fill character"
msgstr "carácter de relleno"
-#: c-format.c:690
+#: c-format.c:671
msgid "fill character in strfmon format"
msgstr "carácter de relleno en el formato de strfmon"
-#: c-format.c:691
+#: c-format.c:672
msgid "the `^' strfmon flag"
msgstr "la opción de strfmon `^'"
-#: c-format.c:692
+#: c-format.c:673
msgid "the `+' strfmon flag"
msgstr "la opción de strfmon `+'"
-#: c-format.c:693
+#: c-format.c:674
msgid "`(' flag"
msgstr "opción `('"
-#: c-format.c:693
+#: c-format.c:674
msgid "the `(' strfmon flag"
msgstr "la opción de strfmon `('"
-#: c-format.c:694
+#: c-format.c:675
msgid "`!' flag"
msgstr "opción `!'"
-#: c-format.c:694
+#: c-format.c:675
msgid "the `!' strfmon flag"
msgstr "la opción de strfmon `!'"
-#: c-format.c:695
+#: c-format.c:676
msgid "the `-' strfmon flag"
msgstr "la opción de strfmon `-'"
-#: c-format.c:696
+#: c-format.c:677
msgid "field width in strfmon format"
msgstr "anchura de campo en formato strfmon"
-#: c-format.c:697
+#: c-format.c:678
msgid "left precision"
msgstr "precisión izquierda"
-#: c-format.c:697
+#: c-format.c:678
msgid "left precision in strfmon format"
msgstr "precisión izquierda en formato strfmon"
-#: c-format.c:698
+#: c-format.c:679
msgid "right precision"
msgstr "precisión derecha"
-#: c-format.c:698
+#: c-format.c:679
msgid "right precision in strfmon format"
msgstr "precisión derecha en formato strfmon"
-#: c-format.c:699
+#: c-format.c:680
msgid "length modifier in strfmon format"
msgstr "modificador de longitud en formato strfmon"
-#: c-format.c:998
+#: c-format.c:983
#, c-format
msgid "function might be possible candidate for `%s' format attribute"
msgstr "la función puede ser un candidato posible para el atributo de formato `%s'"
-#: 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 "falta el operando numérico $ en el formato"
-#: c-format.c:1153
+#: c-format.c:1138
#, c-format
msgid "%s does not support %%n$ operand number formats"
msgstr "%s no tiene soporte para el operando de formato de número %%n$"
-#: c-format.c:1160
+#: c-format.c:1145
msgid "operand number out of range in format"
msgstr "operando numérico fuera de rango en el formato"
-#: c-format.c:1183
+#: c-format.c:1168
#, c-format
msgid "format argument %d used more than once in %s format"
msgstr "se usa más de una vez el argumento de formato %d en el formato %s"
-#: c-format.c:1233
+#: c-format.c:1218
#, c-format
msgid "format argument %d unused before used argument %d in $-style format"
msgstr "no se usa el argumento de formato %d antes de usar el argumento %d en el formato de estilo-$"
-#: c-format.c:1330
+#: c-format.c:1322
msgid "format not a string literal, format string not checked"
msgstr "el formato no es una cadena literal, no se revisó la cadena de formato"
-#: c-format.c:1344
+#: c-format.c:1336
msgid "format not a string literal and no format arguments"
msgstr "el formato no es una cadena literal y no tiene argumentos de formato"
-#: c-format.c:1346
+#: c-format.c:1338
msgid "format not a string literal, argument types not checked"
msgstr "el formato no es una cadena literal, no se revisaron los tipos de argumento"
-#: c-format.c:1359
+#: c-format.c:1351
msgid "too many arguments for format"
msgstr "demasiados argumentos para el formato"
-#: c-format.c:1362
+#: c-format.c:1354
msgid "unused arguments in $-style format"
msgstr "no se usaron argumentos en el formato de estilo-$"
-#: c-format.c:1365
-msgid "zero-length format string"
-msgstr "cadena de formato de longitud cero"
+#: c-format.c:1357
+#, c-format
+msgid "zero-length %s format string"
+msgstr "cadena de formato %s de longitud cero"
-#: c-format.c:1368
+#: c-format.c:1361
msgid "format is a wide character string"
msgstr "el formato es una cadena de carácter ancha"
-#: c-format.c:1371
+#: c-format.c:1364
msgid "unterminated format string"
msgstr "constante de formato sin terminar"
-#. 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 "formato de cadena nulo"
-
-#: c-format.c:1669
+#: c-format.c:1581
msgid "embedded `\\0' in format"
msgstr "`\\0' incrustado en el formato"
-#: c-format.c:1684
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
msgstr "`%%' final espurio en el formato"
-#: c-format.c:1723 c-format.c:1960
+#: c-format.c:1635 c-format.c:1872
#, c-format
msgid "repeated %s in format"
msgstr "se repitió %s en el formato"
-#: c-format.c:1736
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
msgstr "falta el carácter de relleno al final del formato strfmon"
-#: 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 "muy pocos argumentos para el formato"
-#: c-format.c:1816
+#: c-format.c:1728
#, c-format
msgid "zero width in %s format"
msgstr "anchura cero en el formato %s"
-#: c-format.c:1835
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
msgstr "precisión izquierda vacía en el formato %s"
-#: c-format.c:1889
+#: c-format.c:1801
msgid "field precision"
msgstr "precisión del campo"
-#: c-format.c:1904
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
msgstr "precisión vacía en el formato %s"
-#: c-format.c:1944
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
-msgstr "%s no tiene soporte para el modificador de longitud %s `%s'"
+msgstr "%1$s no tiene soporte para el modificador de longitud %3$s `%2$s'"
-#: c-format.c:1994
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr "la conversión carece de tipo al final del formato"
-#: c-format.c:2005
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
msgstr "se desconoce el carácter de tipo de conversión `%c' en el formato"
-#: c-format.c:2008
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr "se desconoce el carácter de tipo de conversión 0x%x en el formato"
-#: c-format.c:2015
+#: c-format.c:1927
#, c-format
msgid "%s does not support the `%%%c' %s format"
-msgstr "%s no tiene soporte para el formato `%%%c' %s"
+msgstr "%1$s no tiene soporte para el formato %3$s `%%%2$c'"
-#: c-format.c:2031
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
-msgstr "se usó %s con el formato `%%%c' %s"
+msgstr "se usó %1$s con el formato %3$s `%%%2$c'"
-#: c-format.c:2040
+#: c-format.c:1952
#, c-format
msgid "%s does not support %s"
msgstr "%s no tiene soporte para %s"
-#: c-format.c:2049
+#: c-format.c:1961
#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
-msgstr "%s no tiene soporte para %s con el formato `%%%c' %s"
+msgstr "%1$s no tiene soporte para %2$s con el formato %4$s `%%%3$c'"
-#: c-format.c:2082
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
-msgstr "se ignora %s con %s y el formato `%%%c' %s"
+msgstr "se ignora %1$s con %2$s y el formato %4$s `%%%3$c'"
-#: c-format.c:2086
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
msgstr "se ignora %s con %s en el formato %s"
-#: c-format.c:2092
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
-msgstr "uso de %s y %s junto con el formato `%%%c' %s"
+msgstr "uso de %1$s y %2$s junto con el formato %4$s `%%%3$c'"
-#: c-format.c:2096
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
msgstr "uso de %s y %s juntos en el formato %s"
-#: c-format.c:2115
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
msgstr "`%%%c' sólo produce los dos últimos dígitos del año en algunos lugares"
-#: c-format.c:2118
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
msgstr "`%%%c' sólo produce los dos últimos dígitos del año"
#. The end of the format string was reached.
-#: c-format.c:2134
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
msgstr "no hay un `]' que cierre para el formato `%%['"
-#: c-format.c:2147
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr "uso del modificador de longitud `%s' con el carácter de tipo `%c'"
-#: c-format.c:2168
+#: c-format.c:2080
#, c-format
msgid "%s does not support the `%%%s%c' %s format"
-msgstr "%s no tiene soporte para el formato `%%%s%c' %s"
+msgstr "%1$s no tiene soporte para el formato %4$s `%%%2$s%3$c'"
-#: c-format.c:2183
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr "número de operandos especificado con asignación suprimida"
-#: c-format.c:2185
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
msgstr "el número de operandos especificados para el formato no toma argumentos"
-#: c-format.c:2304
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
msgstr "escribiendo a través de un apuntador nulo (argumento %d)"
-#: c-format.c:2313
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
msgstr "leyendo a través de un apuntador nulo (argumento %d)"
-#: c-format.c:2333
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
msgstr "escribiendo en un objeto constante (argumento %d)"
-#: c-format.c:2343
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr "calificadores de tipo extra en el argumento de formato (argumento %d)"
-#: c-format.c:2350
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr "el argumento de formato no es un apuntador (argumento %d)"
-#: c-format.c:2352
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr "el argumento de formato no es un apuntador a un apuntador (argumento %d)"
-#: c-format.c:2423
+#: c-format.c:2330
msgid "pointer"
msgstr "apuntador"
-#: c-format.c:2425
+#: c-format.c:2332
msgid "different type"
msgstr "tipo diferente"
-#: c-format.c:2446
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
msgstr "%s no es del tipo %s (argumento %d)"
-#: c-format.c:2449
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr "formato %s, argumento %s (argumento %d)"
-#: c-lex.c:298
+#: c-lex.c:153
+msgid "YYDEBUG not defined"
+msgstr "no se definió YYDEBUG"
+
+#: c-lex.c:290
msgid "badly nested C headers from preprocessor"
msgstr "encabezados C mal anidados del preprocesador"
-#: c-lex.c:348
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
msgstr "ignorando el #pragma %s %s"
-#: c-lex.c:350
-#, c-format
-msgid "ignoring #pragma %s"
-msgstr "ignorando el #pragma %s"
-
-#: c-lex.c:400
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
msgstr "universal-character-name `\\U%08x' no es válido en el identificador"
-#: c-lex.c:646
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
msgstr "universal-character-name `\\u%04x' no es válido en el identificador"
-#: c-lex.c:736
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "se encuentran los sufijos `f' y `l' al mismo tiempo en una constante de coma flotante"
-
-#: c-lex.c:763
-#, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr "el número de coma flotante excede el rango de '%s'"
-
-#: c-lex.c:793
+#: c-lex.c:692
#, c-format
msgid "stray '%c' in program"
msgstr "'%c' parásito en el programa"
-#: c-lex.c:795
+#: c-lex.c:694
#, c-format
msgid "stray '\\%o' in program"
msgstr "'\\%o' parásito en el programa"
-#: c-lex.c:893
-msgid "too many decimal points in floating constant"
-msgstr "demasiados puntos decimales en la constante de coma flotante"
+#: c-lex.c:851
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr "esta constante decimal sólo es unsigned en ISO C90"
-#: c-lex.c:895
-msgid "decimal point in exponent - impossible!"
-msgstr "punto decimal en el exponente - ¡Imposible!"
+#: c-lex.c:854
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr "esta constante decimal será unsigned en ISO C90"
-#. 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:906
-msgid "underscore in number"
-msgstr "subrayado en el número"
+#: c-lex.c:870
+#, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "la constante entera es demasiado grande para el tipo \"%s\""
-#: c-lex.c:968
-msgid "numeric constant with no digits"
-msgstr "constante numérica sin dígitos"
+#: c-lex.c:938
+#, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr "el número de coma flotante excede el rango de \"%s\""
-#: c-lex.c:971
-msgid "numeric constant contains digits beyond the radix"
-msgstr "la constante numérica contiene dígitos más allá del radical"
+#: c-lex.c:974 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr "ignorando los carácteres multibyte inválidos"
-#: c-lex.c:982
-msgid "floating constant may not be in radix 16"
-msgstr "la constante de coma flotante no puede ser de radical 16"
+#: c-opts.c:355
+#, c-format
+msgid "missing argument to \"-%s\""
+msgstr "faltan argumentos para \"-%s\""
-#: c-lex.c:985
-msgid "hexadecimal floating constant has no exponent"
-msgstr "la constante de coma flotante hexadecimal no tiene exponente"
+#: c-opts.c:359
+#, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "no se especificó un nombre de clase con \"-%s\""
-#: c-lex.c:997
-msgid "floating constant exponent has no digits"
-msgstr "el exponente de la constante de coma flotante no tiene dígitos"
+#: c-opts.c:366
+#, c-format
+msgid "missing filename after \"-%s\""
+msgstr "falta un nombre de fichero después de \"-%s\""
-#: c-lex.c:1017
-msgid "more than one 'f' suffix on floating constant"
-msgstr "más de un sufijo `f' en una constante de coma flotante"
+#: c-opts.c:371
+#, c-format
+msgid "missing target after \"-%s\""
+msgstr "falta un objetivo después de \"-%s\""
-#: c-lex.c:1020
-msgid "traditional C rejects the 'f' suffix"
-msgstr "C tradicional rechaza el sufijo 'f'"
+#: c-opts.c:505
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr "opciones de matriz ordenadas incorrectamente: %s está antes de %s"
-#: c-lex.c:1027
-msgid "more than one 'l' suffix on floating constant"
-msgstr "más de un sufijo `l' en una constante de coma flotante"
+#: c-opts.c:550
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr "demasiados nombres de ficheros. Teclee %s --help para información de modo de empleo"
-#: c-lex.c:1030
-msgid "traditional C rejects the 'l' suffix"
-msgstr "C tradicional rechaza el sufijo 'l'"
+#: c-opts.c:937
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "-Wno-strict-prototypes no tiene soporte en C++"
-#: c-lex.c:1038
-msgid "more than one 'i' or 'j' suffix on floating constant"
-msgstr "más de un sufijo `i' o una `j' en una constante de coma flotante"
+#: c-opts.c:1017
+#, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "la opción \"%s\" ya no tiene soporte"
-#: c-lex.c:1040 c-lex.c:1134
-msgid "ISO C forbids imaginary numeric constants"
-msgstr "ISO C prohibe las constantes numéricas imaginarias"
+#: c-opts.c:1033
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr "la opción \"%s\" es obsoleta, por favor vea la documentación para más detalles"
-#: c-lex.c:1045
-msgid "invalid suffix on floating constant"
-msgstr "sufijo inválido en una constante entera"
+#: c-opts.c:1153
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr "se renombró -fhandle-exceptions a -fexceptions (y ahora está activado por omisión)"
-#. We got an exception from parse_float()
-#: c-lex.c:1062
-msgid "floating constant out of range"
-msgstr "constante de coma flotante fuera de rango"
+#: c-opts.c:1273
+msgid "output filename specified twice"
+msgstr "se especificó dos veces el nombre del fichero de salida"
-#: c-lex.c:1074
-msgid "floating point number exceeds range of 'double'"
-msgstr "el número de coma flotante excede el rango de 'double'"
+#: c-opts.c:1387
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "se ignora -Wformat-y2k sin -Wformat"
-#: c-lex.c:1103
-msgid "two 'u' suffixes on integer constant"
-msgstr "dos sufijos 'u' en la constante entera"
+#: c-opts.c:1389
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "se ignora -Wformat-extra-args sin -Wformat"
-#: c-lex.c:1106
-msgid "traditional C rejects the 'u' suffix"
-msgstr "C tradicional rechaza el sufijo 'u'"
+#: c-opts.c:1391
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "se ignora -Wformat-zero-lenght sin -Wformat"
-#: c-lex.c:1117
-msgid "three 'l' suffixes on integer constant"
-msgstr "tres sufijos 'l' en la constante entera"
+#: c-opts.c:1393
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "se ignora -Wformat-nonliteral sin -Wformat"
-#: c-lex.c:1119
-msgid "'lul' is not a valid integer suffix"
-msgstr "'lul' no es un sufijo entero válido"
+#: c-opts.c:1395
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "se ignora -Wformat-security sin -Wformat"
-#: c-lex.c:1121
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr "'Ll' y 'lL' no son sufijos enteros válidos"
+#: c-opts.c:1397
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "se ignora -Wformat-attribute sin -Wformat"
-#: c-lex.c:1124
-msgid "ISO C89 forbids long long integer constants"
-msgstr "ISO C89 prohibe constantes enteras long long"
+#: c-opts.c:1419
+#, c-format
+msgid "opening output file %s"
+msgstr "abriendo el fichero de salida %s"
-#: c-lex.c:1132
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "más de un sufijo `i' o una `j' en una constante entera"
+#: c-opts.c:1474
+#, c-format
+msgid "opening dependency file %s"
+msgstr "abriendo el fichero de dependencias %s"
-#: c-lex.c:1139
-msgid "invalid suffix on integer constant"
-msgstr "sufijo inválido en una constante entera"
+#: c-opts.c:1484
+#, c-format
+msgid "closing dependency file %s"
+msgstr "cerrando el fichero de dependencias %s"
-#: c-lex.c:1147
+#: c-opts.c:1487
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
-msgstr "la constante entera es muy grande para esta configuración del compilador - truncando a %d bits"
+msgid "when writing output to %s"
+msgstr "al escribir la salida a %s"
-#: c-lex.c:1237
-msgid "width of integer constant changes with -traditional"
-msgstr "la anchura de la constante entera cambia con -traditional"
+#: c-opts.c:1567
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "para generar dependencias debe especificar -M ó -MM"
-#: c-lex.c:1239
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "la constante entera es unsigned en ISO C, es signed con -traditional"
+#: c-opts.c:1714
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr "\"-%s\" es válido para %s pero no para %s"
-#: c-lex.c:1241
-msgid "width of integer constant may change on other systems with -traditional"
-msgstr "la anchura de la constante entera puede cambiar en otros sistemas con -traditional"
+#. To keep the lines from getting too long for some compilers, limit
+#. to about 500 characters (6 lines) per chunk.
+#: c-opts.c:1724
+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 ""
+"Interruptores:\n"
+" -include <fichero> Incluye el contenido del <fichero> antes de otros ficheros\n"
+" -imacros <fichero> Aceptar definiciones de macros en el <fichero>\n"
+" -iprefix <ruta> Especificar la <ruta> como un prefijo para las siguientes dos opciones\n"
+" -iwithprefix <dir> Agregar el <dir>ectorio al final de la ruta de inclusión del sistema\n"
+" -iwithprefixbefore <dir> Agregar el <dir>ectorio al final de la ruta de inclusión principal\n"
+" -isystem <dir> Agregar el <dir>ectorio al inicio de la ruta de inclusión del sistema\n"
-#: c-lex.c:1251
-#, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "la constante entera es más grande que el valor máximo de %s"
+#: c-opts.c:1733
+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 ""
+" -idirafter <dir> Agregar el <dir>ectorio al final de la ruta de inclusión del sistema\n"
+" -I <dir> Agregar el <dir>ectorio al final de la ruta de inclusión principal\n"
+" -I- Control granula de la ruta de inclusión; vea los documentos info\n"
+" -nostdinc No buscar en los directorios de inclusión del sistema\n"
+" (aún se usarán los directorios especificados con -isystem)\n"
+" -nostdinc++ No buscar en los directorios de inclusión del sistema para C++\n"
+" -o <fichero> Poner la salida en el <fichero>\n"
-#: c-lex.c:1254
-msgid "an unsigned long long int"
-msgstr "un unsigned long long int"
+#: c-opts.c:1742
+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 ""
+" -trigraphs Permitir trigrafos ISO C\n"
+" -std=<nombre std> Especificar la concordancia con estándard; una de:\n"
+" gnu89, gnu99, c89, c99, iso9899:1990,\n"
+" iso9899:199409, iso9899:1999, c++98\n"
+" -w Inhibir los mensajes de aviso\n"
+" -W[no-]trigraphs Avisar si se encuentran trigrafos\n"
+" -W[no-]comment{s} Avisar si un comentario inicia dentro de otro\n"
-#: c-lex.c:1255
-msgid "a long long int"
-msgstr "un long long int"
+#: c-opts.c:1751
+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 ""
+" -W[no-]traditional Avisar sobre características no presentes en C tradicional\n"
+" -W[no-]undef Avisar si una macro sin definir es usada por #if\n"
+" -W[no-]import Avisar sobre el uso de la directiva #import\n"
-#: c-lex.c:1256
-msgid "an unsigned long int"
-msgstr "un unsigned long int"
+#: c-opts.c:1756
+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 ""
+" -W[no-]error Tratar todos los avisos como errores\n"
+" -W[no-]system-headers No suprimir los avisos de los encabezados del sistema\n"
+" -W[no-]all Activar casi todos los avisos del preprocesador\n"
-#: c-lex.c:1260
-msgid "decimal constant is so large that it is unsigned"
-msgstr "la constante decimal es tan grande que es unsigned"
+#: c-opts.c:1761
+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 ""
+" -M Genera dependencias para make\n"
+" -MM Como -M, pero ignora los ficheros de encabezado del sistema\n"
+" -MD Genera dependencias para make y compila\n"
+" -MMD Como -MD, pero ignora los ficheros de encabezado del sistema\n"
+" -MF <fichero> Escribe la salida de la dependencia en el fichero dado\n"
+" -MG Trata los ficheros de encabezado faltantes como ficheros generados\n"
-#: c-lex.c:1269
-msgid "complex integer constant is too wide for 'complex int'"
-msgstr "la constante entera compleja es demasiado ancha para `complex int'"
+# ¿Estoy usando la traducción correcta de 'quoted'? cfuga
+#: c-opts.c:1769
+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 ""
+" -MP\t\t\t Generar objetivos falsos para todos los encabezados\n"
+" -MQ <objetivo> Agregar un objetivo entrecomillado para MAKE\n"
+" -MT <objetivo> Agregar un objetivo sin comillas\n"
-#: c-lex.c:1289
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "la constante entera es más grande que el valor máximo para su tipo"
+#: c-opts.c:1774
+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 ""
+" -D<macro> Define una <macro> con la cadena '1' como su valor\n"
+" -D<macro>=<valor> Define una <macro> con <valor> como su valor\n"
+" -A<pregunta>=<resp> Define la <resp>uesta para la <pregunta>\n"
+" -A-<pregunta>=<resp> Desactiva la <resp>uesta a la <pregunta>\n"
+" -U<macro> Borra la definición de <macro> \n"
+" -v Muestra el número de la versión\n"
-#: c-lex.c:1293
-#, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "falta un espacio en blanco después del número `%.*s'"
+#: c-opts.c:1782
+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 ""
+" -H Muestra el nombre de los ficheros de encabezado cada vez que se usan\n"
+" -C No descarta los comentarios\n"
+" -dM Muestra una lista de definiciones de macro activas al final\n"
+" -dD Preserva las definiciones de macro en la salida\n"
+" -dN Como -dD excepto que sólo se preservan los nombres\n"
+" -dI Incluye directivas #include en la salida\n"
-#: c-lex.c:1329 cpplex.c:1873
-msgid "ignoring invalid multibyte character"
-msgstr "ignorando los carácteres multibyte inválidos"
+#: c-opts.c:1790
+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 ""
+" -f[no-]preprocessed Trata el fichero de entrada como si ya fuera preprocesado\n"
+" -ftabstop=<número> Distancia entre los topes de tabulador para el reporte en columnas\n"
+" -P No genera directivas #line\n"
+" -remap Remapea los nombres de fichero cuando se incluyan ficheros\n"
+" --help Muestra esta información\n"
#. 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:55
msgid "syntax error"
msgstr "error sintáctico"
-#: /usr/share/bison/bison.simple:176 /usr/share/bison.simple:112
+#: /usr/share/bison/bison.simple:179
msgid "syntax error: cannot back up"
msgstr "error sintáctico: no se puede regresar"
-#: c-parse.y:288 objc-parse.y:310
+#: c-parse.y:325 objc-parse.y:346
msgid "ISO C forbids an empty source file"
msgstr "ISO C prohibe un fichero fuente vacío"
-#: c-parse.y:321 c-typeck.c:6895 objc-parse.y:343
+#: c-parse.y:366 c-typeck.c:6887 objc-parse.y:388
msgid "argument of `asm' is not a constant string"
msgstr "el argumento de `asm' no es una cadena constante"
-#: c-parse.y:329 objc-parse.y:351
+#: c-parse.y:374 objc-parse.y:396
msgid "ISO C forbids data definition with no type or storage class"
msgstr "ISO C prohibe la definición de datos sin tipo o clase de almacenamiento"
-#: c-parse.y:331 objc-parse.y:353
+#: c-parse.y:376 objc-parse.y:398
msgid "data definition has no type or storage class"
msgstr "la definición de datos no tiene tipo o clase de almacenamiento"
-#: c-parse.y:344 objc-parse.y:366
+#: c-parse.y:389 objc-parse.y:411
msgid "ISO C does not allow extra `;' outside of a function"
msgstr "ISO C no permite ';' extra fuera de una función"
-#: c-parse.y:404 cppexp.c:693
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rechaza el operador unario mas"
-#: c-parse.y:466 objc-parse.y:488
+#: c-parse.y:496 objc-parse.y:518
msgid "`sizeof' applied to a bit-field"
msgstr "`sizeof' aplicado a un campo de bits"
-#: c-parse.y:546 objc-parse.y:568
+#: c-parse.y:583 objc-parse.y:605
msgid "ISO C forbids omitting the middle term of a ?: expression"
msgstr "ISO C prohibe la omisión del término medio de una expresión ?:"
-#: c-parse.y:593 objc-parse.y:615
+#: c-parse.y:632 objc-parse.y:654
msgid "ISO C89 forbids compound literals"
msgstr "ISO C89 prohibe las literales compuestas"
-#: c-parse.y:607 objc-parse.y:629
+#: c-parse.y:646 objc-parse.y:668
msgid "ISO C forbids braced-groups within expressions"
msgstr "ISO C prohibe grupos de llaves dentro de expresiones"
-#: c-parse.y:638 objc-parse.y:660
+#: c-parse.y:677 objc-parse.y:699
msgid "first argument to __builtin_choose_expr not a constant"
msgstr "el primer argumento de __builtin_choose_expr no es una constante"
-#: c-parse.y:681
-msgid "traditional C rejects string concatenation"
-msgstr "C tradicional rechaza la concatenación de cadenas"
-
-#: c-parse.y:696 objc-parse.y:732
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ISO C no permite el uso de `varargs.h'"
+#: c-parse.y:721 objc-parse.y:767
+msgid "traditional C rejects ISO C style function definitions"
+msgstr "C tradicional rechaza la definición de funciones de estilo ISO C"
-#: c-parse.y:957 c-parse.y:963 c-parse.y:969 c-parse.y:975 c-parse.y:996 c-parse.y:1002 c-parse.y:1008 c-parse.y:1014 c-parse.y:1047 c-parse.y:1053 c-parse.y:1059 c-parse.y:1065 c-parse.y:1110 c-parse.y:1116 c-parse.y:1122 c-parse.y:1128 parse.y:1907 parse.y:1914 parse.y:1949 objc-parse.y:993 objc-parse.y:999 objc-parse.y:1005 objc-parse.y:1011 objc-parse.y:1032 objc-parse.y:1038 objc-parse.y:1044 objc-parse.y:1050 objc-parse.y:1083 objc-parse.y:1089 objc-parse.y:1095 objc-parse.y:1101 objc-parse.y:1146 objc-parse.y:1152 objc-parse.y:1158 objc-parse.y:1164
+#: 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:1916 parse.y:1923 parse.y:1958 objc-parse.y:1031
+#: objc-parse.y:1037 objc-parse.y:1043 objc-parse.y:1049 objc-parse.y:1070
+#: objc-parse.y:1076 objc-parse.y:1082 objc-parse.y:1088 objc-parse.y:1121
+#: objc-parse.y:1127 objc-parse.y:1133 objc-parse.y:1139 objc-parse.y:1184
+#: objc-parse.y:1190 objc-parse.y:1196 objc-parse.y:1202
#, c-format
msgid "`%s' is not at beginning of declaration"
msgstr "`%s' no está en el inicio de la declaración"
-#: c-parse.y:1410 objc-parse.y:1455
+#: c-parse.y:1441 objc-parse.y:1496
msgid "ISO C forbids empty initializer braces"
-msgstr "ISO C prohibe las llaves de iniciador vacías"
+msgstr "ISO C prohibe las llaves de inicializador vacías"
-#: c-parse.y:1424 objc-parse.y:1469
+#: c-parse.y:1455 objc-parse.y:1510
msgid "ISO C89 forbids specifying subobject to initialize"
-msgstr "ISO C89 prohibe la especificación de subobjetos a iniciar"
+msgstr "ISO C89 prohibe la especificación de subobjetos a inicializar"
-#: c-parse.y:1427 objc-parse.y:1472
+#: c-parse.y:1458 objc-parse.y:1513
msgid "obsolete use of designated initializer without `='"
-msgstr "uso obsoleto del iniciador designado sin `='"
+msgstr "uso obsoleto del inicializador designado sin `='"
-#: c-parse.y:1431 objc-parse.y:1476
+#: c-parse.y:1462 objc-parse.y:1517
msgid "obsolete use of designated initializer with `:'"
-msgstr "uso obsoleto del iniciador asignado con `:'"
+msgstr "uso obsoleto del inicializador asignado con `:'"
-#: c-parse.y:1460
+#: c-parse.y:1489 objc-parse.y:1544
msgid "ISO C forbids specifying range of elements to initialize"
-msgstr "ISO C prohibe la especificación de rangos de elementos a iniciar"
+msgstr "ISO C prohibe la especificación de rangos de elementos a inicializar"
-#: c-parse.y:1468 c-parse.y:1498 objc-parse.y:1507 objc-parse.y:1537
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1552 objc-parse.y:1583
msgid "ISO C forbids nested functions"
msgstr "ISO C prohibe las funciones anidadas"
-#: c-parse.y:1672 objc-parse.y:1713
+#: c-parse.y:1703 objc-parse.y:1760
msgid "ISO C forbids forward references to `enum' types"
msgstr "ISO C prohibe las declaraciones posteriores para tipos `enum'"
-#: c-parse.y:1684 parse.y:2364 objc-parse.y:1725
+#: c-parse.y:1715 parse.y:2386 objc-parse.y:1772
msgid "comma at end of enumerator list"
msgstr "coma al final de la lista de enumeradores"
-#: c-parse.y:1692 objc-parse.y:1733
+#: c-parse.y:1723 objc-parse.y:1780
msgid "no semicolon at end of struct or union"
msgstr "no hay punto y coma al final del struct o union"
-#: c-parse.y:1701 objc-parse.y:1742 objc-parse.y:2819
+#: c-parse.y:1732 objc-parse.y:1789 objc-parse.y:2864
msgid "extra semicolon in struct or union specified"
msgstr "se especificó un punto y coma extra en un struct o union"
-#: c-parse.y:1714 objc-parse.y:1769
+#: c-parse.y:1745 objc-parse.y:1816
msgid "ISO C doesn't support unnamed structs/unions"
msgstr "ISO C no tiene soporte para structs/unions sin nombre"
-#: c-parse.y:1723 objc-parse.y:1778
+#: c-parse.y:1754 objc-parse.y:1825
msgid "ISO C forbids member declarations with no members"
msgstr "ISO C prohibe declaraciones de miembros con no miembros"
-#: c-parse.y:1872 c-parse.y:1876 c-parse.y:1880 objc-parse.y:1927 objc-parse.y:1931 objc-parse.y:1935
-msgid "storage class specifier in array declarator"
-msgstr "especificadores de clase de almacenamiento en el declarador de una matriz"
-
-#: c-parse.y:1895 objc-parse.y:1950
+#: c-parse.y:1913 objc-parse.y:1984
msgid "deprecated use of label at end of compound statement"
-msgstr "uso deprecado de la etiqueta al final de la declaración compuesta"
+msgstr "uso obsoleto de la etiqueta al final de la declaración compuesta"
-#: c-parse.y:1912 objc-parse.y:1967
+#: c-parse.y:1930 objc-parse.y:2001
msgid "ISO C89 forbids mixed declarations and code"
msgstr "ISO C89 prohibe las declaraciones mezcladas y código"
-#: c-parse.y:1986 objc-parse.y:2045
+#: c-parse.y:2005 objc-parse.y:2080
msgid "ISO C forbids label declarations"
msgstr "ISO C prohibe las declaraciones etiquetadas"
-#: c-parse.y:2035 parse.y:1607 objc-parse.y:2094
+#: c-parse.y:2055 parse.y:1628 objc-parse.y:2130
msgid "braced-group within expression allowed only inside a function"
msgstr "un grupo de llaves dentro de una expresión sólo se permite dentro de una función"
-#: c-parse.y:2161 objc-parse.y:2220
+#: c-parse.y:2182 objc-parse.y:2257
msgid "empty body in an else-statement"
msgstr "cuerpo vacío en una declaración else"
-#: c-parse.y:2281 objc-parse.y:2340
+#: c-parse.y:2303 objc-parse.y:2378
msgid "ISO C forbids `goto *expr;'"
msgstr "ISO C prohibe `goto *expr;'"
-#: c-parse.y:2379 objc-parse.y:2438
+#: c-parse.y:2403 objc-parse.y:2478
msgid "ISO C forbids forward parameter declarations"
msgstr "ISO C prohibe declaraciones adelantadas de parámetros"
@@ -2327,180 +2501,185 @@ msgstr "ISO C prohibe declaraciones adelantadas de parámetros"
#. 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:2405 objc-parse.y:2464
+#: c-parse.y:2429 objc-parse.y:2504
msgid "ISO C requires a named argument before `...'"
msgstr "ISO C requiere un argumento con nombre antes de `...'"
-#: c-parse.y:2500 objc-parse.y:2559
+#: c-parse.y:2526 objc-parse.y:2601
msgid "`...' in old-style identifier list"
msgstr "`...' en una lista de identificadores de estilo antiguo"
-#: /usr/share/bison/bison.simple:821
+#: /usr/share/bison/bison.simple:795
msgid "parse error; also virtual memory exhausted"
msgstr "error de decodificación; también se agotó la memoria"
-#: /usr/share/bison/bison.simple:825 cp/spew.c:343 /usr/share/bison.simple:654
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
msgid "parse error"
msgstr "error de decodificación"
-#: /usr/share/bison/bison.simple:950 /usr/share/bison.simple:367
+#: /usr/share/bison/bison.simple:924
msgid "parser stack overflow"
msgstr "desbordamiento de la pila del decodificador"
-#: c-parse.y:2824 cp/spew.c:1477 objc-parse.y:3511
+#: c-parse.y:2838 cp/spew.c:1525 objc-parse.y:3537
#, c-format
msgid "%s at end of input"
msgstr "%s al final de la entrada"
-#: c-parse.y:2830 cp/spew.c:1483 objc-parse.y:3517
+#: c-parse.y:2844 cp/spew.c:1533 objc-parse.y:3543
#, c-format
msgid "%s before %s'%c'"
msgstr "%s antes de %s'%c'"
-#: c-parse.y:2832 cp/spew.c:1485 objc-parse.y:3519
+#: c-parse.y:2846 cp/spew.c:1535 objc-parse.y:3545
#, c-format
msgid "%s before %s'\\x%x'"
msgstr "%s antes de %s'\\x%x'"
-#: c-parse.y:2836 cp/spew.c:1489 objc-parse.y:3523
+#: c-parse.y:2850 cp/spew.c:1542 objc-parse.y:3549
#, c-format
msgid "%s before string constant"
msgstr "%s antes de una constante de cadena"
-#: c-parse.y:2838 cp/spew.c:1491 objc-parse.y:3525
+#: c-parse.y:2852 cp/spew.c:1544 objc-parse.y:3551
#, c-format
msgid "%s before numeric constant"
msgstr "%s antes de una constante numérica"
-#: c-parse.y:2840 objc-parse.y:3527
+#: c-parse.y:2854 objc-parse.y:3553
#, c-format
msgid "%s before \"%s\""
msgstr "%s antes de \"%s\""
-#: c-parse.y:2842 objc-parse.y:3529
+#: c-parse.y:2856 objc-parse.y:3555
#, c-format
msgid "%s before '%s' token"
msgstr "%s antes del elemento '%s'"
-#: c-parse.y:2978 objc-parse.y:3708
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr "C tradicional rechaza la concatenación de cadenas"
+
+#: c-parse.y:3047 objc-parse.y:3779
#, c-format
msgid "syntax error at '%s' token"
msgstr "error sintáctico en el elemento '%s'"
-#: c-parse.y:3008 cp/lex.c:906 objc-parse.y:3738
-msgid "YYDEBUG not defined"
-msgstr "no se definió YYDEBUG"
-
-#: c-pragma.c:109
+#: c-pragma.c:107
msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
msgstr "se encontró un #pragma pack (pop) sin un #pragma pack (push, <n>) coincidente"
-#: c-pragma.c:127
+#: c-pragma.c:125
#, c-format
msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
msgstr "se encontró un #pragma pack (pop, %s) sin un #pragma pack (push, %s, <n>) coincidente"
-#: c-pragma.c:162
+#: c-pragma.c:145
msgid "#pragma pack(push[, id], <n>) is not supported on this target"
msgstr "#pragma pack(push[, id], <n>) no tiene soporte en este objetivo"
-#: c-pragma.c:164
+#: c-pragma.c:147
msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
msgstr "#pragma pack(pop[, id], <n>) no tiene soporte en este objetivo"
-#: c-pragma.c:184
+#: c-pragma.c:167
msgid "missing '(' after '#pragma pack' - ignored"
msgstr "falta un '(' después de '#pragma pack' - ignorado"
-#: c-pragma.c:197 c-pragma.c:247
+#: c-pragma.c:180 c-pragma.c:230
msgid "malformed '#pragma pack' - ignored"
msgstr "'#pragma pack' mal formado - ignorado"
-#: c-pragma.c:202
+#: c-pragma.c:185
msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
msgstr "'#pragma pack(push[, id], <n>)' mal formado - ignorado"
-#: c-pragma.c:204
+#: c-pragma.c:187
msgid "malformed '#pragma pack(pop[, id])' - ignored"
msgstr "'#pragma pack(pop[, id], <n>)' mal formado - ignorado"
-#: c-pragma.c:213
+#: c-pragma.c:196
#, c-format
msgid "unknown action '%s' for '#pragma pack' - ignored"
msgstr "acción desconocida '%s' para '#pragma pack' - ignorado"
-#: c-pragma.c:250
+#: c-pragma.c:233
msgid "junk at end of '#pragma pack'"
msgstr "basura al final de '#pragma pack'"
-#: c-pragma.c:264
+#: c-pragma.c:247
#, c-format
msgid "alignment must be a small power of two, not %d"
msgstr "la alineación debe ser una potencia pequeña de dos, no %d"
-#: 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 "la aplicación del #pragma weak `%s' después del primer uso resulta en conducta no especificada"
+
+#: c-pragma.c:321 c-pragma.c:326
msgid "malformed #pragma weak, ignored"
msgstr "#pragma weak malformado, ignorado"
-#: c-pragma.c:338
+#: c-pragma.c:330
msgid "junk at end of #pragma weak"
msgstr "basura al final de #pragma weak"
-#: c-pragma.c:369 c-pragma.c:374
+#: c-pragma.c:365 c-pragma.c:370
msgid "malformed #pragma redefine_extname, ignored"
msgstr "#pragma redefine_extname malformado, ignorado"
-#: c-pragma.c:379
+#: c-pragma.c:375
msgid "junk at end of #pragma redefine_extname"
msgstr "basura al final de #pragma redefine_extname"
-#: c-pragma.c:386 c-pragma.c:461
+#: c-pragma.c:382 c-pragma.c:463
msgid "#pragma redefine_extname conflicts with declaration"
msgstr "#pragma redefine_extname tiene conflictos con la declaración"
-#: c-pragma.c:410
+#: c-pragma.c:413
msgid "malformed #pragma extern_prefix, ignored"
msgstr "#pragma extern_prefix malformado, ignorado"
-#: c-pragma.c:415
+#: c-pragma.c:418
msgid "junk at end of #pragma extern_prefix"
msgstr "basura al final de #pragma extern_prefix"
-#: c-pragma.c:447
-msgid "asm declaration conficts with previous rename"
+#: c-pragma.c:450
+msgid "asm declaration conflicts with previous rename"
msgstr "la declaración asm causa conflictos con el renombrado previo"
-#: c-semantics.c:563
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
msgstr "la declaración break no está dentro de un ciclo o switch"
-#: c-semantics.c:581
+#: c-semantics.c:583
msgid "continue statement not within a loop"
msgstr "la declaración continue no está dentro dentro de un ciclo"
-#: c-semantics.c:676
+#: c-semantics.c:678
msgid "destructor needed for `%#D'"
msgstr "se necesita un destructor para `%#D'"
-#: c-semantics.c:677
+#: c-semantics.c:679
msgid "where case label appears here"
msgstr "donde la etiqueta case aparece aquí"
-#: c-semantics.c:680
+#: c-semantics.c:682
msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
msgstr "(las acciones adjuntas de declaraciones case previas requieren destructores en su propio ámbito.)"
-#: c-semantics.c:723 c-typeck.c:6923 cp/semantics.c:889
+#: c-semantics.c:725 c-typeck.c:6913 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
-msgstr "calificador %s ignorado en asm"
+msgstr "se ignora el calificador %s en asm"
#: c-typeck.c:123
#, c-format
msgid "`%s' has an incomplete type"
msgstr "`%s' tiene un tipo de dato incompleto"
-#: c-typeck.c:145 cp/call.c:2621
+#: c-typeck.c:145 cp/call.c:2849
msgid "invalid use of void expression"
msgstr "uso inválido de la expresión void"
@@ -2508,7 +2687,7 @@ msgstr "uso inválido de la expresión void"
msgid "invalid use of flexible array member"
msgstr "uso inválido de un miembro de matriz flexible"
-#: c-typeck.c:159 cp/typeck2.c:227
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
msgstr "uso inválido de matrices con límites sin especificar"
@@ -2523,967 +2702,1080 @@ msgstr "uso inválido del tipo indefinido `%s %s'"
msgid "invalid use of incomplete typedef `%s'"
msgstr "uso inválido del typedef incompleto `%s'"
-#: c-typeck.c:402 c-typeck.c:416
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
msgstr "los tipos de función no son totalmente compatibles en ISO C"
-#: c-typeck.c:576
+#: c-typeck.c:603
msgid "types are not quite compatible"
msgstr "los tipos no son totalmente compatibles"
-#: c-typeck.c:729
-msgid "sizeof applied to a function type"
-msgstr "sizeof aplicado a un tipo de función"
-
-#: c-typeck.c:735
-msgid "sizeof applied to a void type"
-msgstr "sizeof aplicado a un tipo de dato void"
-
-#: c-typeck.c:742
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof aplicado a un tipo de dato incompleto"
-
-#: c-typeck.c:795 c-typeck.c:2704
+#: c-typeck.c:757 c-typeck.c:2687
msgid "arithmetic on pointer to an incomplete type"
msgstr "aritmética en apuntador a un tipo de dato incompleto"
-#: c-typeck.c:1183
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr "%s no tiene un miembro llamado `%s'"
-#: c-typeck.c:1216
+#: c-typeck.c:1172
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr "petición del miembro `%s' en algo que no es estructura ó unión"
-#: c-typeck.c:1248
+#: c-typeck.c:1204
msgid "dereferencing pointer to incomplete type"
msgstr "apuntador deferenciado a tipo de dato incompleto"
-#: c-typeck.c:1252
+#: c-typeck.c:1208
msgid "dereferencing `void *' pointer"
msgstr "deferenciando el apuntador `void *'"
-#: c-typeck.c:1269 cp/typeck.c:2347
+#: c-typeck.c:1225 cp/typeck.c:2366
#, c-format
msgid "invalid type argument of `%s'"
msgstr "argumento de tipo inválido de `%s'"
-#: c-typeck.c:1288 cp/typeck.c:2373
+#: c-typeck.c:1244 cp/typeck.c:2392
msgid "subscript missing in array reference"
msgstr "falta subíndice en la referencia de la matriz"
-#: c-typeck.c:1309 cp/typeck.c:2415
+#: c-typeck.c:1265 cp/typeck.c:2434
msgid "array subscript has type `char'"
msgstr "el subíndice de la matriz tiene tipo `char'"
-#: c-typeck.c:1317 c-typeck.c:1406 cp/typeck.c:2422 cp/typeck.c:2501
+#: c-typeck.c:1273 c-typeck.c:1362 cp/typeck.c:2441 cp/typeck.c:2520
msgid "array subscript is not an integer"
msgstr "el subíndice de la matriz no es un entero"
-#: c-typeck.c:1350
+#: c-typeck.c:1306
msgid "ISO C forbids subscripting `register' array"
msgstr "ISO C prohibe el subíndice de una matriz `register'"
-#: c-typeck.c:1352
-msgid "ISO C89 forbids subscripting non-lvalue array"
-msgstr "ISO C89 prohibe el subíndice de una matriz no-lvaluada"
+#: c-typeck.c:1308
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr "ISO C90 prohibe el subíndice de una matriz no-lvaluada"
-#: c-typeck.c:1385
+#: c-typeck.c:1341
msgid "subscript has type `char'"
msgstr "el subíndice es de tipo `char'"
-#: c-typeck.c:1401 cp/typeck.c:2496
+#: c-typeck.c:1357 cp/typeck.c:2515
msgid "subscripted value is neither array nor pointer"
msgstr "el valor indicado por el subíndice no es ni matriz ni apuntador"
-#: c-typeck.c:1455
+#: c-typeck.c:1411
#, c-format
msgid "`%s' undeclared here (not in a function)"
-msgstr "`%s' no ha sido declarado aquí (no en una función)"
+msgstr "`%s' no se declaró aquí (no en una función)"
-#: c-typeck.c:1462
+#: c-typeck.c:1418
#, c-format
msgid "`%s' undeclared (first use in this function)"
-msgstr "`%s' no ha sido declarado aquí (primero úselo en esta función)"
+msgstr "`%s' no se declaró aquí (primer uso en esta función)"
-#: c-typeck.c:1467
+#: c-typeck.c:1423
msgid "(Each undeclared identifier is reported only once"
msgstr "(Cada identificador no declarado solamente se reporta una vez"
-#: c-typeck.c:1468
+#: c-typeck.c:1424
msgid "for each function it appears in.)"
msgstr "para cada funcion en la que aparece.)"
-#: c-typeck.c:1485
+#: c-typeck.c:1441
#, c-format
msgid "local declaration of `%s' hides instance variable"
msgstr "la declaración local de `%s' oculta la variable de instancia"
-#: c-typeck.c:1550
+#: c-typeck.c:1518
msgid "called object is not a function"
msgstr "el objeto llamado no es una función"
-#: c-typeck.c:1637 cp/typeck.c:3133
+#: c-typeck.c:1604 cp/typeck.c:2826
msgid "too many arguments to function"
msgstr "demasiados argumentos para la función"
-#: c-typeck.c:1658
+#: c-typeck.c:1625
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr "el tipo de dato del parámetro formal %d está incompleto"
-#: c-typeck.c:1671
+#: c-typeck.c:1638
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr "%s como entero en lugar de coma flotante debido al prototipo"
-#: c-typeck.c:1674
+#: c-typeck.c:1641
#, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr "%s como entero en lugar de complejo debido al prototipo"
-#: c-typeck.c:1677
+#: c-typeck.c:1644
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr "%s como complejo en lugar de coma flotante debido al prototipo"
-#: c-typeck.c:1680
+#: c-typeck.c:1647
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr "%s como coma flotante en lugar de entero debido al prototipo"
-#: c-typeck.c:1683
+#: c-typeck.c:1650
#, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr "%s como complejo en lugar de entero debido al prototipo"
-#: c-typeck.c:1686
+#: c-typeck.c:1653
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr "%s como coma flotante en lugar de complejo debido al prototipo"
-#: c-typeck.c:1696
+#: c-typeck.c:1663
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr "%s como `float' en lugar de `double' debido al prototipo"
-#: c-typeck.c:1714
+#: c-typeck.c:1681
#, c-format
msgid "%s with different width due to prototype"
msgstr "%s con anchura diferente debido al prototipo"
-#: c-typeck.c:1748
+#: c-typeck.c:1715
#, c-format
msgid "%s as unsigned due to prototype"
msgstr "%s como unsigned debido al prototipo"
-#: c-typeck.c:1750
+#: c-typeck.c:1717
#, c-format
msgid "%s as signed due to prototype"
msgstr "%s como signed debido al prototipo"
-#: c-typeck.c:1784 cp/typeck.c:3241
+#: c-typeck.c:1751 cp/typeck.c:2930
msgid "too few arguments to function"
msgstr "muy pocos argumentos para la función"
-#: c-typeck.c:1826
+#: c-typeck.c:1793
msgid "suggest parentheses around + or - inside shift"
msgstr "se sugieren paréntesis alrededor de + o - dentro de un desplazamiento"
-#: c-typeck.c:1833
+#: c-typeck.c:1800
msgid "suggest parentheses around && within ||"
msgstr "se sugieren paréntesis alrededor de && junto con ||"
-#: c-typeck.c:1842
+#: c-typeck.c:1809
msgid "suggest parentheses around arithmetic in operand of |"
msgstr "se sugieren paréntesis alrededor de la aritmética para operandos de |"
-#: c-typeck.c:1845
+#: c-typeck.c:1812
msgid "suggest parentheses around comparison in operand of |"
msgstr "se sugieren paréntesis alrededor de las comparaciones para operandos de |"
-#: c-typeck.c:1854
+#: c-typeck.c:1821
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr "se sugieren paréntesis alrededor de la aritmética para operandos de ^"
-#: c-typeck.c:1857
+#: c-typeck.c:1824
msgid "suggest parentheses around comparison in operand of ^"
msgstr "se sugieren paréntesis alrededor de las comparaciones para operandos de ^"
-#: c-typeck.c:1864
+#: c-typeck.c:1831
msgid "suggest parentheses around + or - in operand of &"
msgstr "se sugieren paréntesis alrededor de + o - para operandos de &"
-#: c-typeck.c:1867
+#: c-typeck.c:1834
msgid "suggest parentheses around comparison in operand of &"
msgstr "se sugieren paréntesis alrededor de las comparaciones para operandos de &"
-#: c-typeck.c:1874
+#: c-typeck.c:1841
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr "las comparaciones como X<=Y<=Z no tienen su significado matemático"
-#: c-typeck.c:2034 c-typeck.c:2067
+#: c-typeck.c:2001 c-typeck.c:2036
msgid "division by zero"
msgstr "división por cero"
-#: c-typeck.c:2112 cp/typeck.c:3502
+#: c-typeck.c:2081 cp/typeck.c:3191
msgid "right shift count is negative"
msgstr "la cuenta de desplazamiento a la derecha es negativa"
-#: c-typeck.c:2119 cp/typeck.c:3508
+#: c-typeck.c:2088 cp/typeck.c:3197
msgid "right shift count >= width of type"
msgstr "cuenta de desplazamiento a la derecha >= anchura del tipo"
-#: c-typeck.c:2144 cp/typeck.c:3527
+#: c-typeck.c:2109 cp/typeck.c:3216
msgid "left shift count is negative"
msgstr "la cuenta de desplazamiento a la izquierda es negativa"
-#: c-typeck.c:2147 cp/typeck.c:3529
+#: c-typeck.c:2112 cp/typeck.c:3218
msgid "left shift count >= width of type"
msgstr "cuenta de desplazamiento a la izquierda >= anchura del tipo"
-#: c-typeck.c:2172
+#: c-typeck.c:2133
msgid "shift count is negative"
msgstr "la cuenta de desplazamiento es negativa"
-#: c-typeck.c:2174
+#: c-typeck.c:2135
msgid "shift count >= width of type"
msgstr "cuenta de desplazamiento >= anchura del tipo"
-#: c-typeck.c:2195 cp/typeck.c:3564
+#: c-typeck.c:2152 cp/typeck.c:3253
msgid "comparing floating point with == or != is unsafe"
msgstr "no es segura la comparacion de coma flotante con == o !="
-#: c-typeck.c:2219 c-typeck.c:2225
+#: c-typeck.c:2178 c-typeck.c:2184
msgid "ISO C forbids comparison of `void *' with function pointer"
msgstr "ISO C prohibe la comparación de `void *' con un apuntador de función"
-#: c-typeck.c:2228 c-typeck.c:2270 c-typeck.c:2298
+#: c-typeck.c:2187 c-typeck.c:2227 c-typeck.c:2255
msgid "comparison of distinct pointer types lacks a cast"
msgstr "la comparación de diferentes tipos de apuntador carece de una conversión"
-#: c-typeck.c:2243 c-typeck.c:2249 c-typeck.c:2319 c-typeck.c:2325
+#: c-typeck.c:2201 c-typeck.c:2206 c-typeck.c:2275 c-typeck.c:2280
msgid "comparison between pointer and integer"
msgstr "comparación entre apuntador y entero"
-#: c-typeck.c:2265 c-typeck.c:2293
+#: c-typeck.c:2222 c-typeck.c:2250
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr "ISO C prohibe la comparación entre apuntadores a funciones"
-#: c-typeck.c:2290
+#: c-typeck.c:2247
msgid "comparison of complete and incomplete pointers"
msgstr "comparación de apuntadores completos e incompletos"
-#: c-typeck.c:2306 c-typeck.c:2313
+#: c-typeck.c:2263 c-typeck.c:2270
msgid "ordered comparison of pointer with integer zero"
msgstr "comparación ordenada de apuntador con el entero cero"
-#: c-typeck.c:2339 cp/typeck.c:3697
+#: c-typeck.c:2294 cp/typeck.c:3386
msgid "unordered comparison on non-floating point argument"
msgstr "comparación sin orden en argumento de coma no flotante"
-#: c-typeck.c:2543
+#: c-typeck.c:2505
msgid "comparison between signed and unsigned"
msgstr "comparación entre signed y unsigned"
-#: c-typeck.c:2589 cp/typeck.c:3943
+#: c-typeck.c:2551 cp/typeck.c:3630
msgid "comparison of promoted ~unsigned with constant"
msgstr "comparación de un ~unsigned promovido con una constante"
-#: c-typeck.c:2597 cp/typeck.c:3951
+#: c-typeck.c:2559 cp/typeck.c:3638
msgid "comparison of promoted ~unsigned with unsigned"
msgstr "comparación de un ~unsigned promovido con unsigned"
-#: c-typeck.c:2656
+#: c-typeck.c:2639
msgid "pointer of type `void *' used in subtraction"
msgstr "se usó un apuntador de tipo `void *' en la sustracción"
-#: c-typeck.c:2658
+#: c-typeck.c:2641
msgid "pointer to a function used in subtraction"
msgstr "se utilizó un apuntador a una función en la sustracción"
-#: c-typeck.c:2755
+#: c-typeck.c:2738
msgid "wrong type argument to unary plus"
msgstr "argumento de tipo erróneo para el incremento unario"
-#: c-typeck.c:2766
+#: c-typeck.c:2751
msgid "wrong type argument to unary minus"
msgstr "argumento de tipo erróneo para el decremento unario"
-#: c-typeck.c:2778
+#: c-typeck.c:2768
msgid "ISO C does not support `~' for complex conjugation"
msgstr "ISO C no tiene soporte de `~' para conjugaciones complejas"
-#: c-typeck.c:2784
+#: c-typeck.c:2774
msgid "wrong type argument to bit-complement"
msgstr "argumento de tipo erróneo para complemento de bits"
-#: c-typeck.c:2795
+#: c-typeck.c:2783
msgid "wrong type argument to abs"
msgstr "argumento de tipo erróneo para abs"
-#: c-typeck.c:2807
+#: c-typeck.c:2795
msgid "wrong type argument to conjugation"
msgstr "argumento de tipo erróneo para la conjugación"
-#: c-typeck.c:2821
+#: c-typeck.c:2809
msgid "wrong type argument to unary exclamation mark"
msgstr "argumento de tipo erróneo para el signo de exclamación unario"
-#: c-typeck.c:2864
+#: c-typeck.c:2852
msgid "ISO C does not support `++' and `--' on complex types"
msgstr "ISO C no tiene soporte para `++' y `--' en tipos complejos"
-#: c-typeck.c:2879 c-typeck.c:2911
+#: c-typeck.c:2867 c-typeck.c:2899
msgid "wrong type argument to increment"
msgstr "argumento de tipo erróneo para el incremento"
-#: c-typeck.c:2881 c-typeck.c:2913
+#: c-typeck.c:2869 c-typeck.c:2901
msgid "wrong type argument to decrement"
msgstr "argumento de tipo erróneo para el decremento"
-#: c-typeck.c:2902
+#: c-typeck.c:2890
msgid "increment of pointer to unknown structure"
msgstr "incremento de apuntador a estructura desconocida"
-#: c-typeck.c:2904
+#: c-typeck.c:2892
msgid "decrement of pointer to unknown structure"
msgstr "decremento de apuntador a estructura desconocida"
-#: c-typeck.c:3041
+#: c-typeck.c:3029
msgid "ISO C forbids the address of a cast expression"
msgstr "ISO C prohibe la dirección de una expresión cast"
-#: c-typeck.c:3051
+#: c-typeck.c:3039
msgid "invalid lvalue in unary `&'"
msgstr "l-valor inválido en `&' unario"
-#: c-typeck.c:3083
+#: c-typeck.c:3071
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr "se intentó tomar la dirección del miembro de la estructura de campos de bits `%s'"
-#: c-typeck.c:3192 c-typeck.c:4618 c-typeck.c:4634 c-typeck.c:4650 final.c:2981 final.c:2983 gcc.c:4462 rtl-error.c:121 tradcif.y:532 tradcpp.c:4134 config/cris/cris.c:515 cp/typeck.c:4650 java/expr.c:386 java/verify.c:1464 java/verify.c:1465 java/verify.c:1480
+#: c-typeck.c:3180 c-typeck.c:4646 c-typeck.c:4662 c-typeck.c:4678
+#: final.c:3146 final.c:3148 gcc.c:4378 rtl-error.c:122 toplev.c:1694
+#: config/cris/cris.c:545 cp/spew.c:1538 cp/typeck.c:4364 java/expr.c:364
+#: java/verify.c:1467 java/verify.c:1468 java/verify.c:1483
#, c-format
msgid "%s"
msgstr "%s"
-#: c-typeck.c:3253
+#: c-typeck.c:3241
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr "ISO C prohibe el uso de expresiones condicionales como l-valores"
-#: c-typeck.c:3256
+#: c-typeck.c:3244
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr "ISO C prohibe el uso de expresiones compuestas como l-valores"
-#: c-typeck.c:3259
+#: c-typeck.c:3247
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr "ISO C prohibe el uso de expresiones de conversión como l-valores"
-#: c-typeck.c:3276
+#: c-typeck.c:3264
#, c-format
msgid "%s of read-only member `%s'"
msgstr "%s del miembro de sólo lectura `%s'"
-#: c-typeck.c:3280
+#: c-typeck.c:3268
#, c-format
msgid "%s of read-only variable `%s'"
msgstr "%s de la variable de sólo lectura `%s'"
-#: c-typeck.c:3283
+#: c-typeck.c:3271
#, c-format
msgid "%s of read-only location"
msgstr "%s de la ubicación de sólo lectura"
-#: c-typeck.c:3301
+#: c-typeck.c:3290
#, c-format
msgid "cannot take address of bit-field `%s'"
msgstr "no se puede tomar la dirección del campo de bits `%s'"
-#: c-typeck.c:3329
+#: c-typeck.c:3318
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr "se usó la variable de registro global `%s' en funciones anidadas"
-#: c-typeck.c:3333
+#: c-typeck.c:3322
#, c-format
msgid "register variable `%s' used in nested function"
msgstr "se usó la variable de registro `%s' en funciones anidadas"
-#: c-typeck.c:3340
+#: c-typeck.c:3329
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "se solicitó la dirección de la variable de registro global `%s'"
-#: c-typeck.c:3352
+#: c-typeck.c:3341
msgid "cannot put object with volatile field into register"
msgstr "no se puede poner objeto con campo volatile en register"
-#: c-typeck.c:3356
+#: c-typeck.c:3345
#, c-format
msgid "address of register variable `%s' requested"
msgstr "se solicitó la dirección de la variable register `%s'"
-#: c-typeck.c:3464
+#: c-typeck.c:3453
msgid "signed and unsigned type in conditional expression"
msgstr "tipos signed y unsigned en la expresión condicional"
-#: c-typeck.c:3471
+#: c-typeck.c:3460
msgid "ISO C forbids conditional expr with only one void side"
msgstr "ISO C prohibe una expresión condicional con sólo un lado void"
-#: c-typeck.c:3487 c-typeck.c:3494
+#: c-typeck.c:3476 c-typeck.c:3483
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr "ISO C prohibe expresiones condicionales entre `void *' y apuntadores de funciones"
-#: c-typeck.c:3500
+#: c-typeck.c:3489
msgid "pointer type mismatch in conditional expression"
msgstr "los tipos de datos apuntadores no coinciden en la expresión condicional"
-#: c-typeck.c:3507 c-typeck.c:3517
+#: c-typeck.c:3496 c-typeck.c:3506
msgid "pointer/integer type mismatch in conditional expression"
msgstr "los tipos de datos apuntadores/enteros no coinciden en la expresión condicional"
-#: c-typeck.c:3531
+#: c-typeck.c:3520
msgid "type mismatch in conditional expression"
msgstr "los tipos de datos no coinciden en la expresión condicional"
-#: c-typeck.c:3602 cp/typeck.c:4907
+#: c-typeck.c:3591 cp/typeck.c:4620
msgid "left-hand operand of comma expression has no effect"
msgstr "el operador del lado izquierdo de la expresión coma no tiene efecto"
-#: c-typeck.c:3641
+#: c-typeck.c:3635
msgid "cast specifies array type"
msgstr "la conversión especifica el tipo matriz"
-#: c-typeck.c:3647
+#: c-typeck.c:3641
msgid "cast specifies function type"
msgstr "la conversión especifica el tipo función"
-#: c-typeck.c:3657
+#: c-typeck.c:3651
msgid "ISO C forbids casting nonscalar to the same type"
msgstr "ISO C prohibe la conversión de un no escalar al mismo tipo"
-#: c-typeck.c:3676
+#: c-typeck.c:3670
msgid "ISO C forbids casts to union type"
msgstr "ISO C prohibe la conversión al tipo union"
-#: c-typeck.c:3692
+#: c-typeck.c:3685
msgid "cast to union type from type not present in union"
msgstr "conversión a tipo union desde un tipo no presente en union"
-#: c-typeck.c:3743
+#: c-typeck.c:3736
msgid "cast adds new qualifiers to function type"
msgstr "la conversión agrega calificadores nuevos al tipo función"
#. There are qualifiers present in IN_OTYPE that are not
#. present in IN_TYPE.
-#: c-typeck.c:3748
+#: c-typeck.c:3741
msgid "cast discards qualifiers from pointer target type"
msgstr "la conversión descarta los calificadores del tipo del destino del apuntador"
-#: c-typeck.c:3763
+#: c-typeck.c:3756
msgid "cast increases required alignment of target type"
msgstr "la conversión incrementa la alineación requerida del tipo del destino"
-#: c-typeck.c:3769 cp/typeck.c:5337
+#: c-typeck.c:3762 cp/typeck.c:5050
msgid "cast from pointer to integer of different size"
msgstr "conversión de apuntador a entero de tamaño diferente"
-#: c-typeck.c:3774
+#: c-typeck.c:3767
msgid "cast does not match function type"
msgstr "la conversión no coincide con el tipo de la función"
-#: c-typeck.c:3781 cp/typeck.c:5344
+#: c-typeck.c:3774 cp/typeck.c:5057
msgid "cast to pointer from integer of different size"
msgstr "conversión a apuntador desde un entero de tamaño diferente"
+#: c-typeck.c:3786
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr "el castigo de tipo a tipo incompleto puede romper las reglas de alias estricto"
+
+#: c-typeck.c:3790
+msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+msgstr "la dereferencia de apuntadores de tipo castigado romperá las reglas de alias estricto"
+
#. Now we have handled acceptable kinds of LHS that are not truly lvalues.
#. Reject anything strange now.
-#: c-typeck.c:3939
+#: c-typeck.c:3949
msgid "invalid lvalue in assignment"
msgstr "l-valor inválido en la asignación"
#. Convert new value to destination type.
-#: c-typeck.c:3948 c-typeck.c:3973 c-typeck.c:3990 cp/typeck.c:5454 cp/typeck.c:5605
+#: c-typeck.c:3958 c-typeck.c:3983 c-typeck.c:4000 cp/typeck.c:5168
+#: cp/typeck.c:5317
msgid "assignment"
msgstr "asignación"
-#: c-typeck.c:4157 c-typeck.c:4224
+#: c-typeck.c:4070
+msgid "cannot pass rvalue to reference parameter"
+msgstr "no se puede pasar un valor-r a un parámetro de referencia"
+
+#: c-typeck.c:4174 c-typeck.c:4241
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr "%s hace que la función calificada apunte desde una no calificada"
-#: c-typeck.c:4161 c-typeck.c:4204
+#: c-typeck.c:4178 c-typeck.c:4221
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr "%s descarta calificadores del tipo del destino del apuntador"
-#: c-typeck.c:4167
+#: c-typeck.c:4184
msgid "ISO C prohibits argument conversion to union type"
msgstr "ISO C prohibe la conversión de argumentos a tipo union"
-#: c-typeck.c:4196
+#: c-typeck.c:4213
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
msgstr "ISO C prohibe %s entre apuntadores a función y `void *'"
-#: c-typeck.c:4213
+#: c-typeck.c:4230
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr "el apuntador que apunta a %s difiere en signo"
-#: c-typeck.c:4229
+#: c-typeck.c:4246
#, c-format
msgid "%s from incompatible pointer type"
msgstr "%s de tipo de apuntador incompatible"
-#: c-typeck.c:4245
+#: c-typeck.c:4262
#, c-format
msgid "%s makes pointer from integer without a cast"
-msgstr "%s crea un apuntador desde un entero sin una conversión"
+msgstr "%s se crea un apuntador desde un entero sin una conversión"
-#: c-typeck.c:4253
+#: c-typeck.c:4270
#, c-format
msgid "%s makes integer from pointer without a cast"
-msgstr "%s crea un entero desde un apuntador sin una conversión"
+msgstr "%s se crea un entero desde un apuntador sin una conversión"
-#: c-typeck.c:4267 c-typeck.c:4270
+#: c-typeck.c:4284 c-typeck.c:4287
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr "tipo incompatible para el argumento %d de `%s'"
-#: c-typeck.c:4274
+#: c-typeck.c:4291
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr "tipo incompatible para el argumento %d de la llamada indirecta a función"
-#: c-typeck.c:4278
+#: c-typeck.c:4295
#, c-format
msgid "incompatible types in %s"
msgstr "tipos incompatibles en %s"
#. Function name is known; supply it.
-#: c-typeck.c:4333
+#: c-typeck.c:4353
+#, c-format
+msgid "passing arg of `%s'"
+msgstr "al pasar un argumento de `%s'"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4363
+msgid "passing arg of pointer to function"
+msgstr "al pasar un argumento de apuntador a la función"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4371
#, c-format
msgid "passing arg %d of `%s'"
-msgstr "pasando el argumento %d de `%s'"
+msgstr "al pasar el argumento %d de `%s'"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4343
+#: c-typeck.c:4381
#, c-format
msgid "passing arg %d of pointer to function"
-msgstr "pasando el argumento %d del apuntador a la función"
+msgstr "al pasar el argumento %d del apuntador a la función"
-#: c-typeck.c:4410
+#: c-typeck.c:4447
msgid "initializer for static variable is not constant"
-msgstr "el valor inicial asignado para la variable estática no es una constante"
+msgstr "el inicializador para la variable estática no es una constante"
-#: c-typeck.c:4416
+#: c-typeck.c:4453
msgid "initializer for static variable uses complicated arithmetic"
-msgstr "el valor inicial asignado para la variable estática usa aritmética complicada"
+msgstr "el inicializador para la variable estática usa aritmética complicada"
-#: c-typeck.c:4424
+#: c-typeck.c:4461
msgid "aggregate initializer is not constant"
-msgstr "el iniciador agregado no es una constante"
+msgstr "el inicializador agregado no es una constante"
-#: c-typeck.c:4426
+#: c-typeck.c:4463
msgid "aggregate initializer uses complicated arithmetic"
-msgstr "el iniciador agregado usa aritmética complicada"
+msgstr "el inicializador agregado usa aritmética complicada"
-#: c-typeck.c:4433
+#: c-typeck.c:4470
msgid "traditional C rejects automatic aggregate initialization"
-msgstr "C tradicional rechaza la iniciación automática de agregados"
+msgstr "C tradicional rechaza la inicialización automática de agregados"
-#: c-typeck.c:4621 c-typeck.c:4637 c-typeck.c:4653
+#: c-typeck.c:4649 c-typeck.c:4665 c-typeck.c:4681
#, c-format
msgid "(near initialization for `%s')"
-msgstr "(cerca de la asignación de valores iniciales para `%s')"
+msgstr "(cerca de la inicialización de `%s')"
-#: c-typeck.c:4705 cp/typeck2.c:513
+#: c-typeck.c:4732 cp/typeck2.c:487
msgid "char-array initialized from wide string"
-msgstr "matriz de caracteres con valores iniciales asignados de una cadena ancha"
+msgstr "matriz de caracteres inicializada con una cadena ancha"
# no ancha -> angosta? cfuga
-#: c-typeck.c:4712 cp/typeck2.c:520
+#: c-typeck.c:4739 cp/typeck2.c:494
msgid "int-array initialized from non-wide string"
-msgstr "matriz de enteros con valores iniciales asignados de una cadena no ancha"
+msgstr "matriz de enteros inicializada con una cadena no ancha"
-#: c-typeck.c:4730 cp/typeck2.c:536
+#: c-typeck.c:4757 cp/typeck2.c:510
msgid "initializer-string for array of chars is too long"
-msgstr "la cadena de valores iniciales para la matriz de caracteres es demasiado larga"
+msgstr "la cadena del inicializador para la matriz de caracteres es demasiado larga"
-#: c-typeck.c:4768
+#: c-typeck.c:4795
msgid "array initialized from non-constant array expression"
-msgstr "matriz con valores iniciales asignados de una expresión matrizal que no es constante"
+msgstr "matriz inicializada con una expresión matrizal que no es constante"
-#: c-typeck.c:4785 c-typeck.c:4787 c-typeck.c:4803 c-typeck.c:4824 c-typeck.c:6262
+#: c-typeck.c:4812 c-typeck.c:4814 c-typeck.c:4830 c-typeck.c:4851
+#: c-typeck.c:6252
msgid "initializer element is not constant"
-msgstr "el elemento de valor inicial no es constante"
+msgstr "el elemento inicializador no es constante"
-#: c-typeck.c:4819
+#: c-typeck.c:4846
msgid "initialization"
-msgstr "asignación de valores iniciales"
+msgstr "inicialización"
-#: c-typeck.c:4830 c-typeck.c:6267
+#: c-typeck.c:4857 c-typeck.c:6257
msgid "initializer element is not computable at load time"
-msgstr "el elemento de valor inicial no es calculable al momento de la carga"
+msgstr "el elemento inicializador no es calculable al momento de la carga"
-#: c-typeck.c:4867 c-typeck.c:4883 cp/typeck2.c:613
+#: c-typeck.c:4872 cp/typeck2.c:587
msgid "invalid initializer"
-msgstr "valor inicial inválido"
+msgstr "inicializador inválido"
-#: c-typeck.c:5376
+#: c-typeck.c:5366
msgid "extra brace group at end of initializer"
-msgstr "grupo extra de llaves al final de los valores iniciales"
+msgstr "grupo extra de llaves al final del inicializador"
-#: c-typeck.c:5396
+#: c-typeck.c:5386
msgid "missing braces around initializer"
-msgstr "faltan llaves alrededor de los valores iniciales"
+msgstr "faltan llaves alrededor del inicializador"
-#: c-typeck.c:5456
+#: c-typeck.c:5446
msgid "braces around scalar initializer"
-msgstr "llaves alrededor del valor inicial escalar"
+msgstr "llaves alrededor del inicializador escalar"
-#: c-typeck.c:5504
+#: c-typeck.c:5494
msgid "initialization of flexible array member in a nested context"
-msgstr "iniciación de un miembro de matriz flexible en un contexto anidado"
+msgstr "inicialización de un miembro de matriz flexible en un contexto anidado"
-#: c-typeck.c:5506
+#: c-typeck.c:5496
msgid "initialization of a flexible array member"
-msgstr "iniciación de un miembro de matriz flexible"
+msgstr "inicialización de un miembro de matriz flexible"
-#: c-typeck.c:5537
+#: c-typeck.c:5527
msgid "missing initializer"
-msgstr "falta valor inicial"
+msgstr "falta el inicializador"
-#: c-typeck.c:5563
+#: c-typeck.c:5553
msgid "empty scalar initializer"
-msgstr "valor inicial escalar vacío"
+msgstr "inicializador escalar vacío"
-#: c-typeck.c:5568
+#: c-typeck.c:5558
msgid "extra elements in scalar initializer"
-msgstr "elementos extras en valor inicial escalar"
+msgstr "elementos extras en el inicializador escalar"
-#: c-typeck.c:5654
+#: c-typeck.c:5644
msgid "initialization designators may not nest"
-msgstr "no se pueden anidar los designadores de iniciación"
+msgstr "no se pueden anidar los designadores de inicialización"
-#: c-typeck.c:5675 c-typeck.c:5746
+#: c-typeck.c:5665 c-typeck.c:5736
msgid "array index in non-array initializer"
-msgstr "índice de matriz en valor inicial que no es de matriz"
+msgstr "índice de matriz en el inicializador que no es matriz"
-#: c-typeck.c:5680 c-typeck.c:5798
+#: c-typeck.c:5670 c-typeck.c:5788
msgid "field name not in record or union initializer"
-msgstr "el nombre del campo no está en el iniciador de record o union"
+msgstr "el nombre del campo no está en el inicializador de record o union"
-#: c-typeck.c:5742 c-typeck.c:5744
+#: c-typeck.c:5732 c-typeck.c:5734
msgid "nonconstant array index in initializer"
-msgstr "índice de matriz no constante en valor inicial"
+msgstr "índice de matriz no constante en el inicializador"
-#: c-typeck.c:5749
+#: c-typeck.c:5739
msgid "array index in initializer exceeds array bounds"
-msgstr "el índice de matriz en el valor inicial excede los límites de la matriz"
+msgstr "el índice de matriz en el inicializador excede los límites de la matriz"
-#: c-typeck.c:5760
+#: c-typeck.c:5750
msgid "empty index range in initializer"
-msgstr "rango de índices vacío en valor inicial"
+msgstr "rango de índices vacío en el inicializador"
-#: c-typeck.c:5769
+#: c-typeck.c:5759
msgid "array index range in initializer exceeds array bounds"
-msgstr "el rango de índices de la matriz en el valor inicial excede los límites de la matriz"
+msgstr "el rango de índices de la matriz en el inicializador excede los límites de la matriz"
-#: c-typeck.c:5810
+#: c-typeck.c:5800
#, c-format
msgid "unknown field `%s' specified in initializer"
-msgstr "campo `%s' desconocido especificado en el valor inicial"
+msgstr "campo `%s' desconocido especificado en el inicializador"
-#: c-typeck.c:5847 c-typeck.c:5868 c-typeck.c:6330
+#: c-typeck.c:5837 c-typeck.c:5858 c-typeck.c:6319
msgid "initialized field with side-effects overwritten"
-msgstr "campo iniciado con efectos laterales sobreescritos"
+msgstr "campo inicializado con efectos laterales sobreescritos"
-#: c-typeck.c:6540
+#: c-typeck.c:6529
msgid "excess elements in char array initializer"
-msgstr "exceso de elementos en valores iniciales de matriz de caracteres"
+msgstr "exceso de elementos en el inicializador de matriz de caracteres"
-#: c-typeck.c:6547 c-typeck.c:6593
+#: c-typeck.c:6536 c-typeck.c:6582
msgid "excess elements in struct initializer"
-msgstr "exceso de elementos en valores iniciales de struct"
+msgstr "exceso de elementos en el inicializador de struct"
-#: c-typeck.c:6608
+#: c-typeck.c:6597
msgid "non-static initialization of a flexible array member"
-msgstr "iniciación no estática de un miembro de matriz flexible"
+msgstr "inicialización no estática de un miembro de matriz flexible"
-#: c-typeck.c:6670
+#: c-typeck.c:6664
msgid "excess elements in union initializer"
-msgstr "exceso de elementos en valores iniciales de union"
+msgstr "exceso de elementos en el inicializador de union"
-#: c-typeck.c:6691
+#: c-typeck.c:6685
msgid "traditional C rejects initialization of unions"
-msgstr "C tradicional rechaza los valores iniciales de unions"
+msgstr "C tradicional rechaza la inicialización de unions"
-#: c-typeck.c:6754
+#: c-typeck.c:6748
msgid "excess elements in array initializer"
-msgstr "exceso de elementos en valores iniciales de matriz"
+msgstr "exceso de elementos en el inicializador de matriz"
-#: c-typeck.c:6783
+#: c-typeck.c:6777
msgid "excess elements in vector initializer"
-msgstr "exceso de elementos en valor inicial vectorial"
+msgstr "exceso de elementos en el inicializador de vector"
-#: c-typeck.c:6805
+#: c-typeck.c:6799
msgid "excess elements in scalar initializer"
-msgstr "exceso de elementos en valor inicial escalar"
+msgstr "exceso de elementos en el inicializador de escalar"
-#: c-typeck.c:6916
+#: c-typeck.c:6906
msgid "asm template is not a string constant"
msgstr "la plantilla asm no es una cadena constante"
-#: c-typeck.c:6948
+#: c-typeck.c:6938
msgid "invalid lvalue in asm statement"
-msgstr "l-valor inválido en declaración asm"
+msgstr "l-valor inválido en la declaración asm"
-#: c-typeck.c:7019
+#: c-typeck.c:7013
msgid "modification by `asm'"
msgstr "modificación por `asm'"
-#: c-typeck.c:7038 cp/typeck.c:6453
+#: c-typeck.c:7032 cp/typeck.c:6181
msgid "function declared `noreturn' has a `return' statement"
msgstr "la función declarada `noreturn' tiene una declaración `return'"
-#: c-typeck.c:7045
+#: c-typeck.c:7039
msgid "`return' with no value, in function returning non-void"
msgstr "`return' sin valores, en una función que no devuelve void"
-#: c-typeck.c:7051
+#: c-typeck.c:7045
msgid "`return' with a value, in function returning void"
msgstr "`return' con valor, en una función que devuelve void"
-#: c-typeck.c:7055
+#: c-typeck.c:7049
msgid "return"
msgstr "return"
-#: c-typeck.c:7107
+#: c-typeck.c:7101
msgid "function returns address of local variable"
msgstr "la función devuelve la dirección de una variable local"
-#: c-typeck.c:7163 cp/semantics.c:529
+#: c-typeck.c:7157 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "la cantidad de switch no es un entero"
-#: c-typeck.c:7173
+#: c-typeck.c:7167
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr "no se convierte la expresión de switch `long' a `int' en ISO C"
-#: c-typeck.c:7208 cp/decl.c:5232
+#: c-typeck.c:7202 cp/decl.c:5237
msgid "case label not within a switch statement"
msgstr "la etiqueta case no se encuentra dentro de una declaración switch"
-#: c-typeck.c:7210 cp/decl.c:5237
+#: c-typeck.c:7204 cp/decl.c:5242
msgid "`default' label not within a switch statement"
msgstr "la etiqueta `default' no está dentro de una declaración switch"
# ¿Cómo traducir inlining de forma correcta? cfuga
-#: calls.c:1902
+#: calls.c:1927 tree-inline.c:1176
#, c-format
msgid "inlining failed in call to `%s'"
msgstr "el `inlining' falló en la llamada a `%s'"
-#: calls.c:1903 calls.c:2209
+#: calls.c:1928 calls.c:2264 tree-inline.c:1177
msgid "called from here"
msgstr "llamado desde aquí"
-#: calls.c:2208
+#: calls.c:2263
#, c-format
msgid "can't inline call to `%s'"
msgstr "no se pueden hacer la llamada inline a `%s'"
-#: calls.c:2238
+#: calls.c:2293
msgid "function call has aggregate value"
msgstr "la llamada a la función tiene valor agregado"
-#: calls.c:4545
-msgid "variable offset is passed partially in stack and in reg"
-msgstr "se pasa parcialmente el desplazamiento de la variable a la pila y al registro"
+#: cfgloop.c:1106
+#, c-format
+msgid "Size of loop %d should be %d, not %d."
+msgstr "El tamaño del ciclo %d debe ser %d, no %d."
+
+#: cfgloop.c:1125
+#, c-format
+msgid "Bb %d do not belong to loop %d."
+msgstr "Bb %d no pertenece al ciclo %d."
+
+#: cfgloop.c:1143
+#, c-format
+msgid "Loop %d's header does not have exactly 2 entries."
+msgstr "El encabezado del ciclo %d no tiene exactamente 2 entradas."
+
+#: cfgloop.c:1151
+#, c-format
+msgid "Loop %d's latch does not have exactly 1 successor."
+msgstr "El cerrojo del ciclo %d no tiene 1 sucesor exactamente."
+
+#: cfgloop.c:1156
+#, c-format
+msgid "Loop %d's latch does not have header as successor."
+msgstr "El cerrojo del ciclo %d no tiene un encabezado como sucesor."
+
+#: cfgloop.c:1161
+#, c-format
+msgid "Loop %d's latch does not belong directly to it."
+msgstr "El cerrojo del ciclo %d no pertenece directamente a él."
+
+#: cfgloop.c:1167
+#, c-format
+msgid "Loop %d's header does not belong directly to it."
+msgstr "El encabezado del ciclo %d no pertenece directamente a él."
+
+#: cfgrtl.c:1774
+#, c-format
+msgid "bb %d on wrong place"
+msgstr "bb %d en el lugar equivocado"
-#: calls.c:4547
-msgid "variable size is passed partially in stack and in reg"
-msgstr "se pasa parcialemente el tamaño de la variable a la pila y al registro"
+#: cfgrtl.c:1780
+#, c-format
+msgid "prev_bb of %d should be %d, not %d"
+msgstr "el prev_bb de %d debe ser %d, no %d"
-#: cfgrtl.c:1624
+#: cfgrtl.c:1800
#, c-format
msgid "end insn %d for block %d not found in the insn stream"
msgstr "el insn final %d para el bloque %d no se encuentra en el flujo insn"
-#: cfgrtl.c:1638
+#: cfgrtl.c:1814
#, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr "insn %d está en múltiples bloques básicos (%d y %d)"
-#: cfgrtl.c:1650
+#: cfgrtl.c:1826
#, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr "la cabeza insn %d para el bloque %d no se encuentra en el flujo insn"
-#: cfgrtl.c:1669
+#: cfgrtl.c:1848
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr "verify_flow_info: REG_BR_PROB no coincide con la configuración %i %i"
+
+#: cfgrtl.c:1855
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr "verify_flow_info: Cuenta errónea del bloque %i %i"
+
+#: cfgrtl.c:1861
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr "verify_flow_info: Frecuencia errónea del bloque %i %i"
+
+#: cfgrtl.c:1869
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr "verify_flow_info: Borde duplicado %i->%i"
-#: cfgrtl.c:1688
+#: cfgrtl.c:1875
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr "verify_flow_info: Probabilidad errónea del borde %i->%i %i"
+
+#: cfgrtl.c:1881
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr "verify_flow_info: Cuenta errónea del borde %i->%i %i"
+
+#: cfgrtl.c:1911
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr "verify_flow_info: Bloques incorrectos para el respaldo %i->%i"
-#: cfgrtl.c:1703
+#: cfgrtl.c:1926
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr "verify_flow_info: Respaldo incorrecto %i->%i"
-#: cfgrtl.c:1705
+#: cfgrtl.c:1928
msgid "wrong insn in the fallthru edge"
msgstr "insn erróneo en el borde del respaldo"
-#: cfgrtl.c:1712
+#: cfgrtl.c:1935
#, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr "verify_flow_info: El bloque básico %d succ edge está corrupto"
-#: cfgrtl.c:1736
+#: cfgrtl.c:1951
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr "Falta la nota REG_EH_REGION al final de bb %i"
+
+#: cfgrtl.c:1959
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr "Demasiados bordes de ramificación de salida de bb %i"
+
+#: cfgrtl.c:1964
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr "Borde de caída después del salto incondicional %i"
+
+#: cfgrtl.c:1969
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr "Cantidad errónea de bordes de ramificación después del salto incondicional %i"
+
+#: cfgrtl.c:1975
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "Cantidad errónea de bordes de ramificación después del salto condicional %i"
+
+#: cfgrtl.c:1980
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr "Bordes de llamada para una insn que no es llamada en bb %i"
+
+#: cfgrtl.c:1989
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr "Bordes anormales sin ningún propósito en bb %i"
+
+#: cfgrtl.c:2004
#, c-format
msgid "missing barrier after block %i"
msgstr "falta una barrera después del bloque %i"
-#: cfgrtl.c:1746
+#: cfgrtl.c:2014
#, c-format
msgid "basic block %d pred edge is corrupted"
msgstr "el bloque básico %d pred edge está corrupto"
-#: cfgrtl.c:1763
+#: cfgrtl.c:2031
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr "insn %d está dentro del bloque básico %d pero block_for_insn es NULL"
-#: cfgrtl.c:1767
+#: cfgrtl.c:2035
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is %i"
msgstr "insn %d está dentro del bloque básico %d pero block_for_insn es %i"
-#: cfgrtl.c:1781 cfgrtl.c:1791
+#: cfgrtl.c:2049 cfgrtl.c:2059
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr "NOTE_INSN_BASIC_BLOCK falta para el bloque %d"
-#: cfgrtl.c:1804
+#: cfgrtl.c:2072
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr "NOTE_INSN_BASIC_BLOCK %d en el medio del bloque básico %d"
-#: cfgrtl.c:1816
+#: cfgrtl.c:2084
#, c-format
msgid "in basic block %d:"
msgstr "en el bloque básico %d:"
-#: cfgrtl.c:1817
+#: cfgrtl.c:2085
msgid "flow control insn inside a basic block"
msgstr "control de flujo insn dentro de un bloque básico"
-#: cfgrtl.c:1836
+#: cfgrtl.c:2104
#, c-format
msgid "basic block %i edge lists are corrupted"
msgstr "las listas de borde del bloque básico %i están corruptas"
-#: cfgrtl.c:1850
+#: cfgrtl.c:2119
msgid "basic blocks not numbered consecutively"
msgstr "los bloques básicos no están numerados consecutivamente"
-#: cfgrtl.c:1875
+#: cfgrtl.c:2144
msgid "insn outside basic block"
msgstr "insn fuera del bloque básico"
-#: cfgrtl.c:1883
+#: cfgrtl.c:2152
msgid "return not followed by barrier"
msgstr "return no es seguido por una barrera"
-#: cfgrtl.c:1888
+#: cfgrtl.c:2157
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr "el número de notas bb en la cadena insn (%d) != n_basic_blocks (%d)"
-#: cfgrtl.c:1892
+#: cfgrtl.c:2161
msgid "verify_flow_info failed"
msgstr "falló verify_flow_info"
-#: collect2.c:439
+#: collect2.c:425
msgid "internal error"
msgstr "error interno"
-#: collect2.c:940
+#: collect2.c:934
msgid "no arguments"
msgstr "sin argumentos"
-#: collect2.c:1269 collect2.c:1417 collect2.c:1450
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
#, c-format
msgid "fopen %s"
msgstr "fopen %s"
-#: collect2.c:1272 collect2.c:1422 collect2.c:1453
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
msgstr "fclose %s"
-#: collect2.c:1281
+#: collect2.c:1275
#, c-format
msgid "collect2 version %s"
msgstr "collect2 versión %s"
-#: collect2.c:1371
+#: collect2.c:1365
#, c-format
msgid "%d constructor(s) found\n"
msgstr "se encuentra(n) %d constructor(es)\n"
-#: collect2.c:1372
+#: collect2.c:1366
#, c-format
msgid "%d destructor(s) found\n"
msgstr "se encuentra(n) %d destructor(es)\n"
-#: collect2.c:1373
+#: collect2.c:1367
#, c-format
msgid "%d frame table(s) found\n"
msgstr "se encuentra(n) %d marcos de tabla(s)\n"
-#: collect2.c:1514
+#: collect2.c:1508
#, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s terminado con la señal %d [%s]%s"
-#: collect2.c:1533
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
msgstr "%s devolvió el estado de salida %d"
-#: collect2.c:1561
+#: collect2.c:1555
#, c-format
msgid "[cannot find %s]"
msgstr "[no se puede encontrar %s]"
-#: collect2.c:1576
+#: collect2.c:1570
#, c-format
msgid "cannot find `%s'"
msgstr "no se puede encontrar `%s'"
-#: collect2.c:1587 collect2.c:1590
+#: collect2.c:1581 collect2.c:1584
#, c-format
msgid "redirecting stdout: %s"
msgstr "redirigiendo salida estándard: %s"
-#: collect2.c:1633
+#: collect2.c:1627
#, c-format
msgid "[Leaving %s]\n"
msgstr "[Dejando %s]\n"
-#: collect2.c:1876
+#: collect2.c:1870
#, c-format
msgid ""
"\n"
@@ -3492,90 +3784,86 @@ msgstr ""
"\n"
"write_c_file - el nombre de salida es %s, el prefijo es %s\n"
-#: collect2.c:2089
+#: collect2.c:2083
msgid "cannot find `nm'"
msgstr "no se puede encontrar `nm'"
-#: collect2.c:2099 collect2.c:2541
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
msgstr "pipe"
-#: collect2.c:2103 collect2.c:2545
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
msgstr "fdopen"
-#: collect2.c:2129 collect2.c:2571
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
msgstr "dup2 %d 1"
-#: 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 "close %d"
-#: collect2.c:2138
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr "execvp %s"
+msgid "execv %s"
+msgstr "execv %s"
-#: collect2.c:2192
+#: collect2.c:2186
#, c-format
msgid "init function found in object %s"
msgstr "se encontró la función init en el objeto %s"
-#: collect2.c:2200
+#: collect2.c:2194
#, c-format
msgid "fini function found in object %s"
msgstr "se encontró la función fini en el objeto %s"
-#: collect2.c:2223 collect2.c:2629
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
msgstr "fclose"
-#: collect2.c:2268
+#: collect2.c:2262
#, c-format
msgid "unable to open file '%s'"
msgstr "no se puede abrir el fichero '%s'"
-#: collect2.c:2270
+#: collect2.c:2264
#, c-format
msgid "unable to stat file '%s'"
msgstr "no se puede evaluar el fichero '%s'"
-#: collect2.c:2276
+#: collect2.c:2270
#, c-format
msgid "unable to mmap file '%s'"
msgstr "no se puede hacer mmap al fichero '%s'"
-#: collect2.c:2429
+#: collect2.c:2423
msgid "not found\n"
msgstr "no se encuentra\n"
-#: collect2.c:2431 collect2.c:2608
+#: collect2.c:2425 collect2.c:2602
#, c-format
msgid "dynamic dependency %s not found"
msgstr "no se encuentra la dependencia dinámica %s"
-#: collect2.c:2451
+#: collect2.c:2445
#, c-format
msgid "bad magic number in file '%s'"
msgstr "número mágico erróneo en el fichero '%s'"
-#: collect2.c:2473
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
msgstr "dependencias dinámicas.\n"
-#: collect2.c:2532
+#: collect2.c:2526
msgid "cannot find `ldd'"
msgstr "no se encuentra `ldd'"
-#: collect2.c:2580
-#, c-format
-msgid "execv %s"
-msgstr "execv %s"
-
-#: collect2.c:2593
+#: collect2.c:2587
msgid ""
"\n"
"ldd output with constructors/destructors.\n"
@@ -3583,36 +3871,36 @@ msgstr ""
"\n"
"salida de ldd con constructores/destructores.\n"
-#: collect2.c:2620
+#: collect2.c:2614
#, c-format
msgid "unable to open dynamic dependency '%s'"
msgstr "no se puede abrir la dependencia dinámica '%s'"
-#: collect2.c:2734
+#: collect2.c:2728
#, c-format
msgid "%s: not a COFF file"
msgstr "%s: no es un fichero COFF"
-#: collect2.c:2853
+#: collect2.c:2847
#, c-format
msgid "%s: cannot open as COFF file"
msgstr "%s: no se puede abrir como un fichero COFF"
-#: collect2.c:2909
+#: collect2.c:2903
#, c-format
msgid "library lib%s not found"
msgstr "no se encuentra la biblioteca lib%s"
-#: collect2.c:3038
+#: collect2.c:3030
#, c-format
msgid "open %s"
msgstr "abrir %s"
-#: collect2.c:3061
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
msgstr "incompatibilidades entre el fichero objeto y los valores esperados"
-#: collect2.c:3134
+#: collect2.c:3126
#, c-format
msgid ""
"\n"
@@ -3621,23 +3909,23 @@ msgstr ""
"\n"
"Procesando la tabla de símbolos #%d, desfase = 0x%.8lx, tipo = %s\n"
-#: collect2.c:3143
+#: collect2.c:3135
msgid "string section missing"
msgstr "falta la sección de cadenas"
-#: collect2.c:3146
+#: collect2.c:3138
msgid "section pointer missing"
msgstr "falta la sección de apuntadores"
-#: collect2.c:3194
+#: collect2.c:3186
msgid "no symbol table found"
msgstr "no se encuentra la tabla de símbolos"
-#: collect2.c:3207
+#: collect2.c:3199
msgid "no cmd_strings found"
msgstr "no se encuentran cmd_strings"
-#: collect2.c:3219
+#: collect2.c:3211
msgid ""
"\n"
"Updating header and load commands.\n"
@@ -3647,12 +3935,12 @@ msgstr ""
"Actualizando las órdenes de encabezado y carga.\n"
"\n"
-#: collect2.c:3226
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
msgstr "cargar mapa de órdenes, %d órdenes, nuevo tamaño %ld.\n"
-#: collect2.c:3257
+#: collect2.c:3249
msgid ""
"writing load commands.\n"
"\n"
@@ -3660,90 +3948,90 @@ msgstr ""
"escribiendo las órdenes de carga.\n"
"\n"
-#: collect2.c:3277
+#: collect2.c:3269
#, c-format
msgid "close %s"
msgstr "cerrar %s"
-#: collect2.c:3351
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
msgstr "no se puede convertir 0x%l.8x en una región"
-#: collect2.c:3355
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
msgstr "función %s, región %d, desfase = %ld (0x%.8lx)\n"
-#: collect2.c:3482
+#: collect2.c:3474
msgid "bad magic number"
msgstr "número mágico erróneo"
-#: collect2.c:3483
+#: collect2.c:3475
msgid "bad header version"
msgstr "versión de encabezado errónea"
-#: collect2.c:3484
+#: collect2.c:3476
msgid "bad raw header version"
msgstr "versión de encabezado textual errónea"
-#: collect2.c:3485
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr "almacenamiento temporal de encabezado textual demasiado pequeño"
-#: collect2.c:3486
+#: collect2.c:3478
msgid "old raw header file"
msgstr "fichero de encabezado textual antiguo"
-#: collect2.c:3487
+#: collect2.c:3479
msgid "unsupported version"
msgstr "versión sin soporte"
-#: collect2.c:3489
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr "valor de devolución {de,en}code_mach_o_hdr %d desconocido"
-#: collect2.c:3509
+#: collect2.c:3501
#, c-format
msgid "fstat %s"
msgstr "fstat %s"
-#: collect2.c:3546 collect2.c:3594
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
msgstr "lseek %s 0"
-#: collect2.c:3550
+#: collect2.c:3542
#, c-format
msgid "read %s"
msgstr "read %s"
-#: collect2.c:3553
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr "%ld bytes leídos, se esperaban %ld, de %s"
-#: collect2.c:3574
+#: collect2.c:3566
#, c-format
msgid "msync %s"
msgstr "msync %s"
-#: collect2.c:3581
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
msgstr "munmap %s"
-#: collect2.c:3598
+#: collect2.c:3590
#, c-format
msgid "write %s"
msgstr "write %s"
-#: collect2.c:3601
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr "%ld bytes escritos, se esperaban %ld, a %s"
-#: combine.c:12769
+#: combine.c:13185
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
@@ -3754,7 +4042,7 @@ msgstr ""
";; %d éxitos.\n"
"\n"
-#: combine.c:12779
+#: combine.c:13195
#, c-format
msgid ""
"\n"
@@ -3765,1096 +4053,908 @@ msgstr ""
";; Totales del combinador: %d intentos, %d sustituciones (%d requirieron espacio nuevo),\n"
";; %d éxitos.\n"
-#: convert.c:67
+#: convert.c:69
msgid "cannot convert to a pointer type"
msgstr "no se puede convertir a un tipo apuntador"
-#: convert.c:100
+#: convert.c:102
msgid "pointer value used where a floating point value was expected"
msgstr "se usó un valor de apuntador donde se esperaba un valor de coma flotante"
-#: convert.c:104
+#: convert.c:106
msgid "aggregate value used where a float was expected"
msgstr "se usó un valor agregado donde se esperaba un float"
-#: convert.c:130
+#: convert.c:132
msgid "conversion to incomplete type"
msgstr "conversión a tipo de dato incompleto"
-#: convert.c:390 convert.c:470
+#: convert.c:414 convert.c:494
msgid "can't convert between vector values of different size"
msgstr "no se puede convertir entre valores vectoriales de tamaños diferentes"
-#: convert.c:396
+#: convert.c:420
msgid "aggregate value used where an integer was expected"
msgstr "se usó un valor agregado donde se esperaba un entero"
-#: convert.c:448 f/com.c:1073
+#: convert.c:472 f/com.c:1100
msgid "pointer value used where a complex was expected"
msgstr "se usó un valor de apuntador donde se esperaba un complejo"
-#: convert.c:452 f/com.c:1075
+#: convert.c:476 f/com.c:1102
msgid "aggregate value used where a complex was expected"
msgstr "se usó un valor agregado donde se esperaba un complejo"
-#: convert.c:476
+#: convert.c:500
msgid "can't convert value to a vector"
msgstr "no se puede convertir el valor a un vector"
-#: cpperror.c:125
+#: cpperror.c:113
+msgid "warning: "
+msgstr "aviso: "
+
+#: cpperror.c:115
msgid "internal error: "
msgstr "error interno: "
-#: cpperror.c:132 tradcpp.c:4690
-msgid "warning: "
-msgstr "aviso: "
+#: cpperror.c:189
+msgid "stdout"
+msgstr "salida estándard"
-#: cpperror.c:209 cpperror.c:299 cppfiles.c:691 gcc.c:6307 tradcpp.c:4728
+#: cpperror.c:191 gcc.c:6425
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: cppexp.c:154
-msgid "floating point numbers are not valid in #if"
-msgstr "los números de coma flotante no son válidos en #if"
+#: cppexp.c:199
+msgid "too many decimal points in number"
+msgstr "demasiados puntos decimales en el número"
-#: cppexp.c:176
-msgid "traditional C rejects the `U' suffix"
-msgstr "C tradicional rechaza el sufijo `U'"
+#: cppexp.c:219
+#, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "dígito \"%c\" inválido en la constante octal"
-#: cppexp.c:179
-msgid "too many 'l' suffixes in integer constant"
-msgstr "demasiados sufijos 'l' en constante entera"
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
+msgstr "uso de una constante de coma flotante hexadecimal C99"
-#: cppexp.c:183
-msgid "integer constant contains digits beyond the radix"
-msgstr "la constante entera contiene dígitos más allá del radical"
+#: cppexp.c:234
+msgid "exponent has no digits"
+msgstr "el exponente no tiene dígitos"
-#: cppexp.c:186
-msgid "integer constant out of range"
-msgstr "constante entera fuera de rango"
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
+msgstr "las constantes de coma flotante hexadecimal requieren un exponente"
-#: cppexp.c:192
-msgid "integer constant is so large that it is unsigned"
-msgstr "la constante entera es tan grande que es unsigned"
+#: cppexp.c:247
+#, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "sufijo \"%.*s\" inválido en la constante de coma flotante"
-#: cppexp.c:201
+#: cppexp.c:257 cppexp.c:282
#, c-format
-msgid "invalid suffix '%.*s' on integer constant"
-msgstr "sufijo '%.*s' inválido en constante entera"
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "C tradicional rechaza el sufijo \"%.*s\""
-#: cppexp.c:234
+#: cppexp.c:268
+#, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "sufijo \"%.*s\" inválido en la constante entera"
+
+#: cppexp.c:289
+msgid "use of C99 long long integer constant"
+msgstr "uso de una constante entera long long C99"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
+msgstr "las constantes imaginarias son una extensión GCC"
+
+#: cppexp.c:383
+msgid "integer constant is too large for its type"
+msgstr "la constante entera es demasiado grande para su tipo"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
+msgstr "la constante entera es tan grande que es unsigned"
+
+#: cppexp.c:482
msgid "missing ')' after \"defined\""
msgstr "falta `)' después de \"defined\""
-#: cppexp.c:240
+#: cppexp.c:489
msgid "operator \"defined\" requires an identifier"
msgstr "el operador \"defined\" requiere un identificador"
-#: cppexp.c:248
+#: cppexp.c:497
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" es un elemento alternativo para \"%s\" en C++)"
-#: cppexp.c:259
+#: cppexp.c:507
msgid "this use of \"defined\" may not be portable"
msgstr "este uso de \"defined\" puede no ser transportable"
-#: cppexp.c:307
-msgid "string constants are not valid in #if"
-msgstr "las constantes de cadena no son válidas en #if"
-
-#: cppexp.c:311
-#, c-format
-msgid "invalid character '%c' in #if"
-msgstr "Carácter inválido '%c' en #if"
+#: cppexp.c:545
+msgid "floating constant in preprocessor expression"
+msgstr "constante de coma flotante en una expresión del preprocesador"
-#: cppexp.c:313
-#, c-format
-msgid "invalid character '\\%03o' in #if"
-msgstr "Carácter inválido '\\%03o' en #if"
+#: cppexp.c:551
+msgid "imaginary number in preprocessor expression"
+msgstr "número imaginario en una expresión del preprocesador"
-#: cppexp.c:330
+#: cppexp.c:596
#, c-format
msgid "ISO C++ does not permit \"%s\" in #if"
msgstr "ISO C++ no permite \"%s\" en #if"
-#: cppexp.c:341
+#: cppexp.c:604
#, c-format
msgid "\"%s\" is not defined"
msgstr "\"%s\" no está definido"
-#: cppexp.c:367
+#: cppexp.c:737 cppexp.c:772
#, c-format
-msgid "\"%s\" is not valid in #if expressions"
-msgstr "\"%s\" no es válido en las expresiones #if"
+msgid "missing binary operator before token \"%s\""
+msgstr "falta un operador binario antes del elemento \"%s\""
-#: cppexp.c:382
-msgid "integer overflow in preprocessor expression"
-msgstr "desbordamiento entero en expresión del preprocesador"
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
+msgstr "Carácter inválido '%c' en #if"
-#: cppexp.c:612
-msgid "missing binary operator"
-msgstr "falta un operador binario"
+#: cppexp.c:758
+#, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "Carácter inválido '\\%03o' en #if"
+
+#: cppexp.c:763
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "el elemento \"%s\" no es válido en las expresiones del preprocesador"
-#: cppexp.c:647
+#: cppexp.c:782
msgid "void expression between '(' and ')'"
msgstr "expresión void entre '(' y ')'"
-#: cppexp.c:649
+#: cppexp.c:785
+msgid "#if with no expression"
+msgstr "#if sin expresión"
+
+#: cppexp.c:787
#, c-format
msgid "operator '%s' has no right operand"
msgstr "el operador '%s' no tiene operando derecho"
-#: cppexp.c:661
-#, c-format
-msgid "impossible operator '%s'"
-msgstr "operador '%s' imposible"
-
-#: cppexp.c:737 tradcif.y:111 tradcif.y:122
-msgid "division by zero in #if"
-msgstr "división por cero en #if"
-
-#: cppexp.c:771
-msgid "comma operator in operand of #if"
-msgstr "operador coma en operando de #if"
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr " ':' sin una '?' precedente"
-#: cppexp.c:776
-msgid "syntax error '?' without following ':'"
-msgstr "error sintáctico '?' sin ':' a continuación"
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
+msgstr "pila desbalanceada en #if"
-#: cppexp.c:779
-msgid "syntax error ':' without preceding '?'"
-msgstr "error sintáctico ':' sin una '?' precedente"
+#: cppexp.c:862
+#, c-format
+msgid "impossible operator '%u'"
+msgstr "operador '%u' imposible"
-#: cppexp.c:787
+#: cppexp.c:954
msgid "missing ')' in expression"
msgstr "falta un ')' en la expresión"
-#: cppexp.c:794
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr "'?' sin ':' a continuación"
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr "desbordamiento entero en expresión del preprocesador"
+
+#: cppexp.c:990
msgid "missing '(' in expression"
msgstr "falta un '(' en la expresión"
-#: cppexp.c:820
+#: cppexp.c:1026
#, c-format
-msgid "missing binary operator before '%s'"
-msgstr "falta un operador binario antes de `%s'"
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr "el operando izquierdo de \"%s\" cambia el signo cuando es promovido"
-#: cppexp.c:826
+#: cppexp.c:1031
#, c-format
-msgid "operator '%s' has no left operand"
-msgstr "el operador `%s' no tiene operando izquierdo"
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr "el operando derecho de \"%s\" cambia el signo cuando es promovido"
-#: cppexp.c:864
-msgid "unbalanced stack in #if"
-msgstr "pila desbalanceada en #if"
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr "operador coma en operando de #if"
-#: cppexp.c:867
-msgid "#if with no expression"
-msgstr "#if sin expresión"
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr "división por cero en #if"
-#: cppfiles.c:395
+#: cppfiles.c:411
#, c-format
msgid "%s is too large"
msgstr "%s es demasiado grande"
-#: cppfiles.c:426
+#: cppfiles.c:447
#, c-format
msgid "%s is shorter than expected"
msgstr "%s es más corto de lo esperado"
-#: cppfiles.c:440
+#: cppfiles.c:461
#, c-format
msgid "%s is a block device"
msgstr "%s es un dispositivo de bloques"
-#: cppfiles.c:566
+#: cppfiles.c:594
#, c-format
msgid "no include path in which to find %s"
msgstr "no hay ruta de inclusión en la cual se encuentre %s"
-#: cppfiles.c:639
+#: cppfiles.c:668
msgid "Multiple include guards may be useful for:\n"
msgstr "Guardias múltiples de include pueden ser útiles para:\n"
-#: cppfiles.c:1029
+#: cppfiles.c:1014
msgid "absolute file name in remap_filename"
msgstr "nombre de fichero absoluto en remap_filename"
-#: cppinit.c:230
+#: cppinit.c:224
#, c-format
msgid "ignoring nonexistent directory \"%s\"\n"
msgstr "ignorando el directorio inexistente \"%s\"\n"
-#: cppinit.c:237
+#: cppinit.c:231
#, c-format
msgid "%s: Not a directory"
msgstr "%s: No es un directorio"
-#: cppinit.c:284
+#: cppinit.c:287
#, c-format
msgid "ignoring duplicate directory \"%s\"\n"
msgstr "ignorando el directorio duplicado \"%s\"\n"
-#: cppinit.c:312
-#, c-format
-msgid "changing search order for system directory \"%s\""
-msgstr "cambiando el orden de búsqueda para el directorio del sistema \"%s\""
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
+msgstr " porque es un directorio que no es del sistema que duplica un directorio del sistema\n"
-#: cppinit.c:316
+#: cppinit.c:891
+msgid "cppchar_t must be an unsigned type"
+msgstr "cppchar_t debe ser de un tipo unsigned"
+
+#: cppinit.c:895
#, c-format
-msgid " as it is the same as non-system directory \"%s\""
-msgstr " porque es el mismo que el directorio que no es del sistema \"%s\""
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr "la aritmética del preprocesador tiene una precisión máxima de %lu bits; el objetivo requiere de %lu bits"
+
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo"
+
+#: cppinit.c:904
+msgid "target char is less than 8 bits wide"
+msgstr "el char del objetivo tiene menos de 8 bits de ancho"
+
+#: cppinit.c:908
+msgid "target wchar_t is narrower than target char"
+msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo"
-#: cppinit.c:320
-msgid " as it has already been specified as a non-system directory"
-msgstr " porque ya ha sido especificado cmo un directorio que no es del sistema"
+#: cppinit.c:912
+msgid "target int is narrower than target char"
+msgstr "el int del objetivo es más estrecho que el char del objetivo"
-#: cppinit.c:936
+#: cppinit.c:916
+msgid "CPP half-integer narrower than CPP character"
+msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP"
+
+#: 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 "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits"
+
+#: cppinit.c:972
msgid "#include \"...\" search starts here:\n"
msgstr "la búsqueda de #include \"...\" inicia aquí:\n"
-#: cppinit.c:940
+#: cppinit.c:976
msgid "#include <...> search starts here:\n"
msgstr "la búsqueda de #include <...> inicia aquí:\n"
-#: cppinit.c:943
+#: cppinit.c:979
msgid "End of search list.\n"
msgstr "Fin de la lista de búsqueda.\n"
-#: cppinit.c:1010
+#: cppinit.c:1057
msgid "<built-in>"
msgstr "<interno>"
-#: cppinit.c:1012
+#: cppinit.c:1059
msgid "<command line>"
msgstr "<línea de orden>"
-#: cppinit.c:1108 tradcpp.c:979 tradcpp.c:989 tradcpp.c:1080
-msgid "I/O error on output"
-msgstr "error de E/S en la salida"
-
#. 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:1156
-#, c-format
-msgid "argument missing after %s"
-msgstr "falta un argumento después de %s"
-
-#: cppinit.c:1157
+#: cppinit.c:1164
#, c-format
msgid "assertion missing after %s"
msgstr "falta una aserción después de %s"
-#: cppinit.c:1158
+#: cppinit.c:1165
#, c-format
msgid "directory name missing after %s"
msgstr "falta el nombre de directorio después de %s"
-#: cppinit.c:1159
+#: cppinit.c:1166
#, c-format
msgid "file name missing after %s"
msgstr "falta el nombre de fichero después de %s"
-#: cppinit.c:1160
+#: cppinit.c:1167
#, c-format
msgid "macro name missing after %s"
msgstr "falta el nombre de macro después de %s"
-#: cppinit.c:1161
+#: cppinit.c:1168
#, c-format
msgid "path name missing after %s"
msgstr "falta el nombre de la ruta después de %s"
-#: cppinit.c:1162
-#, c-format
-msgid "number missing after %s"
-msgstr "falta el número después de %s"
-
-#: cppinit.c:1163
-#, c-format
-msgid "target missing after %s"
-msgstr "falta el objetivo después de %s"
-
-#: cppinit.c:1351
-#, c-format
-msgid "too many filenames. Type %s --help for usage info"
-msgstr "demasiados nombres de ficheros. Teclee %s --help para información de modo de empleo"
-
-#: cppinit.c:1541 tradcpp.c:610
-msgid "output filename specified twice"
-msgstr "se especificó dos veces el nombre del fichero de salida"
-
-#: cppinit.c:1653
+#: cppinit.c:1353
msgid "-I- specified twice"
msgstr "se especificó -I- dos veces"
-#: cppinit.c:1794
-#, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP versión %s (cpplib)"
-
-#: cppinit.c:1835 tradcpp.c:803
-msgid "you must additionally specify either -M or -MM"
-msgstr "debe especificar adicionalmente -M o -MM"
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1896
-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 ""
-"Interruptores:\n"
-" -include <fichero> Incluye el contenido del <fichero> antes de otros ficheros\n"
-" -imacros <fichero> Aceptar definiciones de macros en el <fichero>\n"
-" -iprefix <ruta> Especificar la <ruta> como un prefijo para las siguientes dos opciones\n"
-" -iwithprefix <dir> Agregar el <dir>ectorio al final de la ruta de inclusión del sistema\n"
-" -iwithprefixbefore <dir> Agregar el <dir>ectorio al final de la ruta de inclusión principal\n"
-" -isystem <dir> Agregar el <dir>ectorio al inicio de la ruta de inclusión del sistema\n"
-
-#: cppinit.c:1905
-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 ""
-" -idirafter <dir> Agregar el <dir>ectorio al final de la ruta de inclusión del sistema\n"
-" -I <dir> Agregar el <dir>ectorio al final de la ruta de inclusión principal\n"
-" -I- Control granula de la ruta de inclusión; vea los documentos info\n"
-" -nostdinc No buscar en los directorios de inclusión del sistema\n"
-" (aún se usarán los directorios especificados con -isystem)\n"
-" -nostdinc++ No buscar en los directorios de inclusión del sistema para C++\n"
-" -o <fichero> Poner la salida en el <fichero>\n"
-
-#: cppinit.c:1914
-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 ""
-" -pedantic Habilita todos los avisos demandados por ISO C estricto\n"
-" -pedantic-errors Habilita los avisos -pedantic como errores\n"
-" -trigraphs Soporte para trigrafos de ISO C\n"
-" -lang-c Asumir que las fuentes de entrada están en C\n"
-" -lang-c89 Asumir que las fuentes de entrada están en C89\n"
-
-#: cppinit.c:1921
-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 ""
-" -lang-c++ Asumir que las fuentes de entrada están en C++\n"
-" -lang-objc Asumir que las fuentes de entrada están en ObjectiveC\n"
-" -lang-objc++ Asumir que las fuentes de entrada están en ObjectiveC++\n"
-" -lang-asm Asumir que las fuentes de entrada están en ensamblador\n"
-
-#: cppinit.c:1927
-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 ""
-" -std=<nombre std> Especificar la concordancia estándard; una de:\n"
-" gnu89, gnu99, c89, c99, iso9899:1990,\n"
-" iso9899:199409, iso9899:1999\n"
-" -+ Permite el análisis de las características de estilo C++\n"
-" -w Inhibir los mensajes de aviso\n"
-" -Wtrigraphs Avisar si se encuentran trigrafos\n"
-" -Wno-trigraphs No avisar si se encuentran trigrafos\n"
-" -Wcomment{s} Avisar si un comentario inicia dentro de otro\n"
-
-#: cppinit.c:1937
-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 ""
-" -Wno-comment{s} No avisar si se encuentran comentarios\n"
-" -Wtraditional Avisar sobre características no presentes en C tradicional\n"
-" -Wno-traditional No avisar sobre C tradicional\n"
-" -Wundef Avisar si una macro sin definir es usada por #if\n"
-" -Wno-undef No avisar sobre pruebas con macros sin definir\n"
-" -Wimport Avisar sobre el uso de la directiva #import\n"
-
-#: cppinit.c:1945
-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 ""
-" -Wno-import No avisar sobre el uso de #import\n"
-" -Werror Tratar todos los avisos como errores\n"
-" -Wno-error No tratar los avisos como errores\n"
-" -Wsystem-headers No suprimir los avisos de los encabezados del sistema\n"
-" -Wno-system-headers Suprimir avisos de los encabezados del sistema\n"
-" -Wall Activar todas los avisos del preprocesador\n"
-
-#: cppinit.c:1953
-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 ""
-" -M Genera dependencias para make\n"
-" -MM Como -M, pero ignora los ficheros de encabezado del sistema\n"
-" -MD Genera dependencias para make y compila\n"
-" -MMD Como -MD, pero ignora los ficheros de encabezado del sistema\n"
-" -MF <fichero> Escribe la salida de la dependencia en el fichero dado\n"
-" -MG Trata los ficheros de encabezado faltantes como ficheros generados\n"
-
-# ¿Estoy usando la traducción correcta de 'quoted'? cfuga
-#: cppinit.c:1961
-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 ""
-" -MP\t\t\t Generar objetivos falsos para todos los encabezados\n"
-" -MQ <objetivo> Agregar un objetivo entrecomillado para MAKE\n"
-" -MT <objetivo> Agregar un objetivo sin comillas\n"
-
-#: cppinit.c:1966
-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 ""
-" -D<macro> Define una <macro> con la cadena '1' como su valor\n"
-" -D<macro>=<valor> Define una <macro> con <valor> como su valor\n"
-" -A<pregunta>=<resp> Define la <resp>uesta para la <pregunta>\n"
-" -A-<pregunta>=<resp> Desactiva la <resp>uesta a la <pregunta>\n"
-" -U<macro> Borra la definición de <macro> \n"
-" -v Muestra el número de la versión\n"
-
-#: cppinit.c:1974
-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 ""
-" -H Muestra el nombre de los ficheros de encabezado cada vez que se usan\n"
-" -C No descarta los comentarios\n"
-" -dM Muestra una lista de definiciones de macro activas al final\n"
-" -dD Preserva las definiciones de macro en la salida\n"
-" -dN Como -dD excepto que sólo se preservan los nombres\n"
-" -dI Incluye directivas #include en la salida\n"
-
-#: cppinit.c:1982
-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 ""
-" -fpreprocessed Trata el fichero de salida como si ya fuera preprocesado\n"
-" -ftabstop=<número> Distancia entre los topes de tabulador para el reporte en columnas\n"
-" -P No generar directivas #line\n"
-" -$ No permitir '$' en los identificadores\n"
-" -remap Remapear los nombres de fichero cuando se incluyan ficheros\n"
-" --version Muestra la información de la versión\n"
-" -h ó --help Muestra esta información\n"
-
-#: cpplex.c:154
+#: cpplex.c:149
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigrafo ??%c convertido a %c"
-#: cpplex.c:162
+#: cpplex.c:157
#, c-format
msgid "trigraph ??%c ignored"
msgstr "se ignora el trigrafo ??%c"
-#: cpplex.c:218
+#: cpplex.c:214
msgid "backslash and newline separated by space"
msgstr "caracteres de barra invertida y fin de línea separados por espacio"
-#: cpplex.c:224
+#: cpplex.c:221 cpptrad.c:158
msgid "backslash-newline at end of file"
msgstr "no hay caractér de barra invertida o fin de línea al final del fichero"
-#: cpplex.c:290
+#: cpplex.c:287 cpptrad.c:199
msgid "\"/*\" within comment"
msgstr "\"/*\" dentro de un comentario"
-#: cpplex.c:373
+#: cpplex.c:395
msgid "null character(s) ignored"
msgstr "caracter(es) nulo(s) ignorados"
-#: cpplex.c:380
+#: cpplex.c:402
#, c-format
msgid "%s in preprocessing directive"
-msgstr "%s en directiva de preprocesamiento"
+msgstr "%s en la directiva de preprocesamiento"
-#: cpplex.c:447
+#: cpplex.c:475
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "intento de usar \"%s\" envenenado"
-#: cpplex.c:455
+#: cpplex.c:483
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro variadic C99"
-#: cpplex.c:508
-msgid "'$' character(s) in identifier"
-msgstr "caracter(es) '$' en un identificador"
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
+msgstr "caracter(es) '$' en el identificador o número"
-#: cpplex.c:589
+#: cpplex.c:698
#, c-format
msgid "missing terminating %c character"
msgstr "falta carácter terminando %c"
-#: cpplex.c:594
-msgid "possible start of unterminated string literal"
-msgstr "posible inicio de la cadena literal sin terminar"
-
-#: cpplex.c:689
-msgid "multi-line string literals are deprecated"
-msgstr "las literales de cadena en múltiples líneas están deprecadas"
-
-#: cpplex.c:712
+#: cpplex.c:711
msgid "null character(s) preserved in literal"
msgstr "caracter(es) nulo(s) preservados en la literal"
-#: cpplex.c:914
+#: cpplex.c:915 cpptrad.c:487
msgid "no newline at end of file"
msgstr "no hay caractér de fin de línea al final del fichero"
-#: cpplex.c:1034 tradcpp.c:1467
+#: cpplex.c:1092 cpptrad.c:213
msgid "unterminated comment"
msgstr "comentario sin terminar"
-#: cpplex.c:1045
-msgid "C++ style comments are not allowed in ISO C89"
-msgstr "los comentarios de estilo C++ no son permitidos en ISO C89"
+#: cpplex.c:1103
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr "los comentarios de estilo C++ no se permiten en ISO C90"
-#: cpplex.c:1047
+#: cpplex.c:1105
msgid "(this will be reported only once per input file)"
msgstr "(esto se reportará solamente una vez por cada fichero de entrada)"
-#: cpplex.c:1052
+#: cpplex.c:1110
msgid "multi-line comment"
msgstr "comentario en múltiples líneas"
-#: cpplex.c:1367
+#: cpplex.c:1425
#, c-format
msgid "unknown string token %s\n"
msgstr "cadena de elemento %s desconocida\n"
-#: cpplex.c:1379
+#: cpplex.c:1438
#, c-format
msgid "unspellable token %s"
msgstr "elemento %s impronunciable"
-#: cpplex.c:1635
+#: cpplex.c:1695
#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
-msgstr "el significado de `\\%c' varía con -traditional"
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr "el significado de '\\%c' es diferente en C tradicional"
-#: cpplex.c:1641
+#: cpplex.c:1701
msgid "incomplete universal-character-name"
msgstr "universal-character-name incompleto"
-#: cpplex.c:1655
+#: cpplex.c:1715
#, c-format
msgid "non-hex digit '%c' in universal-character-name"
msgstr "dígito no hexadecimal '%c' en universal-character-name"
-#: cpplex.c:1663
+#: cpplex.c:1723
msgid "universal-character-name on EBCDIC target"
msgstr "universal-character-name en el objetivo EBCDIC"
-#: cpplex.c:1677
+#: cpplex.c:1737
msgid "universal-character-name out of range"
msgstr "universal-character-name fuera de rango"
-#: cpplex.c:1722
-msgid "the meaning of '\\a' varies with -traditional"
-msgstr "el significado de `\\a' varía con -traditional"
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr "el significado de '\\a' es diferente en C tradicional"
-#: cpplex.c:1729
+#: cpplex.c:1798
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "secuencia de escape que no es estándard ISO, '\\%c'"
-#: cpplex.c:1739
-msgid "the meaning of '\\x' varies with -traditional"
-msgstr "el significado de '\\x' varía con -traditional"
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "el significado de '\\x' es diferente en C tradicional"
-#: cpplex.c:1758 f/lex.c:620
+#: cpplex.c:1828 f/lex.c:585
msgid "\\x used with no following hex digits"
msgstr "se usó \\x sin dígitos hexadecimales a continuación"
-#: cpplex.c:1762
+#: cpplex.c:1833
msgid "hex escape sequence out of range"
msgstr "secuencia de escape hexadecimal fuera de rango"
-#: cpplex.c:1786
+#: cpplex.c:1858
msgid "octal escape sequence out of range"
msgstr "secuencia de escape octal fuera de rango"
-#: cpplex.c:1801
+#: cpplex.c:1874
#, c-format
msgid "unknown escape sequence '\\%c'"
msgstr "secuencia de escape desconocida, '\\%c'"
-#: cpplex.c:1803
+#: cpplex.c:1877
#, c-format
msgid "unknown escape sequence: '\\%03o'"
msgstr "secuencia de escape desconocida: '\\%03o'"
-#: cpplex.c:1807
-msgid "escape sequence out of range for character"
-msgstr "secuencia de escape fuera de rango por el carácter"
+#: cpplex.c:1882
+msgid "escape sequence out of range for its type"
+msgstr "secuencia de escape fuera de rango por su tipo"
-#: cpplex.c:1904
+#: cpplex.c:1973
msgid "empty character constant"
msgstr "constante de carácter vacía"
-#: cpplex.c:1908
-msgid "character constant too long"
-msgstr "constante de carácter demasiado larga"
+#: cpplex.c:1983
+msgid "character constant too long for its type"
+msgstr "constante de carácter demasiado grande para su tipo"
-#: cpplex.c:1911
+#: cpplex.c:1986
msgid "multi-character character constant"
msgstr "constante de carácter con múltiples caracteres"
-#: cpplib.c:228
+#: cpplib.c:225
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "elementos extra al final de la directiva #%s"
-#: cpplib.c:281
+#: cpplib.c:315
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s es una extensión de GCC"
-#: cpplib.c:292
+#: cpplib.c:327
msgid "suggest not using #elif in traditional C"
msgstr "se sugiere no usar #elif en C tradicional"
-#: cpplib.c:295
+#: cpplib.c:330
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s con el # indentado"
-#: cpplib.c:299
+#: cpplib.c:334
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "se sugiere ocultar #%s de C tradicional con un # indentado"
-#: cpplib.c:333
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable"
+
+#: cpplib.c:378
msgid "style of line directive is a GCC extension"
msgstr "la directiva de estilo de línea es una extensión de GCC"
-#: cpplib.c:382
+#: cpplib.c:428
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocesamiento #%s inválida"
-#: cpplib.c:437
-#, c-format
-msgid "no macro name given in #%s directive"
-msgstr "no se dio un nombre de macro en la directiva #%s"
+#: cpplib.c:500
+msgid "\"defined\" cannot be used as a macro name"
+msgstr "\"defined\" no se puede usar como un nombre de macro"
-#: cpplib.c:441
+#: cpplib.c:506
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "no se puede usar \"%s\" como un nombre de macro porque es un operador en C++"
-#: cpplib.c:444
+#: cpplib.c:509
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr "no se dio un nombre de macro en la directiva #%s"
+
+#: cpplib.c:512
msgid "macro names must be identifiers"
msgstr "los nombres de macro deben ser identificadores"
-#: cpplib.c:455
-#, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr "no se puede usar \"%s\" como un nombre de macro"
-
-#: cpplib.c:493
+#: cpplib.c:552
#, c-format
msgid "undefining \"%s\""
msgstr "borrando la definición de \"%s\""
-#: cpplib.c:536
+#: cpplib.c:598
msgid "missing terminating > character"
msgstr "falta el carácter de terminación >"
-#: cpplib.c:574
+#: cpplib.c:637
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOMBRE_ARCHIVO\" ó <NOMBRE_ARCHIVO>"
-#: cpplib.c:585
+#: cpplib.c:648
#, c-format
msgid "empty file name in #%s"
msgstr "nombre de fichero vacío en #%s"
-#: cpplib.c:604
+#: cpplib.c:667
msgid "#include_next in primary source file"
msgstr "#include_next en fichero primario de código fuente"
-#: cpplib.c:611
+#: cpplib.c:674
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
msgstr "#import es obsoleto, use una envoltura #ifndef en el fichero de encabezado"
-#: cpplib.c:619
+#: cpplib.c:682
msgid "#include nested too deeply"
msgstr "#include anidado con demasiada profundidad"
-#: cpplib.c:677
+#: cpplib.c:739
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador \"%s\" inválido en la línea de la directiva"
-#: cpplib.c:759
+#: cpplib.c:814
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" después de #line no es un entero positivo"
-#: cpplib.c:765
+#: cpplib.c:820
msgid "line number out of range"
msgstr "número de línea fuera de rango"
-#: cpplib.c:776 cpplib.c:847
+#: cpplib.c:831 cpplib.c:902
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" no es un nombre de fichero válido"
-#: cpplib.c:811
+#: cpplib.c:866
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" después de # no es un entero positivo"
-#: cpplib.c:916
+#: cpplib.c:973
msgid "invalid #ident directive"
msgstr "directiva #ident inválida"
-#: cpplib.c:1004
+#: cpplib.c:1061
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrando \"%s\" como un pragma y como un espacio de nombres de pragma"
-#: cpplib.c:1007
+#: cpplib.c:1064
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ya está registrado"
-#: cpplib.c:1009
+#: cpplib.c:1067
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ya está registrado"
-#: cpplib.c:1084
+#: cpplib.c:1141
msgid "#pragma once is obsolete"
msgstr "#pragma una vez es obsoleto"
-#: cpplib.c:1087
+#: cpplib.c:1144
msgid "#pragma once in main file"
msgstr "#pragma una vez en el fichero principal"
-#: cpplib.c:1111
+#: cpplib.c:1168
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC envenenada inválida"
-#: cpplib.c:1120
+#: cpplib.c:1177
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "envenenando la macro existente \"%s\""
-#: cpplib.c:1140
+#: cpplib.c:1199
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorado fuera del fichero a incluir"
-#: cpplib.c:1165
+#: cpplib.c:1224
#, c-format
msgid "cannot find source %s"
msgstr "no se puede encontrar la fuente %s"
-#: cpplib.c:1169
+#: cpplib.c:1228
#, c-format
msgid "current file is older than %s"
msgstr "el fichero actual es más antiguo que %s"
-#: cpplib.c:1244
+#: cpplib.c:1344
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma lleva una cadena literal entre paréntesis"
-#: cpplib.c:1343
+#: cpplib.c:1427
msgid "#else without #if"
msgstr "#else sin #if"
-#: cpplib.c:1348 tradcpp.c:3871
+#: cpplib.c:1432
msgid "#else after #else"
msgstr "#else después de #else"
-#: cpplib.c:1350 cpplib.c:1384
+#: cpplib.c:1434 cpplib.c:1468
msgid "the conditional began here"
msgstr "el condicional empezó aquí"
-#: cpplib.c:1377
+#: cpplib.c:1461
msgid "#elif without #if"
msgstr "#elif sin #if"
-#: cpplib.c:1382 tradcpp.c:3566
+#: cpplib.c:1466
msgid "#elif after #else"
msgstr "#elif después de #else"
-#: cpplib.c:1413
+#: cpplib.c:1497
msgid "#endif without #if"
msgstr "#endif sin #if"
-#: cpplib.c:1496 tradcpp.c:3263
+#: cpplib.c:1580
msgid "missing '(' after predicate"
msgstr "falta '(' antes del predicado"
-#: cpplib.c:1511 tradcpp.c:3277
+#: cpplib.c:1595
msgid "missing ')' to complete answer"
msgstr "falta ')' para completar la respuesta"
-#: cpplib.c:1531 tradcpp.c:3283
+#: cpplib.c:1615
msgid "predicate's answer is empty"
msgstr "el predicado de la respuesta está vacío"
-#: cpplib.c:1561 tradcpp.c:3331
+#: cpplib.c:1645
msgid "assertion without predicate"
msgstr "afirmación sin predicado"
-#: cpplib.c:1563 tradcpp.c:3333
+#: cpplib.c:1647
msgid "predicate must be an identifier"
msgstr "el predicado debe ser un identificador"
-#: cpplib.c:1645 tradcpp.c:3430
+#: cpplib.c:1736
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" reafirmado"
-#: cpplib.c:1875
+#: cpplib.c:1966
#, c-format
msgid "unterminated #%s"
msgstr "#%s sin terminar"
-#: cppmacro.c:145
+#: cppmacro.c:94
+#, c-format
+msgid "macro \"%s\" is not used"
+msgstr "la macro \"%s\" no se utiliza"
+
+#: cppmacro.c:139 cppmacro.c:294
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna \"%s\" inválida"
-#: cppmacro.c:346
+#: cppmacro.c:234
+msgid "could not determine date and time"
+msgstr "no se puede determinar la fecha y la hora"
+
+#: cppmacro.c:407
msgid "invalid string literal, ignoring final '\\'"
msgstr "cadena literal inválida, se ignora el '\\' finales"
-#: cppmacro.c:438
+#: cppmacro.c:504
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "pegar \"%s\" y \"%s\" no da un elemento válido de preprocesamiento"
-#: cppmacro.c:564
-msgid "directives may not be used inside a macro argument"
-msgstr "no se pueden usar las directivas dentro de un argumento de macro"
-
-#: cppmacro.c:576
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr "lista de argumentos sin terminar al invocar la macro \"%s\""
-
-#: cppmacro.c:593
+#: cppmacro.c:546
msgid "ISO C99 requires rest arguments to be used"
msgstr "ISO C99 requiere que el resto de los argumentos sea usado"
-#: cppmacro.c:598
+#: cppmacro.c:551
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "la macro \"%s\" requiere %u argumentos, pero solo se proporcionan %u"
-#: cppmacro.c:609
+#: cppmacro.c:556
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "la macro \"%s\" recibió %u argumentos, pero solamente tomó %u"
-#: cppmacro.c:692
+#: cppmacro.c:669 cpptrad.c:774
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "lista de argumentos sin terminar al invocar la macro \"%s\""
+
+#: cppmacro.c:776
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "la función de macro \"%s\" se debe usar con argumentos en C tradicional"
-#: cppmacro.c:1188
+#: cppmacro.c:1312
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parámetro de macro \"%s\" duplicado"
-#: cppmacro.c:1216
+#: cppmacro.c:1349
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" podría faltar en la lista de parámetro de macro"
-#: cppmacro.c:1223
+#: cppmacro.c:1357
msgid "macro parameters must be comma-separated"
msgstr "los parámetros de macro deben ser separados por comas"
-#: cppmacro.c:1240
+#: cppmacro.c:1374
msgid "parameter name missing"
msgstr "falta el nombre del parámetro"
-#: cppmacro.c:1254
+#: cppmacro.c:1389
msgid "anonymous variadic macros were introduced in C99"
msgstr "los macros variadic anónimos se introdujeron en C99"
-#: cppmacro.c:1257
+#: cppmacro.c:1393
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C no permite macros variadic nombrados"
-#: cppmacro.c:1266
+#: cppmacro.c:1402
msgid "missing ')' in macro parameter list"
msgstr "falta paréntesis derecho en la lista de parámetros de macro"
-#: cppmacro.c:1344
+#: cppmacro.c:1470
msgid "ISO C requires whitespace after the macro name"
msgstr "ISO C requiere espacios en blanco después del nombre de macro"
-#: cppmacro.c:1374
+#: cppmacro.c:1498
msgid "'#' is not followed by a macro parameter"
msgstr "'#' no es seguido por un parámetro de macro"
-#: cppmacro.c:1394
+#: cppmacro.c:1517
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' no puede aparece en o al final de una expansión de macro"
-#: cppmacro.c:1430
+#: cppmacro.c:1599
#, c-format
msgid "\"%s\" redefined"
-msgstr "\"%s\" redefinido"
+msgstr "se redefinió \"%s\""
-#: cppmacro.c:1434
+#: cppmacro.c:1604
msgid "this is the location of the previous definition"
msgstr "esta es la ubicación de la definición previa"
-#: cppmacro.c:1498
+#: cppmacro.c:1655
#, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional"
-msgstr "el argumento de macro \"%s\" debería ser convertido a cadena con -traditional"
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr "el argumento de macro \"%s\" debería ser convertido a cadena en C tradicional"
-#: cppmacro.c:1522
+#: cppmacro.c:1680
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "tipo de hash %d inválido en cpp_macro_definition"
-#: cppmain.c:121
-#, c-format
-msgid "invalid option %s"
-msgstr "opción %s inválida"
-
-#: cppspec.c:131
+#: cppspec.c:109
#, c-format
msgid "\"%s\" is not a valid option to the preprocessor"
msgstr "\"%s\" no es una opción válida para el preprocesador"
-#: cppspec.c:155
+#: cppspec.c:133
msgid "too many input files"
msgstr "demasiados ficheros de entrada"
-#: cse.c:7112
+#: cpptrad.c:841
#, c-format
-msgid ";; Processing block from %d to %d, %d sets.\n"
-msgstr ";; Procesando el bloque de %d a %d, %d establecido.\n"
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "se detectó recursión al expandir la macro \"%s\""
-#: diagnostic.c:784
+#: cse.c:7187
#, c-format
-msgid "%s:%d: warning: "
-msgstr "%s:%d: aviso: "
-
-#: diagnostic.c:791
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: aviso: "
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ";; Procesando el bloque de %d a %d, %d establecido.\n"
-#: diagnostic.c:871
+#: diagnostic.c:700
msgid "((anonymous))"
msgstr "((anónimo))"
-#: diagnostic.c:941
+#: diagnostic.c:914
#, c-format
msgid "%s: warnings being treated as errors\n"
msgstr "%s: los avisos son tratados como errores\n"
-#: diagnostic.c:978
+#: diagnostic.c:949
#, c-format
msgid "%s: %s: "
msgstr "%s: %s: "
-#: diagnostic.c:1057
-msgid "sorry, not implemented: "
-msgstr "lo sentimos, sin implementar: "
-
-#: diagnostic.c:1076
+#: diagnostic.c:1040
#, c-format
msgid "%s "
msgstr "%s "
-#: diagnostic.c:1078
+#: diagnostic.c:1042
#, c-format
msgid " %s"
msgstr " %s"
-#: diagnostic.c:1102
+#: diagnostic.c:1064
msgid "At top level:"
msgstr "En el nivel principal:"
-#: diagnostic.c:1107
+#: diagnostic.c:1069
#, c-format
msgid "In member function `%s':"
msgstr "En la función miembro `%s':"
-#: diagnostic.c:1111
+#: diagnostic.c:1073
#, c-format
msgid "In function `%s':"
msgstr "En la función `%s':"
-#: diagnostic.c:1195
+#: diagnostic.c:1161
msgid "compilation terminated.\n"
msgstr "compilación terminada.\n"
-#: diagnostic.c:1227
+#: diagnostic.c:1179
#, c-format
msgid "%s:%d: confused by earlier errors, bailing out\n"
msgstr "%s:%d: confusión por errores previos, saliendo\n"
-#: diagnostic.c:1242 diagnostic.c:1392
+#: diagnostic.c:1194 diagnostic.c:1302
#, c-format
msgid ""
"Please submit a full bug report,\n"
@@ -4865,21 +4965,21 @@ msgstr ""
"con el código preprocesado si es apropiado.\n"
"Vea %s para más instrucciones.\n"
-#: diagnostic.c:1390
+#: diagnostic.c:1300
msgid "Internal compiler error: Error reporting routines re-entered.\n"
msgstr "Error interno del compilador: Error al reportar rutinas reentradas.\n"
-#: diagnostic.c:1452
+#: diagnostic.c:1362
#, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "Error interno del compilador %s, en %s:%d"
+msgid "in %s, at %s:%d"
+msgstr "en %s, en %s:%d"
-#: diagnostic.c:1497
+#: diagnostic.c:1383
#, c-format
msgid "In file included from %s:%d"
msgstr "En el fichero incluído de %s:%d"
-#: diagnostic.c:1500
+#: diagnostic.c:1386
#, c-format
msgid ""
",\n"
@@ -4888,52 +4988,61 @@ msgstr ""
",\n"
" de %s:%d"
-#: diagnostic.c:1501
+#: diagnostic.c:1387
msgid ":\n"
msgstr ":\n"
-#: diagnostic.c:1534 diagnostic.c:1551
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
msgid "`%s' is deprecated (declared at %s:%d)"
-msgstr "`%s' está deprecado (declarado en %s:%d)"
+msgstr "`%s' es obsoleto (declarado en %s:%d)"
-#: diagnostic.c:1554
+#: diagnostic.c:1451
#, c-format
msgid "`%s' is deprecated"
-msgstr "`%s' está deprecado"
+msgstr "`%s' es obsoleto"
-#: diagnostic.c:1557
+#: diagnostic.c:1454
#, c-format
msgid "type is deprecated (declared at %s:%d)"
-msgstr "el tipo está deprecado (declarado en %s:%d)"
+msgstr "el tipo es obsoleto (declarado en %s:%d)"
-#: diagnostic.c:1560
+#: diagnostic.c:1457
msgid "type is deprecated"
-msgstr "el tipo está deprecado"
+msgstr "el tipo es obsoleto"
+
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
+msgstr "el dominador de %d debería ser %d, no %d"
-#: dwarf2out.c:3056
+#: dwarf2out.c:3126
#, c-format
msgid "DW_LOC_OP %s not implemented\n"
msgstr "DW_LOC_OP %s no está implementado\n"
-#: dwarfout.c:2089
+#: dwarfout.c:2066
#, c-format
-msgid "internal regno botch: regno = %d\n"
-msgstr "regno interno fastidiado: regno = %d\n"
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr "regno interno fastidiado: `%s' tiene regno = %d\n"
-#: dwarfout.c:6291
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
+msgstr "el soporte para el formato de depuración DWARF1 es obsoleto"
+
+#: dwarfout.c:6278
msgid "can't get current directory"
msgstr "no se puede obtener el directorio actual"
-#: emit-rtl.c:1098
+#: emit-rtl.c:1155
msgid "can't access real part of complex value in hard register"
msgstr "no se puede accesar a la parte real de un valor complejo en un registro fijo"
-#: emit-rtl.c:1120
+#: emit-rtl.c:1177
msgid "can't access imaginary part of complex value in hard register"
-msgstr "No se puede accesar a la parte imaginaria de un valor complejo en un registro fijo"
+msgstr "no se puede accesar a la parte imaginaria de un valor complejo en un registro fijo"
-#: emit-rtl.c:3271
+#: emit-rtl.c:3399
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr "ICE: se usa emit_insn donde se necesita emit_jump_insn:\n"
@@ -4942,93 +5051,100 @@ msgstr "ICE: se usa emit_insn donde se necesita emit_jump_insn:\n"
msgid "abort in %s, at %s:%d"
msgstr "aborto en %s, en %s:%d"
-#: except.c:382
+#: except.c:375
msgid "exception handling disabled, use -fexceptions to enable"
msgstr "manejo de excepciones desactivado, use -fexceptions para activar"
-#: except.c:3235
+#: except.c:3000
msgid "argument of `__builtin_eh_return_regno' must be constant"
msgstr "el argumento de `builtin_eh_return_regno' debe ser constante"
-#: except.c:3346 except.c:3368
+#: except.c:3121 except.c:3143
msgid "__builtin_eh_return not supported on this target"
msgstr "no se da soporte a __builtin_eh_return en este objetivo"
-#: explow.c:1369
+#: explow.c:1408
msgid "stack limits not supported on this target"
msgstr "no se da soporte a límites de la pila en este objetivo"
-#: expr.c:2948
+#: expr.c:3334
msgid "function using short complex types cannot be inline"
msgstr "las funciones que usan tipos short complex no pueden ser inline"
-#: expr.c:5810 expr.c:5819 expr.c:5828 expr.c:5833 expr.c:6120 expr.c:6136
+#: expr.c:6251 expr.c:6260 expr.c:6269 expr.c:6274 expr.c:6583 expr.c:6599
msgid "unsupported wide integer operation"
msgstr "operación de enteros anchos sin soporte"
-#: expr.c:6185
+#: expr.c:6648
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr "el tamaño del parámetro previo depende de `%s'"
-#: expr.c:6531
+#: expr.c:6981
msgid "returned value in block_exit_expr"
msgstr "se regresó un valor en block_exit_expr"
-#: final.c:1209
+#. We can't make a bitwise copy of this object, so fail.
+#: expr.c:9172
+msgid "cannot take the address of an unaligned member"
+msgstr "no se puede tomar la dirección de un miembro desalineado"
+
+#: final.c:1342
msgid "negative insn length"
msgstr "longitud de insn negativa"
-#: final.c:2628
+#: final.c:2793
msgid "could not split insn"
msgstr "no se puede dividir insn"
-#: final.c:2976
+#: final.c:3141
msgid "invalid `asm': "
msgstr "`asm' inválido: "
-#: final.c:3160
+#: final.c:3328
msgid "nested assembly dialect alternatives"
msgstr "alternativas de dialecto ensamblador anidadas"
-#: final.c:3177 final.c:3189
+#: final.c:3345 final.c:3357
msgid "unterminated assembly dialect alternative"
msgstr "alternativa de dialecto ensamblador sin terminar"
-#: final.c:3233
+#: final.c:3401
#, c-format
msgid "operand number missing after %%-letter"
msgstr "falta un número operando después de %%-letra"
-#: final.c:3236 final.c:3275
+#: final.c:3404 final.c:3443
msgid "operand number out of range"
msgstr "número operando fuera de rango"
-#: final.c:3294
+#: final.c:3462
#, c-format
msgid "invalid %%-code"
msgstr "%%-código inválido"
-#: final.c:3325
+#: final.c:3493
#, c-format
msgid "`%%l' operand isn't a label"
msgstr "el operando `%%l' no es una etiqueta"
#. We can't handle floating point constants;
#. PRINT_OPERAND must handle them.
-#: final.c:3432 vmsdbgout.c:478 config/i386/i386.c:5315 config/pdp11/pdp11.c:1570
+#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6253
+#: config/pdp11/pdp11.c:1573
msgid "floating constant misused"
msgstr "constante de coma flotante mal usada"
-#: final.c:3488 vmsdbgout.c:535 config/i386/i386.c:5369 config/pdp11/pdp11.c:1617
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6331
+#: config/pdp11/pdp11.c:1620
msgid "invalid expression as operand"
msgstr "expresión inválida como operando"
-#: flow.c:354
+#: flow.c:352
msgid "function might be possible candidate for attribute `noreturn'"
-msgstr "la función sería un posible candidato para el atributo `noreturn'"
+msgstr "la función puede ser un posible candidato para el atributo `noreturn'"
-#: flow.c:359
+#: flow.c:357
msgid "`noreturn' function does return"
msgstr "la función `noreturn' devuelve"
@@ -5036,82 +5152,86 @@ msgstr "la función `noreturn' devuelve"
msgid "control reaches end of non-void function"
msgstr "el control alcanza el final de una función que no es void"
-#: flow.c:1600
+#: flow.c:1639
msgid "Attempt to delete prologue/epilogue insn:"
msgstr "Se intentó borrar el insn de prólogo/epílogo"
-#: fold-const.c:3135 fold-const.c:3148
+#: fold-const.c:2546 fold-const.c:2559
#, c-format
msgid "comparison is always %d due to width of bit-field"
msgstr "la comparación siempre es %d debido a la anchura del campo de bit"
-#: fold-const.c:4190 fold-const.c:4207
+#: fold-const.c:3753 fold-const.c:3770
#, c-format
msgid "comparison is always %d"
msgstr "la comparación siempre es %d"
-#: fold-const.c:4338
+#: fold-const.c:3901
msgid "`or' of unmatched not-equal tests is always 1"
msgstr "un `or' de pruebas no equivalentes sin coincidencia siempre es 1"
-#: fold-const.c:4343
+#: fold-const.c:3906
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr "un `and' de pruebas equivalentes mutuamente exclusivas siempre es 0"
-#: function.c:906 varasm.c:1530
+#: function.c:884 varasm.c:1503
#, c-format
msgid "size of variable `%s' is too large"
msgstr "el tamaño de la variable `%s' es demasiado grande"
-#: function.c:5445
+#: function.c:3770
+msgid "impossible constraint in `asm'"
+msgstr "restricción imposible en `asm'"
+
+#: function.c:5525
#, c-format
msgid "`%s' might be used uninitialized in this function"
-msgstr "`%s' se debería usar sin iniciar en esta función"
+msgstr "puede ser que se utilice `%s' sin inicializar en esta función"
-#: function.c:5452
+#: function.c:5532
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
-msgstr "la variable `%s' podría ser sobreescrita por `longjmp' o `vfork'"
+msgstr "la variable `%s' puede ser sobreescrita por `longjmp' o `vfork'"
-#: function.c:5471
+#: function.c:5551
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
-msgstr "el argumento `%s' podría ser sobreescrito por `longjmp' o `vfork'"
+msgstr "el argumento `%s' puede ser sobreescrito por `longjmp' o `vfork'"
-#: function.c:6337
+#: function.c:6418
msgid "function returns an aggregate"
msgstr "la función devuelve un agregado"
-#: function.c:6856
+#: function.c:6923
#, c-format
msgid "unused parameter `%s'"
msgstr "parámetro `%s' sin uso"
-#: gcc.c:1102
+#: gcc.c:1107
#, c-format
msgid "ambiguous abbreviation %s"
msgstr "abreviación ambigua %s"
-#: gcc.c:1129
+#: gcc.c:1134
#, c-format
msgid "incomplete `%s' option"
msgstr "opción `%s' incompleta"
-#: gcc.c:1140
+#: gcc.c:1145
#, c-format
msgid "missing argument to `%s' option"
msgstr "faltan argumentos para la opción `%s'"
-#: gcc.c:1153
+#: gcc.c:1158
#, c-format
msgid "extraneous argument to `%s' option"
msgstr "argumento extraño para la opción `%s'"
-#: gcc.c:1460
+#: gcc.c:1486
msgid "Using built-in specs.\n"
msgstr "Usando especificaciones internas.\n"
-#: gcc.c:1634
+#: gcc.c:1664
#, c-format
msgid ""
"Setting spec %s to '%s'\n"
@@ -5120,37 +5240,42 @@ msgstr ""
"Cambiando la especificación de %s a '%s'\n"
"\n"
-#: gcc.c:1732
+#: gcc.c:1771
#, c-format
msgid "Reading specs from %s\n"
msgstr "Leyendo especificaciones de %s\n"
-#: gcc.c:1830 gcc.c:1849
+#: gcc.c:1869 gcc.c:1888
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr "specs sintaxis mal formada de %%include después de %ld caracteres"
-#: gcc.c:1857
+#: gcc.c:1896
#, c-format
msgid "could not find specs file %s\n"
msgstr "no se puede encontrar el fichero de especificaciones %s\n"
-#: gcc.c:1873 gcc.c:1881 gcc.c:1890 gcc.c:1899
+#: gcc.c:1913 gcc.c:1921 gcc.c:1930 gcc.c:1939
#, c-format
msgid "specs %%rename syntax malformed after %ld characters"
msgstr "specs sintaxis mal formada de %%rename después de %ld caracteres"
-#: gcc.c:1908
+#: gcc.c:1948
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr "specs la especificación %s no se encontró para ser renombrada"
-#: gcc.c:1915
+#: gcc.c:1955
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr "%s: se intentó renombrar la especificación '%s' a la especificación '%s' que ya estaba definida"
+
+#: gcc.c:1960
#, c-format
msgid "rename spec %s to %s\n"
msgstr "renombrando especificación %s a %s\n"
-#: gcc.c:1917
+#: gcc.c:1962
#, c-format
msgid ""
"spec is '%s'\n"
@@ -5159,25 +5284,25 @@ msgstr ""
"la especificacion es '%s'\n"
"\n"
-#: gcc.c:1930
+#: gcc.c:1975
#, c-format
msgid "specs unknown %% command after %ld characters"
msgstr "specs comando %% desconocido después de %ld caracteres"
-#: gcc.c:1941 gcc.c:1954
+#: gcc.c:1986 gcc.c:1999
#, c-format
msgid "specs file malformed after %ld characters"
msgstr "specs fichero mal formado después de %ld caracteres"
-#: gcc.c:2008
+#: gcc.c:2053
msgid "spec file has no spec for linking"
msgstr "el fichero de especificaciones no tiene especificaciones para enlazar"
-#: gcc.c:2720
+#: gcc.c:2551
msgid "-pipe not supported"
msgstr "-pipe no tiene soporte"
-#: gcc.c:2774
+#: gcc.c:2606
msgid ""
"\n"
"Go ahead? (y or n) "
@@ -5185,7 +5310,7 @@ msgstr ""
"\n"
"¿Continuar? (s ó n) "
-#: gcc.c:2873
+#: gcc.c:2732
#, c-format
msgid ""
"Internal error: %s (program %s)\n"
@@ -5196,69 +5321,69 @@ msgstr ""
"Por favor envíe un reporte completo de error.\n"
"Vea %s para más instrucciones."
-#: gcc.c:2891
+#: gcc.c:2750
#, c-format
msgid "# %s %.2f %.2f\n"
msgstr "# %s %.2f %.2f\n"
-#: gcc.c:3024
+#: gcc.c:2880
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "Modo de empleo: %s [opciones] fichero...\n"
-#: gcc.c:3025
+#: gcc.c:2881
msgid "Options:\n"
msgstr "Opciones:\n"
-#: gcc.c:3027
+#: gcc.c:2883
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
msgstr " -pass-exit-codes Salir con el código de error más alto de una fase\n"
-#: gcc.c:3028
+#: gcc.c:2884
msgid " --help Display this information\n"
msgstr " --help Muestra esta información\n"
-#: gcc.c:3029
+#: gcc.c:2885
msgid " --target-help Display target specific command line options\n"
msgstr " --target-help Muestra opciones de línea de comando específicas del objetivo\n"
-#: gcc.c:3031
+#: gcc.c:2887
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
msgstr " (Use '-v --help' para mostrar las opciones de línea de comando de los subprocesos)\n"
-#: gcc.c:3032
+#: gcc.c:2888
msgid " -dumpspecs Display all of the built in spec strings\n"
msgstr " -dumpspecs Muestra todas las cadenas internas de especificación\n"
-#: gcc.c:3033
+#: gcc.c:2889
msgid " -dumpversion Display the version of the compiler\n"
msgstr " -dumpversion Muestra la versión del compilador\n"
-#: gcc.c:3034
+#: gcc.c:2890
msgid " -dumpmachine Display the compiler's target processor\n"
msgstr " -dumpmachine Muestra el procesador objetivo del compilador\n"
-#: gcc.c:3035
+#: gcc.c:2891
msgid " -print-search-dirs Display the directories in the compiler's search path\n"
msgstr " -print-search-dirs Muestra los directorios en la ruta de búsqueda del compilador\n"
-#: gcc.c:3036
+#: gcc.c:2892
msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
msgstr " -print-libgcc-file-name Muestra el nombre de la biblioteca que acompaña al compilador\n"
-#: gcc.c:3037
+#: gcc.c:2893
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
msgstr " -print-file-name=<bib> Muestra la ruta completa a la biblioteca <bib>\n"
-#: gcc.c:3038
+#: gcc.c:2894
msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
msgstr " -print-prog-name=<prog> Muestra la ruta completa del programa componente del compilador <prog>\n"
-#: gcc.c:3039
+#: gcc.c:2895
msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
msgstr " -print-multi-directory Muestra el directorio raíz para las versiones de libgcc\n"
-#: gcc.c:3040
+#: gcc.c:2896
msgid ""
" -print-multi-lib Display the mapping between command line options and\n"
" multiple library search directories\n"
@@ -5266,82 +5391,86 @@ msgstr ""
" -print-multi-lib Muestra el mapeo entre las opciones de línea de comando\n"
" y los múltiples directorios de la búsqueda de bibliotecas\n"
-#: gcc.c:3043
+#: gcc.c:2899
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-os-directory Muestra la ruta relativa para las bibliotecas del SO\n"
+
+#: gcc.c:2900
msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
msgstr " -Wa,<opciones> Pasa <opciones> separadas por coma al ensamblador\n"
-#: gcc.c:3044
+#: gcc.c:2901
msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
msgstr " -Wp,<opciones> Pasa <opciones> separadas por coma al preprocesador\n"
-#: gcc.c:3045
+#: gcc.c:2902
msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
msgstr " -Wl,<opciones> Pasa <opciones> separadas por coma al enlazador\n"
-#: gcc.c:3046
+#: gcc.c:2903
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
msgstr " -Xlinker <argumento> Pasa el <argumento> al enlazador\n"
-#: gcc.c:3047
+#: gcc.c:2904
msgid " -save-temps Do not delete intermediate files\n"
msgstr " -save-temps No borra los ficheros intermedios\n"
-#: gcc.c:3048
+#: gcc.c:2905
msgid " -pipe Use pipes rather than intermediate files\n"
msgstr " -pipe Usa tuberías en lugar de ficheros intermedios\n"
-#: gcc.c:3049
+#: gcc.c:2906
msgid " -time Time the execution of each subprocess\n"
msgstr " -time Obtiene el tiempo de ejecución de cada subproceso\n"
-#: gcc.c:3050
+#: gcc.c:2907
msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
msgstr " -specs=<fichero> Sobrepone las especificaciones internas con el contenido del <fichero>\n"
-#: gcc.c:3051
+#: gcc.c:2908
msgid " -std=<standard> Assume that the input sources are for <standard>\n"
-msgstr " -std=<estándard> Asume que los ficheros de entrada son para el <staándard>\n"
+msgstr " -std=<estándard> Asume que los ficheros de entrada son para el <estándard>\n"
-#: gcc.c:3052
+#: gcc.c:2909
msgid " -B <directory> Add <directory> to the compiler's search paths\n"
msgstr " -B <directorio> Agrega el <directorio> a las rutas de búsqueda del compilador\n"
-#: gcc.c:3053
+#: gcc.c:2910
msgid " -b <machine> Run gcc for target <machine>, if installed\n"
-msgstr " -b <máquina> Ejecuta gcc para el objetivo <máquina>, si fue instalado\n"
+msgstr " -b <máquina> Ejecuta gcc para el objetivo <máquina>, si se instaló\n"
-#: gcc.c:3054
+#: gcc.c:2911
msgid " -V <version> Run gcc version number <version>, if installed\n"
-msgstr " -V <versión> Ejecuta el gcc con número de versión <versión>, si fue instalado\n"
+msgstr " -V <versión> Ejecuta el gcc con número de versión <versión>, si se instaló\n"
-#: gcc.c:3055
+#: gcc.c:2912
msgid " -v Display the programs invoked by the compiler\n"
msgstr " -v Muestra los programas invocados por el compilador\n"
-#: gcc.c:3056
+#: gcc.c:2913
msgid " -### Like -v but options quoted and commands not executed\n"
msgstr " -### Como -v pero no se ejecutan las opciones entre comillas y los comandos\n"
-#: gcc.c:3057
+#: gcc.c:2914
msgid " -E Preprocess only; do not compile, assemble or link\n"
msgstr " -E Solamente preprocesa; no compila, ensambla o enlaza\n"
-#: gcc.c:3058
+#: gcc.c:2915
msgid " -S Compile only; do not assemble or link\n"
msgstr " -S Solamente compila; no ensambla o enlaza\n"
-#: gcc.c:3059
+#: gcc.c:2916
msgid " -c Compile and assemble, but do not link\n"
msgstr " -c Compila y ensambla, pero no enlaza\n"
-#: gcc.c:3060
+#: gcc.c:2917
msgid " -o <file> Place the output into <file>\n"
msgstr " -o <fichero> Coloca la salida en el <fichero>\n"
-#: gcc.c:3061
+#: gcc.c:2918
msgid ""
" -x <language> Specify the language of the following input files\n"
-" Permissable languages include: c c++ assembler none\n"
+" Permissible languages include: c c++ assembler none\n"
" 'none' means revert to the default behavior of\n"
" guessing the language based on the file's extension\n"
msgstr ""
@@ -5350,7 +5479,7 @@ msgstr ""
" 'none' significa revertir a la conducta habitual de\n"
" adivinar el lenguaje basado en la extensión del fichero\n"
-#: gcc.c:3068
+#: gcc.c:2925
#, c-format
msgid ""
"\n"
@@ -5363,17 +5492,27 @@ msgstr ""
" automáticamente a los varios subprocesos invocados por %s. Para pasar\n"
" otras opciones a estos procesos se deben usar las opciones -W<letra>.\n"
+#: gcc.c:3060
+#, c-format
+msgid "`-%c' option must have argument"
+msgstr "la opción `-%c' debe tener argumentos"
+
+#: gcc.c:3082
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr "no se puede ejecutar `%s': %s"
+
#. translate_options () has turned --version into -fversion.
-#: gcc.c:3348
+#: gcc.c:3259
#, c-format
msgid "%s (GCC) %s\n"
msgstr "%s (GCC) %s\n"
-#: gcc.c:3349
-msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+#: gcc.c:3260
+msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
-#: gcc.c:3351 gcov.c:320
+#: gcc.c:3262 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"
@@ -5384,69 +5523,62 @@ msgstr ""
"PARTICULAR\n"
"\n"
-#: gcc.c:3450
+#: gcc.c:3363
msgid "argument to `-Xlinker' is missing"
msgstr "falta el argumento para `-Xlinker'"
-#: gcc.c:3458
+#: gcc.c:3371
msgid "argument to `-l' is missing"
msgstr "falta el argumento para `-l'"
-#: gcc.c:3475
+#: gcc.c:3388
msgid "argument to `-specs' is missing"
msgstr "falta el argumento para `-specs'"
-#: gcc.c:3490
+#: gcc.c:3403
msgid "argument to `-specs=' is missing"
msgstr "falta el argumento para `-specs='"
-#: gcc.c:3521
-msgid "argument to `-b' is missing"
-msgstr "falta el argumento para `-b'"
+#: gcc.c:3433
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr "`-%c' debe estar al inicio de la línea de comandos"
-#: gcc.c:3536
+#: gcc.c:3442
msgid "argument to `-B' is missing"
msgstr "falta el argumento para `-B'"
-#: gcc.c:3606
-msgid "argument to `-V' is missing"
-msgstr "falta el argumento para `-V'"
-
-#: gcc.c:3627 gcc.c:3634 gcc.c:3641
-msgid "invalid version number format"
-msgstr "formato de número de versión inválido"
-
-#: gcc.c:3752
+#: gcc.c:3615
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr "no se puede especificar -o con -c ó -S y con múltiples compilaciones"
-#: gcc.c:3923
+#: gcc.c:3788
msgid "warning: -pipe ignored because -save-temps specified"
msgstr "aviso: se ignora -pipe porque se especificó -save-temps"
-#: gcc.c:3927
+#: gcc.c:3792
msgid "warning: -pipe ignored because -time specified"
msgstr "aviso: se ignora -pipe porque se especificó -time"
-#: gcc.c:3939
+#: gcc.c:3804
msgid "argument to `-x' is missing"
msgstr "falta el argumento para `-x'"
-#: gcc.c:3967
+#: gcc.c:3832
#, c-format
msgid "argument to `-%s' is missing"
msgstr "falta el argumento para `-%s'"
-#: gcc.c:4028
+#: gcc.c:3893
#, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr "aviso: `-x %s' después del último fichero de entrada no tiene efecto"
-#: gcc.c:4327
+#: gcc.c:4238
msgid "invalid specification! Bug in cc"
msgstr "¡Especificación inválida! `Bug' en cc"
-#: gcc.c:4476
+#: gcc.c:4392
#, c-format
msgid "%s\n"
msgstr "%s\n"
@@ -5454,51 +5586,74 @@ msgstr "%s\n"
#. 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:5029
+#: gcc.c:4952
#, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
-msgstr "falla en spec: '%%*' no ha sido iniciado por coincidencia de patrón"
+msgstr "falla en spec: '%%*' no ha sido inicializado por coincidencia de patrón"
-#: gcc.c:5038
+#: gcc.c:4961
#, c-format
msgid "warning: use of obsolete %%[ operator in specs"
msgstr "aviso: uso del operador obsoleto %%[ en especificación"
-#: gcc.c:5056
+#: gcc.c:4979
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr "Procesando la especificación %c%s%c, el cual es '%s'\n"
-#: gcc.c:5181
+#: gcc.c:5104
#, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr "falla en spec: opción de especificación '%c' no reconocida"
-#: gcc.c:5291
+#: gcc.c:5185
+#, c-format
+msgid "unknown spec function `%s'"
+msgstr "función de especificación `%s' desconocida"
+
+#: gcc.c:5204
+#, c-format
+msgid "error in args to spec function `%s'"
+msgstr "error en los argumentos para la función de especificación `%s'"
+
+#: gcc.c:5253
+msgid "malformed spec function name"
+msgstr "nombre de la función de especificación malformado"
+
+#. )
+#: gcc.c:5256
+msgid "no arguments for spec function"
+msgstr "no hay argumentos para la función de especificación"
+
+#: gcc.c:5275
+msgid "malformed spec function arguments"
+msgstr "argumentos de la función de especificación malformados"
+
+#: gcc.c:5383
msgid "mismatched braces in specs"
msgstr "llaves sin coincidencia en especificación"
-#: gcc.c:5969
+#: gcc.c:6078
#, c-format
msgid "unrecognized option `-%s'"
msgstr "opción `-%s' no reconocida"
-#: gcc.c:5975
+#: gcc.c:6084
#, c-format
msgid "install: %s%s\n"
msgstr "instalar: %s%s\n"
-#: gcc.c:5976
+#: gcc.c:6085
#, c-format
msgid "programs: %s\n"
msgstr "programas: %s\n"
-#: gcc.c:5977
+#: gcc.c:6086
#, c-format
msgid "libraries: %s\n"
msgstr "bibliotecas: %s\n"
-#: gcc.c:6025
+#: gcc.c:6143
msgid ""
"\n"
"For bug reporting instructions, please see:\n"
@@ -5506,54 +5661,54 @@ msgstr ""
"\n"
"Para instrucciones de reporte de `bugs', por favor vea:\n"
-#: gcc.c:6041
+#: gcc.c:6159
#, c-format
msgid "Configured with: %s\n"
msgstr "Configurado con: %s\n"
-#: gcc.c:6055
+#: gcc.c:6173
#, c-format
msgid "Thread model: %s\n"
msgstr "Modelo de hilos: %s\n"
-#: gcc.c:6066
+#: gcc.c:6184
#, c-format
msgid "gcc version %s\n"
msgstr "gcc versión %s\n"
-#: gcc.c:6068
+#: gcc.c:6186
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
msgstr "controlador gcc versión %s ejecutando gcc version %s\n"
-#: gcc.c:6076
+#: gcc.c:6194
msgid "no input files"
msgstr "no hay ficheros de entrada"
-#: gcc.c:6114
+#: gcc.c:6232
#, c-format
msgid "%s: %s compiler not installed on this system"
msgstr "%s: el compilador %s no está instalado en este sistema"
-#: gcc.c:6189
+#: gcc.c:6307
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr "%s: no se usó el fichero de entrada del enlazador porque no se hizo enlace"
-#: gcc.c:6232
+#: gcc.c:6350
#, c-format
msgid "language %s not recognized"
msgstr "no se reconoce el lenguaje %s"
-#: gcc.c:6335
+#: gcc.c:6453
msgid "internal gcc abort"
msgstr "aborto interno de gcc"
-#: gcov.c:282
+#: gcov.c:325
msgid "Internal gcov abort.\n"
msgstr "Aborto interno de gcov.\n"
-#: gcov.c:295
+#: gcov.c:338
msgid ""
"Usage: gcov [OPTION]... SOURCEFILE\n"
"\n"
@@ -5561,7 +5716,7 @@ msgstr ""
"Modo de empleo: gcov [OPCIÓN]... FICHERO-FUENTE\n"
"\n"
-#: gcov.c:296
+#: gcov.c:339
msgid ""
"Print code coverage information.\n"
"\n"
@@ -5569,31 +5724,31 @@ msgstr ""
"Mostrar información de cobertura de código.\n"
"\n"
-#: gcov.c:297
+#: gcov.c:340
msgid " -h, --help Print this help, then exit\n"
msgstr " -h, --help Muestra esta información, y finaliza\n"
-#: gcov.c:298
+#: gcov.c:341
msgid " -v, --version Print version number, then exit\n"
msgstr " -v, --version Muestra el número de versión, y finaliza\n"
-#: gcov.c:299
+#: gcov.c:342
msgid " -b, --branch-probabilities Include branch probabilities in output\n"
msgstr " -b, --branch-probabilities Incluye las probabilidades de ramificación en la salida\n"
-#: gcov.c:300
+#: gcov.c:343
msgid ""
" -c, --branch-counts Given counts of branches taken\n"
" rather than percentages\n"
msgstr ""
-" -c, --branch-counts Se muestran el número de ramificaciones\n"
+" -c, --branch-counts Se muestra el número de ramificaciones\n"
" en lugar de los porcentajes\n"
-#: gcov.c:302
+#: gcov.c:345
msgid " -n, --no-output Do not create an output file\n"
msgstr " -n, --no-output No crea un fichero de salida\n"
-#: gcov.c:303
+#: gcov.c:346
msgid ""
" -l, --long-file-names Use long output file names for included\n"
" source files\n"
@@ -5601,15 +5756,19 @@ msgstr ""
" -l, --long-file-names Usar nombres largos de ficheros para los\n"
" ficheros fuentes incluidos\n"
-#: gcov.c:305
+#: gcov.c:348
msgid " -f, --function-summaries Output summaries for each function\n"
msgstr " -f, --function-summaries Mostrar sumarios para cada función\n"
-#: gcov.c:306
-msgid " -o, --object-directory OBJDIR Search for object files in OBJDIR\n"
-msgstr " -o, --object-directory OBJDIR Buscar ficheros objeto en OBJDIR\n"
+#: gcov.c:349
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+msgstr " -o, --object-directory DIR|FICH Buscar ficheros objeto en el DIRectorio o en el FICHero nombrado\n"
+
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
+msgstr " -p, --preserve-paths Preserva todos los nombres de ruta de los componentes\n"
-#: gcov.c:307
+#: gcov.c:351
#, c-format
msgid ""
"\n"
@@ -5620,263 +5779,463 @@ msgstr ""
"Para instrucciones de reporte de `bugs', por favor vea:\n"
"%s.\n"
-#: gcov.c:317
+#: gcov.c:361
#, c-format
msgid "gcov (GCC) %s\n"
msgstr "gcov (GCC) %s\n"
-#: gcov.c:318
+#: gcov.c:362
msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
msgstr "Copyright (C) 2001 Free Software Foundation, Inc.\n"
-#: gcov.c:462
+#: gcov.c:500
#, c-format
msgid "Could not open basic block file %s.\n"
msgstr "No se puede abrir fichero de bloque básico %s.\n"
-#: gcov.c:471
+#: gcov.c:507
+#, c-format
+msgid "Could not open program flow graph file %s.\n"
+msgstr "No se puede abrir el fichero del grafo de flujo del programa %s.\n"
+
+#: gcov.c:524
#, c-format
msgid "Could not open data file %s.\n"
msgstr "No se puede abrir fichero de datos %s.\n"
-#: gcov.c:472
+#: gcov.c:525
msgid "Assuming that all execution counts are zero.\n"
msgstr "Asumiendo que todas las cuentas de ejecución son cero.\n"
-#: gcov.c:478
-#, c-format
-msgid "Could not open program flow graph file %s.\n"
-msgstr "No se puede abrir el fichero del grafo de flujo del programa %s.\n"
-
-#: gcov.c:489
+#: gcov.c:534
#, c-format
msgid "No executable code associated with file %s.\n"
msgstr "No hay código ejecutable asociado al fichero %s.\n"
-#: gcov.c:789
-msgid ".da file contents exhausted too early\n"
-msgstr "el contenido del fichero .da se agotó demasiado pronto\n"
-
-#: gcov.c:792
-msgid ".da file contents not exhausted\n"
-msgstr "el contenido del fichero .da no se agotó\n"
-
-#: gcov.c:973
+#: gcov.c:1186
#, c-format
-msgid "%6.2f%% of %d source lines executed in function %s\n"
-msgstr "%6.2f%% de %d líneas de código fuente ejecutadas en la función %s\n"
+msgid "%s of %d lines executed in %s %s\n"
+msgstr "se ejecutaron %s de %d líneas en %s %s\n"
-#: gcov.c:977
+#: gcov.c:1191
#, c-format
-msgid "No executable source lines in function %s\n"
-msgstr "No hay líneas de código fuente ejecutable en la función %s\n"
+msgid "No executable lines in %s %s\n"
+msgstr "No hay líneas de código ejecutables en %s %s\n"
-#: gcov.c:984
+#: gcov.c:1198
#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
-msgstr "%6.2f%% de %d ramificaciones ejecutadas en la función %s\n"
+msgid "%s of %d branches executed in %s %s\n"
+msgstr "se ejecutaron %s de %d ramificaciones en %s %s\n"
-#: gcov.c:988
+#: gcov.c:1203
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
-msgstr "%6.2f%% de %d ramificaciones visitadas al menos una vez en la función %s\n"
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr "se visitaron %s de %d ramificaciones al menos una vez en %s %s\n"
-#: gcov.c:993
+#: gcov.c:1209
#, c-format
-msgid "No branches in function %s\n"
-msgstr "No hay ramificaciones en la función %s\n"
+msgid "No branches in %s %s\n"
+msgstr "No hay ramificaciones en %s %s\n"
-#: gcov.c:995
+#: gcov.c:1211
#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
-msgstr "%6.2f%% de %d llamadas ejecutadas en la función %s\n"
+msgid "%s of %d calls executed in %s %s\n"
+msgstr "se ejecutaron %s de %d llamadas en %s %s\n"
-#: gcov.c:999
+#: gcov.c:1216
#, c-format
-msgid "No calls in function %s\n"
-msgstr "No hay llamadas en la función %s\n"
+msgid "No calls in %s %s\n"
+msgstr "No hay llamadas en %s %s\n"
-#: gcov.c:1126
+#: gcov.c:1351
#, c-format
msgid "didn't use all bb entries of graph, function %s\n"
msgstr "no se usaron todas las entradas bb del grafo, función %s\n"
-#: gcov.c:1128
+#: gcov.c:1353
#, c-format
msgid "block_num = %ld, num_blocks = %d\n"
msgstr "block_num = %ld, num_blocks = %d\n"
-#: gcov.c:1166
+#: gcov.c:1367
#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
-msgstr "ERROR: demasiados bloques básicos en el fichero .bb %s\n"
+msgid "ERROR: unexpected line number %ld\n"
+msgstr "ERROR: número de línea %ld inesperado\n"
-#: gcov.c:1243
+#: gcov.c:1383
#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
-msgstr "%6.2f%% de %d líneas de código fuente ejecutadas en el fichero %s\n"
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "ERROR: demasiados bloques básicos en la función %s\n"
-#: gcov.c:1247
+#: gcov.c:1398
#, c-format
-msgid "No executable source lines in file %s\n"
-msgstr "No hay líneas de código fuente ejecutable en el fichero %s\n"
+msgid "ERROR: out of range line number in function %s\n"
+msgstr "ERROR: número de líneas fuera de rango en la función %s\n"
-#: gcov.c:1254
+#: gcov.c:1470
#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
-msgstr "%6.2f%% de %d ramificaciones ejecutadas en el fichero %s\n"
+msgid "Could not open source file %s.\n"
+msgstr "No se puede abrir el fichero de código fuente %s.\n"
-#: gcov.c:1258
+#: gcov.c:1480
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
-msgstr "%6.2f%% de %d ramificaciones visitadas al menos una vez en el fichero %s\n"
+msgid "Warning: source file %s is newer than %s\n"
+msgstr "Aviso: el fichero fuente %s es más nuevo que %s\n"
-#: gcov.c:1263
+#: gcov.c:1510
#, c-format
-msgid "No branches in file %s\n"
-msgstr "No hay ramificaciones en el fichero %s\n"
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr "EOF inesperado mientras se leía el fichero de código fuente %s.\n"
-#: gcov.c:1265
+#: gcov.c:1532
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
-msgstr "%6.2f%% de %d llamadas ejecutadas en el fichero %s\n"
+msgid "call %2d never executed\n"
+msgstr "la llamada %2d nunca se ejecuta\n"
-#: gcov.c:1269
+#: gcov.c:1535
#, c-format
-msgid "No calls in file %s\n"
-msgstr "No hay llamadas en el fichero %s\n"
+msgid "call %2d returns %s\n"
+msgstr "la llamada %2d devuelve %s\n"
-#: gcov.c:1281
+#: gcov.c:1543
#, c-format
-msgid "Could not open source file %s.\n"
-msgstr "No se puede abrir el fichero de código fuente %s.\n"
+msgid "branch %2d never executed\n"
+msgstr "la ramificacion %2d nunca se ejecuta\n"
-#: gcov.c:1331
+#: gcov.c:1546
#, c-format
-msgid "Could not open output file %s.\n"
-msgstr "No se puede abrir el fichero de salida %s.\n"
+msgid "branch %2d taken %s\n"
+msgstr "ramificación %2d tomada %s\n"
-#: gcov.c:1339
+#: gcov.c:1610
#, c-format
msgid "Creating %s.\n"
msgstr "Creando %s.\n"
-#: gcov.c:1387
+#: gcov.c:1613
#, c-format
-msgid "call %d never executed\n"
-msgstr "la llamada %d nunca se ejecuta\n"
+msgid "Error writing output file %s.\n"
+msgstr "Error al escribir el fichero de salida %s.\n"
-#: gcov.c:1396
+#: gcov.c:1618
#, c-format
-msgid "call %d returns = %s\n"
-msgstr "la llamada %d devuelve = %s\n"
+msgid "Could not open output file %s.\n"
+msgstr "No se puede abrir el fichero de salida %s.\n"
-#: gcov.c:1406
+#: gcse.c:763
#, c-format
-msgid "call %d returns = %s%%\n"
-msgstr "la llamada %d devuelve = %s%%\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgstr "GCSE desactivado: %d > 1000 bloques básicos y %d >= 20 bloques borde/básicos"
-#: gcov.c:1413
+#: gcse.c:775
#, c-format
-msgid "branch %d never executed\n"
-msgstr "la ramificacion %d nunca se ejecuta\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
+msgstr "GCSE desactivado: %d bloques básicos y %d registros"
-#: gcov.c:1423
+#: genautomata.c:1490
#, c-format
-msgid "branch %d taken = %s\n"
-msgstr "ramificación %d tomada = %s\n"
+msgid "Name `%s' contains quotes"
+msgstr "El nombre `%s' contiene comillas"
-#: gcov.c:1433
+#: genautomata.c:1621
#, c-format
-msgid "branch %d taken = %s%%\n"
-msgstr "ramificación %d tomada = %s%%\n"
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr "cadena `%s' inválida en define_cpu_unit"
-#: gcov.c:1444
+#: genautomata.c:1650
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
-msgstr "EOF inesperado mientras se leía el fichero de código fuente %s.\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr "cadena `%s' inválida en define_query_cpu_unit"
-#: gcse.c:758
+#: genautomata.c:1682 genautomata.c:1685
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr "GCSE desactivado: %d > 1000 bloques básicos y %d >= 20 bloques borde/básicos"
+msgid "invalid string `%s' in define_bypass"
+msgstr "cadena `%s' inválida en define_bypass"
-#: gcse.c:770
+#: genautomata.c:1720
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
-msgstr "GCSE desactivado: %d bloques básicos y %d registros"
+msgid "invalid first string `%s' in exclusion_set"
+msgstr "primera cadena `%s' inválida en exclusion_set"
+
+#: genautomata.c:1724
+#, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr "segunda cadena `%s' inválida en exclusion_set"
+
+#: genautomata.c:1760
+#, c-format
+msgid "invalid first string `%s' in presence_set"
+msgstr "primera cadena `%s' inválida en presence_set"
+
+#: genautomata.c:1764
+#, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr "segunda cadena `%s' inválida en presence_set"
+
+#: genautomata.c:1800
+#, c-format
+msgid "invalid first string `%s' in absence_set"
+msgstr "primera cadena `%s' inválida en absence_set"
+
+#: genautomata.c:1804
+#, c-format
+msgid "invalid second string `%s' in absence_set"
+msgstr "segunda cadena `%s' inválida en absence_set"
+
+#: genautomata.c:1837
+#, c-format
+msgid "invalid string `%s' in define_automaton"
+msgstr "cadena `%s' inválida en define_automaton"
+
+#: genautomata.c:1868
+#, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "opción `%s' inválida en automata_option"
+
+#: genautomata.c:1890
+#, c-format
+msgid "garbage after ) in reservation `%s'"
+msgstr "basura después de ) en la reservación `%s'"
+
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "`%s' inválido en la reservación `%s'"
+
+#: genautomata.c:1932
+#, c-format
+msgid "repetition `%s' <= 1 in reservation `%s'"
+msgstr "repetición `%s' <= 1 en la reservación `%s'"
+
+#: genautomata.c:2425
+#, c-format
+msgid "unit `%s' in exclusion is not declared"
+msgstr "no se declaró la unidad `%s' en la exclusión"
+
+#: genautomata.c:2427
+#, c-format
+msgid "`%s' in exclusion is not unit"
+msgstr "`%s' en la exclusión no es una unidad"
+
+#: genautomata.c:2465
+#, c-format
+msgid "unit `%s' excludes itself"
+msgstr "la unidad `%s' se excluye a sí misma"
+
+#: genautomata.c:2473
+#, c-format
+msgid "units `%s' and `%s' in exclusion set belong to different automata"
+msgstr "las unidades `%s' y `%s' en el conjunto de exclusión pertenece a autómatas diferentes"
+
+#: genautomata.c:2603 genautomata.c:2609
+#, c-format
+msgid "unit `%s' excludes and requires presence of `%s'"
+msgstr "la unidad `%s' excluye y requiere la presencia de `%s'"
+
+#: genautomata.c:2623 genautomata.c:2629
+#, c-format
+msgid "unit `%s' requires absence and presence of `%s'"
+msgstr "la unidad `%s' requiere la ausencia y la presencia de `%s'"
+
+#: genautomata.c:2692 genautomata.c:2695
+#, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "declaración repetida del autómata `%s'"
+
+#: genautomata.c:2711
+#, c-format
+msgid "define_insn_reservation `%s' has negative latency time"
+msgstr "define_insn_reservation `%s' tiene un tiempo de latencia negativo"
+
+#: genautomata.c:2717
+#, c-format
+msgid "`%s' is already used as insn reservation name"
+msgstr "`%s' ya se utilizó como un nombre de reservación de insn"
+
+#: genautomata.c:2723
+#, c-format
+msgid "define_bypass `%s - %s' has negative latency time"
+msgstr "define_bypass `%s - %s' tiene un tiempo de latencia negativo"
+
+#: genautomata.c:2737
+#, c-format
+msgid "automaton `%s' is not declared"
+msgstr "el autómata `%s' no se declaró"
+
+#: genautomata.c:2747
+#, c-format
+msgid "define_unit `%s' without automaton when one defined"
+msgstr "define_unit `%s' sin un autómata cuando uno está definido"
+
+#: genautomata.c:2753
+#, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "`%s' está declarado como una unidad de cpu"
+
+#: genautomata.c:2762
+#, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "`%s' está declarado como una reservación de cpu"
+
+#: genautomata.c:2772
+#, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "declaración repetida de la unidad `%s'"
+
+#: genautomata.c:2775
+#, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "declaración repetida de la reservación `%s'"
+
+#: genautomata.c:2790 genautomata.c:2793
+#, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "no hay reservación de insn `%s' previa"
+
+#: genautomata.c:2810 genautomata.c:2815
+#, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr "el mismo bypass `%s - %s' ya está definido"
+
+#: genautomata.c:2820
+#, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "el bypass `%s - %s' ya está definido"
+
+#: genautomata.c:2925 genautomata.c:2927
+#, c-format
+msgid "automaton `%s' is not used"
+msgstr "el autómata `%s' no se utiliza"
+
+#: genautomata.c:2950
+#, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr "unidad o reservación `%s' sin declarar"
+
+#: genautomata.c:3028 genautomata.c:3030
+#, c-format
+msgid "unit `%s' is not used"
+msgstr "la unidad `%s' no se utiliza"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, c-format
+msgid "reservation `%s' is not used"
+msgstr "la reservación `%s' no se utiliza"
+
+#: genautomata.c:3134
+#, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "ciclo en la definición de la reservación `%s'"
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr "Las unidades `%s' y `%s' deben estar en el mismo autómata"
+
+#: genautomata.c:9441
+msgid "-split has no argument."
+msgstr "-split no tiene argumentos."
+
+#: genautomata.c:9442
+msgid "option `-split' has not been implemented yet\n"
+msgstr "la opción `-split' aún no se ha implementado\n"
+
+#: genautomata.c:9486 genautomata.c:9491
+#, c-format
+msgid "Automaton `%s': Insn `%s' will never be issued"
+msgstr "Autómata `%s': Insn `%s' nunca se utilizará"
-#: graph.c:421 profile.c:950 profile.c:958 toplev.c:1835 toplev.c:4978 f/com.c:14258 java/jcf-parse.c:950 java/jcf-parse.c:1099 java/lex.c:1790 objc/objc-act.c:529
+#: genautomata.c:9498 genautomata.c:9501
+#, c-format
+msgid "Insn `%s' will never be issued"
+msgstr "Insn `%s' nunca se utilizará"
+
+#: genautomata.c:9649
+msgid "Errors in DFA description"
+msgstr "Errores en la descripción DFA"
+
+#: genautomata.c:9732
+#, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "Error al escribir el fichero de descripción DFA %s"
+
+#: genconditions.c:196
+msgid "No input file name."
+msgstr "No hay nombre de fichero de entrada."
+
+#: graph.c:420 profile.c:1204 profile.c:1211 toplev.c:1836 toplev.c:5136
+#: f/com.c:14210 java/jcf-parse.c:917 java/jcf-parse.c:1063 java/lex.c:1776
+#: objc/objc-act.c:449
#, c-format
msgid "can't open %s"
-msgstr "no se puede abrir abrir %s"
+msgstr "no se puede abrir %s"
-#: haifa-sched.c:190
+#: haifa-sched.c:196
#, c-format
msgid "fix_sched_param: unknown param: %s"
msgstr "fix_sched_param: parámetro desconocido: %s"
-#: integrate.c:185
+#: integrate.c:174
msgid "function cannot be inline"
msgstr "la función no puede ser inline"
-#: integrate.c:190
+#: integrate.c:178
msgid "varargs function cannot be inline"
msgstr "la función varargs no puede ser inline"
-#: integrate.c:193
+#: integrate.c:181
msgid "function using alloca cannot be inline"
msgstr "la función que usa alloca no puede ser inline"
-#: integrate.c:196
+#: integrate.c:184
msgid "function using setjmp cannot be inline"
msgstr "la función que usa setjmp no puede ser inline"
-#: integrate.c:199
+#: integrate.c:187
msgid "function uses __builtin_eh_return"
msgstr "la función usa __builtin_eh_return"
-#: integrate.c:202
+#: integrate.c:190
msgid "function with nested functions cannot be inline"
msgstr "la función con funciones anidadas no puede ser inline"
-#: integrate.c:206
+#: integrate.c:194
msgid "function with label addresses used in initializers cannot inline"
-msgstr "la función con direcciones de etiquetas usada en iniciadores no puede ser inline"
+msgstr "la función con direcciones de etiquetas usada en los inicializadores no puede ser inline"
-#: integrate.c:213 integrate.c:257
+#: integrate.c:201 integrate.c:245
msgid "function too large to be inline"
msgstr "la función es demasiado grande para ser inline"
-#: integrate.c:223
+#: integrate.c:211
msgid "no prototype, and parameter address used; cannot be inline"
msgstr "no hay prototipo, y se usan direcciones de parámetro; no puede ser inline"
-#: integrate.c:230 integrate.c:275
+#: integrate.c:218 integrate.c:263
msgid "inline functions not supported for this return value type"
msgstr "no se da soport a funciones inline para este tipo de valor de devoluciòn"
-#: integrate.c:235
+#: integrate.c:223
msgid "function with varying-size return value cannot be inline"
msgstr "la función con valor de devolución de tamaño variable no puede ser inline"
-#: integrate.c:242
+#: integrate.c:230
msgid "function with varying-size parameter cannot be inline"
msgstr "la función con parámetro de tamaño variable no puede ser inline"
-#: integrate.c:245
+#: integrate.c:233
msgid "function with transparent unit parameter cannot be inline"
msgstr "la función con parámetro de unidad transparente no puede ser inline"
-#: integrate.c:264
+#: integrate.c:252
msgid "function with computed jump cannot inline"
msgstr "la función con salto calculado no puede ser inline"
-#: integrate.c:268
+#: integrate.c:256
msgid "function with nonlocal goto cannot be inline"
msgstr "la función con goto no local no puede ser inline"
-#: integrate.c:282
+#: integrate.c:270
msgid "function with target specific attribute(s) cannot be inlined"
msgstr "la función con atributo(s) específicos del objetivo no puede ser inline"
@@ -5912,55 +6271,56 @@ msgstr ""
msgid "invalid parameter `%s'"
msgstr "el parámetro `%s' es inválido"
-#: profile.c:429
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr "El análisis de perfil no coincide con la gráfica de flujo de la función %s (¿desactualizado?)"
+
+#: profile.c:400
+msgid ".da file corrupted"
+msgstr "fichero .da corrupto"
+
+#: profile.c:634
#, c-format
msgid "corrupted profile info: prob for %d-%d thought to be %d"
msgstr "información de análisis de perfil corrupta: la prueba para %d-%d debería ser %d"
-#: profile.c:975
+#: profile.c:1226
#, c-format
msgid "file %s not found, execution counts assumed to be zero"
msgstr "no se encuentra el fichero %s, se asume que la cuenta de ejecución es cero"
-#: profile.c:1022
-msgid ".da file contents exhausted too early"
-msgstr "el contenido del fichero .da se agotó demasiado pronto"
-
-#: profile.c:1025
-msgid ".da file contents not exhausted"
-msgstr "el contenido del fichero .da no se agotó"
-
-#: protoize.c:599
+#: protoize.c:542
#, c-format
msgid "%s: internal abort\n"
msgstr "%s: aborto interno\n"
-#: protoize.c:690
+#: protoize.c:633
#, c-format
msgid "%s: error writing file `%s': %s\n"
msgstr "%s: error al escribir al fichero `%s': %s\n"
-#: protoize.c:735
+#: protoize.c:678
#, c-format
msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
msgstr "%s: modo de empleo '%s [ -VqfnkN ] [ -i <cadena-i> ] [ nombre_fichero ... ]'\n"
-#: protoize.c:738
+#: protoize.c:681
#, c-format
msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
msgstr "%s: modo de empleo '%s [ -VqufnkNlgC ] [ -B <nombre_directorio> ] [ nombre_fichero ... ]'\n"
-#: protoize.c:845
+#: protoize.c:788
#, c-format
msgid "%s: warning: no read access for file `%s'\n"
msgstr "%s: aviso: no hay acceso de lectura para el fichero `%s'\n"
-#: protoize.c:853
+#: protoize.c:796
#, c-format
msgid "%s: warning: no write access for file `%s'\n"
msgstr "%s: aviso: no hay acceso de escritura para el fichero `%s'\n"
-#: protoize.c:861
+#: protoize.c:804
#, c-format
msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr "%s: aviso: no hay acceso de escritura para el directorio que contiene a `%s'\n"
@@ -5968,17 +6328,17 @@ msgstr "%s: aviso: no hay acceso de escritura para el directorio que contiene a
#. Catch cases like /.. where we try to backup to a
#. point above the absolute root of the logical file
#. system.
-#: protoize.c:1279
+#: protoize.c:1222
#, c-format
msgid "%s: invalid file name: %s\n"
msgstr "%s: nombre de fichero inválido: %s\n"
-#: protoize.c:1431
+#: protoize.c:1374
#, c-format
msgid "%s: %s: can't get status: %s\n"
msgstr "%s: %s: no se puede obtener el estado: %s\n"
-#: protoize.c:1452
+#: protoize.c:1395
#, c-format
msgid ""
"\n"
@@ -5987,137 +6347,137 @@ msgstr ""
"\n"
"%s: error fatal: fichero de información auxiliar corrupto en la línea %d\n"
-#: protoize.c:1788
+#: protoize.c:1731
#, c-format
msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr "%s:%d: la declaración de la función `%s' toma formas diferentes\n"
-#: protoize.c:2046
+#: protoize.c:1989
#, c-format
msgid "%s: compiling `%s'\n"
msgstr "%s: compilando `%s'\n"
-#: protoize.c:2069
+#: protoize.c:2012
#, c-format
msgid "%s: wait: %s\n"
msgstr "%s: esperar: %s\n"
-#: protoize.c:2074
+#: protoize.c:2017
#, c-format
msgid "%s: subprocess got fatal signal %d\n"
msgstr "%s: el subproceso recibió la señal fatal %d\n"
-#: protoize.c:2082
+#: protoize.c:2025
#, c-format
msgid "%s: %s exited with status %d\n"
msgstr "%s: %s terminó con estado %d\n"
-#: protoize.c:2134
+#: protoize.c:2077
#, c-format
msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr "%s: aviso: falta el fichero SYSCALLS `%s'\n"
-#: protoize.c:2143 protoize.c:2172
+#: protoize.c:2086 protoize.c:2115
#, c-format
msgid "%s: can't read aux info file `%s': %s\n"
msgstr "%s: no se puede leer el fichero de información auxiliar `%s': %s\n"
-#: protoize.c:2188 protoize.c:2216
+#: protoize.c:2131 protoize.c:2159
#, c-format
msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr "%s: no se puede obtener el estado del fichero de información auxiliar `%s': %s\n"
-#: protoize.c:2244
+#: protoize.c:2187
#, c-format
msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr "%s: no se puede abrir el fichero de información auxiliar `%s' para lectura: %s\n"
-#: protoize.c:2262
+#: protoize.c:2205
#, c-format
msgid "%s: error reading aux info file `%s': %s\n"
msgstr "%s: error al leer el fichero de información auxiliar `%s': %s\n"
-#: protoize.c:2275
+#: protoize.c:2218
#, c-format
msgid "%s: error closing aux info file `%s': %s\n"
msgstr "%s: error al cerrar el fichero de información auxiliar `%s': %s\n"
-#: protoize.c:2291
+#: protoize.c:2234
#, c-format
msgid "%s: can't delete aux info file `%s': %s\n"
msgstr "%s: no se puede borrar el fichero de información auxiliar `%s': %s\n"
-#: protoize.c:2373 protoize.c:4375
+#: protoize.c:2316 protoize.c:4318
#, c-format
msgid "%s: can't delete file `%s': %s\n"
msgstr "%s: no se puede borrar el fichero `%s': %s\n"
-#: protoize.c:2452
+#: protoize.c:2395
#, c-format
msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
msgstr "%s: aviso: no se puede renombrar el fichero `%s' a `%s': %s\n"
-#: protoize.c:2577
+#: protoize.c:2520
#, c-format
msgid "%s: conflicting extern definitions of '%s'\n"
msgstr "%s: definiciones extern de '%s' en conflicto\n"
-#: protoize.c:2581
+#: protoize.c:2524
#, c-format
msgid "%s: declarations of '%s' will not be converted\n"
msgstr "%s: las declaraciones de '%s' no se convertirán\n"
-#: protoize.c:2583
+#: protoize.c:2526
#, c-format
msgid "%s: conflict list for '%s' follows:\n"
msgstr "%s: listas de conflictos para '%s' a continuación:\n"
-#: protoize.c:2616
+#: protoize.c:2559
#, c-format
msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr "%s: aviso: usando listas formales de %s(%d) para la función `%s'\n"
-#: protoize.c:2656
+#: protoize.c:2599
#, c-format
msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr "%s: %d: se usa `%s' pero falta en SYSCALLS\n"
-#: protoize.c:2662
+#: protoize.c:2605
#, c-format
msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr "%s: %d: aviso: no hay definición extern para `%s'\n"
-#: protoize.c:2693
+#: protoize.c:2636
#, c-format
msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr "%s: aviso: no hay definición static para `%s' en el fichero `%s'\n"
-#: protoize.c:2699
+#: protoize.c:2642
#, c-format
msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr "%s: definiciones static múltiples de `%s' en el fichero `%s'\n"
-#: protoize.c:2872 protoize.c:2875
+#: protoize.c:2815 protoize.c:2818
#, c-format
msgid "%s: %d: warning: source too confusing\n"
msgstr "%s: %d: aviso: código fuente demasiado confuso\n"
-#: protoize.c:3081
+#: protoize.c:3024
#, c-format
msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr "%s: %d: aviso: no se convirtió la declaración de la función varargs\n"
-#: protoize.c:3096
+#: protoize.c:3039
#, c-format
msgid "%s: declaration of function `%s' not converted\n"
msgstr "%s: no se convirtió la declaración de la función `%s'\n"
-#: protoize.c:3219
+#: protoize.c:3162
#, c-format
msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr "%s: aviso: demasiadas listas de parámetros en la declaración de `%s'\n"
-#: protoize.c:3240
+#: protoize.c:3183
#, c-format
msgid ""
"\n"
@@ -6126,17 +6486,17 @@ msgstr ""
"\n"
"%s: aviso: muy pocas listas de parámetros en la declaración de `%s'\n"
-#: protoize.c:3338
+#: protoize.c:3281
#, c-format
msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr "%s: %d: aviso: se encontró `%s' pero se esperaba `%s'\n"
-#: protoize.c:3516
+#: protoize.c:3459
#, c-format
msgid "%s: local declaration for function `%s' not inserted\n"
msgstr "%s: no se insertó la declaración local para la función `%s'\n"
-#: protoize.c:3543
+#: protoize.c:3486
#, c-format
msgid ""
"\n"
@@ -6145,64 +6505,64 @@ msgstr ""
"\n"
"%s: %d: aviso: no se puede agregar la declaración de `%s' en la llamada a macro\n"
-#: protoize.c:3617
+#: protoize.c:3560
#, c-format
msgid "%s: global declarations for file `%s' not inserted\n"
msgstr "%s: no se insertaron las declaraciones globales para el fichero `%s'\n"
-#: protoize.c:3708 protoize.c:3738
+#: protoize.c:3651 protoize.c:3681
#, c-format
msgid "%s: definition of function `%s' not converted\n"
msgstr "%s: no se convirtió la definición de la función `%s'\n"
-#: protoize.c:3727
+#: protoize.c:3670
#, c-format
msgid "%s: %d: warning: definition of %s not converted\n"
msgstr "%s: %d: aviso: no se convirtió la definición de %s\n"
-#: protoize.c:4057
+#: protoize.c:4000
#, c-format
msgid "%s: found definition of `%s' at %s(%d)\n"
msgstr "%s: se encontró la definición de `%s' en %s(%d)\n"
#. If we make it here, then we did not know about this
#. function definition.
-#: protoize.c:4073
+#: protoize.c:4016
#, c-format
msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr "%s: %d: aviso: `%s' fue excluído por el preprocesamiento\n"
-#: protoize.c:4076
+#: protoize.c:4019
#, c-format
msgid "%s: function definition not converted\n"
msgstr "%s: no se convirtió la definición de la función\n"
-#: protoize.c:4135
+#: protoize.c:4078
#, c-format
msgid "%s: `%s' not converted\n"
msgstr "%s: no se convirtió `%s'\n"
-#: protoize.c:4143
+#: protoize.c:4086
#, c-format
msgid "%s: would convert file `%s'\n"
msgstr "%s: se podría convertir el fichero `%s'\n"
-#: protoize.c:4146
+#: protoize.c:4089
#, c-format
msgid "%s: converting file `%s'\n"
msgstr "%s: convirtiendo el fichero `%s'\n"
-#: protoize.c:4156
+#: protoize.c:4099
#, c-format
msgid "%s: can't get status for file `%s': %s\n"
msgstr "%s: no se puede obtener el estado del fichero `%s': %s\n"
-#: protoize.c:4198
+#: protoize.c:4141
#, c-format
msgid "%s: can't open file `%s' for reading: %s\n"
msgstr "%s: no se puede abrir el fichero `%s' para lectura: %s\n"
-#: protoize.c:4213
+#: protoize.c:4156
#, c-format
msgid ""
"\n"
@@ -6211,321 +6571,281 @@ msgstr ""
"\n"
"%s: error al leer el fichero de entrada `%s': %s\n"
-#: protoize.c:4247
+#: protoize.c:4190
#, c-format
msgid "%s: can't create/open clean file `%s': %s\n"
msgstr "%s: no se puede crear/abrir el fichero limpio `%s': %s\n"
-#: protoize.c:4352
+#: protoize.c:4295
#, c-format
msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr "%s: aviso: el fichero `%s' ya había sido guardado en `%s'\n"
-#: protoize.c:4360
+#: protoize.c:4303
#, c-format
msgid "%s: can't link file `%s' to `%s': %s\n"
msgstr "%s: no se puede enlazar el fichero `%s' a `%s': %s\n"
-#: protoize.c:4390
+#: protoize.c:4333
#, c-format
msgid "%s: can't create/open output file `%s': %s\n"
msgstr "%s: no se puede crear/abrir el fichero de salida `%s': %s\n"
-#: protoize.c:4423
+#: protoize.c:4366
#, c-format
msgid "%s: can't change mode of file `%s': %s\n"
msgstr "%s: no se puede cambiar el modo del fichero `%s': %s\n"
-#: protoize.c:4598
+#: protoize.c:4541
#, c-format
msgid "%s: cannot get working directory: %s\n"
msgstr "%s: no se puede obtener el directorio de trabajo: %s\n"
-#: protoize.c:4696
+#: protoize.c:4639
#, c-format
msgid "%s: input file names must have .c suffixes: %s\n"
msgstr "%s: los nombres de fichero de entrada deben tener sufijos .c: %s\n"
-#: real.c:824 real.c:1001
-msgid "conversion from NaN to int"
-msgstr "conversión de NaN a int"
-
-#: real.c:847
-msgid "conversion from NaN to unsigned int"
-msgstr "conversión de NaNa a unsigned int"
-
-#: real.c:2730
-msgid "floating point overflow"
-msgstr "desbordamiento de coma flotante"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr "No se puede encontrar un coloreado.\n"
-#: real.c:4395 real.c:6675 real.c:6756
-msgid "overflow on truncation to integer"
-msgstr "desbordamiento en truncado a entero"
-
-#: real.c:4467
-msgid "overflow on truncation to unsigned integer"
-msgstr "desbordamiento en el truncado a unsigned integer"
-
-#: real.c:5812
-#, c-format
-msgid "%s: argument domain error"
-msgstr "%s: error de dominio del argumento"
-
-#: real.c:5813
-#, c-format
-msgid "%s: function singularity"
-msgstr "%s: singularidad de la función"
-
-#: real.c:5814
-#, c-format
-msgid "%s: overflow range error"
-msgstr "%s: desbordamiento del error de rango"
-
-#: real.c:5815
-#, c-format
-msgid "%s: underflow range error"
-msgstr "%s: desbordamiento por debajo del error de rango"
-
-#: real.c:5816
-#, c-format
-msgid "%s: total loss of precision"
-msgstr "%s: pérdida total de precisión"
-
-#: real.c:5817
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr "%s: pérdida parcial de precisión"
-
-#: real.c:5818
-#, c-format
-msgid "%s: NaN - producing operation"
-msgstr "%s: NaN - produciendo una operación"
-
-#: reg-stack.c:677
+#: reg-stack.c:670
#, c-format
msgid "output constraint %d must specify a single register"
msgstr "la restricción de salida %d debe especificar un solo registro"
# ¿Cómo traducir 'clobber'? cfuga
-#: reg-stack.c:687
+#: reg-stack.c:680
#, c-format
msgid "output constraint %d cannot be specified together with \"%s\" clobber"
msgstr "la restricción de salida %d no puede ser usada junto con el ataque \"%s\""
-#: reg-stack.c:710
+#: reg-stack.c:703
msgid "output regs must be grouped at top of stack"
msgstr "los registros de salida deben ser agrupados en la parte superior de la pila"
-#: reg-stack.c:747
+#: reg-stack.c:740
msgid "implicitly popped regs must be grouped at top of stack"
msgstr "los registros extraídos implícitamente deben ser agrupados en la parte superior de la pila"
-#: reg-stack.c:766
+#: reg-stack.c:759
#, c-format
msgid "output operand %d must use `&' constraint"
msgstr "el operando de salida %d debe usar la restricción `&'"
-#: regclass.c:778
+#: regclass.c:756
#, c-format
msgid "can't use '%s' as a %s register"
msgstr "no se puede usar '%s' como un registro %s"
-#: regclass.c:793 config/ia64/ia64.c:3840 config/ia64/ia64.c:3847
+#: regclass.c:771 config/ia64/ia64.c:4265 config/ia64/ia64.c:4272
#, c-format
msgid "unknown register name: %s"
msgstr "nombre de registro desconocido: %s"
-#: regclass.c:804
+#: regclass.c:782
msgid "global register variable follows a function definition"
msgstr "la variable de registro global sigue a una definiciónd de función"
-#: regclass.c:808
+#: regclass.c:786
msgid "register used for two global register variables"
msgstr "nombre de registro usado por dos variables de registro globales"
-#: regclass.c:813
+#: regclass.c:791
msgid "call-clobbered register used for global register variable"
msgstr "registro de llamada alterada usado para una variable de registro global"
-#: regrename.c:1845
+#: regrename.c:1899
#, c-format
msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr "validate_value_data: [%u] next_regno erróneo para la cadena vacía (%u)"
-#: regrename.c:1857
+#: regrename.c:1911
#, c-format
msgid "validate_value_data: Loop in regno chain (%u)"
msgstr "validate_value_data: Ciclo en la cadena regno (%u)"
-#: regrename.c:1860
+#: regrename.c:1914
#, c-format
msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr "validate_value_data: [%u] oldest_regno erróneo (%u)"
-#: regrename.c:1872
+#: regrename.c:1926
#, c-format
msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr "validate_value_data: [%u] Registro no vacío en la cadena (%s %u %i)"
-#: reload.c:1208
+#: reload.c:1229
msgid "cannot reload integer constant operand in `asm'"
msgstr "no se puede recargar operandos constantes enteros en `asm'"
-#: reload.c:1230
+#: reload.c:1251
msgid "impossible register constraint in `asm'"
msgstr "es imposible inicio la restricción de registros en `asm'"
-#: reload.c:3389
+#: reload.c:3461
msgid "`&' constraint used with no register class"
msgstr "se usó la restricción `&' sin una clase de registro"
-#: reload.c:3557
+#: reload.c:3629
msgid "unable to generate reloads for:"
msgstr "no se pueden generar recargas para:"
-#: reload.c:3558 reload.c:3772
+#: reload.c:3630 reload.c:3844
msgid "inconsistent operand constraints in an `asm'"
msgstr "restricciones de operandos inconsistentes en un `asm'"
-#: reload1.c:1247
+#: reload1.c:1250
msgid "frame size too large for reliable stack checking"
msgstr "el tamaño del marco es demasiado grande para una revisión confiable de la pila"
-#: reload1.c:1250
+#: reload1.c:1253
msgid "try reducing the number of local variables"
msgstr "intente reducir el número de variables locales"
-#: reload1.c:1902
+#: reload1.c:1909
#, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr "no se puede encontrar un registro en la clase `%s' mientras se recarga `asm'"
-#: reload1.c:1906
+#: reload1.c:1913
#, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr "no se puede encontrar un registro para vaciar la clase `%s'"
-#: reload1.c:1908
+#: reload1.c:1915
msgid "this is the insn:"
msgstr "este es el insn:"
-#: reload1.c:3924
+#: reload1.c:3938
msgid "`asm' operand requires impossible reload"
msgstr "el operando `asm' requiere una recarga imposible"
#. It's the compiler's fault.
-#: reload1.c:5040
+#: reload1.c:5052
msgid "could not find a spill register"
msgstr "no se puede encontrar un registro de vaciado"
-#: reload1.c:5045
+#: reload1.c:5057
msgid "`asm' operand constraint incompatible with operand size"
msgstr "la restricción del operando `asm' es incompatible con el tamaño del operando"
#. It's the compiler's fault.
-#: reload1.c:6639
+#: reload1.c:6677
msgid "VOIDmode on an output"
msgstr "modoVOID en una salida"
-#: reload1.c:6640
+#: reload1.c:6678
msgid "output operand is constant in `asm'"
msgstr "el operando de salida es constante en `asm'"
-#: rtl-error.c:139
+#: rtl-error.c:140
msgid "unrecognizable insn:"
msgstr "insn no reconocible:"
-#: rtl-error.c:141
+#: rtl-error.c:142
msgid "insn does not satisfy its constraints:"
msgstr "insn no satisface sus restricciones:"
-#: rtl.c:627
+#: rtl.c:535
#, c-format
msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
msgstr "Revisión RTL: acceso de elt %d de `%s' con el último elt %d en %s, en %s:%d"
-#: rtl.c:642
+#: rtl.c:550
#, c-format
msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr "Revisión RTL: se esperaba el tipo elt %d '%c', se tiene '%c' (rtx %s) en %s, en %s:%d"
-#: rtl.c:658
+#: rtl.c:566
#, c-format
msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr "Revisión RTL: se esperaba el tipo elt %d '%c' ó '%c', se tiene '%c' (rtx %s) en %s, en%s:%d"
-#: rtl.c:671
+#: rtl.c:579
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr "Revisión RTL: se esperaba el código `%s', se tiene `%s' en %s, en %s:%d"
-#: rtl.c:685
+#: rtl.c:593
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr "Revisión RTL: se esperaba el código `%s' ó ``%s', se tiene `%s' en %s, en %s:%d"
-#: rtl.c:700
+#: rtl.c:608
#, c-format
msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
msgstr "Revisión RTL: acceso de elt %d de vector con el último elt %d en %s, en %s:%d"
-#: stmt.c:927
+#: rtl.c:623
+#, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr "Revisión de opción RTL: se usó %s con el código rtx inesperado `%s' en %s, en %s:%d"
+
+#: stmt.c:766
#, c-format
msgid "jump to `%s' invalidly jumps into binding contour"
msgstr "el salto a `%s' salta de forma inválida a un contorno de unión"
-#: stmt.c:1163 stmt.c:3755
+#: stmt.c:1002 stmt.c:3766
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr "se usó antes la etiqueta `%s' que contenía un contorno de unión"
-#: stmt.c:1343
+#: stmt.c:1190
msgid "output operand constraint lacks `='"
msgstr "la restricción de operando de salida carece de `='"
-#: stmt.c:1358
+#: stmt.c:1205
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr "la restricción de salida `%c' para el operando %d no está al principio"
-#: stmt.c:1380
+#: stmt.c:1227
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr "la restriccion de operando contiene '+' ó '=' en una posición ilegal"
-#: stmt.c:1386 stmt.c:1486
+#: stmt.c:1233 stmt.c:1337
#, c-format
msgid "`%%' constraint used with last operand"
msgstr "se usó la restricción `%%' con el último operando"
-#: stmt.c:1405
+#: stmt.c:1252
msgid "matching constraint not valid in output operand"
msgstr "la restricción coincidente no es válida en el operando de salida"
-#: stmt.c:1477
+#: stmt.c:1328
#, c-format
msgid "input operand constraint contains `%c'"
msgstr "la restrcción de operando de entrada contiene `%c'"
-#: stmt.c:1517
+#: stmt.c:1368
msgid "matching constraint references invalid operand number"
msgstr "la restricción de coincidencia hace referencia a un número de operando no válido"
-#: stmt.c:1549
+#: stmt.c:1400
#, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr "puntuación inválida `%c' en la restricción"
-#: stmt.c:1645
+# FIXME: encontrar una mejor traducción para `clobber' en este contexto. cfuga
+#: stmt.c:1450
+#, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "los calificadores asm para la variable `%s' generan conflicto con la liasta de agrupación asm"
+
+#: stmt.c:1540
#, c-format
msgid "unknown register name `%s' in `asm'"
msgstr "nombre de registro `%s' desconocido en `asm'"
-#: stmt.c:1689
+#: stmt.c:1588
#, c-format
msgid "more than %d operands in `asm'"
msgstr "más de %d operandos en `asm'"
-#: stmt.c:1748
+#: stmt.c:1650
#, c-format
msgid "output number %d not directly addressable"
msgstr "el número de salida %d no es directamente direccionable"
@@ -6533,99 +6853,116 @@ msgstr "el número de salida %d no es directamente direccionable"
#. ??? Leave this only until we have experience with what
#. happens in combine and elsewhere when constraints are
#. not satisfied.
-#: stmt.c:1817 stmt.c:1846
+#: stmt.c:1726 stmt.c:1758
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr "el operando asm %d probablemente no coincide con las restricciones"
-#: stmt.c:1992
+#: stmt.c:1889
+msgid "asm clobber conflict with output operand"
+msgstr "la agrupación asm causa conflictos con el operando de salida"
+
+#: stmt.c:1894
+msgid "asm clobber conflict with input operand"
+msgstr "la agrupación asm causa conflictos con el operando de entrada"
+
+#: stmt.c:1929
msgid "too many alternatives in `asm'"
msgstr "demasiadas alternativas en `asm'"
-#: stmt.c:2004
+#: stmt.c:1941
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr "las restricciones de operandos para `asm' difieren en el número de alternativas"
-#: stmt.c:2057
+#: stmt.c:1994
#, c-format
msgid "duplicate asm operand name '%s'"
msgstr "nombre `%s' de operando asm duplicado"
-#: stmt.c:2144
+#: stmt.c:2081
msgid "missing close brace for named operand"
msgstr "falta la llave final para el operando nombrado"
-#: stmt.c:2172
+#: stmt.c:2109
#, c-format
msgid "undefined named operand '%s'"
msgstr "operador '%s' nombrado sin definir"
-#: stmt.c:3692
+#: stmt.c:3703
#, c-format
msgid "unused variable `%s'"
msgstr "variable `%s' sin uso"
-#: stmt.c:5167
+#: stmt.c:5189
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr "el valor de enumeración `%s' no se maneja en un switch"
-#: stmt.c:5193 stmt.c:5213
+#: stmt.c:5214 stmt.c:5234
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr "el valor de case `%ld' no es un tipo enumerado"
-#: stmt.c:5196 stmt.c:5216
+#: stmt.c:5217 stmt.c:5237
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr "el valor de case `%ld' no es un tipo enumerado `%s'"
-#: stor-layout.c:173
+#: stmt.c:5310
+msgid "switch missing default case"
+msgstr "falta el case por omisión para un switch"
+
+#: stor-layout.c:178
msgid "type size can't be explicitly evaluated"
msgstr "el tamaño del tipo no puede ser evaluado explícitamente"
-#: stor-layout.c:175
+#: stor-layout.c:180
msgid "variable-size type declared outside of any function"
msgstr "tipo de tamaño variable declarado fuera de cualquier función"
-#: stor-layout.c:456
+#: stor-layout.c:487
#, c-format
msgid "size of `%s' is %d bytes"
msgstr "el tamaño de `%s' es de %d bytes"
-#: stor-layout.c:458
+#: stor-layout.c:489
#, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr "el tamaño de `%s' es mayor que %d bytes"
-#: stor-layout.c:856 stor-layout.c:1157
+#: stor-layout.c:906 stor-layout.c:1322
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr "el atributo packed causa una alineación ineficiente para `%s'"
-#: stor-layout.c:858 stor-layout.c:1159
+#: stor-layout.c:908 stor-layout.c:1324
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr "no es necesario el atributo packed para `%s'"
-#: stor-layout.c:873
+#: stor-layout.c:923
#, c-format
msgid "padding struct to align `%s'"
msgstr "estructura de relleno para alinear `%s'"
-#: stor-layout.c:1121
+#: stor-layout.c:1286
msgid "padding struct size to alignment boundary"
msgstr "tamaño de la estructura de relleno para los límites de alineación"
-#: stor-layout.c:1164
+#: stor-layout.c:1329
msgid "packed attribute causes inefficient alignment"
-msgstr "el atributo packed causa uan alineación ineficiente"
+msgstr "el atributo packed causa una alineación ineficiente"
-#: stor-layout.c:1166
+#: stor-layout.c:1331
msgid "packed attribute is unnecessary"
msgstr "no es necesario el atributo packed"
-#: timevar.c:448
+#: timevar.c:322
+#, c-format
+msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+msgstr "no se puede hacer timevar_pop '%s' cuando el tope de la pila timevars es '%s'"
+
+#: timevar.c:453
msgid ""
"\n"
"Execution times (seconds)\n"
@@ -6634,760 +6971,803 @@ msgstr ""
"Tiempos de ejecución (segundos)\n"
#. Print total time.
-#: timevar.c:498
+#: timevar.c:503
msgid " TOTAL :"
msgstr " TOTAL :"
-#: timevar.c:534
+#: timevar.c:539
#, c-format
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr "tiempo en %s: %ld.%06ld (%ld%%)\n"
-#: tlink.c:428
+#: tlink.c:399
#, c-format
msgid "collect: reading %s\n"
msgstr "collect: leyendo %s\n"
-#: tlink.c:532
+#: tlink.c:502
#, c-format
msgid "collect: recompiling %s\n"
msgstr "collect: recompilando %s\n"
-#: tlink.c:698
+#: tlink.c:674
#, c-format
msgid "collect: tweaking %s in %s\n"
msgstr "collect: alterando %s en %s\n"
-#: tlink.c:745
+#: tlink.c:721
msgid "collect: relinking\n"
msgstr "collect: reenlazando\n"
-#: tlink.c:754
+#: tlink.c:730
#, c-format
msgid "ld returned %d exit status"
msgstr "ld devolvió el estado de salida %d"
-#: toplev.c:895
+#: toplev.c:920
msgid "Generate debugging info in default format"
msgstr "Generar información de depuración en el formato por omisión"
-#: toplev.c:896
+#: toplev.c:921
msgid "Generate debugging info in default extended format"
msgstr "Generar información de depuración en el formato extendido por omisión"
-#: toplev.c:898
+#: toplev.c:923
msgid "Generate STABS format debug info"
msgstr "Generar información de depuración en el formato STABS"
-#: toplev.c:899
+#: toplev.c:924
msgid "Generate extended STABS format debug info"
msgstr "Generar información de depuración en el formato STABS extendido"
-#: toplev.c:902
+#: toplev.c:927
msgid "Generate DWARF-1 format debug info"
msgstr "Generar información de depuración en el formato DWARF-1"
-#: toplev.c:904
+#: toplev.c:929
msgid "Generate extended DWARF-1 format debug info"
msgstr "Generar información de depuración en el formato DWARF-1 extendido"
-#: toplev.c:907
+#: toplev.c:932
msgid "Generate DWARF-2 debug info"
msgstr "Generar información de depuración en el formato DWARF-2"
-#: toplev.c:910
+#: toplev.c:935
msgid "Generate XCOFF format debug info"
msgstr "Generar información de depuración en el formato XCOFF"
-#: toplev.c:911
+#: toplev.c:936
msgid "Generate extended XCOFF format debug info"
msgstr "Generar información de depuración en el formato XCOFF extendido"
-#: toplev.c:914
+#: toplev.c:939
msgid "Generate COFF format debug info"
msgstr "Generar información de depuración en el formato XCOFF"
-#: toplev.c:917
+#: toplev.c:942
msgid "Generate VMS format debug info"
msgstr "Generar información de depuración en el formato VMS"
-#: toplev.c:961
+#: toplev.c:981
msgid "Perform DWARF2 duplicate elimination"
msgstr "Realizar la eliminación de DWARF2 duplicados"
-#: toplev.c:963
+#: toplev.c:983
msgid "Do not store floats in registers"
msgstr "No guardar floats en registros"
-#: toplev.c:965
+#: toplev.c:985
msgid "Consider all mem refs through pointers as volatile"
msgstr "Considerar todas las referencias a memoria a través de apuntadores como volatile"
-#: toplev.c:967
+#: toplev.c:987
msgid "Consider all mem refs to global data to be volatile"
msgstr "Considerar todas las referencias a datos globales como volatile"
-#: toplev.c:969
+#: toplev.c:989
msgid "Consider all mem refs to static data to be volatile"
msgstr "Considerar todas las referencias a datos static como volatile"
-#: toplev.c:971
+#: toplev.c:991
msgid "Defer popping functions args from stack until later"
msgstr "Postergar la extracción de argumentos de funciones de la pila hasta más tarde"
-#: toplev.c:973
+#: toplev.c:993
msgid "When possible do not generate stack frames"
msgstr "Cuando sea posible no generar marcos de pila"
-#: toplev.c:975
+#: toplev.c:995
msgid "Optimize sibling and tail recursive calls"
msgstr "Optimizar las llamadas recursivas hermanadas y de extremo"
-#: toplev.c:977
+#: toplev.c:997
+msgid "Perform superblock formation via tail duplication"
+msgstr "Realizar la formación de superbloques a través de la duplicación de colas"
+
+#: toplev.c:999
msgid "When running CSE, follow jumps to their targets"
msgstr "Cuando se esté ejecutando CSE, seguir a los saltos a sus objetivos"
-#: toplev.c:979
+#: toplev.c:1001
msgid "When running CSE, follow conditional jumps"
msgstr "Cuando se esté ejecutando CSE, seguir a los saltos condicionales"
-#: toplev.c:981
+#: toplev.c:1003
msgid "Perform a number of minor, expensive optimizations"
msgstr "Realizar un número de optimizaciones menores y costosas"
-#: toplev.c:983
+#: toplev.c:1005
msgid "Perform jump threading optimizations"
msgstr "Realizar optimizaciones de hilado de saltos"
-#: toplev.c:985
+#: toplev.c:1007
msgid "Perform strength reduction optimizations"
msgstr "Realizar optimizaciones de reducción de fuerza"
-#: toplev.c:987
+#: toplev.c:1009
msgid "Perform loop unrolling when iteration count is known"
msgstr "Realizar el desenrollamiento del ciclo cuando se conoce la cuenta de iteración"
-#: toplev.c:989
+#: toplev.c:1011
msgid "Perform loop unrolling for all loops"
msgstr "Realizar el desenrollamiento del ciclo para todos los ciclos"
-#: toplev.c:991
+#: toplev.c:1013
msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr "Generar instrucciones de precargado, si están disponibles, para matrices en ciclos"
-#: toplev.c:993
+#: toplev.c:1015
msgid "Force all loop invariant computations out of loops"
msgstr "Forzar que todas las computaciones invariantes del ciclo sean fuera del ciclo"
-#: toplev.c:995
+#: toplev.c:1017
msgid "Strength reduce all loop general induction variables"
msgstr "Reducir la fuerza de todas las variables generales de inducción de ciclo"
-#: toplev.c:997
+#: toplev.c:1019
msgid "Store strings in writable data section"
msgstr "Guardar las cadenas en la sección de datos modificables"
-#: toplev.c:999
+#: toplev.c:1021
msgid "Enable machine specific peephole optimizations"
msgstr "Activar las optimizaciones de mirilla específicas de la máquina"
-#: toplev.c:1001
+#: toplev.c:1023
msgid "Copy memory operands into registers before using"
msgstr "Copiar los operandos de memoria en registros antes de usarlos"
-#: toplev.c:1003
+#: toplev.c:1025
msgid "Copy memory address constants into regs before using"
msgstr "Copiar las constantes de direcciones de memoria en registros antes de usarlos"
-#: toplev.c:1005
+#: toplev.c:1027
msgid "Allow function addresses to be held in registers"
msgstr "Permitir que las direcciones de las funciones se conservern en registros"
-#: toplev.c:1007
+#: toplev.c:1029
msgid "Integrate simple functions into their callers"
msgstr "Integrar las funciones simples en sus invocadores"
-#: toplev.c:1009
+#: toplev.c:1031
msgid "Generate code for funcs even if they are fully inlined"
msgstr "Generar códio para las funciones aún si están completamente inline"
-#: toplev.c:1011
+#: toplev.c:1033
msgid "Pay attention to the 'inline' keyword"
msgstr "Poner atención a la palabra clave 'inline'"
-#: toplev.c:1013
+#: toplev.c:1035
msgid "Emit static const variables even if they are not used"
msgstr "Emitir variables static const aún si no se usan"
-#: toplev.c:1015
+#: toplev.c:1037
msgid "Check for syntax errors, then stop"
msgstr "Buscar errores de sintaxis, y entonces detenerse"
-#: toplev.c:1017
+#: toplev.c:1039
msgid "Mark data as shared rather than private"
msgstr "Marcar datos como compartidos en lugar de privados"
-#: toplev.c:1019
+#: toplev.c:1041
msgid "Enable saving registers around function calls"
msgstr "Permitir guardar registros alrededor de llamadas de función"
-#: toplev.c:1021
+#: toplev.c:1043
msgid "Return 'short' aggregates in memory, not registers"
msgstr "Devolver los agregados 'short' en memoria, no en registros"
-#: toplev.c:1023
+#: toplev.c:1045
msgid "Return 'short' aggregates in registers"
msgstr "Devolver los agregados 'short' en registros"
-#: toplev.c:1025
+#: toplev.c:1047
msgid "Attempt to fill delay slots of branch instructions"
msgstr "Intentar rellenar las ranuras de retraso de las instrucciones de ramificación"
-#: toplev.c:1027
+#: toplev.c:1049
msgid "Perform the global common subexpression elimination"
msgstr "Realizar la eliminación de subexpresiones comunes globales"
-#: toplev.c:1029
+#: toplev.c:1051
msgid "Perform enhanced load motion during global subexpression elimination"
msgstr "Realizar el movimiento de la carga mejorada durante la eliminación de subexpresiones globales"
-#: toplev.c:1031
+#: toplev.c:1053
msgid "Perform store motion after global subexpression elimination"
msgstr "Realizar el movimiento de guardado después de la eliminación de subexpresiones globales"
-#: toplev.c:1033
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr "Realizar las optimizaciones de ciclo"
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr "Realizar optimizaciones de saltos cruzados"
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
+msgstr "Realizar la conversión de saltos condicionales a equivalentes sin ramificación"
+
+#: toplev.c:1061
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr "Realizar la conversión de saltos condicionales a ejecución condicional"
+
+#: toplev.c:1063
msgid "Run CSE pass after loop optimizations"
msgstr "Ejecutar un paso CSE después de las optimizaciones de ciclos"
-#: toplev.c:1035
+#: toplev.c:1065
msgid "Run the loop optimizer twice"
msgstr "Ejecutar el optimizador de ciclos dos veces"
-#: toplev.c:1037
+#: toplev.c:1067
msgid "Delete useless null pointer checks"
msgstr "Borrar las revisiones de apuntadores nulos sin uso"
-#: toplev.c:1039
-msgid "Pretend that host and target use the same FP format"
-msgstr "Pretender que el anfitrión y el objetivo utilizan el mismo formato de FP"
-
-#: toplev.c:1041
+#: toplev.c:1069
msgid "Reschedule instructions before register allocation"
msgstr "Recalendarizar las instrucciones antes del alojamiento de registros"
-#: toplev.c:1043
+#: toplev.c:1071
msgid "Reschedule instructions after register allocation"
msgstr "Recalendarizar las instrucciones después del alojamiento de registros"
-#: toplev.c:1045
+#: toplev.c:1073
msgid "Enable scheduling across basic blocks"
msgstr "Activar la calendarización entre bloques básicos"
-#: toplev.c:1047
+#: toplev.c:1075
msgid "Allow speculative motion of non-loads"
msgstr "Permitir el movimiento especulativo de ninguna carga"
-#: toplev.c:1049
+#: toplev.c:1077
msgid "Allow speculative motion of some loads"
msgstr "Permitir el movimiento especulativo de algunas cargas"
-#: toplev.c:1051
+#: toplev.c:1079
msgid "Allow speculative motion of more loads"
msgstr "Permitir el movimiento especulativo de más cargas"
-#: toplev.c:1053
+#: toplev.c:1081
msgid "Replace add,compare,branch with branch on count reg"
msgstr "Reemplazar add,compare,branch con branch en la cuenta de registros"
-#: toplev.c:1055
+#: toplev.c:1083
msgid "Generate position independent code, if possible"
msgstr "Generar código independiente de posición, si es posible"
-#: toplev.c:1058
+#: toplev.c:1086
msgid "Enable exception handling"
msgstr "Activar el manejo de excepciones"
-#: toplev.c:1060
+#: toplev.c:1088
msgid "Just generate unwind tables for exception handling"
msgstr "Sólo generar tablas de desenredo para manejo de excepciones"
-#: toplev.c:1062
+#: toplev.c:1090
msgid "Generate unwind tables exact at each instruction boundary"
msgstr "Generar tablas de desenredo exactamente en cada límite de instrucción"
-#: toplev.c:1064
+#: toplev.c:1092
msgid "Support synchronous non-call exceptions"
msgstr "Soporte para excepciones síncronas no de llamadas"
-#: toplev.c:1066
+#: toplev.c:1094
msgid "Insert arc based program profiling code"
msgstr "Insertar código de análisis de perfil basado en el programa arc"
-#: toplev.c:1068
+#: toplev.c:1096
msgid "Create data files needed by gcov"
msgstr "Crear ficheros de datos necesarios para gcov"
-#: toplev.c:1070
+#: toplev.c:1098
msgid "Use profiling information for branch probabilities"
msgstr "Usar la información de análisis de perfil para las probabilidades de ramificación"
-#: toplev.c:1072
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr "Activar el código básico de análisis de perfil del programa"
+
+#: toplev.c:1102
msgid "Reorder basic blocks to improve code placement"
msgstr "Reordenar los bloques básicos para mejorar la ubicación del código"
-#: toplev.c:1074
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr "Reordenar las funciones para mejorar la ubicación del código"
+
+#: toplev.c:1106
msgid "Do the register renaming optimization pass"
msgstr "Hacer el paso de optimización de renombrado de registros"
-#: toplev.c:1076
+#: toplev.c:1108
msgid "Do the register copy-propagation optimization pass"
msgstr "Hacer el paso de optimización de copia-propagación de registros"
-#: toplev.c:1078
+#: toplev.c:1110
msgid "Do not put uninitialized globals in the common section"
-msgstr "No poner globales sin iniciar en la sección común"
+msgstr "No poner globales sin inicializar en la sección común"
-#: toplev.c:1080
+#: toplev.c:1112
msgid "Do not generate .size directives"
msgstr "No generar directivas .size"
-#: toplev.c:1082
+#: toplev.c:1114
msgid "place each function into its own section"
msgstr "colocar cada función en su propia sección"
-#: toplev.c:1084
+#: toplev.c:1116
msgid "place data items into their own section"
msgstr "colocar los elementos de datos en su propia sección"
-#: toplev.c:1086
-msgid "Add extra commentry to assembler output"
+#: toplev.c:1118
+msgid "Add extra commentary to assembler output"
msgstr "Agregar comentarios extra a la salida de ensamblador"
-#: toplev.c:1088
+#: toplev.c:1120
msgid "Output GNU ld formatted global initializers"
-msgstr "Obtener iniciadores globales con formato para ld de GNU"
+msgstr "Obtener inicializadores globales con formato para ld de GNU"
-#: toplev.c:1090
+#: toplev.c:1122
msgid "Enables a register move optimization"
msgstr "Permite una optimización de movimiento de registros"
-#: toplev.c:1092
+#: toplev.c:1124
msgid "Do the full regmove optimization pass"
msgstr "Hace el paso completo de optimización de movimiento de registros"
-#: toplev.c:1094
+#: toplev.c:1126
msgid "Pack structure members together without holes"
msgstr "Empaqueta juntos a los miembros de la estructura sin agujeros"
-#: toplev.c:1096
+#: toplev.c:1128
msgid "Insert stack checking code into the program"
msgstr "Inserta código de revisión de la pila en el programa"
-#: toplev.c:1098
+#: toplev.c:1130
msgid "Specify that arguments may alias each other & globals"
msgstr "Especifica que los argumentos pueden ser alias de cada otro y de los globales"
-#: toplev.c:1100
+#: toplev.c:1132
msgid "Assume arguments may alias globals but not each other"
msgstr "Asumir que los argumentos pueden ser alias de globales pero no de cada otro"
-#: toplev.c:1102
+#: toplev.c:1134
msgid "Assume arguments do not alias each other or globals"
msgstr "Asumir que los argumentos no pueden ser alias de globales o de cada otro"
-#: toplev.c:1104
+#: toplev.c:1136
msgid "Assume strict aliasing rules apply"
msgstr "Asumir que se aplican las reglas estrictas de alias"
-#: toplev.c:1106
+#: toplev.c:1138
msgid "Align the start of loops"
msgstr "Alinear el inicio de los ciclos"
-#: toplev.c:1108
+#: toplev.c:1140
msgid "Align labels which are only reached by jumping"
msgstr "Alinear las etiquetas que solamente se alcanzan saltando"
-#: toplev.c:1110
+#: toplev.c:1142
msgid "Align all labels"
msgstr "Alinear todas las etiquetas"
-#: toplev.c:1112
+#: toplev.c:1144
msgid "Align the start of functions"
msgstr "Alinear el inicio de las funciones"
-#: toplev.c:1114
-msgid "Attempt to merge identical constants accross compilation units"
+#: toplev.c:1146
+msgid "Attempt to merge identical constants across compilation units"
msgstr "Intentar mezclar constantes idénticas a través de las unidades de compilación"
-#: toplev.c:1116
+#: toplev.c:1148
msgid "Attempt to merge identical constants and constant variables"
msgstr "Intentar mezclar constantes idénticas y variables constantes"
-#: toplev.c:1118
+#: toplev.c:1150
msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr "Suprimir la salida de notas de números de instrucción y números de linea en los volcados de depuración"
-#: toplev.c:1120
+#: toplev.c:1152
msgid "Instrument function entry/exit with profiling calls"
msgstr "Instrumentar funciones entrada/salida con llamadas de análisis de perfil"
-#: toplev.c:1122
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr "Poner datos inicializados a cero en la sección bss"
+
+#: toplev.c:1156
msgid "Enable SSA optimizations"
msgstr "Activar las optimizaciones SSA"
-#: toplev.c:1124
+#: toplev.c:1158
msgid "Enable SSA conditional constant propagation"
msgstr "Activar la propagación de las constantes condicionales SSA"
-#: toplev.c:1126
+#: toplev.c:1160
msgid "Enable aggressive SSA dead code elimination"
msgstr "Activar la eliminación agresiva de código muerto SSA"
-#: toplev.c:1128
+#: toplev.c:1162
msgid "External symbols have a leading underscore"
msgstr "Los símbolos externos tienen un subrayado inicial"
-#: toplev.c:1130
+#: toplev.c:1164
msgid "Process #ident directives"
msgstr "Procesar directivas #ident"
-#: toplev.c:1132
+#: toplev.c:1166
msgid "Enables an rtl peephole pass run before sched2"
msgstr "Activa una ejecución de paso de mirilla rtl antes de sched2"
-#: toplev.c:1134
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr "Asumir que no se generan NaNs ó +-Infs"
+
+#: toplev.c:1170
msgid "Enables guessing of branch probabilities"
msgstr "Activar la predicción de probabilidades de ramificación"
-#: toplev.c:1136
+#: toplev.c:1172
msgid "Set errno after built-in math functions"
msgstr "Establecer errno después de las funciones matemáticas internas"
-#: toplev.c:1138
+#: toplev.c:1174
msgid "Floating-point operations can trap"
msgstr "Las operaciones de coma flotante pueden capturar"
-#: toplev.c:1140
+#: toplev.c:1176
msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr "Permitir optimizaciones matemáticas que pueden violar los estándares IEEE ó ANSI"
-#: toplev.c:1142
-msgid "Compile pointers as triples: value, base & end"
-msgstr "Compilar los apuntadores como triples: valor, base y fin"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
+msgstr "Desactivar optimizaciones observables con IEEE señalando NaNs"
-#: toplev.c:1144
-msgid "Generate code to check bounds before dereferencing pointers and arrays"
-msgstr "Generar código para revisar los límites antes de deferencias apuntadores y matrices"
+#: toplev.c:1180
+msgid "Generate code to check bounds before indexing arrays"
+msgstr "Generar código para revisar los límites antes de indizar matrices"
-#: toplev.c:1146
+#: toplev.c:1182
msgid "Convert floating point constant to single precision constant"
msgstr "Convertir constantes de coma flotante a constantes de precisión simple"
-#: toplev.c:1148
+#: toplev.c:1184
msgid "Report time taken by each compiler pass at end of run"
msgstr "Reportar el tiempo tomado por cada paso del compilador al final de la ejecución"
-#: toplev.c:1150
+#: toplev.c:1186
msgid "Report on permanent memory allocation at end of run"
msgstr "Reportar el alojamiento en memoria permanente al final de la ejecución"
-#: toplev.c:1152
+#: toplev.c:1188
msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr "Atrapar desbordamientos signed en adición / sustracción / multiplicación"
-#: toplev.c:1169
-msgid "Compile just for ISO C89"
-msgstr "Compilar sólo para ISO C89"
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
+msgstr "Utilizar coloración de grafos para el alojamiento de registros."
-#: toplev.c:1171
-msgid "Do not promote floats to double if using -traditional"
-msgstr "No promover floats a double si se usa -traditional"
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
+msgstr "Compilar sólo para ISO C90"
-#: toplev.c:1173
+#: toplev.c:1209
msgid "Determine language standard"
msgstr "Determinar el estándard de lenguaje"
-#: toplev.c:1177
+#: toplev.c:1213
msgid "Make bit-fields by unsigned by default"
msgstr "Hacer por omisión unsigned los campos de bit"
-#: toplev.c:1181
+#: toplev.c:1217
msgid "Make 'char' be signed by default"
msgstr "Hacer que 'char' sea signed por omisión"
-#: toplev.c:1183
+#: toplev.c:1219
msgid "Make 'char' be unsigned by default"
msgstr "Hacer que 'char' sea unsigned por omisión"
-#: toplev.c:1189
-msgid "Attempt to support traditional K&R style C"
-msgstr "Intentar dar soporte a C estilo K&R tradicional"
-
-#: toplev.c:1195
+#: toplev.c:1225
msgid "Do not recognize the 'asm' keyword"
msgstr "No reconocer la palabra clave 'asm'"
-#: toplev.c:1198
+#: toplev.c:1228
msgid "Do not recognize any built in functions"
msgstr "No reconocer ninguna función interna"
-#: toplev.c:1200
+#: toplev.c:1230
msgid "Assume normal C execution environment"
msgstr "Asumir el ambiente normal de ejecución C"
-#: toplev.c:1203
+#: toplev.c:1233
msgid "Assume that standard libraries & main might not exist"
-msgstr "Asumir que podrían no existir las bibliotecas estándard y main"
+msgstr "Asumir que pueden no existir las bibliotecas estándard y main"
-#: toplev.c:1206
+#: toplev.c:1236
msgid "Allow different types as args of ? operator"
msgstr "Permitir tipos diferentes como argumentos del operador ?"
-#: toplev.c:1209
+#: toplev.c:1239
msgid "Allow the use of $ inside identifiers"
msgstr "Permitir el uso de $ dentro de los identificadores"
-#: toplev.c:1214
+#: toplev.c:1244
msgid "Use the same size for double as for float"
msgstr "Usar el mismo tamaño para double que para float"
-#: toplev.c:1217
+#: toplev.c:1247
msgid "Use the smallest fitting integer to hold enums"
msgstr "Usar el entero adecuado más pequeño para contener enumerados"
-#: toplev.c:1220
+#: toplev.c:1250
msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr "Hacer de lado el tipo debajo de wchar_t por `unsigned short'"
-#: toplev.c:1224
+#: toplev.c:1254
msgid "Enable most warning messages"
msgstr "Activar casi todos los mensajes de aviso"
-#: toplev.c:1226
+#: toplev.c:1256
msgid "Warn about casting functions to incompatible types"
msgstr "Avisar por funciones de conversión a tipos incompatibles"
-#: toplev.c:1230
+#: toplev.c:1259
msgid "Warn about functions which might be candidates for format attributes"
-msgstr "Avisar por funciones que podrían ser candidatas para atributos de formato"
+msgstr "Avisar por funciones que pueden ser candidatas para atributos de formato"
-#: toplev.c:1233
+#: toplev.c:1262
msgid "Warn about casts which discard qualifiers"
msgstr "Avisar sobre conversiones que descartan calificadores"
-#: toplev.c:1236
+#: toplev.c:1265
msgid "Warn about subscripts whose type is 'char'"
msgstr "Avisar sobre subíndices cuyo tipo es 'char'"
-#: toplev.c:1239 toplev.c:1242
+#: toplev.c:1268 toplev.c:1271
msgid "Warn if nested comments are detected"
msgstr "Avisar si se detectan comentarios anidados"
-#: toplev.c:1245
+#: toplev.c:1274
msgid "Warn about possibly confusing type conversions"
msgstr "Avisar sobre la posibilidad de conversión de tipos confusas"
-#: toplev.c:1248
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
+msgstr "No avisar sobre la división entera por cero en tiempo de compilación"
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr "Avisar sobre la equidad de pruebas de números de coma flotante"
+
+#: toplev.c:1283
msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
msgstr "Avisar sobre anomalías de formato de printf/scanf/strftime/strfmon"
-#: toplev.c:1252
-msgid "Don't warn about strftime formats yielding 2 digit years"
-msgstr "No avisar sobre formatos de strftime que producen dos dígitos para el año"
-
-#: toplev.c:1255
+#: toplev.c:1287
msgid "Don't warn about too many arguments to format functions"
msgstr "No avisar sobre demasiados argumentos para las funciones de formato"
-#: toplev.c:1257
+#: toplev.c:1289
msgid "Warn about non-string-literal format strings"
msgstr "Avisar sobre cadenas de formato que no son cadenas literales"
-#: toplev.c:1260
+#: toplev.c:1292
msgid "Warn about possible security problems with format functions"
msgstr "Avisar sobre posibles problemas de seguridad con funciones de formato"
-#: toplev.c:1263
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr "No avisar sobre formatos de strftime que producen dos dígitos para el año"
+
+#: toplev.c:1298
msgid "Warn about implicit function declarations"
msgstr "Avisar sobre la declaración implícita de funciones"
-#: toplev.c:1267
+#: toplev.c:1302
msgid "Warn when a declaration does not specify a type"
msgstr "Avisar cuando una declaración no especifique un tipo"
-#: toplev.c:1272
+#: toplev.c:1307
msgid "Warn about the use of the #import directive"
msgstr "Avisar sobre el uso de la directiva #import"
-#: toplev.c:1276
+#: toplev.c:1311
msgid "Do not warn about using 'long long' when -pedantic"
msgstr "No avisar sobre el uso de 'long long' cuando se use -pedantic"
-#: toplev.c:1278
+#: toplev.c:1313
msgid "Warn about suspicious declarations of main"
msgstr "Avisar sobre declaraciones sospechosas de main"
-#: toplev.c:1281
+#: toplev.c:1316
msgid "Warn about possibly missing braces around initializers"
-msgstr "Avisar sobre posibles llaves faltantes alrededor de iniciadores"
+msgstr "Avisar sobre posibles llaves faltantes alrededor de los inicializadores"
-#: toplev.c:1284
+#: toplev.c:1319
msgid "Warn about global funcs without previous declarations"
msgstr "Avisar sobre funciones globales sin declaraciones previas"
-#: toplev.c:1287
+#: toplev.c:1322
msgid "Warn about global funcs without prototypes"
msgstr "Avisar sobre funciones globales sin prototipos"
-#: toplev.c:1290
+#: toplev.c:1325
msgid "Warn about use of multicharacter literals"
msgstr "Avisar sobre el uso de literales multicaracteres"
-#: toplev.c:1293
+#: toplev.c:1328
msgid "Warn about externs not at file scope level"
msgstr "Avisar sobre externs que no están en el nivel del alcance del fichero"
-#: toplev.c:1296
+#: toplev.c:1331
msgid "Warn about possible missing parentheses"
msgstr "Avisar sobre posibles paréntesis faltantes"
-#: toplev.c:1299
-msgid "Warn about possible violations of sequence point rules"
-msgstr "Avisar sobre posibles violaciones a las reglas de secuencia de punto"
-
-#: toplev.c:1302
+#: toplev.c:1334
msgid "Warn about function pointer arithmetic"
msgstr "Avisar sobre la aritmética de apuntadores de funciones"
-#: toplev.c:1305
+#: toplev.c:1337
msgid "Warn about multiple declarations of the same object"
msgstr "Avisar sobre declaraciones múltiples del mismo objeto"
-#: toplev.c:1308
-msgid "Warn about signed/unsigned comparisons"
-msgstr "Avisar sobre comparaciones signed/unsigned"
+#: toplev.c:1340
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "Avisar cuando el tipo de devolución por omisión de una función cambia a int"
-#: toplev.c:1311
-msgid "Warn about testing equality of floating point numbers"
-msgstr "Avisar sobre la equidad de pruebas de números de coma flotante"
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr "Avisar sobre posibles violaciones a las reglas de secuencia de punto"
-#: toplev.c:1314
-msgid "Warn about unrecognized pragmas"
-msgstr "Avisar sobre pragmas no reconocidos"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr "Avisar sobre comparaciones signed/unsigned"
-#: toplev.c:1317
+#: toplev.c:1349
msgid "Warn about non-prototyped function decls"
msgstr "Avisar sobre declaraciones de función sin prototipo"
-#: toplev.c:1320
-msgid "Warn about constructs whose meaning change in ISO C"
-msgstr "Avisar sobre construcciones cuyo significado cambia en ISO C"
+#: toplev.c:1352
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr "Avisar sobre construcciones cuyos significados cambian en ISO C"
-#: toplev.c:1323
+#: toplev.c:1355
msgid "Warn when trigraphs are encountered"
msgstr "Avisar si se encuentran trigrafos"
-#: toplev.c:1328
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr "Avisar sobre pragmas no reconocidos"
+
+#: toplev.c:1363
msgid "Mark strings as 'const char *'"
msgstr "Marcar las cadenas como 'const char *'"
-#: toplev.c:1458
+#: toplev.c:1508
msgid "Warn when a function is unused"
msgstr "Avisar cuando no se use una función"
-#: toplev.c:1460
+#: toplev.c:1510
msgid "Warn when a label is unused"
msgstr "Avisar cuando no se use una etiqueta"
-#: toplev.c:1462
+#: toplev.c:1512
msgid "Warn when a function parameter is unused"
msgstr "Avisar cuando no se use un parámetro de una función"
-#: toplev.c:1464
+#: toplev.c:1514
msgid "Warn when a variable is unused"
msgstr "Avisar cuando no se use una variable"
-#: toplev.c:1466
+#: toplev.c:1516
msgid "Warn when an expression value is unused"
msgstr "Avisar cuando no se use un valor de una expresión"
-#: toplev.c:1468
+#: toplev.c:1518
msgid "Do not suppress warnings from system headers"
msgstr "No suprimir los avisos de los encabezados del sistema"
-#: toplev.c:1470
+#: toplev.c:1520
msgid "Treat all warnings as errors"
msgstr "Tratar todos los avisos como errores"
-#: toplev.c:1472
+#: toplev.c:1522
msgid "Warn when one local variable shadows another"
msgstr "Avisar cuando una variable local obscurece otra"
-#: toplev.c:1474
-msgid "Warn about enumerated switches missing a specific case"
-msgstr "Avisar sobre switches enumerados que carezcan de un case específico"
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr "Avisar sobre switches enumerados, sin valor por omisión, que carezcan de un case"
+
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
+msgstr "Avisar sobre switches enumerados que carezcan de un case por omisión"
-#: toplev.c:1476
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr "Avisar sobre todos los switches enumerados que carezcan de un case específico"
+
+#: toplev.c:1530
msgid "Warn about returning structures, unions or arrays"
msgstr "Avisar sobre la devolución de estructuras, unions o matrices"
-#: toplev.c:1478
+#: toplev.c:1532
msgid "Warn about pointer casts which increase alignment"
msgstr "Avisar sobre conversión de apuntadores que incremente la alineación"
-#: toplev.c:1480
+#: toplev.c:1534
msgid "Warn about code that will never be executed"
msgstr "Avisar sobre código que nunca se ejecutará"
-#: toplev.c:1482
+#: toplev.c:1536
msgid "Warn about uninitialized automatic variables"
-msgstr "Avisar sobre variables automáticas sin iniciar"
+msgstr "Avisar sobre variables automáticas sin inicializar"
-#: toplev.c:1484
+#: toplev.c:1538
msgid "Warn when an inlined function cannot be inlined"
msgstr "Avisar cuando una función inline no puede ser inline"
-#: toplev.c:1486
+#: toplev.c:1540
msgid "Warn when the packed attribute has no effect on struct layout"
msgstr "Avisar cuando el atributo packed no tiene efecto en la disposición de un struct"
-#: toplev.c:1488
+#: toplev.c:1542
msgid "Warn when padding is required to align struct members"
msgstr "Avisar cuando se requiere relleno para alinear a los miembros de un struct"
-#: toplev.c:1490
+#: toplev.c:1544
msgid "Warn when an optimization pass is disabled"
msgstr "Avisar cuando se desactivó un paso de optimización"
-#: toplev.c:1492
+#: toplev.c:1546
msgid "Warn about uses of __attribute__((deprecated)) declarations"
-msgstr "Avisar sobre usos de declaraciones __attribute__((deprecated))"
+msgstr "Avisar sobre usos de declaraciones __attribute__((obsoleto))"
-#: toplev.c:1494
+#: toplev.c:1548
msgid "Warn about functions which might be candidates for attribute noreturn"
-msgstr "Avisar sobre funciones que podrían ser candidatas para el atributo noreturn"
+msgstr "Avisar sobre funciones que pueden ser candidatas para el atributo noreturn"
+
+#: toplev.c:1550
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr "Avisar sobre código que pueda romper las reglas estrictas de aliases"
-#: toplev.c:1565 toplev.c:4379 tradcpp.c:792
+#: toplev.c:1627 toplev.c:4522 config/rs6000/rs6000.c:680
#, c-format
msgid "invalid option `%s'"
msgstr "opción `%s' inválida"
-#: toplev.c:1711
-#, c-format
-msgid "internal error: %s"
-msgstr "error interno: %s"
-
-#: toplev.c:2024
+#: toplev.c:2031
#, c-format
msgid "`%s' used but never defined"
msgstr "se usa `%s' pero nunca se definió"
-#: toplev.c:2027
+#: toplev.c:2034
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr "`%s' declarado `static' pero nunca se definió"
-#: toplev.c:2049
+#: toplev.c:2057
#, c-format
msgid "`%s' defined but not used"
msgstr "se definió `%s' pero no se usó"
@@ -7397,84 +7777,75 @@ msgstr "se definió `%s' pero no se usó"
msgid "invalid register name `%s' for register variable"
msgstr "el nombre de registro `%s' no es válido para variable de registro"
-#: toplev.c:3279
-#, c-format
-msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr "salto cruzado desactivado: %d > 1000 bloques básicos y %d >= 20 bloques borde/básicos"
-
-#: toplev.c:3590
+#: toplev.c:3679
msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
msgstr " -ffixed-<registro> Marca el <registro> como no disponible para el compilador\n"
-#: toplev.c:3591
+#: toplev.c:3680
msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
msgstr " -fcall-used-<registro> Marca el <registro> como corrupto para llamadas de función\n"
-#: toplev.c:3592
+#: toplev.c:3681
msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
msgstr " -fcall-saved-<registro> Marcar el <registro> como preservado entre funciones\n"
-#: toplev.c:3593
+#: toplev.c:3682
msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr " -finline-limit=<número> Limita el tamaño de funciones inline a <número>\n"
-#: toplev.c:3594
+#: toplev.c:3683
msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
msgstr " -fmessage-length=<número> Limita la longitud de los mensajes de diagnóstico a <número> caracteres por línea. 0 suprime el corte de línea\n"
-#: toplev.c:3595
+#: toplev.c:3684
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 " -fdiagnostics-show-location=[once | every-line] Indica que tan seguido se debe emitir la información de ubicación del código, como prefijo, al inicio de los diagnósticos cuando está activado el corte de línea\n"
-#: toplev.c:3606
+#: toplev.c:3685
+msgid " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"
+msgstr " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indica el modelo de generación de código por omisión para almacenamiento thread-local\n"
+
+#: toplev.c:3696
msgid " -O[number] Set optimization level to [number]\n"
msgstr " -O[número] Establecer el nivel de optimización a [número]\n"
-#: toplev.c:3607
+#: toplev.c:3697
msgid " -Os Optimize for space rather than speed\n"
msgstr " -Os Optimizar para espacio en lugar de velocidad\n"
-#: toplev.c:3619
+#: toplev.c:3709
msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
msgstr " -pedantic Activar los avisos necesarios para cumplir estrictamente con ISO C\n"
-#: toplev.c:3620
+#: toplev.c:3710
msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr " -pedantic-errors Como -pedantic excepto que se producen errores\n"
-#: toplev.c:3621
+#: toplev.c:3711
msgid " -w Suppress warnings\n"
msgstr " -w Suprimir avisos\n"
-#: toplev.c:3622
+#: toplev.c:3712
msgid " -W Enable extra warnings\n"
msgstr " -W Activar avisos extra\n"
-#: toplev.c:3633
+#: toplev.c:3723
msgid " -Wunused Enable unused warnings\n"
msgstr " -Wunused Activar avisos sin usar\n"
-#: toplev.c:3634
+#: toplev.c:3724
msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr " -Wlarger-than-<número> Avisar si un objeto es más grande que <número> bytes\n"
-#: toplev.c:3635
+#: toplev.c:3725
msgid " -p Enable function profiling\n"
msgstr " -p Activar el análisis de perfil de funciones\n"
-#: toplev.c:3637
-msgid " -a Enable block profiling \n"
-msgstr " -a Activar el análisis de perfil de bloques\n"
-
-#: toplev.c:3640
-msgid " -ax Enable jump profiling \n"
-msgstr " -ax Activar el análisis de perfil de saltos\n"
-
-#: toplev.c:3642
+#: toplev.c:3726
msgid " -o <file> Place output into <file> \n"
msgstr " -o <fichero> Ubicar la salida en el <fichero>\n"
-#: toplev.c:3643
+#: toplev.c:3727
msgid ""
" -G <number> Put global and static data smaller than <number>\n"
" bytes into a special section (on some targets)\n"
@@ -7482,35 +7853,35 @@ msgstr ""
" -G <número> Colocar los datos globales y estáticos más pequeños que <número>\n"
" bytes en una sección especial (en algunos objetivos)\n"
-#: toplev.c:3654
+#: toplev.c:3738
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr " -aux-info <fichero> Emitir la información de declaraciones en el <fichero>\n"
-#: toplev.c:3655
+#: toplev.c:3739
msgid " -quiet Do not display functions compiled or elapsed time\n"
msgstr " -quiet No mostrar las funciones compiladas o el tiempo transcurrido\n"
-#: toplev.c:3656
+#: toplev.c:3740
msgid " -version Display the compiler's version\n"
msgstr " -version Muestra la versión del compilador\n"
-#: toplev.c:3657
+#: toplev.c:3741
msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr " -d[letras] Activa los volcados desde pasos específicos del compilador\n"
-#: toplev.c:3658
+#: toplev.c:3742
msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
msgstr " -dumpbase <fichero> Nombre base a usar para los volcados desde pasos específicos\n"
-#: toplev.c:3660
+#: toplev.c:3744
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
msgstr " -fsched-verbose=<número> Establece el nivel detalle del calendarizador\n"
-#: toplev.c:3662
+#: toplev.c:3746
msgid " --help Display this information\n"
msgstr " --help Muestra esta información\n"
-#: toplev.c:3677
+#: toplev.c:3761
msgid ""
"\n"
"Language specific options:\n"
@@ -7518,12 +7889,12 @@ msgstr ""
"\n"
"Opciones específicas del lenguaje:\n"
-#: toplev.c:3689
+#: toplev.c:3773
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr " %-23.23s [sin documentar]\n"
-#: toplev.c:3697 toplev.c:3711
+#: toplev.c:3781 toplev.c:3795
#, c-format
msgid ""
"\n"
@@ -7532,7 +7903,7 @@ msgstr ""
"\n"
"Además hay opciones específicas de %s sin documentar.\n"
-#: toplev.c:3701
+#: toplev.c:3785
#, c-format
msgid ""
"\n"
@@ -7541,7 +7912,7 @@ msgstr ""
"\n"
" Opciones para %s:\n"
-#: toplev.c:3738
+#: toplev.c:3822
msgid ""
"\n"
"Target specific options:\n"
@@ -7549,12 +7920,12 @@ msgstr ""
"\n"
"Opciones específicas del objetivo:\n"
-#: toplev.c:3752 toplev.c:3771
+#: toplev.c:3836 toplev.c:3855
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr " -m%-23.23s [sin documentar]\n"
-#: toplev.c:3780
+#: toplev.c:3864
msgid ""
"\n"
"There are undocumented target specific options as well.\n"
@@ -7562,68 +7933,73 @@ msgstr ""
"\n"
"Además hay opciones específicas del objetivo sin documentar.\n"
-#: toplev.c:3782
+#: toplev.c:3866
msgid " They exist, but they are not documented.\n"
msgstr " Existen, pero no están documentadas.\n"
-#: toplev.c:3835
+#: toplev.c:3919
#, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr "opción de depuración de gcc no reconocida: %c"
-#: toplev.c:3905
+#: toplev.c:3985
+#, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "`%s': opción de tls-model desconocida"
+
+#: toplev.c:4012
#, c-format
msgid "unrecognized register name `%s'"
msgstr "no se reconoce el nombre de registro `%s'"
-#: toplev.c:3930 toplev.c:4808
+#: toplev.c:4037 toplev.c:4980
#, c-format
msgid "unrecognized option `%s'"
msgstr "opción `-%s' no reconocida"
-#: toplev.c:3974
+#: toplev.c:4081
msgid "-Wid-clash-LEN is no longer supported"
msgstr "-Wid-clash-LEN ya no tiene soporte"
-#: toplev.c:4051
+#: toplev.c:4158
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr "use -gdwarf -g%d para DWARF v1, nivel %d"
-#: toplev.c:4054
+#: toplev.c:4161
msgid "use -gdwarf-2 for DWARF v2"
msgstr "use -dwarf-2 para DWARF v2"
-#: toplev.c:4059
+#: toplev.c:4166
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr "ignorando la opción `%s' debido a la especificación de un nivel de depuración inválido"
-#: toplev.c:4082 toplev.c:4806
+#: toplev.c:4189 toplev.c:4978
#, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr "`%s': opción -g desconocida o sin soporte"
-#: toplev.c:4089
+#: toplev.c:4196
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr "`%s' ignorado, tiene conflicto con `-g%s'"
-#: toplev.c:4168
+#: toplev.c:4278
msgid "-param option missing argument"
msgstr "falta el argumento para la opción -param"
-#: toplev.c:4177
+#: toplev.c:4287
#, c-format
msgid "invalid --param option: %s"
msgstr "opción de --param inválida: %s"
-#: toplev.c:4189
+#: toplev.c:4299
#, c-format
msgid "invalid parameter value `%s'"
msgstr "valor de parámetro `%s' inválido"
-#: toplev.c:4396
+#: toplev.c:4539
#, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7634,1126 +8010,908 @@ msgstr ""
"%s\t compilado por GNU C versión %s.\n"
"%s%s%s versión %s (%s) compilado por CC.\n"
-#: toplev.c:4452
+#: toplev.c:4546
+#, c-format
+msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+msgstr "%s%sGGC heurísticas: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+#: toplev.c:4598
msgid "options passed: "
msgstr "opciones pasadas: "
-#: toplev.c:4481
+#: toplev.c:4627
msgid "options enabled: "
msgstr "opciones activadas: "
-#: toplev.c:4540 java/jcf-write.c:3373
+#: toplev.c:4686 java/jcf-write.c:3453
#, c-format
msgid "can't open %s for writing"
msgstr "no se puede abrir %s para escritura"
-#: toplev.c:4798
+#: toplev.c:4970
#, c-format
msgid "ignoring command line option '%s'"
msgstr "ignorando la opción de línea de comando '%s'"
-#: toplev.c:4801
+#: toplev.c:4973
#, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr "(es válida para %s pero no para el lenguaje seleccionado)"
-#: toplev.c:4835
+#: toplev.c:5007
msgid "-Wuninitialized is not supported without -O"
msgstr "-Wuninitialized no tiene soporte sin -O"
-#: toplev.c:4894
+#: toplev.c:5062
msgid "instruction scheduling not supported on this target machine"
msgstr "no se da soporte a la calendarización de instrucciones en este objetivo"
-#: toplev.c:4898
+#: toplev.c:5066
msgid "this target machine does not have delayed branches"
msgstr "esta máquina objetivo no tiene ramificaciones retardadas"
-#: toplev.c:4907
-msgid "profiling does not work without a frame pointer"
-msgstr "el análisis de perfil no funciona sin un apuntador de marco"
-
-#: toplev.c:4922
+#: toplev.c:5080
#, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr "no se da soporte a -f%sleading-underscore en este objetivo"
-#: toplev.c:4985
+#: toplev.c:5143
msgid "-ffunction-sections not supported for this target"
msgstr "no se da soporte a -ffunction-sections para este objetivo"
-#: toplev.c:4990
+#: toplev.c:5148
msgid "-fdata-sections not supported for this target"
msgstr "no se da soporte a -fdata-sections para este objetivo"
-#: toplev.c:4997
+#: toplev.c:5155
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr "-ffunction-sections desactivado; hace imposible el análisis de perfil"
-#: toplev.c:5004
+#: toplev.c:5162
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr "no se da soporte a -fprefetch-loop-arrays para este objetivo"
-#: toplev.c:5010
+#: toplev.c:5168
msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr "no se da soporte a -fprefetch-loop-arrays para este objetivo (intente los interruptores -march)"
-#: toplev.c:5019
+#: toplev.c:5177
msgid "-fprefetch-loop-arrays is not supported with -Os"
msgstr "-fprefetch-loop-arrays no tiene soporte con -Os"
-#: toplev.c:5025
+#: toplev.c:5183
msgid "-ffunction-sections may affect debugging on some targets"
msgstr "-ffunction-sections podría afectar la depuración en algunos objetivos"
-#: toplev.c:5146
+#: toplev.c:5295
#, c-format
msgid "error writing to %s"
msgstr "error al escribir a %s"
-#: toplev.c:5148 java/jcf-parse.c:969 java/jcf-write.c:3380
+#: toplev.c:5297 java/jcf-parse.c:936 java/jcf-write.c:3460
#, c-format
msgid "error closing %s"
msgstr "error al cerrar %s"
-#. It's a float since it contains a point.
-#: tradcif.y:231
-msgid "floating point numbers not allowed in #if expressions"
-msgstr "no se permiten números de coma flotante en expresiones #if"
-
-#: tradcif.y:277
-msgid "invalid number in #if expression"
-msgstr "número inválido en la expresión #if"
-
-#: tradcif.y:357
-msgid "invalid character constant in #if"
-msgstr "constante de carácter inválida en #if"
-
-#: tradcif.y:394
-msgid "double quoted strings not allowed in #if expressions"
-msgstr "no se permite cadenas con comillas dobles en expresiones #if"
-
-#: tradcif.y:407
-msgid "invalid token in expression"
-msgstr "elemento inválido en la expresión"
-
-#: tradcif.y:498
-msgid "octal character constant does not fit in a byte"
-msgstr "la constante de carácter octal no cabe en un byte"
-
-#: tradcif.y:519
-msgid "hex character constant does not fit in a byte"
-msgstr "la constante de carácter hexadecimal no cabe en un byte"
-
-#: tradcif.y:550
-msgid "empty #if expression"
-msgstr "expresión #if vacía"
-
-#: tradcif.y:564
-msgid "Junk after end of expression."
-msgstr "Basura después del final de la expresión."
-
-#: tradcpp.c:145
-msgid "macro or #include recursion too deep"
-msgstr "recursión de macro o #include demasiado profunda"
-
-#: tradcpp.c:562
-#, c-format
-msgid "usage: %s [switches] input output"
-msgstr "modo de empleo: %s [interruptores] entrada salida"
-
-#: tradcpp.c:578
-msgid "-traditional is not supported in C++"
-msgstr "-traditional no tiene soporte en C++"
-
-#: tradcpp.c:580
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr "-traditional y -ansi son mutuamente exclusivos"
-
-#: tradcpp.c:594
-msgid "filename missing after -i option"
-msgstr "falta el nombre del fichero después de la opción -i"
-
-#: tradcpp.c:612
-msgid "filename missing after -o option"
-msgstr "falta el nombre del fichero después de la opción -o"
-
-#: tradcpp.c:675
-#, c-format
-msgid "target missing after %s option"
-msgstr "falta el objetivo después de la opción %s"
-
-#: tradcpp.c:689
-#, c-format
-msgid "filename missing after %s option"
-msgstr "falta el nombre del fichero después de la opción %s"
-
-#: tradcpp.c:714
-#, c-format
-msgid "macro name missing after -%c option"
-msgstr "falta el nombre de macro después de la opción -%c"
-
-#: tradcpp.c:734
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "-pedantic y -traditional son mutuamente exclusivos"
-
-#: tradcpp.c:739
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "-trigraphs y -traditional son mutuamente exclusivos"
-
-#: tradcpp.c:765
-msgid "directory name missing after -I option"
-msgstr "falta el nombre de directorio después de la opción -I"
-
-#: tradcpp.c:1445 tradcpp.c:3937
-msgid "`/*' within comment"
-msgstr "`/*' dentro de un comentario"
-
-#: tradcpp.c:1821
-#, c-format
-msgid "unterminated #%s conditional"
-msgstr "condicional #%s sin terminar"
-
-#: tradcpp.c:2180
-msgid "not in any file?!"
-msgstr "¡¿No está en ningún fichero?!"
-
-#: tradcpp.c:2286
-msgid "`defined' must be followed by ident or (ident)"
-msgstr "`defined' debe ser seguido por ident o (ident)"
-
-#: tradcpp.c:2290
-msgid "cccp error: invalid special hash type"
-msgstr "error de cccp: tipo de dispersión especial inválido"
-
-#: tradcpp.c:2388 tradcpp.c:2458
-msgid "#include expects \"fname\" or <fname>"
-msgstr "#include espera \"fname\" ó <fname>"
-
-#: tradcpp.c:2543
-#, c-format
-msgid "no include path in which to find %.*s"
-msgstr "no hay ruta de inclusión en la cual se encuentre %.*s"
-
-#: tradcpp.c:2721
-msgid "invalid macro name"
-msgstr "nombre de macro inválido"
-
-#: tradcpp.c:2729
-#, c-format
-msgid "invalid macro name `%s'"
-msgstr "nombre de macro `%s' inválido"
-
-#: tradcpp.c:2734
-msgid "\"defined\" cannot be used as a macro name"
-msgstr "\"defined\" no se puede usar como un nombre de macro"
-
-#: tradcpp.c:2761
-msgid "parameter name starts with a digit in #define"
-msgstr "el nombre de un parámetro empieza con un dígito en un #define"
-
-#: tradcpp.c:2771
-msgid "badly punctuated parameter list in #define"
-msgstr "lista de parámetros con puntuación errónea en un #define"
-
-#: tradcpp.c:2779
-msgid "unterminated parameter list in #define"
-msgstr "lista de parámetros en #define sin terminar"
-
-#: tradcpp.c:2827
-#, c-format
-msgid "\"%.*s\" redefined"
-msgstr "\"%.*s\" redefinido"
-
-#: tradcpp.c:3084
-msgid "# operator should be followed by a macro argument name"
-msgstr "el operador # debe continuar con un nombre de argumento de macro"
-
-#: tradcpp.c:3131 tradcpp.c:3157 tradcpp.c:3171 tradcpp.c:3178 tradcpp.c:3203
-msgid "invalid format #line command"
-msgstr "formato inválido de la orden #line"
-
-#: tradcpp.c:3229
-msgid "undefining `defined'"
-msgstr "borrando la definición de `defined'"
-
-#: tradcpp.c:3233
-#, c-format
-msgid "undefining `%s'"
-msgstr "borrando la definición de `%s'"
-
-#: tradcpp.c:3289
-msgid "extra text at end of directive"
-msgstr "texto extra al final de la directiva"
-
-#: tradcpp.c:3396
-#, c-format
-msgid "#error%.*s"
-msgstr "#error%.*s"
-
-#: tradcpp.c:3406
-#, c-format
-msgid "#warning%.*s"
-msgstr "#warning%.*s"
-
-#: tradcpp.c:3562
-msgid "#elif not within a conditional"
-msgstr "#elif no está dentro de un condicional"
-
-#: tradcpp.c:3819
-#, c-format
-msgid "#%s not within a conditional"
-msgstr "#%s no está dentro de un condicional"
-
-#: tradcpp.c:3827
-msgid "#else or #elif after #else"
-msgstr "#else o #elif después de #else"
-
-#: tradcpp.c:3867
-msgid "#else not within a conditional"
-msgstr "#else no está dentro de un condicional"
-
-#: tradcpp.c:3898
-msgid "unbalanced #endif"
-msgstr "#endif desbalanceado"
-
-#: tradcpp.c:3992
-msgid "unterminated string or character constant"
-msgstr "cadena sin terminar o constante de carácter"
-
-#: tradcpp.c:4150
-#, c-format
-msgid "arguments given to macro `%s'"
-msgstr "argumentos dados a la macro `%s'"
-
-#: tradcpp.c:4156
-#, c-format
-msgid "no args to macro `%s'"
-msgstr "no hay argumentos para la macro `%s'"
-
-#: tradcpp.c:4158
-#, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "sólo 1 argumento para la macro `%s'"
-
-#: tradcpp.c:4160
-#, c-format
-msgid "only %d args to macro `%s'"
-msgstr "sólo %d argumentos para la macro `%s'"
-
-#: tradcpp.c:4162
-#, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "demasiados argumentos (%d) para la macro `%s'"
-
-#: tradcpp.c:4759
-#, c-format
-msgid ""
-"internal error in %s, at tradcpp.c:%d\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"error interno en %s, en tradcpp.c:%d\n"
-"Por favor envíe un reporte completo de error.\n"
-"Vea %s para más instrucciones."
-
-#: tree-dump.c:848
+#: tree-dump.c:702
#, c-format
msgid "could not open dump file `%s'"
msgstr "no se puede abrir el fichero de volcado `%s'"
-#: tree-dump.c:924
+#: tree-dump.c:778
#, c-format
msgid "ignoring unknown option `%.*s' in `-f%s'"
msgstr "ignorando la opción desconocida `%.*s' al final de `-f%s'"
-#: tree.c:3888
+#: tree.c:3645
msgid "arrays of functions are not meaningful"
msgstr "las matrices de funciones no tienen significado"
-#: tree.c:3945
+#: tree.c:3702
msgid "function return type cannot be function"
msgstr "el tipo de devolución de función no puede ser función"
-#: tree.c:4699
+#: tree.c:4545
msgid "invalid initializer for bit string"
-msgstr "iniciador inválido para cadena de bits"
+msgstr "inicializador inválido para la cadena de bits"
-#: tree.c:4758
+#: tree.c:4604
#, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr "revisión de árbol: se esperaba %s, se tiene %s en %s, en %s:%d"
-#: tree.c:4775
+#: tree.c:4621
#, c-format
msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
msgstr "revisión de árbol: es esperaba la clase '%c', se tiene '%c' (%s) en %s, en %s:%d"
-#: varasm.c:454 config/i386/winnt.c:522
+#: tree.c:4638
+#, c-format
+msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+msgstr "revisión de árbol: acceso de elt %d de tree_vec con %d elts en %s, en %s:%d"
+
+#: varasm.c:455 config/i386/winnt.c:546
#, c-format
msgid "%s causes a section type conflict"
msgstr "%s causa un conflicto de tipo de sección"
-#: varasm.c:879
+#: varasm.c:841
#, c-format
msgid "register name not specified for `%s'"
msgstr "no se especifica nombre de registro para `%s'"
-#: varasm.c:881
+#: varasm.c:843
#, c-format
msgid "invalid register name for `%s'"
msgstr "nombre de registro inválido para `%s'"
-#: varasm.c:884
+#: varasm.c:846
#, c-format
msgid "data type of `%s' isn't suitable for a register"
msgstr "el tipo de datos de `%s' no es adecuado para un registro"
-#: varasm.c:887
+#: varasm.c:849
#, c-format
msgid "register specified for `%s' isn't suitable for data type"
msgstr "el registro especificado por `%s' no es adecuado para el tipo de datos"
-#: varasm.c:896
+#: varasm.c:858
msgid "global register variable has initial value"
-msgstr "la variable de registro global tiene valor inicial"
+msgstr "la variable de registro global tiene el valor inicial"
-#: varasm.c:899
+#: varasm.c:861
msgid "volatile register variables don't work as you might wish"
msgstr "las variables de registro volatile no funcionan como usted quisiera"
-#: varasm.c:932
+#: varasm.c:894
#, c-format
msgid "register name given for non-register variable `%s'"
msgstr "nombre de registro dado para una variable `%s' que no es registro"
-#: varasm.c:1570
+#: varasm.c:1542
#, c-format
msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr "la alineación de `%s' es mayor que la alineación máxima del fichero objeto. Se usa %d"
-#: varasm.c:1621
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
+msgstr "los datos COMMON thread-local no están implentados"
+
+#: varasm.c:1610
#, c-format
msgid "requested alignment for %s is greater than implemented alignment of %d"
msgstr "la alineación solicitada para %s es mayor que la alineación implementada de %d"
-#: varasm.c:4570
+#: varasm.c:4023
msgid "initializer for integer value is too complicated"
-msgstr "el iniciador para un valor entero es demasiado complicado"
+msgstr "el inicializador para un valor entero es demasiado complicado"
-#: varasm.c:4575
+#: varasm.c:4028
msgid "initializer for floating value is not a floating constant"
-msgstr "el iniciador para un valor de coma flotante no es una constante de coma flotante"
+msgstr "el inicializador para un valor de coma flotante no es una constante de coma flotante"
-#: varasm.c:4625
+#: varasm.c:4078
msgid "unknown set constructor type"
msgstr "conjunto de tipo constructor desconocido"
-#: varasm.c:4839
+#: varasm.c:4292
#, c-format
msgid "invalid initial value for member `%s'"
msgstr "valor inicial inválido para el miembro `%s'"
-#: varasm.c:5000
-#, c-format
-msgid "weak declaration of `%s' must be public"
-msgstr "la declaración débil de `%s' debe ser public"
-
-#: varasm.c:5002
+#: varasm.c:4483 varasm.c:4526
#, c-format
msgid "weak declaration of `%s' must precede definition"
msgstr "la declaración débil de `%s' debe preceder a la definición"
-#: varasm.c:5009
+#: varasm.c:4490
+#, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "la declaración débil de `%s' después del primer uso resulta en una conducta no especificada"
+
+#: varasm.c:4524
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr "la declaración débil de `%s' debe ser public"
+
+#: varasm.c:4533
#, c-format
msgid "weak declaration of `%s' not supported"
msgstr "la declaración débil de `%s' no tiene soporte"
-#: varasm.c:5036 varasm.c:5107
+#: varasm.c:4560 varasm.c:4635
msgid "only weak aliases are supported in this configuration"
msgstr "sólo los aliases débiles tienen soporte en esta configuración"
-#: varasm.c:5116
+#: varasm.c:4643
msgid "alias definitions not supported in this configuration; ignored"
msgstr "las definiciones de alias no tienen soporte en esta configuración; ignoradas"
-#: varray.c:88
+#: varasm.c:4674
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "los atributos de visibilidad no tienen soporte en esta configuración; ignorados"
+
+#: varray.c:134
#, c-format
msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
msgstr "matriz virtual %s[%lu]: el elemento %lu está fuera del límite en %s, en %s:%d"
#. 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 "no hay sclass para el stab %s (0x%x)\n"
-#: params.def:46
-msgid "The maximum number of instructions in a function that is eligible for inlining"
-msgstr "El número máximo de instrucciones en una función para ser elegible para inlining"
+#: pretty-print.h:97
+#, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "#`%s' no tiene soporte para %s#"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eligible for inlining"
+msgstr "El número máximo de instrucciones en una sola función elegible para inlining"
+
+#: params.def:65
+msgid "The maximum number of instructions when automatically inlining"
+msgstr "El número máximo de instrucciones cuando se hace inlining automáticamente"
-#: params.def:57
+#: params.def:84
+msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+msgstr "El número máximo de instrucciones por inlining repetido antes de que gcc comience a descartar inlining"
+
+#: params.def:97
+msgid "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter"
+msgstr "La pendiente de la función lineal de descarte de inlining antes de que se alcance el límite de inlining recursivo es dada por el valor recíproco negativo de este parámetro"
+
+#: params.def:110
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+msgstr "El número de instrucciones en una sola función para ser aún elegible para inlining después de mucho inlining recursivo"
+
+#: params.def:120
+msgid "The maximum number of instructions for the RTL inliner"
+msgstr "El número máximo de instrucciones para el inlineador de RTL"
+
+#: params.def:131
msgid "The maximum number of instructions to consider to fill a delay slot"
msgstr "El número máximo de instrucciones para considerar el llenado de una ranura de retraso"
-#: params.def:68
+#: params.def:142
msgid "The maximum number of instructions to consider to find accurate live register information"
msgstr "El número máximo de instruccions para considerar la búsqueda de información de registros en vivo exacta"
-#: params.def:78
+#: params.def:152
msgid "The maximum length of scheduling's pending operations list"
msgstr "La longitud máxima de la lista de operaciones pendientes del calendarizador"
-#: params.def:85
+#: params.def:159
msgid "The maximum amount of memory to be allocated by GCSE"
msgstr "La cantidad máxima de memoria a ser asignada por GCSE"
-#: params.def:90
+#: params.def:164
msgid "The maximum number of passes to make when doing GCSE"
msgstr "El número máximo de pasos a realizar cuando se hace GCSE"
-#: config/darwin-c.c:76
+#: params.def:171
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr "El número máximo de instrucciones para considerar el desenrollo en un ciclo"
+
+#: params.def:176
+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 "Seleccionar la fracción de la cuenta maximal de repeticiones del bloque básico en el programa dado el bloque básico necesita ser considerado caliente"
+
+#: params.def:181
+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 "Seleccionar la fracción de la frecuencia maximal de ejecuciones de bloque básico en la función dado el bloque básico necesita ser considerado caliente"
+
+#: params.def:186
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+msgstr "El porcentaje de la función, evaluado por la frecuencia de ejecución, que debe ser cubierto por la información de rastreo. Se utiliza cuando está disponible la retroalimentación del análisis de perfil"
+
+#: params.def:191
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+msgstr "El porcentaje de la función, evaluado por la frecuencia de ejecución, que debe ser cubierto por la información de rastreo. Se utiliza cuando la retroalimentación de análisis de perfil no está disponible"
+
+#: params.def:196
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr "Crecimiento de código maximal causado por duplicación de colas (en porcentajes)"
+
+#: params.def:200
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr "Detener el crecimiento inverso si la probabilidad reversa del mejor borde es menor a este intervalo (en porcentajes)"
+
+#: params.def:205
+msgid "Stop forward growth if the probability of best edge is less than this threshold (in percents). Used when profile feedback is available"
+msgstr "Detener el crecimiento hacia adelante si la probabilidad del mejor borde es menor que este intervalo. Se utiliza cuando la retroalimentación de análisis de perfil está disponible"
+
+#: params.def:210
+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 "Detener el crecimiento hacia adelante si la probabilidad del mejor borde es menor a este intervalo. Se utiliza cuando la retroalimentación de análisis de perfil no está disponible"
+
+#: params.def:217
+msgid "The maximum number of incoming edges to consider for crossjumping"
+msgstr "El número máximo de bordes de entrada para considerar el salto cruzado"
+
+#: params.def:230
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr "Expansión mínima de la pila para iniciar la recolección de basura, como un porcentaje del tamaño total de la pila."
+
+#: params.def:236
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr "Tamaño mínimo de la pila antes de comenzar a recolectar basura, en kilobytes."
+
+#: config/darwin-c.c:75
msgid "too many #pragma options align=reset"
msgstr "demasiadas opciones #pragma align=reset"
-#: config/darwin-c.c:98 config/darwin-c.c:101 config/darwin-c.c:103 config/darwin-c.c:105
+#: 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 "'#pragma options' malformado, ignorando"
-#: config/darwin-c.c:108
+#: config/darwin-c.c:107
msgid "junk at end of '#pragma options'"
msgstr "basura al final de '#pragma options'"
-#: config/darwin-c.c:118
+#: config/darwin-c.c:117
msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
msgstr "'#pragma options align={mac68k|power|reset}' malformado, ignorando"
-#: config/darwin-c.c:131
+#: config/darwin-c.c:130
msgid "missing '(' after '#pragma unused', ignoring"
msgstr "falta un '(' después de '#pragma unused', ignorando"
-#: config/darwin-c.c:149
+#: config/darwin-c.c:148
msgid "missing ')' after '#pragma unused', ignoring"
msgstr "falta un '(' después de '#pragma unused', ignorando"
-#: config/darwin-c.c:152
+#: config/darwin-c.c:151
msgid "junk at end of '#pragma unused'"
msgstr "basura al final de '#pragma unused'"
-#: config/nextstep.c:68
-msgid "optimization turned on"
-msgstr "nivel de optimización encendido"
-
-#: config/nextstep.c:74
-msgid "optimization turned off"
-msgstr "nivel de optimización apagado"
-
-#: config/nextstep.c:83
-msgid "optimization level restored"
-msgstr "nivel de optimización restaurado"
-
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
msgid "-msystem-v and -p are incompatible"
msgstr "-msystem-v y -p son incompatibles"
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87
+#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102
msgid "-msystem-v and -mthreads are incompatible"
msgstr "-msystem-v y -mthreads son incompatibles"
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
-msgstr "Usar alineación VAX-C"
-
-#: config/a29k/a29k.c:1028 config/m88k/m88k.c:2967
-#, c-format
-msgid "invalid %%Q value"
-msgstr "valor %%Q inválido"
-
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5402 config/m88k/m88k.c:3063
-#, c-format
-msgid "invalid %%C value"
-msgstr "valor %%C inválido"
-
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5247 config/rs6000/rs6000.c:6454
-#, c-format
-msgid "invalid %%N value"
-msgstr "valor %%N inválido"
-
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5318 config/rs6000/rs6000.c:6416
-#, c-format
-msgid "invalid %%M value"
-msgstr "valor %%M inválido"
-
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5310 config/rs6000/rs6000.c:6381
-#, c-format
-msgid "invalid %%m value"
-msgstr "valor %%m inválido"
-
-#: config/a29k/a29k.c:1154 config/alpha/alpha.c:5271 config/romp/romp.c:690
-#, c-format
-msgid "invalid %%L value"
-msgstr "valor %%L inválido"
-
-#: config/a29k/a29k.c:1159 config/rs6000/rs6000.c:6462
-#, c-format
-msgid "invalid %%O value"
-msgstr "valor %%O inválido"
-
-#: config/a29k/a29k.c:1165 config/alpha/alpha.c:5255 config/rs6000/rs6000.c:6482
-#, c-format
-msgid "invalid %%P value"
-msgstr "valor %%P inválido"
-
-#: config/a29k/a29k.c:1175
-#, c-format
-msgid "invalid %%V value"
-msgstr "valor %%V inválido"
-
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
-msgstr "Generar código asumiendo que el bit DW está activado"
-
-#: config/a29k/a29k.h:102
-msgid "Generate code assuming DW bit is not set"
-msgstr "Generar código asumiendo que el bit DW no está activado"
-
-#: config/a29k/a29k.h:103
-msgid "Generate code using byte writes"
-msgstr "Generar código usando escritura de byte"
-
-#: config/a29k/a29k.h:104
-msgid "Do not generate byte writes"
-msgstr "No generar escritura de byte"
-
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
-msgstr "Usar modelo de memoria small"
-
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
-msgstr "Usar modelo de memoria normal"
-
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
-msgstr "Usar modelo de memoria large"
-
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
-msgstr "Generar código 29050"
-
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
-msgstr "Generar código 29000"
-
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
-msgstr "Usar registros globales del núcleo"
-
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
-msgstr "Usar registros globales del usuario"
-
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
-msgstr "Emitir código de revisión de la pila"
-
-#: config/a29k/a29k.h:113
-msgid "Do not emit stack checking code"
-msgstr "No emitir código de revisión de la pila"
-
-#: config/a29k/a29k.h:114
-msgid "Work around storem hardware bug"
-msgstr "Evitar el bug de hardware storem"
-
-#: config/a29k/a29k.h:115
-msgid "Do not work around storem hardware bug"
-msgstr "No evitar el bug de hardware storem"
-
-#: config/a29k/a29k.h:116
-msgid "Store locals in argument registers"
-msgstr "Almacenar los locales en los registros de argumento"
-
-#: config/a29k/a29k.h:117
-msgid "Do not store locals in arg registers"
-msgstr "No almacenar los locales en los registros de argumento"
-
-#: config/a29k/a29k.h:118 config/i960/i960.h:283 config/mips/mips.h:408
-msgid "Use software floating point"
-msgstr "Usar coma flotante de software"
-
-#: config/a29k/a29k.h:119
-msgid "Do not generate multm instructions"
-msgstr "No generar instrucciones multm"
-
-#: config/alpha/alpha.c:271
+#: config/alpha/alpha.c:342
#, c-format
msgid "-f%s ignored for Unicos/Mk (not supported)"
msgstr "se ignora -f%s para Unicos/Mk (sin soporte)"
-#: config/alpha/alpha.c:295
+#: config/alpha/alpha.c:366
msgid "-mieee not supported on Unicos/Mk"
msgstr "-mieee no tiene soporte en Unicos/Mk"
-#: config/alpha/alpha.c:306
+#: config/alpha/alpha.c:377
msgid "-mieee-with-inexact not supported on Unicos/Mk"
msgstr "-mieee-with-inexact no tiene soporte en Unicos/Mk"
-#: config/alpha/alpha.c:323
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr "valor erróneo `%s' para el interruptor -mtrap-precision"
-#: config/alpha/alpha.c:337
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr "valor erróneo `%s' para el interruptor -mfp-rounding-mode"
-#: config/alpha/alpha.c:352
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr "valor erróneo `%s' para el interruptor -mfp-trap-mode"
-#: config/alpha/alpha.c:371 config/alpha/alpha.c:383
+#: config/alpha/alpha.c:435
+#, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "valor erróneo `%s' para el interruptor -mtls-size"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr "valor erróneo `%s' para el interruptor -mcpu"
-#: config/alpha/alpha.c:390
+#: config/alpha/alpha.c:473
msgid "trap mode not supported on Unicos/Mk"
msgstr "el modo de captura no tiene soporte en Unicos/Mk"
-#: config/alpha/alpha.c:397
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr "el completado por software de fp requiere una opción -mtrap-precision=i"
-#: config/alpha/alpha.c:413
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
msgstr "el modo de redondeo no tiene soporte para floats de VAX"
-#: config/alpha/alpha.c:418
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
msgstr "el modo de captura no tiene soporte para valores de coma flotante VAX"
-#: config/alpha/alpha.c:447
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr "latencia de caché L%d desconocida para %s"
-#: config/alpha/alpha.c:462
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr "valor erróneo `%s' para -mmemory-latency"
-#: config/alpha/alpha.c:5211 config/m88k/m88k.c:2955 config/romp/romp.c:746 config/romp/romp.c:753
+#: config/alpha/alpha.c:5608 config/m88k/m88k.c:2889 config/romp/romp.c:754
+#: config/romp/romp.c:761
#, c-format
msgid "invalid %%H value"
msgstr "valor %%H inválido"
-#: config/alpha/alpha.c:5221
+#: config/alpha/alpha.c:5629
#, c-format
msgid "invalid %%J value"
msgstr "valor %%J inválido"
-#: config/alpha/alpha.c:5231 config/ia64/ia64.c:3509 config/m88k/m88k.c:3100
+#: config/alpha/alpha.c:5645 config/ia64/ia64.c:3931 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "valor %%r inválido"
-#: config/alpha/alpha.c:5241 config/rs6000/rs6000.c:6528
+#: config/alpha/alpha.c:5655 config/rs6000/rs6000.c:7734
#, c-format
msgid "invalid %%R value"
msgstr "valor %%R inválido"
-#: config/alpha/alpha.c:5263 config/m88k/m88k.c:2961 config/romp/romp.c:732 config/romp/romp.c:739
+#: config/alpha/alpha.c:5661 config/rs6000/rs6000.c:7660
+#, c-format
+msgid "invalid %%N value"
+msgstr "valor %%N inválido"
+
+#: config/alpha/alpha.c:5669 config/rs6000/rs6000.c:7688
+#, c-format
+msgid "invalid %%P value"
+msgstr "valor %%P inválido"
+
+#: config/alpha/alpha.c:5677 config/m88k/m88k.c:2895 config/romp/romp.c:740
+#: config/romp/romp.c:747
#, c-format
msgid "invalid %%h value"
msgstr "valor %%h inválido"
-#: config/alpha/alpha.c:5353
+#: config/alpha/alpha.c:5685 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "valor %%L inválido"
+
+#: config/alpha/alpha.c:5724 config/rs6000/rs6000.c:7642
+#, c-format
+msgid "invalid %%m value"
+msgstr "valor %%m inválido"
+
+#: config/alpha/alpha.c:5732 config/rs6000/rs6000.c:7650
+#, c-format
+msgid "invalid %%M value"
+msgstr "valor %%M inválido"
+
+#: config/alpha/alpha.c:5776
#, c-format
msgid "invalid %%U value"
msgstr "valor %%U inválido"
-#: config/alpha/alpha.c:5365 config/alpha/alpha.c:5379 config/romp/romp.c:698 config/rs6000/rs6000.c:6536
+#: config/alpha/alpha.c:5788 config/alpha/alpha.c:5802 config/romp/romp.c:706
+#: config/rs6000/rs6000.c:7742
#, c-format
msgid "invalid %%s value"
msgstr "valor %%s inválido"
-#: config/alpha/alpha.c:5439 config/m88k/m88k.c:3084 config/rs6000/rs6000.c:6243
+#: config/alpha/alpha.c:5825 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "valor %%C inválido"
+
+#: config/alpha/alpha.c:5862 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7499
#, c-format
msgid "invalid %%E value"
msgstr "valor %%E inválido"
-#: config/alpha/alpha.c:5460 config/romp/romp.c:973 config/rs6000/rs6000.c:6844
+#: config/alpha/alpha.c:5887 config/alpha/alpha.c:5937
+msgid "unknown relocation unspec"
+msgstr "reubicación unspec desconocida"
+
+#: config/alpha/alpha.c:5896 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8049
#, c-format
msgid "invalid %%xn code"
msgstr "código %%xn inválido"
+#: config/alpha/alpha.c:6622 config/alpha/alpha.c:6625 config/s390/s390.c:6008
+#: config/s390/s390.c:6011
+msgid "bad builtin fcode"
+msgstr "fcode interno erróneo"
+
#. 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 "Usar fp de hardware"
-#: 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 "No usar fp de hardware"
-#: config/alpha/alpha.h:216
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr "Usar registros fp"
-#: config/alpha/alpha.h:218
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr "No usar registros fp"
-#: config/alpha/alpha.h:219
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
msgstr "No asumir GAS"
-#: config/alpha/alpha.h:220
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
msgstr "Asumir GAS"
-#: config/alpha/alpha.h:222
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
msgstr "Requerir rutinas de biblioteca matemática que cumplan con IEEE (OSF/1)"
-#: config/alpha/alpha.h:224
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr "Emitir código que cumpla con IEEE, sin excepciones inexactas"
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr "Emitir código que cumpla con IEEE, con excepciones inexactas"
-#: config/alpha/alpha.h:228
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
msgstr "No emitir constantes enteras complejas a memoria de sólo lectura"
-#: config/alpha/alpha.h:229
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr "Usar fp VAX"
-#: config/alpha/alpha.h:230
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr "No usar fp VAX"
-#: config/alpha/alpha.h:231
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr "Emitir código para la extensión ISA byte/word"
-#: config/alpha/alpha.h:234
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr "Emitir código para la extensión ISA de video en movimiento"
-#: config/alpha/alpha.h:237
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr "Emitir código para la extensión ISA de move y sqrt de fp"
-#: config/alpha/alpha.h:239
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr "Emitir código para la extensión ISA de conteo"
-#: config/alpha/alpha.h:242
+#: config/alpha/alpha.h:307
msgid "Emit code using explicit relocation directives"
msgstr "Emitir código usando directivas explícitas de reubicación"
-#: config/alpha/alpha.h:245
+#: config/alpha/alpha.h:310
msgid "Emit 16-bit relocations to the small data areas"
msgstr "Emitir reubicaciones de 16-bit a las áreas de datos small"
-#: config/alpha/alpha.h:247
+#: config/alpha/alpha.h:312
msgid "Emit 32-bit relocations to the small data areas"
msgstr "Emitir reubicaciones de 32-bit a las áreas de datos small"
+#: config/alpha/alpha.h:314
+msgid "Emit rdval instead of rduniq for thread pointer"
+msgstr "Emitir rdval en lugar de rduniq para un apuntador thread"
+
#. 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 "Usar las características de y el calendarizador del CPU dado"
-#: config/alpha/alpha.h:277
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
msgstr "Calendarizador para el CPU dado"
-#: config/alpha/alpha.h:279
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr "Controlar el modo de redondeo generado de fp"
-#: config/alpha/alpha.h:281
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr "Controlar el modo de captura IEEE"
-#: config/alpha/alpha.h:283
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr "Controlar la precisión dada a las excepciones de fp"
-#: config/alpha/alpha.h:285
+#: config/alpha/alpha.h:353
msgid "Tune expected memory latency"
msgstr "Ajustar la latencia esperada de memoria"
-#: config/arc/arc.c:132
+#: config/alpha/alpha.h:355 config/ia64/ia64.h:225
+msgid "Specify bit size of immediate TLS offsets"
+msgstr "Especificar el tamaño de bit para los desplazamientos TLS inmediatos"
+
+#: config/arc/arc.c:135
#, c-format
msgid "bad value (%s) for -mcpu switch"
msgstr "valor erróneo (%s) para el interruptor -mcpu"
-#: config/arc/arc.c:359
+#: config/arc/arc.c:362
#, c-format
msgid "argument of `%s' attribute is not a string constant"
msgstr "el argumento del atributo `%s' no es una cadena constante"
-#: config/arc/arc.c:366
+#: config/arc/arc.c:369
#, c-format
msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
msgstr "el argumento del atributo `%s' no es \"ilink1\" o \"ilink2\""
-#: config/arc/arc.c:1709 config/m32r/m32r.c:2278
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
#, c-format
msgid "invalid operand to %%R code"
msgstr "operando inválido para el código %%R"
-#: config/arc/arc.c:1741 config/m32r/m32r.c:2301
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
#, c-format
msgid "invalid operand to %%H/%%L code"
msgstr "operando inválido para el código %%H%%L"
-#: config/arc/arc.c:1765 config/m32r/m32r.c:2378
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
#, c-format
msgid "invalid operand to %%U code"
msgstr "operando inválido para el código %%U"
-#: config/arc/arc.c:1776
+#: config/arc/arc.c:1774
#, c-format
msgid "invalid operand to %%V code"
msgstr "operando inválido para el código %%V"
#. Unknown flag.
-#: config/arc/arc.c:1783 config/m32r/m32r.c:2417 config/sparc/sparc.c:6145
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6488
msgid "invalid operand output code"
msgstr "operando inválido para el código de salida"
-#: config/arm/arm.c:436
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr "el interruptor -mcpu=%s genera conflictos con el switch -march="
-#: config/arm/arm.c:446 config/rs6000/rs6000.c:444 config/sparc/sparc.c:381
+#: config/arm/arm.c:469 config/rs6000/rs6000.c:558 config/sparc/sparc.c:393
#, c-format
msgid "bad value (%s) for %s switch"
msgstr "valor erróneo (%s) para el interruptor %s"
-#: config/arm/arm.c:582
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
msgstr "el CPU objetivo no tiene soporte para APCS-32"
-#: config/arm/arm.c:587
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
msgstr "el CPU objetivo no tiene soporte para APCS-26"
-#: config/arm/arm.c:593
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
msgstr "el CPU objetivo no tiene soporte para trabajo interno"
-#: config/arm/arm.c:599
+#: config/arm/arm.c:622
msgid "target CPU does not support THUMB instructions"
msgstr "el CPU objetivo no tiene soporte para las instrucciones THUMB"
-#: config/arm/arm.c:613
+#: config/arm/arm.c:636
msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr "habilitar el soporte de rastreo hacia atrás sólo tiene significado cuando se compila para el Thumb"
# ¿callee? cfuga
-#: config/arm/arm.c:616
+#: config/arm/arm.c:639
msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr "habilitar el soporte de trabajo interno de llamadas sólo tiene significado cuando se compila para el Thumb"
-#: config/arm/arm.c:619
+#: config/arm/arm.c:642
msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr "habilitar el soporte de trabajo interno de llamado sólo tiene significado cuando se compila para el Thumb"
-#: config/arm/arm.c:625
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr "el trabajo interno forza el uso de APCS-32"
-#: config/arm/arm.c:631
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
msgstr "-mapcs-stack-check es incompatible con -mno-apcs-frame"
-#: config/arm/arm.c:639
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic y -mapcs-reent son incompatibles"
-#: config/arm/arm.c:642
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr "no se soporta el código reentrante APCS. Ignorado"
-#: config/arm/arm.c:650
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr "-g con -mno-apcs-frame no permite una depuración sensible"
-#: config/arm/arm.c:658
+#: config/arm/arm.c:681
msgid "passing floating point arguments in fp regs not yet supported"
msgstr "aún no se soporta pasar argumentos de coma flotante en registros fp"
-#: config/arm/arm.c:687
+#: config/arm/arm.c:710
#, c-format
msgid "invalid floating point emulation option: -mfpe-%s"
msgstr "opción de emulación de coma flotante inválida: -mfpe-%s"
-#: config/arm/arm.c:711
+#: config/arm/arm.c:734
msgid "structure size boundary can only be set to 8 or 32"
msgstr "el límite del tamaño de la estructura sólo puede establecerse a 8 o 32"
-#: config/arm/arm.c:719
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr "-mpic-register= es inútil sin -fpic"
-#: config/arm/arm.c:726
+#: config/arm/arm.c:749
#, c-format
msgid "unable to use '%s' for PIC register"
msgstr "no se puede usar '%s' para registro PIC"
-#: config/arm/arm.c:1970 config/arm/arm.c:1993 config/avr/avr.c:4703 config/c4x/c4x.c:4650 config/h8300/h8300.c:3045 config/i386/i386.c:1260 config/i386/i386.c:1289 config/m68hc11/m68hc11.c:1220 config/mcore/mcore.c:3505 config/ns32k/ns32k.c:1044 config/rs6000/rs6000.c:10760 config/sh/sh.c:5583 config/sh/sh.c:5603 config/sh/sh.c:5642 config/stormy16/stormy16.c:2010 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:3667 config/i386/i386.c:1396
+#: config/i386/i386.c:1425 config/ip2k/ip2k.c:3224
+#: config/m68hc11/m68hc11.c:1267 config/mcore/mcore.c:3510
+#: config/ns32k/ns32k.c:1047 config/rs6000/rs6000.c:12519 config/sh/sh.c:5681
+#: config/sh/sh.c:5706 config/sh/sh.c:5745 config/stormy16/stormy16.c:2026
+#: config/v850/v850.c:2180
#, c-format
msgid "`%s' attribute only applies to functions"
msgstr "el atributo `%s' aplica solamente a funciones"
-#: config/arm/arm.c:9288
+#: config/arm/arm.c:9485
msgid "unable to compute real location of stacked parameter"
msgstr "no se puede calcular la ubicación real del parámetro apilado"
-#: config/arm/arm.c:9968
+#: config/arm/arm.c:10164
msgid "no low registers available for popping high registers"
msgstr "no hay registros inferiores disponibles para almacenar registros superiores"
-#: config/arm/arm.c:10160
+#: config/arm/arm.c:10415
msgid "interrupt Service Routines cannot be coded in Thumb mode"
msgstr "no se pueden codificar las Rutinas de Servicios de Interrupción en el modo Thumb"
-#: 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 "la variable iniciada `%s' está marcada como dllimport"
+msgstr "la variable inicializada `%s' está marcada como dllimport"
-#: 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 "la variable estática `%s' está marcada como dllimport"
-#: config/arm/arm.h:422
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr "Generar marcos de pila que cumplan con APCS"
-#: config/arm/arm.h:425
+#: config/arm/arm.h:419
msgid "Store function names in object code"
msgstr "Almacenar nombres de función en el código objeto"
-#: config/arm/arm.h:429
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr "Usar la versión 32-bit del APCS"
-#: config/arm/arm.h:431
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr "Usar la versión 26-bit del APCS"
-#: config/arm/arm.h:435
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr "Pasar los argumentos FP en los registros FP"
-#: config/arm/arm.h:438
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr "Generar código PIC reentrante"
-#: config/arm/arm.h:441
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr "La MMU atrapará los accesos no alineados"
-#: config/arm/arm.h:448
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
msgstr "Usar llamadas a bibliotecas para realizar las operaciones de FP"
-#: 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 "Usar instrucciones de hardware para coma flotante"
-#: config/arm/arm.h:452
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
msgstr "Asumir que el CPU destino está configurado como big endian"
-#: config/arm/arm.h:454
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
msgstr "Asumir que el CPU destino está configurado como little endian"
-#: config/arm/arm.h:456
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
msgstr "Asumir bytes big endian, words little endian"
-#: config/arm/arm.h:458
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr "Soporte a llamadas entre los conjuntos de instrucciones Thumb y ARM"
-#: config/arm/arm.h:461
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr "Generar una llamada a abortar si una funcion noreturn devuelve"
-#: config/arm/arm.h:464
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr "No mover las instrucciones al prólogo de una función"
-#: config/arm/arm.h:467
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr "No cargar el registro PIC en los prólogos de función"
-#: config/arm/arm.h:470
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr "Generar las llamadas insns como llamadas indirectas, si es necesario"
-#: config/arm/arm.h:473
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr "Compilar para el Thumb on para el ARM"
-#: config/arm/arm.h:477
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr "Thumb: Generar marcos de pila (no-hojas) aún si no es necesario"
-#: config/arm/arm.h:480
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
msgstr "Thumb: Generar marcos de pila (hojas) aún si no es necesario"
-#: config/arm/arm.h:483
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
msgstr "Thumb: Asumir que las funciones no static pueden ser llamadas desde código ARM"
-#: config/arm/arm.h:487
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
msgstr "Thumb: Asumir que los apuntadores de función pueden ir a código no informado sobre Thumb"
-#: config/arm/arm.h:497
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
msgstr "Especificar el nombre del CPU destino"
-#: config/arm/arm.h:499
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr "Especificar el nombre de la arquitectura destino"
-#: config/arm/arm.h:503
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr "Especificar la versión del emulador de coma flotante"
-#: config/arm/arm.h:505
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr "Especificar la alineación mínima de bit de las estructuras"
-#: config/arm/arm.h:507
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
msgstr "Especificar el registro a usar para el direccionamiento PIC"
@@ -8761,96 +8919,92 @@ msgstr "Especificar el registro a usar para el direccionamiento PIC"
msgid "Ignore dllimport attribute for functions"
msgstr "Ignorar el atributo dllimport para las funciones"
-#. 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 "Renombrar los símbolos para BSD"
-
-#: config/arm/riscix.h:85
-msgid "Do symbol renaming for X/OPEN"
-msgstr "Renombrar los símbolos para X/OPEN"
-
-#: config/arm/riscix.h:86
-msgid "Don't do symbol renaming"
-msgstr "No renombrar símbolos"
-
-#: config/avr/avr.c:221
-#, c-format
-msgid "MCU `%s' not supported"
-msgstr "MCU `%s' no tiene soporte"
-
-#: config/avr/avr.c:461
+#: config/avr/avr.c:528
#, c-format
msgid "large frame pointer change (%d) with -mtiny-stack"
msgstr "cambio de apuntador grande de marco (%d) con -mtiny-stack"
-#: config/avr/avr.c:1056
+#: config/avr/avr.c:1135
msgid "bad address, not (reg+disp):"
msgstr "dirección errónea, no (reg+disp)"
-#: config/avr/avr.c:1064
+#: config/avr/avr.c:1143
msgid "internal compiler error. Bad address:"
msgstr "error interno del compilador. Dirección errónea:"
-#: config/avr/avr.c:1077
+#: config/avr/avr.c:1156
msgid "internal compiler error. Unknown mode:"
msgstr "error interno del compilador. Modo desconocido:"
-#: config/avr/avr.c:1785 config/avr/avr.c:2497
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
msgid "invalid insn:"
msgstr "insn inválido:"
-#: 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 "insn incorrecto:"
-#: 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 "movimiento insn desconocido:"
-#: config/avr/avr.c:2925
+#: config/avr/avr.c:3003
msgid "bad shift insn:"
msgstr "desplazamiento insn erróneo:"
-#: 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 "error interno del compilador. Desplazamiento incorrecto:"
-#: config/avr/avr.c:4676
+#: config/avr/avr.c:4767 config/ip2k/ip2k.c:3197
msgid "only initialized variables can be placed into program memory area"
-msgstr "sólo las variables iniciadas se pueden ubicar en el área de memoria del programa"
+msgstr "sólo las variables inicializadas se pueden ubicar en el área de memoria del programa"
+
+#: config/avr/avr.c:4866
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr "Sólo las variables sin inicializar se pueden colocar en la sección .noinit"
+
+#: config/avr/avr.c:4881
+#, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "MCU `%s' sólo tiene soporte para ensamblador"
-#: config/avr/avr.h:63
+#: config/avr/avr.h:78
msgid "Assume int to be 8 bit integer"
msgstr "Asumir que int sea entero de 8 bit"
-#: config/avr/avr.h:65
+#: config/avr/avr.h:80
msgid "Change the stack pointer without disabling interrupts"
msgstr "Cambiar el apuntador de la pila sin desactivar las interrupciones"
-#: config/avr/avr.h:67
+#: config/avr/avr.h:82
msgid "Use subroutines for function prologue/epilogue"
msgstr "Usar subrutinas para el prólogo/epílogo de función"
-#: config/avr/avr.h:69
+#: config/avr/avr.h:84
msgid "Change only the low 8 bits of the stack pointer"
msgstr "Cambiar sólo los 8 bits bajos del apuntador de pila"
-#: config/avr/avr.h:71
+#: config/avr/avr.h:86
msgid "Do not generate tablejump insns"
msgstr "No generar insns de salto de tabla"
-#: config/avr/avr.h:74
+#: config/avr/avr.h:88
+msgid "Use rjmp/rcall (limited range) on >8K devices"
+msgstr "Usar rjmp/rcall (rango limitado) en dispositivos >8K"
+
+#: config/avr/avr.h:91
msgid "Output instruction sizes to the asm file"
msgstr "Tamaños de instrucción de salida al fichero asm"
-#: config/avr/avr.h:87
+#: config/avr/avr.h:108
msgid "Specify the initial stack address"
msgstr "Especificar la dirección inicial de la pila"
-#: config/avr/avr.h:88
+#: config/avr/avr.h:109
msgid "Specify the MCU name"
msgstr "Especificar el nombre MCU"
@@ -8862,136 +9016,136 @@ msgstr "Especificar el nombre MCU"
#. 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:2566
+#: config/avr/avr.h:2450
msgid "trampolines not supported"
msgstr "los trampolines no tienen soporte"
-#: config/c4x/c4x-c.c:70
+#: config/c4x/c4x-c.c:69
#, c-format
msgid "missing '(' after '#pragma %s' - ignored"
msgstr "falta un '(' después de '#pragma %s' - ignorado"
-#: config/c4x/c4x-c.c:73
+#: config/c4x/c4x-c.c:72
#, c-format
msgid "missing function name in '#pragma %s' - ignored"
msgstr "falta el nombre de la función en '#pragma %s' - ignorado"
-#: config/c4x/c4x-c.c:78
+#: config/c4x/c4x-c.c:77
#, c-format
msgid "malformed '#pragma %s' - ignored"
msgstr "'#pragma %s' malformado - ignorado"
-#: config/c4x/c4x-c.c:80
+#: config/c4x/c4x-c.c:79
#, c-format
msgid "missing section name in '#pragma %s' - ignored"
msgstr "falta el nombre de la sección en '#pragma %s' - ignorado"
-#: config/c4x/c4x-c.c:85
+#: config/c4x/c4x-c.c:84
#, c-format
msgid "missing ')' for '#pragma %s' - ignored"
msgstr "falta un ')' para '#pragma %s' - ignorado"
-#: config/c4x/c4x-c.c:88
+#: config/c4x/c4x-c.c:87
#, c-format
msgid "junk at end of '#pragma %s'"
msgstr "basura al final de '#pragma %s'"
-#: config/c4x/c4x.c:299
+#: config/c4x/c4x.c:280
#, c-format
msgid "unknown CPU version %d, using 40.\n"
msgstr "versión desconocida de CPU %d, usando 40.\n"
-#: 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 "el ISR %s requiere de %d words de variables locales, el máximo es 32767"
-#: config/c4x/c4x.c:1635
+#: config/c4x/c4x.c:1602
msgid "using CONST_DOUBLE for address"
msgstr "usando CONST_DOUBLE para las direcciones"
-#: config/c4x/c4x.c:1775
+#: config/c4x/c4x.c:1742
msgid "c4x_address_cost: Invalid addressing mode"
msgstr "c4x_address_cost: Modo inválido de direccionamiento"
-#: config/c4x/c4x.c:1917
+#: config/c4x/c4x.c:1884
#, c-format
msgid "c4x_print_operand: %%L inconsistency"
msgstr "c4x_print_operand: inconsistencia %%L"
-#: config/c4x/c4x.c:1923
+#: config/c4x/c4x.c:1890
#, c-format
msgid "c4x_print_operand: %%N inconsistency"
msgstr "c4x_print_operand: inconsistencia %%N"
-#: config/c4x/c4x.c:1964
+#: config/c4x/c4x.c:1931
#, c-format
msgid "c4x_print_operand: %%O inconsistency"
msgstr "c4x_print_operand: inconsistencia %%O"
-#: config/c4x/c4x.c:2060
+#: config/c4x/c4x.c:2026
msgid "c4x_print_operand: Bad operand case"
msgstr "c4x_print_operand: Operando case erróneo"
# FIXME: Revisar si post_modify es una instrucción en el código de
# gcc. cfuga
-#: config/c4x/c4x.c:2103
+#: config/c4x/c4x.c:2069
msgid "c4x_print_operand_address: Bad post_modify"
msgstr "c4x_print_operand_address: post_modify erróneo"
# FIXME: Revisar si pre_modify es una instrucción en el código de
# gcc. cfuga
-#: config/c4x/c4x.c:2125
+#: config/c4x/c4x.c:2091
msgid "c4x_print_operand_address: Bad pre_modify"
msgstr "c4x_print_operand_address: pre_modify erróneo"
-#: config/c4x/c4x.c:2173 config/c4x/c4x.c:2185 config/c4x/c4x.c:2200
+#: config/c4x/c4x.c:2139 config/c4x/c4x.c:2151 config/c4x/c4x.c:2166
msgid "c4x_print_operand_address: Bad operand case"
msgstr "c4x_print_operand_address: Operando case erróneo"
-#: config/c4x/c4x.c:2456
+#: config/c4x/c4x.c:2422
msgid "c4x_rptb_insert: Cannot find start label"
msgstr "c4x_rptb_insert: No se puede encontrar la etiqueta de inicio"
-#: config/c4x/c4x.c:3443 config/c4x/c4x.c:3463
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
msgid "mode not QImode"
msgstr "el modo no es QImode"
-#: config/c4x/c4x.c:3520
+#: config/c4x/c4x.c:3514
msgid "invalid indirect memory address"
msgstr "dirección indirecta de memoria inválida"
-#: config/c4x/c4x.c:3609
+#: config/c4x/c4x.c:3603
msgid "invalid indirect (S) memory address"
msgstr "dirección (S) indirecta de memoria inválida"
-#: config/c4x/c4x.c:3950
+#: config/c4x/c4x.c:3944
msgid "c4x_valid_operands: Internal error"
msgstr "c4x_valid_operands: Error interno"
-#: config/c4x/c4x.c:4430
+#: config/c4x/c4x.c:4424
msgid "c4x_operand_subword: invalid mode"
msgstr "c4x_operand_subword: modo inválido"
-#: config/c4x/c4x.c:4433
+#: config/c4x/c4x.c:4427
msgid "c4x_operand_subword: invalid operand"
msgstr "c4x_operand_subword: operando inválido"
#. We could handle these with some difficulty.
#. e.g., *p-- => *(p-=2); *(p+1).
-#: config/c4x/c4x.c:4459
+#: config/c4x/c4x.c:4453
msgid "c4x_operand_subword: invalid autoincrement"
msgstr "c4x_operand_subword: autoincremento inválido"
-#: config/c4x/c4x.c:4465
+#: config/c4x/c4x.c:4459
msgid "c4x_operand_subword: invalid address"
msgstr "c4x_operand_subword: dirección inválida"
-#: config/c4x/c4x.c:4476
+#: config/c4x/c4x.c:4470
msgid "c4x_operand_subword: address not offsettable"
msgstr "c4x_operand_subword: dirección no desplazable"
-#: config/c4x/c4x.c:4676
+#: config/c4x/c4x.c:4670
msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
msgstr "c4x_rptb_rpts_p: Se movió la etiqueta princiapl del bloque de repetición\n"
@@ -8999,7 +9153,6 @@ msgstr "c4x_rptb_rpts_p: Se movió la etiqueta princiapl del bloque de repetición
#. 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.
@@ -9035,590 +9188,528 @@ msgstr "c4x_rptb_rpts_p: Se movió la etiqueta princiapl del bloque de repetición
#. 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:168
msgid "Small memory model"
msgstr "Modelo de memoria small"
-#: config/c4x/c4x.h:143
+#: config/c4x/c4x.h:170
msgid "Big memory model"
msgstr "Modelo de memoria big"
-#: config/c4x/c4x.h:145
+#: config/c4x/c4x.h:172
msgid "Use MPYI instruction for C3x"
msgstr "Usar instrucción MPYI para C3x"
-#: config/c4x/c4x.h:147
+#: config/c4x/c4x.h:174
msgid "Do not use MPYI instruction for C3x"
msgstr "No usar instrucción MPYI para C3x"
-#: config/c4x/c4x.h:149
+#: config/c4x/c4x.h:176
msgid "Use fast but approximate float to integer conversion"
msgstr "Usar conversión de coma flotante a entero rápida pero aproximada"
-#: config/c4x/c4x.h:151
+#: config/c4x/c4x.h:178
msgid "Use slow but accurate float to integer conversion"
msgstr "Usar conversión de coma flotante a entero lenta pero exacta"
-#: config/c4x/c4x.h:153
+#: config/c4x/c4x.h:180
msgid "Enable use of RTPS instruction"
msgstr "Activar el uso de la instrucción RTPS"
-#: config/c4x/c4x.h:155
+#: config/c4x/c4x.h:182
msgid "Disable use of RTPS instruction"
msgstr "Desactivar el uso de la instrucción RTPS"
-#: config/c4x/c4x.h:157
+#: config/c4x/c4x.h:184
msgid "Enable use of RTPB instruction"
msgstr "Activar el uso de la instrucción RTPB"
-#: config/c4x/c4x.h:159
+#: config/c4x/c4x.h:186
msgid "Disable use of RTPB instruction"
msgstr "Desactivar el uso de la instrucción RTPB"
-#: config/c4x/c4x.h:161
+#: config/c4x/c4x.h:188
msgid "Generate code for C30 CPU"
msgstr "Generar código para el CPU C30"
-#: config/c4x/c4x.h:163
+#: config/c4x/c4x.h:190
msgid "Generate code for C31 CPU"
msgstr "Generar código para el CPU C31"
-#: config/c4x/c4x.h:165
+#: config/c4x/c4x.h:192
msgid "Generate code for C32 CPU"
msgstr "Generar código para el CPU C32"
-#: config/c4x/c4x.h:167
+#: config/c4x/c4x.h:194
msgid "Generate code for C33 CPU"
msgstr "Generar código para el CPU C33"
-#: config/c4x/c4x.h:169
+#: config/c4x/c4x.h:196
msgid "Generate code for C40 CPU"
msgstr "Generar código para el CPU C40"
-#: config/c4x/c4x.h:171
+#: config/c4x/c4x.h:198
msgid "Generate code for C44 CPU"
msgstr "Generar código para el CPU C44"
-#: config/c4x/c4x.h:173
+#: config/c4x/c4x.h:200
msgid "Emit code compatible with TI tools"
msgstr "Emitir código compatible con las herramientas TI"
-#: config/c4x/c4x.h:175
+#: config/c4x/c4x.h:202
msgid "Emit code to use GAS extensions"
msgstr "Emitir código para usar las extensiones de GAS"
-#: config/c4x/c4x.h:177 config/c4x/c4x.h:181
+#: config/c4x/c4x.h:204 config/c4x/c4x.h:208
msgid "Save DP across ISR in small memory model"
msgstr "Guardar DP entre ISR en el modelo de memoria small"
-#: config/c4x/c4x.h:179 config/c4x/c4x.h:183
+#: config/c4x/c4x.h:206 config/c4x/c4x.h:210
msgid "Don't save DP across ISR in small memory model"
msgstr "No guardar DP entre ISR en el modelo de memoria small"
-#: config/c4x/c4x.h:185
+#: config/c4x/c4x.h:212
msgid "Pass arguments on the stack"
msgstr "Pasar los argumenotos en la pila"
-#: config/c4x/c4x.h:187
+#: config/c4x/c4x.h:214
msgid "Pass arguments in registers"
msgstr "Pasar los argumentos en los registros"
-#: config/c4x/c4x.h:189
+#: config/c4x/c4x.h:216
msgid "Enable new features under development"
msgstr "Activar nuevas características en desarrollo"
-#: config/c4x/c4x.h:191
+#: config/c4x/c4x.h:218
msgid "Disable new features under development"
msgstr "Desactivar nuevas características en desarrollo"
-#: config/c4x/c4x.h:193
+#: config/c4x/c4x.h:220
msgid "Use the BK register as a general purpose register"
msgstr "Usar el registro BK como un registro de propósito general"
-#: config/c4x/c4x.h:195
+#: config/c4x/c4x.h:222
msgid "Do not allocate BK register"
msgstr "No asignar el registro BK"
-#: config/c4x/c4x.h:197
+#: config/c4x/c4x.h:224
msgid "Enable use of DB instruction"
msgstr "Activar el uso de la instrucción DB"
-#: config/c4x/c4x.h:199
+#: config/c4x/c4x.h:226
msgid "Disable use of DB instruction"
msgstr "Desactivar el uso de la instrucción DB"
-#: config/c4x/c4x.h:201
+#: config/c4x/c4x.h:228
msgid "Enable debugging"
msgstr "Activar la depuración"
-#: config/c4x/c4x.h:203
+#: config/c4x/c4x.h:230
msgid "Disable debugging"
msgstr "Desactivar la depuración"
-#: config/c4x/c4x.h:205
+#: config/c4x/c4x.h:232
msgid "Force constants into registers to improve hoisting"
msgstr "Forzar las constantes dentro de registros para mejorar el levantamiento"
-#: config/c4x/c4x.h:207
+#: config/c4x/c4x.h:234
msgid "Don't force constants into registers"
msgstr "No forzar las constantes en los registros"
-#: config/c4x/c4x.h:209
+#: config/c4x/c4x.h:236
msgid "Force RTL generation to emit valid 3 operand insns"
msgstr "Forzar que la generación de RTL emita 3 operandos insns válidos"
-#: config/c4x/c4x.h:211
+#: config/c4x/c4x.h:238
msgid "Allow RTL generation to emit invalid 3 operand insns"
msgstr "Permitir que la generación de RTL emita 3 operandos insns inválidos"
-# Error de dedo de desarrolladores originales en interation. Avisar. cfuga
-#: config/c4x/c4x.h:213
-msgid "Allow unsigned interation counts for RPTB/DB"
+#: config/c4x/c4x.h:240
+msgid "Allow unsigned iteration counts for RPTB/DB"
msgstr "Permitir cuentas de iteración unsigned para RPTB/DB"
-#: config/c4x/c4x.h:215
+#: config/c4x/c4x.h:242
msgid "Disallow unsigned iteration counts for RPTB/DB"
-msgstr "No ermitir cuentas de iteración unsigned para RPTB/DB"
+msgstr "No permitir cuentas de iteración unsigned para RPTB/DB"
-#: config/c4x/c4x.h:217
+#: config/c4x/c4x.h:244
msgid "Preserve all 40 bits of FP reg across call"
msgstr "Preservar los 40 bits del registro FP entre llamadas"
-#: config/c4x/c4x.h:219
+#: config/c4x/c4x.h:246
msgid "Only preserve 32 bits of FP reg across call"
msgstr "Sólo preservar 32 bits del registro FP entre llamadas"
-#: config/c4x/c4x.h:221
+#: config/c4x/c4x.h:248
msgid "Enable parallel instructions"
msgstr "Activar las funciones paralelas"
-#: config/c4x/c4x.h:223
+#: config/c4x/c4x.h:250
msgid "Disable parallel instructions"
msgstr "Desactivar las funciones paralelas"
-#: config/c4x/c4x.h:225
+#: config/c4x/c4x.h:252
msgid "Enable MPY||ADD and MPY||SUB instructions"
msgstr "Activar las instrucciones MPY||ADD y MPY||SUB"
-#: config/c4x/c4x.h:227
+#: config/c4x/c4x.h:254
msgid "Disable MPY||ADD and MPY||SUB instructions"
msgstr "Desactivar las instrucciones MPY||ADD y MPY||SUB"
-#: config/c4x/c4x.h:229
+#: config/c4x/c4x.h:256
msgid "Assume that pointers may be aliased"
msgstr "Asumir que se pueden hacer alias de los apuntadores"
-#: config/c4x/c4x.h:231
+#: config/c4x/c4x.h:258
msgid "Assume that pointers not aliased"
-msgstr "Asumir que se hay alias de los apuntadores"
+msgstr "Asumir que no se pueden hacer alias de los apuntadores"
-#: config/c4x/c4x.h:304
+#: config/c4x/c4x.h:331
msgid "Specify maximum number of iterations for RPTS"
msgstr "Especificar el número máximo de iteraciones para RPTS"
-#: config/c4x/c4x.h:306
+#: config/c4x/c4x.h:333
msgid "Select CPU to generate code for"
msgstr "Seleccionar el CPU para el cual se genera código"
-#. 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 "Generar código para el C400"
-
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
-msgstr "Generar código para el C300"
-
-#: config/convex/convex.h:53
-msgid "Generate code for c1"
-msgstr "Generar código para el c1"
-
-#: config/convex/convex.h:54
-msgid "Generate code for c2"
-msgstr "Generar código para el c2"
-
-#: config/convex/convex.h:55
-msgid "Generate code for c32"
-msgstr "Generar código para el c32"
-
-#: config/convex/convex.h:56 config/convex/convex.h:57
-msgid "Generate code for c34"
-msgstr "Generar código para el c34"
-
-#: config/convex/convex.h:59
-msgid "Use standard calling sequence, with arg count word"
-msgstr "Usar secuencia de llamada estándard, con palabra de cuenta de argumentos"
-
-#: config/convex/convex.h:61
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr "Colocar la cuenta de argumentos en una instrucción nop (más rápido que push)"
-
-#: config/convex/convex.h:63
-msgid "Don't push arg count, depend on symbol table"
-msgstr "No hacer push de la cuenta de argumentos, depender de la tabla de símbolos"
-
-#: config/convex/convex.h:65
-msgid "Use data cache for volatile mem refs (default)"
-msgstr "Usar el caché de datos para referencias a memoria volatile (por omisión)"
-
-#: config/convex/convex.h:67
-msgid "Don't use data cache for volatile mem refs"
-msgstr "No usar el caché de datos para referencias a memoria volatile"
-
-#: config/convex/convex.h:69
-msgid "Bypass data cache for volatile mem refs"
-msgstr "Saltar el caché de datos para referencias a memoria volatile"
-
-#: config/convex/convex.h:70
-msgid "Use 64-bit longs"
-msgstr "Usar longs de 64-bit"
-
-#: config/convex/convex.h:71
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr "Usar longs de 32-bit compatibles con cc y libc"
-
-#: config/cris/cris.c:569
+#: config/cris/cris.c:599
msgid "unexpected index-type in cris_print_index"
msgstr "tipo-índice inesperado en cris_print_index"
-#: config/cris/cris.c:585
+#: config/cris/cris.c:615
msgid "unexpected base-type in cris_print_base"
msgstr "tipo-base inesperado en cris_print_base"
-#: config/cris/cris.c:878
+#: config/cris/cris.c:908
#, c-format
msgid "stackframe too big: %d bytes"
msgstr "marco de la pila demasiado grande: %d bytes"
-#: config/cris/cris.c:1193
+#: config/cris/cris.c:1223
msgid "allocated but unused delay list in epilogue"
msgstr "lista de retardo asignada pero sin uso en el epílogo"
-#: config/cris/cris.c:1203
+#: config/cris/cris.c:1233
msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
msgstr "el tipo de función inesperado necesita un ajuste de pila para __builtin_eh_return"
-#: config/cris/cris.c:1282
+#: config/cris/cris.c:1312
msgid "invalid operand for 'b' modifier"
msgstr "operando inválido para el modificador 'b'"
-#: config/cris/cris.c:1294
+#: config/cris/cris.c:1324
msgid "invalid operand for 'v' modifier"
msgstr "operando inválido para el modificador 'v'"
-#: config/cris/cris.c:1304
+#: config/cris/cris.c:1334
msgid "invalid operand for 'P' modifier"
msgstr "operando inválido para el modificador 'P'"
-#: config/cris/cris.c:1311
+#: config/cris/cris.c:1341
msgid "invalid operand for 'p' modifier"
msgstr "operador inválido para el modificador 'p'"
-#: config/cris/cris.c:1350
+#: config/cris/cris.c:1380
msgid "invalid operand for 'z' modifier"
msgstr "operando inválido para el modificador 'z'"
-#: config/cris/cris.c:1381 config/cris/cris.c:1411
+#: config/cris/cris.c:1411 config/cris/cris.c:1441
msgid "invalid operand for 'H' modifier"
msgstr "operando inválido para el modificador 'H'"
-#: config/cris/cris.c:1387
+#: config/cris/cris.c:1417
msgid "bad register"
msgstr "registro erróneo"
-#: config/cris/cris.c:1425
+#: config/cris/cris.c:1455
msgid "invalid operand for 'e' modifier"
msgstr "operando inválido para el modificador 'e'"
-#: config/cris/cris.c:1442
+#: config/cris/cris.c:1472
msgid "invalid operand for 'm' modifier"
msgstr "operando inválido para el modificador 'm'"
-#: config/cris/cris.c:1467
+#: config/cris/cris.c:1497
msgid "invalid operand for 'A' modifier"
msgstr "operando inválido para el modificador 'A'"
-#: config/cris/cris.c:1475
+#: config/cris/cris.c:1505
msgid "invalid operand for 'D' modifier"
msgstr "operando inválido para el modificador 'D'"
-#: config/cris/cris.c:1489
+#: config/cris/cris.c:1519
msgid "invalid operand for 'T' modifier"
msgstr "operando inválido para el modificador 'T'"
-#: config/cris/cris.c:1498
+#: config/cris/cris.c:1528
msgid "invalid operand modifier letter"
msgstr "modificador de letra de operando inválido"
-#: config/cris/cris.c:1506
+#: config/cris/cris.c:1536
#, c-format
msgid "internal error: bad register: %d"
msgstr "error interno: registro erróneo: %d"
-#: config/cris/cris.c:1554
+#: config/cris/cris.c:1584
msgid "unexpected multiplicative operand"
msgstr "operando multiplicativo inesperado"
-#: config/cris/cris.c:1574
+#: config/cris/cris.c:1604
msgid "unexpected operand"
msgstr "operando inesperado"
-#: config/cris/cris.c:1609 config/cris/cris.c:1619
+#: config/cris/cris.c:1639 config/cris/cris.c:1649
msgid "unrecognized address"
msgstr "no se reconoce la dirección"
-#: config/cris/cris.c:1975
+#: config/cris/cris.c:2005
msgid "internal error: sideeffect-insn affecting main effect"
msgstr "error interno: insn colateral afectando al efecto principal"
#. If we get here, the caller got its initial tests wrong.
-#: config/cris/cris.c:2262
+#: config/cris/cris.c:2292
msgid "internal error: cris_side_effect_mode_ok with bad operands"
msgstr "error interno: cris_side_effect_mode_ok con operandos erróneos"
-#: config/cris/cris.c:2344 config/cris/cris.c:2402
+#: config/cris/cris.c:2374 config/cris/cris.c:2432
msgid "unrecognized supposed constant"
msgstr "supuesta constante no reconocida"
-#: config/cris/cris.c:2443
+#: config/cris/cris.c:2473
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr "supuesta constante no reconocida en cris_global_pic_symbol"
-#: config/cris/cris.c:2462
+#: config/cris/cris.c:2492
#, c-format
msgid "-max-stackframe=%d is not usable, not between 0 and %d"
msgstr "no se puede usar -max-stackframe=%d, no está entre 0 y %d"
-#: config/cris/cris.c:2490
+#: config/cris/cris.c:2520
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr "especificación de versión CRIS desconocida en -march= o -mcpu= : %s"
-#: config/cris/cris.c:2526
+#: config/cris/cris.c:2556
#, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr "especificación de versión de cpu CRIS desconocida en -mtune= : %s"
-#: config/cris/cris.c:2544
+#: config/cris/cris.c:2574
msgid "-fPIC and -fpic are not supported in this configuration"
msgstr "-fPIC y -fpic no tienen soporte en esta configuración"
-#: config/cris/cris.c:2560
+#: config/cris/cris.c:2590
msgid "that particular -g option is invalid with -maout and -melinux"
msgstr "esa opción -g en particular es inválida con -maout y -melinux"
-#: config/cris/cris.c:2790 config/cris/cris.c:2835
+#: config/cris/cris.c:2824 config/cris/cris.c:2869
msgid "unexpected side-effects in address"
msgstr "efectos colaterales inesperados en la dirección"
#. Labels are never marked as global symbols.
-#: config/cris/cris.c:2932 config/cris/cris.c:2963
+#: config/cris/cris.c:2966 config/cris/cris.c:2997
msgid "unexpected PIC symbol"
msgstr "símbolo PIC inesperado"
-#: config/cris/cris.c:2936
+#: config/cris/cris.c:2970
msgid "PIC register isn't set up"
msgstr "el registro PIC aún no está preparado"
-#: config/cris/cris.c:2949 config/cris/cris.c:3032
+#: config/cris/cris.c:2983 config/cris/cris.c:3066
msgid "unexpected address expression"
msgstr "expresión de dirección inesperada"
-#: config/cris/cris.c:2967
+#: config/cris/cris.c:3001
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr "emitiendo un operando PIC, pero el registro PIC aún no está preparado"
-#: config/cris/cris.c:2976
+#: config/cris/cris.c:3010
msgid "unexpected NOTE as addr_const:"
msgstr "NOTE inesperado como addr_const:"
-#: config/cris/aout.h:106
+#: config/cris/aout.h:108
msgid "Compile for the MMU-less Etrax 100-based elinux system"
msgstr "Compilar para el sistema elinux Etrax basado en 100 sin MMU"
-#: config/cris/aout.h:113
+#: config/cris/aout.h:115
msgid "For elinux, request a specified stack-size for this program"
msgstr "Para elinux, solicitar un tamaño de pila especificado para este programa"
#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
-#: config/cris/cris.h:336
+#: config/cris/cris.h:340
msgid "Compile for ETRAX 4 (CRIS v3)"
msgstr "Compilar para ETRAX 4 (CRIS v3)"
-#: config/cris/cris.h:341
+#: config/cris/cris.h:345
msgid "Compile for ETRAX 100 (CRIS v8)"
msgstr "Compilar para ETRAX 100 (CRIS v8)"
-#: config/cris/cris.h:345
+#: config/cris/cris.h:349
msgid "Emit verbose debug information in assembly code"
msgstr "Emitir información de depuración detallada en el código ensamblador"
-#: config/cris/cris.h:348
+#: config/cris/cris.h:352
msgid "Do not use condition codes from normal instructions"
msgstr "No usar códigos de condición para las instrucciones normales"
-#: config/cris/cris.h:352
+#: config/cris/cris.h:356
msgid "Do not emit addressing modes with side-effect assignment"
msgstr "No emitir modos de direccionamiento con asignaciones colaterales"
-#: config/cris/cris.h:355
+#: config/cris/cris.h:359
msgid "Do not tune stack alignment"
msgstr "No ajustar la alineación de la pila"
-#: config/cris/cris.h:358
+#: config/cris/cris.h:362
msgid "Do not tune writable data alignment"
msgstr "No ajustar la alineación de los datos modificables"
-#: config/cris/cris.h:361
+#: config/cris/cris.h:365
msgid "Do not tune code and read-only data alignment"
msgstr "No ajustar la alineación del código y de datos de sólo lectura"
-#: config/cris/cris.h:370
+#: config/cris/cris.h:374
msgid "Align code and data to 32 bits"
msgstr "Alinear código y datos a 32 bits"
-#: config/cris/cris.h:383
+#: config/cris/cris.h:387
msgid "Don't align items in code or data"
msgstr "No alinear elementos en el código o los datos"
-#: config/cris/cris.h:386
+#: config/cris/cris.h:390
msgid "Do not emit function prologue or epilogue"
msgstr "No emitir prólogo o epílogo de funciones"
#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
-#: config/cris/cris.h:390
+#: config/cris/cris.h:394
msgid "Use the most feature-enabling options allowed by other options"
msgstr "Usar la mayor cantidad de características permitidas por otras opciones"
#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
-#: config/cris/cris.h:396
+#: config/cris/cris.h:400
msgid "Override -mbest-lib-options"
msgstr "Anular -mbest-lib-options"
-#: config/cris/cris.h:428
+#: config/cris/cris.h:432
msgid "Generate code for the specified chip or CPU version"
msgstr "Generar código para el chip especificado o la versión de CPU"
-#: config/cris/cris.h:430
+#: config/cris/cris.h:434
msgid "Tune alignment for the specified chip or CPU version"
msgstr "Ajustar alineación para el chip especificado o la versión de CPU"
-#: config/cris/cris.h:432
+#: config/cris/cris.h:436
msgid "Warn when a stackframe is larger than the specified size"
msgstr "Avisar cuando un marco de pila sea más grande que el tamaño especificado"
#. Node: Profiling
-#: config/cris/cris.h:1029
+#: config/cris/cris.h:1022
msgid "no FUNCTION_PROFILER for CRIS"
msgstr "no hay FUNCTION_PROFILER para CRIS"
-#: config/cris/linux.h:74
+#: config/cris/linux.h:71
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
msgstr "Junto con -fpic y -fPIC, no utilizar referencias GOTPLT"
-#: config/d30v/d30v.c:209
+#: config/d30v/d30v.c:207
#, c-format
msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
msgstr "modes_tieable_p erróneos para el registro %s, modo1 %s, modo2 %s"
-#: config/d30v/d30v.c:2676
+#: config/d30v/d30v.c:2666
msgid "bad insn to d30v_print_operand_address:"
msgstr "insn errónea para d30v_print_operand_address:"
-#: config/d30v/d30v.c:2693 config/d30v/d30v.c:2754 config/d30v/d30v.c:2775 config/d30v/d30v.c:2793
+#: 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 "insn erróneo para d30v_print_operand_memory_reference:"
-#: config/d30v/d30v.c:2861
+#: config/d30v/d30v.c:2851
msgid "bad insn to d30v_print_operand, 'f' modifier:"
msgstr "insn erróneo para d30v_print_operand, modificador 'f':"
-#: config/d30v/d30v.c:2870
+#: config/d30v/d30v.c:2860
msgid "bad insn to d30v_print_operand, 'A' modifier:"
msgstr "insn erróneo para d30v_print_operand, modificador 'A':"
-#: config/d30v/d30v.c:2877
+#: config/d30v/d30v.c:2867
msgid "bad insn to d30v_print_operand, 'M' modifier:"
msgstr "insn erróneo para d30v_print_operand, modificador 'M':"
-#: config/d30v/d30v.c:2931
+#: config/d30v/d30v.c:2921
msgid "bad insn to print_operand, 'F' or 'T' modifier:"
msgstr "insn erróneo para print_operand, modificador 'F' o 'T':"
-#: config/d30v/d30v.c:2942
+#: config/d30v/d30v.c:2932
msgid "bad insn to print_operand, 'B' modifier:"
msgstr "insn erróneo para print_operand, modificador 'B':"
-#: config/d30v/d30v.c:2949
+#: config/d30v/d30v.c:2939
msgid "bad insn to print_operand, 'E' modifier:"
msgstr "insn erróneo para print_operand, modificador 'E':"
-#: config/d30v/d30v.c:2967
+#: config/d30v/d30v.c:2957
msgid "bad insn to print_operand, 'R' modifier:"
msgstr "insn erróneo para print_operand, modificador 'R':"
-#: config/d30v/d30v.c:2976 config/d30v/d30v.c:2984
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
msgid "bad insn to print_operand, 's' modifier:"
msgstr "insn erróneo para print_operand, modificador 's':"
-#: config/d30v/d30v.c:3013
+#: config/d30v/d30v.c:3003
msgid "bad insn in d30v_print_operand, 0 case"
msgstr "insn erróneo en d30v_print_operand, caso 0"
-#: config/d30v/d30v.c:3368
+#: config/d30v/d30v.c:3301
msgid "d30v_emit_comparison"
msgstr "d30v_emit_comparison"
-#: config/d30v/d30v.c:3412
+#: config/d30v/d30v.c:3345
msgid "bad call to d30v_move_2words"
msgstr "llamada errónea a d30v_move_2words"
-#: config/d30v/d30v.h:108
+#: config/d30v/d30v.h:114
msgid "Enable use of conditional move instructions"
msgstr "Activar el uso de las instrucciones condicionales move"
-#: config/d30v/d30v.h:111
+#: config/d30v/d30v.h:117
msgid "Disable use of conditional move instructions"
msgstr "Desactivar el uso de las instrucciones condicionales move"
-#: config/d30v/d30v.h:114
+#: config/d30v/d30v.h:120
msgid "Debug argument support in compiler"
msgstr "Soporte para depuración de argumentos en el compilador"
-#: config/d30v/d30v.h:117
+#: config/d30v/d30v.h:123
msgid "Debug stack support in compiler"
msgstr "Soporte para depuración de pila en el compilador"
-#: config/d30v/d30v.h:120
+#: config/d30v/d30v.h:126
msgid "Debug memory address support in compiler"
msgstr "Soporte para depuración de direcciones de memoria en el compilador"
-#: config/d30v/d30v.h:123
+#: config/d30v/d30v.h:129
msgid "Make adjacent short instructions parallel if possible"
msgstr "Hacer paralelas las instrucciones adyacentes cortas si es posible"
-#: config/d30v/d30v.h:126
+#: config/d30v/d30v.h:132
msgid "Do not make adjacent short instructions parallel"
msgstr "No hacer paralelas las instrucciones adyacentes"
-#: 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 "Enlazar programas/datos para estar en la memoria externa por omisión"
-#: config/d30v/d30v.h:135
+#: config/d30v/d30v.h:141
msgid "Link programs/data to be in onchip memory by default"
msgstr "Enlazar programas/datos para estar en la memoria del chip por omisión"
-#: config/d30v/d30v.h:143
+#: config/d30v/d30v.h:149
msgid "Change the branch costs within the compiler"
msgstr "Cambiar los costos de ramificación dentro del compilador"
-#: config/d30v/d30v.h:146
+#: config/d30v/d30v.h:152
msgid "Change the threshold for conversion to conditional execution"
msgstr "Cambiar el umbral para la conversión a ejecución condicional"
@@ -9630,31 +9721,27 @@ msgstr "tamaño de la pila > 32k"
msgid "invalid addressing mode"
msgstr "modo de direccionamiento inválido"
-#: config/dsp16xx/dsp16xx.c:1857
+#: config/dsp16xx/dsp16xx.c:1821
msgid "bad register extension code"
msgstr "código de extensión de registro erróneo"
-#: config/dsp16xx/dsp16xx.c:1958
+#: config/dsp16xx/dsp16xx.c:1921
msgid "invalid offset in ybase addressing"
msgstr "desplazamiento inválido en el direccionamiento de ybase"
-#: config/dsp16xx/dsp16xx.c:1961
+#: config/dsp16xx/dsp16xx.c:1924
msgid "invalid register in ybase addressing"
msgstr "registro inválido en el direccionamiento de ybase"
-#: config/dsp16xx/dsp16xx.c:1990
-msgid "inline float constants not supported on this host"
-msgstr "no se da soporte a constantes inline float en este `host'"
-
-#: config/dsp16xx/dsp16xx.c:2140
+#: config/dsp16xx/dsp16xx.c:2099
msgid "invalid shift operator in emit_1600_core_shift"
msgstr "operador de desplazamiento inválido en emit_1600_core_shift"
-#: config/dsp16xx/dsp16xx.c:2469
+#: config/dsp16xx/dsp16xx.c:2428
msgid "invalid mode for gen_tst_reg"
msgstr "modo inválido para gen_tst_reg"
-#: config/dsp16xx/dsp16xx.c:2541
+#: config/dsp16xx/dsp16xx.c:2500
msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr "modo inválido para la comparación entera en gen_compare_reg"
@@ -9663,236 +9750,379 @@ msgstr "modo inválido para la comparación entera en gen_compare_reg"
#. 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 "Pasar los parámetros en los registros (por omisión)"
-#: config/dsp16xx/dsp16xx.h:217
+#: config/dsp16xx/dsp16xx.h:232
msgid "Don't pass parameters in registers"
msgstr "No pasar los parámetros en los registros"
-#: config/dsp16xx/dsp16xx.h:219
+#: config/dsp16xx/dsp16xx.h:234
msgid "Generate code for near calls"
msgstr "Generar código para llamadas near"
-#: config/dsp16xx/dsp16xx.h:221
+#: config/dsp16xx/dsp16xx.h:236
msgid "Don't generate code for near calls"
msgstr "No generar código para llamadas near"
-#: config/dsp16xx/dsp16xx.h:223
+#: config/dsp16xx/dsp16xx.h:238
msgid "Generate code for near jumps"
msgstr "Generar código para saltos near"
-#: config/dsp16xx/dsp16xx.h:225
+#: config/dsp16xx/dsp16xx.h:240
msgid "Don't generate code for near jumps"
msgstr "No generar código para saltos near"
-#: config/dsp16xx/dsp16xx.h:227
+#: config/dsp16xx/dsp16xx.h:242
msgid "Generate code for a bit-manipulation unit"
msgstr "Generar código para una unidad de manipulación de bits"
-#: config/dsp16xx/dsp16xx.h:229
+#: config/dsp16xx/dsp16xx.h:244
msgid "Don't generate code for a bit-manipulation unit"
msgstr "No generar código para una unidad de manipulación de bits"
-#: config/dsp16xx/dsp16xx.h:231
+#: config/dsp16xx/dsp16xx.h:246
msgid "Generate code for memory map1"
msgstr "Generar código para memoria map1"
-#: config/dsp16xx/dsp16xx.h:233
+#: config/dsp16xx/dsp16xx.h:248
msgid "Generate code for memory map2"
msgstr "Generar código para memoria map2"
-#: config/dsp16xx/dsp16xx.h:235
+#: config/dsp16xx/dsp16xx.h:250
msgid "Generate code for memory map3"
msgstr "Generar código para memoria map3"
-#: config/dsp16xx/dsp16xx.h:237
+#: config/dsp16xx/dsp16xx.h:252
msgid "Generate code for memory map4"
msgstr "Generar código para memoria map4"
-#: config/dsp16xx/dsp16xx.h:239
+#: config/dsp16xx/dsp16xx.h:254
msgid "Ouput extra code for initialized data"
-msgstr "Generar código extra para datos iniciados"
+msgstr "Generar código extra para datos inicializados"
-#: config/dsp16xx/dsp16xx.h:241
+#: config/dsp16xx/dsp16xx.h:256
msgid "Don't let reg. allocator use ybase registers"
msgstr "No permitir que el alojador de registros use registros ybase"
-#: config/dsp16xx/dsp16xx.h:243
+#: config/dsp16xx/dsp16xx.h:258
msgid "Output extra debug info in Luxworks environment"
msgstr "Generar información extra de depuración en el ambiente Luxworks"
-#: config/dsp16xx/dsp16xx.h:245
+#: config/dsp16xx/dsp16xx.h:260
msgid "Save temp. files in Luxworks environment"
msgstr "Guardar los ficheros temporales en el ambiente Luxworks"
-#: config/dsp16xx/dsp16xx.h:257
+#: config/dsp16xx/dsp16xx.h:272
msgid "Specify alternate name for text section"
msgstr "Especificar un nombre alternativo para la sección de texto"
-#: config/dsp16xx/dsp16xx.h:259
+#: config/dsp16xx/dsp16xx.h:274
msgid "Specify alternate name for data section"
msgstr "Especificar un nombre alternativo para la sección de datos"
-#: config/dsp16xx/dsp16xx.h:261
+#: config/dsp16xx/dsp16xx.h:276
msgid "Specify alternate name for bss section"
msgstr "Especificar un nombre alternativo para la sección bss"
-#: config/dsp16xx/dsp16xx.h:263
+#: config/dsp16xx/dsp16xx.h:278
msgid "Specify alternate name for constant section"
msgstr "Especificar un nombre alternativo para la sección de constantes"
-#: config/dsp16xx/dsp16xx.h:265
+#: config/dsp16xx/dsp16xx.h:280
msgid "Specify alternate name for dsp16xx chip"
msgstr "Especificar un nombre alternativo para el chip dsp16xx"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/dsp16xx/dsp16xx.h:1219 config/dsp16xx/dsp16xx.h:1224 config/dsp16xx/dsp16xx.h:1229 config/dsp16xx/dsp16xx.h:1809 config/dsp16xx/dsp16xx.h:1814
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
msgid "profiling not implemented yet"
msgstr "aún no se ha implementado el análisis de perfil"
#. 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:1240 config/dsp16xx/dsp16xx.h:1252
+#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240
msgid "trampolines not yet implemented"
msgstr "aún no se han implementado trampolines"
-#. 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 "Generar código que el ensamblador de unix pueda manejar"
-
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
-msgstr "Generar código que un ensamblador imbuído pueda manejar"
-
-#: config/fr30/fr30.c:456
+#: config/fr30/fr30.c:453
msgid "fr30_print_operand_address: unhandled address"
msgstr "fr30_print_operand_address: dirección sin manejar"
-#: config/fr30/fr30.c:483
+#: config/fr30/fr30.c:480
#, c-format
msgid "fr30_print_operand: unrecognized %%p code"
msgstr "fr30_print_operand: no se reconoce el código %%p"
-#: config/fr30/fr30.c:503
+#: config/fr30/fr30.c:500
#, c-format
msgid "fr30_print_operand: unrecognized %%b code"
msgstr "fr30_print_operand: no se reconoce el código %%b"
-#: config/fr30/fr30.c:524
+#: config/fr30/fr30.c:521
#, c-format
msgid "fr30_print_operand: unrecognized %%B code"
msgstr "fr30_print_operand: no se reconoce el código %%B"
-#: config/fr30/fr30.c:532
+#: config/fr30/fr30.c:529
#, c-format
msgid "fr30_print_operand: invalid operand to %%A code"
msgstr "fr30_print_operand: operando inválido para el código %%A"
-#: config/fr30/fr30.c:549
+#: config/fr30/fr30.c:546
#, c-format
msgid "fr30_print_operand: invalid %%x code"
msgstr "fr30_print_operand: código %%x inválido"
-#: config/fr30/fr30.c:556
+#: config/fr30/fr30.c:553
#, c-format
msgid "fr30_print_operand: invalid %%F code"
msgstr "fr30_print_operand: código %%F inválido"
-#: config/fr30/fr30.c:572
+#: config/fr30/fr30.c:570
msgid "fr30_print_operand: unknown code"
msgstr "fr30_print_operand: código desconocido"
-#: 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 "fr30_print_operand: MEM sin manejar"
-#: config/fr30/fr30.h:57
+#: config/fr30/fr30.h:63
msgid "Assume small address space"
msgstr "Asumiendo espacio de direcciones pequeño"
-#: config/h8300/h8300.c:142
+#: config/frv/frv.c:410 config/frv/frv.c:428
+#, c-format
+msgid "Unknown cpu: -mcpu=%s"
+msgstr "cpu desconocido: -mcpu=%s"
+
+#: config/frv/frv.c:451
+msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+msgstr "-fpic y -gdwarf son incompatibles (-fpic y -g/-gdwarf-2 están bien)"
+
+#: config/frv/frv.c:2520
+msgid "Bad insn to frv_print_operand_address:"
+msgstr "insn errónea para frv_print_operand_address:"
+
+#: config/frv/frv.c:2533
+msgid "Bad register to frv_print_operand_memory_reference_reg:"
+msgstr "Registro erróneo para frv_print_operand_memory_reference_reg:"
+
+#: 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 "insn erróneo para frv_print_operand_memory_reference:"
+
+#: config/frv/frv.c:2779
+msgid "Bad insn in frv_print_operand, bad const_double"
+msgstr "insn erróneo en frv_print_operand, const_double errónea"
+
+#: config/frv/frv.c:2824
+msgid "Bad insn to frv_print_operand, 'C' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'C':"
+
+#: config/frv/frv.c:2847
+msgid "Bad insn to frv_print_operand, 'c' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'c':"
+
+#: config/frv/frv.c:2872
+msgid "Bad insn to frv_print_operand, 'e' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'e':"
+
+#: config/frv/frv.c:2880
+msgid "Bad insn to frv_print_operand, 'F' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'F':"
+
+#: config/frv/frv.c:2896
+msgid "Bad insn to frv_print_operand, 'f' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'f':"
+
+#: config/frv/frv.c:2949
+msgid "Bad insn to frv_print_operand, 'L' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'L':"
+
+#: config/frv/frv.c:2962
+msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'M/N':"
+
+#: config/frv/frv.c:2983
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'O':"
+
+#: config/frv/frv.c:3001
+msgid "Bad insn to frv_print_operand, P modifier:"
+msgstr "insn erróneo para frv_print_operand, modificador 'P':"
+
+#: config/frv/frv.c:3021
+msgid "Bad insn in frv_print_operand, z case"
+msgstr "insn erróneo en frv_print_operand, caso z"
+
+#: config/frv/frv.c:3049
+msgid "Bad insn in frv_print_operand, 0 case"
+msgstr "insn erróneo en frv_print_operand, caso 0"
+
+#: config/frv/frv.c:3054
+msgid "frv_print_operand: unknown code"
+msgstr "frv_print_operand: código desconocido"
+
+#: config/frv/frv.c:5737
+msgid "Bad output_move_single operand"
+msgstr "Operando output_move_single erróneo"
+
+#: config/frv/frv.c:5866
+msgid "Bad output_move_double operand"
+msgstr "Operando output_move_double erróneo"
+
+#: config/frv/frv.c:6010
+msgid "Bad output_condmove_single operand"
+msgstr "Operando output_condmove_single erróneo"
+
+#: config/frv/frv.c:8315
+msgid "frv_registers_update"
+msgstr "frv_registers_update"
+
+#: config/frv/frv.c:8475
+msgid "frv_registers_used_p"
+msgstr "frv_registers_used_p"
+
+#: config/frv/frv.c:8604
+msgid "frv_registers_set_p"
+msgstr "frv_registers_set_p"
+
+#: config/frv/frv.c:9171
+msgid "accumulator is not a constant integer"
+msgstr "el acumulador no es una constante entera"
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
+msgstr "el número del acumulador está fuera de los límites"
+
+#: config/frv/frv.c:9187
+#, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "acumulador inapropiado para `%s'"
+
+#: config/frv/frv.c:9253
+#, c-format
+msgid "`%s' expects a constant argument"
+msgstr "el atributo `%s' espera una constante como argumento"
+
+#: config/frv/frv.c:9258
+#, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "el argumento constante está fuera de rango para `%s'"
+
+#: config/frv/frv.c:9638
+msgid "media functions are not available unless -mmedia is used"
+msgstr "las funciones de medios no están disponibles a menos que se use -mmedia"
+
+#: config/frv/frv.c:9650
+msgid "this media function is only available on the fr500"
+msgstr "esta función de medios sólo está disponible en el fr500"
+
+#: config/frv/frv.c:9678
+msgid "this media function is only available on the fr400"
+msgstr "esta función de medios sólo está disponible en el fr400"
+
+#. 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 " (frv)"
+
+#: config/h8300/h8300.c:314
msgid "-ms2600 is used without -ms"
msgstr "se usó -ms2600 sin -ms"
+#: config/h8300/h8300.c:320
+msgid "-mn is used without -mh or -ms"
+msgstr "se usó -mn sin -mh ó -ms"
+
#. 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"
-msgstr "Generar código H8/S"
+#: config/h8300/h8300.h:150
+msgid "Generate H8S code"
+msgstr "Generar código H8S"
-#: config/h8300/h8300.h:118
-msgid "Do not generate H8/S code"
-msgstr "No generar código H8/S"
+#: config/h8300/h8300.h:151
+msgid "Do not generate H8S code"
+msgstr "No generar código H8S"
-#: config/h8300/h8300.h:119
-msgid "Generate H8/S2600 code"
-msgstr "Generar código H8/S2600"
+#: config/h8300/h8300.h:152
+msgid "Generate H8S/2600 code"
+msgstr "Generar código H8S/2600"
-#: config/h8300/h8300.h:120
-msgid "Do not generate H8/S2600 code"
-msgstr "No generar código H8/S2600"
+#: config/h8300/h8300.h:153
+msgid "Do not generate H8S/2600 code"
+msgstr "No generar código H8S/2600"
-#: config/h8300/h8300.h:121
+#: config/h8300/h8300.h:154
msgid "Make integers 32 bits wide"
msgstr "Hacer enteros de 32 bits de anchura"
-#: config/h8300/h8300.h:124
+#: config/h8300/h8300.h:157
msgid "Use registers for argument passing"
msgstr "Usar registros para paso de parámetros"
-#: config/h8300/h8300.h:126
+#: config/h8300/h8300.h:159
msgid "Do not use registers for argument passing"
msgstr "No usar registros para paso de parámetros"
-#: config/h8300/h8300.h:128
+#: config/h8300/h8300.h:161
msgid "Consider access to byte sized memory slow"
msgstr "Considerar lento el acceso a la memoria de tamaño byte"
-#: config/h8300/h8300.h:129
+#: config/h8300/h8300.h:162
msgid "Enable linker relaxing"
msgstr "Activar el relajamiento del enlazador"
-#: config/h8300/h8300.h:131
+#: config/h8300/h8300.h:164
msgid "Generate H8/300H code"
msgstr "Generar código H8/300H"
-#: config/h8300/h8300.h:132
+#: config/h8300/h8300.h:165
+msgid "Enable the normal mode"
+msgstr "Activar el modo normal"
+
+#: config/h8300/h8300.h:166
msgid "Do not generate H8/300H code"
msgstr "No generar código H8/300H"
-#: config/h8300/h8300.h:133
+#: config/h8300/h8300.h:167
msgid "Use H8/300 alignment rules"
msgstr "Usar reglas de alineación H8/300"
-#: config/i370/i370-c.c:54
+#: config/i370/i370-c.c:53
msgid "junk at end of #pragma map"
msgstr "basura al final de #pragma map"
-#: config/i370/i370-c.c:60
+#: config/i370/i370-c.c:59
msgid "malformed #pragma map, ignored"
msgstr "#pragma map malformado, ignorado"
-#: config/i370/i370.c:897
+#: config/i370/i370.c:915
msgid "real name is too long - alias ignored"
msgstr "el nombre real es demasiado largo - se ignora el alias"
-#: config/i370/i370.c:902
+#: config/i370/i370.c:920
msgid "alias name is too long - alias ignored"
msgstr "el nombre de alias es demasiado largo - se ignora el alias"
-#: config/i370/i370.c:1173
+#: config/i370/i370.c:1191
msgid "internal error--no jump follows compare:"
msgstr "error interno--no hay saltos a continuación de la comparación:"
@@ -9900,331 +10130,317 @@ msgstr "error interno--no hay saltos a continuación de la comparación:"
#. 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 "Generar instrucciones char"
-#: config/i370/i370.h:64
+#: config/i370/i370.h:76
msgid "Do not generate char instructions"
msgstr "No generar instrucciones char"
-#: config/i386/i386.c:925
+#: config/i386/i386.c:1050
#, c-format
msgid "code model %s not supported in PIC mode"
msgstr "el modelo de código %s no tiene soporte en el modo PIC"
-#: config/i386/i386.c:935 config/sparc/sparc.c:344
+#: config/i386/i386.c:1060 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr "valor erróneo (%s) para el interruptor -mcmodel="
-#: config/i386/i386.c:950
+#: config/i386/i386.c:1075
#, c-format
msgid "bad value (%s) for -masm= switch"
msgstr "valor erróneo (%s) para el interruptor -masm="
-#: config/i386/i386.c:953
+#: config/i386/i386.c:1078
#, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr "el modelo de código `%s' no tiene soporte en el modo de bit %s"
-#: config/i386/i386.c:956
+#: config/i386/i386.c:1081
msgid "code model `large' not supported yet"
msgstr "aún no hay soporte para el modelo de código `large'"
-#: config/i386/i386.c:958
+#: config/i386/i386.c:1083
#, c-format
msgid "%i-bit mode not compiled in"
msgstr "no está compilado el modo bit-%i"
-#: config/i386/i386.c:988 config/mips/mips.c:4989
+#: config/i386/i386.c:1113
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr "valor erróneo (%s) para el interruptor -march="
-#: config/i386/i386.c:999 config/mips/mips.c:4945
+#: config/i386/i386.c:1124
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr "valor erróneo (%s) para el interruptor -mcpu="
-#: config/i386/i386.c:1018
+#: config/i386/i386.c:1141
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr "-mregparm=%d no está entre 0 y %d"
-#: config/i386/i386.c:1031
+#: config/i386/i386.c:1154
msgid "-malign-loops is obsolete, use -falign-loops"
msgstr "-malign-loops es obsoleto, use -falign-loops"
-#: config/i386/i386.c:1036 config/i386/i386.c:1049 config/i386/i386.c:1062
+#: config/i386/i386.c:1159 config/i386/i386.c:1172 config/i386/i386.c:1185
#, c-format
msgid "-malign-loops=%d is not between 0 and %d"
msgstr "-malign-loops=%d no está entre 0 y %d"
-#: config/i386/i386.c:1044
+#: config/i386/i386.c:1167
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr "-malign-jumps es obsoleto, use -falign-jumps"
-#: config/i386/i386.c:1057
+#: config/i386/i386.c:1180
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr "-malign-functions es obsoleto, use -falign-functions"
-#: config/i386/i386.c:1095
+#: config/i386/i386.c:1218
#, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr "-mpreferred-stack-boundary=%d no está entre %d y 12"
-#: config/i386/i386.c:1107
+#: config/i386/i386.c:1230
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr "-mbranch-cost=%d no está entre 0 y 5"
-#: config/i386/i386.c:1129
+#: config/i386/i386.c:1242
+#, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "valor erróneo (%s) para el interruptor -mtls-dialect="
+
+#: config/i386/i386.c:1263
msgid "-malign-double makes no sense in the 64bit mode"
msgstr "-malign-double no tiene sentido en el modo 64bit"
-#: config/i386/i386.c:1131
+#: config/i386/i386.c:1265
msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr "la convención de llamadas -mrtd no tiene soporte en el modo de 64 bit"
-#: config/i386/i386.c:1147 config/i386/i386.c:1158
+#: config/i386/i386.c:1281 config/i386/i386.c:1292
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr "el conjunto de instrucciones SSE está desactivado, usando la aritmética 387"
-#: config/i386/i386.c:1163
+#: config/i386/i386.c:1297
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr "el conjunto de instrucciones 387 está desactivado, usando la aritmética SSE"
-#: config/i386/i386.c:1170
+#: config/i386/i386.c:1304
#, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr "valor erróneo (%s) para el interruptor -mfpmath="
-#: config/i386/i386.c:1300
+#: config/i386/i386.c:1436
#, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr "el atributo `%s' requiere una constante entera como argumento"
-#: config/i386/i386.c:1306
+#: config/i386/i386.c:1442
#, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr "el argumento para el atributo `%s' es más grande que %d"
-#: config/i386/i386.c:5363
+#: config/i386/i386.c:6325
msgid "invalid UNSPEC as operand"
msgstr "UNSPEC inválido como operando"
-#: config/i386/i386.c:5596
+#: config/i386/i386.c:6587
msgid "extended registers have no high halves"
msgstr "los registros extendidos no tiene mitades superiores"
-#: config/i386/i386.c:5611
+#: config/i386/i386.c:6602
msgid "unsupported operand size for extended register"
msgstr "tamaño de operando sin soporte para el registro extendido"
-#: config/i386/i386.c:5884
+#: config/i386/i386.c:6917
msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr "el operando no es una constante ni un código de condición, código de operando 'c' inválido"
-#: config/i386/i386.c:5930
+#: config/i386/i386.c:6963
#, c-format
msgid "invalid operand code `%c'"
msgstr "código de operando `%c' inválido"
-#: config/i386/i386.c:9867
+#: config/i386/i386.c:7010
+msgid "invalid constraints for operand"
+msgstr "restricciones inválidas para el operando"
+
+#: config/i386/i386.c:11189
msgid "unknown insn mode"
msgstr "modo insn desconocido"
#. @@@ better error message
-#: config/i386/i386.c:11730 config/i386/i386.c:11763
+#: config/i386/i386.c:13309 config/i386/i386.c:13345
msgid "selector must be an immediate"
msgstr "el selector debe ser un inmediato"
#. @@@ better error message
-#: config/i386/i386.c:11921 config/i386/i386.c:11949
+#: config/i386/i386.c:13506 config/i386/i386.c:13540
msgid "mask must be an immediate"
msgstr "la máscara debe ser un inmediato"
-#: config/i386/winnt.c:94
+#: config/i386/i386.c:13572
+msgid "shift must be an immediate"
+msgstr "el desplazamiento debe ser un inmediato"
+
+#: config/i386/winnt.c:105
#, c-format
msgid "`%s' attribute only applies to variables"
msgstr "el atributo `%s' solamente aplica a variables"
-#: 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 "`%s' es declarado como exportado a e importado de una DLL al mismo tiempo"
-#: config/i386/cygwin.h:51
+#: config/i386/cygwin.h:45
msgid "Use the Cygwin interface"
msgstr "Usar la interfaz Cygwin"
-#: config/i386/cygwin.h:53
+#: config/i386/cygwin.h:46
msgid "Use the Mingw32 interface"
msgstr "Usar la interfaz Mingw32"
-#: config/i386/cygwin.h:54
+#: config/i386/cygwin.h:47
msgid "Create GUI application"
msgstr "Crear una aplicación con interfaz gráfica de usuario (GUI)"
-#: config/i386/cygwin.h:55
+#: config/i386/cygwin.h:48
msgid "Don't set Windows defines"
msgstr "No establecer las definiciones de Windows"
-#: config/i386/cygwin.h:56
+#: config/i386/cygwin.h:49
msgid "Set Windows defines"
msgstr "Establecer las definiciones de Windows"
-#: config/i386/cygwin.h:58
+#: config/i386/cygwin.h:50
msgid "Create console application"
msgstr "Crear una aplicación de consola"
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
msgid "Generate code for a DLL"
msgstr "Generar código para una DLL"
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
msgid "Ignore dllimport for functions"
msgstr "Ignorar dllimport para funciones"
-#: config/i386/cygwin.h:63
+#: config/i386/cygwin.h:55
msgid "Use Mingw-specific thread support"
msgstr "Usar soporte de hilos específico de Mingw"
-#: config/i386/cygwin.h:257
+#: config/i386/cygwin.h:245
#, c-format
msgid "-f%s ignored for target (all code is position independent)"
msgstr "se ignora -f%s para el objetivo (todo el código es independiente de posición)"
-#: config/i386/dgux.h:60
-msgid "Retain standard MXDB information"
-msgstr "Retener la información MXDB estándard"
-
-#: config/i386/dgux.h:62
-msgid "Retain legend information"
-msgstr "Retener información de la leyenda"
-
-#: config/i386/dgux.h:65
-msgid "Generate external legend information"
-msgstr "General información de leyenda externa"
-
-#: config/i386/dgux.h:67
-msgid "Emit identifying info in .s file"
-msgstr "Emitir información de identificación en el fichero .s"
-
-#: config/i386/dgux.h:69
-msgid "Warn when a function arg is a structure"
-msgstr "Advertir cuando el argumento de una función es una estructura"
-
-#: config/i386/dgux.h:252
-msgid "argument is a structure"
-msgstr "el argumento es una estructura"
-
-#: config/i386/djgpp.h:201
+#: config/i386/djgpp.h:204
msgid "-mbnu210 is ignored (option is obsolete)"
msgstr "se ignora -mbnu210 (la opción es obsoleta)"
-#: config/i386/i386.h:45 config/mips/mips.h:186
-msgid "half-pic init called on systems that don't support it"
-msgstr "se llamó a half-pic init en sistemas que no le dan soporte"
-
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
-#: config/i386/i386.h:303
+#: config/i386/i386.h:306
msgid "Alternate calling convention"
msgstr "Convención de llamada alternativa"
-#: 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 "Usar convención de llamada normal"
-#: config/i386/i386.h:307
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr "Alinear algunos doubles en límites de dword"
-#: config/i386/i386.h:309
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr "Alinear doubles en límites de word"
-#: config/i386/i386.h:311
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
-msgstr "Locales sin valores iniciales en .bss"
+msgstr "Locales sin inicializar en .bss"
-#: config/i386/i386.h:313
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
-msgstr "Locales sin valores iniciales en .data"
+msgstr "Locales sin inicializar en .data"
-#: 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 "Usar matemática IEEE para comparaciones fp"
-#: 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 "No usar matemática IEEE para comparaciones fp"
-#: config/i386/i386.h:319
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr "Devolver valores de funciones en registros FPU"
-#: config/i386/i386.h:321
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr "No devolver valores de funciones en registros FPU"
-#: config/i386/i386.h:323
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr "No generar sin, cos, sqrt para FPU"
-#: config/i386/i386.h:325
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr "Generar sin, cos, sqrt para FPU"
-#: config/i386/i386.h:327
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr "Omitir el marco de referencia para las funciones hojas"
-#: config/i386/i386.h:330
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr "Habilitar la prueba de la pila"
#. undocumented
#. undocumented
-#: config/i386/i386.h:335
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr "Alinear destino de las operaciones de cadenas"
-#: config/i386/i386.h:337
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr "No alinear destino de las operaciones de cadenas"
-#: config/i386/i386.h:339
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr "Convertir a inline todas las operaciones de cadenas conocidas"
-#: config/i386/i386.h:341
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
msgstr "No convertir a inline todas las operaciones de cadenas conocidas"
-#: 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 "Usar instrucciones push para guardar los argumentos de salida"
-#: 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 "No usar instrucciones push para guardar los argumentos de salida"
-#: config/i386/i386.h:352
+#: config/i386/i386.h:354
msgid "Support MMX built-in functions"
msgstr "Dar soporte para funciones internas MMX"
-#: config/i386/i386.h:354
+#: config/i386/i386.h:356
msgid "Do not support MMX built-in functions"
msgstr "No dar soporte para funciones internas MMX"
-#: config/i386/i386.h:357
+#: config/i386/i386.h:358
msgid "Support 3DNow! built-in functions"
msgstr "Dar soporte para funciones internas 3DNow!"
@@ -10236,39 +10452,39 @@ msgstr "No dar soporte para funciones internas 3DNow!"
msgid "Support MMX and SSE built-in functions and code generation"
msgstr "Dar soporte para funciones internas y generación de código MMX y SSE"
-#: config/i386/i386.h:365
+#: config/i386/i386.h:364
msgid "Do not support MMX and SSE built-in functions and code generation"
msgstr "No dar soporte para funciones internas y generación de código MMX y SSE"
-#: config/i386/i386.h:367
+#: config/i386/i386.h:366
msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
msgstr "Dar soporte para funciones internas y generación de código MMX, SSE y SSE2"
-#: 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 "No dar soporte para funciones internas y generación de código MMX, SSE y SSE2"
-#: config/i386/i386.h:372
+#: config/i386/i386.h:370
msgid "sizeof(long double) is 16"
msgstr "sizeof(long double) es 16"
-#: config/i386/i386.h:374
+#: config/i386/i386.h:372
msgid "sizeof(long double) is 12"
msgstr "sizeof(long double) es 12"
-#: config/i386/i386.h:376
+#: config/i386/i386.h:374
msgid "Generate 64bit x86-64 code"
msgstr "Generar código x86-64 de 64bit"
-#: config/i386/i386.h:378
+#: config/i386/i386.h:376
msgid "Generate 32bit i386 code"
msgstr "Generar código i386 de 32bit"
-#: config/i386/i386.h:380
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr "Usar la zona roja en el código x86-64"
-#: config/i386/i386.h:382
+#: config/i386/i386.h:380
msgid "Do not use red-zone in the x86-64 code"
msgstr "No usar la zona roja en el código x86-64"
@@ -10281,19 +10497,19 @@ msgstr "No usar la zona roja en el código x86-64"
#. 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 "Código de calendarizador para el CPU dado"
-#: config/i386/i386.h:430
+#: config/i386/i386.h:411
msgid "Generate floating point mathematics using given instruction set"
msgstr "Generar matemáticas de coma flotante usando el conjunto de instrucciones dado"
-#: config/i386/i386.h:432
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
msgstr "Generar código para el CPU dado"
-#: config/i386/i386.h:434
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr "Número de registros usados para pasar argumentos enteros"
@@ -10307,71 +10523,41 @@ msgstr "Número de registros usados para pasar argumentos enteros"
#. 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 "El código de ciclo es alineado a esta potencia de 2"
-#: 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 "Los objetivos de salto son alineados a esta potencia de 2"
-#: 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 "Los inicios de las funciones son alineados a esta potencia de 2"
-#: config/i386/i386.h:443
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr "Se trata de mantenter la pila alineada a esta potencia de 2"
-#: config/i386/i386.h:445
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr "Las ramificaciones son así de caras (1-5, unidades arbitrarias)"
-#: config/i386/i386.h:447
+#: config/i386/i386.h:428
msgid "Use given x86-64 code model"
msgstr "Usar el modelo de código del x86-64 dado"
#. Undocumented.
#. Undocumented.
-#: config/i386/i386.h:453
+#: config/i386/i386.h:434
msgid "Use given assembler dialect"
msgstr "Usar el dialecto del ensamblador dado"
-#: config/i386/osf1elf.h:112
-msgid "Profiling uses mcount"
-msgstr "El análisis de perfil usa mcount"
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr "Emitir código semi-PIC"
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
+msgstr "Usar el dialecto de almacenamiento thread-local dado"
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr "Emitir código objeto ELF"
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr "Emitir código objeto ROSE"
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
-msgstr "Los símbolos son precedidos por un subrayado"
-
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr "Alinear a límites >word"
-
-#: config/i386/osfrose.h:77
-msgid "Use mcount for profiling"
-msgstr "Usar mcount para análisis de perfil"
-
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
-msgstr "Usar mcount_ptr para análisis de perfil"
-
-#: config/i386/sco5.h:771
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr "Generar salida ELF"
@@ -10403,32 +10589,31 @@ msgstr "la variable de ambiente DJGPP apunta al fichero faltante '%s'"
msgid "environment variable DJGPP points to corrupt file '%s'"
msgstr "la variable de ambiente DJGPP apunta al fichero corrupto '%s'"
-#. 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"
-msgstr "Generar código que use el FPU"
-
-#: 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"
-msgstr "No generar código que use el FPU"
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr "disculpe, no se ha implementado: #pragma align NOMBRE=TAMAÑO"
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
msgid "malformed #pragma align - ignored"
msgstr "#pragma align mal formado - ignorado"
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr "disculpe, no se ha implementado: #pragma noalign NOMBRE"
-#: config/i960/i960.c:1405 config/m68k/m68k.c:665 config/rs6000/rs6000.c:8437
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr "se definieron arquitecturas en conflicto - usando las series C"
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr "se definieron arquitecturas en conflicto - usando las series K"
+
+#: config/i960/i960.c:141
+msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+msgstr "iC2.0 e iC3.0 son incompatibles - usando iC3.0"
+
+#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9974
msgid "stack limit expression is not supported"
msgstr "no se da soporte a la expresión del límite de la pila"
@@ -10486,6 +10671,10 @@ msgstr "Generar código CA"
msgid "Generate CF code"
msgstr "Generar código CF"
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:266
+msgid "Use software floating point"
+msgstr "Usar coma flotante de software"
+
#: config/i960/i960.h:285
msgid "Use alternate leaf function entries"
msgstr "Usar entradas de función hojas alternadas"
@@ -10548,7 +10737,8 @@ msgstr "Presentar tipos como en el gcc v1.3 de Intel"
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr "No presentar tipos como en el gcc v1.3 de Intel"
-#: config/i960/i960.h:323 config/sparc/freebsd.h:80 config/sparc/linux.h:86 config/sparc/linux64.h:143 config/sparc/netbsd-elf.h:238
+#: 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 "Usar long doubles de 64 bit"
@@ -10560,186 +10750,192 @@ msgstr "Activar la relajación del enlazador"
msgid "Do not enable linker relaxation"
msgstr "Desactivar la relajación del enlazador"
-#. 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"
-msgstr "se definieron arquitecturas en conflicto - usando las series C"
-
-#: config/i960/i960.h:347
-msgid "conflicting architectures defined - using K series"
-msgstr "se definieron arquitecturas en conflicto - usando las series K"
-
-#: config/i960/i960.h:362
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr "iC2.0 e iC3.0 son incompatibles - usando iC3.0"
+#: config/ia64/ia64-c.c:51
+msgid "malformed #pragma builtin"
+msgstr "#pragma interno malformado"
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:373
-msgid "the -mlong-double-64 option does not work yet"
-msgstr "el soporte para -mlong-double-64 aún no funciona"
-
-#: config/ia64/ia64.c:3554
+#: config/ia64/ia64.c:3976
msgid "ia64_print_operand: unknown code"
msgstr "ia64_print_operand: código desconocido"
-#: config/ia64/ia64.c:3828
+#: config/ia64/ia64.c:4253
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr "el valor de -mfixed-range debe ser de la forma REG1-REG2"
-#: config/ia64/ia64.c:3855
+#: config/ia64/ia64.c:4280
#, c-format
msgid "%s-%s is an empty range"
msgstr "%s-%s es un rango vacío"
-#: config/ia64/ia64.c:3920
-msgid "cannot optimize division for both latency and throughput"
-msgstr "no se puede optimizar la división para latencia y salida al mismo tiempo"
+#: config/ia64/ia64.c:4311
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr "no se puede optimizar la división de coma flotante para latencia y salida al mismo tiempo"
+
+#: config/ia64/ia64.c:4317
+msgid "cannot optimize integer division for both latency and throughput"
+msgstr "no se puede optimizar la división entera para latencia y salida al mismo tiempo"
+
+#: config/ia64/ia64.c:4329
+#, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "valor erróneo (%s) para el interruptor -mtls-size="
#. 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:154
msgid "Generate big endian code"
msgstr "Generar código big endian"
-#: config/ia64/ia64.h:121 config/mcore/mcore.h:159
+#: config/ia64/ia64.h:156 config/mcore/mcore.h:159
msgid "Generate little endian code"
msgstr "Generar código little endian"
-#: config/ia64/ia64.h:123
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU as"
msgstr "Generar código para as de GNU"
-#: config/ia64/ia64.h:125
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel as"
msgstr "Generar código as de Intel"
-#: config/ia64/ia64.h:127
+#: config/ia64/ia64.h:162
msgid "Generate code for GNU ld"
msgstr "Generar código para ld de GNU"
-#: config/ia64/ia64.h:129
+#: config/ia64/ia64.h:164
msgid "Generate code for Intel ld"
msgstr "Generar código para ld de Intel"
-#: config/ia64/ia64.h:131
+#: config/ia64/ia64.h:166
msgid "Generate code without GP reg"
msgstr "Generar código sin registro GP"
-#: config/ia64/ia64.h:133
+#: config/ia64/ia64.h:168
msgid "Emit stop bits before and after volatile extended asms"
msgstr "Emitir bits de parada antes y después de asms extendidos con volatile"
-#: config/ia64/ia64.h:135
+#: config/ia64/ia64.h:170
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr "No emitir bits de parada antes y después de asms extendidos con volatile"
-#: config/ia64/ia64.h:137
+#: config/ia64/ia64.h:172
msgid "Emit code for Itanium (TM) processor B step"
msgstr "Emitir código para el procesador Itanium (TM) paso B"
-#: config/ia64/ia64.h:139
+#: config/ia64/ia64.h:174
msgid "Use in/loc/out register names"
msgstr "Usar nombres de registro in/loc/out"
-#: config/ia64/ia64.h:141
+#: config/ia64/ia64.h:176
msgid "Disable use of sdata/scommon/sbss"
msgstr "Desactivar el uso de sdata/scommon/sbss"
-#: config/ia64/ia64.h:143
+#: config/ia64/ia64.h:178
msgid "Enable use of sdata/scommon/sbss"
msgstr "Activar el uso de sdata/scommon/sbss"
-#: config/ia64/ia64.h:145
+#: config/ia64/ia64.h:180
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr "gp es constante (pero hay save/restore de gp en llamadas indirectas)"
-#: config/ia64/ia64.h:147
+#: config/ia64/ia64.h:182
msgid "Generate self-relocatable code"
msgstr "Generar código auto-reubicable"
-#: config/ia64/ia64.h:149
-msgid "Generate inline division, optimize for latency"
-msgstr "Generar división inline, optimizada para latencia"
+#: config/ia64/ia64.h:184
+msgid "Generate inline floating point division, optimize for latency"
+msgstr "Generar división de coma flotante inline, optimizada para latencia"
-#: config/ia64/ia64.h:151
-msgid "Generate inline division, optimize for throughput"
-msgstr "Generar división inline, optimizada para salida"
+#: config/ia64/ia64.h:186
+msgid "Generate inline floating point division, optimize for throughput"
+msgstr "Generar división de coma flotante inline, optimizada para salida"
-#: config/ia64/ia64.h:153
+#: config/ia64/ia64.h:188
+msgid "Generate inline integer division, optimize for latency"
+msgstr "Generar división entera inline, optimizada para latencia"
+
+#: config/ia64/ia64.h:190
+msgid "Generate inline integer division, optimize for throughput"
+msgstr "Generar división entera inline, optimizada para salida"
+
+#: config/ia64/ia64.h:192
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr "Activar la información de la línea de depuración Dwarf 2 a través de as de GNU"
-#: config/ia64/ia64.h:155
+#: config/ia64/ia64.h:194
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr "Desactivar la información de la línea de depuración Dwarf 2 a través de as de GNU"
-#: config/ia64/ia64.h:183
+#: config/ia64/ia64.h:223
msgid "Specify range of registers to make fixed"
msgstr "Especifica el rango de registros a convertir en fijos"
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1090
+msgid "bad operand"
+msgstr "operando erróneo"
+
+#: config/m32r/m32r.c:139
#, c-format
msgid "bad value (%s) for -mmodel switch"
msgstr "valor erróneo (%s) para el interruptor -mmodel"
-#: config/m32r/m32r.c:139
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
msgstr "valor erróneo (%s) para el interruptor -msdata"
-#: config/m32r/m32r.c:310
+#: config/m32r/m32r.c:319
#, c-format
msgid "invalid argument of `%s' attribute"
msgstr "argumento inválido del atributo `%s'"
-#: config/m32r/m32r.c:408
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr "los objetos const no pueden ir en .sdata/.sbss"
-#: config/m32r/m32r.c:2248
+#: config/m32r/m32r.c:2256
#, c-format
msgid "invalid operand to %%s code"
msgstr "operando inválido para el código %%s"
-#: config/m32r/m32r.c:2255
+#: config/m32r/m32r.c:2263
#, c-format
msgid "invalid operand to %%p code"
msgstr "operador inválido para el código %%p"
-#: config/m32r/m32r.c:2311
+#: config/m32r/m32r.c:2318
msgid "bad insn for 'A'"
msgstr "insn erróneo para 'A'"
-#: config/m32r/m32r.c:2363
+#: config/m32r/m32r.c:2370
#, c-format
msgid "invalid operand to %%T/%%B code"
msgstr "operador inválido para el código %%T/%%B"
-#: config/m32r/m32r.c:2386
+#: config/m32r/m32r.c:2393
#, c-format
msgid "invalid operand to %%N code"
msgstr "operando inválido para el código %%N"
-#: config/m32r/m32r.c:2431
+#: config/m32r/m32r.c:2438
msgid "pre-increment address is not a register"
msgstr "la dirección de pre-incremento no es un registro"
-#: config/m32r/m32r.c:2438
+#: config/m32r/m32r.c:2445
msgid "pre-decrement address is not a register"
msgstr "la dirección de pre-decremento no es un registro"
-#: config/m32r/m32r.c:2445
+#: config/m32r/m32r.c:2452
msgid "post-increment address is not a register"
msgstr "la dirección de post-incremento no es un registro"
-#: config/m32r/m32r.c:2523 config/m32r/m32r.c:2539 config/rs6000/rs6000.c:11065
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12783
msgid "bad address"
msgstr "dirección errónea"
-#: config/m32r/m32r.c:2544
+#: config/m32r/m32r.c:2551
msgid "lo_sum not of register"
msgstr "lo_sum no de un registro"
@@ -10768,46 +10964,55 @@ msgstr "Tamaño del código: small, medium o large"
msgid "Small data area: none, sdata, use"
msgstr "Área de datos small: none, sdata, use"
-#: config/m68hc11/m68hc11.c:236
+#: config/m68hc11/m68hc11.c:242
#, c-format
msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
msgstr "se ignora -f%s para 68HC11/68HC12 (sin soporte)"
+#: config/m68hc11/m68hc11.c:1305
+msgid "`trap' and `far' attributes are not compatible, ignoring `far'"
+msgstr "los atributos `trap' y `far' no son compatibles, se ignora `far'"
+
+#: config/m68hc11/m68hc11.c:1311
+msgid "`trap' attribute is already used"
+msgstr "el atributo `trap' ya está en uso"
+
#. !!!! SCz wrong here.
-#: config/m68hc11/m68hc11.c:3170 config/m68hc11/m68hc11.c:3544
+#: config/m68hc11/m68hc11.c:3327 config/m68hc11/m68hc11.c:3733
msgid "move insn not handled"
msgstr "no se maneja move insn"
-#: config/m68hc11/m68hc11.c:3390 config/m68hc11/m68hc11.c:3474 config/m68hc11/m68hc11.c:3747
+#: config/m68hc11/m68hc11.c:3579 config/m68hc11/m68hc11.c:3663
+#: config/m68hc11/m68hc11.c:3946
msgid "invalid register in the move instruction"
msgstr "registro inválido en la instrucción move"
-#: config/m68hc11/m68hc11.c:3424
+#: config/m68hc11/m68hc11.c:3613
msgid "invalid operand in the instruction"
msgstr "operando inválido en la instrucción"
-#: config/m68hc11/m68hc11.c:3721
+#: config/m68hc11/m68hc11.c:3920
msgid "invalid register in the instruction"
msgstr "registro inválido en la instrucción"
-#: config/m68hc11/m68hc11.c:3754
+#: config/m68hc11/m68hc11.c:3953
msgid "operand 1 must be a hard register"
msgstr "el operando 1 debe ser un registro fijo"
# FIXME: ¿O 'rotación de insn inválida'? Revisar en el código. cfuga
-#: config/m68hc11/m68hc11.c:3771
+#: config/m68hc11/m68hc11.c:3970
msgid "invalid rotate insn"
msgstr "rotate insn inválido"
-#: config/m68hc11/m68hc11.c:4196
+#: config/m68hc11/m68hc11.c:4391
msgid "registers IX, IY and Z used in the same INSN"
msgstr "se usaron los registros IX, IY y Z en el mismo INSN"
-#: config/m68hc11/m68hc11.c:4521 config/m68hc11/m68hc11.c:4823
+#: config/m68hc11/m68hc11.c:4728 config/m68hc11/m68hc11.c:5031
msgid "cannot do z-register replacement"
msgstr "no se puede reemplazar el registro-z"
-#: config/m68hc11/m68hc11.c:4886
+#: config/m68hc11/m68hc11.c:5094
msgid "invalid Z register replacement for insn"
msgstr "reemplazo de registro Z inválido para el insn"
@@ -10815,36 +11020,62 @@ msgstr "reemplazo de registro Z inválido para el insn"
#. 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:172
msgid "Compile with 16-bit integer mode"
msgstr "Compilar con el modo entero de 16-bit"
-#: config/m68hc11/m68hc11.h:157
+#: config/m68hc11/m68hc11.h:174
msgid "Compile with 32-bit integer mode"
msgstr "Compilar con el modo entero de 32-bit"
-#: config/m68hc11/m68hc11.h:159
+#: config/m68hc11/m68hc11.h:176
msgid "Auto pre/post decrement increment allowed"
msgstr "Se permite el auto pre/post decremento incremento"
-#: config/m68hc11/m68hc11.h:161
+#: config/m68hc11/m68hc11.h:178
msgid "Auto pre/post decrement increment not allowed"
msgstr "No se permite el auto pre/post decremento incremento"
+#: config/m68hc11/m68hc11.h:180
+msgid "Min/max instructions allowed"
+msgstr "Se permiten las instrucciones min/max"
+
+#: config/m68hc11/m68hc11.h:182
+msgid "Min/max instructions not allowed"
+msgstr "No se permiten las instrucciones min/max"
+
+#: config/m68hc11/m68hc11.h:184
+msgid "Use call and rtc for function calls and returns"
+msgstr "Usar call y rtc para llamadas y devoluciones de función"
+
+#: config/m68hc11/m68hc11.h:186
+msgid "Use jsr and rts for function calls and returns"
+msgstr "Usar jsr y rts para llamadas y devoluciones de función"
+
# Ya sé que "soft" se refiere a un tipo de dato no fijo, pero no se me
# ocurre en este momento una mejor traducción. cfuga
-#: config/m68hc11/m68hc11.h:163
+#: config/m68hc11/m68hc11.h:188
msgid "Do not use direct addressing mode for soft registers"
msgstr "No usar modo de direccionamiento directo para los registros suaves"
-#: config/m68hc11/m68hc11.h:165 config/m68hc11/m68hc11.h:169
+# Ya sé que "soft" se refiere a un tipo de dato no fijo, pero no se me
+# ocurre en este momento una mejor traducción. cfuga
+#: config/m68hc11/m68hc11.h:190
+msgid "Use direct addressing mode for soft registers"
+msgstr "Usar modo de direccionamiento directo para los registros suaves"
+
+#: config/m68hc11/m68hc11.h:192 config/m68hc11/m68hc11.h:198
msgid "Compile for a 68HC11"
msgstr "Compilar para un 68HC11"
-#: config/m68hc11/m68hc11.h:167 config/m68hc11/m68hc11.h:171
+#: config/m68hc11/m68hc11.h:194 config/m68hc11/m68hc11.h:200
msgid "Compile for a 68HC12"
msgstr "Compilar para un 68HC12"
+#: config/m68hc11/m68hc11.h:196 config/m68hc11/m68hc11.h:202
+msgid "Compile for a 68HCS12"
+msgstr "Compilar para un 68HCS12"
+
#. This macro is similar to `TARGET_SWITCHES' but defines names of
#. command options that have values. Its definition is an
#. initializer with a subgrouping for each command option.
@@ -10854,29 +11085,33 @@ msgstr "Compilar para un 68HC12"
#. 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:216
msgid "Specify the register allocation order"
msgstr "Especificar el orden de asignación de registros"
-#: config/m68hc11/m68hc11.h:187
+#: config/m68hc11/m68hc11.h:218
msgid "Indicate the number of soft registers available"
msgstr "Indicar el número de registros suaves disponibles"
-#: config/m68k/m68k.c:150
+#: config/m68k/m68k.c:158
#, c-format
msgid "-malign-loops=%d is not between 1 and %d"
msgstr "-malign-loops=%d no está entre 1 y %d"
-#: config/m68k/m68k.c:161
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr "-malign-jumps=%d no está entre 1 y %d"
-#: config/m68k/m68k.c:172
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
msgstr "-malign-functions=%d no está entre 1 y %d"
+#: config/m68k/m68k.c:189
+msgid "-fPIC is not currently supported on the 68000 or 68010\n"
+msgstr "-fPIC actualmente no tiene soporte en el 68000 o 68010\n"
+
#. Macro to define tables used to set the flags.
#. This is a list in braces of pairs in braces,
#. each pair being { "NAME", VALUE }
@@ -10999,91 +11234,84 @@ msgstr "No permitir referencias a memoria sin alinear"
msgid "Use unaligned memory references"
msgstr "Usar referencias a memoria sin alinear"
-#. 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 "-fPIC actualmente no tiene soporte en el 68000 o 68010\n"
-
-#: config/m88k/m88k.c:900
+#: config/m88k/m88k.c:903
#, c-format
msgid "internal gcc monitor: short-branch(%x)"
msgstr "monitor interno de gcc: short-branch(%x)"
-#: config/m88k/m88k.c:2300
+#: config/m88k/m88k.c:2302
msgid "internal gcc error: Can't express symbolic location"
msgstr "error interno de gcc: No se puede expresar la ubicación simbólica"
-#: config/m88k/m88k.c:2582
+#: config/m88k/m88k.c:2517
#, c-format
msgid "argument #%d is a structure"
msgstr "el argumento #%d es una estructura"
-#: config/m88k/m88k.c:2882
+#: config/m88k/m88k.c:2816
#, c-format
msgid "%%R not followed by %%B/C/D/E"
msgstr "%%R no es seguido por %%B/C/D/E"
-#: config/m88k/m88k.c:2950
+#: config/m88k/m88k.c:2884
#, c-format
msgid "invalid %%x/X value"
msgstr "valor %%x/X inválido"
-#: config/m88k/m88k.c:2973 config/rs6000/rs6000.c:6509
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "valor %%Q inválido"
+
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7715
#, c-format
msgid "invalid %%q value"
msgstr "valor %%q inválido"
-#: config/m88k/m88k.c:2979
+#: config/m88k/m88k.c:2913
#, c-format
msgid "invalid %%o value"
msgstr "valor %%o inválido"
-#: config/m88k/m88k.c:2986 config/rs6000/rs6000.c:6472
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7678
#, c-format
msgid "invalid %%p value"
msgstr "valor %%p inválido"
-#: config/m88k/m88k.c:2999 config/m88k/m88k.c:3004
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
#, c-format
msgid "invalid %%s/S value"
msgstr "valor %%s/S inválido"
-#: config/m88k/m88k.c:3015
+#: config/m88k/m88k.c:2949
#, c-format
msgid "invalid %%P operand"
msgstr "operando %%P inválido"
-#: config/m88k/m88k.c:3046 config/romp/romp.c:682
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
#, c-format
msgid "invalid %%B value"
msgstr "valor %%B inválido"
-#: config/m88k/m88k.c:3076
+#: config/m88k/m88k.c:3010
#, c-format
msgid "invalid %%D value"
msgstr "valor %%D inválido"
-#: config/m88k/m88k.c:3089
+#: config/m88k/m88k.c:3023
#, c-format
msgid "`%%d' operand isn't a register"
msgstr "el operando `%%d' no es un registro"
-#: config/m88k/m88k.c:3107
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr "el operando es r0"
-#: config/m88k/m88k.c:3121
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr "el operando es const_double"
-#: config/m88k/m88k.c:3140
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr "código inválido"
@@ -11107,7 +11335,7 @@ msgstr "-mshort-data-%s es demasiado grande "
msgid "-mshort-data-%s and PIC are incompatible"
msgstr "-mshort-data-%s y PIC son incompatibles"
-#: config/mcore/mcore.c:3083
+#: config/mcore/mcore.c:3078
#, c-format
msgid "invalid option `-mstack-increment=%s'"
msgstr "opción inválida `-mstack-increment=%s'"
@@ -11132,10 +11360,9 @@ msgstr "Establecer la alineación máxima a 8"
msgid "Do not use the divide instruction"
msgstr "No usar la instrucción divide"
-# Error de dedo. Avisar a los desarrolladores. cfuga
#: config/mcore/mcore.h:140
-msgid "Do not arbitary sized immediates in bit operations"
-msgstr "No mediar en tamaños arbitrarios en operaciones de bit"
+msgid "Do not arbitrary sized immediates in bit operations"
+msgstr "No mediar en inmediatos de tamaños arbitrarios en operaciones de bit"
#: config/mcore/mcore.h:142
msgid "Always treat bit-field as int-sized"
@@ -11165,217 +11392,229 @@ msgstr "Generar código para el M*Core M340"
msgid "Maximum amount for a single stack increment operation"
msgstr "Cantidad máxima para una sola operación de incremento de pila"
-#: config/mips/mips.c:4815
-msgid "The -march option is incompatible to -mipsN and therefore ignored."
-msgstr "La opción -march es incompatible con -mipsN y por lo tanto se ignora."
+#: config/mips/mips.c:5126
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
+msgstr "valor erróneo (%s) para el interruptor -mabi="
-#: config/mips/mips.c:4841
+#: config/mips/mips.c:5156
#, c-format
-msgid "-mips%d not supported"
-msgstr "-mips%d no tiene soporte"
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr "-mips%d tiene conflictos con las otras opciones de la arquitectura, las cuales especifican un procesador MIPS%d"
-#: config/mips/mips.c:4848
+#: config/mips/mips.c:5163
#, c-format
msgid "bad value (%s) for -mips switch"
msgstr "valor erróneo (%s) para el interruptor -mips"
-#: config/mips/mips.c:4869
+#: config/mips/mips.c:5178
#, c-format
-msgid "bad value (%s) for -mabi= switch"
-msgstr "valor erróneo (%s) para el interruptor -mabi="
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr "-march=%s no es compatible con la ABI seleccionada"
-#: config/mips/mips.c:4907
-#, c-format
-msgid "-mabi=%s does not support -mips%d"
-msgstr "-mabi=%s no tiene soporte para -mips%d"
+#: config/mips/mips.c:5190
+msgid "-mgp64 used with a 32-bit processor"
+msgstr "se utiliza -mgp64 con un procesador de 32-bit"
-#: config/mips/mips.c:4924
-msgid "this target does not support the -mabi switch"
-msgstr "este objetivo no tiene soporte para el interruptor -mabi"
+#: config/mips/mips.c:5192
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "se utiliza -mgp32 cun una ABI de 64-bit"
-#: config/mips/mips.c:5034
-#, c-format
-msgid "bad value (%s) for -mtune= switch"
-msgstr "valor erróneo (%s) para el interruptor -mtune="
+#: config/mips/mips.c:5194
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "se utiliza -mgp64 con una ABI de 32-bit"
-#: config/mips/mips.c:5044
+#: config/mips/mips.c:5212 config/mips/mips.c:5214 config/mips/mips.c:5216
#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr "-mips%d not tiene soporte para registros fp de 64 bit"
+msgid "unsupported combination: %s"
+msgstr "combinación sin soporte: %s"
-#: config/mips/mips.c:5050
-#, c-format
-msgid "-mips%d does not support 64 bit gp registers"
-msgstr "-mips%d no tiene soporte para registros gp de 64 bit"
+#: config/mips/mips.c:5286
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr "la generación de instrucciones Probables a Ramificar está activada, pero no tiene soporte por la arquitectura"
-#: config/mips/mips.c:5071
+#: config/mips/mips.c:5297
msgid "-G is incompatible with PIC code which is the default"
msgstr "-G es incompatible con el código PIC el cual es por omisión"
-#: config/mips/mips.c:5087
+#: config/mips/mips.c:5313
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr "-membedded-pic y -mabicalls son incompatibles"
-#: config/mips/mips.c:5090
+#: config/mips/mips.c:5316
msgid "-G and -membedded-pic are incompatible"
msgstr "-G y -membedded-pic son incompatibles"
-#: config/mips/mips.c:5141
+#: config/mips/mips.c:5367
#, c-format
msgid "invalid option `entry%s'"
msgstr "opción inválida `entry%s'"
-#: config/mips/mips.c:5144
+#: config/mips/mips.c:5370
msgid "-mentry is only meaningful with -mips-16"
msgstr "-mentry sólo tiene significado con -mips-16"
-#: config/mips/mips.c:5484
+#: config/mips/mips.c:5779
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr "error interno: se encontró %%) sin un %%( en el patrón del ensamblador"
-#: config/mips/mips.c:5498
+#: config/mips/mips.c:5793
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr "error interno: se encontró %%] sin un %%[ en el patrón del ensamblador"
-#: config/mips/mips.c:5511
+#: config/mips/mips.c:5806
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr "error interno: se encontró %%> sin un %%< en el patrón del ensamblador"
-#: config/mips/mips.c:5524
+#: config/mips/mips.c:5819
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr "error interno: se encontró %%} sin un %%{ en el patrón del ensamblador"
-#: config/mips/mips.c:5538
+#: config/mips/mips.c:5833
#, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr "PRINT_OPERAND: puntuación desconocida '%c'"
-#: config/mips/mips.c:5547 config/xtensa/xtensa.c:1913
+#: config/mips/mips.c:5842 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr "PRINT_OPERAND apuntador nulo"
-#: config/mips/mips.c:5680
+#: config/mips/mips.c:5973
#, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr "uso inválido de %%d, %%x, o %%X"
-#: config/mips/mips.c:5723 config/xtensa/xtensa.c:2012
+#: config/mips/mips.c:6011 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr "PRINT_OPERAND_ADDRESS, apuntador nulo"
-#: config/mips/mips.c:5947
+#: config/mips/mips.c:6240
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr "el formato ECOFF de MIPS no permite el cambio de nombres de fichero dentro de funciones con #line"
-#: config/mips/mips.c:6261
+#: config/mips/mips.c:6550
msgid "can't rewind temp file"
msgstr "no se puede rebobinar el fichero temporal"
-#: config/mips/mips.c:6265
+#: config/mips/mips.c:6554
msgid "can't write to output file"
msgstr "no se puede escribir al fichero de salida"
-#: config/mips/mips.c:6268
+#: config/mips/mips.c:6557
msgid "can't read from temp file"
msgstr "no se puede leer desde el fichero temporal"
-#: config/mips/mips.c:6271
+#: config/mips/mips.c:6560
msgid "can't close temp file"
msgstr "no se puede cerrar el fichero temporal"
-#: config/mips/mips.c:6704
+#: config/mips/mips.c:7001
#, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "gp_offset (%ld) o end_offset (%ld) es menor a cero"
-#: config/mips/mips.c:6866
+#: config/mips/mips.c:7110
#, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "fp_offset (%ld) o end_offset (%ld) es menor a cero"
-#: config/mips/mips.c:8927
+#: config/mips/mips.c:9346
#, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr "no se pueden manejar llamadas inconsistentes a `%s'"
+#: config/mips/mips.c:10478
+msgid "the cpu name must be lower case"
+msgstr "el nombre de cpu debe estar en minúsculas"
+
+#: config/mips/mips.c:10500
+#, c-format
+msgid "bad value (%s) for %s"
+msgstr "valor erróneo (%s) para %s"
+
+#. 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:368 config/mn10300/mn10300.h:64
+#: config/mips/mips.h:528 config/mn10300/mn10300.h:64
msgid "No default crt0.o"
msgstr "No está el crt0.o por omisión"
-#: config/mips/mips.h:370
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr "Usar tipo int de 64-bit"
-#: config/mips/mips.h:372
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr "Usar tipo long de 64-bit"
-#: config/mips/mips.h:374
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr "Usar tipo long de 32-bit"
-#: config/mips/mips.h:376
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr "Optimizar las cargas de las direcciones lui/addiu"
-#: config/mips/mips.h:378
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr "No ptimizar las cargas de las direcciones lui/addiu"
-#: config/mips/mips.h:380
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr "Utilizar el as de MIPS"
-#: config/mips/mips.h:382
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr "Utilizar el as de GNU"
-#: config/mips/mips.h:384
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
msgstr "Usar nombres simbólicos de registro"
-#: config/mips/mips.h:386
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr "No usar nombres simbólicos de registro"
-#: config/mips/mips.h:388 config/mips/mips.h:390
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr "Utilizar secciones sdata/sbss relativas a GP"
-#: config/mips/mips.h:392 config/mips/mips.h:394
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr "No utilizar secciones sdata/sbss relativas a GP"
-#: config/mips/mips.h:396
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr "Mostrar la salida de estadísticas del compilador"
-#: config/mips/mips.h:398
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr "No mostrar la salida de estadísticas del compilador"
-#: config/mips/mips.h:400
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr "No optimizar los movimientos de bloques"
-#: config/mips/mips.h:402
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr "Optimizar los movimientos de bloques"
-#: config/mips/mips.h:404
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr "Usar el postpase asm mips-tfile"
-#: config/mips/mips.h:406
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr "No usar el postpase asm mips-tfile"
@@ -11385,269 +11624,252 @@ msgstr "No usar el postpase asm mips-tfile"
#. 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:410 config/pdp11/pdp11.h:55
+#: config/mips/mips.h:570 config/pdp11/pdp11.h:56
msgid "Use hardware floating point"
msgstr "Usar coma flotante de hardware"
-#: config/mips/mips.h:412
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr "Usar registros FP de 64-bit"
-#: config/mips/mips.h:414
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr "Usar registros FP de 32-bit"
-#: config/mips/mips.h:416
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr "Usar registros generales de 64-bit"
-#: config/mips/mips.h:418
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr "Usar registros generales de 32-bit"
-#: config/mips/mips.h:420
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr "Usar PIC de Irix"
-#: config/mips/mips.h:422
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
msgstr "No usar PIC de Irix"
-#: config/mips/mips.h:424
-msgid "Use OSF PIC"
-msgstr "Usar PIC de OSF"
-
-#: config/mips/mips.h:426
-msgid "Don't use OSF PIC"
-msgstr "No usar PIC de OSF"
-
-#: config/mips/mips.h:428
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr "Usar llamadas indirectas"
-#: config/mips/mips.h:430
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr "No usar llamadas indirectas"
-#: config/mips/mips.h:432
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr "Usar PIC imbuído"
-#: config/mips/mips.h:434
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr "No usar PIC imbuído"
-#: config/mips/mips.h:436
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr "Usar la ROM en lugar de la RAM"
-#: config/mips/mips.h:438
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr "No usar la ROM en lugar de la RAM"
-#: config/mips/mips.h:440
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
-msgstr "Poner las constantes sin valor inicial en ROM (necesita -membedded-data)"
+msgstr "Poner las constantes sin inicializar en ROM (necesita -membedded-data)"
-#: config/mips/mips.h:442
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
-msgstr "No poner las constantes sin valor inicial en ROM"
+msgstr "No poner las constantes sin inicializar en ROM"
#. Macro to define tables used to set the flags.
-#: config/mips/mips.h:444 config/xtensa/xtensa.h:110
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr "Usar el orden de byte big-endian"
-#: config/mips/mips.h:446 config/xtensa/xtensa.h:112
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr "Usar el orden de byte little-endian"
-#: config/mips/mips.h:448
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr "Usar únicamente una sola FP (32-bit)"
-#: config/mips/mips.h:450
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr "No usar únicamente una sola FP (32-bit)"
-#: config/mips/mips.h:452
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr "Usar el acumulador de multiplicación"
-#: config/mips/mips.h:454
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr "No usar el acumulador de multiplicación"
-#: config/mips/mips.h:456 config/rs6000/rs6000.h:351
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
msgid "Don't generate fused multiply/add instructions"
msgstr "No generar instrucciones multiply/add de corto circuito"
-#: config/mips/mips.h:458 config/rs6000/rs6000.h:349
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
msgid "Generate fused multiply/add instructions"
msgstr "Generar instrucciones multiply/add de corto circuito"
-#: config/mips/mips.h:460
+#: config/mips/mips.h:616
msgid "Work around early 4300 hardware bug"
msgstr "Evitar el bug del primer hardware 4300"
-#: config/mips/mips.h:462
+#: config/mips/mips.h:618
msgid "Don't work around early 4300 hardware bug"
msgstr "No evitar el bug del primer hardware 4300"
-#: config/mips/mips.h:464
-msgid "Optimize for 3900"
-msgstr "Optimizar para 3900"
-
-#: config/mips/mips.h:466
-msgid "Optimize for 4650"
-msgstr "Optimizar para 4650"
-
-#: config/mips/mips.h:468
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr "Atrapar la división entera por cero"
-#: config/mips/mips.h:470
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr "No atrapar la división entera por cero"
-#: config/mips/mips.h:472
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr "Atrapar desbordamientos en la división entera"
-#: config/mips/mips.h:474
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr "No atrapar desbordamientos en la división entera"
-#: config/mips/mips.h:590 config/mips/mips.h:592
+#: config/mips/mips.h:628
+msgid "Use Branch Likely instructions, overriding default for arch"
+msgstr "Usar instrucciones Propensas a Ramificar, sobreponiendo el valor por omisión para la arquitectura"
+
+#: config/mips/mips.h:630
+msgid "Don't use Branch Likely instructions, overriding default for arch"
+msgstr "No utilizarinstrucciones Propensas a Ramificar, sobreponiendo el valor por omisión para la arquitectura"
+
+#: config/mips/mips.h:744 config/pa/pa.h:310
msgid "Specify CPU for scheduling purposes"
msgstr "Especificar el CPU para propósitos de calendarización"
-#: config/mips/mips.h:594
+#: config/mips/mips.h:746
msgid "Specify CPU for code generation purposes"
msgstr "Especificar el CPU para propósitos de generación de código"
-#: config/mips/mips.h:596
+#: config/mips/mips.h:748
+msgid "Specify an ABI"
+msgstr "Especificar un ABI"
+
+#: config/mips/mips.h:750
msgid "Specify a Standard MIPS ISA"
msgstr "Especificar el ISA de MIPS Standard"
# Error de dedo de los desarrolladores originales. Avisar. cfuga
-#: config/mips/mips.h:598
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr "Usar pseudo ops mips16 de entry/exit"
-#: config/mips/mips.h:600
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr "No usar instrucciones MIPS16"
-#: config/mips/mips.h:604
+#: config/mips/mips.h:756
msgid "Don't call any cache flush functions"
msgstr "No llamar ninguna función de limpieza de caché"
-#: config/mips/mips.h:606
+#: config/mips/mips.h:758
msgid "Specify cache flush function"
msgstr "Especificar la función de limpieza de caché"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/mips/mips.h:2873
+#: config/mips/mips.h:2890
msgid "mips16 function profiling"
msgstr "análisis de perfil de las funciones mips16"
-#: config/mmix/mmix.c:138
+#: config/mmix/mmix.c:189
#, c-format
msgid "-f%s not supported: ignored"
msgstr "-f%s no tiene soporte: ignorado"
-#: 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 "el valor del tipo de la función es demasiado grande, necesita %d registros, sólo se tienen %d registros para esto"
-#: config/mmix/mmix.c:677
-msgid "stack frame too big"
-msgstr "marco de pila demasiado grande"
-
-#: config/mmix/mmix.c:705
-#, c-format
-msgid "stack frame not a multiple of 8 bytes: %d"
-msgstr "el marco de pila no es un múltiplo de 8 bytes: %d"
-
-#: config/mmix/mmix.c:1044
-#, c-format
-msgid "stack frame not a multiple of octabyte: %d"
-msgstr "el marco de pila no es un múltiplo de octabyte: %d"
-
-#: config/mmix/mmix.c:1203
+#: config/mmix/mmix.c:826
msgid "function_profiler support for MMIX"
msgstr "soporte para function_profiler para MMIX"
-#: config/mmix/mmix.c:1240
-msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
-msgstr "no hay varargs ni stdarg en mmix_setup_incoming_varargs"
-
-#: config/mmix/mmix.c:1246
+#: config/mmix/mmix.c:848
msgid "MMIX Internal: Last named vararg would not fit in a register"
msgstr "MMIX Interno: El último vararg nombrado no cabe en un registro"
-#. FIXME: Remove when I know this trigs.
-#: config/mmix/mmix.c:1608
-msgid "oops, not debugged; fixing up value:"
-msgstr "ups, no depurado; componiendo el valor:"
-
-#: config/mmix/mmix.c:2184 config/mmix/mmix.c:2318
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
msgid "MMIX Internal: Expected a CONST_INT, not this"
msgstr "MMIX Interno: Se esperaba un CONST_INT, no esto"
-#: config/mmix/mmix.c:2192 config/mmix/mmix.c:2216 config/mmix/mmix.c:2335
+#: config/mmix/mmix.c:1647 config/mmix/mmix.c:1671 config/mmix/mmix.c:1787
#, c-format
msgid "MMIX Internal: Bad register: %d"
msgstr "MMIX Interno: Registro erróneo: %d"
-#: config/mmix/mmix.c:2263
+#: config/mmix/mmix.c:1718
msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
msgstr "MMIX Interno: Valor erróneo para 'm', no es un CONST_INT"
-#: config/mmix/mmix.c:2286
+#: config/mmix/mmix.c:1737
msgid "MMIX Internal: Expected a register, not this"
msgstr "MMIX Interno: Se esperaba un registro, no esto"
-#: config/mmix/mmix.c:2296
+#: config/mmix/mmix.c:1747
msgid "MMIX Internal: Expected a constant, not this"
msgstr "MMIX Interno: Se esperaba una constante, no esto"
#. Presumably there's a missing case above if we get here.
-#: config/mmix/mmix.c:2328
+#: config/mmix/mmix.c:1779
#, c-format
msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
msgstr "MMIX Interno: Falta un case `%c' en mmix_print_operand"
#. We need the original here.
-#: config/mmix/mmix.c:2379
+#: config/mmix/mmix.c:1831
msgid "MMIX Internal: Cannot decode this operand"
msgstr "MMIX Interno: No se puede decodificar este operando"
-#: config/mmix/mmix.c:2444
+#: config/mmix/mmix.c:1891
msgid "MMIX Internal: This is not a recognized address"
msgstr "MMIX Interno: Esta no es una dirección reconocida"
-#: config/mmix/mmix.c:2940 config/mmix/mmix.c:3009
+#: config/mmix/mmix.c:2082
+#, c-format
+msgid "stack frame not a multiple of 8 bytes: %d"
+msgstr "el marco de pila no es un múltiplo de 8 bytes: %d"
+
+#: config/mmix/mmix.c:2321
+#, c-format
+msgid "stack frame not a multiple of octabyte: %d"
+msgstr "el marco de pila no es un múltiplo de octabyte: %d"
+
+#: config/mmix/mmix.c:2818 config/mmix/mmix.c:2887
#, c-format
msgid "MMIX Internal: %s is not a shiftable int"
msgstr "MMIX Interno: %s no es un int desplazable"
-#: config/mmix/mmix.c:3128
+#: config/mmix/mmix.c:3006
msgid "MMIX Internal: Trying to output invalidly reversed condition:"
msgstr "MMIX Interno: Tratando de mostrar una condición invertida de forma inválida:"
-#: config/mmix/mmix.c:3135
+#: config/mmix/mmix.c:3013
msgid "MMIX Internal: What's the CC of this?"
msgstr "MMIX Interno: ¿Cuál es el CC de esto?"
-#: config/mmix/mmix.c:3139
+#: config/mmix/mmix.c:3017
msgid "MMIX Internal: What is the CC of this?"
msgstr "MMIX Interno: ¿Cuál es el CC de esto?"
-#: config/mmix/mmix.c:3210
+#: config/mmix/mmix.c:3088
msgid "MMIX Internal: This is not a constant:"
msgstr "MMIX Interno: Esto no es una constante:"
@@ -11660,8 +11882,6 @@ msgstr "MMIX Interno: Esto no es una constante:"
#. 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.
@@ -11670,67 +11890,75 @@ msgstr "MMIX Interno: Esto no es una constante:"
#. 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 "Estableciendo la dirección de inicio del programa"
-#: config/mmix/mmix.h:139
+#: config/mmix/mmix.h:134
msgid "Set start-address of data"
msgstr "Estableciendo la dirección de inicio de los datos"
#. 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 "Para la biblioteca de intrínsecos: pasar todos los parámetros en registros"
-#: config/mmix/mmix.h:191
+#: config/mmix/mmix.h:201
msgid "Use register stack for parameters and return value"
msgstr "Usar la pila de registros para los parámetros y el valor de devolución"
-#: config/mmix/mmix.h:193
+#: config/mmix/mmix.h:203
msgid "Use call-clobbered registers for parameters and return value"
msgstr "Usar registros de llamada alterada para los parámetros y el valor de devolución"
-#: config/mmix/mmix.h:195
+#: config/mmix/mmix.h:205
msgid "Use epsilon-respecting floating point compare instructions"
msgstr "Usar instrucciones de comparación de coma flotante que respeten epsilon"
-#: config/mmix/mmix.h:198
+#: config/mmix/mmix.h:208
msgid "Use zero-extending memory loads, not sign-extending ones"
msgstr "Usar cargas de memoria de extensión cero, no las de extensión con signo"
-#: 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 "Generar resultados de división con residuo que tenga el mismo signo que el divisor (no el del dividendo)"
-#: config/mmix/mmix.h:205
+#: config/mmix/mmix.h:215
msgid "Prepend global symbols with \":\" (for use with PREFIX)"
msgstr "Preceder a los símbolos globales con \":\" (para usarse con PREFIJO)"
-#: config/mmix/mmix.h:207
+#: config/mmix/mmix.h:217
msgid "Do not provide a default start-address 0x100 of the program"
msgstr "No proveer una dirección de inicio por omisión 0x100 del programa"
-#: config/mmix/mmix.h:209
+#: config/mmix/mmix.h:219
msgid "Link to emit program in ELF format (rather than mmo)"
msgstr "Enlazar para emitir el programa en formato ELF (en lugar de mmo)"
-#: config/mmix/mmix.h:211
+#: config/mmix/mmix.h:221
msgid "Use P-mnemonics for branches statically predicted as taken"
msgstr "Usar Mnemónicos-P para ramificaciones predichas estáticamente como tomadas"
-#: config/mmix/mmix.h:213
+#: config/mmix/mmix.h:223
msgid "Don't use P-mnemonics for branches"
msgstr "No usar Mnemónicos-P para ramificaciones"
-#: config/mmix/mmix.h:215
+#: config/mmix/mmix.h:225
msgid "Use addresses that allocate global registers"
msgstr "Usar direcciones que reserven registros globales"
-#: config/mmix/mmix.h:217
+#: config/mmix/mmix.h:227
msgid "Do not use addresses that allocate global registers"
msgstr "No usar direcciones que reserven registros globales"
+#: config/mmix/mmix.h:229
+msgid "Generate a single exit point for each function"
+msgstr "Generar un sólo punto de salida para cada función"
+
+#: config/mmix/mmix.h:231
+msgid "Do not generate a single exit point for each function"
+msgstr "No generar un sólo punto de salida para cada función"
+
#: config/mn10300/mn10300.h:59
msgid "Work around hardware multiply bug"
msgstr "Evitar el bug de multiplicación de hardware"
@@ -11747,88 +11975,88 @@ msgstr "Apuntar al procesador AM33"
msgid "Enable linker relaxations"
msgstr "Activar la relajación del enlazador"
-#: 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 "No usar fp de hardware"
-#: config/ns32k/ns32k.h:105
+#: config/ns32k/ns32k.h:143
msgid "Alternative calling convention"
msgstr "Convención de llamada alternativa"
-#: config/ns32k/ns32k.h:107
+#: config/ns32k/ns32k.h:145
msgid "Pass some arguments in registers"
msgstr "Pasar algunos argumentos en registros"
-#: config/ns32k/ns32k.h:108
+#: config/ns32k/ns32k.h:146
msgid "Pass all arguments on stack"
msgstr "Pasar todos los argumentos en la pila"
-#: config/ns32k/ns32k.h:109
+#: config/ns32k/ns32k.h:147
msgid "Optimize for 32532 cpu"
msgstr "Optimizar para el cpu 32532"
-#: config/ns32k/ns32k.h:110
+#: config/ns32k/ns32k.h:148
msgid "Optimize for 32332 cpu"
msgstr "Optimizar para el cpu 32332"
-#: config/ns32k/ns32k.h:112
+#: config/ns32k/ns32k.h:150
msgid "Optimize for 32032"
msgstr "Optimizar para 32032"
-#: config/ns32k/ns32k.h:114
+#: config/ns32k/ns32k.h:152
msgid "Register sb is zero. Use for absolute addressing"
msgstr "El registro sb es cero. Se usa para direccionamiento absoluto"
-#: config/ns32k/ns32k.h:115
+#: config/ns32k/ns32k.h:153
msgid "Do not use register sb"
msgstr "No usar el registro sb"
-#: config/ns32k/ns32k.h:116
-msgid "Do not use bit-field instructions"
-msgstr "No usar instrucciones de campos de bit"
-
-#: config/ns32k/ns32k.h:117
+#: config/ns32k/ns32k.h:155
msgid "Use bit-field instructions"
msgstr "Usar instrucciones de campos de bit"
-#: config/ns32k/ns32k.h:118
+#: config/ns32k/ns32k.h:157
+msgid "Do not use bit-field instructions"
+msgstr "No usar instrucciones de campos de bit"
+
+#: config/ns32k/ns32k.h:158
msgid "Generate code for high memory"
msgstr "Generar código para memoria alta"
-#: config/ns32k/ns32k.h:119
+#: config/ns32k/ns32k.h:159
msgid "Generate code for low memory"
msgstr "Generar código para memoria baja"
-#: config/ns32k/ns32k.h:120
+#: config/ns32k/ns32k.h:160
msgid "32381 fpu"
msgstr "fpu 32381"
-#: config/ns32k/ns32k.h:121
+#: config/ns32k/ns32k.h:162
msgid "Use multiply-accumulate fp instructions"
msgstr "Usar instrucciones de fp para multiplicar-acumular"
-#: config/ns32k/ns32k.h:123
+#: config/ns32k/ns32k.h:164
msgid "Do not use multiply-accumulate fp instructions"
msgstr "No usar instrucciones de fp para multiplicar-acumular"
-#: config/ns32k/ns32k.h:124
+#: config/ns32k/ns32k.h:165
msgid "\"Small register classes\" kludge"
msgstr "Con truco sucio \"Clases de registro pequeñas\""
-#: config/ns32k/ns32k.h:125
+#: config/ns32k/ns32k.h:166
msgid "No \"Small register classes\" kludge"
msgstr "Sin truco sucio \"Clases de registro pequeñas\""
-#: config/pa/pa.c:200
+#: config/pa/pa.c:261
#, 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 ""
"opción -mschedule= desconocida (%s).\n"
-"Las opciones válidas son 700, 7100, 7100LC, 7200, y 8000\n"
+"Las opciones válidas son 700, 7100, 7100LC, 7200, 7300, y 8000\n"
-#: config/pa/pa.c:225
+#: config/pa/pa.c:286
#, c-format
msgid ""
"unknown -march= option (%s).\n"
@@ -11837,66 +12065,195 @@ msgstr ""
"opción -march= desconocida (%s).\n"
"Las opciones válidas son 1.0, 1.1, y 2.0\n"
-#: config/pa/pa.c:230
+#: config/pa/pa.c:299
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr "La generación de código PIC no tiene soporte en el modelo transportable de tiempo de ejecución\n"
-#: config/pa/pa.c:235
+#: config/pa/pa.c:304
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr "La generación de código PIC no es compatible con las llamadas rápidas indirectas\n"
-#: config/pa/pa.c:240
+#: config/pa/pa.c:309
msgid "-g is only supported when using GAS on this processor,"
msgstr "-g sólo tiene soporte cuando se usa GAS en este procesador,"
-#: config/pa/pa.c:241
+#: config/pa/pa.c:310
msgid "-g option disabled"
msgstr "opción -g desactivada"
-#: 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 "Generar definiciones cpp para ES de servidor"
+
+#: 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 "Generar definiciones cpp para ES de estación de trabajo"
+
+#. 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:232 config/pa/pa.h:238
+msgid "Generate PA1.1 code"
+msgstr "Generar código PA1.1"
+
+#: config/pa/pa.h:234 config/pa/pa.h:236
+msgid "Generate PA1.0 code"
+msgstr "Generar código PA1.0"
+
+#: config/pa/pa.h:240
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr "Generar código PA2.0 (requiere binutils 2.10 o superior)"
+
+#: config/pa/pa.h:242
+msgid "Disable FP regs"
+msgstr "Desactivar los registros FP"
+
+#: config/pa/pa.h:244
+msgid "Do not disable FP regs"
+msgstr "No desactivar registros FP"
+
+#: config/pa/pa.h:246
+msgid "Disable space regs"
+msgstr "Desactivar registros de espacio"
+
+#: config/pa/pa.h:248
+msgid "Do not disable space regs"
+msgstr "No desactivar registros de espacio"
+
+# config/pa/pa.h:236
+#: config/pa/pa.h:250
+msgid "Put jumps in call delay slots"
+msgstr "Poner saltos en ranuras de retardo de llamadas"
+
+#: config/pa/pa.h:252
+msgid "Do not put jumps in call delay slots"
+msgstr "No poner saltos en ranuras de retardo de llamadas"
+
+#: config/pa/pa.h:254
+msgid "Disable indexed addressing"
+msgstr "Desactivar direccionamiento indizado"
+
+#: config/pa/pa.h:256
+msgid "Do not disable indexed addressing"
+msgstr "No desactivar direccionamiento indizado"
+
+#: config/pa/pa.h:258
+msgid "Use portable calling conventions"
+msgstr "Usar convenciones de llamada transportable"
+
+#: config/pa/pa.h:260
+msgid "Do not use portable calling conventions"
+msgstr "No usar convenciones de llamada trasportable"
+
+#: config/pa/pa.h:262
+msgid "Assume code will be assembled by GAS"
+msgstr "Asumir que el código será ensamblado por GAS"
+
+#: config/pa/pa.h:264
+msgid "Do not assume code will be assembled by GAS"
+msgstr "No asumir que el código será ensamblado por GAS"
+
+#: config/pa/pa.h:268
+msgid "Do not use software floating point"
+msgstr "No usar coma flotante de software"
+
+#: config/pa/pa.h:270
+msgid "Emit long load/store sequences"
+msgstr "Emitir secuencias load/store long"
+
+#: config/pa/pa.h:272
+msgid "Do not emit long load/store sequences"
+msgstr "No emitir secuencias load/store long"
+
+#: config/pa/pa.h:274
+msgid "Generate fast indirect calls"
+msgstr "Generar llamadas indirectas rápidas"
+
+#: config/pa/pa.h:276
+msgid "Do not generate fast indirect calls"
+msgstr "No generar llamadas indirectas rápidas"
+
+#: config/pa/pa.h:278
+msgid "Generate code for huge switch statements"
+msgstr "Generar código para declaraciones switch huge"
+
+#: config/pa/pa.h:280
+msgid "Do not generate code for huge switch statements"
+msgstr "No generar código para declaraciones switch huge"
+
+#: config/pa/pa.h:282
+msgid "Always generate long calls"
+msgstr "Generar siempre llamadas long"
+
+#: config/pa/pa.h:284
+msgid "Generate long calls only when needed"
+msgstr "Generar llamadas long sólo cuando sean necesarias"
+
+#: config/pa/pa.h:286
+msgid "Enable linker optimizations"
+msgstr "Activar las optimizaciones del enlazador"
+
+#: config/pa/pa.h:312
+msgid "Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later."
+msgstr "Especificar la arquitectura para la generación del código. Los valores son 1.0, 1.1, y 2.0. 2.0 requiere la versión de gas 19990413 o posterior."
+
+#: config/pa/pa64-hpux.h:29
+msgid "Assume code will be linked by GNU ld"
+msgstr "Asumir que el código será enlazado por ld de GNU"
+
+#: config/pa/pa64-hpux.h:31
+msgid "Assume code will be linked by HP ld"
+msgstr "Asumir que el código será enlazado por ld de HP"
+
+#: config/pdp11/pdp11.h:57
msgid "Do not use hardware floating point"
msgstr "No usar coma flotante de hardware"
#. return float result in ac0
-#: config/pdp11/pdp11.h:58
+#: config/pdp11/pdp11.h:59
msgid "Return floating point results in ac0"
msgstr "Devolución de resultados de coma flotante en ac0"
-#: config/pdp11/pdp11.h:59
+#: config/pdp11/pdp11.h:60
msgid "Return floating point results in memory"
msgstr "Devolución de resultados de coma flotante en memoria"
#. is 11/40
-#: config/pdp11/pdp11.h:61
+#: config/pdp11/pdp11.h:62
msgid "Generate code for an 11/40"
msgstr "Generar código para un 11/40"
#. is 11/45
-#: config/pdp11/pdp11.h:64
+#: config/pdp11/pdp11.h:65
msgid "Generate code for an 11/45"
msgstr "Generar código para un 11/45"
#. is 11/10
-#: config/pdp11/pdp11.h:67
+#: config/pdp11/pdp11.h:68
msgid "Generate code for an 11/10"
msgstr "Generar código para un 11/10"
#. 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 "Usar int de 32 bit"
-#: 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 "Usar int de 16 bit"
#. 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 "Usar float de 32 bit"
-#: 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 "Usar float de 64 bit"
@@ -11904,73 +12261,50 @@ msgstr "Usar float de 64 bit"
#. 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 "El objetivo tiene I&D dividido"
-#: config/pdp11/pdp11.h:90
+#: config/pdp11/pdp11.h:91
msgid "Target does not have split I&D"
msgstr "El objetivo no tiene I&D dividido"
#. UNIX assembler syntax?
-#: config/pdp11/pdp11.h:92
+#: config/pdp11/pdp11.h:93
msgid "Use UNIX assembler syntax"
msgstr "Usar sintaxis de ensamblador UNIX"
-#: config/pdp11/pdp11.h:93
+#: config/pdp11/pdp11.h:94
msgid "Use DEC assembler syntax"
msgstr "Usar sintaxis de ensamblador DEC"
-#: config/pj/pj.h:73
-msgid "Generate little endian data"
-msgstr "Generar datos little endian"
-
-#: config/pj/pj.h:75
-msgid "Generate big endian data"
-msgstr "Generar datos big endian"
-
-#: config/pj/pj.h:77
-msgid "Turn on maintainer testing code"
-msgstr "Activar el código de prueba del mantenedor"
-
-#: config/pj/pj.h:79
-msgid "Enable Transmeta picoJava extensions"
-msgstr "Activar las extensiones picoJava de Transmeta"
-
-#: config/pj/pj.h:81
-msgid "Disable Transmeta picoJava extensions"
-msgstr "Desactivar las extensiones picoJava de Transmeta"
-
-#: config/pj/pj.h:83
-msgid "Disable reorganization pass"
-msgstr "Desactivar el paso de reorganización"
-
-#: config/romp/romp.c:709 config/rs6000/rs6000.c:6546
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7752
#, c-format
msgid "invalid %%S value"
msgstr "valor %%S inválido"
-#: 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 "valor %%b inválido"
-#: 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 "valor %%z inválido"
-#: 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 "valor %%Z inválido"
-#: config/romp/romp.c:799 config/romp/romp.c:808 config/romp/romp.c:815 config/rs6000/rs6000.c:6325
+#: config/romp/romp.c:807 config/romp/romp.c:816 config/romp/romp.c:823
+#: config/rs6000/rs6000.c:7581
#, c-format
msgid "invalid %%k value"
msgstr "valor %%k inválido"
-#: 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 "valor %%j inválido"
@@ -11988,144 +12322,203 @@ msgstr "valor %%j inválido"
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr "no se puede tener varargs con -mfp-arg-in-fp-regs"
+#. 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 "ignorando el #pragma longcall malformado"
+
+#: config/rs6000/rs6000-c.c:58
+msgid "missing open paren"
+msgstr "falta el paréntesis que abre"
+
+#: config/rs6000/rs6000-c.c:60
+msgid "missing number"
+msgstr "falta el número"
+
+#: config/rs6000/rs6000-c.c:62
+msgid "missing close paren"
+msgstr "falta el paréntesis que cierra"
+
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
+msgstr "el número debe ser 0 ó 1"
+
+#: config/rs6000/rs6000-c.c:68
+msgid "junk at end of #pragma longcall"
+msgstr "basura al final de #pragma longcall"
+
# FIXME: ¿Traducción correcta al español de little endian? cfuga
-#: config/rs6000/rs6000.c:475
+#: config/rs6000/rs6000.c:592
msgid "-mmultiple is not supported on little endian systems"
msgstr "-mmultiple no tiene soporte en sistemas little endian"
-#: config/rs6000/rs6000.c:482
+#: config/rs6000/rs6000.c:599
msgid "-mstring is not supported on little endian systems"
msgstr "-mstring no tiene soporte en sistemas little endian"
-#: config/rs6000/rs6000.c:488 config/xtensa/xtensa.c:1846
-#, c-format
-msgid "-f%s ignored (all code is position independent)"
-msgstr "se ignora -f%s (todo el código es independiente de posición)"
-
-#: config/rs6000/rs6000.c:497
-msgid "-ffunction-sections disabled on AIX when debugging"
-msgstr "se desactiva -ffunction-sections en AIX mientras se depura"
-
-#: config/rs6000/rs6000.c:503
-msgid "-fdata-sections not supported on AIX"
-msgstr "-fdata-sections no tiene soporte en AIX"
-
-#: config/rs6000/rs6000.c:518
+#: config/rs6000/rs6000.c:623
#, c-format
msgid "unknown -mdebug-%s switch"
msgstr "interruptor -mdebug-%s desconocido"
-#: config/rs6000/rs6000.c:528
+#: config/rs6000/rs6000.c:635
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr "argumento de -mtraceback `%s' desconocido; se esperaba `full', `partial' o `none'"
+
+#: config/rs6000/rs6000.c:646
#, c-format
msgid "Unknown switch -mlong-double-%s"
msgstr "Interruptor -mlong-double-%s desconocido"
-#: config/rs6000/rs6000.c:595
+#: config/rs6000/rs6000.c:738
+#, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "opción -misel= especificada desconocida: '%s'"
+
+#: config/rs6000/rs6000.c:753
+#, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "opción -mvrsave= especificada desconocida: '%s'"
+
+#: config/rs6000/rs6000.c:772
#, c-format
msgid "unknown ABI specified: '%s'"
msgstr "ABI especificada desconocida: '%s'"
-#: config/rs6000/rs6000.c:3631
+#: config/rs6000/rs6000.c:4203
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "el argumento 1 debe ser una literal con signo de 5-bit"
+
+#: config/rs6000/rs6000.c:4310 config/rs6000/rs6000.c:4900
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "el argumento 2 debe ser una literal sin signo de 5-bit"
+
+#: config/rs6000/rs6000.c:4353
msgid "argument 1 of __builtin_altivec_predicate must be a constant"
msgstr "el argumento 1 de __builtin_altivec_predicate debe ser una constante"
-#: config/rs6000/rs6000.c:3685
+#: config/rs6000/rs6000.c:4407
msgid "argument 1 of __builtin_altivec_predicate is out of range"
msgstr "el argumento 1 de __builtin_altivec_predicate está fuera de rango"
-#: config/rs6000/rs6000.c:4041
+#: config/rs6000/rs6000.c:4486
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "el argumento 3 debe ser una literal sin signo de 4-bit"
+
+#: config/rs6000/rs6000.c:4663
#, c-format
-msgid "argument 3 of `%s' must be a 2-bit literal"
-msgstr "el argumento 3 para `%s' debe ser una literal de 2-bit"
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "el argumento para `%s' debe ser una literal sin signo de 2-bit"
+
+#: config/rs6000/rs6000.c:4779
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr "el argumento para dss debe ser una literal sin signo de 2-bit"
+
+#: config/rs6000/rs6000.c:5010
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "el argumento 1 de __builtin_spe_predicate debe ser una constante"
-#: config/rs6000/rs6000.c:6252
+#: config/rs6000/rs6000.c:5083
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "el argumento 1 de __builtin_spe_predicate está fuera de rango"
+
+#: config/rs6000/rs6000.c:7508
#, c-format
msgid "invalid %%f value"
msgstr "valor %%f inválido"
-#: config/rs6000/rs6000.c:6261
+#: config/rs6000/rs6000.c:7517
#, c-format
msgid "invalid %%F value"
msgstr "valor %%F inválido"
-#: config/rs6000/rs6000.c:6270
+#: config/rs6000/rs6000.c:7526
#, c-format
msgid "invalid %%G value"
msgstr "valor %%G inválido"
-#: config/rs6000/rs6000.c:6305
+#: config/rs6000/rs6000.c:7561
#, c-format
msgid "invalid %%j code"
msgstr "código %%j inválido"
-#: config/rs6000/rs6000.c:6315
+#: config/rs6000/rs6000.c:7571
#, c-format
msgid "invalid %%J code"
msgstr "código %%J inválido"
-#: config/rs6000/rs6000.c:6345
+#: config/rs6000/rs6000.c:7601
#, c-format
msgid "invalid %%K value"
msgstr "valor %%K inválido"
-#: config/rs6000/rs6000.c:6572
-#, c-format
-msgid "%%S computed all 1's mask"
-msgstr "%%S calculó una máscara con sólo 1's"
-
-#: config/rs6000/rs6000.c:6599
+#: config/rs6000/rs6000.c:7668
#, c-format
-msgid "%%S computed all 0's mask"
-msgstr "%%S calculó una máscara con sólo 0's"
+msgid "invalid %%O value"
+msgstr "valor %%O inválido"
-#: config/rs6000/rs6000.c:6609
+#: config/rs6000/rs6000.c:7790
#, c-format
msgid "invalid %%T value"
msgstr "valor %%T inválido"
-#: config/rs6000/rs6000.c:6619
+#: config/rs6000/rs6000.c:7800
#, c-format
msgid "invalid %%u value"
msgstr "valor %%u inválido"
-#: config/rs6000/rs6000.c:6628
+#: config/rs6000/rs6000.c:7809
#, c-format
msgid "invalid %%v value"
msgstr "valor %%v inválido"
-#: config/rs6000/aix.h:137 config/rs6000/beos.h:32
+#: config/rs6000/rs6000.c:12223
+msgid "no profiling of 64-bit code for this ABI"
+msgstr "no hay análisis de perfil del código de 64-bit para esta ABI"
+
+#: config/rs6000/aix.h:160 config/rs6000/beos.h:32
msgid "Always pass floating-point arguments in memory"
msgstr "Pasar siempre los argumentos de coma flotante en memoria"
-#: 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 "No pasar siempre los argumentos de coma flotante en memoria"
#: 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 "Soporte para el paso de mensajes con el Ambiente Paralelo"
-#: 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 "Compilar para apuntadores de 64-bit"
-#: 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 "Compilar para apuntadores de 32-bit"
-#: 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 "-maix64 y la arquitectura POWER son incompatibles"
-#: 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 "-maix64 requiere que la arquitectura PowerPC64 permanezca activada"
-#: 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 "se requiere -maix64: cálculo de 64 bits con direccionamiento de 32 bits no tiene soporte aún"
@@ -12136,146 +12529,162 @@ msgstr "se requiere -maix64: cálculo de 64 bits con direccionamiento de 32 bits
#. 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 "Usar el conjunto de instrucciones POWER"
-#: config/rs6000/rs6000.h:280
+#: config/rs6000/rs6000.h:243
msgid "Use POWER2 instruction set"
msgstr "Usar el conjunto de instrucciones POWER2"
-#: config/rs6000/rs6000.h:282
+#: config/rs6000/rs6000.h:245
msgid "Do not use POWER2 instruction set"
msgstr "No usar el conjunto de instrucciones POWER2"
-#: config/rs6000/rs6000.h:285
+#: config/rs6000/rs6000.h:248
msgid "Do not use POWER instruction set"
msgstr "No usar el conjunto de instrucciones POWER"
-#: config/rs6000/rs6000.h:287
+#: config/rs6000/rs6000.h:250
msgid "Use PowerPC instruction set"
msgstr "Usar el conjunto de instrucciones PowerPC"
-#: config/rs6000/rs6000.h:290
+#: config/rs6000/rs6000.h:253
msgid "Do not use PowerPC instruction set"
msgstr "No usar el conjunto de instrucciones PowerPC"
-#: config/rs6000/rs6000.h:292
+#: config/rs6000/rs6000.h:255
msgid "Use PowerPC General Purpose group optional instructions"
msgstr "Usar el grupo opcional de instrucciones PowerPC de Propósito General"
-#: config/rs6000/rs6000.h:294
+#: config/rs6000/rs6000.h:257
msgid "Don't use PowerPC General Purpose group optional instructions"
msgstr "No usar el grupo opcional de instrucciones PowerPC de Propósito General"
-#: config/rs6000/rs6000.h:296
+#: config/rs6000/rs6000.h:259
msgid "Use PowerPC Graphics group optional instructions"
msgstr "Usar el grupo opcional de instrucciones PowerPC de Gráficas"
-#: config/rs6000/rs6000.h:298
+#: config/rs6000/rs6000.h:261
msgid "Don't use PowerPC Graphics group optional instructions"
msgstr "No usar el grupo opcional de instrucciones PowerPC de Gráficas"
-#: config/rs6000/rs6000.h:300
+#: config/rs6000/rs6000.h:263
msgid "Use PowerPC-64 instruction set"
msgstr "Usar el conjunto de instrucciones PowerPC-64"
-#: config/rs6000/rs6000.h:302
+#: config/rs6000/rs6000.h:265
msgid "Don't use PowerPC-64 instruction set"
msgstr "No usar el conjunto de instrucciones PowerPC-64"
-#: config/rs6000/rs6000.h:304
+#: config/rs6000/rs6000.h:267
msgid "Use AltiVec instructions"
msgstr "Usar instrucciones AltiVec"
-#: config/rs6000/rs6000.h:306
+#: config/rs6000/rs6000.h:269
msgid "Don't use AltiVec instructions"
msgstr "No usar instrucciones AltiVec"
-#: config/rs6000/rs6000.h:308
+#: config/rs6000/rs6000.h:271
msgid "Use new mnemonics for PowerPC architecture"
msgstr "Usar los mnemónicos nuevos para la arquitectura PowerPC"
-#: config/rs6000/rs6000.h:310
+#: config/rs6000/rs6000.h:273
msgid "Use old mnemonics for PowerPC architecture"
msgstr "Usar los mnemónicos antiguos para la arquitectura PowerPC"
-#: config/rs6000/rs6000.h:313
+#: config/rs6000/rs6000.h:276
msgid "Put everything in the regular TOC"
msgstr "Colocar todo en el TOC normal"
-#: config/rs6000/rs6000.h:315
+#: config/rs6000/rs6000.h:278
msgid "Place floating point constants in TOC"
msgstr "Colocar las constantes de coma flotante en TOC"
-#: config/rs6000/rs6000.h:317
+#: config/rs6000/rs6000.h:280
msgid "Don't place floating point constants in TOC"
msgstr "No colocar las constantes de coma flotante en TOC"
-#: config/rs6000/rs6000.h:319
+#: config/rs6000/rs6000.h:282
msgid "Place symbol+offset constants in TOC"
msgstr "Colocar las constantes símbolo+desplazamiento en TOC"
-#: config/rs6000/rs6000.h:321
+#: config/rs6000/rs6000.h:284
msgid "Don't place symbol+offset constants in TOC"
msgstr "No colocar las constantes símbolo+desplazamiento en TOC"
-#: config/rs6000/rs6000.h:327
+#: config/rs6000/rs6000.h:290
msgid "Place variable addresses in the regular TOC"
msgstr "Colocar las direcciones variables en el TOC normal"
-#: config/rs6000/rs6000.h:333
+#: config/rs6000/rs6000.h:296
msgid "Generate load/store multiple instructions"
msgstr "Generar múltiples instrucciones load/store"
-#: config/rs6000/rs6000.h:335
+#: config/rs6000/rs6000.h:298
msgid "Do not generate load/store multiple instructions"
msgstr "No generar múltiples instrucciones load/store"
-#: config/rs6000/rs6000.h:339
+#: config/rs6000/rs6000.h:302
msgid "Generate string instructions for block moves"
msgstr "Generar instrucciones de cadena para movimiento de bloques"
-#: config/rs6000/rs6000.h:341
+#: config/rs6000/rs6000.h:304
msgid "Do not generate string instructions for block moves"
msgstr "No generar instrucciones de cadena para movimiento de bloques"
-#: config/rs6000/rs6000.h:345
+#: config/rs6000/rs6000.h:308
msgid "Generate load/store with update instructions"
msgstr "Generar load/store con instrucciones de actualización"
-#: config/rs6000/rs6000.h:347
+#: config/rs6000/rs6000.h:310
msgid "Do not generate load/store with update instructions"
msgstr "No generar load/store con instrucciones de actualización"
-#: config/rs6000/rs6000.h:355
+#: config/rs6000/rs6000.h:318
msgid "Don't schedule the start and end of the procedure"
msgstr "No calendarizar el inicio y el final del procedimiento"
-#: config/rs6000/rs6000.h:361
+#: config/rs6000/rs6000.h:324
msgid "Return all structures in memory (AIX default)"
msgstr "Regresar todas las estructuras en memoria (por omisión en AIX)"
-#: config/rs6000/rs6000.h:363
+#: config/rs6000/rs6000.h:326
msgid "Return small structures in registers (SVR4 default)"
msgstr "Regresar las estructuras pequeñas en registros (por omisión en SVR4)"
-#: 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 "Usar características del código de calendarizador and para el CPU dado"
-#: config/rs6000/rs6000.h:429
+#: config/rs6000/rs6000.h:394
msgid "Enable debug output"
msgstr "Activar la salida de depuración"
-#: config/rs6000/rs6000.h:430
+#: config/rs6000/rs6000.h:396
+msgid "Select full, part, or no traceback table"
+msgstr "Seleccionar la tabla full, part, ó sin traceback"
+
+#: config/rs6000/rs6000.h:397
msgid "Specify ABI to use"
msgstr "Especificar el ABI a utilizar"
-#: config/rs6000/rs6000.h:432
+#: config/rs6000/rs6000.h:399
msgid "Specify size of long double (64 or 128 bits)"
msgstr "Especificar el tamaño de long double (64 ó 128 bits)"
+#: config/rs6000/rs6000.h:401
+msgid "Specify yes/no if isel instructions should be generated"
+msgstr "Especificar sí/no si se deben generar las instrucciones isel"
+
+#: config/rs6000/rs6000.h:403
+msgid "Specify yes/no if VRSAVE instructions should be generated for AltiVec"
+msgstr "Especificar sí/no si se deben generar las instrucciones VRSAVE para AltiVec"
+
+#: config/rs6000/rs6000.h:405
+msgid "Avoid all range limits on call instructions"
+msgstr "Evitar todos los límites de rango en las instrucciones de llamadas"
+
#. Definitions for __builtin_return_address and __builtin_frame_address.
#. __builtin_return_address (0) should give link register (65), enable
#. this.
@@ -12288,94 +12697,103 @@ msgstr "Especificar el tamaño de long double (64 ó 128 bits)"
#. 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:1792
+#: config/rs6000/rs6000.h:1878
msgid "RETURN_ADDRESS_OFFSET not supported"
msgstr "RETURN_ADDRESS_OFFSET no tiene soporte"
-#: config/rs6000/sysv4.h:88
+#: config/rs6000/sysv4.h:87
msgid "Select ABI calling convention"
msgstr "Seleccionar la convención de llamada ABI"
-#: config/rs6000/sysv4.h:89
+#: config/rs6000/sysv4.h:88
msgid "Select method for sdata handling"
msgstr "Seleccionar el método para el manejo de sdata"
-#: config/rs6000/sysv4.h:104
+#: config/rs6000/sysv4.h:103
msgid "Align to the base type of the bit-field"
msgstr "Alinear al tipo base del campo de bit"
-#: config/rs6000/sysv4.h:106
+#: config/rs6000/sysv4.h:105
msgid "Don't align to the base type of the bit-field"
msgstr "No alinear al tipo base del campo de bit"
-#: config/rs6000/sysv4.h:108
+#: config/rs6000/sysv4.h:107
msgid "Don't assume that unaligned accesses are handled by the system"
msgstr "No asumir que los accesos sin alinear son manejados por el sistema"
-#: config/rs6000/sysv4.h:110
+#: config/rs6000/sysv4.h:109
msgid "Assume that unaligned accesses are handled by the system"
msgstr "Asumir que los accesos sin alinear son manejados por el sistema"
-#: 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 "Producir código reubicable en el momento de ejecución"
-#: 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 "No producir código reubicable en el momento de ejecución"
-#: 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 "Producir código little endian"
-#: 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 "Producir código big endian"
-#: 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:157
+#: 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 "sin descripción aún"
-#: config/rs6000/sysv4.h:133
+#: config/rs6000/sysv4.h:132
msgid "Use EABI"
msgstr "Usar EABI"
-#: config/rs6000/sysv4.h:134
+#: config/rs6000/sysv4.h:133
msgid "Don't use EABI"
msgstr "No usar EABI"
-#: config/rs6000/sysv4.h:137
+#: config/rs6000/sysv4.h:136
msgid "Do not allow bit-fields to cross word boundaries"
msgstr "No permitir que los campos de bits crucen los límites de word"
-#: config/rs6000/sysv4.h:139
+#: config/rs6000/sysv4.h:138
msgid "Use alternate register names"
msgstr "Usar nombres de registro alternados"
-#: config/rs6000/sysv4.h:141
+#: config/rs6000/sysv4.h:140
msgid "Don't use alternate register names"
msgstr "No usar nombres de registro alternados"
-#: config/rs6000/sysv4.h:145
+#: config/rs6000/sysv4.h:144
msgid "Link with libsim.a, libc.a and sim-crt0.o"
msgstr "Enlazar con libsim.a, libc.a y sim-crt0.o"
-#: config/rs6000/sysv4.h:147
+#: config/rs6000/sysv4.h:146
msgid "Link with libads.a, libc.a and crt0.o"
msgstr "Enlazar con libads.a, libc.a y crt0.o"
-#: config/rs6000/sysv4.h:149
+#: config/rs6000/sysv4.h:148
msgid "Link with libyk.a, libc.a and crt0.o"
msgstr "Enlazar con libyk.a, libc.a y crt0.o"
-#: config/rs6000/sysv4.h:151
+#: config/rs6000/sysv4.h:150
msgid "Link with libmvme.a, libc.a and crt0.o"
msgstr "Enlazar con libmvme.a, libc.a y crt0.o"
-#: config/rs6000/sysv4.h:153
+#: config/rs6000/sysv4.h:152
msgid "Set the PPC_EMB bit in the ELF flags header"
msgstr "Establecer el bit PPC_EMB en los interruptores del encabezado ELF"
+#: config/rs6000/sysv4.h:154
+msgid "Use the WindISS simulator"
+msgstr "Usar el simulador WindISS"
+
#. 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
@@ -12409,179 +12827,188 @@ msgstr "-f%s y -msdata=%s son incompatibles"
msgid "-msdata=%s and -mcall-%s are incompatible"
msgstr "-msdata=%s y -mcall-%s son incompatibles"
-#: config/rs6000/sysv4.h:270
+#: config/rs6000/sysv4.h:272
msgid "-mrelocatable and -mno-minimal-toc are incompatible"
msgstr "-mrelocatable y -mno-minimal-toc son incompatibles"
-#: config/rs6000/sysv4.h:276
+#: config/rs6000/sysv4.h:278
#, c-format
msgid "-mrelocatable and -mcall-%s are incompatible"
msgstr "-mrelocatable y -mcall-%s son incompatibles"
-#: config/rs6000/sysv4.h:283
+#: config/rs6000/sysv4.h:285
#, c-format
msgid "-fPIC and -mcall-%s are incompatible"
msgstr "-fPIC y -mcall-%s son incompatibles"
-#: config/rs6000/sysv4.h:290
+#: config/rs6000/sysv4.h:292
msgid "-mcall-aixdesc must be big endian"
msgstr "-mcall-aixdesc debe ser big endian"
-#: config/s390/s390.c:1910
+#: config/s390/s390.c:3004
msgid "invalid UNSPEC as operand (1)"
msgstr "UNSPEC inválido como operando (1)"
-#: config/s390/s390.c:1940
+#: config/s390/s390.c:3064
msgid "invalid UNSPEC as operand (2)"
msgstr "UNSPEC inválido como operando (2)"
-#: config/s390/s390.c:1946
+#: config/s390/s390.c:3070
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr "UNKNOWN en s390_output_symbolic_const !?"
-#: config/s390/s390.c:1962
+#: config/s390/s390.c:3088
msgid "Cannot decompose address."
msgstr "No se puede descomponer la dirección."
-#: config/s390/s390.c:2110
+#: config/s390/s390.c:3249
msgid "UNKNOWN in print_operand !?"
msgstr "UNKNOWN en print_operand !?"
-#: config/s390/s390.c:2703
+#: config/s390/s390.c:4902
msgid "Total size of local variables exceeds architecture limit."
msgstr "El tamaño total de las variables locales excede el límite de la arquitectura."
-#: config/s390/s390.h:58
+#: config/s390/s390.h:70
msgid "Set backchain"
msgstr "Establecer la cadena hacia atrás"
-#: config/s390/s390.h:59
+#: config/s390/s390.h:71
msgid "Don't set backchain (faster, but debug harder"
msgstr "No establecer la cadena hacia atrás (más rápido, pero más difícil de depurar"
-# Error de dedo del autor original. Avisar. cfuga
-#: config/s390/s390.h:60
-msgid "Use bras for execucable < 64k"
+#: config/s390/s390.h:72
+msgid "Use bras for executable < 64k"
msgstr "Usar bras para el ejecutable < 64k"
-#: config/s390/s390.h:61
+#: config/s390/s390.h:73
msgid "Don't use bras"
msgstr "No usar bras"
-#: config/s390/s390.h:62
+#: config/s390/s390.h:74
msgid "Additional debug prints"
msgstr "Impresiones adicionales de depuración"
-#: config/s390/s390.h:63
+#: config/s390/s390.h:75
msgid "Don't print additional debug prints"
msgstr "No mostrar impresiones adicionales de depuración"
-#: config/s390/s390.h:64
+#: config/s390/s390.h:76
msgid "64 bit mode"
msgstr "modo de 64 bit"
-#: config/s390/s390.h:65
+#: config/s390/s390.h:77
msgid "31 bit mode"
msgstr "modo de 31 bit"
-#: config/s390/s390.h:66
+#: config/s390/s390.h:78
msgid "mvcle use"
msgstr "uso de mvcle"
-#: config/s390/s390.h:67
+#: config/s390/s390.h:79
msgid "mvc&ex"
msgstr "mvc&ex"
-#: config/sh/sh.c:5060
+#: config/sh/sh.c:5137
msgid "__builtin_saveregs not supported by this subtarget"
msgstr "no se da soporte a __builtin_saveregs en este subobjetivo"
+#: config/sh/sh.c:5687
+msgid "attribute interrupt_handler is not compatible with -m5-compact"
+msgstr "el atributo interrupt_handler no es compatible con -m5-compact"
+
#. The sp_switch attribute only has meaning for interrupt functions.
-#: config/sh/sh.c:5610 config/sh/sh.c:5649
+#: config/sh/sh.c:5713 config/sh/sh.c:5752
#, c-format
msgid "`%s' attribute only applies to interrupt functions"
msgstr "el atributo `%s' aplica solamente a funciones de interrupción"
#. The argument must be a constant string.
-#: config/sh/sh.c:5617
+#: config/sh/sh.c:5720
#, c-format
msgid "`%s' attribute argument not a string constant"
msgstr "el argumento del atributo `%s' no es una cadena constante"
#. The argument must be a constant integer.
-#: config/sh/sh.c:5656
+#: config/sh/sh.c:5759
#, c-format
msgid "`%s' attribute argument not an integer constant"
msgstr "el argumento del atributo `%s' no es una constante entera"
#. 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 "No se da soporte a análisis de perfil en este objetivo."
-#: config/sparc/sparc.c:317
+#: config/sparc/sparc.c:329
#, c-format
msgid "%s is not supported by this configuration"
msgstr "%s no tiene soporte en esta configuración"
-#: config/sparc/sparc.c:324
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr "no se permite -mlong-double-64 con -m64"
-#: config/sparc/sparc.c:349
+#: config/sparc/sparc.c:361
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr "-mcmodel= no tiene soporte en sistemas de 32 bit"
-#: config/sparc/sparc.c:5971 config/sparc/sparc.c:5977
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
#, c-format
msgid "invalid %%Y operand"
msgstr "operando %%Y inválido"
-#: config/sparc/sparc.c:6047
+#: config/sparc/sparc.c:6375
#, c-format
msgid "invalid %%A operand"
msgstr "operando %%A inválido"
-#: config/sparc/sparc.c:6057
+#: config/sparc/sparc.c:6385
#, c-format
msgid "invalid %%B operand"
msgstr "operando %%B inválido"
-#: config/sparc/sparc.c:6096
+#: config/sparc/sparc.c:6424
#, c-format
msgid "invalid %%c operand"
msgstr "operando %%c inválido"
-#: config/sparc/sparc.c:6097
+#: config/sparc/sparc.c:6425
#, c-format
msgid "invalid %%C operand"
msgstr "operando %%C inválido"
-#: config/sparc/sparc.c:6118
+#: config/sparc/sparc.c:6446
#, c-format
msgid "invalid %%d operand"
msgstr "operando %%d inválido"
-#: config/sparc/sparc.c:6119
+#: config/sparc/sparc.c:6447
#, c-format
msgid "invalid %%D operand"
msgstr "operando %%D inválido"
-#: config/sparc/sparc.c:6135
+#: config/sparc/sparc.c:6463
#, c-format
msgid "invalid %%f operand"
msgstr "operando %%f inválido"
-#: config/sparc/sparc.c:6185
+#: config/sparc/sparc.c:6476
+#, c-format
+msgid "invalid %%s operand"
+msgstr "operando %%s inválido"
+
+#: config/sparc/sparc.c:6528
msgid "long long constant not a valid immediate operand"
msgstr "la constante long long no es un operando inmediato válido"
-#: config/sparc/sparc.c:6188
+#: config/sparc/sparc.c:6531
msgid "floating point constant not a valid immediate operand"
msgstr "la constante de coma flotante no es un operando inmediato válido"
-#: config/sparc/freebsd.h:81 config/sparc/linux.h:87 config/sparc/linux64.h:144 config/sparc/netbsd-elf.h:239
+#: 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 "Usar long doubles de 128 bit"
@@ -12593,334 +13020,380 @@ msgstr "Generar código para big endian"
msgid "Generate code for little endian"
msgstr "Generar código para little endian"
-#: 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 "Usar el orden de byte little-endian para los datos"
-#: config/sparc/sparc.h:539
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
msgstr "Asumir desalineación de double posible"
-#: config/sparc/sparc.h:541
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
msgstr "Asumir que todos los doubles están alineados"
-#: config/sparc/sparc.h:543
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr "Pasar el texto puro de -assert al enlazador"
-#: config/sparc/sparc.h:545
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr "No pasar el texto puro de -assert al enlazador"
-#: config/sparc/sparc.h:547
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr "Usar el modelo plano de ventana de registro"
-#: config/sparc/sparc.h:549
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr "No usar el modelo plano de ventana de registro"
-#: config/sparc/sparc.h:551
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr "Usar los registros ABI reservados"
-#: config/sparc/sparc.h:553
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr "No usar los registros ABI reservados"
-#: config/sparc/sparc.h:555
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr "Usar instrucciones de fp quad de hardware"
-#: config/sparc/sparc.h:557
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr "No usar instrucciones de fp quad de hardware"
-#: config/sparc/sparc.h:559
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr "Compilar para el ABI de v8plus"
-#: config/sparc/sparc.h:561
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr "No compilar para el ABI de v8plus"
-#: config/sparc/sparc.h:563
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
msgstr "Utilizar el Conjunto de Instrucciones Visuales"
-#: config/sparc/sparc.h:565
+#: config/sparc/sparc.h:558
msgid "Do not utilize Visual Instruction Set"
msgstr "No utilizar el Conjunto de Instrucciones Visuales"
#. ??? 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 "Optimizar para los procesadores Cypress"
-#: config/sparc/sparc.h:570
-msgid "Optimize for SparcLite processors"
-msgstr "Optimizar para los procesadores SparcLite"
+#: config/sparc/sparc.h:563
+msgid "Optimize for SPARCLite processors"
+msgstr "Optimizar para los procesadores SPARCLite"
-#: config/sparc/sparc.h:572
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr "Optimizar para los procesadores F930"
-#: config/sparc/sparc.h:574
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr "Optimizar para los procesadores F934"
-#: config/sparc/sparc.h:576
-msgid "Use V8 Sparc ISA"
-msgstr "Usar el ISA V8 Sparc"
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
+msgstr "Usar el ISA V8 de SPARC"
-#: config/sparc/sparc.h:578
-msgid "Optimize for SuperSparc processors"
-msgstr "Optimizar para procesadores SuperSparc"
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
+msgstr "Optimizar para procesadores SuperSPARC"
#. End of deprecated options.
-#: config/sparc/sparc.h:581
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr "Los apuntadores son 64-bit"
-#: config/sparc/sparc.h:583
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr "Los apuntadores son 32-bit"
-#: config/sparc/sparc.h:585
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
msgstr "Usar ABI de 32-bit"
-#: config/sparc/sparc.h:587
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
msgstr "Usar ABI de 64-bit"
-#: config/sparc/sparc.h:589
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr "Usar tendencia de la pila"
-#: config/sparc/sparc.h:591
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr "No usar la tendencia de la pila"
-#: config/sparc/sparc.h:593
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr "Usar structs en alineación más fuerte para copias double-word"
-#: config/sparc/sparc.h:595
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr "No usar structs en alineación más fuerte para copias double-word"
-#: config/sparc/sparc.h:597
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr "Optimizar las instrucciones de la llamada del extremo en el ensamblador y el enlazador"
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr "No optimizar las instrucciones de la llamada del extremo en el ensamblador y el enlazador"
-#: config/sparc/sparc.h:643
-msgid "Use given Sparc code model"
-msgstr "Usar el modelo de código del Sparc dado"
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
+msgstr "Usar el modelo de código del SPARC dado"
-#: config/stormy16/stormy16.c:1179
+#: config/stormy16/stormy16.c:1192
msgid "cannot use va_start in interrupt function"
msgstr "no se puede usar va_start en una función de interrupción"
-#: config/stormy16/stormy16.c:1536
+#: config/stormy16/stormy16.c:1552
msgid "`B' operand is not constant"
msgstr "el operando `B' no es una constante"
-#: config/stormy16/stormy16.c:1542
+#: config/stormy16/stormy16.c:1558
msgid "`B' operand has multiple bits set"
msgstr "el operando `B' tiene establecidos múltiples bits"
-#: config/stormy16/stormy16.c:1569
+#: config/stormy16/stormy16.c:1585
msgid "`o' operand is not constant"
msgstr "el operando `o' no es una constante"
-#: config/stormy16/stormy16.c:1584
+#: config/stormy16/stormy16.c:1600
msgid "xstormy16_print_operand: unknown code"
msgstr "xstormy16_print_operand: código desconocido"
-#: config/stormy16/stormy16.c:1634
+#: config/stormy16/stormy16.c:1650
#, c-format
msgid "switch statement of size %lu entries too large"
msgstr "la declaración switch de tamaño de %lu entradas es demasiado grande"
-#: config/v850/v850-c.c:68
+#: config/v850/v850-c.c:67
msgid "#pragma GHS endXXXX found without previous startXXX"
msgstr "se encontró un #pragma GHS endXXXX sin un startXXX previo"
-#: config/v850/v850-c.c:70
+#: config/v850/v850-c.c:69
msgid "#pragma GHS endXXX does not match previous startXXX"
msgstr "el #pragma GHS endXXXX no coincide con el startXXX previo"
-#: config/v850/v850-c.c:95
+#: config/v850/v850-c.c:94
msgid "cannot set interrupt attribute: no current function"
msgstr "no se puede establecer el atributo de interrupción: no hay función actual"
-#: config/v850/v850-c.c:103
+#: config/v850/v850-c.c:102
msgid "cannot set interrupt attribute: no such identifier"
msgstr "no se puede establecer el atributo de interrupción: no hay tal identificador"
-#: config/v850/v850-c.c:149
+#: config/v850/v850-c.c:148
msgid "junk at end of #pragma ghs section"
msgstr "basura al final de la sección #pragma ghs"
-#: config/v850/v850-c.c:166
+#: config/v850/v850-c.c:165
#, c-format
msgid "unrecognized section name \"%s\""
msgstr "no se reconoce el nombre de sección \"%s\""
-#: config/v850/v850-c.c:181
+#: config/v850/v850-c.c:180
msgid "malformed #pragma ghs section"
msgstr "sección #pragma ghs malformada"
-#: config/v850/v850-c.c:201
+#: config/v850/v850-c.c:200
msgid "junk at end of #pragma ghs interrupt"
msgstr "basura al final del #pragma ghs interrupt"
-#: config/v850/v850-c.c:213
+#: config/v850/v850-c.c:212
msgid "junk at end of #pragma ghs starttda"
msgstr "basura al final del #pragma ghs starttda"
-#: config/v850/v850-c.c:225
+#: config/v850/v850-c.c:224
msgid "junk at end of #pragma ghs startsda"
msgstr "basura al final del #pragma ghs startsda"
-#: config/v850/v850-c.c:237
+#: config/v850/v850-c.c:236
msgid "junk at end of #pragma ghs startzda"
msgstr "basura al final del #pragma ghs startzda"
-#: config/v850/v850-c.c:249
+#: config/v850/v850-c.c:248
msgid "junk at end of #pragma ghs endtda"
msgstr "basura al final del #pragma ghs endtda"
-#: config/v850/v850-c.c:261
+#: config/v850/v850-c.c:260
msgid "junk at end of #pragma ghs endsda"
msgstr "basura al final del #pragma ghs endsda"
-#: config/v850/v850-c.c:273
+#: config/v850/v850-c.c:272
msgid "junk at end of #pragma ghs endzda"
msgstr "basura al final del #pragma ghs endzda"
-#: config/v850/v850.c:122
+#: config/v850/v850.c:129
#, c-format
msgid "%s=%s is not numeric"
msgstr "%s=%s no es numérico"
-#: config/v850/v850.c:129
+#: config/v850/v850.c:136
#, c-format
msgid "%s=%s is too large"
msgstr "%s=%s es demasiado grande"
-#: config/v850/v850.c:285
+#: config/v850/v850.c:302
msgid "const_double_split got a bad insn:"
msgstr "const_double_split recibió un insn erróneo:"
-#: config/v850/v850.c:777
+#: config/v850/v850.c:837
msgid "output_move_single:"
msgstr "output_move_single:"
-#: config/v850/v850.c:2084
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr "no se puede especificar un atributo de área de datos para variables locales"
-#: config/v850/v850.c:2095
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr "el área de datos de '%s' en conflicto con una declaración previa"
-#: config/v850/v850.c:2298
+#: config/v850/v850.c:2447
#, c-format
msgid "bogus JR construction: %d\n"
msgstr "construcción JR ambigua: %d\n"
-#: 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 "cantidad errónea de eliminación de espacio de pila: %d"
-#: config/v850/v850.c:2497
+#: config/v850/v850.c:2646
#, c-format
msgid "bogus JARL construction: %d\n"
msgstr "construcción JARL ambigua: %d\n"
+#: config/v850/v850.c:3026
+#, c-format
+msgid "Bogus DISPOSE construction: %d\n"
+msgstr "construcción DISPOSE ambigua: %d\n"
+
+#: config/v850/v850.c:3048
+#, c-format
+msgid "Too much stack space to dispose of: %d"
+msgstr "Demasiado espacio de pila para disponer de él: %d"
+
+#: config/v850/v850.c:3224
+#, c-format
+msgid "Bogus PREPEARE construction: %d\n"
+msgstr "construcción PREPARE ambigua: %d\n"
+
+#: config/v850/v850.c:3246
+#, c-format
+msgid "Too much stack space to prepare: %d"
+msgstr "Demasiado espacio de pila para preparar: %d"
+
#. 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 "Soporte para el ABI Green Hills"
-#: config/v850/v850.h:123
+#: config/v850/v850.h:161
msgid "Prohibit PC relative function calls"
msgstr "Prohibir la llamada a funciones relativas al PC"
-#: config/v850/v850.h:126
+#: config/v850/v850.h:164
msgid "Reuse r30 on a per function basis"
msgstr "Reusar r30 basado por función"
-#: config/v850/v850.h:129
+#: config/v850/v850.h:167
msgid "Use stubs for function prologues"
msgstr "Usar cabos para los prólogos de función"
-#: config/v850/v850.h:132
+#: config/v850/v850.h:170
msgid "Same as: -mep -mprolog-function"
msgstr "Igual que: -mep -mprolog-function"
# No me gusta mucho esta traducción. cfuga
-#: config/v850/v850.h:133
+#: config/v850/v850.h:171
msgid "Enable backend debugging"
msgstr "Habilitar la depuración del extremo trasero"
-#: config/v850/v850.h:135
+#: config/v850/v850.h:173
msgid "Compile for the v850 processor"
msgstr "Compilar para el procesador v850"
-#: config/v850/v850.h:138
+#: config/v850/v850.h:175
+msgid "Compile for v850e processor"
+msgstr "Compilar para el procesador v850e"
+
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
+msgid "Enable the use of the short load instructions"
+msgstr "Activar el uso de las instrucciones short load"
+
+#: config/v850/v850.h:180
+msgid "Do not use the callt instruction"
+msgstr "No usar la instrucción callt"
+
+#: config/v850/v850.h:187
+msgid "Do not use registers r2 and r5"
+msgstr "No usar los registros r2 y r5"
+
+#: config/v850/v850.h:189
+msgid "Enforce strict alignment"
+msgstr "Reforzar la alineación estricta"
+
+#: config/v850/v850.h:192
msgid "Use 4 byte entries in switch tables"
msgstr "Usar entradas de 4 byte en las tablas de switch"
-#: config/v850/v850.h:164
+#: config/v850/v850.h:218
msgid "Set the max size of data eligible for the TDA area"
msgstr "Establecer el tamaño máximo de datos elegibles para el área TDA"
-#: config/v850/v850.h:167
+#: config/v850/v850.h:221
msgid "Set the max size of data eligible for the SDA area"
msgstr "Establecer el tamaño máximo de datos elegibles para el área SDA"
-#: config/v850/v850.h:170
+#: config/v850/v850.h:224
msgid "Set the max size of data eligible for the ZDA area"
msgstr "Establecer el tamaño máximo de datos elegibles para el área ZDA"
-#: 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 "prueba errónea"
-#: config/xtensa/xtensa.c:1790
+#: config/xtensa/xtensa.c:1824
msgid "boolean registers required for the floating-point option"
msgstr "se requieren registros booleanos para la opción de coma flotante"
-#: config/xtensa/xtensa.c:1965
+#: config/xtensa/xtensa.c:1991
msgid "invalid mask"
msgstr "máscara inválida"
-#: config/xtensa/xtensa.c:2017
+#: config/xtensa/xtensa.c:2038
msgid "invalid address"
msgstr "dirección inválida"
-#: config/xtensa/xtensa.c:2042
+#: config/xtensa/xtensa.c:2063
msgid "no register in address"
msgstr "no hay registro en la dirección"
-#: config/xtensa/xtensa.c:2050
+#: config/xtensa/xtensa.c:2071
msgid "address offset not a constant"
msgstr "el desplazamiento de dirección no es una constante"
+#: config/xtensa/xtensa.c:2794
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "sólo las variables sin inicializar se pueden colocar en una sección .bss"
+
#: config/xtensa/xtensa.h:114
msgid "Use the Xtensa code density option"
msgstr "Usar la opción de densidad del código Xtensa"
@@ -13043,513 +13516,553 @@ msgstr "Usar instrucciones CALLXn indirectas para programas grandes"
msgid "Use direct CALLn instructions for fast calls"
msgstr "Usar instrucciones CALLn directas para llamadas rápidas"
-#: ada/misc.c:219
+#: ada/misc.c:233
msgid "`-gnat' misspelled as `-gant'"
msgstr "`-gnat' mal deletreado como `-gant'"
-#: cp/call.c:270 cp/init.c:1635
+#: cp/call.c:259 cp/init.c:1596
msgid "qualified type `%T' does not match destructor name `~%T'"
msgstr "el tipo calificado `%T' no coincide con el nombre del destructor `~%T'"
-#: cp/call.c:279
+#: cp/call.c:268
msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
msgstr "el tipo de `%E' no coincide con el tipo del destructor `%T' (el tipo era `%T')"
-#: cp/call.c:288
+#: cp/call.c:277
msgid "`%D' is a namespace"
msgstr "`%D' es un nombre de espacio"
-#: cp/call.c:296
+#: cp/call.c:285
msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
msgstr "el objeto base `%E' de la llamada de método del ambiente es del tipo no agregado `%T'"
-#: cp/call.c:394
+#: cp/call.c:367
msgid "unable to call pointer to member function here"
msgstr "no se puede llamar un apuntador a una función miembro aquí"
-#: cp/call.c:530
+#: cp/call.c:516
msgid "destructors take no parameters"
msgstr "los destructores no tienen parámetros"
-#: cp/call.c:537
+#: cp/call.c:520
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr "el nombre del destructor `~%T' no coincide con el tipo `%T' de la expresión"
-#: cp/call.c:2374
+#: cp/call.c:541 cp/call.c:4959
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr "solicitud por el miembro `%D' en `%E' el cual es del tipo no agregado `%T'"
+
+#: cp/call.c:565
+msgid "request for member `%D' is ambiguous"
+msgstr "la petición para el miembro `%D' es ambigua"
+
+#: cp/call.c:2526
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr "%s %D(%T, %T, %T) <interno>"
-#: cp/call.c:2379
+#: cp/call.c:2531
msgid "%s %D(%T, %T) <built-in>"
msgstr "%s %D(%T, %T) <interno>"
-#: cp/call.c:2383
+#: cp/call.c:2535
msgid "%s %D(%T) <built-in>"
msgstr "%s %D(%T) <interno>"
-#: cp/call.c:2387
+#: cp/call.c:2539
msgid "%s %T <conversion>"
msgstr "%s %T <conversión>"
-#: cp/call.c:2389
+#: cp/call.c:2541
msgid "%s %+#D%s"
msgstr "%s %+#D%s"
-#: cp/call.c:2546
-msgid "no viable candidates"
-msgstr "no hay candidatos viables"
-
-#: cp/call.c:2560
+#: cp/call.c:2715
msgid "conversion from `%T' to `%T' is ambiguous"
msgstr "la conversión de `%T' a `%T' es ambigua"
-#: cp/call.c:2677
+#: cp/call.c:2795
+msgid "incomplete type '%T' cannot be used to name a scope"
+msgstr "el tipo incompleto `%T' no se puede utilizar para nombrar un ámbito"
+
+#: cp/call.c:2815 cp/typeck.c:2185 cp/typeck.c:2214
+msgid "'%D' has no member named '%E'"
+msgstr "'%D' no tiene un miembro llamado '%E'"
+
+#: cp/call.c:2917
msgid "no matching function for call to `%D(%A)'"
msgstr "no hay una función coincidente para la llamada a `%D(%A)'"
-#: cp/call.c:2688 cp/call.c:4681
+#: cp/call.c:2928 cp/call.c:5046
msgid "call of overloaded `%D(%A)' is ambiguous"
msgstr "la llamada del `%D(%A)' sobrecargado es ambigua"
#. It's no good looking for an overloaded operator() on a
#. pointer-to-member-function.
-#: cp/call.c:2715
+#: cp/call.c:2955
#, c-format
msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
msgstr "la función apuntador-a-miembro %E no se puede llamar dentro de un objeto; considere utilizar .* o ->*"
-#: cp/call.c:2784
+#: cp/call.c:3020
msgid "no match for call to `(%T) (%A)'"
msgstr "no hay coincidencia para la llamada a `(%T) (%A)'"
-#: cp/call.c:2794
+#: cp/call.c:3030
msgid "call of `(%T) (%A)' is ambiguous"
msgstr "la llamada de `(%T) (%A)' es ambigua"
-#: cp/call.c:2829
+#: cp/call.c:3065
msgid "%s for `%T ? %T : %T' operator"
msgstr "%s para el operador `%T ? %T : %T'"
-#: cp/call.c:2834
+#: cp/call.c:3070
msgid "%s for `%T %s' operator"
msgstr "%s para el operador `%T %s'"
-#: cp/call.c:2837
+#: cp/call.c:3073
msgid "%s for `%T [%T]' operator"
msgstr "%s para el operador `%T [%T]'"
-#: cp/call.c:2842
+#: cp/call.c:3078
msgid "%s for `%T %s %T' operator"
msgstr "%s para el operador `%T %s %T'"
-#: cp/call.c:2845
+#: cp/call.c:3081
msgid "%s for `%s %T' operator"
msgstr "%s para el operador `%s %T'"
-#: cp/call.c:2937
+#: cp/call.c:3171
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
msgstr "ISO C++ prohibe la omisión del término medio de una expresión ?:"
-#: cp/call.c:2996
+#: cp/call.c:3230
#, c-format
msgid "`%E' has type `void' and is not a throw-expression"
msgstr "`%E' tiene tipo `void' y no es una expresión throw"
-#: cp/call.c:3029 cp/call.c:3229
+#: cp/call.c:3263 cp/call.c:3455
msgid "operands to ?: have different types"
msgstr "los operandos de ?: tienen tipos diferentes"
-#: cp/call.c:3182
+#: cp/call.c:3408
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr "no coincide el enumeral en la expresión condicional: `%T' vs `%T'"
-#: cp/call.c:3189
+#: cp/call.c:3415
msgid "enumeral and non-enumeral type in conditional expression"
msgstr "tipos enumeral y no enumeral en la expresión condicional"
-#: cp/call.c:3270
+#: cp/call.c:3496
msgid "`%D' must be declared before use"
msgstr "se debe declarar `%D' antes de su uso"
-#: cp/call.c:3433
+#: cp/call.c:3686
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr "no se declaró `%D(int)' para el `%s' postfijo, intentando en su lugar el operador prefijo"
-#: cp/call.c:3480
+#: cp/call.c:3733
msgid "using synthesized `%#D' for copy assignment"
msgstr "usando `%#D' sintetizado para asignación de copia"
-#: cp/call.c:3482
+#: cp/call.c:3735
msgid " where cfront would use `%#D'"
msgstr " donde cfront podría usar `%#D'"
-#: cp/call.c:3509
+#: cp/call.c:3762
msgid "comparison between `%#T' and `%#T'"
msgstr "comparación entre `%#T' y `%#T'"
-#: cp/call.c:3748
+#: cp/call.c:4001
msgid "no suitable `operator delete' for `%T'"
msgstr "no hay un operador `operator delete' adecuado para `%T'"
-#: cp/call.c:3767
+#: cp/call.c:4020
msgid "`%+#D' is private"
msgstr "`%+#D' es privado"
-#: cp/call.c:3769
+#: cp/call.c:4022
msgid "`%+#D' is protected"
msgstr "`%+#D' está protegido"
-#: cp/call.c:3771
+#: cp/call.c:4024
msgid "`%+#D' is inaccessible"
msgstr "`%+#D' es inaccesible"
-#: cp/call.c:3772
+#: cp/call.c:4025
msgid "within this context"
msgstr "desde este contexto"
-#: cp/call.c:3814
+#: cp/call.c:4067
msgid "invalid conversion from `%T' to `%T'"
msgstr "conversión inválida de `%T' a `%T'"
-#: cp/call.c:3816 cp/call.c:3955 cp/call.c:3957
+#: cp/call.c:4069 cp/call.c:4207 cp/call.c:4209
msgid " initializing argument %P of `%D'"
-msgstr " argumento de iniciación %P de `%D'"
+msgstr " argumento de inicialización %P de `%D'"
-#: cp/call.c:3879 cp/call.c:3883
+#: cp/call.c:4131 cp/call.c:4135
msgid " initializing argument %P of `%D' from result of `%D'"
-msgstr " argumento de iniciación %P de `%D' a partir del resultado de `%D'"
+msgstr " argumento de inicialización %P de `%D' a partir del resultado de `%D'"
-#: cp/call.c:3889 cp/call.c:3892
+#: cp/call.c:4141 cp/call.c:4144
msgid " initializing temporary from result of `%D'"
-msgstr " iniciando el temporal a partir del resultado de `%D'"
+msgstr " inicializando el temporal a partir del resultado de `%D'"
-#. Undefined behaviour [expr.call] 5.2.2/7.
-#: cp/call.c:4026
-msgid "cannot pass objects of non-POD type `%#T' through `...'"
-msgstr "no se puede pasar objetos de tipo `%#T' que no es POD a través de `...'"
+#. 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:4294
+msgid "cannot pass objects of non-POD type `%#T' through `...'; call will abort at runtime"
+msgstr "no se puede pasar objetos de tipo `%#T' que no es POD a través de `...'; la llamada abortará en tiempo de ejecución"
-#. Undefined behaviour [expr.call] 5.2.2/7.
-#: cp/call.c:4051
+#. Undefined behavior [expr.call] 5.2.2/7.
+#: cp/call.c:4321
msgid "cannot receive objects of non-POD type `%#T' through `...'"
msgstr "no se puede recibir objetos de tipo `%#T' que no es POD a través de `...'"
-#: cp/call.c:4193
+#: cp/call.c:4501
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr "pasar `%T' como el argumento `this' de `%#D' descarta a los calificadores"
-#: cp/call.c:4443
+#: cp/call.c:4759
msgid "could not find class$ field in java interface type `%T'"
msgstr "no se pudo encontrar un campo class$ en el tipo de interfaz java `%T'"
-#: cp/call.c:4544 cp/typeck.c:2018
-msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
-msgstr "solicitud por el miembro `%D' en `%E' el cual es del tipo no agregado `%T'"
+#: cp/call.c:4933
+msgid "call to non-function `%D'"
+msgstr "llamada a `%D' que no es función"
-#: cp/call.c:4670
+#: cp/call.c:5035
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr "no se encuentra una función coincidente para la llamada a `%T::%D(%A)%#V'"
-#: cp/call.c:4700
+#: cp/call.c:5065
msgid "cannot call member function `%D' without object"
msgstr "no se puede llamar a la función miembro `%D' sin un objeto"
-#: cp/call.c:5313
+#: cp/call.c:5663
msgid "passing `%T' chooses `%T' over `%T'"
msgstr "pasar `%T' escoge `%T'n sobre `%T'"
-#: cp/call.c:5315 cp/decl2.c:4508
+#: cp/call.c:5665 cp/decl2.c:4148
msgid " in call to `%D'"
msgstr " en la llamada a `%D'"
-#: cp/call.c:5364 cp/call.c:5489
+#: cp/call.c:5714
msgid "choosing `%D' over `%D'"
msgstr "escogiendo `%D' sobre `%D'"
-#: cp/call.c:5365
+#: cp/call.c:5715
msgid " for conversion from `%T' to `%T'"
msgstr " para la conversión de `%T' a `%T'"
-#: cp/call.c:5367
+#: cp/call.c:5717
msgid " because conversion sequence for the argument is better"
msgstr " porque la secuencia de conversión para el argumento es mejor"
-#: cp/call.c:5491
-msgid " because worst conversion for the former is better than worst conversion for the latter"
-msgstr " porque la peor conversión para el anterior es mejor que la peor conversión para el posterior"
+#: cp/call.c:5838
+msgid "ISO C++ says that `%D' and `%D' are ambiguous even though the worst conversion for the former is better than the worst conversion for the latter"
+msgstr "ISO C++ dice que `%D' y `%D' son ambiguos aún cuando la peor conversión para el primero es mejor que la peor conversión para el segundo"
-#: cp/call.c:5607 cp/call.c:5628
+#: cp/call.c:5955 cp/call.c:6021
msgid "could not convert `%E' to `%T'"
msgstr "no se puede convertir `%E' a `%T'"
-#: cp/class.c:287
+#: cp/class.c:286
msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr "no se puede convertir de la base `%T' al tipo derivado `%T' a través de la base virtual `%T'"
-#: cp/class.c:1020
+#: cp/class.c:964
msgid "`%#D' and `%#D' cannot be overloaded"
msgstr "no se pueden sobrecargar `%#D' y `%#D'"
-#. There has already been a declaration of this method
-#. or member template.
-#: cp/class.c:1031
-msgid "`%D' has already been declared in `%T'"
-msgstr "`%D' ya ha sido declarado en `%T'"
-
-#: cp/class.c:1112
+#: cp/class.c:1048
msgid "duplicate enum value `%D'"
msgstr "valor enum duplicado `%D'"
-#: cp/class.c:1115
+#: cp/class.c:1051
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr "campo duplicado `%D' (como enum y no enum)"
-#: cp/class.c:1122
+#: cp/class.c:1058
msgid "duplicate nested type `%D'"
msgstr "tipo anidado duplicado `%D'"
-#: cp/class.c:1133
+#: cp/class.c:1069
msgid "duplicate field `%D' (as type and non-type)"
msgstr "campo duplicado `%D' (como tipo y no tipo)"
-#: cp/class.c:1137
+#: cp/class.c:1073
msgid "duplicate member `%D'"
msgstr "miembro duplicado `%D'"
-#: cp/class.c:1180
+#: cp/class.c:1116
msgid "conflicting access specifications for method `%D', ignored"
msgstr "especificaciones de acceso en conflicto para el método `%D', ignorado"
-#: cp/class.c:1182
+#: cp/class.c:1118
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr "especificaciones de acceso en conflicto para el campo `%s', ignorado"
-#: cp/class.c:1225
+#: cp/class.c:1163
msgid "`%D' names constructor"
msgstr "`%D' nombra al constructor"
-#: cp/class.c:1231
+#: cp/class.c:1168
msgid "`%D' invalid in `%T'"
msgstr "`%D' inválido en `%T'"
-#: cp/class.c:1239
+#: cp/class.c:1176
msgid "no members matching `%D' in `%#T'"
msgstr "no hay miembros que coincidan con `%D' en `%#T'"
-#: cp/class.c:1271 cp/class.c:1279
+#: cp/class.c:1208 cp/class.c:1216
msgid "`%D' invalid in `%#T'"
msgstr "`%D' inválido en `%#T'"
-#: cp/class.c:1272
+#: cp/class.c:1209
msgid " because of local method `%#D' with same name"
msgstr " debido al método local `%#D' con el mismo nombre"
-#: cp/class.c:1280
+#: cp/class.c:1217
msgid " because of local member `%#D' with same name"
msgstr " debido al miembro local `%#D' con el mismo nombre"
-#: cp/class.c:1352
+#: cp/class.c:1289
msgid "base class `%#T' has a non-virtual destructor"
msgstr "la clase base `%#T' tiene un destructor no virtual"
-#: cp/class.c:1372
+#: cp/class.c:1309
msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr "base `%T' con sólo un constructor que no es por omisión en una clase sin un constructor"
-#: cp/class.c:1959
+#: cp/class.c:1881
msgid "all member functions in class `%T' are private"
msgstr "todos las funciones miembros en la clase `%T' son privadas"
-#: cp/class.c:1973
+#: cp/class.c:1895
msgid "`%#T' only defines a private destructor and has no friends"
msgstr "`%#T' solamente define un destructor privado y no tiene friends"
-#: cp/class.c:2016
+#: cp/class.c:1938
msgid "`%#T' only defines private constructors and has no friends"
msgstr "`%#T' solamente define constructores privados y no tiene friends"
-#: cp/class.c:2137 cp/class.c:5064
+#: cp/class.c:2059 cp/class.c:5236
msgid "redefinition of `%#T'"
msgstr "redefinición de `%#T'"
-#: cp/class.c:2138
+#: cp/class.c:2060
msgid "previous definition of `%#T'"
msgstr "definición previa de `%#T'"
# Ojo, no es impostor, sino impositor, el que impone. cfuga
-#: cp/class.c:2468
+#: cp/class.c:2334
msgid "no unique final overrider for `%D' in `%T'"
msgstr "no hay un impositor único final para `%D' en `%T'"
#. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2850
+#: cp/class.c:2681
msgid "`%D' was hidden"
msgstr "`%D' estaba escondido"
-#: cp/class.c:2851
+#: cp/class.c:2682
msgid " by `%D'"
msgstr " por `%D'"
-#: cp/class.c:2893
+#: cp/class.c:2724
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr "ISO C++ prohibe que el miembro `%D' tenga el mismo nombre que la clase que lo contiene"
-#: cp/class.c:2898 cp/decl2.c:1883
+#: cp/class.c:2729 cp/decl2.c:1336
msgid "`%#D' invalid; an anonymous union can only have non-static data members"
msgstr "`%#D' inválido; un union anónimo sólo puede tener miembros con datos no estáticos"
-#: cp/class.c:2904 cp/decl2.c:1889
+#: cp/class.c:2735 cp/decl2.c:1342
msgid "private member `%#D' in anonymous union"
msgstr "miembro privado `%#D' en union anónima"
-#: cp/class.c:2907 cp/decl2.c:1891
+#: cp/class.c:2738 cp/decl2.c:1344
msgid "protected member `%#D' in anonymous union"
msgstr "miembro protegido `%#D' en union anónima"
-#: cp/class.c:3059
+#: cp/class.c:2863
+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 "la disposición vtable para la clase `%T' puede no cumplir con la ABI y puede cambiar en una versión futura de GCC debido al destructor virtual implícito"
+
+#: cp/class.c:2927
msgid "bit-field `%#D' with non-integral type"
msgstr "campo de bits `%#D' con tipo no entero"
-#: cp/class.c:3079
+#: cp/class.c:2947
msgid "bit-field `%D' width not an integer constant"
msgstr "la anchura del campo de bits `%D' no es una constante entera"
-#: cp/class.c:3085
+#: cp/class.c:2953
msgid "negative width in bit-field `%D'"
msgstr "anchura negativa en el campo de bit `%D'"
-#: cp/class.c:3090
+#: cp/class.c:2958
msgid "zero width for bit-field `%D'"
msgstr "anchura cero para el campo de bits `%D'"
-#: cp/class.c:3096
+#: cp/class.c:2964
msgid "width of `%D' exceeds its type"
msgstr "la anchura de `%D' excede su tipo"
-#: cp/class.c:3105
+#: cp/class.c:2973
msgid "`%D' is too small to hold all values of `%#T'"
msgstr "`%D' es demasiado pequeño para guardar todos los valores de `%#T'"
-#: cp/class.c:3189
+#: cp/class.c:3057
msgid "member `%#D' with constructor not allowed in union"
msgstr "no se permite el miembro `%#D' con constructor en la union"
-#: cp/class.c:3192
+#: cp/class.c:3060
msgid "member `%#D' with destructor not allowed in union"
msgstr "no se permite el miembro `%#D' con destructor en la union"
-#: cp/class.c:3195
+#: cp/class.c:3063
msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr "no se permite el miembro `%#D' con operador de asignación de copia en la union"
-#: cp/class.c:3222
+#: cp/class.c:3090
msgid "multiple fields in union `%T' initialized"
-msgstr "múltiples campos iniciados en la unión `%T'"
+msgstr "múltiples campos inicializados en la unión `%T'"
-#: cp/class.c:3341
+#: cp/class.c:3203
msgid "field `%D' in local class cannot be static"
msgstr "el campo `%D' en la clase local no puede ser static"
-#: cp/class.c:3347
+#: cp/class.c:3209
msgid "field `%D' invalidly declared function type"
msgstr "el campo `%D' es declarado inválidamente como un tipo de función"
-#: cp/class.c:3354
+#: cp/class.c:3216
msgid "field `%D' invalidly declared method type"
msgstr "el campo `%D' es declarado inválidamente como un tipo de método"
-#: cp/class.c:3360
+#: cp/class.c:3222
msgid "field `%D' invalidly declared offset type"
msgstr "el campo `%D' es declarado inválidamente como un tipo de desplazamiento"
#. Unions cannot have static members.
-#: cp/class.c:3378
+#: cp/class.c:3240
msgid "field `%D' declared static in union"
msgstr "el campo `%s' es declarado como static en la unión"
-#: cp/class.c:3404
+#: cp/class.c:3267
msgid "non-static reference `%#D' in class without a constructor"
msgstr "referencia `%#D' que no es static en una clase sin un constructor"
-#: cp/class.c:3435
+#: cp/class.c:3302
msgid "non-static const member `%#D' in class without a constructor"
msgstr "miembro const `%#D' que no es static en una clase sin un constructor"
-#: cp/class.c:3450
+#: cp/class.c:3318
msgid "field `%#D' with same name as class"
msgstr "campo `%#D' con el mismo nombre que la clase"
-#: cp/class.c:3468
+#: cp/class.c:3336
msgid "`%#T' has pointer data members"
msgstr "`%#T' tiene miembros apuntadores a datos"
-#: cp/class.c:3472
+#: cp/class.c:3340
msgid " but does not override `%T(const %T&)'"
msgstr " pero no se impone a `%T(const %T&)'"
-#: cp/class.c:3474
+#: cp/class.c:3342
msgid " or `operator=(const %T&)'"
msgstr " o a `operator=(cont %T&)'"
-#: cp/class.c:3477
+#: cp/class.c:3345
msgid " but does not override `operator=(const %T&)'"
msgstr " pero no se impone a `operator=(const %T&)'"
-#: cp/class.c:3943
+#: cp/class.c:3795
+msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
+msgstr "el desplazamiento de la base vacía `%T' puede no cumplir con la ABI y puede cambiar en una versión futura de GCC"
+
+#: cp/class.c:3904
+msgid "class `%T' will be considered nearly empty in a future version of GCC"
+msgstr "la clase `%T' se considerará casi vacía en una versión futura de GCC"
+
+#: cp/class.c:3994
msgid "initializer specified for non-virtual method `%D'"
-msgstr "iniciador especificado para el método no virtual `%D'"
+msgstr "se especificó un inicializador para el método no virtual `%D'"
-#: cp/class.c:4728
-msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
-msgstr "base virtual `%T' inaccesible en `%T' debido a ambigüedad"
+#: cp/class.c:4730
+msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
+msgstr "el desplazamiento de la base virtual `%T' no cumple con la ABI y puede cambiar en una versión futura de GCC"
-#: cp/class.c:4798
+#: cp/class.c:4830
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr "base directa `%T' inaccesible en `%T' debido a ambigüedad"
-#: cp/class.c:5225
+#: cp/class.c:4843
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+msgstr "base virtual `%T' inaccesible en `%T' debido a ambigüedad"
+
+#: cp/class.c:4999
+msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
+msgstr "el tamaño asignado a `%T' puede no cumplir con la ABI y puede cambiar en una versión futura de GCC"
+
+#: cp/class.c:5039
+msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
+msgstr "el desplazamiento de `%D' no cumple con la ABI y puede cambiar en una versión futura de GCC"
+
+#: cp/class.c:5048
+msgid "`%D' contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+msgstr "`%D' contiene clases vacías las cuales pueden causar que las clases base se coloquen en diferentes ubicaciones en una versión futura de GCC"
+
+#: cp/class.c:5107
+msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
+msgstr "la disposición de clases derivadas de la clase vacía `%T' puede cambiar en una versión futura de GCC"
+
+#: cp/class.c:5392
msgid "`%#T' has virtual functions but non-virtual destructor"
msgstr "`%#T' tiene funciones virtuales pero destructores no virtuales"
-#: cp/class.c:5309
+#: cp/class.c:5477
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr "se trató de terminar struct, pero fue sacado debido a errores previos de decodificación"
-#: cp/class.c:5766
+#: cp/class.c:5943
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr "cadena de lenguaje `\"%s\"' no se reconocen"
-#: cp/class.c:5862
+#: cp/class.c:6039
msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr "no se puede resolver la función sobrecargada `%D' basándose en la conversión al tipo `%T'"
-#: cp/class.c:5983
+#: cp/class.c:6160
msgid "no matches converting function `%D' to type `%#T'"
msgstr "no hay coincidencias al convertir la función `%D' al tipo `%#T'"
-#: cp/class.c:6006
+#: cp/class.c:6183
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr "la conversión de la función sobrecargada `%D' al tipo `%#T' es ambigua"
-#: cp/class.c:6032
+#: cp/class.c:6209
msgid "assuming pointer to member `%D'"
msgstr "asumiendo el apuntador a miembro `%D'"
-#: cp/class.c:6035
+#: cp/class.c:6212
#, c-format
msgid "(a pointer to member can only be formed with `&%E')"
msgstr "(un apuntador a miembro solamente se puede formar con `&%E')"
-#: cp/class.c:6079 cp/class.c:6247 cp/class.c:6254
+#: cp/class.c:6256 cp/class.c:6427 cp/class.c:6434
msgid "not enough type information"
msgstr "no hay suficiente información de tipo"
-#: cp/class.c:6088
+#: cp/class.c:6265
msgid "argument of type `%T' does not match `%T'"
msgstr "el argumento de tipo `%T' no coincide con `%T'"
-#: cp/class.c:6231
+#: cp/class.c:6411
msgid "invalid operation on uninstantiated type"
msgstr "operación inválida en tipo no instanciado"
@@ -13558,11 +14071,11 @@ msgstr "operación inválida en tipo no instanciado"
#. 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:6483 cp/decl.c:1032 cp/decl.c:3172 cp/pt.c:1842
+#: cp/class.c:6694 cp/decl.c:1009 cp/decl.c:3133 cp/pt.c:2001
msgid "declaration of `%#D'"
msgstr "la declaración de `%#D'"
-#: cp/class.c:6484
+#: cp/class.c:6695
msgid "changes meaning of `%D' from `%+#D'"
msgstr "cambia el significado de `%D' a partir de `%+#D'"
@@ -13578,84 +14091,88 @@ msgstr "la conversión de `%E' desde `%T' a `%T' es ambigua"
msgid "converting from `%T' to `%T'"
msgstr "convirtiendo de `%T' a `%T'"
-#: cp/cvt.c:198 cp/cvt.c:202
+#: cp/cvt.c:203 cp/cvt.c:207
msgid "pointer to member cast from `%T' to `%T' is via virtual base"
msgstr "apuntador a la conversión de miembro de `%T' a `%T' es a través de una base virtual"
-#: cp/cvt.c:220 cp/cvt.c:233 cp/cvt.c:272
+#: cp/cvt.c:225 cp/cvt.c:236 cp/cvt.c:283
msgid "cannot convert `%E' from type `%T' to type `%T'"
msgstr "no se puede convertir `%E' desde el tipo `%T' al tipo `%T'"
-#: cp/cvt.c:525
+#: cp/cvt.c:262
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "conversión inválida de '%T' a '%T'"
+
+#: cp/cvt.c:504
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr "la conversión de `%T' a `%T' descarta los calificadores"
-#: cp/cvt.c:543
+#: cp/cvt.c:522
msgid "casting `%T' to `%T' does not dereference pointer"
msgstr "la conversión de `%T' a `%T' no dereferencía a los apuntadores"
-#: cp/cvt.c:572
+#: cp/cvt.c:551
msgid "cannot convert type `%T' to type `%T'"
msgstr "no se puede convertir del tipo `%T' al tipo `%T'"
-#: cp/cvt.c:689
+#: cp/cvt.c:683
msgid "conversion from `%#T' to `%#T'"
msgstr "conversión de `%#T' a `%#T'"
-#: cp/cvt.c:701
+#: cp/cvt.c:695
msgid "`%#T' used where a `%T' was expected"
msgstr "se usó un `%#T' donde se esperaba un `%T'"
-#: cp/cvt.c:718
+#: cp/cvt.c:712
msgid "the address of `%D', will always be `true'"
msgstr "la dirección de `%D', siempre será `true'"
-#: cp/cvt.c:738
+#: cp/cvt.c:732
msgid "`%#T' used where a floating point value was expected"
msgstr "se usó un `%#T' donde se esperaba un valor de coma flotante"
-#: cp/cvt.c:793
+#: cp/cvt.c:779
msgid "conversion from `%T' to non-scalar type `%T' requested"
msgstr "se solicitó la conversión desde `%T' al tipo no escalar `%T'"
-#: cp/cvt.c:879
+#: cp/cvt.c:865
msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr "el objeto de tipo incompleto `%T' no se accesará en %s"
-#: cp/cvt.c:882
+#: cp/cvt.c:868
msgid "object of type `%T' will not be accessed in %s"
msgstr "el objeto de tipo `%T' no se accesará en %s"
-#: cp/cvt.c:898
+#: cp/cvt.c:884
msgid "object `%E' of incomplete type `%T' will not be accessed in %s"
msgstr "el objeto `%E' de tipo incompleto `%T' no se accesará en %s"
#. [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:904
#, c-format
msgid "%s cannot resolve address of overloaded function"
-msgstr "%s no puede resolver la dirección de la función sobrecargada"
+msgstr "%s no se puede resolver la dirección de la función sobrecargada"
#. Only warn when there is no &.
-#: cp/cvt.c:923
+#: cp/cvt.c:909
#, c-format
msgid "%s is a reference, not call, to function `%E'"
msgstr "%s es una referencia, no una llamada, a la función `%E'"
-#: cp/cvt.c:1061
+#: cp/cvt.c:1039
msgid "converting NULL to non-pointer type"
msgstr "convirtiendo NULL a un tipo que no es apuntador"
-#: cp/cvt.c:1137
+#: cp/cvt.c:1115
msgid "ambiguous default type conversion from `%T'"
msgstr "conversión de tipo por omisión ambigua desde `%T'"
-#: cp/cvt.c:1139
+#: cp/cvt.c:1117
msgid " candidate conversions include `%D' and `%D'"
msgstr " las conversiones candidatas incluyen `%D' y `%D'"
-#: cp/decl.c:1033 cp/decl.c:3275
+#: cp/decl.c:1010 cp/decl.c:3240
msgid "conflicts with previous declaration `%#D'"
msgstr "causa conflictos con la declaración previa `%#D'"
@@ -13667,117 +14184,117 @@ msgstr "se usa la etiqueta `%D' pero no está definida"
msgid "label `%D' defined but not used"
msgstr "la etiqueta `%D' está definida pero no se usa"
-#: cp/decl.c:2294
+#: cp/decl.c:2240
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr "no se permite aquí el alias del espacio de nombres `%D', asumiendo que es `%D'"
-#: cp/decl.c:3078 cp/decl.c:3483
+#: cp/decl.c:3039 cp/decl.c:3448
msgid "previous declaration of `%D'"
msgstr "declaración previa de `%D'"
-#: cp/decl.c:3159 cp/decl.c:3197
+#: cp/decl.c:3120 cp/decl.c:3158
msgid "shadowing %s function `%#D'"
msgstr "obscureciendo la función de biblioteca `%#D'"
-#: cp/decl.c:3168
+#: cp/decl.c:3129
msgid "library function `%#D' redeclared as non-function `%#D'"
msgstr "la función de biblioteca `%#D' es redeclarada como `%#D' que no es función"
-#: cp/decl.c:3173
+#: cp/decl.c:3134
msgid "conflicts with built-in declaration `%#D'"
msgstr "causa conflicto con la declaración interna `%#D'"
-#: cp/decl.c:3192 cp/decl.c:3285 cp/decl.c:3301
+#: cp/decl.c:3153 cp/decl.c:3254 cp/decl.c:3270
msgid "new declaration `%#D'"
msgstr "declaración nueva `%#D'"
-#: cp/decl.c:3193
+#: cp/decl.c:3154
msgid "ambiguates built-in declaration `%#D'"
msgstr "hace ambigua la declaración interna `%#D'"
-#: cp/decl.c:3249
+#: cp/decl.c:3214
msgid "`%#D' redeclared as different kind of symbol"
msgstr "`%#D' redeclarado como un tipo diferente de símbolo"
-#: cp/decl.c:3252
+#: cp/decl.c:3217
msgid "previous declaration of `%#D'"
msgstr "declaración previa de `%#D'"
-#: cp/decl.c:3274
+#: cp/decl.c:3239
msgid "declaration of template `%#D'"
msgstr "redeclaración de la plantilla `%#D'"
-#: cp/decl.c:3286 cp/decl.c:3302
+#: cp/decl.c:3255 cp/decl.c:3271
msgid "ambiguates old declaration `%#D'"
msgstr "hace ambigua la declaración antigua `%#D'"
-#: cp/decl.c:3294
+#: cp/decl.c:3263
msgid "declaration of C function `%#D' conflicts with"
msgstr "la declaración de la función C `%#D' tiene conflictos con"
-#: cp/decl.c:3296
+#: cp/decl.c:3265
msgid "previous declaration `%#D' here"
msgstr "declaración previa de `%#D' aquí"
-#: cp/decl.c:3312
+#: cp/decl.c:3281
msgid "conflicting types for `%#D'"
msgstr "tipos en conflicto para `%#D'"
-#: cp/decl.c:3313
+#: cp/decl.c:3282
msgid "previous declaration as `%#D'"
msgstr "declaración previa como `%#D'"
-#: cp/decl.c:3356
+#: cp/decl.c:3325
msgid "`%#D' previously defined here"
msgstr "se definió `%#D' previamente aquí"
-#: cp/decl.c:3357
+#: cp/decl.c:3326
msgid "`%#D' previously declared here"
msgstr "se declaró `%#D' previamente aquí"
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3366
+#: cp/decl.c:3335
msgid "prototype for `%#D'"
msgstr "el prototipo para '%#D'"
-#: cp/decl.c:3367
+#: cp/decl.c:3336
msgid "follows non-prototype definition here"
msgstr "a continuación la definición del no prototipo aquí"
-#: cp/decl.c:3379
+#: cp/decl.c:3348
msgid "previous declaration of `%#D' with %L linkage"
msgstr "declaración previa de `%#D' con el enlace %L"
-#: cp/decl.c:3381
+#: cp/decl.c:3350
msgid "conflicts with new declaration with %L linkage"
msgstr "tiene conflictos con la declaración nueva con el enlace %L"
-#: cp/decl.c:3404 cp/decl.c:3411
+#: cp/decl.c:3373 cp/decl.c:3380
msgid "default argument given for parameter %d of `%#D'"
msgstr "argumento por omisión dado para el parámetro %d de `%#D'"
-#: cp/decl.c:3406 cp/decl.c:3413
+#: cp/decl.c:3375 cp/decl.c:3382
msgid "after previous specification in `%#D'"
msgstr "después de la especificación previa en `%#D'"
-#: cp/decl.c:3422
+#: cp/decl.c:3391
msgid "`%#D' was used before it was declared inline"
msgstr "se usó `%#D' antes de que fuera declarado inline"
-#: cp/decl.c:3424
+#: cp/decl.c:3393
msgid "previous non-inline declaration here"
msgstr "declaración previa no inline aquí"
-#: cp/decl.c:3482
+#: cp/decl.c:3447
msgid "redundant redeclaration of `%D' in same scope"
msgstr "declaración redundante de `%D' en el mismo ámbito"
-#: cp/decl.c:3566
+#: cp/decl.c:3528
#, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr "la declaración de `%F' arroja excepciones diferentes"
-#: cp/decl.c:3568
+#: cp/decl.c:3530
#, c-format
msgid "than previous declaration `%F'"
msgstr "que la declaración previa `%F'"
@@ -13790,15 +14307,15 @@ msgstr "que la declaración previa `%F'"
#. that specialization that would cause an implicit
#. instantiation to take place, in every translation unit in
#. which such a use occurs.
-#: cp/decl.c:3701
+#: cp/decl.c:3670
msgid "explicit specialization of %D after first use"
msgstr "especialización explícita de %D después del primer uso"
-#: cp/decl.c:3946
+#: cp/decl.c:3926
msgid "`%#D' used prior to declaration"
msgstr "se usa `%#D' previo a la declaración"
-#: cp/decl.c:3977
+#: cp/decl.c:3957
msgid "redeclaration of `wchar_t' as `%T'"
msgstr "redeclaración de `wchar_t' como `%T'"
@@ -13808,35 +14325,35 @@ msgstr "redeclaración de `wchar_t' como `%T'"
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:4005
+#: cp/decl.c:3985
msgid "invalid redeclaration of `%D'"
msgstr "redeclaración inválida de `%D'"
-#: cp/decl.c:4006
+#: cp/decl.c:3986
msgid "as `%D'"
msgstr "como `%D'"
-#: cp/decl.c:4096
+#: cp/decl.c:4076
msgid "previous external decl of `%#D'"
msgstr "declaración externa previa de `%#D'"
-#: cp/decl.c:4137
+#: cp/decl.c:4117
msgid "`%D' was previously implicitly declared to return `int'"
msgstr "`%D' fue declarado previa e implícitamente para devolver `int'"
-#: cp/decl.c:4197
+#: cp/decl.c:4177
msgid "extern declaration of `%#D' doesn't match"
msgstr "la declaración externa de `%#D' no coincide"
-#: cp/decl.c:4198
+#: cp/decl.c:4178
msgid "global declaration `%#D'"
msgstr "con la declaración global `%#D'"
-#: cp/decl.c:4229
+#: cp/decl.c:4211
msgid "declaration of `%#D' shadows a parameter"
msgstr "la declaración de `%#D' obscurece un parámetro"
-#: cp/decl.c:4249
+#: cp/decl.c:4231
#, c-format
msgid "declaration of `%s' shadows a member of `this'"
msgstr "la declaración de `%s' obscurece a un miembro de `this'"
@@ -13861,786 +14378,842 @@ msgstr "causa conflicto con la declaración de la función `%#D'"
msgid "implicit declaration of function `%#D'"
msgstr "declaración implícita de la función `%#D'"
-#: cp/decl.c:4876
+#: cp/decl.c:4878
#, c-format
msgid "label `%s' referenced outside of any function"
-msgstr "la etiqueta `%s' se ha referenciado fuera de cualquier función"
+msgstr "la etiqueta `%s' se referenció fuera de cualquier función"
-#: cp/decl.c:4979 cp/decl.c:5003 cp/decl.c:5096
+#: cp/decl.c:4981 cp/decl.c:5005 cp/decl.c:5098
msgid "jump to label `%D'"
msgstr "salto a la etiqueta `%D'"
-#: cp/decl.c:4981 cp/decl.c:5005
+#: cp/decl.c:4983 cp/decl.c:5007
msgid "jump to case label"
msgstr "salto a la etiqueta case"
-#: cp/decl.c:4989
+#: cp/decl.c:4991
msgid " crosses initialization of `%#D'"
-msgstr " cruza la asignación de valores iniciales de `%#D'"
+msgstr " cruza la inicialización de `%#D'"
-#: cp/decl.c:4992 cp/decl.c:5112
+#: cp/decl.c:4994 cp/decl.c:5114
msgid " enters scope of non-POD `%#D'"
msgstr " entra en el ámbito de `%#D' que no es POD"
-#: cp/decl.c:5012 cp/decl.c:5116
+#: cp/decl.c:5014 cp/decl.c:5118
msgid " enters try block"
msgstr " entra intento de bloque"
#. Can't skip init of __exception_info.
-#: cp/decl.c:5014 cp/decl.c:5108 cp/decl.c:5118
+#: cp/decl.c:5016 cp/decl.c:5110 cp/decl.c:5120
msgid " enters catch block"
msgstr " entra captura de bloque"
-#: cp/decl.c:5097
+#: cp/decl.c:5099
msgid " from here"
msgstr " desde aquí"
-#: cp/decl.c:5110
+#: cp/decl.c:5112
msgid " skips initialization of `%#D'"
-msgstr " salta la asignación de valores iniciales de `%#D'"
+msgstr " salta la inicialización de `%#D'"
-#: cp/decl.c:5145
+#: cp/decl.c:5149
msgid "label named wchar_t"
msgstr "etiqueta nombrada wchar_t"
-#: cp/decl.c:5149
+#: cp/decl.c:5153
msgid "duplicate label `%D'"
msgstr "etiqueta duplicada `%D'"
-#: cp/decl.c:5234
+#: cp/decl.c:5239
#, c-format
msgid "case label `%E' not within a switch statement"
msgstr "la etiqueta case `%E' no se encuentra dentro de una declaración switch"
#. Definition isn't the kind we were looking for.
-#: cp/decl.c:5411 cp/decl.c:5430
+#: cp/decl.c:5424 cp/decl.c:5443
msgid "`%#D' redeclared as %C"
msgstr "`%#D' redeclarado como %C"
#. This happens for A::B where B is a template, and there are no
#. template arguments.
-#: cp/decl.c:5518 cp/typeck.c:1980
+#: cp/decl.c:5536 cp/typeck.c:2071 cp/typeck.c:2226
msgid "invalid use of `%D'"
msgstr "uso inválido de `%D'"
-#: cp/decl.c:5559
+#: cp/decl.c:5577
msgid "`%D::%D' is not a template"
msgstr "`%D::%D' no es una plantilla"
-#: cp/decl.c:5576
+#: cp/decl.c:5594
msgid "`%D' undeclared in namespace `%D'"
msgstr "`%D' no declarado en el espacio de nombres `%D'"
-#: cp/decl.c:5713
+#: cp/decl.c:5727
msgid "`%D' used without template parameters"
msgstr "se usa `%D' sin parámetros de plantilla"
-#: cp/decl.c:5724 cp/decl.c:5740 cp/decl.c:5828
+#: cp/decl.c:5738 cp/decl.c:5754 cp/decl.c:5864
msgid "no class template named `%#T' in `%#T'"
msgstr "no hay una plantilla de clase llamada `%#T' en `%#T'"
-#: cp/decl.c:5758 cp/decl.c:5788
+#: cp/decl.c:5780 cp/decl.c:5790 cp/decl.c:5825
msgid "no type named `%#T' in `%#T'"
msgstr "no hay un tipo llamado `%#T' en `%#T'"
-#: cp/decl.c:6011
+#: cp/decl.c:6054
msgid "lookup of `%D' finds `%#D'"
msgstr "la búsqueda de `%D' encuentra a `%#D'"
-#: cp/decl.c:6013
+#: cp/decl.c:6056
msgid " instead of `%D' from dependent base class"
msgstr " en lugar de `%D' de la clase base dependiente"
-#: cp/decl.c:6015
+#: cp/decl.c:6058
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr " (use `typename %T::%D' si eso es lo que quería)"
-#: cp/decl.c:6188
+#: cp/decl.c:6089
+msgid "name lookup of `%D' changed"
+msgstr "la búsqueda de nombre de `%D' cambió"
+
+#: cp/decl.c:6091
+msgid " matches this `%D' under ISO standard rules"
+msgstr " coincide con este `%D' bajo las reglas de ISO estándard"
+
+#: cp/decl.c:6093
+msgid " matches this `%D' under old rules"
+msgstr " coincide con este `%D' bajo las reglas antiguas"
+
+#: cp/decl.c:6107 cp/decl.c:6114
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr "la búsqueda de nombre de `%D' cambió por el nuevo alcance ISO de `for'"
+
+#: cp/decl.c:6109
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
+msgstr " no se puede usar la asignación obsoleta en `%D' porque tiene un destructor"
+
+#: cp/decl.c:6116
+msgid " using obsolete binding at `%D'"
+msgstr " usando la asignación obsoleta en `%D'"
+
+#: cp/decl.c:6305
msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
msgstr "la búsqueda de `%D' en el ámbito de `%#T' (`%#D') no coincide con la búsqueda en el ámbito actual (`%#D')"
-#: cp/decl.c:7033
+#: cp/decl.c:7128
msgid "an anonymous union cannot have function members"
msgstr "un union anónimo no puede tener funciones miembro"
-#: cp/decl.c:7050
+#: cp/decl.c:7145
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr "no se permite el miembro %#D' con constructor en un agregado anónimo"
-#: cp/decl.c:7053
+#: cp/decl.c:7148
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr "no se permite el miembro %#D' con destructor en un agregado anónimo"
-#: cp/decl.c:7056
+#: cp/decl.c:7151
msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
msgstr "no se permite el miembro %#D' con operador de asignación de copia en un agregado anónimo"
-#: cp/decl.c:7094
+#: cp/decl.c:7189
msgid "redeclaration of C++ built-in type `%T'"
msgstr "redeclaración del tipo interno de C++ `%T'"
-#: cp/decl.c:7129
+#: cp/decl.c:7225
msgid "multiple types in one declaration"
msgstr "tipos múltiples en una declaración"
-#: cp/decl.c:7132
-msgid "declaration does not declare anything"
-msgstr "la declaración no declara nada}"
-
-#: cp/decl.c:7156
+#: cp/decl.c:7252
msgid "missing type-name in typedef-declaration"
msgstr "falta el nombre del tipo en la declaración typedef"
-#: cp/decl.c:7163
+#: cp/decl.c:7259
msgid "ISO C++ prohibits anonymous structs"
msgstr "ISO C++ prohibe structs anónimos"
-#: cp/decl.c:7170
+#: cp/decl.c:7266
msgid "`%D' can only be specified for functions"
msgstr "`%D' sólo puede ser especificado para funciones"
-#: cp/decl.c:7172
+#: cp/decl.c:7268
msgid "`%D' can only be specified inside a class"
msgstr "`%D' sólo puede ser especificado dentro de una clase"
-#: cp/decl.c:7174
+#: cp/decl.c:7270
msgid "`%D' can only be specified for constructors"
msgstr "`%D' sólo puede ser especificado para constructores"
-#: cp/decl.c:7177
+#: cp/decl.c:7273
msgid "`%D' can only be specified for objects and functions"
msgstr "`%D' sólo puede ser especificado para objetos y funciones"
-#: cp/decl.c:7326
-msgid "typedef `%D' is initialized"
-msgstr "typedef `%D' tiene valor inicial"
+#: cp/decl.c:7415 cp/decl2.c:936
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
+msgstr "typedef `%D' está inicializado (utilice __typeof__ en su lugar)"
-#: cp/decl.c:7332
+#: cp/decl.c:7420
msgid "function `%#D' is initialized like a variable"
-msgstr "la función `%#D' tiene valor inicial como una variable"
+msgstr "la función `%#D' está inicializada como una variable"
-#: cp/decl.c:7344
+#: cp/decl.c:7432
msgid "declaration of `%#D' has `extern' and is initialized"
-msgstr "la declaración de `%#D' tiene `extern' y tiene valor inicial"
+msgstr "la declaración de `%#D' tiene `extern' y está inicializada"
-#: cp/decl.c:7378
+#: cp/decl.c:7466
msgid "`%#D' is not a static member of `%#T'"
msgstr "`%#D' no es un miembro static de `%#T'"
-#: cp/decl.c:7383
+#: cp/decl.c:7471
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
-msgstr "ISO C++ no permite que `%T::%D' sea definido como `%T::%D'"
+msgstr "ISO C++ no permite que `%T::%D' se defina como `%T::%D'"
-#: cp/decl.c:7394
+#: cp/decl.c:7482
msgid "duplicate initialization of %D"
-msgstr "asignación de valores iniciales duplicada de %D"
+msgstr "inicialización duplicada de %D"
-#: cp/decl.c:7423
+#: cp/decl.c:7511
msgid "declaration of `%#D' outside of class is not definition"
msgstr "la declaración de `%#D' fuera de la clase no es una definición"
-#: cp/decl.c:7471
+#: cp/decl.c:7561
msgid "variable `%#D' has initializer but incomplete type"
-msgstr "la variable `%#D' tiene asignación de valor inicial, pero tipo de dato incompleto"
+msgstr "la variable `%#D' tiene inicializador pero de tipo de dato incompleto"
-#: cp/decl.c:7479 cp/decl.c:7830
+#: cp/decl.c:7569 cp/decl.c:8123
msgid "elements of array `%#D' have incomplete type"
msgstr "algunos elementos de la matriz `%#D' tienen tipo de dato incompleto"
-#: cp/decl.c:7495
+#: cp/decl.c:7585
msgid "aggregate `%#D' has incomplete type and cannot be defined"
msgstr "el agregado `%#D' tiene un tipo incompleto y no se puede definir"
-#: cp/decl.c:7534
+#: cp/decl.c:7624
msgid "`%D' declared as reference but not initialized"
-msgstr "`%D' declarado como referencia pero no es iniciado"
+msgstr "`%D' declarado como referencia pero no está inicializado"
-#: cp/decl.c:7543
+#: cp/decl.c:7633
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
-msgstr "ISO C++ prohibe el uso de una lista de iniciadores para iniciar la referencia `%D'"
+msgstr "ISO C++ prohibe el uso de una lista de inicializadores para inicializar la referencia `%D'"
-#: cp/decl.c:7576
+#: cp/decl.c:7663
msgid "cannot initialize `%T' from `%T'"
-msgstr "no se pueden iniciar `%T' desde `%T'"
+msgstr "no se pueden inicializar `%T' desde `%T'"
-#: cp/decl.c:7637
+#: cp/decl.c:7697
msgid "initializer fails to determine size of `%D'"
-msgstr "el iniciador no pudo determinar el tamaño de `%D'"
+msgstr "el inicializador no puede determinar el tamaño de `%D'"
-#: cp/decl.c:7642
+#: cp/decl.c:7702
msgid "array size missing in `%D'"
msgstr "falta el tamaño de la matriz en `%D'"
-#: cp/decl.c:7654
+#: cp/decl.c:7714
msgid "zero-size array `%D'"
msgstr "matriz `%D' de tamaño cero"
#. 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:7687
+#: cp/decl.c:7752
msgid "storage size of `%D' isn't known"
msgstr "no se conoce el tamaño de almacenamiento de `%D'"
-#: cp/decl.c:7709
+#: cp/decl.c:7774
msgid "storage size of `%D' isn't constant"
msgstr "el tamaño de almacenamiento de `%D' no es constante"
-#: cp/decl.c:7760
+#: cp/decl.c:7830
msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
msgstr "perdón: la semántica de los datos static de la función inline `%#D' es errónea (terminará con múltiples copias)"
-#: cp/decl.c:7761
+#: cp/decl.c:7831
msgid " you can work around this by removing the initializer"
-msgstr " puede evitar esto eliminando el iniciador"
+msgstr " puede evitar esto eliminando el inicializador"
-#: cp/decl.c:7789
+#: cp/decl.c:7857
msgid "uninitialized const `%D'"
-msgstr "const `%D' sin iniciar"
+msgstr "const `%D' sin inicializar"
+
+#: cp/decl.c:7941
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "se utilizó un inicializador encerrado entre llaves para inicializar a `%T'"
-#: cp/decl.c:7824
+#: cp/decl.c:8005
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr "el inicializador para `%T' debe estar encerrado entre llaves"
+
+#: cp/decl.c:8020
+msgid "ISO C++ does not allow designated initializers"
+msgstr "ISO C++ no permite inicializadores designados"
+
+#: cp/decl.c:8024
+msgid "`%T' has no non-static data member named `%D'"
+msgstr "`%T' no tiene un dato miembro que no es static llamado `%D'"
+
+#: cp/decl.c:8081
+msgid "too many initializers for `%T'"
+msgstr "demasiados inicializadores para `%T'"
+
+#: cp/decl.c:8117
msgid "variable-sized object `%D' may not be initialized"
-msgstr "el objeto de tamaño variable `%D' no puede tener valor inicial"
+msgstr "el objeto de tamaño variable `%D' no puede ser inicializado"
-#: cp/decl.c:7835 cp/typeck2.c:201
+#: cp/decl.c:8128
msgid "`%D' has incomplete type"
msgstr "`%D' tiene un tipo de dato incompleto"
-#: cp/decl.c:7867
+#: cp/decl.c:8177
msgid "`%D' must be initialized by constructor, not by `{...}'"
-msgstr "`%D' debe ser iniciado por un constructor, no por `{...}'"
+msgstr "`%D' debe ser inicializado por un constructor, no por `{...}'"
-#: cp/decl.c:7897
+#: cp/decl.c:8218
msgid "structure `%D' with uninitialized const members"
-msgstr "estructura `%D' con miembros constantes sin iniciar"
+msgstr "estructura `%D' con miembros const sin inicializar"
-#: cp/decl.c:7899
+#: cp/decl.c:8220
msgid "structure `%D' with uninitialized reference members"
-msgstr "estructura `%D' con miembros de referencia sin iniciar"
+msgstr "estructura `%D' con miembros de referencia sin inicializar"
-#: cp/decl.c:8166
+#: cp/decl.c:8467
msgid "assignment (not initialization) in declaration"
-msgstr "asignación (no asignación de valores iniciales) en la declaración"
+msgstr "asignación (no inicialización) en la declaración"
-#: cp/decl.c:8178
+#: cp/decl.c:8479
msgid "cannot initialize `%D' to namespace `%D'"
-msgstr "no se pueden iniciar `%D' para el espacio de nombres `%D'"
+msgstr "no se pueden inicializar `%D' para el espacio de nombres `%D'"
-#: cp/decl.c:8235
+#: cp/decl.c:8530
msgid "shadowing previous type declaration of `%#D'"
msgstr "obscureciendo la declaración de tipo previa de `%#D'"
-#: cp/decl.c:8631
+#: cp/decl.c:8576
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+msgstr "`%D' no puede ser thread-local porque es de tipo `%T' que no es POD"
+
+#: cp/decl.c:8591
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
+msgstr "`%D' es thread-local y por lo tanto no se puede inicializar dinámicamente"
+
+#: cp/decl.c:8986 cp/init.c:556
msgid "multiple initializations given for `%D'"
-msgstr "se asignaron múltiples valores iniciales para `%D'"
+msgstr "se dieron inicializaciones múltiples para `%D'"
-#: cp/decl.c:8731
+#: cp/decl.c:9078
msgid "invalid catch parameter"
msgstr "parámetro de captura inválido"
-#: cp/decl.c:8849
+#: cp/decl.c:9196
msgid "destructor for alien class `%T' cannot be a member"
msgstr "el destructor para la clase extranjera `%T' no puede ser un miembro"
-#: cp/decl.c:8852
+#: cp/decl.c:9199
msgid "constructor for alien class `%T' cannot be a member"
msgstr "el constructor para la clase extranjera `%T' no puede ser un miembro"
-#: cp/decl.c:8871
+#: cp/decl.c:9218
msgid "`%D' declared as a `virtual' %s"
msgstr "`%D' fue declarado como un %s `virtual'"
-#: cp/decl.c:8873
+#: cp/decl.c:9220
msgid "`%D' declared as an `inline' %s"
msgstr "`%D' fue declarado como un %s `inline'"
-#: cp/decl.c:8875
+#: cp/decl.c:9222
msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr "especificadores de función `const' y `volatile' en `%D' inválidos en la declaración %s"
-#: cp/decl.c:8878
+#: cp/decl.c:9225
msgid "`%D' declared as a friend"
msgstr "`%D' declarado como un friend"
-#: cp/decl.c:8884
+#: cp/decl.c:9231
msgid "`%D' declared with an exception specification"
msgstr "`%D' declarado con una excepción de especificación"
-#: cp/decl.c:8959
+#: cp/decl.c:9306
msgid "cannot declare `::main' to be a template"
msgstr "no se puede declarar `::main' como template"
-#: cp/decl.c:8961
+#: cp/decl.c:9308
msgid "cannot declare `::main' to be inline"
msgstr "no se puede declarar `::main' como inline"
-#: cp/decl.c:8963
+#: cp/decl.c:9310
msgid "cannot declare `::main' to be static"
msgstr "no se puede declarar `::main' como static"
-#: cp/decl.c:8966
+#: cp/decl.c:9313
msgid "`main' must return `int'"
msgstr "`main' debe devolver `int'"
-#: cp/decl.c:8994
+#: cp/decl.c:9341
msgid "non-local function `%#D' uses anonymous type"
msgstr "la función `%#D' que no es local usa un tipo anónimo"
-#: cp/decl.c:8997
+#: cp/decl.c:9344
msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr "`%#D' no se refiere al tipo sin calificar, así que no se usa para el enlazado"
-#: cp/decl.c:9003
+#: cp/decl.c:9350
msgid "non-local function `%#D' uses local type `%T'"
msgstr "la función `%#D' que no es local utiliza el tipo local `%T'"
-#: cp/decl.c:9026
+#: cp/decl.c:9379
msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr "%sfunción miembro `%D' no puede tener el calificador de método `%T'"
-#: cp/decl.c:9050
+#: cp/decl.c:9403
msgid "defining explicit specialization `%D' in friend declaration"
msgstr "definiendo la especialización explícita `%D' en la declaración friend"
#. Something like `template <class T> friend void f<T>()'.
-#: cp/decl.c:9060
+#: cp/decl.c:9413
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr "uso inválido del id de plantilla `%D' en la declaración de la plantilla primaria"
-#: cp/decl.c:9088
+#: cp/decl.c:9441
msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr "no se permiten los argumento por omisión en la declaración de la especialización friend de la plantilla `%D'"
-#: cp/decl.c:9095
+#: cp/decl.c:9448
msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr "no se permiten `inline' en la declaración de la especialización friend de la plantilla `%D'"
-#: cp/decl.c:9157
+#: cp/decl.c:9510
msgid "definition of implicitly-declared `%D'"
msgstr "la definición de `%D' declarado implícitamente"
-#: cp/decl.c:9169 cp/decl2.c:1367
+#: cp/decl.c:9522 cp/decl2.c:785
msgid "no `%#D' member function declared in class `%T'"
msgstr "no hay una función miembro `%#D' declarada en la clase `%T'"
-#: cp/decl.c:9288
+#: cp/decl.c:9655
msgid "non-local variable `%#D' uses local type `%T'"
msgstr "la variable `%#D' que no es local usa el tipo local `%T'"
-#: cp/decl.c:9378
+#: cp/decl.c:9752
msgid "invalid in-class initialization of static data member of non-integral type `%T'"
-msgstr "iniciación en la clase inválida para el miembro de datos static de tipo `%T' que no es integral"
+msgstr "inicialización en la clase inválida para el miembro de datos static de tipo `%T' que no es integral"
-#: cp/decl.c:9387
+#: cp/decl.c:9761
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
-msgstr "ISO C++ prohibe la iniciación en la clase del miembro static `%D' que no es constante"
+msgstr "ISO C++ prohibe la inicialización en la clase del miembro static `%D' que no es constante"
-#: cp/decl.c:9390
+#: cp/decl.c:9764
msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
-msgstr "ISO C++ prohibe la iniciación del miembro constante `%D' del tipo `%T' que no es entero"
+msgstr "ISO C++ prohibe la inicialización del miembro constante `%D' del tipo `%T' que no es entero"
-#: cp/decl.c:9440
+#: cp/decl.c:9814
msgid "size of array `%D' has non-integer type"
msgstr "el tamaño de la matriz `%D' tiene un tipo no entero"
-#: cp/decl.c:9442
+#: cp/decl.c:9816
msgid "size of array has non-integer type"
msgstr "el tamaño de la matriz tiene un tipo no entero"
-#: cp/decl.c:9462
+#: cp/decl.c:9836
msgid "size of array `%D' is negative"
msgstr "el tamaño de la matriz `%D' es negativo"
-#: cp/decl.c:9464
+#: cp/decl.c:9838
msgid "size of array is negative"
msgstr "el tamaño de la matriz es negativo"
-#: cp/decl.c:9473
+#: cp/decl.c:9847
msgid "ISO C++ forbids zero-size array `%D'"
msgstr "ISO C++ prohibe la matriz `%D' de tamaño cero"
-#: cp/decl.c:9475
+#: cp/decl.c:9849
msgid "ISO C++ forbids zero-size array"
msgstr "ISO C++ prohibe una matriz de tamaño cero"
-#: cp/decl.c:9482
+#: cp/decl.c:9856
msgid "size of array `%D' is not an integral constant-expression"
msgstr "el tamaño de la matriz `%D' no es una expresion constante integral"
-#: cp/decl.c:9485
+#: cp/decl.c:9859
msgid "size of array is not an integral constant-expression"
msgstr "el tamaño de la matriz no es una expresion constante integral"
-#: cp/decl.c:9503
+#: cp/decl.c:9877
msgid "ISO C++ forbids variable-size array `%D'"
msgstr "ISO C++ prohibe la matriz `%D' de tamaño variable"
-#: cp/decl.c:9506
+#: cp/decl.c:9880
msgid "ISO C++ forbids variable-size array"
msgstr "ISO C++ prohibe la matriz de tamaño variable"
-#: cp/decl.c:9517
+#: cp/decl.c:9891
msgid "overflow in array dimension"
msgstr "desbordamiento en la dimensión de la matriz"
-#: cp/decl.c:9576
+#: cp/decl.c:9950
msgid "declaration of `%D' as %s"
msgstr "redeclaración de `%D' como %s"
-#: cp/decl.c:9578
+#: cp/decl.c:9952
#, c-format
msgid "creating %s"
msgstr "creando %s"
-#: cp/decl.c:9590
+#: cp/decl.c:9964
msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr "la declaración de `%D' como una matriz multidimensional debe tener límites para todas las dimensiones excepto la primera"
-#: cp/decl.c:9593
+#: cp/decl.c:9967
msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr "una matriz multidimensional debe tener límites para todas las dimensiones excepto para la primera"
-#: cp/decl.c:9622
+#: cp/decl.c:9996
msgid "return type specification for constructor invalid"
msgstr "la especificación del tipo de devolución para el constructor es inválido"
-#: cp/decl.c:9629
+#: cp/decl.c:10003
msgid "return type specification for destructor invalid"
msgstr "la especificación del tipo de devolución para el destructor es inválido"
-#: cp/decl.c:9635
+#: cp/decl.c:10009
msgid "operator `%T' declared to return `%T'"
msgstr "el operador `%T' se declaró para devolver `%T'"
-#: cp/decl.c:9637
+#: cp/decl.c:10011
msgid "return type specified for `operator %T'"
msgstr "se especificó un tipo de devolución para `operator %T'"
-#: cp/decl.c:9805
+#: cp/decl.c:10179
msgid "destructors must be member functions"
msgstr "los destructores deben ser funciones miembro"
-#: cp/decl.c:9824
+#: cp/decl.c:10198
msgid "destructor `%T' must match class name `%T'"
msgstr "el destructor `%T' debe coincidir con el nombre de la clase `%T'"
-#: cp/decl.c:9874
+#: cp/decl.c:10227
+msgid "variable declaration is not allowed here"
+msgstr "no se permite aquí la declaración de variables"
+
+#: cp/decl.c:10254
msgid "invalid declarator"
msgstr "declarador inválido"
-#: cp/decl.c:9927
+#: cp/decl.c:10305
msgid "declarator-id missing; using reserved word `%D'"
msgstr "falta el id del declarador; utilizando la palabra reservada `%D'"
-#: cp/decl.c:9984
+#: cp/decl.c:10362
msgid "type `%T' is not derived from type `%T'"
msgstr "el tipo `%T' no es derivado del tipo `%T'"
#. Parse error puts this typespec where
#. a declarator should go.
-#: cp/decl.c:10030
+#: cp/decl.c:10414
msgid "`%T' specified as declarator-id"
msgstr "`%T' especificado como id de declarador"
-#: cp/decl.c:10032
+#: cp/decl.c:10416
msgid " perhaps you want `%T' for a constructor"
msgstr " tal vez quiere `%T' para un constructor"
-#: cp/decl.c:10046
-msgid "`%D' as declarator"
-msgstr "`%D' como declarador"
+#. Sometimes, we see a template-name used as part of a
+#. decl-specifier like in
+#. std::allocator alloc;
+#. Handle that gracefully.
+#: cp/decl.c:10438
+#, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "uso inválido del nombre de plantilla `%E' en un declarador"
-#: cp/decl.c:10061
+#: cp/decl.c:10458
msgid "declaration of `%D' as non-function"
msgstr "la declaración de `%D' como una no función"
-#: cp/decl.c:10138
+#: cp/decl.c:10535
msgid "`bool' is now a keyword"
msgstr "`bool' ahora es una palabra clave"
-#: cp/decl.c:10140
+#: cp/decl.c:10537
msgid "extraneous `%T' ignored"
msgstr "`%T' extra ignorado"
-#: cp/decl.c:10156 cp/decl.c:10189
+#: cp/decl.c:10553 cp/decl.c:10598
msgid "multiple declarations `%T' and `%T'"
msgstr "declaraciones múltiples `%T' y `%T'"
-#: cp/decl.c:10169
+#: cp/decl.c:10566
msgid "ISO C++ does not support `long long'"
msgstr "ISO C++ no da soporte a `long long'"
-#: cp/decl.c:10262 cp/decl.c:10265
+#: cp/decl.c:10671 cp/decl.c:10674
#, c-format
msgid "ISO C++ forbids declaration of `%s' with no type"
msgstr "ISO C++ prohibe la declaración de `%s' sin tipo"
#. The implicit typename extension is deprecated and will be
#. removed. Warn about its use now.
-#: cp/decl.c:10275
+#: cp/decl.c:10684
msgid "`%T' is implicitly a typename"
msgstr "`%T' implícitamente es un nombre de tipo"
-#: cp/decl.c:10311
+#: cp/decl.c:10720
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr "short, signed ó unsigned inválido para `%s'"
-#: cp/decl.c:10316
+#: cp/decl.c:10725
#, c-format
msgid "long and short specified together for `%s'"
msgstr "long y short especificados juntos para `%s'"
-#: cp/decl.c:10327
+#: cp/decl.c:10736
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr "se dieron juntos signed y unsigned para `%s'"
-#: cp/decl.c:10436
+#: cp/decl.c:10845
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr "no se permiten calificadores en la declaración de `operator %T'"
-#: cp/decl.c:10458
+#: cp/decl.c:10867
msgid "member `%D' cannot be declared both virtual and static"
msgstr "el miembro `%D' no puede ser declarado como virtual y static al mismo tiempo"
-#: cp/decl.c:10467
+#: cp/decl.c:10876
msgid "`%T::%D' is not a valid declarator"
msgstr "`%T::%D' no es una declaración válida"
-#: cp/decl.c:10478
+#: cp/decl.c:10888
msgid "storage class specifiers invalid in parameter declarations"
msgstr "especificadores de clase de almacenamiento inválidos en las declaraciones de parámetros"
-#: cp/decl.c:10482
+#: cp/decl.c:10892
msgid "typedef declaration invalid in parameter declaration"
msgstr "declaración typedef inválida en la declaración de parámetros"
-#: cp/decl.c:10495
+#: cp/decl.c:10905
msgid "virtual outside class declaration"
msgstr "declaración de virtual fuera de class"
-#: cp/decl.c:10549
+#: cp/decl.c:10966
#, c-format
msgid "storage class specified for %s `%s'"
msgstr "clase de almacenamiento especificada por %s `%s'"
-#: cp/decl.c:10587
+#: cp/decl.c:11013
msgid "storage class specifiers invalid in friend function declarations"
msgstr "especificadores de clase de almacenamiento inválidos en las declaraciones de funciones friend"
-#: cp/decl.c:10691
-msgid "size of member `%D' is not constant"
-msgstr "el tamaño del miembro `%D' no es constante"
-
-#: cp/decl.c:10770
+#: cp/decl.c:11183
msgid "destructor cannot be static member function"
msgstr "el destructor no puede ser una función miembro de tipo static"
-#: cp/decl.c:10773
+#: cp/decl.c:11186
#, c-format
msgid "destructors may not be `%s'"
msgstr "los destructores no pueden ser `%s'"
-#: cp/decl.c:10794
+#: cp/decl.c:11207
msgid "constructor cannot be static member function"
msgstr "el constructor no puede ser una función miembro de tipo static"
-#: cp/decl.c:10797
+#: cp/decl.c:11210
msgid "constructors cannot be declared virtual"
msgstr "los constructores no pueden ser declarados virtual"
-#: cp/decl.c:10802
+#: cp/decl.c:11215
#, c-format
msgid "constructors may not be `%s'"
msgstr "los constructores no pueden ser `%s'"
-#: cp/decl.c:10812
+#: cp/decl.c:11225
msgid "return value type specifier for constructor ignored"
msgstr "el especificador de tipo del valor devuelto para el constructor es ignorado"
-#: cp/decl.c:10831
+#: cp/decl.c:11244
#, c-format
msgid "can't initialize friend function `%s'"
-msgstr "no se pueden iniciar la función friend `%s'"
+msgstr "no se puede inicializar la función friend `%s'"
#. Cannot be both friend and virtual.
-#: cp/decl.c:10835
+#: cp/decl.c:11248
msgid "virtual functions cannot be friends"
msgstr "las funciones virtual no pueden ser friend"
-#: cp/decl.c:10840
+#: cp/decl.c:11253
msgid "friend declaration not in class definition"
msgstr "la declaración friend no está en una definición de clase"
-#: cp/decl.c:10842
+#: cp/decl.c:11255
#, c-format
msgid "can't define friend function `%s' in a local class definition"
-msgstr "la no se puede definir la función friend `%s' en una definición de clase local"
+msgstr "no se puede definir la función friend `%s' en una definición de clase local"
-#: cp/decl.c:10866
+#: cp/decl.c:11279
msgid "destructors may not have parameters"
msgstr "los destructores no pueden tener parámetros"
-#: cp/decl.c:10896
-#, c-format
-msgid "cannot declare %s to references"
-msgstr "no se puede declarar %s a referencias"
+#: cp/decl.c:11310 cp/decl.c:11317
+msgid "cannot declare reference to `%#T'"
+msgstr "no se pueden declarar referencias a `%#T'"
+
+#: cp/decl.c:11311
+msgid "cannot declare pointer to `%#T'"
+msgstr "no se pueden declarar apuntadores a `%#T'"
-#: cp/decl.c:10907
+#: cp/decl.c:11316
msgid "cannot declare pointer to `%#T' member"
msgstr "no se pueden declarar un apuntador al miembro `%#T'"
-#: cp/decl.c:10922
-msgid "invalid type: `void &'"
-msgstr "tipo inválido: `void &'"
-
-#: cp/decl.c:11084
+#: cp/decl.c:11492
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr "se ignora la calificación extra `%T::' en el miembro `%s'"
-#: cp/decl.c:11094
+#: cp/decl.c:11502
msgid "cannot declare member function `%T::%s' within `%T'"
msgstr "no se puede declarar la función miembro `%T::%s' dentro de `%T'"
-#: cp/decl.c:11109
+#: cp/decl.c:11517
msgid "cannot declare member `%T::%s' within `%T'"
msgstr "no se puede declarar el miembro `%T::%s' dentro de `%T'"
+#: cp/decl.c:11596
+msgid "data member may not have variably modified type `%T'"
+msgstr "los datos miembro pueden no tener el tipo modificado variablemente `%T'"
+
+#: cp/decl.c:11598
+msgid "parameter may not have variably modified type `%T'"
+msgstr "el parámetro puede no tener el tipo modificado variablemente `%T'"
+
#. [dcl.fct.spec] The explicit specifier shall only be used in
#. declarations of constructors within a class definition.
-#: cp/decl.c:11189
+#: cp/decl.c:11606
msgid "only declarations of constructors can be `explicit'"
msgstr "solamente las declaraciones de constructores pueden ser `explicit'"
-#: cp/decl.c:11197
+#: cp/decl.c:11614
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr "el no-miembro `%s' no puede ser declarado `mutable'"
-#: cp/decl.c:11202
+#: cp/decl.c:11619
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr "el miembro no-objeto `%s' no puede ser declarado `mutable'"
-#: cp/decl.c:11208
+#: cp/decl.c:11625
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr "la función `%s' no puede ser declarada `mutable'"
-#: cp/decl.c:11213
+#: cp/decl.c:11630
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr "static `%s' no puede ser declarado `mutable'"
-#: cp/decl.c:11218
+#: cp/decl.c:11635
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr "const `%s' no puede ser declarado `mutable'"
-#: cp/decl.c:11231
+#: cp/decl.c:11648
msgid "template-id `%D' used as a declarator"
msgstr "el id de plantilla `%D' se usa como un declarador"
-#: cp/decl.c:11252
+#: cp/decl.c:11669
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
msgstr "ISO C++ prohibe el tipo anidado `%D' con el mismo nombre que la clase que lo contiene"
-#: cp/decl.c:11299
+#: cp/decl.c:11718
msgid "typedef name may not be class-qualified"
msgstr "el nombre de la definición de tipo puede no ser calificada para la clase"
-#: cp/decl.c:11307
+#: cp/decl.c:11726
msgid "invalid type qualifier for non-member function type"
msgstr "calificador de tipo inválido para el tipo de función no miembro"
-#: cp/decl.c:11323
-msgid "typedef declaration includes an initializer"
-msgstr "la declaración typedef incluye una asignación inicial de valores"
-
-#: cp/decl.c:11373
+#: cp/decl.c:11789
msgid "type qualifiers specified for friend class declaration"
msgstr "se especificaron calificadores de tipo en una declaración de clase friend"
-#: cp/decl.c:11378
+#: cp/decl.c:11794
msgid "`inline' specified for friend class declaration"
msgstr "se especificó `inline' para la declaración de clase friend"
-#: cp/decl.c:11388
+#: cp/decl.c:11802
msgid "template parameters cannot be friends"
msgstr "los parámetros de la plantilla no pueden ser friends"
-#: cp/decl.c:11390
-msgid "friend declaration requires class-key, i.e. `friend class %T::%T'"
-msgstr "la declaración friend requere una llave de clase, p.e. `friend class %T::%T'"
+#: cp/decl.c:11804
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
+msgstr "la declaración friend requere una llave de clase, p.e. `friend class %T::%D'"
-#: cp/decl.c:11395
+#: cp/decl.c:11808
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr "la declaración friend requiere una llave de clase, p.e. `friend %#T'"
-#: cp/decl.c:11409
+#: cp/decl.c:11822
msgid "trying to make class `%T' a friend of global scope"
msgstr "tratando hacer que la clase `%T' sea un friend de ámbito global"
-#: cp/decl.c:11420
+#: cp/decl.c:11833
msgid "invalid qualifiers on non-member function type"
msgstr "calificadores inválidos en el tipo de función no miembro"
-#: cp/decl.c:11439
+#: cp/decl.c:11852
msgid "abstract declarator `%T' used as declaration"
msgstr "el declarador abstracto `%T' se utilizó como una declaración"
-#: cp/decl.c:11451
+#: cp/decl.c:11864
msgid "unnamed variable or field declared void"
msgstr "variable sin nombre o campo declarado void"
-#: cp/decl.c:11460
+#: cp/decl.c:11873
msgid "variable or field declared void"
msgstr "variable o campo declarado void"
-#: cp/decl.c:11470
+#: cp/decl.c:11883
msgid "cannot use `::' in parameter declaration"
msgstr "no se puede usar `::' en la declaración de parámetros"
#. Something like struct S { int N::j; };
-#: cp/decl.c:11516
+#: cp/decl.c:11922
msgid "invalid use of `::'"
msgstr "uso inválido de `::'"
-#: cp/decl.c:11528
+#: cp/decl.c:11934
msgid "function `%D' cannot be declared friend"
msgstr "la función `%D' no puede ser declarada friend"
-#: cp/decl.c:11540
+#: cp/decl.c:11946
msgid "can't make `%D' into a method -- not in a class"
msgstr "no se puede hacer `%D' en un método -- no está en una clase"
-#: cp/decl.c:11549
+#: cp/decl.c:11955
msgid "function `%D' declared virtual inside a union"
msgstr "la función `%s' se declaró virtual dentro de un union"
-#: cp/decl.c:11561
+#: cp/decl.c:11967
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr "`%D' no se puede declarar virtual, ya que siempre es static"
-#: cp/decl.c:11634
+#: cp/decl.c:12040
msgid "field `%D' has incomplete type"
msgstr "el campo `%D' tiene tipo de dato incompleto"
-#: cp/decl.c:11636
+#: cp/decl.c:12042
msgid "name `%T' has incomplete type"
msgstr "el nombre `%T' tiene tipo de dato incompleto"
-#: cp/decl.c:11645
+#: cp/decl.c:12051
msgid " in instantiation of template `%T'"
msgstr " en la instanciación de la plantilla `%T'"
-#: cp/decl.c:11655
+#: cp/decl.c:12061
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr "`%s' no es ni función ni función miembro; no puede ser declarado friend"
-#: cp/decl.c:11666
+#: cp/decl.c:12072
msgid "member functions are implicitly friends of their class"
msgstr "las funciones miembros son implícitamente friends de su clase"
@@ -14656,94 +15229,99 @@ msgstr "las funciones miembros son implícitamente friends de su clase"
#. 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:11713
+#: cp/decl.c:12119
msgid "ISO C++ forbids initialization of member `%D'"
-msgstr "ISO C++ prohibe la iniciación del miembro `%D'"
+msgstr "ISO C++ prohibe la inicialización del miembro `%D'"
-#: cp/decl.c:11715
+#: cp/decl.c:12121
msgid "making `%D' static"
msgstr "haciendo a `%D' static"
-#: cp/decl.c:11739
+#: cp/decl.c:12145
msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
msgstr "ISO C++ prohibe que el miembro de datos static `%D' tenga el mismo nombre que la clase que lo contiene"
-#: cp/decl.c:11780
+#: cp/decl.c:12186
#, c-format
msgid "storage class `auto' invalid for function `%s'"
-msgstr "clase de almacenamiento `auto' inválida para la función `%s'"
+msgstr "la clase de almacenamiento `auto' es inválida para la función `%s'"
-#: cp/decl.c:11782
+#: cp/decl.c:12188
#, c-format
msgid "storage class `register' invalid for function `%s'"
-msgstr "clase de almacenamiento `register' inválida para la función `%s'"
+msgstr "la clase de almacenamiento `register' es inválida para la función `%s'"
-#: cp/decl.c:11793
+#: cp/decl.c:12190
+#, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "la clase de almacenamiento `__thread' es inválida para la función `%s'"
+
+#: cp/decl.c:12201
#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr "la clase de almacenamiento `static' es inválida para la función `%s' declarada fuera del ámbito global"
-#: cp/decl.c:11795
+#: cp/decl.c:12203
#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr "la clase de almacenamiento `inline' es inválida para la función `%s' declarada fuera del ámbito global"
-#: cp/decl.c:11802
+#: cp/decl.c:12210
#, c-format
msgid "virtual non-class function `%s'"
msgstr "la función virtual `%s' no es clase"
-#: cp/decl.c:11831
+#: cp/decl.c:12239
msgid "cannot declare member function `%D' to have static linkage"
msgstr "no se puede declarar que la función miembro `%D' tenga enlazado estático"
#. FIXME need arm citation
-#: cp/decl.c:11837
+#: cp/decl.c:12245
msgid "cannot declare static function inside another function"
msgstr "no se puede declarar una función static dentro de otra función"
-#: cp/decl.c:11865
+#: cp/decl.c:12273
msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr "`static' puede no ser utilizado cuando se define (opuesto a la declaración) un dato miembro static"
-#: cp/decl.c:11871
+#: cp/decl.c:12279
msgid "static member `%D' declared `register'"
msgstr "se declaró el miembro static `%D' como `register'"
-#: cp/decl.c:11876
+#: cp/decl.c:12284
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr "no se puede declarar explícitamente que el miembro `%#D' tenga un enlazado externo"
-#: cp/decl.c:12048
+#: cp/decl.c:12459
msgid "default argument for `%#D' has type `%T'"
msgstr "el argumento por omisión de `%#D' tiene tipo `%T'"
-#: cp/decl.c:12051
+#: cp/decl.c:12462
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr "el argumento por omisión para el parámetro del tipo `%T' tiene el tipo `%T'"
-#: cp/decl.c:12068
+#: cp/decl.c:12479
msgid "default argument `%E' uses local variable `%D'"
msgstr "el argumento por omisión `%E' usa la variable local `%D'"
-#: cp/decl.c:12113
+#: cp/decl.c:12524
#, c-format
msgid "invalid string constant `%E'"
msgstr "constante de cadena inválida `%E'"
-#: cp/decl.c:12115
+#: cp/decl.c:12526
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr "constante entera inválida en la lista de parámetros, ¿olvidó proporcionar nombre(s) de parámetro(s)?"
-#: cp/decl.c:12153
+#: cp/decl.c:12564
msgid "parameter `%D' invalidly declared method type"
msgstr "el parámetro `%D' se declaró inválidamente como tipo de método"
-#: cp/decl.c:12159
+#: cp/decl.c:12570
msgid "parameter `%D' invalidly declared offset type"
msgstr "el parámetro `%D' se declaró inválidamente como tipo de desplazamiento"
-#: cp/decl.c:12183
+#: cp/decl.c:12594
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr "el parámetro `%D' incluye %s para la matriz `%T' de límite desconocido"
@@ -14762,694 +15340,675 @@ msgstr "el parámetro `%D' incluye %s para la matriz `%T' de límite desconocido"
#. 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:12350
+#: cp/decl.c:12756
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr "constructor inválido; tal vez quiso decir `%T (const %T&)'"
-#: cp/decl.c:12501
+#: cp/decl.c:12907
msgid "`%D' must be a nonstatic member function"
msgstr "`%D' debe ser una función miembro que no sea static"
-#: cp/decl.c:12507
+#: cp/decl.c:12913
msgid "`%D' must be either a non-static member function or a non-member function"
msgstr "`%D' debe ser una función miembro no estático o una función no miembro"
-#: cp/decl.c:12524
+#: cp/decl.c:12930
msgid "`%D' must have an argument of class or enumerated type"
msgstr "`%D' debe tener un argumento de tipo clase o enumerado"
-#: cp/decl.c:12556
+#: cp/decl.c:12962
#, c-format
msgid "conversion to %s%s will never use a type conversion operator"
msgstr "la conversión a %s%s nunca usará un operador de conversión de tipo"
#. 13.4.0.3
-#: cp/decl.c:12563
+#: cp/decl.c:12969
msgid "ISO C++ prohibits overloading operator ?:"
msgstr "ISO C++ prohibe la sobrecarga del operador ?:"
-#: cp/decl.c:12613
+#: cp/decl.c:13019
msgid "postfix `%D' must take `int' as its argument"
msgstr "el postfijo `%D' debe tomar `int' como su argumento"
-#: cp/decl.c:12617
+#: cp/decl.c:13023
msgid "postfix `%D' must take `int' as its second argument"
msgstr "el postfijo `%D' debe tomar `int' como su segundo argumento"
-#: cp/decl.c:12624
+#: cp/decl.c:13030
msgid "`%D' must take either zero or one argument"
msgstr "`%D' debe tomar cero o un argumentos"
-#: cp/decl.c:12626
+#: cp/decl.c:13032
msgid "`%D' must take either one or two arguments"
msgstr "`%D' debe tomar uno o dos argumentos"
-#: cp/decl.c:12647
+#: cp/decl.c:13053
msgid "prefix `%D' should return `%T'"
msgstr "el prefijo `%D' debe regresar `%T'"
-#: cp/decl.c:12653
+#: cp/decl.c:13059
msgid "postfix `%D' should return `%T'"
msgstr "el postfijo `%D' debe regresar `%T'"
-#: cp/decl.c:12662
+#: cp/decl.c:13068
msgid "`%D' must take `void'"
msgstr "`%D' debe tomar `void'"
-#: cp/decl.c:12664 cp/decl.c:12672
+#: cp/decl.c:13070 cp/decl.c:13078
msgid "`%D' must take exactly one argument"
msgstr "`%D' debe tomar cero o un argumentos exactamente"
-#: cp/decl.c:12674
+#: cp/decl.c:13080
msgid "`%D' must take exactly two arguments"
msgstr "`%s' debe tomar cero o dos argumentos exactamente"
-#: cp/decl.c:12682
+#: cp/decl.c:13088
msgid "user-defined `%D' always evaluates both arguments"
msgstr "el `%D' definido por el usuario siempre evalúa ambos argumentos"
-#: cp/decl.c:12694
+#: cp/decl.c:13102
msgid "`%D' should return by value"
msgstr "`%D' debe regresar por valor"
-#: cp/decl.c:12706 cp/decl.c:12709
+#: cp/decl.c:13114 cp/decl.c:13117
msgid "`%D' cannot have default arguments"
msgstr "`%D' no puede tener argumentos por omisión"
-#: cp/decl.c:12800
-msgid "`%s %T' declares a new type at namespace scope"
-msgstr "`%s %T' declara un tipo nuevo en el ámbito del nombre de espacio"
-
-#: cp/decl.c:12803
-msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
-msgstr " los nombres de las clases bases dependientes no son visibles para la búsqueda de nombres sin calificar - para referirse al tipo heredado, utilice `%s %T::%T'"
-
-#: cp/decl.c:12841
+#: cp/decl.c:13160
msgid "using typedef-name `%D' after `%s'"
msgstr " usando el nombre de definición de tipo `%D' después de `%s'"
-#: cp/decl.c:12846
+#: cp/decl.c:13166
msgid "using template type parameter `%T' after `%s'"
msgstr "usando el parámetro de tipo plantilla `%T' después de `%s'"
-#: cp/decl.c:12926
+#: cp/decl.c:13227
+msgid "`%s %T' declares a new type at namespace scope"
+msgstr "`%s %T' declara un tipo nuevo en el ámbito del nombre de espacio"
+
+#: cp/decl.c:13230
+msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
+msgstr " los nombres de las clases bases dependientes no son visibles para la búsqueda de nombres sin calificar - para referirse al tipo heredado, utilice `%s %T::%T'"
+
+#: cp/decl.c:13348
msgid "use of enum `%#D' without previous declaration"
msgstr "uso del enum `%#D' sin declaración previa"
-#: cp/decl.c:13024
+#: cp/decl.c:13434
msgid "derived union `%T' invalid"
msgstr "union derivada `%T' inválida"
-#: cp/decl.c:13068
+#: cp/decl.c:13480
msgid "base type `%T' fails to be a struct or class type"
msgstr "el tipo base `%T' falla en ser un tipo struct o clase"
-#: cp/decl.c:13078
+#: cp/decl.c:13490
msgid "base class `%T' has incomplete type"
msgstr "la clase base `%T' tiene tipo de dato incompleto"
-#: cp/decl.c:13086
+#: cp/decl.c:13498
msgid "recursive type `%T' undefined"
msgstr "tipo recursivo `%T' sin definir"
-#: cp/decl.c:13088
+#: cp/decl.c:13500
msgid "duplicate base type `%T' invalid"
msgstr "tipo base duplicado `%T' inválido"
-#: cp/decl.c:13199
+#: cp/decl.c:13611
msgid "multiple definition of `%#T'"
msgstr "definición múltiple de `%#T'"
-#: cp/decl.c:13200
+#: cp/decl.c:13612
msgid "previous definition here"
msgstr "definición previa aquí"
-#: cp/decl.c:13371
+#: cp/decl.c:13779
msgid "enumerator value for `%D' not integer constant"
msgstr "el valor de enumerador para `%D' no es una constante entera"
-#: cp/decl.c:13391
+#: cp/decl.c:13799
msgid "overflow in enumeration values at `%D'"
msgstr "desbordamiento en valores de enumeración en `%D'"
-#: cp/decl.c:13477
+#: cp/decl.c:13868
msgid "return type `%#T' is incomplete"
msgstr "el tipo de devolución `%#T' es un tipo de dato incompleto"
-#: cp/decl.c:13593
+#: cp/decl.c:13982
msgid "semicolon missing after declaration of `%#T'"
msgstr "falta punto y coma después de la declaración de `%#T'"
-#: cp/decl.c:13614
+#: cp/decl.c:14003
msgid "return type for `main' changed to `int'"
msgstr "el tipo de devolución para `main' cambió a `int'"
-#: cp/decl.c:13645
+#: cp/decl.c:14034
msgid "`%D' implicitly declared before its definition"
msgstr "`%D' declarado implícitamente antes de su definición"
-#: cp/decl.c:13667 cp/typeck.c:6530
+#: cp/decl.c:14056 cp/typeck.c:6258
msgid "`operator=' should return a reference to `*this'"
msgstr "`operator=' debe devolver una referencia a `*this'"
-#: cp/decl.c:13931
+#: cp/decl.c:14316
msgid "parameter `%D' declared void"
msgstr "el parámetro `%D' se declaró void"
-#: cp/decl.c:14408
+#: cp/decl.c:14804
msgid "`%D' is already defined in class `%T'"
-msgstr "`%D' ya se ha definido en la clase `%T'"
+msgstr "`%D' ya se definió en la clase `%T'"
-#: cp/decl.c:14625
+#: cp/decl.c:15022
msgid "static member function `%#D' declared with type qualifiers"
msgstr "la función miembro static `%#D' es declarada con calificadores de tipo"
-#: cp/decl2.c:529
-#, c-format
-msgid "-f%s is no longer supported"
-msgstr "-f%s ya no tiene soporte"
-
-#: cp/decl2.c:535
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr "se renombró -fhandle-exceptions a -fexceptions (y ahora está activado por omisión)"
-
-#: cp/decl2.c:561
-msgid "-fname-mangling-version is no longer supported"
-msgstr "-fname-mangling-version ya no tiene soporte"
-
-#: cp/decl2.c:624
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "-Wno-strict-prototypes no tiene soporte en C++"
-
-#: cp/decl2.c:761
+#: cp/decl2.c:153
#, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr "calificadores de tipo duplicados en la declaración %s"
-#: cp/decl2.c:800
+#: cp/decl2.c:192
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr "se instanció la plantilla `%#D' en el fichero sin #pragma interface"
-#: cp/decl2.c:806
+#: cp/decl2.c:198
msgid "template `%#D' defined in file without #pragma interface"
msgstr "se definió la plantilla `%#D' en el fichero sin #pragma interface"
-#: cp/decl2.c:963
+#: cp/decl2.c:365
msgid "name missing for member function"
msgstr "falta el nombre para la función miembro"
#. Something has gone very wrong. Assume we are mistakenly reducing
#. an expression instead of a declaration.
-#: cp/decl2.c:1026
+#: cp/decl2.c:428
msgid "parser may be lost: is there a '{' missing somewhere?"
-msgstr "el decodificador se ha perdido: ¿falta algún '{' en algún lugar?"
+msgstr "el decodificador tal vez se perdió: ¿falta algún '{' en algún lugar?"
-#: cp/decl2.c:1057 cp/decl2.c:1071
+#: cp/decl2.c:459 cp/decl2.c:473
msgid "ambiguous conversion for array subscript"
msgstr "conversión ambigua para índice de matriz"
-#: cp/decl2.c:1065
+#: cp/decl2.c:467
msgid "invalid types `%T[%T]' for array subscript"
msgstr "tipos inválidos `%T[%T]' para índice de matriz"
-#: cp/decl2.c:1113
+#: cp/decl2.c:515
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr "se dió un argumento de tipo `%#T' a `delete', se esperaba un apuntador"
-#: cp/decl2.c:1121
+#: cp/decl2.c:523
msgid "anachronistic use of array size in vector delete"
msgstr "uso anacrónico del tamaño de la matriz desconocida en vector delete"
-#: cp/decl2.c:1131
+#: cp/decl2.c:533
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
msgstr "no se puede borrar una función. Solamente los apuntadores a objetos son argumentos válidos para `delete'"
-#: cp/decl2.c:1138
+#: cp/decl2.c:540
msgid "deleting `%T' is undefined"
msgstr "el borrar `%T' está indefinido"
-#: cp/decl2.c:1146
+#: cp/decl2.c:548
msgid "deleting array `%#D'"
msgstr "borrando la matriz `%#D'"
#. 14.5.2.2 [temp.mem]
#.
#. A local class shall not have member templates.
-#: cp/decl2.c:1180
+#: cp/decl2.c:582
msgid "invalid declaration of member template `%#D' in local class"
msgstr "declaración inválida de la plantilla miembro `%#D' en la clase local"
-#: cp/decl2.c:1189
+#: cp/decl2.c:591
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr "uso inválido de `virtual' en la declaración de plantilla de `%#D'"
-#: cp/decl2.c:1199 cp/pt.c:2562
+#: cp/decl2.c:601 cp/pt.c:2742
msgid "template declaration of `%#D'"
msgstr "redeclaración en plantilla de `%#D'"
-#: cp/decl2.c:1249
+#: cp/decl2.c:651
msgid "Java method '%D' has non-Java return type `%T'"
msgstr "el método Java `%D' tiene un tipo de devolución `%T' que no es de Java"
-#: cp/decl2.c:1258
+#: cp/decl2.c:660
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr "el método Java `%D' tiene un tipo de parámetro `%T' que no es de Java"
-#: cp/decl2.c:1354
+#: cp/decl2.c:746
msgid "prototype for `%#D' does not match any in class `%T'"
msgstr "el prototipo para `%#D' no coincide con ningún otro en la clase `%T'"
-#: cp/decl2.c:1356
-msgid "candidate%s: %+#D"
-msgstr "candidato%s: %+#D"
-
-#: cp/decl2.c:1359
-msgid " %#D"
-msgstr " %#D"
-
-#: cp/decl2.c:1411
+#: cp/decl2.c:828
msgid "local class `%#T' shall not have static data member `%#D'"
msgstr "la clase local `%#T' no debe tener el miembro static `%#D'"
-#: cp/decl2.c:1419
+#: cp/decl2.c:836
msgid "initializer invalid for static member with constructor"
-msgstr "iniciador inválido para miembro static con constructor"
+msgstr "inicializador inválido para el miembro static con constructor"
-#: cp/decl2.c:1422
+#: cp/decl2.c:839
msgid "(an out of class initialization is required)"
-msgstr "(se requiere un inicio fuera de la clase)"
+msgstr "(se requiere una inicialización fuera de la clase)"
-#: cp/decl2.c:1481
+#: cp/decl2.c:898
msgid "invalid data member initialization"
-msgstr "iniciación del dato miembro inválida"
+msgstr "inicialización del dato miembro inválida"
-#: cp/decl2.c:1484
+#: cp/decl2.c:901
msgid "(use `=' to initialize static data members)"
-msgstr "(use `=' para iniciar datos miembros static)"
+msgstr "(use `=' para inicializar miembros de datos static)"
-#: cp/decl2.c:1524
+#: cp/decl2.c:947
msgid "member `%D' conflicts with virtual function table field name"
msgstr "el miembro `%D' tiene conflictos con el nombre de campo de la tabla de funciones virtuales"
-#: cp/decl2.c:1544
+#: cp/decl2.c:967
msgid "`%D' is already defined in `%T'"
msgstr "`%D' ya está definido en `%T'"
-#: cp/decl2.c:1595
+#: cp/decl2.c:1019
msgid "field initializer is not constant"
-msgstr "iniciador del campo no es constat"
+msgstr "el inicializador del campo no es constante"
-#: cp/decl2.c:1618
+#: cp/decl2.c:1043
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr "no se permiten los especificadores `asm' en miembros de datos no estáticos"
-#: cp/decl2.c:1670
+#: cp/decl2.c:1095
msgid "cannot declare `%D' to be a bit-field type"
msgstr "no se puede declarar `%D' que sea un tipo de campo de bits"
-#: cp/decl2.c:1680
+#: cp/decl2.c:1105
msgid "cannot declare bit-field `%D' with function type"
msgstr "no se puede declarar el campo de bits `%D' con un tipo de función"
-#: cp/decl2.c:1687
+#: cp/decl2.c:1112
msgid "`%D' is already defined in the class %T"
msgstr "`%D' ya está definido en la clase %T"
-#: cp/decl2.c:1694
+#: cp/decl2.c:1119
msgid "static member `%D' cannot be a bit-field"
msgstr "el miembro static `%D' no puede ser un campo de bits"
-#: cp/decl2.c:1763
+#: cp/decl2.c:1206
msgid "initializer specified for non-member function `%D'"
-msgstr "iniciador especificado para la función no-miembro `%D'"
+msgstr "se especificó un inicializador para la función no-miembro `%D'"
-#: cp/decl2.c:1767
+#: cp/decl2.c:1210
msgid "invalid initializer for virtual method `%D'"
-msgstr "iniciador inválido para el método virtual `%D'"
+msgstr "inicializador inválido para el método virtual `%D'"
-#: cp/decl2.c:1871
+#: cp/decl2.c:1324
msgid "anonymous struct not inside named type"
msgstr "struct anónimo no se encuentra dentro de un tipo nombrado"
-#: cp/decl2.c:1967
+#: cp/decl2.c:1420
msgid "namespace-scope anonymous aggregates must be static"
msgstr "los agregados anónimos de alcance de nombre de espacio deben ser static"
-#: cp/decl2.c:1977
+#: cp/decl2.c:1433
msgid "anonymous aggregate with no members"
msgstr "agregado anónimo sin miembros"
-#: cp/decl2.c:2044
+#: cp/decl2.c:1502
msgid "`operator new' must return type `%T'"
msgstr "`operator new' debe devolver el tipo `%T'"
-#: cp/decl2.c:2052
+#: cp/decl2.c:1510
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr "`operator new' toma el tipo `size_t' (`%T') como primer argumento"
-#: cp/decl2.c:2079
+#: cp/decl2.c:1537
msgid "`operator delete' must return type `%T'"
msgstr "`operator delete' debe devolver el tipo `%T'"
-#: cp/decl2.c:2087
+#: cp/decl2.c:1545
msgid "`operator delete' takes type `%T' as first parameter"
msgstr "`operator delete' toma el tipo `%T' como primer argumento"
#. Overflow occurred. That means there are at least 4 billion
#. initialization functions.
-#: cp/decl2.c:2828
+#: cp/decl2.c:2288
msgid "too many initialization functions required"
-msgstr "se requieren demasiados argumentos para el inicio de la función"
+msgstr "se requieren demasiadas funciones de inicialización"
-#: cp/decl2.c:3639
+#: cp/decl2.c:3011
+msgid "inline function `%D' used but never defined"
+msgstr "se usa la función inline `%D' pero nunca se definió"
+
+#: cp/decl2.c:3131
msgid "use of old-style cast"
msgstr "uso de la conversión de estilo antiguo"
-#: cp/decl2.c:4220
+#: cp/decl2.c:3856
msgid "use of `%D' is ambiguous"
msgstr "el uso de `%D' es ambiguo"
-#: cp/decl2.c:4221
+#: cp/decl2.c:3857
msgid " first declared as `%#D' here"
-msgstr " primero declarado como `%#D' aquí"
+msgstr " declarado inicialmente como `%#D' aquí"
-#: cp/decl2.c:4224
+#: cp/decl2.c:3860
msgid " also declared as `%#D' here"
msgstr " también declarado como `%#D' aquí"
-#: cp/decl2.c:4239
+#: cp/decl2.c:3875
msgid "`%D' denotes an ambiguous type"
msgstr "`%D' denota un tipo ambiguo"
-#: cp/decl2.c:4240
+#: cp/decl2.c:3876
msgid " first type here"
msgstr " primer tipo aquí"
-#: cp/decl2.c:4241
+#: cp/decl2.c:3877
msgid " other type here"
msgstr " otro tipo aquí"
-#: cp/decl2.c:4338
+#: cp/decl2.c:3978
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr "la declaración de `%D' no está en un espacio de nombres alrededor de `%D'"
-#: cp/decl2.c:4372
+#: cp/decl2.c:4012
msgid "`%D' should have been declared inside `%D'"
msgstr "`%D' debería ser declarado dentro de `%D'"
-#: cp/decl2.c:4506
+#: cp/decl2.c:4146
msgid "`%D' is not a function,"
msgstr "`%D' no es una función,"
-#: cp/decl2.c:4507
+#: cp/decl2.c:4147
msgid " conflict with `%D'"
msgstr " tiene conflicto con `%D'"
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4821
+#: cp/decl2.c:4467
msgid "unknown namespace `%D'"
msgstr "espacio de nombres `%D' desconocido"
-#: cp/decl2.c:4855 cp/decl2.c:5125
+#: cp/decl2.c:4501 cp/decl2.c:4788
msgid "`%T' is not a namespace"
msgstr "`%T' no es un nombre de espacio"
-#: cp/decl2.c:4857
+#: cp/decl2.c:4503
msgid "`%D' is not a namespace"
msgstr "`%D' no es un nombre de espacio"
-#: cp/decl2.c:4866
+#: cp/decl2.c:4512
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr "una declaración de uso no puede especificar un id de plantilla. Intente `using %D'"
-#: cp/decl2.c:4880
+#: cp/decl2.c:4526
msgid "namespace `%D' not allowed in using-declaration"
msgstr "no se permite el espacio de nombres `%D' en la declaración de uso"
-#: cp/decl2.c:4909
+#: cp/decl2.c:4555
msgid "`%D' not declared"
msgstr "no se declaró `%D'"
-#: cp/decl2.c:4960
+#. If the OLD_FN was really declared, the
+#. declarations don't match.
+#: cp/decl2.c:4567 cp/decl2.c:4609 cp/decl2.c:4634
msgid "`%D' is already declared in this scope"
-msgstr "`%D' ya se ha declarado en este ámbito"
+msgstr "`%D' ya se declaró en este ámbito"
-#: cp/decl2.c:4987
+#: cp/decl2.c:4640
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr "el uso de la declaración `%D' introdujo el tipo ambiguo `%T'"
-#: cp/decl2.c:5078
+#: cp/decl2.c:4734
msgid "using-declaration for non-member at class scope"
msgstr "declaración de uso para un no miembro en el ámbito de la clase"
-#: cp/decl2.c:5084
+#: cp/decl2.c:4740
msgid "using-declaration for destructor"
msgstr "declaración de uso para el destructor"
-#: cp/decl2.c:5090
+#: cp/decl2.c:4746
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr "una declaración de uso no puede especificar un id de plantilla. Intente `using %T::%D'"
-#: cp/decl2.c:5119
+#: cp/decl2.c:4782
msgid "namespace `%T' undeclared"
msgstr "espacio de nombres `%T' sin declarar"
-#: cp/decl2.c:5148
+#: cp/decl2.c:4811
msgid "default argument missing for parameter %P of `%+#D'"
msgstr "falta el argumento por omisión para el parámetro %P de `%+#D'"
-#: cp/decl2.c:5238
+#: cp/decl2.c:4935
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr "se ignora la calificación extra `%T::' en el miembro `%D'"
-#: cp/decl2.c:5242
+#: cp/decl2.c:4939
msgid "`%T' does not have a class or union named `%D'"
msgstr "`%T' no tiene una clase o union llamado `%D'"
-#: cp/decl2.c:5255
+#: cp/decl2.c:4957
msgid "`%T' is not a class or union type"
msgstr "`%T' no es una clase o tipo union"
+#: cp/decl2.c:4971
+msgid "template argument is required for `%T'"
+msgstr "se requiere un argumento de plantilla para `%T'"
+
+#: cp/decl2.c:4989
+msgid "declaration of `%D' in `%D' which does not enclose `%D'"
+msgstr "la declaración de `%D' en `%D' la cual no incluye a `%D'"
+
#: cp/error.c:35
#, c-format
msgid "`%s' not supported by %s"
msgstr "`%s' no tiene soporte para %s"
-#: cp/error.c:577
+#: cp/error.c:571
#, c-format
msgid "<anonymous %s>"
msgstr "<%s anónimo>"
-#: cp/error.c:814
+#: cp/error.c:810
#, c-format
msgid "(static %s for %s)"
msgstr "(% static para %s)"
-#: cp/error.c:2438
+#: cp/error.c:1503
+#, c-format
+msgid "\\x%x"
+msgstr "\\x%x"
+
+#: cp/error.c:2463
#, c-format
msgid "In %s `%s':"
msgstr "En %s `%s':"
-#: cp/error.c:2493
+#: cp/error.c:2520
#, c-format
msgid "%s: In instantiation of `%s':\n"
msgstr "%s: En la instanciación de `%s':\n"
-#: cp/error.c:2517
+#: cp/error.c:2544
#, c-format
msgid "%s:%d: instantiated from `%s'\n"
msgstr "%s:%d: instanciado desde `%s'\n"
-#: cp/error.c:2522
+#: cp/error.c:2549
#, c-format
msgid "%s:%d: instantiated from here\n"
msgstr "%s:%d: instanciado desde aquí\n"
#. damn ICE suppression
-#: cp/error.c:2675
+#: cp/error.c:2703
#, c-format
msgid "unexpected letter `%c' in locate_error\n"
msgstr "letra `%c' inesperada en locate_error\n"
#. Can't throw a reference.
-#: cp/except.c:245
+#: cp/except.c:240
msgid "type `%T' is disallowed in Java `throw' or `catch'"
msgstr "el tipo `%T' no está permitido en `throw' o `catch' de Java"
-#: cp/except.c:256
+#: cp/except.c:251
msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
msgstr "llamada a `catch' ó `throw' de Java con `jthrowable' sin definir"
#. 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 "el tipo `%T' no es derivado de `java::lang::Throwable'"
-#: cp/except.c:327
+#: cp/except.c:322
msgid "mixing C++ and Java catches in a single translation unit"
msgstr "mezclando `catch'es de C++ y Java en una sola unidad de traducción"
-#: cp/except.c:558
+#: cp/except.c:639
msgid "throwing NULL, which has integral, not pointer type"
msgstr "arrojando NULL, que tiene un tipo integral, no apuntador"
-#: cp/except.c:663
+#: cp/except.c:730
msgid " in thrown expression"
msgstr " en expresión thrown"
-#: cp/except.c:775
+#: cp/except.c:856
msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr "no se puede usar la expresión '%E' del tipo de clase abstracta '%T' en las expresiones thrown"
-#: cp/except.c:863
+#: cp/except.c:944
msgid "exception of type `%T' will be caught"
msgstr "la excepción del tipo `%T' será atrapada"
-#: cp/except.c:866
+#: cp/except.c:947
msgid " by earlier handler for `%T'"
msgstr " por un manejador anterior para `%T'"
-#: cp/except.c:887
+#: cp/except.c:968
msgid "`...' handler must be the last handler for its try block"
msgstr "el manejador `...' debe ser el último manejador para su bloque try"
-#: cp/friend.c:155
+#: cp/friend.c:159
msgid "`%D' is already a friend of class `%T'"
msgstr "`%D' ya es un friend de la clase `%T'"
-#: cp/friend.c:157
+#: cp/friend.c:161
msgid "previous friend declaration of `%D'"
msgstr "declaración friend previa de `%D'"
-#: cp/friend.c:197
+#: cp/friend.c:206
msgid "invalid type `%T' declared `friend'"
msgstr "el tipo inválido `%T' fue declarado `friend'"
#. [temp.friend]
-#.
#. Friend declarations shall not declare partial
#. specializations.
-#: cp/friend.c:209
+#: cp/friend.c:222
msgid "partial specialization `%T' declared `friend'"
msgstr "la especialización parcial `%T' se declaró `friend'"
-#: cp/friend.c:221
+#: cp/friend.c:231
msgid "class `%T' is implicitly friends with itself"
msgstr "la clase `%T' es implícitamente friend con sí misma"
#. template <class T> friend typename S<T>::X;
-#: cp/friend.c:239
+#: cp/friend.c:249
msgid "typename type `%#T' declared `friend'"
msgstr "el tipo de nombre de tipo `%#T' se declaró `friend'"
#. template <class T> friend class T;
-#: cp/friend.c:245
+#: cp/friend.c:255
msgid "template parameter type `%T' declared `friend'"
msgstr "el tipo de parámetro de plantilla `%T' se declaró `friend'"
#. template <class T> friend class A; where A is not a template
-#: cp/friend.c:251
+#: cp/friend.c:261
msgid "`%#T' is not a template"
msgstr "`%#T' no es una plantilla"
-#: cp/friend.c:266
+#: cp/friend.c:276
msgid "`%T' is already a friend of `%T'"
msgstr "`%T' ya es un friend de `%T'"
-#: cp/friend.c:362
+#: cp/friend.c:374
msgid "member `%D' declared as friend before type `%T' defined"
msgstr "el miembro `%D' es declarado friend antes que se defina el tipo `%T'"
-#: cp/friend.c:417
+#: cp/friend.c:429
msgid "friend declaration `%#D' declares a non-template function"
msgstr "la declaración friend `%#D' declara una función que no es plantilla"
-#: cp/friend.c:420
+#: cp/friend.c:432
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 "(si esta no es su intención, asegúrese que la plantilla de la función ya ha sido declarada y agregue <> aquí después del nombre de la función) -Wno-non-template-friend desactiva este aviso"
-#: cp/g++spec.c:198 java/jvspec.c:424
+#: cp/g++spec.c:211 java/jvspec.c:423
#, c-format
msgid "argument to `%s' missing\n"
msgstr "falta el argumento para `%s'\n"
-#: cp/init.c:285
+#: cp/init.c:328
+msgid "`%D' should be initialized in the member initialization list"
+msgstr "`%D' se debe inicializar en la lista de inicialización de miembros"
+
+#: cp/init.c:378
msgid "default-initialization of `%#D', which has reference type"
-msgstr "la iniciación por omisión de `%#D', el cual tiene el tipo de referencia"
+msgstr "la inicialización por omisión de `%#D', el cual tiene el tipo de referencia"
-#: cp/init.c:290
+#: cp/init.c:383
msgid "uninitialized reference member `%D'"
-msgstr "referencia del miembro `%D' sin iniciar"
+msgstr "miembro referencia `%D' sin inicializar"
-#: cp/init.c:298
+#: cp/init.c:391
msgid "initializer list treated as compound expression"
-msgstr "la lista de iniciadores tratada como una expresión compuesta"
-
-#: cp/init.c:410
-msgid "member initializers for `%#D'"
-msgstr "iniciadores miembro para `%#D'"
+msgstr "la lista de inicializadores se trata como una expresión compuesta"
-#: cp/init.c:412
-msgid " and `%#D'"
-msgstr " y `%#D'"
+#: cp/init.c:532
+msgid "`%D' will be initialized after"
+msgstr "`%D' se inicializará después de"
-#: cp/init.c:413
-msgid " will be re-ordered to match declaration order"
-msgstr " se reordenará para coincidir con el orden de la declaración"
+#: cp/init.c:535
+msgid "base `%T' will be initialized after"
+msgstr "la base `%T' se inicializará después de"
-#: cp/init.c:428
-msgid "multiple initializations given for member `%D'"
-msgstr "se dieron iniciaciones múltiples para el miembro `%D'"
+#: cp/init.c:538
+msgid " `%#D'"
+msgstr " `%#D'"
-#: cp/init.c:500
-msgid "initializations for multiple members of `%T'"
-msgstr "iniciaciones para múltiples miembros de `%T'"
-
-#: cp/init.c:617
-msgid "base initializers for `%#T'"
-msgstr "iniciadores base para `%#T'"
-
-#: cp/init.c:618
-msgid " and `%#T'"
-msgstr " y `%#T'"
+#: cp/init.c:540
+msgid " base `%T'"
+msgstr " base `%T'"
-#: cp/init.c:619
-msgid " will be re-ordered to match inheritance order"
-msgstr " se reordenará para coincidir con el orden de herencia"
+#: cp/init.c:558
+msgid "multiple initializations given for base `%T'"
+msgstr "se dieron inicializaciones múltiples para la base `%T'"
-#: cp/init.c:631
-msgid "base class `%T' already initialized"
-msgstr "la clase base `%T' ya se ha iniciado"
+#: cp/init.c:625
+msgid "initializations for multiple members of `%T'"
+msgstr "inicializaciones para múltiples miembros de `%T'"
-#: cp/init.c:702
+#: cp/init.c:682
msgid "base class `%#T' should be explicitly initialized in the copy constructor"
-msgstr "la clase base `%#T' debe ser iniciada explícitamente en la copia del constructor"
+msgstr "la clase base `%#T' debe ser inicializada explícitamente en la copia del constructor"
-#: cp/init.c:745
-msgid "`%D' should be initialized in the member initialization list"
-msgstr "`%D' debe ser iniciado explícitamente en la lista de iniciación de miembros"
-
-#: cp/init.c:987
+#: cp/init.c:928
msgid "class `%T' does not have any field named `%D'"
msgstr "la clase `%T' no tiene ningún campo llamado `%D'"
-#: cp/init.c:993
+#: cp/init.c:934
msgid "field `%#D' is static; the only point of initialization is its definition"
-msgstr "el campo `%#D' es static; el único punto de iniciación es su definición"
+msgstr "el campo `%#D' es static; el único punto de inicialización es su definición"
-#: cp/init.c:1032
+#: cp/init.c:967
msgid "unnamed initializer for `%T', which has no base classes"
-msgstr "iniciador sin nombre para `%T', el cual no tiene una clase base"
+msgstr "inicializador sin nombre para `%T', el cual no tiene una clase base"
-#: cp/init.c:1039
+#: cp/init.c:974
msgid "unnamed initializer for `%T', which uses multiple inheritance"
-msgstr "iniciador sin nombre para `%T', el cual usa herencia múltiple"
+msgstr "inicializador sin nombre para `%T', el cual usa herencia múltiple"
-#: cp/init.c:1068
+#: cp/init.c:1009
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr "el tipo `%D' no es una base directa o virtual de `%T'"
-#: cp/init.c:1071
+#: cp/init.c:1012
msgid "type `%D' is not a direct base of `%T'"
msgstr "el tipo `%D' no es una base directa de `%T'"
@@ -15465,551 +16024,527 @@ msgstr "el tipo `%D' no es una base directa de `%T'"
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1165
+#: cp/init.c:1106
msgid "bad array initializer"
-msgstr "iniciador de matriz erróneo"
+msgstr "inicializador de matriz erróneo"
-#: cp/init.c:1357
+#: cp/init.c:1313
msgid "`%T' is not an aggregate type"
msgstr "`%T' no es un tipo agregado"
-#: cp/init.c:1380
+#: cp/init.c:1336
msgid "`%T' fails to be an aggregate typedef"
msgstr "`%T' falla en ser un tipo agregado"
-#: cp/init.c:1389
+#: cp/init.c:1345
msgid "type `%T' is of non-aggregate type"
msgstr "el tipo `%T' es de un tipo no agregado"
-#: cp/init.c:1491
+#: cp/init.c:1448
msgid "cannot call destructor `%T::~%T' without object"
msgstr "no se puede llamar al destructor `%T::~%T' sin un objeto"
-#: cp/init.c:1531
+#: cp/init.c:1492
msgid "invalid use of non-static field `%D'"
msgstr "uso inválido del campo no static `%D'"
#. We can get here when processing a bad default
#. argument, like:
#. struct S { int a; void f(int i = a); }
-#: cp/init.c:1540 cp/method.c:163
+#: cp/init.c:1501 cp/method.c:160
msgid "invalid use of member `%D'"
msgstr "uso inválido del miembro `%D'"
-#: cp/init.c:1550
+#: cp/init.c:1511
msgid "no method `%T::%D'"
msgstr "no hay un método `%T::%D'"
-#: cp/init.c:1643
+#: cp/init.c:1604
msgid "incomplete type `%T' does not have member `%D'"
msgstr "el tipo incompleto `%T' no tiene al miembro `%D'"
-#: cp/init.c:1712
+#: cp/init.c:1678
msgid "`%D' is not a member of type `%T'"
msgstr "`%D' no es un miembro de tipo `%T'"
-#: cp/init.c:1731
-msgid "illegal pointer to bit-field `%D'"
-msgstr "apuntador ilegal al campo de bit `%D'"
+#: cp/init.c:1697
+msgid "invalid pointer to bit-field `%D'"
+msgstr "apuntador inválido al campo de bit `%D'"
-#: cp/init.c:1770
+#: cp/init.c:1736
msgid "object missing in use of pointer-to-member construct"
msgstr "falta objeto en el uso de una consctrucción que apunta a miembros"
-#: cp/init.c:1810
+#: cp/init.c:1776
msgid "member `%D' is non-static but referenced as a static member"
msgstr "el miembro `%D' no es static pero es referenciado como un miembro static"
-#: cp/init.c:1812 cp/typeck.c:3130 cp/typeck.c:3238
+#: cp/init.c:1778 cp/typeck.c:2823 cp/typeck.c:2927
msgid "at this point in file"
msgstr "en este punto en el fichero"
-#: cp/init.c:1853 cp/typeck.c:2929
+#: cp/init.c:1815
#, c-format
msgid "object missing in `%E'"
msgstr "falta un objeto en `%E'"
-#: cp/init.c:1984
+#: cp/init.c:1946
msgid "new of array type fails to specify size"
msgstr "new de matriz falla al especificar el tamaño"
-#: cp/init.c:1995
+#: cp/init.c:1957
msgid "size in array new must have integral type"
msgstr "el tamaño de la matriz nueva debe tener un tipo integral"
-#: cp/init.c:2001
+#: cp/init.c:1963
msgid "zero size array reserves no space"
msgstr "la matriz de tamaño cero no reserva espacio"
-#: cp/init.c:2066
+#: cp/init.c:2028
msgid "new cannot be applied to a reference type"
msgstr "new no puede ser aplicado a un tipo de referencia"
-#: cp/init.c:2072
+#: cp/init.c:2034
msgid "new cannot be applied to a function type"
msgstr "new no puede ser aplicado a un tipo de referencia"
-#: cp/init.c:2119
+#: cp/init.c:2081
msgid "call to Java constructor, while `jclass' undefined"
msgstr "llamado a constructor Java, mientras `jclass' está indefinido"
-#: cp/init.c:2135
+#: cp/init.c:2097
msgid "can't find class$"
msgstr "no se puede encontrar class$"
-#: cp/init.c:2249
+#: cp/init.c:2211
msgid "invalid type `void' for new"
msgstr "tipo `void' inválido para new"
-#: cp/init.c:2301
+#: cp/init.c:2263
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr "llamado a constructor Java con `%s' sin definir"
-#: cp/init.c:2408
+#: cp/init.c:2371
msgid "ISO C++ forbids initialization in array new"
-msgstr "ISO C++ prohibe la iniciación en la matriz new"
+msgstr "ISO C++ prohibe la inicialización en la matriz new"
-#: cp/init.c:2426 cp/typeck2.c:359 cp/typeck2.c:1217
+#: cp/init.c:2393 cp/typeck2.c:366 cp/typeck2.c:1207
msgid "initializer list being treated as compound expression"
-msgstr "se trata la lista de iniciadores como una expresión compuesta"
+msgstr "se trata la lista de inicializadores como una expresión compuesta"
-#: cp/init.c:2432
+#: cp/init.c:2399
msgid "ISO C++ forbids aggregate initializer to new"
-msgstr "ISO C++ prohibe un iniciador agregado para new"
+msgstr "ISO C++ prohibe un inicializador agregado para new"
-#: cp/init.c:2516
+#: cp/init.c:2487
msgid "uninitialized const in `new' of `%#T'"
-msgstr "const sin iniciar en `new' de `%#T'"
+msgstr "const sin inicializar en `new' de `%#T'"
-#: cp/init.c:2880
+#: cp/init.c:2862
msgid "initializer ends prematurely"
-msgstr "el iniciador termina prematuramente"
+msgstr "el inicializador termina prematuramente"
-#: cp/init.c:2950
+#: cp/init.c:2932
msgid "cannot initialize multi-dimensional array with initializer"
-msgstr "no se pueden asignar valores iniciales a matrices multidimensionales con el iniciador"
+msgstr "no se pueden inicializar matrices multidimensionales con el inicializador"
-#: cp/init.c:3125
+#: cp/init.c:3122
msgid "unknown array size in delete"
msgstr "tamaño de matriz desconocida en delete"
-#: cp/init.c:3398
+#: cp/init.c:3387
msgid "type to vector delete is neither pointer or array type"
msgstr "el tipo de vector delete no es del tipo apuntador ni matriz"
-#: cp/lex.c:144
+#: cp/lex.c:136
msgid "type name expected before `*'"
msgstr "se esperaba nombre de tipo antes de `*'"
-#: cp/lex.c:166
+#: cp/lex.c:158
msgid "cannot declare references to references"
msgstr "no se pueden declarar referencias a referencias"
-#: cp/lex.c:171
+#: cp/lex.c:163
msgid "cannot declare pointers to references"
msgstr "no se pueden declarar apuntadores a referencias"
-#: cp/lex.c:175
+#: cp/lex.c:167
msgid "type name expected before `&'"
msgstr "se esperaba nombre de tipo antes de `&'"
-#: cp/lex.c:993
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
msgstr "falta punto y coma después de la declaración %s"
-#: cp/lex.c:996
+#: cp/lex.c:897
msgid "semicolon missing after declaration of `%T'"
msgstr "falta punto y coma después de la declaración de `%T'"
-#: cp/lex.c:1044
+#: cp/lex.c:945
#, c-format
msgid "junk at end of #pragma %s"
msgstr "basura al final de #pragma %s"
-#: cp/lex.c:1051
+#: cp/lex.c:952
#, c-format
msgid "invalid #pragma %s"
msgstr "#pragma %s inválida"
-#: cp/lex.c:1060
+#: cp/lex.c:961
msgid "#pragma vtable no longer supported"
msgstr "#pragma vtable ya no tiene soporte"
-#: cp/lex.c:1137
+#: cp/lex.c:1038
#, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr "implementación de #pragma para %s aparece después de que el fichero es incluído"
-#: cp/lex.c:1162
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
msgstr "basura al final del #pragma GCC java_exceptions"
-#: cp/lex.c:1247
+#: cp/lex.c:1107
msgid "`%D' not defined"
msgstr "`%D' no está definido"
-#: cp/lex.c:1252
+#: cp/lex.c:1110
msgid "`%D' was not declared in this scope"
-msgstr "`%D' no fue declarado en este ámbito"
+msgstr "`%D' no se declaró en este ámbito"
-#: cp/lex.c:1262
+#: cp/lex.c:1118
msgid "`%D' undeclared (first use this function)"
-msgstr "`%D' sin declarar (primero use esta función)"
+msgstr "`%D' sin declarar (primer uso en esta función)"
-#: cp/lex.c:1266
+#: cp/lex.c:1122
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr "(Cada identificador sin declarar es reportado sólo una vez para cada función en el que aparece.)"
-#: cp/lex.c:1289
-#, c-format
-msgid "name lookup of `%s' changed"
-msgstr "la búsqueda de nombre de `%s' cambió"
-
-#: cp/lex.c:1291
-msgid " matches this `%D' under ISO standard rules"
-msgstr " coincide con este `%D' bajo las reglas de ISO estándard"
-
-#: cp/lex.c:1293
-msgid " matches this `%D' under old rules"
-msgstr " coincide con este `%D' bajo las reglas antiguas"
-
-#: cp/lex.c:1303 cp/lex.c:1310
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr "la búsqueda de nombre de `%s' cambió por el nuevo alcance ISO de `for'"
-
-#: cp/lex.c:1305
-msgid " cannot use obsolete binding at `%D' because it has a destructor"
-msgstr " no se puede usar la asignación obsoleta en `%D' porque tiene un destructor"
-
-#: cp/lex.c:1312
-msgid " using obsolete binding at `%D'"
-msgstr " usando la asignación obsoleta en `%D'"
-
-#: cp/lex.c:1378
+#: cp/lex.c:1242
msgid "`::%D' undeclared (first use here)"
msgstr "`::%D' sin declarar (primer uso aquí)"
-#: cp/mangle.c:1912
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
msgstr "parámetros de una plantilla con valores reales cuando se hizo una compilación cruzada"
-#: cp/method.c:157
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
+msgstr "el nombre revuelto de `%D' cambiará en una versión futura de GCC"
+
+#: cp/mangle.c:2617
+msgid "due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name to two different types"
+msgstr "debido a un defecto en el ABI de G++ 3.2, G++ asignó el misno nombre revuelto a dos tipos diferentes"
+
+#: cp/method.c:154
msgid "invalid use of member `%D' in static member function"
msgstr "uso inválido del miembro `%D' en la función miembro static"
-#: cp/method.c:205
+#: cp/method.c:216
msgid "use of namespace `%D' as expression"
msgstr "uso del espacio de nombres `%D' como una expresión"
-#: cp/method.c:210
+#: cp/method.c:221
msgid "use of class template `%T' as expression"
msgstr "uso de la plantilla de clase `%T' como una expresión"
-#: cp/method.c:223
+#: cp/method.c:234
#, c-format
msgid "use of %s from containing function"
msgstr "uso de %s desde una función contenedora"
-#: cp/method.c:226
+#: cp/method.c:237
msgid " `%#D' declared here"
msgstr " `%#D' declarado aquí"
-#: cp/method.c:244
+#: cp/method.c:255
msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr "la petición por el miembro `%D' es ambigua en la red de herencia múltiple"
-#: cp/method.c:297
-msgid "implementation-reserved name `%D' used"
-msgstr "se usó el nombre `%D' reservado para la implementación"
-
-#: cp/method.c:428
+#: cp/method.c:458
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr "el código de thunk genérico falló para el método `%#D' que utiliza `...'"
-#: cp/method.c:653
+#: cp/method.c:697
msgid "non-static const member `%#D', can't use default assignment operator"
msgstr "el miembro const `%#D' que no es static, no puede usar el operador de asignación por omisión"
-#: cp/method.c:658
+#: cp/method.c:702
msgid "non-static reference member `%#D', can't use default assignment operator"
msgstr "el miembro de referencia `%#D' que no es static, no puede usar el operador de asignación por omisión"
-#: parse.y:218
+#: parse.y:261
msgid "`%s' tag used in naming `%#T'"
msgstr "se usó la marca `%s' al nombrar a`%#T'"
-#: parse.y:510
+#: parse.y:541
msgid "keyword `export' not implemented, and will be ignored"
msgstr "la palabra clave `export' no está implementada, y será ignorada"
-#: parse.y:615
+#: parse.y:645
msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr "el uso de la especificación de enlazado `%D' es diferente de la especificación previa `%D'"
-#: parse.y:688
-msgid "invalid default template argument"
-msgstr "argumento de la plantilla por omisión inválido"
-
-#: parse.y:919
-msgid "only constructors take base initializers"
-msgstr "solamente los constructores toman iniciadores base"
-
-#: parse.y:921
+#: parse.y:942
msgid "no base or member initializers given following ':'"
-msgstr "no hay iniciadores de base o miembros dados después de ':'"
+msgstr "no hay inicializadores de base o miembros dados después de ':'"
-#: parse.y:963 parse.y:969
+#: parse.y:983
msgid "anachronistic old style base class initializer"
-msgstr "iniciador de clase base de estilo antiguo anacrónico"
+msgstr "inicializador de clase base de estilo antiguo anacrónico"
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1095
+#: parse.y:1116
msgid "`>>' should be `> >' in template class name"
msgstr "`>>' debe ser `> >' en el nombre de clase de la plantilla"
-#: parse.y:1133
+#: parse.y:1154
msgid "use of template qualifier outside template"
msgstr "uso del calificador de plantilla fuera de la plantilla"
-#: parse.y:1162 parse.y:1171
+#: parse.y:1183 parse.y:1192
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr "ISO C++ prohibe una condición vacía para `%s'"
-#: parse.y:1194
+#: parse.y:1215
msgid "definition of class `%T' in condition"
msgstr "definición de la clase `%T' en una condición"
-#: parse.y:1196
+#: parse.y:1217
msgid "definition of enum `%T' in condition"
msgstr "definición del enum `%T' en una condición"
-#: parse.y:1207
+#: parse.y:1228
msgid "definition of array `%#D' in condition"
msgstr "definición de la matriz `%#D' en una condición"
-#: parse.y:1316
+#: parse.y:1341
msgid "old style placement syntax, use () instead"
msgstr "sintaxis de ubicación de estilo antiguo, use en su lugar ()"
-#: parse.y:1327
+#: parse.y:1352
msgid "`%T' is not a valid expression"
msgstr "`%T' no es una expresión válida"
-#: parse.y:1338
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr "ISO C++ prohibe la iniciación de la expresión new con `='"
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1359
+msgid "initialization of new expression with `='"
+msgstr "inicialización de la expresión new con `='"
-#: parse.y:1369
+#: parse.y:1385
msgid "ISO C++ forbids compound literals"
msgstr "ISO C++ prohibe literales compuestos"
-#: parse.y:1611
+#: parse.y:1632
msgid "ISO C++ forbids braced-groups within expressions"
msgstr "ISO C++ prohibe grupos de llaves dentro de las expresiones"
-#: parse.y:2013 parse.y:2028
+#: parse.y:2036 parse.y:2051
msgid "sigof type specifier"
msgstr "especificador de tipo sigof"
-#: parse.y:2018
+#: parse.y:2041
msgid "`sigof' applied to non-aggregate expression"
msgstr "`sigof' aplicado a una expresión no agregada"
-#: parse.y:2033
+#: parse.y:2056
msgid "`sigof' applied to non-aggregate type"
msgstr "`sigof' aplicado a un tipo no agregado"
-#: parse.y:2299
+#: parse.y:2322
msgid "using `typename' outside of template"
msgstr "usando `typename' fuera de la plantilla"
-#: parse.y:2370
+#: parse.y:2392
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr "no se permite el especificador de clase de almacenamiento `%s' después de struct ó class"
-#: parse.y:2372
+#: parse.y:2394
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr "no se permite el especificador de tipo `%s' después de struct ó class"
-#: parse.y:2374
+#: parse.y:2396
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr "no se permite el calificador de tipo `%s' después de struct ó class"
-#: parse.y:2376
+#: parse.y:2398
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr "no hay cuerpo ni ';' separa dos declaraciones class, struct ó union"
-#: parse.y:2508
+#: parse.y:2538
msgid "no bases given following `:'"
msgstr "no hay bases dado el siguiente `:'"
-#: parse.y:2539 parse.y:2554
+#: parse.y:2569 parse.y:2584
msgid "`%D' access"
msgstr "acceso `%D'"
-#: parse.y:2544
+#: parse.y:2574
msgid "multiple access specifiers"
msgstr "especificadores de acceso múltiples"
-#: parse.y:2562
+#: parse.y:2592
msgid "multiple `virtual' specifiers"
msgstr "especificadores `virtual' múltiples"
-#: parse.y:2599
+#: parse.y:2629
msgid "missing ';' before right brace"
msgstr "falta ';' antes de la llave derecha"
-#: parse.y:2820
+#: parse.y:2850
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
msgstr "ISO C++ prohibe las dimensiones de matriz con tipos con paréntesis en new"
-#: parse.y:3107 parse.y:3127 parse.y:3136 parse.y:3165
+#: parse.y:3137 parse.y:3157 parse.y:3166 parse.y:3195
msgid "`%T' is not a class or namespace"
msgstr "`%T' no es una claso o un espacio de nombres"
-#: parse.y:3332
+#: parse.y:3362
msgid "ISO C++ forbids label declarations"
msgstr "ISO C++ prohibe declaraciones etiquetadas"
-#: parse.y:3492
+#: parse.y:3522
msgid "ISO C++ forbids computed gotos"
msgstr "ISO C++ prohibe gotos calculados"
-#: parse.y:3500
+#: parse.y:3530
msgid "label must be followed by statement"
msgstr "la etiqueta debe ser seguida de una declaración"
-#: parse.y:3545
+#: parse.y:3575
msgid "must have at least one catch per try block"
msgstr "se debe tener por lo menos un catch por cada bloque try"
-#: parse.y:3605
+#: parse.y:3635
msgid "ISO C++ forbids compound statements inside for initializations"
-msgstr "ISO C++ prohibe las declaraciones compuestas internas para iniciaciones"
+msgstr "ISO C++ prohibe las declaraciones compuestas internas para inicializaciones"
#. This helps us recover from really nasty
#. parse errors, for example, a missing right
#. parenthesis.
-#: parse.y:3690 parse.y:3700
+#: parse.y:3722 parse.y:3732
msgid "possibly missing ')'"
msgstr "posible ')' faltante"
-#: parse.y:3793
+#: parse.y:3825
msgid "type specifier omitted for parameter"
msgstr "especificador de tipo omitido para el parámetro"
-#: parse.y:3802
+#: parse.y:3834
#, c-format
msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr "`%E' no es un tipo, use `typename %E' para hacerlo un tipo"
-#: parse.y:3804
+#: parse.y:3836
msgid "no type `%D' in `%T'"
msgstr "no hay un tipo `%D' en `%T'"
-#: parse.y:3807
+#: parse.y:3839
#, c-format
msgid "type specifier omitted for parameter `%E'"
msgstr "se omitió el especificador para el parámetro `%E'"
-#: parse.y:3815
+#: parse.y:3847
msgid "'%D' is used as a type, but is not defined as a type."
msgstr "se usa '%D' como un tipo, pero no está definido como un tipo."
-#: cp/pt.c:211
+#: cp/pt.c:284
msgid "data member `%D' cannot be a member template"
msgstr "los datos miembros `%D' no puede ser una plantilla miembro"
-#: cp/pt.c:223
+#: cp/pt.c:296
msgid "invalid member template declaration `%D'"
msgstr "declaración de la plantilla miembro `%D' inválida"
-#: cp/pt.c:618
+#: cp/pt.c:691
msgid "explicit specialization in non-namespace scope `%D'"
msgstr "especialización explícita en el ámbito `%D' que no es espacio de nombres"
-#: cp/pt.c:630
+#: cp/pt.c:703
msgid "enclosing class templates are not explicitly specialized"
msgstr "las plantillas de clase contenidas no son especializadas explícitamente"
-#: cp/pt.c:705
+#: cp/pt.c:792 cp/pt.c:833
msgid "specializing `%#T' in different namespace"
msgstr "especializando `%#T' en diferentes espacios de nombres"
-#: cp/pt.c:706
+#: cp/pt.c:793 cp/pt.c:834
msgid " from definition of `%#D'"
msgstr " de la definición de `%#D'"
-#: cp/pt.c:714
+#: cp/pt.c:801
msgid "specialization of `%T' after instantiation"
msgstr "especialización de `%T' después de la instanciación"
-#: cp/pt.c:717
+#: cp/pt.c:848
+msgid "specialization `%T' after instantiation `%T'"
+msgstr "especialización de `%T' después de la instanciación `%T'"
+
+#: cp/pt.c:860
msgid "explicit specialization of non-template `%T'"
msgstr "especialización explícita de `%T' que no es plantilla"
-#: cp/pt.c:849
+#: cp/pt.c:992
msgid "specialization of %D after instantiation"
msgstr "especialización de %D después de la instanciación"
-#: cp/pt.c:952
+#: cp/pt.c:1095
msgid "%s %+#D"
msgstr "%s %+#D"
-#: cp/pt.c:1003
+#: cp/pt.c:1146
msgid "`%D' is not a function template"
msgstr "`%D' no es una plantilla de función"
-#: cp/pt.c:1126
+#: cp/pt.c:1285
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr "el id de plantilla `%D' para `%+D' no coincide con ninguna declaración de plantilla"
-#: cp/pt.c:1134
+#: cp/pt.c:1293
msgid "ambiguous template specialization `%D' for `%+D'"
msgstr "especialización de plantilla ambigua `%D' para `%+D'"
#. This case handles bogus declarations like template <>
#. template <class T> void f<int>();
-#: cp/pt.c:1361 cp/pt.c:1435
+#: cp/pt.c:1520 cp/pt.c:1594
msgid "template-id `%D' in declaration of primary template"
msgstr "id de plantilla `%D' en la declaración de la plantilla primaria"
-#: cp/pt.c:1374
+#: cp/pt.c:1533
msgid "template parameter list used in explicit instantiation"
msgstr "se usó una lista de parámetros de plantilla en una instanciación explícita"
-#: cp/pt.c:1380
+#: cp/pt.c:1539
msgid "definition provided for explicit instantiation"
msgstr "se provee una definición para instanciación explícita"
-#: cp/pt.c:1386
+#: cp/pt.c:1545
msgid "too many template parameter lists in declaration of `%D'"
msgstr "demasiadas listas de parámetros de plantilla en la declaración de `%D'"
-#: cp/pt.c:1402
+#: cp/pt.c:1561
msgid "too few template parameter lists in declaration of `%D'"
msgstr "muy pocas listas de parámetros de plantilla en la declaración de `%D'"
-#: cp/pt.c:1419
+#: cp/pt.c:1578
msgid "explicit specialization not preceded by `template <>'"
msgstr "especialización explícita no precedida por `template <>'"
-#: cp/pt.c:1432
+#: cp/pt.c:1591
msgid "partial specialization `%D' of function template"
msgstr "especialización parcial `%D' de la plantilla de función"
-#: cp/pt.c:1464
+#: cp/pt.c:1623
msgid "default argument specified in explicit specialization"
msgstr "se especificó un argumento por omisión en la especialización explícita"
-#: cp/pt.c:1468
+#: cp/pt.c:1627
msgid "template specialization with C linkage"
msgstr "especialización de plantilla con enlace C"
@@ -16021,99 +16556,99 @@ msgstr "especialización de plantilla con enlace C"
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1556
+#: cp/pt.c:1714
msgid "specialization of implicitly-declared special member function"
msgstr "especialización de la función miembro especial declarada implícitamente"
-#: cp/pt.c:1599
+#: cp/pt.c:1758
msgid "no member function `%D' declared in `%T'"
msgstr "la función no miembro `%D' se declaró en `%T'"
#. There are two many template parameter lists.
-#: cp/pt.c:1747
+#: cp/pt.c:1906
msgid "too many template parameter lists in declaration of `%T'"
msgstr "demasiadas listas de parámetros de plantilla en la declaración de `%T'"
-#: cp/pt.c:1843
+#: cp/pt.c:2002
msgid " shadows template parm `%#D'"
msgstr " obscurece el parámetro de plantilla `%#D'"
-#: cp/pt.c:2247
+#: cp/pt.c:2406
msgid "template parameters not used in partial specialization:"
msgstr "no se usan los parámetros de plantilla en la especialización parcial:"
-#: cp/pt.c:2251
+#: cp/pt.c:2410
msgid " `%D'"
msgstr " `%D'"
-#: cp/pt.c:2263
+#: cp/pt.c:2422
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr "la especialización parcial `%T' no especializa ningún argumento de plantilla"
-#: cp/pt.c:2288
+#: cp/pt.c:2447
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr "el argumento de plantilla `%E' involucra a el(los) parámetro(s) de plantilla"
-#: cp/pt.c:2331
+#: cp/pt.c:2491
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr "el tipo `%T' del argumento de plantilla `%E' depende de el(los) parámetro(s) de plantilla"
-#: cp/pt.c:2419
+#: cp/pt.c:2579
msgid "no default argument for `%D'"
msgstr "no hay un argumento por omisión para `%D'"
-#: cp/pt.c:2552
+#: cp/pt.c:2732
msgid "template with C linkage"
msgstr "plantilla con enlace C"
-#: cp/pt.c:2555
+#: cp/pt.c:2735
msgid "template class without a name"
msgstr "clase de plantilla sin nombre"
-#: cp/pt.c:2632
+#: cp/pt.c:2812
msgid "`%D' does not declare a template type"
msgstr "`%D' no declara un tipo de plantilla"
-#: cp/pt.c:2638
+#: cp/pt.c:2818
msgid "template definition of non-template `%#D'"
msgstr "definición de plantilla de `%#D' que no es plantilla"
-#: cp/pt.c:2679
+#: cp/pt.c:2859
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr "se esperaban %d niveles de parámetros de plantilla para `%#D', se obtuvieron %d"
-#: cp/pt.c:2691
+#: cp/pt.c:2871
msgid "got %d template parameters for `%#D'"
msgstr "se obtuvieron %d parámetros de plantilla para `%#D'"
-#: cp/pt.c:2694
+#: cp/pt.c:2874
msgid "got %d template parameters for `%#T'"
msgstr "se obtuvieron %d parámetros de plantilla para `%#T'"
-#: cp/pt.c:2696
+#: cp/pt.c:2876
#, c-format
msgid " but %d required"
msgstr " pero se requieren %d"
-#: cp/pt.c:2764
+#: cp/pt.c:2959
msgid "`%T' is not a template type"
msgstr "`%T' no es un tipo plantilla"
-#: cp/pt.c:2780
+#: cp/pt.c:2975
msgid "previous declaration `%D'"
msgstr "declaración previa de `%D'"
-#: cp/pt.c:2781
+#: cp/pt.c:2976
#, c-format
msgid "used %d template parameter%s instead of %d"
msgstr "se usaron %d parámetro%s de plantilla en lugar de %d"
-#: cp/pt.c:2797
+#: cp/pt.c:2992
msgid "template parameter `%#D'"
msgstr "parámetro de plantilla `%#D'"
-#: cp/pt.c:2798
+#: cp/pt.c:2993
msgid "redeclared here as `%#D'"
msgstr "redeclarado aquí como `%#D'"
@@ -16121,714 +16656,715 @@ msgstr "redeclarado aquí como `%#D'"
#.
#. A template-parameter may not be given default arguments
#. by two different declarations in the same scope.
-#: cp/pt.c:2808
+#: cp/pt.c:3003
msgid "redefinition of default argument for `%#D'"
msgstr "redefinición del argumento por omisión para `%#D'"
-#: cp/pt.c:2809
+#: cp/pt.c:3004
msgid " original definition appeared here"
msgstr " la definición original aparece aquí"
-#: cp/pt.c:2902
+#: cp/pt.c:3097
#, c-format
msgid "`%E' is not a valid template argument"
msgstr "`%E' no es un argumento de plantilla válido"
-#: cp/pt.c:2906
+#: cp/pt.c:3101
msgid "it must be the address of a function with external linkage"
msgstr "debe ser la dirección de una función con enlace externo"
-#: cp/pt.c:2908
+#: cp/pt.c:3103
msgid "it must be the address of an object with external linkage"
msgstr "debe ser la dirección de un objeto con enlace externo"
-#: cp/pt.c:2912
+#: cp/pt.c:3107
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr "debe ser un apuntador-a-miembro de la forma `&X::Y'"
-#: cp/pt.c:2923
+#: cp/pt.c:3118
#, c-format
msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage"
msgstr "la cadena literal %E no es un argumento válido de plantilla porque es la dirección de un objeto con enlace estático"
-#: cp/pt.c:2935
+#: cp/pt.c:3130
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr "no se puede usar la dirección de `%E' que no es externo como un argumento de plantilla"
-#: cp/pt.c:2946
+#: cp/pt.c:3141
#, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr "`%E' que no es constante no se puede usar como un argumento de plantilla"
-#: cp/pt.c:2953
+#: cp/pt.c:3148
#, c-format
msgid "object `%E' cannot be used as template argument"
msgstr "el objeto `%E' no se puede usar como un argumento de plantilla"
-#: cp/pt.c:3333
+#: cp/pt.c:3523
#, c-format
msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr "para hacer referencia a un tipo miembro de un parámetro de plantilla, use `typename %E'"
-#: cp/pt.c:3346 cp/pt.c:3362 cp/pt.c:3401
+#: cp/pt.c:3536 cp/pt.c:3552 cp/pt.c:3591
msgid "type/value mismatch at argument %d in template parameter list for `%D'"
msgstr "no coincide el tipo/valor en el argumento %d en la lista de parámetros de plantilla para `%D'"
-#: cp/pt.c:3349
+#: cp/pt.c:3539
msgid " expected a constant of type `%T', got `%T'"
msgstr " se esperaba una constante de tipo `%T', se obtuvo `%T'"
-#: cp/pt.c:3353
+#: cp/pt.c:3543
#, c-format
msgid " expected a type, got `%E'"
msgstr " se esperaba un tipo, se obtuvo `%E'"
-#: cp/pt.c:3365
+#: cp/pt.c:3555
msgid " expected a type, got `%T'"
msgstr " se esperaba un tipo, se obtuvo `%T'"
-#: cp/pt.c:3367
+#: cp/pt.c:3557
msgid " expected a class template, got `%T'"
msgstr " se esperaba una plantilla de clase, se obtuvo `%T'"
-#: cp/pt.c:3403
+#: cp/pt.c:3593
msgid " expected a template of type `%D', got `%D'"
msgstr " se esperaba una plantilla de tipo `%D', se obtuvo `%D'"
-#: cp/pt.c:3425
+#: cp/pt.c:3615
msgid "template-argument `%T' uses anonymous type"
msgstr "el argumento de plantilla `%T' usa un tipo anónimo"
-#: cp/pt.c:3428
+#: cp/pt.c:3618
msgid "template-argument `%T' uses local type `%T'"
msgstr "el argumento de plantilla `%T' usa el tipo local `%T'"
-#: cp/pt.c:3463
+#: cp/pt.c:3628
+msgid "template-argument `%T' is a variably modified type"
+msgstr "el argumento de plantilla `%T' es un tipo modificado variablemente"
+
+#: cp/pt.c:3663
msgid "could not convert template argument `%E' to `%T'"
msgstr "no se puede convertir el argumento de plantilla `%E' a `%T'"
-#: cp/pt.c:3507
+#: cp/pt.c:3707
#, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr "número erróneo de argumentos de plantilla (%d, debería ser %d)"
-#: cp/pt.c:3511
+#: cp/pt.c:3711
msgid "provided for `%D'"
msgstr "provisto por `%D'"
-#: cp/pt.c:3558
+#: cp/pt.c:3758
#, c-format
msgid "template argument %d is invalid"
msgstr "el argumento de plantilla %d es inválido"
-#: cp/pt.c:3790
+#: cp/pt.c:3993
msgid "non-template used as template"
msgstr "se usa una no plantilla como plantilla"
-#: cp/pt.c:3908
+#: cp/pt.c:4125
msgid "`%T' is not a template"
msgstr "`%T' no es una plantilla"
-#: cp/pt.c:3921
+#: cp/pt.c:4138
msgid "non-template type `%T' used as a template"
msgstr "se usa el tipo `%T' que no es plantilla como una plantilla"
-#: cp/pt.c:3923
+#: cp/pt.c:4140
msgid "for template declaration `%D'"
msgstr "para la declaración de plantilla `%D'"
-#: cp/pt.c:4486
+#: cp/pt.c:4756
msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d (use -ftemplate-depth-NN para incrementar el máximo) al instanciar `%D'"
-#: cp/pt.c:4921
+#: cp/pt.c:5232
msgid "ambiguous class template instantiation for `%#T'"
msgstr "instanciación de plantilla clase ambigua para `%#T'"
-#: cp/pt.c:4928
+#: cp/pt.c:5239
msgid "%s %+#T"
msgstr "%s %+#T"
-#: cp/pt.c:5949 cp/pt.c:6054
+#: cp/pt.c:6261 cp/pt.c:6371
msgid "instantiation of `%D' as type `%T'"
msgstr "instanciación de `%D' como tipo `%T'"
-#: cp/pt.c:6096
+#: cp/pt.c:6415
msgid "invalid parameter type `%T'"
msgstr "tipo de parámetro `%T' inválido"
-#: cp/pt.c:6098
+#: cp/pt.c:6417
msgid "in declaration `%D'"
msgstr "en la declaración `%D'"
-#: cp/pt.c:6173
+#: cp/pt.c:6492
msgid "creating pointer to member function of non-class type `%T'"
msgstr "creando un apuntador a función miembro del tipo `%T' que no es clase"
-#: cp/pt.c:6336
+#: cp/pt.c:6655
msgid "creating array with size zero"
msgstr "creando la matriz con tamaño cero"
-#: cp/pt.c:6350
+#: cp/pt.c:6669
#, c-format
msgid "creating array with size zero (`%E')"
msgstr "creando la matriz con tamaño cero (`%E')"
-#: cp/pt.c:6589
+#: cp/pt.c:6908
msgid "forming reference to void"
msgstr "formando la referencia a void"
-#: cp/pt.c:6591
+#: cp/pt.c:6910
msgid "forming %s to reference type `%T'"
msgstr "formando %s para referenciar al tipo `%T'"
-#: cp/pt.c:6629
+#: cp/pt.c:6948
msgid "creating pointer to member of non-class type `%T'"
msgstr "creando un apuntador al miembro del tipo `%T' que no es clase"
-#: cp/pt.c:6635
+#: cp/pt.c:6954
msgid "creating pointer to member reference type `%T'"
msgstr "creando un apuntador al miembro de referencia de tipo `%T'"
-#: cp/pt.c:6713
+#: cp/pt.c:7032
msgid "creating array of `%T'"
msgstr "creando la matriz de `%T'"
-#: cp/pt.c:6756
+#: cp/pt.c:7075
msgid "`%T' is not a class, struct, or union type"
msgstr "`%T' no es de tipo clase, struct o union"
-#: cp/pt.c:6866
+#: cp/pt.c:7185
#, c-format
msgid "use of `%s' in template"
msgstr "uso de `%s' en la plantilla"
-#: cp/pt.c:7629
+#: cp/pt.c:7947
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr "el tipo `%T' compuesto desde una clase local no es un argumento de plantilla válido"
-#: cp/pt.c:7630
+#: cp/pt.c:7948
msgid " trying to instantiate `%D'"
msgstr " tratando de instanciar `%D'"
-#: cp/pt.c:8060
+#: cp/pt.c:8393
msgid "incomplete type unification"
msgstr "unificación de tipo incompleto"
-#: cp/pt.c:9027
+#: cp/pt.c:9348
#, c-format
msgid "use of `%s' in template type unification"
msgstr "uso de `%s' en la unificación de tipo de la plantilla"
-#: cp/pt.c:9447 cp/pt.c:9515
+#: cp/pt.c:9776 cp/pt.c:9848
msgid "explicit instantiation of non-template `%#D'"
msgstr "instanciación explícita de `%#D' que no es plantilla"
-#: cp/pt.c:9463 cp/pt.c:9510
+#: cp/pt.c:9792 cp/pt.c:9843
msgid "no matching template for `%D' found"
msgstr "no se encuentra una plantilla coincidente para `%D'"
-#: cp/pt.c:9469
+#: cp/pt.c:9798
msgid "explicit instantiation of `%#D'"
msgstr "instanciación explícita de `%#D'"
-#. [temp.spec]
-#.
-#. No program shall both explicitly instantiate and explicitly
-#. specialize a template.
-#: cp/pt.c:9486
-msgid "explicit instantiation of `%#D' after"
-msgstr "instanciación explícita de `%#D' después de"
-
-#: cp/pt.c:9487 cp/pt.c:9624
-msgid "explicit specialization here"
-msgstr "especialización explícita aquí"
-
-#: cp/pt.c:9502
+#: cp/pt.c:9835
msgid "duplicate explicit instantiation of `%#D'"
msgstr "instanciación explícita duplicada de `%#D'"
-#: cp/pt.c:9527
+#: cp/pt.c:9860
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr "ISO C++ prohibe el uso de `extern' en instanciaciones explícitas"
-#: cp/pt.c:9531 cp/pt.c:9609
+#: cp/pt.c:9864 cp/pt.c:9942
msgid "storage class `%D' applied to template instantiation"
msgstr "clase de almacenamiento `%D' aplicada a la instanciación de una plantilla"
-#: cp/pt.c:9576
+#: cp/pt.c:9909
msgid "explicit instantiation of non-template type `%T'"
msgstr "instanciación explícita del tipo `%T' del tipo no plantilla"
-#: cp/pt.c:9590
+#: cp/pt.c:9923
msgid "explicit instantiation of `%#T' before definition of template"
msgstr "instanciación explícita de `%#T' antes de la definición de la plantilla"
-#: cp/pt.c:9598
+#: cp/pt.c:9931
#, c-format
msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
msgstr "ISO C++ prohibe el uso de `%s' en las instanciaciones explícitas"
-#: cp/pt.c:9623
-msgid "explicit instantiation of `%#T' after"
-msgstr "instanciación explícita de `%#T' después de"
-
-#: cp/pt.c:9641
+#: cp/pt.c:9975
msgid "duplicate explicit instantiation of `%#T'"
msgstr "instanciación explícita duplicada de `%#T'"
-#: cp/pt.c:10003
+#: cp/pt.c:10355
msgid "explicit instantiation of `%D' but no definition available"
msgstr "instanciación explícita de `%D' pero no hay una definición disponible"
-#: cp/pt.c:10375
+#: cp/pt.c:10758
msgid "`%#T' is not a valid type for a template constant parameter"
msgstr "`%#T' no es un tipo válido para un parámetro constante de plantilla"
-#: cp/repo.c:272
+#: cp/repo.c:271
msgid "-frepo must be used with -c"
msgstr "-frepo debe ser usado con -c"
-#: cp/repo.c:366
+#: cp/repo.c:361
#, c-format
msgid "mysterious repository information in %s"
msgstr "información de repositorio misteriosa en %s"
-#: cp/repo.c:381
+#: cp/repo.c:376
#, c-format
msgid "can't create repository information file `%s'"
msgstr "no se puede crear el fichero de información de repositorio `%s'"
-#: cp/rtti.c:200
+#: cp/rtti.c:240
msgid "cannot use typeid with -fno-rtti"
msgstr "no se puede usar typeid sin -fno-rtti"
-#: cp/rtti.c:206
+#: cp/rtti.c:246
msgid "must #include <typeinfo> before using typeid"
msgstr "debe hacer #include <typeinfo> antes de usar typeid"
-#: cp/rtti.c:280
+#: cp/rtti.c:320
msgid "cannot create type information for type `%T' because its size is variable"
msgstr "no se puede crear la información de tipo para el tipo `%T' porque su tamaño es variable"
-#: 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 "dynamic_cast de `%#D' a `%#T' nunca podrá tener éxito"
-#: cp/rtti.c:614
+#: cp/rtti.c:675
msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
msgstr "no se puede hacer dynamic_cast `%E' (de tipo `%#T') al tipo `%#T' (%s)"
-#: cp/search.c:340
+#: cp/search.c:347
msgid "`%T' is an inaccessible base of `%T'"
msgstr "`%T' es una base inaccesible de `%T'"
-#: cp/search.c:350
+#: cp/search.c:357
msgid "`%T' is an ambiguous base of `%T'"
msgstr "`%T' es una base ambigua de `%T'"
-#: cp/search.c:1820
+# No me gusta mucho esta traducción. - cfuga
+#
+#. At parse time, we don't want to give this error, since
+#. we won't have enough state to make this kind of
+#. decision properly. But there are times (e.g., with
+#. enums in nested classes) when we do need to call
+#. this fn at parse time. So, in those cases, we pass
+#. complain as a 0 and just return a NULL_TREE.
+#: cp/search.c:1642
+msgid "assignment to non-static member `%D' of enclosing class `%T'"
+msgstr "asignación al miembro `%D' que no es static de la clase incluyente `%T'"
+
+#: cp/search.c:2009
msgid "adjusting pointers for covariant returns"
-msgstr "ajustando los apuntadores de devoluciones covariantes"
+msgstr "ajustando los apuntadores para devoluciones covariantes"
-#: cp/search.c:1824 cp/search.c:1831
+#: cp/search.c:2013 cp/search.c:2020
msgid "invalid covariant return type for `%#D'"
msgstr "tipo de devolución covariante inválido para `%#D'"
-#: cp/search.c:1825
+#: cp/search.c:2014
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr " sustituyendo a `%#D' (debe ser apuntador o referencia a una clase)"
-#: cp/search.c:1832
+#: cp/search.c:2021
msgid " overriding `%#D' (must use pointer or reference)"
msgstr " sustituyendo a `%#D' (debe ser apuntador o referencia)"
-#: cp/search.c:1837
+#: cp/search.c:2026
msgid "conflicting return type specified for `%#D'"
msgstr "tipos de devolución en conflicto especificados para `%#D'"
-#: cp/search.c:1838
+#: cp/search.c:2027
msgid " overriding `%#D'"
msgstr " sustituyendo `%#D'"
-#: cp/search.c:1847
+#: cp/search.c:2036
#, c-format
msgid "looser throw specifier for `%#F'"
msgstr "especificador thrown más flexible para `%#F'"
-#: cp/search.c:1848
+#: cp/search.c:2037
#, c-format
msgid " overriding `%#F'"
msgstr " sustituyendo `%#F'"
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1938
+#: cp/search.c:2126
msgid "`%#D' cannot be declared"
msgstr "`%#D' no puede ser declarado"
-#: cp/search.c:1939
+#: cp/search.c:2127
msgid " since `%#D' declared in base class"
msgstr " ya que se declaró `%#D' en la clase base"
-#: cp/search.c:2080
+#: cp/search.c:2268
msgid "`%#D' needs a final overrider"
msgstr "`%#D' necesita un impositor final"
-#: cp/semantics.c:911
+#: cp/semantics.c:919
#, c-format
msgid "type of asm operand `%E' could not be determined"
msgstr "no se puede determinar el tipo del operando asm `%E'"
-#: cp/semantics.c:1053
+#: cp/semantics.c:1051
msgid "ISO C++ does not permit named return values"
msgstr "ISO C++ no permite valores nombrados de devolución"
-#: cp/semantics.c:1062
+#: cp/semantics.c:1060
msgid "return identifier `%D' already in place"
msgstr "el identificador de devolución `%D' ya está en su lugar"
-#: cp/semantics.c:1070
+#: cp/semantics.c:1068
msgid "can't redefine default return value for constructors"
msgstr "no se puede redefinir el valor por omisión de devoluciòn para los constructores"
-#: cp/semantics.c:1137
-msgid "base initializer for `%T'"
-msgstr "iniciador base para `%T'"
-
-#: cp/semantics.c:1139
-msgid " will be re-ordered to precede member initializations"
-msgstr " será reordenado para preceder la iniciaciones de los miembros"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr "solamente los constructores toman inicializadores base"
-#: cp/semantics.c:1327
+#: cp/semantics.c:1342
msgid "`this' is unavailable for static member functions"
msgstr "`this' no está disponible para funciones miembro static"
-#: cp/semantics.c:1333
+#: cp/semantics.c:1348
msgid "invalid use of `this' in non-member function"
msgstr "uso inválido de `this' en la función no miembro"
-#: cp/semantics.c:1335
+#: cp/semantics.c:1350
msgid "invalid use of `this' at top level"
msgstr "uso inválido de `this' en el nivel principal"
-#: cp/semantics.c:1373
+#: cp/semantics.c:1380
msgid "calling type `%T' like a method"
msgstr "llamando al tipo `%T' como un método"
-#: cp/semantics.c:1409
+#: cp/semantics.c:1418
msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr "el especificador del destructor `%T::~%T()' debe tener nombres coincidentes"
-#: cp/semantics.c:1415
+#: cp/semantics.c:1424
msgid "`%E' is not of type `%T'"
msgstr "`%E' no es de tipo `%T'"
-#: cp/semantics.c:1608
+#: cp/semantics.c:1612
msgid "template type parameters must use the keyword `class' or `typename'"
msgstr "los parámetros de tipo plantilla debe usar la palabra clave `class' o `typename'"
-#: cp/semantics.c:1670
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr "argumento de la plantilla por omisión inválido"
+
+#: cp/semantics.c:1693
msgid "definition of `%#T' inside template parameter list"
msgstr "la definición de `%#T' dentro de la lista de parámetros de plantilla"
-#: cp/semantics.c:1686
+#: cp/semantics.c:1709
msgid "invalid definition of qualified type `%T'"
msgstr "definición inválida del tipo calificado `%T'"
-#: cp/semantics.c:2039
+#: cp/semantics.c:2051
+msgid "invalid base-class specification"
+msgstr "especificación de clase base inválida"
+
+#: cp/semantics.c:2060
msgid "base class `%T' has cv qualifiers"
msgstr "la clase base `%T' tiene calificadores cv"
-#: cp/semantics.c:2072
+#: cp/semantics.c:2091
msgid "multiple declarators in template declaration"
msgstr "múltiples declaradores en una declaración de plantilla"
-#: cp/spew.c:239
+#: cp/semantics.c:2118
+#, c-format
+msgid "type of `%E' is unknown"
+msgstr "el tipo de '%E' es desconocido"
+
+#: cp/spew.c:225
#, c-format
msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
msgstr "el nombre de identificador `%s' causa conflictos con la estrategia interna de nombrado del C++ de GNU"
-#: cp/spew.c:1017 cp/spew.c:1292
+#: cp/spew.c:1002 cp/spew.c:1340
msgid "parse error at end of saved function text"
msgstr "error de decodificación al final del texto de la función guardada"
-#: cp/spew.c:1062
+#: cp/spew.c:1090 cp/spew.c:1178
+msgid "%Hend of file read inside definition"
+msgstr "%Hlectura de final de fichero dentro de la definición"
+
+#: cp/spew.c:1121
msgid "parse error in method specification"
msgstr "error de decodificación en la especificación del método"
-#: cp/spew.c:1104
+#: cp/spew.c:1161
msgid "function body for constructor missing"
msgstr "falta el cuerpo de la función para el constructor"
-#: cp/spew.c:1371
+#: cp/spew.c:1262
+msgid "%Hend of file read inside default argument"
+msgstr "%Hlectura de final de fichero dentro del argumento por omisión"
+
+#: cp/spew.c:1419
msgid "circular dependency in default args of `%#D'"
msgstr "dependencia circular en los argumentos por omisión de `%#D'"
-#: cp/spew.c:1435
+#: cp/spew.c:1483
msgid "invalid type `%T' for default argument to `%T'"
msgstr "tipo `%T' inválido para el argumento por omisión de `%T'"
-#: cp/spew.c:1495
+#: cp/spew.c:1548
#, c-format
msgid "%s before `%s'"
msgstr "%s antes de `%s'"
-#: cp/spew.c:1497
+#: cp/spew.c:1550
#, c-format
msgid "%s before `%c'"
msgstr "%s antes de `%c'"
-#: cp/spew.c:1499
+#: cp/spew.c:1552
#, c-format
msgid "%s before `\\%o'"
msgstr "%s antes de `\\%o'"
-#: cp/spew.c:1502
+#: cp/spew.c:1555
#, c-format
msgid "%s before `%s' token"
msgstr "%s antes del elemento `%s'"
-#: cp/tree.c:224
+#: cp/tree.c:263 cp/tree.c:275
#, c-format
msgid "non-lvalue in %s"
msgstr "no es valor-l en %s"
-#: cp/tree.c:578
+#: cp/tree.c:647
msgid "`%V' qualifiers cannot be applied to `%T'"
msgstr "los calificadores `%V' no se pueden aplicar a `%T'"
-#: cp/tree.c:581
-msgid "ignoring `%V' qualifiers on `%T'"
-msgstr "se ignoran los calificadores `%V' para `%T'"
-
-#: cp/tree.c:1920
+#: cp/tree.c:2026
#, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr "el atributo `%s' sólo se puede aplicar a definiciones de clases Java"
-#: cp/tree.c:1950
+#: cp/tree.c:2056
#, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr "el atributo `%s' solo se puede aplicar a definiciones de clase"
-#: cp/tree.c:1956
+#: cp/tree.c:2062
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr "`%s' es obsoleto; las vtables de g++ ahora son compatibles con COM por omisión"
-#: cp/tree.c:1981
+#: cp/tree.c:2087
msgid "requested init_priority is not an integer constant"
msgstr "la init_priority solicitada no es una constante entera"
-#: cp/tree.c:2002
+#: cp/tree.c:2108
#, c-format
msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
msgstr "solo se puede usar el atributo `%s' en definiciones de rango de fichero de objetos de tipo class"
-#: cp/tree.c:2010
+#: cp/tree.c:2116
msgid "requested init_priority is out of range"
msgstr "la init_priority solicitada está fuera de rango"
-#: cp/tree.c:2020
+#: cp/tree.c:2126
msgid "requested init_priority is reserved for internal use"
msgstr "la init_priority solicitada está reservada para uso interno"
-#: cp/tree.c:2030
+#: cp/tree.c:2136
#, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr "el atributo `%s' no tiene soporte en esta plataforma"
-#: cp/typeck.c:518
+#: cp/tree.c:2673
+#, c-format
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr "revisión lang_*: falló en %s, en %s:%d"
+
+#: cp/typeck.c:524
#, c-format
msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
msgstr "ISO C++ prohibe %s entre apuntadores de tipo `void *' y apuntadores a funciones"
-#: cp/typeck.c:539
+#: cp/typeck.c:545
msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
-msgstr "%s de diferentes tipos de apuntador `%T' y `%T' carece de una conversión"
+msgstr "%s entre diferentes tipos de apuntador `%T' y `%T' carece de una conversión"
-#: cp/typeck.c:1430
+#: cp/typeck.c:1438
msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
msgstr "ISO C++ prohibe la conversión de `%#T' a `(...)'"
-#: cp/typeck.c:1500
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ISO C++ prohibe la aplicación de `sizeof' a un tipo de función"
-
-#: cp/typeck.c:1506
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr "ISO C++ prohibe la aplicación de `sizeof' a una función miembro"
-
-#: cp/typeck.c:1512
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr "ISO C++ prohibe aplicar `sizeof' al tipo `void' el cual es un tipo incompleto"
-
-#: cp/typeck.c:1526
-msgid "`sizeof' applied to non-static member"
-msgstr "`sizeof' aplicado a miembro que no es static"
+#: cp/typeck.c:1516
+#, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr "aplicación inválida de `%s' a una función miembro"
-#: cp/typeck.c:1531
-msgid "`sizeof' applied to incomplete type `%T'"
-msgstr "sizeof aplicado a un tipo de dato incompleto `%T'"
+#: cp/typeck.c:1522
+#, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "aplicación inválida de `%s' a un miembro que no es static"
-#: cp/typeck.c:1561
+#: cp/typeck.c:1540
msgid "sizeof applied to a bit-field"
msgstr "sizeof aplicado a un campo de bits"
-#: cp/typeck.c:1564
+#: cp/typeck.c:1543
msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
msgstr "ISO C++ prohibe la aplicación de `sizeof' a una expresión de tipo de función"
-#: cp/typeck.c:1711
+#: cp/typeck.c:1655
msgid "invalid use of non-lvalue array"
msgstr "uso inválido de matriz no-lvaluada"
-#: cp/typeck.c:1817
+#: cp/typeck.c:1761
msgid "deprecated conversion from string constant to `%T'"
-msgstr "conversión deprecada de una constante de cadena a `%T'"
+msgstr "conversión obsoleta de una constante de cadena a `%T'"
+
+#: cp/typeck.c:1892 cp/typeck.c:2124
+msgid "request for member `%D' in `%E', which is of non-class type `%T'"
+msgstr "solicitud por el miembro `%D' en `%E', el cual es del tipo `%T' que no es clase"
-#: cp/typeck.c:1835
-msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
-msgstr "petición por el miembro `%T::%D' en la expresión de tipo no agregado `%T'"
+#: cp/typeck.c:1918
+msgid "`%D' is not a member of `%T'"
+msgstr "`%D' no es un miembro de `%T'"
-#: cp/typeck.c:2030
+#: cp/typeck.c:1959 cp/typeck.c:1980
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "acceso inválido a datos del miembro que no es static `%D' del objeto NULL"
+
+#: cp/typeck.c:1961 cp/typeck.c:1982
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr "(tal vez se utilizó incorrectamente la macro `offsetof')"
+
+#: cp/typeck.c:2170
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "`%D::%D' no es un miembro de `%T'"
+
+#: cp/typeck.c:2196
msgid "destructor specifier `%T::~%T' must have matching names"
msgstr "el especificador del destructor `%T::~%T' debe tener nombres coincidentes"
-#: cp/typeck.c:2036
+#: cp/typeck.c:2202
msgid "type `%T' has no destructor"
msgstr "el tipo `%T' no tiene destructor"
-#: cp/typeck.c:2053 cp/typeck.c:2135
-msgid "invalid use of type decl `%#D' as expression"
-msgstr "uso inválido de la declaración de tipo `%#D' como una expresión"
-
-#: cp/typeck.c:2058
-msgid "invalid use of template `%#D' as expression"
-msgstr "uso inválido de la plantilla `%#D' como una expresión"
-
-#: cp/typeck.c:2126
-msgid "`%#T' has no member named `%D'"
-msgstr "`%#T' no tiene un miembro llamado `%D'"
-
-#: cp/typeck.c:2176 cp/typeck.c:2205
-msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
-msgstr "desplazamiento inválido desde un tipo `%#T' que no es POD; use en su lugar un apuntador a miembro"
+#: cp/typeck.c:2241
+msgid "`%D' is not a member template function"
+msgstr "`%D' no es una función plantilla miembro"
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2316
+#: cp/typeck.c:2335
msgid "`%T' is not a pointer-to-object type"
msgstr "`%T' no es de tipo apuntador-a-objeto"
-#: cp/typeck.c:2343
+#: cp/typeck.c:2362
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr "uso inválido de `%s' en apuntador a miembro"
-#: cp/typeck.c:2349
+#: cp/typeck.c:2368
msgid "invalid type argument"
msgstr "argumento de tipo inválido"
-#: cp/typeck.c:2452
+#: cp/typeck.c:2471
msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr "ISO C++ prohibe el subíndice de una matriz de l-valores"
-#: cp/typeck.c:2463
+#: cp/typeck.c:2482
msgid "subscripting array declared `register'"
msgstr "se declaró el subíndice de la matriz como `register'"
-#: cp/typeck.c:2638 cp/typeck.c:2788
-msgid "pointer to member function called, but not in class scope"
-msgstr "se llamó a apuntador a función miembro, pero no en el alcance de la clase"
-
-#: cp/typeck.c:2662
-msgid "object missing in call to method `%D'"
-msgstr "falta un objeto en la llamada al método `%D'"
-
-#: cp/typeck.c:2706
-msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
-msgstr "¿!¿se declaró la función `%D' sobrecargada, pero no aparece ninguna definición con la cual resolverlo?!?"
-
-#: cp/typeck.c:2786
-msgid "invalid call to member function needing `this' in static member function scope"
-msgstr "llamada inválida a función miembro requiere `this' en el alcance de la función miembro static"
+#: cp/typeck.c:2567
+#, c-format
+msgid "object missing in use of `%E'"
+msgstr "falta un objeto en el uso de `%E'"
-#: cp/typeck.c:2965
+#: cp/typeck.c:2671
msgid "ISO C++ forbids calling `::main' from within program"
msgstr "ISO C++ prohibe la llamada `::main' dentro del mismo programa"
-#: cp/typeck.c:2990
+#: cp/typeck.c:2696
#, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr "se debe usar .* o ->* en la llamada a la función apuntador-a-miembro en `%E (...)'"
-#: cp/typeck.c:3003
+#: cp/typeck.c:2709
#, c-format
msgid "`%E' cannot be used as a function"
msgstr "no se puede usar `%E' como una función"
-#: cp/typeck.c:3128
+#: cp/typeck.c:2821
msgid "too many arguments to %s `%+#D'"
msgstr "demasiados argumentos para %s `%+#D'"
-#: cp/typeck.c:3169
+#: cp/typeck.c:2862
msgid "parameter type of called function is incomplete"
msgstr "el tipo del parámetro de la función llamada es incompleto"
-#: cp/typeck.c:3236
+#: cp/typeck.c:2925
msgid "too few arguments to %s `%+#D'"
msgstr "muy pocos argumentos para %s `%+#D'"
-#: cp/typeck.c:3364 cp/typeck.c:3374
+#: cp/typeck.c:3053 cp/typeck.c:3063
msgid "assuming cast to type `%T' from overloaded function"
msgstr "asumiendo la conversión al tipo `%T' desde la función sobrecargada"
-#: cp/typeck.c:3434
+#: cp/typeck.c:3123
#, c-format
msgid "division by zero in `%E / 0'"
msgstr "división por cero en `%E / 0'"
-#: cp/typeck.c:3436
+#: cp/typeck.c:3125
#, c-format
msgid "division by zero in `%E / 0.'"
msgstr "división por cero en `%E / 0.'"
-#: cp/typeck.c:3466
+#: cp/typeck.c:3155
#, c-format
msgid "division by zero in `%E %% 0'"
msgstr "división por cero en `%E %% 0'"
-#: cp/typeck.c:3468
+#: cp/typeck.c:3157
#, c-format
msgid "division by zero in `%E %% 0.'"
msgstr "división por cero en `%E %% 0.'"
-#: cp/typeck.c:3548
+#: cp/typeck.c:3237
#, c-format
msgid "%s rotate count is negative"
msgstr "la cuenta de rotación %s es negativa"
-#: cp/typeck.c:3551
+#: cp/typeck.c:3240
#, c-format
msgid "%s rotate count >= width of type"
msgstr "la cuenta de rotación %s >= anchura del tipo"
-#: cp/typeck.c:3582 cp/typeck.c:3587 cp/typeck.c:3678 cp/typeck.c:3683
+#: cp/typeck.c:3271 cp/typeck.c:3276 cp/typeck.c:3367 cp/typeck.c:3372
msgid "ISO C++ forbids comparison between pointer and integer"
msgstr "ISO C++ prohibe la comparación entre apuntadores y enteros"
-#: cp/typeck.c:3863
+#: cp/typeck.c:3550
msgid "comparison between types `%#T' and `%#T'"
msgstr "comparación entre los tipos `%#T' y `%#T'"
-#: cp/typeck.c:3899
+#: cp/typeck.c:3586
msgid "comparison between signed and unsigned integer expressions"
msgstr "comparación entre expresiones enteras signed y unsigned"
-#: cp/typeck.c:3964
+#: cp/typeck.c:3651
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr "operadores inválidos de tipos `%T' y `%T' para el binario `%O'"
@@ -16836,276 +17372,282 @@ msgstr "operadores inválidos de tipos `%T' y `%T' para el binario `%O'"
#. 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:3986
+#: cp/typeck.c:3673
msgid "NULL used in arithmetic"
msgstr "se usó NULL en la aritmética"
-#: cp/typeck.c:4053
+#: cp/typeck.c:3740
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr "ISO C++ prohibe el uso de un apuntador de tipo `void *' en la sustracción"
-#: cp/typeck.c:4055
+#: cp/typeck.c:3742
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr "ISO C++ prohibe el uso de un apuntador a una función en la sustracción"
-#: cp/typeck.c:4057
+#: cp/typeck.c:3744
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr "ISO C++ prohibe el uso de un apuntador a un método en la sustracción"
-#: cp/typeck.c:4059
+#: cp/typeck.c:3746
msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr "ISO C++ prohibe el uso de un apuntador a un miembro en la sustracción"
-#: cp/typeck.c:4071
+#: cp/typeck.c:3758
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
-msgstr "uso inválido de un apuntador a un tipo incompleto en aitmética de apuntadores"
+msgstr "uso inválido de un apuntador a un tipo incompleto en aritmética de apuntadores"
-#: cp/typeck.c:4108
-msgid "attempt to take address of bit-field structure member `%D'"
-msgstr "se intentó tomar la dirección del miembro de la estructura de campos de bits `%D'"
+#: cp/typeck.c:3818
+#, c-format
+msgid "invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id."
+msgstr "uso inválido de '%E' para formar una función apuntador a miembro. Use un identificador calificado."
+
+#: cp/typeck.c:3824
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr "no se pueden usar paréntesis alrededor de '%E' para formar una función apuntador a miembro"
-#: cp/typeck.c:4185
+#: cp/typeck.c:3847
msgid "taking address of temporary"
msgstr "tomando la dirección del temporal"
-#: cp/typeck.c:4387
+#: cp/typeck.c:4088
#, c-format
msgid "ISO C++ forbids %sing an enum"
msgstr "ISO C++ prohibe %sing un enum"
-#: cp/typeck.c:4399
+#: cp/typeck.c:4100
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr "no se puede %s un apuntador a un tipo incompleto `%T'"
-#: cp/typeck.c:4406
+#: cp/typeck.c:4107
msgid "ISO C++ forbids %sing a pointer of type `%T'"
msgstr "ISO C++ prohibe el %s un apuntador de tipo `%T'"
-#: cp/typeck.c:4431
+#: cp/typeck.c:4132
msgid "cast to non-reference type used as lvalue"
msgstr "se usa la conversión a un tipo no referenciado como un l-valor"
-#: cp/typeck.c:4465
+#: cp/typeck.c:4166
msgid "invalid use of `--' on bool variable `%D'"
msgstr "uso inválido de `--' en la variable booleana `%D'"
#. ARM $3.4
-#: cp/typeck.c:4498
+#: cp/typeck.c:4199
msgid "ISO C++ forbids taking address of function `::main'"
msgstr "ISO C++ prohibe tomar la dirección de la función `::main'"
#. An expression like &memfn.
-#: cp/typeck.c:4565
+#: cp/typeck.c:4266
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 "ISO C++ prohibe tomar la dirección de una función miembro no estática sin calificar para formar un apuntador a la función miembro. Como `&%T::%D'"
-#: cp/typeck.c:4567
+#: cp/typeck.c:4268
msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say `&%T::%D'"
msgstr "ISO C++ prohibe tomar la dirección de una función miembro limitada para formar un apuntador a la función miembro. Como `&%T::%D'"
-#: cp/typeck.c:4591
+#: cp/typeck.c:4292
msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
msgstr "ISO C++ prohibe tomar la dirección de una conversión a una expresión no l-valuada"
-#: cp/typeck.c:4607
-msgid "unary `&'"
-msgstr "`&' unario"
+#: cp/typeck.c:4321
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "se intentó tomar la dirección del miembro de la estructura de campos de bits `%D'"
-#: cp/typeck.c:4727
+#: cp/typeck.c:4441
msgid "taking address of destructor"
msgstr "tomando la dirección del destructor"
# FIXME
# ¿bound se utiliza aquí como 'limitada' o 'sujeta'? Revisar el código. cfuga
-#: cp/typeck.c:4740
+#: cp/typeck.c:4454
msgid "taking address of bound pointer-to-member expression"
msgstr "tomando la dirección de la expresión limitada apuntador-a-miembro"
-#: cp/typeck.c:4756
+#: cp/typeck.c:4470
msgid "cannot create pointer to reference member `%D'"
msgstr "no se pueden crear un apuntador al miembro referencia `%D'"
-#: cp/typeck.c:4824
+#: cp/typeck.c:4533
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr "no se puede tomar la dirección de `this' que es una expresión rvalue"
-#: cp/typeck.c:4840
+#: cp/typeck.c:4552
msgid "address requested for `%D', which is declared `register'"
msgstr "se solicitó la dirección de `%D', el cual se declaró como `register'"
-#: cp/typeck.c:5060
+#: cp/typeck.c:4773
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr "static_cast del tipo `%T' al tipo `%T' proscribe la constancia"
-#: cp/typeck.c:5068
+#: cp/typeck.c:4781
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr "static_cast inválido del tipo `%T' al tipo `%T'"
-#: cp/typeck.c:5107
+#: cp/typeck.c:4820
msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr "reinterpret_cast inválido de una expresión valor-r del tipo `%T' al tipo `%T'"
-#: cp/typeck.c:5127
+#: cp/typeck.c:4840
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr "reinterpret_cast de `%T' a `%T' pierde precisión"
-#: cp/typeck.c:5140
+#: cp/typeck.c:4853
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr "reinterpret_cast de `%T' a `%T' proscribe a const (o volatile)"
-#: cp/typeck.c:5149
+#: cp/typeck.c:4862
msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr "ISO C++ prohibe la conversión entre entre apuntador a función y apuntador a objeto"
-#: cp/typeck.c:5155
+#: cp/typeck.c:4868
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr "reinterpret_cast inválido del tipo `%T' al tipo `%T'"
-#: cp/typeck.c:5182
+#: cp/typeck.c:4895
msgid "invalid use of const_cast with type `%T', which is not a pointer, reference, nor a pointer-to-data-member type"
msgstr "uso inválido de const_cast con tipo `%T', que no es apuntador, referencia, ni un tipo apuntador-a-datos-miembros"
-#: cp/typeck.c:5185
+#: cp/typeck.c:4898
msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
msgstr "uso inválido de const_cast con tipo `%T', el cual es un apuntador o referencia a un tipo de función"
-#: cp/typeck.c:5208
+#: cp/typeck.c:4921
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr "const_cast inválido de un valor-r de tipo `%T' al tipo `%T'"
-#: cp/typeck.c:5224
+#: cp/typeck.c:4937
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr "const_cast inválido del tipo `%T' al tipo `%T'"
-#: cp/typeck.c:5266 cp/typeck.c:5271
+#: cp/typeck.c:4979 cp/typeck.c:4984
msgid "ISO C++ forbids casting to an array type `%T'"
msgstr "ISO C++ prohibe la conversión a un tipo de matriz `%T'"
-#: cp/typeck.c:5279
+#: cp/typeck.c:4992
msgid "invalid cast to function type `%T'"
msgstr "conversión inválida al tipo de función `%T'"
-#: cp/typeck.c:5331
+#: cp/typeck.c:5044
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr "la conversión de `%T' a `%T' descarta los calificadores del tipo del destino del apuntador"
-#: cp/typeck.c:5377
+#: cp/typeck.c:5090
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr "la conversión de `%T' a `%T' incrementa la alineación requerida del tipo del destino"
-#: cp/typeck.c:5546
+#: cp/typeck.c:5258
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr " en la evaluación de `%Q(%#T, %#T)'"
-#: cp/typeck.c:5588
+#: cp/typeck.c:5300
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr "ISO C++ prohibe la conversión a un tipo no referente usado como l-valor"
-#: cp/typeck.c:5659
+#: cp/typeck.c:5372
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr "tipos incompatible en la asignación de `%T' a `%T'"
-#: cp/typeck.c:5666
+#: cp/typeck.c:5379
msgid "ISO C++ forbids assignment of arrays"
msgstr "ISO C++ prohibe la asignación de matrices"
-#: cp/typeck.c:5809
+#: cp/typeck.c:5522
msgid " in pointer to member function conversion"
msgstr " en la conversión del apuntador a función miembro"
-#: cp/typeck.c:5817
+#: cp/typeck.c:5530
msgid " in pointer to member conversion"
msgstr " en la conversión del apuntador a miembro"
#. This is a reinterpret cast, we choose to do nothing.
-#: cp/typeck.c:5828 cp/typeck.c:5847
+#: cp/typeck.c:5541 cp/typeck.c:5560
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr "apuntador a la conversión miembro a través de la base virtual `%T' de `%T'"
-#: cp/typeck.c:5851
+#: cp/typeck.c:5564
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr "apuntador a la conversión miembro a través de la base virtual `%T' de `%T'"
-#: cp/typeck.c:5921
+#: cp/typeck.c:5640
msgid "invalid conversion to type `%T' from type `%T'"
msgstr "conversión inválida del tipo `%T' a partir del tipo `%T'"
-#: cp/typeck.c:6086
+#: cp/typeck.c:5805
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr "pasando NULL usado para el no apuntador %s %P de `%D'"
-#: cp/typeck.c:6089
+#: cp/typeck.c:5808
msgid "%s to non-pointer type `%T' from NULL"
msgstr "%s al tipo `%T' que no es apuntador desde NULL"
-#: cp/typeck.c:6097
+#: cp/typeck.c:5816
msgid "passing `%T' for %s %P of `%D'"
msgstr "pasando `%T' para %s %P de `%D'"
-#: cp/typeck.c:6100
+#: cp/typeck.c:5819
msgid "%s to `%T' from `%T'"
msgstr "%s a `%T' desde `%T'"
-#: cp/typeck.c:6110
+#: cp/typeck.c:5829
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr "pasando el valor negativo `%E' para %s %P de `%D'"
-#: cp/typeck.c:6113
+#: cp/typeck.c:5832
msgid "%s of negative value `%E' to `%T'"
msgstr "%s de valor negatio `%E' a `%T'"
-#: cp/typeck.c:6200
+#: cp/typeck.c:5927
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr "no se puede convertir `%T' a `%T' para el argumento `%P' para `%D'"
-#: cp/typeck.c:6203
+#: cp/typeck.c:5930
msgid "cannot convert `%T' to `%T' in %s"
msgstr "no se puede convertir `%T' a `%T' en %s"
-#: cp/typeck.c:6290 cp/typeck.c:6292
+#: cp/typeck.c:6017 cp/typeck.c:6019
msgid "in passing argument %P of `%+D'"
msgstr "en el paso del argumento %P de `%+D'"
-#: cp/typeck.c:6406
+#: cp/typeck.c:6134
msgid "returning reference to temporary"
msgstr "devolviendo la referencia al temporal"
-#: cp/typeck.c:6413
+#: cp/typeck.c:6141
msgid "reference to non-lvalue returned"
msgstr "se devolvió una referencia a un valor que no es l-valor"
-#: cp/typeck.c:6425
+#: cp/typeck.c:6153
msgid "reference to local variable `%D' returned"
msgstr "se devolvió una referencia a la variable local `%D'"
-#: cp/typeck.c:6428
+#: cp/typeck.c:6156
msgid "address of local variable `%D' returned"
msgstr "se devolvió la dirección de la variable local `%D'"
-#: cp/typeck.c:6459
+#: cp/typeck.c:6187
msgid "returning a value from a destructor"
msgstr "devolviendo un valor de un destructor"
#. If a return statement appears in a handler of the
#. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:6467
+#: cp/typeck.c:6195
msgid "cannot return from a handler of a function-try-block of a constructor"
msgstr "no se puede regresar de un manejador de una función-intenta-bloque de un constructor"
#. You can't return a value from a constructor.
-#: cp/typeck.c:6470
+#: cp/typeck.c:6198
msgid "returning a value from a constructor"
msgstr "devolviendo un valor de un constructor"
-#: cp/typeck.c:6487
+#: cp/typeck.c:6215
msgid "return-statement with no value, in function declared with a non-void return type"
msgstr "sentencia de devolución sin valor, en una función declarada con un tipo de devolución que no es void"
-#: cp/typeck.c:6503
+#: cp/typeck.c:6231
msgid "return-statement with a value, in function declared with a void return type"
msgstr "declaración de devolución con un valor, en una función declarada con un tipo de devolución void"
-#: cp/typeck.c:6524
+#: cp/typeck.c:6252
msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr "`operator new' no debe regresar NULL a menos que se declare `throw()' (o -fcheck-new esté en efecto)"
@@ -17113,232 +17655,184 @@ msgstr "`operator new' no debe regresar NULL a menos que se declare `throw()' (o
msgid "type `%T' is not a base type for type `%T'"
msgstr "el tipo `%T' no es un tipo base para el tipo `%T'"
-#: cp/typeck2.c:151
+#: cp/typeck2.c:157
msgid "cannot declare variable `%D' to be of type `%T'"
msgstr "no se puede declarar que la variable `%D' sea de tipo `%T'"
-#: cp/typeck2.c:154
+#: cp/typeck2.c:160
msgid "cannot declare parameter `%D' to be of type `%T'"
msgstr "no se puede declarar que el parámetro `%D' sea de tipo `%T'"
-#: cp/typeck2.c:157
+#: cp/typeck2.c:163
msgid "cannot declare field `%D' to be of type `%T'"
msgstr "no se puede declarar que el campo `%D' sea de tipo `%T'"
-#: cp/typeck2.c:161
+#: cp/typeck2.c:167
msgid "invalid return type for member function `%#D'"
msgstr "tipo de devolución inválido para la función miembro `%#D'"
-#: cp/typeck2.c:163
+#: cp/typeck2.c:169
msgid "invalid return type for function `%#D'"
msgstr "tipo de devolución inválido para la función `%#D'"
-#: cp/typeck2.c:166
+#: cp/typeck2.c:172
msgid "cannot allocate an object of type `%T'"
msgstr "no se puede asignar un objeto de tipo `%T'"
-#: cp/typeck2.c:173
+#: cp/typeck2.c:179
msgid " because the following virtual functions are abstract:"
msgstr " porque las siguientes funciones virtual son abstractas:"
-#: cp/typeck2.c:175
+#: cp/typeck2.c:181
msgid "\t%#D"
msgstr "\t%#D"
-#: cp/typeck2.c:178
+#: cp/typeck2.c:184
msgid " since type `%T' has abstract virtual functions"
msgstr " ya que el tipo `%T' tiene funciones virtuales abstractas"
-#: cp/typeck2.c:213
-msgid "invalid use of undefined type `%#T'"
-msgstr "uso inválido del tipo indefinido `%#T'"
-
-#: cp/typeck2.c:214
-msgid "forward declaration of `%#T'"
-msgstr "declaración hacia adelante de `%#T'"
-
-#: cp/typeck2.c:218
-msgid "invalid use of `%T'"
-msgstr "uso inválido de `%T'"
-
-#: cp/typeck2.c:232
-msgid "invalid use of member (did you forget the `&' ?)"
-msgstr "uso inválido del miembro (¿olvidó el `&'?)"
-
-#: cp/typeck2.c:236
-msgid "invalid use of template type parameter"
-msgstr "uso inválido del parámetro de tipo plantilla"
-
-#: cp/typeck2.c:243
-msgid "address of overloaded function with no contextual type information"
-msgstr "dirección de la función sobrecargada sin información contextual de tipo"
-
-#: cp/typeck2.c:245
-msgid "overloaded function with no contextual type information"
-msgstr "función sobrecargada sin información contextual de tipo"
-
-#: cp/typeck2.c:247
-msgid "insufficient contextual information to determine type"
-msgstr "información contextual insuficiente para determinar el tipo"
-
-#: cp/typeck2.c:301
+#: cp/typeck2.c:337
msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr "se usó la sintaxis de constructor, pero no se declaró un constructor para el tipo `%T'"
-#: cp/typeck2.c:311
-msgid "initializer list construction invalid for derived class object `%D'"
-msgstr "construcción de la lista de iniciadores inválida para el objeto de la clase derivada `%D'"
-
-#: cp/typeck2.c:313
-msgid "initializer list construction invalid for polymorphic class object `%D'"
-msgstr "construcción de la lista de iniciadores inválida para el objeto de la clase polimórfica `%D'"
-
-#: cp/typeck2.c:316 cp/typeck2.c:322 cp/typeck2.c:328
-msgid "initializer list construction invalid for `%D'"
-msgstr "construcción de la lista de iniciadores inválida para `%D'"
-
-#: cp/typeck2.c:317
-msgid "due to the presence of a constructor"
-msgstr "debido a la presencia de un constructor"
-
-#: cp/typeck2.c:323 cp/typeck2.c:329
-msgid "due to non-public access of member `%D'"
-msgstr "debido al acceso no público del miembro `%D'"
-
-#: cp/typeck2.c:341
+#: cp/typeck2.c:348
msgid "comma expression used to initialize return value"
-msgstr "expresión coma utilizada para iniciar el valor de devolución"
+msgstr "se usó una expresión coma para inicializar el valor de devolución"
-#: cp/typeck2.c:350
+#: cp/typeck2.c:357
msgid "cannot initialize arrays using this syntax"
-msgstr "no se pueden asignar valores iniciales a matrices usando esta sintaxis"
+msgstr "no se pueden inicializar matrices usando esta sintaxis"
-#: cp/typeck2.c:412
-msgid "ISO C++ forbids non-constant aggregate initializer expressions"
-msgstr "ISO C++ prohibe las expresiones agregadas iniciadoras que no son constantes"
-
-#: cp/typeck2.c:498
+#: cp/typeck2.c:472
msgid "initializing array with parameter list"
-msgstr "asignando valores iniciales a una matriz con una lista de parámetros"
+msgstr "inicializando una matriz con una lista de parámetros"
-#: cp/typeck2.c:554
+#: cp/typeck2.c:528
msgid "initializer for scalar variable requires one element"
-msgstr "iniciador para una variable escalar requiere un elemento"
+msgstr "inicializador para una variable escalar requiere un elemento"
-#: cp/typeck2.c:561
+#: cp/typeck2.c:535
msgid "braces around scalar initializer for `%T'"
-msgstr "llaves alrededor del valor inicial escalar para `%T'"
+msgstr "llaves alrededor del inicializador para `%T'"
-#: cp/typeck2.c:564
+#: cp/typeck2.c:538
msgid "ignoring extra initializers for `%T'"
-msgstr "ignorando los iniciadores extra para `%T'"
+msgstr "ignorando los inicializadores extra para `%T'"
-#: cp/typeck2.c:576
+#: cp/typeck2.c:550
msgid "variable-sized object of type `%T' may not be initialized"
-msgstr "un objeto de tamaño variable de tipo `%T' no puede tener valor inicial"
+msgstr "un objeto de tamaño variable de tipo `%T' no puede ser inicializado"
-#: cp/typeck2.c:586
+#: cp/typeck2.c:560
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
-msgstr "el subobjeto de tipo `%T' debe ser iniciado por un constructor, no por `%E'"
+msgstr "el subobjeto de tipo `%T' debe ser inicializado por un constructor, no por `%E'"
-#: cp/typeck2.c:652
+#: cp/typeck2.c:626
msgid "aggregate has a partly bracketed initializer"
-msgstr "el agregado tiene un iniciador con llaves parciales"
+msgstr "el agregado tiene un inicializador con llaves parciales"
-#: cp/typeck2.c:690 cp/typeck2.c:791
+#: cp/typeck2.c:664 cp/typeck2.c:769
msgid "non-trivial labeled initializers"
-msgstr "iniciadores etiquetados como no triviales"
+msgstr "inicializadores etiquetados como no triviales"
-#: cp/typeck2.c:707
+#: cp/typeck2.c:681
msgid "non-empty initializer for array of empty elements"
-msgstr "iniciador no-vacío para una matriz de elementos vacíos"
+msgstr "inicializador no-vacío para una matriz de elementos vacíos"
-#: cp/typeck2.c:757
+#: cp/typeck2.c:735
msgid "initializer list for object of class with virtual base classes"
-msgstr "lista de iniciadores para un objeto de una clase con clases base virtual"
+msgstr "lista de inicializadores para un objeto de una clase con clases base virtual"
-#: cp/typeck2.c:763
+#: cp/typeck2.c:741
msgid "initializer list for object of class with base classes"
-msgstr "lista de iniciadores para un objeto de una clase con clases base"
+msgstr "lista de inicializadores para un objeto de una clase con clases base"
-#: cp/typeck2.c:769
+#: cp/typeck2.c:747
msgid "initializer list for object using virtual functions"
-msgstr "lista de iniciadores para un objeto que usa funciones virtuales"
+msgstr "lista de inicializadores para un objeto que usa funciones virtuales"
-#: cp/typeck2.c:832 cp/typeck2.c:849
+#: cp/typeck2.c:810 cp/typeck2.c:826
msgid "missing initializer for member `%D'"
-msgstr "falta el iniciador para el miembro `%D'"
+msgstr "falta el inicializador para el miembro `%D'"
-#: cp/typeck2.c:837
+#: cp/typeck2.c:815
msgid "uninitialized const member `%D'"
-msgstr "miembro const `%D' sin iniciar"
+msgstr "miembro const `%D' sin inicializar"
-#: cp/typeck2.c:840
+#: cp/typeck2.c:817
msgid "member `%D' with uninitialized const fields"
-msgstr "miembro `%D' con campos const sin iniciar"
+msgstr "miembro `%D' con campos const sin inicializar"
-#: cp/typeck2.c:843
+#: cp/typeck2.c:820
msgid "member `%D' is uninitialized reference"
-msgstr "el miembro `%D' es una referencia sin iniciar"
+msgstr "el miembro `%D' es una referencia sin inicializar"
-#: cp/typeck2.c:886
+#: cp/typeck2.c:867
msgid "index value instead of field name in union initializer"
-msgstr "valor de índice en lugar del nombre del campo en el iniciador de union"
+msgstr "valor de índice en lugar del nombre del campo en el inicializador de union"
-#: cp/typeck2.c:898
+#: cp/typeck2.c:879
msgid "no field `%D' in union being initialized"
-msgstr "no existe el campo `%D' en la union que se está iniciando"
+msgstr "no existe el campo `%D' en la union que se está inicializando"
-#: cp/typeck2.c:906
+#: cp/typeck2.c:887
msgid "union `%T' with no named members cannot be initialized"
-msgstr "no se puede iniciar la union `%T' sin miembros nombrados"
+msgstr "no se puede inicializar la union `%T' sin miembros nombrados"
-#: cp/typeck2.c:942
+#: cp/typeck2.c:923
msgid "excess elements in aggregate initializer"
-msgstr "exceso de elementos en iniciador agregado"
+msgstr "exceso de elementos en el inicializador agregado"
-#: cp/typeck2.c:1047
+#: cp/typeck2.c:1037
msgid "circular pointer delegation detected"
msgstr "se detectó una delegación de apuntador circular"
-#: cp/typeck2.c:1060
+#: cp/typeck2.c:1050
msgid "base operand of `->' has non-pointer type `%T'"
msgstr "el operando base de `->' tiene el tipo `%T' que no es apuntador"
-#: cp/typeck2.c:1074
+#: cp/typeck2.c:1064
msgid "result of `operator->()' yields non-pointer result"
msgstr "el resultado de `operator->()' produce un resultado que no es apuntador"
-#: cp/typeck2.c:1076
+#: cp/typeck2.c:1066
msgid "base operand of `->' is not a pointer"
msgstr "el operando base de `->' no es un apuntador"
-#: cp/typeck2.c:1142
+#: cp/typeck2.c:1132
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr "no se puede usar `%E' como un apuntador miembro, porque es de tipo `%T'"
-#: cp/typeck2.c:1149
+#: cp/typeck2.c:1139
msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr "no se puede aplicar el apuntador a miembro `%E' a `%E', el cual es del tipo no agregado `%T'"
-#: cp/typeck2.c:1158
+#: cp/typeck2.c:1148
msgid "member type `%T::' incompatible with object type `%T'"
msgstr "el tipo de miembro `%T::' es incompatible con el tipo objeto `%T'"
-#: cp/typeck2.c:1195
+#: cp/typeck2.c:1185
msgid "`%T' fails to be a typedef or built-in type"
msgstr "`%T' falla al ser un typedef o un tipo interno"
-#: cp/typeck2.c:1268
+#: cp/typeck2.c:1258
#, c-format
msgid "ISO C++ forbids defining types within %s"
msgstr "ISO C++ prohibe la definición de tipos dentro de %s"
+#: cp/typeck2.c:1383
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "llamada a la función `%D' la cual arroja el tipo incompleto `%#T'"
+
+#: cp/typeck2.c:1386
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "llamada a una función la cual arroja el tipo incompleto `%#T'"
+
#. XXX Not i18n clean.
-#: cp/cp-tree.h:3854
+#: cp/cp-tree.h:3887
#, c-format
msgid "%s is deprecated, please see the documentation for details"
-msgstr "%s está deprecado, por favor vea la documentación para más detalles"
+msgstr "%s es obsoleto, por favor vea la documentación para más detalles"
#: cp/lang-options.h:29
msgid "Do not obey access control semantics"
@@ -17393,12 +17887,12 @@ msgid "Export functions even if they can be inlined"
msgstr "Exportar funciones aún si pueden ser inline"
#: cp/lang-options.h:75
-msgid "Only emit explicit template instatiations"
+msgid "Only emit explicit template instantiations"
msgstr "Emitir solamente instanciaciones explícitas de plantillas"
#: cp/lang-options.h:78
-msgid "Only emit explicit instatiations of inline templates"
-msgstr "Emitir solamente instanciaciones explícitas para plantillas inline"
+msgid "Only emit explicit instantiations of inline templates"
+msgstr "Emitir solamente instanciaciones explícitas de plantillas inline"
#: cp/lang-options.h:84
msgid "Don't pedwarn about uses of Microsoft extensions"
@@ -17498,137 +17992,137 @@ msgstr "No avisar cuando las funciones friend sin plantillas son declaradas dent
#: cp/lang-options.h:159
msgid "Don't announce deprecation of compiler features"
-msgstr "No anunciar características deprecadas del compilador"
+msgstr "No anunciar características obsoletas del compilador"
-#: f/bad.c:386
+#: f/bad.c:387
msgid "note:"
msgstr "nota:"
-#: f/bad.c:390
+#: f/bad.c:391
msgid "warning:"
msgstr "aviso:"
-#: f/bad.c:394
+#: f/bad.c:395
msgid "fatal:"
msgstr "fatal:"
-#: f/bad.c:436
+#: f/bad.c:437
msgid "(continued):"
msgstr "(continuado):"
-#: f/bad.c:486 f/bad.c:504
+#: f/bad.c:487 f/bad.c:505
msgid "[REPORT BUG!!] %"
msgstr "[¡¡REPORTAR BICHO!!] %"
-#: f/bad.c:493 f/bad.c:525
+#: f/bad.c:494 f/bad.c:526
msgid "[REPORT BUG!!]"
msgstr "[¡¡REPORTAR BICHO!!]"
-#: f/com.c:3122
+#: f/com.c:3132
#, no-c-format
msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
msgstr "la etiqueta ASSIGNada no cabe en `%A' en %0 -- utilizando una similar más ancho"
-#: f/com.c:11606
+#: f/com.c:11623
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr "ningún tipo INTEGER puede guardar una apuntador en esta configuración"
-#: f/com.c:11831
+#: f/com.c:11844
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr "configuration: REAL, INTEGER, y LOGICAL son de %d bits de anchura,"
-#: f/com.c:11833
+#: f/com.c:11846
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
msgstr "y los apuntadores son de %d bits de anchura, pero g77 aún no trabaja"
-#: f/com.c:11835
+#: f/com.c:11848
msgid "properly unless they all are 32 bits wide"
msgstr "de forma adecuada a menos que todos sean de 32 bits de anchura"
-#: f/com.c:11836
+#: f/com.c:11849
msgid "Please keep this in mind before you report bugs."
msgstr "Por favor tenga esto presente antes de reportar `bugs'."
#. I/O will probably crash.
-#: f/com.c:11844
+#: f/com.c:11857
#, c-format
msgid "configuration: char * holds %d bits, but ftnlen only %d"
msgstr "configuration: char * guarda %d bits, pero ftnlen sólo %d"
#. ASSIGN 10 TO I will crash.
-#: f/com.c:11853
+#: f/com.c:11866
#, c-format
msgid ""
"configuration: char * holds %d bits, but INTEGER only %d --\n"
" ASSIGN statement might fail"
msgstr ""
"configuration: char * guarda %d bits, pero INTEGER sólo %d --\n"
-" la declaración ASSIGN podría fallar"
+" la declaración ASSIGN puede fallar"
-#: f/com.c:13687
+#: f/com.c:13681
msgid "In statement function"
msgstr "En la declaración de la función"
-#: f/com.c:13697
+#: f/com.c:13691
msgid "Outside of any program unit:\n"
msgstr "Fuera de cualquier unidad de programa:\n"
-#: f/com.c:15386
+#: f/com.c:15320
#, no-c-format
msgid "%A from %B at %0%C"
msgstr "%A desde %B en %0%C"
-#: f/com.c:15563
+#: f/com.c:15497
msgid "directory name must immediately follow -I"
msgstr "el nombre del directorio debe seguir inmediatamente a -I"
-#: f/com.c:15706
+#: f/com.c:15640
#, no-c-format
msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr "En %0, el fichero INCLUDE %A existe, pero no es legible"
-#: f/com.c:15741
+#: f/com.c:15675
#, no-c-format
msgid "At %0, INCLUDE nesting too deep"
msgstr "En %0, la anidación de INCLUDE es demasiado profunda"
-#: 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 "Dos operadores aritméticos en una fila en %0 y %1 -- use paréntesis"
-#: 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 "El operador en %0 tiene una preferencia menor que aquél en %1 -- use paréntesis"
-#: 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 "Use .EQV./.NEQV. en lugar de .EQ./.NE. en %0 para los operandos LOGICAL en %1 y %2"
-#: f/expr.c:10895
+#: f/expr.c:10896
#, no-c-format
msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
msgstr "Operando sin soporte para ** en %1 -- se convirtió a INTEGER por omisión"
-#: f/g77spec.c:256
+#: f/g77spec.c:234
#, c-format
msgid "overflowed output arg list for `%s'"
msgstr "lista de argumentos de salida desbordada para `%s'"
-#: f/g77spec.c:395
+#: f/g77spec.c:373
msgid "--driver no longer supported"
msgstr "--driver ya no tiene soporte"
-#: f/g77spec.c:408
+#: f/g77spec.c:386
#, c-format
msgid "argument to `%s' missing"
msgstr "falta el argumento para `%s'"
-#: f/g77spec.c:412
+#: f/g77spec.c:390
msgid "no input files; unwilling to write output files"
msgstr "no hay ficheros de entrada; incapaz de escribir ficheros de salida"
@@ -17637,121 +18131,103 @@ msgstr "no hay ficheros de entrada; incapaz de escribir ficheros de salida"
msgid "Implicit declaration of `%A' at %0"
msgstr "Declaración implícita de `%A' en %0"
-#: f/lex.c:274
-#, no-c-format
-msgid "The meaning of `\\x' (at %0) varies with -traditional"
-msgstr "el significado de `\\x' (en %0) varía con -traditional"
-
-#: f/lex.c:325
-#, no-c-format
-msgid "The meaning of `\\a' (at %0) varies with -traditional"
-msgstr "el significado de `\\a' (en %0) varía con -traditional"
-
-#: f/lex.c:355
+#: f/lex.c:326
#, no-c-format
msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
msgstr "Secuencia de escape que no es estándard ISO `\\%A' en %0"
-#: f/lex.c:374
+#: f/lex.c:345
#, no-c-format
msgid "Unknown escape sequence `\\%A' at %0"
msgstr "Secuencia de escape desconocida `\\%A' en %0"
-#: f/lex.c:383
+#: f/lex.c:354
#, no-c-format
msgid "Unterminated escape sequence `\\' at %0"
msgstr "Secuencia de escape sin terminar `\\' en %0"
-#: f/lex.c:394
+#: f/lex.c:365
#, no-c-format
msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
msgstr "Secuencia de escape desconocida: `\\' seguida por el código de caracter 0x%A en %0"
-#: f/lex.c:422
+#: f/lex.c:393
#, no-c-format
msgid "\\x used at %0 with no following hex digits"
msgstr "se usó \\x en %0 sin dígitos hexadecimales a continuación"
-#: f/lex.c:436
+#: f/lex.c:407
#, no-c-format
msgid "Hex escape at %0 out of range"
msgstr "Secuencia de escape hexadecimal en %0 fuera de rango"
-#: f/lex.c:470
+#: f/lex.c:441
#, no-c-format
msgid "Escape sequence at %0 out of range for character"
-msgstr "Secuencia de escape en %0 fuera de rango por el carácter"
-
-#: f/lex.c:593
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr "el significado de `\\x' varía con -traditional"
+msgstr "Secuencia de escape en %0 fuera de rango para el carácter"
-#: f/lex.c:630
+#: f/lex.c:595
msgid "hex escape out of range"
msgstr "secuencia de escape hexadecimal fuera de rango"
-#: f/lex.c:676
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr "el significado de `\\a' varía con -traditional"
-
-#: f/lex.c:692
+#: f/lex.c:648
#, c-format
msgid "non-ANSI-standard escape sequence, `\\%c'"
msgstr "secuencia de escape que no es estándar ANSI, `\\%c'"
-#: f/lex.c:705
+#: f/lex.c:661
#, c-format
msgid "non-ISO escape sequence `\\%c'"
msgstr "secuencia de escape que no es ISO, `\\%c'"
-#: f/lex.c:709
+#: f/lex.c:665
#, c-format
msgid "unknown escape sequence `\\%c'"
msgstr "secuencia de escape desconocida, `\\%c'"
-#: f/lex.c:711
+#: f/lex.c:667
#, c-format
msgid "unknown escape sequence: `\\' followed by char code 0x%x"
msgstr "secuencia de escape desconocida: `\\' seguida por el código de caracter 0x%x"
-#: f/lex.c:788
+#: f/lex.c:744
msgid "badly formed directive -- no closing quote"
msgstr "directiva mal formada -- comilla sin cerrar"
-#: f/lex.c:846
+#: f/lex.c:802
msgid "#-lines for entering and leaving files don't match"
msgstr "el número de #-lines para entrar y salir de los ficheros no coinciden"
-#: f/lex.c:1008
+#: f/lex.c:964
msgid "bad directive -- missing close-quote"
msgstr "directiva errónea -- falta una comilla que cierre"
-#: f/lex.c:1122
+#: f/lex.c:1078
#, c-format
msgid "ignoring pragma: %s"
msgstr "ignorando el pragma: %s"
-#: f/lex.c:1200
+#: f/lex.c:1156
msgid "invalid #ident"
msgstr "instrucción #ident inválida"
-#: f/lex.c:1217
+#: f/lex.c:1173
msgid "undefined or invalid # directive"
msgstr "directiva # no definida o inválida"
-#: f/lex.c:1273
+#: f/lex.c:1229
msgid "invalid #line"
msgstr "instrucción #line inválida"
-#: f/lex.c:1329 f/lex.c:1373
+#: f/lex.c:1285 f/lex.c:1329
msgid "use `#line ...' instead of `# ...' in first line"
msgstr "use `#line ...' en lugar de `# ...' en la primera línea"
-#: f/lex.c:1383
+#: f/lex.c:1339
msgid "invalid #-line"
msgstr "instrucción #-line inválida"
-#: f/lex.c:1476
+#: f/lex.c:1432
#, no-c-format
msgid "Null character at %0 -- line ignored"
msgstr "Carácter nulo en %0 -- línea ignorada"
@@ -17761,21 +18237,25 @@ msgstr "Carácter nulo en %0 -- línea ignorada"
msgid "INCLUDE at %0 not the only statement on the source line"
msgstr "INCLUDE en %0 no es la primera declaración en la línea de código"
-#: f/ste.c:1404 f/ste.c:1755
+#: f/ste.c:1400 f/ste.c:1747
msgid "ASSIGNed FORMAT specifier is too small"
msgstr "el especificador de FORMATo ASSIGNado es demasiado pequeño"
#. ~~~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 "SELECT CASE en el tipo CHARACTER (en %0) no tiene soporte -- perdón"
-#: f/ste.c:2965
+#: f/ste.c:2729
+msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+msgstr "SELECT (en %0) tiene casos duplicados -- revise el desbordamiento entero de los CASE(s)"
+
+#: f/ste.c:2959
msgid "ASSIGN to variable that is too small"
msgstr "ASSIGN a una variable que es demasiado pequeña"
-#: f/ste.c:2993
+#: f/ste.c:2987
msgid "ASSIGNed GOTO target variable is too small"
msgstr "la variable ASSIGNada del objetivo GOTO es demasiado pequeña"
@@ -17784,21 +18264,21 @@ msgstr "la variable ASSIGNada del objetivo GOTO es demasiado pequeña"
msgid "Local adjustable symbol `%A' at %0"
msgstr "Símbolo local ajustable `%A' en %0"
-#: f/target.c:2560
+#: f/target.c:2550
msgid "data initializer on host with different endianness"
-msgstr "iniciador de datos en el anfitrión con `endianness' diferente"
+msgstr "inicializador de datos en el anfitrión con `endianness' diferente"
-#: f/top.c:238
+#: f/top.c:237
#, c-format
msgid "%s no longer supported -- try -fvxt"
msgstr "%s ya no tiene soporte -- intente -fvxt"
-#: f/top.c:240
+#: f/top.c:239
#, c-format
msgid "%s no longer supported -- try -fno-vxt -ff90"
msgstr "%s ya no tiene soporte -- intente -fno-vxt -ff90"
-#: f/top.c:308 f/top.c:310
+#: f/top.c:307 f/top.c:309
#, c-format
msgid "%s disabled, use normal debugging flags"
msgstr "%s desactivado, use los interruptores normales de depuración"
@@ -17881,7 +18361,7 @@ msgstr "Permite que REAL(Z) y AIMAG(Z) reciban DOUBLE COMPLEX Z"
#: f/lang-options.h:91
msgid "Initialization via DATA and PARAMETER is type-compatible"
-msgstr "La iniciación a través de DATA y PARAMETER es de tipos compatibles"
+msgstr "La inicialización a través de DATA y PARAMETER es de tipos compatibles"
#: f/lang-options.h:93
msgid "Allow INTEGER and LOGICAL interchangeability"
@@ -17893,7 +18373,7 @@ msgstr "Muestra la información interna relacionada con la depuración"
#: f/lang-options.h:99
msgid "Initialize local vars and arrays to zero"
-msgstr "Iniciando las variables locales y matrices a cero"
+msgstr "Inicializa las variables locales y matrices a cero"
#: f/lang-options.h:103
msgid "Backslashes in character/hollerith constants not special (C-style)"
@@ -18424,7 +18904,7 @@ msgstr "Etiqueta indefinida, primero referenciada en %0"
#: f/bad.def:530
#, no-c-format
msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
-msgstr "La declaración o atributo SAVE en %1 no se puede espeficicar junto con la declaración o atributo SAVE en %0"
+msgstr "La declaración o atributo SAVE en %1 no se puede especificar junto con la declaración o atributo SAVE en %0"
#: f/bad.def:533
#, no-c-format
@@ -18735,12 +19215,12 @@ msgstr "Se intentó especificar un segundo valor inicial para `%A' en %0"
#: f/bad.def:886
#, no-c-format
msgid "Too few initial values in list of initializers for `%A' at %0"
-msgstr "Muy pocos valores iniciales en la lista de iniciadores para `%A' en %0"
+msgstr "Muy pocos valores iniciales en la lista de inicializadores para `%A' en %0"
#: f/bad.def:889
#, no-c-format
msgid "Too many initial values in list of initializers starting at %0"
-msgstr "Demasiados valores iniciales en la lista de iniciadores que comienza en %0"
+msgstr "Demasiados valores iniciales en la lista de inicializadores que comienza en %0"
#: f/bad.def:892
#, no-c-format
@@ -18750,7 +19230,7 @@ msgstr "La especificación de matriz o subcadena para `%A' está fuera de rango en
#: f/bad.def:895
#, no-c-format
msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
-msgstr "El subíndice de matriz #%B está fuera de rango para la iniciación de `%A' en la declaración en %0"
+msgstr "El subíndice de matriz #%B está fuera de rango para la inicialización de `%A' en la declaración en %0"
#: f/bad.def:898
#, no-c-format
@@ -18845,7 +19325,7 @@ msgstr "El bloque común `%A' es %B %D en longitud en %0 pero %C %E en %1"
#: f/bad.def:987
#, no-c-format
msgid "Blank common initialized at %0"
-msgstr "Común en blanco iniciado en %0"
+msgstr "Común en blanco inicializado en %0"
#: f/bad.def:990
#, no-c-format
@@ -18925,7 +19405,7 @@ msgstr "Continuación con signo & en la primera columna en %0"
#: f/bad.def:1055 f/bad.def:1058
#, no-c-format
msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
-msgstr "El nombre global `%A' definido en %0 ya se había definido en %1 [info -f g77 M GLOBALS]"
+msgstr "El nombre global `%A' definido en %0 ya estaba definido en %1 [info -f g77 M GLOBALS]"
#: f/bad.def:1061 f/bad.def:1064
#, no-c-format
@@ -19018,319 +19498,324 @@ msgstr "En la lista de nombres"
msgid "In anything"
msgstr "En cualquier"
-#: java/check-init.c:915
+#: java/check-init.c:917
#, c-format
msgid "internal error in check-init: tree code not implemented: %s"
msgstr "error interno en check-init: árbol de código no implementado: %s"
-#: java/check-init.c:988
+#: java/check-init.c:990
#, c-format
msgid "final field '%s' may not have been initialized"
-msgstr "el campo final '%s' puede no haber sido iniciado"
+msgstr "el campo final '%s' puede no haber sido inicializado"
-#: java/class.c:568 java/class.c:593
+#: java/class.c:539 java/class.c:564
msgid "internal error - too many interface type"
msgstr "error interno - demasiados tipos de interfaz"
-#: java/class.c:744
+#: java/class.c:677
msgid "bad method signature"
msgstr "firma de método errónea"
-#: java/class.c:793
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
msgstr "atributo ConstantValue mal colocado (no está en ningún campo)"
-#: java/class.c:795
+#: java/class.c:728
#, c-format
msgid "duplicate ConstantValue attribute for field '%s'"
msgstr "atributo ConstantValue duplicado para el campo '%s'"
-#: java/class.c:806
+#: java/class.c:739
#, c-format
msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr "el atributo ConstantValue del campo '%s' tiene un tipo erróneo"
-#: java/class.c:1170
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
msgstr "no se encuentra el campo '%s' en la clase"
-#: java/class.c:1432
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
msgstr "método abstracto en la clase que no es abstracta"
-#: java/class.c:2133
+#: java/class.c:2078
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr "el método '%s' que no es estático anula al método estático"
-#: java/decl.c:1515
+#: java/decl.c:1541
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr "En %s: variable sobreescrita y rangos de excepción en %d"
-#: java/decl.c:1603
+#: java/decl.c:1622
msgid "bad type in parameter debug info"
msgstr "tipo erróneo en la información de parámetros de depuración"
-#: java/decl.c:1613
+#: java/decl.c:1632
#, c-format
msgid "bad PC range for debug info for local `%s'"
msgstr "rango de PC erróneo para la información de depuración para `%s' local"
-#: java/expr.c:549
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
msgstr "desbordamiento de la pila - operación dup*"
-#: java/expr.c:1541
+#: java/expr.c:1534
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr "la referencia `%s' es ambigua: aparece en la interfaz `%s' y en la interfaz `%s'"
-#: java/expr.c:1570
+#: java/expr.c:1563
#, c-format
msgid "field `%s' not found"
msgstr "no se encuentra el campo `%s'"
-#: java/expr.c:1725
+#: java/expr.c:1715
msgid "ret instruction not implemented"
msgstr "no se ha implementado aún la instrucción ret"
-#: java/expr.c:1862
+#: java/expr.c:1857
#, c-format
msgid "method '%s' not found in class"
msgstr "no se encuentra el método '%s' en la clase"
-#: java/expr.c:2066
+#: java/expr.c:2060
#, c-format
msgid "failed to find class '%s'"
msgstr "no se encontró la clase '%s'"
-#: java/expr.c:2078
+#: java/expr.c:2070
#, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr "la clase '%s' no tiene un método llamado '%s' que coincida con la firma '%s'"
-#: java/expr.c:2088
+#: java/expr.c:2080
msgid "invokestatic on non static method"
msgstr "invokestatic en un método no estático"
-#: java/expr.c:2093
+#: java/expr.c:2085
msgid "invokestatic on abstract method"
msgstr "invokestatic en un método abstracto"
-#: java/expr.c:2101
+#: java/expr.c:2093
msgid "invoke[non-static] on static method"
msgstr "invoke[no-estático] en un método estático"
-#: java/expr.c:2386
+#: java/expr.c:2396
#, c-format
msgid "missing field '%s' in '%s'"
msgstr "falta el campo '%s' en '%s'"
-#: java/expr.c:2392
+#: java/expr.c:2402
#, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr "no coincide la firma para el campo '%s' en '%s'"
-#: java/expr.c:2415
+#: java/expr.c:2425
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr "la asignación para el campo final `%s' no está en el campo de la clase"
-#: java/expr.c:2420
+#: java/expr.c:2430
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
-msgstr "la asignación para el campo final estático `%s' no está en el iniciador de la clase"
+msgstr "la asignación para el campo final estático `%s' no está en el inicializador de la clase"
-#: java/expr.c:2427
+#: java/expr.c:2437
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr "la asignación al campo final `%s' no está en el constructor"
-#: java/expr.c:2665
+#: java/expr.c:2684
#, c-format
msgid "can't expand %s"
msgstr "no se puede expandir %s"
-#: java/expr.c:2841
+#: java/expr.c:2861
msgid "invalid PC in line number table"
msgstr "PC inválido en la tabla de números de línea"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2886
+#: java/expr.c:2906
#, c-format
msgid "unreachable bytecode from %d to before %d"
msgstr "bytecode inalcanzable desde %d hasta antes de %d"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2923
+#: java/expr.c:2943
#, c-format
msgid "unreachable bytecode from %d to the end of the method"
msgstr "bytecode inalcanzable desde %d hasta el final del método"
#. duplicate code from LOAD macro
-#: java/expr.c:3237
+#: java/expr.c:3261
msgid "unrecogized wide sub-instruction"
msgstr "no se reconoce la sub-instrucción ancha"
-#: java/jcf-io.c:410
+#: java/jcf-io.c:543
#, c-format
msgid "source file for class `%s' is newer than its matching class file. Source file `%s' used instead"
msgstr "el fichero fuente para la clase `%s' es más nuevo que su fichero de clase coincidente. Se usa entonces el fichero fuente `%s'"
-#: java/jcf-parse.c:376
+#: java/jcf-parse.c:338
msgid "bad string constant"
msgstr "constante de cadena errónea"
-#: java/jcf-parse.c:394
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
msgstr "valor erróneo del tipo constante %d, índice %d"
-#: java/jcf-parse.c:566
+#: java/jcf-parse.c:528
#, c-format
msgid "can't reopen %s"
msgstr "no se puede reabrir %s"
-#: java/jcf-parse.c:571
+#: java/jcf-parse.c:533
#, c-format
msgid "can't close %s"
msgstr "no se puede cerrar %s"
-#: java/jcf-parse.c:653
+#: java/jcf-parse.c:619
#, c-format
msgid "cannot find file for class %s"
msgstr "no se puede encontrar el fichero para la clase %s"
-#: java/jcf-parse.c:665
+#: java/jcf-parse.c:631
msgid "not a valid Java .class file"
msgstr "no es un fichero .class de Java válido"
-#: java/jcf-parse.c:668
+#: java/jcf-parse.c:634
msgid "error while parsing constant pool"
msgstr "error mientras se analizaba el conjunto de constantes"
-#: java/jcf-parse.c:671
+#: java/jcf-parse.c:637
#, c-format
msgid "error in constant pool entry #%d\n"
msgstr "error en la entrada de #%d del conjunto de constantes\n"
#. FIXME - where was first time
-#: java/jcf-parse.c:683
+#: java/jcf-parse.c:649
#, c-format
msgid "reading class %s for the second time from %s"
msgstr "leyendo la clase %s por segunda vez desde %s"
-#: java/jcf-parse.c:701
+#: java/jcf-parse.c:667
msgid "error while parsing fields"
msgstr "error mientras se analizaban los campos"
-#: java/jcf-parse.c:704
+#: java/jcf-parse.c:670
msgid "error while parsing methods"
msgstr "error mientras se analizaban los métodos"
-#: java/jcf-parse.c:707
+#: java/jcf-parse.c:673
msgid "error while parsing final attributes"
msgstr "error mientras se analizaban los atributos finales"
-#: java/jcf-parse.c:721
+#: java/jcf-parse.c:687
#, c-format
msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr "el `java.lang.Object' que se encontró en `%s' no tiene el atributo especial de longitud cero `gnu.gcj.gcj-compiled'. Esto significa generalmente que su ruta de clases está establecida incorrectamente. Use `info gcj \"Input Options\"' para ver la página de info que describe cómo establecer la ruta de clases"
-#: java/jcf-parse.c:811
+#: java/jcf-parse.c:777
msgid "missing Code attribute"
msgstr "falta el atributo Code"
-#: java/jcf-parse.c:1050
+#: java/jcf-parse.c:1014
msgid "source file seen twice on command line and will be compiled only once"
msgstr "el fichero fuente se vio dos veces en la línea de comando y se compilará solo una vez"
-#: java/jcf-parse.c:1066
+#: java/jcf-parse.c:1030
msgid "no input file specified"
msgstr "no se especificaron ficheros de entrada"
-#: java/jcf-parse.c:1095
+#: java/jcf-parse.c:1059
#, c-format
msgid "can't close input file %s"
msgstr "no se puede cerrar el fichero de entrada %s"
-#: java/jcf-parse.c:1132
+#: java/jcf-parse.c:1096
#, c-format
msgid "bad zip/jar file %s"
msgstr "fichero zip/jar %s erróneo"
-#: java/jcf-write.c:2630
+#: java/jcf-write.c:2650
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr "error interno en generate_bytecode_insn - no se ha implementado el árbol de código: %s"
-#: java/jcf-write.c:2937
+#: java/jcf-write.c:2988
msgid "field initializer type mismatch"
-msgstr "no coincide el tipo del iniciador del campo"
+msgstr "no coincide el tipo del inicializador del campo"
-#: java/jcf-write.c:3346
+#: java/jcf-write.c:3419
#, c-format
msgid "can't create directory %s"
msgstr "no se puede crear el directorio %s"
-#: java/jv-scan.c:183
+#: java/jcf-write.c:3473
+#, c-format
+msgid "can't create %s"
+msgstr "no se puede crear %s"
+
+#: java/jv-scan.c:187
msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
msgstr "sólo se permite uno de `--print-main', `--list-class' y `--complexity'"
-#: java/jv-scan.c:186
+#: java/jv-scan.c:190
#, c-format
msgid "can't open output file `%s'"
msgstr "no se puede abrir el fichero de salida `%s'"
-#: java/jv-scan.c:220
+#: java/jv-scan.c:224
#, c-format
msgid "file not found `%s'"
msgstr "no se puede encontrar el fichero `%s'"
-#: java/jvspec.c:427
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
msgstr "no se puede especificar `-D' sin `--main'\n"
-#: java/jvspec.c:430
+#: java/jvspec.c:429
#, c-format
msgid "`%s' is not a valid class name"
msgstr "`%s' no es un nombre de clase válido"
-#: java/jvspec.c:436
-msgid "-R requires -o"
-msgstr "-R requiere -o"
+#: java/jvspec.c:435
+msgid "--resource requires -o"
+msgstr "--resource requiere -o"
-#: java/jvspec.c:443
+#: java/jvspec.c:442
msgid "warning: already-compiled .class files ignored with -C"
msgstr "aviso: se ignoraron los ficheros .class que ya fueron compilados con -C"
-#: java/jvspec.c:450
+#: java/jvspec.c:449
msgid "cannot specify both -C and -o"
msgstr "no se pueden especificar -C y -o al mismo tiempo"
-#: java/jvspec.c:462
+#: java/jvspec.c:461
msgid "cannot create temporary file"
msgstr "no se puede crear el fichero temporal"
-#: java/jvspec.c:490
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
msgstr "no está implementado usar ambos @FILE con ficheros múltiples"
-#: java/jvspec.c:548
+#: java/jvspec.c:538
msgid "cannot specify `main' class when not linking"
msgstr "no se puede especificar la clase `main' cuando no se está enlazando"
-#: java/lang.c:453
+#: java/lang.c:544
msgid "can't do dependency tracking with input from stdin"
msgstr "no se puede hacer la revisión de dependencias con entrada desde entrada estándard"
-#: java/lang.c:469
+#: java/lang.c:560
msgid "couldn't determine target name for dependency tracking"
msgstr "no se puede determinar el nombre del objetivo para la revisión de dependencias"
-#: java/lex.c:308
+#: java/lex.c:303
#, c-format
msgid ""
"unknown encoding: `%s'\n"
@@ -19350,192 +19835,232 @@ msgstr ""
msgid "can't mangle %s"
msgstr "no se puede deshacer %s"
-#: 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 "error interno - nombre Utf8 inválido"
-#: /usr/share/bison.simple:650
-msgid "parse error; also virtual memory exceeded"
-msgstr "error de decodificación; también se excedió la memoria"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:747 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:785
-msgid "Missing name"
-msgstr "Falta el nombre"
+#: ../../gcc/java/parse-scan.y:881 ../../gcc/java/parse.y:962
+#: ../../gcc/java/parse.y:1303 ../../gcc/java/parse.y:1364
+#: ../../gcc/java/parse.y:1574 ../../gcc/java/parse.y:1796
+#: ../../gcc/java/parse.y:1805 ../../gcc/java/parse.y:1816
+#: ../../gcc/java/parse.y:1827 ../../gcc/java/parse.y:1839
+#: ../../gcc/java/parse.y:1854 ../../gcc/java/parse.y:1871
+#: ../../gcc/java/parse.y:1873 ../../gcc/java/parse.y:1945
+#: ../../gcc/java/parse.y:2116 ../../gcc/java/parse.y:2178
+#: ../../gcc/java/parse.y:2330 ../../gcc/java/parse.y:2342
+#: ../../gcc/java/parse.y:2349 ../../gcc/java/parse.y:2356
+#: ../../gcc/java/parse.y:2367 ../../gcc/java/parse.y:2369
+#: ../../gcc/java/parse.y:2407 ../../gcc/java/parse.y:2409
+#: ../../gcc/java/parse.y:2411 ../../gcc/java/parse.y:2432
+#: ../../gcc/java/parse.y:2434 ../../gcc/java/parse.y:2436
+#: ../../gcc/java/parse.y:2452 ../../gcc/java/parse.y:2454
+#: ../../gcc/java/parse.y:2475 ../../gcc/java/parse.y:2477
+#: ../../gcc/java/parse.y:2479 ../../gcc/java/parse.y:2507
+#: ../../gcc/java/parse.y:2509 ../../gcc/java/parse.y:2511
+#: ../../gcc/java/parse.y:2513 ../../gcc/java/parse.y:2531
+#: ../../gcc/java/parse.y:2533 ../../gcc/java/parse.y:2544
+#: ../../gcc/java/parse.y:2555 ../../gcc/java/parse.y:2566
+#: ../../gcc/java/parse.y:2577 ../../gcc/java/parse.y:2588
+#: ../../gcc/java/parse.y:2601 ../../gcc/java/parse.y:2605
+#: ../../gcc/java/parse.y:2607 ../../gcc/java/parse.y:2620
+msgid "Missing term"
+msgstr "Falta el término"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:749 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:787 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:812 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:996 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1343 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1554 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1556 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1785 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1811 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1822 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1833 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1845
+#: ../../gcc/java/parse-scan.y:883 ../../gcc/java/parse.y:734
+#: ../../gcc/java/parse.y:772 ../../gcc/java/parse.y:797
+#: ../../gcc/java/parse.y:983 ../../gcc/java/parse.y:1338
+#: ../../gcc/java/parse.y:1550 ../../gcc/java/parse.y:1552
+#: ../../gcc/java/parse.y:1781 ../../gcc/java/parse.y:1807
+#: ../../gcc/java/parse.y:1818 ../../gcc/java/parse.y:1829
+#: ../../gcc/java/parse.y:1841 ../../gcc/java/parse.y:1856
msgid "';' expected"
msgstr "se esperaba ';'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:810
+#: ../../gcc/java/parse.y:732 ../../gcc/java/parse.y:770
+msgid "Missing name"
+msgstr "Falta el nombre"
+
+#: ../../gcc/java/parse.y:795
msgid "'*' expected"
msgstr "se esperaba '*'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:824
+#: ../../gcc/java/parse.y:809
msgid "Class or interface declaration expected"
msgstr "se esperaba una declaración de clase o interfaz"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:859 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:861
+#: ../../gcc/java/parse.y:846 ../../gcc/java/parse.y:848
msgid "Missing class name"
msgstr "Falta el nombre de la clase"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:864 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:868 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:876 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1041 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1289 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1291 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1620 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1856 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1888 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1940
+#: ../../gcc/java/parse.y:851 ../../gcc/java/parse.y:855
+#: ../../gcc/java/parse.y:863 ../../gcc/java/parse.y:1023
+#: ../../gcc/java/parse.y:1284 ../../gcc/java/parse.y:1286
+#: ../../gcc/java/parse.y:1616 ../../gcc/java/parse.y:1867
+#: ../../gcc/java/parse.y:1899 ../../gcc/java/parse.y:1952
msgid "'{' expected"
msgstr "Se esperaba '{'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:878
+#: ../../gcc/java/parse.y:865
msgid "Missing super class name"
msgstr "No se encuentra el nombre de la super clase"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:888 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:904
+#: ../../gcc/java/parse.y:875 ../../gcc/java/parse.y:891
msgid "Missing interface name"
msgstr "No se encuentra el nombre de la interfaz"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:975 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1308 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1369 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1578 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1800 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1809 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1820 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1831 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1843 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1860 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1862 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1933 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2104 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2166 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2318 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2330 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2337 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2344 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2355 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2357 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2395 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2397 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2399 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2420 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2422 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2424 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2440 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2442 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2463 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2465 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2467 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2495 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2497 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2499 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2501 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2519 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2521 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2532 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2543 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2554 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2565 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2576 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2589 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2593 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2595 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2608
-msgid "Missing term"
-msgstr "Falta el término"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:990
+#: ../../gcc/java/parse.y:977
msgid "Missing variable initializer"
-msgstr "Falta la variable de inicio"
+msgstr "Falta el inicializador de la variable"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1007
+#: ../../gcc/java/parse.y:994
msgid "Invalid declaration"
msgstr "Declaración inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1013
-msgid "Can't specify array dimension in a declaration"
-msgstr "No se puede especificar la dimensión de una matriz en una declaración"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1015 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1091 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2141 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2163 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2167 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2202 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2279 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2289
+#: ../../gcc/java/parse.y:997 ../../gcc/java/parse.y:1082
+#: ../../gcc/java/parse.y:2153 ../../gcc/java/parse.y:2175
+#: ../../gcc/java/parse.y:2179 ../../gcc/java/parse.y:2214
+#: ../../gcc/java/parse.y:2291 ../../gcc/java/parse.y:2301
msgid "']' expected"
msgstr "Se esperaba ']'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1019
+#: ../../gcc/java/parse.y:1001
msgid "Unbalanced ']'"
msgstr "']' desbalanceado"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1055
+#: ../../gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
msgstr "Declaración de método inválida, se requiere un nombre de método"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1061 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1063 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2024
+#: ../../gcc/java/parse.y:1042 ../../gcc/java/parse.y:1047
+#: ../../gcc/java/parse.y:1052 ../../gcc/java/parse.y:2036
msgid "Identifier expected"
msgstr "Se esperaba un identificador"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1066
+#: ../../gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
msgstr "Declaración de método inválida, se requiere un tipo de devolución"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1089 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1534 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1541 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1550 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1552 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1580 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1688 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1969 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2022
+#: ../../gcc/java/parse.y:1080 ../../gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1537 ../../gcc/java/parse.y:1546
+#: ../../gcc/java/parse.y:1548 ../../gcc/java/parse.y:1576
+#: ../../gcc/java/parse.y:1684 ../../gcc/java/parse.y:1981
+#: ../../gcc/java/parse.y:2034
msgid "')' expected"
msgstr "Se esperaba ')'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1105
+#: ../../gcc/java/parse.y:1096
msgid "Missing formal parameter term"
msgstr "Falta el término de parámetro formal"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1120 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1125
+#: ../../gcc/java/parse.y:1111 ../../gcc/java/parse.y:1116
msgid "Missing identifier"
msgstr "Falta el identificador"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1145 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1154
+#: ../../gcc/java/parse.y:1136 ../../gcc/java/parse.y:1145
msgid "Missing class type term"
msgstr "Falta el término de tipo de clase"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1306
+#: ../../gcc/java/parse.y:1301
msgid "Invalid interface type"
msgstr "Tipo de interfaz inválido"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1498 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1667 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1669
+#: ../../gcc/java/parse.y:1494 ../../gcc/java/parse.y:1663
+#: ../../gcc/java/parse.y:1665
msgid "':' expected"
msgstr "Se esperaba ':'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1520 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1525 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1516 ../../gcc/java/parse.y:1521
+#: ../../gcc/java/parse.y:1526
msgid "Invalid expression statement"
msgstr "Declaración de expresión inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1548 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1576 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1616 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1684 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1752 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1858 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1926 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2016 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2018 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2026 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2262 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2264
+#: ../../gcc/java/parse.y:1544 ../../gcc/java/parse.y:1572
+#: ../../gcc/java/parse.y:1612 ../../gcc/java/parse.y:1680
+#: ../../gcc/java/parse.y:1748 ../../gcc/java/parse.y:1869
+#: ../../gcc/java/parse.y:1938 ../../gcc/java/parse.y:2028
+#: ../../gcc/java/parse.y:2030 ../../gcc/java/parse.y:2038
+#: ../../gcc/java/parse.y:2274 ../../gcc/java/parse.y:2276
msgid "'(' expected"
msgstr "Se esperaba '('"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1618
+#: ../../gcc/java/parse.y:1614
msgid "Missing term or ')'"
msgstr "Falta término o ')'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1665
+#: ../../gcc/java/parse.y:1661
msgid "Missing or invalid constant expression"
msgstr "Expresión constante faltante o inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1686
+#: ../../gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr "Faltan término y ')' esperados"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1725
+#: ../../gcc/java/parse.y:1721
msgid "Invalid control expression"
msgstr "Expresión de control inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1727 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1729
+#: ../../gcc/java/parse.y:1723 ../../gcc/java/parse.y:1725
msgid "Invalid update expression"
msgstr "Expresión de actualización inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1754
+#: ../../gcc/java/parse.y:1750
msgid "Invalid init statement"
msgstr "Declaración de inicio inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1929
+#: ../../gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr "Faltan término o ')' esperados"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1971
+#: ../../gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
msgstr "Se esperaba 'class' o 'this'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1973 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1975
+#: ../../gcc/java/parse.y:1985 ../../gcc/java/parse.y:1987
msgid "'class' expected"
msgstr "Se esperaba 'class'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2020
+#: ../../gcc/java/parse.y:2032
msgid "')' or term expected"
msgstr "Se esperaba ')' o término"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2139
+#: ../../gcc/java/parse.y:2151
msgid "'[' expected"
msgstr "Se esperaba '['"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2217
+#: ../../gcc/java/parse.y:2229
msgid "Field expected"
msgstr "Se esperaba un campo"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2274 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2284
+#: ../../gcc/java/parse.y:2286 ../../gcc/java/parse.y:2296
msgid "Missing term and ']' expected"
msgstr "Faltan término y ']' esperados"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2388
+#: ../../gcc/java/parse.y:2400
msgid "']' expected, invalid type expression"
msgstr "Se esperaba ']', expresión de tipo inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2391
+#: ../../gcc/java/parse.y:2403
msgid "Invalid type expression"
msgstr "Expresión de tipo inválida"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2503
+#: ../../gcc/java/parse.y:2515
msgid "Invalid reference type"
msgstr "Tipo de referencia inválido"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2981
+#: ../../gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
msgstr "La invocación del constructor debe ser el primer elemento en un constructor"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2983
+#: ../../gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr "Solamente los constructores pueden invocar constructores"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2992
+#: ../../gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
msgstr ": `%s' es una característica de JDK1.1(MR)"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:3052 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:3054
+#: ../../gcc/java/parse.y:3064 ../../gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
@@ -19544,54 +20069,54 @@ msgstr ""
"%s.\n"
"%s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:6833
+#: ../../gcc/java/parse.y:6879
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr "archivo .zip malformado en CLASSPATH: %s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:6904
+#: ../../gcc/java/parse.y:6950
#, c-format
msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives"
msgstr "No se puede encontrar el paquete por omisión `%s'. Revise la variable de ambiente CLASSPATH y el acceso a los archivos"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12228
+#: ../../gcc/java/parse.y:12352
#, c-format
msgid "missing static field `%s'"
msgstr "falta el campo static `%s'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12233
+#: ../../gcc/java/parse.y:12357
#, c-format
msgid "not a static field `%s'"
msgstr "'%s' no es un campo static"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12276
+#: ../../gcc/java/parse.y:12400
#, c-format
msgid "No case for %s"
msgstr "No hay case para %s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:13122
+#: ../../gcc/java/parse.y:13365
#, c-format
msgid "unregistered operator %s"
msgstr "operador %s sin registrar"
-#: java/typeck.c:178
-msgid "internal error - use of undefined type"
-msgstr "error interno - uso de tipo indefinido"
-
-#: java/typeck.c:566
+#: java/typeck.c:553
msgid "junk at end of signature string"
msgstr "basura al final de la cadena de firma"
-#: java/verify.c:480
+#: java/verify.c:479
msgid "bad pc in exception_table"
msgstr "pc erróneo en exception_table"
-#: java/verify.c:1392
+#: java/verify.c:485
+msgid "exception handler inside code that is being protected"
+msgstr "manejador de excepciones dentro del código que se está protegiendo"
+
+#: java/verify.c:1395
#, c-format
msgid "unknown opcode %d@pc=%d during verification"
msgstr "opcode desconocido %d@pc=%d durante la verificación"
-#: 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 "error de verificación en PC=%d"
@@ -19618,7 +20143,7 @@ msgstr "Establecer la ruta de clases"
#: java/lang-options.h:42
msgid "Set class path (deprecated: use --classpath instead)"
-msgstr "Establecer la ruta de clases (deprecado: utilice en su lugar --classpath)"
+msgstr "Establecer la ruta de clases (obsoleto: utilice en su lugar --classpath)"
#: java/lang-options.h:44
msgid "Choose class whose main method should be used"
@@ -19642,7 +20167,7 @@ msgstr "Avisar si se especifican modificadores cuando no son necesarios"
#: java/lang-options.h:54
msgid "Warn if deprecated empty statements are found"
-msgstr "Avisar si se encuentran declaraciones vacías deprecadas"
+msgstr "Avisar si se encuentran declaraciones vacías obsoletas"
#: java/lang-options.h:56
msgid "Warn if .class files are out of date"
@@ -19654,127 +20179,138 @@ msgstr "Revisar siempre por archivos de clases no generados por gcj"
#: java/lang-options.h:60
msgid "Never optimize static class initialization code"
-msgstr "Nunca optimizar el código de iniciación de las clases static"
+msgstr "Nunca optimizar el código de inicialización de las clases static"
#: java/lang-options.h:62
msgid "Use offset tables for virtual method calls"
msgstr "Utilizar tablas de desplazamiento para llamadas a métodos virtuales"
-#: objc/objc-act.c:606
-msgid "no class name specified as argument to -fconstant-string-class"
-msgstr "no se especificó un nombre de clase como argumento para -fconstant-string-class"
-
-#: objc/objc-act.c:757
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
msgstr "el objeto no es conforme con el protocolo `%s'"
-#: objc/objc-act.c:801
+#: objc/objc-act.c:737 objc/objc-act.c:810
#, c-format
msgid "class `%s' does not implement the `%s' protocol"
msgstr "la clase `%s' no implementa el protocolo `%s'"
-#: objc/objc-act.c:882
+#: objc/objc-act.c:914
#, c-format
msgid "`%s' cannot be statically allocated"
msgstr "`%s' no se puede ubicar estáticamente"
-#: objc/objc-act.c:939
+#: objc/objc-act.c:963
#, c-format
msgid "unexpected type for `id' (%s)"
msgstr "tipo inesperado para `id' (%s)"
-#: objc/objc-act.c:944
+#: objc/objc-act.c:968
msgid "undefined type `id', please import <objc/objc.h>"
msgstr "tipo `id' indefinido, por favor importe <objc/objc.h>"
-#: objc/objc-act.c:996
+#: objc/objc-act.c:1019
#, c-format
msgid "protocol `%s' has circular dependency"
msgstr "el protocolo `%s' tiene una dependencia circular"
-#: objc/objc-act.c:1018 objc/objc-act.c:5229
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, c-format
msgid "cannot find protocol declaration for `%s'"
msgstr "no se puede encontrar la declaración de protocolo para `%s'"
-#: objc/objc-act.c:1279 objc/objc-act.c:5747 objc/objc-act.c:6077 objc/objc-act.c:6126 objc/objc-act.c:6162 objc-parse.y:1752
+#: 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:1799
#, c-format
msgid "cannot find interface declaration for `%s'"
msgstr "no se puede encontrar la declaración de interfaz para `%s'"
-#: objc/objc-act.c:1304
+#: objc/objc-act.c:1328
#, c-format
msgid "cannot find reference tag for class `%s'"
msgstr "no se puede encontrar la marca de referencia para la clase %s"
-#: objc/objc-act.c:2314
+#: objc/objc-act.c:2050
+#, c-format
+msgid "creating selector for non existant method %s"
+msgstr "creaundo un selector para el método `%s' que no existe"
+
+#: objc/objc-act.c:2364
#, c-format
msgid "cannot find class `%s'"
msgstr "no se puede encontrar la clase `%s'"
-#: objc/objc-act.c:2316
+#: objc/objc-act.c:2366
#, c-format
msgid "class `%s' already exists"
msgstr "ya existe la clase `%s'"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2440
+#: objc/objc-act.c:2473
#, c-format
msgid "cannot find interface declaration for `%s', superclass of `%s'"
msgstr "no se puede encontrar la declaración de interfaz para `%s', superclase de `%s'"
-#: objc/objc-act.c:2447
+#: objc/objc-act.c:2480
#, c-format
msgid "circular inheritance in interface declaration for `%s'"
msgstr "herencia circular en la declaración de interfaz para `%s'"
-#: objc/objc-act.c:3500 objc/objc-act.c:3517
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
msgid "inconsistent instance variable specification"
msgstr "especificación de instancia de variable inconsistente"
-#: objc/objc-act.c:4710
+#: objc/objc-act.c:4580
+msgid "can not use an object as parameter to a method\n"
+msgstr "no se puede usar un objeto como un parámetro para un método\n"
+
+#: objc/objc-act.c:4780
#, c-format
msgid "multiple declarations for method `%s'"
msgstr "declaraciones múltiples para el método `%s'"
-#: objc/objc-act.c:4876
+#: objc/objc-act.c:4946
#, c-format
msgid "invalid receiver type `%s'"
msgstr "tipo receptor `%s' inválido"
-#: objc/objc-act.c:4907 objc/objc-act.c:4933 objc/objc-act.c:4981
+#: 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 "`%s' no responde a `%s'"
-#: objc/objc-act.c:4913 objc/objc-act.c:7197
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, c-format
msgid "no super class declared in interface for `%s'"
msgstr "no se declaró una super clase en la interfaz para `%s'"
-#: objc/objc-act.c:5011
+#: objc/objc-act.c:5081
msgid "cannot find class (factory) method"
msgstr "no se puede encontrar el método de la clase (de fábrica)"
-#: objc/objc-act.c:5012 objc/objc-act.c:5056
+#: objc/objc-act.c:5082 objc/objc-act.c:5126
#, c-format
msgid "return type for `%s' defaults to id"
msgstr "el tipo de devolución para `%s' por omisión es id"
-#: objc/objc-act.c:5029
+#: objc/objc-act.c:5099
#, c-format
msgid "method `%s' not implemented by protocol"
msgstr "el método `%s' no se ha implementado por el protocolo"
-#: objc/objc-act.c:5038
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
msgstr "el tipo de devolución por omisión es id"
-#: objc/objc-act.c:5055
+#: objc/objc-act.c:5125
msgid "cannot find method"
msgstr "no se puede encontrar el método"
+#: objc/objc-act.c:5399
+#, c-format
+msgid "undeclared selector `%s'"
+msgstr "selector `%s' sin declarar"
+
#. 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
@@ -19784,108 +20320,108 @@ msgstr "no se puede encontrar el método"
#. 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:5298
+#: objc/objc-act.c:5443
#, c-format
msgid "instance variable `%s' accessed in class method"
msgstr "la variable de instancia `%s' es accessada en el método de la clase"
-#: objc/objc-act.c:5548
+#: objc/objc-act.c:5678
#, c-format
msgid "duplicate definition of class method `%s'"
msgstr "definición duplicada del método de la clase `%s'"
-#: objc/objc-act.c:5554
+#: objc/objc-act.c:5684
#, c-format
msgid "duplicate declaration of class method `%s'"
msgstr "declaración duplicada del método de la clase `%s'"
-#: objc/objc-act.c:5590
+#: objc/objc-act.c:5720
#, c-format
msgid "duplicate definition of instance method `%s'"
msgstr "definición duplicada del método de la instancia `%s'"
-#: objc/objc-act.c:5596
+#: objc/objc-act.c:5726
#, c-format
msgid "duplicate declaration of instance method `%s'"
msgstr "declaración duplicada del método de la instancia `%s'"
-#: objc/objc-act.c:5636
+#: objc/objc-act.c:5766
#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
msgstr "declaración de interfaz duplicada para la categoría `%s(%s)'"
-#: objc/objc-act.c:5722
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr "la variable de instancia `%s' es declarada privada"
-#: objc/objc-act.c:5769
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr "la variable de instancia `%s' es declarada %s"
-#: objc/objc-act.c:5779
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
msgstr "acceso estático al objeto de tipo `id'"
-#: objc/objc-act.c:5816 objc/objc-act.c:5909
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
msgid "incomplete implementation of class `%s'"
msgstr "implementación incompleta de la clase `%s'"
-#: objc/objc-act.c:5820 objc/objc-act.c:5914
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, c-format
msgid "incomplete implementation of category `%s'"
msgstr "implementación incompleta de la categoría `%s'"
-#: objc/objc-act.c:5825 objc/objc-act.c:5919
+#: objc/objc-act.c:5943 objc/objc-act.c:6037
#, c-format
msgid "method definition for `%c%s' not found"
msgstr "no se encuentra la definición de método para `%c%s'"
-#: objc/objc-act.c:5963
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr "%s `%s' no implementa completamente el protocolo `%s'"
-#: objc/objc-act.c:6021 objc/objc-act.c:8118
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
msgid "`@end' missing in implementation context"
msgstr "falta un `@end' en el contexto de una implementación"
-#: objc/objc-act.c:6049
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr "reimplementación de la clase `%s'"
-#: objc/objc-act.c:6091
+#: objc/objc-act.c:6209
#, c-format
msgid "conflicting super class name `%s'"
msgstr "el nombre de la super clase `%s' causa conflicto"
-#: objc/objc-act.c:6106
+#: objc/objc-act.c:6224
#, c-format
msgid "duplicate interface declaration for class `%s'"
msgstr "declaración de interfaz duplicada para la clase `%s'"
-#: objc/objc-act.c:6388
+#: objc/objc-act.c:6506
#, c-format
msgid "duplicate declaration for protocol `%s'"
msgstr "declaración duplicada para el protocolo `%s'"
-#: objc/objc-act.c:7238
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr "[super ...] debe aparecer en el contexto de un método"
-#: objc/objc-act.c:8220 objc/objc-act.c:8236
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
msgstr "conflicto potencial de selectores para el método `%s'"
-#: objc-parse.y:2612
+#: objc-parse.y:2655
msgid "`@end' must appear in an implementation context"
msgstr "`@end' debe aparecer en el contexto de una implementación"
-#: objc-parse.y:2886
+#: objc-parse.y:2931
msgid "method definition not in class context"
msgstr "la definición de método no está en el contexto de la clase"
@@ -19917,58 +20453,116 @@ msgstr "Generar encabezado C de características específicas de la plataforma"
msgid "Specify the name of the class for constant strings"
msgstr "Especificar el nombre de la clase para cadenas constantes"
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "-fjni y -femit-class-files son incompatibles"
+#. 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 "(depuracion) proceso de decodificación de rastreo"
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "-fjni y -femit-class-file son incompatibles"
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr "(depuración) análisis léxico de rastreo"
-#: java/lang-specs.h:35 java/lang-specs.h:36
-msgid "-femit-class-file should used along with -fsyntax-only"
-msgstr "-femit-class-file se debe usar junto con -fsyntax-only"
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr "sólo se permite -current_version con -dynamiclib"
-#: config/nextstep.h:161 config/nextstep.h:164
-msgid "-p profiling is no longer supported. Use -pg instead"
-msgstr "la creación de perfil con -p ya no tiene soporte. Use en su lugar -pg"
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr "sólo se permite -install_name con -dynamiclib"
-#: config/arm/arm.h:211
-msgid "-mapcs-26 and -mapcs-32 may not be used together"
-msgstr "no se pueden usar juntos -mapcs-26 y -mapcs-32"
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr "no se permite -bundle con -dynamiclib"
-#: config/arm/arm.h:223
-msgid "-msoft-float and -mhard_float may not be used together"
-msgstr "no se pueden usar juntos -msoft-float y -mhard_float"
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr "no se permite -bundle_loader con -dynamiclib"
-#: config/arm/arm.h:234
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr "no se pueden usar juntos -mbig-endian y -mlittle-endian"
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr "no se permite -client_name con -dynamiclib"
-#: config/arm/arm.h:252
-msgid "incompatible interworking options"
-msgstr "opciones de trabajo interno incompatibles"
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr "no se permite -force_cpusubtype_ALL con -dynamiclib"
-#: config/sparc/freebsd.h:31 config/ia64/freebsd.h:23 config/alpha/freebsd.h:36 config/i386/freebsd-aout.h:227
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr "`-p' no tiene soporte; use `-pg' y gprof(1)"
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr "no se permite -force_flat_namespace con -dynamiclib"
-#: gcc.c:672 f/lang-specs.h:35
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr "no se permite keep_private_externs con -dynamiclib"
+
+#: config/darwin.h:229
+msgid "-private_bundle not allowed with -dynamiclib"
+msgstr "no se permite -private_bundle con -dynamiclib"
+
+#: f/lang-specs.h:38 gcc.c:689
msgid "GNU C does not support -C without using -E"
msgstr "GNU C no da soporte a -C sin usar -E"
-#: gcc.c:699 ada/lang-specs.h:39 java/jvspec.c:77
+#: f/lang-specs.h:39 gcc.c:690
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C no da soporte a -CC sin usar -E"
+
+#: config/ia64/freebsd.h:23 config/sparc/freebsd.h:33
+#: config/i386/freebsd-aout.h:213 config/rs6000/sysv4.h:1106
+#: config/alpha/freebsd.h:44
+msgid "`-p' not supported; use `-pg' and gprof(1)"
+msgstr "`-p' no tiene soporte; use `-pg' y gprof(1)"
+
+#: 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 "no se pueden usar -m32 y -m64 al mismo tiempo"
+
+#: config/vax/netbsd-elf.h:42
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "La opción -shared no se soporta actualmente para ELF de VAX."
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "la creación de perfil no tiene soporte con -mg\n"
+
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "-pipe no tiene soporte"
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr "no se pueden usar -EB y -EL al mismo tiempo"
+
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
msgid "-pg and -fomit-frame-pointer are incompatible"
msgstr "-pg y -fomit-frame-pointer son incompatibles"
-#: gcc.c:846
+#: config/i386/cygwin.h:115
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "-mno-cygwin y -mno-win32 no son compatibles"
+
+#: config/i386/cygwin.h:171 config/i386/mingw32.h:85
+msgid "shared and mdll are not compatible"
+msgstr "shared y mdll no son compatibles."
+
+#: gcc.c:847
msgid "-E required when input is from standard input"
msgstr "se requiere -E cuando la entrada es de entrada estándar"
-#: gcc.c:850
+#: gcc.c:851
msgid "compilation of header file requested"
msgstr "se solicitó la compilación de fichero de encabezado"
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
+msgstr " se usan interruptores de estilo de generación de código en conflicto"
+
+#: treelang/lang-specs.h:52
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg ó -p y -fomit-frame-pointer son incompatibles"
+
#: config/mcore/mcore.h:60
msgid "choose either big or little endian, not both"
msgstr "escoja entre big o little endian, no ambos"
@@ -19981,98 +20575,1114 @@ msgstr "escoja entre m340 o m210, no ambos"
msgid "the m210 does not have little endian support"
msgstr "el m210 no tiene soporte para little endian"
-#: ada/lang-specs.h:42
-msgid "-c or -S required for Ada"
-msgstr "se requiere -c o -S para Ada"
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr "no se pueden usar juntos -mapcs-26 y -mapcs-32"
-#: config/mips/r3900.h:36 config/mips/r3900.h:42
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr "no se pueden usar juntos -msoft-float y -mhard_float"
+
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr "no se pueden usar juntos -mbig-endian y -mlittle-endian"
+
+#: config/mips/r3900.h:35
msgid "-mhard-float not supported"
msgstr "-mhard-float no tiene soporte"
-#: config/mips/r3900.h:38 config/mips/r3900.h:44
+#: config/mips/r3900.h:37
msgid "-msingle-float and -msoft-float can not both be specified"
msgstr "-msingle-float y -msoft-float no se pueden especificar al mismo tiempo"
-#: config/mmix/mmix.h:112
-msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
-msgstr "las opciones -mabi=mmixware y -mabi=gnu son mutuamente exclusivas"
-
-#: config/i860/fx2800.h:290
-msgid "-p option not supported: use -pg instead"
-msgstr "la opción -p no tiene soporte: en su lugar use -pg"
-
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd y -pedantic son incompatibles"
-
-#: config/arm/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd y -mxopen son incompatibles"
-
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen y -pedantic son incompatibles"
-
-#: config/arc/arc.h:59 config/mips/mips.h:1007
-msgid "may not use both -EB and -EL"
-msgstr "no se pueden usar -EB y -EL al mismo tiempo"
-
-#: config/vax/vax.h:42 config/vax/vax.h:43
-msgid "profiling not supported with -mg\n"
-msgstr "la creación de perfil no tiene soporte con -mg\n"
-
-#: config/i386/cygwin.h:114
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "-mno-cygwin y -mno-win32 no son compatibles"
-
-#: config/i386/cygwin.h:169 config/i386/mingw32.h:69
-msgid "shared and mdll are not compatible"
-msgstr "shared y mdll no son compatibles."
-
-#: config/mips/mips.h:837
-msgid "-pipe is not supported"
-msgstr "-pipe no tiene soporte"
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr "se requiere -c o -S para Ada"
-#: config/mips/mips.h:1003
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "no se pueden usar -mfp64 y -msingle-float al mismo tiempo"
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "-fjni y -femit-class-files son incompatibles"
-#: config/mips/mips.h:1004
-msgid "may not use both -mfp64 and -m4650"
-msgstr "no se pueden usar -mfp64 y -m4650 al mismo tiempo"
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "-fjni y -femit-class-file son incompatibles"
-#: config/mips/mips.h:1006
-msgid "may not use both -mgp32 and -mfp64"
-msgstr "no se pueden usar -mgp32 y -mfp64 al mismo tiempo"
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "-femit-class-file se debe usar junto con -fsyntax-only"
-#: config/i386/sco5.h:662 config/i386/sco5.h:737
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
msgid "-static not valid with -mcoff"
msgstr "-static no es válido con -mcoff"
-#: config/i386/sco5.h:663 config/i386/sco5.h:738
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
msgid "-shared not valid with -mcoff"
msgstr "-shared no es válido con -mcoff"
-#: config/i386/sco5.h:664 config/i386/sco5.h:739
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
msgid "-symbolic not valid with -mcoff"
msgstr "-symbolic no es válido con -mcoff"
-#: config/i386/sco5.h:702
+#: config/i386/sco5.h:636
msgid "-fpic is not valid with -mcoff"
msgstr "-fpic no es válido con -mcoff"
-#: config/i386/sco5.h:703
+#: config/i386/sco5.h:637
msgid "-fPIC is not valid with -mcoff"
msgstr "-fPIC no es válido con -mcoff"
-#: config/i386/sco5.h:740
+#: config/i386/sco5.h:669
msgid "-fpic not valid with -mcoff"
msgstr "-fpic no es válido con -mcoff"
-#: config/i386/sco5.h:741
+#: config/i386/sco5.h:670
msgid "-fPIC not valid with -mcoff"
msgstr "-fPIC no es válido con -mcoff"
+#~ msgid "__alignof__ applied to an incomplete type"
+#~ msgstr "__alignof__ aplicado a un tipo de dato incompleto"
+
+#~ msgid "-traditional is deprecated and may be removed"
+#~ msgstr "-traditional es obsoleto y será eliminado"
+
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "no se conoce el estándard de C `%s'"
+
+#~ msgid "type of external `%s' is not global"
+#~ msgstr "el tamaño de `%s' externo no es global"
+
+#~ msgid "typedef `%s' is initialized"
+#~ msgstr "la definición de tipo `%s' está inicializada"
+
+#~ msgid "unnamed fields of type other than struct or union are not allowed"
+#~ msgstr "no se permiten campos sin nombre de otro tipo que no sea struct o union"
+
+#~ msgid "null format string"
+#~ msgstr "formato de cadena nulo"
+
+#~ msgid "ignoring #pragma %s"
+#~ msgstr "ignorando el #pragma %s"
+
+#~ msgid "both 'f' and 'l' suffixes on floating constant"
+#~ msgstr "se encuentran los sufijos `f' y `l' al mismo tiempo en una constante de coma flotante"
+
+#~ msgid "floating point number exceeds range of '%s'"
+#~ msgstr "el número de coma flotante excede el rango de '%s'"
+
+#~ msgid "decimal point in exponent - impossible!"
+#~ msgstr "punto decimal en el exponente - ¡Imposible!"
+
+#~ msgid "underscore in number"
+#~ msgstr "subrayado en el número"
+
+#~ msgid "numeric constant with no digits"
+#~ msgstr "constante numérica sin dígitos"
+
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "la constante numérica contiene dígitos más allá del radical"
+
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "la constante de coma flotante no puede ser de radical 16"
+
+#~ msgid "more than one 'f' suffix on floating constant"
+#~ msgstr "más de un sufijo `f' en una constante de coma flotante"
+
+#~ msgid "traditional C rejects the 'f' suffix"
+#~ msgstr "C tradicional rechaza el sufijo 'f'"
+
+#~ msgid "more than one 'l' suffix on floating constant"
+#~ msgstr "más de un sufijo `l' en una constante de coma flotante"
+
+#~ msgid "traditional C rejects the 'l' suffix"
+#~ msgstr "C tradicional rechaza el sufijo 'l'"
+
+#~ msgid "more than one 'i' or 'j' suffix on floating constant"
+#~ msgstr "más de un sufijo `i' o una `j' en una constante de coma flotante"
+
+#~ msgid "ISO C forbids imaginary numeric constants"
+#~ msgstr "ISO C prohibe las constantes numéricas imaginarias"
+
+#~ msgid "floating constant out of range"
+#~ msgstr "constante de coma flotante fuera de rango"
+
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "el número de coma flotante excede el rango de 'double'"
+
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "dos sufijos 'u' en la constante entera"
+
+#~ msgid "traditional C rejects the 'u' suffix"
+#~ msgstr "C tradicional rechaza el sufijo 'u'"
+
+#~ msgid "three 'l' suffixes on integer constant"
+#~ msgstr "tres sufijos 'l' en la constante entera"
+
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "'lul' no es un sufijo entero válido"
+
+#~ msgid "'Ll' and 'lL' are not valid integer suffixes"
+#~ msgstr "'Ll' y 'lL' no son sufijos enteros válidos"
+
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "más de un sufijo `i' o una `j' en una constante entera"
+
+#~ msgid "invalid suffix on integer constant"
+#~ msgstr "sufijo inválido en una constante entera"
+
+#~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+#~ msgstr "la constante entera es muy grande para esta configuración del compilador - truncando a %d bits"
+
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "la anchura de la constante entera cambia con -traditional"
+
+#~ msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#~ msgstr "la constante entera es unsigned en ISO C, es signed con -traditional"
+
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "la anchura de la constante entera puede cambiar en otros sistemas con -traditional"
+
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "la constante entera es más grande que el valor máximo de %s"
+
+#~ msgid "an unsigned long long int"
+#~ msgstr "un unsigned long long int"
+
+#~ msgid "a long long int"
+#~ msgstr "un long long int"
+
+#~ msgid "an unsigned long int"
+#~ msgstr "un unsigned long int"
+
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "la constante decimal es tan grande que es unsigned"
+
+#~ msgid "complex integer constant is too wide for 'complex int'"
+#~ msgstr "la constante entera compleja es demasiado ancha para `complex int'"
+
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr "la constante entera es más grande que el valor máximo para su tipo"
+
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "falta un espacio en blanco después del número `%.*s'"
+
+#~ msgid "ISO C does not permit use of `varargs.h'"
+#~ msgstr "ISO C no permite el uso de `varargs.h'"
+
+#~ msgid "storage class specifier in array declarator"
+#~ msgstr "especificadores de clase de almacenamiento en el declarador de una matriz"
+
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "sizeof aplicado a un tipo de función"
+
+#~ msgid "sizeof applied to a void type"
+#~ msgstr "sizeof aplicado a un tipo de dato void"
+
+#~ msgid "sizeof applied to an incomplete type"
+#~ msgstr "sizeof aplicado a un tipo de dato incompleto"
+
+#~ msgid "variable offset is passed partially in stack and in reg"
+#~ msgstr "se pasa parcialmente el desplazamiento de la variable a la pila y al registro"
+
+#~ msgid "variable size is passed partially in stack and in reg"
+#~ msgstr "se pasa parcialemente el tamaño de la variable a la pila y al registro"
+
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
+
+#~ msgid "floating point numbers are not valid in #if"
+#~ msgstr "los números de coma flotante no son válidos en #if"
+
+#~ msgid "traditional C rejects the `U' suffix"
+#~ msgstr "C tradicional rechaza el sufijo `U'"
+
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "demasiados sufijos 'l' en constante entera"
+
+#~ msgid "integer constant contains digits beyond the radix"
+#~ msgstr "la constante entera contiene dígitos más allá del radical"
+
+#~ msgid "integer constant out of range"
+#~ msgstr "constante entera fuera de rango"
+
+#~ msgid "string constants are not valid in #if"
+#~ msgstr "las constantes de cadena no son válidas en #if"
+
+#~ msgid "missing binary operator"
+#~ msgstr "falta un operador binario"
+
+#~ msgid "operator '%s' has no left operand"
+#~ msgstr "el operador `%s' no tiene operando izquierdo"
+
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "cambiando el orden de búsqueda para el directorio del sistema \"%s\""
+
+#~ msgid " as it is the same as non-system directory \"%s\""
+#~ msgstr " porque es el mismo que el directorio que no es del sistema \"%s\""
+
+#~ msgid " as it has already been specified as a non-system directory"
+#~ msgstr " porque ya se había especificado como un directorio que no es del sistema"
+
+#~ msgid "I/O error on output"
+#~ msgstr "error de E/S en la salida"
+
+#~ msgid "argument missing after %s"
+#~ msgstr "falta un argumento después de %s"
+
+#~ msgid "number missing after %s"
+#~ msgstr "falta el número después de %s"
+
+#~ msgid "target missing after %s"
+#~ msgstr "falta el objetivo después de %s"
+
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP versión %s (cpplib)"
+
+#~ 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 ""
+#~ " -pedantic Habilita todos los avisos demandados por ISO C estricto\n"
+#~ " -pedantic-errors Habilita los avisos -pedantic como errores\n"
+#~ " -trigraphs Soporte para trigrafos de ISO C\n"
+#~ " -lang-c Asumir que las fuentes de entrada están en C\n"
+#~ " -lang-c89 Asumir que las fuentes de entrada están en C89\n"
+
+#~ 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 ""
+#~ " -lang-c++ Asumir que las fuentes de entrada están en C++\n"
+#~ " -lang-objc Asumir que las fuentes de entrada están en ObjectiveC\n"
+#~ " -lang-objc++ Asumir que las fuentes de entrada están en ObjectiveC++\n"
+#~ " -lang-asm Asumir que las fuentes de entrada están en ensamblador\n"
+
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "posible inicio de la cadena literal sin terminar"
+
+#~ msgid "multi-line string literals are deprecated"
+#~ msgstr "las literales de cadena en múltiples líneas son obsoletas"
+
+#~ msgid "the meaning of '\\%c' varies with -traditional"
+#~ msgstr "el significado de '\\%c' varía con -traditional"
+
+#~ msgid "the meaning of '\\a' varies with -traditional"
+#~ msgstr "el significado de '\\a' varía con -traditional"
+
+#~ msgid "the meaning of '\\x' varies with -traditional"
+#~ msgstr "el significado de '\\x' varía con -traditional"
+
+#~ msgid "escape sequence out of range for character"
+#~ msgstr "secuencia de escape fuera de rango para el carácter"
+
+#~ msgid "\"%s\" cannot be used as a macro name"
+#~ msgstr "no se puede usar \"%s\" como un nombre de macro"
+
+#~ msgid "directives may not be used inside a macro argument"
+#~ msgstr "no se pueden usar las directivas dentro de un argumento de macro"
+
+#~ msgid "invalid option %s"
+#~ msgstr "opción %s inválida"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: aviso: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: aviso: "
+
+#~ msgid "sorry, not implemented: "
+#~ msgstr "lo sentimos, sin implementar: "
+
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "Error interno del compilador %s, en %s:%d"
+
+#~ msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+#~ msgstr "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "falta el argumento para `-b'"
+
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "falta el argumento para `-V'"
+
+#~ msgid "invalid version number format"
+#~ msgstr "formato de número de versión inválido"
+
+#~ msgid ".da file contents exhausted too early\n"
+#~ msgstr "el contenido del fichero .da se agotó demasiado pronto\n"
+
+#~ msgid ".da file contents not exhausted\n"
+#~ msgstr "el contenido del fichero .da no se agotó\n"
+
+#~ msgid "%6.2f%% of %d source lines executed in function %s\n"
+#~ msgstr "%6.2f%% de %d líneas de código fuente ejecutadas en la función %s\n"
+
+#~ msgid "No executable source lines in function %s\n"
+#~ msgstr "No hay líneas de código ejecutables en la función %s\n"
+
+#~ msgid "%6.2f%% of %d branches executed in function %s\n"
+#~ msgstr "%6.2f%% de %d ramificaciones ejecutadas en la función %s\n"
+
+#~ msgid "%6.2f%% of %d branches taken at least once in function %s\n"
+#~ msgstr "%6.2f%% de %d ramificaciones visitadas al menos una vez en la función %s\n"
+
+#~ msgid "No branches in function %s\n"
+#~ msgstr "No hay ramificaciones en la función %s\n"
+
+#~ msgid "%6.2f%% of %d calls executed in function %s\n"
+#~ msgstr "%6.2f%% de %d llamadas ejecutadas en la función %s\n"
+
+#~ msgid "No calls in function %s\n"
+#~ msgstr "No hay llamadas en la función %s\n"
+
+#~ msgid "%6.2f%% of %d source lines executed in file %s\n"
+#~ msgstr "%6.2f%% de %d líneas de código fuente ejecutadas en el fichero %s\n"
+
+#~ msgid "%6.2f%% of %d branches executed in file %s\n"
+#~ msgstr "%6.2f%% de %d ramificaciones ejecutadas en el fichero %s\n"
+
+#~ msgid "%6.2f%% of %d branches taken at least once in file %s\n"
+#~ msgstr "%6.2f%% de %d ramificaciones visitadas al menos una vez en el fichero %s\n"
+
+#~ msgid "%6.2f%% of %d calls executed in file %s\n"
+#~ msgstr "%6.2f%% de %d llamadas ejecutadas en el fichero %s\n"
+
+#~ msgid "call %d returns = %s\n"
+#~ msgstr "la llamada %d devuelve = %s\n"
+
+#~ msgid "call %d returns = %s%%\n"
+#~ msgstr "la llamada %d devuelve = %s%%\n"
+
+#~ msgid "branch %d taken = %s\n"
+#~ msgstr "ramificación %d tomada = %s\n"
+
+#~ msgid "branch %d taken = %s%%\n"
+#~ msgstr "ramificación %d tomada = %s%%\n"
+
+#~ msgid ".da file contents exhausted too early"
+#~ msgstr "el contenido del fichero .da se agotó demasiado pronto"
+
+#~ msgid ".da file contents not exhausted"
+#~ msgstr "el contenido del fichero .da no se agotó"
+
+#~ msgid "conversion from NaN to int"
+#~ msgstr "conversión de NaN a int"
+
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "conversión de NaNa a unsigned int"
+
+#~ msgid "floating point overflow"
+#~ msgstr "desbordamiento de coma flotante"
+
+#~ msgid "overflow on truncation to integer"
+#~ msgstr "desbordamiento en truncado a entero"
+
+#~ msgid "overflow on truncation to unsigned integer"
+#~ msgstr "desbordamiento en el truncado a unsigned integer"
+
+#~ msgid "%s: argument domain error"
+#~ msgstr "%s: error de dominio del argumento"
+
+#~ msgid "%s: function singularity"
+#~ msgstr "%s: singularidad de la función"
+
+#~ msgid "%s: overflow range error"
+#~ msgstr "%s: desbordamiento del error de rango"
+
+#~ msgid "%s: underflow range error"
+#~ msgstr "%s: desbordamiento por debajo del error de rango"
+
+#~ msgid "%s: total loss of precision"
+#~ msgstr "%s: pérdida total de precisión"
+
+#~ msgid "%s: partial loss of precision"
+#~ msgstr "%s: pérdida parcial de precisión"
+
+#~ msgid "%s: NaN - producing operation"
+#~ msgstr "%s: NaN - produciendo una operación"
+
+#~ msgid "Pretend that host and target use the same FP format"
+#~ msgstr "Pretender que el anfitrión y el objetivo utilizan el mismo formato de FP"
+
+#~ msgid "Compile pointers as triples: value, base & end"
+#~ msgstr "Compilar los apuntadores como triples: valor, base y fin"
+
+#~ msgid "Do not promote floats to double if using -traditional"
+#~ msgstr "No promover floats a double si se usa -traditional"
+
+#~ msgid "Attempt to support traditional K&R style C"
+#~ msgstr "Intentar dar soporte a C estilo K&R tradicional"
+
+#~ msgid "internal error: %s"
+#~ msgstr "error interno: %s"
+
+#~ msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+#~ msgstr "salto cruzado desactivado: %d > 1000 bloques básicos y %d >= 20 bloques borde/básicos"
+
+#~ msgid " -a Enable block profiling \n"
+#~ msgstr " -a Activar el análisis de perfil de bloques\n"
+
+#~ msgid " -ax Enable jump profiling \n"
+#~ msgstr " -ax Activar el análisis de perfil de saltos\n"
+
+#~ msgid "profiling does not work without a frame pointer"
+#~ msgstr "el análisis de perfil no funciona sin un apuntador de marco"
+
+#~ msgid "floating point numbers not allowed in #if expressions"
+#~ msgstr "no se permiten números de coma flotante en expresiones #if"
+
+#~ msgid "invalid number in #if expression"
+#~ msgstr "número inválido en la expresión #if"
+
+#~ msgid "invalid character constant in #if"
+#~ msgstr "constante de carácter inválida en #if"
+
+#~ msgid "double quoted strings not allowed in #if expressions"
+#~ msgstr "no se permite cadenas con comillas dobles en expresiones #if"
+
+#~ msgid "invalid token in expression"
+#~ msgstr "elemento inválido en la expresión"
+
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "la constante de carácter octal no cabe en un byte"
+
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "la constante de carácter hexadecimal no cabe en un byte"
+
+#~ msgid "empty #if expression"
+#~ msgstr "expresión #if vacía"
+
+#~ msgid "Junk after end of expression."
+#~ msgstr "Basura después del final de la expresión."
+
+#~ msgid "macro or #include recursion too deep"
+#~ msgstr "recursión de macro o #include demasiado profunda"
+
+#~ msgid "usage: %s [switches] input output"
+#~ msgstr "modo de empleo: %s [interruptores] entrada salida"
+
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "-traditional no tiene soporte en C++"
+
+#~ msgid "-traditional and -ansi are mutually exclusive"
+#~ msgstr "-traditional y -ansi son mutuamente exclusivos"
+
+#~ msgid "filename missing after -i option"
+#~ msgstr "falta el nombre del fichero después de la opción -i"
+
+#~ msgid "filename missing after -o option"
+#~ msgstr "falta el nombre del fichero después de la opción -o"
+
+#~ msgid "target missing after %s option"
+#~ msgstr "falta el objetivo después de la opción %s"
+
+#~ msgid "filename missing after %s option"
+#~ msgstr "falta el nombre del fichero después de la opción %s"
+
+#~ msgid "macro name missing after -%c option"
+#~ msgstr "falta el nombre de macro después de la opción -%c"
+
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "-pedantic y -traditional son mutuamente exclusivos"
+
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "-trigraphs y -traditional son mutuamente exclusivos"
+
+#~ msgid "directory name missing after -I option"
+#~ msgstr "falta el nombre de directorio después de la opción -I"
+
+#~ msgid "`/*' within comment"
+#~ msgstr "`/*' dentro de un comentario"
+
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "condicional #%s sin terminar"
+
+#~ msgid "not in any file?!"
+#~ msgstr "¡¿No está en ningún fichero?!"
+
+#~ msgid "`defined' must be followed by ident or (ident)"
+#~ msgstr "`defined' debe ser seguido por ident o (ident)"
+
+#~ msgid "cccp error: invalid special hash type"
+#~ msgstr "error de cccp: tipo de dispersión especial inválido"
+
+#~ msgid "#include expects \"fname\" or <fname>"
+#~ msgstr "#include espera \"fname\" ó <fname>"
+
+#~ msgid "no include path in which to find %.*s"
+#~ msgstr "no hay ruta de inclusión en la cual se encuentre %.*s"
+
+#~ msgid "invalid macro name"
+#~ msgstr "nombre de macro inválido"
+
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "nombre de macro `%s' inválido"
+
+#~ msgid "parameter name starts with a digit in #define"
+#~ msgstr "el nombre de un parámetro empieza con un dígito en un #define"
+
+#~ msgid "badly punctuated parameter list in #define"
+#~ msgstr "lista de parámetros con puntuación errónea en un #define"
+
+#~ msgid "unterminated parameter list in #define"
+#~ msgstr "lista de parámetros en #define sin terminar"
+
+#~ msgid "\"%.*s\" redefined"
+#~ msgstr "\"%.*s\" redefinido"
+
+#~ msgid "# operator should be followed by a macro argument name"
+#~ msgstr "el operador # debe continuar con un nombre de argumento de macro"
+
+#~ msgid "invalid format #line command"
+#~ msgstr "formato inválido de la orden #line"
+
+#~ msgid "undefining `defined'"
+#~ msgstr "borrando la definición de `defined'"
+
+#~ msgid "undefining `%s'"
+#~ msgstr "borrando la definición de `%s'"
+
+#~ msgid "extra text at end of directive"
+#~ msgstr "texto extra al final de la directiva"
+
+#~ msgid "#error%.*s"
+#~ msgstr "#error%.*s"
+
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning%.*s"
+
+#~ msgid "#elif not within a conditional"
+#~ msgstr "#elif no está dentro de un condicional"
+
+#~ msgid "#%s not within a conditional"
+#~ msgstr "#%s no está dentro de un condicional"
+
+#~ msgid "#else or #elif after #else"
+#~ msgstr "#else o #elif después de #else"
+
+#~ msgid "#else not within a conditional"
+#~ msgstr "#else no está dentro de un condicional"
+
+#~ msgid "unbalanced #endif"
+#~ msgstr "#endif desbalanceado"
+
+#~ msgid "unterminated string or character constant"
+#~ msgstr "cadena sin terminar o constante de carácter"
+
+#~ msgid "arguments given to macro `%s'"
+#~ msgstr "argumentos dados a la macro `%s'"
+
+#~ msgid "no args to macro `%s'"
+#~ msgstr "no hay argumentos para la macro `%s'"
+
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "sólo 1 argumento para la macro `%s'"
+
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "sólo %d argumentos para la macro `%s'"
+
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "demasiados argumentos (%d) para la macro `%s'"
+
+#~ msgid ""
+#~ "internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "error interno en %s, en tradcpp.c:%d\n"
+#~ "Por favor envíe un reporte completo de error.\n"
+#~ "Vea %s para más instrucciones."
+
+#~ msgid "optimization turned on"
+#~ msgstr "nivel de optimización encendido"
+
+#~ msgid "optimization turned off"
+#~ msgstr "nivel de optimización apagado"
+
+#~ msgid "optimization level restored"
+#~ msgstr "nivel de optimización restaurado"
+
+#~ msgid "Use VAX-C alignment"
+#~ msgstr "Usar alineación VAX-C"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "valor %%V inválido"
+
+#~ msgid "Generate code assuming DW bit is set"
+#~ msgstr "Generar código asumiendo que el bit DW está activado"
+
+#~ msgid "Generate code assuming DW bit is not set"
+#~ msgstr "Generar código asumiendo que el bit DW no está activado"
+
+#~ msgid "Generate code using byte writes"
+#~ msgstr "Generar código usando escritura de byte"
+
+#~ msgid "Do not generate byte writes"
+#~ msgstr "No generar escritura de byte"
+
+#~ msgid "Use small memory model"
+#~ msgstr "Usar modelo de memoria small"
+
+#~ msgid "Use normal memory model"
+#~ msgstr "Usar modelo de memoria normal"
+
+#~ msgid "Use large memory model"
+#~ msgstr "Usar modelo de memoria large"
+
+#~ msgid "Generate 29050 code"
+#~ msgstr "Generar código 29050"
+
+#~ msgid "Generate 29000 code"
+#~ msgstr "Generar código 29000"
+
+#~ msgid "Use kernel global registers"
+#~ msgstr "Usar registros globales del núcleo"
+
+#~ msgid "Use user global registers"
+#~ msgstr "Usar registros globales del usuario"
+
+#~ msgid "Emit stack checking code"
+#~ msgstr "Emitir código de revisión de la pila"
+
+#~ msgid "Do not emit stack checking code"
+#~ msgstr "No emitir código de revisión de la pila"
+
+#~ msgid "Work around storem hardware bug"
+#~ msgstr "Evitar el bug de hardware storem"
+
+#~ msgid "Do not work around storem hardware bug"
+#~ msgstr "No evitar el bug de hardware storem"
+
+#~ msgid "Store locals in argument registers"
+#~ msgstr "Almacenar los locales en los registros de argumento"
+
+#~ msgid "Do not store locals in arg registers"
+#~ msgstr "No almacenar los locales en los registros de argumento"
+
+#~ msgid "Do not generate multm instructions"
+#~ msgstr "No generar instrucciones multm"
+
+#~ msgid "Do symbol renaming for BSD"
+#~ msgstr "Renombrar los símbolos para BSD"
+
+#~ msgid "Do symbol renaming for X/OPEN"
+#~ msgstr "Renombrar los símbolos para X/OPEN"
+
+#~ msgid "Don't do symbol renaming"
+#~ msgstr "No renombrar símbolos"
+
+#~ msgid "MCU `%s' not supported"
+#~ msgstr "El MCU `%s' no tiene soporte"
+
+#~ msgid "Generate code for the C400"
+#~ msgstr "Generar código para el C400"
+
+#~ msgid "Generate code for the C300"
+#~ msgstr "Generar código para el C300"
+
+#~ msgid "Generate code for c1"
+#~ msgstr "Generar código para el c1"
+
+#~ msgid "Generate code for c2"
+#~ msgstr "Generar código para el c2"
+
+#~ msgid "Generate code for c32"
+#~ msgstr "Generar código para el c32"
+
+#~ msgid "Generate code for c34"
+#~ msgstr "Generar código para el c34"
+
+#~ msgid "Use standard calling sequence, with arg count word"
+#~ msgstr "Usar secuencia de llamada estándard, con palabra de cuenta de argumentos"
+
+#~ msgid "Place arg count in a nop instruction (faster than push)"
+#~ msgstr "Colocar la cuenta de argumentos en una instrucción nop (más rápido que push)"
+
+#~ msgid "Don't push arg count, depend on symbol table"
+#~ msgstr "No hacer push de la cuenta de argumentos, depender de la tabla de símbolos"
+
+#~ msgid "Use data cache for volatile mem refs (default)"
+#~ msgstr "Usar el caché de datos para referencias a memoria volatile (por omisión)"
+
+#~ msgid "Don't use data cache for volatile mem refs"
+#~ msgstr "No usar el caché de datos para referencias a memoria volatile"
+
+#~ msgid "Bypass data cache for volatile mem refs"
+#~ msgstr "Saltar el caché de datos para referencias a memoria volatile"
+
+#~ msgid "Use 64-bit longs"
+#~ msgstr "Usar longs de 64-bit"
+
+#~ msgid "Use cc- and libc-compatible 32-bit longs"
+#~ msgstr "Usar longs de 32-bit compatibles con cc y libc"
+
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "no se da soporte a constantes inline float en este `host'"
+
+#~ msgid "Generate code the unix assembler can handle"
+#~ msgstr "Generar código que el ensamblador de unix pueda manejar"
+
+#~ msgid "Generate code an embedded assembler can handle"
+#~ msgstr "Generar código que un ensamblador imbuído pueda manejar"
+
+#~ msgid "Retain standard MXDB information"
+#~ msgstr "Retener la información MXDB estándard"
+
+#~ msgid "Retain legend information"
+#~ msgstr "Retener información de la leyenda"
+
+#~ msgid "Generate external legend information"
+#~ msgstr "General información de leyenda externa"
+
+#~ msgid "Emit identifying info in .s file"
+#~ msgstr "Emitir información de identificación en el fichero .s"
+
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "Advertir cuando el argumento de una función es una estructura"
+
+#~ msgid "argument is a structure"
+#~ msgstr "el argumento es una estructura"
+
+#~ msgid "half-pic init called on systems that don't support it"
+#~ msgstr "se llamó a half-pic init en sistemas que no le dan soporte"
+
+#~ msgid "Profiling uses mcount"
+#~ msgstr "El análisis de perfil usa mcount"
+
+#~ msgid "Emit half-PIC code"
+#~ msgstr "Emitir código semi-PIC"
+
+#~ msgid "Emit ELF object code"
+#~ msgstr "Emitir código objeto ELF"
+
+#~ msgid "Emit ROSE object code"
+#~ msgstr "Emitir código objeto ROSE"
+
+#~ msgid "Symbols have a leading underscore"
+#~ msgstr "Los símbolos son precedidos por un subrayado"
+
+#~ msgid "Align to >word boundaries"
+#~ msgstr "Alinear a límites >word"
+
+#~ msgid "Use mcount for profiling"
+#~ msgstr "Usar mcount para análisis de perfil"
+
+#~ msgid "Use mcount_ptr for profiling"
+#~ msgstr "Usar mcount_ptr para análisis de perfil"
+
+#~ msgid "Generate code which uses the FPU"
+#~ msgstr "Generar código que use el FPU"
+
+#~ msgid "Do not generate code which uses the FPU"
+#~ msgstr "No generar código que use el FPU"
+
+#~ msgid "the -mlong-double-64 option does not work yet"
+#~ msgstr "el soporte para -mlong-double-64 aún no funciona"
+
+#~ msgid "The -march option is incompatible to -mipsN and therefore ignored."
+#~ msgstr "La opción -march es incompatible con -mipsN y por lo tanto se ignora."
+
+#~ msgid "-mips%d not supported"
+#~ msgstr "-mips%d no tiene soporte"
+
+#~ msgid "-mabi=%s does not support -mips%d"
+#~ msgstr "-mabi=%s no tiene soporte para -mips%d"
+
+#~ msgid "this target does not support the -mabi switch"
+#~ msgstr "este objetivo no tiene soporte para el interruptor -mabi"
+
+#~ msgid "bad value (%s) for -mtune= switch"
+#~ msgstr "valor erróneo (%s) para el interruptor -mtune="
+
+#~ msgid "-mips%d does not support 64 bit fp registers"
+#~ msgstr "-mips%d not tiene soporte para registros fp de 64 bit"
+
+#~ msgid "-mips%d does not support 64 bit gp registers"
+#~ msgstr "-mips%d no tiene soporte para registros gp de 64 bit"
+
+#~ msgid "Use OSF PIC"
+#~ msgstr "Usar PIC de OSF"
+
+#~ msgid "Don't use OSF PIC"
+#~ msgstr "No usar PIC de OSF"
+
+#~ msgid "Optimize for 3900"
+#~ msgstr "Optimizar para 3900"
+
+#~ msgid "Optimize for 4650"
+#~ msgstr "Optimizar para 4650"
+
+#~ msgid "stack frame too big"
+#~ msgstr "marco de pila demasiado grande"
+
+#~ msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
+#~ msgstr "no hay varargs ni stdarg en mmix_setup_incoming_varargs"
+
+#~ msgid "oops, not debugged; fixing up value:"
+#~ msgstr "ups, no depurado; componiendo el valor:"
+
+#~ msgid "Generate little endian data"
+#~ msgstr "Generar datos little endian"
+
+#~ msgid "Generate big endian data"
+#~ msgstr "Generar datos big endian"
+
+#~ msgid "Turn on maintainer testing code"
+#~ msgstr "Activar el código de prueba del mantenedor"
+
+#~ msgid "Enable Transmeta picoJava extensions"
+#~ msgstr "Activar las extensiones picoJava de Transmeta"
+
+#~ msgid "Disable Transmeta picoJava extensions"
+#~ msgstr "Desactivar las extensiones picoJava de Transmeta"
+
+#~ msgid "Disable reorganization pass"
+#~ msgstr "Desactivar el paso de reorganización"
+
+#~ msgid "-f%s ignored (all code is position independent)"
+#~ msgstr "se ignora -f%s (todo el código es independiente de posición)"
+
+#~ msgid "-ffunction-sections disabled on AIX when debugging"
+#~ msgstr "se desactiva -ffunction-sections en AIX mientras se depura"
+
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "-fdata-sections no tiene soporte en AIX"
+
+#~ msgid "argument 3 of `%s' must be a 2-bit literal"
+#~ msgstr "el argumento 3 para `%s' debe ser una literal de 2-bit"
+
+#~ msgid "%%S computed all 1's mask"
+#~ msgstr "%%S calculó una máscara con sólo 1's"
+
+#~ msgid "%%S computed all 0's mask"
+#~ msgstr "%%S calculó una máscara con sólo 0's"
+
+#~ msgid "no viable candidates"
+#~ msgstr "no hay candidatos viables"
+
+#~ msgid "cannot pass objects of non-POD type `%#T' through `...'"
+#~ msgstr "no se puede pasar objetos de tipo `%#T' que no es POD a través de `...'"
+
+#~ msgid "`%D' has already been declared in `%T'"
+#~ msgstr "`%D' ya ha sido declarado en `%T'"
+
+#~ msgid "typedef `%D' is initialized"
+#~ msgstr "la definición de tipo `%D' está inicializada"
+
+#~ msgid "`%D' as declarator"
+#~ msgstr "`%D' como declarador"
+
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "el tamaño del miembro `%D' no es constante"
+
+#~ msgid "cannot declare %s to references"
+#~ msgstr "no se puede declarar %s a referencias"
+
+#~ msgid "invalid type: `void &'"
+#~ msgstr "tipo inválido: `void &'"
+
+#~ msgid "typedef declaration includes an initializer"
+#~ msgstr "la declaración typedef incluye un inicializador"
+
+#~ msgid "-fname-mangling-version is no longer supported"
+#~ msgstr "-fname-mangling-version ya no tiene soporte"
+
+#~ msgid "candidate%s: %+#D"
+#~ msgstr "candidato%s: %+#D"
+
+#~ msgid " %#D"
+#~ msgstr " %#D"
+
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "inicializadores miembro para `%#D'"
+
+#~ msgid " will be re-ordered to match declaration order"
+#~ msgstr " se reordenará para coincidir con el orden de la declaración"
+
+#~ msgid "multiple initializations given for member `%D'"
+#~ msgstr "se dieron inicializadores múltiples para el miembro `%D'"
+
+#~ msgid "base initializers for `%#T'"
+#~ msgstr "inicializadores base para `%T'"
+
+#~ msgid " will be re-ordered to match inheritance order"
+#~ msgstr " se reordenará para coincidir con el orden de herencia"
+
+#~ msgid "base class `%T' already initialized"
+#~ msgstr "la clase base `%T' ya está inicializada"
+
+#~ msgid "implementation-reserved name `%D' used"
+#~ msgstr "se usó el nombre `%D' reservado para la implementación"
+
+#~ msgid "explicit instantiation of `%#D' after"
+#~ msgstr "instanciación explícita de `%#D' después de"
+
+#~ msgid "explicit specialization here"
+#~ msgstr "especialización explícita aquí"
+
+#~ msgid "explicit instantiation of `%#T' after"
+#~ msgstr "instanciación explícita de `%#T' después de"
+
+#~ msgid "base initializer for `%T'"
+#~ msgstr "inicializador base para `%T'"
+
+#~ msgid " will be re-ordered to precede member initializations"
+#~ msgstr " será reordenado para preceder las inicializaciones de los miembros"
+
+#~ msgid "ignoring `%V' qualifiers on `%T'"
+#~ msgstr "se ignoran los calificadores `%V' para `%T'"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to a function type"
+#~ msgstr "ISO C++ prohibe la aplicación de `sizeof' a un tipo de función"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to a member function"
+#~ msgstr "ISO C++ prohibe la aplicación de `sizeof' a una función miembro"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
+#~ msgstr "ISO C++ prohibe aplicar `sizeof' al tipo `void' el cual es un tipo incompleto"
+
+#~ msgid "`sizeof' applied to non-static member"
+#~ msgstr "`sizeof' aplicado a miembro que no es static"
+
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "sizeof aplicado a un tipo de dato incompleto `%T'"
+
+#~ msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
+#~ msgstr "petición por el miembro `%T::%D' en la expresión de tipo no agregado `%T'"
+
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "uso inválido de la declaración de tipo `%#D' como una expresión"
+
+#~ msgid "invalid use of template `%#D' as expression"
+#~ msgstr "uso inválido de la plantilla `%#D' como una expresión"
+
+#~ msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
+#~ msgstr "desplazamiento inválido desde un tipo `%#T' que no es POD; use en su lugar un apuntador a miembro"
+
+#~ msgid "pointer to member function called, but not in class scope"
+#~ msgstr "se llamó a apuntador a función miembro, pero no en el alcance de la clase"
+
+#~ msgid "object missing in call to method `%D'"
+#~ msgstr "falta un objeto en la llamada al método `%D'"
+
+#~ msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
+#~ msgstr "¿!¿se declaró la función `%D' sobrecargada, pero no aparece ninguna definición con la cual resolverlo?!?"
+
+#~ msgid "invalid call to member function needing `this' in static member function scope"
+#~ msgstr "llamada inválida a función miembro requiere `this' en el alcance de la función miembro static"
+
+#~ msgid "unary `&'"
+#~ msgstr "`&' unario"
+
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "uso inválido del tipo indefinido `%#T'"
+
+#~ msgid "forward declaration of `%#T'"
+#~ msgstr "declaración hacia adelante de `%#T'"
+
+#~ msgid "invalid use of `%T'"
+#~ msgstr "uso inválido de `%T'"
+
+#~ msgid "invalid use of member (did you forget the `&' ?)"
+#~ msgstr "uso inválido del miembro (¿olvidó el `&'?)"
+
+#~ msgid "invalid use of template type parameter"
+#~ msgstr "uso inválido del parámetro de tipo plantilla"
+
+#~ msgid "address of overloaded function with no contextual type information"
+#~ msgstr "dirección de la función sobrecargada sin información contextual de tipo"
+
+#~ msgid "overloaded function with no contextual type information"
+#~ msgstr "función sobrecargada sin información contextual de tipo"
+
+#~ msgid "insufficient contextual information to determine type"
+#~ msgstr "información contextual insuficiente para determinar el tipo"
+
+#~ msgid "initializer list construction invalid for derived class object `%D'"
+#~ msgstr "construcción de la lista de inicializadores inválida para el objeto de la clase derivada `%D'"
+
+#~ msgid "initializer list construction invalid for polymorphic class object `%D'"
+#~ msgstr "construcción de la lista de inicializadores inválida para el objeto de la clase polimórfica `%D'"
+
+#~ msgid "initializer list construction invalid for `%D'"
+#~ msgstr "construcción de la lista de inicializadores inválida para `%D'"
+
+#~ msgid "due to the presence of a constructor"
+#~ msgstr "debido a la presencia de un constructor"
+
+#~ msgid "due to non-public access of member `%D'"
+#~ msgstr "debido al acceso no público del miembro `%D'"
+
+#~ msgid "ISO C++ forbids non-constant aggregate initializer expressions"
+#~ msgstr "ISO C++ prohibe las expresiones inicializadoras agregadas que no son constantes"
+
+#~ msgid "The meaning of `\\x' (at %0) varies with -traditional"
+#~ msgstr "el significado de `\\x' (en %0) varía con -traditional"
+
+#~ msgid "The meaning of `\\a' (at %0) varies with -traditional"
+#~ msgstr "el significado de `\\a' (en %0) varía con -traditional"
+
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "el significado de `\\x' varía con -traditional"
+
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "el significado de `\\a' varía con -traditional"
+
+#~ msgid "parse error; also virtual memory exceeded"
+#~ msgstr "error de decodificación; también se excedió la memoria"
+
+#~ msgid "Can't specify array dimension in a declaration"
+#~ msgstr "No se puede especificar la dimensión de una matriz en una declaración"
+
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "error interno - uso de tipo indefinido"
+
+#~ msgid "no class name specified as argument to -fconstant-string-class"
+#~ msgstr "no se especificó un nombre de clase como argumento para -fconstant-string-class"
+
+#~ msgid "-p profiling is no longer supported. Use -pg instead"
+#~ msgstr "la creación de perfil con -p ya no tiene soporte. Use en su lugar -pg"
+
+#~ msgid "incompatible interworking options"
+#~ msgstr "opciones de trabajo interno incompatibles"
+
+#~ msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#~ msgstr "las opciones -mabi=mmixware y -mabi=gnu son mutuamente exclusivas"
+
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "la opción -p no tiene soporte: en su lugar use -pg"
+
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd y -pedantic son incompatibles"
+
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd y -mxopen son incompatibles"
+
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen y -pedantic son incompatibles"
+
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "no se pueden usar -mfp64 y -msingle-float al mismo tiempo"
+
+#~ msgid "may not use both -mfp64 and -m4650"
+#~ msgstr "no se pueden usar -mfp64 y -m4650 al mismo tiempo"
+
+#~ msgid "may not use both -mgp32 and -mfp64"
+#~ msgstr "no se pueden usar -mgp32 y -mfp64 al mismo tiempo"
+
+#~ msgid "Only initialized variables can be placed into program memory area."
+#~ msgstr "Sólo las variables inicializadas se pueden ubicar en el área de memoria del programa."
+
+#~ msgid "declaration of `%#T'"
+#~ msgstr "la declaración de `%#T'"
+
+#~ msgid "a -ifile option requires a -map option"
+#~ msgstr "una opción -ifile requiere una opción -map"
+
#~ msgid "__builtin_trap not supported by this target"
#~ msgstr "no se da soporte a __builtin_trap en este objetivo"
@@ -20205,9 +21815,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "cannot EXIT label `%s' outside current function"
#~ msgstr "no se puede hacer EXIT a la etiqueta `%s' fuera de la función actual"
-#~ msgid "case selector not compatible with label"
-#~ msgstr "el selector del case no es compatible con la etiqueta"
-
#~ msgid "ELSE label not within a CASE statement"
#~ msgstr "la etiqueta ELSE no se encuentra dentro de una declaración CASE"
@@ -20317,7 +21924,7 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "miembro incompatible de la tupla powerset (en la posición #%d)"
#~ msgid "no initializer value for fixed field `%s'"
-#~ msgstr "no hay valor inicial para el campo fijo `%s'"
+#~ msgstr "no hay valor inicializador para el campo fijo `%s'"
#~ msgid "non-constant value for tag field `%s'"
#~ msgstr "valor no constante para el campo de marcado '%s'"
@@ -20329,10 +21936,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "falta los campos variantes (por lo menos `%s')"
#~ msgid "bad initializer for field `%s'"
-#~ msgstr "iniciador inválido para el campo `%s'"
+#~ msgstr "inicializador inválido para el campo `%s'"
#~ msgid "no initializer value for variant field `%s'"
-#~ msgstr "no hay un valor iniciador para el campo variante `%s'"
+#~ msgstr "no hay un valor inicializador para el campo variante `%s'"
#~ msgid "no selected variant"
#~ msgstr "no se ha escogido un variant"
@@ -20344,10 +21951,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "probablemente no es una estructura de tupla"
#~ msgid "excess initializer for field `%s'"
-#~ msgstr "exceso de iniciadores para el campo `%s'"
+#~ msgstr "exceso de inicializadores para el campo `%s'"
#~ msgid "excess unnamed initializers"
-#~ msgstr "exceso de iniciadores sin nombre"
+#~ msgstr "exceso de inicializadores sin nombre"
#~ msgid "non-constant start index for tuple"
#~ msgstr "índice de inicio no constante para la tupla"
@@ -20386,7 +21993,7 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "falta los elementos %s : %s de la tupla matriz"
#~ msgid "initializer is not an array or string mode"
-#~ msgstr "el iniciador no es un modo matriz o cadena"
+#~ msgstr "el inicializador no es un modo matriz o cadena"
#~ msgid "destination is too small"
#~ msgstr "el destino es muy pequeño"
@@ -20398,10 +22005,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "`%s' no debe ser declarado readonly"
#~ msgid "declaration of readonly variable without initialization"
-#~ msgstr "declaración de una variable readonly sin iniciación"
+#~ msgstr "declaración de una variable readonly sin inicialización"
#~ msgid "no initialization allowed for `%s'"
-#~ msgstr "no se permite iniciación para `%s'"
+#~ msgstr "no se permite la inicialización para `%s'"
#~ msgid "value for loc-identity `%s' is not a location"
#~ msgstr "el valor para la loc-identity `%s' no es una ubicación"
@@ -20410,10 +22017,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "la ubicación para `%s' no es compatible con la lectura"
#~ msgid "nonconstant initializer for `%s'"
-#~ msgstr "iniciador no constante para `%s'"
+#~ msgstr "inicializador no constante para `%s'"
#~ msgid "do_decl: internal error: don't know what to initialize"
-#~ msgstr "do_decl: error interno: no se sabe qué hay que iniciar"
+#~ msgstr "do_decl: error interno: no se sabe qué hay que inicializar"
#~ msgid "RECURSIVE PROCs"
#~ msgstr "PROCs RECURSIVE"
@@ -20457,9 +22064,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "non-value mode may only returned by LOC"
#~ msgstr "un modo que no es valor sólo puede ser devuelto por LOC"
-#~ msgid "mode of `%s' is not a mode"
-#~ msgstr "el modo de `%s' no es un modo"
-
#~ msgid "`%s' may only be passed by LOC"
#~ msgstr "`%s' sólo puede ser pasado por LOC"
@@ -20883,9 +22487,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "too few arguments in call to `readrecord'"
#~ msgstr "muy pocos argumentos en la llamada a `readrecord'"
-#~ msgid "incompatible record mode"
-#~ msgstr "modo de registro incompatible"
-
#~ msgid "store location must not be READonly"
#~ msgstr "la ubicación de almacenamiento no debe ser READonly"
@@ -21048,15 +22649,9 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "control sequence overflow"
#~ msgstr "desbordamiento de la secuencia de control"
-#~ msgid "invalid control sequence"
-#~ msgstr "secuencia de control inválida"
-
#~ msgid "invalid base in read control sequence"
#~ msgstr "base inválida en la secuencia de control de lectura"
-#~ msgid "invalid digit in control sequence"
-#~ msgstr "dígito inválido en la secuencia de control"
-
#~ msgid "unterminated string literal"
#~ msgstr "cadena literal sin terminar"
@@ -21150,9 +22745,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "start label '%s' does not match end label '%s'"
#~ msgstr "la etiqueta de inicio '%s' no coincide con la etiqueta final '%s'"
-#~ msgid "`%s' not declared"
-#~ msgstr "no se declaró `%s'"
-
#~ msgid "no RETURN or RESULT in procedure"
#~ msgstr "no hay RETURN o RESULT en el procedimiento"
@@ -21202,11 +22794,8 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "'=' used where ':=' is required"
#~ msgstr "se usa '=' cuando se requiere ':='"
-#~ msgid "initialization is not allowed in spec module"
-#~ msgstr "no se permite la iniciación en el módulo de especificaciones"
-
#~ msgid "loc-identity declaration without initialization"
-#~ msgstr "declaración loc-identity sin iniciación"
+#~ msgstr "declaración loc-identity sin inicialización"
#~ msgid "bad syntax following FORBID"
#~ msgstr "sintaxis errónea a continuación de FORBID"
@@ -21247,9 +22836,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "unrecognized case label list after ','"
#~ msgstr "no se reconoce la lista de etiquetas case después de ','"
-#~ msgid "bad ASM operand"
-#~ msgstr "operando ASM erróneo"
-
#~ msgid "readonly location modified by 'asm'"
#~ msgstr "ubicación de sólo lectura modificada por 'asm'"
@@ -21334,12 +22920,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "POS not allowed for ARRAY"
#~ msgstr "no se permite POS en ARRAY"
-#~ msgid "STEP not allowed in field definition"
-#~ msgstr "no se permite STEP en la definición de campos"
-
-#~ msgid "missing field name"
-#~ msgstr "falta el nombre del campo"
-
#~ msgid "bad field name following ','"
#~ msgstr "nombre de campo erróneo a continuación de ','"
@@ -21397,9 +22977,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "mode with non-value property in signal definition"
#~ msgstr "modo sin propiedad que no es valor en la definición de la señal"
-#~ msgid "undeclared identifier `%s'"
-#~ msgstr "identificador sin declarar `%s'"
-
#~ msgid "RETURNS spec with invalid mode"
#~ msgstr "especificación de RETURNS con modo inválido"
@@ -21415,9 +22992,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "recordmode must not have the non-value property"
#~ msgstr "el modo de grabación no debe tener la propiedad que no es valor"
-#~ msgid "tasking code %ld out of range for `%s'"
-#~ msgstr "el código de tarea %ld está fuera de rango para `%s'"
-
#~ msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
#~ msgstr "atributo inválido para el argumento `%s' (solamente se permiten IN o LOC)"
@@ -21709,9 +23283,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "location conversion between differently-sized modes"
#~ msgstr "conversión de ubicaciones entre modos de tamaños diferentes"
-#~ msgid "unsupported value conversion"
-#~ msgstr "conversión de valor sin soporte"
-
#~ msgid "operand to bin must be a non-negative integer literal"
#~ msgstr "el operando para bin debe ser una literal entera no negativa"
@@ -22442,9 +24013,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression"
#~ msgstr "Especificación de longitud inválida en %0 para la declaración IMPLICIT -- debe ser una expresión constante entera"
-#~ msgid "Invalid length specification at %0"
-#~ msgstr "Especificación de longitud inválida en %0"
-
#~ msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type"
#~ msgstr "El tipo del punto ENTRY en %0 a la función tiene conflictos con el(los) tipo(s) de punto(s) de entrada previo(s) -- deben ser todos CHARACTER de longitud idéntica o ninguno debe ser de tipo CHARACTER"
@@ -22452,10 +24020,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "El tipo del punto ENTRY en %0 a la función tiene conflictos con el(los) tipo(s) de punto(s) de entrada previo(s)"
#~ msgid "Common block `%A' initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block"
-#~ msgstr "El bloque común `%A' iniciado en %0 ya se habia iniciado en %1 -- solamente una unidad de programa puede especificar valores iniciales para un bloque común en particular"
+#~ msgstr "El bloque común `%A' inicializado en %0 ya se habia inicializado en %1 -- solamente una unidad de programa puede especificar valores iniciales para un bloque común en particular"
#~ msgid "Common block `%A' initialized at %0 already initialized at %1"
-#~ msgstr "El bloque común `%A' iniciado en %0 ya se habia iniciado en %1"
+#~ msgstr "El bloque común `%A' inicializado en %0 ya se habia inicializado en %1"
#~ msgid "Initial padding for common block `%A' is %B %C at %0 -- consider reordering members, largest-type-size first"
#~ msgstr "El relleno inicial para el bloque común `%A' es %B %C en %0 -- considere reordenar a los miembros, primero los de tamaño de tipo más grande"
@@ -22470,10 +24038,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "El relleno inicial para el bloque común `%A' es %B %D en %0 pero %C %E en %1"
#~ msgid "Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1 -- use consistent definitions or reorder program units in source file"
-#~ msgstr "El bloque común `%A' está iniciado a %B %D de longitud en %0 pero agrandado a %C %E en %1 -- utilice definiciones consistentes o reordene las unidades de programa en el fichero fuente"
+#~ msgstr "El bloque común `%A' está inicializado a %B %D de longitud en %0 pero agrandado a %C %E en %1 -- utilice definiciones consistentes o reordene las unidades de programa en el fichero fuente"
#~ msgid "Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1"
-#~ msgstr "El bloque común `%A' está iniciado a %B %D de longitud en %0 pero agrandado a %C %E en %1"
+#~ msgstr "El bloque común `%A' está inicializado a %B %D de longitud en %0 pero agrandado a %C %E en %1"
#~ msgid "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely"
#~ msgstr "La variable DO `%A' es de tipo REAL o DOUBLE PRECISION en %0 -- es probable que tenga una conducta inesperada"
@@ -22494,10 +24062,10 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "Coma flotante de precisión cuádruple sin soporte"
#~ msgid "Initialization of large (%B-unit) aggregate area `%A' at %0 slow and takes lots of memory during g77 compile"
-#~ msgstr "La iniciación del área agregada grande (unidad-%B) `%A' en %0 es actualmente muy lenta y toma mucha memoria durante la compilación de g77"
+#~ msgstr "La inicialización del área agregada grande (unidad-%B) `%A' en %0 es actualmente muy lenta y toma mucha memoria durante la compilación de g77"
#~ msgid "This could take a while (initializing `%A' at %0)..."
-#~ msgstr "Esto puede tardar un rato (iniciando `%A' en %0)..."
+#~ msgstr "Esto puede tardar un rato (inicializando `%A' en %0)..."
#~ msgid "can't to open %s"
#~ msgstr "no se puede abrir %s"
@@ -22505,9 +24073,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "Set class path and suppress system path"
#~ msgstr "Establecer la ruta de clases y suprimir la ruta del sistema"
-#~ msgid "a -ifile option requires a -map option"
-#~ msgstr "una opción -ifile requiere una opción -map"
-
#~ msgid "invalid reference to NULL ptr, use ptr-to-member instead"
#~ msgstr "referencia inválida a NULL ptr, use en su lugar ptr-a-miembro"
@@ -22551,7 +24116,7 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "uso inválido de %D"
#~ msgid "return value from function receives multiple initializations"
-#~ msgstr "el valor de de devolución de la función recibe iniciaciones múltiples"
+#~ msgstr "el valor de de devolución de la función recibe inicializaciones múltiples"
#~ msgid "Can't use '$' as a separator for inner classes"
#~ msgstr "No se puede usar '$' como un separador para las clases interiores"
@@ -22587,29 +24152,23 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgstr "argumento de tipo erróneo para %s"
#~ msgid "deprecated initialization of zero-length array"
-#~ msgstr "iniciación deprecada de una matriz de longitud cero"
+#~ msgstr "inicialización obsoleta de una matriz de longitud cero"
#~ msgid "initialization of zero-length array before end of structure"
-#~ msgstr "iniciación de una matriz de longitud cero antes del fin de la estructura"
+#~ msgstr "inicialización de una matriz de longitud cero antes del fin de la estructura"
#~ msgid "initialization of zero-length array inside a nested context"
-#~ msgstr "iniciación de una matriz de longitud cero dentro de un contexto anidado"
+#~ msgstr "inicialización de una matriz de longitud cero dentro de un contexto anidado"
#~ msgid "Unable to find a temporary location for static chain register"
#~ msgstr "No se puede encontrar una ubicación temporal para el registro estático de cadena"
-#~ msgid "Only initialized variables can be placed into the 8-bit area."
-#~ msgstr "Sólo las variables con valor inicial pueden ser colocadas en el área de 8-bit."
-
#~ msgid "Internal gcc abort from %s:%d"
#~ msgstr "Aborto interno de gcc de %s:%d"
#~ msgid "The local variable `insn' has the value:"
#~ msgstr "La variable local `insn' tiene el valor:"
-#~ msgid "Register '%c' is unknown"
-#~ msgstr "El registro '%c' es desconocido"
-
#~ msgid "Register '%c' already specified in allocation order"
#~ msgstr "El registro '%c' ya fue especificado en el orden de alojamiento"
@@ -22655,11 +24214,8 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "`__alignof__' applied to a bit-field"
#~ msgstr "`__alignof__' aplicado a un campo de bits"
-#~ msgid "base class initializer specified, but no base class to initialize"
-#~ msgstr "se especificó el iniciador de la clase base, pero no hay clase base a iniciar"
-
#~ msgid "initializer for unnamed base class ambiguous"
-#~ msgstr "iniciador para clase base sin nombre ambiguo"
+#~ msgstr "inicializador para clase base sin nombre ambiguo"
#~ msgid "Do not treat the namespace `std' as a normal namespace"
#~ msgstr "No tratar al espacio de nombres `std' como un espacio de nombres normal"
@@ -22697,9 +24253,6 @@ msgstr "-fPIC no es válido con -mcoff"
#~ msgid "expected to return to file \"%s\""
#~ msgstr "se esperaba regresar al fichero \"%s\""
-#~ msgid "expected to return to line number %u"
-#~ msgstr "se esperaba regresar a la línea número %u"
-
#~ msgid "header flags for \"%s\" have changed"
#~ msgstr "los interruptores del encabezado para \"%s\" han cambiado"
diff --git a/gcc/po/fr.po b/gcc/po/fr.po
index ab6742a244e..98df481550f 100644
--- a/gcc/po/fr.po
+++ b/gcc/po/fr.po
@@ -1,140 +1,176 @@
# Messages français pour GNU concernant gcc.
# Copyright © 2001 Free Software Foundation, Inc.
-# Michel Robitaille <robitail@IRO.UMontreal.CA>, since 1996.
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
+#
+# Vocabulaire utilisé
+# lvalue = membre gauche
+# deprecated = obsolète
+# out of range = hors des limites
+# range = gamme
+# scope = porté, champ
+# shadowing = masquer
+# embedded PIC = PIC enchâssé
+# CPU = processeur
+# structure with flexible member
+# = structure ayant un membre flexible
+# flag = fanion
+# forward declaration
+# = déclaration anticipée
+# token = élément lexical (dans le contexte du parsing)
+# to subscript = indicer
+# top-level = hors de toute fonction
+# member function = fonction membre
+#
+# Pas traduit:
+# thread
+#
+# J'ai des doutes pour :
+# inline = en-ligne (pas systématiquement)
+# section attribute attribut de section
+# wide char caractère long
+#
+# ------
+# literals littéral, ou mot composé ?
+# msgid "ISO C89 forbids compound literals"
+# msgstr "le C89 ISO interdit les mots composés"
+#
+# symbol table table des symboles ou table de symbole
+# command map carte des commandes
+# Combiner combinateur
+# msgid ""
+# ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+# ";; %d successes.\n"
+# "\n"
+# msgstr ""
+# ";; Statistiques du combinateur : %d tentatives, %d substitutions (%d requérant un nouvel espace),\n"
+# ";; %d succès.\n"
+# "\n"
+#
+# promote promouvoir
+# msgid "the left operand of \"%s\" changes sign when promoted"
+# msgstr "L'opérande gauche de « %s » change de signe lors de sa promotion"
+#
+# include guards ???
+# msgid "Multiple include guards may be useful for:\n"
+# msgstr "De multiples balises pour les inclusions peuvent être utiles pour :\n"
+#
+#
+# universal-character-name ???
+# msgid "incomplete universal-character-name"
+# msgid "non-hex digit '%c' in universal-character-name"
+# msgid "universal-character-name on EBCDIC target"
+#
+# poisoning empoisonnement
+# msgid "poisoning existing macro \"%s\""
+# msgstr "empoisonnement de la macro existente « %s »"
+#
+#
+# Autres règles:
+# - j'ai ajouté un adjectif par rapport à l'anglais si le message est
+# une phrase avec verbe conjugé.
+# - ISO est considéré comme un adjectif dans « C ISO »
+#
+# Erreurs corrigées:
+# librairies, assumer
+#
+# A faire:
+# - s/en ligne/en-ligne/
+# - hors gamme
+# - literal
+# - chaine de format => formatage
+# - scope
+# - supporté est un faux ami
+#
+# A rapporter upstream:
+# <<<<<<<<
+# In c-opts.c, begining line 1732, a lot of options are of the kind:
+# " -W[no-]trigraphs Warn if trigraphs are encountered\n"
+# I guess it would be better to change them all to something like
+# " -W[no-]trigraphs Warn [or not] if trigraphs are encountered\n"
+#
+#
+# #: c-opts.c:1759
+# " -MP\t\t\t Generate phony targets for all headers\n"
+# you may want to change the \t to spaces, as it is done for the other lines.
+#
+# #: 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 "%s"
+#
+# Are you sure you want to translate the messages in cfgrtl.c, or are they
+# debugging informations ?
+#
+# You may want to use ngettext instead of putting (s) in text.
+# msgid "null character(s) preserved in literal"
+#
+# >>>>>>>>>
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gcc 3.1-b20020415\n"
-"POT-Creation-Date: 2002-04-23 12:53+0200\n"
-"PO-Revision-Date: 2002-04-29 14:00-0500\n"
+"Project-Id-Version: GNU gcc 3.3-b20021230\n"
+"POT-Creation-Date: 2002-12-30 18:56+0000\n"
+"PO-Revision-Date: 2003-03-05 23:20+0100\n"
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
"Language-Team: French <traduc@traduc.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: attribs.c:314
+#: attribs.c:185
#, c-format
msgid "`%s' attribute directive ignored"
-msgstr "« %s » attribut de la directive ignoré"
+msgstr "attribut de directive « %s » ignoré"
-#: attribs.c:322
+#: attribs.c:193
#, c-format
msgid "wrong number of arguments specified for `%s' attribute"
msgstr "nombre erroné d'arguments spécifié pour l'attribut « %s »"
-#: attribs.c:339
+#: attribs.c:210
#, c-format
msgid "`%s' attribute does not apply to types"
-msgstr "« %s » attribut ne s'applique pas à ces types"
+msgstr "l'attribut « %s » ne s'applique pas aux types"
-#: attribs.c:376
+#: attribs.c:247
#, c-format
msgid "`%s' attribute only applies to function types"
-msgstr "attribut « %s » ne s'applique seulement qu'à des types de fonction"
+msgstr "l'attribut « %s » ne s'applique qu'à des types de fonction"
-#: attribs.c:468 attribs.c:490 attribs.c:512 attribs.c:543 attribs.c:565 attribs.c:590 attribs.c:613 attribs.c:643 attribs.c:681 attribs.c:728 attribs.c:758 attribs.c:788 attribs.c:811 attribs.c:1057 attribs.c:1113 attribs.c:1169 attribs.c:1230 attribs.c:1256 attribs.c:1458 config/arm/arm.c:2007 config/arm/arm.c:2034 config/avr/avr.c:4683 config/h8300/h8300.c:3071 config/h8300/h8300.c:3096 config/i386/i386.c:1267 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 "« %s » attribut ignoré"
-
-#: attribs.c:844
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "mode machine inconnu « %s »"
-
-#: attribs.c:847
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "aucun type de données pour le mode « %s »"
-
-#: attribs.c:880
-msgid "section attribute cannot be specified for local variables"
-msgstr "attribut de section ne peut être spécifié pour des variables locales"
-
-#: attribs.c:891
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr "section de « %s » en conflit avec une déclaration précédente"
-
-#: attribs.c:900
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr "attribut de section n'est pas permis pour « %s »"
-
-#: attribs.c:907
-msgid "section attributes are not supported for this target"
-msgstr "attribut de section ne sont pas supportés pour la cible"
-
-#: attribs.c:949
-msgid "requested alignment is not a constant"
-msgstr "alignement demandé n'est pas une constante"
-
-#: attribs.c:954
-msgid "requested alignment is not a power of 2"
-msgstr "alignement demandé n'est pas une puissance de 2"
+msgstr "attribut « %s » ignoré"
-#: attribs.c:959
-msgid "requested alignment is too large"
-msgstr "alignement demandé est trop grand"
-
-#: attribs.c:986
-#, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "alignement ne peut pas être spécifié pour « %s »"
-
-#: attribs.c:1031
-#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr "« %s » défini à la fois comme normal et comme alias"
-
-#: attribs.c:1041
-msgid "alias arg not a string"
-msgstr "argument d'alias n'est pas une chaîne"
-
-#: attribs.c:1080 attribs.c:1136
-#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "attribut « %s » ne s'applique seulement qu'à des fonctions"
-
-#: attribs.c:1087 attribs.c:1143
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "ne peut initialiser l'attribut « %s » après définition"
-
-#: attribs.c:1227
-#, c-format
-msgid "`%s' attribute ignored for `%s'"
-msgstr "« %s » attribut ignoré pour « %s »"
-
-#: attribs.c:1284
-#, c-format
-msgid "invalid vector type for attribute `%s'"
-msgstr "type de vecteur invalide pour l'attribut « %s »"
-
-#: attribs.c:1307 attribs.c:1312
-msgid "no vector mode with the size and type specified could be found"
-msgstr "aucun mode vecteur avec la taille et le type spécifié n'a pas été répéré"
-
-#: builtins.c:282
+#: builtins.c:285
msgid "offset outside bounds of constant string"
-msgstr "décalage hors gamme d'une chaîne de constante"
+msgstr "décalage hors des limites d'une chaîne de constante"
-#: builtins.c:759
+#: builtins.c:765
msgid "second arg to `__builtin_prefetch' must be a constant"
msgstr "second argument de « __builtin_prefetch » doit être une constante"
-#: builtins.c:766
+#: builtins.c:772
msgid "invalid second arg to __builtin_prefetch; using zero"
-msgstr "second argument invalide de « __builtin_prefetch »; utilise zéro"
+msgstr "second argument invalide de « __builtin_prefetch »; utilisation de zéro"
-#: builtins.c:773
+#: builtins.c:779
msgid "third arg to `__builtin_prefetch' must be a constant"
msgstr "troisième argument de « __builtin_prefetch » doit être une constante"
-#: builtins.c:780
+#: builtins.c:786
msgid "invalid third arg to __builtin_prefetch; using zero"
-msgstr "troisième argument invalide de « __builtin_prefetch »; utilise zéro"
+msgstr "troisième argument invalide de « __builtin_prefetch »; utilisation de zéro"
#. ??? We used to try and build up a call to the out of line function,
#. guessing about what registers needed saving etc. This became much
@@ -143,2183 +179,2436 @@ msgstr "troisième argument invalide de « __builtin_prefetch »; utilise zéro"
#. 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:2760
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
-msgstr "« __builtin_saveregs » n'est pas supporté par la cible"
+msgstr "« __builtin_saveregs » n'est pas supporté par cette cible"
-#: builtins.c:2802
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr "argument de « __builtin_args_info » doit être une constante"
-#: builtins.c:2808
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
-msgstr "argument de « __builtin_args_info » hors gamme"
+msgstr "argument de « __builtin_args_info » hors des limites"
-#: builtins.c:2814
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
msgstr "argument manquant dans « __builtin_args_info »"
-#: builtins.c:2846
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
-msgstr "« va_start » utilisé dans la fonction avec des arguments fixes"
+msgstr "« va_start » utilisé dans une fonction ayant des arguments fixes"
-#: builtins.c:2865
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
msgstr "second paramètre de « va_start » n'est pas le dernier argument nommé"
#. 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:2870
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr "« __builtin_next_arg » appelé sans argument"
-#: builtins.c:2974
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
msgstr "trop d'arguments pour la function « va_start »"
-#: builtins.c:3075
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
-msgstr "premier argument de « va_arg » n'est pas de type « va_list "
+msgstr "premier argument de « va_arg » n'est pas de type « va_list »"
#. 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:3106
+#: builtins.c:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
-msgstr "« %s » a été promu à « %s » lorsque passé à travers « ... »"
+msgstr "« %s » a été promu à « %s » lors du passage à travers « ... »"
-#: builtins.c:3111
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
-msgstr "(vous devriez passer « %s » mais non pas « %s » à « va_arg »)"
+msgstr "(vous devriez donc passer « %s » et non « %s » à « va_arg »)"
-#: builtins.c:3242
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
-msgstr "argument invalid de « __builtin_frame_address »"
+msgstr "argument de « __builtin_frame_address » invalide"
-#: builtins.c:3244
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
-msgstr "argument invalid de « __builtin_return_address »"
+msgstr "argument de « __builtin_return_address » invalide"
-#: builtins.c:3258
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
-msgstr "argument non supporté de « __builtin_frame_address »"
+msgstr "argument de « __builtin_frame_address » non supporté"
-#: builtins.c:3260
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
-msgstr "argument non supporté de « __builtin_return_address »"
+msgstr "argument de « __builtin_return_address » non supporté"
-#: builtins.c:3428
+#: builtins.c:3515
msgid "second arg to `__builtin_expect' must be a constant"
-msgstr "second argument de « __builtin_expect » doit être une constante"
+msgstr "le second argument de « __builtin_expect » doit être une constante"
-#: builtins.c:3909
+#: builtins.c:4010
msgid "__builtin_longjmp second argument must be 1"
-msgstr "second argument de « __builtin_longjmp » doit être 1"
+msgstr "le second argument de « __builtin_longjmp » doit être 1"
#. just do library call, if unknown builtin
-#: builtins.c:3982 c-common.c:3811
+#: builtins.c:4074 c-common.c:4437
#, c-format
msgid "built-in function `%s' not currently supported"
-msgstr "fonction interne « %s » n'est pas couramment supportée"
+msgstr "fonction interne « %s » n'est pas actuellement supportée"
+
+#: builtins.c:4147
+msgid "target format does not support infinity"
+msgstr "le format cible ne supporte pas l'infini"
-#: c-common.c:550
+#: c-common.c:1163
#, c-format
msgid "`%s' is not defined outside of function scope"
-msgstr "« %s » n'est pas défini à l'extérieur de l'étendue de la fonction"
+msgstr "« %s » n'est pas défini à l'extérieur de la portée de la fonction"
-#: c-common.c:590
-msgid "concatenation of string literals with __FUNCTION__ is deprecated. This feature will be removed in future"
-msgstr "concaténation de litéraux de chaîne avec « __FUNCTION__ » est dépréciée. Cette option ne sera plus disponible dans le futur."
-
-#: c-common.c:659
+#: 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 "longueur de la chaîne « %d » plus grande que la longueur « %d » que le compilateur ISO C%d requiert pour le support"
+msgstr "longueur de la chaîne « %d » plus grande que la longueur « %d » que les compilateurs C%d ISO doivent supporter"
+
+#: c-common.c:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr "la concaténation de chaînes de litéraux avec « __FUNCTION__ » est obsolète"
-#: c-common.c:708
+#: c-common.c:1338
msgid "overflow in constant expression"
msgstr "débordement dans l'expression de la constante"
-#: c-common.c:729
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr "débordement d'entier dans l'expression"
-#: c-common.c:738
+#: c-common.c:1368
msgid "floating point overflow in expression"
msgstr "débordement d'un nombre en virgule flottante dans l'expression"
-#: c-common.c:744
+#: c-common.c:1374
msgid "vector overflow in expression"
msgstr "débordement du vecteur dans l'expression"
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:765
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr "grand entier implicitement tronqué pour un type non signé"
-#: c-common.c:767
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr "entier négatif implicitement converti en un type non signé"
-#: c-common.c:814
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr "débordement dans la conversion implicte de la constante"
-#: c-common.c:962
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
-msgstr "opération portant sur « %s » est peut être indéfinie"
+msgstr "l'opération portant sur « %s » est peut être indéfinie"
-#: c-common.c:1253
+#: c-common.c:1886
msgid "expression statement has incomplete type"
-msgstr "déclaration de l'expression a un type incomplet"
+msgstr "la déclaration de l'expression a un type incomplet"
-#: c-common.c:1286
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "l'étiquette du « case » ne se réduit pas en une constante entière"
-#: c-common.c:1586
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "expression valeur de vérité invalide"
-#: c-common.c:1637
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "opérandes invalides pour le binaire %s"
-#: c-common.c:1872 c-common.c:1881
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
msgstr "comparaison est toujours fausse en raison d'une gamme limitée de type de données"
-#: c-common.c:1874 c-common.c:1883
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
msgstr "comparaison est toujours vraie en raison d'une gamme limitée de type de données"
-#: c-common.c:1949
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr "comparaison d'une expression non signée >=0 est toujours vraie"
-#: c-common.c:1958
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr "comparaison d'une expression non signée < 0 est toujours fausse"
-#: c-common.c:2005
+#: c-common.c:2636
msgid "pointer of type `void *' used in arithmetic"
-msgstr "pointeur de type « void * » utilisé en arithmétique"
+msgstr "usage en arithmétique d'un pointeur de type « void * »"
-#: c-common.c:2011
+#: c-common.c:2642
msgid "pointer to a function used in arithmetic"
-msgstr "pointeur vers une fonction utilisé en arithmétique"
+msgstr "usage en arithmétique d'un pointeur vers une fonction"
-#: c-common.c:2017
+#: c-common.c:2648
msgid "pointer to member function used in arithmetic"
-msgstr "pointeur vers le membre d'une fonction utilisée dans l'arithmétique"
+msgstr "usage en arithmétique d'un pointeur vers une fonction membre"
-#: c-common.c:2023
+#: c-common.c:2654
msgid "pointer to a member used in arithmetic"
-msgstr "pointeur vers un membre utilisé dans l'arithmétique"
+msgstr "usage en arithmétique d'un pointeur vers un membre"
-#: c-common.c:2110 f/com.c:14823
+#: c-common.c:2741 f/com.c:14690
msgid "struct type value used where scalar is required"
-msgstr "valeur du type struct utilisé nécessite un scalaire"
+msgstr "valeur de type « struct » utilisé là où un scalaire est attendu"
-#: c-common.c:2114 f/com.c:14827
+#: c-common.c:2745 f/com.c:14694
msgid "union type value used where scalar is required"
-msgstr "valeur du type union utilisé nécessite un scalaire"
+msgstr "valeur de type « union » utilisé là où un scalaire est attendu"
-#: c-common.c:2118 f/com.c:14831
+#: c-common.c:2749 f/com.c:14698
msgid "array type value used where scalar is required"
-msgstr "valeur du type array utilisé nécessite un scalaire"
+msgstr "valeur de type « array » utilisé là où un scalaire est attendu"
-#: c-common.c:2233 f/com.c:14957
+#: c-common.c:2869 f/com.c:14831
msgid "suggest parentheses around assignment used as truth value"
-msgstr "parenthèses suggérées autour de l'affectation utilisées comme valeur de vérité"
+msgstr "parenthèses suggérées autour de l'affectation utilisée comme valeur de vérité"
-#: c-common.c:2277 c-common.c:2309
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
-msgstr "utilisation invalide de « restrict »"
+msgstr "usage de « restrict » invalide"
-#: c-common.c:2425
-msgid "__alignof__ applied to an incomplete type"
-msgstr "« __alignof__ » appliqué sur un type incomplet"
+#: c-common.c:3059
+msgid "invalid application of `sizeof' to a function type"
+msgstr "application de « sizeof » sur un type de fonction invalide"
-#: c-common.c:2451
+#: c-common.c:3069
+#, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "application invalide de « %s » sur un type void"
+
+#: c-common.c:3075
+#, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "application invalide de « %s » sur un type incomplet"
+
+#: c-common.c:3116
msgid "`__alignof' applied to a bit-field"
msgstr "« __alignof » appliqué sur un champ de bits"
-#: c-common.c:2893
+#: c-common.c:3596
#, c-format
msgid "cannot disable built-in function `%s'"
msgstr "ne peut désactiver la fonction interne « %s »"
-#: c-common.c:3174 c-typeck.c:1781
+#: c-common.c:3765 c-typeck.c:1734
#, c-format
msgid "too few arguments to function `%s'"
-msgstr "pas assez d'argument pour la fonction « %s »"
+msgstr "pas assez d'arguments pour la fonction « %s »"
-#: c-common.c:3180 c-typeck.c:1634
+#: c-common.c:3771 c-typeck.c:1587
#, c-format
msgid "too many arguments to function `%s'"
msgstr "trop d'arguments pour la fonction « %s »"
-#: c-common.c:3369
+#: c-common.c:3790
+#, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "argument pour la fonction « %s » n'étant pas en virgule flottante"
+
+#: c-common.c:4059
msgid "pointers are not permitted as case values"
msgstr "les pointeurs ne sont pas permis comme valeurs de « case »"
-#: c-common.c:3375
+#: c-common.c:4065
msgid "ISO C++ forbids range expressions in switch statements"
-msgstr "ISO C++ interdit les expressions de bornes dans les déclarations de « switch »"
+msgstr "le C++ ISO interdit les intervalles dans les déclarations de « switch »"
-#: c-common.c:3377
+#: c-common.c:4067
msgid "ISO C forbids range expressions in switch statements"
-msgstr "ISO C interdit les expressions de bornes dans les déclarations de « switch »"
+msgstr "le C ISO interdit les intervalles dans les « switch »"
-#: c-common.c:3407
+#: c-common.c:4097
msgid "empty range specified"
-msgstr "bornes spécifiées sont vides"
+msgstr "intervalle vide spécifié"
-#: c-common.c:3458
+#: c-common.c:4148
msgid "duplicate (or overlapping) case value"
-msgstr "valeur de « case » double ou qui en chevauche un autre"
+msgstr "valeur du « case » duppliquée (ou en chevauchant une autre)"
-#: c-common.c:3460
+#: c-common.c:4150
msgid "this is the first entry overlapping that value"
-msgstr "c'est la première entrée qui chevauche cette valeur"
+msgstr "ceci est la première entrée chevauchant cette valeur"
-#: c-common.c:3464
+#: c-common.c:4154
msgid "duplicate case value"
-msgstr "valeur de « case » double"
+msgstr "valeur du « case » duppliquée"
-#: c-common.c:3465
+#: c-common.c:4155
msgid "previously used here"
msgstr "précédemment utilisé ici"
-#: c-common.c:3469
+#: c-common.c:4159
msgid "multiple default labels in one switch"
-msgstr "étiquettes multiples de défaut dans un « case »"
+msgstr "plusieurs étiquettes par défaut dans un « switch »"
-#: c-common.c:3470
+#: c-common.c:4160
msgid "this is the first default label"
msgstr "ceci est la première étiquette de défaut"
-#: c-common.c:3498
+#: c-common.c:4188
msgid "ISO C++ forbids taking the address of a label"
-msgstr "ISO C++ interdit de prendre l'adresse d'une étiquette"
+msgstr "le C++ ISO interdit de prendre l'adresse d'une étiquette"
-#: c-common.c:3500
+#: c-common.c:4190
msgid "ISO C forbids taking the address of a label"
-msgstr "ISO C interdit l'adresse d'une expression d'une étiquette"
+msgstr "le C ISO interdit de prendre l'adresse d'une étiquette"
-#: c-common.c:4148
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr "-Wformat-y2k ignorée sans -Wformat"
+#: c-common.c:5213
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "la déclaration de « %s » masque %s"
-#: c-common.c:4150
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr "-Wformat-extra-args ignorée sans -Wformat"
+#: c-common.c:5629
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "mode machine « %s » inconnu"
-#: c-common.c:4152
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr "-Wformat-nonliteral ignorée sans -Wformat"
+#: c-common.c:5632
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "aucun type de données pour le mode « %s »"
-#: c-common.c:4154
-msgid "-Wformat-security ignored without -Wformat"
-msgstr "-Wformat-security ignorée sans -Wformat"
+#: c-common.c:5641 c-common.c:6242
+#, c-format
+msgid "unable to emulate '%s'"
+msgstr "impossible d'émuler « %s »"
-#: c-common.c:4156
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr "-Wmissing-format-attribute ignorée sans -Wformat"
+#: c-common.c:5677
+msgid "section attribute cannot be specified for local variables"
+msgstr "l'attribut de section ne peut être spécifié pour des variables locales"
-#: c-common.c:4247
+#: c-common.c:5688
#, c-format
-msgid "declaration of `%s' shadows %s"
-msgstr "déclaration de « %s » fait ombrage à %s"
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "section de « %s » en conflit avec une déclaration précédente"
-#: c-convert.c:78 c-typeck.c:1035 c-typeck.c:4047 cp/typeck.c:1673 cp/typeck.c:6165
-msgid "void value not ignored as it ought to be"
-msgstr "valeur void n'a pas été ignorée comme elle aurait dû l'être"
+#: c-common.c:5697
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "attribut de section n'est pas permis pour « %s »"
-#: c-convert.c:110 java/typeck.c:150
-msgid "conversion to non-scalar type requested"
-msgstr "conversion vers un type non scalaire demandé"
+#: c-common.c:5704
+msgid "section attributes are not supported for this target"
+msgstr "attribut de section ne sont pas supportés pour la cible"
+
+#: c-common.c:5746
+msgid "requested alignment is not a constant"
+msgstr "l'alignement demandé n'est pas une constante"
+
+#: c-common.c:5751
+msgid "requested alignment is not a power of 2"
+msgstr "l'alignement demandé n'est pas une puissance de 2"
-#: c-decl.c:476
-msgid "-traditional is deprecated and may be removed"
-msgstr "-traditional est dépréciée et peut être enlevée dans le futur"
+#: c-common.c:5756
+msgid "requested alignment is too large"
+msgstr "l'alignement demandé est trop grand"
+
+#: c-common.c:5783
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "l'alignement ne peut pas être spécifié pour « %s »"
-#: c-decl.c:566
+#: c-common.c:5828
#, c-format
-msgid "unknown C standard `%s'"
-msgstr "standard C « %s » inconnu"
+msgid "`%s' defined both normally and as an alias"
+msgstr "« %s » défini à la fois normalement et en tant qu'alias"
+
+#: c-common.c:5838
+msgid "alias arg not a string"
+msgstr "l'argument d'alias n'est pas une chaîne"
+
+#: c-common.c:5885
+msgid "visibility arg not a string"
+msgstr "l'argument de visibilité n'est pas une chaîne"
+
+#: c-common.c:5894
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr "l'argument de visibilité doit être l'un de « default » (par défaut), « hidden » (masqué), « protected » (protégé) ou « internal » (interne)"
+
+#: c-common.c:5928
+msgid "tls_model arg not a string"
+msgstr "l'argument de tls_model n'est pas une chaîne"
+
+#: c-common.c:5937
+msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+msgstr "l'argument de tls_model doit être l'un de « local-exec », « initial-exec », « local-dynamic » or « global-dynamic »"
-#: c-decl.c:848
+#: c-common.c:5962 c-common.c:6018
+#, c-format
+msgid "`%s' attribute applies only to functions"
+msgstr "l'attribut « %s » ne s'applique seulement qu'à des fonctions"
+
+#: c-common.c:5969 c-common.c:6025
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "ne peut initialiser l'attribut « %s » après définition"
+
+#: c-common.c:6109
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "attribut « %s » ignoré pour « %s »"
+
+#: c-common.c:6174
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "type de vecteur invalide pour l'attribut « %s »"
+
+#: c-common.c:6198 c-common.c:6230
+msgid "no vector mode with the size and type specified could be found"
+msgstr "aucun mode vecteur avec la taille et le type spécifié n'a été trouvé"
+
+#: c-common.c:6329
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "attribut non nul sans argument sur un non-prototype"
+
+#: c-common.c:6344
+#, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr "un argument non nul a un nombre d'opérande invalide (argument %lu)"
+
+#: c-common.c:6363
+#, c-format
+msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
+msgstr "un argument non nul a un nombre d'opérande hors des bornes (arg %lu, opérande %lu)"
+
+#: c-common.c:6371
+#, c-format
+msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
+msgstr "un argument non nul référence une opérande qui n'est pas un pointeur (arg %lu, opérande %lu)"
+
+#: c-common.c:6457
+#, c-format
+msgid "null argument where non-null required (arg %lu)"
+msgstr "argument nul là où un non-nul est requis (arg %lu)"
+
+#: 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 "valeur void n'a pas été ignorée comme elle aurait dû l'être"
+
+#: c-convert.c:112 java/typeck.c:150
+msgid "conversion to non-scalar type requested"
+msgstr "conversion vers un type non scalaire demandée"
+
+#: c-decl.c:336
#, c-format
msgid "array `%s' assumed to have one element"
-msgstr "on assume que le tableau « %s » a un élément"
+msgstr "il est supposé que le tableau « %s » a un élément"
-#: c-decl.c:1024
+#: c-decl.c:522
#, c-format
msgid "`struct %s' incomplete in scope ending here"
-msgstr "« struct %s » incomplet dans le champ final ici"
+msgstr "« struct %s » incomplète dans le champ terminant ici"
-#: c-decl.c:1027
+#: c-decl.c:525
#, c-format
msgid "`union %s' incomplete in scope ending here"
-msgstr "« union %s » incomplet dans le champs final ici"
+msgstr "« union %s » incomplète dans le champ terminant ici"
-#: c-decl.c:1030
+#: c-decl.c:528
#, c-format
msgid "`enum %s' incomplete in scope ending here"
-msgstr "« enum %s » incomplet dans le champ final ici"
+msgstr "« enum %s » incomplète dans le champ terminant ici"
-#: c-decl.c:1144 c-decl.c:1285 java/decl.c:1377
+#: c-decl.c:642 c-decl.c:767 java/decl.c:1399
#, c-format
msgid "label `%s' used but not defined"
msgstr "étiquette « %s » utilisée mais non définie"
-#: c-decl.c:1150 c-decl.c:1292 java/decl.c:1383
+#: c-decl.c:648 c-decl.c:774 java/decl.c:1405
#, c-format
msgid "label `%s' defined but not used"
-msgstr "étiquette « %s » définie mais non utilisée"
+msgstr "étiquette « %s » définie mais pas utilisée"
-#: c-decl.c:1409 cp/decl.c:3128
+#: c-decl.c:889 cp/decl.c:3058
#, c-format
msgid "function `%s' redeclared as inline"
msgstr "fonction « %s » redéclarée comme étant inline"
-#: c-decl.c:1411 cp/decl.c:3130
+#: c-decl.c:891 cp/decl.c:3060
#, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr "déclaration précédente de la fonction « %s » avec l'attribut noinline"
-#: c-decl.c:1418 cp/decl.c:3137
+#: c-decl.c:898 cp/decl.c:3067
#, c-format
msgid "function `%s' redeclared with attribute noinline"
-msgstr "fonction « %s » redéclarée à l'intérieur noinline"
+msgstr "fonction « %s » redéclarée avec l'attribut noinline"
-#: c-decl.c:1420 cp/decl.c:3139
+#: c-decl.c:900 cp/decl.c:3069
#, c-format
msgid "previous declaration of function `%s' was inline"
-msgstr "déclaration précédente de la fonction « %s » était inline"
+msgstr "la déclaration précédente de la fonction « %s » était inline"
-#: c-decl.c:1449 c-decl.c:1502
+#: c-decl.c:929 c-decl.c:975
#, c-format
msgid "shadowing built-in function `%s'"
-msgstr "fait ombrage à la fonction interne « %s »"
+msgstr "masquage de la fonction interne « %s »"
-#: c-decl.c:1451
+#: c-decl.c:931
#, c-format
msgid "shadowing library function `%s'"
-msgstr "fait ombrage à fonction « %s » de la librairie"
+msgstr "masquage de la fonction « %s » de la bibliothèque"
-#: c-decl.c:1457
+#: c-decl.c:937
#, c-format
msgid "library function `%s' declared as non-function"
-msgstr "fonction « %s » de la librairie déclarée comme n'étant pas une fonction"
+msgstr "fonction « %s » de la bibliothèque déclarée comme n'étant pas une fonction"
-#: c-decl.c:1461 c-decl.c:1464
+#: c-decl.c:941 c-decl.c:944
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr "fonction interne « %s » n'est pas déclarée comme une fonction"
-#: c-decl.c:1468 objc/objc-act.c:2334 objc/objc-act.c:6036
+#: 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 "« %s » redéclaré comme une sorte différente de symbole"
+msgstr "« %s » redéclaré comme une autre sorte de symbole"
-#: c-decl.c:1469 c-decl.c:1667 c-decl.c:1817 objc/objc-act.c:2336 objc/objc-act.c:6038 objc/objc-act.c:6093
+#: 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 "déclaration précédente de « %s »"
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1571
+#: c-decl.c:1044
#, c-format
msgid "conflicting types for built-in function `%s'"
-msgstr "type conflictuels pour la fonction interne « %s »"
+msgstr "types conflictuels pour la fonction interne « %s »"
-#: c-decl.c:1614 c-decl.c:1633
+#: c-decl.c:1087 c-decl.c:1106
#, c-format
msgid "conflicting types for `%s'"
msgstr "types conflictuels pour « %s »"
-#: c-decl.c:1656
+#: c-decl.c:1129
msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
msgstr "un paramètre de la liste avec une ellipse ne peut concorder une déclaration vide de liste de noms de paramètres"
-#: c-decl.c:1662
+#: c-decl.c:1135
msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
-msgstr "un type d'argument qui a une promotion par défaut ne peut concorder avec une déclaration vide de noms de paramètres"
+msgstr "un type d'argument ayant une promotion par défaut ne peut concorder avec une déclaration vide de noms de paramètres"
-#: c-decl.c:1677 c-decl.c:1700
+#: c-decl.c:1146
+#, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "déclaration locale au thread de « %s » après une déclaration non locale au thread"
+
+#: c-decl.c:1153
+#, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "déclaration non locale au thread de « %s » après une déclaration locale au thread"
+
+#: c-decl.c:1164 c-decl.c:1187
#, c-format
msgid "redefinition of `%s'"
msgstr "redéfinition de « %s »"
-#: c-decl.c:1680
+#: c-decl.c:1167
#, c-format
msgid "redeclaration of `%s'"
msgstr "redéclaration de « %s »"
-#: c-decl.c:1683
+#: c-decl.c:1170
#, c-format
msgid "conflicting declarations of `%s'"
msgstr "déclarations conflictuelles de « %s »"
-#: c-decl.c:1727
+#: c-decl.c:1214
#, c-format
msgid "prototype for `%s' follows"
-msgstr "prototype de « %s » suit"
+msgstr "le prototype de « %s » suit"
-#: c-decl.c:1728 c-decl.c:1736 c-decl.c:1752
+#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234
msgid "non-prototype definition here"
msgstr "définition d'un non prototype ici"
-#: c-decl.c:1735
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
-msgstr "prototype de « %s » suit mais le nombre d'arguments ne concorde pas"
+msgstr "le prototype de « %s » suit mais le nombre d'arguments ne concorde pas"
-#: c-decl.c:1750
+#: c-decl.c:1232
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
-msgstr "prototype de « %s » suit mais le nombre d'arguments %d ne concorde pas"
+msgstr "le prototype de « %s » suit mais le nombre d'arguments %d ne concorde pas"
-#: c-decl.c:1768
+#: c-decl.c:1250
#, c-format
msgid "`%s' declared inline after being called"
-msgstr "« %s » déclaré en ligne après avoir été appelé"
+msgstr "« %s » déclaré en-ligne après avoir été appelé"
-#: c-decl.c:1774
+#: c-decl.c:1256
#, c-format
msgid "`%s' declared inline after its definition"
-msgstr "« %s » déclaré en ligne après sa définition"
+msgstr "« %s » déclaré en-ligne après sa définition"
-#: c-decl.c:1781
+#: c-decl.c:1263
#, c-format
msgid "static declaration for `%s' follows non-static"
-msgstr "la déclaration « static» de « %s » en suit une non « static »"
+msgstr "la déclaration de « %s » comme statique après une déclaration comme non statique"
-#: c-decl.c:1789
+#: c-decl.c:1271
#, c-format
msgid "non-static declaration for `%s' follows static"
-msgstr "la déclaration non « static» de « %s » en suit une « static »"
+msgstr "la déclaration de « %s » comme non statique après une déclaration comme statique"
-#: c-decl.c:1796
+#: c-decl.c:1278
#, c-format
msgid "const declaration for `%s' follows non-const"
-msgstr "la déclaration constante de « %s » en suit une non constante"
+msgstr "la déclaration de « %s » comme constante après une déclaration comme non constante"
-#: c-decl.c:1803
+#: c-decl.c:1285
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr "le qualificateur du type de « %s » est en conflit avec une déclaration précédente"
-#: c-decl.c:1816
+#: c-decl.c:1298
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
-msgstr "re-déclaration redondante de « %s » dans le même champ."
+msgstr "redéclaration redondante de « %s » dans le même champ"
-#: c-decl.c:2120 java/decl.c:1076
+#: c-decl.c:1599 java/decl.c:1098
#, c-format
msgid "declaration of `%s' shadows a parameter"
-msgstr "déclaration de « %s » cache un paramètre"
+msgstr "la déclaration de « %s » masque un paramètre"
-#: c-decl.c:2123 java/decl.c:1079
+#: c-decl.c:1602 java/decl.c:1101
#, c-format
msgid "declaration of `%s' shadows a symbol from the parameter list"
-msgstr "déclaration de « %s » cache un symbole de la liste des paramètres"
+msgstr "la déclaration de « %s » masque un symbole de la liste des paramètres"
-#: c-decl.c:2144 cp/decl.c:4236
+#: c-decl.c:1623 cp/decl.c:4176
msgid "a parameter"
msgstr "un paramètre"
-#: c-decl.c:2146 cp/decl.c:4253
+#: c-decl.c:1625 cp/decl.c:4193
msgid "a previous local"
-msgstr "un local antérieur"
+msgstr "une locale précédente"
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2150 cp/decl.c:4257
+#: c-decl.c:1629 cp/decl.c:4197
msgid "a global declaration"
msgstr "une déclaration globale"
-#: c-decl.c:2194
+#: c-decl.c:1673
#, c-format
msgid "nested extern declaration of `%s'"
msgstr "déclaration de « %s » externe imbriquée"
-#: c-decl.c:2216 java/decl.c:1029
+#: c-decl.c:1692 java/decl.c:1051
#, c-format
msgid "`%s' used prior to declaration"
-msgstr "« %s » utilisé précédemment avant sa déclaration"
+msgstr "« %s » utilisé avant sa déclaration"
-#: c-decl.c:2231 c-decl.c:2446
+#: c-decl.c:1706 c-decl.c:1881
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr "« %s » a été déclaré implicitement « extern » et plus loin « static »"
-#: c-decl.c:2341 cp/decl.c:4095
+#: c-decl.c:1809 cp/decl.c:4035
msgid "type mismatch with previous external decl"
-msgstr "pas de concordance de type avec une déclaration externe précédente"
+msgstr "non concordance de type avec la déclaration externe précédente"
-#: c-decl.c:2342
+#: c-decl.c:1810
#, c-format
msgid "previous external decl of `%s'"
msgstr "déclaration externe précédente de « %s »"
-#: c-decl.c:2355
+#: c-decl.c:1823
msgid "type mismatch with previous implicit declaration"
msgstr "non concordance de type avec la déclaration implicite précédente"
-#: c-decl.c:2357
+#: c-decl.c:1825
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "déclaration précédente implicite de « %s »"
-#: c-decl.c:2374
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr "le type de l'externe « %s » n'est pas global"
-
-#: c-decl.c:2425
+#: c-decl.c:1860
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
-msgstr "« %s » a été précédemment implicitement déclaré comme retournant un « int »"
+msgstr "« %s » a été précédemment déclaré implicitement comme retournant un « int »"
-#: c-decl.c:2450
+#: c-decl.c:1885
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr "« %s » a été déclaré « extern » et plus loin « static »"
-#: c-decl.c:2474
+#: c-decl.c:1909
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr "déclaration externe de « %s » ne concorde pas avec la globale"
-#: c-decl.c:2516
+#: c-decl.c:1951
#, c-format
msgid "`%s' locally external but globally static"
-msgstr "« %s » localement externe mais globalement static"
+msgstr "« %s » localement externe mais globalement statique"
-#: c-decl.c:2638
+#: c-decl.c:2073
#, c-format
msgid "function `%s' was previously declared within a block"
-msgstr "fonction « %s » a été précédemment déclarée à l'intérieur d'un bloc"
+msgstr "la fonction « %s » a été précédemment déclarée à l'intérieur d'un bloc"
-#: c-decl.c:2658 c-decl.c:2660
+#: c-decl.c:2093 c-decl.c:2095
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "déclaration implicite de la fonction « %s »"
-#: c-decl.c:2748
+#: c-decl.c:2174
#, c-format
msgid "label %s referenced outside of any function"
-msgstr "étiquette %s référencée à l'extérieur de n'importe quelle fonction"
+msgstr "étiquette %s référencée à l'extérieur de toute fonction"
-#: c-decl.c:2805
+#: c-decl.c:2231
#, c-format
msgid "duplicate label declaration `%s'"
-msgstr "déclaration de l'étiquette « %s » est double"
+msgstr "déclaration de l'étiquette « %s » en double"
-#: c-decl.c:2808
+#: c-decl.c:2234
msgid "this is a previous declaration"
msgstr "ceci est une déclaration précédente"
-#: c-decl.c:3320
+#: c-decl.c:2657
msgid "unnamed struct/union that defines no instances"
-msgstr "struct/union sans nom qui définit aucune instance"
+msgstr "struct/union sans nom ne définissant aucune instance"
-#: c-decl.c:3339
+#: c-decl.c:2676
msgid "useless keyword or type name in empty declaration"
msgstr "mot clé ou nom de type inutile dans une déclaration vide"
-#: c-decl.c:3346
+#: c-decl.c:2683
msgid "two types specified in one empty declaration"
msgstr "deux types spécifiés dans une déclaration vide"
-#: c-decl.c:3351 c-parse.y:725 c-parse.y:727 parse.y:742 parse.y:1827 objc-parse.y:761 objc-parse.y:763 objc-parse.y:2997
+#: 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 "déclaration vide"
-#: c-decl.c:3381
-msgid "ISO C89 does not support `static' or type qualifiers in parameter array declarators"
-msgstr "ISO C89 ne supporte pas « static » ou les qualificateurs de type dans les déclarateurs de tableau de paramètres"
+#: c-decl.c:2718
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr "le C90 ISO ne supporte pas « static » ou les qualificateurs de type dans les déclarateurs de tableau de paramètres"
-#: c-decl.c:3383
-msgid "ISO C89 does not support `[*]' array declarators"
-msgstr "ISO C89 ne supporte pas « [*] » dans les déclarateurs de tableau"
+#: c-decl.c:2720
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "le C90 ISO ne supporte pas « [*] » dans les déclarateurs de tableau"
-#: c-decl.c:3386
+#: c-decl.c:2723
msgid "GCC does not yet properly implement `[*]' array declarators"
-msgstr "GCC ne supporte pas encore adéquatement « [* ]» dans les déclarateurs de tableau"
+msgstr "GCC n'implémente pas encore correctement les déclarateurs de tableau « [*] »"
-#: c-decl.c:3405
+#: c-decl.c:2742
msgid "static or type qualifiers in abstract declarator"
msgstr "static ou qualificateurs de type dans un déclarateur abstrait"
-#: c-decl.c:3479
+#: c-decl.c:2816
#, c-format
msgid "`%s' is usually a function"
msgstr "« %s » est habituellement une fonction"
-#: c-decl.c:3493
+#: c-decl.c:2825
#, c-format
-msgid "typedef `%s' is initialized"
-msgstr "typedef « %s » est initialisé"
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
+msgstr "typedef « %s » est initialisé (utilisez __typeof__ à la place)"
-#: c-decl.c:3500
+#: c-decl.c:2831
#, c-format
msgid "function `%s' is initialized like a variable"
-msgstr "fonction « %s » est initialisée comme une variable"
+msgstr "la fonction « %s » est initialisée comme une variable"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3507
+#: c-decl.c:2838
#, c-format
msgid "parameter `%s' is initialized"
-msgstr "paramètre « %s » est initialisé"
+msgstr "le paramètre « %s » est initialisé"
-#: c-decl.c:3527 c-typeck.c:4841
+#: c-decl.c:2858 c-typeck.c:4854
msgid "variable-sized object may not be initialized"
-msgstr "objet de taille variable peut ne pas être initialisé"
+msgstr "un objet de taille variable peut ne pas être initialisé"
-#: c-decl.c:3533
+#: c-decl.c:2864
#, c-format
msgid "variable `%s' has initializer but incomplete type"
-msgstr "variable « %s » a un initialiseur mais un type incomplet"
+msgstr "la variable « %s » est initialisée alors qu'elle est de type incomplet"
-#: c-decl.c:3539
+#: c-decl.c:2870
#, c-format
msgid "elements of array `%s' have incomplete type"
-msgstr "éléments du tableau « %s » ont des types incomplets"
+msgstr "les éléments du tableau « %s » ont des types incomplets"
-#: c-decl.c:3552
+#: c-decl.c:2883
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
-msgstr "déclaration de « %s » est « extern » et est initialisé"
+msgstr "« %s » initialisé et déclaré « extern »"
-#: c-decl.c:3591 c-decl.c:6246 cp/decl.c:7368 cp/decl.c:13623
+#: 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 "fonction inline « %s » a reçu l'attribut noinline"
+msgstr "la fonction inline « %s » a reçu l'attribut noinline"
-#: c-decl.c:3674
+#: c-decl.c:3006
#, c-format
msgid "initializer fails to determine size of `%s'"
-msgstr "échec de l'initialiseur pour déterminer la taille de « %s »"
+msgstr "l'initialisation n'a pas pu déterminer la taille de « %s »"
-#: c-decl.c:3679
+#: c-decl.c:3011
#, c-format
msgid "array size missing in `%s'"
-msgstr "taille du tableau manquant dans « %s »"
+msgstr "taille du tableau manquante dans « %s »"
-#: c-decl.c:3695
+#: c-decl.c:3027
#, c-format
msgid "zero or negative size array `%s'"
-msgstr "tableau de taille zéro ou négative « %s »"
+msgstr "tableau « %s » de taille zéro ou négative"
-#: c-decl.c:3723
+#: c-decl.c:3055
#, c-format
msgid "storage size of `%s' isn't known"
-msgstr "taille de stockage de « %s » n'est pas connue"
+msgstr "taille de stockage de « %s » inconnue"
-#: c-decl.c:3733
+#: c-decl.c:3065
#, c-format
msgid "storage size of `%s' isn't constant"
-msgstr "taille de stockage de « %s » n'est pas une constante"
+msgstr "la taille de stockage de « %s » n'est pas une constante"
-#: c-decl.c:3792
+#: c-decl.c:3125
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr "spécificateur asm ignorés pour la variable locale non statique « %s »"
-#: c-decl.c:3867
+#: c-decl.c:3190
#, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
-msgstr "ISO C interdit le paramètre « %s » faisant ombrage au typedef"
+msgstr "le C ISO interdit que le paramètre « %s » masque un typedef"
-#: c-decl.c:4171 cp/decl.c:10171
+#: c-decl.c:3535 cp/decl.c:10433
msgid "`long long long' is too long for GCC"
msgstr "« long long long » est trop long pour GCC"
-#: c-decl.c:4176
-msgid "ISO C89 does not support `long long'"
-msgstr "ISO C89 ne supporte pas « long long »"
+#: c-decl.c:3540
+msgid "ISO C90 does not support `long long'"
+msgstr "le C90 ISO ne permet pas « long long »"
-#: c-decl.c:4181 cp/decl.c:10176
+#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438
#, c-format
msgid "duplicate `%s'"
msgstr "« %s » apparaît en double"
-#: c-decl.c:4187 cp/decl.c:10200
+#: c-decl.c:3562 cp/decl.c:10445
+msgid "`__thread' before `extern'"
+msgstr "« __thread » avant « extern »"
+
+#: c-decl.c:3564 cp/decl.c:10447
+msgid "`__thread' before `static'"
+msgstr "« __thread » avant « static »"
+
+#: c-decl.c:3572 cp/decl.c:10474
#, c-format
msgid "two or more data types in declaration of `%s'"
msgstr "deux types de données ou plus dans la déclaration de « %s »"
-#: c-decl.c:4207 cp/decl.c:10205
+#: c-decl.c:3592 cp/decl.c:10479
#, c-format
msgid "`%s' fails to be a typedef or built in type"
-msgstr "« %s » a échoué pour devenir un typedef ou un type construit"
+msgstr "« %s » n'a pu devenir un typedef ou un type construit"
-#: c-decl.c:4246
+#: c-decl.c:3631
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
-msgstr "type utilisé par défaut « int» dans la déclaration de « %s »"
+msgstr "dans la déclaration de « %s », utilisation de « int » par défaut pour le type"
-#: c-decl.c:4275
+#: c-decl.c:3660
#, c-format
msgid "both long and short specified for `%s'"
-msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+msgstr "« long » et « short » spécifiés à la fois pour « %s »"
-#: c-decl.c:4279 cp/decl.c:10320
+#: c-decl.c:3664 cp/decl.c:10594
#, c-format
msgid "long or short specified with char for `%s'"
-msgstr "« long » ou « short » spécifié avec «char» pour « %s »"
+msgstr "« long » ou « short » spécifié avec « char » pour « %s »"
-#: c-decl.c:4286 cp/decl.c:10324
+#: c-decl.c:3671 cp/decl.c:10598
#, c-format
msgid "long or short specified with floating type for `%s'"
-msgstr "« long » ou « short » spécifié avec un type flottant pour « %s »"
+msgstr "« long » ou « short » spécifié avec un type flottant pour « %s »"
-#: c-decl.c:4289
+#: c-decl.c:3674
msgid "the only valid combination is `long double'"
msgstr "la seule combinaison valide est « long double »"
-#: c-decl.c:4295
+#: c-decl.c:3680
#, c-format
msgid "both signed and unsigned specified for `%s'"
-msgstr "signé et non signé spécifiés à la fois pour « %s »"
+msgstr "« %s » est à la fois signé et non signé"
-#: c-decl.c:4297 cp/decl.c:10313
+#: c-decl.c:3682 cp/decl.c:10587
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
-msgstr "« long », « short », signé ou non signé est invalide pour « %s »"
+msgstr "« long », « short », « signed » ou « unsigned » invalide pour « %s »"
-#: c-decl.c:4303 cp/decl.c:10333
+#: c-decl.c:3688 cp/decl.c:10607
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
-msgstr "« long », « short », signé ou non signé utilisé incorrectement pour « %s »"
+msgstr "« long », « short », « signed » ou « unsigned » utilisé incorrectement pour « %s »"
-#: c-decl.c:4322 cp/decl.c:10354
+#: c-decl.c:3706 cp/decl.c:10628
#, c-format
msgid "complex invalid for `%s'"
-msgstr "« complex » invalide pour « %s »"
+msgstr "« complex » invalide pour « %s »"
-#: c-decl.c:4367
-msgid "ISO C89 does not support complex types"
-msgstr "ISO C89 ne supporte pas les types « complex »"
+#: c-decl.c:3748
+msgid "ISO C90 does not support complex types"
+msgstr "le C90 ISO ne permet pas les types « complex »"
-#: c-decl.c:4379
+#: c-decl.c:3760
msgid "ISO C does not support plain `complex' meaning `double complex'"
-msgstr "ISO C ne supporte pas les « complex » utilisé comme «double complex »"
+msgstr "le C ISO ne permet pas d'utiliser « complex » à la place de « double complex »"
-#: c-decl.c:4385 c-decl.c:4397
+#: c-decl.c:3766 c-decl.c:3778
msgid "ISO C does not support complex integer types"
-msgstr "ISO C ne supporte pas les type « complex » d'entiers"
+msgstr "le C ISO interdit le type d'entiers complexes"
-#: c-decl.c:4412 c-decl.c:4851 cp/decl.c:10969
+#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241
msgid "duplicate `const'"
msgstr "« const » apparaît en double"
-#: c-decl.c:4414 c-decl.c:4855 cp/decl.c:10973
+#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245
msgid "duplicate `restrict'"
msgstr "« restrict » apparaît en double"
-#: c-decl.c:4416 c-decl.c:4853 cp/decl.c:10971
+#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243
msgid "duplicate `volatile'"
-msgstr "volatile» apparaît en double"
+msgstr "« volatile » apparaît en double"
-#: c-decl.c:4438 cp/decl.c:10509
+#: c-decl.c:3825 cp/decl.c:10791
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "multiples classes de stockage dans la déclaration de « %s »"
-#: c-decl.c:4447
+#: c-decl.c:3835
msgid "function definition declared `auto'"
msgstr "définition de fonction déclaré « auto »"
-#: c-decl.c:4449
+#: c-decl.c:3837
msgid "function definition declared `register'"
msgstr "définition de fonction déclarée « register »"
-#: c-decl.c:4451
+#: c-decl.c:3839
msgid "function definition declared `typedef'"
msgstr "définition de fonction déclarée « typedef »"
-#: c-decl.c:4464
+#: c-decl.c:3841
+msgid "function definition declared `__thread'"
+msgstr "définition de fonction déclarée « __thread »"
+
+#: c-decl.c:3854
#, c-format
msgid "storage class specified for structure field `%s'"
-msgstr "classe de stockage spécifiée pour la structure du champ « %s »"
+msgstr "classe de stockage spécifiée pour le champ de structure « %s »"
-#: c-decl.c:4468 cp/decl.c:10556
+#: c-decl.c:3858 cp/decl.c:10838
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "classe de stockage spécifiée pour le paramètre « %s »"
-#: c-decl.c:4471 cp/decl.c:10558
+#: c-decl.c:3861 cp/decl.c:10840
msgid "storage class specified for typename"
msgstr "classe de stockage spécifié pour un typename"
-#: c-decl.c:4483 cp/decl.c:10572
+#: c-decl.c:3873 cp/decl.c:10855
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr "« %s » initialisé et déclaré « extern »"
-#: c-decl.c:4485 cp/decl.c:10575
+#: c-decl.c:3875 cp/decl.c:10858
#, c-format
msgid "`%s' has both `extern' and initializer"
-msgstr "« %s » est à la fois « extern » et initialiseur"
+msgstr "« %s » initialisé et marqué « extern »"
-#: c-decl.c:4489 cp/decl.c:10579
+#: c-decl.c:3880 cp/decl.c:10866
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "la déclaration hors de toute fonction de « %s » a spécifié « auto »"
+
+#: c-decl.c:3885 cp/decl.c:10862
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "fonction imbriquée « %s » déclarée « extern »"
-#: c-decl.c:4492 cp/decl.c:10583
+#: c-decl.c:3891 cp/decl.c:10872
#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "la déclaration de haut niveau de « %s » a spécifié «auto »"
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "« %s » dans le champ de la fonction est implicitement déclaré auto, et déclaré « __thread »"
#. 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:4527 c-decl.c:4716
+#: c-decl.c:3930 c-decl.c:4118
msgid "static or type qualifiers in non-parameter array declarator"
-msgstr "static ou qualificateurs de type dans un déclarateur d'un tableau de non paramètres"
+msgstr "static ou qualificateurs de type dans un déclarateur de tableau n'étant pas un paramètre"
-#: c-decl.c:4571
+#: c-decl.c:3974
#, c-format
msgid "declaration of `%s' as array of voids"
-msgstr "déclaration de « %s » comme un tableau de « voids »"
+msgstr "déclaration de « %s » comme un tableau de « void »"
-#: c-decl.c:4577
+#: c-decl.c:3980
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "déclaration de « %s » comme un tableau de fonctions"
-#: c-decl.c:4598
+#: c-decl.c:3985 c-decl.c:5250
+msgid "invalid use of structure with flexible array member"
+msgstr "utilisation invalide d'une structure ayant un membre flexible"
+
+#: c-decl.c:4004
#, c-format
msgid "size of array `%s' has non-integer type"
-msgstr "taille du tableau « %s » n'est pas de type entier"
+msgstr "la taille du tableau « %s » n'est pas de type entier"
-#: c-decl.c:4603
+#: c-decl.c:4009
#, c-format
msgid "ISO C forbids zero-size array `%s'"
-msgstr "ISO C interdit les tableaux de taille zéro « %s »"
+msgstr "le C ISO interdit le tableau de taille zéro « %s »"
-#: c-decl.c:4610
+#: c-decl.c:4016
#, c-format
msgid "size of array `%s' is negative"
-msgstr "taille du tableau « %s » est négative"
+msgstr "la taille du tableau « %s » est négative"
-#: c-decl.c:4623
+#: c-decl.c:4029
#, c-format
-msgid "ISO C89 forbids array `%s' whose size can't be evaluated"
-msgstr "ISO C89 interdit le tableau « %s » dont la taille ne peut être évaluée"
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+msgstr "le C90 ISO interdit le tableau « %s » dont la taille ne peut être évaluée"
-#: c-decl.c:4626
+#: c-decl.c:4032
#, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
-msgstr "ISO C89 interdit le tableau de taille variable « %s »"
+msgid "ISO C90 forbids variable-size array `%s'"
+msgstr "le C90 ISO interdit le tableau « %s » de taille variable"
-#: c-decl.c:4656 c-decl.c:4877 cp/decl.c:11179
+#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450
#, c-format
msgid "size of array `%s' is too large"
-msgstr "taille du tableau « %s » est trop grande"
+msgstr "la taille du tableau « %s » est trop grande"
-#: c-decl.c:4673
-msgid "ISO C89 does not support flexible array members"
-msgstr "ISO C89 ne supporte pas les membres flexibles d'un tableau"
+#: c-decl.c:4075
+msgid "ISO C90 does not support flexible array members"
+msgstr "le C90 ISO interdit les tableaux ayant des membres flexibles"
-#: c-decl.c:4683
+#: c-decl.c:4085
msgid "array type has incomplete element type"
-msgstr "type tableau a un type d'élément incomplet"
+msgstr "les éléments du tableau sont de type incomplet"
-#: c-decl.c:4690 c-decl.c:4927
+#: c-decl.c:4092 c-decl.c:4322
msgid "ISO C forbids const or volatile function types"
-msgstr "ISO C interdit les types volatile ou de constante de fonction"
+msgstr "le C ISO interdit les fonction de type volatile ou constante"
-#: c-decl.c:4736 cp/decl.c:10720
+#: c-decl.c:4138 cp/decl.c:10998
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "« %s » déclaré comme une fonction retournant une fonction"
-#: c-decl.c:4741 cp/decl.c:10725
+#: c-decl.c:4143 cp/decl.c:11003
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "« %s » déclaré comme une fonction retournant un tableau"
-#: c-decl.c:4776
+#: c-decl.c:4171
msgid "ISO C forbids qualified void function return type"
-msgstr "ISO C interdit les type retourné d'une fonction void qualifié"
+msgstr "le C ISO interdit d'utiliser un void qualifié en valeur de retour de fonction"
-#: c-decl.c:4780
+#: c-decl.c:4175
msgid "type qualifiers ignored on function return type"
-msgstr "qualificateurs de type ignorés pour le type retourné d'une fonction"
+msgstr "qualificateurs de type ignorés pour le type retourné par la fonction"
-#: c-decl.c:4809 c-decl.c:4892 c-decl.c:5016 c-decl.c:5110
+#: c-decl.c:4204 c-decl.c:4287 c-decl.c:4411 c-decl.c:4503
msgid "ISO C forbids qualified function types"
-msgstr "ISO C interdit les types de fonction qualifiées"
+msgstr "le C ISO interdit les types de fonction qualifiés"
-#: c-decl.c:4849 cp/decl.c:10965
+#: c-decl.c:4244 cp/decl.c:11237
msgid "invalid type modifier within pointer declarator"
msgstr "modificateur de type invalide dans la déclaration de pointeur"
-#: c-decl.c:4947 cp/decl.c:11457
+#: c-decl.c:4342 cp/decl.c:11732
#, c-format
msgid "variable or field `%s' declared void"
-msgstr "variable ou champ « %s » déclaré «void »"
+msgstr "variable ou champ « %s » déclaré « void »"
-#: c-decl.c:4980
+#: c-decl.c:4375
msgid "attributes in parameter array declarator ignored"
-msgstr "les attributs dans un paramètre déclarateur de tableau sont ignorés"
+msgstr "les attributs dans un déclarateur de tableau de paramètres sont ignorés"
-#: c-decl.c:5005
+#: c-decl.c:4400
msgid "invalid type modifier within array declarator"
msgstr "modificateur invalide de type à l'intérieur d'un déclarateur de tableau"
-#: c-decl.c:5054
+#: c-decl.c:4445
#, c-format
msgid "field `%s' declared as a function"
msgstr "champ « %s » déclaré comme une fonction"
-#: c-decl.c:5060
+#: c-decl.c:4451
#, c-format
msgid "field `%s' has incomplete type"
-msgstr "champ « %s » a un type incomplet"
+msgstr "champ « %s » est de type incomplet"
-#: c-decl.c:5092 c-decl.c:5094 c-decl.c:5101
+#: 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 "classe de stockage invalide pour la fonction « %s »"
-#: c-decl.c:5116
+#: c-decl.c:4509
msgid "`noreturn' function returns non-void value"
-msgstr "fonction « noreturn» retourne une valeur non «void »"
+msgstr "fonction marquée « noreturn » retourne une valeur n'étant pas de type « void »"
-#: c-decl.c:5131
+#: c-decl.c:4524
msgid "cannot inline function `main'"
-msgstr "ne peut rendre en ligne « main » en fonction en ligne"
+msgstr "ne peut transformer « main » en fonction en ligne"
-#: c-decl.c:5184
+#: c-decl.c:4577
#, c-format
msgid "variable `%s' declared `inline'"
-msgstr "variable « %s » déclarée «inline »"
+msgstr "variable « %s » déclarée « inline »"
+
+#. 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 "cette cible ne permet pas le stockage en local au thread"
-#: c-decl.c:5257 c-decl.c:6298
+#: c-decl.c:4660 c-decl.c:5746
msgid "function declaration isn't a prototype"
-msgstr "déclaration de fonction n'est pas un prototype"
+msgstr "la déclaration de fonction n'est pas un prototype valide"
-#: c-decl.c:5263
+#: c-decl.c:4666
msgid "parameter names (without types) in function declaration"
-msgstr "noms de paramètres (sans types) dans la déclaration de fonction"
+msgstr "noms de paramètres (sans type) dans la déclaration de fonction"
-#: c-decl.c:5295 c-decl.c:6689
+#: c-decl.c:4698 c-decl.c:6116
#, c-format
msgid "parameter `%s' has incomplete type"
-msgstr "paramètre « %s » a un type incomplet"
+msgstr "le paramètre « %s » a un type incomplet"
-#: c-decl.c:5298
+#: c-decl.c:4701
msgid "parameter has incomplete type"
-msgstr "paramètre a un type incomplet"
+msgstr "le paramètre a un type incomplet"
-#: c-decl.c:5319
+#: c-decl.c:4722
#, c-format
msgid "parameter `%s' points to incomplete type"
-msgstr "paramètre « %s » pointe vers un type incomplet"
+msgstr "le paramètre « %s » pointe vers un type incomplet"
-#: c-decl.c:5322
+#: c-decl.c:4725
msgid "parameter points to incomplete type"
-msgstr "paramètre pointe vers un type incomplet"
+msgstr "le paramètre pointe vers un type incomplet"
-#: c-decl.c:5387
+#: c-decl.c:4790
#, c-format
msgid "parameter `%s' has just a forward declaration"
-msgstr "paramètre « %s » n'a qu'une déclaration vers l'avant"
+msgstr "le paramètre « %s » n'a qu'une déclaration anticipée"
-#: c-decl.c:5428
+#: c-decl.c:4831
msgid "`void' in parameter list must be the entire list"
-msgstr "« void » dans la liste des paramètres doit être la liste entière"
+msgstr "si « void » est dans une liste de paramètres, toute la liste doit l'être"
-#: c-decl.c:5459
+#: c-decl.c:4862
#, c-format
msgid "`struct %s' declared inside parameter list"
-msgstr "« struct %s » déclaré à l'intérieur de la liste de paramètres"
+msgstr "« struct %s » déclarée à l'intérieur de la liste de paramètres"
-#: c-decl.c:5462
+#: c-decl.c:4865
#, c-format
msgid "`union %s' declared inside parameter list"
-msgstr "« union %s » déclaré à l'intérieur de la liste de paramètres"
+msgstr "« union %s » déclarée à l'intérieur de la liste de paramètres"
-#: c-decl.c:5465
+#: c-decl.c:4868
#, c-format
msgid "`enum %s' declared inside parameter list"
-msgstr "« enum %s » déclaré à l'intérieur de la liste de paramètres"
+msgstr "« enum %s » déclarée à l'intérieur de la liste de paramètres"
-#: c-decl.c:5472
+#: c-decl.c:4875
msgid "anonymous struct declared inside parameter list"
-msgstr "« struct » anonyme déclaré à l'intérieur de la liste des paramètres"
+msgstr "structure anonyme déclarée à l'intérieur de la liste des paramètres"
-#: c-decl.c:5474
+#: c-decl.c:4877
msgid "anonymous union declared inside parameter list"
-msgstr "« union » anonyme déclaré à l'intérieur de la liste des paramètres"
+msgstr "union anonyme déclarée à l'intérieur de la liste des paramètres"
-#: c-decl.c:5476
+#: c-decl.c:4879
msgid "anonymous enum declared inside parameter list"
-msgstr "« enum » anonyme déclaré à l'intérieur de la liste des paramètres"
+msgstr "énumération anonyme déclarée à l'intérieur de la liste des paramètres"
-#: c-decl.c:5480
+#: c-decl.c:4883
msgid "its scope is only this definition or declaration, which is probably not what you want"
-msgstr "son étendue ne vaut que pour cette définition ou déclaration, laquelle n'est probablement celle que vous désirez."
+msgstr "visible uniquement depuis cette définition ou déclaration, ce qui n'est probablement pas ce que vous désirez"
-#: c-decl.c:5559
+#: c-decl.c:4960
#, c-format
msgid "redefinition of `union %s'"
-msgstr "redéfinition de «union %s'"
+msgstr "redéfinition de « union %s »"
-#: c-decl.c:5562
+#: c-decl.c:4962
#, c-format
msgid "redefinition of `struct %s'"
-msgstr "redéfinition de «struct %s'"
+msgstr "redéfinition de « struct %s »"
-#: c-decl.c:5601
-msgid "unnamed fields of type other than struct or union are not allowed"
-msgstr "champs sans nom de type autre que struct ou union ne sont pas permis"
+#: c-decl.c:5033 cp/decl.c:7125
+msgid "declaration does not declare anything"
+msgstr "déclaration ne déclarant rien du tout"
-#: c-decl.c:5642 c-decl.c:5645
+#: c-decl.c:5075 c-decl.c:5078
#, c-format
msgid "%s defined inside parms"
msgstr "%s défini à l'intérieur des paramètres"
-#: c-decl.c:5643 c-decl.c:5646 c-decl.c:5657
+#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090
msgid "union"
msgstr "union"
-#: c-decl.c:5643 c-decl.c:5646
+#: c-decl.c:5076 c-decl.c:5079
msgid "structure"
msgstr "structure"
-#: c-decl.c:5656
+#: c-decl.c:5089
#, c-format
msgid "%s has no %s"
msgstr "%s n'a pas de %s"
-#: c-decl.c:5657
+#: c-decl.c:5090
msgid "struct"
msgstr "struct"
-#: c-decl.c:5658
+#: c-decl.c:5091
msgid "named members"
msgstr "membres nommés"
-#: c-decl.c:5658
+#: c-decl.c:5091
msgid "members"
msgstr "membres"
-#: c-decl.c:5697
+#: c-decl.c:5130
#, c-format
msgid "nested redefinition of `%s'"
msgstr "redéfinition imbriquée de « %s »"
-#: c-decl.c:5710
+#: c-decl.c:5143
#, c-format
msgid "bit-field `%s' width not an integer constant"
-msgstr "largeur du champ de bits « %s » n'est pas une constante entière"
+msgstr "la largeur du champ de bits « %s » n'est pas une constante entière"
-#: c-decl.c:5721
+#: c-decl.c:5154
#, c-format
msgid "bit-field `%s' has invalid type"
-msgstr "champ de bits « %s » a un type invalide"
+msgstr "le champ de bits « %s » a un type invalide"
-#: c-decl.c:5733
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
-msgstr "champ de bits « %s » a un type invalide en ISO C"
+msgstr "le champ de bits « %s » a un type invalide en C ISO"
-#: c-decl.c:5744
+#: c-decl.c:5177
#, c-format
msgid "negative width in bit-field `%s'"
msgstr "largeur négative du champ de bits « %s »"
-#: c-decl.c:5746
+#: c-decl.c:5179
#, c-format
msgid "width of `%s' exceeds its type"
-msgstr "largeur de « %s » excède son type"
+msgstr "la largeur de « %s » excède son type"
-#: c-decl.c:5748
+#: c-decl.c:5181
#, c-format
msgid "zero width for bit-field `%s'"
-msgstr "largeur zéro pour le champ de bits « %s »"
+msgstr "largeur nulle pour le champ de bits « %s »"
-#: c-decl.c:5762
+#: c-decl.c:5195
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr "« %s » est plus étroit que les valeurs de son type"
-#: c-decl.c:5808
+#: c-decl.c:5241
msgid "flexible array member in union"
msgstr "membre flexible de tableau dans l'union"
-#: c-decl.c:5810
+#: c-decl.c:5243
msgid "flexible array member not at end of struct"
-msgstr "membre flexible de tableau n'est pas à la fin du struct"
+msgstr "le membre flexible de tableau n'est pas à la fin de la structure"
-#: c-decl.c:5812
+#: c-decl.c:5245
msgid "flexible array member in otherwise empty struct"
-msgstr "membre flexible de tableau dans un autre struct vide"
+msgstr "membre flexible de tableau dans une structure vide par ailleurs"
-#: c-decl.c:5837
+#: c-decl.c:5275
#, c-format
msgid "duplicate member `%s'"
msgstr "membre « %s » apparaît en double"
-#: c-decl.c:5881
+#: c-decl.c:5319
msgid "union cannot be made transparent"
-msgstr "union ne peut pas être faite de façon transparente"
+msgstr "union ne peut pas être rendu transparente"
#. This enum is a named one that has been declared already.
-#: c-decl.c:5975
+#: c-decl.c:5424
#, c-format
msgid "redeclaration of `enum %s'"
-msgstr "redéclaration de «enum %s'"
+msgstr "redéclaration de « enum %s »"
-#: c-decl.c:6009
+#: c-decl.c:5458
msgid "enum defined inside parms"
msgstr "enum défini à l'intérieur des paramètres"
-#: c-decl.c:6042
+#: c-decl.c:5491
msgid "enumeration values exceed range of largest integer"
msgstr "valeurs d'énumération excède les bornes du plus grand entier"
-#: c-decl.c:6151
+#: c-decl.c:5600
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "valeur de l'énumérateur pour « %s » n'est pas une constante entière"
-#: c-decl.c:6164
+#: c-decl.c:5613
msgid "overflow in enumeration values"
msgstr "débordement dans les valeurs de l'énumération"
-#: c-decl.c:6169
+#: c-decl.c:5618
msgid "ISO C restricts enumerator values to range of `int'"
-msgstr "ISO C restreint les valeurs de l'énumérateur aux bornes d'un « int »"
+msgstr "le C ISO restreint les valeurs de l'énumérateur aux bornes d'un « int »"
-#: c-decl.c:6252
+#: c-decl.c:5700
msgid "return type is an incomplete type"
-msgstr "type retourné est d'un type incomplet"
+msgstr "le type du retour est incomplet"
-#: c-decl.c:6260
+#: c-decl.c:5708
msgid "return type defaults to `int'"
-msgstr "le défaut choisi du type retourné est « int »"
+msgstr "le type du retour est « int » par défaut"
-#: c-decl.c:6307
+#: c-decl.c:5755
#, c-format
msgid "no previous prototype for `%s'"
-msgstr "aucun prototype précédent pour « %s »"
+msgstr "aucun prototype anticipé pour « %s »"
-#: c-decl.c:6314
+#: c-decl.c:5762
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr "« %s » a été utilisé sans prototype avant sa définition"
-#: c-decl.c:6320
+#: c-decl.c:5768
#, c-format
msgid "no previous declaration for `%s'"
-msgstr "aucune déclaration précédente pour « %s »"
+msgstr "aucune déclaration anticipée pour « %s »"
-#: c-decl.c:6327
+#: c-decl.c:5775
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "« %s » a été utilisé sans déclaration avant sa définition"
-#: c-decl.c:6351 c-decl.c:6936
+#: c-decl.c:5799 c-decl.c:6352
#, c-format
msgid "return type of `%s' is not `int'"
-msgstr "type retourné de « %s » n'est pas «int »"
+msgstr "le type de retour de « %s » n'est pas « int »"
-#: c-decl.c:6367
+#: c-decl.c:5815
#, c-format
msgid "first argument of `%s' should be `int'"
-msgstr "premier argument de « %s » devrait être «int »"
+msgstr "le premier argument de « %s » devrait être « int »"
-#: c-decl.c:6376
+#: c-decl.c:5824
#, c-format
msgid "second argument of `%s' should be `char **'"
-msgstr "second argument de « %s » devrait être «char ** »"
+msgstr "le second argument de « %s » devrait être « char ** »"
-#: c-decl.c:6385
+#: c-decl.c:5833
#, c-format
msgid "third argument of `%s' should probably be `char **'"
-msgstr "troisième argument de « %s » devrait probablement être «char ** »"
+msgstr "le troisième argument de « %s » devrait probablement être « char ** »"
-#: c-decl.c:6394
+#: c-decl.c:5842
#, c-format
msgid "`%s' takes only zero or two arguments"
-msgstr "« %s » prend seulement aucun OU deux arguments"
+msgstr "« %s » prend soit aucun argument soit deux arguments"
-#: c-decl.c:6397
+#: c-decl.c:5845
#, c-format
msgid "`%s' is normally a non-static function"
-msgstr "« %s » est normalement une fonction non «static »"
+msgstr "« %s » n'est normalement pas une fonction statique"
-#: c-decl.c:6507
+#: c-decl.c:5943
msgid "parm types given both in parmlist and separately"
-msgstr "type de paramètres à la fois donné dans la liste et séparément"
+msgstr "types des paramètres à la fois donnés dans la liste et séparément"
-#: c-decl.c:6528
+#: c-decl.c:5964
msgid "parameter name omitted"
-msgstr "nom de paramètre a été omis"
+msgstr "nom de paramètre omis"
-#: c-decl.c:6532 c-decl.c:6634
+#: c-decl.c:5968 c-decl.c:6070
#, c-format
msgid "parameter `%s' declared void"
-msgstr "paramètre « %s » déclaré «void »"
+msgstr "paramètre « %s » déclaré « void »"
-#: c-decl.c:6608
+#: c-decl.c:6044
msgid "parameter name missing from parameter list"
msgstr "nom du paramètre manquant dans la liste des paramètres"
-#: c-decl.c:6627
+#: c-decl.c:6063
#, c-format
msgid "multiple parameters named `%s'"
-msgstr "multiples paramètres nommés « %s »"
+msgstr "plusieurs paramètres nommés « %s »"
-#: c-decl.c:6658 c-decl.c:6660
+#: c-decl.c:6085 c-decl.c:6087
#, c-format
msgid "type of `%s' defaults to `int'"
-msgstr "type de « %s » utilisé par défaut est «int »"
+msgstr "le type de « %s » est « int » par défaut"
-#: c-decl.c:6696
+#: c-decl.c:6123
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr "déclaration du paramètre « %s » mais pas de tel paramètre"
-#: c-decl.c:6744
+#: c-decl.c:6171
msgid "number of arguments doesn't match prototype"
-msgstr "nombre d'arguments ne concorde pas avec celui du prototype"
+msgstr "le nombre d'arguments ne concorde pas avec celui du prototype"
-#: c-decl.c:6774
+#: c-decl.c:6201
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
-msgstr "argument promu « %s » ne concorde pas avec celui du prototype"
+msgstr "argument promu « %s » ne concorde pas avec le prototype"
-#: c-decl.c:6788
+#: c-decl.c:6211
#, c-format
msgid "argument `%s' doesn't match prototype"
-msgstr "argument « %s » ne concorde pas avec celui du prototype"
+msgstr "argument « %s » ne concorde pas avec le prototype"
-#: c-decl.c:6968 cp/decl.c:14327
+#: c-decl.c:6384 cp/decl.c:14547
msgid "no return statement in function returning non-void"
-msgstr "pas de déclaration « return » dans la fonction retournant un non void"
+msgstr "« return » manquant dans une fonction devant retourner une valeur"
-#: c-decl.c:7124
+#: c-decl.c:6536
msgid "this function may return with or without a value"
-msgstr "cette fonction peut ou ne peut pas retourner une valeur"
+msgstr "cette fonction devrait finir en retournant ou non une valeur"
-#: c-decl.c:7144
+#: c-decl.c:6556
#, c-format
msgid "size of return value of `%s' is %u bytes"
-msgstr "taille de la valeur retournée de « %s » est %u octets"
+msgstr "la taille de la valeur retournée par « %s » est %u octets"
-#: c-decl.c:7148
+#: c-decl.c:6560
#, c-format
msgid "size of return value of `%s' is larger than %d bytes"
-msgstr "taille de la valeur retournée de « %s » est plus grande que %d octets"
+msgstr "la taille de la valeur retournée par « %s » supérieure à %d octets"
#. 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:7203
+#: c-decl.c:6615
msgid "`for' loop initial declaration used outside C99 mode"
-msgstr "déclaration initiale de la boucle « for » utilisée en dehords du mode C99"
+msgstr "déclaration initiale de la boucle « for » utilisée en dehors du mode C99"
-#: c-decl.c:7227
+#: c-decl.c:6639
#, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
-msgstr "« struct %s» déclaré dans la déclaration initiale de la boucle «for »"
+msgstr "« struct %s » déclarée dans la déclaration initiale de la boucle « for »"
-#: c-decl.c:7230
+#: c-decl.c:6642
#, c-format
msgid "`union %s' declared in `for' loop initial declaration"
-msgstr "« union %s» déclaré dans la déclaration initiale de la boucle «for »"
+msgstr "« union %s » déclarée dans la déclaration initiale de la boucle « for »"
-#: c-decl.c:7233
+#: c-decl.c:6645
#, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
-msgstr "« enum %s» déclaré dans la déclaration initiale de la boucle «for »"
+msgstr "« enum %s » déclarée dans la déclaration initiale de la boucle « for »"
-#: c-decl.c:7241
+#: c-decl.c:6653
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
-msgstr "déclaration de « %s » qui n'est pas une variable dans la déclaration initiale de «for »"
+msgstr "déclaration de « %s » (qui n'est pas une variable) dans la déclaration initiale de « for »"
-#: c-decl.c:7243
+#: c-decl.c:6655
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
-msgstr "déclaration d'une variable « static» « %s » dans la déclaration initiale de la boucle «for »"
+msgstr "déclaration de la variable statique « %s » dans la déclaration initiale de la boucle « for »"
-#: c-decl.c:7245
+#: c-decl.c:6657
#, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
-msgstr "déclaration d'une variable « extern » « %s » dans la déclaration initiale «for »"
+msgstr "déclaration de la variable externe « %s » dans la déclaration initiale « for »"
-#: 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 "l'argument de la chaîne de format n'est pas de type « string »"
-#: c-format.c:143
+#: c-format.c:124
msgid "args to be formatted is not '...'"
-msgstr "arguments à être formattés ne sont pas « ... »"
+msgstr "les arguments devant être formatés ne sont pas « ... »"
-#: c-format.c:152
+#: c-format.c:133
msgid "strftime formats cannot format arguments"
-msgstr "Les formats de strftime ne peuvent formater les arguments"
+msgstr "Les formats de strftime ne peuvent pas formater d'argument"
-#: c-format.c:187 c-format.c:289
+#: c-format.c:168 c-format.c:270
msgid "format string has invalid operand number"
-msgstr "chaîne de format a un nombre invalide d'opérandes"
+msgstr "la chaîne de format a un nombre invalide d'opérandes"
-#: c-format.c:221
+#: c-format.c:202
msgid "function does not return string type"
msgstr "fonction ne retourne pas un type « string »"
-#: c-format.c:252
+#: c-format.c:233
msgid "unrecognized format specifier"
msgstr "spécificateur de format non reconnu"
-#: c-format.c:265
+#: c-format.c:246
#, c-format
msgid "`%s' is an unrecognized format function type"
-msgstr "« %s » a un format non reconnu de type de fonction"
+msgstr "« %s » a un format de type de fonction non reconnu"
-#: c-format.c:299
+#: c-format.c:280
msgid "format string arg follows the args to be formatted"
-msgstr "l'argument de la chaîne de format suit les arguments devant être formattés"
+msgstr "l'argument de la chaîne de format suit les arguments devant être formatés"
-#: c-format.c:620
+#: c-format.c:601
msgid "` ' flag"
msgstr "fanion « »"
-#: c-format.c:620
+#: c-format.c:601
msgid "the ` ' printf flag"
msgstr "le fanion « » de printf"
-#: c-format.c:621 c-format.c:692
+#: c-format.c:602 c-format.c:673
msgid "`+' flag"
-msgstr "fanion «+»"
+msgstr "fanion « + »"
-#: c-format.c:621
+#: c-format.c:602
msgid "the `+' printf flag"
-msgstr "le fanion «+» de printf"
+msgstr "le fanion « + » de printf"
-#: c-format.c:622 c-format.c:668
+#: c-format.c:603 c-format.c:649
msgid "`#' flag"
-msgstr "fanion «#»"
+msgstr "fanion « # »"
-#: c-format.c:622
+#: c-format.c:603
msgid "the `#' printf flag"
-msgstr "le fanion «#» de printf"
+msgstr "le fanion « # » de printf"
-#: c-format.c:623 c-format.c:666
+#: c-format.c:604 c-format.c:647
msgid "`0' flag"
msgstr "fanion « 0 »"
-#: c-format.c:623
+#: c-format.c:604
msgid "the `0' printf flag"
msgstr "le fanion « 0 » de printf"
-#: 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 "fanion « - »"
-#: c-format.c:624
+#: c-format.c:605
msgid "the `-' printf flag"
msgstr "le fanion « - » de printf"
-#: c-format.c:625 c-format.c:649
+#: c-format.c:606 c-format.c:630
msgid "`'' flag"
msgstr "fanion « ' »"
-#: c-format.c:625
+#: c-format.c:606
msgid "the `'' printf flag"
msgstr "le fanion « ' » de printf"
-#: c-format.c:626 c-format.c:650
+#: c-format.c:607 c-format.c:631
msgid "`I' flag"
msgstr "fanion « I »"
-#: c-format.c:626
+#: c-format.c:607
msgid "the `I' printf flag"
msgstr "le fanion « I » de printf"
-#: 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 "largeur de champ"
-#: c-format.c:627
+#: c-format.c:608
msgid "field width in printf format"
msgstr "largeur de champ dans le format de printf"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision"
msgstr "précision"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision in printf format"
msgstr "précision dans le format de printf"
-#: 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 "longueur du modificateur"
+msgstr "modificateur de longueur"
-#: c-format.c:629
+#: c-format.c:610
msgid "length modifier in printf format"
-msgstr "longueur du modificateur dans le format printf"
+msgstr "modificateur de longueur dans le format printf"
-#: c-format.c:645
+#: c-format.c:626
msgid "assignment suppression"
msgstr "suppression d'affectation"
-#: c-format.c:645
+#: c-format.c:626
msgid "the assignment suppression scanf feature"
msgstr "options de scanf pour la suppression d'affectation"
-#: c-format.c:646
+#: c-format.c:627
msgid "`a' flag"
msgstr "fanion « a »"
-#: c-format.c:646
+#: c-format.c:627
msgid "the `a' scanf flag"
msgstr "le fanion « a » de scanf"
-#: c-format.c:647
+#: c-format.c:628
msgid "field width in scanf format"
msgstr "largeur de champ dans le format de scanf"
-#: c-format.c:648
+#: c-format.c:629
msgid "length modifier in scanf format"
-msgstr "longueur du modificateur dans le format de scanf"
+msgstr "modificateur de longueur dans le format de scanf"
-#: c-format.c:649
+#: c-format.c:630
msgid "the `'' scanf flag"
msgstr "la fanion « ' » de scanf"
-#: c-format.c:650
+#: c-format.c:631
msgid "the `I' scanf flag"
msgstr "le fanion « I » de scanf"
-#: c-format.c:664
+#: c-format.c:645
msgid "`_' flag"
msgstr "fanion « _ »"
-#: c-format.c:664
+#: c-format.c:645
msgid "the `_' strftime flag"
msgstr "le fanion « _ » de strftime"
-#: c-format.c:665
+#: c-format.c:646
msgid "the `-' strftime flag"
msgstr "le fanion « - » de strftime"
-#: c-format.c:666
+#: c-format.c:647
msgid "the `0' strftime flag"
msgstr "le fanion « 0 » de strftime"
-#: c-format.c:667 c-format.c:691
+#: c-format.c:648 c-format.c:672
msgid "`^' flag"
msgstr "fanion « ^ »"
-#: c-format.c:667
+#: c-format.c:648
msgid "the `^' strftime flag"
msgstr "la fanion « ^ » de strftime"
-#: c-format.c:668
+#: c-format.c:649
msgid "the `#' strftime flag"
msgstr "le fanion « # » de strftime"
-#: c-format.c:669
+#: c-format.c:650
msgid "field width in strftime format"
msgstr "largeur de champ dans le format de strftime"
-#: c-format.c:670
+#: c-format.c:651
msgid "`E' modifier"
msgstr "modificateur « E »"
-#: c-format.c:670
+#: c-format.c:651
msgid "the `E' strftime modifier"
msgstr "le modificateur « E » de strftime"
-#: c-format.c:671
+#: c-format.c:652
msgid "`O' modifier"
msgstr "modificateur « O »"
-#: c-format.c:671
+#: c-format.c:652
msgid "the `O' strftime modifier"
msgstr "le modificateur « O » de strftime"
-#: c-format.c:672
+#: c-format.c:653
msgid "the `O' modifier"
msgstr "le modificateur « O »"
-#: c-format.c:690
+#: c-format.c:671
msgid "fill character"
msgstr "caractère de remplissage"
-#: c-format.c:690
+#: c-format.c:671
msgid "fill character in strfmon format"
msgstr "caractère de remplissage dans le format de strfmon"
-#: c-format.c:691
+#: c-format.c:672
msgid "the `^' strfmon flag"
-msgstr "le fanion «^» de strfmon"
+msgstr "le fanion « ^ » de strfmon"
-#: c-format.c:692
+#: c-format.c:673
msgid "the `+' strfmon flag"
-msgstr "le fanion «+» de strfmon"
+msgstr "le fanion « + » de strfmon"
-#: c-format.c:693
+#: c-format.c:674
msgid "`(' flag"
-msgstr "fanion «(»"
+msgstr "fanion « ( »"
-#: c-format.c:693
+#: c-format.c:674
msgid "the `(' strfmon flag"
-msgstr "le fanion «(» de strfmon"
+msgstr "le fanion « ( » de strfmon"
-#: c-format.c:694
+#: c-format.c:675
msgid "`!' flag"
-msgstr "fanion «!»"
+msgstr "fanion « ! »"
-#: c-format.c:694
+#: c-format.c:675
msgid "the `!' strfmon flag"
-msgstr "le fanion «!» de strfmon"
+msgstr "le fanion « ! » de strfmon"
-#: c-format.c:695
+#: c-format.c:676
msgid "the `-' strfmon flag"
-msgstr "le fanion «-» de strfmon"
+msgstr "le fanion « - » de strfmon"
-#: c-format.c:696
+#: c-format.c:677
msgid "field width in strfmon format"
msgstr "largeur de champ dans le format de strfmon"
-#: c-format.c:697
+#: c-format.c:678
msgid "left precision"
msgstr "précision de gauche"
-#: c-format.c:697
+#: c-format.c:678
msgid "left precision in strfmon format"
msgstr "précision de gauche dans le format de strfmon"
-#: c-format.c:698
+#: c-format.c:679
msgid "right precision"
msgstr "précision de droite"
-#: c-format.c:698
+#: c-format.c:679
msgid "right precision in strfmon format"
msgstr "précision de droite dans le format de strfmon"
-#: c-format.c:699
+#: c-format.c:680
msgid "length modifier in strfmon format"
msgstr "modificateur de longueur dans le format de strfmon"
-#: c-format.c:998
+#: c-format.c:983
#, c-format
msgid "function might be possible candidate for `%s' format attribute"
-msgstr "fonction peut être un candidat possible pour l'attribut du format de « %s »"
+msgstr "la fonction est peut être candidate pour l'attribut de format de « %s »"
-#: 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 "opérande $ de nombre manquant dans le format"
+msgstr "nombre manquant dans le format pour l'opérande $"
-#: c-format.c:1153
+#: c-format.c:1138
#, c-format
msgid "%s does not support %%n$ operand number formats"
-msgstr "%s ne supporte pas le format d'opérande de nombre %%n$"
+msgstr "%s ne permet pas le format d'opérande de nombre %%n$"
-#: c-format.c:1160
+#: c-format.c:1145
msgid "operand number out of range in format"
-msgstr "opérande de nombre hors gamme dans le format"
+msgstr "opérande de nombre au delà de la limite dans le format"
-#: c-format.c:1183
+#: c-format.c:1168
#, c-format
msgid "format argument %d used more than once in %s format"
msgstr "argument de format %d utilisé plus d'une fois dans le format %s"
-#: c-format.c:1233
+#: c-format.c:1218
#, c-format
msgid "format argument %d unused before used argument %d in $-style format"
-msgstr "argument de format %d inutilisé avant l'utilisation de l'argument %d dans le format $-style"
+msgstr "argument de format %d inutilisé avant l'utilisation de l'argument %d dans le format de style $"
-#: c-format.c:1330
+#: c-format.c:1322
msgid "format not a string literal, format string not checked"
-msgstr "format n'est pas une chaîne de mots, chaîne du format n'est pas vérifée"
+msgstr "le format n'est pas une chaîne littérale, le format n'est pas vérifé"
-#: c-format.c:1344
+#: c-format.c:1336
msgid "format not a string literal and no format arguments"
-msgstr "format n'est pas une chaîne de mots et pas d'arguments de format"
+msgstr "le format n'est pas une chaîne littérale et pas d'argument de format"
-#: c-format.c:1346
+#: c-format.c:1338
msgid "format not a string literal, argument types not checked"
-msgstr "format n'est pas une chaîne de mots, types d'arguments ne sont pas vérifiés"
+msgstr "le format n'est pas une chaîne littérale, le type des arguments n'est pas vérifié"
-#: c-format.c:1359
+#: c-format.c:1351
msgid "too many arguments for format"
msgstr "trop d'arguments pour le format"
-#: c-format.c:1362
+#: c-format.c:1354
msgid "unused arguments in $-style format"
-msgstr "arguments non utilisés dans le format $-style"
+msgstr "arguments inutilisés dans le format de style $"
-#: c-format.c:1365
-msgid "zero-length format string"
-msgstr "chaîne de longueur zéro dans le format"
+#: c-format.c:1357
+#, c-format
+msgid "zero-length %s format string"
+msgstr "chaîne de format de longueur nulle %s"
-#: c-format.c:1368
+#: c-format.c:1361
msgid "format is a wide character string"
-msgstr "format est une longue chaîne de caractères"
+msgstr "le format est chaîne de caractères longs (wide characters)"
-#: c-format.c:1371
+#: c-format.c:1364
msgid "unterminated format string"
msgstr "chaîne de format non terminée"
-#. 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 "chaîne de format nulle"
-
-#: c-format.c:1669
+#: c-format.c:1581
msgid "embedded `\\0' in format"
-msgstr "«\\0» enchâssé dans le format"
+msgstr "« \\0 » inclu dans le format"
-#: c-format.c:1684
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
-msgstr "faux caractères « %% » qui traînent dans le format"
+msgstr "des caractères « %% » douteux traînent dans le format"
-#: c-format.c:1723 c-format.c:1960
+#: c-format.c:1635 c-format.c:1872
#, c-format
msgid "repeated %s in format"
msgstr "%s répété dans le format"
-#: c-format.c:1736
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
-msgstr "caractère de remplissage manquant à la fin du format strfmon"
+msgstr "caractère de remplissage manquant à la fin du format pour strfmon"
-#: 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 "trop peu d'arguments dans le format"
-#: c-format.c:1816
+#: c-format.c:1728
#, c-format
msgid "zero width in %s format"
msgstr "largeur zéro dans le format %s"
-#: c-format.c:1835
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
msgstr "précision de gauche vide dans le format %s"
-#: c-format.c:1889
+#: c-format.c:1801
msgid "field precision"
msgstr "champ de précision"
-#: c-format.c:1904
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
msgstr "précision vide dans le format %s"
-#: c-format.c:1944
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
msgstr "%s ne supporte pas « %s » %s comme modificateur de longueur"
-#: c-format.c:1994
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr "il manque un type pour la conversion à la fin du format"
-#: c-format.c:2005
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
msgstr "type de caractère de conversion inconnu « %c » dans le format"
-#: c-format.c:2008
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr "type de caractère de conversion inconnu 0x%x dans le format"
-#: c-format.c:2015
+#: c-format.c:1927
#, c-format
msgid "%s does not support the `%%%c' %s format"
-msgstr "%s ne supporte pas le format «%%%c» %s"
+msgstr "%s ne supporte pas le format « %%%c » %s"
-#: c-format.c:2031
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
-msgstr "%s utilisé avec le format «%%%c» %s"
+msgstr "%s utilisé avec le format « %%%c » %s"
-#: c-format.c:2040
+#: c-format.c:1952
#, c-format
msgid "%s does not support %s"
msgstr "%s ne supporte pas %s"
-#: c-format.c:2049
+#: c-format.c:1961
#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
-msgstr "%s ne supporte pas %s avec le format «%%%c» %s "
+msgstr "%s ne supporte pas %s avec le format « %%%c » %s "
-#: c-format.c:2082
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
msgstr "%s ignoré avec %s et le format «%%%c» %s"
-#: c-format.c:2086
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
-msgstr "%s ignoré avec %s et le format %s"
+msgstr "%s ignoré avec %s dans le format %s"
-#: c-format.c:2092
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
-msgstr "utilisation de %s et de %s ensemble dans le format «%%%c» %s"
+msgstr "utilisation de %s et de %s ensemble dans le format « %%%c » %s"
-#: c-format.c:2096
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
msgstr "utilisation de %s et de %s ensemble dans le format %s"
-#: c-format.c:2115
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
-msgstr "«%%%c» laisse seulement les 2 dernies chiffres de l'année dans certaines localisation"
+msgstr "« %%%c » laisse seulement les 2 derniers chiffres de l'année avec certaines locales"
-#: c-format.c:2118
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
-msgstr "«%%%c» laisse seulement les 2 derniers chiffres de l'année"
+msgstr "« %%%c » laisse seulement les 2 derniers chiffres de l'année"
#. The end of the format string was reached.
-#: c-format.c:2134
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
-msgstr "pas de «]» de fermeture pour le format «%%[»"
+msgstr "pas de « ] » fermant pour le format « %%[ »"
-#: c-format.c:2147
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr "utilisation du modificateur de longueur « %s » avec le type de caractère « %c »"
-#: c-format.c:2168
+#: c-format.c:2080
#, c-format
msgid "%s does not support the `%%%s%c' %s format"
msgstr "%s ne supporte par le format «%%%s%c» %s"
-#: c-format.c:2183
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr "nombre d'opérandes spécifié avec des affectations suprimées"
-#: c-format.c:2185
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
-msgstr "nombre d'opérandes spécifié pour un format n'acceptan aucun argument"
+msgstr "nombre d'opérandes spécifié pour un format n'acceptant aucun argument"
-#: c-format.c:2304
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
msgstr "écriture à travers un pointeur nul (arg %d)"
-#: c-format.c:2313
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
msgstr "lecture à l'aide d'un pointeur nul (arg %d)"
-#: c-format.c:2333
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
-msgstr "écriture dans une constante objet (arg %d)"
+msgstr "écriture dans un objet constant (arg %d)"
-#: c-format.c:2343
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr "qualificateur de type additionnel dans l'argument du format (arg %d)"
-#: c-format.c:2350
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr "l'argument de format n'est pas un pointeur (arg %d)"
-#: c-format.c:2352
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr "l'argument de format n'est pas un pointeur de pointeur (arg %d)"
-#: c-format.c:2423
+#: c-format.c:2330
msgid "pointer"
msgstr "pointeur"
-#: c-format.c:2425
+#: c-format.c:2332
msgid "different type"
msgstr "type différent"
-#: c-format.c:2446
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
msgstr "%s n'est pas de type %s (arg %d)"
-#: c-format.c:2449
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr "format %s, arg %s (arg %d)"
-#: c-lex.c:298
+#: c-lex.c:153
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG n'est pas défini"
+
+#: c-lex.c:290
msgid "badly nested C headers from preprocessor"
-msgstr "en-têtes C incorrectement imbriquées du préprocesseur"
+msgstr "en-têtes C du préprocesseur incorrectement imbriqués"
-#: c-lex.c:348
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
-msgstr "#pragma ignoré %s %s"
+msgstr "#pragma %s %s ignoré"
-#: c-lex.c:350
-#, c-format
-msgid "ignoring #pragma %s"
-msgstr "#pragma ignoré %s"
-
-#: c-lex.c:400
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
-msgstr "nom-de-caractère-universel invalide '\\U%08x» invalide dans l'identificcateur"
+msgstr "nom-de-caractère-universel « \\U%08x » invalide dans l'identificcateur"
-#: c-lex.c:646
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
-msgstr "nom-de-caractère-universel invalide '\\U%04x» invalide dans l'identificcateur"
-
-#: c-lex.c:736
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "les suffixes « f » et « l » ensembles sur une constante flottante"
-
-#: c-lex.c:763
-#, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr "nombre flottant excède les limites de « %s »"
+msgstr "nom-de-caractère-universel « \\U%04x » invalide dans l'identificcateur"
-#: c-lex.c:793
+#: c-lex.c:692
#, c-format
msgid "stray '%c' in program"
-msgstr "stray « %c » dans le programme"
+msgstr "« %c » perdu dans le programme"
-#: c-lex.c:795
+#: c-lex.c:694
#, c-format
msgid "stray '\\%o' in program"
-msgstr "stray '\\%o» dans le programme"
+msgstr "« \\%o » perdu dans le programme"
-#: c-lex.c:893
-msgid "too many decimal points in floating constant"
-msgstr "trop de points décimaux dans la constante flottante"
+#: c-lex.c:850
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr "cette constante décimale est « unsigned » seulement en C90 ISO"
-#: c-lex.c:895
-msgid "decimal point in exponent - impossible!"
-msgstr "point décimal dans l'exposant - impossible!"
+#: c-lex.c:853
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr "cette constante décimale serait « unsigned » en C90 ISO"
-#. 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:906
-msgid "underscore in number"
-msgstr "souligné présent dans le nombre"
-
-#: c-lex.c:968
-msgid "numeric constant with no digits"
-msgstr "constante numérique sans chiffre"
-
-#: c-lex.c:971
-msgid "numeric constant contains digits beyond the radix"
-msgstr "constante numérique contient des chiffres en dehors la base numérique"
-
-#: c-lex.c:982
-msgid "floating constant may not be in radix 16"
-msgstr "constante flottante peut ne pas être en base 16"
+#: c-lex.c:869
+#, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "constante entière trop grande pour le type « %s »"
-#: c-lex.c:985
-msgid "hexadecimal floating constant has no exponent"
-msgstr "contante flottante hexadécimal n'a pas d'exposant"
+#: c-lex.c:937
+#, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr "constante en nombre flottant excédant les limites de « %s »"
-#: c-lex.c:997
-msgid "floating constant exponent has no digits"
-msgstr "exposant de la constante flottante n'a pas de chiffre"
+#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr "caractère multioctet invalide ignoré"
-#: c-lex.c:1017
-msgid "more than one 'f' suffix on floating constant"
-msgstr "plus d'un « f » en suffixe sur une constante flottante"
+#: c-opts.c:353
+#, c-format
+msgid "missing argument to \"-%s\""
+msgstr "argument manquant à « -%s »"
-#: c-lex.c:1020
-msgid "traditional C rejects the 'f' suffix"
-msgstr "C traditionnel rejette le suffixe « f »"
+#: c-opts.c:357
+#, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "aucun nom de classe spécifié avec « -%s »"
-#: c-lex.c:1027
-msgid "more than one 'l' suffix on floating constant"
-msgstr "plus d'un « l » en suffixe sur une constante flottante"
+#: c-opts.c:364
+#, c-format
+msgid "missing filename after \"-%s\""
+msgstr "nom de fichier manquant après « -%s »"
-#: c-lex.c:1030
-msgid "traditional C rejects the 'l' suffix"
-msgstr "C traditionnel rejette le suffixe « l »"
+#: c-opts.c:369
+#, c-format
+msgid "missing target after \"-%s\""
+msgstr "cible manquante après « -%s »"
-#: c-lex.c:1038
-msgid "more than one 'i' or 'j' suffix on floating constant"
-msgstr "plus d'un « i » ou « j » en suffixe sur une constante flottante"
+#: c-opts.c:503
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr "tableau des options mal trié : %s est avant %s"
-#: c-lex.c:1040 c-lex.c:1134
-msgid "ISO C forbids imaginary numeric constants"
-msgstr "ISO C interdit les constante numérique de nombres imaginaires"
+#: c-opts.c:548
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr "trop de noms de fichiers. Taper %s --help pour en connaître l'usage"
-#: c-lex.c:1045
-msgid "invalid suffix on floating constant"
-msgstr "suffixe invalide pour une constante entière"
+#: c-opts.c:934
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "-Wno-strict-prototypes n'est pas permis en C++"
-#. We got an exception from parse_float()
-#: c-lex.c:1062
-msgid "floating constant out of range"
-msgstr "constante flottante est hors gamme"
+#: c-opts.c:1014
+#, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "l'option « %s » n'est plus supportée"
-#: c-lex.c:1074
-msgid "floating point number exceeds range of 'double'"
-msgstr "nombre en virgule flottante excède les limites de « double »"
+#: c-opts.c:1030
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr "l'option %s est obsolète, reportez-vous à la documentation pour les détails"
-#: c-lex.c:1103
-msgid "two 'u' suffixes on integer constant"
-msgstr "deux « u » en suffixe sur une constante entière"
+#: c-opts.c:1143
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr "-fhandle-exceptions a été renommé -fexceptions (et est maintenant utilisé par défaut)"
-#: c-lex.c:1106
-msgid "traditional C rejects the 'u' suffix"
-msgstr "C traditionnel rejette le suffixe « u »"
+#: c-opts.c:1263
+msgid "output filename specified twice"
+msgstr "nom du fichier de sortie spécifié deux fois"
-#: c-lex.c:1117
-msgid "three 'l' suffixes on integer constant"
-msgstr "trois « l » en suffixe sur une constante entière"
+#: c-opts.c:1377
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "-Wformat-y2k ignorée sans -Wformat"
-#: c-lex.c:1119
-msgid "'lul' is not a valid integer suffix"
-msgstr "'lul» n'est pas un suffixe valide pour un entier"
+#: c-opts.c:1379
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "-Wformat-extra-args ignorée sans -Wformat"
-#: c-lex.c:1121
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr "« Ll» et «1L » ne sont pas des suffixes valides pour un entier"
+#: c-opts.c:1381
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "-Wformat-zero-length ignorée sans -Wformat"
-#: c-lex.c:1124
-msgid "ISO C89 forbids long long integer constants"
-msgstr "ISO C89 interdit les constantes entières de type long long"
+#: c-opts.c:1383
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "-Wformat-nonliteral ignorée sans -Wformat"
-#: c-lex.c:1132
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "plus d'un « i » ou « j » en suffixe sur une constante entière"
+#: c-opts.c:1385
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "-Wformat-security ignorée sans -Wformat"
-#: c-lex.c:1139
-msgid "invalid suffix on integer constant"
-msgstr "suffixe invalide pour une constante entière"
+#: c-opts.c:1387
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "-Wmissing-format-attribute ignorée sans -Wformat"
-#: c-lex.c:1147
+#: c-opts.c:1409
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
-msgstr "constante entière trop grande pour la configuration du compilateur - tronqué à %d bits"
-
-#: c-lex.c:1237
-msgid "width of integer constant changes with -traditional"
-msgstr "largeur de la constante entière change avec -traditional"
-
-#: c-lex.c:1239
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "constante entìère est non signée en ISO C, signé avec -traditional"
-
-#: c-lex.c:1241
-msgid "width of integer constant may change on other systems with -traditional"
-msgstr "largeur de la constante entière peut changer sur d'autres système avec -traditional"
+msgid "opening output file %s"
+msgstr "ouverture du fichier de sortie %s"
-#: c-lex.c:1251
+#: c-opts.c:1464
#, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "constante entière plus grande que la valeur maximale de %s"
+msgid "opening dependency file %s"
+msgstr "ouverture du fichier de dépendances %s"
-#: c-lex.c:1254
-msgid "an unsigned long long int"
-msgstr "un entier long long non signé"
+#: c-opts.c:1474
+#, c-format
+msgid "closing dependency file %s"
+msgstr "fermeture du fichier de dépendances %s"
-#: c-lex.c:1255
-msgid "a long long int"
-msgstr "un entier long long"
+#: c-opts.c:1477
+#, c-format
+msgid "when writing output to %s"
+msgstr "lors de l'écriture de la sortie dans %s"
-#: c-lex.c:1256
-msgid "an unsigned long int"
-msgstr "un entier long non signé"
+#: c-opts.c:1557
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "pour générer les dépendances, vous devez spécifier -M ou -MM"
-#: c-lex.c:1260
-msgid "decimal constant is so large that it is unsigned"
-msgstr "constante décimale est tellement grande qu'elle est non signée"
+#: c-opts.c:1704
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr "« -%s » est valide pour %s mais pas pour %s"
-#: c-lex.c:1269
-msgid "complex integer constant is too wide for 'complex int'"
-msgstr "constante complexe entière est trop grande pour le type 'complex int'"
+#. 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 ""
+"Options:\n"
+" -include <fichier> Inclure le contenu du <fichier> avant d'autres fichiers\n"
+" -imacros <fichier> Accepter la définition de macros dans le <fichier>\n"
+" -iprefix <chemin> Spécifier le <chemin> comme un préfixe aux prochaines deux options\n"
+" -iwithprefix <rép> Ajouter le <rép>ertoire à la fin du chemin d'inclusion système\n"
+" -iwithprefixbefore <rép> Ajouter le <rép>ertoire à la fin du chemin d'inclusion principal\n"
+" -isystem <rép> Ajouter le <rép>ertoire au début du chemin d'inclusion système\n"
+
+#: 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 ""
+" -idirafter <rép> Ajouter le <rép>ertoire à la fin du chemin d'inclusion système\n"
+" -I <rép> Ajouter le <rép>ertoire à la fin du chemin d'inclusion principal\n"
+" -I- Raffiner le contrôle du chemin d'inclusion; consulter la doc\n"
+" -nostdinc Ne pas rechercher dans les répertoires d'inclusion système\n"
+" (les rép spécifiés avec -isystem seront encore utilisés)\n"
+" -nostdinc++ Ne pas rechercher dans les répertoires d'inclusion système pour C++\n"
+" -o <fichier> Produire la sortie dans le <fichier>\n"
+
+#: 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 ""
+" -trigraphs Permettre les trigraphes C ISO\n"
+" -std=<standard> Spécifier le <standard> de conformité à utiliser; soit:\n"
+" gnu89, gnu99, c89, c99, iso9899:1990,\n"
+" iso9899:199409, iso9899:1999, c++98\n"
+" -w Inhiber les messages d'avertissement\n"
+" -W[no-]trigraphs Avertir [ou non] si des trigraphes sont rencontrés\n"
+" -W[no-]comment{s} Avertir [ou non] si un commentaire débute à l'intérieur \n"
+" d'un autre\n"
+
+#: 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 ""
+" -W[no-]traditional Avertir [ou non] à propos des fonctionnalités absentes\n"
+" en C traditionnel\n"
+" -W[no-]undef Avertir [ou non] à propos des macros utilisées dans des\n"
+" #if sans être définies\n"
+" -W[no-]import Avertir [ou non] de l'utilisation de la directive #import\n"
-#: c-lex.c:1289
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "constante entière est plus grande que la valeur maximale pour ce type"
+#: 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 ""
+" -W[no-]error Changer [ou non] les avertissements en erreurs\n"
+" -W[no-]system-headers Supprimer [ou non] les avertissements à propos des \n"
+" en-têtes système\n"
+" -W[no-]all Générer [ou non] la plupart des avertissements du\n"
+" préprocesseur\n"
-#: c-lex.c:1293
-#, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "espace blanc manquant après le nombre '%.*s'"
+#: 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 ""
+" -M Générer les dépendances pour make\n"
+" -MM Comme -M, en ignorant les fichiers d'en-têtes système\n"
+" -MD Générer les dépendances pour make et compiler\n"
+" -MMD Comme -MD, en ignorant les fichiers d'en-têtes système\n"
+" -MF <fichier> Écrire les dépendances dans le <fichier>\n"
+" -MG Traiter les en-têtes manquants comme des fichiers générés\n"
+
+#: 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 ""
+" -MP\t\t\t Générer des cibles factices pour tous les en-têtes\n"
+" -MQ <target> Ajouter une cible protégée pour MAKE\n"
+" -MT <target> Ajouter une cible non protégée\n"
-#: c-lex.c:1329 cpplex.c:1873
-msgid "ignoring invalid multibyte character"
-msgstr "caractère multioctet invalide ignoré"
+#: 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 ""
+" -D<macro> Définir une <macro> avec la chaîne « 1 » pour valeur\n"
+" -D<macro>=<valeur> Définir une <macro> de <valeur>\n"
+" -A<question>=(<réponse>) Créer une assertion <question>=<réponse>\n"
+" -A-<question>=(<réponse>) Dissocier la <réponse> à la <question>\n"
+" -U<macro> Oublier la définition de la <macro> \n"
+" -v Afficher le numéro de version\n"
+
+#: 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 ""
+" -H Afficher le nom des fichiers en-tête tel qu'utilisés\n"
+" -C Ne pas mettre de côté les commantaires\n"
+" -dM Afficher la liste des définitions de macro actives à la fin\n"
+" -dD Préserver les définitions de macros dans la sortie\n"
+" -dN Comme -dD, mais seuls les noms sont préservés\n"
+" -dI Inclure la directive #include dans la sortie\n"
+
+#: 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 ""
+" -f[no-]preprocessed Considérer [ou non] que le fichier d'entrée est \n"
+" déjà pré-traité\n"
+" -ftabstop=<nombre> Largeur des tabulations pour indiquer la colonne\n"
+" -P Ne pas générer des directives #line\n"
+" -remap Refaire la table des noms de fichiers lors de\n"
+" l'inclusion de fichiers\n"
+" --help Afficher cet l'aide-mémoire\n"
#. 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 "erreur de syntaxes"
+msgstr "erreur de syntaxe"
-#: /usr/share/bison/bison.simple:176 /usr/share/bison.simple:112
+# FIXME
+#: /usr/share/bison/bison.simple:179
msgid "syntax error: cannot back up"
-msgstr "erreur de syntaxe: ne reculer en arrière"
+msgstr "erreur de syntaxe : impossible de reculer"
-#: c-parse.y:288 objc-parse.y:310
+#: c-parse.y:325 objc-parse.y:347
msgid "ISO C forbids an empty source file"
-msgstr "ISO C interdit un fichier source vide"
+msgstr "le C ISO interdit un fichier source vide"
-#: c-parse.y:321 c-typeck.c:6895 objc-parse.y:343
+#: c-parse.y:366 c-typeck.c:6867 objc-parse.y:389
msgid "argument of `asm' is not a constant string"
-msgstr "argument de « asm » n'est pas une chaîne de constante"
+msgstr "l'argument de « asm » n'est pas une chaîne de constante"
-#: c-parse.y:329 objc-parse.y:351
+#: c-parse.y:374 objc-parse.y:397
msgid "ISO C forbids data definition with no type or storage class"
-msgstr "ISO C interdit la définition de données sans type ou classe de stockage"
+msgstr "le C ISO interdit la définition de données sans type ni classe de stockage"
-#: c-parse.y:331 objc-parse.y:353
+#: c-parse.y:376 objc-parse.y:399
msgid "data definition has no type or storage class"
-msgstr "définition de données n'a pas de type ou de classe de stockage"
+msgstr "la définition de données n'a pas de type ni de classe de stockage"
-#: c-parse.y:344 objc-parse.y:366
+#: c-parse.y:389 objc-parse.y:412
msgid "ISO C does not allow extra `;' outside of a function"
-msgstr "ISO C ne permet pas de «;» additionnel en dehors d'une fonction"
+msgstr "le C ISO ne permet pas de « ; » additionnel en dehors d'une fonction"
-#: c-parse.y:404 cppexp.c:693
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
-msgstr "C traditionnel rejette l'opérateur unaire +"
+msgstr "le C traditionnel rejette le plus unaire"
-#: c-parse.y:466 objc-parse.y:488
+#: c-parse.y:496 objc-parse.y:519
msgid "`sizeof' applied to a bit-field"
msgstr "« sizeof » appliqué à un champ de bits"
-#: c-parse.y:546 objc-parse.y:568
+#: c-parse.y:583 objc-parse.y:606
msgid "ISO C forbids omitting the middle term of a ?: expression"
-msgstr "ISO C interdit l'omission du terme milieu de l'expression ?:"
+msgstr "le C ISO interdit l'omission du terme central de l'expression ?:"
-#: c-parse.y:593 objc-parse.y:615
+# FIXME
+#: c-parse.y:632 objc-parse.y:655
msgid "ISO C89 forbids compound literals"
-msgstr "ISO C89 interdit les mots composés"
+msgstr "le C89 ISO interdit les mots composés"
-#: c-parse.y:607 objc-parse.y:629
+#: c-parse.y:646 objc-parse.y:669
msgid "ISO C forbids braced-groups within expressions"
-msgstr "ISO C interdit les groupes d'accolades à l'intérieur d'expressions"
+msgstr "le C ISO interdit les groupes d'accolades à l'intérieur d'expressions"
-#: c-parse.y:638 objc-parse.y:660
+#: c-parse.y:677 objc-parse.y:700
msgid "first argument to __builtin_choose_expr not a constant"
-msgstr "premier argument de « __builtin_choose_expr » n'est pas une constante"
-
-#: c-parse.y:681
-msgid "traditional C rejects string concatenation"
-msgstr "C traditionel rejette la concaténation de chaînes"
+msgstr "le premier argument de « __builtin_choose_expr » n'est pas une constante"
-#: c-parse.y:696 objc-parse.y:732
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ISO C ne permet pas l'usage de « varargs.h »"
+#: c-parse.y:721 objc-parse.y:768
+msgid "traditional C rejects ISO C style function definitions"
+msgstr "le C traditionel rejette les définitions de fonction au style C ISO"
-#: c-parse.y:957 c-parse.y:963 c-parse.y:969 c-parse.y:975 c-parse.y:996 c-parse.y:1002 c-parse.y:1008 c-parse.y:1014 c-parse.y:1047 c-parse.y:1053 c-parse.y:1059 c-parse.y:1065 c-parse.y:1110 c-parse.y:1116 c-parse.y:1122 c-parse.y:1128 parse.y:1907 parse.y:1914 parse.y:1949 objc-parse.y:993 objc-parse.y:999 objc-parse.y:1005 objc-parse.y:1011 objc-parse.y:1032 objc-parse.y:1038 objc-parse.y:1044 objc-parse.y:1050 objc-parse.y:1083 objc-parse.y:1089 objc-parse.y:1095 objc-parse.y:1101 objc-parse.y:1146 objc-parse.y:1152 objc-parse.y:1158 objc-parse.y:1164
+#: 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 "« %s » n'est pas au début de la déclaration"
-#: c-parse.y:1410 objc-parse.y:1455
+#: c-parse.y:1441 objc-parse.y:1497
msgid "ISO C forbids empty initializer braces"
-msgstr "ISO C interdit les accolades vides d'initialiseurs"
+msgstr "le C ISO interdit d'initialiser avec des accolades vides"
-#: c-parse.y:1424 objc-parse.y:1469
+#: c-parse.y:1455 objc-parse.y:1511
msgid "ISO C89 forbids specifying subobject to initialize"
-msgstr "ISO C89 interdit la spécification d'objets à initialiser"
+msgstr "le C89 ISO interdit de spécifier des sous-objets à initialiser"
-#: c-parse.y:1427 objc-parse.y:1472
+#: c-parse.y:1458 objc-parse.y:1514
msgid "obsolete use of designated initializer without `='"
-msgstr "utilisation obsolète de l'initialisateur désigné sans «=»"
+msgstr "utilisation obsolète d'une initialisation désignée sans « = »"
-#: c-parse.y:1431 objc-parse.y:1476
+#: c-parse.y:1462 objc-parse.y:1518
msgid "obsolete use of designated initializer with `:'"
-msgstr "utilisation obsolète d'un initialiseur désigné avec «:»"
+msgstr "utilisation obsolète d'une initialisation désignée avec « : »"
-#: c-parse.y:1460
+#: c-parse.y:1489 objc-parse.y:1545
msgid "ISO C forbids specifying range of elements to initialize"
-msgstr "ISO C interdit de spécifier les bornes des éléments à initaliser"
+msgstr "le C ISO interdit de spécifier les bornes des éléments à initaliser"
-#: c-parse.y:1468 c-parse.y:1498 objc-parse.y:1507 objc-parse.y:1537
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1553 objc-parse.y:1584
msgid "ISO C forbids nested functions"
-msgstr "ISO C interdit les fonctions imbriquées"
+msgstr "le C ISO interdit les fonctions imbriquées"
-#: c-parse.y:1672 objc-parse.y:1713
+#: c-parse.y:1703 objc-parse.y:1761
msgid "ISO C forbids forward references to `enum' types"
-msgstr "ISO C interdit les références avant vers un type « enum »"
+msgstr "le C ISO interdit les références anticipée vers un type « enum »"
-#: c-parse.y:1684 parse.y:2364 objc-parse.y:1725
+#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773
msgid "comma at end of enumerator list"
msgstr "virgule à la fin de liste d'énumerateurs"
-#: c-parse.y:1692 objc-parse.y:1733
+#: c-parse.y:1723 objc-parse.y:1781
msgid "no semicolon at end of struct or union"
-msgstr "pas de point virgule à la fin du struct ou de l'union"
+msgstr "pas de point virgule à la fin de la structure ou de l'union"
-#: c-parse.y:1701 objc-parse.y:1742 objc-parse.y:2819
+#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865
msgid "extra semicolon in struct or union specified"
-msgstr "point virgule superflu dans le struct ou l'union spécifié"
+msgstr "point virgule superflu dans la structure ou dans l'union"
-#: c-parse.y:1714 objc-parse.y:1769
+#: c-parse.y:1745 objc-parse.y:1817
msgid "ISO C doesn't support unnamed structs/unions"
-msgstr "ISO C ne supporte pas les structs/unions sans nom"
+msgstr "le C ISO ne permet pas les structures et unions sans nom"
-#: c-parse.y:1723 objc-parse.y:1778
+#: c-parse.y:1754 objc-parse.y:1826
msgid "ISO C forbids member declarations with no members"
-msgstr "ISO C interdit la déclaration de membre sans aucun membre"
+msgstr "le C ISO interdit les déclarations de membre sans aucun membre"
-#: c-parse.y:1872 c-parse.y:1876 c-parse.y:1880 objc-parse.y:1927 objc-parse.y:1931 objc-parse.y:1935
-msgid "storage class specifier in array declarator"
-msgstr "spécificateur de classe de stockage dans le déclarateur de tableau"
-
-#: c-parse.y:1895 objc-parse.y:1950
+#: c-parse.y:1913 objc-parse.y:1985
msgid "deprecated use of label at end of compound statement"
-msgstr "utilisation déprécié d'étiquette à la fin de la déclaration composée"
+msgstr "utilisation obsolète d'étiquette à la fin d'une déclaration composée"
-#: c-parse.y:1912 objc-parse.y:1967
+#: c-parse.y:1930 objc-parse.y:2002
msgid "ISO C89 forbids mixed declarations and code"
-msgstr "ISO C89 interdit les déclarations mélangés et de code"
+msgstr "le C89 ISO interdit les déclarations mélangés au code"
-#: c-parse.y:1986 objc-parse.y:2045
+#: c-parse.y:2005 objc-parse.y:2081
msgid "ISO C forbids label declarations"
-msgstr "ISO C interdit la déclaration d'étiquette"
+msgstr "le C ISO interdit la déclaration d'étiquette"
-#: c-parse.y:2035 parse.y:1607 objc-parse.y:2094
+#: c-parse.y:2055 parse.y:1627 objc-parse.y:2131
msgid "braced-group within expression allowed only inside a function"
-msgstr "groupe d'accolades à l'intérieur d'expression permis seulement à l'intérieur d'une fonction"
+msgstr "groupe entre accolades à l'intérieur d'expression permis seulement à l'intérieur d'une fonction"
-#: c-parse.y:2161 objc-parse.y:2220
+#: c-parse.y:2182 objc-parse.y:2258
msgid "empty body in an else-statement"
-msgstr "corps vide de la déclaration du else"
+msgstr "le corps du else est vide"
-#: c-parse.y:2281 objc-parse.y:2340
+#: c-parse.y:2303 objc-parse.y:2379
msgid "ISO C forbids `goto *expr;'"
-msgstr "ISO C interdit « goto *expr; »"
+msgstr "le C ISO interdit « goto *expr; »"
-#: c-parse.y:2379 objc-parse.y:2438
+#: c-parse.y:2403 objc-parse.y:2479
msgid "ISO C forbids forward parameter declarations"
-msgstr "ISO C interdit la déclaration de paramètres vers l'avant"
+msgstr "le C ISO interdit la déclaration anticipée de paramètres"
#. Gcc used to allow this as an extension. However, it does
#. not work for all targets, and thus has been disabled.
@@ -2327,170 +2616,176 @@ msgstr "ISO C interdit la déclaration de paramètres vers l'avant"
#. 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:2405 objc-parse.y:2464
+#: c-parse.y:2429 objc-parse.y:2505
msgid "ISO C requires a named argument before `...'"
-msgstr "ISO C requiert un argument nommé devant « ... »"
+msgstr "le C ISO requiert un argument nommé devant « ... »"
-#: c-parse.y:2500 objc-parse.y:2559
+#: c-parse.y:2526 objc-parse.y:2602
msgid "`...' in old-style identifier list"
msgstr "« ... » dans une liste d'identificateurs de style ancien"
-#: /usr/share/bison/bison.simple:821
+#: /usr/share/bison/bison.simple:795
msgid "parse error; also virtual memory exhausted"
msgstr "erreur d'analyse syntaxique; de plus la mémoire virtuelle est épuisée"
-#: /usr/share/bison/bison.simple:825 cp/spew.c:343 /usr/share/bison.simple:654
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
msgid "parse error"
msgstr "erreur d'analyse syntaxique"
-#: /usr/share/bison/bison.simple:950 /usr/share/bison.simple:367
+#: /usr/share/bison/bison.simple:924
msgid "parser stack overflow"
msgstr "débordement de la pile de l'analyseur syntaxique"
-#: c-parse.y:2824 cp/spew.c:1477 objc-parse.y:3511
+#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538
#, c-format
msgid "%s at end of input"
msgstr "%s à la fin de l'entrée"
-#: c-parse.y:2830 cp/spew.c:1483 objc-parse.y:3517
+#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544
#, c-format
msgid "%s before %s'%c'"
msgstr "%s avant %s« %c »"
-#: c-parse.y:2832 cp/spew.c:1485 objc-parse.y:3519
+#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546
#, c-format
msgid "%s before %s'\\x%x'"
msgstr "%s avant %s'\\x%x'"
-#: c-parse.y:2836 cp/spew.c:1489 objc-parse.y:3523
+#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550
#, c-format
msgid "%s before string constant"
-msgstr "%s avant la constante chaîne"
+msgstr "%s avant une chaîne constante"
-#: c-parse.y:2838 cp/spew.c:1491 objc-parse.y:3525
+#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552
#, c-format
msgid "%s before numeric constant"
-msgstr "%s avant la constante numérique"
+msgstr "%s avant une constante numérique"
-#: c-parse.y:2840 objc-parse.y:3527
+#: c-parse.y:2854 objc-parse.y:3554
#, c-format
msgid "%s before \"%s\""
msgstr "%s avant « %s »"
-#: c-parse.y:2842 objc-parse.y:3529
+#: c-parse.y:2856 objc-parse.y:3556
#, c-format
msgid "%s before '%s' token"
-msgstr "%s avant le jeton « %s »"
+msgstr "%s avant un élément lexical « %s »"
+
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr "le C traditionel rejette la concaténation de chaînes"
-#: c-parse.y:2978 objc-parse.y:3708
+#: c-parse.y:3047 objc-parse.y:3780
#, c-format
msgid "syntax error at '%s' token"
-msgstr "erreur de syntaxe au jeton « %s »"
-
-#: c-parse.y:3008 cp/lex.c:906 objc-parse.y:3738
-msgid "YYDEBUG not defined"
-msgstr "YYDEBUG n'est pas défini"
+msgstr "erreur de syntaxe à l'élément lexical « %s »"
-#: c-pragma.c:109
+#: c-pragma.c:107
msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
-msgstr "#pragma pack (pop) rencontré sans #pragma pack (push, <n>) concordant"
+msgstr "#pragma pack (pop) rencontré sans #pragma pack (push, <n>) correspondant"
-#: c-pragma.c:127
+#: c-pragma.c:125
#, c-format
msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
-msgstr "#pragma pack(pop, %s) rencontré sans #pragma pack(push, %s, <n>) concordant"
+msgstr "#pragma pack(pop, %s) rencontré sans #pragma pack(push, %s, <n>) correspondant"
-#: c-pragma.c:162
+#: c-pragma.c:145
msgid "#pragma pack(push[, id], <n>) is not supported on this target"
-msgstr "#pragma pack(push[, id], <n>) n'est pas supporté sur cette cible"
+msgstr "#pragma pack(push[, id], <n>) n'est pas permis sur cette cible"
-#: c-pragma.c:164
+#: c-pragma.c:147
msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
-msgstr "#pragma pack(pop[, id], <n>) n'est pas supporté sur cette cible"
+msgstr "#pragma pack(pop[, id], <n>) n'est pas permis sur cette cible"
-#: c-pragma.c:184
+#: c-pragma.c:167
msgid "missing '(' after '#pragma pack' - ignored"
-msgstr "«(» manquante après «#pragma pack» - ignoré"
+msgstr "« ( » manquante après « #pragma pack » - ignoré"
-#: c-pragma.c:197 c-pragma.c:247
+#: c-pragma.c:180 c-pragma.c:230
msgid "malformed '#pragma pack' - ignored"
-msgstr "«#pragma pack» mal composé - ignoré"
+msgstr "« #pragma pack » mal composée - ignoré"
-#: c-pragma.c:202
+#: c-pragma.c:185
msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
-msgstr "«#pragma pack(push[, id], <n>)» mal composé - ignoré"
+msgstr "« #pragma pack(push[, id], <n>) » mal composée - ignoré"
-#: c-pragma.c:204
+#: c-pragma.c:187
msgid "malformed '#pragma pack(pop[, id])' - ignored"
-msgstr "«#pragma pack(pop[, id])» mal composé, ignoré"
+msgstr "« #pragma pack(pop[, id]) » mal composée, ignoré"
-#: c-pragma.c:213
+#: c-pragma.c:196
#, c-format
msgid "unknown action '%s' for '#pragma pack' - ignored"
-msgstr "« %s » action inconnue pour «#pragma pack» - ignoré"
+msgstr "action « %s » inconnue pour « #pragma pack » - ignoré"
-#: c-pragma.c:250
+#: c-pragma.c:233
msgid "junk at end of '#pragma pack'"
-msgstr "rebut à la fin de «#pragma pack»"
+msgstr "rebut à la fin de « #pragma pack »"
-#: c-pragma.c:264
+#: c-pragma.c:247
#, c-format
msgid "alignment must be a small power of two, not %d"
-msgstr "l'alignement doit être une puissance faible de 2, pas %d"
+msgstr "l'alignement doit être une petite puissance de 2, pas %d"
+
+#: c-pragma.c:280
+#, c-format
+msgid "applying #pragma weak `%s' after first use results in unspecified behavior"
+msgstr "application de la #pragma weak « %s » après la première utilisation conduit à un comportement non spécifié"
-#: c-pragma.c:329 c-pragma.c:334
+#: c-pragma.c:321 c-pragma.c:326
msgid "malformed #pragma weak, ignored"
-msgstr "#pragma weak mal composé, ignoré"
+msgstr "#pragma weak mal composée, ignoré"
-#: c-pragma.c:338
+#: c-pragma.c:330
msgid "junk at end of #pragma weak"
msgstr "rebut à la fin de #pragma weak"
-#: c-pragma.c:369 c-pragma.c:374
+#: c-pragma.c:365 c-pragma.c:370
msgid "malformed #pragma redefine_extname, ignored"
-msgstr "#pragma redefine_extname mal composé, ignoré"
+msgstr "#pragma redefine_extname mal composée, ignoré"
-#: c-pragma.c:379
+#: c-pragma.c:375
msgid "junk at end of #pragma redefine_extname"
msgstr "rebut à la fin de #pragma redefine_extname"
-#: c-pragma.c:386 c-pragma.c:461
+#: c-pragma.c:382 c-pragma.c:463
msgid "#pragma redefine_extname conflicts with declaration"
msgstr "#pragma redefine_extname en conflit avec la déclaration"
-#: c-pragma.c:410
+#: c-pragma.c:413
msgid "malformed #pragma extern_prefix, ignored"
-msgstr "#pragma extern_prefix mal composé, ignoré"
+msgstr "#pragma extern_prefix mal composée, ignoré"
-#: c-pragma.c:415
+#: c-pragma.c:418
msgid "junk at end of #pragma extern_prefix"
msgstr "rebut à la fin de #pragma extern_prefix"
-#: c-pragma.c:447
+#: c-pragma.c:450
msgid "asm declaration conficts with previous rename"
-msgstr "déclaration asm en conflit avec le changement de nom précédent"
+msgstr "déclaration asm en conflit avec le précédent changement de nom"
-#: c-semantics.c:563
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
-msgstr "déclaration de « break» n'est pas à l'intérieur d'une boucle ou d'un «switch »"
+msgstr "mot-clé « break » à l'extérieur de toute boucle ou « switch »"
-#: c-semantics.c:581
+#: c-semantics.c:583
msgid "continue statement not within a loop"
-msgstr "déclaration de « continue » n'est pas à l'intérieur d'une boucle"
+msgstr "mot-clé « continue » à l'extérieur de toute boucle"
-#: c-semantics.c:676
+#: c-semantics.c:678
msgid "destructor needed for `%#D'"
-msgstr "destructeur requis pour «%#D»'"
+msgstr "destructeur requis pour « %#D »"
-#: c-semantics.c:677
+#: c-semantics.c:679
msgid "where case label appears here"
msgstr "où les étiquettes de « case » apparaissent ici"
-#: c-semantics.c:680
+# FIXME
+#: c-semantics.c:682
msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
-msgstr "(les actions enfermées du case précédent de la déclaration requiert des destructeurs dans leur propre champ.)"
+msgstr "(les actions dans les « case » précédents requierent des destructeurs dans leur propre champ.)"
-#: c-semantics.c:723 c-typeck.c:6923 cp/semantics.c:889
+#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
msgstr "%s qualificateur ignoré avec asm"
@@ -2500,22 +2795,22 @@ msgstr "%s qualificateur ignoré avec asm"
msgid "`%s' has an incomplete type"
msgstr "« %s » a un type incomplet"
-#: c-typeck.c:145 cp/call.c:2621
+#: c-typeck.c:145 cp/call.c:2740
msgid "invalid use of void expression"
-msgstr "utilisation de l'expression voir invalide"
+msgstr "utilisation invalide d'expression void"
#: c-typeck.c:153
msgid "invalid use of flexible array member"
-msgstr "utilisation invalide d'un membre de tableau flexible"
+msgstr "utilisation invalide d'un membre flexible de tableau"
-#: c-typeck.c:159 cp/typeck2.c:227
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
-msgstr "utilisation invalide d'un tableau avec bornes non spécifiées"
+msgstr "utilisation invalide d'un tableau sans borne spécifiée"
#: c-typeck.c:167
#, c-format
msgid "invalid use of undefined type `%s %s'"
-msgstr "utilisation invalide d'un type indéfini «%s %s»"
+msgstr "utilisation invalide d'un type indéfini « %s %s »"
#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
#: c-typeck.c:171
@@ -2523,1057 +2818,1192 @@ msgstr "utilisation invalide d'un type indéfini «%s %s»"
msgid "invalid use of incomplete typedef `%s'"
msgstr "utilisation invalide d'un typedef incomplet « %s »"
-#: c-typeck.c:402 c-typeck.c:416
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
-msgstr "types de fonction ne sont pas vraiment compatibles en ISO C"
+msgstr "types de fonction pas vraiment compatibles en C ISO"
-#: c-typeck.c:576
+#: c-typeck.c:603
msgid "types are not quite compatible"
-msgstr "types ne sont pas très compatibles"
-
-#: c-typeck.c:729
-msgid "sizeof applied to a function type"
-msgstr "sizeof appliqué sur un type de fonction"
-
-#: c-typeck.c:735
-msgid "sizeof applied to a void type"
-msgstr "sizeof appliqué sur un type void"
-
-#: c-typeck.c:742
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof appliqué sur un type incomplet"
+msgstr "les types ne sont pas vraiment compatibles"
-#: c-typeck.c:795 c-typeck.c:2704
+#: c-typeck.c:757 c-typeck.c:2673
msgid "arithmetic on pointer to an incomplete type"
-msgstr "arithmétique sur un pointeur appliqué sur un type incomplet"
+msgstr "arithmétique sur un pointeur vers un type incomplet"
-#: c-typeck.c:1183
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr "%s n'a pas de membre nommé « %s »"
-#: c-typeck.c:1216
+#: c-typeck.c:1169
#, c-format
msgid "request for member `%s' in something not a structure or union"
-msgstr "requête pour le membre « %s » dans quelque chose qui n'est pas une structure ou un union"
+msgstr "requête du membre « %s » dans quelque chose n'étant ni une structure ni une union"
-#: c-typeck.c:1248
+#: c-typeck.c:1201
msgid "dereferencing pointer to incomplete type"
-msgstr "déréférence d'un pointeur en un type incomplet"
+msgstr "déréférencement d'un pointeur de type incomplet"
-#: c-typeck.c:1252
+#: c-typeck.c:1205
msgid "dereferencing `void *' pointer"
-msgstr "déréférence d'un pointeur « void * »"
+msgstr "déréférencement d'un pointeur « void * »"
-#: c-typeck.c:1269 cp/typeck.c:2347
+#: c-typeck.c:1222 cp/typeck.c:2357
#, c-format
msgid "invalid type argument of `%s'"
msgstr "type d'argument invalide pour « %s »"
-#: c-typeck.c:1288 cp/typeck.c:2373
+#: c-typeck.c:1241 cp/typeck.c:2383
msgid "subscript missing in array reference"
-msgstr "souscript manquant dans la référence du tableau"
+msgstr "indice manquant dans la référence du tableau"
-#: c-typeck.c:1309 cp/typeck.c:2415
+#: c-typeck.c:1262 cp/typeck.c:2425
msgid "array subscript has type `char'"
-msgstr "souscript de tableau a un type « char »"
+msgstr "l'indice du tableau est de type « char »"
-#: c-typeck.c:1317 c-typeck.c:1406 cp/typeck.c:2422 cp/typeck.c:2501
+#: c-typeck.c:1270 c-typeck.c:1359 cp/typeck.c:2432 cp/typeck.c:2511
msgid "array subscript is not an integer"
-msgstr "souscript de tableau n'est pas un entier"
+msgstr "l'indice du tableau n'est pas un entier"
-#: c-typeck.c:1350
+#: c-typeck.c:1303
msgid "ISO C forbids subscripting `register' array"
-msgstr "ISO C interdit le souscriptage de type « register » de tableau"
+msgstr "le C ISO interdit d'indicer des tableaux marqués « register »"
-#: c-typeck.c:1352
-msgid "ISO C89 forbids subscripting non-lvalue array"
-msgstr "ISO C89 interdit le souscriptage de tableau non lvalue"
+#: c-typeck.c:1305
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr "le C90 ISO interdit d'indicer de tableau n'étant pas membre gauche"
-#: c-typeck.c:1385
+#: c-typeck.c:1338
msgid "subscript has type `char'"
-msgstr "souscript a un type « char »"
+msgstr "indice de type « char »"
-#: c-typeck.c:1401 cp/typeck.c:2496
+#: c-typeck.c:1354 cp/typeck.c:2506
msgid "subscripted value is neither array nor pointer"
-msgstr "valeur sourcripté n'est ni un tableau ni un pointeur"
+msgstr "la valeur indicée n'est ni un tableau ni un pointeur"
-#: c-typeck.c:1455
+#: c-typeck.c:1408
#, c-format
msgid "`%s' undeclared here (not in a function)"
-msgstr "« %s » non déclaré ici (n'est pas dans une fonction)"
+msgstr "« %s » non déclaré ici (hors de toute fonction)"
-#: c-typeck.c:1462
+#: c-typeck.c:1415
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr "« %s » non déclaré (première utilisation dans cette fonction)"
-#: c-typeck.c:1467
+#: c-typeck.c:1420
msgid "(Each undeclared identifier is reported only once"
msgstr "(Chaque identificateur non déclaré est rapporté une seule fois"
-#: c-typeck.c:1468
+#: c-typeck.c:1421
msgid "for each function it appears in.)"
msgstr "pour chaque fonction dans laquelle il apparaît.)"
-#: c-typeck.c:1485
+#: c-typeck.c:1438
#, c-format
msgid "local declaration of `%s' hides instance variable"
-msgstr "la déclaration locale de « %s » cache l'instance d'une variable"
+msgstr "la déclaration locale de « %s » masque l'instance d'une variable"
-#: c-typeck.c:1550
+#: c-typeck.c:1504
msgid "called object is not a function"
-msgstr "objet appelé n'est pas une fonction"
+msgstr "l'objet appelé n'est pas une fonction"
-#: c-typeck.c:1637 cp/typeck.c:3133
+#: c-typeck.c:1590 cp/typeck.c:2831
msgid "too many arguments to function"
msgstr "trop d'arguments pour la fonction"
-#: c-typeck.c:1658
+#: c-typeck.c:1611
#, c-format
msgid "type of formal parameter %d is incomplete"
-msgstr "type de paramètre formel %d est incomplet"
+msgstr "le type du paramètre formel %d est incomplet"
-#: c-typeck.c:1671
+#: c-typeck.c:1624
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr "%s est entier plutôt que flottant en raison du prototype"
-#: c-typeck.c:1674
+#: c-typeck.c:1627
#, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr "%s est entier plutôt que complexe en raison du prototype"
-#: c-typeck.c:1677
+#: c-typeck.c:1630
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr "%s est complexe plutôt que flottant en raison du prototype"
-#: c-typeck.c:1680
+#: c-typeck.c:1633
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr "%s est flottant plutôt qu'entier en raison du prototype"
-#: c-typeck.c:1683
+#: c-typeck.c:1636
#, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr "%s est complexe plutôt qu'entier en raison du prototype"
-#: c-typeck.c:1686
+#: c-typeck.c:1639
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr "%s est flottant plutôt que complexe en raison du prototype"
-#: c-typeck.c:1696
+#: c-typeck.c:1649
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
-msgstr "%s est « float» plutôt que «double » en raison du prototype"
+msgstr "%s est « float » plutôt que « double » en raison du prototype"
-#: c-typeck.c:1714
+#: c-typeck.c:1667
#, c-format
msgid "%s with different width due to prototype"
msgstr "%s a une largeur différente en raison du prototype"
-#: c-typeck.c:1748
+#: c-typeck.c:1701
#, c-format
msgid "%s as unsigned due to prototype"
msgstr "%s est non signé en raison du prototype"
-#: c-typeck.c:1750
+#: c-typeck.c:1703
#, c-format
msgid "%s as signed due to prototype"
msgstr "%s est signé en raison du prototype"
-#: c-typeck.c:1784 cp/typeck.c:3241
+#: c-typeck.c:1737 cp/typeck.c:2935
msgid "too few arguments to function"
msgstr "trop peu d'arguments pour la fonction"
-#: c-typeck.c:1826
+#: c-typeck.c:1779
msgid "suggest parentheses around + or - inside shift"
msgstr "parenthèses suggérées autour de + ou - à l'intérieur du décalage"
-#: c-typeck.c:1833
+#: c-typeck.c:1786
msgid "suggest parentheses around && within ||"
msgstr "parenthèses suggérées autour de && à l'intérieur de ||"
-#: c-typeck.c:1842
+#: c-typeck.c:1795
msgid "suggest parentheses around arithmetic in operand of |"
-msgstr "parenthèses suggérées autour de l'arithmétique dans l'opérande |"
+msgstr "parenthèses suggérées autour de l'arithmétique dans l'opérande de |"
-#: c-typeck.c:1845
+#: c-typeck.c:1798
msgid "suggest parentheses around comparison in operand of |"
-msgstr "parenthèses suggérées autour de la comparaison dans l'opérande |"
+msgstr "parenthèses suggérées autour de la comparaison dans l'opérande de |"
-#: c-typeck.c:1854
+#: c-typeck.c:1807
msgid "suggest parentheses around arithmetic in operand of ^"
-msgstr "parenthèses suggérées autour de l'arithmétique dans l'opérande ^"
+msgstr "parenthèses suggérées autour de l'arithmétique dans l'opérande de ^"
-#: c-typeck.c:1857
+#: c-typeck.c:1810
msgid "suggest parentheses around comparison in operand of ^"
-msgstr "parenthèses suggérées autour de la comparaison dans l'opérande ^"
+msgstr "parenthèses suggérées autour de la comparaison dans l'opérande de ^"
-#: c-typeck.c:1864
+#: c-typeck.c:1817
msgid "suggest parentheses around + or - in operand of &"
-msgstr "parenthèses suggérées autour de + ou - dans l'opérande &"
+msgstr "parenthèses suggérées autour de + ou - dans l'opérande de &"
-#: c-typeck.c:1867
+#: c-typeck.c:1820
msgid "suggest parentheses around comparison in operand of &"
-msgstr "parenthèses suggérées autour de la comparaison dans l'opérande &"
+msgstr "parenthèses suggérées autour de la comparaison dans l'opérande de &"
-#: c-typeck.c:1874
+#: c-typeck.c:1827
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
-msgstr "comparaisons comme X<=Y<=Z n'ont pas de signification mathématique"
+msgstr "les comparaisons telles que X<=Y<=Z n'ont pas de signification mathématique"
-#: c-typeck.c:2034 c-typeck.c:2067
+#: c-typeck.c:1987 c-typeck.c:2022
msgid "division by zero"
msgstr "division par zéro"
-#: c-typeck.c:2112 cp/typeck.c:3502
+#: c-typeck.c:2067 cp/typeck.c:3196
msgid "right shift count is negative"
-msgstr "compteur de décalage à droite est négatif"
+msgstr "le compteur de décalage vers la droite est négatif"
-#: c-typeck.c:2119 cp/typeck.c:3508
+#: c-typeck.c:2074 cp/typeck.c:3202
msgid "right shift count >= width of type"
-msgstr "compteur de décalage à droite >= à la largeur du type"
+msgstr "compteur de décalage vers la droite >= à la largeur du type"
-#: c-typeck.c:2144 cp/typeck.c:3527
+#: c-typeck.c:2095 cp/typeck.c:3221
msgid "left shift count is negative"
-msgstr "compteur de décalage à gauche est négatif"
+msgstr "le compteur de décalage vers la gauche est négatif"
-#: c-typeck.c:2147 cp/typeck.c:3529
+#: c-typeck.c:2098 cp/typeck.c:3223
msgid "left shift count >= width of type"
-msgstr "compteur de décalage à gauche >= à la largeur du type"
+msgstr "compteur de décalage vers la gauche >= à la largeur du type"
-#: c-typeck.c:2172
+#: c-typeck.c:2119
msgid "shift count is negative"
-msgstr "compteur de décalage est négatif"
+msgstr "le compteur de décalage est négatif"
-#: c-typeck.c:2174
+#: c-typeck.c:2121
msgid "shift count >= width of type"
msgstr "compteur de décalage >= à la largeur du type"
-#: c-typeck.c:2195 cp/typeck.c:3564
+#: c-typeck.c:2138 cp/typeck.c:3258
msgid "comparing floating point with == or != is unsafe"
-msgstr "comparaison d'un nombre flottant à l'aide de == ou != n'est pas sûre"
+msgstr "comparer des nombres flottants à l'aide de == ou != n'est pas sûr"
-#: c-typeck.c:2219 c-typeck.c:2225
+#: c-typeck.c:2164 c-typeck.c:2170
msgid "ISO C forbids comparison of `void *' with function pointer"
-msgstr "ISO C interdit la comparaison de « void * » avec un pointeur de fonction pointer"
+msgstr "le C ISO interdit la comparaison de « void * » avec un pointeur de fonction"
-#: c-typeck.c:2228 c-typeck.c:2270 c-typeck.c:2298
+#: c-typeck.c:2173 c-typeck.c:2213 c-typeck.c:2241
msgid "comparison of distinct pointer types lacks a cast"
-msgstr "comparaison entre des types distincs de pointeur manque de transtypage"
+msgstr "il manque un transtypage pour comparer des types distincts de pointeur"
-#: c-typeck.c:2243 c-typeck.c:2249 c-typeck.c:2319 c-typeck.c:2325
+#: c-typeck.c:2187 c-typeck.c:2192 c-typeck.c:2261 c-typeck.c:2266
msgid "comparison between pointer and integer"
msgstr "comparaison entre un pointeur et un entier"
-#: c-typeck.c:2265 c-typeck.c:2293
+#: c-typeck.c:2208 c-typeck.c:2236
msgid "ISO C forbids ordered comparisons of pointers to functions"
-msgstr "ISO C interdit les comparaisons ordonnées de pointeurs à des fonctions"
+msgstr "le C ISO interdit les comparaisons ordonnées de pointeurs vers des fonctions"
-#: c-typeck.c:2290
+#: c-typeck.c:2233
msgid "comparison of complete and incomplete pointers"
msgstr "comparaison de pointeurs complet et incomplet"
-#: c-typeck.c:2306 c-typeck.c:2313
+#: c-typeck.c:2249 c-typeck.c:2256
msgid "ordered comparison of pointer with integer zero"
-msgstr "comparaison ordonné de pointeur avec un entier zéro"
+msgstr "comparaison ordonnée de pointeur avec le zéro entier"
-#: c-typeck.c:2339 cp/typeck.c:3697
+#: c-typeck.c:2280 cp/typeck.c:3391
msgid "unordered comparison on non-floating point argument"
-msgstr "comparaison non ordonné sur un argument qui n'est pas en virgule flottante"
+msgstr "comparaison non ordonnée sur un argument n'étant pas en virgule flottante"
-#: c-typeck.c:2543
+#: c-typeck.c:2491
msgid "comparison between signed and unsigned"
-msgstr "comparaison entre un signé et un non signé"
+msgstr "comparaison entre élément signé et élément non signé"
-#: c-typeck.c:2589 cp/typeck.c:3943
+#: c-typeck.c:2537 cp/typeck.c:3635
msgid "comparison of promoted ~unsigned with constant"
-msgstr "comparaison d'un non signé promu avec une constante"
+msgstr "comparaison entre élément promu ~unsigned et une constante"
-#: c-typeck.c:2597 cp/typeck.c:3951
+#: c-typeck.c:2545 cp/typeck.c:3643
msgid "comparison of promoted ~unsigned with unsigned"
-msgstr "comparaison d'un non signé promu avec un non signé"
+msgstr "comparaison entre élément promu ~unsigned et un élément non signé"
-#: c-typeck.c:2656
+#: c-typeck.c:2625
msgid "pointer of type `void *' used in subtraction"
msgstr "pointeur de type « void * » utilisé dans une soustraction"
-#: c-typeck.c:2658
+#: c-typeck.c:2627
msgid "pointer to a function used in subtraction"
msgstr "pointeur vers un fonction utilisé dans une soustraction"
-#: c-typeck.c:2755
+#: c-typeck.c:2724
msgid "wrong type argument to unary plus"
-msgstr "type d'argument erroné pour l'unaire +"
+msgstr "type d'argument erroné pour le plus unaire"
-#: c-typeck.c:2766
+#: c-typeck.c:2737
msgid "wrong type argument to unary minus"
-msgstr "type d'argument erroné pour l'unaire -"
+msgstr "type d'argument erroné pour le moins unaire"
-#: c-typeck.c:2778
+#: c-typeck.c:2754
msgid "ISO C does not support `~' for complex conjugation"
-msgstr "ISO C ne supporte pas «~» pour une conjugaison complexe"
+msgstr "le C ISO ne permet pas d'utiliser « ~ » pour le complexe conjugué"
-#: c-typeck.c:2784
+#: c-typeck.c:2760
msgid "wrong type argument to bit-complement"
msgstr "type d'argument erroné pour un complément de bit"
-#: c-typeck.c:2795
+#: c-typeck.c:2769
msgid "wrong type argument to abs"
msgstr "type d'argument erroné pour abs"
-#: c-typeck.c:2807
+#: c-typeck.c:2781
msgid "wrong type argument to conjugation"
msgstr "type d'argument erroné pour la conjugaison"
-#: c-typeck.c:2821
+#: c-typeck.c:2795
msgid "wrong type argument to unary exclamation mark"
-msgstr "type d'argument erroné pour l'unaire point d'exclamation"
+msgstr "type d'argument erroné pour le point d'exclamation unaire"
-#: c-typeck.c:2864
+#: c-typeck.c:2838
msgid "ISO C does not support `++' and `--' on complex types"
-msgstr "ISO C ne supporte «++» et «--» sur les types complexes"
+msgstr "le C ISO ne permet pas «++» ni «--» sur les types complexes"
-#: c-typeck.c:2879 c-typeck.c:2911
+#: c-typeck.c:2853 c-typeck.c:2885
msgid "wrong type argument to increment"
msgstr "type d'argument erroné pour un incrément"
-#: c-typeck.c:2881 c-typeck.c:2913
+#: c-typeck.c:2855 c-typeck.c:2887
msgid "wrong type argument to decrement"
msgstr "type d'argument erroné pour un décrément"
-#: c-typeck.c:2902
+#: c-typeck.c:2876
msgid "increment of pointer to unknown structure"
-msgstr "incérment d'un pointeur vers une structure inconnue"
+msgstr "incrément d'un pointeur vers une structure inconnue"
-#: c-typeck.c:2904
+#: c-typeck.c:2878
msgid "decrement of pointer to unknown structure"
msgstr "décrément d'un pointeur vers une structure inconnue"
-#: c-typeck.c:3041
+# FIXME
+#: c-typeck.c:3015
msgid "ISO C forbids the address of a cast expression"
-msgstr "ISO C interdit l'adresse d'une expression transtypée"
+msgstr "le C ISO interdit l'adresse d'une expression transtypée"
-#: c-typeck.c:3051
+#: c-typeck.c:3025
msgid "invalid lvalue in unary `&'"
-msgstr "lvalue invalide dans l'unaire «&»"
+msgstr "membre gauche invalide pour le « & » unaire"
-#: c-typeck.c:3083
+#: c-typeck.c:3057
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
-msgstr "tentative de prise d'adresse du membre « %s » d'une structure de champ de bits"
+msgstr "tentative pour prendre l'adresse du membre « %s » d'une structure de champ de bits"
-#: c-typeck.c:3192 c-typeck.c:4618 c-typeck.c:4634 c-typeck.c:4650 final.c:2981 final.c:2983 gcc.c:4462 rtl-error.c:121 tradcif.y:532 tradcpp.c:4134 config/cris/cris.c:515 cp/typeck.c:4650 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 "%s"
-#: c-typeck.c:3253
+#: c-typeck.c:3227
msgid "ISO C forbids use of conditional expressions as lvalues"
-msgstr "ISO C interdit l'utilisation d'expressions conditionnelles comme lvalue"
+msgstr "le C ISO interdit l'utilisation d'expressions conditionnelles comme membre gauche"
-#: c-typeck.c:3256
+#: c-typeck.c:3230
msgid "ISO C forbids use of compound expressions as lvalues"
-msgstr "ISO C interdit l'utilisation d'expressions composées comme lvalue"
+msgstr "le C ISO interdit l'utilisation d'expressions composées comme membre gauche"
-#: c-typeck.c:3259
+#: c-typeck.c:3233
msgid "ISO C forbids use of cast expressions as lvalues"
-msgstr "ISO C interdit l'utilisation de transtypage d'une expression comme lvalues"
+msgstr "le C ISO interdit l'utilisation de transtypage d'expression comme membre gauche"
-#: c-typeck.c:3276
+#: c-typeck.c:3250
#, c-format
msgid "%s of read-only member `%s'"
-msgstr "%s d'un membre en lecture seulement « %s »"
+msgstr "%s d'un membre en lecture seule « %s »"
-#: c-typeck.c:3280
+#: c-typeck.c:3254
#, c-format
msgid "%s of read-only variable `%s'"
-msgstr "%s d'une variable en lecture seulement « %s »"
+msgstr "%s d'une variable en lecture seule « %s »"
-#: c-typeck.c:3283
+#: c-typeck.c:3257
#, c-format
msgid "%s of read-only location"
-msgstr "%s d'une location en lecture seulement"
+msgstr "%s d'une position en lecture seule"
-#: c-typeck.c:3301
+#: c-typeck.c:3276
#, c-format
msgid "cannot take address of bit-field `%s'"
msgstr "ne peut prendre l'adresse du champ de bits « %s »"
-#: c-typeck.c:3329
+#: c-typeck.c:3304
#, c-format
msgid "global register variable `%s' used in nested function"
-msgstr "variable registre globale « %s » utilisée dans une fonction imbriquée"
+msgstr "variable globale de registre « %s » utilisée dans une fonction imbriquée"
-#: c-typeck.c:3333
+#: c-typeck.c:3308
#, c-format
msgid "register variable `%s' used in nested function"
-msgstr "variable registre « %s » utilisée dans une fonction imbriquée"
+msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
-#: c-typeck.c:3340
+#: c-typeck.c:3315
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "adresse d'une variable registre globale « %s » requise"
-#: c-typeck.c:3352
+#: c-typeck.c:3327
msgid "cannot put object with volatile field into register"
-msgstr "ne peut mettre un objet avec un champ volatile dans un registre"
+msgstr "impossible de mettre un objet avec un champ volatile dans un registre"
-#: c-typeck.c:3356
+#: c-typeck.c:3331
#, c-format
msgid "address of register variable `%s' requested"
msgstr "adresse d'une variable registre « %s » requise"
-#: c-typeck.c:3464
+#: c-typeck.c:3439
msgid "signed and unsigned type in conditional expression"
msgstr "type signé et non signé dans une expression conditionnelle"
-#: c-typeck.c:3471
+#: c-typeck.c:3446
msgid "ISO C forbids conditional expr with only one void side"
-msgstr "ISO C interdit une expression conditionnelle dont un seul côté est « void »"
+msgstr "le C ISO interdit une expression conditionnelle dont un seul côté est « void »"
-#: c-typeck.c:3487 c-typeck.c:3494
+#: c-typeck.c:3462 c-typeck.c:3469
msgid "ISO C forbids conditional expr between `void *' and function pointer"
-msgstr "ISO C interdit une expression conditionnelle entre « void * » et un pointeur de fonction"
+msgstr "le C ISO interdit une expression conditionnelle entre « void * » et un pointeur de fonction"
-#: c-typeck.c:3500
+#: c-typeck.c:3475
msgid "pointer type mismatch in conditional expression"
-msgstr "non concordance de type de pointeur dans un expression conditionnelle"
+msgstr "non concordance de type de pointeurs dans un expression conditionnelle"
-#: c-typeck.c:3507 c-typeck.c:3517
+#: c-typeck.c:3482 c-typeck.c:3492
msgid "pointer/integer type mismatch in conditional expression"
-msgstr "non concordance de type pointeur/entier dans une expression conditionnelle"
+msgstr "non concordance entre pointeur et entier dans une expression conditionnelle"
-#: c-typeck.c:3531
+#: c-typeck.c:3506
msgid "type mismatch in conditional expression"
msgstr "non concordance de type dans une expression conditionnelle"
-#: c-typeck.c:3602 cp/typeck.c:4907
+#: c-typeck.c:3577 cp/typeck.c:4597
msgid "left-hand operand of comma expression has no effect"
-msgstr "l'opérande à gauche de la virgule dans l'expression n'a pas d'effet"
+msgstr "l'opérande à gauche de la virgule n'a pas d'effet"
-#: c-typeck.c:3641
+#: c-typeck.c:3621
msgid "cast specifies array type"
-msgstr "le transtypage spécifie le type de tableau"
+msgstr "le transtypage spécifie un type de tableau"
-#: c-typeck.c:3647
+#: c-typeck.c:3627
msgid "cast specifies function type"
-msgstr "le transtypage spécifie le type de fonction"
+msgstr "le transtypage spécifie un type de fonction"
-#: c-typeck.c:3657
+#: c-typeck.c:3637
msgid "ISO C forbids casting nonscalar to the same type"
-msgstr "ISO C interdit le transtypage non scalaire au même type"
+msgstr "le C ISO interdit le transtypage d'un type non scalaire vers lui-même"
-#: c-typeck.c:3676
+#: c-typeck.c:3656
msgid "ISO C forbids casts to union type"
-msgstr "ISO C interdit le transtypage vers un type union"
+msgstr "le C ISO interdit le transtypage vers un type union"
-#: c-typeck.c:3692
+#: c-typeck.c:3671
msgid "cast to union type from type not present in union"
-msgstr "transtypage vers un type union d'un type non présent dans l'union"
+msgstr "transtypage vers un type union depuis un type absent de l'union"
-#: c-typeck.c:3743
+#: c-typeck.c:3722
msgid "cast adds new qualifiers to function type"
-msgstr "le transtypage ajoute un nouveau qualifacateur au type de la fonction"
+msgstr "le transtypage ajoute un nouveau qualificateur au type de la fonction"
#. There are qualifiers present in IN_OTYPE that are not
#. present in IN_TYPE.
-#: c-typeck.c:3748
+#: c-typeck.c:3727
msgid "cast discards qualifiers from pointer target type"
-msgstr "transtypage écarte les qualificateurs du type cible du pointeur"
+msgstr "le transtypage annule des qualificateurs du type pointeur ciblé"
-#: c-typeck.c:3763
+#: c-typeck.c:3742
msgid "cast increases required alignment of target type"
-msgstr "transtypage augmente l'alignement requis pour le type ciblé"
+msgstr "le transtypage augmente l'alignement requis pour le type ciblé"
-#: c-typeck.c:3769 cp/typeck.c:5337
+#: c-typeck.c:3748 cp/typeck.c:5027
msgid "cast from pointer to integer of different size"
msgstr "transtypage d'un pointeur vers un entier de taille différente"
-#: c-typeck.c:3774
+#: c-typeck.c:3753
msgid "cast does not match function type"
-msgstr "transtypage ne concorde pas avec le type de la fonction"
+msgstr "le transtypage ne concorde pas avec le type de la fonction"
-#: c-typeck.c:3781 cp/typeck.c:5344
+#: c-typeck.c:3760 cp/typeck.c:5034
msgid "cast to pointer from integer of different size"
-msgstr "transtypage vers un pointeur d'un entier de taille différente"
+msgstr "transtypage vers un pointeur depuis un entier de taille différente"
+
+# FIXME
+#: c-typeck.c:3772
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr ""
+
+# FIXME
+#: 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:3939
+#: c-typeck.c:3935
msgid "invalid lvalue in assignment"
-msgstr "lvalue invalide dans l'affectation"
+msgstr "membre gauche de l'affectation invalide"
#. Convert new value to destination type.
-#: c-typeck.c:3948 c-typeck.c:3973 c-typeck.c:3990 cp/typeck.c:5454 cp/typeck.c:5605
+#: c-typeck.c:3944 c-typeck.c:3969 c-typeck.c:3986 cp/typeck.c:5145
+#: cp/typeck.c:5294
msgid "assignment"
msgstr "affectation"
-#: c-typeck.c:4157 c-typeck.c:4224
+#: c-typeck.c:4056
+msgid "cannot pass rvalue to reference parameter"
+msgstr "impossible de passer un membre droit en paramètre par référence"
+
+#: c-typeck.c:4160 c-typeck.c:4227
#, c-format
msgid "%s makes qualified function pointer from unqualified"
-msgstr "%s a rendu un pointeur de fonction qualifié à partir d'un non qualifié"
+msgstr "%s qualifie un pointeur de fonction non qualifié"
-#: c-typeck.c:4161 c-typeck.c:4204
+#: c-typeck.c:4164 c-typeck.c:4207
#, c-format
msgid "%s discards qualifiers from pointer target type"
-msgstr "%s écarte le qualificateur du type du pointeur cible"
+msgstr "%s annule des qualificateurs du type du pointeur cible"
-#: c-typeck.c:4167
+#: c-typeck.c:4170
msgid "ISO C prohibits argument conversion to union type"
-msgstr "ISO C interdit la conversion d'argument pour un type union"
+msgstr "le C ISO interdit la conversion d'argument en type union"
-#: c-typeck.c:4196
+#: c-typeck.c:4199
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
-msgstr "ISO C interdit %s entre le pointeur de fonction et « void * »"
+msgstr "le C ISO interdit %s entre pointeur de fonction et « void * »"
-#: c-typeck.c:4213
+#: c-typeck.c:4216
#, c-format
msgid "pointer targets in %s differ in signedness"
-msgstr "pointeurs ciblés dans %s diffèrent au niveau du signe"
+msgstr "les cibles des pointeurs dans %s n'ont pas toutes de signe"
-#: c-typeck.c:4229
+#: c-typeck.c:4232
#, c-format
msgid "%s from incompatible pointer type"
msgstr "%s d'un type pointeur incompatible"
-#: c-typeck.c:4245
+#: c-typeck.c:4248
#, c-format
msgid "%s makes pointer from integer without a cast"
-msgstr "%s transforme en pointeur un entier sans transtypage"
+msgstr "%s transforme un entier en pointeur sans transtypage"
-#: c-typeck.c:4253
+#: c-typeck.c:4256
#, c-format
msgid "%s makes integer from pointer without a cast"
-msgstr "%s transforme en entier un pointeur sans transtypage"
+msgstr "%s transforme un pointeur en entier sans transtypage"
-#: c-typeck.c:4267 c-typeck.c:4270
+#: c-typeck.c:4270 c-typeck.c:4273
#, c-format
msgid "incompatible type for argument %d of `%s'"
-msgstr "type incompatible pour l'argument %d de « %s »"
+msgstr "type incompatible pour l'argument n°%d de « %s »"
-#: c-typeck.c:4274
+#: c-typeck.c:4277
#, c-format
msgid "incompatible type for argument %d of indirect function call"
-msgstr "type incompatible pour l'argument %d de l'appel indirect de fonction"
+msgstr "type incompatible pour l'argument n°%d de l'appel indirect de fonction"
-#: c-typeck.c:4278
+#: c-typeck.c:4281
#, c-format
msgid "incompatible types in %s"
msgstr "type incompatibles dans %s"
#. Function name is known; supply it.
-#: c-typeck.c:4333
+#: c-typeck.c:4339
+#, c-format
+msgid "passing arg of `%s'"
+msgstr "passage des arguments de « %s »"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4349
+msgid "passing arg of pointer to function"
+msgstr "passage des arguments au pointeur de fonction"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4357
#, c-format
msgid "passing arg %d of `%s'"
-msgstr "passage de arg %d de « %s »"
+msgstr "passage de l'argument n°%d de « %s »"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4343
+#: c-typeck.c:4367
#, c-format
msgid "passing arg %d of pointer to function"
-msgstr "passage de arg %d du pointeur vers la fonction"
+msgstr "passage de l'argument n°%d au pointeur de fonction"
-#: c-typeck.c:4410
+#: c-typeck.c:4433
msgid "initializer for static variable is not constant"
-msgstr "initialisateur de variable « static » n'est pas une constante"
+msgstr "l'initialisation d'une variable statique n'est pas une constante"
-#: c-typeck.c:4416
+#: c-typeck.c:4439
msgid "initializer for static variable uses complicated arithmetic"
-msgstr "initialisateur de variable « static » utilise une artihmétique compliquée"
+msgstr "l'initialisation d'une variable statique utilise une artihmétique compliquée"
-#: c-typeck.c:4424
+# FIXME
+#: c-typeck.c:4447
msgid "aggregate initializer is not constant"
-msgstr "initialiseur d'aggrégat n'est pas une constante"
+msgstr "l'initialisation d'aggrégat n'est pas une constante"
-#: c-typeck.c:4426
+# FIXME
+#: c-typeck.c:4449
msgid "aggregate initializer uses complicated arithmetic"
-msgstr "initialiseur d'aggrégat utilise une arithmétique compliquée"
+msgstr "l'initialisation d'un aggrégat utilise une arithmétique compliquée"
-#: c-typeck.c:4433
+#: c-typeck.c:4456
msgid "traditional C rejects automatic aggregate initialization"
-msgstr "C traditionel rejette l'initialisation automatique d'aggrégats"
+msgstr "le C traditionel rejette l'initialisation automatique d'aggrégats"
-#: c-typeck.c:4621 c-typeck.c:4637 c-typeck.c:4653
+#: c-typeck.c:4635 c-typeck.c:4651 c-typeck.c:4667
#, c-format
msgid "(near initialization for `%s')"
-msgstr "(près de l'initialisation pour « %s »)"
+msgstr "(près de l'initialisation de « %s »)"
-#: c-typeck.c:4705 cp/typeck2.c:513
+#: c-typeck.c:4718 cp/typeck2.c:505
msgid "char-array initialized from wide string"
-msgstr "tableau de caractères initialisé à l'aide d'une grande chaîne"
+msgstr "tableau de caractères initialisé à l'aide d'une chaîne de caractères longs"
-#: c-typeck.c:4712 cp/typeck2.c:520
+#: c-typeck.c:4725 cp/typeck2.c:512
msgid "int-array initialized from non-wide string"
-msgstr "tableau d'entier initialisé à l'aide d'un chaîne courte"
+msgstr "tableau d'entier initialisé à l'aide d'un chaîne de caractères courts"
-#: c-typeck.c:4730 cp/typeck2.c:536
+#: c-typeck.c:4743 cp/typeck2.c:528
msgid "initializer-string for array of chars is too long"
-msgstr "chaîne d'initialisateur pour le tableau de caractères est trop longue"
+msgstr "la chaîne d'initialisation est trop longue pour le tableau de caractères"
-#: c-typeck.c:4768
+#: c-typeck.c:4781
msgid "array initialized from non-constant array expression"
-msgstr "tableau initialisé à l'aide de l'expression d'un tableau de non constantes"
+msgstr "tableau initialisé à l'aide de l'expression de tableau non constante"
-#: c-typeck.c:4785 c-typeck.c:4787 c-typeck.c:4803 c-typeck.c:4824 c-typeck.c:6262
+#: 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 "élément initialiseur n'est pas une constante"
+msgstr "un élément de l'initialisation n'est pas une constante"
-#: c-typeck.c:4819
+#: c-typeck.c:4832
msgid "initialization"
msgstr "initialisation"
-#: c-typeck.c:4830 c-typeck.c:6267
+#: c-typeck.c:4843 c-typeck.c:6242
msgid "initializer element is not computable at load time"
-msgstr "élément initialisateur n'est pas évaluable au moment du chargement"
+msgstr "un élément de l'initialisation n'est pas évaluable lors du chargement"
-#: c-typeck.c:4867 c-typeck.c:4883 cp/typeck2.c:613
+#: c-typeck.c:4858 cp/typeck2.c:605
msgid "invalid initializer"
-msgstr "initialiseur invalide"
+msgstr "initialisation invalide"
-#: c-typeck.c:5376
+#: c-typeck.c:5351
msgid "extra brace group at end of initializer"
-msgstr "groupe d'accolades superflu à la fin de l'initialiseur"
+msgstr "groupe d'accolades superflu à la fin de l'initialisation"
-#: c-typeck.c:5396
+#: c-typeck.c:5371
msgid "missing braces around initializer"
-msgstr "accolades manquantes autour de l'initialiseur"
+msgstr "accolades manquantes autour de l'initialisation"
-#: c-typeck.c:5456
+#: c-typeck.c:5431
msgid "braces around scalar initializer"
-msgstr "accolades autour de l'initialiseur scalaire"
+msgstr "accolades autour d'une initialisation de scalaire"
-#: c-typeck.c:5504
+#: c-typeck.c:5479
msgid "initialization of flexible array member in a nested context"
msgstr "initialisation d'un membre de tableau flexible dans un contexte imbriqué"
-#: c-typeck.c:5506
+#: c-typeck.c:5481
msgid "initialization of a flexible array member"
msgstr "initialisation d'un membre de tableau flexible"
-#: c-typeck.c:5537
+#: c-typeck.c:5512
msgid "missing initializer"
-msgstr "initialiseur manquant"
+msgstr "initialisation manquante"
-#: c-typeck.c:5563
+#: c-typeck.c:5538
msgid "empty scalar initializer"
-msgstr "initialiseur scalaire vide"
+msgstr "initialisation vide de scalaire"
-#: c-typeck.c:5568
+#: c-typeck.c:5543
msgid "extra elements in scalar initializer"
-msgstr "éléments superflus dans l'initialiseur scalaire"
+msgstr "éléments superflus dans l'initialisation de scalaire"
-#: c-typeck.c:5654
+#: c-typeck.c:5629
msgid "initialization designators may not nest"
-msgstr "initialisation des désignateurs ne doit pas être imbriquée"
+msgstr "l'initialisation des désignateurs ne doit pas être imbriquée"
-#: c-typeck.c:5675 c-typeck.c:5746
+#: c-typeck.c:5650 c-typeck.c:5721
msgid "array index in non-array initializer"
-msgstr "index de tableau dans un initialiseur qui n'est pas pour tableau"
+msgstr "index de tableau dans l'initialisation de quelque chose n'étant pas un tableau"
-#: c-typeck.c:5680 c-typeck.c:5798
+#: c-typeck.c:5655 c-typeck.c:5773
msgid "field name not in record or union initializer"
-msgstr "nom du champ n'est pas dans l'initialiseur de l'enregistrement ou de l'union"
+msgstr "nom de champ dans l'initialisation de quelque chose n'étant ni un enregistrement ni une union"
-#: c-typeck.c:5742 c-typeck.c:5744
+#: c-typeck.c:5717 c-typeck.c:5719
msgid "nonconstant array index in initializer"
-msgstr "index de tableau non constante dans l'initialiseur"
+msgstr "index de tableau non constant dans l'initialisation"
-#: c-typeck.c:5749
+#: c-typeck.c:5724
msgid "array index in initializer exceeds array bounds"
-msgstr "index de tableau dans l'initialiseur excèdes les bornes du tableau"
+msgstr "index de tableau hors limites lors de l'initialisation"
-#: c-typeck.c:5760
+#: c-typeck.c:5735
msgid "empty index range in initializer"
-msgstr "bornes vides d'index dans l'initialiseur"
+msgstr "borne d'index vide lors de l'initialisation"
-#: c-typeck.c:5769
+#: c-typeck.c:5744
msgid "array index range in initializer exceeds array bounds"
-msgstr "plage d'index du tableau dans l'initialiseur excède les bornes du tableau"
+msgstr "plage d'index du tableau excédant les bornes lors de l'initialisation"
-#: c-typeck.c:5810
+#: c-typeck.c:5785
#, c-format
msgid "unknown field `%s' specified in initializer"
-msgstr "champ inconnu « %s » spécifié dans l'initialisateur"
+msgstr "champ inconnu « %s » spécifié lors de l'initialisation"
-#: c-typeck.c:5847 c-typeck.c:5868 c-typeck.c:6330
+#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304
msgid "initialized field with side-effects overwritten"
-msgstr "champ initialisé avec effets de bord a été écrasé"
+msgstr "le champ initialisé par effet de bord a été écrasé"
-#: c-typeck.c:6540
+#: c-typeck.c:6514
msgid "excess elements in char array initializer"
-msgstr "éléments en excès dans l'initialisateur de tableau de caractères"
+msgstr "éléments en excès dans l'initialisation de tableau de caractères"
-#: c-typeck.c:6547 c-typeck.c:6593
+#: c-typeck.c:6521 c-typeck.c:6567
msgid "excess elements in struct initializer"
-msgstr "éléments en excès dans l'initialisateur de struct"
+msgstr "éléments en excès dans l'initialisation de la structure"
-#: c-typeck.c:6608
+#: c-typeck.c:6582
msgid "non-static initialization of a flexible array member"
msgstr "initialisation non statique d'un membre de tableau flexible"
-#: c-typeck.c:6670
+#: c-typeck.c:6644
msgid "excess elements in union initializer"
-msgstr "éléments en excès dans l'initialisateur d'union"
+msgstr "éléments en excès dans l'initialisation d'union"
-#: c-typeck.c:6691
+#: c-typeck.c:6665
msgid "traditional C rejects initialization of unions"
-msgstr "C traditionel rejette l'initialisation d'unions"
+msgstr "le C traditionel rejette l'initialisation d'union"
-#: c-typeck.c:6754
+#: c-typeck.c:6728
msgid "excess elements in array initializer"
msgstr "éléments en excès dans l'initialisation de tableau"
-#: c-typeck.c:6783
+#: c-typeck.c:6757
msgid "excess elements in vector initializer"
-msgstr "éléments en excès dans l'initialisateur du vecteur"
+msgstr "éléments en excès dans l'initialisation du vecteur"
-#: c-typeck.c:6805
+#: c-typeck.c:6779
msgid "excess elements in scalar initializer"
-msgstr "éléments en excès dans l'initialisateur de scalaire"
+msgstr "éléments en excès dans l'initialisation d'un scalaire"
-#: c-typeck.c:6916
+#: c-typeck.c:6886
msgid "asm template is not a string constant"
-msgstr "patron asm n'est pas une chaîne de constante"
+msgstr "le patron asm n'est pas une chaîne de constante"
-#: c-typeck.c:6948
+#: c-typeck.c:6918
msgid "invalid lvalue in asm statement"
-msgstr "lvalue invalide dans la déclaration asm"
+msgstr "membre gauche invalide avec asm"
-#: c-typeck.c:7019
+#: c-typeck.c:6993
msgid "modification by `asm'"
msgstr "modification par « asm »"
-#: c-typeck.c:7038 cp/typeck.c:6453
+#: c-typeck.c:7012 cp/typeck.c:6152
msgid "function declared `noreturn' has a `return' statement"
-msgstr "fonction déclarée avec « noreturn» a une déclaraion avec «return »"
+msgstr "fonction déclarée avec « noreturn» utilisant le mot-clé « return »"
-#: c-typeck.c:7045
+#: c-typeck.c:7019
msgid "`return' with no value, in function returning non-void"
-msgstr "« return » sans valeur, dans la fonction ne retournant pas un void"
+msgstr "« return » sans valeur dans une fonction retournant autre chose que void"
-#: c-typeck.c:7051
+#: c-typeck.c:7025
msgid "`return' with a value, in function returning void"
-msgstr "« return » avec une valeur, dans la fonction retournant un void"
+msgstr "« return » avec une valeur dans une fonction retournant un void"
-#: c-typeck.c:7055
+#: c-typeck.c:7029
msgid "return"
msgstr "return"
-#: c-typeck.c:7107
+#: c-typeck.c:7081
msgid "function returns address of local variable"
-msgstr "fonction retourne l'adresse d'une variable locale"
+msgstr "cette fonction retourne l'adresse d'une variable locale"
-#: c-typeck.c:7163 cp/semantics.c:529
+#: c-typeck.c:7137 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "quantité du switch n'est pas un entier"
-#: c-typeck.c:7173
+#: c-typeck.c:7147
msgid "`long' switch expression not converted to `int' in ISO C"
-msgstr "expression « long» du switch pas converti à «int » en ISO C"
+msgstr "expression « long » du switch non convertie en « int » par le C ISO"
-#: c-typeck.c:7208 cp/decl.c:5232
+#: c-typeck.c:7182 cp/decl.c:5173
msgid "case label not within a switch statement"
-msgstr "étiquette du 'case« n»est pas à l'intérieur de la déclaration du switch"
+msgstr "étiquette de « case » en dehors de tout switch"
-#: c-typeck.c:7210 cp/decl.c:5237
+#: c-typeck.c:7184 cp/decl.c:5178
msgid "`default' label not within a switch statement"
-msgstr "étiquette « default » n'est pas à l'intérieur de la déclaration du switch"
+msgstr "étiquette « default » en dehors de tout switch"
-#: calls.c:1902
+#: calls.c:1921
#, c-format
msgid "inlining failed in call to `%s'"
-msgstr "enlignage a échoué dans l'appel à « %s »"
+msgstr "l'enlignage de l'appel à « %s » a échoué"
-#: calls.c:1903 calls.c:2209
+#: calls.c:1922 calls.c:2228
msgid "called from here"
msgstr "appelé d'ici"
-#: calls.c:2208
+#: calls.c:2227
#, c-format
msgid "can't inline call to `%s'"
-msgstr "ne peut enligner l'appel de « %s »"
+msgstr "impossible d'enligner l'appel à « %s »"
-#: calls.c:2238
+#: calls.c:2257
msgid "function call has aggregate value"
-msgstr "appel de fonction a une valeur d'aggrégat"
+msgstr "l'appel de fonction a une valeur d'aggrégat"
-#: calls.c:4545
+# FIXME
+#: calls.c:4614
msgid "variable offset is passed partially in stack and in reg"
-msgstr "décalage de variable est passé partiellement dans la pile et dans le registre"
+msgstr "le décalage de variable est passé partiellement dans la pile et dans le registre"
-#: calls.c:4547
+#: calls.c:4616
msgid "variable size is passed partially in stack and in reg"
-msgstr "taille de la variable est passée partiellement dans la pile et le registre"
+msgstr "la taille de la variable est passée partiellement dans la pile et le registre"
+
+#: cfgloop.c:1106
+#, c-format
+msgid "Size of loop %d should be %d, not %d."
+msgstr "La taille de la boucle %d devrait être %d, et non %d."
+
+# FIXME
+#: cfgloop.c:1125
+#, c-format
+msgid "Bb %d do not belong to loop %d."
+msgstr "Bb %d n'appartient pas à la boucle %d."
+
+#: cfgloop.c:1143
+#, c-format
+msgid "Loop %d's header does not have exactly 2 entries."
+msgstr "L'en-tête de la boucle %d n'a pas exactement 2 entrées."
+
+#: 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 ""
-#: cfgrtl.c:1624
+#: cfgloop.c:1167
+#, c-format
+msgid "Loop %d's header does not belong directly to it."
+msgstr "L'entête de la boucle %d ne lui appartient pas directement."
+
+#: cfgrtl.c:1704
+#, c-format
+msgid "bb %d on wrong place"
+msgstr "bb %d au mauvais endroit"
+
+#: cfgrtl.c:1710
+#, c-format
+msgid "prev_bb of %d should be %d, not %d"
+msgstr "prev_bb de %d devrait être %d, pas %d"
+
+#: cfgrtl.c:1730
#, c-format
msgid "end insn %d for block %d not found in the insn stream"
msgstr "fin insn %d du bloc %d n'a pas été repéré dans le flot insn"
-#: cfgrtl.c:1638
+#: cfgrtl.c:1744
#, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr "insn %d est dans de multiples blocs de base (%d et %d)"
-#: cfgrtl.c:1650
+#: cfgrtl.c:1756
#, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr "en-tête insn %d du bloc %d n'a pas été repérée dans le flot insn"
-#: cfgrtl.c:1669
+#: cfgrtl.c:1778
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr "verify_flow_info: REG_BR_PROB ne correspond pas à la config %i %i"
+
+#: cfgrtl.c:1785
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr "verify_flow_info: Nombre de blocs erroné %i %i"
+
+#: cfgrtl.c:1791
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr "verify_flow_info: Fréquence de blocs erronée %i %i"
+
+#: cfgrtl.c:1799
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
-msgstr "verify_flow_info: bordure dupliquée %i->%i"
+msgstr "verify_flow_info: arrête dupliquée %i->%i"
+
+#: cfgrtl.c:1805
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr "verify_flow_info: probabilité de l'arrête %i->%i %i erronée"
-#: cfgrtl.c:1688
+#: cfgrtl.c:1811
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr "verify_flow_info: Mauvais nombre d'arrête %i->%i %i"
+
+#: cfgrtl.c:1841
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr "verify_flow_info: blocs incorrects pour le fallthru %i->%i"
-#: cfgrtl.c:1703
+#: cfgrtl.c:1856
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr "verify_flow_info: fallthru incorrect %i->%i"
-#: cfgrtl.c:1705
+#: cfgrtl.c:1858
msgid "wrong insn in the fallthru edge"
-msgstr "insn erronée dans la bordure fallthru"
+msgstr "insn erronée dans l'arrête fallthru"
-#: cfgrtl.c:1712
+#: cfgrtl.c:1865
#, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
-msgstr "verify_flow_info: bordure suivante du bloc de base %d est corrompue"
+msgstr "verify_flow_info: l'arrête succ du bloc de base %d est corrompue"
+
+#: cfgrtl.c:1881
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr "REG_EH_REGION note manquante à la fin du bb %i"
+
+#: cfgrtl.c:1889
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr "Trop d'arrêtes de branchement sortantes dans le bb %i"
+
+#: cfgrtl.c:1894
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr "Arrête fallthru après le branchement inconditionnel %i"
-#: cfgrtl.c:1736
+#: cfgrtl.c:1899
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr "Mauvais nombre d'arrêtes de branchement après le branchement inconditionnel %i"
+
+#: cfgrtl.c:1905
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "Mauvais nombre d'arrêtes de branchement après le branchement conditionnel %i"
+
+#: cfgrtl.c:1910
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr "Arrêtes d'appel pour un insn n'étant pas d'appel dans le bb %i"
+
+#: cfgrtl.c:1919
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr "Arrête anormale sans but dans le bb %i"
+
+#: cfgrtl.c:1934
#, c-format
msgid "missing barrier after block %i"
msgstr "barrière manquante après le boc %i"
-#: cfgrtl.c:1746
+#: cfgrtl.c:1944
#, c-format
msgid "basic block %d pred edge is corrupted"
-msgstr "bordure précédente du bloc de base %d est corrompue"
+msgstr "arrête pred du bloc de base %d corrompue"
-#: cfgrtl.c:1763
+#: cfgrtl.c:1961
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr "insn %d à l'intérieur du bloc de base %d mais block_for_insn est NULL"
-#: cfgrtl.c:1767
+#: cfgrtl.c:1965
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is %i"
-msgstr "insn %d à l'intérieur du bloc de base %d mais block_for_insn est %i"
+msgstr "insn %d à l'intérieur du bloc de base %d mais block_for_insn est %i"
-#: cfgrtl.c:1781 cfgrtl.c:1791
+#: cfgrtl.c:1979 cfgrtl.c:1989
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
-msgstr "NOTE_INSN_BASIC_BLOCK est manquant pour le bloc %d"
+msgstr "NOTE_INSN_BASIC_BLOCK manquant pour le bloc %d"
-#: cfgrtl.c:1804
+#: cfgrtl.c:2002
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
-msgstr "NOTE_INSN_BASIC_BLOCK %d dans le milieu du bloc de base %d"
+msgstr "NOTE_INSN_BASIC_BLOCK %d au milieu du bloc de base %d"
-#: cfgrtl.c:1816
+#: cfgrtl.c:2014
#, c-format
msgid "in basic block %d:"
-msgstr "dans le bloc de base %d:"
+msgstr "dans le bloc de base %d :"
-#: cfgrtl.c:1817
+#: cfgrtl.c:2015
msgid "flow control insn inside a basic block"
-msgstr "contrôle de flot insn à l'intérieur d'un bloc de base"
+msgstr "insn de contrôle de flot à l'intérieur d'un bloc de base"
-#: cfgrtl.c:1836
+#: cfgrtl.c:2034
#, c-format
msgid "basic block %i edge lists are corrupted"
-msgstr "listes des bordures du bloc de base %i sont corrompues"
+msgstr "les listes d'arrêtes du bloc de base %i sont corrompues"
-#: cfgrtl.c:1850
+#: cfgrtl.c:2049
msgid "basic blocks not numbered consecutively"
-msgstr "blocs de base ne sont pas numérotés consécutivement"
+msgstr "les blocs de base ne sont pas numérotés consécutivement"
-#: cfgrtl.c:1875
+#: cfgrtl.c:2074
msgid "insn outside basic block"
-msgstr "insn à l'extérieur du bloc de base"
+msgstr "insn à l'extérieur de tout bloc de base"
-#: cfgrtl.c:1883
+#: cfgrtl.c:2082
msgid "return not followed by barrier"
msgstr "return n'est pas suivi d'une barrière"
-#: cfgrtl.c:1888
+# FIXME
+# bb est une abréviation courante dans cette partie du fichier pour « basic block »
+#: cfgrtl.c:2087
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
-msgstr "nombre de notes bb dans la chaîne insn (%d) != n_basic_blocks (%d)"
+msgstr "nombre de bb noté dans la chaîne d'insn (%d) != n_basic_blocks (%d)"
-#: cfgrtl.c:1892
+#: cfgrtl.c:2091
msgid "verify_flow_info failed"
-msgstr "verify_flow_info failed"
+msgstr "verify_flow_info a échoué"
-#: collect2.c:439
+#: collect2.c:425
msgid "internal error"
msgstr "erreur interne"
-#: collect2.c:940
+#: collect2.c:934
msgid "no arguments"
msgstr "pas d'argument"
-#: collect2.c:1269 collect2.c:1417 collect2.c:1450
+# I18N
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
#, c-format
msgid "fopen %s"
msgstr "fopen() %s"
-#: collect2.c:1272 collect2.c:1422 collect2.c:1453
+# I18N
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
msgstr "fclose() %s"
-#: collect2.c:1281
+#: collect2.c:1275
#, c-format
msgid "collect2 version %s"
msgstr "collect2 version %s"
-#: collect2.c:1371
+#: collect2.c:1365
#, c-format
msgid "%d constructor(s) found\n"
-msgstr "%d constructeur(s) repéré(s)\n"
+msgstr "%d constructeur(s) trouvé(s)\n"
-#: collect2.c:1372
+#: collect2.c:1366
#, c-format
msgid "%d destructor(s) found\n"
-msgstr "%d destructeur(s) repéré(s)\n"
+msgstr "%d destructeur(s) trouvé(s)\n"
-#: collect2.c:1373
+#: collect2.c:1367
#, c-format
msgid "%d frame table(s) found\n"
-msgstr "%d table(s) de trame repéré(s)\n"
+msgstr "%d table(s) de trame trouvée(s)\n"
-#: collect2.c:1514
+#: collect2.c:1508
#, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s terminé par le signal %d [%s]%s"
-#: collect2.c:1533
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
-msgstr "%s a retourné %d comme valeur d'état "
+msgstr "%s a retourné %d comme valeur de sortie"
-#: collect2.c:1561
+#: collect2.c:1555
#, c-format
msgid "[cannot find %s]"
-msgstr "[ne peut repérer %s]"
+msgstr "[%s introuvable]"
-#: collect2.c:1576
+#: collect2.c:1570
#, c-format
msgid "cannot find `%s'"
-msgstr "ne peut repérer « %s »"
+msgstr "« %s » introuvable"
-#: collect2.c:1587 collect2.c:1590
+#: collect2.c:1581 collect2.c:1584
#, c-format
msgid "redirecting stdout: %s"
-msgstr "redirection de stdout: %s"
+msgstr "redirection de stdout : %s"
-#: collect2.c:1633
+# FIXME
+#: collect2.c:1627
#, c-format
msgid "[Leaving %s]\n"
msgstr "[Laissant %s]\n"
-#: collect2.c:1876
+#: collect2.c:1870
#, c-format
msgid ""
"\n"
"write_c_file - output name is %s, prefix is %s\n"
msgstr ""
"\n"
-"write_c_file - nom de sortie est %s, préfixe est %s\n"
+"write_c_file - le nom de sortie est %s, le préfixe est %s\n"
-#: collect2.c:2089
+#: collect2.c:2083
msgid "cannot find `nm'"
-msgstr "ne peut repérer « nm »"
+msgstr "« nm » introuvable"
-#: collect2.c:2099 collect2.c:2541
+# I18N
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
msgstr "pipe"
-#: collect2.c:2103 collect2.c:2545
+# I18N
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
msgstr "fdopen"
-#: collect2.c:2129 collect2.c:2571
+# I18N
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
msgstr "dup2 %d 1"
-#: collect2.c:2132 collect2.c:2135 collect2.c:2148 collect2.c:2574 collect2.c:2577 collect2.c:2590
+# I18N
+#: collect2.c:2126 collect2.c:2129 collect2.c:2142 collect2.c:2568
+#: collect2.c:2571 collect2.c:2584
#, c-format
msgid "close %d"
msgstr "close %d"
-#: collect2.c:2138
+# I18N
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr "execvp %s"
+msgid "execv %s"
+msgstr "execv %s"
-#: collect2.c:2192
+#: collect2.c:2186
#, c-format
msgid "init function found in object %s"
-msgstr "fonction init repérée dans l'objet %s"
+msgstr "fonction init trouvée dans l'objet %s"
-#: collect2.c:2200
+#: collect2.c:2194
#, c-format
msgid "fini function found in object %s"
-msgstr "fonction fini() repérée dans l'objet %s"
+msgstr "fonction fini() trouvée dans l'objet %s"
-#: collect2.c:2223 collect2.c:2629
+# I18N
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
msgstr "fclose"
-#: collect2.c:2268
+#: collect2.c:2262
#, c-format
msgid "unable to open file '%s'"
-msgstr "incapable d'ouvrir le fichier « %s »"
+msgstr "impossible d'ouvrir le fichier « %s »"
-#: collect2.c:2270
+#: collect2.c:2264
#, c-format
msgid "unable to stat file '%s'"
-msgstr "incapable d'évaluer par stat() le fichier « %s »"
+msgstr "impossible d'analyser le fichier « %s » avec stat()"
-#: collect2.c:2276
+#: collect2.c:2270
#, c-format
msgid "unable to mmap file '%s'"
-msgstr "incpable de projeter en mémoire (mmap) le fichier « %s »"
+msgstr "incpable de projeter en mémoire le fichier « %s » avec nmap()"
-#: collect2.c:2429
+#: collect2.c:2423
msgid "not found\n"
-msgstr "pas repéré\n"
+msgstr "introuvable\n"
-#: collect2.c:2431 collect2.c:2608
+#: collect2.c:2425 collect2.c:2602
#, c-format
msgid "dynamic dependency %s not found"
-msgstr "dépendance dynamique %s n'a pas été repéré"
+msgstr "dépendance dynamique %s introuvable"
-#: collect2.c:2451
+#: collect2.c:2445
#, c-format
msgid "bad magic number in file '%s'"
-msgstr "nombre magique erroné pour le fichier « %s »"
+msgstr "le nombre magique du fichier « %s » est erroné"
-#: collect2.c:2473
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
msgstr "dépendances dynamiques.\n"
-#: collect2.c:2532
+#: collect2.c:2526
msgid "cannot find `ldd'"
-msgstr "ne peut repérer « ldd »"
-
-#: collect2.c:2580
-#, c-format
-msgid "execv %s"
-msgstr "execv %s"
+msgstr "« ldd » introuvable"
-#: collect2.c:2593
+#: collect2.c:2587
msgid ""
"\n"
"ldd output with constructors/destructors.\n"
@@ -3581,76 +4011,80 @@ msgstr ""
"\n"
"sortie de ldd avec constructeurs/destructeurs.\n"
-#: collect2.c:2620
+#: collect2.c:2614
#, c-format
msgid "unable to open dynamic dependency '%s'"
-msgstr "incapable d'ouvrir une dépendance dynamique « %s »"
+msgstr "incapable d'ouvrir la dépendance dynamique « %s »"
-#: collect2.c:2734
+#: collect2.c:2728
#, c-format
msgid "%s: not a COFF file"
-msgstr "%s: n'est pas un fichier COFF"
+msgstr "%s : n'est pas un fichier COFF"
-#: collect2.c:2853
+#: collect2.c:2847
#, c-format
msgid "%s: cannot open as COFF file"
-msgstr "%s: ne peut ouvrir un fichier COFF"
+msgstr "%s : ne peut ouvrir en tant que fichier COFF"
-#: collect2.c:2909
+# I18N
+#: collect2.c:2903
#, c-format
msgid "library lib%s not found"
-msgstr "librarie lib%s n'a pas été trouvé"
+msgstr "bibliothèque lib%s introuvable"
-#: collect2.c:3038
+# I18N
+#: collect2.c:3030
#, c-format
msgid "open %s"
msgstr "open %s"
-#: collect2.c:3061
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
-msgstr "incompatibilités entre le fichier objet & les valeurs attendues"
+msgstr "incompatibilités entre le fichier objet et les valeurs attendues"
-#: collect2.c:3134
+#: collect2.c:3126
#, c-format
msgid ""
"\n"
"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
msgstr ""
"\n"
-"Table de symboles de traitement #%d, décalage = 0x%.8lx, sorte = %s\n"
+"Traitement de la table des symboles #%d, décalage = 0x%.8lx, sorte = %s\n"
-#: collect2.c:3143
+# FIXME
+#: collect2.c:3135
msgid "string section missing"
msgstr "chaîne de section manquante"
-#: collect2.c:3146
+#: collect2.c:3138
msgid "section pointer missing"
msgstr "pointeur de section manquant"
-#: collect2.c:3194
+#: collect2.c:3186
msgid "no symbol table found"
-msgstr "pas de table de symbole trouvée"
+msgstr "aucune table des symboles trouvée"
-#: collect2.c:3207
+#: collect2.c:3199
msgid "no cmd_strings found"
-msgstr "pas de cmd_strings trouvé"
+msgstr "aucun cmd_strings trouvé"
-#: collect2.c:3219
+#: collect2.c:3211
msgid ""
"\n"
"Updating header and load commands.\n"
"\n"
msgstr ""
"\n"
-"Mise à jour d'en-tête et chargement des commandes.\n"
+"Mise à jour des en-têtes et des commandes de chargement.\n"
"\n"
-#: collect2.c:3226
+# FIXME
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
-msgstr "charger la commande map, %d commandes, nouvelle taille %ld.\n"
+msgstr "Chargement de la carte des commandes, %d commandes, nouvelle taille %ld.\n"
-#: collect2.c:3257
+#: collect2.c:3249
msgid ""
"writing load commands.\n"
"\n"
@@ -3658,101 +4092,110 @@ msgstr ""
"écriture des commandes de chargement.\n"
"\n"
-#: collect2.c:3277
+# I18N
+#: collect2.c:3269
#, c-format
msgid "close %s"
msgstr "close %s"
-#: collect2.c:3351
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
-msgstr "ne peut convertir 0x%l.8x dans une région"
+msgstr "ne peut convertir 0x%l.8x en région"
-#: collect2.c:3355
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
msgstr "fonction %s, région %d, décalage = %ld (0x%.8lx)\n"
-#: collect2.c:3482
+#: collect2.c:3474
msgid "bad magic number"
msgstr "nombre magique erroné"
-#: collect2.c:3483
+#: collect2.c:3475
msgid "bad header version"
-msgstr "version d'en-tête erroné"
+msgstr "version d'en-tête erronée"
-#: collect2.c:3484
+# FIXME: ou version d'en-tête brut erronée
+#: collect2.c:3476
msgid "bad raw header version"
-msgstr "version brute d'en-tête erroné"
+msgstr "version brute d'en-tête erronée"
-#: collect2.c:3485
+# FIXME: ou tampon d'en-tête brut trop petit
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr "tampon brut d'en-tête trop petit"
-#: collect2.c:3486
+#: collect2.c:3478
msgid "old raw header file"
msgstr "ancien fichier d'en-tête brute"
-#: collect2.c:3487
+#: collect2.c:3479
msgid "unsupported version"
-msgstr "version non supportée"
+msgstr "version non reconnue"
-#: collect2.c:3489
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
-msgstr "mauvais {de,en}code_mach_o_hdr valeur retourné %d"
+msgstr "mauvaise valeur de retour (%d) de {de,en}code_mach_o_hdr"
-#: collect2.c:3509
+# I18N
+#: collect2.c:3501
#, c-format
msgid "fstat %s"
msgstr "fstat %s"
-#: collect2.c:3546 collect2.c:3594
+# I18N
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
msgstr "lseek %s 0"
-#: collect2.c:3550
+# I18N
+#: collect2.c:3542
#, c-format
msgid "read %s"
msgstr "read %s"
-#: collect2.c:3553
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr "lu %ld octets, attendu %ld, de %s"
-#: collect2.c:3574
+# I18N
+#: collect2.c:3566
#, c-format
msgid "msync %s"
msgstr "msync %s"
-#: collect2.c:3581
+# I18N
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
msgstr "munmap %s"
-#: collect2.c:3598
+# I18N
+#: collect2.c:3590
#, c-format
msgid "write %s"
msgstr "write %s"
-#: collect2.c:3601
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr "écrit %ld octets, attendu %ld, vers %s"
-#: combine.c:12769
+#: combine.c:12966
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
";; %d successes.\n"
"\n"
msgstr ""
-";; Statistiques combinées: %d tentatives, %d substitutions (%d requérant un nouvel espace),\n"
+";; Statistiques du combinateur : %d tentatives, %d substitutions (%d requérant un nouvel espace),\n"
";; %d succès.\n"
"\n"
-#: combine.c:12779
+#: combine.c:12976
#, c-format
msgid ""
"\n"
@@ -3760,1023 +4203,856 @@ msgid ""
";; %d successes.\n"
msgstr ""
"\n"
-";; Totaux combinés: %d tentatives, %d substitutions (%d requérant un nouvel espace),\n"
+";; Totaux du combinateur : %d tentatives, %d substitutions (%d requérant un nouvel espace),\n"
";; %d succès.\n"
"\n"
-#: convert.c:67
+#: convert.c:69
msgid "cannot convert to a pointer type"
msgstr "ne peut convertir en un type pointeur"
-#: convert.c:100
+#: convert.c:102
msgid "pointer value used where a floating point value was expected"
-msgstr "valeur du pointeur utilisé où une valeur flottante était attendue"
+msgstr "valeur de pointeur utilisée là où une valeur à virgule flottante était attendue"
-#: convert.c:104
+#: convert.c:106
msgid "aggregate value used where a float was expected"
-msgstr "valeur d'aggrégat utilisé où un flottant était attendu"
+msgstr "valeur d'aggrégat utilisée là où un flottant était attendu"
-#: convert.c:130
+#: convert.c:132
msgid "conversion to incomplete type"
msgstr "conversion vers un type incomplet"
-#: convert.c:390 convert.c:470
+#: convert.c:414 convert.c:494
msgid "can't convert between vector values of different size"
msgstr "ne peut convertir entre des valeurs de vecteurs de tailles différentes"
-#: convert.c:396
+#: convert.c:420
msgid "aggregate value used where an integer was expected"
-msgstr "valeur d'aggrégat utilisé où un entier était attendu"
+msgstr "valeur d'aggrégat utilisée là où un entier était attendu"
-#: convert.c:448 f/com.c:1073
+#: convert.c:472 f/com.c:1100
msgid "pointer value used where a complex was expected"
-msgstr "valeur de pointeur utilisé où un complexe était attendu"
+msgstr "valeur de pointeur utilisée là où un complexe était attendu"
-#: convert.c:452 f/com.c:1075
+#: convert.c:476 f/com.c:1102
msgid "aggregate value used where a complex was expected"
-msgstr "valeur d'aggrégat utilisé où un complexe était attendu"
+msgstr "valeur d'aggrégat utilisée là où un complexe était attendu"
-#: convert.c:476
+#: convert.c:500
msgid "can't convert value to a vector"
-msgstr "ne peut convertir une valeur en un vecteur"
+msgstr "ne peut convertir une valeur en vecteur"
-#: cpperror.c:125
+#: cpperror.c:113
+msgid "warning: "
+msgstr "attention : "
+
+#: cpperror.c:115
msgid "internal error: "
-msgstr "erreur interne: "
+msgstr "erreur interne : "
-#: cpperror.c:132 tradcpp.c:4690
-msgid "warning: "
-msgstr "AVERTISSEMENT: "
+#: cpperror.c:189
+msgid "stdout"
+msgstr "stdout"
-#: cpperror.c:209 cpperror.c:299 cppfiles.c:691 gcc.c:6307 tradcpp.c:4728
+#: cpperror.c:191 gcc.c:6444
#, c-format
msgid "%s: %s"
-msgstr "%s: %s"
+msgstr "%s : %s"
-#: cppexp.c:154
-msgid "floating point numbers are not valid in #if"
-msgstr "nombres flottants ne sont pas valides dans un #if"
+#: cppexp.c:199
+msgid "too many decimal points in number"
+msgstr "trop de points décimaux dans le nombre"
+
+#: cppexp.c:219
+#, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "chiffre « %c » invalide dans la constante en base 8"
-#: cppexp.c:176
-msgid "traditional C rejects the `U' suffix"
-msgstr "C traditionel rejette le suffixe « U »"
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
+msgstr "usage d'une constante hexadécimale constante à la C99"
-#: cppexp.c:179
-msgid "too many 'l' suffixes in integer constant"
-msgstr "trop de « l » en suffixe dans les constantes entières"
+#: cppexp.c:234
+msgid "exponent has no digits"
+msgstr "l'exposant n'a pas de chiffre"
-#: cppexp.c:183
-msgid "integer constant contains digits beyond the radix"
-msgstr "constante entière contient des chiffres en dehors la base numérique"
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
+msgstr "la contante hexadécimale flottante requière un exposant"
-#: cppexp.c:186
-msgid "integer constant out of range"
-msgstr "constante entière est hors gamme"
+#: cppexp.c:247
+#, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "suffixe « %.*s » invalide pour une constante flottante"
-#: cppexp.c:192
-msgid "integer constant is so large that it is unsigned"
-msgstr "constante entière est si grande qu'ell est non signée"
+#: cppexp.c:257 cppexp.c:282
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "le C traditionnel interdit le suffixe « %.*s »"
-#: cppexp.c:201
+#: cppexp.c:268
#, c-format
-msgid "invalid suffix '%.*s' on integer constant"
-msgstr "suffixe invalide '%.*s» pour une constante entière"
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "suffixe « %.*s » invalide pour une constante entière"
-#: cppexp.c:234
+#: cppexp.c:289
+msgid "use of C99 long long integer constant"
+msgstr "usage d'une constante entière « long long » à la C99"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
+msgstr "les constantes imaginaires sont une extension GCC"
+
+#: cppexp.c:383
+msgid "integer constant is too large for its type"
+msgstr "constante entière trop grande pour tenir dans son type"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
+msgstr "cette constante entière est si grande qu'elle ne peut être signée"
+
+#: cppexp.c:482
msgid "missing ')' after \"defined\""
-msgstr "« )» manquant après «defined »"
+msgstr "« ) » manquant après « defined »"
-#: cppexp.c:240
+#: cppexp.c:489
msgid "operator \"defined\" requires an identifier"
-msgstr "opérateur « defined » requiert un identificateur"
+msgstr "l'opérateur « defined » requiert un identificateur"
-#: cppexp.c:248
+#: cppexp.c:497
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
-msgstr "(« %s » est un jeton alternatif pour « %s » en C++)"
+msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)"
-#: cppexp.c:259
+#: cppexp.c:507
msgid "this use of \"defined\" may not be portable"
msgstr "cette utilisation de « defined » peut ne pas être portable"
-#: cppexp.c:307
-msgid "string constants are not valid in #if"
-msgstr "constantes de chaîne ne sont pas valides dasn un #if"
-
-#: cppexp.c:311
-#, c-format
-msgid "invalid character '%c' in #if"
-msgstr "caractère « %c » invalide dans le #if"
+#: cppexp.c:545
+msgid "floating constant in preprocessor expression"
+msgstr "constante flottante dans une expresion pour le préprocesseur"
-#: cppexp.c:313
-#, c-format
-msgid "invalid character '\\%03o' in #if"
-msgstr "caractère invalide '\\%03o» dans le #if"
+#: cppexp.c:551
+msgid "imaginary number in preprocessor expression"
+msgstr "constante complexe dans une expresion pour le préprocesseur"
-#: cppexp.c:330
+#: cppexp.c:596
#, c-format
msgid "ISO C++ does not permit \"%s\" in #if"
-msgstr "ISO C++ ne permet pas « %s » dans #if"
+msgstr "le C++ ISO n'autorise pas « %s » dans #if"
-#: cppexp.c:341
+#: cppexp.c:604
#, c-format
msgid "\"%s\" is not defined"
msgstr "« %s » n'est pas défini"
-#: cppexp.c:367
+#: cppexp.c:737 cppexp.c:772
#, c-format
-msgid "\"%s\" is not valid in #if expressions"
-msgstr "« %s » n'est pas valide des les expressions #if"
+msgid "missing binary operator before token \"%s\""
+msgstr "opérateur binaire manquant avant l'élément lexical « %s »"
-#: cppexp.c:382
-msgid "integer overflow in preprocessor expression"
-msgstr "débordement entier dans l'expresion du préprocesseur"
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
+msgstr "caractère « %c » invalide dans #if"
-#: cppexp.c:612
-msgid "missing binary operator"
-msgstr "opérateur binaire manquant"
+#: cppexp.c:758
+#, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "caractère « \\%03o » invalide dans #if"
+
+#: cppexp.c:763
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "l'élément lexical « %s » n'est pas valide dans les expressions pour le préprocesseur"
-#: cppexp.c:647
+#: cppexp.c:782
msgid "void expression between '(' and ')'"
-msgstr "expression void entre «(» et «)»"
+msgstr "expression void entre parenthèses"
-#: cppexp.c:649
+#: cppexp.c:785
+msgid "#if with no expression"
+msgstr "#if sans expression"
+
+#: cppexp.c:787
#, c-format
msgid "operator '%s' has no right operand"
msgstr "l'opérateur « %s » n'a pas d'opérande droite"
-#: cppexp.c:661
-#, c-format
-msgid "impossible operator '%s'"
-msgstr "opérateur impossible « %s »"
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr "« : » n'est pas précédé de « ? »"
-#: cppexp.c:737 tradcif.y:111 tradcif.y:122
-msgid "division by zero in #if"
-msgstr "division par zéro dans #if"
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
+msgstr "pile non balancée dans #if"
-#: cppexp.c:771
-msgid "comma operator in operand of #if"
-msgstr "opérateur virgule dans l'opérande #if"
+#: cppexp.c:862
+#, c-format
+msgid "impossible operator '%u'"
+msgstr "opérateur impossible « %u »"
-#: cppexp.c:776
-msgid "syntax error '?' without following ':'"
-msgstr "erreur de syntaxe «?» sans être suivi de «:»"
+#: cppexp.c:954
+msgid "missing ')' in expression"
+msgstr "« ) » manquante dans l'expresion"
-#: cppexp.c:779
-msgid "syntax error ':' without preceding '?'"
-msgstr "erreur de syntaxe «:» sans être précédé de «?»"
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr "« ? » n'est pas suivi de « : »"
-#: cppexp.c:787
-msgid "missing ')' in expression"
-msgstr "«)» manquante dans l'expresion"
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr "débordement d'entier dans l'expresion pour le préprocesseur"
-#: cppexp.c:794
+#: cppexp.c:990
msgid "missing '(' in expression"
-msgstr "«(» manquante dans l'expresion"
+msgstr "« ( » manquante dans l'expresion"
-#: cppexp.c:820
+#: cppexp.c:1026
#, c-format
-msgid "missing binary operator before '%s'"
-msgstr "opérateur binaire manquant avant « %s »"
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr "L'opérande gauche de « %s » change de signe lors de sa promotion"
-#: cppexp.c:826
+#: cppexp.c:1031
#, c-format
-msgid "operator '%s' has no left operand"
-msgstr "opérateur « %s » n'a pas d'opérande gauche"
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr "L'opérande droite de « %s » change de signe lors de sa promotion"
-#: cppexp.c:864
-msgid "unbalanced stack in #if"
-msgstr "pile non balancés dans le #if"
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr "opérateur virgule dans l'opérande de #if"
-#: cppexp.c:867
-msgid "#if with no expression"
-msgstr "#if sans expression"
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr "division par zéro dans #if"
-#: cppfiles.c:395
+#: cppfiles.c:411
#, c-format
msgid "%s is too large"
msgstr "%s est trop grand"
-#: cppfiles.c:426
+#: cppfiles.c:447
#, c-format
msgid "%s is shorter than expected"
-msgstr "%s est plus petit que prévue"
+msgstr "%s est plus petit que prévu"
-#: cppfiles.c:440
+# FIXME
+#: cppfiles.c:461
#, c-format
msgid "%s is a block device"
msgstr "%s est un périphérique de blocs"
-#: cppfiles.c:566
+#: cppfiles.c:594
#, c-format
msgid "no include path in which to find %s"
-msgstr "pas de chemin d'inclusion afin de retrouver %s"
+msgstr "aucun chemin d'inclusion ne permet de trouver %s"
-#: cppfiles.c:639
+# FIXME
+#: cppfiles.c:668
msgid "Multiple include guards may be useful for:\n"
msgstr "De multiples balises pour les inclusions peuvent être utiles pour:\n"
-#: cppfiles.c:1029
+#: cppfiles.c:1014
msgid "absolute file name in remap_filename"
msgstr "nom de fichier absolu dans remap_filename"
-#: cppinit.c:230
+#: cppinit.c:224
#, c-format
msgid "ignoring nonexistent directory \"%s\"\n"
-msgstr "répertoires « %s » inexistents sont ignorés\n"
+msgstr "le répertoire « %s » est ignoré car inexistant\n"
-#: cppinit.c:237
+#: cppinit.c:231
#, c-format
msgid "%s: Not a directory"
-msgstr "%s: n'est pas un répertoire"
+msgstr "%s : ce n'est pas un répertoire"
-#: cppinit.c:284
+#: cppinit.c:287
#, c-format
msgid "ignoring duplicate directory \"%s\"\n"
-msgstr "répertoires « %s » doubles sont ignorés\n"
+msgstr "le répertoire « %s » est ignoré car présent deux fois\n"
-#: cppinit.c:312
-#, c-format
-msgid "changing search order for system directory \"%s\""
-msgstr "modification de l'ordonnancement de recherche du répertoire système « %s »"
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
+msgstr " car il s'agit d'un répertoire non système dupliquant un répertoire système\n"
+
+#: cppinit.c:891
+msgid "cppchar_t must be an unsigned type"
+msgstr "cppchar_t doit être d'un type non signé"
-#: cppinit.c:316
+#: cppinit.c:895
#, c-format
-msgid " as it is the same as non-system directory \"%s\""
-msgstr " comme c'est le même qu'un répertoire non système « %s »"
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits"
-#: cppinit.c:320
-msgid " as it has already been specified as a non-system directory"
-msgstr " comme il a été déjà spécifié comme répertoire non système"
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr "l'arithmétique de CPP doit être au moins aussi précise que le type int de la cible"
-#: cppinit.c:936
+#: cppinit.c:904
+msgid "target char is less than 8 bits wide"
+msgstr "sur la cible, « char » fait moins de 8 bits"
+
+#: cppinit.c:908
+msgid "target wchar_t is narrower than target char"
+msgstr "sur la cible, « wchar_t » est plus petit que « char »"
+
+#: cppinit.c:912
+msgid "target int is narrower than target char"
+msgstr "sur la cible, « int » est plus petit que « char »"
+
+#: cppinit.c:916
+msgid "CPP half-integer narrower than CPP character"
+msgstr "les demi-entiers de CPP sont plus petit que les caractères de CPP"
+
+#: 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 "CPP sur cette machine ne peut gérer les caractères longs constants de plus de %lu bits, mais la cible requière %lu bits"
+
+#: cppinit.c:972
msgid "#include \"...\" search starts here:\n"
-msgstr "#include «...» la recherche débute ici:\n"
+msgstr "la recherche pour #include \"...\" débute ici :\n"
-#: cppinit.c:940
+#: cppinit.c:976
msgid "#include <...> search starts here:\n"
-msgstr "#include <...> la recherche débute ici:\n"
+msgstr "la recherche pour #include <...> débute ici:\n"
-#: cppinit.c:943
+#: cppinit.c:979
msgid "End of search list.\n"
msgstr "Fin de la liste de recherche.\n"
-#: cppinit.c:1010
+#: cppinit.c:1055
msgid "<built-in>"
msgstr "<interne>"
-#: cppinit.c:1012
+#: cppinit.c:1057
msgid "<command line>"
msgstr "<ligne de commande>"
-#: cppinit.c:1108 tradcpp.c:979 tradcpp.c:989 tradcpp.c:1080
-msgid "I/O error on output"
-msgstr "Erreur E/S sur la sortie"
-
#. 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:1156
-#, c-format
-msgid "argument missing after %s"
-msgstr "argument manquant après %s"
-
-#: cppinit.c:1157
+#: cppinit.c:1162
#, c-format
msgid "assertion missing after %s"
msgstr "assertion manquante après %s"
-#: cppinit.c:1158
+#: cppinit.c:1163
#, c-format
msgid "directory name missing after %s"
msgstr "nom de répertoire manquant après %s"
-#: cppinit.c:1159
+#: cppinit.c:1164
#, c-format
msgid "file name missing after %s"
msgstr "nom de fichier manquant après %s"
-#: cppinit.c:1160
+#: cppinit.c:1165
#, c-format
msgid "macro name missing after %s"
msgstr "nom de macro manquant après %s"
-#: cppinit.c:1161
+#: cppinit.c:1166
#, c-format
msgid "path name missing after %s"
msgstr "nom de chemin manquant après %s"
-#: cppinit.c:1162
-#, c-format
-msgid "number missing after %s"
-msgstr "nombre manquant après %s"
-
-#: cppinit.c:1163
-#, c-format
-msgid "target missing after %s"
-msgstr "cible manquante après %s"
-
-#: cppinit.c:1351
-#, c-format
-msgid "too many filenames. Type %s --help for usage info"
-msgstr "trop de noms de fichiers. Taper %s --help pour en connaître l'usage"
-
-#: cppinit.c:1541 tradcpp.c:610
-msgid "output filename specified twice"
-msgstr "nom de fichier de sortie spécifié deux fois"
-
-#: cppinit.c:1653
+#: cppinit.c:1368
msgid "-I- specified twice"
msgstr "-I- spécifié deux fois"
-#: cppinit.c:1794
-#, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP version %s (cpplib)"
-
-#: cppinit.c:1835 tradcpp.c:803
-msgid "you must additionally specify either -M or -MM"
-msgstr "vous devez en plus spécifier soit -M ou -MM"
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1896
-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 ""
-"Options:\n"
-" -include <fichier> inclure le contenu du <fichier> avant d'autres fichiers\n"
-" -imacros <fichier> accepter la définition de macros dans le <fichier>\n"
-" -iprefix <chemin> spécifier le <chemin> comme un préfixe aux prochaines deux options\n"
-" -iwithprefix <rép> ajouter le <rép>ertoire à la fin du chemin d'inclusion système\n"
-" -iwithprefixbefore <rép> ajouter le <rép>ertoire à la fin du chemin d'inclusion principal\n"
-" -isystem <rép> ajouter le <rép>ertoire au début du chemin d'inclusion système\n"
-
-#: cppinit.c:1905
-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 ""
-" -idirafter <rép> ajouter le <rép>ertoire à la fin du chemind'inclusion système\n"
-" -I <rép> ajouter le <rép>ertoire à la fin du chemind'inclusion principal\n"
-" -I- raffiner le contrôle du chemin d'inclusion; consulter la doc\n"
-" -nostdinc ne pas rechercher à travers les répertoires d'inclusion système\n"
-" (rép spécifiés avec -isystem seront encode utilisés)\n"
-" -nostdinc++ ne pas rechercher à travers les répertoires d'inclusion système pour C++\n"
-" -o <fichier> produire la sortie dans le <fichier>\n"
-
-#: cppinit.c:1914
-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 ""
-" -pedantic émettre tous les avertissements relatifs à la conformité stricte ISO C\n"
-" -pedantic-errors transformer les avertissements -pedantic en erreurs à la place\n"
-" -trigraphs supporter les trigraphes ISO C\n"
-" -lang-c assumer que les sources à l'entrée sont en C\n"
-" -lang-c89 assumer que les sources à l'entrée sont en C89\n"
-
-#: cppinit.c:1921
-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 ""
-" -lang-c++ assumer que les sources sont en C++\n"
-" -lang-objc assumer que les sources sont en ObjectiveC\n"
-" -lang-objc++ assumer que les sources sont en ObjectiveC++\n"
-" -lang-asm assumer que les sources sont en assembleur\n"
-
-#: cppinit.c:1927
-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 ""
-" -std=<standard> spécifier le <standard> de conformité à utiliser; soit:\n"
-" gnu89, gnu99, c89, c99, iso9899:1990,\n"
-" iso9899:199409, iso9899:1999\n"
-" -+ permettre l'analyse des options de style C++\n"
-" -w inhiber les messages d'avertissement\n"
-" -Wtrigraphs avertir si des trigraphes sont rencontrés\n"
-" -Wno-trigraphs ne pas avertir à propos des trigraphes\n"
-" -Wcomment{s} avertir si un commentaire débute à l'intérieur d'un autre\n"
-
-#: cppinit.c:1937
-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 ""
-" -Wno-comment{s} ne pas avertir à propos des commentaires\n"
-" -Wtraditional avertir à propos des options non présentes en C traditionnel\n"
-" -Wno-traditional ne pas avertir à propos du C traditionel\n"
-" -Wundef avertir à propos de macros indéfinies si utilisé dans un #if\n"
-" -Wno-undef ne pas avertir à propos de la vérification des macros indéfinies\n"
-" -Wimport avertir de l'utilisation de la directive #import\n"
-
-#: cppinit.c:1945
-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 ""
-" -Wno-import ne pas avertir à propos de l'utilisation de #import\n"
-" -Werror traiter tous les avertissements comme des erreurs\n"
-" -Wno-error ne pas traiter tous les avertissements comme des erreurs\n"
-" -Wsystem-headers ne pas supprimer les avertissements dans les en-têtes système\n"
-" -Wno-system-headers supprimer les avertissements dans les en-têtes système\n"
-" -Wall autoriser tous les avertissements du préprocesseur\n"
-
-#: cppinit.c:1953
-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 ""
-" -M générer les dépendances pour make\n"
-" -MM identique à -M, mais ignorer les en-têtes systèmes de fichiers\n"
-" -MD générer les dépendances pour make et compiler\n"
-" -MMD identique à -MD, mais ignorer les fichiers d'en-tête système\n"
-" -MF <fichier> écrire les dépendances dans le <fichier>\n"
-" -MG traiter les en-têtes de fichiers comme des fichiers générés\n"
-
-#: cppinit.c:1961
-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 ""
-" -MP\t\t\t générer des cibles factices pour toutes les en-têtes\n"
-" -MQ <target> ajouter une cible MAKE-quoted\n"
-" -MT <target> ajouter une cible non « quoted »\n"
-
-#: cppinit.c:1966
-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 ""
-" -D<macro> définir une <macro> avec la chaîne « 1 » pour valeur\n"
-" -D<macro>=<valeur> définir une <macro> de <valeur>\n"
-" -A<question>=(<réponse>) associer la <réponse> à la <question>\n"
-" -A-<question>=(<réponse>) dissocier la <réponse> à la <question>\n"
-" -U<macro> ne plus définir la <macro> \n"
-" -v afficher le numéro de version\n"
-
-#: cppinit.c:1974
-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 ""
-" -H afficher le nom des fichiers en-tête tel qu'utilisés\n"
-" -C ne pas mettre de côté les commantaires\n"
-" -dM afficher la liste des définitions de macro actives à la fin\n"
-" -dD préserver les définitions de macros à la sortie\n"
-" -dN identique à -dD sauf que seuls les noms sont préservés\n"
-" -dI inclure la directive #include à la sortie\n"
-
-#: cppinit.c:1982
-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 ""
-" -fpreprocessed traiter le fichier d'entrée comme étant déjà pré-traitée\n"
-" -ftabstop=<nombre> sélectionner la largeur de tabulation pour les rapports\n"
-" -P ne pas générer des directives #line\n"
-" -$ ne pas permettre «$» dans les identificateurs\n"
-" -remap refaire la table des noms de fichiers\n"
-" lors de l'inclusion de fichiers\n"
-" --version afficher le numéro de version\n"
-" -h or --help afficher l'aide mémoire\n"
-
-#: cpplex.c:154
+#: cpplex.c:149
#, c-format
msgid "trigraph ??%c converted to %c"
-msgstr "trigraphe ??%c converti à %c"
+msgstr "trigraphe ??%c converti en %c"
-#: cpplex.c:162
+#: cpplex.c:157
#, c-format
msgid "trigraph ??%c ignored"
msgstr "trigraphe ??%c ignoré"
-#: cpplex.c:218
+#: cpplex.c:214
msgid "backslash and newline separated by space"
-msgstr "barre oblique inverse et retour de chariot séparé par un blanc"
+msgstr "« \\ » et retour de chariot séparés par un blanc"
-#: cpplex.c:224
+#: cpplex.c:221 cpptrad.c:158
msgid "backslash-newline at end of file"
-msgstr "barre oblique inverse et retour de chariot à la fin du fichier"
+msgstr "« \\ » en fin de ligne à la fin du fichier"
-#: cpplex.c:290
+#: cpplex.c:287 cpptrad.c:199
msgid "\"/*\" within comment"
-msgstr "«/*» à l'intérieur du commentaire"
+msgstr "« /* » à l'intérieur d'un commentaire"
-#: cpplex.c:373
+# I18N
+#: cpplex.c:395
msgid "null character(s) ignored"
-msgstr "caractère null ignoré"
+msgstr "caractère(s) nul(s) ignoré(s)"
-#: cpplex.c:380
+#: cpplex.c:402
#, c-format
msgid "%s in preprocessing directive"
-msgstr "%s dans la directive de pré-traitement"
+msgstr "%s dans la directive du préprocesseur"
-#: cpplex.c:447
+# FIXME
+#: cpplex.c:475
#, c-format
msgid "attempt to use poisoned \"%s\""
-msgstr "tentative d'utilisation empoisonée de « %s »"
+msgstr "tentative d'utilisation d'un « %s » empoisonné"
-#: cpplex.c:455
+#: cpplex.c:483
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
-msgstr "« __VA_ARGS__ » peut seulement appraître dans l'expansion des macros C99 variadic"
+msgstr "« __VA_ARGS__ » peut seulement appraître dans l'expansion des macros C99 à nombre variable d'arguments"
-#: cpplex.c:508
-msgid "'$' character(s) in identifier"
-msgstr "caractère(s) «$» dans l'identificateur"
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
+msgstr "caractère(s) « $ » dans un identificateur ou un nombre"
-#: cpplex.c:589
+#: cpplex.c:698
#, c-format
msgid "missing terminating %c character"
msgstr "caractère %c de terminaison manquant"
-#: cpplex.c:594
-msgid "possible start of unterminated string literal"
-msgstr "début possible d'une chaîne de mot non terminée"
-
-#: cpplex.c:689
-msgid "multi-line string literals are deprecated"
-msgstr "chaîne de mots multi-lignes sont dépréciés"
-
-#: cpplex.c:712
+#: cpplex.c:711
msgid "null character(s) preserved in literal"
msgstr "caractère(s) nul préservé(s) dans la chaîne"
-#: cpplex.c:914
+#: cpplex.c:915 cpptrad.c:487
msgid "no newline at end of file"
-msgstr "pas de nouvelle ligne à la fin du fichier"
+msgstr "pas de retour chariot à la fin du fichier"
-#: cpplex.c:1034 tradcpp.c:1467
+#: cpplex.c:1092 cpptrad.c:213
msgid "unterminated comment"
msgstr "commentaire non terminé"
-#: cpplex.c:1045
-msgid "C++ style comments are not allowed in ISO C89"
-msgstr "Le style des commentaires en C++ n'est pas permis en ISO C89"
+#: cpplex.c:1103
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr "Les commentaires à la C++ ne sont pas permis en C89 ISO"
-#: cpplex.c:1047
+#: cpplex.c:1105
msgid "(this will be reported only once per input file)"
-msgstr "(ceci sera rapporté seulement une seule fois par fichier d'entrée)"
+msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"
-#: cpplex.c:1052
+#: cpplex.c:1110
msgid "multi-line comment"
msgstr "commentaire multi-lignes"
-#: cpplex.c:1367
+#: cpplex.c:1425
#, c-format
msgid "unknown string token %s\n"
-msgstr "jeton de chaîne inconnu %s\n"
+msgstr "élément lexical %s inconnu\n"
-#: cpplex.c:1379
+#: cpplex.c:1438
#, c-format
msgid "unspellable token %s"
-msgstr "jeton %s ne peut être épelé"
+msgstr "l'élément lexical %s ne peut être épelé"
-#: cpplex.c:1635
+#: cpplex.c:1695
#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
-msgstr "la signification de «\\%c» varie avec l'option -traditional"
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr "la signification de « \\%c » est différente en C traditionel"
-#: cpplex.c:1641
+# FIXME
+#: cpplex.c:1701
msgid "incomplete universal-character-name"
msgstr "nom-de-caractère-universel incomplet"
-#: cpplex.c:1655
+#: cpplex.c:1715
#, c-format
msgid "non-hex digit '%c' in universal-character-name"
-msgstr "chiffre « %c » n'est pas hexadécimal dans le nom-de-caractère-universel"
+msgstr "chiffre « %c » non hexadécimal dans le nom-de-caractère-universel"
-#: cpplex.c:1663
+#: cpplex.c:1723
msgid "universal-character-name on EBCDIC target"
msgstr "nom-de-caractère-universel pour une cible EBCDIC"
-#: cpplex.c:1677
+#: cpplex.c:1737
msgid "universal-character-name out of range"
msgstr "nom-de-caractère-universel est hors gamme"
-#: cpplex.c:1722
-msgid "the meaning of '\\a' varies with -traditional"
-msgstr "la signification de «\\a» varie avec l'option -traditional"
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr "la signification de « \\a » est différente en C traditionel"
-#: cpplex.c:1729
+#: cpplex.c:1798
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
-msgstr "séquence d'échappement n'est conforme au standard ISO, '\\%c'"
+msgstr "séquence d'échappement « \\%c » non conforme au standard ISO"
-#: cpplex.c:1739
-msgid "the meaning of '\\x' varies with -traditional"
-msgstr "la signification de «\\x» varie avec l'option -traditional"
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "la signification de « \\x » est différente en C traditionel"
-#: cpplex.c:1758 f/lex.c:620
+#: cpplex.c:1828 f/lex.c:585
msgid "\\x used with no following hex digits"
-msgstr "\\x utilisé sans être suivi des chiffres hexdécimaux"
+msgstr "\\x utilisé sans être suivi de chiffres en hexdécimal"
-#: cpplex.c:1762
+#: cpplex.c:1833
msgid "hex escape sequence out of range"
msgstr "séquence d'échappement hexadécimale hors gamme"
-#: cpplex.c:1786
+#: cpplex.c:1858
msgid "octal escape sequence out of range"
msgstr "séquence d'échappement octale hors gamme"
-#: cpplex.c:1801
+#: cpplex.c:1874
#, c-format
msgid "unknown escape sequence '\\%c'"
-msgstr "séquence d'échappement inconnue '\\%c'"
+msgstr "séquence d'échappement « \\%c » inconnue"
-#: cpplex.c:1803
+#: cpplex.c:1877
#, c-format
msgid "unknown escape sequence: '\\%03o'"
-msgstr "séquence d'échappement inconnue '\\%03o'"
+msgstr "séquence d'échappement « \\%03o » inconnue"
-#: cpplex.c:1807
-msgid "escape sequence out of range for character"
-msgstr "séquence d'échappement hors gamme pour le type caractère"
+#: cpplex.c:1882
+msgid "escape sequence out of range for its type"
+msgstr "séquence d'échappement hors gamme pour son type"
-#: cpplex.c:1904
+#: cpplex.c:1973
msgid "empty character constant"
msgstr "constante caractère vide"
-#: cpplex.c:1908
-msgid "character constant too long"
-msgstr "constante caractère trop longue"
+#: cpplex.c:1983
+msgid "character constant too long for its type"
+msgstr "constante caractère trop longue pour son type"
-#: cpplex.c:1911
+#: cpplex.c:1986
msgid "multi-character character constant"
msgstr "constante caractère multi-caractères"
-#: cpplib.c:228
+#: cpplib.c:225
#, c-format
msgid "extra tokens at end of #%s directive"
-msgstr "jetons superflus à la fin de la directive #%s"
+msgstr "éléments lexicaux superflus à la fin de la directive #%s"
-#: cpplib.c:281
+#: cpplib.c:315
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s est une extension GCC"
-#: cpplib.c:292
+#: cpplib.c:327
msgid "suggest not using #elif in traditional C"
-msgstr "suggéré de ne pas utiliser #elif en C traditionnel"
+msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"
-#: cpplib.c:295
+#: cpplib.c:330
#, c-format
msgid "traditional C ignores #%s with the # indented"
-msgstr "C traditionel ignore #%s avec le # d'indentation"
+msgstr "le C traditionel ignore la directive #%s si le caractère # est indenté"
-#: cpplib.c:299
+#: cpplib.c:334
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
-msgstr "suggéré de cacher #%s en C traditionel avec l'indentation #"
+msgstr "il est suggéré de cacher #%s au C traditionel en indentant le « # »"
-#: cpplib.c:333
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr "placer une directive dans les arguments d'une macro n'est pas portable"
+
+#: cpplib.c:378
msgid "style of line directive is a GCC extension"
-msgstr "style de ligne de directive est extension GCC"
+msgstr "la directive de style de ligne est extension GCC"
-#: cpplib.c:382
+#: cpplib.c:427
#, c-format
msgid "invalid preprocessing directive #%s"
-msgstr "directive de pré-traitement invalide #%s"
+msgstr "directive de pré-traitement #%s invalide"
-#: cpplib.c:437
-#, c-format
-msgid "no macro name given in #%s directive"
-msgstr "aucun nom de macro donné dans la directive #%s"
+#: cpplib.c:499
+msgid "\"defined\" cannot be used as a macro name"
+msgstr "« defined » ne peut être utilisé comme nom de macro"
-#: cpplib.c:441
+#: cpplib.c:505
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
-msgstr "« %s » ne peut être utilisé comme nom de macro alors que c,est un opérateur en C++"
-
-#: cpplib.c:444
-msgid "macro names must be identifiers"
-msgstr "noms de macro doivent être des identificateurs"
+msgstr "« %s » ne peut être utilisé comme nom de macro car c'est un opérateur en C++"
-#: cpplib.c:455
+#: cpplib.c:508
#, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr "« %s » ne peut être utilisé comme nom de macro"
+msgid "no macro name given in #%s directive"
+msgstr "aucun nom de macro donné dans la directive #%s"
+
+#: cpplib.c:511
+msgid "macro names must be identifiers"
+msgstr "les noms de macro doivent être des identificateurs"
-#: cpplib.c:493
+#: cpplib.c:551
#, c-format
msgid "undefining \"%s\""
msgstr "indéfinition de « %s »"
-#: cpplib.c:536
+#: cpplib.c:597
msgid "missing terminating > character"
-msgstr "caractère > de terminaison est manquant"
+msgstr "caractère > de terminaison manquant"
-#: cpplib.c:574
+#: cpplib.c:636
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
-msgstr "#%s attend « FILENAME » ou <FILENAME>"
+msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"
-#: cpplib.c:585
+#: cpplib.c:647
#, c-format
msgid "empty file name in #%s"
msgstr "nom de fichier vide dans #%s"
-#: cpplib.c:604
+#: cpplib.c:666
msgid "#include_next in primary source file"
msgstr "#include_next dans un fichier source primaire"
-#: cpplib.c:611
+#: cpplib.c:673
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
-msgstr "#import est obsolète, utiliser une enveloppe #ifndef dans le fichier d'en-tête"
+msgstr "#import est obsolète, enveloppez le avec #ifndef dans le fichier d'en-tête"
-#: cpplib.c:619
+#: cpplib.c:681
msgid "#include nested too deeply"
msgstr "#include imbriqué trop profondément"
-#: cpplib.c:677
+#: cpplib.c:738
#, c-format
msgid "invalid flag \"%s\" in line directive"
-msgstr "fanion « %s » invalide dans la ligne de directives"
+msgstr "fanion « %s » invalide dans la ligne de directive"
-#: cpplib.c:759
+#: cpplib.c:813
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "« %s » après #line n'est pas un nombre entier positif"
-#: cpplib.c:765
+#: cpplib.c:819
msgid "line number out of range"
msgstr "numéro de ligne hors gamme"
-#: cpplib.c:776 cpplib.c:847
+#: cpplib.c:830 cpplib.c:901
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "« %s » n'est pas un nom de fichier valide"
-#: cpplib.c:811
+#: cpplib.c:865
#, c-format
msgid "\"%s\" after # is not a positive integer"
-msgstr "\"%s\" après # n'est pas un nombre entier positif"
+msgstr "« %s » après # n'est pas un nombre entier positif"
-#: cpplib.c:916
+#: cpplib.c:972
msgid "invalid #ident directive"
msgstr "directive #ident invalide"
-#: cpplib.c:1004
+# FIXME
+#: cpplib.c:1060
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
-msgstr "enregistrement de \"%s\" à la fois comme pragma et pragma d'espace de noms"
+msgstr "enregistrement de \"%s\" à la fois comme une pragma un espace de nom de pragma"
-#: cpplib.c:1007
+#: cpplib.c:1063
#, c-format
msgid "#pragma %s %s is already registered"
-msgstr "#pragma %s %s est déjà enregistré"
+msgstr "la #pragma %s %s est déjà enregistrée"
-#: cpplib.c:1009
+#: cpplib.c:1066
#, c-format
msgid "#pragma %s is already registered"
-msgstr "#pragma %s est déjà enregistré"
+msgstr "la #pragma %s est déjà enregistrée"
-#: cpplib.c:1084
+# FIXME
+#: cpplib.c:1140
msgid "#pragma once is obsolete"
-msgstr "utilisation une seule fois de #pragma est obsolète"
+msgstr "utiliser #pragma une seule fois est obsolète"
-#: cpplib.c:1087
+# FIXME
+#: cpplib.c:1143
msgid "#pragma once in main file"
-msgstr "#pragma utilisé une fois dans le fichier principal"
+msgstr "#pragma utilisé une seule fois dans le fichier principal"
-#: cpplib.c:1111
+# FIXME
+#: cpplib.c:1167
msgid "invalid #pragma GCC poison directive"
-msgstr "#pragma GCC directive empoisonée invalide"
+msgstr "la directive empoisonée #pragma GCC est invalide"
-#: cpplib.c:1120
+# FIXME
+#: cpplib.c:1176
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "empoisonnement de la macro existente « %s »"
-#: cpplib.c:1140
+#: cpplib.c:1198
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorée en dehors du fichier d'inclusion"
-#: cpplib.c:1165
+#: cpplib.c:1223
#, c-format
msgid "cannot find source %s"
-msgstr "ne peut repérer le source %s"
+msgstr "impossible de trouver le source %s"
-#: cpplib.c:1169
+#: cpplib.c:1227
#, c-format
msgid "current file is older than %s"
msgstr "le fichier courant est plus vieux que %s"
-#: cpplib.c:1244
+#: cpplib.c:1343
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma prend une chaîne entourée de parenthèrese"
-#: cpplib.c:1343
+#: cpplib.c:1426
msgid "#else without #if"
msgstr "#else sans #if"
-#: cpplib.c:1348 tradcpp.c:3871
+#: cpplib.c:1431
msgid "#else after #else"
msgstr "#else après #else"
-#: cpplib.c:1350 cpplib.c:1384
+#: cpplib.c:1433 cpplib.c:1467
msgid "the conditional began here"
-msgstr "le conditionel débute ici"
+msgstr "la condition débute ici"
-#: cpplib.c:1377
+#: cpplib.c:1460
msgid "#elif without #if"
msgstr "#elif sans #if"
-#: cpplib.c:1382 tradcpp.c:3566
+#: cpplib.c:1465
msgid "#elif after #else"
msgstr "#elif après #else"
-#: cpplib.c:1413
+#: cpplib.c:1496
msgid "#endif without #if"
msgstr "#endif sans #if"
-#: cpplib.c:1496 tradcpp.c:3263
+#: cpplib.c:1579
msgid "missing '(' after predicate"
-msgstr "«(» manquante après le prédicat"
+msgstr "« ( » manquante après le prédicat"
-#: cpplib.c:1511 tradcpp.c:3277
+#: cpplib.c:1594
msgid "missing ')' to complete answer"
-msgstr "«)» manquante pour completer la réponse"
+msgstr "« ) » manquante pour completer la réponse"
-#: cpplib.c:1531 tradcpp.c:3283
+#: cpplib.c:1614
msgid "predicate's answer is empty"
msgstr "la réponse du prédicat est vide"
-#: cpplib.c:1561 tradcpp.c:3331
+#: cpplib.c:1644
msgid "assertion without predicate"
msgstr "assertion sans prédicat"
-#: cpplib.c:1563 tradcpp.c:3333
+#: cpplib.c:1646
msgid "predicate must be an identifier"
-msgstr "prédicat doit être un identificateur"
+msgstr "le prédicat doit être un identificateur"
-#: cpplib.c:1645 tradcpp.c:3430
+# FIXME
+#: cpplib.c:1735
#, c-format
msgid "\"%s\" re-asserted"
msgstr "« %s » re-asserti"
-#: cpplib.c:1875
+#: cpplib.c:1965
#, c-format
msgid "unterminated #%s"
msgstr "#%s non terminé"
-#: cppmacro.c:145
+#: cppmacro.c:94
+#, c-format
+msgid "macro \"%s\" is not used"
+msgstr "la macro « %s » n'est pas utilisée"
+
+#: cppmacro.c:139 cppmacro.c:294
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interne invalide « %s »"
-#: cppmacro.c:346
+#: cppmacro.c:234
+msgid "could not determine date and time"
+msgstr "ne peut déterminer la date et l'heure"
+
+#: cppmacro.c:407
msgid "invalid string literal, ignoring final '\\'"
-msgstr "chaîne invalide, «\\» final est ignoré"
+msgstr "chaîne invalide, « \\ » final ignoré"
-#: cppmacro.c:438
+#: cppmacro.c:504
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
-msgstr "collage de « %s » et de « %s » n'a pas donné des jetons valide de pré-traitement"
-
-#: cppmacro.c:564
-msgid "directives may not be used inside a macro argument"
-msgstr "directives ne peuvent être utilisées à l'intérieur d'un argument macro"
-
-#: cppmacro.c:576
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr "liste d'arguments non terminé invoquant la macro « %s »"
+msgstr "le collage de « %s » et de « %s » ne donne pas d'élément lexical de pré-traitement valide"
-#: cppmacro.c:593
+#: cppmacro.c:546
msgid "ISO C99 requires rest arguments to be used"
-msgstr "ISO C99 requiert que les arguments restants soient utilisés"
+msgstr "le C99 ISO requiert que tous les arguments soient utilisés"
-#: cppmacro.c:598
+#: cppmacro.c:551
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
-msgstr "macro « %s » requiert %u arguments, mais seulement %u ont été donnés"
+msgstr "macro « %s » requiert %u arguments, mais seulement %u ont été passés"
-#: cppmacro.c:609
+#: cppmacro.c:556
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
-msgstr "macro « %s » a passé %u arguments, mais seulement %u ont été pris"
+msgstr "la macro « %s » a reçu %u arguments, mais elle n'en prend que %u"
-#: cppmacro.c:692
+#: cppmacro.c:669 cpptrad.c:774
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "liste d'arguments non terminée invoquant la macro « %s »"
+
+#: cppmacro.c:776
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
-msgstr "macro « %s » identique à une fonction doit être utilisé avec des arguments en C traditionnel"
+msgstr "la macro « %s » ressemblant à une fonction doit utilisée avec des arguments en C traditionnel"
-#: cppmacro.c:1188
+#: cppmacro.c:1312
#, c-format
msgid "duplicate macro parameter \"%s\""
-msgstr "paramètre de macro en double « %s »"
+msgstr "paramètre de macro « %s » en double"
-#: cppmacro.c:1216
+#: cppmacro.c:1349
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
-msgstr "« %s » peut ne pas apparaître dans la liste des paramètres des macros"
+msgstr "« %s » peut ne pas apparaître parmi les paramètres de macros"
-#: cppmacro.c:1223
+#: cppmacro.c:1357
msgid "macro parameters must be comma-separated"
-msgstr "paramètres de macro doivent être séparés par des virgules"
+msgstr "les paramètres de macro doivent être séparés par des virgules"
-#: cppmacro.c:1240
+#: cppmacro.c:1374
msgid "parameter name missing"
msgstr "nom de paramètre manquant"
-#: cppmacro.c:1254
+#: cppmacro.c:1389
msgid "anonymous variadic macros were introduced in C99"
-msgstr "macros anonymes variables ont été introduites avec le C99"
+msgstr "les macros anonymes à nombre variable d'arguments ont été introduites avec le C99"
-#: cppmacro.c:1257
+#: cppmacro.c:1393
msgid "ISO C does not permit named variadic macros"
-msgstr "ISO C ne permet les macros variables nommées"
+msgstr "le C ISO ne permet pas les macros nommées à nombre variable d'arguments"
-#: cppmacro.c:1266
+#: cppmacro.c:1402
msgid "missing ')' in macro parameter list"
-msgstr "«)» manquante dans la liste des paramètres de macros"
+msgstr "« ) » manquante dans la liste des paramètres de macros"
-#: cppmacro.c:1344
+#: cppmacro.c:1470
msgid "ISO C requires whitespace after the macro name"
-msgstr "ISO C requiert des blancs après le nom de macro"
+msgstr "le C ISO requiert un blanc après le nom de la macro"
-#: cppmacro.c:1374
+#: cppmacro.c:1498
msgid "'#' is not followed by a macro parameter"
-msgstr "«#» n'est pas suivi d'un paramètre de macro"
+msgstr "« # » n'est pas suivi d'un paramètre de macro"
-#: cppmacro.c:1394
+# FIXME
+#: cppmacro.c:1517
msgid "'##' cannot appear at either end of a macro expansion"
-msgstr "«##» ne peut apparaître à chacune des fins de l'expansion de macros"
+msgstr "« ## » ne peut apparaître à chacune des fins de l'expansion de macros"
-#: cppmacro.c:1430
+#: cppmacro.c:1599
#, c-format
msgid "\"%s\" redefined"
msgstr "« %s » redéfini"
-#: cppmacro.c:1434
+#: cppmacro.c:1604
msgid "this is the location of the previous definition"
msgstr "ceci est la localisation d'une précédente définition"
-#: cppmacro.c:1498
+#: cppmacro.c:1655
#, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional"
-msgstr "argument macro « %s » devrait être déclaré de champ de chaîne avec -traditional."
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr "l'argument macro « %s » serait changé en chaine en C traditionnel"
-#: cppmacro.c:1522
+#: cppmacro.c:1680
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "type de hachage invalide %d dans cpp_macro_definition"
-
-#: cppmain.c:121
-#, c-format
-msgid "invalid option %s"
-msgstr "option invalide %s"
+msgstr "type de hachage %d invalide dans cpp_macro_definition"
#: cppspec.c:131
#, c-format
@@ -4787,247 +5063,259 @@ msgstr "« %s » n'est pas une option valide pour le préprocesseur"
msgid "too many input files"
msgstr "trop de fichiers d'entrée"
-#: cse.c:7112
+#: cpptrad.c:841
#, c-format
-msgid ";; Processing block from %d to %d, %d sets.\n"
-msgstr ";; traitement de blocs de %d à %d, %d initialisés.\n"
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "récursion détectée lors de l'expansion de la macro « %s »"
-#: diagnostic.c:784
+# FIXME: Initialisé, ou ensembles?
+#: cse.c:7187
#, c-format
-msgid "%s:%d: warning: "
-msgstr "%s:%d: AVERTISSEMENT: "
-
-#: diagnostic.c:791
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: AVERTISSEMENT: "
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ";; traitement du bloc de %d à %d, %d initialisés.\n"
-#: diagnostic.c:871
+#: diagnostic.c:700
msgid "((anonymous))"
msgstr "((anonyme))"
-#: diagnostic.c:941
+#: diagnostic.c:914
#, c-format
msgid "%s: warnings being treated as errors\n"
-msgstr "%s: avertissements ont été traités commes des erreurs\n"
+msgstr "%s : les avertissements sont traités commes des erreurs\n"
-#: diagnostic.c:978
+#: diagnostic.c:949
#, c-format
msgid "%s: %s: "
-msgstr "%s: %s: "
-
-#: diagnostic.c:1057
-msgid "sorry, not implemented: "
-msgstr "désolé, pas implanté: "
+msgstr "%s : %s : "
-#: diagnostic.c:1076
+# I18N
+#: diagnostic.c:1040
#, c-format
msgid "%s "
msgstr "%s "
-#: diagnostic.c:1078
+# I18N
+#: diagnostic.c:1042
#, c-format
msgid " %s"
msgstr " %s"
-#: diagnostic.c:1102
+#: diagnostic.c:1064
msgid "At top level:"
-msgstr "Au niveau supérieur:"
+msgstr "Hors de toute fonction :"
-#: diagnostic.c:1107
+#: diagnostic.c:1069
#, c-format
msgid "In member function `%s':"
-msgstr "Dans le membre de la fonction « %s »:"
+msgstr "Dans la fonction membre « %s » :"
-#: diagnostic.c:1111
+#: diagnostic.c:1073
#, c-format
msgid "In function `%s':"
msgstr "Dans la fonction « %s »:"
-#: diagnostic.c:1195
+#: diagnostic.c:1161
msgid "compilation terminated.\n"
-msgstr "compilation terminatée.\n"
+msgstr "compilation terminée.\n"
-#: diagnostic.c:1227
+#: diagnostic.c:1179
#, c-format
msgid "%s:%d: confused by earlier errors, bailing out\n"
-msgstr "%s:%d: rendu confus par les erreurs précédentes, abandon\n"
+msgstr "%s:%d: embrouillé par les erreurs précédentes, abandon\n"
-#: diagnostic.c:1242 diagnostic.c:1392
+#: diagnostic.c:1194 diagnostic.c:1302
#, c-format
msgid ""
"Please submit a full bug report,\n"
"with preprocessed source if appropriate.\n"
"See %s for instructions.\n"
msgstr ""
-"SVP soumettre un rapport complet d'anomalies,\n"
-"avec le source pré-traité si cela est approprié.\n"
-"Consulter %s pour les instructions.\n"
+"Veuillez soumettre un rapport complet d'anomalies,\n"
+"avec le source pré-traité si nécessaire.\n"
+"Consultez %s pour plus de détail.\n"
-#: diagnostic.c:1390
+# FIXME
+#: diagnostic.c:1300
msgid "Internal compiler error: Error reporting routines re-entered.\n"
-msgstr "erreur interne de compilateur: erreur pour rapporter une routine ré-entée\n"
+msgstr "erreur interne au compilateur : routine de rapport d'erreur préemptée.\n"
-#: diagnostic.c:1452
+#: diagnostic.c:1362
#, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "Erreur internal du compilateur dans %s, à %s:%d"
+msgid "in %s, at %s:%d"
+msgstr "dans %s, à %s:%d"
-#: diagnostic.c:1497
+# FRONT
+#: diagnostic.c:1383
#, c-format
msgid "In file included from %s:%d"
-msgstr "Dans le fichier inclus à partir de %s:%d"
+msgstr "Dans le fichier inclus depuis %s:%d"
-#: diagnostic.c:1500
+# I18N: This line should be indented with the previous entry
+#: diagnostic.c:1386
#, c-format
msgid ""
",\n"
" from %s:%d"
msgstr ""
",\n"
-" à partir de %s:%d"
+" depuis %s:%d"
-#: diagnostic.c:1501
+# I18N
+#: diagnostic.c:1387
msgid ":\n"
msgstr ":\n"
-#: diagnostic.c:1534 diagnostic.c:1551
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
msgid "`%s' is deprecated (declared at %s:%d)"
-msgstr "« %s » est déprécié (déclaré à %s:%d)"
+msgstr "« %s » est obsolète (déclaré à %s:%d)"
-#: diagnostic.c:1554
+#: diagnostic.c:1451
#, c-format
msgid "`%s' is deprecated"
-msgstr "« %s » est déprécié"
+msgstr "« %s » est obsolète"
-#: diagnostic.c:1557
+#: diagnostic.c:1454
#, c-format
msgid "type is deprecated (declared at %s:%d)"
-msgstr "type déprécié (déclaré à %s:%d)"
+msgstr "type est obsolète (déclaré à %s:%d)"
-#: diagnostic.c:1560
+#: diagnostic.c:1457
msgid "type is deprecated"
-msgstr "type déprécié"
+msgstr "type est obsolète"
+
+# FIXME
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
+msgstr "le dominateur de %d devrait être %d, et non %d"
-#: dwarf2out.c:3056
+#: dwarf2out.c:3124
#, c-format
msgid "DW_LOC_OP %s not implemented\n"
msgstr "DW_LOC_OP %s n'est pas implanté\n"
-#: dwarfout.c:2089
+#: dwarfout.c:2066
#, c-format
-msgid "internal regno botch: regno = %d\n"
-msgstr "regno interne mal fait: regno = %d\n"
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr "regno interne mal fait : « %s » a regno = %d\n"
-#: dwarfout.c:6291
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
+msgstr "le support du format de débogage DWARF1 est obsolète"
+
+#: dwarfout.c:6278
msgid "can't get current directory"
msgstr "ne peut repérer le répertoire courant"
-#: emit-rtl.c:1098
+#: emit-rtl.c:1151
msgid "can't access real part of complex value in hard register"
-msgstr "ne peut accéder la partie réelle d'une valeur complexe dans le registre matériel"
+msgstr "ne peut accéder à la partie réelle d'une valeur complexe dans un registre matériel"
-#: emit-rtl.c:1120
+#: emit-rtl.c:1173
msgid "can't access imaginary part of complex value in hard register"
-msgstr "ne peut accéder la partie imaginaire d'une valeur complexe dans le registre matériel"
+msgstr "ne peut accéder à la partie imaginaire d'une valeur complexe dans un registre matériel"
-#: emit-rtl.c:3271
+#: emit-rtl.c:3418
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
-msgstr "ICE: emit_insn utilisé où emit_jump_insn est attendu:\n"
+msgstr "ICE : emit_insn utilisé là où emit_jump_insn était attendu :\n"
#: errors.c:136
#, c-format
msgid "abort in %s, at %s:%d"
msgstr "abandon dans %s, à %s:%d"
-#: except.c:382
+#: except.c:371
msgid "exception handling disabled, use -fexceptions to enable"
-msgstr "traitement d'exceptions désactivé, utiliser -fexceptions pour l'activer"
+msgstr "traitement des exceptions désactivé, utiliser -fexceptions pour l'activer"
-#: except.c:3235
+#: except.c:2969
msgid "argument of `__builtin_eh_return_regno' must be constant"
-msgstr "argument de « __builtin_eh_return_regno » doit être une constante"
+msgstr "l'argument de « __builtin_eh_return_regno » doit être une constante"
-#: except.c:3346 except.c:3368
+#: except.c:3090 except.c:3112
msgid "__builtin_eh_return not supported on this target"
-msgstr "« __builtin_eh_return » n'est pas supportée sur cette cible"
+msgstr "« __builtin_eh_return » n'est pas possible sur cette cible"
-#: explow.c:1369
+# FIXME
+#: explow.c:1398
msgid "stack limits not supported on this target"
-msgstr "limites de pile ne sont pas supportées sur cette cible"
+msgstr "les limites de la pile ne sont pas supportées sur cette cible"
-#: expr.c:2948
+#: expr.c:3323
msgid "function using short complex types cannot be inline"
-msgstr "foncton utilsant un type complex short ne peut être en ligne"
+msgstr "un foncton utilisant un type « complex short » ne peut être en ligne"
-#: expr.c:5810 expr.c:5819 expr.c:5828 expr.c:5833 expr.c:6120 expr.c:6136
+# FRONT
+#: expr.c:6197 expr.c:6206 expr.c:6215 expr.c:6220 expr.c:6522 expr.c:6538
msgid "unsupported wide integer operation"
-msgstr "opération sur de large entier n'est pas supportée"
+msgstr "opération sur de large entier non supportée"
-#: expr.c:6185
+#: expr.c:6587
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr "taille du paramètre précédent dépend de « %s »"
-#: expr.c:6531
+#: expr.c:6932
msgid "returned value in block_exit_expr"
msgstr "valeur retournée dans block_exit_expr"
-#: final.c:1209
+#: final.c:1342
msgid "negative insn length"
msgstr "longueur négative insn"
-#: final.c:2628
+#: final.c:2793
msgid "could not split insn"
msgstr "n'a pu séparer insn"
-#: final.c:2976
+#: final.c:3141
msgid "invalid `asm': "
msgstr "« asm » invalide: "
-#: final.c:3160
+#: final.c:3328
msgid "nested assembly dialect alternatives"
msgstr "assemblage de dialectes alternatifs imbriqués"
-#: final.c:3177 final.c:3189
+#: final.c:3345 final.c:3357
msgid "unterminated assembly dialect alternative"
msgstr "assemblage de dialectes alternatifs non terminé"
-#: final.c:3233
+#: final.c:3401
#, c-format
msgid "operand number missing after %%-letter"
msgstr "numéro d'opérande manquant après %%-letter"
-#: final.c:3236 final.c:3275
+#: final.c:3404 final.c:3443
msgid "operand number out of range"
msgstr "nombre d'opérandes hors gamme"
-#: final.c:3294
+#: final.c:3462
#, c-format
msgid "invalid %%-code"
msgstr "%%-code est invalide"
-#: final.c:3325
+#: final.c:3493
#, c-format
msgid "`%%l' operand isn't a label"
msgstr "opérande «%%l» n'est pas une étiquette"
#. We can't handle floating point constants;
#. PRINT_OPERAND must handle them.
-#: final.c:3432 vmsdbgout.c:478 config/i386/i386.c:5315 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 "constante flottante mal utilisée"
-#: final.c:3488 vmsdbgout.c:535 config/i386/i386.c:5369 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 "expression invalide comme opérande"
-#: flow.c:354
+#: flow.c:352
msgid "function might be possible candidate for attribute `noreturn'"
msgstr "fonction peut être une possible candidate pour l'attribut « norreturn »"
-#: flow.c:359
+#: flow.c:357
msgid "`noreturn' function does return"
msgstr "fonction avec « noreturn » effectue des retour"
@@ -5035,82 +5323,82 @@ msgstr "fonction avec « noreturn » effectue des retour"
msgid "control reaches end of non-void function"
msgstr "contrôle a atteint la fin non void de la fonction"
-#: flow.c:1600
+#: flow.c:1641
msgid "Attempt to delete prologue/epilogue insn:"
msgstr "Tentative pour détruire le prologue/épilogue insn:"
-#: fold-const.c:3135 fold-const.c:3148
+#: fold-const.c:2545 fold-const.c:2558
#, c-format
msgid "comparison is always %d due to width of bit-field"
msgstr "comparaison est toujours %d en raison de la largeur du champ de bits"
-#: fold-const.c:4190 fold-const.c:4207
+#: fold-const.c:3752 fold-const.c:3769
#, c-format
msgid "comparison is always %d"
msgstr "comparaison est toujours %d"
-#: fold-const.c:4338
+#: fold-const.c:3900
msgid "`or' of unmatched not-equal tests is always 1"
msgstr "« or » de tests non pairé de non égalité est troujours 1"
-#: fold-const.c:4343
+#: fold-const.c:3905
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr "« and » de tests d'égalité mutuellement exclusifs est toujours 0"
-#: function.c:906 varasm.c:1530
+#: function.c:881 varasm.c:1503
#, c-format
msgid "size of variable `%s' is too large"
msgstr "taille de la variable « %s » est trop grande"
-#: function.c:5445
+#: function.c:5470
#, c-format
msgid "`%s' might be used uninitialized in this function"
msgstr "« %s » pourrait être utilisé sans être initialisé dans cette fonction"
-#: function.c:5452
+#: function.c:5477
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr "variable « %s » pourrait être maltraitée par un «longjmp» ou un «vfork »"
-#: function.c:5471
+#: function.c:5496
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr "argument « %s » pourrait être maltraitée par un «longjmp» ou un «vfork »"
-#: function.c:6337
+#: function.c:6363
msgid "function returns an aggregate"
msgstr "fonction retourne un aggrégat"
-#: function.c:6856
+#: function.c:6868
#, c-format
msgid "unused parameter `%s'"
msgstr "paramètre « %s » inutilisé"
-#: gcc.c:1102
+#: gcc.c:1126
#, c-format
msgid "ambiguous abbreviation %s"
msgstr "abréviation %s est ambiguë"
-#: gcc.c:1129
+#: gcc.c:1153
#, c-format
msgid "incomplete `%s' option"
msgstr "option « %s » est incomplète"
-#: gcc.c:1140
+#: gcc.c:1164
#, c-format
msgid "missing argument to `%s' option"
msgstr "argument manquant à l'option « %s »"
-#: gcc.c:1153
+#: gcc.c:1177
#, c-format
msgid "extraneous argument to `%s' option"
msgstr "argument superflu à l'option « %s »"
-#: gcc.c:1460
+#: gcc.c:1505
msgid "Using built-in specs.\n"
msgstr "Utilisation des specs internes.\n"
-#: gcc.c:1634
+#: gcc.c:1683
#, c-format
msgid ""
"Setting spec %s to '%s'\n"
@@ -5119,37 +5407,42 @@ msgstr ""
"Initialisation des spec %s à « %s »\n"
"\n"
-#: gcc.c:1732
+#: gcc.c:1790
#, c-format
msgid "Reading specs from %s\n"
msgstr "Lecture des spécification à partir de %s\n"
-#: gcc.c:1830 gcc.c:1849
+#: gcc.c:1888 gcc.c:1907
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr "syntaxe des specs %%include mal composée après %ld caractères"
-#: gcc.c:1857
+#: gcc.c:1915
#, c-format
msgid "could not find specs file %s\n"
msgstr "ne peut repérer le fichiers des specs %s\n"
-#: 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 "specs de la syntaxe %%rename mal composées après %ld caractères"
-#: gcc.c:1908
+#: gcc.c:1967
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr "specs de la spécification %s n'a pas été trouvé pour être renommer"
-#: gcc.c:1915
+#: gcc.c:1974
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr ""
+
+#: gcc.c:1979
#, c-format
msgid "rename spec %s to %s\n"
msgstr "renommé les specs %s à %s\n"
-#: gcc.c:1917
+#: gcc.c:1981
#, c-format
msgid ""
"spec is '%s'\n"
@@ -5158,25 +5451,25 @@ msgstr ""
"spec est « %s »\n"
"\n"
-#: gcc.c:1930
+#: gcc.c:1994
#, c-format
msgid "specs unknown %% command after %ld characters"
msgstr "specs inconnus de la commande %% après %ld caractères"
-#: gcc.c:1941 gcc.c:1954
+#: gcc.c:2005 gcc.c:2018
#, c-format
msgid "specs file malformed after %ld characters"
msgstr "fichier de specs mal composé après %ld caractères"
-#: gcc.c:2008
+#: gcc.c:2072
msgid "spec file has no spec for linking"
msgstr "fichier de specs n'a pas de spécification pour l'édition de liens"
-#: gcc.c:2720
+#: gcc.c:2570
msgid "-pipe not supported"
msgstr "-pipe n'est pas supporté"
-#: gcc.c:2774
+#: gcc.c:2625
msgid ""
"\n"
"Go ahead? (y or n) "
@@ -5184,7 +5477,7 @@ msgstr ""
"\n"
"Aller de l'avant? (y ou n) "
-#: gcc.c:2873
+#: gcc.c:2751
#, c-format
msgid ""
"Internal error: %s (program %s)\n"
@@ -5195,149 +5488,155 @@ msgstr ""
"SVP soumettre un rapport complet d'anomalies.\n"
"Consulter %s pour les instructions."
-#: gcc.c:2891
+#: gcc.c:2769
#, c-format
msgid "# %s %.2f %.2f\n"
msgstr "# %s %.2f %.2f\n"
-#: gcc.c:3024
+#: gcc.c:2899
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "Usage: %s [options] fichier...\n"
-#: gcc.c:3025
+#: gcc.c:2900
msgid "Options:\n"
msgstr "Options:\n"
-#: gcc.c:3027
+#: gcc.c:2902
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
msgstr " -pass-exit-codes quitter avec le plus grand code d'erreur de la phase\n"
-#: gcc.c:3028
+#: gcc.c:2903
msgid " --help Display this information\n"
msgstr " --help afficher l'aide mémoire\n"
-#: gcc.c:3029
+#: gcc.c:2904
msgid " --target-help Display target specific command line options\n"
msgstr " --target-help afficher les options spécifiques de la ligne de commande\n"
-#: gcc.c:3031
+#: gcc.c:2906
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
msgstr " (Utiliser «-v --help» pour afficher les options de la ligne de commande des sous-processus)\n"
-#: gcc.c:3032
+#: gcc.c:2907
msgid " -dumpspecs Display all of the built in spec strings\n"
msgstr " -dumpspecs afficher tous les construits des chaînes de specs\n"
-#: gcc.c:3033
+#: gcc.c:2908
msgid " -dumpversion Display the version of the compiler\n"
msgstr " -dumpversion afficher la version du compilateur\n"
-#: gcc.c:3034
+#: gcc.c:2909
msgid " -dumpmachine Display the compiler's target processor\n"
msgstr " -dumpmachine afficher le processeur ciblé par le compilateur\n"
-#: gcc.c:3035
+#: gcc.c:2910
msgid " -print-search-dirs Display the directories in the compiler's search path\n"
msgstr " -print-search-dirs afficher les répertoires du chemin de recherche du compiltateur\n"
-#: gcc.c:3036
+#: gcc.c:2911
msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
-msgstr " -print-libgcc-file-name afficher le nom de la librairie compagne du compilateur\n"
+msgstr " -print-libgcc-file-name afficher le nom de la bibliothèque compagne du compilateur\n"
-#: gcc.c:3037
+#: gcc.c:2912
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
-msgstr " -print-file-name=<lib> afficher le chemin d'accès complet vers la librairie <lib>\n"
+msgstr " -print-file-name=<lib> afficher le chemin d'accès complet vers la bibliothèque <lib>\n"
-#: gcc.c:3038
+#: gcc.c:2913
msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
msgstr " -print-prog-name=<prog> afficher le chemin d'accès complet vers le composant du compilateur <prog>\n"
-#: gcc.c:3039
+#: gcc.c:2914
msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
msgstr " -print-multi-directory afficher la racine du répertoire des version libgcc\n"
-#: gcc.c:3040
+#: gcc.c:2915
msgid ""
" -print-multi-lib Display the mapping between command line options and\n"
" multiple library search directories\n"
msgstr ""
-" -print-multi-lib afficher la table de projection entre les options de la ligne de commande\n"
-" les multiples répertoires de recherches des librairies\n"
+" -print-multi-lib Afficher la table de projection entre les options de\n"
+" la ligne de commande et les multiples répertoires de\n"
+" recherches des bibliothèques\n"
+
+#: gcc.c:2918
+#, fuzzy
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-directory afficher la racine du répertoire des version libgcc\n"
-#: gcc.c:3043
+#: gcc.c:2919
msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
msgstr " -Wa,<options> passer les <options> séparées par des virgules à l'assembleur\n"
-#: gcc.c:3044
+#: gcc.c:2920
msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
msgstr " -Wp,<options> passer les <options> séparées par des virgules au préprocesseur\n"
-#: gcc.c:3045
+#: gcc.c:2921
msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
msgstr " -Wl,<options> passer les <options> séparées par des virgules à l'éditeur de liens\n"
-#: gcc.c:3046
+#: gcc.c:2922
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
msgstr " -Xlinker <argument> passer l'<argument> à l'éditeur de liens\n"
-#: gcc.c:3047
+#: gcc.c:2923
msgid " -save-temps Do not delete intermediate files\n"
msgstr " -save-temps ne pas détruire les fichiers intermédiaires\n"
-#: gcc.c:3048
+#: gcc.c:2924
msgid " -pipe Use pipes rather than intermediate files\n"
msgstr " -pipe utiliser des pipes au lieu de fichiers intermédiares\n"
-#: gcc.c:3049
+#: gcc.c:2925
msgid " -time Time the execution of each subprocess\n"
msgstr " -time mesurer le temps d'exécution de chaque sous-processus\n"
-#: gcc.c:3050
+#: gcc.c:2926
msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
msgstr " -specs=<fichier> écraser les specs internes à l'aide du contenu du <fichier>\n"
-#: gcc.c:3051
+#: gcc.c:2927
msgid " -std=<standard> Assume that the input sources are for <standard>\n"
-msgstr " -std=<standard> assumer que les fichiers sources respectent le <standard>\n"
+msgstr " -std=<standard> Présumer que les fichiers sources respectent le <standard>\n"
-#: gcc.c:3052
+#: gcc.c:2928
msgid " -B <directory> Add <directory> to the compiler's search paths\n"
msgstr " -B <répertoire> ajouter le <répertoire> aux chemins de recherche du compilateur\n"
-#: gcc.c:3053
+#: gcc.c:2929
msgid " -b <machine> Run gcc for target <machine>, if installed\n"
msgstr " -b <machine> exécuter gcc pour la <machine> cible, si installé\n"
-#: gcc.c:3054
+#: gcc.c:2930
msgid " -V <version> Run gcc version number <version>, if installed\n"
msgstr " -V <version> exécuter le numéro de <version> de gcc, si installée\n"
-#: gcc.c:3055
+#: gcc.c:2931
msgid " -v Display the programs invoked by the compiler\n"
msgstr " -v afficher les programmes invoqués par le compilateur\n"
-#: gcc.c:3056
+#: gcc.c:2932
msgid " -### Like -v but options quoted and commands not executed\n"
msgstr " -### identique à -v mais les options et les commandes entre guillemets ne sont pas exécutées\n"
-#: gcc.c:3057
+#: gcc.c:2933
msgid " -E Preprocess only; do not compile, assemble or link\n"
msgstr " -E pré-traiter seulement; ne pas compiler, assembler ou éditer les liens\n"
-#: gcc.c:3058
+#: gcc.c:2934
msgid " -S Compile only; do not assemble or link\n"
msgstr " -S compiler seulement; ne pas assembler ou éditer les liens\n"
-#: gcc.c:3059
+#: gcc.c:2935
msgid " -c Compile and assemble, but do not link\n"
msgstr " -S compiler et assembler, mais ne pas éditer les liens\n"
-#: gcc.c:3060
+#: gcc.c:2936
msgid " -o <file> Place the output into <file>\n"
msgstr " -o <fichier> placer la sortie dans le <fichier>\n"
-#: gcc.c:3061
+#: gcc.c:2937
msgid ""
" -x <language> Specify the language of the following input files\n"
" Permissable languages include: c c++ assembler none\n"
@@ -5349,7 +5648,7 @@ msgstr ""
" « none » signifiant d'utiliser le comportement par défaut\n"
" en tentant d'identifier le langage par l'extension du fichier\n"
-#: gcc.c:3068
+#: gcc.c:2944
#, c-format
msgid ""
"\n"
@@ -5362,17 +5661,27 @@ msgstr ""
" passés aux divers sous-processus invoqués par %s. Afin de passer\n"
" les autres options à ces processus l'option -W<lettre> doit être utilisé.\n"
+#: gcc.c:3079
+#, c-format
+msgid "`-%c' option must have argument"
+msgstr "l'option « -%c » requière un argument"
+
+#: gcc.c:3101
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr "impossible d'exécuter « %s » : %s"
+
#. translate_options () has turned --version into -fversion.
-#: gcc.c:3348
+#: gcc.c:3278
#, c-format
msgid "%s (GCC) %s\n"
msgstr "%s (GCC) %s\n"
-#: gcc.c:3349
+#: gcc.c:3279
msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
msgstr "Copyright © 2002 Free Software Foundation, Inc.\n"
-#: gcc.c:3351 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"
@@ -5382,69 +5691,62 @@ msgstr ""
"GARANTIE; ni implicite pour le MARCHANDAGE ou pour un BUT PARTICULIER.\n"
"\n"
-#: gcc.c:3450
+#: gcc.c:3382
msgid "argument to `-Xlinker' is missing"
msgstr "argument de «-Xlinker» est manquant"
-#: gcc.c:3458
+#: gcc.c:3390
msgid "argument to `-l' is missing"
msgstr "argument pour «-l» est manquant"
-#: gcc.c:3475
+#: gcc.c:3407
msgid "argument to `-specs' is missing"
msgstr "argument de «-specs» est manquant"
-#: gcc.c:3490
+#: gcc.c:3422
msgid "argument to `-specs=' is missing"
msgstr "argument de «-specs=» est manquant"
-#: gcc.c:3521
-msgid "argument to `-b' is missing"
-msgstr "argument de «-b» est manquant"
+#: gcc.c:3452
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr ""
-#: gcc.c:3536
+#: gcc.c:3461
msgid "argument to `-B' is missing"
msgstr "argument de «-B» est manquant"
-#: gcc.c:3606
-msgid "argument to `-V' is missing"
-msgstr "argument de «-V» est manquant"
-
-#: gcc.c:3627 gcc.c:3634 gcc.c:3641
-msgid "invalid version number format"
-msgstr "format de numéro de verson invalide"
-
-#: gcc.c:3752
+#: gcc.c:3634
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr "ne peut spécifier -o avec -c ou -S et de multiples compilations"
-#: gcc.c:3923
+#: gcc.c:3807
msgid "warning: -pipe ignored because -save-temps specified"
msgstr "AVERTISSEMENT: -pipe ignoré parce que -save-temps a été spécifié"
-#: gcc.c:3927
+#: gcc.c:3811
msgid "warning: -pipe ignored because -time specified"
msgstr "AVERTISSEMENT: -pipe ignoré parce que -time a été spécifié"
-#: gcc.c:3939
+#: gcc.c:3823
msgid "argument to `-x' is missing"
msgstr "argument pour «-x» est manquant"
-#: gcc.c:3967
+#: gcc.c:3851
#, c-format
msgid "argument to `-%s' is missing"
msgstr "argument pour «-%s» est manquant"
-#: gcc.c:4028
+#: gcc.c:3912
#, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr "AVERTISSEMENT: «-x %s» après le dernier fichier d'entrée n'a pas d'effet"
-#: gcc.c:4327
+#: gcc.c:4257
msgid "invalid specification! Bug in cc"
msgstr "spécification invalide! Bug dans cc."
-#: gcc.c:4476
+#: gcc.c:4411
#, c-format
msgid "%s\n"
msgstr "%s\n"
@@ -5452,51 +5754,76 @@ msgstr "%s\n"
#. 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:5029
+#: gcc.c:4971
#, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
-msgstr "échec du spec: «%%*» n'a pas été initialisé par concordance du patron"
+msgstr "échec du spec: « %%* » n'a pas été initialisé par concordance du patron"
-#: gcc.c:5038
+#: gcc.c:4980
#, c-format
msgid "warning: use of obsolete %%[ operator in specs"
msgstr "AVERTISSEMENT: utilisation obsolète de l'opérateur %%[ dans les specs"
-#: gcc.c:5056
+#: gcc.c:4998
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr "Traitement du spec %c%s%c, lequel est « %s »\n"
-#: gcc.c:5181
+#: gcc.c:5123
#, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr "échec de spec: option « %c » de spec non reconnue"
-#: gcc.c:5291
+#: gcc.c:5204
+#, fuzzy, c-format
+msgid "unknown spec function `%s'"
+msgstr "Dans la fonction « %s »:"
+
+#: gcc.c:5223
+#, fuzzy, c-format
+msgid "error in args to spec function `%s'"
+msgstr "trop d'arguments pour la fonction « %s »"
+
+#: gcc.c:5272
+#, fuzzy
+msgid "malformed spec function name"
+msgstr "le transtypage spécifie le type de fonction"
+
+#. )
+#: gcc.c:5275
+#, fuzzy
+msgid "no arguments for spec function"
+msgstr "trop peu d'arguments pour la fonction"
+
+#: gcc.c:5294
+msgid "malformed spec function arguments"
+msgstr ""
+
+#: gcc.c:5402
msgid "mismatched braces in specs"
msgstr "accolades non concordantes dans les specs"
-#: gcc.c:5969
+#: gcc.c:6097
#, c-format
msgid "unrecognized option `-%s'"
msgstr "option «-%s» non reconnue"
-#: gcc.c:5975
+#: gcc.c:6103
#, c-format
msgid "install: %s%s\n"
msgstr "installés: %s%s\n"
-#: gcc.c:5976
+#: gcc.c:6104
#, c-format
msgid "programs: %s\n"
msgstr "programmes: %s\n"
-#: gcc.c:5977
+#: gcc.c:6105
#, c-format
msgid "libraries: %s\n"
msgstr "libraries: %s\n"
-#: gcc.c:6025
+#: gcc.c:6162
msgid ""
"\n"
"For bug reporting instructions, please see:\n"
@@ -5504,54 +5831,54 @@ msgstr ""
"\n"
"Pour les instructons afin de rapporter des anomales, SVP consulter:\n"
-#: gcc.c:6041
+#: gcc.c:6178
#, c-format
msgid "Configured with: %s\n"
msgstr "Configuré avec: %s\n"
-#: gcc.c:6055
+#: gcc.c:6192
#, c-format
msgid "Thread model: %s\n"
msgstr "Modèle de thread: %s\n"
-#: gcc.c:6066
+#: gcc.c:6203
#, c-format
msgid "gcc version %s\n"
msgstr "version gcc %s\n"
-#: gcc.c:6068
+#: gcc.c:6205
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
msgstr "version du pilote gcc %s exécutant le version %s de gcc\n"
-#: gcc.c:6076
+#: gcc.c:6213
msgid "no input files"
msgstr "pas de fichier à l'entrée"
-#: gcc.c:6114
+#: gcc.c:6251
#, c-format
msgid "%s: %s compiler not installed on this system"
msgstr "%s: %s compilateur n'est pas installé sur ce système"
-#: gcc.c:6189
+#: gcc.c:6326
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr "%s: fichier d'entrée d'édition de liens n'est pas utilisé parce l'édition de lien n'a pas été faite"
-#: gcc.c:6232
+#: gcc.c:6369
#, c-format
msgid "language %s not recognized"
msgstr "language %s n'est pas reconnu"
-#: gcc.c:6335
+#: gcc.c:6472
msgid "internal gcc abort"
msgstr "abandon interne de gcc"
-#: gcov.c:282
+#: gcov.c:325
msgid "Internal gcov abort.\n"
msgstr "Abandon interne de gcov.\n"
-#: gcov.c:295
+#: gcov.c:338
msgid ""
"Usage: gcov [OPTION]... SOURCEFILE\n"
"\n"
@@ -5559,7 +5886,7 @@ msgstr ""
"Usage: gcov [OPTION]... FICHIER-SOURCE\n"
"\n"
-#: gcov.c:296
+#: gcov.c:339
msgid ""
"Print code coverage information.\n"
"\n"
@@ -5567,19 +5894,19 @@ msgstr ""
"Produire les informations de la couverture du code.\n"
"\n"
-#: gcov.c:297
+#: gcov.c:340
msgid " -h, --help Print this help, then exit\n"
msgstr " -h, --help afficher l'aide mémoire\n"
-#: gcov.c:298
+#: gcov.c:341
msgid " -v, --version Print version number, then exit\n"
msgstr " -v, --version exécuter le numéro de <version> de gcc, si installée\n"
-#: gcov.c:299
+#: gcov.c:342
msgid " -b, --branch-probabilities Include branch probabilities in output\n"
msgstr " -b, --branch-probabilities inclure les probabilités de branchement dans la sortie\n"
-#: gcov.c:300
+#: gcov.c:343
msgid ""
" -c, --branch-counts Given counts of branches taken\n"
" rather than percentages\n"
@@ -5587,11 +5914,11 @@ msgstr ""
" -c, --branch-counts donner le décompte de branchements pris\n"
" plutôt que les pourcentages\n"
-#: gcov.c:302
+#: gcov.c:345
msgid " -n, --no-output Do not create an output file\n"
msgstr " -n, --no-output ne créer de fichier de sortie\n"
-#: gcov.c:303
+#: gcov.c:346
msgid ""
" -l, --long-file-names Use long output file names for included\n"
" source files\n"
@@ -5599,15 +5926,20 @@ msgstr ""
" -l, --long-file-names utiliser des longs noms de fichiers pour\n"
" les fichier sources d'inclusion\n"
-#: gcov.c:305
+#: gcov.c:348
msgid " -f, --function-summaries Output summaries for each function\n"
msgstr " -f, --function-summaries produire un sommaire pour chaque fonction\n"
-#: gcov.c:306
-msgid " -o, --object-directory OBJDIR Search for object files in OBJDIR\n"
+#: gcov.c:349
+#, fuzzy
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
msgstr " -o, --object-directory RÉP rechercher les fichiers objets dans le RÉPertoire\n"
-#: gcov.c:307
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
+msgstr ""
+
+#: gcov.c:351
#, c-format
msgid ""
"\n"
@@ -5618,263 +5950,468 @@ msgstr ""
"Pour les instructons afin de rapporter des anomales, SVP consulter:\n"
"%s.\n"
-#: gcov.c:317
+#: gcov.c:361
#, c-format
msgid "gcov (GCC) %s\n"
msgstr "gcov (GCC) %s\n"
-#: gcov.c:318
+#: gcov.c:362
msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
msgstr "Copyright © 2001 Free Software Foundation, Inc.\n"
-#: gcov.c:462
+#: gcov.c:500
#, c-format
msgid "Could not open basic block file %s.\n"
msgstr "Ne pourrait pas ouvrir le fichier de blocs de base %s.\n"
-#: gcov.c:471
+#: gcov.c:507
+#, c-format
+msgid "Could not open program flow graph file %s.\n"
+msgstr "Ne pourrait pas ouvrir le fichier de flux du programm %s.\n"
+
+#: gcov.c:524
#, c-format
msgid "Could not open data file %s.\n"
msgstr "Ne pourrait pas ouvrir le fichier de données %s.\n"
-#: gcov.c:472
+#: gcov.c:525
msgid "Assuming that all execution counts are zero.\n"
-msgstr "Assumer que tous les compteurs d'exécution sont à zéro.\n"
+msgstr "Suppose que tous les compteurs d'exécution sont à zéro.\n"
-#: gcov.c:478
-#, c-format
-msgid "Could not open program flow graph file %s.\n"
-msgstr "Ne pourrait pas ouvrir le fichier de flux du programm %s.\n"
-
-#: gcov.c:489
+#: gcov.c:534
#, c-format
msgid "No executable code associated with file %s.\n"
msgstr "Aucun code exécutable associé avec le fichier %s.\n"
-#: gcov.c:789
-msgid ".da file contents exhausted too early\n"
-msgstr "Le contenu du fichier .da a été épuisé trop rapidement\n"
+#: gcov.c:1186
+#, fuzzy, c-format
+msgid "%s of %d lines executed in %s %s\n"
+msgstr "%6.2f%% de lignes sources %d exécutés dans le fichier %s\n"
+
+#: gcov.c:1191
+#, fuzzy, c-format
+msgid "No executable lines in %s %s\n"
+msgstr "Pas de ligne exécutable dans le fichier %s\n"
+
+#: gcov.c:1198
+#, fuzzy, c-format
+msgid "%s of %d branches executed in %s %s\n"
+msgstr "%6.2f%% de branchements %d exécutés dans le fichier %s\n"
-#: gcov.c:792
-msgid ".da file contents not exhausted\n"
-msgstr "Le contenu du fichier .da n'a pas été épuisé\n"
+#: gcov.c:1203
+#, fuzzy, c-format
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr "%6.2f%% de branchements %d pris au moins une fois dans le fichier %s\n"
+
+#: gcov.c:1209
+#, fuzzy, c-format
+msgid "No branches in %s %s\n"
+msgstr "Pas de branchement dans le fichier %s\n"
-#: gcov.c:973
+#: gcov.c:1211
+#, fuzzy, c-format
+msgid "%s of %d calls executed in %s %s\n"
+msgstr "%6.2f%% d'appels %d exécutés dans le fichier %s\n"
+
+#: gcov.c:1216
+#, fuzzy, c-format
+msgid "No calls in %s %s\n"
+msgstr "Pas d'appel dans le fichier %s\n"
+
+#: gcov.c:1351
#, c-format
-msgid "%6.2f%% of %d source lines executed in function %s\n"
-msgstr "%6.2f%% des lignes sources %d exécutées dans la fonction %s\n"
+msgid "didn't use all bb entries of graph, function %s\n"
+msgstr "N'a pas utiliser toutes les entrées bb du graphe, fonction %s\n"
-#: gcov.c:977
+#: gcov.c:1353
#, c-format
-msgid "No executable source lines in function %s\n"
-msgstr "Pas de lignes sources exécutables dans la fonction %s\n"
+msgid "block_num = %ld, num_blocks = %d\n"
+msgstr "block_num = %ld, num_blocks = %d\n"
-#: gcov.c:984
+#: gcov.c:1367
#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
-msgstr "%6.2f%% de branchements %d exécutés dans la fonction %s\n"
+msgid "ERROR: unexpected line number %ld\n"
+msgstr "ERREUR : ligne numéro %ld inattendue\n"
-#: gcov.c:988
+#: gcov.c:1383
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
-msgstr "%6.2f%% de branchements %d pris au mons une fois dans la fonction %s\n"
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "ERREUR : trop de blocs de base dans la fonction %s\n"
+
+#: gcov.c:1398
+#, fuzzy, c-format
+msgid "ERROR: out of range line number in function %s\n"
+msgstr "Pas de lignes sources exécutables dans la fonction %s\n"
-#: gcov.c:993
+#: gcov.c:1470
#, c-format
-msgid "No branches in function %s\n"
-msgstr "Pas de branchement dans la fonction %s\n"
+msgid "Could not open source file %s.\n"
+msgstr "N'a pu ouvrir le fichier source %s.\n"
-#: gcov.c:995
+#: gcov.c:1480
#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
-msgstr "%6.2f%% d'appels %d exécutés dans la fonction %s\n"
+msgid "Warning: source file %s is newer than %s\n"
+msgstr "Attention : le fichier source %s est plus récent que %s\n"
-#: gcov.c:999
+#: gcov.c:1510
#, c-format
-msgid "No calls in function %s\n"
-msgstr "Pas d'appel dans la fonction %s\n"
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr "EOF inattendue lors de la lecture du fichier source %s.\n"
-#: gcov.c:1126
+# FIXME: c'est de l'assembleur ?
+#: gcov.c:1532
#, c-format
-msgid "didn't use all bb entries of graph, function %s\n"
-msgstr "N'a pas utiliser toutes les entrées bb du graphe, fonction %s\n"
+msgid "call %2d never executed\n"
+msgstr "call %2d n'est jamais été exécuté\n"
+
+#: gcov.c:1535
+#, fuzzy, c-format
+msgid "call %2d returns %s\n"
+msgstr "appel %d a retourné = %s\n"
+
+#: gcov.c:1543
+#, fuzzy, c-format
+msgid "branch %2d never executed\n"
+msgstr "branchement %d n'a jamais été exécuté\n"
-#: gcov.c:1128
+#: gcov.c:1546
+#, fuzzy, c-format
+msgid "branch %2d taken %s\n"
+msgstr "branchement %d a pris = %s\n"
+
+#: gcov.c:1610
#, c-format
-msgid "block_num = %ld, num_blocks = %d\n"
-msgstr "block_num = %ld, num_blocks = %d\n"
+msgid "Creating %s.\n"
+msgstr "Création de %s.\n"
+
+#: gcov.c:1613
+#, fuzzy, c-format
+msgid "Error writing output file %s.\n"
+msgstr "erreur d'écriture dans %s"
-#: gcov.c:1166
+#: gcov.c:1618
#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
-msgstr "ERREUR: trop de blocs de base dans le fichier .bb %s\n"
+msgid "Could not open output file %s.\n"
+msgstr "N'a pu ouvrir le fichier d'entrée %s.\n"
-#: gcov.c:1243
+#: gcse.c:761
#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
-msgstr "%6.2f%% de lignes sources %d exécutés dans le fichier %s\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgstr "GCSE désactivé: %d > 1000 blocs de base et %d >= 20 blocs edges/basic"
-#: gcov.c:1247
+#: gcse.c:773
#, c-format
-msgid "No executable source lines in file %s\n"
-msgstr "Pas de ligne exécutable dans le fichier %s\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
+msgstr "GCSE désactivé: %d vlocs de base et %d registres"
-#: gcov.c:1254
+#: genautomata.c:1490
#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
-msgstr "%6.2f%% de branchements %d exécutés dans le fichier %s\n"
+msgid "Name `%s' contains quotes"
+msgstr ""
+
+#: genautomata.c:1621
+#, fuzzy, c-format
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr "ponctuation invalide « %c » dans la contrainte"
-#: gcov.c:1258
+#: genautomata.c:1650
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
-msgstr "%6.2f%% de branchements %d pris au moins une fois dans le fichier %s\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr ""
+
+#: genautomata.c:1682 genautomata.c:1685
+#, fuzzy, c-format
+msgid "invalid string `%s' in define_bypass"
+msgstr "utilisation invalide d'un type indéfini «%s %s»"
+
+#: genautomata.c:1720
+#, fuzzy, c-format
+msgid "invalid first string `%s' in exclusion_set"
+msgstr "ponctuation invalide « %c » dans la contrainte"
+
+#: genautomata.c:1724
+#, fuzzy, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr "ponctuation invalide « %c » dans la contrainte"
-#: gcov.c:1263
+#: genautomata.c:1760
#, c-format
-msgid "No branches in file %s\n"
-msgstr "Pas de branchement dans le fichier %s\n"
+msgid "invalid first string `%s' in presence_set"
+msgstr ""
-#: gcov.c:1265
+#: genautomata.c:1764
+#, fuzzy, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr "séquence de contrôle invalide"
+
+#: genautomata.c:1800
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
-msgstr "%6.2f%% d'appels %d exécutés dans le fichier %s\n"
+msgid "invalid first string `%s' in absence_set"
+msgstr ""
-#: gcov.c:1269
+#: genautomata.c:1804
#, c-format
-msgid "No calls in file %s\n"
-msgstr "Pas d'appel dans le fichier %s\n"
+msgid "invalid second string `%s' in absence_set"
+msgstr ""
-#: gcov.c:1281
+#: genautomata.c:1837
#, c-format
-msgid "Could not open source file %s.\n"
-msgstr "N'a pu ouvrir le fichier source %s.\n"
+msgid "invalid string `%s' in define_automaton"
+msgstr ""
-#: gcov.c:1331
+#: genautomata.c:1868
+#, fuzzy, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "ponctuation invalide « %c » dans la contrainte"
+
+#: genautomata.c:1890
#, c-format
-msgid "Could not open output file %s.\n"
-msgstr "N'a pu ouvrir le fichier d'entrée %s.\n"
+msgid "garbage after ) in reservation `%s'"
+msgstr ""
-#: gcov.c:1339
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "redéclaration invalide de « %D »"
+
+#: genautomata.c:1932
#, c-format
-msgid "Creating %s.\n"
-msgstr "Création de %s.\n"
+msgid "repetition `%s' <= 1 in reservation `%s'"
+msgstr ""
+
+#: genautomata.c:2425
+#, fuzzy, c-format
+msgid "unit `%s' in exclusion is not declared"
+msgstr "« %s » n'est pas déclaré"
-#: gcov.c:1387
+#: genautomata.c:2427
#, c-format
-msgid "call %d never executed\n"
-msgstr "appel %d n'a jamais été exécuté\n"
+msgid "`%s' in exclusion is not unit"
+msgstr ""
+
+#: genautomata.c:2465
+#, fuzzy, c-format
+msgid "unit `%s' excludes itself"
+msgstr "largeur de « %s » excède son type"
-#: gcov.c:1396
+#: genautomata.c:2473
#, c-format
-msgid "call %d returns = %s\n"
-msgstr "appel %d a retourné = %s\n"
+msgid "units `%s' and `%s' in exclusion set belong to different automata"
+msgstr ""
-#: gcov.c:1406
+#: genautomata.c:2603 genautomata.c:2609
#, c-format
-msgid "call %d returns = %s%%\n"
-msgstr "appel %d a retourné = %s%%\n"
+msgid "unit `%s' excludes and requires presence of `%s'"
+msgstr ""
-#: gcov.c:1413
+#: genautomata.c:2623 genautomata.c:2629
#, c-format
-msgid "branch %d never executed\n"
-msgstr "branchement %d n'a jamais été exécuté\n"
+msgid "unit `%s' requires absence and presence of `%s'"
+msgstr ""
-#: gcov.c:1423
+#: genautomata.c:2692 genautomata.c:2695
+#, fuzzy, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "duplication de déclaration de la méthode de classe « %s »"
+
+#: genautomata.c:2711
#, c-format
-msgid "branch %d taken = %s\n"
-msgstr "branchement %d a pris = %s\n"
+msgid "define_insn_reservation `%s' has negative latency time"
+msgstr ""
+
+#: genautomata.c:2717
+#, fuzzy, c-format
+msgid "`%s' is already used as insn reservation name"
+msgstr "« %D » est déjà déclaré dans cette portée"
-#: gcov.c:1433
+#: genautomata.c:2723
#, c-format
-msgid "branch %d taken = %s%%\n"
-msgstr "branchement %d a pris = %s%%\n"
+msgid "define_bypass `%s - %s' has negative latency time"
+msgstr ""
+
+#: genautomata.c:2737
+#, fuzzy, c-format
+msgid "automaton `%s' is not declared"
+msgstr "« %s » n'est pas déclaré"
-#: gcov.c:1444
+#: genautomata.c:2747
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
-msgstr "EOF inattendue lors de la lecture du fichier source %s.\n"
+msgid "define_unit `%s' without automaton when one defined"
+msgstr ""
-#: gcse.c:758
+#: genautomata.c:2753
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "champ « %s » déclaré comme une fonction"
+
+#: genautomata.c:2762
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "« %D » déclaré comme un ami"
+
+#: genautomata.c:2772
+#, fuzzy, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "redéclaration de « %s »"
+
+#: genautomata.c:2775
+#, fuzzy, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "duplication de déclaration de la méthode de classe « %s »"
+
+#: genautomata.c:2790 genautomata.c:2793
+#, fuzzy, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "qu'une précédente déclaratio « %F »"
+
+#: genautomata.c:2810 genautomata.c:2815
+#, fuzzy, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr "#pragma %s %s est déjà enregistré"
+
+#: genautomata.c:2820
+#, fuzzy, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "#pragma %s %s est déjà enregistré"
+
+#: genautomata.c:2925 genautomata.c:2927
+#, fuzzy, c-format
+msgid "automaton `%s' is not used"
+msgstr "mode de %s n'est pas un mode"
+
+#: genautomata.c:2950
+#, fuzzy, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr "identificateur « %s » non déclaré"
+
+#: genautomata.c:3028 genautomata.c:3030
+#, fuzzy, c-format
+msgid "unit `%s' is not used"
+msgstr "« %s » défini mais n'a pas été utilisé"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, fuzzy, c-format
+msgid "reservation `%s' is not used"
+msgstr "déclaration faible de « %s » n'est pas supportée"
+
+#: genautomata.c:3134
+#, fuzzy, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "redéfinition de «union %s'"
+
+#: genautomata.c:5333
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr "GCSE désactivé: %d > 1000 blocs de base et %d >= 20 blocs edges/basic"
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr ""
+
+#: genautomata.c:9441
+#, fuzzy
+msgid "-split has no argument."
+msgstr "pas d'argument"
-#: gcse.c:770
+#: genautomata.c:9442
+#, fuzzy
+msgid "option `-split' has not been implemented yet\n"
+msgstr "profilage n'est pas implanté encore"
+
+#: genautomata.c:9486 genautomata.c:9491
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
-msgstr "GCSE désactivé: %d vlocs de base et %d registres"
+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
+#, fuzzy
+msgid "Errors in DFA description"
+msgstr "aucune description encore"
-#: graph.c:421 profile.c:950 profile.c:958 toplev.c:1835 toplev.c:4978 f/com.c:14258 java/jcf-parse.c:950 java/jcf-parse.c:1099 java/lex.c:1790 objc/objc-act.c:529
+#: genautomata.c:9732
+#, fuzzy, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "erreur d'écriture dans %s"
+
+#: genconditions.c:196
+#, fuzzy
+msgid "No input file name."
+msgstr "pas de fichier à l'entrée"
+
+#: 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 "ne peut ouvrir %s"
-#: haifa-sched.c:190
+#: haifa-sched.c:196
#, c-format
msgid "fix_sched_param: unknown param: %s"
msgstr "fix_sched_param: paramètre inconnu: %s"
-#: integrate.c:185
+#: integrate.c:172
msgid "function cannot be inline"
msgstr "fonction ne pas pas être en ligne"
-#: integrate.c:190
+#: integrate.c:176
msgid "varargs function cannot be inline"
msgstr "varargs de fonction ne peuvent par être en ligne"
-#: integrate.c:193
+#: integrate.c:179
msgid "function using alloca cannot be inline"
msgstr "fonction utilisant alloca ne pas pas être en ligne"
-#: integrate.c:196
+#: integrate.c:182
msgid "function using setjmp cannot be inline"
msgstr "fonction utilisant setjmp ne pas pas être en ligne"
-#: integrate.c:199
+#: integrate.c:185
msgid "function uses __builtin_eh_return"
msgstr "fonction utilise « __builtin_eh_return »"
-#: integrate.c:202
+#: integrate.c:188
msgid "function with nested functions cannot be inline"
msgstr "fonction avec fonctions imbriquées ne peut pas être en ligne"
-#: integrate.c:206
+#: integrate.c:192
msgid "function with label addresses used in initializers cannot inline"
-msgstr "fonction avec étiquette d'adresses utilisée avec les initialiseurs ne peut pas être en ligne"
+msgstr "un fonction avec étiquette d'adresses utilisée pour l'initialisation ne peut pas être en-ligne (inline)"
-#: integrate.c:213 integrate.c:257
+#: integrate.c:199 integrate.c:243
msgid "function too large to be inline"
msgstr "fonction trop grande pour être en ligne"
-#: integrate.c:223
+#: integrate.c:209
msgid "no prototype, and parameter address used; cannot be inline"
msgstr "pas de prototpe, et de adresse de paramètre utilisée; ne peut pas être en ligne"
-#: integrate.c:230 integrate.c:275
+#: integrate.c:216 integrate.c:261
msgid "inline functions not supported for this return value type"
msgstr "fonctions en ligne ne peuvent pas être supportées pour ce type de valeur retournée"
-#: integrate.c:235
+#: integrate.c:221
msgid "function with varying-size return value cannot be inline"
msgstr "fonction avec une valeur retournée de taille variable ne peut pas être en ligne"
-#: integrate.c:242
+#: integrate.c:228
msgid "function with varying-size parameter cannot be inline"
msgstr "fonction avec un paramètre de taille variable ne peut pas être en ligne"
-#: integrate.c:245
+#: integrate.c:231
msgid "function with transparent unit parameter cannot be inline"
msgstr "fonction avec une unité transparente de paramètre ne peut pas être en ligne"
-#: integrate.c:264
+#: integrate.c:250
msgid "function with computed jump cannot inline"
msgstr "fonction avec un saut calculé ne peut pas être en ligne"
-#: integrate.c:268
+#: integrate.c:254
msgid "function with nonlocal goto cannot be inline"
msgstr "fonction avec un goto non local ne peut pas être en ligne"
-#: integrate.c:282
+#: integrate.c:268
msgid "function with target specific attribute(s) cannot be inlined"
msgstr "fonction avec des attributs spécifiques à la cible ne peut pas être en ligne"
@@ -5910,55 +6447,57 @@ msgstr ""
msgid "invalid parameter `%s'"
msgstr "paramètre invalide « %s »"
-#: profile.c:429
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr ""
+
+#: profile.c:400
+#, fuzzy
+msgid ".da file corrupted"
+msgstr "Le contenu du fichier .da n'a pas été épuisé"
+
+#: profile.c:634
#, c-format
msgid "corrupted profile info: prob for %d-%d thought to be %d"
msgstr "info de profilage corrompu: prob pour %d-%d pense être %d "
-#: profile.c:975
+#: profile.c:1226
#, c-format
msgid "file %s not found, execution counts assumed to be zero"
msgstr "fichier %s non repéré, compteur d'exécution assumé être à zéro"
-#: profile.c:1022
-msgid ".da file contents exhausted too early"
-msgstr "Le contenu du fichier .da a été épuisé trop rapidement"
-
-#: profile.c:1025
-msgid ".da file contents not exhausted"
-msgstr "Le contenu du fichier .da n'a pas été épuisé"
-
-#: protoize.c:599
+#: protoize.c:542
#, c-format
msgid "%s: internal abort\n"
msgstr "%s: abandon interne\n"
-#: protoize.c:690
+#: protoize.c:633
#, c-format
msgid "%s: error writing file `%s': %s\n"
msgstr "%s: erreur d'écriture au fichier « %s »: %s\n"
-#: protoize.c:735
+#: protoize.c:678
#, c-format
msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
msgstr "%s: usage «%s [ -VqfnkN ] [ -i <chaîne> ] [ nom-de-fichier ... ]»\n"
-#: protoize.c:738
+#: protoize.c:681
#, c-format
msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
msgstr "%s: usage «%s [ -VqfnkNlgC ] [ -B <répertoire> ] [ nom-de-fichier ... ]»\n"
-#: protoize.c:845
+#: protoize.c:788
#, c-format
msgid "%s: warning: no read access for file `%s'\n"
msgstr "%s: AVERTISSEMENT: aucun accès en lecture du fichier « %s »\n"
-#: protoize.c:853
+#: protoize.c:796
#, c-format
msgid "%s: warning: no write access for file `%s'\n"
msgstr "%s: AVERTISSEMENT: aucun accès en écriture du fichier « %s »\n"
-#: protoize.c:861
+#: protoize.c:804
#, c-format
msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr "%s: AVERTISSEMENT: aucun accès en écriture du répertoire contenant « %s »\n"
@@ -5966,17 +6505,17 @@ msgstr "%s: AVERTISSEMENT: aucun accès en écriture du répertoire contenant « %s
#. Catch cases like /.. where we try to backup to a
#. point above the absolute root of the logical file
#. system.
-#: protoize.c:1279
+#: protoize.c:1222
#, c-format
msgid "%s: invalid file name: %s\n"
msgstr "%s: nom de fichier invalide: %s\n"
-#: protoize.c:1431
+#: protoize.c:1374
#, c-format
msgid "%s: %s: can't get status: %s\n"
msgstr "%s: %s: ne peut obtenir l'état: %s\n"
-#: protoize.c:1452
+#: protoize.c:1395
#, c-format
msgid ""
"\n"
@@ -5985,137 +6524,137 @@ msgstr ""
"\n"
"%s: erreur fatale: fichier auxiliaire d'infos à la ligne %d\n"
-#: protoize.c:1788
+#: protoize.c:1731
#, c-format
msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr "%s:%d: déclaration de fonction « %s » prend différentes formes\n"
-#: protoize.c:2046
+#: protoize.c:1989
#, c-format
msgid "%s: compiling `%s'\n"
msgstr "%s: en compilation « %s »\n"
-#: protoize.c:2069
+#: protoize.c:2012
#, c-format
msgid "%s: wait: %s\n"
msgstr "%s: en attente: %s\n"
-#: protoize.c:2074
+#: protoize.c:2017
#, c-format
msgid "%s: subprocess got fatal signal %d\n"
msgstr "%s: sous-processus a reçu le signal fatal %d\n"
-#: protoize.c:2082
+#: protoize.c:2025
#, c-format
msgid "%s: %s exited with status %d\n"
msgstr "%s: %s a terminé avec le statut %d\n"
-#: protoize.c:2134
+#: protoize.c:2077
#, c-format
msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr "%s: AVERTISSEMENT: fichier des SYSCALLS « %s » est manquant\n"
-#: protoize.c:2143 protoize.c:2172
+#: protoize.c:2086 protoize.c:2115
#, c-format
msgid "%s: can't read aux info file `%s': %s\n"
msgstr "%s: ne peut lire le fichier auxiliaire d'infos « %s »: %s\n"
-#: protoize.c:2188 protoize.c:2216
+#: protoize.c:2131 protoize.c:2159
#, c-format
msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr "%s: ne peut obtenir l'état du fichier auxiliaire d'infos « %s »: %s\n"
-#: protoize.c:2244
+#: protoize.c:2187
#, c-format
msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr "%s: ne peut ouvrir le fichier auxiliaire d'infos « %s » en lecture: %s\n"
-#: protoize.c:2262
+#: protoize.c:2205
#, c-format
msgid "%s: error reading aux info file `%s': %s\n"
msgstr "%s: erreur lors de la lecture du fichier auxilaire d'infos « %s »: %s\n"
-#: protoize.c:2275
+#: protoize.c:2218
#, c-format
msgid "%s: error closing aux info file `%s': %s\n"
msgstr "%s: erreur lors de la fermeture du fichier auxiliaire d'infos « %s »: %s\n"
-#: protoize.c:2291
+#: protoize.c:2234
#, c-format
msgid "%s: can't delete aux info file `%s': %s\n"
msgstr "%s: ne peut détruire le fichier auxiliaire d'infos « %s »: %s\n"
-#: protoize.c:2373 protoize.c:4375
+#: protoize.c:2316 protoize.c:4318
#, c-format
msgid "%s: can't delete file `%s': %s\n"
msgstr "%s: ne peut détruire le fichier « %s »: %s\n"
-#: protoize.c:2452
+#: protoize.c:2395
#, c-format
msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
msgstr "%s: AVERTISSEMENT: ne peut renommer le fichier « %s » à « %s »: %s\n"
-#: protoize.c:2577
+#: protoize.c:2520
#, c-format
msgid "%s: conflicting extern definitions of '%s'\n"
msgstr "%s: définitions externes conflictuelles de « %s »\n"
-#: protoize.c:2581
+#: protoize.c:2524
#, c-format
msgid "%s: declarations of '%s' will not be converted\n"
msgstr "%s: déclarations de « %s » ne seront pas converties\n"
-#: protoize.c:2583
+#: protoize.c:2526
#, c-format
msgid "%s: conflict list for '%s' follows:\n"
msgstr "%s: liste conflictuelle pour « %s » suit:\n"
-#: protoize.c:2616
+#: protoize.c:2559
#, c-format
msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr "%s: AVERTISSEMENT: using la liste des formels de %s(%d) pour la fonction « %s »\n"
-#: protoize.c:2656
+#: protoize.c:2599
#, c-format
msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr "%s: %d: « %s » utilisé mais manquant dans les SYSCALLS\n"
-#: protoize.c:2662
+#: protoize.c:2605
#, c-format
msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr "%s: %d: AVERTISSEMENT: pas de définition externe pour « %s »\n"
-#: protoize.c:2693
+#: protoize.c:2636
#, c-format
msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr "%s: AVERTISSEMENT: pas de définition statique pour « %s » dans le fichier« %s »\n"
-#: protoize.c:2699
+#: protoize.c:2642
#, c-format
msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr "%s: multiples définitions statiques de « %s » dans le fichier « %s »\n"
-#: protoize.c:2872 protoize.c:2875
+#: protoize.c:2815 protoize.c:2818
#, c-format
msgid "%s: %d: warning: source too confusing\n"
msgstr "%s: %d: AVERTISSEMENT: trop de confusions dans le source\n"
-#: protoize.c:3081
+#: protoize.c:3024
#, c-format
msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr "%s: %d: AVERTISSEMENT: déclaration de varargs de fonction non convertis\n"
-#: protoize.c:3096
+#: protoize.c:3039
#, c-format
msgid "%s: declaration of function `%s' not converted\n"
msgstr "%s: déclaration de la fonction « %s » non convertie\n"
-#: protoize.c:3219
+#: protoize.c:3162
#, c-format
msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr "%s: AVERTISSEMENT: trop de paramètres de listes dans la déclaration de « %s »\n"
-#: protoize.c:3240
+#: protoize.c:3183
#, c-format
msgid ""
"\n"
@@ -6124,17 +6663,17 @@ msgstr ""
"\n"
"%s: AVERTISSEMENT: trop peu de paramètres de listes dans la déclaration de « %s »\n"
-#: protoize.c:3338
+#: protoize.c:3281
#, c-format
msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr "%s: %d: AVERTISSEMENT: a obtenu « %s » mais attendait « %s »\n"
-#: protoize.c:3516
+#: protoize.c:3459
#, c-format
msgid "%s: local declaration for function `%s' not inserted\n"
msgstr "%s: déclaration locale pour la fonction « %s » n'a pas été insérée\n"
-#: protoize.c:3543
+#: protoize.c:3486
#, c-format
msgid ""
"\n"
@@ -6143,64 +6682,64 @@ msgstr ""
"\n"
"%s: %d: AVERTISSEMENT: ne peut ajouter une déclaration de « %s » dans l'appel macro\n"
-#: protoize.c:3617
+#: protoize.c:3560
#, c-format
msgid "%s: global declarations for file `%s' not inserted\n"
msgstr "%s: déclarations globale du fichier « %s » n'ont pas été insérées\n"
-#: protoize.c:3708 protoize.c:3738
+#: protoize.c:3651 protoize.c:3681
#, c-format
msgid "%s: definition of function `%s' not converted\n"
msgstr "%s: définition de la fonction « %s » n'a pas été convertie\n"
-#: protoize.c:3727
+#: protoize.c:3670
#, c-format
msgid "%s: %d: warning: definition of %s not converted\n"
msgstr "%s: %d: AVERTISSEMENT: définition de %s n'a pas été convertie\n"
-#: protoize.c:4057
+#: protoize.c:4000
#, c-format
msgid "%s: found definition of `%s' at %s(%d)\n"
msgstr "%s: définition de « %s » trouvé à %s(%d)\n"
#. If we make it here, then we did not know about this
#. function definition.
-#: protoize.c:4073
+#: protoize.c:4016
#, c-format
msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr "%s: %d: AVERTISSEMENT: « %s » exclu par le préprocesseur\n"
-#: protoize.c:4076
+#: protoize.c:4019
#, c-format
msgid "%s: function definition not converted\n"
msgstr "%s: définition de fonction n'a pas été convertie\n"
-#: protoize.c:4135
+#: protoize.c:4078
#, c-format
msgid "%s: `%s' not converted\n"
msgstr "%s: « %s » n'a pas été converti\n"
-#: protoize.c:4143
+#: protoize.c:4086
#, c-format
msgid "%s: would convert file `%s'\n"
msgstr "%s: devrait convertir le fichier « %s »\n"
-#: protoize.c:4146
+#: protoize.c:4089
#, c-format
msgid "%s: converting file `%s'\n"
msgstr "%s: conversion du fichier « %s »\n"
-#: protoize.c:4156
+#: protoize.c:4099
#, c-format
msgid "%s: can't get status for file `%s': %s\n"
msgstr "%s: ne peut obtenur l'état du fichier « %s »: %s\n"
-#: protoize.c:4198
+#: protoize.c:4141
#, c-format
msgid "%s: can't open file `%s' for reading: %s\n"
msgstr "%s: ne peut ouvrir le fichier « %s » en lecture: %s\n"
-#: protoize.c:4213
+#: protoize.c:4156
#, c-format
msgid ""
"\n"
@@ -6209,320 +6748,279 @@ msgstr ""
"\n"
"%s: erreur de lecture du fichier d'entrée « %s »: %s\n"
-#: protoize.c:4247
+#: protoize.c:4190
#, c-format
msgid "%s: can't create/open clean file `%s': %s\n"
msgstr "%s: ne peut créer/ouvrir un fichier propre « %s »: %s\n"
-#: protoize.c:4352
+#: protoize.c:4295
#, c-format
msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr "%s: AVERTISSEMENT: fichier « %s » est déjà sauvegardé dans « %s »\n"
-#: protoize.c:4360
+#: protoize.c:4303
#, c-format
msgid "%s: can't link file `%s' to `%s': %s\n"
msgstr "%s: ne peut lier le fichier « %s » à « %s »: %s\n"
-#: protoize.c:4390
+#: protoize.c:4333
#, c-format
msgid "%s: can't create/open output file `%s': %s\n"
msgstr "%s: ne peut créer/ouvrier le fichier de sortie « %s »: %s\n"
-#: protoize.c:4423
+#: protoize.c:4366
#, c-format
msgid "%s: can't change mode of file `%s': %s\n"
msgstr "%s: ne peut changer le mode du fichier « %s »: %s\n"
-#: protoize.c:4598
+#: protoize.c:4541
#, c-format
msgid "%s: cannot get working directory: %s\n"
msgstr "%s: ne peut repérer le répertoire de travail: %s\n"
-#: protoize.c:4696
+#: protoize.c:4639
#, c-format
msgid "%s: input file names must have .c suffixes: %s\n"
msgstr "%s: noms de fichiers d'entrée doivent avoir le suffixe .c: %s\n"
-#: real.c:824 real.c:1001
-msgid "conversion from NaN to int"
-msgstr "conversion de NaN en int"
-
-#: real.c:847
-msgid "conversion from NaN to unsigned int"
-msgstr "conversion de NaN en un int non signé"
-
-#: real.c:2730
-msgid "floating point overflow"
-msgstr "débordement de virgule flottante"
-
-#: real.c:4395 real.c:6675 real.c:6756
-msgid "overflow on truncation to integer"
-msgstr "débordement de troncation d'un entier"
-
-#: real.c:4467
-msgid "overflow on truncation to unsigned integer"
-msgstr "débordement lors de la troncation d'un entier non signé"
-
-#: real.c:5812
-#, c-format
-msgid "%s: argument domain error"
-msgstr "%s: erreur d'argument de domaine"
-
-#: real.c:5813
-#, c-format
-msgid "%s: function singularity"
-msgstr "%s: singularité de fonction"
-
-#: real.c:5814
-#, c-format
-msgid "%s: overflow range error"
-msgstr "%s: erreur de débordement de bornes"
-
-#: real.c:5815
-#, c-format
-msgid "%s: underflow range error"
-msgstr "%s: erreur de sous débordement de bornes"
-
-#: real.c:5816
-#, c-format
-msgid "%s: total loss of precision"
-msgstr "%s: perte totale de précision"
-
-#: real.c:5817
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr "%s: perte partielle de précision"
-
-#: real.c:5818
-#, c-format
-msgid "%s: NaN - producing operation"
-msgstr "%s: NaN - opération produite"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr ""
-#: reg-stack.c:677
+#: reg-stack.c:673
#, c-format
msgid "output constraint %d must specify a single register"
msgstr "Contrainte de sortie %d doit spécifier un simple registre"
-#: reg-stack.c:687
+#: reg-stack.c:683
#, c-format
msgid "output constraint %d cannot be specified together with \"%s\" clobber"
msgstr "contrainte de sortie %d ne doit pas être spécifié avec « %s » clobber"
-#: reg-stack.c:710
+#: reg-stack.c:706
msgid "output regs must be grouped at top of stack"
msgstr "registres de sortie doivent être regroupés au haut de la pile"
-#: reg-stack.c:747
+#: reg-stack.c:743
msgid "implicitly popped regs must be grouped at top of stack"
msgstr "les registres implicitement dépilés doivent être groupés au haut de la pile"
-#: reg-stack.c:766
+#: reg-stack.c:762
#, c-format
msgid "output operand %d must use `&' constraint"
msgstr "opérande de sortie %d doit utiliser la contrainte «&»"
-#: regclass.c:778
+#: regclass.c:753
#, c-format
msgid "can't use '%s' as a %s register"
msgstr "ne peut utiliser « %s » comme le registre %s"
-#: regclass.c:793 config/ia64/ia64.c:3840 config/ia64/ia64.c:3847
+#: regclass.c:768 config/ia64/ia64.c:4169 config/ia64/ia64.c:4176
#, c-format
msgid "unknown register name: %s"
msgstr "nom de registre inconnu: %s"
-#: regclass.c:804
+#: regclass.c:779
msgid "global register variable follows a function definition"
msgstr "variable registre globale suit la définition d'une fonction"
-#: regclass.c:808
+#: regclass.c:783
msgid "register used for two global register variables"
msgstr "registre utilisé pour deux variables registres globales"
-#: regclass.c:813
+#: regclass.c:788
msgid "call-clobbered register used for global register variable"
msgstr "registre maltraité par un appel utilisé par un variable registre globale"
-#: regrename.c:1845
+#: regrename.c:1899
#, c-format
msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr "validate_value_data: [%u] next_regno erroné pour une chaîne vide (%u)"
-#: regrename.c:1857
+#: regrename.c:1911
#, c-format
msgid "validate_value_data: Loop in regno chain (%u)"
msgstr "validate_value_data: boucle dans la chaîne regno (%u)"
-#: regrename.c:1860
+#: regrename.c:1914
#, c-format
msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr "validate_value_data: [%u] oldest_regno erroné (%u)"
-#: regrename.c:1872
+#: regrename.c:1926
#, c-format
msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr "validate_value_data: [%u] registre non vide dans la chaîne (%s %u %i)"
-#: reload.c:1208
+#: reload.c:1225
msgid "cannot reload integer constant operand in `asm'"
msgstr "ne peut recharger l'opérande de constante entière dans « asm »"
-#: reload.c:1230
+#: reload.c:1247
msgid "impossible register constraint in `asm'"
msgstr "impossible de contraindre les registres en « asm »"
-#: reload.c:3389
+#: reload.c:3467
msgid "`&' constraint used with no register class"
msgstr "contrainte «&» utilisé sans classe registre"
-#: reload.c:3557
+#: reload.c:3635
msgid "unable to generate reloads for:"
msgstr "incapable de générer des recharges pour:"
-#: reload.c:3558 reload.c:3772
+#: reload.c:3636 reload.c:3850
msgid "inconsistent operand constraints in an `asm'"
msgstr "contrainte d'opérande inconsistente en « asm »"
-#: reload1.c:1247
+#: reload1.c:1255
msgid "frame size too large for reliable stack checking"
msgstr "taille de trame trop grande pour une vérification fiable de la pile"
-#: reload1.c:1250
+#: reload1.c:1258
msgid "try reducing the number of local variables"
msgstr "essayer de réduire le nombre de variables locales"
-#: reload1.c:1902
+#: reload1.c:1914
#, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr "ne peut repérer un registre dans la classe « %s » durant le rechargement «asm »"
-#: reload1.c:1906
+#: reload1.c:1918
#, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr "incapable de trouver un registre de déversement dans la classe « %s »"
-#: reload1.c:1908
+#: reload1.c:1920
msgid "this is the insn:"
msgstr "ceci est le insn:"
-#: reload1.c:3924
+#: reload1.c:3941
msgid "`asm' operand requires impossible reload"
msgstr "opérande « asm » requiert une recharge impossible"
#. It's the compiler's fault.
-#: reload1.c:5040
+#: reload1.c:5055
msgid "could not find a spill register"
msgstr "ne peut repérer un registre de déversement"
-#: reload1.c:5045
+#: reload1.c:5060
msgid "`asm' operand constraint incompatible with operand size"
msgstr "contrainte de l'opérande « asm » incompatible avec la taille de l'opérande"
#. It's the compiler's fault.
-#: reload1.c:6639
+#: reload1.c:6680
msgid "VOIDmode on an output"
msgstr "mode VOID sur une sortie"
-#: reload1.c:6640
+#: reload1.c:6681
msgid "output operand is constant in `asm'"
msgstr "opérande de sortie est une constante dans « asm »"
-#: rtl-error.c:139
+#: rtl-error.c:140
msgid "unrecognizable insn:"
msgstr "insn non reconnaissable:"
-#: rtl-error.c:141
+#: rtl-error.c:142
msgid "insn does not satisfy its constraints:"
msgstr "insn ne satisfait pas à ses contraintes:"
-#: rtl.c:627
+#: rtl.c:558
#, c-format
msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
msgstr "vérification RTL: accès de elt %d de « %s » avec le dernier elt %d dans %s, à %s:%d"
-#: rtl.c:642
+#: rtl.c:573
#, c-format
msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr "vérification RTL: attendu elt %d de type « %c », a « %c » (rtx %s) dans %s, à %s:%d"
-#: rtl.c:658
+#: 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 "vérification RTL: attendu elt %d de type « %c » ou « %c », a « %c » (rtx %s) dans %s, à %s:%d"
-#: rtl.c:671
+#: rtl.c:602
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr "vérification RTL: code attendu « %s », a « %s » dans %s, à %s:%d"
-#: rtl.c:685
+#: rtl.c:616
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr "vérification RTL: code attendu « %s » ou « %s », a « %s » dans %s, à %s:%d"
-#: rtl.c:700
+#: rtl.c:631
#, c-format
msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
msgstr "vérification RTL: accès de elt %d du vecteur avec le dernier elt %d dans %s, à %s:%d"
-#: stmt.c:927
+#: rtl.c:646
+#, fuzzy, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr "vérification RTL: code attendu « %s », a « %s » dans %s, à %s:%d"
+
+#: stmt.c:753
#, c-format
msgid "jump to `%s' invalidly jumps into binding contour"
msgstr "saut vers « %s » saute de manière invalide dans un contour de binding"
-#: stmt.c:1163 stmt.c:3755
+#: stmt.c:989 stmt.c:3731
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr "étiquette « %s » utilisé avant de contenir le contour de binding"
-#: stmt.c:1343
+#: stmt.c:1169
msgid "output operand constraint lacks `='"
msgstr "contrainte de sortie de l'opérande manque «=»"
-#: stmt.c:1358
+#: stmt.c:1184
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr "contrainte de sortie « %c » pour l'opérande %d n'est pas au début"
-#: stmt.c:1380
+#: stmt.c:1206
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr "contrainte de l'opérande contient «+» ou «-» incorrectement positionné"
-#: stmt.c:1386 stmt.c:1486
+#: stmt.c:1212 stmt.c:1316
#, c-format
msgid "`%%' constraint used with last operand"
msgstr "contrainte «%%» utilisée avec la dernière opérande"
-#: stmt.c:1405
+#: stmt.c:1231
msgid "matching constraint not valid in output operand"
msgstr "contrainte concordante n'est pas valide dans une opérande de sortie"
-#: stmt.c:1477
+#: stmt.c:1307
#, c-format
msgid "input operand constraint contains `%c'"
msgstr "contrainte d'entrée de l'opérande contient « %c »"
-#: stmt.c:1517
+#: stmt.c:1347
msgid "matching constraint references invalid operand number"
msgstr "nombre d'opérandes invalides pour références de containte concordantes"
-#: stmt.c:1549
+#: stmt.c:1379
#, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr "ponctuation invalide « %c » dans la contrainte"
-#: stmt.c:1645
+#: stmt.c:1429
+#, fuzzy, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "le qualificateur du type de « %s » est en conflit avec une déclaration précédente"
+
+#: stmt.c:1519
#, c-format
msgid "unknown register name `%s' in `asm'"
msgstr "nom de registre inconnu « %s » dans «asm »"
-#: stmt.c:1689
+#: stmt.c:1567
#, c-format
msgid "more than %d operands in `asm'"
msgstr "plus que %d opérandes dans « asm »"
-#: stmt.c:1748
+#: stmt.c:1626
#, c-format
msgid "output number %d not directly addressable"
msgstr "nombre de sortie %d n,est pas directement adressable"
@@ -6530,95 +7028,110 @@ msgstr "nombre de sortie %d n,est pas directement adressable"
#. ??? Leave this only until we have experience with what
#. happens in combine and elsewhere when constraints are
#. not satisfied.
-#: stmt.c:1817 stmt.c:1846
+#: stmt.c:1698 stmt.c:1727
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr "opérande asm %d ne concorde pas probablement avec les contraintes"
-#: stmt.c:1992
+#: stmt.c:1858
+#, fuzzy
+msgid "asm clobber conflict with output operand"
+msgstr "déclaration asm en conflit avec le changement de nom précédent"
+
+#: stmt.c:1863
+#, fuzzy
+msgid "asm clobber conflict with input operand"
+msgstr "déclaration asm en conflit avec le changement de nom précédent"
+
+#: stmt.c:1898
msgid "too many alternatives in `asm'"
msgstr "trop d'alternatives dans « asm »"
-#: stmt.c:2004
+#: stmt.c:1910
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr "contraintes de l'opérande pour « asm » diffèrent en nombre d'alternatives"
-#: stmt.c:2057
+#: stmt.c:1963
#, c-format
msgid "duplicate asm operand name '%s'"
msgstr "nom d'opérande asm « %s » apparaît en double"
-#: stmt.c:2144
+#: stmt.c:2050
msgid "missing close brace for named operand"
msgstr "accolade de fermeture manquante pour l'opérandé nommée"
-#: stmt.c:2172
+#: stmt.c:2078
#, c-format
msgid "undefined named operand '%s'"
msgstr "opérande nommée « %s » indéfinie"
-#: stmt.c:3692
+#: stmt.c:3668
#, c-format
msgid "unused variable `%s'"
msgstr "variable inutilisée « %s »"
-#: stmt.c:5167
+#: stmt.c:5149
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr "valeur d'énumération « %s » n'est pas traitée dans le switch"
-#: stmt.c:5193 stmt.c:5213
+#: stmt.c:5174 stmt.c:5194
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr "valeur du case «%ld» n'est pas dans le type énuméré"
-#: stmt.c:5196 stmt.c:5216
+#: stmt.c:5177 stmt.c:5197
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr "valeur du case «%ld» n'est pas dans le type énuméré « %s »"
-#: stor-layout.c:173
+#: stmt.c:5270
+#, fuzzy
+msgid "switch missing default case"
+msgstr "ceci est la première étiquette de défaut"
+
+#: stor-layout.c:178
msgid "type size can't be explicitly evaluated"
msgstr "taille du type ne peut être explicitement évaluée"
-#: stor-layout.c:175
+#: stor-layout.c:180
msgid "variable-size type declared outside of any function"
msgstr "type de taille variable déclaré à l'extérieur den'importe quelle fonction"
-#: stor-layout.c:456
+#: stor-layout.c:461
#, c-format
msgid "size of `%s' is %d bytes"
msgstr "taille de « %s » est de %d octets"
-#: stor-layout.c:458
+#: stor-layout.c:463
#, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr "taille de « %s » est plus grande que %d octets"
-#: stor-layout.c:856 stor-layout.c:1157
+#: stor-layout.c:869 stor-layout.c:1285
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr "attribut empaqueté provoque un alignement inefficient pour « %s »"
-#: stor-layout.c:858 stor-layout.c:1159
+#: stor-layout.c:871 stor-layout.c:1287
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr "attribut empaqueté n'est pas nécessaire pour « %s »"
-#: stor-layout.c:873
+#: stor-layout.c:886
#, c-format
msgid "padding struct to align `%s'"
msgstr "remplissage du struct pour aligner « %s »"
-#: stor-layout.c:1121
+#: stor-layout.c:1249
msgid "padding struct size to alignment boundary"
msgstr "remplissage la taille du struct pour aligner les frontières"
-#: stor-layout.c:1164
+#: stor-layout.c:1292
msgid "packed attribute causes inefficient alignment"
msgstr "attribut empaqueté provoque un alignement inefficient"
-#: stor-layout.c:1166
+#: stor-layout.c:1294
msgid "packed attribute is unnecessary"
msgstr "attribut empaqueté n'est pas nécessaire"
@@ -6640,838 +7153,886 @@ msgstr " TOTAL :"
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr "temps passé dans %s: %ld.%06ld (%ld%%)\n"
-#: tlink.c:428
+#: tlink.c:399
#, c-format
msgid "collect: reading %s\n"
msgstr "collect: lecture de %s\n"
-#: tlink.c:532
+#: tlink.c:502
#, c-format
msgid "collect: recompiling %s\n"
msgstr "collect: recompilation de %s\n"
-#: tlink.c:698
+#: tlink.c:668
#, c-format
msgid "collect: tweaking %s in %s\n"
msgstr "collect: tordage de %s dans %s\n"
-#: tlink.c:745
+#: tlink.c:715
msgid "collect: relinking\n"
msgstr "collect: ré-édition des liens\n"
-#: tlink.c:754
+#: tlink.c:724
#, c-format
msgid "ld returned %d exit status"
msgstr "ld a retourné %d code d'état d'exécution"
-#: toplev.c:895
+#: toplev.c:920
msgid "Generate debugging info in default format"
msgstr "Générer les information de mise au point dans le format par défaut"
-#: toplev.c:896
+#: toplev.c:921
msgid "Generate debugging info in default extended format"
msgstr "Générer les information de mise au point dans le format étendu"
-#: toplev.c:898
+#: toplev.c:923
msgid "Generate STABS format debug info"
msgstr "Générer des infos de mise au point de format STABS"
-#: toplev.c:899
+#: toplev.c:924
msgid "Generate extended STABS format debug info"
msgstr "Générer des infos de mise au point de format STABS étendu"
-#: toplev.c:902
+#: toplev.c:927
msgid "Generate DWARF-1 format debug info"
msgstr "Générer les informations de mise au point du format DWARF-1"
-#: toplev.c:904
+#: toplev.c:929
msgid "Generate extended DWARF-1 format debug info"
msgstr "Générer les extensions des informations de mise au point du format DWARF-1"
-#: toplev.c:907
+#: toplev.c:932
msgid "Generate DWARF-2 debug info"
msgstr "Générer les informations de mise au point DWARF-2"
-#: toplev.c:910
+#: toplev.c:935
msgid "Generate XCOFF format debug info"
msgstr "Générer les informations de mise au point du format XCOFF"
-#: toplev.c:911
+#: toplev.c:936
msgid "Generate extended XCOFF format debug info"
msgstr "Générer les extensions de mise au point du format XCOFF"
-#: toplev.c:914
+#: toplev.c:939
msgid "Generate COFF format debug info"
msgstr "Générer les informations de mise au point du format COFF"
-#: toplev.c:917
+#: toplev.c:942
msgid "Generate VMS format debug info"
msgstr "Générer des infos de mise au point de format VMS"
-#: toplev.c:961
+#: toplev.c:981
msgid "Perform DWARF2 duplicate elimination"
msgstr "Exécuter une élimination DAWRF2 des doublons"
-#: toplev.c:963
+#: toplev.c:983
msgid "Do not store floats in registers"
msgstr "Ne pas stocker les flottants dans les registres"
-#: toplev.c:965
+#: toplev.c:985
msgid "Consider all mem refs through pointers as volatile"
msgstr "Considérer toutes les référence en mémoire comme faite par des pointeurs volatiles"
-#: toplev.c:967
+#: toplev.c:987
msgid "Consider all mem refs to global data to be volatile"
msgstr "Considérer toutes les références mémoire à des données globales comme volatiles"
-#: toplev.c:969
+#: toplev.c:989
msgid "Consider all mem refs to static data to be volatile"
msgstr "Considérer toutes les références mémoire à des données statiques comme volatiles"
-#: toplev.c:971
+#: toplev.c:991
msgid "Defer popping functions args from stack until later"
msgstr "Déférer le dépilage des arguments de fonction de la pile plus tard"
-#: toplev.c:973
+#: toplev.c:993
msgid "When possible do not generate stack frames"
msgstr "Lorsque c'est possible ne pas générer des trames de pile"
-#: toplev.c:975
+#: toplev.c:995
msgid "Optimize sibling and tail recursive calls"
msgstr "Optimiser sur mesure les appels enfants et récursif"
-#: toplev.c:977
+#: toplev.c:997
+msgid "Perform superblock formation via tail duplication"
+msgstr ""
+
+#: toplev.c:999
msgid "When running CSE, follow jumps to their targets"
msgstr "Lorsque CSE s'exécute, suivre les sauts vers leurs cibles"
-#: toplev.c:979
+#: toplev.c:1001
msgid "When running CSE, follow conditional jumps"
msgstr "Lorsque CSE s'exécute, suivre les sauts considitionnels vers leurs cibles"
-#: toplev.c:981
+#: toplev.c:1003
msgid "Perform a number of minor, expensive optimizations"
msgstr "Effectuer un nombre mineur d'optimisations coûteuses"
-#: toplev.c:983
+#: toplev.c:1005
msgid "Perform jump threading optimizations"
msgstr "Exécuter des optimisations de sauts de thread"
-#: toplev.c:985
+#: toplev.c:1007
msgid "Perform strength reduction optimizations"
msgstr "Exécuter un réduction en force des optimisations"
-#: toplev.c:987
+#: toplev.c:1009
msgid "Perform loop unrolling when iteration count is known"
msgstr "Exécuter un dé-roulement des boucles lorsque le compteur d'itération est connu"
-#: toplev.c:989
+#: toplev.c:1011
msgid "Perform loop unrolling for all loops"
msgstr "Exécuter la boucle par désenroulement de toutes les boucles"
-#: toplev.c:991
+#: toplev.c:1013
msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr "Générer des instructions prérecherchées, si disponible, pour les tableaux dans les boucles"
-#: toplev.c:993
+#: toplev.c:1015
msgid "Force all loop invariant computations out of loops"
msgstr "Forcer pour toutes les boucles des calculs invariants en dehors des boucles"
-#: toplev.c:995
+#: toplev.c:1017
msgid "Strength reduce all loop general induction variables"
msgstr "Renforcer la réduction de toutes les boucles par induction des variables"
-#: toplev.c:997
+#: toplev.c:1019
msgid "Store strings in writable data section"
msgstr "Stocker les chaînes dans les sections d'écriture des données"
-#: toplev.c:999
+#: toplev.c:1021
msgid "Enable machine specific peephole optimizations"
msgstr "Autoriser les optimisations des trous spécifiques à une machine"
-#: toplev.c:1001
+#: toplev.c:1023
msgid "Copy memory operands into registers before using"
msgstr "Copier les opérandes mémoire dans les registres avant de les utiliser"
-#: toplev.c:1003
+#: toplev.c:1025
msgid "Copy memory address constants into regs before using"
msgstr "Copier les constantes d'adresses mémoire dans les registres avant de les utiliser"
-#: toplev.c:1005
+#: toplev.c:1027
msgid "Allow function addresses to be held in registers"
msgstr "Autoriser le maintien des adresses de fonction dans les registres"
-#: toplev.c:1007
+#: toplev.c:1029
msgid "Integrate simple functions into their callers"
msgstr "Intégrer les fonctions simples à l'intérieur des appelants"
-#: toplev.c:1009
+#: toplev.c:1031
msgid "Generate code for funcs even if they are fully inlined"
msgstr "Générer le code pour les fonctions même si elles sont complètement en ligne"
-#: toplev.c:1011
+#: toplev.c:1033
msgid "Pay attention to the 'inline' keyword"
msgstr "Porter attention au mot clé « inline »"
-#: toplev.c:1013
+#: toplev.c:1035
msgid "Emit static const variables even if they are not used"
msgstr "Produire des variables constantes statiques même si elles ne sont pas utilisées"
-#: toplev.c:1015
+#: toplev.c:1037
msgid "Check for syntax errors, then stop"
msgstr "Vérifier les erreurs de syntaxes et puis stopper"
-#: toplev.c:1017
+#: toplev.c:1039
msgid "Mark data as shared rather than private"
msgstr "Marquer les données comme partagées au lieu de privées"
-#: toplev.c:1019
+#: toplev.c:1041
msgid "Enable saving registers around function calls"
msgstr "Autoriser la sauvegarde autour des appels de fonction"
-#: toplev.c:1021
+#: toplev.c:1043
msgid "Return 'short' aggregates in memory, not registers"
msgstr "Retourner des aggrégats de type « short » en mémoire, pas dans les registres"
-#: toplev.c:1023
+#: toplev.c:1045
msgid "Return 'short' aggregates in registers"
msgstr "Retourner des aggrégats de type « short » dans les registres"
-#: toplev.c:1025
+#: toplev.c:1047
msgid "Attempt to fill delay slots of branch instructions"
msgstr "Tented de remplir de délais les fentes des instructions de branchement"
-#: toplev.c:1027
+#: toplev.c:1049
msgid "Perform the global common subexpression elimination"
msgstr "Exécuter l'élimination de sous-expression du commun global"
-#: toplev.c:1029
+#: toplev.c:1051
msgid "Perform enhanced load motion during global subexpression elimination"
msgstr "Exécuter un chargement efficace lors de l'élimination de sous-expression globale"
-#: toplev.c:1031
+#: toplev.c:1053
msgid "Perform store motion after global subexpression elimination"
msgstr "Exécuter un stockage efficace lors de l'élimination de sous-expression globale"
-#: toplev.c:1033
+#: toplev.c:1055
+#, fuzzy
+msgid "Perform the loop optimizations"
+msgstr "Effectuer une optimisation sur mesure des appels"
+
+#: toplev.c:1057
+#, fuzzy
+msgid "Perform cross-jumping optimization"
+msgstr "Exécuter des optimisations de sauts de thread"
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
+msgstr ""
+
+#: toplev.c:1061
+#, fuzzy
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr "Changer le seuil pour la conversion en une exécution conditionnelle"
+
+#: toplev.c:1063
msgid "Run CSE pass after loop optimizations"
msgstr "Exécuter une passe CSE après une optimisation des boucles"
-#: toplev.c:1035
+#: toplev.c:1065
msgid "Run the loop optimizer twice"
msgstr "Exécuter l'optimiseur de boucle deux fois"
-#: toplev.c:1037
+#: toplev.c:1067
msgid "Delete useless null pointer checks"
msgstr "Détruire les vérifications de pointeurs nul inutiles"
-#: toplev.c:1039
-msgid "Pretend that host and target use the same FP format"
-msgstr "Prétendre que l'hôte et la cible utilise le format FP"
-
-#: toplev.c:1041
+#: toplev.c:1069
msgid "Reschedule instructions before register allocation"
-msgstr "Reçéduler les instructions avant l'allocation de registres"
+msgstr "Réordonnancer les instructions avant l'allocation de registres"
-#: toplev.c:1043
+#: toplev.c:1071
msgid "Reschedule instructions after register allocation"
-msgstr "Reçédulers les instructions après l'allocation de registres"
+msgstr "Réordonnancer les instructions après l'allocation de registres"
-#: toplev.c:1045
+#: toplev.c:1073
msgid "Enable scheduling across basic blocks"
-msgstr "Autoriser le çédulage à travers les blocs de base"
+msgstr "Autoriser l'ordonnancement à travers les blocs de base"
-#: toplev.c:1047
+#: toplev.c:1075
msgid "Allow speculative motion of non-loads"
msgstr "Autoriser le mouvement spéculatif de non chargements"
-#: toplev.c:1049
+#: toplev.c:1077
msgid "Allow speculative motion of some loads"
msgstr "Autoriser le mouvement spéculatif de quelques chargements"
-#: toplev.c:1051
+#: toplev.c:1079
msgid "Allow speculative motion of more loads"
msgstr "Autoriser le mouvement spéculatif de plusieurs chargements"
-#: toplev.c:1053
+#: toplev.c:1081
msgid "Replace add,compare,branch with branch on count reg"
msgstr "Remplacer add,compare,branch avec des branchements utilisant un compteur registre"
-#: toplev.c:1055
+#: toplev.c:1083
msgid "Generate position independent code, if possible"
msgstr "Générer du code indépendant de la position, si possible"
-#: toplev.c:1058
+#: toplev.c:1086
msgid "Enable exception handling"
msgstr "Autoriser le traitement des exceptions"
-#: toplev.c:1060
+#: toplev.c:1088
msgid "Just generate unwind tables for exception handling"
msgstr "Générer simplement des tables étendues pour le traitement des exceptions"
-#: toplev.c:1062
+#: toplev.c:1090
msgid "Generate unwind tables exact at each instruction boundary"
msgstr "Générer des tables étendues exactes pour chaque bornes d'instruction"
-#: toplev.c:1064
+#: toplev.c:1092
msgid "Support synchronous non-call exceptions"
msgstr "Supporter les exceptions synchrones des non appels"
-#: toplev.c:1066
+#: toplev.c:1094
msgid "Insert arc based program profiling code"
msgstr "Insérer le code de profilage du programme de base"
-#: toplev.c:1068
+#: toplev.c:1096
msgid "Create data files needed by gcov"
msgstr "Créer les fichiers de données nécessaires par gcov"
-#: toplev.c:1070
+#: toplev.c:1098
msgid "Use profiling information for branch probabilities"
msgstr "Utiliser les informations de profilage pour les probabilités de branchements"
-#: toplev.c:1072
+#: toplev.c:1100
+#, fuzzy
+msgid "Enable basic program profiling code"
+msgstr "Insérer le code de profilage du programme de base"
+
+#: toplev.c:1102
msgid "Reorder basic blocks to improve code placement"
msgstr "Ré-ordonner les blocs de base pour améliorer l'emplacement de code"
-#: toplev.c:1074
+#: toplev.c:1104
+#, fuzzy
+msgid "Reorder functions to improve code placement"
+msgstr "Ré-ordonner les blocs de base pour améliorer l'emplacement de code"
+
+#: toplev.c:1106
msgid "Do the register renaming optimization pass"
msgstr "Renommer les registres lors de la passe d'optimisation"
-#: toplev.c:1076
+#: toplev.c:1108
msgid "Do the register copy-propagation optimization pass"
msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
-#: toplev.c:1078
+#: toplev.c:1110
msgid "Do not put uninitialized globals in the common section"
msgstr "Ne pas placer de globaux non initialisés dans la section commune"
-#: toplev.c:1080
+#: toplev.c:1112
msgid "Do not generate .size directives"
msgstr "Ne pas générer de directives .size"
-#: toplev.c:1082
+#: toplev.c:1114
msgid "place each function into its own section"
msgstr "placer chaque fonction dans sa propre section"
-#: toplev.c:1084
+#: toplev.c:1116
msgid "place data items into their own section"
msgstr "placer les items des données dans leur propre section"
-#: toplev.c:1086
+#: toplev.c:1118
msgid "Add extra commentry to assembler output"
msgstr "Ajouter des commentaires additionnels à la sortie de l'assembleur"
-#: toplev.c:1088
+#: toplev.c:1120
msgid "Output GNU ld formatted global initializers"
-msgstr "Produire les initialiseurs globaux formattés pour GNU ld"
+msgstr "Produire des initialisations de globlales au format GNU ld"
-#: toplev.c:1090
+#: toplev.c:1122
msgid "Enables a register move optimization"
msgstr "Autoriser l'optimisation des déplacements par registre"
-#: toplev.c:1092
+#: toplev.c:1124
msgid "Do the full regmove optimization pass"
msgstr "Effectuer la passe d'optimisation complète des des déplacements par les registres"
-#: toplev.c:1094
+#: toplev.c:1126
msgid "Pack structure members together without holes"
msgstr "Empaqueter les membres des structures ensembles sans trous"
-#: toplev.c:1096
+#: toplev.c:1128
msgid "Insert stack checking code into the program"
msgstr "Insérer du code de vérificaion de la pile dans le programme"
-#: toplev.c:1098
+#: toplev.c:1130
msgid "Specify that arguments may alias each other & globals"
-msgstr "Assumer que les arguments peuvent avoir des alias l'un vers l'autre et globaux"
+msgstr "Présumer que les arguments peuvent avoir des alias l'un vers l'autre et globaux"
-#: toplev.c:1100
+#: toplev.c:1132
msgid "Assume arguments may alias globals but not each other"
-msgstr "Assumer que les arguments peuvent avoir des alias globaux mais pas l'un vers l'autre"
+msgstr "Présumer que les arguments peuvent avoir des alias globaux mais pas l'un vers l'autre"
-#: toplev.c:1102
+#: toplev.c:1134
msgid "Assume arguments do not alias each other or globals"
-msgstr "Assumer que les arguments n'ont pas d'alias l'un vers l'autre ou globaux"
+msgstr "Présumer que les arguments n'ont pas d'alias l'un vers l'autre ou globaux"
-#: toplev.c:1104
+#: toplev.c:1136
msgid "Assume strict aliasing rules apply"
-msgstr "Assumer que des règles stricts d'alias s'appliquent"
+msgstr "Présumer que des règles stricts d'alias s'appliquent"
-#: toplev.c:1106
+#: toplev.c:1138
msgid "Align the start of loops"
msgstr "Aligner le début des boucles"
-#: toplev.c:1108
+#: toplev.c:1140
msgid "Align labels which are only reached by jumping"
msgstr "Aligner les étiquettes qui sont seulement atteintes par sauts"
-#: toplev.c:1110
+#: toplev.c:1142
msgid "Align all labels"
msgstr "Aligner toutes les étiquettes"
-#: toplev.c:1112
+#: toplev.c:1144
msgid "Align the start of functions"
msgstr "Aligner le début des fonctions"
-#: toplev.c:1114
+#: toplev.c:1146
msgid "Attempt to merge identical constants accross compilation units"
msgstr "Tentative de fusion de constantes identiques à travers des unités de compilation"
-#: toplev.c:1116
+#: toplev.c:1148
msgid "Attempt to merge identical constants and constant variables"
msgstr "Tentative de fusion de constantes identique et des variables constantes"
-#: toplev.c:1118
+#: toplev.c:1150
msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr "Supprimer dans la sortie les numéros d'instructions et de notes de lignes dans les vidanges de mises au point"
-#: toplev.c:1120
+#: toplev.c:1152
msgid "Instrument function entry/exit with profiling calls"
msgstr "Traiter les entrées/sorties des fonctins avec appels de profilage"
-#: toplev.c:1122
+#: toplev.c:1154
+#, fuzzy
+msgid "Put zero initialized data in the bss section"
+msgstr "Ne pas placer de globaux non initialisés dans la section commune"
+
+#: toplev.c:1156
msgid "Enable SSA optimizations"
msgstr "Autoriser les optimisations SSA"
-#: toplev.c:1124
+#: toplev.c:1158
msgid "Enable SSA conditional constant propagation"
msgstr "Autoriser la propagation SSA de constante conditionnelle"
-#: toplev.c:1126
+#: toplev.c:1160
msgid "Enable aggressive SSA dead code elimination"
msgstr "Autoriser l'élimination agressive SSA du code mort"
-#: toplev.c:1128
+#: toplev.c:1162
msgid "External symbols have a leading underscore"
msgstr "Les symboles externes sont préfixés d'un caractère de soulignement"
-#: toplev.c:1130
+#: toplev.c:1164
msgid "Process #ident directives"
msgstr "Traiter les directive #ident"
-#: toplev.c:1132
+#: toplev.c:1166
msgid "Enables an rtl peephole pass run before sched2"
msgstr "Autoriser l'exécution de la passe rtl sur les trous avant sched2"
-#: toplev.c:1134
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr ""
+
+#: toplev.c:1170
msgid "Enables guessing of branch probabilities"
msgstr "Autoriser l'estimation des probabilités de branchement"
-#: toplev.c:1136
+#: toplev.c:1172
msgid "Set errno after built-in math functions"
msgstr "Initialiser errno après les fonctions internes mathématiques"
-#: toplev.c:1138
+#: toplev.c:1174
msgid "Floating-point operations can trap"
msgstr "les opérations virgule flottante peuvent être attrappées"
-#: toplev.c:1140
+#: toplev.c:1176
msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr "Permettre l'optimisation des maths qui peut violer les standards IEEE ou ANSI"
-#: toplev.c:1142
-msgid "Compile pointers as triples: value, base & end"
-msgstr "Compiler les pointeurs comme des triplets: valeur, base et fin"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
+msgstr ""
-#: toplev.c:1144
-msgid "Generate code to check bounds before dereferencing pointers and arrays"
+#: toplev.c:1180
+#, fuzzy
+msgid "Generate code to check bounds before indexing arrays"
msgstr "Générer du code pour vérifier les bornes avant de dé-référencer les pointeurs et les tableaux"
-#: toplev.c:1146
+#: toplev.c:1182
msgid "Convert floating point constant to single precision constant"
msgstr "Convertir les constantes flottantes en constantes en simple précision"
-#: toplev.c:1148
+#: toplev.c:1184
msgid "Report time taken by each compiler pass at end of run"
msgstr "Rapporter le temps pris par chaque passe de compilation à la fin de l'exécution"
-#: toplev.c:1150
+#: toplev.c:1186
msgid "Report on permanent memory allocation at end of run"
msgstr "Rapporter toute allocation de mémoire permanente à la fin de l'exécution"
-#: toplev.c:1152
+#: toplev.c:1188
msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr "Attrapper les débordements de signe dans addition/soustraction/multiplication"
-#: toplev.c:1169
-msgid "Compile just for ISO C89"
-msgstr "Compiler seulement pour ISO C89"
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
+msgstr "Utiliser l'allocation des registres par coloriage de graphe"
-#: toplev.c:1171
-msgid "Do not promote floats to double if using -traditional"
-msgstr "Ne pas promouvoir les flottants à des doubles avec -traditional"
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
+msgstr "Compiler seulement pour le C90 ISO"
-#: toplev.c:1173
+#: toplev.c:1209
msgid "Determine language standard"
msgstr "Déterminer le standard du langage"
-#: toplev.c:1177
+#: toplev.c:1213
msgid "Make bit-fields by unsigned by default"
msgstr "Rendre les champs de bits non signés par défaut"
-#: toplev.c:1181
+#: toplev.c:1217
msgid "Make 'char' be signed by default"
msgstr "Rendre les « char » signés par défaut"
-#: toplev.c:1183
+#: toplev.c:1219
msgid "Make 'char' be unsigned by default"
msgstr "Rendre les « char » non signés par défaut"
-#: toplev.c:1189
-msgid "Attempt to support traditional K&R style C"
-msgstr "Tenter de supporter le style de langage C traditionnel K&R"
-
-#: toplev.c:1195
+#: toplev.c:1225
msgid "Do not recognize the 'asm' keyword"
msgstr "Ne pas reconnaître le mot clé « asm »"
-#: toplev.c:1198
+#: toplev.c:1228
msgid "Do not recognize any built in functions"
msgstr "Ne pas reocnnaître aucun construit dans les fonctions"
-#: toplev.c:1200
+#: toplev.c:1230
msgid "Assume normal C execution environment"
-msgstr "Assumer un environnement d'exécution normal C"
+msgstr "Présumer que l'environnement d'exécution C est normal"
-#: toplev.c:1203
+#: toplev.c:1233
msgid "Assume that standard libraries & main might not exist"
-msgstr "Assumer que les librairies standards & main peuvent ne pas exister"
+msgstr "Présumer que les bibliothèques standards et main peuvent ne pas exister"
-#: toplev.c:1206
+#: toplev.c:1236
msgid "Allow different types as args of ? operator"
msgstr "Permettre des types différents pour les arguments de l'opérateur ?"
-#: toplev.c:1209
+#: toplev.c:1239
msgid "Allow the use of $ inside identifiers"
msgstr "Permettre l'utilisation de $ à l'intérieur d'identificateurs"
-#: toplev.c:1214
+#: toplev.c:1244
msgid "Use the same size for double as for float"
msgstr "Utiliser la même taille pour un double que pour un flottant"
-#: toplev.c:1217
+#: toplev.c:1247
msgid "Use the smallest fitting integer to hold enums"
msgstr "Utiliser le plus petit entier pour contenir l'énumération (enums)"
-#: toplev.c:1220
+#: toplev.c:1250
msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr "Écraser le type sous-jacent de wchar_t vers « unsigned short »"
-#: toplev.c:1224
+#: toplev.c:1254
msgid "Enable most warning messages"
msgstr "Autoriser la plupart des messages d'avertissement"
-#: toplev.c:1226
+#: toplev.c:1256
msgid "Warn about casting functions to incompatible types"
msgstr "Avertir à propos des fonctions de transtypage avec des types incompatibles"
-#: toplev.c:1230
+#: toplev.c:1259
msgid "Warn about functions which might be candidates for format attributes"
msgstr "Avertir à propos des fonctions qui pourraient être candidates pour les attributs de format"
-#: toplev.c:1233
+#: toplev.c:1262
msgid "Warn about casts which discard qualifiers"
msgstr "Avertir à propos des transtypage qui écartent les qualificateurs"
-#: toplev.c:1236
+#: toplev.c:1265
msgid "Warn about subscripts whose type is 'char'"
msgstr "Avertir à propose des souscripts dont le type est « char »"
-#: toplev.c:1239 toplev.c:1242
+#: toplev.c:1268 toplev.c:1271
msgid "Warn if nested comments are detected"
msgstr "Avertir si des commentaires imbriqués sont détectés"
-#: toplev.c:1245
+#: toplev.c:1274
msgid "Warn about possibly confusing type conversions"
msgstr "Avertir à propos des type de conversions confuses"
-#: toplev.c:1248
+#: toplev.c:1278
+#, fuzzy
+msgid "Do not warn about compile-time integer division by zero"
+msgstr "Ne pas intercepter les divisions par zéros sur des entiers"
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr "Avertir à propos des tests d'égalité sur des nombres flottants"
+
+#: toplev.c:1283
msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
msgstr "Avertir à propos des anomalies de format de printf/scanf/strftime/strfmon"
-#: toplev.c:1252
-msgid "Don't warn about strftime formats yielding 2 digit years"
-msgstr "Ne pas avertir à propos des formats de strftime ne laissant que 2 chiffres pour l'année"
-
-#: toplev.c:1255
+#: toplev.c:1287
msgid "Don't warn about too many arguments to format functions"
msgstr "Ne pas avertir à propos d'un surplus d'arguments pour des fonctions de format"
-#: toplev.c:1257
+#: toplev.c:1289
msgid "Warn about non-string-literal format strings"
msgstr "Avertir à propos des chaînes de format qui ne sont pas des chaînes"
-#: toplev.c:1260
+#: toplev.c:1292
msgid "Warn about possible security problems with format functions"
msgstr "Avertir à propos des problèmes possibles de sécurité avec les formats de fonction"
-#: toplev.c:1263
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr "Ne pas avertir à propos des formats de strftime ne laissant que 2 chiffres pour l'année"
+
+#: toplev.c:1298
msgid "Warn about implicit function declarations"
msgstr "Avertir à propos des déclarations de fonctions implicites"
-#: toplev.c:1267
+#: toplev.c:1302
msgid "Warn when a declaration does not specify a type"
msgstr "Avertir lorsqu'une déclaration ne spécifie pas le type"
-#: toplev.c:1272
+#: toplev.c:1307
msgid "Warn about the use of the #import directive"
msgstr "Avertir à propos de l'utilisation de la directive #import"
-#: toplev.c:1276
+#: toplev.c:1311
msgid "Do not warn about using 'long long' when -pedantic"
msgstr "Ne pas avertir à propos de l'utilisation de « long long » avec -pedantic"
-#: toplev.c:1278
+#: toplev.c:1313
msgid "Warn about suspicious declarations of main"
msgstr "Avertir à propos des déclarations douteuses de main"
-#: toplev.c:1281
+#: toplev.c:1316
msgid "Warn about possibly missing braces around initializers"
-msgstr "Avertir à propos des accolades possiblement manquantes autour des initialiseurs"
+msgstr "Avertir à propos des possibles accolades manquantes autour des initialisations"
-#: toplev.c:1284
+#: toplev.c:1319
msgid "Warn about global funcs without previous declarations"
msgstr "Avertir à propos des fonctions globales sans déclaration précédente"
-#: toplev.c:1287
+#: toplev.c:1322
msgid "Warn about global funcs without prototypes"
msgstr "Avertir à propos des fonctions globales sans prototype"
-#: toplev.c:1290
+#: toplev.c:1325
msgid "Warn about use of multicharacter literals"
msgstr "Avertir à propose de l'utilisation des chaînes de multi-caractères"
-#: toplev.c:1293
+#: toplev.c:1328
msgid "Warn about externs not at file scope level"
msgstr "Avertir à propos des externes qui n'est pas au niveau dans le champ du fichier"
-#: toplev.c:1296
+#: toplev.c:1331
msgid "Warn about possible missing parentheses"
msgstr "Avertir à propos du manque possible de parenthèses"
-#: toplev.c:1299
-msgid "Warn about possible violations of sequence point rules"
-msgstr "Avertir à propos des violations possibles des règles de séquence de points"
-
-#: toplev.c:1302
+#: toplev.c:1334
msgid "Warn about function pointer arithmetic"
msgstr "Avertir à propos d'arithmétique portant sur un pointeur de fonction"
-#: toplev.c:1305
+#: toplev.c:1337
msgid "Warn about multiple declarations of the same object"
msgstr "Avertir à propos des déclarations multiples portant sur le même objet"
-#: toplev.c:1308
-msgid "Warn about signed/unsigned comparisons"
-msgstr "Avertir à propos des comparaisons signés/non signés"
+#: toplev.c:1340
+#, fuzzy
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "le défaut choisi du type retourné est « int »"
-#: toplev.c:1311
-msgid "Warn about testing equality of floating point numbers"
-msgstr "Avertir à propos des tests d'égalité sur des nombres flottants"
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr "Avertir à propos des violations possibles des règles de séquence de points"
-#: toplev.c:1314
-msgid "Warn about unrecognized pragmas"
-msgstr "Avertir à propos des pragmas non reconnus"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr "Avertir à propos des comparaisons signés/non signés"
-#: toplev.c:1317
+#: toplev.c:1349
msgid "Warn about non-prototyped function decls"
msgstr "Avertir à propos des déclarations de fonction sans prototype"
-#: toplev.c:1320
-msgid "Warn about constructs whose meaning change in ISO C"
-msgstr "Avertir à propos de construits dont le sens change en ISO C"
+#: toplev.c:1352
+#, fuzzy
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr "Avertir à propos de construits dont le sens change en C ISO"
-#: toplev.c:1323
+#: toplev.c:1355
msgid "Warn when trigraphs are encountered"
msgstr "Avertir lorsque des trigraphes sont rencontrés"
-#: toplev.c:1328
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr "Avertir à propos des pragmas non reconnus"
+
+#: toplev.c:1363
msgid "Mark strings as 'const char *'"
msgstr "Marque les chaînes comme étant 'const char *'"
-#: toplev.c:1458
+#: toplev.c:1508
msgid "Warn when a function is unused"
msgstr "Avertir lorsqu'une fonction est inutilisée"
-#: toplev.c:1460
+#: toplev.c:1510
msgid "Warn when a label is unused"
msgstr "Avertir lorsqu'une étiquette est inutilisée"
-#: toplev.c:1462
+#: toplev.c:1512
msgid "Warn when a function parameter is unused"
msgstr "Avertir lorsqu'un paramètre de fonction est inutilisé"
-#: toplev.c:1464
+#: toplev.c:1514
msgid "Warn when a variable is unused"
msgstr "Avertir lorsque 'une variable est inutilisée"
-#: toplev.c:1466
+#: toplev.c:1516
msgid "Warn when an expression value is unused"
msgstr "Avertir lorsque la valeur d'une expression n'est pas utilisée"
-#: toplev.c:1468
+#: toplev.c:1518
msgid "Do not suppress warnings from system headers"
msgstr "Ne pas supprimer les avertissements pour les en-têtes système"
-#: toplev.c:1470
+#: toplev.c:1520
msgid "Treat all warnings as errors"
msgstr "Traiter tous les avertissements commes des erreurs"
-#: toplev.c:1472
+#: toplev.c:1522
msgid "Warn when one local variable shadows another"
-msgstr "Avertir lorsqu'une variable locale fait ombrage à une autre"
+msgstr "Avertir lorsqu'une variable locale masque une autre"
+
+#: toplev.c:1524
+#, fuzzy
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr "Avertir à propos d'un switch énuméré où un case spécific manque"
+
+#: toplev.c:1526
+#, fuzzy
+msgid "Warn about enumerated switches missing a default case"
+msgstr "Avertir à propos d'un switch énuméré où un case spécific manque"
-#: toplev.c:1474
-msgid "Warn about enumerated switches missing a specific case"
+#: toplev.c:1528
+#, fuzzy
+msgid "Warn about all enumerated switches missing a specific case"
msgstr "Avertir à propos d'un switch énuméré où un case spécific manque"
-#: toplev.c:1476
+#: toplev.c:1530
msgid "Warn about returning structures, unions or arrays"
msgstr "Avertir à propos de structures retournés, unions ou tableaux"
-#: toplev.c:1478
+#: toplev.c:1532
msgid "Warn about pointer casts which increase alignment"
msgstr "Avertir à propos des pointeurs convertis lesquels augment l'alignement"
-#: toplev.c:1480
+#: toplev.c:1534
msgid "Warn about code that will never be executed"
msgstr "Avertir à propos du code qui ne sera jamais exécuté"
-#: toplev.c:1482
+#: toplev.c:1536
msgid "Warn about uninitialized automatic variables"
msgstr "Avertir à propos des variables automatiques non initialisées"
-#: toplev.c:1484
+#: toplev.c:1538
msgid "Warn when an inlined function cannot be inlined"
msgstr "Avertir lorsque des fonctions en ligne ne peuvent être en ligne"
-#: toplev.c:1486
+#: toplev.c:1540
msgid "Warn when the packed attribute has no effect on struct layout"
msgstr "Avertir lorsque les attributs paquetés n'ont pas d'effet sur l'organtisation d'un struct"
-#: toplev.c:1488
+#: toplev.c:1542
msgid "Warn when padding is required to align struct members"
msgstr "Avertir lorsque le remplissage est requis pour aligner les membres d'un struct"
-#: toplev.c:1490
+#: toplev.c:1544
msgid "Warn when an optimization pass is disabled"
msgstr "Avertir lorsque la passe d'optimisation est désactivée"
-#: toplev.c:1492
+#: toplev.c:1546
msgid "Warn about uses of __attribute__((deprecated)) declarations"
msgstr "Avertir à propos de l'utilisation des déclarations « __attribute__ ((deprecated)) »"
-#: toplev.c:1494
+#: toplev.c:1548
msgid "Warn about functions which might be candidates for attribute noreturn"
msgstr "Avertir à propos des fonctions qui seraient candidates pour des attributs non retournés"
-#: toplev.c:1565 toplev.c:4379 tradcpp.c:792
+#: toplev.c:1550
+#, fuzzy
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr "Avertir à propos des fonctions qui pourraient être candidates pour les attributs de format"
+
+#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676
#, c-format
msgid "invalid option `%s'"
msgstr "option invalide « %s »"
-#: toplev.c:1711
-#, c-format
-msgid "internal error: %s"
-msgstr "erreur interne: %s"
-
-#: toplev.c:2024
+#: toplev.c:2029
#, c-format
msgid "`%s' used but never defined"
msgstr "« %s » utilisé mais n'a jamais été défini"
-#: toplev.c:2027
+#: toplev.c:2032
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr "« %s » déclaré «static » mais n'a jamais été défiie"
-#: toplev.c:2049
+#: toplev.c:2051
#, c-format
msgid "`%s' defined but not used"
msgstr "« %s » défini mais n'a pas été utilisé"
-#: toplev.c:2280
+#: toplev.c:2300
#, c-format
msgid "invalid register name `%s' for register variable"
msgstr "nom de registre invalide « %s » pour un variable registre"
-#: toplev.c:3279
-#, c-format
-msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr "saut croisé désactivé: %d > 1000 blocs de base et %d >= 20 blocs edges/basic"
-
-#: toplev.c:3590
+#: toplev.c:3683
msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
msgstr " -ffixed-<registre> marque le <registre> qui est rendu indisponibles pour le compilateur\n"
-#: toplev.c:3591
+#: toplev.c:3684
msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
msgstr " -fcall-used-<registre> marquer le <registre> qui est corrompu par les appels de fonctions\n"
-#: toplev.c:3592
+#: toplev.c:3685
msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
msgstr " -fcall-saved-<registre> marquer le <registre> qui est préservé à travers les fonctions\n"
-#: toplev.c:3593
+#: toplev.c:3686
msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr " -finline-limit=<nombre> limiter la taille des fonction en ligne à <nombre>\n"
-#: toplev.c:3594
+#: toplev.c:3687
msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
msgstr " -fmessage-length=<nombre> limiter la longueur des messages de diagnotiques à <nombre> de caractères par ligne. 0 supprime l'enroulement de ligne\n"
-#: toplev.c:3595
+#: 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 " -fdiagnostics-show-location=[once | every-line] indiquer combien de fois les information de localisation des sources doivent être produites, comme préfixe, au début d'un diagnostique lorsque les lignes doivent s'enrouler sur d'autres\n"
-#: toplev.c:3606
+#: 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 " -O[NIVEAU] utiliser le NIVEAU d'optimisation\n"
-#: toplev.c:3607
+#: toplev.c:3701
msgid " -Os Optimize for space rather than speed\n"
msgstr " -Os optimiser l'utilisation de l'espace plutôt que la vitesse\n"
-#: toplev.c:3619
+#: toplev.c:3713
msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
-msgstr " -pedantic émettre les avertissements nécessaires pour être conforme de façon stricte à ISO C\n"
+msgstr " -pedantic émettre les avertissements nécessaires pour être conforme de façon stricte au C ISO\n"
-#: toplev.c:3620
+#: toplev.c:3714
msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr " -pedantic-errors identique à -pedantic sauf que les erreurs sont produites\n"
-#: toplev.c:3621
+#: toplev.c:3715
msgid " -w Suppress warnings\n"
msgstr " -w supprimer les avertissements\n"
-#: toplev.c:3622
+#: toplev.c:3716
msgid " -W Enable extra warnings\n"
msgstr " -W autoriser les avertissements additionnels\n"
-#: toplev.c:3633
+#: toplev.c:3727
msgid " -Wunused Enable unused warnings\n"
msgstr " -Wunused autoriser les avertissements pour signaler les non utilisés\n"
-#: toplev.c:3634
+#: toplev.c:3728
msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr " -Wlarger-than-<nombre> avertir si un objet est plus grand que <nombre> d'octets\n"
-#: toplev.c:3635
+#: toplev.c:3729
msgid " -p Enable function profiling\n"
msgstr " -p autoriser le profilage des fonctions\n"
-#: toplev.c:3637
-msgid " -a Enable block profiling \n"
-msgstr " -a autoriser le profilage des blocs \n"
-
-#: toplev.c:3640
-msgid " -ax Enable jump profiling \n"
-msgstr " -ax autoriser le profilage des sauts \n"
-
-#: toplev.c:3642
+#: toplev.c:3730
msgid " -o <file> Place output into <file> \n"
msgstr " -o <fichier> produire la sortie dans le <fichier> \n"
-#: toplev.c:3643
+#: toplev.c:3731
msgid ""
" -G <number> Put global and static data smaller than <number>\n"
" bytes into a special section (on some targets)\n"
@@ -7480,35 +8041,35 @@ msgstr ""
" petites que <nombre> d'octets dans une section\n"
" spéciale (sur certaine cible)\n"
-#: toplev.c:3654
+#: toplev.c:3742
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr " -aux-info <fichier> produire une info de déclaration dans le <fichier>\n"
-#: toplev.c:3655
+#: toplev.c:3743
msgid " -quiet Do not display functions compiled or elapsed time\n"
msgstr " -quiet ne pas afficher les fonctions compilées ou le temps écoulé\n"
-#: toplev.c:3656
+#: toplev.c:3744
msgid " -version Display the compiler's version\n"
msgstr " -version afficher la version du compilateur\n"
-#: toplev.c:3657
+#: toplev.c:3745
msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr " -d[lettres] autoriser les vidanges pour des passes spécifiques du compilateur\n"
-#: toplev.c:3658
+#: toplev.c:3746
msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
msgstr " -dumpbase <fichier> nom de base à utiliser pour les vidanges de passes spécifiques\n"
-#: toplev.c:3660
+#: toplev.c:3748
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
-msgstr " -fsched-verbose=<numéro> initialiser le niveau de verbosité du céduleur\n"
+msgstr " -fsched-verbose=<numéro> initialiser le niveau de verbosité de l'ordonnanceur\n"
-#: toplev.c:3662
+#: toplev.c:3750
msgid " --help Display this information\n"
msgstr " --help afficher l'aide-mémoire\n"
-#: toplev.c:3677
+#: toplev.c:3765
msgid ""
"\n"
"Language specific options:\n"
@@ -7516,12 +8077,12 @@ msgstr ""
"\n"
"Options spécifiques au langage:\n"
-#: toplev.c:3689
+#: toplev.c:3777
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr " %-23.23s [non documenté]\n"
-#: toplev.c:3697 toplev.c:3711
+#: toplev.c:3785 toplev.c:3799
#, c-format
msgid ""
"\n"
@@ -7530,7 +8091,7 @@ msgstr ""
"\n"
"Il y a des options spécifiques %s qui ne sont pas documentés aussi.\n"
-#: toplev.c:3701
+#: toplev.c:3789
#, c-format
msgid ""
"\n"
@@ -7539,7 +8100,7 @@ msgstr ""
"\n"
" Options pour %s:\n"
-#: toplev.c:3738
+#: toplev.c:3826
msgid ""
"\n"
"Target specific options:\n"
@@ -7547,12 +8108,12 @@ msgstr ""
"\n"
"Options spécifiques à la cible:\n"
-#: toplev.c:3752 toplev.c:3771
+#: toplev.c:3840 toplev.c:3859
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr " -m%-23.23s [non documenté]\n"
-#: toplev.c:3780
+#: toplev.c:3868
msgid ""
"\n"
"There are undocumented target specific options as well.\n"
@@ -7560,68 +8121,73 @@ msgstr ""
"\n"
"Il y a des options spécifiques à la cible qui ne sont pas documentés aussi.\n"
-#: toplev.c:3782
+#: toplev.c:3870
msgid " They exist, but they are not documented.\n"
msgstr " Ils existent, mais ils ne sont pas documentés.\n"
-#: toplev.c:3835
+#: toplev.c:3923
#, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr "option gcc de mise au point non reconnue: %c"
-#: toplev.c:3905
+#: toplev.c:3979
+#, fuzzy, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "« %s »: inconnu ou non supporté option -g"
+
+#: toplev.c:4006
#, c-format
msgid "unrecognized register name `%s'"
msgstr "nom de registre non reconnue « %s »"
-#: toplev.c:3930 toplev.c:4808
+#: toplev.c:4031 toplev.c:4965
#, c-format
msgid "unrecognized option `%s'"
msgstr "option « %s » non reconnue"
-#: toplev.c:3974
+#: toplev.c:4075
msgid "-Wid-clash-LEN is no longer supported"
msgstr "-Wid-clash-LEN n'est plus supportée"
-#: toplev.c:4051
+#: toplev.c:4152
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr "utiliser -gdwarf -g%d pour DWARF v1, niveau %d"
-#: toplev.c:4054
+#: toplev.c:4155
msgid "use -gdwarf-2 for DWARF v2"
msgstr "utiliser -gdwarf-2 pour DWARF v2"
-#: toplev.c:4059
+#: toplev.c:4160
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr "option « %s » ignorée en raison de la spécification du niveau de mise au poitn invalide"
-#: toplev.c:4082 toplev.c:4806
+#: toplev.c:4183 toplev.c:4963
#, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr "« %s »: inconnu ou non supporté option -g"
-#: toplev.c:4089
+#: toplev.c:4190
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr "« %s » ignoré, en conflit avec «-g%s»"
-#: toplev.c:4168
+#: toplev.c:4269
msgid "-param option missing argument"
msgstr "argument manquant pour l'option -param"
-#: toplev.c:4177
+#: toplev.c:4278
#, c-format
msgid "invalid --param option: %s"
msgstr "option invalide --param: %s"
-#: toplev.c:4189
+#: toplev.c:4290
#, c-format
msgid "invalid parameter value `%s'"
msgstr "valeur du paramètre invalide « %s »"
-#: toplev.c:4396
+#: toplev.c:4530
#, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7632,1125 +8198,894 @@ msgstr ""
"%s\tcompilé par GNU C version %s.\n"
"%s%s%s version %s (%s) compilé par CC.\n"
-#: toplev.c:4452
+#: toplev.c:4586
msgid "options passed: "
msgstr "options passées: "
-#: toplev.c:4481
+#: toplev.c:4615
msgid "options enabled: "
msgstr "options autorisées: "
-#: toplev.c:4540 java/jcf-write.c:3373
+#: toplev.c:4674 java/jcf-write.c:3421
#, c-format
msgid "can't open %s for writing"
msgstr "ne peut ouvrir %s en écriture"
-#: toplev.c:4798
+#: toplev.c:4955
#, c-format
msgid "ignoring command line option '%s'"
msgstr "option « %s » de la ligne de commande est ignorée"
-#: toplev.c:4801
+#: toplev.c:4958
#, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr "(c'est valide pour %s mais pas pour le langage séclectionné)"
-#: toplev.c:4835
+#: toplev.c:4992
msgid "-Wuninitialized is not supported without -O"
msgstr "-Wuninitialized n'est pas supporté sans -O"
-#: toplev.c:4894
+#: toplev.c:5047
msgid "instruction scheduling not supported on this target machine"
-msgstr "instruction de cédulage n'est pas supportée sur cette machine cible"
+msgstr "instruction d'ordonnancement n'est pas supportée sur cette machine cible"
-#: toplev.c:4898
+#: toplev.c:5051
msgid "this target machine does not have delayed branches"
msgstr "cette machine cible n'a pas de branchments avec délais"
-#: toplev.c:4907
-msgid "profiling does not work without a frame pointer"
-msgstr "profilage ne fonctionne pas sans un pointeur de trames"
-
-#: toplev.c:4922
+#: toplev.c:5065
#, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr "-f%sleading-underscore n'est pas supporté sur cette machine cible"
-#: toplev.c:4985
+#: toplev.c:5128
msgid "-ffunction-sections not supported for this target"
msgstr "-ffunction-sections n'est pas supporté pour cette cible"
-#: toplev.c:4990
+#: toplev.c:5133
msgid "-fdata-sections not supported for this target"
msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
-#: toplev.c:4997
+#: toplev.c:5140
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr "-ffunction-sections désactivé; cela rend le profilage impossible"
-#: toplev.c:5004
+#: toplev.c:5147
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr "-fprefetch-loop-arrays n'est pas supporté pour cette machine cible"
-#: toplev.c:5010
+#: toplev.c:5153
msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr "-fprefetch-loop-arrays n'est pas supporté sur cette machine cible (essayer -march options)"
-#: toplev.c:5019
+#: toplev.c:5162
msgid "-fprefetch-loop-arrays is not supported with -Os"
msgstr "-fprefetch-loop-arrays n'est pas supporté avec -Os"
-#: toplev.c:5025
+#: toplev.c:5168
msgid "-ffunction-sections may affect debugging on some targets"
msgstr "-ffunction-sections peut affecter la mise au point sur quelques machines cibles."
-#: toplev.c:5146
+#: toplev.c:5280
#, c-format
msgid "error writing to %s"
msgstr "erreur d'écriture dans %s"
-#: toplev.c:5148 java/jcf-parse.c:969 java/jcf-write.c:3380
+#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428
#, c-format
msgid "error closing %s"
msgstr "erreur de fermeture %s"
-#. It's a float since it contains a point.
-#: tradcif.y:231
-msgid "floating point numbers not allowed in #if expressions"
-msgstr "nombres flottants ne sont pas permis dans les expressions #if"
-
-#: tradcif.y:277
-msgid "invalid number in #if expression"
-msgstr "nombre invalide dans l'expression #if"
-
-#: tradcif.y:357
-msgid "invalid character constant in #if"
-msgstr "constante de caractères invalide dans le #if"
-
-#: tradcif.y:394
-msgid "double quoted strings not allowed in #if expressions"
-msgstr "chaînes entre quillemets ne sont pas allouées dans les expression #if"
-
-#: tradcif.y:407
-msgid "invalid token in expression"
-msgstr "jeton invalide dans l'expression"
-
-#: tradcif.y:498
-msgid "octal character constant does not fit in a byte"
-msgstr "constante de caractères en octal ne peut être insérée dans un octet"
-
-#: tradcif.y:519
-msgid "hex character constant does not fit in a byte"
-msgstr "constante de caractères en hexadémical ne peut être insérée dans un octet"
-
-#: tradcif.y:550
-msgid "empty #if expression"
-msgstr "expression #if vide"
-
-#: tradcif.y:564
-msgid "Junk after end of expression."
-msgstr "Rebut à la fin de l'expression."
-
-#: tradcpp.c:145
-msgid "macro or #include recursion too deep"
-msgstr "macro ou récursion de #include trop profonde"
-
-#: tradcpp.c:562
-#, c-format
-msgid "usage: %s [switches] input output"
-msgstr "usage: %s [options] entrée sortie"
-
-#: tradcpp.c:578
-msgid "-traditional is not supported in C++"
-msgstr "-traditional n'est pas supporté en C++"
-
-#: tradcpp.c:580
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr "-traditional et -ansi sont mutuellement exclusives"
-
-#: tradcpp.c:594
-msgid "filename missing after -i option"
-msgstr "nom de fichier manquant après l'option -i"
-
-#: tradcpp.c:612
-msgid "filename missing after -o option"
-msgstr "nom de fichier manquant après l'option -o"
-
-#: tradcpp.c:675
-#, c-format
-msgid "target missing after %s option"
-msgstr "cible manquante après l'option %s"
-
-#: tradcpp.c:689
-#, c-format
-msgid "filename missing after %s option"
-msgstr "nom de fichier manquant après l'option %s"
-
-#: tradcpp.c:714
-#, c-format
-msgid "macro name missing after -%c option"
-msgstr "nom de macro manquant après l'option -%c"
-
-#: tradcpp.c:734
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "-pedantic et -traditional sont mutuellement exclusives"
-
-#: tradcpp.c:739
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "-trigraphs et -traditional sont mutuellement exclusives"
-
-#: tradcpp.c:765
-msgid "directory name missing after -I option"
-msgstr "nom de répertoire manquant après l'option -I"
-
-#: tradcpp.c:1445 tradcpp.c:3937
-msgid "`/*' within comment"
-msgstr "«/*» à l'intérieur d'un commentaire"
-
-#: tradcpp.c:1821
-#, c-format
-msgid "unterminated #%s conditional"
-msgstr "#%s conditionel non terminé"
-
-#: tradcpp.c:2180
-msgid "not in any file?!"
-msgstr "n'est pas dans aucun fichier?!"
-
-#: tradcpp.c:2286
-msgid "`defined' must be followed by ident or (ident)"
-msgstr "« defined » doit être suivi par ident ou (ident)"
-
-#: tradcpp.c:2290
-msgid "cccp error: invalid special hash type"
-msgstr "erreur cccp: type de hachage spécial invalide"
-
-#: tradcpp.c:2388 tradcpp.c:2458
-msgid "#include expects \"fname\" or <fname>"
-msgstr "#include espère « fname » ou <fname>"
-
-#: tradcpp.c:2543
-#, c-format
-msgid "no include path in which to find %.*s"
-msgstr "pas de chemin d'inclusion dans lequel trouver %.*s"
-
-#: tradcpp.c:2721
-msgid "invalid macro name"
-msgstr "nom de macro invalide"
-
-#: tradcpp.c:2729
-#, c-format
-msgid "invalid macro name `%s'"
-msgstr "nom de macro invalide « %s »"
-
-#: tradcpp.c:2734
-msgid "\"defined\" cannot be used as a macro name"
-msgstr "« defined » ne peut être utilisé comme nom de macro"
-
-#: tradcpp.c:2761
-msgid "parameter name starts with a digit in #define"
-msgstr "nom de paramètre débute avec un chiffre dans #define"
-
-#: tradcpp.c:2771
-msgid "badly punctuated parameter list in #define"
-msgstr "liste de paramètres incorrectement ponctués dans #define"
-
-#: tradcpp.c:2779
-msgid "unterminated parameter list in #define"
-msgstr "liste de paramètres non terminée dans #define"
-
-#: tradcpp.c:2827
-#, c-format
-msgid "\"%.*s\" redefined"
-msgstr "\"%.*s\" redéfini"
-
-#: tradcpp.c:3084
-msgid "# operator should be followed by a macro argument name"
-msgstr "# opérator derait être suivi par le nom d'un argument macro"
-
-#: tradcpp.c:3131 tradcpp.c:3157 tradcpp.c:3171 tradcpp.c:3178 tradcpp.c:3203
-msgid "invalid format #line command"
-msgstr "format invalide dans la commande #line"
-
-#: tradcpp.c:3229
-msgid "undefining `defined'"
-msgstr "indéfinition « defined »"
-
-#: tradcpp.c:3233
-#, c-format
-msgid "undefining `%s'"
-msgstr "indéfinition « %s »"
-
-#: tradcpp.c:3289
-msgid "extra text at end of directive"
-msgstr "texte superflu à la fin de la directive"
-
-#: tradcpp.c:3396
-#, c-format
-msgid "#error%.*s"
-msgstr "#error%.*s"
-
-#: tradcpp.c:3406
-#, c-format
-msgid "#warning%.*s"
-msgstr "#warning%.*s"
-
-#: tradcpp.c:3562
-msgid "#elif not within a conditional"
-msgstr "#elif n'est pas à l'intérieur d'un conditionel"
-
-#: tradcpp.c:3819
-#, c-format
-msgid "#%s not within a conditional"
-msgstr "#%s n'est pas à l'intérieur d'un conditionel"
-
-#: tradcpp.c:3827
-msgid "#else or #elif after #else"
-msgstr "#else ou #elif après #else"
-
-#: tradcpp.c:3867
-msgid "#else not within a conditional"
-msgstr "#else n'est pas à l'intérieur d'un conditionel"
-
-#: tradcpp.c:3898
-msgid "unbalanced #endif"
-msgstr "#endif non pairé"
-
-#: tradcpp.c:3992
-msgid "unterminated string or character constant"
-msgstr "chaîne non terminée ou constante caractère"
-
-#: tradcpp.c:4150
-#, c-format
-msgid "arguments given to macro `%s'"
-msgstr "argument donnée à la macro « %s »"
-
-#: tradcpp.c:4156
-#, c-format
-msgid "no args to macro `%s'"
-msgstr "aucun argument pour la macro « %s »"
-
-#: tradcpp.c:4158
-#, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "seulement 1 argument pour la macro « %s »"
-
-#: tradcpp.c:4160
-#, c-format
-msgid "only %d args to macro `%s'"
-msgstr "seulement %d arguments pour la macro « %s »"
-
-#: tradcpp.c:4162
-#, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "trop d'arguments (%d) pour la macro « %s »"
-
-#: tradcpp.c:4759
-#, c-format
-msgid ""
-"internal error in %s, at tradcpp.c:%d\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"Erreur interne dans %s, à tradcpp.c:%d\n"
-"SVP soumettre un rapport complet des anomalies rencontrées.\n"
-"Consulter %s pour les instructions."
-
-#: tree-dump.c:848
+#: tree-dump.c:702
#, c-format
msgid "could not open dump file `%s'"
msgstr "ne peut ouvrir le fichier de vidange « %s »"
-#: tree-dump.c:924
+#: tree-dump.c:778
#, c-format
msgid "ignoring unknown option `%.*s' in `-f%s'"
msgstr "option inconnue «%.*s» ignorée dans «-f%s»"
-#: tree.c:3888
+#: tree.c:3645
msgid "arrays of functions are not meaningful"
msgstr "tableaux de fonctions n'a pas grand sens"
-#: tree.c:3945
+#: tree.c:3702
msgid "function return type cannot be function"
msgstr "Le type retourné d'une fonction ne peut être une fonction"
-#: tree.c:4699
+#: tree.c:4544
msgid "invalid initializer for bit string"
-msgstr "initialiseur invalide pour une chaîne de bits"
+msgstr "initialisation invalide pour une chaîne de bits"
-#: tree.c:4758
+#: tree.c:4603
#, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr "vérification de l'arbre: attendait %s, obtenu %s dans %s, à %s:%d"
-#: tree.c:4775
+#: tree.c:4620
#, c-format
msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
msgstr "vérification de l'arbre: attendait classe « %c », obtenu « %c » (%s) dans %s, à %s:%d"
-#: varasm.c:454 config/i386/winnt.c:522
+#: tree.c:4637
+#, fuzzy, c-format
+msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+msgstr "vérification RTL: accès de elt %d du vecteur avec le dernier elt %d dans %s, à %s:%d"
+
+#: varasm.c:455 config/i386/winnt.c:546
#, c-format
msgid "%s causes a section type conflict"
msgstr "%s cause un conflit du type de section"
-#: varasm.c:879
+#: varasm.c:841
#, c-format
msgid "register name not specified for `%s'"
msgstr "nom de registre n'est pas spécifié pour « %s »"
-#: varasm.c:881
+#: varasm.c:843
#, c-format
msgid "invalid register name for `%s'"
msgstr "nom de registre invalide pour « %s »"
-#: varasm.c:884
+#: varasm.c:846
#, c-format
msgid "data type of `%s' isn't suitable for a register"
msgstr "type de données de « %s » n'est pas applicable pour un registre"
-#: varasm.c:887
+#: varasm.c:849
#, c-format
msgid "register specified for `%s' isn't suitable for data type"
msgstr "registre spécifié pour « %s » n'est applicable à un type de données"
-#: varasm.c:896
+#: varasm.c:858
msgid "global register variable has initial value"
msgstr "variable globale registre a une valeur initiale"
-#: varasm.c:899
+#: varasm.c:861
msgid "volatile register variables don't work as you might wish"
msgstr "variables resgistres volatiles ne fonctionne pas comme vous le souhaiteriez"
-#: varasm.c:932
+#: varasm.c:894
#, c-format
msgid "register name given for non-register variable `%s'"
msgstr "nom de registre donné pour une variable non registre « %s »"
-#: varasm.c:1570
+#: varasm.c:1542
#, c-format
msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr "alignement de « %s » est plus grand que l'alignement maximal du fichier objet. %d est utilisé."
-#: varasm.c:1621
+#: 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 "alignement requis pour %s est plus grand que l'alignement implanté de %d"
-#: varasm.c:4570
+#: varasm.c:4020
msgid "initializer for integer value is too complicated"
-msgstr "initialiseur pour une valeur entière est trop compliquée"
+msgstr "initialisation d'entier trop compliquée"
-#: varasm.c:4575
+#: varasm.c:4025
msgid "initializer for floating value is not a floating constant"
-msgstr "initialiseur pour une valeur flottante n'est pas une constante flottante"
+msgstr "l'initialisation d'une valeur à virgule flottante n'est pas une constante à virgule flottante"
-#: varasm.c:4625
+#: varasm.c:4075
msgid "unknown set constructor type"
msgstr "type de jeu de constructeurs inconnu"
-#: varasm.c:4839
+#: varasm.c:4289
#, c-format
msgid "invalid initial value for member `%s'"
msgstr "valeur initiale invalide pour le membre « %s »"
-#: varasm.c:5000
-#, c-format
-msgid "weak declaration of `%s' must be public"
-msgstr "déclaration faible de « %s » doit être publique"
-
-#: varasm.c:5002
+#: varasm.c:4480 varasm.c:4523
#, c-format
msgid "weak declaration of `%s' must precede definition"
msgstr "déclaraion faible de « %s » qui doit être précédée d'une définition"
-#: varasm.c:5009
+#: varasm.c:4487
+#, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "déclaraion faible de « %s » après une première utilisation des résultats d'un comportement non spécifié"
+
+#: varasm.c:4521
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr "déclaration faible de « %s » doit être publique"
+
+#: varasm.c:4530
#, c-format
msgid "weak declaration of `%s' not supported"
msgstr "déclaration faible de « %s » n'est pas supportée"
-#: varasm.c:5036 varasm.c:5107
+#: varasm.c:4557 varasm.c:4632
msgid "only weak aliases are supported in this configuration"
msgstr "seulement les alias faibles sont supportés dans cette configuration"
-#: varasm.c:5116
+#: varasm.c:4640
msgid "alias definitions not supported in this configuration; ignored"
msgstr "définitions d'alias ne sont pas supportés dans cette configuration; ignoré"
-#: varray.c:88
+#: varasm.c:4670
+#, fuzzy
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "définitions d'alias ne sont pas supportés dans cette configuration; ignoré"
+
+#: varray.c:134
#, c-format
msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
msgstr "tableau virtuel %s[%lu]: élément %lu hors gamme dans %s, à %s:%d"
#. 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 "pas de sclass pour le stab %s (0x%x)\n"
-#: params.def:46
-msgid "The maximum number of instructions in a function that is eligible for inlining"
+#: pretty-print.h:97
+#, fuzzy, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "« %s » n'est pas supporté par %s"
+
+#: params.def:53
+#, fuzzy
+msgid "The maximum number of instructions in a single function eliglible for inlining"
+msgstr "Le nombre maximum d'instructions dans une fonction qui est éligible au type enligne"
+
+#: params.def:74
+#, fuzzy
+msgid "The maximuem number of instructions by repeated inlining before gcc starts to throttle inlining"
+msgstr "Le nombre maximum d'instructions dans une fonction qui est éligible au type enligne"
+
+#: 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
+#, fuzzy
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
msgstr "Le nombre maximum d'instructions dans une fonction qui est éligible au type enligne"
-#: params.def:57
+#: params.def:111
msgid "The maximum number of instructions to consider to fill a delay slot"
msgstr "Le nombre maximum d'instructions à considérer pour remplir une slot délai"
-#: params.def:68
+#: params.def:122
msgid "The maximum number of instructions to consider to find accurate live register information"
msgstr "Le nombre maximum d'instructions à considérer pour repérer un registre d'information actif et précis"
-#: params.def:78
+#: params.def:132
msgid "The maximum length of scheduling's pending operations list"
-msgstr "La longueur maximum de la liste des opération çédulées en attente"
+msgstr "La longueur maximale de la liste des opération en attente d'ordonnancement"
-#: params.def:85
+#: params.def:139
msgid "The maximum amount of memory to be allocated by GCSE"
msgstr "La taille maximale de mémoire à être alloué par GCSE"
-#: params.def:90
+#: params.def:144
msgid "The maximum number of passes to make when doing GCSE"
msgstr "Le nombre maxium de passes à effectuer lors de l'exécution de GCSE"
-#: config/darwin-c.c:76
+#: params.def:151
+#, fuzzy
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr "Le nombre maximum d'instructions à considérer pour remplir une slot délai"
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: params.def:176
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr ""
+
+#: params.def:180
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: params.def:204
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr ""
+
+#: params.def:210
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr ""
+
+#: config/darwin-c.c:75
msgid "too many #pragma options align=reset"
msgstr "trop d'options pour #pragma pour align=reset"
-#: config/darwin-c.c:98 config/darwin-c.c:101 config/darwin-c.c:103 config/darwin-c.c:105
+#: 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 "'#pragma options» mal composé, ignoré"
-#: config/darwin-c.c:108
+#: config/darwin-c.c:107
msgid "junk at end of '#pragma options'"
msgstr "rebut à la fin de '#pragma options'"
-#: config/darwin-c.c:118
+#: config/darwin-c.c:117
msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
msgstr "'#pragma options align={mac68k|power|reset}» mal composé, ignoré"
-#: config/darwin-c.c:131
+#: config/darwin-c.c:130
msgid "missing '(' after '#pragma unused', ignoring"
msgstr "«(» manquante après '#pragma unused', ignoré"
-#: config/darwin-c.c:149
+#: config/darwin-c.c:148
msgid "missing ')' after '#pragma unused', ignoring"
msgstr "«(» manquante après '#pragma unused', ignoré"
-#: config/darwin-c.c:152
+#: config/darwin-c.c:151
msgid "junk at end of '#pragma unused'"
msgstr "rebut à la fin de '#pragma unused'"
-#: config/nextstep.c:68
-msgid "optimization turned on"
-msgstr "optimisation activée"
-
-#: config/nextstep.c:74
-msgid "optimization turned off"
-msgstr "optimisation désactivée"
-
-#: config/nextstep.c:83
-msgid "optimization level restored"
-msgstr "niveau d'optimisation restauré"
-
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
msgid "-msystem-v and -p are incompatible"
msgstr "-msystem-v et -p sont incompatibles"
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87
+#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102
msgid "-msystem-v and -mthreads are incompatible"
msgstr "-msystem-v et -mthreads sont incompatibles"
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
-msgstr "Utiliser l'alignement VAX-C"
-
-#: config/a29k/a29k.c:1028 config/m88k/m88k.c:2967
-#, c-format
-msgid "invalid %%Q value"
-msgstr "valeur %%Q invalide"
-
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5402 config/m88k/m88k.c:3063
-#, c-format
-msgid "invalid %%C value"
-msgstr "valeur %%C invalide"
-
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5247 config/rs6000/rs6000.c:6454
-#, c-format
-msgid "invalid %%N value"
-msgstr "valeur %%N invalide"
-
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5318 config/rs6000/rs6000.c:6416
-#, c-format
-msgid "invalid %%M value"
-msgstr "valeur %%M invalide"
-
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5310 config/rs6000/rs6000.c:6381
-#, c-format
-msgid "invalid %%m value"
-msgstr "valeur %%m invalide"
-
-#: config/a29k/a29k.c:1154 config/alpha/alpha.c:5271 config/romp/romp.c:690
-#, c-format
-msgid "invalid %%L value"
-msgstr "valeur %%L invalide"
-
-#: config/a29k/a29k.c:1159 config/rs6000/rs6000.c:6462
-#, c-format
-msgid "invalid %%O value"
-msgstr "valeur %%O invalide"
-
-#: config/a29k/a29k.c:1165 config/alpha/alpha.c:5255 config/rs6000/rs6000.c:6482
-#, c-format
-msgid "invalid %%P value"
-msgstr "valeur %%P invalide"
-
-#: config/a29k/a29k.c:1175
-#, c-format
-msgid "invalid %%V value"
-msgstr "valeur %%V invalide"
-
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
-msgstr "Générer le code en assumant que le bit DW est initialisé"
-
-#: config/a29k/a29k.h:102
-msgid "Generate code assuming DW bit is not set"
-msgstr "Générer le code en assumant que le bit DW n'est pas initialisé"
-
-#: config/a29k/a29k.h:103
-msgid "Generate code using byte writes"
-msgstr "Générer le code en utilisant des écritures par octets"
-
-#: config/a29k/a29k.h:104
-msgid "Do not generate byte writes"
-msgstr "Ne pas générer des écritures par octets"
-
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
-msgstr "Utiliser le modèle de petite mémoire"
-
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
-msgstr "Utiliser le modèle normal de mémoire"
-
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
-msgstr "Utiliser le modèle de grande mémoire"
-
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
-msgstr "Générer le code 29050"
-
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
-msgstr "Générer le code 29000"
-
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
-msgstr "Utiliser les registres globaux du kernel"
-
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
-msgstr "Utiliser les registres globaux"
-
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
-msgstr "Produire le code de vérification de la pile"
-
-#: config/a29k/a29k.h:113
-msgid "Do not emit stack checking code"
-msgstr "Ne pas produire le code de vérification de la pile"
-
-#: config/a29k/a29k.h:114
-msgid "Work around storem hardware bug"
-msgstr "Contourner le bug matériel de stockage"
-
-#: config/a29k/a29k.h:115
-msgid "Do not work around storem hardware bug"
-msgstr "Ne pas contourner le bug matériel de stockage"
-
-#: config/a29k/a29k.h:116
-msgid "Store locals in argument registers"
-msgstr "Stocker les var. locales dans redistres d'arguments"
-
-#: config/a29k/a29k.h:117
-msgid "Do not store locals in arg registers"
-msgstr "Ne pas stocker les var. locales dans redistres d'arguments"
-
-#: config/a29k/a29k.h:118 config/i960/i960.h:283 config/mips/mips.h:408
-msgid "Use software floating point"
-msgstr "Utiliser le traitement par logiciel des nombres flottants"
-
-#: config/a29k/a29k.h:119
-msgid "Do not generate multm instructions"
-msgstr "Ne pas générer des instructions multm"
-
-#: config/alpha/alpha.c:271
+#: config/alpha/alpha.c:342
#, c-format
msgid "-f%s ignored for Unicos/Mk (not supported)"
msgstr "-f%s ignoré pour Unicos/Mk (non supporté)"
-#: config/alpha/alpha.c:295
+#: config/alpha/alpha.c:366
msgid "-mieee not supported on Unicos/Mk"
msgstr "-mieee n'est pas supporté sur Unicos/Mk"
-#: config/alpha/alpha.c:306
+#: config/alpha/alpha.c:377
msgid "-mieee-with-inexact not supported on Unicos/Mk"
msgstr "-mieee-with-inexact n'est pas supporté sur Unicos/Mk"
-#: config/alpha/alpha.c:323
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr "valeur « %s » erronée pour l'option -mtrap-precision"
-#: config/alpha/alpha.c:337
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr "valeur « %s » erronée pour l'option -mfp-rounding-mode"
-#: config/alpha/alpha.c:352
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr "valeur « %s » erronée pour l'option -mfp-trap-mode"
-#: config/alpha/alpha.c:371 config/alpha/alpha.c:383
+#: config/alpha/alpha.c:435
+#, fuzzy, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "valeur « %s » erronée pour l'option -mcpu"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr "valeur « %s » erronée pour l'option -mcpu"
-#: config/alpha/alpha.c:390
+#: config/alpha/alpha.c:473
msgid "trap mode not supported on Unicos/Mk"
msgstr "mode trappe n'est pas supporté sur Unicos/Mk"
-#: config/alpha/alpha.c:397
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr "complétion logicielle FP requiert -mtrap-precision=i"
-#: config/alpha/alpha.c:413
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
msgstr "mode d'arondissement n'est pas supporté pour les flottants sur VAX"
-#: config/alpha/alpha.c:418
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
msgstr "mode trappe n'est pas supporté avec les flottants sur VAX"
-#: config/alpha/alpha.c:447
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr "latence de la cache L%d inconnue pour %s"
-#: config/alpha/alpha.c:462
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr "valeur « %s » erronée pour -mmemory-latency"
-#: config/alpha/alpha.c:5211 config/m88k/m88k.c:2955 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 "valeur %%H invalide"
-#: config/alpha/alpha.c:5221
+#: config/alpha/alpha.c:5625
#, c-format
msgid "invalid %%J value"
msgstr "valeur %%J invalide"
-#: config/alpha/alpha.c:5231 config/ia64/ia64.c:3509 config/m88k/m88k.c:3100
+#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "valeur %%r invalide"
-#: config/alpha/alpha.c:5241 config/rs6000/rs6000.c:6528
+#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700
#, c-format
msgid "invalid %%R value"
msgstr "valeur %%R invalide"
-#: config/alpha/alpha.c:5263 config/m88k/m88k.c:2961 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 "valeur %%N invalide"
+
+#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654
+#, c-format
+msgid "invalid %%P value"
+msgstr "valeur %%P invalide"
+
+#: 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 "valeur %%h invalide"
-#: config/alpha/alpha.c:5353
+#: config/alpha/alpha.c:5681 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "valeur %%L invalide"
+
+#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608
+#, c-format
+msgid "invalid %%m value"
+msgstr "valeur %%m invalide"
+
+#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616
+#, c-format
+msgid "invalid %%M value"
+msgstr "valeur %%M invalide"
+
+#: config/alpha/alpha.c:5772
#, c-format
msgid "invalid %%U value"
msgstr "valeur %%U invalide"
-#: config/alpha/alpha.c:5365 config/alpha/alpha.c:5379 config/romp/romp.c:698 config/rs6000/rs6000.c:6536
+#: 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 "valeur %%s invalide"
-#: config/alpha/alpha.c:5439 config/m88k/m88k.c:3084 config/rs6000/rs6000.c:6243
+#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "valeur %%C invalide"
+
+#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7465
#, c-format
msgid "invalid %%E value"
msgstr "valeur %%E invalide"
-#: config/alpha/alpha.c:5460 config/romp/romp.c:973 config/rs6000/rs6000.c:6844
+#: config/alpha/alpha.c:5883 config/alpha/alpha.c:5933
+#, fuzzy
+msgid "unknown relocation unspec"
+msgstr "type de jeu de constructeurs inconnu"
+
+#: config/alpha/alpha.c:5892 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8015
#, c-format
msgid "invalid %%xn code"
msgstr "valeur %%xn invalide"
+#: 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 "Utiliser le FP matériel"
-#: 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 "Ne pas utiliser l'unité FP matérielle"
-#: config/alpha/alpha.h:216
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr "Utiliser les registres FP"
-#: config/alpha/alpha.h:218
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr "Ne pas utiliser les registres FP"
-#: config/alpha/alpha.h:219
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
-msgstr "Ne pas assumer la présence de GAS"
+msgstr "Ne pas présumer la présence de GAS"
-#: config/alpha/alpha.h:220
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
-msgstr "Assumer la présence de GAS"
+msgstr "Présumer la présence de GAS"
-#: config/alpha/alpha.h:222
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
-msgstr "Requête des routine de la librairie mathématique conforme IEEE (OSF/1)"
+msgstr "Requête des routine de la bibliothèque mathématique conforme IEEE (OSF/1)"
-#: config/alpha/alpha.h:224
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr "Produire du code conforme IEEE, sans exceptions inexactes"
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr "Produire du code conforme IEEE, avec exceptions inexactes"
-#: config/alpha/alpha.h:228
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
msgstr "Ne pas produire des constantes entières complexes en mémoire en mode lecture seulement"
-#: config/alpha/alpha.h:229
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr "Utiliser les registres FP sur VAX"
-#: config/alpha/alpha.h:230
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr "Ne pas utiliser les registres FP sur VAX"
-#: config/alpha/alpha.h:231
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr "Produire du code pour les octets/mots des extensions ISA"
-#: config/alpha/alpha.h:234
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr "Produire du code pour les extensions vidéo ISA"
-#: config/alpha/alpha.h:237
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr "Produire du code pour les déplacements FP et sqrt des extensions ISA"
-#: config/alpha/alpha.h:239
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr "Produire du code pour les extensions ISA de comptage"
-#: config/alpha/alpha.h:242
+#: config/alpha/alpha.h:307
msgid "Emit code using explicit relocation directives"
msgstr "Produire du code utilisant des directives explicites de relocalisation"
-#: config/alpha/alpha.h:245
+#: config/alpha/alpha.h:310
msgid "Emit 16-bit relocations to the small data areas"
msgstr "Produire du code de 16 bits pour le relocalisation des petites zones de données"
-#: config/alpha/alpha.h:247
+#: config/alpha/alpha.h:312
msgid "Emit 32-bit relocations to the small data areas"
msgstr "Produire du code de 32 bits pour le relocalisation des petites zones de données"
+#: 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 "Utiliser les options de et çéduler le CPU donné"
+msgstr "Utiliser les options et ordonnancer pour le processeur donné "
-#: config/alpha/alpha.h:277
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
-msgstr "Çéduler le CPU donné"
+msgstr "Ordonnancer le processeur donné"
-#: config/alpha/alpha.h:279
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr "Contrôler le mode d'arondissement FP généré"
-#: config/alpha/alpha.h:281
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr "Contrôler le mode trappe IEEE"
-#: config/alpha/alpha.h:283
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr "Contrôler la précision donnée des exceptions FP"
-#: config/alpha/alpha.h:285
+#: config/alpha/alpha.h:353
msgid "Tune expected memory latency"
msgstr "Ajuster la latence mémoire attendue"
-#: 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 "valeur (%s) erronée pour l'option -mcpu"
-#: config/arc/arc.c:359
+#: config/arc/arc.c:362
#, c-format
msgid "argument of `%s' attribute is not a string constant"
msgstr "argument de l'attribut « %s » n'est pas une chaîne de constante"
-#: config/arc/arc.c:366
+#: config/arc/arc.c:369
#, c-format
msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
msgstr "l'argument de l'attribut « %s » n'est pas «ilink1» ou «ilink2 »"
-#: config/arc/arc.c:1709 config/m32r/m32r.c:2278
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
#, c-format
msgid "invalid operand to %%R code"
msgstr "opérande invalide pour le code %%R"
-#: config/arc/arc.c:1741 config/m32r/m32r.c:2301
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
#, c-format
msgid "invalid operand to %%H/%%L code"
msgstr "opérande invalide pour le code %%H/%%L"
-#: config/arc/arc.c:1765 config/m32r/m32r.c:2378
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
#, c-format
msgid "invalid operand to %%U code"
msgstr "opérande invalide pour le code %%U"
-#: config/arc/arc.c:1776
+#: config/arc/arc.c:1774
#, c-format
msgid "invalid operand to %%V code"
msgstr "opérande invalide pour le code %%V"
#. Unknown flag.
-#: config/arc/arc.c:1783 config/m32r/m32r.c:2417 config/sparc/sparc.c:6145
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6473
msgid "invalid operand output code"
msgstr "opérande invalide pour le code de sortie"
-#: config/arm/arm.c:436
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr "l'option -mcpu=%s est en conflit avec l'option -march= "
-#: 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 "valeur (%s) erronée pour l'option %s"
-#: config/arm/arm.c:582
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
-msgstr "CPU cible ne supporte pas APCS-32"
+msgstr "le processeur cible ne supporte pas APCS-32"
-#: config/arm/arm.c:587
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
-msgstr "CPU cible ne supporte pas APCS-26"
+msgstr "le processeur cible ne supporte pas APCS-26"
-#: config/arm/arm.c:593
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
-msgstr "CPU cible ne supporte pas l'inter-réseautage"
+msgstr "le processeur cible ne supporte pas l'inter-réseautage"
-#: config/arm/arm.c:599
+#: config/arm/arm.c:622
msgid "target CPU does not support THUMB instructions"
-msgstr "CPU cible ne supporte pas les instructions THUMB"
+msgstr "le processeur cible ne supporte pas les instructions THUMB"
-#: config/arm/arm.c:613
+#: config/arm/arm.c:636
msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr "autoriser le support de pistage arrière si seulement significatif lors de la compilation pour le Thumb"
-#: config/arm/arm.c:616
+#: config/arm/arm.c:639
msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr "autoriser le support d'inter-réseautage des appelés si seulement significatif lors de la compilation pour le Thumb"
-#: config/arm/arm.c:619
+#: config/arm/arm.c:642
msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr "autoriser le support d'inter-réseautage des appelants si seulement significatif lors de la compilation pour le Thumb"
-#: config/arm/arm.c:625
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr "l'inter-réseautage force l'utilisation de APCS-32"
-#: config/arm/arm.c:631
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
msgstr "-mapcs-stack-check incompatible avec -mno-apcs-frame"
-#: config/arm/arm.c:639
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic et -mapcs-reent sont incompatibles"
-#: config/arm/arm.c:642
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr "Code réentrant APCS n'est pas supporté. Ignoré"
-#: config/arm/arm.c:650
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr "-g avec -mno-apcs-frame peut ne pas donner une mise au point sensée"
-#: config/arm/arm.c:658
+#: config/arm/arm.c:681
msgid "passing floating point arguments in fp regs not yet supported"
msgstr "passage d'argument en virgule flottante dans les registres FP n'est pas encore supporté"
-#: config/arm/arm.c:687
+#: config/arm/arm.c:710
#, c-format
msgid "invalid floating point emulation option: -mfpe-%s"
msgstr "option d'émulation en virgule flottante invalide: -mfpe-%s"
-#: config/arm/arm.c:711
+#: config/arm/arm.c:734
msgid "structure size boundary can only be set to 8 or 32"
msgstr "taille des bornes de la structure peut seulement être 8 ou 32"
-#: config/arm/arm.c:719
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr "-mpic-register= est inutile sans -fpic"
-#: config/arm/arm.c:726
+#: config/arm/arm.c:749
#, c-format
msgid "unable to use '%s' for PIC register"
msgstr "incapable d'utiliser « %s » pour un registre PIC"
-#: config/arm/arm.c:1970 config/arm/arm.c:1993 config/avr/avr.c:4703 config/c4x/c4x.c:4650 config/h8300/h8300.c:3045 config/i386/i386.c:1260 config/i386/i386.c:1289 config/m68hc11/m68hc11.c:1220 config/mcore/mcore.c:3505 config/ns32k/ns32k.c:1044 config/rs6000/rs6000.c:10760 config/sh/sh.c:5583 config/sh/sh.c:5603 config/sh/sh.c:5642 config/stormy16/stormy16.c:2010 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 "attribut « %s » s'applique seulement aux fonctions"
-#: config/arm/arm.c:9288
+#: config/arm/arm.c:9474
msgid "unable to compute real location of stacked parameter"
msgstr "incapable de calculer la localisation réelle de la pile de paramètres"
-#: config/arm/arm.c:9968
+#: config/arm/arm.c:10153
msgid "no low registers available for popping high registers"
msgstr "pas de registre bas disponible pour faire ressortir les registres du haut"
-#: config/arm/arm.c:10160
+#: config/arm/arm.c:10404
msgid "interrupt Service Routines cannot be coded in Thumb mode"
msgstr "routines d'interruption de service ne peuvent être codées en mode THUMB"
-#: 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 "variable initialisé « %s » est marquée dllimport"
-#: 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 "variable static « %s » est marquée dllimport"
-#: config/arm/arm.h:422
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr "Générer des trames de pile conformes à APCS"
-#: config/arm/arm.h:425
+#: config/arm/arm.h:419
msgid "Store function names in object code"
msgstr "Sotcker les noms de fonctions dans le code objet"
-#: config/arm/arm.h:429
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr "Utilise la version 32 bts de APCS"
-#: config/arm/arm.h:431
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr "Utiliser la version 26 bits de APCS"
-#: config/arm/arm.h:435
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr "Passer les arguments FP par les registres FP"
-#: config/arm/arm.h:438
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr "Générer du code PIC ré-entrant"
-#: config/arm/arm.h:441
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr "Le MMU va intercepter les accès mal alignés"
-#: config/arm/arm.h:448
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
-msgstr "Utiliser les appels de librairie pour exécuter les opérations FP"
+msgstr "Utiliser les appels de bibliothèque pour exécuter les opérations FP"
-#: 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 "Utiliser les instructions matérielles en virgule flottante"
-#: config/arm/arm.h:452
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
-msgstr "Assumer que le CPU cible est un système à octets de poids fort"
+msgstr "Présumer que le processeur cible est un système à octets de poids fort"
-#: config/arm/arm.h:454
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
-msgstr "Assumer que le CPU cible est un système à octets de poids faible"
+msgstr "Présumer que le processeur cible est un système à octets de poids faible"
-#: config/arm/arm.h:456
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
-msgstr "Assumer un système à octets de poids fort pour les octets et faible pour les mots"
+msgstr "Présumer un système à octets de poids fort pour les octets et faible pour les mots"
-#: config/arm/arm.h:458
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr "Supporter les appels des jeux d'instructions THUMB et ARM"
-#: config/arm/arm.h:461
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr "Générer un appel pour stopper si une fonction sans retour retourne un résultat"
-#: config/arm/arm.h:464
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr "Ne pas déplacer les instruction dans le prologue de fonction"
-#: config/arm/arm.h:467
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr "Ne pas charger le registre PIC dans les prologue de fonction"
-#: config/arm/arm.h:470
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr "Générer l'appel insn comme un appel indirect, si nécessaire"
-#: config/arm/arm.h:473
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr "Compiler pour le THUMB et non pas le ARM"
-#: config/arm/arm.h:477
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr "Thumb: générer (non feuilles) trames de pile même si non nécessaire"
-#: config/arm/arm.h:480
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
-msgstr "Thumb: générer (feuilles) trames de pile même si non nécessaire"
+msgstr "Thumb : Générer (feuilles) trames de pile même si non nécessaire"
-#: config/arm/arm.h:483
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
-msgstr "Thumb: assumer que les fonctions non statiques peuvent être appelées du code ARM"
+msgstr "Thumb : Présumer que les fonctions non statiques peuvent être appelées du code ARM"
-#: config/arm/arm.h:487
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
-msgstr "Thumb: assumer que les pointeurs de fonction peuvent tomber dans le code en dehors non sensible au Thumb"
+msgstr "Thumb : Présumer que les pointeurs de fonction peuvent tomber dans le code en dehors non sensible au Thumb"
-#: config/arm/arm.h:497
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
-msgstr "Spécifier le nom du CPU cible"
+msgstr "Spécifier le nom du processeur cible"
-#: config/arm/arm.h:499
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr "Spécifier le nom de l'architecture cible"
-#: config/arm/arm.h:503
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr "Spécifier la version de l'émulateur en virgule flottante"
-#: config/arm/arm.h:505
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr "Spécifier le minimum de bits pour l'alignement de structures"
-#: config/arm/arm.h:507
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
msgstr "Spécifier le registre à utiliser pour l'adressage PIC"
@@ -8758,96 +9093,93 @@ msgstr "Spécifier le registre à utiliser pour l'adressage PIC"
msgid "Ignore dllimport attribute for functions"
msgstr "Ignorer l'attribut dllimport pour les fonctions"
-#. 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 "Ne pas renommer les symboles pour BSD"
-
-#: config/arm/riscix.h:85
-msgid "Do symbol renaming for X/OPEN"
-msgstr "Ne pas renommer les symboles pour X/OPEN"
-
-#: config/arm/riscix.h:86
-msgid "Don't do symbol renaming"
-msgstr "Ne pas renommer les symboles"
-
-#: config/avr/avr.c:221
-#, c-format
-msgid "MCU `%s' not supported"
-msgstr "MCU « %s » n'est pas supporté"
-
-#: config/avr/avr.c:461
+#: config/avr/avr.c:528
#, c-format
msgid "large frame pointer change (%d) with -mtiny-stack"
msgstr "grand pointeur de trames change (%d) avec -mtiny-stack"
-#: config/avr/avr.c:1056
+#: config/avr/avr.c:1135
msgid "bad address, not (reg+disp):"
msgstr "adresse erronée, pas (reg+disp):"
-#: config/avr/avr.c:1064
+#: config/avr/avr.c:1143
msgid "internal compiler error. Bad address:"
msgstr "erreur internal du compilateur. Adresse erronée:"
-#: config/avr/avr.c:1077
+#: config/avr/avr.c:1156
msgid "internal compiler error. Unknown mode:"
msgstr "erreur internal du compilateur. Mode inconnu:"
-#: config/avr/avr.c:1785 config/avr/avr.c:2497
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
msgid "invalid insn:"
msgstr "insn invalide:"
-#: 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 "insn incoorect:"
-#: 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 "insn de déplacement inconnu:"
-#: config/avr/avr.c:2925
+#: config/avr/avr.c:3003
msgid "bad shift insn:"
msgstr "décalage insn erroné:"
-#: 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 "erreur internal du compilateur. Décalage incorrect:"
-#: config/avr/avr.c:4676
+#: config/avr/avr.c:4767
msgid "only initialized variables can be placed into program memory area"
msgstr "seules les variables initialisées peuvent être placées dans la zone mémoire du programme"
-#: config/avr/avr.h:63
+#: config/avr/avr.c:4866
+#, fuzzy
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr "Seuls les variables initialisées peuvent être placées dans une aire de 8 bits"
+
+#: config/avr/avr.c:4881
+#, fuzzy, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "MCU « %s » n'est pas supporté"
+
+#: config/avr/avr.h:78
msgid "Assume int to be 8 bit integer"
-msgstr "Assumer que les int sont des entiers de 8 bits"
+msgstr "Présumer que les int sont des entiers de 8 bits"
-#: config/avr/avr.h:65
+#: config/avr/avr.h:80
msgid "Change the stack pointer without disabling interrupts"
msgstr "Changer le pointeur de pile sans désactiver les interruptions"
-#: config/avr/avr.h:67
+#: config/avr/avr.h:82
msgid "Use subroutines for function prologue/epilogue"
msgstr "Utiliser des sous-routines pour le prologue/epilogue de fonction"
-#: config/avr/avr.h:69
+#: config/avr/avr.h:84
msgid "Change only the low 8 bits of the stack pointer"
msgstr "Changer seulement les 8 bits du bas du pointeur de pile"
-#: config/avr/avr.h:71
+#: config/avr/avr.h:86
msgid "Do not generate tablejump insns"
msgstr "Ne pas générer les sauts de table insns"
-#: 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 "Produire les tailles d'instructions dans le fichier asm"
-#: config/avr/avr.h:87
+#: config/avr/avr.h:108
msgid "Specify the initial stack address"
msgstr "Spécifier l'adresse initiale de la pile"
-#: config/avr/avr.h:88
+#: config/avr/avr.h:109
msgid "Specify the MCU name"
msgstr "Spécifier le nom du MCU"
@@ -8859,132 +9191,132 @@ msgstr "Spécifier le nom du MCU"
#. 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:2566
+#: config/avr/avr.h:2450
msgid "trampolines not supported"
msgstr "trampolines ne sont pas supportées"
-#: config/c4x/c4x-c.c:70
+#: config/c4x/c4x-c.c:69
#, c-format
msgid "missing '(' after '#pragma %s' - ignored"
msgstr "«(» manquante après «#pragma %s» - ignoré"
-#: config/c4x/c4x-c.c:73
+#: config/c4x/c4x-c.c:72
#, c-format
msgid "missing function name in '#pragma %s' - ignored"
msgstr "nom de fonction manquant dans «#pragma %s» - ignoré"
-#: config/c4x/c4x-c.c:78
+#: config/c4x/c4x-c.c:77
#, c-format
msgid "malformed '#pragma %s' - ignored"
msgstr "«#pragma %s» mal composé - ignoré"
-#: config/c4x/c4x-c.c:80
+#: config/c4x/c4x-c.c:79
#, c-format
msgid "missing section name in '#pragma %s' - ignored"
msgstr "nom de section manquant dans «#pragma %s» - ignoré"
-#: config/c4x/c4x-c.c:85
+#: config/c4x/c4x-c.c:84
#, c-format
msgid "missing ')' for '#pragma %s' - ignored"
msgstr "«)» manquante pour «#pragma %s» - ignoré"
-#: config/c4x/c4x-c.c:88
+#: config/c4x/c4x-c.c:87
#, c-format
msgid "junk at end of '#pragma %s'"
msgstr "rebut à la fin de «#pragma %s'"
-#: config/c4x/c4x.c:299
+#: config/c4x/c4x.c:280
#, c-format
msgid "unknown CPU version %d, using 40.\n"
-msgstr "version de CPU %d inconnue, 40 est utilisé.\n"
+msgstr "version de processeur %d inconnue, 40 est utilisé.\n"
-#: 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 "ISR %s requiert %d mots de var. locales, max est 32767."
-#: config/c4x/c4x.c:1635
+#: config/c4x/c4x.c:1602
msgid "using CONST_DOUBLE for address"
msgstr "CONST_DOUBLE utilisé pour l'adresse"
-#: config/c4x/c4x.c:1775
+#: config/c4x/c4x.c:1742
msgid "c4x_address_cost: Invalid addressing mode"
msgstr "c4x_address_cost: mode d'adressage invalide"
-#: config/c4x/c4x.c:1917
+#: config/c4x/c4x.c:1884
#, c-format
msgid "c4x_print_operand: %%L inconsistency"
msgstr "c4x_print_operand: %%L inconsistent"
-#: config/c4x/c4x.c:1923
+#: config/c4x/c4x.c:1890
#, c-format
msgid "c4x_print_operand: %%N inconsistency"
msgstr "c4x_print_operand: %%N inconsistent"
-#: config/c4x/c4x.c:1964
+#: config/c4x/c4x.c:1931
#, c-format
msgid "c4x_print_operand: %%O inconsistency"
msgstr "c4x_print_operand: %%O inconsisten"
-#: config/c4x/c4x.c:2060
+#: config/c4x/c4x.c:2026
msgid "c4x_print_operand: Bad operand case"
msgstr "c4x_print_operand: opérande erronée pour un case"
-#: config/c4x/c4x.c:2103
+#: config/c4x/c4x.c:2069
msgid "c4x_print_operand_address: Bad post_modify"
msgstr "c4x_print_operand_address: post-modification erronée"
-#: config/c4x/c4x.c:2125
+#: config/c4x/c4x.c:2091
msgid "c4x_print_operand_address: Bad pre_modify"
msgstr "c4x_print_operand_address: pré-modification erronée"
-#: config/c4x/c4x.c:2173 config/c4x/c4x.c:2185 config/c4x/c4x.c:2200
+#: config/c4x/c4x.c:2139 config/c4x/c4x.c:2151 config/c4x/c4x.c:2166
msgid "c4x_print_operand_address: Bad operand case"
msgstr "c4x_print_operand_address: opérande erronée pour un case"
-#: config/c4x/c4x.c:2456
+#: config/c4x/c4x.c:2422
msgid "c4x_rptb_insert: Cannot find start label"
msgstr "c4x_rptb_insert: ne peut repérer l'étiquette de départ"
-#: config/c4x/c4x.c:3443 config/c4x/c4x.c:3463
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
msgid "mode not QImode"
msgstr "mode n'est pas QImode"
-#: config/c4x/c4x.c:3520
+#: config/c4x/c4x.c:3514
msgid "invalid indirect memory address"
msgstr "adresse mémoire d'indirection invalide"
-#: config/c4x/c4x.c:3609
+#: config/c4x/c4x.c:3603
msgid "invalid indirect (S) memory address"
msgstr "adresse mémoire (S) d'indirection invalide"
-#: config/c4x/c4x.c:3950
+#: config/c4x/c4x.c:3944
msgid "c4x_valid_operands: Internal error"
msgstr "c4x_valid_operands: erreur interne"
-#: config/c4x/c4x.c:4430
+#: config/c4x/c4x.c:4424
msgid "c4x_operand_subword: invalid mode"
msgstr "c4x_oprande_subword: mode invalide"
-#: config/c4x/c4x.c:4433
+#: config/c4x/c4x.c:4427
msgid "c4x_operand_subword: invalid operand"
msgstr "c4x_operand_subword: opérande invalide"
#. We could handle these with some difficulty.
#. e.g., *p-- => *(p-=2); *(p+1).
-#: config/c4x/c4x.c:4459
+#: config/c4x/c4x.c:4453
msgid "c4x_operand_subword: invalid autoincrement"
msgstr "c4x_operand_subword: autoincrement invalide"
-#: config/c4x/c4x.c:4465
+#: config/c4x/c4x.c:4459
msgid "c4x_operand_subword: invalid address"
msgstr "c4x_operand_subword: adresse invalide"
-#: config/c4x/c4x.c:4476
+#: config/c4x/c4x.c:4470
msgid "c4x_operand_subword: address not offsettable"
msgstr "c4x_operand_subword: un décalage d'adresse ne peut s'appliquer sur cette adresse"
-#: config/c4x/c4x.c:4676
+#: config/c4x/c4x.c:4670
msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
msgstr "c4x_rptb_rpts_p: étiquette supérieur de bloc de répétition déplacée\n"
@@ -8992,7 +9324,6 @@ msgstr "c4x_rptb_rpts_p: étiquette supérieur de bloc de répétition déplacée\n"
#. 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.
@@ -9028,404 +9359,342 @@ msgstr "c4x_rptb_rpts_p: étiquette supérieur de bloc de répétition déplacée\n"
#. 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 "Modèle de mémoire petite"
-#: config/c4x/c4x.h:143
+#: config/c4x/c4x.h:172
msgid "Big memory model"
msgstr "Modèle de mémoire grande"
-#: config/c4x/c4x.h:145
+#: config/c4x/c4x.h:174
msgid "Use MPYI instruction for C3x"
msgstr "Utiliser les instructions MPYI pour C3x"
-#: config/c4x/c4x.h:147
+#: config/c4x/c4x.h:176
msgid "Do not use MPYI instruction for C3x"
msgstr "Ne pas utiliser les instructions MPYI pour C3x"
-#: config/c4x/c4x.h:149
+#: config/c4x/c4x.h:178
msgid "Use fast but approximate float to integer conversion"
msgstr "Utiliser le mode rapide mais approprié de conversion de flottans à entiers"
-#: config/c4x/c4x.h:151
+#: config/c4x/c4x.h:180
msgid "Use slow but accurate float to integer conversion"
msgstr "Utiliser le mode lent mais précis de conversion de flottans à entiers"
-#: config/c4x/c4x.h:153
+#: config/c4x/c4x.h:182
msgid "Enable use of RTPS instruction"
msgstr "Autoriser l'utilisation de l'instruction RTPS"
-#: config/c4x/c4x.h:155
+#: config/c4x/c4x.h:184
msgid "Disable use of RTPS instruction"
msgstr "Interdire l'utilisation de l'instruction RTPS"
-#: config/c4x/c4x.h:157
+#: config/c4x/c4x.h:186
msgid "Enable use of RTPB instruction"
msgstr "Autoriser l'utilisation de l'instruction RTPB"
-#: config/c4x/c4x.h:159
+#: config/c4x/c4x.h:188
msgid "Disable use of RTPB instruction"
msgstr "Interdire l'utilisation de l'instruction RTPB"
-#: config/c4x/c4x.h:161
+#: config/c4x/c4x.h:190
msgid "Generate code for C30 CPU"
-msgstr "Générer du code pour CPU C30"
+msgstr "Générer du code pour processeur C30"
-#: config/c4x/c4x.h:163
+#: config/c4x/c4x.h:192
msgid "Generate code for C31 CPU"
-msgstr "Générer du code pour CPU C31"
+msgstr "Générer du code pour processeur C31"
-#: config/c4x/c4x.h:165
+#: config/c4x/c4x.h:194
msgid "Generate code for C32 CPU"
-msgstr "Générer du code pour CPU C32"
+msgstr "Générer du code pour processeur C32"
-#: config/c4x/c4x.h:167
+#: config/c4x/c4x.h:196
msgid "Generate code for C33 CPU"
-msgstr "Générer du code pour CPU C33"
+msgstr "Générer du code pour processeur C33"
-#: config/c4x/c4x.h:169
+#: config/c4x/c4x.h:198
msgid "Generate code for C40 CPU"
-msgstr "Générer du code pour CPU C40"
+msgstr "Générer du code pour processeur C40"
-#: config/c4x/c4x.h:171
+#: config/c4x/c4x.h:200
msgid "Generate code for C44 CPU"
-msgstr "Générer du code pour CPU C44"
+msgstr "Générer du code pour processeur C44"
-#: config/c4x/c4x.h:173
+#: config/c4x/c4x.h:202
msgid "Emit code compatible with TI tools"
msgstr "Produire du code compatible avec les outils TI"
-#: config/c4x/c4x.h:175
+#: config/c4x/c4x.h:204
msgid "Emit code to use GAS extensions"
msgstr "Produire du code pour utiliser les extensions GAS"
-#: 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 "Sauvegarder DP à travers ISR dans le modèle de mémoire petite"
+msgstr "Sauvegarder DP à travers ISR dans le modèle de mémoire restreinte"
-#: 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 "Ne pas sauvegarder DP à travers ISR dans le modèle de mémoire petite"
+msgstr "Ne pas sauvegarder DP à travers ISR dans le modèle de mémoire restreinte"
-#: config/c4x/c4x.h:185
+#: config/c4x/c4x.h:214
msgid "Pass arguments on the stack"
msgstr "Passer les arguments sur la pile"
-#: config/c4x/c4x.h:187
+#: config/c4x/c4x.h:216
msgid "Pass arguments in registers"
msgstr "Passer les arguments par les registres"
-#: config/c4x/c4x.h:189
+#: config/c4x/c4x.h:218
msgid "Enable new features under development"
msgstr "Autoriser les nouvelles options en développement"
-#: config/c4x/c4x.h:191
+#: config/c4x/c4x.h:220
msgid "Disable new features under development"
msgstr "Désactiver les nouvelles options en développement"
-#: config/c4x/c4x.h:193
+#: config/c4x/c4x.h:222
msgid "Use the BK register as a general purpose register"
msgstr "Utiliser le registre BK comme registre général tout usage"
-#: config/c4x/c4x.h:195
+#: config/c4x/c4x.h:224
msgid "Do not allocate BK register"
msgstr "Ne pas allouer de registre BK"
-#: config/c4x/c4x.h:197
+#: config/c4x/c4x.h:226
msgid "Enable use of DB instruction"
msgstr "Activer l'utilisation d'instruction DB"
-#: config/c4x/c4x.h:199
+#: config/c4x/c4x.h:228
msgid "Disable use of DB instruction"
msgstr "Désactiver l'utilisation d'instruction DB"
-#: config/c4x/c4x.h:201
+#: config/c4x/c4x.h:230
msgid "Enable debugging"
msgstr "Permettre la mise au point"
-#: config/c4x/c4x.h:203
+#: config/c4x/c4x.h:232
msgid "Disable debugging"
msgstr "Désactiver la mise au point"
-#: config/c4x/c4x.h:205
+#: config/c4x/c4x.h:234
msgid "Force constants into registers to improve hoisting"
msgstr "Forcer les constantes dans les registres pour améliorer la montée"
-#: config/c4x/c4x.h:207
+#: config/c4x/c4x.h:236
msgid "Don't force constants into registers"
msgstr "Ne pas forcer les constantes dans les registres"
-#: config/c4x/c4x.h:209
+#: config/c4x/c4x.h:238
msgid "Force RTL generation to emit valid 3 operand insns"
msgstr "Forcer la génération RTL pour produire des opérandes insn 3 valides"
-#: config/c4x/c4x.h:211
+#: config/c4x/c4x.h:240
msgid "Allow RTL generation to emit invalid 3 operand insns"
msgstr "Autoriser la génération RTL pour produire des opérandes insn 3 invalides"
-#: config/c4x/c4x.h:213
+#: config/c4x/c4x.h:242
msgid "Allow unsigned interation counts for RPTB/DB"
msgstr "Autoriser un compteur non signé d'itération pour RPTB/DB"
-#: config/c4x/c4x.h:215
+#: config/c4x/c4x.h:244
msgid "Disallow unsigned iteration counts for RPTB/DB"
msgstr "Interdire un compteur non signé d'itération pour RPTB/DB"
-#: config/c4x/c4x.h:217
+#: config/c4x/c4x.h:246
msgid "Preserve all 40 bits of FP reg across call"
msgstr "Préserver tous les 40 bits du registre FP à travers les appels"
-#: config/c4x/c4x.h:219
+#: config/c4x/c4x.h:248
msgid "Only preserve 32 bits of FP reg across call"
msgstr "Préserver seulement 32 bits du registre FP à travers les appels"
-#: config/c4x/c4x.h:221
+#: config/c4x/c4x.h:250
msgid "Enable parallel instructions"
msgstr "Autoriser les instructions parallèles"
-#: config/c4x/c4x.h:223
+#: config/c4x/c4x.h:252
msgid "Disable parallel instructions"
msgstr "Interdire les instructions parallèles"
-#: config/c4x/c4x.h:225
+#: config/c4x/c4x.h:254
msgid "Enable MPY||ADD and MPY||SUB instructions"
msgstr "Autoriser les instructions MPY||ADD et MPY||SUB"
-#: config/c4x/c4x.h:227
+#: config/c4x/c4x.h:256
msgid "Disable MPY||ADD and MPY||SUB instructions"
msgstr "Interdire les instructions MPY||ADD et MPY||SUB"
-#: config/c4x/c4x.h:229
+#: config/c4x/c4x.h:258
msgid "Assume that pointers may be aliased"
-msgstr "Assumer que les pointeurs peuvent être aliasés"
+msgstr "Présumer que les pointeurs peuvent être aliasés"
-#: config/c4x/c4x.h:231
+#: config/c4x/c4x.h:260
msgid "Assume that pointers not aliased"
-msgstr "Assumer que les pointeurs ne peuvent pas être aliasés"
+msgstr "Présumer que les pointeurs ne peuvent pas être aliasés"
-#: config/c4x/c4x.h:304
+#: config/c4x/c4x.h:333
msgid "Specify maximum number of iterations for RPTS"
msgstr "Spécifier le nombre maximum d'itérations pour RPTS"
-#: config/c4x/c4x.h:306
+#: config/c4x/c4x.h:335
msgid "Select CPU to generate code for"
-msgstr "Sélectionner le CPU pour lequel le code doit être généré"
-
-#. 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 "Générer le code pour le C400"
-
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
-msgstr "Générer le code pour le C300"
-
-#: config/convex/convex.h:53
-msgid "Generate code for c1"
-msgstr "Générer le code pour le c1"
-
-#: config/convex/convex.h:54
-msgid "Generate code for c2"
-msgstr "Générer le code pour le c2"
-
-#: config/convex/convex.h:55
-msgid "Generate code for c32"
-msgstr "Générer le code pour le c3"
-
-#: config/convex/convex.h:56 config/convex/convex.h:57
-msgid "Generate code for c34"
-msgstr "Générer le code pour le c34"
-
-#: config/convex/convex.h:59
-msgid "Use standard calling sequence, with arg count word"
-msgstr "Utiliser la séquence standard d'appel, avec arg et mot compteur"
+msgstr "Sélectionner le processeur pour lequel le code doit être généré"
-#: config/convex/convex.h:61
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr "Placer le compteur d'arg dans une instruction NOP (plus rapide que push)"
-
-#: config/convex/convex.h:63
-msgid "Don't push arg count, depend on symbol table"
-msgstr "Ne pas empiler le compteur d'arg, dépend de la table de symboles"
-
-#: config/convex/convex.h:65
-msgid "Use data cache for volatile mem refs (default)"
-msgstr "Utiliser la cache de données pour les réf. mémoire volatiles (par défaut)"
-
-#: config/convex/convex.h:67
-msgid "Don't use data cache for volatile mem refs"
-msgstr "Ne pas utiliser la cache de données pour les réf. mémoire volatiles"
-
-#: config/convex/convex.h:69
-msgid "Bypass data cache for volatile mem refs"
-msgstr "Éviter la cache de données pour les réf. mémoire volatiles"
-
-#: config/convex/convex.h:70
-msgid "Use 64-bit longs"
-msgstr "Utiliser des longs de 64 bits"
-
-#: config/convex/convex.h:71
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr "Utiliser cc- et libc-compatible longs de 32 bits"
-
-#: config/cris/cris.c:569
+#: config/cris/cris.c:583
msgid "unexpected index-type in cris_print_index"
msgstr "type d'index inattendu dans cris_print_index"
-#: config/cris/cris.c:585
+#: config/cris/cris.c:599
msgid "unexpected base-type in cris_print_base"
msgstr "type de base inattendu dans cris_print_base"
-#: config/cris/cris.c:878
+#: config/cris/cris.c:892
#, c-format
msgid "stackframe too big: %d bytes"
msgstr "trame de pile trop grande: %d octets"
-#: config/cris/cris.c:1193
+#: config/cris/cris.c:1207
msgid "allocated but unused delay list in epilogue"
msgstr "alloué mais liste de délai non utilisée dans l'épilogue"
-#: config/cris/cris.c:1203
+#: config/cris/cris.c:1217
msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
msgstr "type de fonction inattendue ajustement de la pile nécessaire pour « __builtin_eh_return »"
-#: config/cris/cris.c:1282
+#: config/cris/cris.c:1296
msgid "invalid operand for 'b' modifier"
msgstr "opérande invalide pour le modificateur « b »"
-#: config/cris/cris.c:1294
+#: config/cris/cris.c:1308
msgid "invalid operand for 'v' modifier"
msgstr "opérande invalide pour le modificateur « v »"
-#: config/cris/cris.c:1304
+#: config/cris/cris.c:1318
msgid "invalid operand for 'P' modifier"
msgstr "opérande invalide pour le modificateur « P »"
-#: config/cris/cris.c:1311
+#: config/cris/cris.c:1325
msgid "invalid operand for 'p' modifier"
msgstr "opérande invalide pour le modificateur « p »"
-#: config/cris/cris.c:1350
+#: config/cris/cris.c:1364
msgid "invalid operand for 'z' modifier"
msgstr "opérande invalide pour le modificateur « z »"
-#: 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 "opérande invalide pour le modificateur « H »"
-#: config/cris/cris.c:1387
+#: config/cris/cris.c:1401
msgid "bad register"
msgstr "registre erroné"
-#: config/cris/cris.c:1425
+#: config/cris/cris.c:1439
msgid "invalid operand for 'e' modifier"
msgstr "opérande invalide pour le modificateur « e »"
-#: config/cris/cris.c:1442
+#: config/cris/cris.c:1456
msgid "invalid operand for 'm' modifier"
msgstr "opérande invalide pour le modificateur « m »"
-#: config/cris/cris.c:1467
+#: config/cris/cris.c:1481
msgid "invalid operand for 'A' modifier"
msgstr "opérande invalide pour le modificateur « A »"
-#: config/cris/cris.c:1475
+#: config/cris/cris.c:1489
msgid "invalid operand for 'D' modifier"
msgstr "opérande invalide pour le modificateur « D »"
-#: config/cris/cris.c:1489
+#: config/cris/cris.c:1503
msgid "invalid operand for 'T' modifier"
msgstr "opérande invalide pour le modificateur « T »"
-#: config/cris/cris.c:1498
+#: config/cris/cris.c:1512
msgid "invalid operand modifier letter"
msgstr "opérande invalide pour le modificateur de lettre"
-#: config/cris/cris.c:1506
+#: config/cris/cris.c:1520
#, c-format
msgid "internal error: bad register: %d"
msgstr "erreur interne: registre erroné: %d"
-#: config/cris/cris.c:1554
+#: config/cris/cris.c:1568
msgid "unexpected multiplicative operand"
msgstr "opérande multiplicative inattendue"
-#: config/cris/cris.c:1574
+#: config/cris/cris.c:1588
msgid "unexpected operand"
msgstr "opérande inattendue"
-#: config/cris/cris.c:1609 config/cris/cris.c:1619
+#: config/cris/cris.c:1623 config/cris/cris.c:1633
msgid "unrecognized address"
msgstr "adresse non reconnue"
-#: config/cris/cris.c:1975
+#: config/cris/cris.c:1989
msgid "internal error: sideeffect-insn affecting main effect"
msgstr "erreur interne: effet de bord de insn sideeffect-insn ayant un effet principal"
#. 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 "erreur interne: cris_side_effect_mode_ok avec des opérandes erronées"
-#: 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 "supposée constante non reconnue"
-#: config/cris/cris.c:2443
+#: config/cris/cris.c:2457
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr "supposée constante non reconnue dans cris_global_pic_symbol"
-#: 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 "-max-stackframe=%d n'est pas utilisable, n'est pas entre 0 et %d"
-#: config/cris/cris.c:2490
+#: config/cris/cris.c:2504
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr "spécification de version CRIS inconnue dans -march= ou -mcpu= : %s"
-#: config/cris/cris.c:2526
+#: config/cris/cris.c:2540
#, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr "spécification de version CRIS inconnue dans -mtune= : %s"
-#: config/cris/cris.c:2544
+#: config/cris/cris.c:2558
msgid "-fPIC and -fpic are not supported in this configuration"
msgstr "-fPIC et -fpic ne sont pas supportées par cette configuration"
-#: config/cris/cris.c:2560
+#: config/cris/cris.c:2574
msgid "that particular -g option is invalid with -maout and -melinux"
msgstr "l'option particulière -g est invalide avec -maout et -melinux"
-#: 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 "effets de bord inattendue dans l'adresse"
#. 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 "symbole PIC inattendue"
-#: config/cris/cris.c:2936
+#: config/cris/cris.c:2954
msgid "PIC register isn't set up"
msgstr "le registre n'est pas initialisé"
-#: 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 "expression d'adresse inattendue"
-#: config/cris/cris.c:2967
+#: config/cris/cris.c:2985
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr "génération d'une opérande PIC mais le registre PIC n'est pas initialisé"
-#: config/cris/cris.c:2976
+#: config/cris/cris.c:2994
msgid "unexpected NOTE as addr_const:"
msgstr "NOTE inattendu comme addr_conts:"
@@ -9494,18 +9763,18 @@ msgstr "Écraser -mbest-lib-options"
#: config/cris/cris.h:428
msgid "Generate code for the specified chip or CPU version"
-msgstr "Générer le code pour la version de CPU ou le circuit spécifique"
+msgstr "Générer le code pour la version de processeur ou de circuit spécifiée"
#: config/cris/cris.h:430
msgid "Tune alignment for the specified chip or CPU version"
-msgstr "ajuster l'alignement pour la version de CPU ou le circuit spécifique"
+msgstr "Ajuster l'alignement pour la version de processeur ou de circuit spécifiée"
#: config/cris/cris.h:432
msgid "Warn when a stackframe is larger than the specified size"
msgstr "Avertir lorsqu'une trame de pile est plus grande que la taille spécifiée"
#. Node: Profiling
-#: config/cris/cris.h:1029
+#: config/cris/cris.h:1019
msgid "no FUNCTION_PROFILER for CRIS"
msgstr "pas de FUNCTION_PROFILER pour CRIS"
@@ -9513,104 +9782,105 @@ msgstr "pas de FUNCTION_PROFILER pour CRIS"
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
msgstr "ensemble avec -fpic et -fPIC, ne pas utiliser les références GOTPLT"
-#: config/d30v/d30v.c:209
+#: config/d30v/d30v.c:207
#, c-format
msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
msgstr "modes_tieable_p erronée pour le registre %s, mode1 %s, mode2 %s"
-#: config/d30v/d30v.c:2676
+#: config/d30v/d30v.c:2666
msgid "bad insn to d30v_print_operand_address:"
msgstr "insn erroné pour d30v_print_operand_addresse:"
-#: config/d30v/d30v.c:2693 config/d30v/d30v.c:2754 config/d30v/d30v.c:2775 config/d30v/d30v.c:2793
+#: 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 "insn erroné pour d30v_print_operand_memory_reference:"
-#: config/d30v/d30v.c:2861
+#: config/d30v/d30v.c:2851
msgid "bad insn to d30v_print_operand, 'f' modifier:"
msgstr "insn erroné pour d30v_print_operand, modificateur « f »:"
-#: config/d30v/d30v.c:2870
+#: config/d30v/d30v.c:2860
msgid "bad insn to d30v_print_operand, 'A' modifier:"
msgstr "insn erroné pour d30v_print_operand, modificateur « A »:"
-#: config/d30v/d30v.c:2877
+#: config/d30v/d30v.c:2867
msgid "bad insn to d30v_print_operand, 'M' modifier:"
msgstr "insn erroné pour d30v_print_operand, modificateur « M »:"
-#: config/d30v/d30v.c:2931
+#: config/d30v/d30v.c:2921
msgid "bad insn to print_operand, 'F' or 'T' modifier:"
msgstr "insn erroné pour print_operand, modificateur « F » ou « T »:"
-#: config/d30v/d30v.c:2942
+#: config/d30v/d30v.c:2932
msgid "bad insn to print_operand, 'B' modifier:"
msgstr "insn erroné pour print_operand, modificateur « B »:"
-#: config/d30v/d30v.c:2949
+#: config/d30v/d30v.c:2939
msgid "bad insn to print_operand, 'E' modifier:"
msgstr "insn erroné pour print_operand, modificateur « E »:"
-#: config/d30v/d30v.c:2967
+#: config/d30v/d30v.c:2957
msgid "bad insn to print_operand, 'R' modifier:"
msgstr "insn erroné to print_operand, modificateur « R »:"
-#: config/d30v/d30v.c:2976 config/d30v/d30v.c:2984
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
msgid "bad insn to print_operand, 's' modifier:"
msgstr "insn erroné to print_operand, modificateur « s »:"
-#: config/d30v/d30v.c:3013
+#: config/d30v/d30v.c:3003
msgid "bad insn in d30v_print_operand, 0 case"
msgstr "insn erroné dans d30v_print_operand, cas 0"
-#: config/d30v/d30v.c:3368
+#: config/d30v/d30v.c:3301
msgid "d30v_emit_comparison"
msgstr "d30v_emit_comparison"
-#: config/d30v/d30v.c:3412
+#: config/d30v/d30v.c:3345
msgid "bad call to d30v_move_2words"
msgstr "appel erroné à d30v_move_2words"
-#: config/d30v/d30v.h:108
+#: config/d30v/d30v.h:114
msgid "Enable use of conditional move instructions"
msgstr "Autoriser l'utilisation des instructions conditionnelles move"
-#: config/d30v/d30v.h:111
+#: config/d30v/d30v.h:117
msgid "Disable use of conditional move instructions"
msgstr "Interdire l'utilisation des instructions conditionnelles move"
-#: config/d30v/d30v.h:114
+#: config/d30v/d30v.h:120
msgid "Debug argument support in compiler"
msgstr "Mettre au point le support d'argument dans le compilateur"
-#: config/d30v/d30v.h:117
+#: config/d30v/d30v.h:123
msgid "Debug stack support in compiler"
msgstr "Mettre au point le support de la pile dans le compilateur"
-#: config/d30v/d30v.h:120
+#: config/d30v/d30v.h:126
msgid "Debug memory address support in compiler"
msgstr "Mettre au point le support d'adresses dans le compilateur"
-#: config/d30v/d30v.h:123
+#: config/d30v/d30v.h:129
msgid "Make adjacent short instructions parallel if possible"
msgstr "Rendre adjacentes les instructions short en instructions parallèles si possible"
-#: config/d30v/d30v.h:126
+#: config/d30v/d30v.h:132
msgid "Do not make adjacent short instructions parallel"
msgstr "Ne pas rendre adjacentes les instructions short en instructions parallèles"
-#: 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 "Faire l'édition de lien des programmes/données comme étant externe à la mémoire par défaut"
-#: config/d30v/d30v.h:135
+#: config/d30v/d30v.h:141
msgid "Link programs/data to be in onchip memory by default"
msgstr "Faire l'édition de lien des programmes/données comme étant interne dans la circuiterie de la mémoire par défaut"
-#: config/d30v/d30v.h:143
+#: config/d30v/d30v.h:149
msgid "Change the branch costs within the compiler"
msgstr "Changer les coûts de branchement à l'intérieur du compilateur"
-#: config/d30v/d30v.h:146
+#: config/d30v/d30v.h:152
msgid "Change the threshold for conversion to conditional execution"
msgstr "Changer le seuil pour la conversion en une exécution conditionnelle"
@@ -9622,31 +9892,27 @@ msgstr "taille de la pile > 32k"
msgid "invalid addressing mode"
msgstr "mode d'adressage invalide"
-#: config/dsp16xx/dsp16xx.c:1857
+#: config/dsp16xx/dsp16xx.c:1821
msgid "bad register extension code"
msgstr "code d'extension de registre erroné"
-#: config/dsp16xx/dsp16xx.c:1958
+#: config/dsp16xx/dsp16xx.c:1921
msgid "invalid offset in ybase addressing"
msgstr "décalage invalide dans l'adresse ybase"
-#: config/dsp16xx/dsp16xx.c:1961
+#: config/dsp16xx/dsp16xx.c:1924
msgid "invalid register in ybase addressing"
msgstr "registre invalide dans l'adressage ybase"
-#: config/dsp16xx/dsp16xx.c:1990
-msgid "inline float constants not supported on this host"
-msgstr "enlignage des constantes flottantes n'est pas supporté sur cet hôte"
-
-#: config/dsp16xx/dsp16xx.c:2140
+#: config/dsp16xx/dsp16xx.c:2099
msgid "invalid shift operator in emit_1600_core_shift"
msgstr "opérateur de décalage invalide dans emit_1600_core_shift"
-#: config/dsp16xx/dsp16xx.c:2469
+#: config/dsp16xx/dsp16xx.c:2428
msgid "invalid mode for gen_tst_reg"
msgstr "mode invalide pour gen_tst_reg"
-#: config/dsp16xx/dsp16xx.c:2541
+#: config/dsp16xx/dsp16xx.c:2500
msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr "mode invalide pour la comparaison d'entiers dans gen_compare_reg"
@@ -9655,236 +9921,403 @@ msgstr "mode invalide pour la comparaison d'entiers dans gen_compare_reg"
#. 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 "Passer les paramètres par les registres (par défaut)"
-#: config/dsp16xx/dsp16xx.h:217
+#: config/dsp16xx/dsp16xx.h:232
msgid "Don't pass parameters in registers"
msgstr "Ne pas passer les paramètres par les registres"
-#: config/dsp16xx/dsp16xx.h:219
+#: config/dsp16xx/dsp16xx.h:234
msgid "Generate code for near calls"
msgstr "Générer du code pour les appels proches"
-#: config/dsp16xx/dsp16xx.h:221
+#: config/dsp16xx/dsp16xx.h:236
msgid "Don't generate code for near calls"
msgstr "Ne pas générer du code pour les appels proches"
-#: config/dsp16xx/dsp16xx.h:223
+#: config/dsp16xx/dsp16xx.h:238
msgid "Generate code for near jumps"
msgstr "Générer du code pour les sauts proches"
-#: config/dsp16xx/dsp16xx.h:225
+#: config/dsp16xx/dsp16xx.h:240
msgid "Don't generate code for near jumps"
msgstr "Ne pas générer du code pour les sauts proches"
-#: config/dsp16xx/dsp16xx.h:227
+#: config/dsp16xx/dsp16xx.h:242
msgid "Generate code for a bit-manipulation unit"
msgstr "Générer du code pour une unité de manipulation de bits"
-#: config/dsp16xx/dsp16xx.h:229
+#: config/dsp16xx/dsp16xx.h:244
msgid "Don't generate code for a bit-manipulation unit"
msgstr "Ne pas générer du code pour une unité de manipulation de bits"
-#: config/dsp16xx/dsp16xx.h:231
+#: config/dsp16xx/dsp16xx.h:246
msgid "Generate code for memory map1"
msgstr "Générer du code pour la mémoire map1"
-#: config/dsp16xx/dsp16xx.h:233
+#: config/dsp16xx/dsp16xx.h:248
msgid "Generate code for memory map2"
msgstr "Générer du code pour la mémoire map2"
-#: config/dsp16xx/dsp16xx.h:235
+#: config/dsp16xx/dsp16xx.h:250
msgid "Generate code for memory map3"
msgstr "Générer du code pour la mémoire map3"
-#: config/dsp16xx/dsp16xx.h:237
+#: config/dsp16xx/dsp16xx.h:252
msgid "Generate code for memory map4"
msgstr "Générer du code pour la mémoire map4"
-#: config/dsp16xx/dsp16xx.h:239
+#: config/dsp16xx/dsp16xx.h:254
msgid "Ouput extra code for initialized data"
msgstr "Produire du code additionnel pour les données initialisées"
-#: config/dsp16xx/dsp16xx.h:241
+#: config/dsp16xx/dsp16xx.h:256
msgid "Don't let reg. allocator use ybase registers"
msgstr "Ne pas laisser l'allocateur de registres utiliser les registres ybase"
-#: config/dsp16xx/dsp16xx.h:243
+#: config/dsp16xx/dsp16xx.h:258
msgid "Output extra debug info in Luxworks environment"
msgstr "Produire des informations supplémentaires de mise au point dans l'environnement Luxworks"
-#: config/dsp16xx/dsp16xx.h:245
+#: config/dsp16xx/dsp16xx.h:260
msgid "Save temp. files in Luxworks environment"
msgstr "Sauvegarder les fichiers temporaires dans l'environnement Luxworks"
-#: config/dsp16xx/dsp16xx.h:257
+#: config/dsp16xx/dsp16xx.h:272
msgid "Specify alternate name for text section"
msgstr "Spécifier un nom alternatif pour la section texte"
-#: config/dsp16xx/dsp16xx.h:259
+#: config/dsp16xx/dsp16xx.h:274
msgid "Specify alternate name for data section"
msgstr "Spécifier un nom alternatif pour la section données"
-#: config/dsp16xx/dsp16xx.h:261
+#: config/dsp16xx/dsp16xx.h:276
msgid "Specify alternate name for bss section"
msgstr "Spécifier un nom alternatif pour la section bss"
-#: config/dsp16xx/dsp16xx.h:263
+#: config/dsp16xx/dsp16xx.h:278
msgid "Specify alternate name for constant section"
msgstr "Spécifier un nom alternatif pour la section des constantes"
-#: config/dsp16xx/dsp16xx.h:265
+#: config/dsp16xx/dsp16xx.h:280
msgid "Specify alternate name for dsp16xx chip"
msgstr "Spécifier un nom alternatif pour le cirsuit dsp16xx"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/dsp16xx/dsp16xx.h:1219 config/dsp16xx/dsp16xx.h:1224 config/dsp16xx/dsp16xx.h:1229 config/dsp16xx/dsp16xx.h:1809 config/dsp16xx/dsp16xx.h:1814
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
msgid "profiling not implemented yet"
msgstr "profilage n'est pas implanté encore"
#. 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:1240 config/dsp16xx/dsp16xx.h:1252
+#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240
msgid "trampolines not yet implemented"
msgstr "trampolines ne sont pas encore implantées"
-#. 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 "Générer du code que l'assembleur UNIX peut traiter"
-
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
-msgstr "Générer du code qu'un assembleur enchâssé peut traiter"
-
-#: config/fr30/fr30.c:456
+#: config/fr30/fr30.c:453
msgid "fr30_print_operand_address: unhandled address"
msgstr "fr30_print_operand_address: adresse non traitée"
-#: config/fr30/fr30.c:483
+#: config/fr30/fr30.c:480
#, c-format
msgid "fr30_print_operand: unrecognized %%p code"
msgstr "fr30_print_operand: code %%p non reconnue"
-#: config/fr30/fr30.c:503
+#: config/fr30/fr30.c:500
#, c-format
msgid "fr30_print_operand: unrecognized %%b code"
msgstr "fr30_print_operand: code %%b non reconnue"
-#: config/fr30/fr30.c:524
+#: config/fr30/fr30.c:521
#, c-format
msgid "fr30_print_operand: unrecognized %%B code"
msgstr "fr30_print_operand: code %%B non reconnu"
-#: config/fr30/fr30.c:532
+#: config/fr30/fr30.c:529
#, c-format
msgid "fr30_print_operand: invalid operand to %%A code"
msgstr "fr30_print_operand: opérande invalide pour code %%A"
-#: config/fr30/fr30.c:549
+#: config/fr30/fr30.c:546
#, c-format
msgid "fr30_print_operand: invalid %%x code"
msgstr "fr30_print_operand: code %%x invalide"
-#: config/fr30/fr30.c:556
+#: config/fr30/fr30.c:553
#, c-format
msgid "fr30_print_operand: invalid %%F code"
msgstr "fr30_print_operand: code %%F invalide"
-#: config/fr30/fr30.c:572
+#: config/fr30/fr30.c:570
msgid "fr30_print_operand: unknown code"
msgstr "fr30_print_operand: code inconnu"
-#: 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 "fr30_print_operand: MEM non traité"
-#: config/fr30/fr30.h:57
+#: config/fr30/fr30.h:63
msgid "Assume small address space"
-msgstr "Assumer un petit espace d'adressage"
+msgstr "Présumer un petit espace d'adressage"
+
+#: config/frv/frv.c:410 config/frv/frv.c:428
+#, c-format
+msgid "Unknown cpu: -mcpu=%s"
+msgstr "Processeur inconnu : -mcpu=%s"
+
+#: config/frv/frv.c:451
+msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+msgstr "-fpic et -gdwarf sont incompatibles (-fpic et -g/-gdwarf-2 sont acceptables)"
+
+#: config/frv/frv.c:2520
+msgid "Bad insn to frv_print_operand_address:"
+msgstr "insn erroné pour frv_print_operand_addresse:"
+
+#: config/frv/frv.c:2533
+#, fuzzy
+msgid "Bad register to frv_print_operand_memory_reference_reg:"
+msgstr "insn erroné pour d30v_print_operand_memory_reference:"
+
+#: 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
+#, fuzzy
+msgid "Bad insn to frv_print_operand_memory_reference:"
+msgstr "insn erroné pour d30v_print_operand_memory_reference:"
+
+#: config/frv/frv.c:2779
+#, fuzzy
+msgid "Bad insn in frv_print_operand, bad const_double"
+msgstr "insn erroné dans d30v_print_operand, cas 0"
+
+#: config/frv/frv.c:2824
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'C' modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:2847
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'c' modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:2872
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'e' modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:2880
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'F' modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:2896
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'f' modifier:"
+msgstr "insn erroné pour d30v_print_operand, modificateur « f »:"
+
+#: config/frv/frv.c:2949
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'L' modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:2962
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
+msgstr "insn erroné pour d30v_print_operand, modificateur « M »:"
+
+#: config/frv/frv.c:2983
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:3001
+#, fuzzy
+msgid "Bad insn to frv_print_operand, P modifier:"
+msgstr "insn erroné pour print_operand, modificateur « B »:"
+
+#: config/frv/frv.c:3021
+#, fuzzy
+msgid "Bad insn in frv_print_operand, z case"
+msgstr "insn erroné dans d30v_print_operand, cas 0"
+
+#: config/frv/frv.c:3049
+#, fuzzy
+msgid "Bad insn in frv_print_operand, 0 case"
+msgstr "insn erroné dans d30v_print_operand, cas 0"
+
+#: config/frv/frv.c:3054
+#, fuzzy
+msgid "frv_print_operand: unknown code"
+msgstr "fr30_print_operand: code inconnu"
+
+#: config/frv/frv.c:5737
+#, fuzzy
+msgid "Bad output_move_single operand"
+msgstr "output_move_single:"
+
+#: config/frv/frv.c:5866
+msgid "Bad output_move_double operand"
+msgstr ""
+
+#: config/frv/frv.c:6010
+#, fuzzy
+msgid "Bad output_condmove_single operand"
+msgstr "output_move_single:"
+
+#: 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
+#, fuzzy
+msgid "accumulator is not a constant integer"
+msgstr "argument de « asm » n'est pas une chaîne de constante"
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
+msgstr ""
+
+#: config/frv/frv.c:9187
+#, fuzzy, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "aucune déclaration précédente pour « %s »"
+
+#: config/frv/frv.c:9253
+#, fuzzy, c-format
+msgid "`%s' expects a constant argument"
+msgstr "l'attribut « %s » requiert un argument de type constante entière"
+
+#: config/frv/frv.c:9258
+#, fuzzy, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "code de tache %ld hors gamme pour « %s »"
+
+#: 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:142
+#: config/h8300/h8300.c:314
msgid "-ms2600 is used without -ms"
msgstr "-ms2600 est utilisé sans -ms"
+#: config/h8300/h8300.c:320
+#, fuzzy
+msgid "-mn is used without -mh or -ms"
+msgstr "-ms2600 est utilisé sans -ms"
+
#. 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
+#, fuzzy
+msgid "Generate H8S code"
msgstr "Générer du code H8/S"
-#: config/h8300/h8300.h:118
-msgid "Do not generate H8/S code"
+#: config/h8300/h8300.h:151
+#, fuzzy
+msgid "Do not generate H8S code"
msgstr "Ne pas générer du code H8/S"
-#: config/h8300/h8300.h:119
-msgid "Generate H8/S2600 code"
+#: config/h8300/h8300.h:152
+#, fuzzy
+msgid "Generate H8S/2600 code"
msgstr "Générer du code H8/S2600"
-#: config/h8300/h8300.h:120
-msgid "Do not generate H8/S2600 code"
+#: config/h8300/h8300.h:153
+#, fuzzy
+msgid "Do not generate H8S/2600 code"
msgstr "Ne pas générer du code H8/S2600"
-#: config/h8300/h8300.h:121
+#: config/h8300/h8300.h:154
msgid "Make integers 32 bits wide"
msgstr "Rendre les entiers larges de 32 bits"
-#: config/h8300/h8300.h:124
+#: config/h8300/h8300.h:157
msgid "Use registers for argument passing"
msgstr "Utiliser les registres pour le passage d'arguments"
-#: config/h8300/h8300.h:126
+#: config/h8300/h8300.h:159
msgid "Do not use registers for argument passing"
msgstr "Ne pas utiliser les registres pour le passage d'arguments"
-#: config/h8300/h8300.h:128
+#: config/h8300/h8300.h:161
msgid "Consider access to byte sized memory slow"
msgstr "Considérer l'accès mémoire lent pour la taille d'octets"
-#: config/h8300/h8300.h:129
+#: config/h8300/h8300.h:162
msgid "Enable linker relaxing"
msgstr "Auoriser la rélâche par l'éditeur de liens"
-#: config/h8300/h8300.h:131
+#: config/h8300/h8300.h:164
msgid "Generate H8/300H code"
msgstr "Générer du code H8/300H"
-#: config/h8300/h8300.h:132
+#: config/h8300/h8300.h:165
+#, fuzzy
+msgid "Enable the normal mode"
+msgstr "mode incompatible d'enregistrement"
+
+#: config/h8300/h8300.h:166
msgid "Do not generate H8/300H code"
msgstr "Ne pas générer du code H8/300H"
-#: config/h8300/h8300.h:133
+#: config/h8300/h8300.h:167
msgid "Use H8/300 alignment rules"
msgstr "Utiliser les règles d'alignement H8/300"
-#: config/i370/i370-c.c:54
+#: config/i370/i370-c.c:53
msgid "junk at end of #pragma map"
msgstr "rebut à la fin de #pragma map"
-#: config/i370/i370-c.c:60
+#: config/i370/i370-c.c:59
msgid "malformed #pragma map, ignored"
msgstr "#pragma map mal composé, ignoré"
-#: config/i370/i370.c:897
+#: config/i370/i370.c:915
msgid "real name is too long - alias ignored"
msgstr "nom réel est trop long - alias ignoré"
-#: config/i370/i370.c:902
+#: config/i370/i370.c:920
msgid "alias name is too long - alias ignored"
msgstr "nom d'alias est trop long - alias ignoré"
-#: config/i370/i370.c:1173
+#: config/i370/i370.c:1191
msgid "internal error--no jump follows compare:"
msgstr "erreur interne--pas de saut suivant la comparaison:"
@@ -9892,331 +10325,319 @@ msgstr "erreur interne--pas de saut suivant la comparaison:"
#. 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 "Générer des instructions « char »"
-#: config/i370/i370.h:64
+#: config/i370/i370.h:76
msgid "Do not generate char instructions"
msgstr "Ne pas générer des instructions « char »"
-#: config/i386/i386.c:925
+#: config/i386/i386.c:1043
#, c-format
msgid "code model %s not supported in PIC mode"
msgstr "model de code %s n'est pas supporté en mode PIC"
-#: config/i386/i386.c:935 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 "valeur erronée (%s) pour l'opton -mcmodel="
-#: config/i386/i386.c:950
+#: config/i386/i386.c:1068
#, c-format
msgid "bad value (%s) for -masm= switch"
msgstr "valeur erronée (%s) pour l'option -masm"
-#: config/i386/i386.c:953
+#: config/i386/i386.c:1071
#, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr "model de code « %s » n'est pas supporté dans le mode %s bits"
-#: config/i386/i386.c:956
+#: config/i386/i386.c:1074
msgid "code model `large' not supported yet"
msgstr "model de code « large » n'est pas supporté encore"
-#: config/i386/i386.c:958
+#: config/i386/i386.c:1076
#, c-format
msgid "%i-bit mode not compiled in"
msgstr "mode %i bits pas compilé en"
-#: config/i386/i386.c:988 config/mips/mips.c:4989
+#: config/i386/i386.c:1106
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr "valeur erronée (%s) pour l'option -march="
-#: config/i386/i386.c:999 config/mips/mips.c:4945
+#: config/i386/i386.c:1117
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr "valeur erronée (%s) pour l'option -mcpu="
-#: config/i386/i386.c:1018
+#: config/i386/i386.c:1134
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr "-mregparm=%d n'est pas entre 0 et %d"
-#: config/i386/i386.c:1031
+#: config/i386/i386.c:1147
msgid "-malign-loops is obsolete, use -falign-loops"
-msgstr "-malign-loops=%d est obsolète, utiliser -falign-loops"
+msgstr "-malign-loops est obsolète, utiliser -falign-loops"
-#: config/i386/i386.c:1036 config/i386/i386.c:1049 config/i386/i386.c:1062
+#: 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 "-malign-loops=%d n'est pas entre 0 et %d"
-#: config/i386/i386.c:1044
+#: config/i386/i386.c:1160
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr "-malign-jumps est obsolète, utiliser -falign-loops"
-#: config/i386/i386.c:1057
+#: config/i386/i386.c:1173
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr "-malign-functions est obsolète, utiliser -falign-loops"
-#: config/i386/i386.c:1095
+#: config/i386/i386.c:1211
#, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr "-mpreferred-stack-boundary=%d n'est pas entre %d et 12"
-#: config/i386/i386.c:1107
+#: config/i386/i386.c:1223
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr "-mbranch-cost=%d n'est pas entre 0 et 5"
-#: config/i386/i386.c:1129
+#: config/i386/i386.c:1235
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "valeur erronée (%s) pour l'option -msdata"
+
+#: config/i386/i386.c:1256
msgid "-malign-double makes no sense in the 64bit mode"
msgstr "-malign-double n'a aucun sens en mode 64 bits"
-#: config/i386/i386.c:1131
+#: config/i386/i386.c:1258
msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr "la conversion d'appel -mrtd n'est pas supporté en mode 64 bits"
-#: config/i386/i386.c:1147 config/i386/i386.c:1158
+#: config/i386/i386.c:1274 config/i386/i386.c:1285
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr "jeu d'instructions SSE désactivé, arithmétique 387 est utilisé"
-#: config/i386/i386.c:1163
+#: config/i386/i386.c:1290
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr "jeu d'instructions 387 désactivé, arithmétique SSE est utilisé"
-#: config/i386/i386.c:1170
+#: config/i386/i386.c:1297
#, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr "valeur erronée (%s) pour l'option -mfpmath"
-#: config/i386/i386.c:1300
+#: config/i386/i386.c:1429
#, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr "l'attribut « %s » requiert un argument de type constante entière"
-#: config/i386/i386.c:1306
+#: config/i386/i386.c:1435
#, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr "l'argument pour l'attribut « %s » est plus grand que %d"
-#: config/i386/i386.c:5363
+#: config/i386/i386.c:6176
msgid "invalid UNSPEC as operand"
msgstr "UNSPEC invalide comme opérande"
-#: config/i386/i386.c:5596
+#: config/i386/i386.c:6438
msgid "extended registers have no high halves"
msgstr "registres étendus n'a pas de demis hauts"
-#: config/i386/i386.c:5611
+#: config/i386/i386.c:6453
msgid "unsupported operand size for extended register"
msgstr "taille d'opérande non supportée pour un registre étendu"
-#: config/i386/i386.c:5884
+#: config/i386/i386.c:6768
msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
-#: config/i386/i386.c:5930
+#: config/i386/i386.c:6814
#, c-format
msgid "invalid operand code `%c'"
msgstr "opérande invalide pour « %c »"
-#: config/i386/i386.c:9867
+#: config/i386/i386.c:6861
+#, fuzzy
+msgid "invalid constraints for operand"
+msgstr "opérande %%c invalide"
+
+#: config/i386/i386.c:11027
msgid "unknown insn mode"
msgstr "mode insn inconnu"
#. @@@ better error message
-#: config/i386/i386.c:11730 config/i386/i386.c:11763
+#: config/i386/i386.c:13083 config/i386/i386.c:13119
msgid "selector must be an immediate"
msgstr "sélecteur doit être un immédiat"
#. @@@ better error message
-#: config/i386/i386.c:11921 config/i386/i386.c:11949
+#: config/i386/i386.c:13280 config/i386/i386.c:13314
msgid "mask must be an immediate"
msgstr "masque doit être un immédiat"
-#: config/i386/winnt.c:94
+#: config/i386/i386.c:13346
+#, fuzzy
+msgid "shift must be an immediate"
+msgstr "masque doit être un immédiat"
+
+#: config/i386/winnt.c:105
#, c-format
msgid "`%s' attribute only applies to variables"
msgstr "attribut « %s » s'applique seulement aux variables"
-#: 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 "« %s » déclaré à la fois comme exporté et importé d'une DLL"
-#: config/i386/cygwin.h:51
+#: config/i386/cygwin.h:45
msgid "Use the Cygwin interface"
msgstr "Utiliser l'interface Cygwin"
-#: config/i386/cygwin.h:53
+#: config/i386/cygwin.h:46
msgid "Use the Mingw32 interface"
msgstr "Utiliser l'interface Mingw32"
-#: config/i386/cygwin.h:54
+#: config/i386/cygwin.h:47
msgid "Create GUI application"
msgstr "Créer une application de type GUI"
-#: config/i386/cygwin.h:55
+#: config/i386/cygwin.h:48
msgid "Don't set Windows defines"
msgstr "Ne pas initialiser les définitions Windows"
-#: config/i386/cygwin.h:56
+#: config/i386/cygwin.h:49
msgid "Set Windows defines"
msgstr "Initialiser les définitions Windows"
-#: config/i386/cygwin.h:58
+#: config/i386/cygwin.h:50
msgid "Create console application"
msgstr "Créer une application de type console"
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
msgid "Generate code for a DLL"
msgstr "Générer le code pour un DLL"
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
msgid "Ignore dllimport for functions"
msgstr "Ignorer dllimport pour fonctions"
-#: config/i386/cygwin.h:63
+#: config/i386/cygwin.h:55
msgid "Use Mingw-specific thread support"
msgstr "Utilise le support de thread spécifique à Mingw"
-#: config/i386/cygwin.h:257
+#: config/i386/cygwin.h:244
#, c-format
msgid "-f%s ignored for target (all code is position independent)"
msgstr "-f%s ignoré pour la cible (tout le code set indépendant de la position)"
-#: config/i386/dgux.h:60
-msgid "Retain standard MXDB information"
-msgstr "Retenir l'information standard MXDB"
-
-#: config/i386/dgux.h:62
-msgid "Retain legend information"
-msgstr "Retenir les informations de légende"
-
-#: config/i386/dgux.h:65
-msgid "Generate external legend information"
-msgstr "Générer les informations externes de légende"
-
-#: config/i386/dgux.h:67
-msgid "Emit identifying info in .s file"
-msgstr "Produire les infos d'identification dans le fichier .s"
-
-#: config/i386/dgux.h:69
-msgid "Warn when a function arg is a structure"
-msgstr "Avertir lorsque l'arg d'une fonction est une structure"
-
-#: config/i386/dgux.h:252
-msgid "argument is a structure"
-msgstr "argument est une structure"
-
-#: config/i386/djgpp.h:201
+#: config/i386/djgpp.h:204
msgid "-mbnu210 is ignored (option is obsolete)"
msgstr "-mbnu210 est ignoré (option obsolète)"
-#: config/i386/i386.h:45 config/mips/mips.h:186
-msgid "half-pic init called on systems that don't support it"
-msgstr "init à demi PIC appelé sur un système qui ne le supporte pas"
-
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
-#: config/i386/i386.h:303
+#: config/i386/i386.h:306
msgid "Alternate calling convention"
msgstr "Convention alternative d'appels"
-#: 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 "Utiliser la convention normale d'appels"
-#: config/i386/i386.h:307
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr "Aligner quelques doubles sur des frontières de mots doubles"
-#: config/i386/i386.h:309
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr "Aligner les doubles sur des frontières de mots"
-#: config/i386/i386.h:311
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr "Var. locales non initialisées dans .bss"
-#: config/i386/i386.h:313
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr "Var. locales non initialisées dans .data"
-#: 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 "Utiliser les mathématiques IEEE pour les comparaisons FP"
-#: 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 "Ne pas utiliser les mathématiques IEEE pour les comparaisons FP"
-#: config/i386/i386.h:319
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr "Retourner les valeurs de fonctions dans les registres FPU"
-#: config/i386/i386.h:321
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr "Ne pas retourner les valeurs de fonctions dans les registres FPU"
-#: config/i386/i386.h:323
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr "Ne pas générer sin, cos, sqrt pour le FPU"
-#: config/i386/i386.h:325
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr "Générer sin, cos, sqrt pour le FPU"
-#: config/i386/i386.h:327
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr "Omettre le pointeur de trame dans les fonctions feuilles"
-#: config/i386/i386.h:330
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr "Autoriser le sondage de la pile"
#. undocumented
#. undocumented
-#: config/i386/i386.h:335
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr "Aligner la destination des opérations sur les chaînes"
-#: config/i386/i386.h:337
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr "Ne pas aligner la destination des opérations sur les chaînes"
-#: config/i386/i386.h:339
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr "Permettre l'enlignage dans toutes les opérations portant sur les chaînes"
-#: config/i386/i386.h:341
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
msgstr "Ne pas permettre l'enlignage dans toutes les opérations portant sur les chaînes"
-#: 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 "Utiliser les instructions push pour sauvegardes les arguments sortants"
-#: 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 "Ne pas utiliser les instructions push pour sauvegardes les arguments sortants"
-#: config/i386/i386.h:352
+#: config/i386/i386.h:354
msgid "Support MMX built-in functions"
msgstr "Supporte les fonctions internes MMX"
-#: config/i386/i386.h:354
+#: config/i386/i386.h:356
msgid "Do not support MMX built-in functions"
msgstr "Ne supporte pas les fonctions internes MMX"
-#: config/i386/i386.h:357
+#: config/i386/i386.h:358
msgid "Support 3DNow! built-in functions"
msgstr "Supporte les fonctions internes 3DNOW!"
@@ -10228,39 +10649,39 @@ msgstr "Ne supporte pas les fonctions internes 3DNOW!"
msgid "Support MMX and SSE built-in functions and code generation"
msgstr "Supporte les fonctions internes MMX et SSE et la génération de code"
-#: config/i386/i386.h:365
+#: config/i386/i386.h:364
msgid "Do not support MMX and SSE built-in functions and code generation"
msgstr "Ne supporte pas les fonctions internes MMX et SSE et la génération de code"
-#: config/i386/i386.h:367
+#: config/i386/i386.h:366
msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
msgstr "Supporte les fonctions internes MMX, SSE et SSE2 et la génération de code"
-#: 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 "Ne supporte pas les fonctions internes MMX, SSE et SSE2 et la génération de code"
-#: config/i386/i386.h:372
+#: config/i386/i386.h:370
msgid "sizeof(long double) is 16"
msgstr "sizeof(long double) est 16"
-#: config/i386/i386.h:374
+#: config/i386/i386.h:372
msgid "sizeof(long double) is 12"
msgstr "sizeof(long double) est 12"
-#: config/i386/i386.h:376
+#: config/i386/i386.h:374
msgid "Generate 64bit x86-64 code"
msgstr "Générer du code 64 bits pour x86-64"
-#: config/i386/i386.h:378
+#: config/i386/i386.h:376
msgid "Generate 32bit i386 code"
msgstr "Générer du code 32 bits pour i386"
-#: config/i386/i386.h:380
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr "Utiliser la zone-rouge pour le code x86-64"
-#: config/i386/i386.h:382
+#: config/i386/i386.h:380
msgid "Do not use red-zone in the x86-64 code"
msgstr "Ne pas utiliser la zone-rouge pour le code x86-64"
@@ -10273,21 +10694,21 @@ msgstr "Ne pas utiliser la zone-rouge pour le code x86-64"
#. 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 "Çéduler le code pour le CPU donné"
+msgstr "Ordonnancer le code pour le processeur donné"
-#: config/i386/i386.h:430
+#: config/i386/i386.h:411
msgid "Generate floating point mathematics using given instruction set"
msgstr "Générer les mathématiques en virgule flottante avec le jeu d'instructions données"
-#: config/i386/i386.h:432
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
-msgstr "Générer le code pour le CPU donné"
+msgstr "Générer le code pour le processeur donné"
-#: config/i386/i386.h:434
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
-msgstr "Nombre de registre utiliser pour passer les arguments entiers"
+msgstr "Nombre de registres utilisés pour passer les arguments entiers"
#. TARGET_DEFAULT is defined in sun*.h and isi.h, etc.
#. This macro is similar to `TARGET_SWITCHES' but defines names of
@@ -10299,71 +10720,42 @@ msgstr "Nombre de registre utiliser pour passer les arguments entiers"
#. 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 "Codes de boucles alignés selon une puissance de 2"
-#: 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 "Sauts de cibles alignés selon une puissance de 2"
-#: 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 "Débuts des fonction alignés selon une puissance de 2"
-#: config/i386/i386.h:443
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr "Tentative de conservation de la pile alignée selon une puissance de 2"
-#: config/i386/i386.h:445
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr "Branchements coûteux à ce point (1-4, unités arbitraires)"
-#: config/i386/i386.h:447
+#: config/i386/i386.h:428
msgid "Use given x86-64 code model"
msgstr "Utiliser le modèle de x86-64 donné"
#. Undocumented.
#. Undocumented.
-#: config/i386/i386.h:453
+#: config/i386/i386.h:434
msgid "Use given assembler dialect"
msgstr "Utiliser la syntaxe de l'assembleur donné"
-#: config/i386/osf1elf.h:112
-msgid "Profiling uses mcount"
-msgstr "Profilage utilise mcount"
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr "Produire du code à moitié PIC"
-
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr "Produire du code objet ELF"
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr "Produire du code objet ROSE"
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
-msgstr "Les symboles sont précédées d'un caractère de soulignement "
-
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr "Aligner sur >frontières de mots"
-
-#: config/i386/osfrose.h:77
-msgid "Use mcount for profiling"
-msgstr "Utiliser mcount pour le profilage"
-
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
-msgstr "Utiliser mcount_ptr pour le profilage"
+#: config/i386/i386.h:436
+#, fuzzy
+msgid "Use given thread-local storage dialect"
+msgstr "Utiliser la syntaxe de l'assembleur donné"
-#: config/i386/sco5.h:771
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr "Générer la sortie ELF"
@@ -10395,32 +10787,31 @@ msgstr "variable d'environment DJGPP pointe sur un fichier manquant « %s »"
msgid "environment variable DJGPP points to corrupt file '%s'"
msgstr "variable d'environment DJGPP pointe vers un fichier corrompu « %s »"
-#. 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"
-msgstr "Générer du code qui utilise le FPU"
-
-#: 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"
-msgstr "Ne pas générer du code qui utilise le FPU"
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr "désolé, pas implanté: #pragma align NOM=TAILLE"
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
msgid "malformed #pragma align - ignored"
msgstr "#pragma align mal composé - ignoré"
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr "désolé, pas implanté: #pragma noalign NOM"
-#: config/i960/i960.c:1405 config/m68k/m68k.c:665 config/rs6000/rs6000.c:8437
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr "architectures conflictuelles définies - utilise les séries C"
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr "architectures conflictuelles définies - utilise les séries K"
+
+#: config/i960/i960.c:141
+msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+msgstr "iC2.0 et iC3.0 sont incompatibles - utilise iC3.0"
+
+#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9931
msgid "stack limit expression is not supported"
msgstr "expression limitant la pile n'est pas supportée"
@@ -10478,6 +10869,10 @@ msgstr "Générer du code CA"
msgid "Generate CF code"
msgstr "Générer du code CF"
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:252
+msgid "Use software floating point"
+msgstr "Utiliser le traitement par logiciel des nombres flottants"
+
#: config/i960/i960.h:285
msgid "Use alternate leaf function entries"
msgstr "Utiliser les entrées alternatives pour les fonctions de feuilles"
@@ -10539,7 +10934,8 @@ msgstr "Utiliser une disposition de type Intel's v1.3 gcc"
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr "Ne pas utiliser une disposition de type Intel's v1.3 gcc"
-#: config/i960/i960.h:323 config/sparc/freebsd.h:80 config/sparc/linux.h:86 config/sparc/linux64.h:143 config/sparc/netbsd-elf.h:238
+#: 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 "Utiliser les doubles longs de 64 bits"
@@ -10551,186 +10947,205 @@ msgstr "Autoriser la relâche par l'éditeur de liens"
msgid "Do not enable linker relaxation"
msgstr "Ne pas autoriser la relâche par l'éditeur de liens"
-#. 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"
-msgstr "architectures conflictuelles définies - utilise les séries C"
-
-#: config/i960/i960.h:347
-msgid "conflicting architectures defined - using K series"
-msgstr "architectures conflictuelles définies - utilise les séries K"
-
-#: config/i960/i960.h:362
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr "iC2.0 et iC3.0 sont incompatibles - utilise iC3.0"
-
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:373
-msgid "the -mlong-double-64 option does not work yet"
-msgstr "l'option -mlong-double-64 n'est pas fonctionnelle encore"
+#: config/ia64/ia64-c.c:50
+#, fuzzy
+msgid "malformed #pragma builtin"
+msgstr "sectin mal composée #pragma ghs"
-#: config/ia64/ia64.c:3554
+#: config/ia64/ia64.c:3879
msgid "ia64_print_operand: unknown code"
msgstr "ia64_print_operand: code inconnu"
-#: config/ia64/ia64.c:3828
+#: config/ia64/ia64.c:4157
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr "valeur de -mfixed-range doit avoir la forme REG1-REG2"
-#: config/ia64/ia64.c:3855
+#: config/ia64/ia64.c:4184
#, c-format
msgid "%s-%s is an empty range"
msgstr "%s-%s est une étendue vide"
-#: config/ia64/ia64.c:3920
-msgid "cannot optimize division for both latency and throughput"
+#: config/ia64/ia64.c:4215
+#, fuzzy
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr "ne peut optimiser la division à la fois pour la latence et la quantité produite"
+
+#: config/ia64/ia64.c:4221
+#, fuzzy
+msgid "cannot optimize integer division for both latency and throughput"
msgstr "ne peut optimiser la division à la fois pour la latence et la quantité produite"
+#: config/ia64/ia64.c:4233
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "valeur erronée (%s) pour l'option -mtune"
+
#. 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 "Générer du code de système à octets de poids fort"
-#: 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 "Générer du code de système à octets de poids faible"
-#: config/ia64/ia64.h:123
+#: config/ia64/ia64.h:154
msgid "Generate code for GNU as"
msgstr "Générer du code pour GNU tel que"
-#: config/ia64/ia64.h:125
+#: config/ia64/ia64.h:156
msgid "Generate code for Intel as"
msgstr "Générer du code pour Intel tel que"
-#: config/ia64/ia64.h:127
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU ld"
msgstr "Générer du code pour GNU ld"
-#: config/ia64/ia64.h:129
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel ld"
msgstr "Générer du code pour Intel ld"
-#: config/ia64/ia64.h:131
+#: config/ia64/ia64.h:162
msgid "Generate code without GP reg"
msgstr "Générer du code sans registre GP"
-#: config/ia64/ia64.h:133
+#: config/ia64/ia64.h:164
msgid "Emit stop bits before and after volatile extended asms"
msgstr "Produire de stop bits avant et après les asms étendus"
-#: config/ia64/ia64.h:135
+#: config/ia64/ia64.h:166
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr "Ne pas produire de stop bits avant et après les asms étendus"
-#: config/ia64/ia64.h:137
+#: config/ia64/ia64.h:168
msgid "Emit code for Itanium (TM) processor B step"
msgstr "Produire du code pour le processeur B Itanium (TM)"
-#: config/ia64/ia64.h:139
+#: config/ia64/ia64.h:170
msgid "Use in/loc/out register names"
msgstr "Utilise les noms des registres in/loc/out "
-#: config/ia64/ia64.h:141
+#: config/ia64/ia64.h:172
msgid "Disable use of sdata/scommon/sbss"
msgstr "Interdire l'utilisation de sdata/scommon/sbss"
-#: config/ia64/ia64.h:143
+#: config/ia64/ia64.h:174
msgid "Enable use of sdata/scommon/sbss"
msgstr "Autoriser l'utilisation de sdata/scommon/sbss"
-#: config/ia64/ia64.h:145
+#: config/ia64/ia64.h:176
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr "gp est une constante (mais save/restore gp fait par appels indirects)"
-#: config/ia64/ia64.h:147
+#: config/ia64/ia64.h:178
msgid "Generate self-relocatable code"
msgstr "Générer du code auto-relocalisable"
-#: config/ia64/ia64.h:149
-msgid "Generate inline division, optimize for latency"
+#: config/ia64/ia64.h:180
+#, fuzzy
+msgid "Generate inline floating point division, optimize for latency"
msgstr "Générer les divisions en ligne, optimisées pour la latence"
-#: config/ia64/ia64.h:151
-msgid "Generate inline division, optimize for throughput"
+#: config/ia64/ia64.h:182
+#, fuzzy
+msgid "Generate inline floating point division, optimize for throughput"
msgstr "Générer les divisions en ligne, optimisées pour la quantité"
-#: config/ia64/ia64.h:153
+#: config/ia64/ia64.h:184
+#, fuzzy
+msgid "Generate inline integer division, optimize for latency"
+msgstr "Générer les divisions en ligne, optimisées pour la latence"
+
+#: config/ia64/ia64.h:186
+#, fuzzy
+msgid "Generate inline integer division, optimize for throughput"
+msgstr "Générer les divisions en ligne, optimisées pour la quantité"
+
+#: config/ia64/ia64.h:188
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr "Autoriser les infos de lignes de mise au point Dwarf 2 via GNU tel que"
-#: config/ia64/ia64.h:155
+#: config/ia64/ia64.h:190
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr "Interdire les infos de lignes de mise au point Dwarf 2 via GNU tel que"
-#: config/ia64/ia64.h:183
+#: config/ia64/ia64.h:219
msgid "Specify range of registers to make fixed"
msgstr "spécifier l'étendue des registres pour la rendre fixe"
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1082
+#, fuzzy
+msgid "bad operand"
+msgstr "opérande ASM erronée"
+
+#: config/ip2k/ip2k.c:3184
+#, fuzzy
+msgid "Only initialized variables can be placed into program memory area."
+msgstr "seules les variables initialisées peuvent être placées dans la zone mémoire du programme"
+
+#: config/m32r/m32r.c:139
#, c-format
msgid "bad value (%s) for -mmodel switch"
msgstr "valeur erronée (%s) pour l'option -mmodel"
-#: config/m32r/m32r.c:139
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
msgstr "valeur erronée (%s) pour l'option -msdata"
-#: config/m32r/m32r.c:310
+#: config/m32r/m32r.c:319
#, c-format
msgid "invalid argument of `%s' attribute"
msgstr "type d'argument invalide pour l'attribut « %s »"
-#: config/m32r/m32r.c:408
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr "constantes objets ne peuvent aller dans .sdata/.sbss"
-#: config/m32r/m32r.c:2248
+#: config/m32r/m32r.c:2256
#, c-format
msgid "invalid operand to %%s code"
msgstr "opérande invalide pour le code %%s"
-#: config/m32r/m32r.c:2255
+#: config/m32r/m32r.c:2263
#, c-format
msgid "invalid operand to %%p code"
msgstr "opérande invalide pour le code %%p"
-#: config/m32r/m32r.c:2311
+#: config/m32r/m32r.c:2318
msgid "bad insn for 'A'"
msgstr "insn erroné pour « A »"
-#: config/m32r/m32r.c:2363
+#: config/m32r/m32r.c:2370
#, c-format
msgid "invalid operand to %%T/%%B code"
msgstr "opérande invalide pour le code %%T/%%B"
-#: config/m32r/m32r.c:2386
+#: config/m32r/m32r.c:2393
#, c-format
msgid "invalid operand to %%N code"
msgstr "opérande invalide pour le code %%N"
-#: config/m32r/m32r.c:2431
+#: config/m32r/m32r.c:2438
msgid "pre-increment address is not a register"
msgstr "pré-incrément d'adresse n'est pas un registre"
-#: config/m32r/m32r.c:2438
+#: config/m32r/m32r.c:2445
msgid "pre-decrement address is not a register"
msgstr "pré-décrément d'adresse n'est pas un registre"
-#: config/m32r/m32r.c:2445
+#: config/m32r/m32r.c:2452
msgid "post-increment address is not a register"
msgstr "post-incrément d'adresse n'est pas un registre"
-#: config/m32r/m32r.c:2523 config/m32r/m32r.c:2539 config/rs6000/rs6000.c:11065
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12737
msgid "bad address"
msgstr "adresse erronée"
-#: config/m32r/m32r.c:2544
+#: config/m32r/m32r.c:2551
msgid "lo_sum not of register"
msgstr "lo_sum n'est pas un registre"
@@ -10759,45 +11174,46 @@ msgstr "Taille du code: small, medium ou large"
msgid "Small data area: none, sdata, use"
msgstr "Petite zone de données: none, sdata, use"
-#: config/m68hc11/m68hc11.c:236
+#: config/m68hc11/m68hc11.c:242
#, c-format
msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
msgstr "-f%s ignoré pour 68HC11/68HC12 (non supporté)"
#. !!!! 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 "déplacement insn non traité"
-#: 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 "registre invalide dans l'instruction de déplacement"
-#: config/m68hc11/m68hc11.c:3424
+#: config/m68hc11/m68hc11.c:3506
msgid "invalid operand in the instruction"
msgstr "opérande invalide dans l'instruction"
-#: config/m68hc11/m68hc11.c:3721
+#: config/m68hc11/m68hc11.c:3803
msgid "invalid register in the instruction"
msgstr "registre invalide dans l'instruction"
-#: config/m68hc11/m68hc11.c:3754
+#: config/m68hc11/m68hc11.c:3836
msgid "operand 1 must be a hard register"
msgstr "l'opérande 1 doit être un registre matériel"
-#: config/m68hc11/m68hc11.c:3771
+#: config/m68hc11/m68hc11.c:3853
msgid "invalid rotate insn"
msgstr "rotation invalide insn"
-#: config/m68hc11/m68hc11.c:4196
+#: config/m68hc11/m68hc11.c:4278
msgid "registers IX, IY and Z used in the same INSN"
msgstr "registres IX, IY et Z utilisés dans le même INSN"
-#: 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 "ne peut effectuer le remplacement d'un registre z"
-#: config/m68hc11/m68hc11.c:4886
+#: config/m68hc11/m68hc11.c:4969
msgid "invalid Z register replacement for insn"
msgstr "remplacement invalide de registre Z pour insn"
@@ -10805,31 +11221,50 @@ msgstr "remplacement invalide de registre Z pour insn"
#. 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 "Compiler en mode entier de 16 bits"
-#: config/m68hc11/m68hc11.h:157
+#: config/m68hc11/m68hc11.h:162
msgid "Compile with 32-bit integer mode"
msgstr "Compiler en mode entier de 32 bits"
-#: config/m68hc11/m68hc11.h:159
+#: config/m68hc11/m68hc11.h:164
msgid "Auto pre/post decrement increment allowed"
msgstr "Auto pré/post décrementation incrémentation permise"
-#: config/m68hc11/m68hc11.h:161
+#: config/m68hc11/m68hc11.h:166
msgid "Auto pre/post decrement increment not allowed"
msgstr "Auto pré/post décrementation incrémentation non permise"
-#: config/m68hc11/m68hc11.h:163
+#: config/m68hc11/m68hc11.h:168
+msgid "Min/max instructions allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:170
+#, fuzzy
+msgid "Min/max instructions not allowed"
+msgstr "instruction ret n'est pas implantée"
+
+#: config/m68hc11/m68hc11.h:172
+#, fuzzy
+msgid "Use call and rtc for function calls and returns"
+msgstr "Générer un appel pour stopper si une fonction sans retour retourne un résultat"
+
+#: config/m68hc11/m68hc11.h:174
+#, fuzzy
+msgid "Use jsr and rts for function calls and returns"
+msgstr "Utiliser des stubs pour les prologues de fonction"
+
+#: config/m68hc11/m68hc11.h:176
msgid "Do not use direct addressing mode for soft registers"
msgstr "Ne pas utiliser les modes directs d'adressage pour des registres logiciels"
-#: 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 "Compiler pour un 68HC11"
-#: 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 "Compiler pour un 68HC12"
@@ -10842,29 +11277,33 @@ msgstr "Compiler pour un 68HC12"
#. 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 "Spécifier l'ordre d'allocation des registres"
-#: config/m68hc11/m68hc11.h:187
+#: config/m68hc11/m68hc11.h:200
msgid "Indicate the number of soft registers available"
msgstr "Indiquer le nombre de registres logiciels disponibles"
-#: config/m68k/m68k.c:150
+#: config/m68k/m68k.c:158
#, c-format
msgid "-malign-loops=%d is not between 1 and %d"
msgstr "-malign-loops=%d n'est pas entre 1 et %d"
-#: config/m68k/m68k.c:161
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr "-malign-jumps=%d n'est pas entre 1 et %d"
-#: config/m68k/m68k.c:172
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
msgstr "-malign-functions=%d n'est pas entre 1 et %d"
+#: config/m68k/m68k.c:189
+msgid "-fPIC is not currently supported on the 68000 or 68010\n"
+msgstr "-fPIC n'est pas couramment supporté pour le 68000 ou 68010\n"
+
#. Macro to define tables used to set the flags.
#. This is a list in braces of pairs in braces,
#. each pair being { "NAME", VALUE }
@@ -10916,23 +11355,23 @@ msgstr "Ne pas utiliser la convention d'édition de lien Sky"
#: config/m68k/m68k.h:197
msgid "Generate code for a 68881"
-msgstr "Générer le code pour un 68881"
+msgstr "Générer du code pour un 68881"
#: config/m68k/m68k.h:200
msgid "Generate code with library calls for floating point"
-msgstr "Générer le code avec les appels de librairies en virgule flottante"
+msgstr "Générer du code avec les appels de bibliothèques pour la virgule flottante"
#: config/m68k/m68k.h:202
msgid "Generate code for a 68040, without any new instructions"
-msgstr "Générer le code pour un 68040 sans les nouvelles instructions"
+msgstr "Générer du code pour un 68040 sans les nouvelles instructions"
#: config/m68k/m68k.h:205
msgid "Generate code for a 68060, without any new instructions"
-msgstr "Générer le code pour un 68060 sans les nouvelles instructions"
+msgstr "Générer du code pour un 68060 sans les nouvelles instructions"
#: config/m68k/m68k.h:209
msgid "Generate code for a 68030"
-msgstr "Générer le code pour un 68030"
+msgstr "Générer du code pour un 68030"
#: config/m68k/m68k.h:212
msgid "Generate code for a 68040"
@@ -10940,11 +11379,11 @@ msgstr "Générer du code pour un 68040"
#: config/m68k/m68k.h:216
msgid "Generate code for a 68060"
-msgstr "Générer le code pour un 68060"
+msgstr "Générer du code pour un 68060"
#: config/m68k/m68k.h:221
msgid "Generate code for a 520X"
-msgstr "Générer le code pour un 520X"
+msgstr "Générer du code pour un 520X"
#: config/m68k/m68k.h:224
msgid "Generate code for a 68851"
@@ -10952,19 +11391,19 @@ msgstr "Générer le code pour un 68851"
#: config/m68k/m68k.h:226
msgid "Do no generate code for a 68851"
-msgstr "Ne pas générer le code pour un 68851"
+msgstr "Ne pas générer de code pour un 68851"
#: config/m68k/m68k.h:229
msgid "Generate code for a 68302"
-msgstr "Générer le code pour un 68302"
+msgstr "Générer du code pour un 68302"
#: config/m68k/m68k.h:232
msgid "Generate code for a 68332"
-msgstr "Générer le code pour un 68332"
+msgstr "Générer du code pour un 68332"
#: config/m68k/m68k.h:236
msgid "Generate code for a cpu32"
-msgstr "Générer le code pour un cpu32"
+msgstr "Générer du code pour un cpu32"
#: config/m68k/m68k.h:239
msgid "Align variables on a 32-bit boundary"
@@ -10986,91 +11425,84 @@ msgstr "Ne pas utiliser des références mémoire non alignées"
msgid "Use unaligned memory references"
msgstr "Utiliser des références mémoire non alignées"
-#. 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 "-fPIC n'est pas couramment supporté pour le 68000 ou 68010\n"
-
-#: config/m88k/m88k.c:900
+#: config/m88k/m88k.c:903
#, c-format
msgid "internal gcc monitor: short-branch(%x)"
msgstr "moniteur interne gcc: branchement court(%x)"
-#: config/m88k/m88k.c:2300
+#: config/m88k/m88k.c:2302
msgid "internal gcc error: Can't express symbolic location"
msgstr "erreur interne gcc: ne peut exprimer la localisation symbolique"
-#: config/m88k/m88k.c:2582
+#: config/m88k/m88k.c:2517
#, c-format
msgid "argument #%d is a structure"
msgstr "argument #%d est une structure"
-#: config/m88k/m88k.c:2882
+#: config/m88k/m88k.c:2816
#, c-format
msgid "%%R not followed by %%B/C/D/E"
msgstr "%%R n'est pas suivi de %%B/C/D/E"
-#: config/m88k/m88k.c:2950
+#: config/m88k/m88k.c:2884
#, c-format
msgid "invalid %%x/X value"
msgstr "valeur %%x/X invalide"
-#: config/m88k/m88k.c:2973 config/rs6000/rs6000.c:6509
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "valeur %%Q invalide"
+
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681
#, c-format
msgid "invalid %%q value"
msgstr "valeur %%q invalide"
-#: config/m88k/m88k.c:2979
+#: config/m88k/m88k.c:2913
#, c-format
msgid "invalid %%o value"
msgstr "valeur %%o invalide"
-#: config/m88k/m88k.c:2986 config/rs6000/rs6000.c:6472
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644
#, c-format
msgid "invalid %%p value"
msgstr "valeur %%p invalide"
-#: config/m88k/m88k.c:2999 config/m88k/m88k.c:3004
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
#, c-format
msgid "invalid %%s/S value"
msgstr "valeur %%s/S invalide"
-#: config/m88k/m88k.c:3015
+#: config/m88k/m88k.c:2949
#, c-format
msgid "invalid %%P operand"
msgstr "opérande %%P invalide"
-#: config/m88k/m88k.c:3046 config/romp/romp.c:682
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
#, c-format
msgid "invalid %%B value"
msgstr "valeur %%B invalide"
-#: config/m88k/m88k.c:3076
+#: config/m88k/m88k.c:3010
#, c-format
msgid "invalid %%D value"
msgstr "valeur %%D invalide"
-#: config/m88k/m88k.c:3089
+#: config/m88k/m88k.c:3023
#, c-format
msgid "`%%d' operand isn't a register"
msgstr "l'opérande «%%d» n'est pas un registre"
-#: config/m88k/m88k.c:3107
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr "opérande est R0"
-#: config/m88k/m88k.c:3121
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr "opérande est de type const_double"
-#: config/m88k/m88k.c:3140
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr "code invalide"
@@ -11094,7 +11526,7 @@ msgstr "-mshort-data-%s est trop grande "
msgid "-mshort-data-%s and PIC are incompatible"
msgstr "-mshort-data-%s et PIC sont incompatibles"
-#: config/mcore/mcore.c:3083
+#: config/mcore/mcore.c:3078
#, c-format
msgid "invalid option `-mstack-increment=%s'"
msgstr "opton invalide «-mstack-increment=%s'"
@@ -11151,217 +11583,232 @@ msgstr "Générer du code pour M*Core M340"
msgid "Maximum amount for a single stack increment operation"
msgstr "Montant maximal pour une opération d'incrémentation simple de la pile"
-#: config/mips/mips.c:4815
-msgid "The -march option is incompatible to -mipsN and therefore ignored."
-msgstr "L'option -march est incompatible avec -mipsN et est alors ignorée."
+#: config/mips/mips.c:5112
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
+msgstr "valeur erronée (%s) pour l'option -mabi"
-#: config/mips/mips.c:4841
+#: config/mips/mips.c:5142
#, c-format
-msgid "-mips%d not supported"
-msgstr "-mips%d n'est pas supporté"
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr ""
-#: config/mips/mips.c:4848
+#: config/mips/mips.c:5149
#, c-format
msgid "bad value (%s) for -mips switch"
msgstr "valeur erronée (%s) pour l'option -mips"
-#: config/mips/mips.c:4869
-#, c-format
-msgid "bad value (%s) for -mabi= switch"
-msgstr "valeur erronée (%s) pour l'option -mabi"
+#: config/mips/mips.c:5164
+#, fuzzy, c-format
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr "le sélecteur de CASE n'est pas compatible avec l'étiquette"
-#: config/mips/mips.c:4907
-#, c-format
-msgid "-mabi=%s does not support -mips%d"
-msgstr "-mabi=%s ne supporte pas -mips%d"
+#: config/mips/mips.c:5176
+msgid "-mgp64 used with a 32-bit processor"
+msgstr ""
-#: config/mips/mips.c:4924
-msgid "this target does not support the -mabi switch"
-msgstr "cette cible ne supporte pas l'option -mabi"
+#: config/mips/mips.c:5178
+#, fuzzy
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "Utiliser ABI de 64 bits"
-#: config/mips/mips.c:5034
-#, c-format
-msgid "bad value (%s) for -mtune= switch"
-msgstr "valeur erronée (%s) pour l'option -mtune"
+#: config/mips/mips.c:5180
+#, fuzzy
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "Utiliser ABI de 32 bits"
-#: config/mips/mips.c:5044
-#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr "-mips%d ne supporte pas les registres FP de 64 bits"
+#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202
+#, fuzzy, c-format
+msgid "unsupported combination: %s"
+msgstr "valeur de conversion non supportée"
-#: config/mips/mips.c:5050
-#, c-format
-msgid "-mips%d does not support 64 bit gp registers"
-msgstr "-mips%d ne supporte pas les registres GP de 64 bits"
+#: config/mips/mips.c:5272
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr ""
-#: config/mips/mips.c:5071
+#: config/mips/mips.c:5283
msgid "-G is incompatible with PIC code which is the default"
msgstr "-G est incompatible avec le code PIC par défaut"
-#: config/mips/mips.c:5087
+#: config/mips/mips.c:5299
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr "-membedded-pic et -mabicalls sont incompatibles"
-#: config/mips/mips.c:5090
+#: config/mips/mips.c:5302
msgid "-G and -membedded-pic are incompatible"
msgstr "-G et -membedded-pic sont incompatibles"
-#: config/mips/mips.c:5141
+#: config/mips/mips.c:5353
#, c-format
msgid "invalid option `entry%s'"
msgstr "option invalide «entry%s'"
-#: config/mips/mips.c:5144
+#: config/mips/mips.c:5356
msgid "-mentry is only meaningful with -mips-16"
msgstr "-mentry n'a de sens qu'avec -mips-16"
-#: config/mips/mips.c:5484
+#: config/mips/mips.c:5761
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr "erreur interne: %%) trouvé sans %%( dans le patron d'aswsemblage"
-#: config/mips/mips.c:5498
+#: config/mips/mips.c:5775
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr "erreur interne: %%] trouvé sans %%[ dans le patron d'assemblage"
-#: config/mips/mips.c:5511
+#: config/mips/mips.c:5788
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr "erreur interne: %%> trouvé sans %%< dans le patron d'assemblage"
-#: config/mips/mips.c:5524
+#: config/mips/mips.c:5801
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr "erreur interne: %%} trouvé sans %%{ dans le patron d'assemblage"
-#: config/mips/mips.c:5538
+#: config/mips/mips.c:5815
#, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr "PRINT_OPERAND: ponctuation « %c » inconnue"
-#: config/mips/mips.c:5547 config/xtensa/xtensa.c:1913
+#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr "PRINT_OPERAND pointeur nul"
-#: config/mips/mips.c:5680
+#: config/mips/mips.c:5955
#, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr "utilisation invalide de %%d, %%x, ou %%X"
-#: config/mips/mips.c:5723 config/xtensa/xtensa.c:2012
+#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr "PRINT_OPERAND_ADDRESS, pointeur nul"
-#: config/mips/mips.c:5947
+#: config/mips/mips.c:6222
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr "format MIPS ECOFF ne permet pas de changer le nom des fichiers à l'intérieur des fonction avec #line"
-#: config/mips/mips.c:6261
+#: config/mips/mips.c:6532
msgid "can't rewind temp file"
msgstr "ne peut rembobiner le fichier temporaire"
-#: config/mips/mips.c:6265
+#: config/mips/mips.c:6536
msgid "can't write to output file"
msgstr "ne peut écrire dans le fichier de sortie"
-#: config/mips/mips.c:6268
+#: config/mips/mips.c:6539
msgid "can't read from temp file"
msgstr "ne peut lire du fichier temporaire"
-#: config/mips/mips.c:6271
+#: config/mips/mips.c:6542
msgid "can't close temp file"
msgstr "ne peut fermer le fichier temporaire"
-#: config/mips/mips.c:6704
+#: config/mips/mips.c:6983
#, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "gp_offset (%ld) ou end_offset (%ld) est plus petit que zéro"
-#: config/mips/mips.c:6866
+#: config/mips/mips.c:7092
#, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "fp_offset (%ld) ou end_offset (%ld) est plus petit que zéro"
-#: config/mips/mips.c:8927
+#: config/mips/mips.c:9312
#, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr "ne peut traiter des appels inconsistents à « %s »"
+#: config/mips/mips.c:10444
+#, fuzzy
+msgid "the cpu name must be lower case"
+msgstr "Noms de symboles en minuscules"
+
+#: config/mips/mips.c:10466
+#, fuzzy, c-format
+msgid "bad value (%s) for %s"
+msgstr "valeur (%s) erronée pour l'option %s"
+
+#. 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:368 config/mn10300/mn10300.h:64
+#: config/mips/mips.h:528 config/mn10300/mn10300.h:64
msgid "No default crt0.o"
msgstr "Aucun défaut pour crt0.o"
-#: config/mips/mips.h:370
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr "Utiliser le type int de 64 bits"
-#: config/mips/mips.h:372
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr "Utiliser le type long de 64 bits"
-#: config/mips/mips.h:374
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr "Utiliser le type long de 32 bits"
-#: config/mips/mips.h:376
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr "Optimiser les chargements d'adresses lui/addiu"
-#: config/mips/mips.h:378
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr "Ne pas optimiser les chargements d'adresses lui/addiu"
-#: config/mips/mips.h:380
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr "Utiliser MIPS tel que"
-#: config/mips/mips.h:382
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr "Utiliser GNU tel que"
-#: config/mips/mips.h:384
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
msgstr "Utiliser les noms de registres symboliques"
-#: config/mips/mips.h:386
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr "Ne pas utiliser les noms de registres symboliques"
-#: config/mips/mips.h:388 config/mips/mips.h:390
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr "Utiliser GP en mode relatif aux sections sdata/sbss"
-#: config/mips/mips.h:392 config/mips/mips.h:394
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr "Ne pas utiliser GP en mode relatif aux sections sdata/sbss"
-#: config/mips/mips.h:396
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr "Afficher les statistiques de compilation"
-#: config/mips/mips.h:398
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr "Ne pas afficher les statistiques de compilation"
-#: config/mips/mips.h:400
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr "Ne pas optimiser les déplacements de blocs"
-#: config/mips/mips.h:402
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr "Optimiser les déplacements de blocs"
-#: config/mips/mips.h:404
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr "Utiliser la post-passe de type mips-tfile de l'assembleur"
-#: config/mips/mips.h:406
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr "Ne pas utiliser la post-passe de type mips-tfile de l'assembleur"
@@ -11371,268 +11818,251 @@ msgstr "Ne pas utiliser la post-passe de type mips-tfile de l'assembleur"
#. 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:410 config/pdp11/pdp11.h:55
+#: config/mips/mips.h:570 config/pdp11/pdp11.h:56
msgid "Use hardware floating point"
msgstr "Utiliser l'unité matérielle en virgule flottante"
-#: config/mips/mips.h:412
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr "Utiliser les registres FP de 64 bits"
-#: config/mips/mips.h:414
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr "Utiliser les registres FP de 32 bits"
-#: config/mips/mips.h:416
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr "Utiliser les registres généraux de 64 bits"
-#: config/mips/mips.h:418
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr "Utiliser les registres généraux de 32 bits"
-#: config/mips/mips.h:420
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr "Utiliser le code PIC Irix"
-#: config/mips/mips.h:422
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
-msgstr "Utiliser le code PIC Irix"
-
-#: config/mips/mips.h:424
-msgid "Use OSF PIC"
-msgstr "Utiliser le code PIC OSF"
+msgstr "Ne pas utiliser le code PIC Irix"
-#: config/mips/mips.h:426
-msgid "Don't use OSF PIC"
-msgstr "Ne pas utiliser le code PIC OSF"
-
-#: config/mips/mips.h:428
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr "Utiliser les appels indirects"
-#: config/mips/mips.h:430
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr "Ne pas utiliser les appels indirects"
-#: config/mips/mips.h:432
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr "Utiliser le code PIC enchâssé"
-#: config/mips/mips.h:434
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr "Ne pas utiliser le code PIC enchâssé"
-#: config/mips/mips.h:436
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr "Utiliser le ROM au lieu de la RAM"
-#: config/mips/mips.h:438
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr "Ne pas utiliser le ROM au lieu de la RAM"
-#: config/mips/mips.h:440
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
msgstr "Placer les constantes non itialisées dans le ROM (a besoin de -membedded-data)"
-#: config/mips/mips.h:442
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
msgstr "Ne pas placer les constantes non itialisées dans le ROM (a besoin de -membedded-data)"
#. Macro to define tables used to set the flags.
-#: config/mips/mips.h:444 config/xtensa/xtensa.h:110
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr "Utiliser l'ordre des octets pour système à octets de poids fort"
-#: config/mips/mips.h:446 config/xtensa/xtensa.h:112
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr "Utiliser l'ordre des octets pour système à octets de poids faible"
-#: config/mips/mips.h:448
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr "Utiliser un simple FP (32 bits) seulement"
-#: config/mips/mips.h:450
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr "Ne pas utiliser un simple FP (32 bits) seulement"
-#: config/mips/mips.h:452
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr "Utiliser les multiplications par accumulations"
-#: config/mips/mips.h:454
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr "Ne pas utiliser les multiplications par accumulations"
-#: config/mips/mips.h:456 config/rs6000/rs6000.h:351
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
msgid "Don't generate fused multiply/add instructions"
msgstr "Ne pas générer des instructions fusionnés de multiplication/addition"
-#: config/mips/mips.h:458 config/rs6000/rs6000.h:349
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
msgid "Generate fused multiply/add instructions"
msgstr "Générer des instructions fusionnés de multiplication/addition"
-#: config/mips/mips.h:460
+#: config/mips/mips.h:616
msgid "Work around early 4300 hardware bug"
msgstr "Contourner le bug matériel des premiers 4300"
-#: config/mips/mips.h:462
+#: config/mips/mips.h:618
msgid "Don't work around early 4300 hardware bug"
msgstr "Ne pas contourner le bug matériel des premiers 4300"
-#: config/mips/mips.h:464
-msgid "Optimize for 3900"
-msgstr "Optimiser pour le 3900"
-
-#: config/mips/mips.h:466
-msgid "Optimize for 4650"
-msgstr "Optimiser pour le 4650"
-
-#: config/mips/mips.h:468
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr "Intercepter les divisions par zéros sur des entiers"
-#: config/mips/mips.h:470
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr "Ne pas intercepter les divisions par zéros sur des entiers"
-#: config/mips/mips.h:472
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr "Intercepter les débordements lors de divisions avec des entiers"
-#: config/mips/mips.h:474
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr "Ne pas intercepter les débordement lors de divisions avec des entiers"
-#: config/mips/mips.h:590 config/mips/mips.h:592
+#: 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 "Spécifier le CPU pour les besoins de cédulage"
+msgstr "Spécifier le processeur pour les besoins de l'ordonnancement"
-#: config/mips/mips.h:594
+#: config/mips/mips.h:746
msgid "Specify CPU for code generation purposes"
-msgstr "Spécifier le CPU pour les besoins de la génération de code"
+msgstr "Spécifier le processeur pour les besoins de la génération de code"
-#: config/mips/mips.h:596
+#: config/mips/mips.h:748
+msgid "Specify an ABI"
+msgstr "Spécifier une ABI"
+
+#: config/mips/mips.h:750
msgid "Specify a Standard MIPS ISA"
msgstr "Spécifier le standard MIPS ISA"
-#: config/mips/mips.h:598
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr "Utiliser les pseudo-op mips16 d'entrée/sortie"
-#: config/mips/mips.h:600
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr "Ne pas utiliser les instructions MIPS16"
-#: config/mips/mips.h:604
+#: config/mips/mips.h:756
msgid "Don't call any cache flush functions"
msgstr "Ne pas faire d'appel de fonction de vidange de la cache"
-#: config/mips/mips.h:606
+#: config/mips/mips.h:758
msgid "Specify cache flush function"
msgstr "Spécifier la fonction de vidange de la cache"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/mips/mips.h:2873
+#: config/mips/mips.h:2868
msgid "mips16 function profiling"
msgstr "profilage de fonction mips16"
-#: config/mmix/mmix.c:138
+#: config/mmix/mmix.c:189
#, c-format
msgid "-f%s not supported: ignored"
msgstr "-f%s n'est pas supporté: ignoré"
-#: 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 "valeur de type de fonction trop grande, a besoin de %d registres mais seuls %d disponibles"
-#: config/mmix/mmix.c:677
-msgid "stack frame too big"
-msgstr "trame de pile trop grande"
-
-#: config/mmix/mmix.c:705
-#, c-format
-msgid "stack frame not a multiple of 8 bytes: %d"
-msgstr "trame de pile n'est pas un multiple de 8 octets: %d"
-
-#: config/mmix/mmix.c:1044
-#, c-format
-msgid "stack frame not a multiple of octabyte: %d"
-msgstr "trame de pile n'est pas un multiple de 8 octets: %d"
-
-#: config/mmix/mmix.c:1203
+#: config/mmix/mmix.c:826
msgid "function_profiler support for MMIX"
msgstr "function_profiler supporté pour MMIX"
-#: config/mmix/mmix.c:1240
-msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
-msgstr "ni varargs ou stdarg dans mmix_setup_incoming_varargs"
-
-#: config/mmix/mmix.c:1246
+#: config/mmix/mmix.c:848
msgid "MMIX Internal: Last named vararg would not fit in a register"
msgstr "MMIX interne: dernier vararg nommé ne pourra être inséré dans un registre"
-#. FIXME: Remove when I know this trigs.
-#: config/mmix/mmix.c:1608
-msgid "oops, not debugged; fixing up value:"
-msgstr "oops, pas mis au point; correction de la valeur:"
-
-#: config/mmix/mmix.c:2184 config/mmix/mmix.c:2318
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
msgid "MMIX Internal: Expected a CONST_INT, not this"
msgstr "MMIX interne: attendait CONST_INT, pas ceci"
-#: config/mmix/mmix.c:2192 config/mmix/mmix.c:2216 config/mmix/mmix.c:2335
+#: config/mmix/mmix.c:1647 config/mmix/mmix.c:1671 config/mmix/mmix.c:1787
#, c-format
msgid "MMIX Internal: Bad register: %d"
msgstr "MMIX interne: registre erroné: %d"
-#: config/mmix/mmix.c:2263
+#: config/mmix/mmix.c:1718
msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
msgstr "MMIX interne: valeur erronée pour « m », pas un CONST_INT"
-#: config/mmix/mmix.c:2286
+#: config/mmix/mmix.c:1737
msgid "MMIX Internal: Expected a register, not this"
msgstr "MMIX interne: attendait un registre, pas ceci"
-#: config/mmix/mmix.c:2296
+#: config/mmix/mmix.c:1747
msgid "MMIX Internal: Expected a constant, not this"
msgstr "MMIX interne: attendait une constante, pas ceci"
#. Presumably there's a missing case above if we get here.
-#: config/mmix/mmix.c:2328
+#: config/mmix/mmix.c:1779
#, c-format
msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
msgstr "MMIX interne: cas « %c » manquant dans mmix_print_operand"
#. We need the original here.
-#: config/mmix/mmix.c:2379
+#: config/mmix/mmix.c:1831
msgid "MMIX Internal: Cannot decode this operand"
msgstr "MMIX interne: ne peut décoder cette opérande"
-#: config/mmix/mmix.c:2444
+#: config/mmix/mmix.c:1891
msgid "MMIX Internal: This is not a recognized address"
msgstr "MMIX interne: ce n'est pas une adresse reconnue"
-#: config/mmix/mmix.c:2940 config/mmix/mmix.c:3009
+#: config/mmix/mmix.c:2082
+#, c-format
+msgid "stack frame not a multiple of 8 bytes: %d"
+msgstr "trame de pile n'est pas un multiple de 8 octets: %d"
+
+#: config/mmix/mmix.c:2321
+#, c-format
+msgid "stack frame not a multiple of octabyte: %d"
+msgstr "trame de pile n'est pas un multiple de 8 octets: %d"
+
+#: config/mmix/mmix.c:2818 config/mmix/mmix.c:2887
#, c-format
msgid "MMIX Internal: %s is not a shiftable int"
msgstr "MMIX interne: %s n'est pas un entier pouvant décalé"
-#: config/mmix/mmix.c:3128
+#: config/mmix/mmix.c:3006
msgid "MMIX Internal: Trying to output invalidly reversed condition:"
msgstr "MMIX interne: tentative de produire incorrectement une condition renversée:"
-#: config/mmix/mmix.c:3135
+#: config/mmix/mmix.c:3013
msgid "MMIX Internal: What's the CC of this?"
msgstr "MMIX interne: quel sorte de CC est-ce?"
-#: config/mmix/mmix.c:3139
+#: config/mmix/mmix.c:3017
msgid "MMIX Internal: What is the CC of this?"
msgstr "MMIX interne: quel sorte de CC est-ce?"
-#: config/mmix/mmix.c:3210
+#: config/mmix/mmix.c:3088
msgid "MMIX Internal: This is not a constant:"
msgstr "interne MMIX: ce n'est pas une constante:"
@@ -11645,8 +12075,6 @@ msgstr "interne MMIX: ce n'est pas une constante:"
#. 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.
@@ -11655,67 +12083,77 @@ msgstr "interne MMIX: ce n'est pas une constante:"
#. 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 "Adress de départ du programme fixée"
-#: config/mmix/mmix.h:139
+#: config/mmix/mmix.h:134
msgid "Set start-address of data"
msgstr "Adresse de départ des données fixée"
#. 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 "Pour les librairies intrinsèques: passer tous les paramètres dans les registres"
+msgstr "Pour les bibliothèques intrinsèques : passer tous les paramètres par registre"
-#: config/mmix/mmix.h:191
+#: config/mmix/mmix.h:201
msgid "Use register stack for parameters and return value"
msgstr "Utiliser le registre de la pile pour les paramètres et la valeur retournée"
-#: config/mmix/mmix.h:193
+#: config/mmix/mmix.h:203
msgid "Use call-clobbered registers for parameters and return value"
msgstr "utiliser les registres d'appels maltraités pour les paramètres et les valeurs retournées"
-#: config/mmix/mmix.h:195
+#: config/mmix/mmix.h:205
msgid "Use epsilon-respecting floating point compare instructions"
msgstr "Utiliser un epsilon respectant les instructions de comparaison en virgule flottante"
-#: config/mmix/mmix.h:198
+#: config/mmix/mmix.h:208
msgid "Use zero-extending memory loads, not sign-extending ones"
msgstr "utiliser des chargements mémoire avec zéro extension, pas celles avec signe d'extension"
-#: 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 "générer des résultats de division avec reste ayant le même signe que le diviseur (pas le dividende)"
-#: config/mmix/mmix.h:205
+#: config/mmix/mmix.h:215
msgid "Prepend global symbols with \":\" (for use with PREFIX)"
msgstr "pré ajouter les symboles globaux avec «:» (pour l'utilisation avec PREFIX)"
-#: config/mmix/mmix.h:207
+#: config/mmix/mmix.h:217
msgid "Do not provide a default start-address 0x100 of the program"
msgstr "Ne pas fournir d'adresse de départ par défaut 0x100 du programme"
-#: config/mmix/mmix.h:209
+#: config/mmix/mmix.h:219
msgid "Link to emit program in ELF format (rather than mmo)"
msgstr "Faire l'édition de liens pour produire le programme en format ELF (au lieu de mmo)"
-#: config/mmix/mmix.h:211
+#: config/mmix/mmix.h:221
msgid "Use P-mnemonics for branches statically predicted as taken"
msgstr "Utiliser les mnémoniques P pour les branchements statiquement prévus à être pris"
-#: config/mmix/mmix.h:213
+#: config/mmix/mmix.h:223
msgid "Don't use P-mnemonics for branches"
msgstr "Ne pas utiliser les mnémoniques P pour les branchements"
-#: config/mmix/mmix.h:215
+#: config/mmix/mmix.h:225
msgid "Use addresses that allocate global registers"
msgstr "Utiliser les adresses qui allouent des registres globaux"
-#: config/mmix/mmix.h:217
+#: config/mmix/mmix.h:227
msgid "Do not use addresses that allocate global registers"
msgstr "Ne pas utiliser des adresses qui allouent des registres globaux"
+#: config/mmix/mmix.h:229
+#, fuzzy
+msgid "Generate a single exit point for each function"
+msgstr "Générer un appel pour stopper si une fonction sans retour retourne un résultat"
+
+#: config/mmix/mmix.h:231
+#, fuzzy
+msgid "Do not generate a single exit point for each function"
+msgstr "Ne pas générer des instructions multm"
+
#: config/mn10300/mn10300.h:59
msgid "Work around hardware multiply bug"
msgstr "Contourner le bug matériel de la multiplication"
@@ -11732,88 +12170,88 @@ msgstr "Cible le processeur AM33"
msgid "Enable linker relaxations"
msgstr "Autoriser la relâche de l'éditeur de liens"
-#: 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 "Ne pas utiliser le FP matériel"
-#: config/ns32k/ns32k.h:105
+#: config/ns32k/ns32k.h:143
msgid "Alternative calling convention"
msgstr "Convention alternative d'appels"
-#: config/ns32k/ns32k.h:107
+#: config/ns32k/ns32k.h:145
msgid "Pass some arguments in registers"
msgstr "Passer quelques arguments par les registres"
-#: config/ns32k/ns32k.h:108
+#: config/ns32k/ns32k.h:146
msgid "Pass all arguments on stack"
msgstr "PAsser tous les arguments par la pile"
-#: config/ns32k/ns32k.h:109
+#: config/ns32k/ns32k.h:147
msgid "Optimize for 32532 cpu"
-msgstr "Optimiser pour le CPU 32532"
+msgstr "Optimiser pour le processeur 32532"
-#: config/ns32k/ns32k.h:110
+#: config/ns32k/ns32k.h:148
msgid "Optimize for 32332 cpu"
-msgstr "Optimiser pour le CPU 32332"
+msgstr "Optimiser pour le processeur 32332"
-#: config/ns32k/ns32k.h:112
+#: config/ns32k/ns32k.h:150
msgid "Optimize for 32032"
msgstr "Optimiser pour le 32022"
-#: config/ns32k/ns32k.h:114
+#: config/ns32k/ns32k.h:152
msgid "Register sb is zero. Use for absolute addressing"
msgstr "Registre sb est zéro. Utilisé pour l'adressage absolu"
-#: config/ns32k/ns32k.h:115
+#: config/ns32k/ns32k.h:153
msgid "Do not use register sb"
msgstr "Ne pas utiliser le registre sb"
-#: config/ns32k/ns32k.h:116
-msgid "Do not use bit-field instructions"
-msgstr "Ne pas utiliser les instructions de champs de bits"
-
-#: config/ns32k/ns32k.h:117
+#: config/ns32k/ns32k.h:155
msgid "Use bit-field instructions"
msgstr "Utiliser les instructions de champs de bits"
-#: config/ns32k/ns32k.h:118
+#: config/ns32k/ns32k.h:157
+msgid "Do not use bit-field instructions"
+msgstr "Ne pas utiliser les instructions de champs de bits"
+
+#: config/ns32k/ns32k.h:158
msgid "Generate code for high memory"
msgstr "Générer du code pour la partie haute de la mémoire"
-#: config/ns32k/ns32k.h:119
+#: config/ns32k/ns32k.h:159
msgid "Generate code for low memory"
msgstr "Générer du code pour la partie basse de la mémoire"
-#: config/ns32k/ns32k.h:120
+#: config/ns32k/ns32k.h:160
msgid "32381 fpu"
msgstr "FPU 32381"
-#: config/ns32k/ns32k.h:121
+#: config/ns32k/ns32k.h:162
msgid "Use multiply-accumulate fp instructions"
msgstr "Utiliser les instructions FP de multiplications avec accumulations"
-#: config/ns32k/ns32k.h:123
+#: config/ns32k/ns32k.h:164
msgid "Do not use multiply-accumulate fp instructions"
msgstr "Ne pas utiliser les instructions FP de multiplications avec accumulations"
-#: config/ns32k/ns32k.h:124
+#: config/ns32k/ns32k.h:165
msgid "\"Small register classes\" kludge"
msgstr "\"Petites classes de registres\" kludge"
-#: config/ns32k/ns32k.h:125
+#: config/ns32k/ns32k.h:166
msgid "No \"Small register classes\" kludge"
msgstr "Pas de \"Petites classes de registres\" kludge"
-#: config/pa/pa.c:200
-#, c-format
+#: config/pa/pa.c:246
+#, fuzzy, 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 ""
"Option inconnue -mschedule= (%s)\n"
"Les options valides sont 700, 7100, 7100LC, 7200 et 8000\n"
-#: config/pa/pa.c:225
+#: config/pa/pa.c:271
#, c-format
msgid ""
"unknown -march= option (%s).\n"
@@ -11822,66 +12260,207 @@ msgstr ""
"Option inconnue -march= (%s)\n"
"Les options valides sont 1.0, 1.1 et 2.0\n"
-#: config/pa/pa.c:230
+#: config/pa/pa.c:284
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr "La génération de code PIC n'est pas supportée dans le modèle portable d'exécution\n"
-#: config/pa/pa.c:235
+#: config/pa/pa.c:289
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr "La génération de code PIC n'est pas compatible avec les appels indirects rapides.\n"
-#: config/pa/pa.c:240
+#: config/pa/pa.c:294
msgid "-g is only supported when using GAS on this processor,"
msgstr "L'option -g est seulement supportée lorsque GAS est utilisé sur ce processeur,"
-#: config/pa/pa.c:241
+#: config/pa/pa.c:295
msgid "-g option disabled"
msgstr "option -g désactivée"
-#: 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 "Générer les defines pour les IO d'un serveur"
+
+#: 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 "Générer les defines pour les IO d'une station de travail"
+
+#. 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 "Générer du code PA1.1"
+
+#: config/pa/pa.h:220 config/pa/pa.h:222
+msgid "Generate PA1.0 code"
+msgstr "Générer du code PA1.0"
+
+#: config/pa/pa.h:226
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr "Générer du code PA2.0 (nécessite binutils 2.10 ou supérieur)"
+
+#: config/pa/pa.h:228
+msgid "Disable FP regs"
+msgstr "Désactiver les registres FP"
+
+#: config/pa/pa.h:230
+msgid "Do not disable FP regs"
+msgstr "Ne pas désactiver les registres FP"
+
+#: config/pa/pa.h:232
+msgid "Disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:234
+#, fuzzy
+msgid "Do not disable space regs"
+msgstr "Ne pas utiliser les registres FP"
+
+#: 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
+#, fuzzy
+msgid "Disable indexed addressing"
+msgstr "mode d'adressage invalide"
+
+#: config/pa/pa.h:242
+#, fuzzy
+msgid "Do not disable indexed addressing"
+msgstr "Ne pas utiliser les modes d'adressage complexes"
+
+#: config/pa/pa.h:244
+#, fuzzy
+msgid "Use portable calling conventions"
+msgstr "Utiliser la convention normale d'appels"
+
+#: config/pa/pa.h:246
+#, fuzzy
+msgid "Do not use portable calling conventions"
+msgstr "Utiliser la convention normale d'appels"
+
+#: 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
+#, fuzzy
+msgid "Do not use software floating point"
+msgstr "Ne pas utiliser le matériel pour virgule flottante"
+
+#: config/pa/pa.h:256
+msgid "Emit long load/store sequences"
+msgstr ""
+
+#: config/pa/pa.h:258
+#, fuzzy
+msgid "Do not emit long load/store sequences"
+msgstr "Ne pas générer les instructions multiples de chargement/stockage"
+
+#: config/pa/pa.h:260
+#, fuzzy
+msgid "Generate fast indirect calls"
+msgstr "Ne pas utiliser les appels indirects"
+
+#: config/pa/pa.h:262
+#, fuzzy
+msgid "Do not generate fast indirect calls"
+msgstr "Ne pas générer de directives .size"
+
+#: config/pa/pa.h:264
+#, fuzzy
+msgid "Generate code for huge switch statements"
+msgstr "Générer du code pour la partie haute de la mémoire"
+
+#: config/pa/pa.h:266
+#, fuzzy
+msgid "Do not generate code for huge switch statements"
+msgstr "Ne pas générer du code pour les appels proches"
+
+#: config/pa/pa.h:268
+#, fuzzy
+msgid "Always generate long calls"
+msgstr "Ne pas générer du code pour les appels proches"
+
+#: config/pa/pa.h:270
+msgid "Generate long calls only when needed"
+msgstr ""
+
+#: config/pa/pa.h:272
+#, fuzzy
+msgid "Enable linker optimizations"
+msgstr "Autoriser les optimisations SSA"
+
+#: 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 "Ne pas utiliser le matériel pour virgule flottante"
#. return float result in ac0
-#: config/pdp11/pdp11.h:58
+#: config/pdp11/pdp11.h:59
msgid "Return floating point results in ac0"
msgstr "Le résultat retourné en virgule flottante se retrouve dans AC0."
-#: config/pdp11/pdp11.h:59
+#: config/pdp11/pdp11.h:60
msgid "Return floating point results in memory"
msgstr "Le résultat retourné en virgule flottante se retrouve en mémoire."
#. is 11/40
-#: config/pdp11/pdp11.h:61
+#: config/pdp11/pdp11.h:62
msgid "Generate code for an 11/40"
msgstr "Générer du code pour un 11/40"
#. is 11/45
-#: config/pdp11/pdp11.h:64
+#: config/pdp11/pdp11.h:65
msgid "Generate code for an 11/45"
msgstr "Générer du code pour un 11/45"
#. is 11/10
-#: config/pdp11/pdp11.h:67
+#: config/pdp11/pdp11.h:68
msgid "Generate code for an 11/10"
msgstr "Générer du code pour un 11/10"
#. 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 "Utiliser des int de 32 bits"
-#: 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 "Utiliser des int de 16 bits"
#. 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 "Utiliser des flottants de 32 bits"
-#: 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 "Utiliser des flottants de 64 bits"
@@ -11889,73 +12468,50 @@ msgstr "Utiliser des flottants de 64 bits"
#. 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 "Cible a un I&D séparé"
-#: config/pdp11/pdp11.h:90
+#: config/pdp11/pdp11.h:91
msgid "Target does not have split I&D"
msgstr "Cible n'a pas un I&D séparé"
#. UNIX assembler syntax?
-#: config/pdp11/pdp11.h:92
+#: config/pdp11/pdp11.h:93
msgid "Use UNIX assembler syntax"
msgstr "Utliser la syntaxe de l'assembleur UNIX"
-#: config/pdp11/pdp11.h:93
+#: config/pdp11/pdp11.h:94
msgid "Use DEC assembler syntax"
msgstr "Utliser la syntaxe de l'assembleur DEC"
-#: config/pj/pj.h:73
-msgid "Generate little endian data"
-msgstr "Générer des données pour systèmes à octets de poids faible"
-
-#: config/pj/pj.h:75
-msgid "Generate big endian data"
-msgstr "Générer des données pour systèmes à octets de poids fort"
-
-#: config/pj/pj.h:77
-msgid "Turn on maintainer testing code"
-msgstr "Mettre en marche le code d'entretien de mise au point"
-
-#: config/pj/pj.h:79
-msgid "Enable Transmeta picoJava extensions"
-msgstr "Autoriser les extensions Transmeta picoJava"
-
-#: config/pj/pj.h:81
-msgid "Disable Transmeta picoJava extensions"
-msgstr "Interdire les extensions Transmeta picoJava"
-
-#: config/pj/pj.h:83
-msgid "Disable reorganization pass"
-msgstr "Désactiver la passe de réorganisation"
-
-#: config/romp/romp.c:709 config/rs6000/rs6000.c:6546
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7718
#, c-format
msgid "invalid %%S value"
msgstr "valeur %%S invalide"
-#: 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 "valeur %%b invalide"
-#: 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 "valeur %%z invalide"
-#: 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 "valeur %%Z invalide"
-#: config/romp/romp.c:799 config/romp/romp.c:808 config/romp/romp.c:815 config/rs6000/rs6000.c:6325
+#: 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 "valeur %%k invalide"
-#: 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 "valeur %%j invalide"
@@ -11973,143 +12529,213 @@ msgstr "valeur %%j invalide"
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr "ne peut avoir varargs avec -mfp-arg-in-fp-regs"
-#: 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
+#, fuzzy
+msgid "ignoring malformed #pragma longcall"
+msgstr "#pragma ignoré %s"
+
+#: config/rs6000/rs6000-c.c:58
+#, fuzzy
+msgid "missing open paren"
+msgstr "attribut Code manquant"
+
+#: config/rs6000/rs6000-c.c:60
+#, fuzzy
+msgid "missing number"
+msgstr "Nom manquant"
+
+#: config/rs6000/rs6000-c.c:62
+#, fuzzy
+msgid "missing close paren"
+msgstr "Nom de classe manquant"
+
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
+msgstr ""
+
+#: config/rs6000/rs6000-c.c:68
+#, fuzzy
+msgid "junk at end of #pragma longcall"
+msgstr "rebut à la fin de #pragma map"
+
+#: config/rs6000/rs6000.c:588
msgid "-mmultiple is not supported on little endian systems"
msgstr "-mmultiple n'est pas supporté sur des système à octets de poids faible"
-#: config/rs6000/rs6000.c:482
+#: config/rs6000/rs6000.c:595
msgid "-mstring is not supported on little endian systems"
msgstr "-mstring n'est pas supporté sur des système à octets de poids faible"
-#: config/rs6000/rs6000.c:488 config/xtensa/xtensa.c:1846
-#, c-format
-msgid "-f%s ignored (all code is position independent)"
-msgstr "-f%s ignoré (tout le code est indépendant de la position)"
-
-#: config/rs6000/rs6000.c:497
-msgid "-ffunction-sections disabled on AIX when debugging"
-msgstr "-ffunction-sections désactivé sur AIX lors de la mise au point"
-
-#: config/rs6000/rs6000.c:503
-msgid "-fdata-sections not supported on AIX"
-msgstr "-fdata-sections n'est pas supporté sur AIX"
-
-#: config/rs6000/rs6000.c:518
+#: config/rs6000/rs6000.c:619
#, c-format
msgid "unknown -mdebug-%s switch"
msgstr "option -mdebug-%s inconnue"
-#: config/rs6000/rs6000.c:528
+#: config/rs6000/rs6000.c:631
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:642
#, c-format
msgid "Unknown switch -mlong-double-%s"
msgstr "option -mlong-double-%s inconnue"
-#: config/rs6000/rs6000.c:595
+#: config/rs6000/rs6000.c:734
+#, fuzzy, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "ABI spécifié inconnu: « %s »"
+
+#: config/rs6000/rs6000.c:749
+#, fuzzy, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "ABI spécifié inconnu: « %s »"
+
+#: config/rs6000/rs6000.c:768
#, c-format
msgid "unknown ABI specified: '%s'"
msgstr "ABI spécifié inconnu: « %s »"
-#: config/rs6000/rs6000.c:3631
+#: config/rs6000/rs6000.c:4169
+#, fuzzy
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "argument 3 de « %s » doit être un litéral de 2 bits"
+
+#: config/rs6000/rs6000.c:4276 config/rs6000/rs6000.c:4866
+#, fuzzy
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "argument 3 de « %s » doit être un litéral de 2 bits"
+
+#: config/rs6000/rs6000.c:4319
msgid "argument 1 of __builtin_altivec_predicate must be a constant"
msgstr "argument 1 de « __builtin_altivec_predicate » doit être une constante"
-#: config/rs6000/rs6000.c:3685
+#: config/rs6000/rs6000.c:4373
msgid "argument 1 of __builtin_altivec_predicate is out of range"
msgstr "argument 1 de « __builtin_altivec_predicate » est hors gamme"
-#: config/rs6000/rs6000.c:4041
-#, c-format
-msgid "argument 3 of `%s' must be a 2-bit literal"
+#: config/rs6000/rs6000.c:4452
+#, fuzzy
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "argument 3 de « %s » doit être un litéral de 2 bits"
+
+#: config/rs6000/rs6000.c:4629
+#, fuzzy, c-format
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "argument 3 de « %s » doit être un litéral de 2 bits"
+
+#: config/rs6000/rs6000.c:4745
+#, fuzzy
+msgid "argument to dss must be a 2-bit unsigned literal"
msgstr "argument 3 de « %s » doit être un litéral de 2 bits"
-#: config/rs6000/rs6000.c:6252
+#: config/rs6000/rs6000.c:4976
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "argument 1 de « __builtin_altivec_predicate » doit être une constante"
+
+#: config/rs6000/rs6000.c:5049
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "argument 1 de « __builtin_altivec_predicate » est hors gamme"
+
+#: config/rs6000/rs6000.c:7474
#, c-format
msgid "invalid %%f value"
msgstr "valeur %%f invalide"
-#: config/rs6000/rs6000.c:6261
+#: config/rs6000/rs6000.c:7483
#, c-format
msgid "invalid %%F value"
msgstr "valeur %%F invalide"
-#: config/rs6000/rs6000.c:6270
+#: config/rs6000/rs6000.c:7492
#, c-format
msgid "invalid %%G value"
msgstr "valeur %%G invalide"
-#: config/rs6000/rs6000.c:6305
+#: config/rs6000/rs6000.c:7527
#, c-format
msgid "invalid %%j code"
msgstr "valeur %%j invalide"
-#: config/rs6000/rs6000.c:6315
+#: config/rs6000/rs6000.c:7537
#, c-format
msgid "invalid %%J code"
msgstr "valeur %%J invalide"
-#: config/rs6000/rs6000.c:6345
+#: config/rs6000/rs6000.c:7567
#, c-format
msgid "invalid %%K value"
msgstr "valeur %%K invalide"
-#: config/rs6000/rs6000.c:6572
+#: config/rs6000/rs6000.c:7634
#, c-format
-msgid "%%S computed all 1's mask"
-msgstr "%%S calculé avec un masque que uns"
-
-#: config/rs6000/rs6000.c:6599
-#, c-format
-msgid "%%S computed all 0's mask"
-msgstr "%%S calculé avec un masque de zéros"
+msgid "invalid %%O value"
+msgstr "valeur %%O invalide"
-#: config/rs6000/rs6000.c:6609
+#: config/rs6000/rs6000.c:7756
#, c-format
msgid "invalid %%T value"
msgstr "valeur %%T invalide"
-#: config/rs6000/rs6000.c:6619
+#: config/rs6000/rs6000.c:7766
#, c-format
msgid "invalid %%u value"
msgstr "valeur %%u invalide"
-#: config/rs6000/rs6000.c:6628
+#: config/rs6000/rs6000.c:7775
#, c-format
msgid "invalid %%v value"
msgstr "valeur %%v invalide"
-#: 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 "Toujours passer des arguments en virgule flottante en mémoire"
-#: 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 "Na pas toujours passer des arguments en virgule flottante en mémoire"
#: 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 "Supporter le passage de messages dans un environnement parallèle"
-#: 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 "Compiler pour des pointeurs de 64 bits"
-#: 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 "Compiler pour des pointeurs de 32 bits"
-#: 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 "-maix64 et architecture POWER sont incompatibles"
-#: 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 "-maix64 requiert une architecture PowerPC64 qui demeure sélectionnée"
-#: 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 "-maix64 requis: calcul en 64 bits avec un adressage de 32 bits n'est pas encore supporté"
@@ -12120,146 +12746,163 @@ msgstr "-maix64 requis: calcul en 64 bits avec un adressage de 32 bits n'est pas
#. 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 "Utiliser le jeu d'instructions du POWER"
-#: config/rs6000/rs6000.h:280
+#: config/rs6000/rs6000.h:243
msgid "Use POWER2 instruction set"
msgstr "Utiliser le jeu d'instructions du POWER2"
-#: config/rs6000/rs6000.h:282
+#: config/rs6000/rs6000.h:245
msgid "Do not use POWER2 instruction set"
msgstr "Ne pas utiliser le jeu d'instructions du POWER2"
-#: config/rs6000/rs6000.h:285
+#: config/rs6000/rs6000.h:248
msgid "Do not use POWER instruction set"
msgstr "Ne pas utiliser le jeu d'instructions du POWER"
-#: config/rs6000/rs6000.h:287
+#: config/rs6000/rs6000.h:250
msgid "Use PowerPC instruction set"
msgstr "Utiliser le jeu d'instructions du PowerPC"
-#: config/rs6000/rs6000.h:290
+#: config/rs6000/rs6000.h:253
msgid "Do not use PowerPC instruction set"
msgstr "Ne pas utiliser le jeu d'instructions du PowerPC"
-#: config/rs6000/rs6000.h:292
+#: config/rs6000/rs6000.h:255
msgid "Use PowerPC General Purpose group optional instructions"
msgstr "Utiliser le groupe d'instructions optionnelles d'utilité général du PowerPC"
-#: config/rs6000/rs6000.h:294
+#: config/rs6000/rs6000.h:257
msgid "Don't use PowerPC General Purpose group optional instructions"
msgstr "Ne pas utiliser le groupe d'instructions optionnelles d'utilité général du PowerPC"
-#: config/rs6000/rs6000.h:296
+#: config/rs6000/rs6000.h:259
msgid "Use PowerPC Graphics group optional instructions"
msgstr "Utiliser le groupe d'instructions graphiques optionnelles du PowerPC"
-#: config/rs6000/rs6000.h:298
+#: config/rs6000/rs6000.h:261
msgid "Don't use PowerPC Graphics group optional instructions"
msgstr "Ne pas utiliser le groupe d'instructions graphiques optionnelles du PowerPC"
-#: config/rs6000/rs6000.h:300
+#: config/rs6000/rs6000.h:263
msgid "Use PowerPC-64 instruction set"
msgstr "Utiliser le jeu d'instructions du PowerPC-64"
-#: config/rs6000/rs6000.h:302
+#: config/rs6000/rs6000.h:265
msgid "Don't use PowerPC-64 instruction set"
msgstr "Ne pas utiliser le jeu d'instructions du PowerPC-64"
-#: config/rs6000/rs6000.h:304
+#: config/rs6000/rs6000.h:267
msgid "Use AltiVec instructions"
msgstr "Utiliser les instructions AltiVec"
-#: config/rs6000/rs6000.h:306
+#: config/rs6000/rs6000.h:269
msgid "Don't use AltiVec instructions"
msgstr "Ne pas utiliser les instructions AltiVec"
-#: config/rs6000/rs6000.h:308
+#: config/rs6000/rs6000.h:271
msgid "Use new mnemonics for PowerPC architecture"
msgstr "Utiliser les nouvelles mnémoniques pour l'architecture du PowerPC"
-#: config/rs6000/rs6000.h:310
+#: config/rs6000/rs6000.h:273
msgid "Use old mnemonics for PowerPC architecture"
msgstr "Utiliser les anciennes mnémoniques pour l'architecture du PowerPC"
-#: config/rs6000/rs6000.h:313
+#: config/rs6000/rs6000.h:276
msgid "Put everything in the regular TOC"
msgstr "Place tout dans le TOC régulier"
-#: config/rs6000/rs6000.h:315
+#: config/rs6000/rs6000.h:278
msgid "Place floating point constants in TOC"
msgstr "Placer les constantes en virgule flottante dans le TOC"
-#: config/rs6000/rs6000.h:317
+#: config/rs6000/rs6000.h:280
msgid "Don't place floating point constants in TOC"
msgstr "Ne pas placer les constantes en virgule flottante dans le TOC"
-#: config/rs6000/rs6000.h:319
+#: config/rs6000/rs6000.h:282
msgid "Place symbol+offset constants in TOC"
msgstr "Placer les constantes symboles+décalages dans le TOC"
-#: config/rs6000/rs6000.h:321
+#: config/rs6000/rs6000.h:284
msgid "Don't place symbol+offset constants in TOC"
msgstr "Ne pas placer les constantes symboles+décalages dans le TOC"
-#: config/rs6000/rs6000.h:327
+#: config/rs6000/rs6000.h:290
msgid "Place variable addresses in the regular TOC"
msgstr "Placer les adresses variables dans un TOC régulier"
-#: config/rs6000/rs6000.h:333
+#: config/rs6000/rs6000.h:296
msgid "Generate load/store multiple instructions"
msgstr "Générer les instructions multiples de chargement/stockage"
-#: config/rs6000/rs6000.h:335
+#: config/rs6000/rs6000.h:298
msgid "Do not generate load/store multiple instructions"
msgstr "Ne pas générer les instructions multiples de chargement/stockage"
-#: config/rs6000/rs6000.h:339
+#: config/rs6000/rs6000.h:302
msgid "Generate string instructions for block moves"
msgstr "Générer les instructions chaînes pour les déplacements de blocs"
-#: config/rs6000/rs6000.h:341
+#: config/rs6000/rs6000.h:304
msgid "Do not generate string instructions for block moves"
msgstr "Ne pas générer les instructions chaînes pour les déplacements de blocs"
-#: config/rs6000/rs6000.h:345
+#: config/rs6000/rs6000.h:308
msgid "Generate load/store with update instructions"
msgstr "Générer les instructions de mise à jour de chargement/stockage"
-#: config/rs6000/rs6000.h:347
+#: config/rs6000/rs6000.h:310
msgid "Do not generate load/store with update instructions"
msgstr "Ne pas générer les instructions de mise à jour de chargement/stockage"
-#: config/rs6000/rs6000.h:355
+#: config/rs6000/rs6000.h:318
msgid "Don't schedule the start and end of the procedure"
-msgstr "Ne pas çéduler le début et la fin de la procédure"
+msgstr "Ne pas ordonnancer le début et la fin de la procédure"
-#: config/rs6000/rs6000.h:361
+#: config/rs6000/rs6000.h:324
msgid "Return all structures in memory (AIX default)"
msgstr "Retourner toutes les structures en mémoire (par défaut sur AIX)"
-#: config/rs6000/rs6000.h:363
+#: config/rs6000/rs6000.h:326
msgid "Return small structures in registers (SVR4 default)"
-msgstr "Retourner toutes les petites structures dans les registres (par défaut sur SVR4)"
+msgstr "Retourner les petites structures par les registres (par défaut sur SVR4)"
-#: 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 "Utiliser les options et çéduler le code pour le CPU donné"
+msgstr "Utiliser les options et ordonnancer le code pour le processeur donné"
-#: config/rs6000/rs6000.h:429
+#: config/rs6000/rs6000.h:394
msgid "Enable debug output"
msgstr "Autoriser la sortie lors de la mise au point"
-#: 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 "Spécifier l'ABI à utiliser"
-#: config/rs6000/rs6000.h:432
+#: config/rs6000/rs6000.h:399
msgid "Specify size of long double (64 or 128 bits)"
msgstr "Spécifier la taille des long double (64 ou 128 bits)"
+#: 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
+#, fuzzy
+msgid "Avoid all range limits on call instructions"
+msgstr "Interdire les instructions parallèles"
+
#. Definitions for __builtin_return_address and __builtin_frame_address.
#. __builtin_return_address (0) should give link register (65), enable
#. this.
@@ -12272,94 +12915,103 @@ msgstr "Spécifier la taille des long double (64 ou 128 bits)"
#. 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:1792
+#: config/rs6000/rs6000.h:1869
msgid "RETURN_ADDRESS_OFFSET not supported"
msgstr "RETURN_ADDRESS_OFFSET n'est pas supporté"
-#: config/rs6000/sysv4.h:88
+#: config/rs6000/sysv4.h:87
msgid "Select ABI calling convention"
msgstr "Sélectionner la convention d'appel ABI"
-#: config/rs6000/sysv4.h:89
+#: config/rs6000/sysv4.h:88
msgid "Select method for sdata handling"
msgstr "Sélectionner la méthode de traitement sdata"
-#: config/rs6000/sysv4.h:104
+#: config/rs6000/sysv4.h:103
msgid "Align to the base type of the bit-field"
msgstr "Aligner à la base du type du champ de bits"
-#: config/rs6000/sysv4.h:106
+#: config/rs6000/sysv4.h:105
msgid "Don't align to the base type of the bit-field"
msgstr "Ne pas aligner à la base du type du champ de bits"
-#: config/rs6000/sysv4.h:108
+#: config/rs6000/sysv4.h:107
msgid "Don't assume that unaligned accesses are handled by the system"
-msgstr "Ne pas assumer que les accès non alignées sont traités par le système"
+msgstr "Ne pas présumer que les accès non alignées sont traités par le système"
-#: config/rs6000/sysv4.h:110
+#: config/rs6000/sysv4.h:109
msgid "Assume that unaligned accesses are handled by the system"
-msgstr "Assumer que les accès non alignées sont traités par le système"
+msgstr "Présumer que les accès non alignées sont traités par le système"
-#: 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 "Produire du code relocalisable au moment de l'exécution"
-#: 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 "Ne pas produire du code relocalisable au moment de l'exécution"
-#: 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 "Produire du code pour système à octets de poids faible (little endian)"
-#: 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 "Produire du code pour système à octets de poids fort (big endian)"
-#: 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:157
+#: 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 "aucune description encore"
-#: config/rs6000/sysv4.h:133
+#: config/rs6000/sysv4.h:132
msgid "Use EABI"
msgstr "Utiliser EABI"
-#: config/rs6000/sysv4.h:134
+#: config/rs6000/sysv4.h:133
msgid "Don't use EABI"
msgstr "Ne pas utiliser EABI"
-#: config/rs6000/sysv4.h:137
+#: config/rs6000/sysv4.h:136
msgid "Do not allow bit-fields to cross word boundaries"
msgstr "Ne pas permettre les champs de bits de traverser des frontières de mots"
-#: config/rs6000/sysv4.h:139
+#: config/rs6000/sysv4.h:138
msgid "Use alternate register names"
msgstr "Utiliser les noms alternatifs de registres"
-#: config/rs6000/sysv4.h:141
+#: config/rs6000/sysv4.h:140
msgid "Don't use alternate register names"
msgstr "Ne pas utiliser les noms alternatifs de registres"
-#: config/rs6000/sysv4.h:145
+#: config/rs6000/sysv4.h:144
msgid "Link with libsim.a, libc.a and sim-crt0.o"
msgstr "Faire l'édition de liens avec libsim.a, libc.a et sim-crt0.o"
-#: config/rs6000/sysv4.h:147
+#: config/rs6000/sysv4.h:146
msgid "Link with libads.a, libc.a and crt0.o"
msgstr "Faire l'édition de liens avec libads.a, libc.a and crt0.o"
-#: config/rs6000/sysv4.h:149
+#: config/rs6000/sysv4.h:148
msgid "Link with libyk.a, libc.a and crt0.o"
msgstr "Faire l'édition de liens avec libyk.a, libc.a and crt0.o"
-#: config/rs6000/sysv4.h:151
+#: config/rs6000/sysv4.h:150
msgid "Link with libmvme.a, libc.a and crt0.o"
msgstr "Faire l'édition de liens avec libmvme.a, libc.a and crt0.o"
-#: config/rs6000/sysv4.h:153
+#: config/rs6000/sysv4.h:152
msgid "Set the PPC_EMB bit in the ELF flags header"
msgstr "Initialiser le bit PPC_EMB bit dans l'en-tête des fanions ELF"
+#: 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
@@ -12393,178 +13045,183 @@ msgstr "-f%s et -msdata=%s sont incompatibles"
msgid "-msdata=%s and -mcall-%s are incompatible"
msgstr "-msdata=%s et -mcall-%s sont incompatibles"
-#: config/rs6000/sysv4.h:270
+#: config/rs6000/sysv4.h:272
msgid "-mrelocatable and -mno-minimal-toc are incompatible"
msgstr "-mrelocatable et -mno-minimal-toc sont incompatibles"
-#: config/rs6000/sysv4.h:276
+#: config/rs6000/sysv4.h:278
#, c-format
msgid "-mrelocatable and -mcall-%s are incompatible"
msgstr "-mrelocatable et -mcall-%s sont incompatibles"
-#: config/rs6000/sysv4.h:283
+#: config/rs6000/sysv4.h:285
#, c-format
msgid "-fPIC and -mcall-%s are incompatible"
msgstr "-fPIC et -mcall-%s sont incompatibles"
-#: config/rs6000/sysv4.h:290
+#: config/rs6000/sysv4.h:292
msgid "-mcall-aixdesc must be big endian"
msgstr "-mcall-aixdesc doit être pour un système à octets de poids fort"
-#: config/s390/s390.c:1910
+#: config/s390/s390.c:2584
msgid "invalid UNSPEC as operand (1)"
msgstr "UNSPEC invalide comme opérande (1)"
-#: config/s390/s390.c:1940
+#: config/s390/s390.c:2620
msgid "invalid UNSPEC as operand (2)"
msgstr "UNSPEC invalide comme opérande (2)"
-#: config/s390/s390.c:1946
+#: config/s390/s390.c:2626
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr "INCONNU dans s390_output_symbolic_const !?"
-#: config/s390/s390.c:1962
+#: config/s390/s390.c:2644
msgid "Cannot decompose address."
msgstr "Ne pas décomposer l'adresse"
-#: config/s390/s390.c:2110
+#: config/s390/s390.c:2784
msgid "UNKNOWN in print_operand !?"
msgstr "INCONNNU dans print_operand !?"
-#: config/s390/s390.c:2703
+#: config/s390/s390.c:4421
msgid "Total size of local variables exceeds architecture limit."
msgstr "Taille totale des variables locales excède la limite de l'architecture"
-#: config/s390/s390.h:58
+#: config/s390/s390.h:70
msgid "Set backchain"
msgstr "Fixer la chaîne arrière"
-#: config/s390/s390.h:59
+#: config/s390/s390.h:71
msgid "Don't set backchain (faster, but debug harder"
msgstr "Ne pas fixer la chaîne arrière (plus rapide mais plus difficle à mettre au point)"
-#: config/s390/s390.h:60
+#: config/s390/s390.h:72
msgid "Use bras for execucable < 64k"
msgstr "Utiliser bras pour les exécutables < 64k"
-#: config/s390/s390.h:61
+#: config/s390/s390.h:73
msgid "Don't use bras"
msgstr "Ne pas utiliser bras"
-#: config/s390/s390.h:62
+#: config/s390/s390.h:74
msgid "Additional debug prints"
msgstr "Imprimer des informations additionnelles en mode débug"
-#: config/s390/s390.h:63
+#: config/s390/s390.h:75
msgid "Don't print additional debug prints"
msgstr "Ne pas imprimer des informations additionnelles en mode débug"
-#: config/s390/s390.h:64
+#: config/s390/s390.h:76
msgid "64 bit mode"
msgstr "mode 64 bits"
-#: config/s390/s390.h:65
+#: config/s390/s390.h:77
msgid "31 bit mode"
msgstr "mode 31 bits"
-#: config/s390/s390.h:66
+#: config/s390/s390.h:78
msgid "mvcle use"
msgstr "mvcle utilisé"
-#: config/s390/s390.h:67
+#: config/s390/s390.h:79
msgid "mvc&ex"
msgstr "mvc&ex"
-#: config/sh/sh.c:5060
+#: config/sh/sh.c:5134
msgid "__builtin_saveregs not supported by this subtarget"
msgstr "« __builtin_saveregs » n'est pas supporté par la sous-cible"
+#: 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:5610 config/sh/sh.c:5649
+#: config/sh/sh.c:5710 config/sh/sh.c:5749
#, c-format
msgid "`%s' attribute only applies to interrupt functions"
msgstr "attribut « %s » s'applique seulement à des fonctions d'interruption"
#. The argument must be a constant string.
-#: config/sh/sh.c:5617
+#: config/sh/sh.c:5717
#, c-format
msgid "`%s' attribute argument not a string constant"
msgstr "l'attribut « %s » de l'argument n'est pas une contante chaîne"
#. The argument must be a constant integer.
-#: config/sh/sh.c:5656
+#: config/sh/sh.c:5756
#, c-format
msgid "`%s' attribute argument not an integer constant"
msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
#. 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 "le profilage n'est pas supporté sur cette cible"
-#: config/sparc/sparc.c:317
+#: config/sparc/sparc.c:329
#, c-format
msgid "%s is not supported by this configuration"
msgstr "%s n'est pas supporté par cette configuration"
-#: config/sparc/sparc.c:324
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr "-mlong-double-64 n'est pas permis avec -m64"
-#: config/sparc/sparc.c:349
+#: config/sparc/sparc.c:361
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr "-mcmodel= n'est pas supporté sur les systèmes de 32 bits"
-#: config/sparc/sparc.c:5971 config/sparc/sparc.c:5977
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
#, c-format
msgid "invalid %%Y operand"
msgstr "opérande %%Y invalide"
-#: config/sparc/sparc.c:6047
+#: config/sparc/sparc.c:6375
#, c-format
msgid "invalid %%A operand"
msgstr "opérande %%A invalide"
-#: config/sparc/sparc.c:6057
+#: config/sparc/sparc.c:6385
#, c-format
msgid "invalid %%B operand"
msgstr "Opérande %%B invalide"
-#: config/sparc/sparc.c:6096
+#: config/sparc/sparc.c:6424
#, c-format
msgid "invalid %%c operand"
msgstr "opérande %%c invalide"
-#: config/sparc/sparc.c:6097
+#: config/sparc/sparc.c:6425
#, c-format
msgid "invalid %%C operand"
msgstr "opérande %%C invalide"
-#: config/sparc/sparc.c:6118
+#: config/sparc/sparc.c:6446
#, c-format
msgid "invalid %%d operand"
msgstr "opérande %%d invalide"
-#: config/sparc/sparc.c:6119
+#: config/sparc/sparc.c:6447
#, c-format
msgid "invalid %%D operand"
msgstr "opérande %%D invalide"
-#: config/sparc/sparc.c:6135
+#: config/sparc/sparc.c:6463
#, c-format
msgid "invalid %%f operand"
msgstr "opérande %%f invalide"
-#: config/sparc/sparc.c:6185
+#: config/sparc/sparc.c:6513
msgid "long long constant not a valid immediate operand"
msgstr "constante long long n'est pas une opérande immédiate valide"
-#: config/sparc/sparc.c:6188
+#: config/sparc/sparc.c:6516
msgid "floating point constant not a valid immediate operand"
msgstr "constante en virgule flottante n'est pas une opérande immédiate valide"
-#: config/sparc/freebsd.h:81 config/sparc/linux.h:87 config/sparc/linux64.h:144 config/sparc/netbsd-elf.h:239
+#: 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 "Utiliser des longs doubles de 128 bits"
@@ -12576,333 +13233,389 @@ msgstr "Générer du code pour un système à octets de poids fort"
msgid "Generate code for little endian"
msgstr "Générer du code pour un système à octets de poids faible"
-#: 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 "Utiliser l'ordre des octets de poids faible pour les données"
-#: config/sparc/sparc.h:539
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
-msgstr "Assumer un mauvais alignement possible des doubles"
+msgstr "Présumer un possible mauvais alignement des doubles"
-#: config/sparc/sparc.h:541
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
-msgstr "Assumer que tous les doubles sont alignés"
+msgstr "Présumer que tous les doubles sont alignés"
-#: config/sparc/sparc.h:543
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr "Passer -assert pure-text à l'éditeur de liens"
-#: config/sparc/sparc.h:545
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr "Ne pas passer -assert pure-text à l'éditeur de liens"
-#: config/sparc/sparc.h:547
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr "Utiliser le modèle de fenêtre de registre plat"
-#: config/sparc/sparc.h:549
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr "Ne pas utiliser le modèle de fenêtre de registre plat"
-#: config/sparc/sparc.h:551
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr "Utiliser les registres réservés ABI"
-#: config/sparc/sparc.h:553
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr "Ne pas utiliser les registres réservés ABI"
-#: config/sparc/sparc.h:555
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr "Utiliser les instructions matérielles quad FP"
-#: config/sparc/sparc.h:557
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr "Ne pas utiliser les instructions matérielles quad FP"
-#: config/sparc/sparc.h:559
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr "Compiler pour ABI v8plus"
-#: config/sparc/sparc.h:561
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr "Ne pas compiler pour ABI v8plus"
-#: config/sparc/sparc.h:563
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
msgstr "Utiliser le jeu d'instructions Visual"
-#: config/sparc/sparc.h:565
+#: config/sparc/sparc.h:558
msgid "Do not utilize Visual Instruction Set"
msgstr "Ne pas utiliser le jeu d'instructions Visual"
#. ??? 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 "Optimiser pour les processeurs Cypress"
-#: config/sparc/sparc.h:570
-msgid "Optimize for SparcLite processors"
+#: config/sparc/sparc.h:563
+#, fuzzy
+msgid "Optimize for SPARCLite processors"
msgstr "Optimiser pour les processeurs SparLite"
-#: config/sparc/sparc.h:572
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr "Optimiser pour les processeurs F930"
-#: config/sparc/sparc.h:574
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr "Optimiser pour les processeurs F934"
-#: config/sparc/sparc.h:576
-msgid "Use V8 Sparc ISA"
+#: config/sparc/sparc.h:569
+#, fuzzy
+msgid "Use V8 SPARC ISA"
msgstr "Utiliser le Sparc V8 ISA"
-#: config/sparc/sparc.h:578
-msgid "Optimize for SuperSparc processors"
+#: config/sparc/sparc.h:571
+#, fuzzy
+msgid "Optimize for SuperSPARC processors"
msgstr "Optimiser pour les processeurs SuperSparc"
#. End of deprecated options.
-#: config/sparc/sparc.h:581
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr "Pointeurs sont de 64 bits"
-#: config/sparc/sparc.h:583
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr "Pointeurs sont de 32 bits"
-#: config/sparc/sparc.h:585
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
msgstr "Utiliser ABI de 32 bits"
-#: config/sparc/sparc.h:587
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
msgstr "Utiliser ABI de 64 bits"
-#: config/sparc/sparc.h:589
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr "Utiliser le biais de la pile"
-#: config/sparc/sparc.h:591
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr "Ne pas utiliser le biais de la pile"
-#: config/sparc/sparc.h:593
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr "Utiliser des structs avec alignement plus fort pour les copies de mots-doubles"
-#: config/sparc/sparc.h:595
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr "Ne pas utiliser des structs avec alignement plus fort pour les copies de mots-doubles"
-#: config/sparc/sparc.h:597
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr "Optimiser sur mesure les instructions d'appel avec l'assembleur et l'éditeur de liens"
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr "Ne pas optimiser sur mesure les instructions d'appel avec l'assembleur et l'éditeur de liens"
-#: config/sparc/sparc.h:643
-msgid "Use given Sparc code model"
+#: config/sparc/sparc.h:637
+#, fuzzy
+msgid "Use given SPARC code model"
msgstr "Utiliser le modèle donné de code pour le Sparc"
-#: config/stormy16/stormy16.c:1179
+#: config/stormy16/stormy16.c:1192
msgid "cannot use va_start in interrupt function"
msgstr "ne peut utiliser va-start dans une fonction d'interruption"
-#: config/stormy16/stormy16.c:1536
+#: config/stormy16/stormy16.c:1552
msgid "`B' operand is not constant"
msgstr "opérande « B » n'est pas une constante"
-#: config/stormy16/stormy16.c:1542
+#: config/stormy16/stormy16.c:1558
msgid "`B' operand has multiple bits set"
msgstr "l'opérande « B » a de multiples jeux de bits"
-#: config/stormy16/stormy16.c:1569
+#: config/stormy16/stormy16.c:1585
msgid "`o' operand is not constant"
msgstr "opérande « o » n'est pas une constante"
-#: config/stormy16/stormy16.c:1584
+#: config/stormy16/stormy16.c:1600
msgid "xstormy16_print_operand: unknown code"
msgstr "xstormy16_print_operand: code inconnu"
-#: config/stormy16/stormy16.c:1634
+#: config/stormy16/stormy16.c:1650
#, c-format
msgid "switch statement of size %lu entries too large"
msgstr "déclaration de switch de taille %lu entrée est trop grande"
-#: config/v850/v850-c.c:68
+#: config/v850/v850-c.c:67
msgid "#pragma GHS endXXXX found without previous startXXX"
msgstr "#pragma GHS endXXXX repéré sans être précédé de startXXX"
-#: config/v850/v850-c.c:70
+#: config/v850/v850-c.c:69
msgid "#pragma GHS endXXX does not match previous startXXX"
msgstr "#pragma GHS endXXX ne concorde pas avec le précédent startXXX"
-#: config/v850/v850-c.c:95
+#: config/v850/v850-c.c:94
msgid "cannot set interrupt attribute: no current function"
msgstr "ne peut initialiser l'attribut d'interruption: aucune fonction courante"
-#: config/v850/v850-c.c:103
+#: config/v850/v850-c.c:102
msgid "cannot set interrupt attribute: no such identifier"
msgstr "ne peut initialiser l'attribut d'interruption: pas de tel identificateur"
-#: config/v850/v850-c.c:149
+#: config/v850/v850-c.c:148
msgid "junk at end of #pragma ghs section"
msgstr "rebut à la fin de la section #pragma ghs"
-#: config/v850/v850-c.c:166
+#: config/v850/v850-c.c:165
#, c-format
msgid "unrecognized section name \"%s\""
msgstr "nom de section non reconnue « %s »"
-#: config/v850/v850-c.c:181
+#: config/v850/v850-c.c:180
msgid "malformed #pragma ghs section"
msgstr "sectin mal composée #pragma ghs"
-#: config/v850/v850-c.c:201
+#: config/v850/v850-c.c:200
msgid "junk at end of #pragma ghs interrupt"
msgstr "rebut à la fin de l'interruption #pragma ghs"
-#: config/v850/v850-c.c:213
+#: config/v850/v850-c.c:212
msgid "junk at end of #pragma ghs starttda"
msgstr "rebut à la fin de #pragma ghs starttda"
-#: config/v850/v850-c.c:225
+#: config/v850/v850-c.c:224
msgid "junk at end of #pragma ghs startsda"
msgstr "rebut à la fin de #pragma ghs startsda"
-#: config/v850/v850-c.c:237
+#: config/v850/v850-c.c:236
msgid "junk at end of #pragma ghs startzda"
msgstr "rebut à la fin de #pragma ghs startzda"
-#: config/v850/v850-c.c:249
+#: config/v850/v850-c.c:248
msgid "junk at end of #pragma ghs endtda"
msgstr "rebut à la fin de #pragma ghs endtda"
-#: config/v850/v850-c.c:261
+#: config/v850/v850-c.c:260
msgid "junk at end of #pragma ghs endsda"
msgstr "rebut à la fin de #pragma ghs endsda"
-#: config/v850/v850-c.c:273
+#: config/v850/v850-c.c:272
msgid "junk at end of #pragma ghs endzda"
msgstr "rebut à la fin de #pragma ghs endzda"
-#: config/v850/v850.c:122
+#: config/v850/v850.c:129
#, c-format
msgid "%s=%s is not numeric"
msgstr "%s=%s n'est pas numérique"
-#: config/v850/v850.c:129
+#: config/v850/v850.c:136
#, c-format
msgid "%s=%s is too large"
msgstr "%s=%s est trop grand"
-#: config/v850/v850.c:285
+#: config/v850/v850.c:302
msgid "const_double_split got a bad insn:"
msgstr "const_double_split a reçu un insn erroné:"
-#: config/v850/v850.c:777
+#: config/v850/v850.c:837
msgid "output_move_single:"
msgstr "output_move_single:"
-#: config/v850/v850.c:2084
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr "un attribut de zone de donnéées ne peut pas être spécifié pour des variables locales"
-#: config/v850/v850.c:2095
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr "la zone de données de « %s » entre en conflit avec un déclaration précédente"
-#: config/v850/v850.c:2298
+#: config/v850/v850.c:2447
#, c-format
msgid "bogus JR construction: %d\n"
msgstr "construction JR boggé: %d\n"
-#: 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 "taille erronée pour l'enlèvement d'espace de la pile: %d"
-#: config/v850/v850.c:2497
+#: config/v850/v850.c:2646
#, c-format
msgid "bogus JARL construction: %d\n"
msgstr "construction JARL boggée: %d\n"
+#: config/v850/v850.c:3026
+#, fuzzy, c-format
+msgid "Bogus DISPOSE construction: %d\n"
+msgstr "construction JR boggé: %d\n"
+
+#: config/v850/v850.c:3048
+#, c-format
+msgid "Too much stack space to dispose of: %d"
+msgstr ""
+
+#: config/v850/v850.c:3224
+#, fuzzy, c-format
+msgid "Bogus PREPEARE construction: %d\n"
+msgstr "construction JARL boggée: %d\n"
+
+#: config/v850/v850.c:3246
+#, fuzzy, c-format
+msgid "Too much stack space to prepare: %d"
+msgstr "taille erronée pour l'enlèvement d'espace de la pile: %d"
+
#. 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 "Supporter l'ABI Green Hills"
-#: config/v850/v850.h:123
+#: config/v850/v850.h:161
msgid "Prohibit PC relative function calls"
msgstr "Interdire les appels relatifs de fonctions par le PC"
-#: config/v850/v850.h:126
+#: config/v850/v850.h:164
msgid "Reuse r30 on a per function basis"
msgstr "Ré-utiliser R30 sur une base par fonction"
-#: config/v850/v850.h:129
+#: config/v850/v850.h:167
msgid "Use stubs for function prologues"
msgstr "Utiliser des stubs pour les prologues de fonction"
-#: config/v850/v850.h:132
+#: config/v850/v850.h:170
msgid "Same as: -mep -mprolog-function"
msgstr "Identique à: -mep -mprolog-function"
-#: config/v850/v850.h:133
+#: config/v850/v850.h:171
msgid "Enable backend debugging"
msgstr "Autoriser la mise au point par la fin"
-#: config/v850/v850.h:135
+#: config/v850/v850.h:173
msgid "Compile for the v850 processor"
msgstr "Compiler pour le processeur v850"
-#: config/v850/v850.h:138
+#: config/v850/v850.h:175
+#, fuzzy
+msgid "Compile for v850e processor"
+msgstr "Compiler pour le processeur v850"
+
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
+#, fuzzy
+msgid "Enable the use of the short load instructions"
+msgstr "Activer l'utilisation d'instruction DB"
+
+#: config/v850/v850.h:180
+#, fuzzy
+msgid "Do not use the callt instruction"
+msgstr "Ne pas utiliser l'instruction de division"
+
+#: config/v850/v850.h:187
+#, fuzzy
+msgid "Do not use registers r2 and r5"
+msgstr "Ne pas utiliser le registre sb"
+
+#: config/v850/v850.h:189
+#, fuzzy
+msgid "Enfore strict alignment"
+msgstr "Ne pas ajuster l'alignement de la pile"
+
+#: config/v850/v850.h:192
msgid "Use 4 byte entries in switch tables"
msgstr "Utiliser des entrées de 4 octets dans les tables de switch"
-#: config/v850/v850.h:164
+#: config/v850/v850.h:218
msgid "Set the max size of data eligible for the TDA area"
msgstr "Initialiser la taille maximale des données éligibles pour la zone TDA"
-#: config/v850/v850.h:167
+#: config/v850/v850.h:221
msgid "Set the max size of data eligible for the SDA area"
msgstr "Initialiser la taille maximale des données éligibles pour la zone SDA"
-#: config/v850/v850.h:170
+#: config/v850/v850.h:224
msgid "Set the max size of data eligible for the ZDA area"
msgstr "Initialiser la taille maximale des données éligibles pour la zone ZDA"
-#: 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 "test erroné"
-#: config/xtensa/xtensa.c:1790
+#: config/xtensa/xtensa.c:1824
msgid "boolean registers required for the floating-point option"
msgstr "registres booléens requis pour l'option de virgule flottante"
-#: config/xtensa/xtensa.c:1965
+#: config/xtensa/xtensa.c:1991
msgid "invalid mask"
msgstr "masque invalide"
-#: config/xtensa/xtensa.c:2017
+#: config/xtensa/xtensa.c:2038
msgid "invalid address"
msgstr "adresse invalide"
-#: config/xtensa/xtensa.c:2042
+#: config/xtensa/xtensa.c:2063
msgid "no register in address"
msgstr "pas de registre dans l'adresse"
-#: config/xtensa/xtensa.c:2050
+#: config/xtensa/xtensa.c:2071
msgid "address offset not a constant"
msgstr "décalage d'adresse n'est pas une constante"
+#: config/xtensa/xtensa.c:2809
+#, fuzzy
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "Seuls les variables initialisées peuvent être placées dans une aire de 8 bits"
+
#: config/xtensa/xtensa.h:114
msgid "Use the Xtensa code density option"
msgstr "Utiliser l'option de densité du code Xtensa"
@@ -13025,512 +13738,557 @@ msgstr "Utiliser les instructions indirectes CALLXn pour les grands programmes"
msgid "Use direct CALLn instructions for fast calls"
msgstr "Utiliser les instructions directes CALLn pour des appels rapides"
-#: ada/misc.c:219
+#: ada/misc.c:233
msgid "`-gnat' misspelled as `-gant'"
msgstr "«-gnat» mal épellé comme «-gant»"
-#: cp/call.c:270 cp/init.c:1635
+#: cp/call.c:258 cp/init.c:1587
msgid "qualified type `%T' does not match destructor name `~%T'"
msgstr "type qualifé « %T » ne concorde pas le nom du destructeur «~%T»"
-#: cp/call.c:279
+#: cp/call.c:267
msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
msgstr "type de « %E » ne concorde pas avec le type du destructeur « %T » (type était « %T »)"
-#: cp/call.c:288
+#: cp/call.c:276
msgid "`%D' is a namespace"
msgstr "« %D » est un nom d'espace"
-#: cp/call.c:296
+#: cp/call.c:284
msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
msgstr "objet de base « %E » de la portée d'appel de la méthode n'est pas de type aggrégat « %T »"
-#: cp/call.c:394
+#: cp/call.c:366
msgid "unable to call pointer to member function here"
-msgstr "incapable de faire l'appel avec le pointeur vers le membre d'une fonction ici"
+msgstr "incapable de faire l'appel avec le pointeur vers la fonction membre ici"
-#: cp/call.c:530
+#: cp/call.c:515
msgid "destructors take no parameters"
msgstr "destructeurs ne prend aucun paramètre"
-#: cp/call.c:537
+#: cp/call.c:519
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr "nom du destructeur «~%T» ne concorde pas avec le type « %T » de l'expression"
-#: cp/call.c:2374
+#: cp/call.c:535 cp/call.c:4857
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr "requête du membre « %D » dans « %E », lequel n'est pas de type aggrégat « %T »"
+
+#: cp/call.c:557
+#, fuzzy
+msgid "request for member `%D' is ambiguous"
+msgstr "utilisation de « %D » est ambiguë"
+
+#: cp/call.c:2446
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr "%s %D(%T, %T, %T) <construit-interne>"
-#: cp/call.c:2379
+#: cp/call.c:2451
msgid "%s %D(%T, %T) <built-in>"
msgstr "%s %D(%T, %T) <construit-interne>"
-#: cp/call.c:2383
+#: cp/call.c:2455
msgid "%s %D(%T) <built-in>"
msgstr "%s %D(%T) <interne>"
-#: cp/call.c:2387
+#: cp/call.c:2459
msgid "%s %T <conversion>"
msgstr "%s %T <conversion>"
-#: cp/call.c:2389
+#: cp/call.c:2461
msgid "%s %+#D%s"
msgstr "%s %+#D%s"
-#: cp/call.c:2546
-msgid "no viable candidates"
-msgstr "pas de candidats viables"
-
-#: cp/call.c:2560
+#: cp/call.c:2615
msgid "conversion from `%T' to `%T' is ambiguous"
msgstr "conversion de « %T » vers « %T » est ambiguë"
-#: cp/call.c:2677
+#: cp/call.c:2690
+#, fuzzy
+msgid "incomplete type '%T' cannot be used to name a scope"
+msgstr "objet de type incomplet « %T » ne sera pas accessible dans %s"
+
+#: cp/call.c:2706 cp/typeck.c:2176 cp/typeck.c:2205
+#, fuzzy
+msgid "'%D' has no member named '%E'"
+msgstr "%s n'a pas de membre nommé « %s »"
+
+#: cp/call.c:2812
msgid "no matching function for call to `%D(%A)'"
msgstr "pas de fonction concordante pour l'appel de «%D(%A)»"
-#: cp/call.c:2688 cp/call.c:4681
+#: cp/call.c:2823 cp/call.c:4948
msgid "call of overloaded `%D(%A)' is ambiguous"
msgstr "appel du surchargé «%D(%A)» est ambigu"
#. It's no good looking for an overloaded operator() on a
#. pointer-to-member-function.
-#: cp/call.c:2715
+#: cp/call.c:2850
#, c-format
msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
-msgstr "fonction de pointeur vers un membre %E ne peut être appelée sans un objet; considérer l'utilisation de .* ou ->*"
+msgstr "pointeur vers fonction membre %E ne peut être appelé sans un objet; utilisez .* ou ->*"
-#: cp/call.c:2784
+#: cp/call.c:2920
msgid "no match for call to `(%T) (%A)'"
msgstr "pas de concordance pour l'appel de «(%T) (%A)»"
-#: cp/call.c:2794
+#: cp/call.c:2930
msgid "call of `(%T) (%A)' is ambiguous"
msgstr "appel de «(%T) (%A)» est ambigu"
-#: cp/call.c:2829
+#: cp/call.c:2965
msgid "%s for `%T ? %T : %T' operator"
msgstr "%s pour «%T ? %T : %T» comme opérateur"
-#: cp/call.c:2834
+#: cp/call.c:2970
msgid "%s for `%T %s' operator"
msgstr "%s pour l'opérateur «%T %s»"
-#: cp/call.c:2837
+#: cp/call.c:2973
msgid "%s for `%T [%T]' operator"
msgstr "%s pour l'opérateur «%T [%T]»"
-#: cp/call.c:2842
+#: cp/call.c:2978
msgid "%s for `%T %s %T' operator"
-msgstr "%s pour l'opérateur «%t [%T]»"
+msgstr "%s pour l'opérateur «%T %s [%T]»"
-#: cp/call.c:2845
+#: cp/call.c:2981
msgid "%s for `%s %T' operator"
-msgstr "%s pour l'opérateur «%t [%T]»"
+msgstr "%s pour l'opérateur «%s [%T]»"
-#: cp/call.c:2937
+#: cp/call.c:3071
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
-msgstr "ISO C++ inerdit l'omission du terme milieu de l'expression ?:"
+msgstr "le C++ ISO interdit l'omission du terme milieu de l'expression ?:"
-#: cp/call.c:2996
+#: cp/call.c:3130
#, c-format
msgid "`%E' has type `void' and is not a throw-expression"
msgstr "« %E» a le type «void » et n'est pas une expresion de retour de type throw"
-#: cp/call.c:3029 cp/call.c:3229
+#: cp/call.c:3163 cp/call.c:3363
msgid "operands to ?: have different types"
msgstr "opérande vers ?: a différents types"
-#: cp/call.c:3182
+#: cp/call.c:3316
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr "non concordance de type énuméré dans l'expression conditionnelle: « %T » vs « %T »"
-#: cp/call.c:3189
+#: cp/call.c:3323
msgid "enumeral and non-enumeral type in conditional expression"
msgstr "type énuméré et non énuméré dans l'expression conditionnelle"
-#: cp/call.c:3270
+#: cp/call.c:3405
msgid "`%D' must be declared before use"
msgstr "« %D » doit être déclaré avant son usage"
-#: cp/call.c:3433
+#: cp/call.c:3604
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr "pas «%D(int)» déclaré pour le postfixe « %s », essaie avec l'oprateur préfixe à la place"
-#: cp/call.c:3480
+#: cp/call.c:3651
msgid "using synthesized `%#D' for copy assignment"
msgstr "utilisation du synthétisé «%#D» pour l'affectaion par copie"
-#: cp/call.c:3482
+#: cp/call.c:3653
msgid " where cfront would use `%#D'"
msgstr " où cfront utiliserait «%#D»"
-#: cp/call.c:3509
+#: cp/call.c:3680
msgid "comparison between `%#T' and `%#T'"
msgstr "comparaison entre «%#T» et «%#T»"
-#: cp/call.c:3748
+#: cp/call.c:3919
msgid "no suitable `operator delete' for `%T'"
msgstr "« operator delete» pas adapté pour «%T »"
-#: cp/call.c:3767
+#: cp/call.c:3938
msgid "`%+#D' is private"
msgstr "«%+#D» est privé"
-#: cp/call.c:3769
+#: cp/call.c:3940
msgid "`%+#D' is protected"
msgstr "«%+#D» est protégé"
-#: cp/call.c:3771
+#: cp/call.c:3942
msgid "`%+#D' is inaccessible"
msgstr "«%+#D» et inaccessible"
-#: cp/call.c:3772
+#: cp/call.c:3943
msgid "within this context"
msgstr "à l'intérieur du contexte"
-#: cp/call.c:3814
+#: cp/call.c:3985
msgid "invalid conversion from `%T' to `%T'"
msgstr "conversion invalide de « %T » vers « %T »"
-#: cp/call.c:3816 cp/call.c:3955 cp/call.c:3957
+#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128
msgid " initializing argument %P of `%D'"
msgstr " initialisation de l'argument %P de « %D »"
-#: cp/call.c:3879 cp/call.c:3883
+#: cp/call.c:4050 cp/call.c:4054
msgid " initializing argument %P of `%D' from result of `%D'"
msgstr " initialisation de l'argument %P de « %D » à partir du résultat « %D »"
-#: cp/call.c:3889 cp/call.c:3892
+#: cp/call.c:4060 cp/call.c:4063
msgid " initializing temporary from result of `%D'"
msgstr " initialisation temporaire à partir du résultat « %D »"
-#. Undefined behaviour [expr.call] 5.2.2/7.
-#: cp/call.c:4026
-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
+#, fuzzy
+msgid "cannot pass objects of non-POD type `%#T' through `...'; call will abort at runtime"
msgstr "ne peut recevoir d'objets de type non POD «%#T» through « ... »"
-#. Undefined behaviour [expr.call] 5.2.2/7.
-#: cp/call.c:4051
+#. Undefined behavior [expr.call] 5.2.2/7.
+#: cp/call.c:4242
msgid "cannot receive objects of non-POD type `%#T' through `...'"
msgstr "ne peut recevoir d'objets de type non POD «%#T» through « ... »"
-#: cp/call.c:4193
+#: cp/call.c:4422
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr "passant « %T» comme «cet» argument de «%#D » écarte les qualificateurs"
-#: cp/call.c:4443
+#: cp/call.c:4656
msgid "could not find class$ field in java interface type `%T'"
msgstr "ne peut repérer le champ classe$ dans le type d'interface JAVA « %T »"
-#: cp/call.c:4544 cp/typeck.c:2018
-msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
-msgstr "requête du membre « %D » dans « %E », lequel n'est pas de type aggrégat « %T »"
+#: cp/call.c:4831
+#, fuzzy
+msgid "call to non-function `%D'"
+msgstr "fonction virtuelle d'une non classe « %s »"
-#: cp/call.c:4670
+#: cp/call.c:4937
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr "pas de fonction concordante pour l'appel à «%T::%D(%A)%#V»"
-#: cp/call.c:4700
+#: cp/call.c:4967
msgid "cannot call member function `%D' without object"
-msgstr "ne peut appeler un membre de fonction « %D » sans objet"
+msgstr "ne peut appeler la fonction membre « %D » sans objet"
-#: cp/call.c:5313
+#: cp/call.c:5580
msgid "passing `%T' chooses `%T' over `%T'"
msgstr "passant « %T » à choisit « %T » au lieu de « %T »"
-#: cp/call.c:5315 cp/decl2.c:4508
+#: cp/call.c:5582 cp/decl2.c:4081
msgid " in call to `%D'"
msgstr " dans l'appel de « %D »"
-#: cp/call.c:5364 cp/call.c:5489
+#: cp/call.c:5631 cp/call.c:5756
msgid "choosing `%D' over `%D'"
msgstr "choix de « %D » à la place de « %D »"
-#: cp/call.c:5365
+#: cp/call.c:5632
msgid " for conversion from `%T' to `%T'"
msgstr " pour la conversion de « %T » vers « %T »"
-#: cp/call.c:5367
+#: cp/call.c:5634
msgid " because conversion sequence for the argument is better"
msgstr " parce que la séquence de conversion pour l'argument est meilleure"
-#: cp/call.c:5491
+#: cp/call.c:5758
msgid " because worst conversion for the former is better than worst conversion for the latter"
msgstr " parce la plus mauvaise conversion de la déclaration initiale est meilleure que la plus mauvaise conversion de la dernière déclaration"
-#: cp/call.c:5607 cp/call.c:5628
+#: cp/call.c:5874 cp/call.c:5895
msgid "could not convert `%E' to `%T'"
msgstr "ne peut convertir « %E » vers « %T »"
-#: cp/class.c:287
+#: cp/class.c:286
msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr "ne peut convertir de la base « %T » à un type dérivé « %T » via la base virtuel « %T »"
-#: cp/class.c:1020
+#: cp/class.c:943
msgid "`%#D' and `%#D' cannot be overloaded"
msgstr "«%#D» et «%#D» ne peut être surchargé"
-#. There has already been a declaration of this method
-#. or member template.
-#: cp/class.c:1031
-msgid "`%D' has already been declared in `%T'"
-msgstr "« %D » a déjà été déclaré dans « %T »"
-
-#: cp/class.c:1112
+#: cp/class.c:1027
msgid "duplicate enum value `%D'"
msgstr "valeur d'énumérateur « %D » en double"
-#: cp/class.c:1115
+#: cp/class.c:1030
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr "champ « %D » en double (comme enum et non enum)"
-#: cp/class.c:1122
+#: cp/class.c:1037
msgid "duplicate nested type `%D'"
msgstr "type « %D » imbriqué en double"
-#: cp/class.c:1133
+#: cp/class.c:1048
msgid "duplicate field `%D' (as type and non-type)"
msgstr "duplicattion du champ « %D » (comme type et non type)"
-#: cp/class.c:1137
+#: cp/class.c:1052
msgid "duplicate member `%D'"
msgstr "membre « %D » est double"
-#: cp/class.c:1180
+#: cp/class.c:1095
msgid "conflicting access specifications for method `%D', ignored"
msgstr "spécifications d'accès conflictuelles pour la méthode « %D », ignoré"
-#: cp/class.c:1182
+#: cp/class.c:1097
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr "spécifications d'accès conflictuelles pour le champ « %s », ignoré"
-#: cp/class.c:1225
+#: cp/class.c:1142
msgid "`%D' names constructor"
msgstr "« %D » nomme le constructeur"
-#: cp/class.c:1231
+#: cp/class.c:1147
msgid "`%D' invalid in `%T'"
msgstr "« %D » invalide dans « %T »"
-#: cp/class.c:1239
+#: cp/class.c:1155
msgid "no members matching `%D' in `%#T'"
msgstr "aucun membre concordant « %D » dans «%#T»"
-#: cp/class.c:1271 cp/class.c:1279
+#: cp/class.c:1187 cp/class.c:1195
msgid "`%D' invalid in `%#T'"
msgstr "« %D » invalide dans «%#T»"
-#: cp/class.c:1272
+#: cp/class.c:1188
msgid " because of local method `%#D' with same name"
msgstr " parce que la méthode locale «%#D» a le même nom"
-#: cp/class.c:1280
+#: cp/class.c:1196
msgid " because of local member `%#D' with same name"
msgstr " parce que le membre local «%#D» a le même nom"
-#: cp/class.c:1352
+#: cp/class.c:1268
msgid "base class `%#T' has a non-virtual destructor"
msgstr "classe de base «%#T» a un destructeur non virtuel"
-#: cp/class.c:1372
+#: cp/class.c:1288
msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr "base « %T » avec seulement le constructeur non par défaut dans la classe sans un constructeur"
-#: cp/class.c:1959
+#: cp/class.c:1860
msgid "all member functions in class `%T' are private"
-msgstr "tous les membres de fonctions dans la classe « %T » sont privés"
+msgstr "toutes les fonctions membres de la classe « %T » sont privés"
-#: cp/class.c:1973
+#: cp/class.c:1874
msgid "`%#T' only defines a private destructor and has no friends"
msgstr "«%#T» définit seulement les constructeurs privés et n'a pas d'amis"
-#: cp/class.c:2016
+#: cp/class.c:1917
msgid "`%#T' only defines private constructors and has no friends"
msgstr "«%#T» définit seulement les constructeurs privés et n'a pas d'amis"
-#: cp/class.c:2137 cp/class.c:5064
+#: cp/class.c:2038 cp/class.c:5172
msgid "redefinition of `%#T'"
msgstr "redéfinition de «%#T»"
-#: cp/class.c:2138
+#: cp/class.c:2039
msgid "previous definition of `%#T'"
msgstr "définition précédente de «%#T»"
-#: cp/class.c:2468
+#: cp/class.c:2313
msgid "no unique final overrider for `%D' in `%T'"
msgstr "pas d'écraseur unique final pour « %D » dans « %T »"
#. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2850
+#: cp/class.c:2652
msgid "`%D' was hidden"
msgstr "« %D » était caché"
-#: cp/class.c:2851
+#: cp/class.c:2653
msgid " by `%D'"
msgstr " par « %D »"
-#: cp/class.c:2893
+#: cp/class.c:2695
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
-msgstr "ISO C++ interdit le membre « %D » avec le même non de la classe de fermeture"
+msgstr "le C++ ISO interdit le membre « %D » avec le même non de la classe de fermeture"
-#: cp/class.c:2898 cp/decl2.c:1883
+#: cp/class.c:2700 cp/decl2.c:1327
msgid "`%#D' invalid; an anonymous union can only have non-static data members"
msgstr "«%#D» invalide; une union anonyme peut seulement avoir des données non statiques de membres"
-#: cp/class.c:2904 cp/decl2.c:1889
+#: cp/class.c:2706 cp/decl2.c:1333
msgid "private member `%#D' in anonymous union"
msgstr "membre privé «%#D» dans une union anonyme"
-#: cp/class.c:2907 cp/decl2.c:1891
+#: cp/class.c:2709 cp/decl2.c:1335
msgid "protected member `%#D' in anonymous union"
msgstr "membre protégé «%#D» dans une union anonyme"
-#: cp/class.c:3059
+#: 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 "largeur du champ de bits «%#D» n'est pas une constante entière"
-#: cp/class.c:3079
+#: cp/class.c:2918
msgid "bit-field `%D' width not an integer constant"
msgstr "largeur du champ de bits « %D » n'est pas une constante entière"
-#: cp/class.c:3085
+#: cp/class.c:2924
msgid "negative width in bit-field `%D'"
msgstr "largeur négative du champ de bits « %D »"
-#: cp/class.c:3090
+#: cp/class.c:2929
msgid "zero width for bit-field `%D'"
msgstr "largeur zéro pour le champ de bits « %D »"
-#: cp/class.c:3096
+#: cp/class.c:2935
msgid "width of `%D' exceeds its type"
msgstr "largeur de « %D » excède son type"
-#: cp/class.c:3105
+#: cp/class.c:2944
msgid "`%D' is too small to hold all values of `%#T'"
msgstr "« %D » est trop petit pour contenir toutes les valeurs de «%#T»"
-#: cp/class.c:3189
+#: cp/class.c:3028
msgid "member `%#D' with constructor not allowed in union"
msgstr "membre «%#D» avec consructeur n'est pas permis dans l'union"
-#: cp/class.c:3192
+#: cp/class.c:3031
msgid "member `%#D' with destructor not allowed in union"
msgstr "membre «%#D» avec destructeur n'est pas permis dans l'union"
-#: cp/class.c:3195
+#: cp/class.c:3034
msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr "membre «%#D» avec opérateur d,affectation par copie n'st pas permis dans l'union"
-#: cp/class.c:3222
+#: cp/class.c:3061
msgid "multiple fields in union `%T' initialized"
msgstr "champs multiples dans l'union « %T » initialisés"
-#: cp/class.c:3341
+#: cp/class.c:3183
msgid "field `%D' in local class cannot be static"
msgstr "champ « %D » dans une classe locale ne peut être statique"
-#: cp/class.c:3347
+#: cp/class.c:3189
msgid "field `%D' invalidly declared function type"
msgstr "champ « %D » incorrectement validé comme un type de fonction"
-#: cp/class.c:3354
+#: cp/class.c:3196
msgid "field `%D' invalidly declared method type"
msgstr "champ « %D » incorrectement validé comme un type de méthode"
-#: cp/class.c:3360
+#: cp/class.c:3202
msgid "field `%D' invalidly declared offset type"
msgstr "champ « %D » incorrectement validé comme type de décalage"
#. Unions cannot have static members.
-#: cp/class.c:3378
+#: cp/class.c:3220
msgid "field `%D' declared static in union"
msgstr "champ « %D » déclaré statique dans l'union"
-#: cp/class.c:3404
+#: cp/class.c:3247
msgid "non-static reference `%#D' in class without a constructor"
msgstr "référence non statique «%#D» dans la classe sans un constructeur"
-#: cp/class.c:3435
+#: cp/class.c:3282
msgid "non-static const member `%#D' in class without a constructor"
msgstr "constante non statique de membre «%#D» dans la classe sans un constructeur"
-#: cp/class.c:3450
+#: cp/class.c:3298
msgid "field `%#D' with same name as class"
msgstr "champ «%#D» avec le même nom qu'une classe"
-#: cp/class.c:3468
+#: cp/class.c:3316
msgid "`%#T' has pointer data members"
msgstr "«%#T» a un pointeur vers un membre de données"
-#: cp/class.c:3472
+#: cp/class.c:3320
msgid " but does not override `%T(const %T&)'"
msgstr " mais n'écrase pas «%T(const %T&)»"
-#: cp/class.c:3474
+#: cp/class.c:3322
msgid " or `operator=(const %T&)'"
msgstr " ou « operator=(const %T&) »"
-#: cp/class.c:3477
+#: cp/class.c:3325
msgid " but does not override `operator=(const %T&)'"
msgstr " mais n'écrase pas « operator=(const %T&) »"
-#: cp/class.c:3943
+#: 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 "initialiseur spécifié pour une méthode non virtuelle « %D »"
+msgstr "initialisation spécifiée pour une méthode non virtuelle « %D »"
-#: cp/class.c:4728
-msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
-msgstr "base virtuelle « %T » inaccessible dans « %T » en raison de l'ambiguité"
+#: 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:4798
+#: cp/class.c:4809
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr "base directe « %T » inaccessible dans « %T » en raison de l'ambiguité"
-#: cp/class.c:5225
+#: cp/class.c:4822
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+msgstr "base virtuelle « %T » inaccessible dans « %T » en raison de l'ambiguité"
+
+#: 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 "«%#T» a des fonctions virtuelles mais un destructeur non virtuel"
-#: cp/class.c:5309
+#: cp/class.c:5405
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr "tentative de complétion du struct, mais a été stoppé en raison d'erreurs précédentes d'analyses syntaxiques"
-#: cp/class.c:5766
+#: cp/class.c:5861
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr "chaîne du langage «\"%s\"» n'est pas reconnue"
-#: cp/class.c:5862
+#: cp/class.c:5957
msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr "ne peut résoudre la fonction surchargé « %D » basé sur la conversion vers le type « %T »"
-#: cp/class.c:5983
+#: cp/class.c:6078
msgid "no matches converting function `%D' to type `%#T'"
msgstr "pas de concordance de conversion de fonction « %D » vers le type «%#T'"
-#: cp/class.c:6006
+#: cp/class.c:6101
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr "conversion d'une fonction surchargée « %D » vers le type «%#T» est ambiguë"
-#: cp/class.c:6032
+#: cp/class.c:6127
msgid "assuming pointer to member `%D'"
msgstr "pointeur assumé vers le membre « %D »"
-#: cp/class.c:6035
+#: cp/class.c:6130
#, c-format
msgid "(a pointer to member can only be formed with `&%E')"
msgstr "(un pointeur vers un membre peut seulement être formé avec «&%E»)"
-#: cp/class.c:6079 cp/class.c:6247 cp/class.c:6254
+#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352
msgid "not enough type information"
msgstr "pas assez d'information sur le type"
-#: cp/class.c:6088
+#: cp/class.c:6183
msgid "argument of type `%T' does not match `%T'"
msgstr "argument de type « %T » ne concorde pas avec « %T »"
-#: cp/class.c:6231
+#: cp/class.c:6329
msgid "invalid operation on uninstantiated type"
msgstr "opération invalide sur un type non instancié"
@@ -13539,11 +14297,11 @@ msgstr "opération invalide sur un type non instancié"
#. 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:6483 cp/decl.c:1032 cp/decl.c:3172 cp/pt.c:1842
+#: cp/class.c:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845
msgid "declaration of `%#D'"
msgstr "déclaration de «%#D»"
-#: cp/class.c:6484
+#: cp/class.c:6613
msgid "changes meaning of `%D' from `%+#D'"
msgstr "changements signifiant de « %D » à partir de «%+#D»"
@@ -13559,206 +14317,211 @@ msgstr "conversion de « %E » à partir de « %T » vers « %T » est ambiguë"
msgid "converting from `%T' to `%T'"
msgstr "conversion de « %T » vers « %T »"
-#: 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 "pointeur vers un membre transtypé de « %T » à « %T » est fait via une base virtuelle"
-#: 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 "ne peut convertir « %E » du type « %T » vers le type « %T »"
-#: cp/cvt.c:525
+#: cp/cvt.c:262
+#, fuzzy
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "conversion invalide de « %T » vers « %T »"
+
+#: cp/cvt.c:537
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr "conversion de « %T » à « %T » écarte les qualificateurs"
-#: cp/cvt.c:543
+#: cp/cvt.c:555
msgid "casting `%T' to `%T' does not dereference pointer"
msgstr "transtypage de « %T » vers « %T » ne fait pas de dé-référence de pointeur"
-#: cp/cvt.c:572
+#: cp/cvt.c:584
msgid "cannot convert type `%T' to type `%T'"
msgstr "ne peut convertir type « %T » vers le type « %T »"
-#: cp/cvt.c:689
+#: cp/cvt.c:701
msgid "conversion from `%#T' to `%#T'"
msgstr "conversion de «%#T» vers «%#T'"
-#: cp/cvt.c:701
+#: cp/cvt.c:713
msgid "`%#T' used where a `%T' was expected"
msgstr "«%#T» utilisé où « %T » était attendu"
-#: cp/cvt.c:718
+#: cp/cvt.c:730
msgid "the address of `%D', will always be `true'"
msgstr "l'adresse de « %D», sera toujours «true »"
-#: cp/cvt.c:738
+#: cp/cvt.c:750
msgid "`%#T' used where a floating point value was expected"
msgstr "«%#T» utilisé où un nombre flottant était attendu"
-#: cp/cvt.c:793
+#: cp/cvt.c:797
msgid "conversion from `%T' to non-scalar type `%T' requested"
msgstr "conversion de « %T » vers un type non scalaire « %T » demandée"
-#: cp/cvt.c:879
+#: cp/cvt.c:883
msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr "objet de type incomplet « %T » ne sera pas accessible dans %s"
-#: cp/cvt.c:882
+#: cp/cvt.c:886
msgid "object of type `%T' will not be accessed in %s"
msgstr "objet de type « %T » ne sera pas acccessible dans %s"
-#: cp/cvt.c:898
+#: cp/cvt.c:902
msgid "object `%E' of incomplete type `%T' will not be accessed in %s"
msgstr "objet « %E » d'un type incomplet « %T » ne sera pas accessible dans %s"
#. [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 "%s ne peut résoudre l'adresse la fonction surchargée"
#. 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 "%s est un référence, pas un appel, à la fonction « %E »"
-#: cp/cvt.c:1061
+#: cp/cvt.c:1065
msgid "converting NULL to non-pointer type"
msgstr "conversion d'un NULL vers un type non pointeur"
-#: cp/cvt.c:1137
+#: cp/cvt.c:1141
msgid "ambiguous default type conversion from `%T'"
msgstr "conversion de type par défaut ambiguë à partir de « %T »"
-#: cp/cvt.c:1139
+#: cp/cvt.c:1143
msgid " candidate conversions include `%D' and `%D'"
msgstr " conversions de candidat inclut « %D » et « %D »"
-#: cp/decl.c:1033 cp/decl.c:3275
+#: cp/decl.c:1007 cp/decl.c:3205
msgid "conflicts with previous declaration `%#D'"
msgstr "conflits avec la déclaration précédente de «%#D»"
-#: cp/decl.c:1222
+#: cp/decl.c:1211
msgid "label `%D' used but not defined"
msgstr "étiquette « %D » utilisée mais non définie"
-#: cp/decl.c:1227
+#: cp/decl.c:1216
msgid "label `%D' defined but not used"
msgstr "étiquette « %D » définie mais non utilisée"
-#: cp/decl.c:2294
+#: cp/decl.c:2249
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr "alias d'espace de noms « %D » n'est pas permis ici, on assume « %D »"
-#: cp/decl.c:3078 cp/decl.c:3483
+#: cp/decl.c:3008 cp/decl.c:3413
msgid "previous declaration of `%D'"
msgstr "déclaration précédente de « %D »"
-#: cp/decl.c:3159 cp/decl.c:3197
+#: cp/decl.c:3089 cp/decl.c:3127
msgid "shadowing %s function `%#D'"
-msgstr "%s fait ombrage à la fonction «%#D»"
+msgstr "%s masque la fonction «%#D»"
-#: cp/decl.c:3168
+#: cp/decl.c:3098
msgid "library function `%#D' redeclared as non-function `%#D'"
-msgstr "fonction «%#D» de la librairie redéclarée comme n'étant pas une fonction «%#D»"
+msgstr "fonction «%#D» de la bibliothèque redéclarée comme n'étant pas une fonction «%#D»"
-#: cp/decl.c:3173
+#: cp/decl.c:3103
msgid "conflicts with built-in declaration `%#D'"
msgstr "conflits avec la déclaration interne de «%#D»"
-#: cp/decl.c:3192 cp/decl.c:3285 cp/decl.c:3301
+#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235
msgid "new declaration `%#D'"
msgstr "nouvelle déclaration de «%#D»"
-#: cp/decl.c:3193
+#: cp/decl.c:3123
msgid "ambiguates built-in declaration `%#D'"
msgstr "ambiguités de la déclaration interne de «%#D»"
-#: cp/decl.c:3249
+#: cp/decl.c:3179
msgid "`%#D' redeclared as different kind of symbol"
-msgstr "« %D » redéclaré comme une sorte différente de symbole"
+msgstr "« %#D » redéclaré comme une sorte différente de symbole"
-#: cp/decl.c:3252
+#: cp/decl.c:3182
msgid "previous declaration of `%#D'"
msgstr "déclaration précédente de «%#D»"
-#: cp/decl.c:3274
+#: cp/decl.c:3204
msgid "declaration of template `%#D'"
msgstr "déclaration du patron «%#D»"
-#: cp/decl.c:3286 cp/decl.c:3302
+#: cp/decl.c:3220 cp/decl.c:3236
msgid "ambiguates old declaration `%#D'"
msgstr "ambiguités d'une vieille déclaration de «%#D»"
-#: cp/decl.c:3294
+#: cp/decl.c:3228
msgid "declaration of C function `%#D' conflicts with"
msgstr "déclaration de la fonction C «%#D» en conflit avec"
-#: cp/decl.c:3296
+#: cp/decl.c:3230
msgid "previous declaration `%#D' here"
msgstr "déclaration précédente de «%#D» ici"
-#: cp/decl.c:3312
+#: cp/decl.c:3246
msgid "conflicting types for `%#D'"
msgstr "types conflictuels pour «%#D'"
-#: cp/decl.c:3313
+#: cp/decl.c:3247
msgid "previous declaration as `%#D'"
msgstr "déclaration précédente de «%#D'"
-#: cp/decl.c:3356
+#: cp/decl.c:3290
msgid "`%#D' previously defined here"
msgstr "«%#D» précédemment défini ici"
-#: cp/decl.c:3357
+#: cp/decl.c:3291
msgid "`%#D' previously declared here"
msgstr "«%#D» précédemment déclaré ici"
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3366
+#: cp/decl.c:3300
msgid "prototype for `%#D'"
msgstr "prototype de «%#D'"
-#: cp/decl.c:3367
+#: cp/decl.c:3301
msgid "follows non-prototype definition here"
msgstr "suit la définition d'un non prototype ici"
-#: cp/decl.c:3379
+#: cp/decl.c:3313
msgid "previous declaration of `%#D' with %L linkage"
msgstr "déclaration précédente de «%#D» avec le lien %L"
-#: cp/decl.c:3381
+#: cp/decl.c:3315
msgid "conflicts with new declaration with %L linkage"
msgstr "conflits avec la nouvelle déclaration avec le lien %L"
-#: cp/decl.c:3404 cp/decl.c:3411
+#: cp/decl.c:3338 cp/decl.c:3345
msgid "default argument given for parameter %d of `%#D'"
msgstr "argument par défaut donné pour le paramètre %d de «%#D»"
-#: cp/decl.c:3406 cp/decl.c:3413
+#: cp/decl.c:3340 cp/decl.c:3347
msgid "after previous specification in `%#D'"
msgstr "après la déclaration précédente dans «%#D»"
-#: cp/decl.c:3422
+#: cp/decl.c:3356
msgid "`%#D' was used before it was declared inline"
msgstr "«%#D» a été utilisé avant qu'il ne soit déclaré en ligne"
-#: cp/decl.c:3424
+#: cp/decl.c:3358
msgid "previous non-inline declaration here"
msgstr "déclaration précédente non en ligne ici"
-#: cp/decl.c:3482
+#: cp/decl.c:3412
msgid "redundant redeclaration of `%D' in same scope"
msgstr "déclaration redondante de « %D » dans la même étendue"
-#: cp/decl.c:3566
+#: cp/decl.c:3493
#, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr "déclaration de « %F » amène différentes exceptions"
-#: cp/decl.c:3568
+#: cp/decl.c:3495
#, c-format
msgid "than previous declaration `%F'"
msgstr "qu'une précédente déclaratio « %F »"
@@ -13771,15 +14534,15 @@ msgstr "qu'une précédente déclaratio « %F »"
#. that specialization that would cause an implicit
#. instantiation to take place, in every translation unit in
#. which such a use occurs.
-#: cp/decl.c:3701
+#: cp/decl.c:3632
msgid "explicit specialization of %D after first use"
msgstr "spécialisation explicite de %D après la première utilisation"
-#: cp/decl.c:3946
+#: cp/decl.c:3886
msgid "`%#D' used prior to declaration"
msgstr "«%#D» utilisé précédemment avant sa déclaration"
-#: cp/decl.c:3977
+#: cp/decl.c:3917
msgid "redeclaration of `wchar_t' as `%T'"
msgstr "redéclaration de « wchar_t» comme «%T »"
@@ -13789,841 +14552,896 @@ msgstr "redéclaration de « wchar_t» comme «%T »"
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:4005
+#: cp/decl.c:3945
msgid "invalid redeclaration of `%D'"
msgstr "redéclaration invalide de « %D »"
-#: cp/decl.c:4006
+#: cp/decl.c:3946
msgid "as `%D'"
msgstr "comme « %D »"
-#: cp/decl.c:4096
+#: cp/decl.c:4036
msgid "previous external decl of `%#D'"
msgstr "déclaration externe précédente de « %#D »"
-#: cp/decl.c:4137
+#: cp/decl.c:4077
msgid "`%D' was previously implicitly declared to return `int'"
msgstr "« %D » a été précédemment implicitement déclaré comme retournant un entier"
-#: cp/decl.c:4197
+#: cp/decl.c:4137
msgid "extern declaration of `%#D' doesn't match"
msgstr "déclaration externe de «%#D» ne concorde pas"
-#: cp/decl.c:4198
+#: cp/decl.c:4138
msgid "global declaration `%#D'"
msgstr "déclaration globale «%#D»"
-#: cp/decl.c:4229
+#: cp/decl.c:4169
msgid "declaration of `%#D' shadows a parameter"
-msgstr "déclaration de «%#D» cache un paramètre"
+msgstr "déclaration de «%#D» masque un paramètre"
-#: cp/decl.c:4249
+#: cp/decl.c:4189
#, c-format
msgid "declaration of `%s' shadows a member of `this'"
-msgstr "déclaration de « %s » fait ombrage au membre de « this »"
+msgstr "déclaration de « %s » masque un membre de « this »"
-#: cp/decl.c:4600
+#: cp/decl.c:4541
msgid "`%#D' hides constructor for `%#T'"
msgstr "«%#D» cache un constructeur pour «%#T»"
-#: cp/decl.c:4615
+#: cp/decl.c:4556
msgid "`%#D' conflicts with previous using declaration `%#D'"
msgstr "«%#D» en conflit avec une déclaration précédente «%#D»"
-#: cp/decl.c:4627
+#: cp/decl.c:4568
msgid "previous non-function declaration `%#D'"
msgstr "déclaration précédente d'un non fonction «%#D»"
-#: cp/decl.c:4628
+#: cp/decl.c:4569
msgid "conflicts with function declaration `%#D'"
msgstr "conflits avec la déclaration de fonction de «%#D»"
-#: cp/decl.c:4718
+#: cp/decl.c:4659
msgid "implicit declaration of function `%#D'"
msgstr "déclaration implicite de la fonction «%#D»"
-#: cp/decl.c:4876
+#: cp/decl.c:4817
#, c-format
msgid "label `%s' referenced outside of any function"
msgstr "étiquette « %s » référencée à l'extérieur de n'importe quelle fonction"
-#: cp/decl.c:4979 cp/decl.c:5003 cp/decl.c:5096
+#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037
msgid "jump to label `%D'"
msgstr "saut à l'étiquette « %D »"
-#: cp/decl.c:4981 cp/decl.c:5005
+#: cp/decl.c:4922 cp/decl.c:4946
msgid "jump to case label"
msgstr "saut à l'étiquette du « case »"
-#: cp/decl.c:4989
+#: cp/decl.c:4930
msgid " crosses initialization of `%#D'"
msgstr " initialisation croisée pour «%#D»"
-#: cp/decl.c:4992 cp/decl.c:5112
+#: cp/decl.c:4933 cp/decl.c:5053
msgid " enters scope of non-POD `%#D'"
msgstr " entre dans la porté d'un non POD «%#D»"
-#: cp/decl.c:5012 cp/decl.c:5116
+#: cp/decl.c:4953 cp/decl.c:5057
msgid " enters try block"
msgstr " entre dans le bloc d'essais"
#. Can't skip init of __exception_info.
-#: cp/decl.c:5014 cp/decl.c:5108 cp/decl.c:5118
+#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059
msgid " enters catch block"
msgstr " entre dans le bloc d'interceptions"
-#: cp/decl.c:5097
+#: cp/decl.c:5038
msgid " from here"
msgstr " à partir d'ici"
-#: cp/decl.c:5110
+#: cp/decl.c:5051
msgid " skips initialization of `%#D'"
msgstr " saut d'initialisation pour «%#D»"
-#: cp/decl.c:5145
+#: cp/decl.c:5086
msgid "label named wchar_t"
msgstr "étiquette nommée wchar_t"
-#: cp/decl.c:5149
+#: cp/decl.c:5090
msgid "duplicate label `%D'"
msgstr "étiquette « %D » apparaît en double"
-#: cp/decl.c:5234
+#: cp/decl.c:5175
#, c-format
msgid "case label `%E' not within a switch statement"
msgstr "étiquette du CASE « %E » n'est pas à l'intérieur de la déclaration du SWITCH"
#. Definition isn't the kind we were looking for.
-#: cp/decl.c:5411 cp/decl.c:5430
+#: cp/decl.c:5354 cp/decl.c:5373
msgid "`%#D' redeclared as %C"
msgstr "«%#D» rédéclaré comme %C"
#. This happens for A::B where B is a template, and there are no
#. template arguments.
-#: cp/decl.c:5518 cp/typeck.c:1980
+#: cp/decl.c:5461 cp/typeck.c:2062 cp/typeck.c:2217
msgid "invalid use of `%D'"
msgstr "utilisation invalide de « %D »"
-#: cp/decl.c:5559
+#: cp/decl.c:5502
msgid "`%D::%D' is not a template"
msgstr "«%D::%D» n'est pas un patron"
-#: cp/decl.c:5576
+#: cp/decl.c:5519
msgid "`%D' undeclared in namespace `%D'"
msgstr "« %D » non déclaré dans l'espace de noms « %D »"
-#: cp/decl.c:5713
+#: cp/decl.c:5652
msgid "`%D' used without template parameters"
msgstr "« %D » utilisé sans patron de paramétres"
-#: cp/decl.c:5724 cp/decl.c:5740 cp/decl.c:5828
+#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783
msgid "no class template named `%#T' in `%#T'"
msgstr "pas de patron de classe nommé «%#T» in «%#T»"
-#: cp/decl.c:5758 cp/decl.c:5788
+#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744
msgid "no type named `%#T' in `%#T'"
msgstr "pas de type nommé dans «%#T» dans «%#T»"
-#: cp/decl.c:6011
+#: cp/decl.c:5968
msgid "lookup of `%D' finds `%#D'"
msgstr "recherche de « %D » a repéré «%#D»"
-#: cp/decl.c:6013
+#: cp/decl.c:5970
msgid " instead of `%D' from dependent base class"
msgstr " au lieu de « %D » à partir d'un classe de base dépendante"
-#: cp/decl.c:6015
+#: cp/decl.c:5972
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr " (utiliser « typename %T::%D » si c'est ce que vous voulez dire)"
-#: cp/decl.c:6188
+#: cp/decl.c:6003
+#, fuzzy
+msgid "name lookup of `%D' changed"
+msgstr "recherche du nom « %s » a changé"
+
+#: cp/decl.c:6005
+msgid " matches this `%D' under ISO standard rules"
+msgstr " concorde avec « %D » selon les règles standards ISO"
+
+#: cp/decl.c:6007
+msgid " matches this `%D' under old rules"
+msgstr " concorde avec « %D » selon les vieilles règles"
+
+#: cp/decl.c:6021 cp/decl.c:6028
+#, fuzzy
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr "recherche du nom « %s » changé pour le nouveau ISO «for » d'étendue de champ"
+
+#: cp/decl.c:6023
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
+msgstr " ne peut utiliser une liaison obsolète à « %D » parce qu'il a un destructeur"
+
+#: cp/decl.c:6030
+msgid " using obsolete binding at `%D'"
+msgstr " utilisation de liaison obsolète à « %D »"
+
+#: cp/decl.c:6211
msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
msgstr "recherche de « %D » dans la portée de «%#T» («%#D») ne concorde pas avec la recherche dans la portée courante («%#D»)"
-#: cp/decl.c:7033
+#: cp/decl.c:7025
msgid "an anonymous union cannot have function members"
msgstr "un UNION anonyme ne peut avoir de fonction membre"
-#: cp/decl.c:7050
+#: cp/decl.c:7042
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr "membre «%#D» avec constructeur n'est pas permis dans un aggrégat anonyme"
-#: cp/decl.c:7053
+#: cp/decl.c:7045
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr "membre «%#D» avec destructeur n'est pas permis dans un aggrégat anonyme"
-#: cp/decl.c:7056
+#: cp/decl.c:7048
msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
msgstr "membre «%#D» avec opérateur d'affectation par copie n'est pas permis dans un aggrégat anonyme"
-#: cp/decl.c:7094
+#: cp/decl.c:7086
msgid "redeclaration of C++ built-in type `%T'"
msgstr "redéclaration du type interne C++ « %T »"
-#: cp/decl.c:7129
+#: cp/decl.c:7122
msgid "multiple types in one declaration"
msgstr "types multiples dans une déclaration"
-#: cp/decl.c:7132
-msgid "declaration does not declare anything"
-msgstr "déclaration ne déclare rien du tout!"
-
-#: cp/decl.c:7156
+#: cp/decl.c:7149
msgid "missing type-name in typedef-declaration"
msgstr "nom de type manquant dans la déclaration typedef"
-#: cp/decl.c:7163
+#: cp/decl.c:7156
msgid "ISO C++ prohibits anonymous structs"
-msgstr "ISO C++ interdit les structs anonymes"
+msgstr "le C++ ISO interdit les structures anonymes"
-#: cp/decl.c:7170
+#: cp/decl.c:7163
msgid "`%D' can only be specified for functions"
msgstr "« %D » ne peut seulement être spécifier pour les fonctions"
-#: cp/decl.c:7172
+#: cp/decl.c:7165
msgid "`%D' can only be specified inside a class"
msgstr "« %D » peut seulement être spécifié à l'intérieur d'une classe"
-#: cp/decl.c:7174
+#: cp/decl.c:7167
msgid "`%D' can only be specified for constructors"
msgstr "« %D » ne peut seulement être spécifié pour les constructeurs"
-#: cp/decl.c:7177
+#: cp/decl.c:7170
msgid "`%D' can only be specified for objects and functions"
msgstr "« %D » ne peut seulement être spécifié pour les objets et les fonctions"
-#: cp/decl.c:7326
-msgid "typedef `%D' is initialized"
+#: cp/decl.c:7312 cp/decl2.c:927
+#, fuzzy
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
msgstr "typedef « %D » est initialisé"
-#: cp/decl.c:7332
+#: cp/decl.c:7317
msgid "function `%#D' is initialized like a variable"
-msgstr "fonction « %D » est initialisée comme une variable"
+msgstr "fonction « %#D » est initialisée comme une variable"
-#: cp/decl.c:7344
+#: cp/decl.c:7329
msgid "declaration of `%#D' has `extern' and is initialized"
msgstr "déclaration de «%#D» est externe et initialisé"
-#: cp/decl.c:7378
+#: cp/decl.c:7363
msgid "`%#D' is not a static member of `%#T'"
msgstr "«%#D» n'est pas un membre statique de «%#T»"
-#: cp/decl.c:7383
+#: cp/decl.c:7368
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
-msgstr "ISO C++ ne permet pas «%T::%D» d'être défini comme «%T::%D»"
+msgstr "le C++ ISO ne permet pas que « %T::%D » soit défini comme « %T::%D »"
-#: cp/decl.c:7394
+#: cp/decl.c:7379
msgid "duplicate initialization of %D"
msgstr "initialisation en double de %D"
-#: cp/decl.c:7423
+#: cp/decl.c:7408
msgid "declaration of `%#D' outside of class is not definition"
-msgstr "déclaraion de «%#D» en dehors de la classe n'est pas une définition"
+msgstr "déclaraion de « %#D » en dehors de la classe n'est pas une définition"
-#: cp/decl.c:7471
+#: cp/decl.c:7456
msgid "variable `%#D' has initializer but incomplete type"
-msgstr "variable «%#D» a un initialiseur mais un type incomplet"
+msgstr "la variable « %#D » est initialisée, mais a un type incomplet"
-#: cp/decl.c:7479 cp/decl.c:7830
+#: cp/decl.c:7464 cp/decl.c:8006
msgid "elements of array `%#D' have incomplete type"
-msgstr "éléments du tableau « %D » a un type incomplet"
+msgstr "éléments du tableau « %#D » ont un type incomplet"
-#: cp/decl.c:7495
+#: cp/decl.c:7480
msgid "aggregate `%#D' has incomplete type and cannot be defined"
-msgstr "aggrégat «%#D» a un type incomplet et ne peut être défini"
+msgstr "aggrégat « %#D » a un type incomplet et ne peut être défini"
-#: cp/decl.c:7534
+#: cp/decl.c:7519
msgid "`%D' declared as reference but not initialized"
msgstr "« %D » déclaré comme référence mais n'est pas initialisé"
-#: cp/decl.c:7543
+#: cp/decl.c:7528
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
-msgstr "ISO C++ interdit l'usage de liste d'initialiseur pour initialiser la référence « %D »"
+msgstr "le C++ ISO interdit l'usage de liste d'initialiseur pour initialiser la référence « %D »"
-#: cp/decl.c:7576
+#: cp/decl.c:7561
msgid "cannot initialize `%T' from `%T'"
msgstr "ne peut initialiser « %T » à partir de « %T »"
-#: cp/decl.c:7637
+#: cp/decl.c:7595
msgid "initializer fails to determine size of `%D'"
-msgstr "initialiseur a échoué lors de la détermination de la taille de « %D »"
+msgstr "l'initialisation n'a pu déterminer la taille de « %D »"
-#: cp/decl.c:7642
+#: cp/decl.c:7600
msgid "array size missing in `%D'"
-msgstr "taille du tableau manquant dans « %D »"
+msgstr "taille de tableau manquante dans « %D »"
-#: cp/decl.c:7654
+#: cp/decl.c:7612
msgid "zero-size array `%D'"
-msgstr "tableau de taille zéro « %D »"
+msgstr "tableau « %D » de taille zéro"
#. 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:7687
+#: cp/decl.c:7650
msgid "storage size of `%D' isn't known"
msgstr "taille de stockage de « %D » n'est pas connue"
-#: cp/decl.c:7709
+#: cp/decl.c:7672
msgid "storage size of `%D' isn't constant"
msgstr "taille de stockage de « %D » n'est pas une constante"
-#: cp/decl.c:7760
+#: cp/decl.c:7723
msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
msgstr "désolé: sémantique de fonction en ligne de données statiques «%#D» est erronée (vous obtiendrez de multiples copies)"
-#: cp/decl.c:7761
+#: cp/decl.c:7724
msgid " you can work around this by removing the initializer"
-msgstr " vous pouvez contourner cela en enlevant l'initialiseur"
+msgstr " vous pouvez contourner cela en enlevant l'initialisation"
-#: cp/decl.c:7789
+#: cp/decl.c:7752
msgid "uninitialized const `%D'"
msgstr "constante « %D » non initialisée"
-#: cp/decl.c:7824
+#: cp/decl.c:7836
+#, fuzzy
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "classe de base d'initialisation spécifié, mais aucune classe de base à initialiser"
+
+#: cp/decl.c:7900
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr "l'initialisation de « %T » doit être entre acolades"
+
+#: cp/decl.c:7964
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "trop d'initialiseurs pour « %T »"
+
+#: cp/decl.c:8000
msgid "variable-sized object `%D' may not be initialized"
msgstr "objet de taille variable « %D » peut ne pas être initialisé"
-#: cp/decl.c:7835 cp/typeck2.c:201
+#: cp/decl.c:8011
msgid "`%D' has incomplete type"
msgstr "« %D » a un type incomplet"
-#: cp/decl.c:7867
+#: cp/decl.c:8060
msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr "« %D » doit être initialisé par un constructeur, non pas par « {...} »"
-#: cp/decl.c:7897
+#: cp/decl.c:8101
msgid "structure `%D' with uninitialized const members"
msgstr "structure « %D » avec constantes non initialisées de membres"
-#: cp/decl.c:7899
+#: cp/decl.c:8103
msgid "structure `%D' with uninitialized reference members"
msgstr "structure « %D » avec références non initialisées de membres"
-#: cp/decl.c:8166
+#: cp/decl.c:8346
msgid "assignment (not initialization) in declaration"
msgstr "affectation (non pas l'initialisation) dans la déclaration"
-#: cp/decl.c:8178
+#: cp/decl.c:8358
msgid "cannot initialize `%D' to namespace `%D'"
msgstr "ne peut initialiser « %D » à l'espace de noms « %D »"
-#: cp/decl.c:8235
+#: cp/decl.c:8409
msgid "shadowing previous type declaration of `%#D'"
-msgstr "fait ombrage à la déclaration précédente de «%#D»"
+msgstr "masque la déclaration précédente de «%#D»"
+
+#: cp/decl.c:8455
+#, fuzzy
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+msgstr "« %E » ne peut être utilisé comme pointeur de membre, alors qu'il est de type « %T »"
-#: cp/decl.c:8631
+#: cp/decl.c:8470
+#, fuzzy
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
+msgstr "aggrégat « %T » sans mambre nommé ne peut être initialisé"
+
+#: cp/decl.c:8864 cp/init.c:547
msgid "multiple initializations given for `%D'"
msgstr "multiples initialisations données pour « %D »"
-#: cp/decl.c:8731
+#: cp/decl.c:8956
msgid "invalid catch parameter"
msgstr "paramètre d'interception invalide"
-#: cp/decl.c:8849
+#: cp/decl.c:9074
msgid "destructor for alien class `%T' cannot be a member"
msgstr "destructeur pour la classe étrangère « %T » ne peut être un membre"
-#: cp/decl.c:8852
+#: cp/decl.c:9077
msgid "constructor for alien class `%T' cannot be a member"
msgstr "constructeur pour la classe étrangère « %T » ne peut être un membre"
-#: cp/decl.c:8871
+#: cp/decl.c:9096
msgid "`%D' declared as a `virtual' %s"
msgstr "« %D» déclaré comme « virtual » %s"
-#: cp/decl.c:8873
+#: cp/decl.c:9098
msgid "`%D' declared as an `inline' %s"
msgstr "« %D» déclaré comme « inline » %s"
-#: cp/decl.c:8875
+#: cp/decl.c:9100
msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr "spécificateurs de fonction « const» et «volatile» invalide pour «%D » dans la déclaration %s"
-#: cp/decl.c:8878
+#: cp/decl.c:9103
msgid "`%D' declared as a friend"
msgstr "« %D » déclaré comme un ami"
-#: cp/decl.c:8884
+#: cp/decl.c:9109
msgid "`%D' declared with an exception specification"
msgstr "« %D » déclaré avec une exception de spécification"
-#: cp/decl.c:8959
+#: cp/decl.c:9184
msgid "cannot declare `::main' to be a template"
msgstr "ne peut déclarer « ::main » comme étant un patron"
-#: cp/decl.c:8961
+#: cp/decl.c:9186
msgid "cannot declare `::main' to be inline"
msgstr "ne peut déclarer «::main» à être en ligne"
-#: cp/decl.c:8963
+#: cp/decl.c:9188
msgid "cannot declare `::main' to be static"
msgstr "ne peut déclarer « ::main » comme étant static"
-#: cp/decl.c:8966
+#: cp/decl.c:9191
msgid "`main' must return `int'"
msgstr "« main» doit retourner « int »"
-#: cp/decl.c:8994
+#: cp/decl.c:9219
msgid "non-local function `%#D' uses anonymous type"
msgstr "fonction non locale «%#D» utilise un type anonyme"
-#: cp/decl.c:8997
+#: cp/decl.c:9222
msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr "«%#D» ne réfère pas à un type non qualifié, aussi il n'est pas utilisé pour la liaison"
-#: cp/decl.c:9003
+#: cp/decl.c:9228
msgid "non-local function `%#D' uses local type `%T'"
msgstr "fonction non locale «%#D» utilise un type local « %T »"
-#: cp/decl.c:9026
+#: cp/decl.c:9251
msgid "%smember function `%D' cannot have `%T' method qualifier"
-msgstr "%smembre de fonction « %D » ne peut avoir « %T » comme qualificateur de méthode"
+msgstr "%sfonction membre « %D » ne peut avoir « %T » comme qualificateur de méthode"
-#: cp/decl.c:9050
+#: cp/decl.c:9275
msgid "defining explicit specialization `%D' in friend declaration"
msgstr "définition explicite de spécialisation « %D » dans lka déclaration ami"
#. Something like `template <class T> friend void f<T>()'.
-#: cp/decl.c:9060
+#: cp/decl.c:9285
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr "utilisation invalide du template-id « %D » dans la déclaration du patron primaire"
-#: cp/decl.c:9088
+#: cp/decl.c:9313
msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr "arguments par défaut ne sont pas permis dans la déclaration amie de la spécialisation du patron « %D »"
-#: cp/decl.c:9095
+#: cp/decl.c:9320
msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr "« inline» n'estpas permis dans la déclaration amie de la spécialisation du patron «%D »"
-#: cp/decl.c:9157
+#: cp/decl.c:9382
msgid "definition of implicitly-declared `%D'"
msgstr "définition implicitement déclarée « %D »"
-#: cp/decl.c:9169 cp/decl2.c:1367
+#: cp/decl.c:9394 cp/decl2.c:776
msgid "no `%#D' member function declared in class `%T'"
-msgstr "pas de membre de fontion «%#D» déclarée dans la classe « %T »"
+msgstr "pas de fonction membre « %#D » déclarée dans la classe « %T »"
-#: cp/decl.c:9288
+#: cp/decl.c:9527
msgid "non-local variable `%#D' uses local type `%T'"
msgstr "variable non locale «%#D» utilise un type local « %T »"
-#: cp/decl.c:9378
+#: cp/decl.c:9625
msgid "invalid in-class initialization of static data member of non-integral type `%T'"
msgstr "initialisation invalide dans la class de données de membre statiques d'un non entier de type « %T »"
-#: cp/decl.c:9387
+#: cp/decl.c:9634
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
-msgstr "ISO C++ interdit l'initialisation intra-classe d'un membre statique non constant « %D »"
+msgstr "le C++ ISO interdit l'initialisation intra-classe d'un membre statique non constant « %D »"
-#: cp/decl.c:9390
+#: cp/decl.c:9637
msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
-msgstr "ISO C++ interdit l'initialisation d'une membre constant « %D » d'un type non entier « %T »"
+msgstr "le C++ ISO interdit l'initialisation d'une membre constant « %D » d'un type non entier « %T »"
-#: cp/decl.c:9440
+#: cp/decl.c:9687
msgid "size of array `%D' has non-integer type"
msgstr "taille du tableau « %D » n'est pas de type entier"
-#: cp/decl.c:9442
+#: cp/decl.c:9689
msgid "size of array has non-integer type"
msgstr "taille du tableau a type non entier"
-#: cp/decl.c:9462
+#: cp/decl.c:9709
msgid "size of array `%D' is negative"
msgstr "taille du tableau « %D » est négative"
-#: cp/decl.c:9464
+#: cp/decl.c:9711
msgid "size of array is negative"
msgstr "taille du tableau est négative"
-#: cp/decl.c:9473
+#: cp/decl.c:9720
msgid "ISO C++ forbids zero-size array `%D'"
-msgstr "ISO C++ interdit les tableaux de taille zéro « %D »"
+msgstr "le C++ ISO interdit les tableaux de taille zéro « %D »"
-#: cp/decl.c:9475
+#: cp/decl.c:9722
msgid "ISO C++ forbids zero-size array"
-msgstr "ISO C++ interdit les tableaux de taille zéro"
+msgstr "le C++ ISO interdit les tableaux de taille zéro"
-#: cp/decl.c:9482
+#: cp/decl.c:9729
msgid "size of array `%D' is not an integral constant-expression"
msgstr "taille du tableau « %D » n'a pas une expression de constante de type entier"
-#: cp/decl.c:9485
+#: cp/decl.c:9732
msgid "size of array is not an integral constant-expression"
msgstr "taille du tableau n'est pas une expression de constante de type entier"
-#: cp/decl.c:9503
+#: cp/decl.c:9750
msgid "ISO C++ forbids variable-size array `%D'"
-msgstr "ISO C++ interdit les tableaus de taille variable « %D »"
+msgstr "le C++ ISO interdit les tableaus de taille variable « %D »"
-#: cp/decl.c:9506
+#: cp/decl.c:9753
msgid "ISO C++ forbids variable-size array"
-msgstr "ISO C++ interdit le tableau de taille variable"
+msgstr "le C++ ISO interdit le tableau de taille variable"
-#: cp/decl.c:9517
+#: cp/decl.c:9764
msgid "overflow in array dimension"
msgstr "débordement dans les dimensions du tableau"
-#: cp/decl.c:9576
+#: cp/decl.c:9823
msgid "declaration of `%D' as %s"
msgstr "déclaration de « %D » comme « %s »"
-#: cp/decl.c:9578
+#: cp/decl.c:9825
#, c-format
msgid "creating %s"
msgstr "création de %s"
-#: cp/decl.c:9590
+#: cp/decl.c:9837
msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr "déclaration de « %D » comme tableau multidimensionel doit avoir des bornes pour chaque dimension excepté pour la première"
-#: cp/decl.c:9593
+#: cp/decl.c:9840
msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr "tableau multidimensionel doit avoir des bornes pour chaque dimension excepté pour la première"
-#: cp/decl.c:9622
+#: cp/decl.c:9869
msgid "return type specification for constructor invalid"
msgstr "spécification de type retourné pour un constructeur est invalide"
-#: cp/decl.c:9629
+#: cp/decl.c:9876
msgid "return type specification for destructor invalid"
msgstr "spécification de type retourné pour un destructeur est invalide"
-#: cp/decl.c:9635
+#: cp/decl.c:9882
msgid "operator `%T' declared to return `%T'"
msgstr "opérateur « %T » déclaré comme retournant « %T »"
-#: cp/decl.c:9637
+#: cp/decl.c:9884
msgid "return type specified for `operator %T'"
msgstr "type spécifié retourné pour l'opérateur « %T »"
-#: cp/decl.c:9805
+#: cp/decl.c:10052
msgid "destructors must be member functions"
-msgstr "destructeur doit être membres de la fonction"
+msgstr "les destructeurs doivent être des fonctions membres"
-#: cp/decl.c:9824
+#: cp/decl.c:10071
msgid "destructor `%T' must match class name `%T'"
msgstr "destructeur « %T » doit concorder avec le nom de la classe « %T »"
-#: cp/decl.c:9874
+#: cp/decl.c:10100
+#, fuzzy
+msgid "variable declaration is not allowed here"
+msgstr "initialisation n'est pas permise dans un module SPEC"
+
+#: cp/decl.c:10127
msgid "invalid declarator"
msgstr "déclarateur invalide"
-#: cp/decl.c:9927
+#: cp/decl.c:10178
msgid "declarator-id missing; using reserved word `%D'"
msgstr "declarator-id manquant; utilisation du mot réservé « %D »"
-#: cp/decl.c:9984
+#: cp/decl.c:10235
msgid "type `%T' is not derived from type `%T'"
msgstr "type « %T » n'est pas dérivé du type « %T »"
#. Parse error puts this typespec where
#. a declarator should go.
-#: cp/decl.c:10030
+#: cp/decl.c:10279
msgid "`%T' specified as declarator-id"
msgstr "« %T » spécifié comme declarator-id"
-#: cp/decl.c:10032
+#: cp/decl.c:10281
msgid " perhaps you want `%T' for a constructor"
msgstr " peut-être que vous voulez « %T » comme constructeur"
-#: cp/decl.c:10046
-msgid "`%D' as declarator"
-msgstr "« %D » comme déclarateur"
+#. 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
+#, fuzzy, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "utilisation invalide du template-id « %D » dans la déclaration du patron primaire"
-#: cp/decl.c:10061
+#: cp/decl.c:10323
msgid "declaration of `%D' as non-function"
msgstr "déclaration de « %D » comme non-fonction"
-#: cp/decl.c:10138
+#: cp/decl.c:10400
msgid "`bool' is now a keyword"
msgstr "« bool » est maintenant un mot clé"
-#: cp/decl.c:10140
+#: cp/decl.c:10402
msgid "extraneous `%T' ignored"
msgstr "« %T » surperflu ignoré"
-#: cp/decl.c:10156 cp/decl.c:10189
+#: cp/decl.c:10418 cp/decl.c:10463
msgid "multiple declarations `%T' and `%T'"
msgstr "multiples déclarations « %T » et « %T »"
-#: cp/decl.c:10169
+#: cp/decl.c:10431
msgid "ISO C++ does not support `long long'"
-msgstr "ISO C++ ne supporte pas « long long »"
+msgstr "le C++ ISO ne permet pas « long long »"
-#: cp/decl.c:10262 cp/decl.c:10265
+#: cp/decl.c:10536 cp/decl.c:10539
#, c-format
msgid "ISO C++ forbids declaration of `%s' with no type"
-msgstr "ISO C++ interdit la déclaration de « %s » sans type"
+msgstr "le C++ ISO interdit la déclaration de « %s » sans type"
#. The implicit typename extension is deprecated and will be
#. removed. Warn about its use now.
-#: cp/decl.c:10275
+#: cp/decl.c:10549
msgid "`%T' is implicitly a typename"
msgstr "« %T » est implicitement un typename"
-#: cp/decl.c:10311
+#: cp/decl.c:10585
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr "short, signed ou unsigned est invalide pour « %s »"
-#: cp/decl.c:10316
+#: cp/decl.c:10590
#, c-format
msgid "long and short specified together for `%s'"
msgstr "long et short spécifiés ensembles pour « %s »"
-#: cp/decl.c:10327
+#: cp/decl.c:10601
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr "signed et unsigned donnés ensembles pour « %s »"
-#: cp/decl.c:10436
+#: cp/decl.c:10710
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T »"
-#: cp/decl.c:10458
+#: cp/decl.c:10732
msgid "member `%D' cannot be declared both virtual and static"
msgstr "membre « %D » ne peut être déclaré virtuel et statique"
-#: cp/decl.c:10467
+#: cp/decl.c:10741
msgid "`%T::%D' is not a valid declarator"
msgstr "«%T::%D» n'est pas un déclarateur valide"
-#: cp/decl.c:10478
+#: cp/decl.c:10753
msgid "storage class specifiers invalid in parameter declarations"
msgstr "spécificateurs de classe de stockage invalides dans la déclaration des paramètres"
-#: cp/decl.c:10482
+#: cp/decl.c:10757
msgid "typedef declaration invalid in parameter declaration"
msgstr "déclaration typedef invalide dans le paramètre de la déclaration"
-#: cp/decl.c:10495
+#: cp/decl.c:10770
msgid "virtual outside class declaration"
msgstr "virtuel en dehors de la déclaration de classe"
-#: cp/decl.c:10549
+#: cp/decl.c:10831
#, c-format
msgid "storage class specified for %s `%s'"
msgstr "classe de stockage spécifiée pour %s « %s »"
-#: cp/decl.c:10587
+#: cp/decl.c:10878
msgid "storage class specifiers invalid in friend function declarations"
msgstr "spécificateurs de classe de stockage invalide dans les déclarations de fonction amie"
-#: cp/decl.c:10691
-msgid "size of member `%D' is not constant"
-msgstr "taille du membre « %D » n'est pas constant"
-
-#: cp/decl.c:10770
+#: cp/decl.c:11048
msgid "destructor cannot be static member function"
-msgstr "destructeur ne peut être un membre statique d'une fonction"
+msgstr "le destructeur ne peut être une fonction membre statique"
-#: cp/decl.c:10773
+#: cp/decl.c:11051
#, c-format
msgid "destructors may not be `%s'"
msgstr "destructeurs ne peut être « %s »"
-#: cp/decl.c:10794
+#: cp/decl.c:11072
msgid "constructor cannot be static member function"
-msgstr "constructeur ne peut être un membre statique d'une fonction"
+msgstr "le constructeur ne peut être une fonction membre statique"
-#: cp/decl.c:10797
+#: cp/decl.c:11075
msgid "constructors cannot be declared virtual"
msgstr "constructeurs ne peut être déclarés virtuels"
-#: cp/decl.c:10802
+#: cp/decl.c:11080
#, c-format
msgid "constructors may not be `%s'"
msgstr "constructeurs ne peuvent pas être « %s »"
-#: cp/decl.c:10812
+#: cp/decl.c:11090
msgid "return value type specifier for constructor ignored"
msgstr "type de valeur retournée d'un spécificateur pour un constructeur est ignoré"
-#: cp/decl.c:10831
+#: cp/decl.c:11109
#, c-format
msgid "can't initialize friend function `%s'"
msgstr "ne peut initialiser la fonction amie « %s »"
#. Cannot be both friend and virtual.
-#: cp/decl.c:10835
+#: cp/decl.c:11113
msgid "virtual functions cannot be friends"
msgstr "fonctions virtuelles ne peuvent être amies"
-#: cp/decl.c:10840
+#: cp/decl.c:11118
msgid "friend declaration not in class definition"
msgstr "déclaration amie n'est pas dans la définition de classe"
-#: cp/decl.c:10842
+#: cp/decl.c:11120
#, c-format
msgid "can't define friend function `%s' in a local class definition"
msgstr "ne peut définir une fonction amie « %s » dans une définition locale de classe"
-#: cp/decl.c:10866
+#: cp/decl.c:11144
msgid "destructors may not have parameters"
msgstr "destructeurs ne peuvent pas avoir de paramètre"
-#: cp/decl.c:10896
-#, c-format
-msgid "cannot declare %s to references"
-msgstr "ne peut déclarer %s comme références"
+#: cp/decl.c:11175 cp/decl.c:11182
+#, fuzzy
+msgid "cannot declare reference to `%#T'"
+msgstr "ne peut décalrer des références vers des références"
-#: cp/decl.c:10907
-msgid "cannot declare pointer to `%#T' member"
+#: cp/decl.c:11176
+#, fuzzy
+msgid "cannot declare pointer to `%#T'"
msgstr "ne peut déclarer un pointeur vers le membre «%#T»"
-#: cp/decl.c:10922
-msgid "invalid type: `void &'"
-msgstr "type invalide: « void & »"
+#: cp/decl.c:11181
+msgid "cannot declare pointer to `%#T' member"
+msgstr "ne peut déclarer un pointeur vers le membre «%#T»"
-#: cp/decl.c:11084
+#: cp/decl.c:11357
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr "qualification additionnelle «%T::» sur le membre « %s » est ignorée"
-#: cp/decl.c:11094
+#: cp/decl.c:11367
msgid "cannot declare member function `%T::%s' within `%T'"
-msgstr "ne peut déclarer le membre de fonction «%T::%s» à l'intérieur de « %T »"
+msgstr "ne peut déclarer la fonction membre «%T::%s» à l'intérieur de « %T »"
-#: cp/decl.c:11109
+#: cp/decl.c:11382
msgid "cannot declare member `%T::%s' within `%T'"
msgstr "ne peut déclarer le membre «%T::%s» à l'intérieur de « %T »"
+#: 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:11189
+#: cp/decl.c:11468
msgid "only declarations of constructors can be `explicit'"
msgstr "seuls les déclarations de constructeurs peuvent être « explicit »"
-#: cp/decl.c:11197
+#: cp/decl.c:11476
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr "le non membre « %s » ne peut être déclaré « mutable »"
-#: cp/decl.c:11202
+#: cp/decl.c:11481
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr "un membre non objet « %s » ne peut être déclaré « mutable »"
-#: cp/decl.c:11208
+#: cp/decl.c:11487
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr "fonction « %s » ne peut être déclarée « mutable »"
-#: cp/decl.c:11213
+#: cp/decl.c:11492
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr "static « %s » ne peut être déclaré « mutable »"
-#: cp/decl.c:11218
+#: cp/decl.c:11497
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr "const « %s » ne peut être déclaré « mutable »"
-#: cp/decl.c:11231
+#: cp/decl.c:11510
msgid "template-id `%D' used as a declarator"
msgstr "identificateur de patron « %D » utilisé comme déclarateur"
-#: cp/decl.c:11252
+#: cp/decl.c:11531
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
-msgstr "ISO C++ interdit le type imbriqué « %D » avec le même nom que la classe de fermeture"
+msgstr "le C++ ISO interdit le type imbriqué « %D » avec le même nom que la classe de fermeture"
-#: cp/decl.c:11299
+#: cp/decl.c:11580
msgid "typedef name may not be class-qualified"
msgstr "nom du typedef peut ne pas être qualifié pour la classe"
-#: cp/decl.c:11307
+#: cp/decl.c:11588
msgid "invalid type qualifier for non-member function type"
-msgstr "qualificateur de type invalide pour un type de fonction non membre"
+msgstr "qualificateur de type invalide pour un type de fonction (autre que fonction membre)"
-#: cp/decl.c:11323
-msgid "typedef declaration includes an initializer"
-msgstr "déclaration typedef inclut un initialiseur"
-
-#: cp/decl.c:11373
+#: cp/decl.c:11651
msgid "type qualifiers specified for friend class declaration"
msgstr "qulificateurs de types spécifiés pour la déclaration d'une classe amie"
-#: cp/decl.c:11378
+#: cp/decl.c:11656
msgid "`inline' specified for friend class declaration"
msgstr "« inline » spécifié pour la déclaration d'une classe amie"
-#: cp/decl.c:11388
+#: cp/decl.c:11664
msgid "template parameters cannot be friends"
msgstr "paramètres du patron ne peuvent pas être amis"
-#: cp/decl.c:11390
-msgid "friend declaration requires class-key, i.e. `friend class %T::%T'"
+#: cp/decl.c:11666
+#, fuzzy
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
msgstr "déclaration ami requiert une clé de classe, i.e. « friend class %T::%T'"
-#: cp/decl.c:11395
+#: cp/decl.c:11670
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr "déclaration amie requiert une clé de classes, i.e. « friend %#T'"
-#: cp/decl.c:11409
+#: cp/decl.c:11684
msgid "trying to make class `%T' a friend of global scope"
msgstr "tentative de rendre la classe « %T » un ami de la portée globale"
-#: cp/decl.c:11420
+#: cp/decl.c:11695
msgid "invalid qualifiers on non-member function type"
-msgstr "qualificteurs invalide pour un type de fonction non membre"
+msgstr "qualificteurs invalide pour un type de fonction (autre que fonction membre)"
-#: cp/decl.c:11439
+#: cp/decl.c:11714
msgid "abstract declarator `%T' used as declaration"
msgstr "déclaration abstrait « %T » utilisé dans la déclaration"
-#: cp/decl.c:11451
+#: cp/decl.c:11726
msgid "unnamed variable or field declared void"
msgstr "variable non nommée ou champ déclaré void"
-#: cp/decl.c:11460
+#: cp/decl.c:11735
msgid "variable or field declared void"
msgstr "variable ou champ déclaré void"
-#: cp/decl.c:11470
+#: cp/decl.c:11745
msgid "cannot use `::' in parameter declaration"
msgstr "ne peut utiliser «::» dans le paramètre d'un déclaration"
#. Something like struct S { int N::j; };
-#: cp/decl.c:11516
+#: cp/decl.c:11784
msgid "invalid use of `::'"
msgstr "utilisation invalide de « :: »"
-#: cp/decl.c:11528
+#: cp/decl.c:11796
msgid "function `%D' cannot be declared friend"
msgstr "fonction « %D » ne peut être déclarée amie"
-#: cp/decl.c:11540
+#: cp/decl.c:11808
msgid "can't make `%D' into a method -- not in a class"
msgstr "ne peut rendre « %D » dans la méthode -- n'est pas dans la classe"
-#: cp/decl.c:11549
+#: cp/decl.c:11817
msgid "function `%D' declared virtual inside a union"
msgstr "fonction « %D » déclaré comme virtuelle à l'intérieur d'un agrégat"
-#: cp/decl.c:11561
+#: cp/decl.c:11829
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr "« %D » ne peut être déclaré virtuel, alors qu'il est toujours statique"
-#: cp/decl.c:11634
+#: cp/decl.c:11902
msgid "field `%D' has incomplete type"
msgstr "champ « %D » a un type incomplet"
-#: cp/decl.c:11636
+#: cp/decl.c:11904
msgid "name `%T' has incomplete type"
msgstr "nom « %T » a un type incomplet"
-#: cp/decl.c:11645
+#: cp/decl.c:11913
msgid " in instantiation of template `%T'"
msgstr " dans l'instanciation du patron « %T »"
-#: cp/decl.c:11655
+#: cp/decl.c:11923
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
-msgstr "« %s » n'est ni une fonction ni le membre d'une fonction; ne peut être déclaré ami"
+msgstr "« %s » n'est ni une fonction ni une fonction membre ; ne peut être déclaré ami"
-#: cp/decl.c:11666
+#: cp/decl.c:11934
msgid "member functions are implicitly friends of their class"
-msgstr "membres de fonctions sont implicitement amis de leur classe"
+msgstr "les fonctions membres sont implicitement amis de leur classe"
#. An attempt is being made to initialize a non-static
#. member. But, from [class.mem]:
@@ -14637,94 +15455,99 @@ msgstr "membres de fonctions sont implicitement amis de leur classe"
#. 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:11713
+#: cp/decl.c:11981
msgid "ISO C++ forbids initialization of member `%D'"
-msgstr "ISO C++ interdit l'initialisation d'un membre « %D »"
+msgstr "le C++ ISO interdit l'initialisation du membre « %D »"
-#: cp/decl.c:11715
+#: cp/decl.c:11983
msgid "making `%D' static"
msgstr "rendant « %D » statique"
-#: cp/decl.c:11739
+#: cp/decl.c:12007
msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
-msgstr "ISO C++ interdit les données de mmebres statiques « %D » avec le même nom comme classe de fermeture"
+msgstr "le C++ ISO interdit les données de membres statiques « %D » avec le même nom comme classe de fermeture"
-#: cp/decl.c:11780
+#: cp/decl.c:12048
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr "classe de stockage « auto» invalide pour une fonction « %s »"
-#: cp/decl.c:11782
+#: cp/decl.c:12050
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr "classe de stockage « register» invalide pour une fonction « %s »"
-#: cp/decl.c:11793
+#: cp/decl.c:12052
+#, fuzzy, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "classe de stockage « auto» invalide pour une fonction « %s »"
+
+#: cp/decl.c:12063
#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr "classe de stockage « static» invalide pour une fonction « %s » déclarée en dehors de la portée globale"
-#: cp/decl.c:11795
+#: cp/decl.c:12065
#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr "classe de stockage « inline» invalide pour une fonction « %s » déclarée en dehors de la portée globale"
-#: cp/decl.c:11802
+#: cp/decl.c:12072
#, c-format
msgid "virtual non-class function `%s'"
msgstr "fonction virtuelle d'une non classe « %s »"
-#: cp/decl.c:11831
+#: cp/decl.c:12101
msgid "cannot declare member function `%D' to have static linkage"
msgstr "ne peut déclarer la fonction membre « %D » comme ayant un lien statique"
#. FIXME need arm citation
-#: cp/decl.c:11837
+#: cp/decl.c:12107
msgid "cannot declare static function inside another function"
msgstr "ne peut déclarer une fonction statique à l'intérieur d'une autre fonction"
-#: cp/decl.c:11865
+#: cp/decl.c:12135
msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr "« static » ne peut pas être utilisé lors de la définition (contrairement à la déclaration) de données de membres statiques"
-#: cp/decl.c:11871
+#: cp/decl.c:12141
msgid "static member `%D' declared `register'"
msgstr "mambre statique « %D» déclaré «register »"
-#: cp/decl.c:11876
+#: cp/decl.c:12146
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr "ne peut explicitement déclarer le membre «%#D» comme ayant une liaison externe"
-#: cp/decl.c:12048
+#: cp/decl.c:12318
msgid "default argument for `%#D' has type `%T'"
msgstr "argument par défaut pour «%#D» à un type « %T »"
-#: cp/decl.c:12051
+#: cp/decl.c:12321
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr "argument par défaut pour le paramètre de type « %T » a le type « %T »"
-#: cp/decl.c:12068
+#: cp/decl.c:12338
msgid "default argument `%E' uses local variable `%D'"
msgstr "argument par défaut « %E » utiliser une variable locale « %D »"
-#: cp/decl.c:12113
+#: cp/decl.c:12383
#, c-format
msgid "invalid string constant `%E'"
msgstr "constante chaîne invalide « %E »"
-#: cp/decl.c:12115
+#: cp/decl.c:12385
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr "constante entière invalide dans la liste de paramètre, avez-vous oublier de donner un nom de paramètre?"
-#: cp/decl.c:12153
+#: cp/decl.c:12423
msgid "parameter `%D' invalidly declared method type"
msgstr "paramètre « %D » incorrectement validé comme type de méthode"
-#: cp/decl.c:12159
+#: cp/decl.c:12429
msgid "parameter `%D' invalidly declared offset type"
msgstr "paramètre « %D » incorrectement validé comme type de décalage"
-#: cp/decl.c:12183
+#: cp/decl.c:12453
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr "paramètre « %D » inclut %s au tableau de bornes inconnues « %T »"
@@ -14743,554 +15566,544 @@ msgstr "paramètre « %D » inclut %s au tableau de bornes inconnues « %T »"
#. 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:12350
+#: cp/decl.c:12615
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr "constructeur invalide; vous vouliez probablement dire «%T (const %T&)»"
-#: cp/decl.c:12501
+#: cp/decl.c:12766
msgid "`%D' must be a nonstatic member function"
msgstr "« %D » doit être une fonction membre non statique"
-#: cp/decl.c:12507
+#: cp/decl.c:12772
msgid "`%D' must be either a non-static member function or a non-member function"
msgstr "« %D » doit être soit un membre non statique de fonction ou une fonction non membre"
-#: cp/decl.c:12524
+#: cp/decl.c:12789
msgid "`%D' must have an argument of class or enumerated type"
msgstr "« %D » doit avoir un argument de classe ou de type énuméré"
-#: cp/decl.c:12556
+#: cp/decl.c:12821
#, c-format
msgid "conversion to %s%s will never use a type conversion operator"
msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
#. 13.4.0.3
-#: cp/decl.c:12563
+#: cp/decl.c:12828
msgid "ISO C++ prohibits overloading operator ?:"
-msgstr "ISO C++ interdit la surcharge d'opérateur ?:"
+msgstr "le C++ ISO interdit la surcharge de l'opérateur ?:"
-#: cp/decl.c:12613
+#: cp/decl.c:12878
msgid "postfix `%D' must take `int' as its argument"
msgstr "postfixe « %D» doit prendre « int » comme argument"
-#: cp/decl.c:12617
+#: cp/decl.c:12882
msgid "postfix `%D' must take `int' as its second argument"
msgstr "postfixe « %D» doit prndre « int » pour son second argument"
-#: cp/decl.c:12624
+#: cp/decl.c:12889
msgid "`%D' must take either zero or one argument"
msgstr "« %D » doit prendre seulement zéro ou un autre argument"
-#: cp/decl.c:12626
+#: cp/decl.c:12891
msgid "`%D' must take either one or two arguments"
msgstr "« %D » doit prendre seulement un OU deux arguments"
-#: cp/decl.c:12647
+#: cp/decl.c:12912
msgid "prefix `%D' should return `%T'"
msgstr "préfixe « %D » devrait retourner « %T »"
-#: cp/decl.c:12653
+#: cp/decl.c:12918
msgid "postfix `%D' should return `%T'"
msgstr "postfixe « %D » devrait retourner « %T »"
-#: cp/decl.c:12662
+#: cp/decl.c:12927
msgid "`%D' must take `void'"
msgstr "« %D» doit prendre « void »"
-#: cp/decl.c:12664 cp/decl.c:12672
+#: cp/decl.c:12929 cp/decl.c:12937
msgid "`%D' must take exactly one argument"
msgstr "« %D » doit prendre exactement un argument"
-#: cp/decl.c:12674
+#: cp/decl.c:12939
msgid "`%D' must take exactly two arguments"
msgstr "« %D » doit prendre exactemenr deux arguments"
-#: cp/decl.c:12682
+#: cp/decl.c:12947
msgid "user-defined `%D' always evaluates both arguments"
msgstr "« %D » défini par l'usager évalue toujours les 2 arguments"
-#: cp/decl.c:12694
+#: cp/decl.c:12961
msgid "`%D' should return by value"
msgstr "« %D » devrait retourner par valeur"
-#: cp/decl.c:12706 cp/decl.c:12709
+#: cp/decl.c:12973 cp/decl.c:12976
msgid "`%D' cannot have default arguments"
msgstr "« %D » ne peut avoir d'arguments par défaut"
-#: cp/decl.c:12800
+#: cp/decl.c:13052
msgid "`%s %T' declares a new type at namespace scope"
-msgstr "«%s %R» déclare un nouveau type dans l'étendue de l'espace de noms"
+msgstr "« %s %T » déclare un nouveau type dans l'étendue de l'espace de noms"
-#: cp/decl.c:12803
+#: 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 " noms des classes de base dépendantes ne sont pas visibles à la recherche de nom non qualifié - pour référer à type par héritage, disons «%s %T::%T»"
-#: cp/decl.c:12841
+#: cp/decl.c:13093
msgid "using typedef-name `%D' after `%s'"
msgstr "utilisation d'un nom de typedef « %D » après « %s »"
-#: cp/decl.c:12846
+#: cp/decl.c:13098
msgid "using template type parameter `%T' after `%s'"
msgstr "utilisation de type de patron de paramètre « %T » après « %s »"
-#: cp/decl.c:12926
+#: cp/decl.c:13178
msgid "use of enum `%#D' without previous declaration"
msgstr "utilisation de enum «%#D» sans déclaration précédente"
-#: cp/decl.c:13024
+#: cp/decl.c:13264
msgid "derived union `%T' invalid"
msgstr "union dérivée « %T » invalide"
-#: cp/decl.c:13068
+#: cp/decl.c:13310
msgid "base type `%T' fails to be a struct or class type"
msgstr "type de base « %T » a échoué pour devenir un type de classe ou un type construit"
-#: cp/decl.c:13078
+#: cp/decl.c:13320
msgid "base class `%T' has incomplete type"
msgstr "classe de base « %T » a un type incomplet"
-#: cp/decl.c:13086
+#: cp/decl.c:13328
msgid "recursive type `%T' undefined"
msgstr "type récursif « %T » non défini"
-#: cp/decl.c:13088
+#: cp/decl.c:13330
msgid "duplicate base type `%T' invalid"
msgstr "duplication du type de base « %T » invalide"
-#: cp/decl.c:13199
+#: cp/decl.c:13441
msgid "multiple definition of `%#T'"
msgstr "définition multiple de «%#T»"
-#: cp/decl.c:13200
+#: cp/decl.c:13442
msgid "previous definition here"
msgstr "définition précédente ici"
-#: cp/decl.c:13371
+#: cp/decl.c:13610
msgid "enumerator value for `%D' not integer constant"
msgstr "valeur de l'énumérateur pour « %D » n'est pas une constante entière"
-#: cp/decl.c:13391
+#: cp/decl.c:13630
msgid "overflow in enumeration values at `%D'"
msgstr "débordement dans les valeurs de l'énumération à « %D »"
-#: cp/decl.c:13477
+#: cp/decl.c:13716
msgid "return type `%#T' is incomplete"
msgstr "type retourné «%#T» est incomplet"
-#: cp/decl.c:13593
+#: cp/decl.c:13830
msgid "semicolon missing after declaration of `%#T'"
msgstr "point-virgule manquant après la déclaration %#T"
-#: cp/decl.c:13614
+#: cp/decl.c:13851
msgid "return type for `main' changed to `int'"
msgstr "type retourné pour « main » est changé pour «int »"
-#: cp/decl.c:13645
+#: cp/decl.c:13882
msgid "`%D' implicitly declared before its definition"
msgstr "« %D » implicitement déclaré avant sa définition"
-#: cp/decl.c:13667 cp/typeck.c:6530
+#: cp/decl.c:13904 cp/typeck.c:6229
msgid "`operator=' should return a reference to `*this'"
msgstr "« operator= » devrait retourner une référence à «*ceci »"
-#: cp/decl.c:13931
+#: cp/decl.c:14164
msgid "parameter `%D' declared void"
msgstr "paramètre « %D » déclaré «void »"
-#: cp/decl.c:14408
+#: cp/decl.c:14628
msgid "`%D' is already defined in class `%T'"
msgstr "« %D » est déjà défini dans la classe « %T »"
-#: cp/decl.c:14625
+#: cp/decl.c:14845
msgid "static member function `%#D' declared with type qualifiers"
msgstr "membre de fonction statique «%#D» déclaré avec des qualificateurs de tyep"
-#: cp/decl2.c:529
-#, c-format
-msgid "-f%s is no longer supported"
-msgstr "-f%s n'est plus supportée"
-
-#: cp/decl2.c:535
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr "-fhandle-exceptions a été renommé -fexceptions (et est utilisé par défaut maintenant)"
-
-#: cp/decl2.c:561
-msgid "-fname-mangling-version is no longer supported"
-msgstr "-fname-mangling-version n'est plus supportée"
-
-#: cp/decl2.c:624
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "-Wno-strict-prototypes n'est pas supportée en C++"
-
-#: cp/decl2.c:761
+#: cp/decl2.c:154
#, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr "qualificateurs de types dupliqués dans déclaration %s"
-#: cp/decl2.c:800
+#: cp/decl2.c:193
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr "patron «%#D» instancié dans le fichier sans interface #pragma"
-#: cp/decl2.c:806
+#: cp/decl2.c:199
msgid "template `%#D' defined in file without #pragma interface"
msgstr "patron «%#D» défini dans le fichier sans interface #pragma"
-#: cp/decl2.c:963
+#: cp/decl2.c:366
msgid "name missing for member function"
msgstr "nom manquant pour le membre d'une fonction"
#. Something has gone very wrong. Assume we are mistakenly reducing
#. an expression instead of a declaration.
-#: cp/decl2.c:1026
+#: cp/decl2.c:429
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr "analyseur syntaxique est perdu: y-a-t-il un «{» manquant quelque part?"
-#: cp/decl2.c:1057 cp/decl2.c:1071
+#: cp/decl2.c:460 cp/decl2.c:474
msgid "ambiguous conversion for array subscript"
msgstr "comversion ambigue pour un sous-tableau"
-#: cp/decl2.c:1065
+#: cp/decl2.c:468
msgid "invalid types `%T[%T]' for array subscript"
msgstr "types invalides «%T[%T]» pour un sous-script de tableau"
-#: cp/decl2.c:1113
+#: cp/decl2.c:516
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr "type « %#T» de l'argument donné pour « delete », attendait un pointeur"
-#: cp/decl2.c:1121
+#: cp/decl2.c:524
msgid "anachronistic use of array size in vector delete"
msgstr "utilisation anachronique de la taille d'un tableau dans un vecteur delete"
-#: cp/decl2.c:1131
+#: cp/decl2.c:534
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
msgstr "ne peut détruire une fonction. Seuls les pointeurs-d'objets sont des arguments valable pour destruction"
-#: cp/decl2.c:1138
+#: cp/decl2.c:541
msgid "deleting `%T' is undefined"
msgstr "destruction de « %T » est indéfinie"
-#: cp/decl2.c:1146
+#: cp/decl2.c:549
msgid "deleting array `%#D'"
msgstr "destruction du tableau «%#D'"
#. 14.5.2.2 [temp.mem]
#.
#. A local class shall not have member templates.
-#: cp/decl2.c:1180
+#: cp/decl2.c:583
msgid "invalid declaration of member template `%#D' in local class"
msgstr "déclaration invalide du patron de membre «%#D» dans la classe locale"
-#: cp/decl2.c:1189
+#: cp/decl2.c:592
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr "utilisation invalide de « virtual» dans la déclaration d'un patron de «%#D »"
-#: cp/decl2.c:1199 cp/pt.c:2562
+#: cp/decl2.c:602 cp/pt.c:2586
msgid "template declaration of `%#D'"
msgstr "déclaration du patron de «%#D»"
-#: cp/decl2.c:1249
+#: cp/decl2.c:652
msgid "Java method '%D' has non-Java return type `%T'"
msgstr "méthode Java « %D » a un type non Java retourné « %T »"
-#: cp/decl2.c:1258
+#: cp/decl2.c:661
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr "méthode Java « %D » a un paramètre non Java de type « %T »"
-#: cp/decl2.c:1354
+#: cp/decl2.c:737
msgid "prototype for `%#D' does not match any in class `%T'"
msgstr "prototype pour «%#D» ne concorde avec aucun dans la classe « %T »"
-#: cp/decl2.c:1356
-msgid "candidate%s: %+#D"
-msgstr "candidat%s: %+#D"
-
-#: cp/decl2.c:1359
-msgid " %#D"
-msgstr " %#D"
-
-#: cp/decl2.c:1411
+#: cp/decl2.c:819
msgid "local class `%#T' shall not have static data member `%#D'"
msgstr "la classe locale «%#T» ne doit pas être un membre de données statiques de «%#D»"
-#: cp/decl2.c:1419
+#: cp/decl2.c:827
msgid "initializer invalid for static member with constructor"
-msgstr "initialiseur invalide pour un membre statique avec constructeur"
+msgstr "initialisation invalide pour un membre statique avec constructeur"
-#: cp/decl2.c:1422
+#: cp/decl2.c:830
msgid "(an out of class initialization is required)"
msgstr "(une initialisation en dehors de la classe est requise)"
-#: cp/decl2.c:1481
+#: cp/decl2.c:889
msgid "invalid data member initialization"
msgstr "initialisation de données membres invalide"
-#: cp/decl2.c:1484
+#: cp/decl2.c:892
msgid "(use `=' to initialize static data members)"
msgstr "(utiliser «=» pour initialiser les données de membres)"
-#: cp/decl2.c:1524
+#: cp/decl2.c:938
msgid "member `%D' conflicts with virtual function table field name"
msgstr "membre « %D » en conflit avec un nom de champ de table d'une fonction virtuelle"
-#: cp/decl2.c:1544
+#: cp/decl2.c:958
msgid "`%D' is already defined in `%T'"
msgstr "« %D » est déjà défini dans « %T »"
-#: cp/decl2.c:1595
+#: cp/decl2.c:1010
msgid "field initializer is not constant"
-msgstr "initialiseuur du champ n'est pas une constante"
+msgstr "l'initialisation du champ n'est pas une constante"
-#: cp/decl2.c:1618
+#: cp/decl2.c:1034
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr "spécificateurs « asm » ne sont pas permis pour des données de membres non statiques"
-#: cp/decl2.c:1670
+#: cp/decl2.c:1086
msgid "cannot declare `%D' to be a bit-field type"
msgstr "ne peut déclarer « %D » comme étant un type de champ de bits"
-#: cp/decl2.c:1680
+#: cp/decl2.c:1096
msgid "cannot declare bit-field `%D' with function type"
msgstr "ne peut déclarer un champ de bits « %D » avec un type de fonction"
-#: cp/decl2.c:1687
+#: cp/decl2.c:1103
msgid "`%D' is already defined in the class %T"
msgstr "« %D » est déjà défini dans la classe %T"
-#: cp/decl2.c:1694
+#: cp/decl2.c:1110
msgid "static member `%D' cannot be a bit-field"
msgstr "membre statique « %D » ne peut être un champ de bits"
-#: cp/decl2.c:1763
+#: cp/decl2.c:1197
msgid "initializer specified for non-member function `%D'"
-msgstr "initialiseur spécifié pour une fonction non membre «%#D»"
+msgstr "initialisation spécifiée pour une fonction « %D » n'étant pas membre"
-#: cp/decl2.c:1767
+#: cp/decl2.c:1201
msgid "invalid initializer for virtual method `%D'"
-msgstr "initialiseur invalide pour une méthode virtuelle «%#D»"
+msgstr "initialisation invalide pour la méthode virtuelle « %D »"
-#: cp/decl2.c:1871
+#: cp/decl2.c:1315
msgid "anonymous struct not inside named type"
msgstr "struct anonyme n'est pas l'intérieur du type nommé"
-#: cp/decl2.c:1967
+#: cp/decl2.c:1411
msgid "namespace-scope anonymous aggregates must be static"
msgstr "aggrégats anonymes de champs d'espace nom doit être statique"
-#: cp/decl2.c:1977
+#: cp/decl2.c:1424
msgid "anonymous aggregate with no members"
msgstr "aggrégat anonyme sans aucun membre"
-#: cp/decl2.c:2044
+#: cp/decl2.c:1493
msgid "`operator new' must return type `%T'"
msgstr "« operator new » doit retourner un type «%T »"
-#: cp/decl2.c:2052
+#: cp/decl2.c:1501
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr "« operator new » prend le type « size_t » (« %T ») comme premier paramètre"
-#: cp/decl2.c:2079
+#: cp/decl2.c:1528
msgid "`operator delete' must return type `%T'"
msgstr "« operator delete » doit retourner le type « %T »"
-#: cp/decl2.c:2087
+#: cp/decl2.c:1536
msgid "`operator delete' takes type `%T' as first parameter"
msgstr "« operator delete » prend le type «%T » comme premier paramètre"
#. Overflow occurred. That means there are at least 4 billion
#. initialization functions.
-#: cp/decl2.c:2828
+#: cp/decl2.c:2290
msgid "too many initialization functions required"
msgstr "trop d'initialisations de fonctions requises"
-#: cp/decl2.c:3639
+#: cp/decl2.c:2966
+#, fuzzy
+msgid "inline function `%D' used but never defined"
+msgstr "« %s » utilisé mais n'a jamais été défini"
+
+#: cp/decl2.c:3086
msgid "use of old-style cast"
msgstr "utilisation d'un vieux style de transtypage (cast)"
-#: cp/decl2.c:4220
+#: cp/decl2.c:3794
msgid "use of `%D' is ambiguous"
-msgstr "utilisation de « %T » est ambiguë"
+msgstr "utilisation de « %D » est ambiguë"
-#: cp/decl2.c:4221
+#: cp/decl2.c:3795
msgid " first declared as `%#D' here"
msgstr " d'abord déclaré comme «%#D» ici"
-#: cp/decl2.c:4224
+#: cp/decl2.c:3798
msgid " also declared as `%#D' here"
msgstr " aussi déclaré comme «%#D» ici"
-#: cp/decl2.c:4239
+#: cp/decl2.c:3813
msgid "`%D' denotes an ambiguous type"
msgstr "« %D » dénote un type ambigu"
-#: cp/decl2.c:4240
+#: cp/decl2.c:3814
msgid " first type here"
msgstr " premier type ici"
-#: cp/decl2.c:4241
+#: cp/decl2.c:3815
msgid " other type here"
msgstr " autre type ici"
-#: cp/decl2.c:4338
+#: cp/decl2.c:3912
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr "déclaration de « %D » n'est pas dans l'espace de noms entourant « %D »"
-#: cp/decl2.c:4372
+#: cp/decl2.c:3946
msgid "`%D' should have been declared inside `%D'"
msgstr "« %D » devrait avoir été déclaré à l'intérieur de « %D »"
-#: cp/decl2.c:4506
+#: cp/decl2.c:4079
msgid "`%D' is not a function,"
msgstr "« %D » n'est pas une fonction"
-#: cp/decl2.c:4507
+#: cp/decl2.c:4080
msgid " conflict with `%D'"
msgstr " en conflit avec « %D »"
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4821
+#: cp/decl2.c:4396
msgid "unknown namespace `%D'"
msgstr "espace de nomes inconnu « %D »"
-#: cp/decl2.c:4855 cp/decl2.c:5125
+#: cp/decl2.c:4430 cp/decl2.c:4707
msgid "`%T' is not a namespace"
msgstr "« %T » n'est pas un espace de noms"
-#: cp/decl2.c:4857
+#: cp/decl2.c:4432
msgid "`%D' is not a namespace"
msgstr "« %D » n'est pas un espace de noms"
-#: cp/decl2.c:4866
+#: cp/decl2.c:4441
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr "l'utilisation d'une déclaration ne peut spécifier un template-id. Essayer « using %D »"
-#: cp/decl2.c:4880
+#: cp/decl2.c:4455
msgid "namespace `%D' not allowed in using-declaration"
msgstr "espace de noms « %D » n'est pas permis dans l'utilisation d'une déclaration"
-#: cp/decl2.c:4909
+#: cp/decl2.c:4484
msgid "`%D' not declared"
msgstr "« %D » n'est pas déclaré"
-#: cp/decl2.c:4960
+#: cp/decl2.c:4535
msgid "`%D' is already declared in this scope"
msgstr "« %D » est déjà déclaré dans cette portée"
-#: cp/decl2.c:4987
+#: cp/decl2.c:4562
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr "l'utlisation de la déclaration « %D » introduit un type ambigu « %T »"
-#: cp/decl2.c:5078
+#: cp/decl2.c:4653
msgid "using-declaration for non-member at class scope"
msgstr "l'utilisation de déclaration pour un non membre au niveau de la portée de la classe"
-#: cp/decl2.c:5084
+#: cp/decl2.c:4659
msgid "using-declaration for destructor"
msgstr "utilisation de déclaration pour un destructeur"
-#: cp/decl2.c:5090
+#: cp/decl2.c:4665
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr "l'utilisation de déclaration ne peut spécifier template-id. Essayer «using %T::%D'"
-#: cp/decl2.c:5119
+#: cp/decl2.c:4701
msgid "namespace `%T' undeclared"
msgstr "espace de noms « %T » n'est pas déclaré"
-#: cp/decl2.c:5148
+#: cp/decl2.c:4730
msgid "default argument missing for parameter %P of `%+#D'"
msgstr "argument par défaut manquant pour le paramètre %P de «%+#D»"
-#: cp/decl2.c:5238
+#: cp/decl2.c:4829
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr "qualification additionnelle «%T::» sur le membre « %D » ignoré"
-#: cp/decl2.c:5242
+#: cp/decl2.c:4833
msgid "`%T' does not have a class or union named `%D'"
msgstr "« %T » n'a pas de classe ou d'union nommé « %D »"
-#: cp/decl2.c:5255
+#: cp/decl2.c:4848
msgid "`%T' is not a class or union type"
msgstr "« %T » n'est pas une classe ou un type d'union"
+#: cp/decl2.c:4862
+#, fuzzy
+msgid "template argument is required for `%T'"
+msgstr "a obtenu %d paramètres de patron pour «%#T»"
+
#: cp/error.c:35
#, c-format
msgid "`%s' not supported by %s"
msgstr "« %s » n'est pas supporté par %s"
-#: cp/error.c:577
+#: cp/error.c:571
#, c-format
msgid "<anonymous %s>"
msgstr "<anonymous %s>"
-#: cp/error.c:814
+#: cp/error.c:808
#, c-format
msgid "(static %s for %s)"
msgstr "(static %s pour %s)"
-#: cp/error.c:2438
+#: cp/error.c:1482
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2430
#, c-format
msgid "In %s `%s':"
msgstr "Dans %s « %s »:"
-#: cp/error.c:2493
+#: cp/error.c:2487
#, c-format
msgid "%s: In instantiation of `%s':\n"
msgstr "%s: dans l'instanciation de « %s »:\n"
-#: cp/error.c:2517
+#: cp/error.c:2511
#, c-format
msgid "%s:%d: instantiated from `%s'\n"
msgstr "%s:%d: instancié à partir de « %s »\n"
-#: cp/error.c:2522
+#: cp/error.c:2516
#, c-format
msgid "%s:%d: instantiated from here\n"
msgstr "%s:%d: instancié à partir d'ici\n"
#. damn ICE suppression
-#: cp/error.c:2675
+#: cp/error.c:2670
#, c-format
msgid "unexpected letter `%c' in locate_error\n"
msgstr "lettre inattendue « %c » dans locate_error\n"
#. Can't throw a reference.
-#: cp/except.c:245
+#: cp/except.c:240
msgid "type `%T' is disallowed in Java `throw' or `catch'"
msgstr "type « %T» n'est pas permis en Java «throw» ou «catch »"
-#: cp/except.c:256
+#: cp/except.c:251
msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
msgstr "appel en Java de « catch» ou «throw» avec «jthrowable » undéfini"
#. 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 "type « %T» n'est pas dérivé de «java::lang::Throwable »"
-#: cp/except.c:327
+#: cp/except.c:322
msgid "mixing C++ and Java catches in a single translation unit"
msgstr "mélange des interceptions C++ et Java dans une unité simple de traduction "
-#: cp/except.c:558
+#: cp/except.c:639
msgid "throwing NULL, which has integral, not pointer type"
msgstr "retounrnant NULL (par throw), lequel est entier, pas de type pointeur"
-#: cp/except.c:663
+#: cp/except.c:730
msgid " in thrown expression"
msgstr " dans l'expression projetée"
-#: cp/except.c:775
+#: cp/except.c:856
msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr "expression « %E » de la classe abstraite de type « %T » ne peut être utilisé dans une expression throw"
-#: cp/except.c:863
+#: cp/except.c:944
msgid "exception of type `%T' will be caught"
msgstr "exception du type « %T » sera interceptée"
-#: cp/except.c:866
+#: cp/except.c:947
msgid " by earlier handler for `%T'"
msgstr " par un handler antérieur pour « %T »"
-#: cp/except.c:887
+#: cp/except.c:968
msgid "`...' handler must be the last handler for its try block"
msgstr "« ... » handler doit être le dernier handler de son bloc d'essai"
@@ -15302,135 +16115,127 @@ msgstr "« %D » est déjà un ami de la classe « %T »"
msgid "previous friend declaration of `%D'"
msgstr "déclaration amie précédente de « %D »"
-#: cp/friend.c:197
+#: cp/friend.c:202
msgid "invalid type `%T' declared `friend'"
msgstr "type invalide « %T» déclaré «friend »"
#. [temp.friend]
-#.
#. Friend declarations shall not declare partial
#. specializations.
-#: cp/friend.c:209
+#: cp/friend.c:218
msgid "partial specialization `%T' declared `friend'"
msgstr "spécialisation partielle « %T» déclarée «friend »"
-#: cp/friend.c:221
+#: cp/friend.c:227
msgid "class `%T' is implicitly friends with itself"
msgstr "classe « %T » est implicitement ami avec elle-même"
#. template <class T> friend typename S<T>::X;
-#: cp/friend.c:239
+#: cp/friend.c:245
msgid "typename type `%#T' declared `friend'"
msgstr "type typename « %#T» déclaré «friend »"
#. template <class T> friend class T;
-#: cp/friend.c:245
+#: cp/friend.c:251
msgid "template parameter type `%T' declared `friend'"
msgstr "type paramètre du patron « %T» déclaré «friend »"
#. 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 "«%#T» n'est pas un patron"
-#: cp/friend.c:266
+#: cp/friend.c:272
msgid "`%T' is already a friend of `%T'"
msgstr "« %T » est déjà un ami de « %T »"
-#: cp/friend.c:362
+#: cp/friend.c:370
msgid "member `%D' declared as friend before type `%T' defined"
msgstr "membre « %D » déclaré comme ami avant la définition du type « %T »"
-#: cp/friend.c:417
+#: cp/friend.c:425
msgid "friend declaration `%#D' declares a non-template function"
msgstr "déclaration amie «%#D» déclare une fonction non patron"
-#: 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 "(si ce n'est pas ce que vous vouliez faire, soyez sûr que le patron de la fonction a déjà été déclaré et ajouter <> après le nom de la fonction ici) -Wno-non-template-friend désactive le présent avertissement"
-#: 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 "argument pour « %s » est manquant\n"
-#: cp/init.c:285
+#: cp/init.c:320
+msgid "`%D' should be initialized in the member initialization list"
+msgstr "« %D » devrait être initialisé dans la liste d'initialisation du membre"
+
+#: cp/init.c:369
msgid "default-initialization of `%#D', which has reference type"
msgstr "initialisation par défaut de «%#D», lequel a un type référencé"
-#: cp/init.c:290
+#: cp/init.c:374
msgid "uninitialized reference member `%D'"
msgstr "référence de membre non initialisé « %D »"
-#: cp/init.c:298
+#: cp/init.c:382
msgid "initializer list treated as compound expression"
msgstr "liste d'initialiseurs traitée comme une expression composée"
-#: cp/init.c:410
-msgid "member initializers for `%#D'"
-msgstr "initialiseur du membre pour «%#D»"
+#: cp/init.c:523
+#, fuzzy
+msgid "`%D' will be initialized after"
+msgstr "membre « %D » est une référence non initialisée"
+
+#: cp/init.c:526
+#, fuzzy
+msgid "base `%T' will be initialized after"
+msgstr "classe de base « %T » déjà initialisée"
-#: cp/init.c:412
-msgid " and `%#D'"
+#: cp/init.c:529
+#, fuzzy
+msgid " `%#D'"
msgstr " et «%#D»"
-#: cp/init.c:413
-msgid " will be re-ordered to match declaration order"
-msgstr " sera ré-odonné pour concorder avec l'ordre déclaré"
+#: cp/init.c:531
+#, fuzzy
+msgid " base `%T'"
+msgstr " et «%#T»"
-#: cp/init.c:428
-msgid "multiple initializations given for member `%D'"
-msgstr "initialisations multiples données pour le membre « %D »"
+#: cp/init.c:549
+#, fuzzy
+msgid "multiple initializations given for base `%T'"
+msgstr "multiples initialisations données pour « %D »"
-#: cp/init.c:500
+#: cp/init.c:616
msgid "initializations for multiple members of `%T'"
msgstr "initialisation de multiples membres de « %T »"
-#: cp/init.c:617
-msgid "base initializers for `%#T'"
-msgstr "initialiseurs de base pour «%#T»"
-
-#: cp/init.c:618
-msgid " and `%#T'"
-msgstr " et «%#T»"
-
-#: cp/init.c:619
-msgid " will be re-ordered to match inheritance order"
-msgstr " sera ré-ordonné pour concorder avec l'ordre d'héritage"
-
-#: cp/init.c:631
-msgid "base class `%T' already initialized"
-msgstr "classe de base « %T » déjà initialisée"
-
-#: cp/init.c:702
+#: cp/init.c:671
msgid "base class `%#T' should be explicitly initialized in the copy constructor"
msgstr "classe de base «%#T» devrait être explicitement initialisé dans la copie du constructeur"
-#: cp/init.c:745
-msgid "`%D' should be initialized in the member initialization list"
-msgstr "« %D » devrait être initialisé dans la liste d'initialisation du membre"
-
-#: cp/init.c:987
+#: cp/init.c:916
msgid "class `%T' does not have any field named `%D'"
msgstr "classe « %T » n'a pas aucun champ nommé « %D »"
-#: cp/init.c:993
+#: cp/init.c:922
msgid "field `%#D' is static; the only point of initialization is its definition"
msgstr "champ «%#D» est statique; le seul point d'initialisation est sa définition"
-#: cp/init.c:1032
+#: cp/init.c:956
msgid "unnamed initializer for `%T', which has no base classes"
msgstr "initialiseur sans nom pour « %T », lequel n'a pas de classe de base"
-#: cp/init.c:1039
+#: cp/init.c:963
msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr "initialiseur sans nom pour « %T », lequel utilise de multiples héritages"
-#: cp/init.c:1068
+#: cp/init.c:1000
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr "type « %D » n'est pas une base directe ou virtuelle de « %T »"
-#: cp/init.c:1071
+#: cp/init.c:1003
msgid "type `%D' is not a direct base of `%T'"
msgstr "type « %D » n'est pas une base directe de « %T »"
@@ -15446,551 +16251,521 @@ msgstr "type « %D » n'est pas une base directe de « %T »"
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1165
+#: cp/init.c:1097
msgid "bad array initializer"
-msgstr "initialiseur de base erroné"
+msgstr "mauvaise initialisation de tableau"
-#: cp/init.c:1357
+#: cp/init.c:1304
msgid "`%T' is not an aggregate type"
msgstr "« %T » n'est pas de type aggrégat"
-#: cp/init.c:1380
+#: cp/init.c:1327
msgid "`%T' fails to be an aggregate typedef"
msgstr "« %T » a échoué à être un typedef d'aggrégat"
-#: cp/init.c:1389
+#: cp/init.c:1336
msgid "type `%T' is of non-aggregate type"
msgstr "type « %T » est un type qui n'est pas d'aggrégat"
-#: cp/init.c:1491
+#: cp/init.c:1439
msgid "cannot call destructor `%T::~%T' without object"
msgstr "ne peut appeler le destructeur «%T::~%T» sans objet"
-#: cp/init.c:1531
+#: cp/init.c:1483
msgid "invalid use of non-static field `%D'"
msgstr "utilisation invalide d'un champ non statique « %D »"
#. We can get here when processing a bad default
#. argument, like:
#. struct S { int a; void f(int i = a); }
-#: cp/init.c:1540 cp/method.c:163
+#: cp/init.c:1492 cp/method.c:160
msgid "invalid use of member `%D'"
msgstr "utilisation invalide du membre « %D »"
-#: cp/init.c:1550
+#: cp/init.c:1502
msgid "no method `%T::%D'"
msgstr "pas de méthode «%T::%D»"
-#: cp/init.c:1643
+#: cp/init.c:1595
msgid "incomplete type `%T' does not have member `%D'"
msgstr "type incomplet « %T » n'a pas de membre « %D »"
-#: cp/init.c:1712
+#: cp/init.c:1669
msgid "`%D' is not a member of type `%T'"
msgstr "« %D » n'est pas un membre de type « %T »"
-#: cp/init.c:1731
-msgid "illegal pointer to bit-field `%D'"
+#: cp/init.c:1688
+#, fuzzy
+msgid "invalid pointer to bit-field `%D'"
msgstr "pointeur illégal pour un champ de bits « %D »"
-#: cp/init.c:1770
+#: cp/init.c:1727
msgid "object missing in use of pointer-to-member construct"
msgstr "objet manquant dans l'utilisation du construit pointeur-à-membre"
-#: cp/init.c:1810
+#: cp/init.c:1767
msgid "member `%D' is non-static but referenced as a static member"
msgstr "membre « %D » est non statique mais référencé comme membre statique"
-#: cp/init.c:1812 cp/typeck.c:3130 cp/typeck.c:3238
+#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932
msgid "at this point in file"
msgstr "à ce point dans le fichier"
-#: cp/init.c:1853 cp/typeck.c:2929
+#: cp/init.c:1806
#, c-format
msgid "object missing in `%E'"
msgstr "objet manquant dans « %E »"
-#: cp/init.c:1984
+#: cp/init.c:1937
msgid "new of array type fails to specify size"
msgstr "new sur un type tableau a échoué dans l'évaluation de la taille"
-#: cp/init.c:1995
+#: cp/init.c:1948
msgid "size in array new must have integral type"
msgstr "taille d'un nouveau tableau (new) doit avoir un type entier"
-#: cp/init.c:2001
+#: cp/init.c:1954
msgid "zero size array reserves no space"
msgstr "tableau de taille zéro ne réserve pas d'espace"
-#: cp/init.c:2066
+#: cp/init.c:2019
msgid "new cannot be applied to a reference type"
msgstr "new ne peut être appliqué à un type référencé"
-#: cp/init.c:2072
+#: cp/init.c:2025
msgid "new cannot be applied to a function type"
msgstr "new ne peut être appliqué à un type de fonction"
-#: cp/init.c:2119
+#: cp/init.c:2072
msgid "call to Java constructor, while `jclass' undefined"
msgstr "appel d'un constructeur Java, alors que « jclass » est indéfini"
-#: cp/init.c:2135
+#: cp/init.c:2088
msgid "can't find class$"
msgstr "ne peut repérer class$"
-#: cp/init.c:2249
+#: cp/init.c:2202
msgid "invalid type `void' for new"
msgstr "type « void » invalide pour new"
-#: cp/init.c:2301
+#: cp/init.c:2254
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr "appel au constructeur Java avec « %s » indéfini"
-#: cp/init.c:2408
+#: cp/init.c:2362
msgid "ISO C++ forbids initialization in array new"
-msgstr "ISO C++ interdit l'initialisation d'un nouveau tableau"
+msgstr "le C++ ISO interdit l'initialisation d'un nouveau tableau"
-#: cp/init.c:2426 cp/typeck2.c:359 cp/typeck2.c:1217
+#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223
msgid "initializer list being treated as compound expression"
msgstr "liste d'initaliseurs a été traité comme une expression composée"
-#: cp/init.c:2432
+#: cp/init.c:2386
msgid "ISO C++ forbids aggregate initializer to new"
-msgstr "ISO C++ interdit l'aggrégation d'initialiseur à new"
+msgstr "le C++ ISO interdit l'aggrégation d'initialiseur à new"
-#: cp/init.c:2516
+#: cp/init.c:2474
msgid "uninitialized const in `new' of `%#T'"
msgstr "constante non initialisée dans « new» pour «%#T »"
-#: cp/init.c:2880
+#: cp/init.c:2840
msgid "initializer ends prematurely"
-msgstr "fin prématurée de l'initialiseur"
+msgstr "fin prématurée de l'initialisation"
-#: cp/init.c:2950
+#: cp/init.c:2910
msgid "cannot initialize multi-dimensional array with initializer"
msgstr "ne peut initialiser un table multi-dimensionnel avec initialiseur"
-#: cp/init.c:3125
+#: cp/init.c:3100
msgid "unknown array size in delete"
msgstr "taille du tableau inconnue dans delete"
-#: cp/init.c:3398
+#: cp/init.c:3365
msgid "type to vector delete is neither pointer or array type"
msgstr "type du vesteur delete n'est ni un pointeur ou un type tableau"
-#: cp/lex.c:144
+#: cp/lex.c:136
msgid "type name expected before `*'"
msgstr "nom de type attendu avec «*»"
-#: cp/lex.c:166
+#: cp/lex.c:158
msgid "cannot declare references to references"
msgstr "ne peut décalrer des références vers des références"
-#: cp/lex.c:171
+#: cp/lex.c:163
msgid "cannot declare pointers to references"
msgstr "ne peut déclarer des pointeurs vers des références"
-#: cp/lex.c:175
+#: cp/lex.c:167
msgid "type name expected before `&'"
msgstr "nom de type attendu avant «&»"
-#: cp/lex.c:993
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
msgstr "«;» manquant après la déclaration de %s"
-#: cp/lex.c:996
+#: cp/lex.c:897
msgid "semicolon missing after declaration of `%T'"
msgstr "«;» manquant après la déclaration « %T »"
-#: cp/lex.c:1044
+#: cp/lex.c:945
#, c-format
msgid "junk at end of #pragma %s"
msgstr "rebut à la fin de #pragma %s"
-#: cp/lex.c:1051
+#: cp/lex.c:952
#, c-format
msgid "invalid #pragma %s"
msgstr "#pragma %s invalde"
-#: cp/lex.c:1060
+#: cp/lex.c:961
msgid "#pragma vtable no longer supported"
msgstr "#pragma vtable n'est plus supporté"
-#: cp/lex.c:1137
+#: cp/lex.c:1038
#, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr "implantation de #pragma pour %s apparaît après l'inclusion du fichier"
-#: cp/lex.c:1162
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
msgstr "rebut à la fin de #pragma GCC java_exceptions"
-#: cp/lex.c:1247
+#: cp/lex.c:1107
msgid "`%D' not defined"
msgstr "« %D » n'est pas défini"
-#: cp/lex.c:1252
+#: cp/lex.c:1110
msgid "`%D' was not declared in this scope"
msgstr "« %D » n'a pas été déclaré dans cet horizon"
-#: cp/lex.c:1262
+#: cp/lex.c:1118
msgid "`%D' undeclared (first use this function)"
msgstr "« %D » non déclaré (première utilisation dans cette fonction)"
-#: cp/lex.c:1266
+#: cp/lex.c:1122
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr "(Chaque identificateur non déclaré est rapporté seulement une seule fois pour la fonction dans laquelle il apparaît.)"
-#: cp/lex.c:1289
-#, c-format
-msgid "name lookup of `%s' changed"
-msgstr "recherche du nom « %s » a changé"
-
-#: cp/lex.c:1291
-msgid " matches this `%D' under ISO standard rules"
-msgstr " concorde avec « %D » selon les règles standards ISO"
-
-#: cp/lex.c:1293
-msgid " matches this `%D' under old rules"
-msgstr " concorde avec « %D » selon les vieilles règles"
-
-#: cp/lex.c:1303 cp/lex.c:1310
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr "recherche du nom « %s » changé pour le nouveau ISO «for » d'étendue de champ"
-
-#: cp/lex.c:1305
-msgid " cannot use obsolete binding at `%D' because it has a destructor"
-msgstr " ne peut utiliser une liaison obsolète à « %D » parce qu'il a un destructeur"
-
-#: cp/lex.c:1312
-msgid " using obsolete binding at `%D'"
-msgstr " utilisation de liaison obsolète à « %D »"
-
-#: cp/lex.c:1378
+#: cp/lex.c:1239
msgid "`::%D' undeclared (first use here)"
msgstr "«::%D» non déclaré (première utilisation ici)"
-#: cp/mangle.c:1912
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
msgstr "patron de paramètre en valeur réelle lors de la compilation croisée"
-#: 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 "utilisation invalide du membre « %D » dans un membre statique de fonction"
-#: cp/method.c:205
+#: cp/method.c:216
msgid "use of namespace `%D' as expression"
msgstr "utilisation d'un espace de dnomes « %D » comme expression"
-#: cp/method.c:210
+#: cp/method.c:221
msgid "use of class template `%T' as expression"
msgstr "utilisation du patron de classe « %T » comme expression"
-#: cp/method.c:223
+#: cp/method.c:234
#, c-format
msgid "use of %s from containing function"
msgstr "utilisation de %s d'un fonction contenante"
-#: cp/method.c:226
+#: cp/method.c:237
msgid " `%#D' declared here"
msgstr " «%#D» déclaré ici"
-#: cp/method.c:244
+#: cp/method.c:255
msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr "requête du membre « %D » est ambiquë dans de mutliples héritage de treillis"
-#: cp/method.c:297
-msgid "implementation-reserved name `%D' used"
-msgstr "nom d'implantation réservé « %D » est utilisé"
-
-#: cp/method.c:428
+#: cp/method.c:455
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr "code « thunk» générique a échoué pour la méthode «%#D» laquelle utilise « ... »"
-#: cp/method.c:653
+#: cp/method.c:694
msgid "non-static const member `%#D', can't use default assignment operator"
msgstr "constante non statique du membre «%#D», ne peut utiliser l'opérateur d'affectation par défaut"
-#: cp/method.c:658
+#: cp/method.c:699
msgid "non-static reference member `%#D', can't use default assignment operator"
msgstr "référence non statique du membre «%#D», ne peut utiliser l'opérateur d'affectation par défaut"
-#: parse.y:218
+#: parse.y:261
msgid "`%s' tag used in naming `%#T'"
-msgstr "étiquette « union» utilisée dans la dénomination de «%#T »"
+msgstr "étiquette « %s » utilisée dans la dénomination de « %#T »"
-#: parse.y:510
+#: parse.y:541
msgid "keyword `export' not implemented, and will be ignored"
msgstr "mot clé « export » n'est pas implanté et sera ignoré"
-#: parse.y:615
+#: parse.y:645
msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr "utilisation de spéc de liaisons « %D » est différente de la spec précédente « %D »"
-#: parse.y:688
-msgid "invalid default template argument"
-msgstr "argument invalide pour le patron par défaut"
-
-#: parse.y:919
-msgid "only constructors take base initializers"
-msgstr "seuls les constructeurs prennent des initialiseurs de base"
-
-#: parse.y:921
+#: parse.y:942
msgid "no base or member initializers given following ':'"
msgstr "pas d'initialiseur de base ou membre donné après «:»"
-#: parse.y:963 parse.y:969
+#: parse.y:983 parse.y:989
msgid "anachronistic old style base class initializer"
msgstr "ancien style anachronique d'initialiseur de classe de base"
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1095
+#: parse.y:1115
msgid "`>>' should be `> >' in template class name"
msgstr "«>>» devrait être «> >» dans le nom du patron de la classe"
-#: parse.y:1133
+#: parse.y:1153
msgid "use of template qualifier outside template"
msgstr "utilisation d'un qualificateur de patron en dehors d'un patron"
-#: parse.y:1162 parse.y:1171
+#: parse.y:1182 parse.y:1191
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
-msgstr "ISO C++ interdit une condition vide pour « %s »"
+msgstr "le C++ ISO interdit une condition vide pour « %s »"
-#: parse.y:1194
+#: parse.y:1214
msgid "definition of class `%T' in condition"
msgstr "définition de la classe « %T » dans la condition"
-#: parse.y:1196
+#: parse.y:1216
msgid "definition of enum `%T' in condition"
msgstr "définition de l'aggrégat « %T » dans la condition"
-#: parse.y:1207
+#: parse.y:1227
msgid "definition of array `%#D' in condition"
msgstr "définition du tableau «%#D» dans la condition"
-#: parse.y:1316
+#: parse.y:1340
msgid "old style placement syntax, use () instead"
msgstr "ancien style de syntaxe de positionnement, utiliser () à la place"
-#: parse.y:1327
+#: parse.y:1351
msgid "`%T' is not a valid expression"
msgstr "« %T » n'est pas une expression valide"
-#: parse.y:1338
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr "ISO C++ interdit l'initialisation d'une nouvelle expression avec «=»"
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1358
+#, fuzzy
+msgid "initialization of new expression with `='"
+msgstr "le C++ ISO interdit l'initialisation d'une nouvelle expression avec «=»"
-#: parse.y:1369
+#: parse.y:1384
msgid "ISO C++ forbids compound literals"
-msgstr "ISO C++ interdit les chaînes composées"
+msgstr "le C++ ISO interdit les chaînes composées"
-#: parse.y:1611
+#: parse.y:1631
msgid "ISO C++ forbids braced-groups within expressions"
-msgstr "ISO C++ interdit les groupes d'accolades à l'intérieur des expressions"
+msgstr "le C++ ISO interdit les groupes d'accolades à l'intérieur des expressions"
-#: parse.y:2013 parse.y:2028
+#: parse.y:2035 parse.y:2050
msgid "sigof type specifier"
msgstr "spécificateur du type sigof"
-#: parse.y:2018
+#: parse.y:2040
msgid "`sigof' applied to non-aggregate expression"
msgstr "« sigof » appliqué à une expression de non aggrégats"
-#: parse.y:2033
+#: parse.y:2055
msgid "`sigof' applied to non-aggregate type"
msgstr "« sigof » appliqué à un type non aggrégat"
-#: parse.y:2299
+#: parse.y:2321
msgid "using `typename' outside of template"
msgstr "utilisation de « typename » en dehors du patron"
-#: parse.y:2370
+#: parse.y:2391
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr "spécificateur de classe de stockages « %s » n'est pas permis après struct ou class"
-#: parse.y:2372
+#: parse.y:2393
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr "spécificateur de type « %s » n'est pas permis après struct ou class"
-#: parse.y:2374
+#: parse.y:2395
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr "qualificateur de type « %s » n'est pas permis après struct ou class"
-#: parse.y:2376
+#: parse.y:2397
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr "pas de corps ni de «;» séparant les deux déclarations de classes, struct ou union"
-#: parse.y:2508
+#: parse.y:2537
msgid "no bases given following `:'"
msgstr "pas de base donnée après «:»"
-#: parse.y:2539 parse.y:2554
+#: parse.y:2568 parse.y:2583
msgid "`%D' access"
msgstr "« %D » accès"
-#: parse.y:2544
+#: parse.y:2573
msgid "multiple access specifiers"
msgstr "spécificateurs d'accès multiples"
-#: parse.y:2562
+#: parse.y:2591
msgid "multiple `virtual' specifiers"
msgstr "spécificateurs « virtual » multiples"
-#: parse.y:2599
+#: parse.y:2628
msgid "missing ';' before right brace"
msgstr "«;» manquant avant l'accolade de droite"
-#: parse.y:2820
+#: parse.y:2849
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
-msgstr "ISO C++ interdit l'utilisation de parenthèses autour du type pour les dimensions de tableaux avec new"
+msgstr "le C++ ISO interdit l'utilisation de parenthèses autour du type pour les dimensions de tableaux avec new"
-#: parse.y:3107 parse.y:3127 parse.y:3136 parse.y:3165
+#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194
msgid "`%T' is not a class or namespace"
msgstr "« %T » n'est pas une classe ou un espace de noms"
-#: parse.y:3332
+#: parse.y:3361
msgid "ISO C++ forbids label declarations"
-msgstr "ISO C++ interdit la déclaration d'étiquette"
+msgstr "le C++ ISO interdit la déclaration d'étiquette"
-#: parse.y:3492
+#: parse.y:3521
msgid "ISO C++ forbids computed gotos"
-msgstr "ISO C++ interdit les gotos calculés"
+msgstr "le C++ ISO interdit les gotos calculés"
-#: parse.y:3500
+#: parse.y:3529
msgid "label must be followed by statement"
msgstr "l'étiquette doit être suivie d'une déclaration"
-#: parse.y:3545
+#: parse.y:3574
msgid "must have at least one catch per try block"
msgstr "doit avoir au moins un intercepteur par bloc d'essais"
-#: parse.y:3605
+#: parse.y:3634
msgid "ISO C++ forbids compound statements inside for initializations"
-msgstr "ISO C++ interdit les déclarations composées à l'intérieur des initialisations"
+msgstr "le C++ ISO interdit les déclarations composées à l'intérieur des initialisations"
#. This helps us recover from really nasty
#. parse errors, for example, a missing right
#. parenthesis.
-#: parse.y:3690 parse.y:3700
+#: parse.y:3721 parse.y:3731
msgid "possibly missing ')'"
msgstr "«)» possiblement manquante"
-#: parse.y:3793
+#: parse.y:3824
msgid "type specifier omitted for parameter"
msgstr "spécificateur de type omis pour le paramètre"
-#: parse.y:3802
+#: parse.y:3833
#, c-format
msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr "« %E» n'est pas un type, utiliser «typename %E » pour en faire un"
-#: parse.y:3804
+#: parse.y:3835
msgid "no type `%D' in `%T'"
msgstr "pas de type « %D » dans « %T »"
-#: parse.y:3807
+#: parse.y:3838
#, c-format
msgid "type specifier omitted for parameter `%E'"
msgstr "spécificateur de type omis pour le paramètre « %E »"
-#: parse.y:3815
+#: parse.y:3846
msgid "'%D' is used as a type, but is not defined as a type."
msgstr "« %D » est utilisé comme type, mais n'est pas défini comme type."
-#: cp/pt.c:211
+#: cp/pt.c:198
msgid "data member `%D' cannot be a member template"
msgstr "membre de données « %D » ne peut être membre du patron"
-#: cp/pt.c:223
+#: cp/pt.c:210
msgid "invalid member template declaration `%D'"
msgstr "déclaration de membre de patron invalide « %D »"
-#: cp/pt.c:618
+#: cp/pt.c:605
msgid "explicit specialization in non-namespace scope `%D'"
msgstr "spécialisation explicite dans la portée d'un non espace de noms « %D »"
-#: cp/pt.c:630
+#: cp/pt.c:617
msgid "enclosing class templates are not explicitly specialized"
msgstr "fermetures de patrons de classe ne sont pas explicitement spécialisées"
-#: cp/pt.c:705
+#: cp/pt.c:692
msgid "specializing `%#T' in different namespace"
msgstr "spécialisation de «%#T» dans différents espaces de noms"
-#: cp/pt.c:706
+#: cp/pt.c:693
msgid " from definition of `%#D'"
msgstr " à partir de la définition de «%#D»"
-#: cp/pt.c:714
+#: cp/pt.c:701
msgid "specialization of `%T' after instantiation"
msgstr "spécialisation de « %T » après instanciation"
-#: cp/pt.c:717
+#: cp/pt.c:704
msgid "explicit specialization of non-template `%T'"
msgstr "spécialisation explicite du non patron « %T »"
-#: cp/pt.c:849
+#: cp/pt.c:836
msgid "specialization of %D after instantiation"
msgstr "spécialisation de %D après instanciation"
-#: cp/pt.c:952
+#: cp/pt.c:939
msgid "%s %+#D"
msgstr "%s %+#D"
-#: cp/pt.c:1003
+#: cp/pt.c:990
msgid "`%D' is not a function template"
msgstr "« %D » n'est pas un patron de fonction"
-#: cp/pt.c:1126
+#: cp/pt.c:1129
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr "template-id « %D » pour «%+D» ne concorde pas avec aucune déclaration de patron"
-#: cp/pt.c:1134
+#: cp/pt.c:1137
msgid "ambiguous template specialization `%D' for `%+D'"
msgstr "spécialisation de patron amibiguë « %D » pour «%+D»"
#. This case handles bogus declarations like template <>
#. template <class T> void f<int>();
-#: cp/pt.c:1361 cp/pt.c:1435
+#: cp/pt.c:1364 cp/pt.c:1438
msgid "template-id `%D' in declaration of primary template"
msgstr "template-id « %D » dans la déclaration de patron primaire"
-#: cp/pt.c:1374
+#: cp/pt.c:1377
msgid "template parameter list used in explicit instantiation"
msgstr "patron de liste de paramètres utilisé dans une instanciation explicite"
-#: cp/pt.c:1380
+#: cp/pt.c:1383
msgid "definition provided for explicit instantiation"
msgstr "définition fournie pour une instanciation explicite"
-#: cp/pt.c:1386
+#: cp/pt.c:1389
msgid "too many template parameter lists in declaration of `%D'"
msgstr "trop de patrons de listes de paramètres dans la déclaration de « %D »"
-#: cp/pt.c:1402
+#: cp/pt.c:1405
msgid "too few template parameter lists in declaration of `%D'"
msgstr "trop peu de patrons de listes de paramètres dans la déclaration de « %D »"
-#: cp/pt.c:1419
+#: cp/pt.c:1422
msgid "explicit specialization not preceded by `template <>'"
msgstr "spécialisation explicite n'est pas précédée de « template <> »"
-#: cp/pt.c:1432
+#: cp/pt.c:1435
msgid "partial specialization `%D' of function template"
msgstr "spécialisation partielle « %D » du patron de fonction"
-#: cp/pt.c:1464
+#: cp/pt.c:1467
msgid "default argument specified in explicit specialization"
msgstr "argument par défaut spécifié dans la spécialisation explicite"
-#: cp/pt.c:1468
+#: cp/pt.c:1471
msgid "template specialization with C linkage"
msgstr "spécialisation de patron avec édition de liens C"
@@ -16002,99 +16777,99 @@ msgstr "spécialisation de patron avec édition de liens C"
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1556
+#: cp/pt.c:1558
msgid "specialization of implicitly-declared special member function"
msgstr "spécialisation d'un membre spécial d'nue fonction déclaré implicitement"
-#: cp/pt.c:1599
+#: cp/pt.c:1602
msgid "no member function `%D' declared in `%T'"
msgstr "pas de membre de fonction « %D » déclaré dans « %T »"
#. There are two many template parameter lists.
-#: cp/pt.c:1747
+#: cp/pt.c:1750
msgid "too many template parameter lists in declaration of `%T'"
msgstr "trop de patrons de listes de paramètres dans la déclaration de « %T »"
-#: cp/pt.c:1843
+#: cp/pt.c:1846
msgid " shadows template parm `%#D'"
-msgstr " fait ombrage au paramètre du patron «%#D»"
+msgstr " masque le paramètre du patron «%#D»"
-#: cp/pt.c:2247
+#: cp/pt.c:2250
msgid "template parameters not used in partial specialization:"
msgstr "paramètres du patron ne sont pas utilisés dans la spécialisation partielle:"
-#: cp/pt.c:2251
+#: cp/pt.c:2254
msgid " `%D'"
msgstr " « %D »"
-#: cp/pt.c:2263
+#: cp/pt.c:2266
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr "spécialisation partielle « %T » ne spécialise pas aucun patron d'arguments"
-#: cp/pt.c:2288
+#: cp/pt.c:2291
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr "patron d'argument « %E » implique des paramètres du patron"
-#: cp/pt.c:2331
+#: cp/pt.c:2335
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr "type « %T » du patron d'argument « %E » dépend des paramètres du patron"
-#: cp/pt.c:2419
+#: cp/pt.c:2423
msgid "no default argument for `%D'"
msgstr "pas d'argument par défaut pour « %D »"
-#: cp/pt.c:2552
+#: cp/pt.c:2576
msgid "template with C linkage"
msgstr "patron avec liaison C"
-#: cp/pt.c:2555
+#: cp/pt.c:2579
msgid "template class without a name"
msgstr "patron de classe sans nom"
-#: cp/pt.c:2632
+#: cp/pt.c:2656
msgid "`%D' does not declare a template type"
msgstr "« %D » ne déclare pas un type de patron"
-#: cp/pt.c:2638
+#: cp/pt.c:2662
msgid "template definition of non-template `%#D'"
msgstr "définition de patron d'un non patron «%#D»"
-#: cp/pt.c:2679
+#: cp/pt.c:2703
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr "attendait %d niveaux de patron de paramètres pour «%#D», obtenu %d"
-#: cp/pt.c:2691
+#: cp/pt.c:2715
msgid "got %d template parameters for `%#D'"
msgstr "a obtenu %d paramètres de patron pour «%#D»"
-#: cp/pt.c:2694
+#: cp/pt.c:2718
msgid "got %d template parameters for `%#T'"
msgstr "a obtenu %d paramètres de patron pour «%#T»"
-#: cp/pt.c:2696
+#: cp/pt.c:2720
#, c-format
msgid " but %d required"
msgstr " mais %d son requis"
-#: cp/pt.c:2764
+#: cp/pt.c:2803
msgid "`%T' is not a template type"
msgstr "« %T » n'est pas un type patron"
-#: cp/pt.c:2780
+#: cp/pt.c:2819
msgid "previous declaration `%D'"
msgstr "déclaration précédente de « %D »"
-#: cp/pt.c:2781
+#: cp/pt.c:2820
#, c-format
msgid "used %d template parameter%s instead of %d"
msgstr "utilisé %d patrons paramètre%s au lieu de %d"
-#: cp/pt.c:2797
+#: cp/pt.c:2836
msgid "template parameter `%#D'"
msgstr "patron de paramètre «%#D»"
-#: cp/pt.c:2798
+#: cp/pt.c:2837
msgid "redeclared here as `%#D'"
msgstr "redéclaré ici comme «%#D»"
@@ -16102,714 +16877,707 @@ msgstr "redéclaré ici comme «%#D»"
#.
#. A template-parameter may not be given default arguments
#. by two different declarations in the same scope.
-#: cp/pt.c:2808
+#: cp/pt.c:2847
msgid "redefinition of default argument for `%#D'"
msgstr "redéfinition de l'argument par défaut pour «%#D»"
-#: cp/pt.c:2809
+#: cp/pt.c:2848
msgid " original definition appeared here"
msgstr " définition originale apparaît ici"
-#: cp/pt.c:2902
+#: cp/pt.c:2941
#, c-format
msgid "`%E' is not a valid template argument"
msgstr "« %E » n'est pas un argument valide pour le patron"
-#: cp/pt.c:2906
+#: cp/pt.c:2945
msgid "it must be the address of a function with external linkage"
msgstr "il doit être l'adresse d'une fonction avec lien externe"
-#: cp/pt.c:2908
+#: cp/pt.c:2947
msgid "it must be the address of an object with external linkage"
msgstr "il doît être l'adresse d'un objet avec lien externe"
-#: cp/pt.c:2912
+#: cp/pt.c:2951
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr "il doit être un pointeur-vers-un-membre de la forme «&X::Y»"
-#: cp/pt.c:2923
+#: 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 "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
-#: cp/pt.c:2935
+#: cp/pt.c:2974
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr "adresse du non externe « %E » ne peut être utilisé comme patron d'argument"
-#: cp/pt.c:2946
+#: cp/pt.c:2985
#, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr "la non const « %E » ne peut être utilisé comme un patron d'argument"
-#: cp/pt.c:2953
+#: cp/pt.c:2992
#, c-format
msgid "object `%E' cannot be used as template argument"
msgstr "objet « %E » ne peut être utilisé comme un patron d'argument"
-#: cp/pt.c:3333
+#: cp/pt.c:3367
#, c-format
msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr "pour référencer un type de membre de patron de paramètres, utiliser « typename %E »"
-#: cp/pt.c:3346 cp/pt.c:3362 cp/pt.c:3401
+#: 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 "non concordance de type/valeur pour l'argument %d dans la liste des paramètres du patron de « %D »"
-#: cp/pt.c:3349
+#: cp/pt.c:3383
msgid " expected a constant of type `%T', got `%T'"
msgstr " attendait une constante de type « %T », a obtenu « %T »"
-#: cp/pt.c:3353
+#: cp/pt.c:3387
#, c-format
msgid " expected a type, got `%E'"
msgstr " attendait un type, a obtenu « %E »"
-#: cp/pt.c:3365
+#: cp/pt.c:3399
msgid " expected a type, got `%T'"
msgstr " attendait un type, a obtenu « %T »"
-#: cp/pt.c:3367
+#: cp/pt.c:3401
msgid " expected a class template, got `%T'"
msgstr " attendait un patron de classe, a obtenu « %T »"
-#: cp/pt.c:3403
+#: cp/pt.c:3437
msgid " expected a template of type `%D', got `%D'"
msgstr " attendait un patron de type « %D », a obtenu « %D »"
-#: cp/pt.c:3425
+#: cp/pt.c:3459
msgid "template-argument `%T' uses anonymous type"
msgstr "argument du patron « %T » utilise un type anonyme"
-#: cp/pt.c:3428
+#: cp/pt.c:3462
msgid "template-argument `%T' uses local type `%T'"
msgstr "argument du patron « %T » utilise un type local « %T »"
-#: cp/pt.c:3463
+#: cp/pt.c:3472
+#, fuzzy
+msgid "template-argument `%T' is a variably modified type"
+msgstr "argument du patron « %T » utilise un type anonyme"
+
+#: cp/pt.c:3507
msgid "could not convert template argument `%E' to `%T'"
msgstr "ne peut convertir l'argument du patron « %E » vers « %T »"
-#: cp/pt.c:3507
+#: cp/pt.c:3551
#, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr "nombre erroné d'arguments du patron (%d devrait être %d)"
-#: cp/pt.c:3511
+#: cp/pt.c:3555
msgid "provided for `%D'"
msgstr "fournie pour « %D »"
-#: cp/pt.c:3558
+#: cp/pt.c:3602
#, c-format
msgid "template argument %d is invalid"
msgstr "patron de l'argument %d est invalide"
-#: cp/pt.c:3790
+#: cp/pt.c:3837
msgid "non-template used as template"
msgstr "non patron utilisé comme patron"
-#: cp/pt.c:3908
+#: cp/pt.c:3968
msgid "`%T' is not a template"
msgstr "« %T » n'est pas un patron"
-#: cp/pt.c:3921
+#: cp/pt.c:3981
msgid "non-template type `%T' used as a template"
msgstr "type non patron « %T » utilisé comme un patron"
-#: cp/pt.c:3923
+#: cp/pt.c:3983
msgid "for template declaration `%D'"
msgstr "pour la déclaration du patron « %D »"
-#: cp/pt.c:4486
+#: cp/pt.c:4598
msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
msgstr "instantiation de la profondeur du patron excède le maximum de %d (utiliser -ftemplate-depth-NN pour augmenter le maximum) lors de l'instanciation de « %D »"
-#: cp/pt.c:4921
+#: cp/pt.c:5074
msgid "ambiguous class template instantiation for `%#T'"
msgstr "instanciation ambiguë de patron de classe pour «%#T»"
-#: cp/pt.c:4928
+#: cp/pt.c:5081
msgid "%s %+#T"
msgstr "%s %+#T"
-#: cp/pt.c:5949 cp/pt.c:6054
+#: cp/pt.c:6104 cp/pt.c:6214
msgid "instantiation of `%D' as type `%T'"
msgstr "instanciation de « %D » comme type « %T »"
-#: cp/pt.c:6096
+#: cp/pt.c:6258
msgid "invalid parameter type `%T'"
msgstr "paramètre invalide pour le type « %T »"
-#: cp/pt.c:6098
+#: cp/pt.c:6260
msgid "in declaration `%D'"
msgstr "dans la déclaration de « %D »"
-#: cp/pt.c:6173
+#: cp/pt.c:6335
msgid "creating pointer to member function of non-class type `%T'"
msgstr "création d'un pointeur vers le membre d'une fonction d'un type non classe « %T »"
-#: cp/pt.c:6336
+#: cp/pt.c:6498
msgid "creating array with size zero"
msgstr "création d'un tableau de taille zéro"
-#: cp/pt.c:6350
+#: cp/pt.c:6512
#, c-format
msgid "creating array with size zero (`%E')"
msgstr "création d'un tableau de taille zéro (« %E »)"
-#: cp/pt.c:6589
+#: cp/pt.c:6751
msgid "forming reference to void"
msgstr "formation d'une référence en void"
-#: cp/pt.c:6591
+#: cp/pt.c:6753
msgid "forming %s to reference type `%T'"
msgstr "formant %s pour référencer le type « %T »"
-#: cp/pt.c:6629
+#: cp/pt.c:6791
msgid "creating pointer to member of non-class type `%T'"
msgstr "création d'un pointeur vers le membre d'un type non classe « %T »"
-#: cp/pt.c:6635
+#: cp/pt.c:6797
msgid "creating pointer to member reference type `%T'"
msgstr "création d'un pointeur vers le membre de référence du type « %T »"
-#: cp/pt.c:6713
+#: cp/pt.c:6875
msgid "creating array of `%T'"
msgstr "création du tableau « %T »"
-#: cp/pt.c:6756
+#: cp/pt.c:6918
msgid "`%T' is not a class, struct, or union type"
msgstr "« %T » n'est pas une classe, struct ou un type d'union"
-#: cp/pt.c:6866
+#: cp/pt.c:7028
#, c-format
msgid "use of `%s' in template"
msgstr "utilisation de « %s » dans le patron"
-#: cp/pt.c:7629
+#: cp/pt.c:7790
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr "type « %T » composé à partir d'une classe locale n'est pas un patron d'argument valide"
-#: cp/pt.c:7630
+#: cp/pt.c:7791
msgid " trying to instantiate `%D'"
msgstr " tentative d'instanciation « %D »"
-#: cp/pt.c:8060
+#: cp/pt.c:8230
msgid "incomplete type unification"
msgstr "type d'unification incomplète"
-#: cp/pt.c:9027
+#: cp/pt.c:9178
#, c-format
msgid "use of `%s' in template type unification"
msgstr "utilisation de « %s » dans le patron du type d'unification"
-#: cp/pt.c:9447 cp/pt.c:9515
+#: cp/pt.c:9596 cp/pt.c:9668
msgid "explicit instantiation of non-template `%#D'"
msgstr "instanciation explicite d'un non patron «%#D»"
-#: cp/pt.c:9463 cp/pt.c:9510
+#: cp/pt.c:9612 cp/pt.c:9663
msgid "no matching template for `%D' found"
msgstr "non concordance de patron pour « %D » repéré"
-#: cp/pt.c:9469
+#: cp/pt.c:9618
msgid "explicit instantiation of `%#D'"
msgstr "instanciation explicite de «%#D»"
-#. [temp.spec]
-#.
-#. No program shall both explicitly instantiate and explicitly
-#. specialize a template.
-#: cp/pt.c:9486
-msgid "explicit instantiation of `%#D' after"
-msgstr "instanciation explicite de «%#D» après"
-
-#: cp/pt.c:9487 cp/pt.c:9624
-msgid "explicit specialization here"
-msgstr "spécialisation explicite ici"
-
-#: cp/pt.c:9502
+#: cp/pt.c:9655
msgid "duplicate explicit instantiation of `%#D'"
msgstr "duplication d'instanciation explicite de «%#D»"
-#: cp/pt.c:9527
+#: cp/pt.c:9680
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
-msgstr "ISO C++ interdit l'utilisation de « extern » sur instanciations explicites"
+msgstr "le C++ ISO interdit l'utilisation de « extern » sur instanciations explicites"
-#: cp/pt.c:9531 cp/pt.c:9609
+#: cp/pt.c:9684 cp/pt.c:9762
msgid "storage class `%D' applied to template instantiation"
msgstr "classe de stockage « %D » appliqué à l'instanciation du patron"
-#: cp/pt.c:9576
+#: cp/pt.c:9729
msgid "explicit instantiation of non-template type `%T'"
msgstr "instanciation explicite de type non patron « %T »"
-#: cp/pt.c:9590
+#: cp/pt.c:9743
msgid "explicit instantiation of `%#T' before definition of template"
msgstr "instanciation explicite de «%#T» avant la définition de patron"
-#: cp/pt.c:9598
+#: cp/pt.c:9751
#, c-format
msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
-msgstr "ISO C++ interdit l'utilisation de « %s » sur instanciations explicites"
-
-#: cp/pt.c:9623
-msgid "explicit instantiation of `%#T' after"
-msgstr "instanciation explicite de «%#T» après"
+msgstr "le C++ ISO interdit l'utilisation de « %s » sur instanciations explicites"
-#: cp/pt.c:9641
+#: cp/pt.c:9795
msgid "duplicate explicit instantiation of `%#T'"
msgstr "duplication d'instanciation explicite de «%#T»"
-#: cp/pt.c:10003
+#: cp/pt.c:10177
msgid "explicit instantiation of `%D' but no definition available"
msgstr "instanciation explicite de « %D » mais pas de définition disponible"
-#: cp/pt.c:10375
+#: cp/pt.c:10551
msgid "`%#T' is not a valid type for a template constant parameter"
msgstr "«%#T» n'a pas un type valide pour un patron de parametre de constante"
-#: cp/repo.c:272
+#: cp/repo.c:271
msgid "-frepo must be used with -c"
msgstr "-frepo doit être utilisé avec -c"
-#: cp/repo.c:366
+#: cp/repo.c:361
#, c-format
msgid "mysterious repository information in %s"
msgstr "dépôt mystérieux d'informations dans %s"
-#: cp/repo.c:381
+#: cp/repo.c:376
#, c-format
msgid "can't create repository information file `%s'"
msgstr "ne peut créer le fichier « %s » pour dépôt d'informations"
-#: cp/rtti.c:200
+#: cp/rtti.c:240
msgid "cannot use typeid with -fno-rtti"
msgstr "ne peut utiliser typeid avec -fno-rtti"
-#: cp/rtti.c:206
+#: cp/rtti.c:246
msgid "must #include <typeinfo> before using typeid"
msgstr "doit utiliser #include <typeinfo> avant d'utiliser typeid"
-#: cp/rtti.c:280
+#: cp/rtti.c:320
msgid "cannot create type information for type `%T' because its size is variable"
msgstr "ne peut créer une information pour le type « %T » parce que sa taille est variable"
-#: 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 "dynamic_cast de «%#D» vers «%#T» ne pourra jamais réussir"
-#: cp/rtti.c:614
+#: cp/rtti.c:675
msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
msgstr "ne peut effectuer un dynamic_cast « %E » (du type «%#T') vers le type «%#T» (%s)"
-#: cp/search.c:340
+#: cp/search.c:348
msgid "`%T' is an inaccessible base of `%T'"
msgstr "« %T » est une base inaccessible de « %T »"
-#: cp/search.c:350
+#: cp/search.c:358
msgid "`%T' is an ambiguous base of `%T'"
msgstr "« %T » est une base ambiguë de « %T »"
-#: cp/search.c:1820
+#: cp/search.c:1925
msgid "adjusting pointers for covariant returns"
msgstr "ajuster les pointeurs pour des retours co-variants"
-#: cp/search.c:1824 cp/search.c:1831
+#: cp/search.c:1929 cp/search.c:1936
msgid "invalid covariant return type for `%#D'"
msgstr "type retourné covariant invalide pour «%#D»"
-#: cp/search.c:1825
+#: cp/search.c:1930
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr " écrasant «%#D» (doit être un pointeur ou une référence vers un classe)"
-#: cp/search.c:1832
+#: cp/search.c:1937
msgid " overriding `%#D' (must use pointer or reference)"
msgstr " écrasant «%#D» (doit utiliser un pointeur ou un référence)"
-#: cp/search.c:1837
+#: cp/search.c:1942
msgid "conflicting return type specified for `%#D'"
msgstr "types retournés conflictuels spécifiés pour «%#D»"
-#: cp/search.c:1838
+#: cp/search.c:1943
msgid " overriding `%#D'"
msgstr " écrasant «%#D»"
-#: cp/search.c:1847
+#: cp/search.c:1952
#, c-format
msgid "looser throw specifier for `%#F'"
msgstr "a placé un spécificateur pour «%#F»"
-#: cp/search.c:1848
+#: cp/search.c:1953
#, c-format
msgid " overriding `%#F'"
msgstr " écrasant «%#F»"
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1938
+#: cp/search.c:2042
msgid "`%#D' cannot be declared"
msgstr "«%#D» ne peut être déclaré"
-#: cp/search.c:1939
+#: cp/search.c:2043
msgid " since `%#D' declared in base class"
msgstr " alors que «%#D» est déclaré dans la classe de base"
-#: cp/search.c:2080
+#: cp/search.c:2184
msgid "`%#D' needs a final overrider"
msgstr "«%#D» a besoin d'un écraseur final"
-#: cp/semantics.c:911
+#: cp/semantics.c:919
#, c-format
msgid "type of asm operand `%E' could not be determined"
msgstr "type d'opérande asm « %E » ne peut être déterminé"
-#: cp/semantics.c:1053
+#: cp/semantics.c:1051
msgid "ISO C++ does not permit named return values"
-msgstr "ISO C++ ne permet pas les valeurs retournées nommées"
+msgstr "le C++ ISO ne permet pas les valeurs retournées nommées"
-#: cp/semantics.c:1062
+#: cp/semantics.c:1060
msgid "return identifier `%D' already in place"
msgstr "identificateur retourné « %D » est déjà en place"
-#: cp/semantics.c:1070
+#: cp/semantics.c:1068
msgid "can't redefine default return value for constructors"
msgstr "ne peut redéfinir la valeur retournée par défaut pour les constructeurs"
-#: cp/semantics.c:1137
-msgid "base initializer for `%T'"
-msgstr "initialiseur de base « %T »"
-
-#: cp/semantics.c:1139
-msgid " will be re-ordered to precede member initializations"
-msgstr " sera ré-ordonné pour précéder les initialisations de membre"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr "seuls les constructeurs prennent des initialiseurs de base"
-#: cp/semantics.c:1327
+#: cp/semantics.c:1342
msgid "`this' is unavailable for static member functions"
msgstr "« this » n'est pas disponible pour les membres statiques de fonctions"
-#: cp/semantics.c:1333
+#: cp/semantics.c:1348
msgid "invalid use of `this' in non-member function"
msgstr "utilisation invalide de « ceci » dans un non membre de fonction"
-#: cp/semantics.c:1335
+#: cp/semantics.c:1350
msgid "invalid use of `this' at top level"
-msgstr "utilisation invalide de « ceci » au niveau supérieur"
+msgstr "utilisation invalide de « this » hors de toute fonction"
-#: cp/semantics.c:1373
+#: cp/semantics.c:1380
msgid "calling type `%T' like a method"
msgstr "appel du type « %T » comme une méthode"
-#: cp/semantics.c:1409
+#: cp/semantics.c:1418
msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr "spécificateur du destructeur «%T::~%T()» doit avoir des noms concordants"
-#: cp/semantics.c:1415
+#: cp/semantics.c:1424
msgid "`%E' is not of type `%T'"
msgstr "« %E » n'est pas un type « %T »"
-#: cp/semantics.c:1608
+#: cp/semantics.c:1612
msgid "template type parameters must use the keyword `class' or `typename'"
msgstr "patron de type de paramètres doit utiliser le mot clé « class» ou «typename »"
-#: cp/semantics.c:1670
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr "argument invalide pour le patron par défaut"
+
+#: cp/semantics.c:1693
msgid "definition of `%#T' inside template parameter list"
msgstr "définition de «%#T» à l'intérieur d'un patron de liste de paramètres"
-#: cp/semantics.c:1686
+#: cp/semantics.c:1709
msgid "invalid definition of qualified type `%T'"
msgstr "définition invalide d'un type qualifié « %T »"
-#: cp/semantics.c:2039
+#: cp/semantics.c:2051
+#, fuzzy
+msgid "invalid base-class specification"
+msgstr "spécification de longueur invalide à %0"
+
+#: cp/semantics.c:2060
msgid "base class `%T' has cv qualifiers"
msgstr "classe de base « %T » a des qualificateurs cv"
-#: cp/semantics.c:2072
+#: cp/semantics.c:2091
msgid "multiple declarators in template declaration"
msgstr "déclarateurs multiples dans la déclaration de patron"
-#: cp/spew.c:239
+#: cp/spew.c:225
#, c-format
msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
msgstr "nom d'identificateur « %s » entre en conflit avec la stratégie interne de dénomination de GNU C++"
-#: 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 "erreur d'analyse syntaxique à la fin de la sauvegarde de la fonction texte"
-#: cp/spew.c:1062
+#: cp/spew.c:1090 cp/spew.c:1178
+#, fuzzy
+msgid "%Hend of file read inside definition"
+msgstr "PAS n'est pas alloué dans la définition d'un champ"
+
+#: cp/spew.c:1121
msgid "parse error in method specification"
msgstr "erreur d'analyse syntaxique dans la spécification de fonction"
-#: cp/spew.c:1104
+#: cp/spew.c:1161
msgid "function body for constructor missing"
msgstr "corps de fonction pour le constructeur est manquante"
-#: cp/spew.c:1371
+#: cp/spew.c:1258
+#, fuzzy
+msgid "%Hend of file read inside default argument"
+msgstr "« %D » ne peut avoir d'arguments par défaut"
+
+#: cp/spew.c:1415
msgid "circular dependency in default args of `%#D'"
msgstr "dépendance circulaire dans les arguments par défaut de «%#D»"
-#: cp/spew.c:1435
+#: cp/spew.c:1479
msgid "invalid type `%T' for default argument to `%T'"
msgstr "type invalide « %T » pour l'argument par défaut « %T »"
-#: cp/spew.c:1495
+#: cp/spew.c:1539
#, c-format
msgid "%s before `%s'"
msgstr "%s avant « %s »"
-#: cp/spew.c:1497
+#: cp/spew.c:1541
#, c-format
msgid "%s before `%c'"
msgstr "%s avant « %c »"
-#: cp/spew.c:1499
+#: cp/spew.c:1543
#, c-format
msgid "%s before `\\%o'"
msgstr "%s avant «\\%o»"
-#: cp/spew.c:1502
+#: cp/spew.c:1546
#, c-format
msgid "%s before `%s' token"
-msgstr "%s avantle jeton « %s »"
+msgstr "%s avant l'élément lexical « %s »"
-#: cp/tree.c:224
+#: cp/tree.c:251 cp/tree.c:263
#, c-format
msgid "non-lvalue in %s"
-msgstr "n'est pas un lvalue dans %s"
+msgstr "n'est pas un membre gauche dans %s"
-#: cp/tree.c:578
+#: cp/tree.c:635
msgid "`%V' qualifiers cannot be applied to `%T'"
msgstr "qualificateur « %V » ne peut pas être appliqué à « %T »"
-#: cp/tree.c:581
-msgid "ignoring `%V' qualifiers on `%T'"
-msgstr "qualificateurs « %V » ignorés pour « %T »"
-
-#: cp/tree.c:1920
+#: cp/tree.c:2012
#, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes Java"
-#: cp/tree.c:1950
+#: cp/tree.c:2042
#, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes"
-#: cp/tree.c:1956
+#: cp/tree.c:2048
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr "« %s » est obsolète; vtables g++ sont maintenant COM-compatibles par défaut"
-#: cp/tree.c:1981
+#: cp/tree.c:2073
msgid "requested init_priority is not an integer constant"
msgstr "init_priority demandé n'est pas une constante entière"
-#: cp/tree.c:2002
+#: cp/tree.c:2094
#, c-format
msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
msgstr "peut seulement utiliser l'attribut « %s » sur la portée de fichier de définitions des objets de type de classe"
-#: cp/tree.c:2010
+#: cp/tree.c:2102
msgid "requested init_priority is out of range"
msgstr "init_priority demandé est hors gamme"
-#: cp/tree.c:2020
+#: cp/tree.c:2112
msgid "requested init_priority is reserved for internal use"
msgstr "init_priority demandé est réservé pour un usage interne"
-#: cp/tree.c:2030
+#: cp/tree.c:2122
#, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr "attribut « %s » n'est pas supporté sur cette plate-forme"
-#: cp/typeck.c:518
+#: cp/tree.c:2659
+#, fuzzy, c-format
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr "vérification de l'arbre: attendait %s, obtenu %s dans %s, à %s:%d"
+
+#: cp/typeck.c:524
#, c-format
msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
-msgstr "ISO C++ interdit %s entre les pointeurs de type « void * » et les pointeurs de fonctions"
+msgstr "le C++ ISO interdit %s entre les pointeurs de type « void * » et les pointeurs de fonctions"
-#: cp/typeck.c:539
+#: cp/typeck.c:545
msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
msgstr "%s entre des types distincs de pointeurs « %T » et « %T » manque de transtypage"
-#: cp/typeck.c:1430
+#: cp/typeck.c:1438
msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
-msgstr "ISO C++ interdit la conversion de «%#T» en « (...) »"
+msgstr "le C++ ISO interdit la conversion de «%#T» en « (...) »"
-#: cp/typeck.c:1500
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ISO C++ interdit l'application de « sizeof » sur un type de fonction"
-
-#: cp/typeck.c:1506
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr "ISO C++ interdit l'application de « sizeof » sur le membre d'une fonction"
-
-#: cp/typeck.c:1512
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr "ISO C++ interdit l'application de « sizeof» sur un type «void » qui est un type incomplet"
-
-#: cp/typeck.c:1526
-msgid "`sizeof' applied to non-static member"
-msgstr "« sizeof » appliqué à un membre non statique"
+#: cp/typeck.c:1516
+#, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr "application invalide de « %s » à une fonction membre"
-#: cp/typeck.c:1531
-msgid "`sizeof' applied to incomplete type `%T'"
-msgstr "« sizeof» appliqué sur un type incomplet «%T »"
+#: cp/typeck.c:1522
+#, fuzzy, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "utilisation invalide de « %s » sur un pointeur vers un membre"
-#: cp/typeck.c:1561
+#: cp/typeck.c:1540
msgid "sizeof applied to a bit-field"
msgstr "sizeof appliqué sur un champ de bits"
-#: cp/typeck.c:1564
+#: cp/typeck.c:1543
msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
-msgstr "ISO C++ interdit l'application de « sizeof » sur l'expression d'un type de fonction"
+msgstr "le C++ ISO interdit l'application de « sizeof » sur l'expression d'un type de fonction"
-#: cp/typeck.c:1711
+#: cp/typeck.c:1655
msgid "invalid use of non-lvalue array"
-msgstr "utilisation invalide d'un tableau sans lvalue"
+msgstr "utilisation invalide d'un tableau n'étant pas membre gauche"
-#: cp/typeck.c:1817
+#: cp/typeck.c:1761
msgid "deprecated conversion from string constant to `%T'"
msgstr "conversion dépréciée de la chaîne de constante vers « %T »"
-#: cp/typeck.c:1835
-msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
-msgstr "requête du membre «%T::%D» dans l'expression du type non aggrégat « %T »"
+#: cp/typeck.c:1892 cp/typeck.c:2115
+#, fuzzy
+msgid "request for member `%D' in `%E', which is of non-class type `%T'"
+msgstr "requête du membre « %D » dans « %E », lequel n'est pas de type aggrégat « %T »"
+
+#: cp/typeck.c:1918
+#, fuzzy
+msgid "`%D' is not a member of `%T'"
+msgstr "« %D » n'est pas un membre de type « %T »"
+
+#: cp/typeck.c:1958 cp/typeck.c:1979
+#, fuzzy
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "utilisation invalide d'un champ non statique « %D »"
+
+#: cp/typeck.c:1960 cp/typeck.c:1981
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr ""
-#: cp/typeck.c:2030
+#: cp/typeck.c:2161
+#, fuzzy
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "« %D » n'est pas un membre de type « %T »"
+
+#: cp/typeck.c:2187
msgid "destructor specifier `%T::~%T' must have matching names"
msgstr "spécificateur du destructeur «%T::~%T» doit des noms concordants"
-#: cp/typeck.c:2036
+#: cp/typeck.c:2193
msgid "type `%T' has no destructor"
msgstr "type « %T » n'a pas de destructeur"
-#: cp/typeck.c:2053 cp/typeck.c:2135
-msgid "invalid use of type decl `%#D' as expression"
-msgstr "utilisation invalide du type decl «%#D» comme expression"
-
-#: cp/typeck.c:2058
-msgid "invalid use of template `%#D' as expression"
-msgstr "utilisation invalide du patron «%#D» comme expression"
-
-#: cp/typeck.c:2126
-msgid "`%#T' has no member named `%D'"
-msgstr "«%#T» n'a pas de membre nommé « %D »"
-
-#: cp/typeck.c:2176 cp/typeck.c:2205
-msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
-msgstr "offsetof invalide du type non POD «%#T»; utiliser un pointeur vers un membre à la place"
+#: cp/typeck.c:2232
+#, fuzzy
+msgid "`%D' is not a member template function"
+msgstr "« %D » n'est pas une fonction"
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2316
+#: cp/typeck.c:2326
msgid "`%T' is not a pointer-to-object type"
msgstr "« %T » n'est pas un type pointeur-vers-objet"
-#: cp/typeck.c:2343
+#: cp/typeck.c:2353
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr "utilisation invalide de « %s » sur un pointeur vers un membre"
-#: cp/typeck.c:2349
+#: cp/typeck.c:2359
msgid "invalid type argument"
msgstr "type d'argument invalide"
-#: cp/typeck.c:2452
+#: cp/typeck.c:2462
msgid "ISO C++ forbids subscripting non-lvalue array"
-msgstr "ISO C++ interdit le souscriptage de non lvalue de tableau"
+msgstr "le C++ ISO interdit le souscriptage de non lvalue de tableau"
-#: cp/typeck.c:2463
+#: cp/typeck.c:2473
msgid "subscripting array declared `register'"
msgstr "souscriptage de tableau déclaré « register »"
-#: cp/typeck.c:2638 cp/typeck.c:2788
-msgid "pointer to member function called, but not in class scope"
-msgstr "appel d'un pointeur vers un membre de fonction, mais n'est pas dans le champ de la classe"
-
-#: cp/typeck.c:2662
-msgid "object missing in call to method `%D'"
-msgstr "objet manquant dans l'appel de la méthode « %D »"
-
-#: cp/typeck.c:2706
-msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
-msgstr "fontion « %D » déclarée surchargée, mais aucune définition n'apparaît pour la résoudre?!?"
-
-#: cp/typeck.c:2786
-msgid "invalid call to member function needing `this' in static member function scope"
-msgstr "appel invalide vers un membre de fonction ayant besoin de « ceci » dans le champ du membre statique de la fonction"
+#: cp/typeck.c:2558
+#, c-format
+msgid "object missing in use of `%E'"
+msgstr "objet manquant dans l'usage de « %E »"
-#: cp/typeck.c:2965
+#: cp/typeck.c:2663
msgid "ISO C++ forbids calling `::main' from within program"
-msgstr "ISO C++ interdit l'appel de «::main» à partir de l'intérieur du programme"
+msgstr "le C++ ISO interdit l'appel de «::main» depuis l'intérieur du programme"
-#: cp/typeck.c:2990
+#: cp/typeck.c:2688
#, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr "doit utiliser .* ou ->* pour l'appel de la fonction pointer-to-member dans « %E (...) »"
-#: cp/typeck.c:3003
+#: cp/typeck.c:2701
#, c-format
msgid "`%E' cannot be used as a function"
msgstr "« %E » ne peut être utilisé comme une fonction"
-#: cp/typeck.c:3128
+#: cp/typeck.c:2826
msgid "too many arguments to %s `%+#D'"
-msgstr "trop d'arguments pour %s «%+#D»"
+msgstr "trop d'arguments pour %s « %+#D »"
-#: cp/typeck.c:3169
+#: cp/typeck.c:2867
msgid "parameter type of called function is incomplete"
msgstr "type de paramètre de la fonction appelée est incomplet"
-#: cp/typeck.c:3236
+#: cp/typeck.c:2930
msgid "too few arguments to %s `%+#D'"
-msgstr "pas assez d'argument pour %s «%+#D»"
+msgstr "pas assez d'argument pour %s « %+#D »"
-#: cp/typeck.c:3364 cp/typeck.c:3374
+#: cp/typeck.c:3058 cp/typeck.c:3068
msgid "assuming cast to type `%T' from overloaded function"
msgstr "transtypage vers le type « %T » est assumé à partir de la fonction surchargée"
-#: cp/typeck.c:3434
+#: cp/typeck.c:3128
#, c-format
msgid "division by zero in `%E / 0'"
msgstr "division par zéro dans «%E / 0»"
-#: cp/typeck.c:3436
+#: cp/typeck.c:3130
#, c-format
msgid "division by zero in `%E / 0.'"
msgstr "division par zéro dans «%E / 0.»"
-#: cp/typeck.c:3466
+#: cp/typeck.c:3160
#, c-format
msgid "division by zero in `%E %% 0'"
msgstr "division par zéro dans «%E %% 0»"
-#: cp/typeck.c:3468
+#: cp/typeck.c:3162
#, c-format
msgid "division by zero in `%E %% 0.'"
msgstr "division par zéro dans «%E %% 0.»"
-#: cp/typeck.c:3548
+#: cp/typeck.c:3242
#, c-format
msgid "%s rotate count is negative"
msgstr "compteur de rotation %s est négatif"
-#: cp/typeck.c:3551
+#: cp/typeck.c:3245
#, c-format
msgid "%s rotate count >= width of type"
msgstr "compteur de rotation %s >= largeur du type"
-#: cp/typeck.c:3582 cp/typeck.c:3587 cp/typeck.c:3678 cp/typeck.c:3683
+#: 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 "ISO C++ interdit la comparaison entre un pointeur et un entier"
+msgstr "le C++ ISO interdit la comparaison entre un pointeur et un entier"
-#: cp/typeck.c:3863
+#: cp/typeck.c:3555
msgid "comparison between types `%#T' and `%#T'"
msgstr "comparaison entre les types «%#T» et «%#T»"
-#: cp/typeck.c:3899
+#: cp/typeck.c:3591
msgid "comparison between signed and unsigned integer expressions"
msgstr "comparaison entre des expressions entières signée et non signée"
-#: cp/typeck.c:3964
+#: cp/typeck.c:3656
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr "opérandes invalides pour les types « %T » et « %T » en binaire « %O »"
@@ -16817,274 +17585,281 @@ msgstr "opérandes invalides pour les types « %T » et « %T » en binaire « %O »"
#. 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:3986
+#: cp/typeck.c:3678
msgid "NULL used in arithmetic"
msgstr "NULL utilisé en arithmétique"
-#: cp/typeck.c:4053
+#: cp/typeck.c:3745
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
-msgstr "ISO C++ interdit l'utilisation d'un pointeur de type « void * » dans une soustraction"
+msgstr "le C++ ISO interdit l'utilisation d'un pointeur de type « void * » dans une soustraction"
-#: cp/typeck.c:4055
+#: cp/typeck.c:3747
msgid "ISO C++ forbids using pointer to a function in subtraction"
-msgstr "ISO C++ interdit l'utilisation d'un pointeur survers une fonction dans une soustraction"
+msgstr "le C++ ISO interdit l'utilisation d'un pointeur survers une fonction dans une soustraction"
-#: cp/typeck.c:4057
+#: cp/typeck.c:3749
msgid "ISO C++ forbids using pointer to a method in subtraction"
-msgstr "ISO C++ interdit l'utilisation d'un pointeur survers une méthode dans une soustraction"
+msgstr "le C++ ISO interdit l'utilisation d'un pointeur survers une méthode dans une soustraction"
-#: cp/typeck.c:4059
+#: cp/typeck.c:3751
msgid "ISO C++ forbids using pointer to a member in subtraction"
-msgstr "ISO C++ interdit l'utilisation d'un pointeur vers un membre dans une soustraction"
+msgstr "le C++ ISO interdit l'utilisation d'un pointeur vers un membre dans une soustraction"
-#: cp/typeck.c:4071
+#: cp/typeck.c:3763
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr "utilisation invalide d'un pointeur vers un type incomplet dans un pointeur arithmétique"
-#: cp/typeck.c:4108
-msgid "attempt to take address of bit-field structure member `%D'"
-msgstr "tentative de prise d'adresse du membre « %D » d'une structure de champ de bits"
+#: 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:3829
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr ""
-#: cp/typeck.c:4185
+#: cp/typeck.c:3852
msgid "taking address of temporary"
msgstr "prise de l'adresse du temporaire"
-#: cp/typeck.c:4387
+# FIXME: I18N
+#: cp/typeck.c:4055
#, c-format
msgid "ISO C++ forbids %sing an enum"
-msgstr "ISO C++ interdit %sing un enum"
+msgstr "le C++ ISO interdit de %ser un enum"
-#: cp/typeck.c:4399
+#: cp/typeck.c:4067
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr "ne peut utiliser %s comme pointeur sur un type incomplet « %T »"
-#: cp/typeck.c:4406
+#: cp/typeck.c:4074
msgid "ISO C++ forbids %sing a pointer of type `%T'"
-msgstr "ISO C++ interdit %utilisation d'un pointeur de type « %T »"
+msgstr "le C++ ISO interdit %s utilisation d'un pointeur de type « %T »"
-#: cp/typeck.c:4431
+#: cp/typeck.c:4099
msgid "cast to non-reference type used as lvalue"
-msgstr "transtypage d'un type non référencé utilisé comme lvalue"
+msgstr "transtypage d'un type non référencé utilisé comme membre gauche"
-#: cp/typeck.c:4465
+#: cp/typeck.c:4133
msgid "invalid use of `--' on bool variable `%D'"
msgstr "utilisation invalide de «--» sur une variable booléenne « %D »"
#. ARM $3.4
-#: cp/typeck.c:4498
+#: cp/typeck.c:4166
msgid "ISO C++ forbids taking address of function `::main'"
-msgstr "ISO C++ interdit de prendre l'adresse d'une fonction «::main»"
+msgstr "le C++ ISO interdit de prendre l'adresse d'une fonction «::main»"
#. An expression like &memfn.
-#: cp/typeck.c:4565
+#: 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 "ISO C++ interdit de prendre l'adress d'un membre de fonction non statique non qualifié pour former un pointeur d'un membre de fonction. Disons «&%T::%D»"
+msgstr "le C++ ISO interdit de prendre l'adress d'un membre de fonction non statique non qualifié pour former un pointeur d'un membre de fonction. Disons «&%T::%D»"
-#: cp/typeck.c:4567
+#: 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 "ISO C++ interdit de prendre l'adresse d'une borne d'un membre de fontion pour former un membre à la fonction. Disons «&%T::%D»"
+msgstr "le C++ ISO interdit de prendre l'adresse d'une borne d'un membre de fontion pour former un membre à la fonction. Disons «&%T::%D»"
-#: cp/typeck.c:4591
+#: cp/typeck.c:4259
msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
-msgstr "ISO C++ interdit de prendre l'adresse du transtypage vers une expression non lvalue"
+msgstr "le C++ ISO interdit de prendre l'adresse du transtypage vers une expression n'etant pas membre gauche"
-#: cp/typeck.c:4607
-msgid "unary `&'"
-msgstr "unaire «&»"
+#: cp/typeck.c:4290
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "tentative de prise d'adresse du membre « %D » d'une structure de champ de bits"
-#: cp/typeck.c:4727
+#: cp/typeck.c:4418
msgid "taking address of destructor"
msgstr "prise de l'adresse du destructeur"
-#: cp/typeck.c:4740
+#: cp/typeck.c:4431
msgid "taking address of bound pointer-to-member expression"
msgstr "prise de l'adresse de la borne de l'expression d'un pointeur-vers-un membre"
-#: cp/typeck.c:4756
+#: cp/typeck.c:4447
msgid "cannot create pointer to reference member `%D'"
msgstr "ne peut déclarer un pointeur vers le membre de référence « %D »"
-#: cp/typeck.c:4824
+#: cp/typeck.c:4510
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr "ne peut prendre l'adresse de « ceci », laquelle est une expression rvalue"
-#: cp/typeck.c:4840
+#: cp/typeck.c:4529
msgid "address requested for `%D', which is declared `register'"
msgstr "adresse requise pour « %D», lequel est déclaré «register »"
-#: cp/typeck.c:5060
+#: cp/typeck.c:4750
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr "static_cast du type « %T » vers le type « %T » fait un transtypage sans constante"
-#: cp/typeck.c:5068
+#: cp/typeck.c:4758
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr "static_cast invalide du type « %T » au type « %T »"
-#: cp/typeck.c:5107
+#: cp/typeck.c:4797
msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr "reinterpret_cast invalide d'une expression rvalue de type « %T » vers le type « %T »"
-#: cp/typeck.c:5127
+#: cp/typeck.c:4817
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr "reinterpret_cast de « %T » vers « %T » génère une perte de précision"
-#: cp/typeck.c:5140
+#: cp/typeck.c:4830
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr "reinterpret_cast de « %T » vers « %T » fait un transtypage écartant la constante (ou volatile)"
-#: cp/typeck.c:5149
+#: cp/typeck.c:4839
msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
-msgstr "ISO C++ interdit le transtypage entre un pointeur de fonction et un pointeur d'objet"
+msgstr "le C++ ISO interdit le transtypage entre un pointeur de fonction et un pointeur d'objet"
-#: cp/typeck.c:5155
+#: cp/typeck.c:4845
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr "reinterpret_cast invalide à partir du type « %T » vers le type « %T »"
-#: cp/typeck.c:5182
+#: 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 "utilisation invalide de const_cast avec le type « %T », lequel n'est pas un pointeur, une référence, ni un type pointeur-vers-données-membre"
-#: cp/typeck.c:5185
+#: cp/typeck.c:4875
msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
msgstr "utilisation invalide de const_cast avec le type « %T », lequel est un pointeur ou un référence à un type de fonction"
-#: cp/typeck.c:5208
+#: cp/typeck.c:4898
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr "const_cast invalide de la rvalue du type « %T » vers le type « %T »"
-#: cp/typeck.c:5224
+#: cp/typeck.c:4914
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr "const_cast invalide à partir du type « %T » vers le type « %T »"
-#: cp/typeck.c:5266 cp/typeck.c:5271
+#: cp/typeck.c:4956 cp/typeck.c:4961
msgid "ISO C++ forbids casting to an array type `%T'"
-msgstr "ISO C++ interdit le transtypage vers un type tableau « %T »"
+msgstr "le C++ ISO interdit le transtypage vers un type tableau « %T »"
-#: cp/typeck.c:5279
+#: cp/typeck.c:4969
msgid "invalid cast to function type `%T'"
msgstr "transtypage invalide pour un type de fonction « %T »"
-#: cp/typeck.c:5331
+#: cp/typeck.c:5021
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr "transtypage de « %T » vers « %T » écarte les qualificateurs du type cible du pointeur"
-#: cp/typeck.c:5377
+#: cp/typeck.c:5067
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr "transtypage de « %T » vers « %T » augmente l'alignement requis pour le type ciblé"
-#: cp/typeck.c:5546
+#: cp/typeck.c:5235
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr " lors de l'évaluation de «%Q(%#T, %#T)»"
-#: cp/typeck.c:5588
+#: cp/typeck.c:5277
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
-msgstr "ISO C++ interdit le transtypage d'un type non référencé utilisé comme lvalue"
+msgstr "le C++ ISO interdit le transtypage d'un type non référencé utilisé comme membre gauche"
-#: cp/typeck.c:5659
+#: cp/typeck.c:5349
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr "type incompatible dans l'affectation de « %T » vers « %T »"
-#: cp/typeck.c:5666
+#: cp/typeck.c:5356
msgid "ISO C++ forbids assignment of arrays"
-msgstr "ISO C++ interdit l'affectation de tableaux"
+msgstr "le C++ ISO interdit l'affectation de tableaux"
-#: cp/typeck.c:5809
+#: cp/typeck.c:5499
msgid " in pointer to member function conversion"
msgstr " dans la conversion d'un pointeur vers un membre de fonction"
-#: cp/typeck.c:5817
+#: cp/typeck.c:5507
msgid " in pointer to member conversion"
msgstr " dans la conversion d'un pointeur vers un membre"
#. This is a reinterpret cast, we choose to do nothing.
-#: cp/typeck.c:5828 cp/typeck.c:5847
+#: cp/typeck.c:5518 cp/typeck.c:5537
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr "pointeur vers un membre transtypé via la base virtuelle « %T » de « %T »"
-#: cp/typeck.c:5851
+#: cp/typeck.c:5541
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr "conversion de pointeur à membre à l'aide de la base virtuelle « %T » vers « %T »"
-#: cp/typeck.c:5921
+#: cp/typeck.c:5611
msgid "invalid conversion to type `%T' from type `%T'"
msgstr "conversion invalide vers un type « %T » à partir du type « %T »"
-#: cp/typeck.c:6086
+#: cp/typeck.c:5776
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr "passage d'un NULL utilisé pour un non pointeur %s %P de « %D »"
-#: cp/typeck.c:6089
+#: cp/typeck.c:5779
msgid "%s to non-pointer type `%T' from NULL"
msgstr "%s vers un type non pointeur « %T » à partir d'un NULL"
-#: cp/typeck.c:6097
+#: cp/typeck.c:5787
msgid "passing `%T' for %s %P of `%D'"
msgstr "passage « %T » pour %s %P de « %D »"
-#: cp/typeck.c:6100
+#: cp/typeck.c:5790
msgid "%s to `%T' from `%T'"
msgstr "%s vers « %T » à partir de « %T »"
-#: cp/typeck.c:6110
+#: cp/typeck.c:5800
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr "passage de valeur négative « %E » pour %s %P de « %D »"
-#: cp/typeck.c:6113
+#: cp/typeck.c:5803
msgid "%s of negative value `%E' to `%T'"
msgstr "%s de valeur négative « %E » vers « %T »"
-#: cp/typeck.c:6200
+#: cp/typeck.c:5898
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr "ne peut convertir « %T » à « %T » pour l'argument « %P » vers « %D »"
-#: cp/typeck.c:6203
+#: cp/typeck.c:5901
msgid "cannot convert `%T' to `%T' in %s"
msgstr "ne peut convertir « %T » vers « %T » dans %s"
-#: cp/typeck.c:6290 cp/typeck.c:6292
+#: cp/typeck.c:5988 cp/typeck.c:5990
msgid "in passing argument %P of `%+D'"
msgstr "dans le passage de l'argument %P de «%+D»"
-#: cp/typeck.c:6406
+#: cp/typeck.c:6105
msgid "returning reference to temporary"
msgstr "retourné la référence vers le temporaire"
-#: cp/typeck.c:6413
+#: cp/typeck.c:6112
msgid "reference to non-lvalue returned"
-msgstr "référence vers un non lvalue a été retourné"
+msgstr "une référence vers quelque chose n'étant pas un membre gauche a été retourné"
-#: cp/typeck.c:6425
+#: cp/typeck.c:6124
msgid "reference to local variable `%D' returned"
msgstr "référence vers une variable locale « %D » retourné"
-#: cp/typeck.c:6428
+#: cp/typeck.c:6127
msgid "address of local variable `%D' returned"
msgstr "adresse d'une variable locale « %D » retournée"
-#: cp/typeck.c:6459
+#: cp/typeck.c:6158
msgid "returning a value from a destructor"
msgstr "retourné une valeur du destructeur"
#. If a return statement appears in a handler of the
#. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:6467
+#: cp/typeck.c:6166
msgid "cannot return from a handler of a function-try-block of a constructor"
msgstr "ne peut retourner d'un handler d'une fonction try-block d'un constructeur"
#. You can't return a value from a constructor.
-#: cp/typeck.c:6470
+#: cp/typeck.c:6169
msgid "returning a value from a constructor"
msgstr "retourné une valeur d'un constructeur"
-#: cp/typeck.c:6487
+#: cp/typeck.c:6186
msgid "return-statement with no value, in function declared with a non-void return type"
msgstr "déclaration d'un retour sans valeur, dans la fonction déclarée avec un type retourné non void"
-#: cp/typeck.c:6503
+#: cp/typeck.c:6202
msgid "return-statement with a value, in function declared with a void return type"
msgstr "déclaration d'un retour sans valeur, dans la fonction déclarée avec un type retourné void"
-#: cp/typeck.c:6524
+#: cp/typeck.c:6223
msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr "« operator new» ne doit pas retourner NULL à moins qu'il ne soit déclaré «throw() » (ou -fcheck-new est utilisée)"
@@ -17128,193 +17903,151 @@ msgstr "\t%#D"
msgid " since type `%T' has abstract virtual functions"
msgstr " depuis que le type « %T » a des fonctions virtuelles abstraites"
-#: cp/typeck2.c:213
-msgid "invalid use of undefined type `%#T'"
-msgstr "utilisation invalide d'un type indéfini «%#T»"
-
-#: cp/typeck2.c:214
-msgid "forward declaration of `%#T'"
-msgstr "déclaration par l'avant (forward) de «%#T»"
-
-#: cp/typeck2.c:218
-msgid "invalid use of `%T'"
-msgstr "utilisation invalide de « %T »"
-
-#: cp/typeck2.c:232
-msgid "invalid use of member (did you forget the `&' ?)"
-msgstr "utilisation invalide de membre (avez-vous oublié le «&» ?)"
-
-#: cp/typeck2.c:236
-msgid "invalid use of template type parameter"
-msgstr "utilisation invalide de patron de type de paramètres"
-
-#: cp/typeck2.c:243
-msgid "address of overloaded function with no contextual type information"
-msgstr "adresse de la fonction surchargée sans information contextuelle de type"
-
-#: cp/typeck2.c:245
-msgid "overloaded function with no contextual type information"
-msgstr "fonction surchargée sans information contextuelle de type"
-
-#: cp/typeck2.c:247
-msgid "insufficient contextual information to determine type"
-msgstr "information contextuelle insuffisante pour déterminer le type"
-
-#: cp/typeck2.c:301
+#: cp/typeck2.c:331
msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr "syntaxe de constructeur utilisé mais aucun constructeur déclaré pour le type « %T »"
-#: cp/typeck2.c:311
-msgid "initializer list construction invalid for derived class object `%D'"
-msgstr "initialiseur de construction de liste invalide pour l'objet de classe dérivée « %D »"
-
-#: cp/typeck2.c:313
-msgid "initializer list construction invalid for polymorphic class object `%D'"
-msgstr "initialiseur de construction de liste invalide pour l'objet de classe polymorphique « %D »"
-
-#: cp/typeck2.c:316 cp/typeck2.c:322 cp/typeck2.c:328
-msgid "initializer list construction invalid for `%D'"
-msgstr "construction de la liste d'initialiseurs invalide pour « %D »"
-
-#: cp/typeck2.c:317
-msgid "due to the presence of a constructor"
-msgstr "en raison de la présence d'un constructeur"
-
-#: cp/typeck2.c:323 cp/typeck2.c:329
-msgid "due to non-public access of member `%D'"
-msgstr "en raison d'un accès non public du membre « %D »"
-
-#: cp/typeck2.c:341
+#: cp/typeck2.c:342
msgid "comma expression used to initialize return value"
msgstr "expression virgule utilsée pour initialiser la valeur de retour"
-#: cp/typeck2.c:350
+#: cp/typeck2.c:351
msgid "cannot initialize arrays using this syntax"
msgstr "ne peut initialiser les tableaux en utilisant la syntaxe"
-#: cp/typeck2.c:412
+#: cp/typeck2.c:406
msgid "ISO C++ forbids non-constant aggregate initializer expressions"
-msgstr "ISO C++ interdit les expressions d'initialiseur d'aggrégat de non constante"
+msgstr "le C++ ISO interdit les expressions d'initialiseur d'aggrégat de non constante"
-#: cp/typeck2.c:498
+#: cp/typeck2.c:490
msgid "initializing array with parameter list"
msgstr "initialise le tableau avec la liste des paramètres"
-#: cp/typeck2.c:554
+#: cp/typeck2.c:546
msgid "initializer for scalar variable requires one element"
-msgstr "initialiseur pour la variable scalaire requiert un élément"
+msgstr "l'initialisation de variable scalaire requiert un élément"
-#: cp/typeck2.c:561
+#: cp/typeck2.c:553
msgid "braces around scalar initializer for `%T'"
msgstr "accolades autour de l'initialiseur scalaire pour « %T »"
-#: cp/typeck2.c:564
+#: cp/typeck2.c:556
msgid "ignoring extra initializers for `%T'"
-msgstr "initialiseurs superflus ignorés pour « %T »"
+msgstr "initialiseurs superflus pour « %T » ignorés"
-#: cp/typeck2.c:576
+#: cp/typeck2.c:568
msgid "variable-sized object of type `%T' may not be initialized"
-msgstr "objet de taille variable de type « %T » peut ne pas être initialisé"
+msgstr "un objet de taille variable de type « %T » peut ne pas être initialisé"
-#: cp/typeck2.c:586
+#: cp/typeck2.c:578
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr "sous-objet de type « %T » doit être initialisé par un constructeur, non pas par « %E »"
-#: cp/typeck2.c:652
+#: cp/typeck2.c:644
msgid "aggregate has a partly bracketed initializer"
-msgstr "aggrégat a un initialiseur partiellement entourée d'accolades"
+msgstr "aggrégat a un initialiseur partiellement entouré d'accolades"
-#: cp/typeck2.c:690 cp/typeck2.c:791
+#: cp/typeck2.c:682 cp/typeck2.c:786
msgid "non-trivial labeled initializers"
-msgstr "initialiseur étiquetée non trivial"
+msgstr "initialiseur étiqueté de manière non trivial"
-#: cp/typeck2.c:707
+#: cp/typeck2.c:699
msgid "non-empty initializer for array of empty elements"
-msgstr "initialiseurs non vides pour le tableau d'éléments vides"
+msgstr "initialiseurs non vides pour un tableau d'éléments vides"
-#: cp/typeck2.c:757
+#: cp/typeck2.c:752
msgid "initializer list for object of class with virtual base classes"
msgstr "liste d'initialiseurs pour les objets de classe avec classes de base virtuelles"
-#: cp/typeck2.c:763
+#: cp/typeck2.c:758
msgid "initializer list for object of class with base classes"
msgstr "liste d'initialiseurs pour les objets de classe avec classes de base"
-#: cp/typeck2.c:769
+#: cp/typeck2.c:764
msgid "initializer list for object using virtual functions"
msgstr "liste d'initialiseurs pour objet utilisant des fonctions virtuelles"
-#: cp/typeck2.c:832 cp/typeck2.c:849
+#: cp/typeck2.c:827 cp/typeck2.c:843
msgid "missing initializer for member `%D'"
msgstr "initialiseur manquant pour le membre « %D »"
-#: cp/typeck2.c:837
+#: cp/typeck2.c:832
msgid "uninitialized const member `%D'"
msgstr "membre de constante non initialisé pour « %D »"
-#: cp/typeck2.c:840
+#: cp/typeck2.c:834
msgid "member `%D' with uninitialized const fields"
msgstr "membre « %D » avec des champs de constantes non initialisée"
-#: cp/typeck2.c:843
+#: cp/typeck2.c:837
msgid "member `%D' is uninitialized reference"
msgstr "membre « %D » est une référence non initialisée"
-#: cp/typeck2.c:886
+#: cp/typeck2.c:883
msgid "index value instead of field name in union initializer"
msgstr "valeur index au lieu du nom de champ dans l'initialiseur d'union"
-#: cp/typeck2.c:898
+#: cp/typeck2.c:895
msgid "no field `%D' in union being initialized"
msgstr "pas de champ « %D » dans l'aggrégat n'a été initialisé"
-#: cp/typeck2.c:906
+#: cp/typeck2.c:903
msgid "union `%T' with no named members cannot be initialized"
msgstr "aggrégat « %T » sans mambre nommé ne peut être initialisé"
-#: cp/typeck2.c:942
+#: cp/typeck2.c:939
msgid "excess elements in aggregate initializer"
msgstr "éléments en excès dans l'initialiseur d'aggrégat"
-#: cp/typeck2.c:1047
+#: cp/typeck2.c:1053
msgid "circular pointer delegation detected"
msgstr "délégation de pointeur circulaire détecté"
-#: cp/typeck2.c:1060
+#: cp/typeck2.c:1066
msgid "base operand of `->' has non-pointer type `%T'"
msgstr "l'opérande de base de «->» a un type non pointeur « %T »"
-#: cp/typeck2.c:1074
+#: cp/typeck2.c:1080
msgid "result of `operator->()' yields non-pointer result"
msgstr "résultat de « operator->() » laisse comme résultat un non pointeur"
-#: cp/typeck2.c:1076
+#: cp/typeck2.c:1082
msgid "base operand of `->' is not a pointer"
msgstr "l'opérande de base de «->» n'est pas un pointeur"
-#: cp/typeck2.c:1142
+#: cp/typeck2.c:1148
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr "« %E » ne peut être utilisé comme pointeur de membre, alors qu'il est de type « %T »"
-#: cp/typeck2.c:1149
+#: cp/typeck2.c:1155
msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr "ne peut appliquer un pointeur de membre « %E » à « %E », lequel n'est pas un type d'aggrégat « %T »"
-#: cp/typeck2.c:1158
+#: cp/typeck2.c:1164
msgid "member type `%T::' incompatible with object type `%T'"
msgstr "type du membre «%T::» incompatible avec le type d'objet « %T »"
-#: cp/typeck2.c:1195
+#: cp/typeck2.c:1201
msgid "`%T' fails to be a typedef or built-in type"
msgstr "« %T » a échoué à devenir un typedef ou un type construit interne"
-#: cp/typeck2.c:1268
+#: cp/typeck2.c:1274
#, c-format
msgid "ISO C++ forbids defining types within %s"
-msgstr "ISO C++ interdit la définition de types à l'intérieur de %s"
+msgstr "le C++ ISO interdit la définition de types à l'intérieur de %s"
+
+#: cp/typeck2.c:1399
+#, fuzzy
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "ne peut utiliser %s comme pointeur sur un type incomplet « %T »"
+
+#: cp/typeck2.c:1402
+#, fuzzy
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "ne peut utiliser %s comme pointeur sur un type incomplet « %T »"
#. XXX Not i18n clean.
-#: cp/cp-tree.h:3854
+#: cp/cp-tree.h:3846
#, c-format
msgid "%s is deprecated, please see the documentation for details"
msgstr "%s est déprécié, SVP voir la documentation pour les détails"
@@ -17479,65 +18212,65 @@ msgstr "Ne pas avertir lorsque des fonctions amis sans patron sont déclarés à l'
msgid "Don't announce deprecation of compiler features"
msgstr "Ne pas annoncer la dépréciation des options du compilateur"
-#: f/bad.c:386
+#: f/bad.c:387
msgid "note:"
-msgstr "note:"
+msgstr "note :"
-#: f/bad.c:390
+#: f/bad.c:391
msgid "warning:"
-msgstr "AVERTISSEMENT:"
+msgstr "avertissement :"
-#: f/bad.c:394
+#: f/bad.c:395
msgid "fatal:"
-msgstr "FATAL:"
+msgstr "fatal :"
-#: f/bad.c:436
+#: f/bad.c:437
msgid "(continued):"
-msgstr "(poursuite)"
+msgstr "(suite) :"
-#: f/bad.c:486 f/bad.c:504
+#: f/bad.c:487 f/bad.c:505
msgid "[REPORT BUG!!] %"
-msgstr "[RAPPORTER L'ANOMALIE!!]"
+msgstr "[RAPPORTER L'ANOMALIE!!] %"
-#: f/bad.c:493 f/bad.c:525
+#: f/bad.c:494 f/bad.c:526
msgid "[REPORT BUG!!]"
msgstr "[RAPPORTER L'ANOMALIE!!]"
-#: f/com.c:3122
+#: f/com.c:3132
#, no-c-format
msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
msgstr "l'étiquette affectée ne peut s'insérer dans « %A » à %0 - utilisation d'un voisinage plus grand"
-#: f/com.c:11606
+#: f/com.c:11551
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr "AUCUN type ENTIER ne peut tenir un pointeur sur cette configuration"
-#: f/com.c:11831
+#: f/com.c:11772
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
-msgstr "configuration: REAL, INTEGER, et LOGICAL ont %d bits,"
+msgstr "configuration : REAL, INTEGER, et LOGICAL ont %d bits,"
-#: f/com.c:11833
+#: f/com.c:11774
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
-msgstr "et les pointeura ont %d bits, mais g77 ne fonctionne pas encore"
+msgstr "et les pointeurs ont %d bits, mais g77 ne fonctionne pas encore"
-#: f/com.c:11835
+#: f/com.c:11776
msgid "properly unless they all are 32 bits wide"
msgstr "correctement à moins qu'ils aient tous 32 bits de largeur"
-#: f/com.c:11836
+#: f/com.c:11777
msgid "Please keep this in mind before you report bugs."
msgstr "SVP garder cela en tête avant de rapporter les anomalies."
#. I/O will probably crash.
-#: f/com.c:11844
+#: f/com.c:11785
#, c-format
msgid "configuration: char * holds %d bits, but ftnlen only %d"
msgstr "configuration: char * contient %d bits, mais ftnlen seulement %d"
#. ASSIGN 10 TO I will crash.
-#: f/com.c:11853
+#: f/com.c:11794
#, c-format
msgid ""
"configuration: char * holds %d bits, but INTEGER only %d --\n"
@@ -17546,68 +18279,68 @@ msgstr ""
"configuration: char * contient %d bits, mais INTEGER seulement %d --\n"
" déclaration ASSIGN pourrait échouer"
-#: f/com.c:13687
+#: f/com.c:13609
msgid "In statement function"
msgstr "Dans la déclaration de fonction"
-#: f/com.c:13697
+#: f/com.c:13619
msgid "Outside of any program unit:\n"
msgstr "En dehors de toute unité de programme:\n"
-#: f/com.c:15386
+#: f/com.c:15248
#, no-c-format
msgid "%A from %B at %0%C"
msgstr "%A à partir de %B à %0%C"
-#: f/com.c:15563
+#: f/com.c:15425
msgid "directory name must immediately follow -I"
msgstr "nom du répertoire doit suivre immédiatement -I"
-#: f/com.c:15706
+#: f/com.c:15568
#, no-c-format
msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr "À %0, fichier INCLUDE %A existe mais n'est pas lisible"
-#: f/com.c:15741
+#: f/com.c:15603
#, no-c-format
msgid "At %0, INCLUDE nesting too deep"
msgstr "À %0, imbrication du INCLUDE est trop profonde"
-#: 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 "Deux opérateurs arithmétiques dans la rangée à %0 et %1 -- utiliser des parenthèses"
-#: 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 "L'opérateur à %0 a une précédence plus basse que celui à %1 -- utiliser des parenthèses"
-#: 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 "Utiliser .EQV./.NEQV. au lieu de .EQ./.NE. à %0 pour les opérandes LOGICAL à %1 et %2"
-#: f/expr.c:10895
+#: f/expr.c:10896
#, no-c-format
msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
msgstr "Opérande non supportée pour ** à %1 -- conversion à INTEGER par défaut"
-#: f/g77spec.c:256
+#: f/g77spec.c:255
#, c-format
msgid "overflowed output arg list for `%s'"
msgstr "débordement de la liste d'arguments de sortie pour « %s »"
-#: f/g77spec.c:395
+#: f/g77spec.c:394
msgid "--driver no longer supported"
msgstr "--driver n'est plus supporté"
-#: f/g77spec.c:408
+#: f/g77spec.c:407
#, c-format
msgid "argument to `%s' missing"
msgstr "argument pour « %s » est manquant"
-#: f/g77spec.c:412
+#: f/g77spec.c:411
msgid "no input files; unwilling to write output files"
msgstr "aucun fichier d'entrée; pas d'accord pour écrire dans les fichiers de sortie"
@@ -17616,121 +18349,103 @@ msgstr "aucun fichier d'entrée; pas d'accord pour écrire dans les fichiers de so
msgid "Implicit declaration of `%A' at %0"
msgstr "déclaration implicite de « %A » à %0"
-#: f/lex.c:274
-#, no-c-format
-msgid "The meaning of `\\x' (at %0) varies with -traditional"
-msgstr "La signification de «\\x» (à %0) varie avec l'option -traditional"
-
-#: f/lex.c:325
-#, no-c-format
-msgid "The meaning of `\\a' (at %0) varies with -traditional"
-msgstr "La signification de «\\a»(à %0) varie avec -traditional"
-
-#: f/lex.c:355
+#: f/lex.c:326
#, no-c-format
msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
-msgstr "séquence d'échappement non conforme au standard ISO-C «\\%A» à %0"
+msgstr "séquence d'échappement non conforme au standard C ISO «\\%A» à %0"
-#: f/lex.c:374
+#: f/lex.c:345
#, no-c-format
msgid "Unknown escape sequence `\\%A' at %0"
msgstr "séquence d'échappement inconnue «\\%A» à %0"
-#: f/lex.c:383
+#: f/lex.c:354
#, no-c-format
msgid "Unterminated escape sequence `\\' at %0"
msgstr "séquence d'échappement non terminée «\\» at %0"
-#: f/lex.c:394
+#: f/lex.c:365
#, no-c-format
msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
msgstr "séquence d'échappement inconnue «\\» suivi par le code de caractères 0x%A at %0"
-#: f/lex.c:422
+#: f/lex.c:393
#, no-c-format
msgid "\\x used at %0 with no following hex digits"
msgstr "\\x utilisé à %0 sans être suivi des chiffres hexdécimaux"
-#: f/lex.c:436
+#: f/lex.c:407
#, no-c-format
msgid "Hex escape at %0 out of range"
msgstr "échappement hexadécimal à %0 hors gamme"
-#: f/lex.c:470
+#: f/lex.c:441
#, no-c-format
msgid "Escape sequence at %0 out of range for character"
msgstr "séquence d'échappement à %0 hors gamme pour le type caractère"
-#: f/lex.c:593
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr "la signification de «\\x» varie avec l'option -traditional"
-
-#: f/lex.c:630
+#: f/lex.c:595
msgid "hex escape out of range"
msgstr "échappement hexadécimal hors gamme"
-#: f/lex.c:676
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr "le sens de «\\a» varie avec -traditional"
-
-#: f/lex.c:692
+#: f/lex.c:648
#, c-format
msgid "non-ANSI-standard escape sequence, `\\%c'"
msgstr "séquence d'échappement n'est pas ANSI standard: «\\%c'"
-#: f/lex.c:705
+#: f/lex.c:661
#, c-format
msgid "non-ISO escape sequence `\\%c'"
msgstr "séquence d'échappement non ISO «\\%c'"
-#: f/lex.c:709
+#: f/lex.c:665
#, c-format
msgid "unknown escape sequence `\\%c'"
msgstr "séquence d'échappement inconnue: «\\%c'"
-#: f/lex.c:711
+#: f/lex.c:667
#, c-format
msgid "unknown escape sequence: `\\' followed by char code 0x%x"
msgstr "séquence d'échappement inconnue: «\\» suivi par le code de caractères 0x%x"
-#: f/lex.c:788
+#: f/lex.c:744
msgid "badly formed directive -- no closing quote"
msgstr "directive mal composée -- pas de guillement ou d'apostrophe de fermeture"
-#: f/lex.c:846
+#: f/lex.c:802
msgid "#-lines for entering and leaving files don't match"
msgstr "#-lines pour entrer et quitter les fichiers ne concordent pas"
-#: f/lex.c:1008
+#: f/lex.c:964
msgid "bad directive -- missing close-quote"
msgstr "directive erronée -- manque un apostrophe ou un guillemet de fermeture"
-#: f/lex.c:1122
+#: f/lex.c:1078
#, c-format
msgid "ignoring pragma: %s"
msgstr "pragma: %s ignoré"
-#: f/lex.c:1200
+#: f/lex.c:1156
msgid "invalid #ident"
msgstr "#ident invalide"
-#: f/lex.c:1217
+#: f/lex.c:1173
msgid "undefined or invalid # directive"
msgstr "directive # non définie ou invalide"
-#: f/lex.c:1273
+#: f/lex.c:1229
msgid "invalid #line"
msgstr "#line invalide"
-#: f/lex.c:1329 f/lex.c:1373
+#: f/lex.c:1285 f/lex.c:1329
msgid "use `#line ...' instead of `# ...' in first line"
msgstr "utiliser « #line ... » au lieu de « # ... » dans la première ligne"
-#: f/lex.c:1383
+#: f/lex.c:1339
msgid "invalid #-line"
msgstr "#-line invalide"
-#: f/lex.c:1476
+#: f/lex.c:1432
#, no-c-format
msgid "Null character at %0 -- line ignored"
msgstr "caractère null à %0 -- ligne ignorée"
@@ -17740,21 +18455,21 @@ msgstr "caractère null à %0 -- ligne ignorée"
msgid "INCLUDE at %0 not the only statement on the source line"
msgstr "INCLUDE à %0 n'est pas la seule déclaration sur la ligne source"
-#: f/ste.c:1404 f/ste.c:1755
+#: f/ste.c:1400 f/ste.c:1747
msgid "ASSIGNed FORMAT specifier is too small"
msgstr "spécificateur dans ASSIGN FORMAT est trop petit"
#. ~~~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 "SÉLECTION du CASE sur un type CHARACTER (à %0) n'est pas supporté -- désolé"
-#: f/ste.c:2965
+#: f/ste.c:2953
msgid "ASSIGN to variable that is too small"
msgstr "ASSIGN à la variable est trop petit"
-#: f/ste.c:2993
+#: f/ste.c:2981
msgid "ASSIGNed GOTO target variable is too small"
msgstr "variable cible par ASSIGN GOTO est trop petite"
@@ -17763,21 +18478,21 @@ msgstr "variable cible par ASSIGN GOTO est trop petite"
msgid "Local adjustable symbol `%A' at %0"
msgstr "Symbole local ajustable « %A » à %0"
-#: f/target.c:2560
+#: f/target.c:2550
msgid "data initializer on host with different endianness"
msgstr "initialiseur de données sur l'hôte a un alignement des octets différent (endian)"
-#: f/top.c:238
+#: f/top.c:237
#, c-format
msgid "%s no longer supported -- try -fvxt"
msgstr "%s n'est plus supporté -- essayer -fvxt"
-#: f/top.c:240
+#: f/top.c:239
#, c-format
msgid "%s no longer supported -- try -fno-vxt -ff90"
msgstr "%s n'est plus supporté -- essayer -fno-vxt -ff90"
-#: f/top.c:308 f/top.c:310
+#: f/top.c:307 f/top.c:309
#, c-format
msgid "%s disabled, use normal debugging flags"
msgstr "%s désactivé, utiliser le fanion normal de mise au point"
@@ -18103,7 +18818,7 @@ msgstr "constante caractère de longueur zéro à %0"
#: f/bad.def:45
#, no-c-format
msgid "Invalid token at %0 in expression or subexpression at %1"
-msgstr "jeton invalide à %0 dans l'expression ou la sous-expression à %0"
+msgstr "élément lexical invalide à %0 dans l'expression ou la sous-expression à %1"
#: f/bad.def:48
#, no-c-format
@@ -18148,7 +18863,7 @@ msgstr "Numéro d'étiquette à %0 n'est pas entre les bornes 1-99999"
#: f/bad.def:77
#, no-c-format
msgid "At %0, '!' and '/*' are not valid comment delimiters"
-msgstr "À %0, «!» et «/*» ne sont pas des délimiteurs de commentaire valides"
+msgstr "À %0, « ! » et « /* » ne sont pas des délimiteurs de commentaire valides"
#: f/bad.def:80
#, no-c-format
@@ -18208,7 +18923,7 @@ msgstr "Opérateur binaire attendu entre les expressions à %0 et à %1"
#: f/bad.def:253
#, no-c-format
msgid "Semicolon at %0 is an invalid token"
-msgstr "«;» à %0 est une jeton invalide"
+msgstr "Point-virgule (« ; ») en %0 est un élément lexical invalide"
#: f/bad.def:271
#, no-c-format
@@ -18713,12 +19428,12 @@ msgstr "Tentative de spécifier une seconde valeur initial pour « %A » à %0"
#: f/bad.def:886
#, no-c-format
msgid "Too few initial values in list of initializers for `%A' at %0"
-msgstr "Trop peu de valeurs initiales dans la liste des initialisateurs pour « %A » à %0"
+msgstr "Trop peu de valeurs initiales dans la liste des initialisations pour « %A » à %0"
#: f/bad.def:889
#, no-c-format
msgid "Too many initial values in list of initializers starting at %0"
-msgstr "Trop de valeurs initiales dans la liste des initialisateurs débutant à %0"
+msgstr "Trop de valeurs initiales dans la liste des initialisations débutant à %0"
#: f/bad.def:892
#, no-c-format
@@ -18858,7 +19573,7 @@ msgstr "caractère initial « %A » est en minuscule dans le nom de symbole à %0"
#: f/bad.def:1013
#, no-c-format
msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
-msgstr "nom de liste n'est pas adéquatement supporté par la librairie d'exécution pour les fichiers source avec une casse préservée"
+msgstr "nom de liste n'est pas adéquatement supporté par la bibliothèque d'exécution pour les fichiers source avec une casse préservée"
#: f/bad.def:1016
#, no-c-format
@@ -18992,319 +19707,325 @@ msgstr "Dans la liste de noms"
msgid "In anything"
msgstr "Dans n'importe quoi"
-#: java/check-init.c:915
+#: java/check-init.c:917
#, c-format
msgid "internal error in check-init: tree code not implemented: %s"
msgstr "erreur interne dans check-init: arbre de code n'est pas implanté: %s"
-#: java/check-init.c:988
+#: java/check-init.c:990
#, c-format
msgid "final field '%s' may not have been initialized"
msgstr "champ final « %s » peut ne pas avoir été initialisé"
-#: java/class.c:568 java/class.c:593
+#: java/class.c:539 java/class.c:564
msgid "internal error - too many interface type"
msgstr "erreur interne - trop de type d'interface"
-#: java/class.c:744
+#: java/class.c:677
msgid "bad method signature"
msgstr "méthode de signature erronée"
-#: java/class.c:793
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
msgstr "attribut ConstantValue mal positionné (n'est dans aucun champ)"
-#: java/class.c:795
+#: java/class.c:728
#, c-format
msgid "duplicate ConstantValue attribute for field '%s'"
msgstr "duplication de l'attribut ConstanValue pour le champ « %s »"
-#: java/class.c:806
+#: java/class.c:739
#, c-format
msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr "attribut ConstanValue du champ « %s » a un type erroné"
-#: java/class.c:1170
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
msgstr "champ « %s » n'a pas été repéré dans la classe"
-#: java/class.c:1432
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
msgstr "méthode abstraite dans une classe non abstraite"
-#: java/class.c:2133
+#: java/class.c:2067
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr "méthode non statique « %s » écrase la méthode statique"
-#: java/decl.c:1515
+#: java/decl.c:1537
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr "Dans %s: chevauchement de variable et plage d'exception à %d"
-#: java/decl.c:1603
+#: java/decl.c:1618
msgid "bad type in parameter debug info"
msgstr "type erroné dans les paramètres d'informations de mise au point"
-#: java/decl.c:1613
+#: java/decl.c:1628
#, c-format
msgid "bad PC range for debug info for local `%s'"
msgstr "plage PC erroné pour les infos de débug pour la var. locale « %s »"
-#: java/expr.c:549
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
msgstr "sous débordement de la pile - opération dup*"
-#: java/expr.c:1541
+#: java/expr.c:1536
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr "référence « %s » est ambigue: apparaît dans l'interface « %s » et l'interface « %s »"
-#: java/expr.c:1570
+#: java/expr.c:1565
#, c-format
msgid "field `%s' not found"
msgstr "champ « %s » n'a pas été trouvé"
-#: java/expr.c:1725
+#: java/expr.c:1717
msgid "ret instruction not implemented"
msgstr "instruction ret n'est pas implantée"
-#: java/expr.c:1862
+#: java/expr.c:1852
#, c-format
msgid "method '%s' not found in class"
msgstr "méthode « %s » n'a pas été repéré dans la classe"
-#: java/expr.c:2066
+#: java/expr.c:2055
#, c-format
msgid "failed to find class '%s'"
msgstr "échec de repérage de la classe « %s »"
-#: java/expr.c:2078
+#: java/expr.c:2065
#, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr "classe « %s » n'a pas de méthode nommée « %s » concordant avec la signature « %s »"
-#: java/expr.c:2088
+#: java/expr.c:2075
msgid "invokestatic on non static method"
msgstr "invocation statique sur un méthode non statique"
-#: java/expr.c:2093
+#: java/expr.c:2080
msgid "invokestatic on abstract method"
msgstr "invocation statique sur un méthode abstraite"
-#: java/expr.c:2101
+#: java/expr.c:2088
msgid "invoke[non-static] on static method"
msgstr "invocation non statique sur un méthode statique"
-#: java/expr.c:2386
+#: java/expr.c:2373
#, c-format
msgid "missing field '%s' in '%s'"
msgstr "champ « %s » manquant dans « %s »"
-#: java/expr.c:2392
+#: java/expr.c:2379
#, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr "aignature ne concorde pas pour le champ « %s » dans « %s »"
-#: java/expr.c:2415
+#: java/expr.c:2402
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr "affectation au champ final « %s » n'est pas le champ de la classe"
-#: java/expr.c:2420
+#: java/expr.c:2407
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
msgstr "affectation au champ statique final « %s » n'est pas dans l'initialiseur de la classe"
-#: java/expr.c:2427
+#: java/expr.c:2414
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr "affectation au champ final « %s » n'est pas dans le constructeur"
-#: java/expr.c:2665
+#: java/expr.c:2661
#, c-format
msgid "can't expand %s"
msgstr "ne peut faire l'expansion de %s"
-#: java/expr.c:2841
+#: java/expr.c:2838
msgid "invalid PC in line number table"
msgstr "PC invalide dans la numéro de ligne de la table"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2886
+#: java/expr.c:2883
#, c-format
msgid "unreachable bytecode from %d to before %d"
msgstr "bytcode n'est pas atteignable à partir de %d jusqu'à %d"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2923
+#: java/expr.c:2920
#, c-format
msgid "unreachable bytecode from %d to the end of the method"
msgstr "bytcode n'est pas atteignable à partir de %d jusqu'à la fin de la méthode."
#. duplicate code from LOAD macro
-#: java/expr.c:3237
+#: java/expr.c:3238
msgid "unrecogized wide sub-instruction"
msgstr "sous-instruction très large non reconnue"
-#: 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 "fichier source de la classe « %s » est plus récent que son fichier de classe concordant. Fichier source « %s » utilisé à la place."
-#: java/jcf-parse.c:376
+#: java/jcf-parse.c:338
msgid "bad string constant"
msgstr "constante chaîne erronée"
-#: java/jcf-parse.c:394
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
msgstr "valeur %d de type de constante erronée, index %d"
-#: java/jcf-parse.c:566
+#: java/jcf-parse.c:528
#, c-format
msgid "can't reopen %s"
msgstr "ne peut ré-ouvrir %s"
-#: java/jcf-parse.c:571
+#: java/jcf-parse.c:533
#, c-format
msgid "can't close %s"
msgstr "ne peut fermer %s"
-#: java/jcf-parse.c:653
+#: java/jcf-parse.c:615
#, c-format
msgid "cannot find file for class %s"
msgstr "ne peut repérer le fichier pour la classe %s."
-#: java/jcf-parse.c:665
+#: java/jcf-parse.c:627
msgid "not a valid Java .class file"
msgstr "n'est pas un fichier Java .class valide"
-#: java/jcf-parse.c:668
+#: java/jcf-parse.c:630
msgid "error while parsing constant pool"
msgstr "error lors de l'analyse syntaxique du lots de constantes"
-#: java/jcf-parse.c:671
+#: java/jcf-parse.c:633
#, c-format
msgid "error in constant pool entry #%d\n"
msgstr "erreur dans l'entrée #%d du lot de constantes\n"
#. FIXME - where was first time
-#: java/jcf-parse.c:683
+#: java/jcf-parse.c:645
#, c-format
msgid "reading class %s for the second time from %s"
msgstr "lecture de la classe %s pour la seconde fois depuis %s"
-#: java/jcf-parse.c:701
+#: java/jcf-parse.c:663
msgid "error while parsing fields"
msgstr "erreur lors de l'analyse syntaxique des champs"
-#: java/jcf-parse.c:704
+#: java/jcf-parse.c:666
msgid "error while parsing methods"
msgstr "erreur lors de l'analyse syntaxique des méthodes"
-#: java/jcf-parse.c:707
+#: java/jcf-parse.c:669
msgid "error while parsing final attributes"
msgstr "erreur lors de l'analyse syntaxique des attributs"
-#: java/jcf-parse.c:721
+#: java/jcf-parse.c:683
#, c-format
msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr "« java.lang.Object» qui a été repéré dans « %s » n'avait pas l'attribut spécial de longueur zéro «gnu.gcj.gcj-compiled». Cela généralement signifie que le chemin d'accès aux classes est incorrectement initialisé. Utiliser «info gcj \"Input Options\" » pour accéder aux informations décrivant comment initialiser le chemin d'accès des classes."
-#: java/jcf-parse.c:811
+#: java/jcf-parse.c:773
msgid "missing Code attribute"
msgstr "attribut Code manquant"
-#: java/jcf-parse.c:1050
+#: java/jcf-parse.c:1010
msgid "source file seen twice on command line and will be compiled only once"
msgstr "fichier source vu deux fois sur la ligne de commande et ne sera compilé une seule fois"
-#: java/jcf-parse.c:1066
+#: java/jcf-parse.c:1026
msgid "no input file specified"
msgstr "aucun fichier n'a été spécifié à l'entrée"
-#: java/jcf-parse.c:1095
+#: java/jcf-parse.c:1055
#, c-format
msgid "can't close input file %s"
msgstr "ne peut fermer le fichier d'entrée %s"
-#: java/jcf-parse.c:1132
+#: java/jcf-parse.c:1092
#, c-format
msgid "bad zip/jar file %s"
msgstr "fichier zip/jar erroné %s"
-#: java/jcf-write.c:2630
+#: java/jcf-write.c:2641
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr "erreur interne dans generate_bytecode_insn - arbre de code n'est pas implanté: %s"
-#: java/jcf-write.c:2937
+#: java/jcf-write.c:2979
msgid "field initializer type mismatch"
msgstr "type de initialiseur du champ ne concorde pas"
-#: java/jcf-write.c:3346
+#: java/jcf-write.c:3387
#, c-format
msgid "can't create directory %s"
msgstr "ne peut créer le répertoire %s"
-#: java/jv-scan.c:183
+#: java/jcf-write.c:3441
+#, c-format
+msgid "can't create %s"
+msgstr "ne peut créer %s"
+
+#: java/jv-scan.c:187
msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
msgstr "seule une des options «--print-main», «--list-class» et «--complexity» est permise"
-#: java/jv-scan.c:186
+#: java/jv-scan.c:190
#, c-format
msgid "can't open output file `%s'"
msgstr "ne peut ouvrir le fichier de sortie « %s »"
-#: java/jv-scan.c:220
+#: java/jv-scan.c:224
#, c-format
msgid "file not found `%s'"
msgstr "fichier non repéré « %s »"
-#: java/jvspec.c:427
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
msgstr "ne peut spécifier «-D» sans «--main»\n"
-#: java/jvspec.c:430
+#: java/jvspec.c:429
#, c-format
msgid "`%s' is not a valid class name"
msgstr "« %s » n'est pas un nom de classe valide"
-#: java/jvspec.c:436
-msgid "-R requires -o"
+#: java/jvspec.c:435
+#, fuzzy
+msgid "--resource requires -o"
msgstr "-R requiert -o"
-#: java/jvspec.c:443
+#: java/jvspec.c:442
msgid "warning: already-compiled .class files ignored with -C"
msgstr "AVERTISSEMENT: fichiers .class déjà compilés ignorés avec -C"
-#: java/jvspec.c:450
+#: java/jvspec.c:449
msgid "cannot specify both -C and -o"
msgstr "ne peut spécéfier à la fois -C et -o"
-#: java/jvspec.c:462
+#: java/jvspec.c:461
msgid "cannot create temporary file"
msgstr "ne peut créer un fichier temporaire"
-#: java/jvspec.c:490
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
msgstr "utilisé ensemble @FICHIER avec de multiples fichiers bMest pas implanté"
-#: java/jvspec.c:548
+#: java/jvspec.c:538
msgid "cannot specify `main' class when not linking"
msgstr "ne peut spécifier la classe « main » lorsqu'il n'y a pas d'édition de liens"
-#: java/lang.c:453
+#: java/lang.c:543
msgid "can't do dependency tracking with input from stdin"
msgstr "ne peut faire le tracking de dépendance avec l'entrée à partir de stdin"
-#: java/lang.c:469
+#: java/lang.c:559
msgid "couldn't determine target name for dependency tracking"
msgstr "ne peut déterminer le nom de la cible pour le tracking de dépendance"
-#: java/lex.c:308
+#: java/lex.c:303
#, c-format
msgid ""
"unknown encoding: `%s'\n"
@@ -19324,192 +20045,232 @@ msgstr ""
msgid "can't mangle %s"
msgstr "ne peut mutiler %s"
-#: 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 "erreur interne - nom Utf8 invalide"
-#: /usr/share/bison.simple:650
-msgid "parse error; also virtual memory exceeded"
-msgstr "erreur d,analyse syntaxique; aussi la mémoire virtuelle est épuisée"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:747 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:785
-msgid "Missing name"
-msgstr "Nom manquant"
+#: ../../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 "Terme manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:749 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:787 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:812 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:996 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1343 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1554 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1556 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1785 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1811 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1822 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1833 /abuild/pthomas/gcc-3.1-20020415/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 "«;» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:810
+#: ../../gcc-3cvs/gcc/java/parse.y:732 ../../gcc-3cvs/gcc/java/parse.y:770
+msgid "Missing name"
+msgstr "Nom manquant"
+
+#: ../../gcc-3cvs/gcc/java/parse.y:795
msgid "'*' expected"
-msgstr "«*» attendu"
+msgstr "« * » attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:824
+#: ../../gcc-3cvs/gcc/java/parse.y:809
msgid "Class or interface declaration expected"
msgstr "Déclaration de classe ou d'interface attendue"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:859 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:861
+#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848
msgid "Missing class name"
msgstr "Nom de classe manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:864 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:868 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:876 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1041 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1289 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1291 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1620 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1856 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1888 /abuild/pthomas/gcc-3.1-20020415/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 "«{» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:878
+#: ../../gcc-3cvs/gcc/java/parse.y:865
msgid "Missing super class name"
msgstr "Nom de super classe manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:888 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:904
+#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891
msgid "Missing interface name"
msgstr "Nom d'interface manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:975 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1308 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1369 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1578 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1800 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1809 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1820 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1831 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1843 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1860 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1862 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1933 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2104 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2166 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2318 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2330 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2337 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2344 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2355 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2357 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2395 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2397 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2399 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2420 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2422 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2424 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2440 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2442 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2463 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2465 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2467 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2495 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2497 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2499 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2501 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2519 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2521 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2532 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2543 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2554 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2565 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2576 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2589 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2593 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2595 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2608
-msgid "Missing term"
-msgstr "Terme manquant"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:990
+#: ../../gcc-3cvs/gcc/java/parse.y:977
msgid "Missing variable initializer"
msgstr "Initialiseur de variable manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1007
+#: ../../gcc-3cvs/gcc/java/parse.y:994
msgid "Invalid declaration"
msgstr "Déclaration invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1013
-msgid "Can't specify array dimension in a declaration"
-msgstr "Ne peut spécifier la dimension du tableau dans la déclaration"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1015 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1091 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2141 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2163 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2167 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2202 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2279 /abuild/pthomas/gcc-3.1-20020415/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 "«]» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1019
+#: ../../gcc-3cvs/gcc/java/parse.y:1001
msgid "Unbalanced ']'"
msgstr "«]» non pairé"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1055
+#: ../../gcc-3cvs/gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
msgstr "Déclaration de méthode invalide, nom de méthode requis"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1061 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1063 /abuild/pthomas/gcc-3.1-20020415/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 "Identificateur attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1066
+#: ../../gcc-3cvs/gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
msgstr "Déclaration de méthode invalide, type retourné requis"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1089 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1534 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1541 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1550 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1552 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1580 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1688 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1969 /abuild/pthomas/gcc-3.1-20020415/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 "«)» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1105
+#: ../../gcc-3cvs/gcc/java/parse.y:1096
msgid "Missing formal parameter term"
msgstr "Paramètre term formel manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1120 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1125
+#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116
msgid "Missing identifier"
msgstr "Identificateur manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1145 /abuild/pthomas/gcc-3.1-20020415/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 "Type term de classe manquant"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1306
+#: ../../gcc-3cvs/gcc/java/parse.y:1301
msgid "Invalid interface type"
msgstr "Type d'interface invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1498 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1667 /abuild/pthomas/gcc-3.1-20020415/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 "«:» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1520 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1525 /abuild/pthomas/gcc-3.1-20020415/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 "Déclaration d'expression invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1548 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1576 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1616 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1684 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1752 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1858 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1926 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2016 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2018 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2026 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2262 /abuild/pthomas/gcc-3.1-20020415/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 "«(» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1618
+#: ../../gcc-3cvs/gcc/java/parse.y:1614
msgid "Missing term or ')'"
msgstr "Terme manquant ou «)»"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1665
+#: ../../gcc-3cvs/gcc/java/parse.y:1661
msgid "Missing or invalid constant expression"
msgstr "Expresion de constante manquante ou invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1686
+#: ../../gcc-3cvs/gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr "Terme manquant et «)» attendus"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1725
+#: ../../gcc-3cvs/gcc/java/parse.y:1721
msgid "Invalid control expression"
msgstr "Expression de contrôle invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1727 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1729
+#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725
msgid "Invalid update expression"
msgstr "Expression de mise à jour invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1754
+#: ../../gcc-3cvs/gcc/java/parse.y:1750
msgid "Invalid init statement"
msgstr "Déclaration init invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1929
+#: ../../gcc-3cvs/gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr "Terme manquant ou «)» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1971
+#: ../../gcc-3cvs/gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
msgstr "« class» ou «ceci » attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1973 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1975
+#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987
msgid "'class' expected"
msgstr "« class » attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2020
+#: ../../gcc-3cvs/gcc/java/parse.y:2032
msgid "')' or term expected"
msgstr "«)» or terme attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2139
+#: ../../gcc-3cvs/gcc/java/parse.y:2151
msgid "'[' expected"
msgstr "«[» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2217
+#: ../../gcc-3cvs/gcc/java/parse.y:2229
msgid "Field expected"
msgstr "Champ attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2274 /abuild/pthomas/gcc-3.1-20020415/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 "Terme manquant et «]» attendu"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2388
+#: ../../gcc-3cvs/gcc/java/parse.y:2400
msgid "']' expected, invalid type expression"
msgstr "«]» attendu, type d'expression invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2391
+#: ../../gcc-3cvs/gcc/java/parse.y:2403
msgid "Invalid type expression"
msgstr "Type d'expression invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2503
+#: ../../gcc-3cvs/gcc/java/parse.y:2515
msgid "Invalid reference type"
msgstr "Type de référence invalide"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2981
+#: ../../gcc-3cvs/gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
msgstr "L'invaocation d'un constructeur doit être la première chose dans un constructeur"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2983
+#: ../../gcc-3cvs/gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr "Seuls les constructeurs peuvent invoquer des constructeurs"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2992
+#: ../../gcc-3cvs/gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
msgstr ": « %s » option JDK1.1(TM)"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:3052 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:3054
+#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
@@ -19518,54 +20279,54 @@ msgstr ""
"%s.\n"
"%s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:6833
+#: ../../gcc-3cvs/gcc/java/parse.y:6867
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr "archive .zip mal composée dans CLASSPATH: %s"
-#: /abuild/pthomas/gcc-3.1-20020415/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 "ne peut repérer le package par défaut « %s ». Vérifier la variable d'environnement CLASSPATH et l'accès aux archives."
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12228
+#: ../../gcc-3cvs/gcc/java/parse.y:12266
#, c-format
msgid "missing static field `%s'"
msgstr "champ statique manquant « %s »"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12233
+#: ../../gcc-3cvs/gcc/java/parse.y:12271
#, c-format
msgid "not a static field `%s'"
msgstr "n'est pas un champ statique « %s »"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12276
+#: ../../gcc-3cvs/gcc/java/parse.y:12314
#, c-format
msgid "No case for %s"
msgstr "Oas de case pour %s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:13122
+#: ../../gcc-3cvs/gcc/java/parse.y:13240
#, c-format
msgid "unregistered operator %s"
msgstr "opérator %s non enregistré"
-#: java/typeck.c:178
-msgid "internal error - use of undefined type"
-msgstr "erreur interne - utilisation d'un type non défini"
-
-#: java/typeck.c:566
+#: java/typeck.c:553
msgid "junk at end of signature string"
msgstr "rebut à la fin de la chaîne de signature"
-#: java/verify.c:480
+#: java/verify.c:479
msgid "bad pc in exception_table"
msgstr "PC erroné dans exception_table"
-#: 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 "code-op inconnu %d@pc=%d durant la vérification"
-#: 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 "erreur de vérification au PC=%d"
@@ -19580,7 +20341,7 @@ msgstr "Désactiver la vérificaitions des affectations dans les tableaux d'objets
#: java/lang-options.h:36
msgid "Assume native functions are implemented using JNI"
-msgstr "Assumer que les fonctions natives sont implantées et qu'elles utilisent JNI"
+msgstr "Présumer que les fonctions natives sont implantées et qu'elles utilisent JNI"
#: java/lang-options.h:38
msgid "Replace system path"
@@ -19634,121 +20395,132 @@ msgstr "Ne jamais optimiser le code d'initialisation de classe statique"
msgid "Use offset tables for virtual method calls"
msgstr "Utiliser des tables de décalage pour les appels de méthodes virtuelles"
-#: objc/objc-act.c:606
-msgid "no class name specified as argument to -fconstant-string-class"
-msgstr "pas de nom de classe spécifier dans l'argument à -fconstant-string-class"
-
-#: objc/objc-act.c:757
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
msgstr "objet n'est pas conforme au protocole « %s »"
-#: objc/objc-act.c:801
+#: objc/objc-act.c:737 objc/objc-act.c:810
#, c-format
msgid "class `%s' does not implement the `%s' protocol"
msgstr "classe « %s » n'implante pas le protocole « %s »"
-#: objc/objc-act.c:882
+#: objc/objc-act.c:914
#, c-format
msgid "`%s' cannot be statically allocated"
msgstr "« %s » ne peut être statiquement alloué"
-#: objc/objc-act.c:939
+#: objc/objc-act.c:963
#, c-format
msgid "unexpected type for `id' (%s)"
msgstr "type inattendu pour « id » (%s)"
-#: objc/objc-act.c:944
+#: objc/objc-act.c:968
msgid "undefined type `id', please import <objc/objc.h>"
msgstr "type « id » indéfini, SVP importer <objc/objc.h>"
-#: objc/objc-act.c:996
+#: objc/objc-act.c:1019
#, c-format
msgid "protocol `%s' has circular dependency"
msgstr "le protocole « %s » a une dépendance circulaire"
-#: objc/objc-act.c:1018 objc/objc-act.c:5229
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, c-format
msgid "cannot find protocol declaration for `%s'"
msgstr "ne peut repérer la déclaration de protocole pour « %s »"
-#: objc/objc-act.c:1279 objc/objc-act.c:5747 objc/objc-act.c:6077 objc/objc-act.c:6126 objc/objc-act.c:6162 objc-parse.y:1752
+#: 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 "ne peut repérer la déclaration d'interface pour « %s »"
-#: objc/objc-act.c:1304
+#: objc/objc-act.c:1328
#, c-format
msgid "cannot find reference tag for class `%s'"
msgstr "ne peut repérer la référence pour l'étiquette de classe %s."
-#: objc/objc-act.c:2314
+#: objc/objc-act.c:2050
+#, fuzzy, c-format
+msgid "creating selector for non existant method %s"
+msgstr "conflit potentiel sur le sélecteur pour la méthode « %s »"
+
+#: objc/objc-act.c:2364
#, c-format
msgid "cannot find class `%s'"
msgstr "ne peut repérer la classe « %s »"
-#: objc/objc-act.c:2316
+#: objc/objc-act.c:2366
#, c-format
msgid "class `%s' already exists"
msgstr "classe « %s » existe déjà"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2440
+#: objc/objc-act.c:2473
#, c-format
msgid "cannot find interface declaration for `%s', superclass of `%s'"
msgstr "ne peut repérer une déclaration d'interface pour « %s », super classe de « %s »"
-#: objc/objc-act.c:2447
+#: objc/objc-act.c:2480
#, c-format
msgid "circular inheritance in interface declaration for `%s'"
msgstr "héritage circulaire dans la déclaration de l'interface pour « %s »"
-#: objc/objc-act.c:3500 objc/objc-act.c:3517
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
msgid "inconsistent instance variable specification"
msgstr "spécification inconsistente avec l'instance de la vairable"
-#: objc/objc-act.c:4710
+#: 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 "multiples déclarations pour la méthode « %s »"
-#: objc/objc-act.c:4876
+#: objc/objc-act.c:4946
#, c-format
msgid "invalid receiver type `%s'"
msgstr "type du receveur invalide « %s »"
-#: objc/objc-act.c:4907 objc/objc-act.c:4933 objc/objc-act.c:4981
+#: 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 "« %s » ne répond pas à « %s »"
-#: objc/objc-act.c:4913 objc/objc-act.c:7197
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, c-format
msgid "no super class declared in interface for `%s'"
msgstr "pas de super classe déclarée dans l'interface pour « %s »"
-#: objc/objc-act.c:5011
+#: objc/objc-act.c:5081
msgid "cannot find class (factory) method"
msgstr "ne peut repérer de méthode de classe (manufacturé)"
-#: objc/objc-act.c:5012 objc/objc-act.c:5056
+#: objc/objc-act.c:5082 objc/objc-act.c:5126
#, c-format
msgid "return type for `%s' defaults to id"
msgstr "type retourné pour « %s » par défaut est id"
-#: objc/objc-act.c:5029
+#: objc/objc-act.c:5099
#, c-format
msgid "method `%s' not implemented by protocol"
msgstr "méthode « %s » n'est pas implantée dans le protocole."
-#: objc/objc-act.c:5038
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
msgstr "type retourné par défaut est id"
-#: objc/objc-act.c:5055
+#: objc/objc-act.c:5125
msgid "cannot find method"
msgstr "ne peut repérer la méthode"
+#: objc/objc-act.c:5399
+#, fuzzy, c-format
+msgid "undeclared selector `%s'"
+msgstr "identificateur « %s » non déclaré"
+
#. 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
@@ -19758,108 +20530,108 @@ msgstr "ne peut repérer la méthode"
#. 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:5298
+#: objc/objc-act.c:5443
#, c-format
msgid "instance variable `%s' accessed in class method"
msgstr "instance « %s » de la variable accédé par la méthode de classe"
-#: objc/objc-act.c:5548
+#: objc/objc-act.c:5678
#, c-format
msgid "duplicate definition of class method `%s'"
msgstr "duplication de définition de la méthode de la classe « %s »"
-#: objc/objc-act.c:5554
+#: objc/objc-act.c:5684
#, c-format
msgid "duplicate declaration of class method `%s'"
msgstr "duplication de déclaration de la méthode de classe « %s »"
-#: objc/objc-act.c:5590
+#: objc/objc-act.c:5720
#, c-format
msgid "duplicate definition of instance method `%s'"
msgstr "duplication de définition de la méthode d'instanciation « %s »"
-#: objc/objc-act.c:5596
+#: objc/objc-act.c:5726
#, c-format
msgid "duplicate declaration of instance method `%s'"
msgstr "duplication de déclaration de la méthode d'instanciation « %s »"
-#: objc/objc-act.c:5636
+#: objc/objc-act.c:5766
#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
msgstr "duplication de déclaration d'interface pour la catégorie «%s(%s)»"
-#: objc/objc-act.c:5722
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr "instance de la variable « %s » est déclaré privée"
-#: objc/objc-act.c:5769
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr "instance de la variable « %s » est déclaré %s"
-#: objc/objc-act.c:5779
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
msgstr "accès statique à un objket de type « id »"
-#: objc/objc-act.c:5816 objc/objc-act.c:5909
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
msgid "incomplete implementation of class `%s'"
msgstr "implantation incomplète de la classe « %s »"
-#: objc/objc-act.c:5820 objc/objc-act.c:5914
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, c-format
msgid "incomplete implementation of category `%s'"
msgstr "implantation incomplète de la catégorie « %s »"
-#: objc/objc-act.c:5825 objc/objc-act.c:5919
+#: objc/objc-act.c:5943 objc/objc-act.c:6037
#, c-format
msgid "method definition for `%c%s' not found"
msgstr "définition de la méthode pour «%c%s» n'a pas été repérée"
-#: objc/objc-act.c:5963
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr "%s « %s » n'implante pas complètement le protocole « %s »"
-#: objc/objc-act.c:6021 objc/objc-act.c:8118
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
msgid "`@end' missing in implementation context"
msgstr "«@end» manquant dans l'implantation du contexte"
-#: objc/objc-act.c:6049
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr "ré-implantation de la classe « %s »"
-#: objc/objc-act.c:6091
+#: objc/objc-act.c:6209
#, c-format
msgid "conflicting super class name `%s'"
msgstr "nom de super classe « %s » est conflictuel"
-#: objc/objc-act.c:6106
+#: objc/objc-act.c:6224
#, c-format
msgid "duplicate interface declaration for class `%s'"
msgstr "double déclaration d'interface pour la classe « %s »"
-#: objc/objc-act.c:6388
+#: objc/objc-act.c:6506
#, c-format
msgid "duplicate declaration for protocol `%s'"
msgstr "double déclaration pour le protocole « %s »"
-#: objc/objc-act.c:7238
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr "[super ...] doit apparaître dans une méthode du contexte"
-#: objc/objc-act.c:8220 objc/objc-act.c:8236
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
msgstr "conflit potentiel sur le sélecteur pour la méthode « %s »"
-#: objc-parse.y:2612
+#: objc-parse.y:2656
msgid "`@end' must appear in an implementation context"
msgstr "«@end» doit appraître dans un contaxte d'implantation"
-#: objc-parse.y:2886
+#: objc-parse.y:2932
msgid "method definition not in class context"
msgstr "méthode de définition n'est pas dans un contexte de classe"
@@ -19891,58 +20663,134 @@ msgstr "Générer des en-têtes C pour les options spécifiques de la plate-forme"
msgid "Specify the name of the class for constant strings"
msgstr "Spécifier le nom de la classe pour les constantes chaînes"
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "-fjni et -femit-class-files sont incompatibles"
+#. 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 ""
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "-fjni et -femit-class-file sont incompatibles"
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr ""
-#: java/lang-specs.h:35 java/lang-specs.h:36
-msgid "-femit-class-file should used along with -fsyntax-only"
-msgstr "-femit-class-file dervait être utilisé avec -fsyntax-only"
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr ""
-#: config/nextstep.h:161 config/nextstep.h:164
-msgid "-p profiling is no longer supported. Use -pg instead"
-msgstr "-p profilage n'est plus supporté. Utiliser -pg à la place."
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr ""
-#: config/arm/arm.h:211
-msgid "-mapcs-26 and -mapcs-32 may not be used together"
-msgstr "-mapcs-26 et -mapcs-32 ne peuvent être utilisés ensembles"
+#: config/darwin.h:220
+#, fuzzy
+msgid "-bundle not allowed with -dynamiclib"
+msgstr "-mlong-double-64 n'est pas permis avec -m64"
-#: config/arm/arm.h:223
-msgid "-msoft-float and -mhard_float may not be used together"
-msgstr "-msoft-float et -mhard_float ne peuvent être utilisées ensembles"
+#: config/darwin.h:221
+#, fuzzy
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr "-mlong-double-64 n'est pas permis avec -m64"
-#: config/arm/arm.h:234
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr "-mbig-endian et -mlittle-endian ne peuvent être utilisés ensemble"
+#: config/darwin.h:222
+#, fuzzy
+msgid "-client_name not allowed with -dynamiclib"
+msgstr "-mlong-double-64 n'est pas permis avec -m64"
-#: config/arm/arm.h:252
-msgid "incompatible interworking options"
-msgstr "options d'inter-réseautage incompatibles"
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr ""
-#: config/sparc/freebsd.h:31 config/ia64/freebsd.h:23 config/alpha/freebsd.h:36 config/i386/freebsd-aout.h:227
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr "«-p» n'est pas supporté; utiliser «-pg» et gprof(1)"
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:229
+#, fuzzy
+msgid "-private_bundle not allowed with -dynamiclib"
+msgstr "-mlong-double-64 n'est pas permis avec -m64"
-#: gcc.c:672 f/lang-specs.h:35
+#: f/lang-specs.h:38 gcc.c:689
msgid "GNU C does not support -C without using -E"
msgstr "GNU C ne supporte pas -C sans utiliser -E"
-#: gcc.c:699 ada/lang-specs.h:39 java/jvspec.c:77
+#: f/lang-specs.h:39 gcc.c:690
+#, fuzzy
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C ne supporte pas -C sans utiliser -E"
+
+#: 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 "ne peut utiliser ensemble -m32 et -m64"
+
+#: 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 "«-p» n'est pas supporté; utiliser «-pg» et gprof(1)"
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "profilage n'est pas supporté avec -mg\n"
+
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "-pipe n'est pas supporté"
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr "ne peut utiliser ensemble -EB et -EL"
+
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
msgid "-pg and -fomit-frame-pointer are incompatible"
msgstr "-pg et -fomit-frame-pointer sont incompatibles"
-#: gcc.c:846
+#: 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 "mno-cygwin et mno-win32 ne sont pas compatibles"
+
+#: config/i386/cygwin.h:170 config/i386/mingw32.h:84
+msgid "shared and mdll are not compatible"
+msgstr "shared et mdll ne sont pas compatibles"
+
+#: gcc.c:867
msgid "-E required when input is from standard input"
msgstr "-E est requis lorsque l'entrée est faite à partir de l'entrée standard"
-#: gcc.c:850
+#: gcc.c:871
msgid "compilation of header file requested"
msgstr "fichier d'en-tête requis pour la compilation"
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "-fjni et -femit-class-files sont incompatibles"
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "-fjni et -femit-class-file sont incompatibles"
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "-femit-class-file dervait être utilisé avec -fsyntax-only"
+
+#: treelang/lang-specs.h:52
+#, fuzzy
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg et -fomit-frame-pointer sont incompatibles"
+
+#: config/vax/netbsd-elf.h:42
+#, fuzzy
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "fonction interne « %s » n'est pas couramment supportée"
+
#: config/mcore/mcore.h:60
msgid "choose either big or little endian, not both"
msgstr "choisir un système à octets de poids fort ou faible mais pas les deux"
@@ -19955,98 +20803,948 @@ msgstr "choisir m340 ou m210 mais pas les deux"
msgid "the m210 does not have little endian support"
msgstr "Le m210 ne supporte pas le code pour système à octets de poids faible"
-#: ada/lang-specs.h:42
-msgid "-c or -S required for Ada"
-msgstr "-c ou -S requis pour Ada"
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr "-mapcs-26 et -mapcs-32 ne peuvent être utilisés ensembles"
+
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr "-msoft-float et -mhard_float ne peuvent être utilisées ensembles"
+
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr "-mbig-endian et -mlittle-endian ne peuvent être utilisés ensemble"
-#: config/mips/r3900.h:36 config/mips/r3900.h:42
+#: config/mips/r3900.h:35
msgid "-mhard-float not supported"
msgstr "-mhard-float n'est pas supporté"
-#: config/mips/r3900.h:38 config/mips/r3900.h:44
+#: config/mips/r3900.h:37
msgid "-msingle-float and -msoft-float can not both be specified"
msgstr "-msingle-float et -msoft-float ne peuvent être spécifiés ensembles"
-#: config/mmix/mmix.h:112
-msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
-msgstr "options -mabi=mmixware et -mabi=gnu sont mutuellement exclusives"
-
-#: config/i860/fx2800.h:290
-msgid "-p option not supported: use -pg instead"
-msgstr "l'option -p n'est pas supportée: utitilse -pg à la place"
-
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd et -pedantic incompatibles"
-
-#: config/arm/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd et -mxopen incompatibles"
-
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen et -pedantic incompatibles"
-
-#: config/arc/arc.h:59 config/mips/mips.h:1007
-msgid "may not use both -EB and -EL"
-msgstr "ne peut utiliser ensemble -EB et -EL"
-
-#: config/vax/vax.h:42 config/vax/vax.h:43
-msgid "profiling not supported with -mg\n"
-msgstr "profilage n'est pas supporté avec -mg\n"
-
-#: config/i386/cygwin.h:114
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "mno-cygwin et mno-win32 ne sont pas compatibles"
-
-#: config/i386/cygwin.h:169 config/i386/mingw32.h:69
-msgid "shared and mdll are not compatible"
-msgstr "shared et mdll ne sont pas compatibles"
-
-#: config/mips/mips.h:837
-msgid "-pipe is not supported"
-msgstr "-pipe n'est pas supporté"
-
-#: config/mips/mips.h:1003
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "ne peut utiliser ensemble -mfp64 et -msingle-float"
-
-#: config/mips/mips.h:1004
-msgid "may not use both -mfp64 and -m4650"
-msgstr "ne peut utiliser ensemble -mfp64 et -m4650"
-
-#: config/mips/mips.h:1006
-msgid "may not use both -mgp32 and -mfp64"
-msgstr "ne peut utiliser ensemble -mfp32 et -mfp64"
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr "-c ou -S requis pour Ada"
-#: config/i386/sco5.h:662 config/i386/sco5.h:737
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
msgid "-static not valid with -mcoff"
msgstr "-static n'est pas valide avec -mcoff"
-#: config/i386/sco5.h:663 config/i386/sco5.h:738
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
msgid "-shared not valid with -mcoff"
msgstr "-shared n'est pas valide avec -mcoff"
-#: config/i386/sco5.h:664 config/i386/sco5.h:739
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
msgid "-symbolic not valid with -mcoff"
msgstr "-symbolic n'est pas valide avec -mcoff"
-#: config/i386/sco5.h:702
+#: config/i386/sco5.h:636
msgid "-fpic is not valid with -mcoff"
msgstr "-fpic n'est pas valide avec -mcoff"
-#: config/i386/sco5.h:703
+#: config/i386/sco5.h:637
msgid "-fPIC is not valid with -mcoff"
msgstr "-fPic n'est pas valide avec -mcoff"
-#: config/i386/sco5.h:740
+#: config/i386/sco5.h:669
msgid "-fpic not valid with -mcoff"
msgstr "-fpic n'est pas valide avec -mcoff"
-#: config/i386/sco5.h:741
+#: config/i386/sco5.h:670
msgid "-fPIC not valid with -mcoff"
msgstr "-fPIC n'est pas valide avec -mcoff"
+#~ msgid "unnamed fields of type other than struct or union are not allowed"
+#~ msgstr "champs sans nom de type autre que struct ou union ne sont pas permis"
+
+#~ msgid "numeric constant with no digits"
+#~ msgstr "constante numérique sans chiffre"
+
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "constante numérique contient des chiffres en dehors la base numérique"
+
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "constante flottante peut ne pas être en base 16"
+
+#~ msgid "more than one 'f' suffix on floating constant"
+#~ msgstr "plus d'un « f » en suffixe sur une constante flottante"
+
+#~ msgid "more than one 'l' suffix on floating constant"
+#~ msgstr "plus d'un « l » en suffixe sur une constante flottante"
+
+#~ msgid "traditional C rejects the 'l' suffix"
+#~ msgstr "C traditionnel rejette le suffixe « l »"
+
+#~ msgid "more than one 'i' or 'j' suffix on floating constant"
+#~ msgstr "plus d'un « i » ou « j » en suffixe sur une constante flottante"
+
+#~ msgid "floating constant out of range"
+#~ msgstr "constante flottante est hors gamme"
+
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "nombre en virgule flottante excède les limites de « double »"
+
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "deux « u » en suffixe sur une constante entière"
+
+#~ msgid "traditional C rejects the 'u' suffix"
+#~ msgstr "C traditionnel rejette le suffixe « u »"
+
+#~ msgid "three 'l' suffixes on integer constant"
+#~ msgstr "trois « l » en suffixe sur une constante entière"
+
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "'lul» n'est pas un suffixe valide pour un entier"
+
+#~ msgid "'Ll' and 'lL' are not valid integer suffixes"
+#~ msgstr "« Ll» et «1L » ne sont pas des suffixes valides pour un entier"
+
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "plus d'un « i » ou « j » en suffixe sur une constante entière"
+
+#~ msgid "invalid suffix on integer constant"
+#~ msgstr "suffixe invalide pour une constante entière"
+
+#~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+#~ msgstr "constante entière trop grande pour la configuration du compilateur - tronqué à %d bits"
+
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "largeur de la constante entière change avec -traditional"
+
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "largeur de la constante entière peut changer sur d'autres système avec -traditional"
+
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "constante entière plus grande que la valeur maximale de %s"
+
+#~ msgid "an unsigned long long int"
+#~ msgstr "un entier long long non signé"
+
+#~ msgid "a long long int"
+#~ msgstr "un entier long long"
+
+#~ msgid "an unsigned long int"
+#~ msgstr "un entier long non signé"
+
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "constante décimale est tellement grande qu'elle est non signée"
+
+#~ msgid "complex integer constant is too wide for 'complex int'"
+#~ msgstr "constante complexe entière est trop grande pour le type 'complex int'"
+
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr "constante entière est plus grande que la valeur maximale pour ce type"
+
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "espace blanc manquant après le nombre '%.*s'"
+
+#~ msgid "storage class specifier in array declarator"
+#~ msgstr "spécificateur de classe de stockage dans le déclarateur de tableau"
+
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "sizeof appliqué sur un type de fonction"
+
+#~ msgid "sizeof applied to a void type"
+#~ msgstr "sizeof appliqué sur un type void"
+
+#~ msgid "sizeof applied to an incomplete type"
+#~ msgstr "sizeof appliqué sur un type incomplet"
+
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
+
+#~ msgid "floating point numbers are not valid in #if"
+#~ msgstr "nombres flottants ne sont pas valides dans un #if"
+
+#~ msgid "traditional C rejects the `U' suffix"
+#~ msgstr "C traditionel rejette le suffixe « U »"
+
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "trop de « l » en suffixe dans les constantes entières"
+
+#~ msgid "integer constant contains digits beyond the radix"
+#~ msgstr "constante entière contient des chiffres en dehors la base numérique"
+
+#~ msgid "integer constant out of range"
+#~ msgstr "constante entière est hors gamme"
+
+#~ msgid "string constants are not valid in #if"
+#~ msgstr "constantes de chaîne ne sont pas valides dasn un #if"
+
+#~ msgid "missing binary operator"
+#~ msgstr "opérateur binaire manquant"
+
+#~ msgid "operator '%s' has no left operand"
+#~ msgstr "opérateur « %s » n'a pas d'opérande gauche"
+
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "modification de l'ordonnancement de recherche du répertoire système « %s »"
+
+#~ msgid " as it is the same as non-system directory \"%s\""
+#~ msgstr " comme c'est le même qu'un répertoire non système « %s »"
+
+#~ msgid "I/O error on output"
+#~ msgstr "Erreur E/S sur la sortie"
+
+#~ msgid "argument missing after %s"
+#~ msgstr "argument manquant après %s"
+
+#~ msgid "number missing after %s"
+#~ msgstr "nombre manquant après %s"
+
+#~ msgid "target missing after %s"
+#~ msgstr "cible manquante après %s"
+
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP version %s (cpplib)"
+
+#~ 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 ""
+#~ " -lang-c++ Présumer que les sources sont en C++\n"
+#~ " -lang-objc Présumer que les sources sont en ObjectiveC\n"
+#~ " -lang-objc++ Présumer que les sources sont en ObjectiveC++\n"
+#~ " -lang-asm Présumer que les sources sont en assembleur\n"
+
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "début possible d'une chaîne de mot non terminée"
+
+#~ msgid "multi-line string literals are deprecated"
+#~ msgstr "chaîne de mots multi-lignes sont dépréciés"
+
+#~ msgid "\"%s\" cannot be used as a macro name"
+#~ msgstr "« %s » ne peut être utilisé comme nom de macro"
+
+#~ msgid "directives may not be used inside a macro argument"
+#~ msgstr "directives ne peuvent être utilisées à l'intérieur d'un argument macro"
+
+#~ msgid "invalid option %s"
+#~ msgstr "option invalide %s"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: AVERTISSEMENT: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: AVERTISSEMENT: "
+
+#~ msgid "sorry, not implemented: "
+#~ msgstr "désolé, pas implanté: "
+
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "Erreur internal du compilateur dans %s, à %s:%d"
+
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "argument de «-b» est manquant"
+
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "argument de «-V» est manquant"
+
+#~ msgid "invalid version number format"
+#~ msgstr "format de numéro de verson invalide"
+
+#~ msgid ".da file contents exhausted too early\n"
+#~ msgstr "Le contenu du fichier .da a été épuisé trop rapidement\n"
+
+#~ msgid ".da file contents not exhausted\n"
+#~ msgstr "Le contenu du fichier .da n'a pas été épuisé\n"
+
+#~ msgid "%6.2f%% of %d source lines executed in function %s\n"
+#~ msgstr "%6.2f%% des lignes sources %d exécutées dans la fonction %s\n"
+
+#~ msgid "%6.2f%% of %d branches executed in function %s\n"
+#~ msgstr "%6.2f%% de branchements %d exécutés dans la fonction %s\n"
+
+#~ msgid "%6.2f%% of %d branches taken at least once in function %s\n"
+#~ msgstr "%6.2f%% de branchements %d pris au mons une fois dans la fonction %s\n"
+
+#~ msgid "No branches in function %s\n"
+#~ msgstr "Pas de branchement dans la fonction %s\n"
+
+#~ msgid "%6.2f%% of %d calls executed in function %s\n"
+#~ msgstr "%6.2f%% d'appels %d exécutés dans la fonction %s\n"
+
+#~ msgid "No calls in function %s\n"
+#~ msgstr "Pas d'appel dans la fonction %s\n"
+
+#~ msgid "call %d returns = %s%%\n"
+#~ msgstr "appel %d a retourné = %s%%\n"
+
+#~ msgid "branch %d taken = %s%%\n"
+#~ msgstr "branchement %d a pris = %s%%\n"
+
+#~ msgid ".da file contents exhausted too early"
+#~ msgstr "Le contenu du fichier .da a été épuisé trop rapidement"
+
+#~ msgid "conversion from NaN to int"
+#~ msgstr "conversion de NaN en int"
+
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "conversion de NaN en un int non signé"
+
+#~ msgid "floating point overflow"
+#~ msgstr "débordement de virgule flottante"
+
+#~ msgid "overflow on truncation to integer"
+#~ msgstr "débordement de troncation d'un entier"
+
+#~ msgid "overflow on truncation to unsigned integer"
+#~ msgstr "débordement lors de la troncation d'un entier non signé"
+
+#~ msgid "%s: argument domain error"
+#~ msgstr "%s: erreur d'argument de domaine"
+
+#~ msgid "%s: function singularity"
+#~ msgstr "%s: singularité de fonction"
+
+#~ msgid "%s: overflow range error"
+#~ msgstr "%s: erreur de débordement de bornes"
+
+#~ msgid "%s: underflow range error"
+#~ msgstr "%s: erreur de sous débordement de bornes"
+
+#~ msgid "%s: total loss of precision"
+#~ msgstr "%s: perte totale de précision"
+
+#~ msgid "%s: partial loss of precision"
+#~ msgstr "%s: perte partielle de précision"
+
+#~ msgid "%s: NaN - producing operation"
+#~ msgstr "%s: NaN - opération produite"
+
+#~ msgid "Pretend that host and target use the same FP format"
+#~ msgstr "Prétendre que l'hôte et la cible utilise le format FP"
+
+#~ msgid "Compile pointers as triples: value, base & end"
+#~ msgstr "Compiler les pointeurs comme des triplets: valeur, base et fin"
+
+#~ msgid "Do not promote floats to double if using -traditional"
+#~ msgstr "Ne pas promouvoir les flottants à des doubles avec -traditional"
+
+#~ msgid "Attempt to support traditional K&R style C"
+#~ msgstr "Tenter de supporter le style de langage C traditionnel K&R"
+
+#~ msgid "internal error: %s"
+#~ msgstr "erreur interne: %s"
+
+#~ msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+#~ msgstr "saut croisé désactivé: %d > 1000 blocs de base et %d >= 20 blocs edges/basic"
+
+#~ msgid " -a Enable block profiling \n"
+#~ msgstr " -a autoriser le profilage des blocs \n"
+
+#~ msgid " -ax Enable jump profiling \n"
+#~ msgstr " -ax autoriser le profilage des sauts \n"
+
+#~ msgid "profiling does not work without a frame pointer"
+#~ msgstr "profilage ne fonctionne pas sans un pointeur de trames"
+
+#~ msgid "floating point numbers not allowed in #if expressions"
+#~ msgstr "nombres flottants ne sont pas permis dans les expressions #if"
+
+#~ msgid "invalid number in #if expression"
+#~ msgstr "nombre invalide dans l'expression #if"
+
+#~ msgid "invalid character constant in #if"
+#~ msgstr "constante de caractères invalide dans le #if"
+
+#~ msgid "double quoted strings not allowed in #if expressions"
+#~ msgstr "chaînes entre quillemets ne sont pas allouées dans les expression #if"
+
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "constante de caractères en octal ne peut être insérée dans un octet"
+
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "constante de caractères en hexadémical ne peut être insérée dans un octet"
+
+#~ msgid "empty #if expression"
+#~ msgstr "expression #if vide"
+
+#~ msgid "Junk after end of expression."
+#~ msgstr "Rebut à la fin de l'expression."
+
+#~ msgid "macro or #include recursion too deep"
+#~ msgstr "macro ou récursion de #include trop profonde"
+
+#~ msgid "usage: %s [switches] input output"
+#~ msgstr "usage: %s [options] entrée sortie"
+
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "-traditional n'est pas supporté en C++"
+
+#~ msgid "-traditional and -ansi are mutually exclusive"
+#~ msgstr "-traditional et -ansi sont mutuellement exclusives"
+
+#~ msgid "filename missing after -i option"
+#~ msgstr "nom de fichier manquant après l'option -i"
+
+#~ msgid "filename missing after -o option"
+#~ msgstr "nom de fichier manquant après l'option -o"
+
+#~ msgid "target missing after %s option"
+#~ msgstr "cible manquante après l'option %s"
+
+#~ msgid "filename missing after %s option"
+#~ msgstr "nom de fichier manquant après l'option %s"
+
+#~ msgid "macro name missing after -%c option"
+#~ msgstr "nom de macro manquant après l'option -%c"
+
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "-pedantic et -traditional sont mutuellement exclusives"
+
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "-trigraphs et -traditional sont mutuellement exclusives"
+
+#~ msgid "directory name missing after -I option"
+#~ msgstr "nom de répertoire manquant après l'option -I"
+
+#~ msgid "`/*' within comment"
+#~ msgstr "« /* » à l'intérieur d'un commentaire"
+
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "#%s conditionel non terminé"
+
+#~ msgid "not in any file?!"
+#~ msgstr "n'est pas dans aucun fichier?!"
+
+#~ msgid "`defined' must be followed by ident or (ident)"
+#~ msgstr "« defined » doit être suivi par ident ou (ident)"
+
+#~ msgid "cccp error: invalid special hash type"
+#~ msgstr "erreur cccp: type de hachage spécial invalide"
+
+#~ msgid "#include expects \"fname\" or <fname>"
+#~ msgstr "#include espère « fname » ou <fname>"
+
+#~ msgid "no include path in which to find %.*s"
+#~ msgstr "pas de chemin d'inclusion dans lequel trouver %.*s"
+
+#~ msgid "invalid macro name"
+#~ msgstr "nom de macro invalide"
+
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "nom de macro invalide « %s »"
+
+#~ msgid "parameter name starts with a digit in #define"
+#~ msgstr "nom de paramètre débute avec un chiffre dans #define"
+
+#~ msgid "badly punctuated parameter list in #define"
+#~ msgstr "liste de paramètres incorrectement ponctués dans #define"
+
+#~ msgid "unterminated parameter list in #define"
+#~ msgstr "liste de paramètres non terminée dans #define"
+
+#~ msgid "\"%.*s\" redefined"
+#~ msgstr "\"%.*s\" redéfini"
+
+#~ msgid "# operator should be followed by a macro argument name"
+#~ msgstr "# opérator derait être suivi par le nom d'un argument macro"
+
+#~ msgid "invalid format #line command"
+#~ msgstr "format invalide dans la commande #line"
+
+#~ msgid "undefining `defined'"
+#~ msgstr "indéfinition « defined »"
+
+#~ msgid "undefining `%s'"
+#~ msgstr "indéfinition « %s »"
+
+#~ msgid "extra text at end of directive"
+#~ msgstr "texte superflu à la fin de la directive"
+
+#~ msgid "#error%.*s"
+#~ msgstr "#error%.*s"
+
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning%.*s"
+
+#~ msgid "#elif not within a conditional"
+#~ msgstr "#elif n'est pas à l'intérieur d'un conditionel"
+
+#~ msgid "#%s not within a conditional"
+#~ msgstr "#%s n'est pas à l'intérieur d'un conditionel"
+
+#~ msgid "#else or #elif after #else"
+#~ msgstr "#else ou #elif après #else"
+
+#~ msgid "#else not within a conditional"
+#~ msgstr "#else n'est pas à l'intérieur d'un conditionel"
+
+#~ msgid "unbalanced #endif"
+#~ msgstr "#endif non pairé"
+
+#~ msgid "unterminated string or character constant"
+#~ msgstr "chaîne non terminée ou constante caractère"
+
+#~ msgid "arguments given to macro `%s'"
+#~ msgstr "argument donnée à la macro « %s »"
+
+#~ msgid "no args to macro `%s'"
+#~ msgstr "aucun argument pour la macro « %s »"
+
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "seulement 1 argument pour la macro « %s »"
+
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "seulement %d arguments pour la macro « %s »"
+
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "trop d'arguments (%d) pour la macro « %s »"
+
+#~ msgid ""
+#~ "internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "Erreur interne dans %s, à tradcpp.c:%d\n"
+#~ "SVP soumettre un rapport complet des anomalies rencontrées.\n"
+#~ "Consulter %s pour les instructions."
+
+#~ msgid "optimization turned on"
+#~ msgstr "optimisation activée"
+
+#~ msgid "optimization turned off"
+#~ msgstr "optimisation désactivée"
+
+#~ msgid "optimization level restored"
+#~ msgstr "niveau d'optimisation restauré"
+
+#~ msgid "Use VAX-C alignment"
+#~ msgstr "Utiliser l'alignement VAX-C"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "valeur %%V invalide"
+
+#~ msgid "Generate code assuming DW bit is set"
+#~ msgstr "Générer le code en assumant que le bit DW est initialisé"
+
+#~ msgid "Generate code assuming DW bit is not set"
+#~ msgstr "Générer le code en assumant que le bit DW n'est pas initialisé"
+
+#~ msgid "Generate code using byte writes"
+#~ msgstr "Générer le code en utilisant des écritures par octets"
+
+#~ msgid "Do not generate byte writes"
+#~ msgstr "Ne pas générer des écritures par octets"
+
+#~ msgid "Use small memory model"
+#~ msgstr "Utiliser le modèle de petite mémoire"
+
+#~ msgid "Use normal memory model"
+#~ msgstr "Utiliser le modèle normal de mémoire"
+
+#~ msgid "Use large memory model"
+#~ msgstr "Utiliser le modèle de grande mémoire"
+
+#~ msgid "Generate 29050 code"
+#~ msgstr "Générer le code 29050"
+
+#~ msgid "Generate 29000 code"
+#~ msgstr "Générer le code 29000"
+
+#~ msgid "Use kernel global registers"
+#~ msgstr "Utiliser les registres globaux du kernel"
+
+#~ msgid "Use user global registers"
+#~ msgstr "Utiliser les registres globaux"
+
+#~ msgid "Emit stack checking code"
+#~ msgstr "Produire le code de vérification de la pile"
+
+#~ msgid "Do not emit stack checking code"
+#~ msgstr "Ne pas produire le code de vérification de la pile"
+
+#~ msgid "Work around storem hardware bug"
+#~ msgstr "Contourner le bug matériel de stockage"
+
+#~ msgid "Do not work around storem hardware bug"
+#~ msgstr "Ne pas contourner le bug matériel de stockage"
+
+#~ msgid "Store locals in argument registers"
+#~ msgstr "Stocker les var. locales dans redistres d'arguments"
+
+#~ msgid "Do not store locals in arg registers"
+#~ msgstr "Ne pas stocker les var. locales dans redistres d'arguments"
+
+#~ msgid "Do symbol renaming for BSD"
+#~ msgstr "Ne pas renommer les symboles pour BSD"
+
+#~ msgid "Do symbol renaming for X/OPEN"
+#~ msgstr "Ne pas renommer les symboles pour X/OPEN"
+
+#~ msgid "Don't do symbol renaming"
+#~ msgstr "Ne pas renommer les symboles"
+
+#~ msgid "Generate code for the C400"
+#~ msgstr "Générer le code pour le C400"
+
+#~ msgid "Generate code for the C300"
+#~ msgstr "Générer le code pour le C300"
+
+#~ msgid "Generate code for c1"
+#~ msgstr "Générer le code pour le c1"
+
+#~ msgid "Generate code for c2"
+#~ msgstr "Générer le code pour le c2"
+
+#~ msgid "Generate code for c32"
+#~ msgstr "Générer le code pour le c3"
+
+#~ msgid "Generate code for c34"
+#~ msgstr "Générer le code pour le c34"
+
+#~ msgid "Use standard calling sequence, with arg count word"
+#~ msgstr "Utiliser la séquence standard d'appel, avec arg et mot compteur"
+
+#~ msgid "Place arg count in a nop instruction (faster than push)"
+#~ msgstr "Placer le compteur d'arg dans une instruction NOP (plus rapide que push)"
+
+#~ msgid "Don't push arg count, depend on symbol table"
+#~ msgstr "Ne pas empiler le compteur d'arg, dépend de la table de symboles"
+
+#~ msgid "Use data cache for volatile mem refs (default)"
+#~ msgstr "Utiliser la cache de données pour les réf. mémoire volatiles (par défaut)"
+
+#~ msgid "Don't use data cache for volatile mem refs"
+#~ msgstr "Ne pas utiliser la cache de données pour les réf. mémoire volatiles"
+
+#~ msgid "Bypass data cache for volatile mem refs"
+#~ msgstr "Éviter la cache de données pour les réf. mémoire volatiles"
+
+#~ msgid "Use 64-bit longs"
+#~ msgstr "Utiliser des longs de 64 bits"
+
+#~ msgid "Use cc- and libc-compatible 32-bit longs"
+#~ msgstr "Utiliser cc- et libc-compatible longs de 32 bits"
+
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "enlignage des constantes flottantes n'est pas supporté sur cet hôte"
+
+#~ msgid "Generate code the unix assembler can handle"
+#~ msgstr "Générer du code que l'assembleur UNIX peut traiter"
+
+#~ msgid "Retain standard MXDB information"
+#~ msgstr "Retenir l'information standard MXDB"
+
+#~ msgid "Retain legend information"
+#~ msgstr "Retenir les informations de légende"
+
+#~ msgid "Generate external legend information"
+#~ msgstr "Générer les informations externes de légende"
+
+#~ msgid "Emit identifying info in .s file"
+#~ msgstr "Produire les infos d'identification dans le fichier .s"
+
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "Avertir lorsque l'arg d'une fonction est une structure"
+
+#~ msgid "argument is a structure"
+#~ msgstr "argument est une structure"
+
+#~ msgid "half-pic init called on systems that don't support it"
+#~ msgstr "init à demi PIC appelé sur un système qui ne le supporte pas"
+
+#~ msgid "Profiling uses mcount"
+#~ msgstr "Profilage utilise mcount"
+
+#~ msgid "Emit half-PIC code"
+#~ msgstr "Produire du code à moitié PIC"
+
+#~ msgid "Emit ELF object code"
+#~ msgstr "Produire du code objet ELF"
+
+#~ msgid "Emit ROSE object code"
+#~ msgstr "Produire du code objet ROSE"
+
+#~ msgid "Symbols have a leading underscore"
+#~ msgstr "Les symboles sont précédées d'un caractère de soulignement "
+
+#~ msgid "Align to >word boundaries"
+#~ msgstr "Aligner sur >frontières de mots"
+
+#~ msgid "Use mcount for profiling"
+#~ msgstr "Utiliser mcount pour le profilage"
+
+#~ msgid "Use mcount_ptr for profiling"
+#~ msgstr "Utiliser mcount_ptr pour le profilage"
+
+#~ msgid "Generate code which uses the FPU"
+#~ msgstr "Générer du code qui utilise le FPU"
+
+#~ msgid "Do not generate code which uses the FPU"
+#~ msgstr "Ne pas générer du code qui utilise le FPU"
+
+#~ msgid "the -mlong-double-64 option does not work yet"
+#~ msgstr "l'option -mlong-double-64 n'est pas fonctionnelle encore"
+
+#~ msgid "The -march option is incompatible to -mipsN and therefore ignored."
+#~ msgstr "L'option -march est incompatible avec -mipsN et est alors ignorée."
+
+#~ msgid "-mips%d not supported"
+#~ msgstr "-mips%d n'est pas supporté"
+
+#~ msgid "-mabi=%s does not support -mips%d"
+#~ msgstr "-mabi=%s ne supporte pas -mips%d"
+
+#~ msgid "this target does not support the -mabi switch"
+#~ msgstr "cette cible ne supporte pas l'option -mabi"
+
+#~ msgid "-mips%d does not support 64 bit fp registers"
+#~ msgstr "-mips%d ne supporte pas les registres FP de 64 bits"
+
+#~ msgid "-mips%d does not support 64 bit gp registers"
+#~ msgstr "-mips%d ne supporte pas les registres GP de 64 bits"
+
+#~ msgid "Use OSF PIC"
+#~ msgstr "Utiliser le code PIC OSF"
+
+#~ msgid "Don't use OSF PIC"
+#~ msgstr "Ne pas utiliser le code PIC OSF"
+
+#~ msgid "Optimize for 3900"
+#~ msgstr "Optimiser pour le 3900"
+
+#~ msgid "Optimize for 4650"
+#~ msgstr "Optimiser pour le 4650"
+
+#~ msgid "stack frame too big"
+#~ msgstr "trame de pile trop grande"
+
+#~ msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
+#~ msgstr "ni varargs ou stdarg dans mmix_setup_incoming_varargs"
+
+#~ msgid "oops, not debugged; fixing up value:"
+#~ msgstr "oops, pas mis au point; correction de la valeur:"
+
+#~ msgid "Generate little endian data"
+#~ msgstr "Générer des données pour systèmes à octets de poids faible"
+
+#~ msgid "Generate big endian data"
+#~ msgstr "Générer des données pour systèmes à octets de poids fort"
+
+#~ msgid "Turn on maintainer testing code"
+#~ msgstr "Mettre en marche le code d'entretien de mise au point"
+
+#~ msgid "Enable Transmeta picoJava extensions"
+#~ msgstr "Autoriser les extensions Transmeta picoJava"
+
+#~ msgid "Disable Transmeta picoJava extensions"
+#~ msgstr "Interdire les extensions Transmeta picoJava"
+
+#~ msgid "Disable reorganization pass"
+#~ msgstr "Désactiver la passe de réorganisation"
+
+#~ msgid "-f%s ignored (all code is position independent)"
+#~ msgstr "-f%s ignoré (tout le code est indépendant de la position)"
+
+#~ msgid "-ffunction-sections disabled on AIX when debugging"
+#~ msgstr "-ffunction-sections désactivé sur AIX lors de la mise au point"
+
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "-fdata-sections n'est pas supporté sur AIX"
+
+#~ msgid "%%S computed all 1's mask"
+#~ msgstr "%%S calculé avec un masque que uns"
+
+#~ msgid "%%S computed all 0's mask"
+#~ msgstr "%%S calculé avec un masque de zéros"
+
+#~ msgid "no viable candidates"
+#~ msgstr "pas de candidats viables"
+
+#~ msgid "`%D' has already been declared in `%T'"
+#~ msgstr "« %D » a déjà été déclaré dans « %T »"
+
+#~ msgid "`%D' as declarator"
+#~ msgstr "« %D » comme déclarateur"
+
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "taille du membre « %D » n'est pas constant"
+
+#~ msgid "cannot declare %s to references"
+#~ msgstr "ne peut déclarer %s comme références"
+
+#~ msgid "invalid type: `void &'"
+#~ msgstr "type invalide: « void & »"
+
+#~ msgid "typedef declaration includes an initializer"
+#~ msgstr "déclaration typedef inclut un initialiseur"
+
+#~ msgid "-fname-mangling-version is no longer supported"
+#~ msgstr "-fname-mangling-version n'est plus supportée"
+
+#~ msgid "candidate%s: %+#D"
+#~ msgstr "candidat%s: %+#D"
+
+#~ msgid " %#D"
+#~ msgstr " %#D"
+
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "initialiseur du membre pour «%#D»"
+
+#~ msgid " will be re-ordered to match declaration order"
+#~ msgstr " sera ré-odonné pour concorder avec l'ordre déclaré"
+
+#~ msgid "multiple initializations given for member `%D'"
+#~ msgstr "initialisations multiples données pour le membre « %D »"
+
+#~ msgid " will be re-ordered to match inheritance order"
+#~ msgstr " sera ré-ordonné pour concorder avec l'ordre d'héritage"
+
+#~ msgid "implementation-reserved name `%D' used"
+#~ msgstr "nom d'implantation réservé « %D » est utilisé"
+
+#~ msgid "explicit instantiation of `%#D' after"
+#~ msgstr "instanciation explicite de «%#D» après"
+
+#~ msgid "explicit specialization here"
+#~ msgstr "spécialisation explicite ici"
+
+#~ msgid "explicit instantiation of `%#T' after"
+#~ msgstr "instanciation explicite de «%#T» après"
+
+#~ msgid "base initializer for `%T'"
+#~ msgstr "initialiseur de base « %T »"
+
+#~ msgid " will be re-ordered to precede member initializations"
+#~ msgstr " sera ré-ordonné pour précéder les initialisations de membre"
+
+#~ msgid "ignoring `%V' qualifiers on `%T'"
+#~ msgstr "qualificateurs « %V » ignorés pour « %T »"
+
+#~ msgid "`sizeof' applied to non-static member"
+#~ msgstr "« sizeof » appliqué à un membre non statique"
+
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "« sizeof» appliqué sur un type incomplet «%T »"
+
+#~ msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
+#~ msgstr "requête du membre «%T::%D» dans l'expression du type non aggrégat « %T »"
+
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "utilisation invalide du type decl «%#D» comme expression"
+
+#~ msgid "invalid use of template `%#D' as expression"
+#~ msgstr "utilisation invalide du patron «%#D» comme expression"
+
+#~ msgid "`%#T' has no member named `%D'"
+#~ msgstr "«%#T» n'a pas de membre nommé « %D »"
+
+#~ msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
+#~ msgstr "offsetof invalide du type non POD «%#T»; utiliser un pointeur vers un membre à la place"
+
+#~ msgid "pointer to member function called, but not in class scope"
+#~ msgstr "appel d'un pointeur vers un membre de fonction, mais n'est pas dans le champ de la classe"
+
+#~ msgid "object missing in call to method `%D'"
+#~ msgstr "objet manquant dans l'appel de la méthode « %D »"
+
+#~ msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
+#~ msgstr "fontion « %D » déclarée surchargée, mais aucune définition n'apparaît pour la résoudre?!?"
+
+#~ msgid "invalid call to member function needing `this' in static member function scope"
+#~ msgstr "appel invalide vers un membre de fonction ayant besoin de « ceci » dans le champ du membre statique de la fonction"
+
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "utilisation invalide d'un type indéfini «%#T»"
+
+#~ msgid "invalid use of `%T'"
+#~ msgstr "utilisation invalide de « %T »"
+
+#~ msgid "invalid use of member (did you forget the `&' ?)"
+#~ msgstr "utilisation invalide de membre (avez-vous oublié le «&» ?)"
+
+#~ msgid "invalid use of template type parameter"
+#~ msgstr "utilisation invalide de patron de type de paramètres"
+
+#~ msgid "address of overloaded function with no contextual type information"
+#~ msgstr "adresse de la fonction surchargée sans information contextuelle de type"
+
+#~ msgid "overloaded function with no contextual type information"
+#~ msgstr "fonction surchargée sans information contextuelle de type"
+
+#~ msgid "insufficient contextual information to determine type"
+#~ msgstr "information contextuelle insuffisante pour déterminer le type"
+
+#~ msgid "initializer list construction invalid for derived class object `%D'"
+#~ msgstr "initialiseur de construction de liste invalide pour l'objet de classe dérivée « %D »"
+
+#~ msgid "initializer list construction invalid for polymorphic class object `%D'"
+#~ msgstr "initialiseur de construction de liste invalide pour l'objet de classe polymorphique « %D »"
+
+#~ msgid "initializer list construction invalid for `%D'"
+#~ msgstr "construction de la liste d'initialiseurs invalide pour « %D »"
+
+#~ msgid "due to the presence of a constructor"
+#~ msgstr "en raison de la présence d'un constructeur"
+
+#~ msgid "due to non-public access of member `%D'"
+#~ msgstr "en raison d'un accès non public du membre « %D »"
+
+#~ msgid "The meaning of `\\x' (at %0) varies with -traditional"
+#~ msgstr "La signification de «\\x» (à %0) varie avec l'option -traditional"
+
+#~ msgid "The meaning of `\\a' (at %0) varies with -traditional"
+#~ msgstr "La signification de «\\a»(à %0) varie avec -traditional"
+
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "la signification de «\\x» varie avec l'option -traditional"
+
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "le sens de «\\a» varie avec -traditional"
+
+#~ msgid "parse error; also virtual memory exceeded"
+#~ msgstr "erreur d,analyse syntaxique; aussi la mémoire virtuelle est épuisée"
+
+#~ msgid "Can't specify array dimension in a declaration"
+#~ msgstr "Ne peut spécifier la dimension du tableau dans la déclaration"
+
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "erreur interne - utilisation d'un type non défini"
+
+#~ msgid "no class name specified as argument to -fconstant-string-class"
+#~ msgstr "pas de nom de classe spécifier dans l'argument à -fconstant-string-class"
+
+#~ msgid "-p profiling is no longer supported. Use -pg instead"
+#~ msgstr "-p profilage n'est plus supporté. Utiliser -pg à la place."
+
+#~ msgid "incompatible interworking options"
+#~ msgstr "options d'inter-réseautage incompatibles"
+
+#~ msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#~ msgstr "options -mabi=mmixware et -mabi=gnu sont mutuellement exclusives"
+
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "l'option -p n'est pas supportée: utitilse -pg à la place"
+
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd et -pedantic incompatibles"
+
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd et -mxopen incompatibles"
+
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen et -pedantic incompatibles"
+
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "ne peut utiliser ensemble -mfp64 et -msingle-float"
+
+#~ msgid "may not use both -mfp64 and -m4650"
+#~ msgstr "ne peut utiliser ensemble -mfp64 et -m4650"
+
+#~ msgid "may not use both -mgp32 and -mfp64"
+#~ msgstr "ne peut utiliser ensemble -mfp32 et -mfp64"
+
+#~ msgid "declaration of `%#T'"
+#~ msgstr "déclaration de «%#T»"
+
+#~ msgid "a -ifile option requires a -map option"
+#~ msgstr "l'option -ifile requiert l'option -map"
+
#~ msgid "__builtin_trap not supported by this target"
#~ msgstr "__builtin_trap n'est pas supporté par la cible"
@@ -20056,12 +21754,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "`%s' previously declared here"
#~ msgstr "« %s » précédemment déclaré ici"
-#~ msgid "invalid lvalue in increment"
-#~ msgstr "lvalue invalide dans l'incrémentation"
-
-#~ msgid "invalid lvalue in decrement"
-#~ msgstr "lvalue invalide dans la décrémentation"
-
#~ msgid "increment"
#~ msgstr "incrément"
@@ -20179,9 +21871,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "cannot EXIT label `%s' outside current function"
#~ msgstr "ne sortir à l'aide de l'étiquette « %s » en dehors de la fonction courante"
-#~ msgid "case selector not compatible with label"
-#~ msgstr "le sélecteur de CASE n'est pas compatible avec l'étiquette"
-
#~ msgid "ELSE label not within a CASE statement"
#~ msgstr "étiquette du ELSE n'est pas n'est pas à l'intérieur de la déclaration du CASE"
@@ -20287,9 +21976,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "incompatible member of powerset tuple (at position #%d)"
#~ msgstr "membre incompatible du tuple du powerset ( à la position #%d)"
-#~ msgid "no initializer value for fixed field `%s'"
-#~ msgstr "pas de valeur pour l'initialisateur du champ fixe « %s »"
-
#~ msgid "non-constant value for tag field `%s'"
#~ msgstr "valeur non constante pour l'étiquette de champ « %s »"
@@ -20428,9 +22114,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "non-value mode may only returned by LOC"
#~ msgstr "mode non-valeur peut seulement être retourné par LOC"
-#~ msgid "mode of `%s' is not a mode"
-#~ msgstr "mode de %s n'est pas un mode"
-
#~ msgid "`%s' may only be passed by LOC"
#~ msgstr "« %s » peut seulement être passé par LOC"
@@ -20515,9 +22198,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid " precede a STRUCT field reference, or `%s' is an undefined mode"
#~ msgstr " précède une référence sur champ STRUCT ou « %s » est un mode indéfini"
-#~ msgid "can't dereference PTR value using unary `->'"
-#~ msgstr "ne peut dé-référencer une valeur PTR utilisant l'unaire «->»"
-
#~ msgid "invalid type argument of `->'"
#~ msgstr "type d'argument invalide de «->»"
@@ -20851,9 +22531,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "too few arguments in call to `readrecord'"
#~ msgstr "pas assez d'arguments dans l'appel de readrecord()"
-#~ msgid "incompatible record mode"
-#~ msgstr "mode incompatible d'enregistrement"
-
#~ msgid "store location must not be READonly"
#~ msgstr "localisation de stockage ne doit pas être en LECTURE seulement"
@@ -21016,15 +22693,9 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "control sequence overflow"
#~ msgstr "débordement de la chaîne de contrôle"
-#~ msgid "invalid control sequence"
-#~ msgstr "séquence de contrôle invalide"
-
#~ msgid "invalid base in read control sequence"
#~ msgstr "base invalide dans la séquence de contrôle de lecture"
-#~ msgid "invalid digit in control sequence"
-#~ msgstr "chiffre invalide dans la séquence de contrôle"
-
#~ msgid "unterminated string literal"
#~ msgstr "chaîne litérale non terminée"
@@ -21118,18 +22789,12 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "start label '%s' does not match end label '%s'"
#~ msgstr "étiquette de départ « %s » ne concorde pas avec l'étiquette de fin « %s »"
-#~ msgid "`%s' not declared"
-#~ msgstr "« %s » n'est pas déclaré"
-
#~ msgid "no RETURN or RESULT in procedure"
#~ msgstr "pas de RETURN ou RESULT dans la procédure"
#~ msgid "PREFIXED clause with no prelix in unlabeled module"
#~ msgstr "cluase PREFIXÉ sans no prelix dans un module sans étiquette"
-#~ msgid "internal parser error - expected token %d"
-#~ msgstr "erreur interne d'analyse syntaxique - jeton attendu %d"
-
#~ msgid "'%s!' is not followed by an identifier"
#~ msgstr "« %s » n'est pas suivi d'un identificateur"
@@ -21169,9 +22834,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "'=' used where ':=' is required"
#~ msgstr "«=» utilisé où «:=» est requis"
-#~ msgid "initialization is not allowed in spec module"
-#~ msgstr "initialisation n'est pas permise dans un module SPEC"
-
#~ msgid "loc-identity declaration without initialization"
#~ msgstr "déclaration de loc n'a pas d'initialisation"
@@ -21214,9 +22876,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "unrecognized case label list after ','"
#~ msgstr "étiquette non reconnue du CASE après «,»"
-#~ msgid "bad ASM operand"
-#~ msgstr "opérande ASM erronée"
-
#~ msgid "readonly location modified by 'asm'"
#~ msgstr "localisation en lecture seulement modifiée par «asm»"
@@ -21301,12 +22960,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "POS not allowed for ARRAY"
#~ msgstr "POSITION n'est pas permise pour un TABLEAU"
-#~ msgid "STEP not allowed in field definition"
-#~ msgstr "PAS n'est pas alloué dans la définition d'un champ"
-
-#~ msgid "missing field name"
-#~ msgstr "nom de champ manquant"
-
#~ msgid "bad field name following ','"
#~ msgstr "nom de champ erroné après «,»"
@@ -21361,9 +23014,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "mode with non-value property in signal definition"
#~ msgstr "mode sans propriété de non valeur dans la définition de signal"
-#~ msgid "undeclared identifier `%s'"
-#~ msgstr "identificateur « %s » non déclaré"
-
#~ msgid "RETURNS spec with invalid mode"
#~ msgstr "spécification de RETOUR avec un mode invalide"
@@ -21379,9 +23029,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "recordmode must not have the non-value property"
#~ msgstr "mode d'enregistrement ne doit pas avoir une propriété de non valeur"
-#~ msgid "tasking code %ld out of range for `%s'"
-#~ msgstr "code de tache %ld hors gamme pour « %s »"
-
#~ msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
#~ msgstr "attribue invalide pour l'argument « %s » (seul IN ou LOC est permis)"
@@ -21670,9 +23317,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "location conversion between differently-sized modes"
#~ msgstr "conversion de localisation entre des mode de taille différentes"
-#~ msgid "unsupported value conversion"
-#~ msgstr "valeur de conversion non supportée"
-
#~ msgid "operand to bin must be a non-negative integer literal"
#~ msgstr "opérande à bin doit être un litéral entier non négatif"
@@ -21847,18 +23491,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "invalid reference to NULL ptr, use ptr-to-member instead"
#~ msgstr "référence invalide à un pointeur NUL, utiliser pointeur de membre à la place"
-#~ msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
-#~ msgstr "ISO C++ interdit l'utilisation d'un pointeur de type «void *» dans un pointeur arithmétique"
-
-#~ msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
-#~ msgstr "ISO C++ interdit l'utilisation d'un pointeur sur une fonction dans un opinteur arithmétique"
-
-#~ msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
-#~ msgstr "ISO C++ interdit l'utilisation d'un pointeur sur un membre de fonction dans un pointeur arithmétique"
-
-#~ msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
-#~ msgstr "ISO C++ interdit l'utilisation d'un pointeur sur un membre dans un pointeur arithmétique"
-
#~ msgid "internal error #%d"
#~ msgstr "erreur interne #%d"
@@ -21880,30 +23512,12 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Continuation indicator at %0 invalid here [info -f g77 M LEX]"
#~ msgstr "Indicateur de continuation à %0 invalide ici [info -f g77 M LEX]"
-#~ msgid "Integer at %0 too large except as negative number (preceded by unary minus sign)"
-#~ msgstr "Entier à %0 trop grand sauf comme nombre négatif (si précédé du signe unaire moins)"
-
#~ msgid "Non-negative integer at %0 too large"
#~ msgstr "Entier non négatif à %0 trop grand"
-#~ msgid "Integer at %0 too large; even though preceded by unary minus sign at %1, subsequent operator at %2 has precedence over unary minus -- enclose unary minus sign and integer in parentheses to force precedence"
-#~ msgstr "Entier à %0 trop grand; même en étant précédé du signe unaire moins à %1, l'oérateur subséquent à %2 a précédence sur l'unaire moins -- encapsuler le signe unaire moins et l'entier entre parenthèses"
-
#~ msgid "Integer at %0 too large (%2 has precedence over %1)"
#~ msgstr "Entier à %0 trop grand (%2 a précédence sur %1)"
-#~ msgid "Integer at %0 too large; even though preceded by minus sign at %1, because minus sign is a binary, not unary, operator -- insert plus sign before minus sign to change it to a unary minus sign"
-#~ msgstr "Entier à %0 trop grand; même précédé du signe moins à %1, parce que le signe moins est un opérateur binaire, non pas unaire -- insérer avant un signe plus pour le changer en un signe unaire moins "
-
-#~ msgid "Integer at %0 too large (needs unary, not binary, minus at %1)"
-#~ msgstr "Entier à %0 trop grand (nécessite l'unaire moins, non pas binaire, à %1)"
-
-#~ msgid "Integer at %0 too large; even though preceded by minus sign at %1, subsequent operator at %2 has precedence over minus, and that minus sign should be a unary minus rather than a binary minus -- insert plus sign before minus sign to change it to a unary minus sign, and enclose unary minus sign and integer in parentheses to force precedence"
-#~ msgstr "Entier à %0 trop grand; même précédé du signe moins à %1, l'opérateur subséquent à %2 a précédence sur le moins et le signe moins doit être un signe unaire moins au lieu d'un signe binaire moins -- insérer avant un signe plus pour le changer en un signe unaire moins et encapsuler le signe unaire moins et l'entier entre parenthèse pour forcer la précédence"
-
-#~ msgid "Integer at %0 too large (%2 has precedence over %1, which needs to be unary, not binary, minus)"
-#~ msgstr "Entier à %0 trop grand (%2 a précédence sur %1, lequel nécessite l'unaire moins, non pas bianire)"
-
#~ msgid "Period at %0 not followed by valid keyword forming a valid binary operator; `.%A.' is not a valid binary operator"
#~ msgstr "Période à %0 n'est pas suivie d'un mot clé valide formant un opérateut binaire valide; «.%A,» n'est pas un opérateur binaire valide"
@@ -21997,26 +23611,15 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Unterminated character constant at %0 [info -f g77 M LEX]"
#~ msgstr "constante de caractères non terminée à %0 [info -f g77 M LEX]"
-#, fuzzy
-#~ msgid "Continuation line at %0 must have initial `&' since it continues a character context [info -f g77 M LEX]"
-#~ msgstr "La ligne de continuation à %0 doit avoir un «&» initial puisqu'elle est la suite du contexte caractère [info -f g77 M LEX]"
-
#~ msgid "Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"
#~ msgstr "«&» initial manquant sur la ligne de continuation à %0 [info -f g77 M LEX]"
-#, fuzzy
-#~ msgid "Continuation line at %0 must have initial `&' since it continues a split lexical token [info -f g77 M LEX]"
-#~ msgstr "Ligne de continuation à %0 doit avoir un «&» initial puisqu'elle est la suite d'un jeton lexical scindé [info -f g77 M LEX]"
-
#~ msgid "Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character"
#~ msgstr "Ligne de continuation à %0 invalide parce qu'elle contient seulement un simple «&» comme seul caractère non blanc"
#~ msgid "Invalid continuation line at %0"
#~ msgstr "ligne de continuation invalide à %0"
-#~ msgid "Statement at %0 begins with invalid token [info -f g77 M LEX]"
-#~ msgstr "Déclaration à %0 débute avec un jeton invalide [info -f g77 M LEX]"
-
#~ msgid "Invalid statement at %0 [info -f g77 M LEX]"
#~ msgstr "Déclaration invalide à %0 [info -f g77 M LEX]"
@@ -22035,210 +23638,84 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Invalid use of hollerith constant in statement at %0 -- enclose the constant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))"
#~ msgstr "Utilisation invalide d'une constante Hollerith à la déclaration à %0 -- encapsuler la constante entre paranthèses (par exemple, changer BACKSPACE 2HAB en BACKSPACE (2HAB) )"
-#, fuzzy
-#~ msgid "Enclose hollerith constant in statement at %0 in parentheses"
-#~ msgstr "Encapsuler la constante Hollerith dans la déclaration à %0 entre parenthèses"
-
-#, fuzzy
-#~ msgid "nP control edit descriptor not followed by comma but followed by edit descriptor at %0 other than D, E, EN, F, or G"
-#~ msgstr "descripteur nP de contrôle d'édition n'est pas suivi par une virgule mais par un descripteur d'édition à %0 autre que D, E, EN, F ou G"
-
-#, fuzzy
-#~ msgid "Invalid edit descriptor at %0 following nP control edit descriptor"
-#~ msgstr "Descripteur d'édition invalide à %0 suivant le descripteur nP de contrôle d'édition"
-
-#, fuzzy
-#~ msgid "Invalid I specifier in FORMAT statement at %0 -- correct form: [r]Iw.[m]"
-#~ msgstr "Spécificateur I invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Iw.[m]"
-
#~ msgid "Invalid I specifier in FORMAT statement at %0"
#~ msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid B specifier in FORMAT statement at %0 -- correct form: [r]Bw.[m]"
-#~ msgstr "Spécificateur B invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Bw.[m]"
-
#~ msgid "Invalid B specifier in FORMAT statement at %0"
#~ msgstr "spécificateur B invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]"
-#~ msgstr "Spécificateur O invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Ow.[m]"
-
#~ msgid "Invalid O specifier in FORMAT statement at %0"
#~ msgstr "spécificateur O invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]"
-#~ msgstr "Spécificateur Z invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Zw.[m]"
-
#~ msgid "Invalid Z specifier in FORMAT statement at %0"
#~ msgstr "spécificateur Z invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid F specifier in FORMAT statement at %0 -- correct form: [r]Fw.d"
-#~ msgstr "Spécificateur F invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Fw.d"
-
#~ msgid "Invalid F specifier in FORMAT statement at %0"
#~ msgstr "spécificateur F invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid E specifier in FORMAT statement at %0 -- correct form: [r]Ew.d[Ee]"
-#~ msgstr "Spécificateur E invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Ew.d[Ee]"
-
#~ msgid "Invalid E specifier in FORMAT statement at %0"
#~ msgstr "spécificateur E invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid EN specifier in FORMAT statement at %0 -- correct form: [r]ENw.d[Ee]"
-#~ msgstr "Spécificateur EN invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]ENw.d[Ee]"
-
#~ msgid "Invalid EN specifier in FORMAT statement at %0"
#~ msgstr "spécificateur EN invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid G specifier in FORMAT statement at %0 -- correct form: [r]Gw.d[Ee]"
-#~ msgstr "Spécificateur G invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Gw.d[Ee]"
-
#~ msgid "Invalid G specifier in FORMAT statement at %0"
#~ msgstr "spécificateur G invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid L specifier in FORMAT statement at %0 -- correct form: [r]Lw"
-#~ msgstr "Spécificateur L invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Lw"
-
#~ msgid "Invalid L specifier in FORMAT statement at %0"
#~ msgstr "spécificateur L invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid A specifier in FORMAT statement at %0 -- correct form: [r]A[w]"
-#~ msgstr "Spécificateur A invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]A[w]"
-
#~ msgid "Invalid A specifier in FORMAT statement at %0"
#~ msgstr "spécificateur A invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid D specifier in FORMAT statement at %0 -- correct form: [r]Dw.d"
-#~ msgstr "Spécificateur D invalide dans la déclaration de FORMAT à %0 -- forme correcte: [r]Dw.d"
-
#~ msgid "Invalid D specifier in FORMAT statement at %0"
#~ msgstr "spécificateur D invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid Q specifier in FORMAT statement at %0 -- correct form: Q"
-#~ msgstr "Spécificateur Q invalide dans la déclaration de FORMAT à %0 -- forme correcte: Q"
-
#~ msgid "Invalid Q specifier in FORMAT statement at %0"
#~ msgstr "spécificateur Q invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid $ specifier in FORMAT statement at %0 -- correct form: $"
-#~ msgstr "Spécificateur $ invalide dans la déclaration de FORMAT à %0 -- forme correcte: $"
-
#~ msgid "Invalid $ specifier in FORMAT statement at %0"
#~ msgstr "spécificateur $ invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid P specifier in FORMAT statement at %0 -- correct form: kP"
-#~ msgstr "Spécificateur P invalide dans la déclaration de FORMAT à %0 -- forme correcte: kP"
-
#~ msgid "Invalid P specifier in FORMAT statement at %0"
#~ msgstr "spécificateur P invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid T specifier in FORMAT statement at %0 -- correct form: Tn"
-#~ msgstr "Spécificateur T invalide dans la déclaration de FORMAT à %0 -- forme correcte: Tn"
-
#~ msgid "Invalid T specifier in FORMAT statement at %0"
#~ msgstr "spécificateur T invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid TL specifier in FORMAT statement at %0 -- correct form: TLn"
-#~ msgstr "Spécificateur TL invalide dans la déclaration de FORMAT à %0 -- forme correcte: TLn"
-
#~ msgid "Invalid TL specifier in FORMAT statement at %0"
#~ msgstr "spécificateur TL invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid TR specifier in FORMAT statement at %0 -- correct form: TRn"
-#~ msgstr "Spécificateur TR invalide dans la déclaration de FORMAT à %0 -- forme correcte: TRn"
-
#~ msgid "Invalid TR specifier in FORMAT statement at %0"
#~ msgstr "spécificateur TR invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid X specifier in FORMAT statement at %0 -- correct form: nX"
-#~ msgstr "Spécificateur X invalide dans la déclaration de FORMAT à %0 -- forme correcte: nX"
-
#~ msgid "Invalid X specifier in FORMAT statement at %0"
#~ msgstr "spécificateur X invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid S specifier in FORMAT statement at %0 -- correct form: S"
-#~ msgstr "Spécificateur S invalide dans la déclaration de FORMAT à %0 -- forme correcte: S"
-
#~ msgid "Invalid S specifier in FORMAT statement at %0"
#~ msgstr "spécificateur S invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid SP specifier in FORMAT statement at %0 -- correct form: SP"
-#~ msgstr "Spécificateur SP invalide dans la déclaration de FORMAT à %0 -- forme correcte: SP"
-
#~ msgid "Invalid SP specifier in FORMAT statement at %0"
#~ msgstr "spécificateur SP invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid SS specifier in FORMAT statement at %0 -- correct form: SS"
-#~ msgstr "Spécificateur SS invalide dans la déclaration de FORMAT à %0 -- forme correcte: SS"
-
#~ msgid "Invalid SS specifier in FORMAT statement at %0"
#~ msgstr "spécificateur SS invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid BN specifier in FORMAT statement at %0 -- correct form: BN"
-#~ msgstr "Spécificateur BN invalide dans la déclaration de FORMAT à %0 -- forme correcte: BN"
-
#~ msgid "Invalid BN specifier in FORMAT statement at %0"
#~ msgstr "spécificateur BN invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid BZ specifier in FORMAT statement at %0 -- correct form: BZ"
-#~ msgstr "Spécificateur BZ invalide dans la déclaration de FORMAT à %0 -- forme correcte: BZ"
-
#~ msgid "Invalid BZ specifier in FORMAT statement at %0"
#~ msgstr "spécificateur BZ invalide dans la déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid : specifier in FORMAT statement at %0 -- correct form: :"
-#~ msgstr "Invalide : spécificateur dans la déclaration de FORMAT à %0 -- forme correcte : :"
-
#~ msgid "Invalid : specifier in FORMAT statement at %0"
#~ msgstr "Invalide: spécificateur de déclaration de FORMAT à %0"
-#, fuzzy
-#~ msgid "Invalid H specifier in FORMAT statement at %0 -- correct form: nHcharacters !where n is an unsigned decimal constant, and characters !contains exactly n characters (including spaces)"
-#~ msgstr "Spécificateur H invalide dans la déclaration de FORMAT à %0 -- forme correcte: nHcaractères !où n est une constante décimale non signée et les caractères !contiennte exactement n caractères (incluant les espaces)"
-
#~ msgid "Invalid H specifier in FORMAT statement at %0"
#~ msgstr "spécificateur H invalide dans la déclaration de FORMAT à %0"
-#~ msgid "Invalid token with FORMAT run-time expression at %0 -- use the traditional operators .LT., .LE., .GT., .GE., .EQ., and .NE. in place of the newer tokens <, <=, >, >=, ==, and !=, because > ends an expression within a FORMAT statement"
-#~ msgstr "Jeton invalide dans le FORMAT de l'expression d'exécution à %0 -- utiliser les opérateurs tradictionnels .LT., .LE., .GT., .GE., .EQ. et .NE. à la place des nouveaux jetons <, <=, >, >=, == et != parce que > termine l'expression dans la déclaration de FORMAT"
-
-#~ msgid "Invalid token with FORMAT run-time expression at %0"
-#~ msgstr "jeton invalide avec le FORMAT de l'expression d'exécution à %0"
-
-#, fuzzy
-#~ msgid "Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)"
-#~ msgstr "L'opérateur défini à %0 ne contient pas une lettre -- doit contenir seulement des lettres A-Z (pas a-z)"
-
#~ msgid "Nonletter in defined operator at %0"
#~ msgstr "ne contient pas une non lettre dans l'opérateur défini à %0"
-#, fuzzy
-#~ msgid "Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE"
-#~ msgstr "Attribut de type invalide dans la déclaration à %0 -- doit être un de: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE"
-
#~ msgid "Invalid type-declaration attribute at %0"
#~ msgstr "type d'attribut de déclaration invalide à %0"
@@ -22254,10 +23731,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Range specification at %0 invalid"
#~ msgstr "spécification d'étendue à %0 invalide"
-#, fuzzy
-#~ msgid "Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression"
-#~ msgstr "spécification d'étendue à %0 inutile; première expression plus grande que la seconde expression dans l'étendue, aussi l'étendue ne peut jamais être en concordance avec une expression de sélection"
-
#~ msgid "Useless range at %0"
#~ msgstr "étendue inutile à %0"
@@ -22285,12 +23758,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "FORMAT at %0 with run-time expression must follow first executable statement"
#~ msgstr "FORMAT à %0 dans l'expression lors de l'exécution doit suivre la première déclaration exécutable"
-#~ msgid "Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is `(item-list,do-var=start,end[,incr])'"
-#~ msgstr "Jeton inattendu à %0 dans le construit DO implicite à %1 -- forme du DO implicite est «(item-list,do-var=start,end[,incr])»"
-
-#~ msgid "Unexpected token at %0 in implied-DO construct at %1"
-#~ msgstr "jeton inattendu à %0 dans le construit DO implcite à %1"
-
#~ msgid "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type"
#~ msgstr "opérateur booléen/logique à %0 doit opérer sur deux sous-expressions de type logique mais aucune des sous-expressions à %1 ou %2 n'est de type logique"
@@ -22450,13 +23917,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Padding of %A %D required before `%B' in common block `%C' at %0"
#~ msgstr "Remplissage de %A %D requis avant «%B» dans le bloc commun «%C» à %0"
-#, fuzzy
-#~ msgid "Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression"
-#~ msgstr "longueur de spécification invalide à %0 pour la déclaration IMPLICIT -- doit être l'expression d'une constante entière "
-
-#~ msgid "Invalid length specification at %0"
-#~ msgstr "spécification de longueur invalide à %0"
-
#~ msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type"
#~ msgstr "Type du point d'entrée à %0 de la fonction est en conflit avec le type de point d'entrée précédent de la fonction -- doit être de longueur indentique ou zéro pour un type caractère"
@@ -22517,9 +23977,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Set class path and suppress system path"
#~ msgstr "Initialiser le chemin des classes et supprimer le chemin systèmes"
-#~ msgid "a -ifile option requires a -map option"
-#~ msgstr "l'option -ifile requiert l'option -map"
-
#~ msgid "<stdin>"
#~ msgstr "<stdin>"
@@ -22556,9 +24013,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "type with more precision than %s"
#~ msgstr "type avec plus de precision que %s"
-#~ msgid "declaration of `%s' shadows previous local"
-#~ msgstr "déclaration de `%s' cache la déclaration locale précédente"
-
#~ msgid "ANSI C forbids const or volatile function types"
#~ msgstr "C ANSI interdit les types `const' ou de fonctions volatiles"
@@ -22571,12 +24025,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "unknown escape sequence: '\\' followed by char 0x%x"
#~ msgstr "séquence d'échappement inconnue: '\\' suivi du caractère 0x%x"
-#~ msgid "ISO C forbids `&&'"
-#~ msgstr "ISO C interdit `&&'"
-
-#~ msgid "`[*]' in parameter declaration only allowed in ISO C 99"
-#~ msgstr "`[*]' dans la déclaration de paramètres est permis seulement avec ISO C 99"
-
#~ msgid "wrong type argument to %s"
#~ msgstr "type d'argument erroné pour %s"
@@ -22592,9 +24040,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Unable to find a temporary location for static chain register"
#~ msgstr "Incapable de trouver une location temporaire pour un registre chaîné statique"
-#~ msgid "Only initialized variables can be placed into the 8-bit area."
-#~ msgstr "Seuls les variables initialisées peuvent être placées dans une aire de 8 bits"
-
#~ msgid "Internal gcc abort from %s:%d"
#~ msgstr "Abandon interne gcc à partir de %s:%d"
@@ -22649,18 +24094,9 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "`__alignof__' applied to a bit-field"
#~ msgstr "`__alignof__' appliqué à un champ de bits"
-#~ msgid "base class initializer specified, but no base class to initialize"
-#~ msgstr "classe de base d'initialiseurs spécifié, mais aucune classe de base éa initialiser"
-
-#~ msgid "initializer for unnamed base class ambiguous"
-#~ msgstr "initialiseur ambigü pour une classe de base non nommé"
-
#~ msgid "Do not treat the namespace `std' as a normal namespace"
#~ msgstr "Ne pas traiter l'espace nom `std' comme un espace nom normal"
-#~ msgid "ISO C++ forbids `&&'"
-#~ msgstr "ISO C++ interdit `&&'"
-
#~ msgid "taking dynamic typeid of object with -fno-rtti"
#~ msgstr "prendre le typeid dynamique d'objet avec -fno-rtti"
@@ -22691,9 +24127,6 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "expected to return to file \"%s\""
#~ msgstr "attendait retourner au fichier \"%s\""
-#~ msgid "expected to return to line number %u"
-#~ msgstr "attendait retourner au numéro de ligne %u"
-
#~ msgid "header flags for \"%s\" have changed"
#~ msgstr "fanion d'en-tête de \"%s\" a changé"
@@ -22768,12 +24201,3 @@ msgstr "-fPIC n'est pas valide avec -mcoff"
#~ msgid "Data size %ld.\n"
#~ msgstr "Taille des données %ld.\n"
-
-#~ msgid "bx]"
-#~ msgstr "bx]"
-
-#~ msgid "bx"
-#~ msgstr "bx"
-
-#~ msgid "cx"
-#~ msgstr "cx"
diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot
index fd7713d79c6..cc9b40a3eef 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: 2003-05-12 14:42-0700\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:5270 c-common.c:5292 c-common.c:5314
+#: c-common.c:5345 c-common.c:5367 c-common.c:5392 c-common.c:5418
+#: c-common.c:5448 c-common.c:5486 c-common.c:5533 c-common.c:5563
+#: c-common.c:5593 c-common.c:5616 c-common.c:5873 c-common.c:5895
+#: c-common.c:5938 c-common.c:6015 c-common.c:6071 c-common.c:6132
+#: c-common.c:6166 c-common.c:6520 config/arm/arm.c:2098 config/arm/arm.c:2125
+#: config/avr/avr.c:4774 config/h8300/h8300.c:3693 config/h8300/h8300.c:3718
+#: config/i386/i386.c:1403 config/i386/winnt.c:76 config/ip2k/ip2k.c:3204
#, 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:3519
msgid "second arg to `__builtin_expect' must be a constant"
msgstr ""
-#: builtins.c:3914
+#: builtins.c:4017
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:4081 c-common.c:4454
#, 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:4154
+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:14762
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:14766
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:14770
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:14903
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:2467
+#: 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:3116
msgid "`__alignof' applied to a bit-field"
msgstr ""
-#: c-common.c:2960
+#: c-common.c:3613
#, c-format
msgid "cannot disable built-in function `%s'"
msgstr ""
-#: c-common.c:3137 c-typeck.c:1794
+#: c-common.c:3782 c-typeck.c:1748
#, c-format
msgid "too few arguments to function `%s'"
msgstr ""
-#: c-common.c:3143 c-typeck.c:1647
+#: c-common.c:3788 c-typeck.c:1601
#, c-format
msgid "too many arguments to function `%s'"
msgstr ""
-#: c-common.c:3162
+#: c-common.c:3807
#, c-format
msgid "non-floating-point argument to function `%s'"
msgstr ""
-#: c-common.c:3431
+#: c-common.c:4076
msgid "pointers are not permitted as case values"
msgstr ""
-#: c-common.c:3437
+#: c-common.c:4082
msgid "ISO C++ forbids range expressions in switch statements"
msgstr ""
-#: c-common.c:3439
+#: c-common.c:4084
msgid "ISO C forbids range expressions in switch statements"
msgstr ""
-#: c-common.c:3469
+#: c-common.c:4114
msgid "empty range specified"
msgstr ""
-#: c-common.c:3520
+#: c-common.c:4165
msgid "duplicate (or overlapping) case value"
msgstr ""
-#: c-common.c:3522
+#: c-common.c:4167
msgid "this is the first entry overlapping that value"
msgstr ""
-#: c-common.c:3526
+#: c-common.c:4171
msgid "duplicate case value"
msgstr ""
-#: c-common.c:3527
+#: c-common.c:4172
msgid "previously used here"
msgstr ""
-#: c-common.c:3531
+#: c-common.c:4176
msgid "multiple default labels in one switch"
msgstr ""
-#: c-common.c:3532
+#: c-common.c:4177
msgid "this is the first default label"
msgstr ""
-#: c-common.c:3560
+#: c-common.c:4205
msgid "ISO C++ forbids taking the address of a label"
msgstr ""
-#: c-common.c:3562
+#: c-common.c:4207
msgid "ISO C forbids taking the address of a label"
msgstr ""
-#: c-common.c:4166
-msgid "-Wformat-y2k ignored without -Wformat"
+#: c-common.c:5230
+#, c-format
+msgid "declaration of `%s' shadows %s"
msgstr ""
-#: c-common.c:4168
-msgid "-Wformat-extra-args ignored without -Wformat"
+#: c-common.c:5649
+#, c-format
+msgid "unknown machine mode `%s'"
msgstr ""
-#: c-common.c:4170
-msgid "-Wformat-nonliteral ignored without -Wformat"
+#: c-common.c:5652
+#, c-format
+msgid "no data type for mode `%s'"
msgstr ""
-#: c-common.c:4172
-msgid "-Wformat-security ignored without -Wformat"
+#: c-common.c:5661 c-common.c:6262
+#, c-format
+msgid "unable to emulate '%s'"
msgstr ""
-#: c-common.c:4174
-msgid "-Wmissing-format-attribute ignored without -Wformat"
+#: c-common.c:5697
+msgid "section attribute cannot be specified for local variables"
msgstr ""
-#: c-common.c:4272
+#: c-common.c:5708
#, 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:5717
+#, 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:5724
+msgid "section attributes are not supported for this target"
+msgstr ""
+
+#: c-common.c:5766
+msgid "requested alignment is not a constant"
+msgstr ""
+
+#: c-common.c:5771
+msgid "requested alignment is not a power of 2"
+msgstr ""
+
+#: c-common.c:5776
+msgid "requested alignment is too large"
+msgstr ""
+
+#: c-common.c:5803
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr ""
+
+#: c-common.c:5848
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr ""
+
+#: c-common.c:5858
+msgid "alias arg not a string"
+msgstr ""
+
+#: c-common.c:5905
+msgid "visibility arg not a string"
+msgstr ""
+
+#: c-common.c:5914
+msgid ""
+"visibility arg must be one of \"default\", \"hidden\", \"protected\" or "
+"\"internal\""
+msgstr ""
+
+#: c-common.c:5948
+msgid "tls_model arg not a string"
+msgstr ""
+
+#: c-common.c:5957
+msgid ""
+"tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-"
+"dynamic\" or \"global-dynamic\""
+msgstr ""
+
+#: c-common.c:5982 c-common.c:6038
+#, c-format
+msgid "`%s' attribute applies only to functions"
+msgstr ""
+
+#: c-common.c:5989 c-common.c:6045
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr ""
+
+#: c-common.c:6129
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr ""
+
+#: c-common.c:6194
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr ""
+
+#: c-common.c:6218 c-common.c:6250
+msgid "no vector mode with the size and type specified could be found"
+msgstr ""
+
+#: c-common.c:6349
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr ""
+
+#: c-common.c:6364
+#, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr ""
+
+#: c-common.c:6383
+#, c-format
+msgid ""
+"nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
msgstr ""
-#: c-decl.c:587
+#: c-common.c:6391
#, c-format
-msgid "unknown C standard `%s'"
+msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
msgstr ""
-#: c-decl.c:748
+#: c-common.c:6477
+#, c-format
+msgid "null argument where non-null required (arg %lu)"
+msgstr ""
+
+#: c-convert.c:80 c-typeck.c:988 c-typeck.c:4059 cp/typeck.c:1617
+#: cp/typeck.c:5884
+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:337
#, c-format
msgid "array `%s' assumed to have one element"
msgstr ""
-#: c-decl.c:924
+#: c-decl.c:523
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr ""
-#: c-decl.c:927
+#: c-decl.c:526
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr ""
-#: c-decl.c:930
+#: c-decl.c:529
#, 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:643 c-decl.c:768 java/decl.c:1403
#, 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:649 c-decl.c:775 java/decl.c:1409
#, c-format
msgid "label `%s' defined but not used"
msgstr ""
-#: c-decl.c:1309 cp/decl.c:3125
+#: c-decl.c:890 cp/decl.c:3089
#, c-format
msgid "function `%s' redeclared as inline"
msgstr ""
-#: c-decl.c:1311 cp/decl.c:3127
+#: c-decl.c:892 cp/decl.c:3091
#, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr ""
-#: c-decl.c:1318 cp/decl.c:3134
+#: c-decl.c:899 cp/decl.c:3098
#, c-format
msgid "function `%s' redeclared with attribute noinline"
msgstr ""
-#: c-decl.c:1320 cp/decl.c:3136
+#: c-decl.c:901 cp/decl.c:3100
#, c-format
msgid "previous declaration of function `%s' was inline"
msgstr ""
-#: c-decl.c:1349 c-decl.c:1395
+#: c-decl.c:930 c-decl.c:976
#, c-format
msgid "shadowing built-in function `%s'"
msgstr ""
-#: c-decl.c:1351
+#: c-decl.c:932
#, c-format
msgid "shadowing library function `%s'"
msgstr ""
-#: c-decl.c:1357
+#: c-decl.c:938
#, c-format
msgid "library function `%s' declared as non-function"
msgstr ""
-#: c-decl.c:1361 c-decl.c:1364
+#: c-decl.c:942 c-decl.c:945
#, 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:949 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:950 c-decl.c:1141 c-decl.c:1155 c-decl.c:1162 c-decl.c:1307
+#: 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:1045
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr ""
-#: c-decl.c:1507 c-decl.c:1526
+#: c-decl.c:1088 c-decl.c:1107
#, c-format
msgid "conflicting types for `%s'"
msgstr ""
-#: c-decl.c:1549
+#: c-decl.c:1130
msgid ""
"a parameter list with an ellipsis can't match an empty parameter name list "
"declaration"
msgstr ""
-#: c-decl.c:1555
+#: c-decl.c:1136
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:1154
+#, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr ""
+
+#: c-decl.c:1161
+#, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr ""
+
+#: c-decl.c:1172 c-decl.c:1195
#, c-format
msgid "redefinition of `%s'"
msgstr ""
-#: c-decl.c:1573
+#: c-decl.c:1175
#, c-format
msgid "redeclaration of `%s'"
msgstr ""
-#: c-decl.c:1576
+#: c-decl.c:1178
#, c-format
msgid "conflicting declarations of `%s'"
msgstr ""
-#: c-decl.c:1620
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows"
msgstr ""
-#: c-decl.c:1621 c-decl.c:1629 c-decl.c:1640
+#: c-decl.c:1223 c-decl.c:1231 c-decl.c:1242
msgid "non-prototype definition here"
msgstr ""
-#: c-decl.c:1628
+#: c-decl.c:1230
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr ""
-#: c-decl.c:1638
+#: c-decl.c:1240
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr ""
-#: c-decl.c:1656
+#: c-decl.c:1258
#, c-format
msgid "`%s' declared inline after being called"
msgstr ""
-#: c-decl.c:1662
+#: c-decl.c:1264
#, c-format
msgid "`%s' declared inline after its definition"
msgstr ""
-#: c-decl.c:1669
+#: c-decl.c:1271
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr ""
-#: c-decl.c:1677
+#: c-decl.c:1279
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr ""
-#: c-decl.c:1684
+#: c-decl.c:1286
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr ""
-#: c-decl.c:1691
+#: c-decl.c:1293
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr ""
-#: c-decl.c:1704
+#: c-decl.c:1306
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr ""
-#: c-decl.c:2008 java/decl.c:1070
+#: c-decl.c:1607 java/decl.c:1102
#, c-format
msgid "declaration of `%s' shadows a parameter"
msgstr ""
-#: c-decl.c:2011 java/decl.c:1073
+#: c-decl.c:1610 java/decl.c:1105
#, 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:1631 cp/decl.c:4218
msgid "a parameter"
msgstr ""
-#: c-decl.c:2034 cp/decl.c:4250
+#: c-decl.c:1633 cp/decl.c:4235
msgid "a previous local"
msgstr ""
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2038 cp/decl.c:4254
+#: c-decl.c:1637 cp/decl.c:4239
msgid "a global declaration"
msgstr ""
-#: c-decl.c:2082
+#: c-decl.c:1681
#, c-format
msgid "nested extern declaration of `%s'"
msgstr ""
-#: c-decl.c:2101 java/decl.c:1023
+#: c-decl.c:1700 java/decl.c:1055
#, c-format
msgid "`%s' used prior to declaration"
msgstr ""
-#: c-decl.c:2115 c-decl.c:2290
+#: c-decl.c:1714 c-decl.c:1889
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr ""
-#: c-decl.c:2218 cp/decl.c:4092
+#: c-decl.c:1817 cp/decl.c:4075
msgid "type mismatch with previous external decl"
msgstr ""
-#: c-decl.c:2219
+#: c-decl.c:1818
#, c-format
msgid "previous external decl of `%s'"
msgstr ""
-#: c-decl.c:2232
+#: c-decl.c:1831
msgid "type mismatch with previous implicit declaration"
msgstr ""
-#: c-decl.c:2234
+#: c-decl.c:1833
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr ""
-#: c-decl.c:2269
+#: c-decl.c:1868
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr ""
-#: c-decl.c:2294
+#: c-decl.c:1893
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr ""
-#: c-decl.c:2318
+#: c-decl.c:1917
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr ""
-#: c-decl.c:2360
+#: c-decl.c:1959
#, c-format
msgid "`%s' locally external but globally static"
msgstr ""
-#: c-decl.c:2481
+#: c-decl.c:2081
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr ""
-#: c-decl.c:2501 c-decl.c:2503
+#: c-decl.c:2101 c-decl.c:2103
#, c-format
msgid "implicit declaration of function `%s'"
msgstr ""
-#: c-decl.c:2582
+#: c-decl.c:2182
#, c-format
msgid "label %s referenced outside of any function"
msgstr ""
-#: c-decl.c:2639
+#: c-decl.c:2239
#, c-format
msgid "duplicate label declaration `%s'"
msgstr ""
-#: c-decl.c:2642
+#: c-decl.c:2242
msgid "this is a previous declaration"
msgstr ""
-#: c-decl.c:3098
+#: c-decl.c:2665
msgid "unnamed struct/union that defines no instances"
msgstr ""
-#: c-decl.c:3117
+#: c-decl.c:2684
msgid "useless keyword or type name in empty declaration"
msgstr ""
-#: c-decl.c:3124
+#: c-decl.c:2691
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:2696 c-parse.y:753 c-parse.y:755 parse.y:765 parse.y:1836
+#: objc-parse.y:799 objc-parse.y:801 objc-parse.y:3042
msgid "empty declaration"
msgstr ""
-#: c-decl.c:3159
+#: c-decl.c:2726
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:2728
+msgid "ISO C90 does not support `[*]' array declarators"
msgstr ""
-#: c-decl.c:3164
+#: c-decl.c:2731
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr ""
-#: c-decl.c:3183
+#: c-decl.c:2750
msgid "static or type qualifiers in abstract declarator"
msgstr ""
-#: c-decl.c:3257
+#: c-decl.c:2824
#, c-format
msgid "`%s' is usually a function"
msgstr ""
-#: c-decl.c:3271
+#: c-decl.c:2833
#, c-format
-msgid "typedef `%s' is initialized"
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
msgstr ""
-#: c-decl.c:3278
+#: c-decl.c:2839
#, 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:2846
#, c-format
msgid "parameter `%s' is initialized"
msgstr ""
-#: c-decl.c:3305 c-typeck.c:4846
+#: c-decl.c:2866 c-typeck.c:4868
msgid "variable-sized object may not be initialized"
msgstr ""
-#: c-decl.c:3311
+#: c-decl.c:2872
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr ""
-#: c-decl.c:3317
+#: c-decl.c:2878
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr ""
-#: c-decl.c:3330
+#: c-decl.c:2891
#, 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:2940 c-decl.c:5705 cp/decl.c:7456 cp/decl.c:14012
#, c-format
msgid "inline function `%s' given attribute noinline"
msgstr ""
-#: c-decl.c:3452
+#: c-decl.c:3014
#, c-format
msgid "initializer fails to determine size of `%s'"
msgstr ""
-#: c-decl.c:3457
+#: c-decl.c:3019
#, c-format
msgid "array size missing in `%s'"
msgstr ""
-#: c-decl.c:3473
+#: c-decl.c:3035
#, c-format
msgid "zero or negative size array `%s'"
msgstr ""
-#: c-decl.c:3501
+#: c-decl.c:3063
#, c-format
msgid "storage size of `%s' isn't known"
msgstr ""
-#: c-decl.c:3511
+#: c-decl.c:3073
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr ""
-#: c-decl.c:3570
+#: c-decl.c:3133
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr ""
-#: c-decl.c:3634
+#: c-decl.c:3198
#, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr ""
-#: c-decl.c:3938 cp/decl.c:10164
+#: c-decl.c:3543 cp/decl.c:10568
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:3548
+msgid "ISO C90 does not support `long long'"
msgstr ""
-#: c-decl.c:3948 cp/decl.c:10169
+#: c-decl.c:3557 c-decl.c:3560 cp/decl.c:10573
#, c-format
msgid "duplicate `%s'"
msgstr ""
-#: c-decl.c:3954 cp/decl.c:10193
+#: c-decl.c:3570 cp/decl.c:10580
+msgid "`__thread' before `extern'"
+msgstr ""
+
+#: c-decl.c:3572 cp/decl.c:10582
+msgid "`__thread' before `static'"
+msgstr ""
+
+#: c-decl.c:3580 cp/decl.c:10609
#, c-format
msgid "two or more data types in declaration of `%s'"
msgstr ""
-#: c-decl.c:3974 cp/decl.c:10198
+#: c-decl.c:3600 cp/decl.c:10614
#, c-format
msgid "`%s' fails to be a typedef or built in type"
msgstr ""
-#: c-decl.c:4013
+#: c-decl.c:3639
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr ""
-#: c-decl.c:4042
+#: c-decl.c:3668
#, c-format
msgid "both long and short specified for `%s'"
msgstr ""
-#: c-decl.c:4046 cp/decl.c:10313
+#: c-decl.c:3672 cp/decl.c:10729
#, c-format
msgid "long or short specified with char for `%s'"
msgstr ""
-#: c-decl.c:4053 cp/decl.c:10317
+#: c-decl.c:3679 cp/decl.c:10733
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr ""
-#: c-decl.c:4056
+#: c-decl.c:3682
msgid "the only valid combination is `long double'"
msgstr ""
-#: c-decl.c:4062
+#: c-decl.c:3688
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr ""
-#: c-decl.c:4064 cp/decl.c:10306
+#: c-decl.c:3690 cp/decl.c:10722
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr ""
-#: c-decl.c:4070 cp/decl.c:10326
+#: c-decl.c:3696 cp/decl.c:10742
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr ""
-#: c-decl.c:4089 cp/decl.c:10347
+#: c-decl.c:3714 cp/decl.c:10763
#, c-format
msgid "complex invalid for `%s'"
msgstr ""
-#: c-decl.c:4131
-msgid "ISO C89 does not support complex types"
+#: c-decl.c:3756
+msgid "ISO C90 does not support complex types"
msgstr ""
-#: c-decl.c:4143
+#: c-decl.c:3768
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr ""
-#: c-decl.c:4149 c-decl.c:4161
+#: c-decl.c:3774 c-decl.c:3786
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:3801 c-decl.c:4267 cp/decl.c:11376
msgid "duplicate `const'"
msgstr ""
-#: c-decl.c:4178 c-decl.c:4612 cp/decl.c:10966
+#: c-decl.c:3803 c-decl.c:4271 cp/decl.c:11380
msgid "duplicate `restrict'"
msgstr ""
-#: c-decl.c:4180 c-decl.c:4610 cp/decl.c:10964
+#: c-decl.c:3805 c-decl.c:4269 cp/decl.c:11378
msgid "duplicate `volatile'"
msgstr ""
-#: c-decl.c:4202 cp/decl.c:10502
+#: c-decl.c:3833 cp/decl.c:10926
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr ""
-#: c-decl.c:4211
+#: c-decl.c:3843
msgid "function definition declared `auto'"
msgstr ""
-#: c-decl.c:4213
+#: c-decl.c:3845
msgid "function definition declared `register'"
msgstr ""
-#: c-decl.c:4215
+#: c-decl.c:3847
msgid "function definition declared `typedef'"
msgstr ""
-#: c-decl.c:4228
+#: c-decl.c:3849
+msgid "function definition declared `__thread'"
+msgstr ""
+
+#: c-decl.c:3862
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr ""
-#: c-decl.c:4232 cp/decl.c:10549
+#: c-decl.c:3866 cp/decl.c:10973
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr ""
-#: c-decl.c:4235 cp/decl.c:10551
+#: c-decl.c:3869 cp/decl.c:10975
msgid "storage class specified for typename"
msgstr ""
-#: c-decl.c:4247 cp/decl.c:10565
+#: c-decl.c:3881 cp/decl.c:10990
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr ""
-#: c-decl.c:4249 cp/decl.c:10568
+#: c-decl.c:3883 cp/decl.c:10993
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr ""
-#: c-decl.c:4253 cp/decl.c:10572
+#: c-decl.c:3888 cp/decl.c:11001
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr ""
+
+#: c-decl.c:3893 cp/decl.c:10997
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr ""
-#: c-decl.c:4256 cp/decl.c:10576
+#: c-decl.c:3899 cp/decl.c:11007
#, 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:3938 c-decl.c:4139
msgid "static or type qualifiers in non-parameter array declarator"
msgstr ""
-#: c-decl.c:4335
+#: c-decl.c:3982
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr ""
-#: c-decl.c:4341
+#: c-decl.c:3988
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr ""
-#: c-decl.c:4362
+#: c-decl.c:3993 c-decl.c:5261
+msgid "invalid use of structure with flexible array member"
+msgstr ""
+
+#: c-decl.c:4012
#, c-format
msgid "size of array `%s' has non-integer type"
msgstr ""
-#: c-decl.c:4367
+#: c-decl.c:4017
#, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr ""
-#: c-decl.c:4374
+#: c-decl.c:4024
#, c-format
msgid "size of array `%s' is negative"
msgstr ""
-#: c-decl.c:4387
+#: c-decl.c:4037
#, 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:4040
#, 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:4070 c-decl.c:4293 cp/decl.c:11585
#, 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:4096
+msgid "ISO C90 does not support flexible array members"
msgstr ""
-#: c-decl.c:4447
+#: c-decl.c:4106
msgid "array type has incomplete element type"
msgstr ""
-#: c-decl.c:4454 c-decl.c:4684
+#: c-decl.c:4113 c-decl.c:4343
msgid "ISO C forbids const or volatile function types"
msgstr ""
-#: c-decl.c:4500 cp/decl.c:10713
+#: c-decl.c:4159 cp/decl.c:11133
#, c-format
msgid "`%s' declared as function returning a function"
msgstr ""
-#: c-decl.c:4505 cp/decl.c:10718
+#: c-decl.c:4164 cp/decl.c:11138
#, c-format
msgid "`%s' declared as function returning an array"
msgstr ""
-#: c-decl.c:4533
+#: c-decl.c:4192
msgid "ISO C forbids qualified void function return type"
msgstr ""
-#: c-decl.c:4537
+#: c-decl.c:4196
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:4225 c-decl.c:4308 c-decl.c:4432 c-decl.c:4524
msgid "ISO C forbids qualified function types"
msgstr ""
-#: c-decl.c:4606 cp/decl.c:10958
+#: c-decl.c:4265 cp/decl.c:11372
msgid "invalid type modifier within pointer declarator"
msgstr ""
-#: c-decl.c:4704 cp/decl.c:11450
+#: c-decl.c:4363 cp/decl.c:11870
#, c-format
msgid "variable or field `%s' declared void"
msgstr ""
-#: c-decl.c:4737
+#: c-decl.c:4396
msgid "attributes in parameter array declarator ignored"
msgstr ""
-#: c-decl.c:4762
+#: c-decl.c:4421
msgid "invalid type modifier within array declarator"
msgstr ""
-#: c-decl.c:4807
+#: c-decl.c:4466
#, c-format
msgid "field `%s' declared as a function"
msgstr ""
-#: c-decl.c:4813
+#: c-decl.c:4472
#, c-format
msgid "field `%s' has incomplete type"
msgstr ""
-#: c-decl.c:4845 c-decl.c:4847 c-decl.c:4854
+#: c-decl.c:4504 c-decl.c:4506 c-decl.c:4508 c-decl.c:4515
#, c-format
msgid "invalid storage class for function `%s'"
msgstr ""
-#: c-decl.c:4869
+#: c-decl.c:4530
msgid "`noreturn' function returns non-void value"
msgstr ""
-#: c-decl.c:4884
+#: c-decl.c:4545
msgid "cannot inline function `main'"
msgstr ""
-#: c-decl.c:4937
+#: c-decl.c:4600
#, 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:4628 cp/decl.c:9639
+msgid "thread-local storage not supported for this target"
+msgstr ""
+
+#: c-decl.c:4683 c-decl.c:5757
msgid "function declaration isn't a prototype"
msgstr ""
-#: c-decl.c:5016
+#: c-decl.c:4689
msgid "parameter names (without types) in function declaration"
msgstr ""
-#: c-decl.c:5048 c-decl.c:6431
+#: c-decl.c:4721 c-decl.c:6127
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr ""
-#: c-decl.c:5051
+#: c-decl.c:4724
msgid "parameter has incomplete type"
msgstr ""
-#: c-decl.c:5072
+#: c-decl.c:4745
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr ""
-#: c-decl.c:5075
+#: c-decl.c:4748
msgid "parameter points to incomplete type"
msgstr ""
-#: c-decl.c:5140
+#: c-decl.c:4813
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr ""
-#: c-decl.c:5181
+#: c-decl.c:4854
msgid "`void' in parameter list must be the entire list"
msgstr ""
-#: c-decl.c:5212
+#: c-decl.c:4885
#, c-format
msgid "`struct %s' declared inside parameter list"
msgstr ""
-#: c-decl.c:5215
+#: c-decl.c:4888
#, c-format
msgid "`union %s' declared inside parameter list"
msgstr ""
-#: c-decl.c:5218
+#: c-decl.c:4891
#, c-format
msgid "`enum %s' declared inside parameter list"
msgstr ""
-#: c-decl.c:5225
+#: c-decl.c:4898
msgid "anonymous struct declared inside parameter list"
msgstr ""
-#: c-decl.c:5227
+#: c-decl.c:4900
msgid "anonymous union declared inside parameter list"
msgstr ""
-#: c-decl.c:5229
+#: c-decl.c:4902
msgid "anonymous enum declared inside parameter list"
msgstr ""
-#: c-decl.c:5233
+#: c-decl.c:4906
msgid ""
"its scope is only this definition or declaration, which is probably not what "
"you want"
msgstr ""
-#: c-decl.c:5312
+#: c-decl.c:4983
#, c-format
msgid "redefinition of `union %s'"
msgstr ""
-#: c-decl.c:5315
+#: c-decl.c:4985
#, 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:5056 cp/decl.c:7228
+msgid "declaration does not declare anything"
msgstr ""
-#: c-decl.c:5395 c-decl.c:5398
+#: c-decl.c:5098 c-decl.c:5101
#, c-format
msgid "%s defined inside parms"
msgstr ""
-#: c-decl.c:5396 c-decl.c:5399 c-decl.c:5410
+#: c-decl.c:5099 c-decl.c:5102 c-decl.c:5113
msgid "union"
msgstr ""
-#: c-decl.c:5396 c-decl.c:5399
+#: c-decl.c:5099 c-decl.c:5102
msgid "structure"
msgstr ""
-#: c-decl.c:5409
+#: c-decl.c:5112
#, c-format
msgid "%s has no %s"
msgstr ""
-#: c-decl.c:5410
+#: c-decl.c:5113
msgid "struct"
msgstr ""
-#: c-decl.c:5411
+#: c-decl.c:5114
msgid "named members"
msgstr ""
-#: c-decl.c:5411
+#: c-decl.c:5114
msgid "members"
msgstr ""
-#: c-decl.c:5450
+#: c-decl.c:5153
#, c-format
msgid "nested redefinition of `%s'"
msgstr ""
-#: c-decl.c:5463
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr ""
-#: c-decl.c:5474
+#: c-decl.c:5177
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr ""
-#: c-decl.c:5486
+#: c-decl.c:5189
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr ""
-#: c-decl.c:5497
+#: c-decl.c:5200
#, c-format
msgid "negative width in bit-field `%s'"
msgstr ""
-#: c-decl.c:5499
+#: c-decl.c:5202
#, c-format
msgid "width of `%s' exceeds its type"
msgstr ""
-#: c-decl.c:5501
+#: c-decl.c:5204
#, c-format
msgid "zero width for bit-field `%s'"
msgstr ""
-#: c-decl.c:5515
+#: c-decl.c:5218
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr ""
-#: c-decl.c:5561
+#: c-decl.c:5252
msgid "flexible array member in union"
msgstr ""
-#: c-decl.c:5563
+#: c-decl.c:5254
msgid "flexible array member not at end of struct"
msgstr ""
-#: c-decl.c:5565
+#: c-decl.c:5256
msgid "flexible array member in otherwise empty struct"
msgstr ""
-#: c-decl.c:5590
+#: c-decl.c:5286
#, c-format
msgid "duplicate member `%s'"
msgstr ""
-#: c-decl.c:5634
+#: c-decl.c:5330
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:5435
#, c-format
msgid "redeclaration of `enum %s'"
msgstr ""
-#: c-decl.c:5762
+#: c-decl.c:5469
msgid "enum defined inside parms"
msgstr ""
-#: c-decl.c:5795
+#: c-decl.c:5502
msgid "enumeration values exceed range of largest integer"
msgstr ""
-#: c-decl.c:5904
+#: c-decl.c:5611
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr ""
-#: c-decl.c:5917
+#: c-decl.c:5624
msgid "overflow in enumeration values"
msgstr ""
-#: c-decl.c:5922
+#: c-decl.c:5629
msgid "ISO C restricts enumerator values to range of `int'"
msgstr ""
-#: c-decl.c:6005
+#: c-decl.c:5711
msgid "return type is an incomplete type"
msgstr ""
-#: c-decl.c:6013
+#: c-decl.c:5719
msgid "return type defaults to `int'"
msgstr ""
-#: c-decl.c:6060
+#: c-decl.c:5766
#, c-format
msgid "no previous prototype for `%s'"
msgstr ""
-#: c-decl.c:6067
+#: c-decl.c:5773
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr ""
-#: c-decl.c:6073
+#: c-decl.c:5779
#, c-format
msgid "no previous declaration for `%s'"
msgstr ""
-#: c-decl.c:6080
+#: c-decl.c:5786
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr ""
-#: c-decl.c:6104 c-decl.c:6667
+#: c-decl.c:5810 c-decl.c:6363
#, c-format
msgid "return type of `%s' is not `int'"
msgstr ""
-#: c-decl.c:6120
+#: c-decl.c:5826
#, c-format
msgid "first argument of `%s' should be `int'"
msgstr ""
-#: c-decl.c:6129
+#: c-decl.c:5835
#, c-format
msgid "second argument of `%s' should be `char **'"
msgstr ""
-#: c-decl.c:6138
+#: c-decl.c:5844
#, c-format
msgid "third argument of `%s' should probably be `char **'"
msgstr ""
-#: c-decl.c:6147
+#: c-decl.c:5853
#, c-format
msgid "`%s' takes only zero or two arguments"
msgstr ""
-#: c-decl.c:6150
+#: c-decl.c:5856
#, c-format
msgid "`%s' is normally a non-static function"
msgstr ""
-#: c-decl.c:6258
+#: c-decl.c:5954
msgid "parm types given both in parmlist and separately"
msgstr ""
-#: c-decl.c:6279
+#: c-decl.c:5975
msgid "parameter name omitted"
msgstr ""
-#: c-decl.c:6283 c-decl.c:6385
+#: c-decl.c:5979 c-decl.c:6081
#, c-format
msgid "parameter `%s' declared void"
msgstr ""
-#: c-decl.c:6359
+#: c-decl.c:6055
msgid "parameter name missing from parameter list"
msgstr ""
-#: c-decl.c:6378
+#: c-decl.c:6074
#, c-format
msgid "multiple parameters named `%s'"
msgstr ""
-#: c-decl.c:6400 c-decl.c:6402
+#: c-decl.c:6096 c-decl.c:6098
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr ""
-#: c-decl.c:6438
+#: c-decl.c:6134
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr ""
-#: c-decl.c:6486
+#: c-decl.c:6182
msgid "number of arguments doesn't match prototype"
msgstr ""
-#: c-decl.c:6516
+#: c-decl.c:6212
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr ""
-#: c-decl.c:6526
+#: c-decl.c:6222
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr ""
-#: c-decl.c:6699 cp/decl.c:14311
+#: c-decl.c:6395 cp/decl.c:14723
msgid "no return statement in function returning non-void"
msgstr ""
-#: c-decl.c:6855
+#: c-decl.c:6578
msgid "this function may return with or without a value"
msgstr ""
-#: c-decl.c:6875
+#: c-decl.c:6598
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr ""
-#: c-decl.c:6879
+#: c-decl.c:6602
#, 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:6657
msgid "`for' loop initial declaration used outside C99 mode"
msgstr ""
-#: c-decl.c:6958
+#: c-decl.c:6681
#, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6961
+#: c-decl.c:6684
#, c-format
msgid "`union %s' declared in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6964
+#: c-decl.c:6687
#, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6972
+#: c-decl.c:6695
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6974
+#: c-decl.c:6697
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6976
+#: c-decl.c:6699
#, 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:851
+msgid "this decimal constant is unsigned only in ISO C90"
msgstr ""
-#: c-lex.c:834
-msgid "decimal point in exponent - impossible!"
+#: c-lex.c:854
+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:870
+#, 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:938
+#, 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:974 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:355
+#, c-format
+msgid "missing argument to \"-%s\""
msgstr ""
-#: c-lex.c:933
-msgid "floating constant exponent has no digits"
+#: c-opts.c:359
+#, 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:366
+#, c-format
+msgid "missing filename after \"-%s\""
msgstr ""
-#: c-lex.c:956
-msgid "traditional C rejects the 'f' suffix"
+#: c-opts.c:371
+#, c-format
+msgid "missing target after \"-%s\""
msgstr ""
-#: c-lex.c:963
-msgid "more than one 'l' suffix on floating constant"
+#: c-opts.c:505
+#, 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:550
+#, 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:937
+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:1017
+#, c-format
+msgid "switch \"%s\" is no longer supported"
msgstr ""
-#: c-lex.c:981
-msgid "invalid suffix on floating constant"
+#: c-opts.c:1033
+#, 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:1153
+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:1273
+msgid "output filename specified twice"
msgstr ""
-#: c-lex.c:1022
-msgid "floating point number exceeds range of 'double'"
+#: c-opts.c:1387
+msgid "-Wformat-y2k ignored without -Wformat"
msgstr ""
-#: c-lex.c:1050
-msgid "two 'u' suffixes on integer constant"
+#: c-opts.c:1389
+msgid "-Wformat-extra-args ignored without -Wformat"
msgstr ""
-#: c-lex.c:1053
-msgid "traditional C rejects the 'u' suffix"
+#: c-opts.c:1391
+msgid "-Wformat-zero-length ignored without -Wformat"
msgstr ""
-#: c-lex.c:1064
-msgid "three 'l' suffixes on integer constant"
+#: c-opts.c:1393
+msgid "-Wformat-nonliteral ignored without -Wformat"
msgstr ""
-#: c-lex.c:1066
-msgid "'lul' is not a valid integer suffix"
+#: c-opts.c:1395
+msgid "-Wformat-security ignored without -Wformat"
msgstr ""
-#: c-lex.c:1068
-msgid "'Ll' and 'lL' are not valid integer suffixes"
+#: c-opts.c:1397
+msgid "-Wmissing-format-attribute ignored without -Wformat"
msgstr ""
-#: c-lex.c:1071
-msgid "ISO C89 forbids long long integer constants"
+#: c-opts.c:1419
+#, 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:1474
+#, c-format
+msgid "opening dependency file %s"
msgstr ""
-#: c-lex.c:1086
-msgid "invalid suffix on integer constant"
+#: c-opts.c:1484
+#, c-format
+msgid "closing dependency file %s"
msgstr ""
-#: c-lex.c:1094
+#: c-opts.c:1487
#, 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:1567
+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:1714
+#, 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:1724
+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:1733
+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:1742
+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:1751
+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:1756
+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:1761
+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:1769
+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:1774
+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:1782
+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:1790
+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:55
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:346
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:6887 objc-parse.y:388
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:396
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:398
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:411
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:518
msgid "`sizeof' applied to a bit-field"
msgstr ""
-#: c-parse.y:550 objc-parse.y:573
+#: c-parse.y:583 objc-parse.y:605
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:654
msgid "ISO C89 forbids compound literals"
msgstr ""
-#: c-parse.y:613 objc-parse.y:636
+#: c-parse.y:646 objc-parse.y:668
msgid "ISO C forbids braced-groups within expressions"
msgstr ""
-#: c-parse.y:644 objc-parse.y:667
+#: c-parse.y:677 objc-parse.y:699
msgid "first argument to __builtin_choose_expr not a constant"
msgstr ""
-#: c-parse.y:687
-msgid "traditional C rejects string concatenation"
+#: c-parse.y:721 objc-parse.y:767
+msgid "traditional C rejects ISO C style function definitions"
msgstr ""
-#: c-parse.y:702 objc-parse.y:739
-msgid "ISO C does not permit use of `varargs.h'"
-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:1916 parse.y:1923 parse.y:1958 objc-parse.y:1031
+#: objc-parse.y:1037 objc-parse.y:1043 objc-parse.y:1049 objc-parse.y:1070
+#: objc-parse.y:1076 objc-parse.y:1082 objc-parse.y:1088 objc-parse.y:1121
+#: objc-parse.y:1127 objc-parse.y:1133 objc-parse.y:1139 objc-parse.y:1184
+#: objc-parse.y:1190 objc-parse.y:1196 objc-parse.y:1202
#, 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:1496
msgid "ISO C forbids empty initializer braces"
msgstr ""
-#: c-parse.y:1435 objc-parse.y:1481
+#: c-parse.y:1455 objc-parse.y:1510
msgid "ISO C89 forbids specifying subobject to initialize"
msgstr ""
-#: c-parse.y:1438 objc-parse.y:1484
+#: c-parse.y:1458 objc-parse.y:1513
msgid "obsolete use of designated initializer without `='"
msgstr ""
-#: c-parse.y:1442 objc-parse.y:1488
+#: c-parse.y:1462 objc-parse.y:1517
msgid "obsolete use of designated initializer with `:'"
msgstr ""
-#: c-parse.y:1471
+#: c-parse.y:1489 objc-parse.y:1544
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:1552 objc-parse.y:1583
msgid "ISO C forbids nested functions"
msgstr ""
-#: c-parse.y:1683 objc-parse.y:1725
+#: c-parse.y:1703 objc-parse.y:1760
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:2386 objc-parse.y:1772
msgid "comma at end of enumerator list"
msgstr ""
-#: c-parse.y:1703 objc-parse.y:1745
+#: c-parse.y:1723 objc-parse.y:1780
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:1789 objc-parse.y:2864
msgid "extra semicolon in struct or union specified"
msgstr ""
-#: c-parse.y:1725 objc-parse.y:1781
+#: c-parse.y:1745 objc-parse.y:1816
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:1825
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:1984
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:2001
msgid "ISO C89 forbids mixed declarations and code"
msgstr ""
-#: c-parse.y:1985 objc-parse.y:2045
+#: c-parse.y:2005 objc-parse.y:2080
msgid "ISO C forbids label declarations"
msgstr ""
-#: c-parse.y:2035 parse.y:1604 objc-parse.y:2095
+#: c-parse.y:2055 parse.y:1628 objc-parse.y:2130
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:2257
msgid "empty body in an else-statement"
msgstr ""
-#: c-parse.y:2283 objc-parse.y:2343
+#: c-parse.y:2303 objc-parse.y:2378
msgid "ISO C forbids `goto *expr;'"
msgstr ""
-#: c-parse.y:2383 objc-parse.y:2443
+#: c-parse.y:2403 objc-parse.y:2478
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:2504
msgid "ISO C requires a named argument before `...'"
msgstr ""
-#: c-parse.y:2504 objc-parse.y:2564
+#: c-parse.y:2526 objc-parse.y:2601
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:1525 objc-parse.y:3537
#, 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:1533 objc-parse.y:3543
#, 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:1535 objc-parse.y:3545
#, 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:1542 objc-parse.y:3549
#, 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:1544 objc-parse.y:3551
#, c-format
msgid "%s before numeric constant"
msgstr ""
-#: c-parse.y:2842 objc-parse.y:3530
+#: c-parse.y:2854 objc-parse.y:3553
#, c-format
msgid "%s before \"%s\""
msgstr ""
-#: c-parse.y:2844 objc-parse.y:3532
+#: c-parse.y:2856 objc-parse.y:3555
#, 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:3779
+#, 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
-msgid "asm declaration conficts with previous rename"
+#: c-pragma.c:450
+msgid "asm declaration conflicts 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:6913 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:2849
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,1319 @@ 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:2687
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:1172
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr ""
-#: c-typeck.c:1261
+#: c-typeck.c:1204
msgid "dereferencing pointer to incomplete type"
msgstr ""
-#: c-typeck.c:1265
+#: c-typeck.c:1208
msgid "dereferencing `void *' pointer"
msgstr ""
-#: c-typeck.c:1282 cp/typeck.c:2357
+#: c-typeck.c:1225 cp/typeck.c:2366
#, c-format
msgid "invalid type argument of `%s'"
msgstr ""
-#: c-typeck.c:1301 cp/typeck.c:2383
+#: c-typeck.c:1244 cp/typeck.c:2392
msgid "subscript missing in array reference"
msgstr ""
-#: c-typeck.c:1322 cp/typeck.c:2425
+#: c-typeck.c:1265 cp/typeck.c:2434
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:1273 c-typeck.c:1362 cp/typeck.c:2441 cp/typeck.c:2520
msgid "array subscript is not an integer"
msgstr ""
-#: c-typeck.c:1363
+#: c-typeck.c:1306
msgid "ISO C forbids subscripting `register' array"
msgstr ""
-#: c-typeck.c:1365
-msgid "ISO C89 forbids subscripting non-lvalue array"
+#: c-typeck.c:1308
+msgid "ISO C90 forbids subscripting non-lvalue array"
msgstr ""
-#: c-typeck.c:1398
+#: c-typeck.c:1341
msgid "subscript has type `char'"
msgstr ""
-#: c-typeck.c:1414 cp/typeck.c:2506
+#: c-typeck.c:1357 cp/typeck.c:2515
msgid "subscripted value is neither array nor pointer"
msgstr ""
-#: c-typeck.c:1468
+#: c-typeck.c:1411
#, c-format
msgid "`%s' undeclared here (not in a function)"
msgstr ""
-#: c-typeck.c:1475
+#: c-typeck.c:1418
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr ""
-#: c-typeck.c:1480
+#: c-typeck.c:1423
msgid "(Each undeclared identifier is reported only once"
msgstr ""
-#: c-typeck.c:1481
+#: c-typeck.c:1424
msgid "for each function it appears in.)"
msgstr ""
-#: c-typeck.c:1498
+#: c-typeck.c:1441
#, c-format
msgid "local declaration of `%s' hides instance variable"
msgstr ""
-#: c-typeck.c:1563
+#: c-typeck.c:1518
msgid "called object is not a function"
msgstr ""
-#: c-typeck.c:1650 cp/typeck.c:3145
+#: c-typeck.c:1604 cp/typeck.c:2826
msgid "too many arguments to function"
msgstr ""
-#: c-typeck.c:1671
+#: c-typeck.c:1625
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr ""
-#: c-typeck.c:1684
+#: c-typeck.c:1638
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr ""
-#: c-typeck.c:1687
+#: c-typeck.c:1641
#, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr ""
-#: c-typeck.c:1690
+#: c-typeck.c:1644
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr ""
-#: c-typeck.c:1693
+#: c-typeck.c:1647
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr ""
-#: c-typeck.c:1696
+#: c-typeck.c:1650
#, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr ""
-#: c-typeck.c:1699
+#: c-typeck.c:1653
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr ""
-#: c-typeck.c:1709
+#: c-typeck.c:1663
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr ""
-#: c-typeck.c:1727
+#: c-typeck.c:1681
#, c-format
msgid "%s with different width due to prototype"
msgstr ""
-#: c-typeck.c:1761
+#: c-typeck.c:1715
#, c-format
msgid "%s as unsigned due to prototype"
msgstr ""
-#: c-typeck.c:1763
+#: c-typeck.c:1717
#, c-format
msgid "%s as signed due to prototype"
msgstr ""
-#: c-typeck.c:1797 cp/typeck.c:3253
+#: c-typeck.c:1751 cp/typeck.c:2930
msgid "too few arguments to function"
msgstr ""
-#: c-typeck.c:1839
+#: c-typeck.c:1793
msgid "suggest parentheses around + or - inside shift"
msgstr ""
-#: c-typeck.c:1846
+#: c-typeck.c:1800
msgid "suggest parentheses around && within ||"
msgstr ""
-#: c-typeck.c:1855
+#: c-typeck.c:1809
msgid "suggest parentheses around arithmetic in operand of |"
msgstr ""
-#: c-typeck.c:1858
+#: c-typeck.c:1812
msgid "suggest parentheses around comparison in operand of |"
msgstr ""
-#: c-typeck.c:1867
+#: c-typeck.c:1821
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr ""
-#: c-typeck.c:1870
+#: c-typeck.c:1824
msgid "suggest parentheses around comparison in operand of ^"
msgstr ""
-#: c-typeck.c:1877
+#: c-typeck.c:1831
msgid "suggest parentheses around + or - in operand of &"
msgstr ""
-#: c-typeck.c:1880
+#: c-typeck.c:1834
msgid "suggest parentheses around comparison in operand of &"
msgstr ""
-#: c-typeck.c:1887
+#: c-typeck.c:1841
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr ""
-#: c-typeck.c:2047 c-typeck.c:2080
+#: c-typeck.c:2001 c-typeck.c:2036
msgid "division by zero"
msgstr ""
-#: c-typeck.c:2125 cp/typeck.c:3514
+#: c-typeck.c:2081 cp/typeck.c:3191
msgid "right shift count is negative"
msgstr ""
-#: c-typeck.c:2132 cp/typeck.c:3520
+#: c-typeck.c:2088 cp/typeck.c:3197
msgid "right shift count >= width of type"
msgstr ""
-#: c-typeck.c:2153 cp/typeck.c:3539
+#: c-typeck.c:2109 cp/typeck.c:3216
msgid "left shift count is negative"
msgstr ""
-#: c-typeck.c:2156 cp/typeck.c:3541
+#: c-typeck.c:2112 cp/typeck.c:3218
msgid "left shift count >= width of type"
msgstr ""
-#: c-typeck.c:2177
+#: c-typeck.c:2133
msgid "shift count is negative"
msgstr ""
-#: c-typeck.c:2179
+#: c-typeck.c:2135
msgid "shift count >= width of type"
msgstr ""
-#: c-typeck.c:2196 cp/typeck.c:3576
+#: c-typeck.c:2152 cp/typeck.c:3253
msgid "comparing floating point with == or != is unsafe"
msgstr ""
-#: c-typeck.c:2220 c-typeck.c:2226
+#: c-typeck.c:2178 c-typeck.c:2184
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:2187 c-typeck.c:2227 c-typeck.c:2255
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:2201 c-typeck.c:2206 c-typeck.c:2275 c-typeck.c:2280
msgid "comparison between pointer and integer"
msgstr ""
-#: c-typeck.c:2264 c-typeck.c:2292
+#: c-typeck.c:2222 c-typeck.c:2250
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr ""
-#: c-typeck.c:2289
+#: c-typeck.c:2247
msgid "comparison of complete and incomplete pointers"
msgstr ""
-#: c-typeck.c:2305 c-typeck.c:2312
+#: c-typeck.c:2263 c-typeck.c:2270
msgid "ordered comparison of pointer with integer zero"
msgstr ""
-#: c-typeck.c:2336 cp/typeck.c:3709
+#: c-typeck.c:2294 cp/typeck.c:3386
msgid "unordered comparison on non-floating point argument"
msgstr ""
-#: c-typeck.c:2545
+#: c-typeck.c:2505
msgid "comparison between signed and unsigned"
msgstr ""
-#: c-typeck.c:2591 cp/typeck.c:3953
+#: c-typeck.c:2551 cp/typeck.c:3630
msgid "comparison of promoted ~unsigned with constant"
msgstr ""
-#: c-typeck.c:2599 cp/typeck.c:3961
+#: c-typeck.c:2559 cp/typeck.c:3638
msgid "comparison of promoted ~unsigned with unsigned"
msgstr ""
-#: c-typeck.c:2658
+#: c-typeck.c:2639
msgid "pointer of type `void *' used in subtraction"
msgstr ""
-#: c-typeck.c:2660
+#: c-typeck.c:2641
msgid "pointer to a function used in subtraction"
msgstr ""
-#: c-typeck.c:2757
+#: c-typeck.c:2738
msgid "wrong type argument to unary plus"
msgstr ""
-#: c-typeck.c:2768
+#: c-typeck.c:2751
msgid "wrong type argument to unary minus"
msgstr ""
-#: c-typeck.c:2780
+#: c-typeck.c:2768
msgid "ISO C does not support `~' for complex conjugation"
msgstr ""
-#: c-typeck.c:2786
+#: c-typeck.c:2774
msgid "wrong type argument to bit-complement"
msgstr ""
-#: c-typeck.c:2797
+#: c-typeck.c:2783
msgid "wrong type argument to abs"
msgstr ""
-#: c-typeck.c:2809
+#: c-typeck.c:2795
msgid "wrong type argument to conjugation"
msgstr ""
-#: c-typeck.c:2823
+#: c-typeck.c:2809
msgid "wrong type argument to unary exclamation mark"
msgstr ""
-#: c-typeck.c:2866
+#: c-typeck.c:2852
msgid "ISO C does not support `++' and `--' on complex types"
msgstr ""
-#: c-typeck.c:2881 c-typeck.c:2913
+#: c-typeck.c:2867 c-typeck.c:2899
msgid "wrong type argument to increment"
msgstr ""
-#: c-typeck.c:2883 c-typeck.c:2915
+#: c-typeck.c:2869 c-typeck.c:2901
msgid "wrong type argument to decrement"
msgstr ""
-#: c-typeck.c:2904
+#: c-typeck.c:2890
msgid "increment of pointer to unknown structure"
msgstr ""
-#: c-typeck.c:2906
+#: c-typeck.c:2892
msgid "decrement of pointer to unknown structure"
msgstr ""
-#: c-typeck.c:3043
+#: c-typeck.c:3029
msgid "ISO C forbids the address of a cast expression"
msgstr ""
-#: c-typeck.c:3053
+#: c-typeck.c:3039
msgid "invalid lvalue in unary `&'"
msgstr ""
-#: c-typeck.c:3085
+#: c-typeck.c:3071
#, 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:3180 c-typeck.c:4646 c-typeck.c:4662 c-typeck.c:4678
+#: final.c:3146 final.c:3148 gcc.c:4378 rtl-error.c:122 toplev.c:1694
+#: config/cris/cris.c:545 cp/spew.c:1538 cp/typeck.c:4364 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:3241
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr ""
-#: c-typeck.c:3258
+#: c-typeck.c:3244
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr ""
-#: c-typeck.c:3261
+#: c-typeck.c:3247
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr ""
-#: c-typeck.c:3278
+#: c-typeck.c:3264
#, c-format
msgid "%s of read-only member `%s'"
msgstr ""
-#: c-typeck.c:3282
+#: c-typeck.c:3268
#, c-format
msgid "%s of read-only variable `%s'"
msgstr ""
-#: c-typeck.c:3285
+#: c-typeck.c:3271
#, c-format
msgid "%s of read-only location"
msgstr ""
-#: c-typeck.c:3304
+#: c-typeck.c:3290
#, c-format
msgid "cannot take address of bit-field `%s'"
msgstr ""
-#: c-typeck.c:3332
+#: c-typeck.c:3318
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr ""
-#: c-typeck.c:3336
+#: c-typeck.c:3322
#, c-format
msgid "register variable `%s' used in nested function"
msgstr ""
-#: c-typeck.c:3343
+#: c-typeck.c:3329
#, c-format
msgid "address of global register variable `%s' requested"
msgstr ""
-#: c-typeck.c:3355
+#: c-typeck.c:3341
msgid "cannot put object with volatile field into register"
msgstr ""
-#: c-typeck.c:3359
+#: c-typeck.c:3345
#, c-format
msgid "address of register variable `%s' requested"
msgstr ""
-#: c-typeck.c:3467
+#: c-typeck.c:3453
msgid "signed and unsigned type in conditional expression"
msgstr ""
-#: c-typeck.c:3474
+#: c-typeck.c:3460
msgid "ISO C forbids conditional expr with only one void side"
msgstr ""
-#: c-typeck.c:3490 c-typeck.c:3497
+#: c-typeck.c:3476 c-typeck.c:3483
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr ""
-#: c-typeck.c:3503
+#: c-typeck.c:3489
msgid "pointer type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3510 c-typeck.c:3520
+#: c-typeck.c:3496 c-typeck.c:3506
msgid "pointer/integer type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3534
+#: c-typeck.c:3520
msgid "type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3605 cp/typeck.c:4918
+#: c-typeck.c:3591 cp/typeck.c:4620
msgid "left-hand operand of comma expression has no effect"
msgstr ""
-#: c-typeck.c:3644
+#: c-typeck.c:3635
msgid "cast specifies array type"
msgstr ""
-#: c-typeck.c:3650
+#: c-typeck.c:3641
msgid "cast specifies function type"
msgstr ""
-#: c-typeck.c:3660
+#: c-typeck.c:3651
msgid "ISO C forbids casting nonscalar to the same type"
msgstr ""
-#: c-typeck.c:3679
+#: c-typeck.c:3670
msgid "ISO C forbids casts to union type"
msgstr ""
-#: c-typeck.c:3694
+#: c-typeck.c:3685
msgid "cast to union type from type not present in union"
msgstr ""
-#: c-typeck.c:3745
+#: c-typeck.c:3736
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:3741
msgid "cast discards qualifiers from pointer target type"
msgstr ""
-#: c-typeck.c:3765
+#: c-typeck.c:3756
msgid "cast increases required alignment of target type"
msgstr ""
-#: c-typeck.c:3771 cp/typeck.c:5348
+#: c-typeck.c:3762 cp/typeck.c:5050
msgid "cast from pointer to integer of different size"
msgstr ""
-#: c-typeck.c:3776
+#: c-typeck.c:3767
msgid "cast does not match function type"
msgstr ""
-#: c-typeck.c:3783 cp/typeck.c:5355
+#: c-typeck.c:3774 cp/typeck.c:5057
msgid "cast to pointer from integer of different size"
msgstr ""
+#: c-typeck.c:3786
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr ""
+
+#: c-typeck.c:3790
+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:3949
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:3958 c-typeck.c:3983 c-typeck.c:4000 cp/typeck.c:5168
+#: cp/typeck.c:5317
msgid "assignment"
msgstr ""
-#: c-typeck.c:4060
+#: c-typeck.c:4070
msgid "cannot pass rvalue to reference parameter"
msgstr ""
-#: c-typeck.c:4164 c-typeck.c:4231
+#: c-typeck.c:4174 c-typeck.c:4241
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr ""
-#: c-typeck.c:4168 c-typeck.c:4211
+#: c-typeck.c:4178 c-typeck.c:4221
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr ""
-#: c-typeck.c:4174
+#: c-typeck.c:4184
msgid "ISO C prohibits argument conversion to union type"
msgstr ""
-#: c-typeck.c:4203
+#: c-typeck.c:4213
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
msgstr ""
-#: c-typeck.c:4220
+#: c-typeck.c:4230
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr ""
-#: c-typeck.c:4236
+#: c-typeck.c:4246
#, c-format
msgid "%s from incompatible pointer type"
msgstr ""
-#: c-typeck.c:4252
+#: c-typeck.c:4262
#, c-format
msgid "%s makes pointer from integer without a cast"
msgstr ""
-#: c-typeck.c:4260
+#: c-typeck.c:4270
#, c-format
msgid "%s makes integer from pointer without a cast"
msgstr ""
-#: c-typeck.c:4274 c-typeck.c:4277
+#: c-typeck.c:4284 c-typeck.c:4287
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr ""
-#: c-typeck.c:4281
+#: c-typeck.c:4291
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr ""
-#: c-typeck.c:4285
+#: c-typeck.c:4295
#, c-format
msgid "incompatible types in %s"
msgstr ""
#. Function name is known; supply it.
-#: c-typeck.c:4340
+#: c-typeck.c:4353
+#, c-format
+msgid "passing arg of `%s'"
+msgstr ""
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4363
+msgid "passing arg of pointer to function"
+msgstr ""
+
+#. Function name is known; supply it.
+#: c-typeck.c:4371
#, 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:4381
#, c-format
msgid "passing arg %d of pointer to function"
msgstr ""
-#: c-typeck.c:4416
+#: c-typeck.c:4447
msgid "initializer for static variable is not constant"
msgstr ""
-#: c-typeck.c:4422
+#: c-typeck.c:4453
msgid "initializer for static variable uses complicated arithmetic"
msgstr ""
-#: c-typeck.c:4430
+#: c-typeck.c:4461
msgid "aggregate initializer is not constant"
msgstr ""
-#: c-typeck.c:4432
+#: c-typeck.c:4463
msgid "aggregate initializer uses complicated arithmetic"
msgstr ""
-#: c-typeck.c:4439
+#: c-typeck.c:4470
msgid "traditional C rejects automatic aggregate initialization"
msgstr ""
-#: c-typeck.c:4627 c-typeck.c:4643 c-typeck.c:4659
+#: c-typeck.c:4649 c-typeck.c:4665 c-typeck.c:4681
#, c-format
msgid "(near initialization for `%s')"
msgstr ""
-#: c-typeck.c:4710 cp/typeck2.c:513
+#: c-typeck.c:4732 cp/typeck2.c:487
msgid "char-array initialized from wide string"
msgstr ""
-#: c-typeck.c:4717 cp/typeck2.c:520
+#: c-typeck.c:4739 cp/typeck2.c:494
msgid "int-array initialized from non-wide string"
msgstr ""
-#: c-typeck.c:4735 cp/typeck2.c:536
+#: c-typeck.c:4757 cp/typeck2.c:510
msgid "initializer-string for array of chars is too long"
msgstr ""
-#: c-typeck.c:4773
+#: c-typeck.c:4795
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:4812 c-typeck.c:4814 c-typeck.c:4830 c-typeck.c:4851
+#: c-typeck.c:6252
msgid "initializer element is not constant"
msgstr ""
-#: c-typeck.c:4824
+#: c-typeck.c:4846
msgid "initialization"
msgstr ""
-#: c-typeck.c:4835 c-typeck.c:6234
+#: c-typeck.c:4857 c-typeck.c:6257
msgid "initializer element is not computable at load time"
msgstr ""
-#: c-typeck.c:4850 cp/typeck2.c:613
+#: c-typeck.c:4872 cp/typeck2.c:587
msgid "invalid initializer"
msgstr ""
-#: c-typeck.c:5343
+#: c-typeck.c:5366
msgid "extra brace group at end of initializer"
msgstr ""
-#: c-typeck.c:5363
+#: c-typeck.c:5386
msgid "missing braces around initializer"
msgstr ""
-#: c-typeck.c:5423
+#: c-typeck.c:5446
msgid "braces around scalar initializer"
msgstr ""
-#: c-typeck.c:5471
+#: c-typeck.c:5494
msgid "initialization of flexible array member in a nested context"
msgstr ""
-#: c-typeck.c:5473
+#: c-typeck.c:5496
msgid "initialization of a flexible array member"
msgstr ""
-#: c-typeck.c:5504
+#: c-typeck.c:5527
msgid "missing initializer"
msgstr ""
-#: c-typeck.c:5530
+#: c-typeck.c:5553
msgid "empty scalar initializer"
msgstr ""
-#: c-typeck.c:5535
+#: c-typeck.c:5558
msgid "extra elements in scalar initializer"
msgstr ""
-#: c-typeck.c:5621
+#: c-typeck.c:5644
msgid "initialization designators may not nest"
msgstr ""
-#: c-typeck.c:5642 c-typeck.c:5713
+#: c-typeck.c:5665 c-typeck.c:5736
msgid "array index in non-array initializer"
msgstr ""
-#: c-typeck.c:5647 c-typeck.c:5765
+#: c-typeck.c:5670 c-typeck.c:5788
msgid "field name not in record or union initializer"
msgstr ""
-#: c-typeck.c:5709 c-typeck.c:5711
+#: c-typeck.c:5732 c-typeck.c:5734
msgid "nonconstant array index in initializer"
msgstr ""
-#: c-typeck.c:5716
+#: c-typeck.c:5739
msgid "array index in initializer exceeds array bounds"
msgstr ""
-#: c-typeck.c:5727
+#: c-typeck.c:5750
msgid "empty index range in initializer"
msgstr ""
-#: c-typeck.c:5736
+#: c-typeck.c:5759
msgid "array index range in initializer exceeds array bounds"
msgstr ""
-#: c-typeck.c:5777
+#: c-typeck.c:5800
#, 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:5837 c-typeck.c:5858 c-typeck.c:6319
msgid "initialized field with side-effects overwritten"
msgstr ""
-#: c-typeck.c:6506
+#: c-typeck.c:6529
msgid "excess elements in char array initializer"
msgstr ""
-#: c-typeck.c:6513 c-typeck.c:6559
+#: c-typeck.c:6536 c-typeck.c:6582
msgid "excess elements in struct initializer"
msgstr ""
-#: c-typeck.c:6574
+#: c-typeck.c:6597
msgid "non-static initialization of a flexible array member"
msgstr ""
-#: c-typeck.c:6636
+#: c-typeck.c:6664
msgid "excess elements in union initializer"
msgstr ""
-#: c-typeck.c:6657
+#: c-typeck.c:6685
msgid "traditional C rejects initialization of unions"
msgstr ""
-#: c-typeck.c:6720
+#: c-typeck.c:6748
msgid "excess elements in array initializer"
msgstr ""
-#: c-typeck.c:6749
+#: c-typeck.c:6777
msgid "excess elements in vector initializer"
msgstr ""
-#: c-typeck.c:6771
+#: c-typeck.c:6799
msgid "excess elements in scalar initializer"
msgstr ""
-#: c-typeck.c:6882
+#: c-typeck.c:6906
msgid "asm template is not a string constant"
msgstr ""
-#: c-typeck.c:6914
+#: c-typeck.c:6938
msgid "invalid lvalue in asm statement"
msgstr ""
-#: c-typeck.c:6985
+#: c-typeck.c:7013
msgid "modification by `asm'"
msgstr ""
-#: c-typeck.c:7004 cp/typeck.c:6464
+#: c-typeck.c:7032 cp/typeck.c:6181
msgid "function declared `noreturn' has a `return' statement"
msgstr ""
-#: c-typeck.c:7011
+#: c-typeck.c:7039
msgid "`return' with no value, in function returning non-void"
msgstr ""
-#: c-typeck.c:7017
+#: c-typeck.c:7045
msgid "`return' with a value, in function returning void"
msgstr ""
-#: c-typeck.c:7021
+#: c-typeck.c:7049
msgid "return"
msgstr ""
-#: c-typeck.c:7073
+#: c-typeck.c:7101
msgid "function returns address of local variable"
msgstr ""
-#: c-typeck.c:7129 cp/semantics.c:527
+#: c-typeck.c:7157 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr ""
-#: c-typeck.c:7139
+#: c-typeck.c:7167
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr ""
-#: c-typeck.c:7174 cp/decl.c:5229
+#: c-typeck.c:7202 cp/decl.c:5237
msgid "case label not within a switch statement"
msgstr ""
-#: c-typeck.c:7176 cp/decl.c:5234
+#: c-typeck.c:7204 cp/decl.c:5242
msgid "`default' label not within a switch statement"
msgstr ""
-#: calls.c:1903
+#: calls.c:1927 tree-inline.c:1176
#, c-format
msgid "inlining failed in call to `%s'"
msgstr ""
-#: calls.c:1904 calls.c:2210
+#: calls.c:1928 calls.c:2264 tree-inline.c:1177
msgid "called from here"
msgstr ""
-#: calls.c:2209
+#: calls.c:2263
#, c-format
msgid "can't inline call to `%s'"
msgstr ""
-#: calls.c:2239
+#: calls.c:2293
msgid "function call has aggregate value"
msgstr ""
-#: calls.c:4551
-msgid "variable offset is passed partially in stack and in reg"
+#: 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 ""
-#: calls.c:4553
-msgid "variable size is passed partially in stack and in reg"
+#: cfgrtl.c:1774
+#, c-format
+msgid "bb %d on wrong place"
+msgstr ""
+
+#: cfgrtl.c:1780
+#, c-format
+msgid "prev_bb of %d should be %d, not %d"
msgstr ""
-#: cfgrtl.c:1723
+#: cfgrtl.c:1800
#, c-format
msgid "end insn %d for block %d not found in the insn stream"
msgstr ""
-#: cfgrtl.c:1737
+#: cfgrtl.c:1814
#, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr ""
-#: cfgrtl.c:1749
+#: cfgrtl.c:1826
#, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr ""
-#: cfgrtl.c:1771
+#: cfgrtl.c:1848
#, c-format
msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
msgstr ""
-#: cfgrtl.c:1778
+#: cfgrtl.c:1855
#, c-format
msgid "verify_flow_info: Wrong count of block %i %i"
msgstr ""
-#: cfgrtl.c:1784
+#: cfgrtl.c:1861
#, c-format
msgid "verify_flow_info: Wrong frequency of block %i %i"
msgstr ""
-#: cfgrtl.c:1792
+#: cfgrtl.c:1869
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr ""
-#: cfgrtl.c:1798
+#: cfgrtl.c:1875
#, c-format
msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
msgstr ""
-#: cfgrtl.c:1804
+#: cfgrtl.c:1881
#, c-format
msgid "verify_flow_info: Wrong count of edge %i->%i %i"
msgstr ""
-#: cfgrtl.c:1834
+#: cfgrtl.c:1911
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1849
+#: cfgrtl.c:1926
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1851
+#: cfgrtl.c:1928
msgid "wrong insn in the fallthru edge"
msgstr ""
-#: cfgrtl.c:1858
+#: cfgrtl.c:1935
#, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr ""
-#: cfgrtl.c:1874
+#: cfgrtl.c:1951
#, c-format
msgid "Missing REG_EH_REGION note in the end of bb %i"
msgstr ""
-#: cfgrtl.c:1882
+#: cfgrtl.c:1959
#, c-format
msgid "Too many outgoing branch edges from bb %i"
msgstr ""
-#: cfgrtl.c:1887
+#: cfgrtl.c:1964
#, c-format
msgid "Fallthru edge after unconditional jump %i"
msgstr ""
-#: cfgrtl.c:1892
+#: cfgrtl.c:1969
#, c-format
msgid "Wrong amount of branch edges after unconditional jump %i"
msgstr ""
-#: cfgrtl.c:1898
+#: cfgrtl.c:1975
#, c-format
msgid "Wrong amount of branch edges after conditional jump %i"
msgstr ""
-#: cfgrtl.c:1903
+#: cfgrtl.c:1980
#, c-format
msgid "Call edges for non-call insn in bb %i"
msgstr ""
-#: cfgrtl.c:1912
+#: cfgrtl.c:1989
#, c-format
msgid "Abnormal edges for no purpose in bb %i"
msgstr ""
-#: cfgrtl.c:1927
+#: cfgrtl.c:2004
#, c-format
msgid "missing barrier after block %i"
msgstr ""
-#: cfgrtl.c:1937
+#: cfgrtl.c:2014
#, c-format
msgid "basic block %d pred edge is corrupted"
msgstr ""
-#: cfgrtl.c:1954
+#: cfgrtl.c:2031
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr ""
-#: cfgrtl.c:1958
+#: cfgrtl.c:2035
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is %i"
msgstr ""
-#: cfgrtl.c:1972 cfgrtl.c:1982
+#: cfgrtl.c:2049 cfgrtl.c:2059
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr ""
-#: cfgrtl.c:1995
+#: cfgrtl.c:2072
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr ""
-#: cfgrtl.c:2007
+#: cfgrtl.c:2084
#, c-format
msgid "in basic block %d:"
msgstr ""
-#: cfgrtl.c:2008
+#: cfgrtl.c:2085
msgid "flow control insn inside a basic block"
msgstr ""
-#: cfgrtl.c:2027
+#: cfgrtl.c:2104
#, c-format
msgid "basic block %i edge lists are corrupted"
msgstr ""
-#: cfgrtl.c:2041
+#: cfgrtl.c:2119
msgid "basic blocks not numbered consecutively"
msgstr ""
-#: cfgrtl.c:2066
+#: cfgrtl.c:2144
msgid "insn outside basic block"
msgstr ""
-#: cfgrtl.c:2074
+#: cfgrtl.c:2152
msgid "return not followed by barrier"
msgstr ""
-#: cfgrtl.c:2079
+#: cfgrtl.c:2157
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr ""
-#: cfgrtl.c:2083
+#: cfgrtl.c:2161
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:13185
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new "
@@ -3836,7 +4005,7 @@ msgid ""
"\n"
msgstr ""
-#: combine.c:12793
+#: combine.c:13195
#, c-format
msgid ""
"\n"
@@ -3860,203 +4029,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:6425
#, 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,803 +4261,664 @@ 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:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr ""
+
+#: 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:320
-msgid " as it has already been specified as a non-system directory"
+#: 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:940
+#: 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:1057
msgid "<built-in>"
msgstr ""
-#: cppinit.c:1016
+#: cppinit.c:1059
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:1164
#, c-format
msgid "assertion missing after %s"
msgstr ""
-#: cppinit.c:1141
+#: cppinit.c:1165
#, c-format
msgid "directory name missing after %s"
msgstr ""
-#: cppinit.c:1142
+#: cppinit.c:1166
#, c-format
msgid "file name missing after %s"
msgstr ""
-#: cppinit.c:1143
+#: cppinit.c:1167
#, c-format
msgid "macro name missing after %s"
msgstr ""
-#: cppinit.c:1144
+#: cppinit.c:1168
#, 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:1353
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:428
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: cpplib.c:471
-#, c-format
-msgid "no macro name given in #%s directive"
+#: cpplib.c:500
+msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: cpplib.c:475
+#: cpplib.c:506
#, 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:509
+#, 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:512
+msgid "macro names must be identifiers"
msgstr ""
-#: cpplib.c:527
+#: cpplib.c:552
#, c-format
msgid "undefining \"%s\""
msgstr ""
-#: cpplib.c:570
+#: cpplib.c:598
msgid "missing terminating > character"
msgstr ""
-#: cpplib.c:609
+#: cpplib.c:637
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: cpplib.c:620
+#: cpplib.c:648
#, c-format
msgid "empty file name in #%s"
msgstr ""
-#: cpplib.c:639
+#: cpplib.c:667
msgid "#include_next in primary source file"
msgstr ""
-#: cpplib.c:646
+#: cpplib.c:674
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
msgstr ""
-#: cpplib.c:654
+#: cpplib.c:682
msgid "#include nested too deeply"
msgstr ""
-#: cpplib.c:712
+#: cpplib.c:739
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: cpplib.c:795
+#: cpplib.c:814
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr ""
-#: cpplib.c:801
+#: cpplib.c:820
msgid "line number out of range"
msgstr ""
-#: cpplib.c:812 cpplib.c:883
+#: cpplib.c:831 cpplib.c:902
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr ""
-#: cpplib.c:847
+#: cpplib.c:866
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr ""
-#: cpplib.c:954
+#: cpplib.c:973
msgid "invalid #ident directive"
msgstr ""
-#: cpplib.c:1042
+#: cpplib.c:1061
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: cpplib.c:1045
+#: cpplib.c:1064
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: cpplib.c:1048
+#: cpplib.c:1067
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: cpplib.c:1123
+#: cpplib.c:1141
msgid "#pragma once is obsolete"
msgstr ""
-#: cpplib.c:1126
+#: cpplib.c:1144
msgid "#pragma once in main file"
msgstr ""
-#: cpplib.c:1150
+#: cpplib.c:1168
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: cpplib.c:1159
+#: cpplib.c:1177
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: cpplib.c:1181
+#: cpplib.c:1199
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: cpplib.c:1206
+#: cpplib.c:1224
#, c-format
msgid "cannot find source %s"
msgstr ""
-#: cpplib.c:1210
+#: cpplib.c:1228
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: cpplib.c:1286
+#: cpplib.c:1344
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: cpplib.c:1385
+#: cpplib.c:1427
msgid "#else without #if"
msgstr ""
-#: cpplib.c:1390 tradcpp.c:3875
+#: cpplib.c:1432
msgid "#else after #else"
msgstr ""
-#: cpplib.c:1392 cpplib.c:1426
+#: cpplib.c:1434 cpplib.c:1468
msgid "the conditional began here"
msgstr ""
-#: cpplib.c:1419
+#: cpplib.c:1461
msgid "#elif without #if"
msgstr ""
-#: cpplib.c:1424 tradcpp.c:3570
+#: cpplib.c:1466
msgid "#elif after #else"
msgstr ""
-#: cpplib.c:1455
+#: cpplib.c:1497
msgid "#endif without #if"
msgstr ""
-#: cpplib.c:1538 tradcpp.c:3267
+#: cpplib.c:1580
msgid "missing '(' after predicate"
msgstr ""
-#: cpplib.c:1553 tradcpp.c:3281
+#: cpplib.c:1595
msgid "missing ')' to complete answer"
msgstr ""
-#: cpplib.c:1573 tradcpp.c:3287
+#: cpplib.c:1615
msgid "predicate's answer is empty"
msgstr ""
-#: cpplib.c:1603 tradcpp.c:3335
+#: cpplib.c:1645
msgid "assertion without predicate"
msgstr ""
-#: cpplib.c:1605 tradcpp.c:3337
+#: cpplib.c:1647
msgid "predicate must be an identifier"
msgstr ""
-#: cpplib.c:1687 tradcpp.c:3434
+#: cpplib.c:1736
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: cpplib.c:1917
+#: cpplib.c:1966
#, 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 ""
-#: cppspec.c:131
+#: cppspec.c:109
#, c-format
msgid "\"%s\" is not a valid option to the preprocessor"
msgstr ""
-#: cppspec.c:155
+#: cppspec.c:133
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 +4926,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:3126
#, 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:6181
+msgid "support for the DWARF1 debugging format is deprecated"
msgstr ""
-#: dwarfout.c:6287
+#: dwarfout.c:6278
msgid "can't get current directory"
msgstr ""
-#: emit-rtl.c:1018
+#: emit-rtl.c:1155
msgid "can't access real part of complex value in hard register"
msgstr ""
-#: emit-rtl.c:1040
+#: emit-rtl.c:1177
msgid "can't access imaginary part of complex value in hard register"
msgstr ""
-#: emit-rtl.c:3145
+#: emit-rtl.c:3399
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr ""
@@ -4943,251 +5010,260 @@ msgstr ""
msgid "abort in %s, at %s:%d"
msgstr ""
-#: except.c:377
+#: except.c:375
msgid "exception handling disabled, use -fexceptions to enable"
msgstr ""
-#: except.c:3183
+#: except.c:3000
msgid "argument of `__builtin_eh_return_regno' must be constant"
msgstr ""
-#: except.c:3294 except.c:3316
+#: except.c:3121 except.c:3143
msgid "__builtin_eh_return not supported on this target"
msgstr ""
-#: explow.c:1369
+#: explow.c:1408
msgid "stack limits not supported on this target"
msgstr ""
-#: expr.c:2948
+#: expr.c:3334
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:6251 expr.c:6260 expr.c:6269 expr.c:6274 expr.c:6583 expr.c:6599
msgid "unsupported wide integer operation"
msgstr ""
-#: expr.c:6190
+#: expr.c:6648
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr ""
-#: expr.c:6537
+#: expr.c:6981
msgid "returned value in block_exit_expr"
msgstr ""
-#: final.c:1205
+#. We can't make a bitwise copy of this object, so fail.
+#: expr.c:9172
+msgid "cannot take the address of an unaligned member"
+msgstr ""
+
+#: 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:6253
+#: 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:6331
+#: 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:1639
msgid "Attempt to delete prologue/epilogue insn:"
msgstr ""
-#: fold-const.c:2476 fold-const.c:2489
+#: fold-const.c:2546 fold-const.c:2559
#, 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:3753 fold-const.c:3770
#, c-format
msgid "comparison is always %d"
msgstr ""
-#: fold-const.c:3680
+#: fold-const.c:3901
msgid "`or' of unmatched not-equal tests is always 1"
msgstr ""
-#: fold-const.c:3685
+#: fold-const.c:3906
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr ""
-#: function.c:901 varasm.c:1531
+#: function.c:884 varasm.c:1503
#, c-format
msgid "size of variable `%s' is too large"
msgstr ""
-#: function.c:5492
+#: function.c:3770
+msgid "impossible constraint in `asm'"
+msgstr ""
+
+#: function.c:5525
#, c-format
msgid "`%s' might be used uninitialized in this function"
msgstr ""
-#: function.c:5499
+#: function.c:5532
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: function.c:5518
+#: function.c:5551
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: function.c:6383
+#: function.c:6418
msgid "function returns an aggregate"
msgstr ""
-#: function.c:6905
+#: function.c:6923
#, c-format
msgid "unused parameter `%s'"
msgstr ""
-#: gcc.c:1101
+#: gcc.c:1107
#, c-format
msgid "ambiguous abbreviation %s"
msgstr ""
-#: gcc.c:1128
+#: gcc.c:1134
#, c-format
msgid "incomplete `%s' option"
msgstr ""
-#: gcc.c:1139
+#: gcc.c:1145
#, c-format
msgid "missing argument to `%s' option"
msgstr ""
-#: gcc.c:1152
+#: gcc.c:1158
#, c-format
msgid "extraneous argument to `%s' option"
msgstr ""
-#: gcc.c:1459
+#: gcc.c:1486
msgid "Using built-in specs.\n"
msgstr ""
-#: gcc.c:1633
+#: gcc.c:1664
#, c-format
msgid ""
"Setting spec %s to '%s'\n"
"\n"
msgstr ""
-#: gcc.c:1731
+#: gcc.c:1771
#, c-format
msgid "Reading specs from %s\n"
msgstr ""
-#: gcc.c:1829 gcc.c:1848
+#: gcc.c:1869 gcc.c:1888
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr ""
-#: gcc.c:1856
+#: gcc.c:1896
#, 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:1913 gcc.c:1921 gcc.c:1930 gcc.c:1939
#, c-format
msgid "specs %%rename syntax malformed after %ld characters"
msgstr ""
-#: gcc.c:1908
+#: gcc.c:1948
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr ""
-#: gcc.c:1915
+#: gcc.c:1955
#, c-format
msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
msgstr ""
-#: gcc.c:1920
+#: gcc.c:1960
#, c-format
msgid "rename spec %s to %s\n"
msgstr ""
-#: gcc.c:1922
+#: gcc.c:1962
#, c-format
msgid ""
"spec is '%s'\n"
"\n"
msgstr ""
-#: gcc.c:1935
+#: gcc.c:1975
#, c-format
msgid "specs unknown %% command after %ld characters"
msgstr ""
-#: gcc.c:1946 gcc.c:1959
+#: gcc.c:1986 gcc.c:1999
#, c-format
msgid "specs file malformed after %ld characters"
msgstr ""
-#: gcc.c:2013
+#: gcc.c:2053
msgid "spec file has no spec for linking"
msgstr ""
-#: gcc.c:2725
+#: gcc.c:2551
msgid "-pipe not supported"
msgstr ""
-#: gcc.c:2779
+#: gcc.c:2606
msgid ""
"\n"
"Go ahead? (y or n) "
msgstr ""
-#: gcc.c:2878
+#: gcc.c:2732
#, c-format
msgid ""
"Internal error: %s (program %s)\n"
@@ -5195,183 +5271,187 @@ msgid ""
"See %s for instructions."
msgstr ""
-#: gcc.c:2896
+#: gcc.c:2750
#, c-format
msgid "# %s %.2f %.2f\n"
msgstr ""
-#: gcc.c:3029
+#: gcc.c:2880
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: gcc.c:3030
+#: gcc.c:2881
msgid "Options:\n"
msgstr ""
-#: gcc.c:3032
+#: gcc.c:2883
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
msgstr ""
-#: gcc.c:3033
+#: gcc.c:2884
msgid " --help Display this information\n"
msgstr ""
-#: gcc.c:3034
+#: gcc.c:2885
msgid ""
" --target-help Display target specific command line options\n"
msgstr ""
-#: gcc.c:3036
+#: gcc.c:2887
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
msgstr ""
-#: gcc.c:3037
+#: gcc.c:2888
msgid " -dumpspecs Display all of the built in spec strings\n"
msgstr ""
-#: gcc.c:3038
+#: gcc.c:2889
msgid " -dumpversion Display the version of the compiler\n"
msgstr ""
-#: gcc.c:3039
+#: gcc.c:2890
msgid " -dumpmachine Display the compiler's target processor\n"
msgstr ""
-#: gcc.c:3040
+#: gcc.c:2891
msgid ""
" -print-search-dirs Display the directories in the compiler's search "
"path\n"
msgstr ""
-#: gcc.c:3041
+#: gcc.c:2892
msgid ""
" -print-libgcc-file-name Display the name of the compiler's companion "
"library\n"
msgstr ""
-#: gcc.c:3042
+#: gcc.c:2893
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
msgstr ""
-#: gcc.c:3043
+#: gcc.c:2894
msgid ""
" -print-prog-name=<prog> Display the full path to compiler component "
"<prog>\n"
msgstr ""
-#: gcc.c:3044
+#: gcc.c:2895
msgid ""
" -print-multi-directory Display the root directory for versions of "
"libgcc\n"
msgstr ""
-#: gcc.c:3045
+#: gcc.c:2896
msgid ""
" -print-multi-lib Display the mapping between command line options "
"and\n"
" multiple library search directories\n"
msgstr ""
-#: gcc.c:3048
+#: gcc.c:2899
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr ""
+
+#: gcc.c:2900
msgid ""
" -Wa,<options> Pass comma-separated <options> on to the "
"assembler\n"
msgstr ""
-#: gcc.c:3049
+#: gcc.c:2901
msgid ""
" -Wp,<options> Pass comma-separated <options> on to the "
"preprocessor\n"
msgstr ""
-#: gcc.c:3050
+#: gcc.c:2902
msgid ""
" -Wl,<options> Pass comma-separated <options> on to the linker\n"
msgstr ""
-#: gcc.c:3051
+#: gcc.c:2903
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
msgstr ""
-#: gcc.c:3052
+#: gcc.c:2904
msgid " -save-temps Do not delete intermediate files\n"
msgstr ""
-#: gcc.c:3053
+#: gcc.c:2905
msgid " -pipe Use pipes rather than intermediate files\n"
msgstr ""
-#: gcc.c:3054
+#: gcc.c:2906
msgid " -time Time the execution of each subprocess\n"
msgstr ""
-#: gcc.c:3055
+#: gcc.c:2907
msgid ""
" -specs=<file> Override built-in specs with the contents of "
"<file>\n"
msgstr ""
-#: gcc.c:3056
+#: gcc.c:2908
msgid ""
" -std=<standard> Assume that the input sources are for <standard>\n"
msgstr ""
-#: gcc.c:3057
+#: gcc.c:2909
msgid ""
" -B <directory> Add <directory> to the compiler's search paths\n"
msgstr ""
-#: gcc.c:3058
+#: gcc.c:2910
msgid " -b <machine> Run gcc for target <machine>, if installed\n"
msgstr ""
-#: gcc.c:3059
+#: gcc.c:2911
msgid ""
" -V <version> Run gcc version number <version>, if installed\n"
msgstr ""
-#: gcc.c:3060
+#: gcc.c:2912
msgid ""
" -v Display the programs invoked by the compiler\n"
msgstr ""
-#: gcc.c:3061
+#: gcc.c:2913
msgid ""
" -### Like -v but options quoted and commands not "
"executed\n"
msgstr ""
-#: gcc.c:3062
+#: gcc.c:2914
msgid ""
" -E Preprocess only; do not compile, assemble or "
"link\n"
msgstr ""
-#: gcc.c:3063
+#: gcc.c:2915
msgid " -S Compile only; do not assemble or link\n"
msgstr ""
-#: gcc.c:3064
+#: gcc.c:2916
msgid " -c Compile and assemble, but do not link\n"
msgstr ""
-#: gcc.c:3065
+#: gcc.c:2917
msgid " -o <file> Place the output into <file>\n"
msgstr ""
-#: gcc.c:3066
+#: gcc.c:2918
msgid ""
" -x <language> Specify the language of the following input "
"files\n"
-" Permissable languages include: c c++ assembler "
+" Permissible languages include: c c++ assembler "
"none\n"
" 'none' means revert to the default behavior of\n"
" guessing the language based on the file's "
"extension\n"
msgstr ""
-#: gcc.c:3073
+#: gcc.c:2925
#, c-format
msgid ""
"\n"
@@ -5380,86 +5460,89 @@ msgid ""
" other options on to these processes the -W<letter> options must be used.\n"
msgstr ""
+#: gcc.c:3060
+#, c-format
+msgid "`-%c' option must have argument"
+msgstr ""
+
+#: gcc.c:3082
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr ""
+
#. translate_options () has turned --version into -fversion.
-#: gcc.c:3353
+#: gcc.c:3259
#, c-format
msgid "%s (GCC) %s\n"
msgstr ""
-#: gcc.c:3354
-msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+#: gcc.c:3260
+msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
msgstr ""
-#: gcc.c:3356 gcov.c:320
+#: gcc.c:3262 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:3363
msgid "argument to `-Xlinker' is missing"
msgstr ""
-#: gcc.c:3463
+#: gcc.c:3371
msgid "argument to `-l' is missing"
msgstr ""
-#: gcc.c:3480
+#: gcc.c:3388
msgid "argument to `-specs' is missing"
msgstr ""
-#: gcc.c:3495
+#: gcc.c:3403
msgid "argument to `-specs=' is missing"
msgstr ""
-#: gcc.c:3526
-msgid "argument to `-b' is missing"
+#: gcc.c:3433
+#, c-format
+msgid "`-%c' must come at the start of the command line"
msgstr ""
-#: gcc.c:3541
+#: gcc.c:3442
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:3615
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr ""
-#: gcc.c:3927
+#: gcc.c:3788
msgid "warning: -pipe ignored because -save-temps specified"
msgstr ""
-#: gcc.c:3931
+#: gcc.c:3792
msgid "warning: -pipe ignored because -time specified"
msgstr ""
-#: gcc.c:3943
+#: gcc.c:3804
msgid "argument to `-x' is missing"
msgstr ""
-#: gcc.c:3971
+#: gcc.c:3832
#, c-format
msgid "argument to `-%s' is missing"
msgstr ""
-#: gcc.c:4032
+#: gcc.c:3893
#, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr ""
-#: gcc.c:4331
+#: gcc.c:4238
msgid "invalid specification! Bug in cc"
msgstr ""
-#: gcc.c:4480
+#: gcc.c:4392
#, c-format
msgid "%s\n"
msgstr ""
@@ -5467,153 +5550,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:4952
#, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
msgstr ""
-#: gcc.c:5042
+#: gcc.c:4961
#, c-format
msgid "warning: use of obsolete %%[ operator in specs"
msgstr ""
-#: gcc.c:5060
+#: gcc.c:4979
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr ""
-#: gcc.c:5185
+#: gcc.c:5104
#, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr ""
-#: gcc.c:5295
+#: gcc.c:5185
+#, c-format
+msgid "unknown spec function `%s'"
+msgstr ""
+
+#: gcc.c:5204
+#, c-format
+msgid "error in args to spec function `%s'"
+msgstr ""
+
+#: gcc.c:5253
+msgid "malformed spec function name"
+msgstr ""
+
+#. )
+#: gcc.c:5256
+msgid "no arguments for spec function"
+msgstr ""
+
+#: gcc.c:5275
+msgid "malformed spec function arguments"
+msgstr ""
+
+#: gcc.c:5383
msgid "mismatched braces in specs"
msgstr ""
-#: gcc.c:5973
+#: gcc.c:6078
#, c-format
msgid "unrecognized option `-%s'"
msgstr ""
-#: gcc.c:5979
+#: gcc.c:6084
#, c-format
msgid "install: %s%s\n"
msgstr ""
-#: gcc.c:5980
+#: gcc.c:6085
#, c-format
msgid "programs: %s\n"
msgstr ""
-#: gcc.c:5981
+#: gcc.c:6086
#, c-format
msgid "libraries: %s\n"
msgstr ""
-#: gcc.c:6029
+#: gcc.c:6143
msgid ""
"\n"
"For bug reporting instructions, please see:\n"
msgstr ""
-#: gcc.c:6045
+#: gcc.c:6159
#, c-format
msgid "Configured with: %s\n"
msgstr ""
-#: gcc.c:6059
+#: gcc.c:6173
#, c-format
msgid "Thread model: %s\n"
msgstr ""
-#: gcc.c:6070
+#: gcc.c:6184
#, c-format
msgid "gcc version %s\n"
msgstr ""
-#: gcc.c:6072
+#: gcc.c:6186
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
msgstr ""
-#: gcc.c:6080
+#: gcc.c:6194
msgid "no input files"
msgstr ""
-#: gcc.c:6118
+#: gcc.c:6232
#, c-format
msgid "%s: %s compiler not installed on this system"
msgstr ""
-#: gcc.c:6193
+#: gcc.c:6307
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr ""
-#: gcc.c:6236
+#: gcc.c:6350
#, c-format
msgid "language %s not recognized"
msgstr ""
-#: gcc.c:6339
+#: gcc.c:6453
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 +5733,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:763
#, c-format
-msgid "Creating %s.\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
msgstr ""
-#: gcov.c:1387
+#: gcse.c:775
#, c-format
-msgid "call %d never executed\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
msgstr ""
-#: gcov.c:1396
+#: genautomata.c:1490
#, c-format
-msgid "call %d returns = %s\n"
+msgid "Name `%s' contains quotes"
msgstr ""
-#: gcov.c:1406
+#: genautomata.c:1621
#, c-format
-msgid "call %d returns = %s%%\n"
+msgid "invalid string `%s' in define_cpu_unit"
msgstr ""
-#: gcov.c:1413
+#: genautomata.c:1650
#, c-format
-msgid "branch %d never executed\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
msgstr ""
-#: gcov.c:1423
+#: genautomata.c:1682 genautomata.c:1685
#, c-format
-msgid "branch %d taken = %s\n"
+msgid "invalid string `%s' in define_bypass"
msgstr ""
-#: gcov.c:1433
+#: genautomata.c:1720
#, c-format
-msgid "branch %d taken = %s%%\n"
+msgid "invalid first string `%s' in exclusion_set"
msgstr ""
-#: gcov.c:1444
+#: genautomata.c:1724
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
+msgid "invalid second string `%s' in exclusion_set"
msgstr ""
-#: gcse.c:759
+#: genautomata.c:1760
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgid "invalid first string `%s' in presence_set"
msgstr ""
-#: gcse.c:771
+#: genautomata.c:1764
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
+msgid "invalid second string `%s' in presence_set"
+msgstr ""
+
+#: genautomata.c:1800
+#, c-format
+msgid "invalid first string `%s' in absence_set"
+msgstr ""
+
+#: genautomata.c:1804
+#, c-format
+msgid "invalid second string `%s' in absence_set"
+msgstr ""
+
+#: 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 ""
-#: 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: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:5136
+#: f/com.c:14210 java/jcf-parse.c:917 java/jcf-parse.c:1063 java/lex.c:1776
+#: 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:174
msgid "function cannot be inline"
msgstr ""
-#: integrate.c:191
+#: integrate.c:178
msgid "varargs function cannot be inline"
msgstr ""
-#: integrate.c:194
+#: integrate.c:181
msgid "function using alloca cannot be inline"
msgstr ""
-#: integrate.c:197
+#: integrate.c:184
msgid "function using setjmp cannot be inline"
msgstr ""
-#: integrate.c:200
+#: integrate.c:187
msgid "function uses __builtin_eh_return"
msgstr ""
-#: integrate.c:203
+#: integrate.c:190
msgid "function with nested functions cannot be inline"
msgstr ""
-#: integrate.c:207
+#: integrate.c:194
msgid "function with label addresses used in initializers cannot inline"
msgstr ""
-#: integrate.c:214 integrate.c:258
+#: integrate.c:201 integrate.c:245
msgid "function too large to be inline"
msgstr ""
-#: integrate.c:224
+#: integrate.c:211
msgid "no prototype, and parameter address used; cannot be inline"
msgstr ""
-#: integrate.c:231 integrate.c:276
+#: integrate.c:218 integrate.c:263
msgid "inline functions not supported for this return value type"
msgstr ""
-#: integrate.c:236
+#: integrate.c:223
msgid "function with varying-size return value cannot be inline"
msgstr ""
-#: integrate.c:243
+#: integrate.c:230
msgid "function with varying-size parameter cannot be inline"
msgstr ""
-#: integrate.c:246
+#: integrate.c:233
msgid "function with transparent unit parameter cannot be inline"
msgstr ""
-#: integrate.c:265
+#: integrate.c:252
msgid "function with computed jump cannot inline"
msgstr ""
-#: integrate.c:269
+#: integrate.c:256
msgid "function with nonlocal goto cannot be inline"
msgstr ""
-#: integrate.c:283
+#: integrate.c:270
msgid "function with target specific attribute(s) cannot be inlined"
msgstr ""
@@ -5913,55 +6223,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 +6280,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"
-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"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
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:670
#, c-format
msgid "output constraint %d must specify a single register"
msgstr ""
-#: reg-stack.c:687
+#: reg-stack.c:680
#, c-format
msgid "output constraint %d cannot be specified together with \"%s\" clobber"
msgstr ""
-#: reg-stack.c:710
+#: reg-stack.c:703
msgid "output regs must be grouped at top of stack"
msgstr ""
-#: reg-stack.c:747
+#: reg-stack.c:740
msgid "implicitly popped regs must be grouped at top of stack"
msgstr ""
-#: reg-stack.c:766
+#: reg-stack.c:759
#, c-format
msgid "output operand %d must use `&' constraint"
msgstr ""
-#: regclass.c:778
+#: regclass.c:756
#, 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:771 config/ia64/ia64.c:4265 config/ia64/ia64.c:4272
#, c-format
msgid "unknown register name: %s"
msgstr ""
-#: regclass.c:804
+#: regclass.c:782
msgid "global register variable follows a function definition"
msgstr ""
-#: regclass.c:808
+#: regclass.c:786
msgid "register used for two global register variables"
msgstr ""
-#: regclass.c:813
+#: regclass.c:791
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:1229
msgid "cannot reload integer constant operand in `asm'"
msgstr ""
-#: reload.c:1230
+#: reload.c:1251
msgid "impossible register constraint in `asm'"
msgstr ""
-#: reload.c:3377
+#: reload.c:3461
msgid "`&' constraint used with no register class"
msgstr ""
-#: reload.c:3545
+#: reload.c:3629
msgid "unable to generate reloads for:"
msgstr ""
-#: reload.c:3546 reload.c:3760
+#: reload.c:3630 reload.c:3844
msgid "inconsistent operand constraints in an `asm'"
msgstr ""
-#: reload1.c:1247
+#: reload1.c:1250
msgid "frame size too large for reliable stack checking"
msgstr ""
-#: reload1.c:1250
+#: reload1.c:1253
msgid "try reducing the number of local variables"
msgstr ""
-#: reload1.c:1902
+#: reload1.c:1909
#, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr ""
-#: reload1.c:1906
+#: reload1.c:1913
#, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr ""
-#: reload1.c:1908
+#: reload1.c:1915
msgid "this is the insn:"
msgstr ""
-#: reload1.c:3924
+#: reload1.c:3938
msgid "`asm' operand requires impossible reload"
msgstr ""
#. It's the compiler's fault.
-#: reload1.c:5040
+#: reload1.c:5052
msgid "could not find a spill register"
msgstr ""
-#: reload1.c:5045
+#: reload1.c:5057
msgid "`asm' operand constraint incompatible with operand size"
msgstr ""
#. It's the compiler's fault.
-#: reload1.c:6639
+#: reload1.c:6677
msgid "VOIDmode on an output"
msgstr ""
-#: reload1.c:6640
+#: reload1.c:6678
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:535
#, 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:550
#, 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:566
#, 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:579
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:621
+#: rtl.c:593
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:636
+#: rtl.c:608
#, 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:623
+#, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr ""
+
+#: stmt.c:766
#, c-format
msgid "jump to `%s' invalidly jumps into binding contour"
msgstr ""
-#: stmt.c:1164 stmt.c:3763
+#: stmt.c:1002 stmt.c:3766
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr ""
-#: stmt.c:1344
+#: stmt.c:1190
msgid "output operand constraint lacks `='"
msgstr ""
-#: stmt.c:1359
+#: stmt.c:1205
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr ""
-#: stmt.c:1381
+#: stmt.c:1227
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr ""
-#: stmt.c:1387 stmt.c:1487
+#: stmt.c:1233 stmt.c:1337
#, c-format
msgid "`%%' constraint used with last operand"
msgstr ""
-#: stmt.c:1406
+#: stmt.c:1252
msgid "matching constraint not valid in output operand"
msgstr ""
-#: stmt.c:1478
+#: stmt.c:1328
#, c-format
msgid "input operand constraint contains `%c'"
msgstr ""
-#: stmt.c:1518
+#: stmt.c:1368
msgid "matching constraint references invalid operand number"
msgstr ""
-#: stmt.c:1550
+#: stmt.c:1400
#, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr ""
-#: stmt.c:1646
+#: stmt.c:1450
+#, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr ""
+
+#: stmt.c:1540
#, c-format
msgid "unknown register name `%s' in `asm'"
msgstr ""
-#: stmt.c:1690
+#: stmt.c:1588
#, c-format
msgid "more than %d operands in `asm'"
msgstr ""
-#: stmt.c:1749
+#: stmt.c:1650
#, c-format
msgid "output number %d not directly addressable"
msgstr ""
@@ -6538,1120 +6798,1163 @@ 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:1726 stmt.c:1758
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr ""
-#: stmt.c:1993
+#: stmt.c:1889
+msgid "asm clobber conflict with output operand"
+msgstr ""
+
+#: stmt.c:1894
+msgid "asm clobber conflict with input operand"
+msgstr ""
+
+#: stmt.c:1929
msgid "too many alternatives in `asm'"
msgstr ""
-#: stmt.c:2005
+#: stmt.c:1941
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr ""
-#: stmt.c:2058
+#: stmt.c:1994
#, c-format
msgid "duplicate asm operand name '%s'"
msgstr ""
-#: stmt.c:2145
+#: stmt.c:2081
msgid "missing close brace for named operand"
msgstr ""
-#: stmt.c:2173
+#: stmt.c:2109
#, c-format
msgid "undefined named operand '%s'"
msgstr ""
-#: stmt.c:3700
+#: stmt.c:3703
#, c-format
msgid "unused variable `%s'"
msgstr ""
-#: stmt.c:5180
+#: stmt.c:5189
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr ""
-#: stmt.c:5205 stmt.c:5225
+#: stmt.c:5214 stmt.c:5234
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr ""
-#: stmt.c:5208 stmt.c:5228
+#: stmt.c:5217 stmt.c:5237
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr ""
-#: stmt.c:5315
+#: stmt.c:5310
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:487
#, c-format
msgid "size of `%s' is %d bytes"
msgstr ""
-#: stor-layout.c:460
+#: stor-layout.c:489
#, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr ""
-#: stor-layout.c:858 stor-layout.c:1159
+#: stor-layout.c:906 stor-layout.c:1322
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr ""
-#: stor-layout.c:860 stor-layout.c:1161
+#: stor-layout.c:908 stor-layout.c:1324
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr ""
-#: stor-layout.c:875
+#: stor-layout.c:923
#, c-format
msgid "padding struct to align `%s'"
msgstr ""
-#: stor-layout.c:1123
+#: stor-layout.c:1286
msgid "padding struct size to alignment boundary"
msgstr ""
-#: stor-layout.c:1166
+#: stor-layout.c:1329
msgid "packed attribute causes inefficient alignment"
msgstr ""
-#: stor-layout.c:1168
+#: stor-layout.c:1331
msgid "packed attribute is unnecessary"
msgstr ""
-#: timevar.c:448
+#: timevar.c:322
+#, c-format
+msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+msgstr ""
+
+#: timevar.c:453
msgid ""
"\n"
"Execution times (seconds)\n"
msgstr ""
#. Print total time.
-#: timevar.c:498
+#: timevar.c:503
msgid " TOTAL :"
msgstr ""
-#: timevar.c:534
+#: timevar.c:539
#, c-format
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:674
#, c-format
msgid "collect: tweaking %s in %s\n"
msgstr ""
-#: tlink.c:745
+#: tlink.c:721
msgid "collect: relinking\n"
msgstr ""
-#: tlink.c:754
+#: tlink.c:730
#, 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
-msgid "Add extra commentry to assembler output"
+#: toplev.c:1118
+msgid "Add extra commentary 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
-msgid "Attempt to merge identical constants accross compilation units"
+#: toplev.c:1146
+msgid "Attempt to merge identical constants across 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:1207
+msgid "Compile just for ISO C90"
msgstr ""
-#: toplev.c:1155
+#: 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:4522 config/rs6000/rs6000.c:680
#, c-format
-msgid "internal error: %s"
+msgid "invalid option `%s'"
msgstr ""
-#: toplev.c:1939
+#: toplev.c:2031
#, c-format
msgid "`%s' used but never defined"
msgstr ""
-#: toplev.c:1942
+#: toplev.c:2034
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr ""
-#: toplev.c:1961
+#: toplev.c:2057
#, c-format
msgid "`%s' defined but not used"
msgstr ""
-#: toplev.c:2206
+#: toplev.c:2280
#, c-format
msgid "invalid register name `%s' for register variable"
msgstr ""
-#: toplev.c:3495
+#: toplev.c:3679
msgid ""
" -ffixed-<register> Mark <register> as being unavailable to the "
"compiler\n"
msgstr ""
-#: toplev.c:3496
+#: toplev.c:3680
msgid ""
" -fcall-used-<register> Mark <register> as being corrupted by function "
"calls\n"
msgstr ""
-#: toplev.c:3497
+#: toplev.c:3681
msgid ""
" -fcall-saved-<register> Mark <register> as being preserved across "
"functions\n"
msgstr ""
-#: toplev.c:3498
+#: toplev.c:3682
msgid ""
" -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr ""
-#: toplev.c:3499
+#: toplev.c:3683
msgid ""
" -fmessage-length=<number> Limits diagnostics messages lengths to <number> "
"characters per line. 0 suppresses line-wrapping\n"
msgstr ""
-#: toplev.c:3500
+#: toplev.c:3684
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:3685
+msgid ""
+" -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] "
+"Indicates the default thread-local storage code generation model\n"
+msgstr ""
+
+#: toplev.c:3696
msgid " -O[number] Set optimization level to [number]\n"
msgstr ""
-#: toplev.c:3512
+#: toplev.c:3697
msgid " -Os Optimize for space rather than speed\n"
msgstr ""
-#: toplev.c:3524
+#: toplev.c:3709
msgid ""
" -pedantic Issue warnings needed by strict compliance to ISO "
"C\n"
msgstr ""
-#: toplev.c:3525
+#: toplev.c:3710
msgid ""
" -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr ""
-#: toplev.c:3526
+#: toplev.c:3711
msgid " -w Suppress warnings\n"
msgstr ""
-#: toplev.c:3527
+#: toplev.c:3712
msgid " -W Enable extra warnings\n"
msgstr ""
-#: toplev.c:3538
+#: toplev.c:3723
msgid " -Wunused Enable unused warnings\n"
msgstr ""
-#: toplev.c:3539
+#: toplev.c:3724
msgid ""
" -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr ""
-#: toplev.c:3540
+#: toplev.c:3725
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:3726
msgid " -o <file> Place output into <file> \n"
msgstr ""
-#: toplev.c:3548
+#: toplev.c:3727
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:3738
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr ""
-#: toplev.c:3560
+#: toplev.c:3739
msgid ""
" -quiet Do not display functions compiled or elapsed time\n"
msgstr ""
-#: toplev.c:3561
+#: toplev.c:3740
msgid " -version Display the compiler's version\n"
msgstr ""
-#: toplev.c:3562
+#: toplev.c:3741
msgid ""
" -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr ""
-#: toplev.c:3563
+#: toplev.c:3742
msgid ""
" -dumpbase <file> Base name to be used for dumps from specific "
"passes\n"
msgstr ""
-#: toplev.c:3565
+#: toplev.c:3744
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
msgstr ""
-#: toplev.c:3567
+#: toplev.c:3746
msgid " --help Display this information\n"
msgstr ""
-#: toplev.c:3582
+#: toplev.c:3761
msgid ""
"\n"
"Language specific options:\n"
msgstr ""
-#: toplev.c:3594
+#: toplev.c:3773
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr ""
-#: toplev.c:3602 toplev.c:3616
+#: toplev.c:3781 toplev.c:3795
#, c-format
msgid ""
"\n"
"There are undocumented %s specific options as well.\n"
msgstr ""
-#: toplev.c:3606
+#: toplev.c:3785
#, c-format
msgid ""
"\n"
" Options for %s:\n"
msgstr ""
-#: toplev.c:3643
+#: toplev.c:3822
msgid ""
"\n"
"Target specific options:\n"
msgstr ""
-#: toplev.c:3657 toplev.c:3676
+#: toplev.c:3836 toplev.c:3855
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr ""
-#: toplev.c:3685
+#: toplev.c:3864
msgid ""
"\n"
"There are undocumented target specific options as well.\n"
msgstr ""
-#: toplev.c:3687
+#: toplev.c:3866
msgid " They exist, but they are not documented.\n"
msgstr ""
-#: toplev.c:3740
+#: toplev.c:3919
#, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr ""
-#: toplev.c:3810
+#: toplev.c:3985
+#, c-format
+msgid "`%s': unknown tls-model option"
+msgstr ""
+
+#: toplev.c:4012
#, c-format
msgid "unrecognized register name `%s'"
msgstr ""
-#: toplev.c:3835 toplev.c:4714
+#: toplev.c:4037 toplev.c:4980
#, c-format
msgid "unrecognized option `%s'"
msgstr ""
-#: toplev.c:3879
+#: toplev.c:4081
msgid "-Wid-clash-LEN is no longer supported"
msgstr ""
-#: toplev.c:3956
+#: toplev.c:4158
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr ""
-#: toplev.c:3959
+#: toplev.c:4161
msgid "use -gdwarf-2 for DWARF v2"
msgstr ""
-#: toplev.c:3964
+#: toplev.c:4166
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr ""
-#: toplev.c:3987 toplev.c:4712
+#: toplev.c:4189 toplev.c:4978
#, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr ""
-#: toplev.c:3994
+#: toplev.c:4196
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr ""
-#: toplev.c:4073
+#: toplev.c:4278
msgid "-param option missing argument"
msgstr ""
-#: toplev.c:4082
+#: toplev.c:4287
#, c-format
msgid "invalid --param option: %s"
msgstr ""
-#: toplev.c:4094
+#: toplev.c:4299
#, c-format
msgid "invalid parameter value `%s'"
msgstr ""
-#: toplev.c:4301
+#: toplev.c:4539
#, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7659,1164 +7962,942 @@ msgid ""
"%s%s%s version %s (%s) compiled by CC.\n"
msgstr ""
-#: toplev.c:4357
+#: toplev.c:4546
+#, c-format
+msgid ""
+"%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+msgstr ""
+
+#: toplev.c:4598
msgid "options passed: "
msgstr ""
-#: toplev.c:4386
+#: toplev.c:4627
msgid "options enabled: "
msgstr ""
-#: toplev.c:4445 java/jcf-write.c:3379
+#: toplev.c:4686 java/jcf-write.c:3453
#, c-format
msgid "can't open %s for writing"
msgstr ""
-#: toplev.c:4704
+#: toplev.c:4970
#, c-format
msgid "ignoring command line option '%s'"
msgstr ""
-#: toplev.c:4707
+#: toplev.c:4973
#, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr ""
-#: toplev.c:4741
+#: toplev.c:5007
msgid "-Wuninitialized is not supported without -O"
msgstr ""
-#: toplev.c:4800
+#: toplev.c:5062
msgid "instruction scheduling not supported on this target machine"
msgstr ""
-#: toplev.c:4804
+#: toplev.c:5066
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:5080
#, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr ""
-#: toplev.c:4891
+#: toplev.c:5143
msgid "-ffunction-sections not supported for this target"
msgstr ""
-#: toplev.c:4896
+#: toplev.c:5148
msgid "-fdata-sections not supported for this target"
msgstr ""
-#: toplev.c:4903
+#: toplev.c:5155
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr ""
-#: toplev.c:4910
+#: toplev.c:5162
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr ""
-#: toplev.c:4916
+#: toplev.c:5168
msgid ""
"-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr ""
-#: toplev.c:4925
+#: toplev.c:5177
msgid "-fprefetch-loop-arrays is not supported with -Os"
msgstr ""
-#: toplev.c:4931
+#: toplev.c:5183
msgid "-ffunction-sections may affect debugging on some targets"
msgstr ""
-#: toplev.c:5044
+#: toplev.c:5295
#, c-format
msgid "error writing to %s"
msgstr ""
-#: toplev.c:5046 java/jcf-parse.c:954 java/jcf-write.c:3386
+#: toplev.c:5297 java/jcf-parse.c:936 java/jcf-write.c:3460
#, 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:4545
msgid "invalid initializer for bit string"
msgstr ""
-#: tree.c:4579
+#: tree.c:4604
#, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr ""
-#: tree.c:4596
+#: tree.c:4621
#, 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:4638
+#, 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:1610
#, c-format
msgid "requested alignment for %s is greater than implemented alignment of %d"
msgstr ""
-#: varasm.c:4569
+#: varasm.c:4023
msgid "initializer for integer value is too complicated"
msgstr ""
-#: varasm.c:4574
+#: varasm.c:4028
msgid "initializer for floating value is not a floating constant"
msgstr ""
-#: varasm.c:4624
+#: varasm.c:4078
msgid "unknown set constructor type"
msgstr ""
-#: varasm.c:4838
+#: varasm.c:4292
#, c-format
msgid "invalid initial value for member `%s'"
msgstr ""
-#: varasm.c:4999
+#: varasm.c:4483 varasm.c:4526
#, c-format
-msgid "weak declaration of `%s' must be public"
+msgid "weak declaration of `%s' must precede definition"
msgstr ""
-#: varasm.c:5001
+#: varasm.c:4490
#, 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:4524
+#, c-format
+msgid "weak declaration of `%s' must be public"
msgstr ""
-#: varasm.c:5008
+#: varasm.c:4533
#, c-format
msgid "weak declaration of `%s' not supported"
msgstr ""
-#: varasm.c:5035 varasm.c:5110
+#: varasm.c:4560 varasm.c:4635
msgid "only weak aliases are supported in this configuration"
msgstr ""
-#: varasm.c:5119
+#: varasm.c:4643
msgid "alias definitions not supported in this configuration; ignored"
msgstr ""
-#: varasm.c:5139
+#: varasm.c:4674
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
-msgid ""
-"The maximum number of instructions in a function that is eligible for "
-"inlining"
-msgstr ""
-
-#: params.def:57
-msgid "The maximum number of instructions to consider to fill a delay slot"
+#: pretty-print.h:97
+#, c-format
+msgid "#`%s' not supported by %s#"
msgstr ""
-#: params.def:68
+#: params.def:53
msgid ""
-"The maximum number of instructions to consider to find accurate live "
-"register information"
+"The maximum number of instructions in a single function eligible for inlining"
msgstr ""
-#: params.def:78
-msgid "The maximum length of scheduling's pending operations list"
-msgstr ""
-
-#: params.def:85
-msgid "The maximum amount of memory to be allocated by GCSE"
+#: params.def:65
+msgid "The maximum number of instructions when automatically inlining"
msgstr ""
-#: params.def:90
-msgid "The maximum number of passes to make when doing GCSE"
+#: params.def:84
+msgid ""
+"The maximum number of instructions by repeated inlining before gcc starts to "
+"throttle inlining"
msgstr ""
#: params.def:97
-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"
+msgid ""
+"The slope of the linear function throttling inlining after the recursive "
+"inlining limit has been reached is given by the negative reciprocal value of "
+"this parameter"
msgstr ""
-#: config/a29k/a29k.c:1028 config/m88k/m88k.c:2966
-#, c-format
-msgid "invalid %%Q value"
+#: params.def:110
+msgid ""
+"The number of instructions in a single functions still eligible to inlining "
+"after a lot recursive inlining"
msgstr ""
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5410 config/m88k/m88k.c:3062
-#, c-format
-msgid "invalid %%C value"
+#: params.def:120
+msgid "The maximum number of instructions for the RTL inliner"
msgstr ""
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5255
-#: config/rs6000/rs6000.c:6459
-#, c-format
-msgid "invalid %%N value"
+#: params.def:131
+msgid "The maximum number of instructions to consider to fill a delay slot"
msgstr ""
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5326
-#: config/rs6000/rs6000.c:6421
-#, c-format
-msgid "invalid %%M value"
+#: params.def:142
+msgid ""
+"The maximum number of instructions to consider to find accurate live "
+"register information"
msgstr ""
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5318
-#: config/rs6000/rs6000.c:6386
-#, c-format
-msgid "invalid %%m value"
+#: params.def:152
+msgid "The maximum length of scheduling's pending operations list"
msgstr ""
-#: config/a29k/a29k.c:1157 config/alpha/alpha.c:5279 config/romp/romp.c:690
-#, c-format
-msgid "invalid %%L value"
+#: params.def:159
+msgid "The maximum amount of memory to be allocated by GCSE"
msgstr ""
-#: config/a29k/a29k.c:1162 config/rs6000/rs6000.c:6467
-#, c-format
-msgid "invalid %%O value"
+#: params.def:164
+msgid "The maximum number of passes to make when doing GCSE"
msgstr ""
-#: config/a29k/a29k.c:1168 config/alpha/alpha.c:5263
-#: config/rs6000/rs6000.c:6487
-#, c-format
-msgid "invalid %%P value"
+#: params.def:171
+msgid "The maximum number of instructions to consider to unroll in a loop"
msgstr ""
-#: config/a29k/a29k.c:1178
-#, c-format
-msgid "invalid %%V value"
+#: params.def:176
+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:101
-msgid "Generate code assuming DW bit is set"
+#: params.def:181
+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:102
-msgid "Generate code assuming DW bit is not set"
+#: params.def:186
+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:103
-msgid "Generate code using byte writes"
+#: params.def:191
+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:104
-msgid "Do not generate byte writes"
+#: params.def:196
+msgid "Maximal code growth caused by tail duplication (in percents)"
msgstr ""
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
+#: params.def:200
+msgid ""
+"Stop reverse growth if the reverse probability of best edge is less than "
+"this threshold (in percents)"
msgstr ""
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
+#: params.def:205
+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:107
-msgid "Use large memory model"
+#: params.def:210
+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:108
-msgid "Generate 29050 code"
+#: params.def:217
+msgid "The maximum number of incoming edges to consider for crossjumping"
msgstr ""
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
+#: params.def:230
+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:236
+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:5608 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:5629
#, 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:5645 config/ia64/ia64.c:3931 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:5655 config/rs6000/rs6000.c:7734
#, 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:5661 config/rs6000/rs6000.c:7660
+#, c-format
+msgid "invalid %%N value"
+msgstr ""
+
+#: config/alpha/alpha.c:5669 config/rs6000/rs6000.c:7688
+#, c-format
+msgid "invalid %%P value"
+msgstr ""
+
+#: config/alpha/alpha.c:5677 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:5685 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr ""
+
+#: config/alpha/alpha.c:5724 config/rs6000/rs6000.c:7642
+#, c-format
+msgid "invalid %%m value"
+msgstr ""
+
+#: config/alpha/alpha.c:5732 config/rs6000/rs6000.c:7650
+#, c-format
+msgid "invalid %%M value"
+msgstr ""
+
+#: config/alpha/alpha.c:5776
#, 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:5788 config/alpha/alpha.c:5802 config/romp/romp.c:706
+#: config/rs6000/rs6000.c:7742
#, 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:5825 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr ""
+
+#: config/alpha/alpha.c:5862 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7499
#, 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:5887 config/alpha/alpha.c:5937
+msgid "unknown relocation unspec"
+msgstr ""
+
+#: config/alpha/alpha.c:5896 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8049
#, c-format
msgid "invalid %%xn code"
msgstr ""
+#: config/alpha/alpha.c:6622 config/alpha/alpha.c:6625 config/s390/s390.c:6008
+#: config/s390/s390.c:6011
+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:225
+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:6488
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:558 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:3667 config/i386/i386.c:1396
+#: config/i386/i386.c:1425 config/ip2k/ip2k.c:3224
+#: config/m68hc11/m68hc11.c:1267 config/mcore/mcore.c:3510
+#: config/ns32k/ns32k.c:1047 config/rs6000/rs6000.c:12519 config/sh/sh.c:5681
+#: config/sh/sh.c:5706 config/sh/sh.c:5745 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:9485
msgid "unable to compute real location of stacked parameter"
msgstr ""
-#: config/arm/arm.c:9970
+#: config/arm/arm.c:10164
msgid "no low registers available for popping high registers"
msgstr ""
-#: config/arm/arm.c:10162
+#: config/arm/arm.c:10415
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 +8905,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 config/ip2k/ip2k.c:3197
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 +9002,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 +9135,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,591 +9170,529 @@ 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:168
msgid "Small memory model"
msgstr ""
-#: config/c4x/c4x.h:143
+#: config/c4x/c4x.h:170
msgid "Big memory model"
msgstr ""
-#: config/c4x/c4x.h:145
+#: config/c4x/c4x.h:172
msgid "Use MPYI instruction for C3x"
msgstr ""
-#: config/c4x/c4x.h:147
+#: config/c4x/c4x.h:174
msgid "Do not use MPYI instruction for C3x"
msgstr ""
-#: config/c4x/c4x.h:149
+#: config/c4x/c4x.h:176
msgid "Use fast but approximate float to integer conversion"
msgstr ""
-#: config/c4x/c4x.h:151
+#: config/c4x/c4x.h:178
msgid "Use slow but accurate float to integer conversion"
msgstr ""
-#: config/c4x/c4x.h:153
+#: config/c4x/c4x.h:180
msgid "Enable use of RTPS instruction"
msgstr ""
-#: config/c4x/c4x.h:155
+#: config/c4x/c4x.h:182
msgid "Disable use of RTPS instruction"
msgstr ""
-#: config/c4x/c4x.h:157
+#: config/c4x/c4x.h:184
msgid "Enable use of RTPB instruction"
msgstr ""
-#: config/c4x/c4x.h:159
+#: config/c4x/c4x.h:186
msgid "Disable use of RTPB instruction"
msgstr ""
-#: config/c4x/c4x.h:161
+#: config/c4x/c4x.h:188
msgid "Generate code for C30 CPU"
msgstr ""
-#: config/c4x/c4x.h:163
+#: config/c4x/c4x.h:190
msgid "Generate code for C31 CPU"
msgstr ""
-#: config/c4x/c4x.h:165
+#: config/c4x/c4x.h:192
msgid "Generate code for C32 CPU"
msgstr ""
-#: config/c4x/c4x.h:167
+#: config/c4x/c4x.h:194
msgid "Generate code for C33 CPU"
msgstr ""
-#: config/c4x/c4x.h:169
+#: config/c4x/c4x.h:196
msgid "Generate code for C40 CPU"
msgstr ""
-#: config/c4x/c4x.h:171
+#: config/c4x/c4x.h:198
msgid "Generate code for C44 CPU"
msgstr ""
-#: config/c4x/c4x.h:173
+#: config/c4x/c4x.h:200
msgid "Emit code compatible with TI tools"
msgstr ""
-#: config/c4x/c4x.h:175
+#: config/c4x/c4x.h:202
msgid "Emit code to use GAS extensions"
msgstr ""
-#: config/c4x/c4x.h:177 config/c4x/c4x.h:181
+#: config/c4x/c4x.h:204 config/c4x/c4x.h:208
msgid "Save DP across ISR in small memory model"
msgstr ""
-#: config/c4x/c4x.h:179 config/c4x/c4x.h:183
+#: config/c4x/c4x.h:206 config/c4x/c4x.h:210
msgid "Don't save DP across ISR in small memory model"
msgstr ""
-#: config/c4x/c4x.h:185
+#: config/c4x/c4x.h:212
msgid "Pass arguments on the stack"
msgstr ""
-#: config/c4x/c4x.h:187
+#: config/c4x/c4x.h:214
msgid "Pass arguments in registers"
msgstr ""
-#: config/c4x/c4x.h:189
+#: config/c4x/c4x.h:216
msgid "Enable new features under development"
msgstr ""
-#: config/c4x/c4x.h:191
+#: config/c4x/c4x.h:218
msgid "Disable new features under development"
msgstr ""
-#: config/c4x/c4x.h:193
+#: config/c4x/c4x.h:220
msgid "Use the BK register as a general purpose register"
msgstr ""
-#: config/c4x/c4x.h:195
+#: config/c4x/c4x.h:222
msgid "Do not allocate BK register"
msgstr ""
-#: config/c4x/c4x.h:197
+#: config/c4x/c4x.h:224
msgid "Enable use of DB instruction"
msgstr ""
-#: config/c4x/c4x.h:199
+#: config/c4x/c4x.h:226
msgid "Disable use of DB instruction"
msgstr ""
-#: config/c4x/c4x.h:201
+#: config/c4x/c4x.h:228
msgid "Enable debugging"
msgstr ""
-#: config/c4x/c4x.h:203
+#: config/c4x/c4x.h:230
msgid "Disable debugging"
msgstr ""
-#: config/c4x/c4x.h:205
+#: config/c4x/c4x.h:232
msgid "Force constants into registers to improve hoisting"
msgstr ""
-#: config/c4x/c4x.h:207
+#: config/c4x/c4x.h:234
msgid "Don't force constants into registers"
msgstr ""
-#: config/c4x/c4x.h:209
+#: config/c4x/c4x.h:236
msgid "Force RTL generation to emit valid 3 operand insns"
msgstr ""
-#: config/c4x/c4x.h:211
+#: config/c4x/c4x.h:238
msgid "Allow RTL generation to emit invalid 3 operand insns"
msgstr ""
-#: config/c4x/c4x.h:213
-msgid "Allow unsigned interation counts for RPTB/DB"
+#: config/c4x/c4x.h:240
+msgid "Allow unsigned iteration counts for RPTB/DB"
msgstr ""
-#: config/c4x/c4x.h:215
+#: config/c4x/c4x.h:242
msgid "Disallow unsigned iteration counts for RPTB/DB"
msgstr ""
-#: config/c4x/c4x.h:217
+#: config/c4x/c4x.h:244
msgid "Preserve all 40 bits of FP reg across call"
msgstr ""
-#: config/c4x/c4x.h:219
+#: config/c4x/c4x.h:246
msgid "Only preserve 32 bits of FP reg across call"
msgstr ""
-#: config/c4x/c4x.h:221
+#: config/c4x/c4x.h:248
msgid "Enable parallel instructions"
msgstr ""
-#: config/c4x/c4x.h:223
+#: config/c4x/c4x.h:250
msgid "Disable parallel instructions"
msgstr ""
-#: config/c4x/c4x.h:225
+#: config/c4x/c4x.h:252
msgid "Enable MPY||ADD and MPY||SUB instructions"
msgstr ""
-#: config/c4x/c4x.h:227
+#: config/c4x/c4x.h:254
msgid "Disable MPY||ADD and MPY||SUB instructions"
msgstr ""
-#: config/c4x/c4x.h:229
+#: config/c4x/c4x.h:256
msgid "Assume that pointers may be aliased"
msgstr ""
-#: config/c4x/c4x.h:231
+#: config/c4x/c4x.h:258
msgid "Assume that pointers not aliased"
msgstr ""
-#: config/c4x/c4x.h:304
+#: config/c4x/c4x.h:331
msgid "Specify maximum number of iterations for RPTS"
msgstr ""
-#: config/c4x/c4x.h:306
+#: config/c4x/c4x.h:333
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:599
msgid "unexpected index-type in cris_print_index"
msgstr ""
-#: config/cris/cris.c:585
+#: config/cris/cris.c:615
msgid "unexpected base-type in cris_print_base"
msgstr ""
-#: config/cris/cris.c:878
+#: config/cris/cris.c:908
#, c-format
msgid "stackframe too big: %d bytes"
msgstr ""
-#: config/cris/cris.c:1193
+#: config/cris/cris.c:1223
msgid "allocated but unused delay list in epilogue"
msgstr ""
-#: config/cris/cris.c:1203
+#: config/cris/cris.c:1233
msgid ""
"unexpected function type needing stack adjustment for __builtin_eh_return"
msgstr ""
-#: config/cris/cris.c:1282
+#: config/cris/cris.c:1312
msgid "invalid operand for 'b' modifier"
msgstr ""
-#: config/cris/cris.c:1294
+#: config/cris/cris.c:1324
msgid "invalid operand for 'v' modifier"
msgstr ""
-#: config/cris/cris.c:1304
+#: config/cris/cris.c:1334
msgid "invalid operand for 'P' modifier"
msgstr ""
-#: config/cris/cris.c:1311
+#: config/cris/cris.c:1341
msgid "invalid operand for 'p' modifier"
msgstr ""
-#: config/cris/cris.c:1350
+#: config/cris/cris.c:1380
msgid "invalid operand for 'z' modifier"
msgstr ""
-#: config/cris/cris.c:1381 config/cris/cris.c:1411
+#: config/cris/cris.c:1411 config/cris/cris.c:1441
msgid "invalid operand for 'H' modifier"
msgstr ""
-#: config/cris/cris.c:1387
+#: config/cris/cris.c:1417
msgid "bad register"
msgstr ""
-#: config/cris/cris.c:1425
+#: config/cris/cris.c:1455
msgid "invalid operand for 'e' modifier"
msgstr ""
-#: config/cris/cris.c:1442
+#: config/cris/cris.c:1472
msgid "invalid operand for 'm' modifier"
msgstr ""
-#: config/cris/cris.c:1467
+#: config/cris/cris.c:1497
msgid "invalid operand for 'A' modifier"
msgstr ""
-#: config/cris/cris.c:1475
+#: config/cris/cris.c:1505
msgid "invalid operand for 'D' modifier"
msgstr ""
-#: config/cris/cris.c:1489
+#: config/cris/cris.c:1519
msgid "invalid operand for 'T' modifier"
msgstr ""
-#: config/cris/cris.c:1498
+#: config/cris/cris.c:1528
msgid "invalid operand modifier letter"
msgstr ""
-#: config/cris/cris.c:1506
+#: config/cris/cris.c:1536
#, c-format
msgid "internal error: bad register: %d"
msgstr ""
-#: config/cris/cris.c:1554
+#: config/cris/cris.c:1584
msgid "unexpected multiplicative operand"
msgstr ""
-#: config/cris/cris.c:1574
+#: config/cris/cris.c:1604
msgid "unexpected operand"
msgstr ""
-#: config/cris/cris.c:1609 config/cris/cris.c:1619
+#: config/cris/cris.c:1639 config/cris/cris.c:1649
msgid "unrecognized address"
msgstr ""
-#: config/cris/cris.c:1975
+#: config/cris/cris.c:2005
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:2292
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:2374 config/cris/cris.c:2432
msgid "unrecognized supposed constant"
msgstr ""
-#: config/cris/cris.c:2443
+#: config/cris/cris.c:2473
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr ""
-#: config/cris/cris.c:2462
+#: config/cris/cris.c:2492
#, c-format
msgid "-max-stackframe=%d is not usable, not between 0 and %d"
msgstr ""
-#: config/cris/cris.c:2490
+#: config/cris/cris.c:2520
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr ""
-#: config/cris/cris.c:2526
+#: config/cris/cris.c:2556
#, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr ""
-#: config/cris/cris.c:2544
+#: config/cris/cris.c:2574
msgid "-fPIC and -fpic are not supported in this configuration"
msgstr ""
-#: config/cris/cris.c:2560
+#: config/cris/cris.c:2590
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:2824 config/cris/cris.c:2869
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:2966 config/cris/cris.c:2997
msgid "unexpected PIC symbol"
msgstr ""
-#: config/cris/cris.c:2936
+#: config/cris/cris.c:2970
msgid "PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2949 config/cris/cris.c:3032
+#: config/cris/cris.c:2983 config/cris/cris.c:3066
msgid "unexpected address expression"
msgstr ""
-#: config/cris/cris.c:2967
+#: config/cris/cris.c:3001
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2976
+#: config/cris/cris.c:3010
msgid "unexpected NOTE as addr_const:"
msgstr ""
-#: config/cris/aout.h:106
+#: config/cris/aout.h:108
msgid "Compile for the MMU-less Etrax 100-based elinux system"
msgstr ""
-#: config/cris/aout.h:113
+#: config/cris/aout.h:115
msgid "For elinux, request a specified stack-size for this program"
msgstr ""
#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
-#: config/cris/cris.h:336
+#: config/cris/cris.h:340
msgid "Compile for ETRAX 4 (CRIS v3)"
msgstr ""
-#: config/cris/cris.h:341
+#: config/cris/cris.h:345
msgid "Compile for ETRAX 100 (CRIS v8)"
msgstr ""
-#: config/cris/cris.h:345
+#: config/cris/cris.h:349
msgid "Emit verbose debug information in assembly code"
msgstr ""
-#: config/cris/cris.h:348
+#: config/cris/cris.h:352
msgid "Do not use condition codes from normal instructions"
msgstr ""
-#: config/cris/cris.h:352
+#: config/cris/cris.h:356
msgid "Do not emit addressing modes with side-effect assignment"
msgstr ""
-#: config/cris/cris.h:355
+#: config/cris/cris.h:359
msgid "Do not tune stack alignment"
msgstr ""
-#: config/cris/cris.h:358
+#: config/cris/cris.h:362
msgid "Do not tune writable data alignment"
msgstr ""
-#: config/cris/cris.h:361
+#: config/cris/cris.h:365
msgid "Do not tune code and read-only data alignment"
msgstr ""
-#: config/cris/cris.h:370
+#: config/cris/cris.h:374
msgid "Align code and data to 32 bits"
msgstr ""
-#: config/cris/cris.h:383
+#: config/cris/cris.h:387
msgid "Don't align items in code or data"
msgstr ""
-#: config/cris/cris.h:386
+#: config/cris/cris.h:390
msgid "Do not emit function prologue or epilogue"
msgstr ""
#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
-#: config/cris/cris.h:390
+#: config/cris/cris.h:394
msgid "Use the most feature-enabling options allowed by other options"
msgstr ""
#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
-#: config/cris/cris.h:396
+#: config/cris/cris.h:400
msgid "Override -mbest-lib-options"
msgstr ""
-#: config/cris/cris.h:428
+#: config/cris/cris.h:432
msgid "Generate code for the specified chip or CPU version"
msgstr ""
-#: config/cris/cris.h:430
+#: config/cris/cris.h:434
msgid "Tune alignment for the specified chip or CPU version"
msgstr ""
-#: config/cris/cris.h:432
+#: config/cris/cris.h:436
msgid "Warn when a stackframe is larger than the specified size"
msgstr ""
#. Node: Profiling
-#: config/cris/cris.h:1023
+#: config/cris/cris.h:1022
msgid "no FUNCTION_PROFILER for CRIS"
msgstr ""
-#: config/cris/linux.h:74
+#: config/cris/linux.h:71
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 +9704,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 +9733,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 +10113,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:1050
#, 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:1060 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr ""
-#: config/i386/i386.c:951
+#: config/i386/i386.c:1075
#, c-format
msgid "bad value (%s) for -masm= switch"
msgstr ""
-#: config/i386/i386.c:954
+#: config/i386/i386.c:1078
#, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr ""
-#: config/i386/i386.c:957
+#: config/i386/i386.c:1081
msgid "code model `large' not supported yet"
msgstr ""
-#: config/i386/i386.c:959
+#: config/i386/i386.c:1083
#, c-format
msgid "%i-bit mode not compiled in"
msgstr ""
-#: config/i386/i386.c:989 config/mips/mips.c:4969
+#: config/i386/i386.c:1113
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr ""
-#: config/i386/i386.c:1000 config/mips/mips.c:4925
+#: config/i386/i386.c:1124
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr ""
-#: config/i386/i386.c:1019
+#: config/i386/i386.c:1141
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr ""
-#: config/i386/i386.c:1032
+#: config/i386/i386.c:1154
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:1159 config/i386/i386.c:1172 config/i386/i386.c:1185
#, c-format
msgid "-malign-loops=%d is not between 0 and %d"
msgstr ""
-#: config/i386/i386.c:1045
+#: config/i386/i386.c:1167
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr ""
-#: config/i386/i386.c:1058
+#: config/i386/i386.c:1180
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr ""
-#: config/i386/i386.c:1096
+#: config/i386/i386.c:1218
#, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr ""
-#: config/i386/i386.c:1108
+#: config/i386/i386.c:1230
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr ""
-#: config/i386/i386.c:1130
+#: config/i386/i386.c:1242
+#, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr ""
+
+#: config/i386/i386.c:1263
msgid "-malign-double makes no sense in the 64bit mode"
msgstr ""
-#: config/i386/i386.c:1132
+#: config/i386/i386.c:1265
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:1281 config/i386/i386.c:1292
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr ""
-#: config/i386/i386.c:1164
+#: config/i386/i386.c:1297
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr ""
-#: config/i386/i386.c:1171
+#: config/i386/i386.c:1304
#, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr ""
-#: config/i386/i386.c:1301
+#: config/i386/i386.c:1436
#, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr ""
-#: config/i386/i386.c:1307
+#: config/i386/i386.c:1442
#, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr ""
-#: config/i386/i386.c:5385
+#: config/i386/i386.c:6325
msgid "invalid UNSPEC as operand"
msgstr ""
-#: config/i386/i386.c:5622
+#: config/i386/i386.c:6587
msgid "extended registers have no high halves"
msgstr ""
-#: config/i386/i386.c:5637
+#: config/i386/i386.c:6602
msgid "unsupported operand size for extended register"
msgstr ""
-#: config/i386/i386.c:5910
+#: config/i386/i386.c:6917
msgid ""
"operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr ""
-#: config/i386/i386.c:5956
+#: config/i386/i386.c:6963
#, c-format
msgid "invalid operand code `%c'"
msgstr ""
-#: config/i386/i386.c:6003
+#: config/i386/i386.c:7010
msgid "invalid constraints for operand"
msgstr ""
-#: config/i386/i386.c:9978
+#: config/i386/i386.c:11189
msgid "unknown insn mode"
msgstr ""
#. @@@ better error message
-#: config/i386/i386.c:11841 config/i386/i386.c:11874
+#: config/i386/i386.c:13309 config/i386/i386.c:13345
msgid "selector must be an immediate"
msgstr ""
#. @@@ better error message
-#: config/i386/i386.c:12032 config/i386/i386.c:12060
+#: config/i386/i386.c:13506 config/i386/i386.c:13540
msgid "mask must be an immediate"
msgstr ""
-#: config/i386/winnt.c:94
+#: config/i386/i386.c:13572
+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 +10318,113 @@ msgstr ""
msgid "Use Mingw-specific thread support"
msgstr ""
-#: config/i386/cygwin.h:236
+#: config/i386/cygwin.h:245
#, 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 +10436,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 +10481,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 +10507,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"
-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"
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
msgstr ""
-#: config/i386/sco5.h:763
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr ""
@@ -10470,33 +10573,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:9974
msgid "stack limit expression is not supported"
msgstr ""
@@ -10554,6 +10655,10 @@ msgstr ""
msgid "Generate CF code"
msgstr ""
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:266
+msgid "Use software floating point"
+msgstr ""
+
#: config/i960/i960.h:285
msgid "Use alternate leaf function entries"
msgstr ""
@@ -10615,8 +10720,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 +10733,192 @@ 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:51
+msgid "malformed #pragma builtin"
msgstr ""
-#: config/i960/i960.h:347
-msgid "conflicting architectures defined - using K series"
+#: config/ia64/ia64.c:3976
+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:4253
+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:4280
+#, 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:4311
+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:4317
+msgid "cannot optimize integer division for both latency and throughput"
msgstr ""
-#: config/ia64/ia64.c:3890
+#: config/ia64/ia64.c:4329
#, 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:154
msgid "Generate big endian code"
msgstr ""
-#: config/ia64/ia64.h:121 config/mcore/mcore.h:159
+#: config/ia64/ia64.h:156 config/mcore/mcore.h:159
msgid "Generate little endian code"
msgstr ""
-#: config/ia64/ia64.h:123
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU as"
msgstr ""
-#: config/ia64/ia64.h:125
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel as"
msgstr ""
-#: config/ia64/ia64.h:127
+#: config/ia64/ia64.h:162
msgid "Generate code for GNU ld"
msgstr ""
-#: config/ia64/ia64.h:129
+#: config/ia64/ia64.h:164
msgid "Generate code for Intel ld"
msgstr ""
-#: config/ia64/ia64.h:131
+#: config/ia64/ia64.h:166
msgid "Generate code without GP reg"
msgstr ""
-#: config/ia64/ia64.h:133
+#: config/ia64/ia64.h:168
msgid "Emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:135
+#: config/ia64/ia64.h:170
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:137
+#: config/ia64/ia64.h:172
msgid "Emit code for Itanium (TM) processor B step"
msgstr ""
-#: config/ia64/ia64.h:139
+#: config/ia64/ia64.h:174
msgid "Use in/loc/out register names"
msgstr ""
-#: config/ia64/ia64.h:141
+#: config/ia64/ia64.h:176
msgid "Disable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:143
+#: config/ia64/ia64.h:178
msgid "Enable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:145
+#: config/ia64/ia64.h:180
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr ""
-#: config/ia64/ia64.h:147
+#: config/ia64/ia64.h:182
msgid "Generate self-relocatable code"
msgstr ""
-#: config/ia64/ia64.h:149
-msgid "Generate inline division, optimize for latency"
+#: config/ia64/ia64.h:184
+msgid "Generate inline floating point division, optimize for latency"
+msgstr ""
+
+#: config/ia64/ia64.h:186
+msgid "Generate inline floating point division, optimize for throughput"
+msgstr ""
+
+#: config/ia64/ia64.h:188
+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:190
+msgid "Generate inline integer division, optimize for throughput"
msgstr ""
-#: config/ia64/ia64.h:153
+#: config/ia64/ia64.h:192
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/ia64/ia64.h:155
+#: config/ia64/ia64.h:194
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/ia64/ia64.h:183
+#: config/ia64/ia64.h:223
msgid "Specify range of registers to make fixed"
msgstr ""
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1090
+msgid "bad operand"
+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:12783
msgid "bad address"
msgstr ""
-#: config/m32r/m32r.c:2548
+#: config/m32r/m32r.c:2551
msgid "lo_sum not of register"
msgstr ""
@@ -10837,46 +10947,54 @@ 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 ""
+#: config/m68hc11/m68hc11.c:1305
+msgid "`trap' and `far' attributes are not compatible, ignoring `far'"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:1311
+msgid "`trap' attribute is already used"
+msgstr ""
+
#. !!!! SCz wrong here.
-#: config/m68hc11/m68hc11.c:3170 config/m68hc11/m68hc11.c:3544
+#: config/m68hc11/m68hc11.c:3327 config/m68hc11/m68hc11.c:3733
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:3579 config/m68hc11/m68hc11.c:3663
+#: config/m68hc11/m68hc11.c:3946
msgid "invalid register in the move instruction"
msgstr ""
-#: config/m68hc11/m68hc11.c:3424
+#: config/m68hc11/m68hc11.c:3613
msgid "invalid operand in the instruction"
msgstr ""
-#: config/m68hc11/m68hc11.c:3721
+#: config/m68hc11/m68hc11.c:3920
msgid "invalid register in the instruction"
msgstr ""
-#: config/m68hc11/m68hc11.c:3754
+#: config/m68hc11/m68hc11.c:3953
msgid "operand 1 must be a hard register"
msgstr ""
-#: config/m68hc11/m68hc11.c:3771
+#: config/m68hc11/m68hc11.c:3970
msgid "invalid rotate insn"
msgstr ""
-#: config/m68hc11/m68hc11.c:4196
+#: config/m68hc11/m68hc11.c:4391
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:4728 config/m68hc11/m68hc11.c:5031
msgid "cannot do z-register replacement"
msgstr ""
-#: config/m68hc11/m68hc11.c:4886
+#: config/m68hc11/m68hc11.c:5094
msgid "invalid Z register replacement for insn"
msgstr ""
@@ -10884,34 +11002,58 @@ 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:172
msgid "Compile with 16-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:157
+#: config/m68hc11/m68hc11.h:174
msgid "Compile with 32-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:159
+#: config/m68hc11/m68hc11.h:176
msgid "Auto pre/post decrement increment allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:161
+#: config/m68hc11/m68hc11.h:178
msgid "Auto pre/post decrement increment not allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:163
+#: config/m68hc11/m68hc11.h:180
+msgid "Min/max instructions allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:182
+msgid "Min/max instructions not allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:184
+msgid "Use call and rtc for function calls and returns"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:186
+msgid "Use jsr and rts for function calls and returns"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:188
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:190
+msgid "Use direct addressing mode for soft registers"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:192 config/m68hc11/m68hc11.h:198
msgid "Compile for a 68HC11"
msgstr ""
-#: config/m68hc11/m68hc11.h:167 config/m68hc11/m68hc11.h:171
+#: config/m68hc11/m68hc11.h:194 config/m68hc11/m68hc11.h:200
msgid "Compile for a 68HC12"
msgstr ""
+#: config/m68hc11/m68hc11.h:196 config/m68hc11/m68hc11.h:202
+msgid "Compile for a 68HCS12"
+msgstr ""
+
#. This macro is similar to `TARGET_SWITCHES' but defines names of
#. command options that have values. Its definition is an
#. initializer with a subgrouping for each command option.
@@ -10921,29 +11063,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:216
msgid "Specify the register allocation order"
msgstr ""
-#: config/m68hc11/m68hc11.h:187
+#: config/m68hc11/m68hc11.h:218
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 +11211,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:7715
#, 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:7678
#, 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 +11312,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 ""
@@ -11199,7 +11338,7 @@ msgid "Do not use the divide instruction"
msgstr ""
#: config/mcore/mcore.h:140
-msgid "Do not arbitary sized immediates in bit operations"
+msgid "Do not arbitrary sized immediates in bit operations"
msgstr ""
#: config/mcore/mcore.h:142
@@ -11230,219 +11369,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:5126
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
msgstr ""
-#: config/mips/mips.c:4821
+#: config/mips/mips.c:5156
#, 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:5163
#, c-format
msgid "bad value (%s) for -mips switch"
msgstr ""
-#: config/mips/mips.c:4849
+#: config/mips/mips.c:5178
#, 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:5190
+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:5192
+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:5194
+msgid "-mgp64 used with a 32-bit ABI"
msgstr ""
-#: config/mips/mips.c:5024
+#: config/mips/mips.c:5212 config/mips/mips.c:5214 config/mips/mips.c:5216
#, 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:5286
+msgid ""
+"generation of Branch Likely instructions enabled, but not supported by "
+"architecture"
msgstr ""
-#: config/mips/mips.c:5051
+#: config/mips/mips.c:5297
msgid "-G is incompatible with PIC code which is the default"
msgstr ""
-#: config/mips/mips.c:5067
+#: config/mips/mips.c:5313
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr ""
-#: config/mips/mips.c:5070
+#: config/mips/mips.c:5316
msgid "-G and -membedded-pic are incompatible"
msgstr ""
-#: config/mips/mips.c:5121
+#: config/mips/mips.c:5367
#, c-format
msgid "invalid option `entry%s'"
msgstr ""
-#: config/mips/mips.c:5124
+#: config/mips/mips.c:5370
msgid "-mentry is only meaningful with -mips-16"
msgstr ""
-#: config/mips/mips.c:5500
+#: config/mips/mips.c:5779
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5514
+#: config/mips/mips.c:5793
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5527
+#: config/mips/mips.c:5806
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5540
+#: config/mips/mips.c:5819
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5554
+#: config/mips/mips.c:5833
#, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr ""
-#: config/mips/mips.c:5563 config/xtensa/xtensa.c:1913
+#: config/mips/mips.c:5842 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr ""
-#: config/mips/mips.c:5696
+#: config/mips/mips.c:5973
#, 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:6011 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr ""
-#: config/mips/mips.c:5963
+#: config/mips/mips.c:6240
msgid ""
"MIPS ECOFF format does not allow changing filenames within functions with "
"#line"
msgstr ""
-#: config/mips/mips.c:6277
+#: config/mips/mips.c:6550
msgid "can't rewind temp file"
msgstr ""
-#: config/mips/mips.c:6281
+#: config/mips/mips.c:6554
msgid "can't write to output file"
msgstr ""
-#: config/mips/mips.c:6284
+#: config/mips/mips.c:6557
msgid "can't read from temp file"
msgstr ""
-#: config/mips/mips.c:6287
+#: config/mips/mips.c:6560
msgid "can't close temp file"
msgstr ""
-#: config/mips/mips.c:6705
+#: config/mips/mips.c:7001
#, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:6865
+#: config/mips/mips.c:7110
#, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:8906
+#: config/mips/mips.c:9346
#, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr ""
+#: config/mips/mips.c:10478
+msgid "the cpu name must be lower case"
+msgstr ""
+
+#: config/mips/mips.c:10500
+#, 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 +11607,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:310
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:2890
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 +11866,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 +11874,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 +11961,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:261
#, 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:286
#, 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:299
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr ""
-#: config/pa/pa.c:217
+#: config/pa/pa.c:304
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr ""
-#: config/pa/pa.c:222
+#: config/pa/pa.c:309
msgid "-g is only supported when using GAS on this processor,"
msgstr ""
-#: config/pa/pa.c:223
+#: config/pa/pa.c:310
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:232 config/pa/pa.h:238
+msgid "Generate PA1.1 code"
+msgstr ""
+
+#: config/pa/pa.h:234 config/pa/pa.h:236
+msgid "Generate PA1.0 code"
+msgstr ""
+
+#: config/pa/pa.h:240
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr ""
+
+#: config/pa/pa.h:242
+msgid "Disable FP regs"
+msgstr ""
+
+#: config/pa/pa.h:244
+msgid "Do not disable FP regs"
+msgstr ""
+
+#: config/pa/pa.h:246
+msgid "Disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:248
+msgid "Do not disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:250
+msgid "Put jumps in call delay slots"
+msgstr ""
+
+#: config/pa/pa.h:252
+msgid "Do not put jumps in call delay slots"
+msgstr ""
+
+#: config/pa/pa.h:254
+msgid "Disable indexed addressing"
+msgstr ""
+
+#: config/pa/pa.h:256
+msgid "Do not disable indexed addressing"
+msgstr ""
+
+#: config/pa/pa.h:258
+msgid "Use portable calling conventions"
+msgstr ""
+
+#: config/pa/pa.h:260
+msgid "Do not use portable calling conventions"
+msgstr ""
+
+#: config/pa/pa.h:262
+msgid "Assume code will be assembled by GAS"
+msgstr ""
+
+#: config/pa/pa.h:264
+msgid "Do not assume code will be assembled by GAS"
+msgstr ""
+
+#: config/pa/pa.h:268
+msgid "Do not use software floating point"
+msgstr ""
+
+#: config/pa/pa.h:270
+msgid "Emit long load/store sequences"
+msgstr ""
+
+#: config/pa/pa.h:272
+msgid "Do not emit long load/store sequences"
+msgstr ""
+
+#: config/pa/pa.h:274
+msgid "Generate fast indirect calls"
+msgstr ""
+
+#: config/pa/pa.h:276
+msgid "Do not generate fast indirect calls"
+msgstr ""
+
+#: config/pa/pa.h:278
+msgid "Generate code for huge switch statements"
+msgstr ""
+
+#: config/pa/pa.h:280
+msgid "Do not generate code for huge switch statements"
+msgstr ""
+
+#: config/pa/pa.h:282
+msgid "Always generate long calls"
+msgstr ""
+
+#: config/pa/pa.h:284
+msgid "Generate long calls only when needed"
+msgstr ""
+
+#: config/pa/pa.h:286
+msgid "Enable linker optimizations"
+msgstr ""
+
+#: config/pa/pa.h:312
+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 +12244,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:7752
#, 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:7581
#, 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 +12309,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:592
msgid "-mmultiple is not supported on little endian systems"
msgstr ""
-#: config/rs6000/rs6000.c:482
+#: config/rs6000/rs6000.c:599
msgid "-mstring is not supported on little endian systems"
msgstr ""
-#: config/rs6000/rs6000.c:491 config/xtensa/xtensa.c:1846
+#: config/rs6000/rs6000.c:623
#, 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:635
+#, 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:646
+#, c-format
+msgid "Unknown switch -mlong-double-%s"
msgstr ""
-#: config/rs6000/rs6000.c:520
+#: config/rs6000/rs6000.c:738
#, c-format
-msgid "unknown -mdebug-%s switch"
+msgid "unknown -misel= option specified: '%s'"
msgstr ""
-#: config/rs6000/rs6000.c:530
+#: config/rs6000/rs6000.c:753
#, c-format
-msgid "Unknown switch -mlong-double-%s"
+msgid "unknown -mvrsave= option specified: '%s'"
msgstr ""
-#: config/rs6000/rs6000.c:597
+#: config/rs6000/rs6000.c:772
#, c-format
msgid "unknown ABI specified: '%s'"
msgstr ""
-#: config/rs6000/rs6000.c:3636
+#: config/rs6000/rs6000.c:4203
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4310 config/rs6000/rs6000.c:4900
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4353
msgid "argument 1 of __builtin_altivec_predicate must be a constant"
msgstr ""
-#: config/rs6000/rs6000.c:3690
+#: config/rs6000/rs6000.c:4407
msgid "argument 1 of __builtin_altivec_predicate is out of range"
msgstr ""
-#: config/rs6000/rs6000.c:4046
+#: config/rs6000/rs6000.c:4486
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4663
#, 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:4779
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:5010
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr ""
+
+#: config/rs6000/rs6000.c:5083
+msgid "argument 1 of __builtin_spe_predicate is out of range"
msgstr ""
-#: config/rs6000/rs6000.c:6257
+#: config/rs6000/rs6000.c:7508
#, c-format
msgid "invalid %%f value"
msgstr ""
-#: config/rs6000/rs6000.c:6266
+#: config/rs6000/rs6000.c:7517
#, c-format
msgid "invalid %%F value"
msgstr ""
-#: config/rs6000/rs6000.c:6275
+#: config/rs6000/rs6000.c:7526
#, c-format
msgid "invalid %%G value"
msgstr ""
-#: config/rs6000/rs6000.c:6310
+#: config/rs6000/rs6000.c:7561
#, c-format
msgid "invalid %%j code"
msgstr ""
-#: config/rs6000/rs6000.c:6320
+#: config/rs6000/rs6000.c:7571
#, c-format
msgid "invalid %%J code"
msgstr ""
-#: config/rs6000/rs6000.c:6350
+#: config/rs6000/rs6000.c:7601
#, c-format
msgid "invalid %%K value"
msgstr ""
-#: config/rs6000/rs6000.c:6577
+#: config/rs6000/rs6000.c:7668
#, c-format
-msgid "%%S computed all 1's mask"
-msgstr ""
-
-#: config/rs6000/rs6000.c:6604
-#, c-format
-msgid "%%S computed all 0's mask"
+msgid "invalid %%O value"
msgstr ""
-#: config/rs6000/rs6000.c:6614
+#: config/rs6000/rs6000.c:7790
#, c-format
msgid "invalid %%T value"
msgstr ""
-#: config/rs6000/rs6000.c:6624
+#: config/rs6000/rs6000.c:7800
#, c-format
msgid "invalid %%u value"
msgstr ""
-#: config/rs6000/rs6000.c:6633
+#: config/rs6000/rs6000.c:7809
#, c-format
msgid "invalid %%v value"
msgstr ""
-#: config/rs6000/aix.h:137 config/rs6000/beos.h:32
+#: config/rs6000/rs6000.c:12223
+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 +12512,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 +12680,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:1878
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 +12810,188 @@ 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:3004
msgid "invalid UNSPEC as operand (1)"
msgstr ""
-#: config/s390/s390.c:1988
+#: config/s390/s390.c:3064
msgid "invalid UNSPEC as operand (2)"
msgstr ""
-#: config/s390/s390.c:1994
+#: config/s390/s390.c:3070
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr ""
-#: config/s390/s390.c:2010
+#: config/s390/s390.c:3088
msgid "Cannot decompose address."
msgstr ""
-#: config/s390/s390.c:2158
+#: config/s390/s390.c:3249
msgid "UNKNOWN in print_operand !?"
msgstr ""
-#: config/s390/s390.c:2751
+#: config/s390/s390.c:4902
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
-msgid "Use bras for execucable < 64k"
+#: config/s390/s390.h:72
+msgid "Use bras for executable < 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:5137
msgid "__builtin_saveregs not supported by this subtarget"
msgstr ""
+#: config/sh/sh.c:5687
+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:5713 config/sh/sh.c:5752
#, 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:5720
#, 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:5759
#, 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:6476
+#, c-format
+msgid "invalid %%s operand"
+msgstr ""
+
+#: config/sparc/sparc.c:6528
msgid "long long constant not a valid immediate operand"
msgstr ""
-#: config/sparc/sparc.c:6202
+#: config/sparc/sparc.c:6531
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 +13003,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 "Enforce 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:2794
+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,31 +13498,31 @@ 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:259 cp/init.c:1596
msgid "qualified type `%T' does not match destructor name `~%T'"
msgstr ""
-#: cp/call.c:279
+#: cp/call.c:268
msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
msgstr ""
-#: cp/call.c:288
+#: cp/call.c:277
msgid "`%D' is a namespace"
msgstr ""
-#: cp/call.c:296
+#: cp/call.c:285
msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
msgstr ""
-#: cp/call.c:377
+#: cp/call.c:367
msgid "unable to call pointer to member function here"
msgstr ""
-#: cp/call.c:513
+#: cp/call.c:516
msgid "destructors take no parameters"
msgstr ""
@@ -13147,487 +13530,542 @@ msgstr ""
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr ""
-#: cp/call.c:2357
+#: cp/call.c:541 cp/call.c:4959
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr ""
+
+#: cp/call.c:565
+msgid "request for member `%D' is ambiguous"
+msgstr ""
+
+#: cp/call.c:2526
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2362
+#: cp/call.c:2531
msgid "%s %D(%T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2366
+#: cp/call.c:2535
msgid "%s %D(%T) <built-in>"
msgstr ""
-#: cp/call.c:2370
+#: cp/call.c:2539
msgid "%s %T <conversion>"
msgstr ""
-#: cp/call.c:2372
+#: cp/call.c:2541
msgid "%s %+#D%s"
msgstr ""
-#: cp/call.c:2517
-msgid "no viable candidates"
+#: cp/call.c:2715
+msgid "conversion from `%T' to `%T' is ambiguous"
+msgstr ""
+
+#: cp/call.c:2795
+msgid "incomplete type '%T' cannot be used to name a scope"
msgstr ""
-#: cp/call.c:2531
-msgid "conversion from `%T' to `%T' is ambiguous"
+#: cp/call.c:2815 cp/typeck.c:2185 cp/typeck.c:2214
+msgid "'%D' has no member named '%E'"
msgstr ""
-#: cp/call.c:2648
+#: cp/call.c:2917
msgid "no matching function for call to `%D(%A)'"
msgstr ""
-#: cp/call.c:2659 cp/call.c:4655
+#: cp/call.c:2928 cp/call.c:5046
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:2955
#, 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:3020
msgid "no match for call to `(%T) (%A)'"
msgstr ""
-#: cp/call.c:2765
+#: cp/call.c:3030
msgid "call of `(%T) (%A)' is ambiguous"
msgstr ""
-#: cp/call.c:2800
+#: cp/call.c:3065
msgid "%s for `%T ? %T : %T' operator"
msgstr ""
-#: cp/call.c:2805
+#: cp/call.c:3070
msgid "%s for `%T %s' operator"
msgstr ""
-#: cp/call.c:2808
+#: cp/call.c:3073
msgid "%s for `%T [%T]' operator"
msgstr ""
-#: cp/call.c:2813
+#: cp/call.c:3078
msgid "%s for `%T %s %T' operator"
msgstr ""
-#: cp/call.c:2816
+#: cp/call.c:3081
msgid "%s for `%s %T' operator"
msgstr ""
-#: cp/call.c:2908
+#: cp/call.c:3171
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
msgstr ""
-#: cp/call.c:2967
+#: cp/call.c:3230
#, 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:3263 cp/call.c:3455
msgid "operands to ?: have different types"
msgstr ""
-#: cp/call.c:3153
+#: cp/call.c:3408
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr ""
-#: cp/call.c:3160
+#: cp/call.c:3415
msgid "enumeral and non-enumeral type in conditional expression"
msgstr ""
-#: cp/call.c:3241
+#: cp/call.c:3496
msgid "`%D' must be declared before use"
msgstr ""
-#: cp/call.c:3404
+#: cp/call.c:3686
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr ""
-#: cp/call.c:3451
+#: cp/call.c:3733
msgid "using synthesized `%#D' for copy assignment"
msgstr ""
-#: cp/call.c:3453
+#: cp/call.c:3735
msgid " where cfront would use `%#D'"
msgstr ""
-#: cp/call.c:3480
+#: cp/call.c:3762
msgid "comparison between `%#T' and `%#T'"
msgstr ""
-#: cp/call.c:3719
+#: cp/call.c:4001
msgid "no suitable `operator delete' for `%T'"
msgstr ""
-#: cp/call.c:3738
+#: cp/call.c:4020
msgid "`%+#D' is private"
msgstr ""
-#: cp/call.c:3740
+#: cp/call.c:4022
msgid "`%+#D' is protected"
msgstr ""
-#: cp/call.c:3742
+#: cp/call.c:4024
msgid "`%+#D' is inaccessible"
msgstr ""
-#: cp/call.c:3743
+#: cp/call.c:4025
msgid "within this context"
msgstr ""
-#: cp/call.c:3785
+#: cp/call.c:4067
msgid "invalid conversion from `%T' to `%T'"
msgstr ""
-#: cp/call.c:3787 cp/call.c:3926 cp/call.c:3928
+#: cp/call.c:4069 cp/call.c:4207 cp/call.c:4209
msgid " initializing argument %P of `%D'"
msgstr ""
-#: cp/call.c:3850 cp/call.c:3854
+#: cp/call.c:4131 cp/call.c:4135
msgid " initializing argument %P of `%D' from result of `%D'"
msgstr ""
-#: cp/call.c:3860 cp/call.c:3863
+#: cp/call.c:4141 cp/call.c:4144
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:4294
+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:4321
msgid "cannot receive objects of non-POD type `%#T' through `...'"
msgstr ""
-#: cp/call.c:4167
+#: cp/call.c:4501
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr ""
-#: cp/call.c:4417
+#: cp/call.c:4759
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:4933
+msgid "call to non-function `%D'"
msgstr ""
-#: cp/call.c:4644
+#: cp/call.c:5035
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr ""
-#: cp/call.c:4674
+#: cp/call.c:5065
msgid "cannot call member function `%D' without object"
msgstr ""
-#: cp/call.c:5287
+#: cp/call.c:5663
msgid "passing `%T' chooses `%T' over `%T'"
msgstr ""
-#: cp/call.c:5289 cp/decl2.c:4508
+#: cp/call.c:5665 cp/decl2.c:4148
msgid " in call to `%D'"
msgstr ""
-#: cp/call.c:5338 cp/call.c:5463
+#: cp/call.c:5714
msgid "choosing `%D' over `%D'"
msgstr ""
-#: cp/call.c:5339
+#: cp/call.c:5715
msgid " for conversion from `%T' to `%T'"
msgstr ""
-#: cp/call.c:5341
+#: cp/call.c:5717
msgid " because conversion sequence for the argument is better"
msgstr ""
-#: cp/call.c:5465
+#: cp/call.c:5838
msgid ""
-" because worst conversion for the former is better than worst conversion "
-"for the latter"
+"ISO C++ says that `%D' and `%D' are ambiguous even though the worst "
+"conversion for the former is better than the worst conversion for the latter"
msgstr ""
-#: cp/call.c:5581 cp/call.c:5602
+#: cp/call.c:5955 cp/call.c:6021
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:964
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:1048
msgid "duplicate enum value `%D'"
msgstr ""
-#: cp/class.c:1144
+#: cp/class.c:1051
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr ""
-#: cp/class.c:1151
+#: cp/class.c:1058
msgid "duplicate nested type `%D'"
msgstr ""
-#: cp/class.c:1162
+#: cp/class.c:1069
msgid "duplicate field `%D' (as type and non-type)"
msgstr ""
-#: cp/class.c:1166
+#: cp/class.c:1073
msgid "duplicate member `%D'"
msgstr ""
-#: cp/class.c:1209
+#: cp/class.c:1116
msgid "conflicting access specifications for method `%D', ignored"
msgstr ""
-#: cp/class.c:1211
+#: cp/class.c:1118
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr ""
-#: cp/class.c:1254
+#: cp/class.c:1163
msgid "`%D' names constructor"
msgstr ""
-#: cp/class.c:1260
+#: cp/class.c:1168
msgid "`%D' invalid in `%T'"
msgstr ""
-#: cp/class.c:1268
+#: cp/class.c:1176
msgid "no members matching `%D' in `%#T'"
msgstr ""
-#: cp/class.c:1300 cp/class.c:1308
+#: cp/class.c:1208 cp/class.c:1216
msgid "`%D' invalid in `%#T'"
msgstr ""
-#: cp/class.c:1301
+#: cp/class.c:1209
msgid " because of local method `%#D' with same name"
msgstr ""
-#: cp/class.c:1309
+#: cp/class.c:1217
msgid " because of local member `%#D' with same name"
msgstr ""
-#: cp/class.c:1381
+#: cp/class.c:1289
msgid "base class `%#T' has a non-virtual destructor"
msgstr ""
-#: cp/class.c:1401
+#: cp/class.c:1309
msgid ""
"base `%T' with only non-default constructor in class without a constructor"
msgstr ""
-#: cp/class.c:1988
+#: cp/class.c:1881
msgid "all member functions in class `%T' are private"
msgstr ""
-#: cp/class.c:2002
+#: cp/class.c:1895
msgid "`%#T' only defines a private destructor and has no friends"
msgstr ""
-#: cp/class.c:2045
+#: cp/class.c:1938
msgid "`%#T' only defines private constructors and has no friends"
msgstr ""
-#: cp/class.c:2166 cp/class.c:5093
+#: cp/class.c:2059 cp/class.c:5236
msgid "redefinition of `%#T'"
msgstr ""
-#: cp/class.c:2167
+#: cp/class.c:2060
msgid "previous definition of `%#T'"
msgstr ""
-#: cp/class.c:2497
+#: cp/class.c:2334
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:2681
msgid "`%D' was hidden"
msgstr ""
-#: cp/class.c:2880
+#: cp/class.c:2682
msgid " by `%D'"
msgstr ""
-#: cp/class.c:2922
+#: cp/class.c:2724
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr ""
-#: cp/class.c:2927 cp/decl2.c:1874
+#: cp/class.c:2729 cp/decl2.c:1336
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:2735 cp/decl2.c:1342
msgid "private member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:2936 cp/decl2.c:1882
+#: cp/class.c:2738 cp/decl2.c:1344
msgid "protected member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:3088
+#: cp/class.c:2863
+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:2927
msgid "bit-field `%#D' with non-integral type"
msgstr ""
-#: cp/class.c:3108
+#: cp/class.c:2947
msgid "bit-field `%D' width not an integer constant"
msgstr ""
-#: cp/class.c:3114
+#: cp/class.c:2953
msgid "negative width in bit-field `%D'"
msgstr ""
-#: cp/class.c:3119
+#: cp/class.c:2958
msgid "zero width for bit-field `%D'"
msgstr ""
-#: cp/class.c:3125
+#: cp/class.c:2964
msgid "width of `%D' exceeds its type"
msgstr ""
-#: cp/class.c:3134
+#: cp/class.c:2973
msgid "`%D' is too small to hold all values of `%#T'"
msgstr ""
-#: cp/class.c:3218
+#: cp/class.c:3057
msgid "member `%#D' with constructor not allowed in union"
msgstr ""
-#: cp/class.c:3221
+#: cp/class.c:3060
msgid "member `%#D' with destructor not allowed in union"
msgstr ""
-#: cp/class.c:3224
+#: cp/class.c:3063
msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr ""
-#: cp/class.c:3251
+#: cp/class.c:3090
msgid "multiple fields in union `%T' initialized"
msgstr ""
-#: cp/class.c:3370
+#: cp/class.c:3203
msgid "field `%D' in local class cannot be static"
msgstr ""
-#: cp/class.c:3376
+#: cp/class.c:3209
msgid "field `%D' invalidly declared function type"
msgstr ""
-#: cp/class.c:3383
+#: cp/class.c:3216
msgid "field `%D' invalidly declared method type"
msgstr ""
-#: cp/class.c:3389
+#: cp/class.c:3222
msgid "field `%D' invalidly declared offset type"
msgstr ""
#. Unions cannot have static members.
-#: cp/class.c:3407
+#: cp/class.c:3240
msgid "field `%D' declared static in union"
msgstr ""
-#: cp/class.c:3433
+#: cp/class.c:3267
msgid "non-static reference `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3464
+#: cp/class.c:3302
msgid "non-static const member `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3479
+#: cp/class.c:3318
msgid "field `%#D' with same name as class"
msgstr ""
-#: cp/class.c:3497
+#: cp/class.c:3336
msgid "`%#T' has pointer data members"
msgstr ""
-#: cp/class.c:3501
+#: cp/class.c:3340
msgid " but does not override `%T(const %T&)'"
msgstr ""
-#: cp/class.c:3503
+#: cp/class.c:3342
msgid " or `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3506
+#: cp/class.c:3345
msgid " but does not override `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3972
+#: cp/class.c:3795
+msgid ""
+"offset of empty base `%T' may not be ABI-compliant and maychange in a future "
+"version of GCC"
+msgstr ""
+
+#: cp/class.c:3904
+msgid "class `%T' will be considered nearly empty in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:3994
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:4730
+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:4830
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr ""
-#: cp/class.c:5254
+#: cp/class.c:4843
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+msgstr ""
+
+#: cp/class.c:4999
+msgid ""
+"size assigned to `%T' may not be ABI-compliant and may change in a future "
+"version of GCC"
+msgstr ""
+
+#: cp/class.c:5039
+msgid ""
+"offset of `%D' is not ABI-compliant and may change in a future version of GCC"
+msgstr ""
+
+#: cp/class.c:5048
+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:5107
+msgid ""
+"layout of classes derived from empty class `%T' may change in a future "
+"version of GCC"
+msgstr ""
+
+#: cp/class.c:5392
msgid "`%#T' has virtual functions but non-virtual destructor"
msgstr ""
-#: cp/class.c:5338
+#: cp/class.c:5477
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr ""
-#: cp/class.c:5795
+#: cp/class.c:5943
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr ""
-#: cp/class.c:5891
+#: cp/class.c:6039
msgid ""
"cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr ""
-#: cp/class.c:6012
+#: cp/class.c:6160
msgid "no matches converting function `%D' to type `%#T'"
msgstr ""
-#: cp/class.c:6035
+#: cp/class.c:6183
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr ""
-#: cp/class.c:6061
+#: cp/class.c:6209
msgid "assuming pointer to member `%D'"
msgstr ""
-#: cp/class.c:6064
+#: cp/class.c:6212
#, 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:6256 cp/class.c:6427 cp/class.c:6434
msgid "not enough type information"
msgstr ""
-#: cp/class.c:6117
+#: cp/class.c:6265
msgid "argument of type `%T' does not match `%T'"
msgstr ""
-#: cp/class.c:6260
+#: cp/class.c:6411
msgid "invalid operation on uninstantiated type"
msgstr ""
@@ -13636,11 +14074,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:6694 cp/decl.c:1009 cp/decl.c:3133 cp/pt.c:2001
msgid "declaration of `%#D'"
msgstr ""
-#: cp/class.c:6513
+#: cp/class.c:6695
msgid "changes meaning of `%D' from `%+#D'"
msgstr ""
@@ -13656,206 +14094,210 @@ msgstr ""
msgid "converting from `%T' to `%T'"
msgstr ""
-#: cp/cvt.c:198 cp/cvt.c:202
+#: cp/cvt.c:203 cp/cvt.c:207
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:225 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:504
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr ""
-#: cp/cvt.c:543
+#: cp/cvt.c:522
msgid "casting `%T' to `%T' does not dereference pointer"
msgstr ""
-#: cp/cvt.c:572
+#: cp/cvt.c:551
msgid "cannot convert type `%T' to type `%T'"
msgstr ""
-#: cp/cvt.c:689
+#: cp/cvt.c:683
msgid "conversion from `%#T' to `%#T'"
msgstr ""
-#: cp/cvt.c:701
+#: cp/cvt.c:695
msgid "`%#T' used where a `%T' was expected"
msgstr ""
-#: cp/cvt.c:718
+#: cp/cvt.c:712
msgid "the address of `%D', will always be `true'"
msgstr ""
-#: cp/cvt.c:738
+#: cp/cvt.c:732
msgid "`%#T' used where a floating point value was expected"
msgstr ""
-#: cp/cvt.c:793
+#: cp/cvt.c:779
msgid "conversion from `%T' to non-scalar type `%T' requested"
msgstr ""
-#: cp/cvt.c:879
+#: cp/cvt.c:865
msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr ""
-#: cp/cvt.c:882
+#: cp/cvt.c:868
msgid "object of type `%T' will not be accessed in %s"
msgstr ""
-#: cp/cvt.c:898
+#: cp/cvt.c:884
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:904
#, c-format
msgid "%s cannot resolve address of overloaded function"
msgstr ""
#. Only warn when there is no &.
-#: cp/cvt.c:923
+#: cp/cvt.c:909
#, c-format
msgid "%s is a reference, not call, to function `%E'"
msgstr ""
-#: cp/cvt.c:1061
+#: cp/cvt.c:1039
msgid "converting NULL to non-pointer type"
msgstr ""
-#: cp/cvt.c:1137
+#: cp/cvt.c:1115
msgid "ambiguous default type conversion from `%T'"
msgstr ""
-#: cp/cvt.c:1139
+#: cp/cvt.c:1117
msgid " candidate conversions include `%D' and `%D'"
msgstr ""
-#: cp/decl.c:1030 cp/decl.c:3272
+#: cp/decl.c:1010 cp/decl.c:3240
msgid "conflicts with previous declaration `%#D'"
msgstr ""
-#: cp/decl.c:1219
+#: cp/decl.c:1222
msgid "label `%D' used but not defined"
msgstr ""
-#: cp/decl.c:1224
+#: cp/decl.c:1227
msgid "label `%D' defined but not used"
msgstr ""
-#: cp/decl.c:2291
+#: cp/decl.c:2240
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr ""
-#: cp/decl.c:3075 cp/decl.c:3480
+#: cp/decl.c:3039 cp/decl.c:3448
msgid "previous declaration of `%D'"
msgstr ""
-#: cp/decl.c:3156 cp/decl.c:3194
+#: cp/decl.c:3120 cp/decl.c:3158
msgid "shadowing %s function `%#D'"
msgstr ""
-#: cp/decl.c:3165
+#: cp/decl.c:3129
msgid "library function `%#D' redeclared as non-function `%#D'"
msgstr ""
-#: cp/decl.c:3170
+#: cp/decl.c:3134
msgid "conflicts with built-in declaration `%#D'"
msgstr ""
-#: cp/decl.c:3189 cp/decl.c:3282 cp/decl.c:3298
+#: cp/decl.c:3153 cp/decl.c:3254 cp/decl.c:3270
msgid "new declaration `%#D'"
msgstr ""
-#: cp/decl.c:3190
+#: cp/decl.c:3154
msgid "ambiguates built-in declaration `%#D'"
msgstr ""
-#: cp/decl.c:3246
+#: cp/decl.c:3214
msgid "`%#D' redeclared as different kind of symbol"
msgstr ""
-#: cp/decl.c:3249
+#: cp/decl.c:3217
msgid "previous declaration of `%#D'"
msgstr ""
-#: cp/decl.c:3271
+#: cp/decl.c:3239
msgid "declaration of template `%#D'"
msgstr ""
-#: cp/decl.c:3283 cp/decl.c:3299
+#: cp/decl.c:3255 cp/decl.c:3271
msgid "ambiguates old declaration `%#D'"
msgstr ""
-#: cp/decl.c:3291
+#: cp/decl.c:3263
msgid "declaration of C function `%#D' conflicts with"
msgstr ""
-#: cp/decl.c:3293
+#: cp/decl.c:3265
msgid "previous declaration `%#D' here"
msgstr ""
-#: cp/decl.c:3309
+#: cp/decl.c:3281
msgid "conflicting types for `%#D'"
msgstr ""
-#: cp/decl.c:3310
+#: cp/decl.c:3282
msgid "previous declaration as `%#D'"
msgstr ""
-#: cp/decl.c:3353
+#: cp/decl.c:3325
msgid "`%#D' previously defined here"
msgstr ""
-#: cp/decl.c:3354
+#: cp/decl.c:3326
msgid "`%#D' previously declared here"
msgstr ""
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3363
+#: cp/decl.c:3335
msgid "prototype for `%#D'"
msgstr ""
-#: cp/decl.c:3364
+#: cp/decl.c:3336
msgid "follows non-prototype definition here"
msgstr ""
-#: cp/decl.c:3376
+#: cp/decl.c:3348
msgid "previous declaration of `%#D' with %L linkage"
msgstr ""
-#: cp/decl.c:3378
+#: cp/decl.c:3350
msgid "conflicts with new declaration with %L linkage"
msgstr ""
-#: cp/decl.c:3401 cp/decl.c:3408
+#: cp/decl.c:3373 cp/decl.c:3380
msgid "default argument given for parameter %d of `%#D'"
msgstr ""
-#: cp/decl.c:3403 cp/decl.c:3410
+#: cp/decl.c:3375 cp/decl.c:3382
msgid "after previous specification in `%#D'"
msgstr ""
-#: cp/decl.c:3419
+#: cp/decl.c:3391
msgid "`%#D' was used before it was declared inline"
msgstr ""
-#: cp/decl.c:3421
+#: cp/decl.c:3393
msgid "previous non-inline declaration here"
msgstr ""
-#: cp/decl.c:3479
+#: cp/decl.c:3447
msgid "redundant redeclaration of `%D' in same scope"
msgstr ""
-#: cp/decl.c:3563
+#: cp/decl.c:3528
#, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr ""
-#: cp/decl.c:3565
+#: cp/decl.c:3530
#, c-format
msgid "than previous declaration `%F'"
msgstr ""
@@ -13868,15 +14310,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:3670
msgid "explicit specialization of %D after first use"
msgstr ""
-#: cp/decl.c:3943
+#: cp/decl.c:3926
msgid "`%#D' used prior to declaration"
msgstr ""
-#: cp/decl.c:3974
+#: cp/decl.c:3957
msgid "redeclaration of `wchar_t' as `%T'"
msgstr ""
@@ -13886,856 +14328,912 @@ msgstr ""
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:4002
+#: cp/decl.c:3985
msgid "invalid redeclaration of `%D'"
msgstr ""
-#: cp/decl.c:4003
+#: cp/decl.c:3986
msgid "as `%D'"
msgstr ""
-#: cp/decl.c:4093
+#: cp/decl.c:4076
msgid "previous external decl of `%#D'"
msgstr ""
-#: cp/decl.c:4134
+#: cp/decl.c:4117
msgid "`%D' was previously implicitly declared to return `int'"
msgstr ""
-#: cp/decl.c:4194
+#: cp/decl.c:4177
msgid "extern declaration of `%#D' doesn't match"
msgstr ""
-#: cp/decl.c:4195
+#: cp/decl.c:4178
msgid "global declaration `%#D'"
msgstr ""
-#: cp/decl.c:4226
+#: cp/decl.c:4211
msgid "declaration of `%#D' shadows a parameter"
msgstr ""
-#: cp/decl.c:4246
+#: cp/decl.c:4231
#, c-format
msgid "declaration of `%s' shadows a member of `this'"
msgstr ""
-#: cp/decl.c:4597
+#: cp/decl.c:4600
msgid "`%#D' hides constructor for `%#T'"
msgstr ""
-#: cp/decl.c:4612
+#: cp/decl.c:4615
msgid "`%#D' conflicts with previous using declaration `%#D'"
msgstr ""
-#: cp/decl.c:4624
+#: cp/decl.c:4627
msgid "previous non-function declaration `%#D'"
msgstr ""
-#: cp/decl.c:4625
+#: cp/decl.c:4628
msgid "conflicts with function declaration `%#D'"
msgstr ""
-#: cp/decl.c:4715
+#: cp/decl.c:4718
msgid "implicit declaration of function `%#D'"
msgstr ""
-#: cp/decl.c:4873
+#: cp/decl.c:4878
#, 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:4981 cp/decl.c:5005 cp/decl.c:5098
msgid "jump to label `%D'"
msgstr ""
-#: cp/decl.c:4978 cp/decl.c:5002
+#: cp/decl.c:4983 cp/decl.c:5007
msgid "jump to case label"
msgstr ""
-#: cp/decl.c:4986
+#: cp/decl.c:4991
msgid " crosses initialization of `%#D'"
msgstr ""
-#: cp/decl.c:4989 cp/decl.c:5109
+#: cp/decl.c:4994 cp/decl.c:5114
msgid " enters scope of non-POD `%#D'"
msgstr ""
-#: cp/decl.c:5009 cp/decl.c:5113
+#: cp/decl.c:5014 cp/decl.c:5118
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:5016 cp/decl.c:5110 cp/decl.c:5120
msgid " enters catch block"
msgstr ""
-#: cp/decl.c:5094
+#: cp/decl.c:5099
msgid " from here"
msgstr ""
-#: cp/decl.c:5107
+#: cp/decl.c:5112
msgid " skips initialization of `%#D'"
msgstr ""
-#: cp/decl.c:5142
+#: cp/decl.c:5149
msgid "label named wchar_t"
msgstr ""
-#: cp/decl.c:5146
+#: cp/decl.c:5153
msgid "duplicate label `%D'"
msgstr ""
-#: cp/decl.c:5231
+#: cp/decl.c:5239
#, 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:5424 cp/decl.c:5443
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:5536 cp/typeck.c:2071 cp/typeck.c:2226
msgid "invalid use of `%D'"
msgstr ""
-#: cp/decl.c:5556
+#: cp/decl.c:5577
msgid "`%D::%D' is not a template"
msgstr ""
-#: cp/decl.c:5573
+#: cp/decl.c:5594
msgid "`%D' undeclared in namespace `%D'"
msgstr ""
-#: cp/decl.c:5710
+#: cp/decl.c:5727
msgid "`%D' used without template parameters"
msgstr ""
-#: cp/decl.c:5721 cp/decl.c:5737 cp/decl.c:5825
+#: cp/decl.c:5738 cp/decl.c:5754 cp/decl.c:5864
msgid "no class template named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:5755 cp/decl.c:5785
+#: cp/decl.c:5780 cp/decl.c:5790 cp/decl.c:5825
msgid "no type named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:6008
+#: cp/decl.c:6054
msgid "lookup of `%D' finds `%#D'"
msgstr ""
-#: cp/decl.c:6010
+#: cp/decl.c:6056
msgid " instead of `%D' from dependent base class"
msgstr ""
-#: cp/decl.c:6012
+#: cp/decl.c:6058
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr ""
-#: cp/decl.c:6185
+#: cp/decl.c:6089
+msgid "name lookup of `%D' changed"
+msgstr ""
+
+#: cp/decl.c:6091
+msgid " matches this `%D' under ISO standard rules"
+msgstr ""
+
+#: cp/decl.c:6093
+msgid " matches this `%D' under old rules"
+msgstr ""
+
+#: cp/decl.c:6107 cp/decl.c:6114
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr ""
+
+#: cp/decl.c:6109
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
+msgstr ""
+
+#: cp/decl.c:6116
+msgid " using obsolete binding at `%D'"
+msgstr ""
+
+#: cp/decl.c:6305
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:7128
msgid "an anonymous union cannot have function members"
msgstr ""
-#: cp/decl.c:7041
+#: cp/decl.c:7145
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:7044
+#: cp/decl.c:7148
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:7047
+#: cp/decl.c:7151
msgid ""
"member %#D' with copy assignment operator not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:7085
+#: cp/decl.c:7189
msgid "redeclaration of C++ built-in type `%T'"
msgstr ""
-#: cp/decl.c:7120
+#: cp/decl.c:7225
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:7252
msgid "missing type-name in typedef-declaration"
msgstr ""
-#: cp/decl.c:7154
+#: cp/decl.c:7259
msgid "ISO C++ prohibits anonymous structs"
msgstr ""
-#: cp/decl.c:7161
+#: cp/decl.c:7266
msgid "`%D' can only be specified for functions"
msgstr ""
-#: cp/decl.c:7163
+#: cp/decl.c:7268
msgid "`%D' can only be specified inside a class"
msgstr ""
-#: cp/decl.c:7165
+#: cp/decl.c:7270
msgid "`%D' can only be specified for constructors"
msgstr ""
-#: cp/decl.c:7168
+#: cp/decl.c:7273
msgid "`%D' can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:7317
-msgid "typedef `%D' is initialized"
+#: cp/decl.c:7415 cp/decl2.c:936
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
msgstr ""
-#: cp/decl.c:7323
+#: cp/decl.c:7420
msgid "function `%#D' is initialized like a variable"
msgstr ""
-#: cp/decl.c:7335
+#: cp/decl.c:7432
msgid "declaration of `%#D' has `extern' and is initialized"
msgstr ""
-#: cp/decl.c:7369
+#: cp/decl.c:7466
msgid "`%#D' is not a static member of `%#T'"
msgstr ""
-#: cp/decl.c:7374
+#: cp/decl.c:7471
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
msgstr ""
-#: cp/decl.c:7385
+#: cp/decl.c:7482
msgid "duplicate initialization of %D"
msgstr ""
-#: cp/decl.c:7414
+#: cp/decl.c:7511
msgid "declaration of `%#D' outside of class is not definition"
msgstr ""
-#: cp/decl.c:7462
+#: cp/decl.c:7561
msgid "variable `%#D' has initializer but incomplete type"
msgstr ""
-#: cp/decl.c:7470 cp/decl.c:7821
+#: cp/decl.c:7569 cp/decl.c:8123
msgid "elements of array `%#D' have incomplete type"
msgstr ""
-#: cp/decl.c:7486
+#: cp/decl.c:7585
msgid "aggregate `%#D' has incomplete type and cannot be defined"
msgstr ""
-#: cp/decl.c:7525
+#: cp/decl.c:7624
msgid "`%D' declared as reference but not initialized"
msgstr ""
-#: cp/decl.c:7534
+#: cp/decl.c:7633
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
msgstr ""
-#: cp/decl.c:7567
+#: cp/decl.c:7663
msgid "cannot initialize `%T' from `%T'"
msgstr ""
-#: cp/decl.c:7628
+#: cp/decl.c:7697
msgid "initializer fails to determine size of `%D'"
msgstr ""
-#: cp/decl.c:7633
+#: cp/decl.c:7702
msgid "array size missing in `%D'"
msgstr ""
-#: cp/decl.c:7645
+#: cp/decl.c:7714
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:7752
msgid "storage size of `%D' isn't known"
msgstr ""
-#: cp/decl.c:7700
+#: cp/decl.c:7774
msgid "storage size of `%D' isn't constant"
msgstr ""
-#: cp/decl.c:7751
+#: cp/decl.c:7830
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:7831
msgid " you can work around this by removing the initializer"
msgstr ""
-#: cp/decl.c:7780
+#: cp/decl.c:7857
msgid "uninitialized const `%D'"
msgstr ""
-#: cp/decl.c:7815
+#: cp/decl.c:7941
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr ""
+
+#: cp/decl.c:8005
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr ""
+
+#: cp/decl.c:8020
+msgid "ISO C++ does not allow designated initializers"
+msgstr ""
+
+#: cp/decl.c:8024
+msgid "`%T' has no non-static data member named `%D'"
+msgstr ""
+
+#: cp/decl.c:8081
+msgid "too many initializers for `%T'"
+msgstr ""
+
+#: cp/decl.c:8117
msgid "variable-sized object `%D' may not be initialized"
msgstr ""
-#: cp/decl.c:7826 cp/typeck2.c:201
+#: cp/decl.c:8128
msgid "`%D' has incomplete type"
msgstr ""
-#: cp/decl.c:7858
+#: cp/decl.c:8177
msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr ""
-#: cp/decl.c:7888
+#: cp/decl.c:8218
msgid "structure `%D' with uninitialized const members"
msgstr ""
-#: cp/decl.c:7890
+#: cp/decl.c:8220
msgid "structure `%D' with uninitialized reference members"
msgstr ""
-#: cp/decl.c:8157
+#: cp/decl.c:8467
msgid "assignment (not initialization) in declaration"
msgstr ""
-#: cp/decl.c:8169
+#: cp/decl.c:8479
msgid "cannot initialize `%D' to namespace `%D'"
msgstr ""
-#: cp/decl.c:8226
+#: cp/decl.c:8530
msgid "shadowing previous type declaration of `%#D'"
msgstr ""
-#: cp/decl.c:8624
+#: cp/decl.c:8576
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+msgstr ""
+
+#: cp/decl.c:8591
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
+msgstr ""
+
+#: cp/decl.c:8986 cp/init.c:556
msgid "multiple initializations given for `%D'"
msgstr ""
-#: cp/decl.c:8724
+#: cp/decl.c:9078
msgid "invalid catch parameter"
msgstr ""
-#: cp/decl.c:8842
+#: cp/decl.c:9196
msgid "destructor for alien class `%T' cannot be a member"
msgstr ""
-#: cp/decl.c:8845
+#: cp/decl.c:9199
msgid "constructor for alien class `%T' cannot be a member"
msgstr ""
-#: cp/decl.c:8864
+#: cp/decl.c:9218
msgid "`%D' declared as a `virtual' %s"
msgstr ""
-#: cp/decl.c:8866
+#: cp/decl.c:9220
msgid "`%D' declared as an `inline' %s"
msgstr ""
-#: cp/decl.c:8868
+#: cp/decl.c:9222
msgid ""
"`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr ""
-#: cp/decl.c:8871
+#: cp/decl.c:9225
msgid "`%D' declared as a friend"
msgstr ""
-#: cp/decl.c:8877
+#: cp/decl.c:9231
msgid "`%D' declared with an exception specification"
msgstr ""
-#: cp/decl.c:8952
+#: cp/decl.c:9306
msgid "cannot declare `::main' to be a template"
msgstr ""
-#: cp/decl.c:8954
+#: cp/decl.c:9308
msgid "cannot declare `::main' to be inline"
msgstr ""
-#: cp/decl.c:8956
+#: cp/decl.c:9310
msgid "cannot declare `::main' to be static"
msgstr ""
-#: cp/decl.c:8959
+#: cp/decl.c:9313
msgid "`main' must return `int'"
msgstr ""
-#: cp/decl.c:8987
+#: cp/decl.c:9341
msgid "non-local function `%#D' uses anonymous type"
msgstr ""
-#: cp/decl.c:8990
+#: cp/decl.c:9344
msgid ""
"`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr ""
-#: cp/decl.c:8996
+#: cp/decl.c:9350
msgid "non-local function `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:9019
+#: cp/decl.c:9379
msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr ""
-#: cp/decl.c:9043
+#: cp/decl.c:9403
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:9413
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/decl.c:9081
+#: cp/decl.c:9441
msgid ""
"default arguments are not allowed in declaration of friend template "
"specialization `%D'"
msgstr ""
-#: cp/decl.c:9088
+#: cp/decl.c:9448
msgid ""
"`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:9150
+#: cp/decl.c:9510
msgid "definition of implicitly-declared `%D'"
msgstr ""
-#: cp/decl.c:9162 cp/decl2.c:1358
+#: cp/decl.c:9522 cp/decl2.c:785
msgid "no `%#D' member function declared in class `%T'"
msgstr ""
-#: cp/decl.c:9281
+#: cp/decl.c:9655
msgid "non-local variable `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:9371
+#: cp/decl.c:9752
msgid ""
"invalid in-class initialization of static data member of non-integral type `%"
"T'"
msgstr ""
-#: cp/decl.c:9380
+#: cp/decl.c:9761
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
msgstr ""
-#: cp/decl.c:9383
+#: cp/decl.c:9764
msgid ""
"ISO C++ forbids initialization of member constant `%D' of non-integral type `"
"%T'"
msgstr ""
-#: cp/decl.c:9433
+#: cp/decl.c:9814
msgid "size of array `%D' has non-integer type"
msgstr ""
-#: cp/decl.c:9435
+#: cp/decl.c:9816
msgid "size of array has non-integer type"
msgstr ""
-#: cp/decl.c:9455
+#: cp/decl.c:9836
msgid "size of array `%D' is negative"
msgstr ""
-#: cp/decl.c:9457
+#: cp/decl.c:9838
msgid "size of array is negative"
msgstr ""
-#: cp/decl.c:9466
+#: cp/decl.c:9847
msgid "ISO C++ forbids zero-size array `%D'"
msgstr ""
-#: cp/decl.c:9468
+#: cp/decl.c:9849
msgid "ISO C++ forbids zero-size array"
msgstr ""
-#: cp/decl.c:9475
+#: cp/decl.c:9856
msgid "size of array `%D' is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:9478
+#: cp/decl.c:9859
msgid "size of array is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:9496
+#: cp/decl.c:9877
msgid "ISO C++ forbids variable-size array `%D'"
msgstr ""
-#: cp/decl.c:9499
+#: cp/decl.c:9880
msgid "ISO C++ forbids variable-size array"
msgstr ""
-#: cp/decl.c:9510
+#: cp/decl.c:9891
msgid "overflow in array dimension"
msgstr ""
-#: cp/decl.c:9569
+#: cp/decl.c:9950
msgid "declaration of `%D' as %s"
msgstr ""
-#: cp/decl.c:9571
+#: cp/decl.c:9952
#, c-format
msgid "creating %s"
msgstr ""
-#: cp/decl.c:9583
+#: cp/decl.c:9964
msgid ""
"declaration of `%D' as multidimensional array must have bounds for all "
"dimensions except the first"
msgstr ""
-#: cp/decl.c:9586
+#: cp/decl.c:9967
msgid ""
"multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9615
+#: cp/decl.c:9996
msgid "return type specification for constructor invalid"
msgstr ""
-#: cp/decl.c:9622
+#: cp/decl.c:10003
msgid "return type specification for destructor invalid"
msgstr ""
-#: cp/decl.c:9628
+#: cp/decl.c:10009
msgid "operator `%T' declared to return `%T'"
msgstr ""
-#: cp/decl.c:9630
+#: cp/decl.c:10011
msgid "return type specified for `operator %T'"
msgstr ""
-#: cp/decl.c:9798
+#: cp/decl.c:10179
msgid "destructors must be member functions"
msgstr ""
-#: cp/decl.c:9817
+#: cp/decl.c:10198
msgid "destructor `%T' must match class name `%T'"
msgstr ""
-#: cp/decl.c:9867
+#: cp/decl.c:10227
+msgid "variable declaration is not allowed here"
+msgstr ""
+
+#: cp/decl.c:10254
msgid "invalid declarator"
msgstr ""
-#: cp/decl.c:9920
+#: cp/decl.c:10305
msgid "declarator-id missing; using reserved word `%D'"
msgstr ""
-#: cp/decl.c:9977
+#: cp/decl.c:10362
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:10414
msgid "`%T' specified as declarator-id"
msgstr ""
-#: cp/decl.c:10025
+#: cp/decl.c:10416
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:10438
+#, c-format
+msgid "invalid use of template-name '%E' in a declarator"
msgstr ""
-#: cp/decl.c:10054
+#: cp/decl.c:10458
msgid "declaration of `%D' as non-function"
msgstr ""
-#: cp/decl.c:10131
+#: cp/decl.c:10535
msgid "`bool' is now a keyword"
msgstr ""
-#: cp/decl.c:10133
+#: cp/decl.c:10537
msgid "extraneous `%T' ignored"
msgstr ""
-#: cp/decl.c:10149 cp/decl.c:10182
+#: cp/decl.c:10553 cp/decl.c:10598
msgid "multiple declarations `%T' and `%T'"
msgstr ""
-#: cp/decl.c:10162
+#: cp/decl.c:10566
msgid "ISO C++ does not support `long long'"
msgstr ""
-#: cp/decl.c:10255 cp/decl.c:10258
+#: cp/decl.c:10671 cp/decl.c:10674
#, 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:10684
msgid "`%T' is implicitly a typename"
msgstr ""
-#: cp/decl.c:10304
+#: cp/decl.c:10720
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr ""
-#: cp/decl.c:10309
+#: cp/decl.c:10725
#, c-format
msgid "long and short specified together for `%s'"
msgstr ""
-#: cp/decl.c:10320
+#: cp/decl.c:10736
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr ""
-#: cp/decl.c:10429
+#: cp/decl.c:10845
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr ""
-#: cp/decl.c:10451
+#: cp/decl.c:10867
msgid "member `%D' cannot be declared both virtual and static"
msgstr ""
-#: cp/decl.c:10460
+#: cp/decl.c:10876
msgid "`%T::%D' is not a valid declarator"
msgstr ""
-#: cp/decl.c:10471
+#: cp/decl.c:10888
msgid "storage class specifiers invalid in parameter declarations"
msgstr ""
-#: cp/decl.c:10475
+#: cp/decl.c:10892
msgid "typedef declaration invalid in parameter declaration"
msgstr ""
-#: cp/decl.c:10488
+#: cp/decl.c:10905
msgid "virtual outside class declaration"
msgstr ""
-#: cp/decl.c:10542
+#: cp/decl.c:10966
#, c-format
msgid "storage class specified for %s `%s'"
msgstr ""
-#: cp/decl.c:10580
+#: cp/decl.c:11013
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:11183
msgid "destructor cannot be static member function"
msgstr ""
-#: cp/decl.c:10766
+#: cp/decl.c:11186
#, c-format
msgid "destructors may not be `%s'"
msgstr ""
-#: cp/decl.c:10787
+#: cp/decl.c:11207
msgid "constructor cannot be static member function"
msgstr ""
-#: cp/decl.c:10790
+#: cp/decl.c:11210
msgid "constructors cannot be declared virtual"
msgstr ""
-#: cp/decl.c:10795
+#: cp/decl.c:11215
#, c-format
msgid "constructors may not be `%s'"
msgstr ""
-#: cp/decl.c:10805
+#: cp/decl.c:11225
msgid "return value type specifier for constructor ignored"
msgstr ""
-#: cp/decl.c:10824
+#: cp/decl.c:11244
#, c-format
msgid "can't initialize friend function `%s'"
msgstr ""
#. Cannot be both friend and virtual.
-#: cp/decl.c:10828
+#: cp/decl.c:11248
msgid "virtual functions cannot be friends"
msgstr ""
-#: cp/decl.c:10833
+#: cp/decl.c:11253
msgid "friend declaration not in class definition"
msgstr ""
-#: cp/decl.c:10835
+#: cp/decl.c:11255
#, c-format
msgid "can't define friend function `%s' in a local class definition"
msgstr ""
-#: cp/decl.c:10859
+#: cp/decl.c:11279
msgid "destructors may not have parameters"
msgstr ""
-#: cp/decl.c:10889
-#, c-format
-msgid "cannot declare %s to references"
+#: cp/decl.c:11310 cp/decl.c:11317
+msgid "cannot declare reference to `%#T'"
msgstr ""
-#: cp/decl.c:10900
-msgid "cannot declare pointer to `%#T' member"
+#: cp/decl.c:11311
+msgid "cannot declare pointer to `%#T'"
msgstr ""
-#: cp/decl.c:10915
-msgid "invalid type: `void &'"
+#: cp/decl.c:11316
+msgid "cannot declare pointer to `%#T' member"
msgstr ""
-#: cp/decl.c:11077
+#: cp/decl.c:11492
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr ""
-#: cp/decl.c:11087
+#: cp/decl.c:11502
msgid "cannot declare member function `%T::%s' within `%T'"
msgstr ""
-#: cp/decl.c:11102
+#: cp/decl.c:11517
msgid "cannot declare member `%T::%s' within `%T'"
msgstr ""
+#: cp/decl.c:11596
+msgid "data member may not have variably modified type `%T'"
+msgstr ""
+
+#: cp/decl.c:11598
+msgid "parameter 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:11606
msgid "only declarations of constructors can be `explicit'"
msgstr ""
-#: cp/decl.c:11190
+#: cp/decl.c:11614
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11195
+#: cp/decl.c:11619
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11201
+#: cp/decl.c:11625
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11206
+#: cp/decl.c:11630
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11211
+#: cp/decl.c:11635
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11224
+#: cp/decl.c:11648
msgid "template-id `%D' used as a declarator"
msgstr ""
-#: cp/decl.c:11245
+#: cp/decl.c:11669
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11292
+#: cp/decl.c:11718
msgid "typedef name may not be class-qualified"
msgstr ""
-#: cp/decl.c:11300
+#: cp/decl.c:11726
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:11789
msgid "type qualifiers specified for friend class declaration"
msgstr ""
-#: cp/decl.c:11371
+#: cp/decl.c:11794
msgid "`inline' specified for friend class declaration"
msgstr ""
-#: cp/decl.c:11381
+#: cp/decl.c:11802
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:11804
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
msgstr ""
-#: cp/decl.c:11388
+#: cp/decl.c:11808
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr ""
-#: cp/decl.c:11402
+#: cp/decl.c:11822
msgid "trying to make class `%T' a friend of global scope"
msgstr ""
-#: cp/decl.c:11413
+#: cp/decl.c:11833
msgid "invalid qualifiers on non-member function type"
msgstr ""
-#: cp/decl.c:11432
+#: cp/decl.c:11852
msgid "abstract declarator `%T' used as declaration"
msgstr ""
-#: cp/decl.c:11444
+#: cp/decl.c:11864
msgid "unnamed variable or field declared void"
msgstr ""
-#: cp/decl.c:11453
+#: cp/decl.c:11873
msgid "variable or field declared void"
msgstr ""
-#: cp/decl.c:11463
+#: cp/decl.c:11883
msgid "cannot use `::' in parameter declaration"
msgstr ""
#. Something like struct S { int N::j; };
-#: cp/decl.c:11509
+#: cp/decl.c:11922
msgid "invalid use of `::'"
msgstr ""
-#: cp/decl.c:11521
+#: cp/decl.c:11934
msgid "function `%D' cannot be declared friend"
msgstr ""
-#: cp/decl.c:11533
+#: cp/decl.c:11946
msgid "can't make `%D' into a method -- not in a class"
msgstr ""
-#: cp/decl.c:11542
+#: cp/decl.c:11955
msgid "function `%D' declared virtual inside a union"
msgstr ""
-#: cp/decl.c:11554
+#: cp/decl.c:11967
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr ""
-#: cp/decl.c:11627
+#: cp/decl.c:12040
msgid "field `%D' has incomplete type"
msgstr ""
-#: cp/decl.c:11629
+#: cp/decl.c:12042
msgid "name `%T' has incomplete type"
msgstr ""
-#: cp/decl.c:11638
+#: cp/decl.c:12051
msgid " in instantiation of template `%T'"
msgstr ""
-#: cp/decl.c:11648
+#: cp/decl.c:12061
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr ""
-#: cp/decl.c:11659
+#: cp/decl.c:12072
msgid "member functions are implicitly friends of their class"
msgstr ""
@@ -14751,101 +15249,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:12119
msgid "ISO C++ forbids initialization of member `%D'"
msgstr ""
-#: cp/decl.c:11708
+#: cp/decl.c:12121
msgid "making `%D' static"
msgstr ""
-#: cp/decl.c:11732
+#: cp/decl.c:12145
msgid ""
"ISO C++ forbids static data member `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11773
+#: cp/decl.c:12186
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr ""
-#: cp/decl.c:11775
+#: cp/decl.c:12188
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr ""
-#: cp/decl.c:11786
+#: cp/decl.c:12190
+#, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr ""
+
+#: cp/decl.c:12201
#, c-format
msgid ""
"storage class `static' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cp/decl.c:11788
+#: cp/decl.c:12203
#, c-format
msgid ""
"storage class `inline' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cp/decl.c:11795
+#: cp/decl.c:12210
#, c-format
msgid "virtual non-class function `%s'"
msgstr ""
-#: cp/decl.c:11824
+#: cp/decl.c:12239
msgid "cannot declare member function `%D' to have static linkage"
msgstr ""
#. FIXME need arm citation
-#: cp/decl.c:11830
+#: cp/decl.c:12245
msgid "cannot declare static function inside another function"
msgstr ""
-#: cp/decl.c:11858
+#: cp/decl.c:12273
msgid ""
"`static' may not be used when defining (as opposed to declaring) a static "
"data member"
msgstr ""
-#: cp/decl.c:11864
+#: cp/decl.c:12279
msgid "static member `%D' declared `register'"
msgstr ""
-#: cp/decl.c:11869
+#: cp/decl.c:12284
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr ""
-#: cp/decl.c:12041
+#: cp/decl.c:12459
msgid "default argument for `%#D' has type `%T'"
msgstr ""
-#: cp/decl.c:12044
+#: cp/decl.c:12462
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr ""
-#: cp/decl.c:12061
+#: cp/decl.c:12479
msgid "default argument `%E' uses local variable `%D'"
msgstr ""
-#: cp/decl.c:12106
+#: cp/decl.c:12524
#, c-format
msgid "invalid string constant `%E'"
msgstr ""
-#: cp/decl.c:12108
+#: cp/decl.c:12526
msgid ""
"invalid integer constant in parameter list, did you forget to give parameter "
"name?"
msgstr ""
-#: cp/decl.c:12146
+#: cp/decl.c:12564
msgid "parameter `%D' invalidly declared method type"
msgstr ""
-#: cp/decl.c:12152
+#: cp/decl.c:12570
msgid "parameter `%D' invalidly declared offset type"
msgstr ""
-#: cp/decl.c:12176
+#: cp/decl.c:12594
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr ""
@@ -14864,708 +15367,687 @@ 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:12756
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr ""
-#: cp/decl.c:12494
+#: cp/decl.c:12907
msgid "`%D' must be a nonstatic member function"
msgstr ""
-#: cp/decl.c:12500
+#: cp/decl.c:12913
msgid ""
"`%D' must be either a non-static member function or a non-member function"
msgstr ""
-#: cp/decl.c:12517
+#: cp/decl.c:12930
msgid "`%D' must have an argument of class or enumerated type"
msgstr ""
-#: cp/decl.c:12549
+#: cp/decl.c:12962
#, 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:12969
msgid "ISO C++ prohibits overloading operator ?:"
msgstr ""
-#: cp/decl.c:12606
+#: cp/decl.c:13019
msgid "postfix `%D' must take `int' as its argument"
msgstr ""
-#: cp/decl.c:12610
+#: cp/decl.c:13023
msgid "postfix `%D' must take `int' as its second argument"
msgstr ""
-#: cp/decl.c:12617
+#: cp/decl.c:13030
msgid "`%D' must take either zero or one argument"
msgstr ""
-#: cp/decl.c:12619
+#: cp/decl.c:13032
msgid "`%D' must take either one or two arguments"
msgstr ""
-#: cp/decl.c:12640
+#: cp/decl.c:13053
msgid "prefix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12646
+#: cp/decl.c:13059
msgid "postfix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12655
+#: cp/decl.c:13068
msgid "`%D' must take `void'"
msgstr ""
-#: cp/decl.c:12657 cp/decl.c:12665
+#: cp/decl.c:13070 cp/decl.c:13078
msgid "`%D' must take exactly one argument"
msgstr ""
-#: cp/decl.c:12667
+#: cp/decl.c:13080
msgid "`%D' must take exactly two arguments"
msgstr ""
-#: cp/decl.c:12675
+#: cp/decl.c:13088
msgid "user-defined `%D' always evaluates both arguments"
msgstr ""
-#: cp/decl.c:12687
+#: cp/decl.c:13102
msgid "`%D' should return by value"
msgstr ""
-#: cp/decl.c:12699 cp/decl.c:12702
+#: cp/decl.c:13114 cp/decl.c:13117
msgid "`%D' cannot have default arguments"
msgstr ""
-#: cp/decl.c:12793
-msgid "`%s %T' declares a new type at namespace scope"
+#: cp/decl.c:13160
+msgid "using typedef-name `%D' after `%s'"
msgstr ""
-#: cp/decl.c:12796
-msgid ""
-" names from dependent base classes are not visible to unqualified name "
-"lookup - to refer to the inherited type, say `%s %T::%T'"
+#: cp/decl.c:13166
+msgid "using template type parameter `%T' after `%s'"
msgstr ""
-#: cp/decl.c:12834
-msgid "using typedef-name `%D' after `%s'"
+#: cp/decl.c:13227
+msgid "`%s %T' declares a new type at namespace scope"
msgstr ""
-#: cp/decl.c:12839
-msgid "using template type parameter `%T' after `%s'"
+#: cp/decl.c:13230
+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:12919
+#: cp/decl.c:13348
msgid "use of enum `%#D' without previous declaration"
msgstr ""
-#: cp/decl.c:13017
+#: cp/decl.c:13434
msgid "derived union `%T' invalid"
msgstr ""
-#: cp/decl.c:13061
+#: cp/decl.c:13480
msgid "base type `%T' fails to be a struct or class type"
msgstr ""
-#: cp/decl.c:13071
+#: cp/decl.c:13490
msgid "base class `%T' has incomplete type"
msgstr ""
-#: cp/decl.c:13079
+#: cp/decl.c:13498
msgid "recursive type `%T' undefined"
msgstr ""
-#: cp/decl.c:13081
+#: cp/decl.c:13500
msgid "duplicate base type `%T' invalid"
msgstr ""
-#: cp/decl.c:13192
+#: cp/decl.c:13611
msgid "multiple definition of `%#T'"
msgstr ""
-#: cp/decl.c:13193
+#: cp/decl.c:13612
msgid "previous definition here"
msgstr ""
-#: cp/decl.c:13364
+#: cp/decl.c:13779
msgid "enumerator value for `%D' not integer constant"
msgstr ""
-#: cp/decl.c:13384
+#: cp/decl.c:13799
msgid "overflow in enumeration values at `%D'"
msgstr ""
-#: cp/decl.c:13470
+#: cp/decl.c:13868
msgid "return type `%#T' is incomplete"
msgstr ""
-#: cp/decl.c:13586
+#: cp/decl.c:13982
msgid "semicolon missing after declaration of `%#T'"
msgstr ""
-#: cp/decl.c:13607
+#: cp/decl.c:14003
msgid "return type for `main' changed to `int'"
msgstr ""
-#: cp/decl.c:13638
+#: cp/decl.c:14034
msgid "`%D' implicitly declared before its definition"
msgstr ""
-#: cp/decl.c:13660 cp/typeck.c:6541
+#: cp/decl.c:14056 cp/typeck.c:6258
msgid "`operator=' should return a reference to `*this'"
msgstr ""
-#: cp/decl.c:13924
+#: cp/decl.c:14316
msgid "parameter `%D' declared void"
msgstr ""
-#: cp/decl.c:14392
+#: cp/decl.c:14804
msgid "`%D' is already defined in class `%T'"
msgstr ""
-#: cp/decl.c:14609
+#: cp/decl.c:15022
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:153
#, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr ""
-#: cp/decl2.c:791
+#: cp/decl2.c:192
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:797
+#: cp/decl2.c:198
msgid "template `%#D' defined in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:954
+#: cp/decl2.c:365
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:428
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr ""
-#: cp/decl2.c:1048 cp/decl2.c:1062
+#: cp/decl2.c:459 cp/decl2.c:473
msgid "ambiguous conversion for array subscript"
msgstr ""
-#: cp/decl2.c:1056
+#: cp/decl2.c:467
msgid "invalid types `%T[%T]' for array subscript"
msgstr ""
-#: cp/decl2.c:1104
+#: cp/decl2.c:515
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr ""
-#: cp/decl2.c:1112
+#: cp/decl2.c:523
msgid "anachronistic use of array size in vector delete"
msgstr ""
-#: cp/decl2.c:1122
+#: cp/decl2.c:533
msgid ""
"cannot delete a function. Only pointer-to-objects are valid arguments to "
"`delete'"
msgstr ""
-#: cp/decl2.c:1129
+#: cp/decl2.c:540
msgid "deleting `%T' is undefined"
msgstr ""
-#: cp/decl2.c:1137
+#: cp/decl2.c:548
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:582
msgid "invalid declaration of member template `%#D' in local class"
msgstr ""
-#: cp/decl2.c:1180
+#: cp/decl2.c:591
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr ""
-#: cp/decl2.c:1190 cp/pt.c:2584
+#: cp/decl2.c:601 cp/pt.c:2742
msgid "template declaration of `%#D'"
msgstr ""
-#: cp/decl2.c:1240
+#: cp/decl2.c:651
msgid "Java method '%D' has non-Java return type `%T'"
msgstr ""
-#: cp/decl2.c:1249
+#: cp/decl2.c:660
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr ""
-#: cp/decl2.c:1345
+#: cp/decl2.c:746
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:828
msgid "local class `%#T' shall not have static data member `%#D'"
msgstr ""
-#: cp/decl2.c:1410
+#: cp/decl2.c:836
msgid "initializer invalid for static member with constructor"
msgstr ""
-#: cp/decl2.c:1413
+#: cp/decl2.c:839
msgid "(an out of class initialization is required)"
msgstr ""
-#: cp/decl2.c:1472
+#: cp/decl2.c:898
msgid "invalid data member initialization"
msgstr ""
-#: cp/decl2.c:1475
+#: cp/decl2.c:901
msgid "(use `=' to initialize static data members)"
msgstr ""
-#: cp/decl2.c:1515
+#: cp/decl2.c:947
msgid "member `%D' conflicts with virtual function table field name"
msgstr ""
-#: cp/decl2.c:1535
+#: cp/decl2.c:967
msgid "`%D' is already defined in `%T'"
msgstr ""
-#: cp/decl2.c:1586
+#: cp/decl2.c:1019
msgid "field initializer is not constant"
msgstr ""
-#: cp/decl2.c:1609
+#: cp/decl2.c:1043
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr ""
-#: cp/decl2.c:1661
+#: cp/decl2.c:1095
msgid "cannot declare `%D' to be a bit-field type"
msgstr ""
-#: cp/decl2.c:1671
+#: cp/decl2.c:1105
msgid "cannot declare bit-field `%D' with function type"
msgstr ""
-#: cp/decl2.c:1678
+#: cp/decl2.c:1112
msgid "`%D' is already defined in the class %T"
msgstr ""
-#: cp/decl2.c:1685
+#: cp/decl2.c:1119
msgid "static member `%D' cannot be a bit-field"
msgstr ""
-#: cp/decl2.c:1754
+#: cp/decl2.c:1206
msgid "initializer specified for non-member function `%D'"
msgstr ""
-#: cp/decl2.c:1758
+#: cp/decl2.c:1210
msgid "invalid initializer for virtual method `%D'"
msgstr ""
-#: cp/decl2.c:1862
+#: cp/decl2.c:1324
msgid "anonymous struct not inside named type"
msgstr ""
-#: cp/decl2.c:1958
+#: cp/decl2.c:1420
msgid "namespace-scope anonymous aggregates must be static"
msgstr ""
-#: cp/decl2.c:1968
+#: cp/decl2.c:1433
msgid "anonymous aggregate with no members"
msgstr ""
-#: cp/decl2.c:2035
+#: cp/decl2.c:1502
msgid "`operator new' must return type `%T'"
msgstr ""
-#: cp/decl2.c:2043
+#: cp/decl2.c:1510
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr ""
-#: cp/decl2.c:2070
+#: cp/decl2.c:1537
msgid "`operator delete' must return type `%T'"
msgstr ""
-#: cp/decl2.c:2078
+#: cp/decl2.c:1545
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:2288
msgid "too many initialization functions required"
msgstr ""
-#: cp/decl2.c:3639
+#: cp/decl2.c:3011
+msgid "inline function `%D' used but never defined"
+msgstr ""
+
+#: cp/decl2.c:3131
msgid "use of old-style cast"
msgstr ""
-#: cp/decl2.c:4220
+#: cp/decl2.c:3856
msgid "use of `%D' is ambiguous"
msgstr ""
-#: cp/decl2.c:4221
+#: cp/decl2.c:3857
msgid " first declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4224
+#: cp/decl2.c:3860
msgid " also declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4239
+#: cp/decl2.c:3875
msgid "`%D' denotes an ambiguous type"
msgstr ""
-#: cp/decl2.c:4240
+#: cp/decl2.c:3876
msgid " first type here"
msgstr ""
-#: cp/decl2.c:4241
+#: cp/decl2.c:3877
msgid " other type here"
msgstr ""
-#: cp/decl2.c:4338
+#: cp/decl2.c:3978
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr ""
-#: cp/decl2.c:4372
+#: cp/decl2.c:4012
msgid "`%D' should have been declared inside `%D'"
msgstr ""
-#: cp/decl2.c:4506
+#: cp/decl2.c:4146
msgid "`%D' is not a function,"
msgstr ""
-#: cp/decl2.c:4507
+#: cp/decl2.c:4147
msgid " conflict with `%D'"
msgstr ""
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4821
+#: cp/decl2.c:4467
msgid "unknown namespace `%D'"
msgstr ""
-#: cp/decl2.c:4855 cp/decl2.c:5125
+#: cp/decl2.c:4501 cp/decl2.c:4788
msgid "`%T' is not a namespace"
msgstr ""
-#: cp/decl2.c:4857
+#: cp/decl2.c:4503
msgid "`%D' is not a namespace"
msgstr ""
-#: cp/decl2.c:4866
+#: cp/decl2.c:4512
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr ""
-#: cp/decl2.c:4880
+#: cp/decl2.c:4526
msgid "namespace `%D' not allowed in using-declaration"
msgstr ""
-#: cp/decl2.c:4909
+#: cp/decl2.c:4555
msgid "`%D' not declared"
msgstr ""
-#: cp/decl2.c:4960
+#. If the OLD_FN was really declared, the
+#. declarations don't match.
+#: cp/decl2.c:4567 cp/decl2.c:4609 cp/decl2.c:4634
msgid "`%D' is already declared in this scope"
msgstr ""
-#: cp/decl2.c:4987
+#: cp/decl2.c:4640
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr ""
-#: cp/decl2.c:5078
+#: cp/decl2.c:4734
msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cp/decl2.c:5084
+#: cp/decl2.c:4740
msgid "using-declaration for destructor"
msgstr ""
-#: cp/decl2.c:5090
+#: cp/decl2.c:4746
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr ""
-#: cp/decl2.c:5119
+#: cp/decl2.c:4782
msgid "namespace `%T' undeclared"
msgstr ""
-#: cp/decl2.c:5148
+#: cp/decl2.c:4811
msgid "default argument missing for parameter %P of `%+#D'"
msgstr ""
-#: cp/decl2.c:5238
+#: cp/decl2.c:4935
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr ""
-#: cp/decl2.c:5242
+#: cp/decl2.c:4939
msgid "`%T' does not have a class or union named `%D'"
msgstr ""
-#: cp/decl2.c:5255
+#: cp/decl2.c:4957
msgid "`%T' is not a class or union type"
msgstr ""
-#: cp/error.c:36
+#: cp/decl2.c:4971
+msgid "template argument is required for `%T'"
+msgstr ""
+
+#: cp/decl2.c:4989
+msgid "declaration of `%D' in `%D' which does not enclose `%D'"
+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:810
#, c-format
msgid "(static %s for %s)"
msgstr ""
-#: cp/error.c:2434
+#: cp/error.c:1503
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2463
#, c-format
msgid "In %s `%s':"
msgstr ""
-#: cp/error.c:2489
+#: cp/error.c:2520
#, c-format
msgid "%s: In instantiation of `%s':\n"
msgstr ""
-#: cp/error.c:2513
+#: cp/error.c:2544
#, c-format
msgid "%s:%d: instantiated from `%s'\n"
msgstr ""
-#: cp/error.c:2518
+#: cp/error.c:2549
#, c-format
msgid "%s:%d: instantiated from here\n"
msgstr ""
#. damn ICE suppression
-#: cp/error.c:2671
+#: cp/error.c:2703
#, 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 ""
-#: cp/friend.c:155
+#: cp/friend.c:159
msgid "`%D' is already a friend of class `%T'"
msgstr ""
-#: cp/friend.c:157
+#: cp/friend.c:161
msgid "previous friend declaration of `%D'"
msgstr ""
-#: cp/friend.c:197
+#: cp/friend.c:206
msgid "invalid type `%T' declared `friend'"
msgstr ""
#. [temp.friend]
-#.
#. Friend declarations shall not declare partial
#. specializations.
-#: cp/friend.c:209
+#: cp/friend.c:222
msgid "partial specialization `%T' declared `friend'"
msgstr ""
-#: cp/friend.c:221
+#: cp/friend.c:231
msgid "class `%T' is implicitly friends with itself"
msgstr ""
#. template <class T> friend typename S<T>::X;
-#: cp/friend.c:239
+#: cp/friend.c:249
msgid "typename type `%#T' declared `friend'"
msgstr ""
#. template <class T> friend class T;
-#: cp/friend.c:245
+#: cp/friend.c:255
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:261
msgid "`%#T' is not a template"
msgstr ""
-#: cp/friend.c:266
+#: cp/friend.c:276
msgid "`%T' is already a friend of `%T'"
msgstr ""
-#: cp/friend.c:362
+#: cp/friend.c:374
msgid "member `%D' declared as friend before type `%T' defined"
msgstr ""
-#: cp/friend.c:417
+#: cp/friend.c:429
msgid "friend declaration `%#D' declares a non-template function"
msgstr ""
-#: cp/friend.c:420
+#: cp/friend.c:432
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:211 java/jvspec.c:423
#, c-format
msgid "argument to `%s' missing\n"
msgstr ""
-#: cp/init.c:264
-msgid "default-initialization of `%#D', which has reference type"
-msgstr ""
-
-#: cp/init.c:269
-msgid "uninitialized reference member `%D'"
+#: cp/init.c:328
+msgid "`%D' should be initialized in the member initialization list"
msgstr ""
-#: cp/init.c:277
-msgid "initializer list treated as compound expression"
+#: cp/init.c:378
+msgid "default-initialization of `%#D', which has reference type"
msgstr ""
-#: cp/init.c:389
-msgid "member initializers for `%#D'"
+#: cp/init.c:383
+msgid "uninitialized reference member `%D'"
msgstr ""
#: cp/init.c:391
-msgid " and `%#D'"
-msgstr ""
-
-#: cp/init.c:392
-msgid " will be re-ordered to match declaration order"
+msgid "initializer list treated as compound expression"
msgstr ""
-#: cp/init.c:407
-msgid "multiple initializations given for member `%D'"
+#: cp/init.c:532
+msgid "`%D' will be initialized after"
msgstr ""
-#: cp/init.c:479
-msgid "initializations for multiple members of `%T'"
+#: cp/init.c:535
+msgid "base `%T' will be initialized after"
msgstr ""
-#: cp/init.c:596
-msgid "base initializers for `%#T'"
+#: cp/init.c:538
+msgid " `%#D'"
msgstr ""
-#: cp/init.c:597
-msgid " and `%#T'"
+#: cp/init.c:540
+msgid " base `%T'"
msgstr ""
-#: cp/init.c:598
-msgid " will be re-ordered to match inheritance order"
+#: cp/init.c:558
+msgid "multiple initializations given for base `%T'"
msgstr ""
-#: cp/init.c:610
-msgid "base class `%T' already initialized"
+#: cp/init.c:625
+msgid "initializations for multiple members of `%T'"
msgstr ""
-#: cp/init.c:681
+#: cp/init.c:682
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:928
msgid "class `%T' does not have any field named `%D'"
msgstr ""
-#: cp/init.c:972
+#: cp/init.c:934
msgid ""
"field `%#D' is static; the only point of initialization is its definition"
msgstr ""
-#: cp/init.c:1011
+#: cp/init.c:967
msgid "unnamed initializer for `%T', which has no base classes"
msgstr ""
-#: cp/init.c:1018
+#: cp/init.c:974
msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr ""
-#: cp/init.c:1047
+#: cp/init.c:1009
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr ""
-#: cp/init.c:1050
+#: cp/init.c:1012
msgid "type `%D' is not a direct base of `%T'"
msgstr ""
@@ -15581,554 +16063,532 @@ msgstr ""
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1144
+#: cp/init.c:1106
msgid "bad array initializer"
msgstr ""
-#: cp/init.c:1356
+#: cp/init.c:1313
msgid "`%T' is not an aggregate type"
msgstr ""
-#: cp/init.c:1379
+#: cp/init.c:1336
msgid "`%T' fails to be an aggregate typedef"
msgstr ""
-#: cp/init.c:1388
+#: cp/init.c:1345
msgid "type `%T' is of non-aggregate type"
msgstr ""
-#: cp/init.c:1490
+#: cp/init.c:1448
msgid "cannot call destructor `%T::~%T' without object"
msgstr ""
-#: cp/init.c:1529
+#: cp/init.c:1492
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:1501 cp/method.c:160
msgid "invalid use of member `%D'"
msgstr ""
-#: cp/init.c:1548
+#: cp/init.c:1511
msgid "no method `%T::%D'"
msgstr ""
-#: cp/init.c:1641
+#: cp/init.c:1604
msgid "incomplete type `%T' does not have member `%D'"
msgstr ""
-#: cp/init.c:1710
+#: cp/init.c:1678
msgid "`%D' is not a member of type `%T'"
msgstr ""
-#: cp/init.c:1729
-msgid "illegal pointer to bit-field `%D'"
+#: cp/init.c:1697
+msgid "invalid pointer to bit-field `%D'"
msgstr ""
-#: cp/init.c:1768
+#: cp/init.c:1736
msgid "object missing in use of pointer-to-member construct"
msgstr ""
-#: cp/init.c:1808
+#: cp/init.c:1776
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:1778 cp/typeck.c:2823 cp/typeck.c:2927
msgid "at this point in file"
msgstr ""
-#: cp/init.c:1845 cp/typeck.c:2941
+#: cp/init.c:1815
#, c-format
msgid "object missing in `%E'"
msgstr ""
-#: cp/init.c:1976
+#: cp/init.c:1946
msgid "new of array type fails to specify size"
msgstr ""
-#: cp/init.c:1987
+#: cp/init.c:1957
msgid "size in array new must have integral type"
msgstr ""
-#: cp/init.c:1993
+#: cp/init.c:1963
msgid "zero size array reserves no space"
msgstr ""
-#: cp/init.c:2058
+#: cp/init.c:2028
msgid "new cannot be applied to a reference type"
msgstr ""
-#: cp/init.c:2064
+#: cp/init.c:2034
msgid "new cannot be applied to a function type"
msgstr ""
-#: cp/init.c:2111
+#: cp/init.c:2081
msgid "call to Java constructor, while `jclass' undefined"
msgstr ""
-#: cp/init.c:2127
+#: cp/init.c:2097
msgid "can't find class$"
msgstr ""
-#: cp/init.c:2241
+#: cp/init.c:2211
msgid "invalid type `void' for new"
msgstr ""
-#: cp/init.c:2293
+#: cp/init.c:2263
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr ""
-#: cp/init.c:2400
+#: cp/init.c:2371
msgid "ISO C++ forbids initialization in array new"
msgstr ""
-#: cp/init.c:2418 cp/typeck2.c:359 cp/typeck2.c:1224
+#: cp/init.c:2393 cp/typeck2.c:366 cp/typeck2.c:1207
msgid "initializer list being treated as compound expression"
msgstr ""
-#: cp/init.c:2424
+#: cp/init.c:2399
msgid "ISO C++ forbids aggregate initializer to new"
msgstr ""
-#: cp/init.c:2510
+#: cp/init.c:2487
msgid "uninitialized const in `new' of `%#T'"
msgstr ""
-#: cp/init.c:2874
+#: cp/init.c:2862
msgid "initializer ends prematurely"
msgstr ""
-#: cp/init.c:2944
+#: cp/init.c:2932
msgid "cannot initialize multi-dimensional array with initializer"
msgstr ""
-#: cp/init.c:3119
+#: cp/init.c:3122
msgid "unknown array size in delete"
msgstr ""
-#: cp/init.c:3380
+#: cp/init.c:3387
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"
+#: cp/lex.c:1242
+msgid "`::%D' undeclared (first use here)"
msgstr ""
-#: cp/lex.c:1270
-msgid " using obsolete binding at `%D'"
+#: cp/mangle.c:2061
+msgid "real-valued template parameters when cross-compiling"
msgstr ""
-#: cp/lex.c:1336
-msgid "`::%D' undeclared (first use here)"
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
msgstr ""
-#: cp/mangle.c:1918
-msgid "real-valued template parameters when cross-compiling"
+#: cp/mangle.c:2617
+msgid ""
+"due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name "
+"to two different types"
msgstr ""
-#: cp/method.c:157
+#: 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:458
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr ""
-#: cp/method.c:653
+#: cp/method.c:697
msgid "non-static const member `%#D', can't use default assignment operator"
msgstr ""
-#: cp/method.c:658
+#: cp/method.c:702
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
msgid "anachronistic old style base class initializer"
msgstr ""
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1092
+#: parse.y:1116
msgid "`>>' should be `> >' in template class name"
msgstr ""
-#: parse.y:1130
+#: parse.y:1154
msgid "use of template qualifier outside template"
msgstr ""
-#: parse.y:1159 parse.y:1168
+#: parse.y:1183 parse.y:1192
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr ""
-#: parse.y:1191
+#: parse.y:1215
msgid "definition of class `%T' in condition"
msgstr ""
-#: parse.y:1193
+#: parse.y:1217
msgid "definition of enum `%T' in condition"
msgstr ""
-#: parse.y:1204
+#: parse.y:1228
msgid "definition of array `%#D' in condition"
msgstr ""
-#: parse.y:1313
+#: parse.y:1341
msgid "old style placement syntax, use () instead"
msgstr ""
-#: parse.y:1324
+#: parse.y:1352
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:1359
+msgid "initialization of new expression with `='"
msgstr ""
-#: parse.y:1366
+#: parse.y:1385
msgid "ISO C++ forbids compound literals"
msgstr ""
-#: parse.y:1608
+#: parse.y:1632
msgid "ISO C++ forbids braced-groups within expressions"
msgstr ""
-#: parse.y:2010 parse.y:2025
+#: parse.y:2036 parse.y:2051
msgid "sigof type specifier"
msgstr ""
-#: parse.y:2015
+#: parse.y:2041
msgid "`sigof' applied to non-aggregate expression"
msgstr ""
-#: parse.y:2030
+#: parse.y:2056
msgid "`sigof' applied to non-aggregate type"
msgstr ""
-#: parse.y:2296
+#: parse.y:2322
msgid "using `typename' outside of template"
msgstr ""
-#: parse.y:2367
+#: parse.y:2392
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2369
+#: parse.y:2394
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2371
+#: parse.y:2396
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2373
+#: parse.y:2398
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr ""
-#: parse.y:2505
+#: parse.y:2538
msgid "no bases given following `:'"
msgstr ""
-#: parse.y:2536 parse.y:2551
+#: parse.y:2569 parse.y:2584
msgid "`%D' access"
msgstr ""
-#: parse.y:2541
+#: parse.y:2574
msgid "multiple access specifiers"
msgstr ""
-#: parse.y:2559
+#: parse.y:2592
msgid "multiple `virtual' specifiers"
msgstr ""
-#: parse.y:2596
+#: parse.y:2629
msgid "missing ';' before right brace"
msgstr ""
-#: parse.y:2817
+#: parse.y:2850
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:3137 parse.y:3157 parse.y:3166 parse.y:3195
msgid "`%T' is not a class or namespace"
msgstr ""
-#: parse.y:3329
+#: parse.y:3362
msgid "ISO C++ forbids label declarations"
msgstr ""
-#: parse.y:3489
+#: parse.y:3522
msgid "ISO C++ forbids computed gotos"
msgstr ""
-#: parse.y:3497
+#: parse.y:3530
msgid "label must be followed by statement"
msgstr ""
-#: parse.y:3542
+#: parse.y:3575
msgid "must have at least one catch per try block"
msgstr ""
-#: parse.y:3602
+#: parse.y:3635
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:3722 parse.y:3732
msgid "possibly missing ')'"
msgstr ""
-#: parse.y:3792
+#: parse.y:3825
msgid "type specifier omitted for parameter"
msgstr ""
-#: parse.y:3801
+#: parse.y:3834
#, c-format
msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr ""
-#: parse.y:3803
+#: parse.y:3836
msgid "no type `%D' in `%T'"
msgstr ""
-#: parse.y:3806
+#: parse.y:3839
#, c-format
msgid "type specifier omitted for parameter `%E'"
msgstr ""
-#: parse.y:3814
+#: parse.y:3847
msgid "'%D' is used as a type, but is not defined as a type."
msgstr ""
-#: cp/pt.c:212
+#: cp/pt.c:284
msgid "data member `%D' cannot be a member template"
msgstr ""
-#: cp/pt.c:224
+#: cp/pt.c:296
msgid "invalid member template declaration `%D'"
msgstr ""
-#: cp/pt.c:619
+#: cp/pt.c:691
msgid "explicit specialization in non-namespace scope `%D'"
msgstr ""
-#: cp/pt.c:631
+#: cp/pt.c:703
msgid "enclosing class templates are not explicitly specialized"
msgstr ""
-#: cp/pt.c:706
+#: cp/pt.c:792 cp/pt.c:833
msgid "specializing `%#T' in different namespace"
msgstr ""
-#: cp/pt.c:707
+#: cp/pt.c:793 cp/pt.c:834
msgid " from definition of `%#D'"
msgstr ""
-#: cp/pt.c:715
+#: cp/pt.c:801
msgid "specialization of `%T' after instantiation"
msgstr ""
-#: cp/pt.c:718
+#: cp/pt.c:848
+msgid "specialization `%T' after instantiation `%T'"
+msgstr ""
+
+#: cp/pt.c:860
msgid "explicit specialization of non-template `%T'"
msgstr ""
-#: cp/pt.c:850
+#: cp/pt.c:992
msgid "specialization of %D after instantiation"
msgstr ""
-#: cp/pt.c:953
+#: cp/pt.c:1095
msgid "%s %+#D"
msgstr ""
-#: cp/pt.c:1004
+#: cp/pt.c:1146
msgid "`%D' is not a function template"
msgstr ""
-#: cp/pt.c:1127
+#: cp/pt.c:1285
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr ""
-#: cp/pt.c:1135
+#: cp/pt.c:1293
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:1520 cp/pt.c:1594
msgid "template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/pt.c:1375
+#: cp/pt.c:1533
msgid "template parameter list used in explicit instantiation"
msgstr ""
-#: cp/pt.c:1381
+#: cp/pt.c:1539
msgid "definition provided for explicit instantiation"
msgstr ""
-#: cp/pt.c:1387
+#: cp/pt.c:1545
msgid "too many template parameter lists in declaration of `%D'"
msgstr ""
-#: cp/pt.c:1403
+#: cp/pt.c:1561
msgid "too few template parameter lists in declaration of `%D'"
msgstr ""
-#: cp/pt.c:1420
+#: cp/pt.c:1578
msgid "explicit specialization not preceded by `template <>'"
msgstr ""
-#: cp/pt.c:1433
+#: cp/pt.c:1591
msgid "partial specialization `%D' of function template"
msgstr ""
-#: cp/pt.c:1465
+#: cp/pt.c:1623
msgid "default argument specified in explicit specialization"
msgstr ""
-#: cp/pt.c:1469
+#: cp/pt.c:1627
msgid "template specialization with C linkage"
msgstr ""
@@ -16140,99 +16600,99 @@ msgstr ""
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1557
+#: cp/pt.c:1714
msgid "specialization of implicitly-declared special member function"
msgstr ""
-#: cp/pt.c:1601
+#: cp/pt.c:1758
msgid "no member function `%D' declared in `%T'"
msgstr ""
#. There are two many template parameter lists.
-#: cp/pt.c:1749
+#: cp/pt.c:1906
msgid "too many template parameter lists in declaration of `%T'"
msgstr ""
-#: cp/pt.c:1845
+#: cp/pt.c:2002
msgid " shadows template parm `%#D'"
msgstr ""
-#: cp/pt.c:2249
+#: cp/pt.c:2406
msgid "template parameters not used in partial specialization:"
msgstr ""
-#: cp/pt.c:2253
+#: cp/pt.c:2410
msgid " `%D'"
msgstr ""
-#: cp/pt.c:2265
+#: cp/pt.c:2422
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr ""
-#: cp/pt.c:2290
+#: cp/pt.c:2447
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr ""
-#: cp/pt.c:2333
+#: cp/pt.c:2491
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr ""
-#: cp/pt.c:2421
+#: cp/pt.c:2579
msgid "no default argument for `%D'"
msgstr ""
-#: cp/pt.c:2574
+#: cp/pt.c:2732
msgid "template with C linkage"
msgstr ""
-#: cp/pt.c:2577
+#: cp/pt.c:2735
msgid "template class without a name"
msgstr ""
-#: cp/pt.c:2654
+#: cp/pt.c:2812
msgid "`%D' does not declare a template type"
msgstr ""
-#: cp/pt.c:2660
+#: cp/pt.c:2818
msgid "template definition of non-template `%#D'"
msgstr ""
-#: cp/pt.c:2701
+#: cp/pt.c:2859
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr ""
-#: cp/pt.c:2713
+#: cp/pt.c:2871
msgid "got %d template parameters for `%#D'"
msgstr ""
-#: cp/pt.c:2716
+#: cp/pt.c:2874
msgid "got %d template parameters for `%#T'"
msgstr ""
-#: cp/pt.c:2718
+#: cp/pt.c:2876
#, c-format
msgid " but %d required"
msgstr ""
-#: cp/pt.c:2799
+#: cp/pt.c:2959
msgid "`%T' is not a template type"
msgstr ""
-#: cp/pt.c:2815
+#: cp/pt.c:2975
msgid "previous declaration `%D'"
msgstr ""
-#: cp/pt.c:2816
+#: cp/pt.c:2976
#, c-format
msgid "used %d template parameter%s instead of %d"
msgstr ""
-#: cp/pt.c:2832
+#: cp/pt.c:2992
msgid "template parameter `%#D'"
msgstr ""
-#: cp/pt.c:2833
+#: cp/pt.c:2993
msgid "redeclared here as `%#D'"
msgstr ""
@@ -16240,731 +16700,721 @@ 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:3003
msgid "redefinition of default argument for `%#D'"
msgstr ""
-#: cp/pt.c:2844
+#: cp/pt.c:3004
msgid " original definition appeared here"
msgstr ""
-#: cp/pt.c:2937
+#: cp/pt.c:3097
#, c-format
msgid "`%E' is not a valid template argument"
msgstr ""
-#: cp/pt.c:2941
+#: cp/pt.c:3101
msgid "it must be the address of a function with external linkage"
msgstr ""
-#: cp/pt.c:2943
+#: cp/pt.c:3103
msgid "it must be the address of an object with external linkage"
msgstr ""
-#: cp/pt.c:2947
+#: cp/pt.c:3107
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr ""
-#: cp/pt.c:2958
+#: cp/pt.c:3118
#, 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:3130
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2981
+#: cp/pt.c:3141
#, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2988
+#: cp/pt.c:3148
#, c-format
msgid "object `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:3368
+#: cp/pt.c:3523
#, 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:3536 cp/pt.c:3552 cp/pt.c:3591
msgid "type/value mismatch at argument %d in template parameter list for `%D'"
msgstr ""
-#: cp/pt.c:3384
+#: cp/pt.c:3539
msgid " expected a constant of type `%T', got `%T'"
msgstr ""
-#: cp/pt.c:3388
+#: cp/pt.c:3543
#, c-format
msgid " expected a type, got `%E'"
msgstr ""
-#: cp/pt.c:3400
+#: cp/pt.c:3555
msgid " expected a type, got `%T'"
msgstr ""
-#: cp/pt.c:3402
+#: cp/pt.c:3557
msgid " expected a class template, got `%T'"
msgstr ""
-#: cp/pt.c:3438
+#: cp/pt.c:3593
msgid " expected a template of type `%D', got `%D'"
msgstr ""
-#: cp/pt.c:3460
+#: cp/pt.c:3615
msgid "template-argument `%T' uses anonymous type"
msgstr ""
-#: cp/pt.c:3463
+#: cp/pt.c:3618
msgid "template-argument `%T' uses local type `%T'"
msgstr ""
-#: cp/pt.c:3498
+#: cp/pt.c:3628
+msgid "template-argument `%T' is a variably modified type"
+msgstr ""
+
+#: cp/pt.c:3663
msgid "could not convert template argument `%E' to `%T'"
msgstr ""
-#: cp/pt.c:3542
+#: cp/pt.c:3707
#, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr ""
-#: cp/pt.c:3546
+#: cp/pt.c:3711
msgid "provided for `%D'"
msgstr ""
-#: cp/pt.c:3593
+#: cp/pt.c:3758
#, c-format
msgid "template argument %d is invalid"
msgstr ""
-#: cp/pt.c:3825
+#: cp/pt.c:3993
msgid "non-template used as template"
msgstr ""
-#: cp/pt.c:3943
+#: cp/pt.c:4125
msgid "`%T' is not a template"
msgstr ""
-#: cp/pt.c:3956
+#: cp/pt.c:4138
msgid "non-template type `%T' used as a template"
msgstr ""
-#: cp/pt.c:3958
+#: cp/pt.c:4140
msgid "for template declaration `%D'"
msgstr ""
-#: cp/pt.c:4521
+#: cp/pt.c:4756
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:5232
msgid "ambiguous class template instantiation for `%#T'"
msgstr ""
-#: cp/pt.c:4968
+#: cp/pt.c:5239
msgid "%s %+#T"
msgstr ""
-#: cp/pt.c:5993 cp/pt.c:6098
+#: cp/pt.c:6261 cp/pt.c:6371
msgid "instantiation of `%D' as type `%T'"
msgstr ""
-#: cp/pt.c:6140
+#: cp/pt.c:6415
msgid "invalid parameter type `%T'"
msgstr ""
-#: cp/pt.c:6142
+#: cp/pt.c:6417
msgid "in declaration `%D'"
msgstr ""
-#: cp/pt.c:6217
+#: cp/pt.c:6492
msgid "creating pointer to member function of non-class type `%T'"
msgstr ""
-#: cp/pt.c:6380
+#: cp/pt.c:6655
msgid "creating array with size zero"
msgstr ""
-#: cp/pt.c:6394
+#: cp/pt.c:6669
#, c-format
msgid "creating array with size zero (`%E')"
msgstr ""
-#: cp/pt.c:6633
+#: cp/pt.c:6908
msgid "forming reference to void"
msgstr ""
-#: cp/pt.c:6635
+#: cp/pt.c:6910
msgid "forming %s to reference type `%T'"
msgstr ""
-#: cp/pt.c:6673
+#: cp/pt.c:6948
msgid "creating pointer to member of non-class type `%T'"
msgstr ""
-#: cp/pt.c:6679
+#: cp/pt.c:6954
msgid "creating pointer to member reference type `%T'"
msgstr ""
-#: cp/pt.c:6757
+#: cp/pt.c:7032
msgid "creating array of `%T'"
msgstr ""
-#: cp/pt.c:6800
+#: cp/pt.c:7075
msgid "`%T' is not a class, struct, or union type"
msgstr ""
-#: cp/pt.c:6910
+#: cp/pt.c:7185
#, c-format
msgid "use of `%s' in template"
msgstr ""
-#: cp/pt.c:7669
+#: cp/pt.c:7947
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr ""
-#: cp/pt.c:7670
+#: cp/pt.c:7948
msgid " trying to instantiate `%D'"
msgstr ""
-#: cp/pt.c:8100
+#: cp/pt.c:8393
msgid "incomplete type unification"
msgstr ""
-#: cp/pt.c:9067
+#: cp/pt.c:9348
#, c-format
msgid "use of `%s' in template type unification"
msgstr ""
-#: cp/pt.c:9487 cp/pt.c:9555
+#: cp/pt.c:9776 cp/pt.c:9848
msgid "explicit instantiation of non-template `%#D'"
msgstr ""
-#: cp/pt.c:9503 cp/pt.c:9550
+#: cp/pt.c:9792 cp/pt.c:9843
msgid "no matching template for `%D' found"
msgstr ""
-#: cp/pt.c:9509
+#: cp/pt.c:9798
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:9835
msgid "duplicate explicit instantiation of `%#D'"
msgstr ""
-#: cp/pt.c:9567
+#: cp/pt.c:9860
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr ""
-#: cp/pt.c:9571 cp/pt.c:9649
+#: cp/pt.c:9864 cp/pt.c:9942
msgid "storage class `%D' applied to template instantiation"
msgstr ""
-#: cp/pt.c:9616
+#: cp/pt.c:9909
msgid "explicit instantiation of non-template type `%T'"
msgstr ""
-#: cp/pt.c:9630
+#: cp/pt.c:9923
msgid "explicit instantiation of `%#T' before definition of template"
msgstr ""
-#: cp/pt.c:9638
+#: cp/pt.c:9931
#, 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:9975
msgid "duplicate explicit instantiation of `%#T'"
msgstr ""
-#: cp/pt.c:10043
+#: cp/pt.c:10355
msgid "explicit instantiation of `%D' but no definition available"
msgstr ""
-#: cp/pt.c:10415
+#: cp/pt.c:10758
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:347
msgid "`%T' is an inaccessible base of `%T'"
msgstr ""
-#: cp/search.c:350
+#: cp/search.c:357
msgid "`%T' is an ambiguous base of `%T'"
msgstr ""
-#: cp/search.c:1818
+#. At parse time, we don't want to give this error, since
+#. we won't have enough state to make this kind of
+#. decision properly. But there are times (e.g., with
+#. enums in nested classes) when we do need to call
+#. this fn at parse time. So, in those cases, we pass
+#. complain as a 0 and just return a NULL_TREE.
+#: cp/search.c:1642
+msgid "assignment to non-static member `%D' of enclosing class `%T'"
+msgstr ""
+
+#: cp/search.c:2009
msgid "adjusting pointers for covariant returns"
msgstr ""
-#: cp/search.c:1822 cp/search.c:1829
+#: cp/search.c:2013 cp/search.c:2020
msgid "invalid covariant return type for `%#D'"
msgstr ""
-#: cp/search.c:1823
+#: cp/search.c:2014
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr ""
-#: cp/search.c:1830
+#: cp/search.c:2021
msgid " overriding `%#D' (must use pointer or reference)"
msgstr ""
-#: cp/search.c:1835
+#: cp/search.c:2026
msgid "conflicting return type specified for `%#D'"
msgstr ""
-#: cp/search.c:1836
+#: cp/search.c:2027
msgid " overriding `%#D'"
msgstr ""
-#: cp/search.c:1845
+#: cp/search.c:2036
#, c-format
msgid "looser throw specifier for `%#F'"
msgstr ""
-#: cp/search.c:1846
+#: cp/search.c:2037
#, c-format
msgid " overriding `%#F'"
msgstr ""
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1936
+#: cp/search.c:2126
msgid "`%#D' cannot be declared"
msgstr ""
-#: cp/search.c:1937
+#: cp/search.c:2127
msgid " since `%#D' declared in base class"
msgstr ""
-#: cp/search.c:2078
+#: cp/search.c:2268
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/semantics.c:2118
+#, c-format
+msgid "type of `%E' is unknown"
+msgstr ""
+
+#: 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:1340
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:1262
+msgid "%Hend of file read inside default argument"
+msgstr ""
+
+#: cp/spew.c:1419
msgid "circular dependency in default args of `%#D'"
msgstr ""
-#: cp/spew.c:1435
+#: cp/spew.c:1483
msgid "invalid type `%T' for default argument to `%T'"
msgstr ""
-#: cp/spew.c:1495
+#: cp/spew.c:1548
#, c-format
msgid "%s before `%s'"
msgstr ""
-#: cp/spew.c:1497
+#: cp/spew.c:1550
#, c-format
msgid "%s before `%c'"
msgstr ""
-#: cp/spew.c:1499
+#: cp/spew.c:1552
#, c-format
msgid "%s before `\\%o'"
msgstr ""
-#: cp/spew.c:1502
+#: cp/spew.c:1555
#, c-format
msgid "%s before `%s' token"
msgstr ""
-#: cp/tree.c:223
+#: cp/tree.c:263 cp/tree.c:275
#, c-format
msgid "non-lvalue in %s"
msgstr ""
-#: cp/tree.c:577
+#: cp/tree.c:647
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:2026
#, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr ""
-#: cp/tree.c:1951
+#: cp/tree.c:2056
#, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr ""
-#: cp/tree.c:1957
+#: cp/tree.c:2062
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr ""
-#: cp/tree.c:1982
+#: cp/tree.c:2087
msgid "requested init_priority is not an integer constant"
msgstr ""
-#: cp/tree.c:2003
+#: cp/tree.c:2108
#, 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:2116
msgid "requested init_priority is out of range"
msgstr ""
-#: cp/tree.c:2021
+#: cp/tree.c:2126
msgid "requested init_priority is reserved for internal use"
msgstr ""
-#: cp/tree.c:2031
+#: cp/tree.c:2136
#, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr ""
-#: cp/typeck.c:518
+#: cp/tree.c:2673
+#, 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:2124
+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:1959 cp/typeck.c:1980
+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:1961 cp/typeck.c:1982
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
msgstr ""
-#: cp/typeck.c:2059
-msgid "invalid use of template `%#D' as expression"
+#: cp/typeck.c:2170
+msgid "`%D::%D' is not a member of `%T'"
msgstr ""
-#: cp/typeck.c:2136
-msgid "`%#T' has no member named `%D'"
+#: cp/typeck.c:2196
+msgid "destructor specifier `%T::~%T' must have matching names"
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:2202
+msgid "type `%T' has no destructor"
+msgstr ""
+
+#: cp/typeck.c:2241
+msgid "`%D' is not a member template function"
msgstr ""
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2326
+#: cp/typeck.c:2335
msgid "`%T' is not a pointer-to-object type"
msgstr ""
-#: cp/typeck.c:2353
+#: cp/typeck.c:2362
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr ""
-#: cp/typeck.c:2359
+#: cp/typeck.c:2368
msgid "invalid type argument"
msgstr ""
-#: cp/typeck.c:2462
+#: cp/typeck.c:2471
msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr ""
-#: cp/typeck.c:2473
+#: cp/typeck.c:2482
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:2567
+#, c-format
+msgid "object missing in use of `%E'"
msgstr ""
-#: cp/typeck.c:2977
+#: cp/typeck.c:2671
msgid "ISO C++ forbids calling `::main' from within program"
msgstr ""
-#: cp/typeck.c:3002
+#: cp/typeck.c:2696
#, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr ""
-#: cp/typeck.c:3015
+#: cp/typeck.c:2709
#, c-format
msgid "`%E' cannot be used as a function"
msgstr ""
-#: cp/typeck.c:3140
+#: cp/typeck.c:2821
msgid "too many arguments to %s `%+#D'"
msgstr ""
-#: cp/typeck.c:3181
+#: cp/typeck.c:2862
msgid "parameter type of called function is incomplete"
msgstr ""
-#: cp/typeck.c:3248
+#: cp/typeck.c:2925
msgid "too few arguments to %s `%+#D'"
msgstr ""
-#: cp/typeck.c:3376 cp/typeck.c:3386
+#: cp/typeck.c:3053 cp/typeck.c:3063
msgid "assuming cast to type `%T' from overloaded function"
msgstr ""
-#: cp/typeck.c:3446
+#: cp/typeck.c:3123
#, c-format
msgid "division by zero in `%E / 0'"
msgstr ""
-#: cp/typeck.c:3448
+#: cp/typeck.c:3125
#, c-format
msgid "division by zero in `%E / 0.'"
msgstr ""
-#: cp/typeck.c:3478
+#: cp/typeck.c:3155
#, c-format
msgid "division by zero in `%E %% 0'"
msgstr ""
-#: cp/typeck.c:3480
+#: cp/typeck.c:3157
#, c-format
msgid "division by zero in `%E %% 0.'"
msgstr ""
-#: cp/typeck.c:3560
+#: cp/typeck.c:3237
#, c-format
msgid "%s rotate count is negative"
msgstr ""
-#: cp/typeck.c:3563
+#: cp/typeck.c:3240
#, 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:3271 cp/typeck.c:3276 cp/typeck.c:3367 cp/typeck.c:3372
msgid "ISO C++ forbids comparison between pointer and integer"
msgstr ""
-#: cp/typeck.c:3873
+#: cp/typeck.c:3550
msgid "comparison between types `%#T' and `%#T'"
msgstr ""
-#: cp/typeck.c:3909
+#: cp/typeck.c:3586
msgid "comparison between signed and unsigned integer expressions"
msgstr ""
-#: cp/typeck.c:3974
+#: cp/typeck.c:3651
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr ""
@@ -16972,287 +17422,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:3673
msgid "NULL used in arithmetic"
msgstr ""
-#: cp/typeck.c:4063
+#: cp/typeck.c:3740
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr ""
-#: cp/typeck.c:4065
+#: cp/typeck.c:3742
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr ""
-#: cp/typeck.c:4067
+#: cp/typeck.c:3744
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr ""
-#: cp/typeck.c:4069
+#: cp/typeck.c:3746
msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr ""
-#: cp/typeck.c:4081
+#: cp/typeck.c:3758
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:3818
+#, 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:3824
+#, c-format
+msgid ""
+"parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr ""
+
+#: cp/typeck.c:3847
msgid "taking address of temporary"
msgstr ""
-#: cp/typeck.c:4398
+#: cp/typeck.c:4088
#, c-format
msgid "ISO C++ forbids %sing an enum"
msgstr ""
-#: cp/typeck.c:4410
+#: cp/typeck.c:4100
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr ""
-#: cp/typeck.c:4417
+#: cp/typeck.c:4107
msgid "ISO C++ forbids %sing a pointer of type `%T'"
msgstr ""
-#: cp/typeck.c:4442
+#: cp/typeck.c:4132
msgid "cast to non-reference type used as lvalue"
msgstr ""
-#: cp/typeck.c:4476
+#: cp/typeck.c:4166
msgid "invalid use of `--' on bool variable `%D'"
msgstr ""
#. ARM $3.4
-#: cp/typeck.c:4509
+#: cp/typeck.c:4199
msgid "ISO C++ forbids taking address of function `::main'"
msgstr ""
#. An expression like &memfn.
-#: cp/typeck.c:4576
+#: cp/typeck.c:4266
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:4268
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:4292
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:4321
+msgid "attempt to take address of bit-field structure member `%D'"
msgstr ""
-#: cp/typeck.c:4738
+#: cp/typeck.c:4441
msgid "taking address of destructor"
msgstr ""
-#: cp/typeck.c:4751
+#: cp/typeck.c:4454
msgid "taking address of bound pointer-to-member expression"
msgstr ""
-#: cp/typeck.c:4767
+#: cp/typeck.c:4470
msgid "cannot create pointer to reference member `%D'"
msgstr ""
-#: cp/typeck.c:4835
+#: cp/typeck.c:4533
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr ""
-#: cp/typeck.c:4851
+#: cp/typeck.c:4552
msgid "address requested for `%D', which is declared `register'"
msgstr ""
-#: cp/typeck.c:5071
+#: cp/typeck.c:4773
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr ""
-#: cp/typeck.c:5079
+#: cp/typeck.c:4781
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5118
+#: cp/typeck.c:4820
msgid ""
"invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5138
+#: cp/typeck.c:4840
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr ""
-#: cp/typeck.c:5151
+#: cp/typeck.c:4853
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr ""
-#: cp/typeck.c:5160
+#: cp/typeck.c:4862
msgid ""
"ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr ""
-#: cp/typeck.c:5166
+#: cp/typeck.c:4868
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5193
+#: cp/typeck.c:4895
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:4898
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:4921
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5235
+#: cp/typeck.c:4937
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5277 cp/typeck.c:5282
+#: cp/typeck.c:4979 cp/typeck.c:4984
msgid "ISO C++ forbids casting to an array type `%T'"
msgstr ""
-#: cp/typeck.c:5290
+#: cp/typeck.c:4992
msgid "invalid cast to function type `%T'"
msgstr ""
-#: cp/typeck.c:5342
+#: cp/typeck.c:5044
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr ""
-#: cp/typeck.c:5388
+#: cp/typeck.c:5090
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr ""
-#: cp/typeck.c:5557
+#: cp/typeck.c:5258
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr ""
-#: cp/typeck.c:5599
+#: cp/typeck.c:5300
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr ""
-#: cp/typeck.c:5670
+#: cp/typeck.c:5372
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr ""
-#: cp/typeck.c:5677
+#: cp/typeck.c:5379
msgid "ISO C++ forbids assignment of arrays"
msgstr ""
-#: cp/typeck.c:5820
+#: cp/typeck.c:5522
msgid " in pointer to member function conversion"
msgstr ""
-#: cp/typeck.c:5828
+#: cp/typeck.c:5530
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:5541 cp/typeck.c:5560
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:5862
+#: cp/typeck.c:5564
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:5932
+#: cp/typeck.c:5640
msgid "invalid conversion to type `%T' from type `%T'"
msgstr ""
-#: cp/typeck.c:6097
+#: cp/typeck.c:5805
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6100
+#: cp/typeck.c:5808
msgid "%s to non-pointer type `%T' from NULL"
msgstr ""
-#: cp/typeck.c:6108
+#: cp/typeck.c:5816
msgid "passing `%T' for %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6111
+#: cp/typeck.c:5819
msgid "%s to `%T' from `%T'"
msgstr ""
-#: cp/typeck.c:6121
+#: cp/typeck.c:5829
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6124
+#: cp/typeck.c:5832
msgid "%s of negative value `%E' to `%T'"
msgstr ""
-#: cp/typeck.c:6211
+#: cp/typeck.c:5927
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr ""
-#: cp/typeck.c:6214
+#: cp/typeck.c:5930
msgid "cannot convert `%T' to `%T' in %s"
msgstr ""
-#: cp/typeck.c:6301 cp/typeck.c:6303
+#: cp/typeck.c:6017 cp/typeck.c:6019
msgid "in passing argument %P of `%+D'"
msgstr ""
-#: cp/typeck.c:6417
+#: cp/typeck.c:6134
msgid "returning reference to temporary"
msgstr ""
-#: cp/typeck.c:6424
+#: cp/typeck.c:6141
msgid "reference to non-lvalue returned"
msgstr ""
-#: cp/typeck.c:6436
+#: cp/typeck.c:6153
msgid "reference to local variable `%D' returned"
msgstr ""
-#: cp/typeck.c:6439
+#: cp/typeck.c:6156
msgid "address of local variable `%D' returned"
msgstr ""
-#: cp/typeck.c:6470
+#: cp/typeck.c:6187
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:6195
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:6198
msgid "returning a value from a constructor"
msgstr ""
-#: cp/typeck.c:6498
+#: cp/typeck.c:6215
msgid ""
"return-statement with no value, in function declared with a non-void return "
"type"
msgstr ""
-#: cp/typeck.c:6514
+#: cp/typeck.c:6231
msgid ""
"return-statement with a value, in function declared with a void return type"
msgstr ""
-#: cp/typeck.c:6535
+#: cp/typeck.c:6252
msgid ""
"`operator new' must not return NULL unless it is declared `throw()' (or -"
"fcheck-new is in effect)"
@@ -17262,230 +17721,182 @@ msgstr ""
msgid "type `%T' is not a base type for type `%T'"
msgstr ""
-#: cp/typeck2.c:151
+#: cp/typeck2.c:157
msgid "cannot declare variable `%D' to be of type `%T'"
msgstr ""
-#: cp/typeck2.c:154
+#: cp/typeck2.c:160
msgid "cannot declare parameter `%D' to be of type `%T'"
msgstr ""
-#: cp/typeck2.c:157
+#: cp/typeck2.c:163
msgid "cannot declare field `%D' to be of type `%T'"
msgstr ""
-#: cp/typeck2.c:161
+#: cp/typeck2.c:167
msgid "invalid return type for member function `%#D'"
msgstr ""
-#: cp/typeck2.c:163
+#: cp/typeck2.c:169
msgid "invalid return type for function `%#D'"
msgstr ""
-#: cp/typeck2.c:166
+#: cp/typeck2.c:172
msgid "cannot allocate an object of type `%T'"
msgstr ""
-#: cp/typeck2.c:173
+#: cp/typeck2.c:179
msgid " because the following virtual functions are abstract:"
msgstr ""
-#: cp/typeck2.c:175
+#: cp/typeck2.c:181
msgid "\t%#D"
msgstr ""
-#: cp/typeck2.c:178
+#: cp/typeck2.c:184
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:337
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:348
msgid "comma expression used to initialize return value"
msgstr ""
-#: cp/typeck2.c:350
+#: cp/typeck2.c:357
msgid "cannot initialize arrays using this syntax"
msgstr ""
-#: cp/typeck2.c:412
-msgid "ISO C++ forbids non-constant aggregate initializer expressions"
-msgstr ""
-
-#: cp/typeck2.c:498
+#: cp/typeck2.c:472
msgid "initializing array with parameter list"
msgstr ""
-#: cp/typeck2.c:554
+#: cp/typeck2.c:528
msgid "initializer for scalar variable requires one element"
msgstr ""
-#: cp/typeck2.c:561
+#: cp/typeck2.c:535
msgid "braces around scalar initializer for `%T'"
msgstr ""
-#: cp/typeck2.c:564
+#: cp/typeck2.c:538
msgid "ignoring extra initializers for `%T'"
msgstr ""
-#: cp/typeck2.c:576
+#: cp/typeck2.c:550
msgid "variable-sized object of type `%T' may not be initialized"
msgstr ""
-#: cp/typeck2.c:586
+#: cp/typeck2.c:560
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr ""
-#: cp/typeck2.c:652
+#: cp/typeck2.c:626
msgid "aggregate has a partly bracketed initializer"
msgstr ""
-#: cp/typeck2.c:690 cp/typeck2.c:791
+#: cp/typeck2.c:664 cp/typeck2.c:769
msgid "non-trivial labeled initializers"
msgstr ""
-#: cp/typeck2.c:707
+#: cp/typeck2.c:681
msgid "non-empty initializer for array of empty elements"
msgstr ""
-#: cp/typeck2.c:757
+#: cp/typeck2.c:735
msgid "initializer list for object of class with virtual base classes"
msgstr ""
-#: cp/typeck2.c:763
+#: cp/typeck2.c:741
msgid "initializer list for object of class with base classes"
msgstr ""
-#: cp/typeck2.c:769
+#: cp/typeck2.c:747
msgid "initializer list for object using virtual functions"
msgstr ""
-#: cp/typeck2.c:832 cp/typeck2.c:849
+#: cp/typeck2.c:810 cp/typeck2.c:826
msgid "missing initializer for member `%D'"
msgstr ""
-#: cp/typeck2.c:837
+#: cp/typeck2.c:815
msgid "uninitialized const member `%D'"
msgstr ""
-#: cp/typeck2.c:840
+#: cp/typeck2.c:817
msgid "member `%D' with uninitialized const fields"
msgstr ""
-#: cp/typeck2.c:843
+#: cp/typeck2.c:820
msgid "member `%D' is uninitialized reference"
msgstr ""
-#: cp/typeck2.c:886
+#: cp/typeck2.c:867
msgid "index value instead of field name in union initializer"
msgstr ""
-#: cp/typeck2.c:898
+#: cp/typeck2.c:879
msgid "no field `%D' in union being initialized"
msgstr ""
-#: cp/typeck2.c:906
+#: cp/typeck2.c:887
msgid "union `%T' with no named members cannot be initialized"
msgstr ""
-#: cp/typeck2.c:942
+#: cp/typeck2.c:923
msgid "excess elements in aggregate initializer"
msgstr ""
-#: cp/typeck2.c:1054
+#: cp/typeck2.c:1037
msgid "circular pointer delegation detected"
msgstr ""
-#: cp/typeck2.c:1067
+#: cp/typeck2.c:1050
msgid "base operand of `->' has non-pointer type `%T'"
msgstr ""
-#: cp/typeck2.c:1081
+#: cp/typeck2.c:1064
msgid "result of `operator->()' yields non-pointer result"
msgstr ""
-#: cp/typeck2.c:1083
+#: cp/typeck2.c:1066
msgid "base operand of `->' is not a pointer"
msgstr ""
-#: cp/typeck2.c:1149
+#: cp/typeck2.c:1132
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr ""
-#: cp/typeck2.c:1156
+#: cp/typeck2.c:1139
msgid ""
"cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr ""
-#: cp/typeck2.c:1165
+#: cp/typeck2.c:1148
msgid "member type `%T::' incompatible with object type `%T'"
msgstr ""
-#: cp/typeck2.c:1202
+#: cp/typeck2.c:1185
msgid "`%T' fails to be a typedef or built-in type"
msgstr ""
-#: cp/typeck2.c:1275
+#: cp/typeck2.c:1258
#, c-format
msgid "ISO C++ forbids defining types within %s"
msgstr ""
+#: cp/typeck2.c:1383
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr ""
+
+#: cp/typeck2.c:1386
+msgid "call to function which throws incomplete type `%#T'"
+msgstr ""
+
#. XXX Not i18n clean.
-#: cp/cp-tree.h:3874
+#: cp/cp-tree.h:3887
#, c-format
msgid "%s is deprecated, please see the documentation for details"
msgstr ""
@@ -17543,11 +17954,11 @@ msgid "Export functions even if they can be inlined"
msgstr ""
#: cp/lang-options.h:75
-msgid "Only emit explicit template instatiations"
+msgid "Only emit explicit template instantiations"
msgstr ""
#: cp/lang-options.h:78
-msgid "Only emit explicit instatiations of inline templates"
+msgid "Only emit explicit instantiations of inline templates"
msgstr ""
#: cp/lang-options.h:84
@@ -17652,134 +18063,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:11623
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr ""
-#: f/com.c:11835
+#: f/com.c:11844
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr ""
-#: f/com.c:11837
+#: f/com.c:11846
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
msgstr ""
-#: f/com.c:11839
+#: f/com.c:11848
msgid "properly unless they all are 32 bits wide"
msgstr ""
-#: f/com.c:11840
+#: f/com.c:11849
msgid "Please keep this in mind before you report bugs."
msgstr ""
#. I/O will probably crash.
-#: f/com.c:11848
+#: f/com.c:11857
#, 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:11866
#, 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:13681
msgid "In statement function"
msgstr ""
-#: f/com.c:13701
+#: f/com.c:13691
msgid "Outside of any program unit:\n"
msgstr ""
-#: f/com.c:15408
+#: f/com.c:15320
#, no-c-format
msgid "%A from %B at %0%C"
msgstr ""
-#: f/com.c:15585
+#: f/com.c:15497
msgid "directory name must immediately follow -I"
msgstr ""
-#: f/com.c:15728
+#: f/com.c:15640
#, no-c-format
msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr ""
-#: f/com.c:15763
+#: f/com.c:15675
#, 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:234
#, c-format
msgid "overflowed output arg list for `%s'"
msgstr ""
-#: f/g77spec.c:395
+#: f/g77spec.c:373
msgid "--driver no longer supported"
msgstr ""
-#: f/g77spec.c:408
+#: f/g77spec.c:386
#, c-format
msgid "argument to `%s' missing"
msgstr ""
-#: f/g77spec.c:412
+#: f/g77spec.c:390
msgid "no input files; unwilling to write output files"
msgstr ""
@@ -17894,21 +18305,25 @@ 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:2729
+msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+msgstr ""
+
+#: f/ste.c:2959
msgid "ASSIGN to variable that is too small"
msgstr ""
-#: f/ste.c:2993
+#: f/ste.c:2987
msgid "ASSIGNed GOTO target variable is too small"
msgstr ""
@@ -17917,7 +18332,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 +19657,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:2078
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr ""
-#: java/decl.c:1509
+#: java/decl.c:1541
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr ""
-#: java/decl.c:1593
+#: java/decl.c:1622
msgid "bad type in parameter debug info"
msgstr ""
-#: java/decl.c:1603
+#: java/decl.c:1632
#, 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:1534
#, c-format
msgid ""
"reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr ""
-#: java/expr.c:1566
+#: java/expr.c:1563
#, c-format
msgid "field `%s' not found"
msgstr ""
-#: java/expr.c:1721
+#: java/expr.c:1715
msgid "ret instruction not implemented"
msgstr ""
-#: java/expr.c:1858
+#: java/expr.c:1857
#, c-format
msgid "method '%s' not found in class"
msgstr ""
-#: java/expr.c:2062
+#: java/expr.c:2060
#, c-format
msgid "failed to find class '%s'"
msgstr ""
-#: java/expr.c:2074
+#: java/expr.c:2070
#, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr ""
-#: java/expr.c:2084
+#: java/expr.c:2080
msgid "invokestatic on non static method"
msgstr ""
-#: java/expr.c:2089
+#: java/expr.c:2085
msgid "invokestatic on abstract method"
msgstr ""
-#: java/expr.c:2097
+#: java/expr.c:2093
msgid "invoke[non-static] on static method"
msgstr ""
-#: java/expr.c:2382
+#: java/expr.c:2396
#, c-format
msgid "missing field '%s' in '%s'"
msgstr ""
-#: java/expr.c:2388
+#: java/expr.c:2402
#, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr ""
-#: java/expr.c:2411
+#: java/expr.c:2425
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr ""
-#: java/expr.c:2416
+#: java/expr.c:2430
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
msgstr ""
-#: java/expr.c:2423
+#: java/expr.c:2437
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr ""
-#: java/expr.c:2664
+#: java/expr.c:2684
#, c-format
msgid "can't expand %s"
msgstr ""
-#: java/expr.c:2840
+#: java/expr.c:2861
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:2906
#, 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:2943
#, 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:3261
msgid "unrecogized wide sub-instruction"
msgstr ""
-#: java/jcf-io.c:410
+#: java/jcf-io.c:543
#, 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:619
#, c-format
msgid "cannot find file for class %s"
msgstr ""
-#: java/jcf-parse.c:650
+#: java/jcf-parse.c:631
msgid "not a valid Java .class file"
msgstr ""
-#: java/jcf-parse.c:653
+#: java/jcf-parse.c:634
msgid "error while parsing constant pool"
msgstr ""
-#: java/jcf-parse.c:656
+#: java/jcf-parse.c:637
#, 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:649
#, c-format
msgid "reading class %s for the second time from %s"
msgstr ""
-#: java/jcf-parse.c:686
+#: java/jcf-parse.c:667
msgid "error while parsing fields"
msgstr ""
-#: java/jcf-parse.c:689
+#: java/jcf-parse.c:670
msgid "error while parsing methods"
msgstr ""
-#: java/jcf-parse.c:692
+#: java/jcf-parse.c:673
msgid "error while parsing final attributes"
msgstr ""
-#: java/jcf-parse.c:706
+#: java/jcf-parse.c:687
#, c-format
msgid ""
"the `java.lang.Object' that was found in `%s' didn't have the special zero-"
@@ -19470,99 +19885,104 @@ msgid ""
"info page describing how to set the classpath"
msgstr ""
-#: java/jcf-parse.c:796
+#: java/jcf-parse.c:777
msgid "missing Code attribute"
msgstr ""
-#: java/jcf-parse.c:1032
+#: java/jcf-parse.c:1014
msgid "source file seen twice on command line and will be compiled only once"
msgstr ""
-#: java/jcf-parse.c:1048
+#: java/jcf-parse.c:1030
msgid "no input file specified"
msgstr ""
-#: java/jcf-parse.c:1077
+#: java/jcf-parse.c:1059
#, c-format
msgid "can't close input file %s"
msgstr ""
-#: java/jcf-parse.c:1114
+#: java/jcf-parse.c:1096
#, c-format
msgid "bad zip/jar file %s"
msgstr ""
-#: java/jcf-write.c:2636
+#: java/jcf-write.c:2650
#, c-format
msgid ""
"internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr ""
-#: java/jcf-write.c:2943
+#: java/jcf-write.c:2988
msgid "field initializer type mismatch"
msgstr ""
-#: java/jcf-write.c:3352
+#: java/jcf-write.c:3419
#, c-format
msgid "can't create directory %s"
msgstr ""
-#: java/jv-scan.c:183
+#: java/jcf-write.c:3473
+#, 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:544
msgid "can't do dependency tracking with input from stdin"
msgstr ""
-#: java/lang.c:503
+#: java/lang.c:560
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 +19997,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/java/parse-scan.y:881 ../../gcc/java/parse.y:962
+#: ../../gcc/java/parse.y:1303 ../../gcc/java/parse.y:1364
+#: ../../gcc/java/parse.y:1574 ../../gcc/java/parse.y:1796
+#: ../../gcc/java/parse.y:1805 ../../gcc/java/parse.y:1816
+#: ../../gcc/java/parse.y:1827 ../../gcc/java/parse.y:1839
+#: ../../gcc/java/parse.y:1854 ../../gcc/java/parse.y:1871
+#: ../../gcc/java/parse.y:1873 ../../gcc/java/parse.y:1945
+#: ../../gcc/java/parse.y:2116 ../../gcc/java/parse.y:2178
+#: ../../gcc/java/parse.y:2330 ../../gcc/java/parse.y:2342
+#: ../../gcc/java/parse.y:2349 ../../gcc/java/parse.y:2356
+#: ../../gcc/java/parse.y:2367 ../../gcc/java/parse.y:2369
+#: ../../gcc/java/parse.y:2407 ../../gcc/java/parse.y:2409
+#: ../../gcc/java/parse.y:2411 ../../gcc/java/parse.y:2432
+#: ../../gcc/java/parse.y:2434 ../../gcc/java/parse.y:2436
+#: ../../gcc/java/parse.y:2452 ../../gcc/java/parse.y:2454
+#: ../../gcc/java/parse.y:2475 ../../gcc/java/parse.y:2477
+#: ../../gcc/java/parse.y:2479 ../../gcc/java/parse.y:2507
+#: ../../gcc/java/parse.y:2509 ../../gcc/java/parse.y:2511
+#: ../../gcc/java/parse.y:2513 ../../gcc/java/parse.y:2531
+#: ../../gcc/java/parse.y:2533 ../../gcc/java/parse.y:2544
+#: ../../gcc/java/parse.y:2555 ../../gcc/java/parse.y:2566
+#: ../../gcc/java/parse.y:2577 ../../gcc/java/parse.y:2588
+#: ../../gcc/java/parse.y:2601 ../../gcc/java/parse.y:2605
+#: ../../gcc/java/parse.y:2607 ../../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/java/parse-scan.y:883 ../../gcc/java/parse.y:734
+#: ../../gcc/java/parse.y:772 ../../gcc/java/parse.y:797
+#: ../../gcc/java/parse.y:983 ../../gcc/java/parse.y:1338
+#: ../../gcc/java/parse.y:1550 ../../gcc/java/parse.y:1552
+#: ../../gcc/java/parse.y:1781 ../../gcc/java/parse.y:1807
+#: ../../gcc/java/parse.y:1818 ../../gcc/java/parse.y:1829
+#: ../../gcc/java/parse.y:1841 ../../gcc/java/parse.y:1856
msgid "';' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:810
+#: ../../gcc/java/parse.y:732 ../../gcc/java/parse.y:770
+msgid "Missing name"
+msgstr ""
+
+#: ../../gcc/java/parse.y:795
msgid "'*' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:824
+#: ../../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/java/parse.y:846 ../../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/java/parse.y:851 ../../gcc/java/parse.y:855
+#: ../../gcc/java/parse.y:863 ../../gcc/java/parse.y:1023
+#: ../../gcc/java/parse.y:1284 ../../gcc/java/parse.y:1286
+#: ../../gcc/java/parse.y:1616 ../../gcc/java/parse.y:1867
+#: ../../gcc/java/parse.y:1899 ../../gcc/java/parse.y:1952
msgid "'{' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:878
+#: ../../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/java/parse.y:875 ../../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/java/parse.y:977
msgid "Missing variable initializer"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1007
+#: ../../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/java/parse.y:997 ../../gcc/java/parse.y:1082
+#: ../../gcc/java/parse.y:2153 ../../gcc/java/parse.y:2175
+#: ../../gcc/java/parse.y:2179 ../../gcc/java/parse.y:2214
+#: ../../gcc/java/parse.y:2291 ../../gcc/java/parse.y:2301
msgid "']' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1019
+#: ../../gcc/java/parse.y:1001
msgid "Unbalanced ']'"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1055
+#: ../../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/java/parse.y:1042 ../../gcc/java/parse.y:1047
+#: ../../gcc/java/parse.y:1052 ../../gcc/java/parse.y:2036
msgid "Identifier expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1066
+#: ../../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/java/parse.y:1080 ../../gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1537 ../../gcc/java/parse.y:1546
+#: ../../gcc/java/parse.y:1548 ../../gcc/java/parse.y:1576
+#: ../../gcc/java/parse.y:1684 ../../gcc/java/parse.y:1981
+#: ../../gcc/java/parse.y:2034
msgid "')' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1105
+#: ../../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/java/parse.y:1111 ../../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/java/parse.y:1136 ../../gcc/java/parse.y:1145
msgid "Missing class type term"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1306
+#: ../../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/java/parse.y:1494 ../../gcc/java/parse.y:1663
+#: ../../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/java/parse.y:1516 ../../gcc/java/parse.y:1521
+#: ../../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/java/parse.y:1544 ../../gcc/java/parse.y:1572
+#: ../../gcc/java/parse.y:1612 ../../gcc/java/parse.y:1680
+#: ../../gcc/java/parse.y:1748 ../../gcc/java/parse.y:1869
+#: ../../gcc/java/parse.y:1938 ../../gcc/java/parse.y:2028
+#: ../../gcc/java/parse.y:2030 ../../gcc/java/parse.y:2038
+#: ../../gcc/java/parse.y:2274 ../../gcc/java/parse.y:2276
msgid "'(' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1618
+#: ../../gcc/java/parse.y:1614
msgid "Missing term or ')'"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1665
+#: ../../gcc/java/parse.y:1661
msgid "Missing or invalid constant expression"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1686
+#: ../../gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1725
+#: ../../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/java/parse.y:1723 ../../gcc/java/parse.y:1725
msgid "Invalid update expression"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1754
+#: ../../gcc/java/parse.y:1750
msgid "Invalid init statement"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1929
+#: ../../gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:1971
+#: ../../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/java/parse.y:1985 ../../gcc/java/parse.y:1987
msgid "'class' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2020
+#: ../../gcc/java/parse.y:2032
msgid "')' or term expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2139
+#: ../../gcc/java/parse.y:2151
msgid "'[' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2217
+#: ../../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/java/parse.y:2286 ../../gcc/java/parse.y:2296
msgid "Missing term and ']' expected"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2388
+#: ../../gcc/java/parse.y:2400
msgid "']' expected, invalid type expression"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2391
+#: ../../gcc/java/parse.y:2403
msgid "Invalid type expression"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2503
+#: ../../gcc/java/parse.y:2515
msgid "Invalid reference type"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2981
+#: ../../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/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:2992
+#: ../../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/java/parse.y:3064 ../../gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
"%s"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:6833
+#: ../../gcc/java/parse.y:6879
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:6904
+#: ../../gcc/java/parse.y:6950
#, 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/java/parse.y:12352
#, c-format
msgid "missing static field `%s'"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:12233
+#: ../../gcc/java/parse.y:12357
#, c-format
msgid "not a static field `%s'"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:12276
+#: ../../gcc/java/parse.y:12400
#, c-format
msgid "No case for %s"
msgstr ""
-#: /var/repo/gcc/gcc/java/parse.y:13122
+#: ../../gcc/java/parse.y:13365
#, c-format
msgid "unregistered operator %s"
msgstr ""
@@ -19847,16 +20265,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 +20347,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:1799
#, 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 +20482,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:2655
msgid "`@end' must appear in an implementation context"
msgstr ""
-#: objc-parse.y:2891
+#: objc-parse.y:2931
msgid "method definition not in class context"
msgstr ""
@@ -20183,169 +20615,188 @@ 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 ""
+
+#: config/darwin.h:229
+msgid "-private_bundle not allowed with -dynamiclib"
msgstr ""
-#: gcc.c:673 f/lang-specs.h:35
+#: 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/ia64/freebsd.h:23 config/sparc/freebsd.h:33
+#: config/i386/freebsd-aout.h:213 config/rs6000/sysv4.h:1106
+#: config/alpha/freebsd.h:44
+msgid "`-p' not supported; use `-pg' and gprof(1)"
msgstr ""
-#: gcc.c:846
-msgid "-E required when input is from standard input"
+#: 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:850
-msgid "compilation of header file requested"
+#: config/vax/netbsd-elf.h:42
+msgid "The -shared option is not currently supported for VAX ELF."
msgstr ""
-#: config/mips/r3900.h:36 config/mips/r3900.h:42
-msgid "-mhard-float not supported"
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
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:954
+msgid "-pipe is not supported"
msgstr ""
-#: config/i386/cygwin.h:106
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr ""
+
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
+msgid "-pg and -fomit-frame-pointer are incompatible"
+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:171 config/i386/mingw32.h:85
msgid "shared and mdll are not compatible"
msgstr ""
-#: ada/lang-specs.h:41
-msgid "-c or -S required for Ada"
+#: gcc.c:847
+msgid "-E required when input is from standard input"
msgstr ""
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
+#: gcc.c:851
+msgid "compilation of header file requested"
msgstr ""
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
msgstr ""
-#: java/lang-specs.h:35 java/lang-specs.h:36
-msgid "-femit-class-file should used along with -fsyntax-only"
+#: treelang/lang-specs.h:52
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
msgstr ""
-#: config/i860/fx2800.h:290
-msgid "-p option not supported: use -pg instead"
+#: config/mcore/mcore.h:60
+msgid "choose either big or little endian, not both"
msgstr ""
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
+#: config/mcore/mcore.h:63
+msgid "choose either m340 or m210 not both"
msgstr ""
-#: config/arm/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
+#: config/mcore/mcore.h:64
+msgid "the m210 does not have little endian support"
msgstr ""
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
msgstr ""
-#: config/arc/arc.h:59 config/mips/mips.h:1004
-msgid "may not use both -EB and -EL"
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float 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:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
msgstr ""
-#: config/mips/mips.h:834
-msgid "-pipe is not supported"
+#: config/mips/r3900.h:35
+msgid "-mhard-float not supported"
msgstr ""
-#: config/mips/mips.h:1000
-msgid "may not use both -mfp64 and -msingle-float"
+#: config/mips/r3900.h:37
+msgid "-msingle-float and -msoft-float can not both be specified"
msgstr ""
-#: config/mips/mips.h:1001
-msgid "may not use both -mfp64 and -m4650"
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
msgstr ""
-#: config/mips/mips.h:1003
-msgid "may not use both -mgp32 and -mfp64"
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
msgstr ""
-#: config/i386/sco5.h:658 config/i386/sco5.h:729
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr ""
+
+#: 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/po/ja.po b/gcc/po/ja.po
index 18e3bc80a99..fd38db2c94d 100644
--- a/gcc/po/ja.po
+++ b/gcc/po/ja.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gcc 3.0\n"
-"POT-Creation-Date: 2001-12-20 04:18-0500\n"
+"POT-Creation-Date: 2002-12-30 18:56+0000\n"
"PO-Revision-Date: 2001-12-05 22:47+0900\n"
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
@@ -15,129 +15,58 @@ msgstr ""
"Content-Type: text/plain; charset=EUC-JP\n"
"Content-Transfer-Encoding: 8bit\n"
-#: attribs.c:306
+#: attribs.c:185
#, c-format
msgid "`%s' attribute directive ignored"
msgstr "`%s' °À­¤Îµ¿»÷Ì¿Î᤬̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: attribs.c:314
+#: attribs.c:193
#, c-format
msgid "wrong number of arguments specified for `%s' attribute"
msgstr "`%s' °À­¤Ë»ØÄꤵ¤ì¤¿°ú¿ô¤Î¸Ä¿ô¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: attribs.c:331
+#: attribs.c:210
#, c-format
msgid "`%s' attribute does not apply to types"
msgstr "`%s' °À­¤Ï·¿¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó"
-#: attribs.c:361
+#: attribs.c:247
#, fuzzy, c-format
msgid "`%s' attribute only applies to function types"
msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
-#: attribs.c:451 attribs.c:473 attribs.c:495 attribs.c:526 attribs.c:548
-#: attribs.c:571 attribs.c:601 attribs.c:639 attribs.c:686 attribs.c:716
-#: attribs.c:746 attribs.c:769 attribs.c:1015 attribs.c:1071 attribs.c:1127
-#: attribs.c:1153 attribs.c:1353 config/arm/arm.c:2005 config/arm/arm.c:2033
-#: config/avr/avr.c:4691 config/h8300/h8300.c:3205 config/h8300/h8300.c:3230
-#: config/i386/i386.c:1256 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 "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: attribs.c:802
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
-
-#: attribs.c:805
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "¥â¡¼¥É `%s' ¤ËÂФ¹¤ë¥Ç¡¼¥¿·¿¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: attribs.c:838
-msgid "section attribute cannot be specified for local variables"
-msgstr "section °À­¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤ËÂФ·¤Æ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
-
-#: attribs.c:849
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
-
-#: attribs.c:858
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: attribs.c:865
-msgid "section attributes are not supported for this target"
-msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: attribs.c:907
-msgid "requested alignment is not a constant"
-msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: attribs.c:912
-msgid "requested alignment is not a power of 2"
-msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬ 2 ¤Î¤Ù¤­¾è¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: attribs.c:917
-msgid "requested alignment is too large"
-msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Â礭¤¹¤®¤Þ¤¹"
-
-#: attribs.c:944
-#, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "`%s' ¤ËÂФ·¤Æ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
-
-#: attribs.c:989
-#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr "`%s' ¤¬Ä̾ï¤Î¤â¤Î¤È¥¨¥¤¥ê¥¢¥¹¤È¤ÎξÊý¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-
-#: attribs.c:999
-msgid "alias arg not a string"
-msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
-
-#: attribs.c:1038 attribs.c:1094
-#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
-
-#: attribs.c:1045 attribs.c:1101
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "ÄêµÁ¤Î¸å¤Ç `%s' °À­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: attribs.c:1180
-#, fuzzy, c-format
-msgid "invalid vector type for attribute `%s'"
-msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-
-#: attribs.c:1202 attribs.c:1207
-msgid "no vector mode with the size and type specified could be found"
-msgstr ""
-
-#: builtins.c:282
+#: builtins.c:285
msgid "offset outside bounds of constant string"
msgstr "¥ª¥Õ¥»¥Ã¥È¤¬Äê¿ôʸ»úÎó¤Î¶­³¦¤Î³°¤Ë¤¢¤ê¤Þ¤¹"
-#: builtins.c:759
+#: builtins.c:765
#, fuzzy
msgid "second arg to `__builtin_prefetch' must be a constant"
msgstr "`__builtin_expect' ¤Ø¤ÎÂèÆó°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: builtins.c:766
+#: builtins.c:772
#, fuzzy
msgid "invalid second arg to __builtin_prefetch; using zero"
msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
-#: builtins.c:773
+#: builtins.c:779
#, fuzzy
msgid "third arg to `__builtin_prefetch' must be a constant"
msgstr "`__builtin_expect' ¤Ø¤ÎÂèÆó°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: builtins.c:780
+#: builtins.c:786
#, fuzzy
msgid "invalid third arg to __builtin_prefetch; using zero"
msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
@@ -149,1279 +78,1461 @@ msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
#. 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:2745
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
msgstr "__builtin_saveregs ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: builtins.c:2787
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr "`__builtin_args_info' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: builtins.c:2793
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
-#: builtins.c:2799
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
msgstr "`__builtin_args_info' ¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: builtins.c:2831
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
msgstr "`va_start' ¤¬¸ÇÄê¸Ä°ú¿ô¤Î´Ø¿ôÆâ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: builtins.c:2850
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
msgstr "`va_start' ¤ÎÆóÈÖÌܤÎÃͤ¬°ú¿ô¤ÎºÇ¸å¤Î̾Á°¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó"
#. 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:2855
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr "`__builtin_next_arg' ¤¬°ú¿ô̵¤·¤Ç¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤·¤¿"
-#: builtins.c:2959
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
msgstr "`va_start' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: builtins.c:3043
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
msgstr "`va_arg' ¤ËÂФ¹¤ëÂè°ì°ú¿ô¤¬ `va_list' ·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: builtins.c:3071
+#. 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:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
msgstr "`%s' ¤Ï `...' ¤Î½èÍý¤Î²áÄø¤Ç `%s' ¤Ë³Ê¾å¤²¤µ¤ì¤Þ¤·¤¿"
-#: builtins.c:3075
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
msgstr "(½¾¤Ã¤Æ¡¢`va_arg' ¤Ë¤Ï `%s' ¤ò(`%s' ¤Ç¤Ê¤¯)ÅϤµ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó)"
-#: builtins.c:3199
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
msgstr "`__builtin_frame_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
-#: builtins.c:3201
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
-#: builtins.c:3215
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ `__builtin_frame_address' ¤Ø¤Î°ú¿ô¤Ç¤¹"
-#: builtins.c:3217
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ `__builtin_return_address' ¤Ø°ú¿ô¤Ç¤¹"
-#: builtins.c:3381
+#: builtins.c:3515
msgid "second arg to `__builtin_expect' must be a constant"
msgstr "`__builtin_expect' ¤Ø¤ÎÂèÆó°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: builtins.c:3844
+#: builtins.c:4010
msgid "__builtin_longjmp second argument must be 1"
msgstr "__builtin_longjmp ÂèÆó°ú¿ô¤Ï 1 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: builtins.c:3858
-msgid "__builtin_trap not supported by this target"
-msgstr "__builtin_trap ¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
#. just do library call, if unknown builtin
-#: builtins.c:3914 c-common.c:3605
+#: builtins.c:4074 c-common.c:4437
#, c-format
msgid "built-in function `%s' not currently supported"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤Ï¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: c-common.c:506
+#: builtins.c:4147
+#, fuzzy
+msgid "target format does not support infinity"
+msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï interworking ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+#: c-common.c:1163
#, fuzzy, c-format
msgid "`%s' is not defined outside of function scope"
msgstr "¥é¥Ù¥ë `%s' ¤¬´Ø¿ô¤Î³°Â¦¤Î²¿¤«¤ò»²¾È¤·¤Þ¤·¤¿"
-#: c-common.c:546
-msgid "concatenation of string literals with __FUNCTION__ is deprecated. This feature will be removed in future"
-msgstr ""
-
-#: c-common.c:615
+#: 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 "ʸ»úÎóĹ `%d' ¤Ï¡¢Ä¹¤µ `%d' (ISO C%d ¥³¥ó¥Ñ¥¤¥é¤Î¥µ¥Ý¡¼¥ÈÍ×·ï)¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-common.c:663 ch/decl.c:4100
+#: 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:684
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr "¼°¤ÎÀ°¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: c-common.c:693
+#: c-common.c:1368
msgid "floating point overflow in expression"
msgstr "¼°¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+#: c-common.c:1374
+#, fuzzy
+msgid "vector overflow in expression"
+msgstr "¼°¤ÎÀ°¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:714
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr "Â礭¤ÊÀ°¿ô¤¬°ÅÌÛ¤ËÉä¹ç̵¤··¿¤ËÀÚ¤êµÍ¤á¤é¤ì¤Þ¤·¤¿"
-#: c-common.c:716
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr "Éé¤ÎÀ°¿ô¤¬°ÅÌÛ¤ËÉä¹ç̵¤··¿¤ËÊÑ´¹¤µ¤ì¤Þ¤·¤¿"
-#: c-common.c:763
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr "°ÅÌÛ¤ÎÄê¿ôÊÑ´¹¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: c-common.c:911
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
msgstr "`%s' ¤Ç¤Î±é»»¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹"
-#: c-common.c:1202
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr "¼°¤ÎÃæ¤Îʸ¤ËÉÔ´°Á´·¿¤¬¤¢¤ê¤Þ¤¹"
-#: c-common.c:1235 ch/actions.c:1027
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "case ¥é¥Ù¥ë¤òÀ°¿ôÄê¿ô¤Ë´Ô¸µ¤Ç¤­¤Þ¤»¤ó"
-#: c-common.c:1533
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "¿¿µ¶Ãͼ°¤¬ÉÔŬÀڤǤ¹"
-#: c-common.c:1584
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
-#: c-common.c:1819 c-common.c:1828
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
msgstr "¥Ç¡¼¥¿·¿¤ÎÈÏ°ÏÀ©¸Â¤Ë¤è¤Ã¤Æ¡¢Èæ³Ó¤¬¾ï¤Ë false ¤È¤Ê¤ê¤Þ¤¹"
-#: c-common.c:1821 c-common.c:1830
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
msgstr "¥Ç¡¼¥¿·¿¤ÎÈÏ°ÏÀ©¸Â¤Ë¤è¤Ã¤Æ¡¢Èæ³Ó¤¬¾ï¤Ë true ¤È¤Ê¤ê¤Þ¤¹"
-#: c-common.c:1896
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr "Éä¹ç̵¤·¤Î¼° >= 0 ¤È¤¤¤¦Èæ³Ó¤Ï¾ï¤Ë true ¤Ç¤¹"
-#: c-common.c:1905
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr "Éä¹ç̵¤·¤Î¼° < 0 ¤È¤¤¤¦Èæ³Ó¤Ï¾ï¤Ë false ¤Ç¤¹"
-#: c-common.c:1956 f/com.c:14834
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr "`void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+#: c-common.c:2648
+#, fuzzy
+msgid "pointer to member function used in arithmetic"
+msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+#: c-common.c:2654
+#, fuzzy
+msgid "pointer to a member used in arithmetic"
+msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+#: c-common.c:2741 f/com.c:14690
msgid "struct type value used where scalar is required"
msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤Ë¹½Â¤Âη¿¤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: c-common.c:1960 f/com.c:14838
+#: c-common.c:2745 f/com.c:14694
msgid "union type value used where scalar is required"
msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤Ë¶¦ÍÑÂη¿¤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: c-common.c:1964 f/com.c:14842
+#: c-common.c:2749 f/com.c:14698
msgid "array type value used where scalar is required"
msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤ËÇÛÎ󷿤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: c-common.c:2079 f/com.c:14968
+#: c-common.c:2869 f/com.c:14831
msgid "suggest parentheses around assignment used as truth value"
msgstr "¿¿µ¶ÃͤȤ·¤Æ»È¤ï¤ì¤ëÂåÆþ¤Î¤Þ¤ï¤ê¤Ç¤Ï¡¢´Ý³ç¸Ì¤Î»ÈÍѤò¤ª´«¤á¤·¤Þ¤¹"
-#: c-common.c:2123 c-common.c:2155
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
-#: c-common.c:2271
-msgid "__alignof__ applied to an incomplete type"
+#: c-common.c:3059
+#, fuzzy
+msgid "invalid application of `sizeof' to a function type"
+msgstr "ISO C++ ¤Ï´Ø¿ô·¿¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+#: c-common.c:3069
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Ê¤¤·¿¤ËÂФ¹¤ë̵¸ú¤ÊÁàºî¤Ç¤¹"
+
+#: c-common.c:3075
+#, fuzzy, c-format
+msgid "invalid application of `%s' to an incomplete type"
msgstr "__alignof__ ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-#: c-common.c:2297
+#: c-common.c:3116
msgid "`__alignof' applied to a bit-field"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ë `__alignof' ¤¬Å¬ÍѤµ¤ì¤Þ¤·¤¿"
-#: c-common.c:2739
+#: c-common.c:3596
#, fuzzy, c-format
msgid "cannot disable built-in function `%s'"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-#: c-common.c:3020 c-typeck.c:1767
+#: c-common.c:3765 c-typeck.c:1734
#, c-format
msgid "too few arguments to function `%s'"
msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-#: c-common.c:3026 c-typeck.c:1620
+#: c-common.c:3771 c-typeck.c:1587
#, c-format
msgid "too many arguments to function `%s'"
msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: c-common.c:3213
+#: c-common.c:3790
+#, fuzzy, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#: c-common.c:4059
msgid "pointers are not permitted as case values"
msgstr "case ¤ÎÃͤȤ·¤Æ¤Î¥Ý¥¤¥ó¥¿¤Ïµö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: c-common.c:3219
+#: c-common.c:4065
msgid "ISO C++ forbids range expressions in switch statements"
msgstr "ISO C++ ¤Ç¤Ï switch ʸ¤Ç¤ÎÈϰϼ°¤Ï¶Ø¤¸¤é¤ì¤Æ¤¤¤Þ¤¹"
-#: c-common.c:3221
+#: c-common.c:4067
msgid "ISO C forbids range expressions in switch statements"
msgstr "ISO C ¤Ç¤Ï switch ʸ¤Ç¤ÎÈϰϼ°¤Ï¶Ø¤¸¤é¤ì¤Æ¤¤¤Þ¤¹"
-#: c-common.c:3251
+#: c-common.c:4097
msgid "empty range specified"
msgstr "¶õ¤ÎÈϰϤ¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: c-common.c:3302
+#: c-common.c:4148
msgid "duplicate (or overlapping) case value"
msgstr "Æó½Å¤Î(¤¢¤ë¤¤¤Ï½ÅÊ£¤·¤Æ¤¤¤ë) case ¤ÎÃÍ"
-#: c-common.c:3304
+#: c-common.c:4150
msgid "this is the first entry overlapping that value"
msgstr "¤³¤ì¤¬¤½¤ÎÃͤȽÅÊ£¤·¤¿ºÇ½é¤Î¹àÌܤǤ¹"
-#: c-common.c:3308 ch/actions.c:1125
+#: c-common.c:4154
msgid "duplicate case value"
msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
-#: c-common.c:3309
+#: c-common.c:4155
msgid "previously used here"
msgstr "Á°¤Ë¤³¤³¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: c-common.c:3313
+#: c-common.c:4159
msgid "multiple default labels in one switch"
msgstr "°ì¤Ä¤Î switch ¤ËÊ£¿ô¤Î default ¥é¥Ù¥ë¤¬¤¢¤ê¤Þ¤¹"
-#: c-common.c:3314
+#: c-common.c:4160
msgid "this is the first default label"
msgstr "¤³¤ì¤¬ºÇ½é¤Î default ¥é¥Ù¥ë¤Ç¤¹"
-#: c-common.c:3342
+#: c-common.c:4188
#, fuzzy
msgid "ISO C++ forbids taking the address of a label"
msgstr "ISO C++ ¤Ï `::main' ´Ø¿ô¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: c-common.c:3344
+#: c-common.c:4190
#, fuzzy
msgid "ISO C forbids taking the address of a label"
msgstr "ISO C ¤Ï¥­¥ã¥¹¥È¼°¤Î¥¢¥É¥ì¥¹É¾²Á¤ò¶Ø¤¸¤Þ¤¹"
-#: c-common.c:3937
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr "-Wformat-y2k ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+#: c-common.c:5213
+#, fuzzy, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
-#: c-common.c:3939
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr "-Wformat-extra-args ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+#: c-common.c:5629
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
-#: c-common.c:3941
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr "-Wformat-nonliteral ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+#: c-common.c:5632
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "¥â¡¼¥É `%s' ¤ËÂФ¹¤ë¥Ç¡¼¥¿·¿¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-common.c:3943
-msgid "-Wformat-security ignored without -Wformat"
-msgstr "-Wformat-security ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+#: c-common.c:5641 c-common.c:6242
+#, fuzzy, c-format
+msgid "unable to emulate '%s'"
+msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
-#: c-common.c:3945
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr "-Wmissing-format-attribute ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+#: c-common.c:5677
+msgid "section attribute cannot be specified for local variables"
+msgstr "section °À­¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤ËÂФ·¤Æ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+#: c-common.c:5688
+#, c-format
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+#: c-common.c:5697
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
+
+#: 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 "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬ 2 ¤Î¤Ù¤­¾è¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: c-common.c:5756
+msgid "requested alignment is too large"
+msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Â礭¤¹¤®¤Þ¤¹"
+
+#: c-common.c:5783
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "`%s' ¤ËÂФ·¤Æ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
-#: c-common.c:4036
+#: c-common.c:5828
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr "`%s' ¤¬Ä̾ï¤Î¤â¤Î¤È¥¨¥¤¥ê¥¢¥¹¤È¤ÎξÊý¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+#: c-common.c:5838
+msgid "alias arg not a string"
+msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
+
+#: c-common.c:5885
+#, fuzzy
+msgid "visibility arg not a string"
+msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
+
+#: c-common.c:5894
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr ""
+
+#: c-common.c:5928
+#, fuzzy
+msgid "tls_model arg not a string"
+msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
+
+#: 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 "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
+
+#: c-common.c:5969 c-common.c:6025
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "ÄêµÁ¤Î¸å¤Ç `%s' °À­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+#: c-common.c:6109
#, fuzzy, c-format
-msgid "declaration of `%s' shadows %s"
-msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
+msgid "`%s' attribute ignored for `%s'"
+msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-convert.c:78 c-typeck.c:1031 c-typeck.c:4129 ch/convert.c:1164
-#: cp/typeck.c:1736 cp/typeck.c:6298
-msgid "void value not ignored as it ought to be"
-msgstr "void ¤ÎÃͤ¬ËÜÍè¤Î°ÕÌ£Ä̤ê¤Ë̵»ë¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
+#: c-common.c:6174
+#, fuzzy, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-#: c-convert.c:110 java/typeck.c:150
-msgid "conversion to non-scalar type requested"
-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
+#, fuzzy
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "²¾°ú¿ô¤Î¿ô¤¬¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:458
-msgid "-traditional is deprecated and may be removed"
+#: c-common.c:6344
+#, fuzzy, 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-decl.c:548
+#: c-common.c:6457
#, c-format
-msgid "unknown C standard `%s'"
-msgstr "ÉÔÌÀ¤Ê C ɸ½à `%s'"
+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 "void ¤ÎÃͤ¬ËÜÍè¤Î°ÕÌ£Ä̤ê¤Ë̵»ë¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
+
+#: c-convert.c:112 java/typeck.c:150
+msgid "conversion to non-scalar type requested"
+msgstr "Èó¥¹¥«¥é¡¼·¿¤Ø¤ÎÊÑ´¹¤¬Í׵ᤵ¤ì¤Þ¤¹"
-#: c-decl.c:830
+#: c-decl.c:336
#, c-format
msgid "array `%s' assumed to have one element"
msgstr "ÇÛÎó `%s' ¤Ï°ìÍ×ÁǤò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤µ¤ì¤Þ¤¹"
-#: c-decl.c:1006
+#: c-decl.c:522
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr "¥¹¥³¡¼¥×¤¬½ª¤ï¤ë¤³¤Î°ÌÃ֤ǡ¢`struct %s' ¤¬ÉÔ´°Á´¤Ç¤¹"
-#: c-decl.c:1009
+#: c-decl.c:525
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr "¥¹¥³¡¼¥×¤¬½ª¤ï¤ë¤³¤ÎÉôʬ¤Ç `union %s' ¤¬ÉÔ´°Á´¤Ç¤¹"
-#: c-decl.c:1012
+#: c-decl.c:528
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr "¥¹¥³¡¼¥×¤¬½ª¤ï¤ë¤³¤ÎÉôʬ¤Ç `enum %s' ¤¬ÉÔ´°Á´¤Ç¤¹"
-#: c-decl.c:1126 c-decl.c:1267 ch/decl.c:2920 java/decl.c:1383
+#: c-decl.c:642 c-decl.c:767 java/decl.c:1399
#, c-format
msgid "label `%s' used but not defined"
msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: c-decl.c:1132 c-decl.c:1274 ch/decl.c:2926 java/decl.c:1389
+#: c-decl.c:648 c-decl.c:774 java/decl.c:1405
#, c-format
msgid "label `%s' defined but not used"
msgstr "¥é¥Ù¥ë `%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: c-decl.c:1391 cp/decl.c:3119
+#: c-decl.c:889 cp/decl.c:3058
#, fuzzy, c-format
msgid "function `%s' redeclared as inline"
msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:1393 cp/decl.c:3121
+#: c-decl.c:891 cp/decl.c:3060
#, fuzzy, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr "%s: ´Ø¿ô `%s' ¤ÎÀë¸À¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: c-decl.c:1400 cp/decl.c:3128
+#: c-decl.c:898 cp/decl.c:3067
#, fuzzy, c-format
msgid "function `%s' redeclared with attribute noinline"
msgstr "´Ø¿ô `%s' ¤Ï¥Ö¥í¥Ã¥¯Æâ¤ÎÁ°Êý¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1402 cp/decl.c:3130
+#: c-decl.c:900 cp/decl.c:3069
#, fuzzy, c-format
msgid "previous declaration of function `%s' was inline"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: c-decl.c:1431 c-decl.c:1484
+#: c-decl.c:929 c-decl.c:975
#, c-format
msgid "shadowing built-in function `%s'"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-#: c-decl.c:1433
+#: c-decl.c:931
#, c-format
msgid "shadowing library function `%s'"
msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-#: c-decl.c:1439
+#: c-decl.c:937
#, c-format
msgid "library function `%s' declared as non-function"
msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:1443 c-decl.c:1446
+#: c-decl.c:941 c-decl.c:944
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:1450 objc/objc-act.c:2334 objc/objc-act.c:6028
+#: 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 "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:1451 c-decl.c:1633 c-decl.c:1782 objc/objc-act.c:2336
-#: objc/objc-act.c:6030 objc/objc-act.c:6085
+#: 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 "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1537
+#: c-decl.c:1044
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
-#: c-decl.c:1580 c-decl.c:1599
+#: c-decl.c:1087 c-decl.c:1106
#, c-format
msgid "conflicting types for `%s'"
msgstr "`%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
-#: c-decl.c:1622
+#: c-decl.c:1129
#, fuzzy
msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
msgstr "¾Êάµ­¹æÉÕ¤­¥Ñ¥é¥á¥¿¥ê¥¹¥È¤Ï¡¢¶õ¤Î²¾°ú¿ô̾¥ê¥¹¥ÈÀë¸À¤È°ìÃפǤ­¤Þ¤»¤ó¡£"
-#: c-decl.c:1628
+#: c-decl.c:1135
#, fuzzy
msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
msgstr "¥Ç¥Õ¥©¥ë¥È¤Ç³Ê¾å¤²¤µ¤ì¤ë·¿¤Î°ú¿ô¤¬¡¢¶õ¤Î²¾°ú¿ô̾¥ê¥¹¥ÈÀë¸À¤ÈŬ¹ç¤·¤Þ¤»¤ó¡£"
-#: c-decl.c:1643 c-decl.c:1665
+#: c-decl.c:1146
+#, fuzzy, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+#: c-decl.c:1153
+#, fuzzy, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+#: c-decl.c:1164 c-decl.c:1187
#, c-format
msgid "redefinition of `%s'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:1646
+#: c-decl.c:1167
#, c-format
msgid "redeclaration of `%s'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:1649
+#: c-decl.c:1170
#, c-format
msgid "conflicting declarations of `%s'"
msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1692
+#: c-decl.c:1214
#, c-format
msgid "prototype for `%s' follows"
msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
-#: c-decl.c:1693 c-decl.c:1701 c-decl.c:1717
+#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234
msgid "non-prototype definition here"
msgstr "Èó¥×¥í¥È¥¿¥¤¥×ÄêµÁ¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹"
-#: c-decl.c:1700
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¡¢°ú¿ô¤Î¸Ä¿ô¤¬°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:1715
+#: c-decl.c:1232
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¡¢°ú¿ô %d ¤¬°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:1733
+#: c-decl.c:1250
#, c-format
msgid "`%s' declared inline after being called"
msgstr "`%s' ¤Ï¸Æ¤Ó½Ð¤µ¤ì¤ë¤è¤ê¤â¸å¤í¤Ç inline Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1739
+#: c-decl.c:1256
#, c-format
msgid "`%s' declared inline after its definition"
msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤è¤ê¤â¸å¤Ç inline Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1746
+#: c-decl.c:1263
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr "`%s' ¤ÏÈó static ¤Î¸å¤Ç static Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1754
+#: c-decl.c:1271
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr "`%s' ¤Ï static ¤Î¸å¤ÇÈó static Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1761
+#: c-decl.c:1278
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr "`%s' ¤ÏÈó const ¤Î¸å¤Ç const Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:1768
+#: c-decl.c:1285
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr "`%s' ¤Î·¿½¤¾þ»Ò¤¬Á°Êý¤ÎÀë¸À¤ÈÌ·½â¤·¤Þ¤¹"
-#: c-decl.c:1781
+#: c-decl.c:1298
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr "`%s' ¤Î¾éĹ¤ÊºÆÀë¸À¤¬Æ±°ì¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
-#: c-decl.c:2073 java/decl.c:1082
+#: c-decl.c:1599 java/decl.c:1098
#, c-format
msgid "declaration of `%s' shadows a parameter"
msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
-#: c-decl.c:2076 java/decl.c:1085
+#: c-decl.c:1602 java/decl.c:1101
#, c-format
msgid "declaration of `%s' shadows a symbol from the parameter list"
msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¥ê¥¹¥È¤Î¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
-#: c-decl.c:2097 cp/decl.c:4204
+#: c-decl.c:1623 cp/decl.c:4176
#, fuzzy
msgid "a parameter"
msgstr "²¾°ú¿ô `%s' ¤Ï̵¸ú¤Ç¤¹"
-#: c-decl.c:2099 cp/decl.c:4221
+#: c-decl.c:1625 cp/decl.c:4193
msgid "a previous local"
msgstr ""
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2103 cp/decl.c:4225
+#: c-decl.c:1629 cp/decl.c:4197
#, fuzzy
msgid "a global declaration"
msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
-#: c-decl.c:2147
+#: c-decl.c:1673
#, c-format
msgid "nested extern declaration of `%s'"
msgstr "`%s' ¤Î extern Àë¸À¤¬¥Í¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:2167 java/decl.c:1035
+#: c-decl.c:1692 java/decl.c:1051
#, c-format
msgid "`%s' used prior to declaration"
msgstr "`%s' ¤ÏÀë¸À¤è¤ê¤âÀè¤Ë»ÈÍѤµ¤ì¤Þ¤·¤¿"
-#: c-decl.c:2182 c-decl.c:2397
+#: c-decl.c:1706 c-decl.c:1881
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr "`%s' ¤Ï°ÅÌÛ¤Ë `extern' Àë¸À¤µ¤ì¡¢¸å¤Ë `static' Àë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:2292 cp/decl.c:4060
+#: c-decl.c:1809 cp/decl.c:4035
msgid "type mismatch with previous external decl"
msgstr "·¿¤¬Á°Êý¤Î³°ÉôÀë¸À¤È°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:2293
+#: c-decl.c:1810
#, c-format
msgid "previous external decl of `%s'"
msgstr "Á°Êý¤Î `%s' ¤Î³°ÉôÀë¸À"
-#: c-decl.c:2306
+#: c-decl.c:1823
msgid "type mismatch with previous implicit declaration"
msgstr "·¿¤¬Á°Êý¤Î°ÅÌÛ¤ÎÀë¸À¤È°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:2308
+#: c-decl.c:1825
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤Î°ÅÌÛŪ¤ÊÀë¸À"
-#: c-decl.c:2325
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr "³°Éô `%s' ¤Î·¿¤Ï¥°¥í¡¼¥Ð¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: c-decl.c:2376
+#: c-decl.c:1860
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr "`%s' ¤ÏÁ°Êý¤Ç°ÅÌÛŪ¤Ë `int' ¤òÊÖ¤¹¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:2401
+#: c-decl.c:1885
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr "`%s' ¤Ï `extern' ¤ÈÀë¸À¤µ¤ì¡¢¸å¤Ç `static' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:2425
+#: c-decl.c:1909
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr "`%s' ¤Îextern Àë¸À¤Ï¥°¥í¡¼¥Ð¥ë¤Î¤½¤ì¤È°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:2467
+#: c-decl.c:1951
#, c-format
msgid "`%s' locally external but globally static"
msgstr "`%s' ¤Ï¥í¡¼¥«¥ëŪ¤Ë¤Ï extern ¤Ç¤¹¤¬¡¢¥°¥í¡¼¥Ð¥ëŪ¤Ë static ¤Ç¤¹"
-#: c-decl.c:2589
+#: c-decl.c:2073
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr "´Ø¿ô `%s' ¤Ï¥Ö¥í¥Ã¥¯Æâ¤ÎÁ°Êý¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:2609 c-decl.c:2611
+#: c-decl.c:2093 c-decl.c:2095
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
-#: c-decl.c:2699
+#: c-decl.c:2174
#, c-format
msgid "label %s referenced outside of any function"
msgstr "¥é¥Ù¥ë %s ¤¬¤¢¤é¤æ¤ë´Ø¿ô¤Î³°Â¦¤Ç»²¾È¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:2756
+#: c-decl.c:2231
#, c-format
msgid "duplicate label declaration `%s'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:2759
+#: c-decl.c:2234
msgid "this is a previous declaration"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: c-decl.c:3267
+#: c-decl.c:2657
msgid "unnamed struct/union that defines no instances"
msgstr "̵̾¹½Â¤ÂÎ/¶¦ÍÑÂΤ¬¡¢¤½¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÄêµÁ¤·¤Æ¤¤¤Þ¤»¤ó"
-#: c-decl.c:3286
+#: c-decl.c:2676
msgid "useless keyword or type name in empty declaration"
msgstr "¶õ¤ÎÀë¸À¤ÎÃæ¤Ë¡¢Ìµ°ÕÌ£¤Ê¥­¡¼¥ï¡¼¥ÉËô¤Ï·¿Ì¾¤¬¤¢¤ê¤Þ¤¹"
-#: c-decl.c:3293
+#: c-decl.c:2683
msgid "two types specified in one empty declaration"
msgstr "°ì¤Ä¤Î¶õ¤ÎÀë¸ÀÃæ¤Ë¡¢Æó¤Ä¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:3298 c-parse.y:721 c-parse.y:723 parse.y:731 parse.y:1803
-#: objc-parse.y:757 objc-parse.y:759 objc-parse.y:2962
+#: 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:3328
-#, fuzzy
-msgid "ISO C89 does not support `static' or type qualifiers in parameter array declarators"
-msgstr "ISO C89 ¤Ï²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+#: c-decl.c:2718
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr ""
-#: c-decl.c:3330
+#: c-decl.c:2720
#, fuzzy
-msgid "ISO C89 does not support `[*]' array declarators"
+msgid "ISO C90 does not support `[*]' array declarators"
msgstr "ISO C89 ¤Ï²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-decl.c:3333
+#: c-decl.c:2723
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr ""
-#: c-decl.c:3352
+#: c-decl.c:2742
#, fuzzy
msgid "static or type qualifiers in abstract declarator"
msgstr "¥Ý¥¤¥ó¥¿Àë¸À»Ò¤ËÉÔŬÀڤʷ¿½¤¾þ»Ò"
-#: c-decl.c:3417
+#: c-decl.c:2816
#, c-format
msgid "`%s' is usually a function"
msgstr "`%s' ¤ÏÄ̾ï¤Ï´Ø¿ô¤Ç¤¹"
-#: c-decl.c:3431
-#, c-format
-msgid "typedef `%s' is initialized"
+#: c-decl.c:2825
+#, fuzzy, c-format
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
msgstr "typedef `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:3438
+#: c-decl.c:2831
#, c-format
msgid "function `%s' is initialized like a variable"
msgstr "´Ø¿ô `%s' ¤¬ÊÑ¿ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë½é´ü²½¤µ¤ì¤Þ¤·¤¿"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3445
+#: c-decl.c:2838
#, c-format
msgid "parameter `%s' is initialized"
msgstr "²¾°ú¿ô `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:3465 c-typeck.c:4870
+#: c-decl.c:2858 c-typeck.c:4854
msgid "variable-sized object may not be initialized"
msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
-#: c-decl.c:3471
+#: c-decl.c:2864
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr "ÊÑ¿ô `%s' ¤Ë¤Ï½é´ü²½»Ò¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÉÔ´°Á´·¿¤Ç¤¹"
-#: c-decl.c:3477
+#: c-decl.c:2870
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr "ÇÛÎó `%s' ¤ÎÍ×ÁǤËÉÔ´°Á´·¿¤¬¤¢¤ê¤Þ¤¹"
-#: c-decl.c:3490
+#: c-decl.c:2883
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
msgstr "`%s' ¤ÎÀë¸À¤Ë `extern' ¤¬¤Ä¤¤¤Æ¤ª¤ê¡¢½é´ü²½¤â¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:3525 c-decl.c:6150 cp/decl.c:7241 cp/decl.c:13502
+#: c-decl.c:2932 c-decl.c:5694 cp/decl.c:7353 cp/decl.c:13860
#, fuzzy, c-format
msgid "inline function `%s' given attribute noinline"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:3606
+#: c-decl.c:3006
#, c-format
msgid "initializer fails to determine size of `%s'"
msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-#: c-decl.c:3611
+#: c-decl.c:3011
#, c-format
msgid "array size missing in `%s'"
msgstr "`%s' ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:3627
+#: c-decl.c:3027
#, c-format
msgid "zero or negative size array `%s'"
msgstr "`%s' ¤ÎÇÛÎó¥µ¥¤¥º¤¬¥¼¥íËô¤ÏÉé¤Ç¤¹"
-#: c-decl.c:3655 ch/decl.c:4133
+#: c-decl.c:3055
#, c-format
msgid "storage size of `%s' isn't known"
msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬¤ï¤«¤ê¤Þ¤»¤ó"
-#: c-decl.c:3665
+#: c-decl.c:3065
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬°ìÄê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:3724
+#: c-decl.c:3125
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr "Èó static ¥í¡¼¥«¥ëÊÑ¿ô `%s' ¤Ø¤Î asm »ØÄê»Ò¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: c-decl.c:3799
+#: c-decl.c:3190
#, fuzzy, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr "ANSI C ¤Ï typedef ¤òʤ¤¤±£¤¹²¾°ú¿ô `%s' ¤ò¶Ø¤¸¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4095 cp/decl.c:10038
+#: c-decl.c:3535 cp/decl.c:10433
msgid "`long long long' is too long for GCC"
msgstr "`long long long' ¤Ï GCC ¤Ë¤È¤Ã¤ÆŤ¹¤®¤Þ¤¹"
-#: c-decl.c:4100
-msgid "ISO C89 does not support `long long'"
+#: c-decl.c:3540
+#, fuzzy
+msgid "ISO C90 does not support `long long'"
msgstr "ISO C89 ¤Ï `long long' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-decl.c:4105 cp/decl.c:10043
+#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438
#, c-format
msgid "duplicate `%s'"
msgstr "`%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4111 cp/decl.c:10067
+#: 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 "`%s' ¤ÎÀë¸À¤ËÆó¤Ä°Ê¾å¤Î¥Ç¡¼¥¿·¿¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4126 cp/decl.c:10072
+#: c-decl.c:3592 cp/decl.c:10479
#, c-format
msgid "`%s' fails to be a typedef or built in type"
msgstr "`%s' ¤ò typedef ¤Þ¤¿¤ÏÁȤ߹þ¤ß·¿¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: c-decl.c:4165
+#: c-decl.c:3631
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr "`%s' ¤ÎÀë¸À¤Ç·¿¤¬¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4194
+#: c-decl.c:3660
#, c-format
msgid "both long and short specified for `%s'"
msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4198 cp/decl.c:10186
+#: c-decl.c:3664 cp/decl.c:10594
#, c-format
msgid "long or short specified with char for `%s'"
msgstr "`%s' ¤ËÂФ·¤Æ char ¤È¤È¤â¤Ë long ¤Þ¤¿¤Ï short ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4205 cp/decl.c:10190
+#: c-decl.c:3671 cp/decl.c:10598
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr "`%s' ¤ËÂФ·¤ÆÉâÆ°¾®¿ô·¿¤È¤È¤â¤Ë long ¤Þ¤¿¤Ï short ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4208
+#: c-decl.c:3674
msgid "the only valid combination is `long double'"
msgstr "Í£°ì¤ÎÍ­¸ú¤ÊÁȹç¤ï¤»¤Ï `long double' ¤Ç¤¹"
-#: c-decl.c:4214
+#: c-decl.c:3680
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4216 cp/decl.c:10179
+#: c-decl.c:3682 cp/decl.c:10587
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr "`%s' ¤ËÂФ·¤Æ long, short, signed ¤Þ¤¿¤Ï unsigned ¤ÏÉÔŬÀڤǤ¹"
-#: c-decl.c:4222 cp/decl.c:10199
+#: c-decl.c:3688 cp/decl.c:10607
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr "`%s' ¤ËÂФ¹¤ë long, short, singed ¤ä unsigned ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
-#: c-decl.c:4241 cp/decl.c:10220
+#: c-decl.c:3706 cp/decl.c:10628
#, c-format
msgid "complex invalid for `%s'"
msgstr "`%s' ¤ËÂФ·¤Æ complex ¤ÏÉÔŬÀڤǤ¹"
-#: c-decl.c:4286
-msgid "ISO C89 does not support complex types"
+#: c-decl.c:3748
+#, fuzzy
+msgid "ISO C90 does not support complex types"
msgstr "ISO C89 ¤Ï complex ·¿¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-decl.c:4298
+#: c-decl.c:3760
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr "ISO C ¤Ï `double complex' ¤ò°ÕÌ£¤¹¤ë̵½¤¾þ¤Î `complex' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-decl.c:4304 c-decl.c:4316
+#: c-decl.c:3766 c-decl.c:3778
msgid "ISO C does not support complex integer types"
msgstr "ISO C ¤ÏÀ°¿ô·¿¤Î complex ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-decl.c:4331 c-decl.c:4770 cp/decl.c:10822
+#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241
msgid "duplicate `const'"
msgstr "½ÅÊ£¤·¤¿ `const'"
-#: c-decl.c:4333 c-decl.c:4774 cp/decl.c:10826
+#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245
msgid "duplicate `restrict'"
msgstr "½ÅÊ£¤·¤¿¥é¥Ù¥ë `restrict'"
-#: c-decl.c:4335 c-decl.c:4772 cp/decl.c:10824
+#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243
msgid "duplicate `volatile'"
msgstr "½ÅÊ£¤·¤¿ `volatile'"
-#: c-decl.c:4357 cp/decl.c:10371
+#: c-decl.c:3825 cp/decl.c:10791
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "`%s' ¤ÎÀë¸À¤Ë¤ª¤¤¤ÆÊ£¿ô¤ÎÊݸ¥¯¥é¥¹"
-#: c-decl.c:4366
+#: c-decl.c:3835
msgid "function definition declared `auto'"
msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `auto' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4368
+#: c-decl.c:3837
msgid "function definition declared `register'"
msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `register' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4370
+#: c-decl.c:3839
msgid "function definition declared `typedef'"
msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4383
+#: c-decl.c:3841
+#, fuzzy
+msgid "function definition declared `__thread'"
+msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+#: c-decl.c:3854
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr "¹½Â¤ÂÎ¥Õ¥£¡¼¥ë¥É `%s' ¤Ë»ØÄꤵ¤ì¤¿µ­²±¥¯¥é¥¹"
-#: c-decl.c:4387 cp/decl.c:10418
+#: c-decl.c:3858 cp/decl.c:10838
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "²¾°ú¿ô `%s' ¤Ç»ØÄꤵ¤ì¤¿µ­²±¥¯¥é¥¹"
-#: c-decl.c:4390 cp/decl.c:10420
+#: c-decl.c:3861 cp/decl.c:10840
msgid "storage class specified for typename"
msgstr "·¿Ì¾¤ËÂФ·¤Æ»ØÄꤵ¤ì¤¿µ­²±¥¯¥é¥¹"
-#: c-decl.c:4402 cp/decl.c:10434
+#: c-decl.c:3873 cp/decl.c:10855
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr "`%s' ¤¬½é´ü²½¤µ¤ì¤ë¤È¤³¤í¤Ç¡¢`extern' Àë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4404 cp/decl.c:10437
+#: c-decl.c:3875 cp/decl.c:10858
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr "`%s' ¤Ë `extern' ¤È½é´ü²½»Ò¤ÎξÊý¤¬¤¢¤ê¤Þ¤¹"
-#: c-decl.c:4408 cp/decl.c:10441
+#: c-decl.c:3880 cp/decl.c:10866
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+
+#: c-decl.c:3885 cp/decl.c:10862
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "¥Í¥¹¥È¤·¤¿´Ø¿ô `%s' ¤Ï `extern' ¤ËÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4411 cp/decl.c:10445
-#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+#: c-decl.c:3891 cp/decl.c:10872
+#, fuzzy, c-format
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "´Ø¿ô `%s' ¤ò `mutable' ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
#. 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:4446 c-decl.c:4635
+#: c-decl.c:3930 c-decl.c:4118
#, fuzzy
msgid "static or type qualifiers in non-parameter array declarator"
msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
-#: c-decl.c:4490
+#: c-decl.c:3974
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr "`%s' ¤ÎÀë¸À¤Ï void ¤ÎÇÛÎó"
-#: c-decl.c:4496
+#: c-decl.c:3980
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "`%s' ¤ÎÀë¸À¤Ï´Ø¿ô¤ÎÇÛÎó"
-#: c-decl.c:4517
+#: c-decl.c:3985 c-decl.c:5250
+#, fuzzy
+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 "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
-#: c-decl.c:4522
+#: c-decl.c:4009
#, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: c-decl.c:4529
+#: c-decl.c:4016
#, c-format
msgid "size of array `%s' is negative"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Éé¤Ç¤¹"
-#: c-decl.c:4542
-#, c-format
-msgid "ISO C89 forbids array `%s' whose size can't be evaluated"
+#: c-decl.c:4029
+#, fuzzy, c-format
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
msgstr "ISO C89 ¤Ï¥µ¥¤¥º¤¬É¾²Á¤Ç¤­¤Ê¤¤ÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: c-decl.c:4545
-#, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
+#: c-decl.c:4032
+#, fuzzy, c-format
+msgid "ISO C90 forbids variable-size array `%s'"
msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: c-decl.c:4575 c-decl.c:4796 cp/decl.c:11043
+#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450
#, c-format
msgid "size of array `%s' is too large"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Â礭¤¹¤®¤Þ¤¹"
-#: c-decl.c:4592
-msgid "ISO C89 does not support flexible array members"
+#: c-decl.c:4075
+#, fuzzy
+msgid "ISO C90 does not support flexible array members"
msgstr "ISO C89 ¤Ï²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-decl.c:4602
+#: c-decl.c:4085
msgid "array type has incomplete element type"
msgstr "ÇÛÎó¤Î·¿¤¬ÉÔ´°Á´Í×ÁÇ·¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4609 c-decl.c:4846
+#: c-decl.c:4092 c-decl.c:4322
msgid "ISO C forbids const or volatile function types"
msgstr "ISO C ¤Ï const ¤ä volatile ¤Î´Ø¿ô·¿¤ò¶Ø¤¸¤Þ¤¹"
-#: c-decl.c:4655 cp/decl.c:10582
+#: c-decl.c:4138 cp/decl.c:10998
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "`%s' ¤Ï´Ø¿ô¤òÊÖ¤¹´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4660 cp/decl.c:10587
+#: c-decl.c:4143 cp/decl.c:11003
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "`%s' ¤ÏÇÛÎó¤òÊÖ¤¹´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4695
+#: c-decl.c:4171
msgid "ISO C forbids qualified void function return type"
msgstr "ISO C ¤Ï½¤¾þÉÕ¤­ void ·¿¤ÎÌá¤êÃͤò»ý¤Ä´Ø¿ô¤ò¶Ø¤¸¤Þ¤¹"
-#: c-decl.c:4699
+#: c-decl.c:4175
msgid "type qualifiers ignored on function return type"
msgstr "´Ø¿ôÌá¤êÃͤη¿½¤¾þ»Ò¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:4728 c-decl.c:4811 c-decl.c:4935 c-decl.c:5029
+#: c-decl.c:4204 c-decl.c:4287 c-decl.c:4411 c-decl.c:4503
msgid "ISO C forbids qualified function types"
msgstr "ISO C ¤Ï´Ø¿ô¤Î·¿½¤¾þ»Ò¤ò¶Ø¤¸¤Þ¤¹"
-#: c-decl.c:4768 cp/decl.c:10818
+#: c-decl.c:4244 cp/decl.c:11237
msgid "invalid type modifier within pointer declarator"
msgstr "¥Ý¥¤¥ó¥¿Àë¸À»Ò¤ËÉÔŬÀڤʷ¿½¤¾þ»Ò"
-#: c-decl.c:4866 cp/decl.c:11326
+#: c-decl.c:4342 cp/decl.c:11732
#, c-format
msgid "variable or field `%s' declared void"
msgstr "ÊÑ¿ô¤Þ¤¿¤ÏÎΰè `%s' ¤Ï void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4899
+#: c-decl.c:4375
#, fuzzy
msgid "attributes in parameter array declarator ignored"
msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Ç `::' ¤ò»È¤¨¤Þ¤»¤ó"
-#: c-decl.c:4924
+#: c-decl.c:4400
#, fuzzy
msgid "invalid type modifier within array declarator"
msgstr "¥Ý¥¤¥ó¥¿Àë¸À»Ò¤ËÉÔŬÀڤʷ¿½¤¾þ»Ò"
-#: c-decl.c:4973
+#: c-decl.c:4445
#, c-format
msgid "field `%s' declared as a function"
msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:4979
+#: c-decl.c:4451
#, c-format
msgid "field `%s' has incomplete type"
msgstr "Îΰè `%s' ¤ÏÉÔ´°Á´¤Ê·¿¤Ç¤¹"
-#: c-decl.c:5011 c-decl.c:5013 c-decl.c:5020
+#: 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 "´Ø¿ô `%s' ¤ËÂФ·¤ÆÉÔŬÀÚ¤ÊÊݸ¥¯¥é¥¹"
-#: c-decl.c:5035
+#: c-decl.c:4509
msgid "`noreturn' function returns non-void value"
msgstr "`noreturn' ´Ø¿ô¤¬Èó void ÃͤòÊÖ¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:5047
+#: c-decl.c:4524
msgid "cannot inline function `main'"
msgstr "`main' ¤ò inline ´Ø¿ô¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: c-decl.c:5093
+#: c-decl.c:4577
#, c-format
msgid "variable `%s' declared `inline'"
msgstr "ÊÑ¿ô `%s' ¤¬ `inline' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5166 c-decl.c:6202
+#. 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
+#, fuzzy
+msgid "thread-local storage not supported for this target"
+msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+#: c-decl.c:4660 c-decl.c:5746
msgid "function declaration isn't a prototype"
msgstr "´Ø¿ôÀë¸À¤Ï¥×¥í¥È¥¿¥¤¥×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:5172
+#: c-decl.c:4666
msgid "parameter names (without types) in function declaration"
msgstr "´Ø¿ôÀë¸ÀÃæ¤Ë¡Ê·¿¤Î̵¤¤¡Ë²¾°ú¿ô̾¤¬¤¢¤ê¤Þ¤¹"
-#: c-decl.c:5204 c-decl.c:6593
+#: c-decl.c:4698 c-decl.c:6116
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
-#: c-decl.c:5207
+#: c-decl.c:4701
msgid "parameter has incomplete type"
msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
-#: c-decl.c:5228
+#: c-decl.c:4722
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤ò»Ø¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:5231
+#: c-decl.c:4725
msgid "parameter points to incomplete type"
msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤ò»Ø¤·¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:5296
+#: c-decl.c:4790
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr "²¾°ú¿ô `%s' ¾¯¤·Á°Êý¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5337
+#: c-decl.c:4831
msgid "`void' in parameter list must be the entire list"
msgstr "²¾°ú¿ô¥ê¥¹¥ÈÃæ¤Î `void' ¤Ï¥ê¥¹¥ÈÁ´ÂΤòÀê¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: c-decl.c:5368
+#: c-decl.c:4862
#, fuzzy, c-format
msgid "`struct %s' declared inside parameter list"
msgstr "`%s %s' ¤Ï²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5371
+#: c-decl.c:4865
#, fuzzy, c-format
msgid "`union %s' declared inside parameter list"
msgstr "`%s %s' ¤Ï²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5374
+#: c-decl.c:4868
#, fuzzy, c-format
msgid "`enum %s' declared inside parameter list"
msgstr "`%s %s' ¤Ï²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5381
+#: c-decl.c:4875
msgid "anonymous struct declared inside parameter list"
msgstr "̵̾¹½Â¤ÂΤ¬²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5383
+#: c-decl.c:4877
msgid "anonymous union declared inside parameter list"
msgstr "̵̾¶¦ÍÑÂΤ¬²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5385
+#: c-decl.c:4879
msgid "anonymous enum declared inside parameter list"
msgstr "̵̾Îóµó»Ò¤¬²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5389
+#: c-decl.c:4883
#, fuzzy
msgid "its scope is only this definition or declaration, which is probably not what you want"
msgstr "¤½¤Î¥¹¥³¡¼¥×¤ÏÄêµÁ¤«Àë¸À¤À¤±¤Ç¤¹¡¢¶²¤é¤¯Ë¾¤ó¤À¤³¤È¤È°Û¤Ê¤ë¤Ç¤·¤ç¤¦¡£"
-#: c-decl.c:5468
+#: c-decl.c:4960
#, fuzzy, c-format
msgid "redefinition of `union %s'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5471
+#: c-decl.c:4962
#, fuzzy, c-format
msgid "redefinition of `struct %s'"
msgstr "`%s %s' ¤ÎºÆÄêµÁ"
-#: c-decl.c:5510
-msgid "unnamed fields of type other than struct or union are not allowed"
-msgstr ""
+#: c-decl.c:5033 cp/decl.c:7125
+msgid "declaration does not declare anything"
+msgstr "Àë¸À¤¬²¿¤âÀë¸À¤·¤Æ¤¤¤Þ¤»¤ó"
-#: c-decl.c:5551 c-decl.c:5554
+#: c-decl.c:5075 c-decl.c:5078
#, c-format
msgid "%s defined inside parms"
msgstr "%s¤¬²¾°ú¿ôÆâ¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5552 c-decl.c:5555 c-decl.c:5566
+#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090
msgid "union"
msgstr "¶¦ÍÑÂÎ"
-#: c-decl.c:5552 c-decl.c:5555
+#: c-decl.c:5076 c-decl.c:5079
msgid "structure"
msgstr "¹½Â¤ÂÎ"
-#: c-decl.c:5565
+#: c-decl.c:5089
#, c-format
msgid "%s has no %s"
msgstr "%s¤¬%s¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: c-decl.c:5566
+#: c-decl.c:5090
msgid "struct"
msgstr "¹½Â¤ÂÎ"
-#: c-decl.c:5567
+#: c-decl.c:5091
msgid "named members"
msgstr "̾Á°ÉÕ¤­¥á¥ó¥Ð"
-#: c-decl.c:5567
+#: c-decl.c:5091
msgid "members"
msgstr "¥á¥ó¥Ð"
-#: c-decl.c:5606
+#: c-decl.c:5130
#, c-format
msgid "nested redefinition of `%s'"
msgstr "`%s' ¤Î¥Í¥¹¥È¤·¤¿ºÆÄêµÁ"
-#: c-decl.c:5619
+#: c-decl.c:5143
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:5630
+#: c-decl.c:5154
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÏÉÔŬÀڤʷ¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:5642
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ·¿¤Ï ISO C ¤Ç¤ÏÉÔŬÀڤǤ¹"
-#: c-decl.c:5654
+#: c-decl.c:5177
#, c-format
msgid "negative width in bit-field `%s'"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬Éé¤Î¿ô¤Ç¤¹"
-#: c-decl.c:5656
+#: c-decl.c:5179
#, c-format
msgid "width of `%s' exceeds its type"
msgstr "`%s' ¤ÎÉý¤Ï¤½¤Î·¿¤Î¥µ¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:5658
+#: c-decl.c:5181
#, c-format
msgid "zero width for bit-field `%s'"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬ 0 ¤Ç¤¹"
-#: c-decl.c:5672
+#: c-decl.c:5195
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr "`%s' ¤Ï¤½¤Î·¿¤ÎÃͤè¤ê¤â¶¹¤¤¤Ç¤¹"
-#: c-decl.c:5717
+#: c-decl.c:5241
msgid "flexible array member in union"
msgstr "¶¦ÍÑÂΤ˲ÄÊÑÇÛÎó¥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤¹"
-#: c-decl.c:5719
+#: c-decl.c:5243
msgid "flexible array member not at end of struct"
msgstr "¹½Â¤ÂΤκǸå¤Ç¤Ï¤Ê¤¤½ê¤Ë²ÄÊÑÇÛÎó¥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤¹"
-#: c-decl.c:5721
+#: c-decl.c:5245
msgid "flexible array member in otherwise empty struct"
msgstr "¹½Â¤ÂΤ˲ÄÊÑÇÛÎó¥á¥ó¥Ð°Ê³°¤Î¥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:5746 ch/typeck.c:3060
+#: c-decl.c:5275
#, c-format
msgid "duplicate member `%s'"
msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
-#: c-decl.c:5790
+#: 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:5884
+#: c-decl.c:5424
#, c-format
msgid "redeclaration of `enum %s'"
msgstr "`enum %s' ¤ÎºÆÀë¸À"
-#: c-decl.c:5918
+#: c-decl.c:5458
msgid "enum defined inside parms"
msgstr "²¾°ú¿ôÆâ¤Ç enum ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:5951
+#: c-decl.c:5491
msgid "enumeration values exceed range of largest integer"
msgstr "Îóµó»Ò¤ÎÃͤ¬À°¿ô¤ÎÈϰϤκÇÂçÃͤòĶ¤¨¤Þ¤·¤¿"
-#: c-decl.c:6060 ch/decl.c:4437
+#: c-decl.c:5600
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "`%s' ¤ÎÎóµóÃͤ¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:6073 ch/decl.c:4449
+#: c-decl.c:5613
msgid "overflow in enumeration values"
msgstr "ÎóµóÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼"
-#: c-decl.c:6078
+#: c-decl.c:5618
msgid "ISO C restricts enumerator values to range of `int'"
msgstr "ISO C ¤ÏÎóµó»Ò¤ÎÃͤò `int' ¤ÎÈϰϤ˸ÂÄꤷ¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:6156
+#: c-decl.c:5700
msgid "return type is an incomplete type"
msgstr "Ìá¤êÃͤη¿¤¬ÉÔ´°Á´·¿¤Ç¤¹"
-#: c-decl.c:6164
+#: c-decl.c:5708
msgid "return type defaults to `int'"
msgstr "Ìá¤êÃͤη¿¤ò¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤·¤Þ¤¹"
-#: c-decl.c:6211
+#: c-decl.c:5755
#, c-format
msgid "no previous prototype for `%s'"
msgstr "`%s' ¤ÎÁ°Êý¥×¥í¥È¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:6218
+#: c-decl.c:5762
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤ÎÁ°¤Ë¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: c-decl.c:6224
+#: c-decl.c:5768
#, c-format
msgid "no previous declaration for `%s'"
msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:6231
+#: c-decl.c:5775
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤ÎÁ°¤ÇÀë¸À¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Þ¤·¤¿"
-#: c-decl.c:6255 c-decl.c:6836
+#: c-decl.c:5799 c-decl.c:6352
#, c-format
msgid "return type of `%s' is not `int'"
msgstr "`%s' ¤ÎÌá¤êÃͤη¿¤¬ `int' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:6271
+#: c-decl.c:5815
#, c-format
msgid "first argument of `%s' should be `int'"
msgstr "`%s' ¤ÎÂè°ì°ú¿ô¤Ï `int' ¤È¤¹¤Ù¤­¤Ç¤¹"
-#: c-decl.c:6280
+#: c-decl.c:5824
#, c-format
msgid "second argument of `%s' should be `char **'"
msgstr "`%s' ¤ÎÂèÆó°ú¿ô¤Ï `char **' ¤È¤¹¤Ù¤­¤Ç¤¹"
-#: c-decl.c:6289
+#: c-decl.c:5833
#, c-format
msgid "third argument of `%s' should probably be `char **'"
msgstr "`%s' ¤ÎÂè»°°ú¿ô¤Ï¤ª¤½¤é¤¯ `char **' ¤È¤¹¤Ù¤­¤Ç¤·¤ç¤¦"
-#: c-decl.c:6298
+#: c-decl.c:5842
#, c-format
msgid "`%s' takes only zero or two arguments"
msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
-#: c-decl.c:6301
+#: c-decl.c:5845
#, c-format
msgid "`%s' is normally a non-static function"
msgstr "`%s' ¤ÏÄ̾Èó static ¤Ê´Ø¿ô¤Ç¤¹"
-#: c-decl.c:6411
+#: c-decl.c:5943
msgid "parm types given both in parmlist and separately"
msgstr "²¾°ú¿ô¤Î·¿¤¬¡¢²¾°ú¿ô¥ê¥¹¥È¤È¤ÏÊ̤ΤȤ³¤í¤«¤é¤âÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:6432
+#: c-decl.c:5964
msgid "parameter name omitted"
msgstr "²¾°ú¿ô¤¬¾Êά¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:6436 c-decl.c:6538
+#: c-decl.c:5968 c-decl.c:6070
#, c-format
msgid "parameter `%s' declared void"
msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:6512
+#: c-decl.c:6044
msgid "parameter name missing from parameter list"
msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-decl.c:6531
+#: c-decl.c:6063
#, c-format
msgid "multiple parameters named `%s'"
msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
-#: c-decl.c:6562 c-decl.c:6564
+#: c-decl.c:6085 c-decl.c:6087
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr "`%s' ¤Î·¿¤ò¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤·¤Þ¤¹"
-#: c-decl.c:6600
+#: c-decl.c:6123
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr "²¾°ú¿ô `%s' ¤ÎÀë¸À¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤ó¤Ê²¾°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-decl.c:6648
+#: c-decl.c:6171
msgid "number of arguments doesn't match prototype"
msgstr "²¾°ú¿ô¤Î¿ô¤¬¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:6678
+#: c-decl.c:6201
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr "³Ê¾å¤²¤µ¤ì¤¿²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:6692
+#: c-decl.c:6211
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr "²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ë°ìÃפ·¤Þ¤»¤ó"
-#: c-decl.c:7006
+#: c-decl.c:6384 cp/decl.c:14547
+#, fuzzy
+msgid "no return statement in function returning non-void"
+msgstr "Ìá¤ê·¿¤¬´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤»¤ó"
+
+#: c-decl.c:6536
msgid "this function may return with or without a value"
msgstr "¤³¤Î´Ø¿ô¤ÏÃͤòÊÖ¤·¤¿¤êÊÖ¤µ¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¤Ç¤·¤ç¤¦"
-#: c-decl.c:7026
+#: c-decl.c:6556
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr "`%s' ¤ÎÌá¤êÃͤΥµ¥¤¥º¤¬ %u ¥Ð¥¤¥È¤Ç¤¹"
-#: c-decl.c:7030
+#: c-decl.c:6560
#, c-format
msgid "size of return value of `%s' is larger than %d bytes"
msgstr "`%s' ¤ÎÌá¤êÃͤΥµ¥¤¥º¤¬ %d ¥Ð¥¤¥È¤è¤ê¤âÂ礭¤¯¤Ê¤ê¤Þ¤¹"
@@ -1429,921 +1540,1012 @@ msgstr "`%s' ¤ÎÌá¤êÃͤΥµ¥¤¥º¤¬ %d ¥Ð¥¤¥È¤è¤ê¤âÂ礭¤¯¤Ê¤ê¤Þ¤¹"
#. 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:7085
+#: c-decl.c:6615
msgid "`for' loop initial declaration used outside C99 mode"
msgstr "`for' ¥ë¡¼¥×¤Î½é´ü²½Àë¸À¤¬ C99 ¥â¡¼¥É°Ê³°¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: c-decl.c:7109
+#: c-decl.c:6639
#, fuzzy, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
msgstr "`%s %s' ¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:7112
+#: c-decl.c:6642
#, fuzzy, c-format
msgid "`union %s' declared in `for' loop initial declaration"
msgstr "`%s %s' ¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:7115
+#: c-decl.c:6645
#, fuzzy, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
msgstr "`%s %s' ¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: c-decl.c:7123
+#: c-decl.c:6653
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr "ÈóÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸À¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
-#: c-decl.c:7125
+#: c-decl.c:6655
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr "¥¹¥¿¥Æ¥£¥Ã¥¯ÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤Ë¤¢¤ê¤Þ¤¹"
-#: c-decl.c:7127
+#: c-decl.c:6657
#, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
msgstr "`extern' ÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤Ë¤¢¤ê¤Þ¤¹"
-#: 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 "strftime ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°ú¿ô¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤­¤Þ¤»¤ó"
-#: 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 "`%s' ¤Ïǧ¼±¤Ç¤­¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥È´Ø¿ô·¿¤Ç¤¹"
-#: 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 "printf ¤Î ` ' ¥Õ¥é¥°"
-#: 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 "printf ¤Î `+' ¥Õ¥é¥°"
-#: 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 "printf ¤Î `#' ¥Õ¥é¥°"
-#: c-format.c:623 c-format.c:666
+#: c-format.c:604 c-format.c:647
msgid "`0' flag"
msgstr "`0' ¥Õ¥é¥°"
-#: c-format.c:623
+#: c-format.c:604
msgid "the `0' printf flag"
msgstr "printf ¤Î `0' ¥Õ¥é¥°"
-#: 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 "printf ¤Î `-' ¥Õ¥é¥°"
-#: 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 "printf ¤Î `'' ¥Õ¥é¥°"
-#: c-format.c:626 c-format.c:650
+#: c-format.c:607 c-format.c:631
msgid "`I' flag"
msgstr "`I' ¥Õ¥é¥°"
-#: c-format.c:626
+#: c-format.c:607
msgid "the `I' printf flag"
msgstr "printf ¤Î `I' ¥Õ¥é¥°"
-#: c-format.c:627 c-format.c:647 c-format.c:669 c-format.c:696 c-format.c:1791
+#: 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 "printf ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Î¥Õ¥£¡¼¥ë¥ÉÉý"
-#: 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 "printf ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤ÎÀºÅÙ"
-#: 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 "printf ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎŤµ½¤¾þ»Ò"
-#: c-format.c:645
+#: c-format.c:626
msgid "assignment suppression"
msgstr "ÂåÆþ¤ÎÍÞÀ©"
-#: c-format.c:645
+#: c-format.c:626
#, fuzzy
msgid "the assignment suppression scanf feature"
msgstr "ÂåÆþ¤ÎÍÞÀ©"
-#: c-format.c:646
+#: c-format.c:627
msgid "`a' flag"
msgstr "`a' ¥Õ¥é¥°"
-#: c-format.c:646
+#: c-format.c:627
msgid "the `a' scanf flag"
msgstr "scanf ¤Î `a' ¥Õ¥é¥°"
-#: c-format.c:647
+#: c-format.c:628
msgid "field width in scanf format"
msgstr "scanf ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥£¡¼¥ë¥ÉÉý"
-#: c-format.c:648
+#: c-format.c:629
msgid "length modifier in scanf format"
msgstr "scanf ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎŤµ½¤¾þ»Ò"
-#: c-format.c:649
+#: c-format.c:630
msgid "the `'' scanf flag"
msgstr "scanf ¤Î `'' ¥Õ¥é¥°"
-#: c-format.c:650
+#: c-format.c:631
msgid "the `I' scanf flag"
msgstr "scanf ¤Î `I' ¥Õ¥é¥°"
-#: c-format.c:664
+#: c-format.c:645
msgid "`_' flag"
msgstr "`_' ¥Õ¥é¥°"
-#: c-format.c:664
+#: c-format.c:645
msgid "the `_' strftime flag"
msgstr "strftime ¤Î `_' ¥Õ¥é¥°"
-#: c-format.c:665
+#: c-format.c:646
msgid "the `-' strftime flag"
msgstr "strftime ¤Î `-' ¥Õ¥é¥°"
-#: c-format.c:666
+#: c-format.c:647
msgid "the `0' strftime flag"
msgstr "strftime ¤Î `^' ¥Õ¥é¥°"
-#: 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 "strftime ¤Î `^' ¥Õ¥é¥°"
-#: c-format.c:668
+#: c-format.c:649
msgid "the `#' strftime flag"
msgstr "strftime ¤Î `#' ¥Õ¥é¥°"
-#: c-format.c:669
+#: c-format.c:650
msgid "field width in strftime format"
msgstr "strftime ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥£¡¼¥ë¥ÉÉý"
-#: c-format.c:670
+#: c-format.c:651
msgid "`E' modifier"
msgstr "`E' ½¤¾þ»Ò"
-#: c-format.c:670
+#: c-format.c:651
msgid "the `E' strftime modifier"
msgstr "strftime ¤Î `E' ½¤¾þ»Ò"
-#: c-format.c:671
+#: c-format.c:652
msgid "`O' modifier"
msgstr "`O' ½¤¾þ»Ò"
-#: c-format.c:671
+#: c-format.c:652
msgid "the `O' strftime modifier"
msgstr "strftime ¤Î `O' ½¤¾þ»Ò"
-#: c-format.c:672
+#: c-format.c:653
msgid "the `O' modifier"
msgstr "the `O' ½¤¾þ»Ò"
-#: 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 "strfmon ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎµÍ¤áʸ»ú"
-#: c-format.c:691
+#: c-format.c:672
msgid "the `^' strfmon flag"
msgstr "strfmon ¤Î `^' ¥Õ¥é¥°"
-#: c-format.c:692
+#: c-format.c:673
msgid "the `+' strfmon flag"
msgstr "strfmon ¤Î `+' ¥Õ¥é¥°"
-#: c-format.c:693
+#: c-format.c:674
msgid "`(' flag"
msgstr "`(' ¥Õ¥é¥°"
-#: c-format.c:693
+#: c-format.c:674
msgid "the `(' strfmon flag"
msgstr "strfmon ¤Î `(' ¥Õ¥é¥°"
-#: c-format.c:694
+#: c-format.c:675
msgid "`!' flag"
msgstr "`!' ¥Õ¥é¥°"
-#: c-format.c:694
+#: c-format.c:675
msgid "the `!' strfmon flag"
msgstr "strfmon ¤Î `!' ¥Õ¥é¥°"
-#: c-format.c:695
+#: c-format.c:676
msgid "the `-' strfmon flag"
msgstr "strfmon ¤Î `-' ¥Õ¥é¥°"
-#: c-format.c:696
+#: c-format.c:677
msgid "field width in strfmon format"
msgstr "strfmon ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥£¡¼¥ë¥ÉÉý"
-#: 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 "strfmon ¥Õ¥©¡¼¥Þ¥Ã¥È¤Îº¸ÀºÅÙ"
-#: 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 "strfmon ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î±¦ÀºÅÙ"
-#: c-format.c:699
+#: c-format.c:680
msgid "length modifier in strfmon format"
msgstr "strfmon ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎŤµ½¤¾þ»Ò"
-#: c-format.c:998
+#: c-format.c:983
#, c-format
msgid "function might be possible candidate for `%s' format attribute"
msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `%s' format °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
-#: c-format.c:1122 c-format.c:1143 c-format.c:2201
+#: 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 "%s ¤Ï %%n$ ±é»»»ÒÈÖ¹æ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: 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 "¥Õ¥©¡¼¥Þ¥Ã¥È°ú¿ô %d ¤¬ %s ¥Õ¥©¡¼¥Þ¥Ã¥ÈÃæ¤ÇÆó²ó°Ê¾å»È¤ï¤ì¤Þ¤·¤¿"
-#: c-format.c:1233
+#: c-format.c:1218
#, c-format
msgid "format argument %d unused before used argument %d in $-style format"
msgstr "$-¼°¥Õ¥©¡¼¥Þ¥Ã¥ÈÆâ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È°ú¿ô %d ¤¬°ú¿ô %d ¤¬»È¤ï¤ì¤ëÁ°¤Ç̤»ÈÍѤǤ¹"
-#: 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
+#, fuzzy, c-format
+msgid "zero-length %s format string"
msgstr "Ťµ 0 ¤Î¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó"
-#: 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 "¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤¬ null ¤Ç¤¹"
-
-#: c-format.c:1670
+#: c-format.c:1581
msgid "embedded `\\0' in format"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë `\\0' ¤¬Ëä¤á¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-format.c:1685
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë `%%' ¤Îº¯Àפ餷¤­¤â¤Î¤¬¤¢¤ê¤Þ¤¹"
-#: c-format.c:1724 c-format.c:1961
+#: c-format.c:1635 c-format.c:1872
#, c-format
msgid "repeated %s in format"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥ÈÃæ¤Ç %s ¤ò·«¤êÊÖ¤·¤Æ¤¤¤Þ¤¹"
-#: c-format.c:1737
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
msgstr "strfmon ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î½ª¤ê¤ÇµÍ¤áʸ»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-format.c:1757 c-format.c:1875 c-format.c:2155 c-format.c:2208
+#: 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:1817
+#: c-format.c:1728
#, c-format
msgid "zero width in %s format"
msgstr "%s ¤ÇÉý 0 ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹"
-#: c-format.c:1836
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
msgstr "%s ¤Ç¶õ¤Îº¸ÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹"
-#: c-format.c:1890
+#: c-format.c:1801
msgid "field precision"
msgstr "¥Õ¥£¡¼¥ë¥ÉÀºÅÙ"
-#: c-format.c:1905
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
msgstr "%s ¤Ç¶õ¤ÎÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹"
-#: c-format.c:1945
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
msgstr "%s ¤Ï `%s' %s Ťµ½¤¾þ»Ò¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-format.c:1995
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Î½ª¤ê¤Ç·¿ÊÑ´¹Ê¸»ú¤¬·ç¤±¤Æ¤¤¤Þ¤¹"
-#: c-format.c:2006
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥ÈÆâ¤ËÉÔÌÀ¤Ê·¿ÊÑ´¹Ê¸»ú `%c' ¤¬¤¢¤ê¤Þ¤¹"
-#: c-format.c:2009
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥ÈÆâ¤ËÉÔÌÀ¤Ê·¿ÊÑ´¹Ê¸»ú 0x%x ¤¬¤¢¤ê¤Þ¤¹"
-#: c-format.c:2016
+#: c-format.c:1927
#, c-format
msgid "%s does not support the `%%%c' %s format"
msgstr "%s ¤Ï `%%%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-format.c:2032
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
msgstr "%s ¤¬ `%%%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤È°ì½ï¤Ë»È¤ï¤ì¤Þ¤·¤¿"
-#: c-format.c:2041
+#: c-format.c:1952
#, c-format
msgid "%s does not support %s"
msgstr "%s ¤Ï %s ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-format.c:2050
+#: c-format.c:1961
#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
msgstr "%s ¤Ï %s ¤ò `%%%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤È°ì½ï¤Ë»È¤¦»ö¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-format.c:2083
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
msgstr "%s ¤Ï %s µÚ¤Ó `%%%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤È°ì½ï¤Ë»È¤¦¤È̵»ë¤µ¤ì¤Þ¤¹"
-#: c-format.c:2087
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
msgstr "%s ¤Ï %s ¤ò %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°ì½ï¤Ë»È¤¦¤È̵»ë¤µ¤ì¤Þ¤¹"
-#: c-format.c:2093
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
msgstr "%s ¤È %s ¤È¤ò `%%%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤È°ì½ï¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-format.c:2097
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
msgstr "%s ¤È %s ¤È¤ò %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÃæ¤Ç»È¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-format.c:2116
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
msgstr "`%%%c' ¤Ï¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ¤Ï¡¢Ç¯¤Î²¼Æó·å¤À¤±¤ò¤â¤¿¤é¤·¤Þ¤¹"
-#: c-format.c:2119
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
msgstr "`%%%c' ¤Ïǯ¤Î²¼Æó·å¤À¤±¤ò¤â¤¿¤é¤·¤Þ¤¹"
#. The end of the format string was reached.
-#: c-format.c:2135
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
msgstr "`%%[' ¥Õ¥©¡¼¥Þ¥Ã¥È¤òÊĤ¸¤ë `]' ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-format.c:2148
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr "`%s' Ťµ½¤¾þ»Ò¤ò `%c' ·¿ÊÑ´¹Ê¸»ú¤È°ì½ï¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-format.c:2169
+#: c-format.c:2080
#, c-format
msgid "%s does not support the `%%%s%c' %s format"
msgstr "%s ¤Ï `%%%s%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-format.c:2184
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr "±é»»»ÒÈֹ椬ÂåÆþ¤ÎÍÞÀ©¤È¶¦¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹"
-#: c-format.c:2186
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
msgstr "±é»»»ÒÈֹ椬°ú¿ô¤ò¼è¤é¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: c-format.c:2305
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
msgstr "null ¥Ý¥¤¥ó¥¿¤ò½ñ¤­¹þ¤ó¤Ç¤¤¤Þ¤¹ (°ú¿ô %d)"
-#: c-format.c:2314
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
msgstr "null ¥Ý¥¤¥ó¥¿¤òÆɹþ¤ó¤Ç¤¤¤Þ¤¹ (°ú¿ô %d)"
-#: c-format.c:2334
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
msgstr "Äê¿ô¥ª¥Ö¥¸¥§¥¯¥È¤Ë½ñ¤­¹þ¤ó¤Ç¤¤¤Þ¤¹ (°ú¿ô %d)"
-#: c-format.c:2344
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È°ú¿ô¤Ë;ʬ¤Ê·¿½¤¾þ»Ò¤¬¤¢¤ê¤Þ¤¹ (°ú¿ô %d)"
-#: c-format.c:2351
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È°ú¿ô¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (°ú¿ô %d)"
-#: c-format.c:2353
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È°ú¿ô¤¬¥Ý¥¤¥ó¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (°ú¿ô %d)"
-#: c-format.c:2424
+#: c-format.c:2330
msgid "pointer"
msgstr ""
-#: c-format.c:2426
+#: c-format.c:2332
#, fuzzy
msgid "different type"
msgstr "̵¸ú¤Ê»²¾È·¿¤Ç¤¹"
-#: c-format.c:2447
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
msgstr "%s ¤Ï·¿ %s ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (°ú¿ô %d)"
-#: c-format.c:2450
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï %s ¤Ç¤¹¤¬¡¢°ú¿ô¤Ï %s ¤Ç¤¹ (°ú¿ô %d)"
-#: c-lex.c:292
+#: c-lex.c:153
+#, fuzzy
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: c-lex.c:290
msgid "badly nested C headers from preprocessor"
msgstr "¥×¥ê¥×¥í¥»¥Ã¥µ¤«¤é°Û¾ï¤Ë¥Í¥¹¥È¤µ¤ì¤¿ C ¥Ø¥Ã¥À¤Ç¤¹"
-#: c-lex.c:342
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
msgstr "#pragma %s %s ¤ò̵»ë¤·¤Þ¤¹"
-#: c-lex.c:344
-#, c-format
-msgid "ignoring #pragma %s"
-msgstr "#pragma %s ¤ò̵»ë¤·¤Þ¤¹"
-
-#: c-lex.c:394
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\U%08x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-lex.c:640
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\u%04x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-lex.c:730
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "ÉâÆ°¾®¿ôÄê¿ô¤Ë 'f' ¤È 'l' ÀÜÈø¼­¤ÎξÊý¤¬¤¢¤ê¤Þ¤¹"
-
-#: c-lex.c:757
-#, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬ '%s' ¤ÎÈϰϤòĶ¤¨¤Þ¤·¤¿"
-
-#: c-lex.c:787
+#: c-lex.c:692
#, c-format
msgid "stray '%c' in program"
msgstr "¥×¥í¥°¥é¥à¤È¤·¤Æ°ï椷¤¿Ê¸»ú '%c'"
-#: c-lex.c:789
+#: c-lex.c:694
#, c-format
msgid "stray '\\%o' in program"
msgstr "¥×¥í¥°¥é¥à¤È¤·¤Æ°ï椷¤¿Ê¸»ú '\\%o'"
-#: c-lex.c:887
-#, fuzzy
-msgid "too many decimal points in floating constant"
-msgstr "À°¿ôÄê¿ô¤Î¥µ¥Õ¥£¥Ã¥¯¥¹ 'l' ¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: c-lex.c:889
-#, fuzzy
-msgid "decimal point in exponent - impossible!"
-msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: c-lex.c:850
+msgid "this decimal constant is unsigned only 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:900
-msgid "underscore in number"
+#: c-lex.c:853
+msgid "this decimal constant would be unsigned in ISO C90"
msgstr ""
-#: c-lex.c:962
-#, fuzzy
-msgid "numeric constant with no digits"
-msgstr "¿ôÃÍÄê¿ô¤¬´ð¿ô¤òĶ¤¨¤¿¥¢¥é¥Ó¥¢¿ô»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+#: c-lex.c:869
+#, fuzzy, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "À°¿ôÄê¿ô¤¬Â礭¤¹¤®¤ë¤Î¤Ç unsigned ¤Ë¤Ê¤ê¤Þ¤·¤¿"
-#: c-lex.c:965
-msgid "numeric constant contains digits beyond the radix"
-msgstr "¿ôÃÍÄê¿ô¤¬´ð¿ô¤òĶ¤¨¤¿¥¢¥é¥Ó¥¢¿ô»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+#: c-lex.c:937
+#, fuzzy, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬ '%s' ¤ÎÈϰϤòĶ¤¨¤Þ¤·¤¿"
-#: c-lex.c:976
-msgid "floating constant may not be in radix 16"
-msgstr "´ð¿ô 16 ¤ÎÉâÆ°¾¯¿ôÄê¿ô¤Ïµö¤µ¤ì¤Þ¤»¤ó"
+#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+#, fuzzy
+msgid "ignoring invalid multibyte character"
+msgstr "̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò̵»ë¤·¤Þ¤¹"
-#: c-lex.c:979
-msgid "hexadecimal floating constant has no exponent"
-msgstr "16 ¿ÊÉâÆ°¾®¿ôÄê¿ô¤¬¤Ù¤­¾è¤ò»ý¤Á¤Þ¤»¤ó"
+#: c-opts.c:353
+#, fuzzy, c-format
+msgid "missing argument to \"-%s\""
+msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-lex.c:991
-msgid "floating constant exponent has no digits"
-msgstr "ÉâÆ°¾®¿ôÄê¿ô¤Î¤Ù¤­¿ô¤¬¡¢¥¢¥é¥Ó¥¢¿ô»ú¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
+#: c-opts.c:357
+#, fuzzy, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "%s ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹»ØÄê»Ò `%s'"
-#: c-lex.c:1011
-#, fuzzy
-msgid "more than one 'f' suffix on floating constant"
-msgstr "Ê£¿ô¤Î 'i' ¤ä 'j' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:364
+#, fuzzy, c-format
+msgid "missing filename after \"-%s\""
+msgstr "%s ¤Î¸å¤í¤Î¥¿¡¼¥²¥Ã¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-lex.c:1014
-msgid "traditional C rejects the 'f' suffix"
-msgstr "¸Å¤¤ C ¤Ç¤Ï 'f' ÀÜÈø¼­¤¬µñÈݤµ¤ì¤Þ¤¹"
+#: c-opts.c:369
+#, fuzzy, c-format
+msgid "missing target after \"-%s\""
+msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-lex.c:1021
-#, fuzzy
-msgid "more than one 'l' suffix on floating constant"
-msgstr "ÉâÆ°¾®¿ôÄê¿ô¤Ë 'f' ¤È 'l' ÀÜÈø¼­¤ÎξÊý¤¬¤¢¤ê¤Þ¤¹"
+#: c-opts.c:503
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr ""
-#: c-lex.c:1024
-msgid "traditional C rejects the 'l' suffix"
-msgstr "¸Å¤¤ C ¤Ç¤Ï 'l' ÀÜÈø¼­¤¬µñÈݤµ¤ì¤Þ¤¹"
+#: c-opts.c:548
+#, fuzzy, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr "¥Õ¥¡¥¤¥ë̾¤¬Â¿¤¹¤®¤Þ¤¹¡£%s --help ¤È¥¿¥¤¥×¤·¤Æ»È¤¤Êý¤ò¸«¤Þ¤·¤ç¤¦"
-#: c-lex.c:1032
-#, fuzzy
-msgid "more than one 'i' or 'j' suffix on floating constant"
-msgstr "Ê£¿ô¤Î 'i' ¤ä 'j' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:934
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "-Wno-strict-prototypes ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
-#: c-lex.c:1034 c-lex.c:1128
-msgid "ISO C forbids imaginary numeric constants"
-msgstr "ISO C ¤Ç¤Ïµõ¿ôÄê¿ô¤ò¶Ø¤¸¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1014
+#, fuzzy, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "-f%s ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: c-lex.c:1039
-#, fuzzy
-msgid "invalid suffix on floating constant"
-msgstr "ÀÜÈø¼­ '%.*s' ¤ÏÀ°¿ôÄê¿ô¤Ë¤Ï̵¸ú¤Ç¤¹"
+#: c-opts.c:1030
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr ""
-#. We got an exception from parse_float()
-#: c-lex.c:1056
-#, fuzzy
-msgid "floating constant out of range"
-msgstr "À°¿ôÄê¿ô¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1143
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr "-fhandle-exceptions ¤Ï -fexception ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿(¤µ¤é¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ç¤¹)"
-#: c-lex.c:1068
-msgid "floating point number exceeds range of 'double'"
-msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬ 'double' ¤ÎÈϰϤòĶ¤¨¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1263
+#, fuzzy
+msgid "output filename specified twice"
+msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë̾¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: c-lex.c:1097
-msgid "two 'u' suffixes on integer constant"
-msgstr "2 ¤Ä¤Î 'u' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1377
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "-Wformat-y2k ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: c-lex.c:1100
-msgid "traditional C rejects the 'u' suffix"
-msgstr "ÅÁÅýŪ¤Ê C ¤Ç¤Ï 'u' ÀÜÈø¼­¤¬µñÈݤµ¤ì¤Þ¤¹"
+#: c-opts.c:1379
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "-Wformat-extra-args ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: c-lex.c:1111
-msgid "three 'l' suffixes on integer constant"
-msgstr "3 ¤Ä¤Î 'l' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1381
+#, fuzzy
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "-Wformat-extra-args ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: c-lex.c:1113
-msgid "'lul' is not a valid integer suffix"
-msgstr "'lul' ¤ÏÀµ¾ï¤ÊÀ°¿ôÀÜÈø¼­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+#: c-opts.c:1383
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "-Wformat-nonliteral ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: c-lex.c:1115
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr "'Ll' ¤È 'lL' ¤ÏÀµ¾ï¤ÊÀ°¿ôÀÜÈø¼­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+#: c-opts.c:1385
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "-Wformat-security ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: c-lex.c:1118
-msgid "ISO C89 forbids long long integer constants"
-msgstr "ISO C89 ¤Ç¤Ï long long À°¿ôÄê¿ô¤ò¶Ø¤¸¤Þ¤¹"
+#: c-opts.c:1387
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "-Wmissing-format-attribute ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: c-lex.c:1126
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "Ê£¿ô¤Î 'i' ¤ä 'j' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1409
+#, fuzzy, c-format
+msgid "opening output file %s"
+msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
-#: c-lex.c:1133
-#, fuzzy
-msgid "invalid suffix on integer constant"
-msgstr "ÀÜÈø¼­ '%.*s' ¤ÏÀ°¿ôÄê¿ô¤Ë¤Ï̵¸ú¤Ç¤¹"
+#: c-opts.c:1464
+#, fuzzy, c-format
+msgid "opening dependency file %s"
+msgstr "ưŪ°Í¸´Ø·¸¡£\n"
-#: c-lex.c:1141
+#: c-opts.c:1474
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
-msgstr "À°¿ôÄê¿ô¤¬¥³¥ó¥Ñ¥¤¥é¤Î¸½ºß¤ÎÀßÄê¤è¤êÂ礭¤¹¤®¤ë¤¿¤á¡¢%d ¥Ó¥Ã¥È¤ËÀÚ¤êµÍ¤á¤Þ¤·¤¿"
+msgid "closing dependency file %s"
+msgstr ""
-#: c-lex.c:1231
-msgid "width of integer constant changes with -traditional"
-msgstr "-traditional ¤ò¤Ä¤±¤ë¤ÈÀ°¿ôÄê¿ô¤ÎÉý¤¬ÊѤï¤ê¤Þ¤¹"
+#: c-opts.c:1477
+#, fuzzy, c-format
+msgid "when writing output to %s"
+msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼¤Ç¤¹"
-#: c-lex.c:1233
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "À°¿ôÄê¿ô¤Ï ISO C ¤Ç¤ÏÉä¹ç̵¤·¤Ç¡¢-traditional ¤ò¤Ä¤±¤ë¤ÈÉä¹çÉÕ¤­¤Ç¤¹"
+#: c-opts.c:1557
+#, fuzzy
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "-M ¤« -MM ¤Î¤¤¤º¤ì¤«¤òÄɲÃŪ¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: c-lex.c:1235
-msgid "width of integer constant may change on other systems with -traditional"
-msgstr "À°¿ôÄê¿ô¤ÎÉý¤Ï¾¤Î¥·¥¹¥Æ¥à¤Ç -traditional ¤ò¤Ä¤±¤ë¤ÈÊѤï¤ë¤Ç¤·¤ç¤¦"
+#: c-opts.c:1704
+#, fuzzy, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr "(%s ÍѤȤ·¤Æ¤ÏÀµ¾ï¤Ç¤¹¤¬¡¢ÁªÂò¤µ¤ì¤¿¸À¸ì¤È¤·¤Æ¤Ï̵¸ú¤Ç¤¹)"
-#: c-lex.c:1245
-#, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "%s ¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+#. 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 ""
+"¥¹¥¤¥Ã¥Á:\n"
+" -include <file> ¾¤Î¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë <file> ¤ÎÆâÍƤò´Þ¤á¤ë\n"
+" -imacros <file> <file> ¤Î¥Þ¥¯¥íÄêµÁ¤ò¼õ¤±Æþ¤ì¤ë\n"
+" -iprefix <path> ¼¡¤ÎÆó¤Ä¤Î¥ª¥×¥·¥ç¥óÍÑ¥×¥ì¥Õ¥£¥¯¥¹¤Ë <path> ¤ò»ØÄê\n"
+" -iwithprefix <dir> <dir> ¤ò¥·¥¹¥Æ¥à include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
+" -iwithprefixbefore <dir> <dir> ¤ò¥á¥¤¥ó include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
+" -isystem <dir> <dir> ¤ò¥·¥¹¥Æ¥à include ¥Ñ¥¹¤ÎºÇ½é¤ËÄɲ乤ë\n"
-#: c-lex.c:1248
-msgid "an unsigned long long int"
+#: 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 ""
+" -idirafter <dir> <dir> ¤ò¥·¥¹¥Æ¥à include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
+" -I <dir> <dir> ¤ò¥á¥¤¥ó include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
+" -I- ¤­¤áºÙ¤«¤Ê include ¥Ñ¥¹À©¸æ -- info ʸ½ñ¤ò»²¾È\n"
+" -nostdinc ¥·¥¹¥Æ¥à include ¥Ç¥£¥ì¥¯¥È¥ê¤òõº÷¤·¤Ê¤¤\n"
+" (-system ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ïõº÷¤µ¤ì¤ë)\n"
+" -nostdinc++ C++ ÍÑ¥·¥¹¥Æ¥à include ¥Ç¥£¥ì¥¯¥È¥ê¤òõº÷¤·¤Ê¤¤\n"
+" -o <file> <file> ¤Ø½ÐÎϤ¹¤ë\n"
-#: c-lex.c:1249
-msgid "a long long int"
+#: c-opts.c:1732
+#, fuzzy
+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 ""
+" -std=<std name> Ŭ¹ç¤µ¤»¤ëɸ½à¤ò»ØÄê -- °Ê²¼¤è¤ê°ì¤Ä\n"
+" gnu89, gnu99, c89, c99, iso9899:1990,\n"
+" iso9899:199409, iso9899:1999\n"
+" -+ C++ ¼°¤Î¹½Ê¸²òÀϤòµö²Ä¤¹¤ë\n"
+" -w ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤¹¤ë\n"
+" -Wtrigraphs ¥È¥é¥¤¥°¥é¥Õ¤Ë½Ð¤¯¤ï¤·¤¿¤é·Ù¹ð¤¹¤ë\n"
+" -Wno-trigraphs ¥È¥é¥¤¥°¥é¥Õ¤Ë¤Ä¤¤¤Æ¤Î·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+" -Wcomment{s} ¥³¥á¥ó¥È¤¬Â¾¤Î¥³¥á¥ó¥ÈÆâ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤¿¤é·Ù¹ð¤¹¤ë\n"
-#: c-lex.c:1250
-msgid "an unsigned long int"
+#: c-opts.c:1741
+#, fuzzy
+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 ""
+" -Wno-comment{s} ¥³¥á¥ó¥È¤Ë´Ø¤¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+" -Wtraditional ¸½ºß¤È¤Ï°Û¤Ê¤ë¸Å¤¤ C ¤Ç¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë\n"
+" -Wno-traditional ¸Å¤¤ C ¤Ë´Ø¤¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+" -Wundef ̤ÄêµÁ¤Î¥Þ¥¯¥í¤¬ #if ¤Ç»È¤ï¤ì¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë\n"
+" -Wno-undef ̤ÄêµÁ¥Þ¥¯¥í¤Îɾ²Á¤Ë´Ø¤¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+" -Wimport #import ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÍøÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë\n"
-#: c-lex.c:1254
-msgid "decimal constant is so large that it is unsigned"
-msgstr "½½¿ÊÄê¿ô¤¬¤È¤Æ¤âÂ礭¤¤¤Î¤ÇÉä¹ç̵¤·¤È¤·¤Þ¤·¤¿"
+#: c-opts.c:1746
+#, fuzzy
+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 ""
+" -Wno-import #import ¤ÎÍøÍѤ˴ؤ¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+" -Werror Á´¤Æ¤Î·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤¦\n"
+" -Wno-error ·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤ï¤Ê¤¤\n"
+" -Wsystem-headers ¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤·¤Ê¤¤\n"
+" -Wno-system-headers ¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ë\n"
+" -Wall Á´¤Æ¤Î¥×¥ê¥×¥í¥»¥Ã¥µ·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë\n"
-#: c-lex.c:1263
+#: c-opts.c:1751
#, fuzzy
-msgid "complex integer constant is too wide for 'complex int'"
-msgstr "Ê£ÁÇ¿ô·¿À°¿ôÄê¿ô¤Ï `__complex int' ¤Ë¤È¤Ã¤Æ¹­¤¹¤®¤Þ¤¹"
+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 ""
+" -M make °Í¸´Ø·¸¤òÀ¸À®¤¹¤ë\n"
+" -MM -M ƱÍÍ¡¢Ã¢¤·¥·¥¹¥Æ¥à¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò̵»ë¤¹¤ë\n"
+" -MF <file> °Í¸´Ø·¸¤Î½ÐÎϤòÍ¿¤¨¤é¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤à\n"
+" -MG ¸«¤Ä¤«¤é¤Ê¤¤¥Ø¥Ã¥À¤òÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤È¤·¤Æ°·¤¦\n"
-#: c-lex.c:1283
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "¤½¤Î·¿¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+#: 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 ""
+" -MP\t\t\t Á´¤Æ¤Î¥Ø¥Ã¥À¤Ë¤Ä¤¤¤Æ phony ¥¿¡¼¥²¥Ã¥È¤òÀ¸À®¤¹¤ë\n"
+" -MQ <target> MAKE ¤Ç¤Î¥¯¥ª¡¼¥È¤µ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤òÄɲ乤ë\n"
+" -MT <target> ¥¯¥ª¡¼¥È¤µ¤ì¤Ê¤¤¥¿¡¼¥²¥Ã¥È¤òÄɲ乤ë\n"
-#: c-lex.c:1287
-#, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "¿ô»ú '%.*s' ¤Î¸å¤Ë¶õÇò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+#: c-opts.c:1764
+#, fuzzy
+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 ""
+" -D<macro> <macro> ¤òÄêµÁ¤·¡¢¤½¤ÎÃͤòʸ»úÎó¤Î '1' ¤È¤¹¤ë\n"
+" -D<macro>=<val> <macro> ¤òÄêµÁ¤·¡¢¤½¤ÎÃͤò <val> ¤È¤¹¤ë\n"
+" -A<question> (<answer>) <question> ¤Ë <answer> ¤ÈÀ¼ÌÀ¤¹¤ë\n"
+" -A-<question> (<answer>) <question> ¤ò <answer> ¤È¤·¤Ê¤¤\n"
+" -U<macro> <macro> ÄêµÁ¤ò²ò½ü¤¹¤ë\n"
+" -v ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤¹¤ë\n"
+
+#: 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 ""
+" -H »È¤ï¤ì¤¿¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë\n"
+" -C ¥³¥á¥ó¥È¤òÇË´þ¤·¤Ê¤¤\n"
+" -dM ºÇ¸å¤ËÍ­¸ú¤Ê¥Þ¥¯¥íÄêµÁ¥ê¥¹¥È¤òɽ¼¨¤¹¤ë\n"
+" -dD ½ÐÎϤ˥ޥ¯¥íÄêµÁ¤òÊݸ¤¹¤ë\n"
+" -dN -dD ¤ÈƱÍͤÀ¤¬¡¢Ì¾Á°¤À¤±¤òÊݸ¤¹¤ë\n"
+" -dI #include ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò½ÐÎϤ˴ޤá¤ë\n"
-#: c-lex.c:1323 cpplex.c:1867
+#: c-opts.c:1780
#, fuzzy
-msgid "ignoring invalid multibyte character"
-msgstr "̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò̵»ë¤·¤Þ¤¹"
+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 ""
+" -fpreprocessed ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´û¤Ë¥×¥ê¥×¥í¥»¥¹ºÑ¤È¤·¤Æ°·¤¦\n"
+" -ftabstop=<number> ¥«¥é¥à¤Î¥¿¥Ö´Ö³Ö¤òÊó¹ð¤¹¤ë\n"
+" -P #line ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤òÀ¸À®¤·¤Ê¤¤\n"
+" -$ ¼±Ê̻ҤǤΠ'$' ¤òµö²Ä¤·¤Ê¤¤\n"
+" -remap ¥Õ¥¡¥¤¥ë¥¤¥ó¥¯¥ë¡¼¥É»þ¤Ë¥Õ¥¡¥¤¥ë̾¤òºÆ¥Þ¥Ã¥×¤¹¤ë\n"
+" --version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë\n"
+" -h or --help ¤³¤Î¾ðÊó¤òɽ¼¨¤¹¤ë\n"
#. 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/lib/bison.simple:107
+#: /usr/share/bison/bison.simple:179
msgid "syntax error: cannot back up"
msgstr "ʸˡ¥¨¥é¡¼: ÄÉ¿ï¤Ç¤­¤Þ¤»¤ó"
-#: /usr/lib/bison.simple:358
-msgid "parser stack overflow"
-msgstr "¹½Ê¸²òÀÏ´ï¤Î¥¹¥¿¥Ã¥¯¤¬°î¤ì¤Þ¤·¤¿"
-
-#: c-parse.y:284 objc-parse.y:306
+#: c-parse.y:325 objc-parse.y:347
msgid "ISO C forbids an empty source file"
msgstr "ISO C ¤Ï¶õ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:317 c-typeck.c:6855 ch/parse.c:2113 objc-parse.y:339
+#: c-parse.y:366 c-typeck.c:6867 objc-parse.y:389
msgid "argument of `asm' is not a constant string"
msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
-#: c-parse.y:325 objc-parse.y:347
+#: c-parse.y:374 objc-parse.y:397
msgid "ISO C forbids data definition with no type or storage class"
msgstr "ISO C ¤Ï·¿¤äµ­²±¥¯¥é¥¹¤Î¤Ê¤¤¥Ç¡¼¥¿ÄêµÁ¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:327 objc-parse.y:349
+#: c-parse.y:376 objc-parse.y:399
msgid "data definition has no type or storage class"
msgstr "¥Ç¡¼¥¿ÄêµÁ¤¬·¿¤äµ­²±¥¯¥é¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: c-parse.y:340 objc-parse.y:362
+#: c-parse.y:389 objc-parse.y:412
msgid "ISO C does not allow extra `;' outside of a function"
msgstr "ISO C ¤Ç¤Ï´Ø¿ô³°¤Ç¤Î;ʬ¤Ê `;' ¤òµö¤·¤Þ¤»¤ó"
-#: c-parse.y:400 cppexp.c:688
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
msgstr "¸Å¤¤ C ¤Ç¤Ïñ¹à¥×¥é¥¹±é»»»Ò¤òµñÈݤ·¤Þ¤¹"
-#: c-parse.y:462 objc-parse.y:484
+#: c-parse.y:496 objc-parse.y:519
msgid "`sizeof' applied to a bit-field"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ËŬÍѤµ¤ì¤¿ `sizeof'"
-#: c-parse.y:542 objc-parse.y:564
+#: c-parse.y:583 objc-parse.y:606
msgid "ISO C forbids omitting the middle term of a ?: expression"
msgstr "ISO C ¤ÏÃæ´Ö¹à¤¬¾Êά¤µ¤ì¤¿ ?: ¼°¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:589 objc-parse.y:611
+#: c-parse.y:632 objc-parse.y:655
msgid "ISO C89 forbids compound literals"
msgstr "ISO C89 ¤ÏÊ£¹ç¥ê¥Æ¥é¥ë¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:603 objc-parse.y:625
+#: c-parse.y:646 objc-parse.y:669
msgid "ISO C forbids braced-groups within expressions"
msgstr "ISO C ¤Ï¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:634 objc-parse.y:656
+#: c-parse.y:677 objc-parse.y:700
#, fuzzy
msgid "first argument to __builtin_choose_expr not a constant"
msgstr "`__builtin_args_info' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: c-parse.y:677
-msgid "traditional C rejects string concatenation"
+#: c-parse.y:721 objc-parse.y:768
+#, fuzzy
+msgid "traditional C rejects ISO C style function definitions"
msgstr "¸Å¤¤ C ¤Ç¤Ïʸ»úÎó·ë¹ç¤òµñÈݤ·¤Þ¤¹"
-#: c-parse.y:692 objc-parse.y:728
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ISO C ¤Ç¤Ï `varargs.h' ¤ÎÍøÍѤòµö¤·¤Þ¤»¤ó"
-
-#: c-parse.y:953 c-parse.y:959 c-parse.y:965 c-parse.y:971 c-parse.y:992
-#: c-parse.y:998 c-parse.y:1004 c-parse.y:1010 c-parse.y:1043 c-parse.y:1049
-#: c-parse.y:1055 c-parse.y:1061 c-parse.y:1106 c-parse.y:1112 c-parse.y:1118
-#: c-parse.y:1124 parse.y:1883 parse.y:1890 parse.y:1929 objc-parse.y:989
-#: objc-parse.y:995 objc-parse.y:1001 objc-parse.y:1007 objc-parse.y:1028
-#: objc-parse.y:1034 objc-parse.y:1040 objc-parse.y:1046 objc-parse.y:1079
-#: objc-parse.y:1085 objc-parse.y:1091 objc-parse.y:1097 objc-parse.y:1142
-#: objc-parse.y:1148 objc-parse.y:1154 objc-parse.y:1160
+#: 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 "`%s' ¤ÏÀë¸À¤Î»Ï¤Þ¤ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-parse.y:1406 objc-parse.y:1451
+#: c-parse.y:1441 objc-parse.y:1497
msgid "ISO C forbids empty initializer braces"
msgstr "ISO C ¤Ç¤Ï¶õ¤Î½é´ü²½Íѥ֥졼¥¹¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1420 objc-parse.y:1465
+#: c-parse.y:1455 objc-parse.y:1511
msgid "ISO C89 forbids specifying subobject to initialize"
msgstr "ISO C89 ¤Ï½é´ü²½ÍѤÎÉû¥ª¥Ö¥¸¥§¥¯¥È»ØÄê¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1423 objc-parse.y:1468
+#: c-parse.y:1458 objc-parse.y:1514
msgid "obsolete use of designated initializer without `='"
msgstr "`=' ¤Î¤Ê¤¤¥á¥ó¥Ð»Ø̾½é´ü²½»Ò¤ÏÇѤì¤Þ¤·¤¿"
-#: c-parse.y:1427 objc-parse.y:1472
+#: c-parse.y:1462 objc-parse.y:1518
msgid "obsolete use of designated initializer with `:'"
msgstr "`:' ¤ò¤Ä¤±¤ë¥á¥ó¥Ð»Ø̾½é´ü²½»Ò¤ÏÇѤì¤Þ¤·¤¿"
-#: c-parse.y:1456
+#: c-parse.y:1489 objc-parse.y:1545
msgid "ISO C forbids specifying range of elements to initialize"
msgstr "ISO C ¤Ï½é´ü²½ÍѤÎÍ×ÁÇÈÏ°Ï»ØÄê¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1464 c-parse.y:1494 objc-parse.y:1503 objc-parse.y:1533
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1553 objc-parse.y:1584
msgid "ISO C forbids nested functions"
msgstr "ISO C ¤Ï ¥Í¥¹¥È¤µ¤ì¤¿´Ø¿ô¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1668 objc-parse.y:1709
+#: c-parse.y:1703 objc-parse.y:1761
msgid "ISO C forbids forward references to `enum' types"
msgstr "ISO C ¤Ï `enum' ·¿¤ÎÁ°Êý»²¾È¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1680 parse.y:2348 objc-parse.y:1721
+#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773
msgid "comma at end of enumerator list"
msgstr "Îóµó»Ò¥ê¥¹¥È¤ÎºÇ¸å¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤¹"
-#: c-parse.y:1688 objc-parse.y:1729
+#: c-parse.y:1723 objc-parse.y:1781
msgid "no semicolon at end of struct or union"
msgstr "struct ¤ä union ¤ÎºÇ¸å¤Ë¥»¥ß¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-parse.y:1697 objc-parse.y:1738 objc-parse.y:2784
+#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865
msgid "extra semicolon in struct or union specified"
msgstr "struct ¤ä union ¤ÎÃæ¤Ç;ʬ¤Ê¥»¥ß¥³¥í¥ó¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: c-parse.y:1710 objc-parse.y:1765
+#: c-parse.y:1745 objc-parse.y:1817
msgid "ISO C doesn't support unnamed structs/unions"
msgstr "ISO C ¤Ç¤Ï̵̾¹½Â¤ÂΤ䶦ÍÑÂΤò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-parse.y:1719 objc-parse.y:1774
+#: c-parse.y:1754 objc-parse.y:1826
msgid "ISO C forbids member declarations with no members"
msgstr "ISO C ¤Ï¥á¥ó¥Ð¤Î¤Ê¤¤¥á¥ó¥ÐÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1868 c-parse.y:1872 c-parse.y:1876 objc-parse.y:1923
-#: objc-parse.y:1927 objc-parse.y:1931
-#, fuzzy
-msgid "storage class specifier in array declarator"
-msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
-
-#: c-parse.y:1891 objc-parse.y:1946
+#: c-parse.y:1913 objc-parse.y:1985
msgid "deprecated use of label at end of compound statement"
msgstr "Ê£¹çʸ¤Î½ª¤ê¤Ç¥é¥Ù¥ë¤ò»È¤¦¤³¤È¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
-#: c-parse.y:1908 objc-parse.y:1963
+#: c-parse.y:1930 objc-parse.y:2002
msgid "ISO C89 forbids mixed declarations and code"
msgstr "ISO C89 ¤ÏÀë¸À¤È¥³¡¼¥É¤È¤Îº®¹ç¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:1982 objc-parse.y:2041
+#: c-parse.y:2005 objc-parse.y:2081
msgid "ISO C forbids label declarations"
msgstr "ISO C ¤Ï¥é¥Ù¥ëÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:2031 parse.y:1584 objc-parse.y:2090
+#: 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:2146 objc-parse.y:2205
+#: c-parse.y:2182 objc-parse.y:2258
msgid "empty body in an else-statement"
msgstr "else ʸ¤ÎÃæ¿È¤¬¶õ¤Ç¤¹"
-#: c-parse.y:2256 objc-parse.y:2315
+#: c-parse.y:2303 objc-parse.y:2379
msgid "ISO C forbids `goto *expr;'"
msgstr "ISO C `goto *¼°;' ¤Î½ñ¤­Êý¤ò¶Ø¤¸¤Þ¤¹"
-#: c-parse.y:2354 objc-parse.y:2413
+#: c-parse.y:2403 objc-parse.y:2479
msgid "ISO C forbids forward parameter declarations"
msgstr "ISO C ¤ÏÁ°Êý²¾°ú¿ôÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
@@ -2353,1395 +2555,1572 @@ msgstr "ISO C ¤ÏÁ°Êý²¾°ú¿ôÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
#. 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:2380 objc-parse.y:2439
+#: c-parse.y:2429 objc-parse.y:2505
msgid "ISO C requires a named argument before `...'"
msgstr "ISO C ¤Ï `...' ¤ÎÁ°¤Ë̾Á°¤ò¤Ä¤±¤é¤ì¤¿°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
-#: c-parse.y:2474 objc-parse.y:2533
+#: c-parse.y:2526 objc-parse.y:2602
msgid "`...' in old-style identifier list"
msgstr "¸Å¤¤¥¹¥¿¥¤¥ë¤Î¼±Ê̻ҥꥹ¥È¤Ç¤Î `...'"
-#: /usr/lib/bison.simple:639
-msgid "parse error; also virtual memory exceeded"
+#: /usr/share/bison/bison.simple:795
+#, fuzzy
+msgid "parse error; also virtual memory exhausted"
msgstr "¹½Ê¸²òÀÏ¥¨¥é¡¼ -- ¤µ¤é¤Ë²¾ÁÛ¥á¥â¥ê¤òĶ²á¤·¤Þ¤·¤¿"
-#: /usr/lib/bison.simple:643 cp/spew.c:349
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
msgid "parse error"
msgstr "¹½Ê¸²òÀÏ¥¨¥é¡¼"
-#: c-parse.y:2789 cp/spew.c:1477 objc-parse.y:3476
+#: /usr/share/bison/bison.simple:924
+msgid "parser stack overflow"
+msgstr "¹½Ê¸²òÀÏ´ï¤Î¥¹¥¿¥Ã¥¯¤¬°î¤ì¤Þ¤·¤¿"
+
+#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538
#, c-format
msgid "%s at end of input"
msgstr "ÆþÎϤκǸå¤Ë %s"
-#: c-parse.y:2795 cp/spew.c:1483 objc-parse.y:3482
+#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544
#, c-format
msgid "%s before %s'%c'"
msgstr "%s ¤¬ %s'%c' ¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: c-parse.y:2797 cp/spew.c:1485 objc-parse.y:3484
+#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546
#, c-format
msgid "%s before %s'\\x%x'"
msgstr "%s ¤¬ %s'\\x%x' ¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: c-parse.y:2801 cp/spew.c:1489 objc-parse.y:3488
+#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550
#, c-format
msgid "%s before string constant"
msgstr "ʸ»úÎóÄê¿ô¤ÎÁ°¤Ë %s"
-#: c-parse.y:2803 cp/spew.c:1491 objc-parse.y:3490
+#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552
#, c-format
msgid "%s before numeric constant"
msgstr "¿ôÃÍÄê¿ô¤ÎÁ°¤Ë %s"
-#: c-parse.y:2805 objc-parse.y:3492
+#: c-parse.y:2854 objc-parse.y:3554
#, c-format
msgid "%s before \"%s\""
msgstr "%s ¤¬ \"%s\" ¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: c-parse.y:2807 objc-parse.y:3494
+#: c-parse.y:2856 objc-parse.y:3556
#, c-format
msgid "%s before '%s' token"
msgstr "%s ¤¬ '%s' ¥È¡¼¥¯¥ó¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: c-parse.y:2943 objc-parse.y:3673
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr "¸Å¤¤ C ¤Ç¤Ïʸ»úÎó·ë¹ç¤òµñÈݤ·¤Þ¤¹"
+
+#: c-parse.y:3047 objc-parse.y:3780
#, c-format
msgid "syntax error at '%s' token"
msgstr "'%s' ¥È¡¼¥¯¥ó¤Î½ê¤Çʸˡ¥¨¥é¡¼"
-#: c-parse.y:2973 ch/parse.c:4329 cp/lex.c:910 objc-parse.y:3703
-#, fuzzy
-msgid "YYDEBUG not defined"
-msgstr "YYDEBUG ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: c-pragma.c:109
+#: c-pragma.c:107
msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
msgstr "#pragma pack (pop) ¤¬¡¢Âбþ¤¹¤ë #pragma pack (push, <n>) ¤Ê¤·¤Ë½Ð¸½¤·¤Þ¤·¤¿"
-#: c-pragma.c:127
+#: c-pragma.c:125
#, c-format
msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
msgstr "#pragma pack(pop, %s) ¤¬¡¢Âбþ¤¹¤ë #pragma pack(push, %s) ¤Ê¤·¤Ë½Ð¸½¤·¤Þ¤·¤¿"
-#: c-pragma.c:162
+#: c-pragma.c:145
#, fuzzy
msgid "#pragma pack(push[, id], <n>) is not supported on this target"
msgstr "¥¹¥¿¥Ã¥¯À©¸Â¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: c-pragma.c:164
+#: c-pragma.c:147
#, fuzzy
msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
msgstr "¥¹¥¿¥Ã¥¯À©¸Â¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: c-pragma.c:184
+#: c-pragma.c:167
#, fuzzy
msgid "missing '(' after '#pragma pack' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-pragma.c:197 c-pragma.c:247
+#: c-pragma.c:180 c-pragma.c:230
#, fuzzy
msgid "malformed '#pragma pack' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-pragma.c:202
+#: c-pragma.c:185
#, fuzzy
msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-pragma.c:204
+#: c-pragma.c:187
#, fuzzy
msgid "malformed '#pragma pack(pop[, id])' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-pragma.c:213
+#: c-pragma.c:196
#, fuzzy, c-format
msgid "unknown action '%s' for '#pragma pack' - ignored"
msgstr "'#pragma pack' ¤ÎËöÈø¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: c-pragma.c:250
+#: c-pragma.c:233
msgid "junk at end of '#pragma pack'"
msgstr "'#pragma pack' ¤ÎËöÈø¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: 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:290 c-pragma.c:295
+#: 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
#, fuzzy
msgid "malformed #pragma weak, ignored"
msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: c-pragma.c:299
+#: c-pragma.c:330
msgid "junk at end of #pragma weak"
msgstr "#pragma weak ¤ÎËöÈø¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: c-semantics.c:532
+#: c-pragma.c:365 c-pragma.c:370
+#, fuzzy
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+#: c-pragma.c:375
+#, fuzzy
+msgid "junk at end of #pragma redefine_extname"
+msgstr "#pragma weak ¤ÎËöÈø¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+#: c-pragma.c:382 c-pragma.c:463
+#, fuzzy
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr "¥Ç¡¼¥¿Îΰè '%s' ¤ÏÁ°¤ÎÀë¸À¤ÈÌ·½â¤·¤Þ¤¹"
+
+#: c-pragma.c:413
+#, fuzzy
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+#: c-pragma.c:418
+#, fuzzy
+msgid "junk at end of #pragma extern_prefix"
+msgstr "#pragma map ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+#: c-pragma.c:450
+#, fuzzy
+msgid "asm declaration conficts with previous rename"
+msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
msgstr "break ʸ¤¬ loop ¤Þ¤¿¤Ï switch ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: c-semantics.c:550
+#: c-semantics.c:583
msgid "continue statement not within a loop"
msgstr "continue ʸ¤¬ loop ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: c-semantics.c:645
+#: c-semantics.c:678
msgid "destructor needed for `%#D'"
msgstr "`%#D' ¤Î¤¿¤á¤Î¥Ç¥¹¥È¥é¥¯¥¿¤¬É¬ÍפǤ¹"
-#: c-semantics.c:646
+#: c-semantics.c:679
msgid "where case label appears here"
msgstr "case ¥é¥Ù¥ë¤¬¸½¤ì¤¿¤Î¤Ï¤³¤³¤Ç¤¹"
-#: c-semantics.c:649
+#: c-semantics.c:682
msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
msgstr "(Á°¤Î case ʸ¤Î°Ï¤¤¹þ¤Þ¤ì¤¿Æ°ºî¤Ï¤½¤ì¼«¿È¤Î¥¹¥³¡¼¥×¤Ç¥Ç¥¹¥È¥é¥¯¥¿¤òÍ׵ᤷ¤Þ¤¹)"
-#: c-semantics.c:692 c-typeck.c:6883 cp/semantics.c:881
+#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
msgstr "asm ¤Ç¤Ï %s ½¤¾þ»Ò¤¬Ìµ»ë¤µ¤ì¤Þ¤¹"
-#: c-typeck.c:124
+#: c-typeck.c:123
#, c-format
msgid "`%s' has an incomplete type"
msgstr "`%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
-#: c-typeck.c:146 cp/call.c:2586
+#: c-typeck.c:145 cp/call.c:2740
msgid "invalid use of void expression"
msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
-#: c-typeck.c:155 cp/typeck2.c:227
+#: c-typeck.c:153
+#, fuzzy
+msgid "invalid use of flexible array member"
+msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
msgstr "¶­³¦¤¬»ØÄꤵ¤ì¤Ê¤¤ÇÛÎó¤ÎÉÔŬÀÚ¤ÊÍøÍÑ"
-#: c-typeck.c:163
+#: c-typeck.c:167
#, c-format
msgid "invalid use of undefined type `%s %s'"
msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c-typeck.c:167
+#: c-typeck.c:171
#, c-format
msgid "invalid use of incomplete typedef `%s'"
msgstr "ÉÔ´°Á´¤Ê typedef `%s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
-#: c-typeck.c:398 c-typeck.c:412
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
msgstr "´Ø¿ô·¿¤¬ ISO C ¤È´°Á´¸ß´¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:572
+#: c-typeck.c:603
msgid "types are not quite compatible"
msgstr "·¿¤ÏÁ´¤¯¸ß´¹¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:725
-msgid "sizeof applied to a function type"
-msgstr "sizeof ¤¬´Ø¿ô·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-
-#: c-typeck.c:731
-msgid "sizeof applied to a void type"
-msgstr "sizeof ¤¬ void ·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-
-#: c-typeck.c:738
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-
-#: c-typeck.c:791 c-typeck.c:2799
+#: c-typeck.c:757 c-typeck.c:2673
msgid "arithmetic on pointer to an incomplete type"
msgstr "ÉÔ´°Á´·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤ËÂФ¹¤ë±é»»"
-#: c-typeck.c:1179
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:1208
+#: c-typeck.c:1169
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr "¹½Â¤ÂΤǤⶦÍÑÂΤǤâ¤Ê¤¤²¿¤«¤Ç¡¢¥á¥ó¥Ð `%s' ¤òÍ׵ᤵ¤ì¤Þ¤·¤¿"
-#: c-typeck.c:1240 ch/expr.c:810
+#: c-typeck.c:1201
msgid "dereferencing pointer to incomplete type"
msgstr "ÉÔ´°Á´·¿¤Î¥Ý¥¤¥ó¥¿¤Ø¤Î´ÖÀÜ»²¾È"
-#: c-typeck.c:1244 ch/expr.c:814
+#: c-typeck.c:1205
msgid "dereferencing `void *' pointer"
msgstr "`void *' ¥Ý¥¤¥ó¥¿¤Ø¤Î´ÖÀÜ»²¾È¤Ç¤¹"
-#: c-typeck.c:1261 cp/typeck.c:2376
+#: c-typeck.c:1222 cp/typeck.c:2357
#, c-format
msgid "invalid type argument of `%s'"
msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-#: c-typeck.c:1280 cp/typeck.c:2402
+#: c-typeck.c:1241 cp/typeck.c:2383
msgid "subscript missing in array reference"
msgstr "ÇÛÎ󻲾ȤǤÎź»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1301 cp/typeck.c:2444
+#: c-typeck.c:1262 cp/typeck.c:2425
msgid "array subscript has type `char'"
msgstr "ÇÛÎó¤Îź»ú¤¬ `char' ·¿¤Ç¤¹"
-#: c-typeck.c:1309 c-typeck.c:1398 cp/typeck.c:2451 cp/typeck.c:2530
+#: 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:1342
+#: c-typeck.c:1303
msgid "ISO C forbids subscripting `register' array"
msgstr "ISO C ¤Ï `register' ÇÛÎó¤Ø¤Îź»ú¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:1344
-msgid "ISO C89 forbids subscripting non-lvalue array"
+#: c-typeck.c:1305
+#, fuzzy
+msgid "ISO C90 forbids subscripting non-lvalue array"
msgstr "ISO C89 Èóº¸ÊÕÃÍÇÛÎó¤Ø¤Îź»ú¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:1377
+#: c-typeck.c:1338
msgid "subscript has type `char'"
msgstr "ź»ú¤¬ `char' ·¿¤ò¤â¤Á¤Þ¤¹"
-#: c-typeck.c:1393 cp/typeck.c:2525
+#: c-typeck.c:1354 cp/typeck.c:2506
msgid "subscripted value is neither array nor pointer"
msgstr "ź»ú¤ò¤Ä¤±¤é¤ì¤¿Ãͤ¬ÇÛÎó¤Ç¤â¥Ý¥¤¥ó¥¿¤Ç¤â¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:1444
+#: c-typeck.c:1408
#, c-format
msgid "`%s' undeclared here (not in a function)"
msgstr "`%s' ¤¬¤³¤³¤Ç¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (´Ø¿ô¤ÎÃæ¤Ç¤Ï¤Ê¤¤)"
-#: c-typeck.c:1451
+#: c-typeck.c:1415
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr "`%s' ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (¤³¤Î´Ø¿ôÆâ¤ÇºÇ½é¤ËÍøÍÑ)"
-#: c-typeck.c:1456
+#: c-typeck.c:1420
msgid "(Each undeclared identifier is reported only once"
msgstr "(̤Àë¸À¤Î³ÆÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤ì¤¬ºÇ½é¤Ë¸½¤ï¤ì¤¿¤½¤ì¤¾¤ì¤Î´Ø¿ô"
-#: c-typeck.c:1457
+#: c-typeck.c:1421
msgid "for each function it appears in.)"
msgstr " ¤ËÂФ·¤Æ°ìÅÙ¤À¤±Êó¹ð¤µ¤ì¤Þ¤¹¡£)"
-#: c-typeck.c:1474
+#: c-typeck.c:1438
#, c-format
msgid "local declaration of `%s' hides instance variable"
msgstr "`%s' ¤Î¥í¡¼¥«¥ëÀë¸À¤Ç¡¢¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤¬±£¤µ¤ì¤Þ¤¹"
-#: c-typeck.c:1539
+#: c-typeck.c:1504
msgid "called object is not a function"
msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï´Ø¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:1623 cp/typeck.c:3157
+#: c-typeck.c:1590 cp/typeck.c:2831
msgid "too many arguments to function"
msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: c-typeck.c:1644
+#: c-typeck.c:1611
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr "Àµ¼°¤Ê²¾°ú¿ô %d ¤Î·¿¤¬ÉÔ´°Á´¤Ç¤¹"
-#: c-typeck.c:1657
+#: c-typeck.c:1624
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÉâÆ°¾®¿ô·¿¤Ç¤Ï¤Ê¤¯À°¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1660
+#: c-typeck.c:1627
#, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÊ£ÁÇ¿ô¤Ç¤Ï¤Ê¤¯À°¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1663
+#: c-typeck.c:1630
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÉâÆ°¾®¿ô·¿¤Ç¤Ï¤Ê¤¯Ê£ÁÇ¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1666
+#: c-typeck.c:1633
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÀ°¿ô·¿¤Ç¤Ï¤Ê¤¯ÉâÆ°¾®¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1669
+#: c-typeck.c:1636
#, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÀ°¿ô·¿¤Ç¤Ï¤Ê¤¯Ê£ÁÇ¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1672
+#: c-typeck.c:1639
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÊ£ÁÇ¿ô¤Ç¤Ï¤Ê¤¯ÉâÆ°¾®¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1682
+#: c-typeck.c:1649
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤Ï `double' ¤Ç¤Ê¤¯ `float' ¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1700
+#: c-typeck.c:1667
#, c-format
msgid "%s with different width due to prototype"
msgstr "%s ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ç¤Î·¿¤ÎÉý¤È¤Ï°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1734
+#: c-typeck.c:1701
#, c-format
msgid "%s as unsigned due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ê %s ¤ÏÉä¹ç¤Ê¤·¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1736
+#: c-typeck.c:1703
#, c-format
msgid "%s as signed due to prototype"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ê %s ¤ÏÉä¹çÉÕ¤­¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:1770 cp/typeck.c:3265
+#: c-typeck.c:1737 cp/typeck.c:2935
msgid "too few arguments to function"
msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-#: c-typeck.c:1809
+#: c-typeck.c:1779
msgid "suggest parentheses around + or - inside shift"
msgstr "¥·¥Õ¥ÈÃæ¤Î + ¤ä - ¤Î¼þ¤ê¤Ç¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1816
+#: c-typeck.c:1786
msgid "suggest parentheses around && within ||"
msgstr "|| ¤È¶¦¤Ë»È¤ï¤ì¤ë && ¤Î¼þ¤ê¤Ç¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1825
+#: c-typeck.c:1795
msgid "suggest parentheses around arithmetic in operand of |"
msgstr "·×»»¤¬ | ±é»»»Ò¤Î¹à¤È¤Ê¤ë¾ì¹ç¤Ë¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1828
+#: c-typeck.c:1798
msgid "suggest parentheses around comparison in operand of |"
msgstr "Èæ³Ó¤¬ | ±é»»»Ò¤Î¹à¤È¤Ê¤ë¾ì¹ç¤Ë¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1837
+#: c-typeck.c:1807
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr "·×»»¤¬ ^ ±é»»»Ò¤Î¹à¤È¤Ê¤ë¾ì¹ç¤Ë¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1840
+#: c-typeck.c:1810
msgid "suggest parentheses around comparison in operand of ^"
msgstr "·×»»¤¬ ^ ±é»»»Ò¤Î¹à¤È¤Ê¤ë¾ì¹ç¤Ë¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1847
+#: c-typeck.c:1817
msgid "suggest parentheses around + or - in operand of &"
msgstr "& ±é»»»Ò¤Î¼þ¤ê¤Î + ¤ä - ¤Î¼þ¤ê¤Ë¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1850
+#: c-typeck.c:1820
msgid "suggest parentheses around comparison in operand of &"
msgstr "Èæ³Ó¤¬ & ±é»»»Ò¤Î¹à¤È¤Ê¤ë¾ì¹ç¤Ë¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: c-typeck.c:1857
+#: c-typeck.c:1827
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr "X<=Y<=Z ¤ÎÍͤÊÈæ³Ó¤Ï¿ô³ØŪ¤Ê°ÕÌ£¤Ç¤Î·ë²Ì¤ò¤â¤¿¤é¤·¤Þ¤»¤ó"
-#: c-typeck.c:2017 c-typeck.c:2073 ch/expr.c:3951
+#: c-typeck.c:1987 c-typeck.c:2022
#, fuzzy
msgid "division by zero"
msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: c-typeck.c:2118 cp/typeck.c:3551
+#: c-typeck.c:2067 cp/typeck.c:3196
msgid "right shift count is negative"
msgstr "±¦¥·¥Õ¥È²ó¿ô¤¬Éé¤Î¿ô¤Ç¤¹"
-#: c-typeck.c:2125 cp/typeck.c:3557
+#: c-typeck.c:2074 cp/typeck.c:3202
msgid "right shift count >= width of type"
msgstr "±¦¥·¥Õ¥È²ó¿ô >= ·¿¤ÎÉý¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2150 cp/typeck.c:3576
+#: c-typeck.c:2095 cp/typeck.c:3221
msgid "left shift count is negative"
msgstr "º¸¥·¥Õ¥È²ó¿ô¤¬Éé¤Î¿ô¤Ç¤¹"
-#: c-typeck.c:2153 cp/typeck.c:3578
+#: c-typeck.c:2098 cp/typeck.c:3223
msgid "left shift count >= width of type"
msgstr "º¸¥·¥Õ¥È²ó¿ô >= ·¿¤ÎÉý¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2178
+#: c-typeck.c:2119
msgid "shift count is negative"
msgstr "¥·¥Õ¥È²ó¿ô¤¬Éé¤ÎÃͤǤ¹"
-#: c-typeck.c:2180
+#: c-typeck.c:2121
msgid "shift count >= width of type"
msgstr "¥·¥Õ¥È²ó¿ô >= ·¿¤ÎÉý¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2201 cp/typeck.c:3613
+#: c-typeck.c:2138 cp/typeck.c:3258
msgid "comparing floating point with == or != is unsafe"
msgstr "ÉâÆ°¾®¿ôÅÀ¤ÎÈæ³Ó¤Ç == ¤ä != ¤ò»È¤¦¤Î¤Ï°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:2225 c-typeck.c:2231
+#: c-typeck.c:2164 c-typeck.c:2170
msgid "ISO C forbids comparison of `void *' with function pointer"
msgstr "ISO C ¤Ï `void *' ¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤ÎÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:2234 c-typeck.c:2276 c-typeck.c:2304
+#: 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:2249 c-typeck.c:2255 c-typeck.c:2325 c-typeck.c:2331
+#: 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:2271 c-typeck.c:2299
+#: c-typeck.c:2208 c-typeck.c:2236
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr "ISO C ´Ø¿ô¥Ý¥¤¥ó¥¿¤Î½ç½øÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:2296
+#: c-typeck.c:2233
msgid "comparison of complete and incomplete pointers"
msgstr "´°Á´¤Ê¥Ý¥¤¥ó¥¿¤ÈÉÔ´°Á´¤Ê¥Ý¥¤¥ó¥¿¤È¤ÎÈæ³Ó¤Ç¤¹"
-#: c-typeck.c:2312 c-typeck.c:2319
+#: c-typeck.c:2249 c-typeck.c:2256
msgid "ordered comparison of pointer with integer zero"
msgstr "À°¿ô 0 ¤È¥Ý¥¤¥ó¥¿¤È¤Î½ç½øÈæ³Ó¤Ç¤¹"
-#: c-typeck.c:2345 cp/typeck.c:3746
+#: c-typeck.c:2280 cp/typeck.c:3391
msgid "unordered comparison on non-floating point argument"
msgstr "ÈóÉâÆ°¾®¿ôÅÀ°ú¿ô¤Ç¤Î½ç½øÉÕ¤±¤é¤ì¤Ê¤¤Èæ³Ó¤Ç¤¹"
-#: c-typeck.c:2549
+#: c-typeck.c:2491
msgid "comparison between signed and unsigned"
msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤È¤ÎÈæ³Ó¤Ç¤¹"
-#: c-typeck.c:2595 cp/typeck.c:3992
+#: c-typeck.c:2537 cp/typeck.c:3635
msgid "comparison of promoted ~unsigned with constant"
msgstr "~¤Çȿž¤µ¤ì¤¿³Ê¾å¤²Éä¹ç̵¤··¿¤ÈÄê¿ô¤È¤ÎÈæ³Ó¤Ç¤¹"
-#: c-typeck.c:2603 cp/typeck.c:4000
+#: c-typeck.c:2545 cp/typeck.c:3643
msgid "comparison of promoted ~unsigned with unsigned"
msgstr "~¤Çȿž¤µ¤ì¤¿Éä¹ç̵¤··¿¤ÈÉä¹ç̵¤··¿¤È¤ÎÈæ³Ó¤Ç¤¹"
-#: c-typeck.c:2665
-msgid "pointer of type `void *' used in arithmetic"
-msgstr "`void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-
-#: c-typeck.c:2671
-msgid "pointer to a function used in arithmetic"
-msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-
-#: c-typeck.c:2751
+#: c-typeck.c:2625
msgid "pointer of type `void *' used in subtraction"
msgstr "`void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤Îº¹¤òµá¤á¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2753
+#: c-typeck.c:2627
msgid "pointer to a function used in subtraction"
msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤Îº¹¤òµá¤á¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2850
+#: c-typeck.c:2724
msgid "wrong type argument to unary plus"
msgstr "ñ¹à¥×¥é¥¹¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2861
+#: c-typeck.c:2737
msgid "wrong type argument to unary minus"
msgstr "ñ¹à¥Þ¥¤¥Ê¥¹¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2873
+#: c-typeck.c:2754
msgid "ISO C does not support `~' for complex conjugation"
msgstr "ISO C ¤ÏÊ£ÁǶ¦ÌòÍѤΠ`~' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-typeck.c:2879
+#: c-typeck.c:2760
msgid "wrong type argument to bit-complement"
msgstr "¥Ó¥Ã¥Èȿž¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2890
+#: c-typeck.c:2769
msgid "wrong type argument to abs"
msgstr "abs ¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2902
+#: c-typeck.c:2781
msgid "wrong type argument to conjugation"
msgstr "Ê£ÁǶ¦Ìò(~)¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2916
+#: c-typeck.c:2795
msgid "wrong type argument to unary exclamation mark"
msgstr "ñ¹à´¶Ã²Éä(!)¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2959
+#: c-typeck.c:2838
msgid "ISO C does not support `++' and `--' on complex types"
msgstr "ISO C ¤Ï complex ·¿¤Ç¤Î `++' ¤È `--' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-#: c-typeck.c:2974 c-typeck.c:3006
+#: c-typeck.c:2853 c-typeck.c:2885
#, fuzzy
msgid "wrong type argument to increment"
msgstr "¥Ó¥Ã¥Èȿž¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2976 c-typeck.c:3008
+#: c-typeck.c:2855 c-typeck.c:2887
#, fuzzy
msgid "wrong type argument to decrement"
msgstr "¥Ó¥Ã¥Èȿž¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:2997
+#: c-typeck.c:2876
#, fuzzy
msgid "increment of pointer to unknown structure"
msgstr "ÉÔÌÀ¤Ê¹½Â¤ÂΤËÂФ¹¤ë¥Ý¥¤¥ó¥¿¤Î%s"
-#: c-typeck.c:2999
+#: c-typeck.c:2878
#, fuzzy
msgid "decrement of pointer to unknown structure"
msgstr "ÉÔÌÀ¤Ê¹½Â¤ÂΤËÂФ¹¤ë¥Ý¥¤¥ó¥¿¤Î%s"
-#: c-typeck.c:3081
-msgid "increment"
-msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥È"
-
-#: c-typeck.c:3081
-msgid "decrement"
-msgstr "¥Ç¥¯¥ê¥á¥ó¥È"
-
-#: c-typeck.c:3136
+#: c-typeck.c:3015
msgid "ISO C forbids the address of a cast expression"
msgstr "ISO C ¤Ï¥­¥ã¥¹¥È¼°¤Î¥¢¥É¥ì¥¹É¾²Á¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3146
+#: c-typeck.c:3025
msgid "invalid lvalue in unary `&'"
msgstr "ñ¹à¤Î `&' ¤Ç¤Îº¸ÊÕÃͤ¬Ìµ¸ú¤Ç¤¹"
-#: c-typeck.c:3178
+#: c-typeck.c:3057
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð `%s' ¤Î¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#. condition met at compile time
-#: c-typeck.c:3287 c-typeck.c:4649 c-typeck.c:4665 c-typeck.c:4681 gcc.c:4457
-#: rtl-error.c:121 tradcif.y:533 tradcpp.c:4123 ch/expr.c:1782 ch/parse.c:361
-#: ch/typeck.c:160 cp/typeck.c:4767 java/expr.c:387 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 "%s"
-#: c-typeck.c:3348
+#: c-typeck.c:3227
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr "ISO C ¤Ïº¸ÊÕÃͤȤ·¤Æ¤Î¾ò·ï¼°¤ÎÍøÍѤò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3351
+#: c-typeck.c:3230
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr "ISO C ¤Ïº¸ÊÕÃͤȤ·¤Æ¤ÎÊ£¹ç¼°¤ÎÍøÍѤò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3354
+#: c-typeck.c:3233
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr "ISO C ¤Ïº¸ÊÕÃͤȤ·¤Æ¤Î¥­¥ã¥¹¥È¼°¤ÎÍøÍѤò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3371
+#: c-typeck.c:3250
#, c-format
msgid "%s of read-only member `%s'"
msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑ¥á¥ó¥Ð `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
-#: c-typeck.c:3375
+#: c-typeck.c:3254
#, c-format
msgid "%s of read-only variable `%s'"
msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÊÑ¿ô `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
-#: c-typeck.c:3378
+#: c-typeck.c:3257
#, c-format
msgid "%s of read-only location"
msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÎΰè¤Ç¹Ô¤ï¤ì¤Þ¤·¤¿"
-#: c-typeck.c:3396
+#: c-typeck.c:3276
#, fuzzy, c-format
msgid "cannot take address of bit-field `%s'"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó"
-#: c-typeck.c:3424 ch/typeck.c:3676 ch/xtypeck.c:62
+#: c-typeck.c:3304
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr "Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: c-typeck.c:3428 ch/typeck.c:3680 ch/xtypeck.c:66
+#: c-typeck.c:3308
#, c-format
msgid "register variable `%s' used in nested function"
msgstr "¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: c-typeck.c:3435 ch/typeck.c:3687 ch/xtypeck.c:73
+#: c-typeck.c:3315
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "Í׵ᤵ¤ì¤¿Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹"
-#: c-typeck.c:3447 ch/typeck.c:3699 ch/xtypeck.c:85
+#: c-typeck.c:3327
msgid "cannot put object with volatile field into register"
msgstr "volatile ¥Õ¥£¡¼¥ë¥É¤ò¥ì¥¸¥¹¥¿¤Ë»ý¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òÃÖ¤±¤Þ¤»¤ó"
-#: c-typeck.c:3451 ch/typeck.c:3703 ch/xtypeck.c:89
+#: c-typeck.c:3331
#, c-format
msgid "address of register variable `%s' requested"
msgstr "register ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹¤¬Í׵ᤵ¤ì¤Þ¤·¤¿"
-#: c-typeck.c:3559
+#: c-typeck.c:3439
msgid "signed and unsigned type in conditional expression"
msgstr "¾ò·ï¼°¤ËÉä¹çÉÕ¤­·¿¤ÈÉä¹ç̵¤··¿¤È¤¬¤¢¤ê¤Þ¤¹"
-#: c-typeck.c:3566
+#: c-typeck.c:3446
msgid "ISO C forbids conditional expr with only one void side"
msgstr "ISO C ¤ÏÊÒ¦¤À¤±¤¬ void ¤È¤Ê¤ë¾ò·ï¼°¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3582 c-typeck.c:3589
+#: c-typeck.c:3462 c-typeck.c:3469
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr "ISO C ¤Ï `void *' ¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤ò¾ò·ï¼°¤È¤¹¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3595
+#: c-typeck.c:3475
msgid "pointer type mismatch in conditional expression"
msgstr "¾ò·ï¼°¤Ç¤Î¥Ý¥¤¥ó¥¿¤Î·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-#: c-typeck.c:3602 c-typeck.c:3612
+#: c-typeck.c:3482 c-typeck.c:3492
msgid "pointer/integer type mismatch in conditional expression"
msgstr "¾ò·ï¼°¤Ç¥Ý¥¤¥ó¥¿·¿¤ÈÀ°¿ô·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-#: c-typeck.c:3626
+#: c-typeck.c:3506
msgid "type mismatch in conditional expression"
msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-#: c-typeck.c:3697 cp/typeck.c:5008
+#: c-typeck.c:3577 cp/typeck.c:4597
msgid "left-hand operand of comma expression has no effect"
msgstr "¥«¥ó¥Þ±é»»»Ò¤Îº¸Â¦¤Î¼°¤Ë¸úÎϤ¬¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:3736
+#: c-typeck.c:3621
msgid "cast specifies array type"
msgstr "¥­¥ã¥¹¥È¤¬ÇÛÎ󷿤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:3742
+#: c-typeck.c:3627
msgid "cast specifies function type"
msgstr "¥­¥ã¥¹¥È¤Ï´Ø¿ô·¿¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:3752
+#: c-typeck.c:3637
msgid "ISO C forbids casting nonscalar to the same type"
msgstr "ISO C ¤ÏÈó¥¹¥«¥é¡¼¤«¤éƱ¤¸·¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3771
+#: c-typeck.c:3656
msgid "ISO C forbids casts to union type"
msgstr "ISO C ¤Ï¶¦ÍÑÂη¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:3787
+#: c-typeck.c:3671
msgid "cast to union type from type not present in union"
msgstr "¶¦ÍÑÂΤÎÃæ¤Ë¤Ê¤¤·¿¤«¤é¶¦ÍÑÂη¿¤Ø¥­¥ã¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+#: c-typeck.c:3722
+#, fuzzy
+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:3830
+#: c-typeck.c:3727
msgid "cast discards qualifiers from pointer target type"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
-#: c-typeck.c:3845
+#: c-typeck.c:3742
msgid "cast increases required alignment of target type"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤ÎÍ׵ᥢ¥é¥¤¥ó¥á¥ó¥È¤¬Áý²Ã¤·¤Þ¤¹"
-#: c-typeck.c:3851 cp/typeck.c:5422
+#: c-typeck.c:3748 cp/typeck.c:5027
msgid "cast from pointer to integer of different size"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤«¤é°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤È¤Ê¤ê¤Þ¤¹"
-#: c-typeck.c:3856
+#: c-typeck.c:3753
msgid "cast does not match function type"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤ë´Ø¿ô¤Î·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-#: c-typeck.c:3863 cp/typeck.c:5429
+#: 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:4021
+#: c-typeck.c:3935
msgid "invalid lvalue in assignment"
msgstr "ÂåÆþ¤È¤·¤Æ̵¸ú¤Êº¸ÊÕÃͤǤ¹"
#. Convert new value to destination type.
-#: c-typeck.c:4030 c-typeck.c:4055 c-typeck.c:4072 ch/typeck.c:2334
-#: cp/typeck.c:5544 cp/typeck.c:5701
+#: 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:4239 c-typeck.c:4306
+#: c-typeck.c:4056
+#, fuzzy
+msgid "cannot pass rvalue to reference parameter"
+msgstr "»²¾È·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
+
+#: c-typeck.c:4160 c-typeck.c:4227
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr "%s¤Ë¤è¤ê¡¢½¤¾þ¤µ¤ì¤Ê¤¤´Ø¿ô¥Ý¥¤¥ó¥¿¤«¤é¡¢½¤¾þ¤µ¤ì¤¿´Ø¿ô¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤¹"
-#: c-typeck.c:4243 c-typeck.c:4286
+#: c-typeck.c:4164 c-typeck.c:4207
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr "%s¤Ë¤è¤ê¡¢¥Ý¥¤¥ó¥¿¤Î¼¨¤¹·¿¤«¤é¤Î½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
-#: c-typeck.c:4249
+#: c-typeck.c:4170
msgid "ISO C prohibits argument conversion to union type"
msgstr "ISO C ¤Ç¤Ï°ú¿ô¤«¤é¶¦ÍÑÂΤؤÎÊÑ´¹¤ò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:4278
+#: c-typeck.c:4199
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
msgstr "ISO C ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È `void *' ¤È¤Î%s¤ò¶Ø¤¸¤Þ¤¹"
-#: c-typeck.c:4295
+#: c-typeck.c:4216
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr "%s ¤Ç¥Ý¥¤¥ó¥¿¤Î¼¨¤¹ÂоݤÎÉä¹æ¤Î̵ͭ¤¬°Û¤Ê¤ê¤Þ¤¹"
-#: c-typeck.c:4311
+#: c-typeck.c:4232
#, c-format
msgid "%s from incompatible pointer type"
msgstr "¸ß´¹À­¤Î¤Ê¤¤¥Ý¥¤¥ó¥¿·¿¤«¤é¤Î%s¤Ç¤¹"
-#: c-typeck.c:4327
+#: c-typeck.c:4248
#, c-format
msgid "%s makes pointer from integer without a cast"
msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤ÇÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤·¤¿"
-#: c-typeck.c:4335
+#: c-typeck.c:4256
#, c-format
msgid "%s makes integer from pointer without a cast"
msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤Ç¥Ý¥¤¥ó¥¿¤«¤éÀ°¿ô¤òºî¤ê¤Þ¤·¤¿"
-#: c-typeck.c:4349 c-typeck.c:4352
+#: c-typeck.c:4270 c-typeck.c:4273
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:4356
+#: c-typeck.c:4277
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr "´ÖÀÜŪ¤Ê´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÂè %d °ú¿ô¤ËÂФ·¤Æ¸ß´¹À­¤Î¤Ê¤¤·¿¤Ç¤¹"
-#: c-typeck.c:4360
+#: c-typeck.c:4281
#, c-format
msgid "incompatible types in %s"
msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
#. Function name is known; supply it.
-#: c-typeck.c:4391
+#: c-typeck.c:4339
+#, fuzzy, c-format
+msgid "passing arg of `%s'"
+msgstr "°ú¿ô %d ¸Ä¤Î `%s' ¤òÅϤ·¤Þ¤¹"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4349
+#, fuzzy
+msgid "passing arg of pointer to function"
+msgstr "°ú¿ô %d ¸Ä¤Î´Ø¿ô¥Ý¥¤¥ó¥¿¤òÅϤ·¤Þ¤¹"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4357
#, c-format
msgid "passing arg %d of `%s'"
msgstr "°ú¿ô %d ¸Ä¤Î `%s' ¤òÅϤ·¤Þ¤¹"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4401
+#: c-typeck.c:4367
#, c-format
msgid "passing arg %d of pointer to function"
msgstr "°ú¿ô %d ¸Ä¤Î´Ø¿ô¥Ý¥¤¥ó¥¿¤òÅϤ·¤Þ¤¹"
-#: c-typeck.c:4468
+#: c-typeck.c:4433
msgid "initializer for static variable is not constant"
msgstr "static ÊÑ¿ô¤Î½é´ü²½»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:4474
+#: c-typeck.c:4439
msgid "initializer for static variable uses complicated arithmetic"
msgstr "static ÊÑ¿ô¤Î½é´ü²½»Ò¤¬Ê£»¨¤Ê·×»»¤ò»È¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:4482
+#: c-typeck.c:4447
msgid "aggregate initializer is not constant"
msgstr "½¸¹çÂΤνé´ü²½»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:4484
+#: c-typeck.c:4449
msgid "aggregate initializer uses complicated arithmetic"
msgstr "½¸¹çÂΤνé´ü²½»Ò¤ÇÊ£»¨¤Ê·×»»¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:4491
+#: c-typeck.c:4456
msgid "traditional C rejects automatic aggregate initialization"
msgstr "¸Å¤¤ C ¤Ç¤Ï¼«Æ°Åª¤Ê½¸¹çÂΤνé´ü²½¤òµñÀ䤷¤Þ¤¹"
-#: c-typeck.c:4652 c-typeck.c:4668 c-typeck.c:4684
+#: c-typeck.c:4635 c-typeck.c:4651 c-typeck.c:4667
#, c-format
msgid "(near initialization for `%s')"
msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-#: c-typeck.c:4736 cp/typeck2.c:531
+#: c-typeck.c:4718 cp/typeck2.c:505
msgid "char-array initialized from wide string"
msgstr "¥ï¥¤¥Éʸ»úÎ󤫤é char ¤ÎÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: c-typeck.c:4743 cp/typeck2.c:538
+#: c-typeck.c:4725 cp/typeck2.c:512
msgid "int-array initialized from non-wide string"
msgstr "Èó¥ï¥¤¥Éʸ»úÎ󤫤é int ¤ÎÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: c-typeck.c:4761 cp/typeck2.c:554
+#: c-typeck.c:4743 cp/typeck2.c:528
msgid "initializer-string for array of chars is too long"
msgstr "char ¤ÎÇÛÎó¤Ë¤È¤Ã¤Æ½é´ü²½»Òʸ»úÎó¤¬Ä¹¤¹¤®¤Þ¤¹"
-#: c-typeck.c:4797
+#: c-typeck.c:4781
msgid "array initialized from non-constant array expression"
msgstr "ÈóÄê¿ôÇÛÎó¼°¤«¤éÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: c-typeck.c:4814 c-typeck.c:4816 c-typeck.c:4832 c-typeck.c:4853
-#: c-typeck.c:6264
+#: 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:4848
+#: c-typeck.c:4832
msgid "initialization"
msgstr "½é´ü²½"
-#: c-typeck.c:4859 c-typeck.c:6269
+#: c-typeck.c:4843 c-typeck.c:6242
msgid "initializer element is not computable at load time"
msgstr "½é´ü²½»Ò¤ÎÍ×ÁÇ¤Ï¥í¡¼¥É»þ¤Ë·×»»¤µ¤ìÆÀ¤Þ¤»¤ó"
-#: c-typeck.c:4896 c-typeck.c:4912 cp/typeck2.c:631
+#: c-typeck.c:4858 cp/typeck2.c:605
msgid "invalid initializer"
msgstr "̵¸ú¤Ê½é´ü²½»Ò"
-#: c-typeck.c:5397
+#: c-typeck.c:5351
msgid "extra brace group at end of initializer"
msgstr "½é´ü²½»Ò¤Î½ª¤ï¤ê¤Ë;ʬ¤Ê¥Ö¥ì¡¼¥¹¤Î¥°¥ë¡¼¥×"
-#: c-typeck.c:5417
+#: c-typeck.c:5371
msgid "missing braces around initializer"
msgstr "½é´ü²½»Ò¤Î¤Þ¤ï¤ê¤Î¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:5469
+#: c-typeck.c:5431
msgid "braces around scalar initializer"
msgstr "¥¹¥«¥é¡¼½é´ü²½»Ò¤¬¥Ö¥ì¡¼¥¹¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:5517
+#: c-typeck.c:5479
msgid "initialization of flexible array member in a nested context"
msgstr "¥Í¥¹¥È¤·¤¿Ê¸Ì®¤Ç²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:5519
+#: c-typeck.c:5481
msgid "initialization of a flexible array member"
msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:5550
+#: c-typeck.c:5512
msgid "missing initializer"
msgstr "½é´ü²½»Ò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:5575
+#: c-typeck.c:5538
msgid "empty scalar initializer"
msgstr "¶õ¤Î¥¹¥«¥é¡¼½é´ü²½»Ò"
-#: c-typeck.c:5580
+#: c-typeck.c:5543
msgid "extra elements in scalar initializer"
msgstr "¥¹¥«¥é¡¼½é´ü²½»Ò¤Ë;ʬ¤ÊÍ×ÁÇ"
-#: c-typeck.c:5666
+#: c-typeck.c:5629
msgid "initialization designators may not nest"
msgstr "½é´ü²½»Ø̾»Ò¤Ç¤Ï¥Í¥¹¥È¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: c-typeck.c:5687 c-typeck.c:5758
+#: c-typeck.c:5650 c-typeck.c:5721
msgid "array index in non-array initializer"
msgstr "ÈóÇÛÎó¤Î½é´ü²½»Ò¤ËÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤·¤¿"
-#: c-typeck.c:5692 c-typeck.c:5810
+#: c-typeck.c:5655 c-typeck.c:5773
msgid "field name not in record or union initializer"
msgstr "¥ì¥³¡¼¥É¤ä¶¦ÍÑÂΤ˥ե£¡¼¥ë¥É̾¤¬¤Ê¤¤½é´ü²½»Ò¤Ç¤¹"
-#: c-typeck.c:5754 c-typeck.c:5756
+#: c-typeck.c:5717 c-typeck.c:5719
msgid "nonconstant array index in initializer"
msgstr "½é´ü²½»ÒÆâ¤ËÈóÄê¿ô¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
-#: c-typeck.c:5761
+#: c-typeck.c:5724
msgid "array index in initializer exceeds array bounds"
msgstr "½é´ü²½»ÒÆâ¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬ÇÛÎó¤Î¶­³¦¤òĶ¤¨¤Þ¤·¤¿"
-#: c-typeck.c:5772
+#: c-typeck.c:5735
msgid "empty index range in initializer"
msgstr "½é´ü²½»ÒÆâ¤Ë¶õ¤ÎÈÏ°Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
-#: c-typeck.c:5781
+#: c-typeck.c:5744
msgid "array index range in initializer exceeds array bounds"
msgstr "½é´ü²½»Ò¤ÎÈÏ°Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÇÛÎó¤Î¶­³¦¤òĶ¤¨¤Þ¤·¤¿"
-#: c-typeck.c:5822
+#: c-typeck.c:5785
#, c-format
msgid "unknown field `%s' specified in initializer"
msgstr "ÉÔÌÀ¤Ê¥Õ¥£¡¼¥ë¥É `%s' ¤¬½é´ü²½»Ò¤Ç»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: c-typeck.c:5859 c-typeck.c:5880 c-typeck.c:6332
+#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304
msgid "initialized field with side-effects overwritten"
msgstr "½é´ü²½¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤¬ÉûºîÍѤǾå½ñ¤­¤µ¤ì¤Þ¤¹"
-#: c-typeck.c:6542
+#: c-typeck.c:6514
msgid "excess elements in char array initializer"
msgstr "char ÇÛÎó½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-#: c-typeck.c:6549 c-typeck.c:6588
+#: c-typeck.c:6521 c-typeck.c:6567
msgid "excess elements in struct initializer"
msgstr "¹½Â¤Âνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-#: c-typeck.c:6655
+#: c-typeck.c:6582
+#, fuzzy
+msgid "non-static initialization of a flexible array member"
+msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+#: c-typeck.c:6644
msgid "excess elements in union initializer"
msgstr "¶¦ÍÑÂνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-#: c-typeck.c:6676
+#: c-typeck.c:6665
msgid "traditional C rejects initialization of unions"
msgstr "¸Å¤¤ C ¤Ï¶¦ÍÑÂΤνé´ü¤òµñÀ䤷¤Þ¤¹"
-#: c-typeck.c:6739
+#: c-typeck.c:6728
msgid "excess elements in array initializer"
msgstr "ÇÛÎó½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-#: c-typeck.c:6765
+#: c-typeck.c:6757
+#, fuzzy
+msgid "excess elements in vector initializer"
+msgstr "¥¹¥«¥é¡¼½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+#: c-typeck.c:6779
msgid "excess elements in scalar initializer"
msgstr "¥¹¥«¥é¡¼½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-#: c-typeck.c:6876 ch/parse.c:2026
+#: c-typeck.c:6886
msgid "asm template is not a string constant"
msgstr "asm ¥Æ¥ó¥×¥ì¡¼¥È¤¬Ê¸»úÎóÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:6908
+#: c-typeck.c:6918
msgid "invalid lvalue in asm statement"
msgstr "asm ʸ¤ÎÃæ¤Ë̵¸ú¤Êº¸ÊÕÃÍ"
-#: c-typeck.c:6979
+#: c-typeck.c:6993
msgid "modification by `asm'"
msgstr "`asm' ¤Ë¤è¤ë½¤Àµ"
-#: c-typeck.c:6998 cp/typeck.c:6586
+#: c-typeck.c:7012 cp/typeck.c:6152
msgid "function declared `noreturn' has a `return' statement"
msgstr "`noreturn' ¤ÎÀë¸À¤µ¤ì¤¿´Ø¿ô¤Ë `return' ʸ¤¬¤¢¤ê¤Þ¤¹"
-#: c-typeck.c:7005
+#: c-typeck.c:7019
msgid "`return' with no value, in function returning non-void"
msgstr "Ìá¤ê·¿¤¬´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:7011
+#: c-typeck.c:7025
msgid "`return' with a value, in function returning void"
msgstr "Ìá¤ê·¿¤¬ void ¤Î´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤¹"
-#: c-typeck.c:7015
+#: c-typeck.c:7029
msgid "return"
msgstr "return"
-#: c-typeck.c:7066
+#: c-typeck.c:7081
msgid "function returns address of local variable"
msgstr "´Ø¿ô¤¬¥í¡¼¥«¥ëÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤òÊÖ¤·¤Æ¤¤¤Þ¤¹"
-#: c-typeck.c:7123 cp/semantics.c:525
+#: c-typeck.c:7137 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "switch ¤ÎÆâÍƤ¬À°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:7134
+#: c-typeck.c:7147
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr "ISO C ¤Ç¤Ï `long' ¤Î switch ¼°¤Ï `int' ¤ËÊÑ´¹¤µ¤ì¤Þ¤»¤ó"
-#: c-typeck.c:7177 cp/decl.c:5214
+#: c-typeck.c:7182 cp/decl.c:5173
msgid "case label not within a switch statement"
msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: c-typeck.c:7179 cp/decl.c:5219
+#: c-typeck.c:7184 cp/decl.c:5178
msgid "`default' label not within a switch statement"
msgstr "`default' ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: calls.c:1889
+#: calls.c:1921
#, c-format
msgid "inlining failed in call to `%s'"
msgstr "`%s' ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Î¥¤¥ó¥é¥¤¥ó²½¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-#: calls.c:1890 calls.c:2196
+#: calls.c:1922 calls.c:2228
msgid "called from here"
msgstr "¤³¤³¤«¤é¸Æ¤Ð¤ì¤Þ¤·¤¿"
-#: calls.c:2195
+#: calls.c:2227
#, c-format
msgid "can't inline call to `%s'"
msgstr "`%s' ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ï¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Þ¤»¤ó"
-#: calls.c:2233
+#: calls.c:2257
msgid "function call has aggregate value"
msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤¬½¸¹çÂΤÎÃͤò»ý¤Ã¤Æ¤¤¤Þ¤¹"
-#: calls.c:4527
+#: calls.c:4614
#, fuzzy
msgid "variable offset is passed partially in stack and in reg"
msgstr "ÊÑ¿ô¥ª¥Õ¥»¥Ã¥È¤¬¥¹¥¿¥Ã¥¯¤È¥ì¥¸¥¹¥¿¤ÇÅù²Á¤ËÅϤµ¤ì¤Þ¤·¤¿"
-#: calls.c:4529
+#: calls.c:4616
msgid "variable size is passed partially in stack and in reg"
msgstr "ÊÑ¿ô¥µ¥¤¥º¤¬¥¹¥¿¥Ã¥¯¤È¥ì¥¸¥¹¥¿¤ÇÅù²Á¤ËÅϤµ¤ì¤Þ¤·¤¿"
-#: cfgrtl.c:1545
+#: 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
#, fuzzy, c-format
msgid "end insn %d for block %d not found in the insn stream"
msgstr "½ªÎ»Ì¿Îá %d(¥Ö¥í¥Ã¥¯ %d) ¤¬°ìÏ¢¤ÎÌ¿ÎáÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"
-#: cfgrtl.c:1559
+#: cfgrtl.c:1744
#, fuzzy, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr "Ì¿Îá %d ¤¬Ê£¿ô¤Î´ðËÜ¥Ö¥í¥Ã¥¯(%d ¤È %d)¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
-#: cfgrtl.c:1570
+#: cfgrtl.c:1756
#, fuzzy, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr "³«»ÏÌ¿Îá %d(¥Ö¥í¥Ã¥¯ %d) ¤¬°ìÏ¢¤ÎÌ¿ÎáÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"
-#: cfgrtl.c:1590
+#: cfgrtl.c:1778
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr ""
+
+#: cfgrtl.c:1785
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1791
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1799
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr ""
-#: cfgrtl.c:1606
+#: cfgrtl.c:1805
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1811
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1841
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1620
+#: cfgrtl.c:1856
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1622
+#: cfgrtl.c:1858
msgid "wrong insn in the fallthru edge"
msgstr ""
-#: cfgrtl.c:1628
+#: cfgrtl.c:1865
#, fuzzy, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d pred edge ¥ê¥¹¥È¤¬µ¡Ç½¤·¤Æ¤¤¤Þ¤»¤ó"
-#: cfgrtl.c:1651
+#: cfgrtl.c:1881
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr ""
+
+#: cfgrtl.c:1889
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr ""
+
+#: cfgrtl.c:1894
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1899
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1905
+#, fuzzy, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "¾ò·ï¤Î¼Â¹Ô¤è¤ê¤Ïʬ´ô¤ÎÀ¸À®¤òÍ¥À褹¤ë"
+
+#: cfgrtl.c:1910
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1919
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1934
#, c-format
msgid "missing barrier after block %i"
msgstr ""
-#: cfgrtl.c:1662
+#: cfgrtl.c:1944
#, fuzzy, c-format
msgid "basic block %d pred edge is corrupted"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d pred edge ¥ê¥¹¥È¤¬µ¡Ç½¤·¤Æ¤¤¤Þ¤»¤ó"
-#: cfgrtl.c:1678
-#, fuzzy, c-format
-msgid "insn %d is inside basic block %d but block_for_insn is NULL"
-msgstr "Ì¿Îá %d ¤¬Ê£¿ô¤Î´ðËÜ¥Ö¥í¥Ã¥¯(%d ¤È %d)¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
+#: cfgrtl.c:1961
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is NULL"
+msgstr ""
-#: cfgrtl.c:1681
-#, fuzzy, c-format
-msgid "insn %d is inside basic block %d but block_for_insn is %i"
-msgstr "Ì¿Îá %d ¤¬Ê£¿ô¤Î´ðËÜ¥Ö¥í¥Ã¥¯(%d ¤È %d)¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
+#: cfgrtl.c:1965
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is %i"
+msgstr ""
-#: cfgrtl.c:1694 cfgrtl.c:1702
+#: cfgrtl.c:1979 cfgrtl.c:1989
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr "NOTE_INSN_BASIC_BLOCK ¤¬¥Ö¥í¥Ã¥¯ %d ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: cfgrtl.c:1718
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK %d in the middle of basic block %d"
+#: cfgrtl.c:2002
+#, fuzzy, c-format
+msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr "NOTE_INSN_BASIC_BLOCK %d ¤¬´ðËÜ¥Ö¥í¥Ã¥¯ %d ¤ÎÃæ¤Û¤É¤Ë¤¢¤ê¤Þ¤¹"
-#: cfgrtl.c:1730
+#: cfgrtl.c:2014
#, fuzzy, c-format
msgid "in basic block %d:"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d Æâ:"
-#: cfgrtl.c:1731
+#: cfgrtl.c:2015
msgid "flow control insn inside a basic block"
msgstr ""
-#: cfgrtl.c:1751
+#: cfgrtl.c:2034
#, fuzzy, c-format
msgid "basic block %i edge lists are corrupted"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %i edge ¥ê¥¹¥È¤¬µ¡Ç½¤·¤Æ¤¤¤Þ¤»¤ó"
-#: cfgrtl.c:1765
+#: cfgrtl.c:2049
#, fuzzy
msgid "basic blocks not numbered consecutively"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯¤¬Ï¢Â³Åª¤ËÈÖ¹æÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cfgrtl.c:1792
+#: cfgrtl.c:2074
#, fuzzy
msgid "insn outside basic block"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d Æâ:"
-#: cfgrtl.c:1800
+#: cfgrtl.c:2082
#, fuzzy
msgid "return not followed by barrier"
msgstr "'#' ¤Ë¥Þ¥¯¥í²¾°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
-#: cfgrtl.c:1807
+#: cfgrtl.c:2087
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr "Ì¿ÎáÏ¢º¿Ãæ¤Î bb ¤Î¿ô (%d) ¤¬ n_basic_blocks (%d) ¤È°ã¤¤¤Þ¤¹"
-#: cfgrtl.c:1811
+#: 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 "fopen %s"
-#: collect2.c:1272 collect2.c:1422 collect2.c:1453
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
msgstr "fclose %s"
-#: collect2.c:1281
+#: collect2.c:1275
#, c-format
msgid "collect2 version %s"
msgstr "collect2 version %s"
-#: collect2.c:1371
+#: collect2.c:1365
#, c-format
msgid "%d constructor(s) found\n"
msgstr "%d ¸Ä¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
-#: collect2.c:1372
+#: collect2.c:1366
#, c-format
msgid "%d destructor(s) found\n"
msgstr "%d ¸Ä¤Î¥Ç¥¹¥È¥é¥¯¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
-#: collect2.c:1373
+#: collect2.c:1367
#, c-format
msgid "%d frame table(s) found\n"
msgstr "%d ¸Ä¤Î¥Õ¥ì¡¼¥à¥Æ¡¼¥Ö¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
-#: collect2.c:1514
+#: collect2.c:1508
#, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s ¥·¥°¥Ê¥ë %d [%s]%s ¤Ç½ªÎ»¤µ¤»¤é¤ì¤Þ¤·¤¿"
-#: collect2.c:1533
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
msgstr "%s ¤Ï exit ¾õÂÖ %d ¤òÊÖ¤·¤Þ¤·¤¿"
-#: collect2.c:1561
+#: collect2.c:1555
#, c-format
msgid "[cannot find %s]"
msgstr "[%s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó]"
-#: collect2.c:1576
+#: collect2.c:1570
#, c-format
msgid "cannot find `%s'"
msgstr "`%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:1587 collect2.c:1590
+#: collect2.c:1581 collect2.c:1584
#, c-format
msgid "redirecting stdout: %s"
msgstr "stdout ¤Ø¤Î¥ê¥À¥¤¥ì¥¯¥È: %s"
-#: collect2.c:1633
+#: collect2.c:1627
#, c-format
msgid "[Leaving %s]\n"
msgstr "[%s ¤òÎ¥¤ì¤Þ¤¹]\n"
-#: collect2.c:1876
+#: collect2.c:1870
#, c-format
-msgid "\nwrite_c_file - output name is %s, prefix is %s\n"
-msgstr "\nwrite_c_file - ½ÐÎÏ̾¤Ï %s¡¢¥×¥ì¥Õ¥£¥¯¥¹¤Ï %s\n"
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
+msgstr ""
+"\n"
+"write_c_file - ½ÐÎÏ̾¤Ï %s¡¢¥×¥ì¥Õ¥£¥¯¥¹¤Ï %s\n"
-#: collect2.c:2089
+#: collect2.c:2083
msgid "cannot find `nm'"
msgstr "`nm' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:2099 collect2.c:2541
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
msgstr "pipe"
-#: collect2.c:2103 collect2.c:2545
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
msgstr "fdopen"
-#: collect2.c:2129 collect2.c:2571
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
msgstr "dup2 %d 1"
-#: 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 "close %d"
-#: collect2.c:2138
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr "execvp %s"
+msgid "execv %s"
+msgstr "execv %s"
-#: collect2.c:2192
+#: collect2.c:2186
#, c-format
msgid "init function found in object %s"
msgstr "init ´Ø¿ô¤ò¥ª¥Ö¥¸¥§¥¯¥È %s ¤Ç¸«¤Ä¤±¤Þ¤·¤¿"
-#: collect2.c:2200
+#: collect2.c:2194
#, c-format
msgid "fini function found in object %s"
msgstr "fini ´Ø¿ô¤ò¥ª¥Ö¥¸¥§¥¯¥È %s ¤Ç¸«¤Ä¤±¤Þ¤·¤¿"
-#: collect2.c:2223 collect2.c:2629
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
msgstr "fclose"
-#: collect2.c:2268
+#: collect2.c:2262
#, c-format
msgid "unable to open file '%s'"
msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
-#: collect2.c:2270
+#: collect2.c:2264
#, c-format
msgid "unable to stat file '%s'"
msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò stat ¤Ç¤­¤Þ¤»¤ó"
-#: collect2.c:2276
+#: collect2.c:2270
#, c-format
msgid "unable to mmap file '%s'"
msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò mmap ¤Ç¤­¤Þ¤»¤ó"
-#: collect2.c:2429
+#: collect2.c:2423
msgid "not found\n"
msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
-#: collect2.c:2431 collect2.c:2608
+#: collect2.c:2425 collect2.c:2602
#, c-format
msgid "dynamic dependency %s not found"
msgstr "ưŪ°Í¸´Ø·¸ %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:2451
+#: collect2.c:2445
#, c-format
msgid "bad magic number in file '%s'"
msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ËÉÔÀµ¤Ê¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð"
-#: collect2.c:2473
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
msgstr "ưŪ°Í¸´Ø·¸¡£\n"
-#: collect2.c:2532
+#: collect2.c:2526
msgid "cannot find `ldd'"
msgstr "`ldd' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:2580
-#, c-format
-msgid "execv %s"
-msgstr "execv %s"
-
-#: collect2.c:2593
-msgid "\nldd output with constructors/destructors.\n"
-msgstr "\nldd ½ÐÎϤ¬¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤òȼ¤¤¤Þ¤¹¡£\n"
+#: collect2.c:2587
+msgid ""
+"\n"
+"ldd output with constructors/destructors.\n"
+msgstr ""
+"\n"
+"ldd ½ÐÎϤ¬¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤òȼ¤¤¤Þ¤¹¡£\n"
-#: collect2.c:2620
+#: collect2.c:2614
#, c-format
msgid "unable to open dynamic dependency '%s'"
msgstr "ưŪ°Í¸´Ø·¸ '%s' ¤ò³«¤±¤Þ¤»¤ó"
-#: collect2.c:2734
+#: collect2.c:2728
#, c-format
msgid "%s: not a COFF file"
msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: collect2.c:2853
+#: collect2.c:2847
#, c-format
msgid "%s: cannot open as COFF file"
msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤È¤·¤Æ³«¤±¤Þ¤»¤ó"
-#: collect2.c:2909
+#: collect2.c:2903
#, fuzzy, c-format
msgid "library lib%s not found"
msgstr "¥é¥¤¥Ö¥é¥ê lib%s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:3038
+#: collect2.c:3030
#, c-format
msgid "open %s"
msgstr "open %s"
-#: collect2.c:3061
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
msgstr "ξΩ¤·¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È´üÂÔÃÍ"
-#: collect2.c:3134
+#: collect2.c:3126
#, c-format
-msgid "\nProcessing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
-msgstr "\n¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë #%d ¤ò½èÍý¤·¤Þ¤¹¡¢¥ª¥Õ¥»¥Ã¥È = 0x%.8lx, ¼ïÎà = %s\n"
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+msgstr ""
+"\n"
+"¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë #%d ¤ò½èÍý¤·¤Þ¤¹¡¢¥ª¥Õ¥»¥Ã¥È = 0x%.8lx, ¼ïÎà = %s\n"
-#: collect2.c:3143
+#: collect2.c:3135
msgid "string section missing"
msgstr "ʸ»úÎ󥻥¯¥·¥ç¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: collect2.c:3146
+#: collect2.c:3138
msgid "section pointer missing"
msgstr "¥»¥¯¥·¥ç¥ó¥Ý¥¤¥ó¥¿¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: collect2.c:3194
+#: collect2.c:3186
msgid "no symbol table found"
msgstr "¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:3207
+#: collect2.c:3199
msgid "no cmd_strings found"
msgstr "cmd_strings ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: collect2.c:3219
-msgid "\nUpdating header and load commands.\n\n"
-msgstr "\n¥Ø¥Ã¥À¤È load ¥³¥Þ¥ó¥É¤ò¹¹¿·¤·¤Þ¤¹¡£\n"
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
+msgstr ""
+"\n"
+"¥Ø¥Ã¥À¤È load ¥³¥Þ¥ó¥É¤ò¹¹¿·¤·¤Þ¤¹¡£\n"
-#: collect2.c:3226
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
msgstr "load ¥³¥Þ¥ó¥É¥Þ¥Ã¥×¡¢%d ¸Ä¤Î¥³¥Þ¥ó¥É¡¢¿·¤¿¤Ê¥µ¥¤¥º %ld¡£\n"
-#: collect2.c:3257
-msgid "writing load commands.\n\n"
-msgstr "load ¥³¥Þ¥ó¥É¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£\n\n"
+#: collect2.c:3249
+msgid ""
+"writing load commands.\n"
+"\n"
+msgstr ""
+"load ¥³¥Þ¥ó¥É¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£\n"
+"\n"
-#: collect2.c:3277
+#: collect2.c:3269
#, c-format
msgid "close %s"
msgstr "close %s"
-#: collect2.c:3351
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
msgstr "0x%l.8x ¤òÎΰè¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: collect2.c:3355
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
msgstr "%s ´Ø¿ô, Îΰè %d, ¥ª¥Õ¥»¥Ã¥È = %ld (0x%.8lx)\n"
-#: collect2.c:3482
+#: collect2.c:3474
msgid "bad magic number"
msgstr "ÉÔÀµ¤Ê¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð"
-#: collect2.c:3483
+#: collect2.c:3475
msgid "bad header version"
msgstr "ÉÔÀµ¤Ê¥Ø¥Ã¥À¥Ð¡¼¥¸¥ç¥ó"
-#: collect2.c:3484
+#: collect2.c:3476
msgid "bad raw header version"
msgstr "ÉÔÀµ¤ÊÀ¸¤Î¥Ø¥Ã¥À¥Ð¡¼¥¸¥ç¥ó"
-#: collect2.c:3485
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr "¾®¤µ¤¹¤®¤ëÀ¸¤Î¥Ø¥Ã¥À¥Ð¥Ã¥Õ¥¡"
-#: collect2.c:3486
+#: collect2.c:3478
msgid "old raw header file"
msgstr "¸Å¤¤À¸¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë"
-#: collect2.c:3487
+#: collect2.c:3479
msgid "unsupported version"
msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹"
-#: collect2.c:3489
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr "ÉÔÌÀ¤Ê {de,en}code_mach_o_hdr Ìá¤êÃÍ %d"
-#: collect2.c:3509
+#: collect2.c:3501
#, c-format
msgid "fstat %s"
msgstr "fstat %s"
-#: collect2.c:3546 collect2.c:3594
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
msgstr "lseek %s 0"
-#: collect2.c:3550
+#: collect2.c:3542
#, c-format
msgid "read %s"
msgstr "read %s"
-#: collect2.c:3553
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr "%ld ¥Ð¥¤¥ÈÆɹþ¤ß¡£%ld (%s ¤«¤é)Æɹþ¤à¤Ï¤º¤Ç¤¹"
-#: collect2.c:3574
+#: collect2.c:3566
#, c-format
msgid "msync %s"
msgstr "msync %s"
-#: collect2.c:3581
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
msgstr "munmap %s"
-#: collect2.c:3598
+#: collect2.c:3590
#, c-format
msgid "write %s"
msgstr "write %s"
-#: collect2.c:3601
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr "%ld ¥Ð¥¤¥È½ñ¹þ¤ß¡£%ld (%s ¤Ø)½ñ¹þ¤à¤Ï¤º¤Ç¤¹"
-#: combine.c:12615
+#: combine.c:12966
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
@@ -3751,7 +4130,7 @@ msgstr ""
";; ·ë¹çÅý·×: %d »î¹Ô, %d ÂåÂØ (%d ¿·¤¿¤Ê¶õ´Ö¤òÍ×µá),\n"
";; %d À®¸ù¡£\n"
-#: combine.c:12625
+#: combine.c:12976
#, c-format
msgid ""
"\n"
@@ -3762,229 +4141,262 @@ msgstr ""
";; ·ë¹ç¹ç·×: %d »î¹Ô, %d ÂåÂØ (%d ¿·¤¿¤Ê¶õ´Ö¤òÍ×µá),\n"
";; %d À®¸ù¡£\n"
-#: convert.c:67
+#: convert.c:69
msgid "cannot convert to a pointer type"
msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: convert.c:100
+#: convert.c:102
msgid "pointer value used where a floating point value was expected"
msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢¥Ý¥¤¥ó¥¿Ãͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: convert.c:104
+#: convert.c:106
msgid "aggregate value used where a float was expected"
msgstr "ÉâÆ°¾®¿ôÅÀ·¿¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢½¸¹çÂΤÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: convert.c:130
+#: convert.c:132
msgid "conversion to incomplete type"
msgstr "ÉÔ´°Á´·¿¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-#: convert.c:390 convert.c:470
+#: convert.c:414 convert.c:494
msgid "can't convert between vector values of different size"
msgstr "Â礭¤µ¤Î°Û¤Ê¤ë¥Ù¥¯¥È¥ëÃÍƱ»Î¤ÎÊÑ´¹¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: convert.c:396
+#: convert.c:420
msgid "aggregate value used where an integer was expected"
msgstr "À°¿ô·¿¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢½¸¹çÂΤÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: convert.c:448 f/com.c:1072
+#: convert.c:472 f/com.c:1100
msgid "pointer value used where a complex was expected"
msgstr "Ê£ÁÇ¿ô·¿¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢¥Ý¥¤¥ó¥¿Ãͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: convert.c:452 f/com.c:1074
+#: convert.c:476 f/com.c:1102
msgid "aggregate value used where a complex was expected"
msgstr "Ê£ÁÇ¿ô·¿¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢½¸¹çÂΤÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: convert.c:476
+#: convert.c:500
msgid "can't convert value to a vector"
msgstr "Ãͤò¥Ù¥¯¥È¥ë¤Ë¤ÏÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: cpperror.c:124
+#: cpperror.c:113
+msgid "warning: "
+msgstr "·Ù¹ð: "
+
+#: cpperror.c:115
msgid "internal error: "
msgstr "ÆâÉô¥¨¥é¡¼: "
-#: cpperror.c:131 tradcpp.c:4679
-msgid "warning: "
-msgstr "·Ù¹ð: "
+#: cpperror.c:189
+#, fuzzy
+msgid "stdout"
+msgstr "¹½Â¤ÂÎ"
-#: cpperror.c:208 cpperror.c:292 cppfiles.c:677 gcc.c:6308 tradcpp.c:4717
+#: cpperror.c:191 gcc.c:6444
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: cppexp.c:155
+#: cppexp.c:199
#, fuzzy
-msgid "floating point numbers are not valid in #if"
-msgstr "#if ¼°¤ÎÃæ¤Ç¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
+msgid "too many decimal points in number"
+msgstr "`asm' Ãæ¤ÎÂåÂØ¥­¡¼¥ï¡¼¥É¤¬Â¿¤¹¤®¤Þ¤¹"
-#: cppexp.c:177
-msgid "traditional C rejects the `U' suffix"
-msgstr "¸Å¤¤ C ¤Ç¤Ï `U' ÀÜÈø¼­¤¬µñÀ䤵¤ì¤Þ¤¹"
+#: cppexp.c:219
+#, fuzzy, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "̵¸ú¤Ê¶çÆÉÅÀ `%c' ¤¬À©ÌóÆâ¤Ë¤¢¤ê¤Þ¤¹"
-#: cppexp.c:180
-msgid "too many 'l' suffixes in integer constant"
-msgstr "À°¿ôÄê¿ô¤Î¥µ¥Õ¥£¥Ã¥¯¥¹ 'l' ¤¬Â¿¤¹¤®¤Þ¤¹"
+#: cppexp.c:225
+#, fuzzy
+msgid "use of C99 hexadecimal floating constant"
+msgstr "16 ¿ÊÉâÆ°¾®¿ôÄê¿ô¤¬¤Ù¤­¾è¤ò»ý¤Á¤Þ¤»¤ó"
-#: cppexp.c:184
-msgid "integer constant contains digits beyond the radix"
-msgstr "À°¿ôÄê¿ô¤¬´ð¿ô¤òĶ¤¨¤¿¿ôÃͤò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+#: cppexp.c:234
+#, fuzzy
+msgid "exponent has no digits"
+msgstr "ÉâÆ°¾®¿ôÄê¿ô¤Î¤Ù¤­¿ô¤¬¡¢¥¢¥é¥Ó¥¢¿ô»ú¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: cppexp.c:187
-msgid "integer constant out of range"
-msgstr "À°¿ôÄê¿ô¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+#: cppexp.c:241
+#, fuzzy
+msgid "hexadecimal floating constants require an exponent"
+msgstr "16 ¿ÊÉâÆ°¾®¿ôÄê¿ô¤¬¤Ù¤­¾è¤ò»ý¤Á¤Þ¤»¤ó"
-#: cppexp.c:193
-msgid "integer constant is so large that it is unsigned"
-msgstr "À°¿ôÄê¿ô¤¬Â礭¤¹¤®¤ë¤Î¤Ç unsigned ¤Ë¤Ê¤ê¤Þ¤·¤¿"
+#: cppexp.c:247
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "ÀÜÈø¼­ '%.*s' ¤ÏÀ°¿ôÄê¿ô¤Ë¤Ï̵¸ú¤Ç¤¹"
-#: cppexp.c:202
-#, c-format
-msgid "invalid suffix '%.*s' on integer constant"
+#: cppexp.c:257 cppexp.c:282
+#, fuzzy, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "¸Å¤¤ C ¤Ç¤Ï 'f' ÀÜÈø¼­¤¬µñÈݤµ¤ì¤Þ¤¹"
+
+#: cppexp.c:268
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ÀÜÈø¼­ '%.*s' ¤ÏÀ°¿ôÄê¿ô¤Ë¤Ï̵¸ú¤Ç¤¹"
-#: cppexp.c:234
+#: cppexp.c:289
+#, fuzzy
+msgid "use of C99 long long integer constant"
+msgstr "ISO C89 ¤Ç¤Ï long long À°¿ôÄê¿ô¤ò¶Ø¤¸¤Þ¤¹"
+
+#: cppexp.c:295
+#, fuzzy
+msgid "imaginary constants are a GCC extension"
+msgstr "#if ¼°¤ÎÃæ¤Ç¤Ïʸ»úÎóÄê¿ô¤¬»È¤¨¤Þ¤»¤ó"
+
+#: cppexp.c:383
+#, fuzzy
+msgid "integer constant is too large for its type"
+msgstr "À°¿ôÄê¿ô¤¬Â礭¤¹¤®¤ë¤Î¤Ç unsigned ¤Ë¤Ê¤ê¤Þ¤·¤¿"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
+msgstr "À°¿ôÄê¿ô¤¬Â礭¤¹¤®¤ë¤Î¤Ç unsigned ¤Ë¤Ê¤ê¤Þ¤·¤¿"
+
+#: cppexp.c:482
msgid "missing ')' after \"defined\""
msgstr "\"defined\" ¤Î¸å¤í¤Î ')' ¤¬·ç¤±¤Æ¤¤¤Þ¤¹"
-#: cppexp.c:240
+#: cppexp.c:489
msgid "operator \"defined\" requires an identifier"
msgstr "\"defined\" ±é»»»Ò¤Ï¼±Ê̻ҤòÍ׵ᤷ¤Þ¤¹"
-#: cppexp.c:248
+#: cppexp.c:497
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "¡ÊC++ ¤Ç¤Ï \"%s\" ¤¬ \"%s\" ¤ÎÂåÂإȡ¼¥¯¥ó¤Ç¤¹¡Ë"
-#: cppexp.c:259
+#: cppexp.c:507
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: cppexp.c:306
+#: cppexp.c:545
#, fuzzy
-msgid "string constants are not valid in #if"
-msgstr "#if ¼°¤ÎÃæ¤Ç¤Ïʸ»úÎóÄê¿ô¤¬»È¤¨¤Þ¤»¤ó"
-
-#: cppexp.c:310
-#, fuzzy, c-format
-msgid "invalid character '%c' in #if"
-msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
+msgid "floating constant in preprocessor expression"
+msgstr "À°¿ô¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¼°Æâ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: cppexp.c:312
-#, fuzzy, c-format
-msgid "invalid character '\\%03o' in #if"
-msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
+#: cppexp.c:551
+#, fuzzy
+msgid "imaginary number in preprocessor expression"
+msgstr "À°¿ô¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¼°Æâ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: cppexp.c:329
+#: cppexp.c:596
#, c-format
msgid "ISO C++ does not permit \"%s\" in #if"
msgstr "ISO C++ ¤Ï #if Æâ¤Î \"%s\" ¤òµö¤·¤Þ¤»¤ó"
-#: cppexp.c:340
+#: cppexp.c:604
#, c-format
msgid "\"%s\" is not defined"
msgstr "\"%s\" ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cppexp.c:366
+#: cppexp.c:737 cppexp.c:772
+#, c-format
+msgid "missing binary operator before token \"%s\""
+msgstr ""
+
+#: cppexp.c:756
#, fuzzy, c-format
-msgid "\"%s\" is not valid in #if expressions"
-msgstr "\"%s\" ¤Ï¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÂФ¹¤ëÀµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgid "invalid character '%c' in #if"
+msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
-#: cppexp.c:380
-msgid "integer overflow in preprocessor expression"
-msgstr "À°¿ô¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¼°Æâ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+#: cppexp.c:758
+#, fuzzy, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
-#: cppexp.c:607
-#, fuzzy
-msgid "missing binary operator"
-msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+#: cppexp.c:763
+#, fuzzy, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "À°¿ô¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¼°Æâ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: cppexp.c:642
+#: cppexp.c:782
#, fuzzy
msgid "void expression between '(' and ')'"
msgstr "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
-#: cppexp.c:644
+#: cppexp.c:785
+#, fuzzy
+msgid "#if with no expression"
+msgstr " throw ¤µ¤ì¤¿¼°¤ÎÃæ"
+
+#: cppexp.c:787
#, fuzzy, c-format
msgid "operator '%s' has no right operand"
msgstr "È¿Éü»Ò `%s' ¤ÏÈóÀ°¿ô·¿¤Ç¤¹"
-#: cppexp.c:656
-#, c-format
-msgid "impossible operator '%s'"
-msgstr "¤¢¤ê¤¨¤Ê¤¤±é»»»Ò '%s'"
-
-#: cppexp.c:732 tradcif.y:111 tradcif.y:122
-msgid "division by zero in #if"
-msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-
-#: cppexp.c:766
-msgid "comma operator in operand of #if"
-msgstr "¥«¥ó¥Þ±é»»»Ò¤¬ #if ±é»»»Ò¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr ""
-#: cppexp.c:771
+#: cppexp.c:840
#, fuzzy
-msgid "syntax error '?' without following ':'"
-msgstr "'@' ¥È¡¼¥¯¥ó¤Çʸˡ¥¨¥é¡¼"
+msgid "unbalanced stack in #if"
+msgstr "Âбþ¤·¤Æ¤¤¤Ê¤¤ #endif"
-#: cppexp.c:774
-#, fuzzy
-msgid "syntax error ':' without preceding '?'"
-msgstr "'@' ¥È¡¼¥¯¥ó¤Çʸˡ¥¨¥é¡¼"
+#: cppexp.c:862
+#, fuzzy, c-format
+msgid "impossible operator '%u'"
+msgstr "¤¢¤ê¤¨¤Ê¤¤±é»»»Ò '%s'"
-#: cppexp.c:782
+#: cppexp.c:954
#, fuzzy
msgid "missing ')' in expression"
msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
-#: cppexp.c:789
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr ""
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr "À°¿ô¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¼°Æâ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+#: cppexp.c:990
#, fuzzy
msgid "missing '(' in expression"
msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
-#: cppexp.c:815
-#, fuzzy, c-format
-msgid "missing binary operator before '%s'"
-msgstr "¿ô»ú '%.*s' ¤Î¸å¤Ë¶õÇò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: cppexp.c:821
-#, fuzzy, c-format
-msgid "operator '%s' has no left operand"
-msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+#: cppexp.c:1026
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr ""
-#: cppexp.c:859
-#, fuzzy
-msgid "unbalanced stack in #if"
-msgstr "Âбþ¤·¤Æ¤¤¤Ê¤¤ #endif"
+#: cppexp.c:1031
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr ""
-#: cppexp.c:862
-#, fuzzy
-msgid "#if with no expression"
-msgstr " throw ¤µ¤ì¤¿¼°¤ÎÃæ"
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr "¥«¥ó¥Þ±é»»»Ò¤¬ #if ±é»»»Ò¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
-#: cppfiles.c:334
-msgid "<stdin>"
-msgstr "<ɸ½àÆþÎÏ>"
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: cppfiles.c:378
+#: cppfiles.c:411
#, c-format
msgid "%s is too large"
msgstr "%s ¤ÏÂ礭¤¹¤®¤Þ¤¹"
-#: cppfiles.c:415
+#: cppfiles.c:447
#, c-format
msgid "%s is shorter than expected"
msgstr "%s ¤¬ËÜÍè¤è¤ê¤âû¤¤¤Ç¤¹"
-#: cppfiles.c:429
+#: cppfiles.c:461
#, c-format
msgid "%s is a block device"
msgstr "%s ¤Ï¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤Ç¤¹"
-#: cppfiles.c:555
+#: cppfiles.c:594
#, fuzzy, c-format
msgid "no include path in which to find %s"
msgstr "%s ¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cppfiles.c:627
+#: cppfiles.c:668
msgid "Multiple include guards may be useful for:\n"
msgstr "¿½Å include ¤«¤é¤ÎÊݸͭ±×¤È¤Ê¤ë¤Ç¤·¤ç¤¦:\n"
@@ -3992,805 +4404,605 @@ msgstr "¿½Å include ¤«¤é¤ÎÊݸͭ±×¤È¤Ê¤ë¤Ç¤·¤ç¤¦:\n"
msgid "absolute file name in remap_filename"
msgstr "ÀäÂХѥ¹¥Õ¥¡¥¤¥ë̾¤¬ remap_filename ¤Ë¤¢¤ê¤Þ¤¹"
-#: cppinit.c:230
+#: cppinit.c:224
#, c-format
msgid "ignoring nonexistent directory \"%s\"\n"
msgstr "¸ºß¤·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê \"%s\" ¤ò̵»ë¤·¤Þ¤¹\n"
-#: cppinit.c:237
+#: cppinit.c:231
#, c-format
msgid "%s: Not a directory"
msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cppinit.c:284
+#: cppinit.c:287
#, c-format
msgid "ignoring duplicate directory \"%s\"\n"
msgstr "½ÅÊ£¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê \"%s\" ¤ò̵»ë¤·¤Þ¤¹\n"
-#: cppinit.c:312
-#, fuzzy, c-format
-msgid "changing search order for system directory \"%s\""
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
+msgstr ""
+
+#: cppinit.c:891
+#, fuzzy
+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:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr ""
+
+#: 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:320
-msgid " as it has already been specified as a non-system directory"
+#: 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:929
+#: cppinit.c:972
msgid "#include \"...\" search starts here:\n"
msgstr "#include \"...\" ¤Îõº÷¤Ï¤³¤³¤«¤é»Ï¤Þ¤ê¤Þ¤¹:\n"
-#: cppinit.c:933
+#: cppinit.c:976
msgid "#include <...> search starts here:\n"
msgstr "#include <...> ¤Îõº÷¤Ï¤³¤³¤«¤é»Ï¤Þ¤ê¤Þ¤¹:\n"
-#: cppinit.c:936
+#: cppinit.c:979
msgid "End of search list.\n"
msgstr "õº÷¥ê¥¹¥È¤Î½ª¤ï¤ê\n"
-#: cppinit.c:1003
+#: cppinit.c:1055
#, fuzzy
msgid "<built-in>"
msgstr "<ÁȤ߹þ¤ß>"
-#: cppinit.c:1005
+#: cppinit.c:1057
msgid "<command line>"
msgstr "<¥³¥Þ¥ó¥É¥é¥¤¥ó>"
-#: cppinit.c:1101 tradcpp.c:968 tradcpp.c:978 tradcpp.c:1069
-msgid "I/O error on output"
-msgstr "½ÐÎÏÃæ¤Ë I/O ¥¨¥é¡¼¤¬È¯À¸"
-
#. 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:1148
-#, fuzzy, c-format
-msgid "argument missing after %s"
-msgstr "%s ¤Î¸å¤í¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: cppinit.c:1149
+#: cppinit.c:1162
#, fuzzy, c-format
msgid "assertion missing after %s"
msgstr "%s ¤Î¸å¤í¤Î¥¢¥µ¡¼¥·¥ç¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppinit.c:1150
+#: cppinit.c:1163
#, fuzzy, c-format
msgid "directory name missing after %s"
msgstr "%s ¤Î¸å¤í¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppinit.c:1151
+#: cppinit.c:1164
#, fuzzy, c-format
msgid "file name missing after %s"
msgstr "%s ¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppinit.c:1152
+#: cppinit.c:1165
#, fuzzy, c-format
msgid "macro name missing after %s"
msgstr "%s ¤Î¸å¤í¤Î¥Þ¥¯¥í̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppinit.c:1153
+#: cppinit.c:1166
#, fuzzy, c-format
msgid "path name missing after %s"
msgstr "%s ¤Î¸å¤í¤Î¥Ñ¥¹Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppinit.c:1154
-#, fuzzy, c-format
-msgid "number missing after %s"
-msgstr "%s ¤Î¸å¤í¤Î¿ô»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: cppinit.c:1155
-#, fuzzy, c-format
-msgid "target missing after %s"
-msgstr "%s ¤Î¸å¤í¤Î¥¿¡¼¥²¥Ã¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: cppinit.c:1340
-#, fuzzy, c-format
-msgid "too many filenames. Type %s --help for usage info"
-msgstr "¥Õ¥¡¥¤¥ë̾¤¬Â¿¤¹¤®¤Þ¤¹¡£%s --help ¤È¥¿¥¤¥×¤·¤Æ»È¤¤Êý¤ò¸«¤Þ¤·¤ç¤¦"
-
-#: cppinit.c:1524 tradcpp.c:603
-#, fuzzy
-msgid "output filename specified twice"
-msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë̾¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿"
-
-#: cppinit.c:1636
+#: cppinit.c:1368
msgid "-I- specified twice"
msgstr "-I- ¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cppinit.c:1775
-#, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP version %s (cpplib)"
-
-#: cppinit.c:1816 tradcpp.c:792
-msgid "you must additionally specify either -M or -MM"
-msgstr "-M ¤« -MM ¤Î¤¤¤º¤ì¤«¤òÄɲÃŪ¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-
-#: cppinit.c:1878
-#, c-format
-msgid "Usage: %s [switches] input output\n"
-msgstr "»È¤¤Êý: %s [¥¹¥¤¥Ã¥Á] ÆþÎÏ ½ÐÎÏ\n"
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1881
-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 ""
-"¥¹¥¤¥Ã¥Á:\n"
-" -include <file> ¾¤Î¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë <file> ¤ÎÆâÍƤò´Þ¤á¤ë\n"
-" -imacros <file> <file> ¤Î¥Þ¥¯¥íÄêµÁ¤ò¼õ¤±Æþ¤ì¤ë\n"
-" -iprefix <path> ¼¡¤ÎÆó¤Ä¤Î¥ª¥×¥·¥ç¥óÍÑ¥×¥ì¥Õ¥£¥¯¥¹¤Ë <path> ¤ò»ØÄê\n"
-" -iwithprefix <dir> <dir> ¤ò¥·¥¹¥Æ¥à include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
-" -iwithprefixbefore <dir> <dir> ¤ò¥á¥¤¥ó include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
-" -isystem <dir> <dir> ¤ò¥·¥¹¥Æ¥à include ¥Ñ¥¹¤ÎºÇ½é¤ËÄɲ乤ë\n"
-
-#: cppinit.c:1890
-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 ""
-" -idirafter <dir> <dir> ¤ò¥·¥¹¥Æ¥à include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
-" -I <dir> <dir> ¤ò¥á¥¤¥ó include ¥Ñ¥¹¤Î½ª¤ê¤ËÄɲ乤ë\n"
-" -I- ¤­¤áºÙ¤«¤Ê include ¥Ñ¥¹À©¸æ -- info ʸ½ñ¤ò»²¾È\n"
-" -nostdinc ¥·¥¹¥Æ¥à include ¥Ç¥£¥ì¥¯¥È¥ê¤òõº÷¤·¤Ê¤¤\n"
-" (-system ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ïõº÷¤µ¤ì¤ë)\n"
-" -nostdinc++ C++ ÍÑ¥·¥¹¥Æ¥à include ¥Ç¥£¥ì¥¯¥È¥ê¤òõº÷¤·¤Ê¤¤\n"
-" -o <file> <file> ¤Ø½ÐÎϤ¹¤ë\n"
-
-#: cppinit.c:1899
-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 ""
-" -pedantic ¸·Ì©¤Ê ISO C ¤ÇÍ׵ᤵ¤ì¤ëÁ´¤Æ¤Î·Ù¹ð¤òȯ¹Ô¤¹¤ë\n"
-" -pedantic-errors -pedantic ·Ù¹ð¤ÎÂå¤ê¤Ë¥¨¥é¡¼¤òȯ¹Ô¤¹¤ë\n"
-" -trigraphs ISO C ¥È¥é¥¤¥°¥é¥Õ¤ò¼õ¤±Æþ¤ì¤ë\n"
-" -lang-c ÆþÎÏ¥½¡¼¥¹¤ò C ¤È¤ß¤Ê¤¹\n"
-" -lang-c89 ÆþÎÏ¥½¡¼¥¹¤ò C89 ¤È¤ß¤Ê¤¹\n"
-
-#: cppinit.c:1906
-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 ""
-" -lang-c++ ÆþÎÏ¥½¡¼¥¹¤ò C ¤È¤ß¤Ê¤¹\n"
-" -lang-objc ÆþÎÏ¥½¡¼¥¹¤ò ObjectiveC ¤È¤ß¤Ê¤¹\n"
-" -lang-objc++ ÆþÎÏ¥½¡¼¥¹¤ò ObjectiveC++ ¤È¤ß¤Ê¤¹\n"
-" -lang-asm ÆþÎÏ¥½¡¼¥¹¤ò¥¢¥»¥ó¥Ö¥ê¸À¸ì¤È¤ß¤Ê¤¹\n"
-
-#: cppinit.c:1912
-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 ""
-" -std=<std name> Ŭ¹ç¤µ¤»¤ëɸ½à¤ò»ØÄê -- °Ê²¼¤è¤ê°ì¤Ä\n"
-" gnu89, gnu99, c89, c99, iso9899:1990,\n"
-" iso9899:199409, iso9899:1999\n"
-" -+ C++ ¼°¤Î¹½Ê¸²òÀϤòµö²Ä¤¹¤ë\n"
-" -w ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤¹¤ë\n"
-" -Wtrigraphs ¥È¥é¥¤¥°¥é¥Õ¤Ë½Ð¤¯¤ï¤·¤¿¤é·Ù¹ð¤¹¤ë\n"
-" -Wno-trigraphs ¥È¥é¥¤¥°¥é¥Õ¤Ë¤Ä¤¤¤Æ¤Î·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-" -Wcomment{s} ¥³¥á¥ó¥È¤¬Â¾¤Î¥³¥á¥ó¥ÈÆâ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤¿¤é·Ù¹ð¤¹¤ë\n"
-
-#: cppinit.c:1922
-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 ""
-" -Wno-comment{s} ¥³¥á¥ó¥È¤Ë´Ø¤¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-" -Wtraditional ¸½ºß¤È¤Ï°Û¤Ê¤ë¸Å¤¤ C ¤Ç¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë\n"
-" -Wno-traditional ¸Å¤¤ C ¤Ë´Ø¤¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-" -Wundef ̤ÄêµÁ¤Î¥Þ¥¯¥í¤¬ #if ¤Ç»È¤ï¤ì¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë\n"
-" -Wno-undef ̤ÄêµÁ¥Þ¥¯¥í¤Îɾ²Á¤Ë´Ø¤¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-" -Wimport #import ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÍøÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë\n"
-
-#: cppinit.c:1930
-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 ""
-" -Wno-import #import ¤ÎÍøÍѤ˴ؤ¹¤ë·Ù¹ð¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-" -Werror Á´¤Æ¤Î·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤¦\n"
-" -Wno-error ·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤ï¤Ê¤¤\n"
-" -Wsystem-headers ¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤·¤Ê¤¤\n"
-" -Wno-system-headers ¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ë\n"
-" -Wall Á´¤Æ¤Î¥×¥ê¥×¥í¥»¥Ã¥µ·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë\n"
-
-#: cppinit.c:1938
-msgid ""
-" -M Generate make dependencies\n"
-" -MM As -M, 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 ""
-" -M make °Í¸´Ø·¸¤òÀ¸À®¤¹¤ë\n"
-" -MM -M ƱÍÍ¡¢Ã¢¤·¥·¥¹¥Æ¥à¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò̵»ë¤¹¤ë\n"
-" -MF <file> °Í¸´Ø·¸¤Î½ÐÎϤòÍ¿¤¨¤é¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤à\n"
-" -MG ¸«¤Ä¤«¤é¤Ê¤¤¥Ø¥Ã¥À¤òÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤È¤·¤Æ°·¤¦\n"
-
-#: cppinit.c:1944
-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 ""
-" -MP\t\t\t Á´¤Æ¤Î¥Ø¥Ã¥À¤Ë¤Ä¤¤¤Æ phony ¥¿¡¼¥²¥Ã¥È¤òÀ¸À®¤¹¤ë\n"
-" -MQ <target> MAKE ¤Ç¤Î¥¯¥ª¡¼¥È¤µ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤òÄɲ乤ë\n"
-" -MT <target> ¥¯¥ª¡¼¥È¤µ¤ì¤Ê¤¤¥¿¡¼¥²¥Ã¥È¤òÄɲ乤ë\n"
-
-#: cppinit.c:1949
-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 ""
-" -D<macro> <macro> ¤òÄêµÁ¤·¡¢¤½¤ÎÃͤòʸ»úÎó¤Î '1' ¤È¤¹¤ë\n"
-" -D<macro>=<val> <macro> ¤òÄêµÁ¤·¡¢¤½¤ÎÃͤò <val> ¤È¤¹¤ë\n"
-" -A<question> (<answer>) <question> ¤Ë <answer> ¤ÈÀ¼ÌÀ¤¹¤ë\n"
-" -A-<question> (<answer>) <question> ¤ò <answer> ¤È¤·¤Ê¤¤\n"
-" -U<macro> <macro> ÄêµÁ¤ò²ò½ü¤¹¤ë\n"
-" -v ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤¹¤ë\n"
-
-#: cppinit.c:1957
-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 ""
-" -H »È¤ï¤ì¤¿¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë\n"
-" -C ¥³¥á¥ó¥È¤òÇË´þ¤·¤Ê¤¤\n"
-" -dM ºÇ¸å¤ËÍ­¸ú¤Ê¥Þ¥¯¥íÄêµÁ¥ê¥¹¥È¤òɽ¼¨¤¹¤ë\n"
-" -dD ½ÐÎϤ˥ޥ¯¥íÄêµÁ¤òÊݸ¤¹¤ë\n"
-" -dN -dD ¤ÈƱÍͤÀ¤¬¡¢Ì¾Á°¤À¤±¤òÊݸ¤¹¤ë\n"
-" -dI #include ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò½ÐÎϤ˴ޤá¤ë\n"
-
-#: cppinit.c:1965
-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 ""
-" -fpreprocessed ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´û¤Ë¥×¥ê¥×¥í¥»¥¹ºÑ¤È¤·¤Æ°·¤¦\n"
-" -ftabstop=<number> ¥«¥é¥à¤Î¥¿¥Ö´Ö³Ö¤òÊó¹ð¤¹¤ë\n"
-" -P #line ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤òÀ¸À®¤·¤Ê¤¤\n"
-" -$ ¼±Ê̻ҤǤΠ'$' ¤òµö²Ä¤·¤Ê¤¤\n"
-" -remap ¥Õ¥¡¥¤¥ë¥¤¥ó¥¯¥ë¡¼¥É»þ¤Ë¥Õ¥¡¥¤¥ë̾¤òºÆ¥Þ¥Ã¥×¤¹¤ë\n"
-" --version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë\n"
-" -h or --help ¤³¤Î¾ðÊó¤òɽ¼¨¤¹¤ë\n"
-
-#: cpplex.c:155
+#: cpplex.c:149
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "¥È¥é¥¤¥°¥é¥Õ ??%c ¤Ï %c ¤ËÊÑ´¹¤µ¤ì¤Þ¤·¤¿"
-#: cpplex.c:163
+#: cpplex.c:157
#, c-format
msgid "trigraph ??%c ignored"
msgstr "¥È¥é¥¤¥°¥é¥Õ ??%c ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cpplex.c:219
+#: cpplex.c:214
msgid "backslash and newline separated by space"
msgstr "¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤È²þ¹Ô¤¬¶õÇò¤Çʬ³ä¤µ¤ì¤Þ¤·¤¿"
-#: cpplex.c:225
+#: cpplex.c:221 cpptrad.c:158
msgid "backslash-newline at end of file"
msgstr "¥Õ¥¡¥¤¥ë¤Î½ª¤ê¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å-²þ¹Ô¤¬¤¢¤ê¤Þ¤¹"
-#: cpplex.c:291
+#: cpplex.c:287 cpptrad.c:199
msgid "\"/*\" within comment"
msgstr "¥³¥á¥ó¥ÈÆâ¤Ë \"/*\" ¤¬¤¢¤ê¤Þ¤¹"
-#: cpplex.c:374
+#: cpplex.c:395
msgid "null character(s) ignored"
msgstr "null ʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cpplex.c:381
+#: cpplex.c:402
#, c-format
msgid "%s in preprocessing directive"
msgstr "¥×¥ê¥×¥í¥»¥¹Ì¿ÎáÃæ¤Ë %s ¤¬¤¢¤ê¤Þ¤¹"
-#: cpplex.c:449
+#: cpplex.c:475
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "±øÀ÷¤µ¤ì¤¿ '%s' »È¤ª¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cpplex.c:457
+#: cpplex.c:483
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ ¤Ï C99 ²ÄÊÑ°ú¿ô¥Þ¥¯¥í³ÈÄ¥¤Ç¤Î¤ß½Ð¸½¤Ç¤­¤Þ¤¹"
-#: cpplex.c:510
-msgid "'$' character(s) in identifier"
+#: cpplex.c:555
+#, fuzzy
+msgid "'$' character(s) in identifier or number"
msgstr "'$' ʸ»ú¤¬¼±Ê̻ҤËÆþ¤Ã¤Æ¤¤¤Þ¤¹"
-#: cpplex.c:589
+#: cpplex.c:698
#, c-format
msgid "missing terminating %c character"
msgstr "%c ʸ»ú¤Ç¤Î½ªÃ¼¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cpplex.c:594
-msgid "possible start of unterminated string literal"
-msgstr "½ªÃ¼¤Î¤Ê¤¤Ê¸»úÎó¥ê¥Æ¥é¥ë¤Î¿äÄ곫»Ï°ÌÃÖ"
-
-#: cpplex.c:689
-msgid "multi-line string literals are deprecated"
-msgstr "Ê£¿ô¹Ôʸ»úÎó¥ê¥Æ¥é¥ë¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
-
-#: cpplex.c:712
+#: cpplex.c:711
msgid "null character(s) preserved in literal"
msgstr "¥ê¥Æ¥é¥ëÃæ¤Ç null ʸ»ú¤¬³ÎÊݤµ¤ì¤Þ¤·¤¿"
-#: cpplex.c:914
+#: cpplex.c:915 cpptrad.c:487
msgid "no newline at end of file"
msgstr "¥Õ¥¡¥¤¥ëËöÈø¤Ë²þ¹Ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cpplex.c:1034 tradcpp.c:1456
+#: cpplex.c:1092 cpptrad.c:213
msgid "unterminated comment"
msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È"
-#: cpplex.c:1045
-msgid "C++ style comments are not allowed in ISO C89"
+#: cpplex.c:1103
+#, fuzzy
+msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ ¥¹¥¿¥¤¥ë¤Î¥³¥á¥ó¥È¤Ï ISO C89 ¤Ç¤Ïµö¤µ¤ì¤Þ¤»¤ó"
-#: cpplex.c:1047
+#: cpplex.c:1105
msgid "(this will be reported only once per input file)"
msgstr "(¤³¤ì¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤­°ì²ó¤À¤±Êó¹ð¤µ¤ì¤Þ¤¹)"
-#: cpplex.c:1052
+#: cpplex.c:1110
msgid "multi-line comment"
msgstr "Ê£¿ô¹Ô¤Î¥³¥á¥ó¥È"
-#: cpplex.c:1367
+#: cpplex.c:1425
#, fuzzy, c-format
msgid "unknown string token %s\n"
msgstr "ÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹: %s"
-#: cpplex.c:1379
+#: cpplex.c:1438
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "ÄÖ¤ì¤Ê¤¤¥È¡¼¥¯¥ó %s ¤Ç¤¹"
-#: cpplex.c:1635
-#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
+#: cpplex.c:1695
+#, fuzzy, c-format
+msgid "the meaning of '\\%c' is different in traditional C"
msgstr "'\\%c' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
-#: cpplex.c:1641
+#: cpplex.c:1701
msgid "incomplete universal-character-name"
msgstr "̵¸ú¤Ê ¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾"
-#: cpplex.c:1655
+#: cpplex.c:1715
#, fuzzy, c-format
msgid "non-hex digit '%c' in universal-character-name"
msgstr "Èó 16 ¿Ê¿ô '%c' ¤¬ universal-character-name Æâ¤Ë¤¢¤ê¤Þ¤¹"
-#: cpplex.c:1663
+#: cpplex.c:1723
msgid "universal-character-name on EBCDIC target"
msgstr "EBCDIC ¤Î¥¿¡¼¥²¥Ã¥È¤Ç `%c' ¤Ë¥æ¥Ë¥Ð¡¼¥µ¥ë¥­¥ã¥é¥¯¥¿Ì¾¤¬»È¤ï¤ì¤Þ¤·¤¿"
-#: cpplex.c:1677
+#: cpplex.c:1737
#, fuzzy
msgid "universal-character-name out of range"
msgstr "EBCDIC ¤Î¥¿¡¼¥²¥Ã¥È¤Ç `%c' ¤Ë¥æ¥Ë¥Ð¡¼¥µ¥ë¥­¥ã¥é¥¯¥¿Ì¾¤¬»È¤ï¤ì¤Þ¤·¤¿"
-#: cpplex.c:1723
-msgid "the meaning of '\\a' varies with -traditional"
+#: cpplex.c:1791
+#, fuzzy
+msgid "the meaning of '\\a' is different in traditional C"
msgstr "'\\a' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
-#: cpplex.c:1730
+#: cpplex.c:1798
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "Èó ISO ɸ½à¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹, '\\%c'"
-#: cpplex.c:1740
+#: cpplex.c:1809
#, fuzzy
-msgid "the meaning of '\\x' varies with -traditional"
-msgstr "`\\x' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "'\\a' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
-#: cpplex.c:1759 f/lex.c:610
+#: cpplex.c:1828 f/lex.c:585
msgid "\\x used with no following hex digits"
msgstr "\\x ¤Ë¡¢¤½¤ì¤Ë³¤¯¤Ï¤º¤Î 16 ¿Ê¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cpplex.c:1763
+#: cpplex.c:1833
msgid "hex escape sequence out of range"
msgstr "16 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
-#: cpplex.c:1787
+#: cpplex.c:1858
msgid "octal escape sequence out of range"
msgstr "8 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
-#: cpplex.c:1802
+#: cpplex.c:1874
#, c-format
msgid "unknown escape sequence '\\%c'"
msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ '\\%c'"
-#: cpplex.c:1804
+#: cpplex.c:1877
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%03o'"
msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ '\\%c'"
-#: cpplex.c:1808
-msgid "escape sequence out of range for character"
+#: cpplex.c:1882
+#, fuzzy
+msgid "escape sequence out of range for its type"
msgstr "ʸ»ú¤ËÂФ¹¤ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
-#: cpplex.c:1898
+#: cpplex.c:1973
msgid "empty character constant"
msgstr "¶õ¤Îʸ»úÄê¿ô"
-#: cpplex.c:1902
-msgid "character constant too long"
+#: cpplex.c:1983
+#, fuzzy
+msgid "character constant too long for its type"
msgstr "ʸ»úÄê¿ô¤¬Ä¹¤¹¤®¤Þ¤¹"
-#: cpplex.c:1905
+#: cpplex.c:1986
msgid "multi-character character constant"
msgstr "Ê£¿ôʸ»ú¤«¤é¤Ê¤ëʸ»úÄê¿ô"
-#: cpplib.c:222
+#: cpplib.c:225
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ";ʬ¤Ê¥È¡¼¥¯¥ó¤¬ #%s ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Î½ª¤ê¤Ë¤¢¤ê¤Þ¤¹"
-#: cpplib.c:277
-#, fuzzy
-msgid "style of line directive is a GCC extension"
-msgstr "#%s ¤Ï GCC ¤Î³ÈÄ¥¤Ç¤¹"
-
-#: cpplib.c:285
+#: cpplib.c:315
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s ¤Ï GCC ¤Î³ÈÄ¥¤Ç¤¹"
-#: cpplib.c:296
+#: cpplib.c:327
msgid "suggest not using #elif in traditional C"
msgstr "¸Å¤¤ C ¤Ç¤Ï #elif ¤ò»È¤ï¤Ê¤¤Êý¤¬¤¤¤¤¤Ç¤¹"
-#: cpplib.c:299
+#: cpplib.c:330
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "¸Å¤¤ C ¤Ç¤Ï¡¢¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤¿ # ¤Î #%s ¤ò̵»ë¤·¤Þ¤¹"
-#: cpplib.c:303
+#: cpplib.c:334
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤¿ # ¤¬¤¢¤ë¸Å¤¤ C ¤«¤é¤Ï #%s ¤ò±£¤¹¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
-#: cpplib.c:386
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr ""
+
+#: cpplib.c:378
+#, fuzzy
+msgid "style of line directive is a GCC extension"
+msgstr "#%s ¤Ï GCC ¤Î³ÈÄ¥¤Ç¤¹"
+
+#: cpplib.c:427
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "̵¸ú¤Ê¥×¥ê¥×¥í¥»¥¹¥Ç¥£¥ì¥¯¥Æ¥£¥ô #%s"
-#: cpplib.c:441
-#, c-format
-msgid "no macro name given in #%s directive"
-msgstr "¥Þ¥¯¥í̾¤¬ #%s ¥Ç¥£¥ì¥¯¥Æ¥£¥ÖÃæ¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
+#: cpplib.c:499
+msgid "\"defined\" cannot be used as a macro name"
+msgstr "\"defined\" ¤ò¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
-#: cpplib.c:445
+#: cpplib.c:505
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" ¤Ï C++ ¤Î±é»»»Ò¤Ç¤¢¤ê¡¢¥Þ¥¯¥í̾¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cpplib.c:448
+#: cpplib.c:508
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr "¥Þ¥¯¥í̾¤¬ #%s ¥Ç¥£¥ì¥¯¥Æ¥£¥ÖÃæ¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: cpplib.c:511
msgid "macro names must be identifiers"
msgstr "¥Þ¥¯¥í̾¤Ï¼±Ê̻ҤǤʤ¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-#: cpplib.c:459
-#, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr "\"%s\" ¤Ï¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: cpplib.c:497
+#: cpplib.c:551
#, c-format
msgid "undefining \"%s\""
msgstr "\"%s\" ¤ò undef ¤·¤Þ¤¹"
-#: cpplib.c:543
+#: cpplib.c:597
msgid "missing terminating > character"
msgstr "½ªÃ¼Ê¸»ú > ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cpplib.c:578
+#: cpplib.c:636
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s ¤Ï \"¥Õ¥¡¥¤¥ë̾\" ¤¢¤ë¤¤¤Ï <¥Õ¥¡¥¤¥ë̾> ¤òɬÍפȤ·¤Þ¤¹"
-#: cpplib.c:589
+#: cpplib.c:647
#, c-format
msgid "empty file name in #%s"
msgstr "#%s ¤Ç¤Î¥Õ¥¡¥¤¥ë̾¤¬¶õ¤Ç¤¹"
-#: cpplib.c:608
+#: cpplib.c:666
msgid "#include_next in primary source file"
msgstr "#include_next ¤¬¼ç¤¿¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤¹"
-#: cpplib.c:615
+#: cpplib.c:673
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
msgstr "#import ¤Ï¸Å¤¤É½¸½¤Ç¤¹. ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëÃæ¤Ç #ifndef ¤Î¥é¥Ã¥Ñ¡¼¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-#: cpplib.c:623
+#: cpplib.c:681
msgid "#include nested too deeply"
msgstr "#include ¤Î¥Í¥¹¥È¤¬¿¼¤¹¤®¤Þ¤¹"
-#: cpplib.c:681
+#: cpplib.c:738
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "\"%s\" ¤Ï line ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤Ï̵¸ú¤Ê¥Õ¥é¥°¤Ç¤¹"
-#: cpplib.c:737
+#: cpplib.c:813
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line ¤Î¸å¤í¤Î \"%s\" ¤¬Àµ¤ÎÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cpplib.c:744
+#: cpplib.c:819
msgid "line number out of range"
msgstr "¹ÔÈֹ椬Èϰϳ°¤Ç¤¹"
-#: cpplib.c:782
+#: cpplib.c:830 cpplib.c:901
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cpplib.c:855
+#: cpplib.c:865
+#, fuzzy, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr "#line ¤Î¸å¤í¤Î \"%s\" ¤¬Àµ¤ÎÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: cpplib.c:972
#, fuzzy
msgid "invalid #ident directive"
msgstr "̵¸ú¤Ê #ident"
-#: cpplib.c:943
+#: cpplib.c:1060
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: cpplib.c:946
+#: cpplib.c:1063
#, fuzzy, c-format
msgid "#pragma %s %s is already registered"
msgstr "¥¯¥é¥¹ `%s' ¤Ï´û¤Ë¸ºß¤·¤Þ¤¹"
-#: cpplib.c:948
+#: cpplib.c:1066
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: cpplib.c:1022
+#: cpplib.c:1140
msgid "#pragma once is obsolete"
msgstr "#pragma once ¤Ï¤â¤¦»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cpplib.c:1025
+#: cpplib.c:1143
msgid "#pragma once in main file"
msgstr "#pragma once ¤¬¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤¹"
-#: cpplib.c:1049
+#: cpplib.c:1167
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC ±øÀ÷¥Ç¥£¥ì¥¯¥Æ¥£¥ô¤¬Ìµ¸ú¤Ç¤¹"
-#: cpplib.c:1058
+#: cpplib.c:1176
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "´û¸¤Î¥Þ¥¯¥í \"%s' ¤ò±øÀ÷¤·¤Þ¤¹"
-#: cpplib.c:1078
+#: cpplib.c:1198
msgid "#pragma system_header ignored outside include file"
msgstr "include ¥Õ¥¡¥¤¥ë³°¤Î #pragma system_header ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cpplib.c:1103
+#: cpplib.c:1223
#, c-format
msgid "cannot find source %s"
msgstr "¥½¡¼¥¹ %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: cpplib.c:1107
+#: cpplib.c:1227
#, c-format
msgid "current file is older than %s"
msgstr "¸½ºß¤Î¥Õ¥¡¥¤¥ë¤Ï %s ¤è¤ê¸Å¤¤¤Ç¤¹"
-#: cpplib.c:1182
+#: cpplib.c:1343
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pramga ¤¬³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¥ê¥Æ¥é¥ë¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
-#: cpplib.c:1281
+#: cpplib.c:1426
msgid "#else without #if"
msgstr "#else ¤Ë #if ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cpplib.c:1286 tradcpp.c:3860
+#: cpplib.c:1431
msgid "#else after #else"
msgstr "#else ¤¬ #else ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
-#: cpplib.c:1288 cpplib.c:1323
+#: cpplib.c:1433 cpplib.c:1467
msgid "the conditional began here"
msgstr "¤½¤Î¾ò·ï¤Ï¤³¤³¤«¤é»Ï¤Þ¤ê¤Þ¤¹"
-#: cpplib.c:1316
+#: cpplib.c:1460
msgid "#elif without #if"
msgstr "#elif ¤Ë #if ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cpplib.c:1321 tradcpp.c:3555
+#: cpplib.c:1465
msgid "#elif after #else"
msgstr "#elif ¤¬ #else ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
-#: cpplib.c:1353
+#: cpplib.c:1496
msgid "#endif without #if"
msgstr "#endif ¤Ë #if ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cpplib.c:1436 tradcpp.c:3252
+#: cpplib.c:1579
msgid "missing '(' after predicate"
msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cpplib.c:1451 tradcpp.c:3266
+#: cpplib.c:1594
msgid "missing ')' to complete answer"
msgstr "²ò¤òÊä´°¤¹¤ë ')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cpplib.c:1471 tradcpp.c:3272
+#: cpplib.c:1614
msgid "predicate's answer is empty"
msgstr "½Ò¸ì¤Î²ò¤¬¶õ¤Ç¤¹"
-#: cpplib.c:1501 tradcpp.c:3320
+#: cpplib.c:1644
msgid "assertion without predicate"
msgstr "½Ò¸ì¤Î¤Ê¤¤¥¢¥µ¡¼¥·¥ç¥ó¤Ç¤¹"
-#: cpplib.c:1503 tradcpp.c:3322
+#: cpplib.c:1646
msgid "predicate must be an identifier"
msgstr "½Ò¸ì¤Ï¼±Ê̻ҤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cpplib.c:1584 tradcpp.c:3419
+#: cpplib.c:1735
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" ¤¬ºÆ¥¢¥µ¡¼¥È¤µ¤ì¤Þ¤·¤¿"
-#: cpplib.c:1813
+#: cpplib.c:1965
#, c-format
msgid "unterminated #%s"
msgstr "½ªÃ¼¤Î¤Ê¤¤ #%s"
-#: cppmacro.c:148
+#: cppmacro.c:94
+#, fuzzy, c-format
+msgid "macro \"%s\" is not used"
+msgstr "\"%s\" ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: cppmacro.c:139 cppmacro.c:294
#, fuzzy, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ÁȤ߹þ¤ß¥Þ¥¯¥í \"%s\" ¤Ï̵¸ú¤Ç¤¹"
-#: cppmacro.c:347
+#: cppmacro.c:234
+#, fuzzy
+msgid "could not determine date and time"
+msgstr "°Í¸´Ø·¸¤ÎÄÉÀפΤ¿¤á¤Î¥¿¡¼¥²¥Ã¥È̾¤¬ÆÃÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
+
+#: cppmacro.c:407
msgid "invalid string literal, ignoring final '\\'"
msgstr "ʸ»úÎó¥ê¥Æ¥é¥ë¤¬Ìµ¸ú¤Ç¤¹¡¢ºÇ¸å¤Î '\\' ¤ò̵»ë¤·¤Þ¤¹"
-#: cppmacro.c:437
+#: cppmacro.c:504
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "\"%s\" ¤È \"%s\" ¤òŽÉÕ¤±¤Þ¤·¤¿¤¬Àµ¾ï¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Þ¤»¤ó"
-#: cppmacro.c:561
-msgid "directives may not be used inside a macro argument"
-msgstr "¥Þ¥¯¥í°ú¿ôÆâ¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: cppmacro.c:573
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤°ú¿ô¥ê¥¹¥È¤¬¥Þ¥¯¥í \"%s\" ¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Þ¤·¤¿"
-
-#: cppmacro.c:590
+#: cppmacro.c:546
msgid "ISO C99 requires rest arguments to be used"
msgstr "ISO C99 ¤Ï»ÈÍѤµ¤ì¤ë¤Ù¤­»Ä¤ê¤Î¤Î°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
-#: cppmacro.c:595
+#: cppmacro.c:551
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "¥Þ¥¯¥í \"%s\" ¤Ï°ú¿ô¤ò %u Í׵ᤷ¤Þ¤¹¤¬¡¢%u ¸Ä¤·¤«Í¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cppmacro.c:606
+#: cppmacro.c:556
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "¥Þ¥¯¥í \"%s\" ¤Ë°ú¿ô¤¬ %u ÅϤµ¤ì¤Þ¤·¤¿¤¬¡¢%u ¤·¤«¼õ¤±¼è¤ê¤Þ¤»¤ó"
-#: cppmacro.c:689
+#: cppmacro.c:669 cpptrad.c:774
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤°ú¿ô¥ê¥¹¥È¤¬¥Þ¥¯¥í \"%s\" ¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Þ¤·¤¿"
+
+#: cppmacro.c:776
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "¸Å¤¤ C ¤Ç¤Ï¡¢´Ø¿ôŪ¥Þ¥¯¥í \"%s\" ¤Ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cppmacro.c:1174
+#: cppmacro.c:1312
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "¥Þ¥¯¥í²¾°ú¿ô \"%s\" ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cppmacro.c:1202
+#: cppmacro.c:1349
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" ¤Ï¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ë¸½¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-#: cppmacro.c:1209
+#: cppmacro.c:1357
msgid "macro parameters must be comma-separated"
msgstr "¥Þ¥¯¥í²¾°ú¿ô¤Ï¥«¥ó¥Þ¶èÀڤꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cppmacro.c:1226
+#: cppmacro.c:1374
msgid "parameter name missing"
msgstr "²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppmacro.c:1240
+#: cppmacro.c:1389
msgid "anonymous variadic macros were introduced in C99"
msgstr "̵̾²ÄÊÑ°ú¿ô¥Þ¥¯¥í¤Ï C99 ¤ÇºÎ¤êÆþ¤ì¤é¤ì¤Þ¤·¤¿"
-#: cppmacro.c:1243
+#: cppmacro.c:1393
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ¤Ç¤Ï̾Á°¤Ä¤­²ÄÊÑ°ú¿ô¥Þ¥¯¥í¤òµö¤·¤Þ¤»¤ó"
-#: cppmacro.c:1252
+#: cppmacro.c:1402
msgid "missing ')' in macro parameter list"
msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cppmacro.c:1328
+#: cppmacro.c:1470
msgid "ISO C requires whitespace after the macro name"
msgstr "ISO C ¤Ç¤Ï¥Þ¥¯¥í̾¤Î¸å¤í¤Ë¶õÇò¤òÍ׵ᤷ¤Þ¤¹"
-#: cppmacro.c:1358
+#: cppmacro.c:1498
msgid "'#' is not followed by a macro parameter"
msgstr "'#' ¤Ë¥Þ¥¯¥í²¾°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
-#: cppmacro.c:1378
+#: cppmacro.c:1517
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' ¤Ï¥Þ¥¯¥íŸ³«¤Îξü¤Ë¤Ï½Ð¸½¤Ç¤­¤Þ¤»¤ó"
-#: cppmacro.c:1414
+#: cppmacro.c:1599
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cppmacro.c:1418
+#: cppmacro.c:1604
msgid "this is the location of the previous definition"
msgstr "¤³¤³¤¬°ÊÁ°¤ÎÀë¸À¤¬¤¢¤ë°ÌÃ֤Ǥ¹"
-#: cppmacro.c:1483
+#: cppmacro.c:1655
#, fuzzy, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional"
+msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "¥Þ¥¯¥í°ú¿ô \"%s\" ¤Ï -traditional ¤ò¤Ä¤±¤ë¤Èʸ»úÎ󲽤µ¤ì¤¿»ö¤Ç¤·¤ç¤¦"
-#: cppmacro.c:1508
+#: cppmacro.c:1680
#, fuzzy, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "dump_definition ¤Ë ̵¸ú¤Ê¥Ï¥Ã¥·¥å¥¿¥¤¥× %d"
-#: cppmain.c:121
-#, fuzzy, c-format
-msgid "invalid option %s"
-msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó %s"
-
#: cppspec.c:131
#, c-format
msgid "\"%s\" is not a valid option to the preprocessor"
@@ -4800,73 +5012,64 @@ msgstr "\"%s\" ¤Ï¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÂФ¹¤ëÀµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
msgid "too many input files"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬Â¿¤¹¤®¤Þ¤¹"
-#: cse.c:7092
+#: cpptrad.c:841
+#, fuzzy, c-format
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤°ú¿ô¥ê¥¹¥È¤¬¥Þ¥¯¥í \"%s\" ¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Þ¤·¤¿"
+
+#: cse.c:7187
#, c-format
msgid ";; Processing block from %d to %d, %d sets.\n"
msgstr ";; %d ¤«¤é %d ¤Þ¤Ç¤Î½èÍý¥Ö¥í¥Ã¥¯¡¢%d ¥»¥Ã¥È¡£\n"
-#: diagnostic.c:784
-#, c-format
-msgid "%s:%d: warning: "
-msgstr "%s:%d: ·Ù¹ð: "
-
-#: diagnostic.c:791
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: ·Ù¹ð: "
-
-#: diagnostic.c:871
+#: diagnostic.c:700
msgid "((anonymous))"
msgstr "((̵̾))"
-#: diagnostic.c:941
+#: diagnostic.c:914
#, c-format
msgid "%s: warnings being treated as errors\n"
msgstr "%s: ·Ù¹ð¤Ï¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤Þ¤¹\n"
-#: diagnostic.c:978
+#: diagnostic.c:949
#, c-format
msgid "%s: %s: "
msgstr "%s: %s: "
-#: diagnostic.c:1057
-msgid "sorry, not implemented: "
-msgstr "»ÄÇ°¤Ê¤¬¤é¸«¼ÂÁõ¤Ç¤¹: "
-
-#: diagnostic.c:1076
+#: diagnostic.c:1040
#, c-format
msgid "%s "
msgstr "%s "
-#: diagnostic.c:1078
+#: diagnostic.c:1042
#, c-format
msgid " %s"
msgstr " %s"
-#: diagnostic.c:1102
+#: diagnostic.c:1064
msgid "At top level:"
msgstr "¥È¥Ã¥×¥ì¥Ù¥ë:"
-#: diagnostic.c:1107
+#: diagnostic.c:1069
#, fuzzy, c-format
msgid "In member function `%s':"
msgstr "´Ø¿ô `%s' Æâ:"
-#: diagnostic.c:1111
+#: diagnostic.c:1073
#, c-format
msgid "In function `%s':"
msgstr "´Ø¿ô `%s' Æâ:"
-#: diagnostic.c:1195
+#: diagnostic.c:1161
msgid "compilation terminated.\n"
msgstr "¥³¥ó¥Ñ¥¤¥ë¤¬ÃæÃǤµ¤ì¤Þ¤·¤¿¡£\n"
-#: diagnostic.c:1226
+#: diagnostic.c:1179
#, c-format
msgid "%s:%d: confused by earlier errors, bailing out\n"
msgstr "%s:%d: Á°¤Î¥¨¥é¡¼¤Ë¤è¤êº®Í𤷤Ƥ¤¤Þ¤¹¤Î¤Ç¡¢Ã¦½Ð¤·¤Þ¤¹\n"
-#: diagnostic.c:1240 diagnostic.c:1390
+#: diagnostic.c:1194 diagnostic.c:1302
#, c-format
msgid ""
"Please submit a full bug report,\n"
@@ -4877,21 +5080,21 @@ msgstr ""
"ŬÀڤʤé¤Ð¥×¥ê¥×¥í¥»¥¹¸å¤Î¥½¡¼¥¹¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£\n"
"%s ¤ò¸«¤ì¤ÐÊýË¡¤¬½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£\n"
-#: diagnostic.c:1388
+#: diagnostic.c:1300
msgid "Internal compiler error: Error reporting routines re-entered.\n"
msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼: ¥¨¥é¡¼Êó¹ð¥ë¡¼¥Á¥ó¤ËºÆÆþ¤·¤Þ¤·¤¿¡£\n"
-#: diagnostic.c:1450
-#, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "%s ¤ÇÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼ (%s:%d)"
+#: diagnostic.c:1362
+#, fuzzy, c-format
+msgid "in %s, at %s:%d"
+msgstr "%s ¤ÇÃæÃÇ, °ÌÃÖ %s:%d"
-#: diagnostic.c:1495
+#: diagnostic.c:1383
#, c-format
msgid "In file included from %s:%d"
msgstr "%s:%d ¤«¤é include ¤µ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ"
-#: diagnostic.c:1498
+#: diagnostic.c:1386
#, c-format
msgid ""
",\n"
@@ -4900,34 +5103,62 @@ msgstr ""
",\n"
" %s:%d ¤«¤é"
-#: diagnostic.c:1499
+#: diagnostic.c:1387
msgid ":\n"
msgstr ":\n"
-#: dwarf2out.c:3009
+#: diagnostic.c:1431 diagnostic.c:1448
+#, c-format
+msgid "`%s' is deprecated (declared at %s:%d)"
+msgstr ""
+
+#: diagnostic.c:1451
+#, fuzzy, c-format
+msgid "`%s' is deprecated"
+msgstr "%s ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹"
+
+#: diagnostic.c:1454
+#, c-format
+msgid "type is deprecated (declared at %s:%d)"
+msgstr ""
+
+#: diagnostic.c:1457
+msgid "type is deprecated"
+msgstr ""
+
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
+msgstr ""
+
+#: dwarf2out.c:3124
#, fuzzy, c-format
msgid "DW_LOC_OP %s not implemented\n"
msgstr "DW_LOC_OP %s ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: dwarfout.c:2093
-#, c-format
-msgid "internal regno botch: regno = %d\n"
+#: dwarfout.c:2066
+#, fuzzy, c-format
+msgid "internal regno botch: `%s' has regno = %d\n"
msgstr "ÆâÉôŪ¤Ë regno ¤Î½èÍý¤¬ÊÑ: regno = %d\n"
-#: dwarfout.c:6296
+#: 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:1091
+#: emit-rtl.c:1151
#, fuzzy
msgid "can't access real part of complex value in hard register"
msgstr "¥Ï¡¼¥É¥ì¥¸¥¹¥¿Æâ¤ÇÊ£ÁÇ¿ô¤Î¼Â¿ôÉôʬ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó"
-#: emit-rtl.c:1113
+#: emit-rtl.c:1173
msgid "can't access imaginary part of complex value in hard register"
msgstr "¥Ï¡¼¥É¥ì¥¸¥¹¥¿Æâ¤ÇÊ£ÁÇ¿ô¤Îµõ¿ôÉôʬ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó"
-#: emit-rtl.c:3138
+#: emit-rtl.c:3418
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr "ICE: emit_insn ¤¬ emit_jump_insn ¤òÍפ¹¤ë½ê¤Ç»È¤ï¤ì¤Þ¤·¤¿:\n"
@@ -4936,237 +5167,259 @@ msgstr "ICE: emit_insn ¤¬ emit_jump_insn ¤òÍפ¹¤ë½ê¤Ç»È¤ï¤ì¤Þ¤·¤¿:\n"
msgid "abort in %s, at %s:%d"
msgstr "%s ¤ÇÃæÃÇ, °ÌÃÖ %s:%d"
-#: except.c:359
+#: except.c:371
msgid "exception handling disabled, use -fexceptions to enable"
msgstr "Îã³°½èÍý¤ò̵¸ú¤Ë¤·¤Þ¤·¤¿. Í­¸ú¤Ë¤¹¤ë¤Ë¤Ï -fexceptions ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-#: except.c:3007
+#: except.c:2969
msgid "argument of `__builtin_eh_return_regno' must be constant"
msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: except.c:3118 except.c:3140
+#: except.c:3090 except.c:3112
msgid "__builtin_eh_return not supported on this target"
msgstr "__builtin_eh_return ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: explow.c:1357
+#: explow.c:1398
msgid "stack limits not supported on this target"
msgstr "¥¹¥¿¥Ã¥¯À©¸Â¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: expr.c:2919
+#: expr.c:3323
msgid "function using short complex types cannot be inline"
msgstr "short complex ·¿¤ò»È¤¦´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: expr.c:5755 expr.c:5764 expr.c:5773 expr.c:5778 expr.c:6064 expr.c:6080
+#: 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:6129
+#: expr.c:6587
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr "Í¥À褹¤ë²¾°ú¿ô¤Î¥µ¥¤¥º¤Ï `%s' ¼¡Âè¤Ç¤¹"
-#: expr.c:6463
+#: expr.c:6932
msgid "returned value in block_exit_expr"
msgstr "block_exit_expr ¤ÇÃͤò return ¤·¤Þ¤·¤¿"
-#: final.c:1229
+#: final.c:1342
msgid "negative insn length"
msgstr ""
-#: final.c:2647
+#: final.c:2793
msgid "could not split insn"
msgstr ""
-#: final.c:2990
-#, c-format
-msgid "invalid `asm': %s"
+#: final.c:3141
+#, fuzzy
+msgid "invalid `asm': "
msgstr "̵¸ú¤Ê `asm': %s"
-#: final.c:2992
-#, c-format
-msgid "output_operand: %s"
-msgstr "output_operand: %s"
-
-#: final.c:3165
+#: final.c:3328
msgid "nested assembly dialect alternatives"
msgstr ""
-#: final.c:3182 final.c:3194
+#: final.c:3345 final.c:3357
msgid "unterminated assembly dialect alternative"
msgstr ""
-#: final.c:3238
-#, c-format
-msgid "operand number missing after %-letter"
+#: final.c:3401
+#, fuzzy, c-format
+msgid "operand number missing after %%-letter"
msgstr "±é»»¿ô¤¬ %-letter ¤Î¸å¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: final.c:3241 final.c:3280
+#: final.c:3404 final.c:3443
msgid "operand number out of range"
msgstr "±é»»¿ô¤¬Èϰϳ°¤Ç¤¹"
-#: final.c:3299
+#: final.c:3462
#, c-format
msgid "invalid %%-code"
msgstr "̵¸ú¤Ê %%-code"
-#: final.c:3330
-msgid "`%l' operand isn't a label"
+#: final.c:3493
+#, fuzzy, c-format
+msgid "`%%l' operand isn't a label"
msgstr "`%l' ±é»»¤Ï¥é¥Ù¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
#. We can't handle floating point constants;
#. PRINT_OPERAND must handle them.
-#: final.c:3437 vmsdbgout.c:464 config/i386/i386.c:5269
-#: 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:3492 vmsdbgout.c:521 config/i386/i386.c:5323
-#: 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:360
+#: flow.c:352
msgid "function might be possible candidate for attribute `noreturn'"
msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `noreturn' °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
-#: flow.c:365
+#: flow.c:357
msgid "`noreturn' function does return"
msgstr "`noreturn' ´Ø¿ô¤¬ return ¤·¤Æ¤¤¤Þ¤¹"
-#: flow.c:384
+#: flow.c:378
msgid "control reaches end of non-void function"
msgstr "À©¸æ¤¬Èó void ´Ø¿ô¤Î½ª¤ê¤ËÅþ㤷¤Þ¤·¤¿"
-#: fold-const.c:3114 fold-const.c:3127
+#: flow.c:1641
+msgid "Attempt to delete prologue/epilogue insn:"
+msgstr ""
+
+#: fold-const.c:2545 fold-const.c:2558
#, fuzzy, c-format
msgid "comparison is always %d due to width of bit-field"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ÎÉý¤Î¤»¤¤¤ÇÈæ³Ó¤¬¾ï¤Ë %d ¤È¤Ê¤ê¤Þ¤¹"
-#: fold-const.c:4169 fold-const.c:4186
+#: fold-const.c:3752 fold-const.c:3769
#, c-format
msgid "comparison is always %d"
msgstr "Èæ³Ó¤¬¾ï¤Ë %d ¤È¤Ê¤ê¤Þ¤¹"
-#: fold-const.c:4317
+#: fold-const.c:3900
msgid "`or' of unmatched not-equal tests is always 1"
msgstr "°ìÃפ·¤Ê¤¤ÃÍƱ»Î¤Ç¤ÎÈóÅù²Á¤Î `or' ¥Æ¥¹¥È¤Ï¾ï¤Ë 1 ¤Ç¤¹"
-#: fold-const.c:4322
+#: fold-const.c:3905
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr "Áê¸ßÇÓ¾Ū¤ÊÃͤÎÅù²Á¤Î `and' ¥Æ¥¹¥È¤Ï¾ï¤Ë 0 ¤Ç¤¹"
-#: function.c:5371
+#: function.c:881 varasm.c:1503
+#, c-format
+msgid "size of variable `%s' is too large"
+msgstr "ÊÑ¿ô `%s' ¤Î¥µ¥¤¥º¤¬Â礭¤¹¤®¤Þ¤¹"
+
+#: function.c:5470
#, c-format
msgid "`%s' might be used uninitialized in this function"
msgstr "`%s' ¤Ï¤³¤Î´Ø¿ôÆâ¤Ç½é´ü²½¤µ¤ì¤º¤Ë»ÈÍѤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: function.c:5378
+#: function.c:5477
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr "ÊÑ¿ô `%s' ¤Ï `longjmp' ¤ä `vfork' ¤Ë¤è¤Ã¤Æ¹ó¤¤¤³¤È¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: function.c:5397
+#: function.c:5496
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr "°ú¿ô `%s' ¤Ï `longjmp' ¤ä `vfork' ¤Ë¤è¤Ã¤Æ¹ó¤¤¤³¤È¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: function.c:6240
+#: function.c:6363
msgid "function returns an aggregate"
msgstr "´Ø¿ô¤¬½¸¹çÂΤòÊÖ¤·¤Æ¤¤¤Þ¤¹"
-#: function.c:6744
+#: function.c:6868
#, c-format
msgid "unused parameter `%s'"
msgstr "°ú¿ô `%s' ¤¬Ì¤»ÈÍѤǤ¹"
-#: gcc.c:1101
+#: gcc.c:1126
#, fuzzy, c-format
msgid "ambiguous abbreviation %s"
msgstr "¤¢¤¤¤Þ¤¤¤Ê¾Êά %s ¤Ç¤¹"
-#: gcc.c:1128
+#: gcc.c:1153
#, fuzzy, c-format
msgid "incomplete `%s' option"
msgstr "ÉÔ´°Á´¤Ê `%s' ¥ª¥×¥·¥ç¥ó¤Ç¤¹"
-#: gcc.c:1139
+#: gcc.c:1164
#, fuzzy, c-format
msgid "missing argument to `%s' option"
msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:1152
+#: gcc.c:1177
#, fuzzy, c-format
msgid "extraneous argument to `%s' option"
msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ·¤Æ̵´Ø·¸¤Ê°ú¿ô"
-#: gcc.c:1466
+#: gcc.c:1505
#, fuzzy
msgid "Using built-in specs.\n"
msgstr "ÁȤ߹þ¤ß spec ¤ò»ÈÍÑ.\n"
-#: gcc.c:1640
+#: gcc.c:1683
#, c-format
-msgid "Setting spec %s to '%s'\n\n"
-msgstr "spec %s ¤ò '%s' ¤ËÀßÄêÃæ\n\n"
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
+msgstr ""
+"spec %s ¤ò '%s' ¤ËÀßÄêÃæ\n"
+"\n"
-#: gcc.c:1738
+#: gcc.c:1790
#, c-format
msgid "Reading specs from %s\n"
msgstr "%s ¤«¤é spec ¤òÆɤ߹þ¤ßÃæ\n"
-#: gcc.c:1836 gcc.c:1855
+#: gcc.c:1888 gcc.c:1907
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr "specs ¤Î %ld ʸ»úÌܰʹߤΠ%%include ¤Î½ñ¼°¤¬ÊѤǤ¹"
-#: gcc.c:1863
+#: gcc.c:1915
#, fuzzy, c-format
msgid "could not find specs file %s\n"
msgstr "spec ¥Õ¥¡¥¤¥ë %s ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
-#: gcc.c:1879 gcc.c:1887 gcc.c:1896 gcc.c:1905
+#: gcc.c:1932 gcc.c:1940 gcc.c:1949 gcc.c:1958
#, c-format
msgid "specs %%rename syntax malformed after %ld characters"
msgstr "specs ¤Î %ld ʸ»úÌܰʹߤΠ%%rename ¤Î½ñ¼°¤¬ÊѤǤ¹"
-#: gcc.c:1914
+#: gcc.c:1967
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr "spec ¥Õ¥¡¥¤¥ë %s ¤Ë̾Á°¤òÊѹ¹¤¹¤ë spec ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
-#: gcc.c:1921
+#: gcc.c:1974
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr ""
+
+#: gcc.c:1979
#, c-format
msgid "rename spec %s to %s\n"
msgstr "spec %s ¤ò %s ¤Ë̾Á°¤òÊѹ¹\n"
-#: gcc.c:1923
+#: gcc.c:1981
#, c-format
-msgid "spec is '%s'\n\n"
-msgstr "spec ¤Ï '%s' ¤Ç¤¹\n\n"
+msgid ""
+"spec is '%s'\n"
+"\n"
+msgstr ""
+"spec ¤Ï '%s' ¤Ç¤¹\n"
+"\n"
-#: gcc.c:1936
+#: gcc.c:1994
#, c-format
msgid "specs unknown %% command after %ld characters"
msgstr "spec ¥Õ¥¡¥¤¥ëÃæ¤Î %ld ʸ»ú¤Î¸å¤ËÉÔÌÀ¤Ê %% ¥³¥Þ¥ó¥É"
-#: gcc.c:1947 gcc.c:1960
+#: gcc.c:2005 gcc.c:2018
#, c-format
msgid "specs file malformed after %ld characters"
msgstr "%ld ʸ»ú¤Î¸å¤Ë¤ª¤«¤·¤Ê spec ¥Õ¥¡¥¤¥ë"
-#: gcc.c:2014
+#: gcc.c:2072
msgid "spec file has no spec for linking"
msgstr "spec ¥Õ¥¡¥¤¥ë¤Ë¥ê¥ó¥¯¤Ë´Ø¤¹¤ë spec ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:2726
+#: gcc.c:2570
msgid "-pipe not supported"
msgstr "-pipe ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: gcc.c:2780
-msgid "\nGo ahead? (y or n) "
-msgstr "\n³¤±¤Þ¤¹¤«? (y ¤Þ¤¿¤Ï n) "
+#: gcc.c:2625
+msgid ""
+"\n"
+"Go ahead? (y or n) "
+msgstr ""
+"\n"
+"³¤±¤Þ¤¹¤«? (y ¤Þ¤¿¤Ï n) "
-#: gcc.c:2879
+#: gcc.c:2751
#, c-format
msgid ""
"Internal error: %s (program %s)\n"
@@ -5177,71 +5430,71 @@ msgstr ""
"´°Á´¤Ê¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
"%s ¤Ë¼ê½ç¤¬½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£"
-#: gcc.c:2897
+#: gcc.c:2769
#, c-format
msgid "# %s %.2f %.2f\n"
msgstr "# %s %.2f %.2f\n"
-#: gcc.c:3030
+#: gcc.c:2899
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó] ¥Õ¥¡¥¤¥ë...\n"
-#: gcc.c:3031
+#: gcc.c:2900
msgid "Options:\n"
msgstr "¥ª¥×¥·¥ç¥ó:\n"
-#: gcc.c:3033
+#: gcc.c:2902
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
msgstr ""
" -pass-exit-codes ¥Õ¥§¡¼¥º¤«¤é¤Î¥¨¥é¡¼¥³¡¼¥É¤ÎºÇÂçÃͤò exit\n"
" ¥³¡¼¥É¤È¤·¤ÆÊÖ¤¹\n"
-#: gcc.c:3034
+#: gcc.c:2903
msgid " --help Display this information\n"
msgstr " --help ¤³¤Î¥Ø¥ë¥×¾ðÊó¤òɽ¼¨\n"
-#: gcc.c:3035
+#: gcc.c:2904
msgid " --target-help Display target specific command line options\n"
msgstr " --target-help ¥¿¡¼¥²¥Ã¥È¸ÇÍ­¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òɽ¼¨\n"
-#: gcc.c:3037
+#: gcc.c:2906
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
msgstr "(`-v --help' ¤ò»È¤¦¤È¡¢»Ò¥×¥í¥»¥¹¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òɽ¼¨)\n"
-#: gcc.c:3038
+#: gcc.c:2907
msgid " -dumpspecs Display all of the built in spec strings\n"
msgstr " -dumpspecs ÁȤ߹þ¤Þ¤ì¤¿ spec ʸ»úÎó¤òÁ´¤Æɽ¼¨\n"
-#: gcc.c:3039
+#: gcc.c:2908
msgid " -dumpversion Display the version of the compiler\n"
msgstr " -dumpversion ¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨\n"
-#: gcc.c:3040
+#: gcc.c:2909
msgid " -dumpmachine Display the compiler's target processor\n"
msgstr " -dumpmachine ¥³¥ó¥Ñ¥¤¥é¤Î¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥Ã¥µ¤òɽ¼¨\n"
-#: gcc.c:3041
+#: gcc.c:2910
msgid " -print-search-dirs Display the directories in the compiler's search path\n"
msgstr " -print-search-dirs ¥³¥ó¥Ñ¥¤¥é¤Î¥µ¡¼¥Á¥Ñ¥¹¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨\n"
-#: gcc.c:3042
+#: gcc.c:2911
msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
msgstr " -print-libgcc-file-name ¥³¥ó¥Ñ¥¤¥é¤Î¥³¥ó¥Ñ¥Ë¥ª¥ó¥é¥¤¥Ö¥é¥ê̾¤òɽ¼¨\n"
-#: gcc.c:3043
+#: gcc.c:2912
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
msgstr " -print-file-name=<lib> ¥é¥¤¥Ö¥é¥ê <lib> ¤Ø¤Î¥Õ¥ë¥Ñ¥¹¤òɽ¼¨\n"
-#: gcc.c:3044
+#: gcc.c:2913
msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
msgstr " -print-prog-name=<prog> ¥³¥ó¥Ñ¥¤¥é¤ÎÉôÉÊ <prog> ¤Ø¤Î¥Õ¥ë¥Ñ¥¹¤òɽ¼¨\n"
-#: gcc.c:3045
+#: gcc.c:2914
msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
msgstr " -print-multi-directory libgcc ¤Î¥Ð¡¼¥¸¥ç¥ó¥Ç¥£¥ì¥¯¥È¥ê¥ë¡¼¥È¤òɽ¼¨\n"
-#: gcc.c:3046
+#: gcc.c:2915
msgid ""
" -print-multi-lib Display the mapping between command line options and\n"
" multiple library search directories\n"
@@ -5249,86 +5502,91 @@ msgstr ""
" -print-multi-lib ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÈÊ£¿ô¤Î¥é¥¤¥Ö¥é¥êõº÷\n"
" ¥Ç¥£¥ì¥¯¥È¥ê¤È¤ÎÂбþ¤òɽ¼¨\n"
-#: gcc.c:3049
+#: gcc.c:2918
+#, fuzzy
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-directory libgcc ¤Î¥Ð¡¼¥¸¥ç¥ó¥Ç¥£¥ì¥¯¥È¥ê¥ë¡¼¥È¤òɽ¼¨\n"
+
+#: gcc.c:2919
msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
msgstr " -Wa,<options> ¥«¥ó¥Þ¶èÀÚ¤ê¤Î <options> ¤ò¥¢¥»¥ó¥Ö¥é¤ËÅϤ¹\n"
-#: gcc.c:3050
+#: gcc.c:2920
msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
msgstr " -Wp,<options> ¥«¥ó¥Þ¶èÀÚ¤ê¤Î <options> ¤ò¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÅϤ¹\n"
-#: gcc.c:3051
+#: gcc.c:2921
msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
msgstr " -Wl,<options> ¥«¥ó¥Þ¶èÀÚ¤ê¤Î <options> ¤ò¥ê¥ó¥«¤ËÅϤ¹\n"
-#: gcc.c:3052
+#: gcc.c:2922
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
msgstr " -Xlinker <arg> <arg> ¤ò¥ê¥ó¥«¤ËÅϤ¹\n"
-#: gcc.c:3053
+#: gcc.c:2923
msgid " -save-temps Do not delete intermediate files\n"
msgstr " -save-temps Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤\n"
-#: gcc.c:3054
+#: gcc.c:2924
msgid " -pipe Use pipes rather than intermediate files\n"
msgstr " -pipe Ãæ´Ö¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Ñ¥¤¥×¤ò»È¤¦\n"
-#: gcc.c:3055
+#: gcc.c:2925
msgid " -time Time the execution of each subprocess\n"
msgstr " -time »Ò¥×¥í¥»¥¹¤´¤È¤Î¼Â¹Ô»þ´Ö¤ò·×¬¤¹¤ë\n"
-#: gcc.c:3056
+#: gcc.c:2926
#, fuzzy
msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
msgstr " -specs=<file> ÁȤ߹þ¤ß specs ¤ò <file> ¤ÎÆâÍƤÇÃÖ¤­´¹¤¨¤ë\n"
-#: gcc.c:3057
+#: gcc.c:2927
msgid " -std=<standard> Assume that the input sources are for <standard>\n"
msgstr " -std=<standard> ÆþÎÏ¥½¡¼¥¹¤ò <standard> ¤È¸«¤Ê¤¹\n"
-#: gcc.c:3058
+#: gcc.c:2928
msgid " -B <directory> Add <directory> to the compiler's search paths\n"
msgstr " -B <directory> <directory> ¤ò¥³¥ó¥Ñ¥¤¥é¤Îõº÷¥Ñ¥¹¤ËÄɲ乤ë\n"
-#: gcc.c:3059
+#: gcc.c:2929
msgid " -b <machine> Run gcc for target <machine>, if installed\n"
msgstr ""
" -b <machine> ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð¥¿¡¼¥²¥Ã¥È <machine> ¤È¤·¤Æ\n"
" gcc ¤ò¼Â¹Ô¤¹¤ë\n"
-#: gcc.c:3060
+#: gcc.c:2930
msgid " -V <version> Run gcc version number <version>, if installed\n"
msgstr ""
" -V <version> ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð <version> ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Î\n"
" gcc ¤È¤·¤Æ¼Â¹Ô¤¹¤ë\n"
-#: gcc.c:3061
+#: gcc.c:2931
msgid " -v Display the programs invoked by the compiler\n"
msgstr " -v ¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤ë¥×¥í¥°¥é¥à¤òɽ¼¨\n"
-#: gcc.c:3062
+#: gcc.c:2932
msgid " -### Like -v but options quoted and commands not executed\n"
msgstr ""
-#: gcc.c:3063
+#: gcc.c:2933
msgid " -E Preprocess only; do not compile, assemble or link\n"
msgstr ""
" -E ¥×¥ê¥×¥í¥»¥¹¤Î¤ß -- ¥³¥ó¥Ñ¥¤¥ë¡¢¥¢¥»¥ó¥Ö¥ë¡¢¥ê¥ó¥¯\n"
" ¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-#: gcc.c:3064
+#: gcc.c:2934
msgid " -S Compile only; do not assemble or link\n"
msgstr " -S ¥³¥ó¥Ñ¥¤¥ë¤Î¤ß -- ¥¢¥»¥ó¥Ö¥ë¡¢¥ê¥ó¥¯¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-#: gcc.c:3065
+#: gcc.c:2935
msgid " -c Compile and assemble, but do not link\n"
msgstr " -c ¥³¥ó¥Ñ¥¤¥ë¡¢¥¢¥»¥ó¥Ö¥ë¤¹¤ë¤¬¡¢¥ê¥ó¥¯¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
-#: gcc.c:3066
+#: gcc.c:2936
msgid " -o <file> Place the output into <file>\n"
msgstr " -o <file> <file> ¤Ë½ÐÎϤò¹Ô¤Ê¤¦\n"
-#: gcc.c:3067
+#: gcc.c:2937
#, fuzzy
msgid ""
" -x <language> Specify the language of the following input files\n"
@@ -5341,7 +5599,7 @@ msgstr ""
" 'none' ¤ò»ØÄꤹ¤ë¤È¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò¤Ë¤è¤Ã¤Æ¸À¸ì¤ò\n"
" ¿äÄꤹ¤ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î¿¶¤ëÉñ¤¤¤ËÌá¤ë\n"
-#: gcc.c:3074
+#: gcc.c:2944
#, c-format
msgid ""
"\n"
@@ -5354,73 +5612,93 @@ msgstr ""
"»Ò¥×¥í¥»¥¹¤Ë¼«Æ°Åª¤ËÅϤµ¤ì¤Þ¤¹¡£¤³¤¦¤¤¤Ã¤¿¥×¥í¥»¥¹¤Ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤òÅϤ¹\n"
"¤Ë¤Ï -W<letter> ¥ª¥×¥·¥ç¥ó¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\n"
-#: gcc.c:3445
+#: gcc.c:3079
+#, fuzzy, c-format
+msgid "`-%c' option must have argument"
+msgstr "-param ¥ª¥×¥·¥ç¥ó¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: gcc.c:3101
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr ""
+
+#. translate_options () has turned --version into -fversion.
+#: gcc.c:3278
+#, c-format
+msgid "%s (GCC) %s\n"
+msgstr ""
+
+#: gcc.c:3279
+msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: 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:3382
msgid "argument to `-Xlinker' is missing"
msgstr "`-Xlinker' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:3453
+#: gcc.c:3390
#, fuzzy
msgid "argument to `-l' is missing"
msgstr "`-x' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:3470
+#: gcc.c:3407
msgid "argument to `-specs' is missing"
msgstr "`-specs' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:3485
+#: gcc.c:3422
msgid "argument to `-specs=' is missing"
msgstr "`-specs=' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:3516
-msgid "argument to `-b' is missing"
-msgstr "`-b' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+#: gcc.c:3452
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr ""
-#: gcc.c:3531
+#: gcc.c:3461
msgid "argument to `-B' is missing"
msgstr "`-B' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:3601
-msgid "argument to `-V' is missing"
-msgstr "`-V' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: gcc.c:3622 gcc.c:3629 gcc.c:3636
-msgid "invalid version number format"
-msgstr "̵¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ·Á¼°"
-
-#: gcc.c:3747
+#: gcc.c:3634
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr "-c ¤ä -S ¤È°ì½ï¤Ë -o ¤ò»ØÄꤹ¤ë¤È¡¢Ê£¿ô¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó"
-#: gcc.c:3918
+#: gcc.c:3807
#, fuzzy
msgid "warning: -pipe ignored because -save-temps specified"
msgstr "·Ù¹ð: -save-temps ¤¬»ØÄꤵ¤ì¤¿¤Î¤Ç -pipe ¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: gcc.c:3922
+#: gcc.c:3811
#, fuzzy
msgid "warning: -pipe ignored because -time specified"
msgstr "·Ù¹ð: -time ¤¬»ØÄꤵ¤ì¤¿¤Î¤Ç -pipe ¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: gcc.c:3934
+#: gcc.c:3823
msgid "argument to `-x' is missing"
msgstr "`-x' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:3962
+#: gcc.c:3851
#, c-format
msgid "argument to `-%s' is missing"
msgstr "`-%s' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:4023
+#: gcc.c:3912
#, fuzzy, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr "·Ù¹ð: ºÇ¸å¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¸å¤Î `-x %s' ¤Ï²¿¤â¤·¤Þ¤»¤ó"
-#: gcc.c:4322
+#: gcc.c:4257
#, fuzzy
msgid "invalid specification! Bug in cc"
msgstr "̵¸ú¤Ê»ØÄê! cc ¤Î¥Ð¥°."
-#: gcc.c:4471
+#: gcc.c:4411
#, c-format
msgid "%s\n"
msgstr "%s\n"
@@ -5428,428 +5706,661 @@ msgstr "%s\n"
#. 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:5030
+#: gcc.c:4971
#, fuzzy, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
msgstr "spec ¥¨¥é¡¼: '%%*' ¤Ï¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Ç½é´ü²½¤µ¤ì¤Ê¤¤¤Þ¤Þ¤Ç¤¹"
-#: gcc.c:5039
+#: gcc.c:4980
#, fuzzy, c-format
msgid "warning: use of obsolete %%[ operator in specs"
msgstr "·Ù¹ð: µì¼°¤Î %%[ ±é»»»Ò¤¬ spec ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
-#: gcc.c:5057
+#: gcc.c:4998
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr "spec %c%s%c ¤ò½èÍýÃæ, ¤³¤ì¤Ï '%s' ¤Ç¤¹\n"
-#: gcc.c:5182
+#: gcc.c:5123
#, fuzzy, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr "spec ¥¨¥é¡¼: ǧ¼±ÉÔǽ¤Ê spec ¥ª¥×¥·¥ç¥ó '%c'"
-#: gcc.c:5292
+#: gcc.c:5204
+#, fuzzy, c-format
+msgid "unknown spec function `%s'"
+msgstr "´Ø¿ô `%s' Æâ:"
+
+#: gcc.c:5223
+#, fuzzy, c-format
+msgid "error in args to spec function `%s'"
+msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#: gcc.c:5272
+#, fuzzy
+msgid "malformed spec function name"
+msgstr "¥­¥ã¥¹¥È¤Ï´Ø¿ô·¿¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+#. )
+#: gcc.c:5275
+#, fuzzy
+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:5970
+#: gcc.c:6097
#, c-format
msgid "unrecognized option `-%s'"
msgstr "ǧ¼±ÉÔǽ¤Ê¥ª¥×¥·¥ç¥ó `-%s'"
-#: gcc.c:5976
+#: gcc.c:6103
#, c-format
msgid "install: %s%s\n"
msgstr "¥¤¥ó¥¹¥È¡¼¥ë: %s%s\n"
-#: gcc.c:5977
+#: gcc.c:6104
#, c-format
msgid "programs: %s\n"
msgstr "¥×¥í¥°¥é¥à: %s\n"
-#: gcc.c:5978
+#: gcc.c:6105
#, c-format
msgid "libraries: %s\n"
msgstr "¥é¥¤¥Ö¥é¥ê: %s\n"
-#: gcc.c:6026
-msgid "\nFor bug reporting instructions, please see:\n"
-msgstr "\n¥Ð¥°¥ì¥Ý¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ò»²¾È\n"
+#: gcc.c:6162
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+msgstr ""
+"\n"
+"¥Ð¥°¥ì¥Ý¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ò»²¾È\n"
-#: gcc.c:6042
+#: gcc.c:6178
#, c-format
msgid "Configured with: %s\n"
msgstr "¥³¥ó¥Õ¥£¥°¥ª¥×¥·¥ç¥ó: %s\n"
-#: gcc.c:6056
+#: gcc.c:6192
#, c-format
msgid "Thread model: %s\n"
msgstr "¥¹¥ì¥Ã¥É¥â¥Ç¥ë: %s\n"
-#: gcc.c:6067
+#: gcc.c:6203
#, c-format
msgid "gcc version %s\n"
msgstr "gcc ¥Ð¡¼¥¸¥ç¥ó %s\n"
-#: gcc.c:6069
+#: gcc.c:6205
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
msgstr "gcc ¥É¥é¥¤¥Ð¥Ð¡¼¥¸¥ç¥ó %s ¼Â¹Ô gcc ¥Ð¡¼¥¸¥ç¥ó %s\n"
-#: gcc.c:6077
+#: gcc.c:6213
#, fuzzy
msgid "no input files"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó"
-#: gcc.c:6115
+#: gcc.c:6251
#, c-format
msgid "%s: %s compiler not installed on this system"
msgstr "%s: %s ¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: gcc.c:6190
+#: gcc.c:6326
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr "%s: ¥ê¥ó¥¯¤¬´°Î»¤·¤Ê¤«¤Ã¤¿¤Î¤Ç¥ê¥ó¥«¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
-#: gcc.c:6233
+#: gcc.c:6369
#, c-format
msgid "language %s not recognized"
msgstr "¸À¸ì %s ¤Ïǧ¼±¤Ç¤­¤Þ¤»¤ó"
-#: gcc.c:6336
+#: gcc.c:6472
#, fuzzy
msgid "internal gcc abort"
msgstr "ÆâÉô gcc ÃæÃÇ"
-#: gcov.c:282
+#: gcov.c:325
msgid "Internal gcov abort.\n"
msgstr "ÆâÉô gcc abort.\n"
-#: gcov.c:295
-msgid "Usage: gcov [OPTION]... SOURCEFILE\n\n"
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
msgstr ""
-#: gcov.c:296
+#: gcov.c:339
#, fuzzy
-msgid "Print code coverage information.\n\n"
+msgid ""
+"Print code coverage information.\n"
+"\n"
msgstr "¸Æ¤Ó½Ð¤·¥°¥é¥Õ¾ðÊó¤òÁ÷½Ð¤¹¤ë"
-#: gcov.c:297
+#: gcov.c:340
#, fuzzy
msgid " -h, --help Print this help, then exit\n"
msgstr " --help ¤³¤Î¥Ø¥ë¥×¾ðÊó¤òɽ¼¨\n"
-#: gcov.c:298
+#: gcov.c:341
#, fuzzy
msgid " -v, --version Print version number, then exit\n"
msgstr ""
" -V <version> ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð <version> ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Î\n"
" gcc ¤È¤·¤Æ¼Â¹Ô¤¹¤ë\n"
-#: 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
#, fuzzy
msgid " -n, --no-output Do not create an output file\n"
msgstr " -save-temps Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤\n"
-#: 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
#, fuzzy, c-format
msgid ""
"\n"
"For bug reporting instructions, please see:\n"
"%s.\n"
-msgstr "\n¥Ð¥°¥ì¥Ý¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ò»²¾È\n"
+msgstr ""
+"\n"
+"¥Ð¥°¥ì¥Ý¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ò»²¾È\n"
-#: 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:320
-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 ""
-
-#: gcov.c:462
+#: gcov.c:500
#, c-format
msgid "Could not open basic block file %s.\n"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
-#: gcov.c:471
+#: gcov.c:507
+#, c-format
+msgid "Could not open program flow graph file %s.\n"
+msgstr "¥×¥í¥°¥é¥à¥Õ¥í¡¼¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
+
+#: gcov.c:524
#, c-format
msgid "Could not open data file %s.\n"
msgstr "¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë %s ¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
-#: gcov.c:472
+#: gcov.c:525
msgid "Assuming that all execution counts are zero.\n"
msgstr "Á´¼Â¹Ô¿ô¤¬¥¼¥í¤Ç¤¢¤ë¤È²¾Äꤷ¤Þ¤¹¡£\n"
-#: gcov.c:478
-#, c-format
-msgid "Could not open program flow graph file %s.\n"
-msgstr "¥×¥í¥°¥é¥à¥Õ¥í¡¼¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
-
-#: gcov.c:489
+#: gcov.c:534
#, c-format
msgid "No executable code associated with file %s.\n"
msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë·ë¤ÓÉÕ¤¯¼Â¹Ô¥³¡¼¥É¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
-#: gcov.c:789
-msgid ".da file contents exhausted too early\n"
-msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò¤¢¤Þ¤ê¤ËÁ᤯»È¤¤ÀڤäƤ·¤Þ¤¤¤Þ¤·¤¿\n"
+#: gcov.c:1186
+#, fuzzy, c-format
+msgid "%s of %d lines executed in %s %s\n"
+msgstr "%6.2f%%(%d ¹ÔÃæ) ¤Î¥½¡¼¥¹¹Ô¤¬¥Õ¥¡¥¤¥ë %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+
+#: gcov.c:1191
+#, fuzzy, c-format
+msgid "No executable lines in %s %s\n"
+msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¼Â¹Ô²Äǽ¤Ê¥½¡¼¥¹¹Ô¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: gcov.c:792
-msgid ".da file contents not exhausted\n"
-msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò»È¤¤ÀڤäƤ¤¤Þ¤»¤ó\n"
+#: gcov.c:1198
+#, fuzzy, c-format
+msgid "%s of %d branches executed in %s %s\n"
+msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬¥Õ¥¡¥¤¥ë %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+
+#: gcov.c:1203
+#, fuzzy, c-format
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬¾¯¤Ê¤¯¤È¤â°ì²ó¤Ï¥Õ¥¡¥¤¥ë %s ¤Ç¼õ¼è¤é¤ì¤Þ¤·¤¿\n"
+
+#: gcov.c:1209
+#, fuzzy, c-format
+msgid "No branches in %s %s\n"
+msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¤Ï¥Ö¥é¥ó¥Á¤¬¤¢¤ê¤Þ¤»¤ó\n"
+
+#: gcov.c:1211
+#, fuzzy, c-format
+msgid "%s of %d calls executed in %s %s\n"
+msgstr "%6.2f%%(%d ²óÃæ) ¤Î¸Æ¤Ó½Ð¤·¤¬¥Õ¥¡¥¤¥ë %s Æâ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+
+#: gcov.c:1216
+#, fuzzy, c-format
+msgid "No calls in %s %s\n"
+msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: gcov.c:973
+#: gcov.c:1351
#, c-format
-msgid "%6.2f%% of %d source lines executed in function %s\n"
-msgstr "%6.2f%%(%d ¹ÔÃæ) ¤Î¥½¡¼¥¹¹Ô¤¬´Ø¿ô %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+msgid "didn't use all bb entries of graph, function %s\n"
+msgstr "¥°¥é¥Õ¤Î bb ¥¨¥ó¥È¥ê¤Î°ìÉô¤·¤«»È¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡¢´Ø¿ô %s\n"
-#: gcov.c:977
+#: gcov.c:1353
#, c-format
-msgid "No executable source lines in function %s\n"
+msgid "block_num = %ld, num_blocks = %d\n"
+msgstr "¥Ö¥í¥Ã¥¯¿ô = %ld¡¢ÈÖ¹æ¥Ö¥í¥Ã¥¯ = %d\n"
+
+#: gcov.c:1367
+#, fuzzy, c-format
+msgid "ERROR: unexpected line number %ld\n"
+msgstr "¹ÔÈÖ¹æ %u ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
+
+#: gcov.c:1383
+#, fuzzy, c-format
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "¥¨¥é¡¼: .bb ¥Õ¥¡¥¤¥ë %s ¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤¬Â¿¤¹¤®¤Þ¤¹\n"
+
+#: gcov.c:1398
+#, fuzzy, c-format
+msgid "ERROR: out of range line number in function %s\n"
msgstr "´Ø¿ô %s ¤Ë¼Â¹Ô²Äǽ¤Ê¥½¡¼¥¹¹Ô¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: gcov.c:984
+#: gcov.c:1470
#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
-msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬´Ø¿ô %s Æâ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+msgid "Could not open source file %s.\n"
+msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+
+#: gcov.c:1480
+#, fuzzy, c-format
+msgid "Warning: source file %s is newer than %s\n"
+msgstr "¸½ºß¤Î¥Õ¥¡¥¤¥ë¤Ï %s ¤è¤ê¸Å¤¤¤Ç¤¹"
-#: gcov.c:988
+#: gcov.c:1510
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
-msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬¾¯¤Ê¤¯¤È¤â°ìÅ٤ϴؿô %s ¤Ç¼õ¼è¤é¤ì¤Þ¤·¤¿\n"
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë %s ¤òÆɤ߹þ¤ßÃæ¤Ëͽ´ü¤»¤Ì EOF.\n"
+
+#: gcov.c:1532
+#, fuzzy, c-format
+msgid "call %2d never executed\n"
+msgstr "¸Æ¤Ó½Ð¤· %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤»¤º\n"
+
+#: gcov.c:1535
+#, fuzzy, c-format
+msgid "call %2d returns %s\n"
+msgstr "¸Æ¤Ó½Ð¤· %d ¤ÎÌá¤ê = %d\n"
-#: gcov.c:993
+#: gcov.c:1543
+#, fuzzy, c-format
+msgid "branch %2d never executed\n"
+msgstr "¥Ö¥é¥ó¥Á %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤µ¤ì¤º\n"
+
+#: gcov.c:1546
+#, fuzzy, c-format
+msgid "branch %2d taken %s\n"
+msgstr "¥Ö¥é¥ó¥Á %d ¼õÍý = %d\n"
+
+#: gcov.c:1610
#, c-format
-msgid "No branches in function %s\n"
-msgstr "´Ø¿ô %s ¤Ë¤Ïʬ´ô¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgid "Creating %s.\n"
+msgstr "%s ¤òºîÀ®Ãæ.\n"
+
+#: gcov.c:1613
+#, fuzzy, c-format
+msgid "Error writing output file %s.\n"
+msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼¤Ç¤¹"
-#: gcov.c:995
+#: gcov.c:1618
#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
-msgstr "%6.2f%%(%d ²ó) ¤Î¸Æ¤Ó½Ð¤·¤¬´Ø¿ô %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+msgid "Could not open output file %s.\n"
+msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
-#: gcov.c:999
+#: gcse.c:761
#, c-format
-msgid "No calls in function %s\n"
-msgstr "´Ø¿ô %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgstr "GCSE ¤ò̵¸ú²½: %d > 1000 ´ðËÜ¥Ö¥í¥Ã¥¯¡¢µÚ¤Ó %d >= 20 edge/´ðËÜ¥Ö¥í¥Ã¥¯"
-#: gcov.c:1126
+#: gcse.c:773
#, c-format
-msgid "didn't use all bb entries of graph, function %s\n"
-msgstr "¥°¥é¥Õ¤Î bb ¥¨¥ó¥È¥ê¤Î°ìÉô¤·¤«»È¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡¢´Ø¿ô %s\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
+msgstr "GCSE ¤ò̵¸ú²½: %d ´ðËÜ¥Ö¥í¥Ã¥¯¡¢µÚ¤Ó %d ¸Ä¤Î¥ì¥¸¥¹¥¿"
-#: gcov.c:1128
+#: genautomata.c:1490
#, c-format
-msgid "block_num = %ld, num_blocks = %d\n"
-msgstr "¥Ö¥í¥Ã¥¯¿ô = %ld¡¢ÈÖ¹æ¥Ö¥í¥Ã¥¯ = %d\n"
+msgid "Name `%s' contains quotes"
+msgstr ""
-#: gcov.c:1166
+#: genautomata.c:1621
+#, fuzzy, c-format
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr "̵¸ú¤Ê¶çÆÉÅÀ `%c' ¤¬À©ÌóÆâ¤Ë¤¢¤ê¤Þ¤¹"
+
+#: genautomata.c:1650
#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
-msgstr "¥¨¥é¡¼: .bb ¥Õ¥¡¥¤¥ë %s ¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤¬Â¿¤¹¤®¤Þ¤¹\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr ""
+
+#: genautomata.c:1682 genautomata.c:1685
+#, fuzzy, c-format
+msgid "invalid string `%s' in define_bypass"
+msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+#: genautomata.c:1720
+#, fuzzy, c-format
+msgid "invalid first string `%s' in exclusion_set"
+msgstr "̵¸ú¤Ê¶çÆÉÅÀ `%c' ¤¬À©ÌóÆâ¤Ë¤¢¤ê¤Þ¤¹"
-#: gcov.c:1243
+#: genautomata.c:1724
+#, fuzzy, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr "̵¸ú¤Ê¶çÆÉÅÀ `%c' ¤¬À©ÌóÆâ¤Ë¤¢¤ê¤Þ¤¹"
+
+#: genautomata.c:1760
#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
-msgstr "%6.2f%%(%d ¹ÔÃæ) ¤Î¥½¡¼¥¹¹Ô¤¬¥Õ¥¡¥¤¥ë %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+msgid "invalid first string `%s' in presence_set"
+msgstr ""
-#: gcov.c:1247
+#: genautomata.c:1764
#, c-format
-msgid "No executable source lines in file %s\n"
-msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¼Â¹Ô²Äǽ¤Ê¥½¡¼¥¹¹Ô¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgid "invalid second string `%s' in presence_set"
+msgstr ""
-#: gcov.c:1254
+#: genautomata.c:1800
#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
-msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬¥Õ¥¡¥¤¥ë %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+msgid "invalid first string `%s' in absence_set"
+msgstr ""
-#: gcov.c:1258
+#: genautomata.c:1804
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
-msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬¾¯¤Ê¤¯¤È¤â°ì²ó¤Ï¥Õ¥¡¥¤¥ë %s ¤Ç¼õ¼è¤é¤ì¤Þ¤·¤¿\n"
+msgid "invalid second string `%s' in absence_set"
+msgstr ""
+
+#: genautomata.c:1837
+#, fuzzy, c-format
+msgid "invalid string `%s' in define_automaton"
+msgstr "dump_definition ¤Ë ̵¸ú¤Ê¥Ï¥Ã¥·¥å¥¿¥¤¥× %d"
+
+#: genautomata.c:1868
+#, fuzzy, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "̵¸ú¤Ê¶çÆÉÅÀ `%c' ¤¬À©ÌóÆâ¤Ë¤¢¤ê¤Þ¤¹"
-#: gcov.c:1263
+#: genautomata.c:1890
#, c-format
-msgid "No branches in file %s\n"
-msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¤Ï¥Ö¥é¥ó¥Á¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgid "garbage after ) in reservation `%s'"
+msgstr ""
-#: gcov.c:1265
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
+
+#: genautomata.c:1932
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
-msgstr "%6.2f%%(%d ²óÃæ) ¤Î¸Æ¤Ó½Ð¤·¤¬¥Õ¥¡¥¤¥ë %s Æâ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+msgid "repetition `%s' <= 1 in reservation `%s'"
+msgstr ""
-#: gcov.c:1269
+#: genautomata.c:2425
#, c-format
-msgid "No calls in file %s\n"
-msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgid "unit `%s' in exclusion is not declared"
+msgstr ""
-#: gcov.c:1281
+#: genautomata.c:2427
#, c-format
-msgid "Could not open source file %s.\n"
-msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgid "`%s' in exclusion is not unit"
+msgstr ""
+
+#: genautomata.c:2465
+#, fuzzy, c-format
+msgid "unit `%s' excludes itself"
+msgstr "`%s' ¤ÎÉý¤Ï¤½¤Î·¿¤Î¥µ¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹"
-#: gcov.c:1331
+#: genautomata.c:2473
#, c-format
-msgid "Could not open output file %s.\n"
-msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgid "units `%s' and `%s' in exclusion set belong to different automata"
+msgstr ""
-#: gcov.c:1339
+#: genautomata.c:2603 genautomata.c:2609
#, c-format
-msgid "Creating %s.\n"
-msgstr "%s ¤òºîÀ®Ãæ.\n"
+msgid "unit `%s' excludes and requires presence of `%s'"
+msgstr ""
-#: gcov.c:1387
+#: genautomata.c:2623 genautomata.c:2629
#, c-format
-msgid "call %d never executed\n"
-msgstr "¸Æ¤Ó½Ð¤· %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤»¤º\n"
+msgid "unit `%s' requires absence and presence of `%s'"
+msgstr ""
-#: gcov.c:1396
+#: genautomata.c:2692 genautomata.c:2695
#, fuzzy, c-format
-msgid "call %d returns = %s\n"
-msgstr "¸Æ¤Ó½Ð¤· %d ¤ÎÌá¤ê = %d\n"
+msgid "repeated declaration of automaton `%s'"
+msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
+
+#: 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 ""
-#: gcov.c:1406
+#: genautomata.c:2737
#, fuzzy, c-format
-msgid "call %d returns = %s%%\n"
-msgstr "¸Æ¤Ó½Ð¤· %d ¤ÎÌá¤ê = %d%%\n"
+msgid "automaton `%s' is not declared"
+msgstr "²¾°ú¿ô `%s' ¤Î·¿¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: gcov.c:1413
+#: genautomata.c:2747
#, c-format
-msgid "branch %d never executed\n"
-msgstr "¥Ö¥é¥ó¥Á %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤µ¤ì¤º\n"
+msgid "define_unit `%s' without automaton when one defined"
+msgstr ""
-#: gcov.c:1423
+#: genautomata.c:2753
#, fuzzy, c-format
-msgid "branch %d taken = %s\n"
-msgstr "¥Ö¥é¥ó¥Á %d ¼õÍý = %d\n"
+msgid "`%s' is declared as cpu unit"
+msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+#: genautomata.c:2762
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "`%s' ¤Ï´Ø¿ô¤òÊÖ¤¹´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: gcov.c:1433
+#: genautomata.c:2772
#, fuzzy, c-format
-msgid "branch %d taken = %s%%\n"
-msgstr "¥Ö¥é¥ó¥Á %d ¼õÍý = %d%%\n"
+msgid "repeated declaration of unit `%s'"
+msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: gcov.c:1444
+#: genautomata.c:2775
+#, fuzzy, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
+
+#: genautomata.c:2790 genautomata.c:2793
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
-msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë %s ¤òÆɤ߹þ¤ßÃæ¤Ëͽ´ü¤»¤Ì EOF.\n"
+msgid "there is no insn reservation `%s'"
+msgstr ""
-#: gcse.c:756
+#: genautomata.c:2810 genautomata.c:2815
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr "GCSE ¤ò̵¸ú²½: %d > 1000 ´ðËÜ¥Ö¥í¥Ã¥¯¡¢µÚ¤Ó %d >= 20 edge/´ðËÜ¥Ö¥í¥Ã¥¯"
+msgid "the same bypass `%s - %s' is already defined"
+msgstr ""
+
+#: genautomata.c:2820
+#, fuzzy, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "¥¯¥é¥¹ `%s' ¤Ï´û¤Ë¸ºß¤·¤Þ¤¹"
-#: gcse.c:768
+#: genautomata.c:2925 genautomata.c:2927
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
-msgstr "GCSE ¤ò̵¸ú²½: %d ´ðËÜ¥Ö¥í¥Ã¥¯¡¢µÚ¤Ó %d ¸Ä¤Î¥ì¥¸¥¹¥¿"
+msgid "automaton `%s' is not used"
+msgstr ""
-#: graph.c:421 profile.c:950 profile.c:958 toplev.c:1842 toplev.c:4908
-#: ch/grant.c:2652 ch/lex.c:212 ch/lex.c:2189 f/com.c:14269
-#: java/jcf-parse.c:963 java/jcf-parse.c:1115 java/lex.c:1782
-#: objc/objc-act.c:534
+#: genautomata.c:2950
+#, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr ""
+
+#: genautomata.c:3028 genautomata.c:3030
+#, fuzzy, c-format
+msgid "unit `%s' is not used"
+msgstr "`%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, fuzzy, c-format
+msgid "reservation `%s' is not used"
+msgstr "`%s' ¤ÎÌá¤êÃͤη¿¤¬ `int' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: genautomata.c:3134
+#, fuzzy, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "`%s %s' ¤ÎºÆÄêµÁ"
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr ""
+
+#: genautomata.c:9441
+#, fuzzy
+msgid "-split has no argument."
+msgstr "#%s ¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: genautomata.c:9442
+#, fuzzy
+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
+#, fuzzy
+msgid "Errors in DFA description"
+msgstr "ÀâÌÀ¤Ï¤Þ¤À¤¢¤ê¤Þ¤»¤ó"
+
+#: genautomata.c:9732
+#, fuzzy, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼¤Ç¤¹"
+
+#: genconditions.c:196
+#, fuzzy
+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 "%s ¤ò³«¤±¤Þ¤»¤ó"
-#: haifa-sched.c:190
+#: haifa-sched.c:196
#, c-format
msgid "fix_sched_param: unknown param: %s"
msgstr "fix_sched_param: ÉÔÌÀ¤Ê¥Ñ¥é¥á¥¿: %s"
-#: integrate.c:185
+#: integrate.c:172
msgid "function cannot be inline"
msgstr "´Ø¿ô¤ò inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:190
+#: integrate.c:176
msgid "varargs function cannot be inline"
msgstr "²ÄÊÑ°ú¿ô´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:193
+#: integrate.c:179
msgid "function using alloca cannot be inline"
msgstr "alloca ¤ò»È¤Ã¤Æ¤¤¤ë´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:196
+#: integrate.c:182
msgid "function using setjmp cannot be inline"
msgstr "setjmp ¤ò»È¤Ã¤Æ¤¤¤ë´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:199
+#: integrate.c:185
msgid "function uses __builtin_eh_return"
msgstr "´Ø¿ô¤¬ __builtin_eh_return ¤ò»È¤¤¤Þ¤¹"
-#: integrate.c:202
+#: integrate.c:188
msgid "function with nested functions cannot be inline"
msgstr "Æþ¤ì»Ò´Ø¿ô¤ò»ý¤Ä´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:206
+#: integrate.c:192
msgid "function with label addresses used in initializers cannot inline"
msgstr "¥é¥Ù¥ë¥¢¥É¥ì¥¹¤ò»ý¤Á¡¢½é´ü²½»Ò¤Ç»È¤ï¤ì¤ë´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:213 integrate.c:257
+#: integrate.c:199 integrate.c:243
msgid "function too large to be inline"
msgstr "´Ø¿ô¤¬Â礭¤¹¤®¤Æ inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:223
+#: integrate.c:209
msgid "no prototype, and parameter address used; cannot be inline"
msgstr "¥×¥í¥È¥¿¥¤¥×¤¬¤Ê¤¯¡¢²¾°ú¿ô¤Î¥¢¥É¥ì¥¹¤¬»È¤ï¤ì¤Æ¤¤¤ë -- inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:230 integrate.c:275
+#: integrate.c:216 integrate.c:261
msgid "inline functions not supported for this return value type"
msgstr "¤³¤ÎÌá¤êÃÍ·¿¤Î inline ´Ø¿ô¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: integrate.c:235
+#: integrate.c:221
msgid "function with varying-size return value cannot be inline"
msgstr "²ÄÊÑŤÎÌá¤êÃͤòÊÖ¤¹´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:242
+#: integrate.c:228
msgid "function with varying-size parameter cannot be inline"
msgstr "²ÄÊÑĹ°ú¿ô¤ò»ý¤Ä´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:245
+#: integrate.c:231
msgid "function with transparent unit parameter cannot be inline"
msgstr "Æ©²á¶¦ÍÑÂΤΰú¿ô¤ò»ý¤Ä´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:264
+#: integrate.c:250
msgid "function with computed jump cannot inline"
msgstr "»»½Ð¤µ¤ì¤¿¥¸¥ã¥ó¥×¤ò¹Ô¤Ê¤¦´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:268
+#: integrate.c:254
msgid "function with nonlocal goto cannot be inline"
msgstr "Èó¥í¡¼¥«¥ë goto ¤ò»È¤Ã¤Æ¤¤¤ë´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: integrate.c:282
+#: integrate.c:268
msgid "function with target specific attribute(s) cannot be inlined"
msgstr "¥¿¡¼¥²¥Ã¥È¸Çͭ°À­Éդδؿô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
@@ -5885,57 +6396,57 @@ msgstr ""
msgid "invalid parameter `%s'"
msgstr "²¾°ú¿ô `%s' ¤Ï̵¸ú¤Ç¤¹"
-#: profile.c:429
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr ""
+
+#: profile.c:400
+#, fuzzy
+msgid ".da file corrupted"
+msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò»È¤¤ÀڤäƤ¤¤Þ¤»¤ó\n"
+
+#: profile.c:634
#, c-format
msgid "corrupted profile info: prob for %d-%d thought to be %d"
msgstr ""
-#: profile.c:975
+#: profile.c:1226
#, fuzzy, c-format
msgid "file %s not found, execution counts assumed to be zero"
msgstr "¥Õ¥¡¥¤¥ë %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¼Â¹Ô¥«¥¦¥ó¥È¤Ï¥¼¥í¤È¸«¤Ê¤·¤Þ¤¹"
-#: profile.c:1022
-#, fuzzy
-msgid ".da file contents exhausted too early"
-msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò¤¢¤Þ¤ê¤ËÁ᤯»È¤¤ÀڤäƤ·¤Þ¤¤¤Þ¤·¤¿\n"
-
-#: profile.c:1025
-#, fuzzy
-msgid ".da file contents not exhausted"
-msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò»È¤¤ÀڤäƤ¤¤Þ¤»¤ó\n"
-
-#: protoize.c:593
+#: protoize.c:542
#, c-format
msgid "%s: internal abort\n"
msgstr "%s: ÆâÉôÃæÃÇ\n"
-#: protoize.c:684
+#: protoize.c:633
#, c-format
msgid "%s: error writing file `%s': %s\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤Ë½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼: %s\n"
-#: protoize.c:729
+#: protoize.c:678
#, c-format
msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
msgstr "%s: »ÈÍÑË¡ '%s [ -VqfnkN ] [ -i <istring> ] [ ¥Õ¥¡¥¤¥ë̾ ... ]'\n"
-#: protoize.c:732
+#: protoize.c:681
#, c-format
msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
msgstr "%s: »ÈÍÑË¡ '%s [ -VqfnkNlgC ] [ -B <¥Ç¥£¥ì¥¯¥È¥ê̾> ] [ ¥Õ¥¡¥¤¥ë̾ ... ]'\n"
-#: protoize.c:839
+#: protoize.c:788
#, c-format
msgid "%s: warning: no read access for file `%s'\n"
msgstr "%s: ·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤ËÂФ·¤ÆÆɤ߽Ф·µö²Ä¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: protoize.c:847
+#: protoize.c:796
#, c-format
msgid "%s: warning: no write access for file `%s'\n"
msgstr "%s: ·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤ËÂФ·¤Æ½ñ¤­¹þ¤ßµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: protoize.c:855
+#: protoize.c:804
#, c-format
msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr "%s: ·Ù¹ð: `%s' ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ½ñ¤­¹þ¤ßµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó\n"
@@ -5943,662 +6454,649 @@ msgstr "%s: ·Ù¹ð: `%s' ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ½ñ¤­¹þ¤ßµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó\n"
#. Catch cases like /.. where we try to backup to a
#. point above the absolute root of the logical file
#. system.
-#: protoize.c:1273
+#: protoize.c:1222
#, c-format
msgid "%s: invalid file name: %s\n"
msgstr "%s: ̵¸ú¤Ê¥Õ¥¡¥¤¥ë̾: %s\n"
-#: protoize.c:1425
+#: protoize.c:1374
#, c-format
msgid "%s: %s: can't get status: %s\n"
msgstr "%s: %s: ¾õÂÖ¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:1446
+#: protoize.c:1395
#, c-format
-msgid "\n%s: fatal error: aux info file corrupted at line %d\n"
-msgstr "\n%s: Ã×̿Ū¥¨¥é¡¼: Éû info ¥Õ¥¡¥¤¥ë¤¬ %d ¹ÔÌܤDzõ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
+msgstr ""
+"\n"
+"%s: Ã×̿Ū¥¨¥é¡¼: Éû info ¥Õ¥¡¥¤¥ë¤¬ %d ¹ÔÌܤDzõ¤ì¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:1782
+#: protoize.c:1731
#, c-format
msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr "%s:%d: ´Ø¿ô `%s' ¤ÎÀë¸À¤¬Ê̤ηÁ¤ò¼è¤Ã¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:2040
+#: protoize.c:1989
#, c-format
msgid "%s: compiling `%s'\n"
msgstr "%s: `%s' ¤ò¥³¥ó¥Ñ¥¤¥ëÃæ\n"
-#: protoize.c:2063
+#: protoize.c:2012
#, c-format
msgid "%s: wait: %s\n"
msgstr "%s: ÂÔ¤Á: %s\n"
-#: protoize.c:2068
+#: protoize.c:2017
#, c-format
msgid "%s: subprocess got fatal signal %d\n"
msgstr "%s: ¥µ¥Ö¥×¥í¥»¥¹¤¬Ã×̿Ū¥·¥°¥Ê¥ë %d ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿\n"
-#: protoize.c:2076
+#: protoize.c:2025
#, c-format
msgid "%s: %s exited with status %d\n"
msgstr "%s: %s ¤Ï¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç½ªÎ»¤·¤Þ¤·¤¿\n"
-#: protoize.c:2128
+#: protoize.c:2077
#, c-format
msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr "%s: ·Ù¹ð: SYSCALLS ¥Õ¥¡¥¤¥ë `%s' ¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: protoize.c:2137 protoize.c:2166
+#: protoize.c:2086 protoize.c:2115
#, c-format
msgid "%s: can't read aux info file `%s': %s\n"
msgstr "%s: Éû info ¥Õ¥¡¥¤¥ë `%s' ¤òÆɤळ¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:2182 protoize.c:2210
+#: protoize.c:2131 protoize.c:2159
#, c-format
msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr "%s: Éû info ¥Õ¥¡¥¤¥ë `%s' ¤Î¾õÂÖ¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:2238
+#: protoize.c:2187
#, c-format
msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr "%s: Éû info ¥Õ¥¡¥¤¥ë `%s' ¤òÆɤ߹þ¤ßÍѤ˳«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:2256
+#: protoize.c:2205
#, c-format
msgid "%s: error reading aux info file `%s': %s\n"
msgstr "%s: Éû info ¥Õ¥¡¥¤¥ë `%s' ¤òÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼: %s\n"
-#: protoize.c:2269
+#: protoize.c:2218
#, c-format
msgid "%s: error closing aux info file `%s': %s\n"
msgstr "%s: Éû info ¥Õ¥¡¥¤¥ë `%s' ¤òÊĤ¸¤Æ¤¤¤ëºÇÃæ¤Ë¥¨¥é¡¼: %s\n"
-#: protoize.c:2285
+#: protoize.c:2234
#, c-format
msgid "%s: can't delete aux info file `%s': %s\n"
msgstr "%s: Éû info ¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:2367 protoize.c:4369
+#: protoize.c:2316 protoize.c:4318
#, c-format
msgid "%s: can't delete file `%s': %s\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:2446
+#: protoize.c:2395
#, c-format
msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
msgstr "%s: ·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤ò `%s' ̾Á°Êѹ¹¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:2571
+#: protoize.c:2520
#, c-format
msgid "%s: conflicting extern definitions of '%s'\n"
msgstr "%s: '%s' ¤Î³°ÉôÄêµÁ¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:2575
+#: protoize.c:2524
#, c-format
msgid "%s: declarations of '%s' will not be converted\n"
msgstr "%s: '%s' ¤ÎÀë¸À¤ÏÊÑ´¹¤µ¤ì¤Þ¤»¤ó\n"
-#: protoize.c:2577
+#: protoize.c:2526
#, c-format
msgid "%s: conflict list for '%s' follows:\n"
msgstr "%s: `%s' ¤ËÂФ¹¤ëÌ·½â°ìÍ÷¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹:\n"
-#: protoize.c:2610
+#: protoize.c:2559
#, c-format
msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr "%s: ·Ù¹ð: %s(%d) ¤«¤é¤Î·Á¼°¥ê¥¹¥È¤ò¡¢´Ø¿ô `%s' ¤Î°Ù¤Ë»È¤¤¤Þ¤¹\n"
-#: protoize.c:2650
+#: protoize.c:2599
#, c-format
msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr "%s: %d: `%s' ¤Ï»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬ SYSCALLS ¤Ë¤¢¤ê¤Þ¤»¤ó\n"
-#: protoize.c:2656
+#: protoize.c:2605
#, c-format
msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr "%s: %d: ·Ù¹ð: `%s' ¤ËÂФ¹¤ë³°ÉôÄêµÁ¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: protoize.c:2687
+#: protoize.c:2636
#, c-format
msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr "%s: ·Ù¹ð: `%s' ¤ÎÀÅŪÄêµÁ¤¬¥Õ¥¡¥¤¥ë `%s' ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó\n"
-#: protoize.c:2693
+#: protoize.c:2642
#, c-format
msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr "%s: `%s' ¤ÎÀÅŪÄêµÁ¤¬¥Õ¥¡¥¤¥ë `%s' ¤ÎÃæ¤Ç½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:2866 protoize.c:2869
+#: protoize.c:2815 protoize.c:2818
#, c-format
msgid "%s: %d: warning: source too confusing\n"
msgstr "%s: %d: ·Ù¹ð: ¥½¡¼¥¹¤¬º®Í𤷤¹¤®¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:3075
+#: protoize.c:3024
#, c-format
msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr "%s: %d: ·Ù¹ð: varargs ´Ø¿ôÀë¸À¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:3090
+#: protoize.c:3039
#, c-format
msgid "%s: declaration of function `%s' not converted\n"
msgstr "%s: ´Ø¿ô `%s' ¤ÎÀë¸À¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:3213
+#: protoize.c:3162
#, c-format
msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr "%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬Â¿¤¹¤®¤Þ¤¹\n"
-#: protoize.c:3234
+#: protoize.c:3183
#, c-format
-msgid "\n%s: warning: too few parameter lists in declaration of `%s'\n"
-msgstr "\n%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬¾¯¤Ê¤¹¤®¤Þ¤¹\n"
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
+msgstr ""
+"\n"
+"%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬¾¯¤Ê¤¹¤®¤Þ¤¹\n"
-#: protoize.c:3332
+#: protoize.c:3281
#, c-format
msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr "%s: %d: ·Ù¹ð: `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿¤¬ `%s' ¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:3510
+#: protoize.c:3459
#, c-format
msgid "%s: local declaration for function `%s' not inserted\n"
msgstr "%s: ´Ø¿ô `%s' ¤Î¥í¡¼¥«¥ëÀë¸À¤¬ÁÞÆþ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:3537
+#: protoize.c:3486
#, c-format
-msgid "\n%s: %d: warning: can't add declaration of `%s' into macro call\n"
-msgstr "\n%s: %d: ·Ù¹ð: `%s' ¤ÎÀë¸À¤ò¥Þ¥¯¥í¸Æ¤Ó½Ð¤·¤ËÄɲäǤ­¤Þ¤»¤ó\n"
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
+msgstr ""
+"\n"
+"%s: %d: ·Ù¹ð: `%s' ¤ÎÀë¸À¤ò¥Þ¥¯¥í¸Æ¤Ó½Ð¤·¤ËÄɲäǤ­¤Þ¤»¤ó\n"
-#: protoize.c:3611
+#: protoize.c:3560
#, c-format
msgid "%s: global declarations for file `%s' not inserted\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤ÎÂç°èÀë¸À¤¬ÁÞÆþ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:3702 protoize.c:3732
+#: protoize.c:3651 protoize.c:3681
#, c-format
msgid "%s: definition of function `%s' not converted\n"
msgstr "%s: ´Ø¿ô `%s' ¤ÎÄêµÁ¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:3721
+#: protoize.c:3670
#, c-format
msgid "%s: %d: warning: definition of %s not converted\n"
msgstr "%s: %d: ·Ù¹ð: %s ¤ÎÄêµÁ¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:4051
+#: protoize.c:4000
#, c-format
msgid "%s: found definition of `%s' at %s(%d)\n"
msgstr "%s: `%s' ¤ÎÄêµÁ¤¬ %s(%d) ¤Ë¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
#. If we make it here, then we did not know about this
#. function definition.
-#: protoize.c:4067
+#: protoize.c:4016
#, c-format
msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr "%s: %d: ·Ù¹ð: `%s' ¤Ï¥×¥ê¥×¥í¥»¥¹¤«¤é½ü³°¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:4070
+#: protoize.c:4019
#, c-format
msgid "%s: function definition not converted\n"
msgstr "%s: ´Ø¿ô¤ÎÄêµÁ¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:4129
+#: protoize.c:4078
#, c-format
msgid "%s: `%s' not converted\n"
msgstr "%s: `%s' ¤ÏÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: protoize.c:4137
+#: protoize.c:4086
#, c-format
msgid "%s: would convert file `%s'\n"
msgstr "%s: `%s' ¤òÊÑ´¹¤·¤Þ¤¹\n"
-#: protoize.c:4140
+#: protoize.c:4089
#, c-format
msgid "%s: converting file `%s'\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤òÊÑ´¹Ãæ\n"
-#: protoize.c:4150
+#: protoize.c:4099
#, c-format
msgid "%s: can't get status for file `%s': %s\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤Î¾õÂÖ¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:4192
+#: protoize.c:4141
#, c-format
msgid "%s: can't open file `%s' for reading: %s\n"
msgstr "%s: Æɤ߹þ¤ßÍѤ˥ե¡¥¤¥ë `%s' ¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:4207
+#: protoize.c:4156
#, c-format
-msgid "\n%s: error reading input file `%s': %s\n"
-msgstr "\n%s: ÆþÎÏ¥Õ¥¡¥¤¥ë `%s' ¤òÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼: %s\n"
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
+msgstr ""
+"\n"
+"%s: ÆþÎÏ¥Õ¥¡¥¤¥ë `%s' ¤òÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼: %s\n"
-#: protoize.c:4241
+#: protoize.c:4190
#, c-format
msgid "%s: can't create/open clean file `%s': %s\n"
msgstr "%s: ¤­¤ì¤¤¤Ê¥Õ¥¡¥¤¥ë `%s' ¤òºîÀ®/¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:4346
+#: protoize.c:4295
#, c-format
msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr "%s: ·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤Ï´û¤Ë `%s' ¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
-#: protoize.c:4354
+#: protoize.c:4303
#, c-format
msgid "%s: can't link file `%s' to `%s': %s\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤ò `%s' ¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:4384
+#: protoize.c:4333
#, c-format
msgid "%s: can't create/open output file `%s': %s\n"
msgstr "%s: ½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤òºîÀ®¤·¤¿¤ê³«¤¤¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:4417
+#: protoize.c:4366
#, c-format
msgid "%s: can't change mode of file `%s': %s\n"
msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤Î¥â¡¼¥É¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó: %s\n"
-#: protoize.c:4592
+#: protoize.c:4541
#, c-format
msgid "%s: cannot get working directory: %s\n"
msgstr "%s: ºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤¬Ê¬¤«¤ê¤Þ¤»¤ó: %s\n"
-#: protoize.c:4690
+#: protoize.c:4639
#, c-format
msgid "%s: input file names must have .c suffixes: %s\n"
msgstr "%s: ÆþÎÏ¥Õ¥¡¥¤¥ë̾¤Ë¤Ï³ÈÄ¥»Ò .c ¤¬¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó: %s\n"
-#: real.c:816 real.c:993
-msgid "conversion from NaN to int"
-msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-
-#: real.c:839
-msgid "conversion from NaN to unsigned int"
-msgstr "NaN ¤«¤éÉä¹ç̵¤·À°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-
-#: real.c:2714
-msgid "floating point overflow"
-msgstr "ÉâÆ°¾®¿ôÅÀ¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: real.c:4354 real.c:6626 real.c:6707
-msgid "overflow on truncation to integer"
-msgstr "À°¿ô¤Ø¤ÎÀÚ¤êµÍ¤á¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤³¤ê¤Þ¤·¤¿"
-
-#: real.c:4426
-msgid "overflow on truncation to unsigned integer"
-msgstr "Éä¹ç̵¤·À°¿ô¤Ø¤ÎÀÚ¤êµÍ¤á¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤³¤ê¤Þ¤·¤¿"
-
-#: real.c:5767
-#, c-format
-msgid "%s: argument domain error"
-msgstr "%s: °ú¿ôÎΰ襨¥é¡¼¤Ç¤¹"
-
-#: real.c:5768
-#, c-format
-msgid "%s: function singularity"
-msgstr "%s: ´Ø¿ô¤Îñ°ìÀ­"
-
-#: real.c:5769
-#, c-format
-msgid "%s: overflow range error"
-msgstr "%s: ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ÈÏ°Ï¥¨¥é¡¼"
-
-#: real.c:5770
-#, c-format
-msgid "%s: underflow range error"
-msgstr "%s: ¥¢¥ó¥À¡¼¥Õ¥í¡¼ÈÏ°Ï¥¨¥é¡¼"
-
-#: real.c:5771
-#, c-format
-msgid "%s: total loss of precision"
-msgstr "%s: Á´ÂÎŪ¤ÊÀºÅÙ¤ÎÄã²¼"
-
-#: real.c:5772
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr "%s: ÉôʬŪ¤ÊÀºÅÙ¤ÎÄã²¼"
-
-#: real.c:5773
-#, c-format
-msgid "%s: NaN - producing operation"
-msgstr "%s: NaN - Áàºî¤òÀ¸¤¸¤Þ¤¹"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr ""
-#: reg-stack.c:677
+#: reg-stack.c:673
#, fuzzy, c-format
msgid "output constraint %d must specify a single register"
msgstr "½ÐÎÏÀ©Ìó %d ¤Ï°ì¤Ä¤Î¥ì¥¸¥¹¥¿¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: reg-stack.c:687
+#: reg-stack.c:683
#, fuzzy, c-format
msgid "output constraint %d cannot be specified together with \"%s\" clobber"
msgstr "½ÐÎÏÀ©Ìó %d ¤Ï°ì¤Ä¤Î¥ì¥¸¥¹¥¿¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: reg-stack.c:710
+#: reg-stack.c:706
#, fuzzy
msgid "output regs must be grouped at top of stack"
msgstr "½ÐÎϥ쥸¥¹¥¿¤Ï¥¹¥¿¥Ã¥¯¤Î¥È¥Ã¥×¤Ë¥°¥ë¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: reg-stack.c:747
+#: reg-stack.c:743
#, fuzzy
msgid "implicitly popped regs must be grouped at top of stack"
msgstr "°ÅÌÛ¤Ë pop ¤µ¤ì¤ë¥ì¥¸¥¹¥¿¤Ï¥¹¥¿¥Ã¥¯¤Î¥È¥Ã¥×¤Ë¥°¥ë¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: reg-stack.c:766
+#: reg-stack.c:762
#, fuzzy, c-format
msgid "output operand %d must use `&' constraint"
msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É %d ¤Ï `&' À©Ìó¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: regclass.c:778
+#: regclass.c:753
#, c-format
msgid "can't use '%s' as a %s register"
msgstr "'%s' ¤ò %s ¤Î¥ì¥¸¥¹¥¿¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: regclass.c:793 config/ia64/ia64.c:3852 config/ia64/ia64.c:3859
+#: regclass.c:768 config/ia64/ia64.c:4169 config/ia64/ia64.c:4176
#, c-format
msgid "unknown register name: %s"
msgstr "ÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹: %s"
-#: regclass.c:804
+#: regclass.c:779
msgid "global register variable follows a function definition"
msgstr "Âç°è register ÊÑ¿ô¤¬´Ø¿ôÄêµÁ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
-#: 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:1735
+#: regrename.c:1899
#, c-format
msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr ""
-#: regrename.c:1747
+#: regrename.c:1911
#, c-format
msgid "validate_value_data: Loop in regno chain (%u)"
msgstr ""
-#: regrename.c:1750
+#: regrename.c:1914
#, c-format
msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr ""
-#: regrename.c:1762
+#: regrename.c:1926
#, c-format
msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr ""
-#: reload.c:1207
+#: reload.c:1225
msgid "cannot reload integer constant operand in `asm'"
msgstr "À°¿ôÄê¿ô¥ª¥Ú¥é¥ó¥É¤ò `asm' Æâ¤ÇºÆ¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó"
-#: reload.c:1229
+#: reload.c:1247
msgid "impossible register constraint in `asm'"
msgstr "`asm' Æâ¤Ç¤Ï¥ì¥¸¥¹¥¿À©Ìó¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
-#: reload.c:3387
+#: reload.c:3467
msgid "`&' constraint used with no register class"
msgstr "`&' À©Ì󤬥쥸¥¹¥¿¥¯¥é¥¹Ìµ¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: reload.c:3555
+#: reload.c:3635
#, fuzzy
msgid "unable to generate reloads for:"
msgstr "¥³¡¼¥É¤¬À¸À®¤µ¤ì¤ë CPU ¤òÁªÂò¤¹¤ë"
-#: reload.c:3556 reload.c:3770
+#: reload.c:3636 reload.c:3850
msgid "inconsistent operand constraints in an `asm'"
msgstr "`asm' Æâ¤Ç¤Î¥ª¥Ú¥é¥ó¥ÉÀ©Ìó¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
-#: reload1.c:1242
+#: reload1.c:1255
msgid "frame size too large for reliable stack checking"
msgstr "¥Õ¥ì¡¼¥à¥µ¥¤¥º¤¬Â礭¤¹¤®¤Æ¡¢¥¹¥¿¥Ã¥¯¸¡ºº¤¬¿®Íê¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹"
-#: reload1.c:1245
+#: reload1.c:1258
msgid "try reducing the number of local variables"
msgstr "¥í¡¼¥«¥ëÊÑ¿ô¤Î¿ô¤òºï¸º¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤"
-#: reload1.c:1892
+#: reload1.c:1914
#, fuzzy, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr "¥¯¥é¥¹ `%s' Æâ¤Î¥ì¥¸¥¹¥¿¤ò `asm' ºÆ¥í¡¼¥ÉÃæ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó"
-#: reload1.c:1896
+#: reload1.c:1918
#, fuzzy, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr "¥¯¥é¥¹ `%s' Æâ¤Ç¤Õ¤ë¤¤Íî¤È¤¹¥ì¥¸¥¹¥¿¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó"
-#: reload1.c:1898
+#: reload1.c:1920
msgid "this is the insn:"
msgstr ""
-#: reload1.c:3924
+#: reload1.c:3941
msgid "`asm' operand requires impossible reload"
msgstr "`asm' ¥ª¥Ú¥é¥ó¥É¤ÏºÆ¥í¡¼¥É¤Ç¤­¤Ê¤¤»ö¤¬Í׵ᤵ¤ì¤Þ¤¹"
#. It's the compiler's fault.
-#: reload1.c:5040
+#: reload1.c:5055
#, fuzzy
msgid "could not find a spill register"
msgstr "spec ¥Õ¥¡¥¤¥ë %s ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
-#: reload1.c:5045
+#: reload1.c:5060
msgid "`asm' operand constraint incompatible with operand size"
msgstr "`asm' ¥ª¥Ú¥é¥ó¥ÉÀ©Ì󤬥ª¥Ú¥é¥ó¥É¥µ¥¤¥º¤ÈÀ°¹ç¤·¤Þ¤»¤ó"
#. It's the compiler's fault.
-#: reload1.c:6636
+#: reload1.c:6680
#, fuzzy
msgid "VOIDmode on an output"
msgstr "½ÐÎÏÃæ¤Ë I/O ¥¨¥é¡¼¤¬È¯À¸"
-#: reload1.c:6637
+#: reload1.c:6681
msgid "output operand is constant in `asm'"
msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É¤¬ `asm' Æâ¤ÇÄê¿ô¤Ç¤¹"
-#: rtl-error.c:139
+#: rtl-error.c:140
#, fuzzy
msgid "unrecognizable insn:"
msgstr "ǧ¼±ÉÔǽ¤ÊÌ¿Îá:"
-#: rtl-error.c:141
+#: rtl-error.c:142
#, fuzzy
msgid "insn does not satisfy its constraints:"
msgstr "Ì¿Î᤬¤½¤ÎÀ©Ìó¤òËþ¤¿¤·¤Þ¤»¤ó"
-#: rtl.c:707
+#: 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 ¸¡ºº: elt %d(%s) ¤¬ºÇ¸å¤Î elt %d(%s Ãæ) ¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
-#: rtl.c:722
+#: rtl.c:573
#, c-format
msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr "RTL ¸¡ºº: elt %d ·¿¤Ï '%c' ¤Î¤Ï¤º¤Ê¤Î¤Ë '%c' (rtx %s, %s Ãæ)¤Ç¤¹ (%s:%d)"
-#: rtl.c:738
+#: 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 ¸¡ºº: elt %d ·¿¤Ï '%c' ¤« '%c' ¤Î¤Ï¤º¤Ê¤Î¤Ë '%c' (rtx %s, %s Ãæ) ¤Ç¤¹ (%s:%d)"
-#: rtl.c:751
+#: rtl.c:602
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr "RTL ¸¡ºº: ¥³¡¼¥É `%s' ¤Î¤Ï¤º¤Ê¤Î¤Ë `%s' (%s Ãæ)¤Ç¤¹ (%s:%d)"
-#: rtl.c:765
+#: rtl.c:616
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr "RTL ¸¡ºº: ¥³¡¼¥É `%s' ¤« `%s' ¤Î¤Ï¤º¤Ê¤Î¤Ë `%s' (%s Ãæ)¤Ç¤¹ (%s:%d)"
-#: rtl.c:780
+#: rtl.c:631
#, c-format
msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
msgstr "RTL check: ¥Ù¥¯¥È¥ë¤Î elt %d ¤òºÇ¸å¤Î elt %d (%s Ãæ)¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
-#: stmt.c:924
+#: rtl.c:646
+#, fuzzy, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr "RTL ¸¡ºº: ¥³¡¼¥É `%s' ¤Î¤Ï¤º¤Ê¤Î¤Ë `%s' (%s Ãæ)¤Ç¤¹ (%s:%d)"
+
+#: stmt.c:753
#, c-format
msgid "jump to `%s' invalidly jumps into binding contour"
msgstr "`%s' ¤Ø¤Î¥¸¥ã¥ó¥×¤ÏÅ»¤á¤é¤ì¤¿¥Ö¥í¥Ã¥¯Æâ¤Ø¡¢Ìµ¸ú¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
-#: stmt.c:1160 stmt.c:3816
+#: stmt.c:989 stmt.c:3731
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr "¥é¥Ù¥ë `%s' ¤¬Å»¤á¤é¤ì¤¿¥Ö¥í¥Ã¥¯¤ò¹½À®¤¹¤ëÁ°¤Ë»È¤ï¤ì¤Þ¤·¤¿"
-#: stmt.c:1345
+#: stmt.c:1169
msgid "output operand constraint lacks `='"
msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥ÉÀ©Ìó¤Ë `=' ¤¬·ç¤±¤Æ¤¤¤Þ¤¹"
-#: stmt.c:1360
+#: stmt.c:1184
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr "½ÐÎÏÀ©Ìó `%c' (operand %d ÍÑ) ¤¬³«»ÏÉôʬ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: stmt.c:1382
+#: stmt.c:1206
#, fuzzy
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr "¥ª¥Ú¥é¥ó¥ÉÀ©ÌóÃæ¡¢ÉÔÀµ¤Ê°ÌÃÖ¤Ë '+' ¤ä '=' ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"
-#: stmt.c:1388 stmt.c:1672
+#: stmt.c:1212 stmt.c:1316
#, c-format
msgid "`%%' constraint used with last operand"
msgstr "`%%' À©Ì󤬺Ǹå¤Î¥ª¥Ú¥é¥ó¥É¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
-#: stmt.c:1407
+#: stmt.c:1231
msgid "matching constraint not valid in output operand"
msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥ÉÆâ¤ÎÀ©Ìó¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: stmt.c:1522
-#, c-format
-msgid "unknown register name `%s' in `asm'"
-msgstr "`asm' Ãæ¤ËÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾ `%s' ¤¬¤¢¤ê¤Þ¤¹"
-
-#: stmt.c:1580
-#, c-format
-msgid "output number %d not directly addressable"
-msgstr "½ÐÎÏÈÖ¹æ %d ¤ÏľÀÜ¥¢¥É¥ì¥¹»ØÄê¤Ç¤­¤Þ¤»¤ó"
-
-#: stmt.c:1608
-#, c-format
-msgid "more than %d operands in `asm'"
-msgstr "`asm' ¤ÎÃæ¤Ë %d ¤ò±Û¤¨¤ë¥ª¥Ú¥é¥ó¥É¤¬¤¢¤ê¤Þ¤¹"
-
-#: stmt.c:1646
-#, c-format
-msgid "hard register `%s' listed as input operand to `asm'"
-msgstr "¥Ï¡¼¥É¥ì¥¸¥¹¥¿ `%s' ¤¬ `asm' ¤ËÂФ·¡¢ÆþÎÏ¥ª¥Ú¥é¥ó¥É¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤Þ¤·¤¿"
-
-#: stmt.c:1662
+#: stmt.c:1307
#, c-format
msgid "input operand constraint contains `%c'"
msgstr "ÆþÎÏ¥ª¥Ú¥é¥ó¥ÉÀ©Ìó¤¬ `%c' ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-#: stmt.c:1703
+#: stmt.c:1347
msgid "matching constraint references invalid operand number"
msgstr "À©Ìó¤ËŬ¹ç¤µ¤»¤ë»þ¤Ë¡¢Ìµ¸ú¤Ê¥ª¥Ú¥é¥ó¥ÉÈÖ¹æ¤ò»²¾È¤·¤Þ¤·¤¿"
-#: stmt.c:1734
+#: stmt.c:1379
#, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr "̵¸ú¤Ê¶çÆÉÅÀ `%c' ¤¬À©ÌóÆâ¤Ë¤¢¤ê¤Þ¤¹"
+#: stmt.c:1429
+#, fuzzy, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "`%s' ¤Î·¿½¤¾þ»Ò¤¬Á°Êý¤ÎÀë¸À¤ÈÌ·½â¤·¤Þ¤¹"
+
+#: stmt.c:1519
+#, c-format
+msgid "unknown register name `%s' in `asm'"
+msgstr "`asm' Ãæ¤ËÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾ `%s' ¤¬¤¢¤ê¤Þ¤¹"
+
+#: stmt.c:1567
+#, c-format
+msgid "more than %d operands in `asm'"
+msgstr "`asm' ¤ÎÃæ¤Ë %d ¤ò±Û¤¨¤ë¥ª¥Ú¥é¥ó¥É¤¬¤¢¤ê¤Þ¤¹"
+
+#: stmt.c:1626
+#, c-format
+msgid "output number %d not directly addressable"
+msgstr "½ÐÎÏÈÖ¹æ %d ¤ÏľÀÜ¥¢¥É¥ì¥¹»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
#. ??? Leave this only until we have experience with what
#. happens in combine and elsewhere when constraints are
#. not satisfied.
-#: stmt.c:1768 stmt.c:1798
+#: stmt.c:1698 stmt.c:1727
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr "asm ¥ª¥Ú¥é¥ó¥É %d ¤Ï¶²¤é¤¯À©Ìó¤ËŬ¹ç¤·¤Þ¤»¤ó"
-#: stmt.c:1944
+#: 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 "`asm' Ãæ¤ÎÂåÂØ¥­¡¼¥ï¡¼¥É¤¬Â¿¤¹¤®¤Þ¤¹"
-#: stmt.c:1956
+#: stmt.c:1910
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr "`asm' ¤Î¥ª¥Ú¥é¥ó¥ÉÀ©Ìó¤¬ÂåÂØÈÖ¹æ¤È¤Ï°Û¤Ê¤ê¤Þ¤¹"
-#: stmt.c:2009
+#: stmt.c:1963
#, fuzzy, c-format
msgid "duplicate asm operand name '%s'"
msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
-#: stmt.c:2088
+#: stmt.c:2050
msgid "missing close brace for named operand"
msgstr ""
-#: stmt.c:2108
+#: stmt.c:2078
#, fuzzy, c-format
msgid "undefined named operand '%s'"
msgstr "ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤±é»»»Ò %s ¤Ç¤¹"
-#: stmt.c:3753
+#: stmt.c:3668
#, c-format
msgid "unused variable `%s'"
msgstr "ÊÑ¿ô `%s' ¤Ï»È¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
-#: stmt.c:5205
+#: stmt.c:5149
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr "ÎóµóÃÍ `%s' ¤Ï switch Æâ¤Ç°·¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: stmt.c:5231 stmt.c:5251
+#: stmt.c:5174 stmt.c:5194
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr "case ÃÍ `%ld' ¤ÏÎóµó·¿¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: stmt.c:5234 stmt.c:5254
+#: stmt.c:5177 stmt.c:5197
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr "case ÃÍ `%ld' ¤ÏÎóµó·¿ `%s' ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: stor-layout.c:172
+#: stmt.c:5270
+#, fuzzy
+msgid "switch missing default case"
+msgstr "¤³¤ì¤¬ºÇ½é¤Î default ¥é¥Ù¥ë¤Ç¤¹"
+
+#: stor-layout.c:178
msgid "type size can't be explicitly evaluated"
msgstr "·¿¤ÎÂ礭¤µ¤ÏÌÀ¼¨Åª¤Ëɾ²Á¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤¨¤Þ¤»¤ó"
-#: stor-layout.c:174
+#: stor-layout.c:180
msgid "variable-size type declared outside of any function"
msgstr "ÊÑ¿ô¥µ¥¤¥º·¿¤¬´Ø¿ô¤Î³°Â¦¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: stor-layout.c:447
+#: stor-layout.c:461
#, c-format
msgid "size of `%s' is %d bytes"
msgstr "`%s' ¤Î¥µ¥¤¥º¤¬ %d ¥Ð¥¤¥È¤Ç¤¹"
-#: stor-layout.c:449
+#: stor-layout.c:463
#, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr "`%s' ¤Î¥µ¥¤¥º¤¬ %d ¥Ð¥¤¥È¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: stor-layout.c:828 stor-layout.c:1081
+#: stor-layout.c:869 stor-layout.c:1285
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr "packed °À­¤Ï `%s' ¤ËÂФ·¤ÆÉÔ¸úΨ¤Ê¥¢¥é¥¤¥ó¥á¥ó¥È¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
-#: stor-layout.c:830 stor-layout.c:1083
+#: stor-layout.c:871 stor-layout.c:1287
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr "packed °À­¤Ï `%s' ¤Ë¤ÏɬÍפ¢¤ê¤Þ¤»¤ó"
-#: stor-layout.c:845
+#: stor-layout.c:886
#, c-format
msgid "padding struct to align `%s'"
msgstr "`%s' ¤ò¥¢¥é¥¤¥ó¤¹¤ë¤¿¤á¤Ë¹½Â¤ÂΤò¥Ñ¥Ç¥£¥ó¥°¤·¤Þ¤¹"
-#: stor-layout.c:1045
+#: stor-layout.c:1249
msgid "padding struct size to alignment boundary"
msgstr "¥¢¥é¥¤¥ó¥á¥ó¥È¶­³¦¤Î¥µ¥¤¥º¤Ë¹½Â¤ÂΤò¥Ñ¥Ç¥£¥ó¥°¤·¤Þ¤¹"
-#: stor-layout.c:1088
+#: stor-layout.c:1292
msgid "packed attribute causes inefficient alignment"
msgstr "packed °À­¤ÏÉÔ¸úΨ¤Ê¥¢¥é¥¤¥ó¥á¥ó¥È¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
-#: stor-layout.c:1090
+#: stor-layout.c:1294
msgid "packed attribute is unnecessary"
msgstr "packed °À­¤ÏɬÍפ¢¤ê¤Þ¤»¤ó"
#: timevar.c:448
-msgid "\nExecution times (seconds)\n"
-msgstr "\n¼Â¹Ô²ó¿ô (ÉÃ)\n"
+msgid ""
+"\n"
+"Execution times (seconds)\n"
+msgstr ""
+"\n"
+"¼Â¹Ô²ó¿ô (ÉÃ)\n"
#. Print total time.
#: timevar.c:498
@@ -6610,853 +7108,916 @@ msgstr " ¹ç·× :"
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr "%s ¤Ç¤Î»þ´Ö: %ld.%06ld (%ld%%)\n"
-#: tlink.c:428
+#: tlink.c:399
#, c-format
msgid "collect: reading %s\n"
msgstr "collect: %s ¤òÆɤ߹þ¤ß¤Þ¤¹\n"
-#: tlink.c:532
+#: tlink.c:502
#, c-format
msgid "collect: recompiling %s\n"
msgstr "collect: %s ¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹\n"
-#: tlink.c:698
+#: tlink.c:668
#, c-format
msgid "collect: tweaking %s in %s\n"
msgstr "collect: %s ¤ò°ú¤ÃÄ¥¤ê¤Þ¤¹(%s Æâ)\n"
-#: tlink.c:745
+#: tlink.c:715
msgid "collect: relinking\n"
msgstr "collect: ºÆ¥ê¥ó¥¯¤·¤Þ¤¹\n"
-#: tlink.c:754
+#: tlink.c:724
#, c-format
msgid "ld returned %d exit status"
msgstr "ld ¤Ï¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç½ªÎ»¤·¤Þ¤·¤¿"
-#: toplev.c:917
+#: toplev.c:920
msgid "Generate debugging info in default format"
msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:918
+#: toplev.c:921
msgid "Generate debugging info in default extended format"
msgstr "¥Ç¥Õ¥©¥ë¥È³ÈÄ¥·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:920
+#: toplev.c:923
msgid "Generate STABS format debug info"
msgstr "STABS ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:921
+#: toplev.c:924
msgid "Generate extended STABS format debug info"
msgstr "³ÈÄ¥ STABS ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:924
+#: toplev.c:927
msgid "Generate DWARF-1 format debug info"
msgstr "DWARF-1 ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:926
+#: toplev.c:929
msgid "Generate extended DWARF-1 format debug info"
msgstr "³ÈÄ¥ DWARF-1 ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:929
+#: toplev.c:932
msgid "Generate DWARF-2 debug info"
msgstr "DWARF-2 ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:932
+#: toplev.c:935
msgid "Generate XCOFF format debug info"
msgstr "XCOFF ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:933
+#: toplev.c:936
msgid "Generate extended XCOFF format debug info"
msgstr "³ÈÄ¥ XCOFF ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:936
+#: toplev.c:939
msgid "Generate COFF format debug info"
msgstr "COFF ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
-#: toplev.c:980
+#: toplev.c:942
+#, fuzzy
+msgid "Generate VMS format debug info"
+msgstr "STABS ·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+#: toplev.c:981
#, fuzzy
msgid "Perform DWARF2 duplicate elimination"
msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
-#: toplev.c:982
+#: toplev.c:983
msgid "Do not store floats in registers"
msgstr "¥ì¥¸¥¹¥¿¤ËÉâÆ°¾®¿ô¤ò³ÊǼ¤·¤Ê¤¤"
-#: toplev.c:984
+#: toplev.c:985
msgid "Consider all mem refs through pointers as volatile"
msgstr "¥Ý¥¤¥ó¥¿·Ðͳ¤Î¥á¥â¥ê»²¾È¤òÁ´¤Æ volatile ¤È¤ß¤Ê¤¹"
-#: toplev.c:986
+#: toplev.c:987
msgid "Consider all mem refs to global data to be volatile"
msgstr "Âç°è¥Ç¡¼¥¿¤Ø¤Î¥á¥â¥ê»²¾È¤òÁ´¤Æ volatile ¤È¤ß¤Ê¤¹"
-#: toplev.c:988
+#: toplev.c:989
msgid "Consider all mem refs to static data to be volatile"
msgstr "ÀÅŪ¥Ç¡¼¥¿¤Ø¤Î¥á¥â¥ê»²¾È¤òÁ´¤Æ volatile ¤È¤ß¤Ê¤¹"
-#: toplev.c:990
+#: toplev.c:991
msgid "Defer popping functions args from stack until later"
msgstr "´Ø¿ô°ú¿ô¤ò¥¹¥¿¥Ã¥¯¤«¤é pop ¤¹¤ë¤Î¤ò¸Æ¤Ó½Ð¤·¸å¤Þ¤ÇÃ٤餻¤ë"
-#: toplev.c:992
+#: toplev.c:993
msgid "When possible do not generate stack frames"
msgstr "²Äǽ¤Ê¾ì¹ç¡¢¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Ê¤¤"
-#: toplev.c:994
+#: toplev.c:995
msgid "Optimize sibling and tail recursive calls"
msgstr "sibling ¸Æ¤Ó½Ð¤·¤äËöÈøºÆµ¢¸Æ¤Ó½Ð¤·¤òºÇŬ²½¤¹¤ë"
-#: toplev.c:996
+#: toplev.c:997
+msgid "Perform superblock formation via tail duplication"
+msgstr ""
+
+#: toplev.c:999
msgid "When running CSE, follow jumps to their targets"
msgstr "CSE ¤ÇÆ°ºî¤¹¤ë¤È¤­¡¢¤½¤ì¤é¤Î¥¿¡¼¥²¥Ã¥È¤Ø¤Î¥¸¥ã¥ó¥×¤ËÄɿ魯¤ë"
-#: toplev.c:998
+#: toplev.c:1001
msgid "When running CSE, follow conditional jumps"
msgstr "CSE ¤ÇÆ°ºî¤¹¤ë¤È¤­¡¢¾ò·ï¥¸¥ã¥ó¥×¤ËÄɿ魯¤ë"
-#: toplev.c:1000
+#: toplev.c:1003
#, fuzzy
msgid "Perform a number of minor, expensive optimizations"
msgstr "ÌÜΩ¤¿¤Ê¤¤¡¢¥³¥¹¥È¤Î¤«¤«¤ëºÇŬ²½¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1002
+#: toplev.c:1005
#, fuzzy
msgid "Perform jump threading optimizations"
msgstr "¥¸¥ã¥ó¥×ʬ´ôºÇŬ²½¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1004
+#: toplev.c:1007
#, fuzzy
msgid "Perform strength reduction optimizations"
msgstr "¶¯Åٺ︺ºÇŬ²½¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1006
+#: toplev.c:1009
msgid "Perform loop unrolling when iteration count is known"
msgstr "È¿Éü²ó¿ô¤¬´ûÃΤΤȤ­¡¢¥ë¡¼¥×Ÿ³«¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1008
+#: toplev.c:1011
msgid "Perform loop unrolling for all loops"
msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤Ç¥ë¡¼¥×Ÿ³«¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1010
+#: toplev.c:1013
msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr ""
-#: toplev.c:1012
+#: toplev.c:1015
msgid "Force all loop invariant computations out of loops"
msgstr "¥ë¡¼¥×Ãæ¤ËÉÔÊѤʷ׻»¤ò¥ë¡¼¥×¤Î³°¤Ë°ÜÆ°¤¹¤ë"
-#: toplev.c:1014
+#: toplev.c:1017
msgid "Strength reduce all loop general induction variables"
msgstr "¥ë¡¼¥×¤ÎÃæ¤ÎÁ´¤Æ¤Î°ìÈÌͶƳÊÑ¿ô¤ò¶¯Åٺ︺¤¹¤ë"
-#: toplev.c:1016
+#: toplev.c:1019
msgid "Store strings in writable data section"
msgstr "ʸ»úÎó¤ò½ñ¤­¹þ¤ß²Äǽ¥Ç¡¼¥¿¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤¹¤ë"
-#: toplev.c:1018
+#: toplev.c:1021
#, fuzzy
msgid "Enable machine specific peephole optimizations"
msgstr "µ¡¼ï¸ÇÍ­¤ÎÇÁ¤­·êºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1020
+#: toplev.c:1023
msgid "Copy memory operands into registers before using"
msgstr "¥á¥â¥ê¥ª¥Ú¥é¥ó¥É¤òÍøÍѤ¹¤ëÁ°¤Ë¥ì¥¸¥¹¥¿¤Ø¥³¥Ô¡¼¤¹¤ë"
-#: toplev.c:1022
+#: toplev.c:1025
msgid "Copy memory address constants into regs before using"
msgstr "¥á¥â¥ê¥¢¥É¥ì¥¹Äê¿ô¤òÍøÍѤ¹¤ëÁ°¤Ë¥ì¥¸¥¹¥¿¤Ø¥³¥Ô¡¼¤¹¤ë"
-#: toplev.c:1024
+#: toplev.c:1027
msgid "Allow function addresses to be held in registers"
msgstr "´Ø¿ô¥¢¥É¥ì¥¹¤ò¥ì¥¸¥¹¥¿¤Ë»ý¤¿¤»¤ë»ö¤òµö²Ä¤¹¤ë"
-#: toplev.c:1026
+#: toplev.c:1029
msgid "Integrate simple functions into their callers"
msgstr "ñ½ã¤Ê´Ø¿ô¤ò¸Æ¤Ó½Ð¤·Â¦¤ËÅý¹ç¤¹¤ë"
-#: toplev.c:1028
+#: toplev.c:1031
msgid "Generate code for funcs even if they are fully inlined"
msgstr "Á´¤Æ¥¤¥ó¥é¥¤¥ó¤È¤µ¤ì¤¿¤È¤·¤Æ¤â´Ø¿ô¤Î¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: toplev.c:1030
+#: toplev.c:1033
msgid "Pay attention to the 'inline' keyword"
msgstr "'inline' ¥­¡¼¥ï¡¼¥É¤ËÃí°Õ¤òʧ¤¦"
-#: toplev.c:1032
+#: toplev.c:1035
msgid "Emit static const variables even if they are not used"
msgstr "»ÈÍѤµ¤ì¤Ê¤¤ÀÅŪÄê¿ôÊÑ¿ô¤Ç¤¢¤Ã¤Æ¤â½ÐÎϤ¹¤ë"
-#: toplev.c:1034
+#: toplev.c:1037
msgid "Check for syntax errors, then stop"
msgstr "ʸˡ¥¨¥é¡¼¤ò¸¡½Ð¤·¤Æ¡¢¤½¤³¤ÇÄä»ß¤¹¤ë"
-#: toplev.c:1036
+#: toplev.c:1039
msgid "Mark data as shared rather than private"
msgstr "¥Ç¡¼¥¿¤ò¥×¥é¥¤¥Ù¡¼¥È¤Ç¤Ï¤Ê¤¯¶¦Í­¤µ¤ì¤ë¤è¤¦¥Þ¡¼¥¯¤¹¤ë"
-#: toplev.c:1038
+#: toplev.c:1041
msgid "Enable saving registers around function calls"
msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁ°¸å¤Ç¥ì¥¸¥¹¥¿¤ÎÊݸ¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1040
+#: toplev.c:1043
msgid "Return 'short' aggregates in memory, not registers"
msgstr "'¾®¤µ¤Ê' ½¸¹çÂΤò¥ì¥¸¥¹¥¿¤Ç¤Ï¤Ê¤¯¥á¥â¥ê¤Ë³ÊǼ¤·¤ÆÊÖ¤¹"
-#: toplev.c:1042
+#: toplev.c:1045
msgid "Return 'short' aggregates in registers"
msgstr "'¾®¤µ¤Ê' ½¸¹çÂΤò¥ì¥¸¥¹¥¿¤Ë³ÊǼ¤·¤ÆÊÖ¤¹"
-#: toplev.c:1044
+#: toplev.c:1047
msgid "Attempt to fill delay slots of branch instructions"
msgstr "ʬ´ôÌ¿Îá¤ÎÃٱ䥹¥í¥Ã¥È¤ò»È¤¦¤³¤È¤ò»î¤ß¤ë"
-#: toplev.c:1046
+#: toplev.c:1049
msgid "Perform the global common subexpression elimination"
msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
-#: toplev.c:1048
+#: toplev.c:1051
#, fuzzy
msgid "Perform enhanced load motion during global subexpression elimination"
msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
-#: toplev.c:1050
+#: toplev.c:1053
#, fuzzy
msgid "Perform store motion after global subexpression elimination"
msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
-#: toplev.c:1052
+#: toplev.c:1055
+#, fuzzy
+msgid "Perform the loop optimizations"
+msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
+
+#: toplev.c:1057
+#, fuzzy
+msgid "Perform cross-jumping optimization"
+msgstr "¥¸¥ã¥ó¥×ʬ´ôºÇŬ²½¤ò¹Ô¤Ê¤¦"
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
+msgstr ""
+
+#: toplev.c:1061
+#, fuzzy
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr "¾ò·ïŪ¤Ê¼Â¹Ô¤Ø¤ÎÊѹ¹¤Î¤¿¤á¤ÎïçÃͤòÊѹ¹¤¹¤ë"
+
+#: toplev.c:1063
#, fuzzy
msgid "Run CSE pass after loop optimizations"
msgstr "¥ë¡¼¥×ºÇŬ²½¸å¤Ë¶¦ÄÌÉôʬ¼°½üµî²áÄø¤ò¼Â¹Ô"
-#: toplev.c:1054
+#: toplev.c:1065
#, fuzzy
msgid "Run the loop optimizer twice"
msgstr "¥ë¡¼¥×ºÇŬ²½¤òÆó²ó¼Â¹Ô¤¹¤ë"
-#: toplev.c:1056
+#: toplev.c:1067
msgid "Delete useless null pointer checks"
msgstr "̵°ÕÌ£¤Ê null ¥Ý¥¤¥ó¥¿¸¡ºº¤òºï½ü¤¹¤ë"
-#: toplev.c:1058
-msgid "Pretend that host and target use the same FP format"
-msgstr "¥Û¥¹¥È¤È¥¿¡¼¥²¥Ã¥È¤¬Æ±¤¸ÉâÆ°¾®¿ô·Á¼°¤ò»È¤¦¿¶¤ëÉñ¤¤¤ò¤µ¤»¤ë"
-
-#: toplev.c:1060
+#: toplev.c:1069
msgid "Reschedule instructions before register allocation"
msgstr "¥ì¥¸¥¹¥¿³ÎÊݤÎÁ°¤ËÌ¿Îá¤òÊ¤Ùľ¤¹"
-#: toplev.c:1062
+#: toplev.c:1071
msgid "Reschedule instructions after register allocation"
msgstr "¥ì¥¸¥¹¥¿³ÎÊݤθå¤ÇÌ¿Îá¤òÊ¤Ùľ¤¹"
-#: toplev.c:1064
+#: toplev.c:1073
msgid "Enable scheduling across basic blocks"
msgstr "´ðËÜ¥Ö¥í¥Ã¥¯¤ò¸Ù¤°Ì¿ÎáÇÛÃÖ¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1066
+#: toplev.c:1075
msgid "Allow speculative motion of non-loads"
msgstr "Èó¥í¡¼¥É¤Ç¤ÎÉԳμ¤ÊÆ°ºî¤òµö²Ä¤¹¤ë"
-#: toplev.c:1068
+#: toplev.c:1077
msgid "Allow speculative motion of some loads"
msgstr "¤¤¤¯¤Ä¤«¤Î¥í¡¼¥É¤Ç¤ÎÉԳμ¤ÊÆ°ºî¤òµö²Ä¤¹¤ë"
-#: toplev.c:1070
+#: toplev.c:1079
msgid "Allow speculative motion of more loads"
msgstr "¤è¤ê¿¤¯¤Î¥í¡¼¥É¤Ç¤ÎÉԳμ¤ÊÆ°ºî¤òµö²Ä¤¹¤ë"
-#: toplev.c:1072
+#: toplev.c:1081
msgid "Replace add,compare,branch with branch on count reg"
msgstr "²Ã»»¡¢Èæ³Ó¥Ö¥é¥ó¥Á¤ÎÂå¤ï¤ê¤Ë¥«¥¦¥ó¥È¥ì¥¸¥¹¥¿¤Î¥Ö¥é¥ó¥Á¤ò»È¤¦"
-#: toplev.c:1074
+#: toplev.c:1083
msgid "Generate position independent code, if possible"
msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: toplev.c:1077
+#: toplev.c:1086
msgid "Enable exception handling"
msgstr "Îã³°Ê᪤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1079
+#: toplev.c:1088
msgid "Just generate unwind tables for exception handling"
msgstr "´¬¤­Ìᤷ¤ò¹Ô¤Ê¤¦Îã³°Êä­Íѥơ¼¥Ö¥ë¤òÀ¸À®¤¹¤ë"
-#: toplev.c:1081
+#: toplev.c:1090
#, fuzzy
msgid "Generate unwind tables exact at each instruction boundary"
msgstr "´¬¤­Ìᤷ¤ò¹Ô¤Ê¤¦Îã³°Êä­Íѥơ¼¥Ö¥ë¤òÀ¸À®¤¹¤ë"
-#: toplev.c:1083
+#: toplev.c:1092
msgid "Support synchronous non-call exceptions"
msgstr "Ʊ´üÈó¸Æ¤Ó½Ð¤·Îã³°¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-#: toplev.c:1085
+#: toplev.c:1094
msgid "Insert arc based program profiling code"
msgstr "¥×¥í¥°¥é¥à¤¬¥³¡¼¥É¥×¥í¥Õ¥¡¥¤¥ë¤¹¤ë¸µ¤Ë¤Ê¤ë¸Ì¤òÁÞÆþ¤¹¤ë"
-#: toplev.c:1087
+#: toplev.c:1096
msgid "Create data files needed by gcov"
msgstr "gcov ¤¬É¬ÍפȤ¹¤ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë"
-#: toplev.c:1089
+#: toplev.c:1098
msgid "Use profiling information for branch probabilities"
msgstr "ʬ´ô·ÐÏ©¿ä¬ÍѤΥץí¥Õ¥¡¥¤¥ë¾ðÊó¤òÍøÍѤ¹¤ë"
-#: toplev.c:1091
+#: toplev.c:1100
+#, fuzzy
+msgid "Enable basic program profiling code"
+msgstr "¥×¥í¥°¥é¥à¤¬¥³¡¼¥É¥×¥í¥Õ¥¡¥¤¥ë¤¹¤ë¸µ¤Ë¤Ê¤ë¸Ì¤òÁÞÆþ¤¹¤ë"
+
+#: toplev.c:1102
msgid "Reorder basic blocks to improve code placement"
msgstr "¥³¡¼¥ÉÇÛÃÖ¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤òºÆÀ°Íý¤¹¤ë"
-#: toplev.c:1093
+#: toplev.c:1104
+#, fuzzy
+msgid "Reorder functions to improve code placement"
+msgstr "¥³¡¼¥ÉÇÛÃÖ¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤òºÆÀ°Íý¤¹¤ë"
+
+#: toplev.c:1106
msgid "Do the register renaming optimization pass"
msgstr "ºÇŬ²½²áÄø¤Î¥ì¥¸¥¹¥¿¤Ä¤±ÊѤ¨¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1095
+#: toplev.c:1108
#, fuzzy
msgid "Do the register copy-propagation optimization pass"
msgstr "ºÇŬ²½²áÄø¤Î¥ì¥¸¥¹¥¿¤Ä¤±ÊѤ¨¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1097
+#: toplev.c:1110
#, fuzzy
msgid "Do not put uninitialized globals in the common section"
msgstr "Âç°èÊÑ¿ôÅù¤ò½é´ü²½¤µ¤ì¤Ê¤¤¥³¥â¥ó¥»¥¯¥·¥ç¥ó¤ËÃÖ¤«¤Ê¤¤"
-#: toplev.c:1099
+#: toplev.c:1112
msgid "Do not generate .size directives"
msgstr ".size µ¿»÷Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-#: toplev.c:1101
+#: toplev.c:1114
msgid "place each function into its own section"
msgstr "³Æ¡¹¤Î´Ø¿ô¤ò¤½¤ì¼«¿È¤Î¥»¥¯¥·¥ç¥ó¤ËÇÛÃÖ¤¹¤ë"
-#: toplev.c:1103
+#: toplev.c:1116
msgid "place data items into their own section"
msgstr "¥Ç¡¼¥¿¹àÌܤò¤½¤ì¤é¼«¿È¤Î¥»¥¯¥·¥ç¥ó¤ËÇÛÃÖ¤¹¤ë"
-#: toplev.c:1105
+#: toplev.c:1118
msgid "Add extra commentry to assembler output"
msgstr ";ʬ¤Ê¥³¥á¥ó¥È¤ò¥¢¥»¥ó¥Ö¥é½ÐÎϤËÄɲ乤ë"
-#: toplev.c:1107
+#: toplev.c:1120
#, fuzzy
msgid "Output GNU ld formatted global initializers"
msgstr "GNU ld ·Á¼°¤ÎÂç°è½é´ü²½»Ò¤ò½ÐÎϤ¹¤ë"
-#: toplev.c:1109
+#: toplev.c:1122
#, fuzzy
msgid "Enables a register move optimization"
msgstr "°ÜÆ°Ì¿ÎáºÇŬ²½¥ì¥¸¥¹¥¿¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1111
+#: toplev.c:1124
msgid "Do the full regmove optimization pass"
msgstr "ºÇŬ²½²áÄø¤ÇºÇÂç¸Â¤Î regmove ¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1113
+#: toplev.c:1126
msgid "Pack structure members together without holes"
msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð¤ò·ê¤¬³«¤«¤Ê¤¤¤è¤¦¤Ë¥Ñ¥Ã¥¯¤¹¤ë"
-#: toplev.c:1115
+#: toplev.c:1128
msgid "Insert stack checking code into the program"
msgstr "¥×¥í¥°¥é¥à¤Ë¥¹¥¿¥Ã¥¯¶­³¦¸¡½Ð¥³¡¼¥É¤òÁÞÆþ¤¹¤ë"
-#: toplev.c:1117
+#: toplev.c:1130
msgid "Specify that arguments may alias each other & globals"
msgstr "°ú¿ô¤ÈÂç°è¥Ç¡¼¥¿¤ä¾¤Î°ú¿ô¤ÈÊÌ̾¤Ë¤Ê¤ê¤¦¤ë»ö¤ò»ØÄꤹ¤ë"
-#: toplev.c:1119
+#: toplev.c:1132
msgid "Assume arguments may alias globals but not each other"
msgstr "°ú¿ô¤ÈÂç°è¥Ç¡¼¥¿¤ÏÊÌ̾¤Ë¤Ê¤ê¤¦¤ë¤¬Â¾¤Î°ú¿ô¤È¤ÏÊÌ̾¤Ç¤Ï¤Ê¤¤¤È¤ß¤Ê¤¹"
-#: toplev.c:1121
+#: toplev.c:1134
msgid "Assume arguments do not alias each other or globals"
msgstr "°ú¿ô¤¬Âç°è¥Ç¡¼¥¿¤ä¾¤Î°ú¿ô¤ÈÊÌ̾¤Ë¤Ï¤Ê¤é¤Ê¤¤¤È¤ß¤Ê¤¹"
-#: toplev.c:1123
+#: toplev.c:1136
msgid "Assume strict aliasing rules apply"
msgstr "¸·Ì©¤ÊÊÌ̾µ¬Â§¤ËŬ¹ç¤¹¤ë¤È¤ß¤Ê¤¹"
-#: toplev.c:1125
+#: toplev.c:1138
msgid "Align the start of loops"
msgstr "¥ë¡¼¥×¤Î³«»Ï¤ò¥¢¥é¥¤¥ó¤¹¤ë"
-#: toplev.c:1127
+#: toplev.c:1140
msgid "Align labels which are only reached by jumping"
msgstr "¥é¥Ù¥ë¤Î¤¦¤Á¥¸¥ã¥ó¥×ÅþãÀè¤È¤Ê¤ë¤â¤Î¤À¤±¤ò¥¢¥é¥¤¥ó¤¹¤ë"
-#: toplev.c:1129
+#: toplev.c:1142
msgid "Align all labels"
msgstr "Á´¤Æ¤Î¥é¥Ù¥ë¤ò¥¢¥é¥¤¥ó¤¹¤ë"
-#: toplev.c:1131
+#: toplev.c:1144
msgid "Align the start of functions"
msgstr "´Ø¿ô¤Î³«»Ï¤ò¥¢¥é¥¤¥ó¤¹¤ë"
-#: toplev.c:1133
+#: toplev.c:1146
msgid "Attempt to merge identical constants accross compilation units"
msgstr ""
-#: toplev.c:1135
+#: toplev.c:1148
msgid "Attempt to merge identical constants and constant variables"
msgstr ""
-#: toplev.c:1137
+#: toplev.c:1150
msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr "¥Ç¥Ð¥Ã¥°¥À¥ó¥×¤ÇÌ¿ÎáÈÖ¹æ¤È¹ÔÈÖ¹æ¥Î¡¼¥È¤Î½ÐÎϤòÍÞÀ©¤¹¤ë"
-#: toplev.c:1139
+#: toplev.c:1152
msgid "Instrument function entry/exit with profiling calls"
msgstr "´Ø¿ô¤ÎÆþ¤ê¸ý/½Ð¸ý¤Ç¥×¥í¥Õ¥¡¥¤¥ë¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
-#: toplev.c:1141
+#: toplev.c:1154
+#, fuzzy
+msgid "Put zero initialized data in the bss section"
+msgstr "Âç°èÊÑ¿ôÅù¤ò½é´ü²½¤µ¤ì¤Ê¤¤¥³¥â¥ó¥»¥¯¥·¥ç¥ó¤ËÃÖ¤«¤Ê¤¤"
+
+#: toplev.c:1156
msgid "Enable SSA optimizations"
msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1143
+#: toplev.c:1158
#, fuzzy
msgid "Enable SSA conditional constant propagation"
msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1145
+#: toplev.c:1160
#, fuzzy
msgid "Enable aggressive SSA dead code elimination"
msgstr "¥Ç¥Ã¥É¥³¡¼¥É¤Î½üµî¤ò¹Ô¤Ê¤¦"
-#: toplev.c:1147
+#: toplev.c:1162
msgid "External symbols have a leading underscore"
msgstr "³°Éô¥·¥ó¥Ü¥ë¤ËƬʸ»ú¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò»ý¤¿¤»¤ë"
-#: toplev.c:1149
+#: toplev.c:1164
msgid "Process #ident directives"
msgstr "#ident ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò½èÍý¤¹¤ë"
-#: toplev.c:1151
+#: toplev.c:1166
msgid "Enables an rtl peephole pass run before sched2"
msgstr "ÂèÆóÌ¿ÎáÇÛÃÖ¤ÎÁ°¤Ç rtl ÇÁ¤­·ê²áÄø¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1153
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr ""
+
+#: toplev.c:1170
msgid "Enables guessing of branch probabilities"
msgstr "ʬ´ô·ÐÏ©¿ä¬¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1155
+#: toplev.c:1172
msgid "Set errno after built-in math functions"
msgstr "ÁȤ߹þ¤ß¿ô³Ø´Ø¿ô¤Î¸å¤Ë errno ¤ò¥»¥Ã¥È¤¹¤ë"
-#: toplev.c:1157
+#: toplev.c:1174
#, fuzzy
msgid "Floating-point operations can trap"
msgstr "ÉâÆ°¾®¿ôÅÀ¤Î¨Ãͤò½ÐÎϤ¹¤ëºÝ¤Ë¥È¥é¥Ã¥×¤¬¤«¤«¤ê¤Þ¤·¤¿"
-#: toplev.c:1159
+#: toplev.c:1176
msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr ""
-#: toplev.c:1161
-msgid "Compile pointers as triples: value, base & end"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
msgstr ""
-#: toplev.c:1163
+#: toplev.c:1180
#, fuzzy
-msgid "Generate code to check bounds before dereferencing pointers and arrays"
+msgid "Generate code to check bounds before indexing arrays"
msgstr "ÇÛÎó¤Îź»ú¤Èź»ú¶­³¦¤ò¸¡ºº¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: toplev.c:1165
+#: toplev.c:1182
msgid "Convert floating point constant to single precision constant"
msgstr "ÉâÆ°¾®¿ôÅÀÄê¿ô¤òñÀºÅÙÄê¿ô¤ËÊÑ´¹¤¹¤ë"
-#: toplev.c:1167
+#: toplev.c:1184
msgid "Report time taken by each compiler pass at end of run"
msgstr "¼Â¹Ô½ªÎ»»þ¤Ë¥³¥ó¥Ñ¥¤¥é¤Î³Æ²áÄø¤ËÍפ·¤¿»þ´Ö¤òÊó¹ð¤¹¤ë"
-#: toplev.c:1169
+#: toplev.c:1186
msgid "Report on permanent memory allocation at end of run"
msgstr "¼Â¹Ô½ªÎ»»þ¤Ë±Ê³Ū¤Ë³ÎÊݤµ¤ì¤¿¥á¥â¥ê¤òÊó¹ð¤¹¤ë"
-#: toplev.c:1171
+#: toplev.c:1188
#, fuzzy
msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr "Éä¹çÉÕ¤­¤Î²Ã»»/¸º»»/¾è»»¤Ç¤Î·å¤¢¤Õ¤ì¤ò¥È¥é¥Ã¥×¤¹¤ë"
-#: toplev.c:1188
-msgid "Compile just for ISO C89"
-msgstr "ISO C89 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-
#: toplev.c:1190
-msgid "Do not promote floats to double if using -traditional"
-msgstr "-traditional »ÈÍÑ»þ¤Ë¤Ï¡¢ÉâÆ°¾®¿ô¤Ë´Ø¤· float ¤«¤é double ¤Ë³Ê¾å¤²¤·¤Ê¤¤"
+#, fuzzy
+msgid "Use graph coloring register allocation."
+msgstr "¥ì¥¸¥¹¥¿³ÎÊݤÎÁ°¤ËÌ¿Îá¤òÊ¤Ùľ¤¹"
+
+#: toplev.c:1207
+#, fuzzy
+msgid "Compile just for ISO C90"
+msgstr "ISO C89 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: toplev.c:1192
+#: toplev.c:1209
msgid "Determine language standard"
msgstr "¸À¸ì¤Îɸ½à¤ò·èÄꤹ¤ë"
-#: toplev.c:1196
+#: toplev.c:1213
#, fuzzy
msgid "Make bit-fields by unsigned by default"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹ç̵¤·¤È¤¹¤ë"
-#: toplev.c:1200
+#: toplev.c:1217
msgid "Make 'char' be signed by default"
msgstr "'char' ¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹çÉÕ¤­¤È¤¹¤ë"
-#: toplev.c:1202
+#: toplev.c:1219
msgid "Make 'char' be unsigned by default"
msgstr "'char' ¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹ç̵¤·¤È¤¹¤ë"
-#: toplev.c:1208
-msgid "Attempt to support traditional K&R style C"
-msgstr "¸Å¤¤ K&R ¼°¤Î C ¤Î¥µ¥Ý¡¼¥È¤ò»î¤ß¤ë"
-
-#: toplev.c:1214
+#: toplev.c:1225
#, fuzzy
msgid "Do not recognize the 'asm' keyword"
msgstr "'asm' ͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
-#: toplev.c:1217
+#: toplev.c:1228
#, fuzzy
msgid "Do not recognize any built in functions"
msgstr "¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤òǧ¼±¤µ¤»¤Ê¤¤"
-#: toplev.c:1219
+#: toplev.c:1230
msgid "Assume normal C execution environment"
msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
-#: toplev.c:1222
+#: toplev.c:1233
msgid "Assume that standard libraries & main might not exist"
msgstr "ɸ½à¥é¥¤¥Ö¥é¥ê¤ä main ¤¬Â¸ºß¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¤â¤Î¤È¤¹¤ë"
-#: toplev.c:1225
+#: toplev.c:1236
msgid "Allow different types as args of ? operator"
msgstr "? ±é»»»Ò¤Î°ú¿ô¤È¤·¤Æ°Û¤Ê¤Ã¤¿·¿¤òµöÍƤ¹¤ë"
-#: toplev.c:1228
+#: toplev.c:1239
msgid "Allow the use of $ inside identifiers"
msgstr "¼±ÊÌ»ÒÃæ¤Ç¤Î $ ¤Î»ÈÍѤòµöÍƤ¹¤ë"
-#: toplev.c:1233
+#: toplev.c:1244
msgid "Use the same size for double as for float"
msgstr "double ¤Î¥µ¥¤¥º¤ò float ¤ÈƱ¤¸¤È¤·¤Æ»ÈÍѤ¹¤ë"
-#: toplev.c:1236
+#: toplev.c:1247
msgid "Use the smallest fitting integer to hold enums"
msgstr "Îóµó·¿¤¬ÊÝ»ý¤Ç¤­¤ëºÇ¾®¤ÎÀ°¿ô·¿¤ò»ÈÍѤ¹¤ë"
-#: toplev.c:1239
+#: toplev.c:1250
msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr "wchar_t ¤Îº¬ËÜŪ¤Ê·¿¤ò `unsigned short' ¤Èʤ¤¹"
-#: toplev.c:1243
+#: toplev.c:1254
msgid "Enable most warning messages"
msgstr "Ëؤó¤É¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍ­¸ú¤Ë¤¹¤ë"
-#: toplev.c:1245
+#: toplev.c:1256
msgid "Warn about casting functions to incompatible types"
msgstr "·¿¤Ë¸ß´¹À­¤Î¤Ê¤¤´Ø¿ô¤Î¥­¥ã¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1249
+#: toplev.c:1259
msgid "Warn about functions which might be candidates for format attributes"
msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1252
+#: toplev.c:1262
msgid "Warn about casts which discard qualifiers"
msgstr "½¤¾þ»Ò¤ò¼è¤êµî¤ë¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1255
+#: toplev.c:1265
msgid "Warn about subscripts whose type is 'char'"
msgstr "ź»ú¤Î·¿¤¬ 'char' ¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
-#: toplev.c:1258 toplev.c:1261
+#: toplev.c:1268 toplev.c:1271
msgid "Warn if nested comments are detected"
msgstr "Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥³¥á¥ó¥È¤ò¸¡½Ð¤·¤¿¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1264
+#: toplev.c:1274
msgid "Warn about possibly confusing type conversions"
msgstr "·¿ÊÑ´¹¤¬º®Í𤹤ë²ÄǽÀ­¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1267
+#: toplev.c:1278
+#, fuzzy
+msgid "Do not warn about compile-time integer division by zero"
+msgstr "À°¿ô¤Î¥¼¥í½ü»»¤ò¥È¥é¥Ã¥×¤·¤Ê¤¤"
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÅù²Á¥Æ¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+#: toplev.c:1283
msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
msgstr "printf/scanf/strftime/strfmon ·Á¼°¤ÎÊѧŪ¤Ê¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1271
-msgid "Don't warn about strftime formats yielding 2 digit years"
-msgstr "strftime ·Á¼°¤¬Æó·å¤Çǯ¤òɽ¤·¤Æ¤¤¤ë»þ¤Î·Ù¹ð¤·¤Ê¤¤"
-
-#: toplev.c:1274
+#: toplev.c:1287
msgid "Don't warn about too many arguments to format functions"
msgstr "format ´Ø¿ô¤Ø¤Î¿¤¹¤®¤ë°ú¿ô¤Ë´Ø¤¹¤ë·Ù¹ð¤·¤Ê¤¤"
-#: toplev.c:1276
+#: toplev.c:1289
msgid "Warn about non-string-literal format strings"
msgstr "Èóʸ»úÎó¥ê¥Æ¥é¥ë¤Î format ʸ»úÎó¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1279
+#: toplev.c:1292
msgid "Warn about possible security problems with format functions"
msgstr "¥»¥­¥å¥ê¥Æ¥£Åª¤ÊÌäÂê¤È¤Ê¤ê¤¦¤ë format ´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1282
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr "strftime ·Á¼°¤¬Æó·å¤Çǯ¤òɽ¤·¤Æ¤¤¤ë»þ¤Î·Ù¹ð¤·¤Ê¤¤"
+
+#: toplev.c:1298
msgid "Warn about implicit function declarations"
msgstr "°ÅÌۤδؿôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1286
+#: toplev.c:1302
msgid "Warn when a declaration does not specify a type"
msgstr "Àë¸À¤¬·¿¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1291
+#: toplev.c:1307
msgid "Warn about the use of the #import directive"
msgstr "#import ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÍøÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1295
+#: toplev.c:1311
msgid "Do not warn about using 'long long' when -pedantic"
msgstr "-pedantic »ØÄê»þ¤Ç¤â 'long long' ¤Î»ÈÍѤˤĤ¤¤Æ¤Ï·Ù¹ð¤·¤Ê¤¤"
-#: toplev.c:1297
+#: toplev.c:1313
msgid "Warn about suspicious declarations of main"
msgstr "µ¿¤ï¤·¤¤ main ¤ÎÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1300
+#: toplev.c:1316
#, fuzzy
msgid "Warn about possibly missing braces around initializers"
msgstr "½é´ü²½»Ò¤Î¼þ¤ê¤Ë¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤ëÍͤǤ¢¤ì¤Ð·Ù¹ð¤¹¤ë"
-#: toplev.c:1303
+#: toplev.c:1319
msgid "Warn about global funcs without previous declarations"
msgstr "»öÁ°¤ÎÀë¸À¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1306
+#: toplev.c:1322
msgid "Warn about global funcs without prototypes"
msgstr "¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1309
+#: toplev.c:1325
msgid "Warn about use of multicharacter literals"
msgstr "Ê£¿ôʸ»ú¥ê¥Æ¥é¥ë¤Î»ÈÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1312
+#: toplev.c:1328
msgid "Warn about externs not at file scope level"
msgstr "¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¥ì¥Ù¥ë¤Ç¤Ê¤¤ extern ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1315
+#: toplev.c:1331
msgid "Warn about possible missing parentheses"
msgstr "³ç¸Ì¤ò·ç¤¤¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1318
-msgid "Warn about possible violations of sequence point rules"
-msgstr "ÉûºîÍÑ´°Î»ÅÀµ¬Â§¤òÇˤë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-
-#: toplev.c:1321
+#: toplev.c:1334
msgid "Warn about function pointer arithmetic"
msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤Î·×»»¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1324
+#: toplev.c:1337
msgid "Warn about multiple declarations of the same object"
msgstr "Ʊ°ì¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀë¸À¤¬Ê£¿ô¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
-#: toplev.c:1327
-msgid "Warn about signed/unsigned comparisons"
-msgstr "Éä¹çÉÕ¤­/Éä¹ç̵¤·¤ÎÈæ³Ó¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+#: toplev.c:1340
+#, fuzzy
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "Ìá¤êÃͤη¿¤ò¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤·¤Þ¤¹"
-#: toplev.c:1330
-msgid "Warn about testing equality of floating point numbers"
-msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÅù²Á¥Æ¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr "ÉûºîÍÑ´°Î»ÅÀµ¬Â§¤òÇˤë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1333
-msgid "Warn about unrecognized pragmas"
-msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ pragma ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr "Éä¹çÉÕ¤­/Éä¹ç̵¤·¤ÎÈæ³Ó¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1336
+#: toplev.c:1349
msgid "Warn about non-prototyped function decls"
msgstr "¥×¥í¥È¥¿¥¤¥×¤µ¤ì¤Æ¤¤¤Ê¤¤´Ø¿ôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1339
-msgid "Warn about constructs whose meaning change in ISO C"
+#: toplev.c:1352
+#, fuzzy
+msgid "Warn about constructs whose meanings change in ISO C"
msgstr "ISO C ¤Ç¤½¤Î°ÕÌ£¤¬Êѹ¹¤µ¤ì¤¿ÆâÍƤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1342
+#: toplev.c:1355
msgid "Warn when trigraphs are encountered"
msgstr "¥È¥é¥¤¥°¥é¥Õ¤òȯ¸«¤·¤¿¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1347
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ pragma ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+#: toplev.c:1363
msgid "Mark strings as 'const char *'"
msgstr "ʸ»úÎó¤ò 'const char *' ¤È¤·¤Æ¥Þ¡¼¥¯¤¹¤ë"
-#: toplev.c:1472
+#: toplev.c:1508
msgid "Warn when a function is unused"
msgstr "´Ø¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1474
+#: toplev.c:1510
msgid "Warn when a label is unused"
msgstr "¥é¥Ù¥ë¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1476
+#: toplev.c:1512
msgid "Warn when a function parameter is unused"
msgstr "´Ø¿ô¤Î²¾°ú¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1478
+#: toplev.c:1514
msgid "Warn when a variable is unused"
msgstr "ÊÑ¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1480
+#: toplev.c:1516
msgid "Warn when an expression value is unused"
msgstr "¼°¤ÎÃͤ¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1482
+#: toplev.c:1518
msgid "Do not suppress warnings from system headers"
msgstr "¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤·¤Ê¤¤"
-#: toplev.c:1484
+#: toplev.c:1520
msgid "Treat all warnings as errors"
msgstr "Á´¤Æ¤Î·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤¦"
-#: toplev.c:1486
+#: toplev.c:1522
msgid "Warn when one local variable shadows another"
msgstr "¤¢¤ë¥í¡¼¥«¥ëÊÑ¿ô¤¬Â¾¤Î¤â¤Î¤òʤ¤¤±£¤¹¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1488
-msgid "Warn about enumerated switches missing a specific case"
+#: toplev.c:1524
+#, fuzzy
+msgid "Warn about enumerated switches, with no default, missing a case"
+msgstr "ÎóµóÄê¿ô¤Î switch ¤Ç case »ØÄ꤬·ç¤±¤Æ¤¤¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+#: toplev.c:1526
+#, fuzzy
+msgid "Warn about enumerated switches missing a default case"
+msgstr "ÎóµóÄê¿ô¤Î switch ¤Ç case »ØÄ꤬·ç¤±¤Æ¤¤¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+#: toplev.c:1528
+#, fuzzy
+msgid "Warn about all enumerated switches missing a specific case"
msgstr "ÎóµóÄê¿ô¤Î switch ¤Ç case »ØÄ꤬·ç¤±¤Æ¤¤¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1490
+#: toplev.c:1530
msgid "Warn about returning structures, unions or arrays"
msgstr "¹½Â¤ÂΡ¢¶¦ÍÑÂÎËô¤ÏÇÛÎó¤òÊÖ¤¹¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1492
+#: toplev.c:1532
msgid "Warn about pointer casts which increase alignment"
msgstr "¥Ý¥¤¥ó¥¿¤Î¥­¥ã¥¹¥È¤Ç¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Áý²Ã¤¹¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1494
+#: toplev.c:1534
msgid "Warn about code that will never be executed"
msgstr "¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¤¥³¡¼¥É¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1496
+#: toplev.c:1536
#, fuzzy
msgid "Warn about uninitialized automatic variables"
msgstr "½é´ü²½¤µ¤ì¤Ê¤¤¼«Æ°ÊÑ¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1498
+#: toplev.c:1538
msgid "Warn when an inlined function cannot be inlined"
msgstr "¥¤¥ó¥é¥¤¥ó´Ø¿ô¤ò¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1500
+#: toplev.c:1540
msgid "Warn when the packed attribute has no effect on struct layout"
msgstr "packed °À­¤¬¹½Â¤ÂÎÇÛÃ֤˱ƶÁ¤·¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1502
+#: toplev.c:1542
msgid "Warn when padding is required to align struct members"
msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð¤Î¥¢¥é¥¤¥ó¤Ç¡¢¥Ñ¥Ç¥£¥ó¥°¤òÍפ¹¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1504
+#: toplev.c:1544
msgid "Warn when an optimization pass is disabled"
msgstr "ºÇŬ²½²áÄø¤¬Ìµ¸ú²½¤µ¤ì¤¿¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-#: toplev.c:1506
+#: toplev.c:1546
+msgid "Warn about uses of __attribute__((deprecated)) declarations"
+msgstr ""
+
+#: toplev.c:1548
msgid "Warn about functions which might be candidates for attribute noreturn"
msgstr "noreturn °À­¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-#: toplev.c:1577 toplev.c:4317 tradcpp.c:781
+#: toplev.c:1550
+#, fuzzy
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676
#, fuzzy, c-format
msgid "invalid option `%s'"
msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó `%s'"
-#: toplev.c:1723
-#, fuzzy, c-format
-msgid "internal error: %s"
-msgstr "ÆâÉô¥¨¥é¡¼: %s"
-
-#: toplev.c:2023
+#: toplev.c:2029
#, c-format
msgid "`%s' used but never defined"
msgstr "`%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬Ì¤ÄêµÁ¤Ç¤¹"
-#: toplev.c:2026
+#: toplev.c:2032
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr "`%s' ¤¬ `static' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿¤¬Ì¤ÄêµÁ¤Ç¤¹"
-#: toplev.c:2048
+#: toplev.c:2051
#, c-format
msgid "`%s' defined but not used"
msgstr "`%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
-#: toplev.c:2279
+#: toplev.c:2300
#, c-format
msgid "invalid register name `%s' for register variable"
msgstr "`%s' ¤Ï¥ì¥¸¥¹¥¿ÊÑ¿ô¤È¤·¤Æ¤Ï̵¸ú¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹"
-#: toplev.c:3552
+#: toplev.c:3683
msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
msgstr " -ffixed-<register> ¥³¥ó¥Ñ¥¤¥é¤ËÂФ· <register> ¤ò»ÈÍÑÉԲĤȥޡ¼¥¯¤¹¤ë\n"
-#: toplev.c:3553
+#: toplev.c:3684
msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
msgstr " -fcall-used-<register> ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÇÇ˲õ¤µ¤ì¤ë <register> ¤È¤·¤Æ¥Þ¡¼¥¯¤¹¤ë\n"
-#: toplev.c:3554
+#: toplev.c:3685
msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
msgstr " -fcall-saved-<register> <register> ¤¬´Ø¿ô¤òÄ̤¸¤ÆÊÝ»ý¤µ¤ì¤ë¤È¥Þ¡¼¥¯¤¹¤ë\n"
-#: toplev.c:3555
+#: toplev.c:3686
msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr " -finline-limit=<number> ¥¤¥ó¥é¥¤¥ó´Ø¿ô¤Î¥µ¥¤¥º¤ò <number> ¤ËÀ©¸Â¤¹¤ë\n"
-#: toplev.c:3556
+#: toplev.c:3687
msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
msgstr " -fmessage-length=<number> ¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ÎŤµ¤ò°ì¹ÔÊÕ¤ê <number> ʸ»ú¤ËÀ©¸Â¤¹¤ë¡£ 0 ¤À¤È²þ¹Ô¤òÍÞÀ©¤¹¤ë\n"
-#: toplev.c:3557
+#: 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 ""
" -fdiagnostics-show-location=[once | every-line] ¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î²þ¹Ô¤ÎºÝ¤Ë,\n"
" ¥½¡¼¥¹°ÌÃÖ¾ðÊ󤬹Ԥκǽé¤Ëɽ¼¨¤µ¤ì¤ëÉÑÅÙ¤ò»ØÄꤹ¤ë\n"
-#: toplev.c:3568
+#: 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
#, fuzzy
msgid " -O[number] Set optimization level to [number]\n"
msgstr " -O[number] ºÇŬ²½¥ì¥Ù¥ë¤ò [number] ¤ËÀßÄꤹ¤ë\n"
-#: toplev.c:3569
+#: toplev.c:3701
#, fuzzy
msgid " -Os Optimize for space rather than speed\n"
msgstr " -Os ®ÅÙ¤è¤ê¤â¥µ¥¤¥º¤ÎºÇŬ²½¤ò¹Ô¤Ê¤¦\n"
-#: toplev.c:3581
+#: toplev.c:3713
msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
msgstr " -pedantic ¸·Ì©¤Ê ISO C ¤Ø¤ÎŬ¹ç¤ËÍפ¹¤ë·Ù¹ð¤òȯ¤¹¤ë\n"
-#: toplev.c:3582
+#: toplev.c:3714
msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr " -pedantic-errors -pedantic ¤ÈƱÍͤÀ¤¬¡¢¥¨¥é¡¼¤òȯÀ¸¤µ¤»¤ë\n"
-#: toplev.c:3583
+#: toplev.c:3715
msgid " -w Suppress warnings\n"
msgstr " -w ·Ù¹ð¤òÍÞÀ©¤¹¤ë\n"
-#: toplev.c:3584
+#: toplev.c:3716
msgid " -W Enable extra warnings\n"
msgstr " -W ÆÃÊ̤ʷٹð¤òÍ­¸ú¤Ë¤¹¤ë\n"
-#: toplev.c:3595
+#: toplev.c:3727
msgid " -Wunused Enable unused warnings\n"
msgstr " -Wunused ̤»ÈÍѤˤĤ¤¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë\n"
-#: toplev.c:3596
+#: toplev.c:3728
msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr " -Wlarger-than-<number> ¥ª¥Ö¥¸¥§¥¯¥È¤¬ <number> ¥Ð¥¤¥È¤è¤êÂ礭¤±¤ì¤Ð·Ù¹ð¤¹¤ë\n"
-#: toplev.c:3597
+#: toplev.c:3729
msgid " -p Enable function profiling\n"
msgstr " -p ´Ø¿ô¥×¥í¥Õ¥¡¥¤¥ë¤òÍ­¸ú¤Ë¤¹¤ë\n"
-#: toplev.c:3599
-msgid " -a Enable block profiling \n"
-msgstr " -a ¥Ö¥í¥Ã¥¯¥×¥í¥Õ¥¡¥¤¥ë¤òÍ­¸ú¤Ë¤¹¤ë\n"
-
-#: toplev.c:3602
-msgid " -ax Enable jump profiling \n"
-msgstr " -ax ¥¸¥ã¥ó¥×¥×¥í¥Õ¥¡¥¤¥ë¤òÍ­¸ú¤Ë¤¹¤ë\n"
-
-#: toplev.c:3604
+#: toplev.c:3730
msgid " -o <file> Place output into <file> \n"
msgstr " -o <file> ½ÐÎϤò <file> ¤Ë½ñ¤­¹þ¤à\n"
-#: toplev.c:3605
+#: toplev.c:3731
msgid ""
" -G <number> Put global and static data smaller than <number>\n"
" bytes into a special section (on some targets)\n"
@@ -7464,129 +8025,154 @@ msgstr ""
" -G <number> <number> ¥Ð¥¤¥È¤è¤ê¾®¤µ¤ÊÂç°è¤ª¤è¤ÓÀÅŪ¥Ç¡¼¥¿¤ò\n"
" ÆÃÊ̤ʥ»¥¯¥·¥ç¥ó¤ËÃÖ¤¯ (¥¿¡¼¥²¥Ã¥È¼¡Âè)\n"
-#: toplev.c:3616
+#: toplev.c:3742
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr " -aux-info <file> Àë¸À¾ðÊó¤ò <file> ¤Øȯ¹Ô¤¹¤ë\n"
-#: toplev.c:3617
+#: toplev.c:3743
msgid " -quiet Do not display functions compiled or elapsed time\n"
msgstr " -quiet ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿´Ø¿ô¤ä·Ð²á»þ´Ö¤òɽ¼¨¤·¤Ê¤¤\n"
-#: toplev.c:3618
+#: toplev.c:3744
msgid " -version Display the compiler's version\n"
msgstr " -version ¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë\n"
-#: toplev.c:3619
+#: toplev.c:3745
msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr " -d[letters] ¥³¥ó¥Ñ¥¤¥é¤Î²áÄø¤«¤é¤Î¥À¥ó¥×¤òÍ­¸ú¤Ë¤¹¤ë\n"
-#: toplev.c:3620
+#: toplev.c:3746
msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
msgstr " -dumpbase <file> ²áÄø¤«¤é¤Î¥À¥ó¥×¤Ë»È¤ï¤ì¤ë̾Á°¤Î¥Ù¡¼¥¹¤È¤¹¤ë\n"
-#: toplev.c:3622
+#: toplev.c:3748
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
msgstr " -fsched-verbose=<number> ¥¹¥±¥¸¥å¡¼¥é¤ÎñÁÀå¥ì¥Ù¥ë¤òÀßÄꤹ¤ë\n"
-#: toplev.c:3624
+#: toplev.c:3750
msgid " --help Display this information\n"
msgstr " --help ¤³¤Î¾ðÊó¤òɽ¼¨¤¹¤ë\n"
-#: toplev.c:3639
-msgid "\nLanguage specific options:\n"
-msgstr "\n¸À¸ì»ÅÍÍ¥ª¥×¥·¥ç¥ó:\n"
+#: toplev.c:3765
+msgid ""
+"\n"
+"Language specific options:\n"
+msgstr ""
+"\n"
+"¸À¸ì»ÅÍÍ¥ª¥×¥·¥ç¥ó:\n"
-#: toplev.c:3651
+#: toplev.c:3777
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr " %-23.23s [ʸ½ñ²½¤µ¤ì¤Æ¤¤¤Ê¤¤]\n"
-#: toplev.c:3659 toplev.c:3673
+#: toplev.c:3785 toplev.c:3799
#, c-format
-msgid "\nThere are undocumented %s specific options as well.\n"
-msgstr "\nʸ½ñ²½¤µ¤ì¤Æ¤¤¤Ê¤¤ %s »ÅÍÍ¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£\n"
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
+msgstr ""
+"\n"
+"ʸ½ñ²½¤µ¤ì¤Æ¤¤¤Ê¤¤ %s »ÅÍÍ¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£\n"
-#: toplev.c:3663
+#: toplev.c:3789
#, c-format
-msgid "\n Options for %s:\n"
-msgstr "\n %s ÍÑ¥ª¥×¥·¥ç¥ó:\n"
+msgid ""
+"\n"
+" Options for %s:\n"
+msgstr ""
+"\n"
+" %s ÍÑ¥ª¥×¥·¥ç¥ó:\n"
-#: toplev.c:3700
-msgid "\nTarget specific options:\n"
-msgstr "\n¥¿¡¼¥²¥Ã¥È»ÅÍÍ¥ª¥×¥·¥ç¥ó:\n"
+#: toplev.c:3826
+msgid ""
+"\n"
+"Target specific options:\n"
+msgstr ""
+"\n"
+"¥¿¡¼¥²¥Ã¥È»ÅÍÍ¥ª¥×¥·¥ç¥ó:\n"
-#: toplev.c:3714 toplev.c:3733
+#: toplev.c:3840 toplev.c:3859
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr " -m%-23.23s [ʸ½ñ²½¤µ¤ì¤Æ¤¤¤Ê¤¤]\n"
-#: toplev.c:3742
-msgid "\nThere are undocumented target specific options as well.\n"
-msgstr "\nʸ½ñ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥¿¡¼¥²¥Ã¥È»ÅÍÍ¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£\n"
+#: toplev.c:3868
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
+msgstr ""
+"\n"
+"ʸ½ñ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥¿¡¼¥²¥Ã¥È»ÅÍÍ¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£\n"
-#: toplev.c:3744
+#: toplev.c:3870
msgid " They exist, but they are not documented.\n"
msgstr " ¤³¤ì¤é¤Ï¸ºß¤·¤Þ¤¹¤¬¡¢Ê¸½ñ²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: toplev.c:3797
+#: toplev.c:3923
#, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ gcc ¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó: %c"
-#: toplev.c:3867
+#: toplev.c:3979
+#, fuzzy, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "`%s': ÉÔÌÀ¤Þ¤¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤ -g ¥ª¥×¥·¥ç¥ó¤Ç¤¹"
+
+#: toplev.c:4006
#, c-format
msgid "unrecognized register name `%s'"
msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥ì¥¸¥¹¥¿Ì¾ `%s'"
-#: toplev.c:3892 toplev.c:4746
+#: toplev.c:4031 toplev.c:4965
#, fuzzy, c-format
msgid "unrecognized option `%s'"
msgstr "ǧ¼±ÉÔǽ¤Ê¥ª¥×¥·¥ç¥ó `-%s'"
-#: toplev.c:3936
+#: toplev.c:4075
#, fuzzy
msgid "-Wid-clash-LEN is no longer supported"
msgstr "-f%s ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: toplev.c:4013
+#: toplev.c:4152
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr "-gdwarf -g%d ¤ò»ÈÍÑ (DWARF v1, ¥ì¥Ù¥ë %d)"
-#: toplev.c:4016
+#: toplev.c:4155
msgid "use -gdwarf-2 for DWARF v2"
msgstr "-gdwarf-2 ¤ò»ÈÍÑ (DWARF v2)"
-#: toplev.c:4021
+#: toplev.c:4160
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr "̵¸ú¤Ê¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë»ØÄê¤Ë¤è¤ê¡¢¥ª¥×¥·¥ç¥ó `%s' ¤ò̵»ë¤·¤Þ¤¹"
-#: toplev.c:4044 toplev.c:4744
+#: toplev.c:4183 toplev.c:4963
#, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr "`%s': ÉÔÌÀ¤Þ¤¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤ -g ¥ª¥×¥·¥ç¥ó¤Ç¤¹"
-#: toplev.c:4051
+#: toplev.c:4190
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr "`%s' ¤Ï `-g%s' ¤È¶¥¹ç¤¹¤ë¤¿¤á̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: toplev.c:4130
+#: toplev.c:4269
msgid "-param option missing argument"
msgstr "-param ¥ª¥×¥·¥ç¥ó¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: toplev.c:4139
+#: toplev.c:4278
#, c-format
msgid "invalid --param option: %s"
msgstr "̵¸ú¤Ê --param ¥ª¥×¥·¥ç¥ó: %s"
-#: toplev.c:4151
+#: toplev.c:4290
#, c-format
msgid "invalid parameter value `%s'"
msgstr "̵¸ú¤Ê¥Ñ¥é¥á¥¿ÃÍ `%s'"
-#: toplev.c:4334
+#: toplev.c:4530
#, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7597,1281 +8183,1013 @@ msgstr ""
"%s\tcompiled by GNU C version %s.\n"
"%s%s%s version %s (%s) compiled by CC.\n"
-#: toplev.c:4390
+#: toplev.c:4586
msgid "options passed: "
msgstr "ÅϤµ¤ì¤¿¥ª¥×¥·¥ç¥ó: "
-#: toplev.c:4419
+#: toplev.c:4615
msgid "options enabled: "
msgstr "Í­¸ú¥ª¥×¥·¥ç¥ó: "
-#: toplev.c:4478
+#: toplev.c:4674 java/jcf-write.c:3421
#, c-format
msgid "can't open %s for writing"
msgstr "%s ¤ò½ñ¤­¹þ¤ßÍѤ˳«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
-#: toplev.c:4736
+#: toplev.c:4955
#, fuzzy, c-format
msgid "ignoring command line option '%s'"
msgstr "¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó '%s' ¤ò̵»ë¤·¤Þ¤¹"
-#: toplev.c:4739
+#: toplev.c:4958
#, fuzzy, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr "(%s ÍѤȤ·¤Æ¤ÏÀµ¾ï¤Ç¤¹¤¬¡¢ÁªÂò¤µ¤ì¤¿¸À¸ì¤È¤·¤Æ¤Ï̵¸ú¤Ç¤¹)"
-#: toplev.c:4768
+#: toplev.c:4992
msgid "-Wuninitialized is not supported without -O"
msgstr "-Wuninitialized ¤Ï -O ̵¤·¤Ë¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-#: toplev.c:4824
+#: toplev.c:5047
msgid "instruction scheduling not supported on this target machine"
msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: toplev.c:4828
+#: toplev.c:5051
msgid "this target machine does not have delayed branches"
msgstr "¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤ÏÃÙ±äʬ´ô¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: toplev.c:4837
-msgid "profiling does not work without a frame pointer"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ë¤Ï¥Õ¥ì¡¼¥à¥Ý¥¤¥ó¥¿¤Ê¤·¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó"
-
-#: toplev.c:4852
+#: toplev.c:5065
#, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr "-f%sleading-underscore ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: toplev.c:4915
+#: toplev.c:5128
#, fuzzy
msgid "-ffunction-sections not supported for this target"
msgstr "-ffunction-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-#: toplev.c:4920
+#: toplev.c:5133
#, fuzzy
msgid "-fdata-sections not supported for this target"
msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-#: toplev.c:4927
+#: toplev.c:5140
#, fuzzy
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr "-ffunction-sections ¤¬Ìµ¸ú¤Ç¤¹ -- ¥×¥í¥Õ¥¡¥¤¥ë¤ÏÉÔ²Äǽ¤Ç¤¹"
-#: toplev.c:4934
+#: toplev.c:5147
#, fuzzy
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-#: toplev.c:4940
+#: toplev.c:5153
#, fuzzy
msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr "-f%sleading-underscore ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: toplev.c:4947
+#: toplev.c:5162
+#, fuzzy
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr "-mg ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ÏÄ󶡤µ¤ì¤Þ¤»¤ó\n"
+
+#: toplev.c:5168
#, fuzzy
msgid "-ffunction-sections may affect debugging on some targets"
msgstr "-ffunction-sections ¤Ï¥¿¡¼¥²¥Ã¥È¤Ë¤è¤Ã¤Æ¤Ï¥Ç¥Ð¥Ã¥°¤Ë±Æ¶Á¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó"
-#: toplev.c:5068
+#: toplev.c:5280
#, c-format
msgid "error writing to %s"
msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼¤Ç¤¹"
-#: toplev.c:5070 java/jcf-parse.c:982
+#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428
#, c-format
msgid "error closing %s"
msgstr "¥¨¥é¡¼¤Ë¤è¤ê %s ¤òÊĤ¸¤Þ¤¹"
-#. It's a float since it contains a point.
-#: tradcif.y:231
-msgid "floating point numbers not allowed in #if expressions"
-msgstr "#if ¼°¤ÎÃæ¤Ç¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-
-#: tradcif.y:277
-#, fuzzy
-msgid "invalid number in #if expression"
-msgstr "#if ¼°¤ÎÃæ¤Ë̵¸ú¤Ê¿ôÃÍ"
-
-#: tradcif.y:358
-#, fuzzy
-msgid "invalid character constant in #if"
-msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
-
-#: tradcif.y:395
-msgid "double quoted strings not allowed in #if expressions"
-msgstr "Æó½Å¤Ë¥¯¥©¡¼¥È¤µ¤ì¤¿Ê¸»úÎó¤Ï #if ¼°Æâ¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: tradcif.y:408
-#, fuzzy
-msgid "invalid token in expression"
-msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
-
-#: tradcif.y:499
-msgid "octal character constant does not fit in a byte"
-msgstr "8 ¿Ê¿ôʸ»úÄê¿ô¤¬ 1 ¥Ð¥¤¥È¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó"
-
-#: tradcif.y:520
-msgid "hex character constant does not fit in a byte"
-msgstr "16 ¿Ê¿ôʸ»úÄê¿ô¤¬ 1 ¥Ð¥¤¥È¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó"
-
-#: tradcif.y:551
-msgid "empty #if expression"
-msgstr "¶õ¤Î #if ¼°¤Ç¤¹"
-
-#: tradcif.y:565
-msgid "Junk after end of expression."
-msgstr "¼°¤Î½ª¤ê°Ê¹ß¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-
-#: tradcpp.c:138
-msgid "macro or #include recursion too deep"
-msgstr "¥Þ¥¯¥í¤Þ¤¿¤Ï #include ¤ÎºÆµ¢¤¬¿¼¤¹¤®¤Þ¤¹"
-
-#: tradcpp.c:555
-#, fuzzy, c-format
-msgid "usage: %s [switches] input output"
-msgstr "»È¤¤Êý: %s [¥¹¥¤¥Ã¥Á] ÆþÎÏ ½ÐÎÏ"
-
-#: tradcpp.c:571
-msgid "-traditional is not supported in C++"
-msgstr "-traditional ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
-
-#: tradcpp.c:573
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr "-traditional ¤È -ansi ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
-
-#: tradcpp.c:587
-#, fuzzy
-msgid "filename missing after -i option"
-msgstr "-i ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:605
-#, fuzzy
-msgid "filename missing after -o option"
-msgstr "-o ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:664
-#, fuzzy, c-format
-msgid "target missing after %s option"
-msgstr "%s ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥¿¡¼¥²¥Ã¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:678
-#, fuzzy, c-format
-msgid "filename missing after %s option"
-msgstr "%s ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:703
-#, fuzzy, c-format
-msgid "macro name missing after -%c option"
-msgstr "-%c ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Þ¥¯¥í̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:723
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "-pedantic ¤È -traditional ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
-
-#: tradcpp.c:728
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "-trigraphs ¤È -traditional ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
-
-#: tradcpp.c:754
-#, fuzzy
-msgid "directory name missing after -I option"
-msgstr "-I ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:1434 tradcpp.c:3926
-msgid "`/*' within comment"
-msgstr "`/*' ¤¬¥³¥á¥ó¥ÈÆâ¤Ë¤¢¤ê¤Þ¤¹"
-
-#: tradcpp.c:1810
-#, c-format
-msgid "unterminated #%s conditional"
-msgstr "½ªÃ¼¤Î¤Ê¤¤ #%s ¾ò·ï"
-
-#: tradcpp.c:2169
-msgid "not in any file?!"
-msgstr "Á´¤¯¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤?!"
-
-#: tradcpp.c:2275
-msgid "`defined' must be followed by ident or (ident)"
-msgstr "`defined' ¤Î¸å¤í¤Ë ident ¤ä (ident) ¤¬¤³¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:2279
-msgid "cccp error: invalid special hash type"
-msgstr "cccp ¥¨¥é¡¼: Æüì¥Ï¥Ã¥·¥å·¿¤¬Ìµ¸ú¤Ç¤¹"
-
-#: tradcpp.c:2377 tradcpp.c:2447
-msgid "#include expects \"fname\" or <fname>"
-msgstr "#include ¤Î¸å¤Ë¤Ï \"fname\" ¤ä <fname> ¤¬É¬ÍפǤ¹"
-
-#: tradcpp.c:2532
-#, fuzzy, c-format
-msgid "no include path in which to find %.*s"
-msgstr "%.*s ¤¬¸«¤Ä¤«¤ë¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:2710
-msgid "invalid macro name"
-msgstr "̵¸ú¤Ê¥Þ¥¯¥í̾"
-
-#: tradcpp.c:2718
-#, c-format
-msgid "invalid macro name `%s'"
-msgstr "̵¸ú¤Ê¥Þ¥¯¥í̾ `%s'"
-
-#: tradcpp.c:2723
-msgid "\"defined\" cannot be used as a macro name"
-msgstr "\"defined\" ¤ò¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: tradcpp.c:2750
-msgid "parameter name starts with a digit in #define"
-msgstr "#define Ãæ¤Î²¾°ú¿ô̾¤¬¿ô»ú¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹"
-
-#: tradcpp.c:2760
-msgid "badly punctuated parameter list in #define"
-msgstr "#define Ãæ¤Î²¾°ú¿ô¥ê¥¹¥È¤¬ÊѤ˶èÀÚ¤é¤ì¤Þ¤·¤¿"
-
-#: tradcpp.c:2768
-msgid "unterminated parameter list in #define"
-msgstr "#define Ãæ¤Î²¾°ú¿ô¥ê¥¹¥È¤¬½ªÃ¼¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: tradcpp.c:2816
-#, c-format
-msgid "\"%.*s\" redefined"
-msgstr "\"%.*s\" ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-
-#: tradcpp.c:3073
-msgid "# operator should be followed by a macro argument name"
-msgstr "# ±é»»»Ò¤Î¸å¤í¤Ë¤Ï¥Þ¥¯¥í°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:3120 tradcpp.c:3146 tradcpp.c:3160 tradcpp.c:3167 tradcpp.c:3192
-msgid "invalid format #line command"
-msgstr "#line ¥³¥Þ¥ó¥É¤Î½ñ¼°¤¬Ìµ¸ú¤Ç¤¹"
-
-#: tradcpp.c:3218
-msgid "undefining `defined'"
-msgstr "`defined' ¤ò undef ¤·¤Þ¤¹"
-
-#: tradcpp.c:3222
-#, c-format
-msgid "undefining `%s'"
-msgstr "`%s' ¤ò undef ¤·¤Þ¤¹"
-
-#: tradcpp.c:3278
-msgid "extra text at end of directive"
-msgstr "¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Î½ª¤ê¤Ë;ʬ¤Ê¥Æ¥¯¥¹¥È¤¬¤¢¤ê¤Þ¤¹"
-
-#: tradcpp.c:3385
-#, c-format
-msgid "#error%.*s"
-msgstr "#error%.*s"
-
-#: tradcpp.c:3395
-#, c-format
-msgid "#warning%.*s"
-msgstr "#warning%.*s"
-
-#: tradcpp.c:3551
-msgid "#elif not within a conditional"
-msgstr "#elif ¤¬¾ò·ïʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:3808
-#, c-format
-msgid "#%s not within a conditional"
-msgstr "#%s ¤¬¾ò·ïʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:3816
-msgid "#else or #elif after #else"
-msgstr "#else ¤Î¸å¤í¤Ë #else ¤ä #elif ¤¬¤¢¤ê¤Þ¤¹"
-
-#: tradcpp.c:3856
-msgid "#else not within a conditional"
-msgstr "#else ¤¬¾ò·ïʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:3887
-msgid "unbalanced #endif"
-msgstr "Âбþ¤·¤Æ¤¤¤Ê¤¤ #endif"
-
-#: tradcpp.c:3981
-msgid "unterminated string or character constant"
-msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎóÄê¿ôËô¤Ïʸ»úÄê¿ô"
-
-#: tradcpp.c:4139
-#, c-format
-msgid "arguments given to macro `%s'"
-msgstr "¥Þ¥¯¥í `%s' ¤Ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Þ¤·¤¿"
-
-#: tradcpp.c:4145
-#, c-format
-msgid "no args to macro `%s'"
-msgstr "¥Þ¥¯¥í `%s' ¤Ø¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:4147
-#, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "¥Þ¥¯¥í `%s' ¤Ø¤Î°ú¿ô¤¬°ì¸Ä¤·¤«¤¢¤ê¤Þ¤»¤ó"
-
-#: tradcpp.c:4149
-#, c-format
-msgid "only %d args to macro `%s'"
-msgstr "%d ¸Ä¤Î°ú¿ô¤·¤«¥Þ¥¯¥í `%s' ¤ËÅϤ·¤Æ¤¤¤Þ¤»¤ó"
-
-#: tradcpp.c:4151
-#, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "°ú¿ô¤Î¿ô (%d) ¤¬¥Þ¥¯¥í `%s' ¤ËÂФ·¤Æ¿¤¹¤®¤Þ¤¹"
-
-#: tradcpp.c:4748
-#, fuzzy, c-format
-msgid ""
-"internal error in %s, at tradcpp.c:%d\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"%s ¤ÇÆâÉô¥¨¥é¡¼¡¢(tradcpp.c:%d)\n"
-"´°Á´¤Ê¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
-"%s ¤Ç¤½¤Î¼ê½ç¤ò¸«¤Æ¤¯¤À¤µ¤¤"
-
-#: tree-dump.c:841
+#: tree-dump.c:702
#, c-format
msgid "could not open dump file `%s'"
msgstr "¥À¥ó¥×¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
-#: tree-dump.c:917
+#: tree-dump.c:778
#, fuzzy, c-format
msgid "ignoring unknown option `%.*s' in `-f%s'"
msgstr "`%s'(`-f%s' ¤Î½ª¤ê¤Ë¤¢¤ë) ¤ò̵»ë¤·¤Þ¤¹"
-#: tree.c:3841
+#: tree.c:3645
msgid "arrays of functions are not meaningful"
msgstr "´Ø¿ô¤ÎÇÛÎó¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó"
-#: tree.c:3898
+#: tree.c:3702
msgid "function return type cannot be function"
msgstr "´Ø¿ô¤ÎÊÖ¤¹·¿¤¬´Ø¿ô¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-#: tree.c:4642
+#: tree.c:4544
msgid "invalid initializer for bit string"
msgstr "̵¸ú¤Ê¥Ó¥Ã¥ÈÎó½é´ü²½»Ò¤Ç¤¹"
-#: tree.c:4701
+#: tree.c:4603
#, fuzzy, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
-#: tree.c:4718
+#: tree.c:4620
#, fuzzy, c-format
msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
msgstr "Tree ¸¡ºº: ¥¯¥é¥¹ '%c' ¤Î¤Ï¤º¤¬ '%c' (%s) ¤Ç¤¹(%s Æâ, %s:%d)"
-#: varasm.c:452 config/i386/winnt.c:522
+#: tree.c:4637
+#, fuzzy, c-format
+msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+msgstr "RTL check: ¥Ù¥¯¥È¥ë¤Î elt %d ¤òºÇ¸å¤Î elt %d (%s Ãæ)¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
+
+#: varasm.c:455 config/i386/winnt.c:546
#, c-format
msgid "%s causes a section type conflict"
msgstr "%s ¤Ï¥»¥¯¥·¥ç¥ó¥¿¥¤¥×¤Î¶¥¹ç¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
-#: varasm.c:880
+#: varasm.c:841
#, c-format
msgid "register name not specified for `%s'"
msgstr "¥ì¥¸¥¹¥¿Ì¾¤¬ `%s' ÍѤ˻ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: varasm.c:882
+#: varasm.c:843
#, c-format
msgid "invalid register name for `%s'"
msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
-#: varasm.c:885
+#: varasm.c:846
#, c-format
msgid "data type of `%s' isn't suitable for a register"
msgstr "`%s' ¤Î¥Ç¡¼¥¿·¿¤Ï register ¤Ë¤Ï¤Õ¤µ¤ï¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: varasm.c:888
+#: varasm.c:849
#, c-format
msgid "register specified for `%s' isn't suitable for data type"
msgstr "`%s' ¤Ë»ØÄꤵ¤ì¤¿ register ¤Ï¥Ç¡¼¥¿·¿¤Ë¤Õ¤µ¤ï¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: varasm.c:897
+#: varasm.c:858
msgid "global register variable has initial value"
msgstr "Âç°è register ÊÑ¿ô¤¬½é´üÃͤò»ý¤Ã¤Æ¤¤¤Þ¤¹"
-#: varasm.c:900
+#: varasm.c:861
msgid "volatile register variables don't work as you might wish"
msgstr "volatile register ÊÑ¿ô¤Ï°Õ¿Þ¤·¤¿¤è¤¦¤Ë¤ÏÆ°ºî¤·¤Þ¤»¤ó"
-#: varasm.c:936
+#: varasm.c:894
#, c-format
msgid "register name given for non-register variable `%s'"
msgstr "¥ì¥¸¥¹¥¿Ì¾¤¬Èó register ÊÑ¿ô `%s' ¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
-#: varasm.c:1543
-#, c-format
-msgid "size of variable `%s' is too large"
-msgstr "ÊÑ¿ô `%s' ¤Î¥µ¥¤¥º¤¬Â礭¤¹¤®¤Þ¤¹"
-
-#: varasm.c:1583
+#: varasm.c:1542
#, fuzzy, c-format
msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr "`%s' ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤¤¤Ç¤¹¡£ %d ¤ò»È¤¤¤Þ¤¹¡£"
-#: varasm.c:1634
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
+msgstr ""
+
+#: varasm.c:1608
#, fuzzy, c-format
msgid "requested alignment for %s is greater than implemented alignment of %d"
msgstr "%s ¤ËÍ׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï¼ÂÁõ¤µ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È %d ¤è¤êÂ礭¤¤¤Ç¤¹"
-#: varasm.c:2120
-msgid "floating point trap outputting a constant"
-msgstr "ÉâÆ°¾®¿ôÅÀ¤Î¨Ãͤò½ÐÎϤ¹¤ëºÝ¤Ë¥È¥é¥Ã¥×¤¬¤«¤«¤ê¤Þ¤·¤¿"
-
-#: varasm.c:4454
+#: varasm.c:4020
msgid "initializer for integer value is too complicated"
msgstr "À°¿ô¤Î½é´üÀßÄê»Ò¤ÎÃͤ¬Ê£»¨¤¹¤®¤Þ¤¹"
-#: varasm.c:4459
+#: varasm.c:4025
msgid "initializer for floating value is not a floating constant"
msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤Î½é´üÀßÄê»Ò¤ÎÃͤ¬¡¢ÉâÆ°¾®¿ôÅÀÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: varasm.c:4508
+#: varasm.c:4075
msgid "unknown set constructor type"
msgstr "ÉÔÌÀ¤ÊÀßÄêºÑ¥³¥ó¥¹¥È¥é¥¯¥¿·¿¤Ç¤¹"
-#: varasm.c:4722
+#: varasm.c:4289
#, c-format
msgid "invalid initial value for member `%s'"
msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
-#: varasm.c:4914
-#, c-format
-msgid "weak declaration of `%s' must be public"
-msgstr "`%s' ¤Î weak Àë¸À¤Ï public ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-
-#: varasm.c:4916
+#: varasm.c:4480 varasm.c:4523
#, c-format
msgid "weak declaration of `%s' must precede definition"
msgstr "`%s' ¤Î weak Àë¸À¤ÏÄêµÁ¤è¤ê¤âÀè¤Ë¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: varasm.c:4920
+#: varasm.c:4487
+#, fuzzy, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "`%s' ¤Î weak Àë¸À¤ÏÄêµÁ¤è¤ê¤âÀè¤Ë¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: varasm.c:4521
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr "`%s' ¤Î weak Àë¸À¤Ï public ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: varasm.c:4530
#, fuzzy, c-format
msgid "weak declaration of `%s' not supported"
msgstr "`%s' ¤Î weak Àë¸À¤Ï public ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: varasm.c:5016
+#: varasm.c:4557 varasm.c:4632
msgid "only weak aliases are supported in this configuration"
msgstr "¸½ºß¤ÎÀßÄê¤Ç¤Ï weak alias ¤·¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: varasm.c:5021
+#: varasm.c:4640
msgid "alias definitions not supported in this configuration; ignored"
msgstr "¸½ºß¤ÎÀßÄê¤Ç¤Ï alias ÄêµÁ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: varray.c:88
+#: varasm.c:4670
+#, fuzzy
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "¸½ºß¤ÎÀßÄê¤Ç¤Ï alias ÄêµÁ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- ̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+#: varray.c:134
#, fuzzy, c-format
msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
msgstr "²¾Áۥơ¼¥Ö¥ë %s[%lu]: Í×ÁÇ %lu ¤¬Èϰϳ°¤Ç¤¹"
#. Print an error message for unrecognized stab codes.
-#: xcoffout.c:170
+#: xcoffout.c:175
#, fuzzy, c-format
msgid "no sclass for %s stab (0x%x)\n"
msgstr "%s ¥¹¥¿¥ÖÍѤΠsclass ¤¬¤¢¤ê¤Þ¤»¤ó (0x%x)\n"
-#: config/darwin-c.c:76
+#: pretty-print.h:97
+#, fuzzy, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "`%s' ¤Ï %s ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eliglible for inlining"
+msgstr ""
+
+#: 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:122
+msgid "The maximum number of instructions to consider to find accurate live register information"
+msgstr ""
+
+#: params.def:132
+msgid "The maximum length of scheduling's pending operations list"
+msgstr ""
+
+#: params.def:139
+msgid "The maximum amount of memory to be allocated by GCSE"
+msgstr ""
+
+#: params.def:144
+msgid "The maximum number of passes to make when doing GCSE"
+msgstr ""
+
+#: params.def:151
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: params.def:176
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr ""
+
+#: params.def:180
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: params.def:204
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr ""
+
+#: params.def:210
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr ""
+
+#: config/darwin-c.c:75
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
+#: config/darwin-c.c:97 config/darwin-c.c:100 config/darwin-c.c:102
+#: config/darwin-c.c:104
#, fuzzy
msgid "malformed '#pragma options', ignoring"
msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: config/darwin-c.c:108
+#: config/darwin-c.c:107
#, fuzzy
msgid "junk at end of '#pragma options'"
msgstr "'#pragma %s' ¤ÎºÇ¸å¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/darwin-c.c:118
+#: config/darwin-c.c:117
msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
msgstr ""
-#: config/darwin-c.c:131
+#: config/darwin-c.c:130
#, fuzzy
msgid "missing '(' after '#pragma unused', ignoring"
msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: config/darwin-c.c:149
+#: config/darwin-c.c:148
#, fuzzy
msgid "missing ')' after '#pragma unused', ignoring"
msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: config/darwin-c.c:152
+#: config/darwin-c.c:151
#, fuzzy
msgid "junk at end of '#pragma unused'"
msgstr "'#pragma %s' ¤ÎºÇ¸å¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
msgid "-msystem-v and -p are incompatible"
msgstr "-msystem-v ¤È -p ¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87
+#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102
msgid "-msystem-v and -mthreads are incompatible"
msgstr "-msystem-v ¤È -mthreads ¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: 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 "ºÇŬ²½¥ì¥Ù¥ë¤ò¸µ¤ËÌᤷ¤Þ¤·¤¿"
-
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
-msgstr "VAX-C ¥¢¥é¥¤¥ó¥á¥ó¥È¤ò»ÈÍÑ"
-
-#: config/a29k/a29k.c:1028
-#, c-format
-msgid "invalid %%Q value"
-msgstr "̵¸ú¤Ê %%Q ÃÍ"
-
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5145
-#, c-format
-msgid "invalid %%C value"
-msgstr "̵¸ú¤Ê %%C ÃÍ"
-
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:4990
-#: config/rs6000/rs6000.c:5690
-#, c-format
-msgid "invalid %%N value"
-msgstr "̵¸ú¤Ê %%N ÃÍ"
-
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5061
-#: config/rs6000/rs6000.c:5652
-#, c-format
-msgid "invalid %%M value"
-msgstr "̵¸ú¤Ê %%M ÃÍ"
-
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5053
-#: config/rs6000/rs6000.c:5617
-#, c-format
-msgid "invalid %%m value"
-msgstr "̵¸ú¤Ê %%m ÃÍ"
-
-#: config/a29k/a29k.c:1154 config/alpha/alpha.c:5014 config/romp/romp.c:690
-#, c-format
-msgid "invalid %%L value"
-msgstr "̵¸ú¤Ê %%L ÃÍ"
-
-#: config/a29k/a29k.c:1159 config/rs6000/rs6000.c:5698
-#, c-format
-msgid "invalid %%O value"
-msgstr "̵¸ú¤Ê %%O ÃÍ"
-
-#: config/a29k/a29k.c:1165 config/alpha/alpha.c:4998
-#: config/rs6000/rs6000.c:5718
-#, c-format
-msgid "invalid %%P value"
-msgstr "̵¸ú¤Ê %%P ÃÍ"
-
-#: config/a29k/a29k.c:1175
-#, c-format
-msgid "invalid %%V value"
-msgstr "̵¸ú¤Ê %%V ÃÍ"
-
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
-msgstr "DW ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤¿¤È¸«¤Ê¤·¤Æ¥³¡¼¥ÉÀ¸À®"
-
-#: config/a29k/a29k.h:102
-msgid "Generate code assuming DW bit is not set"
-msgstr "DW ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¸«¤Ê¤·¤Æ¥³¡¼¥ÉÀ¸À®"
-
-#: config/a29k/a29k.h:103
-msgid "Generate code using byte writes"
-msgstr "¥Ð¥¤¥È½ñ¤­¹þ¤ß¤ò»È¤Ã¤Æ¥³¡¼¥ÉÀ¸À®"
-
-#: config/a29k/a29k.h:104
-msgid "Do not generate byte writes"
-msgstr "¥Ð¥¤¥È½ñ¤­¹þ¤ß¤ò»È¤ï¤º¤Ë¥³¡¼¥ÉÀ¸À®"
-
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
-msgstr "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë¤òÍøÍÑ"
-
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
-msgstr "¥Î¡¼¥Þ¥ë¥á¥â¥ê¥â¥Ç¥ë¤òÍøÍÑ"
-
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
-msgstr "¥é¡¼¥¸¥á¥â¥ê¥â¥Ç¥ë¤òÍøÍÑ"
-
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
-msgstr "29050 ¥³¡¼¥É¤òÀ¸À®"
-
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
-msgstr "29000 ¥³¡¼¥É¤òÀ¸À®"
-
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
-msgstr "¥«¡¼¥Í¥ë¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿¤òÍøÍÑ"
-
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
-msgstr "¥æ¡¼¥¶¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿¤òÍøÍÑ"
-
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
-msgstr "¥¹¥¿¥Ã¥¯¥Á¥§¥Ã¥¯ÍÑ¥³¡¼¥É¤òÅǤ¯"
-
-#: config/a29k/a29k.h:113
-msgid "Do not emit stack checking code"
-msgstr "¥¹¥¿¥Ã¥¯¥Á¥§¥Ã¥¯ÍÑ¥³¡¼¥É¤òÅǤ«¤Ê¤¤"
-
-#: config/a29k/a29k.h:114
-msgid "Work around storem hardware bug"
-msgstr "storem ¥Ï¡¼¥É¥¦¥§¥¢¥Ð¥°¤ÎÂнè¤ò¹Ô¤Ê¤¦"
-
-#: config/a29k/a29k.h:115
-msgid "Do not work around storem hardware bug"
-msgstr "storem ¥Ï¡¼¥É¥¦¥§¥¢¥Ð¥°¤ÎÂнè¤ò¹Ô¤Ê¤ï¤Ê¤¤"
-
-#: config/a29k/a29k.h:116
-msgid "Store locals in argument registers"
-msgstr "°ú¿ô¥ì¥¸¥¹¥¿¤Ë¥í¡¼¥«¥ë¤Î¤â¤Î¤ò³ÊǼ¤¹¤ë"
-
-#: config/a29k/a29k.h:117
-msgid "Do not store locals in arg registers"
-msgstr "°ú¿ô¥ì¥¸¥¹¥¿¤Ë¥í¡¼¥«¥ë¤Î¤â¤Î¤ò³ÊǼ¤·¤Ê¤¤"
-
-#: config/a29k/a29k.h:118 config/i960/i960.h:289 config/mips/mips.h:408
-msgid "Use software floating point"
-msgstr "¥½¥Õ¥ÈÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
-
-#: config/a29k/a29k.h:119
-msgid "Do not generate multm instructions"
-msgstr "multm Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-
-#: config/alpha/alpha.c:269
+#: config/alpha/alpha.c:342
#, fuzzy, c-format
msgid "-f%s ignored for Unicos/Mk (not supported)"
msgstr "-f%s ¤Ï 68HC11/68HC12 ÍѤȤ·¤Æ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿ (¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó)"
-#: config/alpha/alpha.c:293
+#: config/alpha/alpha.c:366
#, fuzzy
msgid "-mieee not supported on Unicos/Mk"
msgstr "-pipe ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: config/alpha/alpha.c:304
+#: config/alpha/alpha.c:377
msgid "-mieee-with-inexact not supported on Unicos/Mk"
msgstr ""
-#: config/alpha/alpha.c:321
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr "-mtrap-precision ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤Æ¤ÎÉÔÀµ¤ÊÃÍ `%s'"
-#: config/alpha/alpha.c:335
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr "-mfp-rounding-mode ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤Æ¤ÎÉÔÀµ¤ÊÃÍ `%s'"
-#: config/alpha/alpha.c:350
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr "-mfp-trap-mode ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤Æ¤ÎÉÔÀµ¤ÊÃÍ `%s'"
-#: config/alpha/alpha.c:369 config/alpha/alpha.c:381
+#: config/alpha/alpha.c:435
+#, fuzzy, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "-mcpu ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤Æ¤ÎÉÔÀµ¤ÊÃÍ `%s'"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr "-mcpu ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤Æ¤ÎÉÔÀµ¤ÊÃÍ `%s'"
-#: config/alpha/alpha.c:388
+#: config/alpha/alpha.c:473
#, fuzzy
msgid "trap mode not supported on Unicos/Mk"
msgstr "VAX ÉâÆ°¾®¿ô¤Ç¤Ï¥È¥é¥Ã¥×¥â¡¼¥É¤òÍøÍѤǤ­¤Þ¤»¤ó"
-#: config/alpha/alpha.c:395
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr "ÉâÆ°¾®¿ôÅÀÊä´°¤Ï -mtrap-precision=i ¤òɬÍפȤ·¤Þ¤¹"
-#: config/alpha/alpha.c:411
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
msgstr "VAX ÉâÆ°¾®¿ô¤Ç¤Ï´Ý¤á¥â¡¼¥É¤òÍøÍѤǤ­¤Þ¤»¤ó"
-#: config/alpha/alpha.c:416
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
msgstr "VAX ÉâÆ°¾®¿ô¤Ç¤Ï¥È¥é¥Ã¥×¥â¡¼¥É¤òÍøÍѤǤ­¤Þ¤»¤ó"
-#: config/alpha/alpha.c:445
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr "L%d ¥­¥ã¥Ã¥·¥å¥ì¥¤¥Æ¥ó¥·¤Ï %s ¤Ë¤È¤Ã¤ÆÉÔÌÀ¤Ç¤¹"
-#: config/alpha/alpha.c:460
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr "`%s' ¤Ï -mmemory-latency ¤Ë¤È¤Ã¤ÆÉÔÀµ¤ÊÃͤǤ¹"
-#: config/alpha/alpha.c:4964 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 "̵¸ú¤Ê %%H ÃÍ"
-#: config/alpha/alpha.c:4974 config/ia64/ia64.c:3521
+#: config/alpha/alpha.c:5625
+#, fuzzy, c-format
+msgid "invalid %%J value"
+msgstr "̵¸ú¤Ê %%W ÃͤǤ¹"
+
+#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "̵¸ú¤Ê %%r ÃÍ"
-#: config/alpha/alpha.c:4984 config/rs6000/rs6000.c:5764
+#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700
#, c-format
msgid "invalid %%R value"
msgstr "̵¸ú¤Ê %%R ÃÍ"
-#: config/alpha/alpha.c:5006 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 "̵¸ú¤Ê %%N ÃÍ"
+
+#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654
+#, c-format
+msgid "invalid %%P value"
+msgstr "̵¸ú¤Ê %%P ÃÍ"
+
+#: 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 "̵¸ú¤Ê %%h ÃÍ"
-#: config/alpha/alpha.c:5096
+#: config/alpha/alpha.c:5681 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "̵¸ú¤Ê %%L ÃÍ"
+
+#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608
+#, c-format
+msgid "invalid %%m value"
+msgstr "̵¸ú¤Ê %%m ÃÍ"
+
+#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616
+#, c-format
+msgid "invalid %%M value"
+msgstr "̵¸ú¤Ê %%M ÃÍ"
+
+#: config/alpha/alpha.c:5772
#, c-format
msgid "invalid %%U value"
msgstr "̵¸ú¤Ê %%U ÃÍ"
-#: config/alpha/alpha.c:5108 config/alpha/alpha.c:5122 config/romp/romp.c:698
-#: config/rs6000/rs6000.c:5772
+#: 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 "̵¸ú¤Ê %%s ÃÍ"
-#: config/alpha/alpha.c:5182 config/rs6000/rs6000.c:5479
+#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "̵¸ú¤Ê %%C ÃÍ"
+
+#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7465
#, c-format
msgid "invalid %%E value"
msgstr "̵¸ú¤Ê %%E ÃÍ"
-#: config/alpha/alpha.c:5203 config/romp/romp.c:973
-#: config/rs6000/rs6000.c:6080
+#: config/alpha/alpha.c:5883 config/alpha/alpha.c:5933
+#, fuzzy
+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 "̵¸ú¤Ê %%xn ¥³¡¼¥É"
+#: config/alpha/alpha.c:6615 config/alpha/alpha.c:6618
+#, fuzzy
+msgid "bad builtin fcode"
+msgstr "ÁȤ߹þ¤ß¥Þ¥¯¥í \"%s\" ¤Ï̵¸ú¤Ç¤¹"
+
#. 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:220 config/i386/i386.h:285 config/i386/i386.h:287
-#: config/i386/i386.h:289 config/ns32k/ns32k.h:103 config/rs6000/rs6000.h:327
-#: config/s390/s390.h:51 config/sparc/sparc.h:552 config/sparc/sparc.h:557
+#: 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:221 config/i386/i386.h:286 config/i386/i386.h:288
-#: config/rs6000/rs6000.h:329 config/sparc/sparc.h:554
-#: config/sparc/sparc.h:559
+#: 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:222
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ¹¤ë"
-#: config/alpha/alpha.h:224
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ·¤Ê¤¤"
-#: config/alpha/alpha.h:225
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
msgstr "GAS ¤ÎÍøÍѤòÁ°Äó¤È¤·¤Ê¤¤"
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
msgstr "GAS ¤ÎÍøÍѤòÁ°Äó¤È¤¹¤ë"
-#: config/alpha/alpha.h:228
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
msgstr "IEEE ½àµò¤Î¿ô³Ø¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó (OSF/1) ¤òÍ׵᤹¤ë"
-#: config/alpha/alpha.h:230
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr "ÉÔŬÀÚ¤ÊÎã³°¤ò½ü¤¤¤Æ IEEE ½àµò¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/alpha/alpha.h:232
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr "ÉÔŬÀÚ¤ÊÎã³°¤ò´Þ¤á¤Æ IEEE ½àµò¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/alpha/alpha.h:234
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
msgstr "Ê£ÁÇ¿ô¤ÎÀ°¿ôÄê¿ô¤òÆɤ߹þ¤ßÀìÍÑ¥á¥â¥ê¤ËŸ³«¤µ¤»¤Ê¤¤"
-#: config/alpha/alpha.h:235
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr "VAX ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
-#: config/alpha/alpha.h:236
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr "VAX ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ·¤Ê¤¤"
-#: config/alpha/alpha.h:237
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr "¥Ð¥¤¥È/¥ï¡¼¥É ISA ³ÈÄ¥ÍѤΥ³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/alpha/alpha.h:240
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr "¥â¡¼¥·¥ç¥ó¥Ó¥Ç¥ª ISA ³ÈÄ¥ÍѤΥ³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/alpha/alpha.h:243
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr "ÉâÆ°¾®¿ôÅÀ move ¤È sqrt ISA ³ÈÄ¥ÍѤΥ³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/alpha/alpha.h:245
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr "¥«¥¦¥ó¥È ISA ³ÈÄ¥ÍѤΥ³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/alpha/alpha.h:248
+#: config/alpha/alpha.h:307
msgid "Emit code using explicit relocation directives"
msgstr ""
-#: config/alpha/alpha.h:251
+#: config/alpha/alpha.h:310
msgid "Emit 16-bit relocations to the small data areas"
msgstr ""
-#: config/alpha/alpha.h:253
+#: config/alpha/alpha.h:312
msgid "Emit 32-bit relocations to the small data areas"
msgstr ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an initializer
-#. with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the fixed
-#. part of the option name, and the address of a variable. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
+#: 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:298
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
msgid "Use features of and schedule given CPU"
msgstr "CPU ¤ËÍ¿¤¨¤é¤ì¤¿ÆÃħ¤ä¥¹¥±¥¸¥å¡¼¥ë¤òÍøÍѤ¹¤ë"
-#: config/alpha/alpha.h:300
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
msgstr "CPU ¤ËÍ¿¤¨¤é¤ì¤¿¥¹¥±¥¸¥å¡¼¥ë¤òÍøÍѤ¹¤ë"
-#: config/alpha/alpha.h:302
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr "À¸À®¤µ¤ì¤¿ÉâÆ°¾®¿ôÅÀ´Ý¤á¥â¡¼¥É¤òÀ©¸æ¤¹¤ë"
-#: config/alpha/alpha.h:304
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr "IEEE ¥È¥é¥Ã¥×¥â¡¼¥É¤òÀ©¸æ¤¹¤ë"
-#: config/alpha/alpha.h:306
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr "ÉâÆ°¾®¿ôÅÀÎã³°¤ËÍ¿¤¨¤é¤ì¤¿ÀºÅÙ¤òÀ©¸æ¤¹¤ë"
-#: config/alpha/alpha.h:308
+#: 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 "-mcpu ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/arc/arc.c:359
+#: config/arc/arc.c:362
#, fuzzy, c-format
msgid "argument of `%s' attribute is not a string constant"
msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
-#: 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:2272
-msgid "invalid operand to %R code"
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, fuzzy, c-format
+msgid "invalid operand to %%R code"
msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/arc/arc.c:1741 config/m32r/m32r.c:2295
-msgid "invalid operand to %H/%L code"
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, fuzzy, c-format
+msgid "invalid operand to %%H/%%L code"
msgstr "%H/%L ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/arc/arc.c:1765 config/m32r/m32r.c:2372
-msgid "invalid operand to %U code"
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, fuzzy, c-format
+msgid "invalid operand to %%U code"
msgstr "%U ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/arc/arc.c:1776
-msgid "invalid operand to %V code"
+#: config/arc/arc.c:1774
+#, fuzzy, c-format
+msgid "invalid operand to %%V code"
msgstr "%V ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
#. Unknown flag.
-#: config/arc/arc.c:1783 config/m32r/m32r.c:2411 config/sparc/sparc.c:6007
+#: 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:442
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr "-mcpu=%s ¥¹¥¤¥Ã¥Á¤Ï -march= ¥¹¥¤¥Ã¥Á¤È¶¥¹ç¤·¤Þ¤¹"
-#: config/arm/arm.c:452 config/rs6000/rs6000.c:440 config/sparc/sparc.c:383
+#: 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 "ÃÍ (%s) ¤Ï %s switch ¤Ë¤È¤Ã¤ÆÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: config/arm/arm.c:588
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï APCS-32 ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
-#: config/arm/arm.c:593
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï APCS-26 ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
-#: config/arm/arm.c:599
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï interworking ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
-#: config/arm/arm.c:605
+#: config/arm/arm.c:622
#, fuzzy
msgid "target CPU does not support THUMB instructions"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï THUMB Ì¿Îá¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
-#: config/arm/arm.c:619
+#: config/arm/arm.c:636
#, fuzzy
msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr "Thumb ÍѤ˥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤Î¤ß¡¢°ÕÌ£¤Î¤¢¤ë¥Ð¥Ã¥¯¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹"
-#: config/arm/arm.c:622
+#: config/arm/arm.c:639
#, fuzzy
msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr "Thumb ÍѤ˥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤Î¤ß¡¢Èï¸Æ¤Ó½Ð¤·Â¦ interworking ¤òÍ­¸ú¤Ë¤·¤Þ¤¹"
-#: config/arm/arm.c:625
+#: config/arm/arm.c:642
#, fuzzy
msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr "Thumb ÍѤ˥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤Î¤ß¡¢¸Æ¤Ó½Ð¤·Â¦ interworking ¤òÍ­¸ú¤Ë¤·¤Þ¤¹"
-#: config/arm/arm.c:631
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr "interworking ¤Ï APCS-32 ¤Î»ÈÍѤò¶¯Íפ·¤Þ¤¹"
-#: config/arm/arm.c:637
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
msgstr "-mapcs-stack-check ¤Ï -mno-apcs-frame ¤È¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.c:645
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic ¤È -mapcs-reent ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.c:648
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr "APCS ºÆÆþ²Äǽ¥³¡¼¥É¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: config/arm/arm.c:656
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr "-g ¤Ë -mno-apcs-frame ¤ò¤Ä¤±¤ë¤È¡¢¤­¤áºÙ¤«¤Ê¥Ç¥Ð¥Ã¥°¤Ï¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦"
-#: config/arm/arm.c:664
+#: config/arm/arm.c:681
#, fuzzy
msgid "passing floating point arguments in fp regs not yet supported"
msgstr "ÉâÆ°¾®¿ôÅÀ°ú¿ô¤òÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤ÇÅϤ¹¤³¤È¤Ï¡¢¤Þ¤À¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/arm/arm.c:693
+#: config/arm/arm.c:710
#, fuzzy, c-format
msgid "invalid floating point emulation option: -mfpe-%s"
msgstr "̵¸ú¤ÊÉâÆ°¾®¿ôÅÀ¥¨¥ß¥å¥ì¡¼¥È¥ª¥×¥·¥ç¥ó: -mfpe-%s"
-#: config/arm/arm.c:717
+#: config/arm/arm.c:734
#, fuzzy
msgid "structure size boundary can only be set to 8 or 32"
msgstr "¹½Â¤ÂΤΥµ¥¤¥º¶­³¦¤Ï 8 Ëô¤Ï 32 ¤Ë¤·¤«ÀßÄê¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.c:725
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr "-mpic-register= ¤Ï -fpic ¤ò¤Ä¤±¤Ê¤¤¤ÈÌò¤ËΩ¤Á¤Þ¤»¤ó"
-#: config/arm/arm.c:734
+#: config/arm/arm.c:749
#, fuzzy, c-format
msgid "unable to use '%s' for PIC register"
msgstr "'%s' ¤ò PIC ¤Î¥ì¥¸¥¹¥¿¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.c:1969 config/arm/arm.c:1991 config/avr/avr.c:4711
-#: config/c4x/c4x.c:4650 config/h8300/h8300.c:3179 config/i386/i386.c:1249
-#: config/i386/i386.c:1278 config/m68hc11/m68hc11.c:1160
-#: config/mcore/mcore.c:3505 config/ns32k/ns32k.c:1048
-#: config/rs6000/rs6000.c:9981 config/sh/sh.c:4703 config/sh/sh.c:4723
-#: config/sh/sh.c:4762 config/stormy16/stormy16.c:1998 config/v850/v850.c:2044
+#: 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
#, fuzzy, c-format
msgid "`%s' attribute only applies to functions"
msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
-#: config/arm/arm.c:9163
+#: config/arm/arm.c:9474
#, fuzzy
msgid "unable to compute real location of stacked parameter"
msgstr "¥¹¥¿¥Ã¥¯¤ËÀѤޤ줿²¾°ú¿ô¤Î¼ÂºÝ¤ÎÎΰè¤ò·×»»¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.c:9839
+#: config/arm/arm.c:10153
msgid "no low registers available for popping high registers"
msgstr "¹â°Ì¥ì¥¸¥¹¥¿¤ò pop ¤¹¤ë°Ù¤Ë»ÈÍѤǤ­¤ëÄã°Ì¥ì¥¸¥¹¥¿¤¬¤¢¤ê¤Þ¤»¤ó"
-#: config/arm/arm.c:10028
+#: config/arm/arm.c:10404
#, fuzzy
msgid "interrupt Service Routines cannot be coded in Thumb mode"
msgstr "Thumb ¥â¡¼¥É¤Ç¤Ï³ä¤ê¹þ¤ß¥µ¡¼¥Ó¥¹¥ë¡¼¥Á¥ó¤ò¥³¡¼¥É²½¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.h:424
+#: 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 "½é´ü²½¤µ¤ì¤¿ÊÑ¿ô `%s' ¤Ï dllimport ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+#: config/arm/pe.c:177 config/i386/winnt.c:312
+#, c-format
+msgid "static variable `%s' is marked dllimport"
+msgstr "ÀÅŪÊÑ¿ô `%s' ¤Ï dllimport ¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr "APCS Ŭ¹ç¤·¤¿¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
-#: config/arm/arm.h:427
+#: config/arm/arm.h:419
msgid "Store function names in object code"
msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤Ë´Ø¿ô̾¤ò³ÊǼ¤¹¤ë"
-#: config/arm/arm.h:431
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr "APCS ¤Î 32 ¥Ó¥Ã¥ÈÈǤò»ÈÍѤ¹¤ë"
-#: config/arm/arm.h:433
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr "APCS ¤Î 26 ¥Ó¥Ã¥ÈÈǤò»ÈÍѤ¹¤ë"
-#: config/arm/arm.h:437
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr "FP ¥ì¥¸¥¹¥¿¤Ç FP °ú¿ô¤òÅϤ¹"
-#: config/arm/arm.h:440
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr "ºÆÆþ²Äǽ¤Ê PIC ¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹"
-#: config/arm/arm.h:443
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr "MMU ¤Ï¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Ê¤¤¥¢¥¯¥»¥¹¤Ç¥È¥é¥Ã¥×¤òȯ¤¹¤ë¤Ç¤·¤ç¤¦"
-#: config/arm/arm.h:450
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
msgstr "ÉâÆ°¾®¿ôÅÀ±é»»¤ò¹Ô¤¦¥é¥¤¥Ö¥é¥ê¸Æ¤Ó½Ð¤·¤òÍøÍѤ¹¤ë"
-#: config/arm/arm.h:452 config/i960/i960.h:287
+#: config/arm/arm.h:444 config/i960/i960.h:281
msgid "Use hardware floating point instructions"
msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/arm/arm.h:454
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤¬¥Ó¥Ã¥¯¥¨¥ó¥Ç¥£¥¢¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹"
-#: config/arm/arm.h:456
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹"
-#: config/arm/arm.h:458
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
msgstr "byte ¤¬¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Ç word ¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤È¤ß¤Ê¤¹"
-#: config/arm/arm.h:460
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr "Thumb ¤È ARM Ì¿Î᥻¥Ã¥È´Ö¤Î¸Æ¤Ó½Ð¤·¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-#: config/arm/arm.h:463
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
-#: config/arm/arm.h:466
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr "´Ø¿ô¤Î³«»ÏÉôʬ¤ËÌ¿Îá¤ò°ÜÆ°¤·¤Ê¤¤"
-#: config/arm/arm.h:469
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­Éôʬ¤Ë PIC ¥ì¥¸¥¹¥¿¤ò¥í¡¼¥É¤·¤Ê¤¤"
-#: config/arm/arm.h:472
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr "ɬÍפ¬¤¢¤ì¤Ð¡¢Ì¿Îá¸Æ¤Ó½Ð¤·¤ò´ÖÀܸƤӽФ·¤È¤·¤ÆÀ¸À®¤¹¤ë"
-#: config/arm/arm.h:475
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr "ARM ¤Ç¤Ï¤Ê¤¯ Thumb ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: config/arm/arm.h:479
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr "Thumb: ÉÔÍפʾì¹ç¤Ç¤â(ÈóËöü)¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
-#: config/arm/arm.h:482
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
msgstr "Thumb: ÉÔÍפʾì¹ç¤Ç¤â(Ëöü)¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
-#: config/arm/arm.h:485
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
msgstr "Thumb: ÈóÀÅŪ´Ø¿ô¤¬ ARM ¥³¡¼¥É¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
-#: config/arm/arm.h:489
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
msgstr "Thumb: ´Ø¿ô¥Ý¥¤¥ó¥¿¤¬Èó Thumb ¤Èǧ¼±¤¹¤ë¥³¡¼¥É¤ËÆÍÆþ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
-#: config/arm/arm.h:499
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
-#: config/arm/arm.h:501
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
-#: config/arm/arm.h:505
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr "ÉâÆ°¾®¿ôÅÀ¥¨¥ß¥å¥ì¡¼¥¿¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤹ¤ë"
-#: config/arm/arm.h:507
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr "¹½Â¤ÂÎ¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎºÇ¾®¥Ó¥Ã¥È¿ô¤ò»ØÄꤹ¤ë"
-#: config/arm/arm.h:509
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
msgstr "PIC ¥¢¥É¥ì¥·¥ó¥°¤ËÍøÍѤµ¤ì¤ë¥ì¥¸¥¹¥¿¤ò»ØÄꤹ¤ë"
-#: config/arm/pe.c:168 config/i386/winnt.c:290 config/mcore/mcore.c:3365
-#, c-format
-msgid "initialized variable `%s' is marked dllimport"
-msgstr "½é´ü²½¤µ¤ì¤¿ÊÑ¿ô `%s' ¤Ï dllimport ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
-
-#: config/arm/pe.c:177 config/i386/winnt.c:299
-#, c-format
-msgid "static variable `%s' is marked dllimport"
-msgstr "ÀÅŪÊÑ¿ô `%s' ¤Ï dllimport ¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
-
#: config/arm/pe.h:65
msgid "Ignore dllimport attribute for functions"
msgstr "´Ø¿ô¤Î dllimport °À­¤ò̵»ë¤¹¤ë"
-#. 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 "BSD ÍѤ˥·¥ó¥Ü¥ë̾¤òÊѹ¹¤¹¤ë"
-
-#: config/arm/riscix.h:85
-msgid "Do symbol renaming for X/OPEN"
-msgstr "X/OPEN ÍѤ˥·¥ó¥Ü¥ë̾¤òÊѹ¹¤¹¤ë"
-
-#: config/arm/riscix.h:86
-msgid "Don't do symbol renaming"
-msgstr "¥·¥ó¥Ü¥ë̾¤ÎÊѹ¹¤ò¹Ô¤ï¤Ê¤¤"
-
-#: config/avr/avr.c:213
-#, c-format
-msgid "MCU `%s' not supported"
-msgstr "MCU `%s' ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-
-#: config/avr/avr.c:453
+#: config/avr/avr.c:528
#, c-format
msgid "large frame pointer change (%d) with -mtiny-stack"
msgstr "-mtiny-stack ¤Ë¤è¤ê¥é¡¼¥¸¥Õ¥ì¡¼¥à¥Ý¥¤¥ó¥¿¤¬Êѹ¹¤µ¤ì¤Þ¤¹(%d)"
-#: config/avr/avr.c:1048
+#: config/avr/avr.c:1135
msgid "bad address, not (reg+disp):"
msgstr ""
-#: config/avr/avr.c:1056
+#: config/avr/avr.c:1143
#, fuzzy
msgid "internal compiler error. Bad address:"
msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼."
-#: config/avr/avr.c:1069
+#: config/avr/avr.c:1156
#, fuzzy
msgid "internal compiler error. Unknown mode:"
msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼."
-#: config/avr/avr.c:1777 config/avr/avr.c:2489
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
#, fuzzy
msgid "invalid insn:"
msgstr "̵¸ú¤Ê #line"
-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
-#: config/avr/avr.c:1958 config/avr/avr.c:2056 config/avr/avr.c:2228
-#: config/avr/avr.c:2526 config/avr/avr.c:2637
+#: 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:1977 config/avr/avr.c:2141 config/avr/avr.c:2299
-#: config/avr/avr.c:2681
+#: config/avr/avr.c:2064 config/avr/avr.c:2228 config/avr/avr.c:2386
+#: config/avr/avr.c:2768
#, fuzzy
msgid "unknown move insn:"
msgstr "ÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹: %s"
-#: config/avr/avr.c:2917
+#: config/avr/avr.c:3003
msgid "bad shift insn:"
msgstr ""
-#: config/avr/avr.c:3033 config/avr/avr.c:3463 config/avr/avr.c:3843
+#: config/avr/avr.c:3119 config/avr/avr.c:3549 config/avr/avr.c:3929
#, fuzzy
msgid "internal compiler error. Incorrect shift:"
msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼."
-#: config/avr/avr.c:4684
+#: config/avr/avr.c:4767
#, fuzzy
msgid "only initialized variables can be placed into program memory area"
msgstr "¥×¥í¥°¥é¥à¥á¥â¥êÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤ò½é´ü²½¤·¤Þ¤·¤¿"
-#. `TARGET_...'
-#. This series of macros is to allow compiler command arguments to
-#. enable or disable the use of optional features of the target
-#. machine. For example, one machine description serves both the
-#. 68000 and the 68020; a command argument tells the compiler whether
-#. it should use 68020-only instructions or not. This command
-#. argument works by means of a macro `TARGET_68020' that tests a bit
-#. in `target_flags'.
-#.
-#. Define a macro `TARGET_FEATURENAME' for each such option. Its
-#. definition should test a bit in `target_flags'; for example:
-#.
-#. #define TARGET_68020 (target_flags & 1)
-#.
-#. One place where these macros are used is in the
-#. condition-expressions of instruction patterns. Note how
-#. `TARGET_68020' appears frequently in the 68000 machine description
-#. file, `m68k.md'. Another place they are used is in the
-#. definitions of the other macros in the `MACHINE.h' file.
-#: config/avr/avr.h:99
+#: config/avr/avr.c:4866
+#, fuzzy
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr "8 ¥Ó¥Ã¥ÈÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+#: config/avr/avr.c:4881
+#, fuzzy, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "MCU `%s' ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+#: config/avr/avr.h:78
msgid "Assume int to be 8 bit integer"
msgstr "int ¤ò 8 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤¹"
-#: config/avr/avr.h:101
+#: config/avr/avr.h:80
msgid "Change the stack pointer without disabling interrupts"
msgstr "³ä¤ê¹þ¤ß¤Î̵¸ú²½¤Ê¤·¤Ç¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤òÊѹ¹¤¹¤ë"
-#: config/avr/avr.h:103
+#: config/avr/avr.h:82
msgid "Use subroutines for function prologue/epilogue"
msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­/·ë¤Ó¤Î¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ë"
-#: config/avr/avr.h:105
+#: config/avr/avr.h:84
msgid "Change only the low 8 bits of the stack pointer"
msgstr "¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤Î²¼°Ì 8 ¥Ó¥Ã¥È¤À¤±¤òÊѹ¹¤¹¤ë"
-#: config/avr/avr.h:107
+#: config/avr/avr.h:86
msgid "Do not generate tablejump insns"
msgstr "¥Æ¡¼¥Ö¥ë¥¸¥ã¥ó¥×Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-#: config/avr/avr.h:110
+#: 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 "asm ¥Õ¥¡¥¤¥ë¤ËÌ¿Î᥵¥¤¥º¤ò½ÐÎϤ¹¤ë"
-#: config/avr/avr.h:144
+#: config/avr/avr.h:108
msgid "Specify the initial stack address"
msgstr "½é´ü¥¹¥¿¥Ã¥¯¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ë"
-#: config/avr/avr.h:145
+#: config/avr/avr.h:109
msgid "Specify the MCU name"
msgstr "MCU ̾¤ò»ØÄꤹ¤ë"
@@ -8883,140 +9201,140 @@ msgstr "MCU ̾¤ò»ØÄꤹ¤ë"
#. 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:2677
+#: config/avr/avr.h:2450
#, fuzzy
msgid "trampolines not supported"
msgstr "¥È¥é¥ó¥Ý¥ê¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó\n"
-#: config/c4x/c4x-c.c:70
+#: config/c4x/c4x-c.c:69
#, fuzzy, c-format
msgid "missing '(' after '#pragma %s' - ignored"
msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: config/c4x/c4x-c.c:73
+#: config/c4x/c4x-c.c:72
#, fuzzy, c-format
msgid "missing function name in '#pragma %s' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: config/c4x/c4x-c.c:78
+#: config/c4x/c4x-c.c:77
#, fuzzy, c-format
msgid "malformed '#pragma %s' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: 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
#, fuzzy, c-format
msgid "missing ')' for '#pragma %s' - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: config/c4x/c4x-c.c:88
+#: config/c4x/c4x-c.c:87
#, c-format
msgid "junk at end of '#pragma %s'"
msgstr "'#pragma %s' ¤ÎºÇ¸å¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/c4x/c4x.c:299
+#: config/c4x/c4x.c:280
#, fuzzy, c-format
msgid "unknown CPU version %d, using 40.\n"
msgstr "ÉÔÌÀ¤Ê CPU ¥Ð¡¼¥¸¥ç¥ó %d¡¢40 ¤ò»ÈÍѤ·¤Þ¤¹¡£\n"
-#: config/c4x/c4x.c:883
+#: config/c4x/c4x.c:853
#, fuzzy, c-format
msgid "ISR %s requires %d words of local vars, max is 32767"
msgstr "ISR %s ¤Ï %d ¥ï¡¼¥É¤Î¥í¡¼¥«¥ëÊÑ¿ô¤òÍ׵ᤷ¡¢ºÇÂç¤Ï 32767 ¤Ç¤¹¡£"
-#: config/c4x/c4x.c:1635
+#: config/c4x/c4x.c:1602
msgid "using CONST_DOUBLE for address"
msgstr ""
-#: config/c4x/c4x.c:1775
+#: config/c4x/c4x.c:1742
msgid "c4x_address_cost: Invalid addressing mode"
msgstr ""
-#: config/c4x/c4x.c:1917
+#: config/c4x/c4x.c:1884
#, fuzzy, c-format
msgid "c4x_print_operand: %%L inconsistency"
msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %B ¥³¡¼¥É¤Ç¤¹"
-#: config/c4x/c4x.c:1923
+#: config/c4x/c4x.c:1890
#, fuzzy, c-format
msgid "c4x_print_operand: %%N inconsistency"
msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %B ¥³¡¼¥É¤Ç¤¹"
-#: config/c4x/c4x.c:1964
+#: config/c4x/c4x.c:1931
#, fuzzy, c-format
msgid "c4x_print_operand: %%O inconsistency"
msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %B ¥³¡¼¥É¤Ç¤¹"
-#: config/c4x/c4x.c:2060
+#: config/c4x/c4x.c:2026
#, fuzzy
msgid "c4x_print_operand: Bad operand case"
msgstr "fr30_print_operand: %A ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê±é»»»Ò¤Ç¤¹"
-#: config/c4x/c4x.c:2103
+#: config/c4x/c4x.c:2069
#, fuzzy
msgid "c4x_print_operand_address: Bad post_modify"
msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
-#: config/c4x/c4x.c:2125
+#: config/c4x/c4x.c:2091
#, fuzzy
msgid "c4x_print_operand_address: Bad pre_modify"
msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
-#: config/c4x/c4x.c:2173 config/c4x/c4x.c:2185 config/c4x/c4x.c:2200
+#: config/c4x/c4x.c:2139 config/c4x/c4x.c:2151 config/c4x/c4x.c:2166
#, fuzzy
msgid "c4x_print_operand_address: Bad operand case"
msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
-#: config/c4x/c4x.c:2456
+#: config/c4x/c4x.c:2422
msgid "c4x_rptb_insert: Cannot find start label"
msgstr ""
-#: config/c4x/c4x.c:3443 config/c4x/c4x.c:3463
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
msgid "mode not QImode"
msgstr ""
-#: config/c4x/c4x.c:3520
+#: config/c4x/c4x.c:3514
#, fuzzy
msgid "invalid indirect memory address"
msgstr "̵¸ú¤Ê PC ¤¬¹ÔÈÖ¹æ¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ê¤Þ¤¹"
-#: config/c4x/c4x.c:3609
+#: config/c4x/c4x.c:3603
msgid "invalid indirect (S) memory address"
msgstr ""
-#: config/c4x/c4x.c:3950
+#: config/c4x/c4x.c:3944
msgid "c4x_valid_operands: Internal error"
msgstr ""
-#: config/c4x/c4x.c:4430
+#: config/c4x/c4x.c:4424
#, fuzzy
msgid "c4x_operand_subword: invalid mode"
msgstr "fr30_print_operand: ̵¸ú¤Ê %x ¥³¡¼¥É¤Ç¤¹"
-#: config/c4x/c4x.c:4433
+#: config/c4x/c4x.c:4427
#, fuzzy
msgid "c4x_operand_subword: invalid operand"
msgstr "fr30_print_operand: %A ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê±é»»»Ò¤Ç¤¹"
#. We could handle these with some difficulty.
#. e.g., *p-- => *(p-=2); *(p+1).
-#: config/c4x/c4x.c:4459
+#: config/c4x/c4x.c:4453
msgid "c4x_operand_subword: invalid autoincrement"
msgstr ""
-#: config/c4x/c4x.c:4465
+#: config/c4x/c4x.c:4459
msgid "c4x_operand_subword: invalid address"
msgstr ""
-#: config/c4x/c4x.c:4476
+#: config/c4x/c4x.c:4470
msgid "c4x_operand_subword: address not offsettable"
msgstr ""
-#: config/c4x/c4x.c:4676
+#: config/c4x/c4x.c:4670
msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
msgstr ""
@@ -9024,7 +9342,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.
@@ -9060,422 +9377,447 @@ 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 "MPYI Ì¿Îá¤ò C3x ÍѤ˻ÈÍѤ¹¤ë"
-#: config/c4x/c4x.h:147
+#: config/c4x/c4x.h:176
msgid "Do not use MPYI instruction for C3x"
msgstr "MPYI Ì¿Îá¤ò C3x ÍѤ˻ÈÍѤ·¤Ê¤¤"
-#: 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 "RTPS Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/c4x/c4x.h:155
+#: config/c4x/c4x.h:184
msgid "Disable use of RTPS instruction"
msgstr "RTPS Ì¿Îá¤ÎÍøÍѤò̵¸ú¤Ë¤¹¤ë"
-#: config/c4x/c4x.h:157
+#: config/c4x/c4x.h:186
msgid "Enable use of RTPB instruction"
msgstr "RTPB Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/c4x/c4x.h:159
+#: config/c4x/c4x.h:188
msgid "Disable use of RTPB instruction"
msgstr "RTPB Ì¿Îá¤ÎÍøÍѤò̵¸ú¤Ë¤¹¤ë"
-#: config/c4x/c4x.h:161
+#: config/c4x/c4x.h:190
msgid "Generate code for C30 CPU"
msgstr "C30 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/c4x/c4x.h:163
+#: config/c4x/c4x.h:192
msgid "Generate code for C31 CPU"
msgstr "C31 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/c4x/c4x.h:165
+#: config/c4x/c4x.h:194
msgid "Generate code for C32 CPU"
msgstr "C32 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/c4x/c4x.h:167
+#: config/c4x/c4x.h:196
msgid "Generate code for C33 CPU"
msgstr "C33 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/c4x/c4x.h:169
+#: config/c4x/c4x.h:198
msgid "Generate code for C40 CPU"
msgstr "C40 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/c4x/c4x.h:171
+#: config/c4x/c4x.h:200
msgid "Generate code for C44 CPU"
msgstr "C44 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/c4x/c4x.h:173
+#: config/c4x/c4x.h:202
msgid "Emit code compatible with TI tools"
msgstr "TI ¥Ä¡¼¥ë¸ß´¹¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: config/c4x/c4x.h:175
+#: config/c4x/c4x.h:204
msgid "Emit code to use GAS extensions"
msgstr "GAS ³ÈÄ¥¤òÍøÍѤ¹¤ë¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-#: 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 "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë¤Ç ISR ¤ò¸Ù¤ë DP ¤ò¥»¡¼¥Ö¤¹¤ë"
-#: 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 "¥¹¥â¡¼¥ë¥â¥Ç¥ë¤Ç ISR ¤ò¸Ù¤ë DP ¤ò¥»¡¼¥Ö¤·¤Ê¤¤"
-#: 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 "BK ¥ì¥¸¥¹¥¿¤òÈÆÍѥ쥸¥¹¥¿¤È¤·¤Æ»ÈÍѤ¹¤ë"
-#: config/c4x/c4x.h:195
+#: config/c4x/c4x.h:224
msgid "Do not allocate BK register"
msgstr "BK ¥ì¥¸¥¹¥¿¤ò³ÎÊݤ·¤Ê¤¤"
-#: config/c4x/c4x.h:197
+#: config/c4x/c4x.h:226
msgid "Enable use of DB instruction"
msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/c4x/c4x.h:199
+#: config/c4x/c4x.h:228
msgid "Disable use of DB instruction"
msgstr "DB Ì¿Îá¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë"
-#: 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 "´¬¤­¾å¤²(hoist)¤ò²þÁ±¤¹¤ë¤¿¤áÄê¿ô¤ò¥ì¥¸¥¹¥¿¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤ò¶¯Íפ¹¤ë"
-#: 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 "RTL À¸À®¤Ë¤Ä¤¤¤Æ¡¢Àµ¾ï¤Ê 3 ¥ª¥Ú¥é¥ó¥ÉÌ¿Îá¤ò¶¯Íפ¹¤ë"
-#: config/c4x/c4x.h:211
+#: config/c4x/c4x.h:240
msgid "Allow RTL generation to emit invalid 3 operand insns"
msgstr "RTL À¸À®¤Ë¤Ä¤¤¤Æ¡¢Ìµ¸ú¤Ê 3 ¥ª¥Ú¥é¥ó¥ÉÌ¿Îá¤òµöÍƤ¹¤ë"
-#: config/c4x/c4x.h:213
+#: config/c4x/c4x.h:242
msgid "Allow unsigned interation counts for RPTB/DB"
msgstr "Éä¹ç̵¤·¤Î RPTB/DB ÍѤÎÈ¿Éü¥«¥¦¥ó¥È¤òµöÍƤ¹¤ë"
-#: config/c4x/c4x.h:215
+#: config/c4x/c4x.h:244
msgid "Disallow unsigned iteration counts for RPTB/DB"
msgstr "Éä¹ç̵¤·¤Î RPTB/DB ÍѤÎÈ¿Éü¥«¥¦¥ó¥È¤òµöÍƤ·¤Ê¤¤"
-#: config/c4x/c4x.h:217
+#: config/c4x/c4x.h:246
msgid "Preserve all 40 bits of FP reg across call"
msgstr "¸Æ¤Ó½Ð¤·¤Î´Ö FP ¥ì¥¸¥¹¥¿¤Î 40 ¥Ó¥Ã¥ÈÁ´¤Æ¤òÊݸ¤¹¤ë"
-#: config/c4x/c4x.h:219
+#: config/c4x/c4x.h:248
msgid "Only preserve 32 bits of FP reg across call"
msgstr "¸Æ¤Ó½Ð¤·¤Î´Ö FP ¥ì¥¸¥¹¥¿¤Î 32 ¥Ó¥Ã¥È¤À¤±¤òÊݸ¤¹¤ë"
-#: 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 "MPY||ADD ¤ª¤è¤Ó MPY||SUB Ì¿Îá¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/c4x/c4x.h:227
+#: config/c4x/c4x.h:256
msgid "Disable MPY||ADD and MPY||SUB instructions"
msgstr "MPY||ADD ¤ª¤è¤Ó MPY||SUB Ì¿Îá¤ò̵¸ú¤Ë¤¹¤ë"
-#: 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:321
+#: config/c4x/c4x.h:333
msgid "Specify maximum number of iterations for RPTS"
msgstr "RPTS ÍѤκÇÂçÈ¿Éü¿ô¤ò»ØÄꤹ¤ë"
-#: config/c4x/c4x.h:323
+#: config/c4x/c4x.h:335
msgid "Select CPU to generate code for"
msgstr "¥³¡¼¥É¤¬À¸À®¤µ¤ì¤ë CPU ¤òÁªÂò¤¹¤ë"
-#. 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 "C400 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
-msgstr "C300 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: config/cris/cris.c:583
+msgid "unexpected index-type in cris_print_index"
+msgstr ""
-#: config/convex/convex.h:52
-msgid "Generate code for c1"
-msgstr "c1 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: config/cris/cris.c:599
+msgid "unexpected base-type in cris_print_base"
+msgstr ""
-#: config/convex/convex.h:53
-msgid "Generate code for c2"
-msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: config/cris/cris.c:892
+#, c-format
+msgid "stackframe too big: %d bytes"
+msgstr ""
-#: config/convex/convex.h:54
-msgid "Generate code for c32"
-msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: config/cris/cris.c:1207
+msgid "allocated but unused delay list in epilogue"
+msgstr ""
-#: config/convex/convex.h:55 config/convex/convex.h:56
-msgid "Generate code for c34"
-msgstr "c34 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: config/cris/cris.c:1217
+#, fuzzy
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+msgstr "´Ø¿ô¤¬ __builtin_eh_return ¤ò»È¤¤¤Þ¤¹"
-#: config/convex/convex.h:58
-msgid "Use standard calling sequence, with arg count word"
-msgstr "ɸ½àŪ¸Æ¤Ó½Ð¤·¼ê½ç¤ò»È¤¤¡¢°ú¿ô¥«¥¦¥ó¥È word ¤ò¤Ä¤±¤ë"
+#: config/cris/cris.c:1296
+#, fuzzy
+msgid "invalid operand for 'b' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/convex/convex.h:60
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr "nop Ì¿ÎáÆâ¤Ë°ú¿ô¥«¥¦¥ó¥È¤òÃÖ¤¯ (push ¤è¤ê¹â®)"
+#: config/cris/cris.c:1308
+#, fuzzy
+msgid "invalid operand for 'v' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/convex/convex.h:62
-msgid "Don't push arg count, depend on symbol table"
-msgstr "°ú¿ô¥«¥¦¥ó¥È¤ò push ¤»¤º¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ò¤¢¤Æ¤Ë¤¹¤ë"
+#: config/cris/cris.c:1318
+#, fuzzy
+msgid "invalid operand for 'P' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/convex/convex.h:64
-msgid "Use data cache for volatile mem refs (default)"
-msgstr "volatile ¥á¥â¥ê»²¾ÈÍѥǡ¼¥¿¥­¥ã¥Ã¥·¥å¤òÍøÍѤ¹¤ë(¥Ç¥Õ¥©¥ë¥È)"
+#: config/cris/cris.c:1325
+#, fuzzy
+msgid "invalid operand for 'p' modifier"
+msgstr "%p ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/convex/convex.h:66
-msgid "Don't use data cache for volatile mem refs"
-msgstr "volatile ¥á¥â¥ê»²¾ÈÍѤˤϥǡ¼¥¿¥­¥ã¥Ã¥·¥å¤ò¹Ô¤ï¤Ê¤¤"
+#: config/cris/cris.c:1364
+#, fuzzy
+msgid "invalid operand for 'z' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/convex/convex.h:68
-msgid "Bypass data cache for volatile mem refs"
-msgstr "volatile ¥á¥â¥ê»²¾ÈÍÑ¤Ë¤Ï cache ¤µ¤ì¤¿¥Ç¡¼¥¿¤ò²óÈò¤¹¤ë"
+#: config/cris/cris.c:1395 config/cris/cris.c:1425
+#, fuzzy
+msgid "invalid operand for 'H' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/convex/convex.h:69
-msgid "Use 64-bit longs"
-msgstr "64 ¥Ó¥Ã¥È long ¤ò»ÈÍѤ¹¤ë"
+#: config/cris/cris.c:1401
+#, fuzzy
+msgid "bad register"
+msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ¹¤ë"
-#: config/convex/convex.h:70
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr "cc- ¤È libc ¸ß´¹¤Î 32 ¥Ó¥Ã¥È long ¤ò»ÈÍѤ¹¤ë"
+#: config/cris/cris.c:1439
+#, fuzzy
+msgid "invalid operand for 'e' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/cris/aout.h:106
-msgid "Compile for the MMU-less Etrax 100-based elinux system"
-msgstr ""
+#: config/cris/cris.c:1456
+#, fuzzy
+msgid "invalid operand for 'm' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/cris/aout.h:113
-msgid "For elinux, request a specified stack-size for this program"
-msgstr ""
+#: config/cris/cris.c:1481
+#, fuzzy
+msgid "invalid operand for 'A' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/cris/cris.c:878
-#, c-format
-msgid "stackframe too big: %d bytes"
-msgstr ""
+#: config/cris/cris.c:1489
+#, fuzzy
+msgid "invalid operand for 'D' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/cris/cris.c:1193
-msgid "allocated but unused delay list in epilogue"
-msgstr ""
+#: config/cris/cris.c:1503
+#, fuzzy
+msgid "invalid operand for 'T' modifier"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/cris/cris.c:1203
+#: config/cris/cris.c:1512
#, fuzzy
-msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
-msgstr "´Ø¿ô¤¬ __builtin_eh_return ¤ò»È¤¤¤Þ¤¹"
+msgid "invalid operand modifier letter"
+msgstr "̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É½ÐÎÏ¥³¡¼¥É"
-#: config/cris/cris.c:1497
+#: config/cris/cris.c:1520
#, fuzzy, c-format
msgid "internal error: bad register: %d"
msgstr "ÆâÉô¥¨¥é¡¼: "
-#: config/cris/cris.c:1966
+#: config/cris/cris.c:1568
+msgid "unexpected multiplicative operand"
+msgstr ""
+
+#: config/cris/cris.c:1588
+#, fuzzy
+msgid "unexpected operand"
+msgstr "ͽ´ü¤µ¤ì¤ë¥á¥â¥ê¥ì¥¤¥Æ¥ó¥·¤òÄ´À°¤¹¤ë"
+
+#: config/cris/cris.c:1623 config/cris/cris.c:1633
+#, fuzzy
+msgid "unrecognized address"
+msgstr "ǧ¼±ÉÔǽ¤Î¥¨¥¹¥±¡¼¥× \\r%c"
+
+#: 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:2253
+#: config/cris/cris.c:2276
msgid "internal error: cris_side_effect_mode_ok with bad operands"
msgstr ""
-#: config/cris/cris.c:2335 config/cris/cris.c:2393
+#: config/cris/cris.c:2358 config/cris/cris.c:2416
#, fuzzy
msgid "unrecognized supposed constant"
msgstr "ǧ¼±ÉÔǽ¤Î¥¨¥¹¥±¡¼¥× \\r%c"
-#: config/cris/cris.c:2434
+#: config/cris/cris.c:2457
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr ""
-#: config/cris/cris.c:2453
+#: config/cris/cris.c:2476
#, fuzzy, c-format
msgid "-max-stackframe=%d is not usable, not between 0 and %d"
msgstr "-mregparm=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/cris/cris.c:2481
+#: config/cris/cris.c:2504
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr ""
-#: config/cris/cris.c:2517
+#: config/cris/cris.c:2540
#, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr ""
-#: config/cris/cris.c:2535
+#: config/cris/cris.c:2558
#, fuzzy
-msgid "-fPIC not supported in this configuration"
+msgid "-fPIC and -fpic are not supported in this configuration"
msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/cris/cris.c:2551
+#: config/cris/cris.c:2574
msgid "that particular -g option is invalid with -maout and -melinux"
msgstr ""
-#: config/cris/cris.c:2742 config/cris/cris.c:2787
+#: config/cris/cris.c:2808 config/cris/cris.c:2853
msgid "unexpected side-effects in address"
msgstr ""
-#: config/cris/cris.c:2888
+#. Labels are never marked as global symbols.
+#: config/cris/cris.c:2950 config/cris/cris.c:2981
+msgid "unexpected PIC symbol"
+msgstr ""
+
+#: config/cris/cris.c:2954
msgid "PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2901
+#: config/cris/cris.c:2967 config/cris/cris.c:3050
#, fuzzy
msgid "unexpected address expression"
msgstr "']' ¤¬É¬Íפǡ¢Ìµ¸ú¤Ê·¿É½¸½¤Ç¤¹"
-#. Labels are never marked as global symbols.
-#: config/cris/cris.c:2915
-msgid "unexpected PIC symbol"
-msgstr ""
-
-#: config/cris/cris.c:2919
+#: config/cris/cris.c:2985
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2928
+#: config/cris/cris.c:2994
msgid "unexpected NOTE as addr_const:"
msgstr ""
+#: config/cris/aout.h:106
+msgid "Compile for the MMU-less Etrax 100-based elinux system"
+msgstr ""
+
+#: config/cris/aout.h:113
+msgid "For elinux, request a specified stack-size for this program"
+msgstr ""
+
#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
-#: config/cris/cris.h:333
+#: config/cris/cris.h:336
msgid "Compile for ETRAX 4 (CRIS v3)"
msgstr ""
-#: config/cris/cris.h:338
+#: config/cris/cris.h:341
msgid "Compile for ETRAX 100 (CRIS v8)"
msgstr ""
-#: config/cris/cris.h:342
+#: config/cris/cris.h:345
msgid "Emit verbose debug information in assembly code"
msgstr ""
-#: config/cris/cris.h:345
+#: config/cris/cris.h:348
#, fuzzy
msgid "Do not use condition codes from normal instructions"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/cris/cris.h:349
+#: config/cris/cris.h:352
msgid "Do not emit addressing modes with side-effect assignment"
msgstr ""
-#: config/cris/cris.h:352
+#: config/cris/cris.h:355
#, fuzzy
msgid "Do not tune stack alignment"
msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/cris/cris.h:355
+#: config/cris/cris.h:358
#, fuzzy
msgid "Do not tune writable data alignment"
msgstr "ʸ»úÎó¤ò½ñ¤­¹þ¤ß²Äǽ¥Ç¡¼¥¿¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤¹¤ë"
-#: config/cris/cris.h:358
+#: config/cris/cris.h:361
msgid "Do not tune code and read-only data alignment"
msgstr ""
-#: config/cris/cris.h:367
+#: config/cris/cris.h:370
msgid "Align code and data to 32 bits"
msgstr ""
-#: config/cris/cris.h:380
+#: config/cris/cris.h:383
msgid "Don't align items in code or data"
msgstr ""
-#: config/cris/cris.h:383
+#: config/cris/cris.h:386
#, fuzzy
msgid "Do not emit function prologue or epilogue"
msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­/·ë¤Ó¤Î¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ë"
#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
-#: config/cris/cris.h:387
+#: config/cris/cris.h:390
msgid "Use the most feature-enabling options allowed by other options"
msgstr ""
#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
-#: config/cris/cris.h:393
+#: config/cris/cris.h:396
msgid "Override -mbest-lib-options"
msgstr ""
-#: config/cris/cris.h:425
+#: config/cris/cris.h:428
#, fuzzy
msgid "Generate code for the specified chip or CPU version"
msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/cris/cris.h:427
+#: config/cris/cris.h:430
#, fuzzy
msgid "Tune alignment for the specified chip or CPU version"
msgstr "`%s' ¤ËÂФ·¤Æ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
-#: config/cris/cris.h:429
+#: config/cris/cris.h:432
msgid "Warn when a stackframe is larger than the specified size"
msgstr ""
#. Node: Profiling
-#: config/cris/cris.h:1025
+#: config/cris/cris.h:1019
msgid "no FUNCTION_PROFILER for CRIS"
msgstr ""
@@ -9483,144 +9825,107 @@ msgstr ""
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
msgstr ""
-#: config/d30v/d30v.c:209
+#: config/d30v/d30v.c:207
#, fuzzy, c-format
msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
msgstr "¥ì¥¸¥¹¥¿ %s ¤Ë¤È¤Ã¤ÆÉÔÀµ¤Ê modes_tieable_p, mode1 %s, mode2 %s"
-#: config/d30v/d30v.c:2676
+#: config/d30v/d30v.c:2666
msgid "bad insn to d30v_print_operand_address:"
msgstr ""
-#: config/d30v/d30v.c:2693 config/d30v/d30v.c:2754 config/d30v/d30v.c:2775
-#: config/d30v/d30v.c:2793
+#: 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:2861
+#: config/d30v/d30v.c:2851
msgid "bad insn to d30v_print_operand, 'f' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2870
+#: config/d30v/d30v.c:2860
msgid "bad insn to d30v_print_operand, 'A' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2877
+#: config/d30v/d30v.c:2867
msgid "bad insn to d30v_print_operand, 'M' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2931
+#: config/d30v/d30v.c:2921
msgid "bad insn to print_operand, 'F' or 'T' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2942
+#: config/d30v/d30v.c:2932
msgid "bad insn to print_operand, 'B' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2949
+#: config/d30v/d30v.c:2939
msgid "bad insn to print_operand, 'E' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2967
+#: config/d30v/d30v.c:2957
msgid "bad insn to print_operand, 'R' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2976 config/d30v/d30v.c:2984
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
msgid "bad insn to print_operand, 's' modifier:"
msgstr ""
-#: config/d30v/d30v.c:3013
+#: config/d30v/d30v.c:3003
msgid "bad insn in d30v_print_operand, 0 case"
msgstr ""
-#: config/d30v/d30v.c:3368
+#: config/d30v/d30v.c:3301
msgid "d30v_emit_comparison"
msgstr ""
-#: config/d30v/d30v.c:3412
+#: config/d30v/d30v.c:3345
msgid "bad call to d30v_move_2words"
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.
-#.
-#. Each subgrouping contains a string constant, that defines the option name, a
-#. number, which contains the bits to set in `target_flags', and a second
-#. string which is the description displayed by `--help'. If the number is
-#. negative then the bits specified by the number are cleared instead of being
-#. set. If the description string is present but empty, then no help
-#. information will be displayed for that option, but it will not count as an
-#. undocumented option. The actual option name is made by appending `-m' to
-#. the specified name.
-#.
-#. One of the subgroupings should have a null string. The number in this
-#. grouping is the default value for target_flags. Any target options act
-#. starting with that value.
-#.
-#. Here is an example which defines -m68000 and -m68020 with opposite meanings,
-#. and picks the latter as the default:
-#.
-#. #define TARGET_SWITCHES { { "68020", TARGET_MASK_68020, "" }, { "68000", -TARGET_MASK_68020, "Compile for the 68000" }, { "", TARGET_MASK_68020, "" }}
-#: config/d30v/d30v.h:443
+#: config/d30v/d30v.h:114
msgid "Enable use of conditional move instructions"
msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/d30v/d30v.h:446
+#: config/d30v/d30v.h:117
msgid "Disable use of conditional move instructions"
msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤò̵¸ú¤Ë¤¹¤ë"
-#: config/d30v/d30v.h:449
+#: config/d30v/d30v.h:120
msgid "Debug argument support in compiler"
msgstr "¥³¥ó¥Ñ¥¤¥éÆâ¤Î¥Ç¥Ð¥Ã¥°°ú¿ô¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-#: config/d30v/d30v.h:452
+#: config/d30v/d30v.h:123
msgid "Debug stack support in compiler"
msgstr "¥³¥ó¥Ñ¥¤¥éÆâ¤Î¥Ç¥Ð¥Ã¥°¥¹¥¿¥Ã¥¯¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-#: config/d30v/d30v.h:455
+#: config/d30v/d30v.h:126
msgid "Debug memory address support in compiler"
msgstr "¥³¥ó¥Ñ¥¤¥éÆâ¤Î¥Ç¥Ð¥Ã¥°¥á¥â¥ê¥¢¥É¥ì¥¹¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-#: config/d30v/d30v.h:458
+#: config/d30v/d30v.h:129
#, fuzzy
msgid "Make adjacent short instructions parallel if possible"
msgstr "²Äǽ¤Ê¤é¤ÐÎÙÀܤ¹¤ëû¤¤Ì¿Îá¤òÊÂÎ󲽤¹¤ë"
-#: config/d30v/d30v.h:461
+#: config/d30v/d30v.h:132
#, fuzzy
msgid "Do not make adjacent short instructions parallel"
msgstr "ÎÙÀܤ¹¤ëû¤¤Ì¿Îá¤òÊÂÎ󲽤·¤Ê¤¤"
-#: config/d30v/d30v.h:464 config/d30v/d30v.h:467
+#: 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:470
+#: config/d30v/d30v.h:141
msgid "Link programs/data to be in onchip memory by default"
msgstr "¥×¥í¥°¥é¥à/¥Ç¡¼¥¿¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¥Á¥Ã¥×¾å¤Î¥á¥â¥êÆâ¤Ë¥ê¥ó¥¯¤¹¤ë"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of command
-#. options that have values. Its definition is an initializer with a
-#. subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the fixed part of
-#. the option name, the address of a variable, and a description string. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-<number>'. If the given
-#. option is `-mshort-data-512', the variable `m88k_short_data' will be set to
-#. the string "512".
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data, "Specify the size of the short data section" } }
-#: config/d30v/d30v.h:497
+#: config/d30v/d30v.h:149
msgid "Change the branch costs within the compiler"
msgstr "¥³¥ó¥Ñ¥¤¥éÆâÉô¤Ç¤Îʬ´ô¥³¥¹¥È¤òÊѹ¹¤¹¤ë"
-#: config/d30v/d30v.h:500
+#: config/d30v/d30v.h:152
msgid "Change the threshold for conversion to conditional execution"
msgstr "¾ò·ïŪ¤Ê¼Â¹Ô¤Ø¤ÎÊѹ¹¤Î¤¿¤á¤ÎïçÃͤòÊѹ¹¤¹¤ë"
@@ -9634,36 +9939,32 @@ msgstr "¥¹¥¿¥Ã¥¯¥µ¥¤¥º > 32k"
msgid "invalid addressing mode"
msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤ò»ÈÍѤ¹¤ë"
-#: config/dsp16xx/dsp16xx.c:1857
+#: config/dsp16xx/dsp16xx.c:1821
#, fuzzy
msgid "bad register extension code"
msgstr "ÉÔÀµ¤Ê¥ì¥¸¥¹¥¿³ÈÄ¥¥³¡¼¥É"
-#: config/dsp16xx/dsp16xx.c:1958
+#: config/dsp16xx/dsp16xx.c:1921
#, fuzzy
msgid "invalid offset in ybase addressing"
msgstr "ybase ¥¢¥É¥ì¥·¥ó¥°¤Ë̵¸ú¤Ê¥ª¥Õ¥»¥Ã¥È"
-#: config/dsp16xx/dsp16xx.c:1961
+#: config/dsp16xx/dsp16xx.c:1924
#, fuzzy
msgid "invalid register in ybase addressing"
msgstr "ybase ¥¢¥É¥ì¥·¥ó¥°¤Ë̵¸ú¤Ê¥ª¥Õ¥»¥Ã¥È"
-#: config/dsp16xx/dsp16xx.c:1990 config/dsp16xx/dsp16xx.c:2287
-msgid "inline float constants not supported on this host"
-msgstr "¤³¤Î¥Û¥¹¥È¤Ç¤Ï¥¤¥ó¥é¥¤¥óÉâÆ°¾®¿ôÄê¿ô¤ò¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: config/dsp16xx/dsp16xx.c:2140
+#: config/dsp16xx/dsp16xx.c:2099
#, fuzzy
msgid "invalid shift operator in emit_1600_core_shift"
msgstr "emit_1600_core_shift ¤Ç¤Î̵¸ú¤Ê¥·¥Õ¥È±é»»»Ò"
-#: config/dsp16xx/dsp16xx.c:2493
+#: config/dsp16xx/dsp16xx.c:2428
#, fuzzy
msgid "invalid mode for gen_tst_reg"
msgstr "gen_tst_reg ¤Ë¤È¤Ã¤Æ¤Î̵¸ú¤Ê¥â¡¼¥É"
-#: config/dsp16xx/dsp16xx.c:2565
+#: config/dsp16xx/dsp16xx.c:2500
#, fuzzy
msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr "gen_compare_reg ¤Ç¤ÎÀ°¿ôÈæ³Ó¤Ë¤È¤Ã¤Æ¤Î̵¸ú¤Ê¥â¡¼¥É"
@@ -9673,128 +9974,111 @@ msgstr "gen_compare_reg ¤Ç¤ÎÀ°¿ôÈæ³Ó¤Ë¤È¤Ã¤Æ¤Î̵¸ú¤Ê¥â¡¼¥É"
#. 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
#, fuzzy
msgid "Pass parameters in registers (default)"
msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:217
+#: config/dsp16xx/dsp16xx.h:232
#, fuzzy
msgid "Don't pass parameters in registers"
msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:219
+#: config/dsp16xx/dsp16xx.h:234
#, fuzzy
msgid "Generate code for near calls"
msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:221
+#: config/dsp16xx/dsp16xx.h:236
#, fuzzy
msgid "Don't generate code for near calls"
msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:223
+#: config/dsp16xx/dsp16xx.h:238
#, fuzzy
msgid "Generate code for near jumps"
msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:225
+#: config/dsp16xx/dsp16xx.h:240
#, fuzzy
msgid "Don't generate code for near jumps"
msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:227
+#: config/dsp16xx/dsp16xx.h:242
#, fuzzy
msgid "Generate code for a bit-manipulation unit"
msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:229
+#: config/dsp16xx/dsp16xx.h:244
#, fuzzy
msgid "Don't generate code for a bit-manipulation unit"
msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:231
+#: config/dsp16xx/dsp16xx.h:246
#, fuzzy
msgid "Generate code for memory map1"
msgstr "Äã°Ì¥¢¥É¥ì¥¹¥á¥â¥êÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:233
+#: config/dsp16xx/dsp16xx.h:248
#, fuzzy
msgid "Generate code for memory map2"
msgstr "Äã°Ì¥¢¥É¥ì¥¹¥á¥â¥êÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:235
+#: config/dsp16xx/dsp16xx.h:250
#, fuzzy
msgid "Generate code for memory map3"
msgstr "Äã°Ì¥¢¥É¥ì¥¹¥á¥â¥êÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/dsp16xx/dsp16xx.h:237
+#: config/dsp16xx/dsp16xx.h:252
#, fuzzy
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
#, fuzzy
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 ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/dsp16xx/dsp16xx.h:274
+#: config/dsp16xx/dsp16xx.h:272
#, fuzzy
msgid "Specify alternate name for text section"
msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
-#: config/dsp16xx/dsp16xx.h:276
+#: config/dsp16xx/dsp16xx.h:274
#, fuzzy
msgid "Specify alternate name for data section"
msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
-#: config/dsp16xx/dsp16xx.h:278
+#: config/dsp16xx/dsp16xx.h:276
#, fuzzy
msgid "Specify alternate name for bss section"
msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
-#: config/dsp16xx/dsp16xx.h:280
+#: config/dsp16xx/dsp16xx.h:278
#, fuzzy
msgid "Specify alternate name for constant section"
msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
-#: config/dsp16xx/dsp16xx.h:282
+#: 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:1236 config/dsp16xx/dsp16xx.h:1241
-#: config/dsp16xx/dsp16xx.h:1246 config/dsp16xx/dsp16xx.h:1843
-#: config/dsp16xx/dsp16xx.h:1848
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
#, fuzzy
msgid "profiling not implemented yet"
msgstr "¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Ï¡¢¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
@@ -9802,146 +10086,296 @@ 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:1257 config/dsp16xx/dsp16xx.h:1269
+#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240
#, fuzzy
msgid "trampolines not yet implemented"
msgstr "Trampoline ¤Ï¡¢¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#. 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 "unix ¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-
-#: 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 "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
-#: config/fr30/fr30.c:483
+#: config/fr30/fr30.c:480
#, fuzzy, c-format
-msgid "fr30_print_operand: unrecognized %p code"
+msgid "fr30_print_operand: unrecognized %%p code"
msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %p ¥³¡¼¥É¤Ç¤¹"
-#: config/fr30/fr30.c:503
-#, fuzzy
-msgid "fr30_print_operand: unrecognized %b code"
+#: config/fr30/fr30.c:500
+#, fuzzy, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %b ¥³¡¼¥É¤Ç¤¹"
-#: config/fr30/fr30.c:524
-#, fuzzy
-msgid "fr30_print_operand: unrecognized %B code"
+#: config/fr30/fr30.c:521
+#, fuzzy, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %B ¥³¡¼¥É¤Ç¤¹"
-#: config/fr30/fr30.c:532
-#, c-format
-msgid "fr30_print_operand: invalid operand to %A code"
+#: config/fr30/fr30.c:529
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid operand to %%A code"
msgstr "fr30_print_operand: %A ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê±é»»»Ò¤Ç¤¹"
-#: config/fr30/fr30.c:549
-#, c-format
-msgid "fr30_print_operand: invalid %x code"
+#: config/fr30/fr30.c:546
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid %%x code"
msgstr "fr30_print_operand: ̵¸ú¤Ê %x ¥³¡¼¥É¤Ç¤¹"
-#: config/fr30/fr30.c:556
-#, c-format
-msgid "fr30_print_operand: invalid %F code"
+#: config/fr30/fr30.c:553
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid %%F code"
msgstr "fr30_print_operand: ̵¸ú¤Ê %F ¥³¡¼¥É¤Ç¤¹"
-#: config/fr30/fr30.c:572
+#: config/fr30/fr30.c:570
msgid "fr30_print_operand: unknown code"
msgstr "fr30_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
-#: 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 "fr30_print_operand: ½èÍý¤µ¤ì¤Ê¤¤ MEM ¤Ç¤¹"
-#: config/fr30/fr30.h:76
+#: config/fr30/fr30.h:63
msgid "Assume small address space"
msgstr "¥¹¥â¡¼¥ë¥¢¥É¥ì¥¹¶õ´Ö¤È¤ß¤Ê¤¹"
-#: config/h8300/h8300.c:141
+#: 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
+#, fuzzy
+msgid "Bad insn to frv_print_operand_address:"
+msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
+
+#: 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
+#, fuzzy
+msgid "Bad insn in frv_print_operand, bad const_double"
+msgstr "¥ª¥Ú¥é¥ó¥É¤Ï const_double ¤Ç¤¹"
+
+#: 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
+#, fuzzy
+msgid "frv_print_operand: unknown code"
+msgstr "fr30_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
+
+#: 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
+#, fuzzy
+msgid "accumulator is not a constant integer"
+msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
+msgstr ""
+
+#: config/frv/frv.c:9187
+#, fuzzy, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: config/frv/frv.c:9253
+#, c-format
+msgid "`%s' expects a constant argument"
+msgstr ""
+
+#: config/frv/frv.c:9258
+#, fuzzy, 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
#, fuzzy
msgid "-ms2600 is used without -ms"
msgstr "-ms2600 ¤¬ -ms ¤Ê¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+#: config/h8300/h8300.c:320
+#, fuzzy
+msgid "-mn is used without -mh or -ms"
+msgstr "-ms2600 ¤¬ -ms ¤Ê¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
#. 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
+#, fuzzy
+msgid "Generate H8S code"
msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/h8300/h8300.h:118
-msgid "Do not generate H8/S code"
+#: config/h8300/h8300.h:151
+#, fuzzy
+msgid "Do not generate H8S code"
msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
-#: config/h8300/h8300.h:119
-msgid "Generate H8/S2600 code"
+#: config/h8300/h8300.h:152
+#, fuzzy
+msgid "Generate H8S/2600 code"
msgstr "H8/S2600 ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/h8300/h8300.h:120
-msgid "Do not generate H8/S2600 code"
+#: config/h8300/h8300.h:153
+#, fuzzy
+msgid "Do not generate H8S/2600 code"
msgstr "H8/S2600 ¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
-#: config/h8300/h8300.h:121
+#: config/h8300/h8300.h:154
msgid "Make integers 32 bits wide"
msgstr "À°¿ô¤ò 32 ¥Ó¥Ã¥ÈÉý¤È¤¹¤ë"
-#: 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 "¥ê¥ó¥«¤Î -relax ¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/h8300/h8300.h:131
+#: config/h8300/h8300.h:164
msgid "Generate H8/300H code"
msgstr "H8/300H ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: 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 "H8/300H ¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
-#: config/h8300/h8300.h:133
+#: config/h8300/h8300.h:167
msgid "Use H8/300 alignment rules"
msgstr "H8/300 ¥¢¥é¥¤¥ó¥á¥ó¥Èµ¬Â§¤ò»ÈÍѤ¹¤ë"
-#: config/i370/i370-c.c:54
+#: config/i370/i370-c.c:53
msgid "junk at end of #pragma map"
msgstr "#pragma map ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/i370/i370-c.c:60
+#: config/i370/i370-c.c:59
msgid "malformed #pragma map, ignored"
msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: 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 ""
@@ -9949,373 +10383,380 @@ 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/cygwin.h:51
-msgid "Use the Cygwin interface"
-msgstr "Cygwin ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
-
-#: config/i386/cygwin.h:53
-msgid "Use the Mingw32 interface"
-msgstr "Mingw32 ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
-
-#: config/i386/cygwin.h:54
-msgid "Create GUI application"
-msgstr "GUI ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
-
-#: config/i386/cygwin.h:55
-msgid "Don't set Windows defines"
-msgstr "Windows ¤Î define ¤òÀßÄꤷ¤Ê¤¤"
-
-#: config/i386/cygwin.h:56
-msgid "Set Windows defines"
-msgstr "Windows ¤Î define ¤òÀßÄꤹ¤ë"
-
-#: config/i386/cygwin.h:58
-msgid "Create console application"
-msgstr "¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
-
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
-msgid "Generate code for a DLL"
-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
-msgid "Ignore dllimport for functions"
-msgstr "´Ø¿ô¤Ø¤Î dllimport ¤ò̵»ë¤¹¤ë"
-
-#: config/i386/cygwin.h:63
-msgid "Use Mingw-specific thread support"
-msgstr "Mingw ¸ÇÍ­¤Î¥¹¥ì¥Ã¥É¥µ¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë"
-
-#: config/i386/cygwin.h:257
-#, c-format
-msgid "-f%s ignored for target (all code is position independent)"
-msgstr "-f%s ¤Ï¥¿¡¼¥²¥Ã¥È¤Ç̵»ë¤µ¤ì¤Þ¤¹ (Á´¤Æ¤Î¥³¡¼¥É¤Ï°ÌÃÖÈó°Í¸¤Ç¤¹)"
-
-#: config/i386/dgux.h:60
-msgid "Retain standard MXDB information"
-msgstr "ɸ½à MXDB ¾ðÊó¤òÊÝ»ý¤¹¤ë"
-
-#: config/i386/dgux.h:62
-msgid "Retain legend information"
-msgstr "legend ¾ðÊó¤ò°Ý»ý¤¹¤ë"
-
-#: config/i386/dgux.h:65
-msgid "Generate external legend information"
-msgstr "³°Éô legend ¾ðÊó¤òÀ¸À®¤¹¤ë"
-
-#: config/i386/dgux.h:67
-msgid "Emit identifying info in .s file"
-msgstr ".s ¥Õ¥¡¥¤¥ëÆâ¤Ë¼±Ê̻ҾðÊó¤òÁ÷½Ð¤¹¤ë"
-
-#: config/i386/dgux.h:69
-msgid "Warn when a function arg is a structure"
-msgstr "´Ø¿ô¤Î°ú¿ô¤¬¹½Â¤ÂΤÀ¤Ã¤¿¤é·Ù¹ð¤¹¤ë"
-
-#: config/i386/dgux.h:252
-msgid "argument is a structure"
-msgstr "°ú¿ô¤¬¹½Â¤ÂΤǤ¹"
-
-#: config/i386/djgpp.h:201
-#, fuzzy
-msgid "-mbnu210 is ignored (option is obsolete)"
-msgstr "-mbnu210 ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿(ÇѤ줿¥ª¥×¥·¥ç¥ó¤Ç¤¹)"
-
-#: config/i386/i386.c:921
+#: config/i386/i386.c:1043
#, fuzzy, c-format
msgid "code model %s not supported in PIC mode"
msgstr "-mcmodel= ¤Ï 32 bit ¥·¥¹¥Æ¥à¾å¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/i386/i386.c:931 config/sparc/sparc.c:346
+#: config/i386/i386.c:1053 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr "-mcmodel= ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤ÆÉÔÀµ¤ÊÃÍ (%s)"
-#: config/i386/i386.c:946
+#: config/i386/i386.c:1068
#, fuzzy, c-format
msgid "bad value (%s) for -masm= switch"
msgstr "-mabi= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/i386/i386.c:949
+#: config/i386/i386.c:1071
#, fuzzy, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr "-mcmodel= ¤Ï 32 bit ¥·¥¹¥Æ¥à¾å¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/i386/i386.c:952
+#: config/i386/i386.c:1074
#, fuzzy
msgid "code model `large' not supported yet"
msgstr "`%s' ¤Ï %s ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/i386/i386.c:954
+#: config/i386/i386.c:1076
#, c-format
msgid "%i-bit mode not compiled in"
msgstr ""
-#: config/i386/i386.c:984 config/mips/mips.c:4972
+#: config/i386/i386.c:1106
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr "-march= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/i386/i386.c:995 config/mips/mips.c:4928
+#: config/i386/i386.c:1117
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr "-mcpu= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/i386/i386.c:1014
+#: config/i386/i386.c:1134
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr "-mregparm=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1027
+#: config/i386/i386.c:1147
#, fuzzy
msgid "-malign-loops is obsolete, use -falign-loops"
msgstr "-malign-loops=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1032 config/i386/i386.c:1045 config/i386/i386.c:1058
+#: 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 "-malign-loops=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1040
+#: config/i386/i386.c:1160
#, fuzzy
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr "-malign-jumps=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1053
+#: config/i386/i386.c:1173
#, fuzzy
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr "-malign-functions=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1092
+#: config/i386/i386.c:1211
#, fuzzy, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr "-mpreferred-stack-boundary=%d ¤¬ 2 ¤«¤é 31 ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1104
+#: config/i386/i386.c:1223
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr "-mbranch-cost=%d ¤¬ 0 ¤«¤é 5 ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/i386/i386.c:1121
+#: config/i386/i386.c:1235
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "-msdata ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+#: config/i386/i386.c:1256
msgid "-malign-double makes no sense in the 64bit mode"
msgstr ""
-#: config/i386/i386.c:1123
+#: config/i386/i386.c:1258
#, fuzzy
msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï²Äȼ¹Իþ¥â¥Ç¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó\n"
-#: config/i386/i386.c:1139 config/i386/i386.c:1150
+#: config/i386/i386.c:1274 config/i386/i386.c:1285
#, fuzzy
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: config/i386/i386.c:1155
+#: config/i386/i386.c:1290
#, fuzzy
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: config/i386/i386.c:1162
+#: config/i386/i386.c:1297
#, fuzzy, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr "-march= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/i386/i386.c:1289
+#: config/i386/i386.c:1429
#, fuzzy, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr "3 ¤Ä¤Î 'l' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
-#: config/i386/i386.c:1295
+#: config/i386/i386.c:1435
#, fuzzy, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr "ÄêµÁ¤Î¸å¤Ç `%s' °À­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: config/i386/i386.c:5317
+#: config/i386/i386.c:6176
msgid "invalid UNSPEC as operand"
msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê UNSPEC"
-#: config/i386/i386.c:5518
+#: config/i386/i386.c:6438
msgid "extended registers have no high halves"
msgstr ""
-#: config/i386/i386.c:5533
+#: config/i386/i386.c:6453
msgid "unsupported operand size for extended register"
msgstr ""
-#: config/i386/i386.c:5778
+#: config/i386/i386.c:6768
msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr ""
-#: config/i386/i386.c:9729
+#: config/i386/i386.c:6814
+#, fuzzy, c-format
+msgid "invalid operand code `%c'"
+msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+#: config/i386/i386.c:6861
+#, fuzzy
+msgid "invalid constraints for operand"
+msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê¼°"
+
+#: config/i386/i386.c:11027
#, fuzzy
msgid "unknown insn mode"
msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
#. @@@ better error message
-#: config/i386/i386.c:11608 config/i386/i386.c:11641 config/i386/i386.c:11778
+#: config/i386/i386.c:13083 config/i386/i386.c:13119
msgid "selector must be an immediate"
msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
#. @@@ better error message
-#: config/i386/i386.c:11809 config/i386/i386.c:11837
+#: config/i386/i386.c:13280 config/i386/i386.c:13314
msgid "mask must be an immediate"
msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: config/i386/i386.h:45 config/mips/mips.h:186
+#: config/i386/i386.c:13346
#, fuzzy
-msgid "half-pic init called on systems that don't support it"
-msgstr "half-pic ½é´ü²½¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤·¤¿¡£"
+msgid "shift must be an immediate"
+msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+#: config/i386/winnt.c:105
+#, fuzzy, c-format
+msgid "`%s' attribute only applies to variables"
+msgstr "`%s' °À­¤Ï·¿¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó"
+
+#: config/i386/winnt.c:275
+#, fuzzy, c-format
+msgid "`%s' declared as both exported to and imported from a DLL"
+msgstr "`%s' ¤¬ DLL ¤«¤é import¡¢DLL ¤Ë export ¤ÎξÊý¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+#: config/i386/cygwin.h:45
+msgid "Use the Cygwin interface"
+msgstr "Cygwin ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
+
+#: config/i386/cygwin.h:46
+msgid "Use the Mingw32 interface"
+msgstr "Mingw32 ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
+
+#: config/i386/cygwin.h:47
+msgid "Create GUI application"
+msgstr "GUI ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
+
+#: config/i386/cygwin.h:48
+msgid "Don't set Windows defines"
+msgstr "Windows ¤Î define ¤òÀßÄꤷ¤Ê¤¤"
+
+#: config/i386/cygwin.h:49
+msgid "Set Windows defines"
+msgstr "Windows ¤Î define ¤òÀßÄꤹ¤ë"
+
+#: config/i386/cygwin.h:50
+msgid "Create console application"
+msgstr "¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
+
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
+msgid "Generate code for a DLL"
+msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
+msgid "Ignore dllimport for functions"
+msgstr "´Ø¿ô¤Ø¤Î dllimport ¤ò̵»ë¤¹¤ë"
+
+#: config/i386/cygwin.h:55
+msgid "Use Mingw-specific thread support"
+msgstr "Mingw ¸ÇÍ­¤Î¥¹¥ì¥Ã¥É¥µ¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë"
+
+#: config/i386/cygwin.h:244
+#, c-format
+msgid "-f%s ignored for target (all code is position independent)"
+msgstr "-f%s ¤Ï¥¿¡¼¥²¥Ã¥È¤Ç̵»ë¤µ¤ì¤Þ¤¹ (Á´¤Æ¤Î¥³¡¼¥É¤Ï°ÌÃÖÈó°Í¸¤Ç¤¹)"
+
+#: config/i386/djgpp.h:204
+#, fuzzy
+msgid "-mbnu210 is ignored (option is obsolete)"
+msgstr "-mbnu210 ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿(ÇѤ줿¥ª¥×¥·¥ç¥ó¤Ç¤¹)"
+
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
#. Deprecated.
-#: config/i386/i386.h:297
+#: config/i386/i386.h:306
msgid "Alternate calling convention"
msgstr "¸Æ¤Ó½Ð¤·µ¬Ìó¤òÆþ¤ìÂؤ¨¤ë"
-#: config/i386/i386.h:299 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:301
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr "double ¤ò dword ¶­³¦¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
-#: config/i386/i386.h:303
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr "double ¤ò word ¶­³¦¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
-#: config/i386/i386.h:305
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr ".bss ¤Ë¤¢¤ë¥í¡¼¥«¥ë¤Ê¤â¤Î¤Ï½é´ü²½¤µ¤ì¤Ê¤¤"
-#: config/i386/i386.h:307
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr ".data ¤Ë¤¢¤ë¥í¡¼¥«¥ë¤Ê¤â¤Î¤Ï½é´ü²½¤µ¤ì¤Ê¤¤"
-#: config/i386/i386.h:309 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 "ÉâÆ°¾®¿ôÅÀÈæ³Ó¤Ë IEEE µ¬³Ê¤ò»È¤¦"
-#: config/i386/i386.h:311
+#: config/i386/i386.h:320 config/ns32k/ns32k.h:169
msgid "Do not use IEEE math for fp comparisons"
msgstr "ÉâÆ°¾®¿ôÅÀÈæ³Ó¤Ë IEEE µ¬³Ê¤ò»È¤ï¤Ê¤¤"
-#: config/i386/i386.h:313
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr "FPU ¥ì¥¸¥¹¥¿Æâ¤Îµ¡Ç½¤ÎÃͤòÊÖ¤¹"
-#: config/i386/i386.h:315
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr "FPU ¥ì¥¸¥¹¥¿Æâ¤Îµ¡Ç½¤ÎÃͤòÊÖ¤µ¤Ê¤¤"
-#: config/i386/i386.h:317
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr "FPU ÍѤΠsin, cos, sqrt ¤òÀ¸À®¤·¤Ê¤¤"
-#: config/i386/i386.h:319
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr "FPU ÍѤΠsin, cos, sqrt ¤òÀ¸À®¤¹¤ë"
-#: config/i386/i386.h:321
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr "Ëöü¤Î´Ø¿ô¤Ç¤Ï¥Õ¥ì¡¼¥à¥Ý¥¤¥ó¥¿¤ò¾Êά¤¹¤ë"
-#: config/i386/i386.h:324
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr "¥¹¥¿¥Ã¥¯Ãµº÷¤òÍ­¸ú¤Ë¤¹¤ë"
#. undocumented
#. undocumented
-#: config/i386/i386.h:329
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr "ʸ»úÎóÁàºî¤Î½ñ¹þ¤ßÀè¤ò¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
-#: config/i386/i386.h:331
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr "ʸ»úÎóÁàºî¤Î½ñ¹þ¤ßÀè¤ò¥¢¥é¥¤¥ó¥á¥ó¥È¤·¤Ê¤¤"
-#: config/i386/i386.h:333
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr "´ûÃΤÎÁ´¤Æ¤Îʸ»úÎóÁàºî¤ò inline ¤Ë¤¹¤ë"
-#: config/i386/i386.h:335
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
msgstr "´ûÃΤÎÁ´¤Æ¤Îʸ»úÎóÁàºî¤ò inline ¤Ë¤·¤Ê¤¤"
-#: config/i386/i386.h:337 config/i386/i386.h:342
+#: config/i386/i386.h:346 config/i386/i386.h:350
msgid "Use push instructions to save outgoing arguments"
msgstr "½ÐÎϤ¹¤ë°ú¿ô¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á push Ì¿Îá¤ò»È¤¦"
-#: config/i386/i386.h:339 config/i386/i386.h:344
+#: config/i386/i386.h:348 config/i386/i386.h:352
msgid "Do not use push instructions to save outgoing arguments"
msgstr "½ÐÎϤ¹¤ë°ú¿ô¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Ë¤Ï push Ì¿Îá¤ò»È¤ï¤Ê¤¤"
-#: config/i386/i386.h:346
+#: config/i386/i386.h:354
#, fuzzy
msgid "Support MMX built-in functions"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-#: config/i386/i386.h:348
+#: config/i386/i386.h:356
#, fuzzy
msgid "Do not support MMX built-in functions"
msgstr "¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤òǧ¼±¤µ¤»¤Ê¤¤"
-#: config/i386/i386.h:351
+#: config/i386/i386.h:358
#, fuzzy
msgid "Support 3DNow! built-in functions"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-#: config/i386/i386.h:354
+#: config/i386/i386.h:360
#, fuzzy
msgid "Do not support 3DNow! built-in functions"
msgstr "¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤òǧ¼±¤µ¤»¤Ê¤¤"
-#: config/i386/i386.h:356
+#: config/i386/i386.h:362
msgid "Support MMX and SSE built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:359
+#: config/i386/i386.h:364
msgid "Do not support MMX and SSE built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:361
+#: config/i386/i386.h:366
msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:364
+#: config/i386/i386.h:368
msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:366
+#: config/i386/i386.h:370
#, fuzzy
msgid "sizeof(long double) is 16"
msgstr "sizeof(long double) ¤Ï 16 ¤È¤¹¤ë¡£"
-#: config/i386/i386.h:368
+#: config/i386/i386.h:372
#, fuzzy
msgid "sizeof(long double) is 12"
msgstr "sizeof(long double) ¤Ï 12 ¤È¤¹¤ë¡£"
-#: config/i386/i386.h:370
+#: config/i386/i386.h:374
#, fuzzy
msgid "Generate 64bit x86-64 code"
msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i386/i386.h:372
+#: config/i386/i386.h:376
#, fuzzy
msgid "Generate 32bit i386 code"
msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
-#: config/i386/i386.h:374
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr ""
-#: config/i386/i386.h:376
+#: config/i386/i386.h:380
#, fuzzy
msgid "Do not use red-zone in the x86-64 code"
msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
@@ -10329,20 +10770,20 @@ msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
#. 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:422 config/rs6000/rs6000.h:443 config/sparc/sparc.h:685
+#: config/i386/i386.h:409 config/rs6000/rs6000.h:393 config/sparc/sparc.h:635
msgid "Schedule code for given CPU"
msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤ò¥¹¥±¥¸¥å¡¼¥ë¤¹¤ë"
-#: config/i386/i386.h:424
+#: config/i386/i386.h:411
#, fuzzy
msgid "Generate floating point mathematics using given instruction set"
msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/i386/i386.h:426
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i386/i386.h:428
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr "¥ì¥¸¥¹¥¿¤Î¿ô¤¬À°¿ô¤ò°ú¿ô¤òÅϤ¹¤¿¤á¤Ë»È¤ï¤ì¤ë"
@@ -10356,71 +10797,43 @@ 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:430 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:432 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:434 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:437
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr "¤Ç¤­¤ë¤À¤±¥¹¥¿¥Ã¥¯¤ò¤³¤ÎÃͤÎÆó¾è¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
-#: config/i386/i386.h:439
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr "¥Ö¥é¥ó¥Á¤Î¥³¥¹¥È¤ò»Ø¼¨¤¹¤ë (1-5, Ǥ°Õ¤Î¸Ä¿ô)"
-#: config/i386/i386.h:441
+#: config/i386/i386.h:428
#, fuzzy
msgid "Use given x86-64 code model"
msgstr "Í¿¤¨¤é¤ì¤¿ Sparc ¥³¡¼¥É¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë"
-#: config/i386/i386.h:447
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
#, fuzzy
msgid "Use given assembler dialect"
msgstr "DEC ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
-#: config/i386/osf1elf.h:112
-msgid "Profiling uses mcount"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ë¤Ç mcount ¤òÍøÍѤ¹¤ë"
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr "Ⱦ PIC ¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
-
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr "ELF ¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr "ROSE ¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
-msgstr "¥·¥ó¥Ü¥ë¤ÎƬ¤Ë¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò¤Ä¤±¤ë"
-
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr "¥ï¡¼¥É¶­³¦¤è¤êÂ礭¤á¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
-
-#: config/i386/osfrose.h:77
-msgid "Use mcount for profiling"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ëÍÑ¤Ë mcount ¤òÍøÍѤ¹¤ë"
-
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Ë mcount_ptr ¤òÍøÍѤ¹¤ë"
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
+msgstr ""
-#: config/i386/sco5.h:771
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr "ELF ½ÐÎϤòÀ¸À®¤¹¤ë"
@@ -10436,16 +10849,6 @@ msgstr "Cygwin ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
msgid "Use bare Windows interface"
msgstr "ÁǤΠWindows ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
-#: config/i386/winnt.c:94
-#, fuzzy, c-format
-msgid "`%s' attribute only applies to variables"
-msgstr "`%s' °À­¤Ï·¿¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó"
-
-#: config/i386/winnt.c:262
-#, fuzzy, c-format
-msgid "`%s' declared as both exported to and imported from a DLL"
-msgstr "`%s' ¤¬ DLL ¤«¤é import¡¢DLL ¤Ë export ¤ÎξÊý¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
#: config/i386/xm-djgpp.h:71
@@ -10463,33 +10866,31 @@ msgstr "´Ä¶­ÊÑ¿ô DJGPP ¤¬¡¢¸«¤Ä¤«¤é¤Ê¤¤¥Õ¥¡¥¤¥ë '%s' ¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£"
msgid "environment variable DJGPP points to corrupt file '%s'"
msgstr "´Ä¶­ÊÑ¿ô DJGPP ¤¬¡¢²õ¤ì¤¿¥Õ¥¡¥¤¥ë '%s' ¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£"
-#. 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"
-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"
-msgstr "ÉâÆ°¾®¿ôÅÀ¥æ¥Ë¥Ã¥È¤òÍøÍѤ¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr "»ÄÇ°¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: #pragma align NAME=SIZE"
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
msgid "malformed #pragma align - ignored"
msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr "»ÄÇ°¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: #pragma noalign NAME"
-#: config/i960/i960.c:1405 config/m68k/m68k.c:669 config/rs6000/rs6000.c:7674
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr "¶¥¹ç¤¹¤ë architecture ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿ - C ¥·¥ê¡¼¥º»ÈÍÑ"
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr "¶¥¹ç¤¹¤ë architecture ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿ - K ¥·¥ê¡¼¥º»ÈÍÑ<"
+
+#: config/i960/i960.c:141
+msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+msgstr "iC2.0 ¤È iC3.0 ¤È¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó - iC3.0 ¤ò»ÈÍѤ·¤Þ¤¹"
+
+#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9931
msgid "stack limit expression is not supported"
msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
@@ -10500,311 +10901,333 @@ msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
#. An empty string NAME is used to identify the default VALUE.
#. ??? Not all ten of these architecture variations actually exist, but I
#. am not sure which are real and which aren't.
-#: config/i960/i960.h:246
+#: config/i960/i960.h:240
msgid "Generate SA code"
msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:249
+#: config/i960/i960.h:243
msgid "Generate SB code"
msgstr "SB ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
-#: config/i960/i960.h:254
+#: config/i960/i960.h:248
msgid "Generate KA code"
msgstr "KA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:257
+#: config/i960/i960.h:251
msgid "Generate KB code"
msgstr "KB ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
-#: config/i960/i960.h:262
+#: config/i960/i960.h:256
msgid "Generate JA code"
msgstr "JA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:264
+#: config/i960/i960.h:258
msgid "Generate JD code"
msgstr "JD ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:267
+#: config/i960/i960.h:261
msgid "Generate JF code"
msgstr "JF ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:269
+#: config/i960/i960.h:263
msgid "generate RP code"
msgstr "RP ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:272
+#: config/i960/i960.h:266
msgid "Generate MC code"
msgstr "MC ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:275
+#: config/i960/i960.h:269
msgid "Generate CA code"
msgstr "CA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
-#: config/i960/i960.h:285
+#: config/i960/i960.h:279
msgid "Generate CF code"
msgstr "CF ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/i960/i960.h:291
+#: 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 "´Ø¿ô¹àÌܤÎÂå¤ï¤ê¤òÍøÍѤ¹¤ë"
-#: config/i960/i960.h:293
+#: config/i960/i960.h:287
msgid "Do not use alternate leaf function entries"
msgstr "´Ø¿ô¹àÌÜËöÈø¤ÎÂå¤ï¤ê¤ÏÍøÍѤ·¤Ê¤¤"
-#: config/i960/i960.h:295
+#: config/i960/i960.h:289
msgid "Perform tail call optimization"
msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
-#: config/i960/i960.h:297
+#: config/i960/i960.h:291
msgid "Do not perform tail call optimization"
msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤ï¤Ê¤¤"
-#: config/i960/i960.h:299
+#: config/i960/i960.h:293
msgid "Use complex addressing modes"
msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤ò»ÈÍѤ¹¤ë"
-#: config/i960/i960.h:301
+#: config/i960/i960.h:295
msgid "Do not use complex addressing modes"
msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
-#: config/i960/i960.h:303
+#: config/i960/i960.h:297
msgid "Align code to 8 byte boundary"
msgstr "¥³¡¼¥É¤ò 8 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
-#: config/i960/i960.h:305
+#: config/i960/i960.h:299
msgid "Do not align code to 8 byte boundary"
msgstr "¥³¡¼¥É¤ò 8 bit ¥³¡¼¥É¤Ë¥¢¥é¥¤¥ó¤·¤Ê¤¤"
#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
-#: config/i960/i960.h:311 config/i960/i960.h:313
+#: config/i960/i960.h:305 config/i960/i960.h:307
msgid "Enable compatibility with iC960 v2.0"
msgstr "iC960 v2.0 ¤È¤Î¸ß´¹À­¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/i960/i960.h:315
+#: config/i960/i960.h:309
msgid "Enable compatibility with iC960 v3.0"
msgstr "iC960 v3.0 ¤È¤Î¸ß´¹À­¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/i960/i960.h:317 config/i960/i960.h:319
+#: config/i960/i960.h:311 config/i960/i960.h:313
msgid "Enable compatibility with ic960 assembler"
msgstr "ic960 ¥¢¥»¥ó¥Ö¥é¤È¤Î¸ß´¹À­¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/i960/i960.h:321
+#: config/i960/i960.h:315
msgid "Do not permit unaligned accesses"
msgstr "¥¢¥é¥¤¥ó¤µ¤ì¤Ê¤¤¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Ê¤¤"
-#: config/i960/i960.h:323
+#: config/i960/i960.h:317
msgid "Permit unaligned accesses"
msgstr "¥¢¥é¥¤¥ó¤µ¤ì¤Ê¤¤¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë"
-#: config/i960/i960.h:325
+#: config/i960/i960.h:319
msgid "Layout types like Intel's v1.3 gcc"
msgstr "Intel ¤Î v1.3 gcc ¤ÎÍͤʥ¿¥¤¥×¤ËÇÛÃÖ¤¹¤ë"
-#: config/i960/i960.h:327
+#: config/i960/i960.h:321
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr "Intel v1.3 gcc ¤ÎÍͤʥ¿¥¤¥×¤ÎÇÛÃÖ¤ò¹Ô¤Ê¤ï¤Ê¤¤"
-#: config/i960/i960.h:329 config/sparc/freebsd.h:80 config/sparc/linux.h:85
-#: config/sparc/linux64.h:138
+#: 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 "64 ¥Ó¥Ã¥È long double ¤ò»ÈÍѤ¹¤ë"
-#: config/i960/i960.h:331
+#: config/i960/i960.h:325
msgid "Enable linker relaxation"
msgstr "¥ê¥ó¥«¤Î´ËϤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/i960/i960.h:333
+#: config/i960/i960.h:327
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:348 config/i960/i960.h:358
-msgid "conflicting architectures defined - using C series"
-msgstr "¶¥¹ç¤¹¤ë architecture ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿ - C ¥·¥ê¡¼¥º»ÈÍÑ"
-
-#: config/i960/i960.h:353
-msgid "conflicting architectures defined - using K series"
-msgstr "¶¥¹ç¤¹¤ë architecture ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿ - K ¥·¥ê¡¼¥º»ÈÍÑ<"
-
-#: config/i960/i960.h:368
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr "iC2.0 ¤È iC3.0 ¤È¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó - iC3.0 ¤ò»ÈÍѤ·¤Þ¤¹"
-
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:379
+#: config/ia64/ia64-c.c:50
#, fuzzy
-msgid "the -mlong-double-64 option does not work yet"
-msgstr "-mlong-double-64 ¥ª¥×¥·¥ç¥ó¤Ï¤Þ¤ÀÆ°ºî¤·¤Þ¤»¤ó"
+msgid "malformed #pragma builtin"
+msgstr "¤ª¤«¤·¤Ê #pragma implementation"
-#: config/ia64/ia64.c:3566
+#: config/ia64/ia64.c:3879
msgid "ia64_print_operand: unknown code"
msgstr "ia64_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
-#: config/ia64/ia64.c:3840
+#: config/ia64/ia64.c:4157
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr "-mfixed-range ¤ÎÃÍ¤Ï REG1-REG2 ·Á¼°¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: config/ia64/ia64.c:3867
+#: config/ia64/ia64.c:4184
#, c-format
msgid "%s-%s is an empty range"
msgstr "%s-%s ¤¬¶õ¤ÎÈϰϤǤ¹"
-#: config/ia64/ia64.c:3932
-msgid "cannot optimize division for both latency and throughput"
+#: config/ia64/ia64.c:4215
+#, fuzzy
+msgid "cannot optimize floating point division for both latency and throughput"
msgstr "¥ì¥¤¥Æ¥ó¥·¤È¥¹¥ë¡¼¥×¥Ã¥ÈξÊý¤Îʬ³äºÇŬ²½¤Ï¹Ô¤Ê¤¨¤Þ¤»¤ó"
+#: config/ia64/ia64.c:4221
+#, fuzzy
+msgid "cannot optimize integer division for both latency and throughput"
+msgstr "¥ì¥¤¥Æ¥ó¥·¤È¥¹¥ë¡¼¥×¥Ã¥ÈξÊý¤Îʬ³äºÇŬ²½¤Ï¹Ô¤Ê¤¨¤Þ¤»¤ó"
+
+#: config/ia64/ia64.c:4233
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "-mabi= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
#. 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:112
+#: config/ia64/ia64.h:150
msgid "Generate big endian code"
msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
-#: config/ia64/ia64.h:114 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:116
+#: config/ia64/ia64.h:154
msgid "Generate code for GNU as"
msgstr "GNU as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:118
+#: config/ia64/ia64.h:156
msgid "Generate code for Intel as"
msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:120
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU ld"
msgstr "GNU ld ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:122
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel ld"
msgstr "Intel ld ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:124
+#: config/ia64/ia64.h:162
msgid "Generate code without GP reg"
msgstr "GP ¥ì¥¸¥¹¥¿ÉÔ»ÈÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:126
+#: config/ia64/ia64.h:164
msgid "Emit stop bits before and after volatile extended asms"
msgstr "³ÈÄ¥¥¢¥»¥ó¥Ö¥ê volatile ¤ÎÁ°¸å¤Ë stop ¥Ó¥Ã¥È¤òÁ÷½Ð¤¹¤ë"
-#: config/ia64/ia64.h:128
+#: config/ia64/ia64.h:166
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr "³ÈÄ¥¥¢¥»¥ó¥Ö¥ê volatile ¤ÎÁ°¸å¤Ë stop ¥Ó¥Ã¥È¤òÁ÷½Ð¤¹¤ë"
-#: config/ia64/ia64.h:130
+#: config/ia64/ia64.h:168
msgid "Emit code for Itanium (TM) processor B step"
msgstr "Itanium (TM) ¥×¥í¥»¥Ã¥µ B step ÍÑ¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
-#: config/ia64/ia64.h:132
+#: config/ia64/ia64.h:170
msgid "Use in/loc/out register names"
msgstr "in/loc/out ¥ì¥¸¥¹¥¿Ì¾¤ò»ÈÍѤ¹¤ë"
-#: config/ia64/ia64.h:134
+#: config/ia64/ia64.h:172
msgid "Disable use of sdata/scommon/sbss"
msgstr "sdata/scommon/sbss ¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë"
-#: config/ia64/ia64.h:136
+#: config/ia64/ia64.h:174
msgid "Enable use of sdata/scommon/sbss"
msgstr "sdata/scommon/sbss ¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/ia64/ia64.h:138
+#: config/ia64/ia64.h:176
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr "gp ¤òÄê¿ô¤È¤¹¤ë¡Êâ¡¢´ÖÀܸƤӽФ·¤Ç¤Ï gp ¤ò save/restore ¤¹¤ë¡Ë"
-#: config/ia64/ia64.h:140
+#: config/ia64/ia64.h:178
msgid "Generate self-relocatable code"
msgstr "¼«¸ÊºÆÇÛÃÖ²Äǽ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:142
-msgid "Generate inline division, optimize for latency"
+#: config/ia64/ia64.h:180
+#, fuzzy
+msgid "Generate inline floating point division, optimize for latency"
+msgstr "¥ì¥¤¥Æ¥ó¥·¤òºÇŬ²½¤¹¤ë¥¤¥ó¥é¥¤¥ó¶èʬ¤òÀ¸À®¤¹¤ë"
+
+#: config/ia64/ia64.h:182
+#, fuzzy
+msgid "Generate inline floating point division, optimize for throughput"
+msgstr "¥¹¥ë¡¼¥×¥Ã¥È¤òºÇŬ²½¤¹¤ë¥¤¥ó¥é¥¤¥ó¶èʬ¤òÀ¸À®¤¹¤ë"
+
+#: config/ia64/ia64.h:184
+#, fuzzy
+msgid "Generate inline integer division, optimize for latency"
msgstr "¥ì¥¤¥Æ¥ó¥·¤òºÇŬ²½¤¹¤ë¥¤¥ó¥é¥¤¥ó¶èʬ¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:144
-msgid "Generate inline division, optimize for throughput"
+#: config/ia64/ia64.h:186
+#, fuzzy
+msgid "Generate inline integer division, optimize for throughput"
msgstr "¥¹¥ë¡¼¥×¥Ã¥È¤òºÇŬ²½¤¹¤ë¥¤¥ó¥é¥¤¥ó¶èʬ¤òÀ¸À®¤¹¤ë"
-#: config/ia64/ia64.h:146
+#: config/ia64/ia64.h:188
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr "GNU as ¤òÄ̤¸¤¿ Dwarf2 ¤Î¹Ô¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/ia64/ia64.h:148
+#: config/ia64/ia64.h:190
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr "GNU as ¤òÄ̤¸¤¿ Dwarf2 ¤Î¹Ô¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
-#: config/ia64/ia64.h:176
+#: config/ia64/ia64.h:219
#, fuzzy
msgid "Specify range of registers to make fixed"
msgstr "¸ÇÄꤹ¤ë¤¿¤á¤Î¥ì¥¸¥¹¥¿¤ÎÈϰϤò»ØÄꤹ¤ë"
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1082
+#, fuzzy
+msgid "bad operand"
+msgstr "̵¸ú¤Ê %P ¥ª¥Ú¥é¥ó¥É¤Ç¤¹"
+
+#: 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 "-mmodel ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/m32r/m32r.c:139
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
msgstr "-msdata ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/m32r/m32r.c:310
+#: config/m32r/m32r.c:319
#, fuzzy, c-format
msgid "invalid argument of `%s' attribute"
msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-#: config/m32r/m32r.c:408
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr "const ¥ª¥Ö¥¸¥§¥¯¥È¤Ï .sdata/.sbss ¤ËÃÖ¤±¤Þ¤»¤ó"
-#: config/m32r/m32r.c:2242
-#, c-format
-msgid "invalid operand to %s code"
+#: config/m32r/m32r.c:2256
+#, fuzzy, c-format
+msgid "invalid operand to %%s code"
msgstr "%s ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/m32r/m32r.c:2249
-#, c-format
-msgid "invalid operand to %p code"
+#: config/m32r/m32r.c:2263
+#, fuzzy, c-format
+msgid "invalid operand to %%p code"
msgstr "%p ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/m32r/m32r.c:2305
+#: config/m32r/m32r.c:2318
msgid "bad insn for 'A'"
msgstr ""
-#: config/m32r/m32r.c:2357
-msgid "invalid operand to %T/%B code"
+#: config/m32r/m32r.c:2370
+#, fuzzy, c-format
+msgid "invalid operand to %%T/%%B code"
msgstr "%T/%B ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/m32r/m32r.c:2380
-msgid "invalid operand to %N code"
+#: config/m32r/m32r.c:2393
+#, fuzzy, c-format
+msgid "invalid operand to %%N code"
msgstr "%N ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/m32r/m32r.c:2425
+#: config/m32r/m32r.c:2438
#, fuzzy
msgid "pre-increment address is not a register"
msgstr "`%d' ¥ª¥Ú¥é¥ó¥É¤¬¥ì¥¸¥¹¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/m32r/m32r.c:2432
+#: config/m32r/m32r.c:2445
#, fuzzy
msgid "pre-decrement address is not a register"
msgstr "thumb_load_double_from_address: ¥Ù¡¼¥¹¤¬¥ì¥¸¥¹¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/m32r/m32r.c:2439
+#: config/m32r/m32r.c:2452
msgid "post-increment address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2517 config/m32r/m32r.c:2533
-#: config/rs6000/rs6000.c:10281
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12737
#, fuzzy
msgid "bad address"
msgstr "ÉÔÀµ¤Ê¥Ø¥Ã¥À¥Ð¡¼¥¸¥ç¥ó"
-#: config/m32r/m32r.c:2538
+#: config/m32r/m32r.c:2551
#, fuzzy
msgid "lo_sum not of register"
msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ·¤Ê¤¤"
@@ -10834,51 +11257,51 @@ msgstr "¥³¡¼¥É¥µ¥¤¥º: small, medium Ëô¤Ï large"
msgid "Small data area: none, sdata, use"
msgstr "¥¹¥â¡¼¥ë¥Ç¡¼¥¿Îΰè: none, sdata, use"
-#: config/m68hc11/m68hc11.c:236
+#: config/m68hc11/m68hc11.c:242
#, c-format
msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
msgstr "-f%s ¤Ï 68HC11/68HC12 ÍѤȤ·¤Æ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿ (¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó)"
#. !!!! SCz wrong here.
-#: config/m68hc11/m68hc11.c:3031 config/m68hc11/m68hc11.c:3405
+#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3626
msgid "move insn not handled"
msgstr ""
-#: config/m68hc11/m68hc11.c:3251 config/m68hc11/m68hc11.c:3335
-#: config/m68hc11/m68hc11.c:3608
+#: config/m68hc11/m68hc11.c:3472 config/m68hc11/m68hc11.c:3556
+#: config/m68hc11/m68hc11.c:3829
#, fuzzy
msgid "invalid register in the move instruction"
msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
-#: config/m68hc11/m68hc11.c:3285
+#: config/m68hc11/m68hc11.c:3506
#, fuzzy
msgid "invalid operand in the instruction"
msgstr "%s ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-#: config/m68hc11/m68hc11.c:3582
+#: config/m68hc11/m68hc11.c:3803
#, fuzzy
msgid "invalid register in the instruction"
msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
-#: config/m68hc11/m68hc11.c:3615
+#: config/m68hc11/m68hc11.c:3836
#, fuzzy
msgid "operand 1 must be a hard register"
msgstr "`%d' ¥ª¥Ú¥é¥ó¥É¤¬¥ì¥¸¥¹¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/m68hc11/m68hc11.c:3632
+#: config/m68hc11/m68hc11.c:3853
#, fuzzy
msgid "invalid rotate insn"
msgstr "²¾°ú¿ô `%s' ¤Ï̵¸ú¤Ç¤¹"
-#: config/m68hc11/m68hc11.c:4052
+#: config/m68hc11/m68hc11.c:4278
msgid "registers IX, IY and Z used in the same INSN"
msgstr ""
-#: config/m68hc11/m68hc11.c:4372 config/m68hc11/m68hc11.c:4677
+#: config/m68hc11/m68hc11.c:4603 config/m68hc11/m68hc11.c:4906
msgid "cannot do z-register replacement"
msgstr ""
-#: config/m68hc11/m68hc11.c:4726
+#: config/m68hc11/m68hc11.c:4969
#, fuzzy
msgid "invalid Z register replacement for insn"
msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
@@ -10887,27 +11310,51 @@ msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
#. 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:152
+#: config/m68hc11/m68hc11.h:160
msgid "Compile with 16-bit integer mode"
msgstr "16 ¥Ó¥Ã¥ÈÀ°¿ô¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: config/m68hc11/m68hc11.h:154
+#: config/m68hc11/m68hc11.h:162
msgid "Compile with 32-bit integer mode"
msgstr "32 ¥Ó¥Ã¥ÈÀ°¿ô¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: config/m68hc11/m68hc11.h:156
+#: config/m68hc11/m68hc11.h:164
msgid "Auto pre/post decrement increment allowed"
msgstr "¼«Æ° pre/post ¥Ç¥¯¥ê¥á¥ó¥È ¥¤¥ó¥¯¥ê¥á¥ó¥È¤òµöÍƤ¹¤ë"
-#: config/m68hc11/m68hc11.h:158
+#: config/m68hc11/m68hc11.h:166
msgid "Auto pre/post decrement increment not allowed"
msgstr "¼«Æ° pre/post ¥Ç¥¯¥ê¥á¥ó¥È ¥¤¥ó¥¯¥ê¥á¥ó¥È¤òµöÍƤ·¤Ê¤¤"
-#: config/m68hc11/m68hc11.h:160 config/m68hc11/m68hc11.h:164
+#: config/m68hc11/m68hc11.h:168
+msgid "Min/max instructions allowed"
+msgstr ""
+
+#: config/m68hc11/m68hc11.h:170
+#, fuzzy
+msgid "Min/max instructions not allowed"
+msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: config/m68hc11/m68hc11.h:172
+#, fuzzy
+msgid "Use call and rtc for function calls and returns"
+msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
+
+#: config/m68hc11/m68hc11.h:174
+#, fuzzy
+msgid "Use jsr and rts for function calls and returns"
+msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+
+#: config/m68hc11/m68hc11.h:176
+#, fuzzy
+msgid "Do not use direct addressing mode for soft registers"
+msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
+
+#: config/m68hc11/m68hc11.h:178 config/m68hc11/m68hc11.h:182
msgid "Compile for a 68HC11"
msgstr "68HC11 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: config/m68hc11/m68hc11.h:162 config/m68hc11/m68hc11.h:166
+#: config/m68hc11/m68hc11.h:180 config/m68hc11/m68hc11.h:184
msgid "Compile for a 68HC12"
msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
@@ -10920,29 +11367,33 @@ msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
#. 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:180
+#: config/m68hc11/m68hc11.h:198
msgid "Specify the register allocation order"
msgstr "¥ì¥¸¥¹¥¿³ÎÊݽç¤ò»ØÄꤹ¤ë"
-#: config/m68hc11/m68hc11.h:182
+#: 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 "-malign-loops=%d ¤¬ 1 ¤«¤é %d ¤Î´Ö¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: config/m68k/m68k.c:161
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr "-malign-jumps=%d ¤¬ 1 ¤«¤é %d ¤Î´Ö¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: config/m68k/m68k.c:172
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
msgstr "-malign-functions=%d ¤¬ 1 ¤«¤é %d ¤Î´Ö¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó"
+#: config/m68k/m68k.c:189
+msgid "-fPIC is not currently supported on the 68000 or 68010\n"
+msgstr "º£¤Î¤È¤³¤í 68000 ¤ä 68010 ¤Ç¤Ï -fPIC ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+
#. Macro to define tables used to set the flags.
#. This is a list in braces of pairs in braces,
#. each pair being { "NAME", VALUE }
@@ -11090,113 +11541,85 @@ 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 "º£¤Î¤È¤³¤í 68000 ¤ä 68010 ¤Ç¤Ï -fPIC ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-
-#: config/m88k/m88k.c:900
+#: config/m88k/m88k.c:903
#, fuzzy, c-format
msgid "internal gcc monitor: short-branch(%x)"
msgstr "ÆâÉô gcc ¥â¥Ë¥¿: ¥·¥ç¡¼¥È¥Ö¥é¥ó¥Á(%x)"
-#: config/m88k/m88k.c:2300
+#: config/m88k/m88k.c:2302
#, fuzzy
msgid "internal gcc error: Can't express symbolic location"
msgstr "ÆâÉô gcc ¥¨¥é¡¼: °ÌÃÖ¤ò¥·¥ó¥Ü¥ëɽ¸½¤Ç¤­¤Þ¤»¤ó"
-#: config/m88k/m88k.c:2582
+#: config/m88k/m88k.c:2517
#, c-format
msgid "argument #%d is a structure"
msgstr "°ú¿ô #%d ¤Ï¹½Â¤ÂΤǤ¹"
-#: config/m88k/m88k.c:2882
-msgid "%R not followed by %B/C/D/E"
+#: config/m88k/m88k.c:2816
+#, fuzzy, c-format
+msgid "%%R not followed by %%B/C/D/E"
msgstr "%R ¤Î¸å¤Ë %B/C/D/E ¤ÏÃÖ¤±¤Þ¤»¤ó"
-#: config/m88k/m88k.c:2950
-#, c-format
-msgid "invalid %x/X value"
+#: config/m88k/m88k.c:2884
+#, fuzzy, c-format
+msgid "invalid %%x/X value"
msgstr "̵¸ú¤Ê %x/X ÃͤǤ¹"
-#: config/m88k/m88k.c:2955
-msgid "invalid %H value"
-msgstr "̵¸ú¤Ê %H ÃͤǤ¹"
-
-#: config/m88k/m88k.c:2961
-msgid "invalid %h value"
-msgstr "̵¸ú¤Ê %h ÃͤǤ¹"
-
-#: config/m88k/m88k.c:2967
-msgid "invalid %Q value"
-msgstr "̵¸ú¤Ê %Q ÃͤǤ¹"
-
-#: config/m88k/m88k.c:2973
-msgid "invalid %q value"
-msgstr "̵¸ú¤Ê %q ÃͤǤ¹"
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "̵¸ú¤Ê %%Q ÃÍ"
-#: config/m88k/m88k.c:2979
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681
#, c-format
-msgid "invalid %o value"
+msgid "invalid %%q value"
+msgstr "̵¸ú¤Ê %%q ÃͤǤ¹"
+
+#: config/m88k/m88k.c:2913
+#, fuzzy, c-format
+msgid "invalid %%o value"
msgstr "̵¸ú¤Ê %o ÃͤǤ¹"
-#: config/m88k/m88k.c:2986
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644
#, c-format
-msgid "invalid %p value"
-msgstr "̵¸ú¤Ê %p ÃͤǤ¹"
+msgid "invalid %%p value"
+msgstr "̵¸ú¤Ê %%p ÃͤǤ¹"
-#: config/m88k/m88k.c:2999 config/m88k/m88k.c:3004
-#, c-format
-msgid "invalid %s/S value"
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, fuzzy, c-format
+msgid "invalid %%s/S value"
msgstr "̵¸ú¤Ê %s/S ÃͤǤ¹"
-#: config/m88k/m88k.c:3015
-msgid "invalid %P operand"
+#: config/m88k/m88k.c:2949
+#, fuzzy, c-format
+msgid "invalid %%P operand"
msgstr "̵¸ú¤Ê %P ¥ª¥Ú¥é¥ó¥É¤Ç¤¹"
-#: config/m88k/m88k.c:3046
-msgid "invalid %B value"
-msgstr "̵¸ú¤Ê %B ÃͤǤ¹"
-
-#: config/m88k/m88k.c:3063
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
#, c-format
-msgid "invalid %C value"
-msgstr "̵¸ú¤Ê %C ÃͤǤ¹"
+msgid "invalid %%B value"
+msgstr "̵¸ú¤Ê %%B ÃÍ"
-#: config/m88k/m88k.c:3076
-msgid "invalid %D value"
+#: config/m88k/m88k.c:3010
+#, fuzzy, c-format
+msgid "invalid %%D value"
msgstr "̵¸ú¤Ê %D ÃͤǤ¹"
-#: config/m88k/m88k.c:3084
-#, c-format
-msgid "invalid %E value"
-msgstr "̵¸ú¤Ê %E ÃͤǤ¹"
-
-#: config/m88k/m88k.c:3089
-#, c-format
-msgid "`%d' operand isn't a register"
+#: config/m88k/m88k.c:3023
+#, fuzzy, c-format
+msgid "`%%d' operand isn't a register"
msgstr "`%d' ¥ª¥Ú¥é¥ó¥É¤¬¥ì¥¸¥¹¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/m88k/m88k.c:3100
-msgid "invalid %r value"
-msgstr "̵¸ú¤Ê %r ÃͤǤ¹"
-
-#: config/m88k/m88k.c:3107
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr "¥ª¥Ú¥é¥ó¥É¤Ï r0 ¤Ç¤¹"
-#: config/m88k/m88k.c:3121
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr "¥ª¥Ú¥é¥ó¥É¤Ï const_double ¤Ç¤¹"
-#: config/m88k/m88k.c:3140
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr "̵¸ú¤Ê¥³¡¼¥É¤Ç¤¹"
@@ -11220,7 +11643,7 @@ msgstr "-mshort-data-%s ¤¬Â礭¤¹¤®¤Þ¤¹¡£"
msgid "-mshort-data-%s and PIC are incompatible"
msgstr "-mshort-data-%s ¤È PIC ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/mcore/mcore.c:3083
+#: config/mcore/mcore.c:3078
#, fuzzy, c-format
msgid "invalid option `-mstack-increment=%s'"
msgstr "`-mstack-increment=%s' ¤Ï̵¸ú¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹"
@@ -11279,223 +11702,236 @@ msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
msgid "Maximum amount for a single stack increment operation"
msgstr "ñ°ì¥¹¥¿¥Ã¥¯¥¤¥ó¥¯¥ê¥á¥ó¥ÈÁàºî¤ÎºÇÂçÃÍ"
-#: config/mips/mips.c:4824
+#: config/mips/mips.c:5112
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
+msgstr "-mabi= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+#: config/mips/mips.c:5142
#, c-format
-msgid "-mips%d not supported"
-msgstr "-mips%d ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr ""
-#: config/mips/mips.c:4831
+#: config/mips/mips.c:5149
#, c-format
msgid "bad value (%s) for -mips switch"
msgstr "-mips ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
-#: config/mips/mips.c:4852
+#: config/mips/mips.c:5164
#, c-format
-msgid "bad value (%s) for -mabi= switch"
-msgstr "-mabi= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr ""
-#: config/mips/mips.c:4890
-#, c-format
-msgid "-mabi=%s does not support -mips%d"
-msgstr "-mabi=%s ¤Ï -mips%d ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+#: config/mips/mips.c:5176
+msgid "-mgp64 used with a 32-bit processor"
+msgstr ""
-#: config/mips/mips.c:4907
+#: config/mips/mips.c:5178
#, fuzzy
-msgid "this target does not support the -mabi switch"
-msgstr "¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ï -mabi ¥¹¥¤¥Ã¥Á¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "64 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.c:5017
-#, fuzzy, c-format
-msgid "bad value (%s) for -mtune= switch"
-msgstr "-mcpu= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+#: config/mips/mips.c:5180
+#, fuzzy
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "32 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.c:5033
+#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202
#, fuzzy, c-format
-msgid "-march=%s does not support -mips%d"
-msgstr "-mabi=%s ¤Ï -mips%d ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
-
-#: config/mips/mips.c:5040
-#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr "-mips%d ¤Ï 64 bit fp ¥ì¥¸¥¹¥¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+msgid "unsupported combination: %s"
+msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹"
-#: config/mips/mips.c:5046
-#, c-format
-msgid "-mips%d does not support 64 bit gp registers"
-msgstr "-mips%d ¤Ï 64 bit gp ¥ì¥¸¥¹¥¿¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó"
+#: config/mips/mips.c:5272
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr ""
-#: config/mips/mips.c:5067
+#: config/mips/mips.c:5283
msgid "-G is incompatible with PIC code which is the default"
msgstr "-G ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î PIC ¥³¡¼¥É¤È¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/mips.c:5083
+#: config/mips/mips.c:5299
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr "-membedded-pic ¤È -mabicalls ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/mips.c:5086
+#: config/mips/mips.c:5302
msgid "-G and -membedded-pic are incompatible"
msgstr "-G ¤È -membedded-pic ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/mips.c:5137
+#: config/mips/mips.c:5353
#, fuzzy, c-format
msgid "invalid option `entry%s'"
msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó `entry%s'"
-#: config/mips/mips.c:5140
+#: config/mips/mips.c:5356
msgid "-mentry is only meaningful with -mips-16"
msgstr "-mentry ¤Ï -mips-16 ¤ò»ØÄꤷ¤¿¤È¤­¤À¤±°ÕÌ£¤ò»ý¤Á¤Þ¤¹"
-#: config/mips/mips.c:5480
+#: config/mips/mips.c:5761
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr "ÆâÉô¥¨¥é¡¼: ¥¢¥»¥ó¥Ö¥é¥Ñ¥¿¡¼¥ó¤Ç %%( ¤Ê¤·¤Î %%) ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: config/mips/mips.c:5494
+#: config/mips/mips.c:5775
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr "ÆâÉô¥¨¥é¡¼: ¥¢¥»¥ó¥Ö¥é¥Ñ¥¿¡¼¥ó¤Ç %%[ ¤Ê¤·¤Î %%] ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: config/mips/mips.c:5507
+#: config/mips/mips.c:5788
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr "ÆâÉô¥¨¥é¡¼: ¥¢¥»¥ó¥Ö¥é¥Ñ¥¿¡¼¥ó¤Ç %%< ¤Ê¤·¤Î %%> ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: config/mips/mips.c:5520
+#: config/mips/mips.c:5801
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr "ÆâÉô¥¨¥é¡¼: ¥¢¥»¥ó¥Ö¥é¥Ñ¥¿¡¼¥ó¤Ç %%{ ¤Ê¤·¤Î %%} ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: config/mips/mips.c:5534
+#: config/mips/mips.c:5815
#, fuzzy, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr "PRINT_OPERAND: ÉÔÌÀ¤Ê¶çÆÉÅÀ '%c'"
-#: config/mips/mips.c:5543
+#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr "PRINT_OPERAND NULL ¥Ý¥¤¥ó¥¿"
-#: config/mips/mips.c:5676
+#: config/mips/mips.c:5955
#, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr "̵¸ú¤ÊÍÑË¡¤Î of %%d, %%x, Ëô¤Ï %%X"
-#: config/mips/mips.c:5719
+#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr "PRINT_OPERAND_ADDRESS, null ¥Ý¥¤¥ó¥¿"
-#: config/mips/mips.c:5943
+#: config/mips/mips.c:6222
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr "MIPS ECOFF ·Á¼°¤Ç¤Ï #line ¤ò»ý¤Ä´Ø¿ô¤Ç¤Î¥Õ¥¡¥¤¥ë̾Êѹ¹¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-#: config/mips/mips.c:6257
+#: config/mips/mips.c:6532
#, fuzzy
msgid "can't rewind temp file"
msgstr "%s ¤ò rewind ¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/mips.c:6261
+#: config/mips/mips.c:6536
#, fuzzy
msgid "can't write to output file"
msgstr "%s ¤Ø½ñ¤­¹þ¤á¤Þ¤»¤ó"
-#: config/mips/mips.c:6264
+#: config/mips/mips.c:6539
#, fuzzy
msgid "can't read from temp file"
msgstr "%s ¤«¤éÆɹþ¤á¤Þ¤»¤ó"
-#: config/mips/mips.c:6267
+#: config/mips/mips.c:6542
#, fuzzy
msgid "can't close temp file"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë %s ¤ò close ¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/mips.c:6737
+#: config/mips/mips.c:6983
#, fuzzy, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "gp_offset (%ld) Ëô¤Ï end_offset (%ld) ¤¬¥¼¥í¤è¤ê¤â¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: config/mips/mips.c:6899
+#: config/mips/mips.c:7092
#, fuzzy, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "fp_offset (%ld) Ëô¤Ï end_offset (%ld) ¤¬¥¼¥í¤è¤ê¤â¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£"
-#: config/mips/mips.c:8930
+#: config/mips/mips.c:9312
#, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr "`%s' ¤Ø¤ÎÌ·½â¤·¤¿¸Æ¤Ó½Ð¤·¤òÊ᪤Ǥ­¤Þ¤»¤ó"
+#: config/mips/mips.c:10444
+#, fuzzy
+msgid "the cpu name must be lower case"
+msgstr "¥·¥ó¥Ü¥ë̾¤ò¾®Ê¸»ú¤È¤¹¤ë"
+
+#: config/mips/mips.c:10466
+#, fuzzy, c-format
+msgid "bad value (%s) for %s"
+msgstr "ÃÍ (%s) ¤Ï %s switch ¤Ë¤È¤Ã¤ÆÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#. 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:368 config/mn10300/mn10300.h:64
+#: config/mips/mips.h:528 config/mn10300/mn10300.h:64
msgid "No default crt0.o"
msgstr "crt0.o ¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¤Ê¤¤"
-#: config/mips/mips.h:370
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr "64 ¥Ó¥Ã¥È int ·¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:372
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr "64 ¥Ó¥Ã¥È long ·¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:374
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr "32 ¥Ó¥Ã¥È long ·¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:376
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr "lui/addiu ¥¢¥É¥ì¥¹¥í¡¼¥É¤òºÇŬ²½¤¹¤ë"
-#: config/mips/mips.h:378
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr "lui/addiu ¥¢¥É¥ì¥¹¥í¡¼¥É¤òºÇŬ²½¤·¤Ê¤¤"
-#: config/mips/mips.h:380
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr "MIPS as ¤òÍøÍѤ¹¤ë"
-#: config/mips/mips.h:382
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr "GNU as ¤òÍøÍѤ¹¤ë"
-#: config/mips/mips.h:384
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ì¥¸¥¹¥¿Ì¾¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:386
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ì¥¸¥¹¥¿Ì¾¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:388 config/mips/mips.h:390
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr "GP ´ØÏ¢ sdata/sbss ¥»¥¯¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:392 config/mips/mips.h:394
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr "GP ´ØÏ¢ sdata/sbss ¥»¥¯¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:396
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr "¥³¥ó¥Ñ¥¤¥éÅý·×¤ò½ÐÎϤ¹¤ë"
-#: config/mips/mips.h:398
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr "¥³¥ó¥Ñ¥¤¥éÅý·×¤ò½ÐÎϤ·¤Ê¤¤"
-#: config/mips/mips.h:400
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr "¥Ö¥í¥Ã¥¯°ÜÆ°¤òºÇŬ²½¤·¤Ê¤¤"
-#: config/mips/mips.h:402
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr "¥Ö¥í¥Ã¥¯°ÜÆ°¤òºÇŬ²½¤¹¤ë"
-#: config/mips/mips.h:404
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr "asm ¸å²áÄø¤Ç mips-tfile ¤òÍøÍѤ¹¤ë"
-#: config/mips/mips.h:406
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr "asm ¸å²áÄø¤Ç mips-tfile ¤òÍøÍѤ·¤Ê¤¤"
@@ -11505,286 +11941,255 @@ msgstr "asm ¸å²áÄø¤Ç mips-tfile ¤òÍøÍѤ·¤Ê¤¤"
#. 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:410 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:412
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr "64 ¥Ó¥Ã¥È FP ¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:414
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr "32 ¥Ó¥Ã¥È FP ¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:416
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr "64 ¥Ó¥Ã¥È°ìÈ̥쥸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:418
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr "32 ¥Ó¥Ã¥È°ìÈ̥쥸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:420
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr "Irix PIC ¤òÍøÍѤ¹¤ë"
-#: config/mips/mips.h:422
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
msgstr "Irix PIC ¤òÍøÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:424
-msgid "Use OSF PIC"
-msgstr "OSF PIC ¤òÍøÍѤ¹¤ë"
-
-#: config/mips/mips.h:426
-msgid "Don't use OSF PIC"
-msgstr "OSF PIC ¤òÍøÍѤ·¤Ê¤¤"
-
-#: config/mips/mips.h:428
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr "´ÖÀܸƤӽФ·¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:430
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr "´ÖÀܸƤӽФ·¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:432
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr "Ëä¤á¹þ¤ß PIC ¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:434
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr "Ëä¤á¹þ¤ß PIC ¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:436
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
-#: config/mips/mips.h:438
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:440
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
msgstr "̤½é´ü²½Äê¿ô¤ò ROM ¤ËÃÖ¤¯(Í× -membedded-data)"
-#: config/mips/mips.h:442
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
msgstr "̤½é´ü²½Äê¿ô¤ò ROM ¤ËÃÖ¤«¤Ê¤¤"
-#: config/mips/mips.h:444
+#. Macro to define tables used to set the flags.
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥Ð¥¤¥È½ç¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:446
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥Ð¥¤¥È½ç¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:448
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr "ñÀºÅÙ(32bit) FP ¤Î¤ß¤òÍøÍѤ¹¤ë"
-#: config/mips/mips.h:450
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr "ñÀºÅÙ(32bit) FP °Ê³°¤âÍøÍѤ¹¤ë"
-#: config/mips/mips.h:452
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr "¾è»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:454
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr "¾è»»¡¦²Ã»»Ì¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:456 config/rs6000/rs6000.h:349
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
msgid "Don't generate fused multiply/add instructions"
msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-#: config/mips/mips.h:458 config/rs6000/rs6000.h:347
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
msgid "Generate fused multiply/add instructions"
msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
-#: config/mips/mips.h:460
+#: config/mips/mips.h:616
msgid "Work around early 4300 hardware bug"
msgstr "½é´ü¤Î 4300 ¥Ï¡¼¥É¥¦¥§¥¢¥Ð¥°¤ÎÂнè¤ò¹Ô¤¦"
-#: config/mips/mips.h:462
+#: config/mips/mips.h:618
msgid "Don't work around early 4300 hardware bug"
msgstr "½é´ü¤Î 4300 ¥Ï¡¼¥É¥¦¥§¥¢¥Ð¥°¤ÎÂнè¤ò¹Ô¤ï¤Ê¤¤"
-#: config/mips/mips.h:464
-msgid "Optimize for 3900"
-msgstr "3900 ÍѤ˺ÇŬ²½¤¹¤ë"
-
-#: config/mips/mips.h:466
-msgid "Optimize for 4650"
-msgstr "4650 ÍѤ˺ÇŬ²½¤¹¤ë"
-
-#: config/mips/mips.h:468
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr "À°¿ô¤Î¥¼¥í½ü»»¤ò¥È¥é¥Ã¥×¤¹¤ë"
-#: config/mips/mips.h:470
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr "À°¿ô¤Î¥¼¥í½ü»»¤ò¥È¥é¥Ã¥×¤·¤Ê¤¤"
-#: config/mips/mips.h:472
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr "À°¿ô½ü»»¤Î¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò¥È¥é¥Ã¥×¤¹¤ë"
-#: config/mips/mips.h:474
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr "À°¿ô½ü»»¤Î¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò¥È¥é¥Ã¥×¤·¤Ê¤¤"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/mips/mips.h:607 config/mips/mips.h:609
+#: 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 "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¤¿¤á¤Ë CPU ¤ò»ØÄꤹ¤ë"
-#: config/mips/mips.h:611
+#: config/mips/mips.h:746
#, fuzzy
msgid "Specify CPU for code generation purposes"
msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¤¿¤á¤Ë CPU ¤ò»ØÄꤹ¤ë"
-#: config/mips/mips.h:613
+#: config/mips/mips.h:748
+#, fuzzy
+msgid "Specify an ABI"
+msgstr "MIPS ISA ¤ò»ØÄꤹ¤ë"
+
+#: config/mips/mips.h:750
#, fuzzy
msgid "Specify a Standard MIPS ISA"
msgstr "MIPS ISA ¤ò»ØÄꤹ¤ë"
-#: config/mips/mips.h:615
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr "mips16 ¤Î entry/exit µ¿»÷¥ª¥Ú¥é¥ó¥É¤ò»ÈÍѤ¹¤ë"
-#: config/mips/mips.h:617
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr "MIPS16 Ì¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/mips/mips.h:621
+#: config/mips/mips.h:756
#, fuzzy
msgid "Don't call any cache flush functions"
msgstr "´Ø¿ô %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
-#: config/mips/mips.h:623
+#: 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:2750
+#: config/mips/mips.h:2868
msgid "mips16 function profiling"
msgstr "mips16 ´Ø¿ô¥×¥í¥Õ¥¡¥¤¥ë"
-#: config/mmix/mmix.c:138
+#: config/mmix/mmix.c:189
#, fuzzy, c-format
msgid "-f%s not supported: ignored"
msgstr "`%s' ¤Ï %s ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/mmix/mmix.c:569
+#: 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:656
-msgid "stack frame too big"
-msgstr ""
-
-#: config/mmix/mmix.c:684
-#, c-format
-msgid "stack frame not a multiple of 8 bytes: %d"
-msgstr ""
-
-#: config/mmix/mmix.c:1041
-#, c-format
-msgid "stack frame not a multiple of octabyte: %d"
-msgstr ""
-
-#: config/mmix/mmix.c:1209
+#: config/mmix/mmix.c:826
msgid "function_profiler support for MMIX"
msgstr ""
-#: config/mmix/mmix.c:1246
-msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
-msgstr ""
-
-#: config/mmix/mmix.c:1252
+#: 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:1575
-msgid "oops, not debugged; fixing up value:"
-msgstr ""
-
-#: config/mmix/mmix.c:2155 config/mmix/mmix.c:2289
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
msgid "MMIX Internal: Expected a CONST_INT, not this"
msgstr ""
-#: config/mmix/mmix.c:2163 config/mmix/mmix.c:2187 config/mmix/mmix.c:2306
+#: 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:2234
+#: config/mmix/mmix.c:1718
msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
msgstr ""
-#: config/mmix/mmix.c:2257
+#: config/mmix/mmix.c:1737
msgid "MMIX Internal: Expected a register, not this"
msgstr ""
-#: config/mmix/mmix.c:2267
+#: 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:2299
+#: 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:2350
+#: config/mmix/mmix.c:1831
msgid "MMIX Internal: Cannot decode this operand"
msgstr ""
-#: config/mmix/mmix.c:2409
+#: config/mmix/mmix.c:1891
msgid "MMIX Internal: This is not a recognized address"
msgstr ""
-#: config/mmix/mmix.c:2878 config/mmix/mmix.c:2947
+#: 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:3066
+#: config/mmix/mmix.c:3006
msgid "MMIX Internal: Trying to output invalidly reversed condition:"
msgstr ""
-#: config/mmix/mmix.c:3073
+#: config/mmix/mmix.c:3013
msgid "MMIX Internal: What's the CC of this?"
msgstr ""
-#: config/mmix/mmix.c:3077
+#: config/mmix/mmix.c:3017
msgid "MMIX Internal: What is the CC of this?"
msgstr ""
-#: config/mmix/mmix.c:3148
+#: config/mmix/mmix.c:3088
#, fuzzy
msgid "MMIX Internal: This is not a constant:"
msgstr "¥Õ¥£¡¼¥ë¥É½é´üÀßÄê»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
@@ -11798,65 +12203,91 @@ 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.
#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
#. Provide default program start 0x100 unless -mno-set-program-start.
-#. Link to ELF if requested.
+#. 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:136
+#: config/mmix/mmix.h:132
#, fuzzy
msgid "Set start-address of the program"
msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: config/mmix/mmix.h:138
+#: config/mmix/mmix.h:134
msgid "Set start-address of data"
msgstr ""
#. FIXME: Provide a way to *load* the epsilon register.
-#. Kill some of these; preferrably the -mint=* ones.
-#: config/mmix/mmix.h:174
+#: config/mmix/mmix.h:198
msgid "For intrinsics library: pass all parameters in registers"
msgstr ""
-#: config/mmix/mmix.h:177
+#: config/mmix/mmix.h:201
#, fuzzy
msgid "Use register stack for parameters and return value"
msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
-#: config/mmix/mmix.h:179
+#: config/mmix/mmix.h:203
#, fuzzy
msgid "Use call-clobbered registers for parameters and return value"
msgstr "¸Æ¤Ó½Ð¤·¤ÇÇ˲õ¤µ¤ì¤ë¥ì¥¸¥¹¥¿¤¬¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿ÊÑ¿ô¤È¤·¤Æ»È¤ï¤ì¤Þ¤·¤¿"
-#: config/mmix/mmix.h:181
+#: config/mmix/mmix.h:205
#, fuzzy
msgid "Use epsilon-respecting floating point compare instructions"
msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/mmix/mmix.h:184
+#: config/mmix/mmix.h:208
msgid "Use zero-extending memory loads, not sign-extending ones"
msgstr ""
-#: config/mmix/mmix.h:187
+#: 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:191
+#: config/mmix/mmix.h:215
msgid "Prepend global symbols with \":\" (for use with PREFIX)"
msgstr ""
-#: config/mmix/mmix.h:193
+#: config/mmix/mmix.h:217
msgid "Do not provide a default start-address 0x100 of the program"
msgstr ""
-#: config/mmix/mmix.h:195
+#: config/mmix/mmix.h:219
msgid "Link to emit program in ELF format (rather than mmo)"
msgstr ""
+#: config/mmix/mmix.h:221
+msgid "Use P-mnemonics for branches statically predicted as taken"
+msgstr ""
+
+#: config/mmix/mmix.h:223
+msgid "Don't use P-mnemonics for branches"
+msgstr ""
+
+#: config/mmix/mmix.h:225
+#, fuzzy
+msgid "Use addresses that allocate global registers"
+msgstr "¥«¡¼¥Í¥ë¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿¤òÍøÍÑ"
+
+#: config/mmix/mmix.h:227
+#, fuzzy
+msgid "Do not use addresses that allocate global registers"
+msgstr "BK ¥ì¥¸¥¹¥¿¤ò³ÎÊݤ·¤Ê¤¤"
+
+#: config/mmix/mmix.h:229
+#, fuzzy
+msgid "Generate a single exit point for each function"
+msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
+
+#: config/mmix/mmix.h:231
+#, fuzzy
+msgid "Do not generate a single exit point for each function"
+msgstr "multm Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+
#: config/mn10300/mn10300.h:59
msgid "Work around hardware multiply bug"
msgstr "¥Ï¡¼¥É¥¦¥§¥¢¾è»»¥Ð¥°¤ËÂн褹¤ë"
@@ -11874,90 +12305,90 @@ msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
msgid "Enable linker relaxations"
msgstr "¥ê¥ó¥«¤Î´ËϤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/ns32k/ns32k.h:104 config/s390/s390.h:52
+#: 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 "32532 cpu ÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/ns32k/ns32k.h:110
+#: config/ns32k/ns32k.h:148
msgid "Optimize for 32332 cpu"
msgstr "32332 cpu ÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/ns32k/ns32k.h:112
+#: config/ns32k/ns32k.h:150
msgid "Optimize for 32032"
msgstr "32032 ÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/ns32k/ns32k.h:114
+#: config/ns32k/ns32k.h:152
msgid "Register sb is zero. Use for absolute addressing"
msgstr "sb ¥ì¥¸¥¹¥¿¤ò¥¼¥í¤È¤¹¤ë¡£ÀäÂÐ¥¢¥É¥ì¥¹¤ò»ÈÍѤ¹¤ë"
-#: config/ns32k/ns32k.h:115
+#: config/ns32k/ns32k.h:153
msgid "Do not use register sb"
msgstr "sb ¥ì¥¸¥¹¥¿¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/ns32k/ns32k.h:116
-#, fuzzy
-msgid "Do not use bit-field instructions"
-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-
-#: config/ns32k/ns32k.h:117
+#: config/ns32k/ns32k.h:155
#, fuzzy
msgid "Use bit-field instructions"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/ns32k/ns32k.h:118
+#: config/ns32k/ns32k.h:157
+#, fuzzy
+msgid "Do not use bit-field instructions"
+msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
+
+#: 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 "32381 ÉâÆ°¾®¿ôÅÀ¥æ¥Ë¥Ã¥È"
-#: 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 "\"¥¹¥â¡¼¥ë¥ì¥¸¥¹¥¿¥¯¥é¥¹\" ¤Î¥Ä¥®¥Ï¥®(kludge)¤ò¹Ô¤Ê¤¦"
-#: config/ns32k/ns32k.h:125
+#: config/ns32k/ns32k.h:166
msgid "No \"Small register classes\" kludge"
msgstr "\"¥¹¥â¡¼¥ë¥ì¥¸¥¹¥¿¥¯¥é¥¹\" ¤Î¥Ä¥®¥Ï¥®(kludge)¤ò¹Ô¤Ê¤ï¤Ê¤¤"
-#: config/pa/pa.c:179
+#: config/pa/pa.c:246
#, fuzzy, 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 ""
"ÉÔÌÀ¤Ê -mschedule= ¥ª¥×¥·¥ç¥ó (%s).\n"
"Àµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ï 700, 7100, 7100LC, 7200, µÚ¤Ó 8000 ¤Ç¤¹\n"
-#: config/pa/pa.c:204
+#: config/pa/pa.c:271
#, fuzzy, c-format
msgid ""
"unknown -march= option (%s).\n"
@@ -11966,67 +12397,213 @@ msgstr ""
"ÉÔÌÀ¤Ê -march= ¥ª¥×¥·¥ç¥ó (%s).\n"
"Àµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ï 1.0, 1.1, µÚ¤Ó 2.0\n"
-#: config/pa/pa.c:209
+#: config/pa/pa.c:284
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï²Äȼ¹Իþ¥â¥Ç¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó\n"
-#: config/pa/pa.c:214
+#: config/pa/pa.c:289
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï¹â®´ÖÀܸƤӽФ·¤ÈÁêÍƤì¤Þ¤»¤ó\n"
-#: config/pa/pa.c:219
+#: config/pa/pa.c:294
msgid "-g is only supported when using GAS on this processor,"
msgstr "-g ¤Ï¤³¤Î¥×¥í¥»¥Ã¥µ¤Ç¤Ï GAS ¤ò»ÈÍѤ¹¤ë»þ¤À¤±¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹"
-#: config/pa/pa.c:220
+#: config/pa/pa.c:295
#, fuzzy
msgid "-g option disabled"
msgstr "-g ¥ª¥×¥·¥ç¥ó¤ò̵¸ú²½¤·¤Þ¤·¤¿¡£"
-#: 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
+#, fuzzy
+msgid "Generate cpp defines for server IO"
+msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#: config/pa/pa-hiux.h:76 config/pa/pa-hpux.h:81 config/pa/pa-hpux7.h:82
+#: config/pa/pa64-hpux.h:27
+#, fuzzy
+msgid "Generate cpp defines for workstation IO"
+msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#. 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
+#, fuzzy
+msgid "Generate PA1.1 code"
+msgstr "CA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#: config/pa/pa.h:220 config/pa/pa.h:222
+#, fuzzy
+msgid "Generate PA1.0 code"
+msgstr "CA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#: config/pa/pa.h:226
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr ""
+
+#: config/pa/pa.h:228
+#, fuzzy
+msgid "Disable FP regs"
+msgstr "¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
+
+#: config/pa/pa.h:230
+#, fuzzy
+msgid "Do not disable FP regs"
+msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ·¤Ê¤¤"
+
+#: config/pa/pa.h:232
+msgid "Disable space regs"
+msgstr ""
+
+#: config/pa/pa.h:234
+#, fuzzy
+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
+#, fuzzy
+msgid "Disable indexed addressing"
+msgstr "¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
+
+#: config/pa/pa.h:242
+#, fuzzy
+msgid "Do not disable indexed addressing"
+msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
+
+#: config/pa/pa.h:244
+#, fuzzy
+msgid "Use portable calling conventions"
+msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
+
+#: config/pa/pa.h:246
+#, fuzzy
+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
+#, fuzzy
+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
+#, fuzzy
+msgid "Do not emit long load/store sequences"
+msgstr "Ê£¿ôÌ¿Îá¤Î¥í¡¼¥É/¥¹¥È¥¢¤òÀ¸À®¤·¤Ê¤¤"
+
+#: config/pa/pa.h:260
+#, fuzzy
+msgid "Generate fast indirect calls"
+msgstr "´ÖÀܸƤӽФ·¤ò»ÈÍѤ·¤Ê¤¤"
+
+#: config/pa/pa.h:262
+#, fuzzy
+msgid "Do not generate fast indirect calls"
+msgstr ".size µ¿»÷Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+
+#: config/pa/pa.h:264
+#, fuzzy
+msgid "Generate code for huge switch statements"
+msgstr "¹â°Ì¥¢¥É¥ì¥¹¥á¥â¥êÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#: config/pa/pa.h:266
+#, fuzzy
+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
+#, fuzzy
+msgid "Enable linker optimizations"
+msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+#: 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 "ÉâÆ°¾®¿ôÅÀ¤Î·ë²Ì¤ò ac0 ¤ÇÊÖ¤¹"
-#: 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 "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
#. is 11/45
-#: config/pdp11/pdp11.h:64
+#: config/pdp11/pdp11.h:65
msgid "Generate code for an 11/45"
msgstr "11/45 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
#. is 11/10
-#: config/pdp11/pdp11.h:67
+#: config/pdp11/pdp11.h:68
msgid "Generate code for an 11/10"
msgstr "11/10 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
#. 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 "32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ÈÍѤ¹¤ë"
-#: 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 "16 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ÈÍѤ¹¤ë"
#. 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 "32 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
-#: 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 "64 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
@@ -12034,79 +12611,50 @@ msgstr "64 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
#. 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 "¥¿¡¼¥²¥Ã¥È¤Ï split Ì¿Îá¤È¥Ç¡¼¥¿¥á¥â¥ê¤ò»ý¤Ä"
-#: config/pdp11/pdp11.h:90
+#: config/pdp11/pdp11.h:91
msgid "Target does not have split I&D"
msgstr "¥¿¡¼¥²¥Ã¥È¤Ï split Ì¿Îá¤È¥Ç¡¼¥¿¥á¥â¥ê¤ò»ý¤¿¤Ê¤¤"
#. UNIX assembler syntax?
-#: config/pdp11/pdp11.h:92
+#: config/pdp11/pdp11.h:93
msgid "Use UNIX assembler syntax"
msgstr "UNIX ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
-#: config/pdp11/pdp11.h:93
+#: config/pdp11/pdp11.h:94
msgid "Use DEC assembler syntax"
msgstr "DEC ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
-#: 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 "Transmeta picoJava ³ÈÄ¥¤òÍ­¸ú¤Ë¤¹¤ë"
-
-#: config/pj/pj.h:81
-msgid "Disable Transmeta picoJava extensions"
-msgstr "Transmeta picoJava ³ÈÄ¥¤ò̵¸ú¤Ë¤¹¤ë"
-
-#: config/pj/pj.h:83
-msgid "Disable reorganization pass"
-msgstr "ºÆÊÔÀ®¹©Äø¤ò̵¸ú¤Ë¤¹¤ë"
-
-#: config/romp/romp.c:682
-#, c-format
-msgid "invalid %%B value"
-msgstr "̵¸ú¤Ê %%B ÃÍ"
-
-#: config/romp/romp.c:709 config/rs6000/rs6000.c:5782
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7718
#, c-format
msgid "invalid %%S value"
msgstr "̵¸ú¤Ê %%S ÃÍ"
-#: 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 "̵¸ú¤Ê %%b ÃÍ"
-#: 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 "̵¸ú¤Ê %%z ÃÍ"
-#: 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 "̵¸ú¤Ê %%Z ÃÍ"
-#: config/romp/romp.c:799 config/romp/romp.c:808 config/romp/romp.c:815
-#: config/rs6000/rs6000.c:5561
+#: 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 "̵¸ú¤Ê %%k ÃÍ"
-#: 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 "̵¸ú¤Ê %%j ÃÍ"
@@ -12124,146 +12672,217 @@ msgstr "̵¸ú¤Ê %%j ÃÍ"
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr "-mfp-arg-in-fp-regs ¤ò»È¤¦¤È²ÄÊѸİú¿ô¤ò»ý¤Æ¤Þ¤»¤ó"
-#: config/rs6000/aix.h:134 config/rs6000/beos.h:32
-msgid "Always pass floating-point arguments in memory"
-msgstr "ÉâÆ°¾®¿ôÅÀ°ú¿ô¤Ï¾ï¤Ë¥á¥â¥êÅϤ·¤È¤¹¤ë"
-
-#: config/rs6000/aix.h:136 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
-msgid "Support message passing with the Parallel Environment"
-msgstr "ÊÂÎó´Ä¶­¤Ç¤Î¥á¥Ã¥»¡¼¥¸¥Ñ¥Ã¥·¥ó¥°¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-
-#: config/rs6000/aix43.h:28 config/rs6000/aix51.h:28
-msgid "Compile for 64-bit pointers"
-msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+#. 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
+#, fuzzy
+msgid "ignoring malformed #pragma longcall"
+msgstr "#pragma %s ¤ò̵»ë¤·¤Þ¤¹"
-#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30
-msgid "Compile for 32-bit pointers"
-msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+#: config/rs6000/rs6000-c.c:58
+#, fuzzy
+msgid "missing open paren"
+msgstr "Code °À­¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49
+#: config/rs6000/rs6000-c.c:60
#, fuzzy
-msgid "-maix64 and POWER architecture are incompatible"
-msgstr "-maix64 ¤È POWER ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤È¤Ç¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+msgid "missing number"
+msgstr "̾Á°¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54
+#: config/rs6000/rs6000-c.c:62
#, fuzzy
-msgid "-maix64 requires PowerPC64 architecture remain enabled"
-msgstr "PowerPC64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ê¤¤¤È -maix64 ¤òÍ­¸ú¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+msgid "missing close paren"
+msgstr "¥¯¥é¥¹Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: config/rs6000/aix43.h:58 config/rs6000/aix51.h:58
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
+msgstr ""
+
+#: config/rs6000/rs6000-c.c:68
#, fuzzy
-msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
-msgstr "-maix64 Í×µá: 32 bit ¥¢¥É¥ì¥·¥ó¥°²¼¤Î 64 bit ·×»»¤Ï¤Þ¤ÀÍøÍѤǤ­¤Þ¤»¤ó"
+msgid "junk at end of #pragma longcall"
+msgstr "#pragma map ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/rs6000/rs6000.c:471
+#: config/rs6000/rs6000.c:588
msgid "-mmultiple is not supported on little endian systems"
msgstr "-mmultiple ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥·¥¹¥Æ¥à¾å¤Ç¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-#: config/rs6000/rs6000.c:478
+#: config/rs6000/rs6000.c:595
msgid "-mstring is not supported on little endian systems"
msgstr "-mstring ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥·¥¹¥Æ¥à¾å¤Ç¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-#: config/rs6000/rs6000.c:484
-#, fuzzy, c-format
-msgid "-f%s ignored (all code is position independent)"
-msgstr "AIX ÍÑ¤Ë -f%s ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡ÊÁ´¤Æ¤Î¥³¡¼¥É¤Ï°ÌÃÖÈó°Í¸¤Ç¤¹¡Ë"
-
-#: config/rs6000/rs6000.c:493
-msgid "-ffunction-sections disabled on AIX when debugging"
-msgstr "AIX ¤Ç¤Ï¥Ç¥Ð¥Ã¥°»þ¤Î -ffunction-sections ¤Ï̵¸ú¤È¤µ¤ì¤Þ¤¹"
-
-#: config/rs6000/rs6000.c:499
-msgid "-fdata-sections not supported on AIX"
-msgstr "AIX ¤Ç¤Ï -fdata-sections ¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
-
-#: config/rs6000/rs6000.c:514
+#: config/rs6000/rs6000.c:619
#, fuzzy, c-format
msgid "unknown -mdebug-%s switch"
msgstr "ÉÔÌÀ¤Ê -mdebug-%s ¥¹¥¤¥Ã¥Á¤Ç¤¹"
-#: config/rs6000/rs6000.c:524
+#: config/rs6000/rs6000.c:631
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:642
#, c-format
msgid "Unknown switch -mlong-double-%s"
msgstr ""
-#: config/rs6000/rs6000.c:589
+#: config/rs6000/rs6000.c:734
+#, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:749
+#, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr ""
+
+#: config/rs6000/rs6000.c:768
#, fuzzy, c-format
msgid "unknown ABI specified: '%s'"
msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
-#: config/rs6000/rs6000.c:5488
+#: 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
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: config/rs6000/rs6000.c:4373
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+#: config/rs6000/rs6000.c:4452
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4629
+#, fuzzy, c-format
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "`%s' ¤Ø¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#: config/rs6000/rs6000.c:4745
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr ""
+
+#: config/rs6000/rs6000.c:4976
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: config/rs6000/rs6000.c:5049
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+#: config/rs6000/rs6000.c:7474
#, c-format
msgid "invalid %%f value"
msgstr "̵¸ú¤Ê %%f ÃͤǤ¹"
-#: config/rs6000/rs6000.c:5497
+#: config/rs6000/rs6000.c:7483
#, c-format
msgid "invalid %%F value"
msgstr "̵¸ú¤Ê %%F ÃͤǤ¹"
-#: config/rs6000/rs6000.c:5506
+#: config/rs6000/rs6000.c:7492
#, c-format
msgid "invalid %%G value"
msgstr "̵¸ú¤Ê %%G ÃͤǤ¹"
-#: config/rs6000/rs6000.c:5541
+#: config/rs6000/rs6000.c:7527
#, c-format
msgid "invalid %%j code"
msgstr "̵¸ú¤Ê %%j ¥³¡¼¥É¤Ç¤¹"
-#: config/rs6000/rs6000.c:5551
+#: config/rs6000/rs6000.c:7537
#, c-format
msgid "invalid %%J code"
msgstr "̵¸ú¤Ê %%J ¥³¡¼¥É¤Ç¤¹"
-#: config/rs6000/rs6000.c:5581
+#: config/rs6000/rs6000.c:7567
#, c-format
msgid "invalid %%K value"
msgstr "̵¸ú¤Ê %%K ÃͤǤ¹"
-#: config/rs6000/rs6000.c:5708
+#: config/rs6000/rs6000.c:7634
#, c-format
-msgid "invalid %%p value"
-msgstr "̵¸ú¤Ê %%p ÃͤǤ¹"
-
-#: config/rs6000/rs6000.c:5745
-#, c-format
-msgid "invalid %%q value"
-msgstr "̵¸ú¤Ê %%q ÃͤǤ¹"
-
-#: config/rs6000/rs6000.c:5808
-#, c-format
-msgid "%%S computed all 1's mask"
-msgstr "%%S ¤ÏÁ´¤Æ¤¬ 1 ¤Î¥Þ¥¹¥¯¤ò·×»»¤·¤Þ¤·¤¿"
-
-#: config/rs6000/rs6000.c:5835
-#, c-format
-msgid "%%S computed all 0's mask"
-msgstr "%%S ¤ÏÁ´¤Æ¤¬ 0 ¤Î¥Þ¥¹¥¯¤ò·×»»¤·¤Þ¤·¤¿"
+msgid "invalid %%O value"
+msgstr "̵¸ú¤Ê %%O ÃÍ"
-#: config/rs6000/rs6000.c:5845
+#: config/rs6000/rs6000.c:7756
#, c-format
msgid "invalid %%T value"
msgstr "̵¸ú¤Ê %%T ÃͤǤ¹"
-#: config/rs6000/rs6000.c:5855
+#: config/rs6000/rs6000.c:7766
#, c-format
msgid "invalid %%u value"
msgstr "̵¸ú¤Ê %%u ÃͤǤ¹"
-#: config/rs6000/rs6000.c:5864
+#: config/rs6000/rs6000.c:7775
#, c-format
msgid "invalid %%v value"
msgstr "̵¸ú¤Ê %%v ÃͤǤ¹"
+#: 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: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/aix52.h:28
+msgid "Compile for 64-bit pointers"
+msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+
+#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30 config/rs6000/aix52.h:30
+msgid "Compile for 32-bit pointers"
+msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+
+#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49 config/rs6000/aix52.h:49
+#, fuzzy
+msgid "-maix64 and POWER architecture are incompatible"
+msgstr "-maix64 ¤È POWER ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤È¤Ç¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54 config/rs6000/aix52.h:54
+#, fuzzy
+msgid "-maix64 requires PowerPC64 architecture remain enabled"
+msgstr "PowerPC64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ê¤¤¤È -maix64 ¤òÍ­¸ú¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+#: config/rs6000/aix43.h:58 config/rs6000/aix51.h:58 config/rs6000/aix52.h:58
+#, fuzzy
+msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+msgstr "-maix64 Í×µá: 32 bit ¥¢¥É¥ì¥·¥ó¥°²¼¤Î 64 bit ·×»»¤Ï¤Þ¤ÀÍøÍѤǤ­¤Þ¤»¤ó"
+
#. Run-time compilation parameters selecting different hardware subsets.
#.
#. Macro to define tables used to set the flags.
@@ -12271,165 +12890,166 @@ msgstr "̵¸ú¤Ê %%v ÃͤǤ¹"
#. 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:275
+#: config/rs6000/rs6000.h:240
msgid "Use POWER instruction set"
msgstr "POWER Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:278
+#: config/rs6000/rs6000.h:243
msgid "Use POWER2 instruction set"
msgstr "POWER2 Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:280
+#: config/rs6000/rs6000.h:245
msgid "Do not use POWER2 instruction set"
msgstr "POWER2 Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:283
+#: config/rs6000/rs6000.h:248
msgid "Do not use POWER instruction set"
msgstr "POWER Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:285
+#: config/rs6000/rs6000.h:250
msgid "Use PowerPC instruction set"
msgstr "PowerPC Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:288
+#: config/rs6000/rs6000.h:253
msgid "Do not use PowerPC instruction set"
msgstr "PowerPC Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:290
+#: config/rs6000/rs6000.h:255
msgid "Use PowerPC General Purpose group optional instructions"
msgstr "PowerPC °ìÈÌÍÑÅÓ¥°¥ë¡¼¥×¥ª¥×¥·¥ç¥óÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:292
+#: config/rs6000/rs6000.h:257
msgid "Don't use PowerPC General Purpose group optional instructions"
msgstr "PowerPC °ìÈÌÍÑÅÓ¥°¥ë¡¼¥×¥ª¥×¥·¥ç¥óÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:294
+#: config/rs6000/rs6000.h:259
msgid "Use PowerPC Graphics group optional instructions"
msgstr "PowerPC ¥°¥é¥Õ¥£¥¯¥¹¥°¥ë¡¼¥×¥ª¥×¥·¥ç¥óÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:296
+#: config/rs6000/rs6000.h:261
msgid "Don't use PowerPC Graphics group optional instructions"
msgstr "PowerPC ¥°¥é¥Õ¥£¥¯¥¹¥°¥ë¡¼¥×¥ª¥×¥·¥ç¥óÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:298
+#: config/rs6000/rs6000.h:263
msgid "Use PowerPC-64 instruction set"
msgstr "PowerPC-64 Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:300
+#: config/rs6000/rs6000.h:265
msgid "Don't use PowerPC-64 instruction set"
msgstr "PowerPC-64 Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:302
+#: config/rs6000/rs6000.h:267
#, fuzzy
msgid "Use AltiVec instructions"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:304
+#: config/rs6000/rs6000.h:269
#, fuzzy
msgid "Don't use AltiVec instructions"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/rs6000.h:306
+#: config/rs6000/rs6000.h:271
msgid "Use new mnemonics for PowerPC architecture"
msgstr "PowerPC ¥¢¡¼¥­¥Æ¥¯¥Á¥ãÍѤο·¤·¤¤¥Ë¡¼¥â¥Ë¥Ã¥¯¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:308
+#: config/rs6000/rs6000.h:273
msgid "Use old mnemonics for PowerPC architecture"
msgstr "PowerPC ¥¢¡¼¥­¥Æ¥¯¥Á¥ãÍѤθŤ¤¥Ë¡¼¥â¥Ë¥Ã¥¯¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:311
+#: config/rs6000/rs6000.h:276
msgid "Put everything in the regular TOC"
msgstr "Á´¤Æ¤òÄ̾ï TOC Æâ¤ËÇÛÃÖ¤¹¤ë"
-#: config/rs6000/rs6000.h:313
+#: config/rs6000/rs6000.h:278
msgid "Place floating point constants in TOC"
msgstr "ÉâÆ°¾®¿ôÅÀÄê¿ô¤ò TOC Æâ¤ËÇÛÃÖ¤¹¤ë"
-#: config/rs6000/rs6000.h:315
+#: config/rs6000/rs6000.h:280
msgid "Don't place floating point constants in TOC"
msgstr "ÉâÆ°¾®¿ôÅÀÄê¿ô¤ò TOC Æâ¤ËÇÛÃÖ¤·¤Ê¤¤"
-#: config/rs6000/rs6000.h:317
+#: config/rs6000/rs6000.h:282
msgid "Place symbol+offset constants in TOC"
msgstr "¥·¥ó¥Ü¥ë+¥ª¥Õ¥»¥Ã¥ÈÄê¿ô¤ò TOC Æâ¤ËÇÛÃÖ¤¹¤ë"
-#: config/rs6000/rs6000.h:319
+#: config/rs6000/rs6000.h:284
msgid "Don't place symbol+offset constants in TOC"
msgstr "¥·¥ó¥Ü¥ë+¥ª¥Õ¥»¥Ã¥ÈÄê¿ô¤ò TOC Æâ¤ËÇÛÃÖ¤·¤Ê¤¤"
-#: config/rs6000/rs6000.h:325
+#: config/rs6000/rs6000.h:290
msgid "Place variable addresses in the regular TOC"
msgstr "ÊÑ¿ô¥¢¥É¥ì¥¹¤òÄ̾ï TOC Æâ¤ËÇÛÃÖ¤¹¤ë"
-#: config/rs6000/rs6000.h:331
+#: config/rs6000/rs6000.h:296
msgid "Generate load/store multiple instructions"
msgstr "Ê£¿ôÌ¿Îá¤Î¥í¡¼¥É/¥¹¥È¥¢¤òÀ¸À®¤¹¤ë"
-#: config/rs6000/rs6000.h:333
+#: config/rs6000/rs6000.h:298
msgid "Do not generate load/store multiple instructions"
msgstr "Ê£¿ôÌ¿Îá¤Î¥í¡¼¥É/¥¹¥È¥¢¤òÀ¸À®¤·¤Ê¤¤"
-#: config/rs6000/rs6000.h:337
+#: config/rs6000/rs6000.h:302
msgid "Generate string instructions for block moves"
msgstr "¥Ö¥í¥Ã¥¯°ÜÆ°ÍѤΠstring Ì¿Îá¤òÀ¸À®¤¹¤ë"
-#: config/rs6000/rs6000.h:339
+#: config/rs6000/rs6000.h:304
msgid "Do not generate string instructions for block moves"
msgstr "¥Ö¥í¥Ã¥¯°ÜÆ°ÍѤΠstring Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-#: config/rs6000/rs6000.h:343
+#: config/rs6000/rs6000.h:308
msgid "Generate load/store with update instructions"
msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤¹¤ë"
-#: config/rs6000/rs6000.h:345
+#: config/rs6000/rs6000.h:310
msgid "Do not generate load/store with update instructions"
msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-#: config/rs6000/rs6000.h:353
+#: config/rs6000/rs6000.h:318
msgid "Don't schedule the start and end of the procedure"
msgstr "¥×¥í¥·¡¼¥¸¥ã³«»Ï¤È½ªÎ»¤Î¥¹¥±¥¸¥å¡¼¥ë¤ò¹Ô¤Ê¤ï¤Ê¤¤"
-#: config/rs6000/rs6000.h:359
+#: config/rs6000/rs6000.h:324
msgid "Return all structures in memory (AIX default)"
msgstr ""
-#: config/rs6000/rs6000.h:361
+#: config/rs6000/rs6000.h:326
msgid "Return small structures in registers (SVR4 default)"
msgstr ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/rs6000/rs6000.h:441 config/sparc/sparc.h:683
+#: config/rs6000/rs6000.h:391 config/sparc/sparc.h:633
msgid "Use features of and schedule code for given CPU"
msgstr "Í¿¤¨¤é¤ì¤¿ CPU ÍѤε¡Ç½¤È¥¹¥±¥¸¥å¡¼¥ë¥³¡¼¥É¤òÍøÍѤ¹¤ë"
-#: config/rs6000/rs6000.h:444
+#: config/rs6000/rs6000.h:394
msgid "Enable debug output"
msgstr "¥Ç¥Ð¥Ã¥°½ÐÎϤòÍ­¸ú¤Ë¤¹¤ë"
-#: config/rs6000/rs6000.h:445
+#: 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:447
+#: config/rs6000/rs6000.h:399
#, fuzzy
msgid "Specify size of long double (64 or 128 bits)"
msgstr "sizeof(long double) ¤Ï 12 ¤È¤¹¤ë¡£"
+#: 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
+#, fuzzy
+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.
@@ -12442,115 +13062,119 @@ msgstr "sizeof(long double) ¤Ï 12 ¤È¤¹¤ë¡£"
#. 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:1791
+#: config/rs6000/rs6000.h:1869
msgid "RETURN_ADDRESS_OFFSET not supported"
msgstr "RETURN_ADDRESS_OFFSET ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:88
+#: config/rs6000/sysv4.h:87
#, fuzzy
msgid "Select ABI calling convention"
msgstr "ABI ¸Æ¤Ó½Ð¤·µ¬Ìó¤òÁªÂò¤¹¤ë"
-#: config/rs6000/sysv4.h:89
+#: config/rs6000/sysv4.h:88
#, fuzzy
msgid "Select method for sdata handling"
msgstr "sdata ¼è¤ê°·¤¤¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤òÁªÂò¤¹¤ë"
-#: config/rs6000/sysv4.h:104
+#: config/rs6000/sysv4.h:103
#, fuzzy
msgid "Align to the base type of the bit-field"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥Ù¡¼¥¹¥¿¥¤¥×¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
-#: config/rs6000/sysv4.h:106
+#: config/rs6000/sysv4.h:105
#, fuzzy
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
#, fuzzy
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
#, fuzzy
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
#, fuzzy
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
#, fuzzy
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
#, fuzzy
msgid "Use EABI"
msgstr "EABI ¤òÍøÍѤ¹¤ë¡£"
-#: config/rs6000/sysv4.h:134
+#: config/rs6000/sysv4.h:133
#, fuzzy
msgid "Don't use EABI"
msgstr "EABI ¤òÍøÍѤ·¤Ê¤¤¡£"
-#: 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
#, fuzzy
msgid "Use alternate register names"
msgstr "ÂåÂإ쥸¥¹¥¿Ì¾¤ò»ÈÍѤ¹¤ë"
-#: config/rs6000/sysv4.h:141
+#: config/rs6000/sysv4.h:140
#, fuzzy
msgid "Don't use alternate register names"
msgstr "ÂåÂإ쥸¥¹¥¿Ì¾¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/rs6000/sysv4.h:145
+#: config/rs6000/sysv4.h:144
#, fuzzy
msgid "Link with libsim.a, libc.a and sim-crt0.o"
msgstr "libsim.a, libc.a µÚ¤Ó sim-crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
-#: config/rs6000/sysv4.h:147
+#: config/rs6000/sysv4.h:146
#, fuzzy
msgid "Link with libads.a, libc.a and crt0.o"
msgstr "libads.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
-#: config/rs6000/sysv4.h:149
+#: config/rs6000/sysv4.h:148
#, fuzzy
msgid "Link with libyk.a, libc.a and crt0.o"
msgstr "libyk.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
-#: config/rs6000/sysv4.h:151
+#: config/rs6000/sysv4.h:150
#, fuzzy
msgid "Link with libmvme.a, libc.a and crt0.o"
msgstr "libmvme.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
-#: config/rs6000/sysv4.h:153
+#: config/rs6000/sysv4.h:152
msgid "Set the PPC_EMB bit in the ELF flags header"
msgstr "PPC_EMB ¥Ó¥Ã¥È¤ò ELF ¥Õ¥é¥°¥Ø¥Ã¥ÀÆâ¤Ë¥»¥Ã¥È¤¹¤ë"
+#: 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
@@ -12559,3746 +13183,1346 @@ msgstr "PPC_EMB ¥Ó¥Ã¥È¤ò ELF ¥Õ¥é¥°¥Ø¥Ã¥ÀÆâ¤Ë¥»¥Ã¥È¤¹¤ë"
#.
#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
#. get control.
-#: config/rs6000/sysv4.h:212
+#: config/rs6000/sysv4.h:214
#, fuzzy, c-format
msgid "bad value for -mcall-%s"
msgstr "-mcall-%s ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤Æ¤ÎÉÔÀµ¤ÊÃÍ"
-#: config/rs6000/sysv4.h:228
+#: config/rs6000/sysv4.h:230
#, fuzzy, c-format
msgid "bad value for -msdata=%s"
msgstr "-msdata=%s ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ"
-#: config/rs6000/sysv4.h:245
+#: config/rs6000/sysv4.h:247
#, fuzzy, c-format
msgid "-mrelocatable and -msdata=%s are incompatible"
msgstr "-mrelocatable ¤È -msdata=%s ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:253
+#: config/rs6000/sysv4.h:255
#, fuzzy, c-format
msgid "-f%s and -msdata=%s are incompatible"
msgstr "-f%s ¤È -msdata=%s ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:261
+#: config/rs6000/sysv4.h:263
#, fuzzy, c-format
msgid "-msdata=%s and -mcall-%s are incompatible"
msgstr "-msdata=%s ¤È -mcall-%s ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:268
+#: config/rs6000/sysv4.h:272
#, fuzzy
msgid "-mrelocatable and -mno-minimal-toc are incompatible"
msgstr "-mrelocatable ¤È -mno-minimal-toc ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:274
+#: config/rs6000/sysv4.h:278
#, fuzzy, c-format
msgid "-mrelocatable and -mcall-%s are incompatible"
msgstr "-mrelocatable ¤È -mcall-%s ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:281
+#: config/rs6000/sysv4.h:285
#, fuzzy, c-format
msgid "-fPIC and -mcall-%s are incompatible"
msgstr "-fPIC ¤È -mcall-%s ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/rs6000/sysv4.h:288
+#: config/rs6000/sysv4.h:292
msgid "-mcall-aixdesc must be big endian"
msgstr "-mcall-aixdesc ¤Ï¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: config/s390/s390.c:1757
+#: config/s390/s390.c:2584
#, fuzzy
msgid "invalid UNSPEC as operand (1)"
msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê UNSPEC"
-#: config/s390/s390.c:1787
+#: config/s390/s390.c:2620
#, fuzzy
msgid "invalid UNSPEC as operand (2)"
msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê UNSPEC"
-#: config/s390/s390.c:1793
+#: config/s390/s390.c:2626
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr ""
-#: config/s390/s390.c:1809
+#: config/s390/s390.c:2644
#, fuzzy
msgid "Cannot decompose address."
msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
-#: config/s390/s390.c:1957
+#: config/s390/s390.c:2784
msgid "UNKNOWN in print_operand !?"
msgstr ""
-#: config/s390/s390.c:2502
-#, fuzzy
-msgid "no code label found"
-msgstr "¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-
-#: config/s390/s390.c:2648
+#: config/s390/s390.c:4421
msgid "Total size of local variables exceeds architecture limit."
msgstr ""
-#: config/s390/s390.h:53
+#: config/s390/s390.h:70
msgid "Set backchain"
msgstr ""
-#: config/s390/s390.h:54
+#: config/s390/s390.h:71
msgid "Don't set backchain (faster, but debug harder"
msgstr ""
-#: config/s390/s390.h:55
+#: config/s390/s390.h:72
msgid "Use bras for execucable < 64k"
msgstr ""
-#: config/s390/s390.h:56
+#: config/s390/s390.h:73
#, fuzzy
msgid "Don't use bras"
msgstr "EABI ¤òÍøÍѤ·¤Ê¤¤¡£"
-#: config/s390/s390.h:57
+#: config/s390/s390.h:74
msgid "Additional debug prints"
msgstr ""
-#: config/s390/s390.h:58
+#: config/s390/s390.h:75
msgid "Don't print additional debug prints"
msgstr ""
-#: config/s390/s390.h:59
+#: config/s390/s390.h:76
msgid "64 bit mode"
msgstr ""
-#: config/s390/s390.h:60
+#: config/s390/s390.h:77
msgid "31 bit mode"
msgstr ""
-#: config/s390/s390.h:61
+#: config/s390/s390.h:78
msgid "mvcle use"
msgstr ""
-#: config/s390/s390.h:62
+#: config/s390/s390.h:79
msgid "mvc&ex"
msgstr ""
+#: config/sh/sh.c:5134
+#, fuzzy
+msgid "__builtin_saveregs not supported by this subtarget"
+msgstr "__builtin_saveregs ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: 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:4730 config/sh/sh.c:4769
+#: config/sh/sh.c:5710 config/sh/sh.c:5749
#, fuzzy, c-format
msgid "`%s' attribute only applies to interrupt functions"
msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
#. The argument must be a constant string.
-#: config/sh/sh.c:4737
+#: config/sh/sh.c:5717
#, fuzzy, c-format
msgid "`%s' attribute argument not a string constant"
msgstr "asm ¥Æ¥ó¥×¥ì¡¼¥È¤¬Ê¸»úÎóÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
#. The argument must be a constant integer.
-#: config/sh/sh.c:4776
+#: config/sh/sh.c:5756
#, fuzzy, c-format
msgid "`%s' attribute argument not an integer constant"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/sparc/freebsd.h:81 config/sparc/linux.h:86
-#: config/sparc/linux64.h:139
-msgid "Use 128 bit long doubles"
-msgstr "128 ¥Ó¥Ã¥È¤Î long double ¤ò»ÈÍѤ¹¤ë"
-
-#: config/sparc/sp64-elf.h:82 config/sparc/splet.h:29
-msgid "Generate code for big endian"
-msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-
-#: config/sparc/sp64-elf.h:83 config/sparc/splet.h:30
-msgid "Generate code for little endian"
-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-
-#: config/sparc/sp86x-aout.h:51 config/sparc/sp86x-elf.h:67
-msgid "Use little-endian byte order for data"
-msgstr "¥Ç¡¼¥¿¤Î¥Ð¥¤¥È½ç¤Ë¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤ò»ÈÍѤ¹¤ë"
+#. There are no delay slots on SHmedia.
+#. Relaxation isn't yet supported for SHmedia
+#: config/sh/sh.h:437
+#, fuzzy
+msgid "Profiling is not supported on this target."
+msgstr "¥¹¥¿¥Ã¥¯À©¸Â¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: config/sparc/sparc.c:319
+#: config/sparc/sparc.c:329
#, c-format
msgid "%s is not supported by this configuration"
msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/sparc/sparc.c:326
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-#: config/sparc/sparc.c:351
+#: config/sparc/sparc.c:361
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr "-mcmodel= ¤Ï 32 bit ¥·¥¹¥Æ¥à¾å¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: config/sparc/sparc.c:436
-msgid "profiling does not support code models other than medlow"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Ï medlow °Ê³°¤Î¥³¡¼¥É¥â¥Ç¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-
-#: config/sparc/sparc.c:5831 config/sparc/sparc.c:5837
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
#, fuzzy, c-format
msgid "invalid %%Y operand"
msgstr "̵¸ú¤Ê %%Y ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5907
+#: config/sparc/sparc.c:6375
#, fuzzy, c-format
msgid "invalid %%A operand"
msgstr "̵¸ú¤Ê %%A ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5917
+#: config/sparc/sparc.c:6385
#, fuzzy, c-format
msgid "invalid %%B operand"
msgstr "̵¸ú¤Ê %%B ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5956
+#: config/sparc/sparc.c:6424
#, fuzzy, c-format
msgid "invalid %%c operand"
msgstr "̵¸ú¤Ê %%c ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5957
+#: config/sparc/sparc.c:6425
#, fuzzy, c-format
msgid "invalid %%C operand"
msgstr "̵¸ú¤Ê %%C ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5978
+#: config/sparc/sparc.c:6446
#, fuzzy, c-format
msgid "invalid %%d operand"
msgstr "̵¸ú¤Ê %%d ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5979
+#: config/sparc/sparc.c:6447
#, fuzzy, c-format
msgid "invalid %%D operand"
msgstr "̵¸ú¤Ê %%D ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:5997
+#: config/sparc/sparc.c:6463
#, fuzzy, c-format
msgid "invalid %%f operand"
msgstr "̵¸ú¤Ê %%f ¥ª¥Ú¥é¥ó¥É"
-#: config/sparc/sparc.c:6047
+#: config/sparc/sparc.c:6513
msgid "long long constant not a valid immediate operand"
msgstr "long long Äê¿ô¤ÏÀµ¾ï¤Ê¨ÃÍ¥ª¥Ú¥é¥ó¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/sparc/sparc.c:6050
+#: config/sparc/sparc.c:6516
msgid "floating point constant not a valid immediate operand"
msgstr "ÉâÆ°¾®¿ôÄê¿ô¤ÏÀµ¾ï¤Ê¨ÃÍ¥ª¥Ú¥é¥ó¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#. To make profiling work with -f{pic,PIC}, we need to emit the profiling
-#. code into the rtl. Also, if we are profiling, we cannot eliminate
-#. the frame pointer (because the return address will get smashed).
-#: config/sparc/sparc.h:388
-#, c-format
-msgid "%s and profiling conflict: disabling %s"
-msgstr "%s ¤È¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Ï¶¥¹ç¤·¤Þ¤¹: %s ¤ò̵¸ú²½¤·¤Þ¤¹"
+#: 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 "128 ¥Ó¥Ã¥È¤Î long double ¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:562
-#, fuzzy
-msgid "Use function_epilogue()"
-msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
+msgid "Generate code for big endian"
+msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/sparc/sparc.h:564
-#, fuzzy
-msgid "Do not use function_epilogue()"
-msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
+msgid "Generate code for little endian"
+msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/sparc/sparc.h:566
+#: 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:532
msgid "Assume possible double misalignment"
msgstr "double ¤¬¸í¤Ã¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤È¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
-#: config/sparc/sparc.h:568
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
msgstr "Á´¤Æ¤Î double ¤ò¥¢¥é¥¤¥ó¤µ¤ì¤¿¤â¤Î¤È¤ß¤Ê¤¹"
-#: config/sparc/sparc.h:570
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr "¥ê¥ó¥«¤Ë -assert pure-text ¤òÅϤ¹"
-#: config/sparc/sparc.h:572
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr "¥ê¥ó¥«¤Ë -assert pure-text ¤òÅϤµ¤Ê¤¤"
-#: config/sparc/sparc.h:574
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr "¥Õ¥é¥Ã¥È¥ì¥¸¥¹¥¿¥¦¥£¥ó¥É¥¦¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:576
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr "¥Õ¥é¥Ã¥È¥ì¥¸¥¹¥¿¥¦¥£¥ó¥É¥¦¥â¥Ç¥ë¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/sparc/sparc.h:578
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr "ABI ͽÌó¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:580
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr "ABI ͽÌó¥ì¥¸¥¹¥¿¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/sparc/sparc.h:582
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:584
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/sparc/sparc.h:586
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr "v8plus ABI ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: config/sparc/sparc.h:588
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr "v8plus ABI ÍѤ˥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤¤"
-#: config/sparc/sparc.h:590
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
msgstr "Visual Ì¿Î᥻¥Ã¥È¤òÍøÍѤ¹¤ë"
-#: config/sparc/sparc.h:592
+#: config/sparc/sparc.h:558
msgid "Do not utilize Visual Instruction Set"
msgstr "Visual Ì¿Î᥻¥Ã¥È¤òÍøÍѤ·¤Ê¤¤"
#. ??? These are deprecated, coerced to -mcpu=. Delete in 2.9.
-#: config/sparc/sparc.h:595
+#: config/sparc/sparc.h:561
msgid "Optimize for Cypress processors"
msgstr "Cypress ¥×¥í¥»¥Ã¥µÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/sparc/sparc.h:597
-msgid "Optimize for SparcLite processors"
+#: config/sparc/sparc.h:563
+#, fuzzy
+msgid "Optimize for SPARCLite processors"
msgstr "SparcLite ¥×¥í¥»¥Ã¥µÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr "F930 ¥×¥í¥»¥Ã¥µÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/sparc/sparc.h:601
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr "F934 ¥×¥í¥»¥Ã¥µÍѤ˺ÇŬ²½¤¹¤ë"
-#: config/sparc/sparc.h:603
-msgid "Use V8 Sparc ISA"
+#: config/sparc/sparc.h:569
+#, fuzzy
+msgid "Use V8 SPARC ISA"
msgstr "V8 Sparc ISA ¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:605
-msgid "Optimize for SuperSparc processors"
+#: config/sparc/sparc.h:571
+#, fuzzy
+msgid "Optimize for SuperSPARC processors"
msgstr "SuperSparc ¥×¥í¥»¥Ã¥µÍѤ˺ÇŬ²½¤¹¤ë"
#. End of deprecated options.
-#: config/sparc/sparc.h:608
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr "¥Ý¥¤¥ó¥¿¤ò 64 ¥Ó¥Ã¥È¤È¤¹¤ë"
-#: config/sparc/sparc.h:610
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr "¥Ý¥¤¥ó¥¿¤ò 32 ¥Ó¥Ã¥È¤È¤¹¤ë"
-#: config/sparc/sparc.h:612
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
msgstr "32 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:614
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
msgstr "64 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:616
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:618
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ·¤Ê¤¤"
-#: config/sparc/sparc.h:620
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr "¥À¥Ö¥ë¥ï¡¼¥É¥³¥Ô¡¼ÍѤζ¯¤¯¥¢¥é¥¤¥ó¤µ¤ì¤¿¹½Â¤ÂΤò»ÈÍѤ¹¤ë"
-#: config/sparc/sparc.h:622
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr "¥À¥Ö¥ë¥ï¡¼¥É¥³¥Ô¡¼ÍѤζ¯¤¯¥¢¥é¥¤¥ó¤µ¤ì¤¿¹½Â¤ÂΤò»ÈÍѤ·¤Ê¤¤"
-#: config/sparc/sparc.h:624
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr "¥¢¥»¥ó¥Ö¥é¤È¥ê¥ó¥«¤ÇËöÈø¸Æ¤Ó½Ð¤·Ì¿Îá¤òºÇŬ²½¤¹¤ë"
-#: config/sparc/sparc.h:626
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr "¥¢¥»¥ó¥Ö¥é¤È¥ê¥ó¥«¤ÇËöÈø¸Æ¤Ó½Ð¤·Ì¿Îá¤òºÇŬ²½¤·¤Ê¤¤"
-#: config/sparc/sparc.h:687
-msgid "Use given Sparc code model"
+#: config/sparc/sparc.h:637
+#, fuzzy
+msgid "Use given SPARC code model"
msgstr "Í¿¤¨¤é¤ì¤¿ Sparc ¥³¡¼¥É¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë"
-#: config/stormy16/stormy16.c:1167
+#: config/stormy16/stormy16.c:1192
#, fuzzy
msgid "cannot use va_start in interrupt function"
msgstr "¾¤Î´Ø¿ôÆâ¤Ç static ´Ø¿ô¤òÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: config/stormy16/stormy16.c:1524
+#: config/stormy16/stormy16.c:1552
#, fuzzy
msgid "`B' operand is not constant"
msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É¤¬ `asm' Æâ¤ÇÄê¿ô¤Ç¤¹"
-#: config/stormy16/stormy16.c:1530
+#: config/stormy16/stormy16.c:1558
msgid "`B' operand has multiple bits set"
msgstr ""
-#: config/stormy16/stormy16.c:1557
+#: config/stormy16/stormy16.c:1585
#, fuzzy
msgid "`o' operand is not constant"
msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É¤¬ `asm' Æâ¤ÇÄê¿ô¤Ç¤¹"
-#: config/stormy16/stormy16.c:1572
+#: config/stormy16/stormy16.c:1600
#, fuzzy
msgid "xstormy16_print_operand: unknown code"
msgstr "ia64_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
-#: config/stormy16/stormy16.c:1622
+#: config/stormy16/stormy16.c:1650
#, fuzzy, c-format
msgid "switch statement of size %lu entries too large"
msgstr "ÊÑ¿ô `%s' ¤Î¥µ¥¤¥º¤¬Â礭¤¹¤®¤Þ¤¹"
-#: config/v850/v850-c.c:68
+#: config/v850/v850-c.c:67
msgid "#pragma GHS endXXXX found without previous startXXX"
msgstr "#pragma GHS endXXXX ¤¬Á°¤Î startXXX ̵¤·¤Ç¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: config/v850/v850-c.c:70
+#: config/v850/v850-c.c:69
msgid "#pragma GHS endXXX does not match previous startXXX"
msgstr "#pragma GHS endXXX ¤¬Á°¤Î startXXX ¤ÈŬ¹ç¤·¤Þ¤»¤ó"
-#: config/v850/v850-c.c:95
+#: config/v850/v850-c.c:94
#, fuzzy
msgid "cannot set interrupt attribute: no current function"
msgstr "interrupt °À­¤òÀßÄê¤Ç¤­¤Þ¤»¤ó: ¸½ºß¤Î´Ø¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: config/v850/v850-c.c:103
+#: config/v850/v850-c.c:102
#, fuzzy
msgid "cannot set interrupt attribute: no such identifier"
msgstr "interrupt °À­¤òÀßÄê¤Ç¤­¤Þ¤»¤ó: ¤½¤ÎÍͤʼ±Ê̻Ҥ¬¤¢¤ê¤Þ¤»¤ó"
-#: config/v850/v850-c.c:149
+#: config/v850/v850-c.c:148
msgid "junk at end of #pragma ghs section"
msgstr "#pragma ghs section ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:166
+#: config/v850/v850-c.c:165
#, fuzzy, c-format
msgid "unrecognized section name \"%s\""
msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥»¥¯¥·¥ç¥ó̾ \"%s\""
-#: config/v850/v850-c.c:181
+#: config/v850/v850-c.c:180
msgid "malformed #pragma ghs section"
msgstr "¤ª¤«¤·¤Ê #pragma ghs section"
-#: config/v850/v850-c.c:201
+#: config/v850/v850-c.c:200
msgid "junk at end of #pragma ghs interrupt"
msgstr "#pragma ghs interrupt ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:213
+#: config/v850/v850-c.c:212
msgid "junk at end of #pragma ghs starttda"
msgstr "#pragma ghs starttda ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:225
+#: config/v850/v850-c.c:224
msgid "junk at end of #pragma ghs startsda"
msgstr "#pragma ghs startsda ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:237
+#: config/v850/v850-c.c:236
msgid "junk at end of #pragma ghs startzda"
msgstr "#pragma ghs startzda ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:249
+#: config/v850/v850-c.c:248
msgid "junk at end of #pragma ghs endtda"
msgstr "#pragma ghs endtda ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:261
+#: config/v850/v850-c.c:260
msgid "junk at end of #pragma ghs endsda"
msgstr "#pragma ghs endsda ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850-c.c:273
+#: config/v850/v850-c.c:272
msgid "junk at end of #pragma ghs endzda"
msgstr "#pragma ghs ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: config/v850/v850.c:122
+#: config/v850/v850.c:129
#, fuzzy, c-format
msgid "%s=%s is not numeric"
msgstr "%s=%s ¤Ï¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó"
-#: config/v850/v850.c:129
+#: config/v850/v850.c:136
#, fuzzy, c-format
msgid "%s=%s is too large"
msgstr "%s=%s ¤ÏÂ礭¤¹¤®¤Þ¤¹¡£"
-#: 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:2081
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr "¥Ç¡¼¥¿Îΰè°À­¤ò¥í¡¼¥«¥ëÊÑ¿ô¤Ë¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
-#: config/v850/v850.c:2092
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr "¥Ç¡¼¥¿Îΰè '%s' ¤ÏÁ°¤ÎÀë¸À¤ÈÌ·½â¤·¤Þ¤¹"
-#: config/v850/v850.c:2295
+#: config/v850/v850.c:2447
#, fuzzy, c-format
msgid "bogus JR construction: %d\n"
msgstr "¸íËâ²½¤µ¤ì¤¿ JR ¹½Â¤: %d\n"
-#: config/v850/v850.c:2316 config/v850/v850.c:2518
+#: config/v850/v850.c:2468 config/v850/v850.c:2670
#, fuzzy, c-format
msgid "bad amount of stack space removal: %d"
msgstr "¥¹¥¿¥Ã¥¯¶õ´Öºï½üÎ̤¬ÉÔÀµ¤Ç¤¹: %d"
-#: config/v850/v850.c:2494
+#: config/v850/v850.c:2646
#, fuzzy, c-format
msgid "bogus JARL construction: %d\n"
msgstr "¸íËâ²½¤µ¤ì¤¿ JARL ¹½Â¤: %d\n"
+#: config/v850/v850.c:3026
+#, fuzzy, c-format
+msgid "Bogus DISPOSE construction: %d\n"
+msgstr "¸íËâ²½¤µ¤ì¤¿ JR ¹½Â¤: %d\n"
+
+#: config/v850/v850.c:3048
+#, c-format
+msgid "Too much stack space to dispose of: %d"
+msgstr ""
+
+#: config/v850/v850.c:3224
+#, fuzzy, c-format
+msgid "Bogus PREPEARE construction: %d\n"
+msgstr "¸íËâ²½¤µ¤ì¤¿ JARL ¹½Â¤: %d\n"
+
+#: config/v850/v850.c:3246
+#, fuzzy, c-format
+msgid "Too much stack space to prepare: %d"
+msgstr "¥¹¥¿¥Ã¥¯¶õ´Öºï½üÎ̤¬ÉÔÀµ¤Ç¤¹: %d"
+
#. 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:119
+#: config/v850/v850.h:158
msgid "Support Green Hills ABI"
msgstr "Green Hill ¤Î ABI ¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
-#: config/v850/v850.h:122
+#: config/v850/v850.h:161
msgid "Prohibit PC relative function calls"
msgstr "PC ´ØÏ¢¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤ò¶Ø¤¸¤ë"
-#: config/v850/v850.h:125
+#: config/v850/v850.h:164
msgid "Reuse r30 on a per function basis"
msgstr "´Ø¿ô¤Î¼çÍ×ÉôʬËè¤Ë r30 ¤òºÆÍøÍѤ¹¤ë"
-#: config/v850/v850.h:128
+#: config/v850/v850.h:167
msgid "Use stubs for function prologues"
msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
-#: config/v850/v850.h:131
+#: config/v850/v850.h:170
msgid "Same as: -mep -mprolog-function"
msgstr "-mep -mprolog-function ¤ÈƱÍÍ"
-#: config/v850/v850.h:132
+#: config/v850/v850.h:171
msgid "Enable backend debugging"
msgstr "¥Ð¥Ã¥¯¥¨¥ó¥É¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
-#: config/v850/v850.h:134
+#: config/v850/v850.h:173
msgid "Compile for the v850 processor"
msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: config/v850/v850.h:137
-msgid "Use 4 byte entries in switch tables"
-msgstr "switch ¥Æ¡¼¥Ö¥ë¤Ç 4 ¥Ð¥¤¥È¥¨¥ó¥È¥ê¤ò»ÈÍѤ¹¤ë"
-
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/v850/v850.h:181
-msgid "Set the max size of data eligible for the TDA area"
-msgstr "TDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
-
-#: config/v850/v850.h:184
-msgid "Set the max size of data eligible for the SDA area"
-msgstr "SDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
-
-#: config/v850/v850.h:187
-msgid "Set the max size of data eligible for the ZDA area"
-msgstr "ZDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
-
-#: ada/misc.c:219
-msgid "`-gnat' misspelled as `-gant'"
-msgstr ""
-
-#: ch/actions.c:118
-#, c-format
-msgid "%d errors, %d sorries, do granting"
-msgstr ""
-
-#: ch/actions.c:135
-msgid "GNU compiler does not support statically allocated objects"
-msgstr ""
-
-#: ch/actions.c:138 objc/objc-act.c:885
-#, c-format
-msgid "`%s' cannot be statically allocated"
-msgstr "`%s' ¤òÀÅŪ¤Ë³ÎÊݤǤ­¤Þ¤»¤ó"
-
-#: ch/actions.c:300
-#, c-format
-msgid "causing unhandled exception `%s' (this is flaged only once)"
-msgstr ""
-
-#: ch/actions.c:438
-#, fuzzy
-msgid "range failure (not inside function)"
-msgstr "`%s' ¤¬¤³¤³¤Ç¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (´Ø¿ô¤ÎÃæ¤Ç¤Ï¤Ê¤¤)"
-
-#: ch/actions.c:440
-msgid "possible range failure (not inside function)"
-msgstr ""
-
-#: ch/actions.c:445
-msgid "expression will always cause RANGEFAIL"
-msgstr ""
-
-#: ch/actions.c:492
-msgid "right hand side of assignment is a mode"
-msgstr ""
-
-#: ch/actions.c:498
-#, fuzzy, c-format
-msgid "incompatible modes in %s"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/actions.c:523
-#, fuzzy, c-format
-msgid "bad string length in %s"
-msgstr "ÉÔÀµ¤Êʸ»úÎóÄê¿ô¤Ç¤¹"
-
-#: ch/actions.c:631 ch/actions.c:644
-#, fuzzy, c-format
-msgid "mode mismatch in %s expression"
-msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-
-#: ch/actions.c:638
-#, fuzzy, c-format
-msgid "%s expression must be referable"
-msgstr "¥«¥ó¥Þ±é»»»Ò¤¬Ìá¤êÃͤò½é´ü²½¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤·¤¿"
-
-#: ch/actions.c:667
-#, c-format
-msgid "%s not allowed outside a PROC"
-msgstr ""
-
-#: ch/actions.c:673
-#, c-format
-msgid "%s action in PROC with no declared RESULTS"
-msgstr ""
-
-#: ch/actions.c:704
-msgid "RETURN not allowed outside PROC"
-msgstr ""
-
-#: ch/actions.c:717
+#: config/v850/v850.h:175
#, fuzzy
-msgid "RETURN with a value, in PROC returning void"
-msgstr "Ìá¤ê·¿¤¬ void ¤Î´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤¹"
-
-#: ch/actions.c:726
-msgid "RETURN with no value and no RESULT action in procedure"
-msgstr ""
-
-#: ch/actions.c:749
-#, fuzzy, c-format
-msgid "no label named `%s'"
-msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/actions.c:751
-#, fuzzy, c-format
-msgid "cannot GOTO label `%s' outside current function"
-msgstr "¥é¥Ù¥ë `%s' ¤¬´Ø¿ô¤Î³°Â¦¤Î²¿¤«¤ò»²¾È¤·¤Þ¤·¤¿"
-
-#: ch/actions.c:773
-#, fuzzy, c-format
-msgid "no EXITable label named `%s'"
-msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/actions.c:775
-#, fuzzy, c-format
-msgid "cannot EXIT label `%s' outside current function"
-msgstr "¥é¥Ù¥ë `%s' ¤¬´Ø¿ô¤Î³°Â¦¤Î²¿¤«¤ò»²¾È¤·¤Þ¤·¤¿"
-
-#: ch/actions.c:1018
-#, fuzzy
-msgid "case selector not compatible with label"
-msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤È¤ÏÁêÍƤì¤Þ¤»¤ó\n"
-
-#: ch/actions.c:1044
-#, fuzzy
-msgid "ELSE label not within a CASE statement"
-msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/actions.c:1048
-#, fuzzy
-msgid "multiple default labels found in a CASE statement"
-msgstr "°ì¤Ä¤Î switch ¤ËÊ£¿ô¤Î default ¥é¥Ù¥ë¤¬¤¢¤ê¤Þ¤¹"
-
-#: ch/actions.c:1049
-#, fuzzy
-msgid "this is the first ELSE label"
-msgstr "¤³¤ì¤¬ºÇ½é¤Î default ¥é¥Ù¥ë¤Ç¤¹"
-
-#: ch/actions.c:1070
-#, fuzzy
-msgid "label found outside of CASE statement"
-msgstr "¥é¥Ù¥ë¤Î¸å¤í¤Ë¤Ïʸ¤¬É¬ÍפǤ¹"
-
-#: ch/actions.c:1073
-#, fuzzy
-msgid "duplicate CASE value"
-msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
-
-#: ch/actions.c:1074 ch/actions.c:1127
-#, fuzzy
-msgid "this is the first entry for that value"
-msgstr "¤³¤ì¤¬¤½¤ÎÃͤȽÅÊ£¤·¤¿ºÇ½é¤Î¹àÌܤǤ¹"
-
-#: ch/actions.c:1077 ch/actions.c:1130
-#, fuzzy
-msgid "CASE value out of range"
-msgstr "16 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
-
-#: ch/actions.c:1079 ch/actions.c:1132
-#, fuzzy
-msgid "empty range"
-msgstr "¶õ¤ÎÈϰϤ¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-
-#: ch/actions.c:1081 ch/actions.c:1134
-#, fuzzy
-msgid "label within scope of cleanup or variable array"
-msgstr "case ¥é¥Ù¥ë¤¬¡¢²òÂΤޤ¿¤Ï²ÄÊÑÇÛÎó¤Î¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
-
-#: ch/actions.c:1105 ch/actions.c:1302
-msgid "mode in label is not discrete"
-msgstr ""
-
-#: ch/actions.c:1122
-#, fuzzy
-msgid "label not within a CASE statement"
-msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/actions.c:1282
-msgid "lower bound of range must be a discrete literal expression"
-msgstr ""
-
-#: ch/actions.c:1287
-msgid "upper bound of range must be a discrete literal expression"
-msgstr ""
-
-#: ch/actions.c:1311
-msgid "CASE label is not valid"
-msgstr ""
-
-#: ch/actions.c:1357
-msgid "number of CASE selectors does not match the number of CASE label lists"
-msgstr ""
-
-#: ch/actions.c:1442
-#, c-format
-msgid "incomplete CASE - %s not handled"
-msgstr ""
-
-#: ch/actions.c:1461
-msgid "CASE selector with variable range"
-msgstr ""
-
-#: ch/actions.c:1465
-msgid "too many cases to do CASE completeness testing"
-msgstr ""
-
-#: ch/actions.c:1550
-msgid "type of tuple cannot be implicit in multiple assignent"
-msgstr ""
-
-#: ch/actions.c:1552
-msgid "conditional expression cannot be used in multiple assignent"
-msgstr ""
-
-#: ch/actions.c:1554
-#, fuzzy
-msgid "internal error - unknown type in multiple assignment"
-msgstr "ÆâÉô¥¨¥é¡¼ - interface ·¿¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/actions.c:1558
-msgid "no operator allowed in multiple assignment,"
-msgstr ""
-
-#: ch/actions.c:1568
-msgid "location modes in multiple assignment are not equivalent"
-msgstr ""
-
-#: ch/actions.c:1606
-msgid "you may not assign a value to a BUFFER or EVENT location"
-msgstr ""
-
-#: ch/actions.c:1614
-#, fuzzy
-msgid "can't assign value to READonly location"
-msgstr "Ãͤò¥Ù¥¯¥È¥ë¤Ë¤ÏÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/actions.c:1619
-msgid "cannot assign to location with non-value property"
-msgstr ""
-
-#: ch/actions.c:1639
-#, fuzzy
-msgid "lefthand side of assignment is not a location"
-msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/actions.c:1715 ch/actions.c:1785
-msgid "bitstring slice"
-msgstr ""
-
-#: ch/actions.c:1810
-msgid "LENGTH on left-hand-side is non-portable"
-msgstr ""
-
-#: ch/actions.c:1814
-msgid "can only set LENGTH of array location"
-msgstr ""
-
-#: ch/convert.c:63
-msgid "internal error: trying to make loc-identity with non-location"
-msgstr ""
-
-#: ch/convert.c:117
-#, fuzzy
-msgid "cannot convert to a boolean mode"
-msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/convert.c:152
-#, fuzzy
-msgid "cannot convert to a char mode"
-msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/convert.c:248
-#, fuzzy
-msgid "powerset tuple element out of range"
-msgstr "±é»»¿ô¤¬Èϰϳ°¤Ç¤¹"
-
-#: ch/convert.c:284 ch/convert.c:312
-#, c-format
-msgid "incompatible member of powerset tuple (at position #%d)"
-msgstr ""
-
-#: ch/convert.c:394
-#, fuzzy, c-format
-msgid "no initializer value for fixed field `%s'"
-msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
-
-#: ch/convert.c:436
-#, fuzzy, c-format
-msgid "non-constant value for tag field `%s'"
-msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/convert.c:488
-#, fuzzy, c-format
-msgid "field `%s' in wrong variant"
-msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-
-#: ch/convert.c:495
-#, fuzzy, c-format
-msgid "missing variant fields (at least `%s')"
-msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/convert.c:518
-#, fuzzy, c-format
-msgid "bad initializer for field `%s'"
-msgstr "̵¸ú¤Ê¥Ó¥Ã¥ÈÎó½é´ü²½»Ò¤Ç¤¹"
-
-#: ch/convert.c:525
-#, fuzzy, c-format
-msgid "no initializer value for variant field `%s'"
-msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-
-#: ch/convert.c:531
-msgid "no selected variant"
-msgstr ""
-
-#: ch/convert.c:546 ch/convert.c:912
-msgid "mixture of labelled and unlabelled tuple elements"
-msgstr ""
-
-#: ch/convert.c:557
-msgid "probably not a structure tuple"
-msgstr ""
-
-#: ch/convert.c:559
-#, fuzzy, c-format
-msgid "excess initializer for field `%s'"
-msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/convert.c:566
-#, fuzzy
-msgid "excess unnamed initializers"
-msgstr "ÇÛÎó½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/convert.c:693
-#, fuzzy
-msgid "non-constant start index for tuple"
-msgstr "½é´ü²½»ÒÆâ¤ËÈóÄê¿ô¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
-
-#: ch/convert.c:736
-#, fuzzy
-msgid "invalid array tuple label"
-msgstr "̵¸ú¤Ê #pragma vtable"
-
-#: ch/convert.c:750
-#, fuzzy
-msgid "non-constant array tuple index range"
-msgstr "½é´ü²½»ÒÆâ¤ËÈóÄê¿ô¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
-
-#: ch/convert.c:759
-#, fuzzy, c-format
-msgid "incompatible array tuple element %s"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/convert.c:775
-msgid "multiple (*) or (ELSE) array tuple labels"
-msgstr ""
-
-#: ch/convert.c:784
-#, fuzzy
-msgid "empty range in array tuple"
-msgstr "½é´ü²½»ÒÆâ¤Ë¶õ¤ÎÈÏ°Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
-
-#: ch/convert.c:801
-#, c-format
-msgid "array tuple has duplicate index %s"
-msgstr ""
-
-#: ch/convert.c:809
-#, fuzzy
-msgid "array tuple index out of range"
-msgstr "¹ÔÈֹ椬Èϰϳ°¤Ç¤¹"
-
-#: ch/convert.c:811
-msgid "too many array tuple values"
-msgstr ""
-
-#: ch/convert.c:883
-msgid "dynamic array tuple without (*) or (ELSE)"
-msgstr ""
-
-#: ch/convert.c:885
-#, c-format
-msgid "missing array tuple element %s"
-msgstr ""
-
-#: ch/convert.c:892
-#, c-format
-msgid "missing array tuple elements %s : %s"
-msgstr ""
-
-#: ch/convert.c:1086
-#, fuzzy
-msgid "initializer is not an array or string mode"
-msgstr "½é´ü²½»Ò¤ÎÍ×ÁÇ¤Ï¥í¡¼¥É»þ¤Ë·×»»¤µ¤ìÆÀ¤Þ¤»¤ó"
-
-#: ch/convert.c:1096
-msgid "destination is too small"
-msgstr ""
-
-#: ch/convert.c:1152
-#, fuzzy
-msgid "internal error: unknown type of expression"
-msgstr "ÆâÉô¥¨¥é¡¼ - ̤ÄêµÁ·¿¤Î»ÈÍѤǤ¹"
-
-#: ch/decl.c:1033
-#, fuzzy, c-format
-msgid "`%s' must not be declared readonly"
-msgstr "const `%s' ¤ò `mutable' ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/decl.c:1037
-#, fuzzy
-msgid "declaration of readonly variable without initialization"
-msgstr "ÈóÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸À¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
-
-#: ch/decl.c:1059
-#, fuzzy, c-format
-msgid "no initialization allowed for `%s'"
-msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-
-#: ch/decl.c:1067
-#, c-format
-msgid "value for loc-identity `%s' is not a location"
-msgstr ""
-
-#: ch/decl.c:1074
-#, c-format
-msgid "location for `%s' not read-compatible"
-msgstr ""
-
-#: ch/decl.c:1101
-#, fuzzy, c-format
-msgid "nonconstant initializer for `%s'"
-msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/decl.c:1132
-msgid "do_decl: internal error: don't know what to initialize"
-msgstr ""
-
-#: ch/decl.c:1189
-msgid "RECURSIVE PROCs"
-msgstr ""
-
-#: ch/decl.c:1445
-#, c-format
-msgid "`%s' must not be READonly"
-msgstr ""
-
-#: ch/decl.c:1471
-#, fuzzy
-msgid "POS may not be specified for a list of field declarations"
-msgstr "°ì¤Ä¤Î¶õ¤ÎÀë¸ÀÃæ¤Ë¡¢Æó¤Ä¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-
-#: ch/decl.c:1525
-msgid "(ELSE) case label as well as ELSE variant"
-msgstr ""
-
-#: ch/decl.c:1610 ch/decl.c:1613
-msgid "inconsistent modes between labels and tag field"
-msgstr ""
-
-#: ch/decl.c:1618
-msgid "too few tag labels"
-msgstr ""
-
-#: ch/decl.c:1620
-#, fuzzy
-msgid "too many tag labels"
-msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/decl.c:1658
-#, fuzzy
-msgid "case label lower limit is not a discrete constant expression"
-msgstr "case ¥é¥Ù¥ë¤òÀ°¿ôÄê¿ô¤Ë´Ô¸µ¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/decl.c:1660
-msgid "case label upper limit is not a discrete constant expression"
-msgstr ""
-
-#: ch/decl.c:1670
-#, fuzzy
-msgid "case label must be a discrete constant expression"
-msgstr "case ¥é¥Ù¥ë¤òÀ°¿ôÄê¿ô¤Ë´Ô¸µ¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/decl.c:1697
-msgid "variant label declared here..."
-msgstr ""
-
-#: ch/decl.c:1699
-msgid "...is duplicated here"
-msgstr ""
-
-#: ch/decl.c:1729
-#, fuzzy, c-format
-msgid "no field (yet) for tag %s"
-msgstr "¥¯¥é¥¹ %s ÍѤΥե¡¥¤¥ë¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¡£"
-
-#: ch/decl.c:1824
-msgid "non-value mode may only returned by LOC"
-msgstr ""
-
-#: ch/decl.c:1847
-#, fuzzy, c-format
-msgid "mode of `%s' is not a mode"
-msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/decl.c:1853
-#, c-format
-msgid "`%s' may only be passed by LOC"
-msgstr ""
-
-#: ch/decl.c:2281
-#, c-format
-msgid "nothing named `%s' to grant"
-msgstr ""
-
-#: ch/decl.c:2321
-#, fuzzy, c-format
-msgid "duplicate grant for `%s'"
-msgstr "`%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-
-#: ch/decl.c:2322
-#, fuzzy, c-format
-msgid "previous grant for `%s'"
-msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/decl.c:2409
-#, fuzzy, c-format
-msgid "duplicate definition `%s'"
-msgstr "¥¯¥é¥¹¥á¥½¥Ã¥É `%s' ¤ÎÄêµÁ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-
-#: ch/decl.c:2410
-#, fuzzy, c-format
-msgid "previous definition of `%s'"
-msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-
-#: ch/decl.c:3248 ch/decl.c:3258
-#, fuzzy, c-format
-msgid "ambiguous choice for seize `%s' -"
-msgstr "¥á¥½¥Ã¥É¥Ý¥¤¥ó¥¿ `%s' ¤Ø¤ÎÍ׵᤬ۣËæ¤Ç¤¹"
-
-#: ch/decl.c:3249 ch/decl.c:3259
-#, c-format
-msgid " - can seize this `%s' -"
-msgstr ""
-
-#: ch/decl.c:3250 ch/decl.c:3261
-#, c-format
-msgid " - or this granted decl `%s'"
-msgstr ""
-
-#: ch/decl.c:4430
-#, fuzzy, c-format
-msgid "enumerator value for `%s' is less then 0"
-msgstr "`%s' ¤ÎÎóµóÃͤ¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/decl.c:4512
-#, c-format
-msgid "enumerators `%s' and `%s' have equal values"
-msgstr ""
-
-#: ch/decl.c:4618
-msgid "undefined value in SET mode is obsolete and deprecated"
-msgstr ""
-
-#: ch/decl.c:4794
-#, fuzzy
-msgid "BASE variable never declared"
-msgstr "ÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤¬ void ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
-#: ch/decl.c:4796
-msgid "cannot BASE a variable on a PROC/PROCESS name"
-msgstr ""
-
-#: ch/decl.c:4848
-msgid "INTERNAL ERROR: handle_one_level is broken"
-msgstr ""
-
-#: ch/expr.c:126
-#, c-format
-msgid "tuple without specified mode not allowed in %s"
-msgstr ""
-
-#: ch/expr.c:128
-#, fuzzy, c-format
-msgid "conditional expression not allowed in %s"
-msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: ch/expr.c:130
-#, fuzzy, c-format
-msgid "internal error: unknown expression mode in %s"
-msgstr "ÆâÉô gcc ¥¨¥é¡¼: °ÌÃÖ¤ò¥·¥ó¥Ü¥ëɽ¸½¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/expr.c:147
-msgid "CASE selector is not a discrete expression"
-msgstr ""
-
-#: ch/expr.c:215
-msgid "The number of CASE selectors does not match the number of CASE label lists"
-msgstr ""
-
-#: ch/expr.c:594
-msgid "powerset is not addressable"
-msgstr ""
-
-#: ch/expr.c:639
-msgid "array is not addressable"
-msgstr ""
-
-#: ch/expr.c:687
-#, fuzzy, c-format
-msgid "too few arguments in call to `%s'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/expr.c:689
-#, fuzzy, c-format
-msgid "too many arguments in call to `%s'"
-msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/expr.c:758
-#, fuzzy
-msgid "cannot dereference, not a pointer"
-msgstr "`void *' ¥Ý¥¤¥ó¥¿¤Ø¤Î´ÖÀÜ»²¾È¤Ç¤¹"
-
-#: ch/expr.c:768
-#, c-format
-msgid "missing '.' operator or undefined mode name `%s'"
-msgstr ""
-
-#: ch/expr.c:771
-msgid "you have forgotten the '.' operator which must"
-msgstr ""
-
-#: ch/expr.c:772
-#, c-format
-msgid " precede a STRUCT field reference, or `%s' is an undefined mode"
-msgstr ""
-
-#: ch/expr.c:786
-msgid "can't dereference PTR value using unary `->'"
-msgstr ""
-
-#: ch/expr.c:831
-#, fuzzy
-msgid "invalid type argument of `->'"
-msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-
-#: ch/expr.c:856 ch/expr.c:969
-#, fuzzy
-msgid "operand of '.' is not a STRUCT"
-msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:909
-#, fuzzy, c-format
-msgid "no field named `%s'"
-msgstr "`%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:1217
-msgid "ABS argument must be discrete or real mode"
-msgstr ""
-
-#: ch/expr.c:1250
-#, c-format
-msgid "argument %d to ABSTIME must be of integer type"
-msgstr ""
-
-#: ch/expr.c:1288 ch/expr.c:1329
-#, fuzzy
-msgid "parameter 1 must be referable"
-msgstr "¥Þ¥¯¥í²¾°ú¿ô¤Ï¥«¥ó¥Þ¶èÀڤꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:1294 ch/expr.c:1335 ch/expr.c:1372
-#, fuzzy
-msgid "mode mismatch in parameter 1"
-msgstr "̵¸ú¤Ê catch ¤Î°ú¿ô"
-
-#: ch/expr.c:1301 ch/expr.c:1342
-#, fuzzy
-msgid "parameter 2 must be a positive integer"
-msgstr "#line ¤Î¸å¤í¤Î \"%s\" ¤¬Àµ¤ÎÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:1436
-msgid "CARD argument must be powerset mode"
-msgstr ""
-
-#: ch/expr.c:1487
-msgid "expression for DESCR-built-in must be referable"
-msgstr ""
-
-#: ch/expr.c:1535
-#, fuzzy, c-format
-msgid "argument to `%s' must be of integer type"
-msgstr "`%s' ¤Ø¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/expr.c:1568
-#, fuzzy, c-format
-msgid "argument 1 to `%s' must be of floating point mode"
-msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÅù²Á¥Æ¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-
-#: ch/expr.c:1602
-#, fuzzy, c-format
-msgid "first argument to `%s' must be a mode"
-msgstr "`%s' ¤ÎÂè°ì°ú¿ô¤Ï `int' ¤È¤¹¤Ù¤­¤Ç¤¹"
-
-#: ch/expr.c:1609
-#, c-format
-msgid "READonly modes for %s must have a value"
-msgstr ""
-
-#: ch/expr.c:1692
-msgid "argument to TERMINATE must be a reference primitive value"
-msgstr ""
-
-#: ch/expr.c:1741
-msgid "argument 1 to INTTIME must be of mode TIME"
-msgstr ""
-
-#: ch/expr.c:1888
-msgid "LENGTH argument must be string, buffer, event mode, text location or mode"
-msgstr ""
-
-#: ch/expr.c:1917
-msgid "UPPER argument must have a mode, or be a mode"
-msgstr ""
-
-#: ch/expr.c:1919
-msgid "LOWER argument must have a mode, or be a mode"
-msgstr ""
-
-#: ch/expr.c:1953
-msgid "UPPER argument must be string, array, mode or integer"
-msgstr ""
-
-#: ch/expr.c:1955
-msgid "LOWER argument must be string, array, mode or integer"
-msgstr ""
-
-#: ch/expr.c:1991
-#, c-format
-msgid "%s argument must be POWERSET mode"
-msgstr ""
-
-#: ch/expr.c:2017
-#, c-format
-msgid "%s called for empty POWERSET"
-msgstr ""
-
-#: ch/expr.c:2098
-#, fuzzy
-msgid "argument to NUM is not discrete"
-msgstr "°ú¿ô¤¬¹½Â¤ÂΤǤ¹"
-
-#: ch/expr.c:2110
-#, fuzzy
-msgid "no integer mode which matches expression's mode"
-msgstr "À°¿ô¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¼°Æâ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/expr.c:2119
-msgid "NUM's parameter is below its mode range"
-msgstr ""
-
-#: ch/expr.c:2122
-msgid "NUM's parameter is above its mode range"
-msgstr ""
-
-#: ch/expr.c:2161
-msgid "cannot take SUCC or PRED of a numbered SET"
-msgstr ""
-
-#: ch/expr.c:2169
-msgid "SUCC or PRED must not be done on a PTR"
-msgstr ""
-
-#: ch/expr.c:2172
-msgid "SUCC or PRED for a reference type is not standard"
-msgstr ""
-
-#: ch/expr.c:2182
-msgid "SUCC or PRED argument must be a discrete mode"
-msgstr ""
-
-#: ch/expr.c:2203
-#, c-format
-msgid "taking the %s of a value already at its %s value"
-msgstr ""
-
-#: ch/expr.c:2254
-#, fuzzy
-msgid "size applied to a function mode"
-msgstr "sizeof ¤¬´Ø¿ô·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-
-#: ch/expr.c:2260
-#, fuzzy
-msgid "sizeof applied to a void mode"
-msgstr "sizeof ¤¬ void ·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-
-#: ch/expr.c:2265
-#, fuzzy
-msgid "sizeof applied to an incomplete mode"
-msgstr "sizeof ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-
-#: ch/expr.c:2360
-msgid "cannot call a PROCESS, you START a PROCESS"
-msgstr ""
-
-#: ch/expr.c:2422
-#, fuzzy, c-format
-msgid "invalid %s"
-msgstr "̵¸ú¤Ê `asm': %s"
-
-#: ch/expr.c:2437
-#, fuzzy, c-format
-msgid "%s parameter %d must be a location"
-msgstr "²¾°ú¿ô `%s' ¾¯¤·Á°Êý¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
-#: ch/expr.c:2445
-#, c-format
-msgid "%s parameter %d is READ-only"
-msgstr ""
-
-#: ch/expr.c:2488
-#, c-format
-msgid "LOC actual parameter %d is a non-referable location"
-msgstr ""
-
-#: ch/expr.c:2494
-#, fuzzy, c-format
-msgid "mode mismatch in parameter %d"
-msgstr "̵¸ú¤Ê catch ¤Î°ú¿ô"
-
-#: ch/expr.c:2518
-#, fuzzy, c-format
-msgid "too many arguments to procedure `%s'"
-msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/expr.c:2521
-#, fuzzy
-msgid "too many arguments to procedure"
-msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/expr.c:2527
-#, fuzzy, c-format
-msgid "too few arguments to procedure `%s'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/expr.c:2530
-#, fuzzy
-msgid "too few arguments to procedure"
-msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/expr.c:2596
-#, fuzzy
-msgid "syntax error (integer used as function)"
-msgstr "'%s' ¥È¡¼¥¯¥ó¤Î½ê¤Çʸˡ¥¨¥é¡¼"
-
-#: ch/expr.c:2616
-msgid "syntax error - missing operator, comma, or '('?"
-msgstr ""
-
-#: ch/expr.c:2977
-#, fuzzy, c-format
-msgid "unimplemented built-in function `%s'"
-msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-
-#: ch/expr.c:2981
-#, fuzzy, c-format
-msgid "internal error - bad built-in function `%s'"
-msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
-
-#: ch/expr.c:2995
-#, fuzzy
-msgid "empty expression in string index"
-msgstr "%s ¤Ç¶õ¤ÎÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹"
-
-#: ch/expr.c:3000
-msgid "only one expression allowed in string index"
-msgstr ""
-
-#: ch/expr.c:3017
-msgid "invalid: primval ( untyped_exprlist )"
-msgstr ""
-
-#: ch/expr.c:3081 ch/expr.c:3095
-msgid "operand is variable-size bitstring/power-set"
-msgstr ""
-
-#: ch/expr.c:3245
-#, c-format
-msgid "tree code `%s' unhandled in build_compare_set_expr"
-msgstr ""
-
-#: ch/expr.c:3410
-#, fuzzy
-msgid "incompatible modes in concat expression"
-msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/expr.c:3459
-#, fuzzy
-msgid "invalid operation on array of chars"
-msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
-
-#: ch/expr.c:3504
-#, fuzzy
-msgid "comparison of variant structures is unsafe"
-msgstr "ÉâÆ°¾®¿ôÅÀ¤ÎÈæ³Ó¤Ç == ¤ä != ¤ò»È¤¦¤Î¤Ï°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:3511
-msgid "compare with variant records"
-msgstr ""
-
-#: ch/expr.c:3688 ch/expr.c:3924
-#, fuzzy, c-format
-msgid "incompatible operands to %s"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/expr.c:3740
-#, fuzzy
-msgid "relational operator not allowed for this mode"
-msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: ch/expr.c:3794
-#, c-format
-msgid "cannot use %s operator on PROC mode variable"
-msgstr ""
-
-#: ch/expr.c:3800
-#, fuzzy, c-format
-msgid "invalid left operand of %s"
-msgstr "%s ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-
-#: ch/expr.c:3805 ch/expr.c:4357
-#, fuzzy, c-format
-msgid "invalid right operand of %s"
-msgstr "%s ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-
-#: ch/expr.c:3819
-#, fuzzy
-msgid "repetition expression must be constant"
-msgstr "`__builtin_args_info' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:3829
-msgid "left argument to MOD/REM operator must be integral"
-msgstr ""
-
-#: ch/expr.c:3834
-msgid "right argument to MOD/REM operator must be integral"
-msgstr ""
-
-#: ch/expr.c:3891
-#, fuzzy
-msgid "right operand of IN is not a powerset"
-msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:3896
-#, fuzzy
-msgid "left operand of IN incompatible with right operand"
-msgstr "`asm' ¥ª¥Ú¥é¥ó¥ÉÀ©Ì󤬥ª¥Ú¥é¥ó¥É¥µ¥¤¥º¤ÈÀ°¹ç¤·¤Þ¤»¤ó"
-
-#: ch/expr.c:3987
-#, fuzzy
-msgid "-> operator not allow in constant expression"
-msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/expr.c:4000
-msgid "taking the address of a string literal is non-standard"
-msgstr ""
-
-#: ch/expr.c:4002
-msgid "taking the address of a function is non-standard"
-msgstr ""
-
-#: ch/expr.c:4005
-msgid "ADDR requires a LOCATION argument"
-msgstr ""
-
-#: ch/expr.c:4035
-msgid "-> expression is not addressable"
-msgstr ""
-
-#: ch/expr.c:4062
-msgid "ADDR parameter must be a LOCATION"
-msgstr ""
-
-#: ch/expr.c:4071
-msgid "possible internal error in build_chill_arrow_expr"
-msgstr ""
-
-#: ch/expr.c:4076
-#, fuzzy, c-format
-msgid "%s is not addressable"
-msgstr "\"%s\" ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/expr.c:4175
-#, fuzzy
-msgid "repetition count is not an integer constant"
-msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÀ°¿ô·¿¤ÎÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:4183
-msgid "repetition count < 0"
-msgstr ""
-
-#: ch/expr.c:4188
-#, fuzzy
-msgid "repetition value not constant"
-msgstr "½¸¹çÂΤνé´ü²½»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:4200
-msgid "bitstring repetition of non-constant boolean"
-msgstr ""
-
-#: ch/expr.c:4223
-#, fuzzy
-msgid "string repetition operand is non-constant bitstring"
-msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É¤¬ `asm' Æâ¤ÇÄê¿ô¤Ç¤¹"
-
-#: ch/expr.c:4283
-#, fuzzy
-msgid "non-char, non-bit string repetition"
-msgstr "´ûÃΤÎÁ´¤Æ¤Îʸ»úÎóÁàºî¤ò inline ¤Ë¤¹¤ë"
-
-#: ch/expr.c:4311
-#, fuzzy, c-format
-msgid "invalid operand of %s"
-msgstr "%s ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
-
-#: ch/expr.c:4322
-#, fuzzy, c-format
-msgid "right operand of %s is not array of boolean"
-msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/expr.c:4335
-#, c-format
-msgid "%s operator applied to boolean variable"
-msgstr ""
-
-#: ch/expr.c:4406
-#, fuzzy
-msgid "non-boolean mode in conditional expression"
-msgstr "¾ò·ï¼°¤ËÉä¹çÉÕ¤­·¿¤ÈÉä¹ç̵¤··¿¤È¤¬¤¢¤ê¤Þ¤¹"
-
-#: ch/grant.c:1978
-msgid "decode_constant: invalid component_ref"
-msgstr ""
-
-#: ch/grant.c:1986
-msgid "decode_constant: mode and value mismatch"
-msgstr ""
-
-#: ch/grant.c:1989
-msgid "decode_constant: cannot decode this mode"
-msgstr ""
-
-#: ch/grant.c:2214
-msgid "decode_constant_selective: mode and value mismatch"
-msgstr ""
-
-#: ch/grant.c:2217
-msgid "decode_constant_selective: cannot decode this mode"
-msgstr ""
-
-#: ch/grant.c:2677
-#, c-format
-msgid "can't write to %s"
-msgstr "%s ¤Ø½ñ¤­¹þ¤á¤Þ¤»¤ó"
-
-#: ch/grant.c:2764
-#, fuzzy
-msgid "FORBID is not yet implemented"
-msgstr "Trampoline ¤Ï¡¢¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#. this nerver should happen
-#: ch/grant.c:2825
-#, fuzzy, c-format
-msgid "function \"really_grant_this\" called for `%s'"
-msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: ch/inout.c:1645
-msgid "non-integral text length"
-msgstr ""
-
-#: ch/inout.c:1650
-msgid "non-constant text length"
-msgstr ""
-
-#: ch/inout.c:1655
-msgid "text length must be greater then 0"
-msgstr ""
-
-#: ch/inout.c:1755
-#, c-format
-msgid "argument %d of %s must be of mode ASSOCIATION"
-msgstr ""
-
-#: ch/inout.c:1760 ch/inout.c:2146 ch/inout.c:2516 ch/inout.c:2751
-#, fuzzy, c-format
-msgid "argument %d of %s must be a location"
-msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
-
-#: ch/inout.c:1795
-#, fuzzy
-msgid "argument 2 of ASSOCIATE must not be an empty string"
-msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
-
-#: ch/inout.c:1811
-msgid "argument 2 to ASSOCIATE must be a string"
-msgstr ""
-
-#: ch/inout.c:1850
-msgid "argument 3 to ASSOCIATE must be a string"
-msgstr ""
-
-#: ch/inout.c:2031
-#, fuzzy
-msgid "too many arguments in call to MODIFY"
-msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:2044
-#, fuzzy
-msgid "argument 2 of MODIFY must not be an empty string"
-msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
-
-#: ch/inout.c:2060
-#, fuzzy
-msgid "argument 2 to MODIFY must be a string"
-msgstr "`%s' ¤Ø¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/inout.c:2094
-#, fuzzy
-msgid "argument 3 to MODIFY must be a string"
-msgstr "`%s' ¤Ø¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/inout.c:2141
-#, c-format
-msgid "argument %d of %s must be an ACCESS or TEXT mode"
-msgstr ""
-
-#: ch/inout.c:2355
-msgid "argument 4 of CONNECT must be of mode WHERE"
-msgstr ""
-
-#: ch/inout.c:2371
-msgid "index expression for ACCESS without index"
-msgstr ""
-
-#: ch/inout.c:2376 ch/inout.c:2554 ch/inout.c:2636 ch/inout.c:4356
-#: ch/inout.c:4504
-#, fuzzy
-msgid "incompatible index mode"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/inout.c:2476
-msgid "argument 3 to CONNECT must be of mode USAGE"
-msgstr ""
-
-#: ch/inout.c:2511
-#, c-format
-msgid "argument %d of %s must be of mode ACCESS"
-msgstr ""
-
-#: ch/inout.c:2545
-#, fuzzy
-msgid "too few arguments in call to `readrecord'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:2569 ch/inout.c:2648
-#, fuzzy
-msgid "incompatible record mode"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/inout.c:2574
-msgid "store location must not be READonly"
-msgstr ""
-
-#: ch/inout.c:2616
-#, fuzzy
-msgid "too few arguments in call to `writerecord'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:2643
-msgid "transfer to ACCESS without record mode"
-msgstr ""
-
-#: ch/inout.c:2746
-#, c-format
-msgid "argument %d of %s must be of mode TEXT"
-msgstr ""
-
-#: ch/inout.c:2803
-msgid "TEXT doesn't have a location"
-msgstr ""
-
-#: ch/inout.c:2905
-msgid "incompatible index mode for SETETEXTACCESS"
-msgstr ""
-
-#: ch/inout.c:2915
-msgid "incompatible record mode for SETTEXTACCESS"
-msgstr ""
-
-#: ch/inout.c:2945
-#, fuzzy
-msgid "parameter 2 must be a location"
-msgstr "²¾°ú¿ô `%s' ¾¯¤·Á°Êý¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
-#: ch/inout.c:2955
-#, fuzzy
-msgid "incompatible modes in parameter 2"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/inout.c:3062
-#, fuzzy
-msgid "conditional expression not allowed in this context"
-msgstr "¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤Ï´Ø¿ô¤ÎÆ⦤ǤΤߵö¤µ¤ì¤Þ¤¹"
-
-#: ch/inout.c:3064
-#, fuzzy, c-format
-msgid "untyped expression as argument %d"
-msgstr "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
-
-#: ch/inout.c:3141 ch/inout.c:3187
-#, c-format
-msgid "cannot process %d bits integer for READTEXT argument %d"
-msgstr ""
-
-#: ch/inout.c:3262
-#, c-format
-msgid "cannot process %d bits integer WRITETEXT argument %d"
-msgstr ""
-
-#: ch/inout.c:3283 ch/inout.c:3338 ch/inout.c:3417 ch/inout.c:3483
-#: ch/inout.c:3534 ch/inout.c:3619 ch/inout.c:3654
-#, fuzzy, c-format
-msgid "argument %d is READonly"
-msgstr "°ú¿ô #%d ¤Ï¹½Â¤ÂΤǤ¹"
-
-#: ch/inout.c:3290 ch/inout.c:3345 ch/inout.c:3424 ch/inout.c:3491
-#: ch/inout.c:3542 ch/inout.c:3627 ch/inout.c:3659
-#, fuzzy, c-format
-msgid "argument %d must be referable"
-msgstr "°ú¿ô #%d ¤Ï¹½Â¤ÂΤǤ¹"
-
-#: ch/inout.c:3578
-#, c-format
-msgid "cannot process argument %d of WRITETEXT, unknown size"
-msgstr ""
-
-#. datatype is not yet implemented, issue a warning
-#: ch/inout.c:3725
-#, c-format
-msgid "cannot process mode of argument %d for %sTEXT"
-msgstr ""
-
-#: ch/inout.c:3868
-#, fuzzy
-msgid "too few arguments for this format string"
-msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:3893 ch/inout.c:3902
-#, c-format
-msgid "type of argument %d invalid for conversion code at offset %d"
-msgstr ""
-
-#: ch/inout.c:4012
-msgid "unmatched open paren"
-msgstr ""
-
-#: ch/inout.c:4026 ch/inout.c:4221
-#, c-format
-msgid "bad format specification character (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4039
-#, c-format
-msgid "repetition factor overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4057 ch/inout.c:4064 ch/inout.c:4071
-#, c-format
-msgid "duplicate qualifier (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4093
-#, c-format
-msgid "clause width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4106
-#, c-format
-msgid "no fraction (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4124
-#, c-format
-msgid "no fraction width (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4131
-#, c-format
-msgid "fraction width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4142
-#, c-format
-msgid "no exponent (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4160
-#, c-format
-msgid "no exponent width (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4167
-#, c-format
-msgid "exponent width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4208
-#, fuzzy
-msgid "internal error in check_format_string"
-msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó"
-
-#: ch/inout.c:4224
-#, c-format
-msgid "no padding character (offset %d)"
-msgstr ""
-
-#. too may arguments for format string
-#: ch/inout.c:4256
-#, fuzzy
-msgid "too many arguments for this format string"
-msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:4354 ch/inout.c:4502
-#, fuzzy
-msgid "missing index expression"
-msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
-
-#: ch/inout.c:4361
-#, fuzzy
-msgid "too few arguments in call to `writetext'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:4374
-msgid "argument 1 for WRITETEXT must be a TEXT or CHARS(n) VARYING location"
-msgstr ""
-
-#: ch/inout.c:4397
-msgid "`format string' for WRITETEXT must be a CHARACTER string"
-msgstr ""
-
-#: ch/inout.c:4509
-#, fuzzy
-msgid "too few arguments in call to `readtext'"
-msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/inout.c:4522
-msgid "argument 1 for READTEXT must be a TEXT location or CHARS(n) [ VARYING ] expression"
-msgstr ""
-
-#: ch/inout.c:4543
-msgid "`format string' for READTEXT must be a CHARACTER string"
-msgstr ""
-
-#: ch/lang.c:105
-#, fuzzy
-msgid "non-constant expression"
-msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/lang.c:191
-#, fuzzy
-msgid "ignoring case upon input and"
-msgstr "¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤¿ # ¤Ê¤Î¤Ç¡¢#%s ¤Ï̵»ë¤·¤Þ¤¹"
-
-#: ch/lang.c:192
-msgid "making special words uppercase wouldn't work"
-msgstr ""
-
-#: ch/lang.c:203
-#, fuzzy
-msgid "making special words uppercase and"
-msgstr "¸À¸ìͽÌó¸ì¤Ï±ÑÂçʸ»ú¤È¤¹¤ë"
-
-#: ch/lang.c:204
-msgid " ignoring case upon input wouldn't work"
-msgstr ""
-
-#: ch/lang.c:277 java/typeck.c:178
-msgid "internal error - use of undefined type"
-msgstr "ÆâÉô¥¨¥é¡¼ - ̤ÄêµÁ·¿¤Î»ÈÍѤǤ¹"
-
-#: ch/lex.c:502
-#, fuzzy
-msgid "invalid C'xx' "
-msgstr "̵¸ú¤Ê %C ÃͤǤ¹"
-
-#: ch/lex.c:607 java/jcf-parse.c:603 java/jcf-write.c:3327
-#, c-format
-msgid "can't close %s"
-msgstr "%s ¤ò close ¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/lex.c:711
-msgid "malformed exponent part of floating-point literal"
-msgstr ""
-
-#: ch/lex.c:728
-#, fuzzy
-msgid "real number exceeds range of REAL"
-msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬ '%s' ¤ÎÈϰϤòĶ¤¨¤Þ¤·¤¿"
-
-#: ch/lex.c:747 ch/lex.c:774
-#, fuzzy
-msgid "end-of-file in '<>' directive"
-msgstr "̤ÄêµÁËô¤ÏÉÔÀµ¤Ê # ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤¹"
-
-#: ch/lex.c:780
-#, fuzzy
-msgid "unrecognized compiler directive"
-msgstr "ǧ¼±ÉÔǽ¤Î¥¨¥¹¥±¡¼¥× \\r%c"
-
-#: ch/lex.c:788 ch/lex.c:834
-#, fuzzy, c-format
-msgid "unrecognized compiler directive `%s'"
-msgstr "ǧ¼±ÉÔǽ¤Ê¥ª¥×¥·¥ç¥ó `-%s'"
-
-#: ch/lex.c:995
-#, fuzzy
-msgid "unterminated control sequence"
-msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È"
-
-#: ch/lex.c:1010 ch/lex.c:1046
-#, fuzzy
-msgid "invalid integer literal in control sequence"
-msgstr "ʸ»úÎó¥ê¥Æ¥é¥ë¤¬Ìµ¸ú¤Ç¤¹¡¢ºÇ¸å¤Î '\\' ¤ò̵»ë¤·¤Þ¤¹"
-
-#: ch/lex.c:1021 ch/lex.c:1029
-msgid "control sequence overflow"
-msgstr ""
-
-#: ch/lex.c:1023 ch/lex.c:1031
-#, fuzzy
-msgid "invalid control sequence"
-msgstr "̵¸ú¤ÊÀ©¸æ¼°¤Ç¤¹"
-
-#: ch/lex.c:1111
-#, fuzzy
-msgid "invalid base in read control sequence"
-msgstr "¥Ç¥¯¥ê¥á¥ó¥È¤ÎÃæ¤Ç¤Îº¸ÊÕÃͤ¬Ìµ¸ú¤Ç¤¹"
-
-#: ch/lex.c:1118
-#, fuzzy
-msgid "invalid digit in control sequence"
-msgstr "ÁȤ߹þ¤ß¥Þ¥¯¥í \"%s\" ¤Ï̵¸ú¤Ç¤¹"
-
-#: ch/lex.c:1145
-#, fuzzy
-msgid "unterminated string literal"
-msgstr "ʸ»úÎóÄê¿ô¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/lex.c:1248 ch/lex.c:1334
-#, fuzzy, c-format
-msgid "invalid number format `%s'"
-msgstr "̵¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ·Á¼°"
-
-#: ch/lex.c:1266
-msgid "integer literal too big"
-msgstr ""
-
-#: ch/lex.c:1395
-#, fuzzy, c-format
-msgid "can't find %s"
-msgstr "%s ¤ò rewind ¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/lex.c:1421
-msgid "USE_SEIZE_FILE directive must be followed by string"
-msgstr ""
-
-#: ch/lex.c:1693 f/lex.c:1190
-msgid "invalid #ident"
-msgstr "̵¸ú¤Ê #ident"
-
-#: ch/lex.c:1711 f/lex.c:1207
-msgid "undefined or invalid # directive"
-msgstr "̤ÄêµÁËô¤ÏÉÔÀµ¤Ê # ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤¹"
-
-#: ch/lex.c:1765 ch/lex.c:1774 f/lex.c:1263
-msgid "invalid #line"
-msgstr "̵¸ú¤Ê #line"
-
-#: ch/lex.c:1843 f/lex.c:836
-msgid "#-lines for entering and leaving files don't match"
-msgstr "¥Õ¥¡¥¤¥ë¤Ø¤Î½ÐÆþ¤ê¸ý¤È¤Ê¤ë #-¹Ô ¤¬À°¹ç¤·¤Þ¤»¤ó"
-
-#: ch/lex.c:1868 f/lex.c:1373
-msgid "invalid #-line"
-msgstr "̵¸ú¤Ê #-¹Ô"
-
-#: ch/lex.c:1998
-#, fuzzy
-msgid "missing `=' in compiler directive"
-msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/lex.c:2040 ch/lex.c:2050 ch/lex.c:2091
-#, fuzzy
-msgid "invalid value follows `=' in compiler directive"
-msgstr "\"%s\" ¤Ï line ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤Ï̵¸ú¤Ê¥Õ¥é¥°¤Ç¤¹"
-
-#: ch/lex.c:2061
-#, fuzzy, c-format
-msgid "invalid `%c' character in name"
-msgstr "ÉÔŬÀڤʥæ¥Ë¥Ð¡¼¥µ¥ë¥­¥ã¥é¥¯¥¿Ì¾"
-
-#: ch/lex.c:2074
-#, fuzzy, c-format
-msgid "`%s' not integer constant synonym "
-msgstr "À°¿ôÄê¿ôÃæ¤Ë 2¤Ä¤Î `u'"
-
-#: ch/lex.c:2097
-#, fuzzy
-msgid "value out of range in compiler directive"
-msgstr "\"%s\" ¤Ï line ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤Ï̵¸ú¤Ê¥Õ¥é¥°¤Ç¤¹"
-
-#: ch/lex.c:2214 java/jcf-parse.c:599
-#, c-format
-msgid "can't reopen %s"
-msgstr "%s ¤òºÆ open ¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/lex.c:2225
-msgid "no modules seen"
-msgstr ""
-
-#: ch/loop.c:480
-#, fuzzy
-msgid "modeless tuple not allowed in this context"
-msgstr "%s: %s ¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/loop.c:482
-#, fuzzy
-msgid "IN expression does not have a mode"
-msgstr "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
-
-#: ch/loop.c:489
-msgid "location enumeration for BOOLS"
-msgstr ""
-
-#: ch/loop.c:517
-msgid "location enumeration for bit-packed arrays"
-msgstr ""
-
-#: ch/loop.c:526 ch/nloop.c:481
-msgid "loop's IN expression is not a composite object"
-msgstr ""
-
-#: ch/loop.c:541 ch/nloop.c:498
-msgid "start expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:547 ch/nloop.c:504
-#, fuzzy
-msgid "DO FOR start expression is a numbered SET"
-msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-
-#: ch/loop.c:555 ch/nloop.c:510
-msgid "TO expression is a numbered SET"
-msgstr ""
-
-#: ch/loop.c:560 ch/nloop.c:525
-msgid "TO expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:565 ch/nloop.c:531
-#, fuzzy
-msgid "start expr and TO expr must be compatible"
-msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/loop.c:574 ch/nloop.c:546
-msgid "BY expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:579 ch/nloop.c:552
-#, fuzzy
-msgid "start expr and BY expr must be compatible"
-msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/loop.c:595 ch/nloop.c:765
-#, fuzzy
-msgid "loop identifier undeclared"
-msgstr "¼±Ê̻Ҥ¬É¬ÍפǤ¹"
-
-#: ch/loop.c:606
-#, fuzzy
-msgid "loop variable incompatible with start expression"
-msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/loop.c:633 ch/nloop.c:564
-#, fuzzy
-msgid "body of DO FOR will never execute"
-msgstr "¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¤¥³¡¼¥É¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
-
-#: ch/loop.c:648 ch/nloop.c:585
-msgid "BY expression is negative or zero"
-msgstr ""
-
-#: ch/loop.c:847 ch/nloop.c:817
-msgid "can't iterate through array of BOOL"
-msgstr ""
-
-#: ch/nloop.c:867
-msgid "Can't iterate through array of BOOL"
-msgstr ""
-
-#: ch/parse.c:159
-#, c-format
-msgid "there was no start label to match the end label '%s'"
-msgstr ""
-
-#: ch/parse.c:162
-#, c-format
-msgid "start label '%s' does not match end label '%s'"
-msgstr ""
-
-#: ch/parse.c:192
-#, fuzzy, c-format
-msgid "`%s' not declared"
-msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
-#: ch/parse.c:226
-msgid "no RETURN or RESULT in procedure"
-msgstr ""
-
-#: ch/parse.c:245
-msgid "PREFIXED clause with no prelix in unlabeled module"
-msgstr ""
-
-#: ch/parse.c:336
-#, fuzzy, c-format
-msgid "internal parser error - expected token %d"
-msgstr "ÆâÉô¥¨¥é¡¼ - ̤ÄêµÁ·¿¤Î»ÈÍѤǤ¹"
-
-#: ch/parse.c:529
-#, fuzzy, c-format
-msgid "'%s!' is not followed by an identifier"
-msgstr "'#' ¤Ë¥Þ¥¯¥í²¾°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/parse.c:545
-msgid "expected a name here"
-msgstr ""
-
-#: ch/parse.c:560
-msgid "expected a name string here"
-msgstr ""
-
-#: ch/parse.c:591
-#, fuzzy, c-format
-msgid "`%s' undeclared"
-msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
-#: ch/parse.c:669
-msgid "action not allowed in SPEC MODULE"
-msgstr ""
-
-#: ch/parse.c:691
-#, fuzzy
-msgid "missing defining occurrence"
-msgstr "%c ʸ»ú¤Ç¤Î½ªÃ¼¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:702
-msgid "bad defining occurrence following ','"
-msgstr ""
-
-#: ch/parse.c:802
-#, fuzzy
-msgid "missing '(' in exception list"
-msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:827
-#, fuzzy
-msgid "ON exception names must be unique"
-msgstr "¥Þ¥¯¥í̾¤Ï¼±Ê̻ҤǤʤ¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-
-#: ch/parse.c:837
-#, fuzzy
-msgid "syntax error in exception list"
-msgstr "'@' ¥È¡¼¥¯¥ó¤Çʸˡ¥¨¥é¡¼"
-
-#: ch/parse.c:873
-#, fuzzy
-msgid "empty ON-condition"
-msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
-
-#: ch/parse.c:938
-msgid "INIT not allowed at loc-identity declaration"
-msgstr ""
-
-#: ch/parse.c:948
-#, fuzzy
-msgid "'=' used where ':=' is required"
-msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤ËÇÛÎ󷿤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-
-#: ch/parse.c:956
-#, fuzzy
-msgid "initialization is not allowed in spec module"
-msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:964
-#, fuzzy
-msgid "loc-identity declaration without initialization"
-msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/parse.c:1008
-msgid "bad syntax following FORBID"
-msgstr ""
-
-#: ch/parse.c:1023
-msgid "expected a postfix name here"
-msgstr ""
-
-#: ch/parse.c:1068
-msgid "expected another rename clause"
-msgstr ""
-
-#: ch/parse.c:1128
-#, fuzzy
-msgid "syntax error in parameter name list"
-msgstr "\"%s\" ¤Ï¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ë¸½¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-
-#: ch/parse.c:1221
-msgid "NONREF specific without LOC in result attribute"
-msgstr ""
-
-#: ch/parse.c:1223
-msgid "DYNAMIC specific without LOC in result attribute"
-msgstr ""
-
-#: ch/parse.c:1245
-#, fuzzy
-msgid "exception names must be unique"
-msgstr "¥Þ¥¯¥í̾¤Ï¼±Ê̻ҤǤʤ¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-
-#: ch/parse.c:1441
-msgid "must specify a PROCESS name"
-msgstr ""
-
-#: ch/parse.c:1448
-msgid "SIGNAL must be in global reach"
-msgstr ""
-
-#: ch/parse.c:1479
-#, fuzzy
-msgid "syntax error while parsing signal definition statement"
-msgstr "final °À­¤Î¹½Ê¸²òÀÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-
-#: ch/parse.c:1593
-msgid "case range list"
-msgstr ""
-
-#: ch/parse.c:1660
-#, fuzzy
-msgid "misplaced colon in case label"
-msgstr "case ¥é¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:1707
-#, fuzzy
-msgid "unrecognized case label list after ','"
-msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥ì¥¸¥¹¥¿Ì¾ `%s'"
-
-#: ch/parse.c:1971 ch/parse.c:1997
-#, fuzzy
-msgid "bad ASM operand"
-msgstr "̵¸ú¤Ê %%A ¥ª¥Ú¥é¥ó¥É"
-
-#: ch/parse.c:2067
-msgid "readonly location modified by 'asm'"
-msgstr ""
-
-#: ch/parse.c:2198
-msgid "expected 'TO' in step enumeration"
-msgstr ""
-
-#: ch/parse.c:2213
-msgid "expected 'IN' in FOR control here"
-msgstr ""
-
-#: ch/parse.c:2314
-msgid "missing DELAY CASE alternative"
-msgstr ""
-
-#. This is probably not possible
-#: ch/parse.c:2348
-msgid "non-referable location in DO WITH"
-msgstr ""
-
-#: ch/parse.c:2360
-msgid "WITH element must be of STRUCT mode"
-msgstr ""
-
-#: ch/parse.c:2467
-msgid "missing ')' in signal/buffer receive alternative"
-msgstr ""
-
-#: ch/parse.c:2481
-msgid "misplaced 'IN' in signal/buffer receive alternative"
-msgstr ""
-
-#: ch/parse.c:2529
-#, fuzzy
-msgid "missing RECEIVE alternative"
-msgstr "Code °À­¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:2655
-#, fuzzy
-msgid "PROCESS copy number must be integer"
-msgstr "¥Þ¥¯¥í̾¤Ï¼±Ê̻ҤǤʤ¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
-
-#: ch/parse.c:2882
-msgid "missing parenthesis for procedure call"
-msgstr ""
-
-#: ch/parse.c:2884
-msgid "expression is not an action"
-msgstr ""
-
-#: ch/parse.c:2918
-#, fuzzy
-msgid "syntax error in action"
-msgstr "'@' ¥È¡¼¥¯¥ó¤Çʸˡ¥¨¥é¡¼"
-
-#: ch/parse.c:2945
-msgid "no handler is permitted on this action"
-msgstr ""
-
-#: ch/parse.c:2966
-msgid "definition follows action"
-msgstr ""
-
-#: ch/parse.c:3042
-msgid "bad tuple field name list"
-msgstr ""
-
-#: ch/parse.c:3088
-msgid "invalid syntax for label in tuple"
-msgstr ""
-
-#: ch/parse.c:3133
-msgid "bad syntax in tuple"
-msgstr ""
-
-#: ch/parse.c:3160
-msgid "non-mode name before tuple"
-msgstr ""
-
-#: ch/parse.c:3205
-#, fuzzy
-msgid "invalid expression/location syntax"
-msgstr "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
-
-#: ch/parse.c:3262
-msgid "RECEIVE expression"
-msgstr ""
-
-#: ch/parse.c:3457
-msgid "there should not be a ';' here"
-msgstr ""
-
-#: ch/parse.c:3496
-#, fuzzy
-msgid "missing ELSE/ELSIF in IF expression"
-msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
-
-#: ch/parse.c:3547
-#, fuzzy
-msgid "conditional expression not allowed inside parentheses"
-msgstr "¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤Ï´Ø¿ô¤ÎÆ⦤ǤΤߵö¤µ¤ì¤Þ¤¹"
-
-#: ch/parse.c:3551
-msgid "mode-less tuple not allowed inside parentheses"
-msgstr ""
-
-#. Z.200 doesn't allow mixed numbered and unnumbered set elements,
-#. but we can do it. Print a warning
-#: ch/parse.c:3664
-msgid "mixed numbered and unnumbered set elements is not standard"
-msgstr ""
-
-#: ch/parse.c:3667
-msgid "SET mode must define at least one named value"
-msgstr ""
-
-#: ch/parse.c:3766
-msgid "POS not allowed for ARRAY"
-msgstr ""
-
-#: ch/parse.c:3776
-msgid "STEP not allowed in field definition"
-msgstr ""
-
-#: ch/parse.c:3792
-#, fuzzy
-msgid "missing field name"
-msgstr "̾Á°¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:3801
-msgid "bad field name following ','"
-msgstr ""
-
-#: ch/parse.c:3861
-msgid "expected ':' in structure variant alternative"
-msgstr ""
-
-#: ch/parse.c:3912
-#, fuzzy
-msgid "missing field"
-msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: ch/parse.c:4060
-#, fuzzy
-msgid "VARYING bit-strings not implemented"
-msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/parse.c:4121
-msgid "strings must be composed of chars"
-msgstr ""
-
-#: ch/parse.c:4171
-msgid "BUFFER modes may not be readonly"
-msgstr ""
-
-#: ch/parse.c:4178
-msgid "EVENT modes may not be readonly"
-msgstr ""
-
-#: ch/parse.c:4198
-#, fuzzy
-msgid "SIGNAL is not a valid mode"
-msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/parse.c:4235
-#, fuzzy
-msgid "syntax error - missing mode"
-msgstr "'%s' ¥È¡¼¥¯¥ó¤Î½ê¤Çʸˡ¥¨¥é¡¼"
-
-#: ch/parse.c:4282
-msgid "syntax error - expected a module or end of file"
-msgstr ""
-
-#: ch/satisfy.c:58
-#, c-format
-msgid " `%s', which depends on ..."
-msgstr ""
-
-#: ch/satisfy.c:90
-#, c-format
-msgid "cycle: `%s' depends on ..."
-msgstr ""
-
-#: ch/satisfy.c:92
-#, fuzzy, c-format
-msgid " `%s'"
-msgstr "%s Æâ¤Î `%s':"
-
-#: ch/satisfy.c:151
-msgid "SYN of this mode not allowed"
-msgstr ""
-
-#: ch/satisfy.c:156
-#, fuzzy
-msgid "mode of SYN incompatible with value"
-msgstr "TI ¥Ä¡¼¥ë¸ß´¹¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-
-#: ch/satisfy.c:167
-msgid "SYN value outside range of its mode"
-msgstr ""
-
-#: ch/satisfy.c:176
-msgid "INIT string too large for mode"
-msgstr ""
-
-#: ch/satisfy.c:195
-#, fuzzy, c-format
-msgid "value of %s is not a valid constant"
-msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
-
-#: ch/satisfy.c:226
-msgid "mode with non-value property in signal definition"
-msgstr ""
-
-#: ch/satisfy.c:403
-#, fuzzy, c-format
-msgid "undeclared identifier `%s'"
-msgstr "̵¸ú¤Ê¼±ÊÌ»Ò `%s'"
-
-#: ch/satisfy.c:456
-#, fuzzy
-msgid "RETURNS spec with invalid mode"
-msgstr "̵¸ú¤Ê°ú¿ô¤ò»ý¤Ã¤¿ #%s"
-
-#: ch/satisfy.c:520
-#, fuzzy
-msgid "operand to REF is not a mode"
-msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/satisfy.c:554
-msgid "field with non-value mode in variant structure not allowed"
-msgstr ""
-
-#: ch/satisfy.c:593
-msgid "buffer element mode must not have non-value property"
-msgstr ""
-
-#: ch/satisfy.c:602
-msgid "recordmode must not have the non-value property"
-msgstr ""
-
-#: ch/tasking.c:170 ch/tasking.c:218
-#, c-format
-msgid "tasking code %ld out of range for `%s'"
-msgstr ""
-
-#: ch/tasking.c:284
-#, c-format
-msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
-msgstr ""
-
-#: ch/tasking.c:325
-msgid "PROCESS may only be declared at module level"
-msgstr ""
-
-#: ch/tasking.c:549
-#, c-format
-msgid "process name %s never declared"
-msgstr ""
-
-#: ch/tasking.c:554
-msgid "you may only START a process, not a proc"
-msgstr ""
-
-#: ch/tasking.c:590
-msgid "SET expression not a location"
-msgstr ""
-
-#: ch/tasking.c:595
-msgid "SET location must be INSTANCE mode"
-msgstr ""
-
-#: ch/tasking.c:632
-#, fuzzy, c-format
-msgid "too many arguments to process `%s'"
-msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:635
-#, fuzzy
-msgid "too many arguments to process"
-msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:640
-#, fuzzy, c-format
-msgid "too few arguments to process `%s'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:643
-#, fuzzy
-msgid "too few arguments to process"
-msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:983
-msgid "COPY_NUMBER argument must be INSTANCE expression"
-msgstr ""
-
-#: ch/tasking.c:1007
-msgid "GEN_CODE argument must be a process or signal name"
-msgstr ""
-
-#: ch/tasking.c:1029
-msgid "GEN_INST parameter 2 must be an integer mode"
-msgstr ""
-
-#: ch/tasking.c:1050
-msgid "GEN_INST parameter 1 must be a PROCESS or an integer expression"
-msgstr ""
-
-#: ch/tasking.c:1076
-#, fuzzy, c-format
-msgid "%s is not a declared process"
-msgstr "\"%s\" ¤Ï¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÂФ¹¤ëÀµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/tasking.c:1097
-msgid "PROC_TYPE argument must be INSTANCE expression"
-msgstr ""
-
-#: ch/tasking.c:1139
-msgid "QUEUE_LENGTH argument must be a BUFFER/EVENT location"
-msgstr ""
-
-#: ch/tasking.c:1289
-#, c-format
-msgid "SEND requires a SIGNAL; %s is not a SIGNAL name"
-msgstr ""
-
-#: ch/tasking.c:1314
-#, fuzzy, c-format
-msgid "too many values for SIGNAL `%s'"
-msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:1320
-#, fuzzy, c-format
-msgid "too few values for SIGNAL `%s'"
-msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:1398
-#, fuzzy
-msgid "signal sent without priority"
-msgstr "½Ò¸ì¤Î¤Ê¤¤¥¢¥µ¡¼¥·¥ç¥ó¤Ç¤¹"
-
-#: ch/tasking.c:1399 ch/tasking.c:2927
-msgid " and no default priority was set."
-msgstr ""
-
-#: ch/tasking.c:1400 ch/tasking.c:2777 ch/tasking.c:2928
-msgid " PRIORITY defaulted to 0"
-msgstr ""
-
-#: ch/tasking.c:1415
-msgid "SEND without a destination instance"
-msgstr ""
+msgid "Compile for v850e processor"
+msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
-#: ch/tasking.c:1416
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
#, fuzzy
-msgid " and no destination process specified"
-msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/tasking.c:1417
-msgid " for the signal"
-msgstr ""
-
-#. as our system doesn't allow that and Z.200 specifies it,
-#. we issue a warning
-#: ch/tasking.c:1436
-#, c-format
-msgid "SEND to ANY copy of process `%s'"
-msgstr ""
-
-#: ch/tasking.c:1441
-msgid "SEND TO must be an INSTANCE mode"
-msgstr ""
-
-#: ch/tasking.c:1455
-msgid "SEND WITH must have a mode"
-msgstr ""
+msgid "Enable the use of the short load instructions"
+msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
-#: ch/tasking.c:1724
+#: config/v850/v850.h:180
#, fuzzy
-msgid "internal error: RECEIVE CASE stack invalid"
-msgstr "ÆâÉô¥¨¥é¡¼ - ̵¸ú¤Ê Utf8 ̾¤Ç¤¹"
-
-#: ch/tasking.c:1764 ch/tasking.c:2492
-msgid "SET requires INSTANCE location"
-msgstr ""
-
-#: ch/tasking.c:1843
-msgid "SIGNAL in RECEIVE CASE alternative follows"
-msgstr ""
-
-#: ch/tasking.c:1844
-#, c-format
-msgid " a BUFFER name on line %d"
-msgstr ""
-
-#: ch/tasking.c:1852
-#, c-format
-msgid "SIGNAL `%s' has no data fields"
-msgstr ""
-
-#: ch/tasking.c:1857
-#, c-format
-msgid "SIGNAL `%s' requires data fields"
-msgstr ""
-
-#: ch/tasking.c:1921
-#, c-format
-msgid "too few data fields provided for `%s'"
-msgstr ""
-
-#: ch/tasking.c:1924
-#, fuzzy, c-format
-msgid "too many data fields provided for `%s'"
-msgstr "`asm' Ãæ¤ÎÂåÂØ¥­¡¼¥ï¡¼¥É¤¬Â¿¤¹¤®¤Þ¤¹"
-
-#: ch/tasking.c:1947
-msgid "BUFFER in RECEIVE CASE alternative follows"
-msgstr ""
-
-#: ch/tasking.c:1948
-#, c-format
-msgid " a SIGNAL name on line %d"
-msgstr ""
-
-#: ch/tasking.c:1956
-msgid "BUFFER in RECEIVE CASE alternative must be a location"
-msgstr ""
-
-#: ch/tasking.c:1962
-msgid "buffer receive alternative requires only 1 defining occurrence"
-msgstr ""
+msgid "Do not use the callt instruction"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/tasking.c:2043
+#: config/v850/v850.h:187
#, fuzzy
-msgid "incompatible modes in receive buffer alternative"
-msgstr "f2c ¸ß´¹¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¤"
-
-#: ch/tasking.c:2049
-msgid "defining occurrence in receive buffer alternative must be a location"
-msgstr ""
-
-#: ch/tasking.c:2086
-msgid "buffer receive alternative without `IN location'"
-msgstr ""
+msgid "Do not use registers r2 and r5"
+msgstr "sb ¥ì¥¸¥¹¥¿¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/tasking.c:2092
-msgid "RECEIVE CASE alternative must specify a SIGNAL name or BUFFER location"
+#: config/v850/v850.h:189
+msgid "Enfore strict alignment"
msgstr ""
-#: ch/tasking.c:2331
-msgid "RECEIVE CASE without alternatives"
-msgstr ""
+#: config/v850/v850.h:192
+msgid "Use 4 byte entries in switch tables"
+msgstr "switch ¥Æ¡¼¥Ö¥ë¤Ç 4 ¥Ð¥¤¥È¥¨¥ó¥È¥ê¤ò»ÈÍѤ¹¤ë"
-#: ch/tasking.c:2369
-msgid "CONTINUE requires an event location"
-msgstr ""
+#: config/v850/v850.h:218
+msgid "Set the max size of data eligible for the TDA area"
+msgstr "TDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
-#: ch/tasking.c:2503 ch/tasking.c:2939
-msgid "PRIORITY must be of integer type"
-msgstr ""
+#: config/v850/v850.h:221
+msgid "Set the max size of data eligible for the SDA area"
+msgstr "SDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
-#: ch/tasking.c:2581
-msgid "delay alternative must be an EVENT location"
-msgstr ""
+#: config/v850/v850.h:224
+msgid "Set the max size of data eligible for the ZDA area"
+msgstr "ZDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
-#: ch/tasking.c:2636
-msgid "DELAY CASE without alternatives"
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
+msgid "bad test"
msgstr ""
-#: ch/tasking.c:2756
-#, fuzzy
-msgid "DELAY action requires an event location"
-msgstr "-ifile ¥ª¥×¥·¥ç¥ó¤Ë¤Ï -map ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
-
-#: ch/tasking.c:2767
-msgid "PRIORITY in DELAY action must be of integer type"
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
msgstr ""
-#: ch/tasking.c:2776
+#: config/xtensa/xtensa.c:1991
#, fuzzy
-msgid "DELAY action without priority."
-msgstr "½Ò¸ì¤Î¤Ê¤¤¥¢¥µ¡¼¥·¥ç¥ó¤Ç¤¹"
+msgid "invalid mask"
+msgstr "̵¸ú¤Ê #pragma %s ¤Ç¤¹"
-#: ch/tasking.c:2867
+#: config/xtensa/xtensa.c:2038
#, fuzzy
-msgid "send buffer action requires a BUFFER location"
-msgstr "-ifile ¥ª¥×¥·¥ç¥ó¤Ë¤Ï -map ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
-
-#: ch/tasking.c:2884
-msgid "there must be only 1 value for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:2905
-msgid "convert failed for send buffer action"
-msgstr ""
+msgid "invalid address"
+msgstr "̵¸ú¤Ê¥³¡¼¥É¤Ç¤¹"
-#: ch/tasking.c:2911
+#: config/xtensa/xtensa.c:2063
#, fuzzy
-msgid "incompatible modes in send buffer action"
-msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
-
-#: ch/tasking.c:2926
-msgid "buffer sent without priority"
-msgstr ""
-
-#: ch/tasking.c:2945
-msgid "WITH not allowed for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:2950
-msgid "TO not allowed for send buffer action"
-msgstr ""
-
-#: ch/tasking.c:3093
-#, c-format
-msgid "SEND requires a BUFFER; `%s' is not a BUFFER name"
-msgstr ""
-
-#: ch/tasking.c:3234
-msgid "non-integral max queue size for EVENT/BUFFER mode"
-msgstr ""
-
-#: ch/tasking.c:3239
-msgid "non-constant max queue size for EVENT/BUFFER mode"
-msgstr ""
-
-#: ch/tasking.c:3246
-msgid "max queue_size for EVENT/BUFFER is not positive"
-msgstr ""
-
-#: ch/timing.c:224
-msgid "absolute time value must be of mode TIME"
-msgstr ""
-
-#: ch/timing.c:281 ch/timing.c:364
-msgid "duration primitive value must be of mode DURATION"
-msgstr ""
-
-#: ch/tree.c:58
-msgid "string length > UPPER (UINT)"
-msgstr ""
-
-#: ch/tree.c:112
-msgid "can only build a powerset from a discrete mode"
-msgstr ""
+msgid "no register in address"
+msgstr "ÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹: %s"
-#: ch/tree.c:124
+#: config/xtensa/xtensa.c:2071
#, fuzzy
-msgid "non-constant bitstring size invalid"
-msgstr "½é´ü²½»ÒÆâ¤ËÈóÄê¿ô¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
+msgid "address offset not a constant"
+msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: ch/tree.c:126
+#: config/xtensa/xtensa.c:2809
#, fuzzy
-msgid "non-constant powerset size invalid"
-msgstr "½é´ü²½»ÒÆâ¤ËÈóÄê¿ô¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "8 ¥Ó¥Ã¥ÈÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: ch/typeck.c:83
-msgid "array or string index is a mode (instead of a value)"
+#: config/xtensa/xtensa.h:114
+msgid "Use the Xtensa code density option"
msgstr ""
-#: ch/typeck.c:114
-#, fuzzy
-msgid "index is not an integer expression"
-msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
-
-#: ch/typeck.c:122
-#, fuzzy
-msgid "index not compatible with index mode"
-msgstr "TI ¥Ä¡¼¥ë¸ß´¹¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
-
-#. should never happen
-#: ch/typeck.c:132
+#: config/xtensa/xtensa.h:116
#, fuzzy
-msgid "index is not discrete"
-msgstr "-pipe ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/typeck.c:196
-msgid "possible internal error - slice argument is neither referable nor constant"
-msgstr ""
-
-#: ch/typeck.c:285
-msgid "bit array slice with non-constant length"
-msgstr ""
-
-#: ch/typeck.c:325
-msgid "bitstring slice with non-constant length"
-msgstr ""
-
-#: ch/typeck.c:338
-msgid "slice operation on non-array, non-bitstring value not supported"
-msgstr ""
+msgid "Do not use the Xtensa code density option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:390 ch/typeck.c:441
-msgid "can only take slice of array or string"
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
msgstr ""
-#: ch/typeck.c:455
-#, fuzzy
-msgid "slice length is not an integer"
-msgstr "switch ¤ÎÆâÍƤ¬À°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/typeck.c:488
-#, fuzzy
-msgid "slice length out-of-range"
-msgstr "¹ÔÈֹ椬Èϰϳ°¤Ç¤¹"
-
-#: ch/typeck.c:543
-#, fuzzy
-msgid "too many index expressions"
-msgstr "¶õ¤Î #if ¼°¤Ç¤¹"
-
-#: ch/typeck.c:595
+#: config/xtensa/xtensa.h:120
#, fuzzy
-msgid "array index is not discrete"
-msgstr "ÈóÇÛÎó¤Î½é´ü²½»Ò¤ËÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤·¤¿"
-
-#: ch/typeck.c:675
-#, fuzzy
-msgid "invalid compound index for bitstring mode"
-msgstr "̵¸ú¤Ê¥Ó¥Ã¥ÈÎó½é´ü²½»Ò¤Ç¤¹"
+msgid "Do not use the Xtensa MAC16 option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:1079
-msgid "conversions from variable_size value"
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
msgstr ""
-#: ch/typeck.c:1084
-#, fuzzy
-msgid "conversions to variable_size mode"
-msgstr "ÉÔ´°Á´·¿¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-
-#: ch/typeck.c:1098
+#: config/xtensa/xtensa.h:124
#, fuzzy
-msgid "cannot convert to float"
-msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/typeck.c:1103
-#, fuzzy
-msgid "cannot convert float to this mode"
-msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+msgid "Do not use the Xtensa MUL16 option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:1130
-msgid "OVERFLOW in expression conversion"
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
msgstr ""
-#: ch/typeck.c:1159
-#, fuzzy
-msgid "overflow (not inside function)"
-msgstr "À°¿ô¤Ø¤ÎÀÚ¤êµÍ¤á¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤³¤ê¤Þ¤·¤¿"
-
-#: ch/typeck.c:1161
+#: config/xtensa/xtensa.h:128
#, fuzzy
-msgid "possible overflow (not inside function)"
-msgstr "`%s' ¤¬¤³¤³¤Ç¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (´Ø¿ô¤ÎÃæ¤Ç¤Ï¤Ê¤¤)"
-
-#: ch/typeck.c:1166
-msgid "expression will always cause OVERFLOW"
-msgstr ""
-
-#: ch/typeck.c:1199
-msgid "not implemented: constant conversion from that kind of expression"
-msgstr ""
-
-#: ch/typeck.c:1205
-msgid "not implemented: constant conversion to that kind of mode"
-msgstr ""
+msgid "Do not use the Xtensa MUL32 option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:1216
-msgid "non-standard, non-portable value conversion"
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
msgstr ""
-#: ch/typeck.c:1222
+#: config/xtensa/xtensa.h:136
#, fuzzy
-msgid "location conversion between differently-sized modes"
-msgstr "Â礭¤µ¤Î°Û¤Ê¤ë¥Ù¥¯¥È¥ëÃÍƱ»Î¤ÎÊÑ´¹¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/typeck.c:1224
-#, fuzzy
-msgid "unsupported value conversion"
-msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹"
-
-#: ch/typeck.c:1272
-msgid "operand to bin must be a non-negative integer literal"
-msgstr ""
-
-#: ch/typeck.c:1288
-#, c-format
-msgid "size %d of BIN too big - no such integer mode"
-msgstr ""
-
-#: ch/typeck.c:1302
-msgid "BIN in pass 2"
-msgstr ""
-
-#: ch/typeck.c:1335
-msgid "mode of tuple is neither ARRAY, STRUCT, nor POWERSET"
-msgstr ""
-
-#: ch/typeck.c:2108
-msgid "internal error in chill_root_resulting_mode"
-msgstr ""
+msgid "Do not use the Xtensa NSA option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:2367
-msgid "string lengths not equal"
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
msgstr ""
-#: ch/typeck.c:2382
+#: config/xtensa/xtensa.h:140
#, fuzzy
-msgid "can't do ARRAY assignment - too large"
-msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Â礭¤¹¤®¤Þ¤¹"
+msgid "Do not use the Xtensa MIN/MAX option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:2400
-msgid "rhs of array assignment is not addressable"
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
msgstr ""
-#: ch/typeck.c:2577
+#: config/xtensa/xtensa.h:144
#, fuzzy
-msgid "non-constant expression for BIN"
-msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/typeck.c:2582
-msgid "expression for BIN must not be negative"
-msgstr ""
+msgid "Do not use the Xtensa SEXT option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:2587
-msgid "cannot process BIN (>32)"
+#: config/xtensa/xtensa.h:146
+msgid "Use the Xtensa boolean register option"
msgstr ""
-#: ch/typeck.c:2603
+#: config/xtensa/xtensa.h:148
#, fuzzy
-msgid "bounds of range are not compatible"
-msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-
-#: ch/typeck.c:2612
-#, fuzzy
-msgid "negative string length"
-msgstr "ʸ»úÎóÄê¿ô¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
+msgid "Do not use the Xtensa boolean register option"
+msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
-#: ch/typeck.c:2649
+#: config/xtensa/xtensa.h:150
#, fuzzy
-msgid "range's lower bound and parent mode don't match"
-msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¡¢°ú¿ô %d ¤¬°ìÃפ·¤Þ¤»¤ó"
-
-#: ch/typeck.c:2654
-msgid "range's upper bound and parent mode don't match"
-msgstr ""
-
-#: ch/typeck.c:2663
-msgid "making range from non-mode"
-msgstr ""
+msgid "Use the Xtensa floating-point unit"
+msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
-#: ch/typeck.c:2669
+#: config/xtensa/xtensa.h:152
#, fuzzy
-msgid "floating point ranges"
-msgstr "ÉâÆ°¾®¿ôÅÀ¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-
-#: ch/typeck.c:2677
-msgid "range mode has non-constant limits"
-msgstr ""
-
-#: ch/typeck.c:2686
-msgid "range's high bound < mode's low bound"
-msgstr ""
-
-#: ch/typeck.c:2691
-msgid "range's high bound > mode's high bound"
-msgstr ""
-
-#: ch/typeck.c:2696
-msgid "range mode high bound < range mode low bound"
-msgstr ""
-
-#: ch/typeck.c:2701
-msgid "range's low bound < mode's low bound"
-msgstr ""
-
-#: ch/typeck.c:2706
-msgid "range's low bound > mode's high bound"
-msgstr ""
+msgid "Do not use the Xtensa floating-point unit"
+msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ·¤Ê¤¤"
-#: ch/typeck.c:2814
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
#, fuzzy
-msgid "stepsize in STEP must be an integer constant"
-msgstr "À°¿ôÄê¿ôÃæ¤Ë 2¤Ä¤Î `u'"
-
-#: ch/typeck.c:2818
-msgid "stepsize in STEP must be > 0"
-msgstr ""
-
-#: ch/typeck.c:2824
-msgid "stepsize in STEP must be the natural width of the array element mode"
-msgstr ""
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
-#: ch/typeck.c:2830 ch/typeck.c:3131
+#: config/xtensa/xtensa.h:172
#, fuzzy
-msgid "starting word in POS must be an integer constant"
-msgstr "À°¿ôÄê¿ôÃæ¤Ë 2¤Ä¤Î `u'"
-
-#: ch/typeck.c:2834 ch/typeck.c:3138
-msgid "starting word in POS must be >= 0"
-msgstr ""
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
-#: ch/typeck.c:2836
-msgid "starting word in POS within STEP must be 0"
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
msgstr ""
-#: ch/typeck.c:2848 ch/typeck.c:3155
+#: config/xtensa/xtensa.h:176
#, fuzzy
-msgid "starting bit in POS must be an integer constant"
-msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÀ°¿ô·¿¤ÎÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/typeck.c:2854
-msgid "starting bit in POS within STEP must be 0"
-msgstr ""
-
-#: ch/typeck.c:2858 ch/typeck.c:3163
-msgid "starting bit in POS must be >= 0"
-msgstr ""
+msgid "Do not serialize volatile memory references with MEMW instructions"
+msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
-#: ch/typeck.c:2866 ch/typeck.c:3171
-msgid "starting bit in POS must be < the width of a word"
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
msgstr ""
-#: ch/typeck.c:2880 ch/typeck.c:3185
-#, fuzzy
-msgid "length in POS must be an integer constant"
-msgstr "À°¿ôÄê¿ôÃæ¤Ë 2¤Ä¤Î `u'"
-
-#: ch/typeck.c:2887 ch/typeck.c:3192
-msgid "length in POS must be > 0"
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
msgstr ""
-#: ch/typeck.c:2894 ch/typeck.c:3205
-#, fuzzy
-msgid "end bit in POS must be an integer constant"
-msgstr "À°¿ôÄê¿ôÃæ¤Ë 2¤Ä¤Î `u'"
-
-#: ch/typeck.c:2903 ch/typeck.c:3214
-msgid "end bit in POS must be >= the start bit"
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
msgstr ""
-#: ch/typeck.c:2909 ch/typeck.c:3219
-msgid "end bit in POS must be < the width of a word"
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
msgstr ""
-#: ch/typeck.c:2921
-msgid "the length specified on POS within STEP must be the natural length of the array element type"
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
msgstr ""
-#: ch/typeck.c:2926
-msgid "step size in STEP must be >= the length in POS"
-msgstr ""
-
-#: ch/typeck.c:2952
-#, fuzzy
-msgid "array index must be a range, not a single integer"
-msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/typeck.c:2958
+#: config/xtensa/xtensa.h:188
#, fuzzy
-msgid "array index is not a discrete mode"
-msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: ch/typeck.c:3229
-msgid "the length specified on POS must be the natural length of the field type"
-msgstr ""
-
-#: ch/typeck.c:3238
-msgid "STRUCT fields must be layed out in monotonically increasing order"
-msgstr ""
+msgid "Use direct CALLn instructions for fast calls"
+msgstr "ÁȤ߹þ¤ß¤Î½ü»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
-#: ch/typeck.c:3301
-msgid "if one field has a POS layout, then all fields must have a POS layout"
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
msgstr ""
-#: ch/typeck.c:3444
-#, fuzzy
-msgid "parameterized structures not implemented"
-msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: ch/typeck.c:3449
-#, fuzzy
-msgid "invalid parameterized type"
-msgstr "²¾°ú¿ô `%s' ¤Ï̵¸ú¤Ç¤¹"
-
-#: cp/call.c:268 cp/init.c:1637
+#: cp/call.c:258 cp/init.c:1587
msgid "qualified type `%T' does not match destructor name `~%T'"
msgstr ""
-#: cp/call.c:277
+#: cp/call.c:267
msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
msgstr ""
-#: cp/call.c:286
+#: cp/call.c:276
msgid "`%D' is a namespace"
msgstr ""
-#: cp/call.c:294
+#: cp/call.c:284
msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
msgstr ""
-#: cp/call.c:392
+#: cp/call.c:366
msgid "unable to call pointer to member function here"
msgstr "¤³¤³¤Ç¤Ï¥á¥ó¥Ð´Ø¿ô¥Ý¥¤¥ó¥¿¸Æ¤Ó½Ð¤·¤¬¤Ç¤­¤Þ¤»¤ó"
-#: cp/call.c:522
+#: cp/call.c:515
msgid "destructors take no parameters"
msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤Ï²¾°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó"
-#: cp/call.c:529
+#: cp/call.c:519
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr ""
-#: cp/call.c:2338
+#: 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
+#, fuzzy
+msgid "request for member `%D' is ambiguous"
+msgstr "Í׵ᤵ¤ì¤¿¥á¥ó¥Ð `%s' ¤Ï¿½Å·Ñ¾µ¥°¥é¥Õ¤ÎÃæ¤ÇÛ£Ëæ¤Ç¤¹"
+
+#: cp/call.c:2446
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2343
+#: cp/call.c:2451
msgid "%s %D(%T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2347
+#: cp/call.c:2455
#, fuzzy
msgid "%s %D(%T) <built-in>"
msgstr "<ÁȤ߹þ¤ß>"
-#: cp/call.c:2351
+#: cp/call.c:2459
msgid "%s %T <conversion>"
msgstr ""
-#: cp/call.c:2353
+#: cp/call.c:2461
#, fuzzy
msgid "%s %+#D%s"
msgstr "%s: %s"
-#: cp/call.c:2511
-msgid "no viable candidates"
-msgstr ""
-
-#: cp/call.c:2525
+#: cp/call.c:2615
#, fuzzy
msgid "conversion from `%T' to `%T' is ambiguous"
msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
-#: cp/call.c:2642
+#: 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
+#, fuzzy
+msgid "'%D' has no member named '%E'"
+msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: cp/call.c:2812
msgid "no matching function for call to `%D(%A)'"
msgstr ""
-#: cp/call.c:2653 cp/call.c:4639
+#: 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:2680
+#: 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:2749
+#: cp/call.c:2920
msgid "no match for call to `(%T) (%A)'"
msgstr ""
-#: cp/call.c:2759
+#: cp/call.c:2930
#, fuzzy
msgid "call of `(%T) (%A)' is ambiguous"
msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
-#: cp/call.c:2794
+#: cp/call.c:2965
msgid "%s for `%T ? %T : %T' operator"
msgstr ""
-#: cp/call.c:2799
+#: cp/call.c:2970
#, fuzzy
msgid "%s for `%T %s' operator"
msgstr "%s ¤¬ `%s' ¥È¡¼¥¯¥ó¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/call.c:2802
+#: cp/call.c:2973
msgid "%s for `%T [%T]' operator"
msgstr ""
-#: cp/call.c:2807
+#: cp/call.c:2978
#, fuzzy
msgid "%s for `%T %s %T' operator"
msgstr "%s ¤¬ `%s' ¥È¡¼¥¯¥ó¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/call.c:2810
+#: cp/call.c:2981
#, fuzzy
msgid "%s for `%s %T' operator"
msgstr "%s ¤¬ `%s' ¥È¡¼¥¯¥ó¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/call.c:2902
+#: cp/call.c:3071
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
msgstr "ISO C++ ¤ÏÃæ´Ö¹à¤¬¾Êά¤µ¤ì¤¿ ?: ¼°¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/call.c:2961
+#: cp/call.c:3130
#, c-format
msgid "`%E' has type `void' and is not a throw-expression"
msgstr ""
-#: cp/call.c:2994 cp/call.c:3194
+#: cp/call.c:3163 cp/call.c:3363
msgid "operands to ?: have different types"
msgstr ""
-#: cp/call.c:3147
+#: cp/call.c:3316
#, fuzzy
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-#: cp/call.c:3154
+#: cp/call.c:3323
#, fuzzy
msgid "enumeral and non-enumeral type in conditional expression"
msgstr "¾ò·ï¼°¤ËÉä¹çÉÕ¤­·¿¤ÈÉä¹ç̵¤··¿¤È¤¬¤¢¤ê¤Þ¤¹"
-#: cp/call.c:3235
+#: cp/call.c:3405
#, fuzzy
msgid "`%D' must be declared before use"
msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/call.c:3399
+#: cp/call.c:3604
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr ""
-#: cp/call.c:3446
+#: cp/call.c:3651
msgid "using synthesized `%#D' for copy assignment"
msgstr ""
-#: cp/call.c:3448
+#: cp/call.c:3653
msgid " where cfront would use `%#D'"
msgstr ""
-#: cp/call.c:3475
+#: cp/call.c:3680
#, fuzzy
msgid "comparison between `%#T' and `%#T'"
msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤È¤ÎÈæ³Ó¤Ç¤¹"
-#: cp/call.c:3708
+#: cp/call.c:3919
#, fuzzy
msgid "no suitable `operator delete' for `%T'"
msgstr "¤¢¤ê¤¨¤Ê¤¤±é»»»Ò '%s'"
-#: cp/call.c:3727
+#: cp/call.c:3938
msgid "`%+#D' is private"
msgstr ""
-#: cp/call.c:3729
+#: cp/call.c:3940
msgid "`%+#D' is protected"
msgstr ""
-#: cp/call.c:3731
+#: cp/call.c:3942
msgid "`%+#D' is inaccessible"
msgstr ""
-#: cp/call.c:3732
+#: cp/call.c:3943
msgid "within this context"
msgstr ""
-#: cp/call.c:3774
+#: cp/call.c:3985
#, fuzzy
msgid "invalid conversion from `%T' to `%T'"
msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-#: cp/call.c:3776 cp/call.c:3915 cp/call.c:3917
+#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128
#, fuzzy
msgid " initializing argument %P of `%D'"
msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-#: cp/call.c:3839 cp/call.c:3843
+#: cp/call.c:4050 cp/call.c:4054
msgid " initializing argument %P of `%D' from result of `%D'"
msgstr ""
-#: cp/call.c:3849 cp/call.c:3852
+#: 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:3986
-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:4011
+#. 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:4153
+#: cp/call.c:4422
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr ""
-#: cp/call.c:4401
+#: cp/call.c:4656
#, fuzzy
msgid "could not find class$ field in java interface type `%T'"
msgstr "`%s' ¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ë´ðÄ쥯¥é¥¹¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/call.c:4502 cp/typeck.c:2079
-msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
-msgstr ""
+#: cp/call.c:4831
+#, fuzzy
+msgid "call to non-function `%D'"
+msgstr "virtual ¤ÊÈ󥯥饹´Ø¿ô `%s'"
-#: cp/call.c:4628
+#: cp/call.c:4937
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr ""
-#: cp/call.c:4658
+#: cp/call.c:4967
msgid "cannot call member function `%D' without object"
msgstr ""
-#: cp/call.c:5271
+#: cp/call.c:5580
msgid "passing `%T' chooses `%T' over `%T'"
msgstr ""
-#: cp/call.c:5273 cp/decl2.c:4489
+#: cp/call.c:5582 cp/decl2.c:4081
#, fuzzy
msgid " in call to `%D'"
msgstr "`%s' ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ï¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Þ¤»¤ó"
-#: cp/call.c:5322 cp/call.c:5447
+#: cp/call.c:5631 cp/call.c:5756
msgid "choosing `%D' over `%D'"
msgstr ""
-#: cp/call.c:5323
+#: cp/call.c:5632
#, fuzzy
msgid " for conversion from `%T' to `%T'"
msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-#: cp/call.c:5325
+#: cp/call.c:5634
msgid " because conversion sequence for the argument is better"
msgstr ""
-#: cp/call.c:5449
+#: cp/call.c:5758
msgid " because worst conversion for the former is better than worst conversion for the latter"
msgstr ""
-#: cp/call.c:5565 cp/call.c:5586
+#: cp/call.c:5874 cp/call.c:5895
#, fuzzy
msgid "could not convert `%E' to `%T'"
msgstr "0x%l.8x ¤òÎΰè¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: cp/class.c:284
+#: cp/class.c:286
msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr ""
-#: cp/class.c:1010
+#: 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:1021
-msgid "`%D' has already been declared in `%T'"
-msgstr ""
-
-#: cp/class.c:1102
+#: cp/class.c:1027
#, fuzzy
msgid "duplicate enum value `%D'"
msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
-#: cp/class.c:1105
+#: cp/class.c:1030
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr ""
-#: cp/class.c:1112
+#: cp/class.c:1037
#, fuzzy
msgid "duplicate nested type `%D'"
msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
-#: cp/class.c:1123
+#: cp/class.c:1048
msgid "duplicate field `%D' (as type and non-type)"
msgstr ""
-#: cp/class.c:1127
+#: cp/class.c:1052
#, fuzzy
msgid "duplicate member `%D'"
msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
-#: cp/class.c:1170
+#: cp/class.c:1095
#, fuzzy
msgid "conflicting access specifications for method `%D', ignored"
msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò¤¬¶¥¹ç¤·¤¿¤¿¤á¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/class.c:1172
+#: cp/class.c:1097
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò¤¬¶¥¹ç¤·¤¿¤¿¤á¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/class.c:1215
+#: cp/class.c:1142
msgid "`%D' names constructor"
msgstr ""
-#: cp/class.c:1221
+#: cp/class.c:1147
#, fuzzy
msgid "`%D' invalid in `%T'"
msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó `%s'"
-#: cp/class.c:1229
+#: cp/class.c:1155
msgid "no members matching `%D' in `%#T'"
msgstr ""
-#: cp/class.c:1261 cp/class.c:1269
+#: cp/class.c:1187 cp/class.c:1195
#, fuzzy
msgid "`%D' invalid in `%#T'"
msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó `%s'"
-#: cp/class.c:1262
+#: cp/class.c:1188
msgid " because of local method `%#D' with same name"
msgstr ""
-#: cp/class.c:1270
+#: cp/class.c:1196
msgid " because of local member `%#D' with same name"
msgstr ""
-#: cp/class.c:1342
+#: cp/class.c:1268
#, fuzzy
msgid "base class `%#T' has a non-virtual destructor"
msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-#: cp/class.c:1362
+#: cp/class.c:1288
msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr ""
-#: cp/class.c:1948
+#: cp/class.c:1860
msgid "all member functions in class `%T' are private"
msgstr ""
-#: cp/class.c:1962
+#: cp/class.c:1874
msgid "`%#T' only defines a private destructor and has no friends"
msgstr ""
-#: cp/class.c:2005
+#: cp/class.c:1917
msgid "`%#T' only defines private constructors and has no friends"
msgstr ""
-#: cp/class.c:2126 cp/class.c:5030
+#: cp/class.c:2038 cp/class.c:5172
#, fuzzy
msgid "redefinition of `%#T'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/class.c:2127
+#: cp/class.c:2039
#, fuzzy
msgid "previous definition of `%#T'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/class.c:2457
+#: 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:2830
+#: cp/class.c:2652
msgid "`%D' was hidden"
msgstr ""
-#: cp/class.c:2831
+#: cp/class.c:2653
msgid " by `%D'"
msgstr ""
-#: cp/class.c:2873
+#: cp/class.c:2695
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr ""
-#: cp/class.c:2878 cp/decl2.c:1898
+#: 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:2884 cp/decl2.c:1904
+#: cp/class.c:2706 cp/decl2.c:1333
msgid "private member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:2887 cp/decl2.c:1906
+#: cp/class.c:2709 cp/decl2.c:1335
msgid "protected member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:3035
+#: 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
#, fuzzy
msgid "bit-field `%#D' with non-integral type"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/class.c:3055
+#: cp/class.c:2918
#, fuzzy
msgid "bit-field `%D' width not an integer constant"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/class.c:3061
+#: cp/class.c:2924
#, fuzzy
msgid "negative width in bit-field `%D'"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬Éé¤Î¿ô¤Ç¤¹"
-#: cp/class.c:3066
+#: cp/class.c:2929
#, fuzzy
msgid "zero width for bit-field `%D'"
msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬ 0 ¤Ç¤¹"
-#: cp/class.c:3072
+#: cp/class.c:2935
#, fuzzy
msgid "width of `%D' exceeds its type"
msgstr "`%s' ¤ÎÉý¤Ï¤½¤Î·¿¤Î¥µ¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹"
-#: cp/class.c:3081
+#: cp/class.c:2944
msgid "`%D' is too small to hold all values of `%#T'"
msgstr ""
-#: cp/class.c:3164
+#: cp/class.c:3028
msgid "member `%#D' with constructor not allowed in union"
msgstr ""
-#: cp/class.c:3167
+#: cp/class.c:3031
msgid "member `%#D' with destructor not allowed in union"
msgstr ""
-#: cp/class.c:3170
+#: cp/class.c:3034
msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr ""
-#: cp/class.c:3197
+#: cp/class.c:3061
#, fuzzy
msgid "multiple fields in union `%T' initialized"
msgstr "¶¦ÍÑÂνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
-#: cp/class.c:3318
+#: cp/class.c:3183
msgid "field `%D' in local class cannot be static"
msgstr ""
-#: cp/class.c:3324
+#: cp/class.c:3189
#, fuzzy
msgid "field `%D' invalidly declared function type"
msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/class.c:3331
+#: cp/class.c:3196
#, fuzzy
msgid "field `%D' invalidly declared method type"
msgstr "¥Ñ¥é¥á¥¿¤Ï¥á¥½¥Ã¥É¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
-#: cp/class.c:3337
+#: cp/class.c:3202
#, fuzzy
msgid "field `%D' invalidly declared offset type"
msgstr "¥Ñ¥é¥á¥¿¤¬¥ª¥Õ¥»¥Ã¥È¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
#. Unions cannot have static members.
-#: cp/class.c:3355
+#: cp/class.c:3220
#, fuzzy
msgid "field `%D' declared static in union"
msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/class.c:3381
+#: cp/class.c:3247
msgid "non-static reference `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3412
+#: cp/class.c:3282
msgid "non-static const member `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3427
+#: cp/class.c:3298
msgid "field `%#D' with same name as class"
msgstr ""
-#: cp/class.c:3445
+#: cp/class.c:3316
#, fuzzy
msgid "`%#T' has pointer data members"
msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
-#: cp/class.c:3449
+#: cp/class.c:3320
msgid " but does not override `%T(const %T&)'"
msgstr ""
-#: cp/class.c:3451
+#: cp/class.c:3322
msgid " or `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3454
+#: cp/class.c:3325
msgid " but does not override `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3922
+#: 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
#, fuzzy
msgid "initializer specified for non-virtual method `%D'"
msgstr "Èó´Ø¿ô `%s' ¤Î°ú¿ô¤Ë format °À­¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cp/class.c:4706
-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:4776
+#: cp/class.c:4809
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr ""
-#: cp/class.c:5193
+#: 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
#, fuzzy
msgid "`%#T' has virtual functions but non-virtual destructor"
msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-#: cp/class.c:5277
+#: cp/class.c:5405
#, fuzzy
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr "¹½Ê¸²òÀϤ¬¹½Â¤ÂΤνª¤ê¤Ëº¹¤·³Ý¤«¤ê¤Þ¤·¤¿¤¬¡¢Á°¤Î¥¨¥é¡¼¤Î¤»¤¤¤Çʸ̮¤ò¸«¼º¤¤¤Þ¤·¤¿"
-#: cp/class.c:5734
+#: cp/class.c:5861
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr "¸À¸ìʸ»úÎó `\"%s\"' ¤Ïǧ¼±¤µ¤ì¤Þ¤»¤ó"
-#: cp/class.c:5830
+#: cp/class.c:5957
msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr ""
-#: cp/class.c:5951
+#: cp/class.c:6078
msgid "no matches converting function `%D' to type `%#T'"
msgstr ""
-#: cp/class.c:5974
+#: cp/class.c:6101
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr ""
-#: cp/class.c:6000
+#: cp/class.c:6127
#, fuzzy
msgid "assuming pointer to member `%D'"
msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
-#: cp/class.c:6003
+#: cp/class.c:6130
#, c-format
msgid "(a pointer to member can only be formed with `&%E')"
msgstr ""
-#: cp/class.c:6047 cp/class.c:6215 cp/class.c:6222
+#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352
msgid "not enough type information"
msgstr "ÉÔ½½Ê¬¤Ê·¿¾ðÊó"
-#: cp/class.c:6056
+#: cp/class.c:6183
#, fuzzy
msgid "argument of type `%T' does not match `%T'"
msgstr "²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ë°ìÃפ·¤Þ¤»¤ó"
-#: cp/class.c:6199
+#: cp/class.c:6329
msgid "invalid operation on uninstantiated type"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Ê¤¤·¿¤ËÂФ¹¤ë̵¸ú¤ÊÁàºî¤Ç¤¹"
@@ -16307,21 +14531,15 @@ 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:6450 cp/decl.c:1011 cp/decl.c:3159 cp/pt.c:1839
+#: cp/class.c:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845
#, fuzzy
msgid "declaration of `%#D'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/class.c:6451
+#: cp/class.c:6613
msgid "changes meaning of `%D' from `%+#D'"
msgstr ""
-#. XXX Not i18n clean.
-#: cp/cp-tree.h:3790
-#, c-format
-msgid "%s is deprecated, please see the documentation for details"
-msgstr ""
-
#: cp/cvt.c:88
#, fuzzy
msgid "can't convert from incomplete type `%T' to `%T'"
@@ -16336,241 +14554,246 @@ msgstr ""
msgid "converting from `%T' to `%T'"
msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-#: 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
#, fuzzy
msgid "cannot convert `%E' from type `%T' to type `%T'"
msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: cp/cvt.c:526
+#: cp/cvt.c:262
+#, fuzzy
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+#: cp/cvt.c:537
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr ""
-#: cp/cvt.c:544
+#: cp/cvt.c:555
msgid "casting `%T' to `%T' does not dereference pointer"
msgstr ""
-#: cp/cvt.c:573
+#: cp/cvt.c:584
#, fuzzy
msgid "cannot convert type `%T' to type `%T'"
msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: cp/cvt.c:690
+#: cp/cvt.c:701
#, fuzzy
msgid "conversion from `%#T' to `%#T'"
msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
-#: cp/cvt.c:702
+#: cp/cvt.c:713
#, fuzzy
msgid "`%#T' used where a `%T' was expected"
msgstr "Ê£ÁÇ¿ô·¿¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢¥Ý¥¤¥ó¥¿Ãͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: cp/cvt.c:719
+#: cp/cvt.c:730
msgid "the address of `%D', will always be `true'"
msgstr ""
-#: cp/cvt.c:739
+#: cp/cvt.c:750
#, fuzzy
msgid "`%#T' used where a floating point value was expected"
msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢¥Ý¥¤¥ó¥¿Ãͤ¬»È¤ï¤ì¤Þ¤·¤¿"
-#: cp/cvt.c:794
+#: cp/cvt.c:797
#, fuzzy
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
#, fuzzy, c-format
msgid "%s cannot resolve address of overloaded function"
msgstr "À©¸æ¤¬Èó void ´Ø¿ô¤Î½ª¤ê¤ËÅþ㤷¤Þ¤·¤¿"
#. 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
#, fuzzy
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:1012 cp/decl.c:3259
+#: cp/decl.c:1007 cp/decl.c:3205
#, fuzzy
msgid "conflicts with previous declaration `%#D'"
msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
-#: cp/decl.c:1201
+#: cp/decl.c:1211
#, fuzzy
msgid "label `%D' used but not defined"
msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/decl.c:1206
+#: cp/decl.c:1216
#, fuzzy
msgid "label `%D' defined but not used"
msgstr "¥é¥Ù¥ë `%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/decl.c:2286
+#: cp/decl.c:2249
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr ""
-#: cp/decl.c:3069 cp/decl.c:3457
+#: cp/decl.c:3008 cp/decl.c:3413
#, fuzzy
msgid "previous declaration of `%D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:3146 cp/decl.c:3181
+#: cp/decl.c:3089 cp/decl.c:3127
#, fuzzy
msgid "shadowing %s function `%#D'"
msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
-#: cp/decl.c:3155
+#: cp/decl.c:3098
#, fuzzy
msgid "library function `%#D' redeclared as non-function `%#D'"
msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3160
+#: cp/decl.c:3103
#, fuzzy
msgid "conflicts with built-in declaration `%#D'"
msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:3176 cp/decl.c:3269 cp/decl.c:3285
+#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235
#, fuzzy
msgid "new declaration `%#D'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3177
+#: cp/decl.c:3123
#, fuzzy
msgid "ambiguates built-in declaration `%#D'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:3233
+#: cp/decl.c:3179
#, fuzzy
msgid "`%#D' redeclared as different kind of symbol"
msgstr "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3236
+#: cp/decl.c:3182
#, fuzzy
msgid "previous declaration of `%#D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:3258
+#: cp/decl.c:3204
#, fuzzy
msgid "declaration of template `%#D'"
msgstr "`enum %s' ¤ÎºÆÀë¸À"
-#: cp/decl.c:3270 cp/decl.c:3286
+#: cp/decl.c:3220 cp/decl.c:3236
#, fuzzy
msgid "ambiguates old declaration `%#D'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:3278
+#: cp/decl.c:3228
#, fuzzy
msgid "declaration of C function `%#D' conflicts with"
msgstr "%s: ´Ø¿ô `%s' ¤ÎÀë¸À¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: cp/decl.c:3280
+#: cp/decl.c:3230
#, fuzzy
msgid "previous declaration `%#D' here"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:3296
+#: cp/decl.c:3246
#, fuzzy
msgid "conflicting types for `%#D'"
msgstr "`%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
-#: cp/decl.c:3297
+#: cp/decl.c:3247
#, fuzzy
msgid "previous declaration as `%#D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:3340
+#: cp/decl.c:3290
#, fuzzy
msgid "`%#D' previously defined here"
msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3341
+#: cp/decl.c:3291
#, fuzzy
msgid "`%#D' previously declared here"
msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3349
+#: cp/decl.c:3300
#, fuzzy
msgid "prototype for `%#D'"
msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:3350
+#: cp/decl.c:3301
#, fuzzy
msgid "follows non-prototype definition here"
msgstr "Èó¥×¥í¥È¥¿¥¤¥×ÄêµÁ¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:3362
+#: cp/decl.c:3313
#, fuzzy
msgid "previous declaration of `%#D' with %L linkage"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:3364
+#: cp/decl.c:3315
#, fuzzy
msgid "conflicts with new declaration with %L linkage"
msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:3389 cp/decl.c:3397
+#: cp/decl.c:3338 cp/decl.c:3345
#, fuzzy
msgid "default argument given for parameter %d of `%#D'"
msgstr "¥Þ¥¯¥í `%s' ¤Ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3391 cp/decl.c:3399
+#: cp/decl.c:3340 cp/decl.c:3347
#, fuzzy
msgid "after previous specification in `%#D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:3408
+#: cp/decl.c:3356
#, fuzzy
msgid "`%#D' was used before it was declared inline"
msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤ÎÁ°¤Ë¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3410
+#: cp/decl.c:3358
#, fuzzy
msgid "previous non-inline declaration here"
msgstr "Á°Êý¤Ç¤Î `%s' ¤Î°ÅÌÛŪ¤ÊÀë¸À"
-#: cp/decl.c:3456
+#: cp/decl.c:3412
#, fuzzy
msgid "redundant redeclaration of `%D' in same scope"
msgstr "`%s' ¤Î¾éĹ¤ÊºÆÀë¸À¤¬Æ±°ì¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:3539
+#: cp/decl.c:3493
#, fuzzy, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr "`%s' ¤ÎÀë¸À¤Ï´Ø¿ô¤ÎÇÛÎó"
-#: cp/decl.c:3541
+#: cp/decl.c:3495
#, fuzzy, c-format
msgid "than previous declaration `%F'"
msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
@@ -16583,16 +14806,16 @@ msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
#. that specialization that would cause an implicit
#. instantiation to take place, in every translation unit in
#. which such a use occurs.
-#: cp/decl.c:3666
+#: cp/decl.c:3632
msgid "explicit specialization of %D after first use"
msgstr ""
-#: cp/decl.c:3911
+#: cp/decl.c:3886
#, fuzzy
msgid "`%#D' used prior to declaration"
msgstr "`%s' ¤ÏÀë¸À¤è¤ê¤âÀè¤Ë»ÈÍѤµ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3942
+#: cp/decl.c:3917
#, fuzzy
msgid "redeclaration of `wchar_t' as `%T'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
@@ -16603,310 +14826,332 @@ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:3970
+#: cp/decl.c:3945
#, fuzzy
msgid "invalid redeclaration of `%D'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:3971
+#: cp/decl.c:3946
msgid "as `%D'"
msgstr ""
-#: cp/decl.c:4061
+#: cp/decl.c:4036
#, fuzzy
msgid "previous external decl of `%#D'"
msgstr "Á°Êý¤Î `%s' ¤Î³°ÉôÀë¸À"
-#: cp/decl.c:4102
+#: cp/decl.c:4077
#, fuzzy
msgid "`%D' was previously implicitly declared to return `int'"
msgstr "`%s' ¤ÏÁ°Êý¤Ç°ÅÌÛŪ¤Ë `int' ¤òÊÖ¤¹¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:4162
+#: cp/decl.c:4137
#, fuzzy
msgid "extern declaration of `%#D' doesn't match"
msgstr "`%s' ¤Îextern Àë¸À¤Ï¥°¥í¡¼¥Ð¥ë¤Î¤½¤ì¤È°ìÃפ·¤Þ¤»¤ó"
-#: cp/decl.c:4163
+#: cp/decl.c:4138
#, fuzzy
msgid "global declaration `%#D'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:4197
+#: cp/decl.c:4169
#, fuzzy
msgid "declaration of `%#D' shadows a parameter"
msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
-#: cp/decl.c:4217
+#: cp/decl.c:4189
#, c-format
msgid "declaration of `%s' shadows a member of `this'"
msgstr "`%s' ¤ÎÀë¸À¤Ë¤è¤ê `this' ¤Î¥á¥ó¥Ð¤¬Ê¤¤¤±£¤µ¤ì¤Þ¤¹"
-#: cp/decl.c:4582
+#: cp/decl.c:4541
#, fuzzy
msgid "`%#D' hides constructor for `%#T'"
msgstr "`%#D' ¤Î¤¿¤á¤Î¥Ç¥¹¥È¥é¥¯¥¿¤¬É¬ÍפǤ¹"
-#: cp/decl.c:4597
+#: cp/decl.c:4556
#, fuzzy
msgid "`%#D' conflicts with previous using declaration `%#D'"
msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
-#: cp/decl.c:4609
+#: cp/decl.c:4568
#, fuzzy
msgid "previous non-function declaration `%#D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:4610
+#: cp/decl.c:4569
#, fuzzy
msgid "conflicts with function declaration `%#D'"
msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:4700
+#: cp/decl.c:4659
#, fuzzy
msgid "implicit declaration of function `%#D'"
msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
-#: cp/decl.c:4858
+#: cp/decl.c:4817
#, c-format
msgid "label `%s' referenced outside of any function"
msgstr "¥é¥Ù¥ë `%s' ¤¬´Ø¿ô¤Î³°Â¦¤Î²¿¤«¤ò»²¾È¤·¤Þ¤·¤¿"
-#: cp/decl.c:4961 cp/decl.c:4985 cp/decl.c:5078
+#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037
#, fuzzy
msgid "jump to label `%D'"
msgstr "case ¥é¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:4963 cp/decl.c:4987
+#: cp/decl.c:4922 cp/decl.c:4946
msgid "jump to case label"
msgstr "case ¥é¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:4971
+#: cp/decl.c:4930
#, fuzzy
msgid " crosses initialization of `%#D'"
msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-#: cp/decl.c:4974 cp/decl.c:5094
+#: cp/decl.c:4933 cp/decl.c:5053
msgid " enters scope of non-POD `%#D'"
msgstr ""
-#: cp/decl.c:4994 cp/decl.c:5098
+#: cp/decl.c:4953 cp/decl.c:5057
msgid " enters try block"
msgstr " try ¥Ö¥í¥Ã¥¯¤ËÆþ¤ê¤Þ¤¹"
#. Can't skip init of __exception_info.
-#: cp/decl.c:4996 cp/decl.c:5090 cp/decl.c:5100
+#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059
msgid " enters catch block"
msgstr " catch ¥Ö¥í¥Ã¥¯¤ËÆþ¤ê¤Þ¤¹"
-#: cp/decl.c:5079
+#: cp/decl.c:5038
msgid " from here"
msgstr " ¤³¤³¤«¤é"
-#: cp/decl.c:5092
+#: cp/decl.c:5051
#, fuzzy
msgid " skips initialization of `%#D'"
msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-#: cp/decl.c:5127
+#: cp/decl.c:5086
msgid "label named wchar_t"
msgstr ""
-#: cp/decl.c:5131
+#: cp/decl.c:5090
#, fuzzy
msgid "duplicate label `%D'"
msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
-#: cp/decl.c:5216
+#: cp/decl.c:5175
#, fuzzy, c-format
msgid "case label `%E' not within a switch statement"
msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
#. Definition isn't the kind we were looking for.
-#: cp/decl.c:5349 cp/decl.c:5369
+#: 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:5458
+#: cp/decl.c:5461 cp/typeck.c:2062 cp/typeck.c:2217
#, fuzzy
msgid "invalid use of `%D'"
msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
-#: cp/decl.c:5499
+#: cp/decl.c:5502
#, fuzzy
msgid "`%D::%D' is not a template"
msgstr "¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Ç `%s' ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:5511
+#: cp/decl.c:5519
msgid "`%D' undeclared in namespace `%D'"
msgstr ""
-#: cp/decl.c:5645
+#: cp/decl.c:5652
msgid "`%D' used without template parameters"
msgstr ""
-#: cp/decl.c:5656 cp/decl.c:5672 cp/decl.c:5743
+#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783
msgid "no class template named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:5690 cp/decl.c:5705
+#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744
#, fuzzy
msgid "no type named `%#T' in `%#T'"
msgstr "`asm' Ãæ¤ËÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾ `%s' ¤¬¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:5922
+#: cp/decl.c:5968
#, fuzzy
msgid "lookup of `%D' finds `%#D'"
msgstr "`%s' ¤Î̾Á°°ú¤­¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:5924
+#: cp/decl.c:5970
msgid " instead of `%D' from dependent base class"
msgstr ""
-#: cp/decl.c:5926
+#: cp/decl.c:5972
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr ""
-#: cp/decl.c:6099
+#: cp/decl.c:6003
+#, fuzzy
+msgid "name lookup of `%D' changed"
+msgstr "`%s' ¤Î̾Á°°ú¤­¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿"
+
+#: 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
+#, fuzzy
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr "`%s' ¤Î̾Á°°ú¤­¤Ï¿·¤¿¤Ê ISO `for' ¥¹¥³¡¼¥×¤ËÊѤï¤ê¤Þ¤·¤¿"
+
+#: 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:6922
+#: cp/decl.c:7025
#, fuzzy
msgid "an anonymous union cannot have function members"
msgstr "̵̾¶¦ÍÑÂΤ˥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:6939
+#: cp/decl.c:7042
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6942
+#: cp/decl.c:7045
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6945
+#: cp/decl.c:7048
msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6983
+#: cp/decl.c:7086
#, fuzzy
msgid "redeclaration of C++ built-in type `%T'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7018
+#: cp/decl.c:7122
msgid "multiple types in one declaration"
msgstr "°ì¤Ä¤ÎÀë¸À¤ËÊ£¿ô¤Î·¿¤¬¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:7021
-msgid "declaration does not declare anything"
-msgstr "Àë¸À¤¬²¿¤âÀë¸À¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#: cp/decl.c:7045
+#: cp/decl.c:7149
#, fuzzy
msgid "missing type-name in typedef-declaration"
msgstr "typdef Àë¸À¤Ç·¿Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:7052
+#: cp/decl.c:7156
msgid "ISO C++ prohibits anonymous structs"
msgstr "ISO C++ ¤Ï̵̾¹½Â¤ÂΤò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:7059
+#: cp/decl.c:7163
#, fuzzy
msgid "`%D' can only be specified for functions"
msgstr "Èó´Ø¿ô `%s' ¤Î°ú¿ô¤Ë format °À­¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7061
+#: cp/decl.c:7165
msgid "`%D' can only be specified inside a class"
msgstr ""
-#: cp/decl.c:7063
+#: cp/decl.c:7167
#, fuzzy
msgid "`%D' can only be specified for constructors"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7066
+#: cp/decl.c:7170
#, fuzzy
msgid "`%D' can only be specified for objects and functions"
msgstr "Èó´Ø¿ô `%s' ¤Î°ú¿ô¤Ë format °À­¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7203
+#: cp/decl.c:7312 cp/decl2.c:927
#, fuzzy
-msgid "typedef `%D' is initialized"
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
msgstr "typedef `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7209
+#: cp/decl.c:7317
#, fuzzy
msgid "function `%#D' is initialized like a variable"
msgstr "´Ø¿ô `%s' ¤¬ÊÑ¿ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7221
+#: cp/decl.c:7329
#, fuzzy
msgid "declaration of `%#D' has `extern' and is initialized"
msgstr "`%s' ¤ÎÀë¸À¤Ë `extern' ¤¬¤Ä¤¤¤Æ¤ª¤ê¡¢½é´ü²½¤â¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:7251
+#: cp/decl.c:7363
#, fuzzy
msgid "`%#D' is not a static member of `%#T'"
msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:7256
+#: cp/decl.c:7368
#, fuzzy
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
msgstr "ISO C++ ¤Ï #if Æâ¤Î \"%s\" ¤òµö¤·¤Þ¤»¤ó"
-#: cp/decl.c:7267
+#: cp/decl.c:7379
#, fuzzy
msgid "duplicate initialization of %D"
msgstr "½ÅÊ£¤·¤¿½é´ü²½»Ò"
-#: cp/decl.c:7296
+#: cp/decl.c:7408
#, fuzzy
msgid "declaration of `%#D' outside of class is not definition"
msgstr "`%s' ¤Î weak Àë¸À¤ÏÄêµÁ¤è¤ê¤âÀè¤Ë¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl.c:7344
+#: cp/decl.c:7456
#, fuzzy
msgid "variable `%#D' has initializer but incomplete type"
msgstr "ÊÑ¿ô `%s' ¤Ë¤Ï½é´ü²½»Ò¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÉÔ´°Á´·¿¤Ç¤¹"
-#: cp/decl.c:7352 cp/decl.c:7703
+#: cp/decl.c:7464 cp/decl.c:8006
#, fuzzy
msgid "elements of array `%#D' have incomplete type"
msgstr "ÇÛÎó `%s' ¤ÎÍ×ÁǤËÉÔ´°Á´·¿¤¬¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:7368
+#: cp/decl.c:7480
#, fuzzy
-msgid "aggregate `%#D' has incomplete type and cannot be initialized"
-msgstr "½¸¹çÂΤ¬ÉôʬŪ¤Ë¥Ö¥é¥±¥Ã¥È¤Î½é´ü²½»Ò¤ò»ý¤Á¤Þ¤¹"
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
+msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
-#: cp/decl.c:7407
+#: cp/decl.c:7519
#, fuzzy
msgid "`%D' declared as reference but not initialized"
msgstr "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:7416
+#: cp/decl.c:7528
#, fuzzy
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
msgstr "ISO C++ ¤Ï new ¤Ø¤Î½¸¹çÂνé´ü²½»Ò¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:7449
+#: cp/decl.c:7561
#, fuzzy
msgid "cannot initialize `%T' from `%T'"
msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:7510
+#: cp/decl.c:7595
#, fuzzy
msgid "initializer fails to determine size of `%D'"
msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-#: cp/decl.c:7515
+#: cp/decl.c:7600
#, fuzzy
msgid "array size missing in `%D'"
msgstr "`%s' ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:7527
+#: cp/decl.c:7612
#, fuzzy
msgid "zero-size array `%D'"
msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
@@ -16914,641 +15159,655 @@ msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
#. 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:7560
+#: cp/decl.c:7650
#, fuzzy
msgid "storage size of `%D' isn't known"
msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬¤ï¤«¤ê¤Þ¤»¤ó"
-#: cp/decl.c:7582
+#: cp/decl.c:7672
#, fuzzy
msgid "storage size of `%D' isn't constant"
msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬°ìÄê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:7633
+#: 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:7634
+#: cp/decl.c:7724
msgid " you can work around this by removing the initializer"
msgstr ""
-#: cp/decl.c:7662
+#: cp/decl.c:7752
#, fuzzy
msgid "uninitialized const `%D'"
msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:7697
+#: cp/decl.c:7836
+#, fuzzy
+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
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#: cp/decl.c:8000
#, fuzzy
msgid "variable-sized object `%D' may not be initialized"
msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
-#: cp/decl.c:7708 cp/typeck2.c:201
+#: cp/decl.c:8011
#, fuzzy
msgid "`%D' has incomplete type"
msgstr "`%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
-#: cp/decl.c:7740
+#: cp/decl.c:8060
msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr ""
-#: cp/decl.c:7770
+#: cp/decl.c:8101
msgid "structure `%D' with uninitialized const members"
msgstr ""
-#: cp/decl.c:7772
+#: cp/decl.c:8103
msgid "structure `%D' with uninitialized reference members"
msgstr ""
-#: cp/decl.c:8037
+#: cp/decl.c:8346
msgid "assignment (not initialization) in declaration"
msgstr "Àë¸À¤ÎÃæ¤ËÂåÆþ(½é´ü²½¤Ç¤Ï¤Ê¤¯)¤¬¤¢¤ê¤Þ¤¹"
-#: cp/decl.c:8047
+#: cp/decl.c:8358
#, fuzzy
msgid "cannot initialize `%D' to namespace `%D'"
msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:8104
+#: cp/decl.c:8409
#, fuzzy
msgid "shadowing previous type declaration of `%#D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/decl.c:8503
+#: 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
#, fuzzy
msgid "multiple initializations given for `%D'"
msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-#: cp/decl.c:8603
+#: cp/decl.c:8956
msgid "invalid catch parameter"
msgstr "̵¸ú¤Ê catch ¤Î°ú¿ô"
-#: cp/decl.c:8721
+#: cp/decl.c:9074
#, fuzzy
msgid "destructor for alien class `%T' cannot be a member"
msgstr "¾¤Î¥¯¥é¥¹ `%s' ¤Î¥Ç¥¹¥È¥é¥¯¥¿¤ò¡¢¥á¥ó¥Ð¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:8724
+#: cp/decl.c:9077
#, fuzzy
msgid "constructor for alien class `%T' cannot be a member"
msgstr "¾¤Î¥¯¥é¥¹ `%s' ¤Î¥Ç¥¹¥È¥é¥¯¥¿¤ò¡¢¥á¥ó¥Ð¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:8743
+#: cp/decl.c:9096
msgid "`%D' declared as a `virtual' %s"
msgstr ""
-#: cp/decl.c:8745
+#: cp/decl.c:9098
#, fuzzy
msgid "`%D' declared as an `inline' %s"
msgstr "ÊÑ¿ô `%s' ¤¬ `inline' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:8747
+#: cp/decl.c:9100
#, fuzzy
msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:8750
+#: cp/decl.c:9103
#, fuzzy
msgid "`%D' declared as a friend"
msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:8756
+#: cp/decl.c:9109
#, fuzzy
msgid "`%D' declared with an exception specification"
msgstr "Îã³°»ÅÍͤθ¡ºº¤ò¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
-#: cp/decl.c:8831
+#: cp/decl.c:9184
msgid "cannot declare `::main' to be a template"
msgstr "`::main' ¤ò template ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:8833
+#: cp/decl.c:9186
msgid "cannot declare `::main' to be inline"
msgstr "`::main' ¤ò inline ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:8835
+#: cp/decl.c:9188
msgid "cannot declare `::main' to be static"
msgstr "`::main' ¤ò static ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:8838
+#: cp/decl.c:9191
msgid "`main' must return `int'"
msgstr "`main' ¤Ï `int' ¤òÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl.c:8866
+#: cp/decl.c:9219
msgid "non-local function `%#D' uses anonymous type"
msgstr ""
-#: cp/decl.c:8869
+#: cp/decl.c:9222
msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr ""
-#: cp/decl.c:8875
+#: cp/decl.c:9228
msgid "non-local function `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:8898
+#: cp/decl.c:9251
msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr ""
-#: cp/decl.c:8922
+#: cp/decl.c:9275
#, fuzzy
msgid "defining explicit specialization `%D' in friend declaration"
msgstr "Àë¸À¤ÎÃæ¤ËÂåÆþ(½é´ü²½¤Ç¤Ï¤Ê¤¯)¤¬¤¢¤ê¤Þ¤¹"
#. Something like `template <class T> friend void f<T>()'.
-#: cp/decl.c:8932
+#: cp/decl.c:9285
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/decl.c:8960
+#: cp/decl.c:9313
msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:8967
+#: cp/decl.c:9320
msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:9029
+#: cp/decl.c:9382
#, fuzzy
msgid "definition of implicitly-declared `%D'"
msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `auto' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:9041 cp/decl2.c:1384
+#: cp/decl.c:9394 cp/decl2.c:776
#, fuzzy
msgid "no `%#D' member function declared in class `%T'"
msgstr "¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢¥¯¥é¥¹¥¹¥³¡¼¥×Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:9160
+#: cp/decl.c:9527
msgid "non-local variable `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:9250
+#: cp/decl.c:9625
msgid "invalid in-class initialization of static data member of non-integral type `%T'"
msgstr ""
-#: cp/decl.c:9259
+#: cp/decl.c:9634
#, fuzzy
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:9262
+#: cp/decl.c:9637
#, fuzzy
msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:9312
+#: cp/decl.c:9687
#, fuzzy
msgid "size of array `%D' has non-integer type"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
-#: cp/decl.c:9314
+#: cp/decl.c:9689
#, fuzzy
msgid "size of array has non-integer type"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
-#: cp/decl.c:9334
+#: cp/decl.c:9709
#, fuzzy
msgid "size of array `%D' is negative"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Éé¤Ç¤¹"
-#: cp/decl.c:9336
+#: cp/decl.c:9711
#, fuzzy
msgid "size of array is negative"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Éé¤Ç¤¹"
-#: cp/decl.c:9345
+#: cp/decl.c:9720
#, fuzzy
msgid "ISO C++ forbids zero-size array `%D'"
msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:9347
+#: cp/decl.c:9722
#, fuzzy
msgid "ISO C++ forbids zero-size array"
msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:9354
+#: cp/decl.c:9729
#, fuzzy
msgid "size of array `%D' is not an integral constant-expression"
msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
-#: cp/decl.c:9357
+#: cp/decl.c:9732
#, fuzzy
msgid "size of array is not an integral constant-expression"
msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
-#: cp/decl.c:9375
+#: cp/decl.c:9750
#, fuzzy
msgid "ISO C++ forbids variable-size array `%D'"
msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:9378
+#: cp/decl.c:9753
#, fuzzy
msgid "ISO C++ forbids variable-size array"
msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:9389
+#: cp/decl.c:9764
msgid "overflow in array dimension"
msgstr "ÇÛÎó¤Î¼¡¸µ¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: cp/decl.c:9448
+#: cp/decl.c:9823
#, fuzzy
msgid "declaration of `%D' as %s"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:9450
+#: cp/decl.c:9825
#, fuzzy, c-format
msgid "creating %s"
msgstr "%s ¤òºîÀ®Ãæ.\n"
-#: cp/decl.c:9462
+#: cp/decl.c:9837
msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9465
+#: cp/decl.c:9840
msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9494
+#: cp/decl.c:9869
#, fuzzy
msgid "return type specification for constructor invalid"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:9501
+#: cp/decl.c:9876
#, fuzzy
msgid "return type specification for destructor invalid"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:9507
+#: cp/decl.c:9882
#, fuzzy
msgid "operator `%T' declared to return `%T'"
msgstr "`operator delete' ¤ÎÌá¤ê·¿¤Ï `void' ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl.c:9509
+#: cp/decl.c:9884
#, fuzzy
msgid "return type specified for `operator %T'"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:9679
+#: cp/decl.c:10052
msgid "destructors must be member functions"
msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤Ï¥á¥ó¥Ð´Ø¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl.c:9698
+#: cp/decl.c:10071
msgid "destructor `%T' must match class name `%T'"
msgstr ""
-#: cp/decl.c:9748
+#: cp/decl.c:10100
+msgid "variable declaration is not allowed here"
+msgstr ""
+
+#: cp/decl.c:10127
#, fuzzy
msgid "invalid declarator"
msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
-#: cp/decl.c:9801
+#: cp/decl.c:10178
msgid "declarator-id missing; using reserved word `%D'"
msgstr ""
-#: cp/decl.c:9845
-#, fuzzy
-msgid "`%T::%D' is not a valid declarator"
-msgstr "`%s' ¤ÏÀë¸À¤Î»Ï¤Þ¤ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: cp/decl.c:9847
-msgid " perhaps you want `typename %T::%D' to make it a type"
-msgstr ""
-
-#: cp/decl.c:9859
+#: cp/decl.c:10235
#, fuzzy
msgid "type `%T' is not derived from type `%T'"
msgstr "È¿Éü»Ò `%s' ¤ÏÇÉÀ¸·¿¤Ç¤¹"
#. Parse error puts this typespec where
#. a declarator should go.
-#: cp/decl.c:9905
+#: cp/decl.c:10279
msgid "`%T' specified as declarator-id"
msgstr ""
-#: cp/decl.c:9907
+#: cp/decl.c:10281
msgid " perhaps you want `%T' for a constructor"
msgstr ""
-#: cp/decl.c:9921
-#, fuzzy
-msgid "`%D' as declarator"
-msgstr "`%s' ¤ÏÀë¸À¤è¤ê¤âÀè¤Ë»ÈÍѤµ¤ì¤Þ¤·¤¿"
+#. 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
+#, fuzzy, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "¥Ý¥¤¥ó¥¿Àë¸À»Ò¤ËÉÔŬÀڤʷ¿½¤¾þ»Ò"
-#: cp/decl.c:9936
+#: cp/decl.c:10323
#, fuzzy
msgid "declaration of `%D' as non-function"
msgstr "`%s' ¤ÎÀë¸À¤Ï´Ø¿ô¤ÎÇÛÎó"
-#: cp/decl.c:10005
+#: cp/decl.c:10400
msgid "`bool' is now a keyword"
msgstr "`bool' ¤Ïº£¤ä¥­¡¼¥ï¡¼¥É¤Ç¤¹"
-#: cp/decl.c:10007
+#: cp/decl.c:10402
msgid "extraneous `%T' ignored"
msgstr ""
-#: cp/decl.c:10023 cp/decl.c:10057
+#: cp/decl.c:10418 cp/decl.c:10463
#, fuzzy
msgid "multiple declarations `%T' and `%T'"
msgstr "¥á¥½¥Ã¥É `%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: cp/decl.c:10036
+#: cp/decl.c:10431
msgid "ISO C++ does not support `long long'"
msgstr "ISO C++ ¤Ï `long long' ¤ò¼õ¤±Æþ¤ì¤Þ¤»¤ó"
-#: cp/decl.c:10128 cp/decl.c:10131
+#: cp/decl.c:10536 cp/decl.c:10539
#, fuzzy, c-format
msgid "ISO C++ forbids declaration of `%s' with no type"
msgstr "ISO C ¤Ï¥á¥ó¥Ð¤Î¤Ê¤¤¥á¥ó¥ÐÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
#. The implicit typename extension is deprecated and will be
#. removed. Warn about its use now.
-#: cp/decl.c:10141
+#: cp/decl.c:10549
msgid "`%T' is implicitly a typename"
msgstr ""
-#: cp/decl.c:10177
+#: cp/decl.c:10585
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr "short, Éä¹ç¤Ä¤­¤Þ¤¿¤ÏÉä¹ç¤Ê¤·¤Ï `%s' ¤Ë¤È¤Ã¤Æ̵¸ú¤Ç¤¹"
-#: cp/decl.c:10182
+#: cp/decl.c:10590
#, c-format
msgid "long and short specified together for `%s'"
msgstr "long ¤È short ¤¬ `%s' ¤ËÂФ·¤Æ°ì½ï¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:10193
+#: cp/decl.c:10601
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤¬ `%s' ¤ËÂФ·¤Æ°ì½ï¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:10298
+#: cp/decl.c:10710
#, fuzzy
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr "`operator delete' ¤ÎÀë¸ÀÆâ¤Ë¿¤¹¤®¤ë°ú¿ô"
-#: cp/decl.c:10326
+#: cp/decl.c:10732
#, fuzzy
msgid "member `%D' cannot be declared both virtual and static"
msgstr "Èó¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10340
+#: cp/decl.c:10741
+#, fuzzy
+msgid "`%T::%D' is not a valid declarator"
+msgstr "`%s' ¤ÏÀë¸À¤Î»Ï¤Þ¤ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: cp/decl.c:10753
msgid "storage class specifiers invalid in parameter declarations"
msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:10344
+#: cp/decl.c:10757
msgid "typedef declaration invalid in parameter declaration"
msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Î typedef Àë¸À¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:10357
+#: cp/decl.c:10770
msgid "virtual outside class declaration"
msgstr "¥¯¥é¥¹Àë¸À¤Î³°Â¦¤Ç virtual »ØÄꤷ¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:10411
+#: cp/decl.c:10831
#, c-format
msgid "storage class specified for %s `%s'"
msgstr "%s ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹»ØÄê»Ò `%s'"
-#: cp/decl.c:10449
+#: cp/decl.c:10878
msgid "storage class specifiers invalid in friend function declarations"
msgstr "friend ´Ø¿ôÀë¸ÀÆâ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:10553
-#, fuzzy
-msgid "size of member `%D' is not constant"
-msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬°ìÄê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: cp/decl.c:10632
+#: cp/decl.c:11048
msgid "destructor cannot be static member function"
msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10635
+#: cp/decl.c:11051
#, fuzzy, c-format
msgid "destructors may not be `%s'"
msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤Ï²¾°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó"
-#: cp/decl.c:10656
+#: cp/decl.c:11072
msgid "constructor cannot be static member function"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10659
+#: cp/decl.c:11075
msgid "constructors cannot be declared virtual"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï virtual Àë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10664
+#: cp/decl.c:11080
#, fuzzy, c-format
msgid "constructors may not be `%s'"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï virtual Àë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10674
+#: cp/decl.c:11090
msgid "return value type specifier for constructor ignored"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:10693
+#: cp/decl.c:11109
#, c-format
msgid "can't initialize friend function `%s'"
msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
#. Cannot be both friend and virtual.
-#: cp/decl.c:10697
+#: cp/decl.c:11113
msgid "virtual functions cannot be friends"
msgstr "²¾ÁÛ´Ø¿ô¤Ï friend ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10702
+#: cp/decl.c:11118
msgid "friend declaration not in class definition"
msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:10704
+#: cp/decl.c:11120
#, fuzzy, c-format
msgid "can't define friend function `%s' in a local class definition"
msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:10728
+#: cp/decl.c:11144
#, fuzzy
msgid "destructors may not have parameters"
msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤Ï²¾°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó"
-#: cp/decl.c:10758
-#, c-format
-msgid "cannot declare %s to references"
-msgstr "%s ¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+#: cp/decl.c:11175 cp/decl.c:11182
+#, fuzzy
+msgid "cannot declare reference to `%#T'"
+msgstr "»²¾È¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10769
+#: cp/decl.c:11176
#, fuzzy
-msgid "cannot declare pointer to `%#T' member"
+msgid "cannot declare pointer to `%#T'"
msgstr "¥Ý¥¤¥ó¥¿¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10784
-msgid "invalid type: `void &'"
-msgstr "̵¸ú¤Ê·¿: `void &'"
-
-#: cp/decl.c:10835
-msgid "discarding `const' applied to a reference"
-msgstr "»²¾È¤ËÍѤ¤¤é¤ì¤¿ `const' ¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹"
-
-#: cp/decl.c:10837
-msgid "discarding `volatile' applied to a reference"
-msgstr "»²¾È¤ËÍѤ¤¤é¤ì¤¿ `volatile' ¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹"
+#: cp/decl.c:11181
+#, fuzzy
+msgid "cannot declare pointer to `%#T' member"
+msgstr "¥Ý¥¤¥ó¥¿¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:10948
+#: cp/decl.c:11357
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr ""
-#: cp/decl.c:10958
+#: cp/decl.c:11367
msgid "cannot declare member function `%T::%s' within `%T'"
msgstr ""
-#: cp/decl.c:10973
+#: 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:11053
+#: cp/decl.c:11468
msgid "only declarations of constructors can be `explicit'"
msgstr "`explicit' ¤Ë¤Ç¤­¤ë¤Î¤Ï¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤À¤±¤Ç¤¹"
-#: cp/decl.c:11061
+#: cp/decl.c:11476
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr "Èó¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11066
+#: cp/decl.c:11481
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr "È󥪥֥¸¥§¥¯¥È¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11072
+#: cp/decl.c:11487
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr "´Ø¿ô `%s' ¤ò `mutable' ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11077
+#: cp/decl.c:11492
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr "static `%s' ¤ò mutable ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11082
+#: cp/decl.c:11497
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr "const `%s' ¤ò `mutable' ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11095
+#: cp/decl.c:11510
#, fuzzy
msgid "template-id `%D' used as a declarator"
msgstr "²¾°ú¿ô `%s' ¾¯¤·Á°Êý¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:11116
+#: cp/decl.c:11531
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11163
+#: cp/decl.c:11580
msgid "typedef name may not be class-qualified"
msgstr ""
-#: cp/decl.c:11171
+#: cp/decl.c:11588
#, fuzzy
msgid "invalid type qualifier for non-member function type"
msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
-#: cp/decl.c:11187
-msgid "typedef declaration includes an initializer"
-msgstr "typedef Àë¸À¤¬½é´üÀßÄê»Ò¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-
-#: cp/decl.c:11240
+#: cp/decl.c:11651
#, fuzzy
msgid "type qualifiers specified for friend class declaration"
msgstr "°ì¤Ä¤Î¶õ¤ÎÀë¸ÀÃæ¤Ë¡¢Æó¤Ä¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:11245
+#: cp/decl.c:11656
#, fuzzy
msgid "`inline' specified for friend class declaration"
msgstr "¥¯¥é¥¹Àë¸À¤Î³°Â¦¤Ç virtual »ØÄꤷ¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:11255
+#: cp/decl.c:11664
#, fuzzy
msgid "template parameters cannot be friends"
msgstr "Ê£»¨¤Ê¥Ñ¥é¥á¥¿¤ò¤â¤Ä´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11257
-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:11262
+#: cp/decl.c:11670
#, fuzzy
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:11278
+#: cp/decl.c:11684
#, fuzzy
msgid "trying to make class `%T' a friend of global scope"
msgstr "¥¯¥é¥¹ `%s' ¤òÂç°è¥¹¥³¡¼¥×¤Î friend ¤Ë¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:11289
+#: cp/decl.c:11695
#, fuzzy
msgid "invalid qualifiers on non-member function type"
msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
-#: cp/decl.c:11308
+#: cp/decl.c:11714
#, fuzzy
msgid "abstract declarator `%T' used as declaration"
msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
-#: cp/decl.c:11320
+#: cp/decl.c:11726
msgid "unnamed variable or field declared void"
msgstr "̵̾ÊÑ¿ô¤ä¥Õ¥£¡¼¥ë¥É¤¬ void ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:11329
+#: cp/decl.c:11735
msgid "variable or field declared void"
msgstr "ÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤¬ void ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:11339
+#: cp/decl.c:11745
msgid "cannot use `::' in parameter declaration"
msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Ç `::' ¤ò»È¤¨¤Þ¤»¤ó"
#. Something like struct S { int N::j; };
-#: cp/decl.c:11385
+#: cp/decl.c:11784
#, fuzzy
msgid "invalid use of `::'"
msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
-#: cp/decl.c:11397
+#: cp/decl.c:11796
#, fuzzy
msgid "function `%D' cannot be declared friend"
msgstr "´Ø¿ô `%s' ¤ò `mutable' ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11409
+#: cp/decl.c:11808
msgid "can't make `%D' into a method -- not in a class"
msgstr ""
-#: cp/decl.c:11418
+#: cp/decl.c:11817
#, fuzzy
msgid "function `%D' declared virtual inside a union"
msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:11430
+#: cp/decl.c:11829
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr ""
-#: cp/decl.c:11503
+#: cp/decl.c:11902
#, fuzzy
msgid "field `%D' has incomplete type"
msgstr "Îΰè `%s' ¤ÏÉÔ´°Á´¤Ê·¿¤Ç¤¹"
-#: cp/decl.c:11505
+#: cp/decl.c:11904
#, fuzzy
msgid "name `%T' has incomplete type"
msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
-#: cp/decl.c:11514
+#: cp/decl.c:11913
#, fuzzy
msgid " in instantiation of template `%T'"
msgstr "%s: `%s' ¤Î½é´ü²½:\n"
-#: cp/decl.c:11524
+#: cp/decl.c:11923
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr "`%s' ¤Ï´Ø¿ô¤Ç¤â¥á¥ó¥Ð´Ø¿ô¤Ç¤â¤¢¤ê¤Þ¤»¤ó -- friend ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11541
+#: cp/decl.c:11934
msgid "member functions are implicitly friends of their class"
msgstr "¥á¥ó¥Ð´Ø¿ô¤Ï°ÅÌÛŪ¤Ë¤½¤Î¥¯¥é¥¹¤Î friend ¤Ç¤¹"
@@ -17564,100 +15823,105 @@ msgstr "¥á¥ó¥Ð´Ø¿ô¤Ï°ÅÌÛŪ¤Ë¤½¤Î¥¯¥é¥¹¤Î friend ¤Ç¤¹"
#. 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:11583
+#: cp/decl.c:11981
#, fuzzy
msgid "ISO C++ forbids initialization of member `%D'"
msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl.c:11585
+#: cp/decl.c:11983
msgid "making `%D' static"
msgstr ""
-#: cp/decl.c:11609
+#: cp/decl.c:12007
msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11650
+#: cp/decl.c:12048
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `auto' ¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:11652
+#: cp/decl.c:12050
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `register' ¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:11663
+#: cp/decl.c:12052
+#, fuzzy, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `auto' ¤Ï̵¸ú¤Ç¤¹"
+
+#: cp/decl.c:12063
#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr "Âç°è¥¹¥³¡¼¥×³°¤Î´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `static' ¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:11665
+#: cp/decl.c:12065
#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr "Âç°è¥¹¥³¡¼¥×³°¤Î´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `inline' ¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl.c:11672
+#: cp/decl.c:12072
#, c-format
msgid "virtual non-class function `%s'"
msgstr "virtual ¤ÊÈ󥯥饹´Ø¿ô `%s'"
-#: cp/decl.c:11701
+#: cp/decl.c:12101
#, fuzzy
msgid "cannot declare member function `%D' to have static linkage"
msgstr "`::main' ¤ò static ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
#. FIXME need arm citation
-#: cp/decl.c:11707
+#: cp/decl.c:12107
msgid "cannot declare static function inside another function"
msgstr "¾¤Î´Ø¿ôÆâ¤Ç static ´Ø¿ô¤òÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:11735
+#: cp/decl.c:12135
msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr ""
-#: cp/decl.c:11741
+#: cp/decl.c:12141
#, fuzzy
msgid "static member `%D' declared `register'"
msgstr "`register' ¤ÈÀë¸À¤µ¤ì¤¿ÇÛÎó¤Ëź»ú¤ò¤Ä¤±¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:11746
+#: cp/decl.c:12146
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr ""
-#: cp/decl.c:11918
+#: cp/decl.c:12318
#, fuzzy
msgid "default argument for `%#D' has type `%T'"
msgstr "`%s' ¤ÎÂè°ì°ú¿ô¤Ï `int' ¤È¤¹¤Ù¤­¤Ç¤¹"
-#: cp/decl.c:11921
+#: cp/decl.c:12321
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr ""
-#: cp/decl.c:11938
+#: cp/decl.c:12338
msgid "default argument `%E' uses local variable `%D'"
msgstr ""
-#: cp/decl.c:11982
+#: cp/decl.c:12383
#, fuzzy, c-format
msgid "invalid string constant `%E'"
msgstr "ÉÔÀµ¤Êʸ»úÎóÄê¿ô¤Ç¤¹"
-#: cp/decl.c:11984
+#: cp/decl.c:12385
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr "²¾°ú¿ô¥ê¥¹¥È¤Ë̵¸ú¤ÊÀ°¿ôÄê¿ô¤¬¤¢¤ê¤Þ¤¹¡£²¾°ú¿ô̾¤òÍ¿¤¨Ëº¤ì¤¿¤Î¤Ç¤Ï¡©"
-#: cp/decl.c:12018
+#: cp/decl.c:12423
#, fuzzy
msgid "parameter `%D' invalidly declared method type"
msgstr "¥Ñ¥é¥á¥¿¤Ï¥á¥½¥Ã¥É¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
-#: cp/decl.c:12024
+#: cp/decl.c:12429
#, fuzzy
msgid "parameter `%D' invalidly declared offset type"
msgstr "¥Ñ¥é¥á¥¿¤¬¥ª¥Õ¥»¥Ã¥È¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
-#: cp/decl.c:12048
+#: cp/decl.c:12453
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr ""
@@ -17676,603 +15940,591 @@ 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:12215
+#: cp/decl.c:12615
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr ""
-#: cp/decl.c:12366
+#: cp/decl.c:12766
#, fuzzy
msgid "`%D' must be a nonstatic member function"
msgstr "`this' ¤ÏÀÅŪ¥á¥ó¥Ð´Ø¿ô¤«¤é»ÈÍѤǤ­¤Þ¤»¤ó"
-#: cp/decl.c:12372
+#: cp/decl.c:12772
msgid "`%D' must be either a non-static member function or a non-member function"
msgstr ""
-#: cp/decl.c:12389
+#: cp/decl.c:12789
msgid "`%D' must have an argument of class or enumerated type"
msgstr ""
-#: cp/decl.c:12421
+#: cp/decl.c:12821
#, c-format
msgid "conversion to %s%s will never use a type conversion operator"
msgstr "%s%s ¤Ø¤ÎÊÑ´¹¤Ç·¿ÊÑ´¹±é»»»Ò¤¬ÍøÍѤµ¤ì¤ë¤³¤È¤Ï·è¤·¤Æ¤¢¤ê¤Þ¤»¤ó"
#. 13.4.0.3
-#: cp/decl.c:12428
+#: cp/decl.c:12828
#, fuzzy
msgid "ISO C++ prohibits overloading operator ?:"
msgstr "ISO C++ ¤Ï̵̾¹½Â¤ÂΤò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:12478
+#: cp/decl.c:12878
msgid "postfix `%D' must take `int' as its argument"
msgstr ""
-#: cp/decl.c:12482
+#: cp/decl.c:12882
msgid "postfix `%D' must take `int' as its second argument"
msgstr ""
-#: cp/decl.c:12489
+#: cp/decl.c:12889
#, fuzzy
msgid "`%D' must take either zero or one argument"
msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
-#: cp/decl.c:12491
+#: cp/decl.c:12891
#, fuzzy
msgid "`%D' must take either one or two arguments"
msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
-#: cp/decl.c:12512
+#: cp/decl.c:12912
msgid "prefix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12518
+#: cp/decl.c:12918
msgid "postfix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12527
+#: cp/decl.c:12927
msgid "`%D' must take `void'"
msgstr ""
-#: cp/decl.c:12529 cp/decl.c:12537
+#: cp/decl.c:12929 cp/decl.c:12937
#, fuzzy
msgid "`%D' must take exactly one argument"
msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
-#: cp/decl.c:12539
+#: cp/decl.c:12939
#, fuzzy
msgid "`%D' must take exactly two arguments"
msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
-#: cp/decl.c:12547
+#: cp/decl.c:12947
msgid "user-defined `%D' always evaluates both arguments"
msgstr ""
-#: cp/decl.c:12559
+#: cp/decl.c:12961
msgid "`%D' should return by value"
msgstr ""
-#: cp/decl.c:12571 cp/decl.c:12574
+#: cp/decl.c:12973 cp/decl.c:12976
msgid "`%D' cannot have default arguments"
msgstr ""
-#: cp/decl.c:12667
+#: cp/decl.c:13052
#, fuzzy
msgid "`%s %T' declares a new type at namespace scope"
msgstr "`%s %s' ¤Ï²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:12670
+#: 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:12706
+#: cp/decl.c:13093
msgid "using typedef-name `%D' after `%s'"
msgstr ""
-#: cp/decl.c:12709
+#: cp/decl.c:13098
#, fuzzy
msgid "using template type parameter `%T' after `%s'"
msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:12791
+#: cp/decl.c:13178
#, fuzzy
msgid "use of enum `%#D' without previous declaration"
msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
-#: cp/decl.c:12901
+#: cp/decl.c:13264
msgid "derived union `%T' invalid"
msgstr ""
-#: cp/decl.c:12945
+#: cp/decl.c:13310
#, fuzzy
msgid "base type `%T' fails to be a struct or class type"
msgstr "`%s' ¤ò typedef ¤Þ¤¿¤ÏÁȤ߹þ¤ß·¿¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl.c:12957
+#: cp/decl.c:13320
#, fuzzy
msgid "base class `%T' has incomplete type"
msgstr "Îΰè `%s' ¤ÏÉÔ´°Á´¤Ê·¿¤Ç¤¹"
-#: cp/decl.c:12965
+#: cp/decl.c:13328
msgid "recursive type `%T' undefined"
msgstr ""
-#: cp/decl.c:12967
+#: cp/decl.c:13330
#, fuzzy
msgid "duplicate base type `%T' invalid"
msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
-#: cp/decl.c:13078
+#: cp/decl.c:13441
#, fuzzy
msgid "multiple definition of `%#T'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:13079
+#: cp/decl.c:13442
#, fuzzy
msgid "previous definition here"
msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl.c:13254
+#: cp/decl.c:13610
#, fuzzy
msgid "enumerator value for `%D' not integer constant"
msgstr "`%s' ¤ÎÎóµóÃͤ¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl.c:13274
+#: cp/decl.c:13630
#, fuzzy
msgid "overflow in enumeration values at `%D'"
msgstr "ÎóµóÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼"
-#: cp/decl.c:13363
+#: cp/decl.c:13716
#, fuzzy
msgid "return type `%#T' is incomplete"
msgstr "Ìá¤êÃͤη¿¤¬ÉÔ´°Á´·¿¤Ç¤¹"
-#: cp/decl.c:13472
+#: cp/decl.c:13830
#, fuzzy
msgid "semicolon missing after declaration of `%#T'"
msgstr "%s Àë¸À¤Î¸å¤í¤Î¥»¥ß¥³¥í¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:13493
+#: cp/decl.c:13851
msgid "return type for `main' changed to `int'"
msgstr "`main' ¤Î return ·¿¤Ï `int' ¤ËÊѤ¨¤Þ¤·¤¿"
-#: cp/decl.c:13524
+#: cp/decl.c:13882
#, fuzzy
msgid "`%D' implicitly declared before its definition"
msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤è¤ê¤â¸å¤Ç inline Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:13546 cp/typeck.c:6663
+#: cp/decl.c:13904 cp/typeck.c:6229
msgid "`operator=' should return a reference to `*this'"
msgstr ""
-#: cp/decl.c:13827
+#: cp/decl.c:14164
#, fuzzy
msgid "parameter `%D' declared void"
msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl.c:14190
+#: cp/decl.c:14628
msgid "`%D' is already defined in class `%T'"
msgstr ""
-#: cp/decl.c:14341
-#, fuzzy
-msgid "parser lost in parsing declaration of `%D'"
-msgstr "`%s' ¤ÎÀë¸À¤Ç·¿¤¬¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤µ¤ì¤Þ¤·¤¿"
-
-#: cp/decl.c:14426
+#: cp/decl.c:14845
#, fuzzy
msgid "static member function `%#D' declared with type qualifiers"
msgstr "¥Í¥¹¥È¤·¤¿´Ø¿ô `%s' ¤Ï `extern' ¤ËÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl2.c:529
-#, c-format
-msgid "-f%s is no longer supported"
-msgstr "-f%s ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-
-#: cp/decl2.c:535
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr "-fhandle-exceptions ¤Ï -fexception ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿(¤µ¤é¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ç¤¹)"
-
-#: cp/decl2.c:561
-msgid "-fname-mangling-version is no longer supported"
-msgstr "-fname-mangling-version ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-
-#: cp/decl2.c:624
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "-Wno-strict-prototypes ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
-
-#: cp/decl2.c:761
+#: cp/decl2.c:154
#, fuzzy, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr "°ì¤Ä¤ÎÀë¸À¤ËÊ£¿ô¤Î·¿¤¬¤¢¤ê¤Þ¤¹"
-#: cp/decl2.c:800
+#: cp/decl2.c:193
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:806
+#: cp/decl2.c:199
msgid "template `%#D' defined in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:963
+#: 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:1030
+#: cp/decl2.c:429
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr "¹½Ê¸²òÀϴ郎Ì»Ҥˤʤ俤褦¤Ç¤¹: ¤É¤³¤«¤Ç '{' ¤ò˺¤ì¤Æ¤¤¤ë¤Î¤Ç¤Ï¡©"
-#: cp/decl2.c:1061 cp/decl2.c:1075
+#: cp/decl2.c:460 cp/decl2.c:474
msgid "ambiguous conversion for array subscript"
msgstr "ÇÛÎó¤Îź»ú¤ËÂФ¹¤ëÛ£Ëæ¤ÊÊÑ´¹"
-#: cp/decl2.c:1069
+#: cp/decl2.c:468
#, fuzzy
msgid "invalid types `%T[%T]' for array subscript"
msgstr "ÇÛÎó¤Îź»ú¤ËÂФ¹¤ëÛ£Ëæ¤ÊÊÑ´¹"
-#: cp/decl2.c:1117
+#: cp/decl2.c:516
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr ""
-#: cp/decl2.c:1125
+#: cp/decl2.c:524
msgid "anachronistic use of array size in vector delete"
msgstr "¥Ù¥¯¥È¥ë¤Î delete ¤ÇÇÛÎó¥µ¥¤¥º¤ò»È¤¦¤Î¤ÏÁ°»þÂåŪ¤Ç¤¹"
-#: cp/decl2.c:1135
+#: cp/decl2.c:534
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
msgstr "´Ø¿ô¤Ï delete ¤Ç¤­¤Þ¤»¤ó¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤À¤±¤¬ `delete' °ú¿ô¤È¤·¤ÆÍ­¸ú¤Ç¤¹"
-#: cp/decl2.c:1142
+#: cp/decl2.c:541
#, fuzzy
msgid "deleting `%T' is undefined"
msgstr "`%s' ¤Ç¤Î±é»»¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹"
-#: cp/decl2.c:1150
+#: 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:1197
+#: cp/decl2.c:583
msgid "invalid declaration of member template `%#D' in local class"
msgstr ""
-#: cp/decl2.c:1206
+#: cp/decl2.c:592
#, fuzzy
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr "ÉÔ´°Á´¤Ê typedef `%s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
-#: cp/decl2.c:1216 cp/pt.c:2558
+#: cp/decl2.c:602 cp/pt.c:2586
#, fuzzy
msgid "template declaration of `%#D'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl2.c:1266
+#: cp/decl2.c:652
msgid "Java method '%D' has non-Java return type `%T'"
msgstr ""
-#: cp/decl2.c:1275
+#: cp/decl2.c:661
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr ""
-#: cp/decl2.c:1371
+#: cp/decl2.c:737
msgid "prototype for `%#D' does not match any in class `%T'"
msgstr ""
-#: cp/decl2.c:1373
-msgid "candidate%s: %+#D"
+#: cp/decl2.c:819
+msgid "local class `%#T' shall not have static data member `%#D'"
msgstr ""
-#: cp/decl2.c:1376
-#, fuzzy
-msgid " %#D"
-msgstr " ¹ç·× :"
-
-#: cp/decl2.c:1432
+#: cp/decl2.c:827
msgid "initializer invalid for static member with constructor"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ÎÀÅŪ¥á¥ó¥Ð½é´ü²½»Ò¤Ï̵¸ú¤Ç¤¹"
-#: cp/decl2.c:1435
+#: cp/decl2.c:830
msgid "(an out of class initialization is required)"
msgstr "(¥¯¥é¥¹³°¤Ç¤Î½é´ü²½¤òɬÍפȤ·¤Þ¤¹)"
-#: cp/decl2.c:1494
+#: cp/decl2.c:889
#, fuzzy
msgid "invalid data member initialization"
msgstr "̵¸ú¤Ê `#pragma implementation'"
-#: cp/decl2.c:1497
+#: cp/decl2.c:892
msgid "(use `=' to initialize static data members)"
msgstr ""
-#: cp/decl2.c:1537
+#: cp/decl2.c:938
msgid "member `%D' conflicts with virtual function table field name"
msgstr ""
-#: cp/decl2.c:1557
+#: cp/decl2.c:958
msgid "`%D' is already defined in `%T'"
msgstr ""
-#: cp/decl2.c:1608
+#: cp/decl2.c:1010
msgid "field initializer is not constant"
msgstr "¥Õ¥£¡¼¥ë¥É½é´üÀßÄê»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:1631
+#: cp/decl2.c:1034
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr ""
-#: cp/decl2.c:1683
+#: cp/decl2.c:1086
#, fuzzy
msgid "cannot declare `%D' to be a bit-field type"
msgstr "`::main' ¤ò template ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl2.c:1693
+#: cp/decl2.c:1096
#, fuzzy
msgid "cannot declare bit-field `%D' with function type"
msgstr "´Ø¿ô·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
-#: cp/decl2.c:1700
+#: cp/decl2.c:1103
msgid "`%D' is already defined in the class %T"
msgstr ""
-#: cp/decl2.c:1709
+#: cp/decl2.c:1110
#, fuzzy
msgid "static member `%D' cannot be a bit-field"
msgstr "static `%s' ¤ò mutable ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/decl2.c:1778
+#: cp/decl2.c:1197
#, fuzzy
msgid "initializer specified for non-member function `%D'"
msgstr "½é´ü²½»Ò¥ê¥¹¥È¤ÏÈó¥á¥ó¥Ð´Ø¿ô¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
-#: cp/decl2.c:1782
+#: cp/decl2.c:1201
#, fuzzy
msgid "invalid initializer for virtual method `%D'"
msgstr "̵¸ú¤Ê¥Ó¥Ã¥ÈÎó½é´ü²½»Ò¤Ç¤¹"
-#: cp/decl2.c:1886
+#: cp/decl2.c:1315
msgid "anonymous struct not inside named type"
msgstr "̵̾¹½Â¤ÂΤ¬Ì¾Á°¤Ä¤­·¿¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:1982
+#: cp/decl2.c:1411
msgid "namespace-scope anonymous aggregates must be static"
msgstr "anonumous ̾Á°¶õ´Ö¤Î½¸¹çÂÎ¤Ï static ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:1992
+#: cp/decl2.c:1424
msgid "anonymous aggregate with no members"
msgstr "̵̾¶¦ÍÑÂΤ˥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:2059
+#: cp/decl2.c:1493
#, fuzzy
msgid "`operator new' must return type `%T'"
msgstr "`operator delete' ¤ÎÌá¤ê·¿¤Ï `void' ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:2067
+#: cp/decl2.c:1501
#, fuzzy
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr "`operator new' ¤ÏÂè°ì°ú¿ô¤È¤·¤Æ `size_t' ¤ò¤È¤ê¤Þ¤¹"
-#: cp/decl2.c:2094
+#: cp/decl2.c:1528
#, fuzzy
msgid "`operator delete' must return type `%T'"
msgstr "`operator delete' ¤ÎÌá¤ê·¿¤Ï `void' ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:2102
+#: cp/decl2.c:1536
#, fuzzy
msgid "`operator delete' takes type `%T' as first parameter"
msgstr "`operator delete' ¤ÏÂè°ì°ú¿ô¤È¤·¤Æ `void *' ·¿¤ò¤È¤ê¤Þ¤¹"
#. Overflow occurred. That means there are at least 4 billion
#. initialization functions.
-#: cp/decl2.c:2839
+#: cp/decl2.c:2290
msgid "too many initialization functions required"
msgstr "ɬÍפȤµ¤ì¤ë½é´ü²½´Ø¿ô¤Î¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: cp/decl2.c:3643
+#: cp/decl2.c:2966
+#, fuzzy
+msgid "inline function `%D' used but never defined"
+msgstr "`%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬Ì¤ÄêµÁ¤Ç¤¹"
+
+#: cp/decl2.c:3086
msgid "use of old-style cast"
msgstr "¸Å¤¤¥¹¥¿¥¤¥ë¤Î¥­¥ã¥¹¥È¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
-#: cp/decl2.c:4201
+#: cp/decl2.c:3794
#, fuzzy
msgid "use of `%D' is ambiguous"
msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
-#: cp/decl2.c:4202
+#: cp/decl2.c:3795
msgid " first declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4205
+#: cp/decl2.c:3798
msgid " also declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4220
+#: cp/decl2.c:3813
msgid "`%D' denotes an ambiguous type"
msgstr ""
-#: cp/decl2.c:4221
+#: cp/decl2.c:3814
#, fuzzy
msgid " first type here"
msgstr " ¤³¤³¤«¤é"
-#: cp/decl2.c:4222
+#: cp/decl2.c:3815
msgid " other type here"
msgstr ""
-#: cp/decl2.c:4319
+#: cp/decl2.c:3912
#, fuzzy
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr "`%s' ¤ÎÀë¸À¤Ë¤è¤ê `this' ¤Î¥á¥ó¥Ð¤¬Ê¤¤¤±£¤µ¤ì¤Þ¤¹"
-#: cp/decl2.c:4353
+#: cp/decl2.c:3946
msgid "`%D' should have been declared inside `%D'"
msgstr ""
-#: cp/decl2.c:4487
+#: cp/decl2.c:4079
#, fuzzy
msgid "`%D' is not a function,"
msgstr "`%s' ¤ÏÄ̾ï¤Ï´Ø¿ô¤Ç¤¹"
-#: cp/decl2.c:4488
+#: cp/decl2.c:4080
#, fuzzy
msgid " conflict with `%D'"
msgstr "`%s' ¤Ï `-g%s' ¤È¶¥¹ç¤¹¤ë¤¿¤á̵»ë¤µ¤ì¤Þ¤·¤¿"
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4802
+#: cp/decl2.c:4396
#, fuzzy
msgid "unknown namespace `%D'"
msgstr "ÉÔÌÀ¤Ê #pragma namespace %s ¤Ç¤¹"
-#: cp/decl2.c:4836 cp/decl2.c:5097
+#: cp/decl2.c:4430 cp/decl2.c:4707
msgid "`%T' is not a namespace"
msgstr ""
-#: cp/decl2.c:4838
+#: cp/decl2.c:4432
msgid "`%D' is not a namespace"
msgstr ""
-#: cp/decl2.c:4847
+#: cp/decl2.c:4441
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr ""
-#: cp/decl2.c:4861
+#: cp/decl2.c:4455
#, fuzzy
msgid "namespace `%D' not allowed in using-declaration"
msgstr "`%s' ¤ÏÀë¸À¤Î»Ï¤Þ¤ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/decl2.c:4890
+#: cp/decl2.c:4484
#, fuzzy
msgid "`%D' not declared"
msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/decl2.c:4932
+#: cp/decl2.c:4535
msgid "`%D' is already declared in this scope"
msgstr ""
-#: cp/decl2.c:4959
+#: cp/decl2.c:4562
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr ""
-#: cp/decl2.c:5050
+#: cp/decl2.c:4653
msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cp/decl2.c:5056
+#: cp/decl2.c:4659
#, fuzzy
msgid "using-declaration for destructor"
msgstr "¥á¥½¥Ã¥É `%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: cp/decl2.c:5062
+#: cp/decl2.c:4665
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr ""
-#: cp/decl2.c:5091
+#: cp/decl2.c:4701
#, fuzzy
msgid "namespace `%T' undeclared"
msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/decl2.c:5120
+#: cp/decl2.c:4730
#, fuzzy
msgid "default argument missing for parameter %P of `%+#D'"
msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/decl2.c:5201
+#: cp/decl2.c:4829
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr ""
-#: cp/decl2.c:5205
+#: cp/decl2.c:4833
+msgid "`%T' does not have a class or union named `%D'"
+msgstr ""
+
+#: cp/decl2.c:4848
#, fuzzy
-msgid "`%T' does not have a nested type named `%D'"
-msgstr "`%s' ¤Ï `%s' ¤Ë±þÅú¤·¤Þ¤»¤ó"
+msgid "`%T' is not a class or union type"
+msgstr "ISO C ¤Ï¶¦ÍÑÂη¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/decl2.c:5207
-msgid "no file-scope type named `%D'"
-msgstr ""
+#: cp/decl2.c:4862
+#, fuzzy
+msgid "template argument is required for `%T'"
+msgstr "¥ì¥¸¥¹¥¿Ì¾¤¬ `%s' ÍѤ˻ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
#: cp/error.c:35
#, c-format
msgid "`%s' not supported by %s"
msgstr "`%s' ¤Ï %s ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: cp/error.c:572
+#: cp/error.c:571
#, c-format
msgid "<anonymous %s>"
msgstr "<̵̾ %s>"
-#: cp/error.c:833
+#: cp/error.c:808
#, c-format
msgid "(static %s for %s)"
msgstr "(ÀÅŪ%s: %s ÍÑ)"
-#: cp/error.c:2457
+#: cp/error.c:1482
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2430
#, c-format
msgid "In %s `%s':"
msgstr "%s Æâ¤Î `%s':"
-#: cp/error.c:2512
+#: cp/error.c:2487
#, c-format
msgid "%s: In instantiation of `%s':\n"
msgstr "%s: `%s' ¤Î½é´ü²½:\n"
-#: cp/error.c:2536
+#: cp/error.c:2511
#, c-format
msgid "%s:%d: instantiated from `%s'\n"
msgstr "%s:%d: `%s' ¤«¤é¼ÂÂ⽤µ¤ì¤Þ¤·¤¿\n"
-#: cp/error.c:2541
+#: cp/error.c:2516
#, c-format
msgid "%s:%d: instantiated from here\n"
msgstr "%s:%d: ¤³¤³¤Ç¼ÂÂ⽤µ¤ì¤Þ¤·¤¿\n"
#. damn ICE suppression
-#: cp/error.c:2694
+#: 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 "Java `catch' ¤ä `throw' ¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢`jthrowable' ¤Ï̤ÄêµÁ¤Ç¤¹"
#. 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 "C++ ¤È Java ¤Î `catch' ¤ò°ì¤Ä¤ÎËÝÌõ¥æ¥Ë¥Ã¥È¤Ë¤Þ¤È¤á¤Þ¤¹"
-#: cp/except.c:558
+#: cp/except.c:639
msgid "throwing NULL, which has integral, not pointer type"
msgstr ""
-#: cp/except.c:663
+#: cp/except.c:730
msgid " in thrown expression"
msgstr " throw ¤µ¤ì¤¿¼°¤ÎÃæ"
-#: cp/except.c:775
+#: cp/except.c:856
msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr ""
-#: cp/except.c:863
+#: cp/except.c:944
msgid "exception of type `%T' will be caught"
msgstr ""
-#: cp/except.c:866
+#: cp/except.c:947
msgid " by earlier handler for `%T'"
msgstr ""
-#: cp/except.c:887
+#: cp/except.c:968
msgid "`...' handler must be the last handler for its try block"
msgstr ""
@@ -18286,149 +16538,134 @@ msgstr "'%s' ¥¯¥é¥¹¤ò¸«¤Ä¤±¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
msgid "previous friend declaration of `%D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/friend.c:197
+#: cp/friend.c:202
#, fuzzy
msgid "invalid type `%T' declared `friend'"
msgstr "ÊÑ¿ô `%s' ¤¬ `inline' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
#. [temp.friend]
-#.
#. Friend declarations shall not declare partial
#. specializations.
-#: cp/friend.c:209
+#: cp/friend.c:218
#, fuzzy
msgid "partial specialization `%T' declared `friend'"
msgstr "ÊÑ¿ô `%s' ¤¬ `inline' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: 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
#, fuzzy
msgid "typename type `%#T' declared `friend'"
msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
#. template <class T> friend class T;
-#: cp/friend.c:245
+#: cp/friend.c:251
#, fuzzy
msgid "template parameter type `%T' declared `friend'"
msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
#. template <class T> friend class A; where A is not a template
-#: cp/friend.c:251
+#: cp/friend.c:257
#, fuzzy
msgid "`%#T' is not a template"
msgstr "¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Ç `%s' ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
-#: cp/friend.c:268
+#: cp/friend.c:272
msgid "`%T' is already a friend of `%T'"
msgstr ""
-#: cp/friend.c:364
+#: cp/friend.c:370
msgid "member `%D' declared as friend before type `%T' defined"
msgstr ""
-#: cp/friend.c:419
+#: cp/friend.c:425
#, fuzzy
msgid "friend declaration `%#D' declares a non-template function"
msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/friend.c:422
+#: cp/friend.c:428
#, fuzzy
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 "¡Ê¤â¤·¤³¤ì¤¬¤¢¤Ê¤¿¤Î°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢´Ø¿ô¥Æ¥ó¥×¥ì¡¼¥È¤Ï´û¤ËÀë¸ÀºÑ¤Ç¤¢¤ë»ö¤ò³Îǧ¤·¡¢¤³¤³¤Î´Ø¿ô̾¤Î¸å¤í¤Ë <> ¤òÉÕ¤±Â­¤·¤Æ¤¯¤À¤µ¤¤¡Ë -Wno-non-template-friend ¤Ç¤³¤Î·Ù¹ðɽ¼¨¤ò̵¸ú¤Ë¤·¤Þ¤¹"
-#: cp/g++spec.c:198 java/jvspec.c:381
+#: cp/g++spec.c:209 java/jvspec.c:423
#, c-format
msgid "argument to `%s' missing\n"
msgstr "`%s' ¤Ø¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹\n"
-#: cp/init.c:285
+#: 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:290
+#: cp/init.c:374
#, fuzzy
msgid "uninitialized reference member `%D'"
msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
-#: cp/init.c:298
+#: cp/init.c:382
msgid "initializer list treated as compound expression"
msgstr "½é´ü²½»Ò¥ê¥¹¥È¤ÏÊ£¹ç¼°¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤Þ¤·¤¿"
-#: cp/init.c:410
+#: cp/init.c:523
+msgid "`%D' will be initialized after"
+msgstr ""
+
+#: cp/init.c:526
#, fuzzy
-msgid "member initializers for `%#D'"
-msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
+msgid "base `%T' will be initialized after"
+msgstr "²¾°ú¿ô `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: cp/init.c:412
-msgid " and `%#D'"
+#: cp/init.c:529
+msgid " `%#D'"
msgstr ""
-#: cp/init.c:413
-msgid " will be re-ordered to match declaration order"
-msgstr " Àë¸À½ç¤È°ìÃפ¹¤ë¤è¤¦¤ËʤÓÂؤ¨¤é¤ì¤Þ¤¹"
+#: cp/init.c:531
+msgid " base `%T'"
+msgstr ""
-#: cp/init.c:428
+#: cp/init.c:549
#, fuzzy
-msgid "multiple initializations given for member `%D'"
-msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
+msgid "multiple initializations given for base `%T'"
+msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-#: cp/init.c:500
+#: cp/init.c:616
#, fuzzy
msgid "initializations for multiple members of `%T'"
msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
-#: cp/init.c:617
-#, fuzzy
-msgid "base initializers for `%#T'"
-msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-
-#: cp/init.c:618
-msgid " and `%#T'"
-msgstr ""
-
-#: cp/init.c:619
-msgid " will be re-ordered to match inheritance order"
-msgstr " ÇÉÀ¸½ç¤È°ìÃפ¹¤ë¤è¤¦¤ËʤÙÂؤ¨¤é¤ì¤Þ¤¹"
-
-#: cp/init.c:631
-#, fuzzy
-msgid "base class `%T' already initialized"
-msgstr "½é´ü²½¤¹¤Ù¤­´ðÄ쥯¥é¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: cp/init.c:702
+#: cp/init.c:671
msgid "base class `%#T' should be explicitly initialized in the copy constructor"
msgstr ""
-#: cp/init.c:745
-msgid "`%D' should be initialized in the member initialization list"
-msgstr ""
-
-#: cp/init.c:987
+#: cp/init.c:916
msgid "class `%T' does not have any field named `%D'"
msgstr ""
-#: cp/init.c:993
+#: cp/init.c:922
msgid "field `%#D' is static; the only point of initialization is its definition"
msgstr ""
-#: cp/init.c:1032
+#: cp/init.c:956
#, fuzzy
msgid "unnamed initializer for `%T', which has no base classes"
msgstr "´ðÄ쥯¥é¥¹¤ò»ý¤Ä¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÍѤνé´ü²½»Ò¥ê¥¹¥È¤Ç¤¹"
-#: cp/init.c:1039
+#: cp/init.c:963
msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr ""
-#: cp/init.c:1068
+#: cp/init.c:1000
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr ""
-#: cp/init.c:1071
+#: cp/init.c:1003
msgid "type `%D' is not a direct base of `%T'"
msgstr ""
@@ -18444,30 +16681,30 @@ msgstr ""
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1165
+#: cp/init.c:1097
msgid "bad array initializer"
msgstr "ÇÛÎó¤ÎÉÔÀµ¤Ê½é´ü²½"
-#: cp/init.c:1357
+#: cp/init.c:1304
#, fuzzy
msgid "`%T' is not an aggregate type"
msgstr "È󽸹çÂη¿¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
-#: cp/init.c:1380
+#: cp/init.c:1327
#, fuzzy
msgid "`%T' fails to be an aggregate typedef"
msgstr "È󽸹çÂη¿¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
-#: cp/init.c:1389
+#: cp/init.c:1336
#, fuzzy
msgid "type `%T' is of non-aggregate type"
msgstr "È󽸹çÂη¿¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
-#: cp/init.c:1491
+#: cp/init.c:1439
msgid "cannot call destructor `%T::~%T' without object"
msgstr ""
-#: cp/init.c:1533
+#: cp/init.c:1483
#, fuzzy
msgid "invalid use of non-static field `%D'"
msgstr "ÉÔ´°Á´¤Ê typedef `%s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
@@ -18475,725 +16712,528 @@ msgstr "ÉÔ´°Á´¤Ê typedef `%s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
#. We can get here when processing a bad default
#. argument, like:
#. struct S { int a; void f(int i = a); }
-#: cp/init.c:1542 cp/method.c:194
+#: cp/init.c:1492 cp/method.c:160
#, fuzzy
msgid "invalid use of member `%D'"
msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
-#: cp/init.c:1552
+#: cp/init.c:1502
#, fuzzy
msgid "no method `%T::%D'"
msgstr "¥á¥½¥Ã¥É `%s' Æâ:"
-#: cp/init.c:1645
+#: cp/init.c:1595
msgid "incomplete type `%T' does not have member `%D'"
msgstr ""
-#: cp/init.c:1714
+#: cp/init.c:1669
#, fuzzy
msgid "`%D' is not a member of type `%T'"
msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/init.c:1733
+#: cp/init.c:1688
#, fuzzy
-msgid "illegal pointer to bit-field `%D'"
-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬Éé¤Î¿ô¤Ç¤¹"
+msgid "invalid pointer to bit-field `%D'"
+msgstr "̵¸ú¤Ê¼±ÊÌ»Ò `%s'"
-#: cp/init.c:1772
+#: cp/init.c:1727
msgid "object missing in use of pointer-to-member construct"
msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¹½ÃۤλÈÍѤǥª¥Ö¥¸¥§¥¯¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/init.c:1812
+#: cp/init.c:1767
msgid "member `%D' is non-static but referenced as a static member"
msgstr ""
-#: cp/init.c:1814 cp/typeck.c:3154 cp/typeck.c:3262
+#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932
msgid "at this point in file"
msgstr "¥Õ¥¡¥¤¥ë¤Î¤³¤Î°ÌÃÖ"
-#: cp/init.c:1862 cp/typeck.c:2949
+#: cp/init.c:1806
#, fuzzy, c-format
msgid "object missing in `%E'"
msgstr "`%s' ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/init.c:1994
+#: cp/init.c:1937
msgid "new of array type fails to specify size"
msgstr "ÇÛÎ󷿤Πnew ¤Ï¥µ¥¤¥º¤Î»ØÄê¤Ë¼ºÇÔ¤·¤Þ¤¹"
-#: cp/init.c:2005
+#: cp/init.c:1948
msgid "size in array new must have integral type"
msgstr "ÇÛÎó new ¤Ç¤Î¥µ¥¤¥º¤Ï´°Á´¤Ê·¿¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/init.c:2011
+#: cp/init.c:1954
msgid "zero size array reserves no space"
msgstr "¥µ¥¤¥º¥¼¥í¤ÎÇÛÎó¤Ï¶õ´Ö¤ò³ÎÊݤ·¤Þ¤»¤ó"
-#: cp/init.c:2076
+#: cp/init.c:2019
msgid "new cannot be applied to a reference type"
msgstr "»²¾È·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
-#: cp/init.c:2082
+#: cp/init.c:2025
msgid "new cannot be applied to a function type"
msgstr "´Ø¿ô·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
-#: cp/init.c:2129
+#: cp/init.c:2072
msgid "call to Java constructor, while `jclass' undefined"
msgstr "Java ¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢`jclass' ¤Ï̤ÄêµÁ¤Ç¤¹"
-#: cp/init.c:2145
+#: cp/init.c:2088
#, fuzzy
msgid "can't find class$"
msgstr "class$ ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: cp/init.c:2258
+#: cp/init.c:2202
msgid "invalid type `void' for new"
msgstr "new ¤ËÂФ·¤Æ̵¸ú¤Ê·¿¤Ç¤¢¤ë `void'"
-#: cp/init.c:2310
+#: cp/init.c:2254
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr "Java ¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢`%s' ¤Ï̤ÄêµÁ¤Ç¤¹"
-#: cp/init.c:2419
+#: cp/init.c:2362
#, fuzzy
msgid "ISO C++ forbids initialization in array new"
msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/init.c:2437 cp/typeck2.c:383 cp/typeck2.c:1227
+#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223
msgid "initializer list being treated as compound expression"
msgstr "½é´ü²½»Ò¥ê¥¹¥È¤¬Ê£¹ç¼°¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/init.c:2443
+#: cp/init.c:2386
msgid "ISO C++ forbids aggregate initializer to new"
msgstr "ISO C++ ¤Ï new ¤Ø¤Î½¸¹çÂνé´ü²½»Ò¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/init.c:2518
+#: cp/init.c:2474
#, fuzzy
msgid "uninitialized const in `new' of `%#T'"
msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-#: cp/init.c:2882
+#: cp/init.c:2840
msgid "initializer ends prematurely"
msgstr "½é´üÀßÄê»Ò¤ÎËöÈø¤¬ËÜÍè¤è¤êÁ᤯½Ð¸½¤·¤Þ¤·¤¿"
-#: cp/init.c:2952
+#: cp/init.c:2910
msgid "cannot initialize multi-dimensional array with initializer"
msgstr "¿¼¡¸µÇÛÎó¤Ï½é´ü²½»Ò¤Ç½é´ü²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: cp/init.c:3127
+#: cp/init.c:3100
msgid "unknown array size in delete"
msgstr "delete ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤¬ÉÔÌÀ¤Ç¤¹"
-#: cp/init.c:3392
+#: cp/init.c:3365
msgid "type to vector delete is neither pointer or array type"
msgstr "¥Ù¥¯¥È¥ë·¿¤Î delete ¤Ç¤¹¤¬¡¢¥Ý¥¤¥ó¥¿¤Ç¤âÇÛÎ󷿤Ǥ⤢¤ê¤Þ¤»¤ó"
-#: cp/lang-options.h:29
-msgid "Do not obey access control semantics"
-msgstr "¥¢¥¯¥»¥¹À©¸æ¤Î°ÕÌ£¤Ë½¾¤ï¤Ê¤¤"
-
-#: cp/lang-options.h:31
-msgid "Change when template instances are emitted"
-msgstr "¥Æ¥ó¥×¥ì¡¼¥È¥¤¥ó¥¹¥¿¥ó¥¹¤¬Á÷½Ð¤µ¤ì¤¿»þ¤ËÊѹ¹¤¹¤ë"
-
-#: cp/lang-options.h:36
-msgid "Check the return value of new"
-msgstr "new ¤ÎÌá¤êÃͤò¸¡ºº¤¹¤ë"
-
-#: cp/lang-options.h:39
-msgid "Reduce size of object files"
-msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë"
-
-#: cp/lang-options.h:43
-msgid "Make string literals `char[]' instead of `const char[]'"
-msgstr "ʸ»úÎó¥ê¥Æ¥é¥ë¤ò `const char[]' ¤ÎÂå¤ï¤ê¤Ë `char[]' ¤È¤¹¤ë"
-
-#: cp/lang-options.h:46
-msgid "Dump the entire translation unit to a file"
-msgstr "ËÝÌõñ°ÌÁ´ÂΤò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
-
-#: cp/lang-options.h:48
-msgid "Do not inline member functions by default"
-msgstr "¥á¥ó¥Ð´Ø¿ô¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥é¥¤¥ó¤È¤·¤Ê¤¤"
-
-#: cp/lang-options.h:51
-msgid "Do not generate run time type descriptor information"
-msgstr "¼Â¹Ô»þ·¿µ­½Ò¾ðÊó¤òÀ¸À®¤·¤Ê¤¤"
-
-#: cp/lang-options.h:56
-msgid "Do not generate code to check exception specifications"
-msgstr "Îã³°»ÅÍͤθ¡ºº¤ò¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
-
-#: cp/lang-options.h:61
-msgid "Scope of for-init-statement vars extends outside"
-msgstr "for ½é´ü²½Ê¸¤ÎÊÑ¿ô¤ò¥¹¥³¡¼¥×³°¤Ë³ÈÂ礹¤ë"
-
-#: cp/lang-options.h:64
-#, fuzzy
-msgid "Do not recognize GNU defined keywords"
-msgstr "GNU ÄêµÁ¤ÎͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
-
-#: cp/lang-options.h:68
-msgid "Enable support for huge objects"
-msgstr "Â礭¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥Ý¡¼¥È"
-
-#: cp/lang-options.h:72
-msgid "Export functions even if they can be inlined"
-msgstr "¥¤¥ó¥é¥¤¥ó¤Ë¤Ç¤­¤ë´Ø¿ô¤Ç¤â export ¤¹¤ë"
-
-#: cp/lang-options.h:75
-msgid "Only emit explicit template instatiations"
-msgstr "ÌÀ¼¨Åª¤Ê¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-
-#: cp/lang-options.h:78
-msgid "Only emit explicit instatiations of inline templates"
-msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-
-#: cp/lang-options.h:84
-msgid "Don't pedwarn about uses of Microsoft extensions"
-msgstr "Microsoft ³ÈÄ¥¤ÎÍøÍѤ˴ؤ·¤Æ pedantic ·Ù¹ð¤ò¹Ô¤ï¤Ê¤¤"
-
-#: cp/lang-options.h:87
-#, fuzzy
-msgid "Recognize and/bitand/bitor/compl/not/or/xor"
-msgstr "and/bitand/bitor/compl/not/or/xor ¤òǧ¼±¤¹¤ë"
-
-#: cp/lang-options.h:91
-msgid "Disable optional diagnostics"
-msgstr "¥ª¥×¥·¥ç¥ó¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤"
-
-#: cp/lang-options.h:93
-msgid "Downgrade conformance errors to warnings"
-msgstr "µ¬³ÊŬ¹çÀ­¥¨¥é¡¼¤ò·Ù¹ð¤Ë³Ê²¼¤²¤¹¤ë"
-
-#: cp/lang-options.h:96
-msgid "Enable automatic template instantiation"
-msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
-
-#: cp/lang-options.h:101
-msgid "Display statistics accumulated during compilation"
-msgstr "¥³¥ó¥Ñ¥¤¥ëÃæ¤ËÃßÀѤµ¤ì¤¿Åý·×¾ðÊó¤òɽ¼¨¤¹¤ë"
-
-#: cp/lang-options.h:104
-msgid "Specify maximum template instantiation depth"
-msgstr "¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂβ½¤Î¿¼¤µ¤ÎºÇÂçÃͤò»ØÄꤹ¤ë"
-
-#: cp/lang-options.h:106
-#, fuzzy
-msgid "Use __cxa_atexit to register destructors"
-msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤ÎÅÐÏ¿¤Ë __cxa_atexit ¤òÍøÍѤ¹¤ë"
-
-#: cp/lang-options.h:109
-msgid "Discard unused virtual functions"
-msgstr "»È¤ï¤ì¤Ê¤¤²¾ÁÛ´Ø¿ô¤òÀÚ¤ê¼Î¤Æ¤ë"
-
-#: cp/lang-options.h:112
-msgid "Implement vtables using thunks"
-msgstr "thunk ¤ò»È¤Ã¤Æ vtable ¤ò¼ÂÁõ¤¹¤ë"
-
-#: cp/lang-options.h:115
-msgid "Emit common-like symbols as weak symbols"
-msgstr "¥³¥â¥ó¥·¥ó¥Ü¥ë¤ò¥¦¥£¡¼¥¯¥·¥ó¥Ü¥ë¤ÎÍͤËÀ¸À®¤¹¤ë"
-
-#: cp/lang-options.h:118
-msgid "Emit cross referencing information"
-msgstr "Áê¸ß»²¾È¾ðÊó¤òÀ¸À®¤¹¤ë"
-
-#: cp/lang-options.h:122
-msgid "Warn about inconsistent return types"
-msgstr "Ìá¤êÃͤη¿¤È°ìÃפ·¤Ê¤¤¤â¤Î¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:125
-msgid "Warn about overloaded virtual function names"
-msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤¿²¾ÁÛ´Ø¿ô̾¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:129
-msgid "Don't warn when all ctors/dtors are private"
-msgstr "Á´¤Æ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤¬ private ¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
-
-#: cp/lang-options.h:131
-msgid "Warn about non virtual destructors"
-msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:134
-msgid "Warn when a function is declared extern, then inline"
-msgstr "´Ø¿ô¤¬ extern Àë¸À¤µ¤ì¤¿¸å¡¢inline ¤È¤µ¤ì¤¿¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:137
-msgid "Warn when the compiler reorders code"
-msgstr "¥³¥ó¥Ñ¥¤¥é¤¬¥³¡¼¥É¤òʤÙÂؤ¨¤ë¤È¤­¤Ë·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:140
-#, fuzzy
-msgid "Warn when synthesis behavior differs from Cfront"
-msgstr "¹çÀ®¤Î¿¶¤ëÉñ¤¤¤¬ Cfront ¤È°Û¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:144
-msgid "Don't warn when type converting pointers to member functions"
-msgstr "¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð´Ø¿ô¤Ø¤Î·¿ÊÑ´¹¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
-
-#: cp/lang-options.h:146
-msgid "Warn about violations of Effective C++ style rules"
-msgstr "Effective C++ ¼°¤Î»Ø¿Ë¤«¤é¤Ï¤º¤ì¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:149
-msgid "Warn when overload promotes from unsigned to signed"
-msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬Éä¹ç̵¤·¤«¤éÉä¹çÉÕ¤­¤Ë³Ê¾å¤²¤È¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:152
-msgid "Warn if a C style cast is used in a program"
-msgstr "C ¼°¤Î¥­¥ã¥¹¥È¤¬¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤¿¤é·Ù¹ð¤¹¤ë"
-
-#: cp/lang-options.h:156
-msgid "Don't warn when non-templatized friend functions are declared within a template"
-msgstr "template Æâ¤ÇÈó template ¤Î friend ´Ø¿ô¤¬Àë¸À¤µ¤ì¤¿¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
-
-#: cp/lang-options.h:159
-msgid "Don't announce deprecation of compiler features"
-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:1000
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
msgstr "%s Àë¸À¤Î¸å¤í¤Î¥»¥ß¥³¥í¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/lex.c:1003
+#: cp/lex.c:897
#, fuzzy
msgid "semicolon missing after declaration of `%T'"
msgstr "%s Àë¸À¤Î¸å¤í¤Î¥»¥ß¥³¥í¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/lex.c:1051
+#: cp/lex.c:945
#, c-format
msgid "junk at end of #pragma %s"
msgstr "#pragma %s ¤ÎËöÈø¤Ë¥´¥ß"
-#: cp/lex.c:1058
+#: cp/lex.c:952
#, c-format
msgid "invalid #pragma %s"
msgstr "̵¸ú¤Ê #pragma %s ¤Ç¤¹"
-#: cp/lex.c:1067
+#: cp/lex.c:961
#, fuzzy
msgid "#pragma vtable no longer supported"
msgstr "--driver ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: cp/lex.c:1144
+#: cp/lex.c:1038
#, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr "%s ¤Ø¤Î #pragma implementation ¤Ï¥Õ¥¡¥¤¥ë¤¬ include ¤µ¤ì¤¿¸å¤Ç½Ð¸½¤·¤Þ¤·¤¿"
-#: cp/lex.c:1169
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
msgstr "#pragma GCC java_exceptions ¤ÎËöÈø¤Ë¥´¥ß"
-#: cp/lex.c:1251
+#: cp/lex.c:1107
#, fuzzy
msgid "`%D' not defined"
msgstr "\"%s\" ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/lex.c:1256
+#: cp/lex.c:1110
#, fuzzy
msgid "`%D' was not declared in this scope"
msgstr "`%s' ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (¤³¤Î´Ø¿ôÆâ¤ÇºÇ½é¤ËÍøÍÑ)"
-#: cp/lex.c:1266
+#: cp/lex.c:1118
#, fuzzy
msgid "`%D' undeclared (first use this function)"
msgstr "`%s' ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (¤³¤Î´Ø¿ôÆâ¤ÇºÇ½é¤ËÍøÍÑ)"
-#: cp/lex.c:1270
+#: cp/lex.c:1122
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr "(̤Àë¸ÀÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤ì¤¬´Ø¿ôÆâ¤ÇºÇ½é¤Ë¸½¤ï¤ì¤¿»þ¤À¤±Êó¹ð¤µ¤ì¤Þ¤¹¡£)"
-#: cp/lex.c:1293
-#, c-format
-msgid "name lookup of `%s' changed"
-msgstr "`%s' ¤Î̾Á°°ú¤­¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿"
-
-#: cp/lex.c:1295
-msgid " matches this `%D' under ISO standard rules"
-msgstr ""
-
-#: cp/lex.c:1297
-msgid " matches this `%D' under old rules"
-msgstr ""
-
-#: cp/lex.c:1307 cp/lex.c:1314
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr "`%s' ¤Î̾Á°°ú¤­¤Ï¿·¤¿¤Ê ISO `for' ¥¹¥³¡¼¥×¤ËÊѤï¤ê¤Þ¤·¤¿"
-
-#: cp/lex.c:1309
-msgid " cannot use obsolete binding at `%D' because it has a destructor"
-msgstr ""
-
-#: cp/lex.c:1316
-msgid " using obsolete binding at `%D'"
-msgstr ""
-
-#: cp/lex.c:1381
+#: cp/lex.c:1239
#, fuzzy
msgid "`::%D' undeclared (first use here)"
msgstr "`%s' ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (¤³¤Î´Ø¿ôÆâ¤ÇºÇ½é¤ËÍøÍÑ)"
-#: cp/mangle.c:1892
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
msgstr "¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë»þ¤Î¼Â¿ôÃͥƥó¥×¥ì¡¼¥È²¾°ú¿ô"
-#: cp/method.c:166
-msgid "methods cannot be converted to function pointers"
-msgstr "¥á¥½¥Ã¥É¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-
-#: cp/method.c:171
-#, c-format
-msgid "ambiguous request for method pointer `%s'"
-msgstr "¥á¥½¥Ã¥É¥Ý¥¤¥ó¥¿ `%s' ¤Ø¤ÎÍ׵᤬ۣËæ¤Ç¤¹"
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
+msgstr ""
-#: cp/method.c:188
+#: cp/method.c:154
#, fuzzy
msgid "invalid use of member `%D' in static member function"
msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
-#: cp/method.c:236
+#: cp/method.c:216
msgid "use of namespace `%D' as expression"
msgstr ""
-#: cp/method.c:241
+#: cp/method.c:221
msgid "use of class template `%T' as expression"
msgstr ""
-#: cp/method.c:254
+#: cp/method.c:234
#, c-format
msgid "use of %s from containing function"
msgstr ""
-#: cp/method.c:257
+#: cp/method.c:237
#, fuzzy
msgid " `%#D' declared here"
msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/method.c:275
+#: cp/method.c:255
#, fuzzy
msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr "Í׵ᤵ¤ì¤¿¥á¥ó¥Ð `%s' ¤Ï¿½Å·Ñ¾µ¥°¥é¥Õ¤ÎÃæ¤ÇÛ£Ëæ¤Ç¤¹"
-#: cp/method.c:328
-msgid "implementation-reserved name `%D' used"
-msgstr ""
-
-#: cp/method.c:448
+#: cp/method.c:455
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr ""
-#: cp/method.c:678
+#: cp/method.c:694
msgid "non-static const member `%#D', can't use default assignment operator"
msgstr ""
-#: cp/method.c:683
+#: cp/method.c:699
msgid "non-static reference member `%#D', can't use default assignment operator"
msgstr ""
-#: parse.y:501
+#: parse.y:261
+msgid "`%s' tag used in naming `%#T'"
+msgstr ""
+
+#: parse.y:541
msgid "keyword `export' not implemented, and will be ignored"
msgstr ""
-#: parse.y:605
+#: parse.y:645
msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr ""
-#: parse.y:677
-msgid "invalid default template argument"
-msgstr "̵¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È°ú¿ô"
-
-#: parse.y:901
-msgid "only constructors take base initializers"
-msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤·¤«´ðÄì½é´ü²½»Ò¥ê¥¹¥È¤ò¤È¤ê¤Þ¤»¤ó"
-
-#: parse.y:903
+#: parse.y:942
msgid "no base or member initializers given following ':'"
msgstr "´ðÄì¤ä¥á¥ó¥Ð½é´ü²½»Ò¥ê¥¹¥È¤¬ ':' ¤Î¸å¤Ë³¤¤¤Æ¤¤¤Þ¤»¤ó"
-#: parse.y:945 parse.y:951
+#: parse.y:983 parse.y:989
msgid "anachronistic old style base class initializer"
msgstr "Á°»þÂåŪ¤Ê¸Å¤¤¥¹¥¿¥¤¥ë¤Î´ðÄ쥯¥é¥¹½é´ü²½»Ò¤Ç¤¹"
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1073
+#: parse.y:1115
msgid "`>>' should be `> >' in template class name"
msgstr "`>>' ¤Ï¥Æ¥ó¥×¥ì¡¼¥È¥¯¥é¥¹Ì¾¤Ï `> >' ¤È¤¹¤Ù¤­¤Ç¤¹"
-#: parse.y:1111
+#: parse.y:1153
msgid "use of template qualifier outside template"
msgstr ""
-#: parse.y:1140 parse.y:1149
+#: parse.y:1182 parse.y:1191
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr "ISO C++ ¤Ï `%s' ¤ËÂФ¹¤ë¶õ¤Î¾ò·ï¤ò¶Ø¤¸¤Þ¤¹"
-#: parse.y:1172
+#: parse.y:1214
#, fuzzy
msgid "definition of class `%T' in condition"
msgstr "%s: ´Ø¿ô `%s' ¤ÎÄêµÁ¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: parse.y:1174
+#: parse.y:1216
#, fuzzy
msgid "definition of enum `%T' in condition"
msgstr "%s: ´Ø¿ô `%s' ¤ÎÄêµÁ¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-#: parse.y:1185
+#: parse.y:1227
#, fuzzy
msgid "definition of array `%#D' in condition"
msgstr "`%c%s' ¤Î¥á¥½¥Ã¥ÉÄêµÁ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: parse.y:1294
+#: parse.y:1340
msgid "old style placement syntax, use () instead"
msgstr ""
-#: parse.y:1305
+#: parse.y:1351
#, fuzzy
msgid "`%T' is not a valid expression"
msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: parse.y:1316
-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
+#, fuzzy
+msgid "initialization of new expression with `='"
msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
-#: parse.y:1347
+#: parse.y:1384
msgid "ISO C++ forbids compound literals"
msgstr "ISO C++ ¤ÏÊ£¹ç¥ê¥Æ¥é¥ë¤ò¶Ø¤¸¤Þ¤¹"
-#: parse.y:1588
+#: parse.y:1631
msgid "ISO C++ forbids braced-groups within expressions"
msgstr "ISO C++ ¤Ï¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤ò¶Ø¤¸¤Þ¤¹"
-#: parse.y:1994 parse.y:2009
+#: parse.y:2035 parse.y:2050
msgid "sigof type specifier"
msgstr "·¿»ØÄê»Ò¤Î sigof ¤Ç¤¹"
-#: parse.y:1999
+#: parse.y:2040
msgid "`sigof' applied to non-aggregate expression"
msgstr "È󽸹çÂμ°¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
-#: parse.y:2014
+#: parse.y:2055
msgid "`sigof' applied to non-aggregate type"
msgstr "È󽸹çÂη¿¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
-#: parse.y:2278
+#: parse.y:2321
msgid "using `typename' outside of template"
msgstr ""
-#: parse.y:2322
-#, fuzzy
-msgid "%T is not a class type"
-msgstr "¥¯¥é¥¹¥¿¥¤¥×¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: parse.y:2333
-msgid "base clause without member specification for `%#T'"
-msgstr ""
-
-#: parse.y:2354
+#: parse.y:2391
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr "µ­²±¥¯¥é¥¹»ØÄê»Ò `%s' ¤Ï struct ¤ä class ¤Î¸å¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-#: parse.y:2356
+#: parse.y:2393
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr "·¿»ØÄê»Ò `%s' ¤Ï struct ¤ä class ¤Î¸å¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-#: parse.y:2358
+#: parse.y:2395
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr "·¿½¤¾þ»Ò `%s' ¤Ï struct ¤ä class ¤Î¸å¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-#: parse.y:2360
+#: parse.y:2397
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr "ËÜÂΤ¬¤Ê¤¯¡¢class, struct °¿¤¤¤Ï union Àë¸À¤ò¶èÀÚ¤ë ';' ¤â¤¢¤ê¤Þ¤»¤ó"
-#: parse.y:2452
+#: parse.y:2537
#, fuzzy
-msgid "`union' tag used in declaring `%#T'"
-msgstr "`%s' ¤ÎÀë¸À¤Ë¤ª¤¤¤ÆÊ£¿ô¤ÎÊݸ¥¯¥é¥¹"
-
-#: parse.y:2453
-msgid "non-`union' tag used in declaring `%#T'"
-msgstr ""
+msgid "no bases given following `:'"
+msgstr "´ðÄì¤ä¥á¥ó¥Ð½é´ü²½»Ò¥ê¥¹¥È¤¬ ':' ¤Î¸å¤Ë³¤¤¤Æ¤¤¤Þ¤»¤ó"
-#: parse.y:2527 parse.y:2542
+#: parse.y:2568 parse.y:2583
msgid "`%D' access"
msgstr ""
-#: parse.y:2532
+#: parse.y:2573
msgid "multiple access specifiers"
msgstr "½ÅÊ£¤¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò"
-#: parse.y:2550
+#: parse.y:2591
msgid "multiple `virtual' specifiers"
msgstr "½ÅÊ£¤¹¤ë `virtual' »ØÄê»Ò"
-#: parse.y:2587
+#: parse.y:2628
msgid "missing ';' before right brace"
msgstr "±¦Â¦¥Ö¥ì¡¼¥¹¤ÎÁ°¤Î ';' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: parse.y:2807
+#: parse.y:2849
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
msgstr "ISO C++ ¤Ï new Ãæ¤Ç¤Ï¡¢³ç¸Ì¤Î¤Ä¤¤¤¿ÇÛÎ󼡸µ¤ò¶Ø¤¸¤Þ¤¹"
-#: parse.y:3088 parse.y:3108 parse.y:3117 parse.y:3146
+#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194
msgid "`%T' is not a class or namespace"
msgstr ""
-#: parse.y:3313
+#: parse.y:3361
msgid "ISO C++ forbids label declarations"
msgstr "ISO C++ ¤Ï¥é¥Ù¥ëÀë¸À¤ò¶Ø¤¸¤Æ¤¤¤Þ¤¹"
-#: parse.y:3468
+#: parse.y:3521
msgid "ISO C++ forbids computed gotos"
msgstr "ISO C++ ¤Ï·×»»·¿ goto ¤ò¶Ø¤¸¤Þ¤¹"
-#: parse.y:3476
+#: parse.y:3529
msgid "label must be followed by statement"
msgstr "¥é¥Ù¥ë¤Î¸å¤í¤Ë¤Ïʸ¤¬É¬ÍפǤ¹"
-#: parse.y:3572
+#: parse.y:3574
+msgid "must have at least one catch per try block"
+msgstr ""
+
+#: parse.y:3634
msgid "ISO C++ forbids compound statements inside for initializations"
msgstr "ISO C++ ½é´ü²½»Ò¤ÎÆâÉô¤Ç¤Ïʣʸ¤¬¶Ø¤¸¤é¤ì¤Æ¤¤¤Þ¤¹"
#. This helps us recover from really nasty
#. parse errors, for example, a missing right
#. parenthesis.
-#: parse.y:3657 parse.y:3667
+#: parse.y:3721 parse.y:3731
msgid "possibly missing ')'"
msgstr "¤ª¤½¤é¤¯ ')' ¤ò˺¤ì¤Æ¤¤¤Þ¤¹"
-#: parse.y:3764 parse.y:3769
+#: parse.y:3824
msgid "type specifier omitted for parameter"
msgstr "·¿»ØÄê»Ò¤Ï²¾°ú¿ôÍѤ˾Êά¤µ¤ì¤Þ¤·¤¿"
-#: parse.y:3773
+#: parse.y:3833
#, c-format
-msgid " perhaps you want `typename %E' to make it a type"
+msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr ""
-#: parse.y:3781
+#: parse.y:3835
+#, fuzzy
+msgid "no type `%D' in `%T'"
+msgstr "`%s' ¤ÎÌá¤êÃͤη¿¤¬ `int' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: parse.y:3838
+#, fuzzy, c-format
+msgid "type specifier omitted for parameter `%E'"
+msgstr "·¿»ØÄê»Ò¤Ï²¾°ú¿ôÍѤ˾Êά¤µ¤ì¤Þ¤·¤¿"
+
+#: parse.y:3846
msgid "'%D' is used as a type, but is not defined as a type."
msgstr ""
-#: cp/pt.c:208
+#: cp/pt.c:198
#, fuzzy
msgid "data member `%D' cannot be a member template"
msgstr "Èó¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/pt.c:220
+#: cp/pt.c:210
#, fuzzy
msgid "invalid member template declaration `%D'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:615
+#: cp/pt.c:605
msgid "explicit specialization in non-namespace scope `%D'"
msgstr ""
-#: cp/pt.c:627
+#: cp/pt.c:617
msgid "enclosing class templates are not explicitly specialized"
msgstr ""
-#: cp/pt.c:702
+#: cp/pt.c:692
msgid "specializing `%#T' in different namespace"
msgstr ""
-#: cp/pt.c:703
+#: cp/pt.c:693
#, fuzzy
msgid " from definition of `%#D'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:711
+#: cp/pt.c:701
#, fuzzy
msgid "specialization of `%T' after instantiation"
msgstr "`%s' ¤ÎÀë¸À¤Ë `extern' ¤¬¤Ä¤¤¤Æ¤ª¤ê¡¢½é´ü²½¤â¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:714
+#: cp/pt.c:704
#, fuzzy
msgid "explicit specialization of non-template `%T'"
msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-#: cp/pt.c:846
+#: cp/pt.c:836
msgid "specialization of %D after instantiation"
msgstr ""
-#: cp/pt.c:949
+#: cp/pt.c:939
#, fuzzy
msgid "%s %+#D"
msgstr "%s: %s"
-#: cp/pt.c:1000
+#: cp/pt.c:990
#, fuzzy
msgid "`%D' is not a function template"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤ë´Ø¿ô¤Î·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
-#: cp/pt.c:1123
+#: cp/pt.c:1129
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr ""
-#: cp/pt.c:1131
+#: 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:1358 cp/pt.c:1432
+#: cp/pt.c:1364 cp/pt.c:1438
#, fuzzy
msgid "template-id `%D' in declaration of primary template"
msgstr "`operator delete' ¤ÎÀë¸ÀÆâ¤Ë¿¤¹¤®¤ë°ú¿ô"
-#: cp/pt.c:1371
+#: cp/pt.c:1377
#, fuzzy
msgid "template parameter list used in explicit instantiation"
msgstr "#define Ãæ¤Î²¾°ú¿ô¥ê¥¹¥È¤¬½ªÃ¼¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/pt.c:1377
+#: cp/pt.c:1383
msgid "definition provided for explicit instantiation"
msgstr ""
-#: cp/pt.c:1383
+#: cp/pt.c:1389
#, fuzzy
msgid "too many template parameter lists in declaration of `%D'"
msgstr "%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬Â¿¤¹¤®¤Þ¤¹\n"
-#: cp/pt.c:1399
+#: cp/pt.c:1405
#, fuzzy
msgid "too few template parameter lists in declaration of `%D'"
-msgstr "\n%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬¾¯¤Ê¤¹¤®¤Þ¤¹\n"
+msgstr ""
+"\n"
+"%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬¾¯¤Ê¤¹¤®¤Þ¤¹\n"
-#: cp/pt.c:1416
+#: cp/pt.c:1422
msgid "explicit specialization not preceded by `template <>'"
msgstr ""
-#: cp/pt.c:1429
+#: cp/pt.c:1435
msgid "partial specialization `%D' of function template"
msgstr ""
-#: cp/pt.c:1461
+#: cp/pt.c:1467
msgid "default argument specified in explicit specialization"
msgstr ""
-#: cp/pt.c:1465
+#: cp/pt.c:1471
msgid "template specialization with C linkage"
msgstr ""
@@ -19205,108 +17245,108 @@ msgstr ""
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1553
+#: cp/pt.c:1558
msgid "specialization of implicitly-declared special member function"
msgstr ""
-#: cp/pt.c:1596
+#: cp/pt.c:1602
#, fuzzy
msgid "no member function `%D' declared in `%T'"
msgstr "¥Í¥¹¥È¤·¤¿´Ø¿ô `%s' ¤Ï `extern' ¤ËÀë¸À¤µ¤ì¤Þ¤·¤¿"
#. There are two many template parameter lists.
-#: cp/pt.c:1744
+#: cp/pt.c:1750
#, fuzzy
msgid "too many template parameter lists in declaration of `%T'"
msgstr "%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬Â¿¤¹¤®¤Þ¤¹\n"
-#: cp/pt.c:1840
+#: cp/pt.c:1846
msgid " shadows template parm `%#D'"
msgstr ""
-#: cp/pt.c:2243
+#: cp/pt.c:2250
msgid "template parameters not used in partial specialization:"
msgstr ""
-#: cp/pt.c:2247
+#: cp/pt.c:2254
msgid " `%D'"
msgstr ""
-#: cp/pt.c:2259
+#: cp/pt.c:2266
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr ""
-#: cp/pt.c:2284
+#: cp/pt.c:2291
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr ""
-#: cp/pt.c:2327
+#: cp/pt.c:2335
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr ""
-#: cp/pt.c:2415
+#: cp/pt.c:2423
#, fuzzy
msgid "no default argument for `%D'"
msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-#: cp/pt.c:2548
+#: cp/pt.c:2576
msgid "template with C linkage"
msgstr ""
-#: cp/pt.c:2551
+#: cp/pt.c:2579
msgid "template class without a name"
msgstr ""
-#: cp/pt.c:2626
+#: cp/pt.c:2656
msgid "`%D' does not declare a template type"
msgstr ""
-#: cp/pt.c:2632
+#: cp/pt.c:2662
#, fuzzy
msgid "template definition of non-template `%#D'"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É `%s' ¤ÎÄêµÁ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: cp/pt.c:2673
+#: cp/pt.c:2703
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr ""
-#: cp/pt.c:2685
+#: cp/pt.c:2715
#, fuzzy
msgid "got %d template parameters for `%#D'"
msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
-#: cp/pt.c:2688
+#: cp/pt.c:2718
#, fuzzy
msgid "got %d template parameters for `%#T'"
msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
-#: cp/pt.c:2690
+#: cp/pt.c:2720
#, c-format
msgid " but %d required"
msgstr ""
-#: cp/pt.c:2758
+#: cp/pt.c:2803
#, fuzzy
msgid "`%T' is not a template type"
msgstr "`%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
-#: cp/pt.c:2774
+#: cp/pt.c:2819
#, fuzzy
msgid "previous declaration `%D'"
msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
-#: cp/pt.c:2775
+#: cp/pt.c:2820
#, fuzzy, c-format
msgid "used %d template parameter%s instead of %d"
msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
-#: cp/pt.c:2791
+#: cp/pt.c:2836
#, fuzzy
msgid "template parameter `%#D'"
msgstr "°ú¿ô `%s' ¤¬Ì¤»ÈÍѤǤ¹"
-#: cp/pt.c:2792
+#: cp/pt.c:2837
msgid "redeclared here as `%#D'"
msgstr ""
@@ -19314,766 +17354,746 @@ msgstr ""
#.
#. A template-parameter may not be given default arguments
#. by two different declarations in the same scope.
-#: cp/pt.c:2802
+#: cp/pt.c:2847
#, fuzzy
msgid "redefinition of default argument for `%#D'"
msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:2803
+#: cp/pt.c:2848
#, fuzzy
msgid " original definition appeared here"
msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:2896
+#: cp/pt.c:2941
#, fuzzy, c-format
msgid "`%E' is not a valid template argument"
msgstr "̵¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È°ú¿ô"
-#: cp/pt.c:2900
+#: cp/pt.c:2945
msgid "it must be the address of a function with external linkage"
msgstr ""
-#: cp/pt.c:2902
+#: cp/pt.c:2947
msgid "it must be the address of an object with external linkage"
msgstr ""
-#: cp/pt.c:2906
+#: cp/pt.c:2951
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr ""
-#: cp/pt.c:2917
+#: 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:2929
+#: cp/pt.c:2974
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2940
+#: cp/pt.c:2985
#, fuzzy, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr "const `%s' ¤ò `mutable' ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/pt.c:2947
+#: cp/pt.c:2992
#, fuzzy, c-format
msgid "object `%E' cannot be used as template argument"
msgstr "\"%s\" ¤Ï¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
-#: cp/pt.c:3323
+#: cp/pt.c:3367
#, c-format
msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr ""
-#: cp/pt.c:3336 cp/pt.c:3352 cp/pt.c:3391
+#: 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:3339
+#: cp/pt.c:3383
msgid " expected a constant of type `%T', got `%T'"
msgstr ""
-#: cp/pt.c:3343
+#: cp/pt.c:3387
#, fuzzy, c-format
msgid " expected a type, got `%E'"
msgstr "ͽ´ü¤·¤Ê¤¤·¿¤¬ `id' (%s) ¤Ë»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:3355
+#: cp/pt.c:3399
#, fuzzy
msgid " expected a type, got `%T'"
msgstr "ͽ´ü¤·¤Ê¤¤·¿¤¬ `id' (%s) ¤Ë»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:3357
+#: cp/pt.c:3401
msgid " expected a class template, got `%T'"
msgstr ""
-#: cp/pt.c:3393
+#: cp/pt.c:3437
msgid " expected a template of type `%D', got `%D'"
msgstr ""
-#: cp/pt.c:3415
+#: cp/pt.c:3459
msgid "template-argument `%T' uses anonymous type"
msgstr ""
-#: cp/pt.c:3418
+#: cp/pt.c:3462
msgid "template-argument `%T' uses local type `%T'"
msgstr ""
-#: cp/pt.c:3453
+#: 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:3497
+#: cp/pt.c:3551
#, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr ""
-#: cp/pt.c:3501
+#: cp/pt.c:3555
#, fuzzy
msgid "provided for `%D'"
msgstr "`%#D' ¤Î¤¿¤á¤Î¥Ç¥¹¥È¥é¥¯¥¿¤¬É¬ÍפǤ¹"
-#: cp/pt.c:3548
+#: cp/pt.c:3602
#, fuzzy, c-format
msgid "template argument %d is invalid"
msgstr "¥Þ¥¯¥í°ú¿ô \"%s\" ¤Ïʸ»úÎ󲽤µ¤ì¤Þ¤¹"
-#: cp/pt.c:3780
+#: cp/pt.c:3837
msgid "non-template used as template"
msgstr ""
-#: cp/pt.c:3898
+#: cp/pt.c:3968
#, fuzzy
msgid "`%T' is not a template"
msgstr "¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Ç `%s' ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:3911
+#: cp/pt.c:3981
msgid "non-template type `%T' used as a template"
msgstr ""
-#: cp/pt.c:3913
+#: cp/pt.c:3983
#, fuzzy
msgid "for template declaration `%D'"
msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
-#: cp/pt.c:4476
+#: 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:4911
+#: cp/pt.c:5074
#, fuzzy
msgid "ambiguous class template instantiation for `%#T'"
msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
-#: cp/pt.c:4918
+#: cp/pt.c:5081
#, fuzzy
msgid "%s %+#T"
msgstr "%s: %s"
-#: cp/pt.c:5940 cp/pt.c:6054
+#: cp/pt.c:6104 cp/pt.c:6214
#, fuzzy
msgid "instantiation of `%D' as type `%T'"
msgstr "%s: `%s' ¤Î½é´ü²½:\n"
-#: cp/pt.c:6096
+#: cp/pt.c:6258
#, fuzzy
msgid "invalid parameter type `%T'"
msgstr "²¾°ú¿ô `%s' ¤Ï̵¸ú¤Ç¤¹"
-#: cp/pt.c:6098
+#: cp/pt.c:6260
#, fuzzy
msgid "in declaration `%D'"
msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:6173
+#: cp/pt.c:6335
#, fuzzy
msgid "creating pointer to member function of non-class type `%T'"
msgstr "¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢¥¯¥é¥¹¥¹¥³¡¼¥×Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/pt.c:6336
+#: cp/pt.c:6498
msgid "creating array with size zero"
msgstr "Â礭¤µ¥¼¥í¤ÎÇÛÎó¤òºî¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:6350
+#: cp/pt.c:6512
#, fuzzy, c-format
msgid "creating array with size zero (`%E')"
msgstr "Â礭¤µ¥¼¥í¤ÎÇÛÎó¤òºî¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:6588
+#: cp/pt.c:6751
#, fuzzy
msgid "forming reference to void"
msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤òÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:6590
+#: cp/pt.c:6753
msgid "forming %s to reference type `%T'"
msgstr ""
-#: cp/pt.c:6624
+#: cp/pt.c:6791
#, fuzzy
msgid "creating pointer to member of non-class type `%T'"
msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
-#: cp/pt.c:6686
+#: cp/pt.c:6797
+#, fuzzy
+msgid "creating pointer to member reference type `%T'"
+msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+#: cp/pt.c:6875
#, fuzzy
msgid "creating array of `%T'"
msgstr "°ú¿ô %d ¸Ä¤Î `%s' ¤òÅϤ·¤Þ¤¹"
-#: cp/pt.c:6732
+#: cp/pt.c:6918
msgid "`%T' is not a class, struct, or union type"
msgstr ""
-#: cp/pt.c:6844
+#: cp/pt.c:7028
#, c-format
msgid "use of `%s' in template"
msgstr "¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Ç `%s' ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:7601
+#: cp/pt.c:7790
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr ""
-#: cp/pt.c:7602
+#: cp/pt.c:7791
#, fuzzy
msgid " trying to instantiate `%D'"
msgstr "%s:%d: `%s' ¤«¤é¼ÂÂ⽤µ¤ì¤Þ¤·¤¿\n"
-#: cp/pt.c:8032
+#: cp/pt.c:8230
msgid "incomplete type unification"
msgstr "ÉÔ´°Á´¤Ê·¿¤Îñ°ì²½"
-#: cp/pt.c:8987
+#: cp/pt.c:9178
#, c-format
msgid "use of `%s' in template type unification"
msgstr "¥Æ¥ó¥×¥ì¡¼¥È·¿Åý°ìÃæ `%s' ¤¬»ÈÍѤµ¤ì¤Þ¤·¤¿"
-#: cp/pt.c:9409 cp/pt.c:9477
+#: cp/pt.c:9596 cp/pt.c:9668
#, fuzzy
msgid "explicit instantiation of non-template `%#D'"
msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-#: cp/pt.c:9425 cp/pt.c:9472
+#: cp/pt.c:9612 cp/pt.c:9663
msgid "no matching template for `%D' found"
msgstr ""
-#: cp/pt.c:9431
+#: cp/pt.c:9618
#, fuzzy
msgid "explicit instantiation of `%#D'"
msgstr "%s: `%s' ¤Î½é´ü²½:\n"
-#. [temp.spec]
-#.
-#. No program shall both explicitly instantiate and explicitly
-#. specialize a template.
-#: cp/pt.c:9448
-#, fuzzy
-msgid "explicit instantiation of `%#D' after"
-msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-
-#: cp/pt.c:9449 cp/pt.c:9586
-#, fuzzy
-msgid "explicit specialization here"
-msgstr "½é´ü²½"
-
-#: cp/pt.c:9464
+#: cp/pt.c:9655
#, fuzzy
msgid "duplicate explicit instantiation of `%#D'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:9489
+#: cp/pt.c:9680
#, fuzzy
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr "ISO C++ ¤Ï¸º»»¤Ë¥á¥½¥Ã¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/pt.c:9493 cp/pt.c:9571
+#: cp/pt.c:9684 cp/pt.c:9762
#, fuzzy
msgid "storage class `%D' applied to template instantiation"
msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
-#: cp/pt.c:9538
+#: cp/pt.c:9729
#, fuzzy
msgid "explicit instantiation of non-template type `%T'"
msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-#: cp/pt.c:9552
+#: cp/pt.c:9743
#, fuzzy
msgid "explicit instantiation of `%#T' before definition of template"
msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-#: cp/pt.c:9560
+#: cp/pt.c:9751
#, fuzzy, c-format
msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
msgstr "ISO C++ ¤Ï¸º»»¤Ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/pt.c:9585
-#, fuzzy
-msgid "explicit instantiation of `%#T' after"
-msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-
-#: cp/pt.c:9603
+#: cp/pt.c:9795
#, fuzzy
msgid "duplicate explicit instantiation of `%#T'"
msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: cp/pt.c:9944
+#: cp/pt.c:10177
#, fuzzy
msgid "explicit instantiation of `%D' but no definition available"
msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
-#: cp/pt.c:10316
+#: cp/pt.c:10551
#, fuzzy
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 "-frepo ¤Ï -c ÉÕ¤­¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/repo.c:366
+#: cp/repo.c:361
#, c-format
msgid "mysterious repository information in %s"
msgstr "%s ¤ËÉԲIJò¤Ê¥ê¥Ý¥¸¥È¥ê¾ðÊ󤬤¢¤ê¤Þ¤¹"
-#: cp/repo.c:381
+#: cp/repo.c:376
#, c-format
msgid "can't create repository information file `%s'"
msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ë¥ê¥Ý¥¸¥È¥ê¾ðÊó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
-#: cp/rtti.c:200
+#: cp/rtti.c:240
msgid "cannot use typeid with -fno-rtti"
msgstr "-fno-rtti ¤¬»ØÄꤵ¤ì¤ë¤È typeid ¤ò»È¤¨¤Þ¤»¤ó"
-#: cp/rtti.c:206
+#: cp/rtti.c:246
msgid "must #include <typeinfo> before using typeid"
msgstr "typeid ¤ò»È¤¦Á°¤Ë #include <typeinfo> ¤È¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó"
-#: 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:1826
+#: cp/search.c:1925
msgid "adjusting pointers for covariant returns"
msgstr "¶¦ÊÑ(covariant)Ìá¤êÃͤؤΥݥ¤¥ó¥¿¤òÄ´À°¤·¤Þ¤¹"
-#: cp/search.c:1830 cp/search.c:1837
+#: cp/search.c:1929 cp/search.c:1936
#, fuzzy
msgid "invalid covariant return type for `%#D'"
msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
-#: cp/search.c:1831
+#: cp/search.c:1930
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr ""
-#: cp/search.c:1838
+#: cp/search.c:1937
msgid " overriding `%#D' (must use pointer or reference)"
msgstr ""
-#: cp/search.c:1843
+#: cp/search.c:1942
#, fuzzy
msgid "conflicting return type specified for `%#D'"
msgstr "`%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
-#: cp/search.c:1844
+#: cp/search.c:1943
msgid " overriding `%#D'"
msgstr ""
-#: cp/search.c:1853
+#: cp/search.c:1952
#, fuzzy, c-format
msgid "looser throw specifier for `%#F'"
msgstr "`%s' ¤ËÂФ·¤Æ char ¤È¤È¤â¤Ë long ¤Þ¤¿¤Ï short ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/search.c:1854
+#: cp/search.c:1953
#, c-format
msgid " overriding `%#F'"
msgstr ""
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1944
+#: cp/search.c:2042
#, fuzzy
msgid "`%#D' cannot be declared"
msgstr "const `%s' ¤ò `mutable' ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
-#: cp/search.c:1945
+#: cp/search.c:2043
msgid " since `%#D' declared in base class"
msgstr ""
-#: cp/search.c:2130
+#: cp/search.c:2184
msgid "`%#D' needs a final overrider"
msgstr ""
-#: cp/semantics.c:903
+#: cp/semantics.c:919
#, fuzzy, c-format
msgid "type of asm operand `%E' could not be determined"
msgstr "²¾°ú¿ô `%s' ¤Î·¿¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/semantics.c:1045
+#: cp/semantics.c:1051
msgid "ISO C++ does not permit named return values"
msgstr "ISO C++ ¤Ï̾Á°¤Ä¤­Ìá¤êÃͤòµö²Ä¤·¤Þ¤»¤ó"
-#: cp/semantics.c:1054
+#: cp/semantics.c:1060
msgid "return identifier `%D' already in place"
msgstr ""
-#: cp/semantics.c:1062
+#: cp/semantics.c:1068
msgid "can't redefine default return value for constructors"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿ÍѤΥǥե©¥ë¥ÈÌá¤êÃͤòºÆÄêµÁ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/semantics.c:1129
-#, fuzzy
-msgid "base initializer for `%T'"
-msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-
-#: cp/semantics.c:1131
-msgid " will be re-ordered to precede member initializations"
-msgstr " Àè¤Ë¤¢¤ë¥á¥ó¥Ð½é´ü²½»Ò¤ÈʤÓÂؤ¨¤é¤ì¤Þ¤¹"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤·¤«´ðÄì½é´ü²½»Ò¥ê¥¹¥È¤ò¤È¤ê¤Þ¤»¤ó"
-#: cp/semantics.c:1401
+#: cp/semantics.c:1342
msgid "`this' is unavailable for static member functions"
msgstr "`this' ¤ÏÀÅŪ¥á¥ó¥Ð´Ø¿ô¤«¤é»ÈÍѤǤ­¤Þ¤»¤ó"
-#: cp/semantics.c:1407
+#: cp/semantics.c:1348
msgid "invalid use of `this' in non-member function"
msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
-#: cp/semantics.c:1409
+#: cp/semantics.c:1350
msgid "invalid use of `this' at top level"
msgstr "¥È¥Ã¥×¥ì¥Ù¥ë¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
-#: cp/semantics.c:1447
+#: cp/semantics.c:1380
msgid "calling type `%T' like a method"
msgstr ""
-#: cp/semantics.c:1483
+#: cp/semantics.c:1418
msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr ""
-#: cp/semantics.c:1489
+#: cp/semantics.c:1424
#, fuzzy
msgid "`%E' is not of type `%T'"
msgstr "`%s' ¤Ï `%s' ¤Ë±þÅú¤·¤Þ¤»¤ó"
-#: cp/semantics.c:1701
+#: cp/semantics.c:1612
msgid "template type parameters must use the keyword `class' or `typename'"
msgstr "¥Æ¥ó¥×¥ì¡¼¥È·¿²¾°ú¿ô¤Ë¤Ï `class' ¤ä `typename' ͽÌó¸ì¤ò»È¤ï¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: cp/semantics.c:1760
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr "̵¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È°ú¿ô"
+
+#: cp/semantics.c:1693
#, fuzzy
msgid "definition of `%#T' inside template parameter list"
msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¥ê¥¹¥È¤Î¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
-#: cp/semantics.c:1776
+#: cp/semantics.c:1709
#, fuzzy
msgid "invalid definition of qualified type `%T'"
msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
-#: cp/semantics.c:2128
+#: cp/semantics.c:2051
+#, fuzzy
+msgid "invalid base-class specification"
+msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+#: cp/semantics.c:2060
msgid "base class `%T' has cv qualifiers"
msgstr ""
-#: cp/semantics.c:2161
+#: cp/semantics.c:2091
#, fuzzy
msgid "multiple declarators in template declaration"
msgstr "°ì¤Ä¤ÎÀë¸À¤ËÊ£¿ô¤Î·¿¤¬¤¢¤ê¤Þ¤¹"
-#: cp/spew.c:245
+#: cp/spew.c:225
#, c-format
msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
msgstr "¼±ÊÌ»Ò̾ `%s' ¤Ï GNU C++ ÆâÉô¤Î¥Í¡¼¥ß¥ó¥°Àïά¤È¶¥¹ç¤·¤Þ¤¹"
-#: cp/spew.c:1020 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
+#, fuzzy
+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
+#, fuzzy
+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
#, fuzzy
msgid "invalid type `%T' for default argument to `%T'"
msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
-#: cp/spew.c:1495
+#: cp/spew.c:1539
#, c-format
msgid "%s before `%s'"
msgstr "%s ¤¬ `%s' ¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/spew.c:1497
+#: cp/spew.c:1541
#, c-format
msgid "%s before `%c'"
msgstr "%s ¤¬ `%c' ¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/spew.c:1499
+#: cp/spew.c:1543
#, c-format
msgid "%s before `\\%o'"
msgstr "%s ¤¬ `\\%o' ¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/spew.c:1502
+#: cp/spew.c:1546
#, c-format
msgid "%s before `%s' token"
msgstr "%s ¤¬ `%s' ¥È¡¼¥¯¥ó¤ÎÁ°¤Ë¤¢¤ê¤Þ¤¹"
-#: cp/tree.c:224
+#: cp/tree.c:251 cp/tree.c:263
#, c-format
msgid "non-lvalue in %s"
msgstr "%s ¤Ëº¸ÊÕÃͤǤϤʤ¤ÃÍ"
-#: cp/tree.c:536
+#: cp/tree.c:635
#, fuzzy
-msgid "`%T' cannot be `restrict'-qualified"
-msgstr "`%s' ¤òÀÅŪ¤Ë³ÎÊݤǤ­¤Þ¤»¤ó"
-
-#: cp/tree.c:547
-msgid "`%T' cannot be `const'-, `volatile'-, or `restrict'-qualified"
-msgstr ""
+msgid "`%V' qualifiers cannot be applied to `%T'"
+msgstr "`%s' ¤Ï `%s' ¤Ë±þÅú¤·¤Þ¤»¤ó"
-#: cp/tree.c:1888
+#: cp/tree.c:2012
#, fuzzy, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr "`java_interface' °À­¤Ï Java ¥¯¥é¥¹ÄêµÁ¤ËÂФ·¤Æ¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
-#: cp/tree.c:1918
+#: cp/tree.c:2042
#, fuzzy, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr "`com_interface' °À­¤Ï¥¯¥é¥¹ÄêµÁ¤Ë¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
-#: cp/tree.c:1924
+#: cp/tree.c:2048
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr ""
-#: cp/tree.c:1949
+#: cp/tree.c:2073
msgid "requested init_priority is not an integer constant"
msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÀ°¿ô·¿¤ÎÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/tree.c:1970
+#: cp/tree.c:2094
#, fuzzy, c-format
msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
msgstr "init_priority °À­¤Ï¥¯¥é¥¹·¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×ÄêµÁ¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
-#: cp/tree.c:1978
+#: cp/tree.c:2102
msgid "requested init_priority is out of range"
msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤¬Èϰϳ°¤Ç¤¹"
-#: cp/tree.c:1988
+#: cp/tree.c:2112
msgid "requested init_priority is reserved for internal use"
msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÆâÉô¤Ç»ÈÍѤ¹¤ë¤¿¤á¤ËͽÌ󤵤ì¤Æ¤¤¤Þ¤¹"
-#: cp/tree.c:1998
+#: cp/tree.c:2122
#, fuzzy, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr "init_priority °À­¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: cp/typeck.c:488
+#: cp/tree.c:2659
+#, fuzzy, c-format
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
+
+#: cp/typeck.c:524
#, c-format
msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
msgstr "ISO C++ ¤Ï `void *' ·¿¥Ý¥¤¥ó¥¿¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤Î %s ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:509
+#: cp/typeck.c:545
#, fuzzy
msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
msgstr "·¿¤¬Á´¤¯°Û¤Ê¤ë¥Ý¥¤¥ó¥¿¤ÎÈæ³Ó¤Ç¥­¥ã¥¹¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:1493
+#: cp/typeck.c:1438
#, fuzzy
msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
msgstr "ISO C ¤Ç¤Ï°ú¿ô¤«¤é¶¦ÍÑÂΤؤÎÊÑ´¹¤ò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:1563
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ISO C++ ¤Ï´Ø¿ô·¿¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:1569
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr "ISO C++ ¤Ï¥á¥ó¥Ð´Ø¿ô¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:1575
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr "ISO C++ ¤ÏÉÔ´°Á´·¿¤Ç¤¢¤ë `void' ·¿¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:1589
-#, fuzzy
-msgid "`sizeof' applied to non-static member"
-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ËŬÍѤµ¤ì¤¿ `sizeof'"
+#: cp/typeck.c:1516
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
-#: cp/typeck.c:1594
-#, fuzzy
-msgid "`sizeof' applied to incomplete type `%T'"
-msgstr "sizeof ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+#: cp/typeck.c:1522
+#, fuzzy, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
-#: cp/typeck.c:1624
+#: cp/typeck.c:1540
msgid "sizeof applied to a bit-field"
msgstr "sizeof ¤¬¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
-#: cp/typeck.c:1627
+#: cp/typeck.c:1543
msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
msgstr "ISO C++ ¤Ï´Ø¿ô·¿¤Î¼°¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:1774
+#: cp/typeck.c:1655
msgid "invalid use of non-lvalue array"
msgstr "Èóº¸ÊÕÃÍÇÛÎó¤Î̵¸ú¤ÊÍøÍÑ"
-#: cp/typeck.c:1880
+#: cp/typeck.c:1761
#, fuzzy
msgid "deprecated conversion from string constant to `%T'"
msgstr "ʸ»úÎóÄê¿ôÃæ¤Î \\r ¥¨¥¹¥±¡¼¥×"
-#: cp/typeck.c:1898
-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:2041
+#: cp/typeck.c:1918
#, fuzzy
-msgid "invalid use of %D"
-msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
+msgid "`%D' is not a member of `%T'"
+msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/typeck.c:2091
-msgid "destructor specifier `%T::~%T' must have matching names"
+#: cp/typeck.c:1958 cp/typeck.c:1979
+msgid "invalid access to non-static data member `%D' of NULL object"
msgstr ""
-#: cp/typeck.c:2097
-msgid "type `%T' has no destructor"
+#: cp/typeck.c:1960 cp/typeck.c:1981
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
msgstr ""
-#: cp/typeck.c:2114 cp/typeck.c:2187
+#: cp/typeck.c:2161
#, fuzzy
-msgid "invalid use of type decl `%#D' as expression"
-msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/typeck.c:2119
-#, fuzzy
-msgid "invalid use of template `%#D' as expression"
-msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
+#: cp/typeck.c:2187
+msgid "destructor specifier `%T::~%T' must have matching names"
+msgstr ""
-#: cp/typeck.c:2178
-#, fuzzy
-msgid "`%#T' has no member named `%D'"
-msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+#: cp/typeck.c:2193
+msgid "type `%T' has no destructor"
+msgstr ""
-#: cp/typeck.c:2219
-msgid "invalid reference to NULL ptr, use ptr-to-member instead"
-msgstr "NULL ¥Ý¥¤¥ó¥¿¤Ø¤Î̵¸ú¤Ê»²¾È¡¢Âå¤ï¤ê¤Ë¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¤¤Þ¤·¤ç¤¦"
+#: cp/typeck.c:2232
+#, fuzzy
+msgid "`%D' is not a member template function"
+msgstr "`%s' ¤ÏÄ̾Èó static ¤Ê´Ø¿ô¤Ç¤¹"
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2345
+#: cp/typeck.c:2326
msgid "`%T' is not a pointer-to-object type"
msgstr ""
-#: cp/typeck.c:2372
+#: cp/typeck.c:2353
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
-#: cp/typeck.c:2378
+#: cp/typeck.c:2359
msgid "invalid type argument"
msgstr "̵¸ú¤Ê·¿°ú¿ô¤Ç¤¹"
-#: cp/typeck.c:2481
+#: cp/typeck.c:2462
msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr "ISO C++ ¤Ïº¸ÊÕÃͤǤϤʤ¤ÇÛÎó¤Îź»ú¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:2492
+#: cp/typeck.c:2473
msgid "subscripting array declared `register'"
msgstr "`register' ¤ÈÀë¸À¤µ¤ì¤¿ÇÛÎó¤Ëź»ú¤ò¤Ä¤±¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:2667 cp/typeck.c:2807
-msgid "pointer to member function called, but not in class scope"
-msgstr "¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢¥¯¥é¥¹¥¹¥³¡¼¥×Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#: cp/typeck.c:2691
-#, fuzzy
-msgid "object missing in call to method `%D'"
-msgstr "`%s' ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ï¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Þ¤»¤ó"
-
-#: cp/typeck.c:2725
-msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
-msgstr ""
-
-#: cp/typeck.c:2805
-msgid "invalid call to member function needing `this' in static member function scope"
-msgstr "ÀÅŪ¥á¥ó¥Ð´Ø¿ô¥¹¥³¡¼¥×Æâ¤Ç¤Ï `this' ¤òÍפ¹¤ë¥á¥ó¥Ð´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ï̵¸ú¤Ç¤¹"
+#: cp/typeck.c:2558
+#, fuzzy, c-format
+msgid "object missing in use of `%E'"
+msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¹½ÃۤλÈÍѤǥª¥Ö¥¸¥§¥¯¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:2989
+#: cp/typeck.c:2663
msgid "ISO C++ forbids calling `::main' from within program"
msgstr "ISO C++ ¤Ï¥×¥í¥°¥é¥à¤ÎÃ椫¤é `::main' ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:3014
+#: cp/typeck.c:2688
#, fuzzy, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr "¤³¤³¤Ç¤Ï¥á¥ó¥Ð´Ø¿ô¥Ý¥¤¥ó¥¿¸Æ¤Ó½Ð¤·¤¬¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck.c:3027
+#: cp/typeck.c:2701
#, fuzzy, c-format
msgid "`%E' cannot be used as a function"
msgstr "\"%s\" ¤Ï¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
-#: cp/typeck.c:3152
+#: cp/typeck.c:2826
#, fuzzy
msgid "too many arguments to %s `%+#D'"
msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: cp/typeck.c:3193
+#: cp/typeck.c:2867
msgid "parameter type of called function is incomplete"
msgstr "¸Æ¤Ð¤ì¤¿´Ø¿ô¤Î²¾°ú¿ô¤Î·¿¤¬ÉÔ´°Á´¤Ç¤¹"
-#: cp/typeck.c:3260
+#: cp/typeck.c:2930
#, fuzzy
msgid "too few arguments to %s `%+#D'"
msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
-#: cp/typeck.c:3388 cp/typeck.c:3398
+#: cp/typeck.c:3058 cp/typeck.c:3068
msgid "assuming cast to type `%T' from overloaded function"
msgstr ""
-#: cp/typeck.c:3458
+#: cp/typeck.c:3128
#, fuzzy, c-format
msgid "division by zero in `%E / 0'"
msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: cp/typeck.c:3460
+#: cp/typeck.c:3130
#, fuzzy, c-format
msgid "division by zero in `%E / 0.'"
msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: cp/typeck.c:3515
+#: cp/typeck.c:3160
#, fuzzy, c-format
msgid "division by zero in `%E %% 0'"
msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: cp/typeck.c:3517
+#: cp/typeck.c:3162
#, fuzzy, c-format
msgid "division by zero in `%E %% 0.'"
msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: cp/typeck.c:3597
+#: cp/typeck.c:3242
#, c-format
msgid "%s rotate count is negative"
msgstr "%s ¥í¡¼¥Æ¡¼¥È²ó¿ô¤¬Éé¤ÎÃͤǤ¹"
-#: cp/typeck.c:3600
+#: cp/typeck.c:3245
#, c-format
msgid "%s rotate count >= width of type"
msgstr "%s ¥í¡¼¥Æ¡¼¥È²ó¿ô >= ·¿¤ÎÉý¤Ç¤¹"
-#: cp/typeck.c:3631 cp/typeck.c:3636 cp/typeck.c:3727 cp/typeck.c:3732
+#: 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 "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿¤ÈÀ°¿ô¤È¤ÎÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:3912
+#: cp/typeck.c:3555
#, fuzzy
msgid "comparison between types `%#T' and `%#T'"
msgstr "¥Ý¥¤¥ó¥¿¤ÈÀ°¿ô¤È¤ÎÈæ³Ó¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:3948
+#: cp/typeck.c:3591
msgid "comparison between signed and unsigned integer expressions"
msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤ÎÀ°¿ô¼°Æ±»Î¤ÎÈæ³Ó¤Ç¤¹"
-#: cp/typeck.c:4013
+#: cp/typeck.c:3656
#, fuzzy
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
@@ -20082,310 +18102,301 @@ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
#. 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:4035
+#: cp/typeck.c:3678
#, fuzzy
msgid "NULL used in arithmetic"
msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
-#: cp/typeck.c:4087
-msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
-msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:4093
-msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
-msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:4099
-msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
-msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:4105
-msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
-msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-
-#: cp/typeck.c:4176
+#: cp/typeck.c:3745
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr "ISO C++ ¤Ï¸º»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4178
+#: cp/typeck.c:3747
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr "ISO C++ ¤Ï¸º»»¤Ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4180
+#: cp/typeck.c:3749
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr "ISO C++ ¤Ï¸º»»¤Ë¥á¥½¥Ã¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4182
+#: cp/typeck.c:3751
msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr "ISO C++ ¤Ï¸º»»¤Ë¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4194
+#: cp/typeck.c:3763
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr "¥Ý¥¤¥ó¥¿±é»»¤ÇÉÔ´°Á´·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤Ï̵¸ú¤Ç¤¹"
-#: cp/typeck.c:4231
-#, fuzzy
-msgid "attempt to take address of bit-field structure member `%D'"
-msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð `%s' ¤Î¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+#: 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:3829
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr ""
-#: cp/typeck.c:4302
+#: cp/typeck.c:3852
msgid "taking address of temporary"
msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:4504
+#: cp/typeck.c:4055
#, c-format
msgid "ISO C++ forbids %sing an enum"
msgstr "ISO C++ ¤Ï enum ¤Î %s ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4516
+#: cp/typeck.c:4067
#, fuzzy
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤ò»Ø¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:4523
+#: cp/typeck.c:4074
#, fuzzy
msgid "ISO C++ forbids %sing a pointer of type `%T'"
msgstr "ISO C++ ¤Ï¸º»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4548
+#: cp/typeck.c:4099
msgid "cast to non-reference type used as lvalue"
msgstr "º¸ÊÕÃͤȤ·¤Æ»È¤ï¤ì¤ëÈ󻲾ȷ¿¤Ø¤Î¥­¥ã¥¹¥È¤Ç¤¹"
-#: cp/typeck.c:4582
+#: cp/typeck.c:4133
#, fuzzy
msgid "invalid use of `--' on bool variable `%D'"
msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
#. ARM $3.4
-#: cp/typeck.c:4615
+#: cp/typeck.c:4166
msgid "ISO C++ forbids taking address of function `::main'"
msgstr "ISO C++ ¤Ï `::main' ´Ø¿ô¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
#. An expression like &memfn.
-#: cp/typeck.c:4682
+#: 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:4684
+#: cp/typeck.c:4235
#, fuzzy
msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say `&%T::%D'"
msgstr "ISO C++ ¤ÏÈóº¸ÊÕÃͼ°¤Ø¤Î¥­¥ã¥¹¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4708
+#: cp/typeck.c:4259
msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
msgstr "ISO C++ ¤ÏÈóº¸ÊÕÃͼ°¤Ø¤Î¥­¥ã¥¹¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:4724
-msgid "unary `&'"
-msgstr "ñ¹à¤Î `&'"
+#: cp/typeck.c:4290
+#, fuzzy
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð `%s' ¤Î¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:4844
+#: cp/typeck.c:4418
#, fuzzy
msgid "taking address of destructor"
msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:4857
+#: cp/typeck.c:4431
#, fuzzy
msgid "taking address of bound pointer-to-member expression"
msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
-#: cp/typeck.c:4925
+#: cp/typeck.c:4447
+#, fuzzy
+msgid "cannot create pointer to reference member `%D'"
+msgstr "¥Ý¥¤¥ó¥¿¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+#: cp/typeck.c:4510
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr "`this' ¤Ï±¦ÊÕÃͼ°¤Ç¤¢¤ê¡¢¤½¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck.c:4941
+#: cp/typeck.c:4529
msgid "address requested for `%D', which is declared `register'"
msgstr ""
-#: cp/typeck.c:5145
+#: cp/typeck.c:4750
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr ""
-#: cp/typeck.c:5153
+#: cp/typeck.c:4758
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5192
+#: cp/typeck.c:4797
msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5212
+#: cp/typeck.c:4817
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr ""
-#: cp/typeck.c:5225
+#: cp/typeck.c:4830
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr ""
-#: cp/typeck.c:5234
+#: cp/typeck.c:4839
msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr "ISO C++ ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È¥ª¥Ö¥¸¥§¥¯¥È¥Ý¥¤¥ó¥¿¤Î´Ö¤Ç¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:5240
+#: cp/typeck.c:4845
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5267
+#: 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:5270
+#: 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:5293
+#: cp/typeck.c:4898
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5309
+#: cp/typeck.c:4914
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5351 cp/typeck.c:5356
+#: cp/typeck.c:4956 cp/typeck.c:4961
#, fuzzy
msgid "ISO C++ forbids casting to an array type `%T'"
msgstr "ISO C ¤Ï¶¦ÍÑÂη¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:5364
+#: cp/typeck.c:4969
#, fuzzy
msgid "invalid cast to function type `%T'"
msgstr "´Ø¿ô `%s' ¤ËÂФ·¤ÆÉÔŬÀÚ¤ÊÊݸ¥¯¥é¥¹"
-#: cp/typeck.c:5416
+#: cp/typeck.c:5021
#, fuzzy
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
-#: cp/typeck.c:5462
+#: cp/typeck.c:5067
#, fuzzy
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤ÎÍ׵ᥢ¥é¥¤¥ó¥á¥ó¥È¤¬Áý²Ã¤·¤Þ¤¹"
-#: cp/typeck.c:5650
+#: cp/typeck.c:5235
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr ""
-#: cp/typeck.c:5684
+#: cp/typeck.c:5277
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr "ISO C++ ¤Ïº¸ÊÕÃͤȤ·¤Æ»È¤ï¤ì¤ëÈ󻲾ȷ¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:5783
+#: cp/typeck.c:5349
#, fuzzy
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: cp/typeck.c:5790
+#: cp/typeck.c:5356
msgid "ISO C++ forbids assignment of arrays"
msgstr "ISO C++ ¤ÏÇÛÎó¤ÎÂåÆþ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck.c:5805
-msgid "return value from function receives multiple initializations"
-msgstr "´Ø¿ô¤«¤é¤ÎÌá¤êÃͤ¬Ê£¿ô¤Î½é´ü²½¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
-
-#: cp/typeck.c:5942
+#: cp/typeck.c:5499
msgid " in pointer to member function conversion"
msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð´Ø¿ô¤Ø¤ÎÊÑ´¹¤Ç"
-#: cp/typeck.c:5950
+#: cp/typeck.c:5507
msgid " in pointer to member conversion"
msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
#. This is a reinterpret cast, we choose to do nothing.
-#: cp/typeck.c:5961 cp/typeck.c:5980
+#: cp/typeck.c:5518 cp/typeck.c:5537
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:5984
+#: cp/typeck.c:5541
#, fuzzy
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
-#: cp/typeck.c:6054
+#: cp/typeck.c:5611
#, fuzzy
msgid "invalid conversion to type `%T' from type `%T'"
msgstr "¥ì¥·¡¼¥Ð·¿ `%s' ¤¬Ìµ¸ú¤Ç¤¹"
-#: cp/typeck.c:6219
+#: cp/typeck.c:5776
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6222
+#: cp/typeck.c:5779
msgid "%s to non-pointer type `%T' from NULL"
msgstr ""
-#: cp/typeck.c:6230
+#: cp/typeck.c:5787
#, fuzzy
msgid "passing `%T' for %s %P of `%D'"
msgstr "°ú¿ô %d ¸Ä¤Î `%s' ¤òÅϤ·¤Þ¤¹"
-#: cp/typeck.c:6233
+#: cp/typeck.c:5790
msgid "%s to `%T' from `%T'"
msgstr ""
-#: cp/typeck.c:6243
+#: cp/typeck.c:5800
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6246
+#: cp/typeck.c:5803
msgid "%s of negative value `%E' to `%T'"
msgstr ""
-#: cp/typeck.c:6333
+#: cp/typeck.c:5898
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr ""
-#: cp/typeck.c:6336
+#: cp/typeck.c:5901
#, fuzzy
msgid "cannot convert `%T' to `%T' in %s"
msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck.c:6423 cp/typeck.c:6425
+#: cp/typeck.c:5988 cp/typeck.c:5990
#, fuzzy
msgid "in passing argument %P of `%+D'"
msgstr "°ú¿ô %d ¸Ä¤Î `%s' ¤òÅϤ·¤Þ¤¹"
-#: cp/typeck.c:6539
+#: cp/typeck.c:6105
msgid "returning reference to temporary"
msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤òÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:6546
+#: cp/typeck.c:6112
msgid "reference to non-lvalue returned"
msgstr "Èóº¸ÊÕÃͤؤλ²¾È¤¬ÊÖ¤µ¤ì¤Þ¤·¤¿"
-#: cp/typeck.c:6558
+#: cp/typeck.c:6124
#, fuzzy
msgid "reference to local variable `%D' returned"
msgstr "Èóº¸ÊÕÃͤؤλ²¾È¤¬ÊÖ¤µ¤ì¤Þ¤·¤¿"
-#: cp/typeck.c:6561
+#: cp/typeck.c:6127
#, fuzzy
msgid "address of local variable `%D' returned"
msgstr "Í׵ᤵ¤ì¤¿Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹"
-#: cp/typeck.c:6592
+#: 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:6600
+#: cp/typeck.c:6166
msgid "cannot return from a handler of a function-try-block of a constructor"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Î´Ø¿ô try ¥Ö¥í¥Ã¥¯¤Î¥Ï¥ó¥É¥é¤«¤é¤Ï return ¤Ç¤­¤Þ¤»¤ó"
#. You can't return a value from a constructor.
-#: cp/typeck.c:6603
+#: cp/typeck.c:6169
msgid "returning a value from a constructor"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤«¤éÃͤòÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:6620
+#: cp/typeck.c:6186
msgid "return-statement with no value, in function declared with a non-void return type"
msgstr "return ʸ¤¬Ãͤò»ý¤Á¤Þ¤»¤ó¡£´Ø¿ôÀë¸À¤Ç¤ÏÈó void ¤ÎÌá¤êÃͤò»ý¤Á¤Þ¤¹"
-#: cp/typeck.c:6636
+#: cp/typeck.c:6202
msgid "return-statement with a value, in function declared with a void return type"
msgstr "return ʸ¤¬Ãͤò»ý¤Á¤Þ¤¹¡£´Ø¿ôÀë¸À¤Ç¤ÏÌá¤ê·¿¤¬ void ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: cp/typeck.c:6657
+#: cp/typeck.c:6223
msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr ""
@@ -20435,256 +18446,393 @@ msgstr ""
msgid " since type `%T' has abstract virtual functions"
msgstr ""
-#: cp/typeck2.c:213
-#, fuzzy
-msgid "invalid use of undefined type `%#T'"
-msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
-
-#: cp/typeck2.c:214
-#, fuzzy
-msgid "forward declaration of `%#T'"
-msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
-
-#: cp/typeck2.c:218
-#, fuzzy
-msgid "invalid use of `%T'"
-msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
-
-#: cp/typeck2.c:232
-msgid "invalid use of member (did you forget the `&' ?)"
-msgstr ""
-
-#: cp/typeck2.c:236
-#, fuzzy
-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:270
-#, fuzzy, c-format
-msgid "internal error #%d"
-msgstr "ÆâÉô¥¨¥é¡¼: #%d¡£"
-
-#: cp/typeck2.c:325
+#: cp/typeck2.c:331
msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr ""
-#: cp/typeck2.c:335
-msgid "initializer list construction invalid for derived class object `%D'"
-msgstr ""
-
-#: cp/typeck2.c:337
-msgid "initializer list construction invalid for polymorphic class object `%D'"
-msgstr ""
-
-#: cp/typeck2.c:340 cp/typeck2.c:346 cp/typeck2.c:352
-#, fuzzy
-msgid "initializer list construction invalid for `%D'"
-msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-
-#: cp/typeck2.c:341
-msgid "due to the presence of a constructor"
-msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ë¤³¤È¤Ë¤è¤ë"
-
-#: cp/typeck2.c:347 cp/typeck2.c:353
-#, fuzzy
-msgid "due to non-public access of member `%D'"
-msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
-
-#: cp/typeck2.c:365
+#: cp/typeck2.c:342
msgid "comma expression used to initialize return value"
msgstr "¥«¥ó¥Þ±é»»»Ò¤¬Ìá¤êÃͤò½é´ü²½¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤·¤¿"
-#: cp/typeck2.c:374
+#: cp/typeck2.c:351
msgid "cannot initialize arrays using this syntax"
msgstr "¤³¤Îʸˡ¤ò»È¤Ã¤ÆÇÛÎó¤ò½é´ü²½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck2.c:436
+#: cp/typeck2.c:406
#, fuzzy
msgid "ISO C++ forbids non-constant aggregate initializer expressions"
msgstr "ANSI C++ ¤ÏÄê¿ô¤Ç¤Ê¤¤½¸¹çÂΤνé´ü²½»Ò¼°¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/typeck2.c:516
+#: cp/typeck2.c:490
msgid "initializing array with parameter list"
msgstr "ÇÛÎó¤ò²¾°ú¿ô¥ê¥¹¥È¤Ë¤è¤Ã¤Æ½é´ü²½¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
-#: cp/typeck2.c:572
+#: cp/typeck2.c:546
msgid "initializer for scalar variable requires one element"
msgstr "¥¹¥«¥é¡¼ÊÑ¿ô¤Î½é´ü²½»Ò¤Ï°ì¤Ä¤ÎÍ×ÁǤòÍ׵ᤷ¤Þ¤¹"
-#: cp/typeck2.c:579
+#: cp/typeck2.c:553
#, fuzzy
msgid "braces around scalar initializer for `%T'"
msgstr "¥¹¥«¥é¡¼½é´ü²½»Ò¤¬¥Ö¥ì¡¼¥¹¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Þ¤¹"
-#: cp/typeck2.c:582
+#: cp/typeck2.c:556
#, fuzzy
msgid "ignoring extra initializers for `%T'"
msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
-#: cp/typeck2.c:594
+#: cp/typeck2.c:568
#, fuzzy
msgid "variable-sized object of type `%T' may not be initialized"
msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
-#: cp/typeck2.c:604
+#: cp/typeck2.c:578
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr ""
-#: cp/typeck2.c:670
+#: cp/typeck2.c:644
msgid "aggregate has a partly bracketed initializer"
msgstr "½¸¹çÂΤ¬ÉôʬŪ¤Ë¥Ö¥é¥±¥Ã¥È¤Î½é´ü²½»Ò¤ò»ý¤Á¤Þ¤¹"
-#: cp/typeck2.c:700 cp/typeck2.c:801
+#: cp/typeck2.c:682 cp/typeck2.c:786
msgid "non-trivial labeled initializers"
msgstr "¼«ÌÀ¤Ç¤Ê¤¤¥é¥Ù¥ë¤Î¤Ä¤¤¤¿½é´ü²½»Ò¤Ç¤¹"
-#: cp/typeck2.c:717
+#: cp/typeck2.c:699
msgid "non-empty initializer for array of empty elements"
msgstr "Í×ÁǤΤʤ¤ÇÛÎó¤ËÂФ¹¤ë¡¢¶õ¤Ç¤Ï¤Ê¤¤½é´ü²½»Ò¤Ç¤¹"
-#: cp/typeck2.c:767
+#: cp/typeck2.c:752
msgid "initializer list for object of class with virtual base classes"
msgstr "²¾ÁÛ´ðÄ쥯¥é¥¹¤ò»ý¤Ä¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÍѤνé´ü²½»Ò¥ê¥¹¥È¤Ç¤¹"
-#: cp/typeck2.c:773
+#: cp/typeck2.c:758
msgid "initializer list for object of class with base classes"
msgstr "´ðÄ쥯¥é¥¹¤ò»ý¤Ä¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÍѤνé´ü²½»Ò¥ê¥¹¥È¤Ç¤¹"
-#: cp/typeck2.c:779
+#: cp/typeck2.c:764
msgid "initializer list for object using virtual functions"
msgstr "²¾ÁÛ´Ø¿ô¤ò»ÈÍѤ¹¤ë¥ª¥Ö¥¸¥§¥¯¥ÈÍѤνé´ü²½»Ò¥ê¥¹¥È¤Ç¤¹"
-#: cp/typeck2.c:842 cp/typeck2.c:859
+#: cp/typeck2.c:827 cp/typeck2.c:843
#, fuzzy
msgid "missing initializer for member `%D'"
msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
-#: cp/typeck2.c:847
+#: cp/typeck2.c:832
#, fuzzy
msgid "uninitialized const member `%D'"
msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
-#: cp/typeck2.c:850
+#: cp/typeck2.c:834
#, fuzzy
msgid "member `%D' with uninitialized const fields"
msgstr "̤½é´ü²½Äê¿ô¤ò ROM ¤ËÃÖ¤«¤Ê¤¤"
-#: cp/typeck2.c:853
+#: cp/typeck2.c:837
#, fuzzy
msgid "member `%D' is uninitialized reference"
msgstr "²¾°ú¿ô `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
-#: cp/typeck2.c:896
+#: cp/typeck2.c:883
msgid "index value instead of field name in union initializer"
msgstr "union ½é´ü²½»Ò¤¬¥Õ¥£¡¼¥ë¥É̾¤Ç¤Ï¤Ê¤¯¥¤¥ó¥Ç¥Ã¥¯¥¹ÃͤˤʤäƤ¤¤Þ¤¹"
-#: cp/typeck2.c:908
+#: cp/typeck2.c:895
#, fuzzy
msgid "no field `%D' in union being initialized"
msgstr "ÉÔÌÀ¤Ê¥Õ¥£¡¼¥ë¥É `%s' ¤¬½é´ü²½»Ò¤Ç»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: cp/typeck2.c:916
+#: cp/typeck2.c:903
#, fuzzy
msgid "union `%T' with no named members cannot be initialized"
msgstr "Ê£»¨¤Ê¥Ñ¥é¥á¥¿¤ò¤â¤Ä´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck2.c:952
+#: cp/typeck2.c:939
msgid "excess elements in aggregate initializer"
msgstr "½¸¹çÂνé´ü²½»ÒÆâ¤Ç¤½¤ÎÍ×ÁǤ¬°î¤ì¤Þ¤·¤¿"
-#: cp/typeck2.c:1057
+#: cp/typeck2.c:1053
msgid "circular pointer delegation detected"
msgstr "½Û´Ä¥Ý¥¤¥ó¥¿¤ÎÂåɽ¤ò¸¡½Ð¤·¤Þ¤·¤¿"
-#: cp/typeck2.c:1070
+#: cp/typeck2.c:1066
#, fuzzy
msgid "base operand of `->' has non-pointer type `%T'"
msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/typeck2.c:1084
+#: cp/typeck2.c:1080
msgid "result of `operator->()' yields non-pointer result"
msgstr "`operator->()'¤Î·ë²Ì¤¬Èó¥Ý¥¤¥ó¥¿¤Î·ë²Ì¤ò¤â¤¿¤é¤·¤Þ¤¹"
-#: cp/typeck2.c:1086
+#: cp/typeck2.c:1082
msgid "base operand of `->' is not a pointer"
msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: cp/typeck2.c:1152
+#: cp/typeck2.c:1148
#, fuzzy
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr "\"%s\" ¤Ï C++ ¤Î±é»»»Ò¤Ç¤¢¤ê¡¢¥Þ¥¯¥í̾¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck2.c:1159
+#: cp/typeck2.c:1155
msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr ""
-#: cp/typeck2.c:1168
+#: cp/typeck2.c:1164
msgid "member type `%T::' incompatible with object type `%T'"
msgstr ""
-#: cp/typeck2.c:1205
+#: cp/typeck2.c:1201
#, fuzzy
msgid "`%T' fails to be a typedef or built-in type"
msgstr "`%s' ¤ò typedef ¤Þ¤¿¤ÏÁȤ߹þ¤ß·¿¤Ë¤Ç¤­¤Þ¤»¤ó"
-#: cp/typeck2.c:1278
+#: cp/typeck2.c:1274
#, c-format
msgid "ISO C++ forbids defining types within %s"
msgstr "ISO C++ ¤Ï %s Ãæ¤Î·¿ÄêµÁ¤ò¶Ø¤¸¤Þ¤¹"
-#: cp/xref.c:826
-#, fuzzy, c-format
-msgid "can't create cross-reference file `%s'"
-msgstr "Áê¸ß»²¾È¥Õ¥¡¥¤¥ë `%s' ¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
+#: cp/typeck2.c:1399
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr ""
+
+#: cp/typeck2.c:1402
+#, fuzzy
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "ÉÔ´°Á´·¿¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+#. XXX Not i18n clean.
+#: cp/cp-tree.h:3846
+#, c-format
+msgid "%s is deprecated, please see the documentation for details"
+msgstr ""
+
+#: cp/lang-options.h:29
+msgid "Do not obey access control semantics"
+msgstr "¥¢¥¯¥»¥¹À©¸æ¤Î°ÕÌ£¤Ë½¾¤ï¤Ê¤¤"
+
+#: cp/lang-options.h:31
+msgid "Change when template instances are emitted"
+msgstr "¥Æ¥ó¥×¥ì¡¼¥È¥¤¥ó¥¹¥¿¥ó¥¹¤¬Á÷½Ð¤µ¤ì¤¿»þ¤ËÊѹ¹¤¹¤ë"
+
+#: cp/lang-options.h:36
+msgid "Check the return value of new"
+msgstr "new ¤ÎÌá¤êÃͤò¸¡ºº¤¹¤ë"
+
+#: cp/lang-options.h:39
+msgid "Reduce size of object files"
+msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë"
+
+#: cp/lang-options.h:43
+msgid "Make string literals `char[]' instead of `const char[]'"
+msgstr "ʸ»úÎó¥ê¥Æ¥é¥ë¤ò `const char[]' ¤ÎÂå¤ï¤ê¤Ë `char[]' ¤È¤¹¤ë"
+
+#: cp/lang-options.h:46
+msgid "Dump the entire translation unit to a file"
+msgstr "ËÝÌõñ°ÌÁ´ÂΤò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
+
+#: cp/lang-options.h:48
+msgid "Do not inline member functions by default"
+msgstr "¥á¥ó¥Ð´Ø¿ô¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥é¥¤¥ó¤È¤·¤Ê¤¤"
+
+#: cp/lang-options.h:51
+msgid "Do not generate run time type descriptor information"
+msgstr "¼Â¹Ô»þ·¿µ­½Ò¾ðÊó¤òÀ¸À®¤·¤Ê¤¤"
+
+#: cp/lang-options.h:56
+msgid "Do not generate code to check exception specifications"
+msgstr "Îã³°»ÅÍͤθ¡ºº¤ò¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
+
+#: cp/lang-options.h:61
+msgid "Scope of for-init-statement vars extends outside"
+msgstr "for ½é´ü²½Ê¸¤ÎÊÑ¿ô¤ò¥¹¥³¡¼¥×³°¤Ë³ÈÂ礹¤ë"
+
+#: cp/lang-options.h:64
+#, fuzzy
+msgid "Do not recognize GNU defined keywords"
+msgstr "GNU ÄêµÁ¤ÎͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
+
+#: cp/lang-options.h:68
+msgid "Enable support for huge objects"
+msgstr "Â礭¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥Ý¡¼¥È"
+
+#: cp/lang-options.h:72
+msgid "Export functions even if they can be inlined"
+msgstr "¥¤¥ó¥é¥¤¥ó¤Ë¤Ç¤­¤ë´Ø¿ô¤Ç¤â export ¤¹¤ë"
+
+#: cp/lang-options.h:75
+msgid "Only emit explicit template instatiations"
+msgstr "ÌÀ¼¨Åª¤Ê¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+#: cp/lang-options.h:78
+msgid "Only emit explicit instatiations of inline templates"
+msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+#: cp/lang-options.h:84
+msgid "Don't pedwarn about uses of Microsoft extensions"
+msgstr "Microsoft ³ÈÄ¥¤ÎÍøÍѤ˴ؤ·¤Æ pedantic ·Ù¹ð¤ò¹Ô¤ï¤Ê¤¤"
+
+#: cp/lang-options.h:87
+#, fuzzy
+msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+msgstr "and/bitand/bitor/compl/not/or/xor ¤òǧ¼±¤¹¤ë"
+
+#: cp/lang-options.h:91
+msgid "Disable optional diagnostics"
+msgstr "¥ª¥×¥·¥ç¥ó¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤"
+
+#: cp/lang-options.h:93
+msgid "Downgrade conformance errors to warnings"
+msgstr "µ¬³ÊŬ¹çÀ­¥¨¥é¡¼¤ò·Ù¹ð¤Ë³Ê²¼¤²¤¹¤ë"
-#: f/com.c:11595
+#: cp/lang-options.h:96
+msgid "Enable automatic template instantiation"
+msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
+
+#: cp/lang-options.h:101
+msgid "Display statistics accumulated during compilation"
+msgstr "¥³¥ó¥Ñ¥¤¥ëÃæ¤ËÃßÀѤµ¤ì¤¿Åý·×¾ðÊó¤òɽ¼¨¤¹¤ë"
+
+#: cp/lang-options.h:104
+msgid "Specify maximum template instantiation depth"
+msgstr "¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂβ½¤Î¿¼¤µ¤ÎºÇÂçÃͤò»ØÄꤹ¤ë"
+
+#: cp/lang-options.h:106
+#, fuzzy
+msgid "Use __cxa_atexit to register destructors"
+msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤ÎÅÐÏ¿¤Ë __cxa_atexit ¤òÍøÍѤ¹¤ë"
+
+#: cp/lang-options.h:109
+msgid "Discard unused virtual functions"
+msgstr "»È¤ï¤ì¤Ê¤¤²¾ÁÛ´Ø¿ô¤òÀÚ¤ê¼Î¤Æ¤ë"
+
+#: cp/lang-options.h:112
+msgid "Implement vtables using thunks"
+msgstr "thunk ¤ò»È¤Ã¤Æ vtable ¤ò¼ÂÁõ¤¹¤ë"
+
+#: cp/lang-options.h:115
+msgid "Emit common-like symbols as weak symbols"
+msgstr "¥³¥â¥ó¥·¥ó¥Ü¥ë¤ò¥¦¥£¡¼¥¯¥·¥ó¥Ü¥ë¤ÎÍͤËÀ¸À®¤¹¤ë"
+
+#: cp/lang-options.h:118
+msgid "Emit cross referencing information"
+msgstr "Áê¸ß»²¾È¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+#: cp/lang-options.h:122
+msgid "Warn about inconsistent return types"
+msgstr "Ìá¤êÃͤη¿¤È°ìÃפ·¤Ê¤¤¤â¤Î¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:125
+msgid "Warn about overloaded virtual function names"
+msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤¿²¾ÁÛ´Ø¿ô̾¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:129
+msgid "Don't warn when all ctors/dtors are private"
+msgstr "Á´¤Æ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤¬ private ¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+
+#: cp/lang-options.h:131
+msgid "Warn about non virtual destructors"
+msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:134
+msgid "Warn when a function is declared extern, then inline"
+msgstr "´Ø¿ô¤¬ extern Àë¸À¤µ¤ì¤¿¸å¡¢inline ¤È¤µ¤ì¤¿¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:137
+msgid "Warn when the compiler reorders code"
+msgstr "¥³¥ó¥Ñ¥¤¥é¤¬¥³¡¼¥É¤òʤÙÂؤ¨¤ë¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:140
+#, fuzzy
+msgid "Warn when synthesis behavior differs from Cfront"
+msgstr "¹çÀ®¤Î¿¶¤ëÉñ¤¤¤¬ Cfront ¤È°Û¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:144
+msgid "Don't warn when type converting pointers to member functions"
+msgstr "¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð´Ø¿ô¤Ø¤Î·¿ÊÑ´¹¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+
+#: cp/lang-options.h:146
+msgid "Warn about violations of Effective C++ style rules"
+msgstr "Effective C++ ¼°¤Î»Ø¿Ë¤«¤é¤Ï¤º¤ì¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:149
+msgid "Warn when overload promotes from unsigned to signed"
+msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬Éä¹ç̵¤·¤«¤éÉä¹çÉÕ¤­¤Ë³Ê¾å¤²¤È¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:152
+msgid "Warn if a C style cast is used in a program"
+msgstr "C ¼°¤Î¥­¥ã¥¹¥È¤¬¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤¿¤é·Ù¹ð¤¹¤ë"
+
+#: cp/lang-options.h:156
+msgid "Don't warn when non-templatized friend functions are declared within a template"
+msgstr "template Æâ¤ÇÈó template ¤Î friend ´Ø¿ô¤¬Àë¸À¤µ¤ì¤¿¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+
+#: cp/lang-options.h:159
+msgid "Don't announce deprecation of compiler features"
+msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¥³¥ó¥Ñ¥¤¥é¤Îµ¡Ç½¤ò¹ðÃΤ·¤Ê¤¤"
+
+#: f/bad.c:387
+msgid "note:"
+msgstr ""
+
+#: f/bad.c:391
+#, fuzzy
+msgid "warning:"
+msgstr "·Ù¹ð: "
+
+#: f/bad.c:395
+msgid "fatal:"
+msgstr ""
+
+#: f/bad.c:437
+msgid "(continued):"
+msgstr ""
+
+#: f/bad.c:487 f/bad.c:505
+msgid "[REPORT BUG!!] %"
+msgstr ""
+
+#: f/bad.c:494 f/bad.c:526
+msgid "[REPORT BUG!!]"
+msgstr ""
+
+#: f/com.c:3132
+#, no-c-format
+msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+msgstr ""
+
+#: f/com.c:11551
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr "¸½ºß¤ÎÀßÄê¤Ç¤ÏÈó INTEGER ·¿¤¬¥Ý¥¤¥ó¥¿¤òÊÝ»ý¤Ç¤­¤Þ¤¹"
-#: f/com.c:11820
+#: f/com.c:11772
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr "ÀßÄê: REAL, INTEGER µÚ¤Ó LOGICAL ¤Ï %d ¥Ó¥Ã¥ÈÉý¤Ç¡¢"
-#: f/com.c:11822
+#: f/com.c:11774
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
msgstr "¥Ý¥¤¥ó¥¿¤Ï %d ¥Ó¥Ã¥ÈÉý¤Ç¤¹¤¬¡¢¤½¤ì¤éÁ´¤Æ¤¬ 32 ¥Ó¥Ã¥ÈÉý"
-#: f/com.c:11824
+#: f/com.c:11776
#, fuzzy
msgid "properly unless they all are 32 bits wide"
msgstr "¤Ç¤Ê¤¤¤È g77 ¤ÏÀµ¾ï¤ËÆ°ºî¤·¤Þ¤»¤ó¡£"
-#: f/com.c:11825
-msgid "Please keep this in mind before you report bugs. g77 should"
-msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤ëÁ°¤Ë¤³¤Î»ö¤ò¿´¤Ëα¤á¤ÆÃÖ¤¤¤Æ¤¯¤À¤µ¤¤¡£"
-
-#: f/com.c:11826
+#: f/com.c:11777
#, fuzzy
-msgid "support non-32-bit machines better as of version 0.6"
-msgstr "g77 ¤Ï¤¤¤º¤ì version 0.6 ƱÍͤËÈó 32 ¥Ó¥Ã¥Èµ¡¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹"
+msgid "Please keep this in mind before you report bugs."
+msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤ëÁ°¤Ë¤³¤Î»ö¤ò¿´¤Ëα¤á¤ÆÃÖ¤¤¤Æ¤¯¤À¤µ¤¤¡£"
#. I/O will probably crash.
-#: f/com.c:11834
+#: f/com.c:11785
#, c-format
msgid "configuration: char * holds %d bits, but ftnlen only %d"
msgstr "ÀßÄê: char * ¤Ï %d ¥Ó¥Ã¥È³ÎÊݤ·¤Þ¤¹¤¬¡¢ftnlen ¤¬¤¿¤Ã¤¿ %d ¥Ó¥Ã¥È¤Ç¤¹"
#. ASSIGN 10 TO I will crash.
-#: f/com.c:11843
+#: f/com.c:11794
#, c-format
msgid ""
"configuration: char * holds %d bits, but INTEGER only %d --\n"
@@ -20693,30 +18841,230 @@ msgstr ""
"ÀßÄê: char * ¤Ï %d ¥Ó¥Ã¥È³ÎÊݤ·¤Þ¤¹¤¬¡¢INTEGER ¤¬¤¿¤Ã¤¿ %d ¥Ó¥Ã¥È¤Ç¤¹ --\n"
" ¶²¤é¤¯ ASSIGN ʸ¤¬¼ºÇÔ¤·¤Þ¤¹"
-#: f/com.c:15573
+#: f/com.c:13609
+#, fuzzy
+msgid "In statement function"
+msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#: f/com.c:13619
+msgid "Outside of any program unit:\n"
+msgstr ""
+
+#: f/com.c:15248
+#, no-c-format
+msgid "%A from %B at %0%C"
+msgstr ""
+
+#: f/com.c:15425
#, fuzzy
msgid "directory name must immediately follow -I"
msgstr "¥Ç¥¤¥ì¥¯¥È¥ê̾¤Ï -I ¤Î¤¹¤°¸å¤í¤Ë¤Ä¤±¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: f/g77spec.c:254
+#: f/com.c:15568
+#, fuzzy, no-c-format
+msgid "At %0, INCLUDE file %A exists, but is not readable"
+msgstr "include ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë `%s' ¤Ï¡¢Â¸ºß¤·¤Þ¤¹¤¬Æɤá¤Þ¤»¤ó"
+
+#: f/com.c:15603
+#, no-c-format
+msgid "At %0, INCLUDE nesting too deep"
+msgstr ""
+
+#: f/expr.c:9614
+#, no-c-format
+msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+msgstr ""
+
+#: f/expr.c:9664
+#, no-c-format
+msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+msgstr ""
+
+#: 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:10896
+#, no-c-format
+msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+msgstr ""
+
+#: f/g77spec.c:255
#, c-format
msgid "overflowed output arg list for `%s'"
msgstr "`%s' ÍѤνÐÎÏ°ú¿ô¥ê¥¹¥È¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: f/g77spec.c:393
+#: f/g77spec.c:394
msgid "--driver no longer supported"
msgstr "--driver ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
-#: f/g77spec.c:406
+#: f/g77spec.c:407
#, c-format
msgid "argument to `%s' missing"
msgstr "`%s' ¤Ø¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: f/g77spec.c:410
+#: f/g77spec.c:411
#, fuzzy
msgid "no input files; unwilling to write output files"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó -- ÉÔËܰդʽÐÎÏ¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­¹þ¤ß"
+#: f/implic.c:203
+#, fuzzy, no-c-format
+msgid "Implicit declaration of `%A' at %0"
+msgstr "Á°Êý¤Ç¤Î `%s' ¤Î°ÅÌÛŪ¤ÊÀë¸À"
+
+#: f/lex.c:326
+#, fuzzy, no-c-format
+msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+msgstr "Èó ISO ɸ½à¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹, '\\%c'"
+
+#: f/lex.c:345
+#, fuzzy, no-c-format
+msgid "Unknown escape sequence `\\%A' at %0"
+msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ `\\%c'"
+
+#: f/lex.c:354
+#, fuzzy, no-c-format
+msgid "Unterminated escape sequence `\\' at %0"
+msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ `\\%c'"
+
+#: f/lex.c:365
+#, fuzzy, no-c-format
+msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹: `\\' ¤Î¸å¤Ëʸ»ú¥³¡¼¥É 0x%x"
+
+#: f/lex.c:393
+#, fuzzy, no-c-format
+msgid "\\x used at %0 with no following hex digits"
+msgstr "\\x ¤Ë¡¢¤½¤ì¤Ë³¤¯¤Ï¤º¤Î 16 ¿Ê¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: f/lex.c:407
+#, fuzzy, no-c-format
+msgid "Hex escape at %0 out of range"
+msgstr "16 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
+
+#: f/lex.c:441
+#, fuzzy, no-c-format
+msgid "Escape sequence at %0 out of range for character"
+msgstr "ʸ»ú¤ËÂФ¹¤ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+
+#: f/lex.c:595
+msgid "hex escape out of range"
+msgstr "16 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
+
+#: f/lex.c:648
+#, c-format
+msgid "non-ANSI-standard escape sequence, `\\%c'"
+msgstr "Èó ANSI ɸ½à¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¡¢`\\%c'"
+
+#: f/lex.c:661
+#, fuzzy, c-format
+msgid "non-ISO escape sequence `\\%c'"
+msgstr "Èó ANSI ¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¡¢`\\%c'"
+
+#: f/lex.c:665
+#, c-format
+msgid "unknown escape sequence `\\%c'"
+msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ `\\%c'"
+
+#: f/lex.c:667
+#, c-format
+msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹: `\\' ¤Î¸å¤Ëʸ»ú¥³¡¼¥É 0x%x"
+
+#: f/lex.c:744
+#, fuzzy
+msgid "badly formed directive -- no closing quote"
+msgstr "ÉÔÀµ¤Ê·Á¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö -- ÊĤ¸¥¯¥©¡¼¥È¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
+msgstr "¥Õ¥¡¥¤¥ë¤Ø¤Î½ÐÆþ¤ê¸ý¤È¤Ê¤ë #-¹Ô ¤¬À°¹ç¤·¤Þ¤»¤ó"
+
+#: f/lex.c:964
+#, fuzzy
+msgid "bad directive -- missing close-quote"
+msgstr "ÉÔÀµ¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö -- ÊĤ¸¥¯¥©¡¼¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#: f/lex.c:1078
+#, c-format
+msgid "ignoring pragma: %s"
+msgstr "pragma ¤ò̵»ë¤·¤Þ¤¹: %s"
+
+#: f/lex.c:1156
+msgid "invalid #ident"
+msgstr "̵¸ú¤Ê #ident"
+
+#: f/lex.c:1173
+msgid "undefined or invalid # directive"
+msgstr "̤ÄêµÁËô¤ÏÉÔÀµ¤Ê # ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤¹"
+
+#: f/lex.c:1229
+msgid "invalid #line"
+msgstr "̵¸ú¤Ê #line"
+
+#: f/lex.c:1285 f/lex.c:1329
+#, fuzzy
+msgid "use `#line ...' instead of `# ...' in first line"
+msgstr "ºÇ½é¤Î¹Ô¤Ç¤Ï `# ...' ¤ÎÂå¤ê¤Ë `#line ...' ¤ò»È¤¤¤Þ¤·¤ç¤¦"
+
+#: f/lex.c:1339
+msgid "invalid #-line"
+msgstr "̵¸ú¤Ê #-¹Ô"
+
+#: f/lex.c:1432
+#, fuzzy, no-c-format
+msgid "Null character at %0 -- line ignored"
+msgstr "null ʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+#: f/stb.c:12078
+#, no-c-format
+msgid "INCLUDE at %0 not the only statement on the source line"
+msgstr ""
+
+#: f/ste.c:1400 f/ste.c:1747
+msgid "ASSIGNed FORMAT specifier is too small"
+msgstr "ASSIGN ¤µ¤ì¤¿ FORMAT »ØÄê»Ò¤¬¾®¤µ¤¹¤®¤Þ¤¹"
+
+#. ~~~Someday handle CHARACTER*1, CHARACTER*N
+#: f/ste.c:2624
+#, no-c-format
+msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+msgstr ""
+
+#: f/ste.c:2953
+msgid "ASSIGN to variable that is too small"
+msgstr "ASSIGN Àè¤ÎÊÑ¿ô¤¬¾®¤µ¤¹¤®¤Þ¤¹"
+
+#: f/ste.c:2981
+msgid "ASSIGNed GOTO target variable is too small"
+msgstr "ASSIGN ¤µ¤ì¤¿ GOTO ÀèÊÑ¿ô¤¬¾®¤µ¤¹¤®¤Þ¤¹"
+
+#: f/stu.c:305
+#, no-c-format
+msgid "Local adjustable symbol `%A' at %0"
+msgstr ""
+
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr ""
+
+#: f/top.c:237
+#, c-format
+msgid "%s no longer supported -- try -fvxt"
+msgstr "%s ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- -fvxt ¤È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤"
+
+#: f/top.c:239
+#, c-format
+msgid "%s no longer supported -- try -fno-vxt -ff90"
+msgstr "%s ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- -fno-vxt -ff90 ¤È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤"
+
+#: f/top.c:307 f/top.c:309
+#, c-format
+msgid "%s disabled, use normal debugging flags"
+msgstr "%s ¤¬Ìµ¸ú¤Ç¤¹¡£Ä̾ï¥Ç¥Ð¥Ã¥°¥Õ¥é¥°¤ò»È¤¤¤Þ¤·¤ç¤¦"
+
#: f/lang-options.h:33
msgid "Print g77-specific compiler version info, run internal tests"
msgstr "g77 ¸ÇÍ­¤Î¥³¥ó¥Ñ¥¤¥é¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¡¢ÆâÉô¥Æ¥¹¥È¤Î¼Â¹Ô"
@@ -21025,441 +19373,1230 @@ msgstr "INCLUDE õº÷ÍѤΥǥ£¥ì¥¯¥È¥ê¤òÄɲ乤ë"
msgid "Set the maximum line length"
msgstr "¹Ô¤ÎŤµ¤ÎºÇÂçÃͤòÀßÄꤹ¤ë"
-#: f/lex.c:583
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr "`\\x' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
+#: f/bad.def:39
+#, fuzzy, no-c-format
+msgid "Missing first operand for binary operator at %0"
+msgstr "¥Õ¥©¡¼¥Þ¥Ã¥ÈÆâ¤Ç $ ±é»»»ÒÈÖ¹æ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: f/lex.c:620
-msgid "hex escape out of range"
-msgstr "16 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
+#: f/bad.def:42
+#, fuzzy, no-c-format
+msgid "Zero-length character constant at %0"
+msgstr "¶õ¤Îʸ»úÄê¿ô"
-#: f/lex.c:666
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr "-traditional ¤Ç¤Ï `\\a' ¤Î°ÕÌ£¤¬°Û¤Ê¤ê¤Þ¤¹"
+#: f/bad.def:45
+#, fuzzy, no-c-format
+msgid "Invalid token at %0 in expression or subexpression at %1"
+msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
-#: f/lex.c:682
-#, c-format
-msgid "non-ANSI-standard escape sequence, `\\%c'"
-msgstr "Èó ANSI ɸ½à¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¡¢`\\%c'"
+#: f/bad.def:48
+#, no-c-format
+msgid "Missing operand for operator at %1 at end of expression at %0"
+msgstr ""
-#: f/lex.c:695
-#, fuzzy, c-format
-msgid "non-ISO escape sequence `\\%c'"
-msgstr "Èó ANSI ¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¡¢`\\%c'"
+#: f/bad.def:51
+#, no-c-format
+msgid "Label %A already defined at %1 when redefined at %0"
+msgstr ""
-#: f/lex.c:699
-#, c-format
-msgid "unknown escape sequence `\\%c'"
-msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ `\\%c'"
+#: f/bad.def:54
+#, no-c-format
+msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+msgstr ""
-#: f/lex.c:701
-#, c-format
-msgid "unknown escape sequence: `\\' followed by char code 0x%x"
-msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹: `\\' ¤Î¸å¤Ëʸ»ú¥³¡¼¥É 0x%x"
+#: f/bad.def:57
+#, no-c-format
+msgid "Label definition %A at %0 on empty statement (as of %1)"
+msgstr ""
-#: f/lex.c:778
-#, fuzzy
-msgid "badly formed directive -- no closing quote"
-msgstr "ÉÔÀµ¤Ê·Á¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö -- ÊĤ¸¥¯¥©¡¼¥È¤¬¤¢¤ê¤Þ¤»¤ó"
+#: f/bad.def:65
+#, fuzzy, no-c-format
+msgid "Invalid first character at %0 [info -f g77 M LEX]"
+msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
-#: f/lex.c:998
-#, fuzzy
-msgid "bad directive -- missing close-quote"
-msgstr "ÉÔÀµ¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö -- ÊĤ¸¥¯¥©¡¼¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+#: f/bad.def:68
+#, no-c-format
+msgid "Line too long as of %0 [info -f g77 M LEX]"
+msgstr ""
-#: f/lex.c:1112
-#, c-format
-msgid "ignoring pragma: %s"
-msgstr "pragma ¤ò̵»ë¤·¤Þ¤¹: %s"
+#: f/bad.def:71
+#, no-c-format
+msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
+msgstr ""
-#: f/lex.c:1319 f/lex.c:1363
-#, fuzzy
-msgid "use `#line ...' instead of `# ...' in first line"
-msgstr "ºÇ½é¤Î¹Ô¤Ç¤Ï `# ...' ¤ÎÂå¤ê¤Ë `#line ...' ¤ò»È¤¤¤Þ¤·¤ç¤¦"
+#: f/bad.def:74
+#, no-c-format
+msgid "Label number at %0 not in range 1-99999"
+msgstr ""
-#: f/ste.c:1404 f/ste.c:1755
-msgid "ASSIGNed FORMAT specifier is too small"
+#: f/bad.def:77
+#, fuzzy, no-c-format
+msgid "At %0, '!' and '/*' are not valid comment delimiters"
+msgstr "'Ll' ¤È 'lL' ¤ÏÀµ¾ï¤ÊÀ°¿ôÀÜÈø¼­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: f/bad.def:80
+#, no-c-format
+msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:83
+#, no-c-format
+msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+msgstr ""
+
+#: f/bad.def:91
+#, fuzzy, no-c-format
+msgid "Character constant at %0 has no closing apostrophe at %1"
+msgstr "ʸ»úÄê¿ô¤¬Ä¹¤¹¤®¤Þ¤¹"
+
+#: f/bad.def:94
+#, no-c-format
+msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+msgstr ""
+
+#: f/bad.def:97
+#, no-c-format
+msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+msgstr ""
+
+#: f/bad.def:100
+#, fuzzy, no-c-format
+msgid "Integer at %0 too large"
+msgstr "À°¿ôÄê¿ô¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+
+#: f/bad.def:123
+#, no-c-format
+msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+msgstr ""
+
+#: f/bad.def:126
+#, no-c-format
+msgid "Missing close-period between `.%A' at %0 and %1"
+msgstr ""
+
+#: f/bad.def:129
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+msgstr ""
+
+#: f/bad.def:132
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
+msgstr ""
+
+#: f/bad.def:135
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
+msgstr ""
+
+#: f/bad.def:253
+#, no-c-format
+msgid "Semicolon at %0 is an invalid token"
+msgstr ""
+
+#: f/bad.def:271
+#, no-c-format
+msgid "Extraneous comma in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:274
+#, no-c-format
+msgid "Missing comma in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:277
+#, no-c-format
+msgid "Spurious sign in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:280
+#, no-c-format
+msgid "Spurious number in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:283
+#, no-c-format
+msgid "Spurious text trailing number in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:291
+#, fuzzy, no-c-format
+msgid "Unrecognized FORMAT specifier at %0"
+msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥È»ØÄê»Ò"
+
+#: f/bad.def:419
+#, no-c-format
+msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:422
+#, no-c-format
+msgid "Missing number following period in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:425
+#, no-c-format
+msgid "Missing number following `E' in FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:433
+#, fuzzy, no-c-format
+msgid "Spurious trailing comma preceding terminator at %0"
+msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë `%%' ¤Îº¯Àפ餷¤­¤â¤Î¤¬¤¢¤ê¤Þ¤¹"
+
+#: f/bad.def:436
+#, no-c-format
+msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+msgstr ""
+
+#: f/bad.def:439
+#, no-c-format
+msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+msgstr ""
+
+#: f/bad.def:452
+#, no-c-format
+msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+msgstr ""
+
+#: f/bad.def:455
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with its definition at %0"
+msgstr ""
+
+#: f/bad.def:458
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+msgstr ""
+
+#: f/bad.def:461
+#, no-c-format
+msgid "DO-statement reference to label at %1 follows its definition at %0"
+msgstr ""
+
+#: f/bad.def:464
+#, no-c-format
+msgid "Reference to label at %1 is outside block containing definition at %0"
+msgstr ""
+
+#: f/bad.def:467
+#, no-c-format
+msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+msgstr ""
+
+#: f/bad.def:470
+#, no-c-format
+msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+msgstr ""
+
+#: f/bad.def:473
+#, no-c-format
+msgid "Label definition at %0 invalid on this kind of statement"
+msgstr ""
+
+#: f/bad.def:476
+#, no-c-format
+msgid "Statement at %0 invalid in this context"
+msgstr ""
+
+#: f/bad.def:479
+#, no-c-format
+msgid "Statement at %0 invalid in context established by statement at %1"
+msgstr ""
+
+#: f/bad.def:482
+#, no-c-format
+msgid "Statement at %0 must specify construct name specified at %1"
+msgstr ""
+
+#: f/bad.def:485
+#, no-c-format
+msgid "Construct name at %0 superfluous, no construct name specified at %1"
+msgstr ""
+
+#: f/bad.def:488
+#, no-c-format
+msgid "Construct name at %0 not the same as construct name at %1"
+msgstr ""
+
+#: f/bad.def:491
+#, no-c-format
+msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+msgstr ""
+
+#: f/bad.def:494
+#, no-c-format
+msgid "Label definition missing at %0 for DO construct specifying label at %1"
+msgstr ""
+
+#: f/bad.def:497
+#, no-c-format
+msgid "Statement at %0 follows ELSE block for IF construct at %1"
+msgstr ""
+
+#: f/bad.def:500
+#, no-c-format
+msgid "No label definition for FORMAT statement at %0"
+msgstr ""
+
+#: f/bad.def:503
+#, no-c-format
+msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+msgstr ""
+
+#: f/bad.def:506
+#, no-c-format
+msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+msgstr ""
+
+#: f/bad.def:509
+#, no-c-format
+msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+msgstr ""
+
+#: f/bad.def:512
+#, no-c-format
+msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+msgstr ""
+
+#: f/bad.def:515
+#, no-c-format
+msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+msgstr ""
+
+#: f/bad.def:518
+#, no-c-format
+msgid "Program unit name at %0 not the same as name at %1"
+msgstr ""
+
+#: f/bad.def:521
+#, no-c-format
+msgid "Type name at %0 not the same as name at %1"
+msgstr ""
+
+#: f/bad.def:524
+#, no-c-format
+msgid "End of source file before end of block started at %0"
+msgstr ""
+
+#: f/bad.def:527
+#, no-c-format
+msgid "Undefined label, first referenced at %0"
+msgstr ""
+
+#: f/bad.def:530
+#, no-c-format
+msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
+msgstr ""
+
+#: f/bad.def:533
+#, no-c-format
+msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
+msgstr ""
+
+#: f/bad.def:536
+#, no-c-format
+msgid "RETURN statement at %0 invalid within a main program unit"
+msgstr ""
+
+#: f/bad.def:539
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a main program unit"
+msgstr ""
+
+#: f/bad.def:542
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a function"
+msgstr ""
+
+#: f/bad.def:545
+#, no-c-format
+msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
+msgstr ""
+
+#: f/bad.def:548
+#, no-c-format
+msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+msgstr ""
+
+#: f/bad.def:551
+#, no-c-format
+msgid "No components specified as of %0 for derived-type definition beginning at %1"
+msgstr ""
+
+#: f/bad.def:554
+#, no-c-format
+msgid "No components specified as of %0 for structure definition beginning at %1"
+msgstr ""
+
+#: f/bad.def:557
+#, no-c-format
+msgid "Missing structure name for outer structure definition at %0"
+msgstr ""
+
+#: f/bad.def:560
+#, no-c-format
+msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+msgstr ""
+
+#: f/bad.def:563
+#, no-c-format
+msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+msgstr ""
+
+#: f/bad.def:566
+#, no-c-format
+msgid "No components specified as of %0 for map beginning at %1"
+msgstr ""
+
+#: f/bad.def:569
+#, no-c-format
+msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+msgstr ""
+
+#: f/bad.def:572
+#, no-c-format
+msgid "Missing %A specifier in statement at %0"
+msgstr ""
+
+#: f/bad.def:575
+#, no-c-format
+msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+msgstr ""
+
+#: f/bad.def:578
+#, fuzzy, no-c-format
+msgid "Conflicting I/O control specifications at %0 and %1"
+msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò¤¬¶¥¹ç¤·¤¿¤¿¤á¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+#: f/bad.def:581
+#, no-c-format
+msgid "No UNIT= specifier in I/O control list at %0"
+msgstr ""
+
+#: f/bad.def:584
+#, no-c-format
+msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+msgstr ""
+
+#: f/bad.def:587
+#, no-c-format
+msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+msgstr ""
+
+#: f/bad.def:595
+#, no-c-format
+msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+msgstr ""
+
+#: f/bad.def:598
+#, fuzzy, no-c-format
+msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+msgstr "Æó½Å¤Î(¤¢¤ë¤¤¤Ï½ÅÊ£¤·¤Æ¤¤¤ë) case ¤ÎÃÍ"
+
+#: f/bad.def:601
+#, no-c-format
+msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+msgstr ""
+
+#: f/bad.def:604
+#, no-c-format
+msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+msgstr ""
+
+#: f/bad.def:617
+#, no-c-format
+msgid "Fortran 90 feature at %0 unsupported"
+msgstr ""
+
+#: f/bad.def:630
+#, no-c-format
+msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+msgstr ""
+
+#: f/bad.def:638
+#, no-c-format
+msgid "Null element at %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:641
+#, no-c-format
+msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:644
+#, no-c-format
+msgid "Too many elements as of %0 for array reference at %1"
+msgstr ""
+
+#: f/bad.def:647
+#, no-c-format
+msgid "Missing colon as of %0 in substring reference for %1"
+msgstr ""
+
+#: f/bad.def:650
+#, fuzzy, no-c-format
+msgid "Invalid use at %0 of substring operator on %1"
+msgstr "´ûÃΤÎÁ´¤Æ¤Îʸ»úÎóÁàºî¤ò inline ¤Ë¤¹¤ë"
+
+#: f/bad.def:653
+#, no-c-format
+msgid "Substring begin/end point at %0 out of defined range"
+msgstr ""
+
+#: f/bad.def:656
+#, no-c-format
+msgid "Array element value at %0 out of defined range"
+msgstr ""
+
+#: f/bad.def:659
+#, no-c-format
+msgid "Expression at %0 has incorrect data type or rank for its context"
+msgstr ""
+
+#: f/bad.def:662
+#, no-c-format
+msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+msgstr ""
+
+#: f/bad.def:665
+#, no-c-format
+msgid "%A step count known to be 0 (zero) at %0"
+msgstr ""
+
+#: f/bad.def:668
+#, no-c-format
+msgid "%A end value plus step count known to overflow at %0"
+msgstr ""
+
+#: f/bad.def:671
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+msgstr ""
+
+#: f/bad.def:674
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+msgstr ""
+
+#: f/bad.def:677
+#, no-c-format
+msgid "Type disagreement between expressions at %0 and %1"
+msgstr ""
+
+#: f/bad.def:690
+#, no-c-format
+msgid "No specification for implied-DO iterator `%A' at %0"
+msgstr ""
+
+#: f/bad.def:693
+#, no-c-format
+msgid "Gratuitous parentheses surround implied-DO construct at %0"
+msgstr ""
+
+#: f/bad.def:696
+#, no-c-format
+msgid "Zero-size specification invalid at %0"
+msgstr ""
+
+#: f/bad.def:699
+#, no-c-format
+msgid "Zero-size array at %0"
+msgstr ""
+
+#: f/bad.def:702
+#, no-c-format
+msgid "Target machine does not support complex entity of kind specified at %0"
+msgstr ""
+
+#: f/bad.def:705
+#, no-c-format
+msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
+msgstr ""
+
+#: f/bad.def:708
+#, fuzzy, no-c-format
+msgid "Attempt to raise constant zero to a power at %0"
+msgstr "¤Ç¤­¤ë¤À¤±¥¹¥¿¥Ã¥¯¤ò¤³¤ÎÃͤÎÆó¾è¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
+
+#: f/bad.def:806
+#, no-c-format
+msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
+msgstr ""
+
+#: f/bad.def:809
+#, no-c-format
+msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
+msgstr ""
+
+#: f/bad.def:812
+#, no-c-format
+msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
+msgstr ""
+
+#: f/bad.def:815
+#, no-c-format
+msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
+msgstr ""
+
+#: f/bad.def:818
+#, no-c-format
+msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
+msgstr ""
+
+#: f/bad.def:821
+#, fuzzy, no-c-format
+msgid "Unable to open INCLUDE file `%A' at %0"
+msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+#: f/bad.def:839
+#, no-c-format
+msgid "Null argument at %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:842
+#, no-c-format
+msgid "Null argument at %0 for procedure invocation at %1"
+msgstr ""
+
+#: f/bad.def:845
+#, no-c-format
+msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:848
+#, no-c-format
+msgid "%A too many arguments as of %0 for statement function reference at %1"
+msgstr ""
+
+#: f/bad.def:851
+#, no-c-format
+msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
+msgstr ""
+
+#: f/bad.def:854
+#, fuzzy, no-c-format
+msgid "Unsupported FORMAT specifier at %0"
msgstr "ASSIGN ¤µ¤ì¤¿ FORMAT »ØÄê»Ò¤¬¾®¤µ¤¹¤®¤Þ¤¹"
-#: f/ste.c:2964
-msgid "ASSIGN to variable that is too small"
-msgstr "ASSIGN Àè¤ÎÊÑ¿ô¤¬¾®¤µ¤¹¤®¤Þ¤¹"
+#: f/bad.def:857
+#, no-c-format
+msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
+msgstr ""
-#: f/ste.c:2992
-msgid "ASSIGNed GOTO target variable is too small"
-msgstr "ASSIGN ¤µ¤ì¤¿ GOTO ÀèÊÑ¿ô¤¬¾®¤µ¤¹¤®¤Þ¤¹"
+#: f/bad.def:880
+#, no-c-format
+msgid "Unsupported VXT statement at %0"
+msgstr ""
-#: f/top.c:238
-#, c-format
-msgid "%s no longer supported -- try -fvxt"
-msgstr "%s ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- -fvxt ¤È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤"
+#: f/bad.def:883
+#, no-c-format
+msgid "Attempt to specify second initial value for `%A' at %0"
+msgstr ""
-#: f/top.c:240
-#, c-format
-msgid "%s no longer supported -- try -fno-vxt -ff90"
-msgstr "%s ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- -fno-vxt -ff90 ¤È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤"
+#: f/bad.def:886
+#, no-c-format
+msgid "Too few initial values in list of initializers for `%A' at %0"
+msgstr ""
-#: f/top.c:308 f/top.c:310
-#, c-format
-msgid "%s disabled, use normal debugging flags"
-msgstr "%s ¤¬Ìµ¸ú¤Ç¤¹¡£Ä̾ï¥Ç¥Ð¥Ã¥°¥Õ¥é¥°¤ò»È¤¤¤Þ¤·¤ç¤¦"
+#: f/bad.def:889
+#, no-c-format
+msgid "Too many initial values in list of initializers starting at %0"
+msgstr ""
+
+#: f/bad.def:892
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in statement at %0"
+msgstr ""
+
+#: f/bad.def:895
+#, no-c-format
+msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:898
+#, no-c-format
+msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:901
+#, no-c-format
+msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
+msgstr ""
+
+#: f/bad.def:904
+#, no-c-format
+msgid "Not an integer constant expression in implied do-loop in statement at %0"
+msgstr ""
+
+#: f/bad.def:907
+#, no-c-format
+msgid "Attempt to specify second initial value for element of `%A' at %0"
+msgstr ""
+
+#: f/bad.def:910
+#, no-c-format
+msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
+msgstr ""
+
+#: f/bad.def:913
+#, no-c-format
+msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+msgstr ""
+
+#: f/bad.def:916
+#, no-c-format
+msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+msgstr ""
+
+#: f/bad.def:919
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:922
+#, no-c-format
+msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:925
+#, no-c-format
+msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:928
+#, no-c-format
+msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
+msgstr ""
+
+#: f/bad.def:936
+#, no-c-format
+msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
+msgstr ""
+
+#: f/bad.def:939
+#, no-c-format
+msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:942
+#, no-c-format
+msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
+msgstr ""
+
+#: f/bad.def:945
+#, no-c-format
+msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
+msgstr ""
+
+#: f/bad.def:958
+#, no-c-format
+msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
+msgstr ""
+
+#: f/bad.def:976
+#, no-c-format
+msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
+msgstr ""
+
+#: f/bad.def:979
+#, no-c-format
+msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
+msgstr ""
+
+#: f/bad.def:987
+#, no-c-format
+msgid "Blank common initialized at %0"
+msgstr ""
+
+#: f/bad.def:990
+#, no-c-format
+msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
+msgstr ""
+
+#: f/bad.def:993
+#, no-c-format
+msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
+msgstr ""
+
+#: f/bad.def:996
+#, no-c-format
+msgid "Character `%A' (for example) is upper-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:999
+#, no-c-format
+msgid "Character `%A' (for example) is lower-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1002
+#, no-c-format
+msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
+msgstr ""
-#: java/check-init.c:915
+#: f/bad.def:1005
+#, no-c-format
+msgid "Initial character `%A' is lower-case in symbol name at %0"
+msgstr ""
+
+#: f/bad.def:1013
+#, no-c-format
+msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
+msgstr ""
+
+#: f/bad.def:1016
+#, no-c-format
+msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
+msgstr ""
+
+#: f/bad.def:1034
+#, no-c-format
+msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
+msgstr ""
+
+#: f/bad.def:1037
+#, fuzzy, no-c-format
+msgid "Truncating characters on right side of character constant at %0"
+msgstr "ʸ»úÎóËô¤Ïʸ»úÄê¿ôÃæ¤Ë null ʸ»ú"
+
+#: f/bad.def:1040
+#, fuzzy, no-c-format
+msgid "Truncating characters on right side of hollerith constant at %0"
+msgstr "ʸ»úÎóËô¤Ïʸ»úÄê¿ôÃæ¤Ë null ʸ»ú"
+
+#: f/bad.def:1043
+#, no-c-format
+msgid "Truncating non-zero data on left side of numeric constant at %0"
+msgstr ""
+
+#: f/bad.def:1046
+#, no-c-format
+msgid "Truncating non-zero data on left side of typeless constant at %0"
+msgstr ""
+
+#: f/bad.def:1049
+#, fuzzy, no-c-format
+msgid "Typeless constant at %0 too large"
+msgstr "À°¿ôÄê¿ô¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+
+#: f/bad.def:1052
+#, no-c-format
+msgid "First-column ampersand continuation at %0"
+msgstr ""
+
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
+msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
+msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
+msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1073
+#, no-c-format
+msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1076
+#, no-c-format
+msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
+msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
+msgstr ""
+
+#: f/bad.def:1085
+#, fuzzy, no-c-format
+msgid "Array `%A' at %0 is too large to handle"
+msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Â礭¤¹¤®¤Þ¤¹"
+
+#: f/bad.def:1088
+#, fuzzy, no-c-format
+msgid "Statement function `%A' defined at %0 is not used"
+msgstr "¥é¥Ù¥ë `%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: f/bad.def:1091
+#, no-c-format
+msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
+msgstr ""
+
+#: f/bad.def:1094
+#, fuzzy, no-c-format
+msgid "Internal compiler error -- cannot perform operation"
+msgstr "%s ¤ÇÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼ (%s:%d)"
+
+#. Kind messages are used in diagnostic location reports of the
+#. form "<file>: In function `foo': <error message>".
+#: f/info-k.def:32
+msgid "In unknown kind"
+msgstr ""
+
+#: f/info-k.def:33
+msgid "In entity"
+msgstr ""
+
+#: f/info-k.def:34
+#, fuzzy
+msgid "In function"
+msgstr "´Ø¿ô `%s' Æâ:"
+
+#: f/info-k.def:35
+msgid "In subroutine"
+msgstr ""
+
+#: f/info-k.def:36
+#, fuzzy
+msgid "In program"
+msgstr "¥×¥í¥°¥é¥à: %s\n"
+
+#: f/info-k.def:37
+msgid "In block-data unit"
+msgstr ""
+
+#: f/info-k.def:38
+#, fuzzy
+msgid "In common block"
+msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d Æâ:"
+
+#: f/info-k.def:39
+#, fuzzy
+msgid "In construct"
+msgstr "¹½Â¤ÂÎ"
+
+#: f/info-k.def:40
+msgid "In namelist"
+msgstr ""
+
+#: f/info-k.def:41
+msgid "In anything"
+msgstr ""
+
+#: java/check-init.c:917
#, c-format
msgid "internal error in check-init: tree code not implemented: %s"
msgstr "check-init ¤ÇÆâÉô¥¨¥é¡¼: ¥Ä¥ê¡¼¥³¡¼¥É¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: %s"
-#: java/check-init.c:988
+#: java/check-init.c:990
#, fuzzy, c-format
msgid "final field '%s' may not have been initialized"
msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
-#: java/class.c:567 java/class.c:592
+#: java/class.c:539 java/class.c:564
msgid "internal error - too many interface type"
msgstr "ÆâÉô¥¨¥é¡¼ - interface ·¿¤¬Â¿¤¹¤®¤Þ¤¹"
-#: java/class.c:742
+#: java/class.c:677
msgid "bad method signature"
msgstr "ÉÔÀµ¤Ê¥á¥½¥Ã¥É¥·¥°¥Í¥¤¥Á¥ã¤Ç¤¹"
-#: java/class.c:787
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
msgstr "ConstantValue °À­¤Î¾ì½ê¤ò´Ö°ã¤¨¤Æ¤¤¤Þ¤¹¡Ê¤É¤Î¥Õ¥£¡¼¥ë¥É¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡Ë"
-#: java/class.c:789
+#: java/class.c:728
#, fuzzy, c-format
msgid "duplicate ConstantValue attribute for field '%s'"
msgstr "¥Õ¥£¡¼¥ë¥É '%s' ¤Î ConstantValue °À­¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: java/class.c:800
+#: java/class.c:739
#, fuzzy, c-format
msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr "¥Õ¥£¡¼¥ë¥É '%s' ¤Î ConstantValue °À­¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: java/class.c:1145
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
msgstr "¥Õ¥£¡¼¥ë¥É '%s' ¤¬¥¯¥é¥¹Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: java/class.c:1403
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
msgstr "abstract ¥á¥½¥Ã¥É¤¬ÈóÃê¾Ý¥¯¥é¥¹¤Ë¤¢¤ê¤Þ¤¹"
-#: java/class.c:2088
+#: java/class.c:2067
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr "ÈóÀÅŪ¥á¥½¥Ã¥É '%s' ¤¬ÀÅŪ¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤Þ¤¹"
-#: java/decl.c:1521
+#: java/decl.c:1537
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr "%s Æâ: ÊÑ¿ô¤ÈÎã³°ÈϰϤ¬ %d ¤Ç½Å¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: java/decl.c:1609
+#: java/decl.c:1618
msgid "bad type in parameter debug info"
msgstr "²¾°ú¿ô¥Ç¥Ð¥Ã¥°¾ðÊó¤ËÉÔÀµ¤Ê·¿¤¬¤¢¤ê¤Þ¤¹"
-#: java/decl.c:1619
+#: java/decl.c:1628
#, c-format
msgid "bad PC range for debug info for local `%s'"
msgstr "¥í¡¼¥«¥ë¤Î `%s' ÍѥǥХå°¾ðÊó¤Î¤¿¤á¤Î PC ÈϰϤ¬ÉÔÀµ¤Ç¤¹"
-#: java/expr.c:550
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
msgstr "¥¹¥¿¥Ã¥¯¥¢¥ó¥À¡¼¥Õ¥í¡¼ - dup* Áàºî"
-#: java/expr.c:1503
+#: java/expr.c:1536
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr "»²¾È `%s' ¤ÏÛ£Ëæ¤Ç¤¹: interface `%s' ¤È interface `%s' ¤Ë¸½¤ì¤Þ¤·¤¿"
-#: java/expr.c:1532
+#: java/expr.c:1565
#, c-format
msgid "field `%s' not found"
msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: java/expr.c:1683
+#: java/expr.c:1717
msgid "ret instruction not implemented"
msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: java/expr.c:1819
+#: java/expr.c:1852
#, c-format
msgid "method '%s' not found in class"
msgstr "¥á¥½¥Ã¥É '%s' ¤Ï¥¯¥é¥¹Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: java/expr.c:2023
+#: java/expr.c:2055
#, c-format
msgid "failed to find class '%s'"
msgstr "'%s' ¥¯¥é¥¹¤ò¸«¤Ä¤±¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-#: java/expr.c:2035
+#: java/expr.c:2065
#, fuzzy, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr "¥¯¥é¥¹ '%s' ¤Ï̾Á°¤¬ '%s' ¤Ç¥·¥°¥Í¥¤¥Á¥ã '%s' ¤È°ìÃפ¹¤ë¥á¥½¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: java/expr.c:2045
+#: java/expr.c:2075
msgid "invokestatic on non static method"
msgstr "ÈóÀÅŪ¥á¥½¥Ã¥É¤Ë invokestatic ¤·¤Þ¤·¤¿"
-#: java/expr.c:2050
+#: java/expr.c:2080
msgid "invokestatic on abstract method"
msgstr "Ãê¾Ý¥á¥½¥Ã¥É¤Ë invokestatic ¤·¤Þ¤·¤¿"
-#: java/expr.c:2058
+#: java/expr.c:2088
msgid "invoke[non-static] on static method"
msgstr "ÀÅŪ¥á¥½¥Ã¥É¤Ë invoke[Èó static] ¤·¤Þ¤·¤¿"
-#: java/expr.c:2335
+#: java/expr.c:2373
#, fuzzy, c-format
msgid "missing field '%s' in '%s'"
msgstr "¥Õ¥£¡¼¥ë¥É '%s'('%s' Æâ) ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: java/expr.c:2341
+#: java/expr.c:2379
#, fuzzy, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr "¥Õ¥£¡¼¥ë¥É '%s'('%s' Æâ) ¤Î¥·¥°¥Í¥¤¥Á¥ã¤¬°ìÃפ·¤Þ¤»¤ó"
-#: java/expr.c:2364
+#: java/expr.c:2402
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr "final ¥Õ¥£¡¼¥ë¥É `%s' ¤Ø¤ÎÂåÆþ¤Ç¤¹¤¬¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤Î¥¯¥é¥¹Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: java/expr.c:2369
+#: java/expr.c:2407
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
msgstr "final static ¥Õ¥£¡¼¥ë¥É `%s' ¤Ø¤ÎÂåÆþ¤Ç¤¹¤¬¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤Î¥¯¥é¥¹Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: java/expr.c:2376
+#: java/expr.c:2414
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr "final ¥Õ¥£¡¼¥ë¥É `%s' ¤Ø¤ÎÂåÆþ¤Ç¤¹¤¬¡¢¥³¥ó¥¹¥È¥é¥¯¥¿Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: java/expr.c:2614
+#: java/expr.c:2661
#, fuzzy, c-format
msgid "can't expand %s"
msgstr "%s ¤òŸ³«¤Ç¤­¤Þ¤»¤ó"
-#: java/expr.c:2790
+#: java/expr.c:2838
msgid "invalid PC in line number table"
msgstr "̵¸ú¤Ê PC ¤¬¹ÔÈÖ¹æ¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ê¤Þ¤¹"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2835
+#: java/expr.c:2883
#, fuzzy, c-format
msgid "unreachable bytecode from %d to before %d"
msgstr "%d ¤«¤é %d ¤ÎÁ°¤Þ¤Ç¤Î¥Ð¥¤¥È¥³¡¼¥É¤Ë¤ÏÅþã¤Ç¤­¤Þ¤»¤ó"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2872
+#: java/expr.c:2920
#, fuzzy, c-format
msgid "unreachable bytecode from %d to the end of the method"
msgstr "%d ¤«¤é¥á¥½¥Ã¥É¤Î½ª¤ê¤Þ¤Ç¤Î¥Ð¥¤¥È¥³¡¼¥É¤Ë¤ÏÅþã¤Ç¤­¤Þ¤»¤ó"
#. duplicate code from LOAD macro
-#: java/expr.c:3191
+#: java/expr.c:3238
msgid "unrecogized wide sub-instruction"
msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ wide sub Ì¿Îá¤Ç¤¹"
-#: java/jcf-io.c:410
+#: java/jcf-io.c:537
#, fuzzy, c-format
msgid "source file for class `%s' is newer than its matching class file. Source file `%s' used instead"
msgstr "¥¯¥é¥¹ `%s' ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢°ìÃפ¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤è¤ê¿·¤·¤¤¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÂå¤ê¤Ë»È¤¤¤Þ¤¹"
-#: java/jcf-parse.c:371
+#: java/jcf-parse.c:338
msgid "bad string constant"
msgstr "ÉÔÀµ¤Êʸ»úÎóÄê¿ô¤Ç¤¹"
-#: java/jcf-parse.c:427
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
msgstr "ÉÔÀµ¤ÊÄê¿ôÃÍ·¿ %d, ¥¤¥ó¥Ç¥Ã¥¯¥¹ %d"
-#: java/jcf-parse.c:685
+#: java/jcf-parse.c:528
+#, c-format
+msgid "can't reopen %s"
+msgstr "%s ¤òºÆ open ¤Ç¤­¤Þ¤»¤ó"
+
+#: java/jcf-parse.c:533
+#, c-format
+msgid "can't close %s"
+msgstr "%s ¤ò close ¤Ç¤­¤Þ¤»¤ó"
+
+#: java/jcf-parse.c:615
#, fuzzy, c-format
msgid "cannot find file for class %s"
msgstr "¥¯¥é¥¹ %s ÍѤΥե¡¥¤¥ë¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¡£"
-#: java/jcf-parse.c:697
+#: java/jcf-parse.c:627
msgid "not a valid Java .class file"
msgstr "Àµ¾ï¤Ê Java .class ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: java/jcf-parse.c:700
+#: java/jcf-parse.c:630
msgid "error while parsing constant pool"
msgstr "constant ¥×¡¼¥ë¤Î¹½Ê¸²òÀÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: java/jcf-parse.c:703
+#: java/jcf-parse.c:633
#, c-format
msgid "error in constant pool entry #%d\n"
msgstr "constant ¥×¡¼¥ë¹àÌÜ #%d Æâ¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿\n"
#. FIXME - where was first time
-#: java/jcf-parse.c:715
+#: java/jcf-parse.c:645
#, c-format
msgid "reading class %s for the second time from %s"
msgstr "class %s ¤òÆɹþ¤à¤Î¤Ï %s ¤«¤éÆó²óÌܤˤʤê¤Þ¤¹"
-#: java/jcf-parse.c:733
+#: java/jcf-parse.c:663
msgid "error while parsing fields"
msgstr "¥Õ¥£¡¼¥ë¥É¤Î¹½Ê¸²òÀÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: java/jcf-parse.c:736
+#: java/jcf-parse.c:666
msgid "error while parsing methods"
msgstr "¥á¥½¥Ã¥É¤Î¹½Ê¸²òÀÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: java/jcf-parse.c:739
+#: java/jcf-parse.c:669
msgid "error while parsing final attributes"
msgstr "final °À­¤Î¹½Ê¸²òÀÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: java/jcf-parse.c:753
+#: java/jcf-parse.c:683
#, fuzzy, c-format
msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr "`%s' Æâ¤Ç¸«¤Ä¤«¤Ã¤¿ `java.lang.Object' ¤Ï¡¢Ä¹¤µ¥¼¥í¤ÎÆÃÊÌ¤Ê `gnu.gcj.gcj-compiled' °À­¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£¤³¤ì¤ÏÉáÄ̤¢¤Ê¤¿¤Î¥¯¥é¥¹¥Ñ¥¹¤¬Àµ¤·¤¯ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤»ö¤ò°ÕÌ£¤·¤Þ¤¹¡£`info gcj \"Input Options\"' ¤ò»È¤Ã¤Æ¡¢¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄêÊýË¡¤òÀâÌÀ¤·¤Æ¤¢¤ë info ¥Ú¡¼¥¸¤ò¸«¤Æ²¼¤µ¤¤"
-#: java/jcf-parse.c:838
+#: java/jcf-parse.c:773
msgid "missing Code attribute"
msgstr "Code °À­¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: java/jcf-parse.c:1063
+#: java/jcf-parse.c:1010
#, fuzzy
msgid "source file seen twice on command line and will be compiled only once"
msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËºÆ¤Ó¸½¤ì¤Þ¤·¤¿¤¬¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤Î¤Ï°ìÅÙ¤À¤±¤Ç¤¹"
-#: java/jcf-parse.c:1079
+#: java/jcf-parse.c:1026
msgid "no input file specified"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: java/jcf-parse.c:1111
+#: java/jcf-parse.c:1055
#, c-format
msgid "can't close input file %s"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë %s ¤ò close ¤Ç¤­¤Þ¤»¤ó"
-#: java/jcf-parse.c:1148
+#: java/jcf-parse.c:1092
#, c-format
msgid "bad zip/jar file %s"
msgstr "zip/jar ¥Õ¥¡¥¤¥ë %s ¤ÏÉÔÀµ¤Ç¤¹"
-#: java/jcf-write.c:2577
+#: java/jcf-write.c:2641
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr "generate_bytecode_insn ¤ÇÆâÉô¥¨¥é¡¼ - ¥Ä¥ê¡¼¥³¡¼¥É¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: %s"
-#: java/jcf-write.c:2884
+#: java/jcf-write.c:2979
#, fuzzy
msgid "field initializer type mismatch"
msgstr "¥Õ¥£¡¼¥ë¥É½é´üÀßÄê»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: java/jcf-write.c:3293
+#: java/jcf-write.c:3387
#, c-format
msgid "can't create directory %s"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
-#: java/jcf-write.c:3320
-#, c-format
-msgid "can't to open %s"
-msgstr "%s ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+#: java/jcf-write.c:3441
+#, fuzzy, c-format
+msgid "can't create %s"
+msgstr "%s ¤òºÆ open ¤Ç¤­¤Þ¤»¤ó"
-#: java/jv-scan.c:183
+#: java/jv-scan.c:187
#, fuzzy
msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
msgstr "`--print-main', `--list-class', `--complexity' ¤«¤é¤Ï°ì¤Ä¤·¤«Áª¤Ù¤Þ¤»¤ó"
-#: java/jv-scan.c:186
+#: java/jv-scan.c:190
#, fuzzy, c-format
msgid "can't open output file `%s'"
msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
-#: java/jv-scan.c:222
+#: java/jv-scan.c:224
#, fuzzy, c-format
msgid "file not found `%s'"
msgstr "¥Õ¥¡¥¤¥ë `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: java/jvspec.c:384
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
msgstr "`--main' ̵¤·¤Ç¤Ï `-D' ¤ò»ØÄê¤Ç¤­¤Þ¤»¤ó\n"
-#: java/jvspec.c:390
-msgid "-R requires -o"
+#: java/jvspec.c:429
+#, fuzzy, c-format
+msgid "`%s' is not a valid class name"
+msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: java/jvspec.c:435
+msgid "--resource requires -o"
msgstr ""
-#: java/jvspec.c:397
+#: java/jvspec.c:442
#, fuzzy
msgid "warning: already-compiled .class files ignored with -C"
msgstr "·Ù¹ð: ¥³¥ó¥Ñ¥¤¥ëºÑ .class ¥Õ¥¡¥¤¥ë¤Ï -C ¤Ë¤è¤ê̵»ë¤µ¤ì¤Þ¤·¤¿"
-#: java/jvspec.c:404
+#: java/jvspec.c:449
msgid "cannot specify both -C and -o"
msgstr "-C ¤È -o ¤ÏξÊý¤ò°ì½ï¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó"
-#: java/jvspec.c:416
+#: java/jvspec.c:461
msgid "cannot create temporary file"
msgstr "°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
-#: java/jvspec.c:444
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
msgstr "@FILE ¤Ç¤ÎÊ£¿ô¥Õ¥¡¥¤¥ë¤Î»ÈÍѤϼÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: java/jvspec.c:501
+#: java/jvspec.c:538
msgid "cannot specify `main' class when not linking"
msgstr "¥ê¥ó¥¯»þ°Ê³°¤Ë¤Ï `main' ¥¯¥é¥¹¤ò»ØÄê¤Ç¤­¤Þ¤»¤ó"
-#: java/lang-options.h:32
-msgid "Disable automatic array bounds checking"
-msgstr "¼«Æ°Åª¤ÊÇÛÎó¶­³¦¸¡ºº¤ò¹Ô¤ï¤Ê¤¤"
-
-#: java/lang-options.h:34
-msgid "Assume native functions are implemented using JNI"
-msgstr "native ´Ø¿ô¤¬ JNI ¤òÍøÍѤ·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤¹"
-
-#: java/lang-options.h:36
-msgid "Set class path and suppress system path"
-msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤷ¤Æ¥·¥¹¥Æ¥à¥Ñ¥¹¤ò±£¤¹"
-
-#: java/lang-options.h:38
-msgid "Set class path"
-msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
-
-#: java/lang-options.h:40
-msgid "Choose class whose main method should be used"
-msgstr "main ¥á¥½¥Ã¥É¤¬»È¤ï¤ì¤ë¤Ù¤­¥¯¥é¥¹¤òÁªÂò¤¹¤ë"
-
-#: java/lang-options.h:42
-#, fuzzy
-msgid "Choose input encoding (default comes from locale)"
-msgstr "ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁªÂò¤¹¤ë(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï UTF-8)"
-
-#: java/lang-options.h:44
-msgid "Add directory to class path"
-msgstr "¥¯¥é¥¹¥Ñ¥¹¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ë"
-
-#: java/lang-options.h:46
-msgid "Directory where class files should be written"
-msgstr "¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê"
-
-#: java/lang-options.h:48
-msgid "Warn if modifiers are specified when not necessary"
-msgstr "»ØÄꤵ¤ì¤¿½¤¾þ»Ò¤¬ÉÔÍפʤâ¤Î¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
-
-#: java/lang-options.h:50
-msgid "Warn if deprecated empty statements are found"
-msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¶õʸ¤¬¸«¤Ä¤«¤ì¤Ð·Ù¹ð¤¹¤ë"
-
-#: java/lang-options.h:52
-msgid "Warn if .class files are out of date"
-msgstr ".class ¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤è¤ê¸Å¤±¤ì¤Ð·Ù¹ð¤¹¤ë"
-
-#: java/lang-options.h:54
-msgid "Always check for non gcj generated classes archives"
-msgstr "gcj ¤¬À¸À®¤·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¥¢¡¼¥«¥¤¥Ö¤ò¾ï¤Ë¸¡ºº¤¹¤ë"
-
-#: java/lang-options.h:56
-msgid "Never optimize static class initialization code"
-msgstr ""
-
-#: java/lang.c:431
+#: java/lang.c:543
msgid "can't do dependency tracking with input from stdin"
msgstr "ɸ½àÆþÎϤ«¤é¤ÎÆþÎϤǤϰ͸´Ø·¸¤ÎÄÉÀפ¬¤Ç¤­¤Þ¤»¤ó"
-#: java/lang.c:447
+#: java/lang.c:559
msgid "couldn't determine target name for dependency tracking"
msgstr "°Í¸´Ø·¸¤ÎÄÉÀפΤ¿¤á¤Î¥¿¡¼¥²¥Ã¥È̾¤¬ÆÃÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
@@ -21483,294 +20620,232 @@ msgstr ""
msgid "can't mangle %s"
msgstr "%s ¤Î̾Á°ÊÑ´¹(mangle) ¤Ç¤­¤Þ¤»¤ó"
-#: java/mangle_name.c:150 java/mangle_name.c:226
+#: java/mangle_name.c:144 java/mangle_name.c:216
msgid "internal error - invalid Utf8 name"
msgstr "ÆâÉô¥¨¥é¡¼ - ̵¸ú¤Ê Utf8 ̾¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:747
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:785
-msgid "Missing name"
-msgstr "̾Á°¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+#: ../../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 "¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:749
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:787
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:812
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:996
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1343
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1554
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1556
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1785
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1811
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1822
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1833
-#: /u/loewisma/gcc-20011219/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 "';' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/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 "'*' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:824
+#: ../../gcc-3cvs/gcc/java/parse.y:809
msgid "Class or interface declaration expected"
msgstr "¥¯¥é¥¹¤ä¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Àë¸À¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:859
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:861
+#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848
msgid "Missing class name"
msgstr "¥¯¥é¥¹Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:864
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:868
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:876
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1041
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1289
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1291
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1620
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1856
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1888
-#: /u/loewisma/gcc-20011219/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 "'{' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:878
+#: ../../gcc-3cvs/gcc/java/parse.y:865
msgid "Missing super class name"
msgstr "¥¹¡¼¥Ñ¡¼¥¯¥é¥¹Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:888
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:904
+#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891
msgid "Missing interface name"
msgstr "¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:975
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1308
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1369
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1578
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1800
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1809
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1820
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1831
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1843
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1860
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1862
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1933
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2104
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2166
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2318
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2330
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2337
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2344
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2355
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2357
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2395
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2397
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2399
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2420
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2422
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2424
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2440
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2442
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2463
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2465
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2467
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2495
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2497
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2499
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2501
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2519
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2521
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2532
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2543
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2554
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2565
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2576
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2589
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2593
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2595
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2608
-msgid "Missing term"
-msgstr "¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:990
+#: ../../gcc-3cvs/gcc/java/parse.y:977
msgid "Missing variable initializer"
msgstr "ÊÑ¿ô½é´ü²½»Ò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1007
+#: ../../gcc-3cvs/gcc/java/parse.y:994
msgid "Invalid declaration"
msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1013
-msgid "Can't specify array dimension in a declaration"
-msgstr "ÇÛÎó¤Î¼¡¸µ¤òÀë¸À¤Ç»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1015
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1091
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2141
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2163
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2167
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2202
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2279
-#: /u/loewisma/gcc-20011219/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 "']' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1019
+#: ../../gcc-3cvs/gcc/java/parse.y:1001
msgid "Unbalanced ']'"
msgstr "Âбþ¤Î¤Ê¤¤ ']' ¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1055
+#: ../../gcc-3cvs/gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
msgstr "̵¸ú¤Ê¥á¥½¥Ã¥ÉÀë¸À¤Ç¤¹¡£¥á¥½¥Ã¥É̾¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1061
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1063
-#: /u/loewisma/gcc-20011219/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 "¼±Ê̻Ҥ¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1066
+#: ../../gcc-3cvs/gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
msgstr "̵¸ú¤Ê¥á¥½¥Ã¥ÉÀë¸À¤Ç¤¹¡£¥á¥½¥Ã¥É̾¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1089
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1534
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1541
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1550
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1552
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1580
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1688
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1969
-#: /u/loewisma/gcc-20011219/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 "')' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1105
+#: ../../gcc-3cvs/gcc/java/parse.y:1096
msgid "Missing formal parameter term"
msgstr "Àµ¼°¤Ê²¾°ú¿ô¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1120
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1125
+#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116
msgid "Missing identifier"
msgstr "¼±Ê̻Ҥò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1145
-#: /u/loewisma/gcc-20011219/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 "¥¯¥é¥¹¥¿¥¤¥×¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1306
+#: ../../gcc-3cvs/gcc/java/parse.y:1301
msgid "Invalid interface type"
msgstr "¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹·¿¤¬Ìµ¸ú¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1498
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1667
-#: /u/loewisma/gcc-20011219/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 "':' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1520
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1525
-#: /u/loewisma/gcc-20011219/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 "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1548
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1576
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1616
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1684
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1752
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1858
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1926
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2016
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2018
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2026
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2262
-#: /u/loewisma/gcc-20011219/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 "'(' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1618
+#: ../../gcc-3cvs/gcc/java/parse.y:1614
msgid "Missing term or ')'"
msgstr "¹à¤Þ¤¿¤Ï ')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1665
+#: ../../gcc-3cvs/gcc/java/parse.y:1661
msgid "Missing or invalid constant expression"
msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1686
+#: ../../gcc-3cvs/gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr "¹à¤Èɬ¿Ü¤Î ')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1725
+#: ../../gcc-3cvs/gcc/java/parse.y:1721
msgid "Invalid control expression"
msgstr "̵¸ú¤ÊÀ©¸æ¼°¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1727
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1729
+#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725
msgid "Invalid update expression"
msgstr "̵¸ú¤Ê¹¹¿·¼°¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1754
+#: ../../gcc-3cvs/gcc/java/parse.y:1750
msgid "Invalid init statement"
msgstr "̵¸ú¤Ê½é´ü²½¼°¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1929
+#: ../../gcc-3cvs/gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr "¹à¤Þ¤¿¤Ïɬ¿Ü¤Î ')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1971
+#: ../../gcc-3cvs/gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
msgstr "'class' ¤Þ¤¿¤Ï 'this' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1973
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:1975
+#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987
msgid "'class' expected"
msgstr "'class' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2020
+#: ../../gcc-3cvs/gcc/java/parse.y:2032
msgid "')' or term expected"
msgstr "')' ¤Þ¤¿¤Ï¹à¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2139
+#: ../../gcc-3cvs/gcc/java/parse.y:2151
msgid "'[' expected"
msgstr "'[' ¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2217
+#: ../../gcc-3cvs/gcc/java/parse.y:2229
msgid "Field expected"
msgstr "¥Õ¥£¡¼¥ë¥É¤¬É¬ÍפǤ¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2274
-#: /u/loewisma/gcc-20011219/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 "¹à¤Èɬ¿Ü¤Î ']' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2388
+#: ../../gcc-3cvs/gcc/java/parse.y:2400
msgid "']' expected, invalid type expression"
msgstr "']' ¤¬É¬Íפǡ¢Ìµ¸ú¤Ê·¿É½¸½¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2391
+#: ../../gcc-3cvs/gcc/java/parse.y:2403
msgid "Invalid type expression"
msgstr "̵¸ú¤Ê·¿É½¸½¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2503
+#: ../../gcc-3cvs/gcc/java/parse.y:2515
msgid "Invalid reference type"
msgstr "̵¸ú¤Ê»²¾È·¿¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2981
+#: ../../gcc-3cvs/gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Îµ¯Æ°¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿Æâ¤ÇºÇ½é¤Ë¹Ô¤Ê¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2983
+#: ../../gcc-3cvs/gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤À¤±¤¬¥³¥ó¥¹¥È¥é¥¯¥¿¤òµ¯Æ°¤Ç¤­¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:2992
+#: ../../gcc-3cvs/gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
msgstr ": `%s' ¤Ï JDK1.1(TM) ¤Îµ¡Ç½¤Ç¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:3052
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:3054
+#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
@@ -21779,200 +20854,253 @@ msgstr ""
"%s.\n"
"%s"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:3517
-msgid "Can't use '$' as a separator for inner classes"
-msgstr "'$' ¤ÏÆâÉô¥¯¥é¥¹¤Î¶èÀÚ¤ê»Ò¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤»¤ó"
-
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:6791
+#: ../../gcc-3cvs/gcc/java/parse.y:6867
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr "CLASSPATH Æâ¤ËÊÑ¤Ê .zip ¥¢¡¼¥«¥¤¥Ö¤¬¤¢¤ê¤Þ¤¹: %s"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:6862
+#: ../../gcc-3cvs/gcc/java/parse.y:6938
#, fuzzy, c-format
msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives"
msgstr "¥Ç¥Õ¥©¥ë¥È¥Ñ¥Ã¥±¡¼¥¸ `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£CLASSPATH ´Ä¶­ÊÑ¿ô¤È¥¢¡¼¥«¥¤¥Ö¤Ø¤Î¥¢¥¯¥»¥¹¤ò³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:12159
+#: ../../gcc-3cvs/gcc/java/parse.y:12266
#, c-format
msgid "missing static field `%s'"
msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:12164
+#: ../../gcc-3cvs/gcc/java/parse.y:12271
#, c-format
msgid "not a static field `%s'"
msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:12207
+#: ../../gcc-3cvs/gcc/java/parse.y:12314
#, c-format
msgid "No case for %s"
msgstr "%s ¤Î¤¿¤á¤Î case ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: /u/loewisma/gcc-20011219/gcc/java/parse.y:13093
+#: ../../gcc-3cvs/gcc/java/parse.y:13240
#, c-format
msgid "unregistered operator %s"
msgstr "ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤±é»»»Ò %s ¤Ç¤¹"
-#: java/typeck.c:566
+#: java/typeck.c:553
msgid "junk at end of signature string"
msgstr "¥·¥°¥Í¥¤¥Á¥ãʸ»úÎó¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
-#: java/verify.c:480
+#: java/verify.c:479
msgid "bad pc in exception_table"
msgstr "exception_table ¤ËÉÔÀµ¤Ê pc ¤¬¤¢¤ê¤Þ¤¹"
-#: 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 "ÉÔÌÀ¤Ê opcode %d@pc=%d ¤ò¸¡¾ÚÃæ¤Ëȯ¸«¤·¤Þ¤·¤¿"
-#: 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 "¸¡¾Ú¥¨¥é¡¼ (PC=%d)"
-#: objc/lang-options.h:27
-msgid "Dump decls to a .decl file"
-msgstr "Àë¸À¤ò .decl ¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
+#: java/lang-options.h:32
+msgid "Disable automatic array bounds checking"
+msgstr "¼«Æ°Åª¤ÊÇÛÎó¶­³¦¸¡ºº¤ò¹Ô¤ï¤Ê¤¤"
-#: objc/lang-options.h:29
-msgid "Generate code for GNU runtime environment"
-msgstr "GNU ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: java/lang-options.h:34
+msgid "Disable assignability checks for stores into object arrays"
+msgstr ""
-#: objc/lang-options.h:32
-msgid "Generate code for NeXT runtime environment"
-msgstr "NeXT ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+#: java/lang-options.h:36
+msgid "Assume native functions are implemented using JNI"
+msgstr "native ´Ø¿ô¤¬ JNI ¤òÍøÍѤ·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤¹"
-#: objc/lang-options.h:35
-msgid "Warn if a selector has multiple methods"
-msgstr "¥»¥ì¥¯¥¿¤¬Ê£¿ô¤Î¥á¥½¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë"
+#: java/lang-options.h:38
+#, fuzzy
+msgid "Replace system path"
+msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
-#: objc/lang-options.h:39
-msgid "Do not warn if inherited methods are unimplemented"
-msgstr "ÇÉÀ¸¥á¥½¥Ã¥É¤¬Ì¤¼ÂÁõ¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+#: java/lang-options.h:40
+msgid "Set class path"
+msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
-#: objc/lang-options.h:41
-msgid "Generate C header of platform specific features"
-msgstr "¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤Îµ¡Ç½¤Î C ¥Ø¥Ã¥À¤òÀ¸À®¤¹¤ë"
+#: java/lang-options.h:42
+msgid "Set class path (deprecated: use --classpath instead)"
+msgstr ""
-#: objc/lang-options.h:43
-msgid "Specify the name of the class for constant strings"
-msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
+#: java/lang-options.h:44
+msgid "Choose class whose main method should be used"
+msgstr "main ¥á¥½¥Ã¥É¤¬»È¤ï¤ì¤ë¤Ù¤­¥¯¥é¥¹¤òÁªÂò¤¹¤ë"
-#: objc/objc-act.c:609
-msgid "no class name specified as argument to -fconstant-string-class"
-msgstr "-fconstant-string-class ¤Ë°ú¿ô¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
+#: java/lang-options.h:46
+#, fuzzy
+msgid "Choose input encoding (default comes from locale)"
+msgstr "ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁªÂò¤¹¤ë(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï UTF-8)"
-#: objc/objc-act.c:760
+#: java/lang-options.h:48
+msgid "Add directory to class path"
+msgstr "¥¯¥é¥¹¥Ñ¥¹¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ë"
+
+#: java/lang-options.h:50
+msgid "Directory where class files should be written"
+msgstr "¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê"
+
+#: java/lang-options.h:52
+msgid "Warn if modifiers are specified when not necessary"
+msgstr "»ØÄꤵ¤ì¤¿½¤¾þ»Ò¤¬ÉÔÍפʤâ¤Î¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+#: java/lang-options.h:54
+msgid "Warn if deprecated empty statements are found"
+msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¶õʸ¤¬¸«¤Ä¤«¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+#: java/lang-options.h:56
+msgid "Warn if .class files are out of date"
+msgstr ".class ¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤è¤ê¸Å¤±¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+#: java/lang-options.h:58
+msgid "Always check for non gcj generated classes archives"
+msgstr "gcj ¤¬À¸À®¤·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¥¢¡¼¥«¥¤¥Ö¤ò¾ï¤Ë¸¡ºº¤¹¤ë"
+
+#: java/lang-options.h:60
+msgid "Never optimize static class initialization code"
+msgstr ""
+
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
+msgstr ""
+
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
msgstr "¥ª¥Ö¥¸¥§¥¯¥È¤¬ `%s' ¥×¥í¥È¥³¥ë¤ËŬ¹ç¤·¤Þ¤»¤ó"
-#: objc/objc-act.c:804
+#: objc/objc-act.c:737 objc/objc-act.c:810
#, c-format
msgid "class `%s' does not implement the `%s' protocol"
msgstr "¥¯¥é¥¹ `%s' ¤Ï `%s' ¥×¥í¥È¥³¥ë¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó"
-#: objc/objc-act.c:942
+#: objc/objc-act.c:914
+#, c-format
+msgid "`%s' cannot be statically allocated"
+msgstr "`%s' ¤òÀÅŪ¤Ë³ÎÊݤǤ­¤Þ¤»¤ó"
+
+#: objc/objc-act.c:963
#, fuzzy, c-format
msgid "unexpected type for `id' (%s)"
msgstr "ͽ´ü¤·¤Ê¤¤·¿¤¬ `id' (%s) ¤Ë»ØÄꤵ¤ì¤Þ¤·¤¿"
-#: objc/objc-act.c:947
+#: objc/objc-act.c:968
#, fuzzy
msgid "undefined type `id', please import <objc/objc.h>"
msgstr "`id' ·¿¤¬Ì¤ÄêµÁ¤Ç¤¹¡£<objc/objc.h> ¤ò import ¤·¤Æ²¼¤µ¤¤"
-#: objc/objc-act.c:999
+#: objc/objc-act.c:1019
#, c-format
msgid "protocol `%s' has circular dependency"
msgstr ""
-#: objc/objc-act.c:1021 objc/objc-act.c:5222
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, fuzzy, c-format
msgid "cannot find protocol declaration for `%s'"
msgstr "`%s' ¤ËÂФ¹¤ë¥×¥í¥È¥³¥ëÀë¸À¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:1282 objc/objc-act.c:5740 objc/objc-act.c:6069
-#: objc/objc-act.c:6118 objc/objc-act.c:6154 objc-parse.y:1748
+#: 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
#, fuzzy, c-format
msgid "cannot find interface declaration for `%s'"
msgstr "`%s' ¤ËÂФ¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹Àë¸À¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:1307
+#: objc/objc-act.c:1328
#, fuzzy, c-format
msgid "cannot find reference tag for class `%s'"
msgstr "¥¯¥é¥¹ %s ÍѤΥե¡¥¤¥ë¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¡£"
-#: objc/objc-act.c:2314
+#: objc/objc-act.c:2050
+#, fuzzy, c-format
+msgid "creating selector for non existant method %s"
+msgstr "²ÄǽÀ­¤Î¤¢¤ë¥»¥ì¥¯¥¿¤¬¥á¥½¥Ã¥É `%s' ¤È¶¥¹ç¤·¤Þ¤¹"
+
+#: objc/objc-act.c:2364
#, fuzzy, c-format
msgid "cannot find class `%s'"
msgstr "¥¯¥é¥¹ `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:2316
+#: objc/objc-act.c:2366
#, fuzzy, c-format
msgid "class `%s' already exists"
msgstr "¥¯¥é¥¹ `%s' ¤Ï´û¤Ë¸ºß¤·¤Þ¤¹"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2440
+#: objc/objc-act.c:2473
#, fuzzy, c-format
msgid "cannot find interface declaration for `%s', superclass of `%s'"
msgstr "`%s' ¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Àë¸À¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡Ê`%s' ¤Î´ðÄ쥯¥é¥¹¤Ç¤¹¡Ë"
-#: objc/objc-act.c:2447
+#: objc/objc-act.c:2480
#, fuzzy, c-format
msgid "circular inheritance in interface declaration for `%s'"
msgstr "`%s' ¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Àë¸À¤¬½Û´ÄŪ¤Ê·Ñ¾µ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:3498 objc/objc-act.c:3515
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
msgid "inconsistent instance variable specification"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Î»ÅÍͤ¬°ì´Ó¤·¤Æ¤¤¤Þ¤»¤ó"
-#: objc/objc-act.c:4703
+#: 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 "¥á¥½¥Ã¥É `%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: objc/objc-act.c:4869
+#: objc/objc-act.c:4946
#, c-format
msgid "invalid receiver type `%s'"
msgstr "¥ì¥·¡¼¥Ð·¿ `%s' ¤¬Ìµ¸ú¤Ç¤¹"
-#: objc/objc-act.c:4900 objc/objc-act.c:4926 objc/objc-act.c:4974
+#: 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 "`%s' ¤Ï `%s' ¤Ë±þÅú¤·¤Þ¤»¤ó"
-#: objc/objc-act.c:4906 objc/objc-act.c:7191
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, c-format
msgid "no super class declared in interface for `%s'"
msgstr "`%s' ¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ë´ðÄ쥯¥é¥¹¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: objc/objc-act.c:5004
+#: objc/objc-act.c:5081
#, fuzzy
msgid "cannot find class (factory) method"
msgstr "¥¯¥é¥¹ (factory) ¥á¥½¥Ã¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:5005 objc/objc-act.c:5049
+#: objc/objc-act.c:5082 objc/objc-act.c:5126
#, c-format
msgid "return type for `%s' defaults to id"
msgstr "`%s' ¤ÎÌá¤êÃͤη¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î id ¤È¤·¤Þ¤¹"
-#: objc/objc-act.c:5022
+#: objc/objc-act.c:5099
#, fuzzy, c-format
msgid "method `%s' not implemented by protocol"
msgstr "¥á¥½¥Ã¥É `%s' ¤Ï¥×¥í¥È¥³¥ë¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: objc/objc-act.c:5031
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
msgstr "Ìá¤êÃͤη¿¤ò¥Ç¥Õ¥©¥ë¥È¤Î id ¤È¤·¤Þ¤¹"
-#: objc/objc-act.c:5048
+#: objc/objc-act.c:5125
#, fuzzy
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
@@ -21982,263 +21110,248 @@ 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:5291
+#: objc/objc-act.c:5443
#, c-format
msgid "instance variable `%s' accessed in class method"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤¬¥¯¥é¥¹¥á¥½¥Ã¥É¤«¤é¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤·¤¿"
-#: objc/objc-act.c:5541
+#: objc/objc-act.c:5678
#, fuzzy, c-format
msgid "duplicate definition of class method `%s'"
msgstr "¥¯¥é¥¹¥á¥½¥Ã¥É `%s' ¤ÎÄêµÁ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: objc/objc-act.c:5547
+#: objc/objc-act.c:5684
#, fuzzy, c-format
msgid "duplicate declaration of class method `%s'"
msgstr "¥¯¥é¥¹¥á¥½¥Ã¥É `%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: objc/objc-act.c:5583
+#: objc/objc-act.c:5720
#, fuzzy, c-format
msgid "duplicate definition of instance method `%s'"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É `%s' ¤ÎÄêµÁ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: objc/objc-act.c:5589
+#: objc/objc-act.c:5726
#, fuzzy, c-format
msgid "duplicate declaration of instance method `%s'"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É `%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
-#: objc/objc-act.c:5629
+#: objc/objc-act.c:5766
#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
msgstr "¥«¥Æ¥´¥ê `%s(%s)' ¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Àë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:5715
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï private ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:5762
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï %s ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:5772
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
msgstr "`id' ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂΤ¹¤ëÀÅŪ¥¢¥¯¥»¥¹¤Ç¤¹"
-#: objc/objc-act.c:5809 objc/objc-act.c:5902
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
msgid "incomplete implementation of class `%s'"
msgstr "¥¯¥é¥¹ `%s' ¤Î¼ÂÁõ¤¬ÉÔ´°Á´¤Ç¤¹"
-#: objc/objc-act.c:5813 objc/objc-act.c:5907
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, c-format
msgid "incomplete implementation of category `%s'"
msgstr "¥«¥Æ¥´¥ê `%s' ¤Î¼ÂÁõ¤¬ÉÔ´°Á´¤Ç¤¹"
-#: objc/objc-act.c:5818 objc/objc-act.c:5912
+#: objc/objc-act.c:5943 objc/objc-act.c:6037
#, c-format
msgid "method definition for `%c%s' not found"
msgstr "`%c%s' ¤Î¥á¥½¥Ã¥ÉÄêµÁ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:5956
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr "%s `%s' ¤Ï `%s' ¥×¥í¥È¥³¥ë¤ò´°Á´¤Ë¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó"
-#: objc/objc-act.c:6013 objc/objc-act.c:8112
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
#, fuzzy
msgid "`@end' missing in implementation context"
msgstr "`@end' ¤Ï¼ÂÁõ¥³¥ó¥Æ¥¯¥¹¥È¤Ë¸½¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:6041
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr "¥¯¥é¥¹ `%s' ¤ÎºÆ¼ÂÁõ¤Ç¤¹"
-#: objc/objc-act.c:6083
+#: objc/objc-act.c:6209
#, c-format
msgid "conflicting super class name `%s'"
msgstr "´ðÄ쥯¥é¥¹Ì¾ `%s' ¤¬¾×Æͤ·¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:6098
+#: objc/objc-act.c:6224
#, c-format
msgid "duplicate interface declaration for class `%s'"
msgstr "¥¯¥é¥¹ `%s' ¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Àë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:6382
+#: objc/objc-act.c:6506
#, c-format
msgid "duplicate declaration for protocol `%s'"
msgstr "¥×¥í¥È¥³¥ë '%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
-#: objc/objc-act.c:7232
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr "[super ...] ¤Ï¥á¥½¥Ã¥É¥³¥ó¥Æ¥­¥¹¥È¤Ë¸½¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: objc/objc-act.c:8214 objc/objc-act.c:8230
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
msgstr "²ÄǽÀ­¤Î¤¢¤ë¥»¥ì¥¯¥¿¤¬¥á¥½¥Ã¥É `%s' ¤È¶¥¹ç¤·¤Þ¤¹"
-#: objc-parse.y:2577
+#: objc-parse.y:2656
msgid "`@end' must appear in an implementation context"
msgstr "`@end' ¤Ï¼ÂÁõ¥³¥ó¥Æ¥¯¥¹¥È¤Ë¸½¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: objc-parse.y:2851
+#: objc-parse.y:2932
msgid "method definition not in class context"
msgstr "¥á¥½¥Ã¥ÉÄêµÁ¤¬¥¯¥é¥¹¥³¥ó¥Æ¥­¥¹¥ÈÆâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: config/sparc/freebsd.h:31 config/alpha/freebsd.h:36
-#: config/i386/freebsd-aout.h:227 config/ia64/freebsd.h:24
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr "`-p' ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó. `-pg' ¤È gprof(1) ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
+#: objc/lang-options.h:27
+msgid "Dump decls to a .decl file"
+msgstr "Àë¸À¤ò .decl ¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
-#: ada/lang-specs.h:39 gcc.c:698 java/jvspec.c:74
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr "-pg ¤È -fomit-frame-pointer ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+#: objc/lang-options.h:29
+msgid "Generate code for GNU runtime environment"
+msgstr "GNU ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: ada/lang-specs.h:42
-msgid "-c or -S required for Ada"
-msgstr ""
+#: objc/lang-options.h:32
+msgid "Generate code for NeXT runtime environment"
+msgstr "NeXT ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
-#: config/vax/vax.h:42 config/vax/vax.h:43
-msgid "profiling not supported with -mg\n"
-msgstr "-mg ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ÏÄ󶡤µ¤ì¤Þ¤»¤ó\n"
+#: objc/lang-options.h:35
+msgid "Warn if a selector has multiple methods"
+msgstr "¥»¥ì¥¯¥¿¤¬Ê£¿ô¤Î¥á¥½¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë"
-#: gcc.c:677 f/lang-specs.h:35
-msgid "GNU C does not support -C without using -E"
-msgstr "GNU C ¤Ï -E ¤òȼ¤ï¤Ê¤¤ -C ¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó"
+#: objc/lang-options.h:39
+msgid "Do not warn if inherited methods are unimplemented"
+msgstr "ÇÉÀ¸¥á¥½¥Ã¥É¤¬Ì¤¼ÂÁõ¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
-#: gcc.c:846
-msgid "-E required when input is from standard input"
-msgstr "ÆþÎϤ¬É¸½àÆþÎϤξì¹ç¤Ï -E ¤¬É¬ÍפǤ¹"
+#: objc/lang-options.h:41
+msgid "Generate C header of platform specific features"
+msgstr "¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤Îµ¡Ç½¤Î C ¥Ø¥Ã¥À¤òÀ¸À®¤¹¤ë"
-#: gcc.c:850
-#, fuzzy
-msgid "compilation of header file requested"
-msgstr "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤¬Í׵ᤵ¤ì¤Þ¤·¤¿"
+#: objc/lang-options.h:43
+msgid "Specify the name of the class for constant strings"
+msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd ¤È -pedantic ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+#. 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/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd ¤È -mxopen ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr ""
+
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr ""
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen ¤È -pedantic ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr ""
-#: config/nextstep.h:161 config/nextstep.h:164
+#: config/darwin.h:220
#, fuzzy
-msgid "-p profiling is no longer supported. Use -pg instead"
-msgstr "-p ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Ï¤â¤¦Ä󶡤µ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë -pg ¤ò»È¤¤¤Þ¤·¤ç¤¦¡£"
+msgid "-bundle not allowed with -dynamiclib"
+msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-#: config/i386/mingw32.h:69 config/i386/cygwin.h:169
-msgid "shared and mdll are not compatible"
-msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+#: config/darwin.h:221
+#, fuzzy
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-#: config/dsp16xx/dsp16xx.h:103 config/dsp16xx/dsp16xx.h:112
+#: config/darwin.h:222
#, fuzzy
-msgid "a -ifile option requires a -map option"
-msgstr "-ifile ¥ª¥×¥·¥ç¥ó¤Ë¤Ï -map ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
+msgid "-client_name not allowed with -dynamiclib"
+msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-#: config/i386/sco5.h:662 config/i386/sco5.h:737
-msgid "-static not valid with -mcoff"
-msgstr "-static ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr ""
-#: config/i386/sco5.h:663 config/i386/sco5.h:738
-msgid "-shared not valid with -mcoff"
-msgstr "-shared ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr ""
-#: config/i386/sco5.h:664 config/i386/sco5.h:739
-msgid "-symbolic not valid with -mcoff"
-msgstr "-symbolic ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr ""
-#: config/i386/sco5.h:702
-msgid "-fpic is not valid with -mcoff"
-msgstr "-fpic ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: config/darwin.h:229
+#, fuzzy
+msgid "-private_bundle not allowed with -dynamiclib"
+msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
-#: config/i386/sco5.h:703
-msgid "-fPIC is not valid with -mcoff"
-msgstr "-fPIC ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: f/lang-specs.h:38 gcc.c:689
+msgid "GNU C does not support -C without using -E"
+msgstr "GNU C ¤Ï -E ¤òȼ¤ï¤Ê¤¤ -C ¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó"
-#: config/i386/sco5.h:740
-msgid "-fpic not valid with -mcoff"
-msgstr "-fpic -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: f/lang-specs.h:39 gcc.c:690
+#, fuzzy
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C ¤Ï -E ¤òȼ¤ï¤Ê¤¤ -C ¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó"
-#: config/i386/sco5.h:741
-msgid "-fPIC not valid with -mcoff"
-msgstr "-fPIC ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+#: 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
+#, fuzzy
+msgid "may not use both -m32 and -m64"
+msgstr "-mfp64 ¤È -m4650 ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: config/arc/arc.h:59 config/mips/mips.h:1057
-msgid "may not use both -EB and -EL"
-msgstr "-EB ¤È -EL ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+#: 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 "`-p' ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó. `-pg' ¤È gprof(1) ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-#: config/i386/cygwin.h:114
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "mno-cygwin ¤È mno-win32 ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "-mg ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ÏÄ󶡤µ¤ì¤Þ¤»¤ó\n"
-#: config/mips/mips.h:854
+#: config/mips/mips.h:954
#, fuzzy
msgid "-pipe is not supported"
msgstr "-pipe ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: config/mips/mips.h:1053
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "-mfp64 ¤È -msingle-float ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: config/mips/mips.h:1054
-msgid "may not use both -mfp64 and -m4650"
-msgstr "-mfp64 ¤È -m4650 ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: config/mips/mips.h:1056
-#, fuzzy
-msgid "may not use both -mgp32 and -mfp64"
-msgstr "-mfp64 ¤È -m4650 ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: config/mips/isa3264.h:123 config/mips/isa3264.h:128
-#: config/mips/isa3264.h:140 config/mips/isa3264.h:145
-#, fuzzy
-msgid "-mlong32 and -mlong64 can not both be specified"
-msgstr "-msingle-float ¤È -msoft-float ¤ò°ìÅ٤˻ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"
-
-#: config/arm/arm.h:213
-msgid "-mapcs-26 and -mapcs-32 may not be used together"
-msgstr "-mapcs-26 ¤È -mapcs-32 ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
-
-#: config/arm/arm.h:225
-msgid "-msoft-float and -mhard_float may not be used together"
-msgstr "-msoft-float ¤È -mhard_float ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr "-EB ¤È -EL ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.h:236
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr "-mbig-endian ¤È -mlittle-endian ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr "-pg ¤È -fomit-frame-pointer ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/arm/arm.h:254
-#, fuzzy
-msgid "incompatible interworking options"
-msgstr "¸ß´¹À­¤Î¤Ê¤¤ interworking ¥ª¥×¥·¥ç¥ó"
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
+msgstr ""
-#: config/i860/fx2800.h:299
-msgid "-p option not supported: use -pg instead"
-msgstr "-p ¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó. Âå¤ï¤ê¤Ë -pg ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
+#: config/i386/cygwin.h:115
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "mno-cygwin ¤È mno-win32 ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/r3900.h:28 config/mips/r3900.h:42
-#, fuzzy
-msgid "-mhard-float not supported"
-msgstr "-mhard-float ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
+#: config/i386/cygwin.h:170 config/i386/mingw32.h:84
+msgid "shared and mdll are not compatible"
+msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
-#: config/mips/r3900.h:30 config/mips/r3900.h:44
-#, fuzzy
-msgid "-msingle-float and -msoft-float can not both be specified"
-msgstr "-msingle-float ¤È -msoft-float ¤ò°ìÅ٤˻ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"
+#: gcc.c:867
+msgid "-E required when input is from standard input"
+msgstr "ÆþÎϤ¬É¸½àÆþÎϤξì¹ç¤Ï -E ¤¬É¬ÍפǤ¹"
-#: config/mmix/mmix.h:113
+#: gcc.c:871
#, fuzzy
-msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
-msgstr "-traditional ¤È -ansi ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
+msgid "compilation of header file requested"
+msgstr "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤¬Í׵ᤵ¤ì¤Þ¤·¤¿"
#: java/lang-specs.h:33
msgid "-fjni and -femit-class-files are incompatible"
@@ -22252,6 +21365,16 @@ msgstr "-fjini ¤È -femit-class-file ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
msgid "-femit-class-file should used along with -fsyntax-only"
msgstr ""
+#: treelang/lang-specs.h:52
+#, fuzzy
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg ¤È -fomit-frame-pointer ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+#: config/vax/netbsd-elf.h:42
+#, fuzzy
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤Ï¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
#: config/mcore/mcore.h:60
msgid "choose either big or little endian, not both"
msgstr "¥Ó¥Ã¥°¤Þ¤¿¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óξÊý¤Ç¤Ï¤Ê¤¯¡¢¤É¤Á¤é¤«¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤"
@@ -22264,36 +21387,180 @@ msgstr "m340 ¤Þ¤¿¤Ï m210 ¤ÎξÊý¤Ç¤Ï¤Ê¤¯¡¢¤É¤Á¤é¤«¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤"
msgid "the m210 does not have little endian support"
msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr "-mapcs-26 ¤È -mapcs-32 ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr "-msoft-float ¤È -mhard_float ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr "-mbig-endian ¤È -mlittle-endian ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+
+#: config/mips/r3900.h:35
+#, fuzzy
+msgid "-mhard-float not supported"
+msgstr "-mhard-float ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
+
+#: config/mips/r3900.h:37
+#, fuzzy
+msgid "-msingle-float and -msoft-float can not both be specified"
+msgstr "-msingle-float ¤È -msoft-float ¤ò°ìÅ٤˻ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"
+
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr ""
+
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
+msgid "-static not valid with -mcoff"
+msgstr "-static ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
+msgid "-shared not valid with -mcoff"
+msgstr "-shared ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
+msgid "-symbolic not valid with -mcoff"
+msgstr "-symbolic ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#: config/i386/sco5.h:636
+msgid "-fpic is not valid with -mcoff"
+msgstr "-fpic ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#: config/i386/sco5.h:637
+msgid "-fPIC is not valid with -mcoff"
+msgstr "-fPIC ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#: config/i386/sco5.h:669
+msgid "-fpic not valid with -mcoff"
+msgstr "-fpic -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#: config/i386/sco5.h:670
+msgid "-fPIC not valid with -mcoff"
+msgstr "-fPIC ¤¬ -mcoff ¤È¤È¤â¤Ë»È¤ï¤ì¤ë¤Î¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "__builtin_trap not supported by this target"
+#~ msgstr "__builtin_trap ¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
#~ msgid "type with more precision than %s"
#~ msgstr "%s ¤è¤ê¤âÀºÌ©¤Ê·¿"
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "ÉÔÌÀ¤Ê C ɸ½à `%s'"
+
+#~ msgid "type of external `%s' is not global"
+#~ msgstr "³°Éô `%s' ¤Î·¿¤Ï¥°¥í¡¼¥Ð¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
#~ msgid "declaration of `%s' shadows previous local"
#~ msgstr "`%s' ¤ÎÀë¸À¤ÏÁ°Êý¤Î¥í¡¼¥«¥ë¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
#~ msgid "ANSI C forbids const or volatile function types"
#~ msgstr "ANSI C ¤Ï const ¤ä volatile ´Ø¿ô·¿¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+#~ msgid "null format string"
+#~ msgstr "¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤¬ null ¤Ç¤¹"
+
#~ msgid "leaving more files than we entered"
#~ msgstr "Æþ¤Ã¤¿¥Õ¥¡¥¤¥ë¤è¤ê¤â½Ð¤¿¥Õ¥¡¥¤¥ë¤ÎÊý¤¬Â¿¤¯¤Ê¤ê¤Þ¤·¤¿"
#~ msgid "universal-character-name used for '%c'"
#~ msgstr "`%c' ¤Ë¥æ¥Ë¥Ð¡¼¥µ¥ë¥­¥ã¥é¥¯¥¿Ì¾¤¬»È¤ï¤ì¤Þ¤·¤¿"
+#~ msgid "invalid universal-character-name"
+#~ msgstr "ÉÔŬÀڤʥæ¥Ë¥Ð¡¼¥µ¥ë¥­¥ã¥é¥¯¥¿Ì¾"
+
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "`\\x' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
+
#~ msgid "unknown escape sequence: '\\' followed by char 0x%x"
#~ msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹: ʸ»ú 0x%x ¤¬¸å¤Ë³¤¯ '\\'"
+#~ msgid "both 'f' and 'l' suffixes on floating constant"
+#~ msgstr "ÉâÆ°¾®¿ôÄê¿ô¤Ë 'f' ¤È 'l' ÀÜÈø¼­¤ÎξÊý¤¬¤¢¤ê¤Þ¤¹"
+
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "´ð¿ô 16 ¤ÎÉâÆ°¾¯¿ôÄê¿ô¤Ïµö¤µ¤ì¤Þ¤»¤ó"
+
+#~ msgid "traditional C rejects the 'l' suffix"
+#~ msgstr "¸Å¤¤ C ¤Ç¤Ï 'l' ÀÜÈø¼­¤¬µñÈݤµ¤ì¤Þ¤¹"
+
+#~ msgid "ISO C forbids imaginary numeric constants"
+#~ msgstr "ISO C ¤Ç¤Ïµõ¿ôÄê¿ô¤ò¶Ø¤¸¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬ 'double' ¤ÎÈϰϤòĶ¤¨¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "2 ¤Ä¤Î 'u' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "traditional C rejects the 'u' suffix"
+#~ msgstr "ÅÁÅýŪ¤Ê C ¤Ç¤Ï 'u' ÀÜÈø¼­¤¬µñÈݤµ¤ì¤Þ¤¹"
+
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "'lul' ¤ÏÀµ¾ï¤ÊÀ°¿ôÀÜÈø¼­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "Ê£¿ô¤Î 'i' ¤ä 'j' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+#~ msgstr "À°¿ôÄê¿ô¤¬¥³¥ó¥Ñ¥¤¥é¤Î¸½ºß¤ÎÀßÄê¤è¤êÂ礭¤¹¤®¤ë¤¿¤á¡¢%d ¥Ó¥Ã¥È¤ËÀÚ¤êµÍ¤á¤Þ¤·¤¿"
+
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "-traditional ¤ò¤Ä¤±¤ë¤ÈÀ°¿ôÄê¿ô¤ÎÉý¤¬ÊѤï¤ê¤Þ¤¹"
+
+#~ msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#~ msgstr "À°¿ôÄê¿ô¤Ï ISO C ¤Ç¤ÏÉä¹ç̵¤·¤Ç¡¢-traditional ¤ò¤Ä¤±¤ë¤ÈÉä¹çÉÕ¤­¤Ç¤¹"
+
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "À°¿ôÄê¿ô¤ÎÉý¤Ï¾¤Î¥·¥¹¥Æ¥à¤Ç -traditional ¤ò¤Ä¤±¤ë¤ÈÊѤï¤ë¤Ç¤·¤ç¤¦"
+
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "%s ¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "½½¿ÊÄê¿ô¤¬¤È¤Æ¤âÂ礭¤¤¤Î¤ÇÉä¹ç̵¤·¤È¤·¤Þ¤·¤¿"
+
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr "¤½¤Î·¿¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "¿ô»ú '%.*s' ¤Î¸å¤Ë¶õÇò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
#~ msgid "ISO C forbids `&&'"
#~ msgstr "ISO C ¤Ï `&&' ¤ò¶Ø¤¸¤Þ¤¹"
+#~ msgid "ISO C does not permit use of `varargs.h'"
+#~ msgstr "ISO C ¤Ç¤Ï `varargs.h' ¤ÎÍøÍѤòµö¤·¤Þ¤»¤ó"
+
#~ msgid "`[*]' in parameter declaration only allowed in ISO C 99"
#~ msgstr "²¾°ú¿ôÀë¸ÀÃæ¤Î `[*]' ¤Ï ISO C 99 ¤Ç¤Î¤ßµö¤µ¤ì¤Æ¤¤¤Þ¤¹"
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "sizeof ¤¬´Ø¿ô·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+#~ msgid "sizeof applied to a void type"
+#~ msgstr "sizeof ¤¬ void ·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+#~ msgid "sizeof applied to an incomplete type"
+#~ msgstr "sizeof ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
#~ msgid "wrong type argument to %s"
#~ msgstr "%s ¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
#~ msgid "invalid lvalue in increment"
#~ msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥È¤ÎÃæ¤Ç¤Îº¸ÊÕÃͤ¬Ìµ¸ú¤Ç¤¹"
+#~ msgid "invalid lvalue in decrement"
+#~ msgstr "¥Ç¥¯¥ê¥á¥ó¥È¤ÎÃæ¤Ç¤Îº¸ÊÕÃͤ¬Ìµ¸ú¤Ç¤¹"
+
+#~ msgid "increment"
+#~ msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥È"
+
+#~ msgid "decrement"
+#~ msgstr "¥Ç¥¯¥ê¥á¥ó¥È"
+
#~ msgid "deprecated initialization of zero-length array"
#~ msgstr "Ťµ 0 ¤Î½é´ü²½¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
@@ -22303,11 +21570,113 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "initialization of zero-length array inside a nested context"
#~ msgstr "¥Í¥¹¥È¤·¤¿Ê¸Ì®¤ÎÆ⦤ÇŤµ 0 ¤ÎÇÛÎó¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
+
+#~ msgid "Use VAX-C alignment"
+#~ msgstr "VAX-C ¥¢¥é¥¤¥ó¥á¥ó¥È¤ò»ÈÍÑ"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "̵¸ú¤Ê %%V ÃÍ"
+
+#~ msgid "Generate code assuming DW bit is set"
+#~ msgstr "DW ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤¿¤È¸«¤Ê¤·¤Æ¥³¡¼¥ÉÀ¸À®"
+
+#~ msgid "Generate code assuming DW bit is not set"
+#~ msgstr "DW ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¸«¤Ê¤·¤Æ¥³¡¼¥ÉÀ¸À®"
+
+#~ msgid "Generate code using byte writes"
+#~ msgstr "¥Ð¥¤¥È½ñ¤­¹þ¤ß¤ò»È¤Ã¤Æ¥³¡¼¥ÉÀ¸À®"
+
+#~ msgid "Do not generate byte writes"
+#~ msgstr "¥Ð¥¤¥È½ñ¤­¹þ¤ß¤ò»È¤ï¤º¤Ë¥³¡¼¥ÉÀ¸À®"
+
+#~ msgid "Use small memory model"
+#~ msgstr "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë¤òÍøÍÑ"
+
+#~ msgid "Use normal memory model"
+#~ msgstr "¥Î¡¼¥Þ¥ë¥á¥â¥ê¥â¥Ç¥ë¤òÍøÍÑ"
+
+#~ msgid "Generate 29050 code"
+#~ msgstr "29050 ¥³¡¼¥É¤òÀ¸À®"
+
+#~ msgid "Generate 29000 code"
+#~ msgstr "29000 ¥³¡¼¥É¤òÀ¸À®"
+
+#~ msgid "Use user global registers"
+#~ msgstr "¥æ¡¼¥¶¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿¤òÍøÍÑ"
+
+#~ msgid "Emit stack checking code"
+#~ msgstr "¥¹¥¿¥Ã¥¯¥Á¥§¥Ã¥¯ÍÑ¥³¡¼¥É¤òÅǤ¯"
+
+#~ msgid "Do not emit stack checking code"
+#~ msgstr "¥¹¥¿¥Ã¥¯¥Á¥§¥Ã¥¯ÍÑ¥³¡¼¥É¤òÅǤ«¤Ê¤¤"
+
+#~ msgid "Work around storem hardware bug"
+#~ msgstr "storem ¥Ï¡¼¥É¥¦¥§¥¢¥Ð¥°¤ÎÂнè¤ò¹Ô¤Ê¤¦"
+
+#~ msgid "Do not work around storem hardware bug"
+#~ msgstr "storem ¥Ï¡¼¥É¥¦¥§¥¢¥Ð¥°¤ÎÂнè¤ò¹Ô¤Ê¤ï¤Ê¤¤"
+
+#~ msgid "Store locals in argument registers"
+#~ msgstr "°ú¿ô¥ì¥¸¥¹¥¿¤Ë¥í¡¼¥«¥ë¤Î¤â¤Î¤ò³ÊǼ¤¹¤ë"
+
+#~ msgid "Do not store locals in arg registers"
+#~ msgstr "°ú¿ô¥ì¥¸¥¹¥¿¤Ë¥í¡¼¥«¥ë¤Î¤â¤Î¤ò³ÊǼ¤·¤Ê¤¤"
+
#~ msgid "Unable to find a temporary location for static chain register"
#~ msgstr "ÀÅŪ¥Á¥§¥¤¥ó¥ì¥¸¥¹¥¿ÍѤΰì»þÎΰè¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó"
-#~ msgid "Only initialized variables can be placed into the 8-bit area."
-#~ msgstr "8 ¥Ó¥Ã¥ÈÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+#~ msgid "Do symbol renaming for BSD"
+#~ msgstr "BSD ÍѤ˥·¥ó¥Ü¥ë̾¤òÊѹ¹¤¹¤ë"
+
+#~ msgid "Do symbol renaming for X/OPEN"
+#~ msgstr "X/OPEN ÍѤ˥·¥ó¥Ü¥ë̾¤òÊѹ¹¤¹¤ë"
+
+#~ msgid "Don't do symbol renaming"
+#~ msgstr "¥·¥ó¥Ü¥ë̾¤ÎÊѹ¹¤ò¹Ô¤ï¤Ê¤¤"
+
+#~ msgid "Generate code for the C400"
+#~ msgstr "C400 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Generate code for the C300"
+#~ msgstr "C300 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Generate code for c34"
+#~ msgstr "c34 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Use standard calling sequence, with arg count word"
+#~ msgstr "ɸ½àŪ¸Æ¤Ó½Ð¤·¼ê½ç¤ò»È¤¤¡¢°ú¿ô¥«¥¦¥ó¥È word ¤ò¤Ä¤±¤ë"
+
+#~ msgid "Place arg count in a nop instruction (faster than push)"
+#~ msgstr "nop Ì¿ÎáÆâ¤Ë°ú¿ô¥«¥¦¥ó¥È¤òÃÖ¤¯ (push ¤è¤ê¹â®)"
+
+#~ msgid "Don't push arg count, depend on symbol table"
+#~ msgstr "°ú¿ô¥«¥¦¥ó¥È¤ò push ¤»¤º¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ò¤¢¤Æ¤Ë¤¹¤ë"
+
+#~ msgid "Use data cache for volatile mem refs (default)"
+#~ msgstr "volatile ¥á¥â¥ê»²¾ÈÍѥǡ¼¥¿¥­¥ã¥Ã¥·¥å¤òÍøÍѤ¹¤ë(¥Ç¥Õ¥©¥ë¥È)"
+
+#~ msgid "Don't use data cache for volatile mem refs"
+#~ msgstr "volatile ¥á¥â¥ê»²¾ÈÍѤˤϥǡ¼¥¿¥­¥ã¥Ã¥·¥å¤ò¹Ô¤ï¤Ê¤¤"
+
+#~ msgid "Bypass data cache for volatile mem refs"
+#~ msgstr "volatile ¥á¥â¥ê»²¾ÈÍÑ¤Ë¤Ï cache ¤µ¤ì¤¿¥Ç¡¼¥¿¤ò²óÈò¤¹¤ë"
+
+#~ msgid "Use 64-bit longs"
+#~ msgstr "64 ¥Ó¥Ã¥È long ¤ò»ÈÍѤ¹¤ë"
+
+#~ msgid "Use cc- and libc-compatible 32-bit longs"
+#~ msgstr "cc- ¤È libc ¸ß´¹¤Î 32 ¥Ó¥Ã¥È long ¤ò»ÈÍѤ¹¤ë"
+
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "¤³¤Î¥Û¥¹¥È¤Ç¤Ï¥¤¥ó¥é¥¤¥óÉâÆ°¾®¿ôÄê¿ô¤ò¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#~ msgid "Generate code the unix assembler can handle"
+#~ msgstr "unix ¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Generate code an embedded assembler can handle"
+#~ msgstr "Ëä¤á¹þ¤ß¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
#~ msgid "Internal gcc abort from %s:%d"
#~ msgstr "gcc ÆâÉô¤ÇÃæÃÇ %s:%d"
@@ -22315,12 +21684,33 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "The local variable `insn' has the value:"
#~ msgstr "¤½¤Î¥í¡¼¥«¥ëÊÑ¿ô `insn' ¤¬Ãͤò»ý¤Ã¤Æ¤¤¤Þ¤¹:"
+#~ msgid "Retain standard MXDB information"
+#~ msgstr "ɸ½à MXDB ¾ðÊó¤òÊÝ»ý¤¹¤ë"
+
+#~ msgid "Retain legend information"
+#~ msgstr "legend ¾ðÊó¤ò°Ý»ý¤¹¤ë"
+
+#~ msgid "Generate external legend information"
+#~ msgstr "³°Éô legend ¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Emit identifying info in .s file"
+#~ msgstr ".s ¥Õ¥¡¥¤¥ëÆâ¤Ë¼±Ê̻ҾðÊó¤òÁ÷½Ð¤¹¤ë"
+
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "´Ø¿ô¤Î°ú¿ô¤¬¹½Â¤ÂΤÀ¤Ã¤¿¤é·Ù¹ð¤¹¤ë"
+
+#~ msgid "argument is a structure"
+#~ msgstr "°ú¿ô¤¬¹½Â¤ÂΤǤ¹"
+
#~ msgid "Register '%c' is unknown"
#~ msgstr "¥ì¥¸¥¹¥¿ '%c' ¤¬ÉÔÌÀ¤Ç¤¹"
#~ msgid "Register '%c' already specified in allocation order"
#~ msgstr "¥ì¥¸¥¹¥¿ '%c' ¤Ï´û¤Ë³ÎÊݽç¤Ç»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+#~ msgid "half-pic init called on systems that don't support it."
+#~ msgstr "half-pic ½é´ü²½¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤·¤¿¡£"
+
#~ msgid "Same as -mcpu=i386"
#~ msgstr "-mcpu=i386 ¤ÈƱ¤¸"
@@ -22339,14 +21729,146 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "Control allocation order of integer registers"
#~ msgstr "À°¿ô¥ì¥¸¥¹¥¿¤Î³ÎÊݽç¤òÀ©¸æ¤¹¤ë"
+#~ msgid "Profiling uses mcount"
+#~ msgstr "¥×¥í¥Õ¥¡¥¤¥ë¤Ç mcount ¤òÍøÍѤ¹¤ë"
+
+#~ msgid "Emit half-PIC code"
+#~ msgstr "Ⱦ PIC ¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
+
+#~ msgid "Emit ELF object code"
+#~ msgstr "ELF ¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
+
+#~ msgid "Emit ROSE object code"
+#~ msgstr "ROSE ¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤òÁ÷½Ð¤¹¤ë"
+
+#~ msgid "Symbols have a leading underscore"
+#~ msgstr "¥·¥ó¥Ü¥ë¤ÎƬ¤Ë¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò¤Ä¤±¤ë"
+
+#~ msgid "Align to >word boundaries"
+#~ msgstr "¥ï¡¼¥É¶­³¦¤è¤êÂ礭¤á¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
+
+#~ msgid "Use mcount for profiling"
+#~ msgstr "¥×¥í¥Õ¥¡¥¤¥ëÍÑ¤Ë mcount ¤òÍøÍѤ¹¤ë"
+
+#~ msgid "Use mcount_ptr for profiling"
+#~ msgstr "¥×¥í¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Ë mcount_ptr ¤òÍøÍѤ¹¤ë"
+
+#~ msgid "Generate code which uses the FPU"
+#~ msgstr "ÉâÆ°¾®¿ôÅÀ¥æ¥Ë¥Ã¥È¤òÍøÍѤ¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
+
+#~ msgid "The -mlong-double-64 option does not work yet."
+#~ msgstr "-mlong-double-64 ¥ª¥×¥·¥ç¥ó¤Ï¤Þ¤ÀÆ°ºî¤·¤Þ¤»¤ó"
+
+#~ msgid "invalid %H value"
+#~ msgstr "̵¸ú¤Ê %H ÃͤǤ¹"
+
+#~ msgid "invalid %h value"
+#~ msgstr "̵¸ú¤Ê %h ÃͤǤ¹"
+
+#~ msgid "invalid %Q value"
+#~ msgstr "̵¸ú¤Ê %Q ÃͤǤ¹"
+
+#~ msgid "invalid %q value"
+#~ msgstr "̵¸ú¤Ê %q ÃͤǤ¹"
+
+#~ msgid "invalid %p value"
+#~ msgstr "̵¸ú¤Ê %p ÃͤǤ¹"
+
+#~ msgid "invalid %B value"
+#~ msgstr "̵¸ú¤Ê %B ÃͤǤ¹"
+
+#~ msgid "invalid %C value"
+#~ msgstr "̵¸ú¤Ê %C ÃͤǤ¹"
+
+#~ msgid "invalid %E value"
+#~ msgstr "̵¸ú¤Ê %E ÃͤǤ¹"
+
+#~ msgid "invalid %r value"
+#~ msgstr "̵¸ú¤Ê %r ÃͤǤ¹"
+
+#~ msgid "-mips%d not supported"
+#~ msgstr "-mips%d ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+#~ msgid "-mabi=%s does not support -mips%d"
+#~ msgstr "-mabi=%s ¤Ï -mips%d ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
#~ msgid "The -mabi=32 support does not work yet."
#~ msgstr "-mabi=32 ¥µ¥Ý¡¼¥È¤Ï¤Þ¤ÀÆ°ºî¤·¤Þ¤»¤ó"
+#~ msgid "This target does not support the -mabi switch."
+#~ msgstr "¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ï -mabi ¥¹¥¤¥Ã¥Á¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
#~ msgid "-mcpu=%s does not support -mips%d"
#~ msgstr "-mcpu=%s ¤Ï -mips%d ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
-#~ msgid "invalid %%W value"
-#~ msgstr "̵¸ú¤Ê %%W ÃͤǤ¹"
+#~ msgid "-mips%d does not support 64 bit fp registers"
+#~ msgstr "-mips%d ¤Ï 64 bit fp ¥ì¥¸¥¹¥¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+#~ msgid "-mips%d does not support 64 bit gp registers"
+#~ msgstr "-mips%d ¤Ï 64 bit gp ¥ì¥¸¥¹¥¿¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó"
+
+#~ msgid "Use OSF PIC"
+#~ msgstr "OSF PIC ¤òÍøÍѤ¹¤ë"
+
+#~ msgid "Don't use OSF PIC"
+#~ msgstr "OSF PIC ¤òÍøÍѤ·¤Ê¤¤"
+
+#~ msgid "Optimize for 4650"
+#~ msgstr "4650 ÍѤ˺ÇŬ²½¤¹¤ë"
+
+#~ msgid "Optimize for 3900"
+#~ msgstr "3900 ÍѤ˺ÇŬ²½¤¹¤ë"
+
+#~ msgid "optimization turned on"
+#~ msgstr "ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+#~ msgid "optimization turned off"
+#~ msgstr "ºÇŬ²½¤ò̵¸ú¤Ë¤¹¤ë"
+
+#~ msgid "optimization level restored"
+#~ msgstr "ºÇŬ²½¥ì¥Ù¥ë¤ò¸µ¤ËÌᤷ¤Þ¤·¤¿"
+
+#~ msgid "PIC code generation is not compatible with profiling\n"
+#~ msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤È¤ÏÁêÍƤì¤Þ¤»¤ó\n"
+
+#~ msgid "Generate little endian data"
+#~ msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥Ç¡¼¥¿¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Generate big endian data"
+#~ msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¥Ç¡¼¥¿¤òÀ¸À®¤¹¤ë"
+
+#~ msgid "Turn on maintainer testing code"
+#~ msgstr "¥á¥ó¥Æ¥Ê¥Æ¥¹¥È¥³¡¼¥É¤òÍ­¸ú¤Ë¤¹¤ë"
+
+#~ msgid "Enable Transmeta picoJava extensions"
+#~ msgstr "Transmeta picoJava ³ÈÄ¥¤òÍ­¸ú¤Ë¤¹¤ë"
+
+#~ msgid "Disable Transmeta picoJava extensions"
+#~ msgstr "Transmeta picoJava ³ÈÄ¥¤ò̵¸ú¤Ë¤¹¤ë"
+
+#~ msgid "Disable reorganization pass"
+#~ msgstr "ºÆÊÔÀ®¹©Äø¤ò̵¸ú¤Ë¤¹¤ë"
+
+#~ msgid "-f%s ignored for AIX (all code is position independent)"
+#~ msgstr "AIX ÍÑ¤Ë -f%s ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡ÊÁ´¤Æ¤Î¥³¡¼¥É¤Ï°ÌÃÖÈó°Í¸¤Ç¤¹¡Ë"
+
+#~ msgid "-ffunction-sections disabled on AIX when debugging"
+#~ msgstr "AIX ¤Ç¤Ï¥Ç¥Ð¥Ã¥°»þ¤Î -ffunction-sections ¤Ï̵¸ú¤È¤µ¤ì¤Þ¤¹"
+
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "AIX ¤Ç¤Ï -fdata-sections ¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+#~ msgid "%%S computed all 1's mask"
+#~ msgstr "%%S ¤ÏÁ´¤Æ¤¬ 1 ¤Î¥Þ¥¹¥¯¤ò·×»»¤·¤Þ¤·¤¿"
+
+#~ msgid "%%S computed all 0's mask"
+#~ msgstr "%%S ¤ÏÁ´¤Æ¤¬ 0 ¤Î¥Þ¥¹¥¯¤ò·×»»¤·¤Þ¤·¤¿"
+
+#~ msgid "profiling does not support code models other than medlow"
+#~ msgstr "¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Ï medlow °Ê³°¤Î¥³¡¼¥É¥â¥Ç¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+#~ msgid "%s and profiling conflict: disabling %s"
+#~ msgstr "%s ¤È¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Ï¶¥¹ç¤·¤Þ¤¹: %s ¤ò̵¸ú²½¤·¤Þ¤¹"
#~ msgid "Use FUNCTION_EPILOGUE"
#~ msgstr "FUNCTION_EPILOGUE ¤ò»ÈÍѤ¹¤ë"
@@ -22363,18 +21885,48 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "the ABI requires vtable thunks"
#~ msgstr "ABI ¤Ï²¾ÁÛ´Ø¿ô¥Æ¡¼¥Ö¥ë¥µ¥ó¥¯¤òÍ׵ᤷ¤Þ¤¹"
+#~ msgid "cannot declare %s to references"
+#~ msgstr "%s ¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "invalid type: `void &'"
+#~ msgstr "̵¸ú¤Ê·¿: `void &'"
+
+#~ msgid "discarding `const' applied to a reference"
+#~ msgstr "»²¾È¤ËÍѤ¤¤é¤ì¤¿ `const' ¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+#~ msgid "discarding `volatile' applied to a reference"
+#~ msgstr "»²¾È¤ËÍѤ¤¤é¤ì¤¿ `volatile' ¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+#~ msgid "typedef declaration includes an initializer"
+#~ msgstr "typedef Àë¸À¤¬½é´üÀßÄê»Ò¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+
+#~ msgid "-fname-mangling-version is no longer supported"
+#~ msgstr "-fname-mangling-version ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
#~ msgid "`__alignof__' applied to a bit-field"
#~ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `__alignof__'"
-#~ msgid "base class initializer specified, but no base class to initialize"
-#~ msgstr "´ðÄ쥯¥é¥¹½é´üÀßÄê»Ò¤¬»ØÄꤵ¤ì¤Þ¤·¤¿¤¬¡¢½é´ü²½¤¹¤Ù¤­´ðÄ쥯¥é¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
+#~ msgid " will be re-ordered to match declaration order"
+#~ msgstr " Àë¸À½ç¤È°ìÃפ¹¤ë¤è¤¦¤ËʤÓÂؤ¨¤é¤ì¤Þ¤¹"
+
+#~ msgid " will be re-ordered to match inheritance order"
+#~ msgstr " ÇÉÀ¸½ç¤È°ìÃפ¹¤ë¤è¤¦¤ËʤÙÂؤ¨¤é¤ì¤Þ¤¹"
#~ msgid "initializer for unnamed base class ambiguous"
#~ msgstr "̵̾´ðÄ쥯¥é¥¹¤Î½é´üÀßÄê»Ò¤¬Û£Ëæ¤Ç¤¹"
+#~ msgid "no base class to initialize"
+#~ msgstr "½é´ü²½¤¹¤Ù¤­´ðÄ쥯¥é¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
+
#~ msgid "Do not treat the namespace `std' as a normal namespace"
#~ msgstr "̾Á°¶õ´Ö `std' ¤òÄ̾ï¤Î̾Á°¶õ´Ö¤È¤·¤Æ¼è¤ê°·¤ï¤Ê¤¤"
+#~ msgid "methods cannot be converted to function pointers"
+#~ msgstr "¥á¥½¥Ã¥É¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "ambiguous request for method pointer `%s'"
+#~ msgstr "¥á¥½¥Ã¥É¥Ý¥¤¥ó¥¿ `%s' ¤Ø¤ÎÍ׵᤬ۣËæ¤Ç¤¹"
+
#~ msgid "ISO C++ forbids `&&'"
#~ msgstr "ISO C++ ¤Ï `&&' ¤ò¶Ø¤¸¤Þ¤¹"
@@ -22384,9 +21936,60 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "recoverable compiler error, fixups for virtual function"
#~ msgstr "²óÉü²Äǽ¤Ê¥³¥ó¥Ñ¥¤¥é¤Î¥¨¥é¡¼¡¢²¾ÁÛ´Ø¿ô¤Î½¤Àµ"
+#~ msgid " will be re-ordered to precede member initializations"
+#~ msgstr " Àè¤Ë¤¢¤ë¥á¥ó¥Ð½é´ü²½»Ò¤ÈʤÓÂؤ¨¤é¤ì¤Þ¤¹"
+
#~ msgid "`com_interface' only supported with -fvtable-thunks"
#~ msgstr "`com_interface' ¤Ï -fvtable-thunks ¤ò»ØÄꤷ¤¿¤È¤­¤À¤±¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹"
+#~ msgid "ISO C++ forbids applying `sizeof' to a member function"
+#~ msgstr "ISO C++ ¤Ï¥á¥ó¥Ð´Ø¿ô¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
+#~ msgstr "ISO C++ ¤ÏÉÔ´°Á´·¿¤Ç¤¢¤ë `void' ·¿¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+#~ msgid "invalid reference to NULL ptr, use ptr-to-member instead"
+#~ msgstr "NULL ¥Ý¥¤¥ó¥¿¤Ø¤Î̵¸ú¤Ê»²¾È¡¢Âå¤ï¤ê¤Ë¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¤¤Þ¤·¤ç¤¦"
+
+#~ msgid "invalid call to member function needing `this' in static member function scope"
+#~ msgstr "ÀÅŪ¥á¥ó¥Ð´Ø¿ô¥¹¥³¡¼¥×Æâ¤Ç¤Ï `this' ¤òÍפ¹¤ë¥á¥ó¥Ð´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ï̵¸ú¤Ç¤¹"
+
+#~ msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
+#~ msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+#~ msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
+#~ msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+#~ msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
+#~ msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+#~ msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
+#~ msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+#~ msgid "unary `&'"
+#~ msgstr "ñ¹à¤Î `&'"
+
+#~ msgid "return value from function receives multiple initializations"
+#~ msgstr "´Ø¿ô¤«¤é¤ÎÌá¤êÃͤ¬Ê£¿ô¤Î½é´ü²½¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
+
+#~ msgid "Internal error #%d."
+#~ msgstr "ÆâÉô¥¨¥é¡¼: #%d¡£"
+
+#~ msgid "due to the presence of a constructor"
+#~ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ë¤³¤È¤Ë¤è¤ë"
+
+#~ msgid "Can't create cross-reference file `%s'"
+#~ msgstr "Áê¸ß»²¾È¥Õ¥¡¥¤¥ë `%s' ¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "traditional C rejects the `U' suffix"
+#~ msgstr "¸Å¤¤ C ¤Ç¤Ï `U' ÀÜÈø¼­¤¬µñÀ䤵¤ì¤Þ¤¹"
+
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "À°¿ôÄê¿ô¤Î¥µ¥Õ¥£¥Ã¥¯¥¹ 'l' ¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#~ msgid "integer constant contains digits beyond the radix"
+#~ msgstr "À°¿ôÄê¿ô¤¬´ð¿ô¤òĶ¤¨¤¿¿ôÃͤò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+
#~ msgid "\"defined\" operator appears during macro expansion"
#~ msgstr "\"defined\" ±é»»»Ò¤¬¥Þ¥¯¥íŸ³«Ãæ¤Ë¸½¤ì¤Þ¤·¤¿"
@@ -22396,6 +21999,51 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "buffers still stacked in cpp_finish"
#~ msgstr "cpp_finish ¤Ç¥Ð¥Ã¥Õ¥¡¤¬¤Þ¤À¥¹¥¿¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
+#~ msgid "Argument missing after %s"
+#~ msgstr "%s ¤Î¸å¤í¤Î°ú¿ô¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "Number missing after %s"
+#~ msgstr "%s ¤Î¸å¤í¤Î¿ô»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP version %s (cpplib)"
+
+#~ msgid "Usage: %s [switches] input output\n"
+#~ msgstr "»È¤¤Êý: %s [¥¹¥¤¥Ã¥Á] ÆþÎÏ ½ÐÎÏ\n"
+
+#~ 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 ""
+#~ " -pedantic ¸·Ì©¤Ê ISO C ¤ÇÍ׵ᤵ¤ì¤ëÁ´¤Æ¤Î·Ù¹ð¤òȯ¹Ô¤¹¤ë\n"
+#~ " -pedantic-errors -pedantic ·Ù¹ð¤ÎÂå¤ê¤Ë¥¨¥é¡¼¤òȯ¹Ô¤¹¤ë\n"
+#~ " -trigraphs ISO C ¥È¥é¥¤¥°¥é¥Õ¤ò¼õ¤±Æþ¤ì¤ë\n"
+#~ " -lang-c ÆþÎÏ¥½¡¼¥¹¤ò C ¤È¤ß¤Ê¤¹\n"
+#~ " -lang-c89 ÆþÎÏ¥½¡¼¥¹¤ò C89 ¤È¤ß¤Ê¤¹\n"
+
+#~ 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 ""
+#~ " -lang-c++ ÆþÎÏ¥½¡¼¥¹¤ò C ¤È¤ß¤Ê¤¹\n"
+#~ " -lang-objc ÆþÎÏ¥½¡¼¥¹¤ò ObjectiveC ¤È¤ß¤Ê¤¹\n"
+#~ " -lang-objc++ ÆþÎÏ¥½¡¼¥¹¤ò ObjectiveC++ ¤È¤ß¤Ê¤¹\n"
+#~ " -lang-asm ÆþÎÏ¥½¡¼¥¹¤ò¥¢¥»¥ó¥Ö¥ê¸À¸ì¤È¤ß¤Ê¤¹\n"
+
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "½ªÃ¼¤Î¤Ê¤¤Ê¸»úÎó¥ê¥Æ¥é¥ë¤Î¿äÄ곫»Ï°ÌÃÖ"
+
+#~ msgid "multi-line string literals are deprecated"
+#~ msgstr "Ê£¿ô¹Ôʸ»úÎó¥ê¥Æ¥é¥ë¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
+
+#~ msgid "directives may not be used inside a macro argument"
+#~ msgstr "¥Þ¥¯¥í°ú¿ôÆâ¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
#~ msgid "# followed by integer"
#~ msgstr "À°¿ô¤¬ # ¤Ë³¤¤¤Æ¤¤¤Þ¤¹"
@@ -22408,24 +22056,81 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "expected to return to file \"%s\""
#~ msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
-#~ msgid "expected to return to line number %u"
-#~ msgstr "¹ÔÈÖ¹æ %u ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
-
#~ msgid "header flags for \"%s\" have changed"
#~ msgstr "\"%s\" ¤Î¥Ø¥Ã¥À¥Õ¥é¥°¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿"
+#~ msgid "<stdin>"
+#~ msgstr "<ɸ½àÆþÎÏ>"
+
#~ msgid "file \"%s\" entered but not left"
#~ msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ËÆþ¤ê¤Þ¤·¤¿¤¬½Ð¤Þ¤»¤ó¤Ç¤·¤¿"
+#~ msgid "Invalid option %s"
+#~ msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó %s"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: ·Ù¹ð: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: ·Ù¹ð: "
+
+#~ msgid "sorry, not implemented: "
+#~ msgstr "»ÄÇ°¤Ê¤¬¤é¸«¼ÂÁõ¤Ç¤¹: "
+
+#~ msgid "support non-32-bit machines better as of version 0.6."
+#~ msgstr "g77 ¤Ï¤¤¤º¤ì version 0.6 ƱÍͤËÈó 32 ¥Ó¥Ã¥Èµ¡¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹"
+
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "-traditional ¤Ç¤Ï `\\a' ¤Î°ÕÌ£¤¬°Û¤Ê¤ê¤Þ¤¹"
+
+#~ msgid "output_operand: %s"
+#~ msgstr "output_operand: %s"
+
#~ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d\n"
#~ msgstr "NOTE_INSN_BASIC_BLOCK ¤¬¥Ö¥í¥Ã¥¯ %d ¤Ë¤¢¤ê¤Þ¤»¤ó\n"
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "`-b' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "`-V' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "invalid version number format"
+#~ msgstr "̵¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ·Á¼°"
+
#~ msgid "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file\n"
#~ msgstr "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] ¥Õ¥¡¥¤¥ë\n"
+#~ msgid ".da file contents exhausted too early\n"
+#~ msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò¤¢¤Þ¤ê¤ËÁ᤯»È¤¤ÀڤäƤ·¤Þ¤¤¤Þ¤·¤¿\n"
+
+#~ msgid "%6.2f%% of %d source lines executed in function %s\n"
+#~ msgstr "%6.2f%%(%d ¹ÔÃæ) ¤Î¥½¡¼¥¹¹Ô¤¬´Ø¿ô %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+
+#~ msgid "%6.2f%% of %d branches executed in function %s\n"
+#~ msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬´Ø¿ô %s Æâ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+
+#~ msgid "%6.2f%% of %d branches taken at least once in function %s\n"
+#~ msgstr "%6.2f%%(%d ËÜÃæ) ¤Î¥Ö¥é¥ó¥Á¤¬¾¯¤Ê¤¯¤È¤â°ìÅ٤ϴؿô %s ¤Ç¼õ¼è¤é¤ì¤Þ¤·¤¿\n"
+
+#~ msgid "No branches in function %s\n"
+#~ msgstr "´Ø¿ô %s ¤Ë¤Ïʬ´ô¤¬¤¢¤ê¤Þ¤»¤ó\n"
+
+#~ msgid "%6.2f%% of %d calls executed in function %s\n"
+#~ msgstr "%6.2f%%(%d ²ó) ¤Î¸Æ¤Ó½Ð¤·¤¬´Ø¿ô %s ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤·¤¿\n"
+
+#~ msgid "call %d returns = %d%%\n"
+#~ msgstr "¸Æ¤Ó½Ð¤· %d ¤ÎÌá¤ê = %d%%\n"
+
+#~ msgid "branch %d taken = %d%%\n"
+#~ msgstr "¥Ö¥é¥ó¥Á %d ¼õÍý = %d%%\n"
+
#~ msgid "Premature end of input file %s"
#~ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë %s ¤Î½ª¤ê¤Ë㤹¤ë¤Î¤¬Á᤹¤®¤Þ¤¹"
+#~ msgid "can't to open %s"
+#~ msgstr "%s ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
#~ msgid "Make is_compiled_class return 1"
#~ msgstr "is_compiled_class ¤¬ 1 ¤òÊÖ¤¹¤è¤¦¤Ë¤¹¤ë"
@@ -22441,12 +22146,60 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "Don't put synchronization structure in each object"
#~ msgstr "Ʊ´ü¹½Â¤ÂΤò³Æ¥ª¥Ö¥¸¥§¥¯¥È¤ËÁȤßÆþ¤ì¤Ê¤¤"
-#~ msgid "Use built-in instructions for division"
-#~ msgstr "ÁȤ߹þ¤ß¤Î½ü»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
+#~ msgid "Set class path and suppress system path"
+#~ msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤷ¤Æ¥·¥¹¥Æ¥à¥Ñ¥¹¤ò±£¤¹"
+
+#~ msgid "Can't specify array dimension in a declaration"
+#~ msgstr "ÇÛÎó¤Î¼¡¸µ¤òÀë¸À¤Ç»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "Can't use '$' as a separator for inner classes"
+#~ msgstr "'$' ¤ÏÆâÉô¥¯¥é¥¹¤Î¶èÀÚ¤ê»Ò¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤»¤ó"
+
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "ÆâÉô¥¨¥é¡¼ - ̤ÄêµÁ·¿¤Î»ÈÍѤǤ¹"
+
+#~ msgid "no class name specified as argument to -fconstant-string-class"
+#~ msgstr "-fconstant-string-class ¤Ë°ú¿ô¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "syntax error at '@' token"
+#~ msgstr "'@' ¥È¡¼¥¯¥ó¤Çʸˡ¥¨¥é¡¼"
#~ msgid "Arc profiling: some edge counts were bad."
#~ msgstr "¸Ì(arc)¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°: ´ö¤Ä¤«¤Î edge ¥«¥¦¥ó¥È¤ÏÉÔÀµ¤Ç¤¹¡£"
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "NaN ¤«¤éÉä¹ç̵¤·À°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+#~ msgid "floating point overflow"
+#~ msgstr "ÉâÆ°¾®¿ôÅÀ¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+#~ msgid "overflow on truncation to integer"
+#~ msgstr "À°¿ô¤Ø¤ÎÀÚ¤êµÍ¤á¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤³¤ê¤Þ¤·¤¿"
+
+#~ msgid "overflow on truncation to unsigned integer"
+#~ msgstr "Éä¹ç̵¤·À°¿ô¤Ø¤ÎÀÚ¤êµÍ¤á¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤³¤ê¤Þ¤·¤¿"
+
+#~ msgid "%s: argument domain error"
+#~ msgstr "%s: °ú¿ôÎΰ襨¥é¡¼¤Ç¤¹"
+
+#~ msgid "%s: function singularity"
+#~ msgstr "%s: ´Ø¿ô¤Îñ°ìÀ­"
+
+#~ msgid "%s: overflow range error"
+#~ msgstr "%s: ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ÈÏ°Ï¥¨¥é¡¼"
+
+#~ msgid "%s: underflow range error"
+#~ msgstr "%s: ¥¢¥ó¥À¡¼¥Õ¥í¡¼ÈÏ°Ï¥¨¥é¡¼"
+
+#~ msgid "%s: total loss of precision"
+#~ msgstr "%s: Á´ÂÎŪ¤ÊÀºÅÙ¤ÎÄã²¼"
+
+#~ msgid "%s: partial loss of precision"
+#~ msgstr "%s: ÉôʬŪ¤ÊÀºÅÙ¤ÎÄã²¼"
+
+#~ msgid "%s: NaN - producing operation"
+#~ msgstr "%s: NaN - Áàºî¤òÀ¸¤¸¤Þ¤¹"
+
#~ msgid "`asm' cannot be used in function where memory usage is checked"
#~ msgstr "`asm' ¤Ï´Ø¿ô¤Ç¥á¥â¥êÍøÍѤòÄ´¤Ù¤ë½ê¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
@@ -22456,9 +22209,15 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "output operand constraint %d contains `+'"
#~ msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥ÉÀ©Ìó %d ¤Ï `+' ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+#~ msgid "hard register `%s' listed as input operand to `asm'"
+#~ msgstr "¥Ï¡¼¥É¥ì¥¸¥¹¥¿ `%s' ¤¬ `asm' ¤ËÂФ·¡¢ÆþÎÏ¥ª¥Ú¥é¥ó¥É¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤Þ¤·¤¿"
+
#~ msgid "\"%s\" and \"%s\" identical in first %d characters"
#~ msgstr "\"%s\" ¤È \"%s\" ¤ÏºÇ½é¤Î %d ʸ»ú¤¬Á´¤¯Æ±¤¸¤Ç¤¹"
+#~ msgid "Pretend that host and target use the same FP format"
+#~ msgstr "¥Û¥¹¥È¤È¥¿¡¼¥²¥Ã¥È¤¬Æ±¤¸ÉâÆ°¾®¿ô·Á¼°¤ò»È¤¦¿¶¤ëÉñ¤¤¤ò¤µ¤»¤ë"
+
#~ msgid "Improve FP speed by violating ANSI & IEEE rules"
#~ msgstr "ANSI & IEEE µ¬Â§¤òÇˤäÆÉâÆ°¾®¿ô¤Î®ÅÙ¤ò²þÁ±¤¹¤ë"
@@ -22468,12 +22227,27 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "Add a prefix to all function names"
#~ msgstr "Á´¤Æ¤Î´Ø¿ô̾¤ËÀÜƬ¼­¤òÄɲ乤ë"
+#~ msgid "Do not promote floats to double if using -traditional"
+#~ msgstr "-traditional »ÈÍÑ»þ¤Ë¤Ï¡¢ÉâÆ°¾®¿ô¤Ë´Ø¤· float ¤«¤é double ¤Ë³Ê¾å¤²¤·¤Ê¤¤"
+
+#~ msgid "Attempt to support traditional K&R style C"
+#~ msgstr "¸Å¤¤ K&R ¼°¤Î C ¤Î¥µ¥Ý¡¼¥È¤ò»î¤ß¤ë"
+
+#~ msgid "Internal error: %s"
+#~ msgstr "ÆâÉô¥¨¥é¡¼: %s"
+
#~ msgid "Errors detected in input file (your bison.simple is out of date)\n"
#~ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ëÃæ¤Ë¥¨¥é¡¼ (¤¢¤Ê¤¿¤Î bison.simple ¤Ï¸Å¤¹¤®¤Þ¤¹)\n"
#~ msgid " -Wid-clash-<num> Warn if 2 identifiers have the same first <num> chars\n"
#~ msgstr " -Wid-clash-<num> Æó¤Ä¤Î¼±Ê̻Ҥ¬ <num> ʸ»úʬ°ìÃפ·¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë\n"
+#~ msgid " -a Enable block profiling \n"
+#~ msgstr " -a ¥Ö¥í¥Ã¥¯¥×¥í¥Õ¥¡¥¤¥ë¤òÍ­¸ú¤Ë¤¹¤ë\n"
+
+#~ msgid " -ax Enable jump profiling \n"
+#~ msgstr " -ax ¥¸¥ã¥ó¥×¥×¥í¥Õ¥¡¥¤¥ë¤òÍ­¸ú¤Ë¤¹¤ë\n"
+
#~ msgid "Unrecognized option `%s'"
#~ msgstr "ǧ¼±ÉÔǽ¤Ê¥ª¥×¥·¥ç¥ó `%s'"
@@ -22486,9 +22260,177 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "`-ax' and `-a' are conflicting options. `-a' ignored."
#~ msgstr "`-ax' ¤È `-a' ¤ÏÌ·½â¤¹¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£`-a' ¤ò̵»ë¤·¤Þ¤·¤¿¡£"
+#~ msgid "profiling does not work without a frame pointer"
+#~ msgstr "¥×¥í¥Õ¥¡¥¤¥ë¤Ï¥Õ¥ì¡¼¥à¥Ý¥¤¥ó¥¿¤Ê¤·¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó"
+
#~ msgid "Data size %ld.\n"
#~ msgstr "¥Ç¡¼¥¿¥µ¥¤¥º %ld.\n"
+#~ msgid "floating point numbers not allowed in #if expressions"
+#~ msgstr "#if ¼°¤ÎÃæ¤Ç¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
+
+#~ msgid "Invalid number in #if expression"
+#~ msgstr "#if ¼°¤ÎÃæ¤Ë̵¸ú¤Ê¿ôÃÍ"
+
+#~ msgid "double quoted strings not allowed in #if expressions"
+#~ msgstr "Æó½Å¤Ë¥¯¥©¡¼¥È¤µ¤ì¤¿Ê¸»úÎó¤Ï #if ¼°Æâ¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
+
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "8 ¿Ê¿ôʸ»úÄê¿ô¤¬ 1 ¥Ð¥¤¥È¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó"
+
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "16 ¿Ê¿ôʸ»úÄê¿ô¤¬ 1 ¥Ð¥¤¥È¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó"
+
+#~ msgid "empty #if expression"
+#~ msgstr "¶õ¤Î #if ¼°¤Ç¤¹"
+
+#~ msgid "Junk after end of expression."
+#~ msgstr "¼°¤Î½ª¤ê°Ê¹ß¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+#~ msgid "macro or #include recursion too deep"
+#~ msgstr "¥Þ¥¯¥í¤Þ¤¿¤Ï #include ¤ÎºÆµ¢¤¬¿¼¤¹¤®¤Þ¤¹"
+
+#~ msgid "Usage: %s [switches] input output"
+#~ msgstr "»È¤¤Êý: %s [¥¹¥¤¥Ã¥Á] ÆþÎÏ ½ÐÎÏ"
+
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "-traditional ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
+
+#~ msgid "-traditional and -ansi are mutually exclusive"
+#~ msgstr "-traditional ¤È -ansi ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
+
+#~ msgid "Filename missing after -i option"
+#~ msgstr "-i ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "Filename missing after -o option"
+#~ msgstr "-o ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "Target missing after %s option"
+#~ msgstr "%s ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥¿¡¼¥²¥Ã¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "Filename missing after %s option"
+#~ msgstr "%s ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Õ¥¡¥¤¥ë̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "Macro name missing after -%c option"
+#~ msgstr "-%c ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Þ¥¯¥í̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "-pedantic ¤È -traditional ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
+
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "-trigraphs ¤È -traditional ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
+
+#~ msgid "Directory name missing after -I option"
+#~ msgstr "-I ¥ª¥×¥·¥ç¥ó¤Î¸å¤í¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "`/*' within comment"
+#~ msgstr "`/*' ¤¬¥³¥á¥ó¥ÈÆâ¤Ë¤¢¤ê¤Þ¤¹"
+
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "½ªÃ¼¤Î¤Ê¤¤ #%s ¾ò·ï"
+
+#~ msgid "not in any file?!"
+#~ msgstr "Á´¤¯¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤?!"
+
+#~ msgid "`defined' must be followed by ident or (ident)"
+#~ msgstr "`defined' ¤Î¸å¤í¤Ë ident ¤ä (ident) ¤¬¤³¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#~ msgid "cccp error: invalid special hash type"
+#~ msgstr "cccp ¥¨¥é¡¼: Æüì¥Ï¥Ã¥·¥å·¿¤¬Ìµ¸ú¤Ç¤¹"
+
+#~ msgid "#include expects \"fname\" or <fname>"
+#~ msgstr "#include ¤Î¸å¤Ë¤Ï \"fname\" ¤ä <fname> ¤¬É¬ÍפǤ¹"
+
+#~ msgid "No include path in which to find %.*s"
+#~ msgstr "%.*s ¤¬¸«¤Ä¤«¤ë¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "invalid macro name"
+#~ msgstr "̵¸ú¤Ê¥Þ¥¯¥í̾"
+
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "̵¸ú¤Ê¥Þ¥¯¥í̾ `%s'"
+
+#~ msgid "parameter name starts with a digit in #define"
+#~ msgstr "#define Ãæ¤Î²¾°ú¿ô̾¤¬¿ô»ú¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹"
+
+#~ msgid "badly punctuated parameter list in #define"
+#~ msgstr "#define Ãæ¤Î²¾°ú¿ô¥ê¥¹¥È¤¬ÊѤ˶èÀÚ¤é¤ì¤Þ¤·¤¿"
+
+#~ msgid "\"%.*s\" redefined"
+#~ msgstr "\"%.*s\" ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+#~ msgid "# operator should be followed by a macro argument name"
+#~ msgstr "# ±é»»»Ò¤Î¸å¤í¤Ë¤Ï¥Þ¥¯¥í°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#~ msgid "invalid format #line command"
+#~ msgstr "#line ¥³¥Þ¥ó¥É¤Î½ñ¼°¤¬Ìµ¸ú¤Ç¤¹"
+
+#~ msgid "undefining `defined'"
+#~ msgstr "`defined' ¤ò undef ¤·¤Þ¤¹"
+
+#~ msgid "undefining `%s'"
+#~ msgstr "`%s' ¤ò undef ¤·¤Þ¤¹"
+
+#~ msgid "extra text at end of directive"
+#~ msgstr "¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Î½ª¤ê¤Ë;ʬ¤Ê¥Æ¥¯¥¹¥È¤¬¤¢¤ê¤Þ¤¹"
+
+#~ msgid "#error%.*s"
+#~ msgstr "#error%.*s"
+
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning%.*s"
+
+#~ msgid "#elif not within a conditional"
+#~ msgstr "#elif ¤¬¾ò·ïʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "#%s not within a conditional"
+#~ msgstr "#%s ¤¬¾ò·ïʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "#else or #elif after #else"
+#~ msgstr "#else ¤Î¸å¤í¤Ë #else ¤ä #elif ¤¬¤¢¤ê¤Þ¤¹"
+
+#~ msgid "#else not within a conditional"
+#~ msgstr "#else ¤¬¾ò·ïʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "unterminated string or character constant"
+#~ msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎóÄê¿ôËô¤Ïʸ»úÄê¿ô"
+
+#~ msgid "no args to macro `%s'"
+#~ msgstr "¥Þ¥¯¥í `%s' ¤Ø¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "¥Þ¥¯¥í `%s' ¤Ø¤Î°ú¿ô¤¬°ì¸Ä¤·¤«¤¢¤ê¤Þ¤»¤ó"
+
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "%d ¸Ä¤Î°ú¿ô¤·¤«¥Þ¥¯¥í `%s' ¤ËÅϤ·¤Æ¤¤¤Þ¤»¤ó"
+
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "°ú¿ô¤Î¿ô (%d) ¤¬¥Þ¥¯¥í `%s' ¤ËÂФ·¤Æ¿¤¹¤®¤Þ¤¹"
+
+#~ msgid ""
+#~ "Internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "%s ¤ÇÆâÉô¥¨¥é¡¼¡¢(tradcpp.c:%d)\n"
+#~ "´°Á´¤Ê¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
+#~ "%s ¤Ç¤½¤Î¼ê½ç¤ò¸«¤Æ¤¯¤À¤µ¤¤"
+
+#~ msgid "Incompatible interworking options"
+#~ msgstr "¸ß´¹À­¤Î¤Ê¤¤ interworking ¥ª¥×¥·¥ç¥ó"
+
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd ¤È -pedantic ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd ¤È -mxopen ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen ¤È -pedantic ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "A -ifile option requires a -map option"
+#~ msgstr "-ifile ¥ª¥×¥·¥ç¥ó¤Ë¤Ï -map ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
+
#~ msgid "bx]"
#~ msgstr "bx]"
@@ -22498,6 +22440,15 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "cx"
#~ msgstr "cx"
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "-p ¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó. Âå¤ï¤ê¤Ë -pg ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
+
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "-mfp64 ¤È -msingle-float ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+#~ msgid "-p profiling is no longer supported. Use -pg instead."
+#~ msgstr "-p ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Ï¤â¤¦Ä󶡤µ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë -pg ¤ò»È¤¤¤Þ¤·¤ç¤¦¡£"
+
#~ msgid "%s before character constant"
#~ msgstr "ʸ»úÄê¿ô¤ÎÁ°¤Ë %s"
@@ -22516,12 +22467,24 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "nondigits in number and not hexadecimal"
#~ msgstr "¿ôÃͤ˥¢¥é¥Ó¥¢¿ô»ú¤Ç¤Ê¤¯¡¢16 ¿Ê¤Ç¤â¤Ê¤¤Ê¸»ú"
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "¿ôÃÍÄê¿ô¤¬´ð¿ô¤òĶ¤¨¤¿¥¢¥é¥Ó¥¢¿ô»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+
+#~ msgid "two `u's in integer constant"
+#~ msgstr "À°¿ôÄê¿ôÃæ¤Ë 2¤Ä¤Î `u'"
+
+#~ msgid "Unterminated string constant"
+#~ msgstr "ʸ»úÎóÄê¿ô¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
+
#~ msgid "invalid `for (ITERATOR)' syntax"
#~ msgstr "̵¸ú¤Ê `for (È¿Éü»Ò)' ¹½Ê¸¤Ç¤¹"
#~ msgid "`for (%s)' inside expansion of same iterator"
#~ msgstr "Ʊ¤¸È¿Éü»Ò¤ÎÆ⦤ˤ¢¤ë `for (%s)'"
+#~ msgid "case label within scope of cleanup or variable array"
+#~ msgstr "case ¥é¥Ù¥ë¤¬¡¢²òÂΤޤ¿¤Ï²ÄÊÑÇÛÎó¤Î¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
+
#~ msgid "duplicate array index in initializer"
#~ msgstr "½é´ü²½»ÒÆâ¤Ë½ÅÊ£¤·¤¿ÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹"
@@ -22576,11 +22539,8 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "`default' label within scope of cleanup or variable array"
#~ msgstr "`default' ¥é¥Ù¥ë¤¬¡¢²òÂΤޤ¿¤Ï²ÄÊÑÇÛÎó¤Î¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
-#~ msgid "end of file encountered inside string constant"
-#~ msgstr "ʸ»úÎóÄê¿ô¤ÎÃæ¤Ç¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤ò¸¡½Ð¤·¤Þ¤·¤¿"
-
-#~ msgid "end of file encountered inside character constant"
-#~ msgstr "ʸ»úÄê¿ô¤ÎÃæ¤Ç¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤ò¸¡½Ð¤·¤Þ¤·¤¿"
+#~ msgid "invalid #pragma vtable"
+#~ msgstr "̵¸ú¤Ê #pragma vtable"
#~ msgid "universal-character-name designates `%c', part of the basic source character set"
#~ msgstr "universal-character-name ¤Ï `%c' ¤ò»Ø¼¨¤·¤Þ¤·¤¿¤¬¡¢´ðËÜŪ¤Êʸ»ú½¸¹ç¤Î°ìÉô¤Ç¤¹"
@@ -22588,6 +22548,9 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "%s at end of saved text"
#~ msgstr "ÊݸºÑ¤ß¥Æ¥­¥¹¥È¤ÎËöÈø¤Ç%s"
+#~ msgid "complex integer constant is too wide for `__complex int'"
+#~ msgstr "Ê£ÁÇ¿ô·¿À°¿ôÄê¿ô¤Ï `__complex int' ¤Ë¤È¤Ã¤Æ¹­¤¹¤®¤Þ¤¹"
+
#~ msgid "Please submit a full bug report."
#~ msgstr "¾Ü¤·¤¤¾õ¶·¤ò¥Ð¥°¥ì¥Ý¡¼¥È¤È¤·¤ÆÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£"
@@ -22609,12 +22572,6 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "'defined' without an identifier"
#~ msgstr "¼±Ê̻ҤΤʤ¤ 'defined'"
-#~ msgid "included file `%s' exists but is not readable"
-#~ msgstr "include ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë `%s' ¤Ï¡¢Â¸ºß¤·¤Þ¤¹¤¬Æɤá¤Þ¤»¤ó"
-
-#~ msgid "%s is a directory"
-#~ msgstr "%s ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹"
-
#~ msgid "`##' at start of macro definition"
#~ msgstr "`##' ¤¬¥Þ¥¯¥íÄêµÁ¤Î»Ï¤á¤Ë¤¢¤ê¤Þ¤¹"
@@ -22825,9 +22782,6 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "string constant runs past end of line"
#~ msgstr "ʸ»úÎóÄê¿ô¤¬¹Ô¤Î½ª¤ï¤ê¤Ç½ªÃ¼¤·¤Æ¤¤¤Þ¤»¤ó"
-#~ msgid "null characters in string or character constant"
-#~ msgstr "ʸ»úÎóËô¤Ïʸ»úÄê¿ôÃæ¤Ë null ʸ»ú"
-
#~ msgid "missing '>' in `#include <FILENAME>'"
#~ msgstr "`#include <¥Õ¥¡¥¤¥ë̾>' ¤Ë '>' ¤¬¤¢¤ê¤Þ¤»¤ó"
@@ -22852,6 +22806,9 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "handle_directive called on macro buffer"
#~ msgstr "¥Þ¥¯¥í¥Ð¥Ã¥Õ¥¡¤Ç handle_directive ¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿"
+#~ msgid "ignoring #%s because of its indented #"
+#~ msgstr "¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤¿ # ¤Ê¤Î¤Ç¡¢#%s ¤Ï̵»ë¤·¤Þ¤¹"
+
#~ msgid "ISO C does not allow #%s"
#~ msgstr "ISO C ¤Ï #%s ¤òµö²Ä¤·¤Þ¤»¤ó"
@@ -22870,11 +22827,8 @@ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
#~ msgid "cannot undefine poisoned \"%s\""
#~ msgstr "±øÀ÷¤µ¤ì¤¿ \"%s\" ¤ò undefine ¤Ç¤­¤Þ¤»¤ó"
-#~ msgid "malformed #pragma implementation"
-#~ msgstr "¤ª¤«¤·¤Ê #pragma implementation"
-
-#~ msgid "#%s with no argument"
-#~ msgstr "#%s ¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+#~ msgid "#%s with invalid argument"
+#~ msgstr "̵¸ú¤Ê°ú¿ô¤ò»ý¤Ã¤¿ #%s"
#~ msgid "Cannot duplicate non-existant exception region."
#~ msgstr "¸ºß¤·¤Ê¤¤Îã³°Îΰè¤òÊ£À½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"
diff --git a/gcc/po/nl.po b/gcc/po/nl.po
index 03c6ec08aae..d6f82d4f1cc 100644
--- a/gcc/po/nl.po
+++ b/gcc/po/nl.po
@@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gcc 3.1-b20020128\n"
-"POT-Creation-Date: 2002-01-22 19:38-0800\n"
+"POT-Creation-Date: 2002-12-30 18:56+0000\n"
"PO-Revision-Date: 2002-02-04 18:04+0000\n"
"Last-Translator: Tim Van Holder <tim.van.holder@pandora.be>\n"
"Language-Team: Dutch <vertaling@nl.linux.org>\n"
@@ -16,132 +16,55 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: attribs.c:310
+#: attribs.c:185
#, c-format
msgid "`%s' attribute directive ignored"
msgstr "attribuut-commando `%s' wordt genegeerd"
-#: attribs.c:318
+#: attribs.c:193
#, c-format
msgid "wrong number of arguments specified for `%s' attribute"
msgstr "verkeerd aantal argumenten opgegeven voor het `%s' attribuut"
-#: attribs.c:335
+#: attribs.c:210
#, c-format
msgid "`%s' attribute does not apply to types"
msgstr "het `%s' attribuut heeft geen betekenis voor types"
-#: attribs.c:372
+#: attribs.c:247
#, c-format
msgid "`%s' attribute only applies to function types"
msgstr "het `%s' attribuut heeft enkel betekenis voor functie-types"
-#: attribs.c:462 attribs.c:484 attribs.c:506 attribs.c:537 attribs.c:559
-#: attribs.c:582 attribs.c:612 attribs.c:650 attribs.c:697 attribs.c:727
-#: attribs.c:757 attribs.c:780 attribs.c:1026 attribs.c:1082 attribs.c:1138
-#: attribs.c:1199 attribs.c:1225 attribs.c:1427 config/arm/arm.c:2012
-#: config/arm/arm.c:2039 config/avr/avr.c:4683 config/h8300/h8300.c:3045
-#: config/h8300/h8300.c:3070 config/i386/i386.c:1261 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 "het `%s' attribuut wordt genegeerd"
-#: attribs.c:813
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "onbekende machine-modus `%s'"
-
-#: attribs.c:816
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "geen datatype voor modus `%s'"
-
-#: attribs.c:849
-msgid "section attribute cannot be specified for local variables"
-msgstr "sectie-attribuut kan niet opgegeven worden voor lokale variabelen"
-
-#: attribs.c:860
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
-
-#: attribs.c:869
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr "sectie-attribuut niet toegestaan voor `%s'"
-
-#: attribs.c:876
-msgid "section attributes are not supported for this target"
-msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-
-#: attribs.c:918
-msgid "requested alignment is not a constant"
-msgstr "gevraagd alignment is geen constante"
-
-#: attribs.c:923
-msgid "requested alignment is not a power of 2"
-msgstr "gevraagd alignment is geen macht van 2"
-
-#: attribs.c:928
-msgid "requested alignment is too large"
-msgstr "gevraagd alignment is te groot"
-
-#: attribs.c:955
-#, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "er kan geen alignment opgegeven worden voor `%s'"
-
-#: attribs.c:1000
-#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr "`%s' is zowel als alias en als normale naam gedefinieerd"
-
-#: attribs.c:1010
-msgid "alias arg not a string"
-msgstr "alias-argument is geen string"
-
-#: attribs.c:1049 attribs.c:1105
-#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "het `%s' attribuut heeft enkel betekenis voor functies"
-
-#: attribs.c:1056 attribs.c:1112
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "kan het `%s' attribuut niet instellen na een definitie"
-
-#: attribs.c:1196
-#, c-format
-msgid "`%s' attribute ignored for `%s'"
-msgstr "het `%s' attribuut wordt genegeerd voor `%s'"
-
-# Is the %s the argument, or is it 'of' the argument?
-#: attribs.c:1253
-#, c-format
-msgid "invalid vector type for attribute `%s'"
-msgstr "ongeldig vector-type voor attribuut `%s'"
-
-#: attribs.c:1276 attribs.c:1281
-msgid "no vector mode with the size and type specified could be found"
-msgstr "er kon geen vectormodus gevonden worden met de opgegeven grootte en type"
-
-#: builtins.c:282
+#: builtins.c:285
msgid "offset outside bounds of constant string"
msgstr "offset buiten de grenzen van een constante string"
-#: builtins.c:759
+#: builtins.c:765
msgid "second arg to `__builtin_prefetch' must be a constant"
msgstr "tweede argument voor `__builtin_prefetch' moet een constante zijn"
-#: builtins.c:766
+#: builtins.c:772
msgid "invalid second arg to __builtin_prefetch; using zero"
msgstr "ongeldig tweede argument voor __builtin_prefetch; zal nul gebruiken"
-#: builtins.c:773
+#: builtins.c:779
msgid "third arg to `__builtin_prefetch' must be a constant"
msgstr "derde argument voor `__builtin_prefetch' moet een constante zijn"
-#: builtins.c:780
+#: builtins.c:786
msgid "invalid third arg to __builtin_prefetch; using zero"
msgstr "ongeldig derde argument voor __builtin_prefetch; zal nul gebruiken"
@@ -152,1298 +75,1473 @@ msgstr "ongeldig derde argument voor __builtin_prefetch; zal nul gebruiken"
#. 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:2759
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
msgstr "__builtin_saveregs wordt niet ondersteund op dit doelsysteem"
-#: builtins.c:2801
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr "argument voor `__builtin_args_info' moet een constante zijn"
-#: builtins.c:2807
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
msgstr "argument voor `__builtin_args_info' buiten bereik"
-#: builtins.c:2813
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
msgstr "ontbrekend argument in `__builtin_args_info'"
-#: builtins.c:2845
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
msgstr "`va_start' gebruikt in functie met vaste argumenten"
-#: builtins.c:2864
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
msgstr "de tweede parameter van `va_start' is niet het laatste benoemde argument"
#. 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:2869
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr "`__builtin_next_arg' opgeroepen zonder argument"
-#: builtins.c:2973
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
msgstr "teveel argumenten voor functie `va_start'"
# Of misschien beter "... niet van het `va_list' type"?
-#: builtins.c:3057
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
msgstr "het eerste argument van `va_arg' is geen `va_list'"
-#: builtins.c:3085
+#. 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:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
msgstr "`%s' wordt naar `%s' gepromoveerd indien het via `...' wordt doorgegeven"
-#: builtins.c:3089
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
msgstr "(dus U zou `%s' en niet `%s' moeten doorgeven aan `va_arg')"
-#: builtins.c:3213
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
msgstr "ongeldig argument voor `__builtin_frame_address'"
-#: builtins.c:3215
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
msgstr "ongeldig argument voor `__builtin_return_address'"
-#: builtins.c:3229
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
msgstr "niet-ondersteund argument voor `__builtin_frame_address'"
-#: builtins.c:3231
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
msgstr "niet-ondersteund argument voor `__builtin_return_address'"
-#: builtins.c:3399
+#: builtins.c:3515
msgid "second arg to `__builtin_expect' must be a constant"
msgstr "tweede argument voor `__builtin_expect' moet een constante zijn"
-#: builtins.c:3868
+#: builtins.c:4010
msgid "__builtin_longjmp second argument must be 1"
msgstr "tweede argument van `__builtin_longjmp' moet 1 zijn"
-#: builtins.c:3882
-msgid "__builtin_trap not supported by this target"
-msgstr "`__builtin_trap' wordt niet ondersteund op dit doelsysteem"
-
#. just do library call, if unknown builtin
-#: builtins.c:3947 c-common.c:3685
+#: builtins.c:4074 c-common.c:4437
#, c-format
msgid "built-in function `%s' not currently supported"
msgstr "ingebouwde functie `%s' wordt op het ogenblik niet ondersteund"
+#: builtins.c:4147
+#, fuzzy
+msgid "target format does not support infinity"
+msgstr "doel-CPU ondersteunt geen interworking"
+
# betere vertaling voor 'function scope'?
-#: c-common.c:550
+#: c-common.c:1163
#, c-format
msgid "`%s' is not defined outside of function scope"
msgstr "`%s' is niet gedefinieerd buiten een functie"
-#: c-common.c:590
-msgid "concatenation of string literals with __FUNCTION__ is deprecated. This feature will be removed in future"
-msgstr "concatenatie van stringconstantes met __FUNCTION__ is verouderd. Deze mogelijkheid zal in de toekomst verwijderd worden"
-
-#: c-common.c:659
+#: 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 "stringlengte `%d' is groter dan `%d', de lengte die ISO C%d compilers moeten ondersteunen"
-#: c-common.c:707 ch/decl.c:4100
+#: c-common.c:1242
+#, fuzzy
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr "concatenatie van stringconstantes met __FUNCTION__ is verouderd. Deze mogelijkheid zal in de toekomst verwijderd worden"
+
+#: c-common.c:1338
msgid "overflow in constant expression"
msgstr "overflow in constante expressie"
-#: c-common.c:728
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr "integer overflow in expressie"
-#: c-common.c:737
+#: c-common.c:1368
msgid "floating point overflow in expression"
msgstr "floating-point overflow in expressie"
+#: c-common.c:1374
+#, fuzzy
+msgid "vector overflow in expression"
+msgstr "integer overflow in expressie"
+
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:758
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr "grote integer impliciet afgekapt naar 'unsigned' type"
-#: c-common.c:760
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr "negatieve integer impliciet omgezet naar 'unsigned' type"
-#: c-common.c:807
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr "overflow in impliciete omzetting van constante"
-#: c-common.c:955
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
msgstr "bewerking op `%s' is mogelijk niet gedefinieerd"
# vertaling voor 'statement'?
-#: c-common.c:1246
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr "expressie-statement heeft onvolledig type"
-#: c-common.c:1279 ch/actions.c:1027
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "case-label valt niet te herleiden tot een integerconstante"
-#: c-common.c:1577
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "ongeldige waarheidsexpressie"
-#: c-common.c:1628
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "ongeldige operanden voor binaire %s-operator"
-#: c-common.c:1863 c-common.c:1872
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
msgstr "vergelijking is altijd vals omwille van het beperkte bereik van het datatype"
-#: c-common.c:1865 c-common.c:1874
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
msgstr "vergelijking is altijd waar omwille van het beperkte bereik van het datatype"
-#: c-common.c:1940
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr "vergelijking van 'unsigned' expressie >= 0 is altijd waar"
-#: c-common.c:1949
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr "vergelijking van 'unsigned' expressie < 0 is altijd vals"
-#: c-common.c:2000 f/com.c:14814
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr "pointer van type `void *' gebruikt in rekensom"
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr "pointer naar functie gebruikt in rekensom"
+
+#: c-common.c:2648
+#, fuzzy
+msgid "pointer to member function used in arithmetic"
+msgstr "pointer naar functie gebruikt in rekensom"
+
+#: c-common.c:2654
+#, fuzzy
+msgid "pointer to a member used in arithmetic"
+msgstr "pointer naar functie gebruikt in rekensom"
+
+#: c-common.c:2741 f/com.c:14690
msgid "struct type value used where scalar is required"
msgstr "waarde van struct-type gebruikt waar een scalair nodig is"
-#: c-common.c:2004 f/com.c:14818
+#: c-common.c:2745 f/com.c:14694
msgid "union type value used where scalar is required"
msgstr "waarde van union-type gebruikt waar een scalair nodig is"
-#: c-common.c:2008 f/com.c:14822
+#: c-common.c:2749 f/com.c:14698
msgid "array type value used where scalar is required"
msgstr "waarde van array-type gebruikt waar een scalair nodig is"
-#: c-common.c:2123 f/com.c:14948
+#: c-common.c:2869 f/com.c:14831
msgid "suggest parentheses around assignment used as truth value"
msgstr "gebruik liefst haakjes rond toewijzingen die als waarheid gebruikt worden"
-#: c-common.c:2167 c-common.c:2199
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
msgstr "ongeldig gebruik van `restrict'"
-#: c-common.c:2315
-msgid "__alignof__ applied to an incomplete type"
+#: c-common.c:3059
+#, fuzzy
+msgid "invalid application of `sizeof' to a function type"
+msgstr "ANSI C verbiedt een gekwalificeerd functietype"
+
+#: c-common.c:3069
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "sizeof toegepast op een void-type"
+
+#: c-common.c:3075
+#, fuzzy, c-format
+msgid "invalid application of `%s' to an incomplete type"
msgstr "__alignof__ toegepast op een onvolledig type"
-#: c-common.c:2341
+#: c-common.c:3116
msgid "`__alignof' applied to a bit-field"
msgstr "`__alignof' toegepast op bitveld"
-#: c-common.c:2783
+#: c-common.c:3596
#, c-format
msgid "cannot disable built-in function `%s'"
msgstr "ingebouwde functie `%s' kan niet uitgeschakeld worden"
-#: c-common.c:3064 c-typeck.c:1774
+#: c-common.c:3765 c-typeck.c:1734
#, c-format
msgid "too few arguments to function `%s'"
msgstr "te weinig argumenten voor functie `%s'"
-#: c-common.c:3070 c-typeck.c:1627
+#: c-common.c:3771 c-typeck.c:1587
#, c-format
msgid "too many arguments to function `%s'"
msgstr "teveel argumenten voor functie `%s'"
-#: c-common.c:3258
+#: c-common.c:3790
+#, fuzzy, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "teveel argumenten voor functie `%s'"
+
+#: c-common.c:4059
msgid "pointers are not permitted as case values"
msgstr "pointers zijn niet toegestaan als case-waarden"
# betere vertaling voor 'range expressions'?
-#: c-common.c:3264
+#: c-common.c:4065
msgid "ISO C++ forbids range expressions in switch statements"
msgstr "ISO C++ verbiedt het gebruik van bereik-expressies in switch statements"
-#: c-common.c:3266
+#: c-common.c:4067
msgid "ISO C forbids range expressions in switch statements"
msgstr "ISO C verbiedt het gebruik van bereik-expressies in switch statements"
-#: c-common.c:3296
+#: c-common.c:4097
msgid "empty range specified"
msgstr "leeg bereik opgegeven"
-#: c-common.c:3347
+#: c-common.c:4148
msgid "duplicate (or overlapping) case value"
msgstr "herhaalde (of overlappende) case-waarde"
-#: c-common.c:3349
+#: c-common.c:4150
msgid "this is the first entry overlapping that value"
msgstr "dit is de eerste waarde die die waarde overlapt"
-#: c-common.c:3353 ch/actions.c:1125
+#: c-common.c:4154
msgid "duplicate case value"
msgstr "herhaalde case-waarde"
-#: c-common.c:3354
+#: c-common.c:4155
msgid "previously used here"
msgstr "tevoren hier gebruikt"
-#: c-common.c:3358
+#: c-common.c:4159
msgid "multiple default labels in one switch"
msgstr "meerdere default-labels in één switch"
-#: c-common.c:3359
+#: c-common.c:4160
msgid "this is the first default label"
msgstr "dit is het eerste default-label"
-#: c-common.c:3387
+#: c-common.c:4188
msgid "ISO C++ forbids taking the address of a label"
msgstr "ISO C++ verbiedt het nemen van het adres van een label"
-#: c-common.c:3389
+#: c-common.c:4190
msgid "ISO C forbids taking the address of a label"
msgstr "ISO C verbiedt het nemen van het adres van een label"
-#: c-common.c:4023
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr "-Wformat-y2k genegeerd zonder -Wformat"
+#: c-common.c:5213
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "de declaratie van `%s' verbergt %s"
-#: c-common.c:4025
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr "-Wformat-extra-args genegeerd zonder -Wformat"
+#: c-common.c:5629
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "onbekende machine-modus `%s'"
-#: c-common.c:4027
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr "-Wformat-nonliteral genegeerd zonder -Wformat"
+#: c-common.c:5632
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "geen datatype voor modus `%s'"
-#: c-common.c:4029
-msgid "-Wformat-security ignored without -Wformat"
-msgstr "-Wformat-security genegeerd zonder -Wformat"
+#: c-common.c:5641 c-common.c:6242
+#, fuzzy, c-format
+msgid "unable to emulate '%s'"
+msgstr "kan bestand '%s' niet openen"
-#: c-common.c:4031
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr "-Wmissing-format-attribute genegeerd zonder -Wformat"
+#: c-common.c:5677
+msgid "section attribute cannot be specified for local variables"
+msgstr "sectie-attribuut kan niet opgegeven worden voor lokale variabelen"
-#: c-common.c:4122
+#: c-common.c:5688
#, c-format
-msgid "declaration of `%s' shadows %s"
-msgstr "de declaratie van `%s' verbergt %s"
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
+
+#: c-common.c:5697
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "sectie-attribuut niet toegestaan voor `%s'"
+
+#: c-common.c:5704
+msgid "section attributes are not supported for this target"
+msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+#: c-common.c:5746
+msgid "requested alignment is not a constant"
+msgstr "gevraagd alignment is geen constante"
+
+#: c-common.c:5751
+msgid "requested alignment is not a power of 2"
+msgstr "gevraagd alignment is geen macht van 2"
+
+#: c-common.c:5756
+msgid "requested alignment is too large"
+msgstr "gevraagd alignment is te groot"
+
+#: c-common.c:5783
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "er kan geen alignment opgegeven worden voor `%s'"
+
+#: c-common.c:5828
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr "`%s' is zowel als alias en als normale naam gedefinieerd"
+
+#: c-common.c:5838
+msgid "alias arg not a string"
+msgstr "alias-argument is geen string"
+
+#: c-common.c:5885
+#, fuzzy
+msgid "visibility arg not a string"
+msgstr "alias-argument is geen string"
+
+#: c-common.c:5894
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr ""
+
+#: c-common.c:5928
+#, fuzzy
+msgid "tls_model arg not a string"
+msgstr "alias-argument is geen string"
+
+#: 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 "het `%s' attribuut heeft enkel betekenis voor functies"
+
+#: c-common.c:5969 c-common.c:6025
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "kan het `%s' attribuut niet instellen na een definitie"
+
+#: c-common.c:6109
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "het `%s' attribuut wordt genegeerd voor `%s'"
+
+# Is the %s the argument, or is it 'of' the argument?
+#: c-common.c:6174
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "ongeldig vector-type voor attribuut `%s'"
+
+#: c-common.c:6198 c-common.c:6230
+msgid "no vector mode with the size and type specified could be found"
+msgstr "er kon geen vectormodus gevonden worden met de opgegeven grootte en type"
+
+#: c-common.c:6329
+#, fuzzy
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "aantal argumenten kom niet overeen met prototype"
+
+#: c-common.c:6344
+#, fuzzy, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr "de formaatstring heeft een niet-constant operand-nummer"
-#: c-convert.c:78 c-typeck.c:1031 c-typeck.c:4139 ch/convert.c:1164
-#: cp/typeck.c:1728 cp/typeck.c:6288
+#: 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 "void-waarde niet genegeerd zoals het hoort"
-#: c-convert.c:110 java/typeck.c:150
+#: c-convert.c:112 java/typeck.c:150
msgid "conversion to non-scalar type requested"
msgstr "conversie naar niet-scalair type gevraagd"
-#: c-decl.c:470
-msgid "-traditional is deprecated and may be removed"
-msgstr "-traditional is verouderd en zal misschien verwijderd worden"
-
-#: c-decl.c:560
-#, c-format
-msgid "unknown C standard `%s'"
-msgstr "onbekende C standaard `%s'"
-
-#: c-decl.c:842
+#: c-decl.c:336
#, c-format
msgid "array `%s' assumed to have one element"
msgstr "array `%s' wordt aangenomen één element te bevatten"
-#: c-decl.c:1018
+#: c-decl.c:522
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr "`struct %s' onvolledig in bereik dat hier eindigt"
-#: c-decl.c:1021
+#: c-decl.c:525
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr "`union %s' onvolledig in bereik dat hier eindigt"
-#: c-decl.c:1024
+#: c-decl.c:528
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr "`enum %s' onvolledig in bereik dat hier eindigt"
-#: c-decl.c:1138 c-decl.c:1279 ch/decl.c:2920 java/decl.c:1373
+#: c-decl.c:642 c-decl.c:767 java/decl.c:1399
#, c-format
msgid "label `%s' used but not defined"
msgstr "label `%s' gebruikt maar niet gedefinieerd"
-#: c-decl.c:1144 c-decl.c:1286 ch/decl.c:2926 java/decl.c:1379
+#: c-decl.c:648 c-decl.c:774 java/decl.c:1405
#, c-format
msgid "label `%s' defined but not used"
msgstr "label `%s' gedefinieerd maar niet gebruikt"
-#: c-decl.c:1403 cp/decl.c:3138
+#: c-decl.c:889 cp/decl.c:3058
#, c-format
msgid "function `%s' redeclared as inline"
msgstr "functie `%s' geherdeclareerd als inline"
-#: c-decl.c:1405 cp/decl.c:3140
+#: c-decl.c:891 cp/decl.c:3060
#, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr "eerdere declaratie van functie `%s' had het noinline attribuut"
-#: c-decl.c:1412 cp/decl.c:3147
+#: c-decl.c:898 cp/decl.c:3067
#, c-format
msgid "function `%s' redeclared with attribute noinline"
msgstr "functie `%s' geherdeclareerd met noinline attribuut"
-#: c-decl.c:1414 cp/decl.c:3149
+#: c-decl.c:900 cp/decl.c:3069
#, c-format
msgid "previous declaration of function `%s' was inline"
msgstr "eerdere declaratie van functie `%s' was inline"
-#: c-decl.c:1443 c-decl.c:1496
+#: c-decl.c:929 c-decl.c:975
#, c-format
msgid "shadowing built-in function `%s'"
msgstr "ingebouwde functie `%s' wordt verborgen"
-#: c-decl.c:1445
+#: c-decl.c:931
#, c-format
msgid "shadowing library function `%s'"
msgstr "bibliotheekfunctie `%s' wordt verborgen"
-#: c-decl.c:1451
+#: c-decl.c:937
#, c-format
msgid "library function `%s' declared as non-function"
msgstr "bibliotheekfunctie `%s' gedeclareerd als niet-functie"
-#: c-decl.c:1455 c-decl.c:1458
+#: c-decl.c:941 c-decl.c:944
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr "ingebouwde functie `%s' gedeclareerd als niet-functie"
-#: c-decl.c:1462 objc/objc-act.c:2334 objc/objc-act.c:6036
+#: 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 "`%s' als ander soort symbool geherdeclareerd"
-#: c-decl.c:1463 c-decl.c:1645 c-decl.c:1794 objc/objc-act.c:2336
-#: objc/objc-act.c:6038 objc/objc-act.c:6093
+#: 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 "eerdere declaratie van `%s'"
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1549
+#: c-decl.c:1044
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr "conflicterende types voor ingebouwde functie `%s'"
-#: c-decl.c:1592 c-decl.c:1611
+#: c-decl.c:1087 c-decl.c:1106
#, c-format
msgid "conflicting types for `%s'"
msgstr "conflicterende types voor `%s'"
-#: c-decl.c:1634
+#: c-decl.c:1129
msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
msgstr "een parameterlijst met een beletselteken kan niet overeenkomen met een declaratie met lege parameterlijst"
-#: c-decl.c:1640
+#: c-decl.c:1135
msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
msgstr "een argumenttype dat een standaardpromotie heeft kan niet overeenkomen met een declaratie met lege parameterlijst"
-#: c-decl.c:1655 c-decl.c:1677
+#: c-decl.c:1146
+#, fuzzy, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "static declaratie voor `%s' volgt niet-static declaratie"
+
+#: c-decl.c:1153
+#, fuzzy, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "niet-static declaratie voor `%s' volgt static declaratie"
+
+#: c-decl.c:1164 c-decl.c:1187
#, c-format
msgid "redefinition of `%s'"
msgstr "herdefinitie van `%s'"
-#: c-decl.c:1658
+#: c-decl.c:1167
#, c-format
msgid "redeclaration of `%s'"
msgstr "herdeclaratie van `%s'"
-#: c-decl.c:1661
+#: c-decl.c:1170
#, c-format
msgid "conflicting declarations of `%s'"
msgstr "conflicterende declaraties van `%s'"
-#: c-decl.c:1670 c-decl.c:1682
-#, c-format
-msgid "`%s' previously defined here"
-msgstr "`%s' tevoren hier gedefinieerd"
-
-#: c-decl.c:1671 c-decl.c:1683
-#, c-format
-msgid "`%s' previously declared here"
-msgstr "`%s' tevoren hier gedeclareerd"
-
-#: c-decl.c:1704
+#: c-decl.c:1214
#, c-format
msgid "prototype for `%s' follows"
msgstr "prototype voor `%s' volgt"
-#: c-decl.c:1705 c-decl.c:1713 c-decl.c:1729
+#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234
msgid "non-prototype definition here"
msgstr "niet-prototype definitie hier"
-#: c-decl.c:1712
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr "prototype voor `%s' volgt en aantal argumenten komt niet overeen"
-#: c-decl.c:1727
+#: c-decl.c:1232
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr "prototype voor `%s' volgt en argument %d komt niet overeen"
-#: c-decl.c:1745
+#: c-decl.c:1250
#, c-format
msgid "`%s' declared inline after being called"
msgstr "`%s' als 'inline' gedeclareerd na oproep"
-#: c-decl.c:1751
+#: c-decl.c:1256
#, c-format
msgid "`%s' declared inline after its definition"
msgstr "`%s' als 'inline' gedeclareerd na de definitie"
-#: c-decl.c:1758
+#: c-decl.c:1263
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr "static declaratie voor `%s' volgt niet-static declaratie"
-#: c-decl.c:1766
+#: c-decl.c:1271
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr "niet-static declaratie voor `%s' volgt static declaratie"
-#: c-decl.c:1773
+#: c-decl.c:1278
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr "'const' declaratie voor `%s' volgt niet-'const' declaratie"
-#: c-decl.c:1780
+#: c-decl.c:1285
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr "type-qualifiers voor `%s' geven een conflict met een eerdere declaratie"
-#: c-decl.c:1793
+#: c-decl.c:1298
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr "overbodige herdeclaratie van `%s' in zelfde bereik"
-#: c-decl.c:2097 java/decl.c:1072
+#: c-decl.c:1599 java/decl.c:1098
#, c-format
msgid "declaration of `%s' shadows a parameter"
msgstr "de declaratie van `%s' verbergt een parameter"
-#: c-decl.c:2100 java/decl.c:1075
+#: c-decl.c:1602 java/decl.c:1101
#, c-format
msgid "declaration of `%s' shadows a symbol from the parameter list"
msgstr "de declaratie van `%s' verbergt een symbool uit de parameterlijst"
-#: c-decl.c:2121 cp/decl.c:4220
+#: c-decl.c:1623 cp/decl.c:4176
msgid "a parameter"
msgstr "een parameter"
-#: c-decl.c:2123 cp/decl.c:4237
+#: c-decl.c:1625 cp/decl.c:4193
msgid "a previous local"
msgstr "een eerdere locale"
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2127 cp/decl.c:4241
+#: c-decl.c:1629 cp/decl.c:4197
msgid "a global declaration"
msgstr "een globale declaratie"
-#: c-decl.c:2171
+#: c-decl.c:1673
#, c-format
msgid "nested extern declaration of `%s'"
msgstr "geneste externe declaratie van `%s'"
-#: c-decl.c:2191 java/decl.c:1025
+#: c-decl.c:1692 java/decl.c:1051
#, c-format
msgid "`%s' used prior to declaration"
msgstr "`%s' gebruikt vóór declaratie"
-#: c-decl.c:2206 c-decl.c:2421
+#: c-decl.c:1706 c-decl.c:1881
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr "`%s' was impliciet als `extern' gedeclareerd en daarna als `static'"
-#: c-decl.c:2316 cp/decl.c:4079
+#: c-decl.c:1809 cp/decl.c:4035
msgid "type mismatch with previous external decl"
msgstr "type-conflict met eerdere externe declaratie"
-#: c-decl.c:2317
+#: c-decl.c:1810
#, c-format
msgid "previous external decl of `%s'"
msgstr "eerdere externe declaratie van `%s'"
-#: c-decl.c:2330
+#: c-decl.c:1823
msgid "type mismatch with previous implicit declaration"
msgstr "type-conflict met eerdere impliciete declaratie"
-#: c-decl.c:2332
+#: c-decl.c:1825
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "eerdere impliciete declaratie van `%s'"
-#: c-decl.c:2349
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr "type van extern symbool `%s' is niet globaal"
-
-#: c-decl.c:2400
+#: c-decl.c:1860
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr "`%s' was tevoren impliciet gedeclareerd om een `int' terug te geven"
-#: c-decl.c:2425
+#: c-decl.c:1885
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr "`%s' was als `extern' gedeclareerd en daarna als `static'"
-#: c-decl.c:2449
+#: c-decl.c:1909
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr "externe declaratie van `%s' komt niet overeen met de globale declaratie"
-#: c-decl.c:2491
+#: c-decl.c:1951
#, c-format
msgid "`%s' locally external but globally static"
msgstr "`%s' is locaal `extern', maar globaal `static'"
-#: c-decl.c:2613
+#: c-decl.c:2073
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr "functie `%s' was tevoren binnen een blok gedeclareerd"
-#: c-decl.c:2633 c-decl.c:2635
+#: c-decl.c:2093 c-decl.c:2095
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "impliciete declaratie van functie `%s'"
-#: c-decl.c:2723
+#: c-decl.c:2174
#, c-format
msgid "label %s referenced outside of any function"
msgstr "naar label %s gerefereerd buiten enige functie"
-#: c-decl.c:2780
+#: c-decl.c:2231
#, c-format
msgid "duplicate label declaration `%s'"
msgstr "herhaalde label-declaratie `%s'"
-#: c-decl.c:2783
+#: c-decl.c:2234
msgid "this is a previous declaration"
msgstr "dit is een eerdere declaratie"
-#: c-decl.c:3291
+#: c-decl.c:2657
msgid "unnamed struct/union that defines no instances"
msgstr "naamloze struct/union die geen instanties definieert"
-#: c-decl.c:3310
+#: c-decl.c:2676
msgid "useless keyword or type name in empty declaration"
msgstr "nutteloos sleutelwoord of typenaam in lege declaratie"
-#: c-decl.c:3317
+#: c-decl.c:2683
msgid "two types specified in one empty declaration"
msgstr "twee types opgegeven in één lege declaratie"
-#: c-decl.c:3322 c-parse.y:725 c-parse.y:727 objc-parse.y:761 objc-parse.y:763
-#: objc-parse.y:2987 parse.y:728 parse.y:1808
+#: 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 "lege declaratie"
-#: c-decl.c:3352
-msgid "ISO C89 does not support `static' or type qualifiers in parameter array declarators"
+#: c-decl.c:2718
+#, fuzzy
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
msgstr "ISO C89 ondersteunt geen `static' of type-qualificaties in declaratoren van parameter arrays"
-#: c-decl.c:3354
-msgid "ISO C89 does not support `[*]' array declarators"
+#: c-decl.c:2720
+#, fuzzy
+msgid "ISO C90 does not support `[*]' array declarators"
msgstr "ISO C89 ondersteunt geen `[*]' declaratoren van arrays"
-#: c-decl.c:3357
+#: c-decl.c:2723
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr "GCC heeft nog geen fatsoenlijke implementatie van `[*]' declaratoren van arrays"
-#: c-decl.c:3376
+#: c-decl.c:2742
msgid "static or type qualifiers in abstract declarator"
msgstr "`static' of type-modifier in abstracte declarator"
-#: c-decl.c:3450
+#: c-decl.c:2816
#, c-format
msgid "`%s' is usually a function"
msgstr "`%s' is meestal een functie"
-#: c-decl.c:3464
-#, c-format
-msgid "typedef `%s' is initialized"
+#: c-decl.c:2825
+#, fuzzy, c-format
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
msgstr "typedef `%s' krijgt beginwaarde"
-#: c-decl.c:3471
+#: c-decl.c:2831
#, c-format
msgid "function `%s' is initialized like a variable"
msgstr "typedef `%s' krijgt beginwaarde alsof het een variabele is"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3478
+#: c-decl.c:2838
#, c-format
msgid "parameter `%s' is initialized"
msgstr "parameter `%s' krijgt beginwaarde"
-#: c-decl.c:3498 c-typeck.c:4907
+#: c-decl.c:2858 c-typeck.c:4854
msgid "variable-sized object may not be initialized"
msgstr "object van variabele lengte mag geen beginwaarde krijgen"
-#: c-decl.c:3504
+#: c-decl.c:2864
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr "variabele `%s' heeft beginwaarde, maar een onvolledig type"
-#: c-decl.c:3510
+#: c-decl.c:2870
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr "elementen van array `%s' hebben een onvolledig type"
-#: c-decl.c:3523
+#: c-decl.c:2883
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
msgstr "de declaratie van `%s' is `extern' en heeft een beginwaarde"
-#: c-decl.c:3558 c-decl.c:6198 cp/decl.c:7264 cp/decl.c:13533
+#: c-decl.c:2932 c-decl.c:5694 cp/decl.c:7353 cp/decl.c:13860
#, fuzzy, c-format
msgid "inline function `%s' given attribute noinline"
msgstr "ingebouwde functie `%s' als niet-functie gedeclareerd"
-#: c-decl.c:3639
+#: c-decl.c:3006
#, c-format
msgid "initializer fails to determine size of `%s'"
msgstr "beginwaarde legt grootte van `%s' niet vast"
-#: c-decl.c:3644
+#: c-decl.c:3011
#, c-format
msgid "array size missing in `%s'"
msgstr "array-grootte ontbreekt in `%s'"
-#: c-decl.c:3660
+#: c-decl.c:3027
#, c-format
msgid "zero or negative size array `%s'"
msgstr "array `%s' heeft grootte die negatief of 0 is"
-#: c-decl.c:3688 ch/decl.c:4133
+#: c-decl.c:3055
#, c-format
msgid "storage size of `%s' isn't known"
msgstr "opslaggrootte van `%s' is onbekend"
-#: c-decl.c:3698
+#: c-decl.c:3065
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr "opslaggrootte van `%s' is niet constant"
-#: c-decl.c:3757
+#: c-decl.c:3125
#, fuzzy, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr "registernaam opgegeven voor niet-registervariabele `%s'"
-#: c-decl.c:3832
+#: c-decl.c:3190
#, fuzzy, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr "ANSI C verbiedt het verbergen van een typedef door parameter `%s'"
-#: c-decl.c:4136 cp/decl.c:10069
+#: c-decl.c:3535 cp/decl.c:10433
msgid "`long long long' is too long for GCC"
msgstr "`long long long' is te lang voor GCC"
-#: c-decl.c:4141
+#: c-decl.c:3540
#, fuzzy
-msgid "ISO C89 does not support `long long'"
+msgid "ISO C90 does not support `long long'"
msgstr "ANSI C ondersteunt `long long' niet"
-#: c-decl.c:4146 cp/decl.c:10074
+#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438
#, c-format
msgid "duplicate `%s'"
msgstr "herhaalde `%s'"
-#: c-decl.c:4152 cp/decl.c:10098
+#: 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 "twee of meer data types in de declaratie van `%s'"
-#: c-decl.c:4167 cp/decl.c:10103
+#: c-decl.c:3592 cp/decl.c:10479
#, c-format
msgid "`%s' fails to be a typedef or built in type"
msgstr "`%s' is geen typedef of ingebouwd type"
-#: c-decl.c:4206
+#: c-decl.c:3631
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr "type krijgt standaardwaarde `int' in de declaratie van `%s'"
-#: c-decl.c:4235
+#: c-decl.c:3660
#, c-format
msgid "both long and short specified for `%s'"
msgstr "zowel 'long' als 'short' opgegeven voor `%s'"
-#: c-decl.c:4239 cp/decl.c:10217
+#: c-decl.c:3664 cp/decl.c:10594
#, c-format
msgid "long or short specified with char for `%s'"
msgstr "'long' of 'short' opgegeven bij 'char' voor `%s'"
-#: c-decl.c:4246 cp/decl.c:10221
+#: c-decl.c:3671 cp/decl.c:10598
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr "'long' of 'short' opgegeven bij floating-point type voor `%s'"
-#: c-decl.c:4249
+#: c-decl.c:3674
msgid "the only valid combination is `long double'"
msgstr "de enige geldige combinatie is `long double'"
-#: c-decl.c:4255
+#: c-decl.c:3680
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "zowel 'signed' als 'unsigned' opgegeven voor `%s'"
-#: c-decl.c:4257 cp/decl.c:10210
+#: c-decl.c:3682 cp/decl.c:10587
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr "'long', 'short', 'signed' of 'unsigned' ongeldig voor `%s'"
-#: c-decl.c:4263 cp/decl.c:10230
+#: c-decl.c:3688 cp/decl.c:10607
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr "ongeldig gebruik van 'long', 'short', 'signed' of 'unsigned' voor `%s'"
-#: c-decl.c:4282 cp/decl.c:10251
+#: c-decl.c:3706 cp/decl.c:10628
#, c-format
msgid "complex invalid for `%s'"
msgstr "'complex' ongeldig voor `%s'"
-#: c-decl.c:4327
-msgid "ISO C89 does not support complex types"
+#: c-decl.c:3748
+#, fuzzy
+msgid "ISO C90 does not support complex types"
msgstr "ISO C89 ondersteunt geen complexe types"
-#: c-decl.c:4339
+#: c-decl.c:3760
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr "ISO C ondersteunt simpele `complex' niet in de betekenis van `double complex'"
-#: c-decl.c:4345 c-decl.c:4357
+#: c-decl.c:3766 c-decl.c:3778
#, fuzzy
msgid "ISO C does not support complex integer types"
msgstr "ANSI C ondersteunt `long long' niet"
-#: c-decl.c:4372 c-decl.c:4811 cp/decl.c:10853
+#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241
msgid "duplicate `const'"
msgstr "herhaalde `const'"
-#: c-decl.c:4374 c-decl.c:4815 cp/decl.c:10857
+#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245
msgid "duplicate `restrict'"
msgstr "herhaalde `restrict'"
-#: c-decl.c:4376 c-decl.c:4813 cp/decl.c:10855
+#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243
msgid "duplicate `volatile'"
msgstr "herhaalde `volatile'"
-#: c-decl.c:4398 cp/decl.c:10402
+#: c-decl.c:3825 cp/decl.c:10791
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "meerdere opslagklassen in declaratie van `%s'"
-#: c-decl.c:4407
+#: c-decl.c:3835
msgid "function definition declared `auto'"
msgstr "functie-definitie als `auto' gedeclareerd"
-#: c-decl.c:4409
+#: c-decl.c:3837
msgid "function definition declared `register'"
msgstr "functie-definitie als `register' gedeclareerd"
-#: c-decl.c:4411
+#: c-decl.c:3839
msgid "function definition declared `typedef'"
msgstr "functie-definitie als `typdef' gedeclareerd"
-#: c-decl.c:4424
+#: c-decl.c:3841
+#, fuzzy
+msgid "function definition declared `__thread'"
+msgstr "functie-definitie als `typdef' gedeclareerd"
+
+#: c-decl.c:3854
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr "opslagklasse opgegeven voor structure-veld `%s'"
-#: c-decl.c:4428 cp/decl.c:10449
+#: c-decl.c:3858 cp/decl.c:10838
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "opslagklasse opgegeven voor parameter `%s'"
-#: c-decl.c:4431 cp/decl.c:10451
+#: c-decl.c:3861 cp/decl.c:10840
msgid "storage class specified for typename"
msgstr "opslagklasse opgegeven voor typenaam"
-#: c-decl.c:4443 cp/decl.c:10465
+#: c-decl.c:3873 cp/decl.c:10855
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr "`%s' krijgt beginwaarde en is als `extern' gedeclareerd"
-#: c-decl.c:4445 cp/decl.c:10468
+#: c-decl.c:3875 cp/decl.c:10858
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr "`%s' heeft zowel `extern' als een beginwaarde"
-#: c-decl.c:4449 cp/decl.c:10472
+#: c-decl.c:3880 cp/decl.c:10866
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "top-level declaratie van `%s' specifieert `auto'"
+
+#: c-decl.c:3885 cp/decl.c:10862
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "geneste functie `%s' is als `extern' gedeclareerd"
-#: c-decl.c:4452 cp/decl.c:10476
-#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "top-level declaratie van `%s' specifieert `auto'"
+#: c-decl.c:3891 cp/decl.c:10872
+#, fuzzy, c-format
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "geneste functie `%s' is als `extern' gedeclareerd"
#. 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:4487 c-decl.c:4676
+#: c-decl.c:3930 c-decl.c:4118
#, fuzzy
msgid "static or type qualifiers in non-parameter array declarator"
msgstr "ongeldige type-modifier binnen pointer-declarator"
-#: c-decl.c:4531
+#: c-decl.c:3974
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr "`%s' wordt gedeclareerd als een array van voids"
-#: c-decl.c:4537
+#: c-decl.c:3980
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "`%s' wordt gedeclareerd als een array van functies"
-#: c-decl.c:4558
+#: c-decl.c:3985 c-decl.c:5250
+#, fuzzy
+msgid "invalid use of structure with flexible array member"
+msgstr "ongeldig gebruik van onvolledige typedef `%s'"
+
+#: c-decl.c:4004
#, c-format
msgid "size of array `%s' has non-integer type"
msgstr "grootte van array `%s' is van een niet-integraal type"
-#: c-decl.c:4563
+#: c-decl.c:4009
#, fuzzy, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr "ANSI C verbiedt array `%s' met lengte 0"
-#: c-decl.c:4570
+#: c-decl.c:4016
#, c-format
msgid "size of array `%s' is negative"
msgstr "grootte van array `%s' is negatief"
-#: c-decl.c:4583
+#: c-decl.c:4029
#, fuzzy, 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 "ANSI C verbiedt array `%s', wiens grootte niet geëvalueerd kan worden"
-#: c-decl.c:4586
+#: c-decl.c:4032
#, fuzzy, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
+msgid "ISO C90 forbids variable-size array `%s'"
msgstr "ANSI C verbiedt array `%s' van variabele lengte"
-#: c-decl.c:4616 c-decl.c:4837 cp/decl.c:11074
+#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450
#, c-format
msgid "size of array `%s' is too large"
msgstr "omvang van array `%s' is te groot"
-#: c-decl.c:4633
+#: c-decl.c:4075
#, fuzzy
-msgid "ISO C89 does not support flexible array members"
+msgid "ISO C90 does not support flexible array members"
msgstr "ANSI C ondersteun geen formaatbreedte voor strftime"
-#: c-decl.c:4643
+#: c-decl.c:4085
msgid "array type has incomplete element type"
msgstr "arraytype heeft onvolledig elementtype"
-#: c-decl.c:4650 c-decl.c:4887
+#: c-decl.c:4092 c-decl.c:4322
#, fuzzy
msgid "ISO C forbids const or volatile function types"
msgstr "ANSI C verbiedt 'const' of 'volatile' functietypes"
-#: c-decl.c:4696 cp/decl.c:10613
+#: c-decl.c:4138 cp/decl.c:10998
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "`%s' gedeclareerd als een functie die een functie teruggeeft"
-#: c-decl.c:4701 cp/decl.c:10618
+#: c-decl.c:4143 cp/decl.c:11003
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "`%s' gedeclareerd als een functie die een array teruggeeft"
-#: c-decl.c:4736
+#: c-decl.c:4171
#, fuzzy
msgid "ISO C forbids qualified void function return type"
msgstr "ANSI C verbiedt een gekwalificeerde void als teruggeefwaarde voor een functie"
-#: c-decl.c:4740
+#: c-decl.c:4175
#, fuzzy
msgid "type qualifiers ignored on function return type"
msgstr "ANSI C verbiedt een gekwalificeerde void als teruggeefwaarde voor een functie"
-#: c-decl.c:4769 c-decl.c:4852 c-decl.c:4976 c-decl.c:5070
+#: c-decl.c:4204 c-decl.c:4287 c-decl.c:4411 c-decl.c:4503
#, fuzzy
msgid "ISO C forbids qualified function types"
msgstr "ANSI C verbiedt een gekwalificeerd functietype"
-#: c-decl.c:4809 cp/decl.c:10849
+#: c-decl.c:4244 cp/decl.c:11237
msgid "invalid type modifier within pointer declarator"
msgstr "ongeldige type-modifier binnen pointer-declarator"
-#: c-decl.c:4907 cp/decl.c:11357
+#: c-decl.c:4342 cp/decl.c:11732
#, c-format
msgid "variable or field `%s' declared void"
msgstr "variabele of veld `%s' als void gedeclareerd"
-#: c-decl.c:4940
+#: c-decl.c:4375
msgid "attributes in parameter array declarator ignored"
msgstr "attributen genegeerd in declarator van parameter-array"
-#: c-decl.c:4965
+#: c-decl.c:4400
#, fuzzy
msgid "invalid type modifier within array declarator"
msgstr "ongeldige type-modifier binnen pointer-declarator"
-#: c-decl.c:5014
+#: c-decl.c:4445
#, c-format
msgid "field `%s' declared as a function"
msgstr "veld `%s' als een functie gedeclareerd"
-#: c-decl.c:5020
+#: c-decl.c:4451
#, c-format
msgid "field `%s' has incomplete type"
msgstr "veld `%s' heeft een onvolledig type"
-#: c-decl.c:5052 c-decl.c:5054 c-decl.c:5061
+#: 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 "ongeldige opslagklasse voor functie `%s'"
-#: c-decl.c:5076
+#: c-decl.c:4509
msgid "`noreturn' function returns non-void value"
msgstr "`noreturn' functie geeft niet-void waarde terug"
-#: c-decl.c:5088
+#: c-decl.c:4524
msgid "cannot inline function `main'"
msgstr "kan functie `main' niet inline maken"
-#: c-decl.c:5141
+#: c-decl.c:4577
#, c-format
msgid "variable `%s' declared `inline'"
msgstr "variabele `%s' als inline gedeclareerd"
-#: c-decl.c:5214 c-decl.c:6250
+#. 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
+#, fuzzy
+msgid "thread-local storage not supported for this target"
+msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+#: c-decl.c:4660 c-decl.c:5746
msgid "function declaration isn't a prototype"
msgstr "functie-declaratie is geen prototype"
-#: c-decl.c:5220
+#: c-decl.c:4666
msgid "parameter names (without types) in function declaration"
msgstr "parameternamen (zonder types) in functiedeclaratie"
-#: c-decl.c:5252 c-decl.c:6641
+#: c-decl.c:4698 c-decl.c:6116
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr "parameter `%s' heeft een onvolledig type"
-#: c-decl.c:5255
+#: c-decl.c:4701
msgid "parameter has incomplete type"
msgstr "parameter heeft een onvolledig type"
-#: c-decl.c:5276
+#: c-decl.c:4722
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr "parameter `%s' wijst naar een onvolledig type"
-#: c-decl.c:5279
+#: c-decl.c:4725
msgid "parameter points to incomplete type"
msgstr "parameter wijst naar een onvolledig type"
-#: c-decl.c:5344
+#: c-decl.c:4790
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr "parameter `%s' heeft enkel een voorwaartse declaratie"
-#: c-decl.c:5385
+#: c-decl.c:4831
msgid "`void' in parameter list must be the entire list"
msgstr "`void' in parameterlijst moet de gehele parameterlijst zijn"
-#: c-decl.c:5416
+#: c-decl.c:4862
#, fuzzy, c-format
msgid "`struct %s' declared inside parameter list"
msgstr "`%s %s' binnen parameterlijst gedeclareerd"
-#: c-decl.c:5419
+#: c-decl.c:4865
#, fuzzy, c-format
msgid "`union %s' declared inside parameter list"
msgstr "`%s %s' binnen parameterlijst gedeclareerd"
-#: c-decl.c:5422
+#: c-decl.c:4868
#, fuzzy, c-format
msgid "`enum %s' declared inside parameter list"
msgstr "`%s %s' binnen parameterlijst gedeclareerd"
-#: c-decl.c:5429
+#: c-decl.c:4875
#, fuzzy
msgid "anonymous struct declared inside parameter list"
msgstr "anonieme %s gedeclareerd binnen parameterlijst"
-#: c-decl.c:5431
+#: c-decl.c:4877
#, fuzzy
msgid "anonymous union declared inside parameter list"
msgstr "anonieme %s gedeclareerd binnen parameterlijst"
-#: c-decl.c:5433
+#: c-decl.c:4879
#, fuzzy
msgid "anonymous enum declared inside parameter list"
msgstr "anonieme %s gedeclareerd binnen parameterlijst"
-#: c-decl.c:5437
+#: c-decl.c:4883
#, fuzzy
msgid "its scope is only this definition or declaration, which is probably not what you want"
msgstr "het bereik ervan is enkel deze definitie of declaratie, wat waarschijnlijk niet de bedoeling is"
-#: c-decl.c:5516
+#: c-decl.c:4960
#, c-format
msgid "redefinition of `union %s'"
msgstr "herdefinitie van `union %s'"
-#: c-decl.c:5519
+#: c-decl.c:4962
#, c-format
msgid "redefinition of `struct %s'"
msgstr "herdefinitie van `struct %s'"
-#: c-decl.c:5558
-msgid "unnamed fields of type other than struct or union are not allowed"
-msgstr "onbenoemde velden van een type anders dan struct of union zijn niet toegestaan"
+#: c-decl.c:5033 cp/decl.c:7125
+msgid "declaration does not declare anything"
+msgstr ""
-#: c-decl.c:5599 c-decl.c:5602
+#: c-decl.c:5075 c-decl.c:5078
#, fuzzy, c-format
msgid "%s defined inside parms"
msgstr "enum gedinieerd binnen parameters"
-#: c-decl.c:5600 c-decl.c:5603 c-decl.c:5614
+#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090
msgid "union"
msgstr "union"
# Of beter onvertaald laten?
-#: c-decl.c:5600 c-decl.c:5603
+#: c-decl.c:5076 c-decl.c:5079
msgid "structure"
msgstr "structuur"
-#: c-decl.c:5613
+#: c-decl.c:5089
#, fuzzy, c-format
msgid "%s has no %s"
msgstr "%s heeft geen leden"
-#: c-decl.c:5614
+#: c-decl.c:5090
msgid "struct"
msgstr "struct"
-#: c-decl.c:5615
+#: c-decl.c:5091
#, fuzzy
msgid "named members"
msgstr "%s heeft geen benoemde leden"
-#: c-decl.c:5615
+#: c-decl.c:5091
msgid "members"
msgstr "leden"
-#: c-decl.c:5654
+#: c-decl.c:5130
#, c-format
msgid "nested redefinition of `%s'"
msgstr "geneste herdefinitie van `%s'"
-#: c-decl.c:5667
+#: c-decl.c:5143
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr "breedte van bitveld `%s' is geen integerconstante"
-#: c-decl.c:5678
+#: c-decl.c:5154
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr "bitveld `%s' heeft een ongeldig type"
-#: c-decl.c:5690
+#: c-decl.c:5166
#, fuzzy, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr "type van bitveld `%s' is ongeldig in ANSI C"
-#: c-decl.c:5702
+#: c-decl.c:5177
#, c-format
msgid "negative width in bit-field `%s'"
msgstr "bitveld `%s' heeft een negatieve breedte"
-#: c-decl.c:5704
+#: c-decl.c:5179
#, c-format
msgid "width of `%s' exceeds its type"
msgstr "breedte van `%s' overschrijdt zijn type"
-#: c-decl.c:5706
+#: c-decl.c:5181
#, c-format
msgid "zero width for bit-field `%s'"
msgstr "bitveld `%s' heeft breedte 0"
-#: c-decl.c:5720
+#: c-decl.c:5195
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr "`%s' is smaller dan waarden van zijn type"
-#: c-decl.c:5765
+#: c-decl.c:5241
msgid "flexible array member in union"
msgstr "flexibele array als lid van union"
-#: c-decl.c:5767
+#: c-decl.c:5243
msgid "flexible array member not at end of struct"
msgstr "flexibele array niet laatste lid van struct"
-#: c-decl.c:5769
+#: c-decl.c:5245
msgid "flexible array member in otherwise empty struct"
msgstr ""
-#: c-decl.c:5794 ch/typeck.c:3060
+#: c-decl.c:5275
#, c-format
msgid "duplicate member `%s'"
msgstr "herhaald lid `%s'"
-#: c-decl.c:5838
+#: c-decl.c:5319
msgid "union cannot be made transparent"
msgstr "union kan niet transparant gemaakt worden"
#. This enum is a named one that has been declared already.
-#: c-decl.c:5932
+#: c-decl.c:5424
#, c-format
msgid "redeclaration of `enum %s'"
msgstr "herdeclaratie van `enum %s'"
-#: c-decl.c:5966
+#: c-decl.c:5458
msgid "enum defined inside parms"
msgstr "enum gedinieerd binnen parameters"
-#: c-decl.c:5999
+#: c-decl.c:5491
msgid "enumeration values exceed range of largest integer"
msgstr "enumeratiewaarden overschrijden het bereik van de grootste integer"
-#: c-decl.c:6108 ch/decl.c:4437
+#: c-decl.c:5600
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "enumeratiewaarde voor `%s' is geen integrale constante"
-#: c-decl.c:6121 ch/decl.c:4449
+#: c-decl.c:5613
msgid "overflow in enumeration values"
msgstr "overflow in enumeratiewaarden"
-#: c-decl.c:6126
+#: c-decl.c:5618
#, fuzzy
msgid "ISO C restricts enumerator values to range of `int'"
msgstr "ANSI C beperkt enumeratiewaarden tot het bereik van het `int' type"
-#: c-decl.c:6204
+#: c-decl.c:5700
#, fuzzy
msgid "return type is an incomplete type"
msgstr "type van teruggeefwaarde is onvolledig"
-#: c-decl.c:6212
+#: c-decl.c:5708
#, fuzzy
msgid "return type defaults to `int'"
msgstr "teruggeefwaarde krijgt standaardtype `int'"
-#: c-decl.c:6259
+#: c-decl.c:5755
#, c-format
msgid "no previous prototype for `%s'"
msgstr "geen eerder prototype voor `%s'"
-#: c-decl.c:6266
+#: c-decl.c:5762
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr "`%s' werd voor haar definitie gebruikt zonder protoype"
-#: c-decl.c:6272
+#: c-decl.c:5768
#, c-format
msgid "no previous declaration for `%s'"
msgstr "geen eerdere declaratie voor `%s'"
-#: c-decl.c:6279
+#: c-decl.c:5775
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "`%s' werd voor haar definitie gebruikt zonder declaratie"
-#: c-decl.c:6303 c-decl.c:6884
+#: c-decl.c:5799 c-decl.c:6352
#, c-format
msgid "return type of `%s' is not `int'"
msgstr "het type van de teruggeefwaarde van `%s' is niet `int'"
-#: c-decl.c:6319
+#: c-decl.c:5815
#, c-format
msgid "first argument of `%s' should be `int'"
msgstr "eerste argument van `%s' zou een `int' moeten zijn"
-#: c-decl.c:6328
+#: c-decl.c:5824
#, c-format
msgid "second argument of `%s' should be `char **'"
msgstr "tweede argument van `%s' zou een `char **' moeten zijn"
-#: c-decl.c:6337
+#: c-decl.c:5833
#, c-format
msgid "third argument of `%s' should probably be `char **'"
msgstr "derde argument van `%s' zou waarschijnlijk een `char **' moeten zijn"
-#: c-decl.c:6346
+#: c-decl.c:5842
#, c-format
msgid "`%s' takes only zero or two arguments"
msgstr "`%s' neemt ofwel geen, ofwel twee argumenten"
-#: c-decl.c:6349
+#: c-decl.c:5845
#, c-format
msgid "`%s' is normally a non-static function"
msgstr "`%s' is gewoonlijk een niet-static funtie"
-#: c-decl.c:6459
+#: c-decl.c:5943
msgid "parm types given both in parmlist and separately"
msgstr "parametertypes zowel in parameterlijst als apart opgegeven"
-#: c-decl.c:6480
+#: c-decl.c:5964
msgid "parameter name omitted"
msgstr "parameternaam weggelaten"
-#: c-decl.c:6484 c-decl.c:6586
+#: c-decl.c:5968 c-decl.c:6070
#, c-format
msgid "parameter `%s' declared void"
msgstr "parameter `%s' als void gedeclareerd"
-#: c-decl.c:6560
+#: c-decl.c:6044
msgid "parameter name missing from parameter list"
msgstr "parameternaam ontbreekt uit parameterlijst"
-#: c-decl.c:6579
+#: c-decl.c:6063
#, c-format
msgid "multiple parameters named `%s'"
msgstr "meerdere parameters hebben de naam `%s'"
-#: c-decl.c:6610 c-decl.c:6612
+#: c-decl.c:6085 c-decl.c:6087
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr "`%s' krijgt standaardtype `int'"
-#: c-decl.c:6648
+#: c-decl.c:6123
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr "declaratie voor parameter `%s' maar er is zo geen parameter"
-#: c-decl.c:6696
+#: c-decl.c:6171
msgid "number of arguments doesn't match prototype"
msgstr "aantal argumenten kom niet overeen met prototype"
-#: c-decl.c:6726
+#: c-decl.c:6201
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr "gepromoveerd argument `%s' komt niet overeen met prototype"
-#: c-decl.c:6740
+#: c-decl.c:6211
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr "argument `%s' komt niet overeen met prototype"
-#: c-decl.c:7054
+#: c-decl.c:6384 cp/decl.c:14547
+#, fuzzy
+msgid "no return statement in function returning non-void"
+msgstr "`return' zonder waarde in een functie die een niet-void waarde teruggeeft"
+
+#: c-decl.c:6536
msgid "this function may return with or without a value"
msgstr "deze functie kan met of zonder waarde tergukeren"
-#: c-decl.c:7074
+#: c-decl.c:6556
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr "grootte van teruggeefwaarde van `%s' is %u bytes"
-#: c-decl.c:7078
+#: c-decl.c:6560
#, fuzzy, c-format
msgid "size of return value of `%s' is larger than %d bytes"
msgstr "grootte van teruggeefwaarde van `%s' is %u bytes"
@@ -1451,976 +1549,986 @@ msgstr "grootte van teruggeefwaarde van `%s' is %u bytes"
#. 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:7133
+#: c-decl.c:6615
msgid "`for' loop initial declaration used outside C99 mode"
msgstr ""
-#: c-decl.c:7157
+#: c-decl.c:6639
#, fuzzy, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
msgstr "`%s' als 'inline' gedeclareerd na de definitie"
-#: c-decl.c:7160
+#: c-decl.c:6642
#, fuzzy, c-format
msgid "`union %s' declared in `for' loop initial declaration"
msgstr "`%s' als 'inline' gedeclareerd na de definitie"
-#: c-decl.c:7163
+#: c-decl.c:6645
#, fuzzy, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
msgstr "`%s' als 'inline' gedeclareerd na de definitie"
-#: c-decl.c:7171
+#: c-decl.c:6653
#, fuzzy, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr "de declaratie van `%s' verbergt een globale declaratie"
-#: c-decl.c:7173
+#: c-decl.c:6655
#, fuzzy, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr "de declaratie van `%s' verbergt een globale declaratie"
-#: c-decl.c:7175
+#: c-decl.c:6657
#, fuzzy, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
msgstr "de declaratie van `%s' verbergt een globale declaratie"
-#: 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 "de formaatstring is geen string-type"
-#: c-format.c:143
+#: c-format.c:124
#, fuzzy
msgid "args to be formatted is not '...'"
msgstr "de te formatteren argumenten zijn niet ..."
-#: 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
#, fuzzy
msgid "format string has invalid operand number"
msgstr "de formaatstring heeft een niet-constant operand-nummer"
-#: c-format.c:221
+#: c-format.c:202
msgid "function does not return string type"
msgstr "functie geeft geen string-type terug"
-#: c-format.c:252
+#: c-format.c:233
msgid "unrecognized format specifier"
msgstr "onbekende formaatspecificatie"
-#: c-format.c:265
+#: c-format.c:246
#, c-format
msgid "`%s' is an unrecognized format function type"
msgstr "`%s' is een onbekend type formaatfunctie"
-#: c-format.c:299
+#: c-format.c:280
msgid "format string arg follows the args to be formatted"
msgstr "de formaatstring volgt de te formatteren argumenten"
-#: 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:1791
+#: 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
#, fuzzy
msgid "field width in printf format"
msgstr "veldbreedte is niet van het type 'int' (argument %d)"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision"
msgstr ""
-#: c-format.c:628
+#: c-format.c:609
#, fuzzy
msgid "precision in printf format"
msgstr "precisie gebruikt bij `%c' formaat"
-#: 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
#, fuzzy
msgid "length modifier in printf format"
msgstr "meerdere E/O opties in formaat"
-#: c-format.c:645
+#: c-format.c:626
#, fuzzy
msgid "assignment suppression"
msgstr "ontbrekende index-expressie"
-#: 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
#, fuzzy
msgid "field width in scanf format"
msgstr "breedte gebruikt bij `%c' formaat"
-#: c-format.c:648
+#: c-format.c:629
#, fuzzy
msgid "length modifier in scanf format"
msgstr "meerdere E/O opties in formaat"
-#: 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 ""
# Wat is een correcte vertaling voor 'identifier'? Ik kies voor 'naam'.
-#: c-format.c:670
+#: c-format.c:651
#, fuzzy
msgid "`E' modifier"
msgstr "`$' in naam"
-#: c-format.c:670
+#: c-format.c:651
msgid "the `E' strftime modifier"
msgstr ""
# Wat is een correcte vertaling voor 'identifier'? Ik kies voor 'naam'.
-#: c-format.c:671
+#: c-format.c:652
#, fuzzy
msgid "`O' modifier"
msgstr "`$' in naam"
-#: 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
#, fuzzy
msgid "fill character"
msgstr "%s bij nulkarakter"
-#: c-format.c:690
+#: c-format.c:671
#, fuzzy
msgid "fill character in strfmon format"
msgstr "ongeldig karakter in naam van macro-parameter"
-#: 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
#, fuzzy
msgid "left precision in strfmon format"
msgstr "precisie gebruikt bij `%c' formaat"
-#: 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
#, fuzzy
msgid "length modifier in strfmon format"
msgstr "meerdere E/O opties in formaat"
-#: c-format.c:998
+#: c-format.c:983
#, fuzzy, c-format
msgid "function might be possible candidate for `%s' format attribute"
msgstr "deze functie is een mogelijke kandidaat voor het `noreturn' attribuut"
-#: c-format.c:1122 c-format.c:1143 c-format.c:2201
+#: c-format.c:1107 c-format.c:1128 c-format.c:2112
#, fuzzy
msgid "missing $ operand number in format"
msgstr "operand buiten bereik in formaat"
-#: c-format.c:1153
+#: c-format.c:1138
#, fuzzy, c-format
msgid "%s does not support %%n$ operand number formats"
msgstr "ANSI C ondersteunt het `%c' formaat niet"
-#: c-format.c:1160
+#: c-format.c:1145
msgid "operand number out of range in format"
msgstr "operand buiten bereik in formaat"
-#: c-format.c:1183
+#: c-format.c:1168
#, fuzzy, c-format
msgid "format argument %d used more than once in %s format"
msgstr "formaat-argument is geen pointer (argument %d)"
-#: 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
#, fuzzy
msgid "format not a string literal, format string not checked"
msgstr "de formaatstring is geen string-type"
-#: 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 "teveel argumenten voor formaat"
-#: c-format.c:1362
+#: c-format.c:1354
#, fuzzy
msgid "unused arguments in $-style format"
msgstr "te weinig argumenten voor formaat"
-#: c-format.c:1365
-msgid "zero-length format string"
+#: c-format.c:1357
+#, fuzzy, c-format
+msgid "zero-length %s format string"
msgstr "formaatstring van lengte 0"
-#: c-format.c:1368
+#: c-format.c:1361
#, fuzzy
msgid "format is a wide character string"
msgstr "karakterconstante in slecht formaat"
-#: c-format.c:1371
+#: c-format.c:1364
msgid "unterminated format string"
msgstr "formaatstring niet beëindigd"
-#. 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 "formaatstring is NULL"
-
-#: c-format.c:1670
+#: c-format.c:1581
msgid "embedded `\\0' in format"
msgstr "ingesloten `\\0' in formaat"
-#: c-format.c:1685
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
msgstr "overbodige `%%' achteraan formaat"
-#: c-format.c:1724 c-format.c:1961
+#: c-format.c:1635 c-format.c:1872
#, fuzzy, c-format
msgid "repeated %s in format"
msgstr "herhaalde `%c' optie in formaat"
-#: c-format.c:1737
+#: c-format.c:1648
#, fuzzy
msgid "missing fill character at end of strfmon format"
msgstr "conversie mist type aan het einde van het formaat"
-#: c-format.c:1757 c-format.c:1875 c-format.c:2155 c-format.c:2208
+#: c-format.c:1687 c-format.c:1786 c-format.c:2066 c-format.c:2119
msgid "too few arguments for format"
msgstr "te weinig argumenten voor formaat"
-#: c-format.c:1817
+#: c-format.c:1728
#, fuzzy, c-format
msgid "zero width in %s format"
msgstr "breedte gebruikt bij `%c' formaat"
-#: c-format.c:1836
+#: c-format.c:1747
#, fuzzy, c-format
msgid "empty left precision in %s format"
msgstr "precisie gebruikt bij `%c' formaat"
-#: c-format.c:1890
+#: c-format.c:1801
msgid "field precision"
msgstr ""
-#: c-format.c:1905
+#: c-format.c:1816
#, fuzzy, c-format
msgid "empty precision in %s format"
msgstr "precisie gebruikt bij `%c' formaat"
-#: c-format.c:1945
+#: c-format.c:1856
#, fuzzy, c-format
msgid "%s does not support the `%s' %s length modifier"
msgstr "ANSI C ondersteunt de `%c' lengte-optie niet"
-#: c-format.c:1995
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr "conversie mist type aan het einde van het formaat"
-#: c-format.c:2006
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
msgstr "onbekend typeconversie-karakter `%c' in formaat"
-#: c-format.c:2009
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr "onbekend typeconversie-karakter 0x%x in formaat"
-#: c-format.c:2016
+#: c-format.c:1927
#, fuzzy, c-format
msgid "%s does not support the `%%%c' %s format"
msgstr "ANSI C ondersteunt het `%c' formaat niet"
-#: c-format.c:2032
+#: c-format.c:1943
#, fuzzy, c-format
msgid "%s used with `%%%c' %s format"
msgstr "breedte gebruikt bij `%c' formaat"
-#: c-format.c:2041
+#: c-format.c:1952
#, fuzzy, c-format
msgid "%s does not support %s"
msgstr "-mcpu=%s ondersteunt -march=%s niet"
-#: c-format.c:2050
+#: c-format.c:1961
#, fuzzy, c-format
msgid "%s does not support %s with the `%%%c' %s format"
msgstr "ANSI C ondersteunt het `%c' formaat niet"
-#: c-format.c:2083
+#: c-format.c:1994
#, fuzzy, c-format
msgid "%s ignored with %s and `%%%c' %s format"
msgstr "`0' optie wordt genegeerd bij precisiespecificatie en `%c' formaat"
-#: c-format.c:2087
+#: c-format.c:1998
#, fuzzy, c-format
msgid "%s ignored with %s in %s format"
msgstr "`0' optie wordt genegeerd bij precisiespecificatie en `%c' formaat"
-#: c-format.c:2093
+#: c-format.c:2004
#, fuzzy, c-format
msgid "use of %s and %s together with `%%%c' %s format"
msgstr "zowel de `*' optie alse de `%c' optie in formaat gebruikt"
-#: c-format.c:2097
+#: c-format.c:2008
#, fuzzy, c-format
msgid "use of %s and %s together in %s format"
msgstr "zowel de `*' optie alse de `%c' optie in formaat gebruikt"
-#: c-format.c:2116
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
msgstr "`%%%c' geeft enkel de laatste twee cijfers van het jaartal in sommige omgevingen"
-#: c-format.c:2119
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
msgstr "`%%%c' geeft enkel de laatste twee cijfers van het jaartal"
#. The end of the format string was reached.
-#: c-format.c:2135
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
msgstr "geen eind-`]' voor `%%[' formaat"
-#: c-format.c:2148
+#: c-format.c:2059
#, fuzzy, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr "lengtekarakter `%c' samen met typekarakter `%c' gebruikt"
-#: c-format.c:2169
+#: c-format.c:2080
#, fuzzy, c-format
msgid "%s does not support the `%%%s%c' %s format"
msgstr "ANSI C ondersteunt het `%c' formaat niet"
-#: c-format.c:2184
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr ""
-#: c-format.c:2186
+#: c-format.c:2097
#, fuzzy
msgid "operand number specified for format taking no argument"
msgstr "operand buiten bereik in formaat"
-#: c-format.c:2305
+#: c-format.c:2211
#, fuzzy, c-format
msgid "writing through null pointer (arg %d)"
msgstr "constant object wordt beschreven (argument %d)"
-#: c-format.c:2314
+#: c-format.c:2220
#, fuzzy, c-format
msgid "reading through null pointer (arg %d)"
msgstr "formaat-argument is geen pointer (argument %d)"
-#: c-format.c:2334
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
msgstr "constant object wordt beschreven (argument %d)"
-#: c-format.c:2344
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr ""
-#: c-format.c:2351
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr "formaat-argument is geen pointer (argument %d)"
-#: c-format.c:2353
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr "formaat-argument is geen pointer naar een pointer (argument %d)"
-#: c-format.c:2424
+#: c-format.c:2330
msgid "pointer"
msgstr ""
-#: c-format.c:2426
+#: c-format.c:2332
#, fuzzy
msgid "different type"
msgstr "Ongeldige modus voor gen_tst_reg"
-#: c-format.c:2447
+#: c-format.c:2353
#, fuzzy, c-format
msgid "%s is not type %s (arg %d)"
msgstr "veldbreedte is niet van het type 'int' (argument %d)"
-#: c-format.c:2450
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr "%s formaat, %s argument (argument %d)"
-#: c-lex.c:292
+#: c-lex.c:153
+#, fuzzy
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG niet gedefinieerd"
+
+#: c-lex.c:290
msgid "badly nested C headers from preprocessor"
msgstr ""
-#: c-lex.c:342
+#: c-lex.c:333
#, fuzzy, c-format
msgid "ignoring #pragma %s %s"
msgstr "pragma wordt genegeerd: %s"
-#: c-lex.c:344
-#, fuzzy, c-format
-msgid "ignoring #pragma %s"
-msgstr "pragma wordt genegeerd: %s"
-
-#: c-lex.c:394
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
msgstr ""
-#: c-lex.c:640
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
msgstr ""
-# Moet 'floating(-point)' ook vertaald worden?
-#: c-lex.c:730
-#, fuzzy
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "zowel `f' als `l' in floating-point constante"
-
-#: c-lex.c:757
-#, fuzzy, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr "floating-point getal overschrijdt het bereik van een `float'"
-
-#: c-lex.c:787
+#: c-lex.c:692
#, fuzzy, c-format
msgid "stray '%c' in program"
msgstr "misplaatste '\\' in programma"
-#: c-lex.c:789
+#: c-lex.c:694
#, fuzzy, c-format
msgid "stray '\\%o' in program"
msgstr "misplaatste '\\' in programma"
-#: c-lex.c:887
-#, fuzzy
-msgid "too many decimal points in floating constant"
-msgstr "teveel `l'en in integerconstante"
-
-#: c-lex.c:889
-msgid "decimal point in exponent - impossible!"
+#: c-lex.c:850
+msgid "this decimal constant is unsigned only 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:900
-msgid "underscore in number"
+#: c-lex.c:853
+msgid "this decimal constant would be unsigned in ISO C90"
msgstr ""
-#: c-lex.c:962
-msgid "numeric constant with no digits"
-msgstr "numerieke constante zonder cijfers"
+#: c-lex.c:869
+#, fuzzy, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "integerconstante is zo groot dat hij unsigned is"
-#: c-lex.c:965
-msgid "numeric constant contains digits beyond the radix"
-msgstr "numerieke constante bevat cijfers buiten de basis"
+#: c-lex.c:937
+#, fuzzy, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr "floating-point getal overschrijdt het bereik van een `float'"
-# Ik denk dat 'radix' -> 'basis' correct is.
-# Mag 'radix' ook 'radix' blijven?
-#: c-lex.c:976
-msgid "floating constant may not be in radix 16"
-msgstr "floating-point constante mag niet in basis 16 staan"
+#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+#, fuzzy
+msgid "ignoring invalid multibyte character"
+msgstr "Ongeldig multibyte-karakter wordt genegeerd"
-#: c-lex.c:979
-msgid "hexadecimal floating constant has no exponent"
-msgstr "hexadecimale floating-point constante heeft geen exponent"
+#: c-opts.c:353
+#, fuzzy, c-format
+msgid "missing argument to \"-%s\""
+msgstr "Bestandsnaam ontbreekt na `%s' optie"
-#: c-lex.c:991
-msgid "floating constant exponent has no digits"
-msgstr "exponent van floating-point constante heeft geen cijfers"
+#: c-opts.c:357
+#, fuzzy, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "Bestandsnaam voor uitvoer twee keer opgegeven"
-#: c-lex.c:1011
-#, fuzzy
-msgid "more than one 'f' suffix on floating constant"
-msgstr "meer dan één `f' in numerieke constante"
+#: c-opts.c:364
+#, fuzzy, c-format
+msgid "missing filename after \"-%s\""
+msgstr "beginwaarde ontbreekt"
-#: c-lex.c:1014
-msgid "traditional C rejects the 'f' suffix"
-msgstr ""
+# 'whitespace' -> 'witruimte'?
+#: c-opts.c:369
+#, fuzzy, c-format
+msgid "missing target after \"-%s\""
+msgstr "ontbrekende witruimte na getal `%s'"
-#: c-lex.c:1021
-#, fuzzy
-msgid "more than one 'l' suffix on floating constant"
-msgstr "meer dan één `l' in numerieke constante"
+#: c-opts.c:503
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr ""
-#: c-lex.c:1024
-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:1032
+#: c-opts.c:934
#, fuzzy
-msgid "more than one 'i' or 'j' suffix on floating constant"
-msgstr "meer dan één `i' of `j' in numerieke constante"
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "-pipe wordt niet ondersteund"
-#: c-lex.c:1034 c-lex.c:1128
-#, fuzzy
-msgid "ISO C forbids imaginary numeric constants"
-msgstr "ANSI C verbiedt imaginaire numerieke constantes"
+#: c-opts.c:1014
+#, fuzzy, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "-pipe wordt niet ondersteund"
-#: c-lex.c:1039
-#, fuzzy
-msgid "invalid suffix on floating constant"
-msgstr "misvormde floating-point constante"
+#: c-opts.c:1030
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr ""
-#. We got an exception from parse_float()
-#: c-lex.c:1056
-msgid "floating constant out of range"
-msgstr "floating-point constante buiten bereik"
+#: c-opts.c:1143
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr ""
-#: c-lex.c:1068
+#: c-opts.c:1263
#, fuzzy
-msgid "floating point number exceeds range of 'double'"
-msgstr "floating-point getal overschrijdt het bereik van een `double'"
+msgid "output filename specified twice"
+msgstr "Bestandsnaam voor uitvoer twee keer opgegeven"
-#: c-lex.c:1097
-#, fuzzy
-msgid "two 'u' suffixes on integer constant"
-msgstr "twee `u's in integerconstante"
+#: c-opts.c:1377
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "-Wformat-y2k genegeerd zonder -Wformat"
-#: c-lex.c:1100
-msgid "traditional C rejects the 'u' suffix"
-msgstr ""
+#: c-opts.c:1379
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "-Wformat-extra-args genegeerd zonder -Wformat"
-# `l'en of `l's?
-#: c-lex.c:1111
+#: c-opts.c:1381
#, fuzzy
-msgid "three 'l' suffixes on integer constant"
-msgstr "drie `l'en in integerconstante"
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "-Wformat-extra-args genegeerd zonder -Wformat"
-#: c-lex.c:1113
-msgid "'lul' is not a valid integer suffix"
-msgstr ""
+#: c-opts.c:1383
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "-Wformat-nonliteral genegeerd zonder -Wformat"
-#: c-lex.c:1115
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr ""
+#: c-opts.c:1385
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "-Wformat-security genegeerd zonder -Wformat"
-#: c-lex.c:1118
-#, fuzzy
-msgid "ISO C89 forbids long long integer constants"
-msgstr "ANSI C verbiedt long long integerconstantes"
+#: c-opts.c:1387
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "-Wmissing-format-attribute genegeerd zonder -Wformat"
-#: c-lex.c:1126
-#, fuzzy
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "meer dan één `i' of `j' in numerieke constante"
+#: c-opts.c:1409
+#, fuzzy, c-format
+msgid "opening output file %s"
+msgstr "kan bestand '%s' niet openen"
-#: c-lex.c:1133
-#, fuzzy
-msgid "invalid suffix on integer constant"
-msgstr "twee `u's in integerconstante"
+#: c-opts.c:1464
+#, fuzzy, c-format
+msgid "opening dependency file %s"
+msgstr "dynamische dependencies.\n"
-#: c-lex.c:1141
+#: c-opts.c:1474
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+msgid "closing dependency file %s"
msgstr ""
-# 'width' -> 'wijdte' of 'breedte'?
-# Best 'breedte'; zo wordt 'too wide' 'te breed'.
-#: c-lex.c:1231
-msgid "width of integer constant changes with -traditional"
-msgstr "breedte van integerconstante verandert met -traditional"
+#: c-opts.c:1477
+#, c-format
+msgid "when writing output to %s"
+msgstr ""
-#: c-lex.c:1233
+#: c-opts.c:1557
#, fuzzy
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "integerconstante is unsigned in ANSI C, signed met -traditional"
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "-MG moet samen met ofwel -M, ofwel -MM gebruikt worden"
-#: c-lex.c:1235
-msgid "width of integer constant may change on other systems with -traditional"
-msgstr "breedte van integerconstante kan veranderen op andere systemen met -traditional"
+#: c-opts.c:1704
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr ""
-#: c-lex.c:1245
-#, fuzzy, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "integerconstante is zo groot dat hij unsigned is"
+#. 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:1248
-msgid "an unsigned long long int"
+#: 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:1249
-msgid "a 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:1250
-msgid "an unsigned 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:1254
-msgid "decimal constant is so large that it is unsigned"
-msgstr "decimale constante is zo groot dat hij unsigned is"
+#: 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:1263
-#, fuzzy
-msgid "complex integer constant is too wide for 'complex int'"
-msgstr "complexe integerconstante is te breed voor `complex int'"
+#: 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:1283
-#, fuzzy
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "integerconstante is zo groot dat hij unsigned is"
+#: 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:1287
-#, fuzzy, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "ontbrekende witruimte na getal `%.*s'"
+#: 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:1323 cpplex.c:1866
-#, fuzzy
-msgid "ignoring invalid multibyte character"
-msgstr "Ongeldig multibyte-karakter wordt genegeerd"
+#: 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-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 objc-parse.y:57 parse.y:51
+#: c-parse.y:55 parse.y:48 objc-parse.y:56
msgid "syntax error"
msgstr ""
-#: /usr/share/bison/bison.simple:107 /usr/share/bison/bison.simple:110
-#: /usr/share/bison/bison.simple:172
+#: /usr/share/bison/bison.simple:179
msgid "syntax error: cannot back up"
msgstr ""
-# 'parser' en 'stack overflow' vertalen?
-#: /usr/share/bison/bison.simple:358 /usr/share/bison/bison.simple:410
-#: /usr/share/bison/bison.simple:946
-msgid "parser stack overflow"
-msgstr "stack overflow in parser"
-
-#: c-parse.y:288 objc-parse.y:310
+#: c-parse.y:325 objc-parse.y:347
#, fuzzy
msgid "ISO C forbids an empty source file"
msgstr "ANSI C verbiedt een leeg bronbestand"
-#: c-parse.y:321 c-typeck.c:6909 ch/parse.c:2113 objc-parse.y:343
+#: c-parse.y:366 c-typeck.c:6867 objc-parse.y:389
msgid "argument of `asm' is not a constant string"
msgstr "het argument van `asm' is geen constante string"
-#: c-parse.y:329 objc-parse.y:351
+#: c-parse.y:374 objc-parse.y:397
#, fuzzy
msgid "ISO C forbids data definition with no type or storage class"
msgstr "ANSI C verbiedt een datadefinitie zonder type of opslagklasse"
-#: c-parse.y:331 objc-parse.y:353
+#: c-parse.y:376 objc-parse.y:399
msgid "data definition has no type or storage class"
msgstr "datadefinitie heeft geen type of opslagklasse"
-#: c-parse.y:344 objc-parse.y:366
+#: c-parse.y:389 objc-parse.y:412
#, fuzzy
msgid "ISO C does not allow extra `;' outside of a function"
msgstr "ANSI C staat geen extra `;' buiten een functie toe"
-#: c-parse.y:404 cppexp.c:691
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: c-parse.y:466 objc-parse.y:488
+#: c-parse.y:496 objc-parse.y:519
msgid "`sizeof' applied to a bit-field"
msgstr "`sizeof' toegepast op een bitveld"
-#: c-parse.y:546 objc-parse.y:568
+#: c-parse.y:583 objc-parse.y:606
#, fuzzy
msgid "ISO C forbids omitting the middle term of a ?: expression"
msgstr "ANSI C verbiedt het weglaten van de middelste term van een ?: expresie"
-#: c-parse.y:593 objc-parse.y:615
+#: c-parse.y:632 objc-parse.y:655
#, fuzzy
msgid "ISO C89 forbids compound literals"
msgstr "ANSI C verbiedt het gebruik van samengestelde expressies als lvalues"
-#: c-parse.y:607 objc-parse.y:629
+#: c-parse.y:646 objc-parse.y:669
#, fuzzy
msgid "ISO C forbids braced-groups within expressions"
msgstr "ANSI C verbiedt accolade-groepen in expressies"
-#: c-parse.y:638 objc-parse.y:660
+#: c-parse.y:677 objc-parse.y:700
#, fuzzy
msgid "first argument to __builtin_choose_expr not a constant"
msgstr "gevraagd alignment is geen constante"
-#: c-parse.y:681
-msgid "traditional C rejects string concatenation"
+#: c-parse.y:721 objc-parse.y:768
+msgid "traditional C rejects ISO C style function definitions"
msgstr ""
-#: c-parse.y:696 objc-parse.y:732
-#, fuzzy
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ANSI C staat het gebruik van `varargs.h' niet toe"
-
-#: c-parse.y:957 c-parse.y:963 c-parse.y:969 c-parse.y:975 c-parse.y:996
-#: c-parse.y:1002 c-parse.y:1008 c-parse.y:1014 c-parse.y:1047 c-parse.y:1053
-#: c-parse.y:1059 c-parse.y:1065 c-parse.y:1110 c-parse.y:1116 c-parse.y:1122
-#: c-parse.y:1128 objc-parse.y:993 objc-parse.y:999 objc-parse.y:1005
-#: objc-parse.y:1011 objc-parse.y:1032 objc-parse.y:1038 objc-parse.y:1044
-#: objc-parse.y:1050 objc-parse.y:1083 objc-parse.y:1089 objc-parse.y:1095
-#: objc-parse.y:1101 objc-parse.y:1146 objc-parse.y:1152 objc-parse.y:1158
-#: objc-parse.y:1164 parse.y:1888 parse.y:1895 parse.y:1934
+#: 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 "`%s' staat niet aan het begin van een declaratie"
-#: c-parse.y:1410 objc-parse.y:1455
+#: c-parse.y:1441 objc-parse.y:1497
#, fuzzy
msgid "ISO C forbids empty initializer braces"
msgstr "ANSI C verbiedt lege initialisatie-accolades"
-#: c-parse.y:1424 objc-parse.y:1469
+#: c-parse.y:1455 objc-parse.y:1511
#, fuzzy
msgid "ISO C89 forbids specifying subobject to initialize"
msgstr "ANSI C verbiedt het opgeven van het te initialiseren element"
-#: c-parse.y:1427 objc-parse.y:1472
+#: c-parse.y:1458 objc-parse.y:1514
msgid "obsolete use of designated initializer without `='"
msgstr ""
-#: c-parse.y:1431 objc-parse.y:1476
+#: c-parse.y:1462 objc-parse.y:1518
msgid "obsolete use of designated initializer with `:'"
msgstr ""
-#: c-parse.y:1460
+#: c-parse.y:1489 objc-parse.y:1545
#, fuzzy
msgid "ISO C forbids specifying range of elements to initialize"
msgstr "ANSI C verbiedt het opgeven van het te initialiseren element"
-#: c-parse.y:1468 c-parse.y:1498 objc-parse.y:1507 objc-parse.y:1537
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1553 objc-parse.y:1584
#, fuzzy
msgid "ISO C forbids nested functions"
msgstr "ANSI C verbiedt geneste functies"
-#: c-parse.y:1672 objc-parse.y:1713
+#: c-parse.y:1703 objc-parse.y:1761
#, fuzzy
msgid "ISO C forbids forward references to `enum' types"
msgstr "ANSI C verbiedt voorwaartse referenties naar `enum' types"
-#: c-parse.y:1684 objc-parse.y:1725 parse.y:2346
+#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773
msgid "comma at end of enumerator list"
msgstr "komma aan het einde van enumerator-lijst"
-#: c-parse.y:1692 objc-parse.y:1733
+#: c-parse.y:1723 objc-parse.y:1781
msgid "no semicolon at end of struct or union"
msgstr "geen puntkomma aan het einde van een struct of union"
-#: c-parse.y:1701 objc-parse.y:1742 objc-parse.y:2809
+#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865
msgid "extra semicolon in struct or union specified"
msgstr "extra puntkomma opgegeven in struct of union"
-#: c-parse.y:1714 objc-parse.y:1769
+#: c-parse.y:1745 objc-parse.y:1817
msgid "ISO C doesn't support unnamed structs/unions"
msgstr ""
-#: c-parse.y:1723 objc-parse.y:1778
+#: c-parse.y:1754 objc-parse.y:1826
#, fuzzy
msgid "ISO C forbids member declarations with no members"
msgstr "ANSI C verbiedt lid-declaraties zonder leden"
-#: c-parse.y:1872 c-parse.y:1876 c-parse.y:1880 objc-parse.y:1927
-#: objc-parse.y:1931 objc-parse.y:1935
-#, fuzzy
-msgid "storage class specifier in array declarator"
-msgstr "opslagklasse opgegeven voor parameter `%s'"
-
-#: c-parse.y:1895 objc-parse.y:1950
+#: c-parse.y:1913 objc-parse.y:1985
#, fuzzy
msgid "deprecated use of label at end of compound statement"
msgstr "ANSI C verbiedt een label aan het einde van een samengesteld statement"
-#: c-parse.y:1912 objc-parse.y:1967
+#: c-parse.y:1930 objc-parse.y:2002
#, fuzzy
msgid "ISO C89 forbids mixed declarations and code"
msgstr "ANSI C verbiedt labeldeclaraties"
-#: c-parse.y:1986 objc-parse.y:2045
+#: c-parse.y:2005 objc-parse.y:2081
#, fuzzy
msgid "ISO C forbids label declarations"
msgstr "ANSI C verbiedt labeldeclaraties"
# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
-#: c-parse.y:2035 objc-parse.y:2094 parse.y:1588
+#: c-parse.y:2055 parse.y:1627 objc-parse.y:2131
msgid "braced-group within expression allowed only inside a function"
msgstr "accolade-groep in expressie enkel toegestaan binnen een functie"
-#: c-parse.y:2160 objc-parse.y:2219
+#: c-parse.y:2182 objc-parse.y:2258
msgid "empty body in an else-statement"
msgstr "leeg body in een else-statement"
-#: c-parse.y:2280 objc-parse.y:2339
+#: c-parse.y:2303 objc-parse.y:2379
#, fuzzy
msgid "ISO C forbids `goto *expr;'"
msgstr "ANSI C verbiedt `goto *expr;'"
# Of is 'verbiedt parameterdeclaraties op voorhand' beter?
-#: c-parse.y:2378 objc-parse.y:2437
+#: c-parse.y:2403 objc-parse.y:2479
#, fuzzy
msgid "ISO C forbids forward parameter declarations"
msgstr "ANSI C verbiedt voorwaartse declaraties van parameters"
@@ -2431,1297 +2539,1450 @@ msgstr "ANSI C verbiedt voorwaartse declaraties van parameters"
#. 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:2404 objc-parse.y:2463
+#: c-parse.y:2429 objc-parse.y:2505
#, fuzzy
msgid "ISO C requires a named argument before `...'"
msgstr "ANSI C heeft een benoemd argument nodig vóór `...'"
-#: c-parse.y:2498 objc-parse.y:2557
+#: c-parse.y:2526 objc-parse.y:2602
msgid "`...' in old-style identifier list"
msgstr "`...' in naamlijst in oude stijl"
-#: /usr/share/bison/bison.simple:639 /usr/share/bison/bison.simple:699
-msgid "parse error; also virtual memory exceeded"
+#: /usr/share/bison/bison.simple:795
+#, fuzzy
+msgid "parse error; also virtual memory exhausted"
msgstr "parse-fout; ook is het virtueel geheugen opgebruikt"
-#: /usr/share/bison/bison.simple:643 /usr/share/bison/bison.simple:703
-#: /usr/share/bison/bison.simple:821 cp/spew.c:349
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
msgid "parse error"
msgstr "parse-fout"
-#: c-parse.y:2814 cp/spew.c:1477 objc-parse.y:3501
+# 'parser' en 'stack overflow' vertalen?
+#: /usr/share/bison/bison.simple:924
+msgid "parser stack overflow"
+msgstr "stack overflow in parser"
+
+#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538
#, c-format
msgid "%s at end of input"
msgstr "%s aan einde van invoer"
-#: c-parse.y:2820 cp/spew.c:1483 objc-parse.y:3507
+#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544
#, fuzzy, c-format
msgid "%s before %s'%c'"
msgstr "%s voor `%s'"
-#: c-parse.y:2822 cp/spew.c:1485 objc-parse.y:3509
+#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546
#, fuzzy, c-format
msgid "%s before %s'\\x%x'"
msgstr "%s voor `%s'"
-#: c-parse.y:2826 cp/spew.c:1489 objc-parse.y:3513
+#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550
#, c-format
msgid "%s before string constant"
msgstr "%s voor stringconstante"
-#: c-parse.y:2828 cp/spew.c:1491 objc-parse.y:3515
+#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552
#, fuzzy, c-format
msgid "%s before numeric constant"
msgstr "%s voor stringconstante"
-#: c-parse.y:2830 objc-parse.y:3517
+#: c-parse.y:2854 objc-parse.y:3554
#, fuzzy, c-format
msgid "%s before \"%s\""
msgstr "%s voor `%s'"
-#: c-parse.y:2832 objc-parse.y:3519
+#: c-parse.y:2856 objc-parse.y:3556
#, fuzzy, c-format
msgid "%s before '%s' token"
msgstr "%s voor `%s'"
-#: c-parse.y:2968 objc-parse.y:3698
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr ""
+
+#: c-parse.y:3047 objc-parse.y:3780
#, c-format
msgid "syntax error at '%s' token"
msgstr ""
-#: c-parse.y:2998 ch/parse.c:4329 cp/lex.c:910 objc-parse.y:3728
-#, fuzzy
-msgid "YYDEBUG not defined"
-msgstr "YYDEBUG niet gedefinieerd"
-
-#: c-pragma.c:109
+#: c-pragma.c:107
msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
msgstr "#pragma pack (pop) tegengekomen zonder overeenkomstige #pragma pack (push, <n>)"
-#: c-pragma.c:127
+#: c-pragma.c:125
#, c-format
msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
msgstr "#pragma pack (pop, %s) tegengekomen zonder overeenkomstige #pragma pack (push, %s, <n>)"
-#: c-pragma.c:162
+#: c-pragma.c:145
#, fuzzy
msgid "#pragma pack(push[, id], <n>) is not supported on this target"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: c-pragma.c:164
+#: c-pragma.c:147
#, fuzzy
msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: 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
#, fuzzy
msgid "malformed '#pragma pack' - ignored"
msgstr "misvormde #pragma pack"
-#: c-pragma.c:202
+#: c-pragma.c:185
#, fuzzy
msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
msgstr "misvormde #pragma pack(push[,id],<n>)"
-#: c-pragma.c:204
+#: c-pragma.c:187
#, fuzzy
msgid "malformed '#pragma pack(pop[, id])' - ignored"
msgstr "misvormde #pragma pack(pop[,id])"
-#: 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
#, fuzzy
msgid "junk at end of '#pragma pack'"
msgstr "misvormde #pragma pack"
-#: c-pragma.c:264
+#: c-pragma.c:247
#, fuzzy, c-format
msgid "alignment must be a small power of two, not %d"
msgstr "Alignment moet een kleine macht van twee zijn, en niet %d, in #pragma pack"
-#: c-pragma.c:290 c-pragma.c:295
+#: 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
#, fuzzy
msgid "malformed #pragma weak, ignored"
msgstr "misvormde #pragma weak"
-#: c-pragma.c:299
+#: c-pragma.c:330
#, fuzzy
msgid "junk at end of #pragma weak"
msgstr "misvormde #pragma weak"
-#: c-semantics.c:563
+#: c-pragma.c:365 c-pragma.c:370
+#, fuzzy
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr "misvormde #pragma weak"
+
+#: c-pragma.c:375
+#, fuzzy
+msgid "junk at end of #pragma redefine_extname"
+msgstr "misvormde #pragma weak"
+
+#: c-pragma.c:382 c-pragma.c:463
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr ""
+
+#: c-pragma.c:413
+#, fuzzy
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr "misvormde #pragma pack(pop[,id])"
+
+# Moet 'signature-string' vertaald worden?
+#: c-pragma.c:418
+#, fuzzy
+msgid "junk at end of #pragma extern_prefix"
+msgstr "Brol aan einde van signature-string."
+
+#: c-pragma.c:450
+#, fuzzy
+msgid "asm declaration conficts with previous rename"
+msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
+
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
msgstr "break-statement niet in een lus of switch"
-#: c-semantics.c:581
+#: c-semantics.c:583
msgid "continue statement not within a loop"
msgstr "continue-statement niet in een lus"
-#: 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:6937 cp/semantics.c:881
+#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
msgstr ""
-#: c-typeck.c:124
+#: c-typeck.c:123
#, c-format
msgid "`%s' has an incomplete type"
msgstr "`%s' heeft een onvolledig type"
-#: c-typeck.c:146 cp/call.c:2590
+#: c-typeck.c:145 cp/call.c:2740
msgid "invalid use of void expression"
msgstr "ongeldig gebruik van een void-expressie"
-#: c-typeck.c:155 cp/typeck2.c:227
+#: c-typeck.c:153
+#, fuzzy
+msgid "invalid use of flexible array member"
+msgstr "ongeldig gebruik van array die geen lvalue is"
+
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
msgstr "ongeldig gebruik van een array zonder opgegeven grenzen"
-#: c-typeck.c:163
+#: c-typeck.c:167
#, c-format
msgid "invalid use of undefined type `%s %s'"
msgstr "ongeldig gebruik van het niet gedefinieerde type `%s %s'"
#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c-typeck.c:167
+#: c-typeck.c:171
#, c-format
msgid "invalid use of incomplete typedef `%s'"
msgstr "ongeldig gebruik van onvolledige typedef `%s'"
-#: c-typeck.c:398 c-typeck.c:412
+#: c-typeck.c:424 c-typeck.c:438
#, fuzzy
msgid "function types not truly compatible in ISO C"
msgstr "functie-types zijn niet echt compatibel in ANSI C"
-#: c-typeck.c:572
+#: c-typeck.c:603
msgid "types are not quite compatible"
msgstr "types zijn niet helemaal compatibel"
-#: c-typeck.c:725
-msgid "sizeof applied to a function type"
-msgstr "sizeof toegepast op een functie-type"
-
-#: c-typeck.c:731
-msgid "sizeof applied to a void type"
-msgstr "sizeof toegepast op een void-type"
-
-#: c-typeck.c:738
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof toegepast op een onvolledig type"
-
# 'Arithmetic'?? 'rekensom' is wel correct, maar het klinkt zo stom.
-#: c-typeck.c:791 c-typeck.c:2809
+#: c-typeck.c:757 c-typeck.c:2673
msgid "arithmetic on pointer to an incomplete type"
msgstr "rekensom met pointer naar onvolledig type"
-#: c-typeck.c:1179
+#: c-typeck.c:1136
#, fuzzy, c-format
msgid "%s has no member named `%s'"
msgstr "union heeft geen lid dat `%s' heet"
-#: c-typeck.c:1212
+#: c-typeck.c:1169
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr "vraag naar lid `%s' in iets dat geen structure of union is"
-#: c-typeck.c:1244 ch/expr.c:810
+#: c-typeck.c:1201
msgid "dereferencing pointer to incomplete type"
msgstr "dereferentie van pointer naar onvolledig type"
-#: c-typeck.c:1248 ch/expr.c:814
+#: c-typeck.c:1205
msgid "dereferencing `void *' pointer"
msgstr "`void *' pointer wordt gederefereerd"
# Is the %s the argument, or is it 'of' the argument?
-#: c-typeck.c:1265 cp/typeck.c:2380
+#: c-typeck.c:1222 cp/typeck.c:2357
#, c-format
msgid "invalid type argument of `%s'"
msgstr "ongeldig type-argument `%s'"
-#: c-typeck.c:1284 cp/typeck.c:2406
+#: c-typeck.c:1241 cp/typeck.c:2383
msgid "subscript missing in array reference"
msgstr "subscript ontbreekt in array-referentie"
-#: c-typeck.c:1305 cp/typeck.c:2448
+#: c-typeck.c:1262 cp/typeck.c:2425
msgid "array subscript has type `char'"
msgstr "array subscript is van het type `char'"
-#: c-typeck.c:1313 c-typeck.c:1402 cp/typeck.c:2455 cp/typeck.c:2534
+#: c-typeck.c:1270 c-typeck.c:1359 cp/typeck.c:2432 cp/typeck.c:2511
msgid "array subscript is not an integer"
msgstr "array subscript is geen integer"
-#: c-typeck.c:1346
+#: c-typeck.c:1303
#, fuzzy
msgid "ISO C forbids subscripting `register' array"
msgstr "ANSI C verbiedt het gebruik van subscripts bij een `register' array"
-#: c-typeck.c:1348
+#: c-typeck.c:1305
#, fuzzy
-msgid "ISO C89 forbids subscripting non-lvalue array"
+msgid "ISO C90 forbids subscripting non-lvalue array"
msgstr "ANSI C verbiedt het gebruik van subscripts bij een array die geen lvalue is"
-#: c-typeck.c:1381
+#: c-typeck.c:1338
msgid "subscript has type `char'"
msgstr "subscript is van het type `char'"
-#: c-typeck.c:1397 cp/typeck.c:2529
+#: c-typeck.c:1354 cp/typeck.c:2506
msgid "subscripted value is neither array nor pointer"
msgstr "waarde met subscript is noch een array, noch een pointer"
-#: c-typeck.c:1451
+#: c-typeck.c:1408
#, c-format
msgid "`%s' undeclared here (not in a function)"
msgstr "`%s' is hier niet gedeclareerd (niet in een functie)"
-#: c-typeck.c:1458
+#: c-typeck.c:1415
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr "`%s' is hier niet gedeclareerd (eerste gebruik in deze functie)"
-#: c-typeck.c:1463
+#: c-typeck.c:1420
msgid "(Each undeclared identifier is reported only once"
msgstr "(Elke niet-gedeclareerde naam wordt slechts één"
-#: c-typeck.c:1464
+#: c-typeck.c:1421
msgid "for each function it appears in.)"
msgstr "keer vermeld voor elke functie waarin hij staat.)"
-#: c-typeck.c:1481
+#: c-typeck.c:1438
#, c-format
msgid "local declaration of `%s' hides instance variable"
msgstr ""
-#: c-typeck.c:1546
+#: c-typeck.c:1504
msgid "called object is not a function"
msgstr "opgeroepen object is geen functie"
-#: c-typeck.c:1630 cp/typeck.c:3171
+#: c-typeck.c:1590 cp/typeck.c:2831
msgid "too many arguments to function"
msgstr "teveel argumenten voor functie"
-#: c-typeck.c:1651
+#: c-typeck.c:1611
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr "het type van formele parameter %d is onvolledig"
-#: c-typeck.c:1664
+#: c-typeck.c:1624
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr "%s als integer in plaats van floating-point ten gevolge van een prototype"
-#: c-typeck.c:1667
+#: c-typeck.c:1627
#, fuzzy, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr "%s als floating-point in plaats van complex ten gevolge van een prototype"
-#: c-typeck.c:1670
+#: c-typeck.c:1630
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr "%s als complex in plaats van floating-point ten gevolge van een prototype"
-#: c-typeck.c:1673
+#: c-typeck.c:1633
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr "%s als floating-point in plaats van integer ten gevolge van een prototype"
-#: c-typeck.c:1676
+#: c-typeck.c:1636
#, fuzzy, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr "%s als complex in plaats van floating-point ten gevolge van een prototype"
-#: c-typeck.c:1679
+#: c-typeck.c:1639
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr "%s als floating-point in plaats van complex ten gevolge van een prototype"
-#: c-typeck.c:1689
+#: c-typeck.c:1649
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr "%s als `float' in plaats van `double' ten gevolge van een prototype"
-#: c-typeck.c:1707
+#: c-typeck.c:1667
#, c-format
msgid "%s with different width due to prototype"
msgstr "%s met andere breedte ten gevolge van prototype"
-#: c-typeck.c:1741
+#: c-typeck.c:1701
#, c-format
msgid "%s as unsigned due to prototype"
msgstr "%s als unsigned ten gevolge van prototype"
-#: c-typeck.c:1743
+#: c-typeck.c:1703
#, c-format
msgid "%s as signed due to prototype"
msgstr "%s als signed ten gevolge van prototype"
-#: c-typeck.c:1777 cp/typeck.c:3279
+#: c-typeck.c:1737 cp/typeck.c:2935
msgid "too few arguments to function"
msgstr "te weinig argument voor functie"
-#: c-typeck.c:1819
+#: c-typeck.c:1779
msgid "suggest parentheses around + or - inside shift"
msgstr "gebruik liefst haakjes rond + of - binnen een shift"
-#: c-typeck.c:1826
+#: c-typeck.c:1786
msgid "suggest parentheses around && within ||"
msgstr "gebruik liefst haakjes rond && binnen ||"
-#: c-typeck.c:1835
+#: c-typeck.c:1795
msgid "suggest parentheses around arithmetic in operand of |"
msgstr "gebruik liefst haakjes rond een rekensom in een operand van |"
-#: c-typeck.c:1838
+#: c-typeck.c:1798
msgid "suggest parentheses around comparison in operand of |"
msgstr "gebruik liefst haakjes rond een vergelijking in een operand van |"
-#: c-typeck.c:1847
+#: c-typeck.c:1807
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr "gebruik liefst haakjes rond een rekensom in een operand van ^"
-#: c-typeck.c:1850
+#: c-typeck.c:1810
msgid "suggest parentheses around comparison in operand of ^"
msgstr "gebruik liefst haakjes rond een vergelijking in een operand van ^"
-#: c-typeck.c:1857
+#: c-typeck.c:1817
msgid "suggest parentheses around + or - in operand of &"
msgstr "gebruik liefst haakjes rond + of - in een operand van &"
-#: c-typeck.c:1860
+#: c-typeck.c:1820
msgid "suggest parentheses around comparison in operand of &"
msgstr "gebruik liefst haakjes rond een vergelijking in een operand van &"
-#: c-typeck.c:1867
+#: c-typeck.c:1827
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr "vergelijkingen als 'X <= Y <= Z' hebben niet hun wiskundige betekenis"
-#: c-typeck.c:2027 c-typeck.c:2083 ch/expr.c:3951
+#: c-typeck.c:1987 c-typeck.c:2022
msgid "division by zero"
msgstr "deling door nul"
-#: c-typeck.c:2128 cp/typeck.c:3565
+#: c-typeck.c:2067 cp/typeck.c:3196
msgid "right shift count is negative"
msgstr "teller van rechtse shift is negatief"
-#: c-typeck.c:2135 cp/typeck.c:3571
+#: c-typeck.c:2074 cp/typeck.c:3202
msgid "right shift count >= width of type"
msgstr "teller van rechtse shift is >= breedte van het type"
-#: c-typeck.c:2160 cp/typeck.c:3590
+#: c-typeck.c:2095 cp/typeck.c:3221
msgid "left shift count is negative"
msgstr "teller van links shift is negatief"
-#: c-typeck.c:2163 cp/typeck.c:3592
+#: c-typeck.c:2098 cp/typeck.c:3223
msgid "left shift count >= width of type"
msgstr "teller van links shift is >= breedte van het type"
-#: c-typeck.c:2188
+#: c-typeck.c:2119
msgid "shift count is negative"
msgstr "teller van shift is negatief"
-#: c-typeck.c:2190
+#: c-typeck.c:2121
msgid "shift count >= width of type"
msgstr "teller van shift is >= breedte van het type"
-#: c-typeck.c:2211 cp/typeck.c:3627
+#: c-typeck.c:2138 cp/typeck.c:3258
msgid "comparing floating point with == or != is unsafe"
msgstr ""
-#: c-typeck.c:2235 c-typeck.c:2241
+#: c-typeck.c:2164 c-typeck.c:2170
#, fuzzy
msgid "ISO C forbids comparison of `void *' with function pointer"
msgstr "ANSI C verbiedt een vergelijking van `void *' met een functie-pointer"
-#: c-typeck.c:2244 c-typeck.c:2286 c-typeck.c:2314
+#: c-typeck.c:2173 c-typeck.c:2213 c-typeck.c:2241
msgid "comparison of distinct pointer types lacks a cast"
msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
-#: c-typeck.c:2259 c-typeck.c:2265 c-typeck.c:2335 c-typeck.c:2341
+#: c-typeck.c:2187 c-typeck.c:2192 c-typeck.c:2261 c-typeck.c:2266
msgid "comparison between pointer and integer"
msgstr "vergelijking tussen pointer en integer"
# 'ordered' -> 'bevolen' of 'geordend'? Waarschijnlijk het laatste.
-#: c-typeck.c:2281 c-typeck.c:2309
+#: c-typeck.c:2208 c-typeck.c:2236
#, fuzzy
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr "ANSI C verbiedt geordende vergelijkingen tussen pointers naar functies"
-#: c-typeck.c:2306
+#: c-typeck.c:2233
msgid "comparison of complete and incomplete pointers"
msgstr "vergelijking van volledige en onvolledige pointers"
-#: c-typeck.c:2322 c-typeck.c:2329
+#: c-typeck.c:2249 c-typeck.c:2256
msgid "ordered comparison of pointer with integer zero"
msgstr "geordende vergelijking van een pointer met integer nul"
-#: c-typeck.c:2355 cp/typeck.c:3760
+#: c-typeck.c:2280 cp/typeck.c:3391
#, fuzzy
msgid "unordered comparison on non-floating point argument"
msgstr "geordende vergelijking van een pointer met integer nul"
-#: c-typeck.c:2559
+#: c-typeck.c:2491
msgid "comparison between signed and unsigned"
msgstr "vergelijking tussen signed en unsigned"
-#: c-typeck.c:2605 cp/typeck.c:4006
+#: c-typeck.c:2537 cp/typeck.c:3635
msgid "comparison of promoted ~unsigned with constant"
msgstr "vergelijking van gepromoveerde ~unsigned met constante"
-#: c-typeck.c:2613 cp/typeck.c:4014
+#: c-typeck.c:2545 cp/typeck.c:3643
msgid "comparison of promoted ~unsigned with unsigned"
msgstr "vergelijking van gepromoveerde ~unsigned met unsigned"
-#: c-typeck.c:2675
-msgid "pointer of type `void *' used in arithmetic"
-msgstr "pointer van type `void *' gebruikt in rekensom"
-
-#: c-typeck.c:2681
-msgid "pointer to a function used in arithmetic"
-msgstr "pointer naar functie gebruikt in rekensom"
-
-#: c-typeck.c:2761
+#: c-typeck.c:2625
msgid "pointer of type `void *' used in subtraction"
msgstr "pointer van type `void *' gebruikt in aftrekking"
-#: c-typeck.c:2763
+#: c-typeck.c:2627
msgid "pointer to a function used in subtraction"
msgstr "pointer naar functie gebruikt in aftrekking"
# 'unary' = 'unair'?
-#: c-typeck.c:2860
+#: c-typeck.c:2724
msgid "wrong type argument to unary plus"
msgstr "argument van verkeerd type voor unaire plus"
-#: c-typeck.c:2871
+#: c-typeck.c:2737
msgid "wrong type argument to unary minus"
msgstr "argument van verkeerd type voor unaire min"
-#: c-typeck.c:2883
+#: c-typeck.c:2754
#, fuzzy
msgid "ISO C does not support `~' for complex conjugation"
msgstr "ANSI C ondersteunt het `%c' formaat niet"
-#: c-typeck.c:2889
+#: c-typeck.c:2760
msgid "wrong type argument to bit-complement"
msgstr "argument van verkeerd type voor bit-complement"
-#: c-typeck.c:2900
+#: c-typeck.c:2769
msgid "wrong type argument to abs"
msgstr "argument van verkeerd type voor abs"
# OK, ik geef het op: wat is hier een goede vertaling voor 'conjugation'?
-#: c-typeck.c:2912
+#: c-typeck.c:2781
msgid "wrong type argument to conjugation"
msgstr "argument van verkeerd type voor vervoeging"
-#: c-typeck.c:2926
+#: c-typeck.c:2795
msgid "wrong type argument to unary exclamation mark"
msgstr "argument van verkeerd type voor unair uitroepingsteken"
-#: c-typeck.c:2969
+#: c-typeck.c:2838
#, fuzzy
msgid "ISO C does not support `++' and `--' on complex types"
msgstr "ANSI C ondersteunt het `%c' formaat niet"
# Wat is beter: 'incrementeren', 'incrementering', of 'increment'?
-#: c-typeck.c:2984 c-typeck.c:3016
+#: c-typeck.c:2853 c-typeck.c:2885
msgid "wrong type argument to increment"
msgstr "argument van verkeerd type voor incrementeren"
-#: c-typeck.c:2986 c-typeck.c:3018
+#: c-typeck.c:2855 c-typeck.c:2887
msgid "wrong type argument to decrement"
msgstr "argument van verkeerd type voor decrementeren"
-#: c-typeck.c:3007
+#: c-typeck.c:2876
msgid "increment of pointer to unknown structure"
msgstr "incrementeren van pointer naar onbekend structure"
-#: c-typeck.c:3009
+#: c-typeck.c:2878
msgid "decrement of pointer to unknown structure"
msgstr "decrementeren van pointer naar onbekend structure"
-#: c-typeck.c:3082
-msgid "invalid lvalue in increment"
-msgstr "ongeldige lvalue bij incrementeren"
-
-#: c-typeck.c:3083
-msgid "invalid lvalue in decrement"
-msgstr "ongeldige lvalue bij decrementeren"
-
-#: c-typeck.c:3091 cp/typeck.c:4594
-msgid "increment"
-msgstr "incrementeren"
-
-#: c-typeck.c:3091 cp/typeck.c:4594
-msgid "decrement"
-msgstr "decrementeren"
-
-#: c-typeck.c:3146
+#: c-typeck.c:3015
msgid "ISO C forbids the address of a cast expression"
msgstr "ANSI C verbiedt het adres van een cast-expressie"
-#: c-typeck.c:3156
+#: c-typeck.c:3025
msgid "invalid lvalue in unary `&'"
msgstr "ongeldige lvalue bij unaire `&'"
-#: c-typeck.c:3188
+#: c-typeck.c:3057
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr "poging om het adres te nemen van lid `%s' van een bitveld-structure"
-#. condition met at compile time
-#: c-typeck.c:3297 c-typeck.c:4686 c-typeck.c:4702 c-typeck.c:4718
-#: ch/expr.c:1782 ch/parse.c:361 ch/typeck.c:160 cp/typeck.c:4787 gcc.c:4467
-#: java/expr.c:387 java/verify.c:1464 java/verify.c:1465 java/verify.c:1480
-#: rtl-error.c:121 tradcif.y:533 tradcpp.c:4123
+#: 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:3358
+#: c-typeck.c:3227
#, fuzzy
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr "ANSI C verbiedt het gebruikt van voorwaardelijke expressies als lvalues"
-#: c-typeck.c:3361
+#: c-typeck.c:3230
#, fuzzy
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr "ANSI C verbiedt het gebruik van samengestelde expressies als lvalues"
-#: c-typeck.c:3364
+#: c-typeck.c:3233
#, fuzzy
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr "ANSI C verbiedt het gebruik van cast-expressies als lvalues"
-#: c-typeck.c:3381
+#: c-typeck.c:3250
#, c-format
msgid "%s of read-only member `%s'"
msgstr "%s van alleen-lezen lid `%s'"
-#: c-typeck.c:3385
+#: c-typeck.c:3254
#, c-format
msgid "%s of read-only variable `%s'"
msgstr "%s van alleen-lezen variabele `%s'"
-#: c-typeck.c:3388
+#: c-typeck.c:3257
#, c-format
msgid "%s of read-only location"
msgstr "%s van alleen-lezen locatie"
-#: c-typeck.c:3406
+#: c-typeck.c:3276
#, fuzzy, c-format
msgid "cannot take address of bit-field `%s'"
msgstr "kan adres van bitveld `%s' niet nemen"
-#: c-typeck.c:3434 ch/typeck.c:3676 ch/xtypeck.c:62
+#: c-typeck.c:3304
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr "globale registervariabele `%s' gebruikt in geneste functie"
-#: c-typeck.c:3438 ch/typeck.c:3680 ch/xtypeck.c:66
+#: c-typeck.c:3308
#, c-format
msgid "register variable `%s' used in nested function"
msgstr "registervariabele `%s' gebruikt in geneste functie"
-#: c-typeck.c:3445 ch/typeck.c:3687 ch/xtypeck.c:73
+#: c-typeck.c:3315
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "adres van globale registervariabele `%s' gevraagd"
-#: c-typeck.c:3457 ch/typeck.c:3699 ch/xtypeck.c:85
+#: c-typeck.c:3327
msgid "cannot put object with volatile field into register"
msgstr "een object met een volatile veld kan niet in een register geplaatst worden"
-#: c-typeck.c:3461 ch/typeck.c:3703 ch/xtypeck.c:89
+#: c-typeck.c:3331
#, c-format
msgid "address of register variable `%s' requested"
msgstr "adres van registervariabele `%s' gevraagd"
# Of moet/mag 'boolean' hier vertaald worden?
-#: c-typeck.c:3569
+#: c-typeck.c:3439
#, fuzzy
msgid "signed and unsigned type in conditional expression"
msgstr "niet-boolean modus in voorwaardelijke expressie"
-#: c-typeck.c:3576
+#: c-typeck.c:3446
#, fuzzy
msgid "ISO C forbids conditional expr with only one void side"
msgstr "ANSI C verbiedt voorwaardelijke expressies met maar één void-zijde"
-#: c-typeck.c:3592 c-typeck.c:3599
+#: c-typeck.c:3462 c-typeck.c:3469
#, fuzzy
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr "ANSI C verbiedt voorwaardelijke expressies tussen `void *' en een functiepointer"
-#: c-typeck.c:3605
+#: c-typeck.c:3475
msgid "pointer type mismatch in conditional expression"
msgstr "pointertypes in voorwaardelijke expressie komen niet overeen"
-#: c-typeck.c:3612 c-typeck.c:3622
+#: c-typeck.c:3482 c-typeck.c:3492
msgid "pointer/integer type mismatch in conditional expression"
msgstr "types in voorwaardelijke expressie komen niet overeen (pointer/integer)"
-#: c-typeck.c:3636
+#: c-typeck.c:3506
msgid "type mismatch in conditional expression"
msgstr "types in voorwaardelijke expressie komen niet overeen"
-#: c-typeck.c:3707 cp/typeck.c:5044
+#: c-typeck.c:3577 cp/typeck.c:4597
msgid "left-hand operand of comma expression has no effect"
msgstr "linker operand van comma-expressie heeft geen effect"
-#: c-typeck.c:3746
+#: c-typeck.c:3621
msgid "cast specifies array type"
msgstr "cast geeft array-type op"
-#: c-typeck.c:3752
+#: c-typeck.c:3627
msgid "cast specifies function type"
msgstr "cast geeft functie-type op"
-#: c-typeck.c:3762
+#: c-typeck.c:3637
#, fuzzy
msgid "ISO C forbids casting nonscalar to the same type"
msgstr "ANSI C verbiedt het casten van een niet-scalair naar hetzelfde type"
-#: c-typeck.c:3781
+#: c-typeck.c:3656
#, fuzzy
msgid "ISO C forbids casts to union type"
msgstr "ANSI C verbiedt casts naar een union-type"
-#: c-typeck.c:3797
+#: c-typeck.c:3671
msgid "cast to union type from type not present in union"
msgstr "cast naar union-type van een type dat geen deel uitmaakt van de union"
+#: c-typeck.c:3722
+#, fuzzy
+msgid "cast adds new qualifiers to function type"
+msgstr "cast geeft functie-type op"
+
#. There are qualifiers present in IN_OTYPE that are not
#. present in IN_TYPE.
-#: c-typeck.c:3840
+#: c-typeck.c:3727
msgid "cast discards qualifiers from pointer target type"
msgstr "cast laat qualifiers van doeltype van pointer vallen"
-#: c-typeck.c:3855
+#: c-typeck.c:3742
msgid "cast increases required alignment of target type"
msgstr "cast verhoogt het benodigde alignment van het doeltype"
-#: c-typeck.c:3861 cp/typeck.c:5458
+#: c-typeck.c:3748 cp/typeck.c:5027
msgid "cast from pointer to integer of different size"
msgstr "cast van pointer naar integer met andere grootte"
# 'A function type' of 'THE function type'?
-#: c-typeck.c:3866
+#: c-typeck.c:3753
msgid "cast does not match function type"
msgstr "cast komt niet overeen met het functietype"
-#: c-typeck.c:3873 cp/typeck.c:5465
+#: c-typeck.c:3760 cp/typeck.c:5034
msgid "cast to pointer from integer of different size"
msgstr "cast naar pointer van integer met andere grootte"
+#: 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:4031
+#: c-typeck.c:3935
msgid "invalid lvalue in assignment"
msgstr "ongeldige lvalue in toewijzing"
#. Convert new value to destination type.
-#: c-typeck.c:4040 c-typeck.c:4065 c-typeck.c:4082 ch/typeck.c:2334
-#: cp/typeck.c:5575 cp/typeck.c:5726
+#: c-typeck.c:3944 c-typeck.c:3969 c-typeck.c:3986 cp/typeck.c:5145
+#: cp/typeck.c:5294
msgid "assignment"
msgstr "toewijzing"
-#: c-typeck.c:4249 c-typeck.c:4316
+#: c-typeck.c:4056
+msgid "cannot pass rvalue to reference parameter"
+msgstr ""
+
+#: c-typeck.c:4160 c-typeck.c:4227
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr "%s maakt gekwalificeerde functiepointer van een niet gekwalificeerde"
-#: c-typeck.c:4253 c-typeck.c:4296
+#: c-typeck.c:4164 c-typeck.c:4207
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr "%s laat qualifiers van doeltype van pointer vallen"
-#: c-typeck.c:4259
+#: c-typeck.c:4170
#, fuzzy
msgid "ISO C prohibits argument conversion to union type"
msgstr "ANSI C verbiedt conversie van argumenten naar union type"
-#: c-typeck.c:4288
+#: c-typeck.c:4199
#, fuzzy, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
msgstr "ANSI C verbiedt %s tussen functiepointer en `void *'"
# 'signedness' = 'signed-heid'?
-#: c-typeck.c:4305
+#: c-typeck.c:4216
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr "doelen van pointer in %s verschillen in signedness"
-#: c-typeck.c:4321
+#: c-typeck.c:4232
#, c-format
msgid "%s from incompatible pointer type"
msgstr "%s van incompatibel pointertype"
-#: c-typeck.c:4337
+#: c-typeck.c:4248
#, c-format
msgid "%s makes pointer from integer without a cast"
msgstr "%s maakt pointer van integer zonder een cast"
-#: c-typeck.c:4345
+#: c-typeck.c:4256
#, c-format
msgid "%s makes integer from pointer without a cast"
msgstr "%s maakt integer van pointer zonder een cast"
-#: c-typeck.c:4359 c-typeck.c:4362
+#: c-typeck.c:4270 c-typeck.c:4273
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr "incompatibel type voor argument %d van `%s'"
-#: c-typeck.c:4366
+#: c-typeck.c:4277
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr "incompatibel type voor argument %d van onrechtstreekse functie-oproep"
-#: c-typeck.c:4370
+#: c-typeck.c:4281
#, c-format
msgid "incompatible types in %s"
msgstr "incompatibele types bij %s"
#. Function name is known; supply it.
-#: c-typeck.c:4401
+#: c-typeck.c:4339
+#, fuzzy, c-format
+msgid "passing arg of `%s'"
+msgstr "doorgeven van argument %d van `%s'"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4349
+#, fuzzy
+msgid "passing arg of pointer to function"
+msgstr "doorgeven van argument %d van pointer naar functie"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4357
#, c-format
msgid "passing arg %d of `%s'"
msgstr "doorgeven van argument %d van `%s'"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4411
+#: c-typeck.c:4367
#, c-format
msgid "passing arg %d of pointer to function"
msgstr "doorgeven van argument %d van pointer naar functie"
-#: c-typeck.c:4478
+#: c-typeck.c:4433
msgid "initializer for static variable is not constant"
msgstr "beginwaarde voor static variabele is geen constante"
-#: c-typeck.c:4484
+#: c-typeck.c:4439
msgid "initializer for static variable uses complicated arithmetic"
msgstr "beginwaarde voor static variabele gebruikt ingewikkelde berekening"
-#: c-typeck.c:4492
+#: c-typeck.c:4447
msgid "aggregate initializer is not constant"
msgstr "aggregaat-beginwaarde is geen constante"
-#: c-typeck.c:4494
+#: c-typeck.c:4449
msgid "aggregate initializer uses complicated arithmetic"
msgstr "aggregaat-beginwaarde gebruikt ingewikkelde berekening"
-#: c-typeck.c:4501
+#: c-typeck.c:4456
msgid "traditional C rejects automatic aggregate initialization"
msgstr ""
-#: c-typeck.c:4689 c-typeck.c:4705 c-typeck.c:4721
+#: c-typeck.c:4635 c-typeck.c:4651 c-typeck.c:4667
#, c-format
msgid "(near initialization for `%s')"
msgstr "(dicht bij initialisatie van `%s')"
-#: c-typeck.c:4773 cp/typeck2.c:531
+#: c-typeck.c:4718 cp/typeck2.c:505
msgid "char-array initialized from wide string"
msgstr "char-array heeft wide string als beginwaarde"
-#: c-typeck.c:4780 cp/typeck2.c:538
+#: c-typeck.c:4725 cp/typeck2.c:512
msgid "int-array initialized from non-wide string"
msgstr "int-array heeft niet-wide string als beginwaarde"
-#: c-typeck.c:4798 cp/typeck2.c:554
+#: c-typeck.c:4743 cp/typeck2.c:528
msgid "initializer-string for array of chars is too long"
msgstr "beginwaarde-string voor array van chars is te lang"
-#: c-typeck.c:4834
+#: c-typeck.c:4781
msgid "array initialized from non-constant array expression"
msgstr "array krijgt niet-constante array-expressie als beginwaarde"
-#: c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4869 c-typeck.c:4890
-#: c-typeck.c:6311
+#: 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 "beginwaarde-element is niet constant"
-#: c-typeck.c:4885
+#: c-typeck.c:4832
msgid "initialization"
msgstr "initialisatie"
-#: c-typeck.c:4896 c-typeck.c:6316
+#: c-typeck.c:4843 c-typeck.c:6242
msgid "initializer element is not computable at load time"
msgstr "beginwaarde-element kan niet berekend worden tijdens het laden"
-#: c-typeck.c:4933 c-typeck.c:4949 cp/typeck2.c:631
+#: c-typeck.c:4858 cp/typeck2.c:605
msgid "invalid initializer"
msgstr "ongeldige beginwaarde"
-#: c-typeck.c:5434
+#: c-typeck.c:5351
msgid "extra brace group at end of initializer"
msgstr "extra accolade-groep aan einde van beginwaarde"
-#: c-typeck.c:5454
+#: c-typeck.c:5371
msgid "missing braces around initializer"
msgstr "accolades ontbreken rond beginwaarde"
-#: c-typeck.c:5506
+#: c-typeck.c:5431
msgid "braces around scalar initializer"
msgstr "accolades rond scalaire beginwaarde"
-#: c-typeck.c:5554
+#: c-typeck.c:5479
msgid "initialization of flexible array member in a nested context"
msgstr ""
-#: c-typeck.c:5556
+#: c-typeck.c:5481
msgid "initialization of a flexible array member"
msgstr ""
-#: c-typeck.c:5587
+#: c-typeck.c:5512
msgid "missing initializer"
msgstr "beginwaarde ontbreekt"
-#: c-typeck.c:5612
+#: c-typeck.c:5538
msgid "empty scalar initializer"
msgstr "lege scalaire beginwaarde"
-#: c-typeck.c:5617
+#: c-typeck.c:5543
msgid "extra elements in scalar initializer"
msgstr "extra elementen in scalaire beginwaarde"
-#: c-typeck.c:5703
+#: c-typeck.c:5629
msgid "initialization designators may not nest"
msgstr ""
-#: c-typeck.c:5724 c-typeck.c:5795
+#: c-typeck.c:5650 c-typeck.c:5721
msgid "array index in non-array initializer"
msgstr "array-index in beginwaarde van niet-array"
-#: c-typeck.c:5729 c-typeck.c:5847
+#: c-typeck.c:5655 c-typeck.c:5773
#, fuzzy
msgid "field name not in record or union initializer"
msgstr "overtollige elementen in beginwaarde van union"
-#: c-typeck.c:5791 c-typeck.c:5793
+#: c-typeck.c:5717 c-typeck.c:5719
msgid "nonconstant array index in initializer"
msgstr "niet-constante array-index in beginwaarde"
-#: c-typeck.c:5798
+#: c-typeck.c:5724
#, fuzzy
msgid "array index in initializer exceeds array bounds"
msgstr "array-index in beginwaarde van niet-array"
-#: c-typeck.c:5809
+#: c-typeck.c:5735
msgid "empty index range in initializer"
msgstr "leeg indexbereik in beginwaarde"
-#: c-typeck.c:5818
+#: c-typeck.c:5744
#, fuzzy
msgid "array index range in initializer exceeds array bounds"
msgstr "leeg indexbereik in beginwaarde"
-#: c-typeck.c:5859
+#: c-typeck.c:5785
#, c-format
msgid "unknown field `%s' specified in initializer"
msgstr "onbekend veld `%s' opgegeven in beginwaarde"
-#: c-typeck.c:5896 c-typeck.c:5917 c-typeck.c:6379
+#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304
msgid "initialized field with side-effects overwritten"
msgstr ""
-#: c-typeck.c:6589
+#: c-typeck.c:6514
#, fuzzy
msgid "excess elements in char array initializer"
msgstr "overtollige elementen in beginwaarde van array"
-#: c-typeck.c:6596 c-typeck.c:6642
+#: c-typeck.c:6521 c-typeck.c:6567
msgid "excess elements in struct initializer"
msgstr "overtollige elementen in beginwaarde van struct"
-#: c-typeck.c:6709
+#: c-typeck.c:6582
+msgid "non-static initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:6644
msgid "excess elements in union initializer"
msgstr "overtollige elementen in beginwaarde van union"
-#: c-typeck.c:6730
+#: c-typeck.c:6665
msgid "traditional C rejects initialization of unions"
msgstr ""
-#: c-typeck.c:6793
+#: c-typeck.c:6728
msgid "excess elements in array initializer"
msgstr "overtollige elementen in beginwaarde van array"
-#: c-typeck.c:6819
+#: c-typeck.c:6757
+#, fuzzy
+msgid "excess elements in vector initializer"
+msgstr "overtollige elementen in beginwaarde van scalair"
+
+#: c-typeck.c:6779
msgid "excess elements in scalar initializer"
msgstr "overtollige elementen in beginwaarde van scalair"
-#: c-typeck.c:6930 ch/parse.c:2026
+#: c-typeck.c:6886
msgid "asm template is not a string constant"
msgstr "asm-template is geen stringconstante"
-#: c-typeck.c:6962
+#: c-typeck.c:6918
#, fuzzy
msgid "invalid lvalue in asm statement"
msgstr "ongeldige lvalue in toewijzing"
-#: c-typeck.c:7033
+#: c-typeck.c:6993
msgid "modification by `asm'"
msgstr "aanpassing door `asm'"
-#: c-typeck.c:7052 cp/typeck.c:6576
+#: c-typeck.c:7012 cp/typeck.c:6152
msgid "function declared `noreturn' has a `return' statement"
msgstr "als `noreturn' gedeclareerde functie bevat een `return' statement"
-#: c-typeck.c:7059
+#: c-typeck.c:7019
msgid "`return' with no value, in function returning non-void"
msgstr "`return' zonder waarde in een functie die een niet-void waarde teruggeeft"
-#: c-typeck.c:7065
+#: c-typeck.c:7025
msgid "`return' with a value, in function returning void"
msgstr "`return' met waarde in een functie die void teruggeeft"
-#: c-typeck.c:7069
+#: c-typeck.c:7029
msgid "return"
msgstr "return"
-#: c-typeck.c:7120
+#: c-typeck.c:7081
msgid "function returns address of local variable"
msgstr "functie geeft adres van lokale variabele terug"
-#: c-typeck.c:7177 cp/semantics.c:525
+#: c-typeck.c:7137 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "switch-waarde is geen integer"
-#: c-typeck.c:7187
+#: c-typeck.c:7147
#, fuzzy
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr "`long' switch-expressie wordt in ANSI C niet naar `int' geconverteerd"
-#: c-typeck.c:7222 cp/decl.c:5230
+#: c-typeck.c:7182 cp/decl.c:5173
msgid "case label not within a switch statement"
msgstr "case-label niet in een switch-statement"
-#: c-typeck.c:7224 cp/decl.c:5235
+#: c-typeck.c:7184 cp/decl.c:5178
#, fuzzy
msgid "`default' label not within a switch statement"
msgstr "default-label niet in een switch-statement"
-#: calls.c:1901
+#: calls.c:1921
#, c-format
msgid "inlining failed in call to `%s'"
msgstr "inline maken mislukt in oproep van `%s'"
-#: calls.c:1902 calls.c:2208
+#: calls.c:1922 calls.c:2228
msgid "called from here"
msgstr "van hieruit opgeroepen"
-#: calls.c:2207
+#: calls.c:2227
#, c-format
msgid "can't inline call to `%s'"
msgstr "kan oproep van `%s' niet inline maken"
# dit klinkt niet al te best
-#: calls.c:2237
+#: calls.c:2257
msgid "function call has aggregate value"
msgstr "functie-oproep heeft geaggregeerde waarde"
-#: calls.c:4539
+#: calls.c:4614
msgid "variable offset is passed partially in stack and in reg"
msgstr ""
-#: calls.c:4541
+#: calls.c:4616
msgid "variable size is passed partially in stack and in reg"
msgstr ""
-#: cfgrtl.c:1578
+#: 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:1592
+#: cfgrtl.c:1744
#, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr ""
-#: cfgrtl.c:1604
+#: cfgrtl.c:1756
#, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr ""
-#: cfgrtl.c:1623
+#: cfgrtl.c:1778
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr ""
+
+#: cfgrtl.c:1785
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1791
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr ""
+
+#: cfgrtl.c:1799
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr ""
-#: cfgrtl.c:1642
+#: cfgrtl.c:1805
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1811
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr ""
+
+#: cfgrtl.c:1841
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1657
+#: cfgrtl.c:1856
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr ""
-#: cfgrtl.c:1659
+#: cfgrtl.c:1858
msgid "wrong insn in the fallthru edge"
msgstr ""
-#: cfgrtl.c:1666
+#: cfgrtl.c:1865
#, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr ""
-#: cfgrtl.c:1690
+#: cfgrtl.c:1881
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr ""
+
+#: cfgrtl.c:1889
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr ""
+
+#: cfgrtl.c:1894
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1899
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr ""
+
+#: cfgrtl.c:1905
+#, fuzzy, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+#: cfgrtl.c:1910
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1919
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr ""
+
+#: cfgrtl.c:1934
#, c-format
msgid "missing barrier after block %i"
msgstr ""
-#: cfgrtl.c:1700
+#: cfgrtl.c:1944
#, c-format
msgid "basic block %d pred edge is corrupted"
msgstr ""
-#: cfgrtl.c:1717
+#: cfgrtl.c:1961
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr ""
-#: cfgrtl.c:1721
+#: cfgrtl.c:1965
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is %i"
msgstr ""
-#: cfgrtl.c:1735 cfgrtl.c:1745
+#: cfgrtl.c:1979 cfgrtl.c:1989
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr ""
-#: cfgrtl.c:1758
+#: cfgrtl.c:2002
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr ""
-#: cfgrtl.c:1770
+#: cfgrtl.c:2014
#, c-format
msgid "in basic block %d:"
msgstr ""
-#: cfgrtl.c:1771
+#: cfgrtl.c:2015
msgid "flow control insn inside a basic block"
msgstr ""
-#: cfgrtl.c:1790
+#: cfgrtl.c:2034
#, c-format
msgid "basic block %i edge lists are corrupted"
msgstr ""
-#: cfgrtl.c:1804
+#: cfgrtl.c:2049
msgid "basic blocks not numbered consecutively"
msgstr ""
-#: cfgrtl.c:1829
+#: cfgrtl.c:2074
msgid "insn outside basic block"
msgstr ""
-#: cfgrtl.c:1837
+#: cfgrtl.c:2082
#, fuzzy
msgid "return not followed by barrier"
msgstr "`#' gevolgd door een integer"
-#: cfgrtl.c:1842
+#: cfgrtl.c:2087
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr ""
-#: cfgrtl.c:1846
+#: cfgrtl.c:2091
msgid "verify_flow_info failed"
msgstr ""
-#: collect2.c:439
+#: collect2.c:425
msgid "internal error"
msgstr "interne fout"
-#: collect2.c:940
+#: collect2.c:934
msgid "no arguments"
msgstr "geen argumenten"
-#: collect2.c:1269 collect2.c:1417 collect2.c:1450
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
#, c-format
msgid "fopen %s"
msgstr "fopen %s"
-#: collect2.c:1272 collect2.c:1422 collect2.c:1453
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
msgstr "fclose %s"
-#: collect2.c:1281
+#: collect2.c:1275
#, c-format
msgid "collect2 version %s"
msgstr "collect2 versie %s"
-#: collect2.c:1371
+#: collect2.c:1365
#, c-format
msgid "%d constructor(s) found\n"
msgstr "%d constructor(s) gevonden\n"
-#: collect2.c:1372
+#: collect2.c:1366
#, c-format
msgid "%d destructor(s) found\n"
msgstr "%d destructor(s) gevonden\n"
-#: collect2.c:1373
+#: collect2.c:1367
#, c-format
msgid "%d frame table(s) found\n"
msgstr "%d frame-tabel(len) gevonden\n"
-#: collect2.c:1514
+#: collect2.c:1508
#, fuzzy, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s beëindigd met signaal %d [%s]"
-#: collect2.c:1533
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
msgstr "%s gaf exit-status %d terug"
-#: collect2.c:1561
+#: collect2.c:1555
#, c-format
msgid "[cannot find %s]"
msgstr "[kan %s niet vinden]"
-#: collect2.c:1576
+#: collect2.c:1570
#, c-format
msgid "cannot find `%s'"
msgstr "kan %s niet vinden"
-#: collect2.c:1587 collect2.c:1590
+#: collect2.c:1581 collect2.c:1584
#, c-format
msgid "redirecting stdout: %s"
msgstr "bij het herleiden van standaarduitvoer: %s"
-#: collect2.c:1633
+#: collect2.c:1627
#, c-format
msgid "[Leaving %s]\n"
msgstr "[%s wordt verlaten]\n"
-#: collect2.c:1876
+#: collect2.c:1870
#, c-format
-msgid "\nwrite_c_file - output name is %s, prefix is %s\n"
-msgstr "\nwrite_c_file - uitvoernaam is %s, prefix is %s\n"
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
+msgstr ""
+"\n"
+"write_c_file - uitvoernaam is %s, prefix is %s\n"
-#: collect2.c:2089
+#: collect2.c:2083
msgid "cannot find `nm'"
msgstr "kan `nm' niet vinden"
-#: collect2.c:2099 collect2.c:2541
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
msgstr "pipe"
-#: collect2.c:2103 collect2.c:2545
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
msgstr "fdopen"
-#: collect2.c:2129 collect2.c:2571
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
msgstr "dup2 %d 1"
-#: 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 "close %d"
-#: collect2.c:2138
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr "execvp %s"
+msgid "execv %s"
+msgstr "execv %s"
-#: collect2.c:2192
+#: collect2.c:2186
#, c-format
msgid "init function found in object %s"
msgstr "init-functie gevonden in object %s"
-#: collect2.c:2200
+#: collect2.c:2194
#, c-format
msgid "fini function found in object %s"
msgstr "fini-functie gevonden in object %s"
-#: collect2.c:2223 collect2.c:2629
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
msgstr "fclose"
-#: collect2.c:2268
+#: collect2.c:2262
#, c-format
msgid "unable to open file '%s'"
msgstr "kan bestand '%s' niet openen"
-#: collect2.c:2270
+#: collect2.c:2264
#, c-format
msgid "unable to stat file '%s'"
msgstr "kan bestand '%s' niet stat'en"
-#: collect2.c:2276
+#: collect2.c:2270
#, c-format
msgid "unable to mmap file '%s'"
msgstr "kan bestand '%s' niet mmap'en"
-#: collect2.c:2429
+#: collect2.c:2423
msgid "not found\n"
msgstr "niet gevonden\n"
# 'dependency'? 'afhankelijkheid' klinkt niet echt goed...
-#: collect2.c:2431 collect2.c:2608
+#: collect2.c:2425 collect2.c:2602
#, c-format
msgid "dynamic dependency %s not found"
msgstr "dynamische dependency %s niet gevonden"
-#: collect2.c:2451
+#: collect2.c:2445
#, c-format
msgid "bad magic number in file '%s'"
msgstr "slecht magisch getal in bestand '%s'"
-#: collect2.c:2473
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
msgstr "dynamische dependencies.\n"
-#: collect2.c:2532
+#: collect2.c:2526
msgid "cannot find `ldd'"
msgstr "kan `ldd' niet vinden"
-#: collect2.c:2580
-#, c-format
-msgid "execv %s"
-msgstr "execv %s"
-
-#: collect2.c:2593
-msgid "\nldd output with constructors/destructors.\n"
-msgstr "\nuitvoer van ldd met constructors/destructors.\n"
+#: collect2.c:2587
+msgid ""
+"\n"
+"ldd output with constructors/destructors.\n"
+msgstr ""
+"\n"
+"uitvoer van ldd met constructors/destructors.\n"
-#: collect2.c:2620
+#: collect2.c:2614
#, c-format
msgid "unable to open dynamic dependency '%s'"
msgstr "kan dynamische dependency '%s' niet openen"
-#: collect2.c:2734
+#: collect2.c:2728
#, c-format
msgid "%s: not a COFF file"
msgstr "%s: geen COFF-bestand"
-#: collect2.c:2853
+#: collect2.c:2847
#, c-format
msgid "%s: cannot open as COFF file"
msgstr "%s: kan niet openen als COFF-bestand"
@@ -3730,140 +3991,154 @@ msgstr "%s: kan niet openen als COFF-bestand"
# dikwijls 'bibliotheek' zien gebruiken.
# De vertaalde boodschappen voor make gebruiken dat op het ogenblik wél, maar
# ik ben van plan daar verandering in te brengen.
-#: collect2.c:2909
+#: collect2.c:2903
#, fuzzy, c-format
msgid "library lib%s not found"
msgstr "Library lib%s niet gevonden"
-#: collect2.c:3038
+#: collect2.c:3030
#, c-format
msgid "open %s"
msgstr "open %s"
-#: collect2.c:3061
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
msgstr "incompatibiliteiten tussen objectbestand & verwachte waarden"
-#: collect2.c:3134
+#: collect2.c:3126
#, c-format
-msgid "\nProcessing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
-msgstr "\nSymbooltabel #%d wordt verwerkt (offset = 0x%.8lx, soort = %s)\n"
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+msgstr ""
+"\n"
+"Symbooltabel #%d wordt verwerkt (offset = 0x%.8lx, soort = %s)\n"
-#: collect2.c:3143
+#: collect2.c:3135
msgid "string section missing"
msgstr "string-sectie ontbreekt"
-#: collect2.c:3146
+#: collect2.c:3138
msgid "section pointer missing"
msgstr "sectie-pointer ontbreekt"
-#: collect2.c:3194
+#: collect2.c:3186
msgid "no symbol table found"
msgstr "geen symbooltabel gevonden"
-#: collect2.c:3207
+#: collect2.c:3199
msgid "no cmd_strings found"
msgstr "geen cmd_strings gevonden"
-#: collect2.c:3219
-msgid "\nUpdating header and load commands.\n\n"
-msgstr "\nHoofding en laadcommandos worden aangepast.\n\n"
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
+msgstr ""
+"\n"
+"Hoofding en laadcommandos worden aangepast.\n"
+"\n"
-#: collect2.c:3226
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
msgstr "laadcommando-kaart, %d commando's, nieuwe grootte %ld.\n"
-#: collect2.c:3257
-msgid "writing load commands.\n\n"
-msgstr "laadcommandos worden geschreven.\n\n"
+#: collect2.c:3249
+msgid ""
+"writing load commands.\n"
+"\n"
+msgstr ""
+"laadcommandos worden geschreven.\n"
+"\n"
-#: collect2.c:3277
+#: collect2.c:3269
#, c-format
msgid "close %s"
msgstr "close %s"
# 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
-#: collect2.c:3351
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
msgstr "kon 0x%l.8x niet naar een regio omzetten"
-#: collect2.c:3355
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
msgstr "%s-functie, regio %d, offset = %ld (0x%.8lx)\n"
-#: collect2.c:3482
+#: collect2.c:3474
msgid "bad magic number"
msgstr "slecht magisch getal"
-#: collect2.c:3483
+#: collect2.c:3475
msgid "bad header version"
msgstr "slechte versie van hoofding"
# trekt op nie veel
-#: collect2.c:3484
+#: collect2.c:3476
msgid "bad raw header version"
msgstr "slechte versie van rauwe hoofding"
-#: collect2.c:3485
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr "buffer voor rauwe hoofding te klein"
-#: collect2.c:3486
+#: collect2.c:3478
msgid "old raw header file"
msgstr "oud bestand met rauwe hoofding"
-#: collect2.c:3487
+#: collect2.c:3479
msgid "unsupported version"
msgstr "niet-ondersteunde versie"
-#: collect2.c:3489
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr "onbekende returnwaarde %d voor {de,en}code_mach_o_hdr"
-#: collect2.c:3509
+#: collect2.c:3501
#, c-format
msgid "fstat %s"
msgstr "fstat %s"
-#: collect2.c:3546 collect2.c:3594
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
msgstr "lseek %s 0"
-#: collect2.c:3550
+#: collect2.c:3542
#, c-format
msgid "read %s"
msgstr "read %s"
-#: collect2.c:3553
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr "%ld bytes gelezen (%ld verwacht) van %s"
-#: collect2.c:3574
+#: collect2.c:3566
#, c-format
msgid "msync %s"
msgstr "msync %s"
-#: collect2.c:3581
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
msgstr "munmap %s"
-#: collect2.c:3598
+#: collect2.c:3590
#, c-format
msgid "write %s"
msgstr "write %s"
-#: collect2.c:3601
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr "%ld bytes geschreven (%ld verwacht) naar %s"
-#: combine.c:12639
+#: combine.c:12966
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
@@ -3874,7 +4149,7 @@ msgstr ""
";; nodig), %d successen.\n"
"\n"
-#: combine.c:12649
+#: combine.c:12976
#, c-format
msgid ""
"\n"
@@ -3885,997 +4160,897 @@ msgstr ""
";; Combiner-totalen: %d pogingen, %d vervangingen (%d hadden nieuwe ruimte\n"
";; nodig), %d successen.\n"
-#: convert.c:67
+#: convert.c:69
msgid "cannot convert to a pointer type"
msgstr ""
-#: convert.c:100
+#: convert.c:102
msgid "pointer value used where a floating point value was expected"
msgstr ""
-#: convert.c:104
+#: convert.c:106
msgid "aggregate value used where a float was expected"
msgstr ""
-#: convert.c:130
+#: convert.c:132
msgid "conversion to incomplete type"
msgstr ""
-#: convert.c:390 convert.c:470
+#: convert.c:414 convert.c:494
#, fuzzy
msgid "can't convert between vector values of different size"
msgstr "cast van pointer naar integer met andere grootte"
-#: convert.c:396
+#: convert.c:420
msgid "aggregate value used where an integer was expected"
msgstr ""
-#: convert.c:448 f/com.c:1073
+#: convert.c:472 f/com.c:1100
msgid "pointer value used where a complex was expected"
msgstr ""
-#: convert.c:452 f/com.c:1075
+#: convert.c:476 f/com.c:1102
msgid "aggregate value used where a complex was expected"
msgstr ""
# 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
-#: convert.c:476
+#: convert.c:500
#, fuzzy
msgid "can't convert value to a vector"
msgstr "kon 0x%l.8x niet naar een regio omzetten"
-#: cpperror.c:125
+# Dit zou misschien beter 'warning' blijven
+#: cpperror.c:113
+msgid "warning: "
+msgstr "let op: "
+
+#: cpperror.c:115
#, fuzzy
msgid "internal error: "
msgstr "interne fout"
-# Dit zou misschien beter 'warning' blijven
-#: cpperror.c:132 tradcpp.c:4679
-msgid "warning: "
-msgstr "let op: "
+#: cpperror.c:189
+#, fuzzy
+msgid "stdout"
+msgstr "struct"
-#: cpperror.c:209 cpperror.c:299 cppfiles.c:691 gcc.c:6318 tradcpp.c:4717
+#: cpperror.c:191 gcc.c:6444
#, c-format
msgid "%s: %s"
msgstr ""
-#: cppexp.c:154
+#: cppexp.c:199
#, fuzzy
-msgid "floating point numbers are not valid in #if"
-msgstr "Floating-point getallen zijn niet toegestaan in #if-expressies"
+msgid "too many decimal points in number"
+msgstr "teveel `l'en in integerconstante"
-#: cppexp.c:176
-msgid "traditional C rejects the `U' suffix"
-msgstr ""
+#: cppexp.c:219
+#, fuzzy, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "twee `u's in integerconstante"
-#: cppexp.c:179
+#: cppexp.c:225
#, fuzzy
-msgid "too many 'l' suffixes in integer constant"
-msgstr "teveel `l'en in integerconstante"
+msgid "use of C99 hexadecimal floating constant"
+msgstr "hexadecimale floating-point constante heeft geen exponent"
-#: cppexp.c:183
-msgid "integer constant contains digits beyond the radix"
-msgstr "integerconstante bevat cijfers buiten de basis"
+#: cppexp.c:234
+#, fuzzy
+msgid "exponent has no digits"
+msgstr "exponent van floating-point constante heeft geen cijfers"
-#: cppexp.c:186
-msgid "integer constant out of range"
-msgstr "integerconstante buiten bereik"
+#: cppexp.c:241
+#, fuzzy
+msgid "hexadecimal floating constants require an exponent"
+msgstr "hexadecimale floating-point constante heeft geen exponent"
-#: cppexp.c:192
-msgid "integer constant is so large that it is unsigned"
-msgstr "integerconstante is zo groot dat hij unsigned is"
+#: cppexp.c:247
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "misvormde floating-point constante"
-#: cppexp.c:201
+#: cppexp.c:257 cppexp.c:282
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr ""
+
+#: cppexp.c:268
#, fuzzy, c-format
-msgid "invalid suffix '%.*s' on integer constant"
+msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "twee `u's in integerconstante"
-#: cppexp.c:234
+#: cppexp.c:289
+#, fuzzy
+msgid "use of C99 long long integer constant"
+msgstr "ANSI C verbiedt long long integerconstantes"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
+msgstr ""
+
+#: cppexp.c:383
+#, fuzzy
+msgid "integer constant is too large for its type"
+msgstr "integerconstante is zo groot dat hij unsigned is"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
+msgstr "integerconstante is zo groot dat hij unsigned is"
+
+#: cppexp.c:482
#, fuzzy
msgid "missing ')' after \"defined\""
msgstr "witruimte ontbreekt na `#define %.*s'"
-#: cppexp.c:240
+#: cppexp.c:489
#, fuzzy
msgid "operator \"defined\" requires an identifier"
msgstr "`defined' zonder een naam"
-#: cppexp.c:248
+#: cppexp.c:497
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: cppexp.c:259
+#: cppexp.c:507
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: cppexp.c:305
+#: cppexp.c:545
#, fuzzy
-msgid "string constants are not valid in #if"
-msgstr "stringconstantes zijn niet toegestaan in #if-expressies"
-
-#: cppexp.c:309
-#, fuzzy, c-format
-msgid "invalid character '%c' in #if"
-msgstr "ongeldig karakter in naam van macro-parameter"
+msgid "floating constant in preprocessor expression"
+msgstr "integer-overflow in preprocessor-expressie"
-#: cppexp.c:311
-#, fuzzy, c-format
-msgid "invalid character '\\%03o' in #if"
-msgstr "ongeldig karakter in naam van macro-parameter"
+#: cppexp.c:551
+#, fuzzy
+msgid "imaginary number in preprocessor expression"
+msgstr "integer-overflow in preprocessor-expressie"
-#: cppexp.c:328
+#: cppexp.c:596
#, fuzzy, c-format
msgid "ISO C++ does not permit \"%s\" in #if"
msgstr "ANSI C staat het gebruik van `varargs.h' niet toe"
-#: cppexp.c:339
+#: cppexp.c:604
#, fuzzy, c-format
msgid "\"%s\" is not defined"
msgstr "`%.*s' is niet gedefinieerd"
-#: cppexp.c:365
+# 'whitespace' -> 'witruimte'?
+#: cppexp.c:737 cppexp.c:772
#, fuzzy, c-format
-msgid "\"%s\" is not valid in #if expressions"
-msgstr "stringconstantes zijn niet toegestaan in #if-expressies"
+msgid "missing binary operator before token \"%s\""
+msgstr "ontbrekende witruimte na getal `%s'"
-#: cppexp.c:380
-msgid "integer overflow in preprocessor expression"
-msgstr "integer-overflow in preprocessor-expressie"
+#: cppexp.c:756
+#, fuzzy, c-format
+msgid "invalid character '%c' in #if"
+msgstr "ongeldig karakter in naam van macro-parameter"
-#: cppexp.c:610
-#, fuzzy
-msgid "missing binary operator"
-msgstr "beginwaarde ontbreekt"
+#: cppexp.c:758
+#, fuzzy, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "ongeldig karakter in naam van macro-parameter"
+
+#: cppexp.c:763
+#, fuzzy, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "stringconstantes zijn niet toegestaan in #if-expressies"
-#: cppexp.c:645
+#: cppexp.c:782
#, fuzzy
msgid "void expression between '(' and ')'"
msgstr "ongeldige expressie als operand"
-#: cppexp.c:647
+#: cppexp.c:785
+#, fuzzy
+msgid "#if with no expression"
+msgstr "modi in %s expressie komen niet overeen"
+
+#: cppexp.c:787
#, fuzzy, c-format
msgid "operator '%s' has no right operand"
msgstr "iterator `%s' is van een niet-integraal type"
-#: cppexp.c:659
-#, fuzzy, c-format
-msgid "impossible operator '%s'"
-msgstr "incompatibele operands voor %s"
-
-#: cppexp.c:735 tradcif.y:111 tradcif.y:122
-msgid "division by zero in #if"
-msgstr "deling door nul in `#if'"
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr ""
-#: cppexp.c:769
+#: cppexp.c:840
#, fuzzy
-msgid "comma operator in operand of #if"
-msgstr "comma-operator in operand van `#if'"
-
-#: cppexp.c:774
-msgid "syntax error '?' without following ':'"
-msgstr ""
+msgid "unbalanced stack in #if"
+msgstr "niet-gebalanceerde `#endif'"
-#: cppexp.c:777
-msgid "syntax error ':' without preceding '?'"
-msgstr ""
+#: cppexp.c:862
+#, fuzzy, c-format
+msgid "impossible operator '%u'"
+msgstr "incompatibele operands voor %s"
-#: cppexp.c:785
+#: cppexp.c:954
#, fuzzy
msgid "missing ')' in expression"
msgstr "ontbrekende index-expressie"
-#: cppexp.c:792
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr ""
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr "integer-overflow in preprocessor-expressie"
+
+#: cppexp.c:990
#, fuzzy
msgid "missing '(' in expression"
msgstr "ontbrekende index-expressie"
-# 'whitespace' -> 'witruimte'?
-#: cppexp.c:818
-#, fuzzy, c-format
-msgid "missing binary operator before '%s'"
-msgstr "ontbrekende witruimte na getal `%s'"
+#: cppexp.c:1026
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr ""
-#: cppexp.c:824
-#, fuzzy, c-format
-msgid "operator '%s' has no left operand"
-msgstr "parameter `%s' heeft een onvolledig type"
+#: cppexp.c:1031
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr ""
-#: cppexp.c:862
+#: cppexp.c:1414
#, fuzzy
-msgid "unbalanced stack in #if"
-msgstr "niet-gebalanceerde `#endif'"
+msgid "comma operator in operand of #if"
+msgstr "comma-operator in operand van `#if'"
-#: cppexp.c:865
-#, fuzzy
-msgid "#if with no expression"
-msgstr "modi in %s expressie komen niet overeen"
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr "deling door nul in `#if'"
-#: cppfiles.c:395
+#: cppfiles.c:411
#, fuzzy, c-format
msgid "%s is too large"
msgstr "bestand `%s' is te groot"
-#: 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
#, fuzzy, c-format
msgid "no include path in which to find %s"
msgstr "Geen include-pad waarin %s kan gevonden worden"
-#: cppfiles.c:639
+#: cppfiles.c:668
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: cppfiles.c:1029
+#: cppfiles.c:1014
msgid "absolute file name in remap_filename"
msgstr ""
-#: cppinit.c:230
+#: cppinit.c:224
#, fuzzy, c-format
msgid "ignoring nonexistent directory \"%s\"\n"
msgstr "dubbele folder `%s' wordt genegeerd\n"
-#: cppinit.c:237
+#: cppinit.c:231
#, fuzzy, c-format
msgid "%s: Not a directory"
msgstr "%s: %s: Is geen folder"
-#: cppinit.c:284
+#: cppinit.c:287
#, fuzzy, c-format
msgid "ignoring duplicate directory \"%s\"\n"
msgstr "dubbele folder `%s' wordt genegeerd\n"
-#: 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:316
+#: cppinit.c:891
+#, fuzzy
+msgid "cppchar_t must be an unsigned type"
+msgstr "`defined' zonder een naam"
+
+#: 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:901
+msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: cppinit.c:320
-msgid " as it has already been specified as a non-system directory"
+#: cppinit.c:904
+msgid "target char is less than 8 bits wide"
msgstr ""
-#: cppinit.c:927
+#: 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 "Zoektocht voor #include \"...\" begint hier:\n"
-#: cppinit.c:931
+#: cppinit.c:976
msgid "#include <...> search starts here:\n"
msgstr "Zoektocht voor #include <...> begint hier:\n"
-#: cppinit.c:934
+#: cppinit.c:979
msgid "End of search list.\n"
msgstr "Einde van opzoekingslijst.\n"
-#: cppinit.c:1001
+#: cppinit.c:1055
msgid "<built-in>"
msgstr ""
-#: cppinit.c:1003
+#: cppinit.c:1057
msgid "<command line>"
msgstr ""
-#: cppinit.c:1099 tradcpp.c:968 tradcpp.c:978 tradcpp.c:1069
-msgid "I/O error on output"
-msgstr "I/O-fout op uitvoer"
-
+# Assertie? Dat moet beter kunnen!
#. 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:1147
-#, fuzzy, c-format
-msgid "argument missing after %s"
-msgstr "Bestandsnaam ontbreekt na %s optie"
-
-# Assertie? Dat moet beter kunnen!
-#: cppinit.c:1148
+#: cppinit.c:1162
#, fuzzy, c-format
msgid "assertion missing after %s"
msgstr "Assertie ontbreekt na -A optie"
-#: cppinit.c:1149
+#: cppinit.c:1163
#, fuzzy, c-format
msgid "directory name missing after %s"
msgstr "Foldernaam ontbreekt na `%s' optie"
-#: cppinit.c:1150
+#: cppinit.c:1164
#, fuzzy, c-format
msgid "file name missing after %s"
msgstr "Bestandsnaam ontbreekt na %s optie"
-#: cppinit.c:1151
+#: cppinit.c:1165
#, fuzzy, c-format
msgid "macro name missing after %s"
msgstr "Macro-naam ontbreekt na -U optie"
-#: cppinit.c:1152
+#: cppinit.c:1166
#, fuzzy, c-format
msgid "path name missing after %s"
msgstr "Bestandsnaam ontbreekt na %s optie"
-#: cppinit.c:1153
-#, fuzzy, c-format
-msgid "number missing after %s"
-msgstr "Bestandsnaam ontbreekt na %s optie"
-
-#: cppinit.c:1154
-#, fuzzy, c-format
-msgid "target missing after %s"
-msgstr "Bestandsnaam ontbreekt na %s optie"
-
-#: cppinit.c:1338
-#, c-format
-msgid "too many filenames. Type %s --help for usage info"
-msgstr ""
-
-#: cppinit.c:1522 tradcpp.c:603
-#, fuzzy
-msgid "output filename specified twice"
-msgstr "Bestandsnaam voor uitvoer twee keer opgegeven"
-
-#: cppinit.c:1634
+#: cppinit.c:1368
msgid "-I- specified twice"
msgstr "-I- twee keer opgegeven"
-#: cppinit.c:1773
-#, fuzzy, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP versie %s"
-
-#: cppinit.c:1814 tradcpp.c:792
-#, fuzzy
-msgid "you must additionally specify either -M or -MM"
-msgstr "-MG moet samen met ofwel -M, ofwel -MM gebruikt worden"
-
-#: cppinit.c:1877
-#, c-format
-msgid "Usage: %s [switches] input output\n"
-msgstr ""
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1880
-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:1889
-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:1898
-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:1905
-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:1911
-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:1921
-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:1929
-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:1937
-msgid ""
-" -M Generate make dependencies\n"
-" -MM As -M, 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:1943
-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:1948
-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:1956
-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:1964
-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:154
+#: cpplex.c:149
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: cpplex.c:162
+#: cpplex.c:157
#, c-format
msgid "trigraph ??%c ignored"
msgstr ""
-#: cpplex.c:218
+#: cpplex.c:214
msgid "backslash and newline separated by space"
msgstr ""
-#: cpplex.c:224
+#: cpplex.c:221 cpptrad.c:158
msgid "backslash-newline at end of file"
msgstr ""
-#: cpplex.c:290
+#: cpplex.c:287 cpptrad.c:199
#, fuzzy
msgid "\"/*\" within comment"
msgstr "`/*' binnen commentaar"
-#: cpplex.c:373
+#: cpplex.c:395
#, fuzzy
msgid "null character(s) ignored"
msgstr "%s bij nulkarakter"
-#: cpplex.c:380
+#: cpplex.c:402
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: cpplex.c:447
+#: cpplex.c:475
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: cpplex.c:455
+#: cpplex.c:483
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
# Wat is een correcte vertaling voor 'identifier'? Ik kies voor 'naam'.
-#: cpplex.c:508
+#: cpplex.c:555
#, fuzzy
-msgid "'$' character(s) in identifier"
+msgid "'$' character(s) in identifier or number"
msgstr "`$' in naam"
-#: cpplex.c:589
+#: cpplex.c:698
#, fuzzy, c-format
msgid "missing terminating %c character"
msgstr "niet-beëindigde string- of karakterconstante"
-#: cpplex.c:594
-#, fuzzy
-msgid "possible start of unterminated string literal"
-msgstr "mogelijk echte begin van niet-beëindigde constante"
-
-#: cpplex.c:689
-msgid "multi-line string literals are deprecated"
-msgstr ""
-
-#: cpplex.c:712
+#: cpplex.c:711
msgid "null character(s) preserved in literal"
msgstr ""
-#: cpplex.c:914
+#: cpplex.c:915 cpptrad.c:487
#, fuzzy
msgid "no newline at end of file"
msgstr "niet-herkende tekst op einde van #line"
-#: cpplex.c:1034 tradcpp.c:1456
+#: cpplex.c:1092 cpptrad.c:213
msgid "unterminated comment"
msgstr "niet-beëindigde commentaar"
-#: cpplex.c:1045
-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:1047
+#: cpplex.c:1105
msgid "(this will be reported only once per input file)"
msgstr ""
-#: cpplex.c:1052
+#: cpplex.c:1110
#, fuzzy
msgid "multi-line comment"
msgstr "'//'-commentaar op meerdere lijnen"
-#: cpplex.c:1367
+#: cpplex.c:1425
#, fuzzy, c-format
msgid "unknown string token %s\n"
msgstr "onbekende machine-modus `%s'"
-#: cpplex.c:1379
+#: cpplex.c:1438
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "kan bestand '%s' niet openen"
-#: cpplex.c:1635
+#: cpplex.c:1695
#, fuzzy, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
+msgid "the meaning of '\\%c' is different in traditional C"
msgstr "de betekenis van `\\a' varieert naargelang -traditional al dan niet gebruikt wordt"
-#: cpplex.c:1641
+#: cpplex.c:1701
msgid "incomplete universal-character-name"
msgstr ""
-#: cpplex.c:1655
+#: cpplex.c:1715
#, c-format
msgid "non-hex digit '%c' in universal-character-name"
msgstr ""
-#: cpplex.c:1663
+#: cpplex.c:1723
msgid "universal-character-name on EBCDIC target"
msgstr ""
-#: cpplex.c:1677
+#: cpplex.c:1737
#, fuzzy
msgid "universal-character-name out of range"
msgstr "case-waarde buiten bereik"
-#: cpplex.c:1722
+#: cpplex.c:1791
#, fuzzy
-msgid "the meaning of '\\a' varies with -traditional"
+msgid "the meaning of '\\a' is different in traditional C"
msgstr "de betekenis van `\\a' varieert naargelang -traditional al dan niet gebruikt wordt"
-#: cpplex.c:1729
+#: cpplex.c:1798
#, fuzzy, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "niet-ANSI-standaard escape sequence `\\%c'"
-#: cpplex.c:1739
+#: cpplex.c:1809
#, fuzzy
-msgid "the meaning of '\\x' varies with -traditional"
+msgid "the meaning of '\\x' is different in traditional C"
msgstr "de betekenis van `\\x' varieert naargelang -traditional al dan niet gebruikt wordt"
-#: cpplex.c:1758 f/lex.c:610
+#: cpplex.c:1828 f/lex.c:585
msgid "\\x used with no following hex digits"
msgstr "\\x gebruikt zonder daaropvolgende hexadecimale cijfers"
-#: cpplex.c:1762
+#: cpplex.c:1833
msgid "hex escape sequence out of range"
msgstr "hexadecimale escape sequence buiten bereik"
-#: cpplex.c:1786
+#: cpplex.c:1858
msgid "octal escape sequence out of range"
msgstr "octale escape sequence buiten bereik"
-#: cpplex.c:1801
+#: cpplex.c:1874
#, fuzzy, c-format
msgid "unknown escape sequence '\\%c'"
msgstr "onbekende escape sequence `\\%c'"
-#: cpplex.c:1803
+#: cpplex.c:1877
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%03o'"
msgstr "onbekende escape sequence `\\%c'"
# "escape-sequentie"?! Maar wat is er beter?
-#: cpplex.c:1807
-msgid "escape sequence out of range for character"
+#: cpplex.c:1882
+#, fuzzy
+msgid "escape sequence out of range for its type"
msgstr "escape-sequentie buiten bereik voor karakter"
-#: cpplex.c:1897
+#: cpplex.c:1973
msgid "empty character constant"
msgstr "lege karakterconstante"
-#: cpplex.c:1901
-msgid "character constant too long"
+#: cpplex.c:1983
+#, fuzzy
+msgid "character constant too long for its type"
msgstr "karakterconstante te lang"
-#: cpplex.c:1904
+#: cpplex.c:1986
msgid "multi-character character constant"
msgstr "karakterconstante met meer dan één karakter"
# OK, OK... Dit hoort thuis in lang nl@be, niet nl
-#: cpplib.c:221
+#: cpplib.c:225
#, fuzzy, c-format
msgid "extra tokens at end of #%s directive"
msgstr "brol aan einde van `#line'-commando"
-#: cpplib.c:275
-msgid "style of line directive is a GCC extension"
-msgstr ""
-
-#: cpplib.c:283
+#: cpplib.c:315
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: cpplib.c:294
+#: cpplib.c:327
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: cpplib.c:297
+#: cpplib.c:330
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: cpplib.c:301
+#: cpplib.c:334
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: cpplib.c:383
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr ""
+
+#: cpplib.c:378
+msgid "style of line directive is a GCC extension"
+msgstr ""
+
+#: cpplib.c:427
#, fuzzy, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ongeldig preprocessing-commando"
-#: cpplib.c:438
-#, 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:442
+#: cpplib.c:505
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: cpplib.c:445
-msgid "macro names must be identifiers"
+#: cpplib.c:508
+#, c-format
+msgid "no macro name given in #%s directive"
msgstr ""
-#: cpplib.c:456
-#, fuzzy, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr "`%s' kan niet statisch gealloceerd worden"
+#: cpplib.c:511
+msgid "macro names must be identifiers"
+msgstr ""
# is ongedefinieerd beter? ik denk van nie
-#: cpplib.c:494
+#: cpplib.c:551
#, fuzzy, c-format
msgid "undefining \"%s\""
msgstr "`%s' wordt geondefinieerd"
-#: cpplib.c:540
+#: cpplib.c:597
#, fuzzy
msgid "missing terminating > character"
msgstr "niet-beëindigde string- of karakterconstante"
-#: cpplib.c:575
+#: cpplib.c:636
#, fuzzy, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "`#%s' verwacht \"BESTAND\" of <BESTAND>"
-#: cpplib.c:586
+#: cpplib.c:647
#, fuzzy, c-format
msgid "empty file name in #%s"
msgstr "lege bestandsnaam in `#%s'"
-#: cpplib.c:605
+#: cpplib.c:666
msgid "#include_next in primary source file"
msgstr ""
-#: cpplib.c:612
+#: cpplib.c:673
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
msgstr ""
-#: cpplib.c:620
+#: cpplib.c:681
msgid "#include nested too deeply"
msgstr ""
-#: cpplib.c:677
+#: cpplib.c:738
#, fuzzy, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "`#line'-commando in slecht formaat"
-#: cpplib.c:732
+#: cpplib.c:813
#, fuzzy, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "switch-waarde is geen integer"
-#: cpplib.c:739
+#: cpplib.c:819
#, fuzzy
msgid "line number out of range"
msgstr "case-waarde buiten bereik"
-#: cpplib.c:777
+#: cpplib.c:830 cpplib.c:901
#, fuzzy, c-format
msgid "\"%s\" is not a valid filename"
msgstr "-fPIC is niet geldig met -mcoff"
-#: cpplib.c:846
+#: cpplib.c:865
+#, fuzzy, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr "switch-waarde is geen integer"
+
+#: cpplib.c:972
#, fuzzy
msgid "invalid #ident directive"
msgstr "`#line'-commando in slecht formaat"
-#: cpplib.c:934
+#: cpplib.c:1060
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: cpplib.c:937
+#: cpplib.c:1063
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: cpplib.c:939
+#: cpplib.c:1066
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: cpplib.c:1014
+#: cpplib.c:1140
#, fuzzy
msgid "#pragma once is obsolete"
msgstr "`#pragma once' is verouderd"
-#: cpplib.c:1017
+#: cpplib.c:1143
#, fuzzy
msgid "#pragma once in main file"
msgstr "`#pragma once' is verouderd"
-#: cpplib.c:1041
+#: cpplib.c:1167
#, fuzzy
msgid "invalid #pragma GCC poison directive"
msgstr "ongeldig preprocessing-commando"
-#: cpplib.c:1050
+#: cpplib.c:1176
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: cpplib.c:1070
+#: cpplib.c:1198
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: cpplib.c:1095
+#: cpplib.c:1223
#, fuzzy, c-format
msgid "cannot find source %s"
msgstr "[kan %s niet vinden]"
-#: cpplib.c:1099
+#: cpplib.c:1227
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: cpplib.c:1174
+#: cpplib.c:1343
#, fuzzy
msgid "_Pragma takes a parenthesized string literal"
msgstr "Onbeëindigde stringconstante"
-#: cpplib.c:1273
+#: cpplib.c:1426
msgid "#else without #if"
msgstr ""
-#: cpplib.c:1278 tradcpp.c:3860
+#: cpplib.c:1431
#, fuzzy
msgid "#else after #else"
msgstr "`#else' na `#else'"
-#: cpplib.c:1280 cpplib.c:1314
+#: cpplib.c:1433 cpplib.c:1467
msgid "the conditional began here"
msgstr ""
-#: cpplib.c:1307
+#: cpplib.c:1460
msgid "#elif without #if"
msgstr ""
-#: cpplib.c:1312 tradcpp.c:3555
+#: cpplib.c:1465
#, fuzzy
msgid "#elif after #else"
msgstr "`#elif' na `#else'"
-#: cpplib.c:1343
+#: cpplib.c:1496
msgid "#endif without #if"
msgstr ""
-#: cpplib.c:1426 tradcpp.c:3252
+#: cpplib.c:1579
msgid "missing '(' after predicate"
msgstr ""
-#: cpplib.c:1441 tradcpp.c:3266
+#: cpplib.c:1594
msgid "missing ')' to complete answer"
msgstr ""
-#: cpplib.c:1461 tradcpp.c:3272
+#: cpplib.c:1614
msgid "predicate's answer is empty"
msgstr ""
-#: cpplib.c:1491 tradcpp.c:3320
+#: cpplib.c:1644
msgid "assertion without predicate"
msgstr ""
-#: cpplib.c:1493 tradcpp.c:3322
+#: cpplib.c:1646
#, fuzzy
msgid "predicate must be an identifier"
msgstr "`defined' zonder een naam"
-#: cpplib.c:1575 tradcpp.c:3419
+#: cpplib.c:1735
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: cpplib.c:1805
+#: cpplib.c:1965
#, fuzzy, c-format
msgid "unterminated #%s"
msgstr "niet-beëindigde commentaar"
-#: cppmacro.c:148
+#: cppmacro.c:94
+#, fuzzy, c-format
+msgid "macro \"%s\" is not used"
+msgstr "`%.*s' is niet gedefinieerd"
+
+#: cppmacro.c:139 cppmacro.c:294
#, fuzzy, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ongeldige macronaam"
-#: cppmacro.c:348
+#: cppmacro.c:234
+msgid "could not determine date and time"
+msgstr ""
+
+#: cppmacro.c:407
msgid "invalid string literal, ignoring final '\\'"
msgstr ""
-#: cppmacro.c:440
+#: cppmacro.c:504
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: cppmacro.c:566
-msgid "directives may not be used inside a macro argument"
-msgstr ""
-
-#: cppmacro.c:578
-#, fuzzy, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr "niet-beëindigde parameterlijst in `#define'"
-
-#: cppmacro.c:595
+#: cppmacro.c:546
#, fuzzy
msgid "ISO C99 requires rest arguments to be used"
msgstr "ANSI C heeft een benoemd argument nodig vóór `...'"
-#: cppmacro.c:600
+#: cppmacro.c:551
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: cppmacro.c:611
+#: cppmacro.c:556
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: cppmacro.c:694
+#: cppmacro.c:669 cpptrad.c:774
+#, fuzzy, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "niet-beëindigde parameterlijst in `#define'"
+
+#: cppmacro.c:776
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: cppmacro.c:1190
+#: cppmacro.c:1312
#, fuzzy, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "herhaald lid `%s'"
-#: cppmacro.c:1218
+#: cppmacro.c:1349
#, fuzzy, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "ongeldig karakter in naam van macro-parameter"
-#: cppmacro.c:1225
+#: cppmacro.c:1357
#, fuzzy
msgid "macro parameters must be comma-separated"
msgstr "parameter 2 moet een locatie zijn"
-#: cppmacro.c:1242
+#: cppmacro.c:1374
#, fuzzy
msgid "parameter name missing"
msgstr "parameternaam weggelaten"
-#: cppmacro.c:1256
+#: cppmacro.c:1389
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: cppmacro.c:1259
+#: cppmacro.c:1393
#, fuzzy
msgid "ISO C does not permit named variadic macros"
msgstr "ANSI C staat het gebruik van `varargs.h' niet toe"
-#: cppmacro.c:1268
+#: cppmacro.c:1402
#, fuzzy
msgid "missing ')' in macro parameter list"
msgstr "parameternaam ontbreekt uit parameterlijst"
-#: cppmacro.c:1346
+#: cppmacro.c:1470
msgid "ISO C requires whitespace after the macro name"
msgstr ""
-#: cppmacro.c:1376
+#: cppmacro.c:1498
#, fuzzy
msgid "'#' is not followed by a macro parameter"
msgstr "`#' operator wordt niet gevolgd door een naam van een macro-argument"
-#: cppmacro.c:1396
+#: cppmacro.c:1517
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: cppmacro.c:1432
+#: cppmacro.c:1599
#, fuzzy, c-format
msgid "\"%s\" redefined"
msgstr "`%.*s' opnieuw gedefinieerd"
-#: cppmacro.c:1436
+#: cppmacro.c:1604
#, fuzzy
msgid "this is the location of the previous definition"
msgstr "dit is een eerdere declaratie"
-#: cppmacro.c:1500
+#: cppmacro.c:1655
#, fuzzy, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional"
+msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "macro-argument `%.*s' zou met -traditional string gemaakt worden."
-#: cppmacro.c:1524
+#: cppmacro.c:1680
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr ""
-#: cppmain.c:121
-#, fuzzy, c-format
-msgid "invalid option %s"
-msgstr "Ongeldige optie `%s'"
-
#: cppspec.c:131
#, c-format
msgid "\"%s\" is not a valid option to the preprocessor"
@@ -4886,75 +5061,64 @@ msgstr ""
msgid "too many input files"
msgstr "Geen invoerbestanden"
-#: cse.c:7092
+#: cpptrad.c:841
+#, fuzzy, c-format
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "niet-beëindigde parameterlijst in `#define'"
+
+#: cse.c:7187
#, c-format
msgid ";; Processing block from %d to %d, %d sets.\n"
msgstr ""
-# Dit zou misschien beter 'warning' blijven
-#: diagnostic.c:784
-#, fuzzy, c-format
-msgid "%s:%d: warning: "
-msgstr "let op: "
-
-# Dit zou misschien beter 'warning' blijven
-#: diagnostic.c:791
-#, fuzzy, c-format
-msgid "%s: warning: "
-msgstr "let op: "
-
-#: diagnostic.c:871
+#: diagnostic.c:700
msgid "((anonymous))"
msgstr ""
-#: diagnostic.c:941
+#: diagnostic.c:914
#, c-format
msgid "%s: warnings being treated as errors\n"
msgstr ""
-#: diagnostic.c:978
+#: diagnostic.c:949
#, c-format
msgid "%s: %s: "
msgstr ""
-#: diagnostic.c:1057
-msgid "sorry, not implemented: "
-msgstr ""
-
-#: diagnostic.c:1076
+#: diagnostic.c:1040
#, c-format
msgid "%s "
msgstr ""
-#: diagnostic.c:1078
+#: diagnostic.c:1042
#, fuzzy, c-format
msgid " %s"
msgstr "%s voor `%s'"
-#: diagnostic.c:1102
+#: diagnostic.c:1064
msgid "At top level:"
msgstr ""
-#: diagnostic.c:1107
+#: diagnostic.c:1069
#, fuzzy, c-format
msgid "In member function `%s':"
msgstr "bibliotheekfunctie `%s' wordt verborgen"
-#: diagnostic.c:1111
+#: diagnostic.c:1073
#, fuzzy, c-format
msgid "In function `%s':"
msgstr "Ongeldige optie `%s'"
-#: diagnostic.c:1195
+#: diagnostic.c:1161
msgid "compilation terminated.\n"
msgstr ""
-#: diagnostic.c:1226
+#: diagnostic.c:1179
#, c-format
msgid "%s:%d: confused by earlier errors, bailing out\n"
msgstr ""
-#: diagnostic.c:1240 diagnostic.c:1390
+#: diagnostic.c:1194 diagnostic.c:1302
#, c-format
msgid ""
"Please submit a full bug report,\n"
@@ -4962,74 +5126,83 @@ msgid ""
"See %s for instructions.\n"
msgstr ""
-#: diagnostic.c:1388
+#: diagnostic.c:1300
#, fuzzy
msgid "Internal compiler error: Error reporting routines re-entered.\n"
msgstr "Interne compilerfout: programma %s kreeg fataal signaal %d"
-#: diagnostic.c:1450
+#: diagnostic.c:1362
#, fuzzy, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "Interne compilerfout %d."
+msgid "in %s, at %s:%d"
+msgstr "%s voor `%s'"
-#: diagnostic.c:1495
+#: diagnostic.c:1383
#, c-format
msgid "In file included from %s:%d"
msgstr ""
-#: diagnostic.c:1498
+#: diagnostic.c:1386
#, c-format
msgid ""
",\n"
" from %s:%d"
msgstr ""
-#: diagnostic.c:1499
+#: diagnostic.c:1387
msgid ":\n"
msgstr ""
-#: diagnostic.c:1532 diagnostic.c:1549
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
msgid "`%s' is deprecated (declared at %s:%d)"
msgstr ""
-#: diagnostic.c:1552
+#: diagnostic.c:1451
#, fuzzy, c-format
msgid "`%s' is deprecated"
msgstr "`%.*s' is niet gedefinieerd"
-#: diagnostic.c:1555
+#: diagnostic.c:1454
#, c-format
msgid "type is deprecated (declared at %s:%d)"
msgstr ""
-#: diagnostic.c:1558
+#: diagnostic.c:1457
msgid "type is deprecated"
msgstr ""
-#: dwarf2out.c:3034
+#: 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:2089
+#: dwarfout.c:2066
#, c-format
-msgid "internal regno botch: regno = %d\n"
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr ""
+
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
msgstr ""
-#: dwarfout.c:6291
+#: dwarfout.c:6278
msgid "can't get current directory"
msgstr ""
-#: emit-rtl.c:1091
+#: emit-rtl.c:1151
msgid "can't access real part of complex value in hard register"
msgstr ""
-#: emit-rtl.c:1113
+#: emit-rtl.c:1173
msgid "can't access imaginary part of complex value in hard register"
msgstr ""
-#: emit-rtl.c:3140
+#: emit-rtl.c:3418
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr ""
@@ -5038,245 +5211,258 @@ msgstr ""
msgid "abort in %s, at %s:%d"
msgstr ""
-#: except.c:360
+#: except.c:371
msgid "exception handling disabled, use -fexceptions to enable"
msgstr ""
-#: except.c:3062
+#: except.c:2969
msgid "argument of `__builtin_eh_return_regno' must be constant"
msgstr ""
-#: except.c:3173 except.c:3195
+#: except.c:3090 except.c:3112
#, fuzzy
msgid "__builtin_eh_return not supported on this target"
msgstr "instructie-scheduling wordt niet ondersteund op deze doelmachine"
-#: explow.c:1357
+#: explow.c:1398
#, fuzzy
msgid "stack limits not supported on this target"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: expr.c:2926
+#: expr.c:3323
#, fuzzy
msgid "function using short complex types cannot be inline"
msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
-#: expr.c:5766 expr.c:5775 expr.c:5784 expr.c:5789 expr.c:6075 expr.c:6091
+#: 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:6140
+#: expr.c:6587
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr ""
-#: expr.c:6474
+#: expr.c:6932
msgid "returned value in block_exit_expr"
msgstr ""
-#: final.c:1209
+#: final.c:1342
#, fuzzy
msgid "negative insn length"
msgstr "Onbeëindigde stringconstante"
-#: final.c:2627
+#: final.c:2793
msgid "could not split insn"
msgstr ""
-#: final.c:2971
-#, c-format
-msgid "invalid `asm': %s"
-msgstr ""
-
-#: final.c:2973
-#, c-format
-msgid "output_operand: %s"
-msgstr ""
+# (%s = 'parameter <NUM>')
+#: final.c:3141
+#, fuzzy
+msgid "invalid `asm': "
+msgstr "ongeldige %s"
-#: final.c:3146
+#: final.c:3328
msgid "nested assembly dialect alternatives"
msgstr ""
-#: final.c:3163 final.c:3175
+#: final.c:3345 final.c:3357
#, fuzzy
msgid "unterminated assembly dialect alternative"
msgstr "Onbeëindigde stringconstante"
-#: final.c:3219
-#, c-format
-msgid "operand number missing after %-letter"
-msgstr ""
+#: final.c:3401
+#, fuzzy, c-format
+msgid "operand number missing after %%-letter"
+msgstr "Bestandsnaam ontbreekt na %s optie"
-#: final.c:3222 final.c:3261
+#: final.c:3404 final.c:3443
msgid "operand number out of range"
msgstr ""
-#: final.c:3280
+#: final.c:3462
#, c-format
msgid "invalid %%-code"
msgstr ""
-#: final.c:3311
-msgid "`%l' operand isn't a label"
-msgstr ""
+#: final.c:3493
+#, fuzzy, c-format
+msgid "`%%l' operand isn't a label"
+msgstr "operand `%d' is geen register"
#. We can't handle floating point constants;
#. PRINT_OPERAND must handle them.
-#: config/i386/i386.c:5280 config/pdp11/pdp11.c:1570 final.c:3418
-#: vmsdbgout.c:478
+#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6104
+#: config/pdp11/pdp11.c:1573
msgid "floating constant misused"
msgstr "floating-point constante verkeerd gebruikt"
-#: config/i386/i386.c:5334 config/pdp11/pdp11.c:1617 final.c:3473
-#: vmsdbgout.c:535
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6182
+#: config/pdp11/pdp11.c:1620
msgid "invalid expression as operand"
msgstr "ongeldige expressie als operand"
-#: flow.c:360
+#: flow.c:352
msgid "function might be possible candidate for attribute `noreturn'"
msgstr "deze functie is een mogelijke kandidaat voor het `noreturn' attribuut"
-#: flow.c:365
+#: flow.c:357
msgid "`noreturn' function does return"
msgstr "`noreturn' functie keert terug"
-#: flow.c:384
+#: flow.c:378
msgid "control reaches end of non-void function"
msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
-#: flow.c:1569
+#: flow.c:1641
msgid "Attempt to delete prologue/epilogue insn:"
msgstr ""
-#: fold-const.c:3114 fold-const.c:3127
+#: fold-const.c:2545 fold-const.c:2558
#, fuzzy, c-format
msgid "comparison is always %d due to width of bit-field"
msgstr "vergelijking is altijd waar omwille van het beperkte bereik van het datatype"
-#: fold-const.c:4169 fold-const.c:4186
+#: fold-const.c:3752 fold-const.c:3769
#, c-format
msgid "comparison is always %d"
msgstr ""
-#: fold-const.c:4317
+#: fold-const.c:3900
msgid "`or' of unmatched not-equal tests is always 1"
msgstr ""
-#: fold-const.c:4322
+#: fold-const.c:3905
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr ""
-#: function.c:5378
+#: function.c:881 varasm.c:1503
+#, c-format
+msgid "size of variable `%s' is too large"
+msgstr "variabele `%s' is te groot"
+
+#: function.c:5470
#, c-format
msgid "`%s' might be used uninitialized in this function"
msgstr ""
-#: function.c:5385
+#: function.c:5477
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: function.c:5404
+#: function.c:5496
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: function.c:6270
+#: function.c:6363
msgid "function returns an aggregate"
msgstr ""
-#: function.c:6789
+#: function.c:6868
#, c-format
msgid "unused parameter `%s'"
msgstr ""
-#: gcc.c:1100
+#: gcc.c:1126
#, c-format
msgid "ambiguous abbreviation %s"
msgstr ""
-#: gcc.c:1127
+#: gcc.c:1153
#, fuzzy, c-format
msgid "incomplete `%s' option"
msgstr "Bestandsnaam ontbreekt na `%s' optie"
-#: gcc.c:1138
+#: gcc.c:1164
#, fuzzy, c-format
msgid "missing argument to `%s' option"
msgstr "Bestandsnaam ontbreekt na `%s' optie"
-#: gcc.c:1151
+#: gcc.c:1177
#, fuzzy, c-format
msgid "extraneous argument to `%s' option"
msgstr "teveel argumenten voor functie"
-#: gcc.c:1465
+#: gcc.c:1505
msgid "Using built-in specs.\n"
msgstr ""
-#: gcc.c:1639
+#: gcc.c:1683
#, c-format
-msgid "Setting spec %s to '%s'\n\n"
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
msgstr ""
-#: gcc.c:1737
+#: gcc.c:1790
#, c-format
msgid "Reading specs from %s\n"
msgstr ""
-#: gcc.c:1835 gcc.c:1854
+#: gcc.c:1888 gcc.c:1907
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr ""
-#: gcc.c:1862
+#: gcc.c:1915
#, c-format
msgid "could not find specs file %s\n"
msgstr ""
-#: gcc.c:1878 gcc.c:1886 gcc.c:1895 gcc.c:1904
+#: 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:1913
+#: gcc.c:1967
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr ""
-#: gcc.c:1920
+#: gcc.c:1974
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr ""
+
+#: 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"
+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
-msgid "\nGo ahead? (y or n) "
+#: 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"
@@ -5284,147 +5470,151 @@ 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"
" Permissable languages include: c c++ assembler none\n"
@@ -5432,7 +5622,7 @@ msgid ""
" guessing the language based on the file's extension\n"
msgstr ""
-#: gcc.c:3073
+#: gcc.c:2944
#, c-format
msgid ""
"\n"
@@ -5441,87 +5631,90 @@ msgid ""
" other options on to these processes the -W<letter> options must be used.\n"
msgstr ""
+#: gcc.c:3079
+#, fuzzy, c-format
+msgid "`-%c' option must have argument"
+msgstr "`%s' neemt ofwel geen, ofwel twee argumenten"
+
+#: 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
#, fuzzy
msgid "argument to `-l' is missing"
msgstr "het argument van `asm' is geen constante string"
-#: 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:3757
+#: gcc.c:3634
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr ""
-#: gcc.c:3928
+#: gcc.c:3807
msgid "warning: -pipe ignored because -save-temps specified"
msgstr ""
-#: gcc.c:3932
+#: gcc.c:3811
msgid "warning: -pipe ignored because -time specified"
msgstr ""
-#: gcc.c:3944
+#: gcc.c:3823
msgid "argument to `-x' is missing"
msgstr ""
-#: gcc.c:3972
+#: gcc.c:3851
#, c-format
msgid "argument to `-%s' is missing"
msgstr ""
-#: gcc.c:4033
+#: gcc.c:3912
#, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr ""
-#: gcc.c:4332
+#: gcc.c:4257
msgid "invalid specification! Bug in cc"
msgstr ""
-#: gcc.c:4481
+#: gcc.c:4411
#, c-format
msgid "%s\n"
msgstr ""
@@ -5529,148 +5722,183 @@ 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:5040
+#: gcc.c:4971
#, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
msgstr ""
-#: gcc.c:5049
+#: gcc.c:4980
#, fuzzy, c-format
msgid "warning: use of obsolete %%[ operator in specs"
msgstr "Let Op: verouderde operator %%[ gebruikt in specs"
-#: gcc.c:5067
+#: gcc.c:4998
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr ""
-#: gcc.c:5192
+#: gcc.c:5123
#, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr ""
-#: gcc.c:5302
+#: gcc.c:5204
+#, fuzzy, c-format
+msgid "unknown spec function `%s'"
+msgstr "Ongeldige optie `%s'"
+
+#: gcc.c:5223
+#, fuzzy, c-format
+msgid "error in args to spec function `%s'"
+msgstr "teveel argumenten voor functie `%s'"
+
+#: gcc.c:5272
+#, fuzzy
+msgid "malformed spec function name"
+msgstr "cast geeft functie-type op"
+
+#. )
+#: gcc.c:5275
+#, fuzzy
+msgid "no arguments for spec function"
+msgstr "te weinig argument voor functie"
+
+#: gcc.c:5294
+msgid "malformed spec function arguments"
+msgstr ""
+
+#: gcc.c:5402
msgid "mismatched braces in specs"
msgstr ""
-#: gcc.c:5980
+#: gcc.c:6097
#, c-format
msgid "unrecognized option `-%s'"
msgstr ""
-#: gcc.c:5986
+#: gcc.c:6103
#, c-format
msgid "install: %s%s\n"
msgstr ""
-#: gcc.c:5987
+#: gcc.c:6104
#, c-format
msgid "programs: %s\n"
msgstr ""
-#: gcc.c:5988
+#: gcc.c:6105
#, c-format
msgid "libraries: %s\n"
msgstr ""
-#: gcc.c:6036
-msgid "\nFor bug reporting instructions, please see:\n"
+#: gcc.c:6162
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
msgstr ""
-#: gcc.c:6052
+#: gcc.c:6178
#, c-format
msgid "Configured with: %s\n"
msgstr ""
-#: gcc.c:6066
+#: gcc.c:6192
#, c-format
msgid "Thread model: %s\n"
msgstr ""
-#: gcc.c:6077
+#: gcc.c:6203
#, c-format
msgid "gcc version %s\n"
msgstr "gcc versie %s\n"
-#: gcc.c:6079
+#: gcc.c:6205
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
msgstr "gcc stuurprogramma versie %s voert gcc versie %s uit\n"
-#: gcc.c:6087
+#: gcc.c:6213
#, fuzzy
msgid "no input files"
msgstr "Geen invoerbestanden"
-#: gcc.c:6125
+#: gcc.c:6251
#, c-format
msgid "%s: %s compiler not installed on this system"
msgstr "%s: %s compiler niet geïnstalleerd op dit systeem"
-#: gcc.c:6200
+#: gcc.c:6326
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr ""
-#: gcc.c:6243
+#: gcc.c:6369
#, c-format
msgid "language %s not recognized"
msgstr "taal %s niet herkend"
-#: gcc.c:6346
+#: gcc.c:6472
msgid "internal gcc abort"
msgstr ""
-#: gcov.c:282
+#: gcov.c:325
#, fuzzy
msgid "Internal gcov abort.\n"
msgstr "Interne abort van gcc."
-#: gcov.c:295
-msgid "Usage: gcov [OPTION]... SOURCEFILE\n\n"
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
msgstr ""
-#: gcov.c:296
-msgid "Print code coverage information.\n\n"
+#: 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:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
msgstr ""
-#: gcov.c:307
+#: gcov.c:351
#, c-format
msgid ""
"\n"
@@ -5678,267 +5906,472 @@ 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
+#, fuzzy, c-format
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "teveel argumenten voor functie `%s'"
+
+#: gcov.c:1398
#, c-format
-msgid "didn't use all bb entries of graph, function %s\n"
+msgid "ERROR: out of range line number in function %s\n"
msgstr ""
-#: gcov.c:1128
+#: gcov.c:1470
#, c-format
-msgid "block_num = %ld, num_blocks = %d\n"
+msgid "Could not open source file %s.\n"
msgstr ""
-#: gcov.c:1166
+#: gcov.c:1480
#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
+msgid "Warning: source file %s is newer than %s\n"
msgstr ""
-#: gcov.c:1243
+#: gcov.c:1510
#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
+msgid "Unexpected EOF while reading source file %s.\n"
msgstr ""
-#: gcov.c:1247
+#: gcov.c:1532
#, c-format
-msgid "No executable source lines in file %s\n"
+msgid "call %2d never executed\n"
msgstr ""
-#: gcov.c:1254
+#: gcov.c:1535
#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
+msgid "call %2d returns %s\n"
msgstr ""
-#: gcov.c:1258
+#: gcov.c:1543
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
+msgid "branch %2d never executed\n"
msgstr ""
-#: gcov.c:1263
+#: gcov.c:1546
#, c-format
-msgid "No branches in file %s\n"
+msgid "branch %2d taken %s\n"
msgstr ""
-#: gcov.c:1265
+#: gcov.c:1610
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
+msgid "Creating %s.\n"
msgstr ""
-#: gcov.c:1269
+#: gcov.c:1613
+#, fuzzy, c-format
+msgid "Error writing output file %s.\n"
+msgstr "kan bestand '%s' niet openen"
+
+#: gcov.c:1618
#, c-format
-msgid "No calls in file %s\n"
+msgid "Could not open output file %s.\n"
msgstr ""
-#: gcov.c:1281
+#: gcse.c:761
#, c-format
-msgid "Could not open source file %s.\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
msgstr ""
-#: gcov.c:1331
+#: gcse.c:773
#, c-format
-msgid "Could not open output file %s.\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
msgstr ""
-#: gcov.c:1339
+#: genautomata.c:1490
#, c-format
-msgid "Creating %s.\n"
+msgid "Name `%s' contains quotes"
msgstr ""
-#: gcov.c:1387
+#: genautomata.c:1621
#, c-format
-msgid "call %d never executed\n"
+msgid "invalid string `%s' in define_cpu_unit"
msgstr ""
-#: gcov.c:1396
+#: genautomata.c:1650
#, c-format
-msgid "call %d returns = %s\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
msgstr ""
-#: gcov.c:1406
+#: genautomata.c:1682 genautomata.c:1685
+#, fuzzy, c-format
+msgid "invalid string `%s' in define_bypass"
+msgstr "ongeldig gebruik van het niet gedefinieerde type `%s %s'"
+
+#: genautomata.c:1720
#, c-format
-msgid "call %d returns = %s%%\n"
+msgid "invalid first string `%s' in exclusion_set"
msgstr ""
-#: gcov.c:1413
+#: genautomata.c:1724
#, c-format
-msgid "branch %d never executed\n"
+msgid "invalid second string `%s' in exclusion_set"
msgstr ""
-#: gcov.c:1423
+#: genautomata.c:1760
#, c-format
-msgid "branch %d taken = %s\n"
+msgid "invalid first string `%s' in presence_set"
msgstr ""
-#: gcov.c:1433
+#: genautomata.c:1764
+#, fuzzy, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr "ongeldige macronaam"
+
+#: genautomata.c:1800
#, c-format
-msgid "branch %d taken = %s%%\n"
+msgid "invalid first string `%s' in absence_set"
msgstr ""
-#: gcov.c:1444
+#: genautomata.c:1804
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
+msgid "invalid second string `%s' in absence_set"
msgstr ""
-#: gcse.c:757
+#: genautomata.c:1837
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgid "invalid string `%s' in define_automaton"
msgstr ""
-#: gcse.c:769
+#: genautomata.c:1868
+#, fuzzy, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "Ongeldige optie `%s'"
+
+#: genautomata.c:1890
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
+msgid "garbage after ) in reservation `%s'"
+msgstr ""
+
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "herdeclaratie van `%s'"
+
+#: genautomata.c:1932
+#, c-format
+msgid "repetition `%s' <= 1 in reservation `%s'"
+msgstr ""
+
+#: genautomata.c:2425
+#, fuzzy, c-format
+msgid "unit `%s' in exclusion is not declared"
+msgstr "`%.*s' is niet gedefinieerd"
+
+#: genautomata.c:2427
+#, c-format
+msgid "`%s' in exclusion is not unit"
+msgstr ""
+
+#: genautomata.c:2465
+#, fuzzy, c-format
+msgid "unit `%s' excludes itself"
+msgstr "breedte van `%s' overschrijdt zijn type"
+
+#: 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 ""
-#: ch/grant.c:2652 ch/lex.c:212 ch/lex.c:2189 f/com.c:14249 graph.c:421
-#: java/jcf-parse.c:981 java/jcf-parse.c:1133 java/lex.c:1782
-#: objc/objc-act.c:529 profile.c:950 profile.c:958 toplev.c:1845 toplev.c:4954
+#: genautomata.c:2623 genautomata.c:2629
+#, c-format
+msgid "unit `%s' requires absence and presence of `%s'"
+msgstr ""
+
+#: genautomata.c:2692 genautomata.c:2695
+#, fuzzy, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "impliciete declaratie van functie `%s'"
+
+#: 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
+#, fuzzy, c-format
+msgid "automaton `%s' is not declared"
+msgstr "`%.*s' is niet gedefinieerd"
+
+#: genautomata.c:2747
+#, c-format
+msgid "define_unit `%s' without automaton when one defined"
+msgstr ""
+
+#: genautomata.c:2753
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "veld `%s' als een functie gedeclareerd"
+
+#: genautomata.c:2762
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "veld `%s' als een functie gedeclareerd"
+
+#: genautomata.c:2772
+#, fuzzy, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "herdeclaratie van `%s'"
+
+#: genautomata.c:2775
+#, fuzzy, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "impliciete declaratie van functie `%s'"
+
+#: genautomata.c:2790 genautomata.c:2793
+#, fuzzy, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "geen eerdere declaratie voor `%s'"
+
+#: genautomata.c:2810 genautomata.c:2815
+#, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr ""
+
+#: genautomata.c:2820
+#, fuzzy, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "veld `%s' heeft al een beginwaarde gekregen"
+
+#: genautomata.c:2925 genautomata.c:2927
+#, fuzzy, c-format
+msgid "automaton `%s' is not used"
+msgstr "modus van `%s' is geen modus"
+
+#: genautomata.c:2950
+#, fuzzy, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr "ongeldige naam `%s'"
+
+# Ik zou 'library' kunnen vertalen, maar ik heb in compiler-manuals nog niet
+# dikwijls 'bibliotheek' zien gebruiken.
+# De vertaalde boodschappen voor make gebruiken dat op het ogenblik wél, maar
+# ik ben van plan daar verandering in te brengen.
+#: genautomata.c:3028 genautomata.c:3030
+#, fuzzy, c-format
+msgid "unit `%s' is not used"
+msgstr "veld `%s' niet gevonden"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, fuzzy, c-format
+msgid "reservation `%s' is not used"
+msgstr "de zwakke declaratie van `%s' moet publiek zijn"
+
+#: genautomata.c:3134
+#, fuzzy, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "herdefinitie van `union %s'"
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr ""
+
+#: genautomata.c:9441
+#, fuzzy
+msgid "-split has no argument."
+msgstr "geen argumenten"
+
+#: genautomata.c:9442
+#, fuzzy
+msgid "option `-split' has not been implemented yet\n"
+msgstr "profileren wordt niet ondersteund wanneer -mg gebruikt wordt\n"
+
+#: 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
+#, fuzzy
+msgid "No input file name."
+msgstr "Geen invoerbestanden"
+
+#: 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
#, fuzzy, c-format
msgid "can't open %s"
msgstr "open %s"
-#: haifa-sched.c:190
+#: haifa-sched.c:196
#, c-format
msgid "fix_sched_param: unknown param: %s"
msgstr ""
-#: integrate.c:185
+#: integrate.c:172
#, fuzzy
msgid "function cannot be inline"
msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
-#: integrate.c:190
+#: integrate.c:176
msgid "varargs function cannot be inline"
msgstr ""
-#: integrate.c:193
+#: integrate.c:179
msgid "function using alloca cannot be inline"
msgstr ""
-#: integrate.c:196
+#: integrate.c:182
#, fuzzy
msgid "function using setjmp cannot be inline"
msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
-#: integrate.c:199
+#: integrate.c:185
msgid "function uses __builtin_eh_return"
msgstr ""
-#: integrate.c:202
+#: integrate.c:188
msgid "function with nested functions cannot be inline"
msgstr ""
-#: integrate.c:206
+#: integrate.c:192
msgid "function with label addresses used in initializers cannot inline"
msgstr ""
-#: integrate.c:213 integrate.c:257
+#: integrate.c:199 integrate.c:243
msgid "function too large to be inline"
msgstr ""
-#: integrate.c:223
+#: integrate.c:209
msgid "no prototype, and parameter address used; cannot be inline"
msgstr ""
-#: integrate.c:230 integrate.c:275
+#: integrate.c:216 integrate.c:261
msgid "inline functions not supported for this return value type"
msgstr ""
-#: integrate.c:235
+#: integrate.c:221
msgid "function with varying-size return value cannot be inline"
msgstr ""
-#: integrate.c:242
+#: integrate.c:228
msgid "function with varying-size parameter cannot be inline"
msgstr ""
-#: integrate.c:245
+#: integrate.c:231
msgid "function with transparent unit parameter cannot be inline"
msgstr ""
-#: integrate.c:264
+#: integrate.c:250
msgid "function with computed jump cannot inline"
msgstr ""
-#: integrate.c:268
+#: integrate.c:254
msgid "function with nonlocal goto cannot be inline"
msgstr ""
-#: integrate.c:282
+#: integrate.c:268
msgid "function with target specific attribute(s) cannot be inlined"
msgstr ""
@@ -5974,55 +6407,56 @@ msgstr ""
msgid "invalid parameter `%s'"
msgstr "ongeldige macronaam `%.*s'"
-#: profile.c:429
+#: 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:975
-#, c-format
-msgid "file %s not found, execution counts assumed to be zero"
+#: profile.c:400
+msgid ".da file corrupted"
msgstr ""
-#: profile.c:1022
-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:1025
-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:593
+#: protoize.c:542
#, c-format
msgid "%s: internal abort\n"
msgstr ""
-#: protoize.c:684
+#: protoize.c:633
#, c-format
msgid "%s: error writing file `%s': %s\n"
msgstr ""
-#: protoize.c:729
+#: protoize.c:678
#, c-format
msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
msgstr ""
-#: protoize.c:732
+#: protoize.c:681
#, c-format
msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
msgstr ""
-#: protoize.c:839
+#: protoize.c:788
#, c-format
msgid "%s: warning: no read access for file `%s'\n"
msgstr ""
-#: protoize.c:847
+#: protoize.c:796
#, c-format
msgid "%s: warning: no write access for file `%s'\n"
msgstr ""
-#: protoize.c:855
+#: protoize.c:804
#, c-format
msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr ""
@@ -6030,549 +6464,516 @@ msgstr ""
#. Catch cases like /.. where we try to backup to a
#. point above the absolute root of the logical file
#. system.
-#: protoize.c:1273
+#: protoize.c:1222
#, c-format
msgid "%s: invalid file name: %s\n"
msgstr ""
-#: protoize.c:1425
+#: protoize.c:1374
#, c-format
msgid "%s: %s: can't get status: %s\n"
msgstr ""
-#: protoize.c:1446
+#: protoize.c:1395
#, c-format
-msgid "\n%s: fatal error: aux info file corrupted at line %d\n"
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
msgstr ""
-#: protoize.c:1782
+#: protoize.c:1731
#, c-format
msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr ""
-#: protoize.c:2040
+#: protoize.c:1989
#, c-format
msgid "%s: compiling `%s'\n"
msgstr ""
-#: protoize.c:2063
+#: protoize.c:2012
#, c-format
msgid "%s: wait: %s\n"
msgstr ""
-#: protoize.c:2068
+#: protoize.c:2017
#, c-format
msgid "%s: subprocess got fatal signal %d\n"
msgstr ""
-#: protoize.c:2076
+#: protoize.c:2025
#, c-format
msgid "%s: %s exited with status %d\n"
msgstr ""
-#: protoize.c:2128
+#: protoize.c:2077
#, c-format
msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr ""
-#: protoize.c:2137 protoize.c:2166
+#: protoize.c:2086 protoize.c:2115
#, c-format
msgid "%s: can't read aux info file `%s': %s\n"
msgstr ""
-#: protoize.c:2182 protoize.c:2210
+#: protoize.c:2131 protoize.c:2159
#, c-format
msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr ""
-#: protoize.c:2238
+#: protoize.c:2187
#, c-format
msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr ""
-#: protoize.c:2256
+#: protoize.c:2205
#, c-format
msgid "%s: error reading aux info file `%s': %s\n"
msgstr ""
-#: protoize.c:2269
+#: protoize.c:2218
#, c-format
msgid "%s: error closing aux info file `%s': %s\n"
msgstr ""
-#: protoize.c:2285
+#: protoize.c:2234
#, c-format
msgid "%s: can't delete aux info file `%s': %s\n"
msgstr ""
-#: protoize.c:2367 protoize.c:4369
+#: protoize.c:2316 protoize.c:4318
#, c-format
msgid "%s: can't delete file `%s': %s\n"
msgstr ""
-#: protoize.c:2446
+#: protoize.c:2395
#, c-format
msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
msgstr ""
-#: protoize.c:2571
+#: protoize.c:2520
#, c-format
msgid "%s: conflicting extern definitions of '%s'\n"
msgstr ""
-#: protoize.c:2575
+#: protoize.c:2524
#, c-format
msgid "%s: declarations of '%s' will not be converted\n"
msgstr ""
-#: protoize.c:2577
+#: protoize.c:2526
#, c-format
msgid "%s: conflict list for '%s' follows:\n"
msgstr ""
-#: protoize.c:2610
+#: protoize.c:2559
#, c-format
msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr ""
-#: protoize.c:2650
+#: protoize.c:2599
#, c-format
msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr ""
-#: protoize.c:2656
+#: protoize.c:2605
#, c-format
msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr ""
-#: protoize.c:2687
+#: protoize.c:2636
#, c-format
msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr ""
-#: protoize.c:2693
+#: protoize.c:2642
#, c-format
msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr ""
-#: protoize.c:2866 protoize.c:2869
+#: protoize.c:2815 protoize.c:2818
#, c-format
msgid "%s: %d: warning: source too confusing\n"
msgstr ""
-#: protoize.c:3075
+#: protoize.c:3024
#, c-format
msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr ""
-#: protoize.c:3090
+#: protoize.c:3039
#, c-format
msgid "%s: declaration of function `%s' not converted\n"
msgstr ""
-#: protoize.c:3213
+#: protoize.c:3162
#, c-format
msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr ""
-#: protoize.c:3234
+#: protoize.c:3183
#, c-format
-msgid "\n%s: warning: too few parameter lists in declaration of `%s'\n"
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
msgstr ""
-#: protoize.c:3332
+#: protoize.c:3281
#, c-format
msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr ""
-#: protoize.c:3510
+#: protoize.c:3459
#, c-format
msgid "%s: local declaration for function `%s' not inserted\n"
msgstr ""
-#: protoize.c:3537
+#: protoize.c:3486
#, c-format
-msgid "\n%s: %d: warning: can't add declaration of `%s' into macro call\n"
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
msgstr ""
-#: protoize.c:3611
+#: protoize.c:3560
#, c-format
msgid "%s: global declarations for file `%s' not inserted\n"
msgstr ""
-#: protoize.c:3702 protoize.c:3732
+#: protoize.c:3651 protoize.c:3681
#, c-format
msgid "%s: definition of function `%s' not converted\n"
msgstr ""
-#: protoize.c:3721
+#: protoize.c:3670
#, c-format
msgid "%s: %d: warning: definition of %s not converted\n"
msgstr ""
-#: protoize.c:4051
+#: 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:4067
+#: protoize.c:4016
#, c-format
msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr ""
-#: protoize.c:4070
+#: protoize.c:4019
#, c-format
msgid "%s: function definition not converted\n"
msgstr ""
-#: protoize.c:4129
+#: protoize.c:4078
#, c-format
msgid "%s: `%s' not converted\n"
msgstr ""
-#: protoize.c:4137
+#: protoize.c:4086
#, c-format
msgid "%s: would convert file `%s'\n"
msgstr ""
-#: protoize.c:4140
+#: protoize.c:4089
#, c-format
msgid "%s: converting file `%s'\n"
msgstr ""
-#: protoize.c:4150
+#: protoize.c:4099
#, c-format
msgid "%s: can't get status for file `%s': %s\n"
msgstr ""
-#: protoize.c:4192
+#: protoize.c:4141
#, c-format
msgid "%s: can't open file `%s' for reading: %s\n"
msgstr ""
-#: protoize.c:4207
+#: protoize.c:4156
#, c-format
-msgid "\n%s: error reading input file `%s': %s\n"
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
msgstr ""
-#: protoize.c:4241
+#: protoize.c:4190
#, c-format
msgid "%s: can't create/open clean file `%s': %s\n"
msgstr ""
-#: protoize.c:4346
+#: protoize.c:4295
#, c-format
msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr ""
-#: protoize.c:4354
+#: protoize.c:4303
#, fuzzy, c-format
msgid "%s: can't link file `%s' to `%s': %s\n"
msgstr "kan oproep van `%s' niet inline maken"
-#: protoize.c:4384
+#: protoize.c:4333
#, c-format
msgid "%s: can't create/open output file `%s': %s\n"
msgstr ""
-#: protoize.c:4417
+#: protoize.c:4366
#, c-format
msgid "%s: can't change mode of file `%s': %s\n"
msgstr ""
-#: protoize.c:4592
+#: protoize.c:4541
#, c-format
msgid "%s: cannot get working directory: %s\n"
msgstr ""
-#: protoize.c:4690
+#: protoize.c:4639
#, c-format
msgid "%s: input file names must have .c suffixes: %s\n"
msgstr ""
-#: real.c:824 real.c:1001
-msgid "conversion from NaN to int"
-msgstr ""
-
-#: real.c:847
-msgid "conversion from NaN to unsigned int"
-msgstr ""
-
-#: real.c:2730
-msgid "floating point overflow"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
msgstr ""
-#: real.c:4395 real.c:6675 real.c:6756
-msgid "overflow on truncation to integer"
-msgstr ""
-
-#: real.c:4467
-msgid "overflow on truncation to unsigned integer"
-msgstr ""
-
-#: real.c:5812
-#, c-format
-msgid "%s: argument domain error"
-msgstr ""
-
-#: real.c:5813
-#, c-format
-msgid "%s: function singularity"
-msgstr ""
-
-#: real.c:5814
-#, c-format
-msgid "%s: overflow range error"
-msgstr ""
-
-#: real.c:5815
-#, c-format
-msgid "%s: underflow range error"
-msgstr ""
-
-#: real.c:5816
-#, c-format
-msgid "%s: total loss of precision"
-msgstr ""
-
-#: real.c:5817
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr ""
-
-#: real.c:5818
-#, c-format
-msgid "%s: NaN - producing operation"
-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 ""
-#: config/ia64/ia64.c:3856 config/ia64/ia64.c:3863 regclass.c:793
+#: 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 "globale registervariabele volgt op een functiedefinitie"
-#: 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:1821
+#: regrename.c:1899
#, c-format
msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr ""
-#: regrename.c:1833
+#: regrename.c:1911
#, c-format
msgid "validate_value_data: Loop in regno chain (%u)"
msgstr ""
-#: regrename.c:1836
+#: regrename.c:1914
#, c-format
msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr ""
-#: regrename.c:1848
+#: regrename.c:1926
#, c-format
msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr ""
-#: reload.c:1207
+#: reload.c:1225
msgid "cannot reload integer constant operand in `asm'"
msgstr ""
-#: reload.c:1229
+#: reload.c:1247
msgid "impossible register constraint in `asm'"
msgstr ""
-#: reload.c:3387
+#: reload.c:3467
msgid "`&' constraint used with no register class"
msgstr ""
-#: reload.c:3555
+#: reload.c:3635
msgid "unable to generate reloads for:"
msgstr ""
-#: reload.c:3556 reload.c:3770
+#: reload.c:3636 reload.c:3850
msgid "inconsistent operand constraints in an `asm'"
msgstr ""
-#: reload1.c:1242
+#: reload1.c:1255
msgid "frame size too large for reliable stack checking"
msgstr ""
-#: reload1.c:1245
+#: reload1.c:1258
msgid "try reducing the number of local variables"
msgstr ""
-#: reload1.c:1892
+#: reload1.c:1914
#, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr ""
-#: reload1.c:1896
+#: reload1.c:1918
#, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr ""
-#: reload1.c:1898
+#: reload1.c:1920
#, fuzzy
msgid "this is the insn:"
msgstr "dit is het eerste ELSE-label"
-#: reload1.c:3917
+#: reload1.c:3941
msgid "`asm' operand requires impossible reload"
msgstr ""
#. It's the compiler's fault.
-#: reload1.c:5033
+#: reload1.c:5055
msgid "could not find a spill register"
msgstr ""
-#: reload1.c:5038
+#: reload1.c:5060
msgid "`asm' operand constraint incompatible with operand size"
msgstr ""
#. It's the compiler's fault.
-#: reload1.c:6629
+#: reload1.c:6680
msgid "VOIDmode on an output"
msgstr ""
-#: reload1.c:6630
+#: reload1.c:6681
msgid "output operand is constant in `asm'"
msgstr ""
-#: rtl-error.c:139
+#: rtl-error.c:140
#, fuzzy
msgid "unrecognizable insn:"
msgstr "signature-string niet herkend"
-#: rtl-error.c:141
+#: rtl-error.c:142
msgid "insn does not satisfy its constraints:"
msgstr ""
-#: rtl.c:707
+#: 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:722
+#: 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:738
+#: 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:751
+#: rtl.c:602
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:765
+#: rtl.c:616
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:780
+#: 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:927
+#: 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:1163 stmt.c:3895
+#: stmt.c:989 stmt.c:3731
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr ""
-#: stmt.c:1343
+#: stmt.c:1169
msgid "output operand constraint lacks `='"
msgstr ""
-#: stmt.c:1358
+#: stmt.c:1184
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr ""
-#: stmt.c:1380
+#: stmt.c:1206
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr ""
-#: stmt.c:1386 stmt.c:1486
+#: stmt.c:1212 stmt.c:1316
#, c-format
msgid "`%%' constraint used with last operand"
msgstr ""
-#: stmt.c:1405
+#: stmt.c:1231
msgid "matching constraint not valid in output operand"
msgstr ""
-#: stmt.c:1477
+#: stmt.c:1307
#, c-format
msgid "input operand constraint contains `%c'"
msgstr ""
-#: stmt.c:1517
+#: stmt.c:1347
msgid "matching constraint references invalid operand number"
msgstr ""
-#: stmt.c:1549
+#: stmt.c:1379
#, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr ""
-#: stmt.c:1645
+#: stmt.c:1429
+#, fuzzy, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "type-qualifiers voor `%s' geven een conflict met een eerdere declaratie"
+
+#: stmt.c:1519
#, c-format
msgid "unknown register name `%s' in `asm'"
msgstr ""
-#: stmt.c:1689
+#: stmt.c:1567
#, c-format
msgid "more than %d operands in `asm'"
msgstr ""
-#: stmt.c:1748
+#: stmt.c:1626
#, c-format
msgid "output number %d not directly addressable"
msgstr ""
@@ -6580,100 +6981,115 @@ msgstr ""
#. ??? Leave this only until we have experience with what
#. happens in combine and elsewhere when constraints are
#. not satisfied.
-#: stmt.c:1817 stmt.c:1846
+#: stmt.c:1698 stmt.c:1727
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr ""
-#: stmt.c:1992
+#: 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:2004
+#: stmt.c:1910
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr ""
-#: stmt.c:2057
+#: stmt.c:1963
#, fuzzy, c-format
msgid "duplicate asm operand name '%s'"
msgstr "herhaald lid `%s'"
-#: stmt.c:2144
+#: stmt.c:2050
msgid "missing close brace for named operand"
msgstr ""
-#: stmt.c:2164
+#: stmt.c:2078
#, fuzzy, c-format
msgid "undefined named operand '%s'"
msgstr "ongeldige operand van %s"
-#: stmt.c:3832
+#: stmt.c:3668
#, c-format
msgid "unused variable `%s'"
msgstr ""
-#: stmt.c:5284
+#: stmt.c:5149
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr ""
-#: stmt.c:5310 stmt.c:5330
+#: stmt.c:5174 stmt.c:5194
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr ""
-#: stmt.c:5313 stmt.c:5333
+#: stmt.c:5177 stmt.c:5197
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr ""
-#: stor-layout.c:172
+#: stmt.c:5270
+#, fuzzy
+msgid "switch missing default case"
+msgstr "dit is het eerste default-label"
+
+#: stor-layout.c:178
msgid "type size can't be explicitly evaluated"
msgstr ""
-#: stor-layout.c:174
+#: stor-layout.c:180
msgid "variable-size type declared outside of any function"
msgstr ""
-#: stor-layout.c:455
+#: stor-layout.c:461
#, fuzzy, c-format
msgid "size of `%s' is %d bytes"
msgstr "grootte van `%s' is %u bytes"
-#: stor-layout.c:457
+#: stor-layout.c:463
#, fuzzy, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr "grootte van `%s' is %u bytes"
-#: stor-layout.c:836 stor-layout.c:1089
+#: stor-layout.c:869 stor-layout.c:1285
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr ""
-#: stor-layout.c:838 stor-layout.c:1091
+#: stor-layout.c:871 stor-layout.c:1287
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr ""
-#: stor-layout.c:853
+#: stor-layout.c:886
#, c-format
msgid "padding struct to align `%s'"
msgstr ""
-#: stor-layout.c:1053
+#: stor-layout.c:1249
msgid "padding struct size to alignment boundary"
msgstr ""
-#: stor-layout.c:1096
+#: stor-layout.c:1292
msgid "packed attribute causes inefficient alignment"
msgstr ""
-#: stor-layout.c:1098
+#: stor-layout.c:1294
msgid "packed attribute is unnecessary"
msgstr ""
#: timevar.c:448
-msgid "\nExecution times (seconds)\n"
+msgid ""
+"\n"
+"Execution times (seconds)\n"
msgstr ""
#. Print total time.
@@ -6689,768 +7105,819 @@ msgstr ""
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr ""
-#: tlink.c:428
+#: tlink.c:399
#, fuzzy, c-format
msgid "collect: reading %s\n"
msgstr "collect2 versie %s"
-#: tlink.c:532
+#: tlink.c:502
#, fuzzy, c-format
msgid "collect: recompiling %s\n"
msgstr "collect2 versie %s"
-#: tlink.c:698
+#: tlink.c:668
#, fuzzy, c-format
msgid "collect: tweaking %s in %s\n"
msgstr "collect2 versie %s"
-#: 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 "ld gaf exit-status %d terug"
-#: toplev.c:913
+#: toplev.c:920
msgid "Generate debugging info in default format"
msgstr ""
-#: toplev.c:914
+#: toplev.c:921
msgid "Generate debugging info in default extended format"
msgstr ""
-#: toplev.c:916
+#: toplev.c:923
msgid "Generate STABS format debug info"
msgstr ""
-#: toplev.c:917
+#: toplev.c:924
msgid "Generate extended STABS format debug info"
msgstr ""
-#: toplev.c:920
+#: toplev.c:927
msgid "Generate DWARF-1 format debug info"
msgstr ""
-#: toplev.c:922
+#: toplev.c:929
msgid "Generate extended DWARF-1 format debug info"
msgstr ""
-#: toplev.c:925
+#: toplev.c:932
msgid "Generate DWARF-2 debug info"
msgstr ""
-#: toplev.c:928
+#: toplev.c:935
msgid "Generate XCOFF format debug info"
msgstr ""
-#: toplev.c:929
+#: toplev.c:936
msgid "Generate extended XCOFF format debug info"
msgstr ""
-#: toplev.c:932
+#: toplev.c:939
msgid "Generate COFF format debug info"
msgstr ""
-#: toplev.c:976
+#: toplev.c:942
+msgid "Generate VMS format debug info"
+msgstr ""
+
+#: toplev.c:981
msgid "Perform DWARF2 duplicate elimination"
msgstr ""
-#: toplev.c:978
+#: toplev.c:983
msgid "Do not store floats in registers"
msgstr ""
-#: toplev.c:980
+#: toplev.c:985
msgid "Consider all mem refs through pointers as volatile"
msgstr ""
-#: toplev.c:982
+#: toplev.c:987
msgid "Consider all mem refs to global data to be volatile"
msgstr ""
-#: toplev.c:984
+#: toplev.c:989
msgid "Consider all mem refs to static data to be volatile"
msgstr ""
-#: toplev.c:986
+#: toplev.c:991
msgid "Defer popping functions args from stack until later"
msgstr ""
-#: toplev.c:988
+#: toplev.c:993
msgid "When possible do not generate stack frames"
msgstr ""
-#: toplev.c:990
+#: toplev.c:995
msgid "Optimize sibling and tail recursive calls"
msgstr ""
-#: toplev.c:992
+#: 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:994
+#: toplev.c:1001
msgid "When running CSE, follow conditional jumps"
msgstr ""
-#: toplev.c:996
+#: toplev.c:1003
msgid "Perform a number of minor, expensive optimizations"
msgstr ""
-#: toplev.c:998
+#: toplev.c:1005
msgid "Perform jump threading optimizations"
msgstr ""
-#: toplev.c:1000
+#: toplev.c:1007
msgid "Perform strength reduction optimizations"
msgstr ""
-#: toplev.c:1002
+#: toplev.c:1009
msgid "Perform loop unrolling when iteration count is known"
msgstr ""
-#: toplev.c:1004
+#: toplev.c:1011
msgid "Perform loop unrolling for all loops"
msgstr ""
-#: toplev.c:1006
+#: toplev.c:1013
msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr ""
-#: toplev.c:1008
+#: toplev.c:1015
msgid "Force all loop invariant computations out of loops"
msgstr ""
-#: toplev.c:1010
+#: toplev.c:1017
msgid "Strength reduce all loop general induction variables"
msgstr ""
-#: toplev.c:1012
+#: toplev.c:1019
msgid "Store strings in writable data section"
msgstr ""
-#: toplev.c:1014
+#: toplev.c:1021
msgid "Enable machine specific peephole optimizations"
msgstr ""
-#: toplev.c:1016
+#: toplev.c:1023
msgid "Copy memory operands into registers before using"
msgstr ""
-#: toplev.c:1018
+#: toplev.c:1025
msgid "Copy memory address constants into regs before using"
msgstr ""
-#: toplev.c:1020
+#: toplev.c:1027
msgid "Allow function addresses to be held in registers"
msgstr ""
-#: toplev.c:1022
+#: toplev.c:1029
msgid "Integrate simple functions into their callers"
msgstr ""
-#: toplev.c:1024
+#: toplev.c:1031
msgid "Generate code for funcs even if they are fully inlined"
msgstr ""
-#: toplev.c:1026
+#: toplev.c:1033
msgid "Pay attention to the 'inline' keyword"
msgstr ""
-#: toplev.c:1028
+#: toplev.c:1035
msgid "Emit static const variables even if they are not used"
msgstr ""
-#: toplev.c:1030
+#: toplev.c:1037
msgid "Check for syntax errors, then stop"
msgstr ""
-#: toplev.c:1032
+#: toplev.c:1039
msgid "Mark data as shared rather than private"
msgstr ""
-#: toplev.c:1034
+#: toplev.c:1041
msgid "Enable saving registers around function calls"
msgstr ""
-#: toplev.c:1036
+#: toplev.c:1043
msgid "Return 'short' aggregates in memory, not registers"
msgstr ""
-#: toplev.c:1038
+#: toplev.c:1045
msgid "Return 'short' aggregates in registers"
msgstr ""
-#: toplev.c:1040
+#: toplev.c:1047
msgid "Attempt to fill delay slots of branch instructions"
msgstr ""
-#: toplev.c:1042
+#: toplev.c:1049
msgid "Perform the global common subexpression elimination"
msgstr ""
-#: toplev.c:1044
+#: toplev.c:1051
msgid "Perform enhanced load motion during global subexpression elimination"
msgstr ""
-#: toplev.c:1046
+#: toplev.c:1053
msgid "Perform store motion after global subexpression elimination"
msgstr ""
-#: toplev.c:1048
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr ""
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr ""
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
+msgstr ""
+
+#: toplev.c:1061
+#, fuzzy
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+#: toplev.c:1063
msgid "Run CSE pass after loop optimizations"
msgstr ""
-#: toplev.c:1050
+#: toplev.c:1065
msgid "Run the loop optimizer twice"
msgstr ""
-#: toplev.c:1052
+#: toplev.c:1067
msgid "Delete useless null pointer checks"
msgstr ""
-#: toplev.c:1054
-msgid "Pretend that host and target use the same FP format"
-msgstr ""
-
-#: toplev.c:1056
+#: toplev.c:1069
msgid "Reschedule instructions before register allocation"
msgstr ""
-#: toplev.c:1058
+#: toplev.c:1071
msgid "Reschedule instructions after register allocation"
msgstr ""
-#: toplev.c:1060
+#: toplev.c:1073
msgid "Enable scheduling across basic blocks"
msgstr ""
-#: toplev.c:1062
+#: toplev.c:1075
msgid "Allow speculative motion of non-loads"
msgstr ""
-#: toplev.c:1064
+#: toplev.c:1077
msgid "Allow speculative motion of some loads"
msgstr ""
-#: toplev.c:1066
+#: toplev.c:1079
msgid "Allow speculative motion of more loads"
msgstr ""
-#: toplev.c:1068
+#: toplev.c:1081
msgid "Replace add,compare,branch with branch on count reg"
msgstr ""
-#: toplev.c:1070
+#: toplev.c:1083
#, fuzzy
msgid "Generate position independent code, if possible"
msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
-#: toplev.c:1073
+#: toplev.c:1086
msgid "Enable exception handling"
msgstr ""
-#: toplev.c:1075
+#: toplev.c:1088
msgid "Just generate unwind tables for exception handling"
msgstr ""
-#: toplev.c:1077
+#: toplev.c:1090
msgid "Generate unwind tables exact at each instruction boundary"
msgstr ""
-#: toplev.c:1079
+#: toplev.c:1092
msgid "Support synchronous non-call exceptions"
msgstr ""
-#: toplev.c:1081
+#: toplev.c:1094
msgid "Insert arc based program profiling code"
msgstr ""
-#: toplev.c:1083
+#: toplev.c:1096
msgid "Create data files needed by gcov"
msgstr ""
-#: toplev.c:1085
+#: toplev.c:1098
msgid "Use profiling information for branch probabilities"
msgstr ""
-#: toplev.c:1087
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr ""
+
+#: toplev.c:1102
msgid "Reorder basic blocks to improve code placement"
msgstr ""
-#: toplev.c:1089
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr ""
+
+#: toplev.c:1106
msgid "Do the register renaming optimization pass"
msgstr ""
-#: toplev.c:1091
+#: toplev.c:1108
msgid "Do the register copy-propagation optimization pass"
msgstr ""
-#: toplev.c:1093
+#: toplev.c:1110
msgid "Do not put uninitialized globals in the common section"
msgstr ""
-#: toplev.c:1095
+#: toplev.c:1112
msgid "Do not generate .size directives"
msgstr ""
-#: toplev.c:1097
+#: toplev.c:1114
#, fuzzy
msgid "place each function into its own section"
msgstr "keer vermeld voor elke functie waarin hij staat.)"
-#: toplev.c:1099
+#: toplev.c:1116
msgid "place data items into their own section"
msgstr ""
-#: toplev.c:1101
+#: toplev.c:1118
msgid "Add extra commentry to assembler output"
msgstr ""
-#: toplev.c:1103
+#: toplev.c:1120
msgid "Output GNU ld formatted global initializers"
msgstr ""
-#: toplev.c:1105
+#: toplev.c:1122
msgid "Enables a register move optimization"
msgstr ""
-#: toplev.c:1107
+#: toplev.c:1124
msgid "Do the full regmove optimization pass"
msgstr ""
-#: toplev.c:1109
+#: toplev.c:1126
msgid "Pack structure members together without holes"
msgstr ""
-#: toplev.c:1111
+#: toplev.c:1128
msgid "Insert stack checking code into the program"
msgstr ""
-#: toplev.c:1113
+#: toplev.c:1130
msgid "Specify that arguments may alias each other & globals"
msgstr ""
-#: toplev.c:1115
+#: toplev.c:1132
msgid "Assume arguments may alias globals but not each other"
msgstr ""
-#: toplev.c:1117
+#: toplev.c:1134
msgid "Assume arguments do not alias each other or globals"
msgstr ""
-#: toplev.c:1119
+#: toplev.c:1136
msgid "Assume strict aliasing rules apply"
msgstr ""
-#: toplev.c:1121
+#: toplev.c:1138
msgid "Align the start of loops"
msgstr ""
-#: toplev.c:1123
+#: toplev.c:1140
msgid "Align labels which are only reached by jumping"
msgstr ""
-#: toplev.c:1125
+#: toplev.c:1142
msgid "Align all labels"
msgstr ""
-#: toplev.c:1127
+#: toplev.c:1144
#, fuzzy
msgid "Align the start of functions"
msgstr "impliciete declaratie van functie `%s'"
-#: toplev.c:1129
+#: toplev.c:1146
msgid "Attempt to merge identical constants accross compilation units"
msgstr ""
-#: toplev.c:1131
+#: toplev.c:1148
msgid "Attempt to merge identical constants and constant variables"
msgstr ""
-#: toplev.c:1133
+#: toplev.c:1150
msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr ""
-#: toplev.c:1135
+#: toplev.c:1152
msgid "Instrument function entry/exit with profiling calls"
msgstr ""
-#: toplev.c:1137
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr ""
+
+#: toplev.c:1156
msgid "Enable SSA optimizations"
msgstr ""
-#: toplev.c:1139
+#: toplev.c:1158
msgid "Enable SSA conditional constant propagation"
msgstr ""
-#: toplev.c:1141
+#: toplev.c:1160
msgid "Enable aggressive SSA dead code elimination"
msgstr ""
-#: toplev.c:1143
+#: toplev.c:1162
msgid "External symbols have a leading underscore"
msgstr ""
-#: toplev.c:1145
+#: toplev.c:1164
#, fuzzy
msgid "Process #ident directives"
msgstr "ongeldig preprocessing-commando"
-#: toplev.c:1147
+#: toplev.c:1166
msgid "Enables an rtl peephole pass run before sched2"
msgstr ""
-#: toplev.c:1149
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr ""
+
+#: toplev.c:1170
msgid "Enables guessing of branch probabilities"
msgstr ""
-#: toplev.c:1151
+#: toplev.c:1172
#, fuzzy
msgid "Set errno after built-in math functions"
msgstr "interne fout - slechte ingebouwde functie `%s'"
-#: toplev.c:1153
+#: toplev.c:1174
#, fuzzy
msgid "Floating-point operations can trap"
msgstr "floating-point constante buiten bereik"
-#: toplev.c:1155
+#: toplev.c:1176
msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr ""
-#: toplev.c:1157
-msgid "Compile pointers as triples: value, base & end"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
msgstr ""
-#: toplev.c:1159
-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:1161
+#: toplev.c:1182
#, fuzzy
msgid "Convert floating point constant to single precision constant"
msgstr "floating-point fout bij het uitschrijven van een constante"
-#: toplev.c:1163
+#: toplev.c:1184
msgid "Report time taken by each compiler pass at end of run"
msgstr ""
-#: toplev.c:1165
+#: toplev.c:1186
msgid "Report on permanent memory allocation at end of run"
msgstr ""
-#: toplev.c:1167
+#: toplev.c:1188
msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr ""
-#: toplev.c:1184
-msgid "Compile just for ISO C89"
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
msgstr ""
-#: toplev.c:1186
-msgid "Do not promote floats to double if using -traditional"
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
msgstr ""
-#: toplev.c:1188
+#: toplev.c:1209
msgid "Determine language standard"
msgstr ""
-#: toplev.c:1192
+#: toplev.c:1213
msgid "Make bit-fields by unsigned by default"
msgstr ""
-#: toplev.c:1196
+#: toplev.c:1217
msgid "Make 'char' be signed by default"
msgstr ""
-#: toplev.c:1198
+#: toplev.c:1219
msgid "Make 'char' be unsigned by default"
msgstr ""
-#: toplev.c:1204
-msgid "Attempt to support traditional K&R style C"
-msgstr ""
-
-#: toplev.c:1210
+#: toplev.c:1225
msgid "Do not recognize the 'asm' keyword"
msgstr ""
-#: toplev.c:1213
+#: toplev.c:1228
#, fuzzy
msgid "Do not recognize any built in functions"
msgstr "interne fout - slechte ingebouwde functie `%s'"
-#: toplev.c:1215
+#: toplev.c:1230
msgid "Assume normal C execution environment"
msgstr ""
-#: toplev.c:1218
+#: toplev.c:1233
msgid "Assume that standard libraries & main might not exist"
msgstr ""
-#: toplev.c:1221
+#: toplev.c:1236
msgid "Allow different types as args of ? operator"
msgstr ""
-#: toplev.c:1224
+#: toplev.c:1239
msgid "Allow the use of $ inside identifiers"
msgstr ""
-#: toplev.c:1229
+#: toplev.c:1244
msgid "Use the same size for double as for float"
msgstr ""
-#: toplev.c:1232
+#: toplev.c:1247
msgid "Use the smallest fitting integer to hold enums"
msgstr ""
-#: toplev.c:1235
+#: toplev.c:1250
msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr ""
-#: toplev.c:1239
+#: toplev.c:1254
msgid "Enable most warning messages"
msgstr ""
-#: toplev.c:1241
+#: toplev.c:1256
#, fuzzy
msgid "Warn about casting functions to incompatible types"
msgstr "parameter wijst naar een onvolledig type"
-#: toplev.c:1245
+#: toplev.c:1259
#, fuzzy
msgid "Warn about functions which might be candidates for format attributes"
msgstr "deze functie is een mogelijke kandidaat voor het `noreturn' attribuut"
-#: toplev.c:1248
+#: toplev.c:1262
msgid "Warn about casts which discard qualifiers"
msgstr ""
-#: toplev.c:1251
+#: toplev.c:1265
#, fuzzy
msgid "Warn about subscripts whose type is 'char'"
msgstr "array subscript is van het type `char'"
-#: toplev.c:1254 toplev.c:1257
+#: toplev.c:1268 toplev.c:1271
msgid "Warn if nested comments are detected"
msgstr ""
-#: toplev.c:1260
+#: toplev.c:1274
msgid "Warn about possibly confusing type conversions"
msgstr ""
-#: toplev.c:1263
-msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
msgstr ""
-#: toplev.c:1267
-msgid "Don't warn about strftime formats yielding 2 digit years"
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr ""
+
+#: toplev.c:1283
+msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
msgstr ""
-#: toplev.c:1270
+#: toplev.c:1287
#, fuzzy
msgid "Don't warn about too many arguments to format functions"
msgstr "teveel argumenten voor functie"
-#: toplev.c:1272
+#: toplev.c:1289
#, fuzzy
msgid "Warn about non-string-literal format strings"
msgstr "formaatstring niet beëindigd"
-#: toplev.c:1275
+#: toplev.c:1292
msgid "Warn about possible security problems with format functions"
msgstr ""
-#: toplev.c:1278
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr ""
+
+#: toplev.c:1298
#, fuzzy
msgid "Warn about implicit function declarations"
msgstr "parameternamen (zonder types) in functiedeclaratie"
-#: toplev.c:1282
+#: toplev.c:1302
msgid "Warn when a declaration does not specify a type"
msgstr ""
-#: toplev.c:1287
+#: toplev.c:1307
#, fuzzy
msgid "Warn about the use of the #import directive"
msgstr "lijnnummer buiten bereik in `#line'-commando"
-#: toplev.c:1291
+#: toplev.c:1311
msgid "Do not warn about using 'long long' when -pedantic"
msgstr ""
-#: toplev.c:1293
+#: toplev.c:1313
#, fuzzy
msgid "Warn about suspicious declarations of main"
msgstr "geen eerdere declaratie voor `%s'"
-#: toplev.c:1296
+#: toplev.c:1316
#, fuzzy
msgid "Warn about possibly missing braces around initializers"
msgstr "accolades ontbreken rond beginwaarde"
-#: toplev.c:1299
+#: toplev.c:1319
#, fuzzy
msgid "Warn about global funcs without previous declarations"
msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
-#: toplev.c:1302
+#: toplev.c:1322
msgid "Warn about global funcs without prototypes"
msgstr ""
-#: toplev.c:1305
+#: toplev.c:1325
msgid "Warn about use of multicharacter literals"
msgstr ""
-#: toplev.c:1308
+#: toplev.c:1328
msgid "Warn about externs not at file scope level"
msgstr ""
-#: toplev.c:1311
+#: toplev.c:1331
msgid "Warn about possible missing parentheses"
msgstr ""
-#: toplev.c:1314
-msgid "Warn about possible violations of sequence point rules"
-msgstr ""
-
-#: toplev.c:1317
+#: toplev.c:1334
#, fuzzy
msgid "Warn about function pointer arithmetic"
msgstr "pointer naar functie gebruikt in rekensom"
-#: toplev.c:1320
+#: toplev.c:1337
#, fuzzy
msgid "Warn about multiple declarations of the same object"
msgstr "overbodige herdeclaratie van `%s' in zelfde bereik"
-#: toplev.c:1323
-msgid "Warn about signed/unsigned comparisons"
-msgstr ""
+#: toplev.c:1340
+#, fuzzy
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "teruggeefwaarde krijgt standaardtype `int'"
-#: toplev.c:1326
-msgid "Warn about testing equality of floating point numbers"
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
msgstr ""
-#: toplev.c:1329
-msgid "Warn about unrecognized pragmas"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
msgstr ""
-#: toplev.c:1332
+#: toplev.c:1349
#, fuzzy
msgid "Warn about non-prototyped function decls"
msgstr "niet-prototype definitie hier"
-#: toplev.c:1335
-msgid "Warn about constructs whose meaning change in ISO C"
-msgstr ""
+#: toplev.c:1352
+#, fuzzy
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr "array subscript is van het type `char'"
-#: toplev.c:1338
+#: toplev.c:1355
#, fuzzy
msgid "Warn when trigraphs are encountered"
msgstr "%lu trigraph(s) tegengekomen"
-#: toplev.c:1343
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr ""
+
+#: toplev.c:1363
#, fuzzy
msgid "Mark strings as 'const char *'"
msgstr "slechte stringconstante"
-#: toplev.c:1473
+#: toplev.c:1508
msgid "Warn when a function is unused"
msgstr ""
-#: toplev.c:1475
+#: toplev.c:1510
msgid "Warn when a label is unused"
msgstr ""
-#: toplev.c:1477
+#: toplev.c:1512
msgid "Warn when a function parameter is unused"
msgstr ""
-#: toplev.c:1479
+#: toplev.c:1514
msgid "Warn when a variable is unused"
msgstr ""
-#: toplev.c:1481
+#: toplev.c:1516
msgid "Warn when an expression value is unused"
msgstr ""
-#: toplev.c:1483
+#: toplev.c:1518
msgid "Do not suppress warnings from system headers"
msgstr ""
-#: toplev.c:1485
+#: toplev.c:1520
msgid "Treat all warnings as errors"
msgstr ""
-#: toplev.c:1487
+#: toplev.c:1522
#, fuzzy
msgid "Warn when one local variable shadows another"
msgstr "De locale variabele `insn' heeft de waarde:"
-#: toplev.c:1489
-msgid "Warn about enumerated switches missing a specific case"
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
msgstr ""
-#: toplev.c:1491
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
+msgstr ""
+
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr ""
+
+#: toplev.c:1530
msgid "Warn about returning structures, unions or arrays"
msgstr ""
-#: toplev.c:1493
+#: toplev.c:1532
msgid "Warn about pointer casts which increase alignment"
msgstr ""
-#: toplev.c:1495
+#: toplev.c:1534
msgid "Warn about code that will never be executed"
msgstr ""
-#: toplev.c:1497
+#: toplev.c:1536
msgid "Warn about uninitialized automatic variables"
msgstr ""
-#: toplev.c:1499
+#: toplev.c:1538
#, fuzzy
msgid "Warn when an inlined function cannot be inlined"
msgstr "kan functie `main' niet inline maken"
-#: toplev.c:1501
+#: toplev.c:1540
msgid "Warn when the packed attribute has no effect on struct layout"
msgstr ""
-#: toplev.c:1503
+#: toplev.c:1542
msgid "Warn when padding is required to align struct members"
msgstr ""
-#: toplev.c:1505
+#: toplev.c:1544
msgid "Warn when an optimization pass is disabled"
msgstr ""
-#: toplev.c:1507
+#: toplev.c:1546
msgid "Warn about uses of __attribute__((deprecated)) declarations"
msgstr ""
-#: toplev.c:1509
+#: toplev.c:1548
#, fuzzy
msgid "Warn about functions which might be candidates for attribute noreturn"
msgstr "deze functie is een mogelijke kandidaat voor het `noreturn' attribuut"
-#: toplev.c:1580 toplev.c:4363 tradcpp.c:781
+#: toplev.c:1550
+#, fuzzy
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr "deze functie is een mogelijke kandidaat voor het `noreturn' attribuut"
+
+#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676
#, fuzzy, c-format
msgid "invalid option `%s'"
msgstr "Ongeldige optie `%s'"
-#: toplev.c:1726
-#, fuzzy, c-format
-msgid "internal error: %s"
-msgstr "interne fout"
-
-#: toplev.c:2026
+#: toplev.c:2029
#, c-format
msgid "`%s' used but never defined"
msgstr ""
-#: toplev.c:2029
+#: toplev.c:2032
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr ""
@@ -7460,212 +7927,223 @@ msgstr ""
msgid "`%s' defined but not used"
msgstr ""
-#: toplev.c:2282
+#: toplev.c:2300
#, c-format
msgid "invalid register name `%s' for register variable"
msgstr ""
-#: toplev.c:3574
+#: toplev.c:3683
msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
msgstr ""
-#: toplev.c:3575
+#: toplev.c:3684
msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
msgstr ""
-#: toplev.c:3576
+#: toplev.c:3685
msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
msgstr ""
-#: toplev.c:3577
+#: toplev.c:3686
msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr ""
-#: toplev.c:3578
+#: toplev.c:3687
msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
msgstr ""
-#: toplev.c:3579
+#: 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:3590
+#: 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:3591
+#: toplev.c:3701
msgid " -Os Optimize for space rather than speed\n"
msgstr ""
-#: toplev.c:3603
+#: toplev.c:3713
msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
msgstr ""
-#: toplev.c:3604
+#: toplev.c:3714
msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr ""
-#: toplev.c:3605
+#: toplev.c:3715
msgid " -w Suppress warnings\n"
msgstr ""
-#: toplev.c:3606
+#: toplev.c:3716
msgid " -W Enable extra warnings\n"
msgstr ""
-#: toplev.c:3617
+#: toplev.c:3727
msgid " -Wunused Enable unused warnings\n"
msgstr ""
-#: toplev.c:3618
+#: toplev.c:3728
msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr ""
-#: toplev.c:3619
+#: toplev.c:3729
msgid " -p Enable function profiling\n"
msgstr ""
-#: toplev.c:3621
-msgid " -a Enable block profiling \n"
-msgstr ""
-
-#: toplev.c:3624
-msgid " -ax Enable jump profiling \n"
-msgstr ""
-
-#: toplev.c:3626
+#: toplev.c:3730
msgid " -o <file> Place output into <file> \n"
msgstr ""
-#: toplev.c:3627
+#: 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:3638
+#: toplev.c:3742
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr ""
-#: toplev.c:3639
+#: toplev.c:3743
msgid " -quiet Do not display functions compiled or elapsed time\n"
msgstr ""
-#: toplev.c:3640
+#: toplev.c:3744
msgid " -version Display the compiler's version\n"
msgstr ""
-#: toplev.c:3641
+#: toplev.c:3745
msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr ""
-#: toplev.c:3642
+#: toplev.c:3746
msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
msgstr ""
-#: toplev.c:3644
+#: toplev.c:3748
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
msgstr ""
-#: toplev.c:3646
+#: toplev.c:3750
msgid " --help Display this information\n"
msgstr ""
-#: toplev.c:3661
-msgid "\nLanguage specific options:\n"
+#: toplev.c:3765
+msgid ""
+"\n"
+"Language specific options:\n"
msgstr ""
-#: toplev.c:3673
+#: toplev.c:3777
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr ""
-#: toplev.c:3681 toplev.c:3695
+#: toplev.c:3785 toplev.c:3799
#, c-format
-msgid "\nThere are undocumented %s specific options as well.\n"
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
msgstr ""
-#: toplev.c:3685
+#: toplev.c:3789
#, c-format
-msgid "\n Options for %s:\n"
+msgid ""
+"\n"
+" Options for %s:\n"
msgstr ""
-#: toplev.c:3722
-msgid "\nTarget specific options:\n"
+#: toplev.c:3826
+msgid ""
+"\n"
+"Target specific options:\n"
msgstr ""
-#: toplev.c:3736 toplev.c:3755
+#: toplev.c:3840 toplev.c:3859
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr ""
-#: toplev.c:3764
-msgid "\nThere are undocumented target specific options as well.\n"
+#: toplev.c:3868
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
msgstr ""
-#: toplev.c:3766
+#: toplev.c:3870
msgid " They exist, but they are not documented.\n"
msgstr ""
-#: toplev.c:3819
+#: toplev.c:3923
#, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr ""
-#: toplev.c:3889
+#: toplev.c:3979
+#, c-format
+msgid "`%s': unknown tls-model option"
+msgstr ""
+
+#: toplev.c:4006
#, fuzzy, c-format
msgid "unrecognized register name `%s'"
msgstr "geen argumenten"
-#: toplev.c:3914 toplev.c:4792
+#: toplev.c:4031 toplev.c:4965
#, fuzzy, c-format
msgid "unrecognized option `%s'"
msgstr "onbekende formaatspecificatie"
-#: toplev.c:3958
+#: toplev.c:4075
#, fuzzy
msgid "-Wid-clash-LEN is no longer supported"
msgstr "-pipe wordt niet ondersteund"
-#: toplev.c:4035
+#: toplev.c:4152
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr ""
-#: toplev.c:4038
+#: toplev.c:4155
msgid "use -gdwarf-2 for DWARF v2"
msgstr ""
-#: toplev.c:4043
+#: toplev.c:4160
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr ""
-#: toplev.c:4066 toplev.c:4790
+#: toplev.c:4183 toplev.c:4963
#, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr ""
-#: toplev.c:4073
+#: toplev.c:4190
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr ""
-#: toplev.c:4152
+#: toplev.c:4269
msgid "-param option missing argument"
msgstr ""
-#: toplev.c:4161
+#: toplev.c:4278
#, fuzzy, c-format
msgid "invalid --param option: %s"
msgstr "Ongeldige optie `%s'"
-#: toplev.c:4173
+#: toplev.c:4290
#, fuzzy, c-format
msgid "invalid parameter value `%s'"
msgstr "ongeldige registernaam voor `%s'"
-#: toplev.c:4380
+#: toplev.c:4530
#, fuzzy, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7675,1188 +8153,914 @@ msgstr ""
"%s%s%s versie %s (%s) gecompileerd door GNU C versie %s.\n"
"%s%s%s versie %s (%s) gecompileerd door CC.\n"
-#: toplev.c:4436
+#: toplev.c:4586
msgid "options passed: "
msgstr "meegegeven opties: "
-#: toplev.c:4465
+#: toplev.c:4615
msgid "options enabled: "
msgstr "ingeschakelde opties: "
-#: toplev.c:4524
+#: toplev.c:4674 java/jcf-write.c:3421
#, fuzzy, c-format
msgid "can't open %s for writing"
msgstr "open %s"
# Moet 'command line' vertaald worden?
-#: toplev.c:4782
+#: toplev.c:4955
#, fuzzy, c-format
msgid "ignoring command line option '%s'"
msgstr "Foldernaam ontbreekt na command-line optie"
-#: toplev.c:4785
+#: toplev.c:4958
#, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr ""
-#: toplev.c:4814
+#: toplev.c:4992
msgid "-Wuninitialized is not supported without -O"
msgstr "-Wuninitialized wordt niet ondersteund zonder -O"
-#: toplev.c:4870
+#: toplev.c:5047
msgid "instruction scheduling not supported on this target machine"
msgstr "instructie-scheduling wordt niet ondersteund op deze doelmachine"
-#: toplev.c:4874
+#: toplev.c:5051
msgid "this target machine does not have delayed branches"
msgstr "deze doelmachine heeft geen delayed branches"
-#: toplev.c:4883
-msgid "profiling does not work without a frame pointer"
-msgstr ""
-
-#: toplev.c:4898
+#: toplev.c:5065
#, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr "-f%sleading-underscore wordt niet ondersteund op deze doelmachine"
-#: toplev.c:4961
+#: toplev.c:5128
#, fuzzy
msgid "-ffunction-sections not supported for this target"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: toplev.c:4966
+#: toplev.c:5133
#, fuzzy
msgid "-fdata-sections not supported for this target"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: toplev.c:4973
+#: toplev.c:5140
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr ""
-#: toplev.c:4980
+#: toplev.c:5147
#, fuzzy
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: toplev.c:4986
+#: toplev.c:5153
#, fuzzy
msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr "-f%sleading-underscore wordt niet ondersteund op deze doelmachine"
-#: toplev.c:4993
+#: toplev.c:5162
+#, fuzzy
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+#: toplev.c:5168
msgid "-ffunction-sections may affect debugging on some targets"
msgstr ""
-#: toplev.c:5114
+#: toplev.c:5280
#, c-format
msgid "error writing to %s"
msgstr ""
-#: java/jcf-parse.c:1000 toplev.c:5116
+#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428
#, fuzzy, c-format
msgid "error closing %s"
msgstr "#error %s"
-#. It's a float since it contains a point.
-#: tradcif.y:231
-#, fuzzy
-msgid "floating point numbers not allowed in #if expressions"
-msgstr "Floating-point getallen zijn niet toegestaan in #if-expressies"
-
-#: tradcif.y:277
-msgid "invalid number in #if expression"
-msgstr ""
-
-#: tradcif.y:358
-#, fuzzy
-msgid "invalid character constant in #if"
-msgstr "niet-beëindigde karakterconstante"
-
-#: tradcif.y:395
-#, fuzzy
-msgid "double quoted strings not allowed in #if expressions"
-msgstr "stringconstantes zijn niet toegestaan in #if-expressies"
-
-#: tradcif.y:408
-#, fuzzy
-msgid "invalid token in expression"
-msgstr "Ongeldig token in expressie"
-
-#: tradcif.y:499
-#, fuzzy
-msgid "octal character constant does not fit in a byte"
-msgstr "karakterconstante te lang"
-
-#: tradcif.y:520
-#, fuzzy
-msgid "hex character constant does not fit in a byte"
-msgstr "karakterconstante te lang"
-
-#: tradcif.y:551
-#, fuzzy
-msgid "empty #if expression"
-msgstr "Ongeldig token in expressie"
-
-#: tradcif.y:565
-msgid "Junk after end of expression."
-msgstr "Brol na einde van expressie."
-
-#: tradcpp.c:138
-msgid "macro or #include recursion too deep"
-msgstr ""
-
-#: tradcpp.c:555
-#, c-format
-msgid "usage: %s [switches] input output"
-msgstr ""
-
-#: tradcpp.c:571
-#, fuzzy
-msgid "-traditional is not supported in C++"
-msgstr "-Wuninitialized wordt niet ondersteund zonder -O"
-
-#: tradcpp.c:573
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr ""
-
-#: tradcpp.c:587
-#, fuzzy
-msgid "filename missing after -i option"
-msgstr "Bestandsnaam ontbreekt na -o optie"
-
-#: tradcpp.c:605
-#, fuzzy
-msgid "filename missing after -o option"
-msgstr "Bestandsnaam ontbreekt na -o optie"
-
-#: tradcpp.c:664
-#, fuzzy, c-format
-msgid "target missing after %s option"
-msgstr "Bestandsnaam ontbreekt na %s optie"
-
-#: tradcpp.c:678
-#, fuzzy, c-format
-msgid "filename missing after %s option"
-msgstr "Bestandsnaam ontbreekt na %s optie"
-
-#: tradcpp.c:703
-#, fuzzy, c-format
-msgid "macro name missing after -%c option"
-msgstr "Macro-naam ontbreekt na -D optie"
-
-#: tradcpp.c:723
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr ""
-
-#: tradcpp.c:728
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr ""
-
-#: tradcpp.c:754
-#, fuzzy
-msgid "directory name missing after -I option"
-msgstr "Foldernaam ontbreekt na `%s' optie"
-
-#: tradcpp.c:1434 tradcpp.c:3926
-msgid "`/*' within comment"
-msgstr "`/*' binnen commentaar"
-
-# 'Voorwaarde' is niet echt een vertaling van 'conditional'.
-# Is er een betere manier?
-#: tradcpp.c:1810
-#, fuzzy, c-format
-msgid "unterminated #%s conditional"
-msgstr "niet-beëindigde `#%s' voorwaarde"
-
-#: tradcpp.c:2169
-#, fuzzy
-msgid "not in any file?!"
-msgstr "cccp fout: in geen enkel bestand?!"
-
-#: tradcpp.c:2275
-msgid "`defined' must be followed by ident or (ident)"
-msgstr ""
-
-#: tradcpp.c:2279
-msgid "cccp error: invalid special hash type"
-msgstr "cccp fout: ongeldig soort van speciale hash"
-
-#: tradcpp.c:2377 tradcpp.c:2447
-msgid "#include expects \"fname\" or <fname>"
-msgstr ""
-
-#: tradcpp.c:2532
-#, fuzzy, c-format
-msgid "no include path in which to find %.*s"
-msgstr "Geen include-pad waarin %s kan gevonden worden"
-
-#: tradcpp.c:2710
-msgid "invalid macro name"
-msgstr "ongeldige macronaam"
-
-#: tradcpp.c:2718
-#, c-format
-msgid "invalid macro name `%s'"
-msgstr ""
-
-#: tradcpp.c:2723
-msgid "\"defined\" cannot be used as a macro name"
-msgstr ""
-
-#: tradcpp.c:2750
-#, fuzzy
-msgid "parameter name starts with a digit in #define"
-msgstr "argument voor `#%s' begint met cijfer"
-
-# Is 'interpunctie' hier een goede vertaling voor 'punctuation'
-#: tradcpp.c:2760
-#, fuzzy
-msgid "badly punctuated parameter list in #define"
-msgstr "slechte interpunctie van parameterlijst in `#define'"
-
-#: tradcpp.c:2768
-#, fuzzy
-msgid "unterminated parameter list in #define"
-msgstr "niet-beëindigde parameterlijst in `#define'"
-
-#: tradcpp.c:2816
-#, fuzzy, c-format
-msgid "\"%.*s\" redefined"
-msgstr "`%.*s' opnieuw gedefinieerd"
-
-#: tradcpp.c:3073
-#, fuzzy
-msgid "# operator should be followed by a macro argument name"
-msgstr "de `#' operator zou door een naam van een macro-argument gevolgd moeten worden"
-
-#: tradcpp.c:3120 tradcpp.c:3146 tradcpp.c:3160 tradcpp.c:3167 tradcpp.c:3192
-#, fuzzy
-msgid "invalid format #line command"
-msgstr "`#line'-commando in slecht formaat"
-
-# is ongedefinieerd beter? ik denk van nie
-#: tradcpp.c:3218
-#, fuzzy
-msgid "undefining `defined'"
-msgstr "`%s' wordt geondefinieerd"
-
-# is ongedefinieerd beter? ik denk van nie
-#: tradcpp.c:3222
-#, c-format
-msgid "undefining `%s'"
-msgstr "`%s' wordt geondefinieerd"
-
-# OK, OK... Dit hoort thuis in lang nl@be, niet nl
-#: tradcpp.c:3278
-#, fuzzy
-msgid "extra text at end of directive"
-msgstr "brol aan einde van `#line'-commando"
-
-#: tradcpp.c:3385
-#, fuzzy, c-format
-msgid "#error%.*s"
-msgstr "#error %s"
-
-#: tradcpp.c:3395
-#, fuzzy, c-format
-msgid "#warning%.*s"
-msgstr "#warning %s"
-
-#: tradcpp.c:3551
-#, fuzzy
-msgid "#elif not within a conditional"
-msgstr "`#elif' niet binnen een voorwaarde"
-
-#: tradcpp.c:3808
-#, fuzzy, c-format
-msgid "#%s not within a conditional"
-msgstr "`#%s' niet binnen een voorwaarde"
-
-#: tradcpp.c:3816
-#, fuzzy
-msgid "#else or #elif after #else"
-msgstr "`#else' of `#elif' na `#else'"
-
-#: tradcpp.c:3856
-#, fuzzy
-msgid "#else not within a conditional"
-msgstr "`#else' niet binnen een voorwaarde"
-
-#: tradcpp.c:3887
-#, fuzzy
-msgid "unbalanced #endif"
-msgstr "niet-gebalanceerde `#endif'"
-
-#: tradcpp.c:3981
-msgid "unterminated string or character constant"
-msgstr "niet-beëindigde string- of karakterconstante"
-
-#: tradcpp.c:4139
-#, c-format
-msgid "arguments given to macro `%s'"
-msgstr "argumenten aan macro `%s' gegeven"
-
-#: tradcpp.c:4145
-#, fuzzy, c-format
-msgid "no args to macro `%s'"
-msgstr "argumenten aan macro `%s' gegeven"
-
-#: tradcpp.c:4147
-#, fuzzy, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "argumenten aan macro `%s' gegeven"
-
-#: tradcpp.c:4149
-#, fuzzy, c-format
-msgid "only %d args to macro `%s'"
-msgstr "argumenten aan macro `%s' gegeven"
-
-#: tradcpp.c:4151
-#, fuzzy, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "teveel argumenten voor functie `%s'"
-
-#: tradcpp.c:4748
-#, 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:841
+#: tree-dump.c:702
#, fuzzy, c-format
msgid "could not open dump file `%s'"
msgstr "kan bestand '%s' niet openen"
-#: tree-dump.c:917
+#: tree-dump.c:778
#, c-format
msgid "ignoring unknown option `%.*s' in `-f%s'"
msgstr ""
-#: tree.c:3841
+#: tree.c:3645
msgid "arrays of functions are not meaningful"
msgstr "arrays van functies zijn niet betekenisvol"
-#: tree.c:3898
+#: tree.c:3702
msgid "function return type cannot be function"
msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
-#: tree.c:4645
+#: tree.c:4544
msgid "invalid initializer for bit string"
msgstr "ongeldige beginwaarde voor bit-string"
-#: tree.c:4704
+#: tree.c:4603
#, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr ""
-#: tree.c:4721
+#: tree.c:4620
#, c-format
msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
msgstr ""
-#: config/i386/winnt.c:522 varasm.c:451
+#: 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:877
+#: varasm.c:841
#, c-format
msgid "register name not specified for `%s'"
msgstr "registernaam niet opgegeven voor `%s'"
-#: varasm.c:879
+#: varasm.c:843
#, c-format
msgid "invalid register name for `%s'"
msgstr "ongeldige registernaam voor `%s'"
-#: varasm.c:882
+#: varasm.c:846
#, c-format
msgid "data type of `%s' isn't suitable for a register"
msgstr "datatype van `%s' is niet geschikt voor een register"
-#: varasm.c:885
+#: varasm.c:849
#, fuzzy, c-format
msgid "register specified for `%s' isn't suitable for data type"
msgstr "het registernummer voor `%s' is niet geschikt voor dat datatype"
-#: varasm.c:894
+#: varasm.c:858
msgid "global register variable has initial value"
msgstr "globale registervariabele heeft beginwaarde"
-#: varasm.c:897
+#: varasm.c:861
msgid "volatile register variables don't work as you might wish"
msgstr "'volatile' registervariabelen werken niet zoals U zou willen"
-#: varasm.c:930
+#: varasm.c:894
#, c-format
msgid "register name given for non-register variable `%s'"
msgstr "registernaam opgegeven voor niet-registervariabele `%s'"
-#: varasm.c:1537
-#, c-format
-msgid "size of variable `%s' is too large"
-msgstr "variabele `%s' is te groot"
-
-#: varasm.c:1577
+#: varasm.c:1542
#, fuzzy, c-format
msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr "alignment van `%s' is groter dan het maximale alignment van het objectbestand. %d wordt gebruikt."
-#: varasm.c:1628
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
+msgstr ""
+
+#: varasm.c:1608
#, fuzzy, c-format
msgid "requested alignment for %s is greater than implemented alignment of %d"
msgstr "het gevraagde alignment voor %s is groter dan het geïmplementeerde aligment van %d."
-#: varasm.c:4449
+#: varasm.c:4020
msgid "initializer for integer value is too complicated"
msgstr "initializer voor integerwaarde is te ingewikkeld"
-#: varasm.c:4454
+#: varasm.c:4025
msgid "initializer for floating value is not a floating constant"
msgstr "initializer voor floating-point waarde is geen floating-point constante"
-#: varasm.c:4503
+#: varasm.c:4075
msgid "unknown set constructor type"
msgstr "onbekend type verzameling-constructor"
-#: varasm.c:4717
+#: varasm.c:4289
#, c-format
msgid "invalid initial value for member `%s'"
msgstr "ongeldige beginwaarde voor member `%s'"
-#: varasm.c:4909
-#, c-format
-msgid "weak declaration of `%s' must be public"
-msgstr "de zwakke declaratie van `%s' moet publiek zijn"
-
-#: varasm.c:4911
+#: varasm.c:4480 varasm.c:4523
#, c-format
msgid "weak declaration of `%s' must precede definition"
msgstr "de zwakke declaratie van `%s' moet aan de definitie voorafgaan"
-#: varasm.c:4915
+#: varasm.c:4487
+#, fuzzy, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "de zwakke declaratie van `%s' moet aan de definitie voorafgaan"
+
+#: varasm.c:4521
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr "de zwakke declaratie van `%s' moet publiek zijn"
+
+#: varasm.c:4530
#, fuzzy, c-format
msgid "weak declaration of `%s' not supported"
msgstr "de zwakke declaratie van `%s' moet publiek zijn"
-#: varasm.c:5011
+#: varasm.c:4557 varasm.c:4632
msgid "only weak aliases are supported in this configuration"
msgstr "enkel zwakke aliasen worden in deze configuratie ondersteund"
-#: varasm.c:5016
+#: varasm.c:4640
msgid "alias definitions not supported in this configuration; ignored"
msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
-#: varray.c:88
+#: varasm.c:4670
+#, fuzzy
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
+
+#: 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
-msgid "The maximum number of instructions in a function that is eligible for inlining"
-msgstr ""
-
-#: params.def:57
-msgid "The maximum number of instructions to consider to fill a delay slot"
-msgstr ""
-
-#: params.def:68
-msgid "The maximum number of instructions to consider to find accurate live register information"
-msgstr ""
+#: pretty-print.h:97
+#, fuzzy, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "-pipe wordt niet ondersteund"
-#: params.def:78
-msgid "The maximum length of scheduling's pending operations list"
+#: params.def:53
+msgid "The maximum number of instructions in a single function eliglible for inlining"
msgstr ""
-#: params.def:85
-msgid "The maximum amount of memory to be allocated by GCSE"
+#: params.def:74
+msgid "The maximuem number of instructions by repeated inlining before gcc starts to throttle inlining"
msgstr ""
-#: params.def:90
-msgid "The maximum number of passes to make when doing GCSE"
+#: 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 ""
-#: config/darwin-c.c:76
-msgid "too many #pragma options align=reset"
+#: params.def:100
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
msgstr ""
-#: config/darwin-c.c:98 config/darwin-c.c:101 config/darwin-c.c:103
-#: config/darwin-c.c:105
-#, fuzzy
-msgid "malformed '#pragma options', ignoring"
-msgstr "misvormde #pragma pack"
-
-# Moet 'signature-string' vertaald worden?
-#: config/darwin-c.c:108
-#, fuzzy
-msgid "junk at end of '#pragma options'"
-msgstr "Brol aan einde van signature-string."
-
-#: config/darwin-c.c:118
-msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+#: params.def:111
+msgid "The maximum number of instructions to consider to fill a delay slot"
msgstr ""
-#: config/darwin-c.c:131
-msgid "missing '(' after '#pragma unused', ignoring"
+#: params.def:122
+msgid "The maximum number of instructions to consider to find accurate live register information"
msgstr ""
-#: config/darwin-c.c:149
-msgid "missing ')' after '#pragma unused', ignoring"
+#: params.def:132
+msgid "The maximum length of scheduling's pending operations list"
msgstr ""
-# Moet 'signature-string' vertaald worden?
-#: config/darwin-c.c:152
-#, fuzzy
-msgid "junk at end of '#pragma unused'"
-msgstr "Brol aan einde van signature-string."
-
-#: config/nextstep.c:68
-msgid "optimization turned on"
+#: params.def:139
+msgid "The maximum amount of memory to be allocated by GCSE"
msgstr ""
-#: config/nextstep.c:74
-msgid "optimization turned off"
+#: params.def:144
+msgid "The maximum number of passes to make when doing GCSE"
msgstr ""
-#: config/nextstep.c:83
-msgid "optimization level restored"
+#: params.def:151
+msgid "The maximum number of instructions to consider to unroll in a loop"
msgstr ""
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85
-#, fuzzy
-msgid "-msystem-v and -p are incompatible"
-msgstr "-mbsd en -mxopen zijn niet compatibel"
-
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87
-#, fuzzy
-msgid "-msystem-v and -mthreads are incompatible"
-msgstr "-mbsd en -pedantic zijn niet compatibel"
-
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
+#: 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.c:1028
-#, c-format
-msgid "invalid %%Q value"
-msgstr "ongeldige waarde voor %%Q"
-
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5355
-#, c-format
-msgid "invalid %%C value"
-msgstr "ongeldige waarde voor %%C"
-
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5200
-#: config/rs6000/rs6000.c:6110
-#, c-format
-msgid "invalid %%N value"
-msgstr "ongeldige waarde voor %%N"
-
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5271
-#: config/rs6000/rs6000.c:6072
-#, c-format
-msgid "invalid %%M value"
-msgstr "ongeldige waarde voor %%M"
-
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5263
-#: config/rs6000/rs6000.c:6037
-#, c-format
-msgid "invalid %%m value"
-msgstr "ongeldige waarde voor %%m"
-
-#: config/a29k/a29k.c:1154 config/alpha/alpha.c:5224 config/romp/romp.c:690
-#, c-format
-msgid "invalid %%L value"
-msgstr "ongeldige waarde voor %%L"
-
-#: config/a29k/a29k.c:1159 config/rs6000/rs6000.c:6118
-#, c-format
-msgid "invalid %%O value"
-msgstr "ongeldige waarde voor %%O"
-
-#: config/a29k/a29k.c:1165 config/alpha/alpha.c:5208
-#: config/rs6000/rs6000.c:6138
-#, c-format
-msgid "invalid %%P value"
-msgstr "ongeldige waarde voor %%P"
-
-#: config/a29k/a29k.c:1175
-#, c-format
-msgid "invalid %%V value"
-msgstr "ongeldige waarde voor %%V"
-
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is 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:102
-msgid "Generate code assuming DW bit is not set"
+#: 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:103
-msgid "Generate code using 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:104
-msgid "Do not generate byte writes"
+#: params.def:176
+msgid "Maximal code growth caused by tail duplication (in percents)"
msgstr ""
-#: config/a29k/a29k.h:105
-msgid "Use small 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:106
-msgid "Use normal 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:107
-msgid "Use large memory model"
+#: 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:108
-msgid "Generate 29050 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:109
-msgid "Generate 29000 code"
+#: params.def:210
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
msgstr ""
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
+#: config/darwin-c.c:75
+msgid "too many #pragma options align=reset"
msgstr ""
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
-msgstr ""
+#: config/darwin-c.c:97 config/darwin-c.c:100 config/darwin-c.c:102
+#: config/darwin-c.c:104
+#, fuzzy
+msgid "malformed '#pragma options', ignoring"
+msgstr "misvormde #pragma pack"
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
-msgstr ""
+# Moet 'signature-string' vertaald worden?
+#: config/darwin-c.c:107
+#, fuzzy
+msgid "junk at end of '#pragma options'"
+msgstr "Brol aan einde van signature-string."
-#: config/a29k/a29k.h:113
-msgid "Do not emit stack checking code"
+#: config/darwin-c.c:117
+msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
msgstr ""
-#: config/a29k/a29k.h:114
-msgid "Work around storem hardware bug"
+#: config/darwin-c.c:130
+msgid "missing '(' after '#pragma unused', ignoring"
msgstr ""
-#: config/a29k/a29k.h:115
-msgid "Do not work around storem hardware bug"
+#: config/darwin-c.c:148
+msgid "missing ')' after '#pragma unused', ignoring"
msgstr ""
-#: config/a29k/a29k.h:116
+# Moet 'signature-string' vertaald worden?
+#: config/darwin-c.c:151
#, fuzzy
-msgid "Store locals in argument registers"
-msgstr "teveel argumenten voor functie"
-
-#: config/a29k/a29k.h:117
-msgid "Do not store locals in arg registers"
-msgstr ""
+msgid "junk at end of '#pragma unused'"
+msgstr "Brol aan einde van signature-string."
-#: config/a29k/a29k.h:118 config/i960/i960.h:289 config/mips/mips.h:408
-msgid "Use software floating point"
-msgstr ""
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
+#, fuzzy
+msgid "-msystem-v and -p are incompatible"
+msgstr "-mbsd en -mxopen zijn niet compatibel"
-#: config/a29k/a29k.h:119
-msgid "Do not generate multm instructions"
-msgstr ""
+#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102
+#, fuzzy
+msgid "-msystem-v and -mthreads are incompatible"
+msgstr "-mbsd en -pedantic zijn niet compatibel"
-#: config/alpha/alpha.c:273
+#: config/alpha/alpha.c:342
#, fuzzy, c-format
msgid "-f%s ignored for Unicos/Mk (not supported)"
msgstr "-pipe wordt niet ondersteund"
-#: config/alpha/alpha.c:297
+#: config/alpha/alpha.c:366
#, fuzzy
msgid "-mieee not supported on Unicos/Mk"
msgstr "-pipe wordt niet ondersteund"
-#: config/alpha/alpha.c:308
+#: config/alpha/alpha.c:377
msgid "-mieee-with-inexact not supported on Unicos/Mk"
msgstr ""
-#: config/alpha/alpha.c:325
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr "slechte waarde `%s' voor optie -mtrap-precision"
-#: config/alpha/alpha.c:339
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr "slechte waarde `%s' voor optie -mfp-rounding-mode"
-#: config/alpha/alpha.c:354
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr "slechte waarde `%s' voor optie -mfp-trap-mode"
-#: config/alpha/alpha.c:373 config/alpha/alpha.c:385
+#: config/alpha/alpha.c:435
+#, fuzzy, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "slechte waarde `%s' voor optie -mcpu"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr "slechte waarde `%s' voor optie -mcpu"
-#: config/alpha/alpha.c:392
+#: config/alpha/alpha.c:473
#, fuzzy
msgid "trap mode not supported on Unicos/Mk"
msgstr "trapmodus niet ondersteund voor VAX-floats"
-#: config/alpha/alpha.c:399
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr "fp vervollediging in software heeft -mtrap-precision=i nodig"
-#: config/alpha/alpha.c:415
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
-#: config/alpha/alpha.c:420
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
msgstr "trapmodus niet ondersteund voor VAX-floats"
# goed Nederlands voor 'latency'
-#: config/alpha/alpha.c:449
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr "L%d cache-latency niet gekend voor %s"
-#: config/alpha/alpha.c:464
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr "slechte waarde `%s' voor -mmeroy-latency"
-#: config/alpha/alpha.c:5164 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:5174
+#: config/alpha/alpha.c:5625
#, fuzzy, c-format
msgid "invalid %%J value"
msgstr "ongeldige waarde voor %%E"
-#: config/alpha/alpha.c:5184 config/ia64/ia64.c:3525
+#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "ongeldige waarde voor %%r"
-#: config/alpha/alpha.c:5194 config/rs6000/rs6000.c:6184
+#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700
#, c-format
msgid "invalid %%R value"
msgstr "ongeldige waarde voor %%R"
-#: config/alpha/alpha.c:5216 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 "ongeldige waarde voor %%N"
+
+#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654
+#, c-format
+msgid "invalid %%P value"
+msgstr "ongeldige waarde voor %%P"
+
+#: 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 "ongeldige waarde voor %%h"
-#: config/alpha/alpha.c:5306
+#: config/alpha/alpha.c:5681 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "ongeldige waarde voor %%L"
+
+#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608
+#, c-format
+msgid "invalid %%m value"
+msgstr "ongeldige waarde voor %%m"
+
+#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616
+#, c-format
+msgid "invalid %%M value"
+msgstr "ongeldige waarde voor %%M"
+
+#: config/alpha/alpha.c:5772
#, c-format
msgid "invalid %%U value"
msgstr "ongeldige waarde voor %%U"
-#: config/alpha/alpha.c:5318 config/alpha/alpha.c:5332 config/romp/romp.c:698
-#: config/rs6000/rs6000.c:6192
+#: 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 "ongeldige waarde voor %%s"
-#: config/alpha/alpha.c:5392 config/rs6000/rs6000.c:5899
+#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "ongeldige waarde voor %%C"
+
+#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7465
#, c-format
msgid "invalid %%E value"
msgstr "ongeldige waarde voor %%E"
-#: config/alpha/alpha.c:5413 config/romp/romp.c:973
-#: config/rs6000/rs6000.c:6500
+#: config/alpha/alpha.c:5883 config/alpha/alpha.c:5933
+#, fuzzy
+msgid "unknown relocation unspec"
+msgstr "onbekend type verzameling-constructor"
+
+#: config/alpha/alpha.c:5892 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8015
#, c-format
msgid "invalid %%xn code"
msgstr "ongeldige code voor %%xn"
+#: 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:220 config/i386/i386.h:285 config/i386/i386.h:287
-#: config/i386/i386.h:289 config/ns32k/ns32k.h:103 config/rs6000/rs6000.h:329
-#: config/s390/s390.h:51 config/sparc/sparc.h:552 config/sparc/sparc.h:557
+#: 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:221 config/i386/i386.h:286 config/i386/i386.h:288
-#: config/rs6000/rs6000.h:331 config/sparc/sparc.h:554
-#: config/sparc/sparc.h:559
+#: 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:222
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr ""
-#: config/alpha/alpha.h:224
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr ""
-#: config/alpha/alpha.h:225
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
msgstr ""
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
msgstr ""
-#: config/alpha/alpha.h:228
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
msgstr ""
-#: config/alpha/alpha.h:230
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr ""
-#: config/alpha/alpha.h:232
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr ""
-#: config/alpha/alpha.h:234
+#: config/alpha/alpha.h:293
#, fuzzy
msgid "Do not emit complex integer constants to read-only memory"
msgstr "complexe integerconstante is te breed voor `complex int'"
-#: config/alpha/alpha.h:235
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr ""
-#: config/alpha/alpha.h:236
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr ""
-#: config/alpha/alpha.h:237
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr ""
-#: config/alpha/alpha.h:240
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr ""
-#: config/alpha/alpha.h:243
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr ""
-#: config/alpha/alpha.h:245
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr ""
-#: config/alpha/alpha.h:248
+#: config/alpha/alpha.h:307
msgid "Emit code using explicit relocation directives"
msgstr ""
-#: config/alpha/alpha.h:251
+#: config/alpha/alpha.h:310
msgid "Emit 16-bit relocations to the small data areas"
msgstr ""
-#: config/alpha/alpha.h:253
+#: 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:281
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
msgid "Use features of and schedule given CPU"
msgstr ""
-#: config/alpha/alpha.h:283
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
msgstr ""
-#: config/alpha/alpha.h:285
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr ""
-#: config/alpha/alpha.h:287
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr ""
-#: config/alpha/alpha.h:289
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr ""
-#: config/alpha/alpha.h:291
+#: 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 "slechte waarde (%s) voor optie -mcpu"
-#: config/arc/arc.c:359
+#: config/arc/arc.c:362
#, fuzzy, c-format
msgid "argument of `%s' attribute is not a string constant"
msgstr "het argument van `asm' is geen constante string"
-#: 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:2278
-msgid "invalid operand to %R code"
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, fuzzy, c-format
+msgid "invalid operand to %%R code"
msgstr "ongeldige operand voor %R-code"
-#: config/arc/arc.c:1741 config/m32r/m32r.c:2301
-msgid "invalid operand to %H/%L code"
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, fuzzy, c-format
+msgid "invalid operand to %%H/%%L code"
msgstr "ongeldige operand voor %H/%L-code"
-#: config/arc/arc.c:1765 config/m32r/m32r.c:2378
-msgid "invalid operand to %U code"
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, fuzzy, c-format
+msgid "invalid operand to %%U code"
msgstr "ongeldige operand voor %U-code"
-#: config/arc/arc.c:1776
-msgid "invalid operand to %V code"
+#: config/arc/arc.c:1774
+#, fuzzy, c-format
+msgid "invalid operand to %%V code"
msgstr "ongeldige operand voor %V-code"
# Hoe moet dit exact geïnterpreteerd worden?
# Zowel 'operand van uitvoercode' als 'code voor operanduitvoer' is mogelijk.
#. Unknown flag.
-#: config/arc/arc.c:1783 config/m32r/m32r.c:2417 config/sparc/sparc.c:6010
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6473
msgid "invalid operand output code"
msgstr "ongeldige operand voor uitvoercode"
-#: config/arm/arm.c:439
+#: config/arm/arm.c:459
#, fuzzy, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr "optie -mcpu=%s geeft conflicten met optie -mtune="
-#: config/arm/arm.c:449 config/rs6000/rs6000.c:441 config/sparc/sparc.c:383
+#: 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 "slechte waarde (%s) foor optie %s"
-#: config/arm/arm.c:585
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
msgstr "doel-CPU ondersteunt APCS-32 niet"
-#: config/arm/arm.c:590
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
msgstr "doel-CPU ondersteunt APCS-26 niet"
-#: config/arm/arm.c:596
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
msgstr "doel-CPU ondersteunt geen interworking"
-#: config/arm/arm.c:602
+#: config/arm/arm.c:622
#, fuzzy
msgid "target CPU does not support THUMB instructions"
msgstr "doel-CPU ondersteunt geen interworking"
-#: config/arm/arm.c:616
+#: config/arm/arm.c:636
msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:619
+#: config/arm/arm.c:639
msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:622
+#: config/arm/arm.c:642
msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:628
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr "interworking forceert het gebruikt van APCS-32"
-#: config/arm/arm.c:634
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
msgstr "-mapcs-stack-check is niet compatibel met -mno-apcs-frame"
-#: config/arm/arm.c:642
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: config/arm/arm.c:645
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr "APCS reentrant code wordt niet ondersteund. Genegeerd"
-#: config/arm/arm.c:653
+#: config/arm/arm.c:673
#, fuzzy
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr "-g met -fomit-frame-pointer geeft mogelijk geen fatsoenlijke debug-mogelijkheden"
-#: config/arm/arm.c:661
+#: config/arm/arm.c:681
#, fuzzy
msgid "passing floating point arguments in fp regs not yet supported"
msgstr "Het doorgeven van floating-point argumenten in fp registers wordt nog niet ondersteund"
-#: config/arm/arm.c:690
+#: config/arm/arm.c:710
#, fuzzy, c-format
msgid "invalid floating point emulation option: -mfpe-%s"
msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s"
-#: config/arm/arm.c:714
+#: config/arm/arm.c:734
#, fuzzy
msgid "structure size boundary can only be set to 8 or 32"
msgstr "Grens voor structure-grootte kan enkel op 8 of 32 insgesteld worden"
-#: config/arm/arm.c:722
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr ""
-#: config/arm/arm.c:731
+#: config/arm/arm.c:749
#, c-format
msgid "unable to use '%s' for PIC register"
msgstr ""
-#: config/arm/arm.c:1975 config/arm/arm.c:1998 config/avr/avr.c:4703
-#: config/c4x/c4x.c:4650 config/h8300/h8300.c:3019 config/i386/i386.c:1254
-#: config/i386/i386.c:1283 config/m68hc11/m68hc11.c:1160
-#: config/mcore/mcore.c:3505 config/ns32k/ns32k.c:1044
-#: config/rs6000/rs6000.c:10412 config/sh/sh.c:4703 config/sh/sh.c:4723
-#: config/sh/sh.c:4762 config/stormy16/stormy16.c:1999 config/v850/v850.c:2044
+#: 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
#, fuzzy, c-format
msgid "`%s' attribute only applies to functions"
msgstr "het `%s' attribuut heeft enkel betekenis voor functies"
-#: config/arm/arm.c:9265
+#: config/arm/arm.c:9474
msgid "unable to compute real location of stacked parameter"
msgstr ""
-#: config/arm/arm.c:9945
+#: config/arm/arm.c:10153
msgid "no low registers available for popping high registers"
msgstr ""
-#: config/arm/arm.c:10137
+#: 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 "variable met beginwaarde `%s' is als dllimport aangeduid"
-#: 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 "statische variable `%s' is als dllimport aangeduid"
-#: config/arm/arm.h:424
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr ""
-#: config/arm/arm.h:427
+#: config/arm/arm.h:419
#, fuzzy
msgid "Store function names in object code"
msgstr "init-functie gevonden in object %s"
-#: config/arm/arm.h:431
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr ""
-#: config/arm/arm.h:433
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr ""
-#: config/arm/arm.h:437
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr ""
-#: config/arm/arm.h:440
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr ""
-#: config/arm/arm.h:443
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr ""
-#: config/arm/arm.h:450
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
msgstr ""
-#: config/arm/arm.h:452 config/i960/i960.h:287
+#: config/arm/arm.h:444 config/i960/i960.h:281
msgid "Use hardware floating point instructions"
msgstr ""
-#: config/arm/arm.h:454
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
msgstr ""
-#: config/arm/arm.h:456
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
msgstr ""
-#: config/arm/arm.h:458
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
msgstr ""
-#: config/arm/arm.h:460
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr ""
-#: config/arm/arm.h:463
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr ""
-#: config/arm/arm.h:466
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr ""
-#: config/arm/arm.h:469
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr ""
-#: config/arm/arm.h:472
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr ""
-#: config/arm/arm.h:475
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr ""
-#: config/arm/arm.h:479
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr ""
-#: config/arm/arm.h:482
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
msgstr ""
-#: config/arm/arm.h:485
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
msgstr ""
-#: config/arm/arm.h:489
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
msgstr ""
-#: config/arm/arm.h:499
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
msgstr ""
-#: config/arm/arm.h:501
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr ""
-#: config/arm/arm.h:505
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr ""
-#: config/arm/arm.h:507
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr ""
-#: config/arm/arm.h:509
+#: config/arm/arm.h:501
#, fuzzy
msgid "Specify the register to be used for PIC addressing"
msgstr "Ongeldig register in ybase-addressering"
@@ -8865,106 +9069,100 @@ msgstr "Ongeldig register in ybase-addressering"
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
-#, fuzzy, c-format
-msgid "MCU `%s' not supported"
-msgstr "-pipe wordt niet ondersteund"
-
-#: 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
#, fuzzy
msgid "internal compiler error. Bad address:"
msgstr "Interne compilerfout."
-#: config/avr/avr.c:1077
+#: config/avr/avr.c:1156
#, fuzzy
msgid "internal compiler error. Unknown mode:"
msgstr "Interne compilerfout."
# (%s = 'parameter <NUM>')
-#: config/avr/avr.c:1785 config/avr/avr.c:2497
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
#, fuzzy
msgid "invalid insn:"
msgstr "ongeldige %s"
-#: 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
#, fuzzy
msgid "unknown move insn:"
msgstr "onbekende machine-modus `%s'"
-#: 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
#, fuzzy
msgid "internal compiler error. Incorrect shift:"
msgstr "Interne compilerfout."
-#: config/avr/avr.c:4676
+#: config/avr/avr.c:4767
#, fuzzy
msgid "only initialized variables can be placed into program memory area"
msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
-#: config/avr/avr.h:63
+#: config/avr/avr.c:4866
+#, fuzzy
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
+
+#: config/avr/avr.c:4881
+#, fuzzy, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "-pipe wordt niet ondersteund"
+
+#: 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 ""
@@ -8976,138 +9174,138 @@ 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:2566
+#: config/avr/avr.h:2450
#, fuzzy
msgid "trampolines not supported"
msgstr "-pipe wordt niet ondersteund"
-#: 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
#, fuzzy, c-format
msgid "malformed '#pragma %s' - ignored"
msgstr "misvormde #pragma pack"
-#: 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 ""
# Moet 'signature-string' vertaald worden?
-#: config/c4x/c4x-c.c:88
+#: config/c4x/c4x-c.c:87
#, fuzzy, c-format
msgid "junk at end of '#pragma %s'"
msgstr "Brol aan einde van signature-string."
-#: 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:1635
+#: config/c4x/c4x.c:1602
msgid "using CONST_DOUBLE for address"
msgstr ""
-#: config/c4x/c4x.c:1775
+#: config/c4x/c4x.c:1742
msgid "c4x_address_cost: Invalid addressing mode"
msgstr "c4x_address_cost: Ongeldige addresseringsmodus"
-#: config/c4x/c4x.c:1917
+#: config/c4x/c4x.c:1884
#, c-format
msgid "c4x_print_operand: %%L inconsistency"
msgstr ""
-#: config/c4x/c4x.c:1923
+#: config/c4x/c4x.c:1890
#, c-format
msgid "c4x_print_operand: %%N inconsistency"
msgstr ""
-#: config/c4x/c4x.c:1964
+#: config/c4x/c4x.c:1931
#, c-format
msgid "c4x_print_operand: %%O inconsistency"
msgstr ""
-#: config/c4x/c4x.c:2060
+#: config/c4x/c4x.c:2026
msgid "c4x_print_operand: Bad operand case"
msgstr ""
-#: config/c4x/c4x.c:2103
+#: config/c4x/c4x.c:2069
msgid "c4x_print_operand_address: Bad post_modify"
msgstr ""
-#: config/c4x/c4x.c:2125
+#: config/c4x/c4x.c:2091
msgid "c4x_print_operand_address: Bad pre_modify"
msgstr ""
-#: config/c4x/c4x.c:2173 config/c4x/c4x.c:2185 config/c4x/c4x.c:2200
+#: 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:2456
+#: config/c4x/c4x.c:2422
msgid "c4x_rptb_insert: Cannot find start label"
msgstr ""
-#: config/c4x/c4x.c:3443 config/c4x/c4x.c:3463
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
#, fuzzy
msgid "mode not QImode"
msgstr "modus van `%s' is geen modus"
-#: config/c4x/c4x.c:3520
+#: config/c4x/c4x.c:3514
#, fuzzy
msgid "invalid indirect memory address"
msgstr "Ongeldig indirect geheugenadres"
-#: config/c4x/c4x.c:3609
+#: config/c4x/c4x.c:3603
#, fuzzy
msgid "invalid indirect (S) memory address"
msgstr "Ongeldig indirect (S) geheugenadres"
-#: config/c4x/c4x.c:3950
+#: config/c4x/c4x.c:3944
msgid "c4x_valid_operands: Internal error"
msgstr ""
-#: config/c4x/c4x.c:4430
+#: config/c4x/c4x.c:4424
msgid "c4x_operand_subword: invalid mode"
msgstr ""
-#: config/c4x/c4x.c:4433
+#: 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:4459
+#: config/c4x/c4x.c:4453
msgid "c4x_operand_subword: invalid autoincrement"
msgstr ""
-#: config/c4x/c4x.c:4465
+#: config/c4x/c4x.c:4459
msgid "c4x_operand_subword: invalid address"
msgstr ""
# klinkt niet
-#: config/c4x/c4x.c:4476
+#: config/c4x/c4x.c:4470
msgid "c4x_operand_subword: address not offsettable"
msgstr "c4x_operand_subword: adres kan niet geoffset worden"
-#: config/c4x/c4x.c:4676
+#: config/c4x/c4x.c:4670
msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
msgstr ""
@@ -9115,7 +9313,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.
@@ -9151,339 +9348,365 @@ 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
#, fuzzy
msgid "Emit code compatible with TI tools"
msgstr "incompatibele types bij %s"
-#: 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
#, fuzzy
msgid "Pass arguments in registers"
msgstr "teveel argumenten voor functie"
-#: 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
#, fuzzy
msgid "Enable use of DB instruction"
msgstr "ongeldig gebruik van `restrict'"
-#: 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
#, fuzzy
msgid "Don't force constants into registers"
msgstr "numerieke constante zonder cijfers"
-#: 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"
+#: config/cris/cris.c:583
+msgid "unexpected index-type in cris_print_index"
msgstr ""
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
+#: config/cris/cris.c:599
+msgid "unexpected base-type in cris_print_base"
msgstr ""
-#: config/convex/convex.h:53
-msgid "Generate code for c1"
+#: config/cris/cris.c:892
+#, c-format
+msgid "stackframe too big: %d bytes"
msgstr ""
-#: config/convex/convex.h:54
-msgid "Generate code for c2"
+#: config/cris/cris.c:1207
+msgid "allocated but unused delay list in epilogue"
msgstr ""
-#: config/convex/convex.h:55
-msgid "Generate code for c32"
+#: config/cris/cris.c:1217
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
msgstr ""
-#: config/convex/convex.h:56 config/convex/convex.h:57
-msgid "Generate code for c34"
-msgstr ""
+#: config/cris/cris.c:1296
+#, fuzzy
+msgid "invalid operand for 'b' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/convex/convex.h:59
-msgid "Use standard calling sequence, with arg count word"
-msgstr ""
+#: config/cris/cris.c:1308
+#, fuzzy
+msgid "invalid operand for 'v' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/convex/convex.h:61
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr ""
+#: config/cris/cris.c:1318
+#, fuzzy
+msgid "invalid operand for 'P' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/convex/convex.h:63
-msgid "Don't push arg count, depend on symbol table"
-msgstr ""
+#: config/cris/cris.c:1325
+#, fuzzy
+msgid "invalid operand for 'p' modifier"
+msgstr "ongeldige operand voor %p-code"
-#: config/convex/convex.h:65
-msgid "Use data cache for volatile mem refs (default)"
-msgstr ""
+#: config/cris/cris.c:1364
+#, fuzzy
+msgid "invalid operand for 'z' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/convex/convex.h:67
-msgid "Don't use data cache for volatile mem refs"
-msgstr ""
+#: config/cris/cris.c:1395 config/cris/cris.c:1425
+#, fuzzy
+msgid "invalid operand for 'H' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/convex/convex.h:69
-msgid "Bypass data cache for volatile mem refs"
-msgstr ""
+# of is het 'slechte register-uitbreidingscode'?
+#: config/cris/cris.c:1401
+#, fuzzy
+msgid "bad register"
+msgstr "Slechte code voor registeruitbreiding"
-#: config/convex/convex.h:70
-msgid "Use 64-bit longs"
-msgstr ""
+#: config/cris/cris.c:1439
+#, fuzzy
+msgid "invalid operand for 'e' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/convex/convex.h:71
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr ""
+#: config/cris/cris.c:1456
+#, fuzzy
+msgid "invalid operand for 'm' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/cris/cris.c:878
-#, c-format
-msgid "stackframe too big: %d bytes"
-msgstr ""
+#: config/cris/cris.c:1481
+#, fuzzy
+msgid "invalid operand for 'A' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/cris/cris.c:1193
-msgid "allocated but unused delay list in epilogue"
-msgstr ""
+#: config/cris/cris.c:1489
+#, fuzzy
+msgid "invalid operand for 'D' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/cris/cris.c:1203
-msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
-msgstr ""
+#: config/cris/cris.c:1503
+#, fuzzy
+msgid "invalid operand for 'T' modifier"
+msgstr "ongeldige operand voor %N-code"
-#: config/cris/cris.c:1497
+#: config/cris/cris.c:1512
+#, fuzzy
+msgid "invalid operand modifier letter"
+msgstr "ongeldige operand van %s"
+
+#: config/cris/cris.c:1520
#, fuzzy, c-format
msgid "internal error: bad register: %d"
msgstr "formaatstring niet beëindigd"
-#: config/cris/cris.c:1966
+#: config/cris/cris.c:1568
+msgid "unexpected multiplicative operand"
+msgstr ""
+
+#: config/cris/cris.c:1588
+#, fuzzy
+msgid "unexpected operand"
+msgstr "ongeldige operand van %s"
+
+#: config/cris/cris.c:1623 config/cris/cris.c:1633
+#, fuzzy
+msgid "unrecognized address"
+msgstr "geen argumenten"
+
+#: 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:2253
+#: config/cris/cris.c:2276
msgid "internal error: cris_side_effect_mode_ok with bad operands"
msgstr ""
-#: config/cris/cris.c:2335 config/cris/cris.c:2393
+#: config/cris/cris.c:2358 config/cris/cris.c:2416
#, fuzzy
msgid "unrecognized supposed constant"
msgstr "signature-string niet herkend"
-#: config/cris/cris.c:2434
+#: config/cris/cris.c:2457
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr ""
-#: config/cris/cris.c:2453
+#: config/cris/cris.c:2476
#, fuzzy, c-format
msgid "-max-stackframe=%d is not usable, not between 0 and %d"
msgstr "-mregparm=%d ligt niet tussen 0 en %d"
-#: config/cris/cris.c:2481
+#: config/cris/cris.c:2504
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr ""
-#: config/cris/cris.c:2517
+#: config/cris/cris.c:2540
#, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr ""
-#: config/cris/cris.c:2535
+#: config/cris/cris.c:2558
#, fuzzy
-msgid "-fPIC not supported in this configuration"
+msgid "-fPIC and -fpic are not supported in this configuration"
msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
-#: config/cris/cris.c:2551
+#: config/cris/cris.c:2574
msgid "that particular -g option is invalid with -maout and -melinux"
msgstr ""
-#: config/cris/cris.c:2742 config/cris/cris.c:2787
+#: config/cris/cris.c:2808 config/cris/cris.c:2853
msgid "unexpected side-effects in address"
msgstr ""
-#: config/cris/cris.c:2888
+#. Labels are never marked as global symbols.
+#: config/cris/cris.c:2950 config/cris/cris.c:2981
+msgid "unexpected PIC symbol"
+msgstr ""
+
+#: config/cris/cris.c:2954
msgid "PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2901
+#: config/cris/cris.c:2967 config/cris/cris.c:3050
#, fuzzy
msgid "unexpected address expression"
msgstr "ongeldige waarheidsexpressie"
-#. Labels are never marked as global symbols.
-#: config/cris/cris.c:2915
-msgid "unexpected PIC symbol"
-msgstr ""
-
-#: config/cris/cris.c:2919
+#: config/cris/cris.c:2985
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr ""
-#: config/cris/cris.c:2928
+#: config/cris/cris.c:2994
msgid "unexpected NOTE as addr_const:"
msgstr ""
@@ -9496,75 +9719,75 @@ msgid "For elinux, request a specified stack-size for this program"
msgstr ""
#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
-#: config/cris/cris.h:333
+#: config/cris/cris.h:336
msgid "Compile for ETRAX 4 (CRIS v3)"
msgstr ""
-#: config/cris/cris.h:338
+#: config/cris/cris.h:341
msgid "Compile for ETRAX 100 (CRIS v8)"
msgstr ""
-#: config/cris/cris.h:342
+#: config/cris/cris.h:345
msgid "Emit verbose debug information in assembly code"
msgstr ""
-#: config/cris/cris.h:345
+#: config/cris/cris.h:348
msgid "Do not use condition codes from normal instructions"
msgstr ""
-#: config/cris/cris.h:349
+#: config/cris/cris.h:352
msgid "Do not emit addressing modes with side-effect assignment"
msgstr ""
-#: config/cris/cris.h:352
+#: config/cris/cris.h:355
msgid "Do not tune stack alignment"
msgstr ""
-#: config/cris/cris.h:355
+#: config/cris/cris.h:358
msgid "Do not tune writable data alignment"
msgstr ""
-#: config/cris/cris.h:358
+#: config/cris/cris.h:361
msgid "Do not tune code and read-only data alignment"
msgstr ""
-#: config/cris/cris.h:367
+#: config/cris/cris.h:370
msgid "Align code and data to 32 bits"
msgstr ""
-#: config/cris/cris.h:380
+#: config/cris/cris.h:383
msgid "Don't align items in code or data"
msgstr ""
-#: config/cris/cris.h:383
+#: config/cris/cris.h:386
msgid "Do not emit function prologue or epilogue"
msgstr ""
#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
-#: config/cris/cris.h:387
+#: config/cris/cris.h:390
msgid "Use the most feature-enabling options allowed by other options"
msgstr ""
#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
-#: config/cris/cris.h:393
+#: config/cris/cris.h:396
msgid "Override -mbest-lib-options"
msgstr ""
-#: config/cris/cris.h:425
+#: config/cris/cris.h:428
msgid "Generate code for the specified chip or CPU version"
msgstr ""
-#: config/cris/cris.h:427
+#: config/cris/cris.h:430
#, fuzzy
msgid "Tune alignment for the specified chip or CPU version"
msgstr "er kan geen alignment opgegeven worden voor `%s'"
-#: config/cris/cris.h:429
+#: config/cris/cris.h:432
msgid "Warn when a stackframe is larger than the specified size"
msgstr ""
#. Node: Profiling
-#: config/cris/cris.h:1025
+#: config/cris/cris.h:1019
msgid "no FUNCTION_PROFILER for CRIS"
msgstr ""
@@ -9572,105 +9795,105 @@ msgstr ""
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
msgstr ""
-#: config/d30v/d30v.c:209
+#: config/d30v/d30v.c:207
#, c-format
msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
msgstr ""
-#: config/d30v/d30v.c:2676
+#: config/d30v/d30v.c:2666
msgid "bad insn to d30v_print_operand_address:"
msgstr ""
-#: config/d30v/d30v.c:2693 config/d30v/d30v.c:2754 config/d30v/d30v.c:2775
-#: config/d30v/d30v.c:2793
+#: 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:2861
+#: config/d30v/d30v.c:2851
msgid "bad insn to d30v_print_operand, 'f' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2870
+#: config/d30v/d30v.c:2860
msgid "bad insn to d30v_print_operand, 'A' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2877
+#: config/d30v/d30v.c:2867
msgid "bad insn to d30v_print_operand, 'M' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2931
+#: config/d30v/d30v.c:2921
msgid "bad insn to print_operand, 'F' or 'T' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2942
+#: config/d30v/d30v.c:2932
msgid "bad insn to print_operand, 'B' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2949
+#: config/d30v/d30v.c:2939
msgid "bad insn to print_operand, 'E' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2967
+#: config/d30v/d30v.c:2957
msgid "bad insn to print_operand, 'R' modifier:"
msgstr ""
-#: config/d30v/d30v.c:2976 config/d30v/d30v.c:2984
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
msgid "bad insn to print_operand, 's' modifier:"
msgstr ""
-#: config/d30v/d30v.c:3013
+#: config/d30v/d30v.c:3003
msgid "bad insn in d30v_print_operand, 0 case"
msgstr ""
-#: config/d30v/d30v.c:3368
+#: config/d30v/d30v.c:3301
msgid "d30v_emit_comparison"
msgstr ""
-#: config/d30v/d30v.c:3412
+#: 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 ""
@@ -9685,36 +9908,32 @@ msgid "invalid addressing mode"
msgstr "Ongeldige addresseringsmodus"
# of is het 'slechte register-uitbreidingscode'?
-#: config/dsp16xx/dsp16xx.c:1857
+#: config/dsp16xx/dsp16xx.c:1821
#, fuzzy
msgid "bad register extension code"
msgstr "Slechte code voor registeruitbreiding"
-#: config/dsp16xx/dsp16xx.c:1958
+#: config/dsp16xx/dsp16xx.c:1921
#, fuzzy
msgid "invalid offset in ybase addressing"
msgstr "Ongeldige offset in ybase-addressering"
-#: config/dsp16xx/dsp16xx.c:1961
+#: config/dsp16xx/dsp16xx.c:1924
#, fuzzy
msgid "invalid register in ybase addressing"
msgstr "Ongeldig register in ybase-addressering"
-#: config/dsp16xx/dsp16xx.c:1990
-msgid "inline float constants not supported on this host"
-msgstr "inline floatconstantes worden op deze host niet ondersteund"
-
-#: config/dsp16xx/dsp16xx.c:2140
+#: config/dsp16xx/dsp16xx.c:2099
#, fuzzy
msgid "invalid shift operator in emit_1600_core_shift"
msgstr "Ongeldige shift-operator in emit_1600_core_shift"
-#: config/dsp16xx/dsp16xx.c:2469
+#: config/dsp16xx/dsp16xx.c:2428
#, fuzzy
msgid "invalid mode for gen_tst_reg"
msgstr "Ongeldige modus voor gen_tst_reg"
-#: config/dsp16xx/dsp16xx.c:2541
+#: config/dsp16xx/dsp16xx.c:2500
#, fuzzy
msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr "Ongeldige modus voor integervergelijking in gen_compare_reg"
@@ -9724,95 +9943,94 @@ msgstr "Ongeldige modus voor integervergelijking in gen_compare_reg"
#. 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:1219 config/dsp16xx/dsp16xx.h:1224
-#: config/dsp16xx/dsp16xx.h:1229 config/dsp16xx/dsp16xx.h:1809
-#: config/dsp16xx/dsp16xx.h:1814
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
#, fuzzy
msgid "profiling not implemented yet"
msgstr "profileren wordt niet ondersteund wanneer -mg gebruikt wordt\n"
@@ -9820,146 +10038,294 @@ msgstr "profileren wordt niet ondersteund wanneer -mg gebruikt wordt\n"
#. 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:1240 config/dsp16xx/dsp16xx.h:1252
+#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240
#, fuzzy
msgid "trampolines not yet implemented"
msgstr "parameter wijst naar een onvolledig type"
-#. 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"
+#: config/fr30/fr30.c:453
+msgid "fr30_print_operand_address: unhandled address"
+msgstr ""
+
+#: config/fr30/fr30.c:480
+#, fuzzy, c-format
+msgid "fr30_print_operand: unrecognized %%p code"
+msgstr "ongeldige operand voor %N-code"
+
+#: config/fr30/fr30.c:500
+#, fuzzy, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
+msgstr "ongeldige operand voor %N-code"
+
+#: config/fr30/fr30.c:521
+#, fuzzy, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
+msgstr "ongeldige operand voor %N-code"
+
+#: config/fr30/fr30.c:529
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid operand to %%A code"
+msgstr "ongeldige operand voor %N-code"
+
+#: config/fr30/fr30.c:546
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid %%x code"
+msgstr "ongeldige operand voor %N-code"
+
+#: config/fr30/fr30.c:553
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid %%F code"
+msgstr "ongeldige operand voor %N-code"
+
+#: config/fr30/fr30.c:570
+msgid "fr30_print_operand: unknown code"
msgstr ""
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
+#: 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.c:456
-msgid "fr30_print_operand_address: unhandled address"
+#: config/fr30/fr30.h:63
+msgid "Assume small address space"
msgstr ""
-#: config/fr30/fr30.c:483
+#: config/frv/frv.c:410 config/frv/frv.c:428
#, c-format
-msgid "fr30_print_operand: unrecognized %p code"
+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/fr30/fr30.c:503
-msgid "fr30_print_operand: unrecognized %b code"
+#: config/frv/frv.c:2983
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
msgstr ""
-#: config/fr30/fr30.c:524
-msgid "fr30_print_operand: unrecognized %B code"
+#: config/frv/frv.c:3001
+msgid "Bad insn to frv_print_operand, P modifier:"
msgstr ""
-#: config/fr30/fr30.c:532
+#: 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
#, fuzzy
-msgid "fr30_print_operand: invalid operand to %A code"
+msgid "frv_print_operand: unknown code"
msgstr "ongeldige operand voor %N-code"
-#: config/fr30/fr30.c:549
+#: 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
+#, fuzzy
+msgid "accumulator is not a constant integer"
+msgstr "het argument van `asm' is geen constante string"
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
+msgstr ""
+
+#: config/frv/frv.c:9187
+#, fuzzy, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "geen eerdere declaratie voor `%s'"
+
+#: config/frv/frv.c:9253
#, c-format
-msgid "fr30_print_operand: invalid %x code"
+msgid "`%s' expects a constant argument"
msgstr ""
-#: config/fr30/fr30.c:556
-msgid "fr30_print_operand: invalid %F code"
+#: config/frv/frv.c:9258
+#, fuzzy, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "teveel argumenten voor procedure `%s'"
+
+#: config/frv/frv.c:9638
+msgid "media functions are not available unless -mmedia is used"
msgstr ""
-#: config/fr30/fr30.c:572
-msgid "fr30_print_operand: unknown code"
+#: config/frv/frv.c:9650
+msgid "this media function is only available on the fr500"
msgstr ""
-#: config/fr30/fr30.c:601 config/fr30/fr30.c:610 config/fr30/fr30.c:621
-#: config/fr30/fr30.c:634
-msgid "fr30_print_operand: unhandled MEM"
+#: config/frv/frv.c:9678
+msgid "this media function is only available on the fr400"
msgstr ""
-#: config/fr30/fr30.h:57
-msgid "Assume small address space"
+#. 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:141
+#: config/h8300/h8300.c:314
#, fuzzy
msgid "-ms2600 is used without -ms"
msgstr "macro `%s' gebruikt zonder argumenten"
+#: config/h8300/h8300.c:320
+#, fuzzy
+msgid "-mn is used without -mh or -ms"
+msgstr "macro `%s' gebruikt zonder argumenten"
+
#. 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
+#, fuzzy
+msgid "Enable the normal mode"
+msgstr "incompatibele record-modus"
+
+#: 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 ""
# Moet 'signature-string' vertaald worden?
-#: config/i370/i370-c.c:54
+#: config/i370/i370-c.c:53
#, fuzzy
msgid "junk at end of #pragma map"
msgstr "Brol aan einde van signature-string."
-#: config/i370/i370-c.c:60
+#: config/i370/i370-c.c:59
#, fuzzy
msgid "malformed #pragma map, ignored"
msgstr "misvormde #pragma pack(pop[,id])"
-#: 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
#, fuzzy
msgid "internal error--no jump follows compare:"
msgstr "interne fout - dup-operatie"
@@ -9968,382 +10334,378 @@ msgstr "interne fout - dup-operatie"
#. 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:924
+#: config/i386/i386.c:1043
#, fuzzy, c-format
msgid "code model %s not supported in PIC mode"
msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
-#: config/i386/i386.c:934 config/sparc/sparc.c:346
+#: config/i386/i386.c:1053 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr "slechte waarde (%s) voor optie -mcmodel="
-#: config/i386/i386.c:949
+#: config/i386/i386.c:1068
#, fuzzy, c-format
msgid "bad value (%s) for -masm= switch"
msgstr "slechte waarde (%s) voor optie -mabi="
-#: config/i386/i386.c:952
+#: config/i386/i386.c:1071
#, fuzzy, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr "ANSI C ondersteunt de `%c' lengte-optie niet"
-#: config/i386/i386.c:955
+#: config/i386/i386.c:1074
msgid "code model `large' not supported yet"
msgstr ""
-#: config/i386/i386.c:957
+#: config/i386/i386.c:1076
#, c-format
msgid "%i-bit mode not compiled in"
msgstr ""
-#: config/i386/i386.c:987 config/mips/mips.c:4972
+#: config/i386/i386.c:1106
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr "slechte waarde (%s) voor de -march= optie"
-#: config/i386/i386.c:998 config/mips/mips.c:4928
+#: config/i386/i386.c:1117
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr "slechte waarde (%s) voor de -march= optie"
-#: config/i386/i386.c:1017
+#: config/i386/i386.c:1134
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr "-mregparm=%d ligt niet tussen 0 en %d"
-#: config/i386/i386.c:1030
+#: config/i386/i386.c:1147
#, fuzzy
msgid "-malign-loops is obsolete, use -falign-loops"
msgstr "-malign-loops=%d ligt niet tussen 0 en %d"
-#: config/i386/i386.c:1035 config/i386/i386.c:1048 config/i386/i386.c:1061
+#: 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 "-malign-loops=%d ligt niet tussen 0 en %d"
-#: config/i386/i386.c:1043
+#: config/i386/i386.c:1160
#, fuzzy
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr "-malign-jumps=%d ligt niet tussen 0 en %d"
-#: config/i386/i386.c:1056
+#: config/i386/i386.c:1173
#, fuzzy
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr "-malign-functions=%d ligt niet tussen 0 en %d"
-#: config/i386/i386.c:1094
+#: config/i386/i386.c:1211
#, fuzzy, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31"
-#: config/i386/i386.c:1106
+#: config/i386/i386.c:1223
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr "-mbranch-cost=%d ligt niet tussen 0 en 5"
-#: config/i386/i386.c:1123
+#: config/i386/i386.c:1235
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "slechte waarde (%s) voor optie -msdata"
+
+#: config/i386/i386.c:1256
msgid "-malign-double makes no sense in the 64bit mode"
msgstr ""
-#: config/i386/i386.c:1125
+#: config/i386/i386.c:1258
#, fuzzy
msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
-#: config/i386/i386.c:1141 config/i386/i386.c:1152
+#: config/i386/i386.c:1274 config/i386/i386.c:1285
#, fuzzy
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr "pointer naar functie gebruikt in rekensom"
-#: config/i386/i386.c:1157
+#: config/i386/i386.c:1290
#, fuzzy
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr "pointer naar functie gebruikt in rekensom"
-#: config/i386/i386.c:1164
+#: config/i386/i386.c:1297
#, fuzzy, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr "slechte waarde (%s) voor de -march= optie"
-#: config/i386/i386.c:1294
+#: config/i386/i386.c:1429
#, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr ""
-#: config/i386/i386.c:1300
+#: config/i386/i386.c:1435
#, fuzzy, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr "kan het `%s' attribuut niet instellen na een definitie"
-#: config/i386/i386.c:5328
+#: config/i386/i386.c:6176
msgid "invalid UNSPEC as operand"
msgstr "ongeldige UNSPEC als operand"
-#: config/i386/i386.c:5529
+#: config/i386/i386.c:6438
msgid "extended registers have no high halves"
msgstr ""
-#: config/i386/i386.c:5544
+#: config/i386/i386.c:6453
msgid "unsupported operand size for extended register"
msgstr ""
-#: config/i386/i386.c:5791
+#: config/i386/i386.c:6768
msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr ""
-#: config/i386/i386.c:9774
+#: config/i386/i386.c:6814
+#, fuzzy, c-format
+msgid "invalid operand code `%c'"
+msgstr "ongeldige operand van %s"
+
+#: config/i386/i386.c:6861
+#, fuzzy
+msgid "invalid constraints for operand"
+msgstr "ongeldige operand voor %P"
+
+#: config/i386/i386.c:11027
#, fuzzy
msgid "unknown insn mode"
msgstr "onbekende machine-modus `%s'"
#. @@@ better error message
-#: config/i386/i386.c:11617 config/i386/i386.c:11650
+#: config/i386/i386.c:13083 config/i386/i386.c:13119
msgid "selector must be an immediate"
msgstr ""
#. @@@ better error message
-#: config/i386/i386.c:11808 config/i386/i386.c:11836
+#: 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
+#, fuzzy
+msgid "shift must be an immediate"
+msgstr "`defined' zonder een naam"
+
+#: config/i386/winnt.c:105
#, fuzzy, c-format
msgid "`%s' attribute only applies to variables"
msgstr "het `%s' attribuut heeft geen betekenis voor types"
-#: config/i386/winnt.c:262
+#: config/i386/winnt.c:275
#, fuzzy, c-format
msgid "`%s' declared as both exported to and imported from a DLL"
msgstr "`%s' gedeclareerd als geëxporteerd naar én geïmporteerd uit een DLL."
-#: config/i386/cygwin.h:51
+#: config/i386/cygwin.h:45
msgid "Use the Cygwin interface"
msgstr ""
-#: config/i386/cygwin.h:53
+#: config/i386/cygwin.h:46
msgid "Use the Mingw32 interface"
msgstr ""
-#: config/i386/cygwin.h:54
+#: config/i386/cygwin.h:47
msgid "Create GUI application"
msgstr ""
-#: config/i386/cygwin.h:55
+#: config/i386/cygwin.h:48
msgid "Don't set Windows defines"
msgstr ""
-#: config/i386/cygwin.h:56
+#: config/i386/cygwin.h:49
msgid "Set Windows defines"
msgstr ""
-#: config/i386/cygwin.h:58
+#: config/i386/cygwin.h:50
msgid "Create console application"
msgstr ""
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
msgid "Generate code for a DLL"
msgstr ""
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
msgid "Ignore dllimport for functions"
msgstr ""
-#: config/i386/cygwin.h:63
+#: config/i386/cygwin.h:55
msgid "Use Mingw-specific thread support"
msgstr ""
-#: config/i386/cygwin.h:257
+#: 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
-#, fuzzy
-msgid "Warn when a function arg is a structure"
-msgstr "argument #%d is een structure"
-
-#: config/i386/dgux.h:252
-#, fuzzy
-msgid "argument is a structure"
-msgstr "argument #%d is een structure"
-
-#: config/i386/djgpp.h:201
+#: config/i386/djgpp.h:204
msgid "-mbnu210 is ignored (option is obsolete)"
msgstr ""
-#: config/i386/i386.h:45 config/mips/mips.h:186
-msgid "half-pic init called on systems that don't support it"
-msgstr ""
-
#. Deprecated.
-#: config/i386/i386.h:297
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#: config/i386/i386.h:306
#, fuzzy
msgid "Alternate calling convention"
msgstr "Onbeëindigde stringconstante"
-#: config/i386/i386.h:299 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:301
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr ""
-#: config/i386/i386.h:303
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr ""
-#: config/i386/i386.h:305
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr ""
-#: config/i386/i386.h:307
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr ""
-#: config/i386/i386.h:309 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:311
+#: config/i386/i386.h:320 config/ns32k/ns32k.h:169
msgid "Do not use IEEE math for fp comparisons"
msgstr ""
-#: config/i386/i386.h:313
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr ""
-#: config/i386/i386.h:315
+#: config/i386/i386.h:324
#, fuzzy
msgid "Do not return values of functions in FPU registers"
msgstr "grootte van teruggeefwaarde van `%s' is %u bytes"
-#: config/i386/i386.h:317
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr ""
-#: config/i386/i386.h:319
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr ""
-#: config/i386/i386.h:321
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr ""
-#: config/i386/i386.h:324
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr ""
#. undocumented
#. undocumented
-#: config/i386/i386.h:329
+#: config/i386/i386.h:338
#, fuzzy
msgid "Align destination of the string operations"
msgstr "ANSI C staat het testen van asserties niet toe"
-#: config/i386/i386.h:331
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr ""
-#: config/i386/i386.h:333
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr ""
-#: config/i386/i386.h:335
+#: config/i386/i386.h:344
#, fuzzy
msgid "Do not inline all known string operations"
msgstr "ANSI C staat het testen van asserties niet toe"
-#: config/i386/i386.h:337 config/i386/i386.h:342
+#: config/i386/i386.h:346 config/i386/i386.h:350
msgid "Use push instructions to save outgoing arguments"
msgstr ""
-#: config/i386/i386.h:339 config/i386/i386.h:344
+#: 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:346
+#: config/i386/i386.h:354
#, fuzzy
msgid "Support MMX built-in functions"
msgstr "ingebouwde functie `%s' is niet geïmplementeerd"
-#: config/i386/i386.h:348
+#: config/i386/i386.h:356
#, fuzzy
msgid "Do not support MMX built-in functions"
msgstr "conflicterende types voor ingebouwde functie `%s'"
-#: config/i386/i386.h:351
+#: config/i386/i386.h:358
#, fuzzy
msgid "Support 3DNow! built-in functions"
msgstr "ingebouwde functie `%s' wordt verborgen"
-#: config/i386/i386.h:354
+#: config/i386/i386.h:360
#, fuzzy
msgid "Do not support 3DNow! built-in functions"
msgstr "conflicterende types voor ingebouwde functie `%s'"
-#: config/i386/i386.h:356
+#: config/i386/i386.h:362
msgid "Support MMX and SSE built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:359
+#: config/i386/i386.h:364
msgid "Do not support MMX and SSE built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:361
+#: config/i386/i386.h:366
msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:364
+#: config/i386/i386.h:368
msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
-#: config/i386/i386.h:366
+#: config/i386/i386.h:370
msgid "sizeof(long double) is 16"
msgstr ""
-#: config/i386/i386.h:368
+#: config/i386/i386.h:372
msgid "sizeof(long double) is 12"
msgstr ""
-#: config/i386/i386.h:370
+#: config/i386/i386.h:374
msgid "Generate 64bit x86-64 code"
msgstr ""
-#: config/i386/i386.h:372
+#: config/i386/i386.h:376
msgid "Generate 32bit i386 code"
msgstr ""
-#: config/i386/i386.h:374
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr ""
-#: config/i386/i386.h:376
+#: config/i386/i386.h:380
msgid "Do not use red-zone in the x86-64 code"
msgstr ""
@@ -10356,19 +10718,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:422 config/rs6000/rs6000.h:428 config/sparc/sparc.h:668
+#: 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:424
+#: config/i386/i386.h:411
msgid "Generate floating point mathematics using given instruction set"
msgstr ""
-#: config/i386/i386.h:426
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
msgstr ""
-#: config/i386/i386.h:428
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr ""
@@ -10382,72 +10744,44 @@ 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:430 config/m68k/m68k.h:263
+#: config/i386/i386.h:417 config/m68k/m68k.h:263
#, fuzzy
msgid "Loop code aligned to this power of 2"
msgstr "gevraagd alignment is geen macht van 2"
-#: config/i386/i386.h:432 config/m68k/m68k.h:265
+#: config/i386/i386.h:419 config/m68k/m68k.h:265
#, fuzzy
msgid "Jump targets are aligned to this power of 2"
msgstr "gevraagd alignment is geen macht van 2"
-#: config/i386/i386.h:434 config/m68k/m68k.h:267
+#: config/i386/i386.h:421 config/m68k/m68k.h:267
#, fuzzy
msgid "Function starts are aligned to this power of 2"
msgstr "gevraagd alignment is geen macht van 2"
-#: config/i386/i386.h:437
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr ""
-#: config/i386/i386.h:439
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr ""
-#: config/i386/i386.h:441
+#: config/i386/i386.h:428
msgid "Use given x86-64 code model"
msgstr ""
-#: config/i386/i386.h:447
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
msgid "Use given assembler dialect"
msgstr ""
-#: config/i386/osf1elf.h:112
-msgid "Profiling uses mcount"
-msgstr ""
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr ""
-
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr ""
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr ""
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
msgstr ""
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr ""
-
-#: config/i386/osfrose.h:77
-msgid "Use mcount for profiling"
-msgstr ""
-
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
-msgstr ""
-
-#: config/i386/sco5.h:771
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr ""
@@ -10479,34 +10813,32 @@ 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"
-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"
-msgstr ""
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr ""
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
#, fuzzy
msgid "malformed #pragma align - ignored"
msgstr "misvormde #pragma weak"
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr ""
-#: config/i960/i960.c:1405 config/m68k/m68k.c:665 config/rs6000/rs6000.c:8094
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr ""
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr ""
+
+#: 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
#, fuzzy
msgid "stack limit expression is not supported"
msgstr "-pipe wordt niet ondersteund"
@@ -10518,315 +10850,333 @@ msgstr "-pipe wordt niet ondersteund"
#. An empty string NAME is used to identify the default VALUE.
#. ??? Not all ten of these architecture variations actually exist, but I
#. am not sure which are real and which aren't.
-#: config/i960/i960.h:246
+#: config/i960/i960.h:240
msgid "Generate SA code"
msgstr ""
-#: config/i960/i960.h:249
+#: config/i960/i960.h:243
msgid "Generate SB code"
msgstr ""
#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
-#: config/i960/i960.h:254
+#: config/i960/i960.h:248
msgid "Generate KA code"
msgstr ""
-#: config/i960/i960.h:257
+#: config/i960/i960.h:251
msgid "Generate KB code"
msgstr ""
#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
-#: config/i960/i960.h:262
+#: config/i960/i960.h:256
msgid "Generate JA code"
msgstr ""
-#: config/i960/i960.h:264
+#: config/i960/i960.h:258
msgid "Generate JD code"
msgstr ""
-#: config/i960/i960.h:267
+#: config/i960/i960.h:261
msgid "Generate JF code"
msgstr ""
-#: config/i960/i960.h:269
+#: config/i960/i960.h:263
msgid "generate RP code"
msgstr ""
-#: config/i960/i960.h:272
+#: config/i960/i960.h:266
msgid "Generate MC code"
msgstr ""
-#: config/i960/i960.h:275
+#: config/i960/i960.h:269
msgid "Generate CA code"
msgstr ""
#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
-#: config/i960/i960.h:285
+#: config/i960/i960.h:279
msgid "Generate CF code"
msgstr ""
-#: config/i960/i960.h:291
+#: 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
#, fuzzy
msgid "Use alternate leaf function entries"
msgstr "sizeof toegepast op een functie-type"
-#: config/i960/i960.h:293
+#: config/i960/i960.h:287
msgid "Do not use alternate leaf function entries"
msgstr ""
-#: config/i960/i960.h:295
+#: config/i960/i960.h:289
msgid "Perform tail call optimization"
msgstr ""
-#: config/i960/i960.h:297
+#: config/i960/i960.h:291
msgid "Do not perform tail call optimization"
msgstr ""
-#: config/i960/i960.h:299
+#: config/i960/i960.h:293
#, fuzzy
msgid "Use complex addressing modes"
msgstr "Ongeldige addresseringsmodus"
-#: config/i960/i960.h:301
+#: config/i960/i960.h:295
#, fuzzy
msgid "Do not use complex addressing modes"
msgstr "Ongeldige addresseringsmodus"
-#: config/i960/i960.h:303
+#: config/i960/i960.h:297
msgid "Align code to 8 byte boundary"
msgstr ""
-#: config/i960/i960.h:305
+#: config/i960/i960.h:299
msgid "Do not align code to 8 byte boundary"
msgstr ""
#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
-#: config/i960/i960.h:311 config/i960/i960.h:313
+#: config/i960/i960.h:305 config/i960/i960.h:307
msgid "Enable compatibility with iC960 v2.0"
msgstr ""
-#: config/i960/i960.h:315
+#: config/i960/i960.h:309
msgid "Enable compatibility with iC960 v3.0"
msgstr ""
-#: config/i960/i960.h:317 config/i960/i960.h:319
+#: config/i960/i960.h:311 config/i960/i960.h:313
msgid "Enable compatibility with ic960 assembler"
msgstr ""
-#: config/i960/i960.h:321
+#: config/i960/i960.h:315
msgid "Do not permit unaligned accesses"
msgstr ""
-#: config/i960/i960.h:323
+#: config/i960/i960.h:317
msgid "Permit unaligned accesses"
msgstr ""
-#: config/i960/i960.h:325
+#: config/i960/i960.h:319
msgid "Layout types like Intel's v1.3 gcc"
msgstr ""
-#: config/i960/i960.h:327
+#: config/i960/i960.h:321
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr ""
-#: config/i960/i960.h:329 config/sparc/freebsd.h:80 config/sparc/linux.h:85
-#: config/sparc/linux64.h:138
+#: 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 ""
-#: config/i960/i960.h:331
+#: config/i960/i960.h:325
#, fuzzy
msgid "Enable linker relaxation"
msgstr "lege declaratie"
-#: config/i960/i960.h:333
+#: config/i960/i960.h:327
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:348 config/i960/i960.h:358
-msgid "conflicting architectures defined - using C series"
-msgstr ""
-
-#: config/i960/i960.h:353
-msgid "conflicting architectures defined - using K series"
-msgstr ""
-
-#: config/i960/i960.h:368
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr ""
-
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:379
-msgid "the -mlong-double-64 option does not work yet"
-msgstr ""
+#: config/ia64/ia64-c.c:50
+#, fuzzy
+msgid "malformed #pragma builtin"
+msgstr "misvormde #pragma weak"
-#: config/ia64/ia64.c:3570
+#: config/ia64/ia64.c:3879
msgid "ia64_print_operand: unknown code"
msgstr ""
-#: config/ia64/ia64.c:3844
+#: config/ia64/ia64.c:4157
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr ""
-#: config/ia64/ia64.c:3871
+#: config/ia64/ia64.c:4184
#, fuzzy, c-format
msgid "%s-%s is an empty range"
msgstr "leeg bereik"
-#: config/ia64/ia64.c:3936
-msgid "cannot optimize division for both latency and throughput"
+#: config/ia64/ia64.c:4215
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4221
+msgid "cannot optimize integer division for both latency and throughput"
msgstr ""
+#: config/ia64/ia64.c:4233
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "slechte waarde (%s) voor de -march= optie"
+
#. 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:112
+#: config/ia64/ia64.h:150
msgid "Generate big endian code"
msgstr ""
-#: config/ia64/ia64.h:114 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:116
+#: config/ia64/ia64.h:154
msgid "Generate code for GNU as"
msgstr ""
-#: config/ia64/ia64.h:118
+#: config/ia64/ia64.h:156
msgid "Generate code for Intel as"
msgstr ""
-#: config/ia64/ia64.h:120
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU ld"
msgstr ""
-#: config/ia64/ia64.h:122
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel ld"
msgstr ""
-#: config/ia64/ia64.h:124
+#: config/ia64/ia64.h:162
msgid "Generate code without GP reg"
msgstr ""
-#: config/ia64/ia64.h:126
+#: config/ia64/ia64.h:164
msgid "Emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:128
+#: config/ia64/ia64.h:166
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:130
+#: config/ia64/ia64.h:168
msgid "Emit code for Itanium (TM) processor B step"
msgstr ""
-#: config/ia64/ia64.h:132
+#: config/ia64/ia64.h:170
#, fuzzy
msgid "Use in/loc/out register names"
msgstr "ongeldige registernaam voor `%s'"
-#: config/ia64/ia64.h:134
+#: config/ia64/ia64.h:172
msgid "Disable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:136
+#: config/ia64/ia64.h:174
msgid "Enable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:138
+#: config/ia64/ia64.h:176
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr ""
-#: config/ia64/ia64.h:140
+#: config/ia64/ia64.h:178
msgid "Generate self-relocatable code"
msgstr ""
-#: config/ia64/ia64.h:142
-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:144
-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:146
+#: config/ia64/ia64.h:188
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/ia64/ia64.h:148
+#: config/ia64/ia64.h:190
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/ia64/ia64.h:176
+#: config/ia64/ia64.h:219
msgid "Specify range of registers to make fixed"
msgstr ""
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1082
+#, fuzzy
+msgid "bad operand"
+msgstr "ongeldige operand voor %P"
+
+#: config/ip2k/ip2k.c:3184
+#, fuzzy
+msgid "Only initialized variables can be placed into program memory area."
+msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
+
+#: config/m32r/m32r.c:139
#, c-format
msgid "bad value (%s) for -mmodel switch"
msgstr "slechte waarde (%s) voor optie -mmodel"
-#: config/m32r/m32r.c:139
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
msgstr "slechte waarde (%s) voor optie -msdata"
# Is the %s the argument, or is it 'of' the argument?
-#: config/m32r/m32r.c:310
+#: config/m32r/m32r.c:319
#, fuzzy, c-format
msgid "invalid argument of `%s' attribute"
msgstr "ongeldig type-argument `%s'"
-#: config/m32r/m32r.c:408
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr "constante objecten kunnen niet in .sdata/.sbbs geplaatst worden"
-#: config/m32r/m32r.c:2248
-#, c-format
-msgid "invalid operand to %s code"
+#: config/m32r/m32r.c:2256
+#, fuzzy, c-format
+msgid "invalid operand to %%s code"
msgstr "ongeldige operand voor %s-code"
-#: config/m32r/m32r.c:2255
-#, c-format
-msgid "invalid operand to %p code"
+#: config/m32r/m32r.c:2263
+#, fuzzy, c-format
+msgid "invalid operand to %%p code"
msgstr "ongeldige operand voor %p-code"
-#: config/m32r/m32r.c:2311
+#: config/m32r/m32r.c:2318
msgid "bad insn for 'A'"
msgstr ""
-#: config/m32r/m32r.c:2363
-msgid "invalid operand to %T/%B code"
+#: config/m32r/m32r.c:2370
+#, fuzzy, c-format
+msgid "invalid operand to %%T/%%B code"
msgstr "ongeldige operand voor %T/%B-code"
-#: config/m32r/m32r.c:2386
-msgid "invalid operand to %N code"
+#: config/m32r/m32r.c:2393
+#, fuzzy, c-format
+msgid "invalid operand to %%N code"
msgstr "ongeldige operand voor %N-code"
-#: config/m32r/m32r.c:2431
+#: config/m32r/m32r.c:2438
#, fuzzy
msgid "pre-increment address is not a register"
msgstr "operand `%d' is geen register"
-#: config/m32r/m32r.c:2438
+#: config/m32r/m32r.c:2445
#, fuzzy
msgid "pre-decrement address is not a register"
msgstr "operand `%d' is geen register"
-#: config/m32r/m32r.c:2445
+#: config/m32r/m32r.c:2452
#, fuzzy
msgid "post-increment address is not a register"
msgstr "switch-waarde is geen integer"
-#: config/m32r/m32r.c:2523 config/m32r/m32r.c:2539
-#: config/rs6000/rs6000.c:10712
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12737
msgid "bad address"
msgstr ""
-#: config/m32r/m32r.c:2544
+#: config/m32r/m32r.c:2551
msgid "lo_sum not of register"
msgstr ""
@@ -10856,52 +11206,52 @@ 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:3032 config/m68hc11/m68hc11.c:3406
+#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3626
#, fuzzy
msgid "move insn not handled"
msgstr "onvolledige CASE - %s niet opgevangen"
-#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3336
-#: config/m68hc11/m68hc11.c:3609
+#: config/m68hc11/m68hc11.c:3472 config/m68hc11/m68hc11.c:3556
+#: config/m68hc11/m68hc11.c:3829
#, fuzzy
msgid "invalid register in the move instruction"
msgstr "Ongeldig register in ybase-addressering"
-#: config/m68hc11/m68hc11.c:3286
+#: config/m68hc11/m68hc11.c:3506
#, fuzzy
msgid "invalid operand in the instruction"
msgstr "ongeldige operand voor %s-code"
-#: config/m68hc11/m68hc11.c:3583
+#: config/m68hc11/m68hc11.c:3803
#, fuzzy
msgid "invalid register in the instruction"
msgstr "Ongeldig register in ybase-addressering"
-#: config/m68hc11/m68hc11.c:3616
+#: config/m68hc11/m68hc11.c:3836
#, fuzzy
msgid "operand 1 must be a hard register"
msgstr "operand `%d' is geen register"
-#: config/m68hc11/m68hc11.c:3633
+#: config/m68hc11/m68hc11.c:3853
#, fuzzy
msgid "invalid rotate insn"
msgstr "ongeldig karakter in naam van macro-parameter"
-#: config/m68hc11/m68hc11.c:4053
+#: config/m68hc11/m68hc11.c:4278
msgid "registers IX, IY and Z used in the same INSN"
msgstr ""
-#: config/m68hc11/m68hc11.c:4373 config/m68hc11/m68hc11.c:4678
+#: config/m68hc11/m68hc11.c:4603 config/m68hc11/m68hc11.c:4906
msgid "cannot do z-register replacement"
msgstr ""
-#: config/m68hc11/m68hc11.c:4727
+#: config/m68hc11/m68hc11.c:4969
#, fuzzy
msgid "invalid Z register replacement for insn"
msgstr "ongeldige registernaam voor `%s'"
@@ -10910,27 +11260,48 @@ msgstr "ongeldige registernaam voor `%s'"
#. 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:152
+#: config/m68hc11/m68hc11.h:160
msgid "Compile with 16-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:154
+#: config/m68hc11/m68hc11.h:162
msgid "Compile with 32-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:156
+#: config/m68hc11/m68hc11.h:164
msgid "Auto pre/post decrement increment allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:158
+#: config/m68hc11/m68hc11.h:166
msgid "Auto pre/post decrement increment not allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:160 config/m68hc11/m68hc11.h:164
+#: 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
+#, fuzzy
+msgid "Do not use direct addressing mode for soft registers"
+msgstr "Ongeldige addresseringsmodus"
+
+#: config/m68hc11/m68hc11.h:178 config/m68hc11/m68hc11.h:182
msgid "Compile for a 68HC11"
msgstr ""
-#: config/m68hc11/m68hc11.h:162 config/m68hc11/m68hc11.h:166
+#: config/m68hc11/m68hc11.h:180 config/m68hc11/m68hc11.h:184
msgid "Compile for a 68HC12"
msgstr ""
@@ -10943,29 +11314,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:180
+#: config/m68hc11/m68hc11.h:198
msgid "Specify the register allocation order"
msgstr ""
-#: config/m68hc11/m68hc11.h:182
+#: 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 "-malign-loops=%d ligt niet tussen 1 en %d"
-#: config/m68k/m68k.c:161
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr "-malign-jumps=%d ligt niet tussen 1 en %d"
-#: config/m68k/m68k.c:172
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
msgstr "-malign-functions=%d ligt niet tussen 1 en %d"
+#: 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 }
@@ -11087,113 +11462,86 @@ 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 ""
-
# Ik ben niet zeker of short-branch vertaald moet worden.
-#: config/m88k/m88k.c:900
+#: config/m88k/m88k.c:903
#, fuzzy, c-format
msgid "internal gcc monitor: short-branch(%x)"
msgstr "Interne monitor van gcc: short-branch(%x)"
-#: config/m88k/m88k.c:2300
+#: config/m88k/m88k.c:2302
#, fuzzy
msgid "internal gcc error: Can't express symbolic location"
msgstr "Interne fout van gcc: Kan symbolische locatie niet uitdrukken"
-#: config/m88k/m88k.c:2582
+#: config/m88k/m88k.c:2517
#, c-format
msgid "argument #%d is a structure"
msgstr "argument #%d is een structure"
-#: config/m88k/m88k.c:2882
-msgid "%R not followed by %B/C/D/E"
+#: config/m88k/m88k.c:2816
+#, fuzzy, c-format
+msgid "%%R not followed by %%B/C/D/E"
msgstr "%E niet gevolgd door %B/C/D/E"
-#: config/m88k/m88k.c:2950
-#, c-format
-msgid "invalid %x/X value"
+#: config/m88k/m88k.c:2884
+#, fuzzy, c-format
+msgid "invalid %%x/X value"
msgstr "ongeldige waarde voor %x/X"
-#: config/m88k/m88k.c:2955
-msgid "invalid %H value"
-msgstr "ongeldige waarde voor %H"
-
-#: config/m88k/m88k.c:2961
-msgid "invalid %h value"
-msgstr "ongeldige waarde voor %h"
-
-#: config/m88k/m88k.c:2967
-msgid "invalid %Q value"
-msgstr "ongeldige waarde voor %Q"
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "ongeldige waarde voor %%Q"
-#: config/m88k/m88k.c:2973
-msgid "invalid %q value"
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681
+#, fuzzy, c-format
+msgid "invalid %%q value"
msgstr "ongeldige waarde voor %q"
-#: config/m88k/m88k.c:2979
-#, c-format
-msgid "invalid %o value"
+#: config/m88k/m88k.c:2913
+#, fuzzy, c-format
+msgid "invalid %%o value"
msgstr "ongeldige waarde voor %o"
-#: config/m88k/m88k.c:2986
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644
#, c-format
-msgid "invalid %p value"
-msgstr "ongeldige waarde voor %p"
+msgid "invalid %%p value"
+msgstr ""
-#: config/m88k/m88k.c:2999 config/m88k/m88k.c:3004
-#, c-format
-msgid "invalid %s/S value"
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, fuzzy, c-format
+msgid "invalid %%s/S value"
msgstr "ongeldige waarde voor %s/S"
-#: config/m88k/m88k.c:3015
-msgid "invalid %P operand"
+#: config/m88k/m88k.c:2949
+#, fuzzy, c-format
+msgid "invalid %%P operand"
msgstr "ongeldige operand voor %P"
-#: config/m88k/m88k.c:3046
-msgid "invalid %B value"
-msgstr "ongeldige waarde voor %B"
-
-#: config/m88k/m88k.c:3063
-msgid "invalid %C value"
-msgstr "ongeldige waarde voor %C"
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
+#, c-format
+msgid "invalid %%B value"
+msgstr ""
-#: config/m88k/m88k.c:3076
-msgid "invalid %D value"
+#: config/m88k/m88k.c:3010
+#, fuzzy, c-format
+msgid "invalid %%D value"
msgstr "ongeldige waarde voor %D"
-#: config/m88k/m88k.c:3084
-#, c-format
-msgid "invalid %E value"
-msgstr "ongeldige waarde voor %E"
-
-#: config/m88k/m88k.c:3089
-#, c-format
-msgid "`%d' operand isn't a register"
+#: config/m88k/m88k.c:3023
+#, fuzzy, c-format
+msgid "`%%d' operand isn't a register"
msgstr "operand `%d' is geen register"
-#: config/m88k/m88k.c:3100
-msgid "invalid %r value"
-msgstr ""
-
-#: config/m88k/m88k.c:3107
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr ""
-#: config/m88k/m88k.c:3121
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr ""
-#: config/m88k/m88k.c:3140
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr ""
@@ -11218,7 +11566,7 @@ msgstr "omvang van array `%s' is te groot"
msgid "-mshort-data-%s and PIC are incompatible"
msgstr "-mbsd en -mxopen zijn niet compatibel"
-#: config/mcore/mcore.c:3083
+#: config/mcore/mcore.c:3078
#, fuzzy, c-format
msgid "invalid option `-mstack-increment=%s'"
msgstr "Pngeldige optie `-%s'"
@@ -11275,222 +11623,232 @@ msgstr ""
msgid "Maximum amount for a single stack increment operation"
msgstr ""
-#: config/mips/mips.c:4824
+#: config/mips/mips.c:5112
#, c-format
-msgid "-mips%d not supported"
+msgid "bad value (%s) for -mabi= switch"
+msgstr "slechte waarde (%s) voor optie -mabi="
+
+#: config/mips/mips.c:5142
+#, c-format
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
msgstr ""
-#: config/mips/mips.c:4831
+#: config/mips/mips.c:5149
#, c-format
msgid "bad value (%s) for -mips switch"
msgstr "slechte waarde (%s) voor optie -mips"
-#: config/mips/mips.c:4852
-#, c-format
-msgid "bad value (%s) for -mabi= switch"
-msgstr "slechte waarde (%s) voor optie -mabi="
+#: config/mips/mips.c:5164
+#, fuzzy, c-format
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr "case-selector niet compatibel met label"
-#: config/mips/mips.c:4890
-#, 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:4907
-#, fuzzy
-msgid "this target does not support the -mabi switch"
-msgstr "doel-CPU ondersteunt geen interworking"
-
-#: config/mips/mips.c:5017
-#, fuzzy, c-format
-msgid "bad value (%s) for -mtune= switch"
-msgstr "slechte waarde (%s) voor de -march= optie"
+#: config/mips/mips.c:5178
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr ""
-#: config/mips/mips.c:5033
-#, fuzzy, c-format
-msgid "-march=%s does not support -mips%d"
-msgstr "-mcpu=%s ondersteunt -march=%s niet"
+#: config/mips/mips.c:5180
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr ""
-#: config/mips/mips.c:5040
+#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202
#, fuzzy, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr "-mcpu=%s ondersteunt -march=%s niet"
+msgid "unsupported combination: %s"
+msgstr "niet-ondersteunde versie"
-#: config/mips/mips.c:5046
-#, fuzzy, c-format
-msgid "-mips%d does not support 64 bit gp registers"
-msgstr "-mcpu=%s ondersteunt -march=%s niet"
+#: config/mips/mips.c:5272
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr ""
-#: config/mips/mips.c:5067
+#: config/mips/mips.c:5283
msgid "-G is incompatible with PIC code which is the default"
msgstr ""
-#: config/mips/mips.c:5083
+#: config/mips/mips.c:5299
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr ""
-#: config/mips/mips.c:5086
+#: config/mips/mips.c:5302
msgid "-G and -membedded-pic are incompatible"
msgstr ""
-#: config/mips/mips.c:5137
+#: config/mips/mips.c:5353
#, fuzzy, c-format
msgid "invalid option `entry%s'"
msgstr "Ongeldige optie `%s'"
-#: config/mips/mips.c:5140
+#: config/mips/mips.c:5356
msgid "-mentry is only meaningful with -mips-16"
msgstr ""
-#: config/mips/mips.c:5480
+#: config/mips/mips.c:5761
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5494
+#: config/mips/mips.c:5775
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5507
+#: config/mips/mips.c:5788
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5520
+#: config/mips/mips.c:5801
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5534
+#: config/mips/mips.c:5815
#, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr ""
-#: config/mips/mips.c:5543
+#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr ""
-#: config/mips/mips.c:5676
+#: config/mips/mips.c:5955
#, fuzzy, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr "ongeldig gebruik van een void-expressie"
-#: config/mips/mips.c:5719
+#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr ""
-#: config/mips/mips.c:5943
+#: config/mips/mips.c:6222
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr ""
-#: config/mips/mips.c:6257
+#: config/mips/mips.c:6532
#, fuzzy
msgid "can't rewind temp file"
msgstr "kan bestand '%s' niet openen"
-#: config/mips/mips.c:6261
+#: config/mips/mips.c:6536
#, fuzzy
msgid "can't write to output file"
msgstr "kan bestand '%s' niet openen"
-#: config/mips/mips.c:6264
+#: config/mips/mips.c:6539
msgid "can't read from temp file"
msgstr ""
-#: config/mips/mips.c:6267
+#: config/mips/mips.c:6542
#, fuzzy
msgid "can't close temp file"
msgstr "close %s"
-#: config/mips/mips.c:6700
+#: config/mips/mips.c:6983
#, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:6862
+#: config/mips/mips.c:7092
#, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:8893
+#: 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
+#, fuzzy, c-format
+msgid "bad value (%s) for %s"
+msgstr "slechte waarde (%s) foor optie %s"
+
+#. 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:368 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:370
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr ""
-#: config/mips/mips.h:372
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr ""
-#: config/mips/mips.h:374
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr ""
-#: config/mips/mips.h:376
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr ""
-#: config/mips/mips.h:378
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr ""
-#: config/mips/mips.h:380
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr ""
-#: config/mips/mips.h:382
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr ""
-#: config/mips/mips.h:384
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
msgstr ""
-#: config/mips/mips.h:386
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr ""
-#: config/mips/mips.h:388 config/mips/mips.h:390
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr ""
-#: config/mips/mips.h:392 config/mips/mips.h:394
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr ""
-#: config/mips/mips.h:396
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr ""
-#: config/mips/mips.h:398
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr ""
-#: config/mips/mips.h:400
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr ""
-#: config/mips/mips.h:402
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr ""
-#: config/mips/mips.h:404
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr ""
-#: config/mips/mips.h:406
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr ""
@@ -11500,267 +11858,251 @@ 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:410 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:412
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr ""
-#: config/mips/mips.h:414
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr ""
-#: config/mips/mips.h:416
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr ""
-#: config/mips/mips.h:418
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr ""
-#: config/mips/mips.h:420
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr ""
-#: config/mips/mips.h:422
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
msgstr ""
-#: config/mips/mips.h:424
-msgid "Use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:426
-msgid "Don't use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:428
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr ""
-#: config/mips/mips.h:430
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr ""
-#: config/mips/mips.h:432
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr ""
-#: config/mips/mips.h:434
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr ""
-#: config/mips/mips.h:436
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr ""
-#: config/mips/mips.h:438
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr ""
-#: config/mips/mips.h:440
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
msgstr ""
-#: config/mips/mips.h:442
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
msgstr ""
-#: config/mips/mips.h:444
+#. Macro to define tables used to set the flags.
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr ""
-#: config/mips/mips.h:446
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr ""
-#: config/mips/mips.h:448
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr ""
-#: config/mips/mips.h:450
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr ""
-#: config/mips/mips.h:452
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr ""
-#: config/mips/mips.h:454
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr ""
-#: config/mips/mips.h:456 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:458 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:460
+#: config/mips/mips.h:616
msgid "Work around early 4300 hardware bug"
msgstr ""
-#: config/mips/mips.h:462
+#: config/mips/mips.h:618
msgid "Don't work around early 4300 hardware bug"
msgstr ""
-#: config/mips/mips.h:464
-msgid "Optimize for 3900"
-msgstr ""
-
-#: config/mips/mips.h:466
-msgid "Optimize for 4650"
-msgstr ""
-
-#: config/mips/mips.h:468
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr ""
-#: config/mips/mips.h:470
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr ""
-#: config/mips/mips.h:472
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr ""
-#: config/mips/mips.h:474
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr ""
-#: config/mips/mips.h:590 config/mips/mips.h:592
+#: 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:594
+#: config/mips/mips.h:746
msgid "Specify CPU for code generation purposes"
msgstr ""
-#: config/mips/mips.h:596
+#: 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:598
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr ""
-#: config/mips/mips.h:600
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr ""
-#: config/mips/mips.h:604
+#: config/mips/mips.h:756
msgid "Don't call any cache flush functions"
msgstr ""
-#: config/mips/mips.h:606
+#: 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:2869
+#: config/mips/mips.h:2868
msgid "mips16 function profiling"
msgstr ""
-#: config/mmix/mmix.c:138
+#: config/mmix/mmix.c:189
#, fuzzy, c-format
msgid "-f%s not supported: ignored"
msgstr "-pipe wordt niet ondersteund"
-#: config/mmix/mmix.c:564
+#: 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:651
-msgid "stack frame too big"
-msgstr ""
-
-#: config/mmix/mmix.c:679
-#, c-format
-msgid "stack frame not a multiple of 8 bytes: %d"
-msgstr ""
-
-#: config/mmix/mmix.c:1022
-#, c-format
-msgid "stack frame not a multiple of octabyte: %d"
-msgstr ""
-
-#: config/mmix/mmix.c:1190
+#: config/mmix/mmix.c:826
msgid "function_profiler support for MMIX"
msgstr ""
-#: config/mmix/mmix.c:1227
-msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
-msgstr ""
-
-#: config/mmix/mmix.c:1233
+#: 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:1556
-msgid "oops, not debugged; fixing up value:"
-msgstr ""
-
-#: config/mmix/mmix.c:2100 config/mmix/mmix.c:2234
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
msgid "MMIX Internal: Expected a CONST_INT, not this"
msgstr ""
-#: config/mmix/mmix.c:2108 config/mmix/mmix.c:2132 config/mmix/mmix.c:2251
+#: 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:2179
+#: config/mmix/mmix.c:1718
msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
msgstr ""
-#: config/mmix/mmix.c:2202
+#: config/mmix/mmix.c:1737
msgid "MMIX Internal: Expected a register, not this"
msgstr ""
-#: config/mmix/mmix.c:2212
+#: 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:2244
+#: 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:2295
+#: config/mmix/mmix.c:1831
msgid "MMIX Internal: Cannot decode this operand"
msgstr ""
-#: config/mmix/mmix.c:2354
+#: config/mmix/mmix.c:1891
msgid "MMIX Internal: This is not a recognized address"
msgstr ""
-#: config/mmix/mmix.c:2823 config/mmix/mmix.c:2892
+#: 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:3011
+#: config/mmix/mmix.c:3006
msgid "MMIX Internal: Trying to output invalidly reversed condition:"
msgstr ""
-#: config/mmix/mmix.c:3018
+#: config/mmix/mmix.c:3013
msgid "MMIX Internal: What's the CC of this?"
msgstr ""
-#: config/mmix/mmix.c:3022
+#: config/mmix/mmix.c:3017
msgid "MMIX Internal: What is the CC of this?"
msgstr ""
-#: config/mmix/mmix.c:3093
+#: config/mmix/mmix.c:3088
#, fuzzy
msgid "MMIX Internal: This is not a constant:"
msgstr "gevraagd alignment is geen constante"
@@ -11774,68 +12116,84 @@ msgstr "gevraagd alignment is geen constante"
#. 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.
#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
#. Provide default program start 0x100 unless -mno-set-program-start.
-#. Link to ELF if requested.
+#. 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:135
+#: config/mmix/mmix.h:132
msgid "Set start-address of the program"
msgstr ""
-#: config/mmix/mmix.h:137
+#: 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:175
+#: config/mmix/mmix.h:198
msgid "For intrinsics library: pass all parameters in registers"
msgstr ""
-#: config/mmix/mmix.h:178
+#: config/mmix/mmix.h:201
msgid "Use register stack for parameters and return value"
msgstr ""
-#: config/mmix/mmix.h:180
+#: config/mmix/mmix.h:203
msgid "Use call-clobbered registers for parameters and return value"
msgstr ""
-#: config/mmix/mmix.h:182
+#: config/mmix/mmix.h:205
msgid "Use epsilon-respecting floating point compare instructions"
msgstr ""
-#: config/mmix/mmix.h:185
+#: config/mmix/mmix.h:208
msgid "Use zero-extending memory loads, not sign-extending ones"
msgstr ""
-#: config/mmix/mmix.h:188
+#: 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:192
+#: config/mmix/mmix.h:215
msgid "Prepend global symbols with \":\" (for use with PREFIX)"
msgstr ""
-#: config/mmix/mmix.h:194
+#: config/mmix/mmix.h:217
msgid "Do not provide a default start-address 0x100 of the program"
msgstr ""
-#: config/mmix/mmix.h:196
+#: config/mmix/mmix.h:219
msgid "Link to emit program in ELF format (rather than mmo)"
msgstr ""
-#: config/mmix/mmix.h:198
+#: config/mmix/mmix.h:221
msgid "Use P-mnemonics for branches statically predicted as taken"
msgstr ""
-#: config/mmix/mmix.h:200
+#: config/mmix/mmix.h:223
msgid "Don't use P-mnemonics for branches"
msgstr ""
+#: config/mmix/mmix.h:225
+msgid "Use addresses that allocate global registers"
+msgstr ""
+
+#: 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
+#, fuzzy
+msgid "Do not generate a single exit point for each function"
+msgstr "interne fout - slechte ingebouwde functie `%s'"
+
#: config/mn10300/mn10300.h:59
msgid "Work around hardware multiply bug"
msgstr ""
@@ -11852,158 +12210,293 @@ msgstr ""
msgid "Enable linker relaxations"
msgstr ""
-#: config/ns32k/ns32k.h:104 config/s390/s390.h:52
+#: 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
#, fuzzy
msgid "Pass some arguments in registers"
msgstr "te weinig argument voor functie"
-#: 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
#, fuzzy
msgid "\"Small register classes\" kludge"
msgstr "Ongeldige registerklasse-letter %c"
-#: config/ns32k/ns32k.h:125
+#: config/ns32k/ns32k.h:166
#, fuzzy
msgid "No \"Small register classes\" kludge"
msgstr "Ongeldige registerklasse-letter %c"
-#: config/pa/pa.c:188
+#: 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:213
+#: 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:218
+#: config/pa/pa.c:284
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr ""
-#: config/pa/pa.c:223
+#: config/pa/pa.c:289
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr ""
-#: config/pa/pa.c:228
+#: config/pa/pa.c:294
msgid "-g is only supported when using GAS on this processor,"
msgstr ""
-#: config/pa/pa.c:229
+#: config/pa/pa.c:295
#, fuzzy
msgid "-g option disabled"
msgstr "ingeschakelde opties: "
-#: 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
+#, fuzzy
+msgid "Disable indexed addressing"
+msgstr "Ongeldige addresseringsmodus"
+
+#: config/pa/pa.h:242
+#, fuzzy
+msgid "Do not disable indexed addressing"
+msgstr "Ongeldige addresseringsmodus"
+
+#: config/pa/pa.h:244
+#, fuzzy
+msgid "Use portable calling conventions"
+msgstr "Onbeëindigde stringconstante"
+
+#: config/pa/pa.h:246
+#, fuzzy
+msgid "Do not use portable calling conventions"
+msgstr "Onbeëindigde stringconstante"
+
+#: 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
+#, fuzzy
+msgid "Do not emit long load/store sequences"
+msgstr "niet-beëindigde commentaar"
+
+#: 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
+#, fuzzy
+msgid "Generate code for huge switch statements"
+msgstr "case-label niet in een switch-statement"
+
+#: 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
+#, fuzzy
+msgid "Enable linker optimizations"
+msgstr "lege declaratie"
+
+#: 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
#, fuzzy
msgid "Return floating point results in ac0"
msgstr "floating-point constante buiten bereik"
-#: config/pdp11/pdp11.h:59
+#: config/pdp11/pdp11.h:60
#, fuzzy
msgid "Return floating point results in memory"
msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s"
#. 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 ""
@@ -12011,79 +12504,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:682
-#, c-format
-msgid "invalid %%B value"
-msgstr ""
-
-#: config/romp/romp.c:709 config/rs6000/rs6000.c:6202
+#: 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:5981
+#: 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 ""
@@ -12101,149 +12565,219 @@ msgstr ""
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr ""
-#: config/rs6000/rs6000.c:472
+#. 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
+#, fuzzy
+msgid "ignoring malformed #pragma longcall"
+msgstr "pragma wordt genegeerd: %s"
+
+#: config/rs6000/rs6000-c.c:58
+#, fuzzy
+msgid "missing open paren"
+msgstr "beginwaarde ontbreekt"
+
+#: config/rs6000/rs6000-c.c:60
+#, fuzzy
+msgid "missing number"
+msgstr "beginwaarde ontbreekt"
+
+#: config/rs6000/rs6000-c.c:62
+#, fuzzy
+msgid "missing close paren"
+msgstr "ontbrekende index-expressie"
+
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
+msgstr ""
+
+# Moet 'signature-string' vertaald worden?
+#: config/rs6000/rs6000-c.c:68
+#, fuzzy
+msgid "junk at end of #pragma longcall"
+msgstr "Brol aan einde van signature-string."
+
+#: config/rs6000/rs6000.c:588
msgid "-mmultiple is not supported on little endian systems"
msgstr ""
-#: config/rs6000/rs6000.c:479
+#: config/rs6000/rs6000.c:595
msgid "-mstring is not supported on little endian systems"
msgstr ""
-#: config/rs6000/rs6000.c:485
+#: config/rs6000/rs6000.c:619
#, c-format
-msgid "-f%s ignored (all code is position independent)"
-msgstr ""
-
-#: config/rs6000/rs6000.c:494
-msgid "-ffunction-sections disabled on AIX when debugging"
+msgid "unknown -mdebug-%s switch"
msgstr ""
-#: config/rs6000/rs6000.c:500
-#, fuzzy
-msgid "-fdata-sections not supported on AIX"
-msgstr "-pipe wordt niet ondersteund"
-
-#: config/rs6000/rs6000.c:515
+#: config/rs6000/rs6000.c:631
#, c-format
-msgid "unknown -mdebug-%s switch"
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
msgstr ""
-#: config/rs6000/rs6000.c:525
+#: config/rs6000/rs6000.c:642
#, c-format
msgid "Unknown switch -mlong-double-%s"
msgstr ""
-#: config/rs6000/rs6000.c:590
+#: config/rs6000/rs6000.c:734
+#, fuzzy, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "onbekende machine-modus `%s'"
+
+#: config/rs6000/rs6000.c:749
+#, fuzzy, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "onbekende machine-modus `%s'"
+
+#: config/rs6000/rs6000.c:768
#, fuzzy, c-format
msgid "unknown ABI specified: '%s'"
msgstr "onbekende machine-modus `%s'"
-#: config/rs6000/rs6000.c:3810
+#: config/rs6000/rs6000.c:4169
+#, fuzzy
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "argument van `%s' moet van een integraal type zijn."
+
+#: config/rs6000/rs6000.c:4276 config/rs6000/rs6000.c:4866
+#, fuzzy
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "argument van `%s' moet van een integraal type zijn."
+
+#: config/rs6000/rs6000.c:4319
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr "argument voor `__builtin_args_info' moet een constante zijn"
+
+#: config/rs6000/rs6000.c:4373
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr "argument voor `__builtin_args_info' buiten bereik"
+
+#: config/rs6000/rs6000.c:4452
+#, fuzzy
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "argument van `%s' moet van een integraal type zijn."
+
+#: config/rs6000/rs6000.c:4629
#, fuzzy, 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 "argument van `%s' moet van een integraal type zijn."
+
+#: config/rs6000/rs6000.c:4745
+#, fuzzy
+msgid "argument to dss must be a 2-bit unsigned literal"
msgstr "argument van `%s' moet van een integraal type zijn."
-#: config/rs6000/rs6000.c:5908
+#: config/rs6000/rs6000.c:4976
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "argument voor `__builtin_args_info' moet een constante zijn"
+
+#: config/rs6000/rs6000.c:5049
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "argument voor `__builtin_args_info' buiten bereik"
+
+#: config/rs6000/rs6000.c:7474
#, c-format
msgid "invalid %%f value"
msgstr ""
-#: config/rs6000/rs6000.c:5917
+#: config/rs6000/rs6000.c:7483
#, c-format
msgid "invalid %%F value"
msgstr ""
-#: config/rs6000/rs6000.c:5926
+#: config/rs6000/rs6000.c:7492
#, c-format
msgid "invalid %%G value"
msgstr ""
-#: config/rs6000/rs6000.c:5961
+#: config/rs6000/rs6000.c:7527
#, c-format
msgid "invalid %%j code"
msgstr ""
-#: config/rs6000/rs6000.c:5971
+#: config/rs6000/rs6000.c:7537
#, c-format
msgid "invalid %%J code"
msgstr ""
-#: config/rs6000/rs6000.c:6001
+#: config/rs6000/rs6000.c:7567
#, fuzzy, c-format
msgid "invalid %%K value"
msgstr "ongeldige waarde voor %%E"
-#: config/rs6000/rs6000.c:6128
-#, c-format
-msgid "invalid %%p value"
-msgstr ""
-
-#: config/rs6000/rs6000.c:6165
-#, fuzzy, c-format
-msgid "invalid %%q value"
-msgstr "ongeldige waarde voor %q"
-
-#: config/rs6000/rs6000.c:6228
-#, c-format
-msgid "%%S computed all 1's mask"
-msgstr ""
-
-#: config/rs6000/rs6000.c:6255
+#: config/rs6000/rs6000.c:7634
#, c-format
-msgid "%%S computed all 0's mask"
-msgstr ""
+msgid "invalid %%O value"
+msgstr "ongeldige waarde voor %%O"
-#: config/rs6000/rs6000.c:6265
+#: config/rs6000/rs6000.c:7756
#, c-format
msgid "invalid %%T value"
msgstr ""
-#: config/rs6000/rs6000.c:6275
+#: config/rs6000/rs6000.c:7766
#, c-format
msgid "invalid %%u value"
msgstr ""
-#: config/rs6000/rs6000.c:6284
+#: config/rs6000/rs6000.c:7775
#, c-format
msgid "invalid %%v value"
msgstr ""
-#: config/rs6000/aix.h:134 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
#, fuzzy
msgid "Always pass floating-point arguments in memory"
msgstr "Het doorgeven van floating-point argumenten in fp registers wordt nog niet ondersteund"
-#: config/rs6000/aix.h:136 config/rs6000/beos.h:34
+#: config/rs6000/aix.h:162 config/rs6000/beos.h:34
#, fuzzy
msgid "Don't always pass floating-point arguments in memory"
msgstr "Het doorgeven van floating-point argumenten in fp registers wordt nog niet ondersteund"
#: 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
#, fuzzy
msgid "-maix64 and POWER architecture are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: 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 ""
@@ -12254,147 +12788,163 @@ 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
#, fuzzy
msgid "Place floating point constants in TOC"
msgstr "misvormde floating-point constante"
-#: 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:666
+#: 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.
@@ -12407,100 +12957,104 @@ 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:1776
+#: 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
#, fuzzy
msgid "Align to the base type of the bit-field"
msgstr "`__alignof' toegepast op bitveld"
-#: 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
@@ -12509,3396 +13063,1012 @@ msgstr ""
#.
#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
#. get control.
-#: config/rs6000/sysv4.h:212
+#: config/rs6000/sysv4.h:214
#, fuzzy, c-format
msgid "bad value for -mcall-%s"
msgstr "slechte waarde (%s) voor optie -mcpu"
-#: config/rs6000/sysv4.h:228
+#: config/rs6000/sysv4.h:230
#, fuzzy, c-format
msgid "bad value for -msdata=%s"
msgstr "slechte waarde (%s) voor optie -msdata"
-#: config/rs6000/sysv4.h:245
+#: config/rs6000/sysv4.h:247
#, fuzzy, c-format
msgid "-mrelocatable and -msdata=%s are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: config/rs6000/sysv4.h:253
+#: config/rs6000/sysv4.h:255
#, fuzzy, c-format
msgid "-f%s and -msdata=%s are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: config/rs6000/sysv4.h:261
+#: config/rs6000/sysv4.h:263
#, fuzzy, c-format
msgid "-msdata=%s and -mcall-%s are incompatible"
msgstr "-mbsd en -mxopen zijn niet compatibel"
-#: config/rs6000/sysv4.h:268
+#: config/rs6000/sysv4.h:272
#, fuzzy
msgid "-mrelocatable and -mno-minimal-toc are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: config/rs6000/sysv4.h:274
+#: config/rs6000/sysv4.h:278
#, fuzzy, c-format
msgid "-mrelocatable and -mcall-%s are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: config/rs6000/sysv4.h:281
+#: config/rs6000/sysv4.h:285
#, fuzzy, c-format
msgid "-fPIC and -mcall-%s are incompatible"
msgstr "-fpic en -mapcs-reent zijn niet compatibel"
-#: config/rs6000/sysv4.h:288
+#: config/rs6000/sysv4.h:292
msgid "-mcall-aixdesc must be big endian"
msgstr ""
-#: config/s390/s390.c:1762
+#: config/s390/s390.c:2584
#, fuzzy
msgid "invalid UNSPEC as operand (1)"
msgstr "ongeldige UNSPEC als operand"
-#: config/s390/s390.c:1792
+#: config/s390/s390.c:2620
#, fuzzy
msgid "invalid UNSPEC as operand (2)"
msgstr "ongeldige UNSPEC als operand"
-#: config/s390/s390.c:1798
+#: config/s390/s390.c:2626
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr ""
-#: config/s390/s390.c:1814
+#: config/s390/s390.c:2644
msgid "Cannot decompose address."
msgstr ""
-#: config/s390/s390.c:1962
+#: config/s390/s390.c:2784
msgid "UNKNOWN in print_operand !?"
msgstr ""
-#: config/s390/s390.c:2507
-#, fuzzy
-msgid "no code label found"
-msgstr "geen symbooltabel gevonden"
-
-#: config/s390/s390.c:2653
+#: config/s390/s390.c:4421
msgid "Total size of local variables exceeds architecture limit."
msgstr ""
-#: config/s390/s390.h:53
+#: config/s390/s390.h:70
msgid "Set backchain"
msgstr ""
-#: config/s390/s390.h:54
+#: config/s390/s390.h:71
msgid "Don't set backchain (faster, but debug harder"
msgstr ""
-#: config/s390/s390.h:55
+#: config/s390/s390.h:72
msgid "Use bras for execucable < 64k"
msgstr ""
-#: config/s390/s390.h:56
+#: config/s390/s390.h:73
msgid "Don't use bras"
msgstr ""
-#: config/s390/s390.h:57
+#: config/s390/s390.h:74
msgid "Additional debug prints"
msgstr ""
-#: config/s390/s390.h:58
+#: config/s390/s390.h:75
msgid "Don't print additional debug prints"
msgstr ""
-#: config/s390/s390.h:59
+#: config/s390/s390.h:76
msgid "64 bit mode"
msgstr ""
-#: config/s390/s390.h:60
+#: config/s390/s390.h:77
msgid "31 bit mode"
msgstr ""
-#: config/s390/s390.h:61
+#: config/s390/s390.h:78
msgid "mvcle use"
msgstr ""
-#: config/s390/s390.h:62
+#: config/s390/s390.h:79
msgid "mvc&ex"
msgstr ""
+#: config/sh/sh.c:5134
+#, fuzzy
+msgid "__builtin_saveregs not supported by this subtarget"
+msgstr "__builtin_saveregs wordt niet ondersteund op dit doelsysteem"
+
+#: 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:4730 config/sh/sh.c:4769
+#: config/sh/sh.c:5710 config/sh/sh.c:5749
#, fuzzy, c-format
msgid "`%s' attribute only applies to interrupt functions"
msgstr "het `%s' attribuut heeft enkel betekenis voor functies"
#. The argument must be a constant string.
-#: config/sh/sh.c:4737
+#: config/sh/sh.c:5717
#, fuzzy, c-format
msgid "`%s' attribute argument not a string constant"
msgstr "asm-template is geen stringconstante"
#. The argument must be a constant integer.
-#: config/sh/sh.c:4776
+#: config/sh/sh.c:5756
#, fuzzy, c-format
msgid "`%s' attribute argument not an integer constant"
msgstr "herhalings-aantal is geen integerconstante"
-#: config/sparc/sparc.c:319
+#. There are no delay slots on SHmedia.
+#. Relaxation isn't yet supported for SHmedia
+#: config/sh/sh.h:437
+#, fuzzy
+msgid "Profiling is not supported on this target."
+msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+#: config/sparc/sparc.c:329
#, c-format
msgid "%s is not supported by this configuration"
msgstr ""
-#: config/sparc/sparc.c:326
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr ""
-#: config/sparc/sparc.c:351
+#: config/sparc/sparc.c:361
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr ""
-#: config/sparc/sparc.c:439
-msgid "profiling does not support code models other than medlow"
-msgstr ""
-
-#: config/sparc/sparc.c:5834 config/sparc/sparc.c:5840
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
#, fuzzy, c-format
msgid "invalid %%Y operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:5910
+#: config/sparc/sparc.c:6375
#, fuzzy, c-format
msgid "invalid %%A operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:5920
+#: config/sparc/sparc.c:6385
#, fuzzy, c-format
msgid "invalid %%B operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:5959
+#: config/sparc/sparc.c:6424
#, fuzzy, c-format
msgid "invalid %%c operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:5960
+#: config/sparc/sparc.c:6425
#, fuzzy, c-format
msgid "invalid %%C operand"
msgstr "Ongeldige operand voor %%C"
-#: config/sparc/sparc.c:5981
+#: config/sparc/sparc.c:6446
#, fuzzy, c-format
msgid "invalid %%d operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:5982
+#: config/sparc/sparc.c:6447
#, fuzzy, c-format
msgid "invalid %%D operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:6000
+#: config/sparc/sparc.c:6463
#, fuzzy, c-format
msgid "invalid %%f operand"
msgstr "ongeldige operand voor %P"
-#: config/sparc/sparc.c:6050
+#: config/sparc/sparc.c:6513
msgid "long long constant not a valid immediate operand"
msgstr ""
-#: config/sparc/sparc.c:6053
+#: config/sparc/sparc.c:6516
msgid "floating point constant not a valid immediate operand"
msgstr ""
-#: config/sparc/freebsd.h:81 config/sparc/linux.h:86
-#: config/sparc/linux64.h:139
+#: 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 ""
-#: config/sparc/sp64-elf.h:82 config/sparc/splet.h:29
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
msgid "Generate code for big endian"
msgstr ""
-#: config/sparc/sp64-elf.h:83 config/sparc/splet.h:30
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
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 ""
-#. To make profiling work with -f{pic,PIC}, we need to emit the profiling
-#. code into the rtl. Also, if we are profiling, we cannot eliminate
-#. the frame pointer (because the return address will get smashed).
-#: config/sparc/sparc.h:388
-#, c-format
-msgid "%s and profiling conflict: disabling %s"
-msgstr ""
-
-#: config/sparc/sparc.h:562
-msgid "Use function_epilogue()"
-msgstr ""
-
-#: config/sparc/sparc.h:564
-msgid "Do not use function_epilogue()"
-msgstr ""
-
-#: config/sparc/sparc.h:566
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
msgstr ""
-#: config/sparc/sparc.h:568
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
msgstr ""
-#: config/sparc/sparc.h:570
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr ""
-#: config/sparc/sparc.h:572
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr ""
-#: config/sparc/sparc.h:574
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr ""
-#: config/sparc/sparc.h:576
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr ""
-#: config/sparc/sparc.h:578
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr ""
-#: config/sparc/sparc.h:580
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr ""
-#: config/sparc/sparc.h:582
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr ""
-#: config/sparc/sparc.h:584
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr ""
-#: config/sparc/sparc.h:586
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr ""
-#: config/sparc/sparc.h:588
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr ""
-#: config/sparc/sparc.h:590
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
msgstr ""
-#: config/sparc/sparc.h:592
+#: 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:595
+#: config/sparc/sparc.h:561
msgid "Optimize for Cypress processors"
msgstr ""
-#: config/sparc/sparc.h:597
-msgid "Optimize for SparcLite processors"
+#: config/sparc/sparc.h:563
+msgid "Optimize for SPARCLite processors"
msgstr ""
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr ""
-#: config/sparc/sparc.h:601
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr ""
-#: config/sparc/sparc.h:603
-msgid "Use V8 Sparc ISA"
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
msgstr ""
-#: config/sparc/sparc.h:605
-msgid "Optimize for SuperSparc processors"
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
msgstr ""
#. End of deprecated options.
-#: config/sparc/sparc.h:608
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr ""
-#: config/sparc/sparc.h:610
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr ""
-#: config/sparc/sparc.h:612
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
msgstr ""
-#: config/sparc/sparc.h:614
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
msgstr ""
-#: config/sparc/sparc.h:616
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr ""
-#: config/sparc/sparc.h:618
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr ""
-#: config/sparc/sparc.h:620
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr ""
-#: config/sparc/sparc.h:622
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr ""
-#: config/sparc/sparc.h:624
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr ""
-#: config/sparc/sparc.h:626
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr ""
-#: config/sparc/sparc.h:670
-msgid "Use given Sparc code model"
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
msgstr ""
-#: config/stormy16/stormy16.c:1168
+#: config/stormy16/stormy16.c:1192
#, fuzzy
msgid "cannot use va_start in interrupt function"
msgstr "kan functie `main' niet inline maken"
-#: config/stormy16/stormy16.c:1525
+#: config/stormy16/stormy16.c:1552
#, fuzzy
msgid "`B' operand is not constant"
msgstr "operand `%d' is geen register"
-#: config/stormy16/stormy16.c:1531
+#: config/stormy16/stormy16.c:1558
msgid "`B' operand has multiple bits set"
msgstr ""
-#: config/stormy16/stormy16.c:1558
+#: config/stormy16/stormy16.c:1585
#, fuzzy
msgid "`o' operand is not constant"
msgstr "operand `%d' is geen register"
-#: config/stormy16/stormy16.c:1573
+#: config/stormy16/stormy16.c:1600
msgid "xstormy16_print_operand: unknown code"
msgstr ""
-#: config/stormy16/stormy16.c:1623
+#: config/stormy16/stormy16.c:1650
#, fuzzy, c-format
msgid "switch statement of size %lu entries too large"
msgstr "variabele `%s' is te groot"
-#: 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
#, fuzzy
msgid "cannot set interrupt attribute: no current function"
msgstr "kan geen GOTO uitvoeren naar label `%s' dat buiten de huidige functie ligt"
-#: config/v850/v850-c.c:103
+#: config/v850/v850-c.c:102
msgid "cannot set interrupt attribute: no such identifier"
msgstr ""
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:149
+#: config/v850/v850-c.c:148
#, fuzzy
msgid "junk at end of #pragma ghs section"
msgstr "Brol aan einde van signature-string."
-#: config/v850/v850-c.c:166
+#: config/v850/v850-c.c:165
#, fuzzy, c-format
msgid "unrecognized section name \"%s\""
msgstr "signature-string niet herkend"
-#: config/v850/v850-c.c:181
+#: config/v850/v850-c.c:180
#, fuzzy
msgid "malformed #pragma ghs section"
msgstr "misvormde #pragma weak"
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:201
+#: config/v850/v850-c.c:200
#, fuzzy
msgid "junk at end of #pragma ghs interrupt"
msgstr "Brol aan einde van signature-string."
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:213
+#: config/v850/v850-c.c:212
#, fuzzy
msgid "junk at end of #pragma ghs starttda"
msgstr "Brol aan einde van signature-string."
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:225
+#: config/v850/v850-c.c:224
#, fuzzy
msgid "junk at end of #pragma ghs startsda"
msgstr "Brol aan einde van signature-string."
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:237
+#: config/v850/v850-c.c:236
#, fuzzy
msgid "junk at end of #pragma ghs startzda"
msgstr "Brol aan einde van signature-string."
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:249
+#: config/v850/v850-c.c:248
#, fuzzy
msgid "junk at end of #pragma ghs endtda"
msgstr "Brol aan einde van signature-string."
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:261
+#: config/v850/v850-c.c:260
#, fuzzy
msgid "junk at end of #pragma ghs endsda"
msgstr "Brol aan einde van signature-string."
# Moet 'signature-string' vertaald worden?
-#: config/v850/v850-c.c:273
+#: config/v850/v850-c.c:272
#, fuzzy
msgid "junk at end of #pragma ghs endzda"
msgstr "Brol aan einde van signature-string."
-#: config/v850/v850.c:122
+#: config/v850/v850.c:129
#, fuzzy, c-format
msgid "%s=%s is not numeric"
msgstr "`%s' is geen iterator"
-#: config/v850/v850.c:129
+#: config/v850/v850.c:136
#, fuzzy, c-format
msgid "%s=%s is too large"
msgstr "bestand `%s' is te groot"
-#: 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:2081
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr ""
-#: config/v850/v850.c:2092
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr ""
-#: config/v850/v850.c:2295
+#: config/v850/v850.c:2447
#, c-format
msgid "bogus JR construction: %d\n"
msgstr ""
-#: config/v850/v850.c:2316 config/v850/v850.c:2518
+#: 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:2494
+#: config/v850/v850.c:2646
#, c-format
msgid "bogus JARL construction: %d\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 }
-#. 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
-msgid "Support Green Hills ABI"
-msgstr ""
-
-#: config/v850/v850.h:123
-msgid "Prohibit PC relative function calls"
-msgstr ""
-
-#: config/v850/v850.h:126
-msgid "Reuse r30 on a per function basis"
-msgstr ""
-
-#: config/v850/v850.h:129
-msgid "Use stubs for function prologues"
-msgstr ""
-
-#: config/v850/v850.h:132
-msgid "Same as: -mep -mprolog-function"
-msgstr ""
-
-#: config/v850/v850.h:133
-msgid "Enable backend debugging"
-msgstr ""
-
-#: config/v850/v850.h:135
-msgid "Compile for the v850 processor"
-msgstr ""
-
-#: config/v850/v850.h:138
-msgid "Use 4 byte entries in switch tables"
-msgstr ""
-
-#: config/v850/v850.h:164
-msgid "Set the max size of data eligible for the TDA area"
-msgstr ""
-
-#: config/v850/v850.h:167
-msgid "Set the max size of data eligible for the SDA area"
-msgstr ""
-
-#: config/v850/v850.h:170
-msgid "Set the max size of data eligible for the ZDA area"
-msgstr ""
-
-#: ada/misc.c:219
-msgid "`-gnat' misspelled as `-gant'"
-msgstr ""
-
-#: ch/actions.c:118
+#: config/v850/v850.c:3026
#, c-format
-msgid "%d errors, %d sorries, do granting"
-msgstr "%d fouten, %d sorries, granting wordt gedaan"
-
-#: ch/actions.c:135
-msgid "GNU compiler does not support statically allocated objects"
-msgstr "de GNU compiler ondersteunt geen statisch gealloceerde objecten"
-
-#: ch/actions.c:138 objc/objc-act.c:882
-#, c-format
-msgid "`%s' cannot be statically allocated"
-msgstr "`%s' kan niet statisch gealloceerd worden"
-
-#: ch/actions.c:300
-#, c-format
-msgid "causing unhandled exception `%s' (this is flaged only once)"
-msgstr "niet-opgevangen exception `%s' wordt veroorzaakt (dit wordt maar één keer vermeld)"
-
-#: ch/actions.c:438
-msgid "range failure (not inside function)"
-msgstr "bereik-fout (niet in een functie)"
-
-#: ch/actions.c:440
-msgid "possible range failure (not inside function)"
-msgstr "mogelijke bereik-fout (niet in een functie)"
-
-#: ch/actions.c:445
-msgid "expression will always cause RANGEFAIL"
-msgstr "expressie zal altijd RANGEFAIL veroorzaken"
-
-#: ch/actions.c:492
-msgid "right hand side of assignment is a mode"
-msgstr "rechterkant van toewijzing is een modus"
-
-#: ch/actions.c:498
-#, c-format
-msgid "incompatible modes in %s"
-msgstr "incompatibele modi in %s"
-
-#: ch/actions.c:523
-#, c-format
-msgid "bad string length in %s"
-msgstr "slechte stringlengte in %s"
-
-#: ch/actions.c:631 ch/actions.c:644
-#, c-format
-msgid "mode mismatch in %s expression"
-msgstr "modi in %s expressie komen niet overeen"
-
-#: ch/actions.c:638
-#, c-format
-msgid "%s expression must be referable"
-msgstr "%s expressie moet refereerbaar zijn"
-
-#: ch/actions.c:667
-#, c-format
-msgid "%s not allowed outside a PROC"
-msgstr "%s is niet toegestaan buiten een PROC"
-
-#: ch/actions.c:673
-#, c-format
-msgid "%s action in PROC with no declared RESULTS"
-msgstr "%s-actie in PROC zonder gedeclareerde RESULTS"
-
-#: ch/actions.c:704
-msgid "RETURN not allowed outside PROC"
-msgstr "RETURN is niet toegestaan buiten PROC"
-
-#: ch/actions.c:717
-msgid "RETURN with a value, in PROC returning void"
-msgstr "RETURN met waarde, in een PROC die void teruggeeft"
-
-#: ch/actions.c:726
-msgid "RETURN with no value and no RESULT action in procedure"
-msgstr "RETURN zonder waarde en geen RESULTS-actie in procedure"
-
-#: ch/actions.c:749
-#, c-format
-msgid "no label named `%s'"
-msgstr "er is geen label dat `%s' heet"
-
-#: ch/actions.c:751
-#, c-format
-msgid "cannot GOTO label `%s' outside current function"
-msgstr "kan geen GOTO uitvoeren naar label `%s' dat buiten de huidige functie ligt"
-
-# Misschien beter 'EXIT-baar'?
-#: ch/actions.c:773
-#, c-format
-msgid "no EXITable label named `%s'"
-msgstr "er is geen EXITable label dat `%s' heet"
-
-# Is dit de juiste vertaling?
-#: ch/actions.c:775
-#, c-format
-msgid "cannot EXIT label `%s' outside current function"
-msgstr "kan geen EXIT uitvoeren voor label `%s' buiten huidige functie"
-
-#: ch/actions.c:1018
-msgid "case selector not compatible with label"
-msgstr "case-selector niet compatibel met label"
-
-#: ch/actions.c:1044
-msgid "ELSE label not within a CASE statement"
-msgstr "ELSE-label niet in een CASE-statement"
-
-#: ch/actions.c:1048
-msgid "multiple default labels found in a CASE statement"
-msgstr "meerdere default-labels gevonden in één CASE-statement"
-
-#: ch/actions.c:1049
-msgid "this is the first ELSE label"
-msgstr "dit is het eerste ELSE-label"
-
-#: ch/actions.c:1070
-msgid "label found outside of CASE statement"
-msgstr "label gevonden buiten een CASE-statement"
-
-#: ch/actions.c:1073
-msgid "duplicate CASE value"
-msgstr "herhaalde CASE-waarde"
-
-# 'vermelding' lijkt me beter dat het letterlijke 'ingang'
-#: ch/actions.c:1074 ch/actions.c:1127
-msgid "this is the first entry for that value"
-msgstr "dit is de eerste vermelding van deze waarde"
-
-#: ch/actions.c:1077 ch/actions.c:1130
-msgid "CASE value out of range"
-msgstr "CASE-waarde buiten bereik"
-
-#: ch/actions.c:1079 ch/actions.c:1132
-msgid "empty range"
-msgstr "leeg bereik"
-
-# klinkt niet echt goed
-#: ch/actions.c:1081 ch/actions.c:1134
-msgid "label within scope of cleanup or variable array"
-msgstr "label binnen bereik van opruiming of variabele array"
-
-# Hoe vertaal je 'discrete' best? Discreet is waarschijnlijk wel correct, maar ik
-# vermoed/hoop dat er een betere oplossing is.
-#: ch/actions.c:1105 ch/actions.c:1302
-msgid "mode in label is not discrete"
-msgstr "modus in label is niet discreet"
-
-#: ch/actions.c:1122
-msgid "label not within a CASE statement"
-msgstr "label niet in een CASE-statement"
-
-# Letterlijk is hoogstwaarschijnlijk geen goede vertaling.
-# Misschien beter gewoon 'moet een discrete literal zijn' vertalen?
-#: ch/actions.c:1282
-#, fuzzy
-msgid "lower bound of range must be a discrete literal expression"
-msgstr "Ondergrens van bereik moet een letterlijke discrete expressie zijn"
-
-#: ch/actions.c:1287
-#, fuzzy
-msgid "upper bound of range must be a discrete literal expression"
-msgstr "Bovengrens van bereik moet een letterlijke discrete expressie zijn"
-
-#: ch/actions.c:1311
-#, fuzzy
-msgid "CASE label is not valid"
-msgstr "Het CASE-label in niet geldig"
-
-#: ch/actions.c:1357
-#, fuzzy
-msgid "number of CASE selectors does not match the number of CASE label lists"
-msgstr "Het aantal CASE-selectors komt niet overeen met het aantal CASE-label lijsten"
-
-#: ch/actions.c:1442
-#, c-format
-msgid "incomplete CASE - %s not handled"
-msgstr "onvolledige CASE - %s niet opgevangen"
-
-#: ch/actions.c:1461
-msgid "CASE selector with variable range"
-msgstr "CASE-selector met variabel bereik"
-
-#: ch/actions.c:1465
-msgid "too many cases to do CASE completeness testing"
-msgstr "teveel gevallen om CASE-volledigheidstesten uit te voeren"
-
-#: ch/actions.c:1550
-msgid "type of tuple cannot be implicit in multiple assignent"
-msgstr ""
-
-#: ch/actions.c:1552
-msgid "conditional expression cannot be used in multiple assignent"
-msgstr ""
-
-#: ch/actions.c:1554
-msgid "internal error - unknown type in multiple assignment"
-msgstr ""
-
-#: ch/actions.c:1558
-msgid "no operator allowed in multiple assignment,"
-msgstr ""
-
-#: ch/actions.c:1568
-msgid "location modes in multiple assignment are not equivalent"
-msgstr ""
-
-#: ch/actions.c:1606
-msgid "you may not assign a value to a BUFFER or EVENT location"
-msgstr ""
-
-#: ch/actions.c:1614
-msgid "can't assign value to READonly location"
-msgstr ""
-
-#: ch/actions.c:1619
-msgid "cannot assign to location with non-value property"
-msgstr ""
-
-#: ch/actions.c:1639
-msgid "lefthand side of assignment is not a location"
-msgstr "linkerkant van toewijzing is geen locatie"
-
-#: ch/actions.c:1715 ch/actions.c:1785
-msgid "bitstring slice"
-msgstr ""
-
-#: ch/actions.c:1810
-msgid "LENGTH on left-hand-side is non-portable"
-msgstr ""
-
-#: ch/actions.c:1814
-msgid "can only set LENGTH of array location"
-msgstr ""
-
-#: ch/convert.c:63
-msgid "internal error: trying to make loc-identity with non-location"
-msgstr ""
-
-#: ch/convert.c:117
-msgid "cannot convert to a boolean mode"
+msgid "Bogus DISPOSE construction: %d\n"
msgstr ""
-#: ch/convert.c:152
-msgid "cannot convert to a char mode"
-msgstr ""
-
-# Of 'tupel van machtsverzameling'?
-#: ch/convert.c:248
-msgid "powerset tuple element out of range"
-msgstr "element van powerset-tupel buiten bereik"
-
-#: ch/convert.c:284 ch/convert.c:312
+#: config/v850/v850.c:3048
#, c-format
-msgid "incompatible member of powerset tuple (at position #%d)"
+msgid "Too much stack space to dispose of: %d"
msgstr ""
-# 'fixed' -> 'vast'?
-#: ch/convert.c:394
+#: config/v850/v850.c:3224
#, c-format
-msgid "no initializer value for fixed field `%s'"
-msgstr "geen beginwaarde voor fixed veld `%s'"
-
-#: ch/convert.c:436
-#, c-format
-msgid "non-constant value for tag field `%s'"
-msgstr "niet-constante waarde voor tagveld `%s'"
-
-#: ch/convert.c:488
-#, c-format
-msgid "field `%s' in wrong variant"
+msgid "Bogus PREPEARE construction: %d\n"
msgstr ""
-#: ch/convert.c:495
+#: config/v850/v850.c:3246
#, c-format
-msgid "missing variant fields (at least `%s')"
+msgid "Too much stack space to prepare: %d"
msgstr ""
-#: ch/convert.c:518
-#, c-format
-msgid "bad initializer for field `%s'"
-msgstr "ongeldige beginwaarde voor veld `%s'"
-
-#: ch/convert.c:525
-#, c-format
-msgid "no initializer value for variant field `%s'"
-msgstr "geen beginwaarde voor variant-veld `%s'"
-
-#: ch/convert.c:531
-msgid "no selected variant"
-msgstr ""
-
-#: ch/convert.c:546 ch/convert.c:912
-msgid "mixture of labelled and unlabelled tuple elements"
-msgstr ""
-
-#: ch/convert.c:557
-msgid "probably not a structure tuple"
-msgstr ""
-
-#: ch/convert.c:559
-#, c-format
-msgid "excess initializer for field `%s'"
-msgstr "overtollige beginwaarde voor veld `%s'"
-
-#: ch/convert.c:566
-msgid "excess unnamed initializers"
-msgstr "overtollige onbenoemde beginwaarden"
-
-#: ch/convert.c:693
-msgid "non-constant start index for tuple"
-msgstr "niet-constante start-index voor tupel"
-
-#: ch/convert.c:736
-msgid "invalid array tuple label"
-msgstr "ongeldig label voor array-tupel"
-
-#: ch/convert.c:750
-msgid "non-constant array tuple index range"
-msgstr "niet-constant indexbereik van array-tupel"
-
-#: ch/convert.c:759
-#, c-format
-msgid "incompatible array tuple element %s"
-msgstr "incompatibel array-tupel element %s"
-
-#: ch/convert.c:775
-msgid "multiple (*) or (ELSE) array tuple labels"
-msgstr ""
-
-#: ch/convert.c:784
-msgid "empty range in array tuple"
-msgstr "leeg indexbereik in array-tupel"
-
-#: ch/convert.c:801
-#, c-format
-msgid "array tuple has duplicate index %s"
-msgstr ""
-
-#: ch/convert.c:809
-msgid "array tuple index out of range"
-msgstr "index van array-tupel buiten bereik"
-
-#: ch/convert.c:811
-msgid "too many array tuple values"
-msgstr ""
-
-#: ch/convert.c:883
-msgid "dynamic array tuple without (*) or (ELSE)"
-msgstr ""
-
-#: ch/convert.c:885
-#, c-format
-msgid "missing array tuple element %s"
-msgstr ""
-
-#: ch/convert.c:892
-#, c-format
-msgid "missing array tuple elements %s : %s"
-msgstr ""
-
-# Is 'mode' enkel van toepassing op 'string', of ook op 'array'?
-#: ch/convert.c:1086
-msgid "initializer is not an array or string mode"
-msgstr "beginwaarde is geen array of string-modus"
-
-#: ch/convert.c:1096
-msgid "destination is too small"
-msgstr ""
-
-#: ch/convert.c:1152
-msgid "internal error: unknown type of expression"
-msgstr "interne fout: onbekende expressie-soort"
-
-#: ch/decl.c:1033
-#, c-format
-msgid "`%s' must not be declared readonly"
-msgstr "`%s' mag niet als alleen-lezen gedeclareerd worden"
-
-#: ch/decl.c:1037
-msgid "declaration of readonly variable without initialization"
-msgstr ""
-
-#: ch/decl.c:1059
-#, fuzzy, c-format
-msgid "no initialization allowed for `%s'"
-msgstr "geen initialisatie toegestaan voor `%s'"
-
-#: ch/decl.c:1067
-#, c-format
-msgid "value for loc-identity `%s' is not a location"
-msgstr ""
-
-#: ch/decl.c:1074
-#, c-format
-msgid "location for `%s' not read-compatible"
-msgstr ""
-
-#: ch/decl.c:1101
-#, c-format
-msgid "nonconstant initializer for `%s'"
-msgstr "niet-constante beginwaarde voor `%s'"
-
-#: ch/decl.c:1132
-msgid "do_decl: internal error: don't know what to initialize"
-msgstr ""
-
-#: ch/decl.c:1189
-msgid "RECURSIVE PROCs"
-msgstr ""
-
-#: ch/decl.c:1445
-#, c-format
-msgid "`%s' must not be READonly"
-msgstr ""
-
-#: ch/decl.c:1471
-msgid "POS may not be specified for a list of field declarations"
-msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
-
-#: ch/decl.c:1525
-msgid "(ELSE) case label as well as ELSE variant"
-msgstr ""
-
-#: ch/decl.c:1610 ch/decl.c:1613
-msgid "inconsistent modes between labels and tag field"
-msgstr ""
-
-#: ch/decl.c:1618
-msgid "too few tag labels"
-msgstr ""
-
-#: ch/decl.c:1620
-msgid "too many tag labels"
-msgstr "teveel tag-labels"
-
-#: ch/decl.c:1658
-msgid "case label lower limit is not a discrete constant expression"
-msgstr "ondergrens van case-label is geen discrete constante expressie"
-
-#: ch/decl.c:1660
-msgid "case label upper limit is not a discrete constant expression"
-msgstr "bovengrens van case-label is geen discrete constante expressie"
-
-#: ch/decl.c:1670
-msgid "case label must be a discrete constant expression"
-msgstr "case-label moet een discrete constante expressie zijn"
-
-#: ch/decl.c:1697
-msgid "variant label declared here..."
-msgstr ""
-
-#: ch/decl.c:1699
-msgid "...is duplicated here"
-msgstr ""
-
-#: ch/decl.c:1729
-#, c-format
-msgid "no field (yet) for tag %s"
-msgstr ""
-
-#: ch/decl.c:1824
-msgid "non-value mode may only returned by LOC"
-msgstr ""
-
-#: ch/decl.c:1847
-#, c-format
-msgid "mode of `%s' is not a mode"
-msgstr "modus van `%s' is geen modus"
-
-#: ch/decl.c:1853
-#, c-format
-msgid "`%s' may only be passed by LOC"
-msgstr ""
-
-#: ch/decl.c:2281
-#, c-format
-msgid "nothing named `%s' to grant"
-msgstr ""
-
-#: ch/decl.c:2321
-#, c-format
-msgid "duplicate grant for `%s'"
-msgstr "herhaalde grant voor `%s'"
-
-#: ch/decl.c:2322
-#, c-format
-msgid "previous grant for `%s'"
-msgstr "eerdere grant voor `%s'"
-
-#: ch/decl.c:2409
-#, c-format
-msgid "duplicate definition `%s'"
-msgstr "herhaalde definitie `%s'"
-
-#: ch/decl.c:2410
-#, c-format
-msgid "previous definition of `%s'"
-msgstr "eerdere definitie van `%s'"
-
-#: ch/decl.c:3248 ch/decl.c:3258
-#, c-format
-msgid "ambiguous choice for seize `%s' -"
-msgstr ""
-
-#: ch/decl.c:3249 ch/decl.c:3259
-#, c-format
-msgid " - can seize this `%s' -"
-msgstr ""
-
-#: ch/decl.c:3250 ch/decl.c:3261
-#, c-format
-msgid " - or this granted decl `%s'"
-msgstr ""
-
-#: ch/decl.c:4430
-#, fuzzy, c-format
-msgid "enumerator value for `%s' is less than 0"
-msgstr "enumeratiewaarde voor `%s' is kleiner dan 0"
-
-#: ch/decl.c:4512
-#, c-format
-msgid "enumerators `%s' and `%s' have equal values"
-msgstr ""
-
-#: ch/decl.c:4618
-msgid "undefined value in SET mode is obsolete and deprecated"
-msgstr ""
-
-#: ch/decl.c:4794
-msgid "BASE variable never declared"
-msgstr "BASE-variabele nooit gedeclareerd"
-
-#: ch/decl.c:4796
-msgid "cannot BASE a variable on a PROC/PROCESS name"
-msgstr ""
-
-#: ch/decl.c:4848
-msgid "INTERNAL ERROR: handle_one_level is broken"
-msgstr ""
-
-#: ch/expr.c:126
-#, c-format
-msgid "tuple without specified mode not allowed in %s"
-msgstr ""
-
-#: ch/expr.c:128
-#, c-format
-msgid "conditional expression not allowed in %s"
-msgstr "voorwaardelijke expressie niet toegestaan in `%s'"
-
-#: ch/expr.c:130
-#, c-format
-msgid "internal error: unknown expression mode in %s"
-msgstr "interne fout: onbekende expressie-modus in %s"
-
-#: ch/expr.c:147
-msgid "CASE selector is not a discrete expression"
-msgstr ""
-
-#: ch/expr.c:215
-msgid "The number of CASE selectors does not match the number of CASE label lists"
-msgstr "Het aantal CASE-selectors komt niet overeen met het aantal CASE-label lijsten"
-
-# klinkt niet
-#: ch/expr.c:594
-msgid "powerset is not addressable"
-msgstr "powerset kan niet geaddresseerd worden"
-
-#: ch/expr.c:639
-msgid "array is not addressable"
-msgstr ""
-
-#: ch/expr.c:687
-#, fuzzy, c-format
-msgid "too few arguments in call to `%s'"
-msgstr "Te weinig argumenten in oproep van `%s'"
-
-#: ch/expr.c:689
-#, fuzzy, c-format
-msgid "too many arguments in call to `%s'"
-msgstr "Teveel argumenten in oproep van `%s'"
-
-#: ch/expr.c:758
-#, fuzzy
-msgid "cannot dereference, not a pointer"
-msgstr "kan niet derefereren, is geen pointer."
-
-#: ch/expr.c:768
-#, c-format
-msgid "missing '.' operator or undefined mode name `%s'"
-msgstr ""
-
-#: ch/expr.c:771
-msgid "you have forgotten the '.' operator which must"
-msgstr ""
-
-#: ch/expr.c:772
-#, c-format
-msgid " precede a STRUCT field reference, or `%s' is an undefined mode"
+#. 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:158
+msgid "Support Green Hills ABI"
msgstr ""
-#: ch/expr.c:786
-msgid "can't dereference PTR value using unary `->'"
+#: config/v850/v850.h:161
+msgid "Prohibit PC relative function calls"
msgstr ""
-# Is the %s the argument, or is it 'of' the argument?
-#: ch/expr.c:831
-msgid "invalid type argument of `->'"
-msgstr "ongeldig type-argument voor `->'"
-
-#: ch/expr.c:856 ch/expr.c:969
-msgid "operand of '.' is not a STRUCT"
+#: config/v850/v850.h:164
+msgid "Reuse r30 on a per function basis"
msgstr ""
-#: ch/expr.c:909
-#, fuzzy, c-format
-msgid "no field named `%s'"
-msgstr "Geen veld dat `%s' heet"
-
-#: ch/expr.c:1217
-msgid "ABS argument must be discrete or real mode"
+#: config/v850/v850.h:167
+msgid "Use stubs for function prologues"
msgstr ""
-#: ch/expr.c:1250
-#, fuzzy, c-format
-msgid "argument %d to ABSTIME must be of integer type"
-msgstr "argument van `%s' moet van een integraal type zijn."
-
-#: ch/expr.c:1288 ch/expr.c:1329
-#, fuzzy
-msgid "parameter 1 must be referable"
-msgstr "argument %d moet refereerbaar zijn"
-
-# Hoe vertaal je in godsnaam 'mismatch' op KORTE manier in het Nederlands???
-#: ch/expr.c:1294 ch/expr.c:1335 ch/expr.c:1372
-#, fuzzy
-msgid "mode mismatch in parameter 1"
-msgstr "geen overeenkomst van modus in parameter %d"
-
-#: ch/expr.c:1301 ch/expr.c:1342
-#, fuzzy
-msgid "parameter 2 must be a positive integer"
-msgstr "parameter 2 moet een locatie zijn"
-
-#: ch/expr.c:1436
-msgid "CARD argument must be powerset mode"
+#: config/v850/v850.h:170
+msgid "Same as: -mep -mprolog-function"
msgstr ""
-#: ch/expr.c:1487
-#, fuzzy
-msgid "expression for DESCR-built-in must be referable"
-msgstr "%s expressie moet refereerbaar zijn"
-
-#: ch/expr.c:1535
-#, fuzzy, c-format
-msgid "argument to `%s' must be of integer type"
-msgstr "argument van `%s' moet van een integraal type zijn."
-
-#: ch/expr.c:1568
-#, c-format
-msgid "argument 1 to `%s' must be of floating point mode"
+#: config/v850/v850.h:171
+msgid "Enable backend debugging"
msgstr ""
-#: ch/expr.c:1602
-#, fuzzy, c-format
-msgid "first argument to `%s' must be a mode"
-msgstr "Eerste argument van `%s' moet een modus zijn"
-
-#: ch/expr.c:1609
-#, c-format
-msgid "READonly modes for %s must have a value"
+#: config/v850/v850.h:173
+msgid "Compile for the v850 processor"
msgstr ""
-#: ch/expr.c:1692
-msgid "argument to TERMINATE must be a reference primitive value"
+#: config/v850/v850.h:175
+msgid "Compile for v850e processor"
msgstr ""
-#: ch/expr.c:1741
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
#, fuzzy
-msgid "argument 1 to INTTIME must be of mode TIME"
-msgstr "Eerste argument van `%s' moet een modus zijn"
-
-#: ch/expr.c:1888
-msgid "LENGTH argument must be string, buffer, event mode, text location or mode"
-msgstr ""
-
-#: ch/expr.c:1917
-msgid "UPPER argument must have a mode, or be a mode"
-msgstr ""
-
-#: ch/expr.c:1919
-msgid "LOWER argument must have a mode, or be a mode"
-msgstr ""
-
-#: ch/expr.c:1953
-msgid "UPPER argument must be string, array, mode or integer"
-msgstr ""
-
-#: ch/expr.c:1955
-msgid "LOWER argument must be string, array, mode or integer"
-msgstr ""
-
-#: ch/expr.c:1991
-#, c-format
-msgid "%s argument must be POWERSET mode"
-msgstr ""
-
-#: ch/expr.c:2017
-#, c-format
-msgid "%s called for empty POWERSET"
-msgstr ""
-
-#: ch/expr.c:2098
-msgid "argument to NUM is not discrete"
-msgstr "argument voor NUM is niet discreet"
+msgid "Enable the use of the short load instructions"
+msgstr "ongeldig gebruik van `restrict'"
-#: ch/expr.c:2110
+#: config/v850/v850.h:180
#, fuzzy
-msgid "no integer mode which matches expression's mode"
-msgstr "Geen integer-modus die met expressie overeen komt"
+msgid "Do not use the callt instruction"
+msgstr "ongeldig gebruik van `restrict'"
-#: ch/expr.c:2119
-msgid "NUM's parameter is below its mode range"
+#: config/v850/v850.h:187
+msgid "Do not use registers r2 and r5"
msgstr ""
-#: ch/expr.c:2122
-msgid "NUM's parameter is above its mode range"
+#: config/v850/v850.h:189
+msgid "Enfore strict alignment"
msgstr ""
-#: ch/expr.c:2161
-msgid "cannot take SUCC or PRED of a numbered SET"
+#: config/v850/v850.h:192
+msgid "Use 4 byte entries in switch tables"
msgstr ""
-#: ch/expr.c:2169
-msgid "SUCC or PRED must not be done on a PTR"
+#: config/v850/v850.h:218
+msgid "Set the max size of data eligible for the TDA area"
msgstr ""
-#: ch/expr.c:2172
-msgid "SUCC or PRED for a reference type is not standard"
+#: config/v850/v850.h:221
+msgid "Set the max size of data eligible for the SDA area"
msgstr ""
-#: ch/expr.c:2182
-msgid "SUCC or PRED argument must be a discrete mode"
+#: config/v850/v850.h:224
+msgid "Set the max size of data eligible for the ZDA area"
msgstr ""
-#: ch/expr.c:2203
-#, c-format
-msgid "taking the %s of a value already at its %s value"
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
+msgid "bad test"
msgstr ""
-#: ch/expr.c:2254
-msgid "size applied to a function mode"
-msgstr "size toegepast op een functie-modus"
-
-#: ch/expr.c:2260
-msgid "sizeof applied to a void mode"
-msgstr "sizeof toegepast op een void-modus"
-
-#: ch/expr.c:2265
-msgid "sizeof applied to an incomplete mode"
-msgstr "sizeof toegepast op een onvolledige modus"
-
-#: ch/expr.c:2360
-msgid "cannot call a PROCESS, you START a PROCESS"
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
msgstr ""
# (%s = 'parameter <NUM>')
-#: ch/expr.c:2422
-#, c-format
-msgid "invalid %s"
-msgstr "ongeldige %s"
-
-#: ch/expr.c:2437
-#, c-format
-msgid "%s parameter %d must be a location"
-msgstr "%s parameter %d moet een locatie zijn"
-
-#: ch/expr.c:2445
-#, c-format
-msgid "%s parameter %d is READ-only"
-msgstr ""
-
-#: ch/expr.c:2488
-#, c-format
-msgid "LOC actual parameter %d is a non-referable location"
-msgstr ""
-
-# Hoe vertaal je in godsnaam 'mismatch' op KORTE manier in het Nederlands???
-#: ch/expr.c:2494
-#, c-format
-msgid "mode mismatch in parameter %d"
-msgstr "geen overeenkomst van modus in parameter %d"
-
-#: ch/expr.c:2518
-#, c-format
-msgid "too many arguments to procedure `%s'"
-msgstr "teveel argumenten voor procedure `%s'"
-
-#: ch/expr.c:2521
-msgid "too many arguments to procedure"
-msgstr "teveel argumenten voor procedure"
-
-#: ch/expr.c:2527
-#, c-format
-msgid "too few arguments to procedure `%s'"
-msgstr "te weinig argumenten voor procedure `%s'"
-
-#: ch/expr.c:2530
-msgid "too few arguments to procedure"
-msgstr "te weinig argumenten voor procedure"
-
-#: ch/expr.c:2596
-msgid "syntax error (integer used as function)"
-msgstr ""
-
-#: ch/expr.c:2616
-msgid "syntax error - missing operator, comma, or '('?"
-msgstr ""
-
-#: ch/expr.c:2977
-#, fuzzy, c-format
-msgid "unimplemented built-in function `%s'"
-msgstr "ingebouwde functie `%s' is niet geïmplementeerd"
-
-#: ch/expr.c:2981
-#, fuzzy, c-format
-msgid "internal error - bad built-in function `%s'"
-msgstr "interne fout - slechte ingebouwde functie `%s'"
-
-#: ch/expr.c:2995
-msgid "empty expression in string index"
-msgstr "lege expressie in string-index"
-
-#: ch/expr.c:3000
-msgid "only one expression allowed in string index"
-msgstr ""
-
-#: ch/expr.c:3017
-msgid "invalid: primval ( untyped_exprlist )"
-msgstr ""
-
-#: ch/expr.c:3081 ch/expr.c:3095
-msgid "operand is variable-size bitstring/power-set"
-msgstr ""
-
-#: ch/expr.c:3245
-#, c-format
-msgid "tree code `%s' unhandled in build_compare_set_expr"
-msgstr ""
-
-#: ch/expr.c:3410
-msgid "incompatible modes in concat expression"
-msgstr "incompatibele modi in concat-expressie"
-
-#: ch/expr.c:3459
+#: config/xtensa/xtensa.c:1991
#, fuzzy
-msgid "invalid operation on array of chars"
-msgstr "Ongeldige operatie op array van chars"
-
-#: ch/expr.c:3504
-msgid "comparison of variant structures is unsafe"
-msgstr ""
-
-#: ch/expr.c:3511
-msgid "compare with variant records"
-msgstr ""
-
-#: ch/expr.c:3688 ch/expr.c:3924
-#, c-format
-msgid "incompatible operands to %s"
-msgstr "incompatibele operands voor %s"
-
-#: ch/expr.c:3740
-msgid "relational operator not allowed for this mode"
-msgstr "relationele operator niet toegestaan voor deze modus"
-
-#: ch/expr.c:3794
-#, c-format
-msgid "cannot use %s operator on PROC mode variable"
-msgstr ""
-
-#: ch/expr.c:3800
-#, c-format
-msgid "invalid left operand of %s"
-msgstr "ongeldige linker operand van %s"
-
-#: ch/expr.c:3805 ch/expr.c:4357
-#, c-format
-msgid "invalid right operand of %s"
-msgstr "ongeldige rechter operand van %s"
-
-#: ch/expr.c:3819
-msgid "repetition expression must be constant"
-msgstr ""
-
-#: ch/expr.c:3829
-msgid "left argument to MOD/REM operator must be integral"
-msgstr ""
-
-#: ch/expr.c:3834
-msgid "right argument to MOD/REM operator must be integral"
-msgstr ""
-
-#: ch/expr.c:3891
-msgid "right operand of IN is not a powerset"
-msgstr ""
-
-#: ch/expr.c:3896
-msgid "left operand of IN incompatible with right operand"
-msgstr ""
-
-#: ch/expr.c:3987
-#, fuzzy
-msgid "-> operator not allow in constant expression"
-msgstr "-> operator niet toegestaan in constante expressie"
-
-#: ch/expr.c:4000
-msgid "taking the address of a string literal is non-standard"
-msgstr ""
-
-#: ch/expr.c:4002
-msgid "taking the address of a function is non-standard"
-msgstr ""
-
-#: ch/expr.c:4005
-msgid "ADDR requires a LOCATION argument"
-msgstr ""
-
-#: ch/expr.c:4035
-msgid "-> expression is not addressable"
-msgstr ""
-
-#: ch/expr.c:4062
-msgid "ADDR parameter must be a LOCATION"
-msgstr ""
-
-#: ch/expr.c:4071
-msgid "possible internal error in build_chill_arrow_expr"
-msgstr ""
-
-#: ch/expr.c:4076
-#, c-format
-msgid "%s is not addressable"
-msgstr "%s is niet addresseerbaar"
-
-#: ch/expr.c:4175
-msgid "repetition count is not an integer constant"
-msgstr "herhalings-aantal is geen integerconstante"
-
-#: ch/expr.c:4183
-msgid "repetition count < 0"
-msgstr ""
-
-#: ch/expr.c:4188
-msgid "repetition value not constant"
-msgstr "herhalings-aantal is niet constant"
-
-#: ch/expr.c:4200
-msgid "bitstring repetition of non-constant boolean"
-msgstr ""
-
-#: ch/expr.c:4223
-msgid "string repetition operand is non-constant bitstring"
-msgstr "string herhalings-operand is een niet-constante bitstring"
-
-#: ch/expr.c:4283
-msgid "non-char, non-bit string repetition"
-msgstr ""
-
-#: ch/expr.c:4311
-#, c-format
-msgid "invalid operand of %s"
-msgstr "ongeldige operand van %s"
-
-#: ch/expr.c:4322
-#, c-format
-msgid "right operand of %s is not array of boolean"
-msgstr ""
-
-#: ch/expr.c:4335
-#, c-format
-msgid "%s operator applied to boolean variable"
-msgstr ""
-
-# Of moet/mag 'boolean' hier vertaald worden?
-#: ch/expr.c:4406
-msgid "non-boolean mode in conditional expression"
-msgstr "niet-boolean modus in voorwaardelijke expressie"
-
-#: ch/grant.c:1978
-msgid "decode_constant: invalid component_ref"
-msgstr ""
-
-#: ch/grant.c:1986
-msgid "decode_constant: mode and value mismatch"
-msgstr ""
-
-#: ch/grant.c:1989
-msgid "decode_constant: cannot decode this mode"
-msgstr ""
-
-#: ch/grant.c:2214
-msgid "decode_constant_selective: mode and value mismatch"
-msgstr ""
-
-#: ch/grant.c:2217
-msgid "decode_constant_selective: cannot decode this mode"
-msgstr ""
-
-#: ch/grant.c:2677
-#, fuzzy, c-format
-msgid "can't write to %s"
-msgstr "open %s"
-
-#: ch/grant.c:2764
-msgid "FORBID is not yet implemented"
-msgstr ""
-
-#. this nerver should happen
-#: ch/grant.c:2825
-#, fuzzy, c-format
-msgid "function \"really_grant_this\" called for `%s'"
-msgstr "functie \"really_grant_this\" opgeroepen voor `%s'"
-
-#: ch/inout.c:1645
-msgid "non-integral text length"
-msgstr ""
-
-#: ch/inout.c:1650
-msgid "non-constant text length"
-msgstr ""
-
-#: ch/inout.c:1655
-msgid "text length must be greater than 0"
-msgstr ""
-
-#: ch/inout.c:1755
-#, c-format
-msgid "argument %d of %s must be of mode ASSOCIATION"
-msgstr ""
-
-#: ch/inout.c:1760 ch/inout.c:2146 ch/inout.c:2516 ch/inout.c:2751
-#, c-format
-msgid "argument %d of %s must be a location"
-msgstr "argument %d van %s moet een locatie zijn"
-
-#: ch/inout.c:1795
-msgid "argument 2 of ASSOCIATE must not be an empty string"
-msgstr "argument 2 van ASSOCIATE mag geen lege string zijn"
-
-#: ch/inout.c:1811
-msgid "argument 2 to ASSOCIATE must be a string"
-msgstr ""
-
-#: ch/inout.c:1850
-msgid "argument 3 to ASSOCIATE must be a string"
-msgstr ""
-
-#: ch/inout.c:2031
-#, fuzzy
-msgid "too many arguments in call to MODIFY"
-msgstr "Teveel argumenten in oproep van MODIFY"
-
-#: ch/inout.c:2044
-msgid "argument 2 of MODIFY must not be an empty string"
-msgstr "argument 2 van MODIFY mag geen lege string zijn"
-
-#: ch/inout.c:2060
-msgid "argument 2 to MODIFY must be a string"
-msgstr "argument 2 van MODIFY moet een string zijn"
-
-#: ch/inout.c:2094
-msgid "argument 3 to MODIFY must be a string"
-msgstr "argument 3 van MODIFY moet een string zijn"
-
-#: ch/inout.c:2141
-#, c-format
-msgid "argument %d of %s must be an ACCESS or TEXT mode"
-msgstr ""
-
-#: ch/inout.c:2355
-msgid "argument 4 of CONNECT must be of mode WHERE"
-msgstr ""
-
-#: ch/inout.c:2371
-msgid "index expression for ACCESS without index"
-msgstr ""
-
-#: ch/inout.c:2376 ch/inout.c:2554 ch/inout.c:2636 ch/inout.c:4356
-#: ch/inout.c:4504
-msgid "incompatible index mode"
-msgstr "incompatibele index-modus"
-
-#: ch/inout.c:2476
-msgid "argument 3 to CONNECT must be of mode USAGE"
-msgstr ""
-
-#: ch/inout.c:2511
-#, c-format
-msgid "argument %d of %s must be of mode ACCESS"
-msgstr ""
-
-#: ch/inout.c:2545
-#, fuzzy
-msgid "too few arguments in call to `readrecord'"
-msgstr "Te weinig argumenten in oproep van `readrecord'"
-
-#: ch/inout.c:2569 ch/inout.c:2648
-msgid "incompatible record mode"
-msgstr "incompatibele record-modus"
-
-#: ch/inout.c:2574
-msgid "store location must not be READonly"
-msgstr ""
-
-#: ch/inout.c:2616
-#, fuzzy
-msgid "too few arguments in call to `writerecord'"
-msgstr "Te weinig argumenten in oproep van `writerecord'"
-
-#: ch/inout.c:2643
-msgid "transfer to ACCESS without record mode"
-msgstr ""
-
-#: ch/inout.c:2746
-#, c-format
-msgid "argument %d of %s must be of mode TEXT"
-msgstr ""
-
-#: ch/inout.c:2803
-msgid "TEXT doesn't have a location"
-msgstr ""
-
-#: ch/inout.c:2905
-msgid "incompatible index mode for SETETEXTACCESS"
-msgstr ""
-
-#: ch/inout.c:2915
-msgid "incompatible record mode for SETTEXTACCESS"
-msgstr ""
-
-#: ch/inout.c:2945
-msgid "parameter 2 must be a location"
-msgstr "parameter 2 moet een locatie zijn"
-
-#: ch/inout.c:2955
-msgid "incompatible modes in parameter 2"
-msgstr "incompatibele modes in parameter 2"
-
-# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
-#: ch/inout.c:3062
-msgid "conditional expression not allowed in this context"
-msgstr "voorwaardelijke expressie niet toegestaan in deze context"
-
-# Betere vertaling voor 'untyped'?
-#: ch/inout.c:3064
-#, c-format
-msgid "untyped expression as argument %d"
-msgstr "expressie zonder type als argument %d"
-
-#: ch/inout.c:3141 ch/inout.c:3187
-#, c-format
-msgid "cannot process %d bits integer for READTEXT argument %d"
-msgstr ""
-
-#: ch/inout.c:3262
-#, c-format
-msgid "cannot process %d bits integer WRITETEXT argument %d"
-msgstr ""
-
-# Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
-#: ch/inout.c:3283 ch/inout.c:3338 ch/inout.c:3417 ch/inout.c:3483
-#: ch/inout.c:3534 ch/inout.c:3619 ch/inout.c:3654
-#, c-format
-msgid "argument %d is READonly"
-msgstr "argument %d is alleen-lezen"
-
-#: ch/inout.c:3290 ch/inout.c:3345 ch/inout.c:3424 ch/inout.c:3491
-#: ch/inout.c:3542 ch/inout.c:3627 ch/inout.c:3659
-#, c-format
-msgid "argument %d must be referable"
-msgstr "argument %d moet refereerbaar zijn"
-
-#: ch/inout.c:3578
-#, c-format
-msgid "cannot process argument %d of WRITETEXT, unknown size"
-msgstr ""
-
-#. datatype is not yet implemented, issue a warning
-#: ch/inout.c:3725
-#, c-format
-msgid "cannot process mode of argument %d for %sTEXT"
-msgstr ""
-
-#: ch/inout.c:3868
-msgid "too few arguments for this format string"
-msgstr "te weinig argumenten voor deze formaatstring"
-
-#: ch/inout.c:3893 ch/inout.c:3902
-#, c-format
-msgid "type of argument %d invalid for conversion code at offset %d"
-msgstr ""
-
-#: ch/inout.c:4012
-msgid "unmatched open paren"
-msgstr ""
-
-#: ch/inout.c:4026 ch/inout.c:4221
-#, c-format
-msgid "bad format specification character (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4039
-#, c-format
-msgid "repetition factor overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4057 ch/inout.c:4064 ch/inout.c:4071
-#, c-format
-msgid "duplicate qualifier (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4093
-#, c-format
-msgid "clause width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4106
-#, c-format
-msgid "no fraction (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4124
-#, c-format
-msgid "no fraction width (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4131
-#, c-format
-msgid "fraction width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4142
-#, c-format
-msgid "no exponent (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4160
-#, c-format
-msgid "no exponent width (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4167
-#, c-format
-msgid "exponent width overflow (offset %d)"
-msgstr ""
-
-#: ch/inout.c:4208
-msgid "internal error in check_format_string"
-msgstr "interne fout in check_format_string"
-
-#: ch/inout.c:4224
-#, c-format
-msgid "no padding character (offset %d)"
-msgstr ""
-
-#. too may arguments for format string
-#: ch/inout.c:4256
-msgid "too many arguments for this format string"
-msgstr "teveel argumenten voor deze formaatstring"
-
-#: ch/inout.c:4354 ch/inout.c:4502
-msgid "missing index expression"
-msgstr "ontbrekende index-expressie"
-
-#: ch/inout.c:4361
-#, fuzzy
-msgid "too few arguments in call to `writetext'"
-msgstr "Te weinig argumenten in oproep van `writetext'"
-
-#: ch/inout.c:4374
-msgid "argument 1 for WRITETEXT must be a TEXT or CHARS(n) VARYING location"
-msgstr ""
-
-#: ch/inout.c:4397
-msgid "`format string' for WRITETEXT must be a CHARACTER string"
-msgstr ""
-
-#: ch/inout.c:4509
-#, fuzzy
-msgid "too few arguments in call to `readtext'"
-msgstr "Te weinig argumenten in oproep van `readtext'"
-
-#: ch/inout.c:4522
-msgid "argument 1 for READTEXT must be a TEXT location or CHARS(n) [ VARYING ] expression"
-msgstr ""
-
-#: ch/inout.c:4543
-msgid "`format string' for READTEXT must be a CHARACTER string"
-msgstr ""
-
-#: ch/lang.c:105
-msgid "non-constant expression"
-msgstr "niet-constante expressie"
-
-#: ch/lang.c:191
-msgid "ignoring case upon input and"
-msgstr ""
-
-#: ch/lang.c:192
-msgid "making special words uppercase wouldn't work"
-msgstr ""
-
-#: ch/lang.c:203
-msgid "making special words uppercase and"
-msgstr ""
-
-#: ch/lang.c:204
-msgid " ignoring case upon input wouldn't work"
-msgstr ""
-
-#: ch/lang.c:277 java/typeck.c:178
-msgid "internal error - use of undefined type"
-msgstr "interne fout -- niet gedefinieerd type gebruikt"
-
-#: ch/lex.c:502
-msgid "invalid C'xx' "
-msgstr "ongeldige C'xx'"
-
-#: ch/lex.c:607 java/jcf-parse.c:611 java/jcf-write.c:3376
-#, fuzzy, c-format
-msgid "can't close %s"
-msgstr "close %s"
-
-#: ch/lex.c:711
-msgid "malformed exponent part of floating-point literal"
-msgstr ""
-
-#: ch/lex.c:728
-#, fuzzy
-msgid "real number exceeds range of REAL"
-msgstr "floating-point getal overschrijdt het bereik van een `float'"
-
-#: ch/lex.c:747 ch/lex.c:774
-#, fuzzy
-msgid "end-of-file in '<>' directive"
-msgstr "ongedefinieerd of ongeldig #-commando"
-
-#: ch/lex.c:780
-#, fuzzy
-msgid "unrecognized compiler directive"
-msgstr "onbekende formaatspecificatie"
-
-#: ch/lex.c:788 ch/lex.c:834
-#, fuzzy, c-format
-msgid "unrecognized compiler directive `%s'"
-msgstr "onbekende formaatspecificatie"
-
-#: ch/lex.c:995
-#, fuzzy
-msgid "unterminated control sequence"
-msgstr "niet-beëindigde commentaar"
-
-#: ch/lex.c:1010 ch/lex.c:1046
-msgid "invalid integer literal in control sequence"
-msgstr ""
-
-#: ch/lex.c:1021 ch/lex.c:1029
-msgid "control sequence overflow"
-msgstr ""
-
-#: ch/lex.c:1023 ch/lex.c:1031
-#, fuzzy
-msgid "invalid control sequence"
-msgstr "ongeldige macronaam"
-
-#: ch/lex.c:1111
-#, fuzzy
-msgid "invalid base in read control sequence"
-msgstr "ongeldige lvalue bij decrementeren"
-
-#: ch/lex.c:1118
-msgid "invalid digit in control sequence"
-msgstr ""
-
-#: ch/lex.c:1145
-#, fuzzy
-msgid "unterminated string literal"
-msgstr "Onbeëindigde stringconstante"
-
-#: ch/lex.c:1248 ch/lex.c:1334
-#, fuzzy, c-format
-msgid "invalid number format `%s'"
-msgstr "ongeldige registernaam voor `%s'"
-
-#: ch/lex.c:1266
-msgid "integer literal too big"
-msgstr ""
-
-#: ch/lex.c:1395
-#, fuzzy, c-format
-msgid "can't find %s"
-msgstr "kan %s niet vinden"
-
-#: ch/lex.c:1421
-msgid "USE_SEIZE_FILE directive must be followed by string"
-msgstr ""
-
-#: ch/lex.c:1693 f/lex.c:1190
-msgid "invalid #ident"
-msgstr "ongeldige #ident"
-
-#: ch/lex.c:1711 f/lex.c:1207
-msgid "undefined or invalid # directive"
-msgstr "ongedefinieerd of ongeldig #-commando"
-
-#: ch/lex.c:1765 ch/lex.c:1774 f/lex.c:1263
-msgid "invalid #line"
-msgstr "ongeldige #line"
-
-#: ch/lex.c:1843 f/lex.c:836
-msgid "#-lines for entering and leaving files don't match"
-msgstr "#-lijnen voor het binnengaan en verlaten van bestanden komen niet overeen"
-
-#: ch/lex.c:1868 f/lex.c:1373
-msgid "invalid #-line"
-msgstr "ongeldige #-lijn"
-
-#: ch/lex.c:1998
-msgid "missing `=' in compiler directive"
-msgstr ""
-
-#: ch/lex.c:2040 ch/lex.c:2050 ch/lex.c:2091
-#, fuzzy
-msgid "invalid value follows `=' in compiler directive"
-msgstr "`#line'-commando in slecht formaat"
-
-#: ch/lex.c:2061
-#, fuzzy, c-format
-msgid "invalid `%c' character in name"
-msgstr "ongeldig karakter in naam van macro-parameter"
-
-#: ch/lex.c:2074
-#, fuzzy, c-format
-msgid "`%s' not integer constant synonym "
-msgstr "twee `u's in integerconstante"
-
-#: ch/lex.c:2097
-#, fuzzy
-msgid "value out of range in compiler directive"
-msgstr "lijnnummer buiten bereik in `#line'-commando"
-
-#: ch/lex.c:2214 java/jcf-parse.c:607
-#, fuzzy, c-format
-msgid "can't reopen %s"
-msgstr "open %s"
-
-#: ch/lex.c:2225
-msgid "no modules seen"
-msgstr ""
-
-#: ch/loop.c:480
-#, fuzzy
-msgid "modeless tuple not allowed in this context"
-msgstr "%s: %s compiler niet geïnstalleerd op dit systeem"
-
-#: ch/loop.c:482
-msgid "IN expression does not have a mode"
-msgstr ""
-
-#: ch/loop.c:489
-msgid "location enumeration for BOOLS"
-msgstr ""
-
-#: ch/loop.c:517
-msgid "location enumeration for bit-packed arrays"
-msgstr ""
-
-#: ch/loop.c:526 ch/nloop.c:481
-#, fuzzy
-msgid "loop's IN expression is not a composite object"
-msgstr "`%s' is geen iterator"
-
-#: ch/loop.c:541 ch/nloop.c:498
-msgid "start expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:547 ch/nloop.c:504
-msgid "DO FOR start expression is a numbered SET"
-msgstr ""
-
-#: ch/loop.c:555 ch/nloop.c:510
-msgid "TO expression is a numbered SET"
-msgstr ""
-
-#: ch/loop.c:560 ch/nloop.c:525
-msgid "TO expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:565 ch/nloop.c:531
-msgid "start expr and TO expr must be compatible"
-msgstr ""
-
-#: ch/loop.c:574 ch/nloop.c:546
-msgid "BY expr must have discrete mode"
-msgstr ""
-
-#: ch/loop.c:579 ch/nloop.c:552
-msgid "start expr and BY expr must be compatible"
-msgstr ""
-
-#: ch/loop.c:595 ch/nloop.c:765
-msgid "loop identifier undeclared"
-msgstr ""
-
-#: ch/loop.c:606
-#, fuzzy
-msgid "loop variable incompatible with start expression"
-msgstr "overflow in constante expressie"
-
-#: ch/loop.c:633 ch/nloop.c:564
-msgid "body of DO FOR will never execute"
-msgstr ""
-
-#: ch/loop.c:648 ch/nloop.c:585
-msgid "BY expression is negative or zero"
-msgstr ""
-
-#: ch/loop.c:847 ch/nloop.c:817
-msgid "can't iterate through array of BOOL"
-msgstr ""
-
-#: ch/nloop.c:867
-msgid "Can't iterate through array of BOOL"
-msgstr ""
-
-#: ch/parse.c:159
-#, c-format
-msgid "there was no start label to match the end label '%s'"
-msgstr ""
-
-#: ch/parse.c:162
-#, c-format
-msgid "start label '%s' does not match end label '%s'"
-msgstr ""
-
-#: ch/parse.c:192
-#, fuzzy, c-format
-msgid "`%s' not declared"
-msgstr "`%.*s' is niet gedefinieerd"
-
-#: ch/parse.c:226
-#, fuzzy
-msgid "no RETURN or RESULT in procedure"
-msgstr "RETURN zonder waarde en geen RESULTS-actie in procedure"
-
-#: ch/parse.c:245
-msgid "PREFIXED clause with no prelix in unlabeled module"
-msgstr ""
-
-#: ch/parse.c:336
-#, fuzzy, c-format
-msgid "internal parser error - expected token %d"
-msgstr "interne fout - dup-operatie"
-
-#: ch/parse.c:529
-#, fuzzy, c-format
-msgid "'%s!' is not followed by an identifier"
-msgstr "`#' gevolgd door een integer"
-
-#: ch/parse.c:545
-msgid "expected a name here"
-msgstr ""
-
-#: ch/parse.c:560
-msgid "expected a name string here"
-msgstr ""
-
-#: ch/parse.c:591
-#, fuzzy, c-format
-msgid "`%s' undeclared"
-msgstr "`%s' tevoren hier gedeclareerd"
-
-#: ch/parse.c:669
-msgid "action not allowed in SPEC MODULE"
-msgstr ""
-
-#: ch/parse.c:691
-msgid "missing defining occurrence"
-msgstr ""
-
-#: ch/parse.c:702
-msgid "bad defining occurrence following ','"
-msgstr ""
-
-#: ch/parse.c:802
-msgid "missing '(' in exception list"
-msgstr ""
-
-#: ch/parse.c:827
-msgid "ON exception names must be unique"
-msgstr ""
-
-#: ch/parse.c:837
-msgid "syntax error in exception list"
-msgstr ""
-
-#: ch/parse.c:873
-#, fuzzy
-msgid "empty ON-condition"
-msgstr "lege declaratie"
-
-#: ch/parse.c:938
-msgid "INIT not allowed at loc-identity declaration"
-msgstr ""
-
-#: ch/parse.c:948
-#, fuzzy
-msgid "'=' used where ':=' is required"
-msgstr "waarde van union-type gebruikt waar een scalair nodig is"
-
-#: ch/parse.c:956
-msgid "initialization is not allowed in spec module"
-msgstr ""
-
-#: ch/parse.c:964
-msgid "loc-identity declaration without initialization"
-msgstr ""
-
-#: ch/parse.c:1008
-msgid "bad syntax following FORBID"
-msgstr ""
-
-#: ch/parse.c:1023
-msgid "expected a postfix name here"
-msgstr ""
-
-#: ch/parse.c:1068
-msgid "expected another rename clause"
-msgstr ""
-
-#: ch/parse.c:1128
-#, fuzzy
-msgid "syntax error in parameter name list"
-msgstr "ongeldig karakter in naam van macro-parameter"
-
-#: ch/parse.c:1221
-msgid "NONREF specific without LOC in result attribute"
-msgstr ""
-
-#: ch/parse.c:1223
-msgid "DYNAMIC specific without LOC in result attribute"
-msgstr ""
-
-#: ch/parse.c:1245
-msgid "exception names must be unique"
-msgstr ""
-
-#: ch/parse.c:1441
-msgid "must specify a PROCESS name"
-msgstr ""
-
-#: ch/parse.c:1448
-msgid "SIGNAL must be in global reach"
-msgstr ""
-
-#: ch/parse.c:1479
-msgid "syntax error while parsing signal definition statement"
-msgstr ""
-
-#: ch/parse.c:1593
-#, fuzzy
-msgid "case range list"
-msgstr "leeg case-bereik"
-
-#: ch/parse.c:1660
-msgid "misplaced colon in case label"
-msgstr ""
-
-#: ch/parse.c:1707
-msgid "unrecognized case label list after ','"
-msgstr ""
-
-#: ch/parse.c:1971 ch/parse.c:1997
-#, fuzzy
-msgid "bad ASM operand"
-msgstr "ongeldige operand voor %P"
-
-#: ch/parse.c:2067
-msgid "readonly location modified by 'asm'"
-msgstr ""
-
-#: ch/parse.c:2198
-msgid "expected 'TO' in step enumeration"
-msgstr ""
-
-#: ch/parse.c:2213
-msgid "expected 'IN' in FOR control here"
-msgstr ""
-
-#: ch/parse.c:2314
-msgid "missing DELAY CASE alternative"
-msgstr ""
-
-#. This is probably not possible
-#: ch/parse.c:2348
-msgid "non-referable location in DO WITH"
-msgstr ""
-
-#: ch/parse.c:2360
-msgid "WITH element must be of STRUCT mode"
-msgstr ""
-
-#: ch/parse.c:2467
-msgid "missing ')' in signal/buffer receive alternative"
-msgstr ""
-
-#: ch/parse.c:2481
-msgid "misplaced 'IN' in signal/buffer receive alternative"
-msgstr ""
-
-#: ch/parse.c:2529
-msgid "missing RECEIVE alternative"
-msgstr ""
-
-#: ch/parse.c:2655
-msgid "PROCESS copy number must be integer"
-msgstr ""
-
-#: ch/parse.c:2882
-msgid "missing parenthesis for procedure call"
-msgstr ""
-
-#: ch/parse.c:2884
-#, fuzzy
-msgid "expression is not an action"
-msgstr "`%s' is geen iterator"
-
-#: ch/parse.c:2918
-msgid "syntax error in action"
-msgstr ""
-
-#: ch/parse.c:2945
-msgid "no handler is permitted on this action"
-msgstr ""
-
-#: ch/parse.c:2966
-#, fuzzy
-msgid "definition follows action"
-msgstr "herdefinitie van `union %s'"
-
-#: ch/parse.c:3042
-msgid "bad tuple field name list"
-msgstr ""
-
-#: ch/parse.c:3088
-msgid "invalid syntax for label in tuple"
-msgstr ""
-
-#: ch/parse.c:3133
-msgid "bad syntax in tuple"
-msgstr ""
-
-#: ch/parse.c:3160
-msgid "non-mode name before tuple"
-msgstr ""
-
-#: ch/parse.c:3205
-#, fuzzy
-msgid "invalid expression/location syntax"
-msgstr "ongeldige expressie als operand"
-
-#: ch/parse.c:3262
-msgid "RECEIVE expression"
-msgstr ""
-
-#: ch/parse.c:3457
-msgid "there should not be a ';' here"
-msgstr ""
-
-#: ch/parse.c:3496
-msgid "missing ELSE/ELSIF in IF expression"
-msgstr ""
-
-# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
-#: ch/parse.c:3547
-#, fuzzy
-msgid "conditional expression not allowed inside parentheses"
-msgstr "accolade-groep in expressie enkel toegestaan binnen een functie"
-
-#: ch/parse.c:3551
-msgid "mode-less tuple not allowed inside parentheses"
-msgstr ""
-
-#. Z.200 doesn't allow mixed numbered and unnumbered set elements,
-#. but we can do it. Print a warning
-#: ch/parse.c:3664
-msgid "mixed numbered and unnumbered set elements is not standard"
-msgstr ""
-
-#: ch/parse.c:3667
-msgid "SET mode must define at least one named value"
-msgstr ""
-
-#: ch/parse.c:3766
-msgid "POS not allowed for ARRAY"
-msgstr ""
-
-#: ch/parse.c:3776
-msgid "STEP not allowed in field definition"
-msgstr ""
+msgid "invalid mask"
+msgstr "ongeldige %s"
-#: ch/parse.c:3792
+#: config/xtensa/xtensa.c:2038
#, fuzzy
-msgid "missing field name"
-msgstr "beginwaarde ontbreekt"
-
-#: ch/parse.c:3801
-msgid "bad field name following ','"
-msgstr ""
-
-#: ch/parse.c:3861
-msgid "expected ':' in structure variant alternative"
-msgstr ""
+msgid "invalid address"
+msgstr "Ongeldige addresseringsmodus"
-#: ch/parse.c:3912
+#: config/xtensa/xtensa.c:2063
#, fuzzy
-msgid "missing field"
-msgstr "beginwaarde ontbreekt"
-
-#: ch/parse.c:4060
-msgid "VARYING bit-strings not implemented"
-msgstr ""
-
-#: ch/parse.c:4121
-msgid "strings must be composed of chars"
-msgstr ""
-
-#: ch/parse.c:4171
-msgid "BUFFER modes may not be readonly"
-msgstr ""
-
-#: ch/parse.c:4178
-msgid "EVENT modes may not be readonly"
-msgstr ""
+msgid "no register in address"
+msgstr "Ongeldig register in ybase-addressering"
-#: ch/parse.c:4198
+#: config/xtensa/xtensa.c:2071
#, fuzzy
-msgid "SIGNAL is not a valid mode"
-msgstr "-fPIC is niet geldig met -mcoff"
-
-#: ch/parse.c:4235
-msgid "syntax error - missing mode"
-msgstr ""
-
-#: ch/parse.c:4282
-msgid "syntax error - expected a module or end of file"
-msgstr ""
-
-#: ch/satisfy.c:58
-#, c-format
-msgid " `%s', which depends on ..."
-msgstr ""
-
-#: ch/satisfy.c:90
-#, c-format
-msgid "cycle: `%s' depends on ..."
-msgstr ""
-
-#: ch/satisfy.c:92
-#, fuzzy, c-format
-msgid " `%s'"
-msgstr "%s voor `%s'"
-
-#: ch/satisfy.c:151
-msgid "SYN of this mode not allowed"
-msgstr ""
-
-#: ch/satisfy.c:156
-msgid "mode of SYN incompatible with value"
-msgstr ""
-
-#: ch/satisfy.c:167
-msgid "SYN value outside range of its mode"
-msgstr ""
-
-#: ch/satisfy.c:176
-msgid "INIT string too large for mode"
-msgstr ""
-
-#: ch/satisfy.c:195
-#, fuzzy, c-format
-msgid "value of %s is not a valid constant"
+msgid "address offset not a constant"
msgstr "het argument van `asm' is geen constante string"
-#: ch/satisfy.c:226
-msgid "mode with non-value property in signal definition"
-msgstr ""
-
-#: ch/satisfy.c:403
-#, fuzzy, c-format
-msgid "undeclared identifier `%s'"
-msgstr "ongeldige naam `%s'"
-
-#: ch/satisfy.c:456
-msgid "RETURNS spec with invalid mode"
-msgstr ""
-
-#: ch/satisfy.c:520
-msgid "operand to REF is not a mode"
-msgstr ""
-
-#: ch/satisfy.c:554
-msgid "field with non-value mode in variant structure not allowed"
-msgstr ""
-
-#: ch/satisfy.c:593
-msgid "buffer element mode must not have non-value property"
-msgstr ""
-
-#: ch/satisfy.c:602
-msgid "recordmode must not have the non-value property"
-msgstr ""
-
-#: ch/tasking.c:170 ch/tasking.c:218
-#, c-format
-msgid "tasking code %ld out of range for `%s'"
-msgstr ""
-
-#: ch/tasking.c:284
-#, c-format
-msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
-msgstr ""
-
-#: ch/tasking.c:325
-msgid "PROCESS may only be declared at module level"
-msgstr ""
-
-#: ch/tasking.c:549
-#, c-format
-msgid "process name %s never declared"
-msgstr ""
-
-#: ch/tasking.c:554
-msgid "you may only START a process, not a proc"
-msgstr ""
-
-#: ch/tasking.c:590
-#, fuzzy
-msgid "SET expression not a location"
-msgstr "`%s' is geen iterator"
-
-#: ch/tasking.c:595
-msgid "SET location must be INSTANCE mode"
-msgstr ""
-
-#: ch/tasking.c:632
-#, fuzzy, c-format
-msgid "too many arguments to process `%s'"
-msgstr "teveel argumenten voor functie `%s'"
-
-#: ch/tasking.c:635
-#, fuzzy
-msgid "too many arguments to process"
-msgstr "teveel argumenten voor functie"
-
-#: ch/tasking.c:640
-#, fuzzy, c-format
-msgid "too few arguments to process `%s'"
-msgstr "te weinig argumenten voor functie `%s'"
-
-#: ch/tasking.c:643
-#, fuzzy
-msgid "too few arguments to process"
-msgstr "te weinig argument voor functie"
-
-#: ch/tasking.c:983
-msgid "COPY_NUMBER argument must be INSTANCE expression"
-msgstr ""
-
-#: ch/tasking.c:1007
-msgid "GEN_CODE argument must be a process or signal name"
-msgstr ""
-
-#: ch/tasking.c:1029
-msgid "GEN_INST parameter 2 must be an integer mode"
-msgstr ""
-
-#: ch/tasking.c:1050
-msgid "GEN_INST parameter 1 must be a PROCESS or an integer expression"
-msgstr ""
-
-#: ch/tasking.c:1076
-#, c-format
-msgid "%s is not a declared process"
-msgstr ""
-
-#: ch/tasking.c:1097
-msgid "PROC_TYPE argument must be INSTANCE expression"
-msgstr ""
-
-#: ch/tasking.c:1139
-#, fuzzy
-msgid "QUEUE_LENGTH argument must be a BUFFER/EVENT location"
-msgstr "argument %d van %s moet een locatie zijn"
-
-#: ch/tasking.c:1289
-#, c-format
-msgid "SEND requires a SIGNAL; %s is not a SIGNAL name"
-msgstr ""
-
-#: ch/tasking.c:1314
-#, fuzzy, c-format
-msgid "too many values for SIGNAL `%s'"
-msgstr "teveel argumenten voor functie `%s'"
-
-#: ch/tasking.c:1320
-#, fuzzy, c-format
-msgid "too few values for SIGNAL `%s'"
-msgstr "te weinig argumenten voor functie `%s'"
-
-#: ch/tasking.c:1398
-msgid "signal sent without priority"
-msgstr ""
-
-#: ch/tasking.c:1399 ch/tasking.c:2927
-msgid " and no default priority was set."
-msgstr ""
-
-#: ch/tasking.c:1400 ch/tasking.c:2777 ch/tasking.c:2928
-msgid " PRIORITY defaulted to 0"
-msgstr ""
-
-#: ch/tasking.c:1415
-msgid "SEND without a destination instance"
-msgstr ""
-
-#: ch/tasking.c:1416
-msgid " and no destination process specified"
-msgstr ""
-
-#: ch/tasking.c:1417
-msgid " for the signal"
-msgstr ""
-
-#. as our system doesn't allow that and Z.200 specifies it,
-#. we issue a warning
-#: ch/tasking.c:1436
-#, c-format
-msgid "SEND to ANY copy of process `%s'"
-msgstr ""
-
-#: ch/tasking.c:1441
-msgid "SEND TO must be an INSTANCE mode"
-msgstr ""
-
-#: ch/tasking.c:1455
-msgid "SEND WITH must have a mode"
-msgstr ""
-
-#: ch/tasking.c:1724
+#: config/xtensa/xtensa.c:2809
#, fuzzy
-msgid "internal error: RECEIVE CASE stack invalid"
-msgstr "interne fout"
-
-#: ch/tasking.c:1764 ch/tasking.c:2492
-msgid "SET requires INSTANCE location"
-msgstr ""
-
-#: ch/tasking.c:1843
-msgid "SIGNAL in RECEIVE CASE alternative follows"
-msgstr ""
-
-#: ch/tasking.c:1844
-#, c-format
-msgid " a BUFFER name on line %d"
-msgstr ""
-
-#: ch/tasking.c:1852
-#, c-format
-msgid "SIGNAL `%s' has no data fields"
-msgstr ""
-
-#: ch/tasking.c:1857
-#, c-format
-msgid "SIGNAL `%s' requires data fields"
-msgstr ""
-
-#: ch/tasking.c:1921
-#, c-format
-msgid "too few data fields provided for `%s'"
-msgstr ""
-
-#: ch/tasking.c:1924
-#, fuzzy, c-format
-msgid "too many data fields provided for `%s'"
-msgstr "teveel argumenten voor functie `%s'"
-
-#: ch/tasking.c:1947
-msgid "BUFFER in RECEIVE CASE alternative follows"
-msgstr ""
-
-#: ch/tasking.c:1948
-#, c-format
-msgid " a SIGNAL name on line %d"
-msgstr ""
-
-#: ch/tasking.c:1956
-msgid "BUFFER in RECEIVE CASE alternative must be a location"
-msgstr ""
-
-#: ch/tasking.c:1962
-msgid "buffer receive alternative requires only 1 defining occurrence"
-msgstr ""
-
-#: ch/tasking.c:2043
-#, fuzzy
-msgid "incompatible modes in receive buffer alternative"
-msgstr "incompatibele types bij %s"
-
-#: ch/tasking.c:2049
-msgid "defining occurrence in receive buffer alternative must be a location"
-msgstr ""
-
-#: ch/tasking.c:2086
-msgid "buffer receive alternative without `IN location'"
-msgstr ""
-
-#: ch/tasking.c:2092
-msgid "RECEIVE CASE alternative must specify a SIGNAL name or BUFFER location"
-msgstr ""
-
-#: ch/tasking.c:2331
-msgid "RECEIVE CASE without alternatives"
-msgstr ""
-
-#: ch/tasking.c:2369
-#, fuzzy
-msgid "CONTINUE requires an event location"
-msgstr "Een -ifile optie heeft een -map optie nodig"
-
-#: ch/tasking.c:2503 ch/tasking.c:2939
-#, fuzzy
-msgid "PRIORITY must be of integer type"
-msgstr "argument van `%s' moet van een integraal type zijn."
-
-#: ch/tasking.c:2581
-#, fuzzy
-msgid "delay alternative must be an EVENT location"
-msgstr "parameter 2 moet een locatie zijn"
-
-#: ch/tasking.c:2636
-msgid "DELAY CASE without alternatives"
-msgstr ""
-
-#: ch/tasking.c:2756
-#, fuzzy
-msgid "DELAY action requires an event location"
-msgstr "Een -ifile optie heeft een -map optie nodig"
-
-#: ch/tasking.c:2767
-#, fuzzy
-msgid "PRIORITY in DELAY action must be of integer type"
-msgstr "argument van `%s' moet van een integraal type zijn."
-
-#: ch/tasking.c:2776
-msgid "DELAY action without priority."
-msgstr ""
-
-#: ch/tasking.c:2867
-#, fuzzy
-msgid "send buffer action requires a BUFFER location"
-msgstr "Een -ifile optie heeft een -map optie nodig"
-
-#: ch/tasking.c:2884
-#, fuzzy
-msgid "there must be only 1 value for send buffer action"
-msgstr "incompatibele types bij %s"
-
-#: ch/tasking.c:2905
-#, fuzzy
-msgid "convert failed for send buffer action"
-msgstr "incompatibele types bij %s"
-
-#: ch/tasking.c:2911
-#, fuzzy
-msgid "incompatible modes in send buffer action"
-msgstr "incompatibele types bij %s"
-
-#: ch/tasking.c:2926
-msgid "buffer sent without priority"
-msgstr ""
-
-#: ch/tasking.c:2945
-#, fuzzy
-msgid "WITH not allowed for send buffer action"
-msgstr "incompatibele types bij %s"
-
-#: ch/tasking.c:2950
-#, fuzzy
-msgid "TO not allowed for send buffer action"
-msgstr "incompatibele types bij %s"
-
-#: ch/tasking.c:3093
-#, c-format
-msgid "SEND requires a BUFFER; `%s' is not a BUFFER name"
-msgstr ""
-
-#: ch/tasking.c:3234
-msgid "non-integral max queue size for EVENT/BUFFER mode"
-msgstr ""
-
-#: ch/tasking.c:3239
-msgid "non-constant max queue size for EVENT/BUFFER mode"
-msgstr ""
-
-#: ch/tasking.c:3246
-msgid "max queue_size for EVENT/BUFFER is not positive"
-msgstr ""
-
-#: ch/timing.c:224
-msgid "absolute time value must be of mode TIME"
-msgstr ""
-
-#: ch/timing.c:281 ch/timing.c:364
-msgid "duration primitive value must be of mode DURATION"
-msgstr ""
-
-#: ch/tree.c:58
-msgid "string length > UPPER (UINT)"
-msgstr ""
-
-#: ch/tree.c:112
-#, fuzzy
-msgid "can only build a powerset from a discrete mode"
-msgstr "array subscript is geen integer"
-
-#: ch/tree.c:124
-#, fuzzy
-msgid "non-constant bitstring size invalid"
-msgstr "niet-constante array-index in beginwaarde"
-
-#: ch/tree.c:126
-#, fuzzy
-msgid "non-constant powerset size invalid"
-msgstr "niet-constante array-index in beginwaarde"
-
-#: ch/typeck.c:83
-msgid "array or string index is a mode (instead of a value)"
-msgstr ""
-
-#: ch/typeck.c:114
-#, fuzzy
-msgid "index is not an integer expression"
-msgstr "ongeldig gebruik van een void-expressie"
-
-#: ch/typeck.c:122
-#, fuzzy
-msgid "index not compatible with index mode"
-msgstr "incompatibele types bij %s"
-
-#. should never happen
-#: ch/typeck.c:132
-#, fuzzy
-msgid "index is not discrete"
-msgstr "-pipe wordt niet ondersteund"
-
-#: ch/typeck.c:196
-msgid "possible internal error - slice argument is neither referable nor constant"
-msgstr ""
-
-#: ch/typeck.c:285
-msgid "bit array slice with non-constant length"
-msgstr ""
-
-#: ch/typeck.c:325
-msgid "bitstring slice with non-constant length"
-msgstr ""
-
-#: ch/typeck.c:338
-msgid "slice operation on non-array, non-bitstring value not supported"
-msgstr ""
-
-#: ch/typeck.c:390 ch/typeck.c:441
-msgid "can only take slice of array or string"
-msgstr ""
-
-#: ch/typeck.c:455
-#, fuzzy
-msgid "slice length is not an integer"
-msgstr "switch-waarde is geen integer"
-
-#: ch/typeck.c:488
-#, fuzzy
-msgid "slice length out-of-range"
-msgstr "case-waarde buiten bereik"
-
-#: ch/typeck.c:543
-#, fuzzy
-msgid "too many index expressions"
-msgstr "Ongeldig token in expressie"
-
-#: ch/typeck.c:595
-#, fuzzy
-msgid "array index is not discrete"
-msgstr "array-index in beginwaarde van niet-array"
-
-#: ch/typeck.c:675
-#, fuzzy
-msgid "invalid compound index for bitstring mode"
-msgstr "ongeldige beginwaarde voor bit-string"
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
-#: ch/typeck.c:1079
-msgid "conversions from variable_size value"
+#: config/xtensa/xtensa.h:114
+msgid "Use the Xtensa code density option"
msgstr ""
-#: ch/typeck.c:1084
-msgid "conversions to variable_size mode"
+#: config/xtensa/xtensa.h:116
+msgid "Do not use the Xtensa code density option"
msgstr ""
-#: ch/typeck.c:1098
-msgid "cannot convert to float"
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
msgstr ""
-#: ch/typeck.c:1103
-msgid "cannot convert float to this mode"
+#: config/xtensa/xtensa.h:120
+msgid "Do not use the Xtensa MAC16 option"
msgstr ""
-#: ch/typeck.c:1130
-msgid "OVERFLOW in expression conversion"
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
msgstr ""
-#: ch/typeck.c:1159
-msgid "overflow (not inside function)"
+#: config/xtensa/xtensa.h:124
+msgid "Do not use the Xtensa MUL16 option"
msgstr ""
-#: ch/typeck.c:1161
-#, fuzzy
-msgid "possible overflow (not inside function)"
-msgstr "`%s' is hier niet gedeclareerd (niet in een functie)"
-
-#: ch/typeck.c:1166
-msgid "expression will always cause OVERFLOW"
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
msgstr ""
-#: ch/typeck.c:1199
-msgid "not implemented: constant conversion from that kind of expression"
+#: config/xtensa/xtensa.h:128
+msgid "Do not use the Xtensa MUL32 option"
msgstr ""
-#: ch/typeck.c:1205
-msgid "not implemented: constant conversion to that kind of mode"
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
msgstr ""
-#: ch/typeck.c:1216
-msgid "non-standard, non-portable value conversion"
+#: config/xtensa/xtensa.h:136
+msgid "Do not use the Xtensa NSA option"
msgstr ""
-#: ch/typeck.c:1222
-msgid "location conversion between differently-sized modes"
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
msgstr ""
-#: ch/typeck.c:1224
-#, fuzzy
-msgid "unsupported value conversion"
-msgstr "niet-ondersteunde versie"
-
-#: ch/typeck.c:1272
-msgid "operand to bin must be a non-negative integer literal"
+#: config/xtensa/xtensa.h:140
+msgid "Do not use the Xtensa MIN/MAX option"
msgstr ""
-#: ch/typeck.c:1288
-#, c-format
-msgid "size %d of BIN too big - no such integer mode"
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
msgstr ""
-#: ch/typeck.c:1302
-msgid "BIN in pass 2"
+#: config/xtensa/xtensa.h:144
+msgid "Do not use the Xtensa SEXT option"
msgstr ""
-#: ch/typeck.c:1335
-msgid "mode of tuple is neither ARRAY, STRUCT, nor POWERSET"
+#: config/xtensa/xtensa.h:146
+msgid "Use the Xtensa boolean register option"
msgstr ""
-#: ch/typeck.c:2108
-msgid "internal error in chill_root_resulting_mode"
+#: config/xtensa/xtensa.h:148
+msgid "Do not use the Xtensa boolean register option"
msgstr ""
-#: ch/typeck.c:2367
-msgid "string lengths not equal"
+#: config/xtensa/xtensa.h:150
+msgid "Use the Xtensa floating-point unit"
msgstr ""
-#: ch/typeck.c:2382
-msgid "can't do ARRAY assignment - too large"
+#: config/xtensa/xtensa.h:152
+msgid "Do not use the Xtensa floating-point unit"
msgstr ""
-#: ch/typeck.c:2400
-msgid "rhs of array assignment is not addressable"
-msgstr ""
-
-#: ch/typeck.c:2577
-#, fuzzy
-msgid "non-constant expression for BIN"
-msgstr "overflow in constante expressie"
-
-#: ch/typeck.c:2582
-msgid "expression for BIN must not be negative"
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
msgstr ""
-#: ch/typeck.c:2587
-msgid "cannot process BIN (>32)"
+#: config/xtensa/xtensa.h:172
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
msgstr ""
-#: ch/typeck.c:2603
-#, fuzzy
-msgid "bounds of range are not compatible"
-msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
-
-#: ch/typeck.c:2612
-#, fuzzy
-msgid "negative string length"
-msgstr "Onbeëindigde stringconstante"
-
-#: ch/typeck.c:2649
-#, fuzzy
-msgid "range's lower bound and parent mode don't match"
-msgstr "prototype voor `%s' volgt en argument %d komt niet overeen"
-
-#: ch/typeck.c:2654
-msgid "range's upper bound and parent mode don't match"
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
msgstr ""
-#: ch/typeck.c:2663
-msgid "making range from non-mode"
+#: config/xtensa/xtensa.h:176
+msgid "Do not serialize volatile memory references with MEMW instructions"
msgstr ""
-#: ch/typeck.c:2669
-#, fuzzy
-msgid "floating point ranges"
-msgstr "floating-point constante buiten bereik"
-
-#: ch/typeck.c:2677
-msgid "range mode has non-constant limits"
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
msgstr ""
-#: ch/typeck.c:2686
-msgid "range's high bound < mode's low bound"
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
msgstr ""
-#: ch/typeck.c:2691
-msgid "range's high bound > mode's high bound"
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
msgstr ""
-#: ch/typeck.c:2696
-msgid "range mode high bound < range mode low bound"
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
msgstr ""
-#: ch/typeck.c:2701
-msgid "range's low bound < mode's low bound"
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
msgstr ""
-#: ch/typeck.c:2706
-msgid "range's low bound > mode's high bound"
+#: config/xtensa/xtensa.h:188
+msgid "Use direct CALLn instructions for fast calls"
msgstr ""
-# `l'en of `l's?
-#: ch/typeck.c:2814
-#, fuzzy
-msgid "stepsize in STEP must be an integer constant"
-msgstr "drie `l'en in integerconstante"
-
-# `l'en of `l's?
-#: ch/typeck.c:2818
-#, fuzzy
-msgid "stepsize in STEP must be > 0"
-msgstr "drie `l'en in integerconstante"
-
-# `l'en of `l's?
-#: ch/typeck.c:2824
-#, fuzzy
-msgid "stepsize in STEP must be the natural width of the array element mode"
-msgstr "drie `l'en in integerconstante"
-
-#: ch/typeck.c:2830 ch/typeck.c:3131
-#, fuzzy
-msgid "starting word in POS must be an integer constant"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2834 ch/typeck.c:3138
-#, fuzzy
-msgid "starting word in POS must be >= 0"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2836
-#, fuzzy
-msgid "starting word in POS within STEP must be 0"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2848 ch/typeck.c:3155
-#, fuzzy
-msgid "starting bit in POS must be an integer constant"
-msgstr "breedte van bitveld `%s' is geen integerconstante"
-
-#: ch/typeck.c:2854
-#, fuzzy
-msgid "starting bit in POS within STEP must be 0"
-msgstr "breedte van bitveld `%s' is geen integerconstante"
-
-#: ch/typeck.c:2858 ch/typeck.c:3163
-#, fuzzy
-msgid "starting bit in POS must be >= 0"
-msgstr "breedte van bitveld `%s' is geen integerconstante"
-
-#: ch/typeck.c:2866 ch/typeck.c:3171
-#, fuzzy
-msgid "starting bit in POS must be < the width of a word"
-msgstr "breedte van bitveld `%s' is geen integerconstante"
-
-#: ch/typeck.c:2880 ch/typeck.c:3185
-#, fuzzy
-msgid "length in POS must be an integer constant"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2887 ch/typeck.c:3192
-#, fuzzy
-msgid "length in POS must be > 0"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2894 ch/typeck.c:3205
-#, fuzzy
-msgid "end bit in POS must be an integer constant"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2903 ch/typeck.c:3214
-#, fuzzy
-msgid "end bit in POS must be >= the start bit"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2909 ch/typeck.c:3219
-#, fuzzy
-msgid "end bit in POS must be < the width of a word"
-msgstr "twee `u's in integerconstante"
-
-#: ch/typeck.c:2921
-msgid "the length specified on POS within STEP must be the natural length of the array element type"
-msgstr ""
-
-# `l'en of `l's?
-#: ch/typeck.c:2926
-#, fuzzy
-msgid "step size in STEP must be >= the length in POS"
-msgstr "drie `l'en in integerconstante"
-
-#: ch/typeck.c:2952
-#, fuzzy
-msgid "array index must be a range, not a single integer"
-msgstr "array subscript is geen integer"
-
-#: ch/typeck.c:2958
-#, fuzzy
-msgid "array index is not a discrete mode"
-msgstr "array subscript is geen integer"
-
-#: ch/typeck.c:3229
-msgid "the length specified on POS must be the natural length of the field type"
-msgstr ""
-
-#: ch/typeck.c:3238
-msgid "STRUCT fields must be layed out in monotonically increasing order"
-msgstr ""
-
-#: ch/typeck.c:3301
-msgid "if one field has a POS layout, then all fields must have a POS layout"
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
msgstr ""
-#: ch/typeck.c:3444
-#, fuzzy
-msgid "parameterized structures not implemented"
-msgstr "parameter wijst naar een onvolledig type"
-
-#: ch/typeck.c:3449
-#, fuzzy
-msgid "invalid parameterized type"
-msgstr "ongeldige operand voor %p-code"
-
-#: cp/call.c:270 cp/init.c:1637
+#: 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:394
+#: cp/call.c:366
msgid "unable to call pointer to member function here"
msgstr ""
-#: cp/call.c:527
+#: cp/call.c:515
msgid "destructors take no parameters"
msgstr ""
-#: cp/call.c:534
+#: cp/call.c:519
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr ""
-#: cp/call.c:2343
+#: 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
+#, fuzzy
+msgid "request for member `%D' is ambiguous"
+msgstr "grootte van `%s' is %u bytes"
+
+#: cp/call.c:2446
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2348
+#: cp/call.c:2451
msgid "%s %D(%T, %T) <built-in>"
msgstr ""
-#: cp/call.c:2352
+#: cp/call.c:2455
msgid "%s %D(%T) <built-in>"
msgstr ""
-#: cp/call.c:2356
+#: cp/call.c:2459
msgid "%s %T <conversion>"
msgstr ""
-#: cp/call.c:2358
+#: cp/call.c:2461
msgid "%s %+#D%s"
msgstr ""
-#: cp/call.c:2515
-msgid "no viable candidates"
+#: cp/call.c:2615
+msgid "conversion from `%T' to `%T' is ambiguous"
msgstr ""
-#: cp/call.c:2529
-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:2646
+#: cp/call.c:2706 cp/typeck.c:2176 cp/typeck.c:2205
+#, fuzzy
+msgid "'%D' has no member named '%E'"
+msgstr "union heeft geen lid dat `%s' heet"
+
+#: cp/call.c:2812
#, fuzzy
msgid "no matching function for call to `%D(%A)'"
msgstr "Teveel argumenten in oproep van `%s'"
-#: cp/call.c:2657 cp/call.c:4642
+#: 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:2684
+#: 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:2753
+#: cp/call.c:2920
msgid "no match for call to `(%T) (%A)'"
msgstr ""
-#: cp/call.c:2763
+#: cp/call.c:2930
msgid "call of `(%T) (%A)' is ambiguous"
msgstr ""
-#: cp/call.c:2798
+#: cp/call.c:2965
msgid "%s for `%T ? %T : %T' operator"
msgstr ""
-#: cp/call.c:2803
+#: cp/call.c:2970
msgid "%s for `%T %s' operator"
msgstr ""
-#: cp/call.c:2806
+#: cp/call.c:2973
msgid "%s for `%T [%T]' operator"
msgstr ""
-#: cp/call.c:2811
+#: cp/call.c:2978
msgid "%s for `%T %s %T' operator"
msgstr ""
-#: cp/call.c:2814
+#: cp/call.c:2981
msgid "%s for `%s %T' operator"
msgstr ""
-#: cp/call.c:2906
+#: cp/call.c:3071
#, fuzzy
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
msgstr "ANSI C verbiedt het weglaten van de middelste term van een ?: expresie"
-#: cp/call.c:2965
+#: cp/call.c:3130
#, c-format
msgid "`%E' has type `void' and is not a throw-expression"
msgstr ""
-#: cp/call.c:2998 cp/call.c:3198
+#: cp/call.c:3163 cp/call.c:3363
msgid "operands to ?: have different types"
msgstr ""
-#: cp/call.c:3151
+#: cp/call.c:3316
#, fuzzy
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr "types in voorwaardelijke expressie komen niet overeen"
-#: cp/call.c:3158
+#: cp/call.c:3323
msgid "enumeral and non-enumeral type in conditional expression"
msgstr ""
-#: cp/call.c:3239
+#: cp/call.c:3405
#, fuzzy
msgid "`%D' must be declared before use"
msgstr "`%s' mag niet als alleen-lezen gedeclareerd worden"
-#: cp/call.c:3402
+#: cp/call.c:3604
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr ""
-#: cp/call.c:3449
+#: cp/call.c:3651
msgid "using synthesized `%#D' for copy assignment"
msgstr ""
-#: cp/call.c:3451
+#: cp/call.c:3653
msgid " where cfront would use `%#D'"
msgstr ""
-#: cp/call.c:3478
+#: cp/call.c:3680
#, fuzzy
msgid "comparison between `%#T' and `%#T'"
msgstr "vergelijking tussen signed en unsigned"
-#: cp/call.c:3711
+#: cp/call.c:3919
msgid "no suitable `operator delete' for `%T'"
msgstr ""
-#: cp/call.c:3730
+#: cp/call.c:3938
msgid "`%+#D' is private"
msgstr ""
-#: cp/call.c:3732
+#: cp/call.c:3940
#, fuzzy
msgid "`%+#D' is protected"
msgstr "`%.*s' is niet gedefinieerd"
-#: cp/call.c:3734
+#: cp/call.c:3942
#, fuzzy
msgid "`%+#D' is inaccessible"
msgstr "%s is niet addresseerbaar"
-#: cp/call.c:3735
+#: cp/call.c:3943
msgid "within this context"
msgstr ""
-#: cp/call.c:3777
+#: cp/call.c:3985
#, fuzzy
msgid "invalid conversion from `%T' to `%T'"
msgstr "ongeldige registernaam voor `%s'"
# Is the %s the argument, or is it 'of' the argument?
-#: cp/call.c:3779 cp/call.c:3918 cp/call.c:3920
+#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128
#, fuzzy
msgid " initializing argument %P of `%D'"
msgstr "ongeldig type-argument `%s'"
-#: cp/call.c:3842 cp/call.c:3846
+#: cp/call.c:4050 cp/call.c:4054
msgid " initializing argument %P of `%D' from result of `%D'"
msgstr ""
-#: cp/call.c:3852 cp/call.c:3855
+#: 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:3989
-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:4014
+#. 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:4156
+#: cp/call.c:4422
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr ""
-#: cp/call.c:4404
+#: cp/call.c:4656
msgid "could not find class$ field in java interface type `%T'"
msgstr ""
-#: cp/call.c:4505 cp/typeck.c:2071
-msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
-msgstr ""
+#: cp/call.c:4831
+#, fuzzy
+msgid "call to non-function `%D'"
+msgstr "kan functie `main' niet inline maken"
-#: cp/call.c:4631
+#: cp/call.c:4937
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr ""
-#: cp/call.c:4655
-msgid "abstract virtual `%#D' called from constructor"
-msgstr ""
-
-#: cp/call.c:4656
-msgid "abstract virtual `%#D' called from destructor"
-msgstr ""
-
-#: cp/call.c:4661
+#: cp/call.c:4967
msgid "cannot call member function `%D' without object"
msgstr ""
-#: cp/call.c:5274
+#: cp/call.c:5580
msgid "passing `%T' chooses `%T' over `%T'"
msgstr ""
-#: cp/call.c:5276 cp/decl2.c:4496
+#: cp/call.c:5582 cp/decl2.c:4081
#, fuzzy
msgid " in call to `%D'"
msgstr "kan oproep van `%s' niet inline maken"
-#: cp/call.c:5325 cp/call.c:5450
+#: cp/call.c:5631 cp/call.c:5756
msgid "choosing `%D' over `%D'"
msgstr ""
-#: cp/call.c:5326
+#: cp/call.c:5632
msgid " for conversion from `%T' to `%T'"
msgstr ""
-#: cp/call.c:5328
+#: cp/call.c:5634
msgid " because conversion sequence for the argument is better"
msgstr ""
-#: cp/call.c:5452
+#: cp/call.c:5758
msgid " because worst conversion for the former is better than worst conversion for the latter"
msgstr ""
# 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
-#: cp/call.c:5568 cp/call.c:5589
+#: cp/call.c:5874 cp/call.c:5895
#, fuzzy
msgid "could not convert `%E' to `%T'"
msgstr "kon 0x%l.8x niet naar een regio omzetten"
@@ -15907,292 +14077,318 @@ msgstr "kon 0x%l.8x niet naar een regio omzetten"
msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr ""
-#: cp/class.c:1012
+#: 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:1023
-msgid "`%D' has already been declared in `%T'"
-msgstr ""
-
-#: cp/class.c:1104
+#: cp/class.c:1027
#, fuzzy
msgid "duplicate enum value `%D'"
msgstr "herhaalde case-waarde"
-#: cp/class.c:1107
+#: cp/class.c:1030
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr ""
-#: cp/class.c:1114
+#: cp/class.c:1037
#, fuzzy
msgid "duplicate nested type `%D'"
msgstr "herhaald lid `%s'"
-#: cp/class.c:1125
+#: cp/class.c:1048
msgid "duplicate field `%D' (as type and non-type)"
msgstr ""
-#: cp/class.c:1129
+#: cp/class.c:1052
#, fuzzy
msgid "duplicate member `%D'"
msgstr "herhaald lid `%s'"
-#: cp/class.c:1172
+#: cp/class.c:1095
msgid "conflicting access specifications for method `%D', ignored"
msgstr ""
-#: cp/class.c:1174
+#: cp/class.c:1097
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr ""
-#: cp/class.c:1217
+#: cp/class.c:1142
msgid "`%D' names constructor"
msgstr ""
-#: cp/class.c:1223
+#: cp/class.c:1147
#, fuzzy
msgid "`%D' invalid in `%T'"
msgstr "Ongeldige optie `%s'"
-#: cp/class.c:1231
+#: cp/class.c:1155
msgid "no members matching `%D' in `%#T'"
msgstr ""
-#: cp/class.c:1263 cp/class.c:1271
+#: cp/class.c:1187 cp/class.c:1195
#, fuzzy
msgid "`%D' invalid in `%#T'"
msgstr "Ongeldige optie `%s'"
-#: cp/class.c:1264
+#: cp/class.c:1188
msgid " because of local method `%#D' with same name"
msgstr ""
-#: cp/class.c:1272
+#: cp/class.c:1196
msgid " because of local member `%#D' with same name"
msgstr ""
-#: cp/class.c:1344
+#: cp/class.c:1268
msgid "base class `%#T' has a non-virtual destructor"
msgstr ""
-#: cp/class.c:1364
+#: cp/class.c:1288
msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr ""
-#: cp/class.c:1950
+#: cp/class.c:1860
msgid "all member functions in class `%T' are private"
msgstr ""
-#: cp/class.c:1964
+#: cp/class.c:1874
msgid "`%#T' only defines a private destructor and has no friends"
msgstr ""
-#: cp/class.c:2007
+#: cp/class.c:1917
msgid "`%#T' only defines private constructors and has no friends"
msgstr ""
-#: cp/class.c:2128 cp/class.c:5045
+#: cp/class.c:2038 cp/class.c:5172
#, fuzzy
msgid "redefinition of `%#T'"
msgstr "herdefinitie van `%s'"
-#: cp/class.c:2129
+#: cp/class.c:2039
#, fuzzy
msgid "previous definition of `%#T'"
msgstr "eerdere definitie van `%s'"
-#: cp/class.c:2459
+#: 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:2841
+#: cp/class.c:2652
msgid "`%D' was hidden"
msgstr ""
-#: cp/class.c:2842
+#: cp/class.c:2653
#, fuzzy
msgid " by `%D'"
msgstr "%s voor `%s'"
-#: cp/class.c:2884
+#: cp/class.c:2695
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr ""
-#: cp/class.c:2889 cp/decl2.c:1898
+#: 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:2895 cp/decl2.c:1904
+#: cp/class.c:2706 cp/decl2.c:1333
msgid "private member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:2898 cp/decl2.c:1906
+#: cp/class.c:2709 cp/decl2.c:1335
msgid "protected member `%#D' in anonymous union"
msgstr ""
-#: cp/class.c:3050
+#: 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
#, fuzzy
msgid "bit-field `%#D' with non-integral type"
msgstr "breedte van bitveld `%s' is geen integerconstante"
-#: cp/class.c:3070
+#: cp/class.c:2918
#, fuzzy
msgid "bit-field `%D' width not an integer constant"
msgstr "breedte van bitveld `%s' is geen integerconstante"
-#: cp/class.c:3076
+#: cp/class.c:2924
#, fuzzy
msgid "negative width in bit-field `%D'"
msgstr "bitveld `%s' heeft een negatieve breedte"
-#: cp/class.c:3081
+#: cp/class.c:2929
#, fuzzy
msgid "zero width for bit-field `%D'"
msgstr "bitveld `%s' heeft breedte 0"
-#: cp/class.c:3087
+#: cp/class.c:2935
#, fuzzy
msgid "width of `%D' exceeds its type"
msgstr "breedte van `%s' overschrijdt zijn type"
-#: cp/class.c:3096
+#: cp/class.c:2944
msgid "`%D' is too small to hold all values of `%#T'"
msgstr ""
-#: cp/class.c:3179
+#: cp/class.c:3028
msgid "member `%#D' with constructor not allowed in union"
msgstr ""
-#: cp/class.c:3182
+#: cp/class.c:3031
msgid "member `%#D' with destructor not allowed in union"
msgstr ""
-#: cp/class.c:3185
+#: cp/class.c:3034
msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr ""
-#: cp/class.c:3212
+#: cp/class.c:3061
#, fuzzy
msgid "multiple fields in union `%T' initialized"
msgstr "overtollige elementen in beginwaarde van union"
-#: cp/class.c:3333
+#: cp/class.c:3183
msgid "field `%D' in local class cannot be static"
msgstr ""
-#: cp/class.c:3339
+#: cp/class.c:3189
#, fuzzy
msgid "field `%D' invalidly declared function type"
msgstr "veld `%s' als een functie gedeclareerd"
-#: cp/class.c:3346
+#: cp/class.c:3196
#, fuzzy
msgid "field `%D' invalidly declared method type"
msgstr "bitveld `%s' heeft een ongeldig type"
-#: cp/class.c:3352
+#: cp/class.c:3202
#, fuzzy
msgid "field `%D' invalidly declared offset type"
msgstr "bitveld `%s' heeft een ongeldig type"
#. Unions cannot have static members.
-#: cp/class.c:3370
+#: cp/class.c:3220
#, fuzzy
msgid "field `%D' declared static in union"
msgstr "veld `%s' als een functie gedeclareerd"
-#: cp/class.c:3396
+#: cp/class.c:3247
msgid "non-static reference `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3427
+#: cp/class.c:3282
msgid "non-static const member `%#D' in class without a constructor"
msgstr ""
-#: cp/class.c:3442
+#: cp/class.c:3298
msgid "field `%#D' with same name as class"
msgstr ""
-#: cp/class.c:3460
+#: cp/class.c:3316
#, fuzzy
msgid "`%#T' has pointer data members"
msgstr "%s heeft geen benoemde leden"
-#: cp/class.c:3464
+#: cp/class.c:3320
msgid " but does not override `%T(const %T&)'"
msgstr ""
-#: cp/class.c:3466
+#: cp/class.c:3322
msgid " or `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3469
+#: cp/class.c:3325
msgid " but does not override `operator=(const %T&)'"
msgstr ""
-#: cp/class.c:3937
+#: 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
#, fuzzy
msgid "initializer specified for non-virtual method `%D'"
msgstr "geen beginwaarde voor variant-veld `%s'"
-#: cp/class.c:4721
-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:4791
+#: cp/class.c:4809
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr ""
-#: cp/class.c:5208
+#: 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:5292
+#: cp/class.c:5405
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr ""
-#: cp/class.c:5749
+#: cp/class.c:5861
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr ""
-#: cp/class.c:5845
+#: cp/class.c:5957
msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr ""
-#: cp/class.c:5966
+#: cp/class.c:6078
msgid "no matches converting function `%D' to type `%#T'"
msgstr ""
-#: cp/class.c:5989
+#: cp/class.c:6101
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr ""
-#: cp/class.c:6015
+#: cp/class.c:6127
#, fuzzy
msgid "assuming pointer to member `%D'"
msgstr "herhaald lid `%s'"
-#: cp/class.c:6018
+#: cp/class.c:6130
#, c-format
msgid "(a pointer to member can only be formed with `&%E')"
msgstr ""
-#: cp/class.c:6062 cp/class.c:6230 cp/class.c:6237
+#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352
msgid "not enough type information"
msgstr ""
-#: cp/class.c:6071
+#: cp/class.c:6183
#, fuzzy
msgid "argument of type `%T' does not match `%T'"
msgstr "argument `%s' komt niet overeen met prototype"
-#: cp/class.c:6214
+#: cp/class.c:6329
msgid "invalid operation on uninstantiated type"
msgstr ""
@@ -16201,12 +14397,12 @@ 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:6465 cp/decl.c:1030 cp/decl.c:3178 cp/pt.c:1839
+#: cp/class.c:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845
#, fuzzy
msgid "declaration of `%#D'"
msgstr "herdeclaratie van `%s'"
-#: cp/class.c:6466
+#: cp/class.c:6613
msgid "changes meaning of `%D' from `%+#D'"
msgstr ""
@@ -16222,237 +14418,242 @@ 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
+#, fuzzy
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "ongeldige registernaam voor `%s'"
+
+#: cp/cvt.c:537
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr ""
-#: cp/cvt.c:543
+#: cp/cvt.c:555
#, fuzzy
msgid "casting `%T' to `%T' does not dereference pointer"
msgstr "kan niet derefereren, is geen pointer."
-#: 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
#, fuzzy
msgid "conversion from `%T' to non-scalar type `%T' requested"
msgstr "conversie naar niet-scalair type gevraagd"
-#: cp/cvt.c:878
+#: cp/cvt.c:883
msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr ""
-#: cp/cvt.c:881
+#: cp/cvt.c:886
msgid "object of type `%T' will not be accessed in %s"
msgstr ""
-#: cp/cvt.c:897
+#: 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:917
+#: cp/cvt.c:922
#, fuzzy, c-format
msgid "%s cannot resolve address of overloaded function"
msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
#. Only warn when there is no &.
-#: cp/cvt.c:922
+#: cp/cvt.c:927
#, c-format
msgid "%s is a reference, not call, to function `%E'"
msgstr ""
-#: cp/cvt.c:1060
+#: cp/cvt.c:1065
msgid "converting NULL to non-pointer type"
msgstr ""
-#: cp/cvt.c:1136
+#: cp/cvt.c:1141
msgid "ambiguous default type conversion from `%T'"
msgstr ""
-#: cp/cvt.c:1138
+#: cp/cvt.c:1143
msgid " candidate conversions include `%D' and `%D'"
msgstr ""
-#: cp/decl.c:1031 cp/decl.c:3278
+#: cp/decl.c:1007 cp/decl.c:3205
#, fuzzy
msgid "conflicts with previous declaration `%#D'"
msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
-#: cp/decl.c:1220
+#: cp/decl.c:1211
#, fuzzy
msgid "label `%D' used but not defined"
msgstr "label `%s' gebruikt maar niet gedefinieerd"
-#: cp/decl.c:1225
+#: cp/decl.c:1216
#, fuzzy
msgid "label `%D' defined but not used"
msgstr "label `%s' gedefinieerd maar niet gebruikt"
-#: cp/decl.c:2305
+#: cp/decl.c:2249
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr ""
-#: cp/decl.c:3088 cp/decl.c:3476
+#: cp/decl.c:3008 cp/decl.c:3413
#, fuzzy
msgid "previous declaration of `%D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:3165 cp/decl.c:3200
+#: cp/decl.c:3089 cp/decl.c:3127
#, fuzzy
msgid "shadowing %s function `%#D'"
msgstr "bibliotheekfunctie `%s' wordt verborgen"
-#: cp/decl.c:3174
+#: cp/decl.c:3098
#, fuzzy
msgid "library function `%#D' redeclared as non-function `%#D'"
msgstr "bibliotheekfunctie `%s' als niet-functie gedeclareerd"
-#: cp/decl.c:3179
+#: cp/decl.c:3103
#, fuzzy
msgid "conflicts with built-in declaration `%#D'"
msgstr "conflicterende declaraties van `%s'"
-#: cp/decl.c:3195 cp/decl.c:3288 cp/decl.c:3304
+#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235
#, fuzzy
msgid "new declaration `%#D'"
msgstr "herdeclaratie van `%s'"
-#: cp/decl.c:3196
+#: cp/decl.c:3123
#, fuzzy
msgid "ambiguates built-in declaration `%#D'"
msgstr "herhaalde label-declaratie `%s'"
-#: cp/decl.c:3252
+#: cp/decl.c:3179
#, fuzzy
msgid "`%#D' redeclared as different kind of symbol"
msgstr "`%s' als ander soort symbool geherdeclareerd"
-#: cp/decl.c:3255
+#: cp/decl.c:3182
#, fuzzy
msgid "previous declaration of `%#D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:3277
+#: cp/decl.c:3204
#, fuzzy
msgid "declaration of template `%#D'"
msgstr "herdeclaratie van `enum %s'"
-#: cp/decl.c:3289 cp/decl.c:3305
+#: cp/decl.c:3220 cp/decl.c:3236
#, fuzzy
msgid "ambiguates old declaration `%#D'"
msgstr "herhaalde label-declaratie `%s'"
-#: cp/decl.c:3297
+#: cp/decl.c:3228
#, fuzzy
msgid "declaration of C function `%#D' conflicts with"
msgstr "impliciete declaratie van functie `%s'"
-#: cp/decl.c:3299
+#: cp/decl.c:3230
#, fuzzy
msgid "previous declaration `%#D' here"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:3315
+#: cp/decl.c:3246
#, fuzzy
msgid "conflicting types for `%#D'"
msgstr "conflicterende types voor `%s'"
-#: cp/decl.c:3316
+#: cp/decl.c:3247
#, fuzzy
msgid "previous declaration as `%#D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:3359
+#: cp/decl.c:3290
#, fuzzy
msgid "`%#D' previously defined here"
msgstr "`%s' tevoren hier gedefinieerd"
-#: cp/decl.c:3360
+#: cp/decl.c:3291
#, fuzzy
msgid "`%#D' previously declared here"
msgstr "`%s' tevoren hier gedeclareerd"
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3368
+#: cp/decl.c:3300
#, fuzzy
msgid "prototype for `%#D'"
msgstr "prototype voor `%s' volgt"
-#: cp/decl.c:3369
+#: cp/decl.c:3301
#, fuzzy
msgid "follows non-prototype definition here"
msgstr "niet-prototype definitie hier"
-#: cp/decl.c:3381
+#: cp/decl.c:3313
#, fuzzy
msgid "previous declaration of `%#D' with %L linkage"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:3383
+#: cp/decl.c:3315
#, fuzzy
msgid "conflicts with new declaration with %L linkage"
msgstr "conflicterende declaraties van `%s'"
-#: cp/decl.c:3408 cp/decl.c:3416
+#: cp/decl.c:3338 cp/decl.c:3345
#, fuzzy
msgid "default argument given for parameter %d of `%#D'"
msgstr "argumenten aan macro `%s' gegeven"
-#: cp/decl.c:3410 cp/decl.c:3418
+#: cp/decl.c:3340 cp/decl.c:3347
#, fuzzy
msgid "after previous specification in `%#D'"
msgstr "eerdere definitie van `%s'"
-#: cp/decl.c:3427
+#: cp/decl.c:3356
#, fuzzy
msgid "`%#D' was used before it was declared inline"
msgstr "`%s' werd voor haar definitie gebruikt zonder protoype"
-#: cp/decl.c:3429
+#: cp/decl.c:3358
#, fuzzy
msgid "previous non-inline declaration here"
msgstr "eerdere impliciete declaratie van `%s'"
-#: cp/decl.c:3475
+#: cp/decl.c:3412
#, fuzzy
msgid "redundant redeclaration of `%D' in same scope"
msgstr "overbodige herdeclaratie van `%s' in zelfde bereik"
-#: cp/decl.c:3558
-#, fuzzy
+#: cp/decl.c:3493
+#, fuzzy, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr "`%s' wordt gedeclareerd als een array van functies"
-#: cp/decl.c:3560
-#, fuzzy
+#: cp/decl.c:3495
+#, fuzzy, c-format
msgid "than previous declaration `%F'"
msgstr "geen eerdere declaratie voor `%s'"
@@ -16464,16 +14665,16 @@ msgstr "geen eerdere declaratie voor `%s'"
#. that specialization that would cause an implicit
#. instantiation to take place, in every translation unit in
#. which such a use occurs.
-#: cp/decl.c:3685
+#: cp/decl.c:3632
msgid "explicit specialization of %D after first use"
msgstr ""
-#: cp/decl.c:3930
+#: cp/decl.c:3886
#, fuzzy
msgid "`%#D' used prior to declaration"
msgstr "`%s' gebruikt vóór declaratie"
-#: cp/decl.c:3961
+#: cp/decl.c:3917
#, fuzzy
msgid "redeclaration of `wchar_t' as `%T'"
msgstr "herdeclaratie van `%s'"
@@ -16484,309 +14685,329 @@ msgstr "herdeclaratie van `%s'"
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:3989
+#: cp/decl.c:3945
#, fuzzy
msgid "invalid redeclaration of `%D'"
msgstr "herdeclaratie van `%s'"
-#: cp/decl.c:3990
+#: cp/decl.c:3946
#, fuzzy
msgid "as `%D'"
msgstr "%s voor `%s'"
-#: cp/decl.c:4080
+#: cp/decl.c:4036
#, fuzzy
msgid "previous external decl of `%#D'"
msgstr "eerdere externe declaratie van `%s'"
-#: cp/decl.c:4121
+#: cp/decl.c:4077
#, fuzzy
msgid "`%D' was previously implicitly declared to return `int'"
msgstr "`%s' was tevoren impliciet gedeclareerd om een `int' terug te geven"
-#: cp/decl.c:4181
+#: cp/decl.c:4137
#, fuzzy
msgid "extern declaration of `%#D' doesn't match"
msgstr "externe declaratie van `%s' komt niet overeen met de globale declaratie"
-#: cp/decl.c:4182
+#: cp/decl.c:4138
#, fuzzy
msgid "global declaration `%#D'"
msgstr "herhaalde label-declaratie `%s'"
-#: cp/decl.c:4213
+#: cp/decl.c:4169
#, fuzzy
msgid "declaration of `%#D' shadows a parameter"
msgstr "de declaratie van `%s' verbergt een parameter"
-#: cp/decl.c:4233
+#: cp/decl.c:4189
#, fuzzy, c-format
msgid "declaration of `%s' shadows a member of `this'"
msgstr "de declaratie van `%s' verbergt een parameter"
-#: cp/decl.c:4598
+#: cp/decl.c:4541
msgid "`%#D' hides constructor for `%#T'"
msgstr ""
-#: cp/decl.c:4613
+#: cp/decl.c:4556
#, fuzzy
msgid "`%#D' conflicts with previous using declaration `%#D'"
msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
-#: cp/decl.c:4625
+#: cp/decl.c:4568
#, fuzzy
msgid "previous non-function declaration `%#D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:4626
+#: cp/decl.c:4569
#, fuzzy
msgid "conflicts with function declaration `%#D'"
msgstr "conflicterende declaraties van `%s'"
-#: cp/decl.c:4716
+#: cp/decl.c:4659
#, fuzzy
msgid "implicit declaration of function `%#D'"
msgstr "impliciete declaratie van functie `%s'"
-#: cp/decl.c:4874
+#: cp/decl.c:4817
#, c-format
msgid "label `%s' referenced outside of any function"
msgstr ""
-#: cp/decl.c:4977 cp/decl.c:5001 cp/decl.c:5094
+#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037
#, fuzzy
msgid "jump to label `%D'"
msgstr "herhaald label `%s'"
-#: cp/decl.c:4979 cp/decl.c:5003
+#: cp/decl.c:4922 cp/decl.c:4946
msgid "jump to case label"
msgstr ""
-#: cp/decl.c:4987
+#: cp/decl.c:4930
#, fuzzy
msgid " crosses initialization of `%#D'"
msgstr "(dicht bij initialisatie van `%s')"
-#: cp/decl.c:4990 cp/decl.c:5110
+#: cp/decl.c:4933 cp/decl.c:5053
msgid " enters scope of non-POD `%#D'"
msgstr ""
-#: cp/decl.c:5010 cp/decl.c:5114
+#: cp/decl.c:4953 cp/decl.c:5057
msgid " enters try block"
msgstr ""
#. Can't skip init of __exception_info.
-#: cp/decl.c:5012 cp/decl.c:5106 cp/decl.c:5116
+#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059
msgid " enters catch block"
msgstr ""
-#: cp/decl.c:5095
+#: cp/decl.c:5038
#, fuzzy
msgid " from here"
msgstr "van hieruit opgeroepen"
-#: cp/decl.c:5108
+#: cp/decl.c:5051
#, fuzzy
msgid " skips initialization of `%#D'"
msgstr "(dicht bij initialisatie van `%s')"
-#: cp/decl.c:5143
+#: cp/decl.c:5086
#, fuzzy
msgid "label named wchar_t"
msgstr "er is geen label dat `%s' heet"
-#: cp/decl.c:5147
+#: cp/decl.c:5090
#, fuzzy
msgid "duplicate label `%D'"
msgstr "herhaald label `%s'"
-#: cp/decl.c:5232
+#: cp/decl.c:5175
#, fuzzy, c-format
msgid "case label `%E' not within a switch statement"
msgstr "case-label niet in een switch-statement"
#. Definition isn't the kind we were looking for.
-#: cp/decl.c:5365 cp/decl.c:5385
+#: cp/decl.c:5354 cp/decl.c:5373
#, fuzzy
msgid "`%#D' redeclared as %C"
msgstr "`%s' tevoren hier gedeclareerd"
#. This happens for A::B where B is a template, and there are no
#. template arguments.
-#: cp/decl.c:5474 cp/typeck.c:2033
+#: cp/decl.c:5461 cp/typeck.c:2062 cp/typeck.c:2217
#, fuzzy
msgid "invalid use of `%D'"
msgstr "ongeldig gebruik van `restrict'"
-#: cp/decl.c:5515
+#: cp/decl.c:5502
#, fuzzy
msgid "`%D::%D' is not a template"
msgstr "`%s' is geen iterator"
-#: cp/decl.c:5527
+#: cp/decl.c:5519
#, fuzzy
msgid "`%D' undeclared in namespace `%D'"
msgstr "ongeldige naam `%s'"
-#: cp/decl.c:5661
+#: cp/decl.c:5652
#, fuzzy
msgid "`%D' used without template parameters"
msgstr "macro `%s' gebruikt zonder argumenten"
-#: cp/decl.c:5672 cp/decl.c:5688 cp/decl.c:5759
+#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783
msgid "no class template named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:5706 cp/decl.c:5721
+#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744
msgid "no type named `%#T' in `%#T'"
msgstr ""
-#: cp/decl.c:5938
+#: cp/decl.c:5968
msgid "lookup of `%D' finds `%#D'"
msgstr ""
-#: cp/decl.c:5940
+#: cp/decl.c:5970
msgid " instead of `%D' from dependent base class"
msgstr ""
-#: cp/decl.c:5942
+#: cp/decl.c:5972
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr ""
-#: cp/decl.c:6115
+#: 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:6938
+#: cp/decl.c:7025
msgid "an anonymous union cannot have function members"
msgstr ""
-#: cp/decl.c:6955
+#: cp/decl.c:7042
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6958
+#: cp/decl.c:7045
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6961
+#: cp/decl.c:7048
msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:6999
+#: cp/decl.c:7086
#, fuzzy
msgid "redeclaration of C++ built-in type `%T'"
msgstr "herdeclaratie van `%s'"
-#: cp/decl.c:7034
+#: cp/decl.c:7122
msgid "multiple types in one declaration"
msgstr ""
-#: cp/decl.c:7037
-msgid "declaration does not declare anything"
-msgstr ""
-
-#: cp/decl.c:7061
+#: cp/decl.c:7149
#, fuzzy
msgid "missing type-name in typedef-declaration"
msgstr "nutteloos sleutelwoord of typenaam in lege declaratie"
-#: cp/decl.c:7068
+#: cp/decl.c:7156
msgid "ISO C++ prohibits anonymous structs"
msgstr ""
-#: cp/decl.c:7075
+#: cp/decl.c:7163
#, fuzzy
msgid "`%D' can only be specified for functions"
msgstr "argument-formaat opgegeven voor niet-functie `%s'"
-#: cp/decl.c:7077
+#: cp/decl.c:7165
msgid "`%D' can only be specified inside a class"
msgstr ""
-#: cp/decl.c:7079
+#: cp/decl.c:7167
msgid "`%D' can only be specified for constructors"
msgstr ""
-#: cp/decl.c:7082
+#: cp/decl.c:7170
#, fuzzy
msgid "`%D' can only be specified for objects and functions"
msgstr "argument-formaat opgegeven voor niet-functie `%s'"
-#: cp/decl.c:7226
+#: cp/decl.c:7312 cp/decl2.c:927
#, fuzzy
-msgid "typedef `%D' is initialized"
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
msgstr "typedef `%s' krijgt beginwaarde"
-#: cp/decl.c:7232
+#: cp/decl.c:7317
#, fuzzy
msgid "function `%#D' is initialized like a variable"
msgstr "typedef `%s' krijgt beginwaarde alsof het een variabele is"
-#: cp/decl.c:7244
+#: cp/decl.c:7329
#, fuzzy
msgid "declaration of `%#D' has `extern' and is initialized"
msgstr "de declaratie van `%s' is `extern' en heeft een beginwaarde"
-#: cp/decl.c:7274
+#: cp/decl.c:7363
#, fuzzy
msgid "`%#D' is not a static member of `%#T'"
msgstr "`%s' is geen static veld"
-#: cp/decl.c:7279
+#: cp/decl.c:7368
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
msgstr ""
-#: cp/decl.c:7290
+#: cp/decl.c:7379
#, fuzzy
msgid "duplicate initialization of %D"
msgstr "dubbele beginwaarde"
-#: cp/decl.c:7319
+#: cp/decl.c:7408
#, fuzzy
msgid "declaration of `%#D' outside of class is not definition"
msgstr "de zwakke declaratie van `%s' moet aan de definitie voorafgaan"
-#: cp/decl.c:7367
+#: cp/decl.c:7456
#, fuzzy
msgid "variable `%#D' has initializer but incomplete type"
msgstr "variabele `%s' heeft beginwaarde, maar een onvolledig type"
-#: cp/decl.c:7375 cp/decl.c:7726
+#: cp/decl.c:7464 cp/decl.c:8006
#, fuzzy
msgid "elements of array `%#D' have incomplete type"
msgstr "elementen van array `%s' hebben een onvolledig type"
-#: cp/decl.c:7391
+#: cp/decl.c:7480
#, fuzzy
-msgid "aggregate `%#D' has incomplete type and cannot be initialized"
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
msgstr "parameter `%s' heeft een onvolledig type"
-#: cp/decl.c:7430
+#: cp/decl.c:7519
#, fuzzy
msgid "`%D' declared as reference but not initialized"
msgstr "`%s' als ander soort symbool geherdeclareerd"
-#: cp/decl.c:7439
+#: cp/decl.c:7528
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
msgstr ""
-#: cp/decl.c:7472
+#: cp/decl.c:7561
#, fuzzy
msgid "cannot initialize `%T' from `%T'"
msgstr "niet-constante beginwaarde voor `%s'"
-#: cp/decl.c:7533
+#: cp/decl.c:7595
#, fuzzy
msgid "initializer fails to determine size of `%D'"
msgstr "beginwaarde legt grootte van `%s' niet vast"
-#: cp/decl.c:7538
+#: cp/decl.c:7600
#, fuzzy
msgid "array size missing in `%D'"
msgstr "array-grootte ontbreekt in `%s'"
-#: cp/decl.c:7550
+#: cp/decl.c:7612
#, fuzzy
msgid "zero-size array `%D'"
msgstr "array `%s' heeft grootte die negatief of 0 is"
@@ -16794,624 +15015,638 @@ msgstr "array `%s' heeft grootte die negatief of 0 is"
#. 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:7583
+#: cp/decl.c:7650
#, fuzzy
msgid "storage size of `%D' isn't known"
msgstr "opslaggrootte van `%s' is onbekend"
-#: cp/decl.c:7605
+#: cp/decl.c:7672
#, fuzzy
msgid "storage size of `%D' isn't constant"
msgstr "opslaggrootte van `%s' is niet constant"
-#: cp/decl.c:7656
+#: 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:7657
+#: cp/decl.c:7724
msgid " you can work around this by removing the initializer"
msgstr ""
-#: cp/decl.c:7685
+#: cp/decl.c:7752
#, fuzzy
msgid "uninitialized const `%D'"
msgstr "niet-constante beginwaarde voor `%s'"
-#: cp/decl.c:7720
+#: cp/decl.c:7836
+#, fuzzy
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "geen beginwaarde voor variant-veld `%s'"
+
+#: cp/decl.c:7900
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr ""
+
+#: cp/decl.c:7964
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "ongeldige beginwaarde voor veld `%s'"
+
+#: cp/decl.c:8000
#, fuzzy
msgid "variable-sized object `%D' may not be initialized"
msgstr "object van variabele lengte mag geen beginwaarde krijgen"
-#: cp/decl.c:7731 cp/typeck2.c:201
+#: cp/decl.c:8011
#, fuzzy
msgid "`%D' has incomplete type"
msgstr "`%s' heeft een onvolledig type"
-#: cp/decl.c:7763
+#: cp/decl.c:8060
msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr ""
-#: cp/decl.c:7793
+#: cp/decl.c:8101
msgid "structure `%D' with uninitialized const members"
msgstr ""
-#: cp/decl.c:7795
+#: cp/decl.c:8103
msgid "structure `%D' with uninitialized reference members"
msgstr ""
-#: cp/decl.c:8060
+#: cp/decl.c:8346
msgid "assignment (not initialization) in declaration"
msgstr ""
-#: cp/decl.c:8070
+#: cp/decl.c:8358
msgid "cannot initialize `%D' to namespace `%D'"
msgstr ""
-#: cp/decl.c:8127
+#: cp/decl.c:8409
#, fuzzy
msgid "shadowing previous type declaration of `%#D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/decl.c:8526
+#: 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
#, fuzzy
msgid "multiple initializations given for `%D'"
msgstr "(dicht bij initialisatie van `%s')"
-#: cp/decl.c:8626
+#: cp/decl.c:8956
msgid "invalid catch parameter"
msgstr ""
-#: cp/decl.c:8744
+#: cp/decl.c:9074
msgid "destructor for alien class `%T' cannot be a member"
msgstr ""
-#: cp/decl.c:8747
+#: cp/decl.c:9077
msgid "constructor for alien class `%T' cannot be a member"
msgstr ""
-#: cp/decl.c:8766
+#: cp/decl.c:9096
msgid "`%D' declared as a `virtual' %s"
msgstr ""
-#: cp/decl.c:8768
+#: cp/decl.c:9098
#, fuzzy
msgid "`%D' declared as an `inline' %s"
msgstr "variabele `%s' als inline gedeclareerd"
-#: cp/decl.c:8770
+#: cp/decl.c:9100
msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr ""
-#: cp/decl.c:8773
+#: cp/decl.c:9103
#, fuzzy
msgid "`%D' declared as a friend"
msgstr "veld `%s' als een functie gedeclareerd"
-#: cp/decl.c:8779
+#: cp/decl.c:9109
#, fuzzy
msgid "`%D' declared with an exception specification"
msgstr "`%s' gedeclareerd als een functie die een functie teruggeeft"
-#: cp/decl.c:8854
+#: cp/decl.c:9184
msgid "cannot declare `::main' to be a template"
msgstr ""
-#: cp/decl.c:8856
+#: cp/decl.c:9186
msgid "cannot declare `::main' to be inline"
msgstr ""
-#: cp/decl.c:8858
+#: cp/decl.c:9188
msgid "cannot declare `::main' to be static"
msgstr ""
-#: cp/decl.c:8861
+#: cp/decl.c:9191
msgid "`main' must return `int'"
msgstr ""
-#: cp/decl.c:8889
+#: cp/decl.c:9219
msgid "non-local function `%#D' uses anonymous type"
msgstr ""
-#: cp/decl.c:8892
+#: cp/decl.c:9222
msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr ""
-#: cp/decl.c:8898
+#: cp/decl.c:9228
msgid "non-local function `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:8921
+#: cp/decl.c:9251
msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr ""
-#: cp/decl.c:8945
+#: 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:8955
+#: cp/decl.c:9285
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/decl.c:8983
+#: cp/decl.c:9313
msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:8990
+#: cp/decl.c:9320
msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/decl.c:9052
+#: cp/decl.c:9382
#, fuzzy
msgid "definition of implicitly-declared `%D'"
msgstr "functie-definitie als `auto' gedeclareerd"
-#: cp/decl.c:9064 cp/decl2.c:1384
+#: cp/decl.c:9394 cp/decl2.c:776
msgid "no `%#D' member function declared in class `%T'"
msgstr ""
-#: cp/decl.c:9183
+#: cp/decl.c:9527
msgid "non-local variable `%#D' uses local type `%T'"
msgstr ""
-#: cp/decl.c:9273
+#: cp/decl.c:9625
msgid "invalid in-class initialization of static data member of non-integral type `%T'"
msgstr ""
-#: cp/decl.c:9282
+#: cp/decl.c:9634
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
msgstr ""
-#: cp/decl.c:9285
+#: cp/decl.c:9637
msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
msgstr ""
-#: cp/decl.c:9335
+#: cp/decl.c:9687
#, fuzzy
msgid "size of array `%D' has non-integer type"
msgstr "grootte van array `%s' is van een niet-integraal type"
-#: cp/decl.c:9337
+#: cp/decl.c:9689
#, fuzzy
msgid "size of array has non-integer type"
msgstr "grootte van array `%s' is van een niet-integraal type"
-#: cp/decl.c:9357
+#: cp/decl.c:9709
#, fuzzy
msgid "size of array `%D' is negative"
msgstr "grootte van array `%s' is negatief"
-#: cp/decl.c:9359
+#: cp/decl.c:9711
#, fuzzy
msgid "size of array is negative"
msgstr "grootte van array `%s' is negatief"
-#: cp/decl.c:9368
+#: cp/decl.c:9720
#, fuzzy
msgid "ISO C++ forbids zero-size array `%D'"
msgstr "ANSI C verbiedt array `%s' met lengte 0"
-#: cp/decl.c:9370
+#: cp/decl.c:9722
#, fuzzy
msgid "ISO C++ forbids zero-size array"
msgstr "ANSI C verbiedt array `%s' met lengte 0"
-#: cp/decl.c:9377
+#: cp/decl.c:9729
#, fuzzy
msgid "size of array `%D' is not an integral constant-expression"
msgstr "grootte van array `%s' is van een niet-integraal type"
-#: cp/decl.c:9380
+#: cp/decl.c:9732
#, fuzzy
msgid "size of array is not an integral constant-expression"
msgstr "ongeldig gebruik van een void-expressie"
-#: cp/decl.c:9398
+#: cp/decl.c:9750
#, fuzzy
msgid "ISO C++ forbids variable-size array `%D'"
msgstr "ANSI C verbiedt array `%s' van variabele lengte"
-#: cp/decl.c:9401
+#: cp/decl.c:9753
#, fuzzy
msgid "ISO C++ forbids variable-size array"
msgstr "ANSI C verbiedt array `%s' van variabele lengte"
-#: cp/decl.c:9412
+#: cp/decl.c:9764
msgid "overflow in array dimension"
msgstr ""
-#: cp/decl.c:9471
+#: cp/decl.c:9823
#, fuzzy
msgid "declaration of `%D' as %s"
msgstr "herdeclaratie van `%s'"
-#: cp/decl.c:9473
+#: cp/decl.c:9825
#, fuzzy, c-format
msgid "creating %s"
msgstr "read %s"
-#: cp/decl.c:9485
+#: cp/decl.c:9837
msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9488
+#: cp/decl.c:9840
msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:9517
+#: cp/decl.c:9869
msgid "return type specification for constructor invalid"
msgstr ""
-#: cp/decl.c:9524
+#: cp/decl.c:9876
msgid "return type specification for destructor invalid"
msgstr ""
-#: cp/decl.c:9530
+#: cp/decl.c:9882
#, fuzzy
msgid "operator `%T' declared to return `%T'"
msgstr "parameter `%s' als void gedeclareerd"
-#: cp/decl.c:9532
+#: cp/decl.c:9884
#, fuzzy
msgid "return type specified for `operator %T'"
msgstr "registernaam niet opgegeven voor `%s'"
-#: cp/decl.c:9702
+#: cp/decl.c:10052
msgid "destructors must be member functions"
msgstr ""
-#: cp/decl.c:9721
+#: cp/decl.c:10071
msgid "destructor `%T' must match class name `%T'"
msgstr ""
-#: cp/decl.c:9771
+#: cp/decl.c:10100
+msgid "variable declaration is not allowed here"
+msgstr ""
+
+#: cp/decl.c:10127
#, fuzzy
msgid "invalid declarator"
msgstr "lege declaratie"
-#: cp/decl.c:9824
+#: cp/decl.c:10178
msgid "declarator-id missing; using reserved word `%D'"
msgstr ""
-#: cp/decl.c:9868
-#, fuzzy
-msgid "`%T::%D' is not a valid declarator"
-msgstr "`%s' is geen iterator"
-
-#: cp/decl.c:9870
-msgid " perhaps you want `typename %T::%D' to make it a type"
-msgstr ""
-
-#: cp/decl.c:9882
+#: cp/decl.c:10235
#, fuzzy
msgid "type `%T' is not derived from type `%T'"
msgstr "iterator `%s' is van een afgeleid type"
#. Parse error puts this typespec where
#. a declarator should go.
-#: cp/decl.c:9928
+#: cp/decl.c:10279
msgid "`%T' specified as declarator-id"
msgstr ""
-#: cp/decl.c:9930
+#: cp/decl.c:10281
msgid " perhaps you want `%T' for a constructor"
msgstr ""
-#: cp/decl.c:9944
-#, fuzzy
-msgid "`%D' as declarator"
-msgstr "`%.*s' is niet gedefinieerd"
+#. 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
+#, fuzzy, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "ongeldig gebruik van een void-expressie"
-#: cp/decl.c:9959
+#: cp/decl.c:10323
#, fuzzy
msgid "declaration of `%D' as non-function"
msgstr "`%s' wordt gedeclareerd als een array van functies"
-#: cp/decl.c:10036
+#: cp/decl.c:10400
msgid "`bool' is now a keyword"
msgstr ""
-#: cp/decl.c:10038
+#: cp/decl.c:10402
msgid "extraneous `%T' ignored"
msgstr ""
-#: cp/decl.c:10054 cp/decl.c:10088
+#: cp/decl.c:10418 cp/decl.c:10463
#, fuzzy
msgid "multiple declarations `%T' and `%T'"
msgstr "meerdere parameters hebben de naam `%s'"
-#: cp/decl.c:10067
+#: cp/decl.c:10431
#, fuzzy
msgid "ISO C++ does not support `long long'"
msgstr "ANSI C ondersteunt `long long' niet"
-#: cp/decl.c:10159 cp/decl.c:10162
+#: cp/decl.c:10536 cp/decl.c:10539
#, fuzzy, c-format
msgid "ISO C++ forbids declaration of `%s' with no type"
msgstr "ANSI C verbiedt lid-declaraties zonder leden"
#. The implicit typename extension is deprecated and will be
#. removed. Warn about its use now.
-#: cp/decl.c:10172
+#: cp/decl.c:10549
msgid "`%T' is implicitly a typename"
msgstr ""
-#: cp/decl.c:10208
+#: cp/decl.c:10585
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr ""
-#: cp/decl.c:10213
+#: cp/decl.c:10590
#, c-format
msgid "long and short specified together for `%s'"
msgstr ""
-#: cp/decl.c:10224
+#: cp/decl.c:10601
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr ""
-#: cp/decl.c:10329
+#: cp/decl.c:10710
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr ""
-#: cp/decl.c:10357
+#: cp/decl.c:10732
msgid "member `%D' cannot be declared both virtual and static"
msgstr ""
-#: cp/decl.c:10371
+#: cp/decl.c:10741
+#, fuzzy
+msgid "`%T::%D' is not a valid declarator"
+msgstr "`%s' is geen iterator"
+
+#: cp/decl.c:10753
msgid "storage class specifiers invalid in parameter declarations"
msgstr ""
-#: cp/decl.c:10375
+#: cp/decl.c:10757
msgid "typedef declaration invalid in parameter declaration"
msgstr ""
-#: cp/decl.c:10388
+#: cp/decl.c:10770
msgid "virtual outside class declaration"
msgstr ""
-#: cp/decl.c:10442
+#: cp/decl.c:10831
#, c-format
msgid "storage class specified for %s `%s'"
msgstr ""
-#: cp/decl.c:10480
+#: cp/decl.c:10878
msgid "storage class specifiers invalid in friend function declarations"
msgstr ""
-#: cp/decl.c:10584
-#, fuzzy
-msgid "size of member `%D' is not constant"
-msgstr "opslaggrootte van `%s' is niet constant"
-
-#: cp/decl.c:10663
+#: cp/decl.c:11048
msgid "destructor cannot be static member function"
msgstr ""
-#: cp/decl.c:10666
+#: cp/decl.c:11051
#, fuzzy, c-format
msgid "destructors may not be `%s'"
msgstr "structure heeft geen lid dat `%s' heet"
-#: cp/decl.c:10687
+#: cp/decl.c:11072
msgid "constructor cannot be static member function"
msgstr ""
-#: cp/decl.c:10690
+#: cp/decl.c:11075
msgid "constructors cannot be declared virtual"
msgstr ""
-#: cp/decl.c:10695
+#: cp/decl.c:11080
#, fuzzy, c-format
msgid "constructors may not be `%s'"
msgstr "structure heeft geen lid dat `%s' heet"
-#: cp/decl.c:10705
+#: cp/decl.c:11090
msgid "return value type specifier for constructor ignored"
msgstr ""
-#: cp/decl.c:10724
+#: cp/decl.c:11109
#, c-format
msgid "can't initialize friend function `%s'"
msgstr ""
#. Cannot be both friend and virtual.
-#: cp/decl.c:10728
+#: cp/decl.c:11113
msgid "virtual functions cannot be friends"
msgstr ""
-#: cp/decl.c:10733
+#: cp/decl.c:11118
msgid "friend declaration not in class definition"
msgstr ""
-#: cp/decl.c:10735
+#: cp/decl.c:11120
#, c-format
msgid "can't define friend function `%s' in a local class definition"
msgstr ""
-#: cp/decl.c:10759
+#: cp/decl.c:11144
msgid "destructors may not have parameters"
msgstr ""
-#: cp/decl.c:10789
-#, c-format
-msgid "cannot declare %s to references"
-msgstr ""
-
-#: cp/decl.c:10800
-msgid "cannot declare pointer to `%#T' member"
-msgstr ""
-
-#: cp/decl.c:10815
-msgid "invalid type: `void &'"
-msgstr ""
+#: cp/decl.c:11175 cp/decl.c:11182
+#, fuzzy
+msgid "cannot declare reference to `%#T'"
+msgstr "kan niet derefereren, is geen pointer."
-#: cp/decl.c:10866
-msgid "discarding `const' applied to a reference"
-msgstr ""
+#: cp/decl.c:11176
+#, fuzzy
+msgid "cannot declare pointer to `%#T'"
+msgstr "parameter `%s' wijst naar een onvolledig type"
-#: cp/decl.c:10868
-msgid "discarding `volatile' applied to a reference"
+#: cp/decl.c:11181
+msgid "cannot declare pointer to `%#T' member"
msgstr ""
-#: cp/decl.c:10979
+#: cp/decl.c:11357
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr ""
-#: cp/decl.c:10989
+#: cp/decl.c:11367
msgid "cannot declare member function `%T::%s' within `%T'"
msgstr ""
-#: cp/decl.c:11004
+#: 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:11084
+#: cp/decl.c:11468
msgid "only declarations of constructors can be `explicit'"
msgstr ""
-#: cp/decl.c:11092
+#: cp/decl.c:11476
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11097
+#: cp/decl.c:11481
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11103
+#: cp/decl.c:11487
#, fuzzy, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr "geneste functie `%s' is als `extern' gedeclareerd"
-#: cp/decl.c:11108
+#: cp/decl.c:11492
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11113
+#: cp/decl.c:11497
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr ""
-#: cp/decl.c:11126
+#: cp/decl.c:11510
#, fuzzy
msgid "template-id `%D' used as a declarator"
msgstr "parameter `%s' heeft enkel een voorwaartse declaratie"
-#: cp/decl.c:11147
+#: cp/decl.c:11531
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11194
+#: cp/decl.c:11580
msgid "typedef name may not be class-qualified"
msgstr ""
-#: cp/decl.c:11202
+#: cp/decl.c:11588
msgid "invalid type qualifier for non-member function type"
msgstr ""
-#: cp/decl.c:11218
-msgid "typedef declaration includes an initializer"
-msgstr ""
-
-#: cp/decl.c:11271
+#: cp/decl.c:11651
#, fuzzy
msgid "type qualifiers specified for friend class declaration"
msgstr "twee types opgegeven in één lege declaratie"
-#: cp/decl.c:11276
+#: cp/decl.c:11656
#, fuzzy
msgid "`inline' specified for friend class declaration"
msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
-#: cp/decl.c:11286
+#: cp/decl.c:11664
#, fuzzy
msgid "template parameters cannot be friends"
msgstr "niet-beëindigde parameterlijst in `#define'"
-#: cp/decl.c:11288
-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:11293
+#: cp/decl.c:11670
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr ""
-#: cp/decl.c:11309
+#: cp/decl.c:11684
msgid "trying to make class `%T' a friend of global scope"
msgstr ""
-#: cp/decl.c:11320
+#: cp/decl.c:11695
#, fuzzy
msgid "invalid qualifiers on non-member function type"
msgstr "%s laat qualifiers van doeltype van pointer vallen"
-#: cp/decl.c:11339
+#: cp/decl.c:11714
#, fuzzy
msgid "abstract declarator `%T' used as declaration"
msgstr "de declaratie van `%s' verbergt een globale declaratie"
-#: cp/decl.c:11351
+#: cp/decl.c:11726
msgid "unnamed variable or field declared void"
msgstr ""
-#: cp/decl.c:11360
+#: cp/decl.c:11735
msgid "variable or field declared void"
msgstr ""
-#: cp/decl.c:11370
+#: cp/decl.c:11745
msgid "cannot use `::' in parameter declaration"
msgstr ""
#. Something like struct S { int N::j; };
-#: cp/decl.c:11416
+#: cp/decl.c:11784
#, fuzzy
msgid "invalid use of `::'"
msgstr "ongeldig gebruik van `restrict'"
-#: cp/decl.c:11428
+#: cp/decl.c:11796
#, fuzzy
msgid "function `%D' cannot be declared friend"
msgstr "`%s' mag niet als alleen-lezen gedeclareerd worden"
-#: cp/decl.c:11440
+#: cp/decl.c:11808
msgid "can't make `%D' into a method -- not in a class"
msgstr ""
-#: cp/decl.c:11449
+#: cp/decl.c:11817
#, fuzzy
msgid "function `%D' declared virtual inside a union"
msgstr "veld `%s' als een functie gedeclareerd"
-#: cp/decl.c:11461
+#: cp/decl.c:11829
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr ""
-#: cp/decl.c:11534
+#: cp/decl.c:11902
#, fuzzy
msgid "field `%D' has incomplete type"
msgstr "veld `%s' heeft een onvolledig type"
-#: cp/decl.c:11536
+#: cp/decl.c:11904
#, fuzzy
msgid "name `%T' has incomplete type"
msgstr "parameter `%s' heeft een onvolledig type"
-#: cp/decl.c:11545
+#: cp/decl.c:11913
msgid " in instantiation of template `%T'"
msgstr ""
-#: cp/decl.c:11555
+#: cp/decl.c:11923
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr ""
-#: cp/decl.c:11572
+#: cp/decl.c:11934
msgid "member functions are implicitly friends of their class"
msgstr ""
@@ -17427,99 +15662,104 @@ 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:11614
+#: cp/decl.c:11981
#, fuzzy
msgid "ISO C++ forbids initialization of member `%D'"
msgstr "(dicht bij initialisatie van `%s')"
-#: cp/decl.c:11616
+#: cp/decl.c:11983
msgid "making `%D' static"
msgstr ""
-#: cp/decl.c:11640
+#: cp/decl.c:12007
msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
msgstr ""
-#: cp/decl.c:11681
+#: cp/decl.c:12048
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr ""
-#: cp/decl.c:11683
+#: cp/decl.c:12050
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr ""
-#: cp/decl.c:11694
+#: cp/decl.c:12052
+#, fuzzy, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "ongeldige opslagklasse voor functie `%s'"
+
+#: cp/decl.c:12063
#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cp/decl.c:11696
+#: cp/decl.c:12065
#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cp/decl.c:11703
+#: cp/decl.c:12072
#, c-format
msgid "virtual non-class function `%s'"
msgstr ""
-#: cp/decl.c:11732
+#: cp/decl.c:12101
msgid "cannot declare member function `%D' to have static linkage"
msgstr ""
#. FIXME need arm citation
-#: cp/decl.c:11738
+#: cp/decl.c:12107
msgid "cannot declare static function inside another function"
msgstr ""
-#: cp/decl.c:11766
+#: cp/decl.c:12135
msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr ""
-#: cp/decl.c:11772
+#: cp/decl.c:12141
#, fuzzy
msgid "static member `%D' declared `register'"
msgstr "variabele `%s' als inline gedeclareerd"
-#: cp/decl.c:11777
+#: cp/decl.c:12146
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr ""
-#: cp/decl.c:11949
+#: cp/decl.c:12318
#, fuzzy
msgid "default argument for `%#D' has type `%T'"
msgstr "eerste argument van `%s' zou een `int' moeten zijn"
-#: cp/decl.c:11952
+#: cp/decl.c:12321
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr ""
-#: cp/decl.c:11969
+#: cp/decl.c:12338
msgid "default argument `%E' uses local variable `%D'"
msgstr ""
-#: cp/decl.c:12013
+#: cp/decl.c:12383
#, fuzzy, c-format
msgid "invalid string constant `%E'"
msgstr "slechte stringconstante"
-#: cp/decl.c:12015
+#: cp/decl.c:12385
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr ""
-#: cp/decl.c:12049
+#: cp/decl.c:12423
#, fuzzy
msgid "parameter `%D' invalidly declared method type"
msgstr "parameter `%s' als void gedeclareerd"
-#: cp/decl.c:12055
+#: cp/decl.c:12429
#, fuzzy
msgid "parameter `%D' invalidly declared offset type"
msgstr "parameter `%s' als void gedeclareerd"
-#: cp/decl.c:12079
+#: cp/decl.c:12453
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr ""
@@ -17538,519 +15778,500 @@ 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:12246
+#: cp/decl.c:12615
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr ""
-#: cp/decl.c:12397
+#: cp/decl.c:12766
#, fuzzy
msgid "`%D' must be a nonstatic member function"
msgstr "`this' is niet beschikbaar in static member-funties"
-#: cp/decl.c:12403
+#: cp/decl.c:12772
msgid "`%D' must be either a non-static member function or a non-member function"
msgstr ""
-#: cp/decl.c:12420
+#: cp/decl.c:12789
msgid "`%D' must have an argument of class or enumerated type"
msgstr ""
-#: cp/decl.c:12452
+#: 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:12459
+#: cp/decl.c:12828
msgid "ISO C++ prohibits overloading operator ?:"
msgstr ""
-#: cp/decl.c:12509
+#: cp/decl.c:12878
msgid "postfix `%D' must take `int' as its argument"
msgstr ""
-#: cp/decl.c:12513
+#: cp/decl.c:12882
msgid "postfix `%D' must take `int' as its second argument"
msgstr ""
-#: cp/decl.c:12520
+#: cp/decl.c:12889
#, fuzzy
msgid "`%D' must take either zero or one argument"
msgstr "`%s' neemt ofwel geen, ofwel twee argumenten"
-#: cp/decl.c:12522
+#: cp/decl.c:12891
#, fuzzy
msgid "`%D' must take either one or two arguments"
msgstr "`%s' neemt ofwel geen, ofwel twee argumenten"
-#: cp/decl.c:12543
+#: cp/decl.c:12912
msgid "prefix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12549
+#: cp/decl.c:12918
msgid "postfix `%D' should return `%T'"
msgstr ""
-#: cp/decl.c:12558
+#: cp/decl.c:12927
msgid "`%D' must take `void'"
msgstr ""
-#: cp/decl.c:12560 cp/decl.c:12568
+#: cp/decl.c:12929 cp/decl.c:12937
#, fuzzy
msgid "`%D' must take exactly one argument"
msgstr "`%s' neemt ofwel geen, ofwel twee argumenten"
-#: cp/decl.c:12570
+#: cp/decl.c:12939
#, fuzzy
msgid "`%D' must take exactly two arguments"
msgstr "`%s' neemt ofwel geen, ofwel twee argumenten"
-#: cp/decl.c:12578
+#: cp/decl.c:12947
msgid "user-defined `%D' always evaluates both arguments"
msgstr ""
-#: cp/decl.c:12590
+#: cp/decl.c:12961
msgid "`%D' should return by value"
msgstr ""
-#: cp/decl.c:12602 cp/decl.c:12605
+#: cp/decl.c:12973 cp/decl.c:12976
msgid "`%D' cannot have default arguments"
msgstr ""
-#: cp/decl.c:12698
+#: cp/decl.c:13052
#, fuzzy
msgid "`%s %T' declares a new type at namespace scope"
msgstr "`%s %s' binnen parameterlijst gedeclareerd"
-#: cp/decl.c:12701
+#: 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:12737
+#: cp/decl.c:13093
msgid "using typedef-name `%D' after `%s'"
msgstr ""
-#: cp/decl.c:12740
+#: cp/decl.c:13098
#, fuzzy
msgid "using template type parameter `%T' after `%s'"
msgstr "incompatibel type voor argument %d van `%s'"
-#: cp/decl.c:12822
+#: cp/decl.c:13178
#, fuzzy
msgid "use of enum `%#D' without previous declaration"
msgstr "sectie van `%s' geeft een conflict met een eerdere declaratie"
-#: cp/decl.c:12932
+#: cp/decl.c:13264
msgid "derived union `%T' invalid"
msgstr ""
-#: cp/decl.c:12976
+#: cp/decl.c:13310
#, fuzzy
msgid "base type `%T' fails to be a struct or class type"
msgstr "`%s' is geen typedef of ingebouwd type"
-#: cp/decl.c:12988
+#: cp/decl.c:13320
#, fuzzy
msgid "base class `%T' has incomplete type"
msgstr "veld `%s' heeft een onvolledig type"
-#: cp/decl.c:12996
+#: cp/decl.c:13328
msgid "recursive type `%T' undefined"
msgstr ""
-#: cp/decl.c:12998
+#: cp/decl.c:13330
#, fuzzy
msgid "duplicate base type `%T' invalid"
msgstr "herhaalde case-waarde"
-#: cp/decl.c:13109
+#: cp/decl.c:13441
#, fuzzy
msgid "multiple definition of `%#T'"
msgstr "herdefinitie van `%s'"
-#: cp/decl.c:13110
+#: cp/decl.c:13442
#, fuzzy
msgid "previous definition here"
msgstr "eerdere definitie van `%s'"
-#: cp/decl.c:13285
+#: cp/decl.c:13610
#, fuzzy
msgid "enumerator value for `%D' not integer constant"
msgstr "enumeratiewaarde voor `%s' is geen integrale constante"
-#: cp/decl.c:13305
+#: cp/decl.c:13630
#, fuzzy
msgid "overflow in enumeration values at `%D'"
msgstr "overflow in enumeratiewaarden"
-#: cp/decl.c:13394
+#: cp/decl.c:13716
#, fuzzy
msgid "return type `%#T' is incomplete"
msgstr "type van teruggeefwaarde is onvolledig"
-#: cp/decl.c:13503
+#: cp/decl.c:13830
#, fuzzy
msgid "semicolon missing after declaration of `%#T'"
msgstr "conflicterende declaraties van `%s'"
-#: cp/decl.c:13524
+#: cp/decl.c:13851
msgid "return type for `main' changed to `int'"
msgstr ""
-#: cp/decl.c:13555
+#: cp/decl.c:13882
#, fuzzy
msgid "`%D' implicitly declared before its definition"
msgstr "`%s' impliciet als functie gedeclareerd"
-#: cp/decl.c:13577 cp/typeck.c:6653
+#: cp/decl.c:13904 cp/typeck.c:6229
msgid "`operator=' should return a reference to `*this'"
msgstr ""
-#: cp/decl.c:13858
+#: cp/decl.c:14164
#, fuzzy
msgid "parameter `%D' declared void"
msgstr "parameter `%s' als void gedeclareerd"
-#: cp/decl.c:14302
+#: cp/decl.c:14628
msgid "`%D' is already defined in class `%T'"
msgstr ""
-#: cp/decl.c:14453
-#, fuzzy
-msgid "parser lost in parsing declaration of `%D'"
-msgstr "type krijgt standaardwaarde `int' in de declaratie van `%s'"
-
-#: cp/decl.c:14538
+#: cp/decl.c:14845
#, fuzzy
msgid "static member function `%#D' declared with type qualifiers"
msgstr "geneste functie `%s' is als `extern' gedeclareerd"
-#: cp/decl2.c:529
-#, c-format
-msgid "-f%s is no longer supported"
-msgstr ""
-
-#: cp/decl2.c:535
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr ""
-
-#: cp/decl2.c:561
-msgid "-fname-mangling-version is no longer supported"
-msgstr ""
-
-#: cp/decl2.c:624
-#, fuzzy
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "-pipe wordt niet ondersteund"
-
-#: cp/decl2.c:761
+#: cp/decl2.c:154
#, fuzzy, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr "herhaalde label-declaratie `%s'"
-#: cp/decl2.c:800
+#: cp/decl2.c:193
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:806
+#: cp/decl2.c:199
msgid "template `%#D' defined in file without #pragma interface"
msgstr ""
-#: cp/decl2.c:963
+#: 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:1030
+#: cp/decl2.c:429
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr ""
-#: cp/decl2.c:1061 cp/decl2.c:1075
+#: cp/decl2.c:460 cp/decl2.c:474
msgid "ambiguous conversion for array subscript"
msgstr ""
-#: cp/decl2.c:1069
+#: cp/decl2.c:468
msgid "invalid types `%T[%T]' for array subscript"
msgstr ""
-#: cp/decl2.c:1117
+#: cp/decl2.c:516
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr ""
-#: cp/decl2.c:1125
+#: cp/decl2.c:524
msgid "anachronistic use of array size in vector delete"
msgstr ""
-#: cp/decl2.c:1135
+#: cp/decl2.c:534
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
msgstr ""
-#: cp/decl2.c:1142
+#: cp/decl2.c:541
#, fuzzy
msgid "deleting `%T' is undefined"
msgstr "`%.*s' is niet gedefinieerd"
-#: cp/decl2.c:1150
+#: 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:1197
+#: cp/decl2.c:583
msgid "invalid declaration of member template `%#D' in local class"
msgstr ""
-#: cp/decl2.c:1206
+#: cp/decl2.c:592
#, fuzzy
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr "ongeldig gebruik van onvolledige typedef `%s'"
-#: cp/decl2.c:1216 cp/pt.c:2559
+#: cp/decl2.c:602 cp/pt.c:2586
#, fuzzy
msgid "template declaration of `%#D'"
msgstr "herdeclaratie van `%s'"
-#: cp/decl2.c:1266
+#: cp/decl2.c:652
msgid "Java method '%D' has non-Java return type `%T'"
msgstr ""
-#: cp/decl2.c:1275
+#: cp/decl2.c:661
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr ""
-#: cp/decl2.c:1371
+#: cp/decl2.c:737
msgid "prototype for `%#D' does not match any in class `%T'"
msgstr ""
-#: cp/decl2.c:1373
-msgid "candidate%s: %+#D"
-msgstr ""
-
-#: cp/decl2.c:1376
+#: cp/decl2.c:819
#, fuzzy
-msgid " %#D"
-msgstr ""
-",\n"
-" door "
+msgid "local class `%#T' shall not have static data member `%#D'"
+msgstr "`%s' is geen static veld"
-#: cp/decl2.c:1432
+#: cp/decl2.c:827
msgid "initializer invalid for static member with constructor"
msgstr ""
-#: cp/decl2.c:1435
+#: cp/decl2.c:830
msgid "(an out of class initialization is required)"
msgstr ""
-#: cp/decl2.c:1494
+#: cp/decl2.c:889
#, fuzzy
msgid "invalid data member initialization"
msgstr "ongeldige beginwaarde"
-#: cp/decl2.c:1497
+#: cp/decl2.c:892
msgid "(use `=' to initialize static data members)"
msgstr ""
-#: cp/decl2.c:1537
+#: cp/decl2.c:938
msgid "member `%D' conflicts with virtual function table field name"
msgstr ""
-#: cp/decl2.c:1557
+#: cp/decl2.c:958
msgid "`%D' is already defined in `%T'"
msgstr ""
-#: cp/decl2.c:1608
+#: cp/decl2.c:1010
msgid "field initializer is not constant"
msgstr ""
-#: cp/decl2.c:1631
+#: cp/decl2.c:1034
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr ""
-#: cp/decl2.c:1683
+#: cp/decl2.c:1086
msgid "cannot declare `%D' to be a bit-field type"
msgstr ""
-#: cp/decl2.c:1693
+#: cp/decl2.c:1096
#, fuzzy
msgid "cannot declare bit-field `%D' with function type"
msgstr "cast geeft functie-type op"
-#: cp/decl2.c:1700
+#: cp/decl2.c:1103
msgid "`%D' is already defined in the class %T"
msgstr ""
-#: cp/decl2.c:1709
+#: cp/decl2.c:1110
msgid "static member `%D' cannot be a bit-field"
msgstr ""
-#: cp/decl2.c:1778
+#: cp/decl2.c:1197
#, fuzzy
msgid "initializer specified for non-member function `%D'"
msgstr "argument-formaat opgegeven voor niet-functie `%s'"
-#: cp/decl2.c:1782
+#: cp/decl2.c:1201
#, fuzzy
msgid "invalid initializer for virtual method `%D'"
msgstr "ongeldige beginwaarde voor bit-string"
-#: cp/decl2.c:1886
+#: cp/decl2.c:1315
#, fuzzy
msgid "anonymous struct not inside named type"
msgstr "anonieme %s gedeclareerd binnen parameterlijst"
-#: cp/decl2.c:1982
+#: cp/decl2.c:1411
msgid "namespace-scope anonymous aggregates must be static"
msgstr ""
-#: cp/decl2.c:1992
+#: cp/decl2.c:1424
msgid "anonymous aggregate with no members"
msgstr ""
-#: cp/decl2.c:2059
+#: cp/decl2.c:1493
msgid "`operator new' must return type `%T'"
msgstr ""
-#: cp/decl2.c:2067
+#: cp/decl2.c:1501
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr ""
-#: cp/decl2.c:2094
+#: cp/decl2.c:1528
msgid "`operator delete' must return type `%T'"
msgstr ""
-#: cp/decl2.c:2102
+#: 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:2839
+#: cp/decl2.c:2290
msgid "too many initialization functions required"
msgstr ""
-#: cp/decl2.c:3650
+#: cp/decl2.c:2966
+#, fuzzy
+msgid "inline function `%D' used but never defined"
+msgstr "label `%s' gebruikt maar niet gedefinieerd"
+
+#: cp/decl2.c:3086
msgid "use of old-style cast"
msgstr ""
-#: cp/decl2.c:4208
+#: cp/decl2.c:3794
#, fuzzy
msgid "use of `%D' is ambiguous"
msgstr "grootte van `%s' is %u bytes"
-#: cp/decl2.c:4209
+#: cp/decl2.c:3795
msgid " first declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4212
+#: cp/decl2.c:3798
msgid " also declared as `%#D' here"
msgstr ""
-#: cp/decl2.c:4227
+#: cp/decl2.c:3813
msgid "`%D' denotes an ambiguous type"
msgstr ""
-#: cp/decl2.c:4228
+#: cp/decl2.c:3814
msgid " first type here"
msgstr ""
-#: cp/decl2.c:4229
+#: cp/decl2.c:3815
msgid " other type here"
msgstr ""
-#: cp/decl2.c:4326
+#: cp/decl2.c:3912
#, fuzzy
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr "`%s' wordt gedeclareerd als een array van functies"
-#: cp/decl2.c:4360
+#: cp/decl2.c:3946
msgid "`%D' should have been declared inside `%D'"
msgstr ""
-#: cp/decl2.c:4494
+#: cp/decl2.c:4079
#, fuzzy
msgid "`%D' is not a function,"
msgstr "`%s' is meestal een functie"
-#: cp/decl2.c:4495
+#: cp/decl2.c:4080
#, fuzzy
msgid " conflict with `%D'"
msgstr "conflicterende types voor `%s'"
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4809
+#: cp/decl2.c:4396
#, fuzzy
msgid "unknown namespace `%D'"
msgstr "onbekende machine-modus `%s'"
-#: cp/decl2.c:4843 cp/decl2.c:5104
+#: cp/decl2.c:4430 cp/decl2.c:4707
#, fuzzy
msgid "`%T' is not a namespace"
msgstr "`%s' is geen iterator"
-#: cp/decl2.c:4845
+#: cp/decl2.c:4432
#, fuzzy
msgid "`%D' is not a namespace"
msgstr "`%s' is geen iterator"
-#: cp/decl2.c:4854
+#: cp/decl2.c:4441
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr ""
-#: cp/decl2.c:4868
+#: cp/decl2.c:4455
#, fuzzy
msgid "namespace `%D' not allowed in using-declaration"
msgstr "`%s' staat niet aan het begin van een declaratie"
-#: cp/decl2.c:4897
+#: cp/decl2.c:4484
#, fuzzy
msgid "`%D' not declared"
msgstr "`%.*s' is niet gedefinieerd"
-#: cp/decl2.c:4939
+#: cp/decl2.c:4535
msgid "`%D' is already declared in this scope"
msgstr ""
-#: cp/decl2.c:4966
+#: cp/decl2.c:4562
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr ""
-#: cp/decl2.c:5057
+#: cp/decl2.c:4653
msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cp/decl2.c:5063
+#: cp/decl2.c:4659
msgid "using-declaration for destructor"
msgstr ""
-#: cp/decl2.c:5069
+#: cp/decl2.c:4665
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr ""
-#: cp/decl2.c:5098
+#: cp/decl2.c:4701
#, fuzzy
msgid "namespace `%T' undeclared"
msgstr "`%s' tevoren hier gedeclareerd"
-#: cp/decl2.c:5127
+#: cp/decl2.c:4730
#, fuzzy
msgid "default argument missing for parameter %P of `%+#D'"
msgstr "parameternaam ontbreekt uit parameterlijst"
-#: cp/decl2.c:5217
+#: cp/decl2.c:4829
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr ""
-#: cp/decl2.c:5221
+#: cp/decl2.c:4833
msgid "`%T' does not have a class or union named `%D'"
msgstr ""
-#: cp/decl2.c:5234
+#: cp/decl2.c:4848
#, fuzzy
msgid "`%T' is not a class or union type"
msgstr "`%s' is smaller dan waarden van zijn type"
+#: cp/decl2.c:4862
+#, fuzzy
+msgid "template argument is required for `%T'"
+msgstr "meerdere parameters hebben de naam `%s'"
+
#: cp/error.c:35
#, fuzzy, c-format
msgid "`%s' not supported by %s"
@@ -18066,7 +16287,12 @@ msgstr ""
msgid "(static %s for %s)"
msgstr ""
-#: cp/error.c:2432
+#: cp/error.c:1482
+#, c-format
+msgid "\\x%x"
+msgstr ""
+
+#: cp/error.c:2430
#, fuzzy, c-format
msgid "In %s `%s':"
msgstr "%s voor `%s'"
@@ -18087,50 +16313,50 @@ msgid "%s:%d: instantiated from here\n"
msgstr ""
#. damn ICE suppression
-#: cp/error.c:2669
+#: 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:558
+#: cp/except.c:639
msgid "throwing NULL, which has integral, not pointer type"
msgstr ""
-#: cp/except.c:663
+#: cp/except.c:730
msgid " in thrown expression"
msgstr ""
-#: cp/except.c:775
+#: cp/except.c:856
msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr ""
-#: cp/except.c:863
+#: cp/except.c:944
msgid "exception of type `%T' will be caught"
msgstr ""
-#: cp/except.c:866
+#: cp/except.c:947
msgid " by earlier handler for `%T'"
msgstr ""
-#: cp/except.c:887
+#: cp/except.c:968
msgid "`...' handler must be the last handler for its try block"
msgstr ""
@@ -18144,147 +16370,135 @@ msgstr "kan klasse '%s' niet vinden"
msgid "previous friend declaration of `%D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/friend.c:197
+#: cp/friend.c:202
#, fuzzy
msgid "invalid type `%T' declared `friend'"
msgstr "variabele `%s' als inline gedeclareerd"
#. [temp.friend]
-#.
#. Friend declarations shall not declare partial
#. specializations.
-#: cp/friend.c:209
+#: cp/friend.c:218
#, fuzzy
msgid "partial specialization `%T' declared `friend'"
msgstr "variabele `%s' als inline gedeclareerd"
-#: 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
#, fuzzy
msgid "typename type `%#T' declared `friend'"
msgstr "parameter `%s' als void gedeclareerd"
#. template <class T> friend class T;
-#: cp/friend.c:245
+#: cp/friend.c:251
#, fuzzy
msgid "template parameter type `%T' declared `friend'"
msgstr "parameter `%s' als void gedeclareerd"
#. template <class T> friend class A; where A is not a template
-#: cp/friend.c:251
+#: cp/friend.c:257
#, fuzzy
msgid "`%#T' is not a template"
msgstr "`%s' is geen iterator"
-#: cp/friend.c:268
+#: cp/friend.c:272
msgid "`%T' is already a friend of `%T'"
msgstr ""
-#: cp/friend.c:364
+#: cp/friend.c:370
msgid "member `%D' declared as friend before type `%T' defined"
msgstr ""
-#: cp/friend.c:419
+#: cp/friend.c:425
#, fuzzy
msgid "friend declaration `%#D' declares a non-template function"
msgstr "ingebouwde functie `%s' als niet-functie gedeclareerd"
-#: cp/friend.c:422
+#: 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:381
+#: cp/g++spec.c:209 java/jvspec.c:423
#, fuzzy, c-format
msgid "argument to `%s' missing\n"
msgstr "argument van `%s' moet van een integraal type zijn."
-#: cp/init.c:285
+#: 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:290
+#: cp/init.c:374
#, fuzzy
msgid "uninitialized reference member `%D'"
msgstr "ongeldige beginwaarde voor member `%s'"
-#: cp/init.c:298
+#: cp/init.c:382
msgid "initializer list treated as compound expression"
msgstr ""
-#: cp/init.c:410
+#: cp/init.c:523
#, fuzzy
-msgid "member initializers for `%#D'"
-msgstr "ongeldige beginwaarde voor veld `%s'"
-
-#: cp/init.c:412
-msgid " and `%#D'"
-msgstr ""
-
-#: cp/init.c:413
-msgid " will be re-ordered to match declaration order"
-msgstr ""
+msgid "`%D' will be initialized after"
+msgstr "parameter `%s' krijgt beginwaarde"
-#: cp/init.c:428
+#: cp/init.c:526
#, fuzzy
-msgid "multiple initializations given for member `%D'"
-msgstr "ongeldige beginwaarde voor member `%s'"
+msgid "base `%T' will be initialized after"
+msgstr "veld `%s' heeft al een beginwaarde gekregen"
-#: cp/init.c:500
+#: cp/init.c:529
#, fuzzy
-msgid "initializations for multiple members of `%T'"
-msgstr "beginwaarde legt grootte van `%s' niet vast"
+msgid " `%#D'"
+msgstr "%s voor `%s'"
-#: cp/init.c:617
+#: cp/init.c:531
#, fuzzy
-msgid "base initializers for `%#T'"
-msgstr "ongeldige beginwaarde voor veld `%s'"
-
-#: cp/init.c:618
-msgid " and `%#T'"
-msgstr ""
+msgid " base `%T'"
+msgstr "%s voor `%s'"
-#: cp/init.c:619
-msgid " will be re-ordered to match inheritance order"
-msgstr ""
+#: cp/init.c:549
+#, fuzzy
+msgid "multiple initializations given for base `%T'"
+msgstr "(dicht bij initialisatie van `%s')"
-#: cp/init.c:631
+#: cp/init.c:616
#, fuzzy
-msgid "base class `%T' already initialized"
-msgstr "veld `%s' heeft al een beginwaarde gekregen"
+msgid "initializations for multiple members of `%T'"
+msgstr "beginwaarde legt grootte van `%s' niet vast"
-#: cp/init.c:702
+#: cp/init.c:671
msgid "base class `%#T' should be explicitly initialized in the copy constructor"
msgstr ""
-#: cp/init.c:745
-msgid "`%D' should be initialized in the member initialization list"
-msgstr ""
-
-#: cp/init.c:987
+#: cp/init.c:916
msgid "class `%T' does not have any field named `%D'"
msgstr ""
-#: cp/init.c:993
+#: cp/init.c:922
msgid "field `%#D' is static; the only point of initialization is its definition"
msgstr ""
-#: cp/init.c:1032
+#: cp/init.c:956
msgid "unnamed initializer for `%T', which has no base classes"
msgstr ""
-#: cp/init.c:1039
+#: cp/init.c:963
msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr ""
-#: cp/init.c:1068
+#: cp/init.c:1000
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr ""
-#: cp/init.c:1071
+#: cp/init.c:1003
msgid "type `%D' is not a direct base of `%T'"
msgstr ""
@@ -18300,29 +16514,29 @@ msgstr ""
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1165
+#: cp/init.c:1097
msgid "bad array initializer"
msgstr ""
-#: cp/init.c:1357
+#: cp/init.c:1304
#, fuzzy
msgid "`%T' is not an aggregate type"
msgstr "`%s' is geen iterator"
-#: cp/init.c:1380
+#: cp/init.c:1327
#, fuzzy
msgid "`%T' fails to be an aggregate typedef"
msgstr "`%s' is geen typedef of ingebouwd type"
-#: cp/init.c:1389
+#: cp/init.c:1336
msgid "type `%T' is of non-aggregate type"
msgstr ""
-#: cp/init.c:1491
+#: cp/init.c:1439
msgid "cannot call destructor `%T::~%T' without object"
msgstr ""
-#: cp/init.c:1533
+#: cp/init.c:1483
#, fuzzy
msgid "invalid use of non-static field `%D'"
msgstr "ongeldig gebruik van onvolledige typedef `%s'"
@@ -18330,563 +16544,527 @@ msgstr "ongeldig gebruik van onvolledige typedef `%s'"
#. We can get here when processing a bad default
#. argument, like:
#. struct S { int a; void f(int i = a); }
-#: cp/init.c:1542 cp/method.c:194
+#: cp/init.c:1492 cp/method.c:160
#, fuzzy
msgid "invalid use of member `%D'"
msgstr "ongeldige beginwaarde voor member `%s'"
-#: cp/init.c:1552
+#: cp/init.c:1502
msgid "no method `%T::%D'"
msgstr ""
-#: cp/init.c:1645
+#: cp/init.c:1595
msgid "incomplete type `%T' does not have member `%D'"
msgstr ""
-#: cp/init.c:1714
+#: cp/init.c:1669
#, fuzzy
msgid "`%D' is not a member of type `%T'"
msgstr "`%s' is geen bestand, pipe of tty"
-#: cp/init.c:1733
+#: cp/init.c:1688
#, fuzzy
-msgid "illegal pointer to bit-field `%D'"
+msgid "invalid pointer to bit-field `%D'"
msgstr "bitveld `%s' heeft een negatieve breedte"
-#: cp/init.c:1772
+#: cp/init.c:1727
msgid "object missing in use of pointer-to-member construct"
msgstr ""
-#: cp/init.c:1812
+#: cp/init.c:1767
msgid "member `%D' is non-static but referenced as a static member"
msgstr ""
-#: cp/init.c:1814 cp/typeck.c:3168 cp/typeck.c:3276
+#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932
msgid "at this point in file"
msgstr ""
-#: cp/init.c:1872 cp/typeck.c:2963
+#: cp/init.c:1806
#, fuzzy, c-format
msgid "object missing in `%E'"
msgstr "array-grootte ontbreekt in `%s'"
-#: cp/init.c:2004
+#: cp/init.c:1937
msgid "new of array type fails to specify size"
msgstr ""
-#: cp/init.c:2015
+#: cp/init.c:1948
msgid "size in array new must have integral type"
msgstr ""
-#: cp/init.c:2021
+#: cp/init.c:1954
msgid "zero size array reserves no space"
msgstr ""
-#: cp/init.c:2086
+#: cp/init.c:2019
msgid "new cannot be applied to a reference type"
msgstr ""
-#: cp/init.c:2092
+#: cp/init.c:2025
msgid "new cannot be applied to a function type"
msgstr ""
-#: cp/init.c:2139
+#: cp/init.c:2072
msgid "call to Java constructor, while `jclass' undefined"
msgstr ""
-#: cp/init.c:2155
+#: cp/init.c:2088
#, fuzzy
msgid "can't find class$"
msgstr "kan %s niet vinden"
-#: cp/init.c:2268
+#: cp/init.c:2202
msgid "invalid type `void' for new"
msgstr ""
-#: cp/init.c:2320
+#: cp/init.c:2254
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr ""
-#: cp/init.c:2429
+#: cp/init.c:2362
#, fuzzy
msgid "ISO C++ forbids initialization in array new"
msgstr "ANSI C verbiedt lege initialisatie-accolades"
-#: cp/init.c:2447 cp/typeck2.c:383 cp/typeck2.c:1227
+#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223
msgid "initializer list being treated as compound expression"
msgstr ""
-#: cp/init.c:2453
+#: cp/init.c:2386
#, fuzzy
msgid "ISO C++ forbids aggregate initializer to new"
msgstr "ANSI C verbiedt lege initialisatie-accolades"
-#: cp/init.c:2528
+#: cp/init.c:2474
#, fuzzy
msgid "uninitialized const in `new' of `%#T'"
msgstr "beginwaarde legt grootte van `%s' niet vast"
-#: cp/init.c:2892
+#: cp/init.c:2840
msgid "initializer ends prematurely"
msgstr ""
-#: cp/init.c:2962
+#: cp/init.c:2910
msgid "cannot initialize multi-dimensional array with initializer"
msgstr ""
-#: cp/init.c:3137
+#: cp/init.c:3100
msgid "unknown array size in delete"
msgstr ""
-#: cp/init.c:3402
+#: 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:1000
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
msgstr ""
-#: cp/lex.c:1003
+#: cp/lex.c:897
#, fuzzy
msgid "semicolon missing after declaration of `%T'"
msgstr "conflicterende declaraties van `%s'"
# Moet 'signature-string' vertaald worden?
-#: cp/lex.c:1051
+#: cp/lex.c:945
#, fuzzy, c-format
msgid "junk at end of #pragma %s"
msgstr "Brol aan einde van signature-string."
-#: cp/lex.c:1058
+#: cp/lex.c:952
#, fuzzy, c-format
msgid "invalid #pragma %s"
msgstr "ongeldige operand van %s"
-#: cp/lex.c:1067
+#: cp/lex.c:961
msgid "#pragma vtable no longer supported"
msgstr ""
-#: cp/lex.c:1144
+#: cp/lex.c:1038
#, fuzzy, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr "`#pragma implementation' voor \"%s\" staat na diens #include"
-#: cp/lex.c:1169
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
msgstr ""
-#: cp/lex.c:1254
+#: cp/lex.c:1107
#, fuzzy
msgid "`%D' not defined"
msgstr "`%.*s' is niet gedefinieerd"
-#: cp/lex.c:1259
+#: cp/lex.c:1110
#, fuzzy
msgid "`%D' was not declared in this scope"
msgstr "`%.*s' is niet gedefinieerd"
-#: cp/lex.c:1269
+#: cp/lex.c:1118
#, fuzzy
msgid "`%D' undeclared (first use this function)"
msgstr "`%s' is hier niet gedeclareerd (eerste gebruik in deze functie)"
-#: cp/lex.c:1273
+#: cp/lex.c:1122
#, fuzzy
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr "(Elke niet-gedeclareerde naam wordt slechts één"
-#: cp/lex.c:1296
-#, c-format
-msgid "name lookup of `%s' changed"
-msgstr ""
-
-#: cp/lex.c:1298
-msgid " matches this `%D' under ISO standard rules"
-msgstr ""
-
-#: cp/lex.c:1300
-msgid " matches this `%D' under old rules"
-msgstr ""
-
-#: cp/lex.c:1310 cp/lex.c:1317
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr ""
-
-#: cp/lex.c:1312
-msgid " cannot use obsolete binding at `%D' because it has a destructor"
-msgstr ""
-
-#: cp/lex.c:1319
-msgid " using obsolete binding at `%D'"
-msgstr ""
-
-#: cp/lex.c:1384
+#: cp/lex.c:1239
#, fuzzy
msgid "`::%D' undeclared (first use here)"
msgstr "`%s' is hier niet gedeclareerd (eerste gebruik in deze functie)"
-#: cp/mangle.c:1892
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
msgstr ""
-#: cp/method.c:166
-msgid "methods cannot be converted to function pointers"
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
msgstr ""
-#: cp/method.c:171
-#, c-format
-msgid "ambiguous request for method pointer `%s'"
-msgstr ""
-
-#: cp/method.c:188
+#: cp/method.c:154
#, fuzzy
msgid "invalid use of member `%D' in static member function"
msgstr "`this' is niet beschikbaar in static member-funties"
-#: cp/method.c:236
+#: cp/method.c:216
#, fuzzy
msgid "use of namespace `%D' as expression"
msgstr "modi in %s expressie komen niet overeen"
-#: cp/method.c:241
+#: cp/method.c:221
msgid "use of class template `%T' as expression"
msgstr ""
-#: cp/method.c:254
+#: cp/method.c:234
#, c-format
msgid "use of %s from containing function"
msgstr ""
-#: cp/method.c:257
+#: cp/method.c:237
#, fuzzy
msgid " `%#D' declared here"
msgstr "`%s' tevoren hier gedeclareerd"
-#: cp/method.c:275
+#: cp/method.c:255
msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr ""
-#: cp/method.c:328
-msgid "implementation-reserved name `%D' used"
-msgstr ""
-
-#: cp/method.c:453
+#: cp/method.c:455
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr ""
-#: cp/method.c:683
+#: cp/method.c:694
msgid "non-static const member `%#D', can't use default assignment operator"
msgstr ""
-#: cp/method.c:688
+#: cp/method.c:699
msgid "non-static reference member `%#D', can't use default assignment operator"
msgstr ""
-#: parse.y:498
+#: parse.y:261
+#, fuzzy
+msgid "`%s' tag used in naming `%#T'"
+msgstr "Ongeldige optie `%s'"
+
+#: parse.y:541
msgid "keyword `export' not implemented, and will be ignored"
msgstr ""
-#: parse.y:602
+#: parse.y:645
msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr ""
-#: parse.y:674
-msgid "invalid default template argument"
-msgstr ""
-
-#: parse.y:905
-msgid "only constructors take base initializers"
-msgstr ""
-
-#: parse.y:907
+#: parse.y:942
msgid "no base or member initializers given following ':'"
msgstr ""
-#: parse.y:949 parse.y:955
+#: parse.y:983 parse.y:989
msgid "anachronistic old style base class initializer"
msgstr ""
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1077
+#: parse.y:1115
msgid "`>>' should be `> >' in template class name"
msgstr ""
-#: parse.y:1115
+#: parse.y:1153
msgid "use of template qualifier outside template"
msgstr ""
-#: parse.y:1144 parse.y:1153
+#: parse.y:1182 parse.y:1191
#, fuzzy, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr "ANSI C verbiedt een leeg bronbestand"
-#: parse.y:1176
+#: parse.y:1214
#, fuzzy
msgid "definition of class `%T' in condition"
msgstr "herdefinitie van `union %s'"
-#: parse.y:1178
+#: parse.y:1216
#, fuzzy
msgid "definition of enum `%T' in condition"
msgstr "herdefinitie van `union %s'"
-#: parse.y:1189
+#: parse.y:1227
#, fuzzy
msgid "definition of array `%#D' in condition"
msgstr "herdefinitie van `union %s'"
-#: parse.y:1298
+#: parse.y:1340
msgid "old style placement syntax, use () instead"
msgstr ""
-#: parse.y:1309
+#: parse.y:1351
#, fuzzy
msgid "`%T' is not a valid expression"
msgstr "ongeldig gebruik van een void-expressie"
-#: parse.y:1320
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr ""
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1358
+#, fuzzy
+msgid "initialization of new expression with `='"
+msgstr "Ongeldig token in expressie"
-#: parse.y:1351
+#: parse.y:1384
#, fuzzy
msgid "ISO C++ forbids compound literals"
msgstr "ANSI C verbiedt het gebruik van samengestelde expressies als lvalues"
-#: parse.y:1592
+#: parse.y:1631
#, fuzzy
msgid "ISO C++ forbids braced-groups within expressions"
msgstr "ANSI C verbiedt accolade-groepen in expressies"
-#: parse.y:1999 parse.y:2014
+#: parse.y:2035 parse.y:2050
msgid "sigof type specifier"
msgstr ""
-#: parse.y:2004
+#: parse.y:2040
msgid "`sigof' applied to non-aggregate expression"
msgstr ""
-#: parse.y:2019
+#: parse.y:2055
msgid "`sigof' applied to non-aggregate type"
msgstr ""
-#: parse.y:2283
+#: parse.y:2321
msgid "using `typename' outside of template"
msgstr ""
-#: parse.y:2352
+#: parse.y:2391
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2354
+#: parse.y:2393
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2356
+#: parse.y:2395
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr ""
-#: parse.y:2358
+#: parse.y:2397
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr ""
-#: parse.y:2490
+#: parse.y:2537
msgid "no bases given following `:'"
msgstr ""
-#: parse.y:2521 parse.y:2536
+#: parse.y:2568 parse.y:2583
msgid "`%D' access"
msgstr ""
-#: parse.y:2526
+#: parse.y:2573
msgid "multiple access specifiers"
msgstr ""
-#: parse.y:2544
+#: parse.y:2591
msgid "multiple `virtual' specifiers"
msgstr ""
-#: parse.y:2581
+#: parse.y:2628
msgid "missing ';' before right brace"
msgstr ""
-#: parse.y:2801
+#: parse.y:2849
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
msgstr ""
-#: parse.y:3082 parse.y:3102 parse.y:3111 parse.y:3140
+#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194
msgid "`%T' is not a class or namespace"
msgstr ""
-#: parse.y:3307
+#: parse.y:3361
#, fuzzy
msgid "ISO C++ forbids label declarations"
msgstr "ANSI C verbiedt labeldeclaraties"
-#: parse.y:3462
+#: parse.y:3521
#, fuzzy
msgid "ISO C++ forbids computed gotos"
msgstr "ANSI C verbiedt geneste functies"
-#: parse.y:3470
+#: parse.y:3529
msgid "label must be followed by statement"
msgstr ""
-#: parse.y:3566
+#: parse.y:3574
+msgid "must have at least one catch per try block"
+msgstr ""
+
+#: 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:3651 parse.y:3661
+#: parse.y:3721 parse.y:3731
msgid "possibly missing ')'"
msgstr ""
-#: parse.y:3758
+#: parse.y:3824
msgid "type specifier omitted for parameter"
msgstr ""
-#: parse.y:3767
+#: parse.y:3833
#, c-format
msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr ""
-#: parse.y:3769
+#: parse.y:3835
#, fuzzy
msgid "no type `%D' in `%T'"
msgstr "het type van de teruggeefwaarde van `%s' is niet `int'"
-#: parse.y:3772
+#: parse.y:3838
#, fuzzy, c-format
msgid "type specifier omitted for parameter `%E'"
msgstr "opslagklasse opgegeven voor parameter `%s'"
-#: parse.y:3780
+#: parse.y:3846
msgid "'%D' is used as a type, but is not defined as a type."
msgstr ""
-#: /usr/share/bison/bison.simple:817
-#, fuzzy
-msgid "parse error; also virtual memory exhausted"
-msgstr "parse-fout; ook is het virtueel geheugen opgebruikt"
-
-#: cp/pt.c:208
+#: cp/pt.c:198
msgid "data member `%D' cannot be a member template"
msgstr ""
-#: cp/pt.c:220
+#: cp/pt.c:210
#, fuzzy
msgid "invalid member template declaration `%D'"
msgstr "herhaalde label-declaratie `%s'"
-#: cp/pt.c:615
+#: cp/pt.c:605
msgid "explicit specialization in non-namespace scope `%D'"
msgstr ""
-#: cp/pt.c:627
+#: cp/pt.c:617
msgid "enclosing class templates are not explicitly specialized"
msgstr ""
-#: cp/pt.c:702
+#: cp/pt.c:692
msgid "specializing `%#T' in different namespace"
msgstr ""
-#: cp/pt.c:703
+#: cp/pt.c:693
#, fuzzy
msgid " from definition of `%#D'"
msgstr "herdefinitie van `%s'"
-#: cp/pt.c:711
+#: cp/pt.c:701
#, fuzzy
msgid "specialization of `%T' after instantiation"
msgstr "de declaratie van `%s' is `extern' en heeft een beginwaarde"
-#: cp/pt.c:714
+#: cp/pt.c:704
#, fuzzy
msgid "explicit specialization of non-template `%T'"
msgstr "impliciete declaratie van functie `%s'"
-#: cp/pt.c:846
+#: cp/pt.c:836
msgid "specialization of %D after instantiation"
msgstr ""
-#: cp/pt.c:949
+#: cp/pt.c:939
msgid "%s %+#D"
msgstr ""
-#: cp/pt.c:1000
+#: cp/pt.c:990
#, fuzzy
msgid "`%D' is not a function template"
msgstr "`%s' is geen iterator"
-#: cp/pt.c:1123
+#: cp/pt.c:1129
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr ""
-#: cp/pt.c:1131
+#: 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:1358 cp/pt.c:1432
+#: cp/pt.c:1364 cp/pt.c:1438
msgid "template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/pt.c:1371
+#: cp/pt.c:1377
msgid "template parameter list used in explicit instantiation"
msgstr ""
-#: cp/pt.c:1377
+#: cp/pt.c:1383
msgid "definition provided for explicit instantiation"
msgstr ""
-#: cp/pt.c:1383
+#: cp/pt.c:1389
#, fuzzy
msgid "too many template parameter lists in declaration of `%D'"
msgstr "meerdere opslagklassen in declaratie van `%s'"
-#: cp/pt.c:1399
+#: cp/pt.c:1405
#, fuzzy
msgid "too few template parameter lists in declaration of `%D'"
msgstr "twee of meer data types in de declaratie van `%s'"
-#: cp/pt.c:1416
+#: cp/pt.c:1422
msgid "explicit specialization not preceded by `template <>'"
msgstr ""
-#: cp/pt.c:1429
+#: cp/pt.c:1435
msgid "partial specialization `%D' of function template"
msgstr ""
-#: cp/pt.c:1461
+#: cp/pt.c:1467
msgid "default argument specified in explicit specialization"
msgstr ""
-#: cp/pt.c:1465
+#: cp/pt.c:1471
msgid "template specialization with C linkage"
msgstr ""
@@ -18898,110 +17076,110 @@ msgstr ""
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1553
+#: cp/pt.c:1558
#, fuzzy
msgid "specialization of implicitly-declared special member function"
msgstr "`%s' impliciet als functie gedeclareerd"
-#: cp/pt.c:1596
+#: cp/pt.c:1602
#, fuzzy
msgid "no member function `%D' declared in `%T'"
msgstr "geneste functie `%s' is als `extern' gedeclareerd"
#. There are two many template parameter lists.
-#: cp/pt.c:1744
+#: cp/pt.c:1750
#, fuzzy
msgid "too many template parameter lists in declaration of `%T'"
msgstr "meerdere opslagklassen in declaratie van `%s'"
-#: cp/pt.c:1840
+#: cp/pt.c:1846
msgid " shadows template parm `%#D'"
msgstr ""
-#: cp/pt.c:2244
+#: cp/pt.c:2250
msgid "template parameters not used in partial specialization:"
msgstr ""
-#: cp/pt.c:2248
+#: cp/pt.c:2254
msgid " `%D'"
msgstr ""
-#: cp/pt.c:2260
+#: cp/pt.c:2266
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr ""
-#: cp/pt.c:2285
+#: cp/pt.c:2291
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr ""
-#: cp/pt.c:2328
+#: cp/pt.c:2335
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr ""
# Is the %s the argument, or is it 'of' the argument?
-#: cp/pt.c:2416
+#: cp/pt.c:2423
#, fuzzy
msgid "no default argument for `%D'"
msgstr "ongeldig type-argument `%s'"
-#: cp/pt.c:2549
+#: cp/pt.c:2576
msgid "template with C linkage"
msgstr ""
-#: cp/pt.c:2552
+#: cp/pt.c:2579
msgid "template class without a name"
msgstr ""
-#: cp/pt.c:2627
+#: cp/pt.c:2656
msgid "`%D' does not declare a template type"
msgstr ""
-#: cp/pt.c:2633
+#: cp/pt.c:2662
#, fuzzy
msgid "template definition of non-template `%#D'"
msgstr "herdefinitie van `union %s'"
-#: cp/pt.c:2674
+#: cp/pt.c:2703
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr ""
-#: cp/pt.c:2686
+#: cp/pt.c:2715
#, fuzzy
msgid "got %d template parameters for `%#D'"
msgstr "meerdere parameters hebben de naam `%s'"
-#: cp/pt.c:2689
+#: cp/pt.c:2718
#, fuzzy
msgid "got %d template parameters for `%#T'"
msgstr "meerdere parameters hebben de naam `%s'"
-#: cp/pt.c:2691
+#: cp/pt.c:2720
#, c-format
msgid " but %d required"
msgstr ""
-#: cp/pt.c:2759
+#: cp/pt.c:2803
#, fuzzy
msgid "`%T' is not a template type"
msgstr "`%s' is geen iterator"
-#: cp/pt.c:2775
+#: cp/pt.c:2819
#, fuzzy
msgid "previous declaration `%D'"
msgstr "eerdere declaratie van `%s'"
-#: cp/pt.c:2776
+#: cp/pt.c:2820
#, fuzzy, c-format
msgid "used %d template parameter%s instead of %d"
msgstr "meerdere parameters hebben de naam `%s'"
-#: cp/pt.c:2792
+#: cp/pt.c:2836
#, fuzzy
msgid "template parameter `%#D'"
msgstr "meerdere parameters hebben de naam `%s'"
-#: cp/pt.c:2793
+#: cp/pt.c:2837
#, fuzzy
msgid "redeclared here as `%#D'"
msgstr "ongeldige naam `%s'"
@@ -19010,754 +17188,736 @@ msgstr "ongeldige naam `%s'"
#.
#. A template-parameter may not be given default arguments
#. by two different declarations in the same scope.
-#: cp/pt.c:2803
+#: cp/pt.c:2847
#, fuzzy
msgid "redefinition of default argument for `%#D'"
msgstr "herdefinitie van `struct %s'"
-#: cp/pt.c:2804
+#: cp/pt.c:2848
#, fuzzy
msgid " original definition appeared here"
msgstr "functie-definitie als `typdef' gedeclareerd"
-#: cp/pt.c:2897
+#: cp/pt.c:2941
#, fuzzy, c-format
msgid "`%E' is not a valid template argument"
msgstr "`%s' is geen iterator"
-#: cp/pt.c:2901
+#: cp/pt.c:2945
msgid "it must be the address of a function with external linkage"
msgstr ""
-#: cp/pt.c:2903
+#: cp/pt.c:2947
msgid "it must be the address of an object with external linkage"
msgstr ""
-#: cp/pt.c:2907
+#: cp/pt.c:2951
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr ""
-#: cp/pt.c:2918
+#: 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:2930
+#: cp/pt.c:2974
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2941
+#: cp/pt.c:2985
#, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:2948
+#: cp/pt.c:2992
#, c-format
msgid "object `%E' cannot be used as template argument"
msgstr ""
-#: cp/pt.c:3328
+#: cp/pt.c:3367
#, c-format
msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr ""
-#: cp/pt.c:3341 cp/pt.c:3357 cp/pt.c:3396
+#: 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:3344
+#: cp/pt.c:3383
msgid " expected a constant of type `%T', got `%T'"
msgstr ""
-#: cp/pt.c:3348
+#: cp/pt.c:3387
#, c-format
msgid " expected a type, got `%E'"
msgstr ""
-#: cp/pt.c:3360
+#: cp/pt.c:3399
msgid " expected a type, got `%T'"
msgstr ""
-#: cp/pt.c:3362
+#: cp/pt.c:3401
msgid " expected a class template, got `%T'"
msgstr ""
-#: cp/pt.c:3398
+#: cp/pt.c:3437
msgid " expected a template of type `%D', got `%D'"
msgstr ""
-#: cp/pt.c:3420
+#: cp/pt.c:3459
msgid "template-argument `%T' uses anonymous type"
msgstr ""
-#: cp/pt.c:3423
+#: cp/pt.c:3462
msgid "template-argument `%T' uses local type `%T'"
msgstr ""
-#: cp/pt.c:3458
+# Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+#: cp/pt.c:3472
+#, fuzzy
+msgid "template-argument `%T' is a variably modified type"
+msgstr "argument %d is alleen-lezen"
+
+#: cp/pt.c:3507
msgid "could not convert template argument `%E' to `%T'"
msgstr ""
-#: cp/pt.c:3502
+#: cp/pt.c:3551
#, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr ""
-#: cp/pt.c:3506
+#: cp/pt.c:3555
#, fuzzy
msgid "provided for `%D'"
msgstr "eerdere grant voor `%s'"
# Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
-#: cp/pt.c:3553
+#: cp/pt.c:3602
#, fuzzy, c-format
msgid "template argument %d is invalid"
msgstr "argument %d is alleen-lezen"
-#: cp/pt.c:3785
+#: cp/pt.c:3837
msgid "non-template used as template"
msgstr ""
-#: cp/pt.c:3903
+#: cp/pt.c:3968
#, fuzzy
msgid "`%T' is not a template"
msgstr "`%s' is geen iterator"
-#: cp/pt.c:3916
+#: cp/pt.c:3981
msgid "non-template type `%T' used as a template"
msgstr ""
-#: cp/pt.c:3918
+#: cp/pt.c:3983
#, fuzzy
msgid "for template declaration `%D'"
msgstr "lege declaratie"
-#: cp/pt.c:4481
+#: 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:4916
+#: cp/pt.c:5074
msgid "ambiguous class template instantiation for `%#T'"
msgstr ""
-#: cp/pt.c:4923
+#: cp/pt.c:5081
msgid "%s %+#T"
msgstr ""
-#: cp/pt.c:5942 cp/pt.c:6056
+#: cp/pt.c:6104 cp/pt.c:6214
msgid "instantiation of `%D' as type `%T'"
msgstr ""
-#: cp/pt.c:6098
+#: cp/pt.c:6258
#, fuzzy
msgid "invalid parameter type `%T'"
msgstr "ongeldige operand voor %p-code"
-#: cp/pt.c:6100
+#: cp/pt.c:6260
#, fuzzy
msgid "in declaration `%D'"
msgstr "herdeclaratie van `%s'"
-#: cp/pt.c:6175
+#: cp/pt.c:6335
msgid "creating pointer to member function of non-class type `%T'"
msgstr ""
-#: cp/pt.c:6338
+#: cp/pt.c:6498
msgid "creating array with size zero"
msgstr ""
-#: cp/pt.c:6352
+#: cp/pt.c:6512
#, c-format
msgid "creating array with size zero (`%E')"
msgstr ""
-#: cp/pt.c:6590
+#: cp/pt.c:6751
msgid "forming reference to void"
msgstr ""
-#: cp/pt.c:6592
+#: cp/pt.c:6753
msgid "forming %s to reference type `%T'"
msgstr ""
-#: cp/pt.c:6630
+#: cp/pt.c:6791
msgid "creating pointer to member of non-class type `%T'"
msgstr ""
-#: cp/pt.c:6637
+#: cp/pt.c:6797
msgid "creating pointer to member reference type `%T'"
msgstr ""
-#: cp/pt.c:6715
+#: cp/pt.c:6875
#, fuzzy
msgid "creating array of `%T'"
msgstr "doorgeven van argument %d van `%s'"
-#: cp/pt.c:6761
+#: cp/pt.c:6918
#, fuzzy
msgid "`%T' is not a class, struct, or union type"
msgstr "`%s' is geen bestand, pipe of tty"
-#: cp/pt.c:6873
+#: cp/pt.c:7028
#, c-format
msgid "use of `%s' in template"
msgstr ""
-#: cp/pt.c:7630
+#: cp/pt.c:7790
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr ""
-#: cp/pt.c:7631
+#: cp/pt.c:7791
msgid " trying to instantiate `%D'"
msgstr ""
-#: cp/pt.c:8061
+#: cp/pt.c:8230
msgid "incomplete type unification"
msgstr ""
-#: cp/pt.c:9016
+#: cp/pt.c:9178
#, c-format
msgid "use of `%s' in template type unification"
msgstr ""
-#: cp/pt.c:9438 cp/pt.c:9506
+#: cp/pt.c:9596 cp/pt.c:9668
msgid "explicit instantiation of non-template `%#D'"
msgstr ""
-#: cp/pt.c:9454 cp/pt.c:9501
+#: cp/pt.c:9612 cp/pt.c:9663
msgid "no matching template for `%D' found"
msgstr ""
-#: cp/pt.c:9460
+#: cp/pt.c:9618
#, fuzzy
msgid "explicit instantiation of `%#D'"
msgstr "eerdere impliciete declaratie van `%s'"
-#. [temp.spec]
-#.
-#. No program shall both explicitly instantiate and explicitly
-#. specialize a template.
-#: cp/pt.c:9477
-msgid "explicit instantiation of `%#D' after"
-msgstr ""
-
-#: cp/pt.c:9478 cp/pt.c:9615
-#, fuzzy
-msgid "explicit specialization here"
-msgstr "initialisatie"
-
-#: cp/pt.c:9493
+#: cp/pt.c:9655
#, fuzzy
msgid "duplicate explicit instantiation of `%#D'"
msgstr "herhaalde definitie `%s'"
-#: cp/pt.c:9518
+#: cp/pt.c:9680
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr ""
-#: cp/pt.c:9522 cp/pt.c:9600
+#: cp/pt.c:9684 cp/pt.c:9762
msgid "storage class `%D' applied to template instantiation"
msgstr ""
-#: cp/pt.c:9567
+#: cp/pt.c:9729
msgid "explicit instantiation of non-template type `%T'"
msgstr ""
-#: cp/pt.c:9581
+#: cp/pt.c:9743
msgid "explicit instantiation of `%#T' before definition of template"
msgstr ""
-#: cp/pt.c:9589
+#: cp/pt.c:9751
#, c-format
msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
msgstr ""
-#: cp/pt.c:9614
-msgid "explicit instantiation of `%#T' after"
-msgstr ""
-
-#: cp/pt.c:9632
+#: cp/pt.c:9795
#, fuzzy
msgid "duplicate explicit instantiation of `%#T'"
msgstr "herhaalde definitie `%s'"
-#: cp/pt.c:9973
+#: cp/pt.c:10177
msgid "explicit instantiation of `%D' but no definition available"
msgstr ""
-#: cp/pt.c:10345
+#: 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:1826
+#: cp/search.c:1925
msgid "adjusting pointers for covariant returns"
msgstr ""
-#: cp/search.c:1830 cp/search.c:1837
+#: cp/search.c:1929 cp/search.c:1936
#, fuzzy
msgid "invalid covariant return type for `%#D'"
msgstr "ongeldige registernaam voor `%s'"
-#: cp/search.c:1831
+#: cp/search.c:1930
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr ""
-#: cp/search.c:1838
+#: cp/search.c:1937
msgid " overriding `%#D' (must use pointer or reference)"
msgstr ""
-#: cp/search.c:1843
+#: cp/search.c:1942
#, fuzzy
msgid "conflicting return type specified for `%#D'"
msgstr "conflicterende types voor `%s'"
-#: cp/search.c:1844
+#: cp/search.c:1943
msgid " overriding `%#D'"
msgstr ""
-#: cp/search.c:1853
-#, fuzzy
+#: cp/search.c:1952
+#, fuzzy, c-format
msgid "looser throw specifier for `%#F'"
msgstr "'long' of 'short' opgegeven bij 'char' voor `%s'"
-#: cp/search.c:1854
+#: cp/search.c:1953
+#, c-format
msgid " overriding `%#F'"
msgstr ""
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1944
+#: cp/search.c:2042
#, fuzzy
msgid "`%#D' cannot be declared"
msgstr "`%.*s' is niet gedefinieerd"
-#: cp/search.c:1945
+#: cp/search.c:2043
msgid " since `%#D' declared in base class"
msgstr ""
-#: cp/search.c:2130
+#: cp/search.c:2184
msgid "`%#D' needs a final overrider"
msgstr ""
-#: cp/semantics.c:903
+#: cp/semantics.c:919
#, fuzzy, c-format
msgid "type of asm operand `%E' could not be determined"
msgstr "type van parameter `%s' is niet gedeclareerd"
-#: cp/semantics.c:1045
+#: cp/semantics.c:1051
#, fuzzy
msgid "ISO C++ does not permit named return values"
msgstr "ANSI C staat het gebruik van `varargs.h' niet toe"
-#: cp/semantics.c:1054
+#: cp/semantics.c:1060
msgid "return identifier `%D' already in place"
msgstr ""
-#: cp/semantics.c:1062
+#: cp/semantics.c:1068
msgid "can't redefine default return value for constructors"
msgstr ""
-#: cp/semantics.c:1129
-#, fuzzy
-msgid "base initializer for `%T'"
-msgstr "ongeldige beginwaarde voor veld `%s'"
-
-#: cp/semantics.c:1131
-msgid " will be re-ordered to precede member initializations"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
msgstr ""
-#: cp/semantics.c:1319
+#: cp/semantics.c:1342
msgid "`this' is unavailable for static member functions"
msgstr "`this' is niet beschikbaar in static member-funties"
-#: cp/semantics.c:1325
+#: cp/semantics.c:1348
msgid "invalid use of `this' in non-member function"
msgstr ""
-#: cp/semantics.c:1327
+#: cp/semantics.c:1350
msgid "invalid use of `this' at top level"
msgstr "ongeldig gebruik van `this' op hoogste niveau"
-#: cp/semantics.c:1365
+#: cp/semantics.c:1380
msgid "calling type `%T' like a method"
msgstr ""
-#: cp/semantics.c:1401
+#: cp/semantics.c:1418
msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr ""
-#: cp/semantics.c:1407
+#: cp/semantics.c:1424
#, fuzzy
msgid "`%E' is not of type `%T'"
msgstr "`%c' optie gebruikt bij type `%c'"
-#: cp/semantics.c:1619
+#: cp/semantics.c:1612
msgid "template type parameters must use the keyword `class' or `typename'"
msgstr ""
-#: cp/semantics.c:1678
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr ""
+
+#: cp/semantics.c:1693
#, fuzzy
msgid "definition of `%#T' inside template parameter list"
msgstr "de declaratie van `%s' verbergt een symbool uit de parameterlijst"
-#: cp/semantics.c:1694
+#: cp/semantics.c:1709
#, fuzzy
msgid "invalid definition of qualified type `%T'"
msgstr "ongeldig gebruik van het niet gedefinieerde type `%s %s'"
-#: cp/semantics.c:2046
+#: cp/semantics.c:2051
+#, fuzzy
+msgid "invalid base-class specification"
+msgstr "ongeldige linker operand van %s"
+
+#: cp/semantics.c:2060
msgid "base class `%T' has cv qualifiers"
msgstr ""
-#: cp/semantics.c:2079
+#: cp/semantics.c:2091
#, fuzzy
msgid "multiple declarators in template declaration"
msgstr "meerdere opslagklassen in declaratie van `%s'"
-#: cp/spew.c:245
+#: cp/spew.c:225
#, c-format
msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
msgstr ""
-#: cp/spew.c:1020 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 ""
# Is the %s the argument, or is it 'of' the argument?
-#: cp/spew.c:1435
+#: cp/spew.c:1479
#, fuzzy
msgid "invalid type `%T' for default argument to `%T'"
msgstr "ongeldig type-argument `%s'"
-#: cp/spew.c:1495
+#: cp/spew.c:1539
#, c-format
msgid "%s before `%s'"
msgstr "%s voor `%s'"
-#: cp/spew.c:1497
+#: cp/spew.c:1541
#, fuzzy, c-format
msgid "%s before `%c'"
msgstr "%s voor `%s'"
-#: cp/spew.c:1499
+#: cp/spew.c:1543
#, fuzzy, c-format
msgid "%s before `\\%o'"
msgstr "%s voor `%s'"
-#: cp/spew.c:1502
+#: cp/spew.c:1546
#, fuzzy, c-format
msgid "%s before `%s' token"
msgstr "%s voor `%s'"
-#: cp/tree.c:224
+#: cp/tree.c:251 cp/tree.c:263
#, c-format
msgid "non-lvalue in %s"
msgstr ""
-#: cp/tree.c:536
-#, fuzzy
-msgid "`%T' cannot be `restrict'-qualified"
-msgstr "`%s' kan niet statisch gealloceerd worden"
-
-#: cp/tree.c:547
-msgid "`%T' cannot be `const'-, `volatile'-, or `restrict'-qualified"
+#: cp/tree.c:635
+msgid "`%V' qualifiers cannot be applied to `%T'"
msgstr ""
-#: cp/tree.c:1888
+#: cp/tree.c:2012
#, fuzzy, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr "het `%s' attribuut heeft enkel betekenis voor functies"
-#: cp/tree.c:1918
+#: cp/tree.c:2042
#, fuzzy, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr "het `%s' attribuut heeft enkel betekenis voor functies"
-#: cp/tree.c:1924
+#: cp/tree.c:2048
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr ""
-#: cp/tree.c:1949
+#: cp/tree.c:2073
msgid "requested init_priority is not an integer constant"
msgstr ""
-#: cp/tree.c:1970
+#: 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:1978
+#: cp/tree.c:2102
msgid "requested init_priority is out of range"
msgstr ""
-#: cp/tree.c:1988
+#: cp/tree.c:2112
msgid "requested init_priority is reserved for internal use"
msgstr ""
-#: cp/tree.c:1998
+#: cp/tree.c:2122
#, fuzzy, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
-#: cp/typeck.c:480
+#: cp/tree.c:2659
+#, c-format
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr ""
+
+#: cp/typeck.c:524
#, fuzzy, c-format
msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
msgstr "pointer van type `void *' gebruikt in aftrekking"
-#: cp/typeck.c:501
+#: cp/typeck.c:545
#, fuzzy
msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
-#: cp/typeck.c:1485
+#: cp/typeck.c:1438
msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
msgstr ""
-#: cp/typeck.c:1555
-#, fuzzy
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ANSI C verbiedt een gekwalificeerd functietype"
-
-#: cp/typeck.c:1561
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr ""
-
-#: cp/typeck.c:1567
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr ""
+#: cp/typeck.c:1516
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr "`this' is niet beschikbaar in static member-funties"
-#: cp/typeck.c:1581
-#, fuzzy
-msgid "`sizeof' applied to non-static member"
+#: cp/typeck.c:1522
+#, fuzzy, c-format
+msgid "invalid application of `%s' to non-static member"
msgstr "`sizeof' toegepast op een bitveld"
-#: cp/typeck.c:1586
-#, fuzzy
-msgid "`sizeof' applied to incomplete type `%T'"
-msgstr "sizeof toegepast op een onvolledig type"
-
-#: cp/typeck.c:1616
+#: cp/typeck.c:1540
msgid "sizeof applied to a bit-field"
msgstr ""
-#: cp/typeck.c:1619
+#: cp/typeck.c:1543
msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
msgstr ""
-#: cp/typeck.c:1766
+#: cp/typeck.c:1655
msgid "invalid use of non-lvalue array"
msgstr "ongeldig gebruik van array die geen lvalue is"
-#: cp/typeck.c:1872
+#: cp/typeck.c:1761
msgid "deprecated conversion from string constant to `%T'"
msgstr ""
-#: cp/typeck.c:1890
-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:2083
-msgid "destructor specifier `%T::~%T' must have matching names"
-msgstr ""
-
-#: cp/typeck.c:2089
-msgid "type `%T' has no destructor"
-msgstr ""
-
-#: cp/typeck.c:2106 cp/typeck.c:2188
+#: cp/typeck.c:1918
#, fuzzy
-msgid "invalid use of type decl `%#D' as expression"
-msgstr "ongeldig gebruik van een void-expressie"
+msgid "`%D' is not a member of `%T'"
+msgstr "`%s' is geen bestand, pipe of tty"
-#: cp/typeck.c:2111
+#: cp/typeck.c:1958 cp/typeck.c:1979
#, fuzzy
-msgid "invalid use of template `%#D' as expression"
-msgstr "ongeldig gebruik van een void-expressie"
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "ongeldig gebruik van onvolledige typedef `%s'"
+
+#: cp/typeck.c:1960 cp/typeck.c:1981
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr ""
-#: cp/typeck.c:2179
+#: cp/typeck.c:2161
#, fuzzy
-msgid "`%#T' has no member named `%D'"
-msgstr "union heeft geen lid dat `%s' heet"
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "`%s' is geen bestand, pipe of tty"
+
+#: cp/typeck.c:2187
+msgid "destructor specifier `%T::~%T' must have matching names"
+msgstr ""
-#: cp/typeck.c:2223
-msgid "invalid reference to NULL ptr, use ptr-to-member instead"
+#: cp/typeck.c:2193
+msgid "type `%T' has no destructor"
msgstr ""
+#: cp/typeck.c:2232
+#, fuzzy
+msgid "`%D' is not a member template function"
+msgstr "`%s' is meestal een functie"
+
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2349
+#: cp/typeck.c:2326
#, fuzzy
msgid "`%T' is not a pointer-to-object type"
msgstr "`%s' is geen iterator"
-#: cp/typeck.c:2376
+#: cp/typeck.c:2353
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr ""
-#: cp/typeck.c:2382
+#: cp/typeck.c:2359
msgid "invalid type argument"
msgstr ""
-#: cp/typeck.c:2485
+#: cp/typeck.c:2462
#, fuzzy
msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr "ANSI C verbiedt het gebruik van subscripts bij een array die geen lvalue is"
-#: cp/typeck.c:2496
+#: cp/typeck.c:2473
msgid "subscripting array declared `register'"
msgstr ""
-#: cp/typeck.c:2671 cp/typeck.c:2821
-msgid "pointer to member function called, but not in class scope"
-msgstr ""
-
-#: cp/typeck.c:2695
-#, fuzzy
-msgid "object missing in call to method `%D'"
-msgstr "kan oproep van `%s' niet inline maken"
-
-#: cp/typeck.c:2739
-msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
-msgstr ""
-
-#: cp/typeck.c:2819
-msgid "invalid call to member function needing `this' in static member function scope"
-msgstr ""
+#: cp/typeck.c:2558
+#, fuzzy, c-format
+msgid "object missing in use of `%E'"
+msgstr "array-grootte ontbreekt in `%s'"
-#: cp/typeck.c:3003
+#: cp/typeck.c:2663
msgid "ISO C++ forbids calling `::main' from within program"
msgstr ""
-#: cp/typeck.c:3028
+#: cp/typeck.c:2688
#, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr ""
-#: cp/typeck.c:3041
+#: cp/typeck.c:2701
#, fuzzy, c-format
msgid "`%E' cannot be used as a function"
msgstr "veld `%s' als een functie gedeclareerd"
-#: cp/typeck.c:3166
+#: cp/typeck.c:2826
#, fuzzy
msgid "too many arguments to %s `%+#D'"
msgstr "teveel argumenten voor functie `%s'"
-#: cp/typeck.c:3207
+#: cp/typeck.c:2867
msgid "parameter type of called function is incomplete"
msgstr ""
-#: cp/typeck.c:3274
+#: cp/typeck.c:2930
#, fuzzy
msgid "too few arguments to %s `%+#D'"
msgstr "te weinig argumenten voor functie `%s'"
-#: cp/typeck.c:3402 cp/typeck.c:3412
+#: cp/typeck.c:3058 cp/typeck.c:3068
msgid "assuming cast to type `%T' from overloaded function"
msgstr ""
-#: cp/typeck.c:3472
+#: cp/typeck.c:3128
#, fuzzy, c-format
msgid "division by zero in `%E / 0'"
msgstr "deling door nul in `#if'"
-#: cp/typeck.c:3474
+#: cp/typeck.c:3130
#, fuzzy, c-format
msgid "division by zero in `%E / 0.'"
msgstr "deling door nul in `#if'"
-#: cp/typeck.c:3529
+#: cp/typeck.c:3160
#, fuzzy, c-format
msgid "division by zero in `%E %% 0'"
msgstr "deling door nul in `#if'"
-#: cp/typeck.c:3531
+#: cp/typeck.c:3162
#, fuzzy, c-format
msgid "division by zero in `%E %% 0.'"
msgstr "deling door nul in `#if'"
-#: cp/typeck.c:3611
+#: cp/typeck.c:3242
#, c-format
msgid "%s rotate count is negative"
msgstr ""
-#: cp/typeck.c:3614
+#: cp/typeck.c:3245
#, c-format
msgid "%s rotate count >= width of type"
msgstr ""
-#: cp/typeck.c:3645 cp/typeck.c:3650 cp/typeck.c:3741 cp/typeck.c:3746
+#: cp/typeck.c:3276 cp/typeck.c:3281 cp/typeck.c:3372 cp/typeck.c:3377
#, fuzzy
msgid "ISO C++ forbids comparison between pointer and integer"
msgstr "vergelijking tussen pointer en integer"
-#: cp/typeck.c:3926
+#: cp/typeck.c:3555
#, fuzzy
msgid "comparison between types `%#T' and `%#T'"
msgstr "vergelijking tussen pointer en integer"
-#: cp/typeck.c:3962
+#: cp/typeck.c:3591
#, fuzzy
msgid "comparison between signed and unsigned integer expressions"
msgstr "vergelijking tussen signed en unsigned"
-#: cp/typeck.c:4027
+#: cp/typeck.c:3656
#, fuzzy
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr "ongeldige operanden voor binaire %s-operator"
@@ -19766,320 +17926,307 @@ msgstr "ongeldige operanden voor binaire %s-operator"
#. 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:4049
+#: cp/typeck.c:3678
#, fuzzy
msgid "NULL used in arithmetic"
msgstr "pointer naar functie gebruikt in rekensom"
-#: cp/typeck.c:4101
-#, fuzzy
-msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
-msgstr "pointer van type `void *' gebruikt in rekensom"
-
-#: cp/typeck.c:4107
-#, fuzzy
-msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
-msgstr "pointer naar functie gebruikt in rekensom"
-
-#: cp/typeck.c:4113
-#, fuzzy
-msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
-msgstr "pointer naar functie gebruikt in rekensom"
-
-#: cp/typeck.c:4119
-msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
-msgstr ""
-
-#: cp/typeck.c:4190
+#: cp/typeck.c:3745
#, fuzzy
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr "pointer van type `void *' gebruikt in aftrekking"
-#: cp/typeck.c:4192
+#: cp/typeck.c:3747
#, fuzzy
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr "pointer naar functie gebruikt in aftrekking"
-#: cp/typeck.c:4194
+#: cp/typeck.c:3749
#, fuzzy
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr "pointer naar functie gebruikt in aftrekking"
-#: cp/typeck.c:4196
+#: cp/typeck.c:3751
msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr ""
# 'Arithmetic'?? 'rekensom' is wel correct, maar het klinkt zo stom.
-#: cp/typeck.c:4208
+#: cp/typeck.c:3763
#, fuzzy
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr "rekensom met pointer naar onvolledig type"
-#: cp/typeck.c:4245
-#, fuzzy
-msgid "attempt to take address of bit-field structure member `%D'"
-msgstr "poging om het adres te nemen van lid `%s' van een bitveld-structure"
+#: 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:3829
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr ""
-#: cp/typeck.c:4322
+#: cp/typeck.c:3852
msgid "taking address of temporary"
msgstr ""
-#: cp/typeck.c:4524
+#: cp/typeck.c:4055
#, fuzzy, c-format
msgid "ISO C++ forbids %sing an enum"
msgstr "ANSI C verbiedt case-bereiken"
-#: cp/typeck.c:4536
+#: cp/typeck.c:4067
#, fuzzy
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr "parameter `%s' wijst naar een onvolledig type"
-#: cp/typeck.c:4543
+#: cp/typeck.c:4074
#, fuzzy
msgid "ISO C++ forbids %sing a pointer of type `%T'"
msgstr "ANSI C verbiedt het casten van een niet-scalair naar hetzelfde type"
-#: cp/typeck.c:4568
+#: cp/typeck.c:4099
msgid "cast to non-reference type used as lvalue"
msgstr ""
-#: cp/typeck.c:4602
+#: cp/typeck.c:4133
#, fuzzy
msgid "invalid use of `--' on bool variable `%D'"
msgstr "ongeldig gebruik van array die geen lvalue is"
#. ARM $3.4
-#: cp/typeck.c:4635
+#: cp/typeck.c:4166
#, fuzzy
msgid "ISO C++ forbids taking address of function `::main'"
msgstr "ANSI C verbiedt het adres van een gecaste expressie"
#. An expression like &memfn.
-#: cp/typeck.c:4702
+#: 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:4704
+#: 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:4728
+#: cp/typeck.c:4259
#, fuzzy
msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
msgstr "ANSI C verbiedt het adres van een gecaste expressie"
-#: cp/typeck.c:4744
-msgid "unary `&'"
-msgstr ""
+#: cp/typeck.c:4290
+#, fuzzy
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "poging om het adres te nemen van lid `%s' van een bitveld-structure"
-#: cp/typeck.c:4864
+#: cp/typeck.c:4418
msgid "taking address of destructor"
msgstr ""
-#: cp/typeck.c:4877
+#: cp/typeck.c:4431
#, fuzzy
msgid "taking address of bound pointer-to-member expression"
msgstr "ongeldig gebruik van een void-expressie"
-#: cp/typeck.c:4893
+#: cp/typeck.c:4447
msgid "cannot create pointer to reference member `%D'"
msgstr ""
-#: cp/typeck.c:4961
+#: cp/typeck.c:4510
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr ""
-#: cp/typeck.c:4977
+#: cp/typeck.c:4529
msgid "address requested for `%D', which is declared `register'"
msgstr ""
-#: cp/typeck.c:5181
+#: cp/typeck.c:4750
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr ""
-#: cp/typeck.c:5189
+#: cp/typeck.c:4758
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5228
+#: cp/typeck.c:4797
msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5248
+#: cp/typeck.c:4817
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr ""
-#: cp/typeck.c:5261
+#: cp/typeck.c:4830
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr ""
-#: cp/typeck.c:5270
+#: cp/typeck.c:4839
#, fuzzy
msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr "ANSI C verbiedt voorwaardelijke expressies tussen 0 en een functiepointer"
-#: cp/typeck.c:5276
+#: cp/typeck.c:4845
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5303
+#: 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:5306
+#: 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:5329
+#: cp/typeck.c:4898
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5345
+#: cp/typeck.c:4914
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr ""
-#: cp/typeck.c:5387 cp/typeck.c:5392
+#: cp/typeck.c:4956 cp/typeck.c:4961
#, fuzzy
msgid "ISO C++ forbids casting to an array type `%T'"
msgstr "ANSI C verbiedt casts naar een union-type"
-#: cp/typeck.c:5400
+#: cp/typeck.c:4969
#, fuzzy
msgid "invalid cast to function type `%T'"
msgstr "ongeldige opslagklasse voor functie `%s'"
-#: cp/typeck.c:5452
+#: cp/typeck.c:5021
#, fuzzy
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr "cast laat qualifiers van doeltype van pointer vallen"
-#: cp/typeck.c:5498
+#: cp/typeck.c:5067
#, fuzzy
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr "cast verhoogt het benodigde alignment van het doeltype"
-#: cp/typeck.c:5667
+#: cp/typeck.c:5235
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr ""
-#: cp/typeck.c:5709
+#: cp/typeck.c:5277
#, fuzzy
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr "ANSI C verbiedt casts naar een union-type"
-#: cp/typeck.c:5782
+#: cp/typeck.c:5349
#, fuzzy
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr "incompatibel type voor argument %d van `%s'"
-#: cp/typeck.c:5789
+#: cp/typeck.c:5356
#, fuzzy
msgid "ISO C++ forbids assignment of arrays"
msgstr "ANSI C verbiedt array `%s' met lengte 0"
-#: cp/typeck.c:5932
+#: cp/typeck.c:5499
msgid " in pointer to member function conversion"
msgstr ""
-#: cp/typeck.c:5940
+#: cp/typeck.c:5507
msgid " in pointer to member conversion"
msgstr ""
#. This is a reinterpret cast, we choose to do nothing.
-#: cp/typeck.c:5951 cp/typeck.c:5970
+#: cp/typeck.c:5518 cp/typeck.c:5537
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:5974
+#: cp/typeck.c:5541
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr ""
-#: cp/typeck.c:6044
+#: cp/typeck.c:5611
msgid "invalid conversion to type `%T' from type `%T'"
msgstr ""
-#: cp/typeck.c:6209
+#: cp/typeck.c:5776
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6212
+#: cp/typeck.c:5779
msgid "%s to non-pointer type `%T' from NULL"
msgstr ""
-#: cp/typeck.c:6220
+#: cp/typeck.c:5787
#, fuzzy
msgid "passing `%T' for %s %P of `%D'"
msgstr "doorgeven van argument %d van `%s'"
-#: cp/typeck.c:6223
+#: cp/typeck.c:5790
msgid "%s to `%T' from `%T'"
msgstr ""
-#: cp/typeck.c:6233
+#: cp/typeck.c:5800
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr ""
-#: cp/typeck.c:6236
+#: cp/typeck.c:5803
msgid "%s of negative value `%E' to `%T'"
msgstr ""
-#: cp/typeck.c:6323
+#: cp/typeck.c:5898
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr ""
-#: cp/typeck.c:6326
+#: cp/typeck.c:5901
msgid "cannot convert `%T' to `%T' in %s"
msgstr ""
-#: cp/typeck.c:6413 cp/typeck.c:6415
+#: cp/typeck.c:5988 cp/typeck.c:5990
#, fuzzy
msgid "in passing argument %P of `%+D'"
msgstr "doorgeven van argument %d van `%s'"
-#: cp/typeck.c:6529
+#: cp/typeck.c:6105
msgid "returning reference to temporary"
msgstr ""
-#: cp/typeck.c:6536
+#: cp/typeck.c:6112
msgid "reference to non-lvalue returned"
msgstr ""
-#: cp/typeck.c:6548
+#: cp/typeck.c:6124
#, fuzzy
msgid "reference to local variable `%D' returned"
msgstr "adres van globale registervariabele `%s' gevraagd"
-#: cp/typeck.c:6551
+#: cp/typeck.c:6127
#, fuzzy
msgid "address of local variable `%D' returned"
msgstr "adres van globale registervariabele `%s' gevraagd"
-#: cp/typeck.c:6582
+#: 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:6590
+#: 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:6593
+#: cp/typeck.c:6169
msgid "returning a value from a constructor"
msgstr ""
-#: cp/typeck.c:6610
+#: cp/typeck.c:6186
#, fuzzy
msgid "return-statement with no value, in function declared with a non-void return type"
msgstr "`return' zonder waarde in een functie die een niet-void waarde teruggeeft"
-#: cp/typeck.c:6626
+#: cp/typeck.c:6202
#, fuzzy
msgid "return-statement with a value, in function declared with a void return type"
msgstr "`return' met waarde in een functie die void teruggeeft"
-#: cp/typeck.c:6647
+#: cp/typeck.c:6223
msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr ""
@@ -20126,220 +18273,162 @@ msgstr ""
msgid " since type `%T' has abstract virtual functions"
msgstr ""
-#: cp/typeck2.c:213
-#, fuzzy
-msgid "invalid use of undefined type `%#T'"
-msgstr "ongeldig gebruik van het niet gedefinieerde type `%s %s'"
-
-#: cp/typeck2.c:214
-#, fuzzy
-msgid "forward declaration of `%#T'"
-msgstr "herdeclaratie van `%s'"
-
-#: cp/typeck2.c:218
-#, fuzzy
-msgid "invalid use of `%T'"
-msgstr "ongeldig gebruik van `restrict'"
-
-#: cp/typeck2.c:232
-msgid "invalid use of member (did you forget the `&' ?)"
-msgstr ""
-
-#: cp/typeck2.c:236
-#, fuzzy
-msgid "invalid use of template type parameter"
-msgstr "ongeldig gebruik van onvolledige typedef `%s'"
-
-#: 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:270
-#, fuzzy, c-format
-msgid "internal error #%d"
-msgstr "interne fout"
-
-#: cp/typeck2.c:325
+#: cp/typeck2.c:331
msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr ""
-#: cp/typeck2.c:335
-msgid "initializer list construction invalid for derived class object `%D'"
-msgstr ""
-
-#: cp/typeck2.c:337
-msgid "initializer list construction invalid for polymorphic class object `%D'"
-msgstr ""
-
-#: cp/typeck2.c:340 cp/typeck2.c:346 cp/typeck2.c:352
-#, fuzzy
-msgid "initializer list construction invalid for `%D'"
-msgstr "beginwaarde legt grootte van `%s' niet vast"
-
-#: cp/typeck2.c:341
-msgid "due to the presence of a constructor"
-msgstr ""
-
-#: cp/typeck2.c:347 cp/typeck2.c:353
-#, fuzzy
-msgid "due to non-public access of member `%D'"
-msgstr "herhaald lid `%s'"
-
-#: cp/typeck2.c:365
+#: cp/typeck2.c:342
msgid "comma expression used to initialize return value"
msgstr ""
-#: cp/typeck2.c:374
+#: cp/typeck2.c:351
msgid "cannot initialize arrays using this syntax"
msgstr ""
-#: cp/typeck2.c:436
+#: cp/typeck2.c:406
#, fuzzy
msgid "ISO C++ forbids non-constant aggregate initializer expressions"
msgstr "ANSI C verbiedt constructor-expressies"
-#: cp/typeck2.c:516
+#: cp/typeck2.c:490
msgid "initializing array with parameter list"
msgstr ""
-#: cp/typeck2.c:572
+#: cp/typeck2.c:546
msgid "initializer for scalar variable requires one element"
msgstr ""
-#: cp/typeck2.c:579
+#: cp/typeck2.c:553
#, fuzzy
msgid "braces around scalar initializer for `%T'"
msgstr "accolades rond scalaire beginwaarde"
-#: cp/typeck2.c:582
+#: cp/typeck2.c:556
#, fuzzy
msgid "ignoring extra initializers for `%T'"
msgstr "niet-constante beginwaarde voor `%s'"
-#: cp/typeck2.c:594
+#: cp/typeck2.c:568
#, fuzzy
msgid "variable-sized object of type `%T' may not be initialized"
msgstr "object van variabele lengte mag geen beginwaarde krijgen"
-#: cp/typeck2.c:604
+#: cp/typeck2.c:578
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr ""
-#: cp/typeck2.c:670
+#: cp/typeck2.c:644
msgid "aggregate has a partly bracketed initializer"
msgstr ""
-#: cp/typeck2.c:700 cp/typeck2.c:801
+#: cp/typeck2.c:682 cp/typeck2.c:786
msgid "non-trivial labeled initializers"
msgstr ""
-#: cp/typeck2.c:717
+#: cp/typeck2.c:699
msgid "non-empty initializer for array of empty elements"
msgstr ""
-#: cp/typeck2.c:767
+#: cp/typeck2.c:752
msgid "initializer list for object of class with virtual base classes"
msgstr ""
-#: cp/typeck2.c:773
+#: cp/typeck2.c:758
msgid "initializer list for object of class with base classes"
msgstr ""
-#: cp/typeck2.c:779
+#: cp/typeck2.c:764
msgid "initializer list for object using virtual functions"
msgstr ""
-#: cp/typeck2.c:842 cp/typeck2.c:859
+#: cp/typeck2.c:827 cp/typeck2.c:843
#, fuzzy
msgid "missing initializer for member `%D'"
msgstr "ongeldige beginwaarde voor member `%s'"
-#: cp/typeck2.c:847
+#: cp/typeck2.c:832
#, fuzzy
msgid "uninitialized const member `%D'"
msgstr "ongeldige beginwaarde voor member `%s'"
-#: cp/typeck2.c:850
+#: cp/typeck2.c:834
#, fuzzy
msgid "member `%D' with uninitialized const fields"
msgstr "parameter `%s' krijgt beginwaarde"
-#: cp/typeck2.c:853
+#: cp/typeck2.c:837
#, fuzzy
msgid "member `%D' is uninitialized reference"
msgstr "parameter `%s' krijgt beginwaarde"
-#: cp/typeck2.c:896
+#: cp/typeck2.c:883
msgid "index value instead of field name in union initializer"
msgstr ""
-#: cp/typeck2.c:908
+#: cp/typeck2.c:895
#, fuzzy
msgid "no field `%D' in union being initialized"
msgstr "onbekend veld `%s' opgegeven in beginwaarde"
-#: cp/typeck2.c:916
+#: cp/typeck2.c:903
msgid "union `%T' with no named members cannot be initialized"
msgstr ""
-#: cp/typeck2.c:952
+#: cp/typeck2.c:939
msgid "excess elements in aggregate initializer"
msgstr ""
-#: cp/typeck2.c:1057
+#: cp/typeck2.c:1053
msgid "circular pointer delegation detected"
msgstr ""
-#: cp/typeck2.c:1070
+#: cp/typeck2.c:1066
#, fuzzy
msgid "base operand of `->' has non-pointer type `%T'"
msgstr "grootte van array `%s' is van een niet-integraal type"
-#: cp/typeck2.c:1084
+#: cp/typeck2.c:1080
msgid "result of `operator->()' yields non-pointer result"
msgstr ""
-#: cp/typeck2.c:1086
+#: cp/typeck2.c:1082
msgid "base operand of `->' is not a pointer"
msgstr ""
-#: cp/typeck2.c:1152
+#: cp/typeck2.c:1148
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr ""
-#: cp/typeck2.c:1159
+#: cp/typeck2.c:1155
msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr ""
-#: cp/typeck2.c:1168
+#: cp/typeck2.c:1164
msgid "member type `%T::' incompatible with object type `%T'"
msgstr ""
-#: cp/typeck2.c:1205
+#: cp/typeck2.c:1201
#, fuzzy
msgid "`%T' fails to be a typedef or built-in type"
msgstr "`%s' is geen typedef of ingebouwd type"
-#: cp/typeck2.c:1278
+#: cp/typeck2.c:1274
#, c-format
msgid "ISO C++ forbids defining types within %s"
msgstr ""
-#: cp/xref.c:826
-#, c-format
-msgid "can't create cross-reference file `%s'"
-msgstr ""
+#: cp/typeck2.c:1399
+#, fuzzy
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "parameter `%s' wijst naar een onvolledig type"
+
+#: cp/typeck2.c:1402
+#, fuzzy
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "parameter `%s' wijst naar een onvolledig type"
#. XXX Not i18n clean.
-#: cp/cp-tree.h:3847
+#: cp/cp-tree.h:3846
#, c-format
msgid "%s is deprecated, please see the documentation for details"
msgstr ""
@@ -20509,278 +18598,289 @@ msgstr ""
msgid "Don't announce deprecation of compiler features"
msgstr ""
-#: f/bad.c:386
+#: f/bad.c:387
msgid "note:"
msgstr ""
# Dit zou misschien beter 'warning' blijven
-#: f/bad.c:390
+#: f/bad.c:391
msgid "warning:"
msgstr "let op:"
-#: 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
-#, c-format
+#: 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:3116
+#: f/com.c:3132
+#, no-c-format
msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
msgstr ""
-#: f/com.c:11596
+#: f/com.c:11551
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr "geen enkel INTEGER-type kan een pointer bevatten in deze configuratie"
-#: f/com.c:11821
+#: f/com.c:11772
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr ""
-#: f/com.c:11823
+#: f/com.c:11774
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
msgstr ""
-#: f/com.c:11825
+#: f/com.c:11776
msgid "properly unless they all are 32 bits wide"
msgstr ""
-#: f/com.c:11826
-msgid "Please keep this in mind before you report bugs. g77 should"
-msgstr ""
-
-#: f/com.c:11827
-msgid "support non-32-bit machines better as of version 0.6"
+#: f/com.c:11777
+msgid "Please keep this in mind before you report bugs."
msgstr ""
#. I/O will probably crash.
-#: f/com.c:11835
+#: 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:11844
+#: 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:13678
+#: f/com.c:13609
#, fuzzy
msgid "In statement function"
msgstr "teveel argumenten voor functie"
-#: f/com.c:13688
+#: f/com.c:13619
msgid "Outside of any program unit:\n"
msgstr ""
-#: f/com.c:15376
+#: f/com.c:15248
+#, no-c-format
msgid "%A from %B at %0%C"
msgstr ""
-#: f/com.c:15553
+#: f/com.c:15425
msgid "directory name must immediately follow -I"
msgstr ""
-#: f/com.c:15695
+#: f/com.c:15568
+#, no-c-format
msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr ""
-#: f/com.c:15729
+#: f/com.c:15603
+#, no-c-format
msgid "At %0, INCLUDE nesting too deep"
msgstr ""
-#: f/expr.c:9611
+#: f/expr.c:9614
+#, no-c-format
msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
msgstr ""
-#: f/expr.c:9660
+#: f/expr.c:9664
+#, no-c-format
msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
msgstr ""
-#: f/expr.c:10520
+#: 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:10890
+#: 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
#, fuzzy
msgid "--driver no longer supported"
msgstr "-pipe wordt niet ondersteund"
-#: f/g77spec.c:408
+#: f/g77spec.c:407
#, fuzzy, c-format
msgid "argument to `%s' missing"
msgstr "argument van `%s' moet van een integraal type zijn."
-#: f/g77spec.c:412
+#: f/g77spec.c:411
msgid "no input files; unwilling to write output files"
msgstr ""
-#: f/implic.c:202
-#, fuzzy
+#: f/implic.c:203
+#, fuzzy, no-c-format
msgid "Implicit declaration of `%A' at %0"
msgstr "eerdere impliciete declaratie van `%s'"
-#: f/lex.c:272
-#, fuzzy
-msgid "The meaning of `\\x' (at %0) varies with -traditional"
-msgstr "de betekenis van `\\x' varieert naargelang -traditional al dan niet gebruikt wordt"
-
-#: f/lex.c:322
-#, fuzzy
-msgid "The meaning of `\\a' (at %0) varies with -traditional"
-msgstr "de betekenis van `\\a' varieert naargelang -traditional al dan niet gebruikt wordt"
-
-#: f/lex.c:351
-#, fuzzy
+#: f/lex.c:326
+#, fuzzy, no-c-format
msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
msgstr "niet-ANSI-standaard escape sequence `\\%c'"
-#: f/lex.c:369
-#, fuzzy
+#: f/lex.c:345
+#, fuzzy, no-c-format
msgid "Unknown escape sequence `\\%A' at %0"
msgstr "onbekende escape sequence `\\%c'"
-#: f/lex.c:377
-#, fuzzy, c-format
+#: f/lex.c:354
+#, fuzzy, no-c-format
msgid "Unterminated escape sequence `\\' at %0"
msgstr "onbekende escape sequence `\\%c'"
-#: f/lex.c:387
-#, fuzzy
+#: f/lex.c:365
+#, fuzzy, no-c-format
msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
msgstr "onbekende escape sequence: `\\' gevolgd door karaktercode 0x%x"
-#: f/lex.c:414
-#, fuzzy
+#: f/lex.c:393
+#, fuzzy, no-c-format
msgid "\\x used at %0 with no following hex digits"
msgstr "\\x gebruikt zonder daaropvolgende hexadecimale cijfers"
-#: f/lex.c:427
-#, fuzzy
+#: f/lex.c:407
+#, fuzzy, no-c-format
msgid "Hex escape at %0 out of range"
msgstr "hexadecimale escape-waarde buiten bereik"
# "escape-sequentie"?! Maar wat is er beter?
-#: f/lex.c:460
-#, fuzzy
+#: f/lex.c:441
+#, fuzzy, no-c-format
msgid "Escape sequence at %0 out of range for character"
msgstr "escape-sequentie buiten bereik voor karakter"
-#: f/lex.c:583
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr "de betekenis van `\\x' varieert naargelang -traditional al dan niet gebruikt wordt"
-
-#: f/lex.c:620
+#: f/lex.c:595
msgid "hex escape out of range"
msgstr "hexadecimale escape-waarde buiten bereik"
-#: f/lex.c:666
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr "de betekenis van `\\a' varieert naargelang -traditional al dan niet gebruikt wordt"
-
-#: f/lex.c:682
+#: f/lex.c:648
#, c-format
msgid "non-ANSI-standard escape sequence, `\\%c'"
msgstr "niet-ANSI-standaard escape sequence `\\%c'"
-#: f/lex.c:695
+#: f/lex.c:661
#, fuzzy, c-format
msgid "non-ISO escape sequence `\\%c'"
msgstr "niet-ANSI escape sequence `\\%c'"
-#: f/lex.c:699
+#: f/lex.c:665
#, c-format
msgid "unknown escape sequence `\\%c'"
msgstr "onbekende escape sequence `\\%c'"
-#: f/lex.c:701
+#: f/lex.c:667
#, c-format
msgid "unknown escape sequence: `\\' followed by char code 0x%x"
msgstr "onbekende escape sequence: `\\' gevolgd door karaktercode 0x%x"
-#: f/lex.c:778
+#: f/lex.c:744
msgid "badly formed directive -- no closing quote"
msgstr ""
-#: f/lex.c:998
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
+msgstr "#-lijnen voor het binnengaan en verlaten van bestanden komen niet overeen"
+
+#: f/lex.c:964
msgid "bad directive -- missing close-quote"
msgstr ""
-#: f/lex.c:1112
+#: f/lex.c:1078
#, c-format
msgid "ignoring pragma: %s"
msgstr "pragma wordt genegeerd: %s"
-#: f/lex.c:1319 f/lex.c:1363
+#: f/lex.c:1156
+msgid "invalid #ident"
+msgstr "ongeldige #ident"
+
+#: f/lex.c:1173
+msgid "undefined or invalid # directive"
+msgstr "ongedefinieerd of ongeldig #-commando"
+
+#: f/lex.c:1229
+msgid "invalid #line"
+msgstr "ongeldige #line"
+
+#: f/lex.c:1285 f/lex.c:1329
msgid "use `#line ...' instead of `# ...' in first line"
msgstr ""
-#: f/lex.c:1465
-#, c-format
+#: f/lex.c:1339
+msgid "invalid #-line"
+msgstr "ongeldige #-lijn"
+
+#: f/lex.c:1432
+#, no-c-format
msgid "Null character at %0 -- line ignored"
msgstr ""
-#: f/stb.c:12077
-#, c-format
+#: f/stb.c:12078
+#, no-c-format
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:2635
+#: f/ste.c:2624
+#, no-c-format
msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
msgstr ""
-#: f/ste.c:2964
+#: f/ste.c:2953
msgid "ASSIGN to variable that is too small"
msgstr "ASSIGN naar een variabele die te klein is"
-#: f/ste.c:2992
+#: f/ste.c:2981
msgid "ASSIGNed GOTO target variable is too small"
msgstr ""
-#: f/stu.c:304
+#: f/stu.c:305
+#, no-c-format
msgid "Local adjustable symbol `%A' at %0"
msgstr ""
-#: f/top.c:238
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr ""
+
+#: f/top.c:237
#, c-format
msgid "%s no longer supported -- try -fvxt"
msgstr ""
-#: f/top.c:240
+#: f/top.c:239
#, c-format
msgid "%s no longer supported -- try -fno-vxt -ff90"
msgstr ""
-#: f/top.c:308 f/top.c:310
+#: f/top.c:307 f/top.c:309
#, c-format
msgid "%s disabled, use normal debugging flags"
msgstr ""
@@ -21095,1695 +19195,863 @@ msgstr ""
msgid "Set the maximum line length"
msgstr ""
-#: f/bad.def:38
-#, c-format
+#: f/bad.def:39
+#, no-c-format
msgid "Missing first operand for binary operator at %0"
msgstr ""
-#: f/bad.def:40
-#, fuzzy, c-format
+#: f/bad.def:42
+#, fuzzy, no-c-format
msgid "Zero-length character constant at %0"
msgstr "lege karakterconstante"
-#: f/bad.def:42
-#, fuzzy, c-format
+#: f/bad.def:45
+#, fuzzy, no-c-format
msgid "Invalid token at %0 in expression or subexpression at %1"
msgstr "Ongeldig token in expressie"
-#: f/bad.def:44
+#: f/bad.def:48
+#, no-c-format
msgid "Missing operand for operator at %1 at end of expression at %0"
msgstr ""
-#: f/bad.def:46
+#: f/bad.def:51
+#, no-c-format
msgid "Label %A already defined at %1 when redefined at %0"
msgstr ""
-#: f/bad.def:48
+#: f/bad.def:54
+#, no-c-format
msgid "Unrecognized character at %0 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:50
+#: f/bad.def:57
+#, no-c-format
msgid "Label definition %A at %0 on empty statement (as of %1)"
msgstr ""
-#: f/bad.def:52
-msgid "Extra label definition %A at %0 -- perhaps previous label definition %B at %1 should have CONTINUE statement?"
-msgstr ""
-
-#: f/bad.def:53
-msgid "Extra label definition %A at %0 following label definition %B at %1"
-msgstr ""
-
-#: f/bad.def:55
+#: f/bad.def:65
+#, no-c-format
msgid "Invalid first character at %0 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:57
+#: f/bad.def:68
+#, no-c-format
msgid "Line too long as of %0 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:59
-#, c-format
+#: f/bad.def:71
+#, no-c-format
msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:61
-#, c-format
+#: f/bad.def:74
+#, no-c-format
msgid "Label number at %0 not in range 1-99999"
msgstr ""
-#: f/bad.def:63
+#: f/bad.def:77
+#, no-c-format
msgid "At %0, '!' and '/*' are not valid comment delimiters"
msgstr ""
-#: f/bad.def:65
-#, c-format
+#: f/bad.def:80
+#, no-c-format
msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:67
+#: f/bad.def:83
+#, no-c-format
msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
msgstr ""
-#: f/bad.def:69
-#, c-format
-msgid "Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:70
-#, c-format
-msgid "Continuation indicator at %0 invalid here [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:72
-#, fuzzy
+#: f/bad.def:91
+#, fuzzy, no-c-format
msgid "Character constant at %0 has no closing apostrophe at %1"
msgstr "karakterconstante te lang"
-#: f/bad.def:74
+#: f/bad.def:94
+#, no-c-format
msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
msgstr ""
-#: f/bad.def:76
-#, c-format
+#: f/bad.def:97
+#, no-c-format
msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
msgstr ""
-#: f/bad.def:78
-#, fuzzy
+#: f/bad.def:100
+#, fuzzy, no-c-format
msgid "Integer at %0 too large"
msgstr "integerconstante buiten bereik"
-#: f/bad.def:80
-msgid "Integer at %0 too large except as negative number (preceded by unary minus sign)"
-msgstr ""
-
-#: f/bad.def:81
-msgid "Non-negative integer at %0 too large"
-msgstr ""
-
-#: f/bad.def:83
-msgid "Integer at %0 too large; even though preceded by unary minus sign at %1, subsequent operator at %2 has precedence over unary minus -- enclose unary minus sign and integer in parentheses to force precedence"
-msgstr ""
-
-#: f/bad.def:84
-msgid "Integer at %0 too large (%2 has precedence over %1)"
-msgstr ""
-
-#: f/bad.def:86
-msgid "Integer at %0 too large; even though preceded by minus sign at %1, because minus sign is a binary, not unary, operator -- insert plus sign before minus sign to change it to a unary minus sign"
-msgstr ""
-
-#: f/bad.def:87
-msgid "Integer at %0 too large (needs unary, not binary, minus at %1)"
-msgstr ""
-
-#: f/bad.def:89
-msgid "Integer at %0 too large; even though preceded by minus sign at %1, subsequent operator at %2 has precedence over minus, and that minus sign should be a unary minus rather than a binary minus -- insert plus sign before minus sign to change it to a unary minus sign, and enclose unary minus sign and integer in parentheses to force precedence"
-msgstr ""
-
-#: f/bad.def:90
-msgid "Integer at %0 too large (%2 has precedence over %1, which needs to be unary, not binary, minus)"
-msgstr ""
-
-#: f/bad.def:92
-#, c-format
+#: f/bad.def:123
+#, no-c-format
msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
msgstr ""
-#: f/bad.def:94
+#: f/bad.def:126
+#, no-c-format
msgid "Missing close-period between `.%A' at %0 and %1"
msgstr ""
-#: f/bad.def:96
-msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
-msgstr ""
-
-#: f/bad.def:98
-msgid "Missing value at %1 for real-number exponent at %0"
-msgstr ""
-
-#: f/bad.def:100
-msgid "Expected binary operator between expressions at %0 and at %1"
-msgstr ""
-
-#: f/bad.def:102
-msgid "Period at %0 not followed by valid keyword forming a valid binary operator; `.%A.' is not a valid binary operator"
-msgstr ""
-
-#: f/bad.def:103
-#, fuzzy
-msgid "`.%A.' at %0 not a binary operator"
-msgstr "`%s' is geen iterator"
-
-#: f/bad.def:105
-#, c-format
-msgid "Double-quote at %0 not followed by a string of valid octal digits at %1"
-msgstr ""
-
-#: f/bad.def:106 f/bad.def:115 f/bad.def:124
-#, fuzzy, c-format
-msgid "Invalid octal constant at %0"
-msgstr "ongeldige beginwaarde"
-
-#: f/bad.def:108 f/bad.def:120
-#, c-format
-msgid "Invalid binary digit(s) found in string of digits at %0"
-msgstr ""
-
-#: f/bad.def:109 f/bad.def:121
-#, fuzzy, c-format
-msgid "Invalid binary constant at %0"
-msgstr "ongeldige beginwaarde"
-
-#: f/bad.def:111 f/bad.def:126
-#, c-format
-msgid "Invalid hexadecimal digit(s) found in string of digits at %0"
-msgstr ""
-
-#: f/bad.def:112 f/bad.def:127
-#, fuzzy, c-format
-msgid "Invalid hexadecimal constant at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:114 f/bad.def:123
-#, c-format
-msgid "Invalid octal digit(s) found in string of digits at %0"
-msgstr ""
-
-#: f/bad.def:117
-msgid "Invalid radix specifier `%A' at %0 for typeless constant at %1"
-msgstr ""
-
-#: f/bad.def:118
-#, fuzzy, c-format
-msgid "Invalid typeless constant at %1"
-msgstr "ongeldige expressie als operand"
-
#: f/bad.def:129
-msgid "%A part of complex constant at %0 must be a real or integer constant -- otherwise use CMPLX() or COMPLEX() in place of ()"
-msgstr ""
-
-#: f/bad.def:130
-msgid "%A part of complex constant at %0 not a real or integer constant"
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
msgstr ""
#: f/bad.def:132
-msgid "Invalid keyword `%%%A' at %0 in this context"
-msgstr ""
-
-#: f/bad.def:133
-msgid "Invalid keyword `%%%A' at %0"
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
msgstr ""
-# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
#: f/bad.def:135
-#, fuzzy
-msgid "Null expression between %0 and %1 invalid in this context"
-msgstr "voorwaardelijke expressie niet toegestaan in deze context"
-
-#: f/bad.def:136
-#, fuzzy
-msgid "Invalid null expression between %0 and %1"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:138
-msgid "Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type"
-msgstr ""
-
-#: f/bad.def:139
-msgid "Invalid operands at %1 and %2 for concatenation operator at %0"
-msgstr ""
-
-#: f/bad.def:141
-msgid "Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type"
-msgstr ""
-
-#: f/bad.def:142
-msgid "Invalid operand at %1 for concatenation operator at %0"
-msgstr ""
-
-#: f/bad.def:144
-msgid "Concatenation operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning character scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:145
-msgid "Invalid operand (is %A) at %1 for concatenation operator at %0"
-msgstr ""
-
-#: f/bad.def:147
-msgid "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type"
-msgstr ""
-
-#: f/bad.def:148
-msgid "Invalid operands at %1 and %2 for arithmetic operator at %0"
-msgstr ""
-
-#: f/bad.def:150
-msgid "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type"
-msgstr ""
-
-#: f/bad.def:151
-msgid "Invalid operand at %1 for arithmetic operator at %0"
-msgstr ""
-
-#: f/bad.def:153
-msgid "Arithmetic operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:154
-msgid "Invalid operand (is %A) at %1 for arithmetic operator at %0"
-msgstr ""
-
-#: f/bad.def:156
-msgid "Character constant at %0 has no closing quote at %1 [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:157
-#, fuzzy
-msgid "Unterminated character constant at %0 [info -f g77 M LEX]"
-msgstr "niet-beëindigde karakterconstante"
-
-#: f/bad.def:159
-#, c-format
-msgid "Continuation line at %0 must have initial `&' since it continues a character context [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:160 f/bad.def:163
-msgid "Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:162
-#, c-format
-msgid "Continuation line at %0 must have initial `&' since it continues a split lexical token [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:165
-#, c-format
-msgid "Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character"
-msgstr ""
-
-#: f/bad.def:166
-#, fuzzy, c-format
-msgid "Invalid continuation line at %0"
-msgstr "Ongeldige optie `%s'"
-
-#: f/bad.def:168
-msgid "Statement at %0 begins with invalid token [info -f g77 M LEX]"
-msgstr ""
-
-#: f/bad.def:169
-msgid "Invalid statement at %0 [info -f g77 M LEX]"
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
msgstr ""
-#: f/bad.def:171
-#, c-format
+#: f/bad.def:253
+#, no-c-format
msgid "Semicolon at %0 is an invalid token"
msgstr ""
-#: f/bad.def:173
-msgid "Unrecognized statement name at %0 and invalid form for assignment or statement-function definition at %1"
-msgstr ""
-
-#: f/bad.def:174
-#, fuzzy, c-format
-msgid "Invalid statement at %0"
-msgstr "ongeldige beginwaarde"
-
-#: f/bad.def:176
-#, fuzzy
-msgid "Invalid form for %A statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:177
-#, fuzzy
-msgid "Invalid %A statement at %0"
-msgstr "ongeldige beginwaarde"
-
-#: f/bad.def:179
-#, c-format
-msgid "Invalid use of hollerith constant in statement at %0 -- enclose the constant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))"
-msgstr ""
-
-#: f/bad.def:180
-#, c-format
-msgid "Enclose hollerith constant in statement at %0 in parentheses"
-msgstr ""
-
-#: f/bad.def:182
-#, c-format
+#: f/bad.def:271
+#, no-c-format
msgid "Extraneous comma in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:184
-#, c-format
+#: f/bad.def:274
+#, no-c-format
msgid "Missing comma in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:186
-#, c-format
+#: f/bad.def:277
+#, no-c-format
msgid "Spurious sign in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:188
-#, c-format
+#: f/bad.def:280
+#, no-c-format
msgid "Spurious number in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:190
-#, c-format
+#: f/bad.def:283
+#, no-c-format
msgid "Spurious text trailing number in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:192
-#, c-format
-msgid "nP control edit descriptor not followed by comma but followed by edit descriptor at %0 other than D, E, EN, F, or G"
-msgstr ""
-
-#: f/bad.def:193
-#, c-format
-msgid "Invalid edit descriptor at %0 following nP control edit descriptor"
-msgstr ""
-
-#: f/bad.def:195
-#, fuzzy, c-format
+#: f/bad.def:291
+#, fuzzy, no-c-format
msgid "Unrecognized FORMAT specifier at %0"
msgstr "onbekende formaatspecificatie"
-#: f/bad.def:197
-#, c-format
-msgid "Invalid I specifier in FORMAT statement at %0 -- correct form: [r]Iw.[m]"
-msgstr ""
-
-#: f/bad.def:198
-#, fuzzy, c-format
-msgid "Invalid I specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:200
-#, c-format
-msgid "Invalid B specifier in FORMAT statement at %0 -- correct form: [r]Bw.[m]"
-msgstr ""
-
-#: f/bad.def:201
-#, fuzzy, c-format
-msgid "Invalid B specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:203
-#, c-format
-msgid "Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]"
-msgstr ""
-
-#: f/bad.def:204
-#, fuzzy, c-format
-msgid "Invalid O specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:206
-#, c-format
-msgid "Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]"
-msgstr ""
-
-#: f/bad.def:207
-#, fuzzy, c-format
-msgid "Invalid Z specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:209
-#, c-format
-msgid "Invalid F specifier in FORMAT statement at %0 -- correct form: [r]Fw.d"
-msgstr ""
-
-#: f/bad.def:210
-#, fuzzy, c-format
-msgid "Invalid F specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:212
-#, c-format
-msgid "Invalid E specifier in FORMAT statement at %0 -- correct form: [r]Ew.d[Ee]"
-msgstr ""
-
-#: f/bad.def:213
-#, fuzzy, c-format
-msgid "Invalid E specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:215
-#, c-format
-msgid "Invalid EN specifier in FORMAT statement at %0 -- correct form: [r]ENw.d[Ee]"
-msgstr ""
-
-#: f/bad.def:216
-#, c-format
-msgid "Invalid EN specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:218
-#, c-format
-msgid "Invalid G specifier in FORMAT statement at %0 -- correct form: [r]Gw.d[Ee]"
-msgstr ""
-
-#: f/bad.def:219
-#, fuzzy, c-format
-msgid "Invalid G specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:221
-#, c-format
-msgid "Invalid L specifier in FORMAT statement at %0 -- correct form: [r]Lw"
-msgstr ""
-
-#: f/bad.def:222
-#, fuzzy, c-format
-msgid "Invalid L specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:224
-#, c-format
-msgid "Invalid A specifier in FORMAT statement at %0 -- correct form: [r]A[w]"
-msgstr ""
-
-#: f/bad.def:225
-#, fuzzy, c-format
-msgid "Invalid A specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:227
-#, c-format
-msgid "Invalid D specifier in FORMAT statement at %0 -- correct form: [r]Dw.d"
-msgstr ""
-
-#: f/bad.def:228
-#, fuzzy, c-format
-msgid "Invalid D specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:230
-#, c-format
-msgid "Invalid Q specifier in FORMAT statement at %0 -- correct form: Q"
-msgstr ""
-
-#: f/bad.def:231
-#, fuzzy, c-format
-msgid "Invalid Q specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:233
-#, c-format
-msgid "Invalid $ specifier in FORMAT statement at %0 -- correct form: $"
-msgstr ""
-
-#: f/bad.def:234
-#, fuzzy, c-format
-msgid "Invalid $ specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:236
-#, c-format
-msgid "Invalid P specifier in FORMAT statement at %0 -- correct form: kP"
-msgstr ""
-
-#: f/bad.def:237
-#, fuzzy, c-format
-msgid "Invalid P specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:239
-#, c-format
-msgid "Invalid T specifier in FORMAT statement at %0 -- correct form: Tn"
-msgstr ""
-
-#: f/bad.def:240
-#, fuzzy, c-format
-msgid "Invalid T specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:242
-#, c-format
-msgid "Invalid TL specifier in FORMAT statement at %0 -- correct form: TLn"
-msgstr ""
-
-#: f/bad.def:243
-#, c-format
-msgid "Invalid TL specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:245
-#, c-format
-msgid "Invalid TR specifier in FORMAT statement at %0 -- correct form: TRn"
-msgstr ""
-
-#: f/bad.def:246
-#, c-format
-msgid "Invalid TR specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:248
-#, c-format
-msgid "Invalid X specifier in FORMAT statement at %0 -- correct form: nX"
-msgstr ""
-
-#: f/bad.def:249
-#, fuzzy, c-format
-msgid "Invalid X specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:251
-#, c-format
-msgid "Invalid S specifier in FORMAT statement at %0 -- correct form: S"
-msgstr ""
-
-#: f/bad.def:252
-#, fuzzy, c-format
-msgid "Invalid S specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:254
-#, c-format
-msgid "Invalid SP specifier in FORMAT statement at %0 -- correct form: SP"
-msgstr ""
-
-#: f/bad.def:255
-#, c-format
-msgid "Invalid SP specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:257
-#, c-format
-msgid "Invalid SS specifier in FORMAT statement at %0 -- correct form: SS"
-msgstr ""
-
-#: f/bad.def:258
-#, c-format
-msgid "Invalid SS specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:260
-#, c-format
-msgid "Invalid BN specifier in FORMAT statement at %0 -- correct form: BN"
-msgstr ""
-
-#: f/bad.def:261
-#, c-format
-msgid "Invalid BN specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:263
-#, c-format
-msgid "Invalid BZ specifier in FORMAT statement at %0 -- correct form: BZ"
-msgstr ""
-
-#: f/bad.def:264
-#, c-format
-msgid "Invalid BZ specifier in FORMAT statement at %0"
-msgstr ""
-
-#: f/bad.def:266
-#, c-format
-msgid "Invalid : specifier in FORMAT statement at %0 -- correct form: :"
-msgstr ""
-
-#: f/bad.def:267
-#, fuzzy, c-format
-msgid "Invalid : specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:269
-#, c-format
-msgid "Invalid H specifier in FORMAT statement at %0 -- correct form: nHcharacters !where n is an unsigned decimal constant, and characters !contains exactly n characters (including spaces)"
-msgstr ""
-
-#: f/bad.def:270
-#, fuzzy, c-format
-msgid "Invalid H specifier in FORMAT statement at %0"
-msgstr "ongeldige expressie als operand"
-
-#: f/bad.def:272
-#, c-format
+#: f/bad.def:419
+#, no-c-format
msgid "Missing close-parenthese(s) in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:274
-#, c-format
+#: f/bad.def:422
+#, no-c-format
msgid "Missing number following period in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:276
-#, c-format
+#: f/bad.def:425
+#, no-c-format
msgid "Missing number following `E' in FORMAT statement at %0"
msgstr ""
-#: f/bad.def:278
-#, c-format
-msgid "Invalid token with FORMAT run-time expression at %0 -- use the traditional operators .LT., .LE., .GT., .GE., .EQ., and .NE. in place of the newer tokens <, <=, >, >=, ==, and !=, because > ends an expression within a FORMAT statement"
-msgstr ""
-
-#: f/bad.def:279
-#, fuzzy, c-format
-msgid "Invalid token with FORMAT run-time expression at %0"
-msgstr "Ongeldig token in expressie"
-
-#: f/bad.def:281
-#, fuzzy, c-format
+#: f/bad.def:433
+#, fuzzy, no-c-format
msgid "Spurious trailing comma preceding terminator at %0"
msgstr "overbodige `%%' achteraan formaat"
-#: f/bad.def:283
+#: f/bad.def:436
+#, no-c-format
msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
msgstr ""
-#: f/bad.def:285
+#: f/bad.def:439
+#, no-c-format
msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
msgstr ""
-#: f/bad.def:287
-#, c-format
-msgid "Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)"
-msgstr ""
-
-#: f/bad.def:288
-#, c-format
-msgid "Nonletter in defined operator at %0"
-msgstr ""
-
-#: f/bad.def:290
-#, c-format
-msgid "Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE"
-msgstr ""
-
-#: f/bad.def:291
-#, fuzzy, c-format
-msgid "Invalid type-declaration attribute at %0"
-msgstr "lege declaratie"
-
-#: f/bad.def:293
-#, c-format
+#: f/bad.def:452
+#, no-c-format
msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
msgstr ""
-#: f/bad.def:295
+#: f/bad.def:455
+#, no-c-format
msgid "Reference to label at %1 inconsistent with its definition at %0"
msgstr ""
-#: f/bad.def:297
+#: f/bad.def:458
+#, no-c-format
msgid "Reference to label at %1 inconsistent with earlier reference at %0"
msgstr ""
-#: f/bad.def:299
+#: f/bad.def:461
+#, no-c-format
msgid "DO-statement reference to label at %1 follows its definition at %0"
msgstr ""
-#: f/bad.def:301
+#: f/bad.def:464
+#, no-c-format
msgid "Reference to label at %1 is outside block containing definition at %0"
msgstr ""
-#: f/bad.def:303
+#: f/bad.def:467
+#, no-c-format
msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
msgstr ""
-#: f/bad.def:305
+#: f/bad.def:470
+#, no-c-format
msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
msgstr ""
-#: f/bad.def:307
-#, fuzzy, c-format
+#: f/bad.def:473
+#, fuzzy, no-c-format
msgid "Label definition at %0 invalid on this kind of statement"
msgstr "label gevonden buiten een CASE-statement"
-#: f/bad.def:309
-#, fuzzy, c-format
+#: f/bad.def:476
+#, fuzzy, no-c-format
msgid "Statement at %0 invalid in this context"
msgstr "%s: %s compiler niet geïnstalleerd op dit systeem"
-#: f/bad.def:311
-#, c-format
+#: f/bad.def:479
+#, no-c-format
msgid "Statement at %0 invalid in context established by statement at %1"
msgstr ""
-#: f/bad.def:313
-#, c-format
+#: f/bad.def:482
+#, no-c-format
msgid "Statement at %0 must specify construct name specified at %1"
msgstr ""
-#: f/bad.def:315
-#, c-format
+#: f/bad.def:485
+#, no-c-format
msgid "Construct name at %0 superfluous, no construct name specified at %1"
msgstr ""
-#: f/bad.def:317
-#, c-format
+#: f/bad.def:488
+#, no-c-format
msgid "Construct name at %0 not the same as construct name at %1"
msgstr ""
-#: f/bad.def:319
-#, c-format
+#: f/bad.def:491
+#, no-c-format
msgid "Construct name at %0 does not match construct name for any containing DO constructs"
msgstr ""
-#: f/bad.def:321
-#, c-format
+#: f/bad.def:494
+#, no-c-format
msgid "Label definition missing at %0 for DO construct specifying label at %1"
msgstr ""
-#: f/bad.def:323
-#, c-format
+#: f/bad.def:497
+#, no-c-format
msgid "Statement at %0 follows ELSE block for IF construct at %1"
msgstr ""
-#: f/bad.def:325
-#, fuzzy, c-format
+#: f/bad.def:500
+#, fuzzy, no-c-format
msgid "No label definition for FORMAT statement at %0"
msgstr "label niet in een CASE-statement"
-#: f/bad.def:327
+#: f/bad.def:503
+#, no-c-format
msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
msgstr ""
-#: f/bad.def:329
+#: f/bad.def:506
+#, no-c-format
msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
msgstr ""
-#: f/bad.def:331
+#: f/bad.def:509
+#, no-c-format
msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
msgstr ""
-#: f/bad.def:333
-#, c-format
+#: f/bad.def:512
+#, no-c-format
msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
msgstr ""
-#: f/bad.def:335
-#, c-format
+#: f/bad.def:515
+#, no-c-format
msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
msgstr ""
-#: f/bad.def:337
-#, c-format
+#: f/bad.def:518
+#, no-c-format
msgid "Program unit name at %0 not the same as name at %1"
msgstr ""
-#: f/bad.def:339
-#, c-format
+#: f/bad.def:521
+#, no-c-format
msgid "Type name at %0 not the same as name at %1"
msgstr ""
-#: f/bad.def:341
-#, c-format
+#: f/bad.def:524
+#, no-c-format
msgid "End of source file before end of block started at %0"
msgstr ""
-#: f/bad.def:343
-#, c-format
+#: f/bad.def:527
+#, no-c-format
msgid "Undefined label, first referenced at %0"
msgstr ""
-#: f/bad.def:345
+#: f/bad.def:530
+#, no-c-format
msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
msgstr ""
-#: f/bad.def:347
+#: f/bad.def:533
+#, no-c-format
msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
msgstr ""
-#: f/bad.def:349
-#, c-format
+#: f/bad.def:536
+#, no-c-format
msgid "RETURN statement at %0 invalid within a main program unit"
msgstr ""
-#: f/bad.def:351
-#, c-format
+#: f/bad.def:539
+#, no-c-format
msgid "Alternate return specifier at %0 invalid within a main program unit"
msgstr ""
-#: f/bad.def:353
-#, c-format
+#: f/bad.def:542
+#, no-c-format
msgid "Alternate return specifier at %0 invalid within a function"
msgstr ""
-#: f/bad.def:355
-#, c-format
+#: f/bad.def:545
+#, no-c-format
msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
msgstr ""
-#: f/bad.def:357
+#: f/bad.def:548
+#, no-c-format
msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
msgstr ""
-#: f/bad.def:359
-#, c-format
+#: f/bad.def:551
+#, no-c-format
msgid "No components specified as of %0 for derived-type definition beginning at %1"
msgstr ""
-#: f/bad.def:361
-#, c-format
+#: f/bad.def:554
+#, no-c-format
msgid "No components specified as of %0 for structure definition beginning at %1"
msgstr ""
-#: f/bad.def:363
-#, c-format
+#: f/bad.def:557
+#, no-c-format
msgid "Missing structure name for outer structure definition at %0"
msgstr ""
-#: f/bad.def:365
-#, c-format
+#: f/bad.def:560
+#, no-c-format
msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
msgstr ""
-#: f/bad.def:367
+#: f/bad.def:563
+#, no-c-format
msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
msgstr ""
-#: f/bad.def:369
-#, c-format
+#: f/bad.def:566
+#, no-c-format
msgid "No components specified as of %0 for map beginning at %1"
msgstr ""
-#: f/bad.def:371
+#: f/bad.def:569
+#, no-c-format
msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
msgstr ""
-#: f/bad.def:373
+#: f/bad.def:572
+#, no-c-format
msgid "Missing %A specifier in statement at %0"
msgstr ""
-#: f/bad.def:375
-#, c-format
+#: f/bad.def:575
+#, no-c-format
msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
msgstr ""
-#: f/bad.def:377
+#: f/bad.def:578
+#, no-c-format
msgid "Conflicting I/O control specifications at %0 and %1"
msgstr ""
-#: f/bad.def:379
-#, c-format
+#: f/bad.def:581
+#, no-c-format
msgid "No UNIT= specifier in I/O control list at %0"
msgstr ""
-#: f/bad.def:381
+#: f/bad.def:584
+#, no-c-format
msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
msgstr ""
-#: f/bad.def:383
+#: f/bad.def:587
+#, no-c-format
msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
msgstr ""
-#: f/bad.def:385
-msgid "Unrecognized value for character constant at %0 -- expecting %A"
-msgstr ""
-
-#: f/bad.def:386
-#, fuzzy, c-format
-msgid "Unrecognized value for character constant at %0"
-msgstr "%s voor karakterconstante"
-
-#: f/bad.def:388
+#: f/bad.def:595
+#, no-c-format
msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
msgstr ""
-#: f/bad.def:390
+#: f/bad.def:598
+#, no-c-format
msgid "Duplicate or overlapping case values/ranges at %0 and %1"
msgstr ""
-#: f/bad.def:392
+#: f/bad.def:601
+#, no-c-format
msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
msgstr ""
-#: f/bad.def:394
-#, c-format
+#: f/bad.def:604
+#, no-c-format
msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
msgstr ""
-#: f/bad.def:396
-#, c-format
-msgid "Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT"
-msgstr ""
-
-#: f/bad.def:397
-#, c-format
-msgid "Range specification at %0 invalid"
-msgstr ""
-
-#: f/bad.def:399
-#, c-format
-msgid "Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression"
-msgstr ""
-
-#: f/bad.def:400
-#, c-format
-msgid "Useless range at %0"
-msgstr ""
-
-#: f/bad.def:402
-#, c-format
+#: f/bad.def:617
+#, no-c-format
msgid "Fortran 90 feature at %0 unsupported"
msgstr ""
-#: f/bad.def:404
-msgid "Invalid kind at %0 for type at %1 -- unsupported or not permitted"
-msgstr ""
-
-#: f/bad.def:405
-#, fuzzy, c-format
-msgid "Invalid kind at %0 for type at %1"
-msgstr "Ongeldig register voor vergelijking"
-
-#: f/bad.def:407
-msgid "Cannot establish implicit type for initial letter `%A' at %0 -- already explicitly established or used to set implicit type of some name, or backwards order of letters in letter range"
-msgstr ""
-
-#: f/bad.def:408
-msgid "Cannot establish implicit type for initial letter `%A' at %0"
-msgstr ""
-
-#: f/bad.def:410
+#: f/bad.def:630
+#, no-c-format
msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
msgstr ""
-#: f/bad.def:412
-msgid "Label definition %A (at %0) invalid -- must be in columns 1-5"
-msgstr ""
-
-#: f/bad.def:413
-msgid "Invalid label definition %A (at %0)"
-msgstr ""
-
-#: f/bad.def:415
-#, c-format
+#: f/bad.def:638
+#, no-c-format
msgid "Null element at %0 for array reference at %1"
msgstr ""
-#: f/bad.def:417
+#: f/bad.def:641
+#, no-c-format
msgid "Too few elements (%A missing) as of %0 for array reference at %1"
msgstr ""
-#: f/bad.def:419
-#, fuzzy, c-format
+#: f/bad.def:644
+#, fuzzy, no-c-format
msgid "Too many elements as of %0 for array reference at %1"
msgstr "array-grootte op een niet-array-referentie"
-#: f/bad.def:421
-#, c-format
+#: f/bad.def:647
+#, no-c-format
msgid "Missing colon as of %0 in substring reference for %1"
msgstr ""
-#: f/bad.def:423
-#, c-format
+#: f/bad.def:650
+#, no-c-format
msgid "Invalid use at %0 of substring operator on %1"
msgstr ""
-#: f/bad.def:425
-#, c-format
+#: f/bad.def:653
+#, no-c-format
msgid "Substring begin/end point at %0 out of defined range"
msgstr ""
-#: f/bad.def:427
-#, fuzzy, c-format
+#: f/bad.def:656
+#, fuzzy, no-c-format
msgid "Array element value at %0 out of defined range"
msgstr "case-waarde buiten bereik"
-#: f/bad.def:429
+#: f/bad.def:659
+#, no-c-format
msgid "Expression at %0 has incorrect data type or rank for its context"
msgstr ""
-#: f/bad.def:431
+#: f/bad.def:662
+#, no-c-format
msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
msgstr ""
-#: f/bad.def:433
+#: f/bad.def:665
+#, no-c-format
msgid "%A step count known to be 0 (zero) at %0"
msgstr ""
-#: f/bad.def:435
+#: f/bad.def:668
+#, no-c-format
msgid "%A end value plus step count known to overflow at %0"
msgstr ""
-#: f/bad.def:437
+#: f/bad.def:671
+#, no-c-format
msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
msgstr ""
-#: f/bad.def:439
+#: f/bad.def:674
+#, no-c-format
msgid "%A begin, end, and step-count values known to result in no iterations at %0"
msgstr ""
-#: f/bad.def:441
+#: f/bad.def:677
+#, no-c-format
msgid "Type disagreement between expressions at %0 and %1"
msgstr ""
-#: f/bad.def:443
-#, c-format
-msgid "Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement"
-msgstr ""
-
-#: f/bad.def:444
-msgid "FORMAT at %0 with run-time expression must follow first executable statement"
-msgstr ""
-
-#: f/bad.def:446
-msgid "Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is `(item-list,do-var=start,end[,incr])'"
-msgstr ""
-
-#: f/bad.def:447
-#, c-format
-msgid "Unexpected token at %0 in implied-DO construct at %1"
-msgstr ""
-
-#: f/bad.def:449
+#: f/bad.def:690
+#, no-c-format
msgid "No specification for implied-DO iterator `%A' at %0"
msgstr ""
-#: f/bad.def:451
-#, c-format
+#: f/bad.def:693
+#, no-c-format
msgid "Gratuitous parentheses surround implied-DO construct at %0"
msgstr ""
-#: f/bad.def:453
-#, c-format
+#: f/bad.def:696
+#, no-c-format
msgid "Zero-size specification invalid at %0"
msgstr ""
-#: f/bad.def:455
-#, c-format
+#: f/bad.def:699
+#, no-c-format
msgid "Zero-size array at %0"
msgstr ""
-#: f/bad.def:457
-#, c-format
+#: f/bad.def:702
+#, no-c-format
msgid "Target machine does not support complex entity of kind specified at %0"
msgstr ""
-#: f/bad.def:459
-#, c-format
+#: f/bad.def:705
+#, no-c-format
msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
msgstr ""
-#: f/bad.def:461
-#, c-format
+#: f/bad.def:708
+#, no-c-format
msgid "Attempt to raise constant zero to a power at %0"
msgstr ""
-#: f/bad.def:463
-msgid "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type"
-msgstr ""
-
-#: f/bad.def:464
-msgid "Invalid operands at %1 and %2 for boolean operator at %0"
-msgstr ""
-
-#: f/bad.def:466
-msgid "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type"
-msgstr ""
-
-#: f/bad.def:467
-#, fuzzy
-msgid "Invalid operand at %1 for boolean operator at %0"
-msgstr "ongeldige operanden voor binaire %s-operator"
-
-#: f/bad.def:469
-msgid "Boolean/logical operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning logical scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:470
-msgid "Invalid operand (is %A) at %1 for boolean operator at %0"
-msgstr ""
-
-#: f/bad.def:472
-msgid ".NOT. operator at %0 must operate on subexpression of logical type, but the subexpression at %1 is not of logical type"
-msgstr ""
-
-#: f/bad.def:473
-#, fuzzy
-msgid "Invalid operand at %1 for .NOT. operator at %0"
-msgstr "ongeldige operand voor %N-code"
-
-#: f/bad.def:475
-msgid ".NOT. operator at %0 must operate on scalar subexpressions -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:476
-msgid "Invalid operand (is %A) at %1 for .NOT. operator at %0"
-msgstr ""
-
-#: f/bad.def:478
-msgid "Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but neither subexpression at %1 or %2 is of arithmetic or character type"
-msgstr ""
-
-#: f/bad.def:479
-msgid "Invalid operands at %1 and %2 for equality operator at %0"
-msgstr ""
-
-#: f/bad.def:481
-msgid "Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but the subexpression at %1 is not of arithmetic or character type"
-msgstr ""
-
-#: f/bad.def:482
-msgid "Invalid operand at %1 for equality operator at %0"
-msgstr ""
-
-#: f/bad.def:484
-msgid "Equality operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic or character scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:485
-msgid "Invalid operand (is %A) at %1 for equality operator at %0"
-msgstr ""
-
-#: f/bad.def:487
-msgid "Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but neither subexpression at %1 or %2 is of integer, real, or character type"
-msgstr ""
-
-#: f/bad.def:488
-msgid "Invalid operands at %1 and %2 for relational operator at %0"
-msgstr ""
-
-#: f/bad.def:490
-msgid "Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but the subexpression at %1 is not of integer, real, or character type"
-msgstr ""
-
-#: f/bad.def:491
-#, fuzzy
-msgid "Invalid operand at %1 for relational operator at %0"
-msgstr "ongeldige operanden voor binaire %s-operator"
-
-#: f/bad.def:493
-msgid "Relational operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning integer, real, or character scalars, or a combination of both -- but the subexpression at %1 is %A"
-msgstr ""
-
-#: f/bad.def:494
-msgid "Invalid operand (is %A) at %1 for relational operator at %0"
-msgstr ""
-
-#: f/bad.def:496
-msgid "Reference to intrinsic `%A' at %0 invalid -- one or more arguments have incorrect type"
-msgstr ""
-
-#: f/bad.def:497
-#, fuzzy
-msgid "Invalid reference to intrinsic `%A' at %0"
-msgstr "Ongeldige modus voor gen_tst_reg"
-
-#: f/bad.def:499
-#, fuzzy
-msgid "Too few arguments passed to intrinsic `%A' at %0"
-msgstr "te weinig argumenten voor functie `%s'"
-
-#: f/bad.def:500
-#, fuzzy
-msgid "Too few arguments for intrinsic `%A' at %0"
-msgstr "te weinig argumenten voor functie `%s'"
-
-#: f/bad.def:502
-#, fuzzy
-msgid "Too many arguments passed to intrinsic `%A' at %0"
-msgstr "teveel argumenten voor functie `%s'"
-
-#: f/bad.def:503
-#, fuzzy
-msgid "Too many arguments for intrinsic `%A' at %0"
-msgstr "teveel argumenten voor functie `%s'"
-
-#: f/bad.def:505
-msgid "Reference to disabled intrinsic `%A' at %0"
-msgstr ""
-
-#: f/bad.def:506
-msgid "Disabled intrinsic `%A' at %0"
-msgstr ""
-
-#: f/bad.def:508
-msgid "Reference to intrinsic subroutine `%A' as if it were a function at %0"
-msgstr ""
-
-#: f/bad.def:509
-msgid "Function reference to intrinsic subroutine `%A' at %0"
-msgstr ""
-
-#: f/bad.def:511
-msgid "Reference to intrinsic function `%A' as if it were a subroutine at %0"
-msgstr ""
-
-#: f/bad.def:512
-msgid "Subroutine reference to intrinsic function `%A' at %0"
-msgstr ""
-
-#: f/bad.def:514
-msgid "Reference to unimplemented intrinsic `%A' at %0 -- use EXTERNAL to reference user-written procedure with this name"
-msgstr ""
-
-#: f/bad.def:515
-#, fuzzy
-msgid "Unimplemented intrinsic `%A' at %0"
-msgstr "ingebouwde functie `%s' is niet geïmplementeerd"
-
-#: f/bad.def:517
-msgid "Reference to unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"
-msgstr ""
-
-#: f/bad.def:518
-msgid "Unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"
-msgstr ""
-
-#: f/bad.def:520
+#: f/bad.def:806
+#, no-c-format
msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
msgstr ""
-#: f/bad.def:522
+#: f/bad.def:809
+#, no-c-format
msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
msgstr ""
-#: f/bad.def:524
+#: f/bad.def:812
+#, no-c-format
msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
msgstr ""
-#: f/bad.def:526
+#: f/bad.def:815
+#, no-c-format
msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
msgstr ""
-#: f/bad.def:528
+#: f/bad.def:818
+#, no-c-format
msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
msgstr ""
-#: f/bad.def:530
-#, fuzzy
+#: f/bad.def:821
+#, fuzzy, no-c-format
msgid "Unable to open INCLUDE file `%A' at %0"
msgstr "kan bestand '%s' niet openen"
-#: f/bad.def:532
-msgid "Attempt to modify variable `%A' at %0 while it serves as DO-loop iterator at %1"
-msgstr ""
-
-#: f/bad.def:533 f/bad.def:536
-msgid "Modification of DO-loop iterator `%A' at %0"
-msgstr ""
-
-#: f/bad.def:535
-msgid "Attempt to modify variable `%A' via item #%B in list at %0 while it serves as implied-DO iterator at %1"
-msgstr ""
-
-#: f/bad.def:538
-#, c-format
-msgid "Array has too many dimensions, as of dimension specifier at %0"
-msgstr ""
-
-#: f/bad.def:539
-#, fuzzy, c-format
-msgid "Too many dimensions at %0"
-msgstr "Teveel argumenten in oproep van `%s'"
-
-#: f/bad.def:541
-#, c-format
+#: f/bad.def:839
+#, no-c-format
msgid "Null argument at %0 for statement function reference at %1"
msgstr ""
-#: f/bad.def:543
-#, c-format
+#: f/bad.def:842
+#, no-c-format
msgid "Null argument at %0 for procedure invocation at %1"
msgstr ""
-#: f/bad.def:545
+#: f/bad.def:845
+#, no-c-format
msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
msgstr ""
-#: f/bad.def:547
+#: f/bad.def:848
+#, no-c-format
msgid "%A too many arguments as of %0 for statement function reference at %1"
msgstr ""
-#: f/bad.def:549
+#: f/bad.def:851
+#, no-c-format
msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
msgstr ""
-#: f/bad.def:551
-#, c-format
+#: f/bad.def:854
+#, no-c-format
msgid "Unsupported FORMAT specifier at %0"
msgstr ""
-#: f/bad.def:553
-#, c-format
+#: f/bad.def:857
+#, no-c-format
msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
msgstr ""
-#: f/bad.def:555
-msgid "Unsupported OPEN control item at %0 -- ACTION=, ASSOCIATEVARIABLE=, BLOCKSIZE=, BUFFERCOUNT=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, DISPOSE=, EXTENDSIZE=, INITIALSIZE=, KEY=, MAXREC=, NOSPANBLOCKS, ORGANIZATION=, PAD=, POSITION=, READONLY=, RECORDTYPE=, SHARED=, and USEROPEN= are not supported"
-msgstr ""
-
-#: f/bad.def:556
-#, c-format
-msgid "Unsupported OPEN control item at %0"
-msgstr ""
-
-#: f/bad.def:558
-msgid "Unsupported INQUIRE control item at %0 -- ACTION=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, KEYED=, ORGANIZATION=, PAD=, POSITION=, READ=, READWRITE=, RECORDTYPE=, and WRITE= are not supported"
-msgstr ""
-
-#: f/bad.def:559
-#, c-format
-msgid "Unsupported INQUIRE control item at %0"
-msgstr ""
-
-#: f/bad.def:561
-msgid "Unsupported READ control item at %0 -- ADVANCE=, EOR=, KEYEQ=, KEYGE=, KEYGT=, KEYID=, NULLS=, and SIZE= are not supported"
-msgstr ""
-
-#: f/bad.def:562
-#, c-format
-msgid "Unsupported READ control item at %0"
-msgstr ""
-
-#: f/bad.def:564
-msgid "Unsupported WRITE control item at %0 -- ADVANCE= and EOR= are not supported"
-msgstr ""
-
-#: f/bad.def:565
-#, c-format
-msgid "Unsupported WRITE control item at %0"
-msgstr ""
-
-#: f/bad.def:567
-#, c-format
+#: f/bad.def:880
+#, no-c-format
msgid "Unsupported VXT statement at %0"
msgstr ""
-#: f/bad.def:569
+#: f/bad.def:883
+#, no-c-format
msgid "Attempt to specify second initial value for `%A' at %0"
msgstr ""
-#: f/bad.def:571
+#: f/bad.def:886
+#, no-c-format
msgid "Too few initial values in list of initializers for `%A' at %0"
msgstr ""
-#: f/bad.def:573
-#, c-format
+#: f/bad.def:889
+#, no-c-format
msgid "Too many initial values in list of initializers starting at %0"
msgstr ""
-#: f/bad.def:575
+#: f/bad.def:892
+#, no-c-format
msgid "Array or substring specification for `%A' out of range in statement at %0"
msgstr ""
-#: f/bad.def:577
+#: f/bad.def:895
+#, no-c-format
msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
msgstr ""
-#: f/bad.def:579
+#: f/bad.def:898
+#, no-c-format
msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
msgstr ""
-#: f/bad.def:581
+#: f/bad.def:901
+#, no-c-format
msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
msgstr ""
-#: f/bad.def:583
-#, c-format
+#: f/bad.def:904
+#, no-c-format
msgid "Not an integer constant expression in implied do-loop in statement at %0"
msgstr ""
-#: f/bad.def:585
+#: f/bad.def:907
+#, no-c-format
msgid "Attempt to specify second initial value for element of `%A' at %0"
msgstr ""
-#: f/bad.def:587
+#: f/bad.def:910
+#, no-c-format
msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
msgstr ""
-#: f/bad.def:589
+#: f/bad.def:913
+#, no-c-format
msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
msgstr ""
-#: f/bad.def:591
+#: f/bad.def:916
+#, no-c-format
msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
msgstr ""
-#: f/bad.def:593
+#: f/bad.def:919
+#, no-c-format
msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:595
+#: f/bad.def:922
+#, no-c-format
msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:597
+#: f/bad.def:925
+#, no-c-format
msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:599
+#: f/bad.def:928
+#, no-c-format
msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
msgstr ""
-#: f/bad.def:601
-msgid "Padding of %A %D required before `%B' in common block `%C' at %0 -- consider reordering members, largest-type-size first"
-msgstr ""
-
-#: f/bad.def:602
-msgid "Padding of %A %D required before `%B' in common block `%C' at %0"
-msgstr ""
-
-#: f/bad.def:604
+#: f/bad.def:936
+#, no-c-format
msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
msgstr ""
-#: f/bad.def:606
+#: f/bad.def:939
+#, no-c-format
msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:608
+#: f/bad.def:942
+#, no-c-format
msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
msgstr ""
-#: f/bad.def:610
+#: f/bad.def:945
+#, no-c-format
msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
msgstr ""
-#: f/bad.def:612
-#, c-format
-msgid "Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression"
-msgstr ""
-
-#: f/bad.def:613
-#, fuzzy, c-format
-msgid "Invalid length specification at %0"
-msgstr "ongeldige linker operand van %s"
-
-#: f/bad.def:615
-msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type"
-msgstr ""
-
-#: f/bad.def:616
-msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s)"
-msgstr ""
-
-#: f/bad.def:618
+#: f/bad.def:958
+#, no-c-format
msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
msgstr ""
-#: f/bad.def:620
-msgid "Common block `%A' initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block"
-msgstr ""
-
-#: f/bad.def:621
-msgid "Common block `%A' initialized at %0 already initialized at %1"
-msgstr ""
-
-#: f/bad.def:623
-msgid "Initial padding for common block `%A' is %B %C at %0 -- consider reordering members, largest-type-size first"
-msgstr ""
-
-#: f/bad.def:624
-msgid "Initial padding for common block `%A' is %B %C at %0"
-msgstr ""
-
-#: f/bad.def:626
-msgid "Initial padding for common block `%A' is %B %D at %0 but %C %E at %1 -- consider reordering members, largest-type-size first"
-msgstr ""
-
-#: f/bad.def:627
-msgid "Initial padding for common block `%A' is %B %D at %0 but %C %E at %1"
-msgstr ""
-
-#: f/bad.def:629
+#: f/bad.def:976
+#, no-c-format
msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
msgstr ""
-#: f/bad.def:631
+#: f/bad.def:979
+#, no-c-format
msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
msgstr ""
-#: f/bad.def:633
-msgid "Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1 -- use consistent definitions or reorder program units in source file"
-msgstr ""
-
-#: f/bad.def:634
-msgid "Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1"
-msgstr ""
-
-#: f/bad.def:636
-#, c-format
+#: f/bad.def:987
+#, no-c-format
msgid "Blank common initialized at %0"
msgstr ""
-#: f/bad.def:638
+#: f/bad.def:990
+#, no-c-format
msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
msgstr ""
-#: f/bad.def:640
+#: f/bad.def:993
+#, no-c-format
msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
msgstr ""
-#: f/bad.def:642
+#: f/bad.def:996
+#, no-c-format
msgid "Character `%A' (for example) is upper-case in symbol name at %0"
msgstr ""
-#: f/bad.def:644
+#: f/bad.def:999
+#, no-c-format
msgid "Character `%A' (for example) is lower-case in symbol name at %0"
msgstr ""
-#: f/bad.def:646
+#: f/bad.def:1002
+#, no-c-format
msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
msgstr ""
-#: f/bad.def:648
+#: f/bad.def:1005
+#, no-c-format
msgid "Initial character `%A' is lower-case in symbol name at %0"
msgstr ""
-#: f/bad.def:650
-msgid "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely"
-msgstr ""
-
-#: f/bad.def:651
-msgid "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0"
-msgstr ""
-
-#: f/bad.def:653
+#: f/bad.def:1013
+#, no-c-format
msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
msgstr ""
-#: f/bad.def:655
-#, c-format
+#: f/bad.def:1016
+#, no-c-format
msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
msgstr ""
-#: f/bad.def:657
-msgid "Invalid actual argument at %0 -- replace hollerith constants with %%REF('string') and typeless constants with INTEGER constant equivalents, or use -fugly-args or -fugly"
-msgstr ""
-
-# Is the %s the argument, or is it 'of' the argument?
-#: f/bad.def:658
-#, fuzzy, c-format
-msgid "Invalid actual argument at %0"
-msgstr "ongeldig type-argument `%s'"
-
-#: f/bad.def:660
-msgid "Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision"
-msgstr ""
-
-#: f/bad.def:661
-msgid "Quadruple-precision floating-point unsupported"
-msgstr ""
-
-#: f/bad.def:663
-msgid "Initialization of large (%B-unit) aggregate area `%A' at %0 currently very slow and takes lots of memory during g77 compile -- to be improved in 0.6"
-msgstr ""
-
-#: f/bad.def:664
-msgid "This could take a while (initializing `%A' at %0)..."
-msgstr ""
-
-#: f/bad.def:666
-#, c-format
+#: f/bad.def:1034
+#, no-c-format
msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
msgstr ""
-#: f/bad.def:668
-#, fuzzy, c-format
+#: f/bad.def:1037
+#, fuzzy, no-c-format
msgid "Truncating characters on right side of character constant at %0"
msgstr "karakterconstante met meer dan één karakter"
-#: f/bad.def:670
-#, c-format
+#: f/bad.def:1040
+#, no-c-format
msgid "Truncating characters on right side of hollerith constant at %0"
msgstr ""
-#: f/bad.def:672
-#, c-format
+#: f/bad.def:1043
+#, no-c-format
msgid "Truncating non-zero data on left side of numeric constant at %0"
msgstr ""
-#: f/bad.def:674
-#, c-format
+#: f/bad.def:1046
+#, no-c-format
msgid "Truncating non-zero data on left side of typeless constant at %0"
msgstr ""
-#: f/bad.def:676
-#, fuzzy
+#: f/bad.def:1049
+#, fuzzy, no-c-format
msgid "Typeless constant at %0 too large"
msgstr "integerconstante buiten bereik"
-#: f/bad.def:678
-#, c-format
+#: f/bad.def:1052
+#, no-c-format
msgid "First-column ampersand continuation at %0"
msgstr ""
-#: f/bad.def:680 f/bad.def:682
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:684 f/bad.def:686
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:688 f/bad.def:690
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:692
+#: f/bad.def:1073
+#, no-c-format
msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:694
+#: f/bad.def:1076
+#, no-c-format
msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:696 f/bad.def:698
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: f/bad.def:700
-#, fuzzy
+#: f/bad.def:1085
+#, fuzzy, no-c-format
msgid "Array `%A' at %0 is too large to handle"
msgstr "omvang van array `%s' is te groot"
-#: f/bad.def:702
-#, fuzzy
+#: f/bad.def:1088
+#, fuzzy, no-c-format
msgid "Statement function `%A' defined at %0 is not used"
msgstr "label `%s' gedefinieerd maar niet gebruikt"
-#: f/bad.def:704
+#: f/bad.def:1091
+#, no-c-format
msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
msgstr ""
-#: f/bad.def:706
-#, fuzzy
+#: f/bad.def:1094
+#, fuzzy, no-c-format
msgid "Internal compiler error -- cannot perform operation"
msgstr "interne fout - dup-operatie"
@@ -22830,72 +20098,72 @@ 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
#, fuzzy, c-format
msgid "final field '%s' may not have been initialized"
msgstr "object van variabele lengte mag geen beginwaarde krijgen"
-#: java/class.c:567 java/class.c:592
+#: java/class.c:539 java/class.c:564
msgid "internal error - too many interface type"
msgstr ""
-#: java/class.c:742
+#: java/class.c:677
msgid "bad method signature"
msgstr ""
-#: java/class.c:787
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
msgstr ""
-#: java/class.c:789
+#: java/class.c:728
#, fuzzy, c-format
msgid "duplicate ConstantValue attribute for field '%s'"
msgstr "niet-constante waarde voor tagveld `%s'"
-#: java/class.c:800
+#: java/class.c:739
#, c-format
msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr ""
-#: java/class.c:1149
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
msgstr ""
-#: java/class.c:1407
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
msgstr ""
# goede vertaling voor 'overrides'?
-#: java/class.c:2092
+#: java/class.c:2067
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr "niet-static methode '%s' vervangt static methode"
-#: java/decl.c:1511
+#: java/decl.c:1537
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr ""
-#: java/decl.c:1599
+#: java/decl.c:1618
msgid "bad type in parameter debug info"
msgstr ""
-#: java/decl.c:1609
+#: java/decl.c:1628
#, c-format
msgid "bad PC range for debug info for local `%s'"
msgstr ""
-#: java/expr.c:550
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
msgstr ""
-#: java/expr.c:1504
+#: java/expr.c:1536
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr ""
@@ -22904,242 +20172,257 @@ msgstr ""
# dikwijls 'bibliotheek' zien gebruiken.
# De vertaalde boodschappen voor make gebruiken dat op het ogenblik wél, maar
# ik ben van plan daar verandering in te brengen.
-#: java/expr.c:1533
+#: java/expr.c:1565
#, c-format
msgid "field `%s' not found"
msgstr "veld `%s' niet gevonden"
-#: java/expr.c:1684
+#: java/expr.c:1717
msgid "ret instruction not implemented"
msgstr ""
-#: java/expr.c:1821
+#: java/expr.c:1852
#, c-format
msgid "method '%s' not found in class"
msgstr ""
-#: java/expr.c:2025
+#: java/expr.c:2055
#, c-format
msgid "failed to find class '%s'"
msgstr "kan klasse '%s' niet vinden"
-#: java/expr.c:2037
+#: java/expr.c:2065
#, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr ""
-#: java/expr.c:2047
+#: java/expr.c:2075
msgid "invokestatic on non static method"
msgstr ""
-#: java/expr.c:2052
+#: java/expr.c:2080
msgid "invokestatic on abstract method"
msgstr ""
-#: java/expr.c:2060
+#: java/expr.c:2088
msgid "invoke[non-static] on static method"
msgstr ""
-#: java/expr.c:2337
+#: java/expr.c:2373
#, fuzzy, c-format
msgid "missing field '%s' in '%s'"
msgstr "beginwaarde ontbreekt"
-#: java/expr.c:2343
+#: java/expr.c:2379
#, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr ""
-#: java/expr.c:2366
+#: java/expr.c:2402
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr ""
-#: java/expr.c:2371
+#: java/expr.c:2407
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
msgstr ""
-#: java/expr.c:2378
+#: java/expr.c:2414
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr "toekenning aan final-veld `%s' niet in constructor"
-#: java/expr.c:2616
+#: java/expr.c:2661
#, fuzzy, c-format
msgid "can't expand %s"
msgstr "open %s"
-#: java/expr.c:2792
+#: java/expr.c:2838
msgid "invalid PC in line number table"
msgstr "ongeldige PC in tabel met regelnummers"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2837
+#: 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:2874
+#: 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:3193
+#: java/expr.c:3238
#, fuzzy
msgid "unrecogized wide sub-instruction"
msgstr "signature-string niet herkend"
-#: 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:379
+#: java/jcf-parse.c:338
msgid "bad string constant"
msgstr "slechte stringconstante"
-#: java/jcf-parse.c:435
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
msgstr ""
-#: java/jcf-parse.c:693
+#: java/jcf-parse.c:528
+#, fuzzy, c-format
+msgid "can't reopen %s"
+msgstr "open %s"
+
+#: java/jcf-parse.c:533
+#, fuzzy, c-format
+msgid "can't close %s"
+msgstr "close %s"
+
+#: java/jcf-parse.c:615
#, fuzzy, c-format
msgid "cannot find file for class %s"
msgstr "[kan %s niet vinden]"
-#: java/jcf-parse.c:705
+#: java/jcf-parse.c:627
#, fuzzy
msgid "not a valid Java .class file"
msgstr "ongeldige basisklasse"
-#: java/jcf-parse.c:708
+#: java/jcf-parse.c:630
#, fuzzy
msgid "error while parsing constant pool"
msgstr "%s voor stringconstante"
-#: java/jcf-parse.c:711
+#: java/jcf-parse.c:633
#, fuzzy, c-format
msgid "error in constant pool entry #%d\n"
msgstr "constant object wordt beschreven (argument %d)"
#. FIXME - where was first time
-#: java/jcf-parse.c:723
+#: java/jcf-parse.c:645
#, c-format
msgid "reading class %s for the second time from %s"
msgstr ""
-#: java/jcf-parse.c:741
+#: java/jcf-parse.c:663
msgid "error while parsing fields"
msgstr ""
-#: java/jcf-parse.c:744
+#: java/jcf-parse.c:666
msgid "error while parsing methods"
msgstr ""
-#: java/jcf-parse.c:747
+#: java/jcf-parse.c:669
msgid "error while parsing final attributes"
msgstr ""
-#: java/jcf-parse.c:761
+#: java/jcf-parse.c:683
#, c-format
msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr ""
-#: java/jcf-parse.c:846
+#: java/jcf-parse.c:773
msgid "missing Code attribute"
msgstr ""
-#: java/jcf-parse.c:1081
+#: java/jcf-parse.c:1010
msgid "source file seen twice on command line and will be compiled only once"
msgstr ""
-#: java/jcf-parse.c:1097
+#: java/jcf-parse.c:1026
#, fuzzy
msgid "no input file specified"
msgstr "Geen invoerbestanden"
-#: java/jcf-parse.c:1129
+#: java/jcf-parse.c:1055
#, fuzzy, c-format
msgid "can't close input file %s"
msgstr "kan bestand '%s' niet openen"
-#: java/jcf-parse.c:1166
+#: java/jcf-parse.c:1092
#, c-format
msgid "bad zip/jar file %s"
msgstr ""
-#: java/jcf-write.c:2626
+#: java/jcf-write.c:2641
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr ""
-#: java/jcf-write.c:2933
+#: java/jcf-write.c:2979
#, fuzzy
msgid "field initializer type mismatch"
msgstr "ongeldige beginwaarde voor bit-string"
-#: java/jcf-write.c:3342
+#: java/jcf-write.c:3387
#, fuzzy, c-format
msgid "can't create directory %s"
msgstr "dubbele folder `%s' wordt genegeerd\n"
-#: java/jcf-write.c:3369
+#: java/jcf-write.c:3441
#, fuzzy, c-format
-msgid "can't to open %s"
+msgid "can't create %s"
msgstr "open %s"
-#: java/jv-scan.c:183
+#: 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
#, fuzzy, c-format
msgid "can't open output file `%s'"
msgstr "kan bestand '%s' niet openen"
-#: java/jv-scan.c:222
+#: java/jv-scan.c:224
#, fuzzy, c-format
msgid "file not found `%s'"
msgstr "kan %s niet vinden"
-#: java/jvspec.c:384
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
msgstr ""
-#: java/jvspec.c:390
-msgid "-R requires -o"
+#: java/jvspec.c:429
+#, fuzzy, c-format
+msgid "`%s' is not a valid class name"
+msgstr "-fPIC is niet geldig met -mcoff"
+
+#: java/jvspec.c:435
+msgid "--resource requires -o"
msgstr ""
-#: java/jvspec.c:397
+#: java/jvspec.c:442
msgid "warning: already-compiled .class files ignored with -C"
msgstr ""
-#: java/jvspec.c:404
+#: java/jvspec.c:449
#, fuzzy
msgid "cannot specify both -C and -o"
msgstr "-EB en -EL mogen niet samen gebruikt worden"
-#: java/jvspec.c:416
+#: java/jvspec.c:461
msgid "cannot create temporary file"
msgstr ""
-#: java/jvspec.c:444
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
msgstr ""
-#: java/jvspec.c:501
+#: java/jvspec.c:538
msgid "cannot specify `main' class when not linking"
msgstr ""
-#: java/lang.c:433
+#: java/lang.c:543
msgid "can't do dependency tracking with input from stdin"
msgstr ""
-#: java/lang.c:449
+#: java/lang.c:559
msgid "couldn't determine target name for dependency tracking"
msgstr ""
@@ -23158,363 +20441,304 @@ msgstr ""
msgid "can't mangle %s"
msgstr "close %s"
-#: 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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:748
-#: ../../../gcc/vanilla/gcc/java/parse.y:786
+#: ../../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
#, fuzzy
-msgid "Missing name"
+msgid "Missing term"
msgstr "beginwaarde ontbreekt"
-#: ../../../gcc/vanilla/gcc/java/parse.y:750
-#: ../../../gcc/vanilla/gcc/java/parse.y:788
-#: ../../../gcc/vanilla/gcc/java/parse.y:813
-#: ../../../gcc/vanilla/gcc/java/parse.y:997
-#: ../../../gcc/vanilla/gcc/java/parse.y:1344
-#: ../../../gcc/vanilla/gcc/java/parse.y:1555
-#: ../../../gcc/vanilla/gcc/java/parse.y:1557
-#: ../../../gcc/vanilla/gcc/java/parse.y:1786
-#: ../../../gcc/vanilla/gcc/java/parse.y:1812
-#: ../../../gcc/vanilla/gcc/java/parse.y:1823
-#: ../../../gcc/vanilla/gcc/java/parse.y:1834
-#: ../../../gcc/vanilla/gcc/java/parse.y:1846
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:811
+#: ../../gcc-3cvs/gcc/java/parse.y:732 ../../gcc-3cvs/gcc/java/parse.y:770
+#, fuzzy
+msgid "Missing name"
+msgstr "beginwaarde ontbreekt"
+
+#: ../../gcc-3cvs/gcc/java/parse.y:795
msgid "'*' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:825
+#: ../../gcc-3cvs/gcc/java/parse.y:809
msgid "Class or interface declaration expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:860
-#: ../../../gcc/vanilla/gcc/java/parse.y:862
+#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848
msgid "Missing class name"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:865
-#: ../../../gcc/vanilla/gcc/java/parse.y:869
-#: ../../../gcc/vanilla/gcc/java/parse.y:877
-#: ../../../gcc/vanilla/gcc/java/parse.y:1042
-#: ../../../gcc/vanilla/gcc/java/parse.y:1290
-#: ../../../gcc/vanilla/gcc/java/parse.y:1292
-#: ../../../gcc/vanilla/gcc/java/parse.y:1621
-#: ../../../gcc/vanilla/gcc/java/parse.y:1857
-#: ../../../gcc/vanilla/gcc/java/parse.y:1889
-#: ../../../gcc/vanilla/gcc/java/parse.y:1941
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:879
+#: ../../gcc-3cvs/gcc/java/parse.y:865
msgid "Missing super class name"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:889
-#: ../../../gcc/vanilla/gcc/java/parse.y:905
+#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891
msgid "Missing interface name"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:976
-#: ../../../gcc/vanilla/gcc/java/parse.y:1309
-#: ../../../gcc/vanilla/gcc/java/parse.y:1370
-#: ../../../gcc/vanilla/gcc/java/parse.y:1579
-#: ../../../gcc/vanilla/gcc/java/parse.y:1801
-#: ../../../gcc/vanilla/gcc/java/parse.y:1810
-#: ../../../gcc/vanilla/gcc/java/parse.y:1821
-#: ../../../gcc/vanilla/gcc/java/parse.y:1832
-#: ../../../gcc/vanilla/gcc/java/parse.y:1844
-#: ../../../gcc/vanilla/gcc/java/parse.y:1861
-#: ../../../gcc/vanilla/gcc/java/parse.y:1863
-#: ../../../gcc/vanilla/gcc/java/parse.y:1934
-#: ../../../gcc/vanilla/gcc/java/parse.y:2105
-#: ../../../gcc/vanilla/gcc/java/parse.y:2167
-#: ../../../gcc/vanilla/gcc/java/parse.y:2319
-#: ../../../gcc/vanilla/gcc/java/parse.y:2331
-#: ../../../gcc/vanilla/gcc/java/parse.y:2338
-#: ../../../gcc/vanilla/gcc/java/parse.y:2345
-#: ../../../gcc/vanilla/gcc/java/parse.y:2356
-#: ../../../gcc/vanilla/gcc/java/parse.y:2358
-#: ../../../gcc/vanilla/gcc/java/parse.y:2396
-#: ../../../gcc/vanilla/gcc/java/parse.y:2398
-#: ../../../gcc/vanilla/gcc/java/parse.y:2400
-#: ../../../gcc/vanilla/gcc/java/parse.y:2421
-#: ../../../gcc/vanilla/gcc/java/parse.y:2423
-#: ../../../gcc/vanilla/gcc/java/parse.y:2425
-#: ../../../gcc/vanilla/gcc/java/parse.y:2441
-#: ../../../gcc/vanilla/gcc/java/parse.y:2443
-#: ../../../gcc/vanilla/gcc/java/parse.y:2464
-#: ../../../gcc/vanilla/gcc/java/parse.y:2466
-#: ../../../gcc/vanilla/gcc/java/parse.y:2468
-#: ../../../gcc/vanilla/gcc/java/parse.y:2496
-#: ../../../gcc/vanilla/gcc/java/parse.y:2498
-#: ../../../gcc/vanilla/gcc/java/parse.y:2500
-#: ../../../gcc/vanilla/gcc/java/parse.y:2502
-#: ../../../gcc/vanilla/gcc/java/parse.y:2520
-#: ../../../gcc/vanilla/gcc/java/parse.y:2522
-#: ../../../gcc/vanilla/gcc/java/parse.y:2533
-#: ../../../gcc/vanilla/gcc/java/parse.y:2544
-#: ../../../gcc/vanilla/gcc/java/parse.y:2555
-#: ../../../gcc/vanilla/gcc/java/parse.y:2566
-#: ../../../gcc/vanilla/gcc/java/parse.y:2577
-#: ../../../gcc/vanilla/gcc/java/parse.y:2590
-#: ../../../gcc/vanilla/gcc/java/parse.y:2594
-#: ../../../gcc/vanilla/gcc/java/parse.y:2596
-#: ../../../gcc/vanilla/gcc/java/parse.y:2609
-#, fuzzy
-msgid "Missing term"
-msgstr "beginwaarde ontbreekt"
-
-#: ../../../gcc/vanilla/gcc/java/parse.y:991
+#: ../../gcc-3cvs/gcc/java/parse.y:977
#, fuzzy
msgid "Missing variable initializer"
msgstr "beginwaarde ontbreekt"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1008
+#: ../../gcc-3cvs/gcc/java/parse.y:994
#, fuzzy
msgid "Invalid declaration"
msgstr "lege declaratie"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1014
-#, fuzzy
-msgid "Can't specify array dimension in a declaration"
-msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
-
-#: ../../../gcc/vanilla/gcc/java/parse.y:1016
-#: ../../../gcc/vanilla/gcc/java/parse.y:1092
-#: ../../../gcc/vanilla/gcc/java/parse.y:2142
-#: ../../../gcc/vanilla/gcc/java/parse.y:2164
-#: ../../../gcc/vanilla/gcc/java/parse.y:2168
-#: ../../../gcc/vanilla/gcc/java/parse.y:2203
-#: ../../../gcc/vanilla/gcc/java/parse.y:2280
-#: ../../../gcc/vanilla/gcc/java/parse.y:2290
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1020
+#: ../../gcc-3cvs/gcc/java/parse.y:1001
#, fuzzy
msgid "Unbalanced ']'"
msgstr "niet-gebalanceerde `#endif'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1056
+#: ../../gcc-3cvs/gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1062
-#: ../../../gcc/vanilla/gcc/java/parse.y:1064
-#: ../../../gcc/vanilla/gcc/java/parse.y:2025
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1067
+#: ../../gcc-3cvs/gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1090
-#: ../../../gcc/vanilla/gcc/java/parse.y:1535
-#: ../../../gcc/vanilla/gcc/java/parse.y:1542
-#: ../../../gcc/vanilla/gcc/java/parse.y:1551
-#: ../../../gcc/vanilla/gcc/java/parse.y:1553
-#: ../../../gcc/vanilla/gcc/java/parse.y:1581
-#: ../../../gcc/vanilla/gcc/java/parse.y:1689
-#: ../../../gcc/vanilla/gcc/java/parse.y:1970
-#: ../../../gcc/vanilla/gcc/java/parse.y:2023
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1106
+#: ../../gcc-3cvs/gcc/java/parse.y:1096
#, fuzzy
msgid "Missing formal parameter term"
msgstr "parameternaam ontbreekt uit parameterlijst"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1121
-#: ../../../gcc/vanilla/gcc/java/parse.y:1126
+#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116
#, fuzzy
msgid "Missing identifier"
msgstr "beginwaarde ontbreekt"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1146
-#: ../../../gcc/vanilla/gcc/java/parse.y:1155
+#: ../../gcc-3cvs/gcc/java/parse.y:1136 ../../gcc-3cvs/gcc/java/parse.y:1145
msgid "Missing class type term"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1307
+#: ../../gcc-3cvs/gcc/java/parse.y:1301
#, fuzzy
msgid "Invalid interface type"
msgstr "Ongeldig register voor vergelijking"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1499
-#: ../../../gcc/vanilla/gcc/java/parse.y:1668
-#: ../../../gcc/vanilla/gcc/java/parse.y:1670
+#: ../../gcc-3cvs/gcc/java/parse.y:1494 ../../gcc-3cvs/gcc/java/parse.y:1663
+#: ../../gcc-3cvs/gcc/java/parse.y:1665
msgid "':' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1521
-#: ../../../gcc/vanilla/gcc/java/parse.y:1526
-#: ../../../gcc/vanilla/gcc/java/parse.y:1531
+#: ../../gcc-3cvs/gcc/java/parse.y:1516 ../../gcc-3cvs/gcc/java/parse.y:1521
+#: ../../gcc-3cvs/gcc/java/parse.y:1526
#, fuzzy
msgid "Invalid expression statement"
msgstr "ongeldige expressie als operand"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1549
-#: ../../../gcc/vanilla/gcc/java/parse.y:1577
-#: ../../../gcc/vanilla/gcc/java/parse.y:1617
-#: ../../../gcc/vanilla/gcc/java/parse.y:1685
-#: ../../../gcc/vanilla/gcc/java/parse.y:1753
-#: ../../../gcc/vanilla/gcc/java/parse.y:1859
-#: ../../../gcc/vanilla/gcc/java/parse.y:1927
-#: ../../../gcc/vanilla/gcc/java/parse.y:2017
-#: ../../../gcc/vanilla/gcc/java/parse.y:2019
-#: ../../../gcc/vanilla/gcc/java/parse.y:2027
-#: ../../../gcc/vanilla/gcc/java/parse.y:2263
-#: ../../../gcc/vanilla/gcc/java/parse.y:2265
+#: ../../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 ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1619
+#: ../../gcc-3cvs/gcc/java/parse.y:1614
msgid "Missing term or ')'"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1666
+#: ../../gcc-3cvs/gcc/java/parse.y:1661
#, fuzzy
msgid "Missing or invalid constant expression"
msgstr "overflow in constante expressie"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1687
+#: ../../gcc-3cvs/gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1726
+#: ../../gcc-3cvs/gcc/java/parse.y:1721
#, fuzzy
msgid "Invalid control expression"
msgstr "Ongeldig token in expressie"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1728
-#: ../../../gcc/vanilla/gcc/java/parse.y:1730
+#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725
#, fuzzy
msgid "Invalid update expression"
msgstr "Ongeldig token in expressie"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1755
+#: ../../gcc-3cvs/gcc/java/parse.y:1750
#, fuzzy
msgid "Invalid init statement"
msgstr "ongeldige beginwaarde"
-#: ../../../gcc/vanilla/gcc/java/parse.y:1930
+#: ../../gcc-3cvs/gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1972
+#: ../../gcc-3cvs/gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:1974
-#: ../../../gcc/vanilla/gcc/java/parse.y:1976
+#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987
msgid "'class' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2021
+#: ../../gcc-3cvs/gcc/java/parse.y:2032
msgid "')' or term expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2140
+#: ../../gcc-3cvs/gcc/java/parse.y:2151
msgid "'[' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2218
+#: ../../gcc-3cvs/gcc/java/parse.y:2229
msgid "Field expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2275
-#: ../../../gcc/vanilla/gcc/java/parse.y:2285
+#: ../../gcc-3cvs/gcc/java/parse.y:2286 ../../gcc-3cvs/gcc/java/parse.y:2296
msgid "Missing term and ']' expected"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2389
+#: ../../gcc-3cvs/gcc/java/parse.y:2400
#, fuzzy
msgid "']' expected, invalid type expression"
msgstr "ongeldige waarheidsexpressie"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2392
+#: ../../gcc-3cvs/gcc/java/parse.y:2403
#, fuzzy
msgid "Invalid type expression"
msgstr "Ongeldig token in expressie"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2504
+#: ../../gcc-3cvs/gcc/java/parse.y:2515
#, fuzzy
msgid "Invalid reference type"
msgstr "Ongeldige modus voor gen_tst_reg"
-#: ../../../gcc/vanilla/gcc/java/parse.y:2982
+#: ../../gcc-3cvs/gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2984
+#: ../../gcc-3cvs/gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:2993
+#: ../../gcc-3cvs/gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:3053
-#: ../../../gcc/vanilla/gcc/java/parse.y:3055
+#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
"%s"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:6789
+#: ../../gcc-3cvs/gcc/java/parse.y:6867
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:6860
+#: ../../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 ""
# 'whitespace' -> 'witruimte'?
-#: ../../../gcc/vanilla/gcc/java/parse.y:12191
+#: ../../gcc-3cvs/gcc/java/parse.y:12266
#, fuzzy, c-format
msgid "missing static field `%s'"
msgstr "ontbrekende witruimte na getal `%s'"
-#: ../../../gcc/vanilla/gcc/java/parse.y:12196
+#: ../../gcc-3cvs/gcc/java/parse.y:12271
#, c-format
msgid "not a static field `%s'"
msgstr "`%s' is geen static veld"
-#: ../../../gcc/vanilla/gcc/java/parse.y:12239
+#: ../../gcc-3cvs/gcc/java/parse.y:12314
#, c-format
msgid "No case for %s"
msgstr ""
-#: ../../../gcc/vanilla/gcc/java/parse.y:13140
+#: ../../gcc-3cvs/gcc/java/parse.y:13240
#, fuzzy, c-format
msgid "unregistered operator %s"
msgstr "registernaam niet opgegeven voor `%s'"
# Moet 'signature-string' vertaald worden?
-#: java/typeck.c:566
+#: java/typeck.c:553
msgid "junk at end of signature string"
msgstr "Brol aan einde van signature-string."
-#: 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 ""
@@ -23524,165 +20748,192 @@ msgid "Disable automatic array bounds checking"
msgstr ""
#: java/lang-options.h:34
-msgid "Assume native functions are implemented using JNI"
+msgid "Disable assignability checks for stores into object arrays"
msgstr ""
#: java/lang-options.h:36
-msgid "Set class path and suppress system path"
+msgid "Assume native functions are implemented using JNI"
msgstr ""
#: java/lang-options.h:38
-msgid "Set class path"
+msgid "Replace system path"
msgstr ""
#: java/lang-options.h:40
-msgid "Choose class whose main method should be used"
+msgid "Set class path"
msgstr ""
#: java/lang-options.h:42
-msgid "Choose input encoding (default comes from locale)"
+msgid "Set class path (deprecated: use --classpath instead)"
msgstr ""
#: java/lang-options.h:44
-msgid "Add directory to class path"
+msgid "Choose class whose main method should be used"
msgstr ""
#: java/lang-options.h:46
-msgid "Directory where class files should be written"
+msgid "Choose input encoding (default comes from locale)"
msgstr ""
#: java/lang-options.h:48
-msgid "Warn if modifiers are specified when not necessary"
+msgid "Add directory to class path"
msgstr ""
#: java/lang-options.h:50
-msgid "Warn if deprecated empty statements are found"
+msgid "Directory where class files should be written"
msgstr ""
#: java/lang-options.h:52
-msgid "Warn if .class files are out of date"
+msgid "Warn if modifiers are specified when not necessary"
msgstr ""
#: java/lang-options.h:54
-msgid "Always check for non gcj generated classes archives"
+msgid "Warn if deprecated empty statements are found"
msgstr ""
#: java/lang-options.h:56
+msgid "Warn if .class files are out of date"
+msgstr ""
+
+#: java/lang-options.h:58
+msgid "Always check for non gcj generated classes archives"
+msgstr ""
+
+#: java/lang-options.h:60
msgid "Never optimize static class initialization code"
msgstr ""
-#: objc/objc-act.c:606
-msgid "no class name specified as argument to -fconstant-string-class"
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
msgstr ""
-#: objc/objc-act.c:757
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
msgstr ""
-#: objc/objc-act.c:801
+#: 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:939
+#: objc/objc-act.c:914
+#, c-format
+msgid "`%s' cannot be statically allocated"
+msgstr "`%s' kan niet statisch gealloceerd worden"
+
+#: objc/objc-act.c:963
#, c-format
msgid "unexpected type for `id' (%s)"
msgstr ""
-#: objc/objc-act.c:944
+#: objc/objc-act.c:968
msgid "undefined type `id', please import <objc/objc.h>"
msgstr ""
-#: objc/objc-act.c:996
+#: objc/objc-act.c:1019
#, c-format
msgid "protocol `%s' has circular dependency"
msgstr ""
-#: objc/objc-act.c:1018 objc/objc-act.c:5229
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, fuzzy, c-format
msgid "cannot find protocol declaration for `%s'"
msgstr "geen eerdere declaratie voor `%s'"
-#: objc-parse.y:1752 objc/objc-act.c:1279 objc/objc-act.c:5747
-#: objc/objc-act.c:6077 objc/objc-act.c:6126 objc/objc-act.c:6162
+#: 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
#, fuzzy, c-format
msgid "cannot find interface declaration for `%s'"
msgstr "geen eerdere declaratie voor `%s'"
-#: objc/objc-act.c:1304
+#: objc/objc-act.c:1328
#, fuzzy, c-format
msgid "cannot find reference tag for class `%s'"
msgstr "kan niet derefereren, is geen pointer."
-#: objc/objc-act.c:2314
+#: objc/objc-act.c:2050
+#, c-format
+msgid "creating selector for non existant method %s"
+msgstr ""
+
+#: objc/objc-act.c:2364
#, fuzzy, c-format
msgid "cannot find class `%s'"
msgstr "kan %s niet vinden"
-#: objc/objc-act.c:2316
+#: objc/objc-act.c:2366
#, fuzzy, c-format
msgid "class `%s' already exists"
msgstr "veld `%s' heeft al een beginwaarde gekregen"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2440
+#: objc/objc-act.c:2473
#, c-format
msgid "cannot find interface declaration for `%s', superclass of `%s'"
msgstr ""
-#: objc/objc-act.c:2447
+#: objc/objc-act.c:2480
#, fuzzy, c-format
msgid "circular inheritance in interface declaration for `%s'"
msgstr "geneste externe declaratie van `%s'"
-#: objc/objc-act.c:3500 objc/objc-act.c:3517
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
msgid "inconsistent instance variable specification"
msgstr ""
-#: objc/objc-act.c:4710
+#: 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:4876
+#: objc/objc-act.c:4946
#, c-format
msgid "invalid receiver type `%s'"
msgstr ""
-#: objc/objc-act.c:4907 objc/objc-act.c:4933 objc/objc-act.c:4981
+#: 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:4913 objc/objc-act.c:7197
+#: 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:5011
+#: objc/objc-act.c:5081
msgid "cannot find class (factory) method"
msgstr ""
-#: objc/objc-act.c:5012 objc/objc-act.c:5056
+#: 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:5029
+#: objc/objc-act.c:5099
#, c-format
msgid "method `%s' not implemented by protocol"
msgstr ""
-#: objc/objc-act.c:5038
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
msgstr ""
-#: objc/objc-act.c:5055
+#: objc/objc-act.c:5125
#, fuzzy
msgid "cannot find method"
msgstr "kan `nm' niet vinden"
+#: objc/objc-act.c:5399
+#, fuzzy, c-format
+msgid "undeclared selector `%s'"
+msgstr "ongeldige naam `%s'"
+
#. 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
@@ -23692,108 +20943,108 @@ msgstr "kan `nm' niet vinden"
#. 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:5298
+#: objc/objc-act.c:5443
#, c-format
msgid "instance variable `%s' accessed in class method"
msgstr ""
-#: objc/objc-act.c:5548
+#: objc/objc-act.c:5678
#, fuzzy, c-format
msgid "duplicate definition of class method `%s'"
msgstr "herhaalde definitie `%s'"
-#: objc/objc-act.c:5554
+#: objc/objc-act.c:5684
#, fuzzy, c-format
msgid "duplicate declaration of class method `%s'"
msgstr "impliciete declaratie van functie `%s'"
-#: objc/objc-act.c:5590
+#: objc/objc-act.c:5720
#, fuzzy, c-format
msgid "duplicate definition of instance method `%s'"
msgstr "herhaalde definitie `%s'"
-#: objc/objc-act.c:5596
+#: objc/objc-act.c:5726
#, fuzzy, c-format
msgid "duplicate declaration of instance method `%s'"
msgstr "impliciete declaratie van functie `%s'"
-#: objc/objc-act.c:5636
+#: objc/objc-act.c:5766
#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
msgstr ""
-#: objc/objc-act.c:5722
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr ""
-#: objc/objc-act.c:5769
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr ""
-#: objc/objc-act.c:5779
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
msgstr ""
-#: objc/objc-act.c:5816 objc/objc-act.c:5909
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
msgid "incomplete implementation of class `%s'"
msgstr ""
-#: objc/objc-act.c:5820 objc/objc-act.c:5914
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, c-format
msgid "incomplete implementation of category `%s'"
msgstr ""
-#: objc/objc-act.c:5825 objc/objc-act.c:5919
+#: 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:5963
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr ""
-#: objc/objc-act.c:6021 objc/objc-act.c:8118
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
msgid "`@end' missing in implementation context"
msgstr ""
-#: objc/objc-act.c:6049
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr ""
-#: objc/objc-act.c:6091
+#: objc/objc-act.c:6209
#, c-format
msgid "conflicting super class name `%s'"
msgstr ""
-#: objc/objc-act.c:6106
+#: objc/objc-act.c:6224
#, c-format
msgid "duplicate interface declaration for class `%s'"
msgstr ""
-#: objc/objc-act.c:6388
+#: objc/objc-act.c:6506
#, c-format
msgid "duplicate declaration for protocol `%s'"
msgstr ""
-#: objc/objc-act.c:7238
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr ""
-#: objc/objc-act.c:8220 objc/objc-act.c:8236
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
msgstr ""
-#: objc-parse.y:2602
+#: objc-parse.y:2656
msgid "`@end' must appear in an implementation context"
msgstr ""
-#: objc-parse.y:2876
+#: objc-parse.y:2932
msgid "method definition not in class context"
msgstr ""
@@ -23826,14 +21077,112 @@ msgstr ""
msgid "Specify the name of the class for constant strings"
msgstr "het argument van `asm' is geen constante string"
-#: config/mmix/mmix.h:112
-msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#. 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 ""
+
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr ""
+
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
msgstr ""
-#: f/lang-specs.h:35 gcc.c:677
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr ""
+
+#: 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 "GNU C ondersteunt -C niet wanneer -E niet gebruikt wordt"
+#: f/lang-specs.h:39 gcc.c:690
+#, fuzzy
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C ondersteunt -C niet wanneer -E niet gebruikt wordt"
+
+#: 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
+#, fuzzy
+msgid "may not use both -m32 and -m64"
+msgstr "-mfp64 en -m4650 mogen niet samen gebruikt worden"
+
+#: 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 "`-p' wordt niet ondersteund; gebruik `-pg' en gprof(1)"
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "profileren wordt niet ondersteund wanneer -mg gebruikt wordt\n"
+
+#: config/mips/mips.h:954
+#, fuzzy
+msgid "-pipe is not supported"
+msgstr "-pipe wordt niet ondersteund"
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr "-EB en -EL mogen niet samen gebruikt worden"
+
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
+msgstr ""
+
+#: config/i386/cygwin.h:115
+#, fuzzy
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+#: config/i386/cygwin.h:170 config/i386/mingw32.h:84
+#, fuzzy
+msgid "shared and mdll are not compatible"
+msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+#: gcc.c:867
+msgid "-E required when input is from standard input"
+msgstr "-E is nodig wanneer de invoer van standaardinvoer komt"
+
+#: gcc.c:871
+msgid "compilation of header file requested"
+msgstr ""
+
#: java/lang-specs.h:33
#, fuzzy
msgid "-fjni and -femit-class-files are incompatible"
@@ -23848,6 +21197,16 @@ msgstr "-fpic en -mapcs-reent zijn niet compatibel"
msgid "-femit-class-file should used along with -fsyntax-only"
msgstr ""
+#: treelang/lang-specs.h:52
+#, fuzzy
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+#: config/vax/netbsd-elf.h:42
+#, fuzzy
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "ingebouwde functie `%s' wordt op het ogenblik niet ondersteund"
+
#: config/mcore/mcore.h:60
msgid "choose either big or little endian, not both"
msgstr ""
@@ -23860,140 +21219,1631 @@ msgstr ""
msgid "the m210 does not have little endian support"
msgstr ""
-#: config/alpha/freebsd.h:36 config/i386/freebsd-aout.h:227
-#: config/ia64/freebsd.h:24 config/sparc/freebsd.h:31
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr "`-p' wordt niet ondersteund; gebruik `-pg' en gprof(1)"
-
-#: ada/lang-specs.h:39 gcc.c:698 java/jvspec.c:74
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
-
-#: ada/lang-specs.h:42
-msgid "-c or -S required for Ada"
-msgstr ""
-
-#: config/arm/arm.h:213
+#: config/arm/arm.h:178
msgid "-mapcs-26 and -mapcs-32 may not be used together"
msgstr "-mapcs-26 en -mapcs-32 mogen niet samen gebruikt worden"
-#: config/arm/arm.h:225
+#: config/arm/arm.h:180
msgid "-msoft-float and -mhard_float may not be used together"
msgstr "-msoft-float en -mhard_float mogen niet samen gebruikt worden"
-#: config/arm/arm.h:236
+#: config/arm/arm.h:182
msgid "-mbig-endian and -mlittle-endian may not be used together"
msgstr "-mbig-endian en -mlittle-endian mogen niet samen gebruikt worden"
-#: config/arm/arm.h:254
+#: config/mips/r3900.h:35
#, fuzzy
-msgid "incompatible interworking options"
-msgstr "incompatibele operands voor %s"
-
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd en -pedantic zijn niet compatibel"
-
-#: config/arm/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd en -mxopen zijn niet compatibel"
-
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen en -pedantic zijn niet compatibel"
+msgid "-mhard-float not supported"
+msgstr "-mhard-float wordt niet ondersteund"
-#: config/nextstep.h:161 config/nextstep.h:164
+#: config/mips/r3900.h:37
#, fuzzy
-msgid "-p profiling is no longer supported. Use -pg instead"
-msgstr "profileren met -p wordt niet meer ondersteund. Gebruik -pg."
-
-#: gcc.c:846
-msgid "-E required when input is from standard input"
-msgstr "-E is nodig wanneer de invoer van standaardinvoer komt"
+msgid "-msingle-float and -msoft-float can not both be specified"
+msgstr "-msingle-float en -msoft-float kunnen niet samen gebruikt worden."
-#: gcc.c:850
-msgid "compilation of header file requested"
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
msgstr ""
-#: config/i386/cygwin.h:169 config/i386/mingw32.h:69
-#, fuzzy
-msgid "shared and mdll are not compatible"
-msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
-
-#: config/i386/sco5.h:662 config/i386/sco5.h:737
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
msgid "-static not valid with -mcoff"
msgstr "-static is niet geldig met -mcoff"
-#: config/i386/sco5.h:663 config/i386/sco5.h:738
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
msgid "-shared not valid with -mcoff"
msgstr "-shared is niet geldig met -mcoff"
-#: config/i386/sco5.h:664 config/i386/sco5.h:739
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
msgid "-symbolic not valid with -mcoff"
msgstr "-symbolic is niet geldig met -mcoff"
-#: config/i386/sco5.h:702
+#: config/i386/sco5.h:636
msgid "-fpic is not valid with -mcoff"
msgstr "-fpic is niet geldig met -mcoff"
-#: config/i386/sco5.h:703
+#: config/i386/sco5.h:637
msgid "-fPIC is not valid with -mcoff"
msgstr "-fPIC is niet geldig met -mcoff"
-#: config/i386/sco5.h:740
+#: config/i386/sco5.h:669
msgid "-fpic not valid with -mcoff"
msgstr "-fpic is niet geldig met -mcoff"
-#: config/i386/sco5.h:741
+#: config/i386/sco5.h:670
msgid "-fPIC not valid with -mcoff"
msgstr "-fPIC is niet geldig met -mcoff"
-#: config/dsp16xx/dsp16xx.h:103 config/dsp16xx/dsp16xx.h:112
+#~ msgid "__builtin_trap not supported by this target"
+#~ msgstr "`__builtin_trap' wordt niet ondersteund op dit doelsysteem"
+
+#~ msgid "-traditional is deprecated and may be removed"
+#~ msgstr "-traditional is verouderd en zal misschien verwijderd worden"
+
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "onbekende C standaard `%s'"
+
+#~ msgid "`%s' previously defined here"
+#~ msgstr "`%s' tevoren hier gedefinieerd"
+
+#~ msgid "`%s' previously declared here"
+#~ msgstr "`%s' tevoren hier gedeclareerd"
+
+#~ msgid "type of external `%s' is not global"
+#~ msgstr "type van extern symbool `%s' is niet globaal"
+
+#~ msgid "unnamed fields of type other than struct or union are not allowed"
+#~ msgstr "onbenoemde velden van een type anders dan struct of union zijn niet toegestaan"
+
+#~ msgid "null format string"
+#~ msgstr "formaatstring is NULL"
+
+# Moet 'floating(-point)' ook vertaald worden?
#, fuzzy
-msgid "a -ifile option requires a -map option"
-msgstr "Een -ifile optie heeft een -map optie nodig"
+#~ msgid "both 'f' and 'l' suffixes on floating constant"
+#~ msgstr "zowel `f' als `l' in floating-point constante"
-#: config/arc/arc.h:59 config/mips/mips.h:1007
-msgid "may not use both -EB and -EL"
-msgstr "-EB en -EL mogen niet samen gebruikt worden"
+#~ msgid "numeric constant with no digits"
+#~ msgstr "numerieke constante zonder cijfers"
-#: config/i860/fx2800.h:290
-msgid "-p option not supported: use -pg instead"
-msgstr "de -p optie wordt niet ondersteund: gebruik -pg"
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "numerieke constante bevat cijfers buiten de basis"
+
+# Ik denk dat 'radix' -> 'basis' correct is.
+# Mag 'radix' ook 'radix' blijven?
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "floating-point constante mag niet in basis 16 staan"
-#: config/mips/mips.h:837
#, fuzzy
-msgid "-pipe is not supported"
-msgstr "-pipe wordt niet ondersteund"
+#~ msgid "more than one 'f' suffix on floating constant"
+#~ msgstr "meer dan één `f' in numerieke constante"
-#: config/mips/mips.h:1003
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "-mfp64 en -msingle-float mogen niet samen gebruikt worden"
+#, fuzzy
+#~ msgid "more than one 'l' suffix on floating constant"
+#~ msgstr "meer dan één `l' in numerieke constante"
-#: config/mips/mips.h:1004
-msgid "may not use both -mfp64 and -m4650"
-msgstr "-mfp64 en -m4650 mogen niet samen gebruikt worden"
+#, fuzzy
+#~ msgid "more than one 'i' or 'j' suffix on floating constant"
+#~ msgstr "meer dan één `i' of `j' in numerieke constante"
-#: config/mips/mips.h:1006
#, fuzzy
-msgid "may not use both -mgp32 and -mfp64"
-msgstr "-mfp64 en -m4650 mogen niet samen gebruikt worden"
+#~ msgid "ISO C forbids imaginary numeric constants"
+#~ msgstr "ANSI C verbiedt imaginaire numerieke constantes"
+
+#~ msgid "floating constant out of range"
+#~ msgstr "floating-point constante buiten bereik"
-#: config/mips/r3900.h:36 config/mips/r3900.h:42
#, fuzzy
-msgid "-mhard-float not supported"
-msgstr "-mhard-float wordt niet ondersteund"
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "floating-point getal overschrijdt het bereik van een `double'"
-#: config/mips/r3900.h:38 config/mips/r3900.h:44
#, fuzzy
-msgid "-msingle-float and -msoft-float can not both be specified"
-msgstr "-msingle-float en -msoft-float kunnen niet samen gebruikt worden."
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "twee `u's in integerconstante"
-#: config/i386/cygwin.h:114
+# `l'en of `l's?
#, fuzzy
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+#~ msgid "three 'l' suffixes on integer constant"
+#~ msgstr "drie `l'en in integerconstante"
-#: config/vax/vax.h:42 config/vax/vax.h:43
-msgid "profiling not supported with -mg\n"
-msgstr "profileren wordt niet ondersteund wanneer -mg gebruikt wordt\n"
+#, fuzzy
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "meer dan één `i' of `j' in numerieke constante"
+
+# 'width' -> 'wijdte' of 'breedte'?
+# Best 'breedte'; zo wordt 'too wide' 'te breed'.
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "breedte van integerconstante verandert met -traditional"
+
+#, fuzzy
+#~ msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#~ msgstr "integerconstante is unsigned in ANSI C, signed met -traditional"
+
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "breedte van integerconstante kan veranderen op andere systemen met -traditional"
+
+#, fuzzy
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "integerconstante is zo groot dat hij unsigned is"
+
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "decimale constante is zo groot dat hij unsigned is"
+
+#, fuzzy
+#~ msgid "complex integer constant is too wide for 'complex int'"
+#~ msgstr "complexe integerconstante is te breed voor `complex int'"
+
+#, fuzzy
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr "integerconstante is zo groot dat hij unsigned is"
+
+#, fuzzy
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "ontbrekende witruimte na getal `%.*s'"
+
+#, fuzzy
+#~ msgid "ISO C does not permit use of `varargs.h'"
+#~ msgstr "ANSI C staat het gebruik van `varargs.h' niet toe"
+
+#, fuzzy
+#~ msgid "storage class specifier in array declarator"
+#~ msgstr "opslagklasse opgegeven voor parameter `%s'"
+
+#~ msgid "parse error; also virtual memory exceeded"
+#~ msgstr "parse-fout; ook is het virtueel geheugen opgebruikt"
+
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "sizeof toegepast op een functie-type"
+
+#~ msgid "sizeof applied to an incomplete type"
+#~ msgstr "sizeof toegepast op een onvolledig type"
+
+#~ msgid "invalid lvalue in increment"
+#~ msgstr "ongeldige lvalue bij incrementeren"
+
+#~ msgid "invalid lvalue in decrement"
+#~ msgstr "ongeldige lvalue bij decrementeren"
+
+#~ msgid "increment"
+#~ msgstr "incrementeren"
+
+#~ msgid "decrement"
+#~ msgstr "decrementeren"
+
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
+
+#, fuzzy
+#~ msgid "floating point numbers are not valid in #if"
+#~ msgstr "Floating-point getallen zijn niet toegestaan in #if-expressies"
+
+#, fuzzy
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "teveel `l'en in integerconstante"
+
+#~ msgid "integer constant contains digits beyond the radix"
+#~ msgstr "integerconstante bevat cijfers buiten de basis"
+
+#~ msgid "integer constant out of range"
+#~ msgstr "integerconstante buiten bereik"
+
+#, fuzzy
+#~ msgid "string constants are not valid in #if"
+#~ msgstr "stringconstantes zijn niet toegestaan in #if-expressies"
+
+#, fuzzy
+#~ msgid "missing binary operator"
+#~ msgstr "beginwaarde ontbreekt"
+
+#, fuzzy
+#~ msgid "operator '%s' has no left operand"
+#~ msgstr "parameter `%s' heeft een onvolledig type"
+
+#~ msgid "I/O error on output"
+#~ msgstr "I/O-fout op uitvoer"
+
+#, fuzzy
+#~ msgid "argument missing after %s"
+#~ msgstr "Bestandsnaam ontbreekt na %s optie"
+
+#, fuzzy
+#~ msgid "target missing after %s"
+#~ msgstr "Bestandsnaam ontbreekt na %s optie"
+
+#, fuzzy
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP versie %s"
+
+#, fuzzy
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "mogelijk echte begin van niet-beëindigde constante"
+
+#, fuzzy
+#~ msgid "\"%s\" cannot be used as a macro name"
+#~ msgstr "`%s' kan niet statisch gealloceerd worden"
+
+#, fuzzy
+#~ msgid "invalid option %s"
+#~ msgstr "Ongeldige optie `%s'"
+
+# Dit zou misschien beter 'warning' blijven
+#, fuzzy
+#~ msgid "%s:%d: warning: "
+#~ msgstr "let op: "
+
+# Dit zou misschien beter 'warning' blijven
+#, fuzzy
+#~ msgid "%s: warning: "
+#~ msgstr "let op: "
+
+#, fuzzy
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "Interne compilerfout %d."
+
+#, fuzzy
+#~ msgid "internal error: %s"
+#~ msgstr "interne fout"
+
+#, fuzzy
+#~ msgid "floating point numbers not allowed in #if expressions"
+#~ msgstr "Floating-point getallen zijn niet toegestaan in #if-expressies"
+
+#, fuzzy
+#~ msgid "invalid character constant in #if"
+#~ msgstr "niet-beëindigde karakterconstante"
+
+#, fuzzy
+#~ msgid "double quoted strings not allowed in #if expressions"
+#~ msgstr "stringconstantes zijn niet toegestaan in #if-expressies"
+
+#, fuzzy
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "karakterconstante te lang"
+
+#, fuzzy
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "karakterconstante te lang"
+
+#, fuzzy
+#~ msgid "empty #if expression"
+#~ msgstr "Ongeldig token in expressie"
+
+#~ msgid "Junk after end of expression."
+#~ msgstr "Brol na einde van expressie."
+
+#, fuzzy
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "-Wuninitialized wordt niet ondersteund zonder -O"
+
+#, fuzzy
+#~ msgid "filename missing after -i option"
+#~ msgstr "Bestandsnaam ontbreekt na -o optie"
+
+#, fuzzy
+#~ msgid "filename missing after -o option"
+#~ msgstr "Bestandsnaam ontbreekt na -o optie"
+
+#, fuzzy
+#~ msgid "target missing after %s option"
+#~ msgstr "Bestandsnaam ontbreekt na %s optie"
+
+#, fuzzy
+#~ msgid "filename missing after %s option"
+#~ msgstr "Bestandsnaam ontbreekt na %s optie"
+
+#, fuzzy
+#~ msgid "macro name missing after -%c option"
+#~ msgstr "Macro-naam ontbreekt na -D optie"
+
+#, fuzzy
+#~ msgid "directory name missing after -I option"
+#~ msgstr "Foldernaam ontbreekt na `%s' optie"
+
+#~ msgid "`/*' within comment"
+#~ msgstr "`/*' binnen commentaar"
+
+# 'Voorwaarde' is niet echt een vertaling van 'conditional'.
+# Is er een betere manier?
+#, fuzzy
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "niet-beëindigde `#%s' voorwaarde"
+
+#, fuzzy
+#~ msgid "not in any file?!"
+#~ msgstr "cccp fout: in geen enkel bestand?!"
+
+#~ msgid "cccp error: invalid special hash type"
+#~ msgstr "cccp fout: ongeldig soort van speciale hash"
+
+#, fuzzy
+#~ msgid "no include path in which to find %.*s"
+#~ msgstr "Geen include-pad waarin %s kan gevonden worden"
+
+#~ msgid "invalid macro name"
+#~ msgstr "ongeldige macronaam"
+
+#, fuzzy
+#~ msgid "parameter name starts with a digit in #define"
+#~ msgstr "argument voor `#%s' begint met cijfer"
+
+# Is 'interpunctie' hier een goede vertaling voor 'punctuation'
+#, fuzzy
+#~ msgid "badly punctuated parameter list in #define"
+#~ msgstr "slechte interpunctie van parameterlijst in `#define'"
+
+#, fuzzy
+#~ msgid "unterminated parameter list in #define"
+#~ msgstr "niet-beëindigde parameterlijst in `#define'"
+
+#, fuzzy
+#~ msgid "\"%.*s\" redefined"
+#~ msgstr "`%.*s' opnieuw gedefinieerd"
+
+#, fuzzy
+#~ msgid "# operator should be followed by a macro argument name"
+#~ msgstr "de `#' operator zou door een naam van een macro-argument gevolgd moeten worden"
+
+#, fuzzy
+#~ msgid "invalid format #line command"
+#~ msgstr "`#line'-commando in slecht formaat"
+
+# is ongedefinieerd beter? ik denk van nie
+#, fuzzy
+#~ msgid "undefining `defined'"
+#~ msgstr "`%s' wordt geondefinieerd"
+
+# is ongedefinieerd beter? ik denk van nie
+#~ msgid "undefining `%s'"
+#~ msgstr "`%s' wordt geondefinieerd"
+
+# OK, OK... Dit hoort thuis in lang nl@be, niet nl
+#, fuzzy
+#~ msgid "extra text at end of directive"
+#~ msgstr "brol aan einde van `#line'-commando"
+
+#, fuzzy
+#~ msgid "#error%.*s"
+#~ msgstr "#error %s"
+
+#, fuzzy
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning %s"
+
+#, fuzzy
+#~ msgid "#elif not within a conditional"
+#~ msgstr "`#elif' niet binnen een voorwaarde"
+
+#, fuzzy
+#~ msgid "#%s not within a conditional"
+#~ msgstr "`#%s' niet binnen een voorwaarde"
+
+#, fuzzy
+#~ msgid "#else or #elif after #else"
+#~ msgstr "`#else' of `#elif' na `#else'"
+
+#, fuzzy
+#~ msgid "#else not within a conditional"
+#~ msgstr "`#else' niet binnen een voorwaarde"
+
+#, fuzzy
+#~ msgid "unbalanced #endif"
+#~ msgstr "niet-gebalanceerde `#endif'"
+
+#~ msgid "unterminated string or character constant"
+#~ msgstr "niet-beëindigde string- of karakterconstante"
+
+#~ msgid "arguments given to macro `%s'"
+#~ msgstr "argumenten aan macro `%s' gegeven"
+
+#, fuzzy
+#~ msgid "no args to macro `%s'"
+#~ msgstr "argumenten aan macro `%s' gegeven"
+
+#, fuzzy
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "argumenten aan macro `%s' gegeven"
+
+#, fuzzy
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "argumenten aan macro `%s' gegeven"
+
+#, fuzzy
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "teveel argumenten voor functie `%s'"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "ongeldige waarde voor %%V"
+
+#, fuzzy
+#~ msgid "Store locals in argument registers"
+#~ msgstr "teveel argumenten voor functie"
+
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "inline floatconstantes worden op deze host niet ondersteund"
+
+#, fuzzy
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "argument #%d is een structure"
+
+#, fuzzy
+#~ msgid "argument is a structure"
+#~ msgstr "argument #%d is een structure"
+
+#~ msgid "invalid %H value"
+#~ msgstr "ongeldige waarde voor %H"
+
+#~ msgid "invalid %h value"
+#~ msgstr "ongeldige waarde voor %h"
+
+#~ msgid "invalid %Q value"
+#~ msgstr "ongeldige waarde voor %Q"
+
+#~ msgid "invalid %q value"
+#~ msgstr "ongeldige waarde voor %q"
+
+#~ msgid "invalid %p value"
+#~ msgstr "ongeldige waarde voor %p"
+
+#~ msgid "invalid %B value"
+#~ msgstr "ongeldige waarde voor %B"
+
+#~ msgid "invalid %C value"
+#~ msgstr "ongeldige waarde voor %C"
+
+#~ msgid "invalid %E value"
+#~ msgstr "ongeldige waarde voor %E"
+
+#, fuzzy
+#~ msgid "this target does not support the -mabi switch"
+#~ msgstr "doel-CPU ondersteunt geen interworking"
+
+#, fuzzy
+#~ msgid "-march=%s does not support -mips%d"
+#~ msgstr "-mcpu=%s ondersteunt -march=%s niet"
+
+#, fuzzy
+#~ msgid "-mips%d does not support 64 bit fp registers"
+#~ msgstr "-mcpu=%s ondersteunt -march=%s niet"
+
+#, fuzzy
+#~ msgid "-mips%d does not support 64 bit gp registers"
+#~ msgstr "-mcpu=%s ondersteunt -march=%s niet"
+
+#, fuzzy
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "-pipe wordt niet ondersteund"
+
+#, fuzzy
+#~ msgid "no code label found"
+#~ msgstr "geen symbooltabel gevonden"
+
+#~ msgid "%d errors, %d sorries, do granting"
+#~ msgstr "%d fouten, %d sorries, granting wordt gedaan"
+
+#~ msgid "GNU compiler does not support statically allocated objects"
+#~ msgstr "de GNU compiler ondersteunt geen statisch gealloceerde objecten"
+
+#~ msgid "causing unhandled exception `%s' (this is flaged only once)"
+#~ msgstr "niet-opgevangen exception `%s' wordt veroorzaakt (dit wordt maar één keer vermeld)"
+
+#~ msgid "range failure (not inside function)"
+#~ msgstr "bereik-fout (niet in een functie)"
+
+#~ msgid "possible range failure (not inside function)"
+#~ msgstr "mogelijke bereik-fout (niet in een functie)"
+
+#~ msgid "expression will always cause RANGEFAIL"
+#~ msgstr "expressie zal altijd RANGEFAIL veroorzaken"
+
+#~ msgid "right hand side of assignment is a mode"
+#~ msgstr "rechterkant van toewijzing is een modus"
+
+#~ msgid "incompatible modes in %s"
+#~ msgstr "incompatibele modi in %s"
+
+#~ msgid "bad string length in %s"
+#~ msgstr "slechte stringlengte in %s"
+
+#~ msgid "mode mismatch in %s expression"
+#~ msgstr "modi in %s expressie komen niet overeen"
+
+#~ msgid "%s expression must be referable"
+#~ msgstr "%s expressie moet refereerbaar zijn"
+
+#~ msgid "%s not allowed outside a PROC"
+#~ msgstr "%s is niet toegestaan buiten een PROC"
+
+#~ msgid "%s action in PROC with no declared RESULTS"
+#~ msgstr "%s-actie in PROC zonder gedeclareerde RESULTS"
+
+#~ msgid "RETURN not allowed outside PROC"
+#~ msgstr "RETURN is niet toegestaan buiten PROC"
+
+#~ msgid "RETURN with a value, in PROC returning void"
+#~ msgstr "RETURN met waarde, in een PROC die void teruggeeft"
+
+#~ msgid "RETURN with no value and no RESULT action in procedure"
+#~ msgstr "RETURN zonder waarde en geen RESULTS-actie in procedure"
+
+#~ msgid "no label named `%s'"
+#~ msgstr "er is geen label dat `%s' heet"
+
+#~ msgid "cannot GOTO label `%s' outside current function"
+#~ msgstr "kan geen GOTO uitvoeren naar label `%s' dat buiten de huidige functie ligt"
+
+# Misschien beter 'EXIT-baar'?
+#~ msgid "no EXITable label named `%s'"
+#~ msgstr "er is geen EXITable label dat `%s' heet"
+
+# Is dit de juiste vertaling?
+#~ msgid "cannot EXIT label `%s' outside current function"
+#~ msgstr "kan geen EXIT uitvoeren voor label `%s' buiten huidige functie"
+
+#~ msgid "ELSE label not within a CASE statement"
+#~ msgstr "ELSE-label niet in een CASE-statement"
+
+#~ msgid "multiple default labels found in a CASE statement"
+#~ msgstr "meerdere default-labels gevonden in één CASE-statement"
+
+#~ msgid "this is the first ELSE label"
+#~ msgstr "dit is het eerste ELSE-label"
+
+#~ msgid "label found outside of CASE statement"
+#~ msgstr "label gevonden buiten een CASE-statement"
+
+#~ msgid "duplicate CASE value"
+#~ msgstr "herhaalde CASE-waarde"
+
+# 'vermelding' lijkt me beter dat het letterlijke 'ingang'
+#~ msgid "this is the first entry for that value"
+#~ msgstr "dit is de eerste vermelding van deze waarde"
+
+#~ msgid "CASE value out of range"
+#~ msgstr "CASE-waarde buiten bereik"
+
+#~ msgid "empty range"
+#~ msgstr "leeg bereik"
+
+# klinkt niet echt goed
+#~ msgid "label within scope of cleanup or variable array"
+#~ msgstr "label binnen bereik van opruiming of variabele array"
+
+# Hoe vertaal je 'discrete' best? Discreet is waarschijnlijk wel correct, maar ik
+# vermoed/hoop dat er een betere oplossing is.
+#~ msgid "mode in label is not discrete"
+#~ msgstr "modus in label is niet discreet"
+
+#~ msgid "label not within a CASE statement"
+#~ msgstr "label niet in een CASE-statement"
+
+# Letterlijk is hoogstwaarschijnlijk geen goede vertaling.
+# Misschien beter gewoon 'moet een discrete literal zijn' vertalen?
+#, fuzzy
+#~ msgid "lower bound of range must be a discrete literal expression"
+#~ msgstr "Ondergrens van bereik moet een letterlijke discrete expressie zijn"
+
+#, fuzzy
+#~ msgid "upper bound of range must be a discrete literal expression"
+#~ msgstr "Bovengrens van bereik moet een letterlijke discrete expressie zijn"
+
+#, fuzzy
+#~ msgid "CASE label is not valid"
+#~ msgstr "Het CASE-label in niet geldig"
+
+#, fuzzy
+#~ msgid "number of CASE selectors does not match the number of CASE label lists"
+#~ msgstr "Het aantal CASE-selectors komt niet overeen met het aantal CASE-label lijsten"
+
+#~ msgid "incomplete CASE - %s not handled"
+#~ msgstr "onvolledige CASE - %s niet opgevangen"
+
+#~ msgid "CASE selector with variable range"
+#~ msgstr "CASE-selector met variabel bereik"
+
+#~ msgid "too many cases to do CASE completeness testing"
+#~ msgstr "teveel gevallen om CASE-volledigheidstesten uit te voeren"
+
+#~ msgid "lefthand side of assignment is not a location"
+#~ msgstr "linkerkant van toewijzing is geen locatie"
+
+# Of 'tupel van machtsverzameling'?
+#~ msgid "powerset tuple element out of range"
+#~ msgstr "element van powerset-tupel buiten bereik"
+
+# 'fixed' -> 'vast'?
+#~ msgid "no initializer value for fixed field `%s'"
+#~ msgstr "geen beginwaarde voor fixed veld `%s'"
+
+#~ msgid "non-constant value for tag field `%s'"
+#~ msgstr "niet-constante waarde voor tagveld `%s'"
+
+#~ msgid "bad initializer for field `%s'"
+#~ msgstr "ongeldige beginwaarde voor veld `%s'"
+
+#~ msgid "excess initializer for field `%s'"
+#~ msgstr "overtollige beginwaarde voor veld `%s'"
+
+#~ msgid "excess unnamed initializers"
+#~ msgstr "overtollige onbenoemde beginwaarden"
+
+#~ msgid "non-constant start index for tuple"
+#~ msgstr "niet-constante start-index voor tupel"
+
+#~ msgid "invalid array tuple label"
+#~ msgstr "ongeldig label voor array-tupel"
+
+#~ msgid "non-constant array tuple index range"
+#~ msgstr "niet-constant indexbereik van array-tupel"
+
+#~ msgid "incompatible array tuple element %s"
+#~ msgstr "incompatibel array-tupel element %s"
+
+#~ msgid "empty range in array tuple"
+#~ msgstr "leeg indexbereik in array-tupel"
+
+#~ msgid "array tuple index out of range"
+#~ msgstr "index van array-tupel buiten bereik"
+
+# Is 'mode' enkel van toepassing op 'string', of ook op 'array'?
+#~ msgid "initializer is not an array or string mode"
+#~ msgstr "beginwaarde is geen array of string-modus"
+
+#~ msgid "internal error: unknown type of expression"
+#~ msgstr "interne fout: onbekende expressie-soort"
+
+#~ msgid "`%s' must not be declared readonly"
+#~ msgstr "`%s' mag niet als alleen-lezen gedeclareerd worden"
+
+#, fuzzy
+#~ msgid "no initialization allowed for `%s'"
+#~ msgstr "geen initialisatie toegestaan voor `%s'"
+
+#~ msgid "nonconstant initializer for `%s'"
+#~ msgstr "niet-constante beginwaarde voor `%s'"
+
+#~ msgid "POS may not be specified for a list of field declarations"
+#~ msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
+
+#~ msgid "too many tag labels"
+#~ msgstr "teveel tag-labels"
+
+#~ msgid "case label lower limit is not a discrete constant expression"
+#~ msgstr "ondergrens van case-label is geen discrete constante expressie"
+
+#~ msgid "case label upper limit is not a discrete constant expression"
+#~ msgstr "bovengrens van case-label is geen discrete constante expressie"
+
+#~ msgid "case label must be a discrete constant expression"
+#~ msgstr "case-label moet een discrete constante expressie zijn"
+
+#~ msgid "duplicate grant for `%s'"
+#~ msgstr "herhaalde grant voor `%s'"
+
+#~ msgid "previous grant for `%s'"
+#~ msgstr "eerdere grant voor `%s'"
+
+#~ msgid "duplicate definition `%s'"
+#~ msgstr "herhaalde definitie `%s'"
+
+#~ msgid "previous definition of `%s'"
+#~ msgstr "eerdere definitie van `%s'"
+
+#, fuzzy
+#~ msgid "enumerator value for `%s' is less than 0"
+#~ msgstr "enumeratiewaarde voor `%s' is kleiner dan 0"
+
+#~ msgid "BASE variable never declared"
+#~ msgstr "BASE-variabele nooit gedeclareerd"
+
+#~ msgid "conditional expression not allowed in %s"
+#~ msgstr "voorwaardelijke expressie niet toegestaan in `%s'"
+
+#~ msgid "internal error: unknown expression mode in %s"
+#~ msgstr "interne fout: onbekende expressie-modus in %s"
+
+#~ msgid "The number of CASE selectors does not match the number of CASE label lists"
+#~ msgstr "Het aantal CASE-selectors komt niet overeen met het aantal CASE-label lijsten"
+
+# klinkt niet
+#~ msgid "powerset is not addressable"
+#~ msgstr "powerset kan niet geaddresseerd worden"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `%s'"
+#~ msgstr "Te weinig argumenten in oproep van `%s'"
+
+#, fuzzy
+#~ msgid "too many arguments in call to `%s'"
+#~ msgstr "Teveel argumenten in oproep van `%s'"
+
+#, fuzzy
+#~ msgid "cannot dereference, not a pointer"
+#~ msgstr "kan niet derefereren, is geen pointer."
+
+# Is the %s the argument, or is it 'of' the argument?
+#~ msgid "invalid type argument of `->'"
+#~ msgstr "ongeldig type-argument voor `->'"
+
+#, fuzzy
+#~ msgid "no field named `%s'"
+#~ msgstr "Geen veld dat `%s' heet"
+
+#, fuzzy
+#~ msgid "argument %d to ABSTIME must be of integer type"
+#~ msgstr "argument van `%s' moet van een integraal type zijn."
+
+#, fuzzy
+#~ msgid "parameter 1 must be referable"
+#~ msgstr "argument %d moet refereerbaar zijn"
+
+# Hoe vertaal je in godsnaam 'mismatch' op KORTE manier in het Nederlands???
+#, fuzzy
+#~ msgid "mode mismatch in parameter 1"
+#~ msgstr "geen overeenkomst van modus in parameter %d"
+
+#, fuzzy
+#~ msgid "parameter 2 must be a positive integer"
+#~ msgstr "parameter 2 moet een locatie zijn"
+
+#, fuzzy
+#~ msgid "expression for DESCR-built-in must be referable"
+#~ msgstr "%s expressie moet refereerbaar zijn"
+
+#, fuzzy
+#~ msgid "argument to `%s' must be of integer type"
+#~ msgstr "argument van `%s' moet van een integraal type zijn."
+
+#, fuzzy
+#~ msgid "first argument to `%s' must be a mode"
+#~ msgstr "Eerste argument van `%s' moet een modus zijn"
+
+#, fuzzy
+#~ msgid "argument 1 to INTTIME must be of mode TIME"
+#~ msgstr "Eerste argument van `%s' moet een modus zijn"
+
+#~ msgid "argument to NUM is not discrete"
+#~ msgstr "argument voor NUM is niet discreet"
+
+#, fuzzy
+#~ msgid "no integer mode which matches expression's mode"
+#~ msgstr "Geen integer-modus die met expressie overeen komt"
+
+#~ msgid "size applied to a function mode"
+#~ msgstr "size toegepast op een functie-modus"
+
+#~ msgid "sizeof applied to a void mode"
+#~ msgstr "sizeof toegepast op een void-modus"
+
+#~ msgid "sizeof applied to an incomplete mode"
+#~ msgstr "sizeof toegepast op een onvolledige modus"
+
+#~ msgid "%s parameter %d must be a location"
+#~ msgstr "%s parameter %d moet een locatie zijn"
+
+# Hoe vertaal je in godsnaam 'mismatch' op KORTE manier in het Nederlands???
+#~ msgid "mode mismatch in parameter %d"
+#~ msgstr "geen overeenkomst van modus in parameter %d"
+
+#~ msgid "too many arguments to procedure"
+#~ msgstr "teveel argumenten voor procedure"
+
+#~ msgid "too few arguments to procedure `%s'"
+#~ msgstr "te weinig argumenten voor procedure `%s'"
+
+#~ msgid "too few arguments to procedure"
+#~ msgstr "te weinig argumenten voor procedure"
+
+#, fuzzy
+#~ msgid "unimplemented built-in function `%s'"
+#~ msgstr "ingebouwde functie `%s' is niet geïmplementeerd"
+
+#, fuzzy
+#~ msgid "internal error - bad built-in function `%s'"
+#~ msgstr "interne fout - slechte ingebouwde functie `%s'"
+
+#~ msgid "empty expression in string index"
+#~ msgstr "lege expressie in string-index"
+
+#~ msgid "incompatible modes in concat expression"
+#~ msgstr "incompatibele modi in concat-expressie"
+
+#, fuzzy
+#~ msgid "invalid operation on array of chars"
+#~ msgstr "Ongeldige operatie op array van chars"
+
+#~ msgid "incompatible operands to %s"
+#~ msgstr "incompatibele operands voor %s"
+
+#~ msgid "relational operator not allowed for this mode"
+#~ msgstr "relationele operator niet toegestaan voor deze modus"
+
+#~ msgid "invalid left operand of %s"
+#~ msgstr "ongeldige linker operand van %s"
+
+#~ msgid "invalid right operand of %s"
+#~ msgstr "ongeldige rechter operand van %s"
+
+#, fuzzy
+#~ msgid "-> operator not allow in constant expression"
+#~ msgstr "-> operator niet toegestaan in constante expressie"
+
+#~ msgid "%s is not addressable"
+#~ msgstr "%s is niet addresseerbaar"
+
+#~ msgid "repetition count is not an integer constant"
+#~ msgstr "herhalings-aantal is geen integerconstante"
+
+#~ msgid "repetition value not constant"
+#~ msgstr "herhalings-aantal is niet constant"
+
+#~ msgid "string repetition operand is non-constant bitstring"
+#~ msgstr "string herhalings-operand is een niet-constante bitstring"
+
+# Of moet/mag 'boolean' hier vertaald worden?
+#~ msgid "non-boolean mode in conditional expression"
+#~ msgstr "niet-boolean modus in voorwaardelijke expressie"
+
+#, fuzzy
+#~ msgid "can't write to %s"
+#~ msgstr "open %s"
+
+#, fuzzy
+#~ msgid "function \"really_grant_this\" called for `%s'"
+#~ msgstr "functie \"really_grant_this\" opgeroepen voor `%s'"
+
+#~ msgid "argument %d of %s must be a location"
+#~ msgstr "argument %d van %s moet een locatie zijn"
+
+#~ msgid "argument 2 of ASSOCIATE must not be an empty string"
+#~ msgstr "argument 2 van ASSOCIATE mag geen lege string zijn"
+
+#, fuzzy
+#~ msgid "too many arguments in call to MODIFY"
+#~ msgstr "Teveel argumenten in oproep van MODIFY"
+
+#~ msgid "argument 2 of MODIFY must not be an empty string"
+#~ msgstr "argument 2 van MODIFY mag geen lege string zijn"
+
+#~ msgid "argument 2 to MODIFY must be a string"
+#~ msgstr "argument 2 van MODIFY moet een string zijn"
+
+#~ msgid "argument 3 to MODIFY must be a string"
+#~ msgstr "argument 3 van MODIFY moet een string zijn"
+
+#~ msgid "incompatible index mode"
+#~ msgstr "incompatibele index-modus"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `readrecord'"
+#~ msgstr "Te weinig argumenten in oproep van `readrecord'"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `writerecord'"
+#~ msgstr "Te weinig argumenten in oproep van `writerecord'"
+
+#~ msgid "parameter 2 must be a location"
+#~ msgstr "parameter 2 moet een locatie zijn"
+
+#~ msgid "incompatible modes in parameter 2"
+#~ msgstr "incompatibele modes in parameter 2"
+
+# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
+#~ msgid "conditional expression not allowed in this context"
+#~ msgstr "voorwaardelijke expressie niet toegestaan in deze context"
+
+# Betere vertaling voor 'untyped'?
+#~ msgid "untyped expression as argument %d"
+#~ msgstr "expressie zonder type als argument %d"
+
+# Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+#~ msgid "argument %d is READonly"
+#~ msgstr "argument %d is alleen-lezen"
+
+#~ msgid "argument %d must be referable"
+#~ msgstr "argument %d moet refereerbaar zijn"
+
+#~ msgid "too few arguments for this format string"
+#~ msgstr "te weinig argumenten voor deze formaatstring"
+
+#~ msgid "internal error in check_format_string"
+#~ msgstr "interne fout in check_format_string"
+
+#~ msgid "too many arguments for this format string"
+#~ msgstr "teveel argumenten voor deze formaatstring"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `writetext'"
+#~ msgstr "Te weinig argumenten in oproep van `writetext'"
+
+#, fuzzy
+#~ msgid "too few arguments in call to `readtext'"
+#~ msgstr "Te weinig argumenten in oproep van `readtext'"
+
+#~ msgid "non-constant expression"
+#~ msgstr "niet-constante expressie"
+
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "interne fout -- niet gedefinieerd type gebruikt"
+
+#~ msgid "invalid C'xx' "
+#~ msgstr "ongeldige C'xx'"
+
+#, fuzzy
+#~ msgid "real number exceeds range of REAL"
+#~ msgstr "floating-point getal overschrijdt het bereik van een `float'"
+
+#, fuzzy
+#~ msgid "end-of-file in '<>' directive"
+#~ msgstr "ongedefinieerd of ongeldig #-commando"
+
+#, fuzzy
+#~ msgid "unrecognized compiler directive"
+#~ msgstr "onbekende formaatspecificatie"
+
+#, fuzzy
+#~ msgid "unrecognized compiler directive `%s'"
+#~ msgstr "onbekende formaatspecificatie"
+
+#, fuzzy
+#~ msgid "invalid base in read control sequence"
+#~ msgstr "ongeldige lvalue bij decrementeren"
+
+#, fuzzy
+#~ msgid "unterminated string literal"
+#~ msgstr "Onbeëindigde stringconstante"
+
+#, fuzzy
+#~ msgid "invalid number format `%s'"
+#~ msgstr "ongeldige registernaam voor `%s'"
+
+#, fuzzy
+#~ msgid "can't find %s"
+#~ msgstr "kan %s niet vinden"
+
+#, fuzzy
+#~ msgid "invalid value follows `=' in compiler directive"
+#~ msgstr "`#line'-commando in slecht formaat"
+
+#, fuzzy
+#~ msgid "invalid `%c' character in name"
+#~ msgstr "ongeldig karakter in naam van macro-parameter"
+
+#, fuzzy
+#~ msgid "`%s' not integer constant synonym "
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "value out of range in compiler directive"
+#~ msgstr "lijnnummer buiten bereik in `#line'-commando"
+
+#, fuzzy
+#~ msgid "modeless tuple not allowed in this context"
+#~ msgstr "%s: %s compiler niet geïnstalleerd op dit systeem"
+
+#, fuzzy
+#~ msgid "loop's IN expression is not a composite object"
+#~ msgstr "`%s' is geen iterator"
+
+#, fuzzy
+#~ msgid "loop variable incompatible with start expression"
+#~ msgstr "overflow in constante expressie"
+
+#, fuzzy
+#~ msgid "no RETURN or RESULT in procedure"
+#~ msgstr "RETURN zonder waarde en geen RESULTS-actie in procedure"
+
+#, fuzzy
+#~ msgid "internal parser error - expected token %d"
+#~ msgstr "interne fout - dup-operatie"
+
+#, fuzzy
+#~ msgid "'%s!' is not followed by an identifier"
+#~ msgstr "`#' gevolgd door een integer"
+
+#, fuzzy
+#~ msgid "`%s' undeclared"
+#~ msgstr "`%s' tevoren hier gedeclareerd"
+
+#, fuzzy
+#~ msgid "empty ON-condition"
+#~ msgstr "lege declaratie"
+
+#, fuzzy
+#~ msgid "'=' used where ':=' is required"
+#~ msgstr "waarde van union-type gebruikt waar een scalair nodig is"
+
+#, fuzzy
+#~ msgid "syntax error in parameter name list"
+#~ msgstr "ongeldig karakter in naam van macro-parameter"
+
+#, fuzzy
+#~ msgid "case range list"
+#~ msgstr "leeg case-bereik"
+
+#, fuzzy
+#~ msgid "expression is not an action"
+#~ msgstr "`%s' is geen iterator"
+
+#, fuzzy
+#~ msgid "definition follows action"
+#~ msgstr "herdefinitie van `union %s'"
+
+#, fuzzy
+#~ msgid "invalid expression/location syntax"
+#~ msgstr "ongeldige expressie als operand"
+
+# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
+#, fuzzy
+#~ msgid "conditional expression not allowed inside parentheses"
+#~ msgstr "accolade-groep in expressie enkel toegestaan binnen een functie"
+
+#, fuzzy
+#~ msgid "missing field"
+#~ msgstr "beginwaarde ontbreekt"
+
+#, fuzzy
+#~ msgid "SIGNAL is not a valid mode"
+#~ msgstr "-fPIC is niet geldig met -mcoff"
+
+#, fuzzy
+#~ msgid "SET expression not a location"
+#~ msgstr "`%s' is geen iterator"
+
+#, fuzzy
+#~ msgid "too many arguments to process `%s'"
+#~ msgstr "teveel argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "too many arguments to process"
+#~ msgstr "teveel argumenten voor functie"
+
+#, fuzzy
+#~ msgid "too few arguments to process `%s'"
+#~ msgstr "te weinig argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "too few arguments to process"
+#~ msgstr "te weinig argument voor functie"
+
+#, fuzzy
+#~ msgid "QUEUE_LENGTH argument must be a BUFFER/EVENT location"
+#~ msgstr "argument %d van %s moet een locatie zijn"
+
+#, fuzzy
+#~ msgid "too many values for SIGNAL `%s'"
+#~ msgstr "teveel argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "too few values for SIGNAL `%s'"
+#~ msgstr "te weinig argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "internal error: RECEIVE CASE stack invalid"
+#~ msgstr "interne fout"
+
+#, fuzzy
+#~ msgid "too many data fields provided for `%s'"
+#~ msgstr "teveel argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "incompatible modes in receive buffer alternative"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "CONTINUE requires an event location"
+#~ msgstr "Een -ifile optie heeft een -map optie nodig"
+
+#, fuzzy
+#~ msgid "PRIORITY must be of integer type"
+#~ msgstr "argument van `%s' moet van een integraal type zijn."
+
+#, fuzzy
+#~ msgid "delay alternative must be an EVENT location"
+#~ msgstr "parameter 2 moet een locatie zijn"
+
+#, fuzzy
+#~ msgid "DELAY action requires an event location"
+#~ msgstr "Een -ifile optie heeft een -map optie nodig"
+
+#, fuzzy
+#~ msgid "PRIORITY in DELAY action must be of integer type"
+#~ msgstr "argument van `%s' moet van een integraal type zijn."
+
+#, fuzzy
+#~ msgid "send buffer action requires a BUFFER location"
+#~ msgstr "Een -ifile optie heeft een -map optie nodig"
+
+#, fuzzy
+#~ msgid "there must be only 1 value for send buffer action"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "convert failed for send buffer action"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "incompatible modes in send buffer action"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "WITH not allowed for send buffer action"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "TO not allowed for send buffer action"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "can only build a powerset from a discrete mode"
+#~ msgstr "array subscript is geen integer"
+
+#, fuzzy
+#~ msgid "non-constant bitstring size invalid"
+#~ msgstr "niet-constante array-index in beginwaarde"
+
+#, fuzzy
+#~ msgid "non-constant powerset size invalid"
+#~ msgstr "niet-constante array-index in beginwaarde"
+
+#, fuzzy
+#~ msgid "index is not an integer expression"
+#~ msgstr "ongeldig gebruik van een void-expressie"
+
+#, fuzzy
+#~ msgid "index not compatible with index mode"
+#~ msgstr "incompatibele types bij %s"
+
+#, fuzzy
+#~ msgid "index is not discrete"
+#~ msgstr "-pipe wordt niet ondersteund"
+
+#, fuzzy
+#~ msgid "slice length is not an integer"
+#~ msgstr "switch-waarde is geen integer"
+
+#, fuzzy
+#~ msgid "slice length out-of-range"
+#~ msgstr "case-waarde buiten bereik"
+
+#, fuzzy
+#~ msgid "too many index expressions"
+#~ msgstr "Ongeldig token in expressie"
+
+#, fuzzy
+#~ msgid "array index is not discrete"
+#~ msgstr "array-index in beginwaarde van niet-array"
+
+#, fuzzy
+#~ msgid "invalid compound index for bitstring mode"
+#~ msgstr "ongeldige beginwaarde voor bit-string"
+
+#, fuzzy
+#~ msgid "possible overflow (not inside function)"
+#~ msgstr "`%s' is hier niet gedeclareerd (niet in een functie)"
+
+#, fuzzy
+#~ msgid "non-constant expression for BIN"
+#~ msgstr "overflow in constante expressie"
+
+#, fuzzy
+#~ msgid "bounds of range are not compatible"
+#~ msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+#, fuzzy
+#~ msgid "negative string length"
+#~ msgstr "Onbeëindigde stringconstante"
+
+#, fuzzy
+#~ msgid "range's lower bound and parent mode don't match"
+#~ msgstr "prototype voor `%s' volgt en argument %d komt niet overeen"
+
+#, fuzzy
+#~ msgid "floating point ranges"
+#~ msgstr "floating-point constante buiten bereik"
+
+# `l'en of `l's?
+#, fuzzy
+#~ msgid "stepsize in STEP must be an integer constant"
+#~ msgstr "drie `l'en in integerconstante"
+
+# `l'en of `l's?
+#, fuzzy
+#~ msgid "stepsize in STEP must be > 0"
+#~ msgstr "drie `l'en in integerconstante"
+
+# `l'en of `l's?
+#, fuzzy
+#~ msgid "stepsize in STEP must be the natural width of the array element mode"
+#~ msgstr "drie `l'en in integerconstante"
+
+#, fuzzy
+#~ msgid "starting word in POS must be an integer constant"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "starting word in POS must be >= 0"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "starting word in POS within STEP must be 0"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "starting bit in POS must be an integer constant"
+#~ msgstr "breedte van bitveld `%s' is geen integerconstante"
+
+#, fuzzy
+#~ msgid "starting bit in POS within STEP must be 0"
+#~ msgstr "breedte van bitveld `%s' is geen integerconstante"
+
+#, fuzzy
+#~ msgid "starting bit in POS must be >= 0"
+#~ msgstr "breedte van bitveld `%s' is geen integerconstante"
+
+#, fuzzy
+#~ msgid "starting bit in POS must be < the width of a word"
+#~ msgstr "breedte van bitveld `%s' is geen integerconstante"
+
+#, fuzzy
+#~ msgid "length in POS must be an integer constant"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "length in POS must be > 0"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "end bit in POS must be an integer constant"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "end bit in POS must be >= the start bit"
+#~ msgstr "twee `u's in integerconstante"
+
+#, fuzzy
+#~ msgid "end bit in POS must be < the width of a word"
+#~ msgstr "twee `u's in integerconstante"
+
+# `l'en of `l's?
+#, fuzzy
+#~ msgid "step size in STEP must be >= the length in POS"
+#~ msgstr "drie `l'en in integerconstante"
+
+#, fuzzy
+#~ msgid "array index must be a range, not a single integer"
+#~ msgstr "array subscript is geen integer"
+
+#, fuzzy
+#~ msgid "array index is not a discrete mode"
+#~ msgstr "array subscript is geen integer"
+
+#, fuzzy
+#~ msgid "parameterized structures not implemented"
+#~ msgstr "parameter wijst naar een onvolledig type"
+
+#, fuzzy
+#~ msgid "invalid parameterized type"
+#~ msgstr "ongeldige operand voor %p-code"
+
+#, fuzzy
+#~ msgid "`%D' as declarator"
+#~ msgstr "`%.*s' is niet gedefinieerd"
+
+#, fuzzy
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "opslaggrootte van `%s' is niet constant"
+
+#, fuzzy
+#~ msgid "parser lost in parsing declaration of `%D'"
+#~ msgstr "type krijgt standaardwaarde `int' in de declaratie van `%s'"
+
+#, fuzzy
+#~ msgid " %#D"
+#~ msgstr ""
+#~ ",\n"
+#~ " door "
+
+#, fuzzy
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "ongeldige beginwaarde voor veld `%s'"
+
+#, fuzzy
+#~ msgid "multiple initializations given for member `%D'"
+#~ msgstr "ongeldige beginwaarde voor member `%s'"
+
+#, fuzzy
+#~ msgid "explicit specialization here"
+#~ msgstr "initialisatie"
+
+#, fuzzy
+#~ msgid "base initializer for `%T'"
+#~ msgstr "ongeldige beginwaarde voor veld `%s'"
+
+#, fuzzy
+#~ msgid "`%T' cannot be `restrict'-qualified"
+#~ msgstr "`%s' kan niet statisch gealloceerd worden"
+
+#, fuzzy
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "sizeof toegepast op een onvolledig type"
+
+#, fuzzy
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "ongeldig gebruik van een void-expressie"
+
+#, fuzzy
+#~ msgid "`%#T' has no member named `%D'"
+#~ msgstr "union heeft geen lid dat `%s' heet"
+
+#, fuzzy
+#~ msgid "object missing in call to method `%D'"
+#~ msgstr "kan oproep van `%s' niet inline maken"
+
+#, fuzzy
+#~ msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
+#~ msgstr "pointer van type `void *' gebruikt in rekensom"
+
+#, fuzzy
+#~ msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
+#~ msgstr "pointer naar functie gebruikt in rekensom"
+
+#, fuzzy
+#~ msgid "ISO C++ forbids using a pointer to member function in pointer arithmetic"
+#~ msgstr "pointer naar functie gebruikt in rekensom"
+
+#, fuzzy
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "ongeldig gebruik van het niet gedefinieerde type `%s %s'"
+
+#, fuzzy
+#~ msgid "forward declaration of `%#T'"
+#~ msgstr "herdeclaratie van `%s'"
+
+#, fuzzy
+#~ msgid "invalid use of `%T'"
+#~ msgstr "ongeldig gebruik van `restrict'"
+
+#, fuzzy
+#~ msgid "internal error #%d"
+#~ msgstr "interne fout"
+
+#, fuzzy
+#~ msgid "initializer list construction invalid for `%D'"
+#~ msgstr "beginwaarde legt grootte van `%s' niet vast"
+
+#, fuzzy
+#~ msgid "due to non-public access of member `%D'"
+#~ msgstr "herhaald lid `%s'"
+
+#, fuzzy
+#~ msgid "The meaning of `\\x' (at %0) varies with -traditional"
+#~ msgstr "de betekenis van `\\x' varieert naargelang -traditional al dan niet gebruikt wordt"
+
+#, fuzzy
+#~ msgid "The meaning of `\\a' (at %0) varies with -traditional"
+#~ msgstr "de betekenis van `\\a' varieert naargelang -traditional al dan niet gebruikt wordt"
+
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "de betekenis van `\\x' varieert naargelang -traditional al dan niet gebruikt wordt"
+
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "de betekenis van `\\a' varieert naargelang -traditional al dan niet gebruikt wordt"
+
+#, fuzzy
+#~ msgid "`.%A.' at %0 not a binary operator"
+#~ msgstr "`%s' is geen iterator"
+
+#, fuzzy
+#~ msgid "Invalid octal constant at %0"
+#~ msgstr "ongeldige beginwaarde"
+
+#, fuzzy
+#~ msgid "Invalid binary constant at %0"
+#~ msgstr "ongeldige beginwaarde"
+
+#, fuzzy
+#~ msgid "Invalid hexadecimal constant at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid typeless constant at %1"
+#~ msgstr "ongeldige expressie als operand"
+
+# 'braced-group'? Wie schrijft verdorie die foutmeldingen?
+#, fuzzy
+#~ msgid "Null expression between %0 and %1 invalid in this context"
+#~ msgstr "voorwaardelijke expressie niet toegestaan in deze context"
+
+#, fuzzy
+#~ msgid "Invalid null expression between %0 and %1"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Unterminated character constant at %0 [info -f g77 M LEX]"
+#~ msgstr "niet-beëindigde karakterconstante"
+
+#, fuzzy
+#~ msgid "Invalid continuation line at %0"
+#~ msgstr "Ongeldige optie `%s'"
+
+#, fuzzy
+#~ msgid "Invalid statement at %0"
+#~ msgstr "ongeldige beginwaarde"
+
+#, fuzzy
+#~ msgid "Invalid form for %A statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid %A statement at %0"
+#~ msgstr "ongeldige beginwaarde"
+
+#, fuzzy
+#~ msgid "Invalid I specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid B specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid O specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid Z specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid F specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid E specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid G specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid L specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid A specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid D specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid Q specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid $ specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid P specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid T specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid X specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid S specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid : specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid H specifier in FORMAT statement at %0"
+#~ msgstr "ongeldige expressie als operand"
+
+#, fuzzy
+#~ msgid "Invalid token with FORMAT run-time expression at %0"
+#~ msgstr "Ongeldig token in expressie"
+
+#, fuzzy
+#~ msgid "Invalid type-declaration attribute at %0"
+#~ msgstr "lege declaratie"
+
+#, fuzzy
+#~ msgid "Unrecognized value for character constant at %0"
+#~ msgstr "%s voor karakterconstante"
+
+#, fuzzy
+#~ msgid "Invalid kind at %0 for type at %1"
+#~ msgstr "Ongeldig register voor vergelijking"
+
+#, fuzzy
+#~ msgid "Invalid operand at %1 for boolean operator at %0"
+#~ msgstr "ongeldige operanden voor binaire %s-operator"
+
+#, fuzzy
+#~ msgid "Invalid operand at %1 for .NOT. operator at %0"
+#~ msgstr "ongeldige operand voor %N-code"
+
+#, fuzzy
+#~ msgid "Invalid operand at %1 for relational operator at %0"
+#~ msgstr "ongeldige operanden voor binaire %s-operator"
+
+#, fuzzy
+#~ msgid "Invalid reference to intrinsic `%A' at %0"
+#~ msgstr "Ongeldige modus voor gen_tst_reg"
+
+#, fuzzy
+#~ msgid "Too few arguments passed to intrinsic `%A' at %0"
+#~ msgstr "te weinig argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "Too few arguments for intrinsic `%A' at %0"
+#~ msgstr "te weinig argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "Too many arguments passed to intrinsic `%A' at %0"
+#~ msgstr "teveel argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "Too many arguments for intrinsic `%A' at %0"
+#~ msgstr "teveel argumenten voor functie `%s'"
+
+#, fuzzy
+#~ msgid "Unimplemented intrinsic `%A' at %0"
+#~ msgstr "ingebouwde functie `%s' is niet geïmplementeerd"
+
+#, fuzzy
+#~ msgid "Too many dimensions at %0"
+#~ msgstr "Teveel argumenten in oproep van `%s'"
+
+# Is the %s the argument, or is it 'of' the argument?
+#, fuzzy
+#~ msgid "Invalid actual argument at %0"
+#~ msgstr "ongeldig type-argument `%s'"
+
+#, fuzzy
+#~ msgid "can't to open %s"
+#~ msgstr "open %s"
+
+#, fuzzy
+#~ msgid "Can't specify array dimension in a declaration"
+#~ msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
+
+#, fuzzy
+#~ msgid "incompatible interworking options"
+#~ msgstr "incompatibele operands voor %s"
+
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd en -pedantic zijn niet compatibel"
+
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd en -mxopen zijn niet compatibel"
+
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen en -pedantic zijn niet compatibel"
+
+#, fuzzy
+#~ msgid "-p profiling is no longer supported. Use -pg instead"
+#~ msgstr "profileren met -p wordt niet meer ondersteund. Gebruik -pg."
+
+#, fuzzy
+#~ msgid "a -ifile option requires a -map option"
+#~ msgstr "Een -ifile optie heeft een -map optie nodig"
+
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "de -p optie wordt niet ondersteund: gebruik -pg"
+
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "-mfp64 en -msingle-float mogen niet samen gebruikt worden"
+
+#~ msgid "may not use both -mfp64 and -m4650"
+#~ msgstr "-mfp64 en -m4650 mogen niet samen gebruikt worden"
diff --git a/gcc/po/sv.po b/gcc/po/sv.po
index ad46071675f..ccad87fdf58 100644
--- a/gcc/po/sv.po
+++ b/gcc/po/sv.po
@@ -1,22 +1,91 @@
# Swedish translation for the GNU CC.
# Copyright (C) 2000 Free Software Foundation, Inc.
-# Dennis Björklund <db@zigo.dhs.org>, 2000.
+# Dennis Björklund <db@zigo.dhs.org>, 2000, 2001, 2002.
+#
+# Kom ihåg att i svenskan så använder vi "" för citat
+# och inte '' som det är i originaluttrycken.
+#
+# Jag har gjort en liten ordlista över uttryck som kan finnas i
+# översättningen
+#
+# http://www.zigo.dhs.org/~dennis/gcc/
+#
+# Denna lista är inte komplett men är det någon som vill hjälpa till
+# att översätta gcc och har åsikter om hur dessa uttryck skall skrivas
+# så ta kontakt så kan vi uppdatera den.
+#
+# Det mesta av övdersättningen som finns nu kommer från tiden
+# innan version 3.0 av gcc. Dessvärre så fungerade aldrig gcc
+# med översättningar korrekt då, så den kom inte till användning.
+# Jag har överfört de gamla strängarna till dagens version (3.2)
+# så det finns en början, men det är mycket kvar. Men vill någon hjälpa
+# till så vore det jättebra. Jag kommer översätta en bit då och då
+# i mån av tid, men det är en stor fil med komplicerade uttryck så
+# det tar en stund att bli klar.
#
msgid ""
msgstr ""
-"Project-Id-Version: gcc 2.97 20001112 (experimental)\n"
-"POT-Creation-Date: 2001-06-13 09:06+0200\n"
-"PO-Revision-Date: 2001-06-13 09:18+02:00\n"
+"Project-Id-Version: gcc 3.2\n"
+"POT-Creation-Date: 2002-12-30 18:56+0000\n"
+"PO-Revision-Date: 2002-08-26 12:58+0200\n"
"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: builtins.c:275
+#: attribs.c:185
+#, c-format
+msgid "`%s' attribute directive ignored"
+msgstr "attributet \"%s\" ignorerat"
+
+#: attribs.c:193
+#, c-format
+msgid "wrong number of arguments specified for `%s' attribute"
+msgstr "fel antal argument angett för attributet `%s'"
+
+#: attribs.c:210
+#, c-format
+msgid "`%s' attribute does not apply to types"
+msgstr "attributet \"%s\" är inte applicerbart på typer"
+
+#: attribs.c:247
+#, c-format
+msgid "`%s' attribute only applies to function types"
+msgstr "attributet \"%s\" fungerar bara på funktionstyper"
+
+#: 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 "attributet `%s' ignorerat"
+
+#: builtins.c:285
msgid "offset outside bounds of constant string"
msgstr "index till en konstant sträng pekar utanför dess gränser"
+#: builtins.c:765
+msgid "second arg to `__builtin_prefetch' must be a constant"
+msgstr "andra argumentet till \"__builtin_prefetch\" måste vara en konstant"
+
+#: builtins.c:772
+msgid "invalid second arg to __builtin_prefetch; using zero"
+msgstr "ogiltigt andra argument till __builtin_prefetch; använder noll"
+
+#: builtins.c:779
+msgid "third arg to `__builtin_prefetch' must be a constant"
+msgstr "tredje argumentet till \"__builtin_prefetch\" måste vara en konstant"
+
+#: builtins.c:786
+msgid "invalid third arg to __builtin_prefetch; using zero"
+msgstr "ogiltigt tredje argument till __builtin_prefetch; använder noll"
+
#. ??? We used to try and build up a call to the out of line function,
#. guessing about what registers needed saving etc. This became much
#. harder with __builtin_va_start, since we don't have a tree for a
@@ -24,1323 +93,1455 @@ msgstr "index till en konstant sträng pekar utanför dess gränser"
#. 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:2635
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
msgstr "__builtin_saveregs stöds inte på denna målarkitektur"
-#: builtins.c:2678
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr "argumentet till \"__builtin_args_info\" måste vara konstant"
-#: builtins.c:2684
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
msgstr "argument till \"__builtin_args_info\" är utanför sitt intervall"
-#: builtins.c:2690
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
msgstr "argument saknas till \"__builtin_args_info\""
-#: builtins.c:2721
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
msgstr "\"va_start\" används i en funktion med fixt antal parametrar"
-#: builtins.c:2740
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
-msgstr ""
-"andra parametern till \"va_start\" var inte det sista namngivna argumentet"
+msgstr "andra parametern till \"va_start\" var inte det sista namngivna argumentet"
#. 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:2745
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr "\"__builtin_next_arg\" anropad utan argument"
-#: builtins.c:2847
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
msgstr "För många argument till funktionen \"va_start\""
-#: builtins.c:2933
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
msgstr "första argumentet till \"va_arg\" är inte av typen \"va_list\""
-#: builtins.c:2961
+#. 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:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
msgstr "\"%s\" konverteras till \"%s\" när det skickas via \"...\""
-#: builtins.c:2965
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
msgstr "(alltså skall du skicka \"%s\" och inte \"%s\" till \"va_arg\")"
-#: builtins.c:3074
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
msgstr "ogiltigt argument till \"__builtin_frame_address\""
-#: builtins.c:3076
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
msgstr "ogiltigt argument till \"__builtin_return_address\""
-#: builtins.c:3089
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
msgstr "Icke supportat argument till \"__builtin_frame_address\""
-#: builtins.c:3091
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
msgstr "Icke supportat argument till \"__builtin_return_address\""
-#: builtins.c:3254
+#: builtins.c:3515
msgid "second arg to `__builtin_expect' must be a constant"
msgstr "andra argumentet till \"__builtin_expect\" måste vara en konstant"
-#: builtins.c:3584
+#: builtins.c:4010
msgid "__builtin_longjmp second argument must be 1"
msgstr "andra argumentet till __builtin_longjmp måste vara 1"
-#: builtins.c:3598
-msgid "__builtin_trap not supported by this target"
-msgstr "__builtin_trap stöds inte på denna målarkitektur"
-
#. just do library call, if unknown builtin
-#: builtins.c:3650 c-common.c:4044
+#: builtins.c:4074 c-common.c:4437
#, c-format
msgid "built-in function `%s' not currently supported"
msgstr "inbyggd funktion \"%s\" stöds inte för närvarande"
-#: c-common.c:509
-#, c-format
-msgid "`%s' is not defined outside of function scope"
-msgstr ""
-
-#: c-common.c:614
-#, c-format
-msgid ""
-"string length `%d' is greater than the length `%d' ISO C%d compilers are "
-"required to support"
-msgstr ""
-"stränglängden \"%d\" är större än den minsta längden \"%d\" som ISO C%d "
-"kompilatorer behöver stödja"
-
-#: c-common.c:779
-#, c-format
-msgid "`%s' attribute directive ignored"
-msgstr "attributet \"%s\" ignorerat"
-
-#: c-common.c:787
-#, c-format
-msgid "`%s' attribute does not apply to types"
-msgstr "attributet \"%s\" är inte applicerbart på typer"
-
-#: c-common.c:794
-#, c-format
-msgid "wrong number of arguments specified for `%s' attribute"
-msgstr "fel antal argument angett för attributet `%s'"
-
-#: c-common.c:810 c-common.c:817 c-common.c:824 c-common.c:837 c-common.c:845
-#: c-common.c:860 c-common.c:873 c-common.c:881 c-common.c:897 c-common.c:909
-#: c-common.c:921 c-common.c:926 c-common.c:1100 c-common.c:1252
-#, c-format
-msgid "`%s' attribute ignored"
-msgstr "attributet `%s' ignorerat"
-
-#: c-common.c:959
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "okänt maskinläge `%s'"
-
-#: c-common.c:962
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "ingen datatyp för läge `%s'"
-
-#: c-common.c:969
-#, c-format
-msgid "type with more precision than %s"
-msgstr "typ med högre precision än %s"
-
-#: c-common.c:988
-msgid "section attribute cannot be specified for local variables"
-msgstr "attributet \"section\" kan inte anges för lokala variabler"
-
-#: c-common.c:995
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
-
-#: c-common.c:1001
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr "attributet \"section\" är inte tillåten för \"%s\""
-
-#: c-common.c:1004
-msgid "section attributes are not supported for this target"
-msgstr "attributet \"section\" stöds inte för denna målarkitektur"
-
-#: c-common.c:1023
-msgid "requested alignment is not a constant"
-msgstr "efterfrågad minnesjustering är inte konstant"
-
-#: c-common.c:1028
-msgid "requested alignment is not a power of 2"
-msgstr "efterrågad minnesjustering är inte en potens av 2"
-
-#: c-common.c:1030
-msgid "requested alignment is too large"
-msgstr "efterfrågad minnesjustering är för stor"
-
-#: c-common.c:1053
-#, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "minnesjustering kan inte anges för \"%s\""
+#: builtins.c:4147
+#, fuzzy
+msgid "target format does not support infinity"
+msgstr "målprocessorn stödjer inte THUMB-instruktioner"
-#: c-common.c:1078
+#: c-common.c:1163
#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr "\"%s\" är definierad både normalt och som ett alias"
-
-#: c-common.c:1086
-msgid "alias arg not a string"
-msgstr "aliasargumentet är inte en sträng"
+msgid "`%s' is not defined outside of function scope"
+msgstr "\"%s\" är inte definierad utanför funktions-scope"
-#: c-common.c:1107 c-common.c:1124 c-common.c:1141
+#: c-common.c:1184
#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "attributet \"%s\" fungerar bara på funktioner"
+msgid "string length `%d' is greater than the length `%d' ISO C%d compilers are required to support"
+msgstr "stränglängden \"%d\" är större än den minsta längden \"%d\" som ISO C%d kompilatorer behöver stödja"
-#: c-common.c:1113 c-common.c:1130 c-common.c:1147
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "kan inte sätta attributet \"%s\" efter definitionen"
+#: c-common.c:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr "sammanslagning av strängliteraler tillsammans med __FUNCTION__ är föråldrat"
-#: c-common.c:1280 ch/decl.c:4100
+#: c-common.c:1338
msgid "overflow in constant expression"
msgstr "spill i konstant uttryck"
-#: c-common.c:1301
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr "heltalsspill i uttryck"
-#: c-common.c:1310
+#: c-common.c:1368
msgid "floating point overflow in expression"
msgstr "flyttalsspill i uttryck"
+#: c-common.c:1374
+#, fuzzy
+msgid "vector overflow in expression"
+msgstr "heltalsspill i uttryck"
+
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:1331
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr "stort heltal implicit trunkerat till unsigned typ"
-#: c-common.c:1333
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr "negativt heltal implicit konverterat till unsigned typ"
-#: c-common.c:1380
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr "spill i implicit constant konvertering"
-#: c-common.c:1528
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
msgstr "operation på \"%s\" kan vara odefinierad"
-#: c-common.c:1813
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr "uttryckssats har inkomplett typ"
-#: c-common.c:1846 ch/actions.c:1027
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "case-etikett reducerar inte till en heltalskonstant"
-#: c-common.c:2116
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "ogiltigt sanningsvärdeuttryck"
-#: c-common.c:2167
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "ogiltiga operander till binär %s"
-#: c-common.c:2402 c-common.c:2411
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
-msgstr ""
-"jämförelsen är alltid falsk på grund av begränsat intervall för datatypen"
+msgstr "jämförelsen är alltid falsk på grund av begränsat intervall för datatypen"
-#: c-common.c:2404 c-common.c:2413
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
-msgstr ""
-"jämförelsen är alltid sann på grund av begränsat intervall för datatypen"
+msgstr "jämförelsen är alltid sann på grund av begränsat intervall för datatypen"
-#: c-common.c:2479
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr "jämförelse med unsigned-uttryck >= 0 är alltid sant"
-#: c-common.c:2488
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr "jämförelse med unsigned-uttryck < 0 är alltid falskt"
-#: c-common.c:2539 f/com.c:15229
+#: c-common.c:2636
+msgid "pointer of type `void *' used in arithmetic"
+msgstr "pekare av typen \"void *\" använd med aritmetik"
+
+#: c-common.c:2642
+msgid "pointer to a function used in arithmetic"
+msgstr "pekare till funktion använd med aritmetik"
+
+#: c-common.c:2648
+msgid "pointer to member function used in arithmetic"
+msgstr "pekare till medlemsfunktion använd med aritmetik"
+
+#: c-common.c:2654
+msgid "pointer to a member used in arithmetic"
+msgstr "pekare till en medlemsfunktion använd med aritmetik"
+
+#: c-common.c:2741 f/com.c:14690
msgid "struct type value used where scalar is required"
msgstr "struct-värde använt där skalär krävs"
-#: c-common.c:2543 f/com.c:15233
+#: c-common.c:2745 f/com.c:14694
msgid "union type value used where scalar is required"
msgstr "union-värde använt där skalär krävs"
-#: c-common.c:2547 f/com.c:15237
+#: c-common.c:2749 f/com.c:14698
msgid "array type value used where scalar is required"
msgstr "fält-värde använd där skalär krävs"
-#: c-common.c:2662 f/com.c:15363
+#: c-common.c:2869 f/com.c:14831
msgid "suggest parentheses around assignment used as truth value"
msgstr "föreslår parenteser runt tilldelning som används som sanningsvärde"
-#: c-common.c:2706 c-common.c:2738
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
msgstr "ogiltigt användande av \"restrict\""
-#: c-common.c:3479 c-typeck.c:1792
+#: c-common.c:3059
+#, fuzzy
+msgid "invalid application of `sizeof' to a function type"
+msgstr "ISO C++ förbjuder användning av \"sizeof\" på funktioner"
+
+#: c-common.c:3069
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "ogiltig operation på oinstansierad typ"
+
+#: c-common.c:3075
+#, fuzzy, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "sizeof applicerat på en inkomplett typ"
+
+#: c-common.c:3116
+msgid "`__alignof' applied to a bit-field"
+msgstr ""
+
+#: c-common.c:3596
+#, fuzzy, c-format
+msgid "cannot disable built-in function `%s'"
+msgstr "döljer inbyggd funktion \"%s\""
+
+#: c-common.c:3765 c-typeck.c:1734
#, c-format
msgid "too few arguments to function `%s'"
msgstr "för få argument till funktionen \"%s\""
-#: c-common.c:3485 c-typeck.c:1644
+#: c-common.c:3771 c-typeck.c:1587
#, c-format
msgid "too many arguments to function `%s'"
msgstr "för många argument till funktionen \"%s\""
-#: c-common.c:3672
+#: c-common.c:3790
+#, fuzzy, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "för många argument till funktionen \"%s\""
+
+#: c-common.c:4059
msgid "pointers are not permitted as case values"
msgstr "pekare är inte tillåtna case-värden"
-#: c-common.c:3678
+#: c-common.c:4065
msgid "ISO C++ forbids range expressions in switch statements"
msgstr "ISO C++ förbjuder intervalluttryck i switch-satser"
-#: c-common.c:3680
+#: c-common.c:4067
msgid "ISO C forbids range expressions in switch statements"
msgstr "ISO C förbjuder intervalluttryck i switch-satser"
-#: c-common.c:3710
+#: c-common.c:4097
msgid "empty range specified"
msgstr "tomt intervall angivet"
-#: c-common.c:3761
+#: c-common.c:4148
msgid "duplicate (or overlapping) case value"
msgstr "dubbla (eller överlappand) case-värden"
-#: c-common.c:3763
+#: c-common.c:4150
msgid "this is the first entry overlapping that value"
msgstr "detta är det första fallet som överlappar det värdet"
-#: c-common.c:3767 ch/actions.c:1125
+#: c-common.c:4154
msgid "duplicate case value"
msgstr "upprepat case-värde"
-#: c-common.c:3768
+#: c-common.c:4155
msgid "previously used here"
msgstr "tidigare använd här"
-#: c-common.c:3772
+#: c-common.c:4159
msgid "multiple default labels in one switch"
msgstr "flera default-etiketter i en switch"
-#: c-common.c:3773
+#: c-common.c:4160
msgid "this is the first default label"
msgstr "detta är den första default-etiketten"
-#: c-common.c:3801
+#: c-common.c:4188
+#, fuzzy
msgid "ISO C++ forbids taking the address of a label"
-msgstr "ISO C++ förbjuder att man tar adressen till en etikett"
+msgstr "ISO C++ förbjuder att man tar adressen till funktionen \"::main\""
-#: c-common.c:3803
+#: c-common.c:4190
+#, fuzzy
msgid "ISO C forbids taking the address of a label"
-msgstr "ISO C förbjuder att man tar adressen till en etikett"
+msgstr "ISO C++ förbjuder att man tar adressen till funktionen \"::main\""
-#: c-common.c:4314
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr "-Wformat-y2k ignorerad utan -Wformat"
+#: c-common.c:5213
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "deklaration av \"%s\" döljer %s"
-#: c-common.c:4316
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr "-Wformat-extra-args ignorerad utan -Wformat"
+#: c-common.c:5629
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "okänt maskinläge `%s'"
-#: c-common.c:4318
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr "-Wformat-nonliteral ignorerad utan -Wformat"
+#: c-common.c:5632
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "ingen datatyp för läge `%s'"
-#: c-common.c:4320
-msgid "-Wformat-security ignored without -Wformat"
-msgstr "-Wformat-security ignorerad utan -Wformat"
+#: c-common.c:5641 c-common.c:6242
+#, fuzzy, c-format
+msgid "unable to emulate '%s'"
+msgstr "kan inte öppna fil \"%s\""
-#: c-common.c:4322
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr "-Wmissing-format-attribute ignorerad utan -Wformat"
+#: c-common.c:5677
+msgid "section attribute cannot be specified for local variables"
+msgstr "attributet \"section\" kan inte anges för lokala variabler"
+
+#: c-common.c:5688
+#, c-format
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
+
+#: c-common.c:5697
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "attributet \"section\" är inte tillåten för \"%s\""
+
+#: c-common.c:5704
+msgid "section attributes are not supported for this target"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
+
+#: c-common.c:5746
+msgid "requested alignment is not a constant"
+msgstr "efterfrågad minnesjustering är inte konstant"
+
+#: c-common.c:5751
+msgid "requested alignment is not a power of 2"
+msgstr "efterrågad minnesjustering är inte en potens av 2"
+
+#: c-common.c:5756
+msgid "requested alignment is too large"
+msgstr "efterfrågad minnesjustering är för stor"
+
+#: c-common.c:5783
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "minnesjustering kan inte anges för \"%s\""
+
+#: c-common.c:5828
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr "\"%s\" är definierad både normalt och som ett alias"
+
+#: c-common.c:5838
+msgid "alias arg not a string"
+msgstr "aliasargumentet är inte en sträng"
+
+#: c-common.c:5885
+#, fuzzy
+msgid "visibility arg not a string"
+msgstr "aliasargumentet är inte en sträng"
+
+#: c-common.c:5894
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr ""
+
+#: c-common.c:5928
+#, fuzzy
+msgid "tls_model arg not a string"
+msgstr "aliasargumentet är inte en sträng"
+
+#: 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 "attributet \"%s\" fungerar bara på funktioner"
+
+#: c-common.c:5969 c-common.c:6025
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "kan inte sätta attributet \"%s\" efter definitionen"
+
+#: c-common.c:6109
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "attributet `%s' ignorerat för \"%s\""
-#: c-convert.c:78 c-typeck.c:983 c-typeck.c:4112 ch/convert.c:1166
-#: cp/typeck.c:1755 cp/typeck.c:6319
+#: c-common.c:6174
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "ogiltigt vektortype för attribut \"%s\""
+
+#: 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
+#, fuzzy
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "antalet argument matchar inte prototypen"
+
+#: c-common.c:6344
+#, fuzzy, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr "formatsträng har ett ogiltigt antal operander"
+
+#: 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 "värdet av typen void ignoreras inte vilket bör göras"
-#: c-convert.c:110 java/typeck.c:150
+#: c-convert.c:112 java/typeck.c:150
msgid "conversion to non-scalar type requested"
msgstr "konvertering till icke-skalär typ begärd"
-#: c-decl.c:545
-#, c-format
-msgid "unknown C standard `%s'"
-msgstr "okänd C-standard \"%s\""
-
-#: c-decl.c:839
+#: c-decl.c:336
#, c-format
msgid "array `%s' assumed to have one element"
msgstr "fält \"%s\" antas ha ett element"
-#: c-decl.c:1015
+#: c-decl.c:522
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr "\"struct %s\" är inkomplett i scope-område som slutar här"
-#: c-decl.c:1018
+#: c-decl.c:525
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr "\"union %s\" är inkomplett i scope-område som slutar här"
-#: c-decl.c:1021
+#: c-decl.c:528
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr "\"enum %s\" är inkomplett i scope-område som slutar här"
-#: c-decl.c:1135 c-decl.c:1300 ch/decl.c:2920 java/decl.c:1334
+#: c-decl.c:642 c-decl.c:767 java/decl.c:1399
#, c-format
msgid "label `%s' used but not defined"
msgstr "etikett \"%s\" använd men inte definierad"
-#: c-decl.c:1141 c-decl.c:1307 ch/decl.c:2926 java/decl.c:1340
+#: c-decl.c:648 c-decl.c:774 java/decl.c:1405
#, c-format
msgid "label `%s' defined but not used"
msgstr "etikett \"%s\" definierad men inte använd"
-#: c-decl.c:1429 c-decl.c:1482
+#: c-decl.c:889 cp/decl.c:3058
+#, fuzzy, c-format
+msgid "function `%s' redeclared as inline"
+msgstr "biblioteksfunktion \"%s\" deklarerad som icke-funktion"
+
+#: c-decl.c:891 cp/decl.c:3060
+#, fuzzy, c-format
+msgid "previous declaration of function `%s' with attribute noinline"
+msgstr "implicit deklaration av funktion \"%s\""
+
+#: c-decl.c:898 cp/decl.c:3067
+#, fuzzy, c-format
+msgid "function `%s' redeclared with attribute noinline"
+msgstr "funktionen \"%s\" deklarerades tidigare i ett block"
+
+#: c-decl.c:900 cp/decl.c:3069
+#, fuzzy, c-format
+msgid "previous declaration of function `%s' was inline"
+msgstr "tidigare deklaration av \"%s\""
+
+#: c-decl.c:929 c-decl.c:975
#, c-format
msgid "shadowing built-in function `%s'"
msgstr "döljer inbyggd funktion \"%s\""
-#: c-decl.c:1431
+#: c-decl.c:931
#, c-format
msgid "shadowing library function `%s'"
msgstr "döljer biblioteksfunktion \"%s\""
-#: c-decl.c:1437
+#: c-decl.c:937
#, c-format
msgid "library function `%s' declared as non-function"
msgstr "biblioteksfunktion \"%s\" deklarerad som icke-funktion"
-#: c-decl.c:1441 c-decl.c:1444
+#: c-decl.c:941 c-decl.c:944
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr "inbyggd funktion \"%s\" deklarerad som icke-funktion"
-#: c-decl.c:1448 objc/objc-act.c:2488 objc/objc-act.c:6153
+#: 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 "\"%s\" omdeklarerad som en annan sorts symbol"
-#: c-decl.c:1449 c-decl.c:1627 c-decl.c:1774 objc/objc-act.c:2490
-#: objc/objc-act.c:6155 objc/objc-act.c:6213
+#: 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 "tidigare deklaration av \"%s\""
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1531
+#: c-decl.c:1044
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr "motstridiga typer på inbyggd funktion \"%s\""
-#: c-decl.c:1574 c-decl.c:1593
+#: c-decl.c:1087 c-decl.c:1106
#, c-format
msgid "conflicting types for `%s'"
msgstr "motstridiga typer på \"%s\""
-#: c-decl.c:1616
-msgid ""
-"A parameter list with an ellipsis can't match an empty parameter name list "
-"declaration."
-msgstr ""
-"En parameterlista med ellips kan inte matcha en tom namnlistdeklaration."
+#: c-decl.c:1129
+#, fuzzy
+msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
+msgstr "En parameterlista med ellips kan inte matcha en tom namnlistdeklaration."
-#: c-decl.c:1622
-msgid ""
-"An argument type that has a default promotion can't match an empty parameter "
-"name list declaration."
-msgstr ""
+#: c-decl.c:1135
+#, fuzzy
+msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
+msgstr "En parameterlista med ellips kan inte matcha en tom namnlistdeklaration."
+
+#: c-decl.c:1146
+#, fuzzy, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "statisk deklaration av \"%s\" följer på icke-statisk"
-#: c-decl.c:1637 c-decl.c:1659
+#: c-decl.c:1153
+#, fuzzy, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "icke-statisk deklaration av \"%s\" följer på statisk"
+
+#: c-decl.c:1164 c-decl.c:1187
#, c-format
msgid "redefinition of `%s'"
msgstr "omdefiniering av \"%s\""
-#: c-decl.c:1640
+#: c-decl.c:1167
#, c-format
msgid "redeclaration of `%s'"
msgstr "omdeklaration av \"%s\""
-#: c-decl.c:1643
+#: c-decl.c:1170
#, c-format
msgid "conflicting declarations of `%s'"
msgstr "motstridande deklarationer av \"%s\""
-#: c-decl.c:1652 c-decl.c:1664
-#, c-format
-msgid "`%s' previously defined here"
-msgstr "\"%s\" definierades tidigare här"
-
-#: c-decl.c:1653 c-decl.c:1665
-#, c-format
-msgid "`%s' previously declared here"
-msgstr "\"%s\" är tidigare deklarerad här"
-
-#: c-decl.c:1686
+#: c-decl.c:1214
#, c-format
msgid "prototype for `%s' follows"
msgstr "prototyp för \"%s\" följer"
-#: c-decl.c:1687 c-decl.c:1695 c-decl.c:1711
+#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234
msgid "non-prototype definition here"
msgstr "icke-prototypdefinition here"
-#: c-decl.c:1694
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr "prototyp för \"%s\" följer och antalet argument matchar inte"
-#: c-decl.c:1709
+#: c-decl.c:1232
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr "prototyp för `%s' följer och argument %d matchar inte"
-#: c-decl.c:1726
+#: c-decl.c:1250
#, c-format
msgid "`%s' declared inline after being called"
msgstr "\"%s\" är deklarerad inline efter att den blivit anropad"
-#: c-decl.c:1731
+#: c-decl.c:1256
#, c-format
msgid "`%s' declared inline after its definition"
msgstr "\"%s\" deklarerad inline efter sin definition"
-#: c-decl.c:1738
+#: c-decl.c:1263
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr "statisk deklaration av \"%s\" följer på icke-statisk"
-#: c-decl.c:1746
+#: c-decl.c:1271
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr "icke-statisk deklaration av \"%s\" följer på statisk"
-#: c-decl.c:1753
+#: c-decl.c:1278
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr "const-deklaration för \"%s\" följer på icke-const"
-#: c-decl.c:1760
+#: c-decl.c:1285
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr "typkvalificerare för \"%s\" i konflikt med tidigare dekl"
-#: c-decl.c:1773
+#: c-decl.c:1298
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr "redundant omdeklaration av \"%s\" i samma scope"
-#: c-decl.c:2064
+#: c-decl.c:1599 java/decl.c:1098
+#, c-format
+msgid "declaration of `%s' shadows a parameter"
+msgstr "deklaration av \"%s\" döljer en parameter"
+
+#: c-decl.c:1602 java/decl.c:1101
+#, c-format
+msgid "declaration of `%s' shadows a symbol from the parameter list"
+msgstr "deklaration av \"%s\" döljer symbol från parameterlista"
+
+#: c-decl.c:1623 cp/decl.c:4176
+#, fuzzy
+msgid "a parameter"
+msgstr "oanvänd parameter \"%s\""
+
+#: c-decl.c:1625 cp/decl.c:4193
+msgid "a previous local"
+msgstr ""
+
+#. XXX shadow warnings in outer-more namespaces
+#: c-decl.c:1629 cp/decl.c:4197
+#, fuzzy
+msgid "a global declaration"
+msgstr "dubbel deklaration av etikett \"%s\""
+
+#: c-decl.c:1673
#, c-format
msgid "nested extern declaration of `%s'"
msgstr "nästlad extern deklaration av \"%s\""
-#: c-decl.c:2089 java/decl.c:986
+#: c-decl.c:1692 java/decl.c:1051
#, c-format
msgid "`%s' used prior to declaration"
msgstr "\"%s\" är använd innan sin deklaration"
-#: c-decl.c:2110 c-decl.c:2325
+#: c-decl.c:1706 c-decl.c:1881
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr "\"%s\" deklarerades implicit \"extern\" och senare \"static\""
-#: c-decl.c:2220
+#: c-decl.c:1809 cp/decl.c:4035
msgid "type mismatch with previous external decl"
msgstr "typ skiljer sig från tidigare extern deklaration"
-#: c-decl.c:2221
+#: c-decl.c:1810
#, c-format
msgid "previous external decl of `%s'"
msgstr "föregående externa dekl. av \"%s\""
-#: c-decl.c:2234
+#: c-decl.c:1823
msgid "type mismatch with previous implicit declaration"
msgstr "typ skiljer sig från tidigare implicit deklaration"
-#: c-decl.c:2236
+#: c-decl.c:1825
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "tidigare implicit deklaration av \"%s\""
-#: c-decl.c:2253
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr "typen på extern \"%s\" är inte global"
-
-#: c-decl.c:2304
+#: c-decl.c:1860
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr "\"%s\" deklarerades tidigare implicit att returnera \"int\""
-#: c-decl.c:2329
+#: c-decl.c:1885
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr "\"%s\" deklarerades \"extern\" och senare \"static\""
-#: c-decl.c:2352
+#: c-decl.c:1909
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr "extern deklaration av \"%s\" matchar inte den globala"
-#: c-decl.c:2392
+#: c-decl.c:1951
#, c-format
msgid "`%s' locally external but globally static"
msgstr "\"%s\" är lokalt extern men globalt static"
-#: c-decl.c:2428 c-decl.c:2453 cp/decl.c:4221 java/decl.c:1033
-#, c-format
-msgid "declaration of `%s' shadows a parameter"
-msgstr "deklaration av \"%s\" döljer en parameter"
-
-#: c-decl.c:2431 java/decl.c:1036
-#, c-format
-msgid "declaration of `%s' shadows a symbol from the parameter list"
-msgstr "deklaration av \"%s\" döljer symbol från parameterlista"
-
-# local, det kan troligen vara både lokal variabel och lokal funktion??
-#: c-decl.c:2455 cp/decl.c:4229
-#, c-format
-msgid "declaration of `%s' shadows previous local"
-msgstr "deklaration av \"%s\" döljer en tidigare lokal"
-
-#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2458 cp/decl.c:4233
-#, c-format
-msgid "declaration of `%s' shadows global declaration"
-msgstr "deklaration av \"%s\" döljer global deklaration"
-
-#: c-decl.c:2548
+#: c-decl.c:2073
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr "funktionen \"%s\" deklarerades tidigare i ett block"
-#: c-decl.c:2565 c-decl.c:2567
+#: c-decl.c:2093 c-decl.c:2095
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "implicit deklaration av funktion \"%s\""
-#: c-decl.c:2654
+#: c-decl.c:2174
#, c-format
msgid "label %s referenced outside of any function"
msgstr "etikett %s är refererad till utanför en funktion"
-#: c-decl.c:2711
+#: c-decl.c:2231
#, c-format
msgid "duplicate label declaration `%s'"
msgstr "dubbel deklaration av etikett \"%s\""
-#: c-decl.c:2714
+#: c-decl.c:2234
msgid "this is a previous declaration"
msgstr "detta är en tidigare deklaration"
-#: c-decl.c:3207
+#: c-decl.c:2657
msgid "unnamed struct/union that defines no instances"
msgstr "odöpt struktur/union som inte har någon instans"
-#: c-decl.c:3226
+#: c-decl.c:2676
msgid "useless keyword or type name in empty declaration"
msgstr "oanvändbart nyckelord eller typnamn i tom deklaration"
-#: c-decl.c:3233
+#: c-decl.c:2683
msgid "two types specified in one empty declaration"
msgstr "två typer angivna i en tom deklaration"
-#: c-decl.c:3238 c-parse.y:724 c-parse.y:726 cp/parse.y:728 cp/parse.y:1797
-#: objc/objc-parse.y:766 objc/objc-parse.y:768 objc/objc-parse.y:3034
+#: 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 "tom deklaration"
-#: c-decl.c:3268
-msgid ""
-"ISO C89 does not support `static' or type qualifiers in parameter array "
-"declarators"
-msgstr ""
+#: c-decl.c:2718
+#, fuzzy
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr "ISO C89 stöder inte flexibla fältmedlemmar"
-#: c-decl.c:3270
-msgid "ISO C89 does not support `[*]' array declarators"
-msgstr ""
+#: c-decl.c:2720
+#, fuzzy
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "ISO C89 stöder inte flexibla fältmedlemmar"
-#: c-decl.c:3273
+#: c-decl.c:2723
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr ""
-#: c-decl.c:3292
+#: c-decl.c:2742
msgid "static or type qualifiers in abstract declarator"
msgstr ""
-#: c-decl.c:3349
+#: c-decl.c:2816
#, c-format
msgid "`%s' is usually a function"
msgstr "\"%s\" är vanligtvis en funktion"
-#: c-decl.c:3363
-#, c-format
-msgid "typedef `%s' is initialized"
+#: c-decl.c:2825
+#, fuzzy, c-format
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
msgstr "typedef \"%s\" är initierad"
-#: c-decl.c:3370
+#: c-decl.c:2831
#, c-format
msgid "function `%s' is initialized like a variable"
msgstr "funktion \"%s\" är initierad som en variabel"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3377
+#: c-decl.c:2838
#, c-format
msgid "parameter `%s' is initialized"
msgstr "parameter \"%s\" är initierad"
-#: c-decl.c:3397 c-typeck.c:4843
+#: c-decl.c:2858 c-typeck.c:4854
msgid "variable-sized object may not be initialized"
msgstr "objekt med variabel storlek kan inte initieras"
-#: c-decl.c:3403
+#: c-decl.c:2864
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr "variabel \"%s\" har initierare men är av inkomplett typ"
-#: c-decl.c:3409
+#: c-decl.c:2870
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr "elementen i fält \"%s\" har en ofullständig typ"
-#: c-decl.c:3422
+#: c-decl.c:2883
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
msgstr "deklaration av \"%s\" är \"extern\" och initierad"
-#: c-decl.c:3535
+#: c-decl.c:2932 c-decl.c:5694 cp/decl.c:7353 cp/decl.c:13860
+#, fuzzy, c-format
+msgid "inline function `%s' given attribute noinline"
+msgstr "inbyggd funktion \"%s\" deklarerad som icke-funktion"
+
+#: c-decl.c:3006
#, c-format
msgid "initializer fails to determine size of `%s'"
msgstr "initierare misslyckas med att bestämma storlek på \"%s\""
-#: c-decl.c:3540
+#: c-decl.c:3011
#, c-format
msgid "array size missing in `%s'"
msgstr "fältstorlek saknas i \"%s\""
-#: c-decl.c:3556
+#: c-decl.c:3027
#, c-format
msgid "zero or negative size array `%s'"
msgstr "noll eller negativ storlek på fält \"%s\""
-#: c-decl.c:3584 ch/decl.c:4133
+#: c-decl.c:3055
#, c-format
msgid "storage size of `%s' isn't known"
msgstr "lagringsstorlek på \"%s\" är okänd"
-#: c-decl.c:3594
+#: c-decl.c:3065
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr "lagringsstorlek på \"%s\" är inte konstant"
-#: c-decl.c:3653
+#: c-decl.c:3125
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr "ignorerar asm för ickestatisk lokal variabel \"%s\""
-#: c-decl.c:3728
-#, c-format
-msgid "ANSI C forbids parameter `%s' shadowing typedef"
+#: c-decl.c:3190
+#, fuzzy, c-format
+msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr "ANSI C förbjuder att parameter \"%s\" döljer typedef"
-#: c-decl.c:3964 cp/decl.c:10028
+#: c-decl.c:3535 cp/decl.c:10433
msgid "`long long long' is too long for GCC"
msgstr "\"long long long\" är för långt för GCC"
-#: c-decl.c:3969
-msgid "ISO C89 does not support `long long'"
+#: c-decl.c:3540
+#, fuzzy
+msgid "ISO C90 does not support `long long'"
msgstr "ISO C89 stödjer inte \"long long\"'"
-#: c-decl.c:3974 cp/decl.c:10033
+#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438
#, c-format
msgid "duplicate `%s'"
msgstr "flera \"%s\""
-#: c-decl.c:3980 cp/decl.c:10053
+#: 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 "två eller fler datatyper i deklaration av \"%s\""
-#: c-decl.c:3995 cp/decl.c:10058
+#: 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:4034
+#: c-decl.c:3631
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr ""
-#: c-decl.c:4063
+#: c-decl.c:3660
#, c-format
msgid "both long and short specified for `%s'"
msgstr "både long och short angivet för \"%s\""
-#: c-decl.c:4067 cp/decl.c:10157
+#: c-decl.c:3664 cp/decl.c:10594
#, c-format
msgid "long or short specified with char for `%s'"
msgstr "long eller short angiven med char för \"%s\""
-#: c-decl.c:4074 cp/decl.c:10161
+#: c-decl.c:3671 cp/decl.c:10598
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr "long eller short angiven med flyttalstyp för \"%s\""
-#: c-decl.c:4077
+#: c-decl.c:3674
msgid "the only valid combination is `long double'"
msgstr "den enda giltiga kombinationen är \"long double\""
-#: c-decl.c:4083
+#: c-decl.c:3680
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "både signed och unsigned specificerat för \"%s\""
-#: c-decl.c:4085 cp/decl.c:10150
+#: c-decl.c:3682 cp/decl.c:10587
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr "long, short, signed eller unsigned ogiltig för \"%s\""
-#: c-decl.c:4091 cp/decl.c:10170
+#: c-decl.c:3688 cp/decl.c:10607
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr "long, short, signed eller unsigned använd felaktigt på \"%s\""
-#: c-decl.c:4110 cp/decl.c:10191
+#: c-decl.c:3706 cp/decl.c:10628
#, c-format
msgid "complex invalid for `%s'"
msgstr "complex ogiltig för \"%s\""
-#: c-decl.c:4155
-msgid "ISO C89 does not support complex types"
+#: c-decl.c:3748
+#, fuzzy
+msgid "ISO C90 does not support complex types"
msgstr "ISO C89 stöder inte typen complex"
-#: c-decl.c:4167
+#: c-decl.c:3760
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr "ISO C stöder inte bara \"complex\" i meningen \"double complex\""
-#: c-decl.c:4173 c-decl.c:4185
+#: c-decl.c:3766 c-decl.c:3778
msgid "ISO C does not support complex integer types"
msgstr "ISO C stöder inte komplexa heltalstyper"
-#: c-decl.c:4200 c-decl.c:4615 cp/decl.c:10790
+#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241
msgid "duplicate `const'"
msgstr "upprepning av \"const\""
-#: c-decl.c:4202 c-decl.c:4619 cp/decl.c:10794
+#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245
msgid "duplicate `restrict'"
msgstr "upprepning av \"restrict\""
-#: c-decl.c:4204 c-decl.c:4617 cp/decl.c:10792
+#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243
msgid "duplicate `volatile'"
msgstr "upprepning av \"volatile\""
-#: c-decl.c:4226 cp/decl.c:10340
+#: c-decl.c:3825 cp/decl.c:10791
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "flera lagringsklasser i deklaration av \"%s\""
-#: c-decl.c:4235
+#: c-decl.c:3835
msgid "function definition declared `auto'"
msgstr "funktionsdefinition deklarerad som \"auto\""
-#: c-decl.c:4237
+#: c-decl.c:3837
msgid "function definition declared `register'"
msgstr "funktionsdefinition deklarerad som \"register\""
-#: c-decl.c:4239
+#: c-decl.c:3839
msgid "function definition declared `typedef'"
msgstr "funktionsdefinition deklarerad som \"typedef\""
-#: c-decl.c:4252
+#: c-decl.c:3841
+#, fuzzy
+msgid "function definition declared `__thread'"
+msgstr "funktionsdefinition deklarerad som \"typedef\""
+
+#: c-decl.c:3854
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr "lagringsklass angiven för strukturfält \"%s\""
-#: c-decl.c:4256 cp/decl.c:10387
+#: c-decl.c:3858 cp/decl.c:10838
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "lagringsklass angiven för parameter \"%s\""
-#: c-decl.c:4259 cp/decl.c:10389
+#: c-decl.c:3861 cp/decl.c:10840
msgid "storage class specified for typename"
msgstr "lagringsklass angiven för typnamn"
-#: c-decl.c:4271 cp/decl.c:10403
+#: c-decl.c:3873 cp/decl.c:10855
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr "`%s' initierad och deklarerad \"extern\""
-#: c-decl.c:4273 cp/decl.c:10406
+#: c-decl.c:3875 cp/decl.c:10858
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr "\"%s\" är både \"extern\" och initierare"
-#: c-decl.c:4277 cp/decl.c:10410
+#: c-decl.c:3880 cp/decl.c:10866
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "toppnivådeklaration av \"%s\" anger \"auto\""
+
+#: c-decl.c:3885 cp/decl.c:10862
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "nästlad funktion \"%s\" är deklarerad \"extern\""
-#: c-decl.c:4280 cp/decl.c:10414
-#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "toppnivådeklaration av \"%s\" anger \"auto\""
+#: c-decl.c:3891 cp/decl.c:10872
+#, fuzzy, c-format
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "funktion \"%s\" kan inte deklareras som \"mutable\""
#. 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:4314 c-decl.c:4480
+#: c-decl.c:3930 c-decl.c:4118
+#, fuzzy
msgid "static or type qualifiers in non-parameter array declarator"
-msgstr ""
+msgstr "två typer angivna i en tom deklaration"
-#: c-decl.c:4335
+#: c-decl.c:3974
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr "deklaration av \"%s\" som ett fält med void"
-#: c-decl.c:4341
+#: c-decl.c:3980
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "deklaration av \"%s\" som ett fält med funktioner"
-#: c-decl.c:4362
+#: c-decl.c:3985 c-decl.c:5250
+#, fuzzy
+msgid "invalid use of structure with flexible array member"
+msgstr "ISO C89 stöder inte flexibla fältmedlemmar"
+
+#: c-decl.c:4004
#, c-format
msgid "size of array `%s' has non-integer type"
msgstr "storlek på fält \"%s\" är inte av heltalstyp"
-#: c-decl.c:4367
+#: c-decl.c:4009
#, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr "ISO C förbjuder fält \"%s\" med storlek noll"
-#: c-decl.c:4374
+#: c-decl.c:4016
#, c-format
msgid "size of array `%s' is negative"
msgstr "storlek på fält \"%s\" är negativt"
-#: c-decl.c:4387
-#, c-format
-msgid "ISO C89 forbids array `%s' whose size can't be evaluated"
+#: c-decl.c:4029
+#, fuzzy, c-format
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
msgstr "ISO C89 förbjuder fält \"%s\" vars storlek inte kan beräknas"
-#: c-decl.c:4390
-#, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
+#: c-decl.c:4032
+#, fuzzy, c-format
+msgid "ISO C90 forbids variable-size array `%s'"
msgstr "ISO C89 förbjuder fält \"%s\" med variabel storlek"
-#: c-decl.c:4420 c-decl.c:4641
+#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450
#, c-format
msgid "size of array `%s' is too large"
msgstr "fältet \"%s\" är för stort"
-#: c-decl.c:4437
-msgid "ISO C89 does not support flexible array members"
+#: c-decl.c:4075
+#, fuzzy
+msgid "ISO C90 does not support flexible array members"
msgstr "ISO C89 stöder inte flexibla fältmedlemmar"
-#: c-decl.c:4447
+#: c-decl.c:4085
msgid "array type has incomplete element type"
msgstr "fälttyp har inkomplett elementtyp"
-#: c-decl.c:4454
-msgid "ANSI C forbids const or volatile function types"
-msgstr "ANSI C förbjuder funktionertyper med const eller volatile"
+#: 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:10550
+#: c-decl.c:4138 cp/decl.c:10998
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "\"%s\" är deklarerad som en funktion som returnerar en funktion"
-#: c-decl.c:4505 cp/decl.c:10555
+#: c-decl.c:4143 cp/decl.c:11003
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "\"%s\" är deklarerad som en funktion som returnerar ett fält"
-#: c-decl.c:4540
+#: c-decl.c:4171
msgid "ISO C forbids qualified void function return type"
msgstr ""
-#: c-decl.c:4544
+#: c-decl.c:4175
msgid "type qualifiers ignored on function return type"
msgstr ""
-#: c-decl.c:4573 c-decl.c:4656 c-decl.c:4778 c-decl.c:4869
+#: 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:4613 cp/decl.c:10786
+#: c-decl.c:4244 cp/decl.c:11237
msgid "invalid type modifier within pointer declarator"
msgstr ""
-#: c-decl.c:4690
-msgid "ISO C forbids const or volatile function types"
-msgstr ""
-
-#: c-decl.c:4709 cp/decl.c:11264
+#: c-decl.c:4342 cp/decl.c:11732
#, c-format
msgid "variable or field `%s' declared void"
msgstr "variabel eller fält \"%s\" deklarerad som void"
-#: c-decl.c:4742
+#: c-decl.c:4375
msgid "attributes in parameter array declarator ignored"
msgstr ""
-#: c-decl.c:4767
+#: c-decl.c:4400
msgid "invalid type modifier within array declarator"
msgstr ""
-#: c-decl.c:4816
+#: c-decl.c:4445
#, c-format
msgid "field `%s' declared as a function"
msgstr "fält \"%s\" deklarerad som en funktion"
-#: c-decl.c:4822
+#: c-decl.c:4451
#, c-format
msgid "field `%s' has incomplete type"
msgstr "fält \"%s\" har en inkomplett typ"
-#: c-decl.c:4854 c-decl.c:4856 c-decl.c:4863
+#: 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 "ogiltig lagringsklass för funktion \"%s\""
-#: c-decl.c:4875
+#: c-decl.c:4509
msgid "`noreturn' function returns non-void value"
msgstr "\"noreturn\"-funktion returnerar ett icke-void värde"
-#: c-decl.c:4887
+#: c-decl.c:4524
msgid "cannot inline function `main'"
msgstr "kan inte inline:a funktion \"main\""
-#: c-decl.c:4922
+#: c-decl.c:4577
#, c-format
msgid "variable `%s' declared `inline'"
msgstr "variabel \"%s\" deklarerad \"inline\""
-#: c-decl.c:4993 c-decl.c:5987
+#. 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
+#, fuzzy
+msgid "thread-local storage not supported for this target"
+msgstr "-fdata-sections stöds inte för AIX"
+
+#: c-decl.c:4660 c-decl.c:5746
msgid "function declaration isn't a prototype"
msgstr "funktionsdeklaration är inte en prototyp"
-#: c-decl.c:4999
+#: c-decl.c:4666
msgid "parameter names (without types) in function declaration"
msgstr ""
-#: c-decl.c:5031 c-decl.c:6377 c-decl.c:6676
+#: c-decl.c:4698 c-decl.c:6116
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr "parameter \"%s\" har en inkomplett typ"
-#: c-decl.c:5034
+#: c-decl.c:4701
msgid "parameter has incomplete type"
msgstr "parameter har en inkomplett typ"
-#: c-decl.c:5055
+#: c-decl.c:4722
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr "parameter \"%s\" pekar på inkomplett typ"
-#: c-decl.c:5058
+#: c-decl.c:4725
msgid "parameter points to incomplete type"
msgstr "parameter pekar på inkomplett typ"
-#: c-decl.c:5123
+#: c-decl.c:4790
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr ""
-#: c-decl.c:5164
+#: c-decl.c:4831
msgid "`void' in parameter list must be the entire list"
msgstr "\"void\" i parameterlistan måste vara hela listan"
-#: c-decl.c:5193
-#, c-format
-msgid "`%s %s' declared inside parameter list"
+#: c-decl.c:4862
+#, fuzzy, c-format
+msgid "`struct %s' declared inside parameter list"
msgstr "\"%s %s\" deklarerad inuti parameterlista"
-#: c-decl.c:5202
+#: c-decl.c:4865
+#, c-format
+msgid "`union %s' declared inside parameter list"
+msgstr "\"union %s\" deklarerad inuti parameterlista"
+
+#: c-decl.c:4868
+#, c-format
+msgid "`enum %s' declared inside parameter list"
+msgstr "\"enum %s\" deklarerad inuti parameterlista"
+
+#: c-decl.c:4875
msgid "anonymous struct declared inside parameter list"
msgstr "anonym struktur deklarerad i parameterlista"
-#: c-decl.c:5204
+#: c-decl.c:4877
msgid "anonymous union declared inside parameter list"
msgstr "anonym union deklarerad i parameterlista"
-#: c-decl.c:5206
+#: c-decl.c:4879
msgid "anonymous enum declared inside parameter list"
msgstr "anonym uppräkningstyp deklarerad i parameterlista"
-#: c-decl.c:5210
-msgid ""
-"its scope is only this definition or declaration, which is probably not what "
-"you want."
-msgstr ""
-"dess scope-område är endast denna definition eller deklaration, vilket "
-"troligen inte är vad du vill."
+#: c-decl.c:4883
+msgid "its scope is only this definition or declaration, which is probably not what you want"
+msgstr "dess scope-område är endast denna definition eller deklaration, vilket troligen inte är vad du vill."
-#: c-decl.c:5287
+#: c-decl.c:4960
#, c-format
-msgid "redefinition of `%s %s'"
-msgstr "redefinition av \"%s %s\""
+msgid "redefinition of `union %s'"
+msgstr "omdefiniering av \"union %s\""
-#: c-decl.c:5355 c-decl.c:5358
+#: c-decl.c:4962
+#, c-format
+msgid "redefinition of `struct %s'"
+msgstr "omdefiniering av \"struct %s\""
+
+#: c-decl.c:5033 cp/decl.c:7125
+msgid "declaration does not declare anything"
+msgstr ""
+
+#: c-decl.c:5075 c-decl.c:5078
#, c-format
msgid "%s defined inside parms"
msgstr ""
-#: c-decl.c:5356 c-decl.c:5359 c-decl.c:5370
+#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090
msgid "union"
msgstr "union"
-#: c-decl.c:5356 c-decl.c:5359
+#: c-decl.c:5076 c-decl.c:5079
msgid "structure"
msgstr "struktur"
-#: c-decl.c:5369
+#: c-decl.c:5089
#, c-format
msgid "%s has no %s"
msgstr "%s har ingen %s"
-#: c-decl.c:5370
+#: c-decl.c:5090
msgid "struct"
msgstr "struct"
-#: c-decl.c:5371
+#: c-decl.c:5091
msgid "named members"
msgstr "namngivna medlemmar"
-#: c-decl.c:5371
+#: c-decl.c:5091
msgid "members"
msgstr "medlemmar"
-#: c-decl.c:5410
+#: c-decl.c:5130
#, c-format
msgid "nested redefinition of `%s'"
msgstr "nästlad omdefinition av \"%s\""
-#: c-decl.c:5423
+#: c-decl.c:5143
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr ""
-#: c-decl.c:5434
+#: c-decl.c:5154
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr "bitfält \"%s\" har en icke godkänd typ"
-#: c-decl.c:5446
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr "bitfält \"%s\" har en icke godkänd typ enligt ISO C"
-#: c-decl.c:5458
+#: c-decl.c:5177
#, c-format
msgid "negative width in bit-field `%s'"
msgstr "negativ storlek i bitfält \"%s\""
-#: c-decl.c:5460
+#: c-decl.c:5179
#, c-format
msgid "width of `%s' exceeds its type"
msgstr "storleken på \"%s\" är större än sin typ"
-#: c-decl.c:5462
+#: c-decl.c:5181
#, c-format
msgid "zero width for bit-field `%s'"
msgstr "Storleken noll på bitfält \"%s\""
-#: c-decl.c:5476
+#: c-decl.c:5195
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr ""
-#: c-decl.c:5521
+#: c-decl.c:5241
msgid "flexible array member in union"
msgstr ""
-#: c-decl.c:5523
+#: c-decl.c:5243
msgid "flexible array member not at end of struct"
msgstr ""
-#: c-decl.c:5525
+#: c-decl.c:5245
msgid "flexible array member in otherwise empty struct"
msgstr ""
-#: c-decl.c:5550 ch/typeck.c:3063
+#: c-decl.c:5275
#, c-format
msgid "duplicate member `%s'"
msgstr "upprepning av medlem \"%s\""
-#: c-decl.c:5594
+#: 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:5675
+#: c-decl.c:5424
#, c-format
msgid "redeclaration of `enum %s'"
-msgstr ""
+msgstr "omdeklaration av \"enum %s\""
-#: c-decl.c:5709
+#: c-decl.c:5458
msgid "enum defined inside parms"
msgstr ""
-#: c-decl.c:5742
+#: c-decl.c:5491
msgid "enumeration values exceed range of largest integer"
msgstr ""
-#: c-decl.c:5851 ch/decl.c:4437
+#: c-decl.c:5600
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "uppräkningsvärde för \"%s\" är inte en heltalskonstant"
-#: c-decl.c:5864 ch/decl.c:4449
+#: c-decl.c:5613
msgid "overflow in enumeration values"
msgstr "överspill i uppräkningsvärden"
-#: c-decl.c:5869
+#: c-decl.c:5618
msgid "ISO C restricts enumerator values to range of `int'"
msgstr "ISO C begränsar enumreringsvärden till intervallet av en \"int\""
-#: c-decl.c:5941
+#: c-decl.c:5700
msgid "return type is an incomplete type"
msgstr "returtypen är en inkomplett typ"
-#: c-decl.c:5949
+#: c-decl.c:5708
msgid "return type defaults to `int'"
msgstr "returtyp sätts till \"int\""
-#: c-decl.c:5996
+#: c-decl.c:5755
#, c-format
msgid "no previous prototype for `%s'"
msgstr "ingen tidigare prototyp för `%s'"
-#: c-decl.c:6003
+#: c-decl.c:5762
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr "\"%s\" användes utan någon prototyp innan sin definition"
-#: c-decl.c:6009
+#: c-decl.c:5768
#, c-format
msgid "no previous declaration for `%s'"
msgstr "ingen tidigare deklaration av \"%s\""
-#: c-decl.c:6016
+#: c-decl.c:5775
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "\"%s\" användes utan någon deklaration innan sin definition"
-#: c-decl.c:6044 c-decl.c:6763
+#: c-decl.c:5799 c-decl.c:6352
#, c-format
msgid "return type of `%s' is not `int'"
msgstr "returtypen på \"%s\" är inte \"int\""
-#: c-decl.c:6060
+#: c-decl.c:5815
#, c-format
msgid "first argument of `%s' should be `int'"
msgstr "första argumentet till \"%s\" skall vara \"int\""
-#: c-decl.c:6069
+#: c-decl.c:5824
#, c-format
msgid "second argument of `%s' should be `char **'"
msgstr "andra argumentet till \"%s\" skall vara \"char **\""
-#: c-decl.c:6078
+#: c-decl.c:5833
#, c-format
msgid "third argument of `%s' should probably be `char **'"
msgstr "tredje argumentet till \"%s2 skall troligen vara \"char **\""
-#: c-decl.c:6087
+#: c-decl.c:5842
#, c-format
msgid "`%s' takes only zero or two arguments"
msgstr "\"%s\" tar bara noll eller två argument"
-#: c-decl.c:6090
+#: c-decl.c:5845
#, c-format
msgid "`%s' is normally a non-static function"
msgstr "\"%s\" är normalt en icke-statisk function"
-#: c-decl.c:6195
+#: c-decl.c:5943
msgid "parm types given both in parmlist and separately"
msgstr ""
-#: c-decl.c:6216
+#: c-decl.c:5964
msgid "parameter name omitted"
msgstr "parameternamn utlämnat"
-#: c-decl.c:6220 c-decl.c:6322 c-decl.c:6633
+#: c-decl.c:5968 c-decl.c:6070
#, c-format
msgid "parameter `%s' declared void"
msgstr "parameter \"%s\" deklarerad som void"
-#: c-decl.c:6296
+#: c-decl.c:6044
msgid "parameter name missing from parameter list"
msgstr "parameternamn saknas i parameterlista"
-#: c-decl.c:6315 c-decl.c:6626
+#: c-decl.c:6063
#, c-format
msgid "multiple parameters named `%s'"
msgstr "flera parametrar med namn \"%s\""
-#: c-decl.c:6346 c-decl.c:6348
+#: c-decl.c:6085 c-decl.c:6087
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr "typen på \"%s\" sätts till \"int\""
-#: c-decl.c:6384 c-decl.c:6683
+#: c-decl.c:6123
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr "deklaration av parameter \"%s\" med det finns ingen sådan parameter"
-#: c-decl.c:6432
+#: c-decl.c:6171
msgid "number of arguments doesn't match prototype"
msgstr "antalet argument matchar inte prototypen"
-#: c-decl.c:6462
+#: c-decl.c:6201
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr ""
-#: c-decl.c:6476
+#: c-decl.c:6211
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr "argument \"%s\" matchar inte prototypen"
-#: c-decl.c:6656
-#, c-format
-msgid "type of parameter `%s' is not declared"
-msgstr "typen på parameter \"%s\" är inte deklarerad"
+#: c-decl.c:6384 cp/decl.c:14547
+msgid "no return statement in function returning non-void"
+msgstr "ingen return i funktion som returnerar icke-void"
-#: c-decl.c:6885
+#: c-decl.c:6536
msgid "this function may return with or without a value"
msgstr "denna funktion kan returnera med eller utan ett värde"
-#: c-decl.c:6905
+#: c-decl.c:6556
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr "storleken på returvärdet från \"%s\" är %u bytes"
-#: c-decl.c:6909
+#: c-decl.c:6560
#, c-format
msgid "size of return value of `%s' is larger than %d bytes"
msgstr "storleken på returvärdet från \"%s\" är större än %d bytes"
@@ -1348,831 +1549,1010 @@ msgstr "storleken på returvärdet från \"%s\" är större än %d bytes"
#. 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:6964
+#: c-decl.c:6615
msgid "`for' loop initial declaration used outside C99 mode"
msgstr ""
-#: c-decl.c:6984
+#: c-decl.c:6639
+#, c-format
+msgid "`struct %s' declared in `for' loop initial declaration"
+msgstr "\"struct %s\" är deklarerad i en for-loops init-deklaration"
+
+#: c-decl.c:6642
+#, c-format
+msgid "`union %s' declared in `for' loop initial declaration"
+msgstr "\"union %s\" är deklarerad i en for-loops init-deklaration"
+
+#: c-decl.c:6645
#, c-format
-msgid "`%s %s' declared in `for' loop initial declaration"
-msgstr "\"%s %s\" är deklarerad i en for-loops första del"
+msgid "`enum %s' declared in `for' loop initial declaration"
+msgstr "\"enum %s\" är deklarerad i en for-loops init-deklaration"
-#: c-decl.c:6993
+#: c-decl.c:6653
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6995
+#: c-decl.c:6655
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-decl.c:6997
+#: c-decl.c:6657
#, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
msgstr ""
-#: c-dump.c:826
-#, c-format
-msgid "could not open dump file `%s'"
-msgstr "kunde inte öppna dump-fil \"%s\""
+#: c-format.c:109 c-format.c:191
+msgid "format string arg not a string type"
+msgstr "argument för formatsträng är inte av strängtyp"
-#: c-dump.c:871
-#, c-format
-msgid "ignoring `%s' at end of `-f%s'"
+#: c-format.c:124
+msgid "args to be formatted is not '...'"
+msgstr "argumenten som skall formateras är inte \"...\""
+
+#: c-format.c:133
+msgid "strftime formats cannot format arguments"
msgstr ""
-#: c-format.c:106 c-format.c:219
-#, c-format
-msgid "argument format specified for non-function `%s'"
-msgstr "argumentformat angivet för icke-funktion \"%s\""
+#: c-format.c:168 c-format.c:270
+msgid "format string has invalid operand number"
+msgstr "formatsträng har ett ogiltigt antal operander"
+
+#: c-format.c:202
+msgid "function does not return string type"
+msgstr ""
-#: c-format.c:112
+#: c-format.c:233
msgid "unrecognized format specifier"
msgstr "oigenkänd formatangivelse"
-#: c-format.c:123
+#: c-format.c:246
#, c-format
msgid "`%s' is an unrecognized format function type"
msgstr "\"%s\" är ett ej känt funktionsformat"
-#: c-format.c:145 c-format.c:233
-msgid "format string has invalid operand number"
-msgstr "formatsträng har ett ogiltigt antal operander"
-
-#: c-format.c:153
+#: c-format.c:280
msgid "format string arg follows the args to be formatted"
msgstr "formatsträngen kommer efter argumenten som skall formateras"
-#: c-format.c:172 c-format.c:254
-msgid "format string arg not a string type"
-msgstr "argument för formatsträng är inte av strängtyp"
-
-#: c-format.c:185
-msgid "args to be formatted is not '...'"
-msgstr "argumenten som skall formateras är inte \"...\""
-
-#: c-format.c:193
-msgid "strftime formats cannot format arguments"
-msgstr ""
-
-#: c-format.c:263
-msgid "function does not return string type"
-msgstr ""
-
-#: c-format.c:757
+#: c-format.c:601
msgid "` ' flag"
msgstr ""
-#: c-format.c:757
+#: c-format.c:601
msgid "the ` ' printf flag"
msgstr ""
-#: c-format.c:758 c-format.c:829
+#: c-format.c:602 c-format.c:673
msgid "`+' flag"
msgstr ""
-#: c-format.c:758
+#: c-format.c:602
msgid "the `+' printf flag"
msgstr ""
-#: c-format.c:759 c-format.c:805
+#: c-format.c:603 c-format.c:649
msgid "`#' flag"
msgstr ""
-#: c-format.c:759
+#: c-format.c:603
msgid "the `#' printf flag"
msgstr ""
-#: c-format.c:760 c-format.c:803
+#: c-format.c:604 c-format.c:647
msgid "`0' flag"
msgstr ""
-#: c-format.c:760
+#: c-format.c:604
msgid "the `0' printf flag"
msgstr ""
-#: c-format.c:761 c-format.c:802 c-format.c:832
+#: c-format.c:605 c-format.c:646 c-format.c:676
msgid "`-' flag"
msgstr ""
-#: c-format.c:761
+#: c-format.c:605
msgid "the `-' printf flag"
msgstr ""
-#: c-format.c:762 c-format.c:786
+#: c-format.c:606 c-format.c:630
msgid "`'' flag"
msgstr ""
-#: c-format.c:762
+#: c-format.c:606
msgid "the `'' printf flag"
msgstr ""
-#: c-format.c:763 c-format.c:787
+#: c-format.c:607 c-format.c:631
msgid "`I' flag"
msgstr ""
-#: c-format.c:763
+#: c-format.c:607
msgid "the `I' printf flag"
msgstr ""
-#: c-format.c:764 c-format.c:784 c-format.c:806 c-format.c:833 c-format.c:1886
+#: 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:764
+#: c-format.c:608
msgid "field width in printf format"
msgstr ""
-#: c-format.c:765
+#: c-format.c:609
msgid "precision"
msgstr ""
-#: c-format.c:765
+#: c-format.c:609
msgid "precision in printf format"
msgstr ""
-#: c-format.c:766 c-format.c:785 c-format.c:836
+#: c-format.c:610 c-format.c:629 c-format.c:680
msgid "length modifier"
msgstr ""
-#: c-format.c:766
+#: c-format.c:610
msgid "length modifier in printf format"
msgstr ""
-#: c-format.c:782
+#: c-format.c:626
msgid "assignment suppression"
msgstr ""
-#: c-format.c:783
+#: c-format.c:626
+msgid "the assignment suppression scanf feature"
+msgstr ""
+
+#: c-format.c:627
msgid "`a' flag"
msgstr ""
-#: c-format.c:783
+#: c-format.c:627
msgid "the `a' scanf flag"
msgstr ""
-#: c-format.c:784
+#: c-format.c:628
msgid "field width in scanf format"
msgstr ""
-#: c-format.c:785
+#: c-format.c:629
msgid "length modifier in scanf format"
msgstr ""
-#: c-format.c:786
+#: c-format.c:630
msgid "the `'' scanf flag"
msgstr ""
-#: c-format.c:787
+#: c-format.c:631
msgid "the `I' scanf flag"
msgstr ""
-#: c-format.c:801
+#: c-format.c:645
msgid "`_' flag"
msgstr ""
-#: c-format.c:801
+#: c-format.c:645
msgid "the `_' strftime flag"
msgstr ""
-#: c-format.c:802
+#: c-format.c:646
msgid "the `-' strftime flag"
msgstr ""
-#: c-format.c:803
+#: c-format.c:647
msgid "the `0' strftime flag"
msgstr ""
-#: c-format.c:804 c-format.c:828
+#: c-format.c:648 c-format.c:672
msgid "`^' flag"
msgstr ""
-#: c-format.c:804
+#: c-format.c:648
msgid "the `^' strftime flag"
msgstr ""
-#: c-format.c:805
+#: c-format.c:649
msgid "the `#' strftime flag"
msgstr ""
-#: c-format.c:806
+#: c-format.c:650
msgid "field width in strftime format"
msgstr ""
-#: c-format.c:807
+#: c-format.c:651
msgid "`E' modifier"
msgstr ""
-#: c-format.c:807
+#: c-format.c:651
msgid "the `E' strftime modifier"
msgstr ""
-#: c-format.c:808
+#: c-format.c:652
msgid "`O' modifier"
msgstr ""
-#: c-format.c:808
+#: c-format.c:652
msgid "the `O' strftime modifier"
msgstr ""
-#: c-format.c:809
+#: c-format.c:653
msgid "the `O' modifier"
msgstr ""
-#: c-format.c:827
+#: c-format.c:671
msgid "fill character"
msgstr ""
-#: c-format.c:827
+#: c-format.c:671
msgid "fill character in strfmon format"
msgstr ""
-#: c-format.c:828
+#: c-format.c:672
msgid "the `^' strfmon flag"
msgstr ""
-#: c-format.c:829
+#: c-format.c:673
msgid "the `+' strfmon flag"
msgstr ""
-#: c-format.c:830
+#: c-format.c:674
msgid "`(' flag"
msgstr ""
-#: c-format.c:830
+#: c-format.c:674
msgid "the `(' strfmon flag"
msgstr ""
-#: c-format.c:831
+#: c-format.c:675
msgid "`!' flag"
msgstr ""
-#: c-format.c:831
+#: c-format.c:675
msgid "the `!' strfmon flag"
msgstr ""
-#: c-format.c:832
+#: c-format.c:676
msgid "the `-' strfmon flag"
msgstr ""
-#: c-format.c:833
+#: c-format.c:677
msgid "field width in strfmon format"
msgstr ""
-#: c-format.c:834
+#: c-format.c:678
msgid "left precision"
msgstr ""
-#: c-format.c:834
+#: c-format.c:678
msgid "left precision in strfmon format"
msgstr ""
-#: c-format.c:835
+#: c-format.c:679
msgid "right precision"
msgstr ""
-#: c-format.c:835
+#: c-format.c:679
msgid "right precision in strfmon format"
msgstr ""
-#: c-format.c:836
+#: c-format.c:680
msgid "length modifier in strfmon format"
msgstr ""
-#: c-format.c:1135
-#, fuzzy, c-format
+#: c-format.c:983
+#, c-format
msgid "function might be possible candidate for `%s' format attribute"
msgstr "funktionen är en möjlig kandidat för formatattributet \"%s\""
-#: c-format.c:1248 c-format.c:1269 c-format.c:2296
+#: c-format.c:1107 c-format.c:1128 c-format.c:2112
msgid "missing $ operand number in format"
msgstr "saknar numerisk $-operand i formatsträng"
-#: c-format.c:1279
+#: c-format.c:1138
#, c-format
msgid "%s does not support %%n$ operand number formats"
msgstr ""
-#: c-format.c:1286
+#: c-format.c:1145
msgid "operand number out of range in format"
msgstr ""
-#: c-format.c:1307
+#: c-format.c:1168
#, c-format
msgid "format argument %d used more than once in %s format"
msgstr ""
-#: c-format.c:1349
+#: c-format.c:1218
#, c-format
msgid "format argument %d unused before used argument %d in $-style format"
msgstr ""
-#: c-format.c:1443
+#: c-format.c:1322
msgid "format not a string literal, format string not checked"
msgstr ""
-#: c-format.c:1457
+#: c-format.c:1336
msgid "format not a string literal and no format arguments"
msgstr ""
-#: c-format.c:1459
+#: c-format.c:1338
msgid "format not a string literal, argument types not checked"
msgstr ""
-#: c-format.c:1472
+#: c-format.c:1351
msgid "too many arguments for format"
msgstr "för många argument för för formatsträng"
-#: c-format.c:1475
+#: c-format.c:1354
msgid "unused arguments in $-style format"
msgstr ""
-#: c-format.c:1478
-msgid "zero-length format string"
+#: c-format.c:1357
+#, fuzzy, c-format
+msgid "zero-length %s format string"
msgstr "formatsträng med längden noll"
-#: c-format.c:1481
+#: c-format.c:1361
msgid "format is a wide character string"
msgstr ""
-#: c-format.c:1484
+#: c-format.c:1364
msgid "unterminated format string"
msgstr "icke terminerad formatsträng"
-#. 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:1573
-msgid "null format string"
-msgstr "formatsträngen är null"
-
-#: c-format.c:1765
+#: c-format.c:1581
msgid "embedded `\\0' in format"
msgstr ""
-#: c-format.c:1780
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
msgstr ""
-#: c-format.c:1819 c-format.c:2056
+#: c-format.c:1635 c-format.c:1872
#, c-format
msgid "repeated %s in format"
msgstr ""
-#: c-format.c:1832
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
msgstr ""
-#: c-format.c:1852 c-format.c:1970 c-format.c:2250 c-format.c:2303
+#: c-format.c:1687 c-format.c:1786 c-format.c:2066 c-format.c:2119
msgid "too few arguments for format"
msgstr "för få argument enligt formatsträngen"
-#: c-format.c:1912
+#: c-format.c:1728
#, c-format
msgid "zero width in %s format"
msgstr "nollstorlek i %s formatsträng"
-#: c-format.c:1931
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
msgstr ""
-#: c-format.c:1985
+#: c-format.c:1801
msgid "field precision"
msgstr ""
-#: c-format.c:2000
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
msgstr ""
-#: c-format.c:2040
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
msgstr ""
-#: c-format.c:2090
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr ""
-#: c-format.c:2101
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
msgstr ""
-#: c-format.c:2104
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr ""
-#: c-format.c:2111
+#: c-format.c:1927
#, c-format
msgid "%s does not support the `%%%c' %s format"
msgstr ""
-#: c-format.c:2127
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
msgstr ""
-#: c-format.c:2136
+#: c-format.c:1952
#, c-format
msgid "%s does not support %s"
msgstr ""
-#: c-format.c:2145
+#: c-format.c:1961
#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
msgstr ""
-#: c-format.c:2178
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
msgstr ""
-#: c-format.c:2182
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
msgstr ""
-#: c-format.c:2188
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
msgstr ""
-#: c-format.c:2192
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
msgstr ""
# fixme: ordet locale borde standardiseras
-#: c-format.c:2211
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
-msgstr ""
-"\"%%%c\" ger bara de sista två siffrorna i året i vissa landsinställningar"
+msgstr "\"%%%c\" ger bara de sista två siffrorna i året i vissa landsinställningar"
-#: c-format.c:2214
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
msgstr "\"%%%c\" ger bara de sista två siffrorna i året"
#. The end of the format string was reached.
-#: c-format.c:2230
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
msgstr ""
-#: c-format.c:2243
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr ""
-#: c-format.c:2264
+#: c-format.c:2080
#, c-format
msgid "%s does not support the `%%%s%c' %s format"
msgstr ""
-#: c-format.c:2279
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr ""
-#: c-format.c:2281
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
msgstr ""
-#: c-format.c:2400
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
msgstr ""
-#: c-format.c:2409
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
msgstr ""
-#: c-format.c:2429
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
msgstr ""
-#: c-format.c:2439
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr ""
-#: c-format.c:2446
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr ""
-#: c-format.c:2448
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr ""
-#: c-format.c:2542
+#: c-format.c:2330
+msgid "pointer"
+msgstr ""
+
+#: c-format.c:2332
+msgid "different type"
+msgstr ""
+
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
msgstr ""
-#: c-format.c:2545
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr ""
-#: c-lex.c:275
-msgid "badly nested C headers from preprocessor"
-msgstr ""
+#: c-lex.c:153
+#, fuzzy
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG är inte definierad."
-#: c-lex.c:293
-msgid "leaving more files than we entered"
+#: c-lex.c:290
+msgid "badly nested C headers from preprocessor"
msgstr ""
-#: c-lex.c:325
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
msgstr "ignorerar #pragma %s %s"
-#: c-lex.c:327
-#, c-format
-msgid "ignoring #pragma %s"
-msgstr "ignorerar #pragma %s"
-
-#: c-lex.c:373
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
msgstr ""
-#: c-lex.c:619
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
msgstr ""
-#: c-lex.c:709
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "både suffix 'f' och 'l' på flyttalskonstant"
+#: c-lex.c:692
+#, c-format
+msgid "stray '%c' in program"
+msgstr ""
-#: c-lex.c:736
+#: c-lex.c:694
#, c-format
-msgid "floating point number exceeds range of '%s'"
+msgid "stray '\\%o' in program"
+msgstr ""
+
+#: c-lex.c:850
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr ""
+
+#: c-lex.c:853
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr ""
+
+#: c-lex.c:869
+#, fuzzy, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "heltalskonstant är större än maximala värdet för sin typ"
+
+#: c-lex.c:937
+#, fuzzy, c-format
+msgid "floating constant exceeds range of \"%s\""
msgstr "flyttal utanför intervallet för \"%s\""
-#: c-lex.c:766
+#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr "ignorerar ogiltigt flerbytestecken"
+
+#: c-opts.c:353
+#, fuzzy, c-format
+msgid "missing argument to \"-%s\""
+msgstr "Saknar argument till flaggan \"%s\""
+
+#: c-opts.c:357
+#, fuzzy, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "Utdatafilnamn angivet två gånger"
+
+#: c-opts.c:364
+#, fuzzy, c-format
+msgid "missing filename after \"-%s\""
+msgstr "Filnamn saknas efter %s"
+
+#: c-opts.c:369
+#, fuzzy, c-format
+msgid "missing target after \"-%s\""
+msgstr "Argument saknas efter %s"
+
+#: c-opts.c:503
#, c-format
-msgid "stray '%c' in program"
+msgid "options array incorrectly sorted: %s is before %s"
msgstr ""
-#: c-lex.c:768
+#: c-opts.c:548
+#, fuzzy, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr "För många filnamn. Skriv %s --help för användningsinformation"
+
+#: c-opts.c:934
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "-Wno-strict-prototypes stödjs inte för C++"
+
+#: c-opts.c:1014
+#, fuzzy, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "-f%s stödjs inte längre"
+
+#: c-opts.c:1030
#, c-format
-msgid "stray '\\%o' in program"
+msgid "switch \"%s\" is deprecated, please see documentation for details"
msgstr ""
-#: c-lex.c:964
-msgid "floating constant may not be in radix 16"
+#: c-opts.c:1143
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
msgstr ""
-#: c-lex.c:1002
-msgid "traditional C rejects the 'f' suffix"
-msgstr "traditionell C stödjer inte suffixet 'f'"
+#: c-opts.c:1263
+#, fuzzy
+msgid "output filename specified twice"
+msgstr "Utdatafilnamn angivet två gånger"
-#: c-lex.c:1012
-msgid "traditional C rejects the 'l' suffix"
-msgstr "traditionell C stödjer inte suffixet 'l'"
+#: c-opts.c:1377
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "-Wformat-y2k ignorerad utan -Wformat"
-#: c-lex.c:1022 c-lex.c:1116
-msgid "ISO C forbids imaginary numeric constants"
-msgstr "ISO C förbjuder imaginära numeriska konstanter"
+#: c-opts.c:1379
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "-Wformat-extra-args ignorerad utan -Wformat"
-#: c-lex.c:1056
-msgid "floating point number exceeds range of 'double'"
-msgstr "flyttalsnummer överskrider intervallet för en \"double\""
+#: c-opts.c:1381
+#, fuzzy
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "-Wformat-extra-args ignorerad utan -Wformat"
-#: c-lex.c:1085
-msgid "two 'u' suffixes on integer constant"
-msgstr "två \"u\"-suffix på heltalskonstant"
+#: c-opts.c:1383
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "-Wformat-nonliteral ignorerad utan -Wformat"
-#: c-lex.c:1088
-msgid "traditional C rejects the 'u' suffix"
-msgstr "traditionell C stödjer inte suffixet 'u'"
+#: c-opts.c:1385
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "-Wformat-security ignorerad utan -Wformat"
-#: c-lex.c:1099
-msgid "three 'l' suffixes on integer constant"
-msgstr "tre \"l\"-suffix på heltalskonstant"
+#: c-opts.c:1387
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "-Wmissing-format-attribute ignorerad utan -Wformat"
-#: c-lex.c:1101
-msgid "'lul' is not a valid integer suffix"
-msgstr "\"lul\" är inte ett giltigt heltalssuffix"
+#: c-opts.c:1409
+#, fuzzy, c-format
+msgid "opening output file %s"
+msgstr "Kan inte öppna utdatafil \"%s\""
-#: c-lex.c:1103
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr "\"Ll\" och \"lL\" är inte giltiga heltalssuffix"
+#: c-opts.c:1464
+#, fuzzy, c-format
+msgid "opening dependency file %s"
+msgstr "dynamiskt beroende.\n"
-#: c-lex.c:1106
-msgid "ISO C89 forbids long long integer constants"
-msgstr "ISO C89 förbjuder long long integer konstanter"
+#: c-opts.c:1474
+#, fuzzy, c-format
+msgid "closing dependency file %s"
+msgstr "Kunde inte öppna källkodsfil %s.\n"
-#: c-lex.c:1114
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "mer än ett \"i\"- eller \"j\"-suffix på heltalskonstant"
+#: c-opts.c:1477
+#, fuzzy, c-format
+msgid "when writing output to %s"
+msgstr "fel vid skrivning till %s"
+
+#: c-opts.c:1557
+#, fuzzy
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "du måste dessutom ange antingen -M eller -MM"
-#: c-lex.c:1129
+#: c-opts.c:1704
#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr ""
+
+#. 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 ""
-"integer constant is too large for this configuration of the compiler - "
-"truncated to %d bits"
+"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 ""
-"heltalskonstant för stor för denna konfigurering av kompilatorn - kortar ner "
-"till %d bitar"
+"Flaggor:\n"
+" -include <fil> Inkludera innehållet i <fil> före andra filer\n"
+" -imacros <fil> Använd makrodefinitioner i <fil>\n"
+" -iprefix <sökväg> Sätt <sökväg> som prefix för följande två flaggor\n"
+" -iwithprefix <katalog> Sätt <katalog> i slutet på systemets include-sökväg\n"
+" -iwithprefixbefore <kat> Sätt <kat> i slutet på huvud-include-sökvägen\n"
+" -isystem <katalog> Sätt <katalog> först på systemets include-sökväg\n"
-#: c-lex.c:1219
-msgid "width of integer constant changes with -traditional"
+#: 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 ""
+" -idirafter <katalog> Sätt <katalog> i slutet på systemets include-sökväg\n"
+" -I <katalog> Sätt <katalog> i slutet på huvud-include-sökvägen\n"
+" -I- Detaljerad include-sökväg kontroll; se info-hjälp\n"
+" -nostdinc Använd inte systemets include-sökväg (kataloger\n"
+" satta med -isystem kommer fortfarande användas)\n"
+" -nostdinc++ Använd inte systemets include-sökväg för C++\n"
+" -o <fil> Skriv utdata till <fil>\n"
-#: c-lex.c:1221
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "heltalskonstanter är utan tecken i ISO C, med tecken med -traditional"
+#: c-opts.c:1732
+#, fuzzy
+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 ""
+" -std=<std namn> Ange standard att följa; en av:\n"
+" gnu89, gnu99, c89, c99, iso9899:1990,\n"
+" iso9899:199409, iso9899:1999\n"
+" -+ Tillåt användning av C++ finesser\n"
+" -w Stoppa varningsmeddelande\n"
+" -Wtrigraphs Varna om trigrapher påträffas\n"
+" -Wno-trigraphs Varna inte om trigrapher\n"
+" -Wcomment{s} Varna om en kommentar börjar i en annan kommentar\n"
-#: c-lex.c:1223
-msgid "width of integer constant may change on other systems with -traditional"
+#: c-opts.c:1741
+#, fuzzy
+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 ""
+" -Wno-comment{s} Varna inte om kommentarer\n"
+" -Wtraditional Varna om finesser som inte finns i traditionell C\n"
+" -Wno-traditional Varna inte om traditionell C\n"
+" -Wundef Varna om ett odefinierat makro används av #if\n"
+" -Wno-undef Varna inte om att testa odefinierade makron\n"
+" -Wimport Varna om användande av direktivet #import\n"
-#: c-lex.c:1233
-#, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "heltalskonstant är större än maximala värdet på %s"
+#: c-opts.c:1746
+#, fuzzy
+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 ""
+" -Wno-import Varna inte om användande av #import\n"
+" -Werror Behandla alla varningar som fel\n"
+" -Wno-error Behandla inte varningar som fel\n"
+" -Wsystem-headers Dölj inte varningar från system-include-filer\n"
+" -Wno-system-headers Dölj varningar från system-include-filer\n"
+" -Wall Aktivera alla preprocessor-varningar\n"
-#: c-lex.c:1242
-msgid "decimal constant is so large that it is unsigned"
-msgstr "decimal konstant så stor att den är unsigned"
+#: c-opts.c:1751
+#, fuzzy
+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 ""
+" -M Generera make beroenden\n"
+" -MM Som -M, men ignorera system-include-filer\n"
+" -MF <fil> Skriv beroenden till den givna filen\n"
+" -MG Behandla saknade filer som genererade filer\n"
-#: c-lex.c:1271
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "heltalskonstant är större än maximala värdet för sin typ"
+# fixme: vad menas med unquoted
+#: 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 ""
+" -MP\t\t\t Generera phony-mål för alla include-filer\n"
+" -MQ <mål> Lägg till MAKE-citerat mål\n"
+" -MT <mål> Lägg till ociterat mål\n"
-#: c-lex.c:1275
-#, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "saknar mellanrum efter nummer \"%.*s\""
+#: c-opts.c:1764
+#, fuzzy
+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 ""
+" -D<makro> Definiera <makro> med strängen \"1\" som sitt värde\n"
+" -D<makro>=<värde> Definiera <makro> with <värde> som sitt värde\n"
+" -A<fråga> (<svar>) Ange svaret <svar> på frågan <fråga>\n"
+" -A-<fråga> (<svar>) Slå av svaret <svar> på frågan <fråga>\n"
+" -U<makro> Gör <makro> till icke definierat\n"
+" -v Visa versionsnummer\n"
+
+#: 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 ""
+" -H Skriv namnet på include-filer när de används\n"
+" -C Släng inte bort kommentarer\n"
+" -dM Visa en lista med aktiva makron i slutet\n"
+" -dD Bevara mokrodefinitioner i utdata\n"
+" -dN Som -dD men bara namnet bevaras\n"
+" -dI Ta med #include-direktives i utdata\n"
-#: c-lex.c:1311
-msgid "Ignoring invalid multibyte character"
-msgstr "Ignorerar ogiltigt flerbytestecken"
+#: c-opts.c:1780
+#, fuzzy
+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 ""
+" -fpreprocessed Tolka infiler som redan preprocessade\n"
+" -ftabstop=<nummer> Avstånd mellan tabbar för kolumutskrifter\n"
+" -P Genererar inte #line-direktiv\n"
+" -$ Tillåt inte '$' i identifierare\n"
+" -remap Mappa om filnamn vid inkludering av filer\n"
+" --version Visa versionsinformation\n"
+" -h or --help Visa denna information\n"
#. Like YYERROR but do call yyerror.
-#: c-parse.y:62 cp/parse.y:55 objc/objc-parse.y:63
+#: c-parse.y:55 parse.y:48 objc-parse.y:56
msgid "syntax error"
msgstr "syntaxfel"
-#: c-parse.y:267 objc/objc-parse.y:296
+#: /usr/share/bison/bison.simple:179
+msgid "syntax error: cannot back up"
+msgstr "syntaxfel: kan inte backa tillbaka"
+
+#: c-parse.y:325 objc-parse.y:347
msgid "ISO C forbids an empty source file"
msgstr "ISO C förbjuder tomma källkodsfiler"
-#: c-parse.y:300 c-typeck.c:6813 ch/parse.c:2113 objc/objc-parse.y:329
+#: c-parse.y:366 c-typeck.c:6867 objc-parse.y:389
msgid "argument of `asm' is not a constant string"
msgstr "argumentet till \"asm\" är inte en konstant sträng"
-#: c-parse.y:308 objc/objc-parse.y:337
+#: c-parse.y:374 objc-parse.y:397
msgid "ISO C forbids data definition with no type or storage class"
msgstr "ISO C förbjuder datadefinition utan typ eller lagringsklass"
-#: c-parse.y:310 objc/objc-parse.y:339
+#: c-parse.y:376 objc-parse.y:399
msgid "data definition has no type or storage class"
msgstr "datadefinition har ingen typ eller lagringsklass"
-#: c-parse.y:329 objc/objc-parse.y:358
+#: c-parse.y:389 objc-parse.y:412
msgid "ISO C does not allow extra `;' outside of a function"
msgstr "ISO C tillåter inte extra \";\" utanför funktioner"
-#: c-parse.y:401 cppexp.c:709
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
msgstr "traditionell C hanterar inte operatorn unärt plus"
-#: c-parse.y:463 objc/objc-parse.y:492
+#: c-parse.y:496 objc-parse.y:519
msgid "`sizeof' applied to a bit-field"
msgstr "\"sizeof\" applicerat på ett bitfält"
-#: c-parse.y:543 objc/objc-parse.y:572
+#: c-parse.y:583 objc-parse.y:606
msgid "ISO C forbids omitting the middle term of a ?: expression"
msgstr "ISO C förbjuder uteslutande av den mittersta termen i ett ?: uttryck"
-#: c-parse.y:593 objc/objc-parse.y:622
+#: c-parse.y:632 objc-parse.y:655
msgid "ISO C89 forbids compound literals"
msgstr ""
-#: c-parse.y:623 objc/objc-parse.y:652
+#: c-parse.y:646 objc-parse.y:669
msgid "ISO C forbids braced-groups within expressions"
msgstr ""
-#: c-parse.y:676
-msgid "traditional C rejects string concatenation"
+#: c-parse.y:677 objc-parse.y:700
+msgid "first argument to __builtin_choose_expr not a constant"
+msgstr "första argumentet till \"__builtin_choose_expr\" är inte en konstant"
+
+#: c-parse.y:721 objc-parse.y:768
+#, fuzzy
+msgid "traditional C rejects ISO C style function definitions"
msgstr "traditionell C stödjer inte sträng-sammanslagning"
-#: c-parse.y:691 objc/objc-parse.y:733
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ISO C stödjer inte användning av \"varargs.h\""
-
-#: c-parse.y:976 c-parse.y:982 c-parse.y:988 c-parse.y:994 c-parse.y:1015
-#: c-parse.y:1021 c-parse.y:1027 c-parse.y:1033 c-parse.y:1066 c-parse.y:1072
-#: c-parse.y:1078 c-parse.y:1084 c-parse.y:1129 c-parse.y:1135 c-parse.y:1141
-#: c-parse.y:1147 cp/parse.y:1877 cp/parse.y:1884 cp/parse.y:1923
-#: objc/objc-parse.y:1018 objc/objc-parse.y:1024 objc/objc-parse.y:1030
-#: objc/objc-parse.y:1036 objc/objc-parse.y:1057 objc/objc-parse.y:1063
-#: objc/objc-parse.y:1069 objc/objc-parse.y:1075 objc/objc-parse.y:1108
-#: objc/objc-parse.y:1114 objc/objc-parse.y:1120 objc/objc-parse.y:1126
-#: objc/objc-parse.y:1171 objc/objc-parse.y:1177 objc/objc-parse.y:1183
-#: objc/objc-parse.y:1189
+#: 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 "\"%s\" är inte i början av deklarationen"
-#: c-parse.y:1434 objc/objc-parse.y:1485
+#: c-parse.y:1441 objc-parse.y:1497
msgid "ISO C forbids empty initializer braces"
msgstr ""
-#: c-parse.y:1448 objc/objc-parse.y:1499
+#: c-parse.y:1455 objc-parse.y:1511
msgid "ISO C89 forbids specifying subobject to initialize"
msgstr "ISO C89 förbjuder specifiering av subobjekt som skall initieras"
-#: c-parse.y:1451 objc/objc-parse.y:1502
+#: c-parse.y:1458 objc-parse.y:1514
msgid "obsolete use of designated initializer without `='"
msgstr "obsolet angivelse av initierare utan \"=\""
-#: c-parse.y:1455 objc/objc-parse.y:1506
+#: c-parse.y:1462 objc-parse.y:1518
msgid "obsolete use of designated initializer with `:'"
msgstr "obsolet användning av initierare med \":\""
-#: c-parse.y:1484
+#: c-parse.y:1489 objc-parse.y:1545
msgid "ISO C forbids specifying range of elements to initialize"
msgstr ""
-#: c-parse.y:1492 c-parse.y:1522 objc/objc-parse.y:1537 objc/objc-parse.y:1567
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1553 objc-parse.y:1584
msgid "ISO C forbids nested functions"
msgstr "ISO C förbjuder nästlade funktioner"
-#: c-parse.y:1696 objc/objc-parse.y:1742
+#: c-parse.y:1703 objc-parse.y:1761
msgid "ISO C forbids forward references to `enum' types"
msgstr ""
-#: c-parse.y:1708 cp/parse.y:2342 objc/objc-parse.y:1754
+#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773
msgid "comma at end of enumerator list"
msgstr "komma i slutet av uppräkningslista"
-#: c-parse.y:1716 objc/objc-parse.y:1762
+#: c-parse.y:1723 objc-parse.y:1781
msgid "no semicolon at end of struct or union"
msgstr "inget semikolon vid slutet av struktur eller union"
-#: c-parse.y:1725 objc/objc-parse.y:1771 objc/objc-parse.y:2848
+#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865
msgid "extra semicolon in struct or union specified"
msgstr "extra semikolon i struktur eller union angivet"
-#: c-parse.y:1740 objc/objc-parse.y:1800
+#: c-parse.y:1745 objc-parse.y:1817
msgid "ISO C doesn't support unnamed structs/unions"
msgstr "ISO C stödjer inte ej namnsatta strukturer/unioner"
-#: c-parse.y:1754 objc/objc-parse.y:1814
+#: c-parse.y:1754 objc-parse.y:1826
msgid "ISO C forbids member declarations with no members"
msgstr "ISO C förbjuder medlemsdeklarationer utan medlemmar"
-#: c-parse.y:1833 objc/objc-parse.y:1893
-msgid "attributes on type name ignored"
-msgstr ""
-
-#: c-parse.y:1911 c-parse.y:1915 c-parse.y:1919 objc/objc-parse.y:1971
-#: objc/objc-parse.y:1975 objc/objc-parse.y:1979
-msgid "storage class specifier in array declarator"
-msgstr ""
-
-#: c-parse.y:1934 objc/objc-parse.y:1994
+#: c-parse.y:1913 objc-parse.y:1985
msgid "deprecated use of label at end of compound statement"
msgstr ""
-#: c-parse.y:1951 objc/objc-parse.y:2011
+#: c-parse.y:1930 objc-parse.y:2002
msgid "ISO C89 forbids mixed declarations and code"
msgstr "ISO C89 förbjuder blandade deklarationer och kod"
-#: c-parse.y:2025 objc/objc-parse.y:2089
+#: c-parse.y:2005 objc-parse.y:2081
msgid "ISO C forbids label declarations"
msgstr ""
-#: c-parse.y:2074 cp/parse.y:1578 objc/objc-parse.y:2138
+#: 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:2189 objc/objc-parse.y:2253
+#: c-parse.y:2182 objc-parse.y:2258
msgid "empty body in an else-statement"
msgstr "tom kropp i else-sats"
-#: c-parse.y:2299 objc/objc-parse.y:2363
+#: c-parse.y:2303 objc-parse.y:2379
msgid "ISO C forbids `goto *expr;'"
msgstr "ISO C förbjuder \"goto *expr;\""
-#: c-parse.y:2395 objc/objc-parse.y:2459
+#: c-parse.y:2403 objc-parse.y:2479
msgid "ISO C forbids forward parameter declarations"
msgstr ""
@@ -2182,729 +2562,808 @@ 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:2421 objc/objc-parse.y:2485
+#: c-parse.y:2429 objc-parse.y:2505
msgid "ISO C requires a named argument before `...'"
msgstr "ISO C kräver ett namnsatt argument före \"...\""
-#: c-parse.y:2540 objc/objc-parse.y:2604
+#: c-parse.y:2526 objc-parse.y:2602
msgid "`...' in old-style identifier list"
msgstr "\"...\" i en gammaldags identifierarlista"
-#: c-parse.y:2875 cp/spew.c:1480 objc/objc-parse.y:3574
+#: /usr/share/bison/bison.simple:795
+#, fuzzy
+msgid "parse error; also virtual memory exhausted"
+msgstr "parsningsfel; och det virtuella minnet tog slut"
+
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
+msgid "parse error"
+msgstr "parsningsfel"
+
+#: /usr/share/bison/bison.simple:924
+msgid "parser stack overflow"
+msgstr "parsestack överfull"
+
+#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538
#, c-format
msgid "%s at end of input"
msgstr "%s vid slutet av indatan"
-#: c-parse.y:2881 cp/spew.c:1486 objc/objc-parse.y:3580
+#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544
#, c-format
msgid "%s before %s'%c'"
msgstr "%s före %s'%c'"
-#: c-parse.y:2883 cp/spew.c:1488 objc/objc-parse.y:3582
+#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546
#, c-format
msgid "%s before %s'\\x%x'"
msgstr "%s före %s'\\x%x'"
-#: c-parse.y:2887 cp/spew.c:1492 objc/objc-parse.y:3586
+#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550
#, c-format
msgid "%s before string constant"
msgstr "%s före strängkonstant"
-#: c-parse.y:2891 cp/spew.c:1496 objc/objc-parse.y:3590
+#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552
#, c-format
msgid "%s before numeric constant"
msgstr "%s före numerisk konstant"
-#: c-parse.y:2893 objc/objc-parse.y:3592
+#: c-parse.y:2854 objc-parse.y:3554
#, c-format
msgid "%s before \"%s\""
msgstr "%s före \"%s\""
-#: c-parse.y:2895 objc/objc-parse.y:3594
+#: c-parse.y:2856 objc-parse.y:3556
#, c-format
msgid "%s before '%s' token"
msgstr "%s före symbolen '%s'"
-#: c-parse.y:3029 objc/objc-parse.y:3757
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr "traditionell C stödjer inte sträng-sammanslagning"
+
+#: c-parse.y:3047 objc-parse.y:3780
#, c-format
msgid "syntax error at '%s' token"
msgstr "syntaxfel vid token \"%s\""
-#: c-parse.y:3059 ch/parse.c:4329 cp/lex.c:936 objc/objc-parse.y:3787
-msgid "YYDEBUG not defined."
-msgstr "YYDEBUG är inte definierad."
-
-#: c-pragma.c:108
-msgid ""
-"#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
+#: c-pragma.c:107
+msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
msgstr "#pragma pack (pop) påträffat utan matchande #pragma pack (push, <n>)"
-#: c-pragma.c:126
+#: c-pragma.c:125
#, c-format
-msgid ""
-"#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, "
-"<n>)"
+msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
+msgstr "#pragma pack(pop, %s) påträffat utan matchande #pragma pack(push, %s, <n>)"
+
+#: c-pragma.c:145
+#, fuzzy
+msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
+
+#: c-pragma.c:147
+#, fuzzy
+msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
+
+#: c-pragma.c:167
+#, fuzzy
+msgid "missing '(' after '#pragma pack' - ignored"
+msgstr "saknas '(' efter predikat"
+
+#: c-pragma.c:180 c-pragma.c:230
+msgid "malformed '#pragma pack' - ignored"
msgstr ""
-"#pragma pack(pop, %s) påträffat utan matchande #pragma pack(push, %s, <n>)"
-#: c-pragma.c:249
+#: c-pragma.c:185
+msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
+msgstr ""
+
+#: c-pragma.c:187
+msgid "malformed '#pragma pack(pop[, id])' - ignored"
+msgstr ""
+
+#: c-pragma.c:196
+#, fuzzy, c-format
+msgid "unknown action '%s' for '#pragma pack' - ignored"
+msgstr "skräp vid slutet av \"#pragma pack\""
+
+#: c-pragma.c:233
msgid "junk at end of '#pragma pack'"
msgstr "skräp vid slutet av \"#pragma pack\""
-#: c-pragma.c:298
+#: c-pragma.c:247
+#, c-format
+msgid "alignment must be a small power of two, not %d"
+msgstr ""
+
+#: 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:330
msgid "junk at end of #pragma weak"
msgstr "skräp vid slutet av #pragma weak"
-#: c-semantics.c:537
+#: c-pragma.c:365 c-pragma.c:370
+msgid "malformed #pragma redefine_extname, ignored"
+msgstr ""
+
+#: c-pragma.c:375
+#, fuzzy
+msgid "junk at end of #pragma redefine_extname"
+msgstr "skräp vid slutet av #pragma weak"
+
+#: c-pragma.c:382 c-pragma.c:463
+msgid "#pragma redefine_extname conflicts with declaration"
+msgstr ""
+
+#: c-pragma.c:413
+msgid "malformed #pragma extern_prefix, ignored"
+msgstr ""
+
+#: c-pragma.c:418
+#, fuzzy
+msgid "junk at end of #pragma extern_prefix"
+msgstr "skräp vid slutet av #pragma weak"
+
+#: c-pragma.c:450
+#, fuzzy
+msgid "asm declaration conficts with previous rename"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
+
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
msgstr "break-sats som inte är i en loop eller switch"
-#: c-semantics.c:555
+#: c-semantics.c:583
msgid "continue statement not within a loop"
msgstr "continue-sats som inte är i en loop"
-#: c-semantics.c:650
+#: c-semantics.c:678
msgid "destructor needed for `%#D'"
msgstr "destruerare behövs för \"%#D\""
-#: c-semantics.c:651
+#: c-semantics.c:679
msgid "where case label appears here"
msgstr ""
-#: c-semantics.c:654
-msgid ""
-"(enclose actions of previous case statements requiring destructors in their "
-"own scope.)"
+#: c-semantics.c:682
+msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
msgstr ""
-#: c-semantics.c:697 c-typeck.c:6841
+#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
msgstr ""
-#: c-typeck.c:122
+#: c-typeck.c:123
#, c-format
msgid "`%s' has an incomplete type"
msgstr "\"%s\" har en inkomplett typ"
-#: c-typeck.c:144 cp/call.c:2563
+#: c-typeck.c:145 cp/call.c:2740
msgid "invalid use of void expression"
msgstr "ogiltig användning av void-uttryck"
#: c-typeck.c:153
+#, fuzzy
+msgid "invalid use of flexible array member"
+msgstr "ISO C89 stöder inte flexibla fältmedlemmar"
+
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
msgstr ""
-#: c-typeck.c:161
+#: c-typeck.c:167
#, c-format
msgid "invalid use of undefined type `%s %s'"
msgstr ""
#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c-typeck.c:165
+#: c-typeck.c:171
#, c-format
msgid "invalid use of incomplete typedef `%s'"
msgstr ""
-#: c-typeck.c:396 c-typeck.c:410
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
msgstr "funktionstyper inte riktigt kompatibla i ISO C"
-#: c-typeck.c:561
+#: c-typeck.c:603
msgid "types are not quite compatible"
msgstr "typerna är inte riktigt kompatibla"
-#: c-typeck.c:714
-msgid "sizeof applied to a function type"
-msgstr "sizeof applicerad på en funktionstyp"
-
-#: c-typeck.c:720
-msgid "sizeof applied to a void type"
-msgstr "sizeof applicerat på typen void"
-
-#: c-typeck.c:727
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof applicerat på en inkomplett typ"
-
-#: c-typeck.c:780 c-typeck.c:2793
+#: c-typeck.c:757 c-typeck.c:2673
msgid "arithmetic on pointer to an incomplete type"
msgstr "aritmetik på pekare till inkomplett typ"
-#: c-typeck.c:808
-msgid "__alignof__ applied to an incomplete type"
-msgstr ""
-
-#: c-typeck.c:834
-msgid "`__alignof' applied to a bit-field"
-msgstr ""
-
-#: c-typeck.c:1025 cp/typeck.c:1793
-msgid "invalid use of non-lvalue array"
-msgstr ""
-
-#: c-typeck.c:1200
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr "%s har ingen medlem med namn \"%s\""
-#: c-typeck.c:1231
+#: c-typeck.c:1169
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr "begäran av medlem \"%s\" i något som inte är en struktur eller union"
-#: c-typeck.c:1264 ch/expr.c:810
+#: c-typeck.c:1201
msgid "dereferencing pointer to incomplete type"
msgstr "derefererar pekare till inkomplett typ"
-#: c-typeck.c:1268 ch/expr.c:814
+#: c-typeck.c:1205
msgid "dereferencing `void *' pointer"
msgstr "derefererar \"void *\"-pekare"
-#: c-typeck.c:1285 cp/typeck.c:2403
+#: c-typeck.c:1222 cp/typeck.c:2357
#, c-format
msgid "invalid type argument of `%s'"
msgstr "ogiltigt typargument till \"%s\""
-#: c-typeck.c:1304 cp/typeck.c:2429
+#: c-typeck.c:1241 cp/typeck.c:2383
msgid "subscript missing in array reference"
msgstr ""
-#: c-typeck.c:1325 cp/typeck.c:2471
+#: c-typeck.c:1262 cp/typeck.c:2425
msgid "array subscript has type `char'"
msgstr "fältindex har typen \"char\""
-#: c-typeck.c:1333 c-typeck.c:1422 cp/typeck.c:2478 cp/typeck.c:2557
+#: c-typeck.c:1270 c-typeck.c:1359 cp/typeck.c:2432 cp/typeck.c:2511
msgid "array subscript is not an integer"
msgstr "fältindex är inte ett heltal"
-#: c-typeck.c:1366
+#: c-typeck.c:1303
msgid "ISO C forbids subscripting `register' array"
msgstr ""
-#: c-typeck.c:1368
-msgid "ISO C89 forbids subscripting non-lvalue array"
-msgstr ""
+#: c-typeck.c:1305
+#, fuzzy
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr "ISO C++ förbjuder tilldelning av fält"
-#: c-typeck.c:1401
+#: c-typeck.c:1338
msgid "subscript has type `char'"
msgstr "index har typen \"char\""
-#: c-typeck.c:1417 cp/typeck.c:2552
+#: 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 "\"%s\" odeklarerad här (inte i en funktion)"
-#: c-typeck.c:1475
+#: c-typeck.c:1415
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr "\"%s\" odeklarerad (första förekomsten i denna funktionen)"
-#: c-typeck.c:1480
+#: c-typeck.c:1420
msgid "(Each undeclared identifier is reported only once"
msgstr "(Varje odeklarerad identifierare rapporteras bara"
-#: c-typeck.c:1481
+#: c-typeck.c:1421
msgid "for each function it appears in.)"
msgstr "en gång för varje funktion den finns i.)"
-#: 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 "anropat objekt är inte en funktion"
-#: c-typeck.c:1647 cp/typeck.c:3190
+#: c-typeck.c:1590 cp/typeck.c:2831
msgid "too many arguments to function"
msgstr "för många argument till funktion"
-#: c-typeck.c:1670
+#: c-typeck.c:1611
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr ""
-#: c-typeck.c:1683
+#: c-typeck.c:1624
#, c-format
msgid "%s as integer rather than floating due to prototype"
msgstr ""
-#: c-typeck.c:1686
+#: c-typeck.c:1627
#, c-format
msgid "%s as integer rather than complex due to prototype"
msgstr ""
-#: c-typeck.c:1689
+#: c-typeck.c:1630
#, c-format
msgid "%s as complex rather than floating due to prototype"
msgstr ""
-#: c-typeck.c:1692
+#: c-typeck.c:1633
#, c-format
msgid "%s as floating rather than integer due to prototype"
msgstr ""
-#: c-typeck.c:1695
+#: c-typeck.c:1636
#, c-format
msgid "%s as complex rather than integer due to prototype"
msgstr "%s som complex istället för heltal grund av prototyp"
-#: c-typeck.c:1698
+#: c-typeck.c:1639
#, c-format
msgid "%s as floating rather than complex due to prototype"
msgstr ""
-#: c-typeck.c:1708
+#: c-typeck.c:1649
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
msgstr ""
-#: c-typeck.c:1725
+#: c-typeck.c:1667
#, c-format
msgid "%s with different width due to prototype"
msgstr ""
-#: c-typeck.c:1759
+#: c-typeck.c:1701
#, c-format
msgid "%s as unsigned due to prototype"
msgstr "%s som unsigned på grund av prototyp"
-#: c-typeck.c:1761
+#: c-typeck.c:1703
#, c-format
msgid "%s as signed due to prototype"
msgstr "%s som signed på grund av prototyp"
-#: c-typeck.c:1795 cp/typeck.c:3298
+#: c-typeck.c:1737 cp/typeck.c:2935
msgid "too few arguments to function"
msgstr "för få argument till funktion"
-#: c-typeck.c:1836
+#: c-typeck.c:1779
msgid "suggest parentheses around + or - inside shift"
msgstr "föreslår parenteser runt + eller - inuti skift"
-#: c-typeck.c:1843
+#: c-typeck.c:1786
msgid "suggest parentheses around && within ||"
msgstr "föreslår parenteser runt && inuti ||"
-#: c-typeck.c:1852
+#: c-typeck.c:1795
msgid "suggest parentheses around arithmetic in operand of |"
msgstr "föreslår parenteser runt aritmetik inuti operanden till |"
-#: c-typeck.c:1855
+#: c-typeck.c:1798
msgid "suggest parentheses around comparison in operand of |"
msgstr "föreslår parenteser runt jämförelse inuti operanden till |"
-#: c-typeck.c:1864
+#: c-typeck.c:1807
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr "föreslår parenteser runt aritmetik inuti operanden till ^"
-#: c-typeck.c:1867
+#: c-typeck.c:1810
msgid "suggest parentheses around comparison in operand of ^"
msgstr "föreslår parenteser runt jämförelse inuti operanden till ^"
-#: c-typeck.c:1874
+#: c-typeck.c:1817
msgid "suggest parentheses around + or - in operand of &"
msgstr "föreslår parenteser runt + eller - inuti operanden till &"
-#: c-typeck.c:1877
+#: c-typeck.c:1820
msgid "suggest parentheses around comparison in operand of &"
msgstr "föreslår parenteser runt jämförelser inuti operanden till &"
-#: c-typeck.c:1884
+#: c-typeck.c:1827
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr "jämförelser som X<=Y<=Z har inte sin matematiska mening"
-#: c-typeck.c:2138 cp/typeck.c:3577
+#: c-typeck.c:1987 c-typeck.c:2022
+msgid "division by zero"
+msgstr ""
+
+#: c-typeck.c:2067 cp/typeck.c:3196
msgid "right shift count is negative"
msgstr "högershiftoperanden är negativ"
-#: c-typeck.c:2145 cp/typeck.c:3583
+#: c-typeck.c:2074 cp/typeck.c:3202
msgid "right shift count >= width of type"
msgstr "högershiftoperanden >= storleken på typen"
-#: c-typeck.c:2170 cp/typeck.c:3602
+#: c-typeck.c:2095 cp/typeck.c:3221
msgid "left shift count is negative"
msgstr "vänstershiftoperanden är negativ"
-#: c-typeck.c:2173 cp/typeck.c:3604
+#: c-typeck.c:2098 cp/typeck.c:3223
msgid "left shift count >= width of type"
msgstr "vänstershiftoperanden >= storleken på typen"
-#: c-typeck.c:2198
+#: c-typeck.c:2119
msgid "shift count is negative"
msgstr "shiftoperanden är negativ"
-#: c-typeck.c:2200
+#: c-typeck.c:2121
msgid "shift count >= width of type"
msgstr "shiftoperanden >= storleken på typen"
-#: c-typeck.c:2221 cp/typeck.c:3639
+#: c-typeck.c:2138 cp/typeck.c:3258
msgid "comparing floating point with == or != is unsafe"
msgstr "jämföra flyttal med == eller != är osäkert"
-#: c-typeck.c:2245 c-typeck.c:2251
+#: c-typeck.c:2164 c-typeck.c:2170
msgid "ISO C forbids comparison of `void *' with function pointer"
msgstr "ISO C förbjuder jämförelse mellan \"void *\" och funktionspekare"
-#: c-typeck.c:2254 c-typeck.c:2296 c-typeck.c:2324
+#: 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:2269 c-typeck.c:2275 c-typeck.c:2345 c-typeck.c:2351
+#: c-typeck.c:2187 c-typeck.c:2192 c-typeck.c:2261 c-typeck.c:2266
msgid "comparison between pointer and integer"
msgstr "jämförelse mellan pekare och heltal"
-#: c-typeck.c:2291 c-typeck.c:2319
+#: c-typeck.c:2208 c-typeck.c:2236
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr "ISO C förbjuder ordningsjämförelse på pekare till funktioner"
-#: c-typeck.c:2316
+#: c-typeck.c:2233
msgid "comparison of complete and incomplete pointers"
msgstr "jämförelse av kompletta och inkompletta pekare"
-#: c-typeck.c:2332 c-typeck.c:2339
+#: c-typeck.c:2249 c-typeck.c:2256
msgid "ordered comparison of pointer with integer zero"
msgstr ""
-#: c-typeck.c:2365 cp/typeck.c:3772
+#: c-typeck.c:2280 cp/typeck.c:3391
msgid "unordered comparison on non-floating point argument"
msgstr ""
-#: c-typeck.c:2579
+#: c-typeck.c:2491
msgid "comparison between signed and unsigned"
msgstr "jämföreslse mellan signed och unsigned"
-#: c-typeck.c:2625 cp/typeck.c:4018
+#: c-typeck.c:2537 cp/typeck.c:3635
msgid "comparison of promoted ~unsigned with constant"
msgstr ""
-#: c-typeck.c:2633 cp/typeck.c:4026
+#: c-typeck.c:2545 cp/typeck.c:3643
msgid "comparison of promoted ~unsigned with unsigned"
msgstr ""
-#: c-typeck.c:2695
-msgid "pointer of type `void *' used in arithmetic"
-msgstr "pekare av typen \"void *\" använd med aritmetik"
-
-#: c-typeck.c:2701
-msgid "pointer to a function used in arithmetic"
-msgstr "pekare till funktion använd med aritmetik"
-
-#: c-typeck.c:2779
+#: c-typeck.c:2625
msgid "pointer of type `void *' used in subtraction"
msgstr "pekare av typ \"void *\" använd i subtraktion"
-#: c-typeck.c:2781
+#: c-typeck.c:2627
msgid "pointer to a function used in subtraction"
msgstr "pekare till funktion använd i subtraktion"
-#: c-typeck.c:2839
+#: c-typeck.c:2724
msgid "wrong type argument to unary plus"
msgstr ""
-#: c-typeck.c:2850
+#: c-typeck.c:2737
msgid "wrong type argument to unary minus"
msgstr ""
-#: c-typeck.c:2862
+#: c-typeck.c:2754
msgid "ISO C does not support `~' for complex conjugation"
msgstr "ISO C stödjer inte ~ för komplex konjugering"
-#: c-typeck.c:2868
+#: c-typeck.c:2760
msgid "wrong type argument to bit-complement"
msgstr ""
-#: c-typeck.c:2879
+#: c-typeck.c:2769
msgid "wrong type argument to abs"
msgstr "fel typ på argument till abs"
-#: c-typeck.c:2891
+#: c-typeck.c:2781
msgid "wrong type argument to conjugation"
msgstr ""
-#: c-typeck.c:2905
+#: c-typeck.c:2795
msgid "wrong type argument to unary exclamation mark"
msgstr ""
-#: c-typeck.c:2948
+#: c-typeck.c:2838
msgid "ISO C does not support `++' and `--' on complex types"
msgstr "ISO C stöder inte \"++\" och \"--\" på komplexa typer"
-#: c-typeck.c:2962 c-typeck.c:2988
-#, c-format
-msgid "wrong type argument to %s"
+#: c-typeck.c:2853 c-typeck.c:2885
+#, fuzzy
+msgid "wrong type argument to increment"
msgstr "fel typ på argument till %s"
-#: c-typeck.c:2982
-#, c-format
-msgid "%s of pointer to unknown structure"
-msgstr ""
-
-#: c-typeck.c:3052
-msgid "invalid lvalue in increment"
-msgstr ""
-
-#: c-typeck.c:3053
-msgid "invalid lvalue in decrement"
-msgstr ""
+#: c-typeck.c:2855 c-typeck.c:2887
+#, fuzzy
+msgid "wrong type argument to decrement"
+msgstr "fel typ på argument till %s"
-#: c-typeck.c:3061 cp/typeck.c:4595
-msgid "increment"
+#: c-typeck.c:2876
+msgid "increment of pointer to unknown structure"
msgstr ""
-#: c-typeck.c:3061 cp/typeck.c:4595
-msgid "decrement"
+#: c-typeck.c:2878
+msgid "decrement of pointer to unknown structure"
msgstr ""
-#: c-typeck.c:3117
+#: c-typeck.c:3015
msgid "ISO C forbids the address of a cast expression"
msgstr ""
-#: c-typeck.c:3131
+#: c-typeck.c:3025
msgid "invalid lvalue in unary `&'"
msgstr ""
-#: c-typeck.c:3163
+#: c-typeck.c:3057
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr ""
-#. condition met at compile time
-#: c-typeck.c:3271 c-typeck.c:4632 c-typeck.c:4648 c-typeck.c:4664
-#: ch/parse.c:361 ch/typeck.c:160 cp/typeck.c:4788 diagnostic.c:1471
-#: gcc.c:4214 java/expr.c:383 java/verify.c:1448 java/verify.c:1449
-#: java/verify.c:1464 tradcif.y:540 tradcpp.c:4113
+#: 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 "%s"
-#: c-typeck.c:3328
+#: c-typeck.c:3227
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr ""
-#: c-typeck.c:3331
+#: c-typeck.c:3230
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr ""
-#: c-typeck.c:3334
+#: c-typeck.c:3233
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr ""
-#: c-typeck.c:3351
+#: c-typeck.c:3250
#, c-format
msgid "%s of read-only member `%s'"
msgstr ""
-#: c-typeck.c:3355
+#: c-typeck.c:3254
#, c-format
msgid "%s of read-only variable `%s'"
msgstr ""
-#: c-typeck.c:3358
+#: c-typeck.c:3257
#, c-format
msgid "%s of read-only location"
msgstr ""
-#: c-typeck.c:3376
-#, c-format
-msgid "cannot take address of bitfield `%s'"
+#: c-typeck.c:3276
+#, fuzzy, c-format
+msgid "cannot take address of bit-field `%s'"
msgstr "kan inte ta adressen till bitfält \"%s\""
-#: c-typeck.c:3403 ch/typeck.c:3679 ch/xtypeck.c:62
+#: c-typeck.c:3304
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr "global registervariabel \"%s\" använd i nästlad funktion"
-#: c-typeck.c:3407 ch/typeck.c:3683 ch/xtypeck.c:66
+#: c-typeck.c:3308
#, c-format
msgid "register variable `%s' used in nested function"
msgstr "registervariabel \\\"%s\\\" använd i nästlad funktion"
-#: c-typeck.c:3414 ch/typeck.c:3690 ch/xtypeck.c:73
+#: c-typeck.c:3315
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "adress på global registervariabel \"%s\" efterfrågad"
-#: c-typeck.c:3426 ch/typeck.c:3702 ch/xtypeck.c:85
+#: c-typeck.c:3327
msgid "cannot put object with volatile field into register"
msgstr ""
-#: c-typeck.c:3430 ch/typeck.c:3706 ch/xtypeck.c:89
+#: c-typeck.c:3331
#, c-format
msgid "address of register variable `%s' requested"
msgstr "adress på register variabel \"%s\" efterfrågad"
-#: c-typeck.c:3538
+#: c-typeck.c:3439
msgid "signed and unsigned type in conditional expression"
msgstr "typ signed och unsigned i villkorsuttryck"
-#: c-typeck.c:3545
+#: c-typeck.c:3446
msgid "ISO C forbids conditional expr with only one void side"
msgstr ""
-#: c-typeck.c:3561 c-typeck.c:3568
+#: c-typeck.c:3462 c-typeck.c:3469
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr ""
-#: c-typeck.c:3574
+#: c-typeck.c:3475
msgid "pointer type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3581 c-typeck.c:3591
+#: c-typeck.c:3482 c-typeck.c:3492
msgid "pointer/integer type mismatch in conditional expression"
msgstr ""
-#: c-typeck.c:3605
+#: c-typeck.c:3506
msgid "type mismatch in conditional expression"
msgstr "typfel i villkorsuttryck"
-#: c-typeck.c:3674 cp/typeck.c:5020
+#: c-typeck.c:3577 cp/typeck.c:4597
msgid "left-hand operand of comma expression has no effect"
msgstr ""
-#: c-typeck.c:3713
+#: c-typeck.c:3621
msgid "cast specifies array type"
msgstr ""
-#: c-typeck.c:3719
+#: c-typeck.c:3627
msgid "cast specifies function type"
msgstr ""
-#: c-typeck.c:3729
+#: c-typeck.c:3637
msgid "ISO C forbids casting nonscalar to the same type"
msgstr ""
-#: c-typeck.c:3750
+#: c-typeck.c:3656
msgid "ISO C forbids casts to union type"
msgstr "ISO C förbjuder typkonvertering till unionstyper"
-#: c-typeck.c:3766
+#: c-typeck.c:3671
msgid "cast to union type from type not present in union"
msgstr "typkonvertering till unionstyp från typ som ej finns i unionen"
+#: c-typeck.c:3722
+#, fuzzy
+msgid "cast adds new qualifiers to function type"
+msgstr "typkonvertering matchar inte en funktionstyp"
+
#. There are qualifiers present in IN_OTYPE that are not
#. present in IN_TYPE.
-#: c-typeck.c:3811
+#: c-typeck.c:3727
msgid "cast discards qualifiers from pointer target type"
msgstr ""
-#: c-typeck.c:3826
+#: c-typeck.c:3742
msgid "cast increases required alignment of target type"
msgstr ""
-#: c-typeck.c:3832 cp/typeck.c:5435
+#: c-typeck.c:3748 cp/typeck.c:5027
msgid "cast from pointer to integer of different size"
msgstr "typkonvertering från pekare till heltal av annan storlek"
-#: c-typeck.c:3837
+#: c-typeck.c:3753
msgid "cast does not match function type"
msgstr "typkonvertering matchar inte en funktionstyp"
-#: c-typeck.c:3844 cp/typeck.c:5442
+#: c-typeck.c:3760 cp/typeck.c:5034
msgid "cast to pointer from integer of different size"
msgstr "typkonvertering till pekare från heltal med annan storlek"
+#: 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:4004
+#: c-typeck.c:3935
msgid "invalid lvalue in assignment"
msgstr "ogiltigt lvalue i tilldelning"
#. Convert new value to destination type.
-#: c-typeck.c:4013 c-typeck.c:4038 c-typeck.c:4055 ch/typeck.c:2337
-#: cp/typeck.c:5557 cp/typeck.c:5714
+#: c-typeck.c:3944 c-typeck.c:3969 c-typeck.c:3986 cp/typeck.c:5145
+#: cp/typeck.c:5294
msgid "assignment"
msgstr "tilldelning"
-#: c-typeck.c:4222 c-typeck.c:4289
+#: c-typeck.c:4056
+#, fuzzy
+msgid "cannot pass rvalue to reference parameter"
+msgstr "kan inte deklarera pekare till referenser"
+
+#: c-typeck.c:4160 c-typeck.c:4227
#, c-format
msgid "%s makes qualified function pointer from unqualified"
msgstr ""
-#: c-typeck.c:4226 c-typeck.c:4269
+#: c-typeck.c:4164 c-typeck.c:4207
#, c-format
msgid "%s discards qualifiers from pointer target type"
msgstr ""
-#: c-typeck.c:4232
+#: c-typeck.c:4170
msgid "ISO C prohibits argument conversion to union type"
msgstr ""
-#: c-typeck.c:4261
+#: c-typeck.c:4199
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
msgstr "ISO C förbjuder %s mellan funktionspekare och \"void *\""
-#: c-typeck.c:4278
+#: c-typeck.c:4216
#, c-format
msgid "pointer targets in %s differ in signedness"
msgstr ""
-#: c-typeck.c:4294
+#: c-typeck.c:4232
#, c-format
msgid "%s from incompatible pointer type"
msgstr ""
# fixme: vad är %s
-#: c-typeck.c:4310
+#: c-typeck.c:4248
#, c-format
msgid "%s makes pointer from integer without a cast"
msgstr "%s skapar pekare från heltal utan typkonvertering"
-#: c-typeck.c:4318
+#: c-typeck.c:4256
#, c-format
msgid "%s makes integer from pointer without a cast"
msgstr ""
-#: c-typeck.c:4332 c-typeck.c:4335
+#: c-typeck.c:4270 c-typeck.c:4273
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr ""
-#: c-typeck.c:4339
+#: c-typeck.c:4277
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr ""
-#: c-typeck.c:4343
+#: c-typeck.c:4281
#, c-format
msgid "incompatible types in %s"
msgstr "inkompatibla typer i %s"
#. Function name is known; supply it.
-#: c-typeck.c:4374
+#: c-typeck.c:4339
+#, fuzzy, c-format
+msgid "passing arg of `%s'"
+msgstr "Saknar argument till flaggan \"%s\""
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4349
+#, fuzzy
+msgid "passing arg of pointer to function"
+msgstr "för många argument till funktion"
+
+#. 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:4384
+#: c-typeck.c:4367
#, c-format
msgid "passing arg %d of pointer to function"
msgstr ""
-#: c-typeck.c:4451
+#: c-typeck.c:4433
msgid "initializer for static variable is not constant"
-msgstr ""
+msgstr "initierare för statisk variabel är inte konstant"
-#: c-typeck.c:4457
+#: c-typeck.c:4439
msgid "initializer for static variable uses complicated arithmetic"
msgstr ""
-#: c-typeck.c:4465
+#: c-typeck.c:4447
msgid "aggregate initializer is not constant"
msgstr ""
-#: c-typeck.c:4467
+#: c-typeck.c:4449
msgid "aggregate initializer uses complicated arithmetic"
msgstr ""
-#: c-typeck.c:4474
+#: c-typeck.c:4456
msgid "traditional C rejects automatic aggregate initialization"
msgstr ""
@@ -2913,3735 +3372,5875 @@ msgstr ""
msgid "(near initialization for `%s')"
msgstr ""
-#: c-typeck.c:4719 cp/typeck2.c:524
+#: c-typeck.c:4718 cp/typeck2.c:505
msgid "char-array initialized from wide string"
msgstr ""
-#: c-typeck.c:4726 cp/typeck2.c:531
+#: c-typeck.c:4725 cp/typeck2.c:512
msgid "int-array initialized from non-wide string"
msgstr ""
-#: c-typeck.c:4743 cp/typeck2.c:547
+#: c-typeck.c:4743 cp/typeck2.c:528
msgid "initializer-string for array of chars is too long"
msgstr ""
-#: c-typeck.c:4770
+#: c-typeck.c:4781
msgid "array initialized from non-constant array expression"
msgstr ""
-#: c-typeck.c:4787 c-typeck.c:4789 c-typeck.c:4805 c-typeck.c:4826
-#: c-typeck.c:6221
+#: 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:4821
+#: c-typeck.c:4832
msgid "initialization"
msgstr "initiering"
-#: c-typeck.c:4832 c-typeck.c:6226
+#: c-typeck.c:4843 c-typeck.c:6242
msgid "initializer element is not computable at load time"
msgstr ""
-#: c-typeck.c:4869 c-typeck.c:4885 cp/typeck2.c:624
+#: c-typeck.c:4858 cp/typeck2.c:605
msgid "invalid initializer"
msgstr ""
-#: c-typeck.c:5353
+#: c-typeck.c:5351
msgid "extra brace group at end of initializer"
msgstr ""
-#: c-typeck.c:5373
+#: c-typeck.c:5371
msgid "missing braces around initializer"
msgstr ""
-#: c-typeck.c:5417
+#: c-typeck.c:5431
msgid "braces around scalar initializer"
msgstr ""
-#: c-typeck.c:5469
+#: c-typeck.c:5479
msgid "initialization of flexible array member in a nested context"
msgstr ""
-#: c-typeck.c:5471
-msgid "initialization of a flexible array member"
-msgstr ""
-
#: c-typeck.c:5481
-msgid "deprecated initialization of zero-length array"
-msgstr ""
-
-#: c-typeck.c:5486
-msgid "initialization of zero-length array before end of structure"
-msgstr ""
-
-#: c-typeck.c:5491
-msgid "initialization of zero-length array inside a nested context"
+msgid "initialization of a flexible array member"
msgstr ""
-#: c-typeck.c:5510
+#: c-typeck.c:5512
msgid "missing initializer"
msgstr ""
-#: c-typeck.c:5535
+#: c-typeck.c:5538
msgid "empty scalar initializer"
msgstr ""
-#: c-typeck.c:5540
+#: c-typeck.c:5543
msgid "extra elements in scalar initializer"
msgstr ""
-#: c-typeck.c:5624
+#: c-typeck.c:5629
msgid "initialization designators may not nest"
msgstr ""
-#: c-typeck.c:5645 c-typeck.c:5715
+#: c-typeck.c:5650 c-typeck.c:5721
msgid "array index in non-array initializer"
msgstr ""
-#: c-typeck.c:5650 c-typeck.c:5767
+#: c-typeck.c:5655 c-typeck.c:5773
msgid "field name not in record or union initializer"
msgstr ""
-#: c-typeck.c:5711 c-typeck.c:5713
+#: c-typeck.c:5717 c-typeck.c:5719
msgid "nonconstant array index in initializer"
msgstr ""
-#: c-typeck.c:5718
+#: c-typeck.c:5724
msgid "array index in initializer exceeds array bounds"
msgstr ""
-#: c-typeck.c:5729
+#: c-typeck.c:5735
msgid "empty index range in initializer"
msgstr ""
-#: c-typeck.c:5738
+#: c-typeck.c:5744
msgid "array index range in initializer exceeds array bounds"
msgstr ""
-#: c-typeck.c:5779
+#: c-typeck.c:5785
#, c-format
msgid "unknown field `%s' specified in initializer"
msgstr ""
-#: c-typeck.c:5816 c-typeck.c:5837 c-typeck.c:6291
+#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304
msgid "initialized field with side-effects overwritten"
msgstr ""
-#: c-typeck.c:6504
+#: c-typeck.c:6514
msgid "excess elements in char array initializer"
msgstr ""
-#: c-typeck.c:6511 c-typeck.c:6550
+#: c-typeck.c:6521 c-typeck.c:6567
msgid "excess elements in struct initializer"
msgstr ""
-#: c-typeck.c:6617
+#: c-typeck.c:6582
+msgid "non-static initialization of a flexible array member"
+msgstr ""
+
+#: c-typeck.c:6644
msgid "excess elements in union initializer"
msgstr ""
-#: c-typeck.c:6634
+#: c-typeck.c:6665
msgid "traditional C rejects initialization of unions"
msgstr ""
-#: c-typeck.c:6697
+#: c-typeck.c:6728
msgid "excess elements in array initializer"
msgstr ""
-#: c-typeck.c:6723
+#: c-typeck.c:6757
+msgid "excess elements in vector initializer"
+msgstr ""
+
+#: c-typeck.c:6779
msgid "excess elements in scalar initializer"
msgstr ""
-#: c-typeck.c:6834 ch/parse.c:2026
+#: c-typeck.c:6886
msgid "asm template is not a string constant"
msgstr ""
-#: c-typeck.c:6866
+#: c-typeck.c:6918
msgid "invalid lvalue in asm statement"
msgstr ""
-#: c-typeck.c:6939
+#: c-typeck.c:6993
msgid "modification by `asm'"
msgstr ""
-#: c-typeck.c:6958 cp/typeck.c:6603
+#: c-typeck.c:7012 cp/typeck.c:6152
msgid "function declared `noreturn' has a `return' statement"
msgstr ""
-#: c-typeck.c:6965
+#: c-typeck.c:7019
msgid "`return' with no value, in function returning non-void"
msgstr ""
-#: c-typeck.c:6971
+#: c-typeck.c:7025
msgid "`return' with a value, in function returning void"
msgstr "\"return\" med värde i funktion som returnerar void"
-#: c-typeck.c:6975
+#: c-typeck.c:7029
msgid "return"
msgstr "return"
-#: c-typeck.c:7026
+#: c-typeck.c:7081
msgid "function returns address of local variable"
msgstr "funktionen returnerar adress till en lokal variabel"
-#: c-typeck.c:7083 cp/semantics.c:533
+#: c-typeck.c:7137 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "switch-argument är inte ett heltal"
-#: c-typeck.c:7094
+#: c-typeck.c:7147
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr ""
-#: c-typeck.c:7137 cp/decl.c:5224
+#: c-typeck.c:7182 cp/decl.c:5173
msgid "case label not within a switch statement"
msgstr "case-etikett är inte i en switch-sats"
-#: c-typeck.c:7139 cp/decl.c:5229
+#: c-typeck.c:7184 cp/decl.c:5178
msgid "`default' label not within a switch statement"
msgstr "\"default\"-etikett är inte i en switch-sats"
-#: calls.c:1882
+#: calls.c:1921
#, c-format
msgid "inlining failed in call to `%s'"
msgstr "inlining misslyckades i anrop av \"%s\""
-#: calls.c:1883 calls.c:2196
+#: calls.c:1922 calls.c:2228
msgid "called from here"
msgstr "anropad härifrån"
-#: calls.c:2195
+#: calls.c:2227
#, c-format
msgid "can't inline call to `%s'"
msgstr "kan inte inline:a anrop till \"%s\""
-#: calls.c:2233
+#: calls.c:2257
msgid "function call has aggregate value"
msgstr ""
-#: calls.c:4625
-msgid "variable offset is passed paritially in stack and in reg"
+#: calls.c:4614
+msgid "variable offset is passed partially in stack and in reg"
msgstr ""
-#: calls.c:4627
+#: calls.c:4616
msgid "variable size is passed partially in stack and in reg"
msgstr ""
-#: ch/actions.c:118
+#: cfgloop.c:1106
#, c-format
-msgid "%d errors, %d sorries, do granting"
-msgstr ""
-
-#: ch/actions.c:135
-msgid "GNU compiler does not support statically allocated objects"
+msgid "Size of loop %d should be %d, not %d."
msgstr ""
-#: ch/actions.c:138 objc/objc-act.c:1109
+#: cfgloop.c:1125
#, c-format
-msgid "`%s' cannot be statically allocated"
-msgstr "\"%s\" kan inte vara statiskt allokerad"
+msgid "Bb %d do not belong to loop %d."
+msgstr ""
-#: ch/actions.c:300
+#: cfgloop.c:1143
#, c-format
-msgid "causing unhandled exception `%s' (this is flaged only once)"
+msgid "Loop %d's header does not have exactly 2 entries."
msgstr ""
-#: ch/actions.c:438
-msgid "range failure (not inside function)"
+#: cfgloop.c:1151
+#, c-format
+msgid "Loop %d's latch does not have exactly 1 successor."
msgstr ""
-#: ch/actions.c:440
-msgid "possible range failure (not inside function)"
+#: cfgloop.c:1156
+#, c-format
+msgid "Loop %d's latch does not have header as successor."
msgstr ""
-#: ch/actions.c:445
-msgid "expression will always cause RANGEFAIL"
+#: cfgloop.c:1161
+#, c-format
+msgid "Loop %d's latch does not belong directly to it."
msgstr ""
-#: ch/actions.c:492
-msgid "right hand side of assignment is a mode"
+#: cfgloop.c:1167
+#, c-format
+msgid "Loop %d's header does not belong directly to it."
msgstr ""
-#: ch/actions.c:498
+#: cfgrtl.c:1704
#, c-format
-msgid "incompatible modes in %s"
+msgid "bb %d on wrong place"
msgstr ""
-#: ch/actions.c:523
+#: cfgrtl.c:1710
#, c-format
-msgid "bad string length in %s"
+msgid "prev_bb of %d should be %d, not %d"
msgstr ""
-#: ch/actions.c:631 ch/actions.c:644
+#: cfgrtl.c:1730
#, c-format
-msgid "mode mismatch in %s expression"
+msgid "end insn %d for block %d not found in the insn stream"
msgstr ""
-#: ch/actions.c:638
+#: cfgrtl.c:1744
#, c-format
-msgid "%s expression must be referable"
+msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr ""
-#: ch/actions.c:667
+#: cfgrtl.c:1756
#, c-format
-msgid "%s not allowed outside a PROC"
+msgid "head insn %d for block %d not found in the insn stream"
msgstr ""
-#: ch/actions.c:673
+#: cfgrtl.c:1778
#, c-format
-msgid "%s action in PROC with no declared RESULTS"
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
msgstr ""
-#: ch/actions.c:704
-msgid "RETURN not allowed outside PROC"
+#: cfgrtl.c:1785
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
msgstr ""
-#: ch/actions.c:717
-msgid "RETURN with a value, in PROC returning void"
+#: cfgrtl.c:1791
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
msgstr ""
-#: ch/actions.c:726
-msgid "RETURN with no value and no RESULT action in procedure"
+#: cfgrtl.c:1799
+#, c-format
+msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr ""
-#: ch/actions.c:749
+#: cfgrtl.c:1805
#, c-format
-msgid "no label named `%s'"
-msgstr "ingen etikett med namn \"%s\""
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr ""
-#: ch/actions.c:751
+#: cfgrtl.c:1811
#, c-format
-msgid "cannot GOTO label `%s' outside current function"
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
msgstr ""
-#: ch/actions.c:773
+#: cfgrtl.c:1841
#, c-format
-msgid "no EXITable label named `%s'"
+msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr ""
-#: ch/actions.c:775
+#: cfgrtl.c:1856
#, c-format
-msgid "cannot EXIT label `%s' outside current function"
+msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr ""
-#: ch/actions.c:1018
-msgid "case selector not compatible with label"
+#: cfgrtl.c:1858
+msgid "wrong insn in the fallthru edge"
msgstr ""
-#: ch/actions.c:1044
-msgid "ELSE label not within a CASE statement"
+#: cfgrtl.c:1865
+#, c-format
+msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr ""
-#: ch/actions.c:1048
-msgid "multiple default labels found in a CASE statement"
+#: cfgrtl.c:1881
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
msgstr ""
-#: ch/actions.c:1049
-msgid "this is the first ELSE label"
+#: cfgrtl.c:1889
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
msgstr ""
-#: ch/actions.c:1070
-msgid "label found outside of CASE statement"
+#: cfgrtl.c:1894
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
msgstr ""
-#: ch/actions.c:1073
-msgid "duplicate CASE value"
+#: cfgrtl.c:1899
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
msgstr ""
-#: ch/actions.c:1074 ch/actions.c:1127
-msgid "this is the first entry for that value"
+#: cfgrtl.c:1905
+#, fuzzy, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "Föredra hopp framför villkorlig körning"
+
+#: cfgrtl.c:1910
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
msgstr ""
-#: ch/actions.c:1077 ch/actions.c:1130
-msgid "CASE value out of range"
+#: cfgrtl.c:1919
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
msgstr ""
-#: ch/actions.c:1079 ch/actions.c:1132
-msgid "empty range"
+#: cfgrtl.c:1934
+#, c-format
+msgid "missing barrier after block %i"
msgstr ""
-#: ch/actions.c:1081 ch/actions.c:1134
-msgid "label within scope of cleanup or variable array"
+#: cfgrtl.c:1944
+#, c-format
+msgid "basic block %d pred edge is corrupted"
msgstr ""
-#: ch/actions.c:1105 ch/actions.c:1302
-msgid "mode in label is not discrete"
+#: cfgrtl.c:1961
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr ""
-#: ch/actions.c:1122
-msgid "label not within a CASE statement"
+#: cfgrtl.c:1965
+#, c-format
+msgid "insn %d inside basic block %d but block_for_insn is %i"
msgstr ""
-#: ch/actions.c:1282
-msgid "Lower bound of range must be a discrete literal expression"
+#: cfgrtl.c:1979 cfgrtl.c:1989
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr ""
-#: ch/actions.c:1287
-msgid "Upper bound of range must be a discrete literal expression"
+#: cfgrtl.c:2002
+#, c-format
+msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr ""
-#: ch/actions.c:1311
-msgid "The CASE label is not valid"
+#: cfgrtl.c:2014
+#, c-format
+msgid "in basic block %d:"
msgstr ""
-#: ch/actions.c:1357 ch/expr.c:215
-msgid ""
-"The number of CASE selectors does not match the number of CASE label lists"
+#: cfgrtl.c:2015
+msgid "flow control insn inside a basic block"
msgstr ""
-#: ch/actions.c:1442
+#: cfgrtl.c:2034
#, c-format
-msgid "incomplete CASE - %s not handled"
+msgid "basic block %i edge lists are corrupted"
msgstr ""
-#: ch/actions.c:1461
-msgid "CASE selector with variable range"
+#: cfgrtl.c:2049
+msgid "basic blocks not numbered consecutively"
msgstr ""
-#: ch/actions.c:1465
-msgid "too many cases to do CASE completeness testing"
+#: cfgrtl.c:2074
+msgid "insn outside basic block"
msgstr ""
-#: ch/actions.c:1550
-msgid "type of tuple cannot be implicit in multiple assignent"
+#: cfgrtl.c:2082
+msgid "return not followed by barrier"
msgstr ""
-#: ch/actions.c:1552
-msgid "conditional expression cannot be used in multiple assignent"
+#: cfgrtl.c:2087
+#, c-format
+msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr ""
-#: ch/actions.c:1554
-msgid "internal error - unknown type in multiple assignment"
+#: cfgrtl.c:2091
+msgid "verify_flow_info failed"
msgstr ""
-#: ch/actions.c:1558
-msgid "no operator allowed in multiple assignment,"
-msgstr ""
+#: collect2.c:425
+msgid "internal error"
+msgstr "internt fel"
+
+#: collect2.c:934
+msgid "no arguments"
+msgstr "inga argument"
+
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
+#, c-format
+msgid "fopen %s"
+msgstr "fopen %s"
-#: ch/actions.c:1568
-msgid "location modes in multiple assignment are not equivalent"
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
+#, c-format
+msgid "fclose %s"
+msgstr "fclose %s"
+
+#: collect2.c:1275
+#, c-format
+msgid "collect2 version %s"
msgstr ""
-#: ch/actions.c:1606
-msgid "You may not assign a value to a BUFFER or EVENT location"
+#: collect2.c:1365
+#, c-format
+msgid "%d constructor(s) found\n"
+msgstr "%d konstruerare hittad(e)\n"
+
+#: collect2.c:1366
+#, c-format
+msgid "%d destructor(s) found\n"
+msgstr "%d destruerare hittad(e)\n"
+
+#: collect2.c:1367
+#, c-format
+msgid "%d frame table(s) found\n"
msgstr ""
-#: ch/actions.c:1614
-msgid "can't assign value to READonly location"
+#: collect2.c:1508
+#, c-format
+msgid "%s terminated with signal %d [%s]%s"
+msgstr "%s terminerade med signal %d [%s]%s"
+
+#: collect2.c:1527
+#, c-format
+msgid "%s returned %d exit status"
+msgstr "%s returnerade avslutningsstatus %d"
+
+#: collect2.c:1555
+#, c-format
+msgid "[cannot find %s]"
+msgstr "[kan inte hitta %s]"
+
+#: collect2.c:1570
+#, c-format
+msgid "cannot find `%s'"
+msgstr "kan inte hitta \"%s\""
+
+#: collect2.c:1581 collect2.c:1584
+#, c-format
+msgid "redirecting stdout: %s"
+msgstr "omdirigerar stdout: %s"
+
+#: collect2.c:1627
+#, c-format
+msgid "[Leaving %s]\n"
+msgstr "[Lämnar %s]\n"
+
+#: collect2.c:1870
+#, c-format
+msgid ""
+"\n"
+"write_c_file - output name is %s, prefix is %s\n"
msgstr ""
-#: ch/actions.c:1619
-msgid "cannot assign to location with non-value property"
+#: collect2.c:2083
+msgid "cannot find `nm'"
+msgstr "kan inte hitta \"nm\""
+
+#: collect2.c:2093 collect2.c:2535
+msgid "pipe"
+msgstr "rör"
+
+#: collect2.c:2097 collect2.c:2539
+msgid "fdopen"
+msgstr "fdopen"
+
+#: collect2.c:2123 collect2.c:2565
+#, c-format
+msgid "dup2 %d 1"
+msgstr "dup2 %d 1"
+
+#: collect2.c:2126 collect2.c:2129 collect2.c:2142 collect2.c:2568
+#: collect2.c:2571 collect2.c:2584
+#, c-format
+msgid "close %d"
+msgstr "close %d"
+
+#: collect2.c:2132 collect2.c:2574
+#, c-format
+msgid "execv %s"
+msgstr "execv %s"
+
+#: collect2.c:2186
+#, c-format
+msgid "init function found in object %s"
msgstr ""
-#: ch/actions.c:1639
-msgid "lefthand side of assignment is not a location"
+#: collect2.c:2194
+#, c-format
+msgid "fini function found in object %s"
msgstr ""
-#: ch/actions.c:1715 ch/actions.c:1785
-msgid "bitstring slice"
+#: collect2.c:2217 collect2.c:2623
+msgid "fclose"
+msgstr "fclose"
+
+#: collect2.c:2262
+#, c-format
+msgid "unable to open file '%s'"
+msgstr "kan inte öppna fil \"%s\""
+
+#: collect2.c:2264
+#, c-format
+msgid "unable to stat file '%s'"
msgstr ""
-#: ch/actions.c:1810
-msgid "LENGTH on left-hand-side is non-portable"
+#: collect2.c:2270
+#, c-format
+msgid "unable to mmap file '%s'"
+msgstr "kan inte göra mmap på fil \"%s\""
+
+#: collect2.c:2423
+msgid "not found\n"
+msgstr "hittades inte\n"
+
+#: collect2.c:2425 collect2.c:2602
+#, c-format
+msgid "dynamic dependency %s not found"
msgstr ""
-#: ch/actions.c:1814
-msgid "Can only set LENGTH of array location"
+#: collect2.c:2445
+#, c-format
+msgid "bad magic number in file '%s'"
+msgstr "felaktigt magiskt nummer i fil \"%s\""
+
+#: collect2.c:2467
+msgid "dynamic dependencies.\n"
+msgstr "dynamiskt beroende.\n"
+
+#: collect2.c:2526
+msgid "cannot find `ldd'"
+msgstr "kan inte hitta \"ldd\""
+
+#: collect2.c:2587
+msgid ""
+"\n"
+"ldd output with constructors/destructors.\n"
msgstr ""
-#: ch/convert.c:63
-msgid "internal error: trying to make loc-identity with non-location"
+#: collect2.c:2614
+#, c-format
+msgid "unable to open dynamic dependency '%s'"
msgstr ""
-#: ch/convert.c:117
-msgid "cannot convert to a boolean mode"
+#: collect2.c:2728
+#, c-format
+msgid "%s: not a COFF file"
+msgstr "%s: är inte en COFF-fil"
+
+#: collect2.c:2847
+#, c-format
+msgid "%s: cannot open as COFF file"
+msgstr "%s: kan inte öppna som COFF-fil"
+
+#: collect2.c:2903
+#, fuzzy, c-format
+msgid "library lib%s not found"
+msgstr "Hittade inte bibliotek lib%s"
+
+#: collect2.c:3030
+#, c-format
+msgid "open %s"
+msgstr "open %s"
+
+#: collect2.c:3053
+msgid "incompatibilities between object file & expected values"
msgstr ""
-#: ch/convert.c:152
-msgid "cannot convert to a char mode"
+#: collect2.c:3126
+#, c-format
+msgid ""
+"\n"
+"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
msgstr ""
+"\n"
+"Processar symboltabell #%d, index = 0x%.8lx, sort = %s\n"
+
+#: collect2.c:3135
+msgid "string section missing"
+msgstr "strängsektionen saknas"
+
+#: collect2.c:3138
+msgid "section pointer missing"
+msgstr "sektionspekare saknas"
+
+#: collect2.c:3186
+msgid "no symbol table found"
+msgstr "hittade ingen symboltabell"
+
+#: collect2.c:3199
+msgid "no cmd_strings found"
+msgstr "hittar ingen cmd_strings"
-#: ch/convert.c:248
-msgid "powerset tuple element out of range"
+#: collect2.c:3211
+msgid ""
+"\n"
+"Updating header and load commands.\n"
+"\n"
msgstr ""
-#: ch/convert.c:284 ch/convert.c:312
+#: collect2.c:3218
#, c-format
-msgid "incompatible member of powerset tuple (at position #%d)"
+msgid "load command map, %d cmds, new size %ld.\n"
+msgstr "ladda kommandomappning, %d kommandon, ny storlek %ld.\n"
+
+#: collect2.c:3249
+msgid ""
+"writing load commands.\n"
+"\n"
msgstr ""
-#: ch/convert.c:394
+#: collect2.c:3269
#, c-format
-msgid "no initializer value for fixed field `%s'"
+msgid "close %s"
msgstr ""
-#: ch/convert.c:436
-#, c-format
-msgid "non-constant value for tag field `%s'"
+#: collect2.c:3343
+msgid "could not convert 0x%l.8x into a region"
msgstr ""
-#: ch/convert.c:488
+#: collect2.c:3347
#, c-format
-msgid "field `%s' in wrong variant"
+msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+msgstr ""
+
+#: collect2.c:3474
+msgid "bad magic number"
+msgstr ""
+
+#: collect2.c:3475
+msgid "bad header version"
msgstr ""
-#: ch/convert.c:495
+#: collect2.c:3476
+msgid "bad raw header version"
+msgstr ""
+
+#: collect2.c:3477
+msgid "raw header buffer too small"
+msgstr ""
+
+#: collect2.c:3478
+msgid "old raw header file"
+msgstr ""
+
+#: collect2.c:3479
+msgid "unsupported version"
+msgstr "ej stödd version"
+
+#: collect2.c:3481
#, c-format
-msgid "missing variant fields (at least `%s')"
+msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr ""
-#: ch/convert.c:518
+#: collect2.c:3501
+#, c-format
+msgid "fstat %s"
+msgstr "fstat %s"
+
+#: collect2.c:3538 collect2.c:3586
+#, c-format
+msgid "lseek %s 0"
+msgstr "lseek %s 0"
+
+#: collect2.c:3542
+#, c-format
+msgid "read %s"
+msgstr "read %s"
+
+#: collect2.c:3545
+#, c-format
+msgid "read %ld bytes, expected %ld, from %s"
+msgstr "läste %ld bytes, förväntade %ld, från %s"
+
+#: collect2.c:3566
+#, c-format
+msgid "msync %s"
+msgstr "msync %s"
+
+#: collect2.c:3573
+#, c-format
+msgid "munmap %s"
+msgstr "munmap %s"
+
+#: collect2.c:3590
+#, c-format
+msgid "write %s"
+msgstr "write %s"
+
+#: collect2.c:3593
+#, c-format
+msgid "wrote %ld bytes, expected %ld, to %s"
+msgstr "skrev %ld bytes, förväntade %ld, till %s"
+
+#: combine.c:12966
#, c-format
-msgid "bad initializer for field `%s'"
+msgid ""
+";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+";; %d successes.\n"
+"\n"
msgstr ""
-#: ch/convert.c:525
+#: combine.c:12976
#, c-format
-msgid "no initializer value for variant field `%s'"
+msgid ""
+"\n"
+";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
+";; %d successes.\n"
msgstr ""
-#: ch/convert.c:531
-msgid "no selected variant"
+#: convert.c:69
+msgid "cannot convert to a pointer type"
+msgstr "kan inte konvertera till en pekartyp"
+
+#: convert.c:102
+msgid "pointer value used where a floating point value was expected"
msgstr ""
-#: ch/convert.c:546 ch/convert.c:912
-msgid "mixture of labelled and unlabelled tuple elements"
+#: convert.c:106
+msgid "aggregate value used where a float was expected"
msgstr ""
-#: ch/convert.c:557
-msgid "probably not a structure tuple"
+#: convert.c:132
+msgid "conversion to incomplete type"
msgstr ""
-#: ch/convert.c:559
-#, c-format
-msgid "excess initializer for field `%s'"
+#: convert.c:414 convert.c:494
+msgid "can't convert between vector values of different size"
msgstr ""
-#: ch/convert.c:566
-msgid "excess unnamed initializers"
+#: convert.c:420
+msgid "aggregate value used where an integer was expected"
msgstr ""
-#: ch/convert.c:693
-msgid "non-constant start index for tuple"
+#: convert.c:472 f/com.c:1100
+msgid "pointer value used where a complex was expected"
msgstr ""
-#: ch/convert.c:736
-msgid "invalid array tuple label"
+#: convert.c:476 f/com.c:1102
+msgid "aggregate value used where a complex was expected"
msgstr ""
-#: ch/convert.c:750
-msgid "non-constant array tuple index range"
+#: convert.c:500
+msgid "can't convert value to a vector"
msgstr ""
-#: ch/convert.c:759
+#: cpperror.c:113
+msgid "warning: "
+msgstr "varning: "
+
+#: cpperror.c:115
+msgid "internal error: "
+msgstr "internt fel: "
+
+#: cpperror.c:189
+#, fuzzy
+msgid "stdout"
+msgstr "struct"
+
+#: cpperror.c:191 gcc.c:6444
#, c-format
-msgid "incompatible array tuple element %s"
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: cppexp.c:199
+#, fuzzy
+msgid "too many decimal points in number"
+msgstr "för många decimalpunker i flyttalskonstant"
+
+#: cppexp.c:219
+#, fuzzy, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "ogiltigt suffix på heltalskonstant"
+
+#: cppexp.c:225
+#, fuzzy
+msgid "use of C99 hexadecimal floating constant"
+msgstr "för många decimalpunker i flyttalskonstant"
+
+#: cppexp.c:234
+#, fuzzy
+msgid "exponent has no digits"
+msgstr "numerisk kostant utan siffror"
+
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
msgstr ""
-#: ch/convert.c:775
-msgid "multiple (*) or (ELSE) array tuple labels"
+#: cppexp.c:247
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "både suffix 'f' och 'l' på flyttalskonstant"
+
+#: cppexp.c:257 cppexp.c:282
+#, fuzzy, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "traditionell C stödjer inte suffixet 'f'"
+
+#: cppexp.c:268
+#, fuzzy, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "ogiltigt suffix på heltalskonstant"
+
+#: cppexp.c:289
+#, fuzzy
+msgid "use of C99 long long integer constant"
+msgstr "ISO C89 förbjuder long long integer konstanter"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
msgstr ""
-#: ch/convert.c:784
-msgid "empty range in array tuple"
+#: cppexp.c:383
+#, fuzzy
+msgid "integer constant is too large for its type"
+msgstr "heltalskonstant är större än maximala värdet för sin typ"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
msgstr ""
-#: ch/convert.c:801
-#, c-format
-msgid "array tuple has duplicate index %s"
+#: cppexp.c:482
+msgid "missing ')' after \"defined\""
+msgstr "saknar ')' efter \"defined\""
+
+#: cppexp.c:489
+msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: ch/convert.c:809
-msgid "array tuple index out of range"
+#: cppexp.c:497
+#, c-format
+msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: ch/convert.c:811
-msgid "too many array tuple values"
+#: cppexp.c:507
+msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: ch/convert.c:883
-msgid "dynamic array tuple without (*) or (ELSE)"
+#: cppexp.c:545
+#, fuzzy
+msgid "floating constant in preprocessor expression"
+msgstr "flyttalsspill i uttryck"
+
+#: cppexp.c:551
+#, fuzzy
+msgid "imaginary number in preprocessor expression"
+msgstr "ogiltig användning av void-uttryck"
+
+#: cppexp.c:596
+#, c-format
+msgid "ISO C++ does not permit \"%s\" in #if"
+msgstr "ISO C++ tillåter inte \"%s\" i #if"
+
+#: cppexp.c:604
+#, c-format
+msgid "\"%s\" is not defined"
+msgstr "\"%s\" är inte definierad"
+
+#: cppexp.c:737 cppexp.c:772
+#, fuzzy, c-format
+msgid "missing binary operator before token \"%s\""
+msgstr "saknar mellanrum efter nummer \"%.*s\""
+
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
msgstr ""
-#: ch/convert.c:885
+#: cppexp.c:758
#, c-format
-msgid "missing array tuple element %s"
+msgid "invalid character '\\%03o' in #if"
msgstr ""
-#: ch/convert.c:892
+#: cppexp.c:763
+#, fuzzy, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "\"%s\" är inte ett giltigt filnamn"
+
+#: cppexp.c:782
+msgid "void expression between '(' and ')'"
+msgstr ""
+
+#: cppexp.c:785
+#, fuzzy
+msgid "#if with no expression"
+msgstr "#%s utan argument"
+
+#: cppexp.c:787
#, c-format
-msgid "missing array tuple elements %s : %s"
+msgid "operator '%s' has no right operand"
msgstr ""
-#: ch/convert.c:1086
-msgid "initializer is not an array or string mode"
+#: cppexp.c:813
+#, fuzzy
+msgid " ':' without preceding '?'"
+msgstr "syntaxfel vid token \"%s\""
+
+#: cppexp.c:840
+#, fuzzy
+msgid "unbalanced stack in #if"
+msgstr "obalanserad #endif"
+
+#: cppexp.c:862
+#, fuzzy, c-format
+msgid "impossible operator '%u'"
+msgstr "saknar mellanrum efter nummer \"%.*s\""
+
+#: cppexp.c:954
+#, fuzzy
+msgid "missing ')' in expression"
+msgstr "heltalsspill i uttryck"
+
+#: cppexp.c:975
+msgid "'?' without following ':'"
msgstr ""
-#: ch/convert.c:1098
-msgid "destination is too small"
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
msgstr ""
-#: ch/convert.c:1154
-msgid "internal error: unknown type of expression"
+#: cppexp.c:990
+#, fuzzy
+msgid "missing '(' in expression"
+msgstr "heltalsspill i uttryck"
+
+#: cppexp.c:1026
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: ch/decl.c:1033
+#: cppexp.c:1031
#, c-format
-msgid "`%s' must not be declared readonly"
+msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: ch/decl.c:1037
-msgid "declaration of readonly variable without initialization"
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
msgstr ""
-#: ch/decl.c:1059
-#, c-format
-msgid "no initialisation allowed for `%s'"
+#: cppexp.c:1551
+msgid "division by zero in #if"
msgstr ""
-#: ch/decl.c:1067
+#: cppfiles.c:411
#, c-format
-msgid "value for loc-identity `%s' is not a location"
-msgstr ""
+msgid "%s is too large"
+msgstr "%s är för stor"
-#: ch/decl.c:1074
+#: cppfiles.c:447
#, c-format
-msgid "location for `%s' not read-compatible"
-msgstr ""
+msgid "%s is shorter than expected"
+msgstr "%s är kortare än förväntat"
-#: ch/decl.c:1101
+#: cppfiles.c:461
#, c-format
-msgid "nonconstant initializer for `%s'"
-msgstr ""
+msgid "%s is a block device"
+msgstr "%s är en blockenhet"
-#: ch/decl.c:1132
-msgid "do_decl: internal error: don't know what to initialize"
+#: cppfiles.c:594
+#, c-format
+msgid "no include path in which to find %s"
msgstr ""
-#: ch/decl.c:1189
-msgid "RECURSIVE PROCs"
+#: cppfiles.c:668
+msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: ch/decl.c:1445
+#: cppfiles.c:1014
+msgid "absolute file name in remap_filename"
+msgstr "absolut filnamn i remap_filename"
+
+#: cppinit.c:224
#, c-format
-msgid "`%s' must not be READonly"
+msgid "ignoring nonexistent directory \"%s\"\n"
+msgstr "ignorerar ej existerande katalog \"%s\"\n"
+
+#: cppinit.c:231
+#, c-format
+msgid "%s: Not a directory"
+msgstr "%s: Inte en katalog"
+
+#: cppinit.c:287
+#, c-format
+msgid "ignoring duplicate directory \"%s\"\n"
msgstr ""
-#: ch/decl.c:1471
-msgid "POS may not be specified for a list of field declarations"
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
msgstr ""
-#: ch/decl.c:1525
-msgid "(ELSE) case label as well as ELSE variant"
+#: cppinit.c:891
+#, fuzzy
+msgid "cppchar_t must be an unsigned type"
+msgstr "predikat måste vara en identifierare"
+
+#: cppinit.c:895
+#, c-format
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: ch/decl.c:1610 ch/decl.c:1613
-msgid "inconsistent modes between labels and tag field"
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: ch/decl.c:1618
-msgid "too few tag labels"
+#: cppinit.c:904
+msgid "target char is less than 8 bits wide"
msgstr ""
-#: ch/decl.c:1620
-msgid "too many tag labels"
+#: cppinit.c:908
+msgid "target wchar_t is narrower than target char"
msgstr ""
-#: ch/decl.c:1658
-msgid "case label lower limit is not a discrete constant expression"
+#: cppinit.c:912
+msgid "target int is narrower than target char"
msgstr ""
-#: ch/decl.c:1660
-msgid "case label upper limit is not a discrete constant expression"
+#: cppinit.c:916
+msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: ch/decl.c:1670
-msgid "case label must be a discrete constant expression"
+#: 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 ""
-#: ch/decl.c:1697
-msgid "variant label declared here..."
+#: cppinit.c:972
+msgid "#include \"...\" search starts here:\n"
+msgstr "#include \"...\" sökning startar här:\n"
+
+#: cppinit.c:976
+msgid "#include <...> search starts here:\n"
+msgstr "#include <...> sökning startar här:\n"
+
+#: cppinit.c:979
+msgid "End of search list.\n"
+msgstr "Slut på söklistan.\n"
+
+#: cppinit.c:1055
+#, fuzzy
+msgid "<built-in>"
+msgstr "<inbyggd>"
+
+#: cppinit.c:1057
+msgid "<command line>"
msgstr ""
-#: ch/decl.c:1699
-msgid "...is duplicated here"
+#. 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:1162
+#, fuzzy, c-format
+msgid "assertion missing after %s"
+msgstr "Makronamn saknas efter %s"
+
+#: cppinit.c:1163
+#, fuzzy, c-format
+msgid "directory name missing after %s"
+msgstr "Katalognamn saknas efter %s"
+
+#: cppinit.c:1164
+#, fuzzy, c-format
+msgid "file name missing after %s"
+msgstr "Filnamn saknas efter %s"
+
+#: cppinit.c:1165
+#, fuzzy, c-format
+msgid "macro name missing after %s"
+msgstr "Makronamn saknas efter %s"
+
+#: cppinit.c:1166
+#, fuzzy, c-format
+msgid "path name missing after %s"
+msgstr "Sökväg saknas efter %s"
+
+#: cppinit.c:1368
+msgid "-I- specified twice"
+msgstr "-I- angiven två gånger"
+
+#: cpplex.c:149
+#, c-format
+msgid "trigraph ??%c converted to %c"
msgstr ""
-#: ch/decl.c:1729
+#: cpplex.c:157
#, c-format
-msgid "no field (yet) for tag %s"
+msgid "trigraph ??%c ignored"
msgstr ""
-#: ch/decl.c:1824
-msgid "non-value mode may only returned by LOC"
+#: cpplex.c:214
+msgid "backslash and newline separated by space"
msgstr ""
-#: ch/decl.c:1847
-#, c-format
-msgid "mode of `%s' is not a mode"
+#: cpplex.c:221 cpptrad.c:158
+msgid "backslash-newline at end of file"
msgstr ""
-#: ch/decl.c:1853
-#, c-format
-msgid "`%s' may only be passed by LOC"
+#: cpplex.c:287 cpptrad.c:199
+msgid "\"/*\" within comment"
+msgstr "\"/*\" i kommentar"
+
+#: cpplex.c:395
+msgid "null character(s) ignored"
msgstr ""
-#: ch/decl.c:2281
+#: cpplex.c:402
#, c-format
-msgid "Nothing named `%s' to grant."
-msgstr ""
+msgid "%s in preprocessing directive"
+msgstr "%s i preprocessordirektiv"
-#: ch/decl.c:2321
+#: cpplex.c:475
#, c-format
-msgid "duplicate grant for `%s'"
+msgid "attempt to use poisoned \"%s\""
+msgstr "försök att använda förgiftad \"%s\""
+
+#: cpplex.c:483
+msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: ch/decl.c:2322
+#: cpplex.c:555
+#, fuzzy
+msgid "'$' character(s) in identifier or number"
+msgstr "tecknet '$' i en identifierare"
+
+#: cpplex.c:698
#, c-format
-msgid "previous grant for `%s'"
+msgid "missing terminating %c character"
+msgstr ""
+
+#: cpplex.c:711
+msgid "null character(s) preserved in literal"
+msgstr ""
+
+#: cpplex.c:915 cpptrad.c:487
+msgid "no newline at end of file"
+msgstr "inget nyradstecken vid slutet av filen"
+
+#: cpplex.c:1092 cpptrad.c:213
+msgid "unterminated comment"
+msgstr "ej avslutad kommentar"
+
+#: cpplex.c:1103
+#, fuzzy
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr "C++ kommentarer tillåts inte av ISO C89"
+
+#: cpplex.c:1105
+msgid "(this will be reported only once per input file)"
msgstr ""
-#: ch/decl.c:2409
+#: cpplex.c:1110
+msgid "multi-line comment"
+msgstr ""
+
+#: cpplex.c:1425
+#, fuzzy, c-format
+msgid "unknown string token %s\n"
+msgstr "okänt registernamn: %s"
+
+#: cpplex.c:1438
+#, fuzzy, c-format
+msgid "unspellable token %s"
+msgstr "kan inte öppna fil \"%s\""
+
+#: cpplex.c:1695
+#, fuzzy, c-format
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr "semantiken för \"\\%c\" varierar med -traditional"
+
+#: cpplex.c:1701
+msgid "incomplete universal-character-name"
+msgstr ""
+
+#: cpplex.c:1715
#, c-format
-msgid "duplicate definition `%s'"
+msgid "non-hex digit '%c' in universal-character-name"
+msgstr ""
+
+#: cpplex.c:1723
+msgid "universal-character-name on EBCDIC target"
msgstr ""
-#: ch/decl.c:2410
+#: cpplex.c:1737
+msgid "universal-character-name out of range"
+msgstr ""
+
+#: cpplex.c:1791
+#, fuzzy
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr "semantiken för \"\\a\" varierar med -traditional"
+
+#: cpplex.c:1798
#, c-format
-msgid "previous definition of `%s'"
+msgid "non-ISO-standard escape sequence, '\\%c'"
+msgstr ""
+
+#: cpplex.c:1809
+#, fuzzy
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "semantiken för \"\\x\" varierar med -traditional"
+
+#: cpplex.c:1828 f/lex.c:585
+msgid "\\x used with no following hex digits"
msgstr ""
-#: ch/decl.c:3248 ch/decl.c:3258
+#: cpplex.c:1833
+msgid "hex escape sequence out of range"
+msgstr ""
+
+#: cpplex.c:1858
+msgid "octal escape sequence out of range"
+msgstr ""
+
+#: cpplex.c:1874
#, c-format
-msgid "ambiguous choice for seize `%s' -"
+msgid "unknown escape sequence '\\%c'"
+msgstr "okänd escape-sekvens \"\\%c\""
+
+#: cpplex.c:1877
+#, fuzzy, c-format
+msgid "unknown escape sequence: '\\%03o'"
+msgstr "okänd escape-sekvens \"\\%c\""
+
+#: cpplex.c:1882
+#, fuzzy
+msgid "escape sequence out of range for its type"
+msgstr "escape-sekvens ryms ej i ett tecken"
+
+#: cpplex.c:1973
+msgid "empty character constant"
+msgstr "tom teckenkonstant"
+
+#: cpplex.c:1983
+#, fuzzy
+msgid "character constant too long for its type"
+msgstr "teckenkonstant för lång"
+
+#: cpplex.c:1986
+msgid "multi-character character constant"
+msgstr "flerteckens teckenkonstant"
+
+#: cpplib.c:225
+#, c-format
+msgid "extra tokens at end of #%s directive"
msgstr ""
-#: ch/decl.c:3249 ch/decl.c:3259
+#: cpplib.c:315
#, c-format
-msgid " - can seize this `%s' -"
+msgid "#%s is a GCC extension"
+msgstr "#%s är en GCC-utvidgning"
+
+#: cpplib.c:327
+msgid "suggest not using #elif in traditional C"
msgstr ""
-#: ch/decl.c:3250 ch/decl.c:3261
+#: cpplib.c:330
#, c-format
-msgid " - or this granted decl `%s'"
+msgid "traditional C ignores #%s with the # indented"
+msgstr "traditionell C ignorerar #%s dör tecknet # är indenterat"
+
+#: cpplib.c:334
+#, c-format
+msgid "suggest hiding #%s from traditional C with an indented #"
+msgstr ""
+
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: ch/decl.c:4430
+#: cpplib.c:378
+#, fuzzy
+msgid "style of line directive is a GCC extension"
+msgstr "#%s är en GCC-utvidgning"
+
+#: cpplib.c:427
#, c-format
-msgid "enumerator value for `%s' is less then 0"
+msgid "invalid preprocessing directive #%s"
+msgstr ""
+
+#: cpplib.c:499
+msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: ch/decl.c:4512
+#: cpplib.c:505
#, c-format
-msgid "enumerators `%s' and `%s' have equal values"
+msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: ch/decl.c:4618
-msgid "undefined value in SET mode is obsolete and deprecated."
+#: cpplib.c:508
+#, c-format
+msgid "no macro name given in #%s directive"
msgstr ""
-#: ch/decl.c:4794
-msgid "BASE variable never declared"
+#: cpplib.c:511
+msgid "macro names must be identifiers"
msgstr ""
-#: ch/decl.c:4796
-msgid "cannot BASE a variable on a PROC/PROCESS name"
+#: cpplib.c:551
+#, c-format
+msgid "undefining \"%s\""
msgstr ""
-#: ch/decl.c:4848
-msgid "INTERNAL ERROR: handle_one_level is broken"
+#: cpplib.c:597
+msgid "missing terminating > character"
+msgstr "saknar avslutande tecken >"
+
+#: cpplib.c:636
+#, c-format
+msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: ch/expr.c:126
+#: cpplib.c:647
#, c-format
-msgid "tuple without specified mode not allowed in %s"
+msgid "empty file name in #%s"
+msgstr "tomt filnamn i #%s"
+
+#: cpplib.c:666
+msgid "#include_next in primary source file"
msgstr ""
-#: ch/expr.c:128
+#: cpplib.c:673
+msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+msgstr "#import är obsolet, använd #ifndef-omslutning i includefilen"
+
+#: cpplib.c:681
+msgid "#include nested too deeply"
+msgstr "#include nästlad för djupt"
+
+#: cpplib.c:738
#, c-format
-msgid "conditional expression not allowed in %s"
+msgid "invalid flag \"%s\" in line directive"
+msgstr "ogiltigt flagga \"%s\" i line-direktiv"
+
+#: cpplib.c:813
+#, c-format
+msgid "\"%s\" after #line is not a positive integer"
+msgstr "\"%s\" efter #line är inte ett positivt heltal"
+
+#: cpplib.c:819
+msgid "line number out of range"
+msgstr "radnummer utanför möjligt intervall"
+
+#: cpplib.c:830 cpplib.c:901
+#, c-format
+msgid "\"%s\" is not a valid filename"
+msgstr "\"%s\" är inte ett giltigt filnamn"
+
+#: cpplib.c:865
+#, fuzzy, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr "\"%s\" efter #line är inte ett positivt heltal"
+
+#: cpplib.c:972
+#, fuzzy
+msgid "invalid #ident directive"
+msgstr "ogiltig #indent"
+
+#: cpplib.c:1060
+#, c-format
+msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: ch/expr.c:130
+#: cpplib.c:1063
+#, fuzzy, c-format
+msgid "#pragma %s %s is already registered"
+msgstr "Klass \"%s\" finns redan"
+
+#: cpplib.c:1066
#, c-format
-msgid "internal error: unknown expression mode in %s"
+msgid "#pragma %s is already registered"
msgstr ""
-#: ch/expr.c:147
-msgid "CASE selector is not a discrete expression"
+#: cpplib.c:1140
+msgid "#pragma once is obsolete"
+msgstr "#pragma once är obsolet"
+
+#: cpplib.c:1143
+msgid "#pragma once in main file"
+msgstr "#pragma once i huvudfil"
+
+#: cpplib.c:1167
+msgid "invalid #pragma GCC poison directive"
+msgstr "ogiltigt GCC-direktiv #pragma poison"
+
+#: cpplib.c:1176
+#, c-format
+msgid "poisoning existing macro \"%s\""
+msgstr "förgiftar existerande makro \"%s\""
+
+#: cpplib.c:1198
+msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: ch/expr.c:594
-msgid "powerset is not addressable"
+#: cpplib.c:1223
+#, c-format
+msgid "cannot find source %s"
+msgstr "kan inte hitta källfil %s"
+
+#: cpplib.c:1227
+#, c-format
+msgid "current file is older than %s"
+msgstr "aktuell fil är äldre än %s"
+
+#: cpplib.c:1343
+msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: ch/expr.c:639
-msgid "array is not addressable"
+#: cpplib.c:1426
+msgid "#else without #if"
+msgstr "#else utan #if"
+
+#: cpplib.c:1431
+msgid "#else after #else"
+msgstr "#else efter #else"
+
+#: cpplib.c:1433 cpplib.c:1467
+msgid "the conditional began here"
+msgstr "villkorssatsen började här"
+
+#: cpplib.c:1460
+msgid "#elif without #if"
+msgstr "#elif utan #if"
+
+#: cpplib.c:1465
+msgid "#elif after #else"
+msgstr "#elif efter #else"
+
+#: cpplib.c:1496
+msgid "#endif without #if"
+msgstr "#endif utan #if"
+
+#: cpplib.c:1579
+msgid "missing '(' after predicate"
+msgstr "saknas '(' efter predikat"
+
+#: cpplib.c:1594
+msgid "missing ')' to complete answer"
+msgstr "saknas ')' för att avsluta svaret"
+
+#: cpplib.c:1614
+msgid "predicate's answer is empty"
+msgstr "predikatets svar är tomt"
+
+#: cpplib.c:1644
+msgid "assertion without predicate"
msgstr ""
-#: ch/expr.c:687
+#: cpplib.c:1646
+msgid "predicate must be an identifier"
+msgstr "predikat måste vara en identifierare"
+
+#: cpplib.c:1735
#, c-format
-msgid "Too few arguments in call to `%s'"
+msgid "\"%s\" re-asserted"
msgstr ""
-#: ch/expr.c:689
+#: cpplib.c:1965
#, c-format
-msgid "Too many arguments in call to `%s'"
+msgid "unterminated #%s"
msgstr ""
-#: ch/expr.c:758
-msgid "cannot dereference, not a pointer."
+#: cppmacro.c:94
+#, fuzzy, c-format
+msgid "macro \"%s\" is not used"
+msgstr "\"%s\" är inte definierad"
+
+#: cppmacro.c:139 cppmacro.c:294
+#, fuzzy, c-format
+msgid "invalid built-in macro \"%s\""
+msgstr "förgiftar existerande makro \"%s\""
+
+#: cppmacro.c:234
+#, fuzzy
+msgid "could not determine date and time"
+msgstr "Kunde inte öppna datafil %s.\n"
+
+#: cppmacro.c:407
+msgid "invalid string literal, ignoring final '\\'"
msgstr ""
-#: ch/expr.c:768
+#: cppmacro.c:504
#, c-format
-msgid "missing '.' operator or undefined mode name `%s'."
+msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: ch/expr.c:771
-msgid "You have forgotten the '.' operator which must"
+#: cppmacro.c:546
+msgid "ISO C99 requires rest arguments to be used"
msgstr ""
-#: ch/expr.c:772
+#: cppmacro.c:551
#, c-format
-msgid " precede a STRUCT field reference, or `%s' is an undefined mode"
+msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: ch/expr.c:786
-msgid "Can't dereference PTR value using unary `->'."
+#: cppmacro.c:556
+#, c-format
+msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: ch/expr.c:831
-msgid "invalid type argument of `->'"
+#: cppmacro.c:669 cpptrad.c:774
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: ch/expr.c:856 ch/expr.c:969
-msgid "operand of '.' is not a STRUCT"
+#: cppmacro.c:776
+#, c-format
+msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: ch/expr.c:909
+#: cppmacro.c:1312
#, c-format
-msgid "No field named `%s'"
+msgid "duplicate macro parameter \"%s\""
msgstr ""
-#: ch/expr.c:1217
-msgid "ABS argument must be discrete or real mode"
+#: cppmacro.c:1349
+#, c-format
+msgid "\"%s\" may not appear in macro parameter list"
msgstr ""
-#: ch/expr.c:1250
-#, c-format
-msgid "argument %d to ABSTIME must be of integer type."
+#: cppmacro.c:1357
+msgid "macro parameters must be comma-separated"
msgstr ""
-#: ch/expr.c:1288 ch/expr.c:1329
-msgid "parameter 1 must be referable."
+#: cppmacro.c:1374
+msgid "parameter name missing"
+msgstr "parameternamn saknas"
+
+#: cppmacro.c:1389
+msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: ch/expr.c:1294 ch/expr.c:1335 ch/expr.c:1372
-msgid "mode mismatch in parameter 1."
+#: cppmacro.c:1393
+msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: ch/expr.c:1301 ch/expr.c:1342
-msgid "parameter 2 must be a positive integer."
+#: cppmacro.c:1402
+msgid "missing ')' in macro parameter list"
msgstr ""
-#: ch/expr.c:1436
-msgid "CARD argument must be powerset mode"
+#: cppmacro.c:1470
+msgid "ISO C requires whitespace after the macro name"
msgstr ""
-#: ch/expr.c:1487
-msgid "expression for DESCR-builtin must be referable."
+#: cppmacro.c:1498
+msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: ch/expr.c:1535
+#: cppmacro.c:1517
+msgid "'##' cannot appear at either end of a macro expansion"
+msgstr ""
+
+#: cppmacro.c:1599
+#, c-format
+msgid "\"%s\" redefined"
+msgstr "\"%s\" omdefinierad"
+
+#: cppmacro.c:1604
+msgid "this is the location of the previous definition"
+msgstr "detta är platsen för den tidigare definitionen"
+
+#: cppmacro.c:1655
#, c-format
-msgid "argument to `%s' must be of integer type."
+msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: ch/expr.c:1568
+#: cppmacro.c:1680
#, c-format
-msgid "argument 1 to `%s' must be of floating point mode"
+msgid "invalid hash type %d in cpp_macro_definition"
msgstr ""
-#: ch/expr.c:1602
+#: cppspec.c:131
#, c-format
-msgid "First argument to `%s' must be a mode"
+msgid "\"%s\" is not a valid option to the preprocessor"
msgstr ""
-#: ch/expr.c:1609
+#: cppspec.c:155
+msgid "too many input files"
+msgstr "för många indatafiler"
+
+#: cpptrad.c:841
#, c-format
-msgid "READonly modes for %s must have a value"
+msgid "detected recursion whilst expanding macro \"%s\""
msgstr ""
-#: ch/expr.c:1692
-msgid "argument to TERMINATE must be a reference primitive value"
+#: cse.c:7187
+#, c-format
+msgid ";; Processing block from %d to %d, %d sets.\n"
msgstr ""
-#: ch/expr.c:1741
-msgid "argument 1 to INTTIME must be of mode TIME."
+#: diagnostic.c:700
+msgid "((anonymous))"
+msgstr "((anonym))"
+
+#: diagnostic.c:914
+#, c-format
+msgid "%s: warnings being treated as errors\n"
msgstr ""
-#: ch/expr.c:1782
+#: diagnostic.c:949
#, c-format
-msgid "%s."
-msgstr "%s."
+msgid "%s: %s: "
+msgstr "%s: %s: "
-#: ch/expr.c:1888
-msgid ""
-"LENGTH argument must be string, buffer, event mode, text location or mode"
-msgstr ""
+#: diagnostic.c:1040
+#, c-format
+msgid "%s "
+msgstr "%s "
+
+#: diagnostic.c:1042
+#, c-format
+msgid " %s"
+msgstr " %s"
+
+#: diagnostic.c:1064
+msgid "At top level:"
+msgstr "På toppnivå:"
-#: ch/expr.c:1917
-msgid "UPPER argument must have a mode, or be a mode"
+#: diagnostic.c:1069
+#, fuzzy, c-format
+msgid "In member function `%s':"
+msgstr "I funktion `%s':"
+
+#: diagnostic.c:1073
+#, c-format
+msgid "In function `%s':"
+msgstr "I funktion `%s':"
+
+#: diagnostic.c:1161
+msgid "compilation terminated.\n"
+msgstr "kompilering avslutad.\n"
+
+#: diagnostic.c:1179
+#, c-format
+msgid "%s:%d: confused by earlier errors, bailing out\n"
msgstr ""
-#: ch/expr.c:1919
-msgid "LOWER argument must have a mode, or be a mode"
+#: diagnostic.c:1194 diagnostic.c:1302
+#, c-format
+msgid ""
+"Please submit a full bug report,\n"
+"with preprocessed source if appropriate.\n"
+"See %s for instructions.\n"
msgstr ""
+"Var vänlig och skicka in en komplett felrapport,\n"
+"om möjligt med preprocessad källfil.\n"
+"Se %s för instruktioner.\n"
+
+#: diagnostic.c:1300
+msgid "Internal compiler error: Error reporting routines re-entered.\n"
+msgstr "Internt kompilatorfel: Felhanteringsrutiner återanropade.\n"
-#: ch/expr.c:1953
-msgid "UPPER argument must be string, array, mode or integer"
+#: diagnostic.c:1362
+#, c-format
+msgid "in %s, at %s:%d"
msgstr ""
-#: ch/expr.c:1955
-msgid "LOWER argument must be string, array, mode or integer"
+#: diagnostic.c:1383
+#, c-format
+msgid "In file included from %s:%d"
+msgstr "I fil includerad från %s:%d"
+
+#: diagnostic.c:1386
+#, c-format
+msgid ""
+",\n"
+" from %s:%d"
msgstr ""
+",\n"
+" från %s:%d"
-#: ch/expr.c:1991
+#: diagnostic.c:1387
+msgid ":\n"
+msgstr ":\n"
+
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
-msgid "%s argument must be POWERSET mode"
+msgid "`%s' is deprecated (declared at %s:%d)"
msgstr ""
-#: ch/expr.c:2017
+#: diagnostic.c:1451
+#, fuzzy, c-format
+msgid "`%s' is deprecated"
+msgstr "tredje argumentet till \"%s\" är inte länge rekommenderat"
+
+#: diagnostic.c:1454
#, c-format
-msgid "%s called for empty POWERSET"
+msgid "type is deprecated (declared at %s:%d)"
msgstr ""
-#: ch/expr.c:2098
-msgid "argument to NUM is not discrete"
+#: diagnostic.c:1457
+msgid "type is deprecated"
msgstr ""
-#: ch/expr.c:2110
-msgid "No integer mode which matches expression's mode"
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
msgstr ""
-#: ch/expr.c:2119
-msgid "NUM's parameter is below its mode range"
+#: dwarf2out.c:3124
+#, fuzzy, c-format
+msgid "DW_LOC_OP %s not implemented\n"
+msgstr "DW_LOC_OP %s är inte implementerad\n"
+
+#: dwarfout.c:2066
+#, c-format
+msgid "internal regno botch: `%s' has regno = %d\n"
msgstr ""
-#: ch/expr.c:2122
-msgid "NUM's parameter is above its mode range"
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
msgstr ""
-#: ch/expr.c:2161
-msgid "Cannot take SUCC or PRED of a numbered SET"
+#: dwarfout.c:6278
+msgid "can't get current directory"
msgstr ""
-#: ch/expr.c:2169
-msgid "SUCC or PRED must not be done on a PTR."
+#: emit-rtl.c:1151
+msgid "can't access real part of complex value in hard register"
msgstr ""
-#: ch/expr.c:2172
-msgid "SUCC or PRED for a reference type is not standard."
+#: emit-rtl.c:1173
+msgid "can't access imaginary part of complex value in hard register"
msgstr ""
-#: ch/expr.c:2182
-msgid "SUCC or PRED argument must be a discrete mode"
+#: emit-rtl.c:3418
+msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr ""
-#: ch/expr.c:2203
+#: errors.c:136
#, c-format
-msgid "Taking the %s of a value already at its %s value"
+msgid "abort in %s, at %s:%d"
msgstr ""
-#: ch/expr.c:2254
-msgid "size applied to a function mode"
+#: except.c:371
+msgid "exception handling disabled, use -fexceptions to enable"
msgstr ""
-#: ch/expr.c:2260
-msgid "sizeof applied to a void mode"
+#: except.c:2969
+msgid "argument of `__builtin_eh_return_regno' must be constant"
+msgstr "argumentet till \"__builtin_eh_return_regno\" måste vara konstant"
+
+#: except.c:3090 except.c:3112
+msgid "__builtin_eh_return not supported on this target"
+msgstr "__builtin_eh_return stöds inte på denna målarkitektur"
+
+#: explow.c:1398
+msgid "stack limits not supported on this target"
msgstr ""
-#: ch/expr.c:2265
-msgid "sizeof applied to an incomplete mode"
+#: expr.c:3323
+msgid "function using short complex types cannot be inline"
msgstr ""
-#: ch/expr.c:2360
-msgid "cannot call a PROCESS, you START a PROCESS"
+#: expr.c:6197 expr.c:6206 expr.c:6215 expr.c:6220 expr.c:6522 expr.c:6538
+msgid "unsupported wide integer operation"
msgstr ""
-#: ch/expr.c:2422
+#: expr.c:6587
#, c-format
-msgid "invalid %s"
+msgid "prior parameter's size depends on `%s'"
+msgstr "föregående parameterns storlek beror på \"%s\""
+
+#: expr.c:6932
+msgid "returned value in block_exit_expr"
msgstr ""
-#: ch/expr.c:2437
-#, c-format
-msgid "%s parameter %d must be a location"
+#: final.c:1342
+msgid "negative insn length"
msgstr ""
-#: ch/expr.c:2445
-#, c-format
-msgid "%s parameter %d is READ-only"
+#: final.c:2793
+msgid "could not split insn"
msgstr ""
-#: ch/expr.c:2488
-#, c-format
-msgid "LOC actual parameter %d is a non-referable location"
+#: final.c:3141
+#, fuzzy
+msgid "invalid `asm': "
+msgstr "ogiltig \"asm\": %s"
+
+#: final.c:3328
+msgid "nested assembly dialect alternatives"
msgstr ""
-#: ch/expr.c:2494
-#, c-format
-msgid "mode mismatch in parameter %d"
+#: final.c:3345 final.c:3357
+msgid "unterminated assembly dialect alternative"
msgstr ""
-#: ch/expr.c:2518
-#, c-format
-msgid "too many arguments to procedure `%s'"
-msgstr "för många argument till proceduren \"%s\""
+#: final.c:3401
+#, fuzzy, c-format
+msgid "operand number missing after %%-letter"
+msgstr "Nummer saknas efter %s"
-#: ch/expr.c:2521
-msgid "too many arguments to procedure"
-msgstr "för många argument till procedur"
+#: final.c:3404 final.c:3443
+msgid "operand number out of range"
+msgstr ""
-#: ch/expr.c:2527
+#: final.c:3462
#, c-format
-msgid "too few arguments to procedure `%s'"
-msgstr "för få argument till proceduren \"%s\""
+msgid "invalid %%-code"
+msgstr "ogiltig %%-kod"
-#: ch/expr.c:2530
-msgid "too few arguments to procedure"
-msgstr "för få argument till procedur"
+#: final.c:3493
+#, c-format
+msgid "`%%l' operand isn't a label"
+msgstr ""
-#: ch/expr.c:2596
-msgid "syntax error (integer used as function)"
+#. We can't handle floating point constants;
+#. PRINT_OPERAND must handle them.
+#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6104
+#: config/pdp11/pdp11.c:1573
+msgid "floating constant misused"
msgstr ""
-#: ch/expr.c:2616
-msgid "syntax error - missing operator, comma, or '('?"
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6182
+#: config/pdp11/pdp11.c:1620
+msgid "invalid expression as operand"
msgstr ""
-#: ch/expr.c:2977
-#, c-format
-msgid "unimplemented builtin function `%s'"
+#: flow.c:352
+msgid "function might be possible candidate for attribute `noreturn'"
+msgstr "funktionen är en möjlig kandidat för attributet \"noreturn\""
+
+#: flow.c:357
+msgid "`noreturn' function does return"
+msgstr "\"noreturn\"-funktion returnerar ändå"
+
+#: flow.c:378
+msgid "control reaches end of non-void function"
+msgstr "Programflödet når slutet på en icke-void-funktion"
+
+#: flow.c:1641
+msgid "Attempt to delete prologue/epilogue insn:"
msgstr ""
-#: ch/expr.c:2981
+#: fold-const.c:2545 fold-const.c:2558
+#, fuzzy, c-format
+msgid "comparison is always %d due to width of bit-field"
+msgstr "jämförelsen är alltid sann på grund av begränsat intervall för datatypen"
+
+#: fold-const.c:3752 fold-const.c:3769
#, c-format
-msgid "internal error - bad builtin function `%s'"
-msgstr ""
+msgid "comparison is always %d"
+msgstr "jämförelsen är alltid %d"
-#: ch/expr.c:2995
-msgid "empty expression in string index"
+#: fold-const.c:3900
+msgid "`or' of unmatched not-equal tests is always 1"
msgstr ""
-#: ch/expr.c:3000
-msgid "only one expression allowed in string index"
+#: fold-const.c:3905
+msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr ""
-#: ch/expr.c:3017
-msgid "invalid: primval ( untyped_exprlist )"
-msgstr ""
+#: function.c:881 varasm.c:1503
+#, c-format
+msgid "size of variable `%s' is too large"
+msgstr "storleken på variabel \"%s\" är för stor"
-#: ch/expr.c:3081 ch/expr.c:3095
-msgid "operand is variable-size bitstring/power-set"
+#: function.c:5470
+#, c-format
+msgid "`%s' might be used uninitialized in this function"
msgstr ""
-#: ch/expr.c:3245
+#: function.c:5477
#, c-format
-msgid "tree code `%s' unhandled in build_compare_set_expr"
+msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: ch/expr.c:3410
-msgid "incompatible modes in concat expression"
+#: function.c:5496
+#, c-format
+msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr ""
-#: ch/expr.c:3459
-msgid "Invalid operation on array of chars"
+#: function.c:6363
+msgid "function returns an aggregate"
msgstr ""
-#: ch/expr.c:3504
-msgid "comparison of variant structures is unsafe"
-msgstr ""
+#: function.c:6868
+#, c-format
+msgid "unused parameter `%s'"
+msgstr "oanvänd parameter \"%s\""
+
+#: gcc.c:1126
+#, fuzzy, c-format
+msgid "ambiguous abbreviation %s"
+msgstr "Tvetydig förkortning %s"
+
+#: gcc.c:1153
+#, fuzzy, c-format
+msgid "incomplete `%s' option"
+msgstr "Inkomplett flagga \"%s\""
-#: ch/expr.c:3511
-msgid "compare with variant records"
+#: gcc.c:1164
+#, fuzzy, c-format
+msgid "missing argument to `%s' option"
+msgstr "Saknar argument till flaggan \"%s\""
+
+#: gcc.c:1177
+#, fuzzy, c-format
+msgid "extraneous argument to `%s' option"
+msgstr "Saknar argument till flaggan \"%s\""
+
+#: gcc.c:1505
+msgid "Using built-in specs.\n"
msgstr ""
-#: ch/expr.c:3688 ch/expr.c:3924
+#: gcc.c:1683
#, c-format
-msgid "incompatible operands to %s"
+msgid ""
+"Setting spec %s to '%s'\n"
+"\n"
msgstr ""
-#: ch/expr.c:3740
-msgid "relational operator not allowed for this mode"
+#: gcc.c:1790
+#, c-format
+msgid "Reading specs from %s\n"
msgstr ""
-#: ch/expr.c:3794
+#: gcc.c:1888 gcc.c:1907
#, c-format
-msgid "Cannot use %s operator on PROC mode variable"
+msgid "specs %%include syntax malformed after %ld characters"
msgstr ""
-#: ch/expr.c:3800
+#: gcc.c:1915
+#, fuzzy, c-format
+msgid "could not find specs file %s\n"
+msgstr "Kunde inte öppna källkodsfil %s.\n"
+
+#: gcc.c:1932 gcc.c:1940 gcc.c:1949 gcc.c:1958
#, c-format
-msgid "invalid left operand of %s"
+msgid "specs %%rename syntax malformed after %ld characters"
msgstr ""
-#: ch/expr.c:3805 ch/expr.c:4357
+#: gcc.c:1967
#, c-format
-msgid "invalid right operand of %s"
+msgid "specs %s spec was not found to be renamed"
msgstr ""
-#: ch/expr.c:3819
-msgid "repetition expression must be constant"
+#: gcc.c:1974
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
msgstr ""
-#: ch/expr.c:3829
-msgid "left argument to MOD/REM operator must be integral"
+#: gcc.c:1979
+#, c-format
+msgid "rename spec %s to %s\n"
msgstr ""
-#: ch/expr.c:3834
-msgid "right argument to MOD/REM operator must be integral"
+#: gcc.c:1981
+#, c-format
+msgid ""
+"spec is '%s'\n"
+"\n"
msgstr ""
-#: ch/expr.c:3891
-msgid "right operand of IN is not a powerset"
+#: gcc.c:1994
+#, c-format
+msgid "specs unknown %% command after %ld characters"
msgstr ""
-#: ch/expr.c:3896
-msgid "left operand of IN incompatible with right operand"
+#: gcc.c:2005 gcc.c:2018
+#, c-format
+msgid "specs file malformed after %ld characters"
msgstr ""
-#: ch/expr.c:3951
-msgid "division by zero"
+#: gcc.c:2072
+msgid "spec file has no spec for linking"
+msgstr "specfilen har ingen spec för länkning"
+
+#: gcc.c:2570
+msgid "-pipe not supported"
+msgstr "-pipe stöds inte"
+
+#: gcc.c:2625
+msgid ""
+"\n"
+"Go ahead? (y or n) "
msgstr ""
+"\n"
+"Fortsätta? (y eller n) "
-#: ch/expr.c:3987
-msgid "-> operator not allow in constant expression"
+#: gcc.c:2751
+#, c-format
+msgid ""
+"Internal error: %s (program %s)\n"
+"Please submit a full bug report.\n"
+"See %s for instructions."
msgstr ""
+"Internt fel: %s (program %s)\n"
+"Var vänlig och skicka in en felrapport.\n"
+"Se %s för instruktioner."
+
+#: gcc.c:2769
+#, c-format
+msgid "# %s %.2f %.2f\n"
+msgstr "# %s %.2f %.2f\n"
+
+#: gcc.c:2899
+#, c-format
+msgid "Usage: %s [options] file...\n"
+msgstr "Användning: %s [flaggor] fil...\n"
+
+#: gcc.c:2900
+msgid "Options:\n"
+msgstr "Flaggor:\n"
+
+#: gcc.c:2902
+msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+msgstr " -pass-exit-codes Avsluta med högsta felkoden från någon av faserna\n"
+
+#: gcc.c:2903
+msgid " --help Display this information\n"
+msgstr " --help Visa den här informatationen\n"
+
+#: gcc.c:2904
+msgid " --target-help Display target specific command line options\n"
+msgstr " --target-help Visa specifika kommandoradsflaggor för mål\n"
+
+#: gcc.c:2906
+msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+msgstr " (Använd '-v --help' för att visa kommandoradsflaggor för barnprocesser)\n"
+
+#: gcc.c:2907
+msgid " -dumpspecs Display all of the built in spec strings\n"
+msgstr " -dumpspecs Visa de inbyggda spec-strängarna\n"
+
+#: gcc.c:2908
+msgid " -dumpversion Display the version of the compiler\n"
+msgstr " -dumpversion Visa kompilatorns version\n"
+
+#: gcc.c:2909
+msgid " -dumpmachine Display the compiler's target processor\n"
+msgstr " -dumpmachine Visa kompilatorns målprocessor\n"
-#: ch/expr.c:4000
-msgid "taking the address of a string literal is non-standard"
+#: gcc.c:2910
+msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+msgstr " -print-search-dirs Visa katalogerna i kompilatorns sökväg\n"
+
+#: gcc.c:2911
+msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+msgstr " -print-libgcc-file-name Visa namnet på kompilatorns medföljande bibliotek\n"
+
+#: gcc.c:2912
+msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+msgstr " -print-file-name=<bib> Visa hela sökvägen till länkbibliotek <bib>\n"
+
+#: gcc.c:2913
+msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+msgstr " -print-prog-name=<prog> Visa fulla sökvägen till kompilatorkomponenten <prog>\n"
+
+#: gcc.c:2914
+msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+msgstr " -print-multi-directory Visa rotkatalogen för olika versioner av libgcc\n"
+
+#: gcc.c:2915
+msgid ""
+" -print-multi-lib Display the mapping between command line options and\n"
+" multiple library search directories\n"
msgstr ""
+" -print-multi-lib Visa mappningen mellan kommandoradsflaggor och\n"
+" multipla biblioteks sökkataloger\n"
-#: ch/expr.c:4002
-msgid "taking the address of a function is non-standard"
+#: gcc.c:2918
+#, fuzzy
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-directory Visa rotkatalogen för olika versioner av libgcc\n"
+
+#: gcc.c:2919
+msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+msgstr " -Wa,<flaggor> Skicka kommaseparerade <flaggor> till assembleraren\n"
+
+#: gcc.c:2920
+msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+msgstr " -Wp,<flaggor> Skicka kommaseparerade <flaggor> till preprocessorn\n"
+
+#: gcc.c:2921
+msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+msgstr " -Wl,<flaggor> Skicka kommaseparerade <flaggor> till länkaren\n"
+
+#: gcc.c:2922
+msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+msgstr " -Xlinker <arg> Skicka <arg> vidare till länkaren\n"
+
+#: gcc.c:2923
+msgid " -save-temps Do not delete intermediate files\n"
+msgstr " -save-temps Radera inte temporära filer\n"
+
+#: gcc.c:2924
+msgid " -pipe Use pipes rather than intermediate files\n"
+msgstr " -pipe Använd rör istället för temporära filer\n"
+
+#: gcc.c:2925
+msgid " -time Time the execution of each subprocess\n"
+msgstr " -time Mät tiden det tar att exekvera varje barnprocess\n"
+
+#: gcc.c:2926
+#, fuzzy
+msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+msgstr " -specs=<fil> Använd innehållet i <fil> istället för inbyggda spec\n"
+
+#: gcc.c:2927
+msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+msgstr " -std=<standard> Antag att källkodsfilerna är för <standard>\n"
+
+#: gcc.c:2928
+msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+msgstr " -B <katalog> Lägg till <katalog> till kompilatorns sökvägar\n"
+
+#: gcc.c:2929
+msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+msgstr " -b <maskin> Kör gcc för mål <maskin>, om det är installerat\n"
+
+#: gcc.c:2930
+msgid " -V <version> Run gcc version number <version>, if installed\n"
+msgstr " -V <version> Kör gcc version <version>, om den är installerad\n"
+
+#: gcc.c:2931
+msgid " -v Display the programs invoked by the compiler\n"
+msgstr " -v Visa vilka program som körs av kompilatorn\n"
+
+#: gcc.c:2932
+msgid " -### Like -v but options quoted and commands not executed\n"
msgstr ""
-#: ch/expr.c:4005
-msgid "ADDR requires a LOCATION argument"
+#: gcc.c:2933
+msgid " -E Preprocess only; do not compile, assemble or link\n"
msgstr ""
+" -E Preprocessa bara; kompilera, assemblera och\n"
+" länka inte\n"
+
+#: gcc.c:2934
+msgid " -S Compile only; do not assemble or link\n"
+msgstr " -S Kompilera bara; assemblera och länka inte\n"
+
+#: gcc.c:2935
+msgid " -c Compile and assemble, but do not link\n"
+msgstr " -c Kompilera och assemblera, men länka inte\n"
+
+#: gcc.c:2936
+msgid " -o <file> Place the output into <file>\n"
+msgstr " -o <fil> Placera utdata i <fil>\n"
-#: ch/expr.c:4035
-msgid "-> expression is not addressable"
+#: gcc.c:2937
+#, fuzzy
+msgid ""
+" -x <language> Specify the language of the following input files\n"
+" Permissable languages include: c c++ assembler none\n"
+" 'none' means revert to the default behavior of\n"
+" guessing the language based on the file's extension\n"
msgstr ""
+" -x <språk> Specificera språk för de följande källkodsfilerna\n"
+" Tillåtna språk är bland annat: c c++ assembler none\n"
+" 'none' innebär att man använder standardmetoden,\n"
+" att man gissar språk beroende på filändelse\n"
-#: ch/expr.c:4062
-msgid "ADDR parameter must be a LOCATION"
+#: gcc.c:2944
+#, c-format
+msgid ""
+"\n"
+"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+" passed on to the various sub-processes invoked by %s. In order to pass\n"
+" other options on to these processes the -W<letter> options must be used.\n"
msgstr ""
+"\n"
+"Flaggor som börjar med -g, -f, -m, -O, -W eller --param skickas automatiskt\n"
+"vidare till de barnprocesser som startas av %s. För att skicka med andra\n"
+"flaggor till dessa processer måste flaggan -W<bokstav> användas.\n"
-#: ch/expr.c:4071
-msgid "possible internal error in build_chill_arrow_expr"
+#: gcc.c:3079
+#, fuzzy, c-format
+msgid "`-%c' option must have argument"
+msgstr "\"%s\" tar bara noll eller två argument"
+
+#: gcc.c:3101
+#, c-format
+msgid "couldn't run `%s': %s"
msgstr ""
-#: ch/expr.c:4076
+#. translate_options () has turned --version into -fversion.
+#: gcc.c:3278
#, c-format
-msgid "%s is not addressable"
+msgid "%s (GCC) %s\n"
msgstr ""
-#: ch/expr.c:4175
-msgid "repetition count is not an integer constant"
+#: gcc.c:3279
+msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
msgstr ""
-#: ch/expr.c:4183
-msgid "repetition count < 0"
+#: 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 ""
-#: ch/expr.c:4188
-msgid "repetition value not constant"
+#: gcc.c:3382
+msgid "argument to `-Xlinker' is missing"
+msgstr "argument till \"-Xlinker\" saknas"
+
+#: gcc.c:3390
+#, fuzzy
+msgid "argument to `-l' is missing"
+msgstr "argument till \"-x\" saknas"
+
+#: gcc.c:3407
+msgid "argument to `-specs' is missing"
+msgstr "argument till \"-specs\" saknas"
+
+#: gcc.c:3422
+msgid "argument to `-specs=' is missing"
+msgstr "argument till \"-specs=\" saknas"
+
+#: gcc.c:3452
+#, c-format
+msgid "`-%c' must come at the start of the command line"
msgstr ""
-#: ch/expr.c:4200
-msgid "bitstring repetition of non-constant boolean"
+#: gcc.c:3461
+msgid "argument to `-B' is missing"
+msgstr "argument till \"-B\" saknas"
+
+#: gcc.c:3634
+msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr ""
-#: ch/expr.c:4223
-msgid "string repetition operand is non-constant bitstring"
+#: gcc.c:3807
+#, fuzzy
+msgid "warning: -pipe ignored because -save-temps specified"
+msgstr "Varning: -pipe ignorerad eftersom -save-temps angiven"
+
+#: gcc.c:3811
+#, fuzzy
+msgid "warning: -pipe ignored because -time specified"
+msgstr "Varning: -pipe ignorerad eftersom -time angiven"
+
+#: gcc.c:3823
+msgid "argument to `-x' is missing"
+msgstr "argument till \"-x\" saknas"
+
+#: gcc.c:3851
+#, c-format
+msgid "argument to `-%s' is missing"
+msgstr "argument till \"-%s\" saknas"
+
+#: gcc.c:3912
+#, c-format
+msgid "warning: `-x %s' after last input file has no effect"
msgstr ""
-#: ch/expr.c:4283
-msgid "non-char, non-bit string repetition"
+#: gcc.c:4257
+msgid "invalid specification! Bug in cc"
msgstr ""
-#: ch/expr.c:4311
+#: gcc.c:4411
#, c-format
-msgid "invalid operand of %s"
-msgstr ""
+msgid "%s\n"
+msgstr "%s\n"
-#: ch/expr.c:4322
+#. 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:4971
#, c-format
-msgid "right operand of %s is not array of boolean"
+msgid "spec failure: '%%*' has not been initialized by pattern match"
msgstr ""
-#: ch/expr.c:4335
+#: gcc.c:4980
#, c-format
-msgid "%s operator applied to boolean variable"
+msgid "warning: use of obsolete %%[ operator in specs"
msgstr ""
-#: ch/expr.c:4406
-msgid "non-boolean mode in conditional expression"
+#: gcc.c:4998
+#, c-format
+msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr ""
-#: ch/grant.c:1977
-msgid "decode_constant: invalid component_ref"
-msgstr ""
+#: gcc.c:5123
+#, fuzzy, c-format
+msgid "spec failure: unrecognized spec option '%c'"
+msgstr "ej igenkänd flagga `-%s'"
+
+#: gcc.c:5204
+#, fuzzy, c-format
+msgid "unknown spec function `%s'"
+msgstr "I funktion `%s':"
-#: ch/grant.c:1985
-msgid "decode_constant: mode and value mismatch"
+#: gcc.c:5223
+#, fuzzy, c-format
+msgid "error in args to spec function `%s'"
+msgstr "för många argument till funktionen \"%s\""
+
+#: gcc.c:5272
+msgid "malformed spec function name"
msgstr ""
-#: ch/grant.c:1988
-msgid "decode_constant: cannot decode this mode"
+#. )
+#: gcc.c:5275
+#, fuzzy
+msgid "no arguments for spec function"
+msgstr "för få argument till funktion"
+
+#: gcc.c:5294
+msgid "malformed spec function arguments"
msgstr ""
-#: ch/grant.c:2213
-msgid "decode_constant_selective: mode and value mismatch"
+#: gcc.c:5402
+msgid "mismatched braces in specs"
msgstr ""
-#: ch/grant.c:2216
-msgid "decode_constant_selective: cannot decode this mode"
+#: gcc.c:6097
+#, c-format
+msgid "unrecognized option `-%s'"
+msgstr "ej igenkänd flagga `-%s'"
+
+#: gcc.c:6103
+#, c-format
+msgid "install: %s%s\n"
msgstr ""
-#: ch/grant.c:2651 ch/lex.c:217 ch/lex.c:2194 config/mips/mips.c:5801
-#: f/com.c:14549 graph.c:421 java/jcf-parse.c:929 java/jcf-parse.c:1065
-#: java/lex.c:1724 objc/objc-act.c:751 profile.c:906 profile.c:914
-#: toplev.c:1842 toplev.c:2226
+#: gcc.c:6104
#, c-format
-msgid "can't open %s"
-msgstr "kan inte öppna %s"
+msgid "programs: %s\n"
+msgstr "program: %s\n"
-#: ch/grant.c:2676 config/mips/mips.c:6127
+#: gcc.c:6105
#, c-format
-msgid "can't write to %s"
-msgstr "kan inte skriva till %s"
+msgid "libraries: %s\n"
+msgstr "bibliotek: %s\n"
-#: ch/grant.c:2763
-msgid "FORBID is not yet implemented"
+#: gcc.c:6162
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
msgstr ""
+"\n"
+"Instruktioner för bugrapportering, se:\n"
-#. this nerver should happen
-#: ch/grant.c:2824
+#: gcc.c:6178
#, c-format
-msgid "function \"really_grant_this\" called for `%s'."
+msgid "Configured with: %s\n"
msgstr ""
-#: ch/inout.c:1645
-msgid "non-integral text length"
+#: gcc.c:6192
+#, c-format
+msgid "Thread model: %s\n"
msgstr ""
-#: ch/inout.c:1650
-msgid "non-constant text length"
-msgstr ""
+#: gcc.c:6203
+#, c-format
+msgid "gcc version %s\n"
+msgstr "gcc version %s\n"
-#: ch/inout.c:1655
-msgid "text length must be greater then 0"
+#: gcc.c:6205
+#, c-format
+msgid "gcc driver version %s executing gcc version %s\n"
msgstr ""
-#: ch/inout.c:1755
+#: gcc.c:6213
+#, fuzzy
+msgid "no input files"
+msgstr "Inga indatafiler"
+
+#: gcc.c:6251
+#, c-format
+msgid "%s: %s compiler not installed on this system"
+msgstr "%s: kompilatorn %s är inte installerad på detta system"
+
+#: gcc.c:6326
#, c-format
-msgid "argument %d of %s must be of mode ASSOCIATION"
+msgid "%s: linker input file unused because linking not done"
msgstr ""
-#: ch/inout.c:1760 ch/inout.c:2146 ch/inout.c:2516 ch/inout.c:2751
+#: gcc.c:6369
#, c-format
-msgid "argument %d of %s must be a location"
+msgid "language %s not recognized"
+msgstr "språk %s känns inte igen"
+
+#: gcc.c:6472
+#, fuzzy
+msgid "internal gcc abort"
+msgstr "Intern gcc-halt (abort)."
+
+#: gcov.c:325
+msgid "Internal gcov abort.\n"
+msgstr ""
+
+#: gcov.c:338
+msgid ""
+"Usage: gcov [OPTION]... SOURCEFILE\n"
+"\n"
msgstr ""
-#: ch/inout.c:1795
-msgid "argument 2 of ASSOCIATE must not be an empty string"
+#: gcov.c:339
+#, fuzzy
+msgid ""
+"Print code coverage information.\n"
+"\n"
+msgstr "inte tillräcklig typinformation"
+
+#: gcov.c:340
+#, fuzzy
+msgid " -h, --help Print this help, then exit\n"
+msgstr " --help Visa den här informatationen\n"
+
+#: gcov.c:341
+#, fuzzy
+msgid " -v, --version Print version number, then exit\n"
+msgstr " -V <version> Kör gcc version <version>, om den är installerad\n"
+
+#: gcov.c:342
+msgid " -b, --branch-probabilities Include branch probabilities in output\n"
msgstr ""
-#: ch/inout.c:1811
-msgid "argument 2 to ASSOCIATE must be a string"
+#: gcov.c:343
+msgid ""
+" -c, --branch-counts Given counts of branches taken\n"
+" rather than percentages\n"
msgstr ""
-#: ch/inout.c:1850
-msgid "argument 3 to ASSOCIATE must be a string"
+#: gcov.c:345
+#, fuzzy
+msgid " -n, --no-output Do not create an output file\n"
+msgstr " -save-temps Radera inte temporära filer\n"
+
+#: gcov.c:346
+msgid ""
+" -l, --long-file-names Use long output file names for included\n"
+" source files\n"
msgstr ""
-#: ch/inout.c:2031
-msgid "Too many arguments in call to MODIFY"
+#: gcov.c:348
+msgid " -f, --function-summaries Output summaries for each function\n"
msgstr ""
-#: ch/inout.c:2044
-msgid "argument 2 of MODIFY must not be an empty string"
+#: gcov.c:349
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
msgstr ""
-#: ch/inout.c:2060
-msgid "argument 2 to MODIFY must be a string"
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
msgstr ""
-#: ch/inout.c:2094
-msgid "argument 3 to MODIFY must be a string"
+#: gcov.c:351
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+"%s.\n"
msgstr ""
+"\n"
+"Instruktioner för bugrapportering, se:\n"
-#: ch/inout.c:2141
+#: gcov.c:361
#, c-format
-msgid "argument %d of %s must be an ACCESS or TEXT mode"
+msgid "gcov (GCC) %s\n"
msgstr ""
-#: ch/inout.c:2355
-msgid "argument 4 of CONNECT must be of mode WHERE"
+#: gcov.c:362
+msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
msgstr ""
-#: ch/inout.c:2371
-msgid "index expression for ACCESS without index"
+#: gcov.c:500
+#, c-format
+msgid "Could not open basic block file %s.\n"
msgstr ""
-#: ch/inout.c:2376 ch/inout.c:2554 ch/inout.c:2636 ch/inout.c:4356
-#: ch/inout.c:4504
-msgid "incompatible index mode"
+#: gcov.c:507
+#, c-format
+msgid "Could not open program flow graph file %s.\n"
msgstr ""
-#: ch/inout.c:2476
-msgid "argument 3 to CONNECT must be of mode USAGE"
+#: gcov.c:524
+#, c-format
+msgid "Could not open data file %s.\n"
+msgstr "Kunde inte öppna datafil %s.\n"
+
+#: gcov.c:525
+msgid "Assuming that all execution counts are zero.\n"
msgstr ""
-#: ch/inout.c:2511
+#: gcov.c:534
#, c-format
-msgid "argument %d of %s must be of mode ACCESS"
+msgid "No executable code associated with file %s.\n"
msgstr ""
-#: ch/inout.c:2545
-msgid "Too few arguments in call to `readrecord'"
-msgstr ""
+#: gcov.c:1186
+#, fuzzy, c-format
+msgid "%s of %d lines executed in %s %s\n"
+msgstr "%6.2f%% av %d källkodsrader körda i fil %s\n"
+
+#: gcov.c:1191
+#, fuzzy, c-format
+msgid "No executable lines in %s %s\n"
+msgstr "Inga körbara källkodsrader i funktion %s\n"
-#: ch/inout.c:2569 ch/inout.c:2648
-msgid "incompatible record mode"
+#: gcov.c:1198
+#, fuzzy, c-format
+msgid "%s of %d branches executed in %s %s\n"
+msgstr "%6.2f%% av %d hopp utförda i funktion %s\n"
+
+#: gcov.c:1203
+#, fuzzy, c-format
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr "%6.2f%% av %d hopp tagna minst en gång i funktion %s\n"
+
+#: gcov.c:1209
+#, fuzzy, c-format
+msgid "No branches in %s %s\n"
+msgstr "Inga hopp i fil %s\n"
+
+#: gcov.c:1211
+#, fuzzy, c-format
+msgid "%s of %d calls executed in %s %s\n"
+msgstr "%6.2f%% av %d anrop tagna i funktion %s\n"
+
+#: gcov.c:1216
+#, fuzzy, c-format
+msgid "No calls in %s %s\n"
+msgstr "Inga anrop i fil %s\n"
+
+#: gcov.c:1351
+#, c-format
+msgid "didn't use all bb entries of graph, function %s\n"
msgstr ""
-#: ch/inout.c:2574
-msgid "store location must not be READonly"
+#: gcov.c:1353
+#, c-format
+msgid "block_num = %ld, num_blocks = %d\n"
msgstr ""
-#: ch/inout.c:2616
-msgid "Too few arguments in call to `writerecord'"
+#: gcov.c:1367
+#, c-format
+msgid "ERROR: unexpected line number %ld\n"
msgstr ""
-#: ch/inout.c:2643
-msgid "transfer to ACCESS without record mode"
+#: gcov.c:1383
+#, fuzzy, c-format
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "för många argument till funktionen \"%s\""
+
+#: gcov.c:1398
+#, fuzzy, c-format
+msgid "ERROR: out of range line number in function %s\n"
+msgstr "Inga körbara källkodsrader i funktion %s\n"
+
+#: gcov.c:1470
+#, c-format
+msgid "Could not open source file %s.\n"
+msgstr "Kunde inte öppna källkodsfil %s.\n"
+
+#: gcov.c:1480
+#, fuzzy, c-format
+msgid "Warning: source file %s is newer than %s\n"
+msgstr "aktuell fil är äldre än %s"
+
+#: gcov.c:1510
+#, c-format
+msgid "Unexpected EOF while reading source file %s.\n"
msgstr ""
-#: ch/inout.c:2746
+#: gcov.c:1532
+#, fuzzy, c-format
+msgid "call %2d never executed\n"
+msgstr "anrop %d aldrig utfört\n"
+
+#: gcov.c:1535
#, c-format
-msgid "argument %d of %s must be of mode TEXT"
+msgid "call %2d returns %s\n"
msgstr ""
-#: ch/inout.c:2803
-msgid "TEXT doesn't have a location"
+#: gcov.c:1543
+#, fuzzy, c-format
+msgid "branch %2d never executed\n"
+msgstr "anrop %d aldrig utfört\n"
+
+#: gcov.c:1546
+#, fuzzy, c-format
+msgid "branch %2d taken %s\n"
+msgstr "Inga hopp i fil %s\n"
+
+#: gcov.c:1610
+#, c-format
+msgid "Creating %s.\n"
+msgstr "Skapar %s.\n"
+
+#: gcov.c:1613
+#, fuzzy, c-format
+msgid "Error writing output file %s.\n"
+msgstr "fel vid skrivning till %s"
+
+#: gcov.c:1618
+#, c-format
+msgid "Could not open output file %s.\n"
+msgstr "Kunde inte öppna utdatafil %s.\n"
+
+#: gcse.c:761
+#, c-format
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
msgstr ""
-#: ch/inout.c:2905
-msgid "incompatible index mode for SETETEXTACCESS"
+#: gcse.c:773
+#, c-format
+msgid "GCSE disabled: %d basic blocks and %d registers"
msgstr ""
-#: ch/inout.c:2915
-msgid "incompatible record mode for SETTEXTACCESS"
+#: genautomata.c:1490
+#, c-format
+msgid "Name `%s' contains quotes"
msgstr ""
-#: ch/inout.c:2945
-msgid "parameter 2 must be a location"
+#: genautomata.c:1621
+#, c-format
+msgid "invalid string `%s' in define_cpu_unit"
msgstr ""
-#: ch/inout.c:2955
-msgid "incompatible modes in parameter 2"
+#: genautomata.c:1650
+#, c-format
+msgid "invalid string `%s' in define_query_cpu_unit"
msgstr ""
-#: ch/inout.c:3062
-msgid "conditional expression not allowed in this context"
+#: genautomata.c:1682 genautomata.c:1685
+#, c-format
+msgid "invalid string `%s' in define_bypass"
msgstr ""
-#: ch/inout.c:3064
+#: genautomata.c:1720
#, c-format
-msgid "untyped expression as argument %d"
+msgid "invalid first string `%s' in exclusion_set"
msgstr ""
-#: ch/inout.c:3141 ch/inout.c:3187
+#: genautomata.c:1724
#, c-format
-msgid "Cannot process %d bits integer for READTEXT argument %d."
+msgid "invalid second string `%s' in exclusion_set"
msgstr ""
-#: ch/inout.c:3262
+#: genautomata.c:1760
#, c-format
-msgid "Cannot process %d bits integer WRITETEXT argument %d."
+msgid "invalid first string `%s' in presence_set"
msgstr ""
-#: ch/inout.c:3283 ch/inout.c:3338 ch/inout.c:3417 ch/inout.c:3483
-#: ch/inout.c:3534 ch/inout.c:3619 ch/inout.c:3654
+#: genautomata.c:1764
#, c-format
-msgid "argument %d is READonly"
+msgid "invalid second string `%s' in presence_set"
msgstr ""
-#: ch/inout.c:3290 ch/inout.c:3345 ch/inout.c:3424 ch/inout.c:3491
-#: ch/inout.c:3542 ch/inout.c:3627 ch/inout.c:3659
+#: genautomata.c:1800
#, c-format
-msgid "argument %d must be referable"
+msgid "invalid first string `%s' in absence_set"
msgstr ""
-#: ch/inout.c:3578
+#: genautomata.c:1804
#, c-format
-msgid "cannot process argument %d of WRITETEXT, unknown size"
+msgid "invalid second string `%s' in absence_set"
msgstr ""
-#. datatype is not yet implemented, issue a warning
-#: ch/inout.c:3725
+#: genautomata.c:1837
#, c-format
-msgid "cannot process mode of argument %d for %sTEXT."
+msgid "invalid string `%s' in define_automaton"
msgstr ""
-#: ch/inout.c:3868
-msgid "too few arguments for this format string"
+#: genautomata.c:1868
+#, fuzzy, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "Ogiltig flagga \"%s\""
+
+#: genautomata.c:1890
+#, c-format
+msgid "garbage after ) in reservation `%s'"
msgstr ""
-#: ch/inout.c:3893 ch/inout.c:3902
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, fuzzy, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "omdeklaration av \"%s\""
+
+#: genautomata.c:1932
#, c-format
-msgid "type of argument %d invalid for conversion code at offset %d"
+msgid "repetition `%s' <= 1 in reservation `%s'"
msgstr ""
-#: ch/inout.c:4012
-msgid "unmatched open paren"
+#: genautomata.c:2425
+#, c-format
+msgid "unit `%s' in exclusion is not declared"
msgstr ""
-#: ch/inout.c:4026 ch/inout.c:4221
+#: genautomata.c:2427
#, c-format
-msgid "bad format specification character (offset %d)"
+msgid "`%s' in exclusion is not unit"
msgstr ""
-#: ch/inout.c:4039
+#: genautomata.c:2465
+#, fuzzy, c-format
+msgid "unit `%s' excludes itself"
+msgstr "storleken på \"%s\" är större än sin typ"
+
+#: genautomata.c:2473
#, c-format
-msgid "repetition factor overflow (offset %d)"
+msgid "units `%s' and `%s' in exclusion set belong to different automata"
msgstr ""
-#: ch/inout.c:4057 ch/inout.c:4064 ch/inout.c:4071
+#: genautomata.c:2603 genautomata.c:2609
#, c-format
-msgid "duplicate qualifier (offset %d)"
+msgid "unit `%s' excludes and requires presence of `%s'"
msgstr ""
-#: ch/inout.c:4093
+#: genautomata.c:2623 genautomata.c:2629
#, c-format
-msgid "clause width overflow (offset %d)"
+msgid "unit `%s' requires absence and presence of `%s'"
msgstr ""
-#: ch/inout.c:4106
+#: genautomata.c:2692 genautomata.c:2695
+#, fuzzy, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "upprepad deklaration av klassmetod \"%s\"."
+
+#: genautomata.c:2711
#, c-format
-msgid "no fraction (offset %d)"
+msgid "define_insn_reservation `%s' has negative latency time"
msgstr ""
-#: ch/inout.c:4124
+#: genautomata.c:2717
#, c-format
-msgid "no fraction width (offset %d)"
+msgid "`%s' is already used as insn reservation name"
msgstr ""
-#: ch/inout.c:4131
+#: genautomata.c:2723
#, c-format
-msgid "fraction width overflow (offset %d)"
+msgid "define_bypass `%s - %s' has negative latency time"
msgstr ""
-#: ch/inout.c:4142
+#: genautomata.c:2737
+#, fuzzy, c-format
+msgid "automaton `%s' is not declared"
+msgstr "\"%s\" är tidigare deklarerad här"
+
+#: genautomata.c:2747
#, c-format
-msgid "no exponent (offset %d)"
+msgid "define_unit `%s' without automaton when one defined"
msgstr ""
-#: ch/inout.c:4160
+#: genautomata.c:2753
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "fält \"%s\" deklarerad som en funktion"
+
+#: genautomata.c:2762
+#, fuzzy, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "fält \"%s\" deklarerad som en funktion"
+
+#: genautomata.c:2772
+#, fuzzy, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "omdeklaration av \"%s\""
+
+#: genautomata.c:2775
+#, fuzzy, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "upprepad deklaration av klassmetod \"%s\"."
+
+#: genautomata.c:2790 genautomata.c:2793
+#, fuzzy, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "ingen tidigare deklaration av \"%s\""
+
+#: genautomata.c:2810 genautomata.c:2815
+#, fuzzy, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr "Klass \"%s\" finns redan"
+
+#: genautomata.c:2820
+#, fuzzy, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "Klass \"%s\" finns redan"
+
+#: genautomata.c:2925 genautomata.c:2927
#, c-format
-msgid "no exponent width (offset %d)"
+msgid "automaton `%s' is not used"
msgstr ""
-#: ch/inout.c:4167
+#: genautomata.c:2950
#, c-format
-msgid "exponent width overflow (offset %d)"
+msgid "undeclared unit or reservation `%s'"
msgstr ""
-#: ch/inout.c:4208
-msgid "internal error in check_format_string"
+#: genautomata.c:3028 genautomata.c:3030
+#, fuzzy, c-format
+msgid "unit `%s' is not used"
+msgstr "\"%s\" är definierad men inte använd"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, fuzzy, c-format
+msgid "reservation `%s' is not used"
+msgstr "omdeklaration av \"%s\""
+
+#: genautomata.c:3134
+#, fuzzy, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "omdefiniering av \"union %s\""
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
msgstr ""
-#: ch/inout.c:4224
+#: genautomata.c:9441
+#, fuzzy
+msgid "-split has no argument."
+msgstr "inga argument"
+
+#: genautomata.c:9442
+#, fuzzy
+msgid "option `-split' has not been implemented yet\n"
+msgstr "Profilering är inte implementerat ännu."
+
+#: genautomata.c:9486 genautomata.c:9491
#, c-format
-msgid "no padding character (offset %d)"
+msgid "Automaton `%s': Insn `%s' will never be issued"
msgstr ""
-#. too may arguments for format string
-#: ch/inout.c:4256
-msgid "too many arguments for this format string"
+#: genautomata.c:9498 genautomata.c:9501
+#, c-format
+msgid "Insn `%s' will never be issued"
msgstr ""
-#: ch/inout.c:4354 ch/inout.c:4502
-msgid "missing index expression"
+#: genautomata.c:9649
+#, fuzzy
+msgid "Errors in DFA description"
+msgstr "ingen beskriving ännu"
+
+#: genautomata.c:9732
+#, fuzzy, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "fel vid skrivning till %s"
+
+#: genconditions.c:196
+#, fuzzy
+msgid "No input file name."
+msgstr "Inga indatafiler"
+
+#: 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 "kan inte öppna %s"
+
+#: haifa-sched.c:196
+#, c-format
+msgid "fix_sched_param: unknown param: %s"
+msgstr "fix_sched_param: okänd param: %s"
+
+#: integrate.c:172
+msgid "function cannot be inline"
+msgstr "funktion \"%s\" kan inte deklareras som \"mutable\""
+
+#: integrate.c:176
+msgid "varargs function cannot be inline"
msgstr ""
-#: ch/inout.c:4361
-msgid "Too few arguments in call to `writetext'"
+#: integrate.c:179
+msgid "function using alloca cannot be inline"
msgstr ""
-#: ch/inout.c:4374
-msgid "argument 1 for WRITETEXT must be a TEXT or CHARS(n) VARYING location"
+#: integrate.c:182
+msgid "function using setjmp cannot be inline"
msgstr ""
-#: ch/inout.c:4397
-msgid "`format string' for WRITETEXT must be a CHARACTER string"
+#: integrate.c:185
+msgid "function uses __builtin_eh_return"
+msgstr "funktion använder __builtin_eh_return"
+
+#: integrate.c:188
+msgid "function with nested functions cannot be inline"
msgstr ""
-#: ch/inout.c:4509
-msgid "Too few arguments in call to `readtext'"
+#: integrate.c:192
+msgid "function with label addresses used in initializers cannot inline"
msgstr ""
-#: ch/inout.c:4522
-msgid ""
-"argument 1 for READTEXT must be a TEXT location or CHARS(n) [ VARYING ] "
-"expression"
+#: integrate.c:199 integrate.c:243
+msgid "function too large to be inline"
msgstr ""
-#: ch/inout.c:4543
-msgid "`format string' for READTEXT must be a CHARACTER string"
+#: integrate.c:209
+msgid "no prototype, and parameter address used; cannot be inline"
msgstr ""
-#: ch/lang.c:103
-msgid "non-constant expression"
+#: integrate.c:216 integrate.c:261
+msgid "inline functions not supported for this return value type"
msgstr ""
-#: ch/lang.c:189
-msgid "Ignoring case upon input and"
+#: integrate.c:221
+msgid "function with varying-size return value cannot be inline"
msgstr ""
-#: ch/lang.c:190
-msgid "making special words uppercase wouldn't work."
+#: integrate.c:228
+msgid "function with varying-size parameter cannot be inline"
msgstr ""
-#: ch/lang.c:201
-msgid "Making special words uppercase and"
+#: integrate.c:231
+msgid "function with transparent unit parameter cannot be inline"
msgstr ""
-#: ch/lang.c:202
-msgid " ignoring case upon input wouldn't work."
+#: integrate.c:250
+msgid "function with computed jump cannot inline"
msgstr ""
-#: ch/lang.c:274 java/typeck.c:178
-msgid "internal error - use of undefined type"
+#: integrate.c:254
+msgid "function with nonlocal goto cannot be inline"
msgstr ""
-#: ch/lex.c:507
-msgid "invalid C'xx' "
+#: integrate.c:268
+msgid "function with target specific attribute(s) cannot be inlined"
msgstr ""
-#: ch/lex.c:612 config/mips/mips.c:6133 java/jcf-parse.c:605
-#: java/jcf-write.c:3341
+#: line-map.c:198
#, c-format
-msgid "can't close %s"
-msgstr "kan inte stänga %s"
+msgid "In file included from %s:%u"
+msgstr "I fil inkluderad från %s:%u"
-#: ch/lex.c:716
-msgid "malformed exponent part of floating-point literal"
+#. Translators note: this message is used in conjunction
+#. with "In file included from %s:%ld" and some other
+#. tricks. We want something like this:
+#.
+#. | In file included from sys/select.h:123,
+#. | from sys/types.h:234,
+#. | from userfile.c:31:
+#. | bits/select.h:45: <error message here>
+#.
+#. with all the "from"s lined up.
+#. The trailing comma is at the beginning of this message,
+#. and the trailing colon is not translated.
+#: line-map.c:216
+#, c-format
+msgid ""
+",\n"
+" from %s:%u"
msgstr ""
+",\n"
+" från %s:%u"
-#: ch/lex.c:733
-msgid "real number exceeds range of REAL"
+#. If we didn't find this parameter, issue an error message.
+#: params.c:80
+#, c-format
+msgid "invalid parameter `%s'"
msgstr ""
-#: ch/lex.c:752 ch/lex.c:779
-msgid "end-of-file in '<>' directive"
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
msgstr ""
-#: ch/lex.c:785
-msgid "unrecognized compiler directive"
+#: profile.c:400
+msgid ".da file corrupted"
msgstr ""
-#: ch/lex.c:793 ch/lex.c:839
+#: profile.c:634
#, c-format
-msgid "unrecognized compiler directive `%s'"
+msgid "corrupted profile info: prob for %d-%d thought to be %d"
msgstr ""
-#: ch/lex.c:1000
-msgid "unterminated control sequence"
+#: profile.c:1226
+#, c-format
+msgid "file %s not found, execution counts assumed to be zero"
msgstr ""
-#: ch/lex.c:1015 ch/lex.c:1051
-msgid "invalid integer literal in control sequence"
-msgstr ""
+#: protoize.c:542
+#, c-format
+msgid "%s: internal abort\n"
+msgstr "%s: intern abort\n"
-#: ch/lex.c:1026 ch/lex.c:1034
-msgid "control sequence overflow"
+#: protoize.c:633
+#, c-format
+msgid "%s: error writing file `%s': %s\n"
msgstr ""
-#: ch/lex.c:1028 ch/lex.c:1036
-msgid "invalid control sequence"
-msgstr ""
+#: protoize.c:678
+#, c-format
+msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+msgstr "%s: användning '%s [ -VqfnkN ] [ -i <isträng> ] [ filnamn ... ]'\n"
-#: ch/lex.c:1116
-msgid "invalid base in read control sequence"
-msgstr ""
+#: protoize.c:681
+#, c-format
+msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+msgstr "%s: användning '%s [ -VqfnkNlgC ] [ -B <katalognamn> ] [ filnamn ... ]'\n"
-#: ch/lex.c:1123
-msgid "invalid digit in control sequence"
-msgstr ""
+#: protoize.c:788
+#, c-format
+msgid "%s: warning: no read access for file `%s'\n"
+msgstr "%s: varning: ingen läsrättighet för fil \"%s\"\n"
-#: ch/lex.c:1150
-msgid "unterminated string literal"
-msgstr ""
+#: protoize.c:796
+#, c-format
+msgid "%s: warning: no write access for file `%s'\n"
+msgstr "%s: varning: ingen skrivrättighet för fil \"%s\"\n"
-#: ch/lex.c:1253 ch/lex.c:1339
+#: protoize.c:804
#, c-format
-msgid "invalid number format `%s'"
+msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr ""
-#: ch/lex.c:1271
-msgid "integer literal too big"
+#. Catch cases like /.. where we try to backup to a
+#. point above the absolute root of the logical file
+#. system.
+#: protoize.c:1222
+#, c-format
+msgid "%s: invalid file name: %s\n"
msgstr ""
-# fixme: spola tillbaka är inte perfekt
-#: ch/lex.c:1400
+#: protoize.c:1374
#, c-format
-msgid "can't find %s"
-msgstr "kan inte hitta %s"
+msgid "%s: %s: can't get status: %s\n"
+msgstr "%s: %s: kan inte få status: %s\n"
-#: ch/lex.c:1426
-msgid "USE_SEIZE_FILE directive must be followed by string"
+#: protoize.c:1395
+#, c-format
+msgid ""
+"\n"
+"%s: fatal error: aux info file corrupted at line %d\n"
msgstr ""
-#: ch/lex.c:1698 cpplib.c:920 f/lex.c:1240
-msgid "invalid #ident"
-msgstr "ogiltig #indent"
-
-#: ch/lex.c:1716 f/lex.c:1257
-msgid "undefined or invalid # directive"
+#: protoize.c:1731
+#, c-format
+msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr ""
-#: ch/lex.c:1770 ch/lex.c:1779 f/lex.c:1313
-msgid "invalid #line"
-msgstr "ogiltig #line"
+#: protoize.c:1989
+#, c-format
+msgid "%s: compiling `%s'\n"
+msgstr "%s: kompilerar `%s'\n"
-#: ch/lex.c:1848 f/lex.c:870
-msgid "#-lines for entering and leaving files don't match"
-msgstr ""
+#: protoize.c:2012
+#, c-format
+msgid "%s: wait: %s\n"
+msgstr "%s: vänta: %s\n"
-#: ch/lex.c:1873 f/lex.c:1423
-msgid "invalid #-line"
-msgstr "ogiltig #-rad"
+#: protoize.c:2017
+#, c-format
+msgid "%s: subprocess got fatal signal %d\n"
+msgstr "%s: subprocess fick dödlig signal %d\n"
-#: ch/lex.c:2003
-msgid "missing `=' in compiler directive"
+#: protoize.c:2025
+#, c-format
+msgid "%s: %s exited with status %d\n"
+msgstr "%s: %s avslutade med status %d\n"
+
+#: protoize.c:2077
+#, c-format
+msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr ""
-#: ch/lex.c:2045 ch/lex.c:2055 ch/lex.c:2096
-msgid "invalid value follows `=' in compiler directive"
+#: protoize.c:2086 protoize.c:2115
+#, c-format
+msgid "%s: can't read aux info file `%s': %s\n"
msgstr ""
-#: ch/lex.c:2066
+#: protoize.c:2131 protoize.c:2159
#, c-format
-msgid "invalid `%c' character in name"
+msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr ""
-#: ch/lex.c:2079
+#: protoize.c:2187
#, c-format
-msgid "`%s' not integer constant synonym "
+msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr ""
-#: ch/lex.c:2102
-msgid "value out of range in compiler directive"
+#: protoize.c:2205
+#, c-format
+msgid "%s: error reading aux info file `%s': %s\n"
msgstr ""
-#: ch/lex.c:2219 java/jcf-parse.c:601
+#: protoize.c:2218
#, c-format
-msgid "can't reopen %s"
+msgid "%s: error closing aux info file `%s': %s\n"
msgstr ""
-#: ch/lex.c:2230
-msgid "no modules seen"
+#: protoize.c:2234
+#, c-format
+msgid "%s: can't delete aux info file `%s': %s\n"
msgstr ""
-#: ch/loop.c:480
-msgid "modeless tuple not allowed in this context"
+#: protoize.c:2316 protoize.c:4318
+#, c-format
+msgid "%s: can't delete file `%s': %s\n"
+msgstr "%s: kan inte radera fil \"%s\": %s\n"
+
+#: protoize.c:2395
+#, c-format
+msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
+msgstr "%s: varning: kan inte döpa om fil \"%s\" till \"%s\": %s\n"
+
+#: protoize.c:2520
+#, c-format
+msgid "%s: conflicting extern definitions of '%s'\n"
msgstr ""
-#: ch/loop.c:482
-msgid "IN expression does not have a mode"
+#: protoize.c:2524
+#, c-format
+msgid "%s: declarations of '%s' will not be converted\n"
msgstr ""
-#: ch/loop.c:489
-msgid "location enumeration for BOOLS"
+#: protoize.c:2526
+#, c-format
+msgid "%s: conflict list for '%s' follows:\n"
msgstr ""
-#: ch/loop.c:517
-msgid "location enumeration for bit-packed arrays"
+#: protoize.c:2559
+#, c-format
+msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr ""
-#: ch/loop.c:526 ch/nloop.c:481
-msgid "Loop's IN expression is not a composite object"
+#: protoize.c:2599
+#, c-format
+msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr ""
-#: ch/loop.c:541 ch/nloop.c:498
-msgid "start expr must have discrete mode"
+#: protoize.c:2605
+#, c-format
+msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr ""
-#: ch/loop.c:547 ch/nloop.c:504
-msgid "DO FOR start expression is a numbered SET"
+#: protoize.c:2636
+#, c-format
+msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr ""
-#: ch/loop.c:555 ch/nloop.c:510
-msgid "TO expression is a numbered SET"
+#: protoize.c:2642
+#, c-format
+msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr ""
-#: ch/loop.c:560 ch/nloop.c:525
-msgid "TO expr must have discrete mode"
+#: protoize.c:2815 protoize.c:2818
+#, c-format
+msgid "%s: %d: warning: source too confusing\n"
msgstr ""
-#: ch/loop.c:565 ch/nloop.c:531
-msgid "start expr and TO expr must be compatible"
+#: protoize.c:3024
+#, c-format
+msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr ""
-#: ch/loop.c:574 ch/nloop.c:546
-msgid "BY expr must have discrete mode"
+#: protoize.c:3039
+#, c-format
+msgid "%s: declaration of function `%s' not converted\n"
msgstr ""
-#: ch/loop.c:579 ch/nloop.c:552
-msgid "start expr and BY expr must be compatible"
+#: protoize.c:3162
+#, c-format
+msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr ""
-#: ch/loop.c:595 ch/nloop.c:765
-msgid "loop identifier undeclared"
+#: protoize.c:3183
+#, c-format
+msgid ""
+"\n"
+"%s: warning: too few parameter lists in declaration of `%s'\n"
msgstr ""
-#: ch/loop.c:606
-msgid "loop variable incompatible with start expression"
+#: protoize.c:3281
+#, c-format
+msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr ""
-#: ch/loop.c:633 ch/nloop.c:564
-msgid "body of DO FOR will never execute"
+#: protoize.c:3459
+#, c-format
+msgid "%s: local declaration for function `%s' not inserted\n"
msgstr ""
-#: ch/loop.c:648 ch/nloop.c:585
-msgid "BY expression is negative or zero"
+#: protoize.c:3486
+#, c-format
+msgid ""
+"\n"
+"%s: %d: warning: can't add declaration of `%s' into macro call\n"
msgstr ""
-#: ch/loop.c:847 ch/nloop.c:817 ch/nloop.c:867
-msgid "Can't iterate through array of BOOL"
+#: protoize.c:3560
+#, c-format
+msgid "%s: global declarations for file `%s' not inserted\n"
msgstr ""
-#: ch/parse.c:159
+#: protoize.c:3651 protoize.c:3681
#, c-format
-msgid "there was no start label to match the end label '%s'"
+msgid "%s: definition of function `%s' not converted\n"
msgstr ""
-#: ch/parse.c:162
+#: protoize.c:3670
#, c-format
-msgid "start label '%s' does not match end label '%s'"
+msgid "%s: %d: warning: definition of %s not converted\n"
msgstr ""
-#: ch/parse.c:192
+#: protoize.c:4000
#, c-format
-msgid "`%s' not declared"
-msgstr "\"%s\" är inte deklarerad"
+msgid "%s: found definition of `%s' at %s(%d)\n"
+msgstr ""
-#: ch/parse.c:226
-msgid "No RETURN or RESULT in procedure"
+#. If we make it here, then we did not know about this
+#. function definition.
+#: protoize.c:4016
+#, c-format
+msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr ""
-#: ch/parse.c:245
-msgid "PREFIXED clause with no prelix in unlabeled module"
+#: protoize.c:4019
+#, c-format
+msgid "%s: function definition not converted\n"
msgstr ""
-#: ch/parse.c:336
+#: protoize.c:4078
#, c-format
-msgid "internal parser error - expected token %d"
+msgid "%s: `%s' not converted\n"
msgstr ""
-#: ch/parse.c:529
+#: protoize.c:4086
#, c-format
-msgid "'%s!' is not followed by an identifier"
+msgid "%s: would convert file `%s'\n"
msgstr ""
-#: ch/parse.c:545
-msgid "expected a name here"
+#: protoize.c:4089
+#, c-format
+msgid "%s: converting file `%s'\n"
msgstr ""
-#: ch/parse.c:560
-msgid "expected a name string here"
+#: protoize.c:4099
+#, c-format
+msgid "%s: can't get status for file `%s': %s\n"
msgstr ""
-#: ch/parse.c:591
+#: protoize.c:4141
#, c-format
-msgid "`%s' undeclared"
-msgstr "\"%s\" är ej deklarerad"
+msgid "%s: can't open file `%s' for reading: %s\n"
+msgstr "%s: kan inte öppna fil `%s' för läsning: %s\n"
-#: ch/parse.c:669
-msgid "action not allowed in SPEC MODULE"
+#: protoize.c:4156
+#, c-format
+msgid ""
+"\n"
+"%s: error reading input file `%s': %s\n"
msgstr ""
-#: ch/parse.c:691
-msgid "missing defining occurrence"
+#: protoize.c:4190
+#, c-format
+msgid "%s: can't create/open clean file `%s': %s\n"
msgstr ""
-#: ch/parse.c:702
-msgid "bad defining occurrence following ','"
+#: protoize.c:4295
+#, c-format
+msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr ""
-#: ch/parse.c:802
-msgid "missing '(' in exception list"
-msgstr ""
+#: protoize.c:4303
+#, c-format
+msgid "%s: can't link file `%s' to `%s': %s\n"
+msgstr "%s: kan inte länka fil \"%s\" till \"%s\": %s\n"
-#: ch/parse.c:827
-msgid "ON exception names must be unique"
+#: protoize.c:4333
+#, c-format
+msgid "%s: can't create/open output file `%s': %s\n"
msgstr ""
-#: ch/parse.c:837
-msgid "syntax error in exception list"
+#: protoize.c:4366
+#, c-format
+msgid "%s: can't change mode of file `%s': %s\n"
msgstr ""
-#: ch/parse.c:873
-msgid "empty ON-condition"
+#: protoize.c:4541
+#, c-format
+msgid "%s: cannot get working directory: %s\n"
msgstr ""
-#: ch/parse.c:938
-msgid "INIT not allowed at loc-identity declaration"
+#: protoize.c:4639
+#, c-format
+msgid "%s: input file names must have .c suffixes: %s\n"
+msgstr "%s: indatafilnamn måste ha ändelsen .c: %s\n"
+
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
msgstr ""
-#: ch/parse.c:948
-msgid "'=' used where ':=' is required"
+#: reg-stack.c:673
+#, c-format
+msgid "output constraint %d must specify a single register"
msgstr ""
-#: ch/parse.c:956
-msgid "initialization is not allowed in spec module"
+#: reg-stack.c:683
+#, c-format
+msgid "output constraint %d cannot be specified together with \"%s\" clobber"
msgstr ""
-#: ch/parse.c:964
-msgid "loc-identity declaration without initialisation"
+#: reg-stack.c:706
+msgid "output regs must be grouped at top of stack"
msgstr ""
-#: ch/parse.c:1008
-msgid "bad syntax following FORBID"
+#: reg-stack.c:743
+msgid "implicitly popped regs must be grouped at top of stack"
msgstr ""
-#: ch/parse.c:1023
-msgid "expected a postfix name here"
+#: reg-stack.c:762
+#, c-format
+msgid "output operand %d must use `&' constraint"
msgstr ""
-#: ch/parse.c:1068
-msgid "expected another rename clause"
+#: regclass.c:753
+#, c-format
+msgid "can't use '%s' as a %s register"
msgstr ""
-#: ch/parse.c:1128
-msgid "syntax error in parameter name list"
+#: regclass.c:768 config/ia64/ia64.c:4169 config/ia64/ia64.c:4176
+#, c-format
+msgid "unknown register name: %s"
+msgstr "okänt registernamn: %s"
+
+#: regclass.c:779
+msgid "global register variable follows a function definition"
msgstr ""
-#: ch/parse.c:1221
-msgid "NONREF specific without LOC in result attribute"
+#: regclass.c:783
+msgid "register used for two global register variables"
msgstr ""
-#: ch/parse.c:1223
-msgid "DYNAMIC specific without LOC in result attribute"
+#: regclass.c:788
+msgid "call-clobbered register used for global register variable"
msgstr ""
-#: ch/parse.c:1245
-msgid "exception names must be unique"
+#: regrename.c:1899
+#, c-format
+msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr ""
-#: ch/parse.c:1441
-msgid "must specify a PROCESS name"
+#: regrename.c:1911
+#, c-format
+msgid "validate_value_data: Loop in regno chain (%u)"
msgstr ""
-#: ch/parse.c:1448
-msgid "SIGNAL must be in global reach"
+#: regrename.c:1914
+#, c-format
+msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr ""
-#: ch/parse.c:1479
-msgid "syntax error while parsing signal definition statement"
+#: regrename.c:1926
+#, c-format
+msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr ""
-#: ch/parse.c:1593
-msgid "case range list"
+#: reload.c:1225
+msgid "cannot reload integer constant operand in `asm'"
msgstr ""
-#: ch/parse.c:1660
-msgid "misplaced colon in case label"
+#: reload.c:1247
+msgid "impossible register constraint in `asm'"
msgstr ""
-#: ch/parse.c:1707
-msgid "unrecognized case label list after ','"
+#: reload.c:3467
+msgid "`&' constraint used with no register class"
msgstr ""
-#: ch/parse.c:1971 ch/parse.c:1997
-msgid "bad ASM operand"
+#: reload.c:3635
+#, fuzzy
+msgid "unable to generate reloads for:"
+msgstr "Välj CPU att generera kod för"
+
+#: reload.c:3636 reload.c:3850
+msgid "inconsistent operand constraints in an `asm'"
msgstr ""
-#: ch/parse.c:2067
-msgid "readonly location modified by 'asm'"
+#: reload1.c:1255
+msgid "frame size too large for reliable stack checking"
msgstr ""
-#: ch/parse.c:2198
-msgid "expected 'TO' in step enumeration"
+#: reload1.c:1258
+msgid "try reducing the number of local variables"
msgstr ""
-#: ch/parse.c:2213
-msgid "expected 'IN' in FOR control here"
+#: reload1.c:1914
+#, c-format
+msgid "can't find a register in class `%s' while reloading `asm'"
msgstr ""
-#: ch/parse.c:2314
-msgid "missing DELAY CASE alternative"
+#: reload1.c:1918
+#, c-format
+msgid "unable to find a register to spill in class `%s'"
msgstr ""
-#. This is probably not possible
-#: ch/parse.c:2348
-msgid "non-referable location in DO WITH"
+#: reload1.c:1920
+msgid "this is the insn:"
msgstr ""
-#: ch/parse.c:2360
-msgid "WITH element must be of STRUCT mode"
+#: reload1.c:3941
+msgid "`asm' operand requires impossible reload"
msgstr ""
-#: ch/parse.c:2467
-msgid "missing ')' in signal/buffer receive alternative"
+#. It's the compiler's fault.
+#: reload1.c:5055
+msgid "could not find a spill register"
msgstr ""
-#: ch/parse.c:2481
-msgid "misplaced 'IN' in signal/buffer receive alternative"
+#: reload1.c:5060
+msgid "`asm' operand constraint incompatible with operand size"
msgstr ""
-#: ch/parse.c:2529
-msgid "missing RECEIVE alternative"
+#. It's the compiler's fault.
+#: reload1.c:6680
+#, fuzzy
+msgid "VOIDmode on an output"
+msgstr "I/O-fel vid utmatning"
+
+#: reload1.c:6681
+msgid "output operand is constant in `asm'"
msgstr ""
-#: ch/parse.c:2655
-msgid "PROCESS copy number must be integer"
+#: rtl-error.c:140
+#, fuzzy
+msgid "unrecognizable insn:"
+msgstr "ej igenkänd flagga `-%s'"
+
+#: rtl-error.c:142
+msgid "insn does not satisfy its constraints:"
msgstr ""
-#: ch/parse.c:2882
-msgid "missing parenthesis for procedure call"
+#: rtl.c:558
+#, c-format
+msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
msgstr ""
-#: ch/parse.c:2884
-msgid "expression is not an action"
+#: rtl.c:573
+#, c-format
+msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr ""
-#: ch/parse.c:2918
-msgid "syntax error in action"
+#: 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 ""
-#: ch/parse.c:2945
-msgid "no handler is permitted on this action."
+#: rtl.c:602
+#, c-format
+msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: ch/parse.c:2966
-msgid "definition follows action"
+#: rtl.c:616
+#, c-format
+msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr ""
-#: ch/parse.c:3042
-msgid "bad tuple field name list"
+#: rtl.c:631
+#, c-format
+msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
msgstr ""
-#: ch/parse.c:3088
-msgid "invalid syntax for label in tuple"
+#: rtl.c:646
+#, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
msgstr ""
-#: ch/parse.c:3133
-msgid "bad syntax in tuple"
+#: stmt.c:753
+#, c-format
+msgid "jump to `%s' invalidly jumps into binding contour"
msgstr ""
-#: ch/parse.c:3160
-msgid "non-mode name before tuple"
+#: stmt.c:989 stmt.c:3731
+#, c-format
+msgid "label `%s' used before containing binding contour"
msgstr ""
-#: ch/parse.c:3205
-msgid "invalid expression/location syntax"
+#: stmt.c:1169
+msgid "output operand constraint lacks `='"
msgstr ""
-#: ch/parse.c:3262
-msgid "RECEIVE expression"
+#: stmt.c:1184
+#, c-format
+msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr ""
-#: ch/parse.c:3457
-msgid "there should not be a ';' here"
+#: stmt.c:1206
+msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr ""
-#: ch/parse.c:3496
-msgid "missing ELSE/ELSIF in IF expression"
+#: stmt.c:1212 stmt.c:1316
+#, c-format
+msgid "`%%' constraint used with last operand"
msgstr ""
-#: ch/parse.c:3547
-msgid "conditional expression not allowed inside parentheses"
+#: stmt.c:1231
+msgid "matching constraint not valid in output operand"
msgstr ""
-#: ch/parse.c:3551
-msgid "mode-less tuple not allowed inside parentheses"
+#: stmt.c:1307
+#, c-format
+msgid "input operand constraint contains `%c'"
msgstr ""
-#. Z.200 doesn't allow mixed numbered and unnumbered set elements,
-#. but we can do it. Print a warning
-#: ch/parse.c:3664
-msgid "mixed numbered and unnumbered set elements is not standard"
+#: stmt.c:1347
+msgid "matching constraint references invalid operand number"
msgstr ""
-#: ch/parse.c:3667
-msgid "SET mode must define at least one named value"
+#: stmt.c:1379
+#, c-format
+msgid "invalid punctuation `%c' in constraint"
msgstr ""
-#: ch/parse.c:3766
-msgid "POS not allowed for ARRAY"
+#: stmt.c:1429
+#, fuzzy, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "typkvalificerare för \"%s\" i konflikt med tidigare dekl"
+
+#: stmt.c:1519
+#, c-format
+msgid "unknown register name `%s' in `asm'"
msgstr ""
-#: ch/parse.c:3776
-msgid "STEP not allowed in field definition"
+#: stmt.c:1567
+#, c-format
+msgid "more than %d operands in `asm'"
msgstr ""
-#: ch/parse.c:3792
-msgid "missing field name"
+#: stmt.c:1626
+#, c-format
+msgid "output number %d not directly addressable"
msgstr ""
-#: ch/parse.c:3801
-msgid "bad field name following ','"
+#. ??? Leave this only until we have experience with what
+#. happens in combine and elsewhere when constraints are
+#. not satisfied.
+#: stmt.c:1698 stmt.c:1727
+#, c-format
+msgid "asm operand %d probably doesn't match constraints"
msgstr ""
-#: ch/parse.c:3861
-msgid "expected ':' in structure variant alternative"
+#: stmt.c:1858
+#, fuzzy
+msgid "asm clobber conflict with output operand"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
+
+#: stmt.c:1863
+#, fuzzy
+msgid "asm clobber conflict with input operand"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
+
+#: stmt.c:1898
+msgid "too many alternatives in `asm'"
msgstr ""
-#: ch/parse.c:3912
-msgid "missing field"
+#: stmt.c:1910
+msgid "operand constraints for `asm' differ in number of alternatives"
msgstr ""
-#: ch/parse.c:4060
-msgid "VARYING bit-strings not implemented"
+#: stmt.c:1963
+#, fuzzy, c-format
+msgid "duplicate asm operand name '%s'"
+msgstr "upprepning av medlem \"%s\""
+
+#: stmt.c:2050
+msgid "missing close brace for named operand"
msgstr ""
-#: ch/parse.c:4121
-msgid "strings must be composed of chars"
+#: stmt.c:2078
+#, c-format
+msgid "undefined named operand '%s'"
msgstr ""
-#: ch/parse.c:4171
-msgid "BUFFER modes may not be readonly"
+#: stmt.c:3668
+#, c-format
+msgid "unused variable `%s'"
+msgstr "oanvänd variabel \"%s\""
+
+#: stmt.c:5149
+#, c-format
+msgid "enumeration value `%s' not handled in switch"
msgstr ""
-#: ch/parse.c:4178
-msgid "EVENT modes may not be readonly"
+#: stmt.c:5174 stmt.c:5194
+#, c-format
+msgid "case value `%ld' not in enumerated type"
msgstr ""
-#: ch/parse.c:4198
-msgid "SIGNAL is not a valid mode"
+#: stmt.c:5177 stmt.c:5197
+#, c-format
+msgid "case value `%ld' not in enumerated type `%s'"
msgstr ""
-#: ch/parse.c:4235
-msgid "syntax error - missing mode"
+#: stmt.c:5270
+#, fuzzy
+msgid "switch missing default case"
+msgstr "detta är den första default-etiketten"
+
+#: stor-layout.c:178
+msgid "type size can't be explicitly evaluated"
msgstr ""
-#: ch/parse.c:4282
-msgid "syntax error - expected a module or end of file"
+#: stor-layout.c:180
+msgid "variable-size type declared outside of any function"
msgstr ""
-#: ch/satisfy.c:58
+#: stor-layout.c:461
+#, c-format
+msgid "size of `%s' is %d bytes"
+msgstr "storleken på \"%s\" är %d bytes"
+
+#: stor-layout.c:463
+#, c-format
+msgid "size of `%s' is larger than %d bytes"
+msgstr "storleken på \"%s\" är större än %d bytes"
+
+#: stor-layout.c:869 stor-layout.c:1285
#, c-format
-msgid " `%s', which depends on ..."
+msgid "packed attribute causes inefficient alignment for `%s'"
msgstr ""
-#: ch/satisfy.c:90
+#: stor-layout.c:871 stor-layout.c:1287
#, c-format
-msgid "Cycle: `%s' depends on ..."
+msgid "packed attribute is unnecessary for `%s'"
msgstr ""
-#: ch/satisfy.c:92
+#: stor-layout.c:886
#, c-format
-msgid " `%s'"
-msgstr " `%s'"
+msgid "padding struct to align `%s'"
+msgstr ""
-#: ch/satisfy.c:151
-msgid "SYN of this mode not allowed"
+#: stor-layout.c:1249
+msgid "padding struct size to alignment boundary"
msgstr ""
-#: ch/satisfy.c:156
-msgid "mode of SYN incompatible with value"
+#: stor-layout.c:1292
+msgid "packed attribute causes inefficient alignment"
msgstr ""
-#: ch/satisfy.c:167
-msgid "SYN value outside range of its mode"
+#: stor-layout.c:1294
+msgid "packed attribute is unnecessary"
msgstr ""
-#: ch/satisfy.c:176
-msgid "INIT string too large for mode"
+#: timevar.c:448
+msgid ""
+"\n"
+"Execution times (seconds)\n"
msgstr ""
+"\n"
+"Exekveringstider (sekunder)\n"
-#: ch/satisfy.c:195
+#. Print total time.
+#: timevar.c:498
+msgid " TOTAL :"
+msgstr " TOTALT :"
+
+#: timevar.c:534
#, c-format
-msgid "value of %s is not a valid constant"
+msgid "time in %s: %ld.%06ld (%ld%%)\n"
+msgstr "tid %s: %ld.%06ld (%ld%%)\n"
+
+#: tlink.c:399
+#, c-format
+msgid "collect: reading %s\n"
msgstr ""
-#: ch/satisfy.c:226
-msgid "mode with non-value property in signal definition"
+#: tlink.c:502
+#, c-format
+msgid "collect: recompiling %s\n"
msgstr ""
-#: ch/satisfy.c:403
+#: tlink.c:668
#, c-format
-msgid "undeclared identifier `%s'"
+msgid "collect: tweaking %s in %s\n"
msgstr ""
-#: ch/satisfy.c:456
-msgid "RETURNS spec with invalid mode"
+#: tlink.c:715
+msgid "collect: relinking\n"
msgstr ""
-#: ch/satisfy.c:520
-msgid "operand to REF is not a mode"
+#: tlink.c:724
+#, c-format
+msgid "ld returned %d exit status"
msgstr ""
-#: ch/satisfy.c:554
-msgid "field with non-value mode in variant structure not allowed"
+#: toplev.c:920
+msgid "Generate debugging info in default format"
msgstr ""
-#: ch/satisfy.c:593
-msgid "buffer element mode must not have non-value property"
+#: toplev.c:921
+msgid "Generate debugging info in default extended format"
msgstr ""
-#: ch/satisfy.c:602
-msgid "recordmode must not have the non-value property"
+#: toplev.c:923
+msgid "Generate STABS format debug info"
msgstr ""
-#: ch/tasking.c:170 ch/tasking.c:218
-#, c-format
-msgid "Tasking code %ld out of range for `%s'."
+#: toplev.c:924
+msgid "Generate extended STABS format debug info"
msgstr ""
-#: ch/tasking.c:284
-#, c-format
-msgid "invalid attribute for argument `%s' (only IN or LOC allowed)."
+#: toplev.c:927
+msgid "Generate DWARF-1 format debug info"
msgstr ""
-#: ch/tasking.c:325
-msgid "PROCESS may only be declared at module level"
+#: toplev.c:929
+msgid "Generate extended DWARF-1 format debug info"
msgstr ""
-#: ch/tasking.c:549
-#, c-format
-msgid "process name %s never declared"
+#: toplev.c:932
+msgid "Generate DWARF-2 debug info"
msgstr ""
-#: ch/tasking.c:554
-msgid "You may only START a process, not a proc"
+#: toplev.c:935
+msgid "Generate XCOFF format debug info"
msgstr ""
-#: ch/tasking.c:590
-msgid "SET expression not a location."
+#: toplev.c:936
+msgid "Generate extended XCOFF format debug info"
msgstr ""
-#: ch/tasking.c:595
-msgid "SET location must be INSTANCE mode"
+#: toplev.c:939
+msgid "Generate COFF format debug info"
msgstr ""
-#: ch/tasking.c:632
-#, c-format
-msgid "too many arguments to process `%s'"
+#: toplev.c:942
+#, fuzzy
+msgid "Generate VMS format debug info"
+msgstr "Generera kod för \"big endian\""
+
+#: toplev.c:981
+#, fuzzy
+msgid "Perform DWARF2 duplicate elimination"
+msgstr "Utför optimering för svansrekursion"
+
+#: toplev.c:983
+msgid "Do not store floats in registers"
msgstr ""
-#: ch/tasking.c:635
-msgid "too many arguments to process"
+#: toplev.c:985
+msgid "Consider all mem refs through pointers as volatile"
msgstr ""
-#: ch/tasking.c:640
-#, c-format
-msgid "too few arguments to process `%s'"
+#: toplev.c:987
+msgid "Consider all mem refs to global data to be volatile"
msgstr ""
-#: ch/tasking.c:643
-msgid "too few arguments to process"
+#: toplev.c:989
+msgid "Consider all mem refs to static data to be volatile"
msgstr ""
-#: ch/tasking.c:983
-msgid "COPY_NUMBER argument must be INSTANCE expression"
+#: toplev.c:991
+msgid "Defer popping functions args from stack until later"
msgstr ""
-#: ch/tasking.c:1007
-msgid "GEN_CODE argument must be a process or signal name."
+#: toplev.c:993
+msgid "When possible do not generate stack frames"
msgstr ""
-#: ch/tasking.c:1029
-msgid "GEN_INST parameter 2 must be an integer mode"
+#: toplev.c:995
+msgid "Optimize sibling and tail recursive calls"
msgstr ""
-#: ch/tasking.c:1050
-msgid "GEN_INST parameter 1 must be a PROCESS or an integer expression"
+#: toplev.c:997
+msgid "Perform superblock formation via tail duplication"
msgstr ""
-#: ch/tasking.c:1076
-#, c-format
-msgid "%s is not a declared process"
+#: toplev.c:999
+msgid "When running CSE, follow jumps to their targets"
msgstr ""
-#: ch/tasking.c:1097
-msgid "PROC_TYPE argument must be INSTANCE expression"
+#: toplev.c:1001
+msgid "When running CSE, follow conditional jumps"
msgstr ""
-#: ch/tasking.c:1139
-msgid "QUEUE_LENGTH argument must be a BUFFER/EVENT location."
+#: toplev.c:1003
+#, fuzzy
+msgid "Perform a number of minor, expensive optimizations"
+msgstr "Utför optimering för svansrekursion"
+
+#: toplev.c:1005
+#, fuzzy
+msgid "Perform jump threading optimizations"
+msgstr "Utför optimering för svansrekursion"
+
+#: toplev.c:1007
+#, fuzzy
+msgid "Perform strength reduction optimizations"
+msgstr "Utför optimering för svansrekursion"
+
+#: toplev.c:1009
+msgid "Perform loop unrolling when iteration count is known"
msgstr ""
-#: ch/tasking.c:1289
-#, c-format
-msgid "SEND requires a SIGNAL; %s is not a SIGNAL name"
+#: toplev.c:1011
+msgid "Perform loop unrolling for all loops"
msgstr ""
-#: ch/tasking.c:1314
-#, c-format
-msgid "too many values for SIGNAL `%s'"
+#: toplev.c:1013
+msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr ""
-#: ch/tasking.c:1320
-#, c-format
-msgid "too few values for SIGNAL `%s'"
+#: toplev.c:1015
+msgid "Force all loop invariant computations out of loops"
msgstr ""
-#: ch/tasking.c:1398
-msgid "Signal sent without priority"
+#: toplev.c:1017
+msgid "Strength reduce all loop general induction variables"
msgstr ""
-#: ch/tasking.c:1399 ch/tasking.c:2928
-msgid " and no default priority was set."
+#: toplev.c:1019
+msgid "Store strings in writable data section"
msgstr ""
-#: ch/tasking.c:1400
-msgid " PRIORITY defaulted to 0"
+#: toplev.c:1021
+msgid "Enable machine specific peephole optimizations"
msgstr ""
-#: ch/tasking.c:1415
-msgid "SEND without a destination instance"
+#: toplev.c:1023
+msgid "Copy memory operands into registers before using"
msgstr ""
-#: ch/tasking.c:1416
-msgid " and no destination process specified"
+#: toplev.c:1025
+msgid "Copy memory address constants into regs before using"
msgstr ""
-#: ch/tasking.c:1417
-msgid " for the signal"
+#: toplev.c:1027
+msgid "Allow function addresses to be held in registers"
msgstr ""
-#. as our system doesn't allow that and Z.200 specifies it,
-#. we issue a warning
-#: ch/tasking.c:1436
-#, c-format
-msgid "SEND to ANY copy of process `%s'."
+#: toplev.c:1029
+msgid "Integrate simple functions into their callers"
msgstr ""
-#: ch/tasking.c:1441
-msgid "SEND TO must be an INSTANCE mode"
+#: toplev.c:1031
+msgid "Generate code for funcs even if they are fully inlined"
msgstr ""
-#: ch/tasking.c:1455
-msgid "SEND WITH must have a mode"
+#: toplev.c:1033
+msgid "Pay attention to the 'inline' keyword"
msgstr ""
-#: ch/tasking.c:1724
-msgid "internal error: RECEIVE CASE stack invalid."
+#: toplev.c:1035
+msgid "Emit static const variables even if they are not used"
msgstr ""
-#: ch/tasking.c:1764 ch/tasking.c:2492
-msgid "SET requires INSTANCE location"
+#: toplev.c:1037
+msgid "Check for syntax errors, then stop"
+msgstr "Leta efter syntaxfel, stoppa sedan"
+
+#: toplev.c:1039
+msgid "Mark data as shared rather than private"
msgstr ""
-#: ch/tasking.c:1843
-msgid "SIGNAL in RECEIVE CASE alternative follows"
+#: toplev.c:1041
+msgid "Enable saving registers around function calls"
msgstr ""
-#: ch/tasking.c:1844
-#, c-format
-msgid " a BUFFER name on line %d"
+#: toplev.c:1043
+msgid "Return 'short' aggregates in memory, not registers"
msgstr ""
-#: ch/tasking.c:1852
-#, c-format
-msgid "SIGNAL `%s' has no data fields"
+#: toplev.c:1045
+msgid "Return 'short' aggregates in registers"
msgstr ""
-#: ch/tasking.c:1857
-#, c-format
-msgid "SIGNAL `%s' requires data fields"
+#: toplev.c:1047
+msgid "Attempt to fill delay slots of branch instructions"
msgstr ""
-#: ch/tasking.c:1921
-#, c-format
-msgid "too few data fields provided for `%s'"
+#: toplev.c:1049
+msgid "Perform the global common subexpression elimination"
msgstr ""
-#: ch/tasking.c:1924
-#, c-format
-msgid "too many data fields provided for `%s'"
+#: toplev.c:1051
+msgid "Perform enhanced load motion during global subexpression elimination"
msgstr ""
-#: ch/tasking.c:1947
-msgid "BUFFER in RECEIVE CASE alternative follows"
+#: toplev.c:1053
+msgid "Perform store motion after global subexpression elimination"
msgstr ""
-#: ch/tasking.c:1948
-#, c-format
-msgid " a SIGNAL name on line %d"
+#: toplev.c:1055
+#, fuzzy
+msgid "Perform the loop optimizations"
+msgstr "Utför optimering för svansrekursion"
+
+#: toplev.c:1057
+#, fuzzy
+msgid "Perform cross-jumping optimization"
+msgstr "Utför optimering för svansrekursion"
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
msgstr ""
-#: ch/tasking.c:1956
-msgid "BUFFER in RECEIVE CASE alternative must be a location."
+#: toplev.c:1061
+#, fuzzy
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr "Föredra hopp framför villkorlig körning"
+
+#: toplev.c:1063
+msgid "Run CSE pass after loop optimizations"
msgstr ""
-#: ch/tasking.c:1962
-msgid "buffer receive alternative requires only 1 defining occurence."
+#: toplev.c:1065
+msgid "Run the loop optimizer twice"
msgstr ""
-#: ch/tasking.c:2043
-msgid "incompatible modes in receive buffer alternative."
+#: toplev.c:1067
+msgid "Delete useless null pointer checks"
msgstr ""
-#: ch/tasking.c:2049
-msgid "defining occurence in receive buffer alternative must be a location."
+#: toplev.c:1069
+msgid "Reschedule instructions before register allocation"
msgstr ""
-#: ch/tasking.c:2086
-msgid "buffer receive alternative without `IN location'."
+#: toplev.c:1071
+msgid "Reschedule instructions after register allocation"
msgstr ""
-#: ch/tasking.c:2092
-msgid "RECEIVE CASE alternative must specify a SIGNAL name or BUFFER location."
+#: toplev.c:1073
+msgid "Enable scheduling across basic blocks"
msgstr ""
-#: ch/tasking.c:2331
-msgid "RECEIVE CASE without alternatives"
+#: toplev.c:1075
+msgid "Allow speculative motion of non-loads"
msgstr ""
-#: ch/tasking.c:2369
-msgid "CONTINUE requires an event location."
+#: toplev.c:1077
+msgid "Allow speculative motion of some loads"
msgstr ""
-#: ch/tasking.c:2503 ch/tasking.c:2940
-msgid "PRIORITY must be of integer type."
+#: toplev.c:1079
+msgid "Allow speculative motion of more loads"
msgstr ""
-#: ch/tasking.c:2581
-msgid "delay alternative must be an EVENT location."
+#: toplev.c:1081
+msgid "Replace add,compare,branch with branch on count reg"
msgstr ""
-#: ch/tasking.c:2636
-msgid "DELAY CASE without alternatives"
+#: toplev.c:1083
+msgid "Generate position independent code, if possible"
msgstr ""
-#: ch/tasking.c:2757
-msgid "DELAY action requires an event location."
+#: toplev.c:1086
+msgid "Enable exception handling"
msgstr ""
-#: ch/tasking.c:2768
-msgid "PRIORITY in DELAY action must be of integer type."
+#: toplev.c:1088
+msgid "Just generate unwind tables for exception handling"
msgstr ""
-#: ch/tasking.c:2777
-msgid "DELAY action without priority."
+#: toplev.c:1090
+msgid "Generate unwind tables exact at each instruction boundary"
msgstr ""
-#: ch/tasking.c:2778 ch/tasking.c:2929
-msgid " PRIORITY defaulted to 0."
+#: toplev.c:1092
+msgid "Support synchronous non-call exceptions"
msgstr ""
-#: ch/tasking.c:2868
-msgid "send buffer action requires a BUFFER location."
+#: toplev.c:1094
+msgid "Insert arc based program profiling code"
msgstr ""
-#: ch/tasking.c:2885
-msgid "there must be only 1 value for send buffer action."
+#: toplev.c:1096
+msgid "Create data files needed by gcov"
msgstr ""
-#: ch/tasking.c:2906
-msgid "convert failed for send buffer action."
+#: toplev.c:1098
+msgid "Use profiling information for branch probabilities"
msgstr ""
-#: ch/tasking.c:2912
-msgid "incompatible modes in send buffer action."
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
msgstr ""
-#: ch/tasking.c:2927
-msgid "Buffer sent without priority"
+#: toplev.c:1102
+msgid "Reorder basic blocks to improve code placement"
msgstr ""
-#: ch/tasking.c:2946
-msgid "WITH not allowed for send buffer action."
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
msgstr ""
-#: ch/tasking.c:2951
-msgid "TO not allowed for send buffer action."
+#: toplev.c:1106
+msgid "Do the register renaming optimization pass"
msgstr ""
-#: ch/tasking.c:3094
-#, c-format
-msgid "SEND requires a BUFFER; `%s' is not a BUFFER name"
+#: toplev.c:1108
+msgid "Do the register copy-propagation optimization pass"
msgstr ""
-#: ch/tasking.c:3235
-msgid "non-integral max queue size for EVENT/BUFFER mode"
+#: toplev.c:1110
+msgid "Do not put uninitialized globals in the common section"
msgstr ""
-#: ch/tasking.c:3240
-msgid "non-constant max queue size for EVENT/BUFFER mode"
+#: toplev.c:1112
+msgid "Do not generate .size directives"
+msgstr "Generera inte .size-direktiv"
+
+#: toplev.c:1114
+msgid "place each function into its own section"
+msgstr "placera varje funktion i sin egen sektion"
+
+#: toplev.c:1116
+msgid "place data items into their own section"
msgstr ""
-#: ch/tasking.c:3247
-msgid "max queue_size for EVENT/BUFFER is not positive"
+#: toplev.c:1118
+msgid "Add extra commentry to assembler output"
msgstr ""
-#: ch/timing.c:224
-msgid "absolute time value must be of mode TIME."
+#: toplev.c:1120
+msgid "Output GNU ld formatted global initializers"
msgstr ""
-#: ch/timing.c:281 ch/timing.c:364
-msgid "duration primitive value must be of mode DURATION."
+#: toplev.c:1122
+msgid "Enables a register move optimization"
msgstr ""
-#: ch/tree.c:62
-msgid "string length > UPPER (UINT)"
+#: toplev.c:1124
+msgid "Do the full regmove optimization pass"
msgstr ""
-#: ch/tree.c:116
-msgid "Can only build a powerset from a discrete mode"
+#: toplev.c:1126
+msgid "Pack structure members together without holes"
msgstr ""
-#: ch/tree.c:128
-msgid "non-constant bitstring size invalid"
+#: toplev.c:1128
+msgid "Insert stack checking code into the program"
msgstr ""
-#: ch/tree.c:130
-msgid "non-constant powerset size invalid"
+#: toplev.c:1130
+msgid "Specify that arguments may alias each other & globals"
msgstr ""
-#: ch/typeck.c:83
-msgid "array or string index is a mode (instead of a value)"
+#: toplev.c:1132
+msgid "Assume arguments may alias globals but not each other"
msgstr ""
-#: ch/typeck.c:114
-msgid "index is not an integer expression"
+#: toplev.c:1134
+msgid "Assume arguments do not alias each other or globals"
msgstr ""
-#: ch/typeck.c:122
-msgid "index not compatible with index mode"
+#: toplev.c:1136
+msgid "Assume strict aliasing rules apply"
msgstr ""
-#. should never happen
-#: ch/typeck.c:132
-msgid "index is not discrete"
+#: toplev.c:1138
+msgid "Align the start of loops"
msgstr ""
-#: ch/typeck.c:196
-msgid ""
-"possible internal error - slice argument is neither referable nor constant"
+#: toplev.c:1140
+msgid "Align labels which are only reached by jumping"
msgstr ""
-#: ch/typeck.c:285
-msgid "bit array slice with non-constant length"
+#: toplev.c:1142
+msgid "Align all labels"
msgstr ""
-#: ch/typeck.c:325
-msgid "bitstring slice with non-constant length"
+#: toplev.c:1144
+msgid "Align the start of functions"
msgstr ""
-#: ch/typeck.c:338
-msgid "slice operation on non-array, non-bitstring value not supported"
+#: toplev.c:1146
+msgid "Attempt to merge identical constants accross compilation units"
msgstr ""
-#: ch/typeck.c:390 ch/typeck.c:441
-msgid "can only take slice of array or string"
+#: toplev.c:1148
+msgid "Attempt to merge identical constants and constant variables"
msgstr ""
-#: ch/typeck.c:455
-msgid "slice length is not an integer"
+#: toplev.c:1150
+msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr ""
-#: ch/typeck.c:488
-msgid "slice length out-of-range"
+#: toplev.c:1152
+msgid "Instrument function entry/exit with profiling calls"
msgstr ""
-#: ch/typeck.c:543
-msgid "too many index expressions"
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
msgstr ""
-#: ch/typeck.c:595
-msgid "array index is not discrete"
+#: toplev.c:1156
+msgid "Enable SSA optimizations"
msgstr ""
-#: ch/typeck.c:675
-msgid "invalid compound index for bitstring mode"
+#: toplev.c:1158
+msgid "Enable SSA conditional constant propagation"
msgstr ""
-#: ch/typeck.c:1079
-msgid "conversions from variable_size value"
+#: toplev.c:1160
+msgid "Enable aggressive SSA dead code elimination"
msgstr ""
-#: ch/typeck.c:1084
-msgid "conversions to variable_size mode"
+#: toplev.c:1162
+msgid "External symbols have a leading underscore"
+msgstr "Externa symboler startar med en understrykning"
+
+#: toplev.c:1164
+msgid "Process #ident directives"
+msgstr "Hantera #ident-direktiv"
+
+#: toplev.c:1166
+msgid "Enables an rtl peephole pass run before sched2"
msgstr ""
-#: ch/typeck.c:1098
-msgid "cannot convert to float"
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
msgstr ""
-#: ch/typeck.c:1103
-msgid "cannot convert float to this mode"
+#: toplev.c:1170
+msgid "Enables guessing of branch probabilities"
msgstr ""
-#: ch/typeck.c:1130
-msgid "OVERFLOW in expression conversion"
+#: toplev.c:1172
+msgid "Set errno after built-in math functions"
+msgstr "Sätt errno efter inbyggda matematikfunktioner"
+
+#: toplev.c:1174
+msgid "Floating-point operations can trap"
msgstr ""
-#: ch/typeck.c:1159
-msgid "overflow (not inside function)"
+#: toplev.c:1176
+msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr ""
-#: ch/typeck.c:1161
-msgid "possible overflow (not inside function)"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
msgstr ""
-#: ch/typeck.c:1166
-msgid "expression will always cause OVERFLOW"
+#: toplev.c:1180
+#, fuzzy
+msgid "Generate code to check bounds before indexing arrays"
+msgstr "Generera kod för Intel as"
+
+#: toplev.c:1182
+msgid "Convert floating point constant to single precision constant"
msgstr ""
-#: ch/typeck.c:1199
-msgid "not implemented: constant conversion from that kind of expression"
+#: toplev.c:1184
+msgid "Report time taken by each compiler pass at end of run"
msgstr ""
-#: ch/typeck.c:1205
-msgid "not implemented: constant conversion to that kind of mode"
+#: toplev.c:1186
+msgid "Report on permanent memory allocation at end of run"
msgstr ""
-#: ch/typeck.c:1216
-msgid "non-standard, non-portable value conversion"
+#: toplev.c:1188
+msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr ""
-#: ch/typeck.c:1222
-msgid "location conversion between differently-sized modes"
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
msgstr ""
-#: ch/typeck.c:1224
-msgid "unsupported value conversion"
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
msgstr ""
-#: ch/typeck.c:1272
-msgid "operand to bin must be a non-negative integer literal"
+#: toplev.c:1209
+msgid "Determine language standard"
msgstr ""
-#: ch/typeck.c:1288
-#, c-format
-msgid "size %d of BIN too big - no such integer mode"
+#: toplev.c:1213
+msgid "Make bit-fields by unsigned by default"
msgstr ""
-#: ch/typeck.c:1302
-msgid "BIN in pass 2"
+#: toplev.c:1217
+msgid "Make 'char' be signed by default"
msgstr ""
-#: ch/typeck.c:1335
-msgid "mode of tuple is neither ARRAY, STRUCT, nor POWERSET"
+#: toplev.c:1219
+msgid "Make 'char' be unsigned by default"
msgstr ""
-#: ch/typeck.c:2111
-msgid "internal error in chill_root_resulting_mode"
+#: toplev.c:1225
+msgid "Do not recognize the 'asm' keyword"
msgstr ""
-#: ch/typeck.c:2370
-msgid "string lengths not equal"
+#: toplev.c:1228
+#, fuzzy
+msgid "Do not recognize any built in functions"
+msgstr "Känn inte igen några inbyggda funktioner"
+
+#: toplev.c:1230
+msgid "Assume normal C execution environment"
msgstr ""
-#: ch/typeck.c:2385
-msgid "can't do ARRAY assignment - too large"
+#: toplev.c:1233
+msgid "Assume that standard libraries & main might not exist"
msgstr ""
-#: ch/typeck.c:2403
-msgid "rhs of array assignment is not addressable"
+#: toplev.c:1236
+msgid "Allow different types as args of ? operator"
msgstr ""
-#: ch/typeck.c:2580
-msgid "non-constant expression for BIN"
+#: toplev.c:1239
+msgid "Allow the use of $ inside identifiers"
msgstr ""
-#: ch/typeck.c:2585
-msgid "expression for BIN must not be negative"
+#: toplev.c:1244
+msgid "Use the same size for double as for float"
msgstr ""
-#: ch/typeck.c:2590
-msgid "cannot process BIN (>32)"
+#: toplev.c:1247
+msgid "Use the smallest fitting integer to hold enums"
msgstr ""
-#: ch/typeck.c:2606
-msgid "bounds of range are not compatible"
+#: toplev.c:1250
+msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr ""
-#: ch/typeck.c:2615
-msgid "negative string length"
+#: toplev.c:1254
+msgid "Enable most warning messages"
msgstr ""
-#: ch/typeck.c:2652
-msgid "range's lower bound and parent mode don't match"
+#: toplev.c:1256
+msgid "Warn about casting functions to incompatible types"
msgstr ""
-#: ch/typeck.c:2657
-msgid "range's upper bound and parent mode don't match"
+#: toplev.c:1259
+msgid "Warn about functions which might be candidates for format attributes"
msgstr ""
-#: ch/typeck.c:2666
-msgid "making range from non-mode"
+#: toplev.c:1262
+msgid "Warn about casts which discard qualifiers"
msgstr ""
-#: ch/typeck.c:2672
-msgid "floating point ranges"
+#: toplev.c:1265
+msgid "Warn about subscripts whose type is 'char'"
+msgstr "Varna om index har typen \"char\""
+
+#: toplev.c:1268 toplev.c:1271
+msgid "Warn if nested comments are detected"
+msgstr "Varna om nästlade kommentarer upptäcks"
+
+#: toplev.c:1274
+msgid "Warn about possibly confusing type conversions"
msgstr ""
-#: ch/typeck.c:2680
-msgid "range mode has non-constant limits"
+#: toplev.c:1278
+#, fuzzy
+msgid "Do not warn about compile-time integer division by zero"
+msgstr "Fånga inte heltalsdivision med noll"
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
msgstr ""
-#: ch/typeck.c:2689
-msgid "range's high bound < mode's low bound"
+#: toplev.c:1283
+msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
msgstr ""
-#: ch/typeck.c:2694
-msgid "range's high bound > mode's high bound"
+#: toplev.c:1287
+msgid "Don't warn about too many arguments to format functions"
+msgstr "Varna inte om för många argument till format-funktioner"
+
+#: toplev.c:1289
+msgid "Warn about non-string-literal format strings"
msgstr ""
-#: ch/typeck.c:2699
-msgid "range mode high bound < range mode low bound"
+#: toplev.c:1292
+msgid "Warn about possible security problems with format functions"
msgstr ""
-#: ch/typeck.c:2704
-msgid "range's low bound < mode's low bound"
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
msgstr ""
-#: ch/typeck.c:2709
-msgid "range's low bound > mode's high bound"
+#: toplev.c:1298
+msgid "Warn about implicit function declarations"
msgstr ""
-#: ch/typeck.c:2817
-msgid "Stepsize in STEP must be an integer constant"
+#: toplev.c:1302
+msgid "Warn when a declaration does not specify a type"
msgstr ""
-#: ch/typeck.c:2821
-msgid "Stepsize in STEP must be > 0"
+#: toplev.c:1307
+msgid "Warn about the use of the #import directive"
msgstr ""
-#: ch/typeck.c:2827
-msgid "Stepsize in STEP must be the natural width of the array element mode"
+#: toplev.c:1311
+msgid "Do not warn about using 'long long' when -pedantic"
msgstr ""
-#: ch/typeck.c:2833 ch/typeck.c:3134
-msgid "Starting word in POS must be an integer constant"
+#: toplev.c:1313
+msgid "Warn about suspicious declarations of main"
+msgstr "Varna om tveksamma deklarationer av main"
+
+#: toplev.c:1316
+#, fuzzy
+msgid "Warn about possibly missing braces around initializers"
+msgstr "Varna om eventuellt saknade parenteser"
+
+#: toplev.c:1319
+msgid "Warn about global funcs without previous declarations"
msgstr ""
-#: ch/typeck.c:2837 ch/typeck.c:3141
-msgid "Starting word in POS must be >= 0"
+#: toplev.c:1322
+msgid "Warn about global funcs without prototypes"
msgstr ""
-#: ch/typeck.c:2839
-msgid "Starting word in POS within STEP must be 0"
+#: toplev.c:1325
+msgid "Warn about use of multicharacter literals"
msgstr ""
-#: ch/typeck.c:2851 ch/typeck.c:3158
-msgid "Starting bit in POS must be an integer constant"
+#: toplev.c:1328
+msgid "Warn about externs not at file scope level"
msgstr ""
-#: ch/typeck.c:2857
-msgid "Starting bit in POS within STEP must be 0"
+#: toplev.c:1331
+msgid "Warn about possible missing parentheses"
+msgstr "Varna om eventuellt saknade parenteser"
+
+#: toplev.c:1334
+msgid "Warn about function pointer arithmetic"
+msgstr "Varna om aritmetik med funktionspekare"
+
+#: toplev.c:1337
+msgid "Warn about multiple declarations of the same object"
+msgstr "Varna om multipla deklarationer av samma objekt"
+
+#: toplev.c:1340
+#, fuzzy
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "returtyp sätts till \"int\""
+
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
msgstr ""
-#: ch/typeck.c:2861 ch/typeck.c:3166
-msgid "Starting bit in POS must be >= 0"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr "Varna om jämförelser mellan signed/unsigned"
+
+#: toplev.c:1349
+msgid "Warn about non-prototyped function decls"
msgstr ""
-#: ch/typeck.c:2869 ch/typeck.c:3174
-msgid "Starting bit in POS must be < the width of a word"
+#: toplev.c:1352
+#, fuzzy
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr "Varna om index har typen \"char\""
+
+#: toplev.c:1355
+msgid "Warn when trigraphs are encountered"
msgstr ""
-#: ch/typeck.c:2883 ch/typeck.c:3188
-msgid "Length in POS must be an integer constant"
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
msgstr ""
-#: ch/typeck.c:2890 ch/typeck.c:3195
-msgid "Length in POS must be > 0"
+#: toplev.c:1363
+msgid "Mark strings as 'const char *'"
+msgstr "Markera strängar som \"const char *\""
+
+#: toplev.c:1508
+msgid "Warn when a function is unused"
+msgstr "Varna när en funktion är oanvänd"
+
+#: toplev.c:1510
+msgid "Warn when a label is unused"
+msgstr "Varna när en etikett är oanvänd"
+
+#: toplev.c:1512
+msgid "Warn when a function parameter is unused"
+msgstr "Varna när en funktionsparameter är oanvänd"
+
+#: toplev.c:1514
+msgid "Warn when a variable is unused"
+msgstr "Varna när en variabel är oanvänd"
+
+#: toplev.c:1516
+msgid "Warn when an expression value is unused"
+msgstr "Varna när ett uttrycksvärde är oanvänt"
+
+#: toplev.c:1518
+msgid "Do not suppress warnings from system headers"
msgstr ""
-#: ch/typeck.c:2897 ch/typeck.c:3208
-msgid "End bit in POS must be an integer constant"
+#: toplev.c:1520
+msgid "Treat all warnings as errors"
msgstr ""
-#: ch/typeck.c:2906 ch/typeck.c:3217
-msgid "End bit in POS must be >= the start bit"
+#: toplev.c:1522
+msgid "Warn when one local variable shadows another"
msgstr ""
-#: ch/typeck.c:2912 ch/typeck.c:3222
-msgid "End bit in POS must be < the width of a word"
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
msgstr ""
-#: ch/typeck.c:2924
-msgid ""
-"The length specified on POS within STEP must be the natural length of the "
-"array element type"
+#: toplev.c:1526
+#, fuzzy
+msgid "Warn about enumerated switches missing a default case"
+msgstr "Varna om eventuellt saknade parenteser"
+
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
msgstr ""
-#: ch/typeck.c:2929
-msgid "Step size in STEP must be >= the length in POS"
+#: toplev.c:1530
+msgid "Warn about returning structures, unions or arrays"
msgstr ""
-#: ch/typeck.c:2955
-msgid "array index must be a range, not a single integer"
+#: toplev.c:1532
+msgid "Warn about pointer casts which increase alignment"
msgstr ""
-#: ch/typeck.c:2961
-msgid "array index is not a discrete mode"
+#: toplev.c:1534
+msgid "Warn about code that will never be executed"
msgstr ""
-#: ch/typeck.c:3232
-msgid ""
-"The length specified on POS must be the natural length of the field type"
+#: toplev.c:1536
+#, fuzzy
+msgid "Warn about uninitialized automatic variables"
+msgstr "Varna om aritmetik med funktionspekare"
+
+#: toplev.c:1538
+msgid "Warn when an inlined function cannot be inlined"
msgstr ""
-#: ch/typeck.c:3241
-msgid "STRUCT fields must be layed out in monotonically increasing order"
+#: toplev.c:1540
+msgid "Warn when the packed attribute has no effect on struct layout"
msgstr ""
-#: ch/typeck.c:3304
-msgid "If one field has a POS layout, then all fields must have a POS layout"
+#: toplev.c:1542
+msgid "Warn when padding is required to align struct members"
msgstr ""
-#: ch/typeck.c:3447
-msgid "parameterised structures not implemented"
+#: toplev.c:1544
+msgid "Warn when an optimization pass is disabled"
msgstr ""
-#: ch/typeck.c:3452
-msgid "invalid parameterised type"
+#: toplev.c:1546
+msgid "Warn about uses of __attribute__((deprecated)) declarations"
msgstr ""
-#: collect2.c:454
-msgid "internal error"
-msgstr "internt fel"
+#: toplev.c:1548
+msgid "Warn about functions which might be candidates for attribute noreturn"
+msgstr "Varna om funktioner som är möjliga kandidater för attributet noreturn"
-#: collect2.c:935
-msgid "no arguments"
-msgstr "inga argument"
+#: toplev.c:1550
+#, fuzzy
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr "Varna om funktioner som är möjliga kandidater för attributet noreturn"
-#: collect2.c:1289 collect2.c:1437 collect2.c:1470
-#, c-format
-msgid "fopen %s"
-msgstr "fopen %s"
+#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676
+#, fuzzy, c-format
+msgid "invalid option `%s'"
+msgstr "Ogiltig flagga \"%s\""
-#: collect2.c:1292 collect2.c:1442 collect2.c:1473
+#: toplev.c:2029
#, c-format
-msgid "fclose %s"
-msgstr "fclose %s"
+msgid "`%s' used but never defined"
+msgstr "\"%s\" är använd men inte definierad"
-#: collect2.c:1301
+#: toplev.c:2032
#, c-format
-msgid "collect2 version %s"
-msgstr ""
+msgid "`%s' declared `static' but never defined"
+msgstr "\"%s\" är deklarerad som \"static\" men definieras aldrig"
-#: collect2.c:1391
+#: toplev.c:2051
#, c-format
-msgid "%d constructor(s) found\n"
-msgstr "%d konstruerare hittad(e)\n"
+msgid "`%s' defined but not used"
+msgstr "\"%s\" är definierad men inte använd"
-#: collect2.c:1392
+#: toplev.c:2300
#, c-format
-msgid "%d destructor(s) found\n"
-msgstr "%d destruerare hittad(e)\n"
+msgid "invalid register name `%s' for register variable"
+msgstr ""
-#: collect2.c:1393
-#, c-format
-msgid "%d frame table(s) found\n"
+#: toplev.c:3683
+msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
+msgstr " -ffixed-<register> Markera <register> som ej tillgängligt för kompilatorn\n"
+
+#: toplev.c:3684
+msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
+msgstr " -fcall-used-<register> Ange att <register> förstörs av funktionsanrop\n"
+
+#: toplev.c:3685
+msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
+msgstr " -fcall-saved-<register> Ange att <register> bevaras av funktioner\n"
+
+#: toplev.c:3686
+msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
+msgstr " -finline-limit=<nummer> Begränsa storlek på inline-funktioner till <nummer>\n"
+
+#: toplev.c:3687
+msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
+msgstr " -fmessage-length=<nummer> Begränsa felmeddelandens längd till <nummer> tecken per rad. 0 stänger av radbrytning\n"
+
+#: 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 " -fdiagnostics-show-location=[once | every-line] Anger hur ofta källkodspositioner skall skrivas ut, som prefix, i början av utskrift vid radbrytning\n"
+
+#: 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 ""
-#: collect2.c:1534
-#, c-format
-msgid "%s terminated with signal %d [%s]%s"
-msgstr "%s terminerade med signal %d [%s]%s"
+#: toplev.c:3700
+#, fuzzy
+msgid " -O[number] Set optimization level to [number]\n"
+msgstr " -O[nummer] Sätt optimeringsnivå till [nummer]\n"
-#: collect2.c:1553
-#, c-format
-msgid "%s returned %d exit status"
-msgstr "%s returnerade avslutningsstatus %d"
+#: toplev.c:3701
+#, fuzzy
+msgid " -Os Optimize for space rather than speed\n"
+msgstr " -Os Optimera för storlek istället för hastighet\n"
-#: collect2.c:1581
-#, c-format
-msgid "[cannot find %s]"
-msgstr "[kan inte hitta %s]"
+#: toplev.c:3713
+msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
+msgstr " -pedantic Ge varningar som krävs för att strikt följa ISO C\n"
-#: collect2.c:1596
-#, c-format
-msgid "cannot find `%s'"
-msgstr "kan inte hitta \"%s\""
+#: toplev.c:3714
+msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+msgstr " -pedantic-errors Som -pedantic men ger fel istället\n"
-#: collect2.c:1607 collect2.c:1610
-#, c-format
-msgid "redirecting stdout: %s"
-msgstr "omdirigerar stdout: %s"
+#: toplev.c:3715
+msgid " -w Suppress warnings\n"
+msgstr " -w Stoppa varningar\n"
-#: collect2.c:1653
-#, c-format
-msgid "[Leaving %s]\n"
-msgstr "[Lämnar %s]\n"
+#: toplev.c:3716
+msgid " -W Enable extra warnings\n"
+msgstr " -W Slå på extra varningar\n"
-#: collect2.c:1894
-#, c-format
+#: toplev.c:3727
+msgid " -Wunused Enable unused warnings\n"
+msgstr " -Wunused Slå på oanvända varningar\n"
+
+#: toplev.c:3728
+msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
+msgstr " -Wlarger-than-<nummer> Varna om objekt är större än <nummer> bytes\n"
+
+#: toplev.c:3729
+msgid " -p Enable function profiling\n"
+msgstr " -p Slå på funktionsprofilering\n"
+
+#: toplev.c:3730
+msgid " -o <file> Place output into <file> \n"
+msgstr " -o <fil> Skriv utdata i <fil> \n"
+
+#: toplev.c:3731
msgid ""
-"\n"
-"write_c_file - output name is %s, prefix is %s\n"
+" -G <number> Put global and static data smaller than <number>\n"
+" bytes into a special section (on some targets)\n"
msgstr ""
+" -G <nummer> Placera global and statisk data mindre än <nummer>\n"
+" bytes i en speciell sektion (vissa arkitekturer)\n"
-#: collect2.c:2107
-msgid "cannot find `nm'"
-msgstr "kan inte hitta \"nm\""
+#: toplev.c:3742
+msgid " -aux-info <file> Emit declaration info into <file>\n"
+msgstr " -aux-info <fil> Generera deklarationsinfo till fil <fil>\n"
-#: collect2.c:2117 collect2.c:2559
-msgid "pipe"
-msgstr "rör"
+#: toplev.c:3743
+msgid " -quiet Do not display functions compiled or elapsed time\n"
+msgstr " -quiet Visa inte kompilerade funktioner eller tiden som förbrukats\n"
-#: collect2.c:2121 collect2.c:2563
-msgid "fdopen"
-msgstr "fdopen"
+#: toplev.c:3744
+msgid " -version Display the compiler's version\n"
+msgstr " -version Visa kompilatorns version\n"
-#: collect2.c:2147 collect2.c:2589
-#, c-format
-msgid "dup2 %d 1"
-msgstr "dup2 %d 1"
+#: toplev.c:3745
+msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
+msgstr " -d[bokstäver] Slå på dumpning från angivna delar av kompilatorn\n"
-#: collect2.c:2150 collect2.c:2153 collect2.c:2166 collect2.c:2592
-#: collect2.c:2595 collect2.c:2608
-#, c-format
-msgid "close %d"
-msgstr "close %d"
+#: toplev.c:3746
+msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
+msgstr ""
-#: collect2.c:2156
+#: toplev.c:3748
+msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
+msgstr ""
+
+#: toplev.c:3750
+msgid " --help Display this information\n"
+msgstr " --help Visa den här informatationen\n"
+
+#: toplev.c:3765
+msgid ""
+"\n"
+"Language specific options:\n"
+msgstr ""
+
+#: toplev.c:3777
#, c-format
-msgid "execvp %s"
-msgstr "execvp %s"
+msgid " %-23.23s [undocumented]\n"
+msgstr " %-23.23s [odokumenterad]\n"
-#: collect2.c:2210
+#: toplev.c:3785 toplev.c:3799
#, c-format
-msgid "init function found in object %s"
+msgid ""
+"\n"
+"There are undocumented %s specific options as well.\n"
msgstr ""
+"\n"
+"Det finns dessutom odokumenterade %s-specifika flaggor.\n"
-#: collect2.c:2218
+#: toplev.c:3789
#, c-format
-msgid "fini function found in object %s"
+msgid ""
+"\n"
+" Options for %s:\n"
msgstr ""
+"\n"
+" Flaggor för %s:\n"
-#: collect2.c:2241 collect2.c:2647
-msgid "fclose"
-msgstr "fclose"
+#: toplev.c:3826
+msgid ""
+"\n"
+"Target specific options:\n"
+msgstr ""
+"\n"
+"Speciella flaggor för målarkitektur:\n"
-#: collect2.c:2286
+#: toplev.c:3840 toplev.c:3859
#, c-format
-msgid "unable to open file '%s'"
-msgstr "kan inte öppna fil \"%s\""
+msgid " -m%-23.23s [undocumented]\n"
+msgstr " -m%-23.23s [odokumenterad]\n"
-#: collect2.c:2288
-#, c-format
-msgid "unable to stat file '%s'"
+#: toplev.c:3868
+msgid ""
+"\n"
+"There are undocumented target specific options as well.\n"
msgstr ""
+"\n"
+"Det finns dessutom odokumenterade flaggor speciellt för målarkitekturen.\n"
-#: collect2.c:2294
-#, c-format
-msgid "unable to mmap file '%s'"
-msgstr "kan inte göra mmap på fil \"%s\""
-
-#: collect2.c:2447
-msgid "not found\n"
-msgstr "hittades inte\n"
+#: toplev.c:3870
+msgid " They exist, but they are not documented.\n"
+msgstr " De finns, men är inte dokumenterade.\n"
-#: collect2.c:2449 collect2.c:2626
+#: toplev.c:3923
#, c-format
-msgid "dynamic dependency %s not found"
-msgstr ""
+msgid "unrecognized gcc debugging option: %c"
+msgstr "ej igenkänd debuggningsflagga för gcc: %c"
-#: collect2.c:2469
+#: toplev.c:3979
+#, fuzzy, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "\"%s\": okänd eller icke supportad flagga till -g"
+
+#: toplev.c:4006
#, c-format
-msgid "bad magic number in file '%s'"
-msgstr "felaktigt magiskt nummer i fil \"%s\""
+msgid "unrecognized register name `%s'"
+msgstr "Känner inte igen registernamn \"%s\""
-#: collect2.c:2491
-msgid "dynamic dependencies.\n"
-msgstr "dynamiskt beroende.\n"
+#: toplev.c:4031 toplev.c:4965
+#, fuzzy, c-format
+msgid "unrecognized option `%s'"
+msgstr "ej igenkänd flagga `-%s'"
-#: collect2.c:2550
-msgid "cannot find `ldd'"
-msgstr "kan inte hitta \"ldd\""
+#: toplev.c:4075
+#, fuzzy
+msgid "-Wid-clash-LEN is no longer supported"
+msgstr "-f%s stödjs inte längre"
-#: collect2.c:2598
+#: toplev.c:4152
#, c-format
-msgid "execv %s"
-msgstr "execv %s"
+msgid "use -gdwarf -g%d for DWARF v1, level %d"
+msgstr ""
-#: collect2.c:2611
-msgid ""
-"\n"
-"ldd output with constructors/destructors.\n"
+#: toplev.c:4155
+msgid "use -gdwarf-2 for DWARF v2"
msgstr ""
-#: collect2.c:2638
+#: toplev.c:4160
#, c-format
-msgid "unable to open dynamic dependency '%s'"
+msgid "ignoring option `%s' due to invalid debug level specification"
msgstr ""
-#: collect2.c:2752
+#: toplev.c:4183 toplev.c:4963
#, c-format
-msgid "%s: not a COFF file"
-msgstr "%s: är inte en COFF-fil"
+msgid "`%s': unknown or unsupported -g option"
+msgstr "\"%s\": okänd eller icke supportad flagga till -g"
-#: collect2.c:2871
+#: toplev.c:4190
#, c-format
-msgid "%s: cannot open as COFF file"
-msgstr "%s: kan inte öppna som COFF-fil"
+msgid "`%s' ignored, conflicts with `-g%s'"
+msgstr "\"%s\" ignorerad, i konflikt med \"-g%s\""
-#: collect2.c:2927
-#, c-format
-msgid "Library lib%s not found"
-msgstr "Hittade inte bibliotek lib%s"
+#: toplev.c:4269
+msgid "-param option missing argument"
+msgstr ""
-#: collect2.c:3056
+#: toplev.c:4278
#, c-format
-msgid "open %s"
-msgstr "open %s"
+msgid "invalid --param option: %s"
+msgstr "ogiltig flagga till --param: %s"
-#: collect2.c:3079
-msgid "incompatibilities between object file & expected values"
-msgstr ""
+#: toplev.c:4290
+#, c-format
+msgid "invalid parameter value `%s'"
+msgstr "ogiltigt parametervärde \"%s\""
-#: collect2.c:3152
+#: toplev.c:4530
#, c-format
msgid ""
-"\n"
-"Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+"%s%s%s version %s (%s)\n"
+"%s\tcompiled by GNU C version %s.\n"
+"%s%s%s version %s (%s) compiled by CC.\n"
msgstr ""
-"\n"
-"Processar symboltabell #%d, index = 0x%.8lx, sort = %s\n"
-#: collect2.c:3161
-msgid "string section missing"
-msgstr "strängsektionen saknas"
-
-#: collect2.c:3164
-msgid "section pointer missing"
-msgstr "sektionspekare saknas"
+#: toplev.c:4586
+msgid "options passed: "
+msgstr ""
-#: collect2.c:3212
-msgid "no symbol table found"
-msgstr "hittade ingen symboltabell"
+#: toplev.c:4615
+msgid "options enabled: "
+msgstr ""
-#: collect2.c:3225
-msgid "no cmd_strings found"
-msgstr "hittar ingen cmd_strings"
+#: toplev.c:4674 java/jcf-write.c:3421
+#, c-format
+msgid "can't open %s for writing"
+msgstr "kan inte öppna fil %s för skrivning"
-#: collect2.c:3237
-msgid ""
-"\n"
-"Updating header and load commands.\n"
-"\n"
-msgstr ""
+#: toplev.c:4955
+#, fuzzy, c-format
+msgid "ignoring command line option '%s'"
+msgstr "Ignorerar kommandoradsflagga \"%s\""
-#: collect2.c:3244
+#: toplev.c:4958
#, c-format
-msgid "load command map, %d cmds, new size %ld.\n"
-msgstr "ladda kommandomappning, %d kommandon, ny storlek %ld.\n"
+msgid "(it is valid for %s but not the selected language)"
+msgstr ""
-#: collect2.c:3275
-msgid ""
-"writing load commands.\n"
-"\n"
+#: toplev.c:4992
+msgid "-Wuninitialized is not supported without -O"
msgstr ""
-#: collect2.c:3295
-#, c-format
-msgid "close %s"
+#: toplev.c:5047
+msgid "instruction scheduling not supported on this target machine"
msgstr ""
-#: collect2.c:3369
-msgid "could not convert 0x%l.8x into a region"
+#: toplev.c:5051
+msgid "this target machine does not have delayed branches"
msgstr ""
-#: collect2.c:3373
+#: toplev.c:5065
#, c-format
-msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+msgid "-f%sleading-underscore not supported on this target machine"
msgstr ""
-#: collect2.c:3500
-msgid "bad magic number"
+#: toplev.c:5128
+#, fuzzy
+msgid "-ffunction-sections not supported for this target"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
+
+#: toplev.c:5133
+#, fuzzy
+msgid "-fdata-sections not supported for this target"
+msgstr "-fdata-sections stöds inte för AIX"
+
+#: toplev.c:5140
+msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr ""
-#: collect2.c:3501
-msgid "bad header version"
+#: toplev.c:5147
+#, fuzzy
+msgid "-fprefetch-loop-arrays not supported for this target"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
+
+#: toplev.c:5153
+msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr ""
-#: collect2.c:3502
-msgid "bad raw header version"
+#: toplev.c:5162
+#, fuzzy
+msgid "-fprefetch-loop-arrays is not supported with -Os"
+msgstr "profilering stöds inte tillsammans med -mg\n"
+
+#: toplev.c:5168
+msgid "-ffunction-sections may affect debugging on some targets"
msgstr ""
-#: collect2.c:3503
-msgid "raw header buffer too small"
+#: toplev.c:5280
+#, c-format
+msgid "error writing to %s"
+msgstr "fel vid skrivning till %s"
+
+#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428
+#, c-format
+msgid "error closing %s"
+msgstr "fel vid stängning av %s"
+
+#: tree-dump.c:702
+#, c-format
+msgid "could not open dump file `%s'"
+msgstr "kunde inte öppna dump-fil \"%s\""
+
+#: tree-dump.c:778
+#, fuzzy, c-format
+msgid "ignoring unknown option `%.*s' in `-f%s'"
+msgstr "Ignorerar kommandoradsflagga \"%s\""
+
+#: tree.c:3645
+msgid "arrays of functions are not meaningful"
msgstr ""
-#: collect2.c:3504
-msgid "old raw header file"
+#: tree.c:3702
+msgid "function return type cannot be function"
msgstr ""
-#: collect2.c:3505
-msgid "unsupported version"
-msgstr "ej stödd version"
+#: tree.c:4544
+msgid "invalid initializer for bit string"
+msgstr ""
-#: collect2.c:3507
+#: tree.c:4603
#, c-format
-msgid "unknown {de,en}code_mach_o_hdr return value %d"
+msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr ""
-#: collect2.c:3527
+#: tree.c:4620
#, c-format
-msgid "fstat %s"
-msgstr "fstat %s"
+msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
+msgstr ""
-#: collect2.c:3564 collect2.c:3612
+#: tree.c:4637
#, c-format
-msgid "lseek %s 0"
-msgstr "lseek %s 0"
+msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+msgstr ""
-#: collect2.c:3568
+#: varasm.c:455 config/i386/winnt.c:546
#, c-format
-msgid "read %s"
-msgstr "read %s"
+msgid "%s causes a section type conflict"
+msgstr ""
-#: collect2.c:3571
+#: varasm.c:841
#, c-format
-msgid "read %ld bytes, expected %ld, from %s"
-msgstr "läste %ld bytes, förväntade %ld, från %s"
+msgid "register name not specified for `%s'"
+msgstr ""
-#: collect2.c:3592
+#: varasm.c:843
#, c-format
-msgid "msync %s"
-msgstr "msync %s"
+msgid "invalid register name for `%s'"
+msgstr ""
-#: collect2.c:3599
+#: varasm.c:846
#, c-format
-msgid "munmap %s"
-msgstr "munmap %s"
+msgid "data type of `%s' isn't suitable for a register"
+msgstr ""
-#: collect2.c:3616
+#: varasm.c:849
#, c-format
-msgid "write %s"
-msgstr "write %s"
+msgid "register specified for `%s' isn't suitable for data type"
+msgstr ""
-#: collect2.c:3619
-#, c-format
-msgid "wrote %ld bytes, expected %ld, to %s"
-msgstr "skrev %ld bytes, förväntade %ld, till %s"
+#: varasm.c:858
+msgid "global register variable has initial value"
+msgstr "global registervariabel har startvärde"
+
+#: varasm.c:861
+msgid "volatile register variables don't work as you might wish"
+msgstr ""
-#: combine.c:12577
+#: varasm.c:894
#, c-format
-msgid ""
-";; Combiner statistics: %d attempts, %d substitutions (%d requiring new "
-"space),\n"
-";; %d successes.\n"
-"\n"
+msgid "register name given for non-register variable `%s'"
msgstr ""
-#: combine.c:12587
+#: varasm.c:1542
#, c-format
-msgid ""
-"\n"
-";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
-";; %d successes.\n"
+msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr ""
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
msgstr ""
-#: config/a29k/a29k.c:1007
-#, c-format
-msgid "invalid %%Q value"
-msgstr "ogiltigt %%Q-värde"
+#: varasm.c:1608
+#, fuzzy, c-format
+msgid "requested alignment for %s is greater than implemented alignment of %d"
+msgstr "efterrågad minnesjustering är inte en potens av 2"
-#: config/a29k/a29k.c:1013 config/alpha/alpha.c:4055
-#, c-format
-msgid "invalid %%C value"
-msgstr "ogiltigt %%C-värde"
+#: varasm.c:4020
+msgid "initializer for integer value is too complicated"
+msgstr ""
-#: config/a29k/a29k.c:1019 config/alpha/alpha.c:3919
-#: config/rs6000/rs6000.c:4084
-#, c-format
-msgid "invalid %%N value"
-msgstr "ogiltigt %%N-värde"
+#: varasm.c:4025
+msgid "initializer for floating value is not a floating constant"
+msgstr ""
+
+#: varasm.c:4075
+msgid "unknown set constructor type"
+msgstr ""
-#: config/a29k/a29k.c:1025 config/alpha/alpha.c:3990
-#: config/rs6000/rs6000.c:4046
+#: varasm.c:4289
#, c-format
-msgid "invalid %%M value"
-msgstr "ogiltigt %%M-värde"
+msgid "invalid initial value for member `%s'"
+msgstr ""
-#: config/a29k/a29k.c:1031 config/alpha/alpha.c:3982
-#: config/rs6000/rs6000.c:4011
+#: varasm.c:4480 varasm.c:4523
#, c-format
-msgid "invalid %%m value"
-msgstr "ogiltigt %%m-värde"
+msgid "weak declaration of `%s' must precede definition"
+msgstr ""
-#: config/a29k/a29k.c:1133 config/alpha/alpha.c:3943 config/romp/romp.c:677
+#: varasm.c:4487
#, c-format
-msgid "invalid %%L value"
-msgstr "ogiltigt %%L-värde"
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr ""
-#: config/a29k/a29k.c:1138 config/rs6000/rs6000.c:4092
+#: varasm.c:4521
#, c-format
-msgid "invalid %%O value"
-msgstr "ogiltigt %%O-värde"
+msgid "weak declaration of `%s' must be public"
+msgstr ""
-#: config/a29k/a29k.c:1144 config/alpha/alpha.c:3927
-#: config/rs6000/rs6000.c:4111
+#: varasm.c:4530
+#, fuzzy, c-format
+msgid "weak declaration of `%s' not supported"
+msgstr "omdeklaration av \"%s\""
+
+#: varasm.c:4557 varasm.c:4632
+msgid "only weak aliases are supported in this configuration"
+msgstr ""
+
+#: varasm.c:4640
+msgid "alias definitions not supported in this configuration; ignored"
+msgstr ""
+
+#: varasm.c:4670
+#, fuzzy
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
+
+#: varray.c:134
#, c-format
-msgid "invalid %%P value"
-msgstr "ogiltigt %%P-värde"
+msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
+msgstr ""
-#: config/a29k/a29k.c:1154
+#. Print an error message for unrecognized stab codes.
+#: xcoffout.c:175
#, c-format
-msgid "invalid %%V value"
-msgstr "ogiltigt %%V-värde"
+msgid "no sclass for %s stab (0x%x)\n"
+msgstr ""
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
+#: pretty-print.h:97
+#, fuzzy, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "\"%s\" stöds inte av %s"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eliglible for inlining"
msgstr ""
-#: config/a29k/a29k.h:102
-msgid "Generate code assuming DW bit is not set"
+#: params.def:74
+msgid "The maximuem number of instructions by repeated inlining before gcc starts to throttle inlining"
msgstr ""
-#: config/a29k/a29k.h:103
-msgid "Generate code using byte writes"
+#: 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 ""
-#: config/a29k/a29k.h:104
-msgid "Do not generate byte writes"
+#: params.def:100
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
msgstr ""
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
-msgstr "Använd liten minnesmodell"
+#: params.def:111
+msgid "The maximum number of instructions to consider to fill a delay slot"
+msgstr ""
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
-msgstr "Använd normal minnesmodell"
+#: params.def:122
+msgid "The maximum number of instructions to consider to find accurate live register information"
+msgstr ""
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
-msgstr "Använd stor minnesmodell"
+#: params.def:132
+msgid "The maximum length of scheduling's pending operations list"
+msgstr ""
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
+#: params.def:139
+msgid "The maximum amount of memory to be allocated by GCSE"
msgstr ""
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
+#: params.def:144
+msgid "The maximum number of passes to make when doing GCSE"
msgstr ""
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
+#: params.def:151
+msgid "The maximum number of instructions to consider to unroll in a loop"
msgstr ""
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
+#: 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:112
-msgid "Emit stack checking code"
-msgstr "Generera kod för stackkontroll"
+#: 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:113
-msgid "Do not emit stack checking code"
-msgstr "Generera inte kod för stackkontroll"
+#: 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:114
-msgid "Work around storem hardware bug"
-msgstr "Fix för storem hårdvarubugg"
+#: 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:115
-msgid "Do not work around storem hardware bug"
-msgstr "Fixa inte storem hårdvarubugg"
+#: params.def:176
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr ""
-#: config/a29k/a29k.h:116
-msgid "Store locals in argument registers"
+#: 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:117
-msgid "Do not store locals in arg registers"
+#: 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:118 config/i960/i960.h:288 config/mips/mips.h:382
-msgid "Use software floating point"
-msgstr "Använd mjukvaruflytttal"
+#: 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 ""
+
+#: 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:119
-msgid "Do not generate multm instructions"
+#: params.def:210
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
msgstr ""
-#: config/alpha/alpha.c:201
+#: config/darwin-c.c:75
+msgid "too many #pragma options align=reset"
+msgstr ""
+
+#: 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/darwin-c.c:107
+#, fuzzy
+msgid "junk at end of '#pragma options'"
+msgstr "skräp vid slutet av \"#pragma %s\""
+
+#: config/darwin-c.c:117
+msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+msgstr ""
+
+#: config/darwin-c.c:130
+#, fuzzy
+msgid "missing '(' after '#pragma unused', ignoring"
+msgstr "saknas '(' efter predikat"
+
+#: config/darwin-c.c:148
+#, fuzzy
+msgid "missing ')' after '#pragma unused', ignoring"
+msgstr "saknas '(' efter predikat"
+
+#: config/darwin-c.c:151
+#, fuzzy
+msgid "junk at end of '#pragma unused'"
+msgstr "skräp vid slutet av \"#pragma %s\""
+
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
+msgid "-msystem-v and -p are incompatible"
+msgstr ""
+
+#: 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:342
+#, fuzzy, c-format
+msgid "-f%s ignored for Unicos/Mk (not supported)"
+msgstr "-pipe stöds inte."
+
+#: config/alpha/alpha.c:366
+#, fuzzy
+msgid "-mieee not supported on Unicos/Mk"
+msgstr "-pipe stöds inte"
+
+#: config/alpha/alpha.c:377
+msgid "-mieee-with-inexact not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr ""
-#: config/alpha/alpha.c:215
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr ""
-#: config/alpha/alpha.c:230
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr ""
-#: config/alpha/alpha.c:249 config/alpha/alpha.c:261
+#: config/alpha/alpha.c:435
+#, fuzzy, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "ogiltigt värde (%s) till flagga -mcpu"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr ""
-#: config/alpha/alpha.c:269
+#: config/alpha/alpha.c:473
+msgid "trap mode not supported on Unicos/Mk"
+msgstr ""
+
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr ""
-#: config/alpha/alpha.c:285
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
msgstr ""
-#: config/alpha/alpha.c:290
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
msgstr ""
-#: config/alpha/alpha.c:319
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr ""
-#: config/alpha/alpha.c:334
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr "ogiltigt värde \"%s\" till -memory-latency"
-#: config/alpha/alpha.c:3901 config/ia64/ia64.c:3368
+#: 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:5625
+#, fuzzy, c-format
+msgid "invalid %%J value"
+msgstr "ogiltigt värde %%B"
+
+#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "ogiltigt %%r-värde"
-#: config/alpha/alpha.c:3912 config/rs6000/rs6000.c:4157
+#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700
#, c-format
msgid "invalid %%R value"
msgstr "ogiltigt %%R-värde"
-#: config/alpha/alpha.c:3935 config/romp/romp.c:719 config/romp/romp.c:726
+#: config/alpha/alpha.c:5657 config/rs6000/rs6000.c:7626
+#, c-format
+msgid "invalid %%N value"
+msgstr "ogiltigt %%N-värde"
+
+#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654
+#, c-format
+msgid "invalid %%P value"
+msgstr "ogiltigt %%P-värde"
+
+#: 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 "ogiltigt %%h-värde"
-#: config/alpha/alpha.c:4025
+#: config/alpha/alpha.c:5681 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "ogiltigt %%L-värde"
+
+#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608
+#, c-format
+msgid "invalid %%m value"
+msgstr "ogiltigt %%m-värde"
+
+#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616
+#, c-format
+msgid "invalid %%M value"
+msgstr "ogiltigt %%M-värde"
+
+#: config/alpha/alpha.c:5772
#, c-format
msgid "invalid %%U value"
msgstr "ogiltigt %%U-värde"
-#: config/alpha/alpha.c:4033 config/alpha/alpha.c:4044 config/romp/romp.c:685
-#: config/rs6000/rs6000.c:4165
+#: 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 "ogiltigt %%s-värde"
-#: config/alpha/alpha.c:4092 config/rs6000/rs6000.c:3875
+#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "ogiltigt %%C-värde"
+
+#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7465
#, c-format
msgid "invalid %%E value"
msgstr "ogiltigt %%E-värde"
-#: config/alpha/alpha.c:4113 config/romp/romp.c:960
-#: config/rs6000/rs6000.c:4458
+#: 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 ""
+
# fixme: fp = flyttal, men hur skall man skriva det. Förkortat eller FPU?
#. 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:206 config/i386/i386.h:266 config/i386/i386.h:268
-#: config/i386/i386.h:270 config/ns32k/ns32k.h:103 config/rs6000/rs6000.h:303
-#: config/sparc/sparc.h:577 config/sparc/sparc.h:582
+#: 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 "Använd hårdvaru-fp"
-#: config/alpha/alpha.h:207 config/i386/i386.h:267 config/i386/i386.h:269
-#: config/rs6000/rs6000.h:305 config/sparc/sparc.h:579
-#: config/sparc/sparc.h:584
+#: 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 "Använd inte hårdvaru-fp"
-#: config/alpha/alpha.h:208
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr ""
-#: config/alpha/alpha.h:210
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr ""
-#: config/alpha/alpha.h:211
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
msgstr "Antag inte GAS"
-#: config/alpha/alpha.h:212
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
msgstr "Antag GAS"
-#: config/alpha/alpha.h:214
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
msgstr ""
-#: config/alpha/alpha.h:216
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr ""
-#: config/alpha/alpha.h:218
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr ""
-#: config/alpha/alpha.h:220
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
msgstr ""
-#: config/alpha/alpha.h:221
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr "Använd VAX fp"
-#: config/alpha/alpha.h:222
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr "Använd inte VAX fp"
-#: config/alpha/alpha.h:223
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr ""
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr ""
-#: config/alpha/alpha.h:229
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr ""
-#: config/alpha/alpha.h:231
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an initializer
-#. with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the fixed
-#. part of the option name, and the address of a variable. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
+#: config/alpha/alpha.h:307
+msgid "Emit code using explicit relocation directives"
+msgstr ""
+
+#: config/alpha/alpha.h:310
+msgid "Emit 16-bit relocations to the small data areas"
+msgstr ""
+
+#: 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:268
+#. For -mtls-size=
+#: config/alpha/alpha.h:343
msgid "Use features of and schedule given CPU"
msgstr ""
-#: config/alpha/alpha.h:270
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
msgstr "Schemalägg för given CPU"
-#: config/alpha/alpha.h:272
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr ""
-#: config/alpha/alpha.h:274
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr ""
-#: config/alpha/alpha.h:276
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr ""
-#: config/alpha/alpha.h:278
+#: config/alpha/alpha.h:353
msgid "Tune expected memory latency"
msgstr ""
-#. The names we put in the hashtable will always be the unique versions gived to us by the stringtable, so we can just use their addresses as the keys.
-#. See if we already have an entry for this section.
-#: config/alpha/elf.h:354 config/elfos.h:466 config/i386/sco5.h:492
-#: config/pa/pa64-hpux.h:246 config/rs6000/sysv4.h:971
-#, c-format
-msgid "%s causes a section type conflict"
+#: config/alpha/alpha.h:355 config/ia64/ia64.h:221
+msgid "Specify bit size of immediate TLS offsets"
msgstr ""
-#: config/arc/arc.c:108
+#: config/arc/arc.c:135
#, c-format
msgid "bad value (%s) for -mcpu switch"
msgstr "ogiltigt värde (%s) till flagga -mcpu"
-#: config/arc/arc.c:1666 config/m32r/m32r.c:2221
-msgid "invalid operand to %R code"
+#: config/arc/arc.c:362
+#, fuzzy, c-format
+msgid "argument of `%s' attribute is not a string constant"
+msgstr "argumentet till \"asm\" är inte en konstant sträng"
+
+#: config/arc/arc.c:369
+#, c-format
+msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
+msgstr ""
+
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
+#, fuzzy, c-format
+msgid "invalid operand to %%R code"
msgstr "ogiltig operand för %R"
-#: config/arc/arc.c:1698 config/m32r/m32r.c:2244
-msgid "invalid operand to %H/%L code"
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
+#, fuzzy, c-format
+msgid "invalid operand to %%H/%%L code"
msgstr "ogiltig operand för %H/%L"
-#: config/arc/arc.c:1722 config/m32r/m32r.c:2321
-msgid "invalid operand to %U code"
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
+#, fuzzy, c-format
+msgid "invalid operand to %%U code"
msgstr "ogiltig operand för %U"
-#: config/arc/arc.c:1733
-msgid "invalid operand to %V code"
+#: config/arc/arc.c:1774
+#, fuzzy, c-format
+msgid "invalid operand to %%V code"
msgstr "ogiltig operand för %V"
#. Unknown flag.
-#: config/arc/arc.c:1740 config/m32r/m32r.c:2360 config/sparc/sparc.c:5888
+#: 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:372
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr "flagga -mcpu=%s står i konflikt med flagga -march="
-#: config/arm/arm.c:382 config/rs6000/rs6000.c:311 config/sparc/sparc.c:317
+#: 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 "ogiltigt värde (%s) till flagga %s"
-#: config/arm/arm.c:518
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
msgstr "målprocessorn stödjer inte APCS-32"
-#: config/arm/arm.c:523
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
msgstr "målprocessorn stödjer inte APCS-26"
-#: config/arm/arm.c:529
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
msgstr ""
-#: config/arm/arm.c:535
-msgid "target CPU does not support THUMB instructions."
+#: config/arm/arm.c:622
+#, fuzzy
+msgid "target CPU does not support THUMB instructions"
msgstr "målprocessorn stödjer inte THUMB-instruktioner"
-#: config/arm/arm.c:549
-msgid ""
-"enabling backtrace support is only meaningful when compiling for the Thumb."
+#: config/arm/arm.c:636
+msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:552
-msgid ""
-"enabling callee interworking support is only meaningful when compiling for "
-"the Thumb."
+#: config/arm/arm.c:639
+msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:555
-msgid ""
-"enabling caller interworking support is only meaningful when compiling for "
-"the Thumb."
+#: config/arm/arm.c:642
+msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr ""
-#: config/arm/arm.c:561
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr ""
-#: config/arm/arm.c:567
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
-msgstr ""
+msgstr "-mapcs-stack-check är inkompatibel med -mno-apcs-frame"
-#: config/arm/arm.c:575
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic och -mapcs-reent är inkompatibla"
-#: config/arm/arm.c:578
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr ""
-#: config/arm/arm.c:586
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr ""
-#: config/arm/arm.c:594
-msgid "Passing floating point arguments in fp regs not yet supported"
+#: config/arm/arm.c:681
+msgid "passing floating point arguments in fp regs not yet supported"
msgstr ""
-#: config/arm/arm.c:623
+#: config/arm/arm.c:710
#, c-format
-msgid "Invalid floating point emulation option: -mfpe-%s"
+msgid "invalid floating point emulation option: -mfpe-%s"
msgstr ""
-#: config/arm/arm.c:647
-msgid "Structure size boundary can only be set to 8 or 32"
+#: config/arm/arm.c:734
+#, fuzzy
+msgid "structure size boundary can only be set to 8 or 32"
msgstr "Strukturstorleksgräns kan bara sättas till 8 eller 32"
-#: config/arm/arm.c:655
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr "-mpic-register= är oanvändbar utan -fpic"
-#: config/arm/arm.c:664
+#: config/arm/arm.c:749
#, c-format
-msgid "Unable to use '%s' for PIC register"
+msgid "unable to use '%s' for PIC register"
msgstr ""
-#. FIXME - the way to handle this situation is to allow
-#. the pretend args to be dumped onto the stack, then
-#. reuse r3 to save IP. This would involve moving the
-#. copying of SP into IP until after the pretend args
-#. have been dumped, but this is not too hard.
-#. [See e.g. gcc.c-torture/execute/nest-stdar-1.c.]
-#: config/arm/arm.c:7836
-msgid "Unable to find a temporary location for static chain register"
-msgstr ""
+#: 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
+#, fuzzy, c-format
+msgid "`%s' attribute only applies to functions"
+msgstr "attributet \"%s\" fungerar bara på funktioner"
-#: config/arm/arm.c:8798
-msgid "Unable to compute real location of stacked parameter"
+#: config/arm/arm.c:9474
+msgid "unable to compute real location of stacked parameter"
msgstr ""
-#: config/arm/arm.c:9492
+#: config/arm/arm.c:10153
msgid "no low registers available for popping high registers"
msgstr ""
-#: config/arm/arm.c:9704
-msgid "Interrupt Service Routines cannot be coded in Thumb mode."
+#: config/arm/arm.c:10404
+msgid "interrupt Service Routines cannot be coded in Thumb mode"
msgstr ""
-#: config/arm/arm.h:421
+#: 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 "initierad variabel \"%s\" är markerad som dllimport"
+
+#: config/arm/pe.c:177 config/i386/winnt.c:312
+#, c-format
+msgid "static variable `%s' is marked dllimport"
+msgstr "statisk variabel \"%s\" är markerad som dllimport"
+
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr ""
-#: config/arm/arm.h:424
+#: config/arm/arm.h:419
msgid "Store function names in object code"
msgstr ""
-#: config/arm/arm.h:428
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr "Använd 32-bit version av APCS"
-#: config/arm/arm.h:430
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr "Använd 26-bit version av APCS"
-#: config/arm/arm.h:434
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr "Skicka FP-argument i FP-register"
-#: config/arm/arm.h:437
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr ""
-#: config/arm/arm.h:440
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr ""
-#: config/arm/arm.h:447
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
msgstr "Använd biblioteksrutiner för FP-operationer"
-#: config/arm/arm.h:449 config/i960/i960.h:286
+#: config/arm/arm.h:444 config/i960/i960.h:281
msgid "Use hardware floating point instructions"
msgstr "Använd flyttalsinstruktioner i hårdvara"
-#: config/arm/arm.h:451
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
msgstr "Antag att mål-CPU:n är konfigurerad som \"big endian\""
-#: config/arm/arm.h:453
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
msgstr "Antag att mål-CPU:n är konfigurerad som \"little endian\""
-#: config/arm/arm.h:455
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
msgstr "Antag att bytes är \"big endian\", ord är \"little endian\""
-#: config/arm/arm.h:457
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr ""
-#: config/arm/arm.h:460
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr ""
-#: config/arm/arm.h:463
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr ""
-#: config/arm/arm.h:466
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr ""
-#: config/arm/arm.h:469
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr ""
-#: config/arm/arm.h:472
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr ""
-#: config/arm/arm.h:476
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr ""
-#: config/arm/arm.h:479
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
msgstr ""
-#: config/arm/arm.h:482
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
msgstr ""
-#: config/arm/arm.h:486
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
msgstr ""
-#: config/arm/arm.h:496
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
msgstr "Ange namnet på målprocessorn"
-#: config/arm/arm.h:498
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr "Ange namnet på målarkitekturen"
-#: config/arm/arm.h:502
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr ""
-#: config/arm/arm.h:504
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr ""
-#: config/arm/arm.h:506
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
msgstr ""
-#: config/arm/pe.c:255 config/i386/winnt.c:339 config/mcore/mcore.c:3399
-#, c-format
-msgid "initialized variable `%s' is marked dllimport"
-msgstr "initierad variabel \"%s\" är markerad som dllimport"
-
-#: config/arm/pe.c:264 config/i386/winnt.c:348
-#, c-format
-msgid "static variable `%s' is marked dllimport"
-msgstr "statisk variabel \"%s\" är markerad som dllimport"
-
-#: config/arm/pe.h:62
+#: config/arm/pe.h:65
msgid "Ignore dllimport attribute for functions"
msgstr "Ignorera attributet dllimport för funktioner"
-#. 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"
+#: config/avr/avr.c:528
+#, c-format
+msgid "large frame pointer change (%d) with -mtiny-stack"
msgstr ""
-#: config/arm/riscix.h:85
-msgid "Do symbol renaming for X/OPEN"
+#: config/avr/avr.c:1135
+msgid "bad address, not (reg+disp):"
msgstr ""
-#: config/arm/riscix.h:86
-msgid "Don't do symbol renaming"
-msgstr ""
+#: config/avr/avr.c:1143
+#, fuzzy
+msgid "internal compiler error. Bad address:"
+msgstr "Internt kompilatorfel i %s, vid %s:%d"
-#: config/avr/avr.c:190
-#, c-format
-msgid "MCU `%s' not supported"
-msgstr "MCU \"%s\" stöds inte"
+#: config/avr/avr.c:1156
+#, fuzzy
+msgid "internal compiler error. Unknown mode:"
+msgstr "Internt kompilatorfel i %s, vid %s:%d"
-#: config/avr/avr.c:430
-#, c-format
-msgid "large frame pointer change (%d) with -mtiny-stack"
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
+#, fuzzy
+msgid "invalid insn:"
+msgstr "ogiltig #line"
+
+#: 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:4704
-msgid "Only initialized variables can be placed into program memory area."
+#: config/avr/avr.c:2064 config/avr/avr.c:2228 config/avr/avr.c:2386
+#: config/avr/avr.c:2768
+#, fuzzy
+msgid "unknown move insn:"
+msgstr "okänt registernamn: %s"
+
+#: config/avr/avr.c:3003
+msgid "bad shift insn:"
msgstr ""
-#. `TARGET_...'
-#. This series of macros is to allow compiler command arguments to
-#. enable or disable the use of optional features of the target
-#. machine. For example, one machine description serves both the
-#. 68000 and the 68020; a command argument tells the compiler whether
-#. it should use 68020-only instructions or not. This command
-#. argument works by means of a macro `TARGET_68020' that tests a bit
-#. in `target_flags'.
-#.
-#. Define a macro `TARGET_FEATURENAME' for each such option. Its
-#. definition should test a bit in `target_flags'; for example:
-#.
-#. #define TARGET_68020 (target_flags & 1)
-#.
-#. One place where these macros are used is in the
-#. condition-expressions of instruction patterns. Note how
-#. `TARGET_68020' appears frequently in the 68000 machine description
-#. file, `m68k.md'. Another place they are used is in the
-#. definitions of the other macros in the `MACHINE.h' file.
-#: config/avr/avr.h:99
+#: config/avr/avr.c:3119 config/avr/avr.c:3549 config/avr/avr.c:3929
+#, fuzzy
+msgid "internal compiler error. Incorrect shift:"
+msgstr "Internt kompilatorfel i %s, vid %s:%d"
+
+#: config/avr/avr.c:4767
+#, fuzzy
+msgid "only initialized variables can be placed into program memory area"
+msgstr "Initiera bara variabler som kan placeras i 8-bits området."
+
+#: config/avr/avr.c:4866
+#, fuzzy
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr "Initiera bara variabler som kan placeras i 8-bits området."
+
+#: config/avr/avr.c:4881
+#, fuzzy, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "MCU \"%s\" stöds inte"
+
+#: config/avr/avr.h:78
msgid "Assume int to be 8 bit integer"
msgstr ""
-#: config/avr/avr.h:101
+#: config/avr/avr.h:80
msgid "Change the stack pointer without disabling interrupts"
msgstr ""
-#: config/avr/avr.h:103
+#: config/avr/avr.h:82
msgid "Use subroutines for function prologue/epilogue"
msgstr ""
-#: config/avr/avr.h:105
+#: config/avr/avr.h:84
msgid "Change only the low 8 bits of the stack pointer"
msgstr ""
-#: config/avr/avr.h:107
+#: config/avr/avr.h:86
msgid "Do not generate tablejump insns"
msgstr ""
-#: config/avr/avr.h:110
+#: 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:144
+#: config/avr/avr.h:108
msgid "Specify the initial stack address"
msgstr ""
-#: config/avr/avr.h:145
+#: config/avr/avr.h:109
msgid "Specify the MCU name"
msgstr ""
-#: config/avr/avr.h:2899
-msgid "Trampolines not supported\n"
+#. `GIV_SORT_CRITERION(GIV1, GIV2)'
+#. In some cases, the strength reduction optimization pass can
+#. produce better code if this is defined. This macro controls the
+#. order that induction variables are combined. This macro is
+#. particularly useful if the target has limited addressing modes.
+#. 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:2450
+#, fuzzy
+msgid "trampolines not supported"
+msgstr "-pipe stöds inte"
+
+#: config/c4x/c4x-c.c:69
+#, fuzzy, c-format
+msgid "missing '(' after '#pragma %s' - ignored"
+msgstr "saknas '(' efter predikat"
+
+#: config/c4x/c4x-c.c:72
+#, c-format
+msgid "missing function name in '#pragma %s' - ignored"
+msgstr ""
+
+#: config/c4x/c4x-c.c:77
+#, c-format
+msgid "malformed '#pragma %s' - ignored"
msgstr ""
-#: config/c4x/c4x.c:268
+#: config/c4x/c4x-c.c:79
#, c-format
-msgid "Unknown CPU version %d, using 40.\n"
+msgid "missing section name in '#pragma %s' - ignored"
msgstr ""
-#: config/c4x/c4x.c:859
+#: config/c4x/c4x-c.c:84
#, c-format
-msgid "ISR %s requires %d words of local vars, max is 32767."
+msgid "missing ')' for '#pragma %s' - ignored"
msgstr ""
-#: config/c4x/c4x.c:4525
+#: config/c4x/c4x-c.c:87
#, c-format
msgid "junk at end of '#pragma %s'"
msgstr "skräp vid slutet av \"#pragma %s\""
+#: config/c4x/c4x.c:280
+#, c-format
+msgid "unknown CPU version %d, using 40.\n"
+msgstr ""
+
+#: config/c4x/c4x.c:853
+#, c-format
+msgid "ISR %s requires %d words of local vars, max is 32767"
+msgstr ""
+
+#: config/c4x/c4x.c:1602
+msgid "using CONST_DOUBLE for address"
+msgstr ""
+
+#: config/c4x/c4x.c:1742
+msgid "c4x_address_cost: Invalid addressing mode"
+msgstr ""
+
+#: config/c4x/c4x.c:1884
+#, c-format
+msgid "c4x_print_operand: %%L inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:1890
+#, c-format
+msgid "c4x_print_operand: %%N inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:1931
+#, c-format
+msgid "c4x_print_operand: %%O inconsistency"
+msgstr ""
+
+#: config/c4x/c4x.c:2026
+msgid "c4x_print_operand: Bad operand case"
+msgstr ""
+
+#: config/c4x/c4x.c:2069
+msgid "c4x_print_operand_address: Bad post_modify"
+msgstr ""
+
+#: config/c4x/c4x.c:2091
+msgid "c4x_print_operand_address: Bad pre_modify"
+msgstr ""
+
+#: 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:2422
+msgid "c4x_rptb_insert: Cannot find start label"
+msgstr ""
+
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
+msgid "mode not QImode"
+msgstr ""
+
+#: config/c4x/c4x.c:3514
+msgid "invalid indirect memory address"
+msgstr ""
+
+#: config/c4x/c4x.c:3603
+msgid "invalid indirect (S) memory address"
+msgstr ""
+
+#: config/c4x/c4x.c:3944
+msgid "c4x_valid_operands: Internal error"
+msgstr ""
+
+#: config/c4x/c4x.c:4424
+msgid "c4x_operand_subword: invalid mode"
+msgstr ""
+
+#: 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:4453
+msgid "c4x_operand_subword: invalid autoincrement"
+msgstr ""
+
+#: config/c4x/c4x.c:4459
+msgid "c4x_operand_subword: invalid address"
+msgstr ""
+
+#: config/c4x/c4x.c:4470
+msgid "c4x_operand_subword: address not offsettable"
+msgstr ""
+
+#: config/c4x/c4x.c:4670
+msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
+msgstr ""
+
#. Name of the c4x assembler.
#. 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.
@@ -6677,359 +9276,585 @@ msgstr "skräp vid slutet av \"#pragma %s\""
#. 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 "Liten minnesmodell"
-#: config/c4x/c4x.h:143
+#: config/c4x/c4x.h:172
msgid "Big memory model"
msgstr "Stor minnesmodell"
-#: 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 "Generera kod för CPU C30"
-#: config/c4x/c4x.h:163
+#: config/c4x/c4x.h:192
msgid "Generate code for C31 CPU"
msgstr "Generera kod för CPU C31"
-#: config/c4x/c4x.h:165
+#: config/c4x/c4x.h:194
msgid "Generate code for C32 CPU"
msgstr "Generera kod för CPU C32"
-#: config/c4x/c4x.h:167
+#: config/c4x/c4x.h:196
msgid "Generate code for C33 CPU"
msgstr "Generera kod för CPU C33"
-#: config/c4x/c4x.h:169
+#: config/c4x/c4x.h:198
msgid "Generate code for C40 CPU"
msgstr "Generera kod för CPU C40"
-#: config/c4x/c4x.h:171
+#: config/c4x/c4x.h:200
msgid "Generate code for C44 CPU"
msgstr "Generera kod för CPU C44"
-#: 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 "Skicka argument på stacken"
-#: config/c4x/c4x.h:187
+#: config/c4x/c4x.h:216
msgid "Pass arguments in registers"
msgstr "Skicka argument i register"
-#: 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:321
+#: config/c4x/c4x.h:333
msgid "Specify maximum number of iterations for RPTS"
msgstr ""
-#: config/c4x/c4x.h:323
+#: config/c4x/c4x.h:335
msgid "Select CPU to generate code for"
msgstr "Välj CPU att generera kod för"
-#. 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 "Generera kod för C400"
+#: config/cris/cris.c:583
+msgid "unexpected index-type in cris_print_index"
+msgstr ""
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
-msgstr "Genrera kod för C300"
+#: config/cris/cris.c:599
+msgid "unexpected base-type in cris_print_base"
+msgstr ""
-#: config/convex/convex.h:52
-msgid "Generate code for c1"
-msgstr "Generera kod för c1"
+#: config/cris/cris.c:892
+#, c-format
+msgid "stackframe too big: %d bytes"
+msgstr ""
-#: config/convex/convex.h:53
-msgid "Generate code for c2"
-msgstr "Generera kod för c2"
+#: config/cris/cris.c:1207
+msgid "allocated but unused delay list in epilogue"
+msgstr ""
-#: config/convex/convex.h:54
-msgid "Generate code for c32"
-msgstr "Generera kod för c32"
+#: config/cris/cris.c:1217
+#, fuzzy
+msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+msgstr "funktion använder __builtin_eh_return"
-#: config/convex/convex.h:55 config/convex/convex.h:56
-msgid "Generate code for c34"
-msgstr "Generera kod för c34"
+#: config/cris/cris.c:1296
+#, fuzzy
+msgid "invalid operand for 'b' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1308
+#, fuzzy
+msgid "invalid operand for 'v' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1318
+#, fuzzy
+msgid "invalid operand for 'P' modifier"
+msgstr "ogiltig operand för %V"
-#: config/convex/convex.h:58
-msgid "Use standard calling sequence, with arg count word"
+#: config/cris/cris.c:1325
+#, fuzzy
+msgid "invalid operand for 'p' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1364
+#, fuzzy
+msgid "invalid operand for 'z' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1395 config/cris/cris.c:1425
+#, fuzzy
+msgid "invalid operand for 'H' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1401
+msgid "bad register"
msgstr ""
-#: config/convex/convex.h:60
-msgid "Place arg count in a nop instruction (faster than push)"
+#: config/cris/cris.c:1439
+#, fuzzy
+msgid "invalid operand for 'e' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1456
+#, fuzzy
+msgid "invalid operand for 'm' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1481
+#, fuzzy
+msgid "invalid operand for 'A' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1489
+#, fuzzy
+msgid "invalid operand for 'D' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1503
+#, fuzzy
+msgid "invalid operand for 'T' modifier"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1512
+#, fuzzy
+msgid "invalid operand modifier letter"
+msgstr "ogiltig operand för %V"
+
+#: config/cris/cris.c:1520
+#, fuzzy, c-format
+msgid "internal error: bad register: %d"
+msgstr "internt fel: "
+
+#: config/cris/cris.c:1568
+msgid "unexpected multiplicative operand"
msgstr ""
-#: config/convex/convex.h:62
-msgid "Don't push arg count, depend on symbol table"
+#: config/cris/cris.c:1588
+msgid "unexpected operand"
msgstr ""
-#: config/convex/convex.h:64
-msgid "Use data cache for volatile mem refs (default)"
+#: config/cris/cris.c:1623 config/cris/cris.c:1633
+#, fuzzy
+msgid "unrecognized address"
+msgstr "Känner inte igen registernamn \"%s\""
+
+#: config/cris/cris.c:1989
+msgid "internal error: sideeffect-insn affecting main effect"
msgstr ""
-#: config/convex/convex.h:66
-msgid "Don't use data cache for volatile mem refs"
+#. If we get here, the caller got its initial tests wrong.
+#: config/cris/cris.c:2276
+msgid "internal error: cris_side_effect_mode_ok with bad operands"
msgstr ""
-#: config/convex/convex.h:68
-msgid "Bypass data cache for volatile mem refs"
+#: config/cris/cris.c:2358 config/cris/cris.c:2416
+#, fuzzy
+msgid "unrecognized supposed constant"
+msgstr "ej igenkänd flagga `-%s'"
+
+#: config/cris/cris.c:2457
+msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr ""
-#: config/convex/convex.h:69
-msgid "Use 64-bit longs"
-msgstr "Använd 64-bits long"
+#: config/cris/cris.c:2476
+#, c-format
+msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+msgstr ""
-#: config/convex/convex.h:70
-msgid "Use cc- and libc-compatible 32-bit longs"
+#: config/cris/cris.c:2504
+#, c-format
+msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr ""
-#: config/d30v/d30v.c:186
+#: config/cris/cris.c:2540
#, c-format
-msgid "Bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+msgid "unknown CRIS cpu version specification in -mtune= : %s"
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.
-#.
-#. Each subgrouping contains a string constant, that defines the option name, a
-#. number, which contains the bits to set in `target_flags', and a second
-#. string which is the description displayed by `--help'. If the number is
-#. negative then the bits specified by the number are cleared instead of being
-#. set. If the description string is present but empty, then no help
-#. information will be displayed for that option, but it will not count as an
-#. undocumented option. The actual option name is made by appending `-m' to
-#. the specified name.
-#.
-#. One of the subgroupings should have a null string. The number in this
-#. grouping is the default value for target_flags. Any target options act
-#. starting with that value.
-#.
-#. Here is an example which defines -m68000 and -m68020 with opposite meanings,
-#. and picks the latter as the default:
-#.
-#. #define TARGET_SWITCHES { { "68020", TARGET_MASK_68020, "" }, { "68000", -TARGET_MASK_68020, "Compile for the 68000" }, { "", TARGET_MASK_68020, "" }}
-#: config/d30v/d30v.h:447
+#: config/cris/cris.c:2558
+msgid "-fPIC and -fpic are not supported in this configuration"
+msgstr ""
+
+#: config/cris/cris.c:2574
+msgid "that particular -g option is invalid with -maout and -melinux"
+msgstr ""
+
+#: 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:2950 config/cris/cris.c:2981
+msgid "unexpected PIC symbol"
+msgstr ""
+
+#: config/cris/cris.c:2954
+msgid "PIC register isn't set up"
+msgstr ""
+
+#: config/cris/cris.c:2967 config/cris/cris.c:3050
+msgid "unexpected address expression"
+msgstr ""
+
+#: config/cris/cris.c:2985
+msgid "emitting PIC operand, but PIC register isn't set up"
+msgstr ""
+
+#: config/cris/cris.c:2994
+msgid "unexpected NOTE as addr_const:"
+msgstr ""
+
+#: config/cris/aout.h:106
+msgid "Compile for the MMU-less Etrax 100-based elinux system"
+msgstr ""
+
+#: config/cris/aout.h:113
+msgid "For elinux, request a specified stack-size for this program"
+msgstr ""
+
+#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
+#: config/cris/cris.h:336
+msgid "Compile for ETRAX 4 (CRIS v3)"
+msgstr ""
+
+#: config/cris/cris.h:341
+msgid "Compile for ETRAX 100 (CRIS v8)"
+msgstr ""
+
+#: config/cris/cris.h:345
+msgid "Emit verbose debug information in assembly code"
+msgstr ""
+
+#: config/cris/cris.h:348
+#, fuzzy
+msgid "Do not use condition codes from normal instructions"
+msgstr "Använd inte bitfältsinstruktioner"
+
+#: config/cris/cris.h:352
+msgid "Do not emit addressing modes with side-effect assignment"
+msgstr ""
+
+#: config/cris/cris.h:355
+#, fuzzy
+msgid "Do not tune stack alignment"
+msgstr "Generera inte kod för stackkontroll"
+
+#: config/cris/cris.h:358
+msgid "Do not tune writable data alignment"
+msgstr ""
+
+#: config/cris/cris.h:361
+msgid "Do not tune code and read-only data alignment"
+msgstr ""
+
+#: config/cris/cris.h:370
+msgid "Align code and data to 32 bits"
+msgstr ""
+
+#: config/cris/cris.h:383
+msgid "Don't align items in code or data"
+msgstr ""
+
+#: config/cris/cris.h:386
+msgid "Do not emit function prologue or epilogue"
+msgstr ""
+
+#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
+#: config/cris/cris.h:390
+msgid "Use the most feature-enabling options allowed by other options"
+msgstr ""
+
+#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
+#: config/cris/cris.h:396
+msgid "Override -mbest-lib-options"
+msgstr ""
+
+#: config/cris/cris.h:428
+#, fuzzy
+msgid "Generate code for the specified chip or CPU version"
+msgstr "Generera kod för en given CPU"
+
+#: config/cris/cris.h:430
+#, fuzzy
+msgid "Tune alignment for the specified chip or CPU version"
+msgstr "minnesjustering kan inte anges för \"%s\""
+
+#: config/cris/cris.h:432
+msgid "Warn when a stackframe is larger than the specified size"
+msgstr ""
+
+#. Node: Profiling
+#: config/cris/cris.h:1019
+msgid "no FUNCTION_PROFILER for CRIS"
+msgstr ""
+
+#: config/cris/linux.h:74
+msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+msgstr ""
+
+#: config/d30v/d30v.c:207
+#, c-format
+msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+msgstr ""
+
+#: config/d30v/d30v.c:2666
+msgid "bad insn to d30v_print_operand_address:"
+msgstr ""
+
+#: 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:2851
+msgid "bad insn to d30v_print_operand, 'f' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2860
+msgid "bad insn to d30v_print_operand, 'A' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2867
+msgid "bad insn to d30v_print_operand, 'M' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2921
+msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2932
+msgid "bad insn to print_operand, 'B' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2939
+msgid "bad insn to print_operand, 'E' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2957
+msgid "bad insn to print_operand, 'R' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
+msgid "bad insn to print_operand, 's' modifier:"
+msgstr ""
+
+#: config/d30v/d30v.c:3003
+msgid "bad insn in d30v_print_operand, 0 case"
+msgstr ""
+
+#: config/d30v/d30v.c:3301
+msgid "d30v_emit_comparison"
+msgstr ""
+
+#: config/d30v/d30v.c:3345
+msgid "bad call to d30v_move_2words"
+msgstr ""
+
+#: config/d30v/d30v.h:114
msgid "Enable use of conditional move instructions"
msgstr ""
-#: config/d30v/d30v.h:450
+#: config/d30v/d30v.h:117
msgid "Disable use of conditional move instructions"
msgstr ""
-#: config/d30v/d30v.h:453
+#: config/d30v/d30v.h:120
msgid "Debug argument support in compiler"
msgstr ""
-#: config/d30v/d30v.h:456
+#: config/d30v/d30v.h:123
msgid "Debug stack support in compiler"
msgstr ""
-#: config/d30v/d30v.h:459
+#: config/d30v/d30v.h:126
msgid "Debug memory address support in compiler"
msgstr ""
-#: config/d30v/d30v.h:462
-msgid "Make adjacent short instructions parallel if possible."
+#: config/d30v/d30v.h:129
+msgid "Make adjacent short instructions parallel if possible"
msgstr ""
-#: config/d30v/d30v.h:465
-msgid "Do not make adjacent short instructions parallel."
+#: config/d30v/d30v.h:132
+msgid "Do not make adjacent short instructions parallel"
msgstr ""
-#: config/d30v/d30v.h:468 config/d30v/d30v.h:471
+#: 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:474
+#: config/d30v/d30v.h:141
msgid "Link programs/data to be in onchip memory by default"
msgstr ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of command
-#. options that have values. Its definition is an initializer with a
-#. subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the fixed part of
-#. the option name, the address of a variable, and a description string. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-<number>'. If the given
-#. option is `-mshort-data-512', the variable `m88k_short_data' will be set to
-#. the string "512".
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data, "Specify the size of the short data section" } }
-#: config/d30v/d30v.h:501
+#: config/d30v/d30v.h:149
msgid "Change the branch costs within the compiler"
msgstr ""
-#: config/d30v/d30v.h:504
+#: config/d30v/d30v.h:152
msgid "Change the threshold for conversion to conditional execution"
msgstr ""
-#: config/dsp16xx/dsp16xx.c:1225 config/dsp16xx/dsp16xx.c:1250
-msgid "Stack size > 32k"
+#: config/dsp16xx/dsp16xx.c:1446 config/dsp16xx/dsp16xx.c:1469
+#, fuzzy
+msgid "stack size > 32k"
msgstr "Stackstorlek > 32k"
-#: config/dsp16xx/dsp16xx.c:1759 config/dsp16xx/dsp16xx.c:1999
-msgid "inline float constants not supported on this host"
+#: config/dsp16xx/dsp16xx.c:1678
+#, fuzzy
+msgid "invalid addressing mode"
+msgstr "ogiltig kod"
+
+#: config/dsp16xx/dsp16xx.c:1821
+msgid "bad register extension code"
msgstr ""
-#. Output assembler code to FILE to increment profiler label # LABELNO
-#. for profiling a function entry.
-#: config/dsp16xx/dsp16xx.h:1188 config/dsp16xx/dsp16xx.h:1193
-#: config/dsp16xx/dsp16xx.h:1198 config/dsp16xx/dsp16xx.h:1840
-#: config/dsp16xx/dsp16xx.h:1845
-msgid "Profiling not implemented yet."
-msgstr "Profilering är inte implementerat ännu."
+#: config/dsp16xx/dsp16xx.c:1921
+#, fuzzy
+msgid "invalid offset in ybase addressing"
+msgstr "ogiltig användning av void-uttryck"
-#. 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:1209 config/dsp16xx/dsp16xx.h:1221
-msgid "Trampolines not yet implemented"
+#: config/dsp16xx/dsp16xx.c:1924
+#, fuzzy
+msgid "invalid register in ybase addressing"
+msgstr "ogiltig användning av void-uttryck"
+
+#: config/dsp16xx/dsp16xx.c:2099
+msgid "invalid shift operator in emit_1600_core_shift"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.c:2428
+#, fuzzy
+msgid "invalid mode for gen_tst_reg"
+msgstr "ogiltig typ \"void\" för new"
+
+#: config/dsp16xx/dsp16xx.c:2500
+msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr ""
#. Macro to define tables used to set the flags.
@@ -7037,483 +9862,794 @@ 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/elxsi/elxsi.h:51
-msgid "Generate code the unix assembler can handle"
-msgstr "Genrerar kod som unix assemblatorn kan hantera"
+#: config/dsp16xx/dsp16xx.h:230
+#, fuzzy
+msgid "Pass parameters in registers (default)"
+msgstr "Skicka argument i register"
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
-msgstr "Generera kod en inbäddad assemblator kan hantera"
+#: config/dsp16xx/dsp16xx.h:232
+#, fuzzy
+msgid "Don't pass parameters in registers"
+msgstr "Skicka argument i register"
-#: config/fr30/fr30.c:445
-msgid "fr30_print_operand_address: unhandled address"
+#: config/dsp16xx/dsp16xx.h:234
+#, fuzzy
+msgid "Generate code for near calls"
+msgstr "Generera kod för Intel as"
+
+#: config/dsp16xx/dsp16xx.h:236
+#, fuzzy
+msgid "Don't generate code for near calls"
+msgstr "Generera kod för Intel as"
+
+#: config/dsp16xx/dsp16xx.h:238
+#, fuzzy
+msgid "Generate code for near jumps"
+msgstr "Generera kod för Intel as"
+
+#: config/dsp16xx/dsp16xx.h:240
+#, fuzzy
+msgid "Don't generate code for near jumps"
+msgstr "Generera kod för Intel as"
+
+#: config/dsp16xx/dsp16xx.h:242
+#, fuzzy
+msgid "Generate code for a bit-manipulation unit"
+msgstr "Generera kod för \"big endian\""
+
+#: config/dsp16xx/dsp16xx.h:244
+#, fuzzy
+msgid "Don't generate code for a bit-manipulation unit"
+msgstr "Generera kod för \"big endian\""
+
+#: config/dsp16xx/dsp16xx.h:246
+#, fuzzy
+msgid "Generate code for memory map1"
+msgstr "Generera kod för c1"
+
+#: config/dsp16xx/dsp16xx.h:248
+#, fuzzy
+msgid "Generate code for memory map2"
+msgstr "Generera kod för c2"
+
+#: config/dsp16xx/dsp16xx.h:250
+#, fuzzy
+msgid "Generate code for memory map3"
+msgstr "Genrera kod för C300"
+
+#: config/dsp16xx/dsp16xx.h:252
+#, fuzzy
+msgid "Generate code for memory map4"
+msgstr "Generera kod för C400"
+
+#: config/dsp16xx/dsp16xx.h:254
+msgid "Ouput extra code for initialized data"
msgstr ""
-#: config/fr30/fr30.c:472
-#, c-format
-msgid "fr30_print_operand: unrecognised %p code"
+#: config/dsp16xx/dsp16xx.h:256
+#, fuzzy
+msgid "Don't let reg. allocator use ybase registers"
+msgstr "Använd inte alternativa registernamn."
+
+#: config/dsp16xx/dsp16xx.h:258
+msgid "Output extra debug info in Luxworks environment"
msgstr ""
-#: config/fr30/fr30.c:492
-msgid "fr30_print_operand: unrecognised %b code"
+#: config/dsp16xx/dsp16xx.h:260
+msgid "Save temp. files in Luxworks environment"
msgstr ""
-#: config/fr30/fr30.c:513
-msgid "fr30_print_operand: unrecognised %B code"
+#: config/dsp16xx/dsp16xx.h:272
+#, fuzzy
+msgid "Specify alternate name for text section"
+msgstr "Ange namnet på målprocessorn"
+
+#: config/dsp16xx/dsp16xx.h:274
+#, fuzzy
+msgid "Specify alternate name for data section"
+msgstr "Ange namnet på målprocessorn"
+
+#: config/dsp16xx/dsp16xx.h:276
+msgid "Specify alternate name for bss section"
+msgstr ""
+
+#: config/dsp16xx/dsp16xx.h:278
+msgid "Specify alternate name for constant section"
+msgstr ""
+
+#: 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:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
+#, fuzzy
+msgid "profiling not implemented yet"
+msgstr "Profilering är inte implementerat ännu."
+
+#. 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:1228 config/dsp16xx/dsp16xx.h:1240
+#, fuzzy
+msgid "trampolines not yet implemented"
+msgstr "Profilering är inte implementerat ännu."
+
+#: config/fr30/fr30.c:453
+msgid "fr30_print_operand_address: unhandled address"
+msgstr ""
+
+#: config/fr30/fr30.c:480
+#, c-format
+msgid "fr30_print_operand: unrecognized %%p code"
+msgstr ""
+
+#: config/fr30/fr30.c:500
+#, c-format
+msgid "fr30_print_operand: unrecognized %%b code"
msgstr ""
#: config/fr30/fr30.c:521
-msgid "fr30_print_operand: invalid operand to %A code"
+#, c-format
+msgid "fr30_print_operand: unrecognized %%B code"
msgstr ""
-#: config/fr30/fr30.c:538
+#: config/fr30/fr30.c:529
+#, fuzzy, c-format
+msgid "fr30_print_operand: invalid operand to %%A code"
+msgstr "ogiltig operand för %V"
+
+#: config/fr30/fr30.c:546
#, c-format
-msgid "fr30_print_operand: invalid %x code"
+msgid "fr30_print_operand: invalid %%x code"
msgstr ""
-#: config/fr30/fr30.c:545
-msgid "fr30_print_operand: invalid %F code"
+#: config/fr30/fr30.c:553
+#, c-format
+msgid "fr30_print_operand: invalid %%F code"
msgstr ""
-#: config/fr30/fr30.c:561
+#: config/fr30/fr30.c:570
msgid "fr30_print_operand: unknown code"
msgstr ""
-#: config/fr30/fr30.c:590 config/fr30/fr30.c:599 config/fr30/fr30.c:610
-#: config/fr30/fr30.c:623
+#: 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:82
+#: config/fr30/fr30.h:63
msgid "Assume small address space"
msgstr ""
-#: config/h8300/h8300.c:116
-msgid "-ms2600 is used without -ms."
-msgstr "-ms2600 används utan -ms."
+#: config/frv/frv.c:410 config/frv/frv.c:428
+#, c-format
+msgid "Unknown cpu: -mcpu=%s"
+msgstr ""
-#: config/h8300/h8300.c:3047 config/h8300/h8300.c:3059
-msgid "Only initialized variables can be placed into the 8-bit area."
-msgstr "Initiera bara variabler som kan placeras i 8-bits området."
+#: config/frv/frv.c:451
+msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+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:108
-msgid "Generate H8/S code"
-msgstr "Generera H8/S-kod"
+#: config/frv/frv.c:2520
+msgid "Bad insn to frv_print_operand_address:"
+msgstr ""
-#: config/h8300/h8300.h:109
-msgid "Do not generate H8/S code"
-msgstr "Generera inte H8/S-kod"
+#: config/frv/frv.c:2533
+msgid "Bad register to frv_print_operand_memory_reference_reg:"
+msgstr ""
-#: config/h8300/h8300.h:110
-msgid "Generate H8/S2600 code"
-msgstr "Generera kod för H8/S2600"
+#: 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/h8300/h8300.h:111
-msgid "Do not generate H8/S2600 code"
-msgstr "Generera inte kod för H8/S2600"
+#: config/frv/frv.c:2779
+msgid "Bad insn in frv_print_operand, bad const_double"
+msgstr ""
-#: config/h8300/h8300.h:112
-msgid "Make integers 32 bits wide"
-msgstr "Gör heltal 32 bitar stora"
+#: config/frv/frv.c:2824
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'C' modifier:"
+msgstr "ogiltig operand för %V"
-#: config/h8300/h8300.h:115
-msgid "Use registers for argument passing"
-msgstr "Använd register för argumentskickning"
+#: config/frv/frv.c:2847
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'c' modifier:"
+msgstr "ogiltig operand för %V"
-#: config/h8300/h8300.h:117
-msgid "Do not use registers for argument passing"
-msgstr "Använd inte register för argumentskickning"
+#: config/frv/frv.c:2872
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'e' modifier:"
+msgstr "ogiltig operand för %V"
-#: config/h8300/h8300.h:119
-msgid "Consider access to byte sized memory slow"
-msgstr ""
+#: config/frv/frv.c:2880
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'F' modifier:"
+msgstr "ogiltig operand för %V"
-#: config/h8300/h8300.h:120
-msgid "Enable linker relaxing"
+#: config/frv/frv.c:2896
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'f' modifier:"
+msgstr "ogiltig operand för %V"
+
+#: config/frv/frv.c:2949
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'L' modifier:"
+msgstr "ogiltig operand för %V"
+
+#: config/frv/frv.c:2962
+msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
msgstr ""
-#: config/h8300/h8300.h:122
-msgid "Generate H8/300H code"
-msgstr "Generera H8/300H-kod"
+#: config/frv/frv.c:2983
+#, fuzzy
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
+msgstr "ogiltig operand för %V"
-#: config/h8300/h8300.h:123
-msgid "Do not generate H8/300H code"
-msgstr "Generera inte H8/300H-kod"
+#: config/frv/frv.c:3001
+msgid "Bad insn to frv_print_operand, P modifier:"
+msgstr ""
-#: config/h8300/h8300.h:124
-msgid "Use H8/300 alignment rules"
+#: config/frv/frv.c:3021
+msgid "Bad insn in frv_print_operand, z case"
msgstr ""
-#: config/i370/i370.c:869
-msgid "real name is too long - alias ignored"
+#: config/frv/frv.c:3049
+msgid "Bad insn in frv_print_operand, 0 case"
msgstr ""
-#: config/i370/i370.c:874
-msgid "alias name is too long - alias ignored"
+#: config/frv/frv.c:3054
+#, fuzzy
+msgid "frv_print_operand: unknown code"
+msgstr "ogiltig operand för %V"
+
+#: config/frv/frv.c:5737
+msgid "Bad output_move_single operand"
msgstr ""
-#: config/i370/i370.c:1039
-msgid "junk at end of #pragma map"
+#: config/frv/frv.c:5866
+msgid "Bad output_move_double operand"
msgstr ""
-#: config/i370/i370.c:1045
-msgid "malformed #pragma map, ignored"
+#: config/frv/frv.c:6010
+msgid "Bad output_condmove_single operand"
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/i370/i370.h:63
-msgid "Generate char instructions"
+#: config/frv/frv.c:8315
+msgid "frv_registers_update"
msgstr ""
-#: config/i370/i370.h:64
-msgid "Do not generate char instructions"
+#: config/frv/frv.c:8475
+msgid "frv_registers_used_p"
msgstr ""
-#: config/i386/cygwin.h:51
-msgid "Use the Cygwin interface"
+#: config/frv/frv.c:8604
+msgid "frv_registers_set_p"
msgstr ""
-#: config/i386/cygwin.h:53
-msgid "Use the Mingw32 interface"
+#: config/frv/frv.c:9171
+#, fuzzy
+msgid "accumulator is not a constant integer"
+msgstr "argumentet till \"asm\" är inte en konstant sträng"
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
msgstr ""
-#: config/i386/cygwin.h:54
-msgid "Create GUI application"
-msgstr "Skapa GUI-applikation"
+#: config/frv/frv.c:9187
+#, fuzzy, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "ingen tidigare deklaration av \"%s\""
-#: config/i386/cygwin.h:55
-msgid "Don't set Windows defines"
+#: config/frv/frv.c:9253
+#, fuzzy, c-format
+msgid "`%s' expects a constant argument"
+msgstr "tre \"l\"-suffix på heltalskonstant"
+
+#: config/frv/frv.c:9258
+#, fuzzy, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "för många argument till funktionen \"%s\""
+
+#: config/frv/frv.c:9638
+msgid "media functions are not available unless -mmedia is used"
msgstr ""
-#: config/i386/cygwin.h:56
-msgid "Set Windows defines"
+#: config/frv/frv.c:9650
+msgid "this media function is only available on the fr500"
msgstr ""
-#: config/i386/cygwin.h:58
-msgid "Create console application"
-msgstr "Skapa konsollapplikation"
+#: config/frv/frv.c:9678
+msgid "this media function is only available on the fr400"
+msgstr ""
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
-msgid "Generate code for a DLL"
-msgstr "Generera kod för en DLL"
+#. 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
+#, fuzzy
+msgid "-ms2600 is used without -ms"
+msgstr "-ms2600 används utan -ms."
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
-msgid "Ignore dllimport for functions"
-msgstr "Ignorera dllimport för funktioner"
+#: config/h8300/h8300.c:320
+#, fuzzy
+msgid "-mn is used without -mh or -ms"
+msgstr "-ms2600 används utan -ms."
-#: config/i386/cygwin.h:63
-msgid "Use Mingw-specific thread support"
+#. 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:150
+#, fuzzy
+msgid "Generate H8S code"
+msgstr "Generera H8/S-kod"
+
+#: config/h8300/h8300.h:151
+#, fuzzy
+msgid "Do not generate H8S code"
+msgstr "Generera inte H8/S-kod"
+
+#: config/h8300/h8300.h:152
+#, fuzzy
+msgid "Generate H8S/2600 code"
+msgstr "Generera kod för H8/S2600"
+
+#: config/h8300/h8300.h:153
+#, fuzzy
+msgid "Do not generate H8S/2600 code"
+msgstr "Generera inte kod för H8/S2600"
+
+#: config/h8300/h8300.h:154
+msgid "Make integers 32 bits wide"
+msgstr "Gör heltal 32 bitar stora"
+
+#: config/h8300/h8300.h:157
+msgid "Use registers for argument passing"
+msgstr "Använd register för argumentskickning"
+
+#: config/h8300/h8300.h:159
+msgid "Do not use registers for argument passing"
+msgstr "Använd inte register för argumentskickning"
+
+#: config/h8300/h8300.h:161
+msgid "Consider access to byte sized memory slow"
msgstr ""
-#: config/i386/cygwin.h:315
-#, c-format
-msgid "-f%s ignored for target (all code is position independent)"
+#: config/h8300/h8300.h:162
+msgid "Enable linker relaxing"
msgstr ""
-#: config/i386/dgux.c:185
-#, c-format
-msgid "Internal gcc abort from %s:%d"
+#: config/h8300/h8300.h:164
+msgid "Generate H8/300H code"
+msgstr "Generera H8/300H-kod"
+
+#: config/h8300/h8300.h:165
+msgid "Enable the normal mode"
msgstr ""
-#: config/i386/dgux.c:189
-msgid "The local variable `insn' has the value:"
+#: config/h8300/h8300.h:166
+msgid "Do not generate H8/300H code"
+msgstr "Generera inte H8/300H-kod"
+
+#: config/h8300/h8300.h:167
+msgid "Use H8/300 alignment rules"
msgstr ""
-#: config/i386/dgux.h:62
-msgid "Retain standard MXDB information"
+#: config/i370/i370-c.c:53
+msgid "junk at end of #pragma map"
msgstr ""
-#: config/i386/dgux.h:64
-msgid "Retain legend information"
+#: config/i370/i370-c.c:59
+msgid "malformed #pragma map, ignored"
msgstr ""
-#: config/i386/dgux.h:67
-msgid "Generate external legend information"
+#: config/i370/i370.c:915
+msgid "real name is too long - alias ignored"
msgstr ""
-#: config/i386/dgux.h:69
-msgid "Emit identifying info in .s file"
+#: config/i370/i370.c:920
+msgid "alias name is too long - alias ignored"
msgstr ""
-#: config/i386/dgux.h:71
-msgid "Warn when a function arg is a structure"
-msgstr "Varna när ett funktionsargument är en struktur"
+#: config/i370/i370.c:1191
+msgid "internal error--no jump follows compare:"
+msgstr ""
-#: config/i386/dgux.h:249
-msgid "argument is a structure"
+#. 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/i370/i370.h:75
+msgid "Generate char instructions"
msgstr ""
-#: config/i386/djgpp.h:281
-msgid "-mbnu210 is ignored (option is obsolete)."
+#: config/i370/i370.h:76
+msgid "Do not generate char instructions"
msgstr ""
-#: config/i386/i386.c:674
+#: config/i386/i386.c:1043
#, c-format
-msgid "Code model %s not supported in PIC mode"
+msgid "code model %s not supported in PIC mode"
msgstr ""
-#: config/i386/i386.c:684 config/sparc/sparc.c:280
+#: config/i386/i386.c:1053 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr ""
-#: config/i386/i386.c:693
-#, c-format
-msgid "Code model `%s' not supported in the %s bit mode."
-msgstr ""
+#: config/i386/i386.c:1068
+#, fuzzy, c-format
+msgid "bad value (%s) for -masm= switch"
+msgstr "ogiltigt värde (%s) till flagga %s"
-#: config/i386/i386.c:696
-msgid "Code model `large' not supported yet."
-msgstr ""
+#: config/i386/i386.c:1071
+#, fuzzy, c-format
+msgid "code model `%s' not supported in the %s bit mode"
+msgstr "\"%s\" stöds inte av %s"
-#: config/i386/i386.c:698
+#: config/i386/i386.c:1074
+#, fuzzy
+msgid "code model `large' not supported yet"
+msgstr "\"%s\" stöds inte av %s"
+
+#: config/i386/i386.c:1076
#, c-format
-msgid "%i-bit mode not compiled in."
+msgid "%i-bit mode not compiled in"
msgstr ""
-#: config/i386/i386.c:713
+#: config/i386/i386.c:1106
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr ""
-#: config/i386/i386.c:725 config/mips/mips.c:4942
+#: config/i386/i386.c:1117
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr ""
-#: config/i386/i386.c:742
+#: config/i386/i386.c:1134
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr ""
-#: config/i386/i386.c:755
+#: config/i386/i386.c:1147
msgid "-malign-loops is obsolete, use -falign-loops"
msgstr ""
-#: config/i386/i386.c:760 config/i386/i386.c:773 config/i386/i386.c:786
+#: 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:768
+#: config/i386/i386.c:1160
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr ""
-#: config/i386/i386.c:781
+#: config/i386/i386.c:1173
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr ""
-#: config/i386/i386.c:808
+#: config/i386/i386.c:1211
#, c-format
-msgid "-mpreferred-stack-boundary=%d is not between %d and 31"
+msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr ""
-#: config/i386/i386.c:820
+#: config/i386/i386.c:1223
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr ""
-#. We can't handle floating point constants;
-#. PRINT_OPERAND must handle them.
-#: config/i386/i386.c:3563 config/pdp11/pdp11.c:1477 final.c:3623
-msgid "floating constant misused"
+#: config/i386/i386.c:1235
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "ogiltigt värde (%s) till flagga -mcpu"
+
+#: config/i386/i386.c:1256
+msgid "-malign-double makes no sense in the 64bit mode"
+msgstr ""
+
+#: config/i386/i386.c:1258
+msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr ""
-#: config/i386/i386.c:3608
+#: config/i386/i386.c:1274 config/i386/i386.c:1285
+#, fuzzy
+msgid "SSE instruction set disabled, using 387 arithmetics"
+msgstr "pekare till funktion använd med aritmetik"
+
+#: config/i386/i386.c:1290
+#, fuzzy
+msgid "387 instruction set disabled, using SSE arithmetics"
+msgstr "pekare till funktion använd med aritmetik"
+
+#: config/i386/i386.c:1297
+#, fuzzy, c-format
+msgid "bad value (%s) for -mfpmath= switch"
+msgstr "ogiltigt värde (%s) till flagga -mcpu"
+
+#: config/i386/i386.c:1429
+#, fuzzy, c-format
+msgid "`%s' attribute requires an integer constant argument"
+msgstr "tre \"l\"-suffix på heltalskonstant"
+
+#: config/i386/i386.c:1435
+#, fuzzy, c-format
+msgid "argument to `%s' attribute larger than %d"
+msgstr "kan inte sätta attributet \"%s\" efter definitionen"
+
+#: config/i386/i386.c:6176
msgid "invalid UNSPEC as operand"
msgstr ""
-#: config/i386/i386.c:3614 config/pdp11/pdp11.c:1524 final.c:3678
-msgid "invalid expression as operand"
+#: config/i386/i386.c:6438
+msgid "extended registers have no high halves"
msgstr ""
-#: config/i386/i386.c:3794
-msgid "Extended registers have no high halves\n"
+#: config/i386/i386.c:6453
+msgid "unsupported operand size for extended register"
msgstr ""
-#: config/i386/i386.c:3809
-msgid "Unsupported operand size for extended register.\n"
+#: config/i386/i386.c:6768
+msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr ""
+#: config/i386/i386.c:6814
+#, fuzzy, c-format
+msgid "invalid operand code `%c'"
+msgstr "ogiltig operand för %V"
+
+#: config/i386/i386.c:6861
+#, fuzzy
+msgid "invalid constraints for operand"
+msgstr "ogiltig %%-kod"
+
+#: config/i386/i386.c:11027
+#, fuzzy
+msgid "unknown insn mode"
+msgstr "okänt maskinläge `%s'"
+
#. @@@ better error message
-#: config/i386/i386.c:9895 config/i386/i386.c:9928 config/i386/i386.c:10065
+#: config/i386/i386.c:13083 config/i386/i386.c:13119
msgid "selector must be an immediate"
msgstr ""
#. @@@ better error message
-#: config/i386/i386.c:10096 config/i386/i386.c:10124
+#: config/i386/i386.c:13280 config/i386/i386.c:13314
msgid "mask must be an immediate"
msgstr ""
-#: config/i386/i386.h:45 config/mips/mips.h:176
-msgid "half-pic init called on systems that don't support it."
+#: config/i386/i386.c:13346
+#, fuzzy
+msgid "shift must be an immediate"
+msgstr "predikat måste vara en identifierare"
+
+#: config/i386/winnt.c:105
+#, fuzzy, c-format
+msgid "`%s' attribute only applies to variables"
+msgstr "attributet \"%s\" är inte applicerbart på typer"
+
+#: config/i386/winnt.c:275
+#, fuzzy, c-format
+msgid "`%s' declared as both exported to and imported from a DLL"
+msgstr "\"%s\" är deklarerad både som exporterad till och importerad från en DLL."
+
+#: config/i386/cygwin.h:45
+msgid "Use the Cygwin interface"
+msgstr "Använd Cygwin-interfacet"
+
+#: config/i386/cygwin.h:46
+msgid "Use the Mingw32 interface"
+msgstr "Använd Mingw32-interfacet"
+
+#: config/i386/cygwin.h:47
+msgid "Create GUI application"
+msgstr "Skapa GUI-applikation"
+
+#: config/i386/cygwin.h:48
+msgid "Don't set Windows defines"
msgstr ""
-#: config/i386/i386.h:271
-msgid "Same as -mcpu=i386"
-msgstr "Samma som -mcpu=i386"
+#: config/i386/cygwin.h:49
+msgid "Set Windows defines"
+msgstr ""
-#: config/i386/i386.h:272
-msgid "Same as -mcpu=i486"
-msgstr "Samma som -mcpu=i486"
+#: config/i386/cygwin.h:50
+msgid "Create console application"
+msgstr "Skapa konsollapplikation"
-#: config/i386/i386.h:273
-msgid "Same as -mcpu=pentium"
-msgstr "Samma som -mcpu=pentium"
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
+msgid "Generate code for a DLL"
+msgstr "Generera kod för en DLL"
-#: config/i386/i386.h:274
-msgid "Same as -mcpu=pentiumpro"
-msgstr "Samma som -mcpu=pentiumpro"
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
+msgid "Ignore dllimport for functions"
+msgstr "Ignorera dllimport för funktioner"
-#: config/i386/i386.h:276
+#: config/i386/cygwin.h:55
+msgid "Use Mingw-specific thread support"
+msgstr ""
+
+#: config/i386/cygwin.h:244
+#, c-format
+msgid "-f%s ignored for target (all code is position independent)"
+msgstr ""
+
+#: config/i386/djgpp.h:204
+msgid "-mbnu210 is ignored (option is obsolete)"
+msgstr ""
+
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#. Deprecated.
+#: config/i386/i386.h:306
msgid "Alternate calling convention"
msgstr ""
-#: config/i386/i386.h:278 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:280
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr ""
-#: config/i386/i386.h:282
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr ""
-#: config/i386/i386.h:284
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr ""
-#: config/i386/i386.h:286
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr ""
-#: config/i386/i386.h:288
+#: 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 "Använd IEEE matematik för flyttaljämförelser"
-#: config/i386/i386.h:290
+#: config/i386/i386.h:320 config/ns32k/ns32k.h:169
msgid "Do not use IEEE math for fp comparisons"
msgstr "Använd inte IEEE matematik för flyttaljämförelser"
-#: config/i386/i386.h:292
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr ""
-#: config/i386/i386.h:294
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr ""
-#: config/i386/i386.h:296
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr "Generera inte sin, cos, sqrt för FPU"
-#: config/i386/i386.h:298
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr "Generera sin, cos, sqrt för FPU"
-#: config/i386/i386.h:300
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr ""
-#. undocumented
-#. undocumented
-#. undocumented
-#. undocumented
-#: config/i386/i386.h:307
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr ""
#. undocumented
#. undocumented
-#: config/i386/i386.h:312
-msgid "Emit Intel syntax assembler opcodes"
-msgstr "Skapa assembler-opkoder med Intel-syntax"
-
-#: config/i386/i386.h:315
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr ""
-#: config/i386/i386.h:317
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr ""
-#: config/i386/i386.h:319
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr ""
-#: config/i386/i386.h:321
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
msgstr ""
-#: config/i386/i386.h:323 config/i386/i386.h:327
+#: config/i386/i386.h:346 config/i386/i386.h:350
msgid "Use push instructions to save outgoing arguments"
msgstr ""
-#: config/i386/i386.h:325 config/i386/i386.h:329
+#: 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:330
-msgid "Support MMX builtins"
+#: config/i386/i386.h:354
+#, fuzzy
+msgid "Support MMX built-in functions"
msgstr "Stöd inbyggda funktioner med MMX"
-#: config/i386/i386.h:332
-msgid "Do not support MMX builtins"
+#: config/i386/i386.h:356
+#, fuzzy
+msgid "Do not support MMX built-in functions"
msgstr "Stöd inte inbyggda funktioner med MMX"
-#: config/i386/i386.h:334
-msgid "Support MMX and SSE builtins and code generation"
-msgstr ""
-
-#: config/i386/i386.h:336
-msgid "Do not support MMX and SSE builtins and code generation"
-msgstr ""
-
-#: config/i386/i386.h:338
-msgid "Support MMX, SSE and SSE2 builtins and code generation"
-msgstr ""
-
-#: config/i386/i386.h:340
-msgid "Do not support MMX, SSE and SSE2 builtins and code generation"
-msgstr ""
+#: config/i386/i386.h:358
+#, fuzzy
+msgid "Support 3DNow! built-in functions"
+msgstr "döljer inbyggd funktion \"%s\""
-#: config/i386/i386.h:342 config/i386/i386.h:344
-msgid "Use both SSE and i387 instruction sets for floating point arithmetics"
-msgstr ""
+#: config/i386/i386.h:360
+#, fuzzy
+msgid "Do not support 3DNow! built-in functions"
+msgstr "Stöd inte inbyggda funktioner med MMX"
-#: config/i386/i386.h:346
-msgid "sizeof(long double) is 16."
+#: config/i386/i386.h:362
+#, fuzzy
+msgid "Support MMX and SSE built-in functions and code generation"
+msgstr "Stöd inbyggda funktioner med MMX och SSE"
+
+#: config/i386/i386.h:364
+#, fuzzy
+msgid "Do not support MMX and SSE built-in functions and code generation"
+msgstr "Stöd inte inbyggda funktioner med MMX och SSE"
+
+#: config/i386/i386.h:366
+#, fuzzy
+msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr "Stöd inbyggda funktioner med MMX och SSE"
+
+#: config/i386/i386.h:368
+#, fuzzy
+msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
+msgstr "Stöd inte inbyggda funktioner med MMX och SSE"
+
+#: config/i386/i386.h:370
+#, fuzzy
+msgid "sizeof(long double) is 16"
msgstr "sizeof(long double) är 16."
-#: config/i386/i386.h:348
-msgid "sizeof(long double) is 12."
+#: config/i386/i386.h:372
+#, fuzzy
+msgid "sizeof(long double) is 12"
msgstr "sizeof(long double) är 12."
-#: config/i386/i386.h:350
+#: config/i386/i386.h:374
+#, fuzzy
msgid "Generate 64bit x86-64 code"
-msgstr ""
+msgstr "Generera H8/S-kod"
-#: config/i386/i386.h:352
+#: config/i386/i386.h:376
+#, fuzzy
msgid "Generate 32bit i386 code"
-msgstr ""
+msgstr "Generera \"big endian\"-kod."
-#: config/i386/i386.h:354
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr ""
-#: config/i386/i386.h:356
-msgid "do not use red-zone in the x86-64 code"
-msgstr ""
+#: config/i386/i386.h:380
+#, fuzzy
+msgid "Do not use red-zone in the x86-64 code"
+msgstr "Generera inte H8/S-kod"
#. This macro is similar to `TARGET_SWITCHES' but defines names of
#. command options that have values. Its definition is an
@@ -7524,77 +10660,70 @@ 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:396 config/rs6000/rs6000.h:404 config/sparc/sparc.h:710
+#: config/i386/i386.h:409 config/rs6000/rs6000.h:393 config/sparc/sparc.h:635
msgid "Schedule code for given CPU"
msgstr "Schemalägg kod för en given CPU"
-#: config/i386/i386.h:398
+#: config/i386/i386.h:411
+#, fuzzy
+msgid "Generate floating point mathematics using given instruction set"
+msgstr "Använd flyttalsinstruktioner i hårdvara"
+
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
msgstr "Generera kod för en given CPU"
-#: config/i386/i386.h:400
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr "Antal register för att skicka heltalsargument"
-#: config/i386/i386.h:402
+#. TARGET_DEFAULT is defined in sun*.h and isi.h, etc.
+#. This macro is similar to `TARGET_SWITCHES' but defines names of
+#. command options that have values. Its definition is an
+#. initializer with a subgrouping for each command option.
+#.
+#. Each subgrouping contains a string constant, that defines the
+#. fixed part of the option name, and the address of a variable. The
+#. 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:417 config/m68k/m68k.h:263
msgid "Loop code aligned to this power of 2"
msgstr "Loop-kod justeras till denna 2-potens"
-#: config/i386/i386.h:404
+#: config/i386/i386.h:419 config/m68k/m68k.h:265
msgid "Jump targets are aligned to this power of 2"
msgstr "Hoppmål justeras till denna 2-potens"
-#: config/i386/i386.h:406
+#: config/i386/i386.h:421 config/m68k/m68k.h:267
msgid "Function starts are aligned to this power of 2"
msgstr "Funktionsbörjan justeras till denna 2-potens"
-#: config/i386/i386.h:409
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr "Försök håll stacken justerad till denna 2-potens"
-#: config/i386/i386.h:411
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr "Hopp är dyra (1-5, godtyckliga enheter)"
-#: config/i386/i386.h:413
+#: config/i386/i386.h:428
msgid "Use given x86-64 code model"
msgstr ""
-#: config/i386/osf1elf.h:111
-msgid "Profiling uses mcount"
-msgstr "Profilering använder mcount"
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr "Skapa half-PIC-kod"
-
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr "Skapa ELF-objektkod"
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr "Skapa ROSE-objektkod"
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
-msgstr "Symboler startar med en understrykning"
-
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr ""
-
-#: config/i386/osfrose.h:77
-msgid "Use mcount for profiling"
-msgstr ""
+#. Undocumented.
+#. Undocumented.
+#: config/i386/i386.h:434
+#, fuzzy
+msgid "Use given assembler dialect"
+msgstr "Använd assemblersyntax för DEC"
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
-msgstr ""
+#: config/i386/i386.h:436
+#, fuzzy
+msgid "Use given thread-local storage dialect"
+msgstr "Använd assemblersyntax för DEC"
-#: config/i386/sco5.h:887
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr "Generera ELF-utdata"
@@ -7610,55 +10739,48 @@ msgstr ""
msgid "Use bare Windows interface"
msgstr ""
-#: config/i386/winnt.c:311
-#, c-format
-msgid "`%s' declared as both exported to and imported from a DLL."
-msgstr ""
-"\"%s\" är deklarerad både som exporterad till och importerad från en DLL."
-
#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
#: config/i386/xm-djgpp.h:71
-msgid "Environment variable DJGPP not defined."
+#, fuzzy
+msgid "environment variable DJGPP not defined"
msgstr "Omgivningsvariabel DJGPP är inte definierad."
#: config/i386/xm-djgpp.h:73
-#, c-format
-msgid "Environment variable DJGPP points to missing file '%s'."
+#, fuzzy, c-format
+msgid "environment variable DJGPP points to missing file '%s'"
msgstr "Omgivningsvariabel DJGPP pekar på fil \"%s\" som saknas"
#: config/i386/xm-djgpp.h:76
-#, c-format
-msgid "Environment variable DJGPP points to corrupt file '%s'."
+#, fuzzy, c-format
+msgid "environment variable DJGPP points to corrupt file '%s'"
msgstr "Omgivningsvariabel DJGPP pekar på fil \"%s\" som är trasig"
-#. 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"
-msgstr "Generera kod som använder FPU"
-
-#: 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"
-msgstr "Genrera inte kod som använder FPU"
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr "ledsen, inte implementerat: #pragma align NAMN=STORLEK"
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
msgid "malformed #pragma align - ignored"
msgstr ""
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr "ledsen, inte implementerat: #pragma noalign NAMN"
-#: config/i960/i960.c:1384 config/m68k/m68k.c:407 config/rs6000/rs6000.c:5792
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr ""
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr ""
+
+#: config/i960/i960.c:141
+msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+msgstr "iC2.0 och iC3.0 är imkompatible - använder iC3.0"
+
+#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9931
msgid "stack limit expression is not supported"
msgstr ""
@@ -7669,347 +10791,444 @@ msgstr ""
#. An empty string NAME is used to identify the default VALUE.
#. ??? Not all ten of these architecture variations actually exist, but I
#. am not sure which are real and which aren't.
-#: config/i960/i960.h:245
+#: config/i960/i960.h:240
msgid "Generate SA code"
msgstr "Generera SA-kod"
-#: config/i960/i960.h:248
+#: config/i960/i960.h:243
msgid "Generate SB code"
msgstr "Generera SB-kod"
#. {"sc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate SC code")},
-#: config/i960/i960.h:253
+#: config/i960/i960.h:248
msgid "Generate KA code"
msgstr "Generera KA-kod"
-#: config/i960/i960.h:256
+#: config/i960/i960.h:251
msgid "Generate KB code"
msgstr "Generera KB-kod"
#. {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR), N_("Generate KC code")},
-#: config/i960/i960.h:261
+#: config/i960/i960.h:256
msgid "Generate JA code"
msgstr "Generera JA-kod"
-#: config/i960/i960.h:263
+#: config/i960/i960.h:258
msgid "Generate JD code"
msgstr "Generera JD-kod"
-#: config/i960/i960.h:266
+#: config/i960/i960.h:261
msgid "Generate JF code"
msgstr "Generera JF-kod"
-#: config/i960/i960.h:268
+#: config/i960/i960.h:263
msgid "generate RP code"
msgstr "Generera RP-kod"
-#: config/i960/i960.h:271
+#: config/i960/i960.h:266
msgid "Generate MC code"
msgstr "Generera MC-kod"
-#: config/i960/i960.h:274
+#: config/i960/i960.h:269
msgid "Generate CA code"
msgstr "Generera CA-kod"
#. {"cb", (TARGET_FLAG_NUMERICS|TARGET_FLAG_C_SERIES| TARGET_FLAG_BRANCH_PREDICT|TARGET_FLAG_CODE_ALIGN), N_("Generate CB code")}, {"cc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED| TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT| TARGET_FLAG_CODE_ALIGN), N_("Generate CC code")},
-#: config/i960/i960.h:284
+#: config/i960/i960.h:279
msgid "Generate CF code"
msgstr "Generera CF-kod"
-#: config/i960/i960.h:290
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:252
+msgid "Use software floating point"
+msgstr "Använd mjukvaruflytttal"
+
+#: config/i960/i960.h:285
msgid "Use alternate leaf function entries"
msgstr ""
-#: config/i960/i960.h:292
+#: config/i960/i960.h:287
msgid "Do not use alternate leaf function entries"
msgstr ""
-#: config/i960/i960.h:294
+#: config/i960/i960.h:289
msgid "Perform tail call optimization"
msgstr "Utför optimering för svansrekursion"
-#: config/i960/i960.h:296
+#: config/i960/i960.h:291
msgid "Do not perform tail call optimization"
msgstr "Utför inte optimering för svansrekursion"
-#: config/i960/i960.h:298
+#: config/i960/i960.h:293
msgid "Use complex addressing modes"
msgstr ""
-#: config/i960/i960.h:300
+#: config/i960/i960.h:295
msgid "Do not use complex addressing modes"
msgstr ""
-#: config/i960/i960.h:302
+#: config/i960/i960.h:297
msgid "Align code to 8 byte boundary"
msgstr ""
-#: config/i960/i960.h:304
+#: config/i960/i960.h:299
msgid "Do not align code to 8 byte boundary"
msgstr ""
#. {"clean-linkage", (TARGET_FLAG_CLEAN_LINKAGE), N_("Force use of prototypes")}, {"no-clean-linkage", -(TARGET_FLAG_CLEAN_LINKAGE), N_("Do not force use of prototypes")},
-#: config/i960/i960.h:310 config/i960/i960.h:312
+#: config/i960/i960.h:305 config/i960/i960.h:307
msgid "Enable compatibility with iC960 v2.0"
msgstr ""
-#: config/i960/i960.h:314
+#: config/i960/i960.h:309
msgid "Enable compatibility with iC960 v3.0"
msgstr ""
-#: config/i960/i960.h:316 config/i960/i960.h:318
+#: config/i960/i960.h:311 config/i960/i960.h:313
msgid "Enable compatibility with ic960 assembler"
msgstr ""
-#: config/i960/i960.h:320
+#: config/i960/i960.h:315
msgid "Do not permit unaligned accesses"
msgstr ""
-#: config/i960/i960.h:322
+#: config/i960/i960.h:317
msgid "Permit unaligned accesses"
msgstr ""
-#: config/i960/i960.h:324
+#: config/i960/i960.h:319
msgid "Layout types like Intel's v1.3 gcc"
msgstr ""
-#: config/i960/i960.h:326
+#: config/i960/i960.h:321
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr ""
-#: config/i960/i960.h:328 config/rs6000/sysv4.h:130 config/sparc/linux.h:83
-#: config/sparc/linux64.h:139
+#: 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 "Använd 64 bits long double"
-#: config/i960/i960.h:330
+#: config/i960/i960.h:325
msgid "Enable linker relaxation"
msgstr ""
-#: config/i960/i960.h:332
+#: config/i960/i960.h:327
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:347 config/i960/i960.h:357
-msgid "conflicting architectures defined - using C series"
-msgstr ""
-
-#: config/i960/i960.h:352
-msgid "conflicting architectures defined - using K series"
+#: config/ia64/ia64-c.c:50
+msgid "malformed #pragma builtin"
msgstr ""
-#: config/i960/i960.h:367
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr "iC2.0 och iC3.0 är imkompatible - använder iC3.0"
-
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:378
-msgid "The -mlong-double-64 option does not work yet."
-msgstr ""
-
-#: config/ia64/ia64.c:3413
+#: config/ia64/ia64.c:3879
msgid "ia64_print_operand: unknown code"
msgstr ""
-#: config/ia64/ia64.c:3651
+#: config/ia64/ia64.c:4157
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr ""
-#: config/ia64/ia64.c:3663 config/ia64/ia64.c:3670 regclass.c:715
-#, c-format
-msgid "unknown register name: %s"
-msgstr "okänt registernamn: %s"
-
-#: config/ia64/ia64.c:3678
+#: config/ia64/ia64.c:4184
#, c-format
msgid "%s-%s is an empty range"
msgstr "%s-%s är ett tomt intervall"
-#: config/ia64/ia64.c:3743
-msgid "cannot optimize division for both latency and throughput"
+#: config/ia64/ia64.c:4215
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr ""
+
+#: config/ia64/ia64.c:4221
+msgid "cannot optimize integer division for both latency and throughput"
msgstr ""
+#: config/ia64/ia64.c:4233
+#, fuzzy, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "ogiltigt värde (%s) till flagga -mcpu"
+
#. 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:110
+#: config/ia64/ia64.h:150
msgid "Generate big endian code"
msgstr "Generera \"big endian\"-kod."
-#: config/ia64/ia64.h:112 config/mcore/mcore.h:164
+#: config/ia64/ia64.h:152 config/mcore/mcore.h:159
msgid "Generate little endian code"
msgstr "Generera \"little endian\"-kod."
-#: config/ia64/ia64.h:114
+#: config/ia64/ia64.h:154
msgid "Generate code for GNU as"
msgstr "Generera kod för GNU as"
-#: config/ia64/ia64.h:116
+#: config/ia64/ia64.h:156
msgid "Generate code for Intel as"
msgstr "Generera kod för Intel as"
-#: config/ia64/ia64.h:118
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU ld"
msgstr "Generera kod för GNU ld"
-#: config/ia64/ia64.h:120
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel ld"
msgstr "Generera kod för Intel ld"
-#: config/ia64/ia64.h:122
+#: config/ia64/ia64.h:162
msgid "Generate code without GP reg"
msgstr ""
-#: config/ia64/ia64.h:124
+#: config/ia64/ia64.h:164
msgid "Emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:126
+#: config/ia64/ia64.h:166
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr ""
-#: config/ia64/ia64.h:128
+#: config/ia64/ia64.h:168
msgid "Emit code for Itanium (TM) processor B step"
msgstr ""
-#: config/ia64/ia64.h:130
+#: config/ia64/ia64.h:170
msgid "Use in/loc/out register names"
msgstr ""
-#: config/ia64/ia64.h:132
+#: config/ia64/ia64.h:172
msgid "Disable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:134
+#: config/ia64/ia64.h:174
msgid "Enable use of sdata/scommon/sbss"
msgstr ""
-#: config/ia64/ia64.h:136
+#: config/ia64/ia64.h:176
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr ""
-#: config/ia64/ia64.h:138
+#: config/ia64/ia64.h:178
msgid "Generate self-relocatable code"
msgstr ""
-#: config/ia64/ia64.h:140
-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:142
-msgid "Generate inline division, optimize for throughput"
+#: config/ia64/ia64.h:182
+msgid "Generate inline floating point division, optimize for throughput"
msgstr ""
-#: config/ia64/ia64.h:144
-msgid "Enable Dwarf 2 line debug info via GNU as"
+#: config/ia64/ia64.h:184
+msgid "Generate inline integer division, optimize for latency"
msgstr ""
-#: config/ia64/ia64.h:146
-msgid "Disable Dwarf 2 line debug info via GNU as"
+#: config/ia64/ia64.h:186
+msgid "Generate inline integer division, optimize for throughput"
msgstr ""
-#: config/ia64/ia64.h:169
-msgid "Specify range of registers to make fixed."
+#: config/ia64/ia64.h:188
+msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:88
-msgid "-msystem-v and -p are incompatible"
+#: config/ia64/ia64.h:190
+msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr ""
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:90
-msgid "-msystem-v and -mthreads are incompatible"
+#: config/ia64/ia64.h:219
+msgid "Specify range of registers to make fixed"
msgstr ""
-#: config/m32r/m32r.c:86
+#: config/ip2k/ip2k.c:1082
+#, fuzzy
+msgid "bad operand"
+msgstr "ogiltig %%-kod"
+
+#: config/ip2k/ip2k.c:3184
+#, fuzzy
+msgid "Only initialized variables can be placed into program memory area."
+msgstr "Initiera bara variabler som kan placeras i 8-bits området."
+
+#: config/m32r/m32r.c:139
#, c-format
msgid "bad value (%s) for -mmodel switch"
msgstr ""
-#: config/m32r/m32r.c:95
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
msgstr ""
-#: config/m32r/m32r.c:383
+#: config/m32r/m32r.c:319
+#, fuzzy, c-format
+msgid "invalid argument of `%s' attribute"
+msgstr "ogiltigt typargument till \"%s\""
+
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr ""
-#: config/m32r/m32r.c:2191
-#, c-format
-msgid "invalid operand to %s code"
+#: config/m32r/m32r.c:2256
+#, fuzzy, c-format
+msgid "invalid operand to %%s code"
+msgstr "ogiltig operand för %R"
+
+#: config/m32r/m32r.c:2263
+#, fuzzy, c-format
+msgid "invalid operand to %%p code"
+msgstr "ogiltig operand för %R"
+
+#: config/m32r/m32r.c:2318
+msgid "bad insn for 'A'"
msgstr ""
-#: config/m32r/m32r.c:2198
-#, c-format
-msgid "invalid operand to %p code"
+#: config/m32r/m32r.c:2370
+#, fuzzy, c-format
+msgid "invalid operand to %%T/%%B code"
+msgstr "ogiltig operand för %H/%L"
+
+#: config/m32r/m32r.c:2393
+#, fuzzy, c-format
+msgid "invalid operand to %%N code"
+msgstr "ogiltig operand för %R"
+
+#: config/m32r/m32r.c:2438
+msgid "pre-increment address is not a register"
+msgstr ""
+
+#: config/m32r/m32r.c:2445
+msgid "pre-decrement address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2306
-msgid "invalid operand to %T/%B code"
+#: config/m32r/m32r.c:2452
+msgid "post-increment address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2329
-msgid "invalid operand to %N code"
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12737
+msgid "bad address"
msgstr ""
+#: config/m32r/m32r.c:2551
+#, fuzzy
+msgid "lo_sum not of register"
+msgstr "Skicka argument i register"
+
#. { "relax", TARGET_RELAX_MASK, "" }, { "no-relax", -TARGET_RELAX_MASK, "" },
-#: config/m32r/m32r.h:186
+#: config/m32r/m32r.h:241
msgid "Display compile time statistics"
msgstr ""
-#: config/m32r/m32r.h:188
+#: config/m32r/m32r.h:243
msgid "Align all loops to 32 byte boundary"
msgstr ""
-#: config/m32r/m32r.h:191
+#: config/m32r/m32r.h:246
msgid "Only issue one instruction per cycle"
msgstr "Lägg bara ut en instruktion per cykel"
-#: config/m32r/m32r.h:194
+#: config/m32r/m32r.h:249
msgid "Prefer branches over conditional execution"
msgstr "Föredra hopp framför villkorlig körning"
-#: config/m32r/m32r.h:210
+#: config/m32r/m32r.h:265
msgid "Code size: small, medium or large"
msgstr "Kodstorlek: small, medium, eller large"
-#: config/m32r/m32r.h:212
+#: config/m32r/m32r.h:267
msgid "Small data area: none, sdata, use"
msgstr "Litet dataområde: none, sdata, use"
-#: config/m68hc11/m68hc11.c:217
+#: config/m68hc11/m68hc11.c:242
#, c-format
msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
msgstr ""
+#. !!!! SCz wrong here.
+#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3626
+msgid "move insn not handled"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3472 config/m68hc11/m68hc11.c:3556
+#: config/m68hc11/m68hc11.c:3829
+#, fuzzy
+msgid "invalid register in the move instruction"
+msgstr "Använd inte divisionsinstruktionen"
+
+#: config/m68hc11/m68hc11.c:3506
+#, fuzzy
+msgid "invalid operand in the instruction"
+msgstr "ogiltig operand för %V"
+
+#: config/m68hc11/m68hc11.c:3803
+#, fuzzy
+msgid "invalid register in the instruction"
+msgstr "ogiltigt flagga \"%s\" i line-direktiv"
+
+#: config/m68hc11/m68hc11.c:3836
+msgid "operand 1 must be a hard register"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:3853
+#, fuzzy
+msgid "invalid rotate insn"
+msgstr "ogiltigt format på #line"
+
+#: config/m68hc11/m68hc11.c:4278
+msgid "registers IX, IY and Z used in the same INSN"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:4603 config/m68hc11/m68hc11.c:4906
+msgid "cannot do z-register replacement"
+msgstr ""
+
+#: config/m68hc11/m68hc11.c:4969
+msgid "invalid Z register replacement for insn"
+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/m68hc11/m68hc11.h:152
+#: config/m68hc11/m68hc11.h:160
msgid "Compile with 16-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:154
+#: config/m68hc11/m68hc11.h:162
msgid "Compile with 32-bit integer mode"
msgstr ""
-#: config/m68hc11/m68hc11.h:156
+#: config/m68hc11/m68hc11.h:164
msgid "Auto pre/post decrement increment allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:158
+#: config/m68hc11/m68hc11.h:166
msgid "Auto pre/post decrement increment not allowed"
msgstr ""
-#: config/m68hc11/m68hc11.h:160 config/m68hc11/m68hc11.h:164
+#: 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:178 config/m68hc11/m68hc11.h:182
msgid "Compile for a 68HC11"
msgstr ""
-#: config/m68hc11/m68hc11.h:162 config/m68hc11/m68hc11.h:166
+#: config/m68hc11/m68hc11.h:180 config/m68hc11/m68hc11.h:184
msgid "Compile for a 68HC12"
msgstr ""
@@ -8022,134 +11241,254 @@ 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:180
+#: config/m68hc11/m68hc11.h:198
msgid "Specify the register allocation order"
msgstr ""
-#: config/m68hc11/m68hc11.h:182
+#: config/m68hc11/m68hc11.h:200
msgid "Indicate the number of soft registers available"
msgstr ""
-#: config/m68k/m68k.c:102
+#: config/m68k/m68k.c:158
#, c-format
msgid "-malign-loops=%d is not between 1 and %d"
msgstr ""
-#: config/m68k/m68k.c:113
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr ""
-#: config/m68k/m68k.c:124
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
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:238 config/m68k/m68kelf.h:265 config/m68k/m68kv4.h:295
+#: config/m68k/m68k.c:189
msgid "-fPIC is not currently supported on the 68000 or 68010\n"
msgstr ""
-#: config/m88k/m88k.c:860
-#, c-format
-msgid "Internal gcc monitor: short-branch(%x)"
-msgstr "Intern gcc monitor: short-branch(%x)"
+#. 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/m68k/m68k.h:162 config/m68k/m68k.h:164
+#, fuzzy
+msgid "Generate code for a 68020"
+msgstr "Generera kod för c2"
-#: config/m88k/m88k.c:2266
-msgid "Internal gcc error: Can't express symbolic location"
-msgstr ""
+#: config/m68k/m68k.h:169 config/m68k/m68k.h:172
+#, fuzzy
+msgid "Generate code for a 68000"
+msgstr "Generera kod för en DLL"
-#: config/m88k/m88k.c:2547
-#, c-format
-msgid "argument #%d is a structure"
+#: config/m68k/m68k.h:174
+#, fuzzy
+msgid "Use the bit-field instructions"
+msgstr "Använd bitfältsinstruktioner"
+
+#: config/m68k/m68k.h:176
+#, fuzzy
+msgid "Do not use the bit-field instructions"
+msgstr "Använd inte bitfältsinstruktioner"
+
+#: config/m68k/m68k.h:178
+msgid "Use different calling convention using 'rtd'"
msgstr ""
-#: config/m88k/m88k.c:2862
-msgid "%R not followed by %B/C/D/E"
+#: config/m68k/m68k.h:182
+msgid "Consider type `int' to be 16 bits wide"
msgstr ""
-#: config/m88k/m88k.c:2930
-#, c-format
-msgid "invalid %x/X value"
+#: config/m68k/m68k.h:184
+msgid "Consider type `int' to be 32 bits wide"
msgstr ""
-#: config/m88k/m88k.c:2935
-msgid "invalid %H value"
+#: config/m68k/m68k.h:186
+#, fuzzy
+msgid "Generate code for a Sun FPA"
+msgstr "Generera kod för en given CPU"
+
+#: config/m68k/m68k.h:189
+#, fuzzy
+msgid "Do not generate code for a Sun FPA"
+msgstr "Genrera inte kod som använder FPU"
+
+#: config/m68k/m68k.h:191 config/m68k/m68k.h:193
+#, fuzzy
+msgid "Generate code for a Sun Sky board"
+msgstr "Generera kod för en DLL"
+
+#: config/m68k/m68k.h:195
+#, fuzzy
+msgid "Do not use Sky linkage convention"
+msgstr "Använd inte divisionsinstruktionen"
+
+#: config/m68k/m68k.h:197
+#, fuzzy
+msgid "Generate code for a 68881"
+msgstr "Generera kod för c1"
+
+#: config/m68k/m68k.h:200
+msgid "Generate code with library calls for floating point"
msgstr ""
-#: config/m88k/m88k.c:2941
-msgid "invalid %h value"
+#: config/m68k/m68k.h:202
+#, fuzzy
+msgid "Generate code for a 68040, without any new instructions"
+msgstr "Generera kod för \"little endian\""
+
+#: config/m68k/m68k.h:205
+#, fuzzy
+msgid "Generate code for a 68060, without any new instructions"
+msgstr "Generera kod för \"little endian\""
+
+#: config/m68k/m68k.h:209
+#, fuzzy
+msgid "Generate code for a 68030"
+msgstr "Generera kod för en DLL"
+
+#: config/m68k/m68k.h:212
+#, fuzzy
+msgid "Generate code for a 68040"
+msgstr "Generera kod för 11/40"
+
+#: config/m68k/m68k.h:216
+#, fuzzy
+msgid "Generate code for a 68060"
+msgstr "Generera kod för en DLL"
+
+#: config/m68k/m68k.h:221
+#, fuzzy
+msgid "Generate code for a 520X"
+msgstr "Generera kod för c2"
+
+#: config/m68k/m68k.h:224
+#, fuzzy
+msgid "Generate code for a 68851"
+msgstr "Generera kod för c1"
+
+#: config/m68k/m68k.h:226
+#, fuzzy
+msgid "Do no generate code for a 68851"
+msgstr "Generera kod för c1"
+
+#: config/m68k/m68k.h:229
+#, fuzzy
+msgid "Generate code for a 68302"
+msgstr "Generera kod för c32"
+
+#: config/m68k/m68k.h:232
+#, fuzzy
+msgid "Generate code for a 68332"
+msgstr "Generera kod för c32"
+
+#: config/m68k/m68k.h:236
+#, fuzzy
+msgid "Generate code for a cpu32"
+msgstr "Generera kod för c32"
+
+#: config/m68k/m68k.h:239
+msgid "Align variables on a 32-bit boundary"
msgstr ""
-#: config/m88k/m88k.c:2947
-msgid "invalid %Q value"
+#: config/m68k/m68k.h:241
+msgid "Align variables on a 16-bit boundary"
msgstr ""
-#: config/m88k/m88k.c:2953
-msgid "invalid %q value"
+#: config/m68k/m68k.h:243
+#, fuzzy
+msgid "Generate pc-relative code"
+msgstr "Generera SA-kod"
+
+#: config/m68k/m68k.h:245
+msgid "Do not use unaligned memory references"
msgstr ""
-#: config/m88k/m88k.c:2959
-#, c-format
-msgid "invalid %o value"
+#: config/m68k/m68k.h:247
+#, fuzzy
+msgid "Use unaligned memory references"
+msgstr "Använd stor minnesmodell"
+
+#: config/m88k/m88k.c:903
+#, fuzzy, c-format
+msgid "internal gcc monitor: short-branch(%x)"
+msgstr "Intern gcc monitor: short-branch(%x)"
+
+#: config/m88k/m88k.c:2302
+msgid "internal gcc error: Can't express symbolic location"
msgstr ""
-#: config/m88k/m88k.c:2966
+#: config/m88k/m88k.c:2517
#, c-format
-msgid "invalid %p value"
+msgid "argument #%d is a structure"
msgstr ""
-#: config/m88k/m88k.c:2979 config/m88k/m88k.c:2984
+#: config/m88k/m88k.c:2816
#, c-format
-msgid "invalid %s/S value"
+msgid "%%R not followed by %%B/C/D/E"
msgstr ""
-#: config/m88k/m88k.c:2995
-msgid "invalid %P operand"
-msgstr ""
+#: config/m88k/m88k.c:2884
+#, fuzzy, c-format
+msgid "invalid %%x/X value"
+msgstr "ogiltigt värde %%B"
-#: config/m88k/m88k.c:3026
-msgid "invalid %B value"
-msgstr ""
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "ogiltigt %%Q-värde"
-#: config/m88k/m88k.c:3043
-msgid "invalid %C value"
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681
+#, c-format
+msgid "invalid %%q value"
msgstr ""
-#: config/m88k/m88k.c:3056
-msgid "invalid %D value"
-msgstr ""
+#: config/m88k/m88k.c:2913
+#, fuzzy, c-format
+msgid "invalid %%o value"
+msgstr "ogiltigt värde %%B"
-#: config/m88k/m88k.c:3064
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644
#, c-format
-msgid "invalid %E value"
+msgid "invalid %%p value"
msgstr ""
-#: config/m88k/m88k.c:3069
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
+#, fuzzy, c-format
+msgid "invalid %%s/S value"
+msgstr "ogiltigt %%s-värde"
+
+#: config/m88k/m88k.c:2949
+#, fuzzy, c-format
+msgid "invalid %%P operand"
+msgstr "ogiltigt %%P-värde"
+
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
#, c-format
-msgid "`%d' operand isn't a register"
-msgstr ""
+msgid "invalid %%B value"
+msgstr "ogiltigt värde %%B"
-#: config/m88k/m88k.c:3080
-msgid "invalid %r value"
+#: config/m88k/m88k.c:3010
+#, fuzzy, c-format
+msgid "invalid %%D value"
+msgstr "ogiltigt värde %%B"
+
+#: config/m88k/m88k.c:3023
+#, c-format
+msgid "`%%d' operand isn't a register"
msgstr ""
-#: config/m88k/m88k.c:3087
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr ""
-#: config/m88k/m88k.c:3101
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr ""
-#: config/m88k/m88k.c:3120
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr "ogiltig kod"
@@ -8159,9 +11498,9 @@ msgid "-mtrap-large-shift and -mhandle-large-shift are incompatible"
msgstr ""
#: config/m88k/m88k.h:299
-#, c-format
-msgid "Invalid option `-mshort-data-%s'"
-msgstr ""
+#, fuzzy, c-format
+msgid "invalid option `-mshort-data-%s'"
+msgstr "Ogiltig flagga \"%s\""
#: config/m88k/m88k.h:304
#, c-format
@@ -8173,271 +11512,293 @@ msgstr ""
msgid "-mshort-data-%s and PIC are incompatible"
msgstr ""
-#: config/mcore/mcore.c:3117
-#, c-format
-msgid "Invalid option `-mstack-increment=%s'"
+#: config/mcore/mcore.c:3078
+#, fuzzy, c-format
+msgid "invalid option `-mstack-increment=%s'"
msgstr "Ogiltig flagga \"-mstack-increment=%s\""
-#: config/mcore/mcore.h:131
+#: config/mcore/mcore.h:126
msgid "Inline constants if it can be done in 2 insns or less"
msgstr ""
-#: config/mcore/mcore.h:133
-msgid "inline constants if it only takes 1 instruction"
+#: config/mcore/mcore.h:128
+msgid "Inline constants if it only takes 1 instruction"
msgstr ""
-#: config/mcore/mcore.h:135
+#: config/mcore/mcore.h:130
msgid "Set maximum alignment to 4"
msgstr ""
-#: config/mcore/mcore.h:137
+#: config/mcore/mcore.h:132
msgid "Set maximum alignment to 8"
msgstr ""
-#: config/mcore/mcore.h:141
+#: config/mcore/mcore.h:136
msgid "Do not use the divide instruction"
msgstr "Använd inte divisionsinstruktionen"
-#: config/mcore/mcore.h:145
+#: config/mcore/mcore.h:140
msgid "Do not arbitary sized immediates in bit operations"
msgstr ""
-#: config/mcore/mcore.h:147
-msgid "Always treat bitfield as int-sized"
+#: config/mcore/mcore.h:142
+msgid "Always treat bit-field as int-sized"
msgstr ""
-#: config/mcore/mcore.h:151
+#: config/mcore/mcore.h:146
msgid "Force functions to be aligned to a 4 byte boundary"
msgstr ""
-#: config/mcore/mcore.h:153
+#: config/mcore/mcore.h:148
msgid "Force functions to be aligned to a 2 byte boundary"
msgstr ""
-#: config/mcore/mcore.h:155
+#: config/mcore/mcore.h:150
msgid "Emit call graph information"
msgstr ""
-#: config/mcore/mcore.h:159
+#: config/mcore/mcore.h:154
msgid "Prefer word accesses over byte accesses"
msgstr ""
-#: config/mcore/mcore.h:170
+#: config/mcore/mcore.h:165
msgid "Generate code for the M*Core M340"
msgstr "Genrera kod för M*Core M340"
-#: config/mcore/mcore.h:183
+#: config/mcore/mcore.h:178
msgid "Maximum amount for a single stack increment operation"
msgstr ""
-#: config/mips/mips.c:4744
+#: config/mips/mips.c:5112
#, c-format
-msgid "-mips%d not supported"
+msgid "bad value (%s) for -mabi= switch"
msgstr ""
-#: config/mips/mips.c:4751
+#: config/mips/mips.c:5142
#, c-format
-msgid "bad value (%s) for -mips switch"
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
msgstr ""
-#: config/mips/mips.c:4770
+#: config/mips/mips.c:5149
#, c-format
-msgid "bad value (%s) for -mabi= switch"
+msgid "bad value (%s) for -mips switch"
msgstr ""
-#: config/mips/mips.c:4800
+#: config/mips/mips.c:5164
#, c-format
-msgid "-mabi=%s does not support -mips%d"
+msgid "-march=%s is not compatible with the selected ABI"
msgstr ""
-#: config/mips/mips.c:4817
-msgid "The -mabi=32 support does not work yet."
+#: config/mips/mips.c:5176
+msgid "-mgp64 used with a 32-bit processor"
msgstr ""
-#: config/mips/mips.c:4821
-msgid "This target does not support the -mabi switch."
-msgstr ""
+#: config/mips/mips.c:5178
+#, fuzzy
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "Använd 64-bitars ABI"
-#: config/mips/mips.c:4955
-#, c-format
-msgid "-mcpu=%s does not support -mips%d"
-msgstr ""
+#: config/mips/mips.c:5180
+#, fuzzy
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "Använd 32-bitars ABI"
-#: config/mips/mips.c:4962
-#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr ""
+#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202
+#, fuzzy, c-format
+msgid "unsupported combination: %s"
+msgstr "ej stödd version"
-#: config/mips/mips.c:4968
-#, 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:4989
+#: config/mips/mips.c:5283
msgid "-G is incompatible with PIC code which is the default"
msgstr ""
-#: config/mips/mips.c:5005
+#: config/mips/mips.c:5299
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr ""
-#: config/mips/mips.c:5008
+#: config/mips/mips.c:5302
msgid "-G and -membedded-pic are incompatible"
msgstr ""
-#: config/mips/mips.c:5059
-#, c-format
-msgid "Invalid option `entry%s'"
-msgstr ""
+#: config/mips/mips.c:5353
+#, fuzzy, c-format
+msgid "invalid option `entry%s'"
+msgstr "Ogiltig flagga \"%s\""
-#: config/mips/mips.c:5062
+#: config/mips/mips.c:5356
msgid "-mentry is only meaningful with -mips-16"
msgstr ""
-#: config/mips/mips.c:5395
+#: config/mips/mips.c:5761
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5409
+#: config/mips/mips.c:5775
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5422
+#: config/mips/mips.c:5788
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5435
+#: config/mips/mips.c:5801
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr ""
-#: config/mips/mips.c:5449
+#: config/mips/mips.c:5815
#, c-format
-msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr ""
-#: config/mips/mips.c:5458
+#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr ""
-#: config/mips/mips.c:5586
+#: config/mips/mips.c:5955
#, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr "ogiltig användning av %%d, %%x eller %%x"
-#: config/mips/mips.c:5629
+#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr "PRINT_OPERAND_ADDRESS, null-pekare"
-#: config/mips/mips.c:5845
-msgid ""
-"MIPS ECOFF format does not allow changing filenames within functions with "
-"#line"
+#: config/mips/mips.c:6222
+msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr ""
# fixme: spola tillbaka är inte perfekt
-#: config/mips/mips.c:6123
-#, c-format
-msgid "can't rewind %s"
+#: config/mips/mips.c:6532
+#, fuzzy
+msgid "can't rewind temp file"
msgstr "kan inte spola tillbaka %s"
-#: config/mips/mips.c:6130
-#, c-format
-msgid "can't read from %s"
+#: config/mips/mips.c:6536
+#, fuzzy
+msgid "can't write to output file"
+msgstr "kan inte skriva till %s"
+
+#: config/mips/mips.c:6539
+#, fuzzy
+msgid "can't read from temp file"
msgstr "kan inte läsa från %s"
-#: config/mips/mips.c:6501
+#: config/mips/mips.c:6542
+#, fuzzy
+msgid "can't close temp file"
+msgstr "kan inte stänga %s"
+
+#: config/mips/mips.c:6983
#, c-format
-msgid "gp_offset (%ld) or end_offset (%ld) is less than zero."
+msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:6720
+#: config/mips/mips.c:7092
#, c-format
-msgid "fp_offset (%ld) or end_offset (%ld) is less than zero."
+msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr ""
-#: config/mips/mips.c:8796
+#: 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
+#, fuzzy, c-format
+msgid "bad value (%s) for %s"
+msgstr "ogiltigt värde (%s) till flagga %s"
+
+#. 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:342 config/mn10300/mn10300.h:65
+#: config/mips/mips.h:528 config/mn10300/mn10300.h:64
msgid "No default crt0.o"
msgstr ""
-#: config/mips/mips.h:344
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr ""
-#: config/mips/mips.h:346
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr ""
-#: config/mips/mips.h:348
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr ""
-#: config/mips/mips.h:350
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr ""
-#: config/mips/mips.h:352
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr ""
-#: config/mips/mips.h:354
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr "Använd GNU as"
-#: config/mips/mips.h:356
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr "Använd GNU as"
-#: config/mips/mips.h:358
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
msgstr ""
-#: config/mips/mips.h:360
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr ""
-#: config/mips/mips.h:362 config/mips/mips.h:364
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr ""
-#: config/mips/mips.h:366 config/mips/mips.h:368
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr ""
-#: config/mips/mips.h:370
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr ""
-#: config/mips/mips.h:372
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr ""
-#: config/mips/mips.h:374
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr ""
-#: config/mips/mips.h:376
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr ""
-#: config/mips/mips.h:378
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr ""
-#: config/mips/mips.h:380
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr ""
@@ -8447,342 +11808,654 @@ 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:384 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:386
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr ""
-#: config/mips/mips.h:388
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr ""
-#: config/mips/mips.h:390
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr ""
-#: config/mips/mips.h:392
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr ""
-#: config/mips/mips.h:394
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr ""
-#: config/mips/mips.h:396
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
msgstr ""
-#: config/mips/mips.h:398
-msgid "Use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:400
-msgid "Don't use OSF PIC"
-msgstr ""
-
-#: config/mips/mips.h:402
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr ""
-#: config/mips/mips.h:404
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr ""
-#: config/mips/mips.h:406
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr ""
-#: config/mips/mips.h:408
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr ""
-#: config/mips/mips.h:410
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr ""
-#: config/mips/mips.h:412
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr ""
-#: config/mips/mips.h:414
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
msgstr ""
-#: config/mips/mips.h:416
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
msgstr ""
-#: config/mips/mips.h:418
+#. Macro to define tables used to set the flags.
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr "Använd \"big endian\" byteordning"
-#: config/mips/mips.h:420
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr "Använd \"little endian\" byteordning"
-#: config/mips/mips.h:422
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr ""
-#: config/mips/mips.h:424
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr ""
-#: config/mips/mips.h:426
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr ""
-#: config/mips/mips.h:428
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr ""
-#: config/mips/mips.h:430
-msgid "Work around early 4300 hardware bug"
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
+msgid "Don't generate fused multiply/add instructions"
msgstr ""
-#: config/mips/mips.h:432
-msgid "Don't work around early 4300 hardware bug"
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
+msgid "Generate fused multiply/add instructions"
msgstr ""
-#: config/mips/mips.h:434
-msgid "Optimize for 4650"
-msgstr "Optimera för 4650"
+#: config/mips/mips.h:616
+msgid "Work around early 4300 hardware bug"
+msgstr ""
-#: config/mips/mips.h:436
-msgid "Optimize for 3900"
-msgstr "Optimera för 3900"
+#: config/mips/mips.h:618
+msgid "Don't work around early 4300 hardware bug"
+msgstr ""
-#: config/mips/mips.h:438
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr "Fånga heltalsdivision med noll"
-#: config/mips/mips.h:440
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr "Fånga inte heltalsdivision med noll"
-#: config/mips/mips.h:442
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr "Fånga spill vid heltalsdivsion"
-#: config/mips/mips.h:444
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr "Fånga inte spill vid heltalsdivision"
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/mips/mips.h:569
+#: 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:571
-msgid "Specify MIPS ISA"
+#: config/mips/mips.h:746
+msgid "Specify CPU for code generation purposes"
msgstr ""
-#: config/mips/mips.h:573
+#: 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:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr ""
-#: config/mips/mips.h:575
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr ""
+#: config/mips/mips.h:756
+#, fuzzy
+msgid "Don't call any cache flush functions"
+msgstr "Inga anrop i funktion %s\n"
+
+#: 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:2606
+#: config/mips/mips.h:2868
msgid "mips16 function profiling"
msgstr ""
-#: config/mn10300/mn10300.h:60
-msgid "Work around hardware multiply bug"
+#: config/mmix/mmix.c:189
+#, fuzzy, c-format
+msgid "-f%s not supported: ignored"
+msgstr "\"%s\" stöds inte av %s"
+
+#: config/mmix/mmix.c:644
+#, c-format
+msgid "too large function value type, needs %d registers, have only %d registers for this"
msgstr ""
-#: config/mn10300/mn10300.h:61
-msgid "Do not work around hardware multiply bug"
+#: config/mmix/mmix.c:826
+msgid "function_profiler support for MMIX"
msgstr ""
-#: config/mn10300/mn10300.h:62
-msgid "Target the AM33 processor"
+#: config/mmix/mmix.c:848
+msgid "MMIX Internal: Last named vararg would not fit in a register"
msgstr ""
-#: config/mn10300/mn10300.h:66
-msgid "Enable linker relaxations"
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
+msgid "MMIX Internal: Expected a CONST_INT, not this"
+msgstr ""
+
+#: 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:1718
+msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+msgstr ""
+
+#: config/mmix/mmix.c:1737
+msgid "MMIX Internal: Expected a register, not this"
+msgstr ""
+
+#: 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:1779
+#, c-format
+msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
+msgstr ""
+
+#. We need the original here.
+#: config/mmix/mmix.c:1831
+msgid "MMIX Internal: Cannot decode this operand"
+msgstr ""
+
+#: config/mmix/mmix.c:1891
+msgid "MMIX Internal: This is not a recognized address"
+msgstr ""
+
+#: 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:3006
+msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+msgstr ""
+
+#: config/mmix/mmix.c:3013
+msgid "MMIX Internal: What's the CC of this?"
+msgstr ""
+
+#: config/mmix/mmix.c:3017
+msgid "MMIX Internal: What is the CC of this?"
+msgstr ""
+
+#: config/mmix/mmix.c:3088
+#, fuzzy
+msgid "MMIX Internal: This is not a constant:"
+msgstr "fältinitierare är ej konstant"
+
+#. For these target macros, there is no generic documentation here. You
+#. should read `Using and Porting GCC' for that. Only comments specific
+#. to the MMIX target are here.
+#.
+#. There are however references to the specific texinfo node (comments
+#. with "Node:"), so there should be little or nothing amiss. Probably
+#. the opposite, since we don't have to care about old littering and
+#. soon outdated generic comments.
+#. Node: Driver
+#. 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.
+#. Pass on -mset-program-start=N and -mset-data-start=M to the linker.
+#. Provide default program start 0x100 unless -mno-set-program-start.
+#. 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:132
+#, fuzzy
+msgid "Set start-address of the program"
+msgstr "tar adress till något temporärt"
+
+#: 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:198
+msgid "For intrinsics library: pass all parameters in registers"
+msgstr ""
+
+#: config/mmix/mmix.h:201
+#, fuzzy
+msgid "Use register stack for parameters and return value"
+msgstr "Använd register för argumentskickning"
+
+#: config/mmix/mmix.h:203
+msgid "Use call-clobbered registers for parameters and return value"
+msgstr ""
+
+#: config/mmix/mmix.h:205
+#, fuzzy
+msgid "Use epsilon-respecting floating point compare instructions"
+msgstr "Använd flyttalsinstruktioner i hårdvara"
+
+#: config/mmix/mmix.h:208
+msgid "Use zero-extending memory loads, not sign-extending ones"
+msgstr ""
+
+#: 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:215
+msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+msgstr ""
+
+#: config/mmix/mmix.h:217
+msgid "Do not provide a default start-address 0x100 of the program"
+msgstr ""
+
+#: config/mmix/mmix.h:219
+msgid "Link to emit program in ELF format (rather than mmo)"
+msgstr ""
+
+#: config/mmix/mmix.h:221
+msgid "Use P-mnemonics for branches statically predicted as taken"
+msgstr ""
+
+#: config/mmix/mmix.h:223
+msgid "Don't use P-mnemonics for branches"
+msgstr ""
+
+#: config/mmix/mmix.h:225
+msgid "Use addresses that allocate global registers"
+msgstr ""
+
+#: config/mmix/mmix.h:227
+msgid "Do not use addresses that allocate global registers"
msgstr ""
-#: config/nextstep.c:65
-msgid "optimization turned on"
-msgstr "optimering påslagen"
+#: config/mmix/mmix.h:229
+msgid "Generate a single exit point for each function"
+msgstr ""
-#: config/nextstep.c:71
-msgid "optimization turned off"
-msgstr "optimering avslagen"
+#: config/mmix/mmix.h:231
+#, fuzzy
+msgid "Do not generate a single exit point for each function"
+msgstr "Generera inte .size-direktiv"
-#: config/nextstep.c:80
-msgid "optimization level restored"
+#: config/mn10300/mn10300.h:59
+msgid "Work around hardware multiply bug"
msgstr ""
-#: config/ns32k/ns32k.h:104
+#: config/mn10300/mn10300.h:60
+msgid "Do not work around hardware multiply bug"
+msgstr ""
+
+#: config/mn10300/mn10300.h:61
+msgid "Target the AM33 processor"
+msgstr ""
+
+#: config/mn10300/mn10300.h:65
+msgid "Enable linker relaxations"
+msgstr ""
+
+#: 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 "Optimera för cpu 32532"
-#: config/ns32k/ns32k.h:110
+#: config/ns32k/ns32k.h:148
msgid "Optimize for 32332 cpu"
msgstr "Optimera för cpu 32332"
-#: config/ns32k/ns32k.h:112
+#: config/ns32k/ns32k.h:150
msgid "Optimize for 32032"
msgstr "Optimera för cpu 32032"
-#: 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 bitfield instructions"
-msgstr "Använd inte bitfältsinstruktioner"
-
-#: config/ns32k/ns32k.h:117
-msgid "Use bitfield instructions"
+#: config/ns32k/ns32k.h:155
+#, fuzzy
+msgid "Use bit-field instructions"
msgstr "Använd bitfältsinstruktioner"
-#: config/ns32k/ns32k.h:118
+#: config/ns32k/ns32k.h:157
+#, fuzzy
+msgid "Do not use bit-field instructions"
+msgstr "Använd inte bitfältsinstruktioner"
+
+#: 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 "fpu 32381"
-#: 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:141
+#: config/pa/pa.c:246
#, c-format
msgid ""
-"Unknown -mschedule= option (%s).\n"
-"Valid options are 700, 7100, 7100LC, 7200, and 8000\n"
+"unknown -mschedule= option (%s).\n"
+"Valid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n"
msgstr ""
-#: config/pa/pa.c:166
+#: config/pa/pa.c:271
#, c-format
msgid ""
-"Unknown -march= option (%s).\n"
+"unknown -march= option (%s).\n"
"Valid options are 1.0, 1.1, and 2.0\n"
msgstr ""
-#: config/pa/pa.c:171
+#: config/pa/pa.c:284
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr ""
-#: config/pa/pa.c:176
+#: config/pa/pa.c:289
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr ""
-#: config/pa/pa.c:181
+#: config/pa/pa.c:294
msgid "-g is only supported when using GAS on this processor,"
msgstr "-g stöds bara när man använder GAS på denna processor,"
-#: config/pa/pa.c:182
-msgid "-g option disabled."
+#: config/pa/pa.c:295
+#, fuzzy
+msgid "-g option disabled"
msgstr "flaggan -g är avslagen."
-#: 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
+#, fuzzy
+msgid "Generate cpp defines for server IO"
+msgstr "Generera kod för en given CPU"
+
+#: config/pa/pa-hiux.h:76 config/pa/pa-hpux.h:81 config/pa/pa-hpux7.h:82
+#: config/pa/pa64-hpux.h:27
+#, fuzzy
+msgid "Generate cpp defines for workstation IO"
+msgstr "Generera kod för 11/40"
+
+#. 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
+#, fuzzy
+msgid "Generate PA1.1 code"
+msgstr "Generera CA-kod"
+
+#: config/pa/pa.h:220 config/pa/pa.h:222
+#, fuzzy
+msgid "Generate PA1.0 code"
+msgstr "Generera CA-kod"
+
+#: 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
+#, fuzzy
+msgid "Disable indexed addressing"
+msgstr "ogiltig kod"
+
+#: config/pa/pa.h:242
+#, fuzzy
+msgid "Do not disable indexed addressing"
+msgstr "okänt registernamn: %s"
+
+#: config/pa/pa.h:244
+#, fuzzy
+msgid "Use portable calling conventions"
+msgstr "Använd inte divisionsinstruktionen"
+
+#: config/pa/pa.h:246
+#, fuzzy
+msgid "Do not use portable calling conventions"
+msgstr "Använd inte divisionsinstruktionen"
+
+#: 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
+#, fuzzy
+msgid "Do not use software floating point"
+msgstr "Använd mjukvaruflytttal"
+
+#: 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
+#, fuzzy
+msgid "Generate fast indirect calls"
+msgstr "Generera kod för Intel as"
+
+#: config/pa/pa.h:262
+#, fuzzy
+msgid "Do not generate fast indirect calls"
+msgstr "Generera inte .size-direktiv"
+
+#: config/pa/pa.h:264
+#, fuzzy
+msgid "Generate code for huge switch statements"
+msgstr "Generera kod för Intel as"
+
+#: config/pa/pa.h:266
+#, fuzzy
+msgid "Do not generate code for huge switch statements"
+msgstr "Generera kod för Intel as"
+
+#: config/pa/pa.h:268
+#, fuzzy
+msgid "Always generate long calls"
+msgstr "Generera kod för Intel as"
+
+#: config/pa/pa.h:270
+msgid "Generate long calls only when needed"
+msgstr ""
+
+#: config/pa/pa.h:272
+#, fuzzy
+msgid "Enable linker optimizations"
+msgstr "inkompatibla typer i %s"
+
+#: 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 "Generera kod för 11/40"
#. is 11/45
-#: config/pdp11/pdp11.h:64
+#: config/pdp11/pdp11.h:65
msgid "Generate code for an 11/45"
msgstr "Generera kod för 11/45"
#. is 11/10
-#: config/pdp11/pdp11.h:67
+#: config/pdp11/pdp11.h:68
msgid "Generate code for an 11/10"
msgstr "Generera kod för 11/10"
#. 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 "Använd 32 bits int"
-#: 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 "Använd 16 bits int"
#. 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 "Använd 32 bits float"
-#: 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 "Använd 64 bits float"
@@ -8790,84 +12463,50 @@ msgstr "Använd 64 bits float"
#. 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 "Använd assemblersyntax för UNIX"
-#: config/pdp11/pdp11.h:93
+#: config/pdp11/pdp11.h:94
msgid "Use DEC assembler syntax"
msgstr "Använd assemblersyntax för DEC"
-#: config/pj/pj.h:73
-msgid "Generate little endian data"
-msgstr "Generera data som \"little endian\""
-
-#: config/pj/pj.h:75
-msgid "Generate big endian data"
-msgstr "Generera data som \"big endian\""
-
-#: 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:669
-#, c-format
-msgid "invalid %%B value"
-msgstr "ogiltigt värde %%B"
-
-#: config/romp/romp.c:696 config/rs6000/rs6000.c:4175
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7718
#, c-format
msgid "invalid %%S value"
msgstr ""
-#: config/romp/romp.c:705 config/romp/romp.c:712
+#: config/romp/romp.c:726 config/romp/romp.c:733
#, c-format
msgid "invalid %%b value"
msgstr ""
-#: config/romp/romp.c:733 config/romp/romp.c:740
-#, c-format
-msgid "invalid %%H value"
-msgstr ""
-
-#: config/romp/romp.c:752 config/romp/romp.c:763
+#: config/romp/romp.c:773 config/romp/romp.c:784
#, c-format
msgid "invalid %%z value"
msgstr ""
-#: config/romp/romp.c:771 config/romp/romp.c:779
+#: config/romp/romp.c:792 config/romp/romp.c:800
#, c-format
msgid "invalid %%Z value"
msgstr ""
-#: config/romp/romp.c:786 config/romp/romp.c:795 config/romp/romp.c:802
-#: config/rs6000/rs6000.c:3957
+#: 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:887 config/romp/romp.c:930
+#: config/romp/romp.c:908 config/romp/romp.c:951
#, c-format
msgid "invalid %%j value"
msgstr ""
@@ -8885,138 +12524,215 @@ msgstr ""
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr ""
-#: config/rs6000/aix.h:306 config/rs6000/beos.h:30
-msgid "Always pass floating-point arguments in memory"
-msgstr ""
-
-#: config/rs6000/aix.h:308 config/rs6000/beos.h:32
-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
-msgid "Support message passing with the Parallel Environment"
-msgstr ""
+#. 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
+#, fuzzy
+msgid "ignoring malformed #pragma longcall"
+msgstr "ignorerar #pragma %s"
-#: config/rs6000/aix43.h:28 config/rs6000/aix51.h:28
-msgid "Compile for 64-bit pointers"
-msgstr ""
+#: config/rs6000/rs6000-c.c:58
+#, fuzzy
+msgid "missing open paren"
+msgstr "heltalsspill i uttryck"
-#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30
-msgid "Compile for 32-bit pointers"
+#: config/rs6000/rs6000-c.c:60
+msgid "missing number"
msgstr ""
-#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49
-msgid "-maix64 and POWER architecture are incompatible."
+#: config/rs6000/rs6000-c.c:62
+msgid "missing close paren"
msgstr ""
-#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54
-msgid "-maix64 requires PowerPC64 architecture remain enabled."
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
msgstr ""
-#: config/rs6000/aix43.h:58 config/rs6000/aix51.h:58
-msgid ""
-"-maix64 required: 64-bit computation with 32-bit addressing not yet "
-"supported."
-msgstr ""
+#: config/rs6000/rs6000-c.c:68
+#, fuzzy
+msgid "junk at end of #pragma longcall"
+msgstr "skräp vid slutet av #pragma weak"
-#: config/rs6000/rs6000.c:341
+#: config/rs6000/rs6000.c:588
msgid "-mmultiple is not supported on little endian systems"
msgstr "-mmultiple stöds inte på \"little endian\"-system"
-#: config/rs6000/rs6000.c:348
+#: config/rs6000/rs6000.c:595
msgid "-mstring is not supported on little endian systems"
msgstr "-mstring stöds inte på \"little endian\"-system"
-#: config/rs6000/rs6000.c:354
+#: config/rs6000/rs6000.c:619
+#, fuzzy, c-format
+msgid "unknown -mdebug-%s switch"
+msgstr "Okänd flagga -mdebug-%s"
+
+#: config/rs6000/rs6000.c:631
#, c-format
-msgid "-f%s ignored for AIX (all code is position independent)"
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
msgstr ""
-#: config/rs6000/rs6000.c:362
-msgid "-ffunction-sections disabled on AIX when debugging"
+#: config/rs6000/rs6000.c:642
+#, c-format
+msgid "Unknown switch -mlong-double-%s"
msgstr ""
-#: config/rs6000/rs6000.c:368
-msgid "-fdata-sections not supported on AIX"
-msgstr "-fdata-sections stöds inte för AIX"
+#: config/rs6000/rs6000.c:734
+#, fuzzy, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "okänt maskinläge `%s'"
-#: config/rs6000/rs6000.c:382
-#, c-format
-msgid "Unknown -mdebug-%s switch"
-msgstr "Okänd flagga -mdebug-%s"
+#: config/rs6000/rs6000.c:749
+#, fuzzy, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "okänt maskinläge `%s'"
+
+#: config/rs6000/rs6000.c:768
+#, fuzzy, c-format
+msgid "unknown ABI specified: '%s'"
+msgstr "okänt maskinläge `%s'"
+
+#: config/rs6000/rs6000.c:4169
+#, fuzzy
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "första argumentet till \"%s\" skall vara \"int\""
+
+#: config/rs6000/rs6000.c:4276 config/rs6000/rs6000.c:4866
+#, fuzzy
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "första argumentet till \"%s\" skall vara \"int\""
+
+#: config/rs6000/rs6000.c:4319
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+msgstr "argumentet till \"__builtin_eh_return_regno\" måste vara konstant"
+
+#: config/rs6000/rs6000.c:4373
+#, fuzzy
+msgid "argument 1 of __builtin_altivec_predicate is out of range"
+msgstr "argument till \"__builtin_args_info\" är utanför sitt intervall"
+
+#: config/rs6000/rs6000.c:4452
+#, fuzzy
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "första argumentet till \"%s\" skall vara \"int\""
+
+#: config/rs6000/rs6000.c:4629
+#, fuzzy, c-format
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "första argumentet till \"%s\" skall vara \"int\""
+
+#: config/rs6000/rs6000.c:4745
+#, fuzzy
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr "första argumentet till \"%s\" skall vara \"int\""
-#: config/rs6000/rs6000.c:3884
+#: config/rs6000/rs6000.c:4976
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "argumentet till \"__builtin_eh_return_regno\" måste vara konstant"
+
+#: config/rs6000/rs6000.c:5049
+#, fuzzy
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "argument till \"__builtin_args_info\" är utanför sitt intervall"
+
+#: config/rs6000/rs6000.c:7474
#, c-format
msgid "invalid %%f value"
msgstr ""
-#: config/rs6000/rs6000.c:3893
+#: config/rs6000/rs6000.c:7483
#, c-format
msgid "invalid %%F value"
msgstr ""
-#: config/rs6000/rs6000.c:3902
+#: config/rs6000/rs6000.c:7492
#, c-format
msgid "invalid %%G value"
msgstr ""
-#: config/rs6000/rs6000.c:3937
+#: config/rs6000/rs6000.c:7527
#, c-format
msgid "invalid %%j code"
msgstr ""
-#: config/rs6000/rs6000.c:3947
+#: config/rs6000/rs6000.c:7537
#, c-format
msgid "invalid %%J code"
msgstr ""
-#: config/rs6000/rs6000.c:3977
+#: config/rs6000/rs6000.c:7567
#, c-format
msgid "invalid %%K value"
msgstr ""
-#: config/rs6000/rs6000.c:4101
+#: config/rs6000/rs6000.c:7634
#, c-format
-msgid "invalid %%p value"
-msgstr ""
+msgid "invalid %%O value"
+msgstr "ogiltigt %%O-värde"
-#: config/rs6000/rs6000.c:4138
+#: config/rs6000/rs6000.c:7756
#, c-format
-msgid "invalid %%q value"
+msgid "invalid %%T value"
msgstr ""
-#: config/rs6000/rs6000.c:4201
+#: config/rs6000/rs6000.c:7766
#, c-format
-msgid "%%S computed all 1's mask"
+msgid "invalid %%u value"
msgstr ""
-#: config/rs6000/rs6000.c:4228
+#: config/rs6000/rs6000.c:7775
#, c-format
-msgid "%%S computed all 0's mask"
+msgid "invalid %%v value"
msgstr ""
-#: config/rs6000/rs6000.c:4238
-#, c-format
-msgid "invalid %%T value"
+#: config/rs6000/rs6000.c:12180
+msgid "no profiling of 64-bit code for this ABI"
msgstr ""
-#: config/rs6000/rs6000.c:4248
-#, c-format
-msgid "invalid %%u value"
+#: config/rs6000/aix.h:160 config/rs6000/beos.h:32
+msgid "Always pass floating-point arguments in memory"
msgstr ""
-#: config/rs6000/rs6000.c:4257
-#, c-format
-msgid "invalid %%v value"
+#: config/rs6000/aix.h:162 config/rs6000/beos.h:34
+msgid "Don't always pass floating-point arguments in memory"
msgstr ""
-#: config/rs6000/rs6000.c:4330
-#, c-format
-msgid "invalid %%W value"
+#: 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/aix52.h:28
+msgid "Compile for 64-bit pointers"
+msgstr ""
+
+#: 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/aix52.h:49
+#, fuzzy
+msgid "-maix64 and POWER architecture are incompatible"
+msgstr "-fpic och -mapcs-reent är inkompatibla"
+
+#: 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/aix52.h:58
+msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
msgstr ""
#. Run-time compilation parameters selecting different hardware subsets.
@@ -9026,146 +12742,165 @@ 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:255
+#: config/rs6000/rs6000.h:240
msgid "Use POWER instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:258
+#: config/rs6000/rs6000.h:243
msgid "Use POWER2 instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:260
+#: config/rs6000/rs6000.h:245
msgid "Do not use POWER2 instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:263
+#: config/rs6000/rs6000.h:248
msgid "Do not use POWER instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:265
+#: config/rs6000/rs6000.h:250
msgid "Use PowerPC instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:268
+#: config/rs6000/rs6000.h:253
msgid "Do not use PowerPC instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:270
+#: config/rs6000/rs6000.h:255
msgid "Use PowerPC General Purpose group optional instructions"
msgstr ""
-#: config/rs6000/rs6000.h:272
+#: config/rs6000/rs6000.h:257
msgid "Don't use PowerPC General Purpose group optional instructions"
msgstr ""
-#: config/rs6000/rs6000.h:274
+#: config/rs6000/rs6000.h:259
msgid "Use PowerPC Graphics group optional instructions"
msgstr ""
-#: config/rs6000/rs6000.h:276
+#: config/rs6000/rs6000.h:261
msgid "Don't use PowerPC Graphics group optional instructions"
msgstr ""
-#: config/rs6000/rs6000.h:278
+#: config/rs6000/rs6000.h:263
msgid "Use PowerPC-64 instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:280
+#: config/rs6000/rs6000.h:265
msgid "Don't use PowerPC-64 instruction set"
msgstr ""
-#: config/rs6000/rs6000.h:282
+#: config/rs6000/rs6000.h:267
+#, fuzzy
+msgid "Use AltiVec instructions"
+msgstr "Använd bitfältsinstruktioner"
+
+#: config/rs6000/rs6000.h:269
+#, fuzzy
+msgid "Don't use AltiVec instructions"
+msgstr "Använd inte bitfältsinstruktioner"
+
+#: config/rs6000/rs6000.h:271
msgid "Use new mnemonics for PowerPC architecture"
msgstr ""
-#: config/rs6000/rs6000.h:284
+#: config/rs6000/rs6000.h:273
msgid "Use old mnemonics for PowerPC architecture"
msgstr ""
-#: config/rs6000/rs6000.h:287
+#: config/rs6000/rs6000.h:276
msgid "Put everything in the regular TOC"
msgstr ""
-#: config/rs6000/rs6000.h:289
+#: config/rs6000/rs6000.h:278
msgid "Place floating point constants in TOC"
msgstr ""
-#: config/rs6000/rs6000.h:291
+#: config/rs6000/rs6000.h:280
msgid "Don't place floating point constants in TOC"
msgstr ""
-#: config/rs6000/rs6000.h:293
+#: config/rs6000/rs6000.h:282
msgid "Place symbol+offset constants in TOC"
msgstr ""
-#: config/rs6000/rs6000.h:295
+#: config/rs6000/rs6000.h:284
msgid "Don't place symbol+offset constants in TOC"
msgstr ""
-#: config/rs6000/rs6000.h:301
+#: config/rs6000/rs6000.h:290
msgid "Place variable addresses in the regular TOC"
msgstr ""
-#: config/rs6000/rs6000.h:307
+#: config/rs6000/rs6000.h:296
msgid "Generate load/store multiple instructions"
msgstr ""
-#: config/rs6000/rs6000.h:309
+#: config/rs6000/rs6000.h:298
msgid "Do not generate load/store multiple instructions"
msgstr ""
-#: config/rs6000/rs6000.h:313
+#: config/rs6000/rs6000.h:302
msgid "Generate string instructions for block moves"
msgstr ""
-#: config/rs6000/rs6000.h:315
+#: config/rs6000/rs6000.h:304
msgid "Do not generate string instructions for block moves"
msgstr ""
-#: config/rs6000/rs6000.h:319
+#: config/rs6000/rs6000.h:308
msgid "Generate load/store with update instructions"
msgstr ""
-#: config/rs6000/rs6000.h:321
+#: config/rs6000/rs6000.h:310
msgid "Do not generate load/store with update instructions"
msgstr ""
-#: config/rs6000/rs6000.h:323
-msgid "Generate fused multiply/add instructions"
+#: config/rs6000/rs6000.h:318
+msgid "Don't schedule the start and end of the procedure"
msgstr ""
-#: config/rs6000/rs6000.h:325
-msgid "Don't generate fused multiply/add instructions"
+#: config/rs6000/rs6000.h:324
+msgid "Return all structures in memory (AIX default)"
msgstr ""
-#: config/rs6000/rs6000.h:329
-msgid "Don't schedule the start and end of the procedure"
+#: config/rs6000/rs6000.h:326
+msgid "Return small structures in registers (SVR4 default)"
msgstr ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable.
-#. The 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/rs6000/rs6000.h:402 config/sparc/sparc.h:708
+#: 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:405
+#: config/rs6000/rs6000.h:394
msgid "Enable debug output"
msgstr ""
+#: 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:399
+#, fuzzy
+msgid "Specify size of long double (64 or 128 bits)"
+msgstr "sizeof(long double) är 12."
+
+#: 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.
@@ -9178,104 +12913,113 @@ 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:1664
+#: config/rs6000/rs6000.h:1869
msgid "RETURN_ADDRESS_OFFSET not supported"
msgstr ""
-#: config/rs6000/sysv4.h:90
-msgid "Select ABI calling convention."
+#: config/rs6000/sysv4.h:87
+msgid "Select ABI calling convention"
msgstr ""
-#: config/rs6000/sysv4.h:91
-msgid "Select method for sdata handling."
+#: config/rs6000/sysv4.h:88
+msgid "Select method for sdata handling"
msgstr ""
-#: config/rs6000/sysv4.h:106
-msgid "Align to the base type of the bitfield."
+#: config/rs6000/sysv4.h:103
+msgid "Align to the base type of the bit-field"
msgstr ""
-#: config/rs6000/sysv4.h:108
-msgid "Don't align to the base type of the bitfield."
+#: config/rs6000/sysv4.h:105
+msgid "Don't align to the base type of the bit-field"
msgstr ""
-#: config/rs6000/sysv4.h:110
+#: config/rs6000/sysv4.h:107
msgid "Don't assume that unaligned accesses are handled by the system"
msgstr ""
-#: config/rs6000/sysv4.h:112
+#: config/rs6000/sysv4.h:109
msgid "Assume that unaligned accesses are handled by the system"
msgstr ""
-#: config/rs6000/sysv4.h:114 config/rs6000/sysv4.h:118
-msgid "Produce code relocatable at runtime."
+#: config/rs6000/sysv4.h:111 config/rs6000/sysv4.h:115
+msgid "Produce code relocatable at runtime"
msgstr ""
-#: config/rs6000/sysv4.h:116 config/rs6000/sysv4.h:120
-msgid "Don't produce code relocatable at runtime."
+#: config/rs6000/sysv4.h:113 config/rs6000/sysv4.h:117
+msgid "Don't produce code relocatable at runtime"
msgstr ""
-#: config/rs6000/sysv4.h:122 config/rs6000/sysv4.h:124
-msgid "Produce little endian code."
+#: config/rs6000/sysv4.h:119 config/rs6000/sysv4.h:121
+#, fuzzy
+msgid "Produce little endian code"
msgstr "Skapa \"little endian\"-kod."
-#: config/rs6000/sysv4.h:126 config/rs6000/sysv4.h:128
-msgid "Produce big endian code."
+#: config/rs6000/sysv4.h:123 config/rs6000/sysv4.h:125
+#, fuzzy
+msgid "Produce big endian code"
msgstr "Skapa \"big endian\"-kod."
-#: config/rs6000/sysv4.h:132 config/sparc/linux.h:84
-#: config/sparc/linux64.h:140
-msgid "Use 128 bit long doubles"
-msgstr "Använd 128 bit long double"
-
-#: config/rs6000/sysv4.h:133 config/rs6000/sysv4.h:134
-#: config/rs6000/sysv4.h:135 config/rs6000/sysv4.h:136
-#: config/rs6000/sysv4.h:137 config/rs6000/sysv4.h:138
-#: config/rs6000/sysv4.h:148 config/rs6000/sysv4.h:149
-#: config/rs6000/sysv4.h:160 config/rs6000/sysv4.h:161
-#: config/rs6000/sysv4.h:162 config/rs6000/sysv4.h:164
+#: 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 "ingen beskriving ännu"
-#: config/rs6000/sysv4.h:139
-msgid "Use EABI."
+#: config/rs6000/sysv4.h:132
+#, fuzzy
+msgid "Use EABI"
msgstr "Använd EABI."
-#: config/rs6000/sysv4.h:140
-msgid "Don't use EABI."
+#: config/rs6000/sysv4.h:133
+#, fuzzy
+msgid "Don't use EABI"
msgstr "Använd inte EABI."
-#: config/rs6000/sysv4.h:143
-msgid "Do not allow bitfields to cross word boundaries"
+#: config/rs6000/sysv4.h:136
+msgid "Do not allow bit-fields to cross word boundaries"
msgstr ""
-#: config/rs6000/sysv4.h:145
-msgid "Use alternate register names."
+#: config/rs6000/sysv4.h:138
+#, fuzzy
+msgid "Use alternate register names"
msgstr "Använd alternativa registernamn."
-#: config/rs6000/sysv4.h:147
-msgid "Don't use alternate register names."
+#: config/rs6000/sysv4.h:140
+#, fuzzy
+msgid "Don't use alternate register names"
msgstr "Använd inte alternativa registernamn."
-#: config/rs6000/sysv4.h:151
-msgid "Link with libsim.a, libc.a and sim-crt0.o."
+#: config/rs6000/sysv4.h:144
+#, fuzzy
+msgid "Link with libsim.a, libc.a and sim-crt0.o"
msgstr "Länka med libsim.a, libc.a och sim-crt0.o."
-#: config/rs6000/sysv4.h:153
-msgid "Link with libads.a, libc.a and crt0.o."
+#: config/rs6000/sysv4.h:146
+#, fuzzy
+msgid "Link with libads.a, libc.a and crt0.o"
msgstr "Länka med libads.a, libc.a och crt0.o."
-#: config/rs6000/sysv4.h:155
-msgid "Link with libyk.a, libc.a and crt0.o."
+#: config/rs6000/sysv4.h:148
+#, fuzzy
+msgid "Link with libyk.a, libc.a and crt0.o"
msgstr "Länka med libyk.a, libc.a och crt0.o."
-#: config/rs6000/sysv4.h:157
-msgid "Link with libmvme.a, libc.a and crt0.o."
+#: config/rs6000/sysv4.h:150
+#, fuzzy
+msgid "Link with libmvme.a, libc.a and crt0.o"
msgstr "Länka med libmvme.a, libc.a och crt0.o."
-#: config/rs6000/sysv4.h:159
+#: config/rs6000/sysv4.h:152
msgid "Set the PPC_EMB bit in the ELF flags header"
msgstr "Sätt biten PPC_EMB i ELF:s flaggfält"
+#: 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
@@ -9284,357 +13028,500 @@ msgstr "Sätt biten PPC_EMB i ELF:s flaggfält"
#.
#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
#. get control.
-#: config/rs6000/sysv4.h:217
-#, c-format
-msgid "Bad value for -mcall-%s"
+#: config/rs6000/sysv4.h:214
+#, fuzzy, c-format
+msgid "bad value for -mcall-%s"
msgstr "Felaktigt värde för -mcall-%s"
-#: config/rs6000/sysv4.h:233
-#, c-format
-msgid "Bad value for -msdata=%s"
+#: config/rs6000/sysv4.h:230
+#, fuzzy, c-format
+msgid "bad value for -msdata=%s"
msgstr "Felaktigt värde för -msdata-%s"
-#: config/rs6000/sysv4.h:250
-#, c-format
-msgid "-mrelocatable and -msdata=%s are incompatible."
+#: config/rs6000/sysv4.h:247
+#, fuzzy, c-format
+msgid "-mrelocatable and -msdata=%s are incompatible"
+msgstr "-fpic och -mapcs-reent är inkompatibla"
+
+#: config/rs6000/sysv4.h:255
+#, fuzzy, c-format
+msgid "-f%s and -msdata=%s are incompatible"
+msgstr "-fpic och -mapcs-reent är inkompatibla"
+
+#: config/rs6000/sysv4.h:263
+#, fuzzy, c-format
+msgid "-msdata=%s and -mcall-%s are incompatible"
+msgstr "-mbsd och -mxopen är inkompatibla"
+
+#: config/rs6000/sysv4.h:272
+#, fuzzy
+msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+msgstr "-fpic och -mapcs-reent är inkompatibla"
+
+#: config/rs6000/sysv4.h:278
+#, fuzzy, c-format
+msgid "-mrelocatable and -mcall-%s are incompatible"
+msgstr "-fpic och -mapcs-reent är inkompatibla"
+
+#: config/rs6000/sysv4.h:285
+#, fuzzy, c-format
+msgid "-fPIC and -mcall-%s are incompatible"
+msgstr "-fpic och -mapcs-reent är inkompatibla"
+
+#: config/rs6000/sysv4.h:292
+msgid "-mcall-aixdesc must be big endian"
+msgstr "-mcall-aixdesc måste vara \"big endian\""
+
+#: config/s390/s390.c:2584
+msgid "invalid UNSPEC as operand (1)"
msgstr ""
-#: config/rs6000/sysv4.h:258
-#, c-format
-msgid "-f%s and -msdata=%s are incompatible."
+#: config/s390/s390.c:2620
+msgid "invalid UNSPEC as operand (2)"
msgstr ""
-#: config/rs6000/sysv4.h:267
-#, c-format
-msgid "-msdata=%s and -mcall-%s are incompatible."
+#: config/s390/s390.c:2626
+msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr ""
-#: config/rs6000/sysv4.h:274
-msgid "-mrelocatable and -mno-minimal-toc are incompatible."
+#: config/s390/s390.c:2644
+msgid "Cannot decompose address."
msgstr ""
-#: config/rs6000/sysv4.h:280
-#, c-format
-msgid "-mrelocatable and -mcall-%s are incompatible."
+#: config/s390/s390.c:2784
+msgid "UNKNOWN in print_operand !?"
msgstr ""
-#: config/rs6000/sysv4.h:287
-#, c-format
-msgid "-fPIC and -mcall-%s are incompatible."
+#: config/s390/s390.c:4421
+msgid "Total size of local variables exceeds architecture limit."
msgstr ""
-#: config/rs6000/sysv4.h:294
-msgid "-mcall-aixdesc must be big endian"
-msgstr "-mcall-aixdesc måste vara \"big endian\""
+#: config/s390/s390.h:70
+msgid "Set backchain"
+msgstr ""
-#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
-msgid "Generate code for big endian"
-msgstr "Generera kod för \"big endian\""
+#: config/s390/s390.h:71
+msgid "Don't set backchain (faster, but debug harder"
+msgstr ""
-#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
-msgid "Generate code for little endian"
-msgstr "Generera kod för \"little endian\""
+#: config/s390/s390.h:72
+msgid "Use bras for execucable < 64k"
+msgstr ""
-#: config/sparc/sp86x-aout.h:53 config/sparc/sp86x-elf.h:66
-msgid "Use little-endian byte order for data"
-msgstr "Använd \"little endian\" byteordning för data"
+#: config/s390/s390.h:73
+#, fuzzy
+msgid "Don't use bras"
+msgstr "Använd inte EABI."
-#: config/sparc/sparc.c:253
-#, c-format
-msgid "%s is not supported by this configuration"
+#: config/s390/s390.h:74
+msgid "Additional debug prints"
msgstr ""
-#: config/sparc/sparc.c:260
-msgid "-mlong-double-64 not allowed with -m64"
+#: config/s390/s390.h:75
+msgid "Don't print additional debug prints"
msgstr ""
-#: config/sparc/sparc.c:285
-msgid "-mcmodel= is not supported on 32 bit systems"
+#: config/s390/s390.h:76
+msgid "64 bit mode"
msgstr ""
-#: config/sparc/sparc.c:366
-msgid "profiling does not support code models other than medlow"
+#: config/s390/s390.h:77
+msgid "31 bit mode"
msgstr ""
-#: config/sparc/sparc.c:5712 config/sparc/sparc.c:5718
-#, c-format
-msgid "Invalid %%Y operand"
+#: config/s390/s390.h:78
+msgid "mvcle use"
msgstr ""
-#: config/sparc/sparc.c:5788
-#, c-format
-msgid "Invalid %%A operand"
+#: config/s390/s390.h:79
+msgid "mvc&ex"
msgstr ""
-#: config/sparc/sparc.c:5798
-#, c-format
-msgid "Invalid %%B operand"
-msgstr ""
+#: config/sh/sh.c:5134
+#, fuzzy
+msgid "__builtin_saveregs not supported by this subtarget"
+msgstr "__builtin_saveregs stöds inte på denna målarkitektur"
-#: config/sparc/sparc.c:5837
-#, c-format
-msgid "Invalid %%c operand"
+#: config/sh/sh.c:5684
+msgid "attribute interrupt_handler is not compatible with -m5-compact"
msgstr ""
-#: config/sparc/sparc.c:5838
-#, c-format
-msgid "Invalid %%C operand"
-msgstr ""
+#. The sp_switch attribute only has meaning for interrupt functions.
+#: config/sh/sh.c:5710 config/sh/sh.c:5749
+#, fuzzy, c-format
+msgid "`%s' attribute only applies to interrupt functions"
+msgstr "attributet \"%s\" fungerar bara på funktioner"
+
+#. The argument must be a constant string.
+#: config/sh/sh.c:5717
+#, fuzzy, c-format
+msgid "`%s' attribute argument not a string constant"
+msgstr "%s före strängkonstant"
-#: config/sparc/sparc.c:5859
+#. The argument must be a constant integer.
+#: config/sh/sh.c:5756
+#, fuzzy, c-format
+msgid "`%s' attribute argument not an integer constant"
+msgstr "case-etikett reducerar inte till en heltalskonstant"
+
+#. There are no delay slots on SHmedia.
+#. Relaxation isn't yet supported for SHmedia
+#: config/sh/sh.h:437
+#, fuzzy
+msgid "Profiling is not supported on this target."
+msgstr "__builtin_saveregs stöds inte på denna målarkitektur"
+
+#: config/sparc/sparc.c:329
#, c-format
-msgid "Invalid %%d operand"
+msgid "%s is not supported by this configuration"
msgstr ""
-#: config/sparc/sparc.c:5860
-#, c-format
-msgid "Invalid %%D operand"
+#: config/sparc/sparc.c:336
+msgid "-mlong-double-64 not allowed with -m64"
msgstr ""
-#: config/sparc/sparc.c:5878
-#, c-format
-msgid "Invalid %%f operand"
+#: config/sparc/sparc.c:361
+msgid "-mcmodel= is not supported on 32 bit systems"
msgstr ""
-#: config/sparc/sparc.c:5928
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
+#, fuzzy, c-format
+msgid "invalid %%Y operand"
+msgstr "ogiltig %%-kod"
+
+#: config/sparc/sparc.c:6375
+#, fuzzy, c-format
+msgid "invalid %%A operand"
+msgstr "ogiltig %%-kod"
+
+#: config/sparc/sparc.c:6385
+#, fuzzy, c-format
+msgid "invalid %%B operand"
+msgstr "ogiltigt värde %%B"
+
+#: config/sparc/sparc.c:6424
+#, fuzzy, c-format
+msgid "invalid %%c operand"
+msgstr "ogiltig %%-kod"
+
+#: config/sparc/sparc.c:6425
+#, fuzzy, c-format
+msgid "invalid %%C operand"
+msgstr "ogiltigt %%C-värde"
+
+#: config/sparc/sparc.c:6446
+#, fuzzy, c-format
+msgid "invalid %%d operand"
+msgstr "ogiltig %%-kod"
+
+#: config/sparc/sparc.c:6447
+#, fuzzy, c-format
+msgid "invalid %%D operand"
+msgstr "ogiltig %%-kod"
+
+#: config/sparc/sparc.c:6463
+#, fuzzy, c-format
+msgid "invalid %%f operand"
+msgstr "ogiltig %%-kod"
+
+#: config/sparc/sparc.c:6513
msgid "long long constant not a valid immediate operand"
msgstr ""
-#: config/sparc/sparc.c:5931
+#: config/sparc/sparc.c:6516
msgid "floating point constant not a valid immediate operand"
msgstr ""
-#. To make profiling work with -f{pic,PIC}, we need to emit the profiling
-#. code into the rtl. Also, if we are profiling, we cannot eliminate
-#. the frame pointer (because the return address will get smashed).
-#: config/sparc/sparc.h:403
-#, c-format
-msgid "%s and profiling conflict: disabling %s"
-msgstr ""
+#: 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 "Använd 128 bit long double"
-#: config/sparc/sparc.h:587
-msgid "Use FUNCTION_EPILOGUE"
-msgstr "Använd FUNCTION_EPILOGUE"
+#: config/sparc/sp64-elf.h:84 config/sparc/splet.h:29
+msgid "Generate code for big endian"
+msgstr "Generera kod för \"big endian\""
-#: config/sparc/sparc.h:589
-msgid "Do not use FUNCTION_EPILOGUE"
-msgstr "Använd inte FUNCTION_EPILOGUE"
+#: config/sparc/sp64-elf.h:85 config/sparc/splet.h:30
+msgid "Generate code for little endian"
+msgstr "Generera kod för \"little endian\""
-#: config/sparc/sparc.h:591
+#: config/sparc/sp86x-aout.h:51 config/sparc/sp86x-elf.h:65
+msgid "Use little-endian byte order for data"
+msgstr "Använd \"little endian\" byteordning för data"
+
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
msgstr ""
-#: config/sparc/sparc.h:593
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
msgstr ""
-#: config/sparc/sparc.h:595
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr ""
-#: config/sparc/sparc.h:597
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr ""
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr ""
-#: config/sparc/sparc.h:601
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr ""
-#: config/sparc/sparc.h:603
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr ""
-#: config/sparc/sparc.h:605
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr ""
-#: config/sparc/sparc.h:607
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr ""
-#: config/sparc/sparc.h:609
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr ""
-#: config/sparc/sparc.h:611
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr ""
-#: config/sparc/sparc.h:613
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr ""
-#: config/sparc/sparc.h:615
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
msgstr ""
-#: config/sparc/sparc.h:617
+#: 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:620
+#: config/sparc/sparc.h:561
msgid "Optimize for Cypress processors"
msgstr ""
-#: config/sparc/sparc.h:622
-msgid "Optimize for SparcLite processors"
-msgstr ""
+#: config/sparc/sparc.h:563
+#, fuzzy
+msgid "Optimize for SPARCLite processors"
+msgstr "Kompilera för processorn v850"
-#: config/sparc/sparc.h:624
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr ""
-#: config/sparc/sparc.h:626
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr ""
-#: config/sparc/sparc.h:628
-msgid "Use V8 Sparc ISA"
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
msgstr ""
-#: config/sparc/sparc.h:630
-msgid "Optimize for SuperSparc processors"
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
msgstr ""
#. End of deprecated options.
-#: config/sparc/sparc.h:633
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr "Pekare är 64-bitars"
-#: config/sparc/sparc.h:635
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr "Pekare är 32-bitars"
-#: config/sparc/sparc.h:637
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
msgstr "Använd 32-bitars ABI"
-#: config/sparc/sparc.h:639
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
msgstr "Använd 64-bitars ABI"
-#: config/sparc/sparc.h:641
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr ""
-#: config/sparc/sparc.h:643
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr ""
-#: config/sparc/sparc.h:645
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr ""
-#: config/sparc/sparc.h:647
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr ""
-#: config/sparc/sparc.h:649
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr ""
-#: config/sparc/sparc.h:651
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr ""
-#: config/sparc/sparc.h:712
-msgid "Use given Sparc code model"
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
msgstr ""
-#: config/v850/v850-c.c:68
+#: config/stormy16/stormy16.c:1192
+#, fuzzy
+msgid "cannot use va_start in interrupt function"
+msgstr "kan inte deklarera en statisk funktion i en annan funktion"
+
+#: config/stormy16/stormy16.c:1552
+#, fuzzy
+msgid "`B' operand is not constant"
+msgstr "fältinitierare är ej konstant"
+
+#: config/stormy16/stormy16.c:1558
+msgid "`B' operand has multiple bits set"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1585
+#, fuzzy
+msgid "`o' operand is not constant"
+msgstr "fältinitierare är ej konstant"
+
+#: config/stormy16/stormy16.c:1600
+msgid "xstormy16_print_operand: unknown code"
+msgstr ""
+
+#: config/stormy16/stormy16.c:1650
+#, fuzzy, c-format
+msgid "switch statement of size %lu entries too large"
+msgstr "storleken på variabel \"%s\" är för stor"
+
+#: 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
-msgid "Cannot set interrupt attribute: no current function"
-msgstr ""
+#: config/v850/v850-c.c:94
+#, fuzzy
+msgid "cannot set interrupt attribute: no current function"
+msgstr "Ignorera attributet dllimport för funktioner"
-#: config/v850/v850-c.c:103
-msgid "Cannot set interrupt attribute: no such identifier"
+#: 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
-#, c-format
-msgid "unrecognised section name \"%s\""
+#: config/v850/v850-c.c:165
+#, fuzzy, c-format
+msgid "unrecognized section name \"%s\""
msgstr "Känner inte igen sektionsnamn \"%s\""
-#: 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:107
-#, c-format
-msgid "%s=%s is not numeric."
-msgstr ""
+#: config/v850/v850.c:129
+#, fuzzy, c-format
+msgid "%s=%s is not numeric"
+msgstr "%s=%s är för stor."
-#: config/v850/v850.c:114
-#, c-format
-msgid "%s=%s is too large."
+#: config/v850/v850.c:136
+#, fuzzy, c-format
+msgid "%s=%s is too large"
msgstr "%s=%s är för stor."
-#: config/v850/v850.c:2039
+#: config/v850/v850.c:302
+msgid "const_double_split got a bad insn:"
+msgstr ""
+
+#: config/v850/v850.c:837
+msgid "output_move_single:"
+msgstr ""
+
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr ""
-#: config/v850/v850.c:2047
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr ""
-#: config/v850/v850.c:2249
+#: config/v850/v850.c:2447
+#, c-format
+msgid "bogus JR construction: %d\n"
+msgstr ""
+
+#: 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:2646
#, c-format
-msgid "Bogus JR construction: %d\n"
+msgid "bogus JARL construction: %d\n"
msgstr ""
-#: config/v850/v850.c:2270 config/v850/v850.c:2472
+#: config/v850/v850.c:3026
#, c-format
-msgid "Bad amount of stack space removal: %d"
+msgid "Bogus DISPOSE construction: %d\n"
msgstr ""
-#: config/v850/v850.c:2448
+#: config/v850/v850.c:3048
#, c-format
-msgid "Bogus JARL construction: %d\n"
+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.
@@ -9642,7108 +13529,8227 @@ 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/v850/v850.h:121
+#: config/v850/v850.h:158
msgid "Support Green Hills ABI"
msgstr ""
-#: config/v850/v850.h:124
+#: config/v850/v850.h:161
msgid "Prohibit PC relative function calls"
msgstr ""
-#: config/v850/v850.h:127
+#: config/v850/v850.h:164
msgid "Reuse r30 on a per function basis"
msgstr ""
-#: config/v850/v850.h:130
+#: config/v850/v850.h:167
msgid "Use stubs for function prologues"
msgstr ""
-#: config/v850/v850.h:133
+#: config/v850/v850.h:170
msgid "Same as: -mep -mprolog-function"
msgstr ""
-#: config/v850/v850.h:134
+#: config/v850/v850.h:171
msgid "Enable backend debugging"
msgstr ""
-#: config/v850/v850.h:136
+#: config/v850/v850.h:173
msgid "Compile for the v850 processor"
msgstr "Kompilera för processorn v850"
-#: config/v850/v850.h:139
+#: config/v850/v850.h:175
+#, fuzzy
+msgid "Compile for v850e processor"
+msgstr "Kompilera för processorn v850"
+
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
+#, fuzzy
+msgid "Enable the use of the short load instructions"
+msgstr "Använd inte bitfältsinstruktioner"
+
+#: config/v850/v850.h:180
+#, fuzzy
+msgid "Do not use the callt instruction"
+msgstr "Använd inte divisionsinstruktionen"
+
+#: config/v850/v850.h:187
+#, fuzzy
+msgid "Do not use registers r2 and r5"
+msgstr "Använd inte register för argumentskickning"
+
+#: config/v850/v850.h:189
+#, fuzzy
+msgid "Enfore strict alignment"
+msgstr "Generera inte kod för stackkontroll"
+
+#: config/v850/v850.h:192
msgid "Use 4 byte entries in switch tables"
msgstr ""
-#. This macro is similar to `TARGET_SWITCHES' but defines names of
-#. command options that have values. Its definition is an
-#. initializer with a subgrouping for each command option.
-#.
-#. Each subgrouping contains a string constant, that defines the
-#. fixed part of the option name, and the address of a variable. The
-#. 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.
-#.
-#. Here is an example which defines `-mshort-data-NUMBER'. If the
-#. given option is `-mshort-data-512', the variable `m88k_short_data'
-#. will be set to the string `"512"'.
-#.
-#. extern char *m88k_short_data;
-#. #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
-#: config/v850/v850.h:183
+#: config/v850/v850.h:218
msgid "Set the max size of data eligible for the TDA area"
msgstr ""
-#: config/v850/v850.h:186
+#: config/v850/v850.h:221
msgid "Set the max size of data eligible for the SDA area"
msgstr ""
-#: config/v850/v850.h:189
+#: config/v850/v850.h:224
msgid "Set the max size of data eligible for the ZDA area"
msgstr ""
-#: convert.c:67
-msgid "cannot convert to a pointer type"
-msgstr "kan inte konvertera till en pekartyp"
-
-#: convert.c:100
-msgid "pointer value used where a floating point value was expected"
+#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096
+#: config/xtensa/xtensa.c:1105
+msgid "bad test"
msgstr ""
-#: convert.c:104
-msgid "aggregate value used where a float was expected"
+#: config/xtensa/xtensa.c:1824
+msgid "boolean registers required for the floating-point option"
msgstr ""
-#: convert.c:130
-msgid "conversion to incomplete type"
-msgstr ""
+#: config/xtensa/xtensa.c:1991
+#, fuzzy
+msgid "invalid mask"
+msgstr "ogiltigt #pragma %s"
-#: convert.c:390 convert.c:470
-msgid "can't convert between vector values of different size"
-msgstr ""
+#: config/xtensa/xtensa.c:2038
+#, fuzzy
+msgid "invalid address"
+msgstr "ogiltig kod"
-#: convert.c:396
-msgid "aggregate value used where an integer was expected"
-msgstr ""
+#: config/xtensa/xtensa.c:2063
+#, fuzzy
+msgid "no register in address"
+msgstr "okänt registernamn: %s"
-#: convert.c:448 f/com.c:1070
-msgid "pointer value used where a complex was expected"
-msgstr ""
+#: config/xtensa/xtensa.c:2071
+#, fuzzy
+msgid "address offset not a constant"
+msgstr "efterfrågad minnesjustering är inte konstant"
-#: convert.c:452 f/com.c:1072
-msgid "aggregate value used where a complex was expected"
-msgstr ""
+#: config/xtensa/xtensa.c:2809
+#, fuzzy
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "Initiera bara variabler som kan placeras i 8-bits området."
-#: convert.c:476
-msgid "can't convert value to a vector"
+#: config/xtensa/xtensa.h:114
+msgid "Use the Xtensa code density option"
msgstr ""
-#: cp/call.c:389
-msgid "unable to call pointer to member function here"
-msgstr ""
+#: config/xtensa/xtensa.h:116
+#, fuzzy
+msgid "Do not use the Xtensa code density option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/call.c:519
-msgid "destructors take no parameters"
+#: config/xtensa/xtensa.h:118
+msgid "Use the Xtensa MAC16 option"
msgstr ""
-#: cp/call.c:2877
-msgid "ISO C++ forbids omitting the middle term of a ?: expression"
-msgstr "ISO C++ förbjuder uteslutande av mittersta termen i ett ?: uttryck"
-
-#: cp/class.c:1435
-#, c-format
-msgid "conflicting access specifications for field `%s', ignored"
-msgstr ""
+#: config/xtensa/xtensa.h:120
+#, fuzzy
+msgid "Do not use the Xtensa MAC16 option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/class.c:5559
-msgid "trying to finish struct, but kicked out due to previous parse errors."
+#: config/xtensa/xtensa.h:122
+msgid "Use the Xtensa MUL16 option"
msgstr ""
-#: cp/class.c:6014
-#, c-format
-msgid "language string `\"%s\"' not recognized"
-msgstr "språksträng `\"%s\"' känns inte igen"
+#: config/xtensa/xtensa.h:124
+#, fuzzy
+msgid "Do not use the Xtensa MUL16 option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/class.c:6327 cp/class.c:6495 cp/class.c:6502
-msgid "not enough type information"
-msgstr "inte tillräcklig typinformation"
+#: config/xtensa/xtensa.h:126
+msgid "Use the Xtensa MUL32 option"
+msgstr ""
-#: cp/class.c:6479
-msgid "invalid operation on uninstantiated type"
-msgstr "ogiltig operation på oinstansierad typ"
+#: config/xtensa/xtensa.h:128
+#, fuzzy
+msgid "Do not use the Xtensa MUL32 option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/class.c:8361
-msgid ""
-"object size exceeds built-in limit for virtual function table implementation"
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:134
+msgid "Use the Xtensa NSA option"
msgstr ""
-#: cp/class.c:8363
-msgid ""
-"object size exceeds normal limit for virtual function table implementation, "
-"recompile all source and use -fhuge-objects"
-msgstr ""
+#: config/xtensa/xtensa.h:136
+#, fuzzy
+msgid "Do not use the Xtensa NSA option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/decl.c:4226
-#, c-format
-msgid "declaration of `%s' shadows a member of `this'"
+#: config/xtensa/xtensa.h:138
+msgid "Use the Xtensa MIN/MAX option"
msgstr ""
-#: cp/decl.c:4867
-#, c-format
-msgid "label `%s' referenced outside of any function"
+#: config/xtensa/xtensa.h:140
+#, fuzzy
+msgid "Do not use the Xtensa MIN/MAX option"
+msgstr "Använd inte divisionsinstruktionen"
+
+#: config/xtensa/xtensa.h:142
+msgid "Use the Xtensa SEXT option"
msgstr ""
-#: cp/decl.c:4972 cp/decl.c:4996
-msgid "jump to case label"
-msgstr "hopp till case-etikett"
+#: config/xtensa/xtensa.h:144
+#, fuzzy
+msgid "Do not use the Xtensa SEXT option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/decl.c:5003 cp/decl.c:5107
-msgid " enters try block"
-msgstr " går in i try-block"
+#: config/xtensa/xtensa.h:146
+msgid "Use the Xtensa boolean register option"
+msgstr ""
-#: cp/decl.c:5005 cp/decl.c:5109
-msgid " enters catch block"
-msgstr " går in i catch-block"
+#: config/xtensa/xtensa.h:148
+#, fuzzy
+msgid "Do not use the Xtensa boolean register option"
+msgstr "Använd inte divisionsinstruktionen"
-#: cp/decl.c:5088
-msgid " from here"
-msgstr " från här"
+#: config/xtensa/xtensa.h:150
+#, fuzzy
+msgid "Use the Xtensa floating-point unit"
+msgstr "Använd mjukvaruflytttal"
-#: cp/decl.c:6353
-msgid "the ABI requires vtable thunks"
+#: config/xtensa/xtensa.h:152
+msgid "Do not use the Xtensa floating-point unit"
msgstr ""
-#: cp/decl.c:7013
-msgid "multiple types in one declaration"
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#. undocumented
+#: config/xtensa/xtensa.h:170
+msgid "Disable fused multiply/add and multiply/subtract FP instructions"
msgstr ""
-#: cp/decl.c:7016
-msgid "declaration does not declare anything"
+#: config/xtensa/xtensa.h:172
+msgid "Enable fused multiply/add and multiply/subtract FP instructions"
msgstr ""
-#: cp/decl.c:7040
-msgid "Missing type-name in typedef-declaration."
+#: config/xtensa/xtensa.h:174
+msgid "Serialize volatile memory references with MEMW instructions"
msgstr ""
-#: cp/decl.c:7047
-msgid "ISO C++ prohibits anonymous structs"
+#: config/xtensa/xtensa.h:176
+msgid "Do not serialize volatile memory references with MEMW instructions"
msgstr ""
-#: cp/decl.c:8033
-msgid "assignment (not initialization) in declaration"
-msgstr "tilldelning (inte initieraing) i deklaration"
+#: config/xtensa/xtensa.h:178
+msgid "Intersperse literal pools with code in the text section"
+msgstr ""
-#: cp/decl.c:8595
-msgid "invalid catch parameter"
+#: config/xtensa/xtensa.h:180
+msgid "Put literal pools in a separate literal section"
msgstr ""
-#: cp/decl.c:8822
-msgid "cannot declare `::main' to be a template"
-msgstr "kan inte deklarera \"::main\" som en mall"
+#: config/xtensa/xtensa.h:182
+msgid "Automatically align branch targets to reduce branch penalties"
+msgstr ""
-#: cp/decl.c:8824
-msgid "cannot declare `::main' to be inline"
+#: config/xtensa/xtensa.h:184
+msgid "Do not automatically align branch targets"
msgstr ""
-#: cp/decl.c:8826
-msgid "cannot declare `::main' to be static"
-msgstr "kan inte deklarera \"::main\" som static"
+#: config/xtensa/xtensa.h:186
+msgid "Use indirect CALLXn instructions for large programs"
+msgstr ""
-#: cp/decl.c:8829
-msgid "`main' must return `int'"
-msgstr "\"main\" måste returnera \"int\""
+#: config/xtensa/xtensa.h:188
+msgid "Use direct CALLn instructions for fast calls"
+msgstr ""
-#: cp/decl.c:9380
-msgid "overflow in array dimension"
+#: ada/misc.c:233
+msgid "`-gnat' misspelled as `-gant'"
msgstr ""
-#: cp/decl.c:9666
-msgid "destructors must be member functions"
-msgstr "destruerare måste vara medlemsfunktioner"
+#: cp/call.c:258 cp/init.c:1587
+msgid "qualified type `%T' does not match destructor name `~%T'"
+msgstr ""
-#: cp/decl.c:9995
-msgid "`bool' is now a keyword"
-msgstr "\"bool\" är numera ett nyckelord"
+#: cp/call.c:267
+msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+msgstr ""
-#: cp/decl.c:10026
-msgid "ISO C++ does not support `long long'"
-msgstr "ISO C++ stödjer inte \"long long\""
+#: cp/call.c:276
+msgid "`%D' is a namespace"
+msgstr ""
-#: cp/decl.c:10148
-#, c-format
-msgid "short, signed or unsigned invalid for `%s'"
-msgstr "short, signed eller unsigned är ogiltigt för \"%s\""
+#: cp/call.c:284
+msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+msgstr ""
-#: cp/decl.c:10153
-#, c-format
-msgid "long and short specified together for `%s'"
-msgstr "både long och short angivet för \"%s\""
+#: cp/call.c:366
+msgid "unable to call pointer to member function here"
+msgstr ""
-#: cp/decl.c:10164
-#, c-format
-msgid "signed and unsigned given together for `%s'"
-msgstr "både signed och unsigned angivet för \"%s\""
+#: cp/call.c:515
+msgid "destructors take no parameters"
+msgstr ""
-#: cp/decl.c:10311
-msgid "storage class specifiers invalid in parameter declarations"
+#: cp/call.c:519
+msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr ""
-#: cp/decl.c:10315
-msgid "typedef declaration invalid in parameter declaration"
+#: cp/call.c:535 cp/call.c:4857
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
msgstr ""
-#: cp/decl.c:10326
-msgid "virtual outside class declaration"
+#: cp/call.c:557
+#, fuzzy
+msgid "request for member `%D' is ambiguous"
+msgstr "%s: flaggan \"%s\" är tvetydig\n"
+
+#: cp/call.c:2446
+msgid "%s %D(%T, %T, %T) <built-in>"
msgstr ""
-#: cp/decl.c:10380
-#, c-format
-msgid "storage class specified for %s `%s'"
+#: cp/call.c:2451
+msgid "%s %D(%T, %T) <built-in>"
msgstr ""
-#: cp/decl.c:10418
-msgid "storage class specifiers invalid in friend function declarations"
+#: cp/call.c:2455
+#, fuzzy
+msgid "%s %D(%T) <built-in>"
+msgstr "<inbyggd>"
+
+#: cp/call.c:2459
+msgid "%s %T <conversion>"
msgstr ""
-#: cp/decl.c:10600
-msgid "destructor cannot be static member function"
-msgstr "destruerare kan inte vara en statisk medlemsfunktion"
+#: cp/call.c:2461
+#, fuzzy
+msgid "%s %+#D%s"
+msgstr "%s: %s"
-#: cp/decl.c:10624
-msgid "constructor cannot be static member function"
-msgstr "konstruerare kan inte vara en statisk medlemsfunktion\""
+#: cp/call.c:2615
+#, fuzzy
+msgid "conversion from `%T' to `%T' is ambiguous"
+msgstr "%s: flaggan \"%s\" är tvetydig\n"
-#: cp/decl.c:10627
-msgid "constructors cannot be declared virtual"
+#: cp/call.c:2690
+msgid "incomplete type '%T' cannot be used to name a scope"
msgstr ""
-#: cp/decl.c:10642
-msgid "return value type specifier for constructor ignored"
-msgstr ""
+#: cp/call.c:2706 cp/typeck.c:2176 cp/typeck.c:2205
+#, fuzzy
+msgid "'%D' has no member named '%E'"
+msgstr "%s har ingen medlem med namn \"%s\""
-#: cp/decl.c:10661
-#, c-format
-msgid "can't initialize friend function `%s'"
+#: cp/call.c:2812
+msgid "no matching function for call to `%D(%A)'"
msgstr ""
-#. Cannot be both friend and virtual.
-#: cp/decl.c:10665
-msgid "virtual functions cannot be friends"
+#: cp/call.c:2823 cp/call.c:4948
+msgid "call of overloaded `%D(%A)' is ambiguous"
msgstr ""
-#: cp/decl.c:10670
-msgid "friend declaration not in class definition"
+#. It's no good looking for an overloaded operator() on a
+#. pointer-to-member-function.
+#: cp/call.c:2850
+#, c-format
+msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
msgstr ""
-#: cp/decl.c:10726
-#, c-format
-msgid "cannot declare %s to references"
+#: cp/call.c:2920
+msgid "no match for call to `(%T) (%A)'"
msgstr ""
-#: cp/decl.c:10752
-msgid "invalid type: `void &'"
-msgstr "ogiltig typ: \"void &\""
+#: cp/call.c:2930
+#, fuzzy
+msgid "call of `(%T) (%A)' is ambiguous"
+msgstr "%s: flaggan \"%s\" är tvetydig\n"
-#: cp/decl.c:10803
-msgid "discarding `const' applied to a reference"
+#: cp/call.c:2965
+msgid "%s for `%T ? %T : %T' operator"
msgstr ""
-#: cp/decl.c:10805
-msgid "discarding `volatile' applied to a reference"
-msgstr ""
+#: cp/call.c:2970
+#, fuzzy
+msgid "%s for `%T %s' operator"
+msgstr "%s före symbolen \"%s\""
-#. [dcl.fct.spec] The explicit specifier shall only be used in
-#. declarations of constructors within a class definition.
-#: cp/decl.c:11012
-msgid "only declarations of constructors can be `explicit'"
+#: cp/call.c:2973
+msgid "%s for `%T [%T]' operator"
msgstr ""
-#: cp/decl.c:11020
+#: cp/call.c:2978
+#, fuzzy
+msgid "%s for `%T %s %T' operator"
+msgstr "%s före symbolen \"%s\""
+
+#: cp/call.c:2981
+#, fuzzy
+msgid "%s for `%s %T' operator"
+msgstr "%s före symbolen \"%s\""
+
+#: cp/call.c:3071
+msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+msgstr "ISO C++ förbjuder uteslutande av mittersta termen i ett ?: uttryck"
+
+#: cp/call.c:3130
#, c-format
-msgid "non-member `%s' cannot be declared `mutable'"
+msgid "`%E' has type `void' and is not a throw-expression"
msgstr ""
-#: cp/decl.c:11025
-#, c-format
-msgid "non-object member `%s' cannot be declared `mutable'"
+#: cp/call.c:3163 cp/call.c:3363
+msgid "operands to ?: have different types"
msgstr ""
-#: cp/decl.c:11031
-#, c-format
-msgid "function `%s' cannot be declared `mutable'"
-msgstr "funktion \"%s\" kan inte deklareras som \"mutable\""
+#: cp/call.c:3316
+#, fuzzy
+msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
+msgstr "typfel i villkorsuttryck"
-#: cp/decl.c:11036
-#, c-format
-msgid "static `%s' cannot be declared `mutable'"
-msgstr ""
+#: cp/call.c:3323
+#, fuzzy
+msgid "enumeral and non-enumeral type in conditional expression"
+msgstr "typ signed och unsigned i villkorsuttryck"
-#: cp/decl.c:11041
-#, c-format
-msgid "const `%s' cannot be declared `mutable'"
-msgstr "const \"%s\" kan inte deklareras \"mutable\""
+#: cp/call.c:3405
+#, fuzzy
+msgid "`%D' must be declared before use"
+msgstr "\"%s\" är tidigare deklarerad här"
-#: cp/decl.c:11146
-msgid "typedef declaration includes an initializer"
+#: cp/call.c:3604
+msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgstr ""
-#: cp/decl.c:11258
-msgid "unnamed variable or field declared void"
+#: cp/call.c:3651
+msgid "using synthesized `%#D' for copy assignment"
msgstr ""
-#: cp/decl.c:11267
-msgid "variable or field declared void"
+#: cp/call.c:3653
+msgid " where cfront would use `%#D'"
msgstr ""
-#: cp/decl.c:11277
-msgid "cannot use `::' in parameter declaration"
-msgstr ""
+#: cp/call.c:3680
+#, fuzzy
+msgid "comparison between `%#T' and `%#T'"
+msgstr "jämföreslse mellan signed och unsigned"
-#: cp/decl.c:11462
-#, c-format
-msgid "`%s' is neither function nor member function; cannot be declared friend"
+#: cp/call.c:3919
+msgid "no suitable `operator delete' for `%T'"
msgstr ""
-#: cp/decl.c:11479
-msgid "member functions are implicitly friends of their class"
+#: cp/call.c:3938
+msgid "`%+#D' is private"
msgstr ""
-#: cp/decl.c:11588
-#, c-format
-msgid "storage class `auto' invalid for function `%s'"
+#: cp/call.c:3940
+msgid "`%+#D' is protected"
msgstr ""
-#: cp/decl.c:11590
-#, c-format
-msgid "storage class `register' invalid for function `%s'"
-msgstr "lagringsklass \"register\" ogiltig för funktion \"%s\""
-
-#: cp/decl.c:11601
-#, c-format
-msgid ""
-"storage class `static' invalid for function `%s' declared out of global scope"
+#: cp/call.c:3942
+msgid "`%+#D' is inaccessible"
msgstr ""
-#: cp/decl.c:11603
-#, c-format
-msgid ""
-"storage class `inline' invalid for function `%s' declared out of global scope"
+#: cp/call.c:3943
+msgid "within this context"
msgstr ""
-#: cp/decl.c:11610
-#, c-format
-msgid "virtual non-class function `%s'"
-msgstr ""
+#: cp/call.c:3985
+#, fuzzy
+msgid "invalid conversion from `%T' to `%T'"
+msgstr "konvertering från NaN till int"
-#. FIXME need arm citation
-#: cp/decl.c:11645
-msgid "cannot declare static function inside another function"
-msgstr "kan inte deklarera en statisk funktion i en annan funktion"
+#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128
+#, fuzzy
+msgid " initializing argument %P of `%D'"
+msgstr "ogiltigt typargument till \"%s\""
-#: cp/decl.c:11922
-msgid ""
-"invalid integer constant in parameter list, did you forget to give parameter "
-"name?"
+#: cp/call.c:4050 cp/call.c:4054
+msgid " initializing argument %P of `%D' from result of `%D'"
msgstr ""
-#: cp/decl.c:12299
-#, c-format
-msgid "conversion to %s%s will never use a type conversion operator"
+#: cp/call.c:4060 cp/call.c:4063
+msgid " initializing temporary from result of `%D'"
msgstr ""
-#: cp/decl.c:13393
-msgid "return type for `main' changed to `int'"
-msgstr "returtypen för \"main\" ändrad till \"int\""
+#. 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 ""
-#: cp/decl2.c:554
-#, c-format
-msgid "-f%s is no longer supported"
-msgstr "-f%s stödjs inte längre"
+#. Undefined behavior [expr.call] 5.2.2/7.
+#: cp/call.c:4242
+msgid "cannot receive objects of non-POD type `%#T' through `...'"
+msgstr ""
-#: cp/decl2.c:560
-msgid ""
-"-fhandle-exceptions has been renamed to -fexceptions (and is now on by "
-"default)"
+#: cp/call.c:4422
+msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr ""
-#: cp/decl2.c:586
-msgid "-fname-mangling-version is no longer supported"
-msgstr "-fname-mangling-version stöds inte längre"
+#: cp/call.c:4656
+#, fuzzy
+msgid "could not find class$ field in java interface type `%T'"
+msgstr "ingen superklass deklarerad i interface för \"%s\""
-#: cp/decl2.c:649
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "-Wno-strict-prototypes stödjs inte för C++"
+#: cp/call.c:4831
+#, fuzzy
+msgid "call to non-function `%D'"
+msgstr "Inga anrop i funktion %s\n"
-#: cp/decl2.c:988
-msgid "name missing for member function"
-msgstr "namn saknas på medlemsfunktion"
+#: cp/call.c:4937
+msgid "no matching function for call to `%T::%D(%A)%#V'"
+msgstr ""
-#: cp/decl2.c:1049
-msgid "`__alignof__' applied to a bit-field"
+#: cp/call.c:4967
+msgid "cannot call member function `%D' without object"
msgstr ""
-#. Something has gone very wrong. Assume we are mistakenly reducing
-#. an expression instead of a declaration.
-#: cp/decl2.c:1091
-msgid "parser may be lost: is there a '{' missing somewhere?"
+#: cp/call.c:5580
+msgid "passing `%T' chooses `%T' over `%T'"
msgstr ""
-#: cp/decl2.c:1122 cp/decl2.c:1136
-msgid "ambiguous conversion for array subscript"
-msgstr "tvetydig konveretering av fältindex"
+#: cp/call.c:5582 cp/decl2.c:4081
+#, fuzzy
+msgid " in call to `%D'"
+msgstr "kan inte inline:a anrop till \"%s\""
-#: cp/decl2.c:1186
-msgid "anachronistic use of array size in vector delete"
+#: cp/call.c:5631 cp/call.c:5756
+msgid "choosing `%D' over `%D'"
msgstr ""
-#: cp/decl2.c:1196
-msgid ""
-"cannot delete a function. Only pointer-to-objects are valid arguments to "
-"`delete'"
-msgstr ""
+#: cp/call.c:5632
+#, fuzzy
+msgid " for conversion from `%T' to `%T'"
+msgstr "konvertering från NaN till int"
-#: cp/decl2.c:1493
-msgid "initializer invalid for static member with constructor"
+#: cp/call.c:5634
+msgid " because conversion sequence for the argument is better"
msgstr ""
-#: cp/decl2.c:1496
-msgid "(an out of class initialization is required)"
+#: cp/call.c:5758
+msgid " because worst conversion for the former is better than worst conversion for the latter"
msgstr ""
-#: cp/decl2.c:1669
-msgid "field initializer is not constant"
-msgstr "fältinitierare är ej konstant"
+#: cp/call.c:5874 cp/call.c:5895
+#, fuzzy
+msgid "could not convert `%E' to `%T'"
+msgstr "kunde inte öppna dump-fil \"%s\""
-#: cp/decl2.c:2008
-msgid "anonymous struct not inside named type"
+#: cp/class.c:286
+msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr ""
-#: cp/decl2.c:2104
-msgid "namespace-scope anonymous aggregates must be static"
+#: cp/class.c:943
+msgid "`%#D' and `%#D' cannot be overloaded"
msgstr ""
-#: cp/decl2.c:2114
-msgid "anonymous aggregate with no members"
+#: cp/class.c:1027
+#, fuzzy
+msgid "duplicate enum value `%D'"
+msgstr "upprepat case-värde"
+
+#: cp/class.c:1030
+msgid "duplicate field `%D' (as enum and non-enum)"
msgstr ""
-#. Overflow occurred. That means there are at least 4 billion
-#. initialization functions.
-#: cp/decl2.c:2986
-msgid "too many initialization functions required"
+#: cp/class.c:1037
+#, fuzzy
+msgid "duplicate nested type `%D'"
+msgstr "upprepning av medlem \"%s\""
+
+#: cp/class.c:1048
+msgid "duplicate field `%D' (as type and non-type)"
msgstr ""
-#: cp/decl2.c:3796
-msgid "use of old-style cast"
-msgstr "användning av gammaldags typkonvertering"
+#: cp/class.c:1052
+#, fuzzy
+msgid "duplicate member `%D'"
+msgstr "upprepning av medlem \"%s\""
-#: cp/error.c:46
-#, c-format
-msgid "`%s' not supported by %s"
-msgstr "\"%s\" stöds inte av %s"
+#: cp/class.c:1095
+msgid "conflicting access specifications for method `%D', ignored"
+msgstr ""
-#: cp/error.c:631
+#: cp/class.c:1097
#, c-format
-msgid "<anonymous %s>"
-msgstr "<anonym %s>"
+msgid "conflicting access specifications for field `%s', ignored"
+msgstr ""
-#: cp/error.c:892
-#, c-format
-msgid "(static %s for %s)"
-msgstr "(static %s för %s)"
+#: cp/class.c:1142
+msgid "`%D' names constructor"
+msgstr ""
-#: cp/error.c:2529
-#, c-format
-msgid "In %s `%s':"
+#: cp/class.c:1147
+#, fuzzy
+msgid "`%D' invalid in `%T'"
+msgstr "Ogiltig flagga \"%s\""
+
+#: cp/class.c:1155
+msgid "no members matching `%D' in `%#T'"
msgstr ""
-#: cp/error.c:2584
-#, c-format
-msgid "%s: In instantiation of `%s':\n"
-msgstr "%s: Vid instansiering av \"%s\":\n"
+#: cp/class.c:1187 cp/class.c:1195
+#, fuzzy
+msgid "`%D' invalid in `%#T'"
+msgstr "Ogiltig flagga \"%s\""
-#: cp/error.c:2608
-#, c-format
-msgid "%s:%d: instantiated from `%s'\n"
+#: cp/class.c:1188
+msgid " because of local method `%#D' with same name"
msgstr ""
-#: cp/error.c:2613
-#, c-format
-msgid "%s:%d: instantiated from here\n"
+#: cp/class.c:1196
+msgid " because of local member `%#D' with same name"
msgstr ""
-#: cp/except.c:258
-msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
+#: cp/class.c:1268
+msgid "base class `%#T' has a non-virtual destructor"
msgstr ""
-#: cp/except.c:329
-msgid "mixing C++ and Java catches in a single translation unit"
+#: cp/class.c:1288
+msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr ""
-#: cp/except.c:665
-msgid " in thrown expression"
+#: cp/class.c:1860
+msgid "all member functions in class `%T' are private"
msgstr ""
-#: cp/friend.c:423
-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."
+#: cp/class.c:1874
+msgid "`%#T' only defines a private destructor and has no friends"
msgstr ""
-#: cp/g++spec.c:197 java/jvspec.c:358
-#, c-format
-msgid "argument to `%s' missing\n"
-msgstr "argument till \"%s\" saknas\n"
+#: cp/class.c:1917
+msgid "`%#T' only defines private constructors and has no friends"
+msgstr ""
-#: cp/init.c:313
-msgid "initializer list treated as compound expression"
+#: cp/class.c:2038 cp/class.c:5172
+#, fuzzy
+msgid "redefinition of `%#T'"
+msgstr "omdefiniering av \"%s\""
+
+#: cp/class.c:2039
+#, fuzzy
+msgid "previous definition of `%#T'"
+msgstr "omdefiniering av \"%s\""
+
+#: cp/class.c:2313
+msgid "no unique final overrider for `%D' in `%T'"
msgstr ""
-#: cp/init.c:428
-msgid " will be re-ordered to match declaration order"
+#. Here we know it is a hider, and no overrider exists.
+#: cp/class.c:2652
+msgid "`%D' was hidden"
msgstr ""
-#: cp/init.c:662
-msgid " will be re-ordered to match inheritance order"
+#: cp/class.c:2653
+msgid " by `%D'"
msgstr ""
-#: cp/init.c:1105
-msgid "base class initializer specified, but no base class to initialize"
+#: cp/class.c:2695
+msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr ""
-#: cp/init.c:1111
-msgid "initializer for unnamed base class ambiguous"
+#: cp/class.c:2700 cp/decl2.c:1327
+msgid "`%#D' invalid; an anonymous union can only have non-static data members"
msgstr ""
-#: cp/init.c:1136
-msgid "no base class to initialize"
+#: cp/class.c:2706 cp/decl2.c:1333
+msgid "private member `%#D' in anonymous union"
msgstr ""
-#: cp/init.c:1860
-msgid "object missing in use of pointer-to-member construct"
+#: cp/class.c:2709 cp/decl2.c:1335
+msgid "protected member `%#D' in anonymous union"
msgstr ""
-#: cp/init.c:1902 cp/typeck.c:3187 cp/typeck.c:3295
-msgid "at this point in file"
+#: 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/init.c:2076
-msgid "new of array type fails to specify size"
+#: cp/class.c:2898
+#, fuzzy
+msgid "bit-field `%#D' with non-integral type"
+msgstr "bitfält \"%s\" har en icke godkänd typ"
+
+#: cp/class.c:2918
+#, fuzzy
+msgid "bit-field `%D' width not an integer constant"
+msgstr "tre \"l\"-suffix på heltalskonstant"
+
+#: cp/class.c:2924
+#, fuzzy
+msgid "negative width in bit-field `%D'"
+msgstr "negativ storlek i bitfält \"%s\""
+
+#: cp/class.c:2929
+#, fuzzy
+msgid "zero width for bit-field `%D'"
+msgstr "Storleken noll på bitfält \"%s\""
+
+#: cp/class.c:2935
+#, fuzzy
+msgid "width of `%D' exceeds its type"
+msgstr "storleken på \"%s\" är större än sin typ"
+
+#: cp/class.c:2944
+msgid "`%D' is too small to hold all values of `%#T'"
msgstr ""
-#: cp/init.c:2087
-msgid "size in array new must have integral type"
+#: cp/class.c:3028
+msgid "member `%#D' with constructor not allowed in union"
msgstr ""
-#: cp/init.c:2093
-msgid "zero size array reserves no space"
+#: cp/class.c:3031
+msgid "member `%#D' with destructor not allowed in union"
msgstr ""
-#: cp/init.c:2158
-msgid "new cannot be applied to a reference type"
+#: cp/class.c:3034
+msgid "member `%#D' with copy assignment operator not allowed in union"
msgstr ""
-#: cp/init.c:2164
-msgid "new cannot be applied to a function type"
+#: cp/class.c:3061
+msgid "multiple fields in union `%T' initialized"
msgstr ""
-#: cp/init.c:2211
-msgid "call to Java constructor, while `jclass' undefined"
+#: cp/class.c:3183
+msgid "field `%D' in local class cannot be static"
msgstr ""
-#: cp/init.c:2227
-msgid "Can't find class$"
-msgstr "Kan inte hitta class$"
+#: cp/class.c:3189
+#, fuzzy
+msgid "field `%D' invalidly declared function type"
+msgstr "fält \"%s\" deklarerad som en funktion"
-#: cp/init.c:2340
-msgid "invalid type `void' for new"
-msgstr "ogiltig typ \"void\" för new"
+#: cp/class.c:3196
+#, fuzzy
+msgid "field `%D' invalidly declared method type"
+msgstr "bitfält \"%s\" har en icke godkänd typ"
-#: cp/init.c:2394
-#, c-format
-msgid "call to Java constructor with `%s' undefined"
-msgstr ""
+#: cp/class.c:3202
+#, fuzzy
+msgid "field `%D' invalidly declared offset type"
+msgstr "bitfält \"%s\" har en icke godkänd typ"
-#: cp/init.c:2522 cp/typeck2.c:382 cp/typeck2.c:1211
-msgid "initializer list being treated as compound expression"
-msgstr ""
+#. Unions cannot have static members.
+#: cp/class.c:3220
+#, fuzzy
+msgid "field `%D' declared static in union"
+msgstr "fält \"%s\" deklarerad som en funktion"
-#: cp/init.c:2528
-msgid "ISO C++ forbids aggregate initializer to new"
+#: cp/class.c:3247
+msgid "non-static reference `%#D' in class without a constructor"
msgstr ""
-#: cp/init.c:2967
-msgid "initializer ends prematurely"
+#: cp/class.c:3282
+msgid "non-static const member `%#D' in class without a constructor"
msgstr ""
-#: cp/init.c:3037
-msgid "cannot initialize multi-dimensional array with initializer"
+#: cp/class.c:3298
+msgid "field `%#D' with same name as class"
msgstr ""
-#: cp/init.c:3215
-msgid "unknown array size in delete"
+#: cp/class.c:3316
+msgid "`%#T' has pointer data members"
msgstr ""
-#: cp/init.c:3440
-msgid "type to vector delete is neither pointer or array type"
+#: cp/class.c:3320
+msgid " but does not override `%T(const %T&)'"
msgstr ""
-#: cp/lang-options.h:29
-msgid "Do not obey access control semantics"
+#: cp/class.c:3322
+msgid " or `operator=(const %T&)'"
msgstr ""
-#: cp/lang-options.h:31
-msgid "Change when template instances are emitted"
+#: cp/class.c:3325
+msgid " but does not override `operator=(const %T&)'"
msgstr ""
-#: cp/lang-options.h:36
-msgid "Check the return value of new"
+#: 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/lang-options.h:39
-msgid "Reduce size of object files"
+#: cp/class.c:3883
+msgid "class `%T' will be considered nearly empty in a future version of GCC"
msgstr ""
-#: cp/lang-options.h:43
-msgid "Make string literals `char[]' instead of `const char[]'"
-msgstr ""
+#: cp/class.c:3973
+#, fuzzy
+msgid "initializer specified for non-virtual method `%D'"
+msgstr "argumentformat angivet för icke-funktion \"%s\""
-#: cp/lang-options.h:46
-msgid "Dump the entire translation unit to a file"
+#: 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/lang-options.h:48
-msgid "Do not inline member functions by default"
+#: cp/class.c:4809
+msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr ""
-#: cp/lang-options.h:51
-msgid "Do not generate run time type descriptor information"
+#: cp/class.c:4822
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
msgstr ""
-#: cp/lang-options.h:56
-msgid "Do not generate code to check exception specifications"
+#: 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/lang-options.h:61
-msgid "Scope of for-init-statement vars extends outside"
+#: cp/class.c:5011
+msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
msgstr ""
-#: cp/lang-options.h:64
-msgid "Do not recognise GNU defined keywords"
+#: 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/lang-options.h:69
-msgid "Do not treat the namespace `std' as a normal namespace"
+#: cp/class.c:5079
+msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
msgstr ""
-#: cp/lang-options.h:71
-msgid "Enable support for huge objects"
+#: cp/class.c:5320
+msgid "`%#T' has virtual functions but non-virtual destructor"
msgstr ""
-#: cp/lang-options.h:75
-msgid "Export functions even if they can be inlined"
+#: cp/class.c:5405
+msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr ""
-#: cp/lang-options.h:78
-msgid "Only emit explicit template instatiations"
+#: cp/class.c:5861
+#, c-format
+msgid "language string `\"%s\"' not recognized"
+msgstr "språksträng `\"%s\"' känns inte igen"
+
+#: cp/class.c:5957
+msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr ""
-#: cp/lang-options.h:81
-msgid "Only emit explicit instatiations of inline templates"
+#: cp/class.c:6078
+msgid "no matches converting function `%D' to type `%#T'"
msgstr ""
-#: cp/lang-options.h:87
-msgid "Don't pedwarn about uses of Microsoft extensions"
+#: cp/class.c:6101
+msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr ""
-#: cp/lang-options.h:90
-msgid "Recognise and/bitand/bitor/compl/not/or/xor"
-msgstr "Känn igen and/bitand/bitor/compl/not/or/xor"
+#: cp/class.c:6127
+#, fuzzy
+msgid "assuming pointer to member `%D'"
+msgstr "upprepning av medlem \"%s\""
-#: cp/lang-options.h:94
-msgid "Disable optional diagnostics"
+#: cp/class.c:6130
+#, c-format
+msgid "(a pointer to member can only be formed with `&%E')"
msgstr ""
-#: cp/lang-options.h:96
-msgid "Downgrade conformance errors to warnings"
-msgstr ""
+#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352
+msgid "not enough type information"
+msgstr "inte tillräcklig typinformation"
-#: cp/lang-options.h:99
-msgid "Enable automatic template instantiation"
-msgstr "Slå på automatisk mallinstansiering"
+#: cp/class.c:6183
+#, fuzzy
+msgid "argument of type `%T' does not match `%T'"
+msgstr "argument \"%s\" matchar inte prototypen"
-#: cp/lang-options.h:104
-msgid "Display statistics accumulated during compilation"
-msgstr ""
+#: cp/class.c:6329
+msgid "invalid operation on uninstantiated type"
+msgstr "ogiltig operation på oinstansierad typ"
-#: cp/lang-options.h:107
-msgid "Specify maximum template instantiation depth"
-msgstr "Ange maximalt instansieringsdjup för mallar"
+#. [basic.scope.class]
+#.
+#. 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:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845
+#, fuzzy
+msgid "declaration of `%#D'"
+msgstr "omdeklaration av \"%s\""
-#: cp/lang-options.h:109
-msgid "Use __cxa_atexit to register destructors."
+#: cp/class.c:6613
+msgid "changes meaning of `%D' from `%+#D'"
msgstr ""
-#: cp/lang-options.h:112
-msgid "Discard unused virtual functions"
-msgstr ""
+#: cp/cvt.c:88
+#, fuzzy
+msgid "can't convert from incomplete type `%T' to `%T'"
+msgstr "kan inte konvertera till en pekartyp"
-#: cp/lang-options.h:115
-msgid "Implement vtables using thunks"
+#: cp/cvt.c:97
+msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
msgstr ""
-#: cp/lang-options.h:118
-msgid "Emit common-like symbols as weak symbols"
-msgstr ""
+#: cp/cvt.c:126
+#, fuzzy
+msgid "converting from `%T' to `%T'"
+msgstr "konvertering från NaN till int"
-#: cp/lang-options.h:121
-msgid "Emit cross referencing information"
+#: cp/cvt.c:201 cp/cvt.c:205
+msgid "pointer to member cast from `%T' to `%T' is via virtual base"
msgstr ""
-#: cp/lang-options.h:125
-msgid "Warn about inconsistent return types"
-msgstr ""
+#: cp/cvt.c:223 cp/cvt.c:236 cp/cvt.c:283
+#, fuzzy
+msgid "cannot convert `%E' from type `%T' to type `%T'"
+msgstr "kan inte konvertera till en pekartyp"
-#: cp/lang-options.h:128
-msgid "Warn about overloaded virtual function names"
-msgstr ""
+#: cp/cvt.c:262
+#, fuzzy
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "konvertering från NaN till int"
-#: cp/lang-options.h:132
-msgid "Don't warn when all ctors/dtors are private"
+#: cp/cvt.c:537
+msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr ""
-#: cp/lang-options.h:134
-msgid "Warn about non virtual destructors"
+#: cp/cvt.c:555
+msgid "casting `%T' to `%T' does not dereference pointer"
msgstr ""
-#: cp/lang-options.h:137
-msgid "Warn when a function is declared extern, then inline"
+#: cp/cvt.c:584
+#, fuzzy
+msgid "cannot convert type `%T' to type `%T'"
+msgstr "kan inte konvertera till en pekartyp"
+
+#: cp/cvt.c:701
+#, fuzzy
+msgid "conversion from `%#T' to `%#T'"
+msgstr "konvertering från NaN till int"
+
+#: cp/cvt.c:713
+msgid "`%#T' used where a `%T' was expected"
msgstr ""
-#: cp/lang-options.h:140
-msgid "Warn when the compiler reorders code"
+#: cp/cvt.c:730
+msgid "the address of `%D', will always be `true'"
msgstr ""
-#: cp/lang-options.h:143
-msgid "Warn when synthesis behaviour differs from Cfront"
+#: cp/cvt.c:750
+msgid "`%#T' used where a floating point value was expected"
msgstr ""
-#: cp/lang-options.h:147
-msgid "Don't warn when type converting pointers to member functions"
+#: cp/cvt.c:797
+#, fuzzy
+msgid "conversion from `%T' to non-scalar type `%T' requested"
+msgstr "konvertering till icke-skalär typ begärd"
+
+#: cp/cvt.c:883
+msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr ""
-#: cp/lang-options.h:149
-msgid "Warn about violations of Effective C++ style rules"
+#: cp/cvt.c:886
+msgid "object of type `%T' will not be accessed in %s"
msgstr ""
-#: cp/lang-options.h:152
-msgid "Warn when overload promotes from unsigned to signed"
+#: cp/cvt.c:902
+msgid "object `%E' of incomplete type `%T' will not be accessed in %s"
msgstr ""
-#: cp/lang-options.h:155
-msgid "Warn if a C style cast is used in a program"
+#. [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:922
+#, fuzzy, c-format
+msgid "%s cannot resolve address of overloaded function"
+msgstr "Programflödet når slutet på en icke-void-funktion"
+
+#. Only warn when there is no &.
+#: cp/cvt.c:927
+#, c-format
+msgid "%s is a reference, not call, to function `%E'"
msgstr ""
-#: cp/lang-options.h:159
-msgid ""
-"Don't warn when non-templatized friend functions are declared within a "
-"template"
+#: cp/cvt.c:1065
+#, fuzzy
+msgid "converting NULL to non-pointer type"
+msgstr "kan inte konvertera till en pekartyp"
+
+#: cp/cvt.c:1141
+msgid "ambiguous default type conversion from `%T'"
msgstr ""
-#: cp/lang-options.h:162
-msgid "Don't announce deprecation of compiler features"
+#: cp/cvt.c:1143
+msgid " candidate conversions include `%D' and `%D'"
msgstr ""
-#: cp/lex.c:148
-msgid "type name expected before `*'"
-msgstr "typnamn förväntat före \"*\""
+#: cp/decl.c:1007 cp/decl.c:3205
+#, fuzzy
+msgid "conflicts with previous declaration `%#D'"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
-#: cp/lex.c:170
-msgid "cannot declare references to references"
-msgstr "kan inte deklarera referenser till referenser"
+#: cp/decl.c:1211
+#, fuzzy
+msgid "label `%D' used but not defined"
+msgstr "etikett \"%s\" använd men inte definierad"
-#: cp/lex.c:175
-msgid "cannot declare pointers to references"
-msgstr "kan inte deklarera pekare till referenser"
+#: cp/decl.c:1216
+#, fuzzy
+msgid "label `%D' defined but not used"
+msgstr "etikett \"%s\" definierad men inte använd"
-#: cp/lex.c:179
-msgid "type name expected before `&'"
+#: cp/decl.c:2249
+msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr ""
-#: cp/lex.c:1026
-#, c-format
-msgid "semicolon missing after %s declaration"
-msgstr ""
+#: cp/decl.c:3008 cp/decl.c:3413
+#, fuzzy
+msgid "previous declaration of `%D'"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/lex.c:1077
-#, c-format
-msgid "junk at end of #pragma %s"
-msgstr ""
+#: cp/decl.c:3089 cp/decl.c:3127
+#, fuzzy
+msgid "shadowing %s function `%#D'"
+msgstr "döljer biblioteksfunktion \"%s\""
-#: cp/lex.c:1084
-#, c-format
-msgid "invalid #pragma %s"
-msgstr "ogiltigt #pragma %s"
+#: cp/decl.c:3098
+#, fuzzy
+msgid "library function `%#D' redeclared as non-function `%#D'"
+msgstr "biblioteksfunktion \"%s\" deklarerad som icke-funktion"
-#: cp/lex.c:1093
-msgid "#pragma vtable no longer supported"
-msgstr ""
+#: cp/decl.c:3103
+#, fuzzy
+msgid "conflicts with built-in declaration `%#D'"
+msgstr "motstridande deklarationer av \"%s\""
-#: cp/lex.c:1170
-#, c-format
-msgid "#pragma implementation for %s appears after file is included"
-msgstr ""
+#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235
+#, fuzzy
+msgid "new declaration `%#D'"
+msgstr "omdeklaration av \"%s\""
-#: cp/lex.c:1195
-msgid "junk at end of #pragma GCC java_exceptions"
-msgstr ""
+#: cp/decl.c:3123
+#, fuzzy
+msgid "ambiguates built-in declaration `%#D'"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: cp/lex.c:1296
-msgid ""
-"(Each undeclared identifier is reported only once for each function it "
-"appears in.)"
-msgstr ""
+#: cp/decl.c:3179
+#, fuzzy
+msgid "`%#D' redeclared as different kind of symbol"
+msgstr "\"%s\" omdeklarerad som en annan sorts symbol"
-#: cp/lex.c:1319
-#, c-format
-msgid "name lookup of `%s' changed"
-msgstr ""
+#: cp/decl.c:3182
+#, fuzzy
+msgid "previous declaration of `%#D'"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/lex.c:1333 cp/lex.c:1340
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr ""
+#: cp/decl.c:3204
+#, fuzzy
+msgid "declaration of template `%#D'"
+msgstr "omdeklaration av \"enum %s\""
-#: cp/mangle.c:1877
-msgid "real-valued template parameters when cross-compiling"
-msgstr ""
+#: cp/decl.c:3220 cp/decl.c:3236
+#, fuzzy
+msgid "ambiguates old declaration `%#D'"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: cp/method.c:170
-msgid "methods cannot be converted to function pointers"
-msgstr "metoder kan inte konverteras till funktionspekare"
+#: cp/decl.c:3228
+#, fuzzy
+msgid "declaration of C function `%#D' conflicts with"
+msgstr "implicit deklaration av funktion \"%s\""
-#: cp/method.c:175
-#, c-format
-msgid "ambiguous request for method pointer `%s'"
-msgstr ""
+#: cp/decl.c:3230
+#, fuzzy
+msgid "previous declaration `%#D' here"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/parse.y:674
-msgid "invalid default template argument"
-msgstr ""
+#: cp/decl.c:3246
+#, fuzzy
+msgid "conflicting types for `%#D'"
+msgstr "motstridiga typer på \"%s\""
-#: cp/parse.y:891
-msgid "no base or member initializers given following ':'"
-msgstr ""
+#: cp/decl.c:3247
+#, fuzzy
+msgid "previous declaration as `%#D'"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/parse.y:904
-msgid "base initializers not allowed for non-member functions"
-msgstr ""
+#: cp/decl.c:3290
+#, fuzzy
+msgid "`%#D' previously defined here"
+msgstr "\"%s\" definierades tidigare här"
-#: cp/parse.y:906
-msgid "only constructors take base initializers"
-msgstr ""
+#: cp/decl.c:3291
+#, fuzzy
+msgid "`%#D' previously declared here"
+msgstr "\"%s\" är tidigare deklarerad här"
-#: cp/parse.y:939 cp/parse.y:945
-msgid "anachronistic old style base class initializer"
-msgstr ""
+#. Prototype decl follows defn w/o prototype.
+#: cp/decl.c:3300
+#, fuzzy
+msgid "prototype for `%#D'"
+msgstr "prototyp för \"%s\" följer"
-#. Handle `Class<Class<Type>>' without space in the `>>'
-#: cp/parse.y:1067
-msgid "`>>' should be `> >' in template class name"
-msgstr ""
+#: cp/decl.c:3301
+#, fuzzy
+msgid "follows non-prototype definition here"
+msgstr "icke-prototypdefinition here"
-#: cp/parse.y:1124 cp/parse.y:1133
-#, c-format
-msgid "ISO C++ forbids an empty condition for `%s'"
-msgstr ""
+#: cp/decl.c:3313
+#, fuzzy
+msgid "previous declaration of `%#D' with %L linkage"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/parse.y:1310
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
+#: cp/decl.c:3315
+#, fuzzy
+msgid "conflicts with new declaration with %L linkage"
+msgstr "motstridande deklarationer av \"%s\""
-#: cp/parse.y:1341
-msgid "ISO C++ forbids compound literals"
+#: cp/decl.c:3338 cp/decl.c:3345
+msgid "default argument given for parameter %d of `%#D'"
msgstr ""
-#: cp/parse.y:1582
-msgid "ISO C++ forbids braced-groups within expressions"
-msgstr ""
+#: cp/decl.c:3340 cp/decl.c:3347
+#, fuzzy
+msgid "after previous specification in `%#D'"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/parse.y:1988 cp/parse.y:2003
-msgid "sigof type specifier"
-msgstr ""
+#: cp/decl.c:3356
+#, fuzzy
+msgid "`%#D' was used before it was declared inline"
+msgstr "\"%s\" användes utan någon prototyp innan sin definition"
-#: cp/parse.y:1993
-msgid "`sigof' applied to non-aggregate expression"
-msgstr ""
+#: cp/decl.c:3358
+#, fuzzy
+msgid "previous non-inline declaration here"
+msgstr "tidigare implicit deklaration av \"%s\""
-#: cp/parse.y:2008
-msgid "`sigof' applied to non-aggregate type"
-msgstr ""
+#: cp/decl.c:3412
+#, fuzzy
+msgid "redundant redeclaration of `%D' in same scope"
+msgstr "redundant omdeklaration av \"%s\" i samma scope"
-#: cp/parse.y:2348
-#, c-format
-msgid "storage class specifier `%s' not allowed after struct or class"
-msgstr ""
+#: cp/decl.c:3493
+#, fuzzy, c-format
+msgid "declaration of `%F' throws different exceptions"
+msgstr "deklaration av \"%s\" som ett fält med funktioner"
-#: cp/parse.y:2350
-#, c-format
-msgid "type specifier `%s' not allowed after struct or class"
-msgstr ""
+#: cp/decl.c:3495
+#, fuzzy, c-format
+msgid "than previous declaration `%F'"
+msgstr "ingen tidigare deklaration av \"%s\""
-#: cp/parse.y:2352
-#, c-format
-msgid "type qualifier `%s' not allowed after struct or class"
-msgstr ""
+#. From [temp.expl.spec]:
+#.
+#. If a template, a member template or the member of a class
+#. template is explicitly specialized then that
+#. specialization shall be declared before the first use of
+#. that specialization that would cause an implicit
+#. instantiation to take place, in every translation unit in
+#. which such a use occurs.
+#: cp/decl.c:3632
+msgid "explicit specialization of %D after first use"
+msgstr ""
+
+#: cp/decl.c:3886
+#, fuzzy
+msgid "`%#D' used prior to declaration"
+msgstr "\"%s\" är använd innan sin deklaration"
-#: cp/parse.y:2354
-msgid "no body nor ';' separates two class, struct or union declarations"
-msgstr ""
+#: cp/decl.c:3917
+#, fuzzy
+msgid "redeclaration of `wchar_t' as `%T'"
+msgstr "omdeklaration av \"%s\""
-#: cp/parse.y:2519
-msgid "multiple access specifiers"
-msgstr ""
+#. A redeclaration of main, but not a duplicate of the
+#. previous one.
+#.
+#. [basic.start.main]
+#.
+#. This function shall not be overloaded.
+#: cp/decl.c:3945
+#, fuzzy
+msgid "invalid redeclaration of `%D'"
+msgstr "omdeklaration av \"%s\""
-#: cp/parse.y:2537
-msgid "multiple `virtual' specifiers"
+#: cp/decl.c:3946
+msgid "as `%D'"
msgstr ""
-#: cp/parse.y:2574
-msgid "missing ';' before right brace"
-msgstr "saknar ';' före slutklammer"
+#: cp/decl.c:4036
+#, fuzzy
+msgid "previous external decl of `%#D'"
+msgstr "föregående externa dekl. av \"%s\""
-#: cp/parse.y:2797
-msgid "ISO C++ forbids array dimensions with parenthesized type in new"
-msgstr ""
+#: cp/decl.c:4077
+#, fuzzy
+msgid "`%D' was previously implicitly declared to return `int'"
+msgstr "\"%s\" deklarerades tidigare implicit att returnera \"int\""
-#: cp/parse.y:3306
-msgid "ISO C++ forbids label declarations"
-msgstr ""
+#: cp/decl.c:4137
+#, fuzzy
+msgid "extern declaration of `%#D' doesn't match"
+msgstr "extern deklaration av \"%s\" matchar inte den globala"
-#: cp/parse.y:3468
-msgid "ISO C++ forbids computed gotos"
-msgstr "ISO C++ förbjuder beräknade goto"
+#: cp/decl.c:4138
+#, fuzzy
+msgid "global declaration `%#D'"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: cp/parse.y:3476
-msgid "label must be followed by statement"
-msgstr ""
+#: cp/decl.c:4169
+#, fuzzy
+msgid "declaration of `%#D' shadows a parameter"
+msgstr "deklaration av \"%s\" döljer en parameter"
-#: cp/parse.y:3575
-msgid "ISO C++ forbids compound statements inside for initializations"
+#: cp/decl.c:4189
+#, c-format
+msgid "declaration of `%s' shadows a member of `this'"
msgstr ""
-#. This helps us recover from really nasty
-#. parse errors, for example, a missing right
-#. parenthesis.
-#: cp/parse.y:3658 cp/parse.y:3668
-msgid "possibly missing ')'"
-msgstr "saknas troligen en ')'"
+#: cp/decl.c:4541
+#, fuzzy
+msgid "`%#D' hides constructor for `%#T'"
+msgstr "destruerare behövs för \"%#D\""
-#: cp/parse.y:3765 cp/parse.y:3770
-msgid "type specifier omitted for parameter"
-msgstr ""
+#: cp/decl.c:4556
+#, fuzzy
+msgid "`%#D' conflicts with previous using declaration `%#D'"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
-#: cp/pt.c:6303
-msgid "creating array with size zero"
-msgstr "skapar ett fält med storlek noll"
+#: cp/decl.c:4568
+#, fuzzy
+msgid "previous non-function declaration `%#D'"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/pt.c:6799
-#, c-format
-msgid "use of `%s' in template"
-msgstr "användning ab `%s' i mall"
+#: cp/decl.c:4569
+#, fuzzy
+msgid "conflicts with function declaration `%#D'"
+msgstr "motstridande deklarationer av \"%s\""
-#: cp/pt.c:8004
-msgid "incomplete type unification"
-msgstr "inkomplett typunifiering"
+#: cp/decl.c:4659
+#, fuzzy
+msgid "implicit declaration of function `%#D'"
+msgstr "implicit deklaration av funktion \"%s\""
-#: cp/pt.c:8934
+#: cp/decl.c:4817
#, c-format
-msgid "use of `%s' in template type unification"
+msgid "label `%s' referenced outside of any function"
msgstr ""
-#: cp/repo.c:272
-msgid "-frepo must be used with -c"
-msgstr "-frepo måste användas tillsammans med -c"
+#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037
+#, fuzzy
+msgid "jump to label `%D'"
+msgstr "hopp till case-etikett"
-#: cp/repo.c:366
-#, c-format
-msgid "mysterious repository information in %s"
+#: cp/decl.c:4922 cp/decl.c:4946
+msgid "jump to case label"
+msgstr "hopp till case-etikett"
+
+#: cp/decl.c:4930
+#, fuzzy
+msgid " crosses initialization of `%#D'"
+msgstr "omdefiniering av \"%s\""
+
+#: cp/decl.c:4933 cp/decl.c:5053
+msgid " enters scope of non-POD `%#D'"
msgstr ""
-#: cp/repo.c:381
-#, c-format
-msgid "can't create repository information file `%s'"
+#: cp/decl.c:4953 cp/decl.c:5057
+msgid " enters try block"
+msgstr " går in i try-block"
+
+#. Can't skip init of __exception_info.
+#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059
+msgid " enters catch block"
+msgstr " går in i catch-block"
+
+#: cp/decl.c:5038
+msgid " from here"
+msgstr " från här"
+
+#: cp/decl.c:5051
+#, fuzzy
+msgid " skips initialization of `%#D'"
+msgstr "%s: Vid instansiering av \"%s\":\n"
+
+#: cp/decl.c:5086
+msgid "label named wchar_t"
msgstr ""
-#: cp/rtti.c:219
-msgid "taking dynamic typeid of object with -fno-rtti"
+#: cp/decl.c:5090
+#, fuzzy
+msgid "duplicate label `%D'"
+msgstr "upprepning av medlem \"%s\""
+
+#: cp/decl.c:5175
+#, fuzzy, c-format
+msgid "case label `%E' not within a switch statement"
+msgstr "case-etikett är inte i en switch-sats"
+
+#. Definition isn't the kind we were looking for.
+#: cp/decl.c:5354 cp/decl.c:5373
+msgid "`%#D' redeclared as %C"
msgstr ""
-#: cp/rtti.c:250
-msgid "cannot use typeid with -fno-rtti"
-msgstr "kan inte använda typeid med -fno-rtti"
+#. This happens for A::B where B is a template, and there are no
+#. template arguments.
+#: cp/decl.c:5461 cp/typeck.c:2062 cp/typeck.c:2217
+#, fuzzy
+msgid "invalid use of `%D'"
+msgstr "ogiltigt användande av \"restrict\""
-#: cp/rtti.c:256 cp/rtti.c:405
-msgid "must #include <typeinfo> before using typeid"
-msgstr "måste ha#include <typeinfo> för användande av typeid"
+#: cp/decl.c:5502
+#, fuzzy
+msgid "`%D::%D' is not a template"
+msgstr "användning ab `%s' i mall"
-#: cp/search.c:1963
-msgid "adjusting pointers for covariant returns"
+#: cp/decl.c:5519
+msgid "`%D' undeclared in namespace `%D'"
msgstr ""
-#. This shouldn't happen, I don't want errors!
-#: cp/search.c:2471
-msgid "recoverable compiler error, fixups for virtual function"
+#: cp/decl.c:5652
+msgid "`%D' used without template parameters"
msgstr ""
-#: cp/semantics.c:1012
-msgid "ISO C++ does not permit named return values"
+#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783
+msgid "no class template named `%#T' in `%#T'"
msgstr ""
-#: cp/semantics.c:1029
-msgid "can't redefine default return value for constructors"
+#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744
+msgid "no type named `%#T' in `%#T'"
msgstr ""
-#: cp/semantics.c:1098
-msgid " will be re-ordered to precede member initializations"
+#: cp/decl.c:5968
+msgid "lookup of `%D' finds `%#D'"
msgstr ""
-#: cp/semantics.c:1365
-msgid "`this' is unavailable for static member functions"
+#: cp/decl.c:5970
+msgid " instead of `%D' from dependent base class"
msgstr ""
-#: cp/semantics.c:1371
-msgid "invalid use of `this' in non-member function"
+#: cp/decl.c:5972
+msgid " (use `typename %T::%D' if that's what you meant)"
msgstr ""
-#: cp/semantics.c:1373
-msgid "invalid use of `this' at top level"
+#: cp/decl.c:6003
+msgid "name lookup of `%D' changed"
msgstr ""
-#: cp/semantics.c:1665
-msgid "template type parameters must use the keyword `class' or `typename'"
+#: cp/decl.c:6005
+msgid " matches this `%D' under ISO standard rules"
msgstr ""
-#: cp/spew.c:249
-#, c-format
-msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+#: cp/decl.c:6007
+msgid " matches this `%D' under old rules"
msgstr ""
-#: cp/spew.c:357
-msgid "parse error"
-msgstr "parsningsfel"
+#: cp/decl.c:6021 cp/decl.c:6028
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr ""
-#: cp/spew.c:1023 cp/spew.c:1295
-msgid "parse error at end of saved function text"
+#: cp/decl.c:6023
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
msgstr ""
-#: cp/spew.c:1065
-msgid "parse error in method specification"
+#: cp/decl.c:6030
+msgid " using obsolete binding at `%D'"
msgstr ""
-#: cp/spew.c:1107
-msgid "function body for constructor missing"
-msgstr "funktionskroppen för konstrueraren saknas"
+#: 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/spew.c:1500
-#, c-format
-msgid "%s before `%s'"
-msgstr "%s före \"%s\""
+#: cp/decl.c:7025
+#, fuzzy
+msgid "an anonymous union cannot have function members"
+msgstr "anonym union deklarerad i parameterlista"
-#: cp/spew.c:1502
-#, c-format
-msgid "%s before `%c'"
-msgstr "%s före \"%c\""
+#: cp/decl.c:7042
+msgid "member %#D' with constructor not allowed in anonymous aggregate"
+msgstr ""
-#: cp/spew.c:1504
-#, c-format
-msgid "%s before `\\%o'"
-msgstr "%s före \"\\%o\""
+#: cp/decl.c:7045
+msgid "member %#D' with destructor not allowed in anonymous aggregate"
+msgstr ""
-#: cp/spew.c:1507
-#, c-format
-msgid "%s before `%s' token"
-msgstr "%s före symbolen \"%s\""
+#: cp/decl.c:7048
+msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
+msgstr ""
-#: cp/tree.c:216
-#, c-format
-msgid "non-lvalue in %s"
-msgstr "icke-lvalue i %s"
+#: cp/decl.c:7086
+#, fuzzy
+msgid "redeclaration of C++ built-in type `%T'"
+msgstr "omdeklaration av \"%s\""
-#: cp/tree.c:2231
-msgid ""
-"`java_interface' attribute can only be applied to Java class definitions"
+#: cp/decl.c:7122
+msgid "multiple types in one declaration"
msgstr ""
-#: cp/tree.c:2245
-msgid "`com_interface' attribute can only be applied to class definitions"
-msgstr ""
+#: cp/decl.c:7149
+#, fuzzy
+msgid "missing type-name in typedef-declaration"
+msgstr "oanvändbart nyckelord eller typnamn i tom deklaration"
-#: cp/tree.c:2250
-msgid ""
-"`com_interface' is obsolete; g++ vtables are now COM-compatible by default"
+#: cp/decl.c:7156
+msgid "ISO C++ prohibits anonymous structs"
msgstr ""
-#: cp/tree.c:2264
-msgid "requested init_priority is not an integer constant"
-msgstr ""
+#: cp/decl.c:7163
+#, fuzzy
+msgid "`%D' can only be specified for functions"
+msgstr "argumentformat angivet för icke-funktion \"%s\""
-#: cp/tree.c:2284
-msgid ""
-"can only use init_priority attribute on file-scope definitions of objects of "
-"class type"
+#: cp/decl.c:7165
+msgid "`%D' can only be specified inside a class"
msgstr ""
-#: cp/tree.c:2290
-msgid "requested init_priority is out of range"
+#: cp/decl.c:7167
+msgid "`%D' can only be specified for constructors"
msgstr ""
-#: cp/tree.c:2299
-msgid "requested init_priority is reserved for internal use"
-msgstr ""
+#: cp/decl.c:7170
+#, fuzzy
+msgid "`%D' can only be specified for objects and functions"
+msgstr "argumentformat angivet för icke-funktion \"%s\""
-#: cp/tree.c:2309
-msgid "init_priority attribute is not supported on this platform"
-msgstr ""
+#: cp/decl.c:7312 cp/decl2.c:927
+#, fuzzy
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
+msgstr "typedef \"%s\" är initierad"
-#: cp/typeck.c:484
-#, c-format
-msgid ""
-"ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
+#: cp/decl.c:7317
+#, fuzzy
+msgid "function `%#D' is initialized like a variable"
+msgstr "funktion \"%s\" är initierad som en variabel"
+
+#: cp/decl.c:7329
+#, fuzzy
+msgid "declaration of `%#D' has `extern' and is initialized"
+msgstr "deklaration av \"%s\" är \"extern\" och initierad"
+
+#: cp/decl.c:7363
+msgid "`%#D' is not a static member of `%#T'"
msgstr ""
-#: cp/typeck.c:1559
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ISO C++ förbjuder användning av \"sizeof\" på funktioner"
+#: cp/decl.c:7368
+#, fuzzy
+msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
+msgstr "ISO C++ tillåter inte \"%s\" i #if"
-#: cp/typeck.c:1565
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr "ISO C++ förbjuder användning av \"sizeof\" på medlemsfunktion"
+#: cp/decl.c:7379
+#, fuzzy
+msgid "duplicate initialization of %D"
+msgstr "initiering"
-#: cp/typeck.c:1571
-msgid ""
-"ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr ""
-"ISO C++ förbjuder användning av \"sizeof\" på typ void som är en inkomplett "
-"typ"
+#: cp/decl.c:7408
+#, fuzzy
+msgid "declaration of `%#D' outside of class is not definition"
+msgstr "deklaration av \"%s\" som ett fält med funktioner"
-#: cp/typeck.c:1620
-msgid "sizeof applied to a bit-field"
-msgstr "sizeof applicerat på ett bit-fält"
+#: cp/decl.c:7456
+#, fuzzy
+msgid "variable `%#D' has initializer but incomplete type"
+msgstr "variabel \"%s\" har initierare men är av inkomplett typ"
-#: cp/typeck.c:1623
-msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
-msgstr ""
-"ISO C++ förbjuder användning av \"sizeof\" på ett uttryck av funktionstyp"
+#: cp/decl.c:7464 cp/decl.c:8006
+#, fuzzy
+msgid "elements of array `%#D' have incomplete type"
+msgstr "elementen i fält \"%s\" har en ofullständig typ"
-#: cp/typeck.c:2236
-msgid "invalid reference to NULL ptr, use ptr-to-member instead"
-msgstr ""
+#: cp/decl.c:7480
+#, fuzzy
+msgid "aggregate `%#D' has incomplete type and cannot be defined"
+msgstr "parameter \"%s\" har en inkomplett typ"
-#: cp/typeck.c:2399
-#, c-format
-msgid "invalid use of `%s' on pointer to member"
-msgstr ""
+#: cp/decl.c:7519
+#, fuzzy
+msgid "`%D' declared as reference but not initialized"
+msgstr "\"%s\" omdeklarerad som en annan sorts symbol"
-#: cp/typeck.c:2405
-msgid "invalid type argument"
-msgstr "ogiltigt typargument"
+#: cp/decl.c:7528
+#, fuzzy
+msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
+msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
-#: cp/typeck.c:2508
-msgid "ISO C++ forbids subscripting non-lvalue array"
-msgstr ""
+#: cp/decl.c:7561
+#, fuzzy
+msgid "cannot initialize `%T' from `%T'"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cp/typeck.c:2519
-msgid "subscripting array declared `register'"
-msgstr ""
+#: cp/decl.c:7595
+#, fuzzy
+msgid "initializer fails to determine size of `%D'"
+msgstr "initierare misslyckas med att bestämma storlek på \"%s\""
-#: cp/typeck.c:2694 cp/typeck.c:2834
-msgid "pointer to member function called, but not in class scope"
-msgstr ""
+#: cp/decl.c:7600
+#, fuzzy
+msgid "array size missing in `%D'"
+msgstr "fältstorlek saknas i \"%s\""
-#: cp/typeck.c:2832
-msgid ""
-"invalid call to member function needing `this' in static member function "
-"scope"
-msgstr ""
+#: cp/decl.c:7612
+#, fuzzy
+msgid "zero-size array `%D'"
+msgstr "ISO C förbjuder fält \"%s\" med storlek noll"
-#: cp/typeck.c:3022
-msgid "ISO C++ forbids calling `::main' from within program"
-msgstr "ISO C++ förbjuder anrop av \"::main\" inifrån programmet"
+#. 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:7650
+#, fuzzy
+msgid "storage size of `%D' isn't known"
+msgstr "lagringsstorlek på \"%s\" är okänd"
-#: cp/typeck.c:3226
-msgid "parameter type of called function is incomplete"
-msgstr ""
+#: cp/decl.c:7672
+#, fuzzy
+msgid "storage size of `%D' isn't constant"
+msgstr "lagringsstorlek på \"%s\" är inte konstant"
-#: cp/typeck.c:3623
-#, c-format
-msgid "%s rotate count is negative"
+#: cp/decl.c:7723
+msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
msgstr ""
-#: cp/typeck.c:3626
-#, c-format
-msgid "%s rotate count >= width of type"
+#: cp/decl.c:7724
+msgid " you can work around this by removing the initializer"
msgstr ""
-#: cp/typeck.c:3657 cp/typeck.c:3662 cp/typeck.c:3753 cp/typeck.c:3758
-msgid "ISO C++ forbids comparison between pointer and integer"
-msgstr "ISO C++ förbjuder jämförelse mellan pekare och heltal"
+#: cp/decl.c:7752
+#, fuzzy
+msgid "uninitialized const `%D'"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cp/typeck.c:3974
-msgid "comparison between signed and unsigned integer expressions"
-msgstr ""
+#: cp/decl.c:7836
+#, fuzzy
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cp/typeck.c:4113
-msgid "ISO C++ forbids using pointer of type `void *' in pointer arithmetic"
+#: cp/decl.c:7900
+msgid "initializer for `%T' must be brace-enclosed"
msgstr ""
-"ISO C++ förbjuder användning av pekare av typ \"void *\" i pekararitmetik"
-#: cp/typeck.c:4119
-msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
-msgstr "ISO C++ förbjuder användning av funktionspekarepekare i pekararitmetik"
+#: cp/decl.c:7964
+#, fuzzy
+msgid "too many initializers for `%T'"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cp/typeck.c:4125
-msgid ""
-"ISO C++ forbids using a pointer to member function in pointer arithmetic"
-msgstr ""
-"ISO C++ förbjuder användning av pekare till medlemsfunktion i pekararitmetik"
+#: cp/decl.c:8000
+#, fuzzy
+msgid "variable-sized object `%D' may not be initialized"
+msgstr "objekt med variabel storlek kan inte initieras"
-#: cp/typeck.c:4131
-msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
-msgstr "ISO C++ förbjuder användning av pekare till medlem i pekararitmetik"
+#: cp/decl.c:8011
+#, fuzzy
+msgid "`%D' has incomplete type"
+msgstr "\"%s\" har en inkomplett typ"
-#: cp/typeck.c:4202
-msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
+#: cp/decl.c:8060
+msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr ""
-#: cp/typeck.c:4204
-msgid "ISO C++ forbids using pointer to a function in subtraction"
+#: cp/decl.c:8101
+msgid "structure `%D' with uninitialized const members"
msgstr ""
-#: cp/typeck.c:4206
-msgid "ISO C++ forbids using pointer to a method in subtraction"
+#: cp/decl.c:8103
+msgid "structure `%D' with uninitialized reference members"
msgstr ""
-#: cp/typeck.c:4208
-msgid "ISO C++ forbids using pointer to a member in subtraction"
-msgstr ""
+#: cp/decl.c:8346
+msgid "assignment (not initialization) in declaration"
+msgstr "tilldelning (inte initieraing) i deklaration"
-#: cp/typeck.c:4220
-msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
-msgstr ""
+#: cp/decl.c:8358
+#, fuzzy
+msgid "cannot initialize `%D' to namespace `%D'"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cp/typeck.c:4325
-msgid "taking address of temporary"
-msgstr "tar adress till något temporärt"
+#: cp/decl.c:8409
+#, fuzzy
+msgid "shadowing previous type declaration of `%#D'"
+msgstr "tidigare deklaration av \"%s\""
-#: cp/typeck.c:4525
-#, c-format
-msgid "ISO C++ forbids %sing an enum"
+#: cp/decl.c:8455
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
msgstr ""
-#: cp/typeck.c:4569
-msgid "cast to non-reference type used as lvalue"
+#: cp/decl.c:8470
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
msgstr ""
-#. ARM $3.4
-#: cp/typeck.c:4636
-msgid "ISO C++ forbids taking address of function `::main'"
-msgstr "ISO C++ förbjuder att man tar adressen till funktionen \"::main\""
+#: cp/decl.c:8864 cp/init.c:547
+#, fuzzy
+msgid "multiple initializations given for `%D'"
+msgstr "multiple deklaration av metod \"%s\""
-#: cp/typeck.c:4729
-msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+#: cp/decl.c:8956
+msgid "invalid catch parameter"
msgstr ""
-#: cp/typeck.c:4745
-msgid "unary `&'"
-msgstr "unärt \"&\""
+#: cp/decl.c:9074
+#, fuzzy
+msgid "destructor for alien class `%T' cannot be a member"
+msgstr "destruerare kan inte vara en statisk medlemsfunktion"
-#: cp/typeck.c:4937
-msgid "cannot take the address of `this', which is an rvalue expression"
-msgstr "Kan inte ta adressen till \"this\", som är ett rvalue-uttryck"
+#: cp/decl.c:9077
+#, fuzzy
+msgid "constructor for alien class `%T' cannot be a member"
+msgstr "konstruerare kan inte vara en statisk medlemsfunktion\""
-#: cp/typeck.c:5247
-msgid ""
-"ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+#: cp/decl.c:9096
+msgid "`%D' declared as a `virtual' %s"
msgstr ""
-#: cp/typeck.c:5697
-msgid "ISO C++ forbids cast to non-reference type used as lvalue"
-msgstr ""
-
-#: cp/typeck.c:5803
-msgid "ISO C++ forbids assignment of arrays"
-msgstr "ISO C++ förbjuder tilldelning av fält"
+#: cp/decl.c:9098
+#, fuzzy
+msgid "`%D' declared as an `inline' %s"
+msgstr "variabel \"%s\" deklarerad \"inline\""
-#: cp/typeck.c:5818
-msgid "return value from function receives multiple initializations"
+#: cp/decl.c:9100
+msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr ""
-#: cp/typeck.c:5961
-msgid " in pointer to member function conversion"
-msgstr ""
+#: cp/decl.c:9103
+#, fuzzy
+msgid "`%D' declared as a friend"
+msgstr "fält \"%s\" deklarerad som en funktion"
-#: cp/typeck.c:5969
-msgid " in pointer to member conversion"
-msgstr ""
+#: cp/decl.c:9109
+#, fuzzy
+msgid "`%D' declared with an exception specification"
+msgstr "\"%s\" är deklarerad som en funktion som returnerar en funktion"
-#: cp/typeck.c:6556
-msgid "returning reference to temporary"
-msgstr "returnerar referens till en temporär"
+#: cp/decl.c:9184
+msgid "cannot declare `::main' to be a template"
+msgstr "kan inte deklarera \"::main\" som en mall"
-#: cp/typeck.c:6563
-msgid "reference to non-lvalue returned"
+#: cp/decl.c:9186
+msgid "cannot declare `::main' to be inline"
msgstr ""
-#: cp/typeck.c:6609
-msgid "returning a value from a destructor"
-msgstr "returnerar ett värde från en destruktor"
+#: cp/decl.c:9188
+msgid "cannot declare `::main' to be static"
+msgstr "kan inte deklarera \"::main\" som static"
-#. If a return statement appears in a handler of the
-#. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:6617
-msgid "cannot return from a handler of a function-try-block of a constructor"
-msgstr ""
+#: cp/decl.c:9191
+msgid "`main' must return `int'"
+msgstr "\"main\" måste returnera \"int\""
-#. You can't return a value from a constructor.
-#: cp/typeck.c:6620
-msgid "returning a value from a constructor"
+#: cp/decl.c:9219
+msgid "non-local function `%#D' uses anonymous type"
msgstr ""
-#: cp/typeck.c:6637
-msgid ""
-"return-statement with no value, in function declared with a non-void return "
-"type"
+#: cp/decl.c:9222
+msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr ""
-#: cp/typeck.c:6653
-msgid ""
-"return-statement with a value, in function declared with a void return type"
+#: cp/decl.c:9228
+msgid "non-local function `%#D' uses local type `%T'"
msgstr ""
-#: cp/typeck2.c:172
-msgid " because the following virtual functions are abstract:"
+#: cp/decl.c:9251
+msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr ""
-#: cp/typeck2.c:269
-#, c-format
-msgid "Internal error #%d."
-msgstr "Internt fel #%d."
+#: cp/decl.c:9275
+#, fuzzy
+msgid "defining explicit specialization `%D' in friend declaration"
+msgstr "tilldelning (inte initieraing) i deklaration"
-#: cp/typeck2.c:340
-msgid "due to the presence of a constructor"
+#. Something like `template <class T> friend void f<T>()'.
+#: cp/decl.c:9285
+msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr ""
-#: cp/typeck2.c:364
-msgid "comma expression used to initialize return value"
+#: cp/decl.c:9313
+msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/typeck2.c:373
-msgid "cannot initialize arrays using this syntax"
+#: cp/decl.c:9320
+msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr ""
-#: cp/typeck2.c:429
-msgid "ANSI C++ forbids non-constant aggregate initializer expressions"
-msgstr ""
+#: cp/decl.c:9382
+#, fuzzy
+msgid "definition of implicitly-declared `%D'"
+msgstr "funktionsdefinition deklarerad som \"auto\""
-#: cp/typeck2.c:509
-msgid "initializing array with parameter list"
+#: cp/decl.c:9394 cp/decl2.c:776
+msgid "no `%#D' member function declared in class `%T'"
msgstr ""
-#: cp/typeck2.c:565
-msgid "initializer for scalar variable requires one element"
+#: cp/decl.c:9527
+msgid "non-local variable `%#D' uses local type `%T'"
msgstr ""
-#: cp/typeck2.c:663
-msgid "aggregate has a partly bracketed initializer"
+#: cp/decl.c:9625
+msgid "invalid in-class initialization of static data member of non-integral type `%T'"
msgstr ""
-#: cp/typeck2.c:693 cp/typeck2.c:794
-msgid "non-trivial labeled initializers"
-msgstr ""
+#: cp/decl.c:9634
+#, fuzzy
+msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
+msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
-#: cp/typeck2.c:710
-msgid "non-empty initializer for array of empty elements"
-msgstr ""
+#: cp/decl.c:9637
+#, fuzzy
+msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
+msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
-#: cp/typeck2.c:760
-msgid "initializer list for object of class with virtual base classes"
-msgstr ""
+#: cp/decl.c:9687
+#, fuzzy
+msgid "size of array `%D' has non-integer type"
+msgstr "storlek på fält \"%s\" är inte av heltalstyp"
-#: cp/typeck2.c:766
-msgid "initializer list for object of class with base classes"
+#: cp/decl.c:9689
+#, fuzzy
+msgid "size of array has non-integer type"
+msgstr "storlek på fält \"%s\" är inte av heltalstyp"
+
+#: cp/decl.c:9709
+#, fuzzy
+msgid "size of array `%D' is negative"
+msgstr "storlek på fält \"%s\" är negativt"
+
+#: cp/decl.c:9711
+#, fuzzy
+msgid "size of array is negative"
+msgstr "storlek på fält \"%s\" är negativt"
+
+#: cp/decl.c:9720
+#, fuzzy
+msgid "ISO C++ forbids zero-size array `%D'"
+msgstr "ISO C förbjuder fält \"%s\" med storlek noll"
+
+#: cp/decl.c:9722
+#, fuzzy
+msgid "ISO C++ forbids zero-size array"
+msgstr "ISO C förbjuder fält \"%s\" med storlek noll"
+
+#: cp/decl.c:9729
+#, fuzzy
+msgid "size of array `%D' is not an integral constant-expression"
+msgstr "storlek på fält \"%s\" är inte av heltalstyp"
+
+#: cp/decl.c:9732
+#, fuzzy
+msgid "size of array is not an integral constant-expression"
+msgstr "storlek på fält \"%s\" är inte av heltalstyp"
+
+#: cp/decl.c:9750
+#, fuzzy
+msgid "ISO C++ forbids variable-size array `%D'"
+msgstr "ISO C89 förbjuder fält \"%s\" med variabel storlek"
+
+#: cp/decl.c:9753
+#, fuzzy
+msgid "ISO C++ forbids variable-size array"
+msgstr "ISO C89 förbjuder fält \"%s\" med variabel storlek"
+
+#: cp/decl.c:9764
+msgid "overflow in array dimension"
msgstr ""
-#: cp/typeck2.c:772
-msgid "initializer list for object using virtual functions"
+#: cp/decl.c:9823
+#, fuzzy
+msgid "declaration of `%D' as %s"
+msgstr "omdeklaration av \"%s\""
+
+#: cp/decl.c:9825
+#, fuzzy, c-format
+msgid "creating %s"
+msgstr "Skapar %s.\n"
+
+#: cp/decl.c:9837
+msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/typeck2.c:889
-msgid "index value instead of field name in union initializer"
+#: cp/decl.c:9840
+msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/typeck2.c:945
-msgid "excess elements in aggregate initializer"
+#: cp/decl.c:9869
+#, fuzzy
+msgid "return type specification for constructor invalid"
+msgstr "funktionskroppen för konstrueraren saknas"
+
+#: cp/decl.c:9876
+msgid "return type specification for destructor invalid"
msgstr ""
-#: cp/typeck2.c:1043
-msgid "circular pointer delegation detected"
+#: cp/decl.c:9882
+#, fuzzy
+msgid "operator `%T' declared to return `%T'"
+msgstr "parameter \"%s\" deklarerad som void"
+
+#: cp/decl.c:9884
+#, fuzzy
+msgid "return type specified for `operator %T'"
+msgstr "lagringsklass angiven för parameter \"%s\""
+
+#: cp/decl.c:10052
+msgid "destructors must be member functions"
+msgstr "destruerare måste vara medlemsfunktioner"
+
+#: cp/decl.c:10071
+msgid "destructor `%T' must match class name `%T'"
msgstr ""
-#: cp/typeck2.c:1070
-msgid "result of `operator->()' yields non-pointer result"
+#: cp/decl.c:10100
+msgid "variable declaration is not allowed here"
msgstr ""
-#: cp/typeck2.c:1072
-msgid "base operand of `->' is not a pointer"
-msgstr "basoperanden till \"->\" är inte en pekare"
+#: cp/decl.c:10127
+#, fuzzy
+msgid "invalid declarator"
+msgstr "ogiltig #indent"
-#: cp/typeck2.c:1262
-#, c-format
-msgid "ISO C++ forbids defining types within %s"
+#: cp/decl.c:10178
+msgid "declarator-id missing; using reserved word `%D'"
msgstr ""
-#: cp/xref.c:826
-#, c-format
-msgid "Can't create cross-reference file `%s'"
+#: cp/decl.c:10235
+msgid "type `%T' is not derived from type `%T'"
msgstr ""
-#. The current line in each outer source file is now the
-#. same as the line of the #include.
-#: cpperror.c:58
-#, c-format
-msgid "In file included from %s:%u"
-msgstr "I fil inkluderad från %s:%u"
+#. Parse error puts this typespec where
+#. a declarator should go.
+#: cp/decl.c:10279
+msgid "`%T' specified as declarator-id"
+msgstr ""
-#. Translators note: this message is used in conjunction
-#. with "In file included from %s:%ld" and some other
-#. tricks. We want something like this:
-#.
-#. | In file included from sys/select.h:123,
-#. | from sys/types.h:234,
-#. | from userfile.c:31:
-#. | bits/select.h:45: <error message here>
-#.
-#. with all the "from"s lined up.
-#. The trailing comma is at the beginning of this message,
-#. and the trailing colon is not translated.
-#: cpperror.c:74
-#, c-format
-msgid ""
-",\n"
-" from %s:%u"
+#: cp/decl.c:10281
+msgid " perhaps you want `%T' for a constructor"
msgstr ""
-",\n"
-" från %s:%u"
-#: cpperror.c:191
-msgid "internal error: "
-msgstr "internt fel: "
+#. 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
+#, fuzzy, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "ogiltig användning av void-uttryck"
-#: cpperror.c:198
-msgid "warning: "
-msgstr "varning: "
+#: cp/decl.c:10323
+#, fuzzy
+msgid "declaration of `%D' as non-function"
+msgstr "deklaration av \"%s\" som ett fält med funktioner"
-#: cpperror.c:312 cpperror.c:483 cppfiles.c:661 gcc.c:6083 tradcpp.c:4722
-#, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
+#: cp/decl.c:10400
+msgid "`bool' is now a keyword"
+msgstr "\"bool\" är numera ett nyckelord"
-#: cppexp.c:180
-msgid "traditional C rejects the `U' suffix"
+#: cp/decl.c:10402
+msgid "extraneous `%T' ignored"
msgstr ""
-#: cppexp.c:183
-msgid "too many 'l' suffixes in integer constant"
-msgstr "för många \"l\"-suffix i heltalskonstant"
+#: cp/decl.c:10418 cp/decl.c:10463
+#, fuzzy
+msgid "multiple declarations `%T' and `%T'"
+msgstr "multiple deklaration av metod \"%s\""
-#: cppexp.c:187
-msgid "integer constant contains digits beyond the radix"
-msgstr ""
+#: cp/decl.c:10431
+msgid "ISO C++ does not support `long long'"
+msgstr "ISO C++ stödjer inte \"long long\""
-#: cppexp.c:190
-msgid "integer constant out of range"
-msgstr "heltalskonstant utanför sitt intervall"
+#: cp/decl.c:10536 cp/decl.c:10539
+#, fuzzy, c-format
+msgid "ISO C++ forbids declaration of `%s' with no type"
+msgstr "ISO C förbjuder medlemsdeklarationer utan medlemmar"
-#: cppexp.c:196
-msgid "integer constant is so large that it is unsigned"
+#. The implicit typename extension is deprecated and will be
+#. removed. Warn about its use now.
+#: cp/decl.c:10549
+msgid "`%T' is implicitly a typename"
msgstr ""
-#: cppexp.c:205
+#: cp/decl.c:10585
#, c-format
-msgid "invalid suffix '%.*s' on integer constant"
-msgstr ""
-
-#: cppexp.c:239
-msgid "missing ')' after \"defined\""
-msgstr "saknar ')' efter \"defined\""
+msgid "short, signed or unsigned invalid for `%s'"
+msgstr "short, signed eller unsigned är ogiltigt för \"%s\""
-#: cppexp.c:246
-msgid "operator \"defined\" requires an identifier"
-msgstr ""
+#: cp/decl.c:10590
+#, c-format
+msgid "long and short specified together for `%s'"
+msgstr "både long och short angivet för \"%s\""
-#: cppexp.c:254
+#: cp/decl.c:10601
#, c-format
-msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+msgid "signed and unsigned given together for `%s'"
+msgstr "både signed och unsigned angivet för \"%s\""
+
+#: cp/decl.c:10710
+msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr ""
-#: cppexp.c:331
-msgid "\"defined\" operator appears during macro expansion"
+#: cp/decl.c:10732
+msgid "member `%D' cannot be declared both virtual and static"
msgstr ""
-#: cppexp.c:347
-#, c-format
-msgid "ISO C++ does not permit \"%s\" in #if"
-msgstr "ISO C++ tillåter inte \"%s\" i #if"
+#: cp/decl.c:10741
+#, fuzzy
+msgid "`%T::%D' is not a valid declarator"
+msgstr "\"%s\" är inte i början av deklarationen"
-#: cppexp.c:362
-#, c-format
-msgid "\"%s\" is not defined"
-msgstr "\"%s\" är inte definierad"
+#: cp/decl.c:10753
+msgid "storage class specifiers invalid in parameter declarations"
+msgstr ""
-#: cppexp.c:407
-msgid "integer overflow in preprocessor expression"
+#: cp/decl.c:10757
+msgid "typedef declaration invalid in parameter declaration"
msgstr ""
-#: cppexp.c:677
+#: cp/decl.c:10770
+msgid "virtual outside class declaration"
+msgstr ""
+
+#: cp/decl.c:10831
#, c-format
-msgid "impossible operator '%s'"
+msgid "storage class specified for %s `%s'"
msgstr ""
-#: cppexp.c:787
-msgid "comma operator in operand of #if"
+#: cp/decl.c:10878
+msgid "storage class specifiers invalid in friend function declarations"
msgstr ""
-#: cppfiles.c:383
-#, c-format
-msgid "%s is too large"
-msgstr "%s är för stor"
+#: cp/decl.c:11048
+msgid "destructor cannot be static member function"
+msgstr "destruerare kan inte vara en statisk medlemsfunktion"
-#: cppfiles.c:412
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s är kortare än förväntat"
+#: cp/decl.c:11051
+#, fuzzy, c-format
+msgid "destructors may not be `%s'"
+msgstr "destruerare behövs för \"%#D\""
-#: cppfiles.c:421
-#, c-format
-msgid "%s is a block device"
-msgstr "%s är en blockenhet"
+#: cp/decl.c:11072
+msgid "constructor cannot be static member function"
+msgstr "konstruerare kan inte vara en statisk medlemsfunktion\""
-#: cppfiles.c:541
-#, c-format
-msgid "No include path in which to find %s"
+#: cp/decl.c:11075
+msgid "constructors cannot be declared virtual"
msgstr ""
-#: cppfiles.c:609
-msgid "Multiple include guards may be useful for:\n"
+#: cp/decl.c:11080
+#, c-format
+msgid "constructors may not be `%s'"
msgstr ""
-#: cppfiles.c:999
-msgid "absolute file name in remap_filename"
-msgstr "absolut filnamn i remap_filename"
+#: cp/decl.c:11090
+msgid "return value type specifier for constructor ignored"
+msgstr ""
-#: cppinit.c:223
+#: cp/decl.c:11109
#, c-format
-msgid "ignoring nonexistent directory \"%s\"\n"
-msgstr "ignorerar ej existerande katalog \"%s\"\n"
+msgid "can't initialize friend function `%s'"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cppinit.c:229
-#, c-format
-msgid "%s: Not a directory"
-msgstr "%s: Inte en katalog"
+#. Cannot be both friend and virtual.
+#: cp/decl.c:11113
+msgid "virtual functions cannot be friends"
+msgstr ""
-#: cppinit.c:275
-#, c-format
-msgid "ignoring duplicate directory \"%s\"\n"
+#: cp/decl.c:11118
+msgid "friend declaration not in class definition"
msgstr ""
-#: cppinit.c:894
-msgid "-include and -imacros cannot be used with -fpreprocessed"
-msgstr "-include och -imacros kan inte användas med -fpreprocessed"
+#: cp/decl.c:11120
+#, fuzzy, c-format
+msgid "can't define friend function `%s' in a local class definition"
+msgstr "kan inte initiera friend-funktion \"%s\""
-#: cppinit.c:930
-msgid "#include \"...\" search starts here:\n"
-msgstr "#include \"...\" sökning startar här:\n"
+#: cp/decl.c:11144
+#, fuzzy
+msgid "destructors may not have parameters"
+msgstr "destruerare måste vara medlemsfunktioner"
-#: cppinit.c:934
-msgid "#include <...> search starts here:\n"
-msgstr "#include <...> sökning startar här:\n"
+#: cp/decl.c:11175 cp/decl.c:11182
+#, fuzzy
+msgid "cannot declare reference to `%#T'"
+msgstr "kan inte deklarera referenser till referenser"
-#: cppinit.c:937
-msgid "End of search list.\n"
-msgstr "Slut på söklistan.\n"
+#: cp/decl.c:11176
+#, fuzzy
+msgid "cannot declare pointer to `%#T'"
+msgstr "kan inte deklarera pekare till referenser"
-#: cppinit.c:1009 tradcpp.c:963 tradcpp.c:973 tradcpp.c:1064
-msgid "I/O error on output"
-msgstr "I/O-fel vid utmatning"
+#: cp/decl.c:11181
+#, fuzzy
+msgid "cannot declare pointer to `%#T' member"
+msgstr "kan inte deklarera pekare till referenser"
-#: cppinit.c:1023
-msgid "buffers still stacked in cpp_finish"
+#: cp/decl.c:11357
+msgid "extra qualification `%T::' on member `%s' ignored"
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:1055
-#, c-format
-msgid "Argument missing after %s"
-msgstr "Argument saknas efter %s"
+#: cp/decl.c:11367
+msgid "cannot declare member function `%T::%s' within `%T'"
+msgstr ""
-#: cppinit.c:1056
-#, c-format
-msgid "Assertion missing after %s"
+#: cp/decl.c:11382
+msgid "cannot declare member `%T::%s' within `%T'"
msgstr ""
-#: cppinit.c:1057
-#, c-format
-msgid "Directory name missing after %s"
-msgstr "Katalognamn saknas efter %s"
+#: cp/decl.c:11460
+msgid "data member may not have variably modified type `%T'"
+msgstr ""
-#: cppinit.c:1058
-#, c-format
-msgid "File name missing after %s"
-msgstr "Filnamn saknas efter %s"
+#. [dcl.fct.spec] The explicit specifier shall only be used in
+#. declarations of constructors within a class definition.
+#: cp/decl.c:11468
+msgid "only declarations of constructors can be `explicit'"
+msgstr ""
-#: cppinit.c:1059
+#: cp/decl.c:11476
#, c-format
-msgid "Macro name missing after %s"
-msgstr "Makronamn saknas efter %s"
+msgid "non-member `%s' cannot be declared `mutable'"
+msgstr ""
-#: cppinit.c:1060
+#: cp/decl.c:11481
#, c-format
-msgid "Path name missing after %s"
-msgstr "Sökväg saknas efter %s"
+msgid "non-object member `%s' cannot be declared `mutable'"
+msgstr ""
-#: cppinit.c:1061
+#: cp/decl.c:11487
#, c-format
-msgid "Number missing after %s"
-msgstr "Nummer saknas efter %s"
+msgid "function `%s' cannot be declared `mutable'"
+msgstr "funktion \"%s\" kan inte deklareras som \"mutable\""
-#: cppinit.c:1062
+#: cp/decl.c:11492
#, c-format
-msgid "Target missing after %s"
+msgid "static `%s' cannot be declared `mutable'"
msgstr ""
-#: cppinit.c:1247
+#: cp/decl.c:11497
#, c-format
-msgid "Too many filenames. Type %s --help for usage info"
-msgstr "För många filnamn. Skriv %s --help för användningsinformation"
+msgid "const `%s' cannot be declared `mutable'"
+msgstr "const \"%s\" kan inte deklareras \"mutable\""
-#: cppinit.c:1431 tradcpp.c:598
-msgid "Output filename specified twice"
-msgstr "Utdatafilnamn angivet två gånger"
+#: cp/decl.c:11510
+#, fuzzy
+msgid "template-id `%D' used as a declarator"
+msgstr "deklaration av \"%s\" döljer global deklaration"
-#: cppinit.c:1551
-msgid "-I- specified twice"
-msgstr "-I- angiven två gånger"
+#: cp/decl.c:11531
+msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
+msgstr ""
-#: cppinit.c:1699
-#, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP version %s (cpplib)"
+#: cp/decl.c:11580
+msgid "typedef name may not be class-qualified"
+msgstr ""
-#: cppinit.c:1740 tradcpp.c:787
-msgid "you must additionally specify either -M or -MM"
-msgstr "du måste dessutom ange antingen -M eller -MM"
+#: cp/decl.c:11588
+#, fuzzy
+msgid "invalid type qualifier for non-member function type"
+msgstr "namn saknas på medlemsfunktion"
-#: cppinit.c:1800
-#, c-format
-msgid "Usage: %s [switches] input output\n"
-msgstr "Användning: %s [flaggor] infil utfil\n"
+#: cp/decl.c:11651
+#, fuzzy
+msgid "type qualifiers specified for friend class declaration"
+msgstr "två typer angivna i en tom deklaration"
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1803
-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"
+#: cp/decl.c:11656
+msgid "`inline' specified for friend class declaration"
msgstr ""
-"Flaggor:\n"
-" -include <fil> Inkludera innehållet i <fil> före andra filer\n"
-" -imacros <fil> Använd makrodefinitioner i <fil>\n"
-" -iprefix <sökväg> Sätt <sökväg> som prefix för följande två "
-"flaggor\n"
-" -iwithprefix <katalog> Sätt <katalog> i slutet på systemets include-"
-"sökväg\n"
-" -iwithprefixbefore <kat> Sätt <kat> i slutet på huvud-include-sökvägen\n"
-" -isystem <katalog> Sätt <katalog> först på systemets include-"
-"sökväg\n"
-#: cppinit.c:1812
-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 ""
-" -idirafter <katalog> Sätt <katalog> i slutet på systemets include-"
-"sökväg\n"
-" -I <katalog> Sätt <katalog> i slutet på huvud-include-"
-"sökvägen\n"
-" -I- Detaljerad include-sökväg kontroll; se info-"
-"hjälp\n"
-" -nostdinc Använd inte systemets include-sökväg (kataloger\n"
-" satta med -isystem kommer fortfarande användas)\n"
-" -nostdinc++ Använd inte systemets include-sökväg för C++\n"
-" -o <fil> Skriv utdata till <fil>\n"
+#: cp/decl.c:11664
+#, fuzzy
+msgid "template parameters cannot be friends"
+msgstr "typen på parameter \"%s\" är inte deklarerad"
-#: cppinit.c:1821
-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"
+#: cp/decl.c:11666
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
msgstr ""
-" -pedantic Utfärda alla varningar som strikt ISO C kräver\n"
-" -pedantic-errors Utfärda -pedantic varningar som fel istället\n"
-" -trigraphs Stöd ISO C trigraphs\n"
-" -lang-c Antag att indatakällkoden är C\n"
-" -lang-c89 Antag att indatakällkoden är C89\n"
-#: cppinit.c:1828
-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 ""
-" -lang-c++ Antag att indatakällkoden är C++\n"
-" -lang-objc Antag att indatakällkoden är ObjectiveC\n"
-" -lang-objc++ Antag att indatakällkoden är ObjectiveC++\n"
-" -lang-asm Antag att indatakällkoden är assembler\n"
-
-#: cppinit.c:1834
-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"
+#: cp/decl.c:11670
+msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr ""
-" -std=<std namn> Ange standard att följa; en av:\n"
-" gnu89, gnu99, c89, c99, iso9899:1990,\n"
-" iso9899:199409, iso9899:1999\n"
-" -+ Tillåt användning av C++ finesser\n"
-" -w Stoppa varningsmeddelande\n"
-" -Wtrigraphs Varna om trigrapher påträffas\n"
-" -Wno-trigraphs Varna inte om trigrapher\n"
-" -Wcomment{s} Varna om en kommentar börjar i en annan "
-"kommentar\n"
-#: cppinit.c:1844
-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"
+#: cp/decl.c:11684
+msgid "trying to make class `%T' a friend of global scope"
msgstr ""
-" -Wno-comment{s} Varna inte om kommentarer\n"
-" -Wtraditional Varna om finesser som inte finns i traditionell "
-"C\n"
-" -Wno-traditional Varna inte om traditionell C\n"
-" -Wundef Varna om ett odefinierat makro används av #if\n"
-" -Wno-undef Varna inte om att testa odefinierade makron\n"
-" -Wimport Varna om användande av direktivet #import\n"
-#: cppinit.c:1852
-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 ""
-" -Wno-import Varna inte om användande av #import\n"
-" -Werror Behandla alla varningar som fel\n"
-" -Wno-error Behandla inte varningar som fel\n"
-" -Wsystem-headers Dölj inte varningar från system-include-filer\n"
-" -Wno-system-headers Dölj varningar från system-include-filer\n"
-" -Wall Aktivera alla preprocessor-varningar\n"
+#: cp/decl.c:11695
+#, fuzzy
+msgid "invalid qualifiers on non-member function type"
+msgstr "ogiltigt format på versionsnummer"
-#: cppinit.c:1860
-msgid ""
-" -M Generate make dependencies\n"
-" -MM As -M, 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 ""
-" -M Generera make beroenden\n"
-" -MM Som -M, men ignorera system-include-filer\n"
-" -MF <fil> Skriv beroenden till den givna filen\n"
-" -MG Behandla saknade filer som genererade filer\n"
+#: cp/decl.c:11714
+#, fuzzy
+msgid "abstract declarator `%T' used as declaration"
+msgstr "deklaration av \"%s\" döljer global deklaration"
-# fixme: vad menas med unquoted
-#: cppinit.c:1866
-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"
+#: cp/decl.c:11726
+msgid "unnamed variable or field declared void"
msgstr ""
-" -MP\t\t\t Generera phony-mål för alla include-filer\n"
-" -MQ <mål> Lägg till MAKE-citerat mål\n"
-" -MT <mål> Lägg till ociterat mål\n"
-#: cppinit.c:1871
-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"
+#: cp/decl.c:11735
+msgid "variable or field declared void"
msgstr ""
-" -D<makro> Definiera <makro> med strängen \"1\" som sitt "
-"värde\n"
-" -D<makro>=<värde> Definiera <makro> with <värde> som sitt värde\n"
-" -A<fråga> (<svar>) Ange svaret <svar> på frågan <fråga>\n"
-" -A-<fråga> (<svar>) Slå av svaret <svar> på frågan <fråga>\n"
-" -U<makro> Gör <makro> till icke definierat\n"
-" -v Visa versionsnummer\n"
-#: cppinit.c:1879
-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"
+#: cp/decl.c:11745
+msgid "cannot use `::' in parameter declaration"
msgstr ""
-" -H Skriv namnet på include-filer när de används\n"
-" -C Släng inte bort kommentarer\n"
-" -dM Visa en lista med aktiva makron i slutet\n"
-" -dD Bevara mokrodefinitioner i utdata\n"
-" -dN Som -dD men bara namnet bevaras\n"
-" -dI Ta med #include-direktives i utdata\n"
-#: cppinit.c:1887
-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"
+#. Something like struct S { int N::j; };
+#: cp/decl.c:11784
+#, fuzzy
+msgid "invalid use of `::'"
+msgstr "ogiltigt användande av \"restrict\""
+
+#: cp/decl.c:11796
+#, fuzzy
+msgid "function `%D' cannot be declared friend"
+msgstr "funktion \"%s\" kan inte deklareras som \"mutable\""
+
+#: cp/decl.c:11808
+msgid "can't make `%D' into a method -- not in a class"
msgstr ""
-#: cpplex.c:173
-#, c-format
-msgid "trigraph ??%c converted to %c"
+#: cp/decl.c:11817
+#, fuzzy
+msgid "function `%D' declared virtual inside a union"
+msgstr "fält \"%s\" deklarerad som en funktion"
+
+#: cp/decl.c:11829
+msgid "`%D' cannot be declared virtual, since it is always static"
msgstr ""
-#: cpplex.c:181
+#: cp/decl.c:11902
+#, fuzzy
+msgid "field `%D' has incomplete type"
+msgstr "fält \"%s\" har en inkomplett typ"
+
+#: cp/decl.c:11904
+#, fuzzy
+msgid "name `%T' has incomplete type"
+msgstr "parameter \"%s\" har en inkomplett typ"
+
+#: cp/decl.c:11913
+#, fuzzy
+msgid " in instantiation of template `%T'"
+msgstr "%s: Vid instansiering av \"%s\":\n"
+
+#: cp/decl.c:11923
#, c-format
-msgid "trigraph ??%c ignored"
+msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr ""
-#: cpplex.c:265
-msgid "backslash and newline separated by space"
+#: cp/decl.c:11934
+msgid "member functions are implicitly friends of their class"
msgstr ""
-#: cpplex.c:269
-msgid "backslash-newline at end of file"
+#. An attempt is being made to initialize a non-static
+#. member. But, from [class.mem]:
+#.
+#. 4 A member-declarator can contain a
+#. constant-initializer only if it declares a static
+#. member (_class.static_) of integral or enumeration
+#. type, see _class.static.data_.
+#.
+#. This used to be relatively common practice, but
+#. 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:11981
+#, fuzzy
+msgid "ISO C++ forbids initialization of member `%D'"
+msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
+
+#: cp/decl.c:11983
+msgid "making `%D' static"
msgstr ""
-#: cpplex.c:344
-msgid "\"/*\" within comment"
-msgstr "\"/*\" i kommentar"
+#: cp/decl.c:12007
+msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+msgstr ""
-#: cpplex.c:430
-msgid "null character(s) ignored"
+#: cp/decl.c:12048
+#, c-format
+msgid "storage class `auto' invalid for function `%s'"
msgstr ""
-#: cpplex.c:437
+#: cp/decl.c:12050
#, c-format
-msgid "%s in preprocessing directive"
-msgstr "%s i preprocessordirektiv"
+msgid "storage class `register' invalid for function `%s'"
+msgstr "lagringsklass \"register\" ogiltig för funktion \"%s\""
-#: cpplex.c:513
-msgid "'$' character(s) in identifier"
-msgstr "tecknet '$' i en identifierare"
+#: cp/decl.c:12052
+#, fuzzy, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "lagringsklass \"register\" ogiltig för funktion \"%s\""
-#: cpplex.c:528
+#: cp/decl.c:12063
#, c-format
-msgid "attempt to use poisoned \"%s\""
-msgstr "försök att använda förgiftad \"%s\""
-
-#: cpplex.c:535
-msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cpplex.c:605
+#: cp/decl.c:12065
#, c-format
-msgid "missing terminating %c character"
+msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr ""
-#: cpplex.c:612
-msgid "possible start of unterminated string literal"
+#: cp/decl.c:12072
+#, c-format
+msgid "virtual non-class function `%s'"
msgstr ""
-#: cpplex.c:705
-msgid "multi-line string literals are deprecated"
-msgstr ""
+#: cp/decl.c:12101
+#, fuzzy
+msgid "cannot declare member function `%D' to have static linkage"
+msgstr "kan inte deklarera \"::main\" som static"
-#: cpplex.c:716
-msgid "null character(s) preserved in literal"
+#. FIXME need arm citation
+#: cp/decl.c:12107
+msgid "cannot declare static function inside another function"
+msgstr "kan inte deklarera en statisk funktion i en annan funktion"
+
+#: cp/decl.c:12135
+msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr ""
-#: cpplex.c:889
-msgid "no newline at end of file"
-msgstr "inget nyradstecken vid slutet av filen"
+#: cp/decl.c:12141
+#, fuzzy
+msgid "static member `%D' declared `register'"
+msgstr "variabel \"%s\" deklarerad \"inline\""
-#: cpplex.c:1010 tradcpp.c:1447
-msgid "unterminated comment"
-msgstr "ej avslutad kommentar"
+#: cp/decl.c:12146
+msgid "cannot explicitly declare member `%#D' to have extern linkage"
+msgstr ""
-#: cpplex.c:1024
-msgid "C++ style comments are not allowed in ISO C89"
-msgstr "C++ kommentarer tillåts inte av ISO C89"
+#: cp/decl.c:12318
+#, fuzzy
+msgid "default argument for `%#D' has type `%T'"
+msgstr "första argumentet till \"%s\" skall vara \"int\""
-#: cpplex.c:1026
-msgid "(this will be reported only once per input file)"
+#: cp/decl.c:12321
+msgid "default argument for parameter of type `%T' has type `%T'"
msgstr ""
-#: cpplex.c:1034
-msgid "multi-line comment"
+#: cp/decl.c:12338
+msgid "default argument `%E' uses local variable `%D'"
msgstr ""
-#: cpplex.c:1196
-msgid "directives may not be used inside a macro argument"
-msgstr ""
+#: cp/decl.c:12383
+#, fuzzy, c-format
+msgid "invalid string constant `%E'"
+msgstr "ogiltig lagringsklass för funktion \"%s\""
-#: cpplex.c:1351
-#, c-format
-msgid "Unspellable token %s"
+#: cp/decl.c:12385
+msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr ""
-#: cpplex.c:1706
-#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
-msgstr "semantiken för \"\\%c\" varierar med -traditional"
+#: cp/decl.c:12423
+#, fuzzy
+msgid "parameter `%D' invalidly declared method type"
+msgstr "parameter \"%s\" deklarerad som void"
-#: cpplex.c:1712
-msgid "incomplete universal-character-name"
-msgstr ""
+#: cp/decl.c:12429
+#, fuzzy
+msgid "parameter `%D' invalidly declared offset type"
+msgstr "parameter \"%s\" deklarerad som void"
-#: cpplex.c:1726
-#, c-format
-msgid "non-hex digit '%c' in universal-character-name"
+#: cp/decl.c:12453
+msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr ""
-#: cpplex.c:1734
-msgid "universal-character-name on EBCDIC target"
-msgstr ""
+#. [class.copy]
+#.
+#. A declaration of a constructor for a class X is ill-formed if
+#. its first parameter is of type (optionally cv-qualified) X
+#. and either there are no other parameters or else all other
+#. parameters have default arguments.
+#.
+#. We *don't* complain about member template instantiations that
+#. have this form, though; they can occur as we try to decide
+#. what constructor to use during overload resolution. Since
+#. overload resolution will never prefer such a constructor to
+#. the non-template copy constructor (which is either explicitly
+#. 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:12615
+msgid "invalid constructor; you probably meant `%T (const %T&)'"
+msgstr ""
+
+#: cp/decl.c:12766
+#, fuzzy
+msgid "`%D' must be a nonstatic member function"
+msgstr "\"%s\" är normalt en icke-statisk function"
-#: cpplex.c:1748
-msgid "universal-character-name out of range"
+#: cp/decl.c:12772
+msgid "`%D' must be either a non-static member function or a non-member function"
msgstr ""
-#: cpplex.c:1794
-msgid "the meaning of '\\a' varies with -traditional"
-msgstr "semantiken för \"\\a\" varierar med -traditional"
+#: cp/decl.c:12789
+msgid "`%D' must have an argument of class or enumerated type"
+msgstr ""
-#: cpplex.c:1801
+#: cp/decl.c:12821
#, c-format
-msgid "non-ISO-standard escape sequence, '\\%c'"
+msgid "conversion to %s%s will never use a type conversion operator"
msgstr ""
-#: cpplex.c:1811
-msgid "the meaning of '\\x' varies with -traditional"
+#. 13.4.0.3
+#: cp/decl.c:12828
+msgid "ISO C++ prohibits overloading operator ?:"
msgstr ""
-#: cpplex.c:1830 f/lex.c:636
-msgid "\\x used with no following hex digits"
+#: cp/decl.c:12878
+msgid "postfix `%D' must take `int' as its argument"
msgstr ""
-#: cpplex.c:1834
-msgid "hex escape sequence out of range"
+#: cp/decl.c:12882
+msgid "postfix `%D' must take `int' as its second argument"
msgstr ""
-#: cpplex.c:1858
-msgid "octal escape sequence out of range"
-msgstr ""
+#: cp/decl.c:12889
+#, fuzzy
+msgid "`%D' must take either zero or one argument"
+msgstr "\"%s\" tar bara noll eller två argument"
-#: cpplex.c:1873
-#, c-format
-msgid "unknown escape sequence '\\%c'"
-msgstr "okänd escape-sekvens \"\\%c\""
+#: cp/decl.c:12891
+#, fuzzy
+msgid "`%D' must take either one or two arguments"
+msgstr "\"%s\" tar bara noll eller två argument"
-#: cpplex.c:1875
-#, c-format
-msgid "unknown escape sequence: '\\%03o'"
+#: cp/decl.c:12912
+msgid "prefix `%D' should return `%T'"
msgstr ""
-#: cpplex.c:1879
-msgid "escape sequence out of range for character"
-msgstr "escape-sekvens ryms ej i ett tecken"
-
-#: cpplex.c:1938
-msgid "ignoring invalid multibyte character"
+#: cp/decl.c:12918
+msgid "postfix `%D' should return `%T'"
msgstr ""
-#: cpplex.c:1969
-msgid "empty character constant"
-msgstr "tom teckenkonstant"
-
-#: cpplex.c:1973
-msgid "character constant too long"
-msgstr "teckenkonstant för lång"
+#: cp/decl.c:12927
+msgid "`%D' must take `void'"
+msgstr ""
-#: cpplex.c:1976
-msgid "multi-character character constant"
-msgstr "flerteckens teckenkonstant"
+#: cp/decl.c:12929 cp/decl.c:12937
+#, fuzzy
+msgid "`%D' must take exactly one argument"
+msgstr "\"%s\" tar bara noll eller två argument"
-#: cpplib.c:213
-#, c-format
-msgid "extra tokens at end of #%s directive"
-msgstr ""
+#: cp/decl.c:12939
+#, fuzzy
+msgid "`%D' must take exactly two arguments"
+msgstr "\"%s\" tar bara noll eller två argument"
-#: cpplib.c:302
-msgid "# followed by integer"
+#: cp/decl.c:12947
+msgid "user-defined `%D' always evaluates both arguments"
msgstr ""
-#: cpplib.c:351
-msgid "suggest not using #elif in traditional C"
+#: cp/decl.c:12961
+msgid "`%D' should return by value"
msgstr ""
-#: cpplib.c:354
-#, c-format
-msgid "traditional C ignores #%s with the # indented"
-msgstr "traditionell C ignorerar #%s dör tecknet # är indenterat"
-
-#: cpplib.c:358
-#, c-format
-msgid "suggest hiding #%s from traditional C with an indented #"
+#: cp/decl.c:12973 cp/decl.c:12976
+msgid "`%D' cannot have default arguments"
msgstr ""
-#: cpplib.c:368
-#, c-format
-msgid "#%s is a GCC extension"
-msgstr "#%s är en GCC-utvidgning"
+#: cp/decl.c:13052
+#, fuzzy
+msgid "`%s %T' declares a new type at namespace scope"
+msgstr "\"%s %s\" deklarerad inuti parameterlista"
-#: cpplib.c:392
-#, c-format
-msgid "invalid preprocessing directive #%s"
+#: 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 ""
-#: cpplib.c:453
-#, c-format
-msgid "no macro name given in #%s directive"
+#: cp/decl.c:13093
+msgid "using typedef-name `%D' after `%s'"
msgstr ""
-#: cpplib.c:457
-#, c-format
-msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
-msgstr ""
+#: cp/decl.c:13098
+#, fuzzy
+msgid "using template type parameter `%T' after `%s'"
+msgstr "flera parametrar med namn \"%s\""
-#: cpplib.c:460
-msgid "macro names must be identifiers"
-msgstr ""
+#: cp/decl.c:13178
+#, fuzzy
+msgid "use of enum `%#D' without previous declaration"
+msgstr "sektion \"%s\" står i konflikt med tidigare deklaration"
-#: cpplib.c:469
-#, c-format
-msgid "\"%s\" cannot be used as a macro name"
+#: cp/decl.c:13264
+msgid "derived union `%T' invalid"
msgstr ""
-#: cpplib.c:508
-#, c-format
-msgid "undefining \"%s\""
+#: cp/decl.c:13310
+msgid "base type `%T' fails to be a struct or class type"
msgstr ""
-#: cpplib.c:552
-msgid "missing terminating > character"
-msgstr "saknar avslutande tecken >"
+#: cp/decl.c:13320
+#, fuzzy
+msgid "base class `%T' has incomplete type"
+msgstr "fält \"%s\" har en inkomplett typ"
-#: cpplib.c:590
-#, c-format
-msgid "#%s expects \"FILENAME\" or <FILENAME>"
+#: cp/decl.c:13328
+msgid "recursive type `%T' undefined"
msgstr ""
-#: cpplib.c:599
-#, c-format
-msgid "empty file name in #%s"
-msgstr "tomt filnamn i #%s"
+#: cp/decl.c:13330
+#, fuzzy
+msgid "duplicate base type `%T' invalid"
+msgstr "upprepat case-värde"
-#: cpplib.c:627
-msgid "#include nested too deeply"
-msgstr "#include nästlad för djupt"
+#: cp/decl.c:13441
+#, fuzzy
+msgid "multiple definition of `%#T'"
+msgstr "omdefiniering av \"%s\""
-#: cpplib.c:629
-msgid "attempt to push file buffer with contexts stacked"
-msgstr ""
+#: cp/decl.c:13442
+#, fuzzy
+msgid "previous definition here"
+msgstr "\"%s\" definierades tidigare här"
-#: cpplib.c:636
-msgid "#include_next in primary source file"
-msgstr ""
+#: cp/decl.c:13610
+#, fuzzy
+msgid "enumerator value for `%D' not integer constant"
+msgstr "uppräkningsvärde för \"%s\" är inte en heltalskonstant"
-#: cpplib.c:660
-msgid "#import is obsolete, use an #ifndef wrapper in the header file"
-msgstr "#import är obsolet, använd #ifndef-omslutning i includefilen"
+#: cp/decl.c:13630
+#, fuzzy
+msgid "overflow in enumeration values at `%D'"
+msgstr "överspill i uppräkningsvärden"
-#: cpplib.c:696
-#, c-format
-msgid "invalid flag \"%s\" in line directive"
-msgstr "ogiltigt flagga \"%s\" i line-direktiv"
+#: cp/decl.c:13716
+#, fuzzy
+msgid "return type `%#T' is incomplete"
+msgstr "returtypen är en inkomplett typ"
-#: cpplib.c:748
-#, c-format
-msgid "\"%s\" after #line is not a positive integer"
-msgstr "\"%s\" efter #line är inte ett positivt heltal"
+#: cp/decl.c:13830
+#, fuzzy
+msgid "semicolon missing after declaration of `%#T'"
+msgstr "motstridande deklarationer av \"%s\""
-#: cpplib.c:754
-msgid "line number out of range"
-msgstr "radnummer utanför möjligt intervall"
+#: cp/decl.c:13851
+msgid "return type for `main' changed to `int'"
+msgstr "returtypen för \"main\" ändrad till \"int\""
-#: cpplib.c:798
-#, c-format
-msgid "file \"%s\" left but not entered"
-msgstr ""
+#: cp/decl.c:13882
+#, fuzzy
+msgid "`%D' implicitly declared before its definition"
+msgstr "\"%s\" deklarerad inline efter sin definition"
-#: cpplib.c:806
-#, c-format
-msgid "expected to return to file \"%s\""
+#: cp/decl.c:13904 cp/typeck.c:6229
+msgid "`operator=' should return a reference to `*this'"
msgstr ""
-#: cpplib.c:809
-#, c-format
-msgid "expected to return to line number %u"
-msgstr ""
+#: cp/decl.c:14164
+#, fuzzy
+msgid "parameter `%D' declared void"
+msgstr "parameter \"%s\" deklarerad som void"
-#: cpplib.c:812
-#, c-format
-msgid "header flags for \"%s\" have changed"
+#: cp/decl.c:14628
+msgid "`%D' is already defined in class `%T'"
msgstr ""
-#: cpplib.c:823
-#, c-format
-msgid "\"%s\" is not a valid filename"
-msgstr "\"%s\" är inte ett giltigt filnamn"
-
-#: cpplib.c:971
-#, c-format
-msgid "unknown #pragma namespace %s"
-msgstr "okänt #pragma namespace %s"
+#: cp/decl.c:14845
+#, fuzzy
+msgid "static member function `%#D' declared with type qualifiers"
+msgstr "nästlad funktion \"%s\" är deklarerad \"extern\""
-#: cpplib.c:1081
-msgid "#pragma once is obsolete"
-msgstr "#pragma once är obsolet"
+#: cp/decl2.c:154
+#, fuzzy, c-format
+msgid "duplicate type qualifiers in %s declaration"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: cpplib.c:1084
-msgid "#pragma once in main file"
-msgstr "#pragma once i huvudfil"
+#: cp/decl2.c:193
+msgid "template `%#D' instantiated in file without #pragma interface"
+msgstr ""
-#: cpplib.c:1108
-msgid "invalid #pragma GCC poison directive"
-msgstr "ogiltigt GCC-direktiv #pragma poison"
+#: cp/decl2.c:199
+msgid "template `%#D' defined in file without #pragma interface"
+msgstr ""
-#: cpplib.c:1117
-#, c-format
-msgid "poisoning existing macro \"%s\""
-msgstr "förgiftar existerande makro \"%s\""
+#: cp/decl2.c:366
+msgid "name missing for member function"
+msgstr "namn saknas på medlemsfunktion"
-#: cpplib.c:1142
-msgid "#pragma system_header ignored outside include file"
+#. Something has gone very wrong. Assume we are mistakenly reducing
+#. an expression instead of a declaration.
+#: cp/decl2.c:429
+msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr ""
-#: cpplib.c:1164
-#, c-format
-msgid "cannot find source %s"
-msgstr "kan inte hitta källfil %s"
+#: cp/decl2.c:460 cp/decl2.c:474
+msgid "ambiguous conversion for array subscript"
+msgstr "tvetydig konveretering av fältindex"
-#: cpplib.c:1168
-#, c-format
-msgid "current file is older than %s"
-msgstr "aktuell fil är äldre än %s"
+#: cp/decl2.c:468
+#, fuzzy
+msgid "invalid types `%T[%T]' for array subscript"
+msgstr "tvetydig konveretering av fältindex"
-#: cpplib.c:1231
-msgid "_Pragma takes a parenthesized string literal"
+#: cp/decl2.c:516
+msgid "type `%#T' argument given to `delete', expected pointer"
msgstr ""
-#: cpplib.c:1324
-msgid "#else without #if"
-msgstr "#else utan #if"
+#: cp/decl2.c:524
+msgid "anachronistic use of array size in vector delete"
+msgstr ""
-#: cpplib.c:1329 tradcpp.c:3850
-msgid "#else after #else"
-msgstr "#else efter #else"
+#: cp/decl2.c:534
+msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
+msgstr ""
-#: cpplib.c:1331 cpplib.c:1365
-msgid "the conditional began here"
-msgstr "villkorssatsen började här"
+#: cp/decl2.c:541
+#, fuzzy
+msgid "deleting `%T' is undefined"
+msgstr "operation på \"%s\" kan vara odefinierad"
-#: cpplib.c:1358
-msgid "#elif without #if"
-msgstr "#elif utan #if"
+#: cp/decl2.c:549
+msgid "deleting array `%#D'"
+msgstr ""
-#: cpplib.c:1363 tradcpp.c:3545
-msgid "#elif after #else"
-msgstr "#elif efter #else"
+#. 14.5.2.2 [temp.mem]
+#.
+#. A local class shall not have member templates.
+#: cp/decl2.c:583
+msgid "invalid declaration of member template `%#D' in local class"
+msgstr ""
-#: cpplib.c:1395
-msgid "#endif without #if"
-msgstr "#endif utan #if"
+#: cp/decl2.c:592
+#, fuzzy
+msgid "invalid use of `virtual' in template declaration of `%#D'"
+msgstr "tidigare implicit deklaration av \"%s\""
-#: cpplib.c:1480 tradcpp.c:3242
-msgid "missing '(' after predicate"
-msgstr "saknas '(' efter predikat"
+#: cp/decl2.c:602 cp/pt.c:2586
+#, fuzzy
+msgid "template declaration of `%#D'"
+msgstr "omdeklaration av \"%s\""
-#: cpplib.c:1501 tradcpp.c:3256
-msgid "missing ')' to complete answer"
-msgstr "saknas ')' för att avsluta svaret"
+#: cp/decl2.c:652
+msgid "Java method '%D' has non-Java return type `%T'"
+msgstr ""
-#: cpplib.c:1509 tradcpp.c:3262
-msgid "predicate's answer is empty"
-msgstr "predikatets svar är tomt"
+#: cp/decl2.c:661
+msgid "Java method '%D' has non-Java parameter type `%T'"
+msgstr ""
-#: cpplib.c:1540 tradcpp.c:3310
-msgid "assertion without predicate"
+#: cp/decl2.c:737
+msgid "prototype for `%#D' does not match any in class `%T'"
msgstr ""
-#: cpplib.c:1542 tradcpp.c:3312
-msgid "predicate must be an identifier"
-msgstr "predikat måste vara en identifierare"
+#: cp/decl2.c:819
+msgid "local class `%#T' shall not have static data member `%#D'"
+msgstr ""
-#: cpplib.c:1623 tradcpp.c:3409
-#, c-format
-msgid "\"%s\" re-asserted"
+#: cp/decl2.c:827
+msgid "initializer invalid for static member with constructor"
msgstr ""
-#: cpplib.c:1819
-msgid "<builtin>"
-msgstr "<inbyggd>"
+#: cp/decl2.c:830
+msgid "(an out of class initialization is required)"
+msgstr ""
-#: cpplib.c:1821
-msgid "<command line>"
+#: cp/decl2.c:889
+#, fuzzy
+msgid "invalid data member initialization"
+msgstr "Slå på automatisk mallinstansiering"
+
+#: cp/decl2.c:892
+msgid "(use `=' to initialize static data members)"
msgstr ""
-#: cpplib.c:1844
-msgid "<stdin>"
-msgstr "<stdin>"
+#: cp/decl2.c:938
+msgid "member `%D' conflicts with virtual function table field name"
+msgstr ""
-#: cpplib.c:1877
-#, c-format
-msgid "unterminated #%s"
+#: cp/decl2.c:958
+msgid "`%D' is already defined in `%T'"
msgstr ""
-#: cpplib.c:1905
-#, c-format
-msgid "file \"%s\" entered but not left"
-msgstr "filen \"%s\" påbörjad men ej avslutad"
+#: cp/decl2.c:1010
+msgid "field initializer is not constant"
+msgstr "fältinitierare är ej konstant"
-#: cppmacro.c:213
-#, c-format
-msgid "invalid builtin macro \"%s\""
+#: cp/decl2.c:1034
+msgid "`asm' specifiers are not permitted on non-static data members"
msgstr ""
-#: cppmacro.c:333
-msgid "invalid string literal, ignoring final '\\'"
+#: cp/decl2.c:1086
+#, fuzzy
+msgid "cannot declare `%D' to be a bit-field type"
+msgstr "kan inte deklarera \"::main\" som en mall"
+
+#: cp/decl2.c:1096
+#, fuzzy
+msgid "cannot declare bit-field `%D' with function type"
+msgstr "typkonvertering matchar inte en funktionstyp"
+
+#: cp/decl2.c:1103
+msgid "`%D' is already defined in the class %T"
msgstr ""
-#: cppmacro.c:367
-#, c-format
-msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+#: cp/decl2.c:1110
+msgid "static member `%D' cannot be a bit-field"
msgstr ""
-#: cppmacro.c:539
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
+#: cp/decl2.c:1197
+#, fuzzy
+msgid "initializer specified for non-member function `%D'"
+msgstr "argumentformat angivet för icke-funktion \"%s\""
+
+#: cp/decl2.c:1201
+msgid "invalid initializer for virtual method `%D'"
msgstr ""
-#: cppmacro.c:556
-msgid "ISO C99 requires rest arguments to be used"
+#: cp/decl2.c:1315
+msgid "anonymous struct not inside named type"
msgstr ""
-#: cppmacro.c:561
-#, c-format
-msgid "macro \"%s\" requires %u arguments, but only %u given"
+#: cp/decl2.c:1411
+msgid "namespace-scope anonymous aggregates must be static"
msgstr ""
-#: cppmacro.c:572
-#, c-format
-msgid "macro \"%s\" passed %u arguments, but takes just %u"
+#: cp/decl2.c:1424
+msgid "anonymous aggregate with no members"
msgstr ""
-#: cppmacro.c:612
-#, c-format
-msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+#: cp/decl2.c:1493
+#, fuzzy
+msgid "`operator new' must return type `%T'"
+msgstr "\"operator new\" måste returnera typ \"void *\""
+
+#: cp/decl2.c:1501
+#, fuzzy
+msgid "`operator new' takes type `size_t' (`%T') as first parameter"
+msgstr "\"operator new\" tar parameter av typ \"size_t\""
+
+#: cp/decl2.c:1528
+#, fuzzy
+msgid "`operator delete' must return type `%T'"
+msgstr "\"operator new\" måste returnera typ \"void *\""
+
+#: cp/decl2.c:1536
+#, fuzzy
+msgid "`operator delete' takes type `%T' as first parameter"
+msgstr "\"operator new\" tar parameter av typ \"size_t\""
+
+#. Overflow occurred. That means there are at least 4 billion
+#. initialization functions.
+#: cp/decl2.c:2290
+msgid "too many initialization functions required"
msgstr ""
-#: cppmacro.c:1236
-#, c-format
-msgid "duplicate macro parameter \"%s\""
+#: cp/decl2.c:2966
+#, fuzzy
+msgid "inline function `%D' used but never defined"
+msgstr "\"%s\" är använd men inte definierad"
+
+#: cp/decl2.c:3086
+msgid "use of old-style cast"
+msgstr "användning av gammaldags typkonvertering"
+
+#: cp/decl2.c:3794
+#, fuzzy
+msgid "use of `%D' is ambiguous"
+msgstr "%s: flaggan \"%s\" är tvetydig\n"
+
+#: cp/decl2.c:3795
+msgid " first declared as `%#D' here"
msgstr ""
-#: cppmacro.c:1271
-#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
+#: cp/decl2.c:3798
+msgid " also declared as `%#D' here"
msgstr ""
-#: cppmacro.c:1278
-msgid "macro parameters must be comma-separated"
+#: cp/decl2.c:3813
+msgid "`%D' denotes an ambiguous type"
msgstr ""
-#: cppmacro.c:1295
-msgid "parameter name missing"
-msgstr "parameternamn saknas"
+#: cp/decl2.c:3814
+#, fuzzy
+msgid " first type here"
+msgstr " från här"
-#: cppmacro.c:1309
-msgid "anonymous variadic macros were introduced in C99"
+#: cp/decl2.c:3815
+msgid " other type here"
msgstr ""
-#: cppmacro.c:1312
-msgid "ISO C does not permit named variadic macros"
-msgstr ""
+#: cp/decl2.c:3912
+#, fuzzy
+msgid "declaration of `%D' not in a namespace surrounding `%D'"
+msgstr "deklaration av \"%s\" som ett fält med funktioner"
-#: cppmacro.c:1321
-msgid "missing ')' in macro parameter list"
+#: cp/decl2.c:3946
+msgid "`%D' should have been declared inside `%D'"
msgstr ""
-#: cppmacro.c:1400
-msgid "ISO C requires whitespace after the macro name"
+#: cp/decl2.c:4079
+#, fuzzy
+msgid "`%D' is not a function,"
+msgstr "\"%s\" är vanligtvis en funktion"
+
+#: cp/decl2.c:4080
+#, fuzzy
+msgid " conflict with `%D'"
+msgstr "\"%s\" ignorerad, i konflikt med \"-g%s\""
+
+#. The parser did not find it, so it's not there.
+#: cp/decl2.c:4396
+#, fuzzy
+msgid "unknown namespace `%D'"
+msgstr "okänt #pragma namespace %s"
+
+#: cp/decl2.c:4430 cp/decl2.c:4707
+msgid "`%T' is not a namespace"
msgstr ""
-#: cppmacro.c:1423
-msgid "'#' is not followed by a macro parameter"
+#: cp/decl2.c:4432
+msgid "`%D' is not a namespace"
msgstr ""
-#: cppmacro.c:1443
-msgid "'##' cannot appear at either end of a macro expansion"
+#: cp/decl2.c:4441
+msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr ""
-#: cppmacro.c:1478
-#, c-format
-msgid "\"%s\" redefined"
-msgstr "\"%s\" omdefinierad"
+#: cp/decl2.c:4455
+#, fuzzy
+msgid "namespace `%D' not allowed in using-declaration"
+msgstr "\"%s\" är inte i början av deklarationen"
-#: cppmacro.c:1484
-msgid "this is the location of the previous definition"
-msgstr "detta är platsen för den tidigare definitionen"
+#: cp/decl2.c:4484
+#, fuzzy
+msgid "`%D' not declared"
+msgstr "\"%s\" är tidigare deklarerad här"
-#: cppmacro.c:1543
-#, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional."
+#: cp/decl2.c:4535
+msgid "`%D' is already declared in this scope"
msgstr ""
-#: cppmacro.c:1567
-#, c-format
-msgid "invalid hash type %d in dump_definition"
+#: cp/decl2.c:4562
+msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr ""
-#: cppmain.c:128
-#, c-format
-msgid "Invalid option %s"
-msgstr "Ogiltig flagga %s"
-
-#: cppspec.c:128
-#, c-format
-msgid "\"%s\" is not a valid option to the preprocessor"
+#: cp/decl2.c:4653
+msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cppspec.c:152
-msgid "too many input files"
-msgstr "för många indatafiler"
+#: cp/decl2.c:4659
+#, fuzzy
+msgid "using-declaration for destructor"
+msgstr "multiple deklaration av metod \"%s\""
-#: cse.c:7137
-#, c-format
-msgid ";; Processing block from %d to %d, %d sets.\n"
+#: cp/decl2.c:4665
+msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr ""
-#: diagnostic.c:842
-#, c-format
-msgid "%s:%d: warning: "
-msgstr "%s:%d: varning: "
-
-#: diagnostic.c:849
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: varning: "
+#: cp/decl2.c:4701
+#, fuzzy
+msgid "namespace `%T' undeclared"
+msgstr "parameter \"%s\" deklarerad som void"
-#: diagnostic.c:935
-msgid "((anonymous))"
-msgstr "((anonym))"
+#: cp/decl2.c:4730
+#, fuzzy
+msgid "default argument missing for parameter %P of `%+#D'"
+msgstr "parameternamn saknas i parameterlista"
-#: diagnostic.c:1060
-#, c-format
-msgid "%s: warnings being treated as errors\n"
+#: cp/decl2.c:4829
+msgid "extra qualification `%T::' on member `%D' ignored"
msgstr ""
-#: diagnostic.c:1112
-#, c-format
-msgid "%s: %s: "
-msgstr "%s: %s: "
+#: cp/decl2.c:4833
+msgid "`%T' does not have a class or union named `%D'"
+msgstr ""
-#: diagnostic.c:1220
-msgid "sorry, not implemented: "
-msgstr "ledsen, inte implementerat: "
+#: cp/decl2.c:4848
+#, fuzzy
+msgid "`%T' is not a class or union type"
+msgstr "ISO C förbjuder typkonvertering till unionstyper"
-#: diagnostic.c:1239
-#, c-format
-msgid "%s "
-msgstr "%s "
+#: cp/decl2.c:4862
+#, fuzzy
+msgid "template argument is required for `%T'"
+msgstr "flera parametrar med namn \"%s\""
-#: diagnostic.c:1241
+#: cp/error.c:35
#, c-format
-msgid " %s"
-msgstr " %s"
-
-#: diagnostic.c:1264
-msgid "At top level:"
-msgstr "På toppnivå:"
+msgid "`%s' not supported by %s"
+msgstr "\"%s\" stöds inte av %s"
-#: diagnostic.c:1269
+#: cp/error.c:571
#, c-format
-msgid "In method `%s':"
-msgstr "I metod `%s':"
+msgid "<anonymous %s>"
+msgstr "<anonym %s>"
-#: diagnostic.c:1273
+#: cp/error.c:808
#, c-format
-msgid "In function `%s':"
-msgstr "I funktion `%s':"
-
-#: diagnostic.c:1408
-msgid "compilation terminated.\n"
-msgstr "kompilering avslutad.\n"
+msgid "(static %s for %s)"
+msgstr "(static %s för %s)"
-#: diagnostic.c:1443
+#: cp/error.c:1482
#, c-format
-msgid "%s:%d: confused by earlier errors, bailing out\n"
+msgid "\\x%x"
msgstr ""
-#: diagnostic.c:1457 diagnostic.c:1696
+#: cp/error.c:2430
#, c-format
-msgid ""
-"Please submit a full bug report,\n"
-"with preprocessed source if appropriate.\n"
-"See %s for instructions.\n"
+msgid "In %s `%s':"
msgstr ""
-"Var vänlig och skicka in en komplett felrapport,\n"
-"om möjligt med preprocessad källfil.\n"
-"Se %s för instruktioner.\n"
-#: diagnostic.c:1489
-msgid "Unrecognizable insn:"
-msgstr ""
+#: cp/error.c:2487
+#, c-format
+msgid "%s: In instantiation of `%s':\n"
+msgstr "%s: Vid instansiering av \"%s\":\n"
-#: diagnostic.c:1491
-msgid "Insn does not satisfy its constraints:"
+#: cp/error.c:2511
+#, c-format
+msgid "%s:%d: instantiated from `%s'\n"
msgstr ""
-#: diagnostic.c:1694
-msgid "Internal compiler error: Error reporting routines re-entered.\n"
-msgstr "Internt kompilatorfel: Felhanteringsrutiner återanropade.\n"
-
-#: diagnostic.c:1756
+#: cp/error.c:2516
#, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "Internt kompilatorfel i %s, vid %s:%d"
+msgid "%s:%d: instantiated from here\n"
+msgstr ""
-#: diagnostic.c:1801
+#. damn ICE suppression
+#: cp/error.c:2670
#, c-format
-msgid "In file included from %s:%d"
-msgstr "I fil includerad från %s:%d"
+msgid "unexpected letter `%c' in locate_error\n"
+msgstr ""
-#: diagnostic.c:1804
-#, c-format
-msgid ""
-",\n"
-" from %s:%d"
+#. Can't throw a reference.
+#: cp/except.c:240
+msgid "type `%T' is disallowed in Java `throw' or `catch'"
msgstr ""
-",\n"
-" från %s:%d"
-#: diagnostic.c:1805
-msgid ":\n"
-msgstr ":\n"
+#: cp/except.c:251
+msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
+msgstr ""
-#: dwarf2out.c:3043
-#, c-format
-msgid "DW_LOC_OP %s not implememnted\n"
-msgstr "DW_LOC_OP %s är inte implementerad\n"
+#. Thrown object must be a Throwable.
+#: cp/except.c:258
+msgid "type `%T' is not derived from `java::lang::Throwable'"
+msgstr ""
-#: dwarf2out.c:7242 dwarfout.c:2135
-#, c-format
-msgid "internal regno botch: regno = %d\n"
+#: cp/except.c:322
+msgid "mixing C++ and Java catches in a single translation unit"
msgstr ""
-#: dwarfout.c:6269
-msgid "can't get current directory"
+#: cp/except.c:639
+msgid "throwing NULL, which has integral, not pointer type"
msgstr ""
-#: emit-rtl.c:1028
-msgid "Can't access real part of complex value in hard register"
+#: cp/except.c:730
+msgid " in thrown expression"
msgstr ""
-#: emit-rtl.c:1050
-msgid "can't access imaginary part of complex value in hard register"
+#: cp/except.c:856
+msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr ""
-#: emit-rtl.c:2508
-msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+#: cp/except.c:944
+msgid "exception of type `%T' will be caught"
msgstr ""
-#: errors.c:168
-#, c-format
-msgid "abort in %s, at %s:%d"
+#: cp/except.c:947
+msgid " by earlier handler for `%T'"
msgstr ""
-#: except.c:357
-msgid "exception handling disabled, use -fexceptions to enable"
+#: cp/except.c:968
+msgid "`...' handler must be the last handler for its try block"
msgstr ""
-#: except.c:2927
-msgid "argument of `__builtin_eh_return_regno' must be constant"
-msgstr "argumentet till \"__builtin_eh_return_regno\" måste vara konstant"
+#: cp/friend.c:155
+#, fuzzy
+msgid "`%D' is already a friend of class `%T'"
+msgstr "kunde inte hitta klassen \"%s\""
-#: except.c:3034 except.c:3056
-msgid "__builtin_eh_return not supported on this target"
-msgstr "__builtin_eh_return stöds inte på denna målarkitektur"
+#: cp/friend.c:157
+#, fuzzy
+msgid "previous friend declaration of `%D'"
+msgstr "tidigare deklaration av \"%s\""
-#: explow.c:1447
-msgid "stack limits not supported on this target"
-msgstr ""
+#: cp/friend.c:202
+#, fuzzy
+msgid "invalid type `%T' declared `friend'"
+msgstr "variabel \"%s\" deklarerad \"inline\""
-#: expr.c:2915
-msgid "function using short complex types cannot be inline"
-msgstr ""
+#. [temp.friend]
+#. Friend declarations shall not declare partial
+#. specializations.
+#: cp/friend.c:218
+#, fuzzy
+msgid "partial specialization `%T' declared `friend'"
+msgstr "variabel \"%s\" deklarerad \"inline\""
-#: expr.c:5994 expr.c:6003 expr.c:6012 expr.c:6017 expr.c:6181 expr.c:6197
-msgid "unsupported wide integer operation"
+#: cp/friend.c:227
+msgid "class `%T' is implicitly friends with itself"
msgstr ""
-#: expr.c:6244
-#, c-format
-msgid "prior parameter's size depends on `%s'"
-msgstr "föregående parameterns storlek beror på \"%s\""
+#. template <class T> friend typename S<T>::X;
+#: cp/friend.c:245
+#, fuzzy
+msgid "typename type `%#T' declared `friend'"
+msgstr "parameter \"%s\" deklarerad som void"
-#: expr.c:6645
-msgid "returned value in block_exit_expr"
+#. template <class T> friend class T;
+#: cp/friend.c:251
+#, fuzzy
+msgid "template parameter type `%T' declared `friend'"
+msgstr "parameter \"%s\" deklarerad som void"
+
+#. template <class T> friend class A; where A is not a template
+#: cp/friend.c:257
+#, fuzzy
+msgid "`%#T' is not a template"
+msgstr "användning ab `%s' i mall"
+
+#: cp/friend.c:272
+msgid "`%T' is already a friend of `%T'"
msgstr ""
-#: f/com.c:11798
-msgid "no INTEGER type can hold a pointer on this configuration"
+#: cp/friend.c:370
+msgid "member `%D' declared as friend before type `%T' defined"
msgstr ""
-#: f/com.c:12025
-#, c-format
-msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+#: cp/friend.c:425
+#, fuzzy
+msgid "friend declaration `%#D' declares a non-template function"
+msgstr "inbyggd funktion \"%s\" deklarerad som icke-funktion"
+
+#: 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 ""
-#: f/com.c:12027
+#: cp/g++spec.c:209 java/jvspec.c:423
#, c-format
-msgid "and pointers are %d bits wide, but g77 doesn't yet work"
-msgstr ""
+msgid "argument to `%s' missing\n"
+msgstr "argument till \"%s\" saknas\n"
-#: f/com.c:12029
-msgid "properly unless they all are 32 bits wide."
+#: cp/init.c:320
+msgid "`%D' should be initialized in the member initialization list"
msgstr ""
-#: f/com.c:12030
-msgid "Please keep this in mind before you report bugs. g77 should"
+#: cp/init.c:369
+msgid "default-initialization of `%#D', which has reference type"
msgstr ""
-#: f/com.c:12031
-msgid "support non-32-bit machines better as of version 0.6."
+#: cp/init.c:374
+msgid "uninitialized reference member `%D'"
msgstr ""
-#. I/O will probably crash.
-#: f/com.c:12039
-#, c-format
-msgid "configuration: char * holds %d bits, but ftnlen only %d"
+#: cp/init.c:382
+msgid "initializer list treated as compound expression"
msgstr ""
-#. ASSIGN 10 TO I will crash.
-#: f/com.c:12048
-#, c-format
-msgid ""
-"configuration: char * holds %d bits, but INTEGER only %d --\n"
-" ASSIGN statement might fail"
-msgstr ""
+#: cp/init.c:523
+#, fuzzy
+msgid "`%D' will be initialized after"
+msgstr "parameter \"%s\" är initierad"
-#: f/com.c:16025
-msgid "Directory name must immediately follow -I"
-msgstr "Katalognamn måste komma direkt efter -I"
+#: cp/init.c:526
+#, fuzzy
+msgid "base `%T' will be initialized after"
+msgstr "fält \"%s\" är redan initierat"
-#: f/g77spec.c:250
-#, c-format
-msgid "overflowed output arg list for `%s'"
+#: cp/init.c:529
+msgid " `%#D'"
msgstr ""
-#: f/g77spec.c:436
-msgid "--driver no longer supported"
-msgstr "--driver stödjs inte längre"
+#: cp/init.c:531
+msgid " base `%T'"
+msgstr ""
-#: f/g77spec.c:450
-#, c-format
-msgid "argument to `%s' missing"
-msgstr "argument till \"%s\" saknas"
+#: cp/init.c:549
+#, fuzzy
+msgid "multiple initializations given for base `%T'"
+msgstr "multiple deklaration av metod \"%s\""
-#: f/g77spec.c:454
-msgid "No input files; unwilling to write output files"
-msgstr ""
+#: cp/init.c:616
+#, fuzzy
+msgid "initializations for multiple members of `%T'"
+msgstr "initierare misslyckas med att bestämma storlek på \"%s\""
-#: f/lang-options.h:33
-msgid "Print g77-specific compiler version info, run internal tests"
+#: cp/init.c:671
+msgid "base class `%#T' should be explicitly initialized in the copy constructor"
msgstr ""
-#: f/lang-options.h:38
-msgid "Program is written in typical FORTRAN 66 dialect"
+#: cp/init.c:916
+msgid "class `%T' does not have any field named `%D'"
msgstr ""
-#: f/lang-options.h:41
-msgid "Program is written in typical Unix f77 dialect"
+#: cp/init.c:922
+msgid "field `%#D' is static; the only point of initialization is its definition"
msgstr ""
-#: f/lang-options.h:43
-msgid "Program does not use Unix-f77 dialectal features"
+#: cp/init.c:956
+msgid "unnamed initializer for `%T', which has no base classes"
msgstr ""
-#: f/lang-options.h:45
-msgid "Program is written in Fortran-90-ish dialect"
+#: cp/init.c:963
+msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr ""
-#: f/lang-options.h:49
-msgid ""
-"Treat local vars and COMMON blocks as if they were named in SAVE statements"
+#: cp/init.c:1000
+msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr ""
-#: f/lang-options.h:51
-msgid "Allow $ in symbol names"
+#: cp/init.c:1003
+msgid "type `%D' is not a direct base of `%T'"
msgstr ""
-#: f/lang-options.h:55
-msgid "f2c-compatible code need not be generated"
-msgstr ""
+#. Handle bad initializers like:
+#. class COMPLEX {
+#. public:
+#. double re, im;
+#. COMPLEX(double r = 0.0, double i = 0.0) {re = r; im = i;};
+#. ~COMPLEX() {};
+#. };
+#.
+#. int main(int argc, char **argv) {
+#. COMPLEX zees(1.0, 0.0)[10];
+#. }
+#.
+#: cp/init.c:1097
+#, fuzzy
+msgid "bad array initializer"
+msgstr "fält \"%s\" är redan initierat"
+
+#: cp/init.c:1304
+#, fuzzy
+msgid "`%T' is not an aggregate type"
+msgstr "\"%s\" har en inkomplett typ"
-#: f/lang-options.h:58
-msgid "Unsupported; do not generate libf2c-calling code"
+#: cp/init.c:1327
+msgid "`%T' fails to be an aggregate typedef"
msgstr ""
-#: f/lang-options.h:60
-msgid "Unsupported; affects code-generation of arrays"
+#: cp/init.c:1336
+msgid "type `%T' is of non-aggregate type"
msgstr ""
-#: f/lang-options.h:63
-msgid "Program is written in Fortran-90-ish free form"
+#: cp/init.c:1439
+msgid "cannot call destructor `%T::~%T' without object"
msgstr ""
-#: f/lang-options.h:68
-msgid "Warn about use of (only a few for now) Fortran extensions"
-msgstr ""
+#: cp/init.c:1483
+#, fuzzy
+msgid "invalid use of non-static field `%D'"
+msgstr "ogiltigt användande av \"restrict\""
-#: f/lang-options.h:71
-msgid "Program is written in VXT (Digital-like) FORTRAN"
-msgstr ""
+#. We can get here when processing a bad default
+#. argument, like:
+#. struct S { int a; void f(int i = a); }
+#: cp/init.c:1492 cp/method.c:160
+#, fuzzy
+msgid "invalid use of member `%D'"
+msgstr "ogiltigt användande av \"restrict\""
-#: f/lang-options.h:74
-msgid "Disallow all ugly features"
-msgstr ""
+#: cp/init.c:1502
+#, fuzzy
+msgid "no method `%T::%D'"
+msgstr "I metod `%s':"
-#: f/lang-options.h:77
-msgid "Hollerith and typeless constants not passed as arguments"
+#: cp/init.c:1595
+msgid "incomplete type `%T' does not have member `%D'"
msgstr ""
-#: f/lang-options.h:79
-msgid "Allow ordinary copying of ASSIGN'ed vars"
-msgstr ""
+#: cp/init.c:1669
+#, fuzzy
+msgid "`%D' is not a member of type `%T'"
+msgstr "%s har ingen medlem med namn \"%s\""
-#: f/lang-options.h:82
-msgid "Dummy array dimensioned to (1) is assumed-size"
-msgstr ""
+#: cp/init.c:1688
+#, fuzzy
+msgid "invalid pointer to bit-field `%D'"
+msgstr "negativ storlek i bitfält \"%s\""
-#: f/lang-options.h:85
-msgid "Trailing comma in procedure call denotes null argument"
+#: cp/init.c:1727
+msgid "object missing in use of pointer-to-member construct"
msgstr ""
-#: f/lang-options.h:88
-msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+#: cp/init.c:1767
+msgid "member `%D' is non-static but referenced as a static member"
msgstr ""
-#: f/lang-options.h:92
-msgid "Initialization via DATA and PARAMETER is type-compatible"
+#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932
+msgid "at this point in file"
msgstr ""
-#: f/lang-options.h:94
-msgid "Allow INTEGER and LOGICAL interchangeability"
-msgstr ""
+#: cp/init.c:1806
+#, fuzzy, c-format
+msgid "object missing in `%E'"
+msgstr "fältstorlek saknas i \"%s\""
-#: f/lang-options.h:97
-msgid "Print internal debugging-related info"
+#: cp/init.c:1937
+msgid "new of array type fails to specify size"
msgstr ""
-#: f/lang-options.h:100
-msgid "Initialize local vars and arrays to zero"
+#: cp/init.c:1948
+msgid "size in array new must have integral type"
msgstr ""
-#: f/lang-options.h:104
-msgid "Backslashes in character/hollerith constants not special (C-style)"
+#: cp/init.c:1954
+msgid "zero size array reserves no space"
msgstr ""
-#: f/lang-options.h:106
-msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+#: cp/init.c:2019
+msgid "new cannot be applied to a reference type"
msgstr ""
-#: f/lang-options.h:110
-msgid "Disable the appending of underscores to externals"
+#: cp/init.c:2025
+msgid "new cannot be applied to a function type"
msgstr ""
-#: f/lang-options.h:113
-msgid "Never append a second underscore to externals"
+#: cp/init.c:2072
+msgid "call to Java constructor, while `jclass' undefined"
msgstr ""
-#: f/lang-options.h:115
-msgid "Intrinsics spelled as e.g. SqRt"
-msgstr ""
+#: cp/init.c:2088
+#, fuzzy
+msgid "can't find class$"
+msgstr "Kan inte hitta class$"
-#: f/lang-options.h:117
-msgid "Intrinsics in uppercase"
-msgstr ""
+#: cp/init.c:2202
+msgid "invalid type `void' for new"
+msgstr "ogiltig typ \"void\" för new"
-#: f/lang-options.h:120
-msgid "Intrinsics letters in arbitrary cases"
+#: cp/init.c:2254
+#, c-format
+msgid "call to Java constructor with `%s' undefined"
msgstr ""
-#: f/lang-options.h:122
-msgid "Language keywords spelled as e.g. IOStat"
+#: cp/init.c:2362
+#, fuzzy
+msgid "ISO C++ forbids initialization in array new"
+msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
+
+#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223
+msgid "initializer list being treated as compound expression"
msgstr ""
-#: f/lang-options.h:124
-msgid "Language keywords in uppercase"
+#: cp/init.c:2386
+msgid "ISO C++ forbids aggregate initializer to new"
msgstr ""
-#: f/lang-options.h:127
-msgid "Language keyword letters in arbitrary cases"
+#: cp/init.c:2474
+#, fuzzy
+msgid "uninitialized const in `new' of `%#T'"
+msgstr "initierare misslyckas med att bestämma storlek på \"%s\""
+
+#: cp/init.c:2840
+msgid "initializer ends prematurely"
msgstr ""
-#: f/lang-options.h:129
-msgid "Internally convert most source to uppercase"
+#: cp/init.c:2910
+msgid "cannot initialize multi-dimensional array with initializer"
msgstr ""
-#: f/lang-options.h:132
-msgid "Internally preserve source case"
+#: cp/init.c:3100
+msgid "unknown array size in delete"
msgstr ""
-#: f/lang-options.h:134
-msgid "Symbol names spelled in mixed case"
+#: cp/init.c:3365
+msgid "type to vector delete is neither pointer or array type"
msgstr ""
-#: f/lang-options.h:136
-msgid "Symbol names in uppercase"
+#: cp/lex.c:136
+msgid "type name expected before `*'"
+msgstr "typnamn förväntat före \"*\""
+
+#: cp/lex.c:158
+msgid "cannot declare references to references"
+msgstr "kan inte deklarera referenser till referenser"
+
+#: cp/lex.c:163
+msgid "cannot declare pointers to references"
+msgstr "kan inte deklarera pekare till referenser"
+
+#: cp/lex.c:167
+msgid "type name expected before `&'"
msgstr ""
-#: f/lang-options.h:138
-msgid "Symbol names in lowercase"
+#: cp/lex.c:894
+#, c-format
+msgid "semicolon missing after %s declaration"
msgstr ""
-#: f/lang-options.h:141
-msgid "Program written in uppercase"
+#: cp/lex.c:897
+#, fuzzy
+msgid "semicolon missing after declaration of `%T'"
+msgstr "motstridande deklarationer av \"%s\""
+
+#: cp/lex.c:945
+#, c-format
+msgid "junk at end of #pragma %s"
msgstr ""
-#: f/lang-options.h:143
-msgid "Program written in lowercase"
+#: cp/lex.c:952
+#, c-format
+msgid "invalid #pragma %s"
+msgstr "ogiltigt #pragma %s"
+
+#: cp/lex.c:961
+#, fuzzy
+msgid "#pragma vtable no longer supported"
+msgstr "--driver stödjs inte längre"
+
+#: cp/lex.c:1038
+#, c-format
+msgid "#pragma implementation for %s appears after file is included"
msgstr ""
-#: f/lang-options.h:145
-msgid "Program written in strict mixed-case"
+#: cp/lex.c:1063
+msgid "junk at end of #pragma GCC java_exceptions"
msgstr ""
-#: f/lang-options.h:147
-msgid "Compile as if program written in uppercase"
+#: cp/lex.c:1107
+#, fuzzy
+msgid "`%D' not defined"
+msgstr "\"%s\" är inte definierad"
+
+#: cp/lex.c:1110
+#, fuzzy
+msgid "`%D' was not declared in this scope"
+msgstr "\"%s\" odeklarerad (första förekomsten i denna funktionen)"
+
+#: cp/lex.c:1118
+#, fuzzy
+msgid "`%D' undeclared (first use this function)"
+msgstr "\"%s\" odeklarerad (första förekomsten i denna funktionen)"
+
+#: cp/lex.c:1122
+msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr ""
-#: f/lang-options.h:149
-msgid "Compile as if program written in lowercase"
+#: cp/lex.c:1239
+#, fuzzy
+msgid "`::%D' undeclared (first use here)"
+msgstr "\"%s\" odeklarerad (första förekomsten i denna funktionen)"
+
+#: cp/mangle.c:2061
+msgid "real-valued template parameters when cross-compiling"
msgstr ""
-#: f/lang-options.h:151
-msgid "Preserve all spelling (case) used in program"
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
msgstr ""
-#: f/lang-options.h:153
-msgid "Delete libU77 intrinsics with bad interfaces"
+#: cp/method.c:154
+#, fuzzy
+msgid "invalid use of member `%D' in static member function"
+msgstr "destruerare kan inte vara en statisk medlemsfunktion"
+
+#: cp/method.c:216
+msgid "use of namespace `%D' as expression"
msgstr ""
-#: f/lang-options.h:155
-msgid "Disable libU77 intrinsics with bad interfaces"
+#: cp/method.c:221
+msgid "use of class template `%T' as expression"
msgstr ""
-#: f/lang-options.h:158
-msgid "Hide libU77 intrinsics with bad interfaces"
+#: cp/method.c:234
+#, c-format
+msgid "use of %s from containing function"
msgstr ""
-#: f/lang-options.h:160
-msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
+#: cp/method.c:237
+#, fuzzy
+msgid " `%#D' declared here"
+msgstr "\"%s\" är tidigare deklarerad här"
+
+#: cp/method.c:255
+msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr ""
-#: f/lang-options.h:162
-msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
+#: cp/method.c:455
+msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr ""
-#: f/lang-options.h:165
-msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
+#: cp/method.c:694
+msgid "non-static const member `%#D', can't use default assignment operator"
msgstr ""
-#: f/lang-options.h:167
-msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
+#: cp/method.c:699
+msgid "non-static reference member `%#D', can't use default assignment operator"
msgstr ""
-#: f/lang-options.h:169
-msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
+#: parse.y:261
+msgid "`%s' tag used in naming `%#T'"
msgstr ""
-#: f/lang-options.h:172
-msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
+#: parse.y:541
+#, fuzzy
+msgid "keyword `export' not implemented, and will be ignored"
+msgstr "nyckelordet \"export\" är inte implementerat och kommer ignorerads"
+
+#: parse.y:645
+msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr ""
-#: f/lang-options.h:174
-msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
+#: parse.y:942
+msgid "no base or member initializers given following ':'"
msgstr ""
-#: f/lang-options.h:176
-msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
+#: parse.y:983 parse.y:989
+msgid "anachronistic old style base class initializer"
msgstr ""
-#: f/lang-options.h:179
-msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
+#. Handle `Class<Class<Type>>' without space in the `>>'
+#: parse.y:1115
+msgid "`>>' should be `> >' in template class name"
msgstr ""
-#: f/lang-options.h:181
-msgid "Delete MIL-STD 1753 intrinsics"
+#: parse.y:1153
+msgid "use of template qualifier outside template"
msgstr ""
-#: f/lang-options.h:183
-msgid "Disable MIL-STD 1753 intrinsics"
+#: parse.y:1182 parse.y:1191
+#, c-format
+msgid "ISO C++ forbids an empty condition for `%s'"
msgstr ""
-#: f/lang-options.h:186
-msgid "Hide MIL-STD 1753 intrinsics"
+#: parse.y:1214
+#, fuzzy
+msgid "definition of class `%T' in condition"
+msgstr "redefinition av \"%s %s\""
+
+#: parse.y:1216
+#, fuzzy
+msgid "definition of enum `%T' in condition"
+msgstr "omdefiniering av \"%s\""
+
+#: parse.y:1227
+#, fuzzy
+msgid "definition of array `%#D' in condition"
+msgstr "metoddefinition för \"%c%s\" kan inte hittas"
+
+#: parse.y:1340
+msgid "old style placement syntax, use () instead"
msgstr ""
-#: f/lang-options.h:188
-msgid "Delete libU77 intrinsics"
+#: parse.y:1351
+#, fuzzy
+msgid "`%T' is not a valid expression"
+msgstr "\"%s\" är inte ett giltigt filnamn"
+
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1358
+#, fuzzy
+msgid "initialization of new expression with `='"
+msgstr "ISO C++ förbjuder initiering av new-uttryck med \"=\""
+
+#: parse.y:1384
+msgid "ISO C++ forbids compound literals"
msgstr ""
-#: f/lang-options.h:190
-msgid "Disable libU77 intrinsics"
+#: parse.y:1631
+msgid "ISO C++ forbids braced-groups within expressions"
msgstr ""
-#: f/lang-options.h:193
-msgid "Hide libU77 intrinsics"
+#: parse.y:2035 parse.y:2050
+msgid "sigof type specifier"
msgstr ""
-#: f/lang-options.h:195
-msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+#: parse.y:2040
+msgid "`sigof' applied to non-aggregate expression"
msgstr ""
-#: f/lang-options.h:197
-msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+#: parse.y:2055
+msgid "`sigof' applied to non-aggregate type"
msgstr ""
-#: f/lang-options.h:200
-msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+#: parse.y:2321
+msgid "using `typename' outside of template"
msgstr ""
-#: f/lang-options.h:202
-msgid "Treat initial values of 0 like non-zero values"
+#: parse.y:2391
+#, c-format
+msgid "storage class specifier `%s' not allowed after struct or class"
msgstr ""
-#: f/lang-options.h:205
-msgid ""
-"Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+#: parse.y:2393
+#, c-format
+msgid "type specifier `%s' not allowed after struct or class"
msgstr ""
-#: f/lang-options.h:208
-msgid "Take at least one trip through each iterative DO loop"
+#: parse.y:2395
+#, c-format
+msgid "type qualifier `%s' not allowed after struct or class"
msgstr ""
-#: f/lang-options.h:212
-msgid "Print names of program units as they are compiled"
+#: parse.y:2397
+msgid "no body nor ';' separates two class, struct or union declarations"
msgstr ""
-#: f/lang-options.h:215
-msgid "Disable fatal diagnostics about inter-procedural problems"
+#: parse.y:2537
+msgid "no bases given following `:'"
msgstr ""
-#: f/lang-options.h:217
-msgid "Make prefix-radix non-decimal constants be typeless"
+#: parse.y:2568 parse.y:2583
+msgid "`%D' access"
msgstr ""
-#: f/lang-options.h:220
-msgid "Generate code to check subscript and substring bounds"
+#: parse.y:2573
+msgid "multiple access specifiers"
msgstr ""
-#: f/lang-options.h:223
-msgid "Fortran-specific form of -fbounds-check"
+#: parse.y:2591
+msgid "multiple `virtual' specifiers"
msgstr ""
-#: f/lang-options.h:227
-msgid "Disable warnings about inter-procedural problems"
+#: parse.y:2628
+msgid "missing ';' before right brace"
+msgstr "saknar ';' före slutklammer"
+
+#: parse.y:2849
+msgid "ISO C++ forbids array dimensions with parenthesized type in new"
msgstr ""
-#: f/lang-options.h:231
-msgid "Warn about constructs with surprising meanings"
+#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194
+msgid "`%T' is not a class or namespace"
msgstr ""
-#: f/lang-options.h:236
-msgid "Add a directory for INCLUDE searching"
+#: parse.y:3361
+msgid "ISO C++ forbids label declarations"
msgstr ""
-#: f/lang-options.h:238
-msgid "Set the maximum line length"
+#: parse.y:3521
+msgid "ISO C++ forbids computed gotos"
+msgstr "ISO C++ förbjuder beräknade goto"
+
+#: parse.y:3529
+msgid "label must be followed by statement"
msgstr ""
-#: f/lex.c:601
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr "semantiken för \"\\x\" varierar med -traditional"
+#: parse.y:3574
+msgid "must have at least one catch per try block"
+msgstr ""
-#: f/lex.c:646
-msgid "hex escape out of range"
+#: parse.y:3634
+msgid "ISO C++ forbids compound statements inside for initializations"
msgstr ""
-#: f/lex.c:692
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr "semantiken för \"\\a\" varierar med -traditional"
+#. This helps us recover from really nasty
+#. parse errors, for example, a missing right
+#. parenthesis.
+#: parse.y:3721 parse.y:3731
+msgid "possibly missing ')'"
+msgstr "saknas troligen en ')'"
-#: f/lex.c:708
-#, c-format
-msgid "non-ANSI-standard escape sequence, `\\%c'"
+#: parse.y:3824
+msgid "type specifier omitted for parameter"
msgstr ""
-#: f/lex.c:721
+#: parse.y:3833
#, c-format
-msgid "non-ANSI escape sequence `\\%c'"
+msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr ""
-#: f/lex.c:725
-#, c-format
-msgid "unknown escape sequence `\\%c'"
-msgstr "okänd escape-sekvens \"\\%c\""
+#: parse.y:3835
+#, fuzzy
+msgid "no type `%D' in `%T'"
+msgstr "returtypen på \"%s\" är inte \"int\""
-#: f/lex.c:727
-#, c-format
-msgid "unknown escape sequence: `\\' followed by char code 0x%x"
-msgstr "okänd escape-sekvens: '\\' följd av tecken 0x%x"
+#: parse.y:3838
+#, fuzzy, c-format
+msgid "type specifier omitted for parameter `%E'"
+msgstr "lagringsklass angiven för parameter \"%s\""
-#: f/lex.c:806
-msgid "Badly formed directive -- no closing quote"
+#: parse.y:3846
+msgid "'%D' is used as a type, but is not defined as a type."
msgstr ""
-#: f/lex.c:1039
-msgid "Bad directive -- missing close-quote"
+#: cp/pt.c:198
+msgid "data member `%D' cannot be a member template"
msgstr ""
-#: f/lex.c:1156
-#, c-format
-msgid "ignoring pragma: %s"
-msgstr "ignorerar #pragma: %s"
+#: cp/pt.c:210
+#, fuzzy
+msgid "invalid member template declaration `%D'"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: f/lex.c:1369 f/lex.c:1413
-msgid "Use `#line ...' instead of `# ...' in first line"
+#: cp/pt.c:605
+msgid "explicit specialization in non-namespace scope `%D'"
msgstr ""
-#: f/ste.c:1436 f/ste.c:1791
-msgid "ASSIGNed FORMAT specifier is too small"
+#: cp/pt.c:617
+msgid "enclosing class templates are not explicitly specialized"
msgstr ""
-#: f/ste.c:3259
-msgid "ASSIGN to variable that is too small"
+#: cp/pt.c:692
+msgid "specializing `%#T' in different namespace"
msgstr ""
-#: f/ste.c:3297
-msgid "ASSIGNed GOTO target variable is too small"
-msgstr ""
+#: cp/pt.c:693
+#, fuzzy
+msgid " from definition of `%#D'"
+msgstr "omdefiniering av \"%s\""
-#: f/top.c:240
-#, c-format
-msgid "%s no longer supported -- try -fvxt"
-msgstr "%s stödjs inte längre -- försök -fvxt"
+#: cp/pt.c:701
+#, fuzzy
+msgid "specialization of `%T' after instantiation"
+msgstr "deklaration av \"%s\" är \"extern\" och initierad"
-#: f/top.c:242
-#, c-format
-msgid "%s no longer supported -- try -fno-vxt -ff90"
-msgstr "%s stödjs inte längre -- försök -fno-vxt -ff90"
+#: cp/pt.c:704
+#, fuzzy
+msgid "explicit specialization of non-template `%T'"
+msgstr "implicit deklaration av funktion \"%s\""
-#: f/top.c:310 f/top.c:312
-#, c-format
-msgid "%s disabled, use normal debugging flags"
+#: cp/pt.c:836
+msgid "specialization of %D after instantiation"
msgstr ""
-#: final.c:3299
-#, c-format
-msgid "invalid `asm': %s"
-msgstr "ogiltig \"asm\": %s"
+#: cp/pt.c:939
+#, fuzzy
+msgid "%s %+#D"
+msgstr "%s: %s"
-#: final.c:3301
-#, c-format
-msgid "output_operand: %s"
-msgstr ""
+#: cp/pt.c:990
+#, fuzzy
+msgid "`%D' is not a function template"
+msgstr "typkonvertering matchar inte en funktionstyp"
-#: final.c:3439
-#, c-format
-msgid "operand number missing after %-letter"
+#: cp/pt.c:1129
+msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr ""
-#: final.c:3441 final.c:3476
-msgid "operand number out of range"
+#: cp/pt.c:1137
+msgid "ambiguous template specialization `%D' for `%+D'"
msgstr ""
-#: final.c:3490
-#, c-format
-msgid "invalid %%-code"
-msgstr "ogiltig %%-kod"
+#. This case handles bogus declarations like template <>
+#. template <class T> void f<int>();
+#: cp/pt.c:1364 cp/pt.c:1438
+msgid "template-id `%D' in declaration of primary template"
+msgstr ""
-#: final.c:3517
-msgid "`%l' operand isn't a label"
+#: cp/pt.c:1377
+msgid "template parameter list used in explicit instantiation"
msgstr ""
-#: flow.c:554
-msgid "function might be possible candidate for attribute `noreturn'"
-msgstr "funktionen är en möjlig kandidat för attributet \"noreturn\""
+#: cp/pt.c:1383
+msgid "definition provided for explicit instantiation"
+msgstr ""
-#: flow.c:559
-msgid "`noreturn' function does return"
-msgstr "\"noreturn\"-funktion returnerar ändå"
+#: cp/pt.c:1389
+#, fuzzy
+msgid "too many template parameter lists in declaration of `%D'"
+msgstr "flera lagringsklasser i deklaration av \"%s\""
-#: flow.c:580
-msgid "control reaches end of non-void function"
-msgstr "Programflödet når slutet på en icke-void-funktion"
+#: cp/pt.c:1405
+#, fuzzy
+msgid "too few template parameter lists in declaration of `%D'"
+msgstr "två eller fler datatyper i deklaration av \"%s\""
-#: flow.c:6797
-#, c-format
-msgid "End insn %d for block %d not found in the insn stream."
+#: cp/pt.c:1422
+msgid "explicit specialization not preceded by `template <>'"
msgstr ""
-#: flow.c:6811
-#, c-format
-msgid "Insn %d is in multiple basic blocks (%d and %d)"
+#: cp/pt.c:1435
+msgid "partial specialization `%D' of function template"
msgstr ""
-#: flow.c:6822
-#, c-format
-msgid "Head insn %d for block %d not found in the insn stream."
+#: cp/pt.c:1467
+msgid "default argument specified in explicit specialization"
msgstr ""
-#: flow.c:6859 flow.c:6886
-#, c-format
-msgid "Basic block %i edge lists are corrupted"
+#: cp/pt.c:1471
+msgid "template specialization with C linkage"
msgstr ""
-#: flow.c:6871
-#, c-format
-msgid "Basic block %d pred edge is corrupted"
+#. From [temp.expl.spec]:
+#.
+#. If such an explicit specialization for the member
+#. of a class template names an implicitly-declared
+#. special member function (clause _special_), the
+#. program is ill-formed.
+#.
+#. Similar language is found in [temp.explicit].
+#: cp/pt.c:1558
+msgid "specialization of implicitly-declared special member function"
msgstr ""
-#: flow.c:6901
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+#: cp/pt.c:1602
+#, fuzzy
+msgid "no member function `%D' declared in `%T'"
+msgstr "nästlad funktion \"%s\" är deklarerad \"extern\""
+
+#. There are two many template parameter lists.
+#: cp/pt.c:1750
+#, fuzzy
+msgid "too many template parameter lists in declaration of `%T'"
+msgstr "flera lagringsklasser i deklaration av \"%s\""
+
+#: cp/pt.c:1846
+msgid " shadows template parm `%#D'"
msgstr ""
-#: flow.c:6909
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d\n"
+#: cp/pt.c:2250
+msgid "template parameters not used in partial specialization:"
msgstr ""
-#: flow.c:6925
-#, c-format
-msgid "NOTE_INSN_BASIC_BLOCK %d in the middle of basic block %d"
+#: cp/pt.c:2254
+msgid " `%D'"
msgstr ""
-#: flow.c:6937
-#, c-format
-msgid "In basic block %d:"
+#: cp/pt.c:2266
+msgid "partial specialization `%T' does not specialize any template arguments"
msgstr ""
-#: flow.c:6999
+#: cp/pt.c:2291
#, c-format
-msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+msgid "template argument `%E' involves template parameter(s)"
msgstr ""
-#: fold-const.c:3016 fold-const.c:3029
-#, c-format
-msgid "comparison is always %d due to width of bitfield"
+#: cp/pt.c:2335
+msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr ""
-#: fold-const.c:4072 fold-const.c:4089
-#, c-format
-msgid "comparison is always %d"
-msgstr "jämförelsen är alltid %d"
+#: cp/pt.c:2423
+#, fuzzy
+msgid "no default argument for `%D'"
+msgstr "ogiltigt typargument till \"%s\""
-#: fold-const.c:4220
-msgid "`or' of unmatched not-equal tests is always 1"
+#: cp/pt.c:2576
+msgid "template with C linkage"
msgstr ""
-#: fold-const.c:4225
-msgid "`and' of mutually exclusive equal-tests is always 0"
+#: cp/pt.c:2579
+msgid "template class without a name"
msgstr ""
-#: function.c:5401
-#, c-format
-msgid "`%s' might be used uninitialized in this function"
+#: cp/pt.c:2656
+msgid "`%D' does not declare a template type"
msgstr ""
-#: function.c:5408
-#, c-format
-msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
+#: cp/pt.c:2662
+#, fuzzy
+msgid "template definition of non-template `%#D'"
+msgstr "upprepad definition av klassmetod \"%s\"."
+
+#: cp/pt.c:2703
+msgid "expected %d levels of template parms for `%#D', got %d"
msgstr ""
-#: function.c:5427
+#: cp/pt.c:2715
+#, fuzzy
+msgid "got %d template parameters for `%#D'"
+msgstr "flera parametrar med namn \"%s\""
+
+#: cp/pt.c:2718
+#, fuzzy
+msgid "got %d template parameters for `%#T'"
+msgstr "flera parametrar med namn \"%s\""
+
+#: cp/pt.c:2720
#, c-format
-msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
+msgid " but %d required"
msgstr ""
-#: function.c:6227
-msgid "function returns an aggregate"
-msgstr ""
+#: cp/pt.c:2803
+#, fuzzy
+msgid "`%T' is not a template type"
+msgstr "\"%s\" har en inkomplett typ"
-#: function.c:6724
-#, c-format
-msgid "unused parameter `%s'"
+#: cp/pt.c:2819
+#, fuzzy
+msgid "previous declaration `%D'"
+msgstr "tidigare deklaration av \"%s\""
+
+#: cp/pt.c:2820
+#, fuzzy, c-format
+msgid "used %d template parameter%s instead of %d"
+msgstr "flera parametrar med namn \"%s\""
+
+#: cp/pt.c:2836
+#, fuzzy
+msgid "template parameter `%#D'"
msgstr "oanvänd parameter \"%s\""
-#: gcc.c:1002
-#, c-format
-msgid "Ambiguous abbreviation %s"
-msgstr "Tvetydig förkortning %s"
+#: cp/pt.c:2837
+msgid "redeclared here as `%#D'"
+msgstr ""
-#: gcc.c:1029
-#, c-format
-msgid "Incomplete `%s' option"
-msgstr "Inkomplett flagga \"%s\""
+#. We have in [temp.param]:
+#.
+#. A template-parameter may not be given default arguments
+#. by two different declarations in the same scope.
+#: cp/pt.c:2847
+#, fuzzy
+msgid "redefinition of default argument for `%#D'"
+msgstr "omdefiniering av \"%s\""
-#: gcc.c:1040
-#, c-format
-msgid "Missing argument to `%s' option"
-msgstr "Saknar argument till flaggan \"%s\""
+#: cp/pt.c:2848
+#, fuzzy
+msgid " original definition appeared here"
+msgstr "funktionsdefinition deklarerad som \"typedef\""
-#: gcc.c:1053
-#, c-format
-msgid "Extraneous argument to `%s' option"
+#: cp/pt.c:2941
+#, fuzzy, c-format
+msgid "`%E' is not a valid template argument"
+msgstr "ogiltigt typargument"
+
+#: cp/pt.c:2945
+msgid "it must be the address of a function with external linkage"
msgstr ""
-#: gcc.c:1356
-msgid "Using builtin specs.\n"
+#: cp/pt.c:2947
+msgid "it must be the address of an object with external linkage"
msgstr ""
-#: gcc.c:1522
-#, c-format
-msgid ""
-"Setting spec %s to '%s'\n"
-"\n"
+#: cp/pt.c:2951
+msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr ""
-#: gcc.c:1620
+#: cp/pt.c:2962
#, c-format
-msgid "Reading specs from %s\n"
+msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage"
msgstr ""
-#: gcc.c:1718 gcc.c:1737
+#: cp/pt.c:2974
#, c-format
-msgid "specs %%include syntax malformed after %ld characters"
+msgid "address of non-extern `%E' cannot be used as template argument"
msgstr ""
-#: gcc.c:1745
+#: cp/pt.c:2985
+#, fuzzy, c-format
+msgid "non-constant `%E' cannot be used as template argument"
+msgstr "const \"%s\" kan inte deklareras \"mutable\""
+
+#: cp/pt.c:2992
#, c-format
-msgid "Could not find specs file %s\n"
+msgid "object `%E' cannot be used as template argument"
msgstr ""
-#: gcc.c:1761 gcc.c:1769 gcc.c:1778 gcc.c:1787
+#: cp/pt.c:3367
#, c-format
-msgid "specs %%rename syntax malformed after %ld characters"
+msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr ""
-#: gcc.c:1796
-#, c-format
-msgid "specs %s spec was not found to be renamed"
+#: 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 ""
-#: gcc.c:1803
-#, c-format
-msgid "rename spec %s to %s\n"
+#: cp/pt.c:3383
+msgid " expected a constant of type `%T', got `%T'"
msgstr ""
-#: gcc.c:1805
-#, c-format
-msgid ""
-"spec is '%s'\n"
-"\n"
+#: cp/pt.c:3387
+#, fuzzy, c-format
+msgid " expected a type, got `%E'"
+msgstr "Oväntad typ på \"id\" (%s)"
+
+#: cp/pt.c:3399
+#, fuzzy
+msgid " expected a type, got `%T'"
+msgstr "Oväntad typ på \"id\" (%s)"
+
+#: cp/pt.c:3401
+msgid " expected a class template, got `%T'"
msgstr ""
-#: gcc.c:1818
-#, c-format
-msgid "specs unknown %% command after %ld characters"
+#: cp/pt.c:3437
+msgid " expected a template of type `%D', got `%D'"
msgstr ""
-#: gcc.c:1829 gcc.c:1842
-#, c-format
-msgid "specs file malformed after %ld characters"
+#: cp/pt.c:3459
+msgid "template-argument `%T' uses anonymous type"
msgstr ""
-#: gcc.c:1896
-msgid "spec file has no spec for linking"
-msgstr "specfilen har ingen spec för länkning"
+#: cp/pt.c:3462
+msgid "template-argument `%T' uses local type `%T'"
+msgstr ""
-#: gcc.c:2603
-msgid "-pipe not supported"
-msgstr "-pipe stöds inte"
+#: cp/pt.c:3472
+#, fuzzy
+msgid "template-argument `%T' is a variably modified type"
+msgstr "parameter \"%s\" är initierad"
-#: gcc.c:2639
-msgid ""
-"\n"
-"Go ahead? (y or n) "
+#: cp/pt.c:3507
+msgid "could not convert template argument `%E' to `%T'"
msgstr ""
-"\n"
-"Fortsätta? (y eller n) "
-#: gcc.c:2738
+#: cp/pt.c:3551
#, c-format
-msgid ""
-"Internal error: %s (program %s)\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
+msgid "wrong number of template arguments (%d, should be %d)"
msgstr ""
-"Internt fel: %s (program %s)\n"
-"Var vänlig och skicka in en felrapport.\n"
-"Se %s för instruktioner."
-#: gcc.c:2756
-#, c-format
-msgid "# %s %.2f %.2f\n"
-msgstr "# %s %.2f %.2f\n"
-
-#: gcc.c:2885
-#, c-format
-msgid "Usage: %s [options] file...\n"
-msgstr "Användning: %s [flaggor] fil...\n"
+#: cp/pt.c:3555
+#, fuzzy
+msgid "provided for `%D'"
+msgstr "destruerare behövs för \"%#D\""
-#: gcc.c:2886
-msgid "Options:\n"
-msgstr "Flaggor:\n"
+#: cp/pt.c:3602
+#, fuzzy, c-format
+msgid "template argument %d is invalid"
+msgstr "parameter \"%s\" är initierad"
-#: gcc.c:2888
-msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+#: cp/pt.c:3837
+msgid "non-template used as template"
msgstr ""
-" -pass-exit-codes Avsluta med högsta felkoden från någon av "
-"faserna\n"
-#: gcc.c:2889
-msgid " --help Display this information\n"
-msgstr " --help Visa den här informatationen\n"
+#: cp/pt.c:3968
+#, fuzzy
+msgid "`%T' is not a template"
+msgstr "användning ab `%s' i mall"
-#: gcc.c:2890
-msgid ""
-" --target-help Display target specific command line options\n"
+#: cp/pt.c:3981
+msgid "non-template type `%T' used as a template"
msgstr ""
-" --target-help Visa specifika kommandoradsflaggor för mål\n"
-#: gcc.c:2892
-msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+#: cp/pt.c:3983
+#, fuzzy
+msgid "for template declaration `%D'"
+msgstr "tom deklaration"
+
+#: cp/pt.c:4598
+msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
msgstr ""
-" (Använd '-v --help' för att visa kommandoradsflaggor för barnprocesser)\n"
-#: gcc.c:2893
-msgid " -dumpspecs Display all of the built in spec strings\n"
-msgstr " -dumpspecs Visa de inbyggda spec-strängarna\n"
+#: cp/pt.c:5074
+#, fuzzy
+msgid "ambiguous class template instantiation for `%#T'"
+msgstr "Slå på automatisk mallinstansiering"
-#: gcc.c:2894
-msgid " -dumpversion Display the version of the compiler\n"
-msgstr " -dumpversion Visa kompilatorns version\n"
+#: cp/pt.c:5081
+#, fuzzy
+msgid "%s %+#T"
+msgstr "%s: %s"
-#: gcc.c:2895
-msgid " -dumpmachine Display the compiler's target processor\n"
-msgstr " -dumpmachine Visa kompilatorns målprocessor\n"
+#: cp/pt.c:6104 cp/pt.c:6214
+#, fuzzy
+msgid "instantiation of `%D' as type `%T'"
+msgstr "%s: Vid instansiering av \"%s\":\n"
-#: gcc.c:2896
-msgid ""
-" -print-search-dirs Display the directories in the compiler's search "
-"path\n"
-msgstr " -print-search-dirs Visa katalogerna i kompilatorns sökväg\n"
+#: cp/pt.c:6258
+#, fuzzy
+msgid "invalid parameter type `%T'"
+msgstr "ogiltigt parametervärde \"%s\""
-#: gcc.c:2897
-msgid ""
-" -print-libgcc-file-name Display the name of the compiler's companion "
-"library\n"
-msgstr ""
-" -print-libgcc-file-name Visa namnet på kompilatorns medföljande "
-"bibliotek\n"
+#: cp/pt.c:6260
+#, fuzzy
+msgid "in declaration `%D'"
+msgstr "omdeklaration av \"%s\""
-#: gcc.c:2898
-msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+#: cp/pt.c:6335
+msgid "creating pointer to member function of non-class type `%T'"
msgstr ""
-" -print-file-name=<bib> Visa hela sökvägen till länkbibliotek <bib>\n"
-#: gcc.c:2899
-msgid ""
-" -print-prog-name=<prog> Display the full path to compiler component "
-"<prog>\n"
-msgstr ""
-" -print-prog-name=<prog> Visa fulla sökvägen till kompilatorkomponenten "
-"<prog>\n"
+#: cp/pt.c:6498
+msgid "creating array with size zero"
+msgstr "skapar ett fält med storlek noll"
-#: gcc.c:2900
-msgid ""
-" -print-multi-directory Display the root directory for versions of "
-"libgcc\n"
-msgstr ""
-" -print-multi-directory Visa rotkatalogen för olika versioner av libgcc\n"
+#: cp/pt.c:6512
+#, fuzzy, c-format
+msgid "creating array with size zero (`%E')"
+msgstr "skapar ett fält med storlek noll"
-#: gcc.c:2901
-msgid ""
-" -print-multi-lib Display the mapping between command line options "
-"and\n"
-" multiple library search directories\n"
-msgstr ""
-" -print-multi-lib Visa mappningen mellan kommandoradsflaggor och\n"
-" multipla biblioteks sökkataloger\n"
+#: cp/pt.c:6751
+#, fuzzy
+msgid "forming reference to void"
+msgstr "returnerar referens till en temporär"
-#: gcc.c:2904
-msgid ""
-" -Wa,<options> Pass comma-separated <options> on to the "
-"assembler\n"
+#: cp/pt.c:6753
+msgid "forming %s to reference type `%T'"
msgstr ""
-" -Wa,<flaggor> Skicka kommaseparerade <flaggor> till "
-"assembleraren\n"
-#: gcc.c:2905
-msgid ""
-" -Wp,<options> Pass comma-separated <options> on to the "
-"preprocessor\n"
+#: cp/pt.c:6791
+msgid "creating pointer to member of non-class type `%T'"
msgstr ""
-" -Wp,<flaggor> Skicka kommaseparerade <flaggor> till "
-"preprocessorn\n"
-#: gcc.c:2906
-msgid ""
-" -Wl,<options> Pass comma-separated <options> on to the linker\n"
+#: cp/pt.c:6797
+msgid "creating pointer to member reference type `%T'"
msgstr ""
-" -Wl,<flaggor> Skicka kommaseparerade <flaggor> till länkaren\n"
-
-#: gcc.c:2907
-msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
-msgstr " -Xlinker <arg> Skicka <arg> vidare till länkaren\n"
-
-#: gcc.c:2908
-msgid " -save-temps Do not delete intermediate files\n"
-msgstr " -save-temps Radera inte temporära filer\n"
-#: gcc.c:2909
-msgid " -pipe Use pipes rather than intermediate files\n"
-msgstr " -pipe Använd rör istället för temporära filer\n"
+#: cp/pt.c:6875
+#, fuzzy
+msgid "creating array of `%T'"
+msgstr "skapar ett fält med storlek noll"
-#: gcc.c:2910
-msgid " -time Time the execution of each subprocess\n"
+#: cp/pt.c:6918
+msgid "`%T' is not a class, struct, or union type"
msgstr ""
-" -time Mät tiden det tar att exekvera varje barnprocess\n"
-#: gcc.c:2911
-msgid ""
-" -specs=<file> Override builtin specs with the contents of "
-"<file>\n"
-msgstr ""
-" -specs=<fil> Använd innehållet i <fil> istället för inbyggda "
-"spec\n"
+#: cp/pt.c:7028
+#, c-format
+msgid "use of `%s' in template"
+msgstr "användning ab `%s' i mall"
-#: gcc.c:2912
-msgid ""
-" -std=<standard> Assume that the input sources are for <standard>\n"
+#: cp/pt.c:7790
+msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr ""
-" -std=<standard> Antag att källkodsfilerna är för <standard>\n"
-#: gcc.c:2913
-msgid ""
-" -B <directory> Add <directory> to the compiler's search paths\n"
+#: cp/pt.c:7791
+msgid " trying to instantiate `%D'"
msgstr ""
-" -B <katalog> Lägg till <katalog> till kompilatorns sökvägar\n"
-#: gcc.c:2914
-msgid " -b <machine> Run gcc for target <machine>, if installed\n"
-msgstr ""
-" -b <maskin> Kör gcc för mål <maskin>, om det är installerat\n"
+#: cp/pt.c:8230
+msgid "incomplete type unification"
+msgstr "inkomplett typunifiering"
-#: gcc.c:2915
-msgid ""
-" -V <version> Run gcc version number <version>, if installed\n"
+#: cp/pt.c:9178
+#, c-format
+msgid "use of `%s' in template type unification"
msgstr ""
-" -V <version> Kör gcc version <version>, om den är installerad\n"
-#: gcc.c:2916
-msgid ""
-" -v Display the programs invoked by the compiler\n"
+#: cp/pt.c:9596 cp/pt.c:9668
+msgid "explicit instantiation of non-template `%#D'"
msgstr ""
-" -v Visa vilka program som körs av kompilatorn\n"
-#: gcc.c:2917
-msgid ""
-" -E Preprocess only; do not compile, assemble or "
-"link\n"
+#: cp/pt.c:9612 cp/pt.c:9663
+msgid "no matching template for `%D' found"
msgstr ""
-" -E Preprocessa bara; kompilera, assemblera och\n"
-" länka inte\n"
-#: gcc.c:2918
-msgid " -S Compile only; do not assemble or link\n"
-msgstr " -S Kompilera bara; assemblera och länka inte\n"
-
-#: gcc.c:2919
-msgid " -c Compile and assemble, but do not link\n"
-msgstr " -c Kompilera och assemblera, men länka inte\n"
-
-#: gcc.c:2920
-msgid " -o <file> Place the output into <file>\n"
-msgstr " -o <fil> Placera utdata i <fil>\n"
+#: cp/pt.c:9618
+#, fuzzy
+msgid "explicit instantiation of `%#D'"
+msgstr "%s: Vid instansiering av \"%s\":\n"
-#: gcc.c:2921
-msgid ""
-" -x <language> Specify the language of the following input "
-"files\n"
-" Permissable languages include: c c++ assembler "
-"none\n"
-" 'none' means revert to the default behaviour of\n"
-" guessing the language based on the file's "
-"extension\n"
-msgstr ""
-" -x <språk> Specificera språk för de följande "
-"källkodsfilerna\n"
-" Tillåtna språk är bland annat: c c++ assembler "
-"none\n"
-" 'none' innebär att man använder standardmetoden,\n"
-" att man gissar språk beroende på filändelse\n"
+#: cp/pt.c:9655
+#, fuzzy
+msgid "duplicate explicit instantiation of `%#D'"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: gcc.c:2928
-#, c-format
-msgid ""
-"\n"
-"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
-" passed on to the various sub-processes invoked by %s. In order to pass\n"
-" other options on to these processes the -W<letter> options must be used.\n"
+#: cp/pt.c:9680
+msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr ""
-"\n"
-"Flaggor som börjar med -g, -f, -m, -O, -W eller --param skickas automatiskt\n"
-"vidare till de barnprocesser som startas av %s. För att skicka med andra\n"
-"flaggor till dessa processer måste flaggan -W<bokstav> användas.\n"
-#: gcc.c:3295
-msgid "argument to `-Xlinker' is missing"
-msgstr "argument till \"-Xlinker\" saknas"
+#: cp/pt.c:9684 cp/pt.c:9762
+#, fuzzy
+msgid "storage class `%D' applied to template instantiation"
+msgstr "Slå på automatisk mallinstansiering"
-#: gcc.c:3303
-msgid "argument to `-l' is missing"
+#: cp/pt.c:9729
+msgid "explicit instantiation of non-template type `%T'"
msgstr ""
-#: gcc.c:3320
-msgid "argument to `-specs' is missing"
-msgstr "argument till \"-specs\" saknas"
-
-#: gcc.c:3335
-msgid "argument to `-specs=' is missing"
-msgstr "argument till \"-specs=\" saknas"
-
-#: gcc.c:3357
-msgid "argument to `-b' is missing"
-msgstr "argument till \"-b\" saknas"
-
-#: gcc.c:3370
-msgid "argument to `-B' is missing"
-msgstr "argument till \"-B\" saknas"
+#: cp/pt.c:9743
+msgid "explicit instantiation of `%#T' before definition of template"
+msgstr ""
-#: gcc.c:3421
-msgid "argument to `-V' is missing"
-msgstr "argument till \"-V\" saknas"
+#: cp/pt.c:9751
+#, c-format
+msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
+msgstr ""
-#: gcc.c:3442 gcc.c:3449 gcc.c:3456
-msgid "invalid version number format"
-msgstr "ogiltigt format på versionsnummer"
+#: cp/pt.c:9795
+#, fuzzy
+msgid "duplicate explicit instantiation of `%#T'"
+msgstr "dubbel deklaration av etikett \"%s\""
-#: gcc.c:3567
-msgid "cannot specify -o with -c or -S and multiple compilations"
+#: cp/pt.c:10177
+msgid "explicit instantiation of `%D' but no definition available"
msgstr ""
-#: gcc.c:3769
-msgid "Warning: -pipe ignored because -save-temps specified"
-msgstr "Varning: -pipe ignorerad eftersom -save-temps angiven"
-
-#: gcc.c:3773
-msgid "Warning: -pipe ignored because -time specified"
-msgstr "Varning: -pipe ignorerad eftersom -time angiven"
+#: cp/pt.c:10551
+msgid "`%#T' is not a valid type for a template constant parameter"
+msgstr ""
-#: gcc.c:3783
-msgid "argument to `-x' is missing"
-msgstr "argument till \"-x\" saknas"
+#: cp/repo.c:271
+msgid "-frepo must be used with -c"
+msgstr "-frepo måste användas tillsammans med -c"
-#: gcc.c:3811
+#: cp/repo.c:361
#, c-format
-msgid "argument to `-%s' is missing"
-msgstr "argument till \"-%s\" saknas"
+msgid "mysterious repository information in %s"
+msgstr ""
-#: gcc.c:3874
+#: cp/repo.c:376
#, c-format
-msgid "Warning: `-x %s' after last input file has no effect"
+msgid "can't create repository information file `%s'"
msgstr ""
-#: gcc.c:4079
-msgid "Invalid specification! Bug in cc."
-msgstr ""
+#: cp/rtti.c:240
+msgid "cannot use typeid with -fno-rtti"
+msgstr "kan inte använda typeid med -fno-rtti"
-#: gcc.c:4228
-#, c-format
-msgid "%s\n"
-msgstr "%s\n"
+#: cp/rtti.c:246
+msgid "must #include <typeinfo> before using typeid"
+msgstr "måste ha#include <typeinfo> för användande av typeid"
-#. 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:4745
-#, c-format
-msgid "Spec failure: '%%*' has not been initialised by pattern match"
+#: cp/rtti.c:320
+msgid "cannot create type information for type `%T' because its size is variable"
msgstr ""
-#: gcc.c:4754
-#, c-format
-msgid "Warning: use of obsolete %%[ operator in specs"
+#: cp/rtti.c:585 cp/rtti.c:599
+msgid "dynamic_cast of `%#D' to `%#T' can never succeed"
msgstr ""
-#: gcc.c:4772
-#, c-format
-msgid "Processing spec %c%s%c, which is '%s'\n"
+#: cp/rtti.c:675
+msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
msgstr ""
-#: gcc.c:4897
-#, c-format
-msgid "Spec failure: Unrecognised spec option '%c'"
+#: cp/search.c:348
+msgid "`%T' is an inaccessible base of `%T'"
msgstr ""
-#: gcc.c:5751
-#, c-format
-msgid "unrecognized option `-%s'"
-msgstr "ej igenkänd flagga `-%s'"
-
-#: gcc.c:5757
-#, c-format
-msgid "install: %s%s\n"
+#: cp/search.c:358
+msgid "`%T' is an ambiguous base of `%T'"
msgstr ""
-#: gcc.c:5758
-#, c-format
-msgid "programs: %s\n"
-msgstr "program: %s\n"
+#: cp/search.c:1925
+msgid "adjusting pointers for covariant returns"
+msgstr ""
-#: gcc.c:5759
-#, c-format
-msgid "libraries: %s\n"
-msgstr "bibliotek: %s\n"
+#: cp/search.c:1929 cp/search.c:1936
+#, fuzzy
+msgid "invalid covariant return type for `%#D'"
+msgstr "ogiltig mottagartyp \"%s\""
-#: gcc.c:5807
-msgid ""
-"\n"
-"For bug reporting instructions, please see:\n"
+#: cp/search.c:1930
+msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr ""
-"\n"
-"Instruktioner för bugrapportering, se:\n"
-#: gcc.c:5823
-#, c-format
-msgid "Configured with: %s\n"
+#: cp/search.c:1937
+msgid " overriding `%#D' (must use pointer or reference)"
msgstr ""
-#: gcc.c:5837
-#, c-format
-msgid "Thread model: %s\n"
+#: cp/search.c:1942
+#, fuzzy
+msgid "conflicting return type specified for `%#D'"
+msgstr "motstridiga typer på \"%s\""
+
+#: cp/search.c:1943
+msgid " overriding `%#D'"
msgstr ""
-#: gcc.c:5848
-#, c-format
-msgid "gcc version %s\n"
-msgstr "gcc version %s\n"
+#: cp/search.c:1952
+#, fuzzy, c-format
+msgid "looser throw specifier for `%#F'"
+msgstr "long eller short angiven med char för \"%s\""
-#: gcc.c:5850
+#: cp/search.c:1953
#, c-format
-msgid "gcc driver version %s executing gcc version %s\n"
+msgid " overriding `%#F'"
msgstr ""
-#: gcc.c:5858
-msgid "No input files"
-msgstr "Inga indatafiler"
+#. A static member function cannot match an inherited
+#. virtual member function.
+#: cp/search.c:2042
+#, fuzzy
+msgid "`%#D' cannot be declared"
+msgstr "const \"%s\" kan inte deklareras \"mutable\""
-#: gcc.c:5895
-#, c-format
-msgid "%s: %s compiler not installed on this system"
-msgstr "%s: kompilatorn %s är inte installerad på detta system"
+#: cp/search.c:2043
+msgid " since `%#D' declared in base class"
+msgstr ""
-#: gcc.c:5965
-#, c-format
-msgid "%s: linker input file unused because linking not done"
+#: cp/search.c:2184
+msgid "`%#D' needs a final overrider"
msgstr ""
-#: gcc.c:6008
-#, c-format
-msgid "language %s not recognized"
-msgstr "språk %s känns inte igen"
+#: cp/semantics.c:919
+#, fuzzy, c-format
+msgid "type of asm operand `%E' could not be determined"
+msgstr "typen på parameter \"%s\" är inte deklarerad"
-#: gcc.c:6111
-msgid "Internal gcc abort."
-msgstr "Intern gcc-halt (abort)."
+#: cp/semantics.c:1051
+msgid "ISO C++ does not permit named return values"
+msgstr ""
-#: gcov.c:299
-msgid "Internal gcov abort.\n"
+#: cp/semantics.c:1060
+msgid "return identifier `%D' already in place"
msgstr ""
-#: gcov.c:308
-msgid "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file\n"
-msgstr "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJKAT] fil\n"
+#: cp/semantics.c:1068
+msgid "can't redefine default return value for constructors"
+msgstr ""
-#: gcov.c:428
-#, c-format
-msgid "Could not open basic block file %s.\n"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
msgstr ""
-#: gcov.c:437
-#, c-format
-msgid "Could not open data file %s.\n"
-msgstr "Kunde inte öppna datafil %s.\n"
+#: cp/semantics.c:1342
+msgid "`this' is unavailable for static member functions"
+msgstr ""
-#: gcov.c:438
-msgid "Assuming that all execution counts are zero.\n"
+#: cp/semantics.c:1348
+msgid "invalid use of `this' in non-member function"
msgstr ""
-#: gcov.c:444
-#, c-format
-msgid "Could not open program flow graph file %s.\n"
+#: cp/semantics.c:1350
+msgid "invalid use of `this' at top level"
msgstr ""
-#: gcov.c:455
-#, c-format
-msgid "No executable code associated with file %s.\n"
+#: cp/semantics.c:1380
+msgid "calling type `%T' like a method"
msgstr ""
-#: gcov.c:754 profile.c:977
-msgid ".da file contents exhausted too early\n"
+#: cp/semantics.c:1418
+msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr ""
-#: gcov.c:757 profile.c:980
-msgid ".da file contents not exhausted\n"
+#: cp/semantics.c:1424
+#, fuzzy
+msgid "`%E' is not of type `%T'"
+msgstr "\"%s\" svarar inte på \"%s\""
+
+#: cp/semantics.c:1612
+msgid "template type parameters must use the keyword `class' or `typename'"
msgstr ""
-#: gcov.c:938
-#, c-format
-msgid "%6.2f%% of %d source lines executed in function %s\n"
-msgstr "%6.2f%% av %d källkodsrader körda i funktion %s\n"
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr ""
-#: gcov.c:942
-#, c-format
-msgid "No executable source lines in function %s\n"
-msgstr "Inga körbara källkodsrader i funktion %s\n"
+#: cp/semantics.c:1693
+#, fuzzy
+msgid "definition of `%#T' inside template parameter list"
+msgstr "deklaration av \"%s\" döljer symbol från parameterlista"
-#: gcov.c:949
-#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
-msgstr "%6.2f%% av %d hopp utförda i funktion %s\n"
+#: cp/semantics.c:1709
+#, fuzzy
+msgid "invalid definition of qualified type `%T'"
+msgstr "ogiltig operation på oinstansierad typ"
-#: gcov.c:953
-#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
-msgstr "%6.2f%% av %d hopp tagna minst en gång i funktion %s\n"
+#: cp/semantics.c:2051
+#, fuzzy
+msgid "invalid base-class specification"
+msgstr "ogiltig lagringsklass för funktion \"%s\""
-#: gcov.c:958
-#, c-format
-msgid "No branches in function %s\n"
-msgstr "Inga hopp i funktionen %s\n"
+#: cp/semantics.c:2060
+msgid "base class `%T' has cv qualifiers"
+msgstr ""
-#: gcov.c:960
-#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
-msgstr "%6.2f%% av %d anrop tagna i funktion %s\n"
+#: cp/semantics.c:2091
+#, fuzzy
+msgid "multiple declarators in template declaration"
+msgstr "flera lagringsklasser i deklaration av \"%s\""
-#: gcov.c:964
+#: cp/spew.c:225
#, c-format
-msgid "No calls in function %s\n"
-msgstr "Inga anrop i funktion %s\n"
+msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+msgstr ""
-#: gcov.c:1096
-#, c-format
-msgid "didn't use all bb entries of graph, function %s\n"
+#: cp/spew.c:1002 cp/spew.c:1336
+msgid "parse error at end of saved function text"
msgstr ""
-#: gcov.c:1098
-#, c-format
-msgid "block_num = %ld, num_blocks = %d\n"
+#: cp/spew.c:1090 cp/spew.c:1178
+msgid "%Hend of file read inside definition"
msgstr ""
-#: gcov.c:1136
-#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
+#: cp/spew.c:1121
+msgid "parse error in method specification"
msgstr ""
-#: gcov.c:1213
-#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
-msgstr "%6.2f%% av %d källkodsrader körda i fil %s\n"
+#: cp/spew.c:1161
+msgid "function body for constructor missing"
+msgstr "funktionskroppen för konstrueraren saknas"
-#: gcov.c:1217
-#, c-format
-msgid "No executable source lines in file %s\n"
+#: cp/spew.c:1258
+msgid "%Hend of file read inside default argument"
msgstr ""
-#: gcov.c:1224
-#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
+#: cp/spew.c:1415
+msgid "circular dependency in default args of `%#D'"
msgstr ""
-#: gcov.c:1228
-#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
-msgstr ""
+#: cp/spew.c:1479
+#, fuzzy
+msgid "invalid type `%T' for default argument to `%T'"
+msgstr "ogiltigt typargument till \"%s\""
-#: gcov.c:1233
+#: cp/spew.c:1539
#, c-format
-msgid "No branches in file %s\n"
-msgstr "Inga hopp i fil %s\n"
+msgid "%s before `%s'"
+msgstr "%s före \"%s\""
-#: gcov.c:1235
+#: cp/spew.c:1541
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
-msgstr ""
+msgid "%s before `%c'"
+msgstr "%s före \"%c\""
-#: gcov.c:1239
+#: cp/spew.c:1543
#, c-format
-msgid "No calls in file %s\n"
-msgstr "Inga anrop i fil %s\n"
+msgid "%s before `\\%o'"
+msgstr "%s före \"\\%o\""
-#: gcov.c:1251
+#: cp/spew.c:1546
#, c-format
-msgid "Could not open source file %s.\n"
-msgstr "Kunde inte öppna källkodsfil %s.\n"
+msgid "%s before `%s' token"
+msgstr "%s före symbolen \"%s\""
-#: gcov.c:1301
+#: cp/tree.c:251 cp/tree.c:263
#, c-format
-msgid "Could not open output file %s.\n"
-msgstr "Kunde inte öppna utdatafil %s.\n"
+msgid "non-lvalue in %s"
+msgstr "icke-lvalue i %s"
-#: gcov.c:1309
-#, c-format
-msgid "Creating %s.\n"
-msgstr "Skapar %s.\n"
+#: cp/tree.c:635
+#, fuzzy
+msgid "`%V' qualifiers cannot be applied to `%T'"
+msgstr "\"%s\" svarar inte på \"%s\""
-#: gcov.c:1353
-#, c-format
-msgid "call %d never executed\n"
-msgstr "anrop %d aldrig utfört\n"
+#: cp/tree.c:2012
+#, fuzzy, c-format
+msgid "`%s' attribute can only be applied to Java class definitions"
+msgstr "attributet \"%s\" fungerar bara på funktioner"
-#: gcov.c:1358
-#, c-format
-msgid "call %d returns = %d\n"
-msgstr ""
+#: cp/tree.c:2042
+#, fuzzy, c-format
+msgid "`%s' attribute can only be applied to class definitions"
+msgstr "attributet \"%s\" fungerar bara på funktioner"
-#: gcov.c:1362
+#: cp/tree.c:2048
#, c-format
-msgid "call %d returns = %d%%\n"
+msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr ""
-#: gcov.c:1370
-#, c-format
-msgid "branch %d never executed\n"
+#: cp/tree.c:2073
+msgid "requested init_priority is not an integer constant"
msgstr ""
-#: gcov.c:1376
+#: cp/tree.c:2094
#, c-format
-msgid "branch %d taken = %d\n"
+msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
msgstr ""
-#: gcov.c:1380
-#, c-format
-msgid "branch %d taken = %d%%\n"
+#: cp/tree.c:2102
+msgid "requested init_priority is out of range"
msgstr ""
-#: gcov.c:1394
-#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
+#: cp/tree.c:2112
+msgid "requested init_priority is reserved for internal use"
msgstr ""
-#: gcse.c:766
-#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr ""
+#: cp/tree.c:2122
+#, fuzzy, c-format
+msgid "`%s' attribute is not supported on this platform"
+msgstr "attributet \"section\" stöds inte för denna målarkitektur"
-#: gcse.c:778
+#: cp/tree.c:2659
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
+msgid "lang_* check: failed in %s, at %s:%d"
msgstr ""
-#: haifa-sched.c:193
+#: cp/typeck.c:524
#, c-format
-msgid "fix_sched_param: unknown param: %s"
-msgstr "fix_sched_param: okänd param: %s"
-
-#: integrate.c:142
-msgid "function cannot be inline"
-msgstr "funktion \"%s\" kan inte deklareras som \"mutable\""
-
-#: integrate.c:147
-msgid "varargs function cannot be inline"
+msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
msgstr ""
-#: integrate.c:150
-msgid "function using alloca cannot be inline"
+#: cp/typeck.c:545
+msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
msgstr ""
-#: integrate.c:153
-msgid "function using setjmp cannot be inline"
+#: cp/typeck.c:1438
+msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
msgstr ""
-#: integrate.c:156
-msgid "function uses __builtin_eh_return"
-msgstr "funktion använder __builtin_eh_return"
+#: cp/typeck.c:1516
+#, fuzzy, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr "destruerare kan inte vara en statisk medlemsfunktion"
-#: integrate.c:159
-msgid "function with nested functions cannot be inline"
-msgstr ""
+#: cp/typeck.c:1522
+#, fuzzy, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "\"sizeof\" applicerat på ett bitfält"
-#: integrate.c:163
-msgid "function with label addresses used in initializers cannot inline"
-msgstr ""
+#: cp/typeck.c:1540
+msgid "sizeof applied to a bit-field"
+msgstr "sizeof applicerat på ett bit-fält"
-#: integrate.c:170 integrate.c:214
-msgid "function too large to be inline"
-msgstr ""
+#: cp/typeck.c:1543
+msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
+msgstr "ISO C++ förbjuder användning av \"sizeof\" på ett uttryck av funktionstyp"
-#: integrate.c:180
-msgid "no prototype, and parameter address used; cannot be inline"
+#: cp/typeck.c:1655
+msgid "invalid use of non-lvalue array"
msgstr ""
-#: integrate.c:187 integrate.c:232
-msgid "inline functions not supported for this return value type"
+#: cp/typeck.c:1761
+msgid "deprecated conversion from string constant to `%T'"
msgstr ""
-#: integrate.c:192
-msgid "function with varying-size return value cannot be inline"
+#: cp/typeck.c:1892 cp/typeck.c:2115
+msgid "request for member `%D' in `%E', which is of non-class type `%T'"
msgstr ""
-#: integrate.c:199
-msgid "function with varying-size parameter cannot be inline"
-msgstr ""
+#: cp/typeck.c:1918
+#, fuzzy
+msgid "`%D' is not a member of `%T'"
+msgstr "%s har ingen medlem med namn \"%s\""
-#: integrate.c:202
-msgid "function with transparent unit parameter cannot be inline"
+#: cp/typeck.c:1958 cp/typeck.c:1979
+#, fuzzy
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "ogiltigt användande av \"restrict\""
+
+#: cp/typeck.c:1960 cp/typeck.c:1981
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
msgstr ""
-#: integrate.c:221
-msgid "function with computed jump cannot inline"
+#: cp/typeck.c:2161
+#, fuzzy
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "%s har ingen medlem med namn \"%s\""
+
+#: cp/typeck.c:2187
+msgid "destructor specifier `%T::~%T' must have matching names"
msgstr ""
-#: integrate.c:225
-msgid "function with nonlocal goto cannot be inline"
+#: cp/typeck.c:2193
+msgid "type `%T' has no destructor"
msgstr ""
-#: integrate.c:240
-msgid "function with target specific attribute(s) cannot be inlined"
+#: cp/typeck.c:2232
+#, fuzzy
+msgid "`%D' is not a member template function"
+msgstr "\"%s\" är vanligtvis en funktion"
+
+#. A pointer to incomplete type (other than cv void) can be
+#. dereferenced [expr.unary.op]/1
+#: cp/typeck.c:2326
+msgid "`%T' is not a pointer-to-object type"
msgstr ""
-#: java/check-init.c:731
+#: cp/typeck.c:2353
#, c-format
-msgid "internal error in check-init: tree code not implemented: %s"
+msgid "invalid use of `%s' on pointer to member"
msgstr ""
-#: java/class.c:543 java/class.c:568
-msgid "internal error - too many interface type"
-msgstr ""
+#: cp/typeck.c:2359
+msgid "invalid type argument"
+msgstr "ogiltigt typargument"
-#: java/class.c:702
-msgid "bad method signature"
+#: cp/typeck.c:2462
+msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr ""
-#: java/class.c:747
-msgid "misplaced ConstantValue attribute (not in any field)"
+#: cp/typeck.c:2473
+msgid "subscripting array declared `register'"
msgstr ""
-#: java/class.c:749
-#, c-format
-msgid "duplicate ConstanValue atribute for field '%s'"
-msgstr ""
+#: cp/typeck.c:2558
+#, fuzzy, c-format
+msgid "object missing in use of `%E'"
+msgstr "fältstorlek saknas i \"%s\""
+
+#: cp/typeck.c:2663
+msgid "ISO C++ forbids calling `::main' from within program"
+msgstr "ISO C++ förbjuder anrop av \"::main\" inifrån programmet"
-#: java/class.c:995
+#: cp/typeck.c:2688
#, c-format
-msgid "field '%s' not found in class"
+msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr ""
-#: java/class.c:1203
-msgid "abstract method in non-abstract class"
+#: cp/typeck.c:2701
+#, fuzzy, c-format
+msgid "`%E' cannot be used as a function"
+msgstr "fält \"%s\" deklarerad som en funktion"
+
+#: cp/typeck.c:2826
+#, fuzzy
+msgid "too many arguments to %s `%+#D'"
+msgstr "för många argument till funktionen \"%s\""
+
+#: cp/typeck.c:2867
+msgid "parameter type of called function is incomplete"
msgstr ""
-#: java/class.c:1821
-#, c-format
-msgid "non-static method '%s' overrides static method"
+#: cp/typeck.c:2930
+#, fuzzy
+msgid "too few arguments to %s `%+#D'"
+msgstr "för få argument till funktionen \"%s\""
+
+#: cp/typeck.c:3058 cp/typeck.c:3068
+msgid "assuming cast to type `%T' from overloaded function"
msgstr ""
-#: java/decl.c:1472
+#: cp/typeck.c:3128
#, c-format
-msgid "In %s: overlapped variable and exception ranges at %d"
+msgid "division by zero in `%E / 0'"
msgstr ""
-#: java/decl.c:1560
-msgid "bad type in parameter debug info"
+#: cp/typeck.c:3130
+#, c-format
+msgid "division by zero in `%E / 0.'"
msgstr ""
-#: java/decl.c:1570
+#: cp/typeck.c:3160
#, c-format
-msgid "bad PC range for debug info for local `%s'"
+msgid "division by zero in `%E %% 0'"
msgstr ""
-#: java/expr.c:546
-msgid "stack underflow - dup* operation"
+#: cp/typeck.c:3162
+#, c-format
+msgid "division by zero in `%E %% 0.'"
msgstr ""
-#: java/expr.c:1448
+#: cp/typeck.c:3242
#, c-format
-msgid ""
-"reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
+msgid "%s rotate count is negative"
msgstr ""
-#: java/expr.c:1477
+#: cp/typeck.c:3245
#, c-format
-msgid "field `%s' not found"
+msgid "%s rotate count >= width of type"
msgstr ""
-#: java/expr.c:1628
-msgid "ret instruction not implemented"
+#: 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 "ISO C++ förbjuder jämförelse mellan pekare och heltal"
+
+#: cp/typeck.c:3555
+#, fuzzy
+msgid "comparison between types `%#T' and `%#T'"
+msgstr "jämförelse mellan pekare och heltal"
+
+#: cp/typeck.c:3591
+msgid "comparison between signed and unsigned integer expressions"
msgstr ""
-#: java/expr.c:1754
-#, c-format
-msgid "method '%s' not found in class"
-msgstr "metod \"%s\" kan inte hittas i klassen"
+#: cp/typeck.c:3656
+#, fuzzy
+msgid "invalid operands of types `%T' and `%T' to binary `%O'"
+msgstr "ogiltiga operander till binär %s"
-#: java/expr.c:1890
-#, c-format
-msgid "failed to find class '%s'"
-msgstr "kunde inte hitta klassen \"%s\""
+#. Some sort of arithmetic operation involving NULL was
+#. 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:3678
+#, fuzzy
+msgid "NULL used in arithmetic"
+msgstr "pekare till funktion använd med aritmetik"
-#: java/expr.c:1902
-#, c-format
-msgid "Class '%s' has no method named '%s' matching signature '%s'"
+#: cp/typeck.c:3745
+msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr ""
-#: java/expr.c:1912
-msgid "invokestatic on non static method"
+#: cp/typeck.c:3747
+msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr ""
-#: java/expr.c:1917
-msgid "invokestatic on abstract method"
+#: cp/typeck.c:3749
+msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr ""
-#: java/expr.c:1925
-msgid "invoke[non-static] on static method"
+#: cp/typeck.c:3751
+msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr ""
-#: java/expr.c:2202
-#, c-format
-msgid "Missing field '%s' in '%s'"
+#: cp/typeck.c:3763
+msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr ""
-#: java/expr.c:2208
+#: cp/typeck.c:3823
#, c-format
-msgid "Mismatching signature for field '%s' in '%s'"
+msgid "invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id."
msgstr ""
-#: java/expr.c:2247
+#: cp/typeck.c:3829
#, c-format
-msgid "assignment to final field `%s' not in field's class"
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
msgstr ""
-#: java/expr.c:2252
-#, c-format
-msgid "assignment to final static field `%s' not in class initializer"
-msgstr ""
+#: cp/typeck.c:3852
+msgid "taking address of temporary"
+msgstr "tar adress till något temporärt"
-#: java/expr.c:2259
+#: cp/typeck.c:4055
#, c-format
-msgid "assignment to final field `%s' not in constructor"
+msgid "ISO C++ forbids %sing an enum"
msgstr ""
-# fixme: spola tillbaka är inte perfekt
-#: java/expr.c:2514
-#, c-format
-msgid "Can't expand %s"
-msgstr ""
+#: cp/typeck.c:4067
+#, fuzzy
+msgid "cannot %s a pointer to incomplete type `%T'"
+msgstr "parameter \"%s\" pekar på inkomplett typ"
-#: java/expr.c:2690
-msgid "invalid PC in line number table"
-msgstr ""
+#: cp/typeck.c:4074
+#, fuzzy
+msgid "ISO C++ forbids %sing a pointer of type `%T'"
+msgstr "ISO C++ förbjuder användning av pekare av typ \"void *\" i pekararitmetik"
-#. We've just reached the end of a region of dead code.
-#: java/expr.c:2735
-#, c-format
-msgid "Unreachable bytecode from %d to before %d."
+#: cp/typeck.c:4099
+msgid "cast to non-reference type used as lvalue"
msgstr ""
-#. We've just reached the end of a region of dead code.
-#: java/expr.c:2772
-#, c-format
-msgid "Unreachable bytecode from %d to the end of the method."
+#: cp/typeck.c:4133
+msgid "invalid use of `--' on bool variable `%D'"
msgstr ""
-#. duplicate code from LOAD macro
-#: java/expr.c:3091
-msgid "unrecogized wide sub-instruction"
-msgstr ""
+#. ARM $3.4
+#: cp/typeck.c:4166
+msgid "ISO C++ forbids taking address of function `::main'"
+msgstr "ISO C++ förbjuder att man tar adressen till funktionen \"::main\""
-#: java/jcf-io.c:416
-#, c-format
-msgid ""
-"Source file for class `%s' is newer than its matching class file. Source "
-"file used instead"
+#. An expression like &memfn.
+#: 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 ""
-#: java/jcf-parse.c:375
-msgid "bad string constant"
+#: cp/typeck.c:4235
+#, fuzzy
+msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say `&%T::%D'"
+msgstr "ISO C++ förbjuder användning av pekare till medlemsfunktion i pekararitmetik"
+
+#: cp/typeck.c:4259
+msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
msgstr ""
-#: java/jcf-parse.c:431
-#, c-format
-msgid "bad value constant type %d, index %d"
+#: cp/typeck.c:4290
+#, fuzzy
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "kan inte ta adressen till bitfält \"%s\""
+
+#: cp/typeck.c:4418
+#, fuzzy
+msgid "taking address of destructor"
+msgstr "tar adress till något temporärt"
+
+#: cp/typeck.c:4431
+msgid "taking address of bound pointer-to-member expression"
msgstr ""
-#: java/jcf-parse.c:663
-#, c-format
-msgid "Cannot find file for class %s."
-msgstr "Kan inte hitta filen med klass %s."
+#: cp/typeck.c:4447
+#, fuzzy
+msgid "cannot create pointer to reference member `%D'"
+msgstr "kan inte deklarera pekare till referenser"
-#: java/jcf-parse.c:675
-msgid "not a valid Java .class file"
+#: cp/typeck.c:4510
+msgid "cannot take the address of `this', which is an rvalue expression"
+msgstr "Kan inte ta adressen till \"this\", som är ett rvalue-uttryck"
+
+#: cp/typeck.c:4529
+msgid "address requested for `%D', which is declared `register'"
msgstr ""
-#: java/jcf-parse.c:678
-msgid "error while parsing constant pool"
+#: cp/typeck.c:4750
+msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr ""
-#: java/jcf-parse.c:681
-#, c-format
-msgid "error in constant pool entry #%d\n"
+#: cp/typeck.c:4758
+msgid "invalid static_cast from type `%T' to type `%T'"
msgstr ""
-#. FIXME - where was first time
-#: java/jcf-parse.c:693
-#, c-format
-msgid "reading class %s for the second time from %s"
+#: cp/typeck.c:4797
+msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr ""
-#: java/jcf-parse.c:711
-msgid "error while parsing fields"
+#: cp/typeck.c:4817
+msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr ""
-#: java/jcf-parse.c:714
-msgid "error while parsing methods"
+#: cp/typeck.c:4830
+msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr ""
-#: java/jcf-parse.c:717
-msgid "error while parsing final attributes"
+#: cp/typeck.c:4839
+msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr ""
-#: java/jcf-parse.c:731
-#, c-format
-msgid ""
-"The `java.lang.Object' that was found in `%s' didn't have the special zero-"
-"length `gnu.gcj.gcj-compiled' attribute. This generally means that your "
-"classpath is incorrect set. Use `info gcj \"Input Options\"' to see the info "
-"page describing how to set the classpath."
+#: cp/typeck.c:4845
+msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr ""
-#: java/jcf-parse.c:804
-msgid "missing Code attribute"
+#: 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 ""
-#: java/jcf-parse.c:948 toplev.c:2478
-#, c-format
-msgid "error closing %s"
-msgstr "fel vid stängning av %s"
+#: cp/typeck.c:4875
+msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
+msgstr ""
-#: java/jcf-parse.c:1029
-msgid "source file seen twice on command line and will be compiled only once."
+#: cp/typeck.c:4898
+msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr ""
-#: java/jcf-parse.c:1045
-msgid "no input file specified"
+#: cp/typeck.c:4914
+msgid "invalid const_cast from type `%T' to type `%T'"
msgstr ""
-#: java/jcf-parse.c:1061
-#, c-format
-msgid "can't close input file %s"
+#: cp/typeck.c:4956 cp/typeck.c:4961
+#, fuzzy
+msgid "ISO C++ forbids casting to an array type `%T'"
+msgstr "ISO C förbjuder typkonvertering till unionstyper"
+
+#: cp/typeck.c:4969
+#, fuzzy
+msgid "invalid cast to function type `%T'"
+msgstr "ogiltig lagringsklass för funktion \"%s\""
+
+#: cp/typeck.c:5021
+msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr ""
-#: java/jcf-parse.c:1075
-#, c-format
-msgid "Premature end of input file %s"
+#: cp/typeck.c:5067
+msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr ""
-#: java/jcf-parse.c:1098
-#, c-format
-msgid "bad zip/jar file %s"
+#: cp/typeck.c:5235
+msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr ""
-#: java/jcf-write.c:2597
-#, c-format
-msgid ""
-"internal error in generate_bytecode_insn - tree code not implemented: %s"
+#: cp/typeck.c:5277
+msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr ""
-#: java/jcf-write.c:3307
-#, c-format
-msgid "can't create directory %s"
-msgstr "kan inte skapa katalog %s"
+#: cp/typeck.c:5349
+#, fuzzy
+msgid "incompatible types in assignment of `%T' to `%T'"
+msgstr "inkompatibla typer i %s"
-#: java/jcf-write.c:3334
-#, c-format
-msgid "can't to open %s"
-msgstr "kan inte öppna %s"
+#: cp/typeck.c:5356
+msgid "ISO C++ forbids assignment of arrays"
+msgstr "ISO C++ förbjuder tilldelning av fält"
-#: java/jv-scan.c:183
-msgid "Only one of `--print-main', `--list-class', and `--complexity' allowed"
+#: cp/typeck.c:5499
+msgid " in pointer to member function conversion"
msgstr ""
-#: java/jv-scan.c:186
-#, c-format
-msgid "Can't open output file `%s'"
-msgstr "Kan inte öppna utdatafil \"%s\""
-
-#: java/jv-scan.c:222
-#, c-format
-msgid "File not found `%s'"
-msgstr "Kan inte hitta filen \"%s\""
+#: cp/typeck.c:5507
+msgid " in pointer to member conversion"
+msgstr ""
-#: java/jvspec.c:361
-msgid "can't specify `-D' without `--main'\n"
+#. This is a reinterpret cast, we choose to do nothing.
+#: cp/typeck.c:5518 cp/typeck.c:5537
+msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr ""
-#: java/jvspec.c:369
-msgid "Warning: already-compiled .class files ignored with -C"
+#: cp/typeck.c:5541
+msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr ""
-#: java/jvspec.c:376
-msgid "cannot specify both -C and -o"
-msgstr "kan inte ange både -C och -o"
+#: cp/typeck.c:5611
+#, fuzzy
+msgid "invalid conversion to type `%T' from type `%T'"
+msgstr "ogiltig mottagartyp \"%s\""
-#: java/jvspec.c:388
-msgid "cannot create temporary file"
+#: cp/typeck.c:5776
+msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr ""
-#: java/jvspec.c:416
-msgid "using both @FILE with multiple files not implemented"
+#: cp/typeck.c:5779
+msgid "%s to non-pointer type `%T' from NULL"
msgstr ""
-#: java/jvspec.c:457
-msgid "cannot specify `main' class when not linking"
+#: cp/typeck.c:5787
+msgid "passing `%T' for %s %P of `%D'"
msgstr ""
-#: java/lang-options.h:32
-msgid "Disable automatic array bounds checking"
+#: cp/typeck.c:5790
+msgid "%s to `%T' from `%T'"
msgstr ""
-#: java/lang-options.h:34
-msgid "Make is_compiled_class return 1"
+#: cp/typeck.c:5800
+msgid "passing negative value `%E' for %s %P of `%D'"
msgstr ""
-#: java/lang-options.h:38
-msgid "Dump class files to <name>.class"
+#: cp/typeck.c:5803
+msgid "%s of negative value `%E' to `%T'"
msgstr ""
-#: java/lang-options.h:40
-msgid "input file is list of file names to compile"
+#: cp/typeck.c:5898
+msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr ""
-#: java/lang-options.h:42
-msgid "Generate code for Boehm GC"
-msgstr "Generera kod för Boehm GC"
+#: cp/typeck.c:5901
+#, fuzzy
+msgid "cannot convert `%T' to `%T' in %s"
+msgstr "kan inte konvertera till en pekartyp"
-#: java/lang-options.h:44
-msgid "Don't put synchronization structure in each object"
-msgstr ""
+#: cp/typeck.c:5988 cp/typeck.c:5990
+#, fuzzy
+msgid "in passing argument %P of `%+D'"
+msgstr "Saknar argument till flaggan \"%s\""
-#: java/lang-options.h:46
-msgid "Assume native functions are implemented using JNI"
+#: cp/typeck.c:6105
+msgid "returning reference to temporary"
+msgstr "returnerar referens till en temporär"
+
+#: cp/typeck.c:6112
+msgid "reference to non-lvalue returned"
msgstr ""
-#: java/lang-options.h:48
-msgid "Set class path and suppress system path"
+#: cp/typeck.c:6124
+#, fuzzy
+msgid "reference to local variable `%D' returned"
+msgstr "adress på global registervariabel \"%s\" efterfrågad"
+
+#: cp/typeck.c:6127
+#, fuzzy
+msgid "address of local variable `%D' returned"
+msgstr "adress på global registervariabel \"%s\" efterfrågad"
+
+#: cp/typeck.c:6158
+msgid "returning a value from a destructor"
+msgstr "returnerar ett värde från en destruktor"
+
+#. If a return statement appears in a handler of the
+#. function-try-block of a constructor, the program is ill-formed.
+#: cp/typeck.c:6166
+msgid "cannot return from a handler of a function-try-block of a constructor"
msgstr ""
-#: java/lang-options.h:50
-msgid "Set class path"
+#. You can't return a value from a constructor.
+#: cp/typeck.c:6169
+msgid "returning a value from a constructor"
msgstr ""
-#: java/lang-options.h:52
-msgid "Choose class whose main method should be used"
+#: cp/typeck.c:6186
+msgid "return-statement with no value, in function declared with a non-void return type"
msgstr ""
-#: java/lang-options.h:54
-msgid "Choose input encoding (default is UTF-8)"
+#: cp/typeck.c:6202
+msgid "return-statement with a value, in function declared with a void return type"
msgstr ""
-#: java/lang-options.h:56
-msgid "Add directory to class path"
+#: cp/typeck.c:6223
+msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr ""
-#: java/lang-options.h:58
-msgid "Directory where class files should be written"
+#: cp/typeck2.c:54
+msgid "type `%T' is not a base type for type `%T'"
msgstr ""
-#: java/lang-options.h:61
-msgid "Use built-in instructions for division"
+#: cp/typeck2.c:151
+#, fuzzy
+msgid "cannot declare variable `%D' to be of type `%T'"
+msgstr "kan inte deklarera \"::main\" som en mall"
+
+#: cp/typeck2.c:154
+#, fuzzy
+msgid "cannot declare parameter `%D' to be of type `%T'"
+msgstr "kan inte deklarera \"::main\" som en mall"
+
+#: cp/typeck2.c:157
+#, fuzzy
+msgid "cannot declare field `%D' to be of type `%T'"
+msgstr "kan inte deklarera \"::main\" som en mall"
+
+#: cp/typeck2.c:161
+#, fuzzy
+msgid "invalid return type for member function `%#D'"
+msgstr "ogiltig lagringsklass för funktion \"%s\""
+
+#: cp/typeck2.c:163
+#, fuzzy
+msgid "invalid return type for function `%#D'"
+msgstr "ogiltig lagringsklass för funktion \"%s\""
+
+#: cp/typeck2.c:166
+#, fuzzy
+msgid "cannot allocate an object of type `%T'"
+msgstr "statisk access till objekt av typ \"id\""
+
+#: cp/typeck2.c:173
+msgid " because the following virtual functions are abstract:"
msgstr ""
-#: java/lang-options.h:63
-msgid "Generate null pointer checks inline"
+#: cp/typeck2.c:175
+msgid "\t%#D"
msgstr ""
-#: java/lang-options.h:65
-msgid "Warn if modifiers are specified when not necessary"
+#: cp/typeck2.c:178
+msgid " since type `%T' has abstract virtual functions"
msgstr ""
-#: java/lang-options.h:67
-msgid "Warn if deprecated empty statements are found"
+#: cp/typeck2.c:331
+msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr ""
-#: java/lang-options.h:69
-msgid "Warn if .class files are out of date"
+#: cp/typeck2.c:342
+msgid "comma expression used to initialize return value"
msgstr ""
-#: java/lang-options.h:71
-msgid "Always check for non gcj generated classes archives"
+#: cp/typeck2.c:351
+msgid "cannot initialize arrays using this syntax"
msgstr ""
-#: java/lang.c:391
-msgid "can't do dependency tracking with input from stdin"
+#: cp/typeck2.c:406
+#, fuzzy
+msgid "ISO C++ forbids non-constant aggregate initializer expressions"
+msgstr "ISO C89 förbjuder konstruktor-uttryck"
+
+#: cp/typeck2.c:490
+msgid "initializing array with parameter list"
msgstr ""
-#: java/lang.c:407
-msgid "couldn't determine target name for dependency tracking"
+#: cp/typeck2.c:546
+msgid "initializer for scalar variable requires one element"
msgstr ""
-#: java/lex.c:297
-#, c-format
-msgid ""
-"unknown encoding: `%s'\n"
-"This might mean that your locale's encoding is not supported\n"
-"by your system's iconv(3) implementation. If you aren't trying\n"
-"to use a particular encoding for your input file, try the\n"
-"`--encoding=UTF-8' option."
+#: cp/typeck2.c:553
+msgid "braces around scalar initializer for `%T'"
msgstr ""
-#: java/mangle.c:85
-#, c-format
-msgid "Can't mangle %s"
+#: cp/typeck2.c:556
+msgid "ignoring extra initializers for `%T'"
msgstr ""
-#: java/mangle_name.c:151 java/mangle_name.c:228
-msgid "internal error - invalid Utf8 name"
-msgstr "internt fel - ogiltigt Utf8-namn"
+#: cp/typeck2.c:568
+#, fuzzy
+msgid "variable-sized object of type `%T' may not be initialized"
+msgstr "objekt med variabel storlek kan inte initieras"
-#: java/parse.y:737 java/parse.y:775
-msgid "Missing name"
+#: cp/typeck2.c:578
+msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr ""
-#: java/parse.y:739 java/parse.y:777 java/parse.y:796 java/parse.y:977
-#: java/parse.y:1324 java/parse.y:1527 java/parse.y:1529 java/parse.y:1758
-#: java/parse.y:1784 java/parse.y:1795 java/parse.y:1806 java/parse.y:1818
-msgid "';' expected"
+#: cp/typeck2.c:644
+msgid "aggregate has a partly bracketed initializer"
msgstr ""
-#: java/parse.y:794
-msgid "'*' expected"
+#: cp/typeck2.c:682 cp/typeck2.c:786
+msgid "non-trivial labeled initializers"
msgstr ""
-#: java/parse.y:808
-msgid "Class or interface declaration expected"
+#: cp/typeck2.c:699
+msgid "non-empty initializer for array of empty elements"
msgstr ""
-#: java/parse.y:843 java/parse.y:845
-msgid "Missing class name"
+#: cp/typeck2.c:752
+msgid "initializer list for object of class with virtual base classes"
msgstr ""
-#: java/parse.y:848 java/parse.y:852 java/parse.y:860 java/parse.y:1022
-#: java/parse.y:1270 java/parse.y:1272 java/parse.y:1593 java/parse.y:1829
-#: java/parse.y:1861 java/parse.y:1913
-msgid "'{' expected"
+#: cp/typeck2.c:758
+msgid "initializer list for object of class with base classes"
msgstr ""
-#: java/parse.y:862
-msgid "Missing super class name"
+#: cp/typeck2.c:764
+msgid "initializer list for object using virtual functions"
msgstr ""
-#: java/parse.y:872 java/parse.y:888
-msgid "Missing interface name"
-msgstr ""
+#: cp/typeck2.c:827 cp/typeck2.c:843
+#, fuzzy
+msgid "missing initializer for member `%D'"
+msgstr "saknar mellanrum efter nummer \"%.*s\""
-#. That's for ()
-#: java/parse.y:956 java/parse.y:1289 java/parse.y:1348 java/parse.y:1551
-#: java/parse.y:1773 java/parse.y:1782 java/parse.y:1793 java/parse.y:1804
-#: java/parse.y:1816 java/parse.y:1833 java/parse.y:1835 java/parse.y:1906
-#: java/parse.y:2077 java/parse.y:2138 java/parse.y:2292 java/parse.y:2294
-#: java/parse.y:2301 java/parse.y:2308 java/parse.y:2319 java/parse.y:2321
-#: java/parse.y:2358 java/parse.y:2360 java/parse.y:2362 java/parse.y:2383
-#: java/parse.y:2385 java/parse.y:2387 java/parse.y:2403 java/parse.y:2405
-#: java/parse.y:2426 java/parse.y:2428 java/parse.y:2430 java/parse.y:2458
-#: java/parse.y:2460 java/parse.y:2462 java/parse.y:2464 java/parse.y:2482
-#: java/parse.y:2484 java/parse.y:2495 java/parse.y:2506 java/parse.y:2517
-#: java/parse.y:2528 java/parse.y:2539 java/parse.y:2552 java/parse.y:2556
-#: java/parse.y:2558 java/parse.y:2571
-msgid "Missing term"
-msgstr ""
+#: cp/typeck2.c:832
+#, fuzzy
+msgid "uninitialized const member `%D'"
+msgstr "upprepning av medlem \"%s\""
-#: java/parse.y:971
-msgid "Missing variable initializer"
+#: cp/typeck2.c:834
+#, fuzzy
+msgid "member `%D' with uninitialized const fields"
+msgstr "parameter \"%s\" är initierad"
+
+#: cp/typeck2.c:837
+#, fuzzy
+msgid "member `%D' is uninitialized reference"
+msgstr "parameter \"%s\" är initierad"
+
+#: cp/typeck2.c:883
+msgid "index value instead of field name in union initializer"
msgstr ""
-#: java/parse.y:988
-msgid "Invalid declaration"
+#: cp/typeck2.c:895
+#, fuzzy
+msgid "no field `%D' in union being initialized"
+msgstr "fält \"%s\" är redan initierat"
+
+#: cp/typeck2.c:903
+msgid "union `%T' with no named members cannot be initialized"
msgstr ""
-#: java/parse.y:994
-msgid "Can't specify array dimension in a declaration"
+#: cp/typeck2.c:939
+msgid "excess elements in aggregate initializer"
msgstr ""
-#: java/parse.y:996 java/parse.y:1072 java/parse.y:2113 java/parse.y:2135
-#: java/parse.y:2139 java/parse.y:2174 java/parse.y:2251 java/parse.y:2261
-msgid "']' expected"
+#: cp/typeck2.c:1053
+msgid "circular pointer delegation detected"
msgstr ""
-#: java/parse.y:1000
-msgid "Unbalanced ']'"
+#: cp/typeck2.c:1066
+#, fuzzy
+msgid "base operand of `->' has non-pointer type `%T'"
+msgstr "basoperanden till \"->\" är inte en pekare"
+
+#: cp/typeck2.c:1080
+msgid "result of `operator->()' yields non-pointer result"
msgstr ""
-#: java/parse.y:1036
-msgid "Invalid method declaration, method name required"
+#: cp/typeck2.c:1082
+msgid "base operand of `->' is not a pointer"
+msgstr "basoperanden till \"->\" är inte en pekare"
+
+#: cp/typeck2.c:1148
+msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr ""
-#: java/parse.y:1042 java/parse.y:1044 java/parse.y:1997
-msgid "Identifier expected"
+#: cp/typeck2.c:1155
+msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr ""
-#: java/parse.y:1047
-msgid "Invalid method declaration, return type required"
+#: cp/typeck2.c:1164
+msgid "member type `%T::' incompatible with object type `%T'"
msgstr ""
-#: java/parse.y:1070 java/parse.y:1507 java/parse.y:1514 java/parse.y:1523
-#: java/parse.y:1525 java/parse.y:1553 java/parse.y:1661 java/parse.y:1942
-#: java/parse.y:1995
-msgid "')' expected"
+#: cp/typeck2.c:1201
+msgid "`%T' fails to be a typedef or built-in type"
msgstr ""
-#: java/parse.y:1086
-msgid "Missing formal parameter term"
+#: cp/typeck2.c:1274
+#, c-format
+msgid "ISO C++ forbids defining types within %s"
msgstr ""
-#: java/parse.y:1101 java/parse.y:1106
-msgid "Missing identifier"
+#: cp/typeck2.c:1399
+#, fuzzy
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "parameter \"%s\" pekar på inkomplett typ"
+
+#: cp/typeck2.c:1402
+#, fuzzy
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "parameter \"%s\" pekar på inkomplett typ"
+
+#. XXX Not i18n clean.
+#: cp/cp-tree.h:3846
+#, c-format
+msgid "%s is deprecated, please see the documentation for details"
msgstr ""
-#: java/parse.y:1126 java/parse.y:1135
-msgid "Missing class type term"
+#: cp/lang-options.h:29
+msgid "Do not obey access control semantics"
msgstr ""
-#: java/parse.y:1287
-msgid "Invalid interface type"
+#: cp/lang-options.h:31
+msgid "Change when template instances are emitted"
msgstr ""
-#: java/parse.y:1471 java/parse.y:1640 java/parse.y:1642
-msgid "':' expected"
+#: cp/lang-options.h:36
+msgid "Check the return value of new"
msgstr ""
-#: java/parse.y:1493 java/parse.y:1498 java/parse.y:1503
-msgid "Invalid expression statement"
+#: cp/lang-options.h:39
+msgid "Reduce size of object files"
msgstr ""
-#: java/parse.y:1521 java/parse.y:1549 java/parse.y:1589 java/parse.y:1657
-#: java/parse.y:1725 java/parse.y:1831 java/parse.y:1899 java/parse.y:1989
-#: java/parse.y:1991 java/parse.y:1999 java/parse.y:2234 java/parse.y:2236
-msgid "'(' expected"
+#: cp/lang-options.h:43
+msgid "Make string literals `char[]' instead of `const char[]'"
msgstr ""
-#: java/parse.y:1591
-msgid "Missing term or ')'"
+#: cp/lang-options.h:46
+msgid "Dump the entire translation unit to a file"
msgstr ""
-#: java/parse.y:1638
-msgid "Missing or invalid constant expression"
+#: cp/lang-options.h:48
+msgid "Do not inline member functions by default"
msgstr ""
-#: java/parse.y:1659
-msgid "Missing term and ')' expected"
+#: cp/lang-options.h:51
+msgid "Do not generate run time type descriptor information"
msgstr ""
-#: java/parse.y:1698
-msgid "Invalid control expression"
+#: cp/lang-options.h:56
+msgid "Do not generate code to check exception specifications"
msgstr ""
-#: java/parse.y:1700 java/parse.y:1702
-msgid "Invalid update expression"
+#: cp/lang-options.h:61
+msgid "Scope of for-init-statement vars extends outside"
msgstr ""
-#: java/parse.y:1727
-msgid "Invalid init statement"
+#: cp/lang-options.h:64
+msgid "Do not recognize GNU defined keywords"
msgstr ""
-#: java/parse.y:1902
-msgid "Missing term or ')' expected"
+#: cp/lang-options.h:68
+msgid "Enable support for huge objects"
msgstr ""
-#: java/parse.y:1944
-msgid "'class' or 'this' expected"
+#: cp/lang-options.h:72
+msgid "Export functions even if they can be inlined"
msgstr ""
-#: java/parse.y:1946 java/parse.y:1948
-msgid "'class' expected"
+#: cp/lang-options.h:75
+msgid "Only emit explicit template instatiations"
msgstr ""
-#: java/parse.y:1993
-msgid "')' or term expected"
+#: cp/lang-options.h:78
+msgid "Only emit explicit instatiations of inline templates"
msgstr ""
-#: java/parse.y:2111
-msgid "'[' expected"
+#: cp/lang-options.h:84
+msgid "Don't pedwarn about uses of Microsoft extensions"
msgstr ""
-#: java/parse.y:2189
-msgid "Field expected"
+#: cp/lang-options.h:87
+#, fuzzy
+msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+msgstr "Känn igen and/bitand/bitor/compl/not/or/xor"
+
+#: cp/lang-options.h:91
+msgid "Disable optional diagnostics"
msgstr ""
-#: java/parse.y:2246 java/parse.y:2256
-msgid "Missing term and ']' expected"
+#: cp/lang-options.h:93
+msgid "Downgrade conformance errors to warnings"
msgstr ""
-#: java/parse.y:2351
-msgid "']' expected, invalid type expression"
+#: cp/lang-options.h:96
+msgid "Enable automatic template instantiation"
+msgstr "Slå på automatisk mallinstansiering"
+
+#: cp/lang-options.h:101
+msgid "Display statistics accumulated during compilation"
msgstr ""
-#: java/parse.y:2354
-msgid "Invalid type expression"
+#: cp/lang-options.h:104
+msgid "Specify maximum template instantiation depth"
+msgstr "Ange maximalt instansieringsdjup för mallar"
+
+#: cp/lang-options.h:106
+msgid "Use __cxa_atexit to register destructors"
msgstr ""
-#: java/parse.y:2466
-msgid "Invalid reference type"
+#: cp/lang-options.h:109
+msgid "Discard unused virtual functions"
msgstr ""
-#: java/parse.y:2944
-msgid "Constructor invocation must be first thing in a constructor"
+#: cp/lang-options.h:112
+msgid "Implement vtables using thunks"
msgstr ""
-#: java/parse.y:2946
-msgid "Only constructors can invoke constructors"
+#: cp/lang-options.h:115
+msgid "Emit common-like symbols as weak symbols"
msgstr ""
-#: java/parse.y:2955
-#, c-format
-msgid ": `%s' JDK1.1(TM) feature"
+#: cp/lang-options.h:118
+msgid "Emit cross referencing information"
msgstr ""
-#: java/parse.y:3015 java/parse.y:3017
-#, c-format
-msgid ""
-"%s.\n"
-"%s"
+#: cp/lang-options.h:122
+msgid "Warn about inconsistent return types"
msgstr ""
-"%s.\n"
-"%s"
-#: java/parse.y:3480
-msgid "Can't use '$' as a separator for inner classes"
+#: cp/lang-options.h:125
+msgid "Warn about overloaded virtual function names"
msgstr ""
-#: java/parse.y:6577
-#, c-format
-msgid "malformed .zip archive in CLASSPATH: %s"
+#: cp/lang-options.h:129
+msgid "Don't warn when all ctors/dtors are private"
msgstr ""
-#: java/parse.y:6648
-#, c-format
-msgid ""
-"Can't find default package `%s'. Check the CLASSPATH environment variable "
-"and the access to the archives."
+#: cp/lang-options.h:131
+msgid "Warn about non virtual destructors"
msgstr ""
-#: java/parse.y:11777
-#, c-format
-msgid "missing static field `%s'"
+#: cp/lang-options.h:134
+msgid "Warn when a function is declared extern, then inline"
msgstr ""
-#: java/parse.y:11782
-#, c-format
-msgid "not a static field `%s'"
+#: cp/lang-options.h:137
+msgid "Warn when the compiler reorders code"
msgstr ""
-#: java/parse.y:11835
-#, c-format
-msgid "No case for %s"
+#: cp/lang-options.h:140
+msgid "Warn when synthesis behavior differs from Cfront"
msgstr ""
-#: java/parse.y:13023
-#, c-format
-msgid "unregistered operator %s"
+#: cp/lang-options.h:144
+msgid "Don't warn when type converting pointers to member functions"
msgstr ""
-#: java/typeck.c:557
-msgid "junk at end of signature string"
+#: cp/lang-options.h:146
+msgid "Warn about violations of Effective C++ style rules"
msgstr ""
-#: java/verify.c:464
-msgid "bad pc in exception_table"
+#: cp/lang-options.h:149
+msgid "Warn when overload promotes from unsigned to signed"
msgstr ""
-#: java/verify.c:1376
-#, c-format
-msgid "unknown opcode %d@pc=%d during verification"
+#: cp/lang-options.h:152
+msgid "Warn if a C style cast is used in a program"
msgstr ""
-#: java/verify.c:1446 java/verify.c:1459 java/verify.c:1463
-#, c-format
-msgid "verification error at PC=%d"
+#: cp/lang-options.h:156
+msgid "Don't warn when non-templatized friend functions are declared within a template"
msgstr ""
-#: objc/lang-options.h:27
-msgid "Dump decls to a .decl file"
+#: cp/lang-options.h:159
+msgid "Don't announce deprecation of compiler features"
msgstr ""
-#: objc/lang-options.h:29
-msgid "Generate code for GNU runtime environment"
+#: f/bad.c:387
+msgid "note:"
msgstr ""
-#: objc/lang-options.h:32
-msgid "Generate code for NeXT runtime environment"
+#: f/bad.c:391
+#, fuzzy
+msgid "warning:"
+msgstr "varning: "
+
+#: f/bad.c:395
+msgid "fatal:"
msgstr ""
-#: objc/lang-options.h:35
-msgid "Warn if a selector has multiple methods"
+#: f/bad.c:437
+msgid "(continued):"
msgstr ""
-#: objc/lang-options.h:39
-msgid "Do not warn if inherited methods are unimplemented"
+#: f/bad.c:487 f/bad.c:505
+msgid "[REPORT BUG!!] %"
msgstr ""
-#: objc/lang-options.h:41
-msgid "Generate C header of platform specific features"
+#: f/bad.c:494 f/bad.c:526
+msgid "[REPORT BUG!!]"
msgstr ""
-#: objc/lang-options.h:43
-msgid "Specify the name of the class for constant strings"
+#: f/com.c:3132
+#, no-c-format
+msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
msgstr ""
-#: objc/objc-act.c:829
-msgid "no class name specified as argument to -fconstant-string-class"
+#: f/com.c:11551
+msgid "no INTEGER type can hold a pointer on this configuration"
msgstr ""
-#: objc/objc-act.c:990
+#: f/com.c:11772
#, c-format
-msgid "object does not conform to the `%s' protocol"
+msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr ""
-#: objc/objc-act.c:1028
+#: f/com.c:11774
#, c-format
-msgid "class `%s' does not implement the `%s' protocol"
-msgstr "klass \"%s\" implementerar inte protokollet \"%s\""
+msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+msgstr ""
-#: objc/objc-act.c:1166
-#, c-format
-msgid "Unexpected type for `id' (%s)"
-msgstr "Oväntad typ på \"id\" (%s)"
+#: f/com.c:11776
+msgid "properly unless they all are 32 bits wide"
+msgstr ""
-#: objc/objc-act.c:1171
-msgid "Undefined type `id', please import <objc/objc.h>"
+#: f/com.c:11777
+msgid "Please keep this in mind before you report bugs."
msgstr ""
-#: objc/objc-act.c:1219 objc/objc-act.c:5363
+#. I/O will probably crash.
+#: f/com.c:11785
#, c-format
-msgid "Cannot find protocol declaration for `%s'"
+msgid "configuration: char * holds %d bits, but ftnlen only %d"
msgstr ""
-#: objc/objc-act.c:1449 objc/objc-act.c:5888 objc/objc-act.c:6197
-#: objc/objc-act.c:6246 objc/objc-act.c:6282 objc/objc-parse.y:1781
+#. ASSIGN 10 TO I will crash.
+#: f/com.c:11794
#, c-format
-msgid "Cannot find interface declaration for `%s'"
+msgid ""
+"configuration: char * holds %d bits, but INTEGER only %d --\n"
+" ASSIGN statement might fail"
msgstr ""
-#: objc/objc-act.c:1469
-#, c-format
-msgid "Cannot find reference tag for class `%s'"
+#: f/com.c:13609
+#, fuzzy
+msgid "In statement function"
+msgstr "för många argument till funktion"
+
+#: f/com.c:13619
+msgid "Outside of any program unit:\n"
msgstr ""
-#: objc/objc-act.c:2468
-#, c-format
-msgid "Cannot find class `%s'"
-msgstr "Kan inte hitta klass \"%s\""
+#: f/com.c:15248
+#, no-c-format
+msgid "%A from %B at %0%C"
+msgstr ""
-#: objc/objc-act.c:2470
-#, c-format
-msgid "Class `%s' already exists"
-msgstr "Klass \"%s\" finns redan"
+#: f/com.c:15425
+#, fuzzy
+msgid "directory name must immediately follow -I"
+msgstr "Katalognamn måste komma direkt efter -I"
-#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2594
-#, c-format
-msgid "Cannot find interface declaration for `%s', superclass of `%s'"
+#: f/com.c:15568
+#, no-c-format
+msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr ""
-#: objc/objc-act.c:2601
-#, c-format
-msgid "Circular inheritance in interface declaration for `%s'"
-msgstr "Cirkulärt arv i interfacedeklaration för \"%s\""
+#: f/com.c:15603
+#, no-c-format
+msgid "At %0, INCLUDE nesting too deep"
+msgstr ""
-#: objc/objc-act.c:3654 objc/objc-act.c:3671
-msgid "inconsistent instance variable specification"
+#: f/expr.c:9614
+#, no-c-format
+msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
msgstr ""
-#: objc/objc-act.c:4859
-#, c-format
-msgid "multiple declarations for method `%s'"
-msgstr "multiple deklaration av metod \"%s\""
+#: f/expr.c:9664
+#, no-c-format
+msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+msgstr ""
-#: objc/objc-act.c:4972
-#, c-format
-msgid "invalid receiver type `%s'"
-msgstr "ogiltig mottagartyp \"%s\""
+#: 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 ""
-#: objc/objc-act.c:5040 objc/objc-act.c:5066 objc/objc-act.c:5114
-#, c-format
-msgid "`%s' does not respond to `%s'"
-msgstr "\"%s\" svarar inte på \"%s\""
+#: f/expr.c:10896
+#, no-c-format
+msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+msgstr ""
-#: objc/objc-act.c:5046 objc/objc-act.c:7285
+#: f/g77spec.c:255
#, c-format
-msgid "no super class declared in interface for `%s'"
-msgstr "ingen superklass deklarerad i interface för \"%s\""
+msgid "overflowed output arg list for `%s'"
+msgstr ""
-#: objc/objc-act.c:5144
-msgid "cannot find class (factory) method."
-msgstr "kan inte hitta klass(fabrik)-metod"
+#: f/g77spec.c:394
+msgid "--driver no longer supported"
+msgstr "--driver stödjs inte längre"
-#: objc/objc-act.c:5145 objc/objc-act.c:5189
+#: f/g77spec.c:407
#, c-format
-msgid "return type for `%s' defaults to id"
-msgstr "returtyp för \"%s\" är som standard id"
+msgid "argument to `%s' missing"
+msgstr "argument till \"%s\" saknas"
-#: objc/objc-act.c:5162
-#, c-format
-msgid "method `%s' not implemented by protocol."
-msgstr "metod \"%s\" implementeras inte av protokoll."
+#: f/g77spec.c:411
+msgid "no input files; unwilling to write output files"
+msgstr ""
-#: objc/objc-act.c:5171
-msgid "return type defaults to id"
-msgstr "returtyp är som standard id"
+#: f/implic.c:203
+#, fuzzy, no-c-format
+msgid "Implicit declaration of `%A' at %0"
+msgstr "tidigare implicit deklaration av \"%s\""
-#: objc/objc-act.c:5188
-msgid "cannot find method."
-msgstr "kan inte hitta metod."
+#: f/lex.c:326
+#, fuzzy, no-c-format
+msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+msgstr "okänd escape-sekvens \"\\%c\""
-#. 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
-#. an instance method. Following this assignment, the instance
-#. variables could be accessed. That practice, while safe,
-#. violates the simple rule that a class method should not refer
-#. 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:5432
-#, c-format
-msgid "instance variable `%s' accessed in class method"
-msgstr ""
+#: f/lex.c:345
+#, fuzzy, no-c-format
+msgid "Unknown escape sequence `\\%A' at %0"
+msgstr "okänd escape-sekvens \"\\%c\""
-#: objc/objc-act.c:5689
-#, c-format
-msgid "duplicate definition of class method `%s'."
-msgstr "upprepad definition av klassmetod \"%s\"."
+#: f/lex.c:354
+#, fuzzy, no-c-format
+msgid "Unterminated escape sequence `\\' at %0"
+msgstr "okänd escape-sekvens \"\\%c\""
-#: objc/objc-act.c:5695
-#, c-format
-msgid "duplicate declaration of class method `%s'."
-msgstr "upprepad deklaration av klassmetod \"%s\"."
+#: f/lex.c:365
+#, fuzzy, no-c-format
+msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+msgstr "okänd escape-sekvens: '\\' följd av tecken 0x%x"
-#: objc/objc-act.c:5731
-#, c-format
-msgid "duplicate definition of instance method `%s'."
+#: f/lex.c:393
+#, no-c-format
+msgid "\\x used at %0 with no following hex digits"
msgstr ""
-#: objc/objc-act.c:5737
-#, c-format
-msgid "duplicate declaration of instance method `%s'."
-msgstr ""
+#: f/lex.c:407
+#, fuzzy, no-c-format
+msgid "Hex escape at %0 out of range"
+msgstr "heltalskonstant utanför sitt intervall"
-#: objc/objc-act.c:5777
-#, c-format
-msgid "duplicate interface declaration for category `%s(%s)'"
-msgstr ""
+#: f/lex.c:441
+#, fuzzy, no-c-format
+msgid "Escape sequence at %0 out of range for character"
+msgstr "escape-sekvens ryms ej i ett tecken"
-#: objc/objc-act.c:5863
-#, c-format
-msgid "instance variable `%s' is declared private"
-msgstr "instansvariabel \"%s\" är deklarerad som privat"
+#: f/lex.c:595
+msgid "hex escape out of range"
+msgstr ""
-#: objc/objc-act.c:5910
+#: f/lex.c:648
#, c-format
-msgid "instance variable `%s' is declared %s"
-msgstr "instansvariabel \"%s\" är deklarerad som %s"
+msgid "non-ANSI-standard escape sequence, `\\%c'"
+msgstr ""
-#: objc/objc-act.c:5920
-msgid "static access to object of type `id'"
-msgstr "statisk access till objekt av typ \"id\""
+#: f/lex.c:661
+#, fuzzy, c-format
+msgid "non-ISO escape sequence `\\%c'"
+msgstr "okänd escape-sekvens \"\\%c\""
-#: objc/objc-act.c:5957 objc/objc-act.c:6051
+#: f/lex.c:665
#, c-format
-msgid "incomplete implementation of class `%s'"
-msgstr "inkomplett implementation av klass \"%s\""
+msgid "unknown escape sequence `\\%c'"
+msgstr "okänd escape-sekvens \"\\%c\""
-#: objc/objc-act.c:5961 objc/objc-act.c:6056
+#: f/lex.c:667
#, c-format
-msgid "incomplete implementation of category `%s'"
-msgstr "inkomplett implementation av kategori \"%s\""
+msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+msgstr "okänd escape-sekvens: '\\' följd av tecken 0x%x"
-#: objc/objc-act.c:5966 objc/objc-act.c:6061
-#, c-format
-msgid "method definition for `%c%s' not found"
-msgstr "metoddefinition för \"%c%s\" kan inte hittas"
+#: f/lex.c:744
+msgid "badly formed directive -- no closing quote"
+msgstr ""
-#: objc/objc-act.c:6102
-#, c-format
-msgid "%s `%s' does not fully implement the `%s' protocol"
+#: f/lex.c:802
+msgid "#-lines for entering and leaving files don't match"
msgstr ""
-#: objc/objc-act.c:6138 objc/objc-act.c:8212
-msgid "`@end' missing in implementation context"
+#: f/lex.c:964
+msgid "bad directive -- missing close-quote"
msgstr ""
-#: objc/objc-act.c:6169
+#: f/lex.c:1078
#, c-format
-msgid "reimplementation of class `%s'"
-msgstr "omimplementation av klass \"%s\""
+msgid "ignoring pragma: %s"
+msgstr "ignorerar #pragma: %s"
-#: objc/objc-act.c:6211
-#, c-format
-msgid "conflicting super class name `%s'"
-msgstr ""
+#: f/lex.c:1156
+msgid "invalid #ident"
+msgstr "ogiltig #indent"
-#: objc/objc-act.c:6226
-#, c-format
-msgid "duplicate interface declaration for class `%s'"
+#: f/lex.c:1173
+msgid "undefined or invalid # directive"
msgstr ""
-#: objc/objc-act.c:6469
-#, c-format
-msgid "duplicate declaration for protocol `%s'"
+#: f/lex.c:1229
+msgid "invalid #line"
+msgstr "ogiltig #line"
+
+#: f/lex.c:1285 f/lex.c:1329
+msgid "use `#line ...' instead of `# ...' in first line"
msgstr ""
-#: objc/objc-act.c:7326
-msgid "[super ...] must appear in a method context"
-msgstr "[super ...] måste stå i metodkontext"
+#: f/lex.c:1339
+msgid "invalid #-line"
+msgstr "ogiltig #-rad"
-#: objc/objc-act.c:8314 objc/objc-act.c:8330
-#, c-format
-msgid "potential selector conflict for method `%s'"
+#: f/lex.c:1432
+#, no-c-format
+msgid "Null character at %0 -- line ignored"
msgstr ""
-#: objc/objc-parse.y:2648
-msgid "`@end' must appear in an implementation context"
+#: f/stb.c:12078
+#, no-c-format
+msgid "INCLUDE at %0 not the only statement on the source line"
msgstr ""
-#: objc/objc-parse.y:2919
-msgid "method definition not in class context"
+#: f/ste.c:1400 f/ste.c:1747
+msgid "ASSIGNed FORMAT specifier is too small"
msgstr ""
-#: objc/objc-parse.y:3743
-msgid "syntax error at '@' token"
+#. ~~~Someday handle CHARACTER*1, CHARACTER*N
+#: f/ste.c:2624
+#, no-c-format
+msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
msgstr ""
-#. If we didn't find this parameter, issue an error message.
-#: params.c:80
-#, c-format
-msgid "invalid parameter `%s'"
+#: f/ste.c:2953
+msgid "ASSIGN to variable that is too small"
msgstr ""
-#: profile.c:490
-msgid "Arc profiling: some edge counts were bad."
+#: f/ste.c:2981
+msgid "ASSIGNed GOTO target variable is too small"
msgstr ""
-#: profile.c:931
-#, c-format
-msgid "file %s not found, execution counts assumed to be zero."
+#: f/stu.c:305
+#, no-c-format
+msgid "Local adjustable symbol `%A' at %0"
msgstr ""
-#: protoize.c:601
-#, c-format
-msgid "%s: internal abort\n"
-msgstr "%s: intern abort\n"
+#: f/target.c:2550
+msgid "data initializer on host with different endianness"
+msgstr ""
-#: protoize.c:692
+#: f/top.c:237
#, c-format
-msgid "%s: error writing file `%s': %s\n"
-msgstr ""
+msgid "%s no longer supported -- try -fvxt"
+msgstr "%s stödjs inte längre -- försök -fvxt"
-#: protoize.c:737
+#: f/top.c:239
#, c-format
-msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
-msgstr "%s: användning '%s [ -VqfnkN ] [ -i <isträng> ] [ filnamn ... ]'\n"
+msgid "%s no longer supported -- try -fno-vxt -ff90"
+msgstr "%s stödjs inte längre -- försök -fno-vxt -ff90"
-#: protoize.c:740
+#: f/top.c:307 f/top.c:309
#, c-format
-msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+msgid "%s disabled, use normal debugging flags"
msgstr ""
-"%s: användning '%s [ -VqfnkNlgC ] [ -B <katalognamn> ] [ filnamn ... ]'\n"
-#: protoize.c:847
-#, c-format
-msgid "%s: warning: no read access for file `%s'\n"
-msgstr "%s: varning: ingen läsrättighet för fil \"%s\"\n"
+#: f/lang-options.h:33
+msgid "Print g77-specific compiler version info, run internal tests"
+msgstr ""
-#: protoize.c:855
-#, c-format
-msgid "%s: warning: no write access for file `%s'\n"
-msgstr "%s: varning: ingen skrivrättighet för fil \"%s\"\n"
+#: f/lang-options.h:37
+msgid "Program is written in typical FORTRAN 66 dialect"
+msgstr ""
-#: protoize.c:863
-#, c-format
-msgid "%s: warning: no write access for dir containing `%s'\n"
+#: f/lang-options.h:40
+msgid "Program is written in typical Unix f77 dialect"
msgstr ""
-#. Catch cases like /.. where we try to backup to a
-#. point above the absolute root of the logical file
-#. system.
-#: protoize.c:1281
-#, c-format
-msgid "%s: invalid file name: %s\n"
+#: f/lang-options.h:42
+msgid "Program does not use Unix-f77 dialectal features"
msgstr ""
-#: protoize.c:1433
-#, c-format
-msgid "%s: %s: can't get status: %s\n"
-msgstr "%s: %s: kan inte få status: %s\n"
+#: f/lang-options.h:44
+msgid "Program is written in Fortran-90-ish dialect"
+msgstr ""
-#: protoize.c:1454
-#, c-format
-msgid ""
-"\n"
-"%s: fatal error: aux info file corrupted at line %d\n"
+#: f/lang-options.h:48
+msgid "Treat local vars and COMMON blocks as if they were named in SAVE statements"
msgstr ""
-#: protoize.c:1790
-#, c-format
-msgid "%s:%d: declaration of function `%s' takes different forms\n"
+#: f/lang-options.h:50
+msgid "Allow $ in symbol names"
msgstr ""
-#: protoize.c:2048
-#, c-format
-msgid "%s: compiling `%s'\n"
-msgstr "%s: kompilerar `%s'\n"
+#: f/lang-options.h:54
+msgid "f2c-compatible code need not be generated"
+msgstr ""
-#: protoize.c:2071
-#, c-format
-msgid "%s: wait: %s\n"
-msgstr "%s: vänta: %s\n"
+#: f/lang-options.h:57
+msgid "Unsupported; do not generate libf2c-calling code"
+msgstr ""
-#: protoize.c:2076
-#, c-format
-msgid "%s: subprocess got fatal signal %d\n"
-msgstr "%s: subprocess fick dödlig signal %d\n"
+#: f/lang-options.h:59
+msgid "Unsupported; affects code-generation of arrays"
+msgstr ""
-#: protoize.c:2084
-#, c-format
-msgid "%s: %s exited with status %d\n"
-msgstr "%s: %s avslutade med status %d\n"
+#: f/lang-options.h:62
+msgid "Program is written in Fortran-90-ish free form"
+msgstr ""
-#: protoize.c:2136
-#, c-format
-msgid "%s: warning: missing SYSCALLS file `%s'\n"
+#: f/lang-options.h:67
+msgid "Warn about use of (only a few for now) Fortran extensions"
msgstr ""
-#: protoize.c:2145 protoize.c:2174
-#, c-format
-msgid "%s: can't read aux info file `%s': %s\n"
+#: f/lang-options.h:70
+msgid "Program is written in VXT (Digital-like) FORTRAN"
msgstr ""
-#: protoize.c:2190 protoize.c:2218
-#, c-format
-msgid "%s: can't get status of aux info file `%s': %s\n"
+#: f/lang-options.h:73
+msgid "Disallow all ugly features"
msgstr ""
-#: protoize.c:2246
-#, c-format
-msgid "%s: can't open aux info file `%s' for reading: %s\n"
+#: f/lang-options.h:76
+msgid "Hollerith and typeless constants not passed as arguments"
msgstr ""
-#: protoize.c:2264
-#, c-format
-msgid "%s: error reading aux info file `%s': %s\n"
+#: f/lang-options.h:78
+msgid "Allow ordinary copying of ASSIGN'ed vars"
msgstr ""
-#: protoize.c:2277
-#, c-format
-msgid "%s: error closing aux info file `%s': %s\n"
+#: f/lang-options.h:81
+msgid "Dummy array dimensioned to (1) is assumed-size"
msgstr ""
-#: protoize.c:2293
-#, c-format
-msgid "%s: can't delete aux info file `%s': %s\n"
+#: f/lang-options.h:84
+msgid "Trailing comma in procedure call denotes null argument"
msgstr ""
-#: protoize.c:2375 protoize.c:4377
-#, c-format
-msgid "%s: can't delete file `%s': %s\n"
-msgstr "%s: kan inte radera fil \"%s\": %s\n"
+#: f/lang-options.h:87
+msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+msgstr ""
-#: protoize.c:2454
-#, c-format
-msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
-msgstr "%s: varning: kan inte döpa om fil \"%s\" till \"%s\": %s\n"
+#: f/lang-options.h:91
+msgid "Initialization via DATA and PARAMETER is type-compatible"
+msgstr ""
-#: protoize.c:2579
-#, c-format
-msgid "%s: conflicting extern definitions of '%s'\n"
+#: f/lang-options.h:93
+msgid "Allow INTEGER and LOGICAL interchangeability"
msgstr ""
-#: protoize.c:2583
-#, c-format
-msgid "%s: declarations of '%s' will not be converted\n"
+#: f/lang-options.h:96
+msgid "Print internal debugging-related info"
msgstr ""
-#: protoize.c:2585
-#, c-format
-msgid "%s: conflict list for '%s' follows:\n"
+#: f/lang-options.h:99
+msgid "Initialize local vars and arrays to zero"
msgstr ""
-#: protoize.c:2618
-#, c-format
-msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
+#: f/lang-options.h:103
+msgid "Backslashes in character/hollerith constants not special (C-style)"
msgstr ""
-#: protoize.c:2658
-#, c-format
-msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
+#: f/lang-options.h:105
+msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
msgstr ""
-#: protoize.c:2664
-#, c-format
-msgid "%s: %d: warning: no extern definition for `%s'\n"
+#: f/lang-options.h:109
+msgid "Disable the appending of underscores to externals"
msgstr ""
-#: protoize.c:2695
-#, c-format
-msgid "%s: warning: no static definition for `%s' in file `%s'\n"
+#: f/lang-options.h:112
+msgid "Never append a second underscore to externals"
msgstr ""
-#: protoize.c:2701
-#, c-format
-msgid "%s: multiple static defs of `%s' in file `%s'\n"
+#: f/lang-options.h:114
+msgid "Intrinsics spelled as e.g. SqRt"
msgstr ""
-#: protoize.c:2874 protoize.c:2877
-#, c-format
-msgid "%s: %d: warning: source too confusing\n"
+#: f/lang-options.h:116
+msgid "Intrinsics in uppercase"
msgstr ""
-#: protoize.c:3083
-#, c-format
-msgid "%s: %d: warning: varargs function declaration not converted\n"
+#: f/lang-options.h:119
+msgid "Intrinsics letters in arbitrary cases"
msgstr ""
-#: protoize.c:3098
-#, c-format
-msgid "%s: declaration of function `%s' not converted\n"
+#: f/lang-options.h:121
+msgid "Language keywords spelled as e.g. IOStat"
msgstr ""
-#: protoize.c:3221
-#, c-format
-msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
+#: f/lang-options.h:123
+msgid "Language keywords in uppercase"
msgstr ""
-#: protoize.c:3242
-#, c-format
-msgid ""
-"\n"
-"%s: warning: too few parameter lists in declaration of `%s'\n"
+#: f/lang-options.h:126
+msgid "Language keyword letters in arbitrary cases"
msgstr ""
-#: protoize.c:3340
-#, c-format
-msgid "%s: %d: warning: found `%s' but expected `%s'\n"
+#: f/lang-options.h:128
+msgid "Internally convert most source to uppercase"
msgstr ""
-#: protoize.c:3518
-#, c-format
-msgid "%s: local declaration for function `%s' not inserted\n"
+#: f/lang-options.h:131
+msgid "Internally preserve source case"
msgstr ""
-#: protoize.c:3545
-#, c-format
-msgid ""
-"\n"
-"%s: %d: warning: can't add declaration of `%s' into macro call\n"
+#: f/lang-options.h:133
+msgid "Symbol names spelled in mixed case"
msgstr ""
-#: protoize.c:3619
-#, c-format
-msgid "%s: global declarations for file `%s' not inserted\n"
+#: f/lang-options.h:135
+msgid "Symbol names in uppercase"
msgstr ""
-#: protoize.c:3710 protoize.c:3740
-#, c-format
-msgid "%s: definition of function `%s' not converted\n"
+#: f/lang-options.h:137
+msgid "Symbol names in lowercase"
msgstr ""
-#: protoize.c:3729
-#, c-format
-msgid "%s: %d: warning: definition of %s not converted\n"
+#: f/lang-options.h:140
+msgid "Program written in uppercase"
msgstr ""
-#: protoize.c:4059
-#, c-format
-msgid "%s: found definition of `%s' at %s(%d)\n"
+#: f/lang-options.h:142
+msgid "Program written in lowercase"
msgstr ""
-#. If we make it here, then we did not know about this
-#. function definition.
-#: protoize.c:4075
-#, c-format
-msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
+#: f/lang-options.h:144
+msgid "Program written in strict mixed-case"
msgstr ""
-#: protoize.c:4078
-#, c-format
-msgid "%s: function definition not converted\n"
+#: f/lang-options.h:146
+msgid "Compile as if program written in uppercase"
msgstr ""
-#: protoize.c:4137
-#, c-format
-msgid "%s: `%s' not converted\n"
+#: f/lang-options.h:148
+msgid "Compile as if program written in lowercase"
msgstr ""
-#: protoize.c:4145
-#, c-format
-msgid "%s: would convert file `%s'\n"
+#: f/lang-options.h:150
+msgid "Preserve all spelling (case) used in program"
msgstr ""
-#: protoize.c:4148
-#, c-format
-msgid "%s: converting file `%s'\n"
+#: f/lang-options.h:152
+msgid "Delete libU77 intrinsics with bad interfaces"
msgstr ""
-#: protoize.c:4158
-#, c-format
-msgid "%s: can't get status for file `%s': %s\n"
+#: f/lang-options.h:154
+msgid "Disable libU77 intrinsics with bad interfaces"
msgstr ""
-#: protoize.c:4200
-#, c-format
-msgid "%s: can't open file `%s' for reading: %s\n"
-msgstr "%s: kan inte öppna fil `%s' för läsning: %s\n"
+#: f/lang-options.h:157
+msgid "Hide libU77 intrinsics with bad interfaces"
+msgstr ""
-#: protoize.c:4215
-#, c-format
-msgid ""
-"\n"
-"%s: error reading input file `%s': %s\n"
+#: f/lang-options.h:159
+msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
msgstr ""
-#: protoize.c:4249
-#, c-format
-msgid "%s: can't create/open clean file `%s': %s\n"
+#: f/lang-options.h:161
+msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
msgstr ""
-#: protoize.c:4354
-#, c-format
-msgid "%s: warning: file `%s' already saved in `%s'\n"
+#: f/lang-options.h:164
+msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
msgstr ""
-#: protoize.c:4362
-#, c-format
-msgid "%s: can't link file `%s' to `%s': %s\n"
-msgstr "%s: kan inte länka fil \"%s\" till \"%s\": %s\n"
+#: f/lang-options.h:166
+msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
+msgstr ""
-#: protoize.c:4392
-#, c-format
-msgid "%s: can't create/open output file `%s': %s\n"
+#: f/lang-options.h:168
+msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
msgstr ""
-#: protoize.c:4425
-#, c-format
-msgid "%s: can't change mode of file `%s': %s\n"
+#: f/lang-options.h:171
+msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
msgstr ""
-#: protoize.c:4611
-#, c-format
-msgid "%s: cannot get working directory: %s\n"
+#: f/lang-options.h:173
+msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
msgstr ""
-#: protoize.c:4709
-#, c-format
-msgid "%s: input file names must have .c suffixes: %s\n"
-msgstr "%s: indatafilnamn måste ha ändelsen .c: %s\n"
+#: f/lang-options.h:175
+msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
+msgstr ""
-#: real.c:802 real.c:979
-msgid "conversion from NaN to int"
-msgstr "konvertering från NaN till int"
+#: f/lang-options.h:178
+msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
+msgstr ""
-#: real.c:825
-msgid "conversion from NaN to unsigned int"
-msgstr "konveretering från NaN till unsigned int"
+#: f/lang-options.h:180
+msgid "Delete MIL-STD 1753 intrinsics"
+msgstr ""
-#: real.c:2700
-msgid "floating point overflow"
-msgstr "flyttalsspill"
+#: f/lang-options.h:182
+msgid "Disable MIL-STD 1753 intrinsics"
+msgstr ""
-#: real.c:4340 real.c:6619 real.c:6700
-msgid "overflow on truncation to integer"
+#: f/lang-options.h:185
+msgid "Hide MIL-STD 1753 intrinsics"
msgstr ""
-#: real.c:4412
-msgid "overflow on truncation to unsigned integer"
+#: f/lang-options.h:187
+msgid "Delete libU77 intrinsics"
msgstr ""
-#: real.c:5760
-#, c-format
-msgid "%s: argument domain error"
+#: f/lang-options.h:189
+msgid "Disable libU77 intrinsics"
msgstr ""
-#: real.c:5761
-#, c-format
-msgid "%s: function singularity"
+#: f/lang-options.h:192
+msgid "Hide libU77 intrinsics"
msgstr ""
-#: real.c:5762
-#, c-format
-msgid "%s: overflow range error"
+#: f/lang-options.h:194
+msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
msgstr ""
-#: real.c:5763
-#, c-format
-msgid "%s: underflow range error"
+#: f/lang-options.h:196
+msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
msgstr ""
-#: real.c:5764
-#, c-format
-msgid "%s: total loss of precision"
-msgstr "%s: total förlust av precision"
+#: f/lang-options.h:199
+msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+msgstr ""
-#: real.c:5765
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr "%s: partiell förlust av precision"
+#: f/lang-options.h:201
+msgid "Treat initial values of 0 like non-zero values"
+msgstr ""
-#: real.c:5766
-#, c-format
-msgid "%s: NaN - producing operation"
+#: f/lang-options.h:204
+msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
msgstr ""
-#: reg-stack.c:661
-#, c-format
-msgid "Output constraint %d must specify a single register"
+#: f/lang-options.h:207
+msgid "Take at least one trip through each iterative DO loop"
msgstr ""
-#: reg-stack.c:671
-#, c-format
-msgid "Output constraint %d cannot be specified together with \"%s\" clobber"
+#: f/lang-options.h:211
+msgid "Print names of program units as they are compiled"
msgstr ""
-#: reg-stack.c:694
-msgid "Output regs must be grouped at top of stack"
+#: f/lang-options.h:214
+msgid "Disable fatal diagnostics about inter-procedural problems"
msgstr ""
-#: reg-stack.c:731
-msgid "Implicitly popped regs must be grouped at top of stack"
+#: f/lang-options.h:216
+msgid "Make prefix-radix non-decimal constants be typeless"
msgstr ""
-#: reg-stack.c:750
-#, c-format
-msgid "Output operand %d must use `&' constraint"
+#: f/lang-options.h:219
+msgid "Generate code to check subscript and substring bounds"
msgstr ""
-#: regclass.c:704
-#, c-format
-msgid "can't use '%s' as a %s register"
+#: f/lang-options.h:222
+msgid "Fortran-specific form of -fbounds-check"
msgstr ""
-#: regclass.c:726
-msgid "global register variable follows a function definition"
+#: f/lang-options.h:226
+msgid "Disable warnings about inter-procedural problems"
msgstr ""
-#: regclass.c:730
-msgid "register used for two global register variables"
+#: f/lang-options.h:230
+msgid "Warn about constructs with surprising meanings"
msgstr ""
-#: regclass.c:735
-msgid "call-clobbered register used for global register variable"
+#: f/lang-options.h:235
+msgid "Add a directory for INCLUDE searching"
msgstr ""
-#: reload.c:1206
-msgid "cannot reload integer constant operand in `asm'"
+#: f/lang-options.h:237
+msgid "Set the maximum line length"
msgstr ""
-#: reload.c:1228
-msgid "impossible register constraint in `asm'"
+#: f/bad.def:39
+#, fuzzy, no-c-format
+msgid "Missing first operand for binary operator at %0"
+msgstr "saknar numerisk $-operand i formatsträng"
+
+#: f/bad.def:42
+#, fuzzy, no-c-format
+msgid "Zero-length character constant at %0"
+msgstr "tom teckenkonstant"
+
+#: f/bad.def:45
+#, no-c-format
+msgid "Invalid token at %0 in expression or subexpression at %1"
msgstr ""
-#: reload.c:3375
-msgid "`&' constraint used with no register class"
+#: f/bad.def:48
+#, no-c-format
+msgid "Missing operand for operator at %1 at end of expression at %0"
msgstr ""
-#: reload.c:3532 reload.c:3746
-msgid "inconsistent operand constraints in an `asm'"
+#: f/bad.def:51
+#, no-c-format
+msgid "Label %A already defined at %1 when redefined at %0"
msgstr ""
-#: reload1.c:1235
-msgid "frame size too large for reliable stack checking"
+#: f/bad.def:54
+#, no-c-format
+msgid "Unrecognized character at %0 [info -f g77 M LEX]"
msgstr ""
-#: reload1.c:1238
-msgid "try reducing the number of local variables"
+#: f/bad.def:57
+#, no-c-format
+msgid "Label definition %A at %0 on empty statement (as of %1)"
msgstr ""
-#: reload1.c:1893
-#, c-format
-msgid "Can't find a register in class `%s' while reloading `asm'."
+#: f/bad.def:65
+#, no-c-format
+msgid "Invalid first character at %0 [info -f g77 M LEX]"
msgstr ""
-#: reload1.c:1897
-#, c-format
-msgid "Unable to find a register to spill in class `%s'."
+#: f/bad.def:68
+#, no-c-format
+msgid "Line too long as of %0 [info -f g77 M LEX]"
msgstr ""
-#: reload1.c:3918
-msgid "`asm' operand requires impossible reload"
+#: f/bad.def:71
+#, no-c-format
+msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
msgstr ""
-#: reload1.c:5033
-msgid "`asm' operand constraint incompatible with operand size"
+#: f/bad.def:74
+#, no-c-format
+msgid "Label number at %0 not in range 1-99999"
msgstr ""
-#: reload1.c:6619
-msgid "output operand is constant in `asm'"
+#: f/bad.def:77
+#, fuzzy, no-c-format
+msgid "At %0, '!' and '/*' are not valid comment delimiters"
+msgstr "\"Ll\" och \"lL\" är inte giltiga heltalssuffix"
+
+#: f/bad.def:80
+#, no-c-format
+msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
msgstr ""
-#: rtl.c:1296
-#, c-format
-msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
+#: f/bad.def:83
+#, no-c-format
+msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
msgstr ""
-#: rtl.c:1311
-#, c-format
-msgid ""
-"RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+#: f/bad.def:91
+#, fuzzy, no-c-format
+msgid "Character constant at %0 has no closing apostrophe at %1"
+msgstr "teckenkonstant för lång"
+
+#: f/bad.def:94
+#, no-c-format
+msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
msgstr ""
-#: rtl.c:1327
-#, c-format
-msgid ""
-"RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %"
-"s:%d"
+#: f/bad.def:97
+#, no-c-format
+msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
msgstr ""
-#: rtl.c:1340
-#, c-format
-msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
+#: f/bad.def:100
+#, fuzzy, no-c-format
+msgid "Integer at %0 too large"
+msgstr "heltalskonstant utanför sitt intervall"
+
+#: f/bad.def:123
+#, no-c-format
+msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
msgstr ""
-#: rtl.c:1354
-#, c-format
-msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
+#: f/bad.def:126
+#, no-c-format
+msgid "Missing close-period between `.%A' at %0 and %1"
msgstr ""
-#: rtl.c:1369
-#, c-format
-msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+#: f/bad.def:129
+#, no-c-format
+msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
msgstr ""
-#: stmt.c:917
-#, c-format
-msgid "jump to `%s' invalidly jumps into binding contour"
+#: f/bad.def:132
+#, no-c-format
+msgid "Missing value at %1 for real-number exponent at %0"
msgstr ""
-#: stmt.c:1153 stmt.c:3651
-#, c-format
-msgid "label `%s' used before containing binding contour"
+#: f/bad.def:135
+#, no-c-format
+msgid "Expected binary operator between expressions at %0 and at %1"
msgstr ""
-#: stmt.c:1283 stmt.c:1357
-msgid "`asm' cannot be used in function where memory usage is checked"
+#: f/bad.def:253
+#, no-c-format
+msgid "Semicolon at %0 is an invalid token"
msgstr ""
-#: stmt.c:1343
-msgid "`asm' cannot be used with `-fcheck-memory-usage'"
+#: f/bad.def:271
+#, no-c-format
+msgid "Extraneous comma in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1372
-#, c-format
-msgid "unknown register name `%s' in `asm'"
+#: f/bad.def:274
+#, no-c-format
+msgid "Missing comma in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1387
-msgid "too many alternatives in `asm'"
+#: f/bad.def:277
+#, no-c-format
+msgid "Spurious sign in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1398
-msgid "operand constraints for `asm' differ in number of alternatives"
+#: f/bad.def:280
+#, no-c-format
+msgid "Spurious number in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1446
-msgid "output operand constraint lacks `='"
+#: f/bad.def:283
+#, no-c-format
+msgid "Spurious text trailing number in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1465
-#, c-format
-msgid "output constraint `%c' for operand %d is not at the beginning"
+#: f/bad.def:291
+#, fuzzy, no-c-format
+msgid "Unrecognized FORMAT specifier at %0"
+msgstr "oigenkänd formatangivelse"
+
+#: f/bad.def:419
+#, no-c-format
+msgid "Missing close-parenthese(s) in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1472
-#, c-format
-msgid "output operand constraint %d contains `+'"
+#: f/bad.def:422
+#, no-c-format
+msgid "Missing number following period in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1481
-msgid "operand constraint contains '+' or '=' at illegal position."
+#: f/bad.def:425
+#, no-c-format
+msgid "Missing number following `E' in FORMAT statement at %0"
msgstr ""
-#: stmt.c:1487 stmt.c:1664
-#, c-format
-msgid "`%%' constraint used with last operand"
+#: f/bad.def:433
+#, no-c-format
+msgid "Spurious trailing comma preceding terminator at %0"
msgstr ""
-#: stmt.c:1501
-msgid "matching constraint not valid in output operand"
+#: f/bad.def:436
+#, no-c-format
+msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
msgstr ""
-#: stmt.c:1527 stmt.c:1724
-#, c-format
-msgid "invalid punctuation `%c' in constraint"
+#: f/bad.def:439
+#, no-c-format
+msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
msgstr ""
-#: stmt.c:1571
-#, c-format
-msgid "output number %d not directly addressable"
+#: f/bad.def:452
+#, no-c-format
+msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
msgstr ""
-#: stmt.c:1599
-#, c-format
-msgid "more than %d operands in `asm'"
+#: f/bad.def:455
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with its definition at %0"
msgstr ""
-#: stmt.c:1637
-#, c-format
-msgid "hard register `%s' listed as input operand to `asm'"
+#: f/bad.def:458
+#, no-c-format
+msgid "Reference to label at %1 inconsistent with earlier reference at %0"
msgstr ""
-#: stmt.c:1654
-#, c-format
-msgid "input operand constraint contains `%c'"
+#: f/bad.def:461
+#, no-c-format
+msgid "DO-statement reference to label at %1 follows its definition at %0"
msgstr ""
-#: stmt.c:1691
-msgid "matching constraint references invalid operand number"
+#: f/bad.def:464
+#, no-c-format
+msgid "Reference to label at %1 is outside block containing definition at %0"
msgstr ""
-#. ??? Leave this only until we have experience with what
-#. happens in combine and elsewhere when constraints are
-#. not satisfied.
-#: stmt.c:1758 stmt.c:1787
-#, c-format
-msgid "asm operand %d probably doesn't match constraints"
+#: f/bad.def:467
+#, no-c-format
+msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
msgstr ""
-#: stmt.c:3588
-#, c-format
-msgid "unused variable `%s'"
-msgstr "oanvänd variabel \"%s\""
+#: f/bad.def:470
+#, no-c-format
+msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+msgstr ""
-#: stmt.c:5047
-#, c-format
-msgid "enumeration value `%s' not handled in switch"
+#: f/bad.def:473
+#, no-c-format
+msgid "Label definition at %0 invalid on this kind of statement"
msgstr ""
-#: stmt.c:5073 stmt.c:5093
-#, c-format
-msgid "case value `%ld' not in enumerated type"
+#: f/bad.def:476
+#, no-c-format
+msgid "Statement at %0 invalid in this context"
msgstr ""
-#: stmt.c:5076 stmt.c:5096
-#, c-format
-msgid "case value `%ld' not in enumerated type `%s'"
+#: f/bad.def:479
+#, no-c-format
+msgid "Statement at %0 invalid in context established by statement at %1"
msgstr ""
-#: stor-layout.c:164
-msgid "type size can't be explicitly evaluated"
+#: f/bad.def:482
+#, no-c-format
+msgid "Statement at %0 must specify construct name specified at %1"
msgstr ""
-#: stor-layout.c:166
-msgid "variable-size type declared outside of any function"
+#: f/bad.def:485
+#, no-c-format
+msgid "Construct name at %0 superfluous, no construct name specified at %1"
msgstr ""
-#: stor-layout.c:439
-#, c-format
-msgid "size of `%s' is %d bytes"
-msgstr "storleken på \"%s\" är %d bytes"
+#: f/bad.def:488
+#, no-c-format
+msgid "Construct name at %0 not the same as construct name at %1"
+msgstr ""
-#: stor-layout.c:441
-#, c-format
-msgid "size of `%s' is larger than %d bytes"
-msgstr "storleken på \"%s\" är större än %d bytes"
+#: f/bad.def:491
+#, no-c-format
+msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+msgstr ""
-#: stor-layout.c:814 stor-layout.c:1066
-#, c-format
-msgid "packed attribute causes inefficient alignment for `%s'"
+#: f/bad.def:494
+#, no-c-format
+msgid "Label definition missing at %0 for DO construct specifying label at %1"
msgstr ""
-#: stor-layout.c:816 stor-layout.c:1068
-#, c-format
-msgid "packed attribute is unnecessary for `%s'"
+#: f/bad.def:497
+#, no-c-format
+msgid "Statement at %0 follows ELSE block for IF construct at %1"
msgstr ""
-#: stor-layout.c:831
-#, c-format
-msgid "padding struct to align `%s'"
+#: f/bad.def:500
+#, no-c-format
+msgid "No label definition for FORMAT statement at %0"
msgstr ""
-#: stor-layout.c:1030
-msgid "padding struct size to alignment boundary"
+#: f/bad.def:503
+#, no-c-format
+msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
msgstr ""
-#: stor-layout.c:1073
-msgid "packed attribute causes inefficient alignment"
+#: f/bad.def:506
+#, no-c-format
+msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
msgstr ""
-#: stor-layout.c:1075
-msgid "packed attribute is unnecessary"
+#: f/bad.def:509
+#, no-c-format
+msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
msgstr ""
-#: timevar.c:442
-msgid ""
-"\n"
-"Execution times (seconds)\n"
+#: f/bad.def:512
+#, no-c-format
+msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
msgstr ""
-"\n"
-"Exekveringstider (sekunder)\n"
-#. Print total time.
-#: timevar.c:490
-msgid " TOTAL :"
-msgstr " TOTALT :"
+#: f/bad.def:515
+#, no-c-format
+msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+msgstr ""
-#: timevar.c:529
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tid %s: %ld.%06ld (%ld%%)\n"
+#: f/bad.def:518
+#, no-c-format
+msgid "Program unit name at %0 not the same as name at %1"
+msgstr ""
-#: tlink.c:428
-#, c-format
-msgid "collect: reading %s\n"
+#: f/bad.def:521
+#, no-c-format
+msgid "Type name at %0 not the same as name at %1"
msgstr ""
-#: tlink.c:529
-#, c-format
-msgid "collect: recompiling %s\n"
+#: f/bad.def:524
+#, no-c-format
+msgid "End of source file before end of block started at %0"
msgstr ""
-#: tlink.c:694
-#, c-format
-msgid "collect: tweaking %s in %s\n"
+#: f/bad.def:527
+#, no-c-format
+msgid "Undefined label, first referenced at %0"
msgstr ""
-#: tlink.c:741
-msgid "collect: relinking\n"
+#: f/bad.def:530
+#, no-c-format
+msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
msgstr ""
-#: tlink.c:750
-#, c-format
-msgid "ld returned %d exit status"
+#: f/bad.def:533
+#, no-c-format
+msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
msgstr ""
-#: toplev.c:925
-msgid "Generate debugging info in default format"
+#: f/bad.def:536
+#, no-c-format
+msgid "RETURN statement at %0 invalid within a main program unit"
msgstr ""
-#: toplev.c:926
-msgid "Generate debugging info in default extended format"
+#: f/bad.def:539
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a main program unit"
msgstr ""
-#: toplev.c:928
-msgid "Generate STABS format debug info"
+#: f/bad.def:542
+#, no-c-format
+msgid "Alternate return specifier at %0 invalid within a function"
msgstr ""
-#: toplev.c:929
-msgid "Generate extended STABS format debug info"
+#: f/bad.def:545
+#, no-c-format
+msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
msgstr ""
-#: toplev.c:932
-msgid "Generate DWARF-1 format debug info"
+#: f/bad.def:548
+#, no-c-format
+msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
msgstr ""
-#: toplev.c:934
-msgid "Generate extended DWARF-1 format debug info"
+#: f/bad.def:551
+#, no-c-format
+msgid "No components specified as of %0 for derived-type definition beginning at %1"
msgstr ""
-#: toplev.c:937
-msgid "Generate DWARF-2 debug info"
+#: f/bad.def:554
+#, no-c-format
+msgid "No components specified as of %0 for structure definition beginning at %1"
msgstr ""
-#: toplev.c:940
-msgid "Generate XCOFF format debug info"
+#: f/bad.def:557
+#, no-c-format
+msgid "Missing structure name for outer structure definition at %0"
msgstr ""
-#: toplev.c:941
-msgid "Generate extended XCOFF format debug info"
+#: f/bad.def:560
+#, no-c-format
+msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
msgstr ""
-#: toplev.c:944
-msgid "Generate COFF format debug info"
+#: f/bad.def:563
+#, no-c-format
+msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
msgstr ""
-#: toplev.c:988
-msgid "Perform DWARF2 duplicate elimination"
+#: f/bad.def:566
+#, no-c-format
+msgid "No components specified as of %0 for map beginning at %1"
msgstr ""
-#: toplev.c:990
-msgid "Do not store floats in registers"
+#: f/bad.def:569
+#, no-c-format
+msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
msgstr ""
-#: toplev.c:992
-msgid "Consider all mem refs through pointers as volatile"
+#: f/bad.def:572
+#, no-c-format
+msgid "Missing %A specifier in statement at %0"
msgstr ""
-#: toplev.c:994
-msgid "Consider all mem refs to global data to be volatile"
+#: f/bad.def:575
+#, no-c-format
+msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
msgstr ""
-#: toplev.c:996
-msgid "Consider all mem refs to static data to be volatile"
+#: f/bad.def:578
+#, no-c-format
+msgid "Conflicting I/O control specifications at %0 and %1"
msgstr ""
-#: toplev.c:998
-msgid "Defer popping functions args from stack until later"
+#: f/bad.def:581
+#, no-c-format
+msgid "No UNIT= specifier in I/O control list at %0"
msgstr ""
-#: toplev.c:1000
-msgid "When possible do not generate stack frames"
+#: f/bad.def:584
+#, no-c-format
+msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
msgstr ""
-#: toplev.c:1002
-msgid "Optimize sibling and tail recursive calls"
+#: f/bad.def:587
+#, no-c-format
+msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
msgstr ""
-#: toplev.c:1004
-msgid "When running CSE, follow jumps to their targets"
+#: f/bad.def:595
+#, no-c-format
+msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
msgstr ""
-#: toplev.c:1006
-msgid "When running CSE, follow conditional jumps"
+#: f/bad.def:598
+#, fuzzy, no-c-format
+msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+msgstr "dubbla (eller överlappand) case-värden"
+
+#: f/bad.def:601
+#, no-c-format
+msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
msgstr ""
-#: toplev.c:1008
-msgid "Perform a number of minor, expensive optimisations"
+#: f/bad.def:604
+#, no-c-format
+msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
msgstr ""
-#: toplev.c:1010
-msgid "Perform jump threading optimisations"
+#: f/bad.def:617
+#, no-c-format
+msgid "Fortran 90 feature at %0 unsupported"
msgstr ""
-#: toplev.c:1012
-msgid "Perform strength reduction optimisations"
+#: f/bad.def:630
+#, no-c-format
+msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
msgstr ""
-#: toplev.c:1014
-msgid "Perform loop unrolling when iteration count is known"
+#: f/bad.def:638
+#, no-c-format
+msgid "Null element at %0 for array reference at %1"
msgstr ""
-#: toplev.c:1016
-msgid "Perform loop unrolling for all loops"
+#: f/bad.def:641
+#, no-c-format
+msgid "Too few elements (%A missing) as of %0 for array reference at %1"
msgstr ""
-#: toplev.c:1018
-msgid "Force all loop invariant computations out of loops"
+#: f/bad.def:644
+#, no-c-format
+msgid "Too many elements as of %0 for array reference at %1"
msgstr ""
-#: toplev.c:1020
-msgid "Strength reduce all loop general induction variables"
+#: f/bad.def:647
+#, no-c-format
+msgid "Missing colon as of %0 in substring reference for %1"
msgstr ""
-#: toplev.c:1022
-msgid "Store strings in writable data section"
+#: f/bad.def:650
+#, no-c-format
+msgid "Invalid use at %0 of substring operator on %1"
msgstr ""
-#: toplev.c:1024
-msgid "Enable machine specific peephole optimisations"
+#: f/bad.def:653
+#, no-c-format
+msgid "Substring begin/end point at %0 out of defined range"
msgstr ""
-#: toplev.c:1026
-msgid "Copy memory operands into registers before using"
+#: f/bad.def:656
+#, no-c-format
+msgid "Array element value at %0 out of defined range"
msgstr ""
-#: toplev.c:1028
-msgid "Copy memory address constants into regs before using"
+#: f/bad.def:659
+#, no-c-format
+msgid "Expression at %0 has incorrect data type or rank for its context"
msgstr ""
-#: toplev.c:1030
-msgid "Allow function addresses to be held in registers"
+#: f/bad.def:662
+#, no-c-format
+msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
msgstr ""
-#: toplev.c:1032
-msgid "Integrate simple functions into their callers"
+#: f/bad.def:665
+#, no-c-format
+msgid "%A step count known to be 0 (zero) at %0"
msgstr ""
-#: toplev.c:1034
-msgid "Generate code for funcs even if they are fully inlined"
+#: f/bad.def:668
+#, no-c-format
+msgid "%A end value plus step count known to overflow at %0"
msgstr ""
-#: toplev.c:1036
-msgid "Pay attention to the 'inline' keyword"
+#: f/bad.def:671
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
msgstr ""
-#: toplev.c:1038
-msgid "Emit static const variables even if they are not used"
+#: f/bad.def:674
+#, no-c-format
+msgid "%A begin, end, and step-count values known to result in no iterations at %0"
msgstr ""
-#: toplev.c:1040
-msgid "Check for syntax errors, then stop"
-msgstr "Leta efter syntaxfel, stoppa sedan"
+#: f/bad.def:677
+#, no-c-format
+msgid "Type disagreement between expressions at %0 and %1"
+msgstr ""
-#: toplev.c:1042
-msgid "Mark data as shared rather than private"
+#: f/bad.def:690
+#, no-c-format
+msgid "No specification for implied-DO iterator `%A' at %0"
msgstr ""
-#: toplev.c:1044
-msgid "Enable saving registers around function calls"
+#: f/bad.def:693
+#, no-c-format
+msgid "Gratuitous parentheses surround implied-DO construct at %0"
msgstr ""
-#: toplev.c:1046
-msgid "Return 'short' aggregates in memory, not registers"
+#: f/bad.def:696
+#, no-c-format
+msgid "Zero-size specification invalid at %0"
msgstr ""
-#: toplev.c:1048
-msgid "Return 'short' aggregates in registers"
+#: f/bad.def:699
+#, no-c-format
+msgid "Zero-size array at %0"
msgstr ""
-#: toplev.c:1050
-msgid "Attempt to fill delay slots of branch instructions"
+#: f/bad.def:702
+#, no-c-format
+msgid "Target machine does not support complex entity of kind specified at %0"
msgstr ""
-#: toplev.c:1052
-msgid "Perform the global common subexpression elimination"
+#: f/bad.def:705
+#, no-c-format
+msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
msgstr ""
-#: toplev.c:1054
-msgid "Perform enhanced load motion during global subexpression elimination"
+#: f/bad.def:708
+#, fuzzy, no-c-format
+msgid "Attempt to raise constant zero to a power at %0"
+msgstr "Försök håll stacken justerad till denna 2-potens"
+
+#: f/bad.def:806
+#, no-c-format
+msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
msgstr ""
-#: toplev.c:1056
-msgid "Perform store motion after global subexpression elimination"
+#: f/bad.def:809
+#, no-c-format
+msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
msgstr ""
-#: toplev.c:1058
-msgid "Run CSE pass after loop optimisations"
+#: f/bad.def:812
+#, no-c-format
+msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
msgstr ""
-#: toplev.c:1060
-msgid "Run the loop optimiser twice"
+#: f/bad.def:815
+#, no-c-format
+msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
msgstr ""
-#: toplev.c:1062
-msgid "Delete useless null pointer checks"
+#: f/bad.def:818
+#, no-c-format
+msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
msgstr ""
-#: toplev.c:1064
-msgid "Pretend that host and target use the same FP format"
+#: f/bad.def:821
+#, fuzzy, no-c-format
+msgid "Unable to open INCLUDE file `%A' at %0"
+msgstr "kan inte öppna fil \"%s\""
+
+#: f/bad.def:839
+#, no-c-format
+msgid "Null argument at %0 for statement function reference at %1"
msgstr ""
-#: toplev.c:1066
-msgid "Reschedule instructions before register allocation"
+#: f/bad.def:842
+#, no-c-format
+msgid "Null argument at %0 for procedure invocation at %1"
msgstr ""
-#: toplev.c:1068
-msgid "Reschedule instructions after register allocation"
+#: f/bad.def:845
+#, no-c-format
+msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
msgstr ""
-#: toplev.c:1070
-msgid "Enable scheduling across basic blocks"
+#: f/bad.def:848
+#, no-c-format
+msgid "%A too many arguments as of %0 for statement function reference at %1"
msgstr ""
-#: toplev.c:1072
-msgid "Allow speculative motion of non-loads"
+#: f/bad.def:851
+#, no-c-format
+msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
msgstr ""
-#: toplev.c:1074
-msgid "Allow speculative motion of some loads"
+#: f/bad.def:854
+#, no-c-format
+msgid "Unsupported FORMAT specifier at %0"
msgstr ""
-#: toplev.c:1076
-msgid "Allow speculative motion of more loads"
+#: f/bad.def:857
+#, no-c-format
+msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
msgstr ""
-#: toplev.c:1078
-msgid "Replace add,compare,branch with branch on count reg"
+#: f/bad.def:880
+#, no-c-format
+msgid "Unsupported VXT statement at %0"
msgstr ""
-#: toplev.c:1080
-msgid "Generate position independent code, if possible"
+#: f/bad.def:883
+#, no-c-format
+msgid "Attempt to specify second initial value for `%A' at %0"
msgstr ""
-#: toplev.c:1083
-msgid "Enable exception handling"
+#: f/bad.def:886
+#, no-c-format
+msgid "Too few initial values in list of initializers for `%A' at %0"
msgstr ""
-#: toplev.c:1085
-msgid "Just generate unwind tables for exception handling"
+#: f/bad.def:889
+#, no-c-format
+msgid "Too many initial values in list of initializers starting at %0"
msgstr ""
-#: toplev.c:1087
-msgid "Support synchronous non-call exceptions"
+#: f/bad.def:892
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in statement at %0"
msgstr ""
-#: toplev.c:1089
-msgid "Insert arc based program profiling code"
+#: f/bad.def:895
+#, no-c-format
+msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
msgstr ""
-#: toplev.c:1091
-msgid "Create data files needed by gcov"
+#: f/bad.def:898
+#, no-c-format
+msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
msgstr ""
-#: toplev.c:1093
-msgid "Use profiling information for branch probabilities"
+#: f/bad.def:901
+#, no-c-format
+msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
msgstr ""
-#: toplev.c:1095
-msgid "Reorder basic blocks to improve code placement"
+#: f/bad.def:904
+#, no-c-format
+msgid "Not an integer constant expression in implied do-loop in statement at %0"
msgstr ""
-#: toplev.c:1097
-msgid "Do the register renaming optimization pass"
+#: f/bad.def:907
+#, no-c-format
+msgid "Attempt to specify second initial value for element of `%A' at %0"
msgstr ""
-#: toplev.c:1099
-msgid "Do not put unitialised globals in the common section"
+#: f/bad.def:910
+#, no-c-format
+msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
msgstr ""
-#: toplev.c:1101
-msgid "Do not generate .size directives"
-msgstr "Generera inte .size-direktiv"
+#: f/bad.def:913
+#, no-c-format
+msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+msgstr ""
-#: toplev.c:1103
-msgid "place each function into its own section"
-msgstr "placera varje funktion i sin egen sektion"
+#: f/bad.def:916
+#, no-c-format
+msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+msgstr ""
-#: toplev.c:1105
-msgid "place data items into their own section"
+#: f/bad.def:919
+#, no-c-format
+msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
msgstr ""
-#: toplev.c:1107
-msgid "Add extra commentry to assembler output"
+#: f/bad.def:922
+#, no-c-format
+msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
msgstr ""
-#: toplev.c:1109
-msgid "Output GNU ld formatted global initialisers"
+#: f/bad.def:925
+#, no-c-format
+msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
msgstr ""
-#: toplev.c:1111
-msgid "Enables a register move optimisation"
+#: f/bad.def:928
+#, no-c-format
+msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
msgstr ""
-#: toplev.c:1113
-msgid "Do the full regmove optimization pass"
+#: f/bad.def:936
+#, no-c-format
+msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
msgstr ""
-#: toplev.c:1115
-msgid "Pack structure members together without holes"
+#: f/bad.def:939
+#, no-c-format
+msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
msgstr ""
-#: toplev.c:1117
-msgid "Insert stack checking code into the program"
+#: f/bad.def:942
+#, no-c-format
+msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
msgstr ""
-#: toplev.c:1119
-msgid "Specify that arguments may alias each other & globals"
+#: f/bad.def:945
+#, no-c-format
+msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
msgstr ""
-#: toplev.c:1121
-msgid "Assume arguments may alias globals but not each other"
+#: f/bad.def:958
+#, no-c-format
+msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
msgstr ""
-#: toplev.c:1123
-msgid "Assume arguments do not alias each other or globals"
+#: f/bad.def:976
+#, no-c-format
+msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
msgstr ""
-#: toplev.c:1125
-msgid "Assume strict aliasing rules apply"
+#: f/bad.def:979
+#, no-c-format
+msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
msgstr ""
-#: toplev.c:1127
-msgid "Align the start of loops"
+#: f/bad.def:987
+#, no-c-format
+msgid "Blank common initialized at %0"
msgstr ""
-#: toplev.c:1129
-msgid "Align labels which are only reached by jumping"
+#: f/bad.def:990
+#, no-c-format
+msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
msgstr ""
-#: toplev.c:1131
-msgid "Align all labels"
+#: f/bad.def:993
+#, no-c-format
+msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
msgstr ""
-#: toplev.c:1133
-msgid "Align the start of functions"
+#: f/bad.def:996
+#, no-c-format
+msgid "Character `%A' (for example) is upper-case in symbol name at %0"
msgstr ""
-#: toplev.c:1135
-msgid "Generate code to check every memory access"
+#: f/bad.def:999
+#, no-c-format
+msgid "Character `%A' (for example) is lower-case in symbol name at %0"
msgstr ""
-#: toplev.c:1137
-msgid "Add a prefix to all function names"
+#: f/bad.def:1002
+#, no-c-format
+msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
msgstr ""
-#: toplev.c:1139
-msgid ""
-"Suppress output of instruction numbers and line number notes in debugging "
-"dumps"
+#: f/bad.def:1005
+#, no-c-format
+msgid "Initial character `%A' is lower-case in symbol name at %0"
msgstr ""
-#: toplev.c:1141
-msgid "Instrument function entry/exit with profiling calls"
+#: f/bad.def:1013
+#, no-c-format
+msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
msgstr ""
-#: toplev.c:1143
-msgid "Enable SSA optimizations"
+#: f/bad.def:1016
+#, no-c-format
+msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
msgstr ""
-#: toplev.c:1145
-msgid "Enable dead code elimination"
+#: f/bad.def:1034
+#, no-c-format
+msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
msgstr ""
-#: toplev.c:1147
-msgid "External symbols have a leading underscore"
-msgstr "Externa symboler startar med en understrykning"
+#: f/bad.def:1037
+#, fuzzy, no-c-format
+msgid "Truncating characters on right side of character constant at %0"
+msgstr "flerteckens teckenkonstant"
-#: toplev.c:1149
-msgid "Process #ident directives"
-msgstr "Hantera #ident-direktiv"
+#: f/bad.def:1040
+#, no-c-format
+msgid "Truncating characters on right side of hollerith constant at %0"
+msgstr ""
-#: toplev.c:1151
-msgid "Enables an rtl peephole pass run before sched2"
+#: f/bad.def:1043
+#, no-c-format
+msgid "Truncating non-zero data on left side of numeric constant at %0"
msgstr ""
-#: toplev.c:1153
-msgid "Enables guessing of branch probabilities"
+#: f/bad.def:1046
+#, no-c-format
+msgid "Truncating non-zero data on left side of typeless constant at %0"
msgstr ""
-#: toplev.c:1155
-msgid "Set errno after built-in math functions"
-msgstr "Sätt errno efter inbyggda matematikfunktioner"
+#: f/bad.def:1049
+#, fuzzy, no-c-format
+msgid "Typeless constant at %0 too large"
+msgstr "heltalskonstant utanför sitt intervall"
-#: toplev.c:1157
-msgid "Floating-point operations can trap"
+#: f/bad.def:1052
+#, no-c-format
+msgid "First-column ampersand continuation at %0"
msgstr ""
-#: toplev.c:1159
-msgid "Allow math optimizations that may violate IEEE or ANSI standards"
+#: f/bad.def:1055 f/bad.def:1058
+#, no-c-format
+msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: toplev.c:1161
-msgid "Compile pointers as triples: value, base & end"
+#: f/bad.def:1061 f/bad.def:1064
+#, no-c-format
+msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: toplev.c:1163
-msgid "Generate code to check bounds before dereferencing pointers and arrays"
+#: f/bad.def:1067 f/bad.def:1070
+#, no-c-format
+msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: toplev.c:1165
-msgid "Convert floating point constant to single precision constant"
+#: f/bad.def:1073
+#, no-c-format
+msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: toplev.c:1167
-msgid "Report time taken by each compiler pass at end of run"
+#: f/bad.def:1076
+#, no-c-format
+msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: toplev.c:1169
-msgid "Report on permanent memory allocation at end of run"
+#: f/bad.def:1079 f/bad.def:1082
+#, no-c-format
+msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
msgstr ""
-#: toplev.c:1171
-msgid "Trap for signed overflow in addition / subtraction / multiplication."
-msgstr ""
+#: f/bad.def:1085
+#, fuzzy, no-c-format
+msgid "Array `%A' at %0 is too large to handle"
+msgstr "fältet \"%s\" är för stort"
-#: toplev.c:1188
-msgid "Compile just for ISO C89"
-msgstr ""
+#: f/bad.def:1088
+#, fuzzy, no-c-format
+msgid "Statement function `%A' defined at %0 is not used"
+msgstr "etikett \"%s\" definierad men inte använd"
-#: toplev.c:1190
-msgid "Do not promote floats to double if using -traditional"
+#: f/bad.def:1091
+#, no-c-format
+msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
msgstr ""
-#: toplev.c:1192
-msgid "Determine language standard"
-msgstr ""
+#: f/bad.def:1094
+#, fuzzy, no-c-format
+msgid "Internal compiler error -- cannot perform operation"
+msgstr "Internt kompilatorfel i %s, vid %s:%d"
-#: toplev.c:1196
-msgid "Make bitfields by unsigned by default"
+#. Kind messages are used in diagnostic location reports of the
+#. form "<file>: In function `foo': <error message>".
+#: f/info-k.def:32
+msgid "In unknown kind"
msgstr ""
-#: toplev.c:1200
-msgid "Make 'char' be signed by default"
+#: f/info-k.def:33
+msgid "In entity"
msgstr ""
-#: toplev.c:1202
-msgid "Make 'char' be unsigned by default"
+#: f/info-k.def:34
+#, fuzzy
+msgid "In function"
+msgstr "I funktion `%s':"
+
+#: f/info-k.def:35
+msgid "In subroutine"
msgstr ""
-#: toplev.c:1208
-msgid "Attempt to support traditional K&R style C"
+#: f/info-k.def:36
+#, fuzzy
+msgid "In program"
+msgstr "program: %s\n"
+
+#: f/info-k.def:37
+msgid "In block-data unit"
msgstr ""
-#: toplev.c:1214
-msgid "Do not recognise the 'asm' keyword"
+#: f/info-k.def:38
+msgid "In common block"
msgstr ""
-#: toplev.c:1217
-msgid "Do not recognise any built in functions"
-msgstr "Känn inte igen några inbyggda funktioner"
+#: f/info-k.def:39
+#, fuzzy
+msgid "In construct"
+msgstr "struct"
-#: toplev.c:1219
-msgid "Assume normal C execution environment"
+#: f/info-k.def:40
+msgid "In namelist"
msgstr ""
-#: toplev.c:1222
-msgid "Assume that standard libraries & main might not exist"
+#: f/info-k.def:41
+msgid "In anything"
msgstr ""
-#: toplev.c:1225
-msgid "Allow different types as args of ? operator"
+#: java/check-init.c:917
+#, c-format
+msgid "internal error in check-init: tree code not implemented: %s"
msgstr ""
-#: toplev.c:1228
-msgid "Allow the use of $ inside identifiers"
-msgstr ""
+#: java/check-init.c:990
+#, fuzzy, c-format
+msgid "final field '%s' may not have been initialized"
+msgstr "objekt med variabel storlek kan inte initieras"
-#: toplev.c:1233
-msgid "Use the same size for double as for float"
+#: java/class.c:539 java/class.c:564
+msgid "internal error - too many interface type"
msgstr ""
-#: toplev.c:1236
-msgid "Use the smallest fitting integer to hold enums"
+#: java/class.c:677
+msgid "bad method signature"
msgstr ""
-#: toplev.c:1239
-msgid "Override the underlying type for wchar_t to `unsigned short'"
+#: java/class.c:726
+msgid "misplaced ConstantValue attribute (not in any field)"
msgstr ""
-#: toplev.c:1243
-msgid "Enable most warning messages"
+#: java/class.c:728
+#, c-format
+msgid "duplicate ConstantValue attribute for field '%s'"
msgstr ""
-#: toplev.c:1245
-msgid "Warn about casting functions to incompatible types"
+#: java/class.c:739
+#, c-format
+msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr ""
-#: toplev.c:1249
-msgid "Warn about functions which might be candidates for format attributes"
+#: java/class.c:1103
+#, c-format
+msgid "field '%s' not found in class"
msgstr ""
-#: toplev.c:1252
-msgid "Warn about casts which discard qualifiers"
+#: java/class.c:1365
+msgid "abstract method in non-abstract class"
msgstr ""
-#: toplev.c:1255
-msgid "Warn about subscripts whose type is 'char'"
-msgstr "Varna om index har typen \"char\""
-
-#: toplev.c:1258 toplev.c:1261
-msgid "Warn if nested comments are detected"
-msgstr "Varna om nästlade kommentarer upptäcks"
-
-#: toplev.c:1264
-msgid "Warn about possibly confusing type conversions"
+#: java/class.c:2067
+#, c-format
+msgid "non-static method '%s' overrides static method"
msgstr ""
-#: toplev.c:1267
-msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+#: java/decl.c:1537
+#, c-format
+msgid "In %s: overlapped variable and exception ranges at %d"
msgstr ""
-#: toplev.c:1271
-msgid "Don't warn about strftime formats yielding 2 digit years"
+#: java/decl.c:1618
+msgid "bad type in parameter debug info"
msgstr ""
-#: toplev.c:1274
-msgid "Don't warn about too many arguments to format functions"
-msgstr "Varna inte om för många argument till format-funktioner"
-
-#: toplev.c:1276
-msgid "Warn about non-string-literal format strings"
+#: java/decl.c:1628
+#, c-format
+msgid "bad PC range for debug info for local `%s'"
msgstr ""
-#: toplev.c:1279
-msgid "Warn about possible security problems with format functions"
+#: java/expr.c:530
+msgid "stack underflow - dup* operation"
msgstr ""
-#: toplev.c:1282
-msgid "Warn about implicit function declarations"
+#: java/expr.c:1536
+#, c-format
+msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr ""
-#: toplev.c:1286
-msgid "Warn when a declaration does not specify a type"
+#: java/expr.c:1565
+#, c-format
+msgid "field `%s' not found"
msgstr ""
-#: toplev.c:1291
-msgid "Warn about the use of the #import directive"
+#: java/expr.c:1717
+msgid "ret instruction not implemented"
msgstr ""
-#: toplev.c:1295
-msgid "Do not warn about using 'long long' when -pedantic"
-msgstr ""
+#: java/expr.c:1852
+#, c-format
+msgid "method '%s' not found in class"
+msgstr "metod \"%s\" kan inte hittas i klassen"
-#: toplev.c:1297
-msgid "Warn about suspicious declarations of main"
-msgstr "Varna om tveksamma deklarationer av main"
+#: java/expr.c:2055
+#, c-format
+msgid "failed to find class '%s'"
+msgstr "kunde inte hitta klassen \"%s\""
-#: toplev.c:1300
-msgid "Warn about possibly missing braces around initialisers"
+#: java/expr.c:2065
+#, c-format
+msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr ""
-#: toplev.c:1303
-msgid "Warn about global funcs without previous declarations"
+#: java/expr.c:2075
+msgid "invokestatic on non static method"
msgstr ""
-#: toplev.c:1306
-msgid "Warn about global funcs without prototypes"
+#: java/expr.c:2080
+msgid "invokestatic on abstract method"
msgstr ""
-#: toplev.c:1309
-msgid "Warn about use of multicharacter literals"
+#: java/expr.c:2088
+msgid "invoke[non-static] on static method"
msgstr ""
-#: toplev.c:1312
-msgid "Warn about externs not at file scope level"
+#: java/expr.c:2373
+#, c-format
+msgid "missing field '%s' in '%s'"
msgstr ""
-#: toplev.c:1315
-msgid "Warn about possible missing parentheses"
-msgstr "Varna om eventuellt saknade parenteser"
+#: java/expr.c:2379
+#, c-format
+msgid "mismatching signature for field '%s' in '%s'"
+msgstr ""
-#: toplev.c:1318
-msgid "Warn about possible violations of sequence point rules"
+#: java/expr.c:2402
+#, c-format
+msgid "assignment to final field `%s' not in field's class"
msgstr ""
-#: toplev.c:1321
-msgid "Warn about function pointer arithmetic"
-msgstr "Varna om aritmetik med funktionspekare"
+#: java/expr.c:2407
+#, c-format
+msgid "assignment to final static field `%s' not in class initializer"
+msgstr ""
-#: toplev.c:1324
-msgid "Warn about multiple declarations of the same object"
-msgstr "Varna om multipla deklarationer av samma objekt"
+#: java/expr.c:2414
+#, c-format
+msgid "assignment to final field `%s' not in constructor"
+msgstr ""
-#: toplev.c:1327
-msgid "Warn about signed/unsigned comparisons"
-msgstr "Varna om jämförelser mellan signed/unsigned"
+# fixme: spola tillbaka är inte perfekt
+#: java/expr.c:2661
+#, fuzzy, c-format
+msgid "can't expand %s"
+msgstr "kan inte spola tillbaka %s"
-#: toplev.c:1330
-msgid "Warn about testing equality of floating point numbers"
+#: java/expr.c:2838
+msgid "invalid PC in line number table"
msgstr ""
-#: toplev.c:1333
-msgid "Warn about unrecognized pragmas"
+#. We've just reached the end of a region of dead code.
+#: java/expr.c:2883
+#, c-format
+msgid "unreachable bytecode from %d to before %d"
msgstr ""
-#: toplev.c:1336
-msgid "Warn about non-prototyped function decls"
+#. We've just reached the end of a region of dead code.
+#: java/expr.c:2920
+#, c-format
+msgid "unreachable bytecode from %d to the end of the method"
msgstr ""
-#: toplev.c:1339
-msgid "Warn about constructs whose meaning change in ISO C"
+#. duplicate code from LOAD macro
+#: java/expr.c:3238
+msgid "unrecogized wide sub-instruction"
msgstr ""
-#: toplev.c:1342
-msgid "Warn when trigraphs are encountered"
+#: 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 ""
-#: toplev.c:1347
-msgid "Mark strings as 'const char *'"
-msgstr "Markera strängar som \"const char *\""
-
-#: toplev.c:1489
-msgid "Warn when a function is unused"
-msgstr "Varna när en funktion är oanvänd"
+#: java/jcf-parse.c:338
+msgid "bad string constant"
+msgstr ""
-#: toplev.c:1491
-msgid "Warn when a label is unused"
-msgstr "Varna när en etikett är oanvänd"
+#: java/jcf-parse.c:356
+#, c-format
+msgid "bad value constant type %d, index %d"
+msgstr ""
-#: toplev.c:1493
-msgid "Warn when a function parameter is unused"
-msgstr "Varna när en funktionsparameter är oanvänd"
+#: java/jcf-parse.c:528
+#, c-format
+msgid "can't reopen %s"
+msgstr ""
-#: toplev.c:1495
-msgid "Warn when a variable is unused"
-msgstr "Varna när en variabel är oanvänd"
+#: java/jcf-parse.c:533
+#, c-format
+msgid "can't close %s"
+msgstr "kan inte stänga %s"
-#: toplev.c:1497
-msgid "Warn when an expression value is unused"
-msgstr "Varna när ett uttrycksvärde är oanvänt"
+#: java/jcf-parse.c:615
+#, fuzzy, c-format
+msgid "cannot find file for class %s"
+msgstr "Kan inte hitta filen med klass %s."
-#: toplev.c:1499
-msgid "Do not suppress warnings from system headers"
+#: java/jcf-parse.c:627
+msgid "not a valid Java .class file"
msgstr ""
-#: toplev.c:1501
-msgid "Treat all warnings as errors"
+#: java/jcf-parse.c:630
+msgid "error while parsing constant pool"
msgstr ""
-#: toplev.c:1503
-msgid "Warn when one local variable shadows another"
+#: java/jcf-parse.c:633
+#, c-format
+msgid "error in constant pool entry #%d\n"
msgstr ""
-#: toplev.c:1505
-msgid "Warn about enumerated switches missing a specific case"
+#. FIXME - where was first time
+#: java/jcf-parse.c:645
+#, c-format
+msgid "reading class %s for the second time from %s"
msgstr ""
-#: toplev.c:1507
-msgid "Warn about returning structures, unions or arrays"
+#: java/jcf-parse.c:663
+msgid "error while parsing fields"
msgstr ""
-#: toplev.c:1509
-msgid "Warn about pointer casts which increase alignment"
+#: java/jcf-parse.c:666
+msgid "error while parsing methods"
msgstr ""
-#: toplev.c:1511
-msgid "Warn about code that will never be executed"
+#: java/jcf-parse.c:669
+msgid "error while parsing final attributes"
msgstr ""
-#: toplev.c:1513
-msgid "Warn about unitialized automatic variables"
+#: java/jcf-parse.c:683
+#, c-format
+msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr ""
-#: toplev.c:1515
-msgid "Warn when an inlined function cannot be inlined"
+#: java/jcf-parse.c:773
+msgid "missing Code attribute"
msgstr ""
-#: toplev.c:1517
-msgid "Warn when the packed attribute has no effect on struct layout"
+#: java/jcf-parse.c:1010
+msgid "source file seen twice on command line and will be compiled only once"
msgstr ""
-#: toplev.c:1519
-msgid "Warn when padding is required to align struct members"
+#: java/jcf-parse.c:1026
+msgid "no input file specified"
msgstr ""
-#: toplev.c:1521
-msgid "Warn when an optimization pass is disabled"
+#: java/jcf-parse.c:1055
+#, c-format
+msgid "can't close input file %s"
msgstr ""
-#: toplev.c:1523
-msgid "Warn about functions which might be candidates for attribute noreturn"
-msgstr "Varna om funktioner som är möjliga kandidater för attributet noreturn"
-
-#: toplev.c:1577 toplev.c:5031 tradcpp.c:776
+#: java/jcf-parse.c:1092
#, c-format
-msgid "Invalid option `%s'"
-msgstr "Ogiltig flagga \"%s\""
+msgid "bad zip/jar file %s"
+msgstr ""
-#: toplev.c:1723
+#: java/jcf-write.c:2641
#, c-format
-msgid "Internal error: %s"
-msgstr "Internt fel: %s"
+msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
+msgstr ""
-#: toplev.c:2023
-#, c-format
-msgid "`%s' used but never defined"
-msgstr "\"%s\" är använd men inte definierad"
+#: java/jcf-write.c:2979
+#, fuzzy
+msgid "field initializer type mismatch"
+msgstr "fältinitierare är ej konstant"
-#: toplev.c:2026
+#: java/jcf-write.c:3387
#, c-format
-msgid "`%s' declared `static' but never defined"
-msgstr "\"%s\" är deklarerad som \"static\" men definieras aldrig"
+msgid "can't create directory %s"
+msgstr "kan inte skapa katalog %s"
-#: toplev.c:2048
-#, c-format
-msgid "`%s' defined but not used"
-msgstr "\"%s\" är definierad men inte använd"
+#: java/jcf-write.c:3441
+#, fuzzy, c-format
+msgid "can't create %s"
+msgstr "kan inte stänga %s"
-#: toplev.c:2186
-#, c-format
-msgid "can't open %s for writing"
-msgstr "kan inte öppna fil %s för skrivning"
+#: java/jv-scan.c:187
+msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
+msgstr ""
+
+#: java/jv-scan.c:190
+#, fuzzy, c-format
+msgid "can't open output file `%s'"
+msgstr "Kan inte öppna utdatafil \"%s\""
-#: toplev.c:2279
-msgid "-ffunction-sections not supported for this target."
+#: java/jv-scan.c:224
+#, fuzzy, c-format
+msgid "file not found `%s'"
+msgstr "Kan inte hitta filen \"%s\""
+
+#: java/jvspec.c:426
+msgid "can't specify `-D' without `--main'\n"
msgstr ""
-#: toplev.c:2284
-msgid "-fdata-sections not supported for this target."
+#: java/jvspec.c:429
+#, fuzzy, c-format
+msgid "`%s' is not a valid class name"
+msgstr "\"%s\" är inte ett giltigt filnamn"
+
+#: java/jvspec.c:435
+msgid "--resource requires -o"
msgstr ""
-#: toplev.c:2292
-msgid "-ffunction-sections disabled; it makes profiling impossible."
+#: java/jvspec.c:442
+msgid "warning: already-compiled .class files ignored with -C"
msgstr ""
-#: toplev.c:2298
-msgid "-ffunction-sections may affect debugging on some targets."
+#: java/jvspec.c:449
+msgid "cannot specify both -C and -o"
+msgstr "kan inte ange både -C och -o"
+
+#: java/jvspec.c:461
+msgid "cannot create temporary file"
msgstr ""
-#: toplev.c:2339
-msgid "Errors detected in input file (your bison.simple is out of date)\n"
+#: java/jvspec.c:489
+msgid "using both @FILE with multiple files not implemented"
msgstr ""
-#: toplev.c:2476
-#, c-format
-msgid "error writing to %s"
-msgstr "fel vid skrivning till %s"
+#: java/jvspec.c:538
+msgid "cannot specify `main' class when not linking"
+msgstr ""
-#: toplev.c:2572
-#, c-format
-msgid "invalid register name `%s' for register variable"
+#: java/lang.c:543
+msgid "can't do dependency tracking with input from stdin"
msgstr ""
-#: toplev.c:3855
-msgid ""
-" -ffixed-<register> Mark <register> as being unavailable to the "
-"compiler\n"
+#: java/lang.c:559
+msgid "couldn't determine target name for dependency tracking"
msgstr ""
-" -ffixed-<register> Markera <register> som ej tillgängligt för "
-"kompilatorn\n"
-#: toplev.c:3856
+#: java/lex.c:303
+#, c-format
msgid ""
-" -fcall-used-<register> Mark <register> as being corrupted by function "
-"calls\n"
+"unknown encoding: `%s'\n"
+"This might mean that your locale's encoding is not supported\n"
+"by your system's iconv(3) implementation. If you aren't trying\n"
+"to use a particular encoding for your input file, try the\n"
+"`--encoding=UTF-8' option"
msgstr ""
-" -fcall-used-<register> Ange att <register> förstörs av funktionsanrop\n"
-#: toplev.c:3857
-msgid ""
-" -fcall-saved-<register> Mark <register> as being preserved across "
-"functions\n"
-msgstr " -fcall-saved-<register> Ange att <register> bevaras av funktioner\n"
+#: java/mangle.c:85
+#, fuzzy, c-format
+msgid "can't mangle %s"
+msgstr "kan inte stänga %s"
-#: toplev.c:3858
-msgid ""
-" -finline-limit=<number> Limits the size of inlined functions to <number>\n"
+#: java/mangle_name.c:144 java/mangle_name.c:216
+msgid "internal error - invalid Utf8 name"
+msgstr "internt fel - ogiltigt Utf8-namn"
+
+#: ../../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 ""
-" -finline-limit=<nummer> Begränsa storlek på inline-funktioner till "
-"<nummer>\n"
-#: toplev.c:3859
-msgid ""
-" -fmessage-length=<number> Limits diagnostics messages lengths to <number> "
-"characters per line. 0 suppresses line-wrapping\n"
+#: ../../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 ""
-" -fmessage-length=<nummer> Begränsa felmeddelandens längd till <nummer> "
-"tecken per rad. 0 stänger av radbrytning\n"
-#: toplev.c:3860
-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"
+#: ../../gcc-3cvs/gcc/java/parse.y:732 ../../gcc-3cvs/gcc/java/parse.y:770
+msgid "Missing name"
msgstr ""
-" -fdiagnostics-show-location=[once | every-line] Anger hur ofta "
-"källkodspositioner skall skrivas ut, som prefix, i början av utskrift vid "
-"radbrytning\n"
-#: toplev.c:3871
-msgid " -O[number] Set optimisation level to [number]\n"
-msgstr " -O[nummer] Sätt optimeringsnivå till [nummer]\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:795
+msgid "'*' expected"
+msgstr ""
-#: toplev.c:3872
-msgid " -Os Optimise for space rather than speed\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:809
+msgid "Class or interface declaration expected"
msgstr ""
-" -Os Optimera för storlek istället för hastighet\n"
-#: toplev.c:3884
-msgid ""
-" -pedantic Issue warnings needed by strict compliance to ISO "
-"C\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848
+msgid "Missing class name"
msgstr ""
-" -pedantic Ge varningar som krävs för att strikt följa ISO C\n"
-#: toplev.c:3885
-msgid ""
-" -pedantic-errors Like -pedantic except that errors are produced\n"
-msgstr " -pedantic-errors Som -pedantic men ger fel istället\n"
+#: ../../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 ""
-#: toplev.c:3886
-msgid " -w Suppress warnings\n"
-msgstr " -w Stoppa varningar\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:865
+msgid "Missing super class name"
+msgstr ""
-#: toplev.c:3887
-msgid " -W Enable extra warnings\n"
-msgstr " -W Slå på extra varningar\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891
+msgid "Missing interface name"
+msgstr ""
-#: toplev.c:3898
-msgid " -Wunused Enable unused warnings\n"
-msgstr " -Wunused Slå på oanvända varningar\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:977
+msgid "Missing variable initializer"
+msgstr ""
-#: toplev.c:3899
-msgid ""
-" -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:994
+msgid "Invalid declaration"
msgstr ""
-" -Wlarger-than-<nummer> Varna om objekt är större än <nummer> bytes\n"
-#: toplev.c:3900
-msgid " -p Enable function profiling\n"
-msgstr " -p Slå på funktionsprofilering\n"
+#: ../../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 ""
-#: toplev.c:3902
-msgid " -a Enable block profiling \n"
-msgstr " -a Slå på blockprofilering\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1001
+msgid "Unbalanced ']'"
+msgstr ""
-#: toplev.c:3905
-msgid " -ax Enable jump profiling \n"
-msgstr " -ax Slå på hopprofilering\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1037
+msgid "Invalid method declaration, method name required"
+msgstr ""
-#: toplev.c:3907
-msgid " -o <file> Place output into <file> \n"
-msgstr " -o <fil> Skriv utdata i <fil> \n"
+#: ../../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 ""
-#: toplev.c:3908
-msgid ""
-" -G <number> Put global and static data smaller than <number>\n"
-" bytes into a special section (on some targets)\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1057
+msgid "Invalid method declaration, return type required"
msgstr ""
-" -G <nummer> Placera global and statisk data mindre än "
-"<nummer>\n"
-" bytes i en speciell sektion (vissa arkitekturer)\n"
-#: toplev.c:3919
-msgid " -aux-info <file> Emit declaration info into <file>\n"
-msgstr " -aux-info <fil> Generera deklarationsinfo till fil <fil>\n"
+#: ../../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 ""
-#: toplev.c:3920
-msgid ""
-" -quiet Do not display functions compiled or elapsed time\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1096
+msgid "Missing formal parameter term"
msgstr ""
-" -quiet Visa inte kompilerade funktioner eller tiden som "
-"förbrukats\n"
-#: toplev.c:3921
-msgid " -version Display the compiler's version\n"
-msgstr " -version Visa kompilatorns version\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116
+msgid "Missing identifier"
+msgstr ""
-#: toplev.c:3922
-msgid ""
-" -d[letters] Enable dumps from specific passes of the compiler\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1136 ../../gcc-3cvs/gcc/java/parse.y:1145
+msgid "Missing class type term"
msgstr ""
-" -d[bokstäver] Slå på dumpning från angivna delar av kompilatorn\n"
-#: toplev.c:3923
-msgid ""
-" -dumpbase <file> Base name to be used for dumps from specific "
-"passes\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1301
+msgid "Invalid interface type"
msgstr ""
-#: toplev.c:3925
-msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1494 ../../gcc-3cvs/gcc/java/parse.y:1663
+#: ../../gcc-3cvs/gcc/java/parse.y:1665
+msgid "':' expected"
msgstr ""
-#: toplev.c:3927
-msgid " --help Display this information\n"
-msgstr " --help Visa den här informatationen\n"
+#: ../../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 ""
-#: toplev.c:3942
-msgid ""
-"\n"
-"Language specific options:\n"
+#: ../../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 ""
-#: toplev.c:3954
-#, c-format
-msgid " %-23.23s [undocumented]\n"
-msgstr " %-23.23s [odokumenterad]\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1614
+msgid "Missing term or ')'"
+msgstr ""
-#: toplev.c:3962 toplev.c:3976
-#, c-format
-msgid ""
-"\n"
-"There are undocumented %s specific options as well.\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1661
+msgid "Missing or invalid constant expression"
msgstr ""
-"\n"
-"Det finns dessutom odokumenterade %s-specifika flaggor.\n"
-#: toplev.c:3966
-#, c-format
-msgid ""
-"\n"
-" Options for %s:\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1682
+msgid "Missing term and ')' expected"
msgstr ""
-"\n"
-" Flaggor för %s:\n"
-#: toplev.c:3997
-msgid ""
-"\n"
-"Target specific options:\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1721
+msgid "Invalid control expression"
msgstr ""
-"\n"
-"Speciella flaggor för målarkitektur:\n"
-#: toplev.c:4011 toplev.c:4030
-#, c-format
-msgid " -m%-23.23s [undocumented]\n"
-msgstr " -m%-23.23s [odokumenterad]\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725
+msgid "Invalid update expression"
+msgstr ""
-#: toplev.c:4039
-msgid ""
-"\n"
-"There are undocumented target specific options as well.\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1750
+msgid "Invalid init statement"
msgstr ""
-"\n"
-"Det finns dessutom odokumenterade flaggor speciellt för målarkitekturen.\n"
-#: toplev.c:4041
-msgid " They exist, but they are not documented.\n"
-msgstr " De finns, men är inte dokumenterade.\n"
+#: ../../gcc-3cvs/gcc/java/parse.y:1941
+msgid "Missing term or ')' expected"
+msgstr ""
-#: toplev.c:4094
-#, c-format
-msgid "unrecognized gcc debugging option: %c"
-msgstr "ej igenkänd debuggningsflagga för gcc: %c"
+#: ../../gcc-3cvs/gcc/java/parse.y:1983
+msgid "'class' or 'this' expected"
+msgstr ""
-#: toplev.c:4164
-#, c-format
-msgid "unrecognized register name `%s'"
-msgstr "Känner inte igen registernamn \"%s\""
+#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987
+msgid "'class' expected"
+msgstr ""
-#: toplev.c:4188 toplev.c:4868
-#, c-format
-msgid "Unrecognized option `%s'"
-msgstr "Känner inte igen flagga \"%s\""
+#: ../../gcc-3cvs/gcc/java/parse.y:2032
+msgid "')' or term expected"
+msgstr ""
-#: toplev.c:4232
-msgid "-Wid-clash-LEN is no longer supported"
+#: ../../gcc-3cvs/gcc/java/parse.y:2151
+msgid "'[' expected"
msgstr ""
-#: toplev.c:4309
-#, c-format
-msgid "use -gdwarf -g%d for DWARF v1, level %d"
+#: ../../gcc-3cvs/gcc/java/parse.y:2229
+msgid "Field expected"
msgstr ""
-#: toplev.c:4312
-msgid "use -gdwarf-2 for DWARF v2"
+#: ../../gcc-3cvs/gcc/java/parse.y:2286 ../../gcc-3cvs/gcc/java/parse.y:2296
+msgid "Missing term and ']' expected"
msgstr ""
-#: toplev.c:4317
-#, c-format
-msgid "ignoring option `%s' due to invalid debug level specification"
+#: ../../gcc-3cvs/gcc/java/parse.y:2400
+msgid "']' expected, invalid type expression"
msgstr ""
-#: toplev.c:4340 toplev.c:4866
-#, c-format
-msgid "`%s': unknown or unsupported -g option"
-msgstr "\"%s\": okänd eller icke supportad flagga till -g"
+#: ../../gcc-3cvs/gcc/java/parse.y:2403
+msgid "Invalid type expression"
+msgstr ""
-#: toplev.c:4347
-#, c-format
-msgid "`%s' ignored, conflicts with `-g%s'"
-msgstr "\"%s\" ignorerad, i konflikt med \"-g%s\""
+#: ../../gcc-3cvs/gcc/java/parse.y:2515
+msgid "Invalid reference type"
+msgstr ""
-#: toplev.c:4426
-msgid "-param option missing argument"
+#: ../../gcc-3cvs/gcc/java/parse.y:2993
+msgid "Constructor invocation must be first thing in a constructor"
+msgstr ""
+
+#: ../../gcc-3cvs/gcc/java/parse.y:2995
+msgid "Only constructors can invoke constructors"
msgstr ""
-#: toplev.c:4435
+#: ../../gcc-3cvs/gcc/java/parse.y:3004
#, c-format
-msgid "invalid --param option: %s"
-msgstr "ogiltig flagga till --param: %s"
+msgid ": `%s' JDK1.1(TM) feature"
+msgstr ""
-#: toplev.c:4447
+#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066
#, c-format
-msgid "invalid parameter value `%s'"
-msgstr "ogiltigt parametervärde \"%s\""
+msgid ""
+"%s.\n"
+"%s"
+msgstr ""
+"%s.\n"
+"%s"
-#: toplev.c:4538
-msgid "`-a' option (basic block profile) not supported"
-msgstr "flagga \"-a\" (block profilering) stöds inte"
+#: ../../gcc-3cvs/gcc/java/parse.y:6867
+#, c-format
+msgid "malformed .zip archive in CLASSPATH: %s"
+msgstr ""
-#: toplev.c:4546
-msgid "`-ax' option (jump profiling) not supported"
-msgstr "flagga \"-ax\" (hopprofilering) stöds inte"
+#: ../../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 ""
-#: toplev.c:4858
+#: ../../gcc-3cvs/gcc/java/parse.y:12266
#, c-format
-msgid "Ignoring command line option '%s'"
-msgstr "Ignorerar kommandoradsflagga \"%s\""
+msgid "missing static field `%s'"
+msgstr ""
-#: toplev.c:4861
+#: ../../gcc-3cvs/gcc/java/parse.y:12271
#, c-format
-msgid "(It is valid for %s but not the selected language)"
+msgid "not a static field `%s'"
msgstr ""
-#: toplev.c:4899
-msgid "-Wuninitialized is not supported without -O"
+#: ../../gcc-3cvs/gcc/java/parse.y:12314
+#, c-format
+msgid "No case for %s"
msgstr ""
-#: toplev.c:4926
-msgid "`-ax' and `-a' are conflicting options. `-a' ignored."
+#: ../../gcc-3cvs/gcc/java/parse.y:13240
+#, c-format
+msgid "unregistered operator %s"
msgstr ""
-#: toplev.c:4947
-msgid "instruction scheduling not supported on this target machine"
+#: java/typeck.c:553
+msgid "junk at end of signature string"
msgstr ""
-#: toplev.c:4951
-msgid "this target machine does not have delayed branches"
+#: java/verify.c:479
+msgid "bad pc in exception_table"
msgstr ""
-#: toplev.c:4960
-msgid "profiling does not work without a frame pointer"
+#: java/verify.c:485
+msgid "exception handler inside code that is being protected"
msgstr ""
-#: toplev.c:4975
+#: java/verify.c:1395
#, c-format
-msgid "-f%sleading-underscore not supported on this target machine"
+msgid "unknown opcode %d@pc=%d during verification"
msgstr ""
-#: toplev.c:5048
+#: java/verify.c:1465 java/verify.c:1478 java/verify.c:1482
#, c-format
-msgid ""
-"%s%s%s version %s (%s)\n"
-"%s\tcompiled by GNU C version %s.\n"
-"%s%s%s version %s (%s) compiled by CC.\n"
+msgid "verification error at PC=%d"
msgstr ""
-#: toplev.c:5104
-msgid "options passed: "
+#: java/lang-options.h:32
+msgid "Disable automatic array bounds checking"
msgstr ""
-#: toplev.c:5133
-msgid "options enabled: "
+#: java/lang-options.h:34
+msgid "Disable assignability checks for stores into object arrays"
msgstr ""
-#: tradcif.y:110 tradcif.y:121
-msgid "division by zero in #if"
+#: java/lang-options.h:36
+msgid "Assume native functions are implemented using JNI"
msgstr ""
-#. It's a float since it contains a point.
-#: tradcif.y:230
-msgid "floating point numbers not allowed in #if expressions"
+#: java/lang-options.h:38
+msgid "Replace system path"
msgstr ""
-#: tradcif.y:276
-msgid "Invalid number in #if expression"
+#: java/lang-options.h:40
+msgid "Set class path"
msgstr ""
-#: tradcif.y:361
-msgid "Invalid character constant in #if"
+#: java/lang-options.h:42
+msgid "Set class path (deprecated: use --classpath instead)"
msgstr ""
-#: tradcif.y:398
-msgid "double quoted strings not allowed in #if expressions"
+#: java/lang-options.h:44
+msgid "Choose class whose main method should be used"
msgstr ""
-#: tradcif.y:411
-msgid "Invalid token in expression"
+#: java/lang-options.h:46
+msgid "Choose input encoding (default comes from locale)"
msgstr ""
-#: tradcif.y:502
-msgid "octal character constant does not fit in a byte"
+#: java/lang-options.h:48
+msgid "Add directory to class path"
msgstr ""
-#: tradcif.y:527
-msgid "hex character constant does not fit in a byte"
+#: java/lang-options.h:50
+msgid "Directory where class files should be written"
msgstr ""
-#: tradcif.y:558
-msgid "empty #if expression"
+#: java/lang-options.h:52
+msgid "Warn if modifiers are specified when not necessary"
msgstr ""
-#: tradcif.y:572
-msgid "Junk after end of expression."
+#: java/lang-options.h:54
+msgid "Warn if deprecated empty statements are found"
msgstr ""
-#: tradcpp.c:137
-msgid "macro or #include recursion too deep"
+#: java/lang-options.h:56
+msgid "Warn if .class files are out of date"
msgstr ""
-#: tradcpp.c:550
-#, c-format
-msgid "Usage: %s [switches] input output"
+#: java/lang-options.h:58
+msgid "Always check for non gcj generated classes archives"
msgstr ""
-#: tradcpp.c:566
-msgid "-traditional is not supported in C++"
+#: java/lang-options.h:60
+msgid "Never optimize static class initialization code"
msgstr ""
-#: tradcpp.c:568
-msgid "-traditional and -ansi are mutually exclusive"
+#: java/lang-options.h:62
+msgid "Use offset tables for virtual method calls"
msgstr ""
-#: tradcpp.c:582
-msgid "Filename missing after -i option"
-msgstr "Filnamn saknas efter flaggan -i"
-
-#: tradcpp.c:600
-msgid "Filename missing after -o option"
-msgstr "Filnamn saknas efter flaggan -o"
-
-#: tradcpp.c:659
+#: objc/objc-act.c:651
#, c-format
-msgid "Target missing after %s option"
-msgstr "Mål saknas efter flaggan %s"
+msgid "object does not conform to the `%s' protocol"
+msgstr ""
-#: tradcpp.c:673
+#: objc/objc-act.c:737 objc/objc-act.c:810
#, c-format
-msgid "Filename missing after %s option"
-msgstr "Filnamn saknas efter flaggan %s"
+msgid "class `%s' does not implement the `%s' protocol"
+msgstr "klass \"%s\" implementerar inte protokollet \"%s\""
-#: tradcpp.c:698
+#: objc/objc-act.c:914
#, c-format
-msgid "Macro name missing after -%c option"
-msgstr "Makronamn saknas efter flaggan -%c"
-
-#: tradcpp.c:718
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "-pedantic och -traditional är ömsesidigt uteslutande"
-
-#: tradcpp.c:723
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "-trigraphs och -traditional är ömsesidigt uteslutande"
-
-#: tradcpp.c:749
-msgid "Directory name missing after -I option"
-msgstr "Katalognamn saknas efter flaggan -I"
+msgid "`%s' cannot be statically allocated"
+msgstr "\"%s\" kan inte vara statiskt allokerad"
-#: tradcpp.c:1425 tradcpp.c:3916
-msgid "`/*' within comment"
-msgstr "\"/*\" inuti kommentar"
+#: objc/objc-act.c:963
+#, fuzzy, c-format
+msgid "unexpected type for `id' (%s)"
+msgstr "Oväntad typ på \"id\" (%s)"
-#: tradcpp.c:1800
-#, c-format
-msgid "unterminated #%s conditional"
+#: objc/objc-act.c:968
+msgid "undefined type `id', please import <objc/objc.h>"
msgstr ""
-#: tradcpp.c:2159
-msgid "not in any file?!"
+#: objc/objc-act.c:1019
+#, c-format
+msgid "protocol `%s' has circular dependency"
msgstr ""
-#: tradcpp.c:2265
-msgid "`defined' must be followed by ident or (ident)"
-msgstr ""
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
+#, fuzzy, c-format
+msgid "cannot find protocol declaration for `%s'"
+msgstr "ingen tidigare deklaration av \"%s\""
-#: tradcpp.c:2269
-msgid "cccp error: invalid special hash type"
-msgstr ""
+#: 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
+#, fuzzy, c-format
+msgid "cannot find interface declaration for `%s'"
+msgstr "Cirkulärt arv i interfacedeklaration för \"%s\""
-#: tradcpp.c:2367 tradcpp.c:2437
-msgid "#include expects \"fname\" or <fname>"
-msgstr ""
+#: objc/objc-act.c:1328
+#, fuzzy, c-format
+msgid "cannot find reference tag for class `%s'"
+msgstr "Kan inte hitta filen med klass %s."
-#: tradcpp.c:2522
+#: objc/objc-act.c:2050
#, c-format
-msgid "No include path in which to find %.*s"
+msgid "creating selector for non existant method %s"
msgstr ""
-#: tradcpp.c:2700
-msgid "invalid macro name"
-msgstr ""
+#: objc/objc-act.c:2364
+#, fuzzy, c-format
+msgid "cannot find class `%s'"
+msgstr "Kan inte hitta klass \"%s\""
-#: tradcpp.c:2708
-#, c-format
-msgid "invalid macro name `%s'"
-msgstr "ogiltigt makronamn \"%s\""
+#: objc/objc-act.c:2366
+#, fuzzy, c-format
+msgid "class `%s' already exists"
+msgstr "Klass \"%s\" finns redan"
-#: tradcpp.c:2713
-msgid "\"defined\" cannot be used as a macro name"
-msgstr ""
+#. fatal did not work with 2 args...should fix
+#: objc/objc-act.c:2473
+#, fuzzy, c-format
+msgid "cannot find interface declaration for `%s', superclass of `%s'"
+msgstr "Cirkulärt arv i interfacedeklaration för \"%s\""
-#: tradcpp.c:2740
-msgid "parameter name starts with a digit in #define"
-msgstr ""
+#: objc/objc-act.c:2480
+#, fuzzy, c-format
+msgid "circular inheritance in interface declaration for `%s'"
+msgstr "Cirkulärt arv i interfacedeklaration för \"%s\""
-#: tradcpp.c:2750
-msgid "badly punctuated parameter list in #define"
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
+msgid "inconsistent instance variable specification"
msgstr ""
-#: tradcpp.c:2758
-msgid "unterminated parameter list in #define"
+#: objc/objc-act.c:4580
+msgid "can not use an object as parameter to a method\n"
msgstr ""
-#: tradcpp.c:2806
+#: objc/objc-act.c:4780
#, c-format
-msgid "\"%.*s\" redefined"
-msgstr ""
-
-#: tradcpp.c:3063
-msgid "# operator should be followed by a macro argument name"
-msgstr ""
+msgid "multiple declarations for method `%s'"
+msgstr "multiple deklaration av metod \"%s\""
-#: tradcpp.c:3110 tradcpp.c:3136 tradcpp.c:3150 tradcpp.c:3157 tradcpp.c:3182
-msgid "invalid format #line command"
-msgstr ""
+#: objc/objc-act.c:4946
+#, c-format
+msgid "invalid receiver type `%s'"
+msgstr "ogiltig mottagartyp \"%s\""
-#: tradcpp.c:3208
-msgid "undefining `defined'"
-msgstr ""
+#: 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 "\"%s\" svarar inte på \"%s\""
-#: tradcpp.c:3212
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, c-format
-msgid "undefining `%s'"
-msgstr ""
+msgid "no super class declared in interface for `%s'"
+msgstr "ingen superklass deklarerad i interface för \"%s\""
-#: tradcpp.c:3268
-msgid "extra text at end of directive"
-msgstr "extra text vid slutet av direktiv"
+#: objc/objc-act.c:5081
+#, fuzzy
+msgid "cannot find class (factory) method"
+msgstr "kan inte hitta klass(fabrik)-metod"
-#: tradcpp.c:3375
+#: objc/objc-act.c:5082 objc/objc-act.c:5126
#, c-format
-msgid "#error%.*s"
-msgstr "#error%.*s"
+msgid "return type for `%s' defaults to id"
+msgstr "returtyp för \"%s\" är som standard id"
-#: tradcpp.c:3385
-#, c-format
-msgid "#warning%.*s"
-msgstr "#warning%.*s"
+#: objc/objc-act.c:5099
+#, fuzzy, c-format
+msgid "method `%s' not implemented by protocol"
+msgstr "metod \"%s\" implementeras inte av protokoll."
-#: tradcpp.c:3541
-msgid "#elif not within a conditional"
-msgstr ""
+#: objc/objc-act.c:5108
+msgid "return type defaults to id"
+msgstr "returtyp är som standard id"
+
+#: objc/objc-act.c:5125
+#, fuzzy
+msgid "cannot find method"
+msgstr "kan inte hitta metod."
+
+#: objc/objc-act.c:5399
+#, fuzzy, c-format
+msgid "undeclared selector `%s'"
+msgstr "omdeklaration av \"%s\""
-#: tradcpp.c:3798
+#. 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
+#. an instance method. Following this assignment, the instance
+#. variables could be accessed. That practice, while safe,
+#. violates the simple rule that a class method should not refer
+#. 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:5443
#, c-format
-msgid "#%s not within a conditional"
+msgid "instance variable `%s' accessed in class method"
msgstr ""
-#: tradcpp.c:3806
-msgid "#else or #elif after #else"
-msgstr "#else eller #elif efter #else"
+#: objc/objc-act.c:5678
+#, fuzzy, c-format
+msgid "duplicate definition of class method `%s'"
+msgstr "upprepad definition av klassmetod \"%s\"."
-#: tradcpp.c:3846
-msgid "#else not within a conditional"
-msgstr ""
+#: objc/objc-act.c:5684
+#, fuzzy, c-format
+msgid "duplicate declaration of class method `%s'"
+msgstr "upprepad deklaration av klassmetod \"%s\"."
-#: tradcpp.c:3877
-msgid "unbalanced #endif"
-msgstr "obalanserad #endif"
+#: objc/objc-act.c:5720
+#, fuzzy, c-format
+msgid "duplicate definition of instance method `%s'"
+msgstr "upprepad definition av klassmetod \"%s\"."
-#: tradcpp.c:3971
-msgid "unterminated string or character constant"
-msgstr ""
+#: objc/objc-act.c:5726
+#, fuzzy, c-format
+msgid "duplicate declaration of instance method `%s'"
+msgstr "upprepad deklaration av klassmetod \"%s\"."
-#: tradcpp.c:4129
+#: objc/objc-act.c:5766
#, c-format
-msgid "arguments given to macro `%s'"
+msgid "duplicate interface declaration for category `%s(%s)'"
msgstr ""
-#: tradcpp.c:4135
+#: objc/objc-act.c:5852
#, c-format
-msgid "no args to macro `%s'"
-msgstr "inga argument till makro \"%s\""
+msgid "instance variable `%s' is declared private"
+msgstr "instansvariabel \"%s\" är deklarerad som privat"
-#: tradcpp.c:4137
+#: objc/objc-act.c:5899
#, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "bara 1 argument till makro \"%s\""
+msgid "instance variable `%s' is declared %s"
+msgstr "instansvariabel \"%s\" är deklarerad som %s"
+
+#: objc/objc-act.c:5909
+msgid "static access to object of type `id'"
+msgstr "statisk access till objekt av typ \"id\""
-#: tradcpp.c:4139
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
-msgid "only %d args to macro `%s'"
-msgstr "bara %d argument till makro \"%s\""
+msgid "incomplete implementation of class `%s'"
+msgstr "inkomplett implementation av klass \"%s\""
-#: tradcpp.c:4141
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "för många (%d) argument till makro \"%s\""
+msgid "incomplete implementation of category `%s'"
+msgstr "inkomplett implementation av kategori \"%s\""
-#: tradcpp.c:4767
+#: objc/objc-act.c:5943 objc/objc-act.c:6037
#, c-format
-msgid ""
-"Internal error in %s, at tradcpp.c:%d\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"Internt fel i %s, vid tradcpp.c:%d\n"
-"Var vänlig och skicka in en felrapport.\n"
-"Se %s för instruktioner."
+msgid "method definition for `%c%s' not found"
+msgstr "metoddefinition för \"%c%s\" kan inte hittas"
-#: tree.c:3866
-msgid "arrays of functions are not meaningful"
+#: objc/objc-act.c:6081
+#, c-format
+msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr ""
-#: tree.c:3923
-msgid "function return type cannot be function"
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
+msgid "`@end' missing in implementation context"
msgstr ""
-#: tree.c:4660
-msgid "invalid initializer for bit string"
-msgstr ""
+#: objc/objc-act.c:6167
+#, c-format
+msgid "reimplementation of class `%s'"
+msgstr "omimplementation av klass \"%s\""
-#: tree.c:4719
+#: objc/objc-act.c:6209
#, c-format
-msgid "Tree check: expected %s, have %s in %s, at %s:%d"
+msgid "conflicting super class name `%s'"
msgstr ""
-#: tree.c:4736
+#: objc/objc-act.c:6224
#, c-format
-msgid "Tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
+msgid "duplicate interface declaration for class `%s'"
msgstr ""
-#: varasm.c:639
+#: objc/objc-act.c:6506
#, c-format
-msgid "register name not specified for `%s'"
+msgid "duplicate declaration for protocol `%s'"
msgstr ""
-#: varasm.c:641
+#: objc/objc-act.c:7363
+msgid "[super ...] must appear in a method context"
+msgstr "[super ...] måste stå i metodkontext"
+
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
-msgid "invalid register name for `%s'"
+msgid "potential selector conflict for method `%s'"
msgstr ""
-#: varasm.c:644
-#, c-format
-msgid "data type of `%s' isn't suitable for a register"
+#: objc-parse.y:2656
+msgid "`@end' must appear in an implementation context"
msgstr ""
-#: varasm.c:647
-#, c-format
-msgid "register specified for `%s' isn't suitable for data type"
+#: objc-parse.y:2932
+msgid "method definition not in class context"
msgstr ""
-#: varasm.c:656
-msgid "global register variable has initial value"
-msgstr "global registervariabel har startvärde"
+#: objc/lang-options.h:27
+msgid "Dump decls to a .decl file"
+msgstr ""
-#: varasm.c:659
-msgid "volatile register variables don't work as you might wish"
+#: objc/lang-options.h:29
+msgid "Generate code for GNU runtime environment"
msgstr ""
-#: varasm.c:695
-#, c-format
-msgid "register name given for non-register variable `%s'"
+#: objc/lang-options.h:32
+msgid "Generate code for NeXT runtime environment"
msgstr ""
-#: varasm.c:1333
-#, c-format
-msgid "size of variable `%s' is too large"
-msgstr "storleken på variabel \"%s\" är för stor"
+#: objc/lang-options.h:35
+msgid "Warn if a selector has multiple methods"
+msgstr ""
-#: varasm.c:1373
-#, c-format
-msgid ""
-"alignment of `%s' is greater than maximum object file alignment. Using %d."
+#: objc/lang-options.h:39
+msgid "Do not warn if inherited methods are unimplemented"
msgstr ""
-#: varasm.c:1420
-#, c-format
-msgid "requested alignment for %s is greater than implemented alignment of %d."
+#: objc/lang-options.h:41
+msgid "Generate C header of platform specific features"
msgstr ""
-#: varasm.c:1899
-msgid "floating point trap outputting a constant"
+#: objc/lang-options.h:43
+msgid "Specify the name of the class for constant strings"
msgstr ""
-#: varasm.c:4300
-msgid "initializer for integer value is too complicated"
+#. 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 ""
-#: varasm.c:4306
-msgid "initializer for floating value is not a floating constant"
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
msgstr ""
-#: varasm.c:4363
-msgid "unknown set constructor type"
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
msgstr ""
-#: varasm.c:4568
-#, c-format
-msgid "invalid initial value for member `%s'"
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
msgstr ""
-#: varasm.c:4750
-#, c-format
-msgid "weak declaration of `%s' must be public"
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
msgstr ""
-#: varasm.c:4752
-#, c-format
-msgid "weak declaration of `%s' must precede definition"
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
msgstr ""
-#: varasm.c:4848
-msgid "only weak aliases are supported in this configuration"
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
msgstr ""
-#: varasm.c:4853
-msgid "alias definitions not supported in this configuration; ignored"
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
msgstr ""
-#: varray.c:87
-#, c-format
-msgid "Virtual array %s[%lu]: element %lu out of bounds"
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
msgstr ""
-#. Print an error message for unrecognized stab codes.
-#: xcoffout.c:170
-#, c-format
-msgid "No sclass for %s stab (0x%x)\n"
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr ""
+
+#: config/darwin.h:229
+msgid "-private_bundle not allowed with -dynamiclib"
msgstr ""
-#: config/alpha/freebsd.h:35 config/i386/freebsd-aout.h:236
+#: f/lang-specs.h:38 gcc.c:689
+msgid "GNU C does not support -C without using -E"
+msgstr "GNU C stödjer inte -C utan -E"
+
+#: f/lang-specs.h:39 gcc.c:690
+#, fuzzy
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C stödjer inte -C utan -E"
+
+#: 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
+#, fuzzy
+msgid "may not use both -m32 and -m64"
+msgstr "får inte använda både -mfp64 och -m4650"
+
+#: 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 "\"-p\" stödjs inte; använd \"-pg\" och gprof(1)"
-#: config/arc/arc.h:61 config/mips/mips.h:925
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "profilering stöds inte tillsammans med -mg\n"
+
+#: config/mips/mips.h:954
+#, fuzzy
+msgid "-pipe is not supported"
+msgstr "-pipe stöds inte."
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
msgid "may not use both -EB and -EL"
msgstr "får inte använda både -EB och -EL"
-#: config/arm/arm.h:216
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr "-pg och -fomit-frame-pointer är inkompatibla"
+
+#: 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 "mno-cygwin och mno-win32 är inkompatibla"
+
+#: config/i386/cygwin.h:170 config/i386/mingw32.h:84
+msgid "shared and mdll are not compatible"
+msgstr "shared och mdll är inkompatibla"
+
+#: gcc.c:867
+msgid "-E required when input is from standard input"
+msgstr "-E krävs när indata tas från standard input"
+
+#: gcc.c:871
+#, fuzzy
+msgid "compilation of header file requested"
+msgstr "Kompilering av include-fil begärd"
+
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr ""
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr ""
+
+#: treelang/lang-specs.h:52
+#, fuzzy
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg och -fomit-frame-pointer är inkompatibla"
+
+#: config/vax/netbsd-elf.h:42
+#, fuzzy
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "inbyggd funktion \"%s\" stöds inte för närvarande"
+
+#: config/mcore/mcore.h:60
+msgid "choose either big or little endian, not both"
+msgstr ""
+
+#: config/mcore/mcore.h:63
+msgid "choose either m340 or m210 not both"
+msgstr ""
+
+#: config/mcore/mcore.h:64
+msgid "the m210 does not have little endian support"
+msgstr ""
+
+#: config/arm/arm.h:178
msgid "-mapcs-26 and -mapcs-32 may not be used together"
msgstr "-mapcs-26 och -mapcs-32 får inte användas tillsammans"
-#: config/arm/arm.h:228
+#: config/arm/arm.h:180
msgid "-msoft-float and -mhard_float may not be used together"
msgstr "-msoft-float och -mhard_float får inte användas tillsammans"
-#: config/arm/arm.h:239
+#: config/arm/arm.h:182
msgid "-mbig-endian and -mlittle-endian may not be used together"
msgstr "-mbig-endian och -mlittle-endian får inte användas tillsammans"
-#: config/arm/arm.h:257
-msgid "Incompatible interworking options"
-msgstr ""
-
-#: config/arm/riscix.h:73 config/arm/riscix.h:135
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd och -pedantic är inkompatibla"
-
-#: config/arm/riscix.h:74 config/arm/riscix.h:136
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd och -mxopen är inkompatibla"
-
-#: config/arm/riscix.h:75 config/arm/riscix.h:137
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen och -pedantic är inkompatible"
-
-#: config/dsp16xx/dsp16xx.h:101 config/dsp16xx/dsp16xx.h:110
-msgid "A -ifile option requires a -map option"
-msgstr "Flaggan -ifil kräver även flaggan -map"
+#: config/mips/r3900.h:35
+#, fuzzy
+msgid "-mhard-float not supported"
+msgstr "-mhard-float stöds inte."
-#: config/i386/cygwin.h:105
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "mno-cygwin och mno-win32 är inkompatibla"
+#: config/mips/r3900.h:37
+#, fuzzy
+msgid "-msingle-float and -msoft-float can not both be specified"
+msgstr "-msingle-float och -msoft-float kan inte båda anges."
-#: config/i386/cygwin.h:160 config/i386/mingw32.h:63
-msgid "shared and mdll are not compatible"
-msgstr "shared och mdll är inkompatibla"
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr ""
-#: config/i386/sco5.h:777 config/i386/sco5.h:852
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
msgid "-static not valid with -mcoff"
msgstr ""
-#: config/i386/sco5.h:778 config/i386/sco5.h:853
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
msgid "-shared not valid with -mcoff"
msgstr "-shared är inte giltig tillsammans med -mcoff"
-#: config/i386/sco5.h:779 config/i386/sco5.h:854
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
msgid "-symbolic not valid with -mcoff"
msgstr "-symbolic är inte giltig tillsammans med -mcoff"
-#: config/i386/sco5.h:817
+#: config/i386/sco5.h:636
msgid "-fpic is not valid with -mcoff"
msgstr "-fpic är inte giltig tillsammans med -mcoff"
-#: config/i386/sco5.h:818
+#: config/i386/sco5.h:637
msgid "-fPIC is not valid with -mcoff"
msgstr "-fPIC är inte giltig tillsammans med -mcoff"
-#: config/i386/sco5.h:855
+#: config/i386/sco5.h:669
msgid "-fpic not valid with -mcoff"
msgstr "-fpic är inte giltig tillsammans med -mcoff"
-#: config/i386/sco5.h:856
+#: config/i386/sco5.h:670
msgid "-fPIC not valid with -mcoff"
msgstr "-fPIC är inte giltig tillsammans med -mcoff"
-#: config/i386/unix.h:122
-msgid "bx]"
-msgstr ""
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "okänd C-standard \"%s\""
-#: config/i386/unix.h:124
-msgid "bx"
-msgstr ""
+#~ msgid "type of external `%s' is not global"
+#~ msgstr "typen på extern \"%s\" är inte global"
-#: config/i386/unix.h:125
-msgid "cx"
-msgstr ""
+#~ msgid "null format string"
+#~ msgstr "formatsträngen är null"
-#: config/i860/fx2800.h:297
-msgid "-p option not supported: use -pg instead"
-msgstr "flaggan -p stödjs inte: använd -pg istället"
+#~ msgid "both 'f' and 'l' suffixes on floating constant"
+#~ msgstr "både suffix 'f' och 'l' på flyttalskonstant"
-#: config/mcore/mcore.h:65
-msgid "choose either big or little endian, not both"
-msgstr ""
+#~ msgid "decimal point in exponent - impossible!"
+#~ msgstr "decimalpunkt i exponent - omöjligt!"
-#: config/mcore/mcore.h:68
-msgid "choose either m340 or m210 not both"
-msgstr ""
+#~ msgid "underscore in number"
+#~ msgstr "understrykningsstreck i nummer"
-#: config/mcore/mcore.h:69
-msgid "the m210 does not have little endian support"
-msgstr ""
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "numerisk konstant har siffror som är utanför giltigt talbas"
-#: config/mips/mips.h:781
-msgid "-pipe is not supported."
-msgstr "-pipe stöds inte."
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "flyttalskonstanter kan inte vara i bas 16"
-#: config/mips/mips.h:920
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "får inte använda både -mfp64 och -msingle-float"
+#~ msgid "more than one 'f' suffix on floating constant"
+#~ msgstr "mer än ett \"f\"-suffix på flyttalskonstant"
-#: config/mips/mips.h:921
-msgid "may not use both -mfp64 and -m4650"
-msgstr "får inte använda både -mfp64 och -m4650"
+#~ msgid "more than one 'l' suffix on floating constant"
+#~ msgstr "mer än ett \"l\"-suffix på flyttalskonstant"
-#: config/mips/r3900.h:28 config/mips/r3900.h:42
-msgid "-mhard-float not supported."
-msgstr "-mhard-float stöds inte."
+#~ msgid "traditional C rejects the 'l' suffix"
+#~ msgstr "traditionell C stödjer inte suffixet 'l'"
-#: config/mips/r3900.h:30 config/mips/r3900.h:44
-msgid "-msingle-float and -msoft-float can not both be specified."
-msgstr "-msingle-float och -msoft-float kan inte båda anges."
+#~ msgid "more than one 'i' or 'j' suffix on floating constant"
+#~ msgstr "mer än ett \"i\"- eller \"j\"-suffix på flyttalskonstant"
-#: config/nextstep.h:163 config/nextstep.h:166
-msgid "-p profiling is no longer supported. Use -pg instead."
-msgstr "-p profilering stöds inte längre. Använd -pg istället."
+#~ msgid "ISO C forbids imaginary numeric constants"
+#~ msgstr "ISO C förbjuder imaginära numeriska konstanter"
-#: config/vax/vax.h:41 config/vax/vax.h:42
-msgid "profiling not supported with -mg\n"
-msgstr "profilering stöds inte tillsammans med -mg\n"
+#~ msgid "floating constant out of range"
+#~ msgstr "flyttalskonstant utanför sitt intervall"
-#: f/lang-specs.h:35 gcc.c:641
-msgid "GNU C does not support -C without using -E"
-msgstr "GNU C stödjer inte -C utan -E"
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "flyttalsnummer överskrider intervallet för en \"double\""
-#: gcc.c:662 java/jvspec.c:69
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr "-pg och -fomit-frame-pointer är inkompatibla"
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "två \"u\"-suffix på heltalskonstant"
-#: gcc.c:810
-msgid "-E required when input is from standard input"
-msgstr "-E krävs när indata tas från standard input"
+#~ msgid "traditional C rejects the 'u' suffix"
+#~ msgstr "traditionell C stödjer inte suffixet 'u'"
-#: gcc.c:814
-msgid "Compilation of header file requested"
-msgstr "Kompilering av include-fil begärd"
+#~ msgid "three 'l' suffixes on integer constant"
+#~ msgstr "tre \"l\"-suffix på heltalskonstant"
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr ""
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "\"lul\" är inte ett giltigt heltalssuffix"
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr ""
+#~ msgid "'Ll' and 'lL' are not valid integer suffixes"
+#~ msgstr "\"Ll\" och \"lL\" är inte giltiga heltalssuffix"
+
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "mer än ett \"i\"- eller \"j\"-suffix på heltalskonstant"
+
+#~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+#~ msgstr "heltalskonstant för stor för denna konfigurering av kompilatorn - kortar ner till %d bitar"
+
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "storleken på en heltalskonstant ändras beroende på -traditional"
+
+#~ msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#~ msgstr "heltalskonstanter är utan tecken i ISO C, med tecken med -traditional"
+
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "storleken på en heltalskonstant kan ändras på andra system beroende på -traditional"
+
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "heltalskonstant är större än maximala värdet på %s"
+
+#~ msgid "an unsigned long long int"
+#~ msgstr "en unsigned long long int"
+
+#~ msgid "a long long int"
+#~ msgstr "en long long int"
+
+#~ msgid "an unsigned long int"
+#~ msgstr "en unsigned long int"
+
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "decimal konstant så stor att den är unsigned"
+
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "saknar mellanrum efter nummer \"%.*s\""
+
+#~ msgid "ISO C does not permit use of `varargs.h'"
+#~ msgstr "ISO C stödjer inte användning av \"varargs.h\""
+
+#~ msgid "storage class specifier in array declarator"
+#~ msgstr "lagringsklass angiven i array-deklarerare"
+
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "sizeof applicerad på en funktionstyp"
+
+#~ msgid "sizeof applied to a void type"
+#~ msgstr "sizeof applicerat på typen void"
+
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
+
+#, fuzzy
+#~ msgid "floating point numbers are not valid in #if"
+#~ msgstr "flyttal utanför intervallet för \"%s\""
+
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "för många \"l\"-suffix i heltalskonstant"
+
+#~ msgid "integer constant out of range"
+#~ msgstr "heltalskonstant utanför sitt intervall"
+
+#, fuzzy
+#~ msgid "missing binary operator"
+#~ msgstr "saknas '(' efter predikat"
+
+#, fuzzy
+#~ msgid "operator '%s' has no left operand"
+#~ msgstr "parameter \"%s\" har en inkomplett typ"
+
+#, fuzzy
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "kan inte skapa katalog %s"
+
+#~ msgid "I/O error on output"
+#~ msgstr "I/O-fel vid utmatning"
+
+#, fuzzy
+#~ msgid "argument missing after %s"
+#~ msgstr "Argument saknas efter %s"
+
+#, fuzzy
+#~ msgid "number missing after %s"
+#~ msgstr "Nummer saknas efter %s"
+
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP version %s (cpplib)"
+
+#~ 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 ""
+#~ " -pedantic Utfärda alla varningar som strikt ISO C kräver\n"
+#~ " -pedantic-errors Utfärda -pedantic varningar som fel istället\n"
+#~ " -trigraphs Stöd ISO C trigraphs\n"
+#~ " -lang-c Antag att indatakällkoden är C\n"
+#~ " -lang-c89 Antag att indatakällkoden är C89\n"
+
+#~ 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 ""
+#~ " -lang-c++ Antag att indatakällkoden är C++\n"
+#~ " -lang-objc Antag att indatakällkoden är ObjectiveC\n"
+#~ " -lang-objc++ Antag att indatakällkoden är ObjectiveC++\n"
+#~ " -lang-asm Antag att indatakällkoden är assembler\n"
+
+#, fuzzy
+#~ msgid "invalid option %s"
+#~ msgstr "Ogiltig flagga %s"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: varning: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: varning: "
+
+#~ msgid "sorry, not implemented: "
+#~ msgstr "ledsen, inte implementerat: "
+
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "Internt kompilatorfel i %s, vid %s:%d"
+
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "argument till \"-b\" saknas"
+
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "argument till \"-V\" saknas"
+
+#~ msgid "invalid version number format"
+#~ msgstr "ogiltigt format på versionsnummer"
+
+#~ msgid "%6.2f%% of %d source lines executed in function %s\n"
+#~ msgstr "%6.2f%% av %d källkodsrader körda i funktion %s\n"
+
+#~ msgid "No branches in function %s\n"
+#~ msgstr "Inga hopp i funktionen %s\n"
+
+#~ msgid "conversion from NaN to int"
+#~ msgstr "konvertering från NaN till int"
+
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "konveretering från NaN till unsigned int"
+
+#~ msgid "floating point overflow"
+#~ msgstr "flyttalsspill"
+
+#~ msgid "%s: total loss of precision"
+#~ msgstr "%s: total förlust av precision"
+
+#~ msgid "%s: partial loss of precision"
+#~ msgstr "%s: partiell förlust av precision"
+
+#, fuzzy
+#~ msgid "internal error: %s"
+#~ msgstr "Internt fel: %s"
+
+#, fuzzy
+#~ msgid "invalid character constant in #if"
+#~ msgstr "teckenkonstant för lång"
+
+#, fuzzy
+#~ msgid "invalid token in expression"
+#~ msgstr "ogiltig användning av void-uttryck"
+
+#, fuzzy
+#~ msgid "usage: %s [switches] input output"
+#~ msgstr "Användning: %s [flaggor] infil utfil\n"
+
+#, fuzzy
+#~ msgid "filename missing after -i option"
+#~ msgstr "Filnamn saknas efter flaggan -i"
+
+#, fuzzy
+#~ msgid "filename missing after -o option"
+#~ msgstr "Filnamn saknas efter flaggan -o"
+
+#, fuzzy
+#~ msgid "target missing after %s option"
+#~ msgstr "Mål saknas efter flaggan %s"
+
+#, fuzzy
+#~ msgid "filename missing after %s option"
+#~ msgstr "Filnamn saknas efter flaggan %s"
+
+#, fuzzy
+#~ msgid "macro name missing after -%c option"
+#~ msgstr "Makronamn saknas efter flaggan -%c"
+
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "-pedantic och -traditional är ömsesidigt uteslutande"
+
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "-trigraphs och -traditional är ömsesidigt uteslutande"
+
+#, fuzzy
+#~ msgid "directory name missing after -I option"
+#~ msgstr "Katalognamn saknas efter flaggan -I"
+
+#~ msgid "`/*' within comment"
+#~ msgstr "\"/*\" inuti kommentar"
+
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "ogiltigt makronamn \"%s\""
+
+#~ msgid "extra text at end of directive"
+#~ msgstr "extra text vid slutet av direktiv"
+
+#~ msgid "#error%.*s"
+#~ msgstr "#error%.*s"
+
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning%.*s"
+
+#~ msgid "#else or #elif after #else"
+#~ msgstr "#else eller #elif efter #else"
+
+#~ msgid "unbalanced #endif"
+#~ msgstr "obalanserad #endif"
+
+#~ msgid "no args to macro `%s'"
+#~ msgstr "inga argument till makro \"%s\""
+
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "bara 1 argument till makro \"%s\""
+
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "bara %d argument till makro \"%s\""
+
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "för många (%d) argument till makro \"%s\""
+
+#, fuzzy
+#~ msgid ""
+#~ "internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "Internt fel i %s, vid tradcpp.c:%d\n"
+#~ "Var vänlig och skicka in en felrapport.\n"
+#~ "Se %s för instruktioner."
+
+#~ msgid "optimization turned on"
+#~ msgstr "optimering påslagen"
+
+#~ msgid "optimization turned off"
+#~ msgstr "optimering avslagen"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "ogiltigt %%V-värde"
+
+#~ msgid "Use small memory model"
+#~ msgstr "Använd liten minnesmodell"
+
+#~ msgid "Use normal memory model"
+#~ msgstr "Använd normal minnesmodell"
+
+#~ msgid "Use large memory model"
+#~ msgstr "Använd stor minnesmodell"
+
+#~ msgid "Emit stack checking code"
+#~ msgstr "Generera kod för stackkontroll"
+
+#~ msgid "Do not emit stack checking code"
+#~ msgstr "Generera inte kod för stackkontroll"
+
+#~ msgid "Work around storem hardware bug"
+#~ msgstr "Fix för storem hårdvarubugg"
+
+#~ msgid "Do not work around storem hardware bug"
+#~ msgstr "Fixa inte storem hårdvarubugg"
+
+#~ msgid "Generate code for the C400"
+#~ msgstr "Generera kod för C400"
+
+#~ msgid "Generate code for the C300"
+#~ msgstr "Genrera kod för C300"
+
+#~ msgid "Generate code for c1"
+#~ msgstr "Generera kod för c1"
+
+#~ msgid "Generate code for c2"
+#~ msgstr "Generera kod för c2"
+
+#~ msgid "Generate code for c32"
+#~ msgstr "Generera kod för c32"
+
+#~ msgid "Generate code for c34"
+#~ msgstr "Generera kod för c34"
+
+#~ msgid "Use 64-bit longs"
+#~ msgstr "Använd 64-bits long"
+
+#~ msgid "Generate code the unix assembler can handle"
+#~ msgstr "Genrerar kod som unix assemblatorn kan hantera"
+
+#~ msgid "Generate code an embedded assembler can handle"
+#~ msgstr "Generera kod en inbäddad assemblator kan hantera"
+
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "Varna när ett funktionsargument är en struktur"
+
+#~ msgid "Profiling uses mcount"
+#~ msgstr "Profilering använder mcount"
+
+#~ msgid "Emit half-PIC code"
+#~ msgstr "Skapa half-PIC-kod"
+
+#~ msgid "Emit ELF object code"
+#~ msgstr "Skapa ELF-objektkod"
+
+#~ msgid "Emit ROSE object code"
+#~ msgstr "Skapa ROSE-objektkod"
+
+#~ msgid "Symbols have a leading underscore"
+#~ msgstr "Symboler startar med en understrykning"
+
+#~ msgid "Generate code which uses the FPU"
+#~ msgstr "Generera kod som använder FPU"
+
+#~ msgid "Do not generate code which uses the FPU"
+#~ msgstr "Genrera inte kod som använder FPU"
+
+#, fuzzy
+#~ msgid "this target does not support the -mabi switch"
+#~ msgstr "ISO C stöder inte formatstorlek i strftime"
+
+#~ msgid "Optimize for 3900"
+#~ msgstr "Optimera för 3900"
+
+#~ msgid "Optimize for 4650"
+#~ msgstr "Optimera för 4650"
+
+#~ msgid "Generate little endian data"
+#~ msgstr "Generera data som \"little endian\""
+
+#~ msgid "Generate big endian data"
+#~ msgstr "Generera data som \"big endian\""
+
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "-fdata-sections stöds inte för AIX"
+
+#, fuzzy
+#~ msgid "`%D' as declarator"
+#~ msgstr "\"%s\" är använd innan sin deklaration"
+
+#, fuzzy
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "lagringsstorlek på \"%s\" är inte konstant"
+
+#~ msgid "invalid type: `void &'"
+#~ msgstr "ogiltig typ: \"void &\""
+
+#~ msgid "-fname-mangling-version is no longer supported"
+#~ msgstr "-fname-mangling-version stöds inte längre"
+
+#, fuzzy
+#~ msgid " %#D"
+#~ msgstr " TOTALT :"
+
+#, fuzzy
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "complex ogiltig för \"%s\""
+
+#, fuzzy
+#~ msgid "multiple initializations given for member `%D'"
+#~ msgstr "multiple deklaration av metod \"%s\""
+
+#, fuzzy
+#~ msgid "base initializer for `%T'"
+#~ msgstr "kan inte initiera friend-funktion \"%s\""
+
+#~ msgid "ISO C++ forbids applying `sizeof' to a member function"
+#~ msgstr "ISO C++ förbjuder användning av \"sizeof\" på medlemsfunktion"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
+#~ msgstr "ISO C++ förbjuder användning av \"sizeof\" på typ void som är en inkomplett typ"
+
+#, fuzzy
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "sizeof applicerat på en inkomplett typ"
+
+#, fuzzy
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "ogiltig användning av void-uttryck"
+
+#, fuzzy
+#~ msgid "`%#T' has no member named `%D'"
+#~ msgstr "%s har ingen medlem med namn \"%s\""
+
+#, fuzzy
+#~ msgid "object missing in call to method `%D'"
+#~ msgstr "kan inte inline:a anrop till \"%s\""
+
+#~ msgid "unary `&'"
+#~ msgstr "unärt \"&\""
+
+#, fuzzy
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "ogiltig mottagartyp \"%s\""
+
+#, fuzzy
+#~ msgid "forward declaration of `%#T'"
+#~ msgstr "omdeklaration av \"%s\""
+
+#, fuzzy
+#~ msgid "declaration of `%#T'"
+#~ msgstr "omdeklaration av \"%s\""
+
+#, fuzzy
+#~ msgid "invalid use of `%T'"
+#~ msgstr "ogiltigt användande av \"restrict\""
+
+#, fuzzy
+#~ msgid "invalid use of template type parameter"
+#~ msgstr "ogiltigt typargument"
+
+#, fuzzy
+#~ msgid "initializer list construction invalid for `%D'"
+#~ msgstr "initierare misslyckas med att bestämma storlek på \"%s\""
+
+#, fuzzy
+#~ msgid "due to non-public access of member `%D'"
+#~ msgstr "upprepning av medlem \"%s\""
+
+#, fuzzy
+#~ msgid "The meaning of `\\x' (at %0) varies with -traditional"
+#~ msgstr "semantiken för \"\\x\" varierar med -traditional"
+
+#, fuzzy
+#~ msgid "The meaning of `\\a' (at %0) varies with -traditional"
+#~ msgstr "semantiken för \"\\a\" varierar med -traditional"
+
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "semantiken för \"\\x\" varierar med -traditional"
+
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "semantiken för \"\\a\" varierar med -traditional"
+
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd och -pedantic är inkompatibla"
+
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd och -mxopen är inkompatibla"
+
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen och -pedantic är inkompatible"
+
+#, fuzzy
+#~ msgid "-p profiling is no longer supported. Use -pg instead"
+#~ msgstr "-p profilering stöds inte längre. Använd -pg istället."
+
+#, fuzzy
+#~ msgid "a -ifile option requires a -map option"
+#~ msgstr "Flaggan -ifil kräver även flaggan -map"
+
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "flaggan -p stödjs inte: använd -pg istället"
+
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "får inte använda både -mfp64 och -msingle-float"
+
+#~ msgid "may not use both -mfp64 and -m4650"
+#~ msgstr "får inte använda både -mfp64 och -m4650"
+
+#, fuzzy
+#~ msgid "may not use both -mgp32 and -mfp64"
+#~ msgstr "får inte använda både -mfp64 och -m4650"
+
+#, fuzzy
+#~ msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#~ msgstr "-pedantic och -traditional är ömsesidigt uteslutande"
+
+#~ msgid " -a Enable block profiling \n"
+#~ msgstr " -a Slå på blockprofilering\n"
+
+#~ msgid " -ax Enable jump profiling \n"
+#~ msgstr " -ax Slå på hopprofilering\n"
+
+#, fuzzy
+#~ msgid "explicit instantiation of `%#D' after"
+#~ msgstr "%s: Vid instansiering av \"%s\":\n"
+
+#, fuzzy
+#~ msgid "explicit specialization here"
+#~ msgstr "initiering"
+
+#, fuzzy
+#~ msgid "explicit instantiation of `%#T' after"
+#~ msgstr "%s: Vid instansiering av \"%s\":\n"
+
+#~ msgid "__builtin_trap not supported by this target"
+#~ msgstr "__builtin_trap stöds inte på denna målarkitektur"
+
+#~ msgid "type with more precision than %s"
+#~ msgstr "typ med högre precision än %s"
+
+# local, det kan troligen vara både lokal variabel och lokal funktion??
+#~ msgid "declaration of `%s' shadows previous local"
+#~ msgstr "deklaration av \"%s\" döljer en tidigare lokal"
+
+#~ msgid "ANSI C forbids const or volatile function types"
+#~ msgstr "ANSI C förbjuder funktionertyper med const eller volatile"
#~ msgid "unknown escape sequence: '\\' followed by char 0x%x"
#~ msgstr "okänd escape-sekvens:: '\\' följd av tecken 0x%x"
@@ -16757,37 +21763,87 @@ msgstr ""
#~ msgid "Register '%c' is unknown"
#~ msgstr "Register '%c' är okänt"
+#~ msgid "Same as -mcpu=i386"
+#~ msgstr "Samma som -mcpu=i386"
+
+#~ msgid "Same as -mcpu=i486"
+#~ msgstr "Samma som -mcpu=i486"
+
+#~ msgid "Same as -mcpu=pentium"
+#~ msgstr "Samma som -mcpu=pentium"
+
+#~ msgid "Same as -mcpu=pentiumpro"
+#~ msgstr "Samma som -mcpu=pentiumpro"
+
+#~ msgid "Emit Intel syntax assembler opcodes"
+#~ msgstr "Skapa assembler-opkoder med Intel-syntax"
+
#~ msgid "Control allocation order of integer registers"
#~ msgstr "Kontrollera allokeringsordning för heltalsregister"
+#~ msgid "Use FUNCTION_EPILOGUE"
+#~ msgstr "Använd FUNCTION_EPILOGUE"
+
+#~ msgid "Do not use FUNCTION_EPILOGUE"
+#~ msgstr "Använd inte FUNCTION_EPILOGUE"
+
+#~ msgid "methods cannot be converted to function pointers"
+#~ msgstr "metoder kan inte konverteras till funktionspekare"
+
#~ msgid "ISO C++ forbids `&&'"
#~ msgstr "ISO C++ förbjuder \"&&\""
#~ msgid "`com_interface' only supported with -fvtable-thunks"
#~ msgstr "\"com_interface\" stöds bara med -fvtable-thunks"
-#~ msgid ""
-#~ " -Wid-clash-<num> Warn if 2 identifiers have the same first <num> "
-#~ "chars\n"
-#~ msgstr ""
-#~ " -Wid-clash-<num> Varna om två identifierare har samma första "
-#~ "<num> tecken\n"
+#~ msgid "ISO C++ forbids using a pointer-to-function in pointer arithmetic"
+#~ msgstr "ISO C++ förbjuder användning av funktionspekarepekare i pekararitmetik"
+
+#~ msgid "ISO C++ forbids using pointer to a member in pointer arithmetic"
+#~ msgstr "ISO C++ förbjuder användning av pekare till medlem i pekararitmetik"
+
+#~ msgid "Internal error #%d."
+#~ msgstr "Internt fel #%d."
+
+#~ msgid "-include and -imacros cannot be used with -fpreprocessed"
+#~ msgstr "-include och -imacros kan inte användas med -fpreprocessed"
+
+#~ msgid "<stdin>"
+#~ msgstr "<stdin>"
-#~ msgid "syntax error: cannot back up"
-#~ msgstr "syntaxfel: kan inte backa tillbaka"
+#~ msgid "file \"%s\" entered but not left"
+#~ msgstr "filen \"%s\" påbörjad men ej avslutad"
-#~ msgid "parser stack overflow"
-#~ msgstr "parsestack överfull"
+#~ msgid "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file\n"
+#~ msgstr "gcov [-b] [-v] [-n] [-l] [-f] [-o OBJKAT] fil\n"
-#~ msgid "parse error; also virtual memory exceeded"
-#~ msgstr "parsningsfel; och det virtuella minnet tog slut"
+#~ msgid "can't to open %s"
+#~ msgstr "kan inte öppna %s"
-#~ msgid "%s: option `%s' is ambiguous\n"
-#~ msgstr "%s: flaggan \"%s\" är tvetydig\n"
+#~ msgid "Generate code for Boehm GC"
+#~ msgstr "Generera kod för Boehm GC"
+
+#~ msgid " -Wid-clash-<num> Warn if 2 identifiers have the same first <num> chars\n"
+#~ msgstr " -Wid-clash-<num> Varna om två identifierare har samma första <num> tecken\n"
+
+#~ msgid "Unrecognized option `%s'"
+#~ msgstr "Känner inte igen flagga \"%s\""
+
+#~ msgid "`-a' option (basic block profile) not supported"
+#~ msgstr "flagga \"-a\" (block profilering) stöds inte"
+
+#~ msgid "`-ax' option (jump profiling) not supported"
+#~ msgstr "flagga \"-ax\" (hopprofilering) stöds inte"
#~ msgid "no file specified with -fdump-translation-unit"
#~ msgstr "ingen fil angiven med -fdump-translation-unit"
+#~ msgid "invalid identifier `%s'"
+#~ msgstr "ogiltig identifierare \"%s\""
+
+#~ msgid "syntax error before '#' token"
+#~ msgstr "syntaxfel för symbolen '#'"
+
#~ msgid "%s is a directory"
#~ msgstr "%s är en katalog"
@@ -16809,9 +21865,6 @@ msgstr ""
#~ msgid "ISO C does not support the strftime `%c' flag"
#~ msgstr "ISO C stöder inte flaggan \"%c\" till strftime"
-#~ msgid "ISO C does not support strftime format width"
-#~ msgstr "ISO C stöder inte formatstorlek i strftime"
-
#~ msgid "ISO C89 does not support the `%%%c' %s format"
#~ msgstr "ISO C89 stöder inte \\\"%%%c\\\" i %s formatsträng"
@@ -16830,60 +21883,31 @@ msgstr ""
#~ msgid "flag `%c' used with type `%c'"
#~ msgstr "flaggan \"%c\" använd med typen \"%c\""
-#~ msgid "third argument of `%s' is deprecated"
-#~ msgstr "tredje argumentet till \"%s\" är inte länge rekommenderat"
-
#~ msgid "parse error at '..'"
#~ msgstr "tolkningsfel vid \"..\""
-#~ msgid "ISO C89 forbids constructor expressions"
-#~ msgstr "ISO C89 förbjuder konstruktor-uttryck"
-
-#~ msgid "field `%s' already initialized"
-#~ msgstr "fält \"%s\" är redan initierat"
-
-#~ msgid "Generate code for a given CPU"
-#~ msgstr "Generera kod för en given CPU"
-
#~ msgid "Compile for Gmicro/300"
#~ msgstr "Kompilera för Gmicro/300"
#~ msgid "parse errors have confused me too much"
#~ msgstr "tolkningsfel har gjort mig helt förvirrad"
-#~ msgid "no return statement in function returning non-void"
-#~ msgstr "ingen return i funktion som returnerar icke-void"
-
-#~ msgid "`operator new' must return type `void *'"
-#~ msgstr "\"operator new\" måste returnera typ \"void *\""
-
-#~ msgid "`operator new' takes type `size_t' parameter"
-#~ msgstr "\"operator new\" tar parameter av typ \"size_t\""
-
#~ msgid "syntax error before '\\' token"
#~ msgstr "syntaxfel före symbolen '\\'"
-#~ msgid "keyword 'export' not implemented and will be ignored"
-#~ msgstr "nyckelordet \"export\" är inte implementerat och kommer ignorerads"
-
#~ msgid ""
#~ " -MD As -M, but put output in a .d file\n"
#~ " -MMD As -MD, but ignore system header files\n"
#~ " -MG Treat missing header file as generated files\n"
-#~ " -g3 Include #define and #undef directives in the "
-#~ "output\n"
-#~ " -D<macro> Define a <macro> with string '1' as its "
-#~ "value\n"
+#~ " -g3 Include #define and #undef directives in the output\n"
+#~ " -D<macro> Define a <macro> with string '1' as its value\n"
#~ " -D<macro>=<val> Define a <macro> with <val> as its value\n"
#~ msgstr ""
#~ " -MD Som -M, men skriva utdata till en .d-fil\n"
#~ " -MMD Som -MD, men ignorera system-include-filer\n"
-#~ " -MG Behandla saknade include-filer som genererade "
-#~ "filer\n"
-#~ " -g3 Inkludera direktiven #define och #undef i "
-#~ "utdatan\n"
-#~ " -D<makro> Definiera ett <makro> med strängen '1' som "
-#~ "värde\n"
+#~ " -MG Behandla saknade include-filer som genererade filer\n"
+#~ " -g3 Inkludera direktiven #define och #undef i utdatan\n"
+#~ " -D<makro> Definiera ett <makro> med strängen '1' som värde\n"
#~ " -D<makro>=<värde> Definiera ett <makro> med <värde> som värde\n"
#~ msgid "ISO C does not allow #%s"
@@ -16892,8 +21916,8 @@ msgstr ""
#~ msgid "second token after #line is not a string"
#~ msgstr "Andra symbolen efter #line är inte en sträng"
-#~ msgid "#%s with no argument"
-#~ msgstr "#%s utan argument"
+#~ msgid "#%s with invalid argument"
+#~ msgstr "#%s med ogiltigt argument"
#~ msgid "ISO C forbids text after #%s"
#~ msgstr "ISO C förbjuder text efter #%s"
diff --git a/gcc/po/tr.po b/gcc/po/tr.po
index 1798f82f869..1099ffe0044 100644
--- a/gcc/po/tr.po
+++ b/gcc/po/tr.po
@@ -1,139 +1,68 @@
# Turkish translations for gcc messages.
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Nilgün Belma Bugüner <nilgun@fide.org>, 2001, 2002.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Nilgün Belma Bugüner <nilgun@superonline.com>, 2001, 2002, 2003.
#
msgid ""
msgstr ""
-"Project-Id-Version: gcc 3.1-b20020415\n"
-"POT-Creation-Date: 2002-04-23 12:53+0200\n"
-"PO-Revision-Date: 2002-04-24 15:52+0300\n"
-"Last-Translator: Nilgün Belma Bugüner <nilgun@fide.org>\n"
+"Project-Id-Version: gcc 3.3\n"
+"POT-Creation-Date: 2003-05-12 14:42-0700\n"
+"PO-Revision-Date: 2003-05-21 13:33+0300\n"
+"Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 0.9.6\n"
-#: attribs.c:314
+#: attribs.c:185
#, c-format
msgid "`%s' attribute directive ignored"
msgstr "`%s' özellik yönergesi yoksayıldı"
-#: attribs.c:322
+#: attribs.c:193
#, c-format
msgid "wrong number of arguments specified for `%s' attribute"
msgstr "'%s' özelliği için belirtilen argüman sayısı hatalı"
-#: attribs.c:339
+#: attribs.c:210
#, c-format
msgid "`%s' attribute does not apply to types"
msgstr "`%s' özelliği veri türlerine uygulanmaz"
-#: attribs.c:376
+#: attribs.c:247
#, c-format
msgid "`%s' attribute only applies to function types"
msgstr "`%s' özelliği sadece işlev türlere uygulanır"
-#: attribs.c:468 attribs.c:490 attribs.c:512 attribs.c:543 attribs.c:565 attribs.c:590 attribs.c:613 attribs.c:643 attribs.c:681 attribs.c:728 attribs.c:758 attribs.c:788 attribs.c:811 attribs.c:1057 attribs.c:1113 attribs.c:1169 attribs.c:1230 attribs.c:1256 attribs.c:1458 config/arm/arm.c:2007 config/arm/arm.c:2034 config/avr/avr.c:4683 config/h8300/h8300.c:3071 config/h8300/h8300.c:3096 config/i386/i386.c:1267 config/i386/winnt.c:74
+#: attribs.c:404 c-common.c:5270 c-common.c:5292 c-common.c:5314
+#: c-common.c:5345 c-common.c:5367 c-common.c:5392 c-common.c:5418
+#: c-common.c:5448 c-common.c:5486 c-common.c:5533 c-common.c:5563
+#: c-common.c:5593 c-common.c:5616 c-common.c:5873 c-common.c:5895
+#: c-common.c:5938 c-common.c:6015 c-common.c:6071 c-common.c:6132
+#: c-common.c:6166 c-common.c:6520 config/arm/arm.c:2098 config/arm/arm.c:2125
+#: config/avr/avr.c:4774 config/h8300/h8300.c:3693 config/h8300/h8300.c:3718
+#: config/i386/i386.c:1403 config/i386/winnt.c:76 config/ip2k/ip2k.c:3204
#, c-format
msgid "`%s' attribute ignored"
msgstr "`%s' özelliği yoksayıldı"
-#: attribs.c:844
-#, c-format
-msgid "unknown machine mode `%s'"
-msgstr "'%s makina kipi bilinmiyor"
-
-#: attribs.c:847
-#, c-format
-msgid "no data type for mode `%s'"
-msgstr "'%s' kipi için bir veri türü yok"
-
-#: attribs.c:880
-msgid "section attribute cannot be specified for local variables"
-msgstr "bölge özelliği yerel değişkenler için belirtilmiş olamaz"
-
-#: attribs.c:891
-#, c-format
-msgid "section of `%s' conflicts with previous declaration"
-msgstr "`%s' bölgesi önceki bildirimle çelişiyor"
-
-#: attribs.c:900
-#, c-format
-msgid "section attribute not allowed for `%s'"
-msgstr "bölge özelliğine `%s' için izin verilmez"
-
-#: attribs.c:907
-msgid "section attributes are not supported for this target"
-msgstr "bölge özellikleri bu hedef için desteklenmiyor"
-
-#: attribs.c:949
-msgid "requested alignment is not a constant"
-msgstr "istenen ayarlama bir sabit deÄŸil"
-
-#: attribs.c:954
-msgid "requested alignment is not a power of 2"
-msgstr "istenen ayarlama 2 nin kuvveti deÄŸil"
-
-#: attribs.c:959
-msgid "requested alignment is too large"
-msgstr "istenen ayarlama çok büyük"
-
-#: attribs.c:986
-#, c-format
-msgid "alignment may not be specified for `%s'"
-msgstr "hizalama `%s' için belirtilmiş olmayabilir"
-
-#: attribs.c:1031
-#, c-format
-msgid "`%s' defined both normally and as an alias"
-msgstr "`%s' hem normal hem de bir rumuz olarak tanımlanmış"
-
-#: attribs.c:1041
-msgid "alias arg not a string"
-msgstr "rumuz argümanı bir dizge değil"
-
-#: attribs.c:1080 attribs.c:1136
-#, c-format
-msgid "`%s' attribute applies only to functions"
-msgstr "`%s' özelliği sadece işlevlere uygulanır"
-
-#: attribs.c:1087 attribs.c:1143
-#, c-format
-msgid "can't set `%s' attribute after definition"
-msgstr "`%s' özelliğine tanımlandıktan sonra değer atanamaz"
-
-#: attribs.c:1227
-#, c-format
-msgid "`%s' attribute ignored for `%s'"
-msgstr "`%s' özelliği `%s' için yoksayıldı"
-
-#: attribs.c:1284
-#, c-format
-msgid "invalid vector type for attribute `%s'"
-msgstr "`%s' özelliği vektör tür geçersiz"
-
-#: attribs.c:1307 attribs.c:1312
-msgid "no vector mode with the size and type specified could be found"
-msgstr "belirtilen tür ve boyutta vektör kipi yok"
-
-#: builtins.c:282
+#: builtins.c:285
msgid "offset outside bounds of constant string"
msgstr "göreli konum sabit dizgenin sınırlarının dışında"
-#: builtins.c:759
+#: builtins.c:765
msgid "second arg to `__builtin_prefetch' must be a constant"
msgstr "`__builtin_prefetch' için 2. argüman bir sabit olmalı"
-#: builtins.c:766
+#: builtins.c:772
msgid "invalid second arg to __builtin_prefetch; using zero"
msgstr "__builtin_prefetch için 2. argüman geçersiz; sıfır kullanılıyor"
-#: builtins.c:773
+#: builtins.c:779
msgid "third arg to `__builtin_prefetch' must be a constant"
msgstr "`__builtin_prefetch' için 3. argüman bir sabit olmalı"
-#: builtins.c:780
+#: builtins.c:786
msgid "invalid third arg to __builtin_prefetch; using zero"
msgstr "__builtin_prefetch için 3. argüman geçersiz; sıfır kullanılıyor"
@@ -144,1286 +73,1434 @@ msgstr "__builtin_prefetch için 3. argüman geçersiz; sıfır kullanılıyor"
#. 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:2760
+#: builtins.c:2864
msgid "__builtin_saveregs not supported by this target"
msgstr "__builtin_saveregs bu hedef tarafından desteklenmiyor"
-#: builtins.c:2802
+#: builtins.c:2906
msgid "argument of `__builtin_args_info' must be constant"
msgstr "`__builtin_args_info'nun argümanı bir sabit olmalıdır"
-#: builtins.c:2808
+#: builtins.c:2912
msgid "argument of `__builtin_args_info' out of range"
msgstr "`__builtin_args_info'nun argümanı kapsamdışı"
-#: builtins.c:2814
+#: builtins.c:2918
msgid "missing argument in `__builtin_args_info'"
msgstr "`__builtin_args_info'da argüman eksik"
-#: builtins.c:2846
+#: builtins.c:2949
msgid "`va_start' used in function with fixed args"
msgstr "`va_start' işlev içinde sabit argümanlarla kullanılmış"
-#: builtins.c:2865
+#: builtins.c:2968
msgid "second parameter of `va_start' not last named argument"
msgstr "`va_start'ın ikinci parametresi isimli son argüman değil"
#. 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:2870
+#: builtins.c:2973
msgid "`__builtin_next_arg' called without an argument"
msgstr "`__builtin_next_arg' argümansız çağrılmış"
-#: builtins.c:2974
+#: builtins.c:3059
msgid "too many arguments to function `va_start'"
msgstr "`va_start' işlevine çok fazla argüman verilmiş"
-#: builtins.c:3075
+#: builtins.c:3161
msgid "first argument to `va_arg' not of type `va_list'"
msgstr "`va_arg'ın ilk argümanının türü `va_list' değil"
#. 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:3106
+#: builtins.c:3193
#, c-format
msgid "`%s' is promoted to `%s' when passed through `...'"
msgstr "`%s' `...' sayesinde aktarıldığında `%s'e yükseltilmiş"
-#: builtins.c:3111
+#: builtins.c:3198
#, c-format
msgid "(so you should pass `%s' not `%s' to `va_arg')"
msgstr "(bu durumda `va_arg'a `%s' aktarılmalı, `%s' değil)"
-#: builtins.c:3242
+#: builtins.c:3329
msgid "invalid arg to `__builtin_frame_address'"
msgstr "`__builtin_frame_address'e aktarılan argüman geçersiz"
-#: builtins.c:3244
+#: builtins.c:3331
msgid "invalid arg to `__builtin_return_address'"
msgstr "`__builtin_return_address'e aktarılan argüman geçersiz"
-#: builtins.c:3258
+#: builtins.c:3345
msgid "unsupported arg to `__builtin_frame_address'"
msgstr "`__builtin_frame_address'e aktarılan argüman desteklenmiyor"
-#: builtins.c:3260
+#: builtins.c:3347
msgid "unsupported arg to `__builtin_return_address'"
msgstr "`__builtin_return_address'e aktarılan argüman desteklenmiyor"
-#: builtins.c:3428
+#: builtins.c:3519
msgid "second arg to `__builtin_expect' must be a constant"
msgstr "`__builtin_expect'e aktarılan ikinci argüman bir sabit olmalı"
-#: builtins.c:3909
+#: builtins.c:4017
msgid "__builtin_longjmp second argument must be 1"
msgstr "__builtin_longjmp'ın ikinci argümanı 1 olmalı"
#. just do library call, if unknown builtin
-#: builtins.c:3982 c-common.c:3811
+#: builtins.c:4081 c-common.c:4454
#, c-format
msgid "built-in function `%s' not currently supported"
msgstr "yerleÅŸik iÅŸlev `%s' ÅŸu an desteklenmiyor"
-#: c-common.c:550
+#: builtins.c:4154
+msgid "target format does not support infinity"
+msgstr "hedef biçem sonsuzu desteklemiyor"
+
+#: c-common.c:1163
#, c-format
msgid "`%s' is not defined outside of function scope"
msgstr "`%s' işlev bağlamının dışında atanmamış"
-#: c-common.c:590
-msgid "concatenation of string literals with __FUNCTION__ is deprecated. This feature will be removed in future"
-msgstr "__FUNCTION__ ile dizge sabitlerin birleştirilmesi yakında kullanımdan kaldırılacak"
-
-#: c-common.c:659
+#: 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 "dizge uzunluğu `%1$d' ISO C%3$d derleyiclerin desteklediği uzunluk %2$d den büyük"
-#: c-common.c:708
+#: c-common.c:1242
+msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+msgstr "__FUNCTION__ ile dizge sabitlerin birleştirilmesi özelliği eski kullanım"
+
+#: c-common.c:1338
msgid "overflow in constant expression"
msgstr "sabit ifadesinde taÅŸma"
-#: c-common.c:729
+#: c-common.c:1359
msgid "integer overflow in expression"
msgstr "ifadede tamsayı taşması"
-#: c-common.c:738
+#: c-common.c:1368
msgid "floating point overflow in expression"
msgstr "ifadede gerçel sayı taşması"
-#: c-common.c:744
+#: c-common.c:1374
msgid "vector overflow in expression"
msgstr "ifadede vektör taşması"
#. This detects cases like converting -129 or 256 to unsigned char.
-#: c-common.c:765
+#: c-common.c:1397
msgid "large integer implicitly truncated to unsigned type"
msgstr "büyük tamsayı örtük olarak unsigned türe indirgendi"
-#: c-common.c:767
+#: c-common.c:1399
msgid "negative integer implicitly converted to unsigned type"
msgstr "negatif tamsayı örtük olarak unsigned türe dönüştürüldü"
-#: c-common.c:814
+#: c-common.c:1447
msgid "overflow in implicit constant conversion"
msgstr "örtük sabit dönüşümünde taşma"
-#: c-common.c:962
+#: c-common.c:1595
#, c-format
msgid "operation on `%s' may be undefined"
msgstr "`%s' üstündeki işlem tanımsız olabilir"
-#: c-common.c:1253
+#: c-common.c:1886
msgid "expression statement has incomplete type"
msgstr "ifade deyimi tamamlanmamış tür içeriyor"
-#: c-common.c:1286
+#: c-common.c:1919
msgid "case label does not reduce to an integer constant"
msgstr "case etiketi bir tamsayı sabite indirgenmez"
-#: c-common.c:1586
+#: c-common.c:2223
msgid "invalid truth-value expression"
msgstr "doğruluk-değeri ifadesi geçersiz"
-#: c-common.c:1637
+#: c-common.c:2274
#, c-format
msgid "invalid operands to binary %s"
msgstr "iki terimli %s için terimler geçersiz"
-#: c-common.c:1872 c-common.c:1881
+#: c-common.c:2508
msgid "comparison is always false due to limited range of data type"
msgstr "veri türünün kapsadığı sınırlardan dolayı karşılaştırma sonucu daima yanlıştır"
-#: c-common.c:1874 c-common.c:1883
+#: c-common.c:2510
msgid "comparison is always true due to limited range of data type"
msgstr "veri türünün kapsadığı sınırlardan dolayı karşılaştırma sonucu daima doğrudur"
-#: c-common.c:1949
+#: c-common.c:2580
msgid "comparison of unsigned expression >= 0 is always true"
msgstr "unsigned ifade >=0 daima doÄŸrudur"
-#: c-common.c:1958
+#: c-common.c:2589
msgid "comparison of unsigned expression < 0 is always false"
msgstr "unsigned ifade < 0 daima yanlıştır"
-#: c-common.c:2005
+#: c-common.c:2636
msgid "pointer of type `void *' used in arithmetic"
msgstr "aritmetikte `void *' türünde gösterge kullanılmış"
-#: c-common.c:2011
+#: c-common.c:2642
msgid "pointer to a function used in arithmetic"
msgstr "aritmetikte işlev göstergesi kullanılmış"
-#: c-common.c:2017
+#: c-common.c:2648
msgid "pointer to member function used in arithmetic"
msgstr "aritmetikte üye işlev göstergesi kullanılmış"
-#: c-common.c:2023
+#: c-common.c:2654
msgid "pointer to a member used in arithmetic"
msgstr "aritmetikte üye göstergesi kullanılmış"
-#: c-common.c:2110 f/com.c:14823
+#: c-common.c:2741 f/com.c:14762
msgid "struct type value used where scalar is required"
msgstr "sayısal değer gerekirken yapı türü değer kullanılmış"
-#: c-common.c:2114 f/com.c:14827
+#: c-common.c:2745 f/com.c:14766
msgid "union type value used where scalar is required"
msgstr "sayısal değer gerekirken birleşik yapı türü değer kullanılmış"
-#: c-common.c:2118 f/com.c:14831
+#: c-common.c:2749 f/com.c:14770
msgid "array type value used where scalar is required"
msgstr "sayısal değer gerekirken dizi türü değer kullanılmış"
-#: c-common.c:2233 f/com.c:14957
+#: c-common.c:2869 f/com.c:14903
msgid "suggest parentheses around assignment used as truth value"
msgstr "atamayı çevrelemesi önerilen parantezler doğruluk değeri olarak kullanıldı"
-#: c-common.c:2277 c-common.c:2309
+#: c-common.c:2913 c-common.c:2945
msgid "invalid use of `restrict'"
msgstr "`restrict' kullanımı geçersiz"
-#: c-common.c:2425
-msgid "__alignof__ applied to an incomplete type"
-msgstr "__alignof__ bir tamamlanmamış türe uygulanmış"
+#: c-common.c:3059
+msgid "invalid application of `sizeof' to a function type"
+msgstr "bir işlev türüne geçersiz `sizeof' uygulaması "
+
+#: c-common.c:3069
+#, c-format
+msgid "invalid application of `%s' to a void type"
+msgstr "bir void türe geçersiz `%s' uygulaması"
+
+#: c-common.c:3075
+#, c-format
+msgid "invalid application of `%s' to an incomplete type"
+msgstr "bir tamalanmamış türe geçersiz `%s' uygulaması"
-#: c-common.c:2451
+#: c-common.c:3116
msgid "`__alignof' applied to a bit-field"
msgstr "`__alignof' bir bit-alanına uygulanmış"
-#: c-common.c:2893
+#: c-common.c:3613
#, c-format
msgid "cannot disable built-in function `%s'"
msgstr "`%s' yerleÅŸik iÅŸlev olduÄŸundan iptal edilemez"
-#: c-common.c:3174 c-typeck.c:1781
+#: c-common.c:3782 c-typeck.c:1748
#, c-format
msgid "too few arguments to function `%s'"
msgstr "`%s' işlevi için argümanlar çok az"
-#: c-common.c:3180 c-typeck.c:1634
+#: c-common.c:3788 c-typeck.c:1601
#, c-format
msgid "too many arguments to function `%s'"
msgstr "`%s' işlevi için argümanlar çok fazla"
-#: c-common.c:3369
+#: c-common.c:3807
+#, c-format
+msgid "non-floating-point argument to function `%s'"
+msgstr "`%s' işlevine kayan noktalı olmayan argüman"
+
+#: c-common.c:4076
msgid "pointers are not permitted as case values"
msgstr "case değeri olarak göstergeler kullanılamaz"
-#: c-common.c:3375
+#: c-common.c:4082
msgid "ISO C++ forbids range expressions in switch statements"
msgstr "ISO C++ switch deyimlerinde aralık ifadelerine izin vermez"
-#: c-common.c:3377
+#: c-common.c:4084
msgid "ISO C forbids range expressions in switch statements"
msgstr "ISO C switch deyimlerinde aralık ifadelerine izin vermez"
-#: c-common.c:3407
+#: c-common.c:4114
msgid "empty range specified"
msgstr "boş aralık belirtilmiş"
-#: c-common.c:3458
+#: c-common.c:4165
msgid "duplicate (or overlapping) case value"
msgstr "yinelenmiÅŸ (ya da birbirini kapsayan) case deÄŸerleri"
-#: c-common.c:3460
+#: c-common.c:4167
msgid "this is the first entry overlapping that value"
msgstr "bu, aynı değeri kapsayan ilk girdi"
-#: c-common.c:3464
+#: c-common.c:4171
msgid "duplicate case value"
msgstr "yinelenmiÅŸ case deÄŸeri"
-#: c-common.c:3465
+#: c-common.c:4172
msgid "previously used here"
msgstr "önce burada kullanılmış"
-#: c-common.c:3469
+#: c-common.c:4176
msgid "multiple default labels in one switch"
msgstr "tek switch'te çok sayıda öntanımlı etiket"
-#: c-common.c:3470
+#: c-common.c:4177
msgid "this is the first default label"
msgstr "bu, ilk öntanımlı etiket"
-#: c-common.c:3498
+#: c-common.c:4205
msgid "ISO C++ forbids taking the address of a label"
msgstr "ISO C++ da bir etiket adresinin alınmasına izin verilmez"
-#: c-common.c:3500
+#: c-common.c:4207
msgid "ISO C forbids taking the address of a label"
msgstr "ISO C de bir etiket adresinin alınmasına izin verilmez"
-#: c-common.c:4148
-msgid "-Wformat-y2k ignored without -Wformat"
-msgstr "-Wformat-y2k -Wformat'sız yoksayıldı"
+#: c-common.c:5230
+#, c-format
+msgid "declaration of `%s' shadows %s"
+msgstr "`%s' bildirimi %s'i gölgeliyor"
-#: c-common.c:4150
-msgid "-Wformat-extra-args ignored without -Wformat"
-msgstr "-Wformat-extra-args -Wformat'sız yoksayıldı"
+#: c-common.c:5649
+#, c-format
+msgid "unknown machine mode `%s'"
+msgstr "'%s makina kipi bilinmiyor"
-#: c-common.c:4152
-msgid "-Wformat-nonliteral ignored without -Wformat"
-msgstr "-Wformat-nonliteral -Wformat'sız yoksayıldı"
+#: c-common.c:5652
+#, c-format
+msgid "no data type for mode `%s'"
+msgstr "'%s' kipi için bir veri türü yok"
-#: c-common.c:4154
-msgid "-Wformat-security ignored without -Wformat"
-msgstr "-Wformat-security -Wformat'sız yoksayıldı"
+#: c-common.c:5661 c-common.c:6262
+#, c-format
+msgid "unable to emulate '%s'"
+msgstr "'%s' öykünümü yapılamıyor"
-#: c-common.c:4156
-msgid "-Wmissing-format-attribute ignored without -Wformat"
-msgstr "-Wmissing-format-attribute -Wformat'sız yoksayıldı"
+#: c-common.c:5697
+msgid "section attribute cannot be specified for local variables"
+msgstr "bölge özelliği yerel değişkenler için belirtilmiş olamaz"
-#: c-common.c:4247
+#: c-common.c:5708
#, c-format
-msgid "declaration of `%s' shadows %s"
-msgstr "`%s' bildirimi %s'i gölgeliyor"
+msgid "section of `%s' conflicts with previous declaration"
+msgstr "`%s' bölgesi önceki bildirimle çelişiyor"
+
+#: c-common.c:5717
+#, c-format
+msgid "section attribute not allowed for `%s'"
+msgstr "bölge özelliğine `%s' için izin verilmez"
+
+#: c-common.c:5724
+msgid "section attributes are not supported for this target"
+msgstr "bölge özellikleri bu hedef için desteklenmiyor"
+
+#: c-common.c:5766
+msgid "requested alignment is not a constant"
+msgstr "istenen ayarlama bir sabit deÄŸil"
+
+#: c-common.c:5771
+msgid "requested alignment is not a power of 2"
+msgstr "istenen ayarlama 2 nin kuvveti deÄŸil"
+
+#: c-common.c:5776
+msgid "requested alignment is too large"
+msgstr "istenen ayarlama çok büyük"
+
+#: c-common.c:5803
+#, c-format
+msgid "alignment may not be specified for `%s'"
+msgstr "hizalama `%s' için belirtilmiş olmayabilir"
+
+#: c-common.c:5848
+#, c-format
+msgid "`%s' defined both normally and as an alias"
+msgstr "`%s' hem normal hem de bir rumuz olarak tanımlanmış"
+
+#: c-common.c:5858
+msgid "alias arg not a string"
+msgstr "rumuz argümanı bir dizge değil"
+
+#: c-common.c:5905
+msgid "visibility arg not a string"
+msgstr "görünürlük argümanı bir dizge değil"
+
+#: c-common.c:5914
+msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+msgstr "görünürlük \"default\", \"hidden\", \"protected\" veya \"internal\" değerlerinden biri olmalıdır"
+
+#: c-common.c:5948
+msgid "tls_model arg not a string"
+msgstr "tls_model argümanı bir dizge değil"
+
+#: c-common.c:5957
+msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+msgstr "tls_model \"local-exec\", \"initial-exec\", \"local-dynamic\" veya \"global-dynamic\" değerlerinden biri olmalı"
+
+#: c-common.c:5982 c-common.c:6038
+#, c-format
+msgid "`%s' attribute applies only to functions"
+msgstr "`%s' özelliği sadece işlevlere uygulanır"
+
+#: c-common.c:5989 c-common.c:6045
+#, c-format
+msgid "can't set `%s' attribute after definition"
+msgstr "`%s' özelliğine tanımlandıktan sonra değer atanamaz"
+
+#: c-common.c:6129
+#, c-format
+msgid "`%s' attribute ignored for `%s'"
+msgstr "`%s' özelliği `%s' için yoksayıldı"
+
+#: c-common.c:6194
+#, c-format
+msgid "invalid vector type for attribute `%s'"
+msgstr "`%s' özelliği vektör tür geçersiz"
+
+#: c-common.c:6218 c-common.c:6250
+msgid "no vector mode with the size and type specified could be found"
+msgstr "belirtilen tür ve boyutta vektör kipi yok"
+
+#: c-common.c:6349
+msgid "nonnull attribute without arguments on a non-prototype"
+msgstr "bir prototip olmayanda argümansız null olmayan özellik"
+
+#: c-common.c:6364
+#, c-format
+msgid "nonnull argument has invalid operand number (arg %lu)"
+msgstr "null olmayan argüman geçersiz sayıda terim içeriyor (%lu. argüman)"
+
+#: c-common.c:6383
+#, c-format
+msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
+msgstr "null olmayan argüman kapsamdışı sayıda terim içeriyor (%lu. argüman, %lu. terim)"
+
+#: c-common.c:6391
+#, c-format
+msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
+msgstr "null olmayan argüman gösterge olmayan terime başvuruyor (%lu. argüman, %lu. terim)"
-#: c-convert.c:78 c-typeck.c:1035 c-typeck.c:4047 cp/typeck.c:1673 cp/typeck.c:6165
+#: c-common.c:6477
+#, c-format
+msgid "null argument where non-null required (arg %lu)"
+msgstr "null olamayan gerekiren yerde null argüman (%lu. argüman)"
+
+#: c-convert.c:80 c-typeck.c:988 c-typeck.c:4059 cp/typeck.c:1617
+#: cp/typeck.c:5884
msgid "void value not ignored as it ought to be"
msgstr "void değer yoksayılması gerekirken yoksayılmadı"
-#: c-convert.c:110 java/typeck.c:150
+#: c-convert.c:112 java/typeck.c:150
msgid "conversion to non-scalar type requested"
msgstr "sayısal olmayan türe dönüşüm istendi"
-#: c-decl.c:476
-msgid "-traditional is deprecated and may be removed"
-msgstr "-traditional kullanımdan kalkacak ve kalkmış da olabilir"
-
-#: c-decl.c:566
-#, c-format
-msgid "unknown C standard `%s'"
-msgstr "`%s' diye bir C standardı bilinmiyor"
-
-#: c-decl.c:848
+#: c-decl.c:337
#, c-format
msgid "array `%s' assumed to have one element"
msgstr "`%s' dizisi tek elemanlı kabul edildi"
-#: c-decl.c:1024
+#: c-decl.c:523
#, c-format
msgid "`struct %s' incomplete in scope ending here"
msgstr "kapsam sonuna gelindiÄŸinde `struct %s' hala eksik"
-#: c-decl.c:1027
+#: c-decl.c:526
#, c-format
msgid "`union %s' incomplete in scope ending here"
msgstr "kapsam sonuna gelindiÄŸinde `union %s' hala eksik"
-#: c-decl.c:1030
+#: c-decl.c:529
#, c-format
msgid "`enum %s' incomplete in scope ending here"
msgstr "kapsam sonuna gelindiÄŸinde `enum %s' hala eksik"
-#: c-decl.c:1144 c-decl.c:1285 java/decl.c:1377
+#: c-decl.c:643 c-decl.c:768 java/decl.c:1403
#, c-format
msgid "label `%s' used but not defined"
msgstr "`%s' etiketi tanımsız kullanılmış"
-#: c-decl.c:1150 c-decl.c:1292 java/decl.c:1383
+#: c-decl.c:649 c-decl.c:775 java/decl.c:1409
#, c-format
msgid "label `%s' defined but not used"
msgstr "`%s' etiketi tanımlı ama kullanılmamış"
-#: c-decl.c:1409 cp/decl.c:3128
+#: c-decl.c:890 cp/decl.c:3089
#, c-format
msgid "function `%s' redeclared as inline"
msgstr "iÅŸlev `%s' 'inline' olarak yeniden bildirilmiÅŸ"
-#: c-decl.c:1411 cp/decl.c:3130
+#: c-decl.c:892 cp/decl.c:3091
#, c-format
msgid "previous declaration of function `%s' with attribute noinline"
msgstr "`%s' işlevinin önceki bildirimi 'inline' değil"
-#: c-decl.c:1418 cp/decl.c:3137
+#: c-decl.c:899 cp/decl.c:3098
#, c-format
msgid "function `%s' redeclared with attribute noinline"
msgstr "`%s' iÅŸlevinin bildirimi 'inline' deÄŸil"
-#: c-decl.c:1420 cp/decl.c:3139
+#: c-decl.c:901 cp/decl.c:3100
#, c-format
msgid "previous declaration of function `%s' was inline"
msgstr "`%s' işlevinin önceki bildirimi 'inline' idi"
-#: c-decl.c:1449 c-decl.c:1502
+#: c-decl.c:930 c-decl.c:976
#, c-format
msgid "shadowing built-in function `%s'"
msgstr "yerleşik `%s' işlevinin gölgelenmesi"
-#: c-decl.c:1451
+#: c-decl.c:932
#, c-format
msgid "shadowing library function `%s'"
msgstr "kitaplık işlevi `%s'in gölgelenmesi"
-#: c-decl.c:1457
+#: c-decl.c:938
#, c-format
msgid "library function `%s' declared as non-function"
msgstr "kitaplık işlevi `%s' işlev olarak bildirilmemiş"
-#: c-decl.c:1461 c-decl.c:1464
+#: c-decl.c:942 c-decl.c:945
#, c-format
msgid "built-in function `%s' declared as non-function"
msgstr "yerleÅŸik iÅŸlev `%s' iÅŸlev olarak bildirilmemiÅŸ"
-#: c-decl.c:1468 objc/objc-act.c:2334 objc/objc-act.c:6036
+#: c-decl.c:949 objc/objc-act.c:2384 objc/objc-act.c:6154
#, c-format
msgid "`%s' redeclared as different kind of symbol"
msgstr "`%s' farklı bir sembol çeşidi olarak tekrar bildirilmiş"
-#: c-decl.c:1469 c-decl.c:1667 c-decl.c:1817 objc/objc-act.c:2336 objc/objc-act.c:6038 objc/objc-act.c:6093
+#: c-decl.c:950 c-decl.c:1141 c-decl.c:1155 c-decl.c:1162 c-decl.c:1307
+#: objc/objc-act.c:2386 objc/objc-act.c:6156 objc/objc-act.c:6211
#, c-format
msgid "previous declaration of `%s'"
msgstr "`%s'in önceki bildirimi"
#. If types don't match for a built-in, throw away the built-in.
-#: c-decl.c:1571
+#: c-decl.c:1045
#, c-format
msgid "conflicting types for built-in function `%s'"
msgstr "yerleşik işlev `%s' için tür çelişkisi"
-#: c-decl.c:1614 c-decl.c:1633
+#: c-decl.c:1088 c-decl.c:1107
#, c-format
msgid "conflicting types for `%s'"
msgstr "`%s' için tür çelişkisi"
-#: c-decl.c:1656
+#: c-decl.c:1130
msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
msgstr "Üç noktalı bir parametre listesi bir boş parametre isim listesi bildirimi ile eşleşemez"
-#: c-decl.c:1662
+#: c-decl.c:1136
msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
msgstr "Bir öntanımlı yükseltme içeren bir argüman türü, bir boş parametre isim listesi bildirimi ile eşleşemez"
-#: c-decl.c:1677 c-decl.c:1700
+#: c-decl.c:1154
+#, c-format
+msgid "thread-local declaration of `%s' follows non thread-local declaration"
+msgstr "`%s' thread-local bildirimini thread-local olmayan bildirimi izliyor"
+
+#: c-decl.c:1161
+#, c-format
+msgid "non thread-local declaration of `%s' follows thread-local declaration"
+msgstr "`%s' thread-local olmayan bildirimini thread-local bildirimi izliyor"
+
+#: c-decl.c:1172 c-decl.c:1195
#, c-format
msgid "redefinition of `%s'"
msgstr "`%s'in yeniden tanımlanması"
-#: c-decl.c:1680
+#: c-decl.c:1175
#, c-format
msgid "redeclaration of `%s'"
msgstr "`%s'in yeniden bildirimi"
-#: c-decl.c:1683
+#: c-decl.c:1178
#, c-format
msgid "conflicting declarations of `%s'"
msgstr "`%s' bildirimlerinde çelişki"
-#: c-decl.c:1727
+#: c-decl.c:1222
#, c-format
msgid "prototype for `%s' follows"
msgstr "`%s' için prototip izleniyor"
-#: c-decl.c:1728 c-decl.c:1736 c-decl.c:1752
+#: c-decl.c:1223 c-decl.c:1231 c-decl.c:1242
msgid "non-prototype definition here"
msgstr "buradaki tanımlama prototip değil"
-#: c-decl.c:1735
+#: c-decl.c:1230
#, c-format
msgid "prototype for `%s' follows and number of arguments doesn't match"
msgstr "`%s' için prototip izleniyor ve argüman sayısı eşleşmiyor"
-#: c-decl.c:1750
+#: c-decl.c:1240
#, c-format
msgid "prototype for `%s' follows and argument %d doesn't match"
msgstr "`%s' için prototip izleniyor ve %d. argüman eşleşmiyor"
-#: c-decl.c:1768
+#: c-decl.c:1258
#, c-format
msgid "`%s' declared inline after being called"
msgstr "`%s' çağrıldıktan sonra `inline' bildirilmiş"
-#: c-decl.c:1774
+#: c-decl.c:1264
#, c-format
msgid "`%s' declared inline after its definition"
msgstr "`%s' tanımlandıktan sonra `inline' bildirilmiş"
-#: c-decl.c:1781
+#: c-decl.c:1271
#, c-format
msgid "static declaration for `%s' follows non-static"
msgstr "`%s' için 'static' bildirimi statik olmayan izliyor"
-#: c-decl.c:1789
+#: c-decl.c:1279
#, c-format
msgid "non-static declaration for `%s' follows static"
msgstr "`%s' için 'static' olmayan bildirimi statik izliyor"
-#: c-decl.c:1796
+#: c-decl.c:1286
#, c-format
msgid "const declaration for `%s' follows non-const"
msgstr "`%s' için 'const' bildirimi sabit olmayan izliyor"
-#: c-decl.c:1803
+#: c-decl.c:1293
#, c-format
msgid "type qualifiers for `%s' conflict with previous decl"
msgstr "`%s' için tür niteleyicileri önceki bildirimle çelişiyor"
-#: c-decl.c:1816
+#: c-decl.c:1306
#, c-format
msgid "redundant redeclaration of `%s' in same scope"
msgstr "`%s'in aynı alandaki anlamsız yeniden bildirimi"
-#: c-decl.c:2120 java/decl.c:1076
+#: c-decl.c:1607 java/decl.c:1102
#, c-format
msgid "declaration of `%s' shadows a parameter"
msgstr "`%s' bildirimi bir parametreyi gölgeliyor"
-#: c-decl.c:2123 java/decl.c:1079
+#: c-decl.c:1610 java/decl.c:1105
#, c-format
msgid "declaration of `%s' shadows a symbol from the parameter list"
msgstr "`%s' bildirimi parametre listesinden bir sembolü gölgeliyor"
-#: c-decl.c:2144 cp/decl.c:4236
+#: c-decl.c:1631 cp/decl.c:4218
msgid "a parameter"
msgstr "bir parametre"
-#: c-decl.c:2146 cp/decl.c:4253
+#: c-decl.c:1633 cp/decl.c:4235
msgid "a previous local"
msgstr "önceki yerel"
#. XXX shadow warnings in outer-more namespaces
-#: c-decl.c:2150 cp/decl.c:4257
+#: c-decl.c:1637 cp/decl.c:4239
msgid "a global declaration"
msgstr "bir genel bildirim"
-#: c-decl.c:2194
+#: c-decl.c:1681
#, c-format
msgid "nested extern declaration of `%s'"
msgstr "`%s'in iç içe 'extern' bildirimi"
-#: c-decl.c:2216 java/decl.c:1029
+#: c-decl.c:1700 java/decl.c:1055
#, c-format
msgid "`%s' used prior to declaration"
msgstr "`%s' bildirim öncesi kullanılmış"
-#: c-decl.c:2231 c-decl.c:2446
+#: c-decl.c:1714 c-decl.c:1889
#, c-format
msgid "`%s' was declared implicitly `extern' and later `static'"
msgstr "`%s' önce örtük olarak `extern' sonra da `static' bildirilmiş"
-#: c-decl.c:2341 cp/decl.c:4095
+#: c-decl.c:1817 cp/decl.c:4075
msgid "type mismatch with previous external decl"
msgstr "tür önceki external bildirimle çatışıyor"
-#: c-decl.c:2342
+#: c-decl.c:1818
#, c-format
msgid "previous external decl of `%s'"
msgstr "`%s'in önceki 'external' bildirimi"
-#: c-decl.c:2355
+#: c-decl.c:1831
msgid "type mismatch with previous implicit declaration"
msgstr "tür önceki örtük bildirimle çatışıyor"
-#: c-decl.c:2357
+#: c-decl.c:1833
#, c-format
msgid "previous implicit declaration of `%s'"
msgstr "`%s'in önceki örtük bildirimi"
-#: c-decl.c:2374
-#, c-format
-msgid "type of external `%s' is not global"
-msgstr "external `%s' türü genel değil"
-
-#: c-decl.c:2425
+#: c-decl.c:1868
#, c-format
msgid "`%s' was previously implicitly declared to return `int'"
msgstr "`%s' dönen `int' ile önceden örtük bildirilmiş"
-#: c-decl.c:2450
+#: c-decl.c:1893
#, c-format
msgid "`%s' was declared `extern' and later `static'"
msgstr "`%s' önce `extern' sonra da `static' bildirilmiş"
-#: c-decl.c:2474
+#: c-decl.c:1917
#, c-format
msgid "extern declaration of `%s' doesn't match global one"
msgstr "`%s'in extern bildirimi genel olanıyla uyuşmuyor"
-#: c-decl.c:2516
+#: c-decl.c:1959
#, c-format
msgid "`%s' locally external but globally static"
msgstr "`%s' yerel olarak external ama genel olarak static"
-#: c-decl.c:2638
+#: c-decl.c:2081
#, c-format
msgid "function `%s' was previously declared within a block"
msgstr "`%s' işlevi evvelce bir blok içinde bildirilmiş"
-#: c-decl.c:2658 c-decl.c:2660
+#: c-decl.c:2101 c-decl.c:2103
#, c-format
msgid "implicit declaration of function `%s'"
msgstr "`%s' işlevinin örtük bildirimi"
-#: c-decl.c:2748
+#: c-decl.c:2182
#, c-format
msgid "label %s referenced outside of any function"
msgstr "%s etiketi işlev dışı referanslı"
-#: c-decl.c:2805
+#: c-decl.c:2239
#, c-format
msgid "duplicate label declaration `%s'"
msgstr "`%s' etiketi birden fazla bildirilmiÅŸ"
-#: c-decl.c:2808
+#: c-decl.c:2242
msgid "this is a previous declaration"
msgstr "bu, önce bildirimdir"
-#: c-decl.c:3320
+#: c-decl.c:2665
msgid "unnamed struct/union that defines no instances"
msgstr "ilk tanımı olmayan adsız struct/union"
-#: c-decl.c:3339
+#: c-decl.c:2684
msgid "useless keyword or type name in empty declaration"
msgstr "boş bildirimde kullanışsız tür ismi ya da anahtar sözcük"
-#: c-decl.c:3346
+#: c-decl.c:2691
msgid "two types specified in one empty declaration"
msgstr "bir boş bildirimde iki veri türü belirtilmiş"
-#: c-decl.c:3351 c-parse.y:725 c-parse.y:727 parse.y:742 parse.y:1827 objc-parse.y:761 objc-parse.y:763 objc-parse.y:2997
+#: c-decl.c:2696 c-parse.y:753 c-parse.y:755 parse.y:765 parse.y:1836
+#: objc-parse.y:799 objc-parse.y:801 objc-parse.y:3042
msgid "empty declaration"
msgstr "boÅŸ bildirim"
-#: c-decl.c:3381
-msgid "ISO C89 does not support `static' or type qualifiers in parameter array declarators"
-msgstr "ISO C89, parametre dizisi bildirimlerinde `static' ve tür niteleyicileri desteklemez"
+#: c-decl.c:2726
+msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+msgstr "ISO C90, parametre dizisi bildirimlerinde `static' ve tür niteleyicileri desteklemez"
-#: c-decl.c:3383
-msgid "ISO C89 does not support `[*]' array declarators"
-msgstr "ISO C89 dizi bildirimlerinde `[*]' desteklemez"
+#: c-decl.c:2728
+msgid "ISO C90 does not support `[*]' array declarators"
+msgstr "ISO C90 dizi bildirimlerinde `[*]' desteklemez"
-#: c-decl.c:3386
+#: c-decl.c:2731
msgid "GCC does not yet properly implement `[*]' array declarators"
msgstr "GCC `[*]' dizi bildirimlerini henüz tam desteklemiyor"
-#: c-decl.c:3405
+#: c-decl.c:2750
msgid "static or type qualifiers in abstract declarator"
msgstr "kuramsal bildirimde 'static' ya da tür niteleyiciler"
-#: c-decl.c:3479
+#: c-decl.c:2824
#, c-format
msgid "`%s' is usually a function"
msgstr "`%s' çogu kez bir işlevdir"
-#: c-decl.c:3493
+#: c-decl.c:2833
#, c-format
-msgid "typedef `%s' is initialized"
-msgstr "typedef `%s' ilkdeÄŸerli"
+msgid "typedef `%s' is initialized (use __typeof__ instead)"
+msgstr "typedef `%s' ilkdeğerli (yerine __typeof__ kullanın)"
-#: c-decl.c:3500
+#: c-decl.c:2839
#, c-format
msgid "function `%s' is initialized like a variable"
msgstr "`%s' iÅŸlevi bir deÄŸiÅŸken gibi ilkdeÄŸerli"
#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3507
+#: c-decl.c:2846
#, c-format
msgid "parameter `%s' is initialized"
msgstr "`%s' parametresi ilkdeÄŸerli"
-#: c-decl.c:3527 c-typeck.c:4841
+#: c-decl.c:2866 c-typeck.c:4868
msgid "variable-sized object may not be initialized"
msgstr "deÄŸiÅŸken-uzunluklu nesne ilkdeÄŸerli olmayabilir"
-#: c-decl.c:3533
+#: c-decl.c:2872
#, c-format
msgid "variable `%s' has initializer but incomplete type"
msgstr "`%s' değişkeni, veri türü tamamlanmayan bir ilkdeğere sahip"
-#: c-decl.c:3539
+#: c-decl.c:2878
#, c-format
msgid "elements of array `%s' have incomplete type"
msgstr "`%s' dizisinin elemanları tamamlanmayan veri türüne sahip"
-#: c-decl.c:3552
+#: c-decl.c:2891
#, c-format
msgid "declaration of `%s' has `extern' and is initialized"
msgstr "`%s' bildirimi hem `extern' hem de ilkdeÄŸerli"
-#: c-decl.c:3591 c-decl.c:6246 cp/decl.c:7368 cp/decl.c:13623
+#: c-decl.c:2940 c-decl.c:5705 cp/decl.c:7456 cp/decl.c:14012
#, c-format
msgid "inline function `%s' given attribute noinline"
msgstr "özümleme işlevi `%s' özümlenmeyen özellikle verilmiş"
-#: c-decl.c:3674
+#: c-decl.c:3014
#, c-format
msgid "initializer fails to determine size of `%s'"
msgstr "`%s'in uzunluğunu belirlemede ilkdeğer başarısız"
-#: c-decl.c:3679
+#: c-decl.c:3019
#, c-format
msgid "array size missing in `%s'"
msgstr "`%s' içinde dizi boyu eksik"
-#: c-decl.c:3695
+#: c-decl.c:3035
#, c-format
msgid "zero or negative size array `%s'"
msgstr "`%s' dizisi sıfır ya da negatif uzunlukta"
-#: c-decl.c:3723
+#: c-decl.c:3063
#, c-format
msgid "storage size of `%s' isn't known"
msgstr "`%s'in saklama uzunluÄŸu bilinmiyor"
-#: c-decl.c:3733
+#: c-decl.c:3073
#, c-format
msgid "storage size of `%s' isn't constant"
msgstr "`%s'in saklama uzunluÄŸu sabit deÄŸil"
-#: c-decl.c:3792
+#: c-decl.c:3133
#, c-format
msgid "ignoring asm-specifier for non-static local variable `%s'"
msgstr "static olmayan yerel değişken `%s' için asm-belirteci yoksayılıyor"
-#: c-decl.c:3867
+#: c-decl.c:3198
#, c-format
msgid "ISO C forbids parameter `%s' shadowing typedef"
msgstr "ISO C 'typedef' gölgeleyen `%s' parametresine izin vermez"
-#: c-decl.c:4171 cp/decl.c:10171
+#: c-decl.c:3543 cp/decl.c:10568
msgid "`long long long' is too long for GCC"
msgstr "`long long long' GCC için çok uzun"
-#: c-decl.c:4176
-msgid "ISO C89 does not support `long long'"
-msgstr "ISO C89 `long long'u desteklemez"
+#: c-decl.c:3548
+msgid "ISO C90 does not support `long long'"
+msgstr "ISO C90 `long long'u desteklemez"
-#: c-decl.c:4181 cp/decl.c:10176
+#: c-decl.c:3557 c-decl.c:3560 cp/decl.c:10573
#, c-format
msgid "duplicate `%s'"
msgstr "`%s' yinelenmiÅŸ"
-#: c-decl.c:4187 cp/decl.c:10200
+#: c-decl.c:3570 cp/decl.c:10580
+msgid "`__thread' before `extern'"
+msgstr "`extern' öncesinde `__thread'"
+
+#: c-decl.c:3572 cp/decl.c:10582
+msgid "`__thread' before `static'"
+msgstr "`static' öncesinde `__thread'"
+
+#: c-decl.c:3580 cp/decl.c:10609
#, c-format
msgid "two or more data types in declaration of `%s'"
msgstr "`%s'in bildiriminde iki veya daha fazla veri türü"
-#: c-decl.c:4207 cp/decl.c:10205
+#: c-decl.c:3600 cp/decl.c:10614
#, c-format
msgid "`%s' fails to be a typedef or built in type"
msgstr "`%s' bir typedef veya yerleşik veri türü olarak hatalı"
-#: c-decl.c:4246
+#: c-decl.c:3639
#, c-format
msgid "type defaults to `int' in declaration of `%s'"
msgstr "`%s' bildiriminde tür `int'e öntanımlı"
-#: c-decl.c:4275
+#: c-decl.c:3668
#, c-format
msgid "both long and short specified for `%s'"
msgstr "`%s' için hem long hem de short belirtilmiş"
-#: c-decl.c:4279 cp/decl.c:10320
+#: c-decl.c:3672 cp/decl.c:10729
#, c-format
msgid "long or short specified with char for `%s'"
msgstr "`%s' için long veya short ile char türü değer belirtilmiş"
-#: c-decl.c:4286 cp/decl.c:10324
+#: c-decl.c:3679 cp/decl.c:10733
#, c-format
msgid "long or short specified with floating type for `%s'"
msgstr "`%s' için long veya short ile gerçel sayı değer belirtilmiş"
-#: c-decl.c:4289
+#: c-decl.c:3682
msgid "the only valid combination is `long double'"
msgstr "tek geçerli bileşim long double'dır"
-#: c-decl.c:4295
+#: c-decl.c:3688
#, c-format
msgid "both signed and unsigned specified for `%s'"
msgstr "`%s' için hem signed hem de unsigned belirtilmiş"
-#: c-decl.c:4297 cp/decl.c:10313
+#: c-decl.c:3690 cp/decl.c:10722
#, c-format
msgid "long, short, signed or unsigned invalid for `%s'"
msgstr "`%s' için long, short, signed ya da unsigned geçersiz"
-#: c-decl.c:4303 cp/decl.c:10333
+#: c-decl.c:3696 cp/decl.c:10742
#, c-format
msgid "long, short, signed or unsigned used invalidly for `%s'"
msgstr "`%s' için long, short, signed ya da unsigned geçersizce kullanılmış"
-#: c-decl.c:4322 cp/decl.c:10354
+#: c-decl.c:3714 cp/decl.c:10763
#, c-format
msgid "complex invalid for `%s'"
msgstr "`%s' için karmaşık geçersizlik"
-#: c-decl.c:4367
-msgid "ISO C89 does not support complex types"
-msgstr "ISO C89 karmaşık türleri desteklemez"
+#: c-decl.c:3756
+msgid "ISO C90 does not support complex types"
+msgstr "ISO C90 karmaşık türleri desteklemez"
-#: c-decl.c:4379
+#: c-decl.c:3768
msgid "ISO C does not support plain `complex' meaning `double complex'"
msgstr "ISO C salt `complex'i `double complex' anlamında desteklemez"
-#: c-decl.c:4385 c-decl.c:4397
+#: c-decl.c:3774 c-decl.c:3786
msgid "ISO C does not support complex integer types"
msgstr "ISO C karmaşık tamsayı türleri desteklemez"
-#: c-decl.c:4412 c-decl.c:4851 cp/decl.c:10969
+#: c-decl.c:3801 c-decl.c:4267 cp/decl.c:11376
msgid "duplicate `const'"
msgstr "`const' yinelenmiÅŸ"
-#: c-decl.c:4414 c-decl.c:4855 cp/decl.c:10973
+#: c-decl.c:3803 c-decl.c:4271 cp/decl.c:11380
msgid "duplicate `restrict'"
msgstr "`restrict' yinelenmiÅŸ"
-#: c-decl.c:4416 c-decl.c:4853 cp/decl.c:10971
+#: c-decl.c:3805 c-decl.c:4269 cp/decl.c:11378
msgid "duplicate `volatile'"
msgstr "`volatile' yinelenmiÅŸ"
-#: c-decl.c:4438 cp/decl.c:10509
+#: c-decl.c:3833 cp/decl.c:10926
#, c-format
msgid "multiple storage classes in declaration of `%s'"
msgstr "`%s' bildirimi içinde çok sayıda saklama sınıfı"
-#: c-decl.c:4447
+#: c-decl.c:3843
msgid "function definition declared `auto'"
msgstr "işlev tanımı `auto' olarak bildirildi"
-#: c-decl.c:4449
+#: c-decl.c:3845
msgid "function definition declared `register'"
msgstr "işlev tanımı `register' olarak bildirildi"
-#: c-decl.c:4451
+#: c-decl.c:3847
msgid "function definition declared `typedef'"
msgstr "işlev tanımı `typedef' olarak bildirildi"
-#: c-decl.c:4464
+#: c-decl.c:3849
+msgid "function definition declared `__thread'"
+msgstr "işlev tanımı `__thread' olarak bildirildi"
+
+#: c-decl.c:3862
#, c-format
msgid "storage class specified for structure field `%s'"
msgstr "`%s' yapı alan için saklama sınıfı belirtildi"
-#: c-decl.c:4468 cp/decl.c:10556
+#: c-decl.c:3866 cp/decl.c:10973
#, c-format
msgid "storage class specified for parameter `%s'"
msgstr "`%s' parametresi için saklama sınıfı belirtildi"
-#: c-decl.c:4471 cp/decl.c:10558
+#: c-decl.c:3869 cp/decl.c:10975
msgid "storage class specified for typename"
msgstr "veri türü ismi için saklama sınıfı belirtildi"
-#: c-decl.c:4483 cp/decl.c:10572
+#: c-decl.c:3881 cp/decl.c:10990
#, c-format
msgid "`%s' initialized and declared `extern'"
msgstr "`%s' ilklendirildikten sonra `extern' olarak bildirilmiÅŸ"
-#: c-decl.c:4485 cp/decl.c:10575
+#: c-decl.c:3883 cp/decl.c:10993
#, c-format
msgid "`%s' has both `extern' and initializer"
msgstr "`%s' hem `extern' olarak bildirilmiş hem de öndeğer almış"
-#: c-decl.c:4489 cp/decl.c:10579
+#: c-decl.c:3888 cp/decl.c:11001
+#, c-format
+msgid "top-level declaration of `%s' specifies `auto'"
+msgstr "`%s' için tepe-seviye bildirimi `auto' belirtiyor"
+
+#: c-decl.c:3893 cp/decl.c:10997
#, c-format
msgid "nested function `%s' declared `extern'"
msgstr "yuvalanmış işlev `%s' `extern' olarak bildirilmiş"
-#: c-decl.c:4492 cp/decl.c:10583
+#: c-decl.c:3899 cp/decl.c:11007
#, c-format
-msgid "top-level declaration of `%s' specifies `auto'"
-msgstr "`%s' için tepe-seviye bildirimi `auto' belirtiyor"
+msgid "function-scope `%s' implicitly auto and declared `__thread'"
+msgstr "`%s' işevinin etki alanı dolaylı olarak auto ve `__thread' bildirimli"
#. 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:4527 c-decl.c:4716
+#: c-decl.c:3938 c-decl.c:4139
msgid "static or type qualifiers in non-parameter array declarator"
msgstr "parametresiz dizi bildirimi içinde 'static' veya tür niteleyiciler"
-#: c-decl.c:4571
+#: c-decl.c:3982
#, c-format
msgid "declaration of `%s' as array of voids"
msgstr "`%s' void'ler dizisi olarak bildirilmiÅŸ"
-#: c-decl.c:4577
+#: c-decl.c:3988
#, c-format
msgid "declaration of `%s' as array of functions"
msgstr "`%s' iÅŸlevler dizisi olarak bildirilmiÅŸ"
-#: c-decl.c:4598
+#: c-decl.c:3993 c-decl.c:5261
+msgid "invalid use of structure with flexible array member"
+msgstr "esnek dizi üyeli yapı kullanımı geçersiz"
+
+#: c-decl.c:4012
#, c-format
msgid "size of array `%s' has non-integer type"
msgstr "`%s' dizisinin boyutu tamsayı değil"
-#: c-decl.c:4603
+#: c-decl.c:4017
#, c-format
msgid "ISO C forbids zero-size array `%s'"
msgstr "ISO C sıfır boyutlu `%s' dizisini yasaklar"
-#: c-decl.c:4610
+#: c-decl.c:4024
#, c-format
msgid "size of array `%s' is negative"
msgstr "`%s' dizisinin boyutu negatif"
-#: c-decl.c:4623
+#: c-decl.c:4037
#, c-format
-msgid "ISO C89 forbids array `%s' whose size can't be evaluated"
-msgstr "ISO C89 deÄŸerlendirilemeyen boyutlu `%s' dizisini yasaklar"
+msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+msgstr "ISO C90 deÄŸerlendirilemeyen boyutlu `%s' dizisini yasaklar"
-#: c-decl.c:4626
+#: c-decl.c:4040
#, c-format
-msgid "ISO C89 forbids variable-size array `%s'"
-msgstr "ISO C89 deÄŸiÅŸken boyutlu `%s' dizisini yasaklar"
+msgid "ISO C90 forbids variable-size array `%s'"
+msgstr "ISO C90 deÄŸiÅŸken boyutlu `%s' dizisini yasaklar"
-#: c-decl.c:4656 c-decl.c:4877 cp/decl.c:11179
+#: c-decl.c:4070 c-decl.c:4293 cp/decl.c:11585
#, c-format
msgid "size of array `%s' is too large"
msgstr "`%s' dizisinin boyutu çok büyük"
-#: c-decl.c:4673
-msgid "ISO C89 does not support flexible array members"
-msgstr "ISO C89 esnek dizi üyelerini desteklemez"
+#: c-decl.c:4096
+msgid "ISO C90 does not support flexible array members"
+msgstr "ISO C90 esnek dizi üyelerini desteklemez"
-#: c-decl.c:4683
+#: c-decl.c:4106
msgid "array type has incomplete element type"
msgstr "dizi türü içi boş öğe türü içeriyor"
-#: c-decl.c:4690 c-decl.c:4927
+#: c-decl.c:4113 c-decl.c:4343
msgid "ISO C forbids const or volatile function types"
msgstr "ISO C 'const' ya da 'volatile' işlev türlerini yasaklar"
-#: c-decl.c:4736 cp/decl.c:10720
+#: c-decl.c:4159 cp/decl.c:11133
#, c-format
msgid "`%s' declared as function returning a function"
msgstr "`%s' bir işlevle sonuçlanan bir işlev olarak bildirilmiş"
-#: c-decl.c:4741 cp/decl.c:10725
+#: c-decl.c:4164 cp/decl.c:11138
#, c-format
msgid "`%s' declared as function returning an array"
msgstr "`%s' bir dizi ile sonuçlanan bir işlev olarak bildirilmiş"
-#: c-decl.c:4776
+#: c-decl.c:4192
msgid "ISO C forbids qualified void function return type"
msgstr "ISO C nitelemeli 'void' işlev dönüş türünü yasaklar"
-#: c-decl.c:4780
+#: c-decl.c:4196
msgid "type qualifiers ignored on function return type"
msgstr "tür niteleyicileri işlev dönen türünde yok sayıldı"
-#: c-decl.c:4809 c-decl.c:4892 c-decl.c:5016 c-decl.c:5110
+#: c-decl.c:4225 c-decl.c:4308 c-decl.c:4432 c-decl.c:4524
msgid "ISO C forbids qualified function types"
msgstr "ISO C nitelemeli işlev türlerini yasaklar"
-#: c-decl.c:4849 cp/decl.c:10965
+#: c-decl.c:4265 cp/decl.c:11372
msgid "invalid type modifier within pointer declarator"
msgstr "gösterge bildirgeci içinde geçersiz tür değiştirici"
-#: c-decl.c:4947 cp/decl.c:11457
+#: c-decl.c:4363 cp/decl.c:11870
#, c-format
msgid "variable or field `%s' declared void"
msgstr "`%s' değişkeni ya da alanı void olarak bildirilmiş"
-#: c-decl.c:4980
+#: c-decl.c:4396
msgid "attributes in parameter array declarator ignored"
msgstr "parametre dizisi bildirimindeki özellikler yoksayıldı"
-#: c-decl.c:5005
+#: c-decl.c:4421
msgid "invalid type modifier within array declarator"
msgstr "dizi bildirimi içinde geçersiz tür değiştirici"
-#: c-decl.c:5054
+#: c-decl.c:4466
#, c-format
msgid "field `%s' declared as a function"
msgstr "`%s' alanı bir işlev olarak bildirilmiş"
-#: c-decl.c:5060
+#: c-decl.c:4472
#, c-format
msgid "field `%s' has incomplete type"
msgstr "`%s' alanı tamamlanmamış türde"
-#: c-decl.c:5092 c-decl.c:5094 c-decl.c:5101
+#: c-decl.c:4504 c-decl.c:4506 c-decl.c:4508 c-decl.c:4515
#, c-format
msgid "invalid storage class for function `%s'"
msgstr "`%s' işlevi için geçersiz saklama sınıfı"
-#: c-decl.c:5116
+#: c-decl.c:4530
msgid "`noreturn' function returns non-void value"
msgstr "`noreturn' iÅŸlevinin sonucu void deÄŸil"
-#: c-decl.c:5131
+#: c-decl.c:4545
msgid "cannot inline function `main'"
msgstr "`main' özümlenen işlev olamaz"
-#: c-decl.c:5184
+#: c-decl.c:4600
#, c-format
msgid "variable `%s' declared `inline'"
msgstr "deÄŸiÅŸken `%s' `inline' bildirilmiÅŸ"
-#: c-decl.c:5257 c-decl.c:6298
+#. A mere warning is sure to result in improper semantics
+#. at runtime. Don't bother to allow this to compile.
+#: c-decl.c:4628 cp/decl.c:9639
+msgid "thread-local storage not supported for this target"
+msgstr "bu hedefte thread-local saklama desteklenmiyor"
+
+#: c-decl.c:4683 c-decl.c:5757
msgid "function declaration isn't a prototype"
msgstr "iÅŸlev bildirimi bir prototip deÄŸil"
-#: c-decl.c:5263
+#: c-decl.c:4689
msgid "parameter names (without types) in function declaration"
msgstr "işlev bildiriminde (türleri belirtmeksizin) parametre isimleri"
-#: c-decl.c:5295 c-decl.c:6689
+#: c-decl.c:4721 c-decl.c:6127
#, c-format
msgid "parameter `%s' has incomplete type"
msgstr "`%s' parametresi tamamlanmamış türde"
-#: c-decl.c:5298
+#: c-decl.c:4724
msgid "parameter has incomplete type"
msgstr "parametre tamamlanmamış türde"
-#: c-decl.c:5319
+#: c-decl.c:4745
#, c-format
msgid "parameter `%s' points to incomplete type"
msgstr "parametre `%s' içi boş türü gösteriyor"
-#: c-decl.c:5322
+#: c-decl.c:4748
msgid "parameter points to incomplete type"
msgstr "parametre içi boş türü gösteriyor"
-#: c-decl.c:5387
+#: c-decl.c:4813
#, c-format
msgid "parameter `%s' has just a forward declaration"
msgstr "`%s' parametresi tam bir ilerletme bildirimi"
-#: c-decl.c:5428
+#: c-decl.c:4854
msgid "`void' in parameter list must be the entire list"
msgstr "parametre listesindeki void listenin tamamı olmalıydı"
-#: c-decl.c:5459
+#: c-decl.c:4885
#, c-format
msgid "`struct %s' declared inside parameter list"
msgstr "`struct %s' parametre listesinin içinde bildirilmiş"
-#: c-decl.c:5462
+#: c-decl.c:4888
#, c-format
msgid "`union %s' declared inside parameter list"
msgstr "`union %s' parametre listesi içinde bildirilmiş"
-#: c-decl.c:5465
+#: c-decl.c:4891
#, c-format
msgid "`enum %s' declared inside parameter list"
msgstr "`enum %s' parametre listesi içinde bildirilmiş"
-#: c-decl.c:5472
+#: c-decl.c:4898
msgid "anonymous struct declared inside parameter list"
msgstr "anonim yapı parametre listesinin içinde bildirilmiş"
-#: c-decl.c:5474
+#: c-decl.c:4900
msgid "anonymous union declared inside parameter list"
msgstr "anonim birleşik yapı parametre listesinin içinde bildirilmiş"
-#: c-decl.c:5476
+#: c-decl.c:4902
msgid "anonymous enum declared inside parameter list"
msgstr "anonim enum parametre listesinin içinde bildirilmiş"
-#: c-decl.c:5480
+#: c-decl.c:4906
msgid "its scope is only this definition or declaration, which is probably not what you want"
msgstr "O sadece bu tanımın ya da bildirimin kapsamında, sizin istediğiniz bu olmayabilir"
-#: c-decl.c:5559
+#: c-decl.c:4983
#, c-format
msgid "redefinition of `union %s'"
msgstr "`union %s' tekrar tanımlanmış"
-#: c-decl.c:5562
+#: c-decl.c:4985
#, c-format
msgid "redefinition of `struct %s'"
msgstr "`struct %s' tekrar tanımlanmış"
-#: c-decl.c:5601
-msgid "unnamed fields of type other than struct or union are not allowed"
-msgstr "isimsiz alanlara struct ve union dışında izin verilmiyor"
+#: c-decl.c:5056 cp/decl.c:7228
+msgid "declaration does not declare anything"
+msgstr "bildirim hiçbir şey bildirmiyor"
-#: c-decl.c:5642 c-decl.c:5645
+#: c-decl.c:5098 c-decl.c:5101
#, c-format
msgid "%s defined inside parms"
msgstr "%s parametrelerin içinde tanımlanmış"
-#: c-decl.c:5643 c-decl.c:5646 c-decl.c:5657
+#: c-decl.c:5099 c-decl.c:5102 c-decl.c:5113
msgid "union"
msgstr "birleşik yapı"
-#: c-decl.c:5643 c-decl.c:5646
+#: c-decl.c:5099 c-decl.c:5102
msgid "structure"
msgstr "yapı"
-#: c-decl.c:5656
+#: c-decl.c:5112
#, c-format
msgid "%s has no %s"
msgstr "%s %s içermiyor"
-#: c-decl.c:5657
+#: c-decl.c:5113
msgid "struct"
msgstr "yapı"
-#: c-decl.c:5658
+#: c-decl.c:5114
msgid "named members"
msgstr "isimli üyeleri yok"
-#: c-decl.c:5658
+#: c-decl.c:5114
msgid "members"
msgstr "üyeleri yok"
-#: c-decl.c:5697
+#: c-decl.c:5153
#, c-format
msgid "nested redefinition of `%s'"
msgstr "`%s' içiçe yeniden tanımlanmış"
-#: c-decl.c:5710
+#: c-decl.c:5166
#, c-format
msgid "bit-field `%s' width not an integer constant"
msgstr "`%s' bit alanı genişliği bir tamsayı sabit değil"
-#: c-decl.c:5721
+#: c-decl.c:5177
#, c-format
msgid "bit-field `%s' has invalid type"
msgstr "`%s' bit alanı geçersiz tür içeriyor"
-#: c-decl.c:5733
+#: c-decl.c:5189
#, c-format
msgid "bit-field `%s' type invalid in ISO C"
msgstr "`%s' bit alanının türü ISO C'de geçersiz"
-#: c-decl.c:5744
+#: c-decl.c:5200
#, c-format
msgid "negative width in bit-field `%s'"
msgstr "`%s' bit alanının uzunluğu negatif"
-#: c-decl.c:5746
+#: c-decl.c:5202
#, c-format
msgid "width of `%s' exceeds its type"
msgstr "`%s' in uzunluğu türünü aşıyor"
-#: c-decl.c:5748
+#: c-decl.c:5204
#, c-format
msgid "zero width for bit-field `%s'"
msgstr "bit alanı `%s' için sıfır genişlik"
-#: c-decl.c:5762
+#: c-decl.c:5218
#, c-format
msgid "`%s' is narrower than values of its type"
msgstr "`%s'in uzunluğu türünün değerinden daha kısa"
-#: c-decl.c:5808
+#: c-decl.c:5252
msgid "flexible array member in union"
msgstr "esnek dizi birleşik yapının üyesi olamaz"
-#: c-decl.c:5810
+#: c-decl.c:5254
msgid "flexible array member not at end of struct"
msgstr "esnek dizi yapının son üyesi değil"
-#: c-decl.c:5812
+#: c-decl.c:5256
msgid "flexible array member in otherwise empty struct"
msgstr "esnek dizi üstelik boş yapının üyesi"
-#: c-decl.c:5837
+#: c-decl.c:5286
#, c-format
msgid "duplicate member `%s'"
msgstr "üye `%s' yinelenmiş"
-#: c-decl.c:5881
+#: c-decl.c:5330
msgid "union cannot be made transparent"
msgstr "birleşik yapı şeffaf olamaz"
#. This enum is a named one that has been declared already.
-#: c-decl.c:5975
+#: c-decl.c:5435
#, c-format
msgid "redeclaration of `enum %s'"
msgstr "`enum %s' yeniden bildirilmiÅŸ"
-#: c-decl.c:6009
+#: c-decl.c:5469
msgid "enum defined inside parms"
msgstr "enum parametrelerin içinde tanımlanmış"
-#: c-decl.c:6042
+#: c-decl.c:5502
msgid "enumeration values exceed range of largest integer"
msgstr "sembolik sabit grubunun değerleri en büyük tamsayının kapsamını aşıyor."
-#: c-decl.c:6151
+#: c-decl.c:5611
#, c-format
msgid "enumerator value for `%s' not integer constant"
msgstr "`%s' için değer tamsayı sabit değil"
-#: c-decl.c:6164
+#: c-decl.c:5624
msgid "overflow in enumeration values"
msgstr "sembolik sabit listesi deÄŸerlerinde taÅŸma"
-#: c-decl.c:6169
+#: c-decl.c:5629
msgid "ISO C restricts enumerator values to range of `int'"
msgstr "ISO C sembolik sabit grubunun değerlerini `int' kapsamında sınırlar"
-#: c-decl.c:6252
+#: c-decl.c:5711
msgid "return type is an incomplete type"
msgstr "dönüş türü, bir içi boş tür"
-#: c-decl.c:6260
+#: c-decl.c:5719
msgid "return type defaults to `int'"
msgstr "dönen tür `int'e öntanımlı"
-#: c-decl.c:6307
+#: c-decl.c:5766
#, c-format
msgid "no previous prototype for `%s'"
msgstr "`%s' için önceki prototip yok"
-#: c-decl.c:6314
+#: c-decl.c:5773
#, c-format
msgid "`%s' was used with no prototype before its definition"
msgstr "`%s' tanımlanmadan önce prototipsiz kullanılmış"
-#: c-decl.c:6320
+#: c-decl.c:5779
#, c-format
msgid "no previous declaration for `%s'"
msgstr "`%s' için önce bildirim yok"
-#: c-decl.c:6327
+#: c-decl.c:5786
#, c-format
msgid "`%s' was used with no declaration before its definition"
msgstr "`%s' tanımından önce bildirimsiz kullanıldı"
-#: c-decl.c:6351 c-decl.c:6936
+#: c-decl.c:5810 c-decl.c:6363
#, c-format
msgid "return type of `%s' is not `int'"
msgstr "`%s' için dönen tür `int' değil"
-#: c-decl.c:6367
+#: c-decl.c:5826
#, c-format
msgid "first argument of `%s' should be `int'"
msgstr "`%s' için ilk argüman `int' olmalıydı"
-#: c-decl.c:6376
+#: c-decl.c:5835
#, c-format
msgid "second argument of `%s' should be `char **'"
msgstr "`%s' için ikinci argüman `char **' olmalıydı"
-#: c-decl.c:6385
+#: c-decl.c:5844
#, c-format
msgid "third argument of `%s' should probably be `char **'"
msgstr "`%s' için üçüncü argüman mümkünse `char **' olmalıydı"
-#: c-decl.c:6394
+#: c-decl.c:5853
#, c-format
msgid "`%s' takes only zero or two arguments"
msgstr "`%s' ya iki argüman alır ya da hiç almaz"
-#: c-decl.c:6397
+#: c-decl.c:5856
#, c-format
msgid "`%s' is normally a non-static function"
msgstr "`%s' normalde bir static olmayan iÅŸlev"
-#: c-decl.c:6507
+#: c-decl.c:5954
msgid "parm types given both in parmlist and separately"
msgstr "parametre türleri hem liste içinde hem de ayrıca verilmiş"
-#: c-decl.c:6528
+#: c-decl.c:5975
msgid "parameter name omitted"
msgstr "parametre ismi atlandı"
-#: c-decl.c:6532 c-decl.c:6634
+#: c-decl.c:5979 c-decl.c:6081
#, c-format
msgid "parameter `%s' declared void"
msgstr "parametre `%s' void bildirimli"
-#: c-decl.c:6608
+#: c-decl.c:6055
msgid "parameter name missing from parameter list"
msgstr "parametre ismi parametre listesinde yok"
-#: c-decl.c:6627
+#: c-decl.c:6074
#, c-format
msgid "multiple parameters named `%s'"
msgstr "`%s' isimli çok sayıda parametre"
-#: c-decl.c:6658 c-decl.c:6660
+#: c-decl.c:6096 c-decl.c:6098
#, c-format
msgid "type of `%s' defaults to `int'"
msgstr "`%s' türü öntanımlı olarak `int'"
-#: c-decl.c:6696
+#: c-decl.c:6134
#, c-format
msgid "declaration for parameter `%s' but no such parameter"
msgstr "`%s' parametre bildirimi olmayan bir parametre için yapılmış"
-#: c-decl.c:6744
+#: c-decl.c:6182
msgid "number of arguments doesn't match prototype"
msgstr "argümanların sayısı prototiple uyumsuz"
-#: c-decl.c:6774
+#: c-decl.c:6212
#, c-format
msgid "promoted argument `%s' doesn't match prototype"
msgstr "yükseltgenmiş argüman `%s', prototiple uyumsuz"
-#: c-decl.c:6788
+#: c-decl.c:6222
#, c-format
msgid "argument `%s' doesn't match prototype"
msgstr "`%s' argümanı prototipte belirtilen türle uyumsuz"
-#: c-decl.c:6968 cp/decl.c:14327
+#: c-decl.c:6395 cp/decl.c:14723
msgid "no return statement in function returning non-void"
msgstr "void olmayan dönüşlü işlevde `return' deyimi yok"
-#: c-decl.c:7124
+#: c-decl.c:6578
msgid "this function may return with or without a value"
msgstr "bu işlev bir değerle dönebileceği gibi dönmeyebilir de"
-#: c-decl.c:7144
+#: c-decl.c:6598
#, c-format
msgid "size of return value of `%s' is %u bytes"
msgstr "`%s' dönüş değerinin uzunluğu %u bayt"
-#: c-decl.c:7148
+#: c-decl.c:6602
#, c-format
msgid "size of return value of `%s' is larger than %d bytes"
msgstr "`%s' için dönen değerin genişliği %d bayttan büyük"
@@ -1431,894 +1508,993 @@ msgstr "`%s' için dönen değerin genişliği %d bayttan büyük"
#. 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:7203
+#: c-decl.c:6657
msgid "`for' loop initial declaration used outside C99 mode"
msgstr "`for' döngüsünün başlangıç bildirimi C99 kipinin dışında kullanılmış"
-#: c-decl.c:7227
+#: c-decl.c:6681
#, c-format
msgid "`struct %s' declared in `for' loop initial declaration"
msgstr "`struct %s' `for' döngüsünün ilklendirme bildiriminde bildirilmiş"
-#: c-decl.c:7230
+#: c-decl.c:6684
#, c-format
msgid "`union %s' declared in `for' loop initial declaration"
msgstr "`union %s' `for' döngüsünün ilklendirme bildiriminde bildirilmiş"
-#: c-decl.c:7233
+#: c-decl.c:6687
#, c-format
msgid "`enum %s' declared in `for' loop initial declaration"
msgstr "`enum %s' `for' döngüsünün ilklendirme bildiriminde bildirilmiş"
-#: c-decl.c:7241
+#: c-decl.c:6695
#, c-format
msgid "declaration of non-variable `%s' in `for' loop initial declaration"
msgstr "`for' döngüsü ilklendirme bildirimi içinde değişken olmayan `%s' bildirimi"
-#: c-decl.c:7243
+#: c-decl.c:6697
#, c-format
msgid "declaration of static variable `%s' in `for' loop initial declaration"
msgstr "`for' döngüsü ilklendirme bildirimi içinde `static' değişken `%s' bildirimi"
-#: c-decl.c:7245
+#: c-decl.c:6699
#, c-format
msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
msgstr "`for' döngüsü ilklendirme bildirimi içinde `extern' değişken `%s' bildirimi"
-#: 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 "biçem dizgesi argümanının veri türü dizge değil"
-#: c-format.c:143
+#: c-format.c:124
msgid "args to be formatted is not '...'"
msgstr "biçemlendirilmiş argümanlar '...' değil"
-#: c-format.c:152
+#: c-format.c:133
msgid "strftime formats cannot format arguments"
msgstr "strftime biçemleri biçem argümanları olamaz"
-#: c-format.c:187 c-format.c:289
+#: c-format.c:168 c-format.c:270
msgid "format string has invalid operand number"
msgstr "biçem dizgesi geçersiz sayıda terim içeriyor"
-#: c-format.c:221
+#: c-format.c:202
msgid "function does not return string type"
msgstr "işlev dizge veri türü ile dönmüyor"
-#: c-format.c:252
+#: c-format.c:233
msgid "unrecognized format specifier"
msgstr "anlaşılmayan biçem belirteci"
-#: c-format.c:265
+#: c-format.c:246
#, c-format
msgid "`%s' is an unrecognized format function type"
msgstr "`%s' biçem işlevi türü bilinmiyor"
-#: c-format.c:299
+#: c-format.c:280
msgid "format string arg follows the args to be formatted"
msgstr "biçem dizgesi argümanını biçemlendirilmiş argümanlar izliyor"
-#: c-format.c:620
+#: c-format.c:601
msgid "` ' flag"
msgstr "` ' bayrağı"
-#: c-format.c:620
+#: c-format.c:601
msgid "the ` ' printf flag"
msgstr "` ' printf bayrağı"
-#: c-format.c:621 c-format.c:692
+#: c-format.c:602 c-format.c:673
msgid "`+' flag"
msgstr "`+' bayrağı"
-#: c-format.c:621
+#: c-format.c:602
msgid "the `+' printf flag"
msgstr "`+' printf bayrağı"
-#: c-format.c:622 c-format.c:668
+#: c-format.c:603 c-format.c:649
msgid "`#' flag"
msgstr "`#' bayrağı"
-#: c-format.c:622
+#: c-format.c:603
msgid "the `#' printf flag"
msgstr "`#' printf bayrağı"
-#: c-format.c:623 c-format.c:666
+#: c-format.c:604 c-format.c:647
msgid "`0' flag"
msgstr "`0' bayrağı"
-#: c-format.c:623
+#: c-format.c:604
msgid "the `0' printf flag"
msgstr "`0' printf bayrağı"
-#: 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 "`-' bayrağı"
-#: c-format.c:624
+#: c-format.c:605
msgid "the `-' printf flag"
msgstr "`-' printf bayrağı"
-#: c-format.c:625 c-format.c:649
+#: c-format.c:606 c-format.c:630
msgid "`'' flag"
msgstr "`'' bayrağı"
-#: c-format.c:625
+#: c-format.c:606
msgid "the `'' printf flag"
msgstr "`'' printf bayrağı"
-#: c-format.c:626 c-format.c:650
+#: c-format.c:607 c-format.c:631
msgid "`I' flag"
msgstr "`I' bayrağı"
-#: c-format.c:626
+#: c-format.c:607
msgid "the `I' printf flag"
msgstr "`I' printf bayrağı"
-#: 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 "alan uzunluÄŸu"
-#: c-format.c:627
+#: c-format.c:608
msgid "field width in printf format"
msgstr "alan uzunluğu printf biçeminde"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision"
msgstr "duyarlık"
-#: c-format.c:628
+#: c-format.c:609
msgid "precision in printf format"
msgstr "duyarlık printf biçeminde"
-#: 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 "uzunluk deÄŸiÅŸtirici"
-#: c-format.c:629
+#: c-format.c:610
msgid "length modifier in printf format"
msgstr "uzunluk değiştirici printf biçeminde"
-#: c-format.c:645
+#: c-format.c:626
msgid "assignment suppression"
msgstr "atama engelleme"
-#: c-format.c:645
+#: c-format.c:626
msgid "the assignment suppression scanf feature"
msgstr "atama engelleyen scanf özelliği"
-#: c-format.c:646
+#: c-format.c:627
msgid "`a' flag"
msgstr "`a' bayrağı"
-#: c-format.c:646
+#: c-format.c:627
msgid "the `a' scanf flag"
msgstr "`a' scanf bayrağı"
-#: c-format.c:647
+#: c-format.c:628
msgid "field width in scanf format"
msgstr "scanf biçeminde alan genişliği"
-#: c-format.c:648
+#: c-format.c:629
msgid "length modifier in scanf format"
msgstr "scanf biçeminde uzunluk değiştirici"
-#: c-format.c:649
+#: c-format.c:630
msgid "the `'' scanf flag"
msgstr "`'' scanf bayrağı"
-#: c-format.c:650
+#: c-format.c:631
msgid "the `I' scanf flag"
msgstr "`I' scanf bayrağı"
-#: c-format.c:664
+#: c-format.c:645
msgid "`_' flag"
msgstr "`_' bayrağı"
-#: c-format.c:664
+#: c-format.c:645
msgid "the `_' strftime flag"
msgstr "`_' strftime bayrağı"
-#: c-format.c:665
+#: c-format.c:646
msgid "the `-' strftime flag"
msgstr "`-' strftime bayrağı"
-#: c-format.c:666
+#: c-format.c:647
msgid "the `0' strftime flag"
msgstr "`0' strftime bayrağı"
-#: c-format.c:667 c-format.c:691
+#: c-format.c:648 c-format.c:672
msgid "`^' flag"
msgstr "`^' bayrağı"
-#: c-format.c:667
+#: c-format.c:648
msgid "the `^' strftime flag"
msgstr "`^' strftime bayrağı"
-#: c-format.c:668
+#: c-format.c:649
msgid "the `#' strftime flag"
msgstr "`#' strftime bayrağı"
-#: c-format.c:669
+#: c-format.c:650
msgid "field width in strftime format"
msgstr "strftime biçeminde alan genişliği"
-#: c-format.c:670
+#: c-format.c:651
msgid "`E' modifier"
msgstr "`E' deÄŸiÅŸtirici"
-#: c-format.c:670
+#: c-format.c:651
msgid "the `E' strftime modifier"
msgstr "`E' strftime deÄŸiÅŸtirici"
-#: c-format.c:671
+#: c-format.c:652
msgid "`O' modifier"
msgstr "`O' deÄŸiÅŸtirici"
-#: c-format.c:671
+#: c-format.c:652
msgid "the `O' strftime modifier"
msgstr "`O' strftime deÄŸiÅŸtirici"
-#: c-format.c:672
+#: c-format.c:653
msgid "the `O' modifier"
msgstr "`O' deÄŸiÅŸtirici"
-#: c-format.c:690
+#: c-format.c:671
msgid "fill character"
msgstr "dolgu karakteri"
-#: c-format.c:690
+#: c-format.c:671
msgid "fill character in strfmon format"
msgstr "strfmon biçeminde dolgu karakteri"
-#: c-format.c:691
+#: c-format.c:672
msgid "the `^' strfmon flag"
msgstr "`^' strfmon bayrağı"
-#: c-format.c:692
+#: c-format.c:673
msgid "the `+' strfmon flag"
msgstr "`+' strfmon bayrağı"
-#: c-format.c:693
+#: c-format.c:674
msgid "`(' flag"
msgstr "`(' bayrağı"
-#: c-format.c:693
+#: c-format.c:674
msgid "the `(' strfmon flag"
msgstr "`(' strfmon bayrağı"
-#: c-format.c:694
+#: c-format.c:675
msgid "`!' flag"
msgstr "`!' bayrağı"
-#: c-format.c:694
+#: c-format.c:675
msgid "the `!' strfmon flag"
msgstr "`!' strfmon bayrağı"
-#: c-format.c:695
+#: c-format.c:676
msgid "the `-' strfmon flag"
msgstr "`-' strfmon bayrağı"
-#: c-format.c:696
+#: c-format.c:677
msgid "field width in strfmon format"
msgstr "strfmon biçeminde alan genişliği"
-#: c-format.c:697
+#: c-format.c:678
msgid "left precision"
msgstr "sol taraf duyarlığı"
-#: c-format.c:697
+#: c-format.c:678
msgid "left precision in strfmon format"
msgstr "strfmon biçeminde sol taraf duyarlığı"
-#: c-format.c:698
+#: c-format.c:679
msgid "right precision"
msgstr "sağ taraf duyarlığı"
-#: c-format.c:698
+#: c-format.c:679
msgid "right precision in strfmon format"
msgstr "strfmon biçeminde sağ taraf duyarlığı"
-#: c-format.c:699
+#: c-format.c:680
msgid "length modifier in strfmon format"
msgstr "strfmon biçeminde uzunluk değiştirici"
-#: c-format.c:998
+#: c-format.c:983
#, c-format
msgid "function might be possible candidate for `%s' format attribute"
msgstr "işlev `%s' biçem niteliği için mümkün aday olabilir"
-#: 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 "biçem içinde $ teriminde numara eksik"
-#: c-format.c:1153
+#: c-format.c:1138
#, c-format
msgid "%s does not support %%n$ operand number formats"
msgstr "%s %%n$ terim numarası biçemlerini desteklemez"
-#: c-format.c:1160
+#: c-format.c:1145
msgid "operand number out of range in format"
msgstr "biçem içindeki terim numarası kapsamdışı"
-#: c-format.c:1183
+#: c-format.c:1168
#, c-format
msgid "format argument %d used more than once in %s format"
msgstr "%d. biçem argümanı %s biçeminde birden fazla kullanılmış"
-#: c-format.c:1233
+#: c-format.c:1218
#, c-format
msgid "format argument %d unused before used argument %d in $-style format"
msgstr "%d. biçem argümanı $ tarzı biçemde %d. argümandan önce kullanılmamış"
-#: c-format.c:1330
+#: c-format.c:1322
msgid "format not a string literal, format string not checked"
msgstr "biçem bir dizge sabit değil, biçem dizgesi denetlenmedi"
-#: c-format.c:1344
+#: c-format.c:1336
msgid "format not a string literal and no format arguments"
msgstr "biçem bir dizge sabit değil ve biçem argümanları yok"
-#: c-format.c:1346
+#: c-format.c:1338
msgid "format not a string literal, argument types not checked"
msgstr "biçem bir dizge sabit değil, argüman türleri denetlenmedi"
-#: c-format.c:1359
+#: c-format.c:1351
msgid "too many arguments for format"
msgstr "biçem için argüman sayısı çok fazla"
-#: c-format.c:1362
+#: c-format.c:1354
msgid "unused arguments in $-style format"
msgstr "$ tarzı biçemde kullanılmamış argümanlar"
-#: c-format.c:1365
-msgid "zero-length format string"
-msgstr "sıfır uzunluklu biçem dizgesi"
+#: c-format.c:1357
+#, c-format
+msgid "zero-length %s format string"
+msgstr "sıfır uzunluklu %s biçem dizgesi"
-#: c-format.c:1368
+#: c-format.c:1361
msgid "format is a wide character string"
msgstr "biçem bir geniş karakter dizgesi"
-#: c-format.c:1371
+#: c-format.c:1364
msgid "unterminated format string"
msgstr "sonlandırılmamış biçem dizgesi"
-#. 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 "null biçem dizgesi"
-
-#: c-format.c:1669
+#: c-format.c:1581
msgid "embedded `\\0' in format"
msgstr "biçem içinde gömülü `\\0'"
-#: c-format.c:1684
+#: c-format.c:1596
#, c-format
msgid "spurious trailing `%%' in format"
msgstr "biçem içinde sahte `%%'"
-#: c-format.c:1723 c-format.c:1960
+#: c-format.c:1635 c-format.c:1872
#, c-format
msgid "repeated %s in format"
msgstr "biçem içinde %s yinelenmiş"
-#: c-format.c:1736
+#: c-format.c:1648
msgid "missing fill character at end of strfmon format"
msgstr "strfmon biçeminin sonunda dolgu karakteri eksik"
-#: 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 "biçem için argüman sayısı yetersiz"
-#: c-format.c:1816
+#: c-format.c:1728
#, c-format
msgid "zero width in %s format"
msgstr "%s biçeminde sıfır uzunluk"
-#: c-format.c:1835
+#: c-format.c:1747
#, c-format
msgid "empty left precision in %s format"
msgstr "%s biçeminde sol taraf duyarlığı boş"
-#: c-format.c:1889
+#: c-format.c:1801
msgid "field precision"
msgstr "alan duyarlığı"
-#: c-format.c:1904
+#: c-format.c:1816
#, c-format
msgid "empty precision in %s format"
msgstr "%s biçeminde boş duyarlık"
-#: c-format.c:1944
+#: c-format.c:1856
#, c-format
msgid "%s does not support the `%s' %s length modifier"
msgstr "%s `%s' %s uzunluk deÄŸiÅŸtiricisini desteklemiyor"
-#: c-format.c:1994
+#: c-format.c:1906
msgid "conversion lacks type at end of format"
msgstr "dönüşüm, biçem sonunda türden yoksun"
-#: c-format.c:2005
+#: c-format.c:1917
#, c-format
msgid "unknown conversion type character `%c' in format"
msgstr "biçemdeki dönüşüm türü karakteri `%c' bilinmiyor"
-#: c-format.c:2008
+#: c-format.c:1920
#, c-format
msgid "unknown conversion type character 0x%x in format"
msgstr "biçemdeki dönüşüm türü karakteri 0x%x bilinmiyor"
-#: c-format.c:2015
+#: c-format.c:1927
#, c-format
msgid "%s does not support the `%%%c' %s format"
msgstr "%s `%%%c' %s biçemini desteklemiyor"
-#: c-format.c:2031
+#: c-format.c:1943
#, c-format
msgid "%s used with `%%%c' %s format"
msgstr "%s `%%%c' %s biçemi ile kullanılmış"
-#: c-format.c:2040
+#: c-format.c:1952
#, c-format
msgid "%s does not support %s"
msgstr "%s %s desteÄŸi vermiyor"
-#: c-format.c:2049
+#: c-format.c:1961
#, c-format
msgid "%s does not support %s with the `%%%c' %s format"
msgstr "%s %s'i `%%%c' %s biçemiyle desteklemiyor"
-#: c-format.c:2082
+#: c-format.c:1994
#, c-format
msgid "%s ignored with %s and `%%%c' %s format"
msgstr "%s %s' ve `%%%c' %s biçemiyle yoksayıldı"
-#: c-format.c:2086
+#: c-format.c:1998
#, c-format
msgid "%s ignored with %s in %s format"
msgstr "%s %s' ile %s biçeminde yoksayıldı"
-#: c-format.c:2092
+#: c-format.c:2004
#, c-format
msgid "use of %s and %s together with `%%%c' %s format"
msgstr "%s ve %s birlikte `%%%c' %s biçemiyle kullanımı"
-#: c-format.c:2096
+#: c-format.c:2008
#, c-format
msgid "use of %s and %s together in %s format"
msgstr "%s ve %s birlikte %s biçeminde kullanımı"
-#: c-format.c:2115
+#: c-format.c:2027
#, c-format
msgid "`%%%c' yields only last 2 digits of year in some locales"
msgstr "`%%%c' bazı yerellerde yılın son iki hanesini alır"
-#: c-format.c:2118
+#: c-format.c:2030
#, c-format
msgid "`%%%c' yields only last 2 digits of year"
msgstr "`%%%c' yılın son iki hanesini alır"
#. The end of the format string was reached.
-#: c-format.c:2134
+#: c-format.c:2046
#, c-format
msgid "no closing `]' for `%%[' format"
msgstr "`%%[' biçemi için kapanan `]' yok"
-#: c-format.c:2147
+#: c-format.c:2059
#, c-format
msgid "use of `%s' length modifier with `%c' type character"
msgstr "`%s' uzunluk değiştiricsinin `%c' tür karakteri ile kullanımı"
-#: c-format.c:2168
+#: c-format.c:2080
#, c-format
msgid "%s does not support the `%%%s%c' %s format"
msgstr "%s `%%%s%c' %s biçemini desteklemiyor"
-#: c-format.c:2183
+#: c-format.c:2095
msgid "operand number specified with suppressed assignment"
msgstr "terim numarası engellenmiş atama ile belirtilmiş"
-#: c-format.c:2185
+#: c-format.c:2097
msgid "operand number specified for format taking no argument"
msgstr "terim numarası argüman almayan biçem için belirtilmiş"
-#: c-format.c:2304
+#: c-format.c:2211
#, c-format
msgid "writing through null pointer (arg %d)"
msgstr "null gösterge vasıtasıyla yazma (%d. arg)"
-#: c-format.c:2313
+#: c-format.c:2220
#, c-format
msgid "reading through null pointer (arg %d)"
msgstr "null gösterge vasıtasıyla okuma (%d. arg)"
-#: c-format.c:2333
+#: c-format.c:2240
#, c-format
msgid "writing into constant object (arg %d)"
msgstr "sabit nesne içine yazma (%d. arg)"
-#: c-format.c:2343
+#: c-format.c:2250
#, c-format
msgid "extra type qualifiers in format argument (arg %d)"
msgstr "biçem argümanında (%d. arg) fazladan tür niteleyiciler"
-#: c-format.c:2350
+#: c-format.c:2257
#, c-format
msgid "format argument is not a pointer (arg %d)"
msgstr "biçem argümanı bir gösterge değil (%d. arg)"
-#: c-format.c:2352
+#: c-format.c:2259
#, c-format
msgid "format argument is not a pointer to a pointer (arg %d)"
msgstr "biçem argümanı bir göstergenin göstergesi değil (%d. arg)"
-#: c-format.c:2423
+#: c-format.c:2330
msgid "pointer"
msgstr "gösterge"
-#: c-format.c:2425
+#: c-format.c:2332
msgid "different type"
msgstr "farklı tür"
-#: c-format.c:2446
+#: c-format.c:2353
#, c-format
msgid "%s is not type %s (arg %d)"
msgstr "%s %s türünde değil (%d. arg)"
-#: c-format.c:2449
+#: c-format.c:2356
#, c-format
msgid "%s format, %s arg (arg %d)"
msgstr "%s biçemi, %s arg (%d. arg)"
-#: c-lex.c:298
+#: c-lex.c:153
+msgid "YYDEBUG not defined"
+msgstr "YYDEBUG tanımlı değil"
+
+#: c-lex.c:290
msgid "badly nested C headers from preprocessor"
msgstr "önişlemciden C başlıkları hatalı yuvalanmış"
-#: c-lex.c:348
+#: c-lex.c:333
#, c-format
msgid "ignoring #pragma %s %s"
msgstr "#pragma %s %s yoksalıyor"
-#: c-lex.c:350
-#, c-format
-msgid "ignoring #pragma %s"
-msgstr "#pragma %s yoksayılıyor"
-
-#: c-lex.c:400
+#: c-lex.c:383
#, c-format
msgid "universal-character-name '\\U%08x' not valid in identifier"
msgstr "evrensel karakter ismi '\\U%08x' tanıtıcı içinde geçerli değil"
-#: c-lex.c:646
+#: c-lex.c:629
#, c-format
msgid "universal-character-name '\\u%04x' not valid in identifier"
msgstr "evrensel karakter ismi '\\U%04x' tanıtıcı içinde geçerli değil"
-#: c-lex.c:736
-msgid "both 'f' and 'l' suffixes on floating constant"
-msgstr "gerçel sayı sabitte hem 'f' hem de 'l' sonekleri"
-
-#: c-lex.c:763
-#, c-format
-msgid "floating point number exceeds range of '%s'"
-msgstr "gerçel sayı '%s' kapsamını aşıyor"
-
-#: c-lex.c:793
+#: c-lex.c:692
#, c-format
msgid "stray '%c' in program"
msgstr "programda serseri '%c'"
-#: c-lex.c:795
+#: c-lex.c:694
#, c-format
msgid "stray '\\%o' in program"
msgstr "programda serseri '\\%o'"
-#: c-lex.c:893
-msgid "too many decimal points in floating constant"
-msgstr "kayan sabitteki ondalık nokta sayısı çok fazla"
+#: c-lex.c:851
+msgid "this decimal constant is unsigned only in ISO C90"
+msgstr "bu ondalık sabit sadece ISO C90'da unsigned'dır"
-#: c-lex.c:895
-msgid "decimal point in exponent - impossible!"
-msgstr "üs bir ondalık sayı -- imkânsız!"
+#: c-lex.c:854
+msgid "this decimal constant would be unsigned in ISO C90"
+msgstr "bu ondalık sabit sadece ISO C90'da unsigned olmalıydı"
-#. 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:906
-msgid "underscore in number"
-msgstr "sayı içinde alt çizgi"
+#: c-lex.c:870
+#, c-format
+msgid "integer constant is too large for \"%s\" type"
+msgstr "tamsayı sabit \"%s\" olarak oldukça büyük"
-#: c-lex.c:968
-msgid "numeric constant with no digits"
-msgstr "rakam içermeyen sayısal sabit"
+#: c-lex.c:938
+#, c-format
+msgid "floating constant exceeds range of \"%s\""
+msgstr "gerçel sayı \"%s\" kapsamını aşıyor"
-#: c-lex.c:971
-msgid "numeric constant contains digits beyond the radix"
-msgstr "sayısal sabit tabanından büyük rakamlar içeriyor"
+#: c-lex.c:974 cpplex.c:330 cpplex.c:668 cpplex.c:1942
+msgid "ignoring invalid multibyte character"
+msgstr "geçersiz çok baytlı karakter yoksayılıyor"
-#: c-lex.c:982
-msgid "floating constant may not be in radix 16"
-msgstr "gerçel sayı sabit onaltılık tabanda olmayabilir"
+#: c-opts.c:355
+#, c-format
+msgid "missing argument to \"-%s\""
+msgstr "\"-%s\" seçeneğinin argümanı eksik"
-#: c-lex.c:985
-msgid "hexadecimal floating constant has no exponent"
-msgstr "onaltılık gerçel sayı sabit üs içermiyor"
+#: c-opts.c:359
+#, c-format
+msgid "no class name specified with \"-%s\""
+msgstr "\"-%s ile sınıf ismi belirtilmemiş"
-#: c-lex.c:997
-msgid "floating constant exponent has no digits"
-msgstr "gerçel sayı sabitin üssü rakam içermiyor"
+#: c-opts.c:366
+#, c-format
+msgid "missing filename after \"-%s\""
+msgstr "\"-%s\" den sonra dosyaismi yok"
-#: c-lex.c:1017
-msgid "more than one 'f' suffix on floating constant"
-msgstr "gerçel sayı sabitte `f' soneki birden fazla var"
+#: c-opts.c:371
+#, c-format
+msgid "missing target after \"-%s\""
+msgstr "\"-%s\" den sonra hedef eksik"
-#: c-lex.c:1020
-msgid "traditional C rejects the 'f' suffix"
-msgstr "geleneksel C 'f' sonekini kullanmaz"
+#: c-opts.c:505
+#, c-format
+msgid "options array incorrectly sorted: %s is before %s"
+msgstr "seçenekler dizisi yanlış sıralı: %s, %s den önce"
-#: c-lex.c:1027
-msgid "more than one 'l' suffix on floating constant"
-msgstr "gerçel sayı sabitte `l' soneki birden fazla var"
+#: c-opts.c:550
+#, c-format
+msgid "too many filenames given. Type %s --help for usage"
+msgstr "çok fazla dosyaismi verildi. Kullanım bilgileri için %s --help yazınız"
-#: c-lex.c:1030
-msgid "traditional C rejects the 'l' suffix"
-msgstr "geleneksel C 'l' sonekini kullanmaz"
+#: c-opts.c:937
+msgid "-Wno-strict-prototypes is not supported in C++"
+msgstr "C++ da -Wno-strict-prototypes desteklenmiyor"
-#: c-lex.c:1038
-msgid "more than one 'i' or 'j' suffix on floating constant"
-msgstr "gerçel sayı sabitte `i' ya da `j' soneki birden fazla var"
+#: c-opts.c:1017
+#, c-format
+msgid "switch \"%s\" is no longer supported"
+msgstr "switch \"%s\" artık desteklenmiyor"
-#: c-lex.c:1040 c-lex.c:1134
-msgid "ISO C forbids imaginary numeric constants"
-msgstr "ISO C sanal sayısal sabitleri yasaklar"
+#: c-opts.c:1033
+#, c-format
+msgid "switch \"%s\" is deprecated, please see documentation for details"
+msgstr "switch \"%s\" eski kullanım, lütfen ayrıntılar için belgelere bakınız"
-#: c-lex.c:1045
-msgid "invalid suffix on floating constant"
-msgstr "gerçel sayı sabitin soneki geçersiz"
+#: c-opts.c:1153
+msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+msgstr "-fhandle-exceptions'ın -fexceptions olarak ismi değiştirilmişti (ve şimdi öntanımlı olarak böyle)"
-#. We got an exception from parse_float()
-#: c-lex.c:1062
-msgid "floating constant out of range"
-msgstr "gerçel sayı sabit kapsamdışı"
+#: c-opts.c:1273
+msgid "output filename specified twice"
+msgstr "çıktı dosyasının ismi iki kere belirtilmiş"
-#: c-lex.c:1074
-msgid "floating point number exceeds range of 'double'"
-msgstr "gerçel sayı 'double' kapsamını aşıyor"
+#: c-opts.c:1387
+msgid "-Wformat-y2k ignored without -Wformat"
+msgstr "-Wformat-y2k -Wformat'sız yoksayıldı"
-#: c-lex.c:1103
-msgid "two 'u' suffixes on integer constant"
-msgstr "tamsayı sabitte iki 'u' soneki"
+#: c-opts.c:1389
+msgid "-Wformat-extra-args ignored without -Wformat"
+msgstr "-Wformat-extra-args -Wformat'sız yoksayıldı"
-#: c-lex.c:1106
-msgid "traditional C rejects the 'u' suffix"
-msgstr "geleneksel C 'u' sonekini kullanmaz"
+#: c-opts.c:1391
+msgid "-Wformat-zero-length ignored without -Wformat"
+msgstr "-Wformat-zero-length -Wformat'sız yoksayıldı"
-#: c-lex.c:1117
-msgid "three 'l' suffixes on integer constant"
-msgstr "tamsayı sabitte üç 'l' soneki"
+#: c-opts.c:1393
+msgid "-Wformat-nonliteral ignored without -Wformat"
+msgstr "-Wformat-nonliteral -Wformat'sız yoksayıldı"
-#: c-lex.c:1119
-msgid "'lul' is not a valid integer suffix"
-msgstr "'lul' geçerli bir tamsayı soneki değil"
+#: c-opts.c:1395
+msgid "-Wformat-security ignored without -Wformat"
+msgstr "-Wformat-security -Wformat'sız yoksayıldı"
-#: c-lex.c:1121
-msgid "'Ll' and 'lL' are not valid integer suffixes"
-msgstr "'Ll' ve 'lL' geçerli tamsayı sonekleri değil"
+#: c-opts.c:1397
+msgid "-Wmissing-format-attribute ignored without -Wformat"
+msgstr "-Wmissing-format-attribute -Wformat'sız yoksayıldı"
-#: c-lex.c:1124
-msgid "ISO C89 forbids long long integer constants"
-msgstr "ISO C89 long long tamsayı sabitleri yasaklar"
+#: c-opts.c:1419
+#, c-format
+msgid "opening output file %s"
+msgstr "çıktı dosyası `%s' açılıyor"
-#: c-lex.c:1132
-msgid "more than one 'i' or 'j' suffix on integer constant"
-msgstr "tamsayı sabitte birden fazla 'i' ya da 'j' soneki"
+#: c-opts.c:1474
+#, c-format
+msgid "opening dependency file %s"
+msgstr "bağımlılık dosyası %s açılıyor"
-#: c-lex.c:1139
-msgid "invalid suffix on integer constant"
-msgstr "tamsayı sabitteki sonek geçersiz"
+#: c-opts.c:1484
+#, c-format
+msgid "closing dependency file %s"
+msgstr "bağımlılık dosyası %s kapatılıyor"
-#: c-lex.c:1147
+#: c-opts.c:1487
#, c-format
-msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
-msgstr "tamsayı sabit derleyicinin bu yapılandırması için çok büyük - %d bite indirildi"
+msgid "when writing output to %s"
+msgstr "çıktı %s e yazılırken"
-#: c-lex.c:1237
-msgid "width of integer constant changes with -traditional"
-msgstr "tamsayı sabitin genişliği -traditional ile değişir"
+#: c-opts.c:1567
+msgid "to generate dependencies you must specify either -M or -MM"
+msgstr "bağımlılıkları üretmek için ya -M ya da -MM belirtmelisiniz"
-#: c-lex.c:1239
-msgid "integer constant is unsigned in ISO C, signed with -traditional"
-msgstr "tamsayı sabit ISO C için unsigned, -traditional ile signed'dır"
+#: c-opts.c:1714
+#, c-format
+msgid "\"-%s\" is valid for %s but not for %s"
+msgstr "\"-%s\" %s için geçersiz ama %s için değil"
-#: c-lex.c:1241
-msgid "width of integer constant may change on other systems with -traditional"
-msgstr "tamsayı sabitin uzunluğu diğer sistemlerde -traditional ile değişebilir"
+#. To keep the lines from getting too long for some compilers, limit
+#. to about 500 characters (6 lines) per chunk.
+#: c-opts.c:1724
+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 ""
+"Seçenekler:\n"
+" -include DOSYA Diğer dosyalardan önce DOSYA içeriği içerilir\n"
+" -imacros DOSYA DOSYAdaki makrolar kabul edilir\n"
+" -iprefix DOSYAYOLU Aşağıdaki iki seçenek için önek olarak DOSYAYOLU\n"
+" -iwithprefix DÄ°ZÄ°N Sistem include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
+" -iwithprefixbefore DÄ°ZÄ°N Ana include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
+" -isystem DİZİN Sistem include dosya yolunun başına DİZİN eklenir\n"
-#: c-lex.c:1251
-#, c-format
-msgid "integer constant larger than the maximum value of %s"
-msgstr "tamsayı sabit en büyük değer %s den daha büyük"
+#: c-opts.c:1733
+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 ""
+" -idirafter DÄ°ZÄ°N Sistem include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
+" -I DÄ°ZÄ°N Ana include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
+" -I- Ä°nceden inceye include dosya yolu denetimi;\n"
+" Daha fazla bilgi için belgelere bakınız\n"
+" -nostdinc Sistem include dizinleri için arama yapılmaz\n"
+" (-isystem ile belirtilen dizinler kullanılacak)\n"
+" -nostdinc++ C++ için sistem include dizinleri araması yapılmaz\n"
+" -o DOSYA Çıktı DOSYAya yazılır\n"
-#: c-lex.c:1254
-msgid "an unsigned long long int"
-msgstr "bir unsigned long long int"
+#: c-opts.c:1742
+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 ""
+" -trigraphs ISO C üçlü harfleri desteklenir\n"
+" -std=<std ismi> Aşağıdaki uyum standartlarından biri belirtilir:\n"
+" gnu89, gnu99, c89, c99, iso9899:1990,\n"
+" iso9899:199409, iso9899:1999, c++98\n"
+" -w Uyarı iletileri engellenir\n"
+" -W[no-]trigraphs Üçlü harfler saptandığında uyarır\n"
+" -W[no-]comment{s} İç içe açıklamalar için uyarı verilir\n"
-#: c-lex.c:1255
-msgid "a long long int"
-msgstr "bir long long int"
+#: c-opts.c:1751
+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 ""
+" -W[no-]traditional Geleneksel C'de bulunmayan özellikler için uyarır\n"
+" -W[no-]undef undef'li bir makro #if ile atanmışsa uyarır\n"
+" -W[no-]import #import yönergesi kullanımı hakkında uyarır\n"
-#: c-lex.c:1256
-msgid "an unsigned long int"
-msgstr "bir unsigned long int"
+#: c-opts.c:1756
+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 ""
+" -W[no-]error Tüm uyarılar hata olarak değerlendirilir\n"
+" -W[no-]system-headers Sistem başlık dosyalarından kaynaklanan uyarılar\n"
+" engellenmez\n"
+" -W[no-]all Tüm önişlemci uyarıları verilir\n"
-#: c-lex.c:1260
-msgid "decimal constant is so large that it is unsigned"
-msgstr "ondalık sabit unsigned tür için büyük"
+#: c-opts.c:1761
+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 ""
+" -M make bağımlılıkları üretilir\n"
+" -MM sistem başlık dosyaları yoksayılarak -M uygulanır\n"
+" -MD make bağımlılıkları üretilir ve derleme yapılır\n"
+" -MMD sistem başlık dosyaları yoksayılarak -MD uygulanır\n"
+" -MF DOSYA Bağımlılıklar DOSYAya yazılır\n"
+" -MG Eksik başlık dosyası üretilen dosyalar olarak\n"
+" deÄŸerlendirilir\n"
-#: c-lex.c:1269
-msgid "complex integer constant is too wide for 'complex int'"
-msgstr "karmaşık tamsayı sabit `complex int' için çok büyük"
+#: c-opts.c:1769
+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 ""
+" -MP Tüm başlık dosyaları için sahte hedefler üretilir\n"
+" -MQ HEDEF Bir MAKE-tırnaklı HEDEF eklenir\n"
+" -MT HEDEF Bir MAKE-tırnaksız HEDEF eklenir\n"
-#: c-lex.c:1289
-msgid "integer constant is larger than the maximum value for its type"
-msgstr "tamsayı sabit türünün izin verdiği değerden büyük"
+#: c-opts.c:1774
+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 ""
+" -D<makro> Değeri '1' dizgesi olan bir <makro> atanır\n"
+" -D<makro>=<değer> Değeri <değer> olan bir <makro> atanır\n"
+" -A<soru>=<cevap> <soru> ya <cevap> olumlanır\n"
+" -A-<soru>=<cevap> <soru> <cevap> etkisiz kılınır\n"
+" -U<makro> <macro> undef yapılır \n"
+" -v Sürüm numarası gösterilir\n"
-#: c-lex.c:1293
-#, c-format
-msgid "missing white space after number '%.*s'"
-msgstr "'%.*s'den sonra boÅŸluk yok"
+#: c-opts.c:1782
+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 ""
+" -H Kullanılan başlık dosyası isimlerini gösterir\n"
+" -C Açıklamalar iptal edilmez\n"
+" -dM Sonuçta etkin olan makro tanımlarını listeler\n"
+" -dD Çıktıda makro tanımlarıda içerilir\n"
+" -dN -dD gibi ancak sadece isimler dışında\n"
+" -dI Çıktıda #include yönergeleri içerilir\n"
-#: c-lex.c:1329 cpplex.c:1873
-msgid "ignoring invalid multibyte character"
-msgstr "geçersiz çok baytlı karakter yoksayılıyor"
+#: c-opts.c:1790
+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 ""
+" -f[no-]preprocessed Girdi dosyası önişlenmiş olarak değerlendirilir\n"
+" -ftabstop=SAYI Sütunlu raporlamada sekme uzunluğu\n"
+" -P #line yönergeleri üretilmez\n"
+" -remap Dosyalar içerilirken dosya adları yeniden eşlenir\n"
+" --help Bu yardım iletisi gösterilir\n"
#. 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:55
msgid "syntax error"
msgstr "sözdizimi hatası"
-#: /usr/share/bison/bison.simple:176 /usr/share/bison.simple:112
+#: /usr/share/bison/bison.simple:179
msgid "syntax error: cannot back up"
msgstr "sözdizimi hatası: yedeklenemiyor"
-#: c-parse.y:288 objc-parse.y:310
+#: c-parse.y:325 objc-parse.y:346
msgid "ISO C forbids an empty source file"
msgstr "ISO C boş kaynak dosyalarına izin vermez"
-#: c-parse.y:321 c-typeck.c:6895 objc-parse.y:343
+#: c-parse.y:366 c-typeck.c:6887 objc-parse.y:388
msgid "argument of `asm' is not a constant string"
msgstr "`asm' argümanı bir sabit dizge değil"
-#: c-parse.y:329 objc-parse.y:351
+#: c-parse.y:374 objc-parse.y:396
msgid "ISO C forbids data definition with no type or storage class"
msgstr "ISO C tür veya saklama sınıfı belirtilmeyen veri tanımına izin vermez"
-#: c-parse.y:331 objc-parse.y:353
+#: c-parse.y:376 objc-parse.y:398
msgid "data definition has no type or storage class"
msgstr "veri tanımı tür ya da saklama sınıfı içermiyor"
-#: c-parse.y:344 objc-parse.y:366
+#: c-parse.y:389 objc-parse.y:411
msgid "ISO C does not allow extra `;' outside of a function"
msgstr "ISO C işlevler dışında tek başına `;'e izin vermez"
-#: c-parse.y:404 cppexp.c:693
+#: c-parse.y:449 cppexp.c:1312
msgid "traditional C rejects the unary plus operator"
-msgstr "geleneksel C tekil artı işlemimini dışlar"
+msgstr "geleneksel C tekil artı işlecini dışlar"
-#: c-parse.y:466 objc-parse.y:488
+#: c-parse.y:496 objc-parse.y:518
msgid "`sizeof' applied to a bit-field"
msgstr "'sizeof' bir bit-alanına uygulandı"
-#: c-parse.y:546 objc-parse.y:568
+#: c-parse.y:583 objc-parse.y:605
msgid "ISO C forbids omitting the middle term of a ?: expression"
msgstr "ISO C ?: ifadesinin orta teriminin atlanmasına izin vermez"
-#: c-parse.y:593 objc-parse.y:615
+#: c-parse.y:632 objc-parse.y:654
msgid "ISO C89 forbids compound literals"
msgstr "ISO C89 bileşik sayılara izin vermez"
-#: c-parse.y:607 objc-parse.y:629
+#: c-parse.y:646 objc-parse.y:668
msgid "ISO C forbids braced-groups within expressions"
msgstr "ISO C ifadelerde parantezli gruplamalara izin vermez"
-#: c-parse.y:638 objc-parse.y:660
+#: c-parse.y:677 objc-parse.y:699
msgid "first argument to __builtin_choose_expr not a constant"
msgstr "__builtin_choose_expr işlevine aktarılan ilk argüman bir sabit değil"
-#: c-parse.y:681
-msgid "traditional C rejects string concatenation"
-msgstr "geleneksel C dizgelerin birleÅŸtirilmesine izin vermez"
+#: c-parse.y:721 objc-parse.y:767
+msgid "traditional C rejects ISO C style function definitions"
+msgstr "geleneksel C, ISO C tarzı işlev tanımlarına izin vermez"
-#: c-parse.y:696 objc-parse.y:732
-msgid "ISO C does not permit use of `varargs.h'"
-msgstr "ISO C `varargs.h' kullanımına izin vermez"
-
-#: c-parse.y:957 c-parse.y:963 c-parse.y:969 c-parse.y:975 c-parse.y:996 c-parse.y:1002 c-parse.y:1008 c-parse.y:1014 c-parse.y:1047 c-parse.y:1053 c-parse.y:1059 c-parse.y:1065 c-parse.y:1110 c-parse.y:1116 c-parse.y:1122 c-parse.y:1128 parse.y:1907 parse.y:1914 parse.y:1949 objc-parse.y:993 objc-parse.y:999 objc-parse.y:1005 objc-parse.y:1011 objc-parse.y:1032 objc-parse.y:1038 objc-parse.y:1044 objc-parse.y:1050 objc-parse.y:1083 objc-parse.y:1089 objc-parse.y:1095 objc-parse.y:1101 objc-parse.y:1146 objc-parse.y:1152 objc-parse.y:1158 objc-parse.y:1164
+#: 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:1916 parse.y:1923 parse.y:1958 objc-parse.y:1031
+#: objc-parse.y:1037 objc-parse.y:1043 objc-parse.y:1049 objc-parse.y:1070
+#: objc-parse.y:1076 objc-parse.y:1082 objc-parse.y:1088 objc-parse.y:1121
+#: objc-parse.y:1127 objc-parse.y:1133 objc-parse.y:1139 objc-parse.y:1184
+#: objc-parse.y:1190 objc-parse.y:1196 objc-parse.y:1202
#, c-format
msgid "`%s' is not at beginning of declaration"
msgstr "`%s' bildirimin başlangıcında değil"
-#: c-parse.y:1410 objc-parse.y:1455
+#: c-parse.y:1441 objc-parse.y:1496
msgid "ISO C forbids empty initializer braces"
msgstr "ISO C boÅŸ ilklendirme parantezlerine izin vermez"
-#: c-parse.y:1424 objc-parse.y:1469
+#: c-parse.y:1455 objc-parse.y:1510
msgid "ISO C89 forbids specifying subobject to initialize"
msgstr "ISO C89 öndeğer olarak alt nesnelerin belirtilmesine izin vermez."
-#: c-parse.y:1427 objc-parse.y:1472
+#: c-parse.y:1458 objc-parse.y:1513
msgid "obsolete use of designated initializer without `='"
msgstr "`=' olmaksızın tasarlanmış ilklendirici kullanımının modası geçti"
-#: c-parse.y:1431 objc-parse.y:1476
+#: c-parse.y:1462 objc-parse.y:1517
msgid "obsolete use of designated initializer with `:'"
msgstr "`:' olmaksızın tasarlanmış ilklendirici kullanımının modası geçti"
-#: c-parse.y:1460
+#: c-parse.y:1489 objc-parse.y:1544
msgid "ISO C forbids specifying range of elements to initialize"
msgstr "ISO C89 öndeğer olarak eleman aralığı belirtilmesine izin vermez."
-#: c-parse.y:1468 c-parse.y:1498 objc-parse.y:1507 objc-parse.y:1537
+#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1552 objc-parse.y:1583
msgid "ISO C forbids nested functions"
msgstr "ISO C iç içe işlevlere izin vermez"
-#: c-parse.y:1672 objc-parse.y:1713
+#: c-parse.y:1703 objc-parse.y:1760
msgid "ISO C forbids forward references to `enum' types"
msgstr "ISO C sonradan bildirilmiş `enum' türüne başvuruya izin vermez"
-#: c-parse.y:1684 parse.y:2364 objc-parse.y:1725
+#: c-parse.y:1715 parse.y:2386 objc-parse.y:1772
msgid "comma at end of enumerator list"
msgstr "sembolik sabitler listesinin sonunda virgül"
-#: c-parse.y:1692 objc-parse.y:1733
+#: c-parse.y:1723 objc-parse.y:1780
msgid "no semicolon at end of struct or union"
msgstr "struct ya da union tanımının sonunda ; yok"
-#: c-parse.y:1701 objc-parse.y:1742 objc-parse.y:2819
+#: c-parse.y:1732 objc-parse.y:1789 objc-parse.y:2864
msgid "extra semicolon in struct or union specified"
msgstr "struct ya da union'da fazladan ; var"
-#: c-parse.y:1714 objc-parse.y:1769
+#: c-parse.y:1745 objc-parse.y:1816
msgid "ISO C doesn't support unnamed structs/unions"
msgstr "ISO C isimsiz struct/union'lara izin vermez"
-#: c-parse.y:1723 objc-parse.y:1778
+#: c-parse.y:1754 objc-parse.y:1825
msgid "ISO C forbids member declarations with no members"
msgstr "ISO C üyesiz üye bildirimlerine izin vermez"
-#: c-parse.y:1872 c-parse.y:1876 c-parse.y:1880 objc-parse.y:1927 objc-parse.y:1931 objc-parse.y:1935
-msgid "storage class specifier in array declarator"
-msgstr "dizi bildiriminde saklatım öbeği belirteçleri"
-
-#: c-parse.y:1895 objc-parse.y:1950
+#: c-parse.y:1913 objc-parse.y:1984
msgid "deprecated use of label at end of compound statement"
msgstr "bileşik ifadenin sonunda etiket kullanımının modası geçti"
-#: c-parse.y:1912 objc-parse.y:1967
+#: c-parse.y:1930 objc-parse.y:2001
msgid "ISO C89 forbids mixed declarations and code"
msgstr "ISO C kod ve bildirimlerin karışımına izin vermez"
-#: c-parse.y:1986 objc-parse.y:2045
+#: c-parse.y:2005 objc-parse.y:2080
msgid "ISO C forbids label declarations"
msgstr "ISO C etiket bildirimlerine izin vermez"
-#: c-parse.y:2035 parse.y:1607 objc-parse.y:2094
+#: c-parse.y:2055 parse.y:1628 objc-parse.y:2130
msgid "braced-group within expression allowed only inside a function"
msgstr "ifade içinde parantezli gruplamalara sadece bir işlevin içinde izin verilir"
-#: c-parse.y:2161 objc-parse.y:2220
+#: c-parse.y:2182 objc-parse.y:2257
msgid "empty body in an else-statement"
msgstr "else ifadesinin gövdesi boş"
-#: c-parse.y:2281 objc-parse.y:2340
+#: c-parse.y:2303 objc-parse.y:2378
msgid "ISO C forbids `goto *expr;'"
msgstr "ISO C `goto *expr;' kullanımına izin vermez"
-#: c-parse.y:2379 objc-parse.y:2438
+#: c-parse.y:2403 objc-parse.y:2478
msgid "ISO C forbids forward parameter declarations"
msgstr "ISO C ileriye dönük parametre bildirimlerine izin vermez"
@@ -2328,170 +2504,175 @@ msgstr "ISO C ileriye dönük parametre bildirimlerine izin vermez"
#. 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:2405 objc-parse.y:2464
+#: c-parse.y:2429 objc-parse.y:2504
msgid "ISO C requires a named argument before `...'"
msgstr "ISO C `...'dan önce bir isimli argüman gerektirir"
-#: c-parse.y:2500 objc-parse.y:2559
+#: c-parse.y:2526 objc-parse.y:2601
msgid "`...' in old-style identifier list"
msgstr "eski-tarz tanıtıcı listesinde `...'"
-#: /usr/share/bison/bison.simple:821
+#: /usr/share/bison/bison.simple:795
msgid "parse error; also virtual memory exhausted"
msgstr "ayrıştırma hatası; ayrıca sanal bellek aşıldı"
-#: /usr/share/bison/bison.simple:825 cp/spew.c:343 /usr/share/bison.simple:654
+#: /usr/share/bison/bison.simple:799 cp/spew.c:364
msgid "parse error"
msgstr "ayrıştırma hatası:"
-#: /usr/share/bison/bison.simple:950 /usr/share/bison.simple:367
+#: /usr/share/bison/bison.simple:924
msgid "parser stack overflow"
msgstr "ayrıştırıcı yığın taşması"
-#: c-parse.y:2824 cp/spew.c:1477 objc-parse.y:3511
+#: c-parse.y:2838 cp/spew.c:1525 objc-parse.y:3537
#, c-format
msgid "%s at end of input"
msgstr "%s girdinin sonunda"
-#: c-parse.y:2830 cp/spew.c:1483 objc-parse.y:3517
+#: c-parse.y:2844 cp/spew.c:1533 objc-parse.y:3543
#, c-format
msgid "%s before %s'%c'"
msgstr "%2$s'%3$c'den önce %1$s"
-#: c-parse.y:2832 cp/spew.c:1485 objc-parse.y:3519
+#: c-parse.y:2846 cp/spew.c:1535 objc-parse.y:3545
#, c-format
msgid "%s before %s'\\x%x'"
msgstr "%2$s'\\x%3$x'den önce %1$s"
-#: c-parse.y:2836 cp/spew.c:1489 objc-parse.y:3523
+#: c-parse.y:2850 cp/spew.c:1542 objc-parse.y:3549
#, c-format
msgid "%s before string constant"
msgstr "%s dizge sabitten önce"
-#: c-parse.y:2838 cp/spew.c:1491 objc-parse.y:3525
+#: c-parse.y:2852 cp/spew.c:1544 objc-parse.y:3551
#, c-format
msgid "%s before numeric constant"
msgstr "sayısal sabitten önce %s"
-#: c-parse.y:2840 objc-parse.y:3527
+#: c-parse.y:2854 objc-parse.y:3553
#, c-format
msgid "%s before \"%s\""
msgstr "\"%2$s\"den önce %1$s"
-#: c-parse.y:2842 objc-parse.y:3529
+#: c-parse.y:2856 objc-parse.y:3555
#, c-format
msgid "%s before '%s' token"
msgstr "'%2$s' dizgeciğinden önce %1$s"
-#: c-parse.y:2978 objc-parse.y:3708
+#: c-parse.y:2921
+msgid "traditional C rejects string concatenation"
+msgstr "geleneksel C dizgelerin birleÅŸtirilmesine izin vermez"
+
+#: c-parse.y:3047 objc-parse.y:3779
#, c-format
msgid "syntax error at '%s' token"
msgstr "'%s' dizgeciğinde sözdizimi hatası"
-#: c-parse.y:3008 cp/lex.c:906 objc-parse.y:3738
-msgid "YYDEBUG not defined"
-msgstr "YYDEBUG tanımlı değil"
-
-#: c-pragma.c:109
+#: c-pragma.c:107
msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
msgstr "#pragma pack (push, <n>) ile eşleşmeyen #pragma pack (pop) saptandı"
-#: c-pragma.c:127
+#: c-pragma.c:125
#, c-format
msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
msgstr "#pragma pack(push, %2$s, <n>) ile eşleşmeyen #pragma pack(pop, %1$s) saptandı"
-#: c-pragma.c:162
+#: c-pragma.c:145
msgid "#pragma pack(push[, id], <n>) is not supported on this target"
msgstr "bu hedefte #pragma pack(push[, id], <n>) desteklenmiyor"
-#: c-pragma.c:164
+#: c-pragma.c:147
msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
msgstr "bu hedefte #pragma pack(pop[, id], <n>) desteklenmiyor"
-#: c-pragma.c:184
+#: c-pragma.c:167
msgid "missing '(' after '#pragma pack' - ignored"
msgstr "'#pragma pack' den sonra '(' eksik - yoksayıldı"
-#: c-pragma.c:197 c-pragma.c:247
+#: c-pragma.c:180 c-pragma.c:230
msgid "malformed '#pragma pack' - ignored"
msgstr "'#pragma pack' bozuk - yoksayıldı"
-#: c-pragma.c:202
+#: c-pragma.c:185
msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
msgstr "bozuk '#pragma pack(push[, id], <n>)' - yoksayıldı"
-#: c-pragma.c:204
+#: c-pragma.c:187
msgid "malformed '#pragma pack(pop[, id])' - ignored"
msgstr "'#pragma pack(pop[, id])' bozuk - yoksayıldı"
-#: c-pragma.c:213
+#: c-pragma.c:196
#, c-format
msgid "unknown action '%s' for '#pragma pack' - ignored"
msgstr "'#pragma pack' için '%s' eylemi bilinmiyor - yoksayıldı"
-#: c-pragma.c:250
+#: c-pragma.c:233
msgid "junk at end of '#pragma pack'"
msgstr "'#pragma pack' sonunda döküntü"
-#: c-pragma.c:264
+#: c-pragma.c:247
#, c-format
msgid "alignment must be a small power of two, not %d"
msgstr "hizalama ikinin küçük bir üssü olmalı %d değil"
-#: 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 "ilk kullanımdan sonra #pragma weak `%s' yönergesini uygulamak tanımlanmamış davranışa yol açar"
+
+#: c-pragma.c:321 c-pragma.c:326
msgid "malformed #pragma weak, ignored"
msgstr "'#pragma weak' yönergesi bozuk - yoksayıldı"
-#: c-pragma.c:338
+#: c-pragma.c:330
msgid "junk at end of #pragma weak"
msgstr "'#pragma weak' sonunda döküntü"
-#: c-pragma.c:369 c-pragma.c:374
+#: c-pragma.c:365 c-pragma.c:370
msgid "malformed #pragma redefine_extname, ignored"
msgstr "#pragma redefine_extname yönergesi bozuk - yoksayıldı"
-#: c-pragma.c:379
+#: c-pragma.c:375
msgid "junk at end of #pragma redefine_extname"
msgstr "#pragma redefine_extname sonunda döküntü"
-#: c-pragma.c:386 c-pragma.c:461
+#: c-pragma.c:382 c-pragma.c:463
msgid "#pragma redefine_extname conflicts with declaration"
msgstr "#pragma redefine_extname bildirimiyle çelişiyor"
-#: c-pragma.c:410
+#: c-pragma.c:413
msgid "malformed #pragma extern_prefix, ignored"
msgstr "#pragma extern_prefix bozuk, yoksayıldı"
-#: c-pragma.c:415
+#: c-pragma.c:418
msgid "junk at end of #pragma extern_prefix"
msgstr "'#pragma extern_prefix' sonunda karışıklık"
-#: c-pragma.c:447
-msgid "asm declaration conficts with previous rename"
+#: c-pragma.c:450
+msgid "asm declaration conflicts with previous rename"
msgstr "asm bildirimi önceki isim değişikliği ile çelişiyor"
-#: c-semantics.c:563
+#: c-semantics.c:565
msgid "break statement not within loop or switch"
msgstr "break deyimi switch ya da döngü içinde değil"
-#: c-semantics.c:581
+#: c-semantics.c:583
msgid "continue statement not within a loop"
msgstr "continue deyimi bir döngü içinde değil"
-#: c-semantics.c:676
+#: c-semantics.c:678
msgid "destructor needed for `%#D'"
msgstr "case etiketinin yerindeki `%#D' için"
-#: c-semantics.c:677
+#: c-semantics.c:679
msgid "where case label appears here"
msgstr "yıkıcı gerekli"
-#: c-semantics.c:680
+#: c-semantics.c:682
msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
msgstr "(önceki case deyimlerinin zarflama eylemleri kendi içerinde yıkıcıları gerektiriyor)"
-#: c-semantics.c:723 c-typeck.c:6923 cp/semantics.c:889
+#: c-semantics.c:725 c-typeck.c:6913 cp/semantics.c:897
#, c-format
msgid "%s qualifier ignored on asm"
msgstr "asm'de %s niteleyicisi yoksayıldı"
@@ -2501,7 +2682,7 @@ msgstr "asm'de %s niteleyicisi yoksayıldı"
msgid "`%s' has an incomplete type"
msgstr "`%s' tamamlanmamış türde"
-#: c-typeck.c:145 cp/call.c:2621
+#: c-typeck.c:145 cp/call.c:2849
msgid "invalid use of void expression"
msgstr "void deyiminin kullanımı geçersiz"
@@ -2509,7 +2690,7 @@ msgstr "void deyiminin kullanımı geçersiz"
msgid "invalid use of flexible array member"
msgstr "esnek dizi üyesinin kullanımı geçersiz"
-#: c-typeck.c:159 cp/typeck2.c:227
+#: c-typeck.c:159
msgid "invalid use of array with unspecified bounds"
msgstr "sınırları belirtilmemiş dizi; kullanımı geçersiz"
@@ -2524,965 +2705,1078 @@ msgstr "atanmamış tür `%s %s'; kullanımı geçersiz"
msgid "invalid use of incomplete typedef `%s'"
msgstr "tamamlanmamış typedef `%s'; kullanımı geçersiz"
-#: c-typeck.c:402 c-typeck.c:416
+#: c-typeck.c:424 c-typeck.c:438
msgid "function types not truly compatible in ISO C"
msgstr "işlev türleri ISO C'de tam uyumlu değil"
-#: c-typeck.c:576
+#: c-typeck.c:603
msgid "types are not quite compatible"
msgstr "türler tam uyumlu değil"
-#: c-typeck.c:729
-msgid "sizeof applied to a function type"
-msgstr "bir işlev türüne sizeof uygulanmış"
-
-#: c-typeck.c:735
-msgid "sizeof applied to a void type"
-msgstr "bir void türe sizeof uygulanmış"
-
-#: c-typeck.c:742
-msgid "sizeof applied to an incomplete type"
-msgstr "sizeof bir tamamlanmamış türe uygulanmış"
-
-#: c-typeck.c:795 c-typeck.c:2704
+#: c-typeck.c:757 c-typeck.c:2687
msgid "arithmetic on pointer to an incomplete type"
msgstr "bir içi boş tür göstergesi üzerinde aritmetik"
-#: c-typeck.c:1183
+#: c-typeck.c:1136
#, c-format
msgid "%s has no member named `%s'"
msgstr "%s'in `%s' isimli bir üyesi yok"
-#: c-typeck.c:1216
+#: c-typeck.c:1172
#, c-format
msgid "request for member `%s' in something not a structure or union"
msgstr "bir struct veya union olmayan şeyin `%s' üyesi için istek"
-#: c-typeck.c:1248
+#: c-typeck.c:1204
msgid "dereferencing pointer to incomplete type"
msgstr "içi boş türe gösterge başvuru bozulması"
-#: c-typeck.c:1252
+#: c-typeck.c:1208
msgid "dereferencing `void *' pointer"
msgstr "`void *' gösterge başvurusu bozulması"
-#: c-typeck.c:1269 cp/typeck.c:2347
+#: c-typeck.c:1225 cp/typeck.c:2366
#, c-format
msgid "invalid type argument of `%s'"
msgstr "`%s' için tür argümanı geçersiz"
-#: c-typeck.c:1288 cp/typeck.c:2373
+#: c-typeck.c:1244 cp/typeck.c:2392
msgid "subscript missing in array reference"
msgstr "dizi baÅŸvurusunda altindis yok"
-#: c-typeck.c:1309 cp/typeck.c:2415
+#: c-typeck.c:1265 cp/typeck.c:2434
msgid "array subscript has type `char'"
msgstr "dizi altindisi `char' türünde"
-#: c-typeck.c:1317 c-typeck.c:1406 cp/typeck.c:2422 cp/typeck.c:2501
+#: c-typeck.c:1273 c-typeck.c:1362 cp/typeck.c:2441 cp/typeck.c:2520
msgid "array subscript is not an integer"
msgstr "dizi altindisi bir tamsayı değil"
-#: c-typeck.c:1350
+#: c-typeck.c:1306
msgid "ISO C forbids subscripting `register' array"
msgstr "ISO C `register' dizisi altindislemesine izin vermez"
-#: c-typeck.c:1352
-msgid "ISO C89 forbids subscripting non-lvalue array"
-msgstr "ISO C sol tarafsız dizi alt indislemesine izin vermez"
+#: c-typeck.c:1308
+msgid "ISO C90 forbids subscripting non-lvalue array"
+msgstr "ISO C90 sol yansız dizi indislemesine izin vermez"
-#: c-typeck.c:1385
+#: c-typeck.c:1341
msgid "subscript has type `char'"
msgstr "alt indis `char' türünde"
-#: c-typeck.c:1401 cp/typeck.c:2496
+#: c-typeck.c:1357 cp/typeck.c:2515
msgid "subscripted value is neither array nor pointer"
msgstr "altindisli değer ne dizi ne de bir gösterge"
-#: c-typeck.c:1455
+#: c-typeck.c:1411
#, c-format
msgid "`%s' undeclared here (not in a function)"
msgstr "`%s' burada bildirilmemiş (bir işlev içinde değil)"
-#: c-typeck.c:1462
+#: c-typeck.c:1418
#, c-format
msgid "`%s' undeclared (first use in this function)"
msgstr "`%s' bildirilmemiş (bu işlevde ilk kullanımı)"
-#: c-typeck.c:1467
+#: c-typeck.c:1423
msgid "(Each undeclared identifier is reported only once"
msgstr "(Bildirilmemiş her tanıtıcı sadece bir kez raporlanır)"
-#: c-typeck.c:1468
+#: c-typeck.c:1424
msgid "for each function it appears in.)"
msgstr "her işlev için içinde görünür.)"
-#: c-typeck.c:1485
+#: c-typeck.c:1441
#, c-format
msgid "local declaration of `%s' hides instance variable"
msgstr "`%s' yerel bildirimi gerçekleme değişkenini gizliyor"
-#: c-typeck.c:1550
+#: c-typeck.c:1518
msgid "called object is not a function"
msgstr "çağrılan nesne bir işlev değil"
-#: c-typeck.c:1637 cp/typeck.c:3133
+#: c-typeck.c:1604 cp/typeck.c:2826
msgid "too many arguments to function"
msgstr "işlev için çok fazla argüman belirtildi"
-#: c-typeck.c:1658
+#: c-typeck.c:1625
#, c-format
msgid "type of formal parameter %d is incomplete"
msgstr "%d biçimsel parametre türü tamamlanmayan türde"
-#: c-typeck.c:1671
+#: c-typeck.c:1638
#, c-format
msgid "%s as integer rather than floating due to prototype"
-msgstr "%s prototipten dolayı bir gerçel sayıdan çok bir tamsayı"
+msgstr "%sması prototipten dolayı bir gerçel sayıdan çok bir tamsayı"
-#: c-typeck.c:1674
+#: c-typeck.c:1641
#, c-format
msgid "%s as integer rather than complex due to prototype"
-msgstr "%s prototipten dolayı bir karmaşık sayıdan çok bir tamsayı"
+msgstr "%sması prototipten dolayı bir karmaşık sayıdan çok bir tamsayı"
-#: c-typeck.c:1677
+#: c-typeck.c:1644
#, c-format
msgid "%s as complex rather than floating due to prototype"
-msgstr "%s prototipten dolayı bir gerçel sayıdan çok bir karmaşık sayı"
+msgstr "%sması prototipten dolayı bir gerçel sayıdan çok bir karmaşık sayı"
-#: c-typeck.c:1680
+#: c-typeck.c:1647
#, c-format
msgid "%s as floating rather than integer due to prototype"
-msgstr "%s prototipten dolayı bir tamsayıdan çok bir gerçel sayı"
+msgstr "%sması prototipten dolayı bir tamsayıdan çok bir gerçel sayı"
-#: c-typeck.c:1683
+#: c-typeck.c:1650
#, c-format
msgid "%s as complex rather than integer due to prototype"
-msgstr "%s prototipten dolayı bir tamsayıdan çok bir karmaşık sayı"
+msgstr "%sması prototipten dolayı bir tamsayıdan çok bir karmaşık sayı"
-#: c-typeck.c:1686
+#: c-typeck.c:1653
#, c-format
msgid "%s as floating rather than complex due to prototype"
-msgstr "%s prototipten dolayı bir karmaşık sayıdan çok bir gerçel sayı"
+msgstr "%sması prototipten dolayı bir karmaşık sayıdan çok bir gerçel sayı"
-#: c-typeck.c:1696
+#: c-typeck.c:1663
#, c-format
msgid "%s as `float' rather than `double' due to prototype"
-msgstr "%s prototipten dolayı bir «double»dan çok bir «float»"
+msgstr "%sması prototipten dolayı bir «double»dan çok bir «float»"
-#: c-typeck.c:1714
+#: c-typeck.c:1681
#, c-format
msgid "%s with different width due to prototype"
-msgstr "prototipten dolayı farklı genişlikle %s"
+msgstr "prototipten dolayı farklı genişlikle %sması"
-#: c-typeck.c:1748
+#: c-typeck.c:1715
#, c-format
msgid "%s as unsigned due to prototype"
-msgstr "%s prototipten dolayı unsigned"
+msgstr "%sması prototipten dolayı unsigned"
-#: c-typeck.c:1750
+#: c-typeck.c:1717
#, c-format
msgid "%s as signed due to prototype"
-msgstr "%s prototipten dolayı signed"
+msgstr "%sması prototipten dolayı signed"
-#: c-typeck.c:1784 cp/typeck.c:3241
+#: c-typeck.c:1751 cp/typeck.c:2930
msgid "too few arguments to function"
msgstr "işlev için çok az argüman belirtildi"
-#: c-typeck.c:1826
+#: c-typeck.c:1793
msgid "suggest parentheses around + or - inside shift"
msgstr "shift içindeki + ya da - çevresinde parantezler önerilir"
-#: c-typeck.c:1833
+#: c-typeck.c:1800
msgid "suggest parentheses around && within ||"
msgstr "|| içindeki && çevresinde parantezler önerilir"
-#: c-typeck.c:1842
+#: c-typeck.c:1809
msgid "suggest parentheses around arithmetic in operand of |"
msgstr "| işlemimindeki aritmetik çevresinde parantezler önerilir"
-#: c-typeck.c:1845
+#: c-typeck.c:1812
msgid "suggest parentheses around comparison in operand of |"
msgstr "| işlemimindeki karşılaştırma çevresinde parantezler önerilir"
-#: c-typeck.c:1854
+#: c-typeck.c:1821
msgid "suggest parentheses around arithmetic in operand of ^"
msgstr "^ işlemimindeki aritmetik çevresinde parantezler önerilir"
-#: c-typeck.c:1857
+#: c-typeck.c:1824
msgid "suggest parentheses around comparison in operand of ^"
msgstr "^ işlemimindeki karşılaştırma çevresinde parantezler önerilir"
-#: c-typeck.c:1864
+#: c-typeck.c:1831
msgid "suggest parentheses around + or - in operand of &"
msgstr "& işlemimindeki + veya - çevresinde parantezler önerilir"
-#: c-typeck.c:1867
+#: c-typeck.c:1834
msgid "suggest parentheses around comparison in operand of &"
msgstr "& işlemimindeki karşılaştırma çevresinde parantezler önerilir"
-#: c-typeck.c:1874
+#: c-typeck.c:1841
msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
msgstr "X<=Y<=Z gibi bir karşılaştıma matematiksel olarak anlamlı değil"
-#: c-typeck.c:2034 c-typeck.c:2067
+#: c-typeck.c:2001 c-typeck.c:2036
msgid "division by zero"
msgstr "sıfırla bölme"
-#: c-typeck.c:2112 cp/typeck.c:3502
+#: c-typeck.c:2081 cp/typeck.c:3191
msgid "right shift count is negative"
msgstr "sağa kaydırma sayısı negatif"
-#: c-typeck.c:2119 cp/typeck.c:3508
+#: c-typeck.c:2088 cp/typeck.c:3197
msgid "right shift count >= width of type"
msgstr "sağa kaydırma sayısı türünden büyük yada eşit"
-#: c-typeck.c:2144 cp/typeck.c:3527
+#: c-typeck.c:2109 cp/typeck.c:3216
msgid "left shift count is negative"
msgstr "sola kaydırma sayısı negatif"
-#: c-typeck.c:2147 cp/typeck.c:3529
+#: c-typeck.c:2112 cp/typeck.c:3218
msgid "left shift count >= width of type"
msgstr "sola kaydırma sayısı türünden büyük ya da eşit"
-#: c-typeck.c:2172
+#: c-typeck.c:2133
msgid "shift count is negative"
msgstr "kaydırma sayısı negatif"
-#: c-typeck.c:2174
+#: c-typeck.c:2135
msgid "shift count >= width of type"
msgstr "kaydırma sayısı türünden büyük ya da eşit"
-#: c-typeck.c:2195 cp/typeck.c:3564
+#: c-typeck.c:2152 cp/typeck.c:3253
msgid "comparing floating point with == or != is unsafe"
msgstr "== veya != ile karşılaştırma gerçel sayılarda güvenli değil"
-#: c-typeck.c:2219 c-typeck.c:2225
+#: c-typeck.c:2178 c-typeck.c:2184
msgid "ISO C forbids comparison of `void *' with function pointer"
msgstr "ISO C `void *' ile işlev göstergesi karşılaştırmasına izin vermez"
-#: c-typeck.c:2228 c-typeck.c:2270 c-typeck.c:2298
+#: c-typeck.c:2187 c-typeck.c:2227 c-typeck.c:2255
msgid "comparison of distinct pointer types lacks a cast"
msgstr "belirgin gösterge türlerinin karşılaştırması bir çevirim gerektirir"
-#: c-typeck.c:2243 c-typeck.c:2249 c-typeck.c:2319 c-typeck.c:2325
+#: c-typeck.c:2201 c-typeck.c:2206 c-typeck.c:2275 c-typeck.c:2280
msgid "comparison between pointer and integer"
msgstr "gösterge ile tamsayı arasında karşılaştırma"
-#: c-typeck.c:2265 c-typeck.c:2293
+#: c-typeck.c:2222 c-typeck.c:2250
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr "ISO C işlev göstergelerinin düzenlenmiş karşılaştırmalarına izin vermez"
-#: c-typeck.c:2290
+#: c-typeck.c:2247
msgid "comparison of complete and incomplete pointers"
msgstr "tamamlanmış ve içi boş göstergelerin karşılaştırması"
-#: c-typeck.c:2306 c-typeck.c:2313
+#: c-typeck.c:2263 c-typeck.c:2270
msgid "ordered comparison of pointer with integer zero"
msgstr "tamsayı sıfır ile göstergenin düzenlenmiş karşılaştırması"
-#: c-typeck.c:2339 cp/typeck.c:3697
+#: c-typeck.c:2294 cp/typeck.c:3386
msgid "unordered comparison on non-floating point argument"
msgstr "gerçel sayı olmayan argümanlar arasında düzenlenmemiş karşılaştırma"
-#: c-typeck.c:2543
+#: c-typeck.c:2505
msgid "comparison between signed and unsigned"
msgstr "signed ile unsigned arasında karşılaştırma"
-#: c-typeck.c:2589 cp/typeck.c:3943
+#: c-typeck.c:2551 cp/typeck.c:3630
msgid "comparison of promoted ~unsigned with constant"
msgstr "sabitle yükseltgenmiş ~unsigned karşılaştırması"
-#: c-typeck.c:2597 cp/typeck.c:3951
+#: c-typeck.c:2559 cp/typeck.c:3638
msgid "comparison of promoted ~unsigned with unsigned"
msgstr "unsigned ile ~unsigned'a yükseltgenmiş türlerin karşılaştırması"
-#: c-typeck.c:2656
+#: c-typeck.c:2639
msgid "pointer of type `void *' used in subtraction"
msgstr "çıkartmada `void *' türünde gösterge kullanılmış"
-#: c-typeck.c:2658
+#: c-typeck.c:2641
msgid "pointer to a function used in subtraction"
msgstr "çıkartmada işlev göstergesi kullanılmış"
-#: c-typeck.c:2755
+#: c-typeck.c:2738
msgid "wrong type argument to unary plus"
msgstr "tekil artı işleminde yanlış tür argümanı"
-#: c-typeck.c:2766
+#: c-typeck.c:2751
msgid "wrong type argument to unary minus"
msgstr "tekil eksi işleminde yanlış tür argümanı"
-#: c-typeck.c:2778
+#: c-typeck.c:2768
msgid "ISO C does not support `~' for complex conjugation"
msgstr "ISO C karmaşık sayıların mantıksal çarpımında `~' desteklemez"
-#: c-typeck.c:2784
+#: c-typeck.c:2774
msgid "wrong type argument to bit-complement"
msgstr "bit-tümler için yanlış tür argümanı"
-#: c-typeck.c:2795
+#: c-typeck.c:2783
msgid "wrong type argument to abs"
msgstr "mutlak değer için yanlış tür argümanı"
-#: c-typeck.c:2807
+#: c-typeck.c:2795
msgid "wrong type argument to conjugation"
msgstr "mantıksal çarpım için yanlış tür argümanı"
-#: c-typeck.c:2821
+#: c-typeck.c:2809
msgid "wrong type argument to unary exclamation mark"
msgstr "tekil tümleyen için yanlış tür argümanı"
-#: c-typeck.c:2864
+#: c-typeck.c:2852
msgid "ISO C does not support `++' and `--' on complex types"
msgstr "ISO C karmaşık sayı türlerinde `++' ve `--' desteklemez"
-#: c-typeck.c:2879 c-typeck.c:2911
+#: c-typeck.c:2867 c-typeck.c:2899
msgid "wrong type argument to increment"
msgstr "arttırımda yanlış türde argüman"
-#: c-typeck.c:2881 c-typeck.c:2913
+#: c-typeck.c:2869 c-typeck.c:2901
msgid "wrong type argument to decrement"
msgstr "eksiltmede yanlış türde argüman"
-#: c-typeck.c:2902
+#: c-typeck.c:2890
msgid "increment of pointer to unknown structure"
msgstr "bilinmeyen yapı göstergesinde arttırma"
-#: c-typeck.c:2904
+#: c-typeck.c:2892
msgid "decrement of pointer to unknown structure"
msgstr "bilinmeyen yapı göstergesinde eksiltme"
-#: c-typeck.c:3041
+#: c-typeck.c:3029
msgid "ISO C forbids the address of a cast expression"
msgstr "ISO C çevirim ifadesi adresine izin vermez"
-#: c-typeck.c:3051
+#: c-typeck.c:3039
msgid "invalid lvalue in unary `&'"
-msgstr "tekil `&' için geçersiz sol taraf"
+msgstr "tekil `&' için geçersiz soldeğer"
-#: c-typeck.c:3083
+#: c-typeck.c:3071
#, c-format
msgid "attempt to take address of bit-field structure member `%s'"
msgstr "bit-alanı yapının `%s' üyesinin adresi alınmaya çalışılıyor"
-#: c-typeck.c:3192 c-typeck.c:4618 c-typeck.c:4634 c-typeck.c:4650 final.c:2981 final.c:2983 gcc.c:4462 rtl-error.c:121 tradcif.y:532 tradcpp.c:4134 config/cris/cris.c:515 cp/typeck.c:4650 java/expr.c:386 java/verify.c:1464 java/verify.c:1465 java/verify.c:1480
+#: c-typeck.c:3180 c-typeck.c:4646 c-typeck.c:4662 c-typeck.c:4678
+#: final.c:3146 final.c:3148 gcc.c:4378 rtl-error.c:122 toplev.c:1694
+#: config/cris/cris.c:545 cp/spew.c:1538 cp/typeck.c:4364 java/expr.c:364
+#: java/verify.c:1467 java/verify.c:1468 java/verify.c:1483
#, c-format
msgid "%s"
msgstr "%s"
-#: c-typeck.c:3253
+#: c-typeck.c:3241
msgid "ISO C forbids use of conditional expressions as lvalues"
msgstr "ISO C koşullu ifadelerin sol tarafta kullanımına izin vermez."
-#: c-typeck.c:3256
+#: c-typeck.c:3244
msgid "ISO C forbids use of compound expressions as lvalues"
msgstr "ISO C bileşik ifadelerin sol tarafta kullanımına izin vermez."
-#: c-typeck.c:3259
+#: c-typeck.c:3247
msgid "ISO C forbids use of cast expressions as lvalues"
msgstr "ISO C çevirim ifadelerin sol tarafta kullanımına izin vermez."
-#: c-typeck.c:3276
+#: c-typeck.c:3264
#, c-format
msgid "%s of read-only member `%s'"
msgstr "salt-okunur üye `%2$s' için %1$s"
-#: c-typeck.c:3280
+#: c-typeck.c:3268
#, c-format
msgid "%s of read-only variable `%s'"
msgstr "salt-okunur değişken `%2$s' için %1$s"
-#: c-typeck.c:3283
+#: c-typeck.c:3271
#, c-format
msgid "%s of read-only location"
msgstr "salt-okunur konumun %s"
-#: c-typeck.c:3301
+#: c-typeck.c:3290
#, c-format
msgid "cannot take address of bit-field `%s'"
msgstr "`%s' bit-alanının adresi alınamıyor"
-#: c-typeck.c:3329
+#: c-typeck.c:3318
#, c-format
msgid "global register variable `%s' used in nested function"
msgstr "genel yazmaç değişkeni `%s' yuvalanmış işlevde kullanılmış"
-#: c-typeck.c:3333
+#: c-typeck.c:3322
#, c-format
msgid "register variable `%s' used in nested function"
msgstr "yazmaç değişkeni `%s' yuvalanmış işlevde kullanılmış"
-#: c-typeck.c:3340
+#: c-typeck.c:3329
#, c-format
msgid "address of global register variable `%s' requested"
msgstr "`%s' genel yazmaç değişkeninin adresi istenmiş"
-#: c-typeck.c:3352
+#: c-typeck.c:3341
msgid "cannot put object with volatile field into register"
msgstr "gelgeç alanlı nesne yazmaça konulamaz"
-#: c-typeck.c:3356
+#: c-typeck.c:3345
#, c-format
msgid "address of register variable `%s' requested"
msgstr "`%s' yazmaç değişkeninin adresi istendi"
-#: c-typeck.c:3464
+#: c-typeck.c:3453
msgid "signed and unsigned type in conditional expression"
msgstr "koşullu ifadede signed ve unsigned türler"
-#: c-typeck.c:3471
+#: c-typeck.c:3460
msgid "ISO C forbids conditional expr with only one void side"
msgstr "ISO C tek taraflı void tür içeren koşullu ifadelere izin vermez"
-#: c-typeck.c:3487 c-typeck.c:3494
+#: c-typeck.c:3476 c-typeck.c:3483
msgid "ISO C forbids conditional expr between `void *' and function pointer"
msgstr "ISO C `void *' ve işlev göstergesi arasında koşullu ifadelere izin vermez"
-#: c-typeck.c:3500
+#: c-typeck.c:3489
msgid "pointer type mismatch in conditional expression"
msgstr "koşullu ifade içinde gösterge türü uyumsuzluğu"
-#: c-typeck.c:3507 c-typeck.c:3517
+#: c-typeck.c:3496 c-typeck.c:3506
msgid "pointer/integer type mismatch in conditional expression"
msgstr "koşullu ifadede gösterge/tamsayı tür uyumsuzluğu"
-#: c-typeck.c:3531
+#: c-typeck.c:3520
msgid "type mismatch in conditional expression"
msgstr "şartlı ifade içinde tür uyumsuzluğu"
-#: c-typeck.c:3602 cp/typeck.c:4907
+#: c-typeck.c:3591 cp/typeck.c:4620
msgid "left-hand operand of comma expression has no effect"
msgstr "virgüllü ifadenin sol terimi etkisiz"
-#: c-typeck.c:3641
+#: c-typeck.c:3635
msgid "cast specifies array type"
msgstr "çevirim tür olarak dizi belirtiyor"
-#: c-typeck.c:3647
+#: c-typeck.c:3641
msgid "cast specifies function type"
msgstr "çevirim tür olarak işlev belirtiyor"
-#: c-typeck.c:3657
+#: c-typeck.c:3651
msgid "ISO C forbids casting nonscalar to the same type"
msgstr "ISO C skalar olmayandan aynı türe çevirime izin vermez"
-#: c-typeck.c:3676
+#: c-typeck.c:3670
msgid "ISO C forbids casts to union type"
msgstr "ISO C union türe çevirime izin vermez"
-#: c-typeck.c:3692
+#: c-typeck.c:3685
msgid "cast to union type from type not present in union"
msgstr "union içinde mevcut olmayan türden union türe çevirim"
-#: c-typeck.c:3743
+#: c-typeck.c:3736
msgid "cast adds new qualifiers to function type"
msgstr "çevirim, işlev türüne yeni niteleyiciler ekliyor"
#. There are qualifiers present in IN_OTYPE that are not
#. present in IN_TYPE.
-#: c-typeck.c:3748
+#: c-typeck.c:3741
msgid "cast discards qualifiers from pointer target type"
msgstr "çevirim, gösterge hedef türünden niteleyicileri iptal ediyor"
-#: c-typeck.c:3763
+#: c-typeck.c:3756
msgid "cast increases required alignment of target type"
msgstr "çevirim hedef türün gerekli hizalamasını azaltıyor"
-#: c-typeck.c:3769 cp/typeck.c:5337
+#: c-typeck.c:3762 cp/typeck.c:5050
msgid "cast from pointer to integer of different size"
msgstr "göstergeden farklı tamsayı türlere çevirim"
-#: c-typeck.c:3774
+#: c-typeck.c:3767
msgid "cast does not match function type"
msgstr "çevirim işlev türle uyumsuz"
-#: c-typeck.c:3781 cp/typeck.c:5344
+#: c-typeck.c:3774 cp/typeck.c:5057
msgid "cast to pointer from integer of different size"
msgstr "farklı türdeki tamsayıdan göstergeye çevirim"
+#: c-typeck.c:3786
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr "içi boş türle tür tanımı yapmak adlandırma kurallarının katılığı ile bağdaşmaz"
+
+#: c-typeck.c:3790
+msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+msgstr "türü tanımlanmış göstergenin başvurusuz olması adlandırma kurallarının değişmezliğini bozacak"
+
#. Now we have handled acceptable kinds of LHS that are not truly lvalues.
#. Reject anything strange now.
-#: c-typeck.c:3939
+#: c-typeck.c:3949
msgid "invalid lvalue in assignment"
msgstr "atama içinde sol taraf geçersiz"
#. Convert new value to destination type.
-#: c-typeck.c:3948 c-typeck.c:3973 c-typeck.c:3990 cp/typeck.c:5454 cp/typeck.c:5605
+#: c-typeck.c:3958 c-typeck.c:3983 c-typeck.c:4000 cp/typeck.c:5168
+#: cp/typeck.c:5317
msgid "assignment"
msgstr "atama"
-#: c-typeck.c:4157 c-typeck.c:4224
+#: c-typeck.c:4070
+msgid "cannot pass rvalue to reference parameter"
+msgstr "sağdeğer, başvuru parametresine aktarılamaz"
+
+#: c-typeck.c:4174 c-typeck.c:4241
#, c-format
msgid "%s makes qualified function pointer from unqualified"
-msgstr "%s nitelemeyenden niteleyen işlev göstergesi yapıyor"
+msgstr "%sması nitelemeyenden niteleyen işlev göstergesi yapıyor"
-#: c-typeck.c:4161 c-typeck.c:4204
+#: c-typeck.c:4178 c-typeck.c:4221
#, c-format
msgid "%s discards qualifiers from pointer target type"
-msgstr "%s gösterge hedef türündeki niteleyicileri iptal ediyor"
+msgstr "%sması gösterge hedef türündeki niteleyicileri iptal ediyor"
-#: c-typeck.c:4167
+#: c-typeck.c:4184
msgid "ISO C prohibits argument conversion to union type"
msgstr "ISO C union türe argüman dönüşümünü yasaklar"
-#: c-typeck.c:4196
+#: c-typeck.c:4213
#, c-format
msgid "ISO C forbids %s between function pointer and `void *'"
-msgstr "ISO C de işlev göstergesi ile `void *' arasındaki %s için izin verilmez"
+msgstr "ISO C de işlev göstergesi ile `void *' arasında %smasına izin vermez"
-#: c-typeck.c:4213
+#: c-typeck.c:4230
#, c-format
msgid "pointer targets in %s differ in signedness"
-msgstr "%s gösterge hedefleri farklı signed'lıkta"
+msgstr "gösterge hedefleri %sırken farklı signed'lıkta"
-#: c-typeck.c:4229
+#: c-typeck.c:4246
#, c-format
msgid "%s from incompatible pointer type"
-msgstr "uyumsuz gösterge türünden %s"
+msgstr "uyumsuz gösterge türünden %sması"
-#: c-typeck.c:4245
+#: c-typeck.c:4262
#, c-format
msgid "%s makes pointer from integer without a cast"
-msgstr "%s bir çevirim olmaksızın tamsayıdan gösterge yapıyor"
+msgstr "%sırken bir çevirim olmaksızın tamsayıdan gösterge yapılıyor"
-#: c-typeck.c:4253
+#: c-typeck.c:4270
#, c-format
msgid "%s makes integer from pointer without a cast"
-msgstr "%s bir çevirim olmaksızın göstergeden tamsayı yapıyor"
+msgstr "%s bir çevirim olmaksızın göstergeden tamsayı yapılıyor"
-#: c-typeck.c:4267 c-typeck.c:4270
+#: c-typeck.c:4284 c-typeck.c:4287
#, c-format
msgid "incompatible type for argument %d of `%s'"
msgstr "`%2$s'nın %1$d. argümanı için tür uyumsuz"
-#: c-typeck.c:4274
+#: c-typeck.c:4291
#, c-format
msgid "incompatible type for argument %d of indirect function call"
msgstr "dolaylı işlev çağrısının %d. argümanı için tür uyumsuz"
-#: c-typeck.c:4278
+#: c-typeck.c:4295
#, c-format
msgid "incompatible types in %s"
msgstr "%s içinde uyumsuz türler"
#. Function name is known; supply it.
-#: c-typeck.c:4333
+#: c-typeck.c:4353
+#, c-format
+msgid "passing arg of `%s'"
+msgstr "`%s' argümanı aktarıl"
+
+#. Function name unknown (call through ptr).
+#: c-typeck.c:4363
+msgid "passing arg of pointer to function"
+msgstr "işlev göstergesinin %d. argümanı aktarıl"
+
+#. Function name is known; supply it.
+#: c-typeck.c:4371
#, c-format
msgid "passing arg %d of `%s'"
-msgstr "`%2$s' işlevinin %1$d. argümanı aktarılıyor"
+msgstr "`%2$s' işlevinin %1$d. argümanı aktarıl"
#. Function name unknown (call through ptr); just give arg number.
-#: c-typeck.c:4343
+#: c-typeck.c:4381
#, c-format
msgid "passing arg %d of pointer to function"
-msgstr "işlev göstergesinin %d. argümanı aktarılıyor"
+msgstr "işlev göstergesinin %d. argümanı aktarıl"
-#: c-typeck.c:4410
+#: c-typeck.c:4447
msgid "initializer for static variable is not constant"
msgstr "static değişken için ilklendirici bir sabit değil"
-#: c-typeck.c:4416
+#: c-typeck.c:4453
msgid "initializer for static variable uses complicated arithmetic"
msgstr "static değişken için ilklendirici karmaşık aritmetik kullanıyor"
-#: c-typeck.c:4424
+#: c-typeck.c:4461
msgid "aggregate initializer is not constant"
msgstr "küme ilklendiricisi bir sabit değil"
-#: c-typeck.c:4426
+#: c-typeck.c:4463
msgid "aggregate initializer uses complicated arithmetic"
msgstr "küme ilklendiricisi karmaşık aritmetik kullanıyor"
-#: c-typeck.c:4433
+#: c-typeck.c:4470
msgid "traditional C rejects automatic aggregate initialization"
msgstr "geleneksel C otomatik küme ilklendirmesini reddediyor"
-#: c-typeck.c:4621 c-typeck.c:4637 c-typeck.c:4653
+#: c-typeck.c:4649 c-typeck.c:4665 c-typeck.c:4681
#, c-format
msgid "(near initialization for `%s')"
msgstr "(%s için near ilklendirme)"
-#: c-typeck.c:4705 cp/typeck2.c:513
+#: c-typeck.c:4732 cp/typeck2.c:487
msgid "char-array initialized from wide string"
msgstr "karakter dizisinin ilklendiricisi olarak geniş dizge kullanılmış"
-#: c-typeck.c:4712 cp/typeck2.c:520
+#: c-typeck.c:4739 cp/typeck2.c:494
msgid "int-array initialized from non-wide string"
msgstr "tamsayı dizisinin ilklendiricisi olarak geniş-olmayan dizge kullanılmış"
-#: c-typeck.c:4730 cp/typeck2.c:536
+#: c-typeck.c:4757 cp/typeck2.c:510
msgid "initializer-string for array of chars is too long"
msgstr "karakter dizisi için dizge-ilklendirici çok uzun"
-#: c-typeck.c:4768
+#: c-typeck.c:4795
msgid "array initialized from non-constant array expression"
msgstr "dizinin ilklendiricisi olarak sabit olmayan dizi ifadesi kullanılmış"
-#: c-typeck.c:4785 c-typeck.c:4787 c-typeck.c:4803 c-typeck.c:4824 c-typeck.c:6262
+#: c-typeck.c:4812 c-typeck.c:4814 c-typeck.c:4830 c-typeck.c:4851
+#: c-typeck.c:6252
msgid "initializer element is not constant"
msgstr "ilklendirici öğe bir sabit değil"
-#: c-typeck.c:4819
+#: c-typeck.c:4846
msgid "initialization"
msgstr "ilklendirme"
-#: c-typeck.c:4830 c-typeck.c:6267
+#: c-typeck.c:4857 c-typeck.c:6257
msgid "initializer element is not computable at load time"
msgstr "başlangıç öğesi yükleme sırasında hesaplanabilir değil"
-#: c-typeck.c:4867 c-typeck.c:4883 cp/typeck2.c:613
+#: c-typeck.c:4872 cp/typeck2.c:587
msgid "invalid initializer"
msgstr "geçersiz ilklendirici"
-#: c-typeck.c:5376
+#: c-typeck.c:5366
msgid "extra brace group at end of initializer"
msgstr "ilklendiricinin sonunda fazladan parantezli grup"
-#: c-typeck.c:5396
+#: c-typeck.c:5386
msgid "missing braces around initializer"
msgstr "ilklendiriciyi çevreleyen parantezler yok"
-#: c-typeck.c:5456
+#: c-typeck.c:5446
msgid "braces around scalar initializer"
msgstr "skalar ilklendiriciyi kuÅŸatan parantezler"
-#: c-typeck.c:5504
+#: c-typeck.c:5494
msgid "initialization of flexible array member in a nested context"
msgstr "içiçe bağlam içinde esnek dizi üyesi ilklendirmesi"
-#: c-typeck.c:5506
+#: c-typeck.c:5496
msgid "initialization of a flexible array member"
msgstr "esnek dizi üyesi ilklendirmesi"
-#: c-typeck.c:5537
+#: c-typeck.c:5527
msgid "missing initializer"
msgstr "ilklendirici yok"
-#: c-typeck.c:5563
+#: c-typeck.c:5553
msgid "empty scalar initializer"
msgstr "skalar ilklendirici boÅŸ"
-#: c-typeck.c:5568
+#: c-typeck.c:5558
msgid "extra elements in scalar initializer"
msgstr "skalar ilklendiricide fazladan öğeler"
-#: c-typeck.c:5654
+#: c-typeck.c:5644
msgid "initialization designators may not nest"
msgstr "ilklendirme tasarlayıcılar yuvalanamayabilir"
-#: c-typeck.c:5675 c-typeck.c:5746
+#: c-typeck.c:5665 c-typeck.c:5736
msgid "array index in non-array initializer"
msgstr "dizi-olmayan ilklendiricide dizi indisi"
-#: c-typeck.c:5680 c-typeck.c:5798
+#: c-typeck.c:5670 c-typeck.c:5788
msgid "field name not in record or union initializer"
msgstr "alan ismi kayıt ya da union ilklendiricisinde kullanılmamış"
-#: c-typeck.c:5742 c-typeck.c:5744
+#: c-typeck.c:5732 c-typeck.c:5734
msgid "nonconstant array index in initializer"
msgstr "ilklendiricide sabit-olmayan dizi indeksi"
-#: c-typeck.c:5749
+#: c-typeck.c:5739
msgid "array index in initializer exceeds array bounds"
msgstr "ilklendiricideki dizi indeksi dizi sınırlarının dışında"
-#: c-typeck.c:5760
+#: c-typeck.c:5750
msgid "empty index range in initializer"
msgstr "ilklendiricide indeks aralığı boş"
-#: c-typeck.c:5769
+#: c-typeck.c:5759
msgid "array index range in initializer exceeds array bounds"
msgstr "ilklendiricideki dizi indeksi aralığı dizi sınırlarını aşıyor"
-#: c-typeck.c:5810
+#: c-typeck.c:5800
#, c-format
msgid "unknown field `%s' specified in initializer"
msgstr "ilklendiricide bilinmeyen `%s' alanı belirtilmiş"
-#: c-typeck.c:5847 c-typeck.c:5868 c-typeck.c:6330
+#: c-typeck.c:5837 c-typeck.c:5858 c-typeck.c:6319
msgid "initialized field with side-effects overwritten"
msgstr "yan-etkili ilklendirilmiş alanın üzerine yazıldı"
-#: c-typeck.c:6540
+#: c-typeck.c:6529
msgid "excess elements in char array initializer"
msgstr "karakter dizisi ilklendiricide gereğinden fazla öğe"
-#: c-typeck.c:6547 c-typeck.c:6593
+#: c-typeck.c:6536 c-typeck.c:6582
msgid "excess elements in struct initializer"
msgstr "struct ilklendiricide gereğinden fazla öğe"
-#: c-typeck.c:6608
+#: c-typeck.c:6597
msgid "non-static initialization of a flexible array member"
msgstr "esnek dizi üyesinin satatik olmayan ilklendirmesi"
-#: c-typeck.c:6670
+#: c-typeck.c:6664
msgid "excess elements in union initializer"
msgstr "union ilklendiricide gereğinden fazla öğe"
-#: c-typeck.c:6691
+#: c-typeck.c:6685
msgid "traditional C rejects initialization of unions"
msgstr "geleneksel C union ilklendirmesini reddeder"
-#: c-typeck.c:6754
+#: c-typeck.c:6748
msgid "excess elements in array initializer"
msgstr "dizi ilklendiricide gereğinden fazla öğe"
-#: c-typeck.c:6783
+#: c-typeck.c:6777
msgid "excess elements in vector initializer"
msgstr "vektör ilklendiricide gereğinden fazla öğe"
-#: c-typeck.c:6805
+#: c-typeck.c:6799
msgid "excess elements in scalar initializer"
msgstr "skalar ilklendiricide gereğinden fazla öğe"
-#: c-typeck.c:6916
+#: c-typeck.c:6906
msgid "asm template is not a string constant"
msgstr "asm ÅŸablon bir dizge sabit deÄŸil"
-#: c-typeck.c:6948
+#: c-typeck.c:6938
msgid "invalid lvalue in asm statement"
msgstr "asm deyiminde geçersiz sol taraf"
-#: c-typeck.c:7019
+#: c-typeck.c:7013
msgid "modification by `asm'"
msgstr "`asm' tarafından değişiklik"
-#: c-typeck.c:7038 cp/typeck.c:6453
+#: c-typeck.c:7032 cp/typeck.c:6181
msgid "function declared `noreturn' has a `return' statement"
msgstr "`noreturn' olarak bildirilmiş işlev `return' deyimi içeriyor"
-#: c-typeck.c:7045
+#: c-typeck.c:7039
msgid "`return' with no value, in function returning non-void"
msgstr "void olmayan dönüşlü işlevde `return' deyiminde değer yok"
-#: c-typeck.c:7051
+#: c-typeck.c:7045
msgid "`return' with a value, in function returning void"
msgstr "void dönüşlü işlevde `return' deyimi değer içeriyor"
-#: c-typeck.c:7055
+#: c-typeck.c:7049
msgid "return"
msgstr "dönen"
-#: c-typeck.c:7107
+#: c-typeck.c:7101
msgid "function returns address of local variable"
msgstr "işlev yerel değişkenin adresi ile dönüyor"
-#: c-typeck.c:7163 cp/semantics.c:529
+#: c-typeck.c:7157 cp/semantics.c:555
msgid "switch quantity not an integer"
msgstr "switch büyüklüğü bir tamsayı değil"
-#: c-typeck.c:7173
+#: c-typeck.c:7167
msgid "`long' switch expression not converted to `int' in ISO C"
msgstr "ISO C'de `long' switch ifadesi `int'e dönüştürülmez"
-#: c-typeck.c:7208 cp/decl.c:5232
+#: c-typeck.c:7202 cp/decl.c:5237
msgid "case label not within a switch statement"
msgstr "case etiketi bir switch deyimi içinde değil"
-#: c-typeck.c:7210 cp/decl.c:5237
+#: c-typeck.c:7204 cp/decl.c:5242
msgid "`default' label not within a switch statement"
msgstr "`default' etiketi bir switch deyimi içinde değil"
-#: calls.c:1902
+#: calls.c:1927 tree-inline.c:1176
#, c-format
msgid "inlining failed in call to `%s'"
msgstr "`%s' çağrısında özümleme başarısız"
-#: calls.c:1903 calls.c:2209
+#: calls.c:1928 calls.c:2264 tree-inline.c:1177
msgid "called from here"
msgstr " buradan çağrıldı"
-#: calls.c:2208
+#: calls.c:2263
#, c-format
msgid "can't inline call to `%s'"
msgstr "`%s' çağrısı `inline' olamaz"
-#: calls.c:2238
+#: calls.c:2293
msgid "function call has aggregate value"
msgstr "işlev çağrısı küme değeri içeriyor"
-#: calls.c:4545
-msgid "variable offset is passed partially in stack and in reg"
-msgstr "değişkenin göreli konumu kısmen yığında kısmende yazmaçta aktarılmış"
+#: cfgloop.c:1106
+#, c-format
+msgid "Size of loop %d should be %d, not %d."
+msgstr "%d. döngünün boyutu %d olmalı, %d değil."
+
+#: cfgloop.c:1125
+#, c-format
+msgid "Bb %d do not belong to loop %d."
+msgstr "Bb %d %d. döngünün üyesi değil."
+
+#: cfgloop.c:1143
+#, c-format
+msgid "Loop %d's header does not have exactly 2 entries."
+msgstr "%d. döngünün başlığının 2 girdisi olmalı."
-#: calls.c:4547
-msgid "variable size is passed partially in stack and in reg"
-msgstr "değişken boyutu hem yığın hem de yazmaç içine aktarılmış"
+#: cfgloop.c:1151
+#, c-format
+msgid "Loop %d's latch does not have exactly 1 successor."
+msgstr "%d. döngünün saklayıcısının 1 ardılı olmalı."
+
+#: cfgloop.c:1156
+#, c-format
+msgid "Loop %d's latch does not have header as successor."
+msgstr "%d. döngünün saklayıcısının ardıl olarak başlığı yok."
+
+#: cfgloop.c:1161
+#, c-format
+msgid "Loop %d's latch does not belong directly to it."
+msgstr "%d. döngünün saklayıcısı doğrudan kendisinin üyesi değil."
-#: cfgrtl.c:1624
+#: cfgloop.c:1167
+#, c-format
+msgid "Loop %d's header does not belong directly to it."
+msgstr "%d. döngünün başlığı doğrudan kendisinin üyesi değil."
+
+#: cfgrtl.c:1774
+#, c-format
+msgid "bb %d on wrong place"
+msgstr "bb %d yanlış yerde"
+
+#: cfgrtl.c:1780
+#, c-format
+msgid "prev_bb of %d should be %d, not %d"
+msgstr "%d'nin prev_bb'si %d olmalıydı, %d değil"
+
+#: cfgrtl.c:1800
#, c-format
msgid "end insn %d for block %d not found in the insn stream"
msgstr "%2$d. bloğunun son komutu %1$d komut akışı içinde yok."
-#: cfgrtl.c:1638
+#: cfgrtl.c:1814
#, c-format
msgid "insn %d is in multiple basic blocks (%d and %d)"
msgstr "komut %d birden fazla temel bloğun içinde (%d ve %d)"
-#: cfgrtl.c:1650
+#: cfgrtl.c:1826
#, c-format
msgid "head insn %d for block %d not found in the insn stream"
msgstr "%2$d. bloğun ilk komutu %1$d komut akışı içinde yok."
-#: cfgrtl.c:1669
+#: cfgrtl.c:1848
+#, c-format
+msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+msgstr "verify_flow_info: REG_BR_PROB ile cfg %i %i eÅŸleÅŸmiyor"
+
+#: cfgrtl.c:1855
+#, c-format
+msgid "verify_flow_info: Wrong count of block %i %i"
+msgstr "verify_flow_info: blok %i %i sayısı yanlış"
+
+#: cfgrtl.c:1861
+#, c-format
+msgid "verify_flow_info: Wrong frequency of block %i %i"
+msgstr "verify_flow_info: block %i %i sıklığı yanlış"
+
+#: cfgrtl.c:1869
#, c-format
msgid "verify_flow_info: Duplicate edge %i->%i"
msgstr "verify_flow_info: yinelenmiÅŸ kenar %i->%i"
-#: cfgrtl.c:1688
+#: cfgrtl.c:1875
+#, c-format
+msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+msgstr "verify_flow_info: yinelenmiş kenar %i->%i %i olasılığı yanlış"
+
+#: cfgrtl.c:1881
+#, c-format
+msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+msgstr "verify_flow_info: kenar %i->%i %i sayısı yanlış"
+
+#: cfgrtl.c:1911
#, c-format
msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
msgstr "verify_flow_info: ardcıl %i->%i için blok sayısı yanlış"
-#: cfgrtl.c:1703
+#: cfgrtl.c:1926
#, c-format
msgid "verify_flow_info: Incorrect fallthru %i->%i"
msgstr "verify_flow_info: ardcıl %i->%i yanlış"
-#: cfgrtl.c:1705
+#: cfgrtl.c:1928
msgid "wrong insn in the fallthru edge"
msgstr "ardcıl kenarda yanlış komut"
-#: cfgrtl.c:1712
+#: cfgrtl.c:1935
#, c-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgstr "verify_flow_info: %d. temel bloğun ardıl kenarı bozuk"
-#: cfgrtl.c:1736
+#: cfgrtl.c:1951
+#, c-format
+msgid "Missing REG_EH_REGION note in the end of bb %i"
+msgstr "bb %i'nin sonunda REG_EH_REGION bilgisi eksik"
+
+#: cfgrtl.c:1959
+#, c-format
+msgid "Too many outgoing branch edges from bb %i"
+msgstr "bb %i'den çıkan dal kenarı çok fazla"
+
+#: cfgrtl.c:1964
+#, c-format
+msgid "Fallthru edge after unconditional jump %i"
+msgstr "koşulsuz jump %i den sonra ardcıl kenar"
+
+#: cfgrtl.c:1969
+#, c-format
+msgid "Wrong amount of branch edges after unconditional jump %i"
+msgstr "Koşulsuz jump %i den sonraki dal kenarlarının miktarı yanlış"
+
+#: cfgrtl.c:1975
+#, c-format
+msgid "Wrong amount of branch edges after conditional jump %i"
+msgstr "koşullu jump %i den sonraki dal kenarlarını miktarı yanlış"
+
+#: cfgrtl.c:1980
+#, c-format
+msgid "Call edges for non-call insn in bb %i"
+msgstr "bb %i içindeki çağrı olmayan komut için çağrı kenarları"
+
+#: cfgrtl.c:1989
+#, c-format
+msgid "Abnormal edges for no purpose in bb %i"
+msgstr "bb %i içinde normaldışı amaçsız kenar sayısı "
+
+#: cfgrtl.c:2004
#, c-format
msgid "missing barrier after block %i"
msgstr "%i. bloktan sonraki sınır eksik"
-#: cfgrtl.c:1746
+#: cfgrtl.c:2014
#, c-format
msgid "basic block %d pred edge is corrupted"
msgstr "%d. temel bloğun öncel kenarı bozuk"
-#: cfgrtl.c:1763
+#: cfgrtl.c:2031
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is NULL"
msgstr "komut %d %d. temel bloğun içinde ama block_for_insn NULL"
-#: cfgrtl.c:1767
+#: cfgrtl.c:2035
#, c-format
msgid "insn %d inside basic block %d but block_for_insn is %i"
msgstr "komut %d %d. temel bloğun içinde ama block_for_insn %i"
-#: cfgrtl.c:1781 cfgrtl.c:1791
+#: cfgrtl.c:2049 cfgrtl.c:2059
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
msgstr "NOTE_INSN_BASIC_BLOCK %d. blok için eksik"
-#: cfgrtl.c:1804
+#: cfgrtl.c:2072
#, c-format
msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
msgstr "%d. NOTE_INSN_BASIC_BLOCK %d. temel bloğun ortasında"
-#: cfgrtl.c:1816
+#: cfgrtl.c:2084
#, c-format
msgid "in basic block %d:"
msgstr "%d. temel blok içinde:"
-#: cfgrtl.c:1817
+#: cfgrtl.c:2085
msgid "flow control insn inside a basic block"
msgstr "akış kontrol komutu bir temel bloğun içinde"
-#: cfgrtl.c:1836
+#: cfgrtl.c:2104
#, c-format
msgid "basic block %i edge lists are corrupted"
msgstr "temel blok %i kenar listesi bozuk"
-#: cfgrtl.c:1850
+#: cfgrtl.c:2119
msgid "basic blocks not numbered consecutively"
msgstr "temel bloklar ardışık olarak numaralı değil"
-#: cfgrtl.c:1875
+#: cfgrtl.c:2144
msgid "insn outside basic block"
msgstr "komut temel bloğun dışında"
-#: cfgrtl.c:1883
+#: cfgrtl.c:2152
msgid "return not followed by barrier"
msgstr "return'den sonra sınır gelmiyor"
-#: cfgrtl.c:1888
+#: cfgrtl.c:2157
#, c-format
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr "komut zinciri (%d) içindeki bb notlarının sayısı != n_basic_blocks (%d)"
-#: cfgrtl.c:1892
+#: cfgrtl.c:2161
msgid "verify_flow_info failed"
msgstr "verify_flow_info başarısız"
-#: collect2.c:439
+#: collect2.c:425
msgid "internal error"
msgstr "iç hata"
-#: collect2.c:940
+#: collect2.c:934
msgid "no arguments"
msgstr "argüman yok"
-#: collect2.c:1269 collect2.c:1417 collect2.c:1450
+#: collect2.c:1263 collect2.c:1411 collect2.c:1444
#, c-format
msgid "fopen %s"
msgstr "fopen %s"
-#: collect2.c:1272 collect2.c:1422 collect2.c:1453
+#: collect2.c:1266 collect2.c:1416 collect2.c:1447
#, c-format
msgid "fclose %s"
msgstr "fclose %s"
-#: collect2.c:1281
+#: collect2.c:1275
#, c-format
msgid "collect2 version %s"
msgstr "collect2 %s sürümü"
-#: collect2.c:1371
+#: collect2.c:1365
#, c-format
msgid "%d constructor(s) found\n"
msgstr "%d kurucu bulundu\n"
-#: collect2.c:1372
+#: collect2.c:1366
#, c-format
msgid "%d destructor(s) found\n"
msgstr "%d serbestleÅŸtirici bulundu\n"
-#: collect2.c:1373
+#: collect2.c:1367
#, c-format
msgid "%d frame table(s) found\n"
msgstr "%d çerçeve tablosu bulundu\n"
-#: collect2.c:1514
+#: collect2.c:1508
#, c-format
msgid "%s terminated with signal %d [%s]%s"
msgstr "%s %d sinyali ile sonlandırıldı [%s]%s"
-#: collect2.c:1533
+#: collect2.c:1527
#, c-format
msgid "%s returned %d exit status"
msgstr "%s %d çıkış durumu ile sonuçlandı"
-#: collect2.c:1561
+#: collect2.c:1555
#, c-format
msgid "[cannot find %s]"
msgstr "[%s bulunamıyor]"
-#: collect2.c:1576
+#: collect2.c:1570
#, c-format
msgid "cannot find `%s'"
msgstr "`%s' bulunamıyor"
-#: collect2.c:1587 collect2.c:1590
+#: collect2.c:1581 collect2.c:1584
#, c-format
msgid "redirecting stdout: %s"
msgstr "standart çıktıya yönlendirme: %s"
-#: collect2.c:1633
+#: collect2.c:1627
#, c-format
msgid "[Leaving %s]\n"
msgstr "[%s bırakılıyor]\n"
-#: collect2.c:1876
+#: collect2.c:1870
#, c-format
msgid ""
"\n"
@@ -3491,90 +3785,86 @@ msgstr ""
"\n"
"write_c_file - çıktı ismi %s, önek %s\n"
-#: collect2.c:2089
+#: collect2.c:2083
msgid "cannot find `nm'"
msgstr "`nm' bulunamıyor"
-#: collect2.c:2099 collect2.c:2541
+#: collect2.c:2093 collect2.c:2535
msgid "pipe"
msgstr "veri yolu"
-#: collect2.c:2103 collect2.c:2545
+#: collect2.c:2097 collect2.c:2539
msgid "fdopen"
msgstr "fdopen"
-#: collect2.c:2129 collect2.c:2571
+#: collect2.c:2123 collect2.c:2565
#, c-format
msgid "dup2 %d 1"
msgstr "dup2 %d 1"
-#: 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 "close %d"
-#: collect2.c:2138
+#: collect2.c:2132 collect2.c:2574
#, c-format
-msgid "execvp %s"
-msgstr "execvp %s"
+msgid "execv %s"
+msgstr "execv %s"
-#: collect2.c:2192
+#: collect2.c:2186
#, c-format
msgid "init function found in object %s"
msgstr "init iÅŸlevi %s nesnesinde bulundu"
-#: collect2.c:2200
+#: collect2.c:2194
#, c-format
msgid "fini function found in object %s"
msgstr "fini iÅŸlevi %s nesnesinde bulundu"
-#: collect2.c:2223 collect2.c:2629
+#: collect2.c:2217 collect2.c:2623
msgid "fclose"
msgstr "fclose"
-#: collect2.c:2268
+#: collect2.c:2262
#, c-format
msgid "unable to open file '%s'"
msgstr "'%s' dosyası açılamıyor"
-#: collect2.c:2270
+#: collect2.c:2264
#, c-format
msgid "unable to stat file '%s'"
msgstr "'%s' dosyası durumlanamıyor"
-#: collect2.c:2276
+#: collect2.c:2270
#, c-format
msgid "unable to mmap file '%s'"
msgstr "'%s' dosyası mmap'lenemiyor"
-#: collect2.c:2429
+#: collect2.c:2423
msgid "not found\n"
msgstr "yok\n"
-#: collect2.c:2431 collect2.c:2608
+#: collect2.c:2425 collect2.c:2602
#, c-format
msgid "dynamic dependency %s not found"
msgstr "%s dinamik bağımlılığı yok"
-#: collect2.c:2451
+#: collect2.c:2445
#, c-format
msgid "bad magic number in file '%s'"
msgstr "'%s' dosyasında sihirli sayı hatalı"
-#: collect2.c:2473
+#: collect2.c:2467
msgid "dynamic dependencies.\n"
msgstr "dinamik bağımlılıklar.\n"
-#: collect2.c:2532
+#: collect2.c:2526
msgid "cannot find `ldd'"
msgstr "`ldd' bulunamıyor"
-#: collect2.c:2580
-#, c-format
-msgid "execv %s"
-msgstr "execv %s"
-
-#: collect2.c:2593
+#: collect2.c:2587
msgid ""
"\n"
"ldd output with constructors/destructors.\n"
@@ -3582,36 +3872,36 @@ msgstr ""
"\n"
"kuruculu/yıkıcılı ldd çıktısı.\n"
-#: collect2.c:2620
+#: collect2.c:2614
#, c-format
msgid "unable to open dynamic dependency '%s'"
msgstr "'%s' dinamik bağımlılığı açılamıyor"
-#: collect2.c:2734
+#: collect2.c:2728
#, c-format
msgid "%s: not a COFF file"
msgstr "%s: bir COFF dosyası değil"
-#: collect2.c:2853
+#: collect2.c:2847
#, c-format
msgid "%s: cannot open as COFF file"
msgstr "%s: bir COFF dosyası olarak açılamıyor"
-#: collect2.c:2909
+#: collect2.c:2903
#, c-format
msgid "library lib%s not found"
msgstr "lib%s kitaplığı bulunamadı"
-#: collect2.c:3038
+#: collect2.c:3030
#, c-format
msgid "open %s"
msgstr "open %s"
-#: collect2.c:3061
+#: collect2.c:3053
msgid "incompatibilities between object file & expected values"
msgstr "nesne dosyası ile umulan değerler arasında uyumsuzluklar var"
-#: collect2.c:3134
+#: collect2.c:3126
#, c-format
msgid ""
"\n"
@@ -3620,23 +3910,23 @@ msgstr ""
"\n"
"İşlenen sembol tablosu #%d, göreli konumu = 0x%.8lx, cinsi = %s\n"
-#: collect2.c:3143
+#: collect2.c:3135
msgid "string section missing"
msgstr "dizge bölümü yok"
-#: collect2.c:3146
+#: collect2.c:3138
msgid "section pointer missing"
msgstr "bölüm göstergesi yok"
-#: collect2.c:3194
+#: collect2.c:3186
msgid "no symbol table found"
msgstr "hiç sembol tablosu yok"
-#: collect2.c:3207
+#: collect2.c:3199
msgid "no cmd_strings found"
msgstr "hiç komut-dizgesi yok"
-#: collect2.c:3219
+#: collect2.c:3211
msgid ""
"\n"
"Updating header and load commands.\n"
@@ -3646,12 +3936,12 @@ msgstr ""
"Başlık ve yük komutları güncelleniyor.\n"
"\n"
-#: collect2.c:3226
+#: collect2.c:3218
#, c-format
msgid "load command map, %d cmds, new size %ld.\n"
msgstr "yükleme komutu eşlemi, %d komut, yeni boyut %ld.\n"
-#: collect2.c:3257
+#: collect2.c:3249
msgid ""
"writing load commands.\n"
"\n"
@@ -3659,90 +3949,90 @@ msgstr ""
"yük komutları yazılıyor.\n"
"\n"
-#: collect2.c:3277
+#: collect2.c:3269
#, c-format
msgid "close %s"
msgstr "close %s"
-#: collect2.c:3351
+#: collect2.c:3343
msgid "could not convert 0x%l.8x into a region"
msgstr "0x%l.8x bir bölge içine dönüştürülemedi"
-#: collect2.c:3355
+#: collect2.c:3347
#, c-format
msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
msgstr "%s işlev, %d bölge, offset = %ld (0x%.8lx)\n"
-#: collect2.c:3482
+#: collect2.c:3474
msgid "bad magic number"
msgstr "sihirli sayı hatalı"
-#: collect2.c:3483
+#: collect2.c:3475
msgid "bad header version"
msgstr "başlık sürümü hatalı"
-#: collect2.c:3484
+#: collect2.c:3476
msgid "bad raw header version"
msgstr "temel başlık sürümü hatalı"
-#: collect2.c:3485
+#: collect2.c:3477
msgid "raw header buffer too small"
msgstr "temel başlık tamponu çok küçük"
-#: collect2.c:3486
+#: collect2.c:3478
msgid "old raw header file"
msgstr "eski temel başlık dosyası"
-#: collect2.c:3487
+#: collect2.c:3479
msgid "unsupported version"
msgstr "desteklenmeyen sürüm"
-#: collect2.c:3489
+#: collect2.c:3481
#, c-format
msgid "unknown {de,en}code_mach_o_hdr return value %d"
msgstr "bilinmeyen {de,en}code_mach_o_hdr sonuç değeri %d"
-#: collect2.c:3509
+#: collect2.c:3501
#, c-format
msgid "fstat %s"
msgstr "fstat %s"
-#: collect2.c:3546 collect2.c:3594
+#: collect2.c:3538 collect2.c:3586
#, c-format
msgid "lseek %s 0"
msgstr "lseek %s 0"
-#: collect2.c:3550
+#: collect2.c:3542
#, c-format
msgid "read %s"
msgstr "read %s"
-#: collect2.c:3553
+#: collect2.c:3545
#, c-format
msgid "read %ld bytes, expected %ld, from %s"
msgstr "%3$s'den %2$ld bayt okunması umulurken %1$ld bayt okundu"
-#: collect2.c:3574
+#: collect2.c:3566
#, c-format
msgid "msync %s"
msgstr "msync %s"
-#: collect2.c:3581
+#: collect2.c:3573
#, c-format
msgid "munmap %s"
msgstr "munmap %s"
-#: collect2.c:3598
+#: collect2.c:3590
#, c-format
msgid "write %s"
msgstr "write %s"
-#: collect2.c:3601
+#: collect2.c:3593
#, c-format
msgid "wrote %ld bytes, expected %ld, to %s"
msgstr "%3$s'e %2$ld bayt yazılması umulurken %1$ld bayt yazıldı"
-#: combine.c:12769
+#: combine.c:13185
#, c-format
msgid ""
";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
@@ -3753,7 +4043,7 @@ msgstr ""
";; %d başarı.\n"
"\n"
-#: combine.c:12779
+#: combine.c:13195
#, c-format
msgid ""
"\n"
@@ -3764,1099 +4054,908 @@ msgstr ""
";; Birleştirici toplamları: %d deneme, %d ikame (%d yeni alan gerekir),\n"
";; %d başarılı.\n"
-#: convert.c:67
+#: convert.c:69
msgid "cannot convert to a pointer type"
msgstr "bir gösterge türüne dönüştürülemez"
-#: convert.c:100
+#: convert.c:102
msgid "pointer value used where a floating point value was expected"
msgstr "bir gerçel sayı değer umulurken gösterge değer kullanılmış"
-#: convert.c:104
+#: convert.c:106
msgid "aggregate value used where a float was expected"
msgstr "bir gerçel sayı umulurken küme değeri kullanılmış"
-#: convert.c:130
+#: convert.c:132
msgid "conversion to incomplete type"
msgstr "tamamlanmamış türe dönüşüm"
-#: convert.c:390 convert.c:470
+#: convert.c:414 convert.c:494
msgid "can't convert between vector values of different size"
msgstr "farklı boydaki vektör değerleri arasında dönüşüm yapılamaz"
-#: convert.c:396
+#: convert.c:420
msgid "aggregate value used where an integer was expected"
msgstr "bir tamsayı gerekirken küme değeri kullanılmış"
-#: convert.c:448 f/com.c:1073
+#: convert.c:472 f/com.c:1100
msgid "pointer value used where a complex was expected"
msgstr "karmaşık sayı gereken yerde gösterge değeri kullanılmış"
-#: convert.c:452 f/com.c:1075
+#: convert.c:476 f/com.c:1102
msgid "aggregate value used where a complex was expected"
msgstr "karmaşık sayı gereken yerde küme değeri kullanılmış"
-#: convert.c:476
+#: convert.c:500
msgid "can't convert value to a vector"
msgstr "değer bir vektöre dönüştürülemez"
-#: cpperror.c:125
+#: cpperror.c:113
+msgid "warning: "
+msgstr "uyarı: "
+
+#: cpperror.c:115
msgid "internal error: "
msgstr "iç hata: "
-#: cpperror.c:132 tradcpp.c:4690
-msgid "warning: "
-msgstr "uyarı: "
+#: cpperror.c:189
+msgid "stdout"
+msgstr "stdÇ"
-#: cpperror.c:209 cpperror.c:299 cppfiles.c:691 gcc.c:6307 tradcpp.c:4728
+#: cpperror.c:191 gcc.c:6425
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: cppexp.c:154
-msgid "floating point numbers are not valid in #if"
-msgstr "#if ifadesinde gerçel sayılar geçersiz"
+#: cppexp.c:199
+msgid "too many decimal points in number"
+msgstr "sayı içindeki ondalık nokta sayısı çok fazla"
-#: cppexp.c:176
-msgid "traditional C rejects the `U' suffix"
-msgstr "geleneksel C `U' sonekini reddeder"
+#: cppexp.c:219
+#, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "sekizlik sabit içindeki \"%c\" geçersiz"
-#: cppexp.c:179
-msgid "too many 'l' suffixes in integer constant"
-msgstr "tamsayı sabitteki 'l' soneklerinin sayısı çok fazla"
+#: cppexp.c:225
+msgid "use of C99 hexadecimal floating constant"
+msgstr "C99 onaltılık gerçel sayı sabit kullanımı"
-#: cppexp.c:183
-msgid "integer constant contains digits beyond the radix"
-msgstr "tamsayı sabit tabanı aşan rakamlar içeriyor"
+#: cppexp.c:234
+msgid "exponent has no digits"
+msgstr "üs rakam içermiyor"
-#: cppexp.c:186
-msgid "integer constant out of range"
-msgstr "tamsayı sabit kapsamdışı"
+#: cppexp.c:241
+msgid "hexadecimal floating constants require an exponent"
+msgstr "onaltılık gerçel sabitler bir üs gerektirir"
-#: cppexp.c:192
-msgid "integer constant is so large that it is unsigned"
-msgstr "tamsayı sabit unsigned olarak oldukça büyük"
+#: cppexp.c:247
+#, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "gerçel sabitin \"%.*s\" soneki geçersiz"
-#: cppexp.c:201
+#: cppexp.c:257 cppexp.c:282
#, c-format
-msgid "invalid suffix '%.*s' on integer constant"
-msgstr "tamsayı sabitte sonek '%.*s' geçersiz"
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "geleneksel C \"%.*s\" sonekini kullanmaz"
-#: cppexp.c:234
+#: cppexp.c:268
+#, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "tamsayı sabitte sonek \"%.*s\" soneki geçersiz"
+
+#: cppexp.c:289
+msgid "use of C99 long long integer constant"
+msgstr "ISO C99 long long tamsayı sabitleri yasaklar"
+
+#: cppexp.c:295
+msgid "imaginary constants are a GCC extension"
+msgstr "sanal sabitler bir GCC geniÅŸletmesidir"
+
+#: cppexp.c:383
+msgid "integer constant is too large for its type"
+msgstr "tamsayı sabit, türü için oldukça büyük"
+
+#: cppexp.c:395
+msgid "integer constant is so large that it is unsigned"
+msgstr "tamsayı sabit unsigned olarak oldukça büyük"
+
+#: cppexp.c:482
msgid "missing ')' after \"defined\""
msgstr "\"defined\" dan sonra ')' eksik"
-#: cppexp.c:240
+#: cppexp.c:489
msgid "operator \"defined\" requires an identifier"
-msgstr "\"defined\" işlemimi bir tanımlayıcı gerektirir"
+msgstr "\"defined\" işleci bir tanımlayıcı gerektirir"
-#: cppexp.c:248
+#: cppexp.c:497
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(C++'da \"%s\" \"%s\" için bir alternatif dizgeciktir)"
-#: cppexp.c:259
+#: cppexp.c:507
msgid "this use of \"defined\" may not be portable"
msgstr "\"defined\" bu kullanımıyla uyarlanabilir olmayabilir"
-#: cppexp.c:307
-msgid "string constants are not valid in #if"
-msgstr "#if ifadesinde dizge sabitler geçersiz"
+#: cppexp.c:545
+msgid "floating constant in preprocessor expression"
+msgstr "önişlemci ifadesinde gerçel sayı taşması"
-#: cppexp.c:311
-#, c-format
-msgid "invalid character '%c' in #if"
-msgstr "#if ifadesinde geçersiz karakter '%c'"
-
-#: cppexp.c:313
-#, c-format
-msgid "invalid character '\\%03o' in #if"
-msgstr "#if içinde '\\%03o' karakteri geçersiz"
+#: cppexp.c:551
+msgid "imaginary number in preprocessor expression"
+msgstr "önişlemci ifadesinde sanal sayı"
-#: cppexp.c:330
+#: cppexp.c:596
#, c-format
msgid "ISO C++ does not permit \"%s\" in #if"
msgstr "ISO C++ #if içinde \"%s\" kullanımına izin vermez"
-#: cppexp.c:341
+#: cppexp.c:604
#, c-format
msgid "\"%s\" is not defined"
msgstr "\"%s\" tanımlı değil"
-#: cppexp.c:367
+#: cppexp.c:737 cppexp.c:772
#, c-format
-msgid "\"%s\" is not valid in #if expressions"
-msgstr "#if ifadelerinde \"%s\" geçersizdir"
+msgid "missing binary operator before token \"%s\""
+msgstr "\"%s\" dizgeciğinden önceki iki terimli işleç eksik"
-#: cppexp.c:382
-msgid "integer overflow in preprocessor expression"
-msgstr "önişlemci ifadesinde tamsayı taşması"
+#: cppexp.c:756
+#, c-format
+msgid "invalid character '%c' in #if"
+msgstr "#if ifadesinde geçersiz karakter '%c'"
-#: cppexp.c:612
-msgid "missing binary operator"
-msgstr "iki terimli iÅŸlemimi eksik"
+#: cppexp.c:758
+#, c-format
+msgid "invalid character '\\%03o' in #if"
+msgstr "#if içinde '\\%03o' karakteri geçersiz"
+
+#: cppexp.c:763
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "\"%s\" dizgeciği önişlemci ifadelerinde geçersizdir"
-#: cppexp.c:647
+#: cppexp.c:782
msgid "void expression between '(' and ')'"
msgstr "'(' ve ')' arasında void ifade"
-#: cppexp.c:649
-#, c-format
-msgid "operator '%s' has no right operand"
-msgstr "`%s' işlemiminin sağ tarafı yok"
+#: cppexp.c:785
+msgid "#if with no expression"
+msgstr "#if ifadesiz"
-#: cppexp.c:661
+#: cppexp.c:787
#, c-format
-msgid "impossible operator '%s'"
-msgstr "işlemimi '%s' imkansız"
-
-#: cppexp.c:737 tradcif.y:111 tradcif.y:122
-msgid "division by zero in #if"
-msgstr "#if içinde sıfırla bölme"
+msgid "operator '%s' has no right operand"
+msgstr "`%s' işlecinin sağ tarafı yok"
-#: cppexp.c:771
-msgid "comma operator in operand of #if"
-msgstr "#if'in teriminde virgül"
+#: cppexp.c:813
+msgid " ':' without preceding '?'"
+msgstr "':' den önce '?' yok"
-#: cppexp.c:776
-msgid "syntax error '?' without following ':'"
-msgstr "sözdizimi hatası '?' dan sonra ':' yok"
+#: cppexp.c:840
+msgid "unbalanced stack in #if"
+msgstr "#if ifadesinde karşılıksız yığın"
-#: cppexp.c:779
-msgid "syntax error ':' without preceding '?'"
-msgstr "sözdizimi hatası ':' den önce '?' yok"
+#: cppexp.c:862
+#, c-format
+msgid "impossible operator '%u'"
+msgstr "işleç '%u' imkansız"
-#: cppexp.c:787
+#: cppexp.c:954
msgid "missing ')' in expression"
msgstr "ifadede ')' eksik"
-#: cppexp.c:794
+#: cppexp.c:975
+msgid "'?' without following ':'"
+msgstr "'?' dan sonra ':' yok"
+
+#: cppexp.c:985
+msgid "integer overflow in preprocessor expression"
+msgstr "önişlemci ifadesinde tamsayı taşması"
+
+#: cppexp.c:990
msgid "missing '(' in expression"
msgstr "ifadede '(' eksik"
-#: cppexp.c:820
+#: cppexp.c:1026
#, c-format
-msgid "missing binary operator before '%s'"
-msgstr "`%s' den önce iki terimli işlemimi eksik"
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr "\"%s\"in soldaki terimi yükseltgenirken işaret değiştiriyor"
-#: cppexp.c:826
+#: cppexp.c:1031
#, c-format
-msgid "operator '%s' has no left operand"
-msgstr "`%s' işlemiminin sol tarafı yok"
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr "\"%s\"in sağdaki terimi yükseltgenirken işaret değiştiriyor"
-#: cppexp.c:864
-msgid "unbalanced stack in #if"
-msgstr "#if ifadesinde karşılıksız yığın"
+#: cppexp.c:1414
+msgid "comma operator in operand of #if"
+msgstr "#if'in teriminde virgül"
-#: cppexp.c:867
-msgid "#if with no expression"
-msgstr "#if ifadesiz"
+#: cppexp.c:1551
+msgid "division by zero in #if"
+msgstr "#if içinde sıfırla bölme"
-#: cppfiles.c:395
+#: cppfiles.c:411
#, c-format
msgid "%s is too large"
msgstr "%s çok büyük"
-#: cppfiles.c:426
+#: cppfiles.c:447
#, c-format
msgid "%s is shorter than expected"
msgstr "%s beklenenden daha kısa"
-#: cppfiles.c:440
+#: cppfiles.c:461
#, c-format
msgid "%s is a block device"
msgstr "%s bir blok aygıtıdır"
-#: cppfiles.c:566
+#: cppfiles.c:594
#, c-format
msgid "no include path in which to find %s"
msgstr "%s arama yolunda include dosyaları yok"
-#: cppfiles.c:639
+#: cppfiles.c:668
msgid "Multiple include guards may be useful for:\n"
msgstr "Çoklu include önlemleri aşağıdakiler için kullanışlı olabilir:\n"
-#: cppfiles.c:1029
+#: cppfiles.c:1014
msgid "absolute file name in remap_filename"
msgstr "remap_filename içinde mutlak dosya ismi"
-#: cppinit.c:230
+#: cppinit.c:224
#, c-format
msgid "ignoring nonexistent directory \"%s\"\n"
msgstr " olmayan \"%s\" dizini yoksayılıyor\n"
-#: cppinit.c:237
+#: cppinit.c:231
#, c-format
msgid "%s: Not a directory"
msgstr "%s: Bir dizin deÄŸil"
-#: cppinit.c:284
+#: cppinit.c:287
#, c-format
msgid "ignoring duplicate directory \"%s\"\n"
msgstr "tekrar belirtilen \"%s\" dizini yoksayılıyor\n"
-#: cppinit.c:312
-#, c-format
-msgid "changing search order for system directory \"%s\""
-msgstr "sistem dizini \"%s\" için arama sırası"
+#: cppinit.c:325
+msgid " as it is a non-system directory that duplicates a system directory\n"
+msgstr " tekrarlayan bir sistem dizini olmayan dizin olarak deÄŸiÅŸtiriliyor\n"
-#: cppinit.c:316
+#: cppinit.c:891
+msgid "cppchar_t must be an unsigned type"
+msgstr "cppchar_t bir usigned tür olmalı"
+
+#: cppinit.c:895
#, c-format
-msgid " as it is the same as non-system directory \"%s\""
-msgstr "sistem dizini olmayan \"%s\" dizini ile aynı olacak şekilde değiştiriliyor"
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr "önişlemci aritmetiği %lu bitlik maksimum genişliğe sahip; hedef için %lu bit gerekiyor"
+
+#: cppinit.c:901
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr "CPP aritmetiği en azından bir hedef int kadar genişlikte olmalı "
+
+#: cppinit.c:904
+msgid "target char is less than 8 bits wide"
+msgstr "hedef char 8bitlik genişlikten küçük"
+
+#: cppinit.c:908
+msgid "target wchar_t is narrower than target char"
+msgstr "hedef wchar_t hedef char'dan daha dar"
+
+#: cppinit.c:912
+msgid "target int is narrower than target char"
+msgstr "hedef int hedef char'dan daha dar"
-#: cppinit.c:320
-msgid " as it has already been specified as a non-system directory"
-msgstr "belirtilmş olması gereken bir sistem dizini olmayan dizin olarak değiştiriliyor"
+#: cppinit.c:916
+msgid "CPP half-integer narrower than CPP character"
+msgstr "CPP half-integer'ı CPP character'dan daha dar"
-#: cppinit.c:936
+#: 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 "Bu konaktaki CPP %lu bitten büyük karakter sabitleriyle çalışamaz, hedef ise %lu bit gerektiriyor"
+
+#: cppinit.c:972
msgid "#include \"...\" search starts here:\n"
msgstr "#include \"...\" araması buradan başlıyor:\n"
-#: cppinit.c:940
+#: cppinit.c:976
msgid "#include <...> search starts here:\n"
msgstr "#include <...> araması buradan başlıyor:\n"
-#: cppinit.c:943
+#: cppinit.c:979
msgid "End of search list.\n"
msgstr "Arama listesi sonu.\n"
-#: cppinit.c:1010
+#: cppinit.c:1057
msgid "<built-in>"
msgstr "<yerleÅŸik>"
-#: cppinit.c:1012
+#: cppinit.c:1059
msgid "<command line>"
msgstr "<komut satırı>"
-#: cppinit.c:1108 tradcpp.c:979 tradcpp.c:989 tradcpp.c:1080
-msgid "I/O error on output"
-msgstr "Çıktıda G/Ç hatası"
-
#. 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:1156
-#, c-format
-msgid "argument missing after %s"
-msgstr "%s den sonraki argüman eksik"
-
-#: cppinit.c:1157
+#: cppinit.c:1164
#, c-format
msgid "assertion missing after %s"
msgstr "%s den sonra olumlama eksik"
-#: cppinit.c:1158
+#: cppinit.c:1165
#, c-format
msgid "directory name missing after %s"
msgstr "%s den sonra dizin ismi eksik"
-#: cppinit.c:1159
+#: cppinit.c:1166
#, c-format
msgid "file name missing after %s"
msgstr "%s den sonra dosya ismi eksik"
-#: cppinit.c:1160
+#: cppinit.c:1167
#, c-format
msgid "macro name missing after %s"
msgstr "%s den sonra makro ismi eksik"
-#: cppinit.c:1161
+#: cppinit.c:1168
#, c-format
msgid "path name missing after %s"
msgstr "%s den sonra dosya yolu ismi eksik"
-#: cppinit.c:1162
-#, c-format
-msgid "number missing after %s"
-msgstr "%s den sonra sayı eksik"
-
-#: cppinit.c:1163
-#, c-format
-msgid "target missing after %s"
-msgstr "%s den sonraki hedef eksik"
-
-#: cppinit.c:1351
-#, c-format
-msgid "too many filenames. Type %s --help for usage info"
-msgstr "dosya sayısı çok fazla. Kullanım bilgileri için %s --help yazınız"
-
-#: cppinit.c:1541 tradcpp.c:610
-msgid "output filename specified twice"
-msgstr "çıktı dosyasının ismi iki kere belirtilmiş"
-
-#: cppinit.c:1653
+#: cppinit.c:1353
msgid "-I- specified twice"
msgstr "-I- iki kere belirtilmiÅŸ"
-#: cppinit.c:1794
-#, c-format
-msgid "GNU CPP version %s (cpplib)"
-msgstr "GNU CPP %s sürümü (cpplib)"
-
-#: cppinit.c:1835 tradcpp.c:803
-msgid "you must additionally specify either -M or -MM"
-msgstr "ek olarak ya -M ya da -MM belirtmelisiniz"
-
-#. To keep the lines from getting too long for some compilers, limit
-#. to about 500 characters (6 lines) per chunk.
-#: cppinit.c:1896
-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 ""
-"Seçenekler:\n"
-" -include DOSYA Diğer dosyalardan önce DOSYA içeriği içerilir\n"
-" -imacros DOSYA DOSYAdaki makrolar kabul edilir\n"
-" -iprefix DOSYAYOLU Aşağıdaki iki seçenek için önek olarak DOSYAYOLU\n"
-" -iwithprefix DÄ°ZÄ°N Sistem include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
-" -iwithprefixbefore DÄ°ZÄ°N Ana include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
-" -isystem DİZİN Sistem include dosya yolunun başına DİZİN eklenir\n"
-
-#: cppinit.c:1905
-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 ""
-" -idirafter DÄ°ZÄ°N Sistem include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
-" -I DÄ°ZÄ°N Ana include dosya yolunun sonuna DÄ°ZÄ°N eklenir\n"
-" -I- Ä°nceden inceye include dosya yolu denetimi;\n"
-" Daha fazla bilgi için belgelere bakınız\n"
-" -nostdinc Sistem include dizinleri için arama yapılmaz\n"
-" (-isystem ile belirtilen dizinler kullanılacak)\n"
-" -nostdinc++ C++ için sistem include dizinleri araması yapılmaz\n"
-" -o DOSYA Çıktı DOSYAya yazılır\n"
-
-#: cppinit.c:1914
-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 ""
-" -pedantic ISO C gereksinimlerine bağlı tüm uyarılar verilir\n"
-" -pedantic-errors -pedantic uyarıları hata olarak verilir\n"
-" -trigraphs ISO C üçlü harfleri desteklenir\n"
-" -lang-c Girdi kaynakları C'de değerlendirilir\n"
-" -lang-c89 Girdi kaynakları C89'da değerlendirilir\n"
-
-#: cppinit.c:1921
-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 ""
-" -lang-c++ Girdi kaynakları C++'da değerlendirilir\n"
-" -lang-objc Girdi kaynakları ObjectiveC'de değerlendirilir\n"
-" -lang-objc++ Girdi kaynakları ObjectiveC++'da değerlendirilir\n"
-" -lang-asm Girdi kaynakları çeviricide değerlendirilir\n"
-
-#: cppinit.c:1927
-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 ""
-" -std=<std ismi> Aşağıdaki uyum standartlarından biri belirtilir:\n"
-" gnu89, gnu99, c89, c99, iso9899:1990,\n"
-" iso9899:199409, iso9899:1999\n"
-" -+ C++ tarzı özelliklerin ayrıştırılabilmesini sağlar\n"
-" -w Uyarı iletileri engellenir\n"
-" -Wtrigraphs Üçlü harfler saptandığında uyarı verilir\n"
-" -Wno-trigraphs Üçlü harfler hakkında uyarı verilmez\n"
-" -Wcomment{s} İç içe açıklamalar için uyarı verilir\n"
-
-#: cppinit.c:1937
-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 ""
-" -Wno-comment{s} Açıklamalar hakkında uyarı verilmez\n"
-" -Wtraditional Geleneksel C'de bulunmayan özellikler için uyarır\n"
-" -Wno-traditional Geleneksel C hakkında uyarı verilmez\n"
-" -Wundef undef'li bir makro #if ile atanmışsa uyarır\n"
-" -Wno-undef undef'li makrolar hakkında uyarı verilmez\n"
-" -Wimport #import yönergesi kullanımı hakkında uyarır\n"
-
-#: cppinit.c:1945
-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 ""
-" -Wno-import #import kullanımı hakkıda uyarı verilmez\n"
-" -Werror Tüm uyarılar hata olarak değerlendirilir\n"
-" -Wno-error Uyarılar hata olarak değerlendirilmez\n"
-" -Wsystem-headers Sistem başlık dosyalarından kaynaklanan uyarılar\n"
-" verilir\n"
-" -Wno-system-headers Sistem başlık dosyalarından kaynaklanan uyarılar\n"
-" engellenir\n"
-" -Wall Tüm önişlemci uyarıları verilir\n"
-
-#: cppinit.c:1953
-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 ""
-" -M make bağımlılıkları üretilir\n"
-" -MM sistem başlık dosyaları yoksayılarak -M uygulanır\n"
-" -MD make bağımlılıkları üretilir ve derleme yapılır\n"
-" -MMD sistem başlık dosyaları yoksayılarak -MD uygulanır\n"
-" -MF DOSYA Bağımlılıklar DOSYAya yazılır\n"
-" -MG Eksik başlık dosyası üretilen dosyalar olarak\n"
-" deÄŸerlendirilir\n"
-
-#: cppinit.c:1961
-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 ""
-" -MP Tüm başlık dosyaları için sahte hedefler üretilir\n"
-" -MQ HEDEF Bir MAKE-tırnaklı HEDEF eklenir\n"
-" -MT HEDEF Bir MAKE-tırnaksız HEDEF eklenir\n"
-
-#: cppinit.c:1966
-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 ""
-" -D<makro> Değeri '1' dizgesi olan bir <makro> atanır\n"
-" -D<makro>=<değer> Değeri <değer> olan bir <makro> atanır\n"
-" -A<soru>=<cevap> <soru> ya <cevap> olumlanır\n"
-" -A-<soru>=<cevap> <soru> <cevap> etkisiz kılınır\n"
-" -U<makro> <macro> undef yapılır \n"
-" -v Sürüm numarası gösterilir\n"
-
-#: cppinit.c:1974
-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 ""
-" -H Kullanılan başlık dosyası isimlerini gösterir\n"
-" -C Açıklamalar iptal edilmez\n"
-" -dM Sonuçta etkin olan makro tanımlarını listeler\n"
-" -dD Çıktıda makro tanımlarıda içerilir\n"
-" -dN -dD gibi ancak sadece isimler dışında\n"
-" -dI Çıktıda #include yönergeleri içerilir\n"
-
-#: cppinit.c:1982
-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 ""
-" -fpreprocessed Girdi dosyası önişlenmiş olarak değerlendirilir\n"
-" -ftabstop=SAYI Sütunlu raporlamada sekme uzunluğu\n"
-" -P #line yönergeleri üretilmez\n"
-" -$ Tanımlayıcılarda '$' kullanımı engellenir\n"
-" -remap Dosyalar içerilirken dosya adları yeniden eşlenir\n"
-" --version Sürüm bilgileri gösterilir\n"
-" -h ya da --help Bu yardım iletisi gösterilir\n"
-
-#: cpplex.c:154
+#: cpplex.c:149
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "??%c üçlü harfi %c olarak dönüştürüldü"
-#: cpplex.c:162
+#: cpplex.c:157
#, c-format
msgid "trigraph ??%c ignored"
msgstr "??%c üçlü harfi yoksayıldı"
-#: cpplex.c:218
+#: cpplex.c:214
msgid "backslash and newline separated by space"
msgstr "boşlukla ayrılmış tersbölü ve satırsonu karakterleri"
-#: cpplex.c:224
+#: cpplex.c:221 cpptrad.c:158
msgid "backslash-newline at end of file"
msgstr "dosya sonunda tersbölü ve satırsonu"
-#: cpplex.c:290
+#: cpplex.c:287 cpptrad.c:199
msgid "\"/*\" within comment"
msgstr "açıklama içinde \"/*\" "
-#: cpplex.c:373
+#: cpplex.c:395
msgid "null character(s) ignored"
msgstr "null karakter(ler) yoksayıldı"
-#: cpplex.c:380
+#: cpplex.c:402
#, c-format
msgid "%s in preprocessing directive"
msgstr "önişlemci yönergesi içinde %s"
-#: cpplex.c:447
+#: cpplex.c:475
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "zehirli \"%s\" kullanılmaya çalışılıyor"
-#: cpplex.c:455
+#: cpplex.c:483
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 makrosunun genişleme alanında görünebilir"
-#: cpplex.c:508
-msgid "'$' character(s) in identifier"
-msgstr "tanımlayıcı içinde '$' karakter(ler)i"
+#: cpplex.c:555
+msgid "'$' character(s) in identifier or number"
+msgstr "belirteç ya da sayı içinde '$' karakter(ler)i"
-#: cpplex.c:589
+#: cpplex.c:698
#, c-format
msgid "missing terminating %c character"
msgstr "%c sonlandırma karakteri eksik"
-#: cpplex.c:594
-msgid "possible start of unterminated string literal"
-msgstr "sonlandırılmamış dizge sabitin olası başlangıcı"
-
-#: cpplex.c:689
-msgid "multi-line string literals are deprecated"
-msgstr "çok satırlı dizge sabitlerin modası geçti"
-
-#: cpplex.c:712
+#: cpplex.c:711
msgid "null character(s) preserved in literal"
msgstr "null karakter(ler) sabit içinde saklanmış"
-#: cpplex.c:914
+#: cpplex.c:915 cpptrad.c:487
msgid "no newline at end of file"
msgstr "dosyanın sonunda satırsonu karakteri yok"
-#: cpplex.c:1034 tradcpp.c:1467
+#: cpplex.c:1092 cpptrad.c:213
msgid "unterminated comment"
msgstr "sonlandırılmamış açıklama"
-#: cpplex.c:1045
-msgid "C++ style comments are not allowed in ISO C89"
-msgstr "C++ tarzı açıklamalara ISO C89'da izin verilmez"
+#: cpplex.c:1103
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr "C++ tarzı açıklamalara ISO C90'da izin verilmez"
-#: cpplex.c:1047
+#: cpplex.c:1105
msgid "(this will be reported only once per input file)"
msgstr "(her girdi dosyasında sadece bir kere raporlanacaktır)"
-#: cpplex.c:1052
+#: cpplex.c:1110
msgid "multi-line comment"
msgstr "çok satırlı açıklama"
-#: cpplex.c:1367
+#: cpplex.c:1425
#, c-format
msgid "unknown string token %s\n"
msgstr "dizge dizgeciÄŸi %s bilinmiyor\n"
-#: cpplex.c:1379
+#: cpplex.c:1438
#, c-format
msgid "unspellable token %s"
msgstr "dizgecik %s okunabilir deÄŸil"
-#: cpplex.c:1635
+#: cpplex.c:1695
#, c-format
-msgid "the meaning of '\\%c' varies with -traditional"
-msgstr "`\\%c'nin anlamı -traditional ile değişir"
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr "`\\%c'nin anlamı geleneksel C'de farklıdır"
-#: cpplex.c:1641
+#: cpplex.c:1701
msgid "incomplete universal-character-name"
msgstr "evrensel karakter ismi tamamlanmamış"
-#: cpplex.c:1655
+#: cpplex.c:1715
#, c-format
msgid "non-hex digit '%c' in universal-character-name"
msgstr "evrensel karakter isminde '%c' bir onaltılık rakam değil"
-#: cpplex.c:1663
+#: cpplex.c:1723
msgid "universal-character-name on EBCDIC target"
msgstr "EBCDIC hedefte evrensel karakter ismi"
-#: cpplex.c:1677
+#: cpplex.c:1737
msgid "universal-character-name out of range"
msgstr "evrensel karakter ismi kapsam dışı"
-#: cpplex.c:1722
-msgid "the meaning of '\\a' varies with -traditional"
-msgstr "`\\a'nın anlamı -traditional ile değişir"
+#: cpplex.c:1791
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr "`\\a'nın anlamı geleneksel C'de farklıdır"
-#: cpplex.c:1729
+#: cpplex.c:1798
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO standardı olmayan önceleme dizgesi, '\\%c'"
-#: cpplex.c:1739
-msgid "the meaning of '\\x' varies with -traditional"
-msgstr "'\\x'in anlamı -traditional ile değişir"
+#: cpplex.c:1809
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "'\\x'in anlamı geleneksel C'de farklıdır"
-#: cpplex.c:1758 f/lex.c:620
+#: cpplex.c:1828 f/lex.c:585
msgid "\\x used with no following hex digits"
msgstr "\\x izleyen onaltılık rakamlar olmaksızın kullanılmış"
-#: cpplex.c:1762
+#: cpplex.c:1833
msgid "hex escape sequence out of range"
msgstr "onaltılık önceleme dizgesi kapsamdışı"
-#: cpplex.c:1786
+#: cpplex.c:1858
msgid "octal escape sequence out of range"
msgstr "sekizlik önceleme dizgesi kapsamdışı"
-#: cpplex.c:1801
+#: cpplex.c:1874
#, c-format
msgid "unknown escape sequence '\\%c'"
msgstr "bilinmeyen önceleme dizgesi '\\%c'"
-#: cpplex.c:1803
+#: cpplex.c:1877
#, c-format
msgid "unknown escape sequence: '\\%03o'"
msgstr "bilinmeyen önceleme dizgesi: '\\%03o'"
-#: cpplex.c:1807
-msgid "escape sequence out of range for character"
-msgstr "önceleme dizgesi karakter için kapsam dışı"
+#: cpplex.c:1882
+msgid "escape sequence out of range for its type"
+msgstr "önceleme dizgesi türü için kapsam dışı"
-#: cpplex.c:1904
+#: cpplex.c:1973
msgid "empty character constant"
msgstr "karakter sabit boÅŸ"
-#: cpplex.c:1908
-msgid "character constant too long"
-msgstr "karakter sabit çok uzun"
+#: cpplex.c:1983
+msgid "character constant too long for its type"
+msgstr "karakter sabiti, türü için çok uzun"
-#: cpplex.c:1911
+#: cpplex.c:1986
msgid "multi-character character constant"
msgstr "çoklu-karakter karakter sabiti"
-#: cpplib.c:228
+#: cpplib.c:225
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s yönergesinin sonunda fazladan dizgecikler"
-#: cpplib.c:281
+#: cpplib.c:315
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s bir GCC uzantısıdır"
-#: cpplib.c:292
+#: cpplib.c:327
msgid "suggest not using #elif in traditional C"
msgstr "geleneksel C'de #elif kullanılmıyor varsayılır"
-#: cpplib.c:295
+#: cpplib.c:330
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "geleneksel C'de girintili # ile #%s yoksayılır"
-#: cpplib.c:299
+#: cpplib.c:334
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "geleneksel C'den #%s in saklanması için bir girintili # kullanılmış farzedilir"
-#: cpplib.c:333
+#: cpplib.c:358
+msgid "embedding a directive within macro arguments is not portable"
+msgstr "bir yönergenin makro argümanlarla gömülmesi uyarlanabilir değil"
+
+#: cpplib.c:378
msgid "style of line directive is a GCC extension"
msgstr "satır yönergesinin tarzı bir GCC özelliğidir"
-#: cpplib.c:382
+#: cpplib.c:428
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "önişlem yönergesi #%s geçersiz"
-#: cpplib.c:437
-#, c-format
-msgid "no macro name given in #%s directive"
-msgstr "#%s yönergesinde makro ismi verilmemiş"
+#: cpplib.c:500
+msgid "\"defined\" cannot be used as a macro name"
+msgstr "\"defined\" makro ismi olarak kullanılamaz"
-#: cpplib.c:441
+#: cpplib.c:506
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
-msgstr "\"%s\" C++'da bir işlemimi olduğundan makro ismi olarak kullanılamaz"
+msgstr "\"%s\" C++'da bir işleç olduğundan makro ismi olarak kullanılamaz"
+
+#: cpplib.c:509
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr "#%s yönergesinde makro ismi verilmemiş"
-#: cpplib.c:444
+#: cpplib.c:512
msgid "macro names must be identifiers"
msgstr "makro isimleri tanımlayıcılar olmalı"
-#: cpplib.c:455
-#, c-format
-msgid "\"%s\" cannot be used as a macro name"
-msgstr "\"%s\" bir makro ismi olarak kullanılamaz"
-
-#: cpplib.c:493
+#: cpplib.c:552
#, c-format
msgid "undefining \"%s\""
msgstr "tanımsız yapılan \"%s\""
-#: cpplib.c:536
+#: cpplib.c:598
msgid "missing terminating > character"
msgstr "sonlandıran > karakteri eksik"
-#: cpplib.c:574
+#: cpplib.c:637
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s \"DOSYA\" ya da <DOSYA> gerektirir"
-#: cpplib.c:585
+#: cpplib.c:648
#, c-format
msgid "empty file name in #%s"
msgstr "#%s deyimindeki dosya ismi boÅŸ"
-#: cpplib.c:604
+#: cpplib.c:667
msgid "#include_next in primary source file"
msgstr "birncil kaynak dosyasında #include_next"
-#: cpplib.c:611
+#: cpplib.c:674
msgid "#import is obsolete, use an #ifndef wrapper in the header file"
msgstr "#import artık kullanılmıyor, yerine başlık dosyası içinde #ifndef sarmalaması kullanın"
-#: cpplib.c:619
+#: cpplib.c:682
msgid "#include nested too deeply"
msgstr "#include iç içeliği çok derin"
-#: cpplib.c:677
+#: cpplib.c:739
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "satır yönergesinde geçersiz \"%s\" seçeneği"
-#: cpplib.c:759
+#: cpplib.c:814
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: cpplib.c:765
+#: cpplib.c:820
msgid "line number out of range"
msgstr "satır numarası kapsam dışı"
-#: cpplib.c:776 cpplib.c:847
+#: cpplib.c:831 cpplib.c:902
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" geçerli bir dosya ismi değil"
-#: cpplib.c:811
+#: cpplib.c:866
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: cpplib.c:916
+#: cpplib.c:973
msgid "invalid #ident directive"
msgstr "geçersiz #ident yönergesi"
-#: cpplib.c:1004
+#: cpplib.c:1061
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" hem pragma hem de pragma isim alanı olarak kaydediliyor"
-#: cpplib.c:1007
+#: cpplib.c:1064
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s zaten kayıtlı"
-#: cpplib.c:1009
+#: cpplib.c:1067
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s zaten kayıtlı"
-#: cpplib.c:1084
+#: cpplib.c:1141
msgid "#pragma once is obsolete"
msgstr "#pragma once eskidi"
-#: cpplib.c:1087
+#: cpplib.c:1144
msgid "#pragma once in main file"
msgstr "main dosyasında '#pragma once'"
-#: cpplib.c:1111
+#: cpplib.c:1168
msgid "invalid #pragma GCC poison directive"
msgstr "geçersiz #pragma GCC poison yönergesi"
-#: cpplib.c:1120
+#: cpplib.c:1177
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "zehirlenen mevcut makro \"%s\""
-#: cpplib.c:1140
+#: cpplib.c:1199
msgid "#pragma system_header ignored outside include file"
msgstr "başlık dosyasının dışındaki '#pragma system_header' yoksayıldı"
-#: cpplib.c:1165
+#: cpplib.c:1224
#, c-format
msgid "cannot find source %s"
msgstr "kaynak %s bulunamıyor"
-#: cpplib.c:1169
+#: cpplib.c:1228
#, c-format
msgid "current file is older than %s"
msgstr "mevcut dosya %s den daha eski"
-#: cpplib.c:1244
+#: cpplib.c:1344
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma bir parantezli dizge sabiti alır"
-#: cpplib.c:1343
+#: cpplib.c:1427
msgid "#else without #if"
msgstr "#if siz #else"
-#: cpplib.c:1348 tradcpp.c:3871
+#: cpplib.c:1432
msgid "#else after #else"
msgstr "#else den sonra #else"
-#: cpplib.c:1350 cpplib.c:1384
+#: cpplib.c:1434 cpplib.c:1468
msgid "the conditional began here"
msgstr "koşullu ifade buradan başladı"
-#: cpplib.c:1377
+#: cpplib.c:1461
msgid "#elif without #if"
msgstr "#if siz #elif "
-#: cpplib.c:1382 tradcpp.c:3566
+#: cpplib.c:1466
msgid "#elif after #else"
msgstr "#else den sonra #elif"
-#: cpplib.c:1413
+#: cpplib.c:1497
msgid "#endif without #if"
msgstr "#if siz #endif"
-#: cpplib.c:1496 tradcpp.c:3263
+#: cpplib.c:1580
msgid "missing '(' after predicate"
msgstr "dayanaktan sonra '(' eksik"
-#: cpplib.c:1511 tradcpp.c:3277
+#: cpplib.c:1595
msgid "missing ')' to complete answer"
msgstr "yanıtı tamamlayacak ')' eksik"
-#: cpplib.c:1531 tradcpp.c:3283
+#: cpplib.c:1615
msgid "predicate's answer is empty"
msgstr "dayanakların cevabı boş"
-#: cpplib.c:1561 tradcpp.c:3331
+#: cpplib.c:1645
msgid "assertion without predicate"
msgstr "dayanaksız olumlama"
-#: cpplib.c:1563 tradcpp.c:3333
+#: cpplib.c:1647
msgid "predicate must be an identifier"
msgstr "dayanak bir tanımlayıcı olmalı"
-#: cpplib.c:1645 tradcpp.c:3430
+#: cpplib.c:1736
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" tekrar olumlanmış"
-#: cpplib.c:1875
+#: cpplib.c:1966
#, c-format
msgid "unterminated #%s"
msgstr "sonlandırılmamış #%s"
-#: cppmacro.c:145
+#: cppmacro.c:94
+#, c-format
+msgid "macro \"%s\" is not used"
+msgstr "makro \"%s\" kullanılmamış"
+
+#: cppmacro.c:139 cppmacro.c:294
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "geçersiz yerleşik makro \"%s\""
-#: cppmacro.c:346
+#: cppmacro.c:234
+msgid "could not determine date and time"
+msgstr "tarih ve saat saptanamadı"
+
+#: cppmacro.c:407
msgid "invalid string literal, ignoring final '\\'"
msgstr "geçersiz dizge sabit, son '\\' yoksayılıyor"
-#: cppmacro.c:438
+#: cppmacro.c:504
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "\"%s\" ve \"%s\" geçişi geçerli bir önişlem dizgeciği vermez"
-#: cppmacro.c:564
-msgid "directives may not be used inside a macro argument"
-msgstr "yönergeler bir makro argüman içinde kullanılmayabilir"
-
-#: cppmacro.c:576
-#, c-format
-msgid "unterminated argument list invoking macro \"%s\""
-msgstr "sonlandırılmamış argüman listesi çağıran makro \"%s\""
-
-#: cppmacro.c:593
+#: cppmacro.c:546
msgid "ISO C99 requires rest arguments to be used"
msgstr "ISO C kalan argümanların kullanılmış olmasını gerektirir"
-#: cppmacro.c:598
+#: cppmacro.c:551
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro \"%s\" %u argüman gerektiriyor ama sadece %u argüman verilmiş"
-#: cppmacro.c:609
+#: cppmacro.c:556
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makro \"%s\" için %u argüman verilmiş ama tam %u argüman alıyor"
-#: cppmacro.c:692
+#: cppmacro.c:669 cpptrad.c:774
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "sonlandırılmamış argüman listesi çağıran makro \"%s\""
+
+#: cppmacro.c:776
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "işlev benzeri makro \"%s\" geleneksel C'de argümanlarla kullanılmalıdır"
-#: cppmacro.c:1188
+#: cppmacro.c:1312
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "yinelenmiÅŸ makro parametresi \"%s\""
-#: cppmacro.c:1216
+#: cppmacro.c:1349
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" makro parametre listesinde görünmeyebilir"
-#: cppmacro.c:1223
+#: cppmacro.c:1357
msgid "macro parameters must be comma-separated"
msgstr "makro parametreleri virgüllerle ayrılmış olmalı"
-#: cppmacro.c:1240
+#: cppmacro.c:1374
msgid "parameter name missing"
msgstr "parametre ismi eksik"
-#: cppmacro.c:1254
+#: cppmacro.c:1389
msgid "anonymous variadic macros were introduced in C99"
msgstr "argümanlarının sayısı değişebilen anonim makrolar C99 da tanıtıldı"
-#: cppmacro.c:1257
+#: cppmacro.c:1393
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C argümanlarının sayısı değişebilen isimli makrolara izin vermez"
-#: cppmacro.c:1266
+#: cppmacro.c:1402
msgid "missing ')' in macro parameter list"
msgstr "makro parametre listesinde ')' eksik"
-#: cppmacro.c:1344
+#: cppmacro.c:1470
msgid "ISO C requires whitespace after the macro name"
msgstr "ISO C makro isminden sonra boÅŸluk gerektirir"
-#: cppmacro.c:1374
+#: cppmacro.c:1498
msgid "'#' is not followed by a macro parameter"
msgstr "'#' iÅŸaretinden sonra bir makro parametresi yok"
-#: cppmacro.c:1394
+#: cppmacro.c:1517
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' bir makronun her iki ucunda da görünemez"
-#: cppmacro.c:1430
+#: cppmacro.c:1599
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" yeniden tanımlanmış"
-#: cppmacro.c:1434
+#: cppmacro.c:1604
msgid "this is the location of the previous definition"
msgstr "bu önceki tanımlamanın yeri"
-#: cppmacro.c:1498
+#: cppmacro.c:1655
#, c-format
-msgid "macro argument \"%s\" would be stringified with -traditional"
-msgstr "makro argümanı \"%s\" gelenekel C'de dizgelem olmalıydı"
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr "makro argümanı \"%s\" geleneksel C'de dizgelenmiş olmalıydı"
-#: cppmacro.c:1522
+#: cppmacro.c:1680
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "cpp_macro_definition içindeki isimli yapı türü %d geçersiz"
-#: cppmain.c:121
-#, c-format
-msgid "invalid option %s"
-msgstr "geçersiz %s seçeneği"
-
-#: cppspec.c:131
+#: cppspec.c:109
#, c-format
msgid "\"%s\" is not a valid option to the preprocessor"
msgstr "\"%s\" önişlemci için geçerli bir seçenek değil"
-#: cppspec.c:155
+#: cppspec.c:133
msgid "too many input files"
msgstr "girdi dosyası sayısı çok fazla"
-#: cse.c:7112
-#, c-format
-msgid ";; Processing block from %d to %d, %d sets.\n"
-msgstr ";; %d den %d ye kadar, %d kümelik blok işleniyor.\n"
-
-#: diagnostic.c:784
+#: cpptrad.c:841
#, c-format
-msgid "%s:%d: warning: "
-msgstr "%s:%d: uyarı: "
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "makro \"%s\" genişletilirken iç içelik saptandı"
-#: diagnostic.c:791
+#: cse.c:7187
#, c-format
-msgid "%s: warning: "
-msgstr "%s: uyarı: "
+msgid ";; Processing block from %d to %d, %d sets.\n"
+msgstr ";; %d den %d ye kadar, %d kümelik blok işleniyor.\n"
-#: diagnostic.c:871
+#: diagnostic.c:700
msgid "((anonymous))"
msgstr "((anonim))"
-#: diagnostic.c:941
+#: diagnostic.c:914
#, c-format
msgid "%s: warnings being treated as errors\n"
msgstr "%s: uyarılar hata olarak ele alınıyor\n"
-#: diagnostic.c:978
+#: diagnostic.c:949
#, c-format
msgid "%s: %s: "
msgstr "%s: %s: "
-#: diagnostic.c:1057
-msgid "sorry, not implemented: "
-msgstr "daha kodlanmadı: "
-
-#: diagnostic.c:1076
+#: diagnostic.c:1040
#, c-format
msgid "%s "
msgstr "%s "
-#: diagnostic.c:1078
+#: diagnostic.c:1042
#, c-format
msgid " %s"
msgstr " %s"
-#: diagnostic.c:1102
+#: diagnostic.c:1064
msgid "At top level:"
msgstr "Üst düzeyde:"
-#: diagnostic.c:1107
+#: diagnostic.c:1069
#, c-format
msgid "In member function `%s':"
msgstr "Ãœye iÅŸlev `%s':"
-#: diagnostic.c:1111
+#: diagnostic.c:1073
#, c-format
msgid "In function `%s':"
msgstr "`%s' iÅŸlevinde:"
-#: diagnostic.c:1195
+#: diagnostic.c:1161
msgid "compilation terminated.\n"
msgstr "derleme sonlandırıldı.\n"
-#: diagnostic.c:1227
+#: diagnostic.c:1179
#, c-format
msgid "%s:%d: confused by earlier errors, bailing out\n"
msgstr "%s:%d: önceki hatalar yüzünden bozulmuş, bırakılıyor\n"
-#: diagnostic.c:1242 diagnostic.c:1392
+#: diagnostic.c:1194 diagnostic.c:1302
#, c-format
msgid ""
"Please submit a full bug report,\n"
@@ -4867,23 +4966,23 @@ msgstr ""
"ayrıntılı bir hata raporu gönderin.\n"
"İşlemler için %s adresine bakınız.\n"
-#: diagnostic.c:1390
+#: diagnostic.c:1300
msgid "Internal compiler error: Error reporting routines re-entered.\n"
msgstr "Derleyici iç hatası: Hata raporlama yordamları tekrar girildi.\n"
-#: diagnostic.c:1452
+#: diagnostic.c:1362
#, c-format
-msgid "Internal compiler error in %s, at %s:%d"
-msgstr "%2$s:%3$d. satırındaki %1$s işlevinde derleyici iç hatası"
+msgid "in %s, at %s:%d"
+msgstr "%2$s dosyasının %3$d. satırındaki %1$s işlevinde"
-#: diagnostic.c:1497
+#: diagnostic.c:1383
#, c-format
msgid "In file included from %s:%d"
msgstr ""
"Sırayla bir altındaki dosyada içerilerek:\n"
"\t\t%s:%d"
-#: diagnostic.c:1500
+#: diagnostic.c:1386
#, c-format
msgid ""
",\n"
@@ -4892,52 +4991,61 @@ msgstr ""
",\n"
"\t\t%s:%d"
-#: diagnostic.c:1501
+#: diagnostic.c:1387
msgid ":\n"
msgstr ". satırında:\n"
-#: diagnostic.c:1534 diagnostic.c:1551
+#: diagnostic.c:1431 diagnostic.c:1448
#, c-format
msgid "`%s' is deprecated (declared at %s:%d)"
-msgstr "`%s' yakında kaldırılacak (%s:%d. satırında bildirilmiş)"
+msgstr "`%s' eski kullanım (%s:%d. satırında bildirilmiş)"
-#: diagnostic.c:1554
+#: diagnostic.c:1451
#, c-format
msgid "`%s' is deprecated"
-msgstr "`%s' yakında kaldırılacak"
+msgstr "`%s' eski kullanım"
-#: diagnostic.c:1557
+#: diagnostic.c:1454
#, c-format
msgid "type is deprecated (declared at %s:%d)"
-msgstr "tür yakında kaldırılacak (%s:%d. satırında bildirilmiş)"
+msgstr "tür eski kullanım (%s:%d. satırında bildirilmiş)"
-#: diagnostic.c:1560
+#: diagnostic.c:1457
msgid "type is deprecated"
-msgstr "tür yakında kaldırılacak"
+msgstr "tür eski kullanım"
+
+#: dominance.c:728
+#, c-format
+msgid "dominator of %d should be %d, not %d"
+msgstr "%d nin önceli %d olmalı, %d değil"
-#: dwarf2out.c:3056
+#: dwarf2out.c:3126
#, c-format
msgid "DW_LOC_OP %s not implemented\n"
msgstr "DW_LOC_OP %s daha yazılmadı\n"
-#: dwarfout.c:2089
+#: dwarfout.c:2066
#, c-format
-msgid "internal regno botch: regno = %d\n"
-msgstr "iç yazmaç numarası beceriksizce: regno = %d\n"
+msgid "internal regno botch: `%s' has regno = %d\n"
+msgstr "iç yazmaç numarası beceriksizce: `%s' regno içeriyor = %d\n"
-#: dwarfout.c:6291
+#: dwarfout.c:6181
+msgid "support for the DWARF1 debugging format is deprecated"
+msgstr "DWARF1 hata ayıklama biçemi artık desteklenmeyecek"
+
+#: dwarfout.c:6278
msgid "can't get current directory"
msgstr "çalışılan dizin alınamıyor"
-#: emit-rtl.c:1098
+#: emit-rtl.c:1155
msgid "can't access real part of complex value in hard register"
msgstr "donanım yazmacındaki karmaşık değerin gerçek kısmına erişilemez"
-#: emit-rtl.c:1120
+#: emit-rtl.c:1177
msgid "can't access imaginary part of complex value in hard register"
msgstr "donanım yazmacında karmaşık değerin sanal kısmına erişilemez"
-#: emit-rtl.c:3271
+#: emit-rtl.c:3399
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr "ICE: emit_jump_insn gereken yerde emit_insn kullanılmış:\n"
@@ -4946,93 +5054,100 @@ msgstr "ICE: emit_jump_insn gereken yerde emit_insn kullanılmış:\n"
msgid "abort in %s, at %s:%d"
msgstr "%2$s dosyasının %3$d. satırındaki %1$s işlevinde programdan çıkış"
-#: except.c:382
+#: except.c:375
msgid "exception handling disabled, use -fexceptions to enable"
msgstr "olağandışılık yakalaması iptal edildi, etkinleştirmek için -fexceptions kullanın"
-#: except.c:3235
+#: except.c:3000
msgid "argument of `__builtin_eh_return_regno' must be constant"
msgstr "`__builtin_eh_return_regno' argümanı sabit olmalı"
-#: except.c:3346 except.c:3368
+#: except.c:3121 except.c:3143
msgid "__builtin_eh_return not supported on this target"
msgstr "__builtin_eh_return bu hedefte desteklenmiyor"
-#: explow.c:1369
+#: explow.c:1408
msgid "stack limits not supported on this target"
msgstr "bu hedefte yığın sınırları desteklenmiyor"
-#: expr.c:2948
+#: expr.c:3334
msgid "function using short complex types cannot be inline"
msgstr "short karmaşık türler kullanılan işlevler özümlenemez"
-#: expr.c:5810 expr.c:5819 expr.c:5828 expr.c:5833 expr.c:6120 expr.c:6136
+#: expr.c:6251 expr.c:6260 expr.c:6269 expr.c:6274 expr.c:6583 expr.c:6599
msgid "unsupported wide integer operation"
msgstr "desteklenmeyen uzun tamsayı işlemi"
-#: expr.c:6185
+#: expr.c:6648
#, c-format
msgid "prior parameter's size depends on `%s'"
msgstr "önceki parametrelerin uzunluğu `%s' bağımlı"
-#: expr.c:6531
+#: expr.c:6981
msgid "returned value in block_exit_expr"
msgstr "block_exit_expr'de değer döndü"
-#: final.c:1209
+#. We can't make a bitwise copy of this object, so fail.
+#: expr.c:9172
+msgid "cannot take the address of an unaligned member"
+msgstr "hizalanmamış bir üyenin adresi alınamaz"
+
+#: final.c:1342
msgid "negative insn length"
msgstr "negatif komut uzunluÄŸu"
-#: final.c:2628
+#: final.c:2793
msgid "could not split insn"
msgstr "komut çatallanamadı"
-#: final.c:2976
+#: final.c:3141
msgid "invalid `asm': "
msgstr "geçersiz `asm': "
-#: final.c:3160
+#: final.c:3328
msgid "nested assembly dialect alternatives"
msgstr "iç içe çevirici aksan alternatifleri"
-#: final.c:3177 final.c:3189
+#: final.c:3345 final.c:3357
msgid "unterminated assembly dialect alternative"
msgstr "sonlandırılmamış çevirici aksan alternatifi"
-#: final.c:3233
+#: final.c:3401
#, c-format
msgid "operand number missing after %%-letter"
msgstr "%%-harf'ten sonraki terim numarası eksik"
-#: final.c:3236 final.c:3275
+#: final.c:3404 final.c:3443
msgid "operand number out of range"
msgstr "terim numarası kapsamdışı"
-#: final.c:3294
+#: final.c:3462
#, c-format
msgid "invalid %%-code"
msgstr "%% kodu geçersiz"
-#: final.c:3325
+#: final.c:3493
#, c-format
msgid "`%%l' operand isn't a label"
msgstr "`%%l' terimi bir etiket deÄŸil"
#. We can't handle floating point constants;
#. PRINT_OPERAND must handle them.
-#: final.c:3432 vmsdbgout.c:478 config/i386/i386.c:5315 config/pdp11/pdp11.c:1570
+#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6253
+#: config/pdp11/pdp11.c:1573
msgid "floating constant misused"
msgstr "gerçel sayı sabitler desteklenmiyor"
-#: final.c:3488 vmsdbgout.c:535 config/i386/i386.c:5369 config/pdp11/pdp11.c:1617
+#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6331
+#: config/pdp11/pdp11.c:1620
msgid "invalid expression as operand"
msgstr "veri öğesi olarak ifade geçersiz"
-#: flow.c:354
+#: flow.c:352
msgid "function might be possible candidate for attribute `noreturn'"
msgstr "işlev `noreturn' özniteliği için olası aday olmalı"
-#: flow.c:359
+#: flow.c:357
msgid "`noreturn' function does return"
msgstr "`noreturn' işlev dönüyor"
@@ -5040,82 +5155,86 @@ msgstr "`noreturn' işlev dönüyor"
msgid "control reaches end of non-void function"
msgstr "denetim void olmayan işlevin sonunu aşıyor"
-#: flow.c:1600
+#: flow.c:1639
msgid "Attempt to delete prologue/epilogue insn:"
msgstr "Önsöz/sonsöz komutlarını silmeye çalışır"
-#: fold-const.c:3135 fold-const.c:3148
+#: fold-const.c:2546 fold-const.c:2559
#, c-format
msgid "comparison is always %d due to width of bit-field"
msgstr "karşılaştırma bit alanının genişliğinden dolayı daima %d"
-#: fold-const.c:4190 fold-const.c:4207
+#: fold-const.c:3753 fold-const.c:3770
#, c-format
msgid "comparison is always %d"
msgstr "karşılaştırma sonucu daima %d"
-#: fold-const.c:4338
+#: fold-const.c:3901
msgid "`or' of unmatched not-equal tests is always 1"
msgstr "eÅŸleÅŸmeyenlerin eÅŸitsizlik testlerininin `or' sonucu daima 1 dir"
-#: fold-const.c:4343
+#: fold-const.c:3906
msgid "`and' of mutually exclusive equal-tests is always 0"
msgstr "bağdaşmayanların eşitlik testlerinin `and' sonucu daima 0 dır"
-#: function.c:906 varasm.c:1530
+#: function.c:884 varasm.c:1503
#, c-format
msgid "size of variable `%s' is too large"
msgstr "`%s' değişkeni çok geniş"
-#: function.c:5445
+#: function.c:3770
+msgid "impossible constraint in `asm'"
+msgstr "`asm' içindeki koşul mümkün değil"
+
+#: function.c:5525
#, c-format
msgid "`%s' might be used uninitialized in this function"
msgstr "`%s' bu işlevde ilklendirilmeden kullanılmış olmalı"
-#: function.c:5452
+#: function.c:5532
#, c-format
msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
msgstr "değişken `%s' `longjmp' ya da `vfork' tarafından taşırılmış olmalı"
-#: function.c:5471
+#: function.c:5551
#, c-format
msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
msgstr "argüman `%s' `longjmp' ya da `vfork' tarafından taşırılmış olmalı"
-#: function.c:6337
+#: function.c:6418
msgid "function returns an aggregate"
msgstr "işlev bir küme ile dönüyor"
-#: function.c:6856
+#: function.c:6923
#, c-format
msgid "unused parameter `%s'"
msgstr "parametre `%s' kullanılmamış"
-#: gcc.c:1102
+#: gcc.c:1107
#, c-format
msgid "ambiguous abbreviation %s"
msgstr "belirsiz kısaltma %s"
-#: gcc.c:1129
+#: gcc.c:1134
#, c-format
msgid "incomplete `%s' option"
msgstr "tamamlanmamış `%s' seçeneği"
-#: gcc.c:1140
+#: gcc.c:1145
#, c-format
msgid "missing argument to `%s' option"
msgstr "`%s' seçeneğinin argümanı eksik"
-#: gcc.c:1153
+#: gcc.c:1158
#, c-format
msgid "extraneous argument to `%s' option"
msgstr "`%s' seçeneğinde fazladan argüman"
-#: gcc.c:1460
+#: gcc.c:1486
msgid "Using built-in specs.\n"
msgstr "Yerleşik özellikler kullanılıyor.\n"
-#: gcc.c:1634
+#: gcc.c:1664
#, c-format
msgid ""
"Setting spec %s to '%s'\n"
@@ -5124,37 +5243,42 @@ msgstr ""
"Özelik %s '%s' e ayarlanıyor\n"
"\n"
-#: gcc.c:1732
+#: gcc.c:1771
#, c-format
msgid "Reading specs from %s\n"
msgstr "Özellikler %s'den okunuyor\n"
-#: gcc.c:1830 gcc.c:1849
+#: gcc.c:1869 gcc.c:1888
#, c-format
msgid "specs %%include syntax malformed after %ld characters"
msgstr "specs %%include sözdizimi %ld karakterden sonra bozuk"
-#: gcc.c:1857
+#: gcc.c:1896
#, c-format
msgid "could not find specs file %s\n"
msgstr "özellik dosyası %s bulunamadı\n"
-#: gcc.c:1873 gcc.c:1881 gcc.c:1890 gcc.c:1899
+#: gcc.c:1913 gcc.c:1921 gcc.c:1930 gcc.c:1939
#, c-format
msgid "specs %%rename syntax malformed after %ld characters"
msgstr "specs %%rename sözdizimi %ld karakterden sonra bozuk"
-#: gcc.c:1908
+#: gcc.c:1948
#, c-format
msgid "specs %s spec was not found to be renamed"
msgstr "ismi değişecek specs %s özelliği yok"
-#: gcc.c:1915
+#: gcc.c:1955
+#, c-format
+msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+msgstr "%s: '%s' belirtiminin ismi zaten '%s' belirtiminde kullanılmış"
+
+#: gcc.c:1960
#, c-format
msgid "rename spec %s to %s\n"
msgstr "spec %s ismi %s yapılıyor\n"
-#: gcc.c:1917
+#: gcc.c:1962
#, c-format
msgid ""
"spec is '%s'\n"
@@ -5163,25 +5287,25 @@ msgstr ""
"özellik '%s'\n"
"\n"
-#: gcc.c:1930
+#: gcc.c:1975
#, c-format
msgid "specs unknown %% command after %ld characters"
msgstr "%ld. karakterden sonra bilinmeyen specs %% komutu"
-#: gcc.c:1941 gcc.c:1954
+#: gcc.c:1986 gcc.c:1999
#, c-format
msgid "specs file malformed after %ld characters"
msgstr "%ld. karakterden sonra özellikler dosyası bozuk"
-#: gcc.c:2008
+#: gcc.c:2053
msgid "spec file has no spec for linking"
msgstr "özellik dosyası birleştirilecek özellik içermiyor"
-#: gcc.c:2720
+#: gcc.c:2551
msgid "-pipe not supported"
msgstr "-pipe desteklenmiyor"
-#: gcc.c:2774
+#: gcc.c:2606
msgid ""
"\n"
"Go ahead? (y or n) "
@@ -5189,7 +5313,7 @@ msgstr ""
"\n"
"Haydi!? (e / h) "
-#: gcc.c:2873
+#: gcc.c:2732
#, c-format
msgid ""
"Internal error: %s (program %s)\n"
@@ -5200,69 +5324,69 @@ msgstr ""
"Lütfen ayrıntılı bir hata raporu hazırlayın.\n"
"İşlemler için %s adresine bakın."
-#: gcc.c:2891
+#: gcc.c:2750
#, c-format
msgid "# %s %.2f %.2f\n"
msgstr "# %s %.2f %.2f\n"
-#: gcc.c:3024
+#: gcc.c:2880
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "Kullanımı: %s [seçenekler] DOSYA...\n"
-#: gcc.c:3025
+#: gcc.c:2881
msgid "Options:\n"
msgstr "Seçenekler:\n"
-#: gcc.c:3027
+#: gcc.c:2883
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
msgstr " -pass-exit-codes Bir safhada en yüksek hata kodu ile çıkar\n"
-#: gcc.c:3028
+#: gcc.c:2884
msgid " --help Display this information\n"
msgstr " --help Bu yardım iletisini gösterir\n"
-#: gcc.c:3029
+#: gcc.c:2885
msgid " --target-help Display target specific command line options\n"
msgstr " --target-help Hedefe özel komut satırı seçeneklerini gösterir\n"
-#: gcc.c:3031
+#: gcc.c:2887
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
msgstr " (Ast süreçlerin komut satırı seçenekleri için '-v --help' kullanın)\n"
-#: gcc.c:3032
+#: gcc.c:2888
msgid " -dumpspecs Display all of the built in spec strings\n"
msgstr " -dumpspecs Bütün yerleşik spec dizgelerini gösterir\n"
-#: gcc.c:3033
+#: gcc.c:2889
msgid " -dumpversion Display the version of the compiler\n"
msgstr " -dumpversion Derleyicinin sürümünü gösterir\n"
-#: gcc.c:3034
+#: gcc.c:2890
msgid " -dumpmachine Display the compiler's target processor\n"
msgstr " -dumpmachine Derleyicilerin hedef işlemcisini gösterir\n"
-#: gcc.c:3035
+#: gcc.c:2891
msgid " -print-search-dirs Display the directories in the compiler's search path\n"
msgstr " -print-search-dirs Derleyicinin arama yolundaki dizinlerini gösterir\n"
-#: gcc.c:3036
+#: gcc.c:2892
msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
msgstr " -print-libgcc-file-name Derleyiciyle eşleşen kitaplığın ismini gösterir\n"
-#: gcc.c:3037
+#: gcc.c:2893
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
msgstr " -print-file-name=<lib> <lib> kitaplığının tam dosya yolunu gösterir\n"
-#: gcc.c:3038
+#: gcc.c:2894
msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
msgstr " -print-prog-name=<prog> Derleyici elemanı <prog>un tam dosya yolunu gösterir\n"
-#: gcc.c:3039
+#: gcc.c:2895
msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
msgstr " -print-multi-directory libgcc sürümünün kök dizinini gösterir\n"
-#: gcc.c:3040
+#: gcc.c:2896
msgid ""
" -print-multi-lib Display the mapping between command line options and\n"
" multiple library search directories\n"
@@ -5270,93 +5394,99 @@ msgstr ""
" -print-multi-lib Komut satırı seçenekleri ile kitaplık arama dizinleri\n"
" arasındaki eşleşmeleri gösterir\n"
-#: gcc.c:3043
+#: gcc.c:2899
+msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+msgstr " -print-multi-os-directory İS kitaplıklarının göreli dosya yolunu gösterir\n"
+
+#: gcc.c:2900
msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
-msgstr " -Wa,<seçenekler> Virgül ayraçlı <seçenekler> listesini çeviriciye gönderir\n"
+msgstr ""
+" -Wa,<seçenekler> Virgül ayraçlı <seçenekler> listesini çeviriciye\n"
+" gönderir\n"
-#: gcc.c:3044
+#: gcc.c:2901
msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
msgstr " -Wp,<seçenekler> Virgül ayraçlı <seçenekler> listesini önişlemciye gönderir\n"
-#: gcc.c:3045
+#: gcc.c:2902
msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
msgstr " -Wl,<seçenekler> Virgül ayraçlı <seçenekler>i bağlayıcıya gönderir\n"
-#: gcc.c:3046
+#: gcc.c:2903
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
msgstr " -Xlinker <arg> Bağlayıcıya <arg>ümanı gönderir\n"
-#: gcc.c:3047
+#: gcc.c:2904
msgid " -save-temps Do not delete intermediate files\n"
msgstr " -save-temps Aracı dosyaları silmez\n"
-#: gcc.c:3048
+#: gcc.c:2905
msgid " -pipe Use pipes rather than intermediate files\n"
msgstr " -pipe Aracı dosyalardan ziyade veri yolları kullanılır\n"
-#: gcc.c:3049
+#: gcc.c:2906
msgid " -time Time the execution of each subprocess\n"
msgstr " -time Alt işlemlerin çalıştırılma zamanlaması\n"
-#: gcc.c:3050
+#: gcc.c:2907
msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
msgstr " -specs=<dosya> Yerleşik özellikler yerine <dosya>dakilere zorlar\n"
-#: gcc.c:3051
+#: gcc.c:2908
msgid " -std=<standard> Assume that the input sources are for <standard>\n"
msgstr ""
" -std=<standart> Girdi kaynaklarının bu <standart>da olduğu\n"
" varsayılır\n"
-#: gcc.c:3052
+#: gcc.c:2909
msgid " -B <directory> Add <directory> to the compiler's search paths\n"
msgstr " -B <dizin> Derleyicilerin arama dosya yoluna <dizin>i ekler\n"
-#: gcc.c:3053
+#: gcc.c:2910
msgid " -b <machine> Run gcc for target <machine>, if installed\n"
msgstr " -b <makina> gcc kurulmuşsa hedef <makina> için çalıştırılır\n"
-#: gcc.c:3054
+#: gcc.c:2911
msgid " -V <version> Run gcc version number <version>, if installed\n"
msgstr " -V <sürüm> gcc'nin kurulmuşsa <sürüm> sürümü çalıştırılır\n"
-#: gcc.c:3055
+#: gcc.c:2912
msgid " -v Display the programs invoked by the compiler\n"
msgstr " -v Derleyicinin çalıştırdığı programları gösterir\n"
-#: gcc.c:3056
+#: gcc.c:2913
msgid " -### Like -v but options quoted and commands not executed\n"
msgstr " -### -v gibi ama tırnaklı ve virgüllü seçenekler kullanılmaz\n"
-#: gcc.c:3057
+#: gcc.c:2914
msgid " -E Preprocess only; do not compile, assemble or link\n"
msgstr " -E Sadece önişlem; derleme, çeviri ve ilintileme yapılmaz\n"
-#: gcc.c:3058
+#: gcc.c:2915
msgid " -S Compile only; do not assemble or link\n"
msgstr " -S Sadece derleme; çevirme ve bağlama yapılmaz\n"
-#: gcc.c:3059
+#: gcc.c:2916
msgid " -c Compile and assemble, but do not link\n"
msgstr " -c Derler ve çevirir ancak bağlamaz\n"
-#: gcc.c:3060
+#: gcc.c:2917
msgid " -o <file> Place the output into <file>\n"
msgstr " -o DOSYA Çıktıyı DOSYAya yazar\n"
-#: gcc.c:3061
+#: gcc.c:2918
msgid ""
" -x <language> Specify the language of the following input files\n"
-" Permissable languages include: c c++ assembler none\n"
+" Permissible languages include: c c++ assembler none\n"
" 'none' means revert to the default behavior of\n"
" guessing the language based on the file's extension\n"
msgstr ""
" -x <dil> Aşağıdaki girdi dosyası dilleri belirtilebilir:\n"
" c c++ assembler none\n"
-" 'none' ile dilin girdi dosyasının uzantısından saptanacağı\n"
-" öntanımlı durum belirtilmiş olur\n"
+" 'none' dilin girdi dosyasının uzantısından\n"
+" saptanacağı öntanımlı durum belirtilmiş olur\n"
-#: gcc.c:3068
+#: gcc.c:2925
#, c-format
msgid ""
"\n"
@@ -5372,17 +5502,27 @@ msgstr ""
"Çeviri hatalarını <gnu-tr-u12a@lists.sourceforge.net> adresine bildiriniz.\n"
"\n"
+#: gcc.c:3060
+#, c-format
+msgid "`-%c' option must have argument"
+msgstr "`-%c' seçeneğinde argüman eksik"
+
+#: gcc.c:3082
+#, c-format
+msgid "couldn't run `%s': %s"
+msgstr "`%s' çalıştırılamadı: %s"
+
#. translate_options () has turned --version into -fversion.
-#: gcc.c:3348
+#: gcc.c:3259
#, c-format
msgid "%s (GCC) %s\n"
msgstr "%s (GCC) %s\n"
-#: gcc.c:3349
-msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
-msgstr "Telif Hakkı (C) 2002 Free Software Foundation, Inc.\n"
+#: gcc.c:3260
+msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+msgstr "Telif Hakkı © 2003 Free Software Foundation, Inc.\n"
-#: gcc.c:3351 gcov.c:320
+#: gcc.c:3262 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"
@@ -5392,69 +5532,62 @@ msgstr ""
"Hiçbir garantisi yoktur; hatta SATILABİLİRLİĞİ veya ŞAHSİ KULLANIMINIZA\n"
"UYGUNLUĞU için bile garanti verilmez.\n"
-#: gcc.c:3450
+#: gcc.c:3363
msgid "argument to `-Xlinker' is missing"
msgstr "`-Xlinker' için argüman belirtilmemiş"
-#: gcc.c:3458
+#: gcc.c:3371
msgid "argument to `-l' is missing"
msgstr "`-l' için argüman belirtilmemiş"
-#: gcc.c:3475
+#: gcc.c:3388
msgid "argument to `-specs' is missing"
msgstr "`-specs' için argüman belirtilmemiş"
-#: gcc.c:3490
+#: gcc.c:3403
msgid "argument to `-specs=' is missing"
msgstr "`-specs=' için argüman belirtilmemiş"
-#: gcc.c:3521
-msgid "argument to `-b' is missing"
-msgstr "`-b' için argüman belirtilmemiş"
+#: gcc.c:3433
+#, c-format
+msgid "`-%c' must come at the start of the command line"
+msgstr "`-%c' komut satırının başında olmalı"
-#: gcc.c:3536
+#: gcc.c:3442
msgid "argument to `-B' is missing"
msgstr "`-B' için argüman belirtilmemiş"
-#: gcc.c:3606
-msgid "argument to `-V' is missing"
-msgstr "`-V' için argüman belirtilmemiş"
-
-#: gcc.c:3627 gcc.c:3634 gcc.c:3641
-msgid "invalid version number format"
-msgstr "sürüm numarası biçemi geçersiz"
-
-#: gcc.c:3752
+#: gcc.c:3615
msgid "cannot specify -o with -c or -S and multiple compilations"
msgstr "-o çoklu derlemeler, -c ya da -S ile kullanılamaz"
-#: gcc.c:3923
+#: gcc.c:3788
msgid "warning: -pipe ignored because -save-temps specified"
msgstr "Uyarı: -save-temps belirtildiğinden -pipe yoksayıldı"
-#: gcc.c:3927
+#: gcc.c:3792
msgid "warning: -pipe ignored because -time specified"
msgstr "Uyarı: -time belirtildiğinden -pipe yoksayıldı"
-#: gcc.c:3939
+#: gcc.c:3804
msgid "argument to `-x' is missing"
msgstr "`-x' için argüman belirtilmemiş"
-#: gcc.c:3967
+#: gcc.c:3832
#, c-format
msgid "argument to `-%s' is missing"
msgstr "`-%s' için argüman belirtilmemiş"
-#: gcc.c:4028
+#: gcc.c:3893
#, c-format
msgid "warning: `-x %s' after last input file has no effect"
msgstr "Uyarı: son girdi dosyasından sonraki `-x %s' etkisiz"
-#: gcc.c:4327
+#: gcc.c:4238
msgid "invalid specification! Bug in cc"
msgstr "özellik geçersiz! cc'de yazılım hatası."
-#: gcc.c:4476
+#: gcc.c:4392
#, c-format
msgid "%s\n"
msgstr "%s\n"
@@ -5462,51 +5595,74 @@ msgstr "%s\n"
#. 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:5029
+#: gcc.c:4952
#, c-format
msgid "spec failure: '%%*' has not been initialized by pattern match"
msgstr "özellik aksaması: '%%*' kalıp eşleştirerek ilklendirilemedi"
-#: gcc.c:5038
+#: gcc.c:4961
#, c-format
msgid "warning: use of obsolete %%[ operator in specs"
-msgstr "Uyarı: spec'lerde %%[ işlemimi artık kullanılmıyor"
+msgstr "Uyarı: spec'lerde %%[ işleci artık kullanılmıyor"
-#: gcc.c:5056
+#: gcc.c:4979
#, c-format
msgid "Processing spec %c%s%c, which is '%s'\n"
msgstr "'%4$s' %1$c%2$s%3$c özelliği işleniyor\n"
-#: gcc.c:5181
+#: gcc.c:5104
#, c-format
msgid "spec failure: unrecognized spec option '%c'"
msgstr "Özellik aksaması: özellik seçeneği '%c' anlaşılamadı"
-#: gcc.c:5291
+#: gcc.c:5185
+#, c-format
+msgid "unknown spec function `%s'"
+msgstr "bilinmeyen `%s' spec iÅŸlevi"
+
+#: gcc.c:5204
+#, c-format
+msgid "error in args to spec function `%s'"
+msgstr "`%s' spec işlevi için argümanlar hatalı"
+
+#: gcc.c:5253
+msgid "malformed spec function name"
+msgstr "bozuk spec iÅŸlevi ismi"
+
+#. )
+#: gcc.c:5256
+msgid "no arguments for spec function"
+msgstr "spec işlevi için argüman belirtilmedi"
+
+#: gcc.c:5275
+msgid "malformed spec function arguments"
+msgstr "belirtim işlevi argümanları bozuk"
+
+#: gcc.c:5383
msgid "mismatched braces in specs"
msgstr "özellikler içinde eşleşmeyen parantezler"
-#: gcc.c:5969
+#: gcc.c:6078
#, c-format
msgid "unrecognized option `-%s'"
msgstr "`-%s' seçeneği bilinmiyor"
-#: gcc.c:5975
+#: gcc.c:6084
#, c-format
msgid "install: %s%s\n"
msgstr "kurulum: %s%s\n"
-#: gcc.c:5976
+#: gcc.c:6085
#, c-format
msgid "programs: %s\n"
msgstr "programlar: %s\n"
-#: gcc.c:5977
+#: gcc.c:6086
#, c-format
msgid "libraries: %s\n"
msgstr "kitaplıklar: %s\n"
-#: gcc.c:6025
+#: gcc.c:6143
msgid ""
"\n"
"For bug reporting instructions, please see:\n"
@@ -5514,56 +5670,56 @@ msgstr ""
"\n"
"Hata raporlama işlemleri için:\n"
-#: gcc.c:6041
+#: gcc.c:6159
#, c-format
msgid "Configured with: %s\n"
msgstr ""
"%s\n"
"seçenekleriyle yapılandırıldı.\n"
-#: gcc.c:6055
+#: gcc.c:6173
#, c-format
msgid "Thread model: %s\n"
msgstr "Kanallama modeli: %s\n"
-#: gcc.c:6066
+#: gcc.c:6184
#, c-format
msgid "gcc version %s\n"
msgstr "gcc %s sürümü\n"
-#: gcc.c:6068
+#: gcc.c:6186
#, c-format
msgid "gcc driver version %s executing gcc version %s\n"
msgstr "gcc sürücüsü %s sürümü gcc %s sürümünü çalıştırıyor\n"
-#: gcc.c:6076
+#: gcc.c:6194
msgid "no input files"
msgstr "girdi dosyası yok"
-#: gcc.c:6114
+#: gcc.c:6232
#, c-format
msgid "%s: %s compiler not installed on this system"
msgstr "%s: %s derleyici bu sitemde kurulu deÄŸil"
-#: gcc.c:6189
+#: gcc.c:6307
#, c-format
msgid "%s: linker input file unused because linking not done"
msgstr "%s: birleştirme yapılmadığından birleştirici girdi dosyası kullanılmadı"
-#: gcc.c:6232
+#: gcc.c:6350
#, c-format
msgid "language %s not recognized"
msgstr "dil %s tanınmıyor"
-#: gcc.c:6335
+#: gcc.c:6453
msgid "internal gcc abort"
msgstr "dahili gcc çıkışı"
-#: gcov.c:282
+#: gcov.c:325
msgid "Internal gcov abort.\n"
msgstr "Dahili gcov çıkışı.\n"
-#: gcov.c:295
+#: gcov.c:338
msgid ""
"Usage: gcov [OPTION]... SOURCEFILE\n"
"\n"
@@ -5571,7 +5727,7 @@ msgstr ""
"Kullanımı: gcov [SEÇENEK]... KAYNAKDOSYASI\n"
"\n"
-#: gcov.c:296
+#: gcov.c:339
msgid ""
"Print code coverage information.\n"
"\n"
@@ -5579,29 +5735,29 @@ msgstr ""
"Kodu çevreleyen bilgileri gösterir\n"
"\n"
-#: gcov.c:297
+#: gcov.c:340
msgid " -h, --help Print this help, then exit\n"
msgstr " -h, --help Bu yardım iletisini gösterir ve çıkar\n"
-#: gcov.c:298
+#: gcov.c:341
msgid " -v, --version Print version number, then exit\n"
msgstr " -v, --version Sürüm bilgilerini gösterir ve çıkar\n"
-#: gcov.c:299
+#: gcov.c:342
msgid " -b, --branch-probabilities Include branch probabilities in output\n"
msgstr " -b, --branch-probabilities Çıktıda dallanma olasılıkları da içerilir\n"
-#: gcov.c:300
+#: gcov.c:343
msgid ""
" -c, --branch-counts Given counts of branches taken\n"
" rather than percentages\n"
msgstr " -c, --branch-counts Yüzde yerine dallanma sayısı alınır\n"
-#: gcov.c:302
+#: gcov.c:345
msgid " -n, --no-output Do not create an output file\n"
msgstr " -n, --no-output Bir çıktı dosyası üretilmez\n"
-#: gcov.c:303
+#: gcov.c:346
msgid ""
" -l, --long-file-names Use long output file names for included\n"
" source files\n"
@@ -5609,15 +5765,21 @@ msgstr ""
" -l, --long-file-names İçerilen kaynak dosyaları için uzun çıktı dosyası\n"
" isimleri kullanılır\n"
-#: gcov.c:305
+#: gcov.c:348
msgid " -f, --function-summaries Output summaries for each function\n"
msgstr " -f, --function-summaries Her işlev için özet çıktılar\n"
-#: gcov.c:306
-msgid " -o, --object-directory OBJDIR Search for object files in OBJDIR\n"
-msgstr " -o, --object-directory DİZİN Nesne dosyaları DİZİNde aranır\n"
+#: gcov.c:349
+msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+msgstr ""
+" -o, --object-directory DZN|DSY Nesne dosyaları DZN içinde ya da DSY\n"
+" dosyasında belirtilen yerlerde aranır\n"
-#: gcov.c:307
+#: gcov.c:350
+msgid " -p, --preserve-paths Preserve all pathname components\n"
+msgstr " -p, --preserve-paths Tüm dosya yolu elemanları saklanır\n"
+
+#: gcov.c:351
#, c-format
msgid ""
"\n"
@@ -5628,265 +5790,465 @@ msgstr ""
"Hata raporlama işlemleri için:\n"
"%s.\n"
-#: gcov.c:317
+#: gcov.c:361
#, c-format
msgid "gcov (GCC) %s\n"
msgstr "gcov (GCC) %s\n"
-#: gcov.c:318
+#: gcov.c:362
msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
msgstr "Telif Hakkı (C) 2001 Free Software Foundation, Inc.\n"
-#: gcov.c:462
+#: gcov.c:500
#, c-format
msgid "Could not open basic block file %s.\n"
msgstr "Temel blok dosyası %s açılamadı.\n"
-#: gcov.c:471
+#: gcov.c:507
+#, c-format
+msgid "Could not open program flow graph file %s.\n"
+msgstr "Program akış diyagramı dosyası %s açılamıyor.\n"
+
+#: gcov.c:524
#, c-format
msgid "Could not open data file %s.\n"
msgstr "%s veri dosyası açılamadı.\n"
-#: gcov.c:472
+#: gcov.c:525
msgid "Assuming that all execution counts are zero.\n"
msgstr "Tüm çalıştırılanların sayısı sıfır kabul ediliyor.\n"
-#: gcov.c:478
-#, c-format
-msgid "Could not open program flow graph file %s.\n"
-msgstr "Program akış diyagramı dosyası %s açılamıyor.\n"
-
-#: gcov.c:489
+#: gcov.c:534
#, c-format
msgid "No executable code associated with file %s.\n"
msgstr "%s dosyası ile ilişkilendirilecek kod yok.\n"
-#: gcov.c:789
-msgid ".da file contents exhausted too early\n"
-msgstr ".da dosyasının içeriği çok erken atıldı\n"
-
-#: gcov.c:792
-msgid ".da file contents not exhausted\n"
-msgstr ".da dosyasının içeriği atılmadı\n"
-
-#: gcov.c:973
+#: gcov.c:1186
#, c-format
-msgid "%6.2f%% of %d source lines executed in function %s\n"
-msgstr "%3$s işlevindeki %2$d satırın %%%1$6.2f satırı çalıştırıldı\n"
+msgid "%s of %d lines executed in %s %s\n"
+msgstr "%3$s dosyasındaki %2$d satırın %1$s satırı çalıştırıldı %4$s\n"
-#: gcov.c:977
+#: gcov.c:1191
#, c-format
-msgid "No executable source lines in function %s\n"
-msgstr "%s işlevinin çalıştırılabilir kaynak satırı yok\n"
+msgid "No executable lines in %s %s\n"
+msgstr "%s içinde çalıştırılacak satır yok %s\n"
-#: gcov.c:984
+#: gcov.c:1198
#, c-format
-msgid "%6.2f%% of %d branches executed in function %s\n"
-msgstr "%3$s işlevindeki %2$d dalın %%%1$6.2f dalı çalıştırıldı\n"
+msgid "%s of %d branches executed in %s %s\n"
+msgstr "%3$s dosyasındaki %2$d daldan %1$s dal çalıştırıldı %4$s\n"
-#: gcov.c:988
+#: gcov.c:1203
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in function %s\n"
-msgstr "%3$s işlevindeki %2$d dalın %%%1$6.2f dalı en az bir kere alındı\n"
+msgid "%s of %d branches taken at least once in %s %s\n"
+msgstr "%3$s dosyasındaki %2$d daldan %1$s dal en az bir kere alındı %4$s\n"
-#: gcov.c:993
+#: gcov.c:1209
#, c-format
-msgid "No branches in function %s\n"
-msgstr "%s işlevinin dalları yok\n"
+msgid "No branches in %s %s\n"
+msgstr "%s dosyasında dal yok %s\n"
-#: gcov.c:995
+#: gcov.c:1211
#, c-format
-msgid "%6.2f%% of %d calls executed in function %s\n"
-msgstr "%3$s işlevindeki %2$d çağrıdan %%%1$6.2f çağrı çalıştırıldı\n"
+msgid "%s of %d calls executed in %s %s\n"
+msgstr "%3$s dosyasındaki %2$d çağrıdan %1$s çağrı çalıştırıldı %4$s\n"
-#: gcov.c:999
+#: gcov.c:1216
#, c-format
-msgid "No calls in function %s\n"
-msgstr "%s işlevinde çağrı yok\n"
+msgid "No calls in %s %s\n"
+msgstr "%s dosyasında çağrı yok %s\n"
-#: gcov.c:1126
+#: gcov.c:1351
#, c-format
msgid "didn't use all bb entries of graph, function %s\n"
msgstr "işlev %s ve diyagramın tüm bb girdileri kullanılmadı\n"
-#: gcov.c:1128
+#: gcov.c:1353
#, c-format
msgid "block_num = %ld, num_blocks = %d\n"
msgstr "blok_num = %ld, blok_sayısı = %d\n"
-#: gcov.c:1166
+#: gcov.c:1367
#, c-format
-msgid "ERROR: too many basic blocks in .bb file %s\n"
-msgstr "HATA: .bb dosyası %s içinde temel blok sayısı çok fazla\n"
+msgid "ERROR: unexpected line number %ld\n"
+msgstr "HATA: satır numarası %ld beklenmiyordu\n"
-#: gcov.c:1243
+#: gcov.c:1383
#, c-format
-msgid "%6.2f%% of %d source lines executed in file %s\n"
-msgstr "%3$s dosyasındaki %2$d satırın %%%1$6.2f satırı çalıştırıldı\n"
+msgid "ERROR: too many basic blocks in function %s\n"
+msgstr "HATA: %s içinde temel blok sayısı çok fazla\n"
-#: gcov.c:1247
+#: gcov.c:1398
#, c-format
-msgid "No executable source lines in file %s\n"
-msgstr "%s dosyasında çalıştırılacak kaynak satırı yok\n"
+msgid "ERROR: out of range line number in function %s\n"
+msgstr "%s işlevindeki satır numarası kapsamdışı\n"
-#: gcov.c:1254
+#: gcov.c:1470
#, c-format
-msgid "%6.2f%% of %d branches executed in file %s\n"
-msgstr "%3$s dosyasındaki %2$d daldan %%%1$6.2f dal çalıştırıldı\n"
+msgid "Could not open source file %s.\n"
+msgstr "%s kaynak dosyası açılamadı.\n"
-#: gcov.c:1258
+#: gcov.c:1480
#, c-format
-msgid "%6.2f%% of %d branches taken at least once in file %s\n"
-msgstr "%3$s dosyasındaki %2$d daldan %%%1$6.2f dal en az bir kere alındı\n"
+msgid "Warning: source file %s is newer than %s\n"
+msgstr "Uyarı: kaynak dosya %s %s den daha yeni\n"
-#: gcov.c:1263
+#: gcov.c:1510
#, c-format
-msgid "No branches in file %s\n"
-msgstr "%s dosyasında dal yok\n"
+msgid "Unexpected EOF while reading source file %s.\n"
+msgstr "%s kaynak dosyası okunurken anlaşılmayan dosya sonu.\n"
-#: gcov.c:1265
+#: gcov.c:1532
#, c-format
-msgid "%6.2f%% of %d calls executed in file %s\n"
-msgstr "%3$s dosyasındaki %2$d çağrıdan %%%1$6.2f çağrı çalıştırıldı\n"
+msgid "call %2d never executed\n"
+msgstr "%2d. çağrı hiç çalıştırılmadı\n"
-#: gcov.c:1269
+#: gcov.c:1535
#, c-format
-msgid "No calls in file %s\n"
-msgstr "%s dosyasında çağrı yok\n"
+msgid "call %2d returns %s\n"
+msgstr "çağrı %2d %s döndürüyor\n"
-#: gcov.c:1281
+#: gcov.c:1543
#, c-format
-msgid "Could not open source file %s.\n"
-msgstr "%s kaynak dosyası açılamadı.\n"
+msgid "branch %2d never executed\n"
+msgstr "%2d. dal hiç çalıştırılmadı\n"
-#: gcov.c:1331
+#: gcov.c:1546
#, c-format
-msgid "Could not open output file %s.\n"
-msgstr "%s çıktı dosyası açılamadı.\n"
+msgid "branch %2d taken %s\n"
+msgstr "%2d. dal alınma sayısı = %s\n"
-#: gcov.c:1339
+#: gcov.c:1610
#, c-format
msgid "Creating %s.\n"
msgstr "%s oluÅŸturuluyor.\n"
-#: gcov.c:1387
+#: gcov.c:1613
#, c-format
-msgid "call %d never executed\n"
-msgstr "%d. çağrı hiç çalıştırılmadı\n"
+msgid "Error writing output file %s.\n"
+msgstr "çıktı dosyası %s yazılırken hata.\n"
-#: gcov.c:1396
+#: gcov.c:1618
#, c-format
-msgid "call %d returns = %s\n"
-msgstr "%d. çağrı dönüş sayısı = %s\n"
+msgid "Could not open output file %s.\n"
+msgstr "%s çıktı dosyası açılamadı.\n"
-#: gcov.c:1406
+#: gcse.c:763
#, c-format
-msgid "call %d returns = %s%%\n"
-msgstr "%d. çağrı dönüş yüzdesi = %%%s\n"
+msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+msgstr ""
+"Genel ortak alt ifade elemesi iptal edildi:\n"
+"%d > 1000 temel blok ve %d >= 20 kenar/temel blok"
-#: gcov.c:1413
+#: gcse.c:775
#, c-format
-msgid "branch %d never executed\n"
-msgstr "%d. dal hiç çalıştırılmadı\n"
+msgid "GCSE disabled: %d basic blocks and %d registers"
+msgstr "Genel ortak alt ifade elemesi iptal edildi: %d temel blok ve %d yazmaç"
-#: gcov.c:1423
+#: genautomata.c:1490
#, c-format
-msgid "branch %d taken = %s\n"
-msgstr "%d. dal alınma sayısı = %s\n"
+msgid "Name `%s' contains quotes"
+msgstr "`%s' ismi tırnak içeriyor"
-#: gcov.c:1433
+#: genautomata.c:1621
#, c-format
-msgid "branch %d taken = %s%%\n"
-msgstr "%d. dal alınma yüzdesi = %%%s\n"
+msgid "invalid string `%s' in define_cpu_unit"
+msgstr "define_cpu_unit içindeki `%s' dizgesi geçersiz"
-#: gcov.c:1444
+#: genautomata.c:1650
#, c-format
-msgid "Unexpected EOF while reading source file %s.\n"
-msgstr "%s kaynak dosyası okunurken anlaşılmayan dosya sonu.\n"
+msgid "invalid string `%s' in define_query_cpu_unit"
+msgstr "define_query_cpu_unit içindeki `%s' dizgesi geçersiz"
-#: gcse.c:758
+#: genautomata.c:1682 genautomata.c:1685
#, c-format
-msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr ""
-"Genel ortak alt ifade elemesi iptal edildi:\n"
-"%d > 1000 temel blok ve %d >= 20 kenar/temel blok"
+msgid "invalid string `%s' in define_bypass"
+msgstr "define_bypass içindeki `%s' dizgesi geçersiz"
-#: gcse.c:770
+#: genautomata.c:1720
#, c-format
-msgid "GCSE disabled: %d basic blocks and %d registers"
-msgstr "Genel ortak alt ifade elemesi iptal edildi: %d temel blok ve %d yazmaç"
+msgid "invalid first string `%s' in exclusion_set"
+msgstr "exclusion_set içindeki ilk `%s' dizgesi geçersiz"
-#: graph.c:421 profile.c:950 profile.c:958 toplev.c:1835 toplev.c:4978 f/com.c:14258 java/jcf-parse.c:950 java/jcf-parse.c:1099 java/lex.c:1790 objc/objc-act.c:529
+#: genautomata.c:1724
+#, c-format
+msgid "invalid second string `%s' in exclusion_set"
+msgstr "exclusion_set içindeki ikinci `%s' dizgesi geçersiz"
+
+#: genautomata.c:1760
+#, c-format
+msgid "invalid first string `%s' in presence_set"
+msgstr "presence_set içindeki ilk `%s' dizgesi geçersiz"
+
+#: genautomata.c:1764
+#, c-format
+msgid "invalid second string `%s' in presence_set"
+msgstr "presence_set içindeki ikinci `%s' dizgesi geçersiz"
+
+#: genautomata.c:1800
+#, c-format
+msgid "invalid first string `%s' in absence_set"
+msgstr "absence_set içindeki ilk `%s' dizgesi geçersiz"
+
+#: genautomata.c:1804
+#, c-format
+msgid "invalid second string `%s' in absence_set"
+msgstr "absence_set içindeki ikinci `%s' dizgesi geçersiz"
+
+#: genautomata.c:1837
+#, c-format
+msgid "invalid string `%s' in define_automaton"
+msgstr "define_automaton içindeki `%s' dizgesi geçersiz"
+
+#: genautomata.c:1868
+#, c-format
+msgid "invalid option `%s' in automata_option"
+msgstr "automata_option içindeki `%s' dizgesi geçersiz"
+
+#: genautomata.c:1890
+#, c-format
+msgid "garbage after ) in reservation `%s'"
+msgstr "rezervasyon `%s' içindeki ) den sonrası bozuk"
+
+#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981
+#, c-format
+msgid "invalid `%s' in reservation `%s'"
+msgstr "`%s' ilerde kullanılmak üzere ayrılırken içindeki `%s' dizgesi geçersiz"
+
+#: genautomata.c:1932
+#, c-format
+msgid "repetition `%s' <= 1 in reservation `%s'"
+msgstr "rezervasyon `%s' içindeki `%s' tekrar sayısı <=1"
+
+#: genautomata.c:2425
+#, c-format
+msgid "unit `%s' in exclusion is not declared"
+msgstr "dışlama içindeki birim `%s' bildirilmemiş"
+
+#: genautomata.c:2427
+#, c-format
+msgid "`%s' in exclusion is not unit"
+msgstr "dışlama içindeki `%s' birim değil"
+
+#: genautomata.c:2465
+#, c-format
+msgid "unit `%s' excludes itself"
+msgstr "birim `%s' kendini dışlıyor"
+
+#: genautomata.c:2473
+#, c-format
+msgid "units `%s' and `%s' in exclusion set belong to different automata"
+msgstr "dışlama kümesindeki `%s' ve `%s' birimleri farklı automata'ların üyesi"
+
+#: genautomata.c:2603 genautomata.c:2609
+#, c-format
+msgid "unit `%s' excludes and requires presence of `%s'"
+msgstr "birim `%s' dışlanıyor ve `%s'in varlığını gerektiriyor"
+
+#: genautomata.c:2623 genautomata.c:2629
+#, c-format
+msgid "unit `%s' requires absence and presence of `%s'"
+msgstr "birim `%s', `%s'in varlığını ve yokluğunu gerektirir"
+
+#: genautomata.c:2692 genautomata.c:2695
+#, c-format
+msgid "repeated declaration of automaton `%s'"
+msgstr "automaton `%s' birden fazla bildirilmiÅŸ"
+
+#: genautomata.c:2711
+#, c-format
+msgid "define_insn_reservation `%s' has negative latency time"
+msgstr "define_insn_reservation `%s' negatif gecikme süresine sahip"
+
+#: genautomata.c:2717
+#, c-format
+msgid "`%s' is already used as insn reservation name"
+msgstr "`%s' zaten komut rezervasyon ismi olarak kullanılmış"
+
+#: genautomata.c:2723
+#, c-format
+msgid "define_bypass `%s - %s' has negative latency time"
+msgstr "define_bypass `%s - %s' negatif gecikme süresine sahip"
+
+#: genautomata.c:2737
+#, c-format
+msgid "automaton `%s' is not declared"
+msgstr "automaton `%s' bildirilmedi"
+
+#: genautomata.c:2747
+#, c-format
+msgid "define_unit `%s' without automaton when one defined"
+msgstr "tek atamada automaton'suz define_unit `%s'"
+
+#: genautomata.c:2753
+#, c-format
+msgid "`%s' is declared as cpu unit"
+msgstr "`%s' cpu birimi olarak bildirilmiÅŸ"
+
+#: genautomata.c:2762
+#, c-format
+msgid "`%s' is declared as cpu reservation"
+msgstr "`%s' iÅŸlemci rezervasyonu olarak bildirilmiÅŸ"
+
+#: genautomata.c:2772
+#, c-format
+msgid "repeated declaration of unit `%s'"
+msgstr "birim `%s'in bildirimi tekrarlanmış"
+
+#: genautomata.c:2775
+#, c-format
+msgid "repeated declaration of reservation `%s'"
+msgstr "rezervasyon `%s' birden fazla bildirilmiÅŸ"
+
+#: genautomata.c:2790 genautomata.c:2793
+#, c-format
+msgid "there is no insn reservation `%s'"
+msgstr "komut rezervasyonu `%s' yok"
+
+#: genautomata.c:2810 genautomata.c:2815
+#, c-format
+msgid "the same bypass `%s - %s' is already defined"
+msgstr "aynı bypass `%s - %s' zaten tanımlı"
+
+#: genautomata.c:2820
+#, c-format
+msgid "bypass `%s - %s' is already defined"
+msgstr "bypass `%s - %s' zaten tanımlı"
+
+#: genautomata.c:2925 genautomata.c:2927
+#, c-format
+msgid "automaton `%s' is not used"
+msgstr "automaton `%s' kullanılmamış"
+
+#: genautomata.c:2950
+#, c-format
+msgid "undeclared unit or reservation `%s'"
+msgstr "bildirilmemiÅŸ birim ya da rezervasyon `%s'"
+
+#: genautomata.c:3028 genautomata.c:3030
+#, c-format
+msgid "unit `%s' is not used"
+msgstr "birim `%s' kullanılmamış"
+
+#: genautomata.c:3035 genautomata.c:3037
+#, c-format
+msgid "reservation `%s' is not used"
+msgstr "rezervasyon `%s' kullanılmamış"
+
+#: genautomata.c:3134
+#, c-format
+msgid "cycle in definition of reservation `%s'"
+msgstr "rezervasyon `%s'in tanımında döngü"
+
+#: genautomata.c:5333
+#, c-format
+msgid "Units `%s' and `%s' should be in the same automaton"
+msgstr "`%s' ve `%s' aynı automaton içinde olmalıydı"
+
+#: genautomata.c:9441
+msgid "-split has no argument."
+msgstr "-split argümansız."
+
+#: genautomata.c:9442
+msgid "option `-split' has not been implemented yet\n"
+msgstr "`-split' seçeneği henüz programlanmadı\n"
+
+#: genautomata.c:9486 genautomata.c:9491
+#, c-format
+msgid "Automaton `%s': Insn `%s' will never be issued"
+msgstr "Automaton `%s': Komut `%s' hiç kullanılmayacak"
+
+#: genautomata.c:9498 genautomata.c:9501
+#, c-format
+msgid "Insn `%s' will never be issued"
+msgstr "Komut `%s' hiç kullanılmayacak"
+
+#: genautomata.c:9649
+msgid "Errors in DFA description"
+msgstr "DFA açıklamasında hatalar var"
+
+#: genautomata.c:9732
+#, c-format
+msgid "Error in writing DFA description file %s"
+msgstr "DFA açıklama dosyası %s yazılırken hata"
+
+#: genconditions.c:196
+msgid "No input file name."
+msgstr "Girdi dosyası yok."
+
+#: graph.c:420 profile.c:1204 profile.c:1211 toplev.c:1836 toplev.c:5136
+#: f/com.c:14210 java/jcf-parse.c:917 java/jcf-parse.c:1063 java/lex.c:1776
+#: objc/objc-act.c:449
#, c-format
msgid "can't open %s"
msgstr "%s açılamıyor"
-#: haifa-sched.c:190
+#: haifa-sched.c:196
#, c-format
msgid "fix_sched_param: unknown param: %s"
msgstr "fix_sched_param: bilinmeyen parametre: %s"
-#: integrate.c:185
+#: integrate.c:174
msgid "function cannot be inline"
msgstr "işlev özümlenemez"
-#: integrate.c:190
+#: integrate.c:178
msgid "varargs function cannot be inline"
msgstr "varargs işlevi özümlenemez"
-#: integrate.c:193
+#: integrate.c:181
msgid "function using alloca cannot be inline"
msgstr "alloca kullanarak işlev özümlenemez"
-#: integrate.c:196
+#: integrate.c:184
msgid "function using setjmp cannot be inline"
msgstr "setjmp kullanarak işlev özümlenemez"
-#: integrate.c:199
+#: integrate.c:187
msgid "function uses __builtin_eh_return"
msgstr "işlev __builtin_eh_return kullanıyor"
-#: integrate.c:202
+#: integrate.c:190
msgid "function with nested functions cannot be inline"
msgstr "içiçe işlevleri olan bir işlev özümlenemez"
-#: integrate.c:206
+#: integrate.c:194
msgid "function with label addresses used in initializers cannot inline"
msgstr "başlangıç değerlerinde kullanılmış etiket adresli bir işlev özümlenemez"
-#: integrate.c:213 integrate.c:257
+#: integrate.c:201 integrate.c:245
msgid "function too large to be inline"
msgstr "işlev özümlenmek için fazla büyük"
-#: integrate.c:223
+#: integrate.c:211
msgid "no prototype, and parameter address used; cannot be inline"
msgstr "prototip ve kullanılan parametre adresi yok; özümlenemez"
-#: integrate.c:230 integrate.c:275
+#: integrate.c:218 integrate.c:263
msgid "inline functions not supported for this return value type"
msgstr "bu dönen değer türü için özümlenen işlevler desteklenmiyor"
-#: integrate.c:235
+#: integrate.c:223
msgid "function with varying-size return value cannot be inline"
msgstr "değişken uzunluklu dönen değerli işlevler özümlenemez"
-#: integrate.c:242
+#: integrate.c:230
msgid "function with varying-size parameter cannot be inline"
msgstr "değişken uzunluk parametreli işlevler özümlenemez"
-#: integrate.c:245
+#: integrate.c:233
msgid "function with transparent unit parameter cannot be inline"
msgstr "şeffaf birim parametreli işlevler özümlenemez"
-#: integrate.c:264
+#: integrate.c:252
msgid "function with computed jump cannot inline"
msgstr "hesaplanmış jump bulunan işlevler özümlenemez"
-#: integrate.c:268
+#: integrate.c:256
msgid "function with nonlocal goto cannot be inline"
msgstr "yerel olmayan goto bulunan işlevler özümlenemez"
-#: integrate.c:282
+#: integrate.c:270
msgid "function with target specific attribute(s) cannot be inlined"
msgstr "hedefe özel öznitelikler bulunan işlevler özümlenemez"
@@ -5924,55 +6286,56 @@ msgstr ""
msgid "invalid parameter `%s'"
msgstr "geçersiz parametre `%s'"
-#: profile.c:429
+#: profile.c:397
+#, c-format
+msgid "Profile does not match flowgraph of function %s (out of date?)"
+msgstr "Profil %s işlevinin akış grafiği ile uyumsuz (güncel olmayabilir mi?)"
+
+#: profile.c:400
+msgid ".da file corrupted"
+msgstr ".da dosyası bozulmuş"
+
+#: profile.c:634
#, c-format
msgid "corrupted profile info: prob for %d-%d thought to be %d"
msgstr "bozuk profil bilgisi: %3$d olduğu halde %1$d-%2$d için sonda"
-#: profile.c:975
+#: profile.c:1226
#, c-format
msgid "file %s not found, execution counts assumed to be zero"
msgstr "%s bulunamadı, çalıştırma sayısı sıfır kabul edildi"
-#: profile.c:1022
-msgid ".da file contents exhausted too early"
-msgstr ".da dosyasının içeriği çok erken atıldı"
-
-#: profile.c:1025
-msgid ".da file contents not exhausted"
-msgstr ".da dosyasının içeriği atılmadı"
-
-#: protoize.c:599
+#: protoize.c:542
#, c-format
msgid "%s: internal abort\n"
msgstr "%s: dahili çıkış\n"
-#: protoize.c:690
+#: protoize.c:633
#, c-format
msgid "%s: error writing file `%s': %s\n"
msgstr "%s: `%s' dosyası yazılırken hata: %s\n"
-#: protoize.c:735
+#: protoize.c:678
#, c-format
msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
msgstr "%s: kullanımı '%s [ -VqfnkN ] [ -i <Gdizgesi> ] [ dosya ... ]'\n"
-#: protoize.c:738
+#: protoize.c:681
#, c-format
msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
msgstr "%s: kullanımı '%s [ -VqfnkNlgC ] [ -B <dizin> ] [ dosya ... ]'\n"
-#: protoize.c:845
+#: protoize.c:788
#, c-format
msgid "%s: warning: no read access for file `%s'\n"
msgstr "%s: uyarı: `%s' dosyası için okuma erişimi yok\n"
-#: protoize.c:853
+#: protoize.c:796
#, c-format
msgid "%s: warning: no write access for file `%s'\n"
msgstr "%s: uyarı: `%s' dosyası için yazma erişimi yok\n"
-#: protoize.c:861
+#: protoize.c:804
#, c-format
msgid "%s: warning: no write access for dir containing `%s'\n"
msgstr "%s: uyarı: `%s' dosyasını içeren dizine yazma izni yok\n"
@@ -5980,17 +6343,17 @@ msgstr "%s: uyarı: `%s' dosyasını içeren dizine yazma izni yok\n"
#. Catch cases like /.. where we try to backup to a
#. point above the absolute root of the logical file
#. system.
-#: protoize.c:1279
+#: protoize.c:1222
#, c-format
msgid "%s: invalid file name: %s\n"
msgstr "%s: geçersiz dosya ismi: %s\n"
-#: protoize.c:1431
+#: protoize.c:1374
#, c-format
msgid "%s: %s: can't get status: %s\n"
msgstr "%s: %s: durum alınamıyor: %s\n"
-#: protoize.c:1452
+#: protoize.c:1395
#, c-format
msgid ""
"\n"
@@ -5999,137 +6362,137 @@ msgstr ""
"\n"
"%s: ölümcül hata: yardımcı bilgi dosyası %d. satırda bozulmuş\n"
-#: protoize.c:1788
+#: protoize.c:1731
#, c-format
msgid "%s:%d: declaration of function `%s' takes different forms\n"
msgstr "%s:%d: `%s' işlevinin bildirimi farklı şekiller alıyor\n"
-#: protoize.c:2046
+#: protoize.c:1989
#, c-format
msgid "%s: compiling `%s'\n"
msgstr "%s: `%s' derleniyor\n"
-#: protoize.c:2069
+#: protoize.c:2012
#, c-format
msgid "%s: wait: %s\n"
msgstr "%s: bekliyor: %s\n"
-#: protoize.c:2074
+#: protoize.c:2017
#, c-format
msgid "%s: subprocess got fatal signal %d\n"
msgstr "%s: altyordam %d ölümcül sinyalini aldı\n"
-#: protoize.c:2082
+#: protoize.c:2025
#, c-format
msgid "%s: %s exited with status %d\n"
msgstr "%s: %s %d durumuyla çıktı\n"
-#: protoize.c:2134
+#: protoize.c:2077
#, c-format
msgid "%s: warning: missing SYSCALLS file `%s'\n"
msgstr "%s: uyarı: SYSCALLS dosyası `%s' kayıp\n"
-#: protoize.c:2143 protoize.c:2172
+#: protoize.c:2086 protoize.c:2115
#, c-format
msgid "%s: can't read aux info file `%s': %s\n"
msgstr "%s: yardımcı bilgi dosyası `%s' okunamıyor: %s\n"
-#: protoize.c:2188 protoize.c:2216
+#: protoize.c:2131 protoize.c:2159
#, c-format
msgid "%s: can't get status of aux info file `%s': %s\n"
msgstr "%s: yardımcı bilgi dosyası `%s' için durum alınamıyor: %s\n"
-#: protoize.c:2244
+#: protoize.c:2187
#, c-format
msgid "%s: can't open aux info file `%s' for reading: %s\n"
msgstr "%s: yardımcı bilgi dosyası `%s' okumak için açılamıyor: %s\n"
-#: protoize.c:2262
+#: protoize.c:2205
#, c-format
msgid "%s: error reading aux info file `%s': %s\n"
msgstr "%s: `%s' yardımcı bilgi dosyasında okuma hatası: %s\n"
-#: protoize.c:2275
+#: protoize.c:2218
#, c-format
msgid "%s: error closing aux info file `%s': %s\n"
msgstr "%s: `%s' yardımcı bilgi dosyasında kapama hatası: %s\n"
-#: protoize.c:2291
+#: protoize.c:2234
#, c-format
msgid "%s: can't delete aux info file `%s': %s\n"
msgstr "%s: yardımcı bilgi dosyası `%s' silinemiyor: %s\n"
-#: protoize.c:2373 protoize.c:4375
+#: protoize.c:2316 protoize.c:4318
#, c-format
msgid "%s: can't delete file `%s': %s\n"
msgstr "%s: `%s' silinemiyor: %s\n"
-#: protoize.c:2452
+#: protoize.c:2395
#, c-format
msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
msgstr "%s: uyarı: `%s' dosyasının ismi `%s' yapılamıyor: %s\n"
-#: protoize.c:2577
+#: protoize.c:2520
#, c-format
msgid "%s: conflicting extern definitions of '%s'\n"
msgstr "%s: '%s' extern tanımları çelişiyor\n"
-#: protoize.c:2581
+#: protoize.c:2524
#, c-format
msgid "%s: declarations of '%s' will not be converted\n"
msgstr "%s: '%s' bildirimleri dönüştürülmeyecek\n"
-#: protoize.c:2583
+#: protoize.c:2526
#, c-format
msgid "%s: conflict list for '%s' follows:\n"
msgstr "%s: '%s' için çelişki listesi:\n"
-#: protoize.c:2616
+#: protoize.c:2559
#, c-format
msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
msgstr "%1$s: uyarı: `%4$s' işlevi için biçimseller listesi %2$s(%3$d) den kullanılıyor\n"
-#: protoize.c:2656
+#: protoize.c:2599
#, c-format
msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
msgstr "%s: %d: `%s' kullanıldı ama SYSCALLS dan eksik var\n"
-#: protoize.c:2662
+#: protoize.c:2605
#, c-format
msgid "%s: %d: warning: no extern definition for `%s'\n"
msgstr "%s: %d: uyarı: `%s' için extern tanımı yok\n"
-#: protoize.c:2693
+#: protoize.c:2636
#, c-format
msgid "%s: warning: no static definition for `%s' in file `%s'\n"
msgstr "%s: uyarı: `%s' için `%s' dosyasında ststic tanımı yok\n"
-#: protoize.c:2699
+#: protoize.c:2642
#, c-format
msgid "%s: multiple static defs of `%s' in file `%s'\n"
msgstr "%s: `%s' için `%s' dosyasında çok sayıda static tanımı\n"
-#: protoize.c:2872 protoize.c:2875
+#: protoize.c:2815 protoize.c:2818
#, c-format
msgid "%s: %d: warning: source too confusing\n"
msgstr "%s: %d: uyarı: kaynak çok karışık\n"
-#: protoize.c:3081
+#: protoize.c:3024
#, c-format
msgid "%s: %d: warning: varargs function declaration not converted\n"
msgstr "%s: %d: uyarı: varargs işlev bildirimi dönüştürülmedi\n"
-#: protoize.c:3096
+#: protoize.c:3039
#, c-format
msgid "%s: declaration of function `%s' not converted\n"
msgstr "%s: `%s' işlevinin bildirimi dönüştürülmedi\n"
-#: protoize.c:3219
+#: protoize.c:3162
#, c-format
msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
msgstr "%s: uyarı: `%s' bildiriminde parametre listelerinin sayısı çok fazla\n"
-#: protoize.c:3240
+#: protoize.c:3183
#, c-format
msgid ""
"\n"
@@ -6138,17 +6501,17 @@ msgstr ""
"\n"
"%s: uyarı: `%s' bildiriminde parametre listelerinin sayısı çok az\n"
-#: protoize.c:3338
+#: protoize.c:3281
#, c-format
msgid "%s: %d: warning: found `%s' but expected `%s'\n"
msgstr "%s: %d: uyarı: `%s' bulundu ama `%s' gerekli\n"
-#: protoize.c:3516
+#: protoize.c:3459
#, c-format
msgid "%s: local declaration for function `%s' not inserted\n"
msgstr "%s: `%s' işlevi için yerel bildirim araya eklenmedi\n"
-#: protoize.c:3543
+#: protoize.c:3486
#, c-format
msgid ""
"\n"
@@ -6157,64 +6520,64 @@ msgstr ""
"\n"
"%s: %d: uyarı: makro çağrısına `%s' bildirimi eklenemiyor\n"
-#: protoize.c:3617
+#: protoize.c:3560
#, c-format
msgid "%s: global declarations for file `%s' not inserted\n"
msgstr "%s: `%s' işlevi için genel bildirim araya eklenmedi\n"
-#: protoize.c:3708 protoize.c:3738
+#: protoize.c:3651 protoize.c:3681
#, c-format
msgid "%s: definition of function `%s' not converted\n"
msgstr "%s: %s' işlevinin tanımı dönüştürülmedi\n"
-#: protoize.c:3727
+#: protoize.c:3670
#, c-format
msgid "%s: %d: warning: definition of %s not converted\n"
msgstr "%s: %d: uyarı: %s tanımı dönüştürülmedi\n"
-#: protoize.c:4057
+#: protoize.c:4000
#, c-format
msgid "%s: found definition of `%s' at %s(%d)\n"
msgstr "%s: `%s' tanımı %s(%d) de bulundu\n"
#. If we make it here, then we did not know about this
#. function definition.
-#: protoize.c:4073
+#: protoize.c:4016
#, c-format
msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
msgstr "%s: %d: uyarı: `%s' önişlem tarafından dışlandı\n"
-#: protoize.c:4076
+#: protoize.c:4019
#, c-format
msgid "%s: function definition not converted\n"
msgstr "%s: işlev tanımı dönüştürülmedi\n"
-#: protoize.c:4135
+#: protoize.c:4078
#, c-format
msgid "%s: `%s' not converted\n"
msgstr "%s: `%s' dönüştürülmedi\n"
-#: protoize.c:4143
+#: protoize.c:4086
#, c-format
msgid "%s: would convert file `%s'\n"
msgstr "%s: `%s' dönüşüm dosyası olacaktı\n"
-#: protoize.c:4146
+#: protoize.c:4089
#, c-format
msgid "%s: converting file `%s'\n"
msgstr "%s: `%s' dönüştürülüyor\n"
-#: protoize.c:4156
+#: protoize.c:4099
#, c-format
msgid "%s: can't get status for file `%s': %s\n"
msgstr "%s: `%s' dosyası için durum bilgileri alınamadı: %s\n"
-#: protoize.c:4198
+#: protoize.c:4141
#, c-format
msgid "%s: can't open file `%s' for reading: %s\n"
msgstr "%s: `%s' okumak için açılamadı: %s\n"
-#: protoize.c:4213
+#: protoize.c:4156
#, c-format
msgid ""
"\n"
@@ -6223,320 +6586,279 @@ msgstr ""
"\n"
"%s: girdi dosyası `%s' okunurken hata: %s\n"
-#: protoize.c:4247
+#: protoize.c:4190
#, c-format
msgid "%s: can't create/open clean file `%s': %s\n"
msgstr "%s: temiz dosya `%s' oluşturulamıyor/açılamıyor: %s\n"
-#: protoize.c:4352
+#: protoize.c:4295
#, c-format
msgid "%s: warning: file `%s' already saved in `%s'\n"
msgstr "%s: uyarı: `%s' zaten `%s' içine kaydedilmiş\n"
-#: protoize.c:4360
+#: protoize.c:4303
#, c-format
msgid "%s: can't link file `%s' to `%s': %s\n"
msgstr "%s: `%s' -> `%s' bağı oluşturulamıyor: %s\n"
-#: protoize.c:4390
+#: protoize.c:4333
#, c-format
msgid "%s: can't create/open output file `%s': %s\n"
msgstr "%s: çıktı dosyası `%s' oluşturulamıyor/açılamıyor: %s\n"
-#: protoize.c:4423
+#: protoize.c:4366
#, c-format
msgid "%s: can't change mode of file `%s': %s\n"
msgstr "%s: `%s' dosyasının kipi değiştirilemiyor: %s\n"
-#: protoize.c:4598
+#: protoize.c:4541
#, c-format
msgid "%s: cannot get working directory: %s\n"
msgstr "%s: çalışma dizini alınamıyor: %s\n"
-#: protoize.c:4696
+#: protoize.c:4639
#, c-format
msgid "%s: input file names must have .c suffixes: %s\n"
msgstr "%s: girdi dosyası isimlerinin soneki .c olmalıdır: %s\n"
-#: real.c:824 real.c:1001
-msgid "conversion from NaN to int"
-msgstr "NaN'dan int'e dönüşüm"
-
-#: real.c:847
-msgid "conversion from NaN to unsigned int"
-msgstr "NaN'dan unsigned int'e dönüşüm"
-
-#: real.c:2730
-msgid "floating point overflow"
-msgstr "gerçel sayı taşması"
-
-#: real.c:4395 real.c:6675 real.c:6756
-msgid "overflow on truncation to integer"
-msgstr "tamsayıya indirgemede taşma"
-
-#: real.c:4467
-msgid "overflow on truncation to unsigned integer"
-msgstr "işaretsiz tamsayıya indirgemede taşma"
+#: ra.c:750
+msgid "Didn't find a coloring.\n"
+msgstr "Bir renklendirme yok.\n"
-#: real.c:5812
-#, c-format
-msgid "%s: argument domain error"
-msgstr "%s: argüman alanı hatası"
-
-#: real.c:5813
-#, c-format
-msgid "%s: function singularity"
-msgstr "%s: iÅŸlev eÅŸsizliÄŸi"
-
-#: real.c:5814
-#, c-format
-msgid "%s: overflow range error"
-msgstr "%s: kapsamın üstten taşma hatası"
-
-#: real.c:5815
-#, c-format
-msgid "%s: underflow range error"
-msgstr "%s: kapsamın alttan taşma hatası"
-
-#: real.c:5816
-#, c-format
-msgid "%s: total loss of precision"
-msgstr "%s: tam kesinlik kaybı"
-
-#: real.c:5817
-#, c-format
-msgid "%s: partial loss of precision"
-msgstr "%s: kısmi kesinlik kaybı"
-
-#: real.c:5818
-#, c-format
-msgid "%s: NaN - producing operation"
-msgstr "%s: NaN - işlem üretiyor"
-
-#: reg-stack.c:677
+#: reg-stack.c:670
#, c-format
msgid "output constraint %d must specify a single register"
msgstr "çıktı koşulu %d bir tek yazmaç belirtmeli"
-#: reg-stack.c:687
+#: reg-stack.c:680
#, c-format
msgid "output constraint %d cannot be specified together with \"%s\" clobber"
msgstr "çıktı koşulu %d \"%s\" taşırmasıyla birlikte belirtilemez"
-#: reg-stack.c:710
+#: reg-stack.c:703
msgid "output regs must be grouped at top of stack"
msgstr "çıktı yazmaçları yığının üstünde gruplanmış olmalı"
-#: reg-stack.c:747
+#: reg-stack.c:740
msgid "implicitly popped regs must be grouped at top of stack"
msgstr "örtük olarak emilmiş yazmaçlar yığının üstünde gruplanmalı"
-#: reg-stack.c:766
+#: reg-stack.c:759
#, c-format
msgid "output operand %d must use `&' constraint"
msgstr "çıktı terimi %d `&' kısıtını kullanmalı"
-#: regclass.c:778
+#: regclass.c:756
#, c-format
msgid "can't use '%s' as a %s register"
msgstr "'%s' bir %s yazmacı olarak kullanılamıyor"
-#: regclass.c:793 config/ia64/ia64.c:3840 config/ia64/ia64.c:3847
+#: regclass.c:771 config/ia64/ia64.c:4265 config/ia64/ia64.c:4272
#, c-format
msgid "unknown register name: %s"
msgstr "bilinmeyen yazmaç ismi: %s"
-#: regclass.c:804
+#: regclass.c:782
msgid "global register variable follows a function definition"
msgstr "genel yazmaç değişkeni bir işlev tanımını izliyor"
-#: regclass.c:808
+#: regclass.c:786
msgid "register used for two global register variables"
msgstr "yazmaç iki genel yazmaç değişkeni için kullanılmış"
-#: regclass.c:813
+#: regclass.c:791
msgid "call-clobbered register used for global register variable"
msgstr "çağrı-taşmalı yazmaç genel yazmaç değişkeni için kullanılmış"
-#: regrename.c:1845
+#: regrename.c:1899
#, c-format
msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
msgstr "validate_value_data: [%u] Boş zincir için next_regno hatalı (%u)"
-#: regrename.c:1857
+#: regrename.c:1911
#, c-format
msgid "validate_value_data: Loop in regno chain (%u)"
msgstr "validate_value_data: regno zinciri içinde döngü (%u)"
-#: regrename.c:1860
+#: regrename.c:1914
#, c-format
msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
msgstr "validate_value_data: [%u] oldest_regno hatalı (%u)"
-#: regrename.c:1872
+#: regrename.c:1926
#, c-format
msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
msgstr "validate_value_data: [%u] zincir içinde boş olmayan yazmaç (%s %u %i)"
-#: reload.c:1208
+#: reload.c:1229
msgid "cannot reload integer constant operand in `asm'"
msgstr "`asm' içindeki tamsayı sabit terim yeniden yüklenemiyor"
-#: reload.c:1230
+#: reload.c:1251
msgid "impossible register constraint in `asm'"
msgstr "`asm' içindeki yazmaç şartı mümkün değil"
-#: reload.c:3389
+#: reload.c:3461
msgid "`&' constraint used with no register class"
msgstr "`&' şartı yazmaç sınıfsız kullanılmış"
-#: reload.c:3557
+#: reload.c:3629
msgid "unable to generate reloads for:"
msgstr "aşağıdakiler için yeniden yüklemeler üretilemiyor:"
-#: reload.c:3558 reload.c:3772
+#: reload.c:3630 reload.c:3844
msgid "inconsistent operand constraints in an `asm'"
msgstr "bir `asm' içindeki terim şartı çelişkili"
-#: reload1.c:1247
+#: reload1.c:1250
msgid "frame size too large for reliable stack checking"
msgstr "güvenilir yığın denetimi için çerçeve boyutu çok büyük"
-#: reload1.c:1250
+#: reload1.c:1253
msgid "try reducing the number of local variables"
msgstr "yerel değişkenlerin sayısını azaltmayı deneyin"
-#: reload1.c:1902
+#: reload1.c:1909
#, c-format
msgid "can't find a register in class `%s' while reloading `asm'"
msgstr "`asm' yeniden yüklenirken sınıf `%s' içindeki bir yazmaç ismi bulunamıyor"
-#: reload1.c:1906
+#: reload1.c:1913
#, c-format
msgid "unable to find a register to spill in class `%s'"
msgstr "`%s' sınıfı içinde dökülecek bir yazmaç bulunamadı."
-#: reload1.c:1908
+#: reload1.c:1915
msgid "this is the insn:"
msgstr "bu o komuttur:"
-#: reload1.c:3924
+#: reload1.c:3938
msgid "`asm' operand requires impossible reload"
msgstr "`asm' terimi imkansız yeniden yükleme gerektiriyor"
#. It's the compiler's fault.
-#: reload1.c:5040
+#: reload1.c:5052
msgid "could not find a spill register"
msgstr "bir döküm yazmacı bulunamadı"
-#: reload1.c:5045
+#: reload1.c:5057
msgid "`asm' operand constraint incompatible with operand size"
msgstr "`asm' teriminin koÅŸulu terim boyutu ile uyumsuz"
#. It's the compiler's fault.
-#: reload1.c:6639
+#: reload1.c:6677
msgid "VOIDmode on an output"
msgstr "bir çıktıda VOIDmode"
-#: reload1.c:6640
+#: reload1.c:6678
msgid "output operand is constant in `asm'"
msgstr "`asm' içindeki çıktı terimi bir sabit"
-#: rtl-error.c:139
+#: rtl-error.c:140
msgid "unrecognizable insn:"
msgstr "tanımlanamayan komut:"
-#: rtl-error.c:141
+#: rtl-error.c:142
msgid "insn does not satisfy its constraints:"
msgstr "komut kendi kısıtlarını gözönüne almıyor:"
-#: rtl.c:627
+#: rtl.c:535
#, c-format
msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
msgstr "RTL denetimi: %5$s:%6$d: %4$s işlevindeki son %3$d öğe ile `%2$s' nin %1$d. öğesinin erişimi"
-#: rtl.c:642
+#: rtl.c:550
#, c-format
msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr "RTL denetimi: %6$s:%7$d: %5$s içinde öğe %1$d türü olarak '%2$c' umulurken '%3$c' var (rtx %4$s)"
-#: rtl.c:658
+#: rtl.c:566
#, c-format
msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr "RTL denetimi: %7$s:%8$d: %6$s içinde öğe %1$d türü olarak'%2$c' ya da '%3$c' umulurken '%4$c' var (rtx %5$s)"
-#: rtl.c:671
+#: rtl.c:579
#, c-format
msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
msgstr "RTL denetimi: %4$s:%5$d: %3$s içindeki kod için `%1$s' umulurken `%2$s' var"
-#: rtl.c:685
+#: rtl.c:593
#, c-format
msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
msgstr "RTL denetimi: %5$s:%6$d: %4$s içindeki kod için `%1$s' ya da `%2$s' umulurken `%3$s' var"
-#: rtl.c:700
+#: rtl.c:608
#, c-format
msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
msgstr "RTL denetimi: %4$s:%5$d: %3$s işlevindeki son %2$d öğe ile vektörün %1$d. öğesinin erişimi"
-#: stmt.c:927
+#: rtl.c:623
+#, c-format
+msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+msgstr "RTL seçenek denetimi: %4$s:%5$d: `%1$s' %3$s içinde umulmayan rtx kodu `%2$s' ile kullanılmış"
+
+#: stmt.c:766
#, c-format
msgid "jump to `%s' invalidly jumps into binding contour"
msgstr "`%s' e sıçrama geçersiz olarak bağlama sınırları içinde gerçekleşiyor"
-#: stmt.c:1163 stmt.c:3755
+#: stmt.c:1002 stmt.c:3766
#, c-format
msgid "label `%s' used before containing binding contour"
msgstr "`%s' etiketi kapsanan bağ sınırından önce kullanılmış"
-#: stmt.c:1343
+#: stmt.c:1190
msgid "output operand constraint lacks `='"
msgstr "çıktı terim kısıtı eksiği `='"
-#: stmt.c:1358
+#: stmt.c:1205
#, c-format
msgid "output constraint `%c' for operand %d is not at the beginning"
msgstr "%2$d terimi için çıktı şartı `%1$c' başlangıçta değil"
-#: stmt.c:1380
+#: stmt.c:1227
msgid "operand constraint contains incorrectly positioned '+' or '='"
msgstr "terim kısıtı yanlış konumlu `+' ya da '=' içeriyor"
-#: stmt.c:1386 stmt.c:1486
+#: stmt.c:1233 stmt.c:1337
#, c-format
msgid "`%%' constraint used with last operand"
msgstr "`%%' kısıtı son terimle kullanılmış"
-#: stmt.c:1405
+#: stmt.c:1252
msgid "matching constraint not valid in output operand"
msgstr "eşleşen kısıt çıktı teriminde geçerli değil"
-#: stmt.c:1477
+#: stmt.c:1328
#, c-format
msgid "input operand constraint contains `%c'"
msgstr "girdi terimi kısıtı `%c' içeriyor"
-#: stmt.c:1517
+#: stmt.c:1368
msgid "matching constraint references invalid operand number"
msgstr "kısıt referansları geçersiz terim numaraları eşleştiriyor"
-#: stmt.c:1549
+#: stmt.c:1400
#, c-format
msgid "invalid punctuation `%c' in constraint"
msgstr "koşul içindeki `%c' işareti geçersiz"
-#: stmt.c:1645
+#: stmt.c:1450
+#, c-format
+msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+msgstr "`%s' değişkeni için asm belirtimi, asm taşırma listesi ile çelişiyor"
+
+#: stmt.c:1540
#, c-format
msgid "unknown register name `%s' in `asm'"
msgstr "`asm' içindeki yazmaç ismi `%s' bilinmiyor"
-#: stmt.c:1689
+#: stmt.c:1588
#, c-format
msgid "more than %d operands in `asm'"
msgstr "`asm' içinde %d terimden fazlası var"
-#: stmt.c:1748
+#: stmt.c:1650
#, c-format
msgid "output number %d not directly addressable"
msgstr "çıktı numarası %d doğrudan adreslenebilir değil"
@@ -6544,99 +6866,116 @@ msgstr "çıktı numarası %d doğrudan adreslenebilir değil"
#. ??? Leave this only until we have experience with what
#. happens in combine and elsewhere when constraints are
#. not satisfied.
-#: stmt.c:1817 stmt.c:1846
+#: stmt.c:1726 stmt.c:1758
#, c-format
msgid "asm operand %d probably doesn't match constraints"
msgstr "asm terimi %d belki ÅŸartlara uymaz"
-#: stmt.c:1992
+#: stmt.c:1889
+msgid "asm clobber conflict with output operand"
+msgstr "asm taşırıcı çıkış terimi ile çelişiyor"
+
+#: stmt.c:1894
+msgid "asm clobber conflict with input operand"
+msgstr "asm taşırıcı giriş terimi ile çelişiyor"
+
+#: stmt.c:1929
msgid "too many alternatives in `asm'"
msgstr "`asm' içindeki almaşıkların sayısı çok fazla"
-#: stmt.c:2004
+#: stmt.c:1941
msgid "operand constraints for `asm' differ in number of alternatives"
msgstr "`asm' için terim kısıtları farklı almaşık sayısında"
-#: stmt.c:2057
+#: stmt.c:1994
#, c-format
msgid "duplicate asm operand name '%s'"
msgstr "terim ismi '%s' yinelenmiÅŸ"
-#: stmt.c:2144
+#: stmt.c:2081
msgid "missing close brace for named operand"
msgstr "isimi terim için kapama parantezi eksik"
-#: stmt.c:2172
+#: stmt.c:2109
#, c-format
msgid "undefined named operand '%s'"
msgstr "tanımlanmamış isimli terim '%s'"
-#: stmt.c:3692
+#: stmt.c:3703
#, c-format
msgid "unused variable `%s'"
msgstr "değişken `%s' kullanılmamış"
-#: stmt.c:5167
+#: stmt.c:5189
#, c-format
msgid "enumeration value `%s' not handled in switch"
msgstr "sembolik sabit grubu deÄŸeri `%s' switch deyiminde elde edilemedi"
-#: stmt.c:5193 stmt.c:5213
+#: stmt.c:5214 stmt.c:5234
#, c-format
msgid "case value `%ld' not in enumerated type"
msgstr "case deÄŸeri `%ld' sembolik sabit grubunda deÄŸil"
-#: stmt.c:5196 stmt.c:5216
+#: stmt.c:5217 stmt.c:5237
#, c-format
msgid "case value `%ld' not in enumerated type `%s'"
msgstr "case değeri `%ld' sembolik sabit grubu `%s' içinde değil"
-#: stor-layout.c:173
+#: stmt.c:5310
+msgid "switch missing default case"
+msgstr "switch içinde default eksik"
+
+#: stor-layout.c:178
msgid "type size can't be explicitly evaluated"
msgstr "tür boyutu doğrudan değerlendirilemez"
-#: stor-layout.c:175
+#: stor-layout.c:180
msgid "variable-size type declared outside of any function"
msgstr "değişken boyutu türü her işlevin dışında bildirilmiş"
-#: stor-layout.c:456
+#: stor-layout.c:487
#, c-format
msgid "size of `%s' is %d bytes"
msgstr "`%s' için genişlik %d bayt"
-#: stor-layout.c:458
+#: stor-layout.c:489
#, c-format
msgid "size of `%s' is larger than %d bytes"
msgstr "`%s' için genişlik %d bayttan fazla"
-#: stor-layout.c:856 stor-layout.c:1157
+#: stor-layout.c:906 stor-layout.c:1322
#, c-format
msgid "packed attribute causes inefficient alignment for `%s'"
msgstr "paketli öznitelik `%s' için yetersiz hizalama yapar"
-#: stor-layout.c:858 stor-layout.c:1159
+#: stor-layout.c:908 stor-layout.c:1324
#, c-format
msgid "packed attribute is unnecessary for `%s'"
msgstr "paketli öznitelik `%s' için gereksiz"
-#: stor-layout.c:873
+#: stor-layout.c:923
#, c-format
msgid "padding struct to align `%s'"
msgstr "yapı hizalaması `%s' olarak ayarlanıyor"
-#: stor-layout.c:1121
+#: stor-layout.c:1286
msgid "padding struct size to alignment boundary"
msgstr "yapı boyutu hizalama sınırlarına ayarlanıyor"
-#: stor-layout.c:1164
+#: stor-layout.c:1329
msgid "packed attribute causes inefficient alignment"
msgstr "paketli öznitelik yetersiz hizalama yapar"
-#: stor-layout.c:1166
+#: stor-layout.c:1331
msgid "packed attribute is unnecessary"
msgstr "paketli öznitelik gereksiz"
-#: timevar.c:448
+#: timevar.c:322
+#, c-format
+msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+msgstr "timevars yığınının tepesinde '%2$s' olduğunda timevar_pop '%1$s' yapılamaz"
+
+#: timevar.c:453
msgid ""
"\n"
"Execution times (seconds)\n"
@@ -6645,870 +6984,919 @@ msgstr ""
"Çalışma süreleri (saniye)\n"
#. Print total time.
-#: timevar.c:498
+#: timevar.c:503
msgid " TOTAL :"
msgstr " TOPLAM :"
-#: timevar.c:534
+#: timevar.c:539
#, c-format
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr "%s süresi: %ld.%06ld (%%%ld)\n"
-#: tlink.c:428
+#: tlink.c:399
#, c-format
msgid "collect: reading %s\n"
msgstr "collect: %s okunuyor\n"
-#: tlink.c:532
+#: tlink.c:502
#, c-format
msgid "collect: recompiling %s\n"
msgstr "collect: %s yeniden derleniyor\n"
-#: tlink.c:698
+#: tlink.c:674
#, c-format
msgid "collect: tweaking %s in %s\n"
msgstr "collect: %2$s içindeki %1$s şablon zayıflatması\n"
-#: tlink.c:745
+#: tlink.c:721
msgid "collect: relinking\n"
msgstr "collect: yeniden birleştirme yapılıyor\n"
-#: tlink.c:754
+#: tlink.c:730
#, c-format
msgid "ld returned %d exit status"
msgstr "ld çıkış durumu %d ile döndü"
-#: toplev.c:895
+#: toplev.c:920
msgid "Generate debugging info in default format"
msgstr "Öntanımlı biçemde hata ayıklama bilgisi üretir"
-#: toplev.c:896
+#: toplev.c:921
msgid "Generate debugging info in default extended format"
msgstr ""
"Öntanımlı gelişmiş biçemde hata ayıklama bilgisi\n"
" üretir"
-#: toplev.c:898
+#: toplev.c:923
msgid "Generate STABS format debug info"
msgstr "STABS biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:899
+#: toplev.c:924
msgid "Generate extended STABS format debug info"
msgstr "Gelişmiş STABS biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:902
+#: toplev.c:927
msgid "Generate DWARF-1 format debug info"
msgstr "DWARF-1 biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:904
+#: toplev.c:929
msgid "Generate extended DWARF-1 format debug info"
msgstr "Gelişmiş DWARF-1 biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:907
+#: toplev.c:932
msgid "Generate DWARF-2 debug info"
msgstr "DWARF-2 biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:910
+#: toplev.c:935
msgid "Generate XCOFF format debug info"
msgstr "XCOFF biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:911
+#: toplev.c:936
msgid "Generate extended XCOFF format debug info"
msgstr "Gelişmiş XCOFF biçemi hata ayıklama bilgisi üretir"
-#: toplev.c:914
+#: toplev.c:939
msgid "Generate COFF format debug info"
msgstr "COFF biçemi hata ayıklama bilgisi üretilir"
-#: toplev.c:917
+#: toplev.c:942
msgid "Generate VMS format debug info"
msgstr "VMS biçemi hata ayıklama bilgisi üretilir"
-#: toplev.c:961
+#: toplev.c:981
msgid "Perform DWARF2 duplicate elimination"
msgstr "DWARF2 yinelenmiş elemesi uygulanır"
-#: toplev.c:963
+#: toplev.c:983
msgid "Do not store floats in registers"
msgstr "Gerçel sayılar yazmaçlarda saklanmaz"
-#: toplev.c:965
+#: toplev.c:985
msgid "Consider all mem refs through pointers as volatile"
msgstr ""
"Tüm göstergeli bellek referanslarının anlık\n"
" olduğu varsayılır"
-#: toplev.c:967
+#: toplev.c:987
msgid "Consider all mem refs to global data to be volatile"
msgstr ""
"Global verilerin tüm bellek referanslarının anlık\n"
" olduğu varsayılır"
-#: toplev.c:969
+#: toplev.c:989
msgid "Consider all mem refs to static data to be volatile"
msgstr ""
"Statik verilerin tüm bellek referanslarının anlık\n"
" olduğu varsayılır"
-#: toplev.c:971
+#: toplev.c:991
msgid "Defer popping functions args from stack until later"
msgstr "Yığından işlev argümanlarının çekilmesini erteler"
-#: toplev.c:973
+#: toplev.c:993
msgid "When possible do not generate stack frames"
msgstr "Mümkün olduğunca yığın çerçeveleri üretilmez"
-#: toplev.c:975
+#: toplev.c:995
msgid "Optimize sibling and tail recursive calls"
msgstr "Kardeş ve kuyruk özyinelemeli çağrılar eniyilenir"
-#: toplev.c:977
+#: toplev.c:997
+msgid "Perform superblock formation via tail duplication"
+msgstr "Kuyruk tekrarı üzerinden süperblok oluşumu uygulanır"
+
+#: toplev.c:999
msgid "When running CSE, follow jumps to their targets"
msgstr ""
"Ortak alt ifade elemesi sırasında onların\n"
" hedeflerine dallanmalar izlenir"
-#: toplev.c:979
+#: toplev.c:1001
msgid "When running CSE, follow conditional jumps"
msgstr ""
"Ortak alt ifade elemesi sırasında koşullu\n"
" dallanmalar izlenir"
-#: toplev.c:981
+#: toplev.c:1003
msgid "Perform a number of minor, expensive optimizations"
msgstr "Masraflı eniyilemelerden birkaçını uygular"
-#: toplev.c:983
+#: toplev.c:1005
msgid "Perform jump threading optimizations"
msgstr "Atlama kanallaması eniyilemesi uygulanır"
-#: toplev.c:985
+#: toplev.c:1007
msgid "Perform strength reduction optimizations"
msgstr "Güç azaltma eniyilemesi uygulanır"
-#: toplev.c:987
+#: toplev.c:1009
msgid "Perform loop unrolling when iteration count is known"
msgstr "Yineleme sayısı bilindiğinde ters döngüleme uygulanır"
-#: toplev.c:989
+#: toplev.c:1011
msgid "Perform loop unrolling for all loops"
-msgstr "Tüm döngülere ters döngüleme uygular"
+msgstr "Tüm döngülere ters döngüleme uygulanır"
-#: toplev.c:991
+#: toplev.c:1013
msgid "Generate prefetch instructions, if available, for arrays in loops"
msgstr ""
"Mümkünse, döngülerdeki diziler için önalım\n"
" komutları üretilir"
-#: toplev.c:993
+#: toplev.c:1015
msgid "Force all loop invariant computations out of loops"
msgstr ""
"Döngülerdeki döngü dışına taşınacak olan değişimsiz\n"
" hesaplama etkinleÅŸtirir"
-#: toplev.c:995
+#: toplev.c:1017
msgid "Strength reduce all loop general induction variables"
msgstr ""
"Tüm döngülerdeki genel başlatma değişkenlerinin\n"
" gücünü azaltır"
-#: toplev.c:997
+#: toplev.c:1019
msgid "Store strings in writable data section"
msgstr "Dizgeler yazılabilir veri bölümünde saklanır"
-#: toplev.c:999
+#: toplev.c:1021
msgid "Enable machine specific peephole optimizations"
msgstr "Makinaya özel gözlem deliği eniyilemesi etkinleştirilir"
-#: toplev.c:1001
+#: toplev.c:1023
msgid "Copy memory operands into registers before using"
msgstr ""
"Kullanmadan önce bellek işlemimlerini yazmaçlara\n"
" kopyalar"
-#: toplev.c:1003
+#: toplev.c:1025
msgid "Copy memory address constants into regs before using"
msgstr ""
"Kullanmadan önce bellek adres sabitlerini\n"
" yazmaçlara kopyalar"
-#: toplev.c:1005
+#: toplev.c:1027
msgid "Allow function addresses to be held in registers"
msgstr "Yazmaçlarda tutulan işlev adreslerine izin verilir"
-#: toplev.c:1007
+#: toplev.c:1029
msgid "Integrate simple functions into their callers"
-msgstr "Basit işlevleri onları çağıranların içine gömer"
+msgstr "Basit işlevler onları çağıranların içine gömülür"
-#: toplev.c:1009
+#: toplev.c:1031
msgid "Generate code for funcs even if they are fully inlined"
msgstr ""
"Tamamen özümlenmiş olsalar bile işlevler için kod\n"
" üretilir"
-#: toplev.c:1011
+#: toplev.c:1033
msgid "Pay attention to the 'inline' keyword"
msgstr "'inline' anahtar sözcüğüne dikkat edilir"
-#: toplev.c:1013
+#: toplev.c:1035
msgid "Emit static const variables even if they are not used"
msgstr ""
"Kullanılmamış bile olsa statik sabit değişkenler\n"
" içerilir"
-#: toplev.c:1015
+#: toplev.c:1037
msgid "Check for syntax errors, then stop"
msgstr "Sözdizimi denetimi yaptıktan sonra durur"
-#: toplev.c:1017
+#: toplev.c:1039
msgid "Mark data as shared rather than private"
msgstr "Veriyi özelden çok paylaşımlı olarak imler"
-#: toplev.c:1019
+#: toplev.c:1041
msgid "Enable saving registers around function calls"
msgstr ""
"İşlev çağrıları civarındaki yazmaçların kaydını\n"
" etkinleÅŸtirir"
-#: toplev.c:1021
+#: toplev.c:1043
msgid "Return 'short' aggregates in memory, not registers"
msgstr ""
"Yazmaçlardaki değil bellekteki 'short' küme\n"
" döndürülür"
-#: toplev.c:1023
+#: toplev.c:1045
msgid "Return 'short' aggregates in registers"
msgstr "Yazmaçlardaki 'short' kümeleri döndürülür"
-#: toplev.c:1025
+#: toplev.c:1047
msgid "Attempt to fill delay slots of branch instructions"
msgstr ""
"Dallanma komutlarının gecikme yuvalarını doldurmaya\n"
" çalışır"
-#: toplev.c:1027
+#: toplev.c:1049
msgid "Perform the global common subexpression elimination"
-msgstr "Genel ortak alt ifade elemesi uygular"
+msgstr "Genel ortak alt ifade elemesi uygulanır"
-#: toplev.c:1029
+#: toplev.c:1051
msgid "Perform enhanced load motion during global subexpression elimination"
msgstr ""
"Genel alt ifade elemesi sırasında genişletilmiş yük\n"
" hareketi uygulanır"
-#: toplev.c:1031
+#: toplev.c:1053
msgid "Perform store motion after global subexpression elimination"
msgstr ""
"Genel alt ifade elemesinden sonra saklama hareketi\n"
" uygulanır"
-#: toplev.c:1033
+#: toplev.c:1055
+msgid "Perform the loop optimizations"
+msgstr "Döngü eniyilemesi uygulanır"
+
+#: toplev.c:1057
+msgid "Perform cross-jumping optimization"
+msgstr "Çapraz atlama eniyilemesi uygulanır"
+
+#: toplev.c:1059
+msgid "Perform conversion of conditional jumps to branchless equivalents"
+msgstr ""
+"Dallanmasız karşılıklara koşullu atlama dönüşümü\n"
+" uygulanır"
+
+#: toplev.c:1061
+msgid "Perform conversion of conditional jumps to conditional execution"
+msgstr ""
+"Koşullu çalıştırmaya koşullu atlama dönüşümü\n"
+" uygulanır"
+
+#: toplev.c:1063
msgid "Run CSE pass after loop optimizations"
msgstr "Döngü eniyilemesinden sonra CSE geçişi çalıştırılır"
-#: toplev.c:1035
+#: toplev.c:1065
msgid "Run the loop optimizer twice"
msgstr "Döngü eniyilemesi iki kere çalıştırılır"
-#: toplev.c:1037
+#: toplev.c:1067
msgid "Delete useless null pointer checks"
msgstr "Kullanışsız null gösterge denetimlerini siler"
-#: toplev.c:1039
-msgid "Pretend that host and target use the same FP format"
-msgstr ""
-"Ana ve hedef makina aynı kayan noktalı biçemi\n"
-" kullanıyormuş gibi davranır"
-
-#: toplev.c:1041
+#: toplev.c:1069
msgid "Reschedule instructions before register allocation"
msgstr "Yazmaç tahsisinden önce komutları yeniden zamanlar"
-#: toplev.c:1043
+#: toplev.c:1071
msgid "Reschedule instructions after register allocation"
msgstr "Yazmaç tahsisinden sonra komutları yeniden zamanlar"
-#: toplev.c:1045
+#: toplev.c:1073
msgid "Enable scheduling across basic blocks"
msgstr "Temel bloklar arasında zamanlama etkinleştirilir"
-#: toplev.c:1047
+#: toplev.c:1075
msgid "Allow speculative motion of non-loads"
msgstr "Yük oluşturmayanların tahmini hareketine izin verilir"
-#: toplev.c:1049
+#: toplev.c:1077
msgid "Allow speculative motion of some loads"
msgstr "Bazı yüklerin tahmini hareketine izin verilir"
-#: toplev.c:1051
+#: toplev.c:1079
msgid "Allow speculative motion of more loads"
msgstr "Fazla yüklerin tahmini hareketine izin verilir"
-#: toplev.c:1053
+#: toplev.c:1081
msgid "Replace add,compare,branch with branch on count reg"
msgstr ""
"Ekleme, karşılaştırma, dallanma sayaç üzerinden\n"
" dallanma ile deÄŸiÅŸtirilir"
-#: toplev.c:1055
+#: toplev.c:1083
msgid "Generate position independent code, if possible"
msgstr "Mümkünse, konumdan bağımsız kod üretilir"
-#: toplev.c:1058
+#: toplev.c:1086
msgid "Enable exception handling"
msgstr "Olağandışılıkların yakalanması etkinleştirilir"
-#: toplev.c:1060
+#: toplev.c:1088
msgid "Just generate unwind tables for exception handling"
msgstr ""
"Olağandışılıkların yakalanması için birbirlerini\n"
" etkilemeyenlerin tablosu oluÅŸturulur"
-#: toplev.c:1062
+#: toplev.c:1090
msgid "Generate unwind tables exact at each instruction boundary"
msgstr ""
"Her komut sınırında birbirlerini etkilemeyenlerin\n"
" tablosu kesin oluÅŸturulur"
-#: toplev.c:1064
+#: toplev.c:1092
msgid "Support synchronous non-call exceptions"
msgstr "Eşzamanlı çağrısız olağandışılıklar desteklenir"
-#: toplev.c:1066
+#: toplev.c:1094
msgid "Insert arc based program profiling code"
msgstr "Dal bağlantı kodunu yerleştirir"
-#: toplev.c:1068
+#: toplev.c:1096
msgid "Create data files needed by gcov"
msgstr "gcov için gereken veri dosyaları oluşturulur"
-#: toplev.c:1070
+#: toplev.c:1098
msgid "Use profiling information for branch probabilities"
msgstr ""
"Dallanma olasılıkları için ayrımlama bilgileri\n"
" kullanılır"
-#: toplev.c:1072
+#: toplev.c:1100
+msgid "Enable basic program profiling code"
+msgstr "Temel program profil çıkarma kodu etkinleştirilir"
+
+#: toplev.c:1102
msgid "Reorder basic blocks to improve code placement"
msgstr ""
"Kod yerleşimini iyileştirecek temel blokları\n"
" yeniden sıralar"
-#: toplev.c:1074
+#: toplev.c:1104
+msgid "Reorder functions to improve code placement"
+msgstr ""
+"Kod yerleÅŸimini iyileÅŸtirecek iÅŸlevleri\n"
+" yeniden sıralar"
+
+#: toplev.c:1106
msgid "Do the register renaming optimization pass"
msgstr "Yazmaç isimlendirme eniyilemesi aşamasını uygular"
-#: toplev.c:1076
+#: toplev.c:1108
msgid "Do the register copy-propagation optimization pass"
msgstr "Yazmaç kopya-girişim eniyileme aşaması uygulanır"
-#: toplev.c:1078
+#: toplev.c:1110
msgid "Do not put uninitialized globals in the common section"
msgstr "İlklendirilmemiş global'ler ortak bölüme konmaz"
-#: toplev.c:1080
+#: toplev.c:1112
msgid "Do not generate .size directives"
msgstr ".size yönergeleri üretilmez"
-#: toplev.c:1082
+#: toplev.c:1114
msgid "place each function into its own section"
msgstr "Her işlev kendi bölümüne yerleştirilir"
-#: toplev.c:1084
+#: toplev.c:1116
msgid "place data items into their own section"
msgstr "Veri öğelerini kendi bölümlerine yerleştirir"
-#: toplev.c:1086
-msgid "Add extra commentry to assembler output"
+#: toplev.c:1118
+msgid "Add extra commentary to assembler output"
msgstr "Çevirici çıktısına fazladan açıklama ekler"
-#: toplev.c:1088
+#: toplev.c:1120
msgid "Output GNU ld formatted global initializers"
msgstr "GNU ld biçemli genel ilklendiricileri çıktılar"
-#: toplev.c:1090
+#: toplev.c:1122
msgid "Enables a register move optimization"
msgstr "Bir yazmaç taşıma eniyilemesi etkinleştirilir"
-#: toplev.c:1092
+#: toplev.c:1124
msgid "Do the full regmove optimization pass"
msgstr "Baştan başa yazmaç taşıma eniyilemesi yapar"
-#: toplev.c:1094
+#: toplev.c:1126
msgid "Pack structure members together without holes"
msgstr "Yapı üyelerini birlikte deliksiz paketler"
-#: toplev.c:1096
+#: toplev.c:1128
msgid "Insert stack checking code into the program"
msgstr "Programa yığın denetimi kodu yerleştirilir"
-#: toplev.c:1098
+#: toplev.c:1130
msgid "Specify that arguments may alias each other & globals"
msgstr ""
"Argümanların bir diğerinin ya da globallerin takma\n"
" adı olabileceği varsayılır"
-#: toplev.c:1100
+#: toplev.c:1132
msgid "Assume arguments may alias globals but not each other"
msgstr ""
"Argümanların globallerden başkasına takma ad\n"
" olamayacağı varsayılır"
-#: toplev.c:1102
+#: toplev.c:1134
msgid "Assume arguments do not alias each other or globals"
msgstr ""
"Argümanların bir diğerine ya da globallere takma ad\n"
" olmadığı varsayılır"
-#: toplev.c:1104
+#: toplev.c:1136
msgid "Assume strict aliasing rules apply"
msgstr "Sıkı takma ad kuralları uygulanacağı varsayılır"
-#: toplev.c:1106
+#: toplev.c:1138
msgid "Align the start of loops"
msgstr "Döngü başlangıçları bayt sınırlarına ayarlanır"
-#: toplev.c:1108
+#: toplev.c:1140
msgid "Align labels which are only reached by jumping"
msgstr ""
"Sadece atlanarak ulaşılabilen hedefler bayt\n"
" sınırlarına ayarlanır"
-#: toplev.c:1110
+#: toplev.c:1142
msgid "Align all labels"
msgstr "Tüm dallanma hedefleri bayt sınırlarına ayarlanır"
-#: toplev.c:1112
+#: toplev.c:1144
msgid "Align the start of functions"
msgstr "İşlevlerin başlangıcı hizalanır"
-#: toplev.c:1114
-msgid "Attempt to merge identical constants accross compilation units"
+#: toplev.c:1146
+msgid "Attempt to merge identical constants across compilation units"
msgstr ""
"Özdeş sabitler derleme birimlerine karşın\n"
" katıştırılmaya çalışılır"
-#: toplev.c:1116
+#: toplev.c:1148
msgid "Attempt to merge identical constants and constant variables"
msgstr ""
"Özdeş sabitler ve sabit değişkenler katıştırılmaya\n"
" çalışılır"
-#: toplev.c:1118
+#: toplev.c:1150
msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
msgstr ""
"Hata ayıklama dökümlerinde satır numarası ve komut\n"
" numarası bilgilerinın çıktılanması engellenir"
-#: toplev.c:1120
+#: toplev.c:1152
msgid "Instrument function entry/exit with profiling calls"
msgstr "İşlevlere giriş ve çıkışta kullanım çağrıları üretir"
-#: toplev.c:1122
+#: toplev.c:1154
+msgid "Put zero initialized data in the bss section"
+msgstr "bss bölümüne sıfır ilklendirmeli veri yerleştirilir"
+
+#: toplev.c:1156
msgid "Enable SSA optimizations"
msgstr "SSA eniyilemesi etkinleÅŸtirilir"
-#: toplev.c:1124
+#: toplev.c:1158
msgid "Enable SSA conditional constant propagation"
msgstr "SSA koÅŸullu sabit giriÅŸimi etkinleÅŸtirilir"
-#: toplev.c:1126
+#: toplev.c:1160
msgid "Enable aggressive SSA dead code elimination"
msgstr "Girgin SSA ölü kod elemesi etkinleştirilir"
-#: toplev.c:1128
+#: toplev.c:1162
msgid "External symbols have a leading underscore"
msgstr "Alt çizgi ile başlayan sembollerde uyarır"
-#: toplev.c:1130
+#: toplev.c:1164
msgid "Process #ident directives"
msgstr "#ident yönergeleri işlenir"
-#: toplev.c:1132
+#: toplev.c:1166
msgid "Enables an rtl peephole pass run before sched2"
msgstr ""
"sched2 çalıştırılmadan önce bir rtl gözlem deliği\n"
" aşaması etkinleştirilir"
-#: toplev.c:1134
+#: toplev.c:1168
+msgid "Assume no NaNs or +-Infs are generated"
+msgstr "NaNların ya da +-Inflerin üretilmediği varsayılır"
+
+#: toplev.c:1170
msgid "Enables guessing of branch probabilities"
msgstr "Dallanma olasılığı tahmini etkinleştirilir"
-#: toplev.c:1136
+#: toplev.c:1172
msgid "Set errno after built-in math functions"
msgstr ""
"YerleÅŸik matematik iÅŸlevlerinden sonra ERRNO\n"
" kullanılır"
-#: toplev.c:1138
+#: toplev.c:1174
msgid "Floating-point operations can trap"
msgstr "kayan nokta iÅŸlemleri yakalanabilir"
-#: toplev.c:1140
+#: toplev.c:1176
msgid "Allow math optimizations that may violate IEEE or ANSI standards"
msgstr ""
"IEEE veya ANSI standartlarını bozabilen matematiksel\n"
" eniyilemelere izin verilir"
-#: toplev.c:1142
-msgid "Compile pointers as triples: value, base & end"
-msgstr "Göstergeler bu üçlüden olarak derlenir: değer, taban ve son"
+#: toplev.c:1178
+msgid "Disable optimizations observable by IEEE signaling NaNs"
+msgstr ""
+"IEEE sinyalleme NaNları tarafından farkedilebilen\n"
+" eniyilemeler iptal edilir"
-#: toplev.c:1144
-msgid "Generate code to check bounds before dereferencing pointers and arrays"
+#: toplev.c:1180
+msgid "Generate code to check bounds before indexing arrays"
msgstr ""
-"Başvuru bozan gösterge ve dizilerden önce denetim\n"
-" sınırlarına kod üretilir"
+"Diziler indislenmeden önce sınrlarını\n"
+" denetleyecek kod üretilir"
-#: toplev.c:1146
+#: toplev.c:1182
msgid "Convert floating point constant to single precision constant"
msgstr ""
"Kayan noktalı sabitler tek duyarlıklı sabitlere\n"
" dönüştürülür"
-#: toplev.c:1148
+#: toplev.c:1184
msgid "Report time taken by each compiler pass at end of run"
msgstr ""
"Çalışma bitiminde her derleme aşaması için kullanılan\n"
" zaman raporlanır"
-#: toplev.c:1150
+#: toplev.c:1186
msgid "Report on permanent memory allocation at end of run"
msgstr ""
"Çalıştırma sonunda ayrılan kesintisiz bellek miktarı\n"
" raporlanır"
-#: toplev.c:1152
+#: toplev.c:1188
msgid "Trap for signed overflow in addition / subtraction / multiplication"
msgstr "Toplama, çıkartma, çarpmada signed taşması yakalanır"
-#: toplev.c:1169
-msgid "Compile just for ISO C89"
-msgstr "Sadece ISO C89 için derleme yapılır"
+#: toplev.c:1190
+msgid "Use graph coloring register allocation."
+msgstr "Diyagram renklendiren yazmaç tahsisi kullanılır"
-#: toplev.c:1171
-msgid "Do not promote floats to double if using -traditional"
-msgstr ""
-"-traditional kullanıldığında float türler double\n"
-" yapılmaz"
+#: toplev.c:1207
+msgid "Compile just for ISO C90"
+msgstr "Sadece ISO C90 için derleme yapılır"
-#: toplev.c:1173
+#: toplev.c:1209
msgid "Determine language standard"
msgstr "Dil standartı saptanır"
-#: toplev.c:1177
+#: toplev.c:1213
msgid "Make bit-fields by unsigned by default"
msgstr "Öntanımlı olarak bit alanları unsigned yapılır"
-#: toplev.c:1181
+#: toplev.c:1217
msgid "Make 'char' be signed by default"
msgstr "Öntanımlı olarak 'char' signed yapılır"
-#: toplev.c:1183
+#: toplev.c:1219
msgid "Make 'char' be unsigned by default"
msgstr "Öntanımlı olarak 'char' unsigned yapılır"
-#: toplev.c:1189
-msgid "Attempt to support traditional K&R style C"
-msgstr "Geleneksel K&R tarzı C desteklemeye çalışılır"
-
-#: toplev.c:1195
+#: toplev.c:1225
msgid "Do not recognize the 'asm' keyword"
msgstr "'asm' anahtar sözcüğü tanınmaz"
-#: toplev.c:1198
+#: toplev.c:1228
msgid "Do not recognize any built in functions"
msgstr "Yerleşik işlevlerin hiçbiri tanınmaz"
-#: toplev.c:1200
+#: toplev.c:1230
msgid "Assume normal C execution environment"
msgstr "Normal C çalıştırma ortamı var sayılır"
-#: toplev.c:1203
+#: toplev.c:1233
msgid "Assume that standard libraries & main might not exist"
msgstr ""
"Standart kitaplıkların ve main işlevinin olmadığı\n"
" varsayılır"
-#: toplev.c:1206
+#: toplev.c:1236
msgid "Allow different types as args of ? operator"
msgstr ""
-"? işlemiminin argümanları olarak farklı türlere\n"
+"? işlecinin argümanları olarak farklı türlere\n"
" izin verilir"
-#: toplev.c:1209
+#: toplev.c:1239
msgid "Allow the use of $ inside identifiers"
msgstr "Belirteçlerin içinde $ kullanımına izin verilir"
-#: toplev.c:1214
+#: toplev.c:1244
msgid "Use the same size for double as for float"
msgstr "double türler için de float tür uzunluğu kullanılır"
-#: toplev.c:1217
+#: toplev.c:1247
msgid "Use the smallest fitting integer to hold enums"
msgstr ""
"enum türünü saklamada mümkün en küçük tamsayı tür\n"
" kullanılır"
-#: toplev.c:1220
+#: toplev.c:1250
msgid "Override the underlying type for wchar_t to `unsigned short'"
msgstr ""
"wchar_t için temel tür olarak `unsigned short' a\n"
" zorlar"
-#: toplev.c:1224
+#: toplev.c:1254
msgid "Enable most warning messages"
msgstr "Uyarı sıklığı iletileri etkinleştirilir"
-#: toplev.c:1226
+#: toplev.c:1256
msgid "Warn about casting functions to incompatible types"
msgstr "Uyumsuz türlere çevirim işlevleri hakkında uyarır"
-#: toplev.c:1230
+#: toplev.c:1259
msgid "Warn about functions which might be candidates for format attributes"
msgstr ""
"Biçem öznitelikleri için aday olabilecek işlevler\n"
" hakkında uyarır"
-#: toplev.c:1233
+#: toplev.c:1262
msgid "Warn about casts which discard qualifiers"
msgstr "Niteleyicileri iptal eden çevirimler hakkında uyarır"
-#: toplev.c:1236
+#: toplev.c:1265
msgid "Warn about subscripts whose type is 'char'"
msgstr "Türü 'char' olan dizi indisleri hakkında uyarır"
-#: toplev.c:1239 toplev.c:1242
+#: toplev.c:1268 toplev.c:1271
msgid "Warn if nested comments are detected"
msgstr "İçiçe açıklamalar saptandığında uyarır"
-#: toplev.c:1245
+#: toplev.c:1274
msgid "Warn about possibly confusing type conversions"
msgstr "Tür dönüşümlerinin olası karışıklığı hakkında uyarır"
-#: toplev.c:1248
+#: toplev.c:1278
+msgid "Do not warn about compile-time integer division by zero"
+msgstr "Derleme anı sıfırla tamsayı bölme taşması için uyarmaz"
+
+#: toplev.c:1280
+msgid "Warn about testing equality of floating point numbers"
+msgstr "Gerçek sayıların eşitlik testleri hakkında uyarır"
+
+#: toplev.c:1283
msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
msgstr ""
"printf/scanf/strftime/strfmon biçem\n"
" bozuklukları hakkında uyarmaz"
-#: toplev.c:1252
-msgid "Don't warn about strftime formats yielding 2 digit years"
-msgstr ""
-"2 haneli yıllara yer veren strftime biçemler\n"
-" hakkında uyarır"
-
-#: toplev.c:1255
+#: toplev.c:1287
msgid "Don't warn about too many arguments to format functions"
msgstr ""
"Biçemleme işlevlerine çok fazla argüman\n"
" verildiÄŸinde uyarmaz"
-#: toplev.c:1257
+#: toplev.c:1289
msgid "Warn about non-string-literal format strings"
msgstr ""
"Dizge olmayan sabit biçemleme dizgeleri hakkında\n"
" uyarır"
-#: toplev.c:1260
+#: toplev.c:1292
msgid "Warn about possible security problems with format functions"
msgstr ""
"Biçemleme işlevleriyle ilgili olası güvenlik\n"
" sorunları hakkında uyarır"
-#: toplev.c:1263
+#: toplev.c:1296
+msgid "Don't warn about strftime formats yielding 2 digit years"
+msgstr ""
+"2 haneli yıllara yer veren strftime biçemler\n"
+" hakkında uyarır"
+
+#: toplev.c:1298
msgid "Warn about implicit function declarations"
msgstr "İşlevlerin dolaylı bildirimlerinde uyarır"
-#: toplev.c:1267
+#: toplev.c:1302
msgid "Warn when a declaration does not specify a type"
msgstr "Bir bildirimde tür belirtilmemişse uyarır"
-#: toplev.c:1272
+#: toplev.c:1307
msgid "Warn about the use of the #import directive"
msgstr "#import yönergesinin kullanımı hakkında uyarır"
-#: toplev.c:1276
+#: toplev.c:1311
msgid "Do not warn about using 'long long' when -pedantic"
msgstr "-pedantic ile 'long long' kullanımı hakkında uyarmaz"
-#: toplev.c:1278
+#: toplev.c:1313
msgid "Warn about suspicious declarations of main"
msgstr "Kuşkulu main bildirimleri hakkında uyarır"
-#: toplev.c:1281
+#: toplev.c:1316
msgid "Warn about possibly missing braces around initializers"
msgstr "İlklendiricileri çevreleyen parantezler yoksa uyarır"
-#: toplev.c:1284
+#: toplev.c:1319
msgid "Warn about global funcs without previous declarations"
msgstr "Önceden bildirilmemiş genel işlevler hakkında uyarır"
-#: toplev.c:1287
+#: toplev.c:1322
msgid "Warn about global funcs without prototypes"
msgstr "Prototipsiz genel işlevler hakkında uyarır"
-#: toplev.c:1290
+#: toplev.c:1325
msgid "Warn about use of multicharacter literals"
msgstr "Çoklu karakter sabitlerinin kullanımı hakkında uyarır"
-#: toplev.c:1293
+#: toplev.c:1328
msgid "Warn about externs not at file scope level"
msgstr ""
"Dosya şemsiyesi altında bulunmayan extern'ler\n"
" hakkında uyarır"
-#: toplev.c:1296
+#: toplev.c:1331
msgid "Warn about possible missing parentheses"
msgstr "Olası eksik parantezler hakkında uyarır"
-#: toplev.c:1299
-msgid "Warn about possible violations of sequence point rules"
-msgstr ""
-"Ardışık nokta kurallarının olası çelişkileri\n"
-" hakkında uyarır"
-
-#: toplev.c:1302
+#: toplev.c:1334
msgid "Warn about function pointer arithmetic"
msgstr "İşlev göstergesi aritmetiği hakkında uyarır"
-#: toplev.c:1305
+#: toplev.c:1337
msgid "Warn about multiple declarations of the same object"
msgstr "Aynı nesne birden fazla bildirilmişse uyarır"
-#: toplev.c:1308
-msgid "Warn about signed/unsigned comparisons"
-msgstr "signed/unsigned karşılaştırmalarında uyarır"
+#: toplev.c:1340
+msgid "Warn whenever a function's return-type defaults to int"
+msgstr "bir işlevin dönen türü `int'e öntanımlılığında uyarır"
-#: toplev.c:1311
-msgid "Warn about testing equality of floating point numbers"
-msgstr "Gerçek sayıların eşitlik testleri hakkında uyarır"
+#: toplev.c:1343
+msgid "Warn about possible violations of sequence point rules"
+msgstr ""
+"Ardışık nokta kurallarının olası çelişkileri\n"
+" hakkında uyarır"
-#: toplev.c:1314
-msgid "Warn about unrecognized pragmas"
-msgstr "tanımlanamayan #pragma'lar hakkında uyarır"
+#: toplev.c:1346
+msgid "Warn about signed/unsigned comparisons"
+msgstr "signed/unsigned karşılaştırmalarında uyarır"
-#: toplev.c:1317
+#: toplev.c:1349
msgid "Warn about non-prototyped function decls"
msgstr "Prototipsiz işlev bildirimlerinde uyarır"
-#: toplev.c:1320
-msgid "Warn about constructs whose meaning change in ISO C"
-msgstr "ISO C de anlamı değişen kurucular hakkında uyarır"
+#: toplev.c:1352
+msgid "Warn about constructs whose meanings change in ISO C"
+msgstr "ISO C'de anlamı değişen kurucular hakkında uyarır"
-#: toplev.c:1323
+#: toplev.c:1355
msgid "Warn when trigraphs are encountered"
msgstr "Üçlü harfler saptandığında uyarı verilir"
-#: toplev.c:1328
+#: toplev.c:1360
+msgid "Warn about unrecognized pragmas"
+msgstr "tanımlanamayan #pragma'lar hakkında uyarır"
+
+#: toplev.c:1363
msgid "Mark strings as 'const char *'"
msgstr "Dizgeler 'const char *' olarak imlenir"
-#: toplev.c:1458
+#: toplev.c:1508
msgid "Warn when a function is unused"
msgstr "Bir işlev kullanılmamışsa uyarır"
-#: toplev.c:1460
+#: toplev.c:1510
msgid "Warn when a label is unused"
msgstr "Bir etiket kullanılmamışsa uyarır"
-#: toplev.c:1462
+#: toplev.c:1512
msgid "Warn when a function parameter is unused"
msgstr "Bir işlev parametresi kullanılmamışsa uyarır"
-#: toplev.c:1464
+#: toplev.c:1514
msgid "Warn when a variable is unused"
msgstr "Bir değişken kullanılmamışsa uyarır"
-#: toplev.c:1466
+#: toplev.c:1516
msgid "Warn when an expression value is unused"
msgstr "Bir ifade değeri kullanılmamışsa uyarır"
-#: toplev.c:1468
+#: toplev.c:1518
msgid "Do not suppress warnings from system headers"
msgstr "Sistem başlık dosyalarından gelen uyarılar engellenmez"
-#: toplev.c:1470
+#: toplev.c:1520
msgid "Treat all warnings as errors"
msgstr "Tüm uyarıların hata olduğu varsayılır"
-#: toplev.c:1472
+#: toplev.c:1522
msgid "Warn when one local variable shadows another"
msgstr "Bir yerel değişken bir diğerini gölgeliyorsa uyarır"
-#: toplev.c:1474
-msgid "Warn about enumerated switches missing a specific case"
+#: toplev.c:1524
+msgid "Warn about enumerated switches, with no default, missing a case"
msgstr ""
-"Bir switch case'de bir sembolik sabit grubu üyesinin\n"
-" bulunamadığı durumlarda uyarır"
+"Numaralı switch'lerde case eksikse veya\n"
+" default yoksa uyarır"
+
+#: toplev.c:1526
+msgid "Warn about enumerated switches missing a default case"
+msgstr "Numaralı switch'lerde default yoksa uyarır"
-#: toplev.c:1476
+#: toplev.c:1528
+msgid "Warn about all enumerated switches missing a specific case"
+msgstr "Numaralı switch'lerde belli bir case eksikse uyarır"
+
+#: toplev.c:1530
msgid "Warn about returning structures, unions or arrays"
msgstr "Dönen yapı, birleşim ve diziler hakkında uyarır"
-#: toplev.c:1478
+#: toplev.c:1532
msgid "Warn about pointer casts which increase alignment"
msgstr ""
"Hizalamayı arttıran gösterge çevirimleri hakkında\n"
" uyarır"
-#: toplev.c:1480
+#: toplev.c:1534
msgid "Warn about code that will never be executed"
msgstr "Hiç çalışmayacak kod hakkında uyarır"
-#: toplev.c:1482
+#: toplev.c:1536
msgid "Warn about uninitialized automatic variables"
msgstr "İlklendirilmemiş otomatik değişkenler hakkında uyarır"
-#: toplev.c:1484
+#: toplev.c:1538
msgid "Warn when an inlined function cannot be inlined"
msgstr "Bir özümlemeli işlev özümlenemediğinde uyarır"
-#: toplev.c:1486
+#: toplev.c:1540
msgid "Warn when the packed attribute has no effect on struct layout"
msgstr "Paketli öznitelik yapı yerleşiminde etkisizse uyarır"
-#: toplev.c:1488
+#: toplev.c:1542
msgid "Warn when padding is required to align struct members"
msgstr ""
"Yapı üyelerini hizalamak için adımlama gerekliyse\n"
" uyarır"
-#: toplev.c:1490
+#: toplev.c:1544
msgid "Warn when an optimization pass is disabled"
msgstr "Bir eniyileme aşaması iptal edildiğinde uyarır"
-#: toplev.c:1492
+#: toplev.c:1546
msgid "Warn about uses of __attribute__((deprecated)) declarations"
msgstr "__attribute__((eskidi)) bildirimlerinde uyarı verir"
-#: toplev.c:1494
+#: toplev.c:1548
msgid "Warn about functions which might be candidates for attribute noreturn"
msgstr ""
"noreturn özelliğine aday olabilecek işlevler\n"
" hakkında uyarı verilir"
-#: toplev.c:1565 toplev.c:4379 tradcpp.c:792
+#: toplev.c:1550
+msgid "Warn about code which might break the strict aliasing rules"
+msgstr ""
+"Adlandırma kurallarının değişmezliğini bozabilen\n"
+" kod varsa uyarır"
+
+#: toplev.c:1627 toplev.c:4522 config/rs6000/rs6000.c:680
#, c-format
msgid "invalid option `%s'"
msgstr "`%s' seçeneği geçersiz"
-#: toplev.c:1711
-#, c-format
-msgid "internal error: %s"
-msgstr "iç hata: %s"
-
-#: toplev.c:2024
+#: toplev.c:2031
#, c-format
msgid "`%s' used but never defined"
msgstr "`%s' tanımlanmadan kullanılmış"
-#: toplev.c:2027
+#: toplev.c:2034
#, c-format
msgid "`%s' declared `static' but never defined"
msgstr "`static' olarak bildirilen `%s' hiç atanmamış"
-#: toplev.c:2049
+#: toplev.c:2057
#, c-format
msgid "`%s' defined but not used"
msgstr "`%s' atanmış ama kullanılmamış"
@@ -7518,36 +7906,31 @@ msgstr "`%s' atanmış ama kullanılmamış"
msgid "invalid register name `%s' for register variable"
msgstr "yazmaç değişkeni için yazmaç ismi `%s' geçersiz"
-#: toplev.c:3279
-#, c-format
-msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
-msgstr "crossjump iptal edildi: %d > 1000 temel blok ve %d >= 20 kenar/temel blok"
-
-#: toplev.c:3590
+#: toplev.c:3679
msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
msgstr " -ffixed-YAZMAÇ Derleyiciye YAZMAÇ kullanışsız olarak belirtilir\n"
-#: toplev.c:3591
+#: toplev.c:3680
msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
msgstr ""
" -fcall-used-YAZMAÇ YAZMAÇ işlev çağrıları tarafından bozulmuş olan\n"
" olarak imlenir\n"
-#: toplev.c:3592
+#: toplev.c:3681
msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
msgstr " -fcall-saved-YAZMAÇ YAZMAÇ işlevlere karşı korunmuş olan olarak imlenir\n"
-#: toplev.c:3593
+#: toplev.c:3682
msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
msgstr " -finline-limit=SAYI Özümlenen işlevlerin uzunluğu SAYI ile sınırlanır\n"
-#: toplev.c:3594
+#: toplev.c:3683
msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
msgstr ""
" -fmessage-length=SAYI Tanı iletilerinin uzunluğu her satırda SAYI\n"
" karakterle sınırlanır. 0 satır sarmalamayı engeller\n"
-#: toplev.c:3595
+#: toplev.c:3684
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 ""
" -fdiagnostics-show-location=[once | every-line]\n"
@@ -7555,55 +7938,54 @@ msgstr ""
" konumu bilgisinin ne sıklıkta gösterileceği\n"
" belirtilir. once: bir kere, every-line: her satırda\n"
-#: toplev.c:3606
+#: toplev.c:3685
+msgid " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"
+msgstr ""
+" -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec]\n"
+" Öntanımlı thread-local saklatım kodu üretim\n"
+" modeli belirtilir\n"
+
+#: toplev.c:3696
msgid " -O[number] Set optimization level to [number]\n"
msgstr " -O[SAYI] Eniyileme seviyesi SAYI olarak ayarlanır\n"
-#: toplev.c:3607
+#: toplev.c:3697
msgid " -Os Optimize for space rather than speed\n"
msgstr " -Os Hızdan çok boyut eniyilemesi yapılır\n"
-#: toplev.c:3619
+#: toplev.c:3709
msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
msgstr " -pedantic ISO C uyumu için gereken uyarılar üretilir.\n"
-#: toplev.c:3620
+#: toplev.c:3710
msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
msgstr " -pedantic-errors Üretilen hatalar dışında -pedantic gibi\n"
-#: toplev.c:3621
+#: toplev.c:3711
msgid " -w Suppress warnings\n"
msgstr " -w Uyarılar engellenir\n"
-#: toplev.c:3622
+#: toplev.c:3712
msgid " -W Enable extra warnings\n"
msgstr " -W Fazladan uyarılar da verilir\n"
-#: toplev.c:3633
+#: toplev.c:3723
msgid " -Wunused Enable unused warnings\n"
msgstr " -Wunused Faydasız uyarılar da verilir\n"
-#: toplev.c:3634
+#: toplev.c:3724
msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
msgstr " -Wlarger-than-SAYI Bir nesne SAYI bayttan büyükse uyarır\n"
-#: toplev.c:3635
+#: toplev.c:3725
msgid " -p Enable function profiling\n"
msgstr " -p İşlev ayrımlaması etkinleştirilir\n"
-#: toplev.c:3637
-msgid " -a Enable block profiling \n"
-msgstr " -a Blok ayrımlaması etkinleştirilir\n"
-
-#: toplev.c:3640
-msgid " -ax Enable jump profiling \n"
-msgstr " -ax Atlama ayrımlaması etkinleştirilir\n"
-
-#: toplev.c:3642
+#: toplev.c:3726
msgid " -o <file> Place output into <file> \n"
msgstr " -o DOSYA Çıktı DOSYAya yazılır\n"
-#: toplev.c:3643
+#: toplev.c:3727
msgid ""
" -G <number> Put global and static data smaller than <number>\n"
" bytes into a special section (on some targets)\n"
@@ -7611,35 +7993,35 @@ msgstr ""
" -G SAYI Global ve static verileri SAYI bayttan daha\n"
" küçükse (bazı hedeflerdeki) bir özel bölüme koyar\n"
-#: toplev.c:3654
+#: toplev.c:3738
msgid " -aux-info <file> Emit declaration info into <file>\n"
msgstr " -aux-info DOSYA Bildirim bilgileri DOSYAda gösterilir\n"
-#: toplev.c:3655
+#: toplev.c:3739
msgid " -quiet Do not display functions compiled or elapsed time\n"
msgstr " -quiet Derlenen işlevler ve geçen zaman gösterilmez\n"
-#: toplev.c:3656
+#: toplev.c:3740
msgid " -version Display the compiler's version\n"
msgstr " -version Derleyicinin sürüm bilgileri gösterilir\n"
-#: toplev.c:3657
+#: toplev.c:3741
msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
msgstr " -d[HARFLER] Derleyici aşamalarının dökümlenmesi etkinleştirilir\n"
-#: toplev.c:3658
+#: toplev.c:3742
msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
msgstr " -dumpbase DOSYA Derleyici aşamalarının dökümleneceği DOSYA\n"
-#: toplev.c:3660
+#: toplev.c:3744
msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
msgstr " -fsched-verbose=SAYI Zamanlama için ayrıntı düzeyi belirtilir\n"
-#: toplev.c:3662
+#: toplev.c:3746
msgid " --help Display this information\n"
msgstr " --help Bu yardım iletisi gösterilir\n"
-#: toplev.c:3677
+#: toplev.c:3761
msgid ""
"\n"
"Language specific options:\n"
@@ -7647,12 +8029,12 @@ msgstr ""
"\n"
"Dile özel seçenekler:\n"
-#: toplev.c:3689
+#: toplev.c:3773
#, c-format
msgid " %-23.23s [undocumented]\n"
msgstr " %-23.23s [belgelenemeyen]\n"
-#: toplev.c:3697 toplev.c:3711
+#: toplev.c:3781 toplev.c:3795
#, c-format
msgid ""
"\n"
@@ -7661,7 +8043,7 @@ msgstr ""
"\n"
"Halen belgelenememiş %s seçenek daha var.\n"
-#: toplev.c:3701
+#: toplev.c:3785
#, c-format
msgid ""
"\n"
@@ -7670,7 +8052,7 @@ msgstr ""
"\n"
" %s seçenekleri:\n"
-#: toplev.c:3738
+#: toplev.c:3822
msgid ""
"\n"
"Target specific options:\n"
@@ -7678,12 +8060,12 @@ msgstr ""
"\n"
"Hedefe özel seçenekler:\n"
-#: toplev.c:3752 toplev.c:3771
+#: toplev.c:3836 toplev.c:3855
#, c-format
msgid " -m%-23.23s [undocumented]\n"
msgstr " -m%-23.23s [belgelenemeyen]\n"
-#: toplev.c:3780
+#: toplev.c:3864
msgid ""
"\n"
"There are undocumented target specific options as well.\n"
@@ -7691,68 +8073,73 @@ msgstr ""
"\n"
"Halen belgelenememiş hedefe özel seçenekler var.\n"
-#: toplev.c:3782
+#: toplev.c:3866
msgid " They exist, but they are not documented.\n"
msgstr " Var fakat daha belgelendirilmedi.\n"
-#: toplev.c:3835
+#: toplev.c:3919
#, c-format
msgid "unrecognized gcc debugging option: %c"
msgstr "tanınmayan gcc hata ayıklama seçeneği: %c"
-#: toplev.c:3905
+#: toplev.c:3985
+#, c-format
+msgid "`%s': unknown tls-model option"
+msgstr "`%s': bilinmeyen tls-model seçeneği"
+
+#: toplev.c:4012
#, c-format
msgid "unrecognized register name `%s'"
msgstr "yazmaç ismi `%s' bilinmiyor"
-#: toplev.c:3930 toplev.c:4808
+#: toplev.c:4037 toplev.c:4980
#, c-format
msgid "unrecognized option `%s'"
msgstr "`%s' seçeneği bilinmiyor"
-#: toplev.c:3974
+#: toplev.c:4081
msgid "-Wid-clash-LEN is no longer supported"
msgstr "-Wid-clash-UZUNLUK artık desteklenmiyor."
-#: toplev.c:4051
+#: toplev.c:4158
#, c-format
msgid "use -gdwarf -g%d for DWARF v1, level %d"
msgstr "DWARF v1, %2$d seviyesi için -gdwarf -g%1$d kullanın"
-#: toplev.c:4054
+#: toplev.c:4161
msgid "use -gdwarf-2 for DWARF v2"
msgstr "DWARF v2 için -gdwarf-2 kullanın"
-#: toplev.c:4059
+#: toplev.c:4166
#, c-format
msgid "ignoring option `%s' due to invalid debug level specification"
msgstr "geçersiz hata ayıklama özelliğinden dolayı `%s' seçeneği yoksayılıyor"
-#: toplev.c:4082 toplev.c:4806
+#: toplev.c:4189 toplev.c:4978
#, c-format
msgid "`%s': unknown or unsupported -g option"
msgstr "`%s': -g seçeneği bilinmiyor ya da desteklenmiyor"
-#: toplev.c:4089
+#: toplev.c:4196
#, c-format
msgid "`%s' ignored, conflicts with `-g%s'"
msgstr "`-g%2$s' ile çeliştiği için `%1$s' yoksayıldı"
-#: toplev.c:4168
+#: toplev.c:4278
msgid "-param option missing argument"
msgstr "-param seçeneğinde argüman eksik"
-#: toplev.c:4177
+#: toplev.c:4287
#, c-format
msgid "invalid --param option: %s"
msgstr "geçersiz --param seçeneği: %s"
-#: toplev.c:4189
+#: toplev.c:4299
#, c-format
msgid "invalid parameter value `%s'"
msgstr "geçersiz parametre değeri `%s'"
-#: toplev.c:4396
+#: toplev.c:4539
#, c-format
msgid ""
"%s%s%s version %s (%s)\n"
@@ -7763,1138 +8150,964 @@ msgstr ""
"%s\tGNU C sürüm %s tarafından derlendi.\n"
"%s%s%s sürüm %s (%s) CC tarafından derlendi.\n"
-#: toplev.c:4452
+#: toplev.c:4546
+#, c-format
+msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+msgstr ""
+
+#: toplev.c:4598
msgid "options passed: "
msgstr "belirtilen seçenekler: "
-#: toplev.c:4481
+#: toplev.c:4627
msgid "options enabled: "
msgstr "etkin seçenekler: "
-#: toplev.c:4540 java/jcf-write.c:3373
+#: toplev.c:4686 java/jcf-write.c:3453
#, c-format
msgid "can't open %s for writing"
msgstr "%s yazmak için açılamıyor"
-#: toplev.c:4798
+#: toplev.c:4970
#, c-format
msgid "ignoring command line option '%s'"
msgstr "yoksayılan komut satırı seçeneği `%s'"
-#: toplev.c:4801
+#: toplev.c:4973
#, c-format
msgid "(it is valid for %s but not the selected language)"
msgstr "(%s için geçerli ama o dil seçilmedi)"
-#: toplev.c:4835
+#: toplev.c:5007
msgid "-Wuninitialized is not supported without -O"
msgstr "-Wuninitialized seçeneği -O olmaksızın desteklenmiyor"
-#: toplev.c:4894
+#: toplev.c:5062
msgid "instruction scheduling not supported on this target machine"
msgstr "bu hedef makina için işlem zamanlaması desteklenmiyor"
-#: toplev.c:4898
+#: toplev.c:5066
msgid "this target machine does not have delayed branches"
msgstr "bu hedef makina gecikmeli dallanmalara sahip deÄŸil"
-#: toplev.c:4907
-msgid "profiling does not work without a frame pointer"
-msgstr "bir çerçeve göstergesi olmaksızın ayrımlama çalışmaz"
-
-#: toplev.c:4922
+#: toplev.c:5080
#, c-format
msgid "-f%sleading-underscore not supported on this target machine"
msgstr "bu hedef makinada -f%sleading-underscore desteklenmiyor"
-#: toplev.c:4985
+#: toplev.c:5143
msgid "-ffunction-sections not supported for this target"
msgstr "bu hedefte -ffunction-sections desteklenmiyor"
-#: toplev.c:4990
+#: toplev.c:5148
msgid "-fdata-sections not supported for this target"
msgstr "bu hedefte -fdata-sections desteklenmiyor"
-#: toplev.c:4997
+#: toplev.c:5155
msgid "-ffunction-sections disabled; it makes profiling impossible"
msgstr "-ffunction-sections iptal edildi; ayrımlamayı mümkün kılmıyor"
-#: toplev.c:5004
+#: toplev.c:5162
msgid "-fprefetch-loop-arrays not supported for this target"
msgstr "bu hedefte -fprefetch-loop-arrays desteklenmiyor"
-#: toplev.c:5010
+#: toplev.c:5168
msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
msgstr "-fprefetch-loop-arrays bu hedef için desteklenmiyor (-march seçeneğini deneyin)"
-#: toplev.c:5019
+#: toplev.c:5177
msgid "-fprefetch-loop-arrays is not supported with -Os"
msgstr "-fprefetch-loop-arrays, -Os ile desteklenmiyor"
-#: toplev.c:5025
+#: toplev.c:5183
msgid "-ffunction-sections may affect debugging on some targets"
msgstr "-ffunction-sections bazı hedeflerde hata ayıklamayı etkileyebilir"
-#: toplev.c:5146
+#: toplev.c:5295
#, c-format
msgid "error writing to %s"
msgstr "%s e yazarken hata"
-#: toplev.c:5148 java/jcf-parse.c:969 java/jcf-write.c:3380
+#: toplev.c:5297 java/jcf-parse.c:936 java/jcf-write.c:3460
#, c-format
msgid "error closing %s"
msgstr "%s kapatılırken hata"
-#. It's a float since it contains a point.
-#: tradcif.y:231
-msgid "floating point numbers not allowed in #if expressions"
-msgstr "#if ifadelerinde gerçel sayılara izin verilmez"
-
-#: tradcif.y:277
-msgid "invalid number in #if expression"
-msgstr "#if ifadesindeki sayı geçersiz"
-
-#: tradcif.y:357
-msgid "invalid character constant in #if"
-msgstr "#if ifadesinde geçersiz karakter sabiti"
-
-#: tradcif.y:394
-msgid "double quoted strings not allowed in #if expressions"
-msgstr "#if ifadelerinde çift tırnaklı dizgelere izin verilmez"
-
-#: tradcif.y:407
-msgid "invalid token in expression"
-msgstr "ifadede geçersiz dizgecik"
-
-#: tradcif.y:498
-msgid "octal character constant does not fit in a byte"
-msgstr "sekizlik karakter sabiti bir bayta sığmaz"
-
-#: tradcif.y:519
-msgid "hex character constant does not fit in a byte"
-msgstr "onaltılık karakter sabiti bir bayta sığmaz"
-
-#: tradcif.y:550
-msgid "empty #if expression"
-msgstr "boÅŸ #if ifadesi"
-
-#: tradcif.y:564
-msgid "Junk after end of expression."
-msgstr "İfadeden sonrakiler anlaşılamadı."
-
-#: tradcpp.c:145
-msgid "macro or #include recursion too deep"
-msgstr "makro ya da #include özyinelemesi çok derin"
-
-#: tradcpp.c:562
-#, c-format
-msgid "usage: %s [switches] input output"
-msgstr "kullanımı: %s [seçenekler] girdi çıktı"
-
-#: tradcpp.c:578
-msgid "-traditional is not supported in C++"
-msgstr "-traditional C++'da desteklenmiyor"
-
-#: tradcpp.c:580
-msgid "-traditional and -ansi are mutually exclusive"
-msgstr "-traditional ve -ansi birlikte kullanılamaz"
-
-#: tradcpp.c:594
-msgid "filename missing after -i option"
-msgstr "-i seçeneğinden sonra dosya ismi eksik"
-
-#: tradcpp.c:612
-msgid "filename missing after -o option"
-msgstr "-o seçeneğinden sonra dosya ismi eksik"
-
-#: tradcpp.c:675
-#, c-format
-msgid "target missing after %s option"
-msgstr "%s seçeneğinden sonraki hedef eksik"
-
-#: tradcpp.c:689
-#, c-format
-msgid "filename missing after %s option"
-msgstr "%s seçeneğinden sonra dosya ismi eksik"
-
-#: tradcpp.c:714
-#, c-format
-msgid "macro name missing after -%c option"
-msgstr "-%c seçeneğinden sonra makro ismi eksik"
-
-#: tradcpp.c:734
-msgid "-pedantic and -traditional are mutually exclusive"
-msgstr "-pedantic ve -traditional birlikte kullanılamaz"
-
-#: tradcpp.c:739
-msgid "-trigraphs and -traditional are mutually exclusive"
-msgstr "-trigraphs ve -traditional birlikte kullanılamaz"
-
-#: tradcpp.c:765
-msgid "directory name missing after -I option"
-msgstr "-I seçeneğinden sonra dizin ismi eksik"
-
-#: tradcpp.c:1445 tradcpp.c:3937
-msgid "`/*' within comment"
-msgstr "açıklama içinde `/*'"
-
-#: tradcpp.c:1821
-#, c-format
-msgid "unterminated #%s conditional"
-msgstr "sonlandırılmamış #%s koşulu"
-
-#: tradcpp.c:2180
-msgid "not in any file?!"
-msgstr "bir dosyada deÄŸil mi?!"
-
-#: tradcpp.c:2286
-msgid "`defined' must be followed by ident or (ident)"
-msgstr "`defined' ident ya da (ident) ile izlenmeli"
-
-#: tradcpp.c:2290
-msgid "cccp error: invalid special hash type"
-msgstr "cccp hatası: özel isimli-yapı türü geçersiz"
-
-#: tradcpp.c:2388 tradcpp.c:2458
-msgid "#include expects \"fname\" or <fname>"
-msgstr "#include \"dosyaismi\" ya da #include <dosyaismi> şeklinde kullanılır"
-
-#: tradcpp.c:2543
-#, c-format
-msgid "no include path in which to find %.*s"
-msgstr "%.*s arama yolunda include dosyaları yok"
-
-#: tradcpp.c:2721
-msgid "invalid macro name"
-msgstr "geçersiz makro ismi"
-
-#: tradcpp.c:2729
-#, c-format
-msgid "invalid macro name `%s'"
-msgstr "geçersiz makro ismi `%s'"
-
-#: tradcpp.c:2734
-msgid "\"defined\" cannot be used as a macro name"
-msgstr "\"defined\" makro ismi olarak kullanılamaz"
-
-#: tradcpp.c:2761
-msgid "parameter name starts with a digit in #define"
-msgstr "#define yönergesindeki parametre ismi bir rakam ile başlıyor"
-
-#: tradcpp.c:2771
-msgid "badly punctuated parameter list in #define"
-msgstr "#define yönergesinde kötü vurgulanmış parametre listesi"
-
-#: tradcpp.c:2779
-msgid "unterminated parameter list in #define"
-msgstr "#define yönergesinde sonlandırılmamış parametre listesi"
-
-#: tradcpp.c:2827
-#, c-format
-msgid "\"%.*s\" redefined"
-msgstr "\"%.*s\" yeniden tanımlanmış"
-
-#: tradcpp.c:3084
-msgid "# operator should be followed by a macro argument name"
-msgstr "# işlemiminden sonra bir makro ismi olmalı"
-
-#: tradcpp.c:3131 tradcpp.c:3157 tradcpp.c:3171 tradcpp.c:3178 tradcpp.c:3203
-msgid "invalid format #line command"
-msgstr "geçersiz biçemli #line komutu"
-
-#: tradcpp.c:3229
-msgid "undefining `defined'"
-msgstr "undef'lenen `defined'"
-
-#: tradcpp.c:3233
-#, c-format
-msgid "undefining `%s'"
-msgstr "`%s' sonra #undef yapılmış"
-
-#: tradcpp.c:3289
-msgid "extra text at end of directive"
-msgstr "yönerge sonunda fazladan metin"
-
-#: tradcpp.c:3396
-#, c-format
-msgid "#error%.*s"
-msgstr "#error%.*s"
-
-#: tradcpp.c:3406
-#, c-format
-msgid "#warning%.*s"
-msgstr "#warning%.*s"
-
-#: tradcpp.c:3562
-msgid "#elif not within a conditional"
-msgstr "#elif bir koşulun içinde değil"
-
-#: tradcpp.c:3819
-#, c-format
-msgid "#%s not within a conditional"
-msgstr "#%s bir koşulun içinde değil"
-
-#: tradcpp.c:3827
-msgid "#else or #elif after #else"
-msgstr "#else'den sonra #elif ya da #else"
-
-#: tradcpp.c:3867
-msgid "#else not within a conditional"
-msgstr "#else bir koşulun içinde değil"
-
-#: tradcpp.c:3898
-msgid "unbalanced #endif"
-msgstr "karşılıksız #endif"
-
-#: tradcpp.c:3992
-msgid "unterminated string or character constant"
-msgstr "sonlandırılmamış dizge ya da karakter sabiti"
-
-#: tradcpp.c:4150
-#, c-format
-msgid "arguments given to macro `%s'"
-msgstr "`%s' makrosuna verilmiş argümanlar"
-
-#: tradcpp.c:4156
-#, c-format
-msgid "no args to macro `%s'"
-msgstr "`%s' makrosuna argüman verilmemiş"
-
-#: tradcpp.c:4158
-#, c-format
-msgid "only 1 arg to macro `%s'"
-msgstr "`%s' makrosuna sadece 1 argüman verilmiş"
-
-#: tradcpp.c:4160
-#, c-format
-msgid "only %d args to macro `%s'"
-msgstr "`%2$s' makrosuna sadece %1$d argüman verilmiş"
-
-#: tradcpp.c:4162
-#, c-format
-msgid "too many (%d) args to macro `%s'"
-msgstr "`%2$s' makrosuna çok fazla (%1$d) argüman verilmiş"
-
-#: tradcpp.c:4759
-#, c-format
-msgid ""
-"internal error in %s, at tradcpp.c:%d\n"
-"Please submit a full bug report.\n"
-"See %s for instructions."
-msgstr ""
-"tradcpp.c:%2$d: %1$s işlevinde iç hata\n"
-"Lütfen ayrıntılı bir hapa raporu gönderin.\n"
-"İşlemler için %3$s adresine bakın."
-
-#: tree-dump.c:848
+#: tree-dump.c:702
#, c-format
msgid "could not open dump file `%s'"
msgstr "döküm dosyası `%s' açılamadı"
-#: tree-dump.c:924
+#: tree-dump.c:778
#, c-format
msgid "ignoring unknown option `%.*s' in `-f%s'"
msgstr "yoksayılan bilinmeyen seçenek `%.*s' (`-f%s' içinde)"
-#: tree.c:3888
+#: tree.c:3645
msgid "arrays of functions are not meaningful"
msgstr "işlev dizileri anlamlı değil"
-#: tree.c:3945
+#: tree.c:3702
msgid "function return type cannot be function"
msgstr "işlevin dönen değer türü işlev olamaz"
-#: tree.c:4699
+#: tree.c:4545
msgid "invalid initializer for bit string"
msgstr "bit dizge için ilklendirici geçersiz"
-#: tree.c:4758
+#: tree.c:4604
#, c-format
msgid "tree check: expected %s, have %s in %s, at %s:%d"
msgstr "Ağaç denetimi: %4$s:%5$d: %3$s işlevinde '%1$s' umulurken, '%2$s' var"
-#: tree.c:4775
+#: tree.c:4621
#, c-format
msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
msgstr "Ağaç denetimi: %5$s:%6$d: %4$s işlevinde sınıf '%1$c' umulurken, '%2$c' (%3$s) var"
-#: varasm.c:454 config/i386/winnt.c:522
+#: tree.c:4638
+#, c-format
+msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+msgstr "ağaç denetimi: %4$s:%5$d: %3$s işlevindeki %2$d öğeli vektörün %1$d. öğesine erişildi"
+
+#: varasm.c:455 config/i386/winnt.c:546
#, c-format
msgid "%s causes a section type conflict"
msgstr "%s bir bölüm türü çelişkiye sebep oluyor"
-#: varasm.c:879
+#: varasm.c:841
#, c-format
msgid "register name not specified for `%s'"
msgstr "`%s' için yazmaç ismi belirtilmemiş"
-#: varasm.c:881
+#: varasm.c:843
#, c-format
msgid "invalid register name for `%s'"
msgstr "`%s' için yazmaç ismi geçersiz"
-#: varasm.c:884
+#: varasm.c:846
#, c-format
msgid "data type of `%s' isn't suitable for a register"
msgstr "`%s' veri türü bir yazmaç için kullanılabilir değil"
-#: varasm.c:887
+#: varasm.c:849
#, c-format
msgid "register specified for `%s' isn't suitable for data type"
msgstr "`%s' için belirtilen yazmaç veri türü için kullanılabilir değil"
-#: varasm.c:896
+#: varasm.c:858
msgid "global register variable has initial value"
msgstr "genel yazmaç değişkeni öndeğer içeriyor"
-#: varasm.c:899
+#: varasm.c:861
msgid "volatile register variables don't work as you might wish"
msgstr "oynak yazmaç değişkenleri sizin istediğiniz gibi çalışmaz"
-#: varasm.c:932
+#: varasm.c:894
#, c-format
msgid "register name given for non-register variable `%s'"
msgstr "yazmaç olmayan değişken `%s' için yazmaç ismi verilmiş"
-#: varasm.c:1570
+#: varasm.c:1542
#, c-format
msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
msgstr "%s hizalaması en büyük nesne dosyası hizalamasından daha büyük. %d kullanılıyor"
-#: varasm.c:1621
+#: varasm.c:1584
+msgid "thread-local COMMON data not implemented"
+msgstr "thread-local COMMON verisi henüz yazılmadı"
+
+#: varasm.c:1610
#, c-format
msgid "requested alignment for %s is greater than implemented alignment of %d"
msgstr "%s için istenen hizalama yerleşik hizalama %d den daha büyük"
-#: varasm.c:4570
+#: varasm.c:4023
msgid "initializer for integer value is too complicated"
msgstr "tamsayı öndeğer fazla karmaşık"
-#: varasm.c:4575
+#: varasm.c:4028
msgid "initializer for floating value is not a floating constant"
msgstr "gerçel sayı öndeğer bir gerçel sayı sabit değil"
-#: varasm.c:4625
+#: varasm.c:4078
msgid "unknown set constructor type"
msgstr "bilinmeyen set constructor türü"
-#: varasm.c:4839
+#: varasm.c:4292
#, c-format
msgid "invalid initial value for member `%s'"
msgstr "üye `%s' için öndeğer geçersiz"
-#: varasm.c:5000
-#, c-format
-msgid "weak declaration of `%s' must be public"
-msgstr "`%s' zayıf bildirimi 'public' olmalı"
-
-#: varasm.c:5002
+#: varasm.c:4483 varasm.c:4526
#, c-format
msgid "weak declaration of `%s' must precede definition"
msgstr "`%s' zayıf bildirimi tanımından önce olmalı"
-#: varasm.c:5009
+#: varasm.c:4490
+#, c-format
+msgid "weak declaration of `%s' after first use results in unspecified behavior"
+msgstr "`%s' zayıf bildiriminin ilk kullanımdan sonra olması tanımlanmamış davranışa yol açar"
+
+#: varasm.c:4524
+#, c-format
+msgid "weak declaration of `%s' must be public"
+msgstr "`%s' zayıf bildirimi 'public' olmalı"
+
+#: varasm.c:4533
#, c-format
msgid "weak declaration of `%s' not supported"
msgstr "`%s' zayıf bildirimi desteklenmiyor"
-#: varasm.c:5036 varasm.c:5107
+#: varasm.c:4560 varasm.c:4635
msgid "only weak aliases are supported in this configuration"
msgstr "bu yapılandırmada sadece zayıf takma adlar destekleniyor"
-#: varasm.c:5116
+#: varasm.c:4643
msgid "alias definitions not supported in this configuration; ignored"
msgstr "takma ad tanımlamaları bu yapılandırmada desteklenmiyor; yoksayıldı"
-#: varray.c:88
+#: varasm.c:4674
+msgid "visibility attribute not supported in this configuration; ignored"
+msgstr "görünürlük bu yapılandırmada desteklenmiyor; yoksayıldı"
+
+#: varray.c:134
#, c-format
msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
msgstr "Sanal dizi %1$s[%2$lu]: %5$s:%6$d: %4$s içindeki %3$lu öğesi sınırların dışında"
#. 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 "%s stab (0x%x) için sclass yok\n"
-#: params.def:46
-msgid "The maximum number of instructions in a function that is eligible for inlining"
+#: pretty-print.h:97
+#, c-format
+msgid "#`%s' not supported by %s#"
+msgstr "#`%s', %s# tarafından desteklenmiyor"
+
+#: params.def:53
+msgid "The maximum number of instructions in a single function eligible for inlining"
+msgstr ""
+"Özümleme için seçilebilir bir işlevde\n"
+" en çok asm komutu sayısı"
+
+#: params.def:65
+msgid "The maximum number of instructions when automatically inlining"
msgstr ""
-"Özümleme için seçilebilir bir işlevde en\n"
-" çok asm komutu sayısı"
+"Otomatik olarak özümlendiğinde en çok\n"
+" asm komutu sayısı"
-#: params.def:57
+#: params.def:84
+msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+msgstr ""
+"GCC özümlemeyi kısmaya başlamadan önce\n"
+" tekrarlanan özümlemeye göre en çok asm\n"
+" komutu sayısı"
+
+#: params.def:97
+msgid "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter"
+msgstr "Ardışık içerilme limitine ulaştıktan sonra içerilmeyi frenleyen lineer işlevin eğimi, bu parametrenin negatif ters çarpanı olarak verilmiş"
+
+#: params.def:110
+msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+msgstr ""
+"Bir miktar ardışık özümlemeden sonraki\n"
+" özümlemede hala seçilebilir olan tek\n"
+" bir işlev içindeki asm komutu sayısı"
+
+#: params.def:120
+msgid "The maximum number of instructions for the RTL inliner"
+msgstr "RTL özümleyici için en fazla komut sayısı"
+
+#: params.def:131
msgid "The maximum number of instructions to consider to fill a delay slot"
msgstr ""
"Bir gecikme yuvasını dolduracağı\n"
" varsayılan en fazla komut sayısı"
-#: params.def:68
+#: params.def:142
msgid "The maximum number of instructions to consider to find accurate live register information"
msgstr ""
"tam doğru faal yazmaç bilgisinin\n"
" bulunmasını dikkate alacak asm\n"
" komutlarının maksimum sayısı"
-#: params.def:78
+#: params.def:152
msgid "The maximum length of scheduling's pending operations list"
msgstr ""
"İşlemler listesinin tamamlanmasını\n"
" bekleyenlerin en büyük uzunluğu"
-#: params.def:85
+#: params.def:159
msgid "The maximum amount of memory to be allocated by GCSE"
msgstr ""
"Genel ortak alt ifade elemesi tarafından\n"
" ayrılan en büyük bellek"
-#: params.def:90
+#: params.def:164
msgid "The maximum number of passes to make when doing GCSE"
msgstr ""
"Genel ortak alt ifade elemesi uygulanırken\n"
" yapılacak en çok geçiş sayısı"
-#: config/darwin-c.c:76
+#: params.def:171
+msgid "The maximum number of instructions to consider to unroll in a loop"
+msgstr ""
+"Bir döngü içinde çevrime sokulmayacağı\n"
+" varsayılan en fazla komut sayısı"
+
+#: params.def:176
+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 ""
+"Temel bloğun sıcak olarak düşünülmesi\n"
+" gereğine göre yazılımda temel bloğun\n"
+" maksimum tekrar sayısının kesrini seçer"
+
+#: params.def:181
+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 ""
+"Temel bloğun sıcak olarak düşünülmesi\n"
+" gereğine göre yazılımda temel bloğun\n"
+" maksimum icra sıklığının kesrini seçer"
+
+#: params.def:186
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+msgstr ""
+"Ä°ÅŸlevin izlenme oluÅŸumu ile kapsanacak,\n"
+" işlenme frekansı ile çarpılmış yüzdesi.\n"
+" Profil geribeslemesi mevcut olduÄŸu \n"
+" zaman kullanılır"
+
+#: params.def:191
+msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+msgstr ""
+"Ä°ÅŸlevin izlenme oluÅŸumu ile kapsanacak,\n"
+" işlenme frekansı ile çarpılmış \n"
+" yüzdesi. Profil geribeslemesi mümkün\n"
+" olmadığında kullanılır"
+
+#: params.def:196
+msgid "Maximal code growth caused by tail duplication (in percents)"
+msgstr ""
+"Kuyruk tekrarı tarafından oluşturulan en\n"
+" yüksek kod büyümesi (yüzde olarak)"
+
+#: params.def:200
+msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+msgstr ""
+"En iyi kenar tersine olasılığı bu eşik\n"
+" değerden (yüzde olarak) küçükse\n"
+" geriye doğru büyüme durdurulur"
+
+#: params.def:205
+msgid "Stop forward growth if the probability of best edge is less than this threshold (in percents). Used when profile feedback is available"
+msgstr ""
+"En iyi kenar olasılığı bu eşik\n"
+" değerden (yüzde olarak) küçükse\n"
+" ileriye doğru büyüme durdurulur.\n"
+" Profil geribeslemesi mümkünse kullanılır"
+
+#: params.def:210
+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 ""
+"En iyi kenar olasılığı bu eşik değerden\n"
+" yüzde olarak) küçükse ileriye doğru\n"
+" büyüme durdurulur. Profil \n"
+" geribeslemesi mümkün değilse kullanılır"
+
+#: params.def:217
+msgid "The maximum number of incoming edges to consider for crossjumping"
+msgstr ""
+"Çapraz sıçrama için varsayılan gelen\n"
+" kenarların azami sayısı"
+
+#: params.def:230
+msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+msgstr ""
+"Üst bellek çöp temizliğini başlatmak için\n"
+" gereken minimum artış, üst bellek\n"
+" boyutunun yüzdesi olarak"
+
+#: params.def:236
+msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+msgstr ""
+"Çöp toplamaya başlanmadan önceki kilobayt\n"
+" cinsinden en küçük üst bellek boyutu"
+
+#: config/darwin-c.c:75
msgid "too many #pragma options align=reset"
msgstr "çok sayıda #pragma seçeneği align=reset"
-#: config/darwin-c.c:98 config/darwin-c.c:101 config/darwin-c.c:103 config/darwin-c.c:105
+#: 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 "'#pragma options' hatalı, yoksayılıyor"
-#: config/darwin-c.c:108
+#: config/darwin-c.c:107
msgid "junk at end of '#pragma options'"
msgstr "'#pragma options' sonunda karışıklık"
-#: config/darwin-c.c:118
+#: config/darwin-c.c:117
msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
msgstr "'#pragma options align={mac68k|power|reset}' hatalı, yoksayılıyor"
-#: config/darwin-c.c:131
+#: config/darwin-c.c:130
msgid "missing '(' after '#pragma unused', ignoring"
msgstr "'#pragma unused'dan sonra '(' eksik, yoksayılıyor"
-#: config/darwin-c.c:149
+#: config/darwin-c.c:148
msgid "missing ')' after '#pragma unused', ignoring"
msgstr "'#pragma unused'dan sonra ')' eksik, yoksayılıyor"
-#: config/darwin-c.c:152
+#: config/darwin-c.c:151
msgid "junk at end of '#pragma unused'"
msgstr "'#pragma unused' sonunda karışıklık"
-#: config/nextstep.c:68
-msgid "optimization turned on"
-msgstr "eniyileme etkin"
-
-#: config/nextstep.c:74
-msgid "optimization turned off"
-msgstr "eniyileme etkin deÄŸil"
-
-#: config/nextstep.c:83
-msgid "optimization level restored"
-msgstr "eniyileme seviyesi eski durumuna getirildi"
-
-#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85
+#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100
msgid "-msystem-v and -p are incompatible"
msgstr "-msystem-v ile -p uyumsuz"
-#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87
+#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102
msgid "-msystem-v and -mthreads are incompatible"
msgstr "-msystem-v ile -mthreads uyumsuz"
-#. Run-time compilation parameters selecting different hardware subsets.
-#: config/1750a/1750a.h:39
-msgid "Use VAX-C alignment"
-msgstr "VAX-C hizalaması kullanılır"
-
-#: config/a29k/a29k.c:1028 config/m88k/m88k.c:2967
-#, c-format
-msgid "invalid %%Q value"
-msgstr "%%Q değeri geçersiz"
-
-#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5402 config/m88k/m88k.c:3063
-#, c-format
-msgid "invalid %%C value"
-msgstr "%%C değeri geçersiz"
-
-#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5247 config/rs6000/rs6000.c:6454
-#, c-format
-msgid "invalid %%N value"
-msgstr "%%N değeri geçersiz"
-
-#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5318 config/rs6000/rs6000.c:6416
-#, c-format
-msgid "invalid %%M value"
-msgstr "%%M değeri geçersiz"
-
-#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5310 config/rs6000/rs6000.c:6381
-#, c-format
-msgid "invalid %%m value"
-msgstr "%%m değeri geçersiz"
-
-#: config/a29k/a29k.c:1154 config/alpha/alpha.c:5271 config/romp/romp.c:690
-#, c-format
-msgid "invalid %%L value"
-msgstr "%%L değeri geçersiz"
-
-#: config/a29k/a29k.c:1159 config/rs6000/rs6000.c:6462
-#, c-format
-msgid "invalid %%O value"
-msgstr "%%O değeri geçersiz"
-
-#: config/a29k/a29k.c:1165 config/alpha/alpha.c:5255 config/rs6000/rs6000.c:6482
-#, c-format
-msgid "invalid %%P value"
-msgstr "%%P değeri geçersiz"
-
-#: config/a29k/a29k.c:1175
-#, c-format
-msgid "invalid %%V value"
-msgstr "%%V değeri geçersiz"
-
-#: config/a29k/a29k.h:101
-msgid "Generate code assuming DW bit is set"
-msgstr "Kod DW biti 1 kabulüyle üretilir"
-
-#: config/a29k/a29k.h:102
-msgid "Generate code assuming DW bit is not set"
-msgstr "Kod DW biti 0 kabulüyle üretilir"
-
-#: config/a29k/a29k.h:103
-msgid "Generate code using byte writes"
-msgstr "Kod bayt yazarak üretilir"
-
-#: config/a29k/a29k.h:104
-msgid "Do not generate byte writes"
-msgstr "Bayt yazımı üretilmez"
-
-#: config/a29k/a29k.h:105
-msgid "Use small memory model"
-msgstr "Küçük bellek modeli kullanılır"
-
-#: config/a29k/a29k.h:106
-msgid "Use normal memory model"
-msgstr "Normal bellek modeli kullanılır"
-
-#: config/a29k/a29k.h:107
-msgid "Use large memory model"
-msgstr "Geniş bellek modeli kullanılır"
-
-#: config/a29k/a29k.h:108
-msgid "Generate 29050 code"
-msgstr "29050 kodu üretilir"
-
-#: config/a29k/a29k.h:109
-msgid "Generate 29000 code"
-msgstr "29000 kodu üretilir"
-
-#: config/a29k/a29k.h:110
-msgid "Use kernel global registers"
-msgstr "Çekirdek genel yazmaçları kullanılır"
-
-#: config/a29k/a29k.h:111
-msgid "Use user global registers"
-msgstr "Kullanıcı genel yazmaçları kullanılır"
-
-#: config/a29k/a29k.h:112
-msgid "Emit stack checking code"
-msgstr "Yığın denetim kodu üretilir"
-
-#: config/a29k/a29k.h:113
-msgid "Do not emit stack checking code"
-msgstr "Yığın denetim kodu üretilmez"
-
-#: config/a29k/a29k.h:114
-msgid "Work around storem hardware bug"
-msgstr "Storem donanım hatasının oluru bulunur"
-
-#: config/a29k/a29k.h:115
-msgid "Do not work around storem hardware bug"
-msgstr "Storem donanım hatasının oluru bulunmaz"
-
-#: config/a29k/a29k.h:116
-msgid "Store locals in argument registers"
-msgstr "Yerel değerler argüman yazmaçlarında saklanır"
-
-#: config/a29k/a29k.h:117
-msgid "Do not store locals in arg registers"
-msgstr "Yerel değerler argüman yazmaçlarında saklanmaz"
-
-#: config/a29k/a29k.h:118 config/i960/i960.h:283 config/mips/mips.h:408
-msgid "Use software floating point"
-msgstr "Yazılım kayan nokta kodu kullanılır"
-
-#: config/a29k/a29k.h:119
-msgid "Do not generate multm instructions"
-msgstr "multm komutları üretilmez"
-
-#: config/alpha/alpha.c:271
+#: config/alpha/alpha.c:342
#, c-format
msgid "-f%s ignored for Unicos/Mk (not supported)"
msgstr "Unicos/Mk için -f%s yoksayıldı (desteklenmiyor)"
-#: config/alpha/alpha.c:295
+#: config/alpha/alpha.c:366
msgid "-mieee not supported on Unicos/Mk"
msgstr "Unicos/Mk üzerinde -mieee desteklenmiyor"
-#: config/alpha/alpha.c:306
+#: config/alpha/alpha.c:377
msgid "-mieee-with-inexact not supported on Unicos/Mk"
msgstr "-mieee-with-inexact Unicos/Mk üzerinde desteklenmiyor"
-#: config/alpha/alpha.c:323
+#: config/alpha/alpha.c:394
#, c-format
msgid "bad value `%s' for -mtrap-precision switch"
msgstr "-mtrap-precision seçeneği için `%s' değeri hatalı"
-#: config/alpha/alpha.c:337
+#: config/alpha/alpha.c:408
#, c-format
msgid "bad value `%s' for -mfp-rounding-mode switch"
msgstr "-mfp-rounding-mode seçeneği için `%s' değeri hatalı"
-#: config/alpha/alpha.c:352
+#: config/alpha/alpha.c:423
#, c-format
msgid "bad value `%s' for -mfp-trap-mode switch"
msgstr "-mfp-trap-mode seçeneği için `%s' değeri hatalı"
-#: config/alpha/alpha.c:371 config/alpha/alpha.c:383
+#: config/alpha/alpha.c:435
+#, c-format
+msgid "bad value `%s' for -mtls-size switch"
+msgstr "-mtls-size seçeneği için `%s' değeri hatalı"
+
+#: config/alpha/alpha.c:454 config/alpha/alpha.c:466
#, c-format
msgid "bad value `%s' for -mcpu switch"
msgstr "-mcpu seçeneği için `%s' değeri hatalı"
-#: config/alpha/alpha.c:390
+#: config/alpha/alpha.c:473
msgid "trap mode not supported on Unicos/Mk"
msgstr "Unicos/Mk üzerinde yakalama kipi desteklenmiyor"
-#: config/alpha/alpha.c:397
+#: config/alpha/alpha.c:480
msgid "fp software completion requires -mtrap-precision=i"
msgstr "fp yazılım tamamlaması -mtrap-precision=i gerektirir"
-#: config/alpha/alpha.c:413
+#: config/alpha/alpha.c:496
msgid "rounding mode not supported for VAX floats"
msgstr "VAX gerçelleri için yuvarlama kipi desteklenmiyor"
-#: config/alpha/alpha.c:418
+#: config/alpha/alpha.c:501
msgid "trap mode not supported for VAX floats"
msgstr "VAX gerçelleri için tuzak kipi desteklenmiyor"
-#: config/alpha/alpha.c:447
+#: config/alpha/alpha.c:530
#, c-format
msgid "L%d cache latency unknown for %s"
msgstr "%2$s için L%1$d arabellek gecikmesi bilinmiyor"
-#: config/alpha/alpha.c:462
+#: config/alpha/alpha.c:545
#, c-format
msgid "bad value `%s' for -mmemory-latency"
msgstr "-mmemory-latency için değer `%s' hatalı"
-#: config/alpha/alpha.c:5211 config/m88k/m88k.c:2955 config/romp/romp.c:746 config/romp/romp.c:753
+#: config/alpha/alpha.c:5608 config/m88k/m88k.c:2889 config/romp/romp.c:754
+#: config/romp/romp.c:761
#, c-format
msgid "invalid %%H value"
msgstr "%%H değeri geçersiz"
-#: config/alpha/alpha.c:5221
+#: config/alpha/alpha.c:5629
#, c-format
msgid "invalid %%J value"
msgstr "%%J değeri geçersiz"
-#: config/alpha/alpha.c:5231 config/ia64/ia64.c:3509 config/m88k/m88k.c:3100
+#: config/alpha/alpha.c:5645 config/ia64/ia64.c:3931 config/m88k/m88k.c:3034
#, c-format
msgid "invalid %%r value"
msgstr "%%r değeri geçersiz"
-#: config/alpha/alpha.c:5241 config/rs6000/rs6000.c:6528
+#: config/alpha/alpha.c:5655 config/rs6000/rs6000.c:7734
#, c-format
msgid "invalid %%R value"
msgstr "%%R değeri geçersiz"
-#: config/alpha/alpha.c:5263 config/m88k/m88k.c:2961 config/romp/romp.c:732 config/romp/romp.c:739
+#: config/alpha/alpha.c:5661 config/rs6000/rs6000.c:7660
+#, c-format
+msgid "invalid %%N value"
+msgstr "%%N değeri geçersiz"
+
+#: config/alpha/alpha.c:5669 config/rs6000/rs6000.c:7688
+#, c-format
+msgid "invalid %%P value"
+msgstr "%%P değeri geçersiz"
+
+#: config/alpha/alpha.c:5677 config/m88k/m88k.c:2895 config/romp/romp.c:740
+#: config/romp/romp.c:747
#, c-format
msgid "invalid %%h value"
msgstr "%%h değeri geçersiz"
-#: config/alpha/alpha.c:5353
+#: config/alpha/alpha.c:5685 config/romp/romp.c:698
+#, c-format
+msgid "invalid %%L value"
+msgstr "%%L değeri geçersiz"
+
+#: config/alpha/alpha.c:5724 config/rs6000/rs6000.c:7642
+#, c-format
+msgid "invalid %%m value"
+msgstr "%%m değeri geçersiz"
+
+#: config/alpha/alpha.c:5732 config/rs6000/rs6000.c:7650
+#, c-format
+msgid "invalid %%M value"
+msgstr "%%M değeri geçersiz"
+
+#: config/alpha/alpha.c:5776
#, c-format
msgid "invalid %%U value"
msgstr "%%U değeri geçersiz"
-#: config/alpha/alpha.c:5365 config/alpha/alpha.c:5379 config/romp/romp.c:698 config/rs6000/rs6000.c:6536
+#: config/alpha/alpha.c:5788 config/alpha/alpha.c:5802 config/romp/romp.c:706
+#: config/rs6000/rs6000.c:7742
#, c-format
msgid "invalid %%s value"
msgstr "%%s değeri geçersiz"
-#: config/alpha/alpha.c:5439 config/m88k/m88k.c:3084 config/rs6000/rs6000.c:6243
+#: config/alpha/alpha.c:5825 config/m88k/m88k.c:2997
+#, c-format
+msgid "invalid %%C value"
+msgstr "%%C değeri geçersiz"
+
+#: config/alpha/alpha.c:5862 config/m88k/m88k.c:3018
+#: config/rs6000/rs6000.c:7499
#, c-format
msgid "invalid %%E value"
msgstr "%%E değeri geçersiz"
-#: config/alpha/alpha.c:5460 config/romp/romp.c:973 config/rs6000/rs6000.c:6844
+#: config/alpha/alpha.c:5887 config/alpha/alpha.c:5937
+msgid "unknown relocation unspec"
+msgstr "bilinmeyen yerdeÄŸiÅŸim belirtilmemiÅŸ"
+
+#: config/alpha/alpha.c:5896 config/romp/romp.c:981
+#: config/rs6000/rs6000.c:8049
#, c-format
msgid "invalid %%xn code"
msgstr "%%xn değeri geçersiz"
+#: config/alpha/alpha.c:6622 config/alpha/alpha.c:6625 config/s390/s390.c:6008
+#: config/s390/s390.c:6011
+msgid "bad builtin fcode"
+msgstr "hatalı yerleşik fcode"
+
#. 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 "Donanım aritmetik işlemcisi kullanılır"
-#: 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 "Donanım aritmetik işlemcisi kullanılmaz"
-#: config/alpha/alpha.h:216
+#: config/alpha/alpha.h:281
msgid "Use fp registers"
msgstr "fp yazmaçları kullanılır"
-#: config/alpha/alpha.h:218
+#: config/alpha/alpha.h:283
msgid "Do not use fp registers"
msgstr "fp yazmaçları kullanılmaz"
-#: config/alpha/alpha.h:219
+#: config/alpha/alpha.h:284
msgid "Do not assume GAS"
msgstr "GAS varsayılmaz"
-#: config/alpha/alpha.h:220
+#: config/alpha/alpha.h:285
msgid "Assume GAS"
msgstr "GAS varsayılır"
-#: config/alpha/alpha.h:222
+#: config/alpha/alpha.h:287
msgid "Request IEEE-conformant math library routines (OSF/1)"
msgstr "IEEE-uyumlu matematik kitaplığı yordamları istenir (OSF/1)"
-#: config/alpha/alpha.h:224
+#: config/alpha/alpha.h:289
msgid "Emit IEEE-conformant code, without inexact exceptions"
msgstr "Kesin olmayan istisnalar içermeden IEEE-uyumlu kod üretir"
-#: config/alpha/alpha.h:226
+#: config/alpha/alpha.h:291
msgid "Emit IEEE-conformant code, with inexact exceptions"
msgstr "Kesin olmayan istisnalar içeren IEEE-uyumlu kod üretir"
-#: config/alpha/alpha.h:228
+#: config/alpha/alpha.h:293
msgid "Do not emit complex integer constants to read-only memory"
msgstr "Salt-okunur belleğe karmaşık tamsayı sabitleri koymaz"
-#: config/alpha/alpha.h:229
+#: config/alpha/alpha.h:294
msgid "Use VAX fp"
msgstr "VAX fp kullanılır"
-#: config/alpha/alpha.h:230
+#: config/alpha/alpha.h:295
msgid "Do not use VAX fp"
msgstr "VAX fp kullanılmaz"
-#: config/alpha/alpha.h:231
+#: config/alpha/alpha.h:296
msgid "Emit code for the byte/word ISA extension"
msgstr "Bayt/word ISA genişlemesi için kod üretir"
-#: config/alpha/alpha.h:234
+#: config/alpha/alpha.h:299
msgid "Emit code for the motion video ISA extension"
msgstr "Video ISA genişlemesi için kod üretir"
-#: config/alpha/alpha.h:237
+#: config/alpha/alpha.h:302
msgid "Emit code for the fp move and sqrt ISA extension"
msgstr "fp move ve sqrt ISA genişlemesi için kod üretir"
-#: config/alpha/alpha.h:239
+#: config/alpha/alpha.h:304
msgid "Emit code for the counting ISA extension"
msgstr "Sayma ISA genişlemesi için kod üretir"
-#: config/alpha/alpha.h:242
+#: config/alpha/alpha.h:307
msgid "Emit code using explicit relocation directives"
msgstr "Kod doğrudan yer değiştirme yönergeleri kullanılarak üretilir"
-#: config/alpha/alpha.h:245
+#: config/alpha/alpha.h:310
msgid "Emit 16-bit relocations to the small data areas"
msgstr "Küçük veri alanlarına 16 bitlik yer değiştirmeler üretilir"
-#: config/alpha/alpha.h:247
+#: config/alpha/alpha.h:312
msgid "Emit 32-bit relocations to the small data areas"
msgstr "Küçük veri alanlarına 32 bitlik yer değiştirmeler üretilir"
+#: config/alpha/alpha.h:314
+msgid "Emit rdval instead of rduniq for thread pointer"
+msgstr "kanal göstergesi için rduniq yerine rdval üretir"
+
#. 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 "Belirtilen CPU'nun özelliklerini ve zamanlamasını kullanır"
-#: config/alpha/alpha.h:277
+#: config/alpha/alpha.h:345
msgid "Schedule given CPU"
msgstr "Belirtilen CPU'yu zamanlar"
-#: config/alpha/alpha.h:279
+#: config/alpha/alpha.h:347
msgid "Control the generated fp rounding mode"
msgstr "ÃœretilmiÅŸ kayan nokta yuvarlama kipi denetlenir"
-#: config/alpha/alpha.h:281
+#: config/alpha/alpha.h:349
msgid "Control the IEEE trap mode"
msgstr "IEEE yakalama kipi denetlenir"
-#: config/alpha/alpha.h:283
+#: config/alpha/alpha.h:351
msgid "Control the precision given to fp exceptions"
msgstr "Verilen kayan nokta olağandışılıklarının duyarlığı denetlenir"
-#: config/alpha/alpha.h:285
+#: config/alpha/alpha.h:353
msgid "Tune expected memory latency"
msgstr "Beklenen bellek gecikmesini ayarlar"
-#: config/arc/arc.c:132
+#: config/alpha/alpha.h:355 config/ia64/ia64.h:225
+msgid "Specify bit size of immediate TLS offsets"
+msgstr "Dolaysız TLS konumlarının bit genişliği belirtilir"
+
+#: config/arc/arc.c:135
#, c-format
msgid "bad value (%s) for -mcpu switch"
msgstr "-mcpu seçeneği için değer (%s) hatalı"
-#: config/arc/arc.c:359
+#: config/arc/arc.c:362
#, c-format
msgid "argument of `%s' attribute is not a string constant"
msgstr "`%s' in argümanı bir sabit dizge değil"
-#: config/arc/arc.c:366
+#: config/arc/arc.c:369
#, c-format
msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
msgstr "`%s' özniteliğinin argümanı \"ilink1\" ya da \"ilink2\" değildir"
-#: config/arc/arc.c:1709 config/m32r/m32r.c:2278
+#: config/arc/arc.c:1708 config/m32r/m32r.c:2286
#, c-format
msgid "invalid operand to %%R code"
msgstr "%%R kodu için terim geçersiz"
-#: config/arc/arc.c:1741 config/m32r/m32r.c:2301
+#: config/arc/arc.c:1740 config/m32r/m32r.c:2309
#, c-format
msgid "invalid operand to %%H/%%L code"
msgstr "%%H/%%L kodu için terim geçersiz"
-#: config/arc/arc.c:1765 config/m32r/m32r.c:2378
+#: config/arc/arc.c:1763 config/m32r/m32r.c:2385
#, c-format
msgid "invalid operand to %%U code"
msgstr "%%U kodu için terim geçersiz"
-#: config/arc/arc.c:1776
+#: config/arc/arc.c:1774
#, c-format
msgid "invalid operand to %%V code"
msgstr "%%V kodu için terim geçersiz"
#. Unknown flag.
-#: config/arc/arc.c:1783 config/m32r/m32r.c:2417 config/sparc/sparc.c:6145
+#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6488
msgid "invalid operand output code"
msgstr "çıkış kodu için geçersiz veri öğesi"
-#: config/arm/arm.c:436
+#: config/arm/arm.c:459
#, c-format
msgid "switch -mcpu=%s conflicts with -march= switch"
msgstr "switch -mcpu=%s ile -march= seçenekleri çelişiyor"
-#: config/arm/arm.c:446 config/rs6000/rs6000.c:444 config/sparc/sparc.c:381
+#: config/arm/arm.c:469 config/rs6000/rs6000.c:558 config/sparc/sparc.c:393
#, c-format
msgid "bad value (%s) for %s switch"
msgstr "%s seçeneği için değer (%s) hatalı"
-#: config/arm/arm.c:582
+#: config/arm/arm.c:605
msgid "target CPU does not support APCS-32"
msgstr "hedef CPU, APCS-32 desteklemiyor"
-#: config/arm/arm.c:587
+#: config/arm/arm.c:610
msgid "target CPU does not support APCS-26"
msgstr "hedef CPU, APCS-26 desteklemiyor"
-#: config/arm/arm.c:593
+#: config/arm/arm.c:616
msgid "target CPU does not support interworking"
msgstr "hedef MİB beraber çalışmayı desteklemiyor"
-#: config/arm/arm.c:599
+#: config/arm/arm.c:622
msgid "target CPU does not support THUMB instructions"
msgstr "hedef MİB THUMB komutlarını desteklemez."
-#: config/arm/arm.c:613
+#: config/arm/arm.c:636
msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
msgstr "geri izleme desteğinin etkinleştirilmesi sadece Thumb komut seti için derleme yapılırken anlamlıdır"
-#: config/arm/arm.c:616
+#: config/arm/arm.c:639
msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
msgstr "çağrılan ile birlikte çalışma desteğinin etkinleştirilmesi sadece Thumb için derleme sırasına anlamlıdır"
-#: config/arm/arm.c:619
+#: config/arm/arm.c:642
msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
msgstr "çağrıcı ile birlikte çalışma desteğinin etkinleştirilmesi sadece Thumb için derleme sırasına anlamlıdır"
-#: config/arm/arm.c:625
+#: config/arm/arm.c:648
msgid "interworking forces APCS-32 to be used"
msgstr "beraber çalışma, APCS-32'nin kullanılmasını gerektirir"
-#: config/arm/arm.c:631
+#: config/arm/arm.c:654
msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
msgstr "-mapcs-stack-check ile -mno-apcs-frame uyumsuz"
-#: config/arm/arm.c:639
+#: config/arm/arm.c:662
msgid "-fpic and -mapcs-reent are incompatible"
msgstr "-fpic ve -mapcs-reent uyumsuz"
-#: config/arm/arm.c:642
+#: config/arm/arm.c:665
msgid "APCS reentrant code not supported. Ignored"
msgstr "APCS yeniden girişli kod desteklenmiyor. Yoksayıldı"
-#: config/arm/arm.c:650
+#: config/arm/arm.c:673
msgid "-g with -mno-apcs-frame may not give sensible debugging"
msgstr "-g ve -mno-apcs-frame beraberce anlamlı hata ayıklama bilgisi vermeyebilir"
-#: config/arm/arm.c:658
+#: config/arm/arm.c:681
msgid "passing floating point arguments in fp regs not yet supported"
msgstr "henüz desteklenmeyen fp yazmaçlarındaki kayan noktalı argümanların aktarılmasında"
-#: config/arm/arm.c:687
+#: config/arm/arm.c:710
#, c-format
msgid "invalid floating point emulation option: -mfpe-%s"
msgstr "Geçersiz gerçel değer öykünüm seçeneği: -mfpe-%s"
-#: config/arm/arm.c:711
+#: config/arm/arm.c:734
msgid "structure size boundary can only be set to 8 or 32"
msgstr "veri yapısı boyut sınırı sadece 8 ya da 32 ye ayarlanabilir"
-#: config/arm/arm.c:719
+#: config/arm/arm.c:742
msgid "-mpic-register= is useless without -fpic"
msgstr "-mpic-register=, -fpic olmaksızın kullanışsız"
-#: config/arm/arm.c:726
+#: config/arm/arm.c:749
#, c-format
msgid "unable to use '%s' for PIC register"
msgstr "PIC yazmacı için '%s' kullanılamıyor"
-#: config/arm/arm.c:1970 config/arm/arm.c:1993 config/avr/avr.c:4703 config/c4x/c4x.c:4650 config/h8300/h8300.c:3045 config/i386/i386.c:1260 config/i386/i386.c:1289 config/m68hc11/m68hc11.c:1220 config/mcore/mcore.c:3505 config/ns32k/ns32k.c:1044 config/rs6000/rs6000.c:10760 config/sh/sh.c:5583 config/sh/sh.c:5603 config/sh/sh.c:5642 config/stormy16/stormy16.c:2010 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:3667 config/i386/i386.c:1396
+#: config/i386/i386.c:1425 config/ip2k/ip2k.c:3224
+#: config/m68hc11/m68hc11.c:1267 config/mcore/mcore.c:3510
+#: config/ns32k/ns32k.c:1047 config/rs6000/rs6000.c:12519 config/sh/sh.c:5681
+#: config/sh/sh.c:5706 config/sh/sh.c:5745 config/stormy16/stormy16.c:2026
+#: config/v850/v850.c:2180
#, c-format
msgid "`%s' attribute only applies to functions"
msgstr "`%s' özniteliği sadece işlevlere uygulanır"
-#: config/arm/arm.c:9288
+#: config/arm/arm.c:9485
msgid "unable to compute real location of stacked parameter"
msgstr "yığındaki parametrenin gerçek konumu hesaplanamıyor"
-#: config/arm/arm.c:9968
+#: config/arm/arm.c:10164
msgid "no low registers available for popping high registers"
msgstr "yüksek yazmaçları emmek için alçak yazmaç bulunamadı"
-#: config/arm/arm.c:10160
+#: config/arm/arm.c:10415
msgid "interrupt Service Routines cannot be coded in Thumb mode"
msgstr "sistem kesmesi Servis Ä°ÅŸlemleri Thumb kipinde kodlanamaz"
-#: 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 "ilklendirilmiÅŸ deÄŸiÅŸken `%s' dllimport imli"
-#: 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 "statik deÄŸiÅŸken `%s' dllimport imli"
-#: config/arm/arm.h:422
+#: config/arm/arm.h:416
msgid "Generate APCS conformant stack frames"
msgstr "APCS uyumlu yığıt çerçeveleri üretir"
-#: config/arm/arm.h:425
+#: config/arm/arm.h:419
msgid "Store function names in object code"
msgstr "İşlev isimleri nesne kodunda saklanır"
-#: config/arm/arm.h:429
+#: config/arm/arm.h:423
msgid "Use the 32-bit version of the APCS"
msgstr "APCS'nin 32 bitlik sürümü kullanılır"
-#: config/arm/arm.h:431
+#: config/arm/arm.h:425
msgid "Use the 26-bit version of the APCS"
msgstr "APCS'nin 26 bitlik sürümü kullanılır"
-#: config/arm/arm.h:435
+#: config/arm/arm.h:429
msgid "Pass FP arguments in FP registers"
msgstr "FP yazmaçlarındaki FP argümanları aktarılır"
-#: config/arm/arm.h:438
+#: config/arm/arm.h:432
msgid "Generate re-entrant, PIC code"
msgstr "Yeniden girişli PIC kodu üretir"
-#: config/arm/arm.h:441
+#: config/arm/arm.h:435
msgid "The MMU will trap on unaligned accesses"
msgstr "MMU, hizalanmamış erişimleri yakalar"
-#: config/arm/arm.h:448
+#: config/arm/arm.h:442
msgid "Use library calls to perform FP operations"
msgstr "Kayan nokta işlemlerini yapmada kitaplık çağrıları kullanılır"
-#: 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 "Donanım kayan nokta komutları kullanılır"
-#: config/arm/arm.h:452
+#: config/arm/arm.h:446
msgid "Assume target CPU is configured as big endian"
msgstr "Hedef MİB büyük ilkli yapılandırmaya sahip kabul edilir"
-#: config/arm/arm.h:454
+#: config/arm/arm.h:448
msgid "Assume target CPU is configured as little endian"
msgstr "Hedef MİB küçük ilkli yapılandırmaya sahip kabul edilir"
-#: config/arm/arm.h:456
+#: config/arm/arm.h:450
msgid "Assume big endian bytes, little endian words"
msgstr "Büyük ilkli baytlar, küçük ilkli word'ler varsayılır"
-#: config/arm/arm.h:458
+#: config/arm/arm.h:452
msgid "Support calls between Thumb and ARM instruction sets"
msgstr "Thumb ve ARM komut setleri arasında çağrılar desteklenir"
-#: config/arm/arm.h:461
+#: config/arm/arm.h:455
msgid "Generate a call to abort if a noreturn function returns"
msgstr "Değer döndürmeyen işlev değer döndürürse çıkış için çağrı üretilir"
-#: config/arm/arm.h:464
+#: config/arm/arm.h:458
msgid "Do not move instructions into a function's prologue"
msgstr "Komutlar bir işlevin önbilgisine taşınmaz"
-#: config/arm/arm.h:467
+#: config/arm/arm.h:461
msgid "Do not load the PIC register in function prologues"
msgstr "İşlev önbilgisine PIC yazmacını yüklemez"
-#: config/arm/arm.h:470
+#: config/arm/arm.h:464
msgid "Generate call insns as indirect calls, if necessary"
msgstr "Gerekliyse, çağrı komutları dolaylı çağrılar olarak üretilir"
-#: config/arm/arm.h:473
+#: config/arm/arm.h:467
msgid "Compile for the Thumb not the ARM"
msgstr "Thumb için derler, ARM için değil"
-#: config/arm/arm.h:477
+#: config/arm/arm.h:471
msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
msgstr "Thumb: Gerekmese dahi (yaprak olmayan) yığıt çerçeveleri üretir "
-#: config/arm/arm.h:480
+#: config/arm/arm.h:474
msgid "Thumb: Generate (leaf) stack frames even if not needed"
msgstr "Thumb: Gerekmese dahi (yaprak) yığıt çerçeveleri üretir"
-#: config/arm/arm.h:483
+#: config/arm/arm.h:477
msgid "Thumb: Assume non-static functions may be called from ARM code"
msgstr "Thumb: Statik olmayan işlevlerin ARM kodundan çağrılabileceğini varsayar"
-#: config/arm/arm.h:487
+#: config/arm/arm.h:481
msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
msgstr "Thumb: İşlev göstergelerinin Thumb'dan habersiz kodu imleyebileceğini varsayar."
-#: config/arm/arm.h:497
+#: config/arm/arm.h:491
msgid "Specify the name of the target CPU"
msgstr "Hedef iÅŸlemcinin ismi belirtilir"
-#: config/arm/arm.h:499
+#: config/arm/arm.h:493
msgid "Specify the name of the target architecture"
msgstr "Hedef mimarinin ismi belirtilir"
-#: config/arm/arm.h:503
+#: config/arm/arm.h:497
msgid "Specify the version of the floating point emulator"
msgstr "Kayan nokta emülatörünün sürümü belirtilir"
-#: config/arm/arm.h:505
+#: config/arm/arm.h:499
msgid "Specify the minimum bit alignment of structures"
msgstr "Yapıların en küçük bit hizalaması belirtilir"
-#: config/arm/arm.h:507
+#: config/arm/arm.h:501
msgid "Specify the register to be used for PIC addressing"
msgstr "PIC adresleme için kullanılan yazmaç belirtilir"
@@ -8902,96 +9115,94 @@ msgstr "PIC adresleme için kullanılan yazmaç belirtilir"
msgid "Ignore dllimport attribute for functions"
msgstr "İşlevler için dllimport özelliği yoksayılır"
-#. 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 "Sembol isimlendirmesi BSD için yapılır"
-
-#: config/arm/riscix.h:85
-msgid "Do symbol renaming for X/OPEN"
-msgstr "Sembol isimlendirmesi X/OPEN için yapılır"
-
-#: config/arm/riscix.h:86
-msgid "Don't do symbol renaming"
-msgstr "Sembol isimlendirmesi yapılmaz"
-
-#: config/avr/avr.c:221
-#, c-format
-msgid "MCU `%s' not supported"
-msgstr "MCU `%s' desteklenmiyor"
-
-#: config/avr/avr.c:461
+#: config/avr/avr.c:528
#, c-format
msgid "large frame pointer change (%d) with -mtiny-stack"
msgstr "-mtiny-stack ile büyük çerçeve göstergesi değişikliği (%d)"
-#: config/avr/avr.c:1056
+#: config/avr/avr.c:1135
msgid "bad address, not (reg+disp):"
msgstr "hatalı adres, (reg+disp) değil:"
-#: config/avr/avr.c:1064
+#: config/avr/avr.c:1143
msgid "internal compiler error. Bad address:"
msgstr "Derleyici iç hatası. Hatalı adres:"
-#: config/avr/avr.c:1077
+#: config/avr/avr.c:1156
msgid "internal compiler error. Unknown mode:"
msgstr "Derleyici iç hatası. Bilinmeyen kip:"
-#: config/avr/avr.c:1785 config/avr/avr.c:2497
+#: config/avr/avr.c:1864 config/avr/avr.c:2576
msgid "invalid insn:"
msgstr "geçersiz komut:"
-#: 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 "yanlış komut:"
-#: 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 "bilinmeyen taşıma komutu:"
-#: config/avr/avr.c:2925
+#: config/avr/avr.c:3003
msgid "bad shift insn:"
msgstr "hatalı kaydırma komutu:"
-#: 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 "Derleyici iç hatası. Yanlış kaydırma:"
-#: config/avr/avr.c:4676
+#: config/avr/avr.c:4767 config/ip2k/ip2k.c:3197
msgid "only initialized variables can be placed into program memory area"
msgstr "program bellek alanına sadece ilklendirilmiş değişkenler yerleştirilebilir"
-#: config/avr/avr.h:63
+#: config/avr/avr.c:4866
+msgid "only uninitialized variables can be placed in the .noinit section"
+msgstr ".noinit alanına sadece ilklendirilmiş değişkenler yerleştirilebilir"
+
+#: config/avr/avr.c:4881
+#, c-format
+msgid "MCU `%s' supported for assembler only"
+msgstr "MCU `%s' sadece sembolik çevirici için desteklenir"
+
+#: config/avr/avr.h:78
msgid "Assume int to be 8 bit integer"
msgstr "int türün 8 bitlik tamsayı olduğu varsayılır"
-#: config/avr/avr.h:65
+#: config/avr/avr.h:80
msgid "Change the stack pointer without disabling interrupts"
msgstr "Yığın göstergesi kesmeler etkisizleştirilmeden değiştirilir"
-#: config/avr/avr.h:67
+#: config/avr/avr.h:82
msgid "Use subroutines for function prologue/epilogue"
msgstr "İşlev önbilgisi/sonbilgisi için altyordamlar kullanır"
-#: config/avr/avr.h:69
+#: config/avr/avr.h:84
msgid "Change only the low 8 bits of the stack pointer"
msgstr "Yığın göstergesinin düşük 8 biti değiştirilir"
-#: config/avr/avr.h:71
+#: config/avr/avr.h:86
msgid "Do not generate tablejump insns"
msgstr "Tablejump komutları üretilmez"
-#: config/avr/avr.h:74
+#: config/avr/avr.h:88
+msgid "Use rjmp/rcall (limited range) on >8K devices"
+msgstr ""
+">8k aygıtlarda rjmp/rcall (sınırlı aralık)\n"
+" kullanılır"
+
+#: config/avr/avr.h:91
msgid "Output instruction sizes to the asm file"
msgstr "Komut boyutlarını asm dosyasına çıktılar"
-#: config/avr/avr.h:87
+#: config/avr/avr.h:108
msgid "Specify the initial stack address"
msgstr "İç yığın adresi belirtilir"
-#: config/avr/avr.h:88
+#: config/avr/avr.h:109
msgid "Specify the MCU name"
msgstr "MCU ismi belirtilir"
@@ -9003,132 +9214,132 @@ msgstr "MCU ismi belirtilir"
#. 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:2566
+#: config/avr/avr.h:2450
msgid "trampolines not supported"
msgstr "trampolines desteklenmiyor"
-#: config/c4x/c4x-c.c:70
+#: config/c4x/c4x-c.c:69
#, c-format
msgid "missing '(' after '#pragma %s' - ignored"
msgstr "'#pragma %s' den sonra '(' eksik - yoksayıldı"
-#: config/c4x/c4x-c.c:73
+#: config/c4x/c4x-c.c:72
#, c-format
msgid "missing function name in '#pragma %s' - ignored"
msgstr "'#pragma %s' içinde işlev ismi eksik - yoksayıldı"
-#: config/c4x/c4x-c.c:78
+#: config/c4x/c4x-c.c:77
#, c-format
msgid "malformed '#pragma %s' - ignored"
msgstr "'#pragma %s' bozuk - yoksayıldı"
-#: config/c4x/c4x-c.c:80
+#: config/c4x/c4x-c.c:79
#, c-format
msgid "missing section name in '#pragma %s' - ignored"
msgstr "'#pragma %s' içinde bölüm ismi eksik - yoksayıldı"
-#: config/c4x/c4x-c.c:85
+#: config/c4x/c4x-c.c:84
#, c-format
msgid "missing ')' for '#pragma %s' - ignored"
msgstr "'#pragma %s' için ')' eksik - yoksayıldı"
-#: config/c4x/c4x-c.c:88
+#: config/c4x/c4x-c.c:87
#, c-format
msgid "junk at end of '#pragma %s'"
msgstr "'#pragma %s' den sonrası karışık"
-#: config/c4x/c4x.c:299
+#: config/c4x/c4x.c:280
#, c-format
msgid "unknown CPU version %d, using 40.\n"
msgstr "MİB sürümü %d bilinmiyor, 40 kullanılıyor.\n"
-#: 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 "ISR %s yerel değişkenlerin %d sözcüğünü gerektiriyor, en çok 32767"
-#: config/c4x/c4x.c:1635
+#: config/c4x/c4x.c:1602
msgid "using CONST_DOUBLE for address"
msgstr "adres için CONST_DOUBLE kullanılıyor"
-#: config/c4x/c4x.c:1775
+#: config/c4x/c4x.c:1742
msgid "c4x_address_cost: Invalid addressing mode"
msgstr "c4x_address_cost: Adresleme kipi geçersiz"
-#: config/c4x/c4x.c:1917
+#: config/c4x/c4x.c:1884
#, c-format
msgid "c4x_print_operand: %%L inconsistency"
msgstr "c4x_print_operand: %%L uyumsuzluÄŸu"
-#: config/c4x/c4x.c:1923
+#: config/c4x/c4x.c:1890
#, c-format
msgid "c4x_print_operand: %%N inconsistency"
msgstr "c4x_print_operand: %%N uyumsuzluÄŸu"
-#: config/c4x/c4x.c:1964
+#: config/c4x/c4x.c:1931
#, c-format
msgid "c4x_print_operand: %%O inconsistency"
msgstr "c4x_print_operand: %%O uyumsuzluÄŸu"
-#: config/c4x/c4x.c:2060
+#: config/c4x/c4x.c:2026
msgid "c4x_print_operand: Bad operand case"
msgstr "c4x_print_operand: Hatalı terim case"
-#: config/c4x/c4x.c:2103
+#: config/c4x/c4x.c:2069
msgid "c4x_print_operand_address: Bad post_modify"
msgstr "c4x_print_operand_address: Hatalı post_modify"
-#: config/c4x/c4x.c:2125
+#: config/c4x/c4x.c:2091
msgid "c4x_print_operand_address: Bad pre_modify"
msgstr "c4x_print_operand_address: Hatalı pre_modify"
-#: config/c4x/c4x.c:2173 config/c4x/c4x.c:2185 config/c4x/c4x.c:2200
+#: config/c4x/c4x.c:2139 config/c4x/c4x.c:2151 config/c4x/c4x.c:2166
msgid "c4x_print_operand_address: Bad operand case"
msgstr "c4x_print_operand_address: Hatalı terim case"
-#: config/c4x/c4x.c:2456
+#: config/c4x/c4x.c:2422
msgid "c4x_rptb_insert: Cannot find start label"
msgstr "c4x_rptb_insert: başlangıç etiketi bulunamıyor"
-#: config/c4x/c4x.c:3443 config/c4x/c4x.c:3463
+#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429
msgid "mode not QImode"
msgstr "kip QImode deÄŸil"
-#: config/c4x/c4x.c:3520
+#: config/c4x/c4x.c:3514
msgid "invalid indirect memory address"
msgstr "geçersiz dolaylı bellek adresi"
-#: config/c4x/c4x.c:3609
+#: config/c4x/c4x.c:3603
msgid "invalid indirect (S) memory address"
msgstr "dolaylı (S) bellek adresi geçersiz"
-#: config/c4x/c4x.c:3950
+#: config/c4x/c4x.c:3944
msgid "c4x_valid_operands: Internal error"
msgstr "c4x_valid_operands: İç hata"
-#: config/c4x/c4x.c:4430
+#: config/c4x/c4x.c:4424
msgid "c4x_operand_subword: invalid mode"
msgstr "c4x_operand_subword: geçersiz kip"
-#: config/c4x/c4x.c:4433
+#: config/c4x/c4x.c:4427
msgid "c4x_operand_subword: invalid operand"
msgstr "c4x_operand_subword: geçersiz terim"
#. We could handle these with some difficulty.
#. e.g., *p-- => *(p-=2); *(p+1).
-#: config/c4x/c4x.c:4459
+#: config/c4x/c4x.c:4453
msgid "c4x_operand_subword: invalid autoincrement"
msgstr "c4x_operand_subword: otomatik arttırma geçersiz"
-#: config/c4x/c4x.c:4465
+#: config/c4x/c4x.c:4459
msgid "c4x_operand_subword: invalid address"
msgstr "c4x_operand_subword: geçersiz adres"
-#: config/c4x/c4x.c:4476
+#: config/c4x/c4x.c:4470
msgid "c4x_operand_subword: address not offsettable"
msgstr "c4x_operand_subword: adres konumlanabilir deÄŸil"
-#: config/c4x/c4x.c:4676
+#: config/c4x/c4x.c:4670
msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
msgstr "c4x_rptb_rpts_p: Tekar bloğu tepe etiketi taşındı\n"
@@ -9136,7 +9347,6 @@ msgstr "c4x_rptb_rpts_p: Tekar bloğu tepe etiketi taşındı\n"
#. 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.
@@ -9172,595 +9382,534 @@ msgstr "c4x_rptb_rpts_p: Tekar bloğu tepe etiketi taşındı\n"
#. 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:168
msgid "Small memory model"
msgstr "Küçük bellek modeli"
-#: config/c4x/c4x.h:143
+#: config/c4x/c4x.h:170
msgid "Big memory model"
msgstr "Büyük bellek modeli"
-#: config/c4x/c4x.h:145
+#: config/c4x/c4x.h:172
msgid "Use MPYI instruction for C3x"
msgstr "C3x için MPYI komutu kullanılır"
-#: config/c4x/c4x.h:147
+#: config/c4x/c4x.h:174
msgid "Do not use MPYI instruction for C3x"
msgstr "C3x için MPYI komutu kullanılmaz"
-#: config/c4x/c4x.h:149
+#: config/c4x/c4x.h:176
msgid "Use fast but approximate float to integer conversion"
msgstr ""
"Kayan noktadan tamsayıya çevrimlerde hızlı fakat yaklaşık kesinlikte\n"
" çevrim kullanılır"
-#: config/c4x/c4x.h:151
+#: config/c4x/c4x.h:178
msgid "Use slow but accurate float to integer conversion"
msgstr ""
"Kayan noktadan tamsayıya çevrimlerde yavaş fakat yüksek kesinlikte\n"
" çevrim kullanır"
-#: config/c4x/c4x.h:153
+#: config/c4x/c4x.h:180
msgid "Enable use of RTPS instruction"
msgstr "RTPS komutunun kullanımı etkinleştirilir"
-#: config/c4x/c4x.h:155
+#: config/c4x/c4x.h:182
msgid "Disable use of RTPS instruction"
msgstr "RTPS komutunun kullanımı kapatılır"
-#: config/c4x/c4x.h:157
+#: config/c4x/c4x.h:184
msgid "Enable use of RTPB instruction"
msgstr "RTPB komutunun kullanımı etkinleştirilir"
-#: config/c4x/c4x.h:159
+#: config/c4x/c4x.h:186
msgid "Disable use of RTPB instruction"
msgstr "RTPB komutunun kullanımı kapatılır"
-#: config/c4x/c4x.h:161
+#: config/c4x/c4x.h:188
msgid "Generate code for C30 CPU"
msgstr "Kod C30 MİB için üretilir"
-#: config/c4x/c4x.h:163
+#: config/c4x/c4x.h:190
msgid "Generate code for C31 CPU"
msgstr "Kod C31 MİB için üretilir"
-#: config/c4x/c4x.h:165
+#: config/c4x/c4x.h:192
msgid "Generate code for C32 CPU"
msgstr "Kod C32 MİB için üretilir"
-#: config/c4x/c4x.h:167
+#: config/c4x/c4x.h:194
msgid "Generate code for C33 CPU"
msgstr "Kod C33 MİB için üretilir"
-#: config/c4x/c4x.h:169
+#: config/c4x/c4x.h:196
msgid "Generate code for C40 CPU"
msgstr "Kod C40 MİB için üretilir"
-#: config/c4x/c4x.h:171
+#: config/c4x/c4x.h:198
msgid "Generate code for C44 CPU"
msgstr "Kod C44 MİB için üretilir"
-#: config/c4x/c4x.h:173
+#: config/c4x/c4x.h:200
msgid "Emit code compatible with TI tools"
msgstr "TI araçları ile uyumlu kod üretir"
-#: config/c4x/c4x.h:175
+#: config/c4x/c4x.h:202
msgid "Emit code to use GAS extensions"
msgstr "GAS genişlemelerini kullanan kod üretir"
-#: config/c4x/c4x.h:177 config/c4x/c4x.h:181
+#: config/c4x/c4x.h:204 config/c4x/c4x.h:208
msgid "Save DP across ISR in small memory model"
msgstr "Düşük bellek modelinde DP'yi ISR'da saklar"
-#: config/c4x/c4x.h:179 config/c4x/c4x.h:183
+#: config/c4x/c4x.h:206 config/c4x/c4x.h:210
msgid "Don't save DP across ISR in small memory model"
msgstr "Düşük bellek modelinde DP'yi ISR'da saklamaz"
-#: config/c4x/c4x.h:185
+#: config/c4x/c4x.h:212
msgid "Pass arguments on the stack"
msgstr "Yığındaki argümanlar aktarılır"
-#: config/c4x/c4x.h:187
+#: config/c4x/c4x.h:214
msgid "Pass arguments in registers"
msgstr "Yazmaçlardaki argümanlar aktarılır"
-#: config/c4x/c4x.h:189
+#: config/c4x/c4x.h:216
msgid "Enable new features under development"
msgstr "Geliştirilmekte olan yeni özellikler etkinleştirilir"
-#: config/c4x/c4x.h:191
+#: config/c4x/c4x.h:218
msgid "Disable new features under development"
msgstr "Geliştirilmekte olan yeni özellikler kapatılır"
-#: config/c4x/c4x.h:193
+#: config/c4x/c4x.h:220
msgid "Use the BK register as a general purpose register"
msgstr "BK yazmaçları genel kullanım yazmaçları olarak kullanılır"
-#: config/c4x/c4x.h:195
+#: config/c4x/c4x.h:222
msgid "Do not allocate BK register"
msgstr "BK yazmaçları ayrılmaz"
-#: config/c4x/c4x.h:197
+#: config/c4x/c4x.h:224
msgid "Enable use of DB instruction"
msgstr "DB komutunun kullanımı etkinleştirilir"
-#: config/c4x/c4x.h:199
+#: config/c4x/c4x.h:226
msgid "Disable use of DB instruction"
msgstr "DB komutunun kullanımı kapatılır"
-#: config/c4x/c4x.h:201
+#: config/c4x/c4x.h:228
msgid "Enable debugging"
msgstr "Hata ayıklama etkinleştirilir"
-#: config/c4x/c4x.h:203
+#: config/c4x/c4x.h:230
msgid "Disable debugging"
msgstr "Hata ayıklama kapatılır"
-#: config/c4x/c4x.h:205
+#: config/c4x/c4x.h:232
msgid "Force constants into registers to improve hoisting"
msgstr "Kaldırmayı iyileştirmek için sabitleri yazmaçlarda saklar"
-#: config/c4x/c4x.h:207
+#: config/c4x/c4x.h:234
msgid "Don't force constants into registers"
msgstr "Sabitleri yazmaçlarda saklamaz"
-#: config/c4x/c4x.h:209
+#: config/c4x/c4x.h:236
msgid "Force RTL generation to emit valid 3 operand insns"
msgstr "RTL üretiminde geçerli 3 terimli komut üretmeye zorlar"
-#: config/c4x/c4x.h:211
+#: config/c4x/c4x.h:238
msgid "Allow RTL generation to emit invalid 3 operand insns"
msgstr "RTL üretiminde geçersiz 3 terimli komut üretimine izin verir"
-#: config/c4x/c4x.h:213
-msgid "Allow unsigned interation counts for RPTB/DB"
+#: config/c4x/c4x.h:240
+msgid "Allow unsigned iteration counts for RPTB/DB"
msgstr "RPTB/DB için yineleme sayılarının unsigned olmasına izin verir"
-#: config/c4x/c4x.h:215
+#: config/c4x/c4x.h:242
msgid "Disallow unsigned iteration counts for RPTB/DB"
msgstr "RPTB/DB için yineleme sayılarının unsigned olmasına izin vermez"
-#: config/c4x/c4x.h:217
+#: config/c4x/c4x.h:244
msgid "Preserve all 40 bits of FP reg across call"
msgstr "Çağrıda FP yazmacının bütün 40 bitini korur"
-#: config/c4x/c4x.h:219
+#: config/c4x/c4x.h:246
msgid "Only preserve 32 bits of FP reg across call"
msgstr "Çağrıda FP yazmacının yalnız 32 bitini korur"
-#: config/c4x/c4x.h:221
+#: config/c4x/c4x.h:248
msgid "Enable parallel instructions"
msgstr "Eşzamanlı komutlar etkinleştirilir"
-#: config/c4x/c4x.h:223
+#: config/c4x/c4x.h:250
msgid "Disable parallel instructions"
msgstr "Eşzamanlı komutlar kapatılır"
-#: config/c4x/c4x.h:225
+#: config/c4x/c4x.h:252
msgid "Enable MPY||ADD and MPY||SUB instructions"
msgstr "MPY||ADD ve MPY||SUB komutları etkinleştirilir"
-#: config/c4x/c4x.h:227
+#: config/c4x/c4x.h:254
msgid "Disable MPY||ADD and MPY||SUB instructions"
msgstr "MPY||ADD ve MPY||SUB komutları kapatılır"
-#: config/c4x/c4x.h:229
+#: config/c4x/c4x.h:256
msgid "Assume that pointers may be aliased"
msgstr "Göstergelerin hizalı olabilecekleri varsayılır"
-#: config/c4x/c4x.h:231
+#: config/c4x/c4x.h:258
msgid "Assume that pointers not aliased"
msgstr "Göstergelerin hizalı olmadıkları varsayılır"
-#: config/c4x/c4x.h:304
+#: config/c4x/c4x.h:331
msgid "Specify maximum number of iterations for RPTS"
msgstr "RPTS için maksimum yineleme sayısını belirtir"
-#: config/c4x/c4x.h:306
+#: config/c4x/c4x.h:333
msgid "Select CPU to generate code for"
msgstr "Kodu üretilecek MİB seçilir"
-#. 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 "Kod C400 MİB için üretilir"
-
-#: config/clipper/clipper.h:41
-msgid "Generate code for the C300"
-msgstr "Kod C300 MİB için üretilir"
-
-#: config/convex/convex.h:53
-msgid "Generate code for c1"
-msgstr "Kod c1 için üretilir"
-
-#: config/convex/convex.h:54
-msgid "Generate code for c2"
-msgstr "Kod c2 için üretilir"
-
-#: config/convex/convex.h:55
-msgid "Generate code for c32"
-msgstr "Kod c32 için üretilir"
-
-#: config/convex/convex.h:56 config/convex/convex.h:57
-msgid "Generate code for c34"
-msgstr "Kod c34 için üretilir"
-
-#: config/convex/convex.h:59
-msgid "Use standard calling sequence, with arg count word"
-msgstr "Standart çağrı sırasını kullnaır; argüman, sayı, word ile"
-
-#: config/convex/convex.h:61
-msgid "Place arg count in a nop instruction (faster than push)"
-msgstr "Argüman sayısını bir NOP işlemine koyar (basma'dan daha çabuk)"
-
-#: config/convex/convex.h:63
-msgid "Don't push arg count, depend on symbol table"
-msgstr "Argüman sayısını basmaz, sembol tablosunu kullanır"
-
-#: config/convex/convex.h:65
-msgid "Use data cache for volatile mem refs (default)"
-msgstr "Oynak bellek referansları için veri arabelleği kullanılır"
-
-#: config/convex/convex.h:67
-msgid "Don't use data cache for volatile mem refs"
-msgstr "Oynak bellek referansları için veri arabelleği kullanılmaz"
-
-#: config/convex/convex.h:69
-msgid "Bypass data cache for volatile mem refs"
-msgstr "Oynak bellek referansları için veri arabelleği atlanır"
-
-#: config/convex/convex.h:70
-msgid "Use 64-bit longs"
-msgstr "64 bitlik long'lar kullanılır"
-
-#: config/convex/convex.h:71
-msgid "Use cc- and libc-compatible 32-bit longs"
-msgstr "cc ve libc uyumlu 32 bitlik long'lar kullanılır"
-
-#: config/cris/cris.c:569
+#: config/cris/cris.c:599
msgid "unexpected index-type in cris_print_index"
msgstr "cris_print_index içinde umulmayan indis türü"
-#: config/cris/cris.c:585
+#: config/cris/cris.c:615
msgid "unexpected base-type in cris_print_base"
msgstr "cris_print_base içinde beklenmeyen taban türü"
-#: config/cris/cris.c:878
+#: config/cris/cris.c:908
#, c-format
msgid "stackframe too big: %d bytes"
msgstr "yığın kapsamı çok büyük: %d bayt"
-#: config/cris/cris.c:1193
+#: config/cris/cris.c:1223
msgid "allocated but unused delay list in epilogue"
msgstr "gecikme listesi son bölümde ayrıldı ama kullanılmadı "
-#: config/cris/cris.c:1203
+#: config/cris/cris.c:1233
msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
msgstr "__builtin_eh_return için yığın ayarı gerektiren işlev türü anlaşılamadı"
-#: config/cris/cris.c:1282
+#: config/cris/cris.c:1312
msgid "invalid operand for 'b' modifier"
msgstr "'b' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1294
+#: config/cris/cris.c:1324
msgid "invalid operand for 'v' modifier"
msgstr "'v' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1304
+#: config/cris/cris.c:1334
msgid "invalid operand for 'P' modifier"
msgstr "'P' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1311
+#: config/cris/cris.c:1341
msgid "invalid operand for 'p' modifier"
msgstr "'p' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1350
+#: config/cris/cris.c:1380
msgid "invalid operand for 'z' modifier"
msgstr "'z' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1381 config/cris/cris.c:1411
+#: config/cris/cris.c:1411 config/cris/cris.c:1441
msgid "invalid operand for 'H' modifier"
msgstr "'H' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1387
+#: config/cris/cris.c:1417
msgid "bad register"
msgstr "yazmaç kötü"
-#: config/cris/cris.c:1425
+#: config/cris/cris.c:1455
msgid "invalid operand for 'e' modifier"
msgstr "'e' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1442
+#: config/cris/cris.c:1472
msgid "invalid operand for 'm' modifier"
msgstr "'m' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1467
+#: config/cris/cris.c:1497
msgid "invalid operand for 'A' modifier"
msgstr "'A' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1475
+#: config/cris/cris.c:1505
msgid "invalid operand for 'D' modifier"
msgstr "'D' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1489
+#: config/cris/cris.c:1519
msgid "invalid operand for 'T' modifier"
msgstr "'T' değiştirici için terim geçersiz"
-#: config/cris/cris.c:1498
+#: config/cris/cris.c:1528
msgid "invalid operand modifier letter"
msgstr "terim değiştirici harfi geçersiz"
-#: config/cris/cris.c:1506
+#: config/cris/cris.c:1536
#, c-format
msgid "internal error: bad register: %d"
msgstr "iç hata: hatalı yazmaç: %d"
-#: config/cris/cris.c:1554
+#: config/cris/cris.c:1584
msgid "unexpected multiplicative operand"
msgstr "umulmayan çarpımsal terim"
-#: config/cris/cris.c:1574
+#: config/cris/cris.c:1604
msgid "unexpected operand"
msgstr "Beklenmeyen terim"
-#: config/cris/cris.c:1609 config/cris/cris.c:1619
+#: config/cris/cris.c:1639 config/cris/cris.c:1649
msgid "unrecognized address"
msgstr "bilinmeyen adres"
-#: config/cris/cris.c:1975
+#: config/cris/cris.c:2005
msgid "internal error: sideeffect-insn affecting main effect"
msgstr "iç hata: yan etkili komut main etkisi oluşturuyor"
#. If we get here, the caller got its initial tests wrong.
-#: config/cris/cris.c:2262
+#: config/cris/cris.c:2292
msgid "internal error: cris_side_effect_mode_ok with bad operands"
msgstr "iç hata: hatalı terimli cris_side_effect_mode_ok"
-#: config/cris/cris.c:2344 config/cris/cris.c:2402
+#: config/cris/cris.c:2374 config/cris/cris.c:2432
msgid "unrecognized supposed constant"
msgstr "tanınmayan tahmini sabit"
-#: config/cris/cris.c:2443
+#: config/cris/cris.c:2473
msgid "unrecognized supposed constant in cris_global_pic_symbol"
msgstr "cris_global_pic_symbol içinde tanınmayan tahmini sabit"
-#: config/cris/cris.c:2462
+#: config/cris/cris.c:2492
#, c-format
msgid "-max-stackframe=%d is not usable, not between 0 and %d"
msgstr "-max-stackframe=%d 0 ile %d arasında olmadığından kullanışsız"
-#: config/cris/cris.c:2490
+#: config/cris/cris.c:2520
#, c-format
msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
msgstr "-march= veya -mcpu= seçenekleri ile belirtilen CRIS sürüm özelliği bilinmiyor: %s"
-#: config/cris/cris.c:2526
+#: config/cris/cris.c:2556
#, c-format
msgid "unknown CRIS cpu version specification in -mtune= : %s"
msgstr "-mtune= seçeneği ile belirtilen CRIS mib sürüm özelliği bilinmiyor: %s"
-#: config/cris/cris.c:2544
+#: config/cris/cris.c:2574
msgid "-fPIC and -fpic are not supported in this configuration"
msgstr "-fPIC ve -fpic bu yapılandırma ile desteklenmiyor"
-#: config/cris/cris.c:2560
+#: config/cris/cris.c:2590
msgid "that particular -g option is invalid with -maout and -melinux"
msgstr "tek başına -g seçeneği -maout ve -melinux ile geçersiz"
-#: config/cris/cris.c:2790 config/cris/cris.c:2835
+#: config/cris/cris.c:2824 config/cris/cris.c:2869
msgid "unexpected side-effects in address"
msgstr "adreste beklenmeyen yan etkiler"
#. Labels are never marked as global symbols.
-#: config/cris/cris.c:2932 config/cris/cris.c:2963
+#: config/cris/cris.c:2966 config/cris/cris.c:2997
msgid "unexpected PIC symbol"
msgstr "beklenmeyen PIC sembolü"
-#: config/cris/cris.c:2936
+#: config/cris/cris.c:2970
msgid "PIC register isn't set up"
msgstr "PIC yazmacı ayarlı değil"
-#: config/cris/cris.c:2949 config/cris/cris.c:3032
+#: config/cris/cris.c:2983 config/cris/cris.c:3066
msgid "unexpected address expression"
msgstr "beklenmeyen adres ifadesi"
-#: config/cris/cris.c:2967
+#: config/cris/cris.c:3001
msgid "emitting PIC operand, but PIC register isn't set up"
msgstr "PIC terimi üretiliyor ama PIC yazmacı ayarlı değil"
-#: config/cris/cris.c:2976
+#: config/cris/cris.c:3010
msgid "unexpected NOTE as addr_const:"
msgstr "addr_const olarak beklenmeyen NOT:"
-#: config/cris/aout.h:106
+#: config/cris/aout.h:108
msgid "Compile for the MMU-less Etrax 100-based elinux system"
msgstr "MMU-suz Etrax 100-tabanlı elinux sistemi için derler"
-#: config/cris/aout.h:113
+#: config/cris/aout.h:115
msgid "For elinux, request a specified stack-size for this program"
msgstr "elinux için, bu programa belirli bir yığın boyutu isteniyor"
#. No "no-etrax" as it does not really imply any model. On the other hand, "etrax" implies the common (and large) subset matching all models.
-#: config/cris/cris.h:336
+#: config/cris/cris.h:340
msgid "Compile for ETRAX 4 (CRIS v3)"
msgstr "ETRAX 4 (CRIS v3) için derleme yapılır"
-#: config/cris/cris.h:341
+#: config/cris/cris.h:345
msgid "Compile for ETRAX 100 (CRIS v8)"
msgstr "ETRAX 100 (CRIS v8) için derleme yapılır"
-#: config/cris/cris.h:345
+#: config/cris/cris.h:349
msgid "Emit verbose debug information in assembly code"
msgstr "Çevirici kodunda ayrıntılı hata ayıklama bilgisi üretilir"
-#: config/cris/cris.h:348
+#: config/cris/cris.h:352
msgid "Do not use condition codes from normal instructions"
msgstr "Normal komutlardan koşul kodları kullanılmaz"
-#: config/cris/cris.h:352
+#: config/cris/cris.h:356
msgid "Do not emit addressing modes with side-effect assignment"
msgstr "Yan etki atamalı adresleme kipleri üretilmez"
-#: config/cris/cris.h:355
+#: config/cris/cris.h:359
msgid "Do not tune stack alignment"
msgstr "Yığın hiizalaması ayarlanmaz"
-#: config/cris/cris.h:358
+#: config/cris/cris.h:362
msgid "Do not tune writable data alignment"
msgstr "Yazılabilir veri hizalaması ayarlanmaz"
-#: config/cris/cris.h:361
+#: config/cris/cris.h:365
msgid "Do not tune code and read-only data alignment"
msgstr "Kod ve salt-okunur veri hizalaması ayarlanmaz"
-#: config/cris/cris.h:370
+#: config/cris/cris.h:374
msgid "Align code and data to 32 bits"
msgstr "Kod ve veri 32 bitlik hizalanır"
-#: config/cris/cris.h:383
+#: config/cris/cris.h:387
msgid "Don't align items in code or data"
msgstr "Kod ve verideki öğeler hizalanmaz"
-#: config/cris/cris.h:386
+#: config/cris/cris.h:390
msgid "Do not emit function prologue or epilogue"
msgstr "İşlev önsözü ya da sonsözü üretilmez"
#. We have to handle this m-option here since we can't wash it off in both CC1_SPEC and CC1PLUS_SPEC.
-#: config/cris/cris.h:390
+#: config/cris/cris.h:394
msgid "Use the most feature-enabling options allowed by other options"
msgstr "Diğer seçenekler tarafından izin verilen çoğu özellik-etkinleştirme seçeneği kullanılır"
#. We must call it "override-" since calling it "no-" will cause gcc.c to forget it, if there's a "later" -mbest-lib-options. Kludgy, but needed for some multilibbed files.
-#: config/cris/cris.h:396
+#: config/cris/cris.h:400
msgid "Override -mbest-lib-options"
msgstr "-mbest-lib-options reddedilir"
-#: config/cris/cris.h:428
+#: config/cris/cris.h:432
msgid "Generate code for the specified chip or CPU version"
msgstr "Verilen MİB sürümü ya da çip için kodu üretir"
-#: config/cris/cris.h:430
+#: config/cris/cris.h:434
msgid "Tune alignment for the specified chip or CPU version"
msgstr "Belirtilen çip veya mib için hizalama ayarlanır"
-#: config/cris/cris.h:432
+#: config/cris/cris.h:436
msgid "Warn when a stackframe is larger than the specified size"
msgstr "Bir yığın bağlamı belirli boyuttan büyük olduğunda uyarır"
#. Node: Profiling
-#: config/cris/cris.h:1029
+#: config/cris/cris.h:1022
msgid "no FUNCTION_PROFILER for CRIS"
msgstr "CRIS için FUNCTION_PROFILER yok"
-#: config/cris/linux.h:74
+#: config/cris/linux.h:71
msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
msgstr "-fpic ve -fPIC ile birlikte GOTPLT başvurularını kullanmayın"
-#: config/d30v/d30v.c:209
+#: config/d30v/d30v.c:207
#, c-format
msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
msgstr "yazmaç %s, kip1 %s, kip2 %s için modes_tieable_p hatalı"
-#: config/d30v/d30v.c:2676
+#: config/d30v/d30v.c:2666
msgid "bad insn to d30v_print_operand_address:"
msgstr "d30v_print_operand_address için hatalı komut:"
-#: config/d30v/d30v.c:2693 config/d30v/d30v.c:2754 config/d30v/d30v.c:2775 config/d30v/d30v.c:2793
+#: 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 "d30v_print_operand_memory_reference için hatalı komut:"
-#: config/d30v/d30v.c:2861
+#: config/d30v/d30v.c:2851
msgid "bad insn to d30v_print_operand, 'f' modifier:"
msgstr "d30v_print_operand, 'f' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2870
+#: config/d30v/d30v.c:2860
msgid "bad insn to d30v_print_operand, 'A' modifier:"
msgstr "d30v_print_operand, 'A' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2877
+#: config/d30v/d30v.c:2867
msgid "bad insn to d30v_print_operand, 'M' modifier:"
msgstr "d30v_print_operand, 'M' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2931
+#: config/d30v/d30v.c:2921
msgid "bad insn to print_operand, 'F' or 'T' modifier:"
msgstr "print_operand, 'F' ya da 'T' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2942
+#: config/d30v/d30v.c:2932
msgid "bad insn to print_operand, 'B' modifier:"
msgstr "print_operand, 'B' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2949
+#: config/d30v/d30v.c:2939
msgid "bad insn to print_operand, 'E' modifier:"
msgstr "print_operand, 'E' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2967
+#: config/d30v/d30v.c:2957
msgid "bad insn to print_operand, 'R' modifier:"
msgstr "print_operand, 'R' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:2976 config/d30v/d30v.c:2984
+#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974
msgid "bad insn to print_operand, 's' modifier:"
msgstr "print_operand, 's' değiştirici için hatalı komut:"
-#: config/d30v/d30v.c:3013
+#: config/d30v/d30v.c:3003
msgid "bad insn in d30v_print_operand, 0 case"
msgstr "d30v_print_operand, 0 case içinde hatalı komut:"
-#: config/d30v/d30v.c:3368
+#: config/d30v/d30v.c:3301
msgid "d30v_emit_comparison"
msgstr "d30v_emit_comparison"
-#: config/d30v/d30v.c:3412
+#: config/d30v/d30v.c:3345
msgid "bad call to d30v_move_2words"
msgstr "d30v_move_2words çağrısı hatalı"
-#: config/d30v/d30v.h:108
+#: config/d30v/d30v.h:114
msgid "Enable use of conditional move instructions"
msgstr "Koşullu taşıma komutlarının kullanımı etkinleştirilir"
-#: config/d30v/d30v.h:111
+#: config/d30v/d30v.h:117
msgid "Disable use of conditional move instructions"
msgstr "Koşullu taşıma komutlarının kullanımı kapatılır"
-#: config/d30v/d30v.h:114
+#: config/d30v/d30v.h:120
msgid "Debug argument support in compiler"
msgstr "Derleyici argüman desteğinde hata ayıklar"
-#: config/d30v/d30v.h:117
+#: config/d30v/d30v.h:123
msgid "Debug stack support in compiler"
msgstr "Derleyici yığıt desteğinde hata ayıklar"
-#: config/d30v/d30v.h:120
+#: config/d30v/d30v.h:126
msgid "Debug memory address support in compiler"
msgstr "Derleyici bellek adresi desteğinde hata ayıklar"
-#: config/d30v/d30v.h:123
+#: config/d30v/d30v.h:129
msgid "Make adjacent short instructions parallel if possible"
msgstr ""
"Ardışık sıralı short komutlarını eğer mümkünse,\n"
" eşzamanlı işler"
-#: config/d30v/d30v.h:126
+#: config/d30v/d30v.h:132
msgid "Do not make adjacent short instructions parallel"
msgstr "Ardışık sıralı short komutlarını eşzamanlamaz"
-#: 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 "Öntanımlı olarak yazılım/verileri dış bellekte olacak şekilde bağlar"
-#: config/d30v/d30v.h:135
+#: config/d30v/d30v.h:141
msgid "Link programs/data to be in onchip memory by default"
msgstr "Öntanımlı olarak yazılım/verileri çip-içi bellekte olacak şekilde bağlar"
-#: config/d30v/d30v.h:143
+#: config/d30v/d30v.h:149
msgid "Change the branch costs within the compiler"
msgstr "Derleyicide dal maliyetlerini deÄŸiÅŸtirir"
-#: config/d30v/d30v.h:146
+#: config/d30v/d30v.h:152
msgid "Change the threshold for conversion to conditional execution"
msgstr "Koşullu çalışmaya geçiş için eşik değerini değiştirir"
@@ -9772,31 +9921,27 @@ msgstr "Yığın uzunluğu > 32k"
msgid "invalid addressing mode"
msgstr "geçersiz adresleme kipi"
-#: config/dsp16xx/dsp16xx.c:1857
+#: config/dsp16xx/dsp16xx.c:1821
msgid "bad register extension code"
msgstr "hatalı yazmaç uzantı kodu"
-#: config/dsp16xx/dsp16xx.c:1958
+#: config/dsp16xx/dsp16xx.c:1921
msgid "invalid offset in ybase addressing"
msgstr "ybase adreslemedeki göreli konum geçersiz"
-#: config/dsp16xx/dsp16xx.c:1961
+#: config/dsp16xx/dsp16xx.c:1924
msgid "invalid register in ybase addressing"
msgstr "ybase adreslemedeki yazmaç geçersiz"
-#: config/dsp16xx/dsp16xx.c:1990
-msgid "inline float constants not supported on this host"
-msgstr "gerçel sayı sabitlerin `inline' bildirimi bu makinada desteklenmiyor"
-
-#: config/dsp16xx/dsp16xx.c:2140
+#: config/dsp16xx/dsp16xx.c:2099
msgid "invalid shift operator in emit_1600_core_shift"
-msgstr "emit_1600_core_shift içindeki kaydırma işlemimi geçersiz"
+msgstr "emit_1600_core_shift içindeki kaydırma işleci geçersiz"
-#: config/dsp16xx/dsp16xx.c:2469
+#: config/dsp16xx/dsp16xx.c:2428
msgid "invalid mode for gen_tst_reg"
msgstr "gen_tst_reg için kip geçersiz"
-#: config/dsp16xx/dsp16xx.c:2541
+#: config/dsp16xx/dsp16xx.c:2500
msgid "invalid mode for integer comparison in gen_compare_reg"
msgstr "gen_compare_reg içindeki tamsayı karşılaştırması için kip geçersiz"
@@ -9805,236 +9950,379 @@ msgstr "gen_compare_reg içindeki tamsayı karşılaştırması için kip geçer
#. 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 "Yazmaçlardaki parametreler aktarılır (öntanımlı)"
-#: config/dsp16xx/dsp16xx.h:217
+#: config/dsp16xx/dsp16xx.h:232
msgid "Don't pass parameters in registers"
msgstr "Yazmaçlardaki parametreler aktarılmaz"
-#: config/dsp16xx/dsp16xx.h:219
+#: config/dsp16xx/dsp16xx.h:234
msgid "Generate code for near calls"
msgstr "Yakın bellek çağrıları için kodu üretilir"
-#: config/dsp16xx/dsp16xx.h:221
+#: config/dsp16xx/dsp16xx.h:236
msgid "Don't generate code for near calls"
msgstr "Yakın bellek çağrıları için kodu üretilmez"
-#: config/dsp16xx/dsp16xx.h:223
+#: config/dsp16xx/dsp16xx.h:238
msgid "Generate code for near jumps"
msgstr "Yakın bellek sıçramaları için kodu üretilir"
-#: config/dsp16xx/dsp16xx.h:225
+#: config/dsp16xx/dsp16xx.h:240
msgid "Don't generate code for near jumps"
msgstr "Yakın bellek sıçramaları için kodu üretilmez"
-#: config/dsp16xx/dsp16xx.h:227
+#: config/dsp16xx/dsp16xx.h:242
msgid "Generate code for a bit-manipulation unit"
msgstr "Bit işleme birimi için kod üretilir"
-#: config/dsp16xx/dsp16xx.h:229
+#: config/dsp16xx/dsp16xx.h:244
msgid "Don't generate code for a bit-manipulation unit"
msgstr "Bir bit-işleme birimi için kod üretilmez"
-#: config/dsp16xx/dsp16xx.h:231
+#: config/dsp16xx/dsp16xx.h:246
msgid "Generate code for memory map1"
msgstr "Bellek eşlem1 için kod üretilir"
-#: config/dsp16xx/dsp16xx.h:233
+#: config/dsp16xx/dsp16xx.h:248
msgid "Generate code for memory map2"
msgstr "Bellek eşlem2 için kod üretilir"
-#: config/dsp16xx/dsp16xx.h:235
+#: config/dsp16xx/dsp16xx.h:250
msgid "Generate code for memory map3"
msgstr "Bellek eşlem3 için kod üretilir"
-#: config/dsp16xx/dsp16xx.h:237
+#: config/dsp16xx/dsp16xx.h:252
msgid "Generate code for memory map4"
msgstr "Bellek eşlem4 için kod üretilir"
-#: config/dsp16xx/dsp16xx.h:239
+#: config/dsp16xx/dsp16xx.h:254
msgid "Ouput extra code for initialized data"
msgstr "İlklendirilmiş veri için fazladan kod çıktılar"
-#: config/dsp16xx/dsp16xx.h:241
+#: config/dsp16xx/dsp16xx.h:256
msgid "Don't let reg. allocator use ybase registers"
msgstr "ybase yazmaçların ayrılma sırası denetlenmez"
-#: config/dsp16xx/dsp16xx.h:243
+#: config/dsp16xx/dsp16xx.h:258
msgid "Output extra debug info in Luxworks environment"
msgstr "Luxworks ortamında fazladan hata ayıklama bilgisi çıktılar"
-#: config/dsp16xx/dsp16xx.h:245
+#: config/dsp16xx/dsp16xx.h:260
msgid "Save temp. files in Luxworks environment"
msgstr "Luxworks ortamında geçici dosyalar kaydedilir"
-#: config/dsp16xx/dsp16xx.h:257
+#: config/dsp16xx/dsp16xx.h:272
msgid "Specify alternate name for text section"
msgstr "Metin bölümü için alternatif isim belirtilir"
-#: config/dsp16xx/dsp16xx.h:259
+#: config/dsp16xx/dsp16xx.h:274
msgid "Specify alternate name for data section"
msgstr "Veri bölümü için alternatif isim belirtilir"
-#: config/dsp16xx/dsp16xx.h:261
+#: config/dsp16xx/dsp16xx.h:276
msgid "Specify alternate name for bss section"
msgstr "bss bölümü için alternatif isim belirtilir"
-#: config/dsp16xx/dsp16xx.h:263
+#: config/dsp16xx/dsp16xx.h:278
msgid "Specify alternate name for constant section"
msgstr "Sabit bölümü için alternatif isim belirtilir"
-#: config/dsp16xx/dsp16xx.h:265
+#: config/dsp16xx/dsp16xx.h:280
msgid "Specify alternate name for dsp16xx chip"
msgstr "dsp16xx çipi için alternatif isim belirtilir"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/dsp16xx/dsp16xx.h:1219 config/dsp16xx/dsp16xx.h:1224 config/dsp16xx/dsp16xx.h:1229 config/dsp16xx/dsp16xx.h:1809 config/dsp16xx/dsp16xx.h:1814
+#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772
+#: config/dsp16xx/dsp16xx.h:1777
msgid "profiling not implemented yet"
msgstr "ayrımlama henüz programlanmadı."
#. 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:1240 config/dsp16xx/dsp16xx.h:1252
+#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240
msgid "trampolines not yet implemented"
msgstr "trampolines henüz programlanmadı"
-#. 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 "Unix çeviricinin kullanabileceği kod üretilir"
-
-#: config/elxsi/elxsi.h:52
-msgid "Generate code an embedded assembler can handle"
-msgstr "Bir gömülü çeviricinin kullanabileceği kod üretilir"
-
-#: config/fr30/fr30.c:456
+#: config/fr30/fr30.c:453
msgid "fr30_print_operand_address: unhandled address"
msgstr "fr30_print_operand_address: bilinmeyen adres"
-#: config/fr30/fr30.c:483
+#: config/fr30/fr30.c:480
#, c-format
msgid "fr30_print_operand: unrecognized %%p code"
msgstr "fr30_print_operand: bilinmeyen %%p kodu"
-#: config/fr30/fr30.c:503
+#: config/fr30/fr30.c:500
#, c-format
msgid "fr30_print_operand: unrecognized %%b code"
msgstr "fr30_print_operand: bilinmeyen %%b kodu"
-#: config/fr30/fr30.c:524
+#: config/fr30/fr30.c:521
#, c-format
msgid "fr30_print_operand: unrecognized %%B code"
msgstr "fr30_print_operand: bilinmeyen %%B kodu"
-#: config/fr30/fr30.c:532
+#: config/fr30/fr30.c:529
#, c-format
msgid "fr30_print_operand: invalid operand to %%A code"
msgstr "fr30_print_operand: %%A koduna terim geçersiz"
-#: config/fr30/fr30.c:549
+#: config/fr30/fr30.c:546
#, c-format
msgid "fr30_print_operand: invalid %%x code"
msgstr "fr30_print_operand: %%x kodu geçersiz"
-#: config/fr30/fr30.c:556
+#: config/fr30/fr30.c:553
#, c-format
msgid "fr30_print_operand: invalid %%F code"
msgstr "fr30_print_operand: %%F kodu geçersiz"
-#: config/fr30/fr30.c:572
+#: config/fr30/fr30.c:570
msgid "fr30_print_operand: unknown code"
msgstr "fr30_print_operand: bilinmeyen kod"
-#: 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 "fr30_print_operand: bilinmeyen bellek"
-#: config/fr30/fr30.h:57
+#: config/fr30/fr30.h:63
msgid "Assume small address space"
msgstr "Küçük adres alanı varsayılır"
-#: config/h8300/h8300.c:142
+#: config/frv/frv.c:410 config/frv/frv.c:428
+#, c-format
+msgid "Unknown cpu: -mcpu=%s"
+msgstr "Bilinmeyen iÅŸlemci: -mcpu=%s"
+
+#: config/frv/frv.c:451
+msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+msgstr "-fpic ve -gdwarf uyumsuz (-fpic ve -g/-gdwarf-2 uyumlu)"
+
+#: config/frv/frv.c:2520
+msgid "Bad insn to frv_print_operand_address:"
+msgstr "frv_print_operand_address için hatalı komut:"
+
+#: config/frv/frv.c:2533
+msgid "Bad register to frv_print_operand_memory_reference_reg:"
+msgstr "frv_print_operand_memory_reference_reg için hatalı komut:"
+
+#: 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 "frv_print_operand_memory_reference için hatalı komut:"
+
+#: config/frv/frv.c:2779
+msgid "Bad insn in frv_print_operand, bad const_double"
+msgstr "frvv_print_operand içinde hatalı komut, const_double hatalı"
+
+#: config/frv/frv.c:2824
+msgid "Bad insn to frv_print_operand, 'C' modifier:"
+msgstr "frv_print_operand, 'C' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2847
+msgid "Bad insn to frv_print_operand, 'c' modifier:"
+msgstr "frv_print_operand, 'c' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2872
+msgid "Bad insn to frv_print_operand, 'e' modifier:"
+msgstr "frv_print_operand, 'e' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2880
+msgid "Bad insn to frv_print_operand, 'F' modifier:"
+msgstr "frv_print_operand, 'F' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2896
+msgid "Bad insn to frv_print_operand, 'f' modifier:"
+msgstr "frv_print_operand, 'f' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2949
+msgid "Bad insn to frv_print_operand, 'L' modifier:"
+msgstr "frv_print_operand, 'L' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2962
+msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
+msgstr "frv_print_operand, 'M/N' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:2983
+msgid "Bad insn to frv_print_operand, 'O' modifier:"
+msgstr "frv_print_operand, 'O' değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:3001
+msgid "Bad insn to frv_print_operand, P modifier:"
+msgstr "frv_print_operand, P değiştirici için hatalı komut:"
+
+#: config/frv/frv.c:3021
+msgid "Bad insn in frv_print_operand, z case"
+msgstr "frv_print_operand, z case içinde hatalı komut"
+
+#: config/frv/frv.c:3049
+msgid "Bad insn in frv_print_operand, 0 case"
+msgstr "frv_print_operand, 0 case içinde hatalı komut"
+
+#: config/frv/frv.c:3054
+msgid "frv_print_operand: unknown code"
+msgstr "frv_print_operand: bilinmeyen kod"
+
+#: config/frv/frv.c:5737
+msgid "Bad output_move_single operand"
+msgstr "output_move_single terimi hatalı"
+
+#: config/frv/frv.c:5866
+msgid "Bad output_move_double operand"
+msgstr "output_move_double terimi hatalı"
+
+#: config/frv/frv.c:6010
+msgid "Bad output_condmove_single operand"
+msgstr "output_condmove_single terimi hatalı"
+
+#: config/frv/frv.c:8315
+msgid "frv_registers_update"
+msgstr "frv_registers_update"
+
+#: config/frv/frv.c:8475
+msgid "frv_registers_used_p"
+msgstr "frv_registers_used_p"
+
+#: config/frv/frv.c:8604
+msgid "frv_registers_set_p"
+msgstr "frv_registers_set_p"
+
+#: config/frv/frv.c:9171
+msgid "accumulator is not a constant integer"
+msgstr "toplayıcı bir tamsayı sabit değil"
+
+#: config/frv/frv.c:9176
+msgid "accumulator number is out of bounds"
+msgstr "toplayıcı sayısı kapsamdışı"
+
+#: config/frv/frv.c:9187
+#, c-format
+msgid "inappropriate accumulator for `%s'"
+msgstr "`%s' için ilgisiz toplayıcı"
+
+#: config/frv/frv.c:9253
+#, c-format
+msgid "`%s' expects a constant argument"
+msgstr "`%s' bir tamsayı sabit argüman olarak beklenir"
+
+#: config/frv/frv.c:9258
+#, c-format
+msgid "constant argument out of range for `%s'"
+msgstr "sabit argüman `%s' için kapsamdışı"
+
+#: config/frv/frv.c:9638
+msgid "media functions are not available unless -mmedia is used"
+msgstr "ortam işlevleri -mmedia kullanılmadıkça geçersizdir"
+
+#: config/frv/frv.c:9650
+msgid "this media function is only available on the fr500"
+msgstr "bu ortam işlevi sadece fr500 üzerinde kullanılabilir"
+
+#: config/frv/frv.c:9678
+msgid "this media function is only available on the fr400"
+msgstr "bu ortam işlevi sadece fr400 üzerinde kullanılabilir"
+
+#. 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 " (frv)"
+
+#: config/h8300/h8300.c:314
msgid "-ms2600 is used without -ms"
msgstr "-ms2600, -ms olmaksızın kullanılmış"
+#: config/h8300/h8300.c:320
+msgid "-mn is used without -mh or -ms"
+msgstr "-mn, -mh veya -ms olmaksızın kullanılmış"
+
#. 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"
-msgstr "H8/S kodu üretilir"
+#: config/h8300/h8300.h:150
+msgid "Generate H8S code"
+msgstr "H8S kodu üretilir"
-#: config/h8300/h8300.h:118
-msgid "Do not generate H8/S code"
-msgstr "H8/S kodu üretilmez"
+#: config/h8300/h8300.h:151
+msgid "Do not generate H8S code"
+msgstr "H8S kodu üretilmez"
-#: config/h8300/h8300.h:119
-msgid "Generate H8/S2600 code"
-msgstr "H8/S2600 kodu üretilir"
+#: config/h8300/h8300.h:152
+msgid "Generate H8S/2600 code"
+msgstr "H8S/2600 kodu üretilir"
-#: config/h8300/h8300.h:120
-msgid "Do not generate H8/S2600 code"
-msgstr "H8/S2600 kodu üretilmez"
+#: config/h8300/h8300.h:153
+msgid "Do not generate H8S/2600 code"
+msgstr "H8S/2600 kodu üretilmez"
-#: config/h8300/h8300.h:121
+#: config/h8300/h8300.h:154
msgid "Make integers 32 bits wide"
msgstr "Tamsayılar 32 bitlik yapılır"
-#: config/h8300/h8300.h:124
+#: config/h8300/h8300.h:157
msgid "Use registers for argument passing"
msgstr "Argüman aktarımı için yazmaçlar kullanılır"
-#: config/h8300/h8300.h:126
+#: config/h8300/h8300.h:159
msgid "Do not use registers for argument passing"
msgstr "Argüman aktarımı için yazmaçlar kullanılmaz"
-#: config/h8300/h8300.h:128
+#: config/h8300/h8300.h:161
msgid "Consider access to byte sized memory slow"
msgstr "Bayt bayt erişilen belleğin yavaş olduğu varsayılır"
-#: config/h8300/h8300.h:129
+#: config/h8300/h8300.h:162
msgid "Enable linker relaxing"
msgstr "Bağlayıcı gevşetmesi etkinleştirilir"
-#: config/h8300/h8300.h:131
+#: config/h8300/h8300.h:164
msgid "Generate H8/300H code"
msgstr "H8/300H kodu üretilir"
-#: config/h8300/h8300.h:132
+#: config/h8300/h8300.h:165
+msgid "Enable the normal mode"
+msgstr "Normal kip etkinleÅŸtirilir"
+
+#: config/h8300/h8300.h:166
msgid "Do not generate H8/300H code"
msgstr "H8/300H kodu üretilmez"
-#: config/h8300/h8300.h:133
+#: config/h8300/h8300.h:167
msgid "Use H8/300 alignment rules"
msgstr "H8/300 hizalama kuralları kullanılır"
-#: config/i370/i370-c.c:54
+#: config/i370/i370-c.c:53
msgid "junk at end of #pragma map"
msgstr "'#pragma map' sonunda karışıklık"
-#: config/i370/i370-c.c:60
+#: config/i370/i370-c.c:59
msgid "malformed #pragma map, ignored"
msgstr "'#pragma map' bozuk, yoksayıldı"
-#: config/i370/i370.c:897
+#: config/i370/i370.c:915
msgid "real name is too long - alias ignored"
msgstr "gerçek isim çok uzun - takma ad yoksayıldı"
-#: config/i370/i370.c:902
+#: config/i370/i370.c:920
msgid "alias name is too long - alias ignored"
msgstr "takma ad çok uzun - takma ad yoksayıldı"
-#: config/i370/i370.c:1173
+#: config/i370/i370.c:1191
msgid "internal error--no jump follows compare:"
msgstr "iç hata -- karşılaştırmayı izleyen bir jump yok:"
@@ -10042,343 +10330,329 @@ msgstr "iç hata -- karşılaştırmayı izleyen bir jump yok:"
#. 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 "char komutları üretilir"
-#: config/i370/i370.h:64
+#: config/i370/i370.h:76
msgid "Do not generate char instructions"
msgstr "char komutları üretilmez"
-#: config/i386/i386.c:925
+#: config/i386/i386.c:1050
#, c-format
msgid "code model %s not supported in PIC mode"
msgstr "PIC kipinde %s kod modeli desteklenmiyor"
-#: config/i386/i386.c:935 config/sparc/sparc.c:344
+#: config/i386/i386.c:1060 config/sparc/sparc.c:356
#, c-format
msgid "bad value (%s) for -mcmodel= switch"
msgstr "-mcmodel= seçeneğinin değeri (%s) hatalı"
-#: config/i386/i386.c:950
+#: config/i386/i386.c:1075
#, c-format
msgid "bad value (%s) for -masm= switch"
msgstr "-masm= seçeneğinin değeri (%s) hatalı"
-#: config/i386/i386.c:953
+#: config/i386/i386.c:1078
#, c-format
msgid "code model `%s' not supported in the %s bit mode"
msgstr "%2$s bit kipinde `%1$s' kod modeli desteklenmiyor"
-#: config/i386/i386.c:956
+#: config/i386/i386.c:1081
msgid "code model `large' not supported yet"
msgstr "'büyük' kod modeli henüz desteklenmiyor"
-#: config/i386/i386.c:958
+#: config/i386/i386.c:1083
#, c-format
msgid "%i-bit mode not compiled in"
msgstr "%i bitlik kip bunun içinde derlenmiş değil:"
-#: config/i386/i386.c:988 config/mips/mips.c:4989
+#: config/i386/i386.c:1113
#, c-format
msgid "bad value (%s) for -march= switch"
msgstr "-march= seçeneğinin değeri (%s) hatalı"
-#: config/i386/i386.c:999 config/mips/mips.c:4945
+#: config/i386/i386.c:1124
#, c-format
msgid "bad value (%s) for -mcpu= switch"
msgstr "-mcpu= seçeneğinin değeri (%s) hatalı"
-#: config/i386/i386.c:1018
+#: config/i386/i386.c:1141
#, c-format
msgid "-mregparm=%d is not between 0 and %d"
msgstr "-mregparm=%d 0 ile %d arasında değil"
-#: config/i386/i386.c:1031
+#: config/i386/i386.c:1154
msgid "-malign-loops is obsolete, use -falign-loops"
msgstr "-malign-loops artık kullanılmıyor yerine -falign-loops kullanın"
-#: config/i386/i386.c:1036 config/i386/i386.c:1049 config/i386/i386.c:1062
+#: config/i386/i386.c:1159 config/i386/i386.c:1172 config/i386/i386.c:1185
#, c-format
msgid "-malign-loops=%d is not between 0 and %d"
msgstr "-malign-loops=%d 0 ile %d arasında değil"
-#: config/i386/i386.c:1044
+#: config/i386/i386.c:1167
msgid "-malign-jumps is obsolete, use -falign-jumps"
msgstr "-malign-jumps eskidir, yerine -falign-jumps kullanın"
-#: config/i386/i386.c:1057
+#: config/i386/i386.c:1180
msgid "-malign-functions is obsolete, use -falign-functions"
msgstr "-malign-functions artık kullanılmıyor, yerine -falign-functions kullanın"
-#: config/i386/i386.c:1095
+#: config/i386/i386.c:1218
#, c-format
msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
msgstr "-mpreferred-stack-boundary=%d %d ile 12 arasında değil"
-#: config/i386/i386.c:1107
+#: config/i386/i386.c:1230
#, c-format
msgid "-mbranch-cost=%d is not between 0 and 5"
msgstr "-mbranch-cost=%d 0 ile 5 arasında değil"
-#: config/i386/i386.c:1129
+#: config/i386/i386.c:1242
+#, c-format
+msgid "bad value (%s) for -mtls-dialect= switch"
+msgstr "-mtls-dialect= seçeneğinin değeri (%s) hatalı"
+
+#: config/i386/i386.c:1263
msgid "-malign-double makes no sense in the 64bit mode"
msgstr "-malign-double 64bitlik kipte iÅŸ yapmaz"
-#: config/i386/i386.c:1131
+#: config/i386/i386.c:1265
msgid "-mrtd calling convention not supported in the 64bit mode"
msgstr "64bitlik kipte -mrtd çağrı uzlaşımı desteklenmiyor"
-#: config/i386/i386.c:1147 config/i386/i386.c:1158
+#: config/i386/i386.c:1281 config/i386/i386.c:1292
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr "SSE komut kümesi iptal edildi, 387 aritmetiği kullanılıyor"
-#: config/i386/i386.c:1163
+#: config/i386/i386.c:1297
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr "387 komut kümesi iptal edildi, SSE aritmetiği kullanılıyor"
-#: config/i386/i386.c:1170
+#: config/i386/i386.c:1304
#, c-format
msgid "bad value (%s) for -mfpmath= switch"
msgstr "-mfpmath= seçeneğinin değeri (%s) hatalı"
-#: config/i386/i386.c:1300
+#: config/i386/i386.c:1436
#, c-format
msgid "`%s' attribute requires an integer constant argument"
msgstr "`%s' özniteliği bir tamsayı sabit argüman gerektirir"
-#: config/i386/i386.c:1306
+#: config/i386/i386.c:1442
#, c-format
msgid "argument to `%s' attribute larger than %d"
msgstr "`%s' özniteliğine argüman %d den büyük"
-#: config/i386/i386.c:5363
+#: config/i386/i386.c:6325
msgid "invalid UNSPEC as operand"
msgstr "veri öğesi olarak UNSPEC geçersiz"
-#: config/i386/i386.c:5596
+#: config/i386/i386.c:6587
msgid "extended registers have no high halves"
msgstr "ek yazmaçların yüksek yarıları yok"
-#: config/i386/i386.c:5611
+#: config/i386/i386.c:6602
msgid "unsupported operand size for extended register"
msgstr "ek yazmaç için desteklenmeyen terim boyutu"
-#: config/i386/i386.c:5884
+#: config/i386/i386.c:6917
msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'"
-#: config/i386/i386.c:5930
+#: config/i386/i386.c:6963
#, c-format
msgid "invalid operand code `%c'"
msgstr "terim kodu `%c' geçersiz"
-#: config/i386/i386.c:9867
+#: config/i386/i386.c:7010
+msgid "invalid constraints for operand"
+msgstr "kısıtlar terim için geçersiz"
+
+#: config/i386/i386.c:11189
msgid "unknown insn mode"
msgstr "bilinmeyen komut kipi"
#. @@@ better error message
-#: config/i386/i386.c:11730 config/i386/i386.c:11763
+#: config/i386/i386.c:13309 config/i386/i386.c:13345
msgid "selector must be an immediate"
msgstr "seçici bir şimdiki değer olmalı"
#. @@@ better error message
-#: config/i386/i386.c:11921 config/i386/i386.c:11949
+#: config/i386/i386.c:13506 config/i386/i386.c:13540
msgid "mask must be an immediate"
-msgstr "maske bir şimdiki değer olmalı"
+msgstr "mask bir dolaysız değer olmalı"
+
+#: config/i386/i386.c:13572
+msgid "shift must be an immediate"
+msgstr "shift bir dolaysız değer olmalı"
-#: config/i386/winnt.c:94
+#: config/i386/winnt.c:105
#, c-format
msgid "`%s' attribute only applies to variables"
msgstr "`%s' özniteliği sadece değişkenlere uygulanır"
-#: 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 "`%s' hem bir DLL'den alınan hem de bir DLL'e aktarılan olarak bildirilmiş"
-#: config/i386/cygwin.h:51
+#: config/i386/cygwin.h:45
msgid "Use the Cygwin interface"
msgstr "Cygwin arayüzü kullanılır"
-#: config/i386/cygwin.h:53
+#: config/i386/cygwin.h:46
msgid "Use the Mingw32 interface"
msgstr "Mingw32 arayüzü kullanılır"
-#: config/i386/cygwin.h:54
+#: config/i386/cygwin.h:47
msgid "Create GUI application"
msgstr "GKA uygulaması oluşturur"
-#: config/i386/cygwin.h:55
+#: config/i386/cygwin.h:48
msgid "Don't set Windows defines"
msgstr "Windows atamaları ayarlanmaz"
-#: config/i386/cygwin.h:56
+#: config/i386/cygwin.h:49
msgid "Set Windows defines"
msgstr "Windows atamaları ayarlanır"
-#: config/i386/cygwin.h:58
+#: config/i386/cygwin.h:50
msgid "Create console application"
msgstr "Konsol uygulaması oluşturulur"
-#: config/i386/cygwin.h:59 config/i386/win32.h:59
+#: config/i386/cygwin.h:51 config/i386/win32.h:59
msgid "Generate code for a DLL"
msgstr "Bir DLL için kod üretilir"
-#: config/i386/cygwin.h:61 config/i386/win32.h:61
+#: config/i386/cygwin.h:53 config/i386/win32.h:61
msgid "Ignore dllimport for functions"
msgstr "İşlevler için dllimport yoksayılır"
-#: config/i386/cygwin.h:63
+#: config/i386/cygwin.h:55
msgid "Use Mingw-specific thread support"
msgstr "Mingw'e özgü kanallama desteğini etkinleştirir"
-#: config/i386/cygwin.h:257
+#: config/i386/cygwin.h:245
#, c-format
msgid "-f%s ignored for target (all code is position independent)"
msgstr "-f%s hedef için yoksayıldı (bütün kod yerden bağımsız)"
-#: config/i386/dgux.h:60
-msgid "Retain standard MXDB information"
-msgstr "Standart MXDB bilgisini korur"
-
-#: config/i386/dgux.h:62
-msgid "Retain legend information"
-msgstr "Etiket bilgisi korunur"
-
-#: config/i386/dgux.h:65
-msgid "Generate external legend information"
-msgstr "Dış etiket bilgisi üretir"
-
-#: config/i386/dgux.h:67
-msgid "Emit identifying info in .s file"
-msgstr ".s dosyasına tanıtıcı bilgi koyar"
-
-#: config/i386/dgux.h:69
-msgid "Warn when a function arg is a structure"
-msgstr "Bir yapı, bir işlevin argümanıysa uyarır"
-
-#: config/i386/dgux.h:252
-msgid "argument is a structure"
-msgstr "argüman bir yapı"
-
-#: config/i386/djgpp.h:201
+#: config/i386/djgpp.h:204
msgid "-mbnu210 is ignored (option is obsolete)"
msgstr "-mbnu210 yoksayıldı (seçenek artık kullanılmıyor)"
-#: config/i386/i386.h:45 config/mips/mips.h:186
-msgid "half-pic init called on systems that don't support it"
-msgstr "`half-pic init' desteklenmediği sistemlerde kullanıldı"
-
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
#. Deprecated.
-#: config/i386/i386.h:303
+#: config/i386/i386.h:306
msgid "Alternate calling convention"
msgstr "Almaşık çağrı uzlaşımı"
-#: 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 "Normal çağrı uzlaşımı kullanılır"
-#: config/i386/i386.h:307
+#: config/i386/i386.h:310
msgid "Align some doubles on dword boundary"
msgstr "double'lar dword sınırlarına hizalanır"
-#: config/i386/i386.h:309
+#: config/i386/i386.h:312
msgid "Align doubles on word boundary"
msgstr "double'lar word sınırlarına hizalanır"
-#: config/i386/i386.h:311
+#: config/i386/i386.h:314
msgid "Uninitialized locals in .bss"
msgstr ".bss içinde ilklendirilmemiş yerel değerler"
-#: config/i386/i386.h:313
+#: config/i386/i386.h:316
msgid "Uninitialized locals in .data"
msgstr ".data içinde ilklendirilmemiş yerel değerler"
-#: 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 ""
"fp karşılaştırmaları için IEEE aritmetiği\n"
" kullanılır"
-#: 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 ""
"fp karşılaştırmaları için IEEE aritmetiği\n"
" kullanılmaz"
-#: config/i386/i386.h:319
+#: config/i386/i386.h:322
msgid "Return values of functions in FPU registers"
msgstr ""
"FPU yazmaçlarındaki işlevlerin değerleriyle\n"
" sonuçlanır"
-#: config/i386/i386.h:321
+#: config/i386/i386.h:324
msgid "Do not return values of functions in FPU registers"
msgstr ""
"FPU yazmaçlarındaki işlevlerin değerleriyle\n"
" sonuçlanmaz"
-#: config/i386/i386.h:323
+#: config/i386/i386.h:326
msgid "Do not generate sin, cos, sqrt for FPU"
msgstr "FPU için sin, cos, sqrt üretilmez"
-#: config/i386/i386.h:325
+#: config/i386/i386.h:328
msgid "Generate sin, cos, sqrt for FPU"
msgstr "FPU için sin, cos, sqrt üretilir"
-#: config/i386/i386.h:327
+#: config/i386/i386.h:330
msgid "Omit the frame pointer in leaf functions"
msgstr "Alt düzey işlevlerde çerçeve gösterge ihmal edilir"
-#: config/i386/i386.h:330
+#: config/i386/i386.h:333
msgid "Enable stack probing"
msgstr "Yığın sondalamayı etkinleştirir"
#. undocumented
#. undocumented
-#: config/i386/i386.h:335
+#: config/i386/i386.h:338
msgid "Align destination of the string operations"
msgstr "Dizge işlemleri hedefi hizalanır"
-#: config/i386/i386.h:337
+#: config/i386/i386.h:340
msgid "Do not align destination of the string operations"
msgstr "Dizge iÅŸlemleri hedefi hizalanmaz"
-#: config/i386/i386.h:339
+#: config/i386/i386.h:342
msgid "Inline all known string operations"
msgstr "Bilinen tüm dizge işlemleri özümlenir"
-#: config/i386/i386.h:341
+#: config/i386/i386.h:344
msgid "Do not inline all known string operations"
msgstr "Bilinen hiçbir dizge işlemi özümlenmez"
-#: 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 ""
"Çıkan argümanları kaydedecek basma komutları \n"
" kullanılır"
-#: 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 ""
"Çıkan argümanları kaydedecek basma komutları \n"
" kullanılmaz"
-#: config/i386/i386.h:352
+#: config/i386/i386.h:354
msgid "Support MMX built-in functions"
msgstr "MMX yerleÅŸik iÅŸlevleri desteklenir"
-#: config/i386/i386.h:354
+#: config/i386/i386.h:356
msgid "Do not support MMX built-in functions"
msgstr "MMX yerleÅŸik iÅŸlevleri desteklenmez"
-#: config/i386/i386.h:357
+#: config/i386/i386.h:358
msgid "Support 3DNow! built-in functions"
msgstr "3DNow! yerleÅŸik iÅŸlevleri desteklenir"
@@ -10392,45 +10666,45 @@ msgstr ""
"MMX ve SSE2 yerleşik işlevleri ve kod üretimi\n"
" desteklenir"
-#: config/i386/i386.h:365
+#: config/i386/i386.h:364
msgid "Do not support MMX and SSE built-in functions and code generation"
msgstr ""
"MMX ve SSE2 yerleşik işlevleri ve kod üretimi\n"
" desteklenmez"
-#: config/i386/i386.h:367
+#: config/i386/i386.h:366
msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
msgstr ""
"MMX, SSE ve SSE2 yerleşik işlevleri ve kod üretimi\n"
" desteklenir"
-#: 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 ""
"MMX, SSE ve SSE2 yerleşik işlevleri ve kod üretimi\n"
" desteklenmez"
-#: config/i386/i386.h:372
+#: config/i386/i386.h:370
msgid "sizeof(long double) is 16"
msgstr "sizeof(long double) -> 16"
-#: config/i386/i386.h:374
+#: config/i386/i386.h:372
msgid "sizeof(long double) is 12"
msgstr "sizeof(long double) -> 12"
-#: config/i386/i386.h:376
+#: config/i386/i386.h:374
msgid "Generate 64bit x86-64 code"
msgstr "64bit x86-64 kodu üretilir"
-#: config/i386/i386.h:378
+#: config/i386/i386.h:376
msgid "Generate 32bit i386 code"
msgstr "32bit i386 kodu üretilir"
-#: config/i386/i386.h:380
+#: config/i386/i386.h:378
msgid "Use red-zone in the x86-64 code"
msgstr "x86-64 kodda red-zone kullanılır"
-#: config/i386/i386.h:382
+#: config/i386/i386.h:380
msgid "Do not use red-zone in the x86-64 code"
msgstr "x86-64 kodda red-zone kullanılmaz"
@@ -10443,21 +10717,21 @@ msgstr "x86-64 kodda red-zone kullanılmaz"
#. 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 "Verilen MİB için kodu zamanlar"
-#: config/i386/i386.h:430
+#: config/i386/i386.h:411
msgid "Generate floating point mathematics using given instruction set"
msgstr ""
"Belirtilen komut kümesini kullanan kayan nokta\n"
" aritmetiği üretilir"
-#: config/i386/i386.h:432
+#: config/i386/i386.h:413
msgid "Generate code for given CPU"
msgstr "Verilen MİB için kodu üretir"
-#: config/i386/i386.h:434
+#: config/i386/i386.h:415
msgid "Number of registers used to pass integer arguments"
msgstr ""
"Tamsayı argümanları aktarmada kullanılan\n"
@@ -10473,71 +10747,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 "Çevrim kodu bunun 2. kuvvetine ayarlandı"
-#: 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 "Sıçrama hedefleri bunun 2.kuvvetine ayarlandı"
-#: 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 "İşlev başlangıçları bunun 2.kuvvetine ayarlandı"
-#: config/i386/i386.h:443
+#: config/i386/i386.h:424
msgid "Attempt to keep stack aligned to this power of 2"
msgstr "Bunun 2.kuvvetine ayarlanmış yığını tutmaya çalışır"
-#: config/i386/i386.h:445
+#: config/i386/i386.h:426
msgid "Branches are this expensive (1-5, arbitrary units)"
msgstr "Dallanmaların bedeli (1-5, keyfi birimler)"
-#: config/i386/i386.h:447
+#: config/i386/i386.h:428
msgid "Use given x86-64 code model"
msgstr "Verilen x86-64 kod modeli kullanılır"
#. Undocumented.
#. Undocumented.
-#: config/i386/i386.h:453
+#: config/i386/i386.h:434
msgid "Use given assembler dialect"
msgstr "Verilen çevirici aksanı kullanılır"
-#: config/i386/osf1elf.h:112
-msgid "Profiling uses mcount"
-msgstr "Ayrımlama mcount kullanır"
-
-#: config/i386/osfrose.h:60
-msgid "Emit half-PIC code"
-msgstr "Yarım PIC kodu yayınlanır"
+#: config/i386/i386.h:436
+msgid "Use given thread-local storage dialect"
+msgstr "Verilen thread-local saklama aksanı kullanılır"
-#. intentionally undoc
-#. intentionally undoc
-#: config/i386/osfrose.h:67
-msgid "Emit ELF object code"
-msgstr "ELF nesne kodu yayınlanır"
-
-#: config/i386/osfrose.h:69
-msgid "Emit ROSE object code"
-msgstr "ROSE nesne kodu yayınlanır"
-
-#: config/i386/osfrose.h:71
-msgid "Symbols have a leading underscore"
-msgstr "Semboller altçizgi ile başlar"
-
-#: config/i386/osfrose.h:74
-msgid "Align to >word boundaries"
-msgstr "Hizalama >word sınırlara yapılır"
-
-#: config/i386/osfrose.h:77
-msgid "Use mcount for profiling"
-msgstr "Ayrımlama için mcount kullanılır"
-
-#: config/i386/osfrose.h:79
-msgid "Use mcount_ptr for profiling"
-msgstr "Ayrımlama için mcount_ptr kullanılır"
-
-#: config/i386/sco5.h:771
+#: config/i386/sco5.h:700
msgid "Generate ELF output"
msgstr "ELF çıktı üretilir"
@@ -10569,32 +10813,31 @@ msgstr "ortam değişkeni DJGPP olmayan '%s' dosyasını gösteriyor"
msgid "environment variable DJGPP points to corrupt file '%s'"
msgstr "ortam değişkeni DJGPP bozuk '%s' dosyasını gösteriyor"
-#. 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"
-msgstr "Aritmetik işlemci kullanan kod üretilir"
-
-#: 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"
-msgstr "Aritmetik işlemci kullanan kod üretilmez"
-
-#: config/i960/i960-c.c:67
+#: config/i960/i960-c.c:66
msgid "sorry, not implemented: #pragma align NAME=SIZE"
msgstr "Daha yazılmadı: #pragma İSİM=BOYUT hizalaması"
-#: config/i960/i960-c.c:72
+#: config/i960/i960-c.c:71
msgid "malformed #pragma align - ignored"
msgstr "'#pragma align' bozuk - yoksayıldı"
-#: config/i960/i960-c.c:110
+#: config/i960/i960-c.c:109
msgid "sorry, not implemented: #pragma noalign NAME"
msgstr "Daha yazılmadı: #pragma noalign İSİM"
-#: config/i960/i960.c:1405 config/m68k/m68k.c:665 config/rs6000/rs6000.c:8437
+#: config/i960/i960.c:121 config/i960/i960.c:131
+msgid "conflicting architectures defined - using C series"
+msgstr "çelişkili mimariler atanmış - C serisi kullanılıyor"
+
+#: config/i960/i960.c:126
+msgid "conflicting architectures defined - using K series"
+msgstr "çelişkili mimariler atanmış - K serisi kullanılıyor"
+
+#: config/i960/i960.c:141
+msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+msgstr "iC2.0 ve iC3.0 uyumsuz - iC3.0 kullanılıyor"
+
+#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9974
msgid "stack limit expression is not supported"
msgstr "yığın sınırlama ifadesi desteklenmiyor"
@@ -10652,6 +10895,10 @@ msgstr "\bCA kodu üretilir"
msgid "Generate CF code"
msgstr "CF kodu üretilir"
+#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:266
+msgid "Use software floating point"
+msgstr "Yazılım kayan nokta kodu kullanılır"
+
#: config/i960/i960.h:285
msgid "Use alternate leaf function entries"
msgstr "Alternatif alt düzey işlev girdileri kullanılır"
@@ -10713,7 +10960,8 @@ msgstr "Türler Intel's v1.3 gcc gibi yerleştirilir"
msgid "Do not layout types like Intel's v1.3 gcc"
msgstr "Türler Intel's v1.3 gcc gibi yerleştirilmez"
-#: config/i960/i960.h:323 config/sparc/freebsd.h:80 config/sparc/linux.h:86 config/sparc/linux64.h:143 config/sparc/netbsd-elf.h:238
+#: 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 "64 bit long double'lar kullanılır"
@@ -10725,190 +10973,192 @@ msgstr "Bağlayıcı gevşemesini etkinleştirir"
msgid "Do not enable linker relaxation"
msgstr "Bağlayıcı gevşemesini etkinleştirir"
-#. 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"
-msgstr "çelişkili mimariler atanmış - C serisi kullanılıyor"
-
-#: config/i960/i960.h:347
-msgid "conflicting architectures defined - using K series"
-msgstr "çelişkili mimariler atanmış - K serisi kullanılıyor"
-
-#: config/i960/i960.h:362
-msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
-msgstr "iC2.0 ve iC3.0 uyumsuz - iC3.0 kullanılıyor"
-
-#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below.
-#: config/i960/i960.h:373
-msgid "the -mlong-double-64 option does not work yet"
-msgstr "-mlong-double-64 seçeneği henüz çalışmıyor."
+#: config/ia64/ia64-c.c:51
+msgid "malformed #pragma builtin"
+msgstr "'#pragma builtin' bozuk"
-#: config/ia64/ia64.c:3554
+#: config/ia64/ia64.c:3976
msgid "ia64_print_operand: unknown code"
msgstr "ia64_print_operand: bilinmeyen kod"
-#: config/ia64/ia64.c:3828
+#: config/ia64/ia64.c:4253
msgid "value of -mfixed-range must have form REG1-REG2"
msgstr "-mfixed-range için değer YAZMAÇ1-YAZMAÇ2 şeklinde olmalı"
-#: config/ia64/ia64.c:3855
+#: config/ia64/ia64.c:4280
#, c-format
msgid "%s-%s is an empty range"
msgstr "%s-%s aralığı boş"
-#: config/ia64/ia64.c:3920
-msgid "cannot optimize division for both latency and throughput"
-msgstr "Bölme hem iş geçişi hem de gecikme için eniyilenemez"
+#: config/ia64/ia64.c:4311
+msgid "cannot optimize floating point division for both latency and throughput"
+msgstr "Kayan noktalı bölme hem iş geçişi hem de gecikme için eniyilenemez"
+
+#: config/ia64/ia64.c:4317
+msgid "cannot optimize integer division for both latency and throughput"
+msgstr "tamsayı bölme hem iş geçişi hem de gecikme için eniyilenemez"
+
+#: config/ia64/ia64.c:4329
+#, c-format
+msgid "bad value (%s) for -mtls-size= switch"
+msgstr "-mtls-size= seçeneğinin değeri (%s) hatalı"
#. 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:154
msgid "Generate big endian code"
msgstr "Büyük ilkli kod üretilir"
-#: config/ia64/ia64.h:121 config/mcore/mcore.h:159
+#: config/ia64/ia64.h:156 config/mcore/mcore.h:159
msgid "Generate little endian code"
msgstr "Küçük ilkli kod üretilir"
-#: config/ia64/ia64.h:123
+#: config/ia64/ia64.h:158
msgid "Generate code for GNU as"
msgstr "Kod GNU as için üretilir"
-#: config/ia64/ia64.h:125
+#: config/ia64/ia64.h:160
msgid "Generate code for Intel as"
msgstr "Kod Intel as için üretilir"
-#: config/ia64/ia64.h:127
+#: config/ia64/ia64.h:162
msgid "Generate code for GNU ld"
msgstr "Kod GNU ld için üretilir"
-#: config/ia64/ia64.h:129
+#: config/ia64/ia64.h:164
msgid "Generate code for Intel ld"
msgstr "Kod Intel ld için üretilir"
-#: config/ia64/ia64.h:131
+#: config/ia64/ia64.h:166
msgid "Generate code without GP reg"
msgstr "GP yazmaçsız kod üretilir"
-#: config/ia64/ia64.h:133
+#: config/ia64/ia64.h:168
msgid "Emit stop bits before and after volatile extended asms"
msgstr "Değişken uzatılmış asmlerden önce ve sonra durma bitleri üretir"
-#: config/ia64/ia64.h:135
+#: config/ia64/ia64.h:170
msgid "Don't emit stop bits before and after volatile extended asms"
msgstr "Değişken uzatılmış asmlerden önce ve sonra durma bitleri üretir"
-#: config/ia64/ia64.h:137
+#: config/ia64/ia64.h:172
msgid "Emit code for Itanium (TM) processor B step"
msgstr "Itanium (TM) işlemcisi B adımı için kod üretir"
-#: config/ia64/ia64.h:139
+#: config/ia64/ia64.h:174
msgid "Use in/loc/out register names"
msgstr "in/loc/out yazmaç isimleri kullanılır"
-#: config/ia64/ia64.h:141
+#: config/ia64/ia64.h:176
msgid "Disable use of sdata/scommon/sbss"
msgstr "sdata/scommon/sbss kullanımı iptal edilir"
-#: config/ia64/ia64.h:143
+#: config/ia64/ia64.h:178
msgid "Enable use of sdata/scommon/sbss"
msgstr "sdata/scommon/sbss kullanımı etkinleştirilir"
-#: config/ia64/ia64.h:145
+#: config/ia64/ia64.h:180
msgid "gp is constant (but save/restore gp on indirect calls)"
msgstr "gp sabittir (ancak dolaylı çağrılarda gp kaydedilmesi/alınması yapılır)"
-#: config/ia64/ia64.h:147
+#: config/ia64/ia64.h:182
msgid "Generate self-relocatable code"
msgstr "Kendiliğinden konum değiştirebilen kod üretilir"
-#: config/ia64/ia64.h:149
-msgid "Generate inline division, optimize for latency"
-msgstr ""
-"Özümleme bölümü üretir, gizlenmesi için en\n"
-" elverişli şartları oluşturur"
+#: config/ia64/ia64.h:184
+msgid "Generate inline floating point division, optimize for latency"
+msgstr "Satıriçi kayan noktalı bölme üretir, geciktirme için eniyilenir"
-#: config/ia64/ia64.h:151
-msgid "Generate inline division, optimize for throughput"
-msgstr ""
-"Özümleme bölümü üretir, içselleştirilmesi için en\n"
-" elverişli şartları oluşturur"
+#: config/ia64/ia64.h:186
+msgid "Generate inline floating point division, optimize for throughput"
+msgstr "Satıriçi kayan noktalı bölme üretir, iş geçişi için eniyilenir"
-#: config/ia64/ia64.h:153
+#: config/ia64/ia64.h:188
+msgid "Generate inline integer division, optimize for latency"
+msgstr "Satıriçi tamsayı bölme üretir, geciktirme için eniyilenir"
+
+#: config/ia64/ia64.h:190
+msgid "Generate inline integer division, optimize for throughput"
+msgstr "Satıriçi tamsayı bölme üretir, iş geçişi için eniyilenir"
+
+#: config/ia64/ia64.h:192
msgid "Enable Dwarf 2 line debug info via GNU as"
msgstr "GNU as yoluyla Dwarf 2 hata ayıklama satır bilgilerini etkinleştirir"
-#: config/ia64/ia64.h:155
+#: config/ia64/ia64.h:194
msgid "Disable Dwarf 2 line debug info via GNU as"
msgstr "GNU as yoluyla Dwarf 2 hata ayıklama satır bilgilerini etkisizleştirir"
-#: config/ia64/ia64.h:183
+#: config/ia64/ia64.h:223
msgid "Specify range of registers to make fixed"
msgstr "Belirlemek için yazmaç aralığı belirtilir"
-#: config/m32r/m32r.c:130
+#: config/ip2k/ip2k.c:1090
+msgid "bad operand"
+msgstr "hatalı terim"
+
+#: config/m32r/m32r.c:139
#, c-format
msgid "bad value (%s) for -mmodel switch"
msgstr "-mmodel seçeneğinin değeri (%s) hatalı"
-#: config/m32r/m32r.c:139
+#: config/m32r/m32r.c:148
#, c-format
msgid "bad value (%s) for -msdata switch"
msgstr "-msdata seçeneğinin değeri (%s) hatalı"
-#: config/m32r/m32r.c:310
+#: config/m32r/m32r.c:319
#, c-format
msgid "invalid argument of `%s' attribute"
msgstr "`%s' özniteliğinin argümanı geçersiz"
-#: config/m32r/m32r.c:408
+#: config/m32r/m32r.c:422
msgid "const objects cannot go in .sdata/.sbss"
msgstr "const nesneleri .sdata/.sbss içinde bulunamaz"
-#: config/m32r/m32r.c:2248
+#: config/m32r/m32r.c:2256
#, c-format
msgid "invalid operand to %%s code"
msgstr "%%s kodu için terim geçersiz"
-#: config/m32r/m32r.c:2255
+#: config/m32r/m32r.c:2263
#, c-format
msgid "invalid operand to %%p code"
msgstr "%%p kodu için terim geçersiz"
-#: config/m32r/m32r.c:2311
+#: config/m32r/m32r.c:2318
msgid "bad insn for 'A'"
msgstr "'A' için hatalı komut"
-#: config/m32r/m32r.c:2363
+#: config/m32r/m32r.c:2370
#, c-format
msgid "invalid operand to %%T/%%B code"
msgstr "%%T/%%B kodu için terim geçersiz"
-#: config/m32r/m32r.c:2386
+#: config/m32r/m32r.c:2393
#, c-format
msgid "invalid operand to %%N code"
msgstr "%%N kodu için terim geçersiz"
-#: config/m32r/m32r.c:2431
+#: config/m32r/m32r.c:2438
msgid "pre-increment address is not a register"
msgstr "ön arttırımlı adres bir yazmaç değil"
-#: config/m32r/m32r.c:2438
+#: config/m32r/m32r.c:2445
msgid "pre-decrement address is not a register"
msgstr "ön eksiltmeli adres bir yazmaç değil"
-#: config/m32r/m32r.c:2445
+#: config/m32r/m32r.c:2452
msgid "post-increment address is not a register"
msgstr "sonradan arttırımlı adres bir yazmaç değil"
-#: config/m32r/m32r.c:2523 config/m32r/m32r.c:2539 config/rs6000/rs6000.c:11065
+#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546
+#: config/rs6000/rs6000.c:12783
msgid "bad address"
msgstr "hatalı adres"
-#: config/m32r/m32r.c:2544
+#: config/m32r/m32r.c:2551
msgid "lo_sum not of register"
msgstr "lo_sum yazmacın değil"
@@ -10937,45 +11187,54 @@ msgstr "Kod boyutu: small, medium veya large"
msgid "Small data area: none, sdata, use"
msgstr "Küçük veri alanı: none, sdata, use"
-#: config/m68hc11/m68hc11.c:236
+#: config/m68hc11/m68hc11.c:242
#, c-format
msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
msgstr "68HC11/68HC12 için -f%s yoksayıldı (desteklenmiyor)"
+#: config/m68hc11/m68hc11.c:1305
+msgid "`trap' and `far' attributes are not compatible, ignoring `far'"
+msgstr "`trap' ve `far' nitelikleri uyumlu değil, `far' yoksayılıyor"
+
+#: config/m68hc11/m68hc11.c:1311
+msgid "`trap' attribute is already used"
+msgstr "`trap' özelliği zaten kullanılmış"
+
#. !!!! SCz wrong here.
-#: config/m68hc11/m68hc11.c:3170 config/m68hc11/m68hc11.c:3544
+#: config/m68hc11/m68hc11.c:3327 config/m68hc11/m68hc11.c:3733
msgid "move insn not handled"
msgstr "taşıma komutu elde edilmedi"
-#: config/m68hc11/m68hc11.c:3390 config/m68hc11/m68hc11.c:3474 config/m68hc11/m68hc11.c:3747
+#: config/m68hc11/m68hc11.c:3579 config/m68hc11/m68hc11.c:3663
+#: config/m68hc11/m68hc11.c:3946
msgid "invalid register in the move instruction"
msgstr "move komutundaki yazmaç geçersiz"
-#: config/m68hc11/m68hc11.c:3424
+#: config/m68hc11/m68hc11.c:3613
msgid "invalid operand in the instruction"
msgstr "komuttaki terim geçersiz"
-#: config/m68hc11/m68hc11.c:3721
+#: config/m68hc11/m68hc11.c:3920
msgid "invalid register in the instruction"
msgstr "komuttaki yazmaç geçersiz"
-#: config/m68hc11/m68hc11.c:3754
+#: config/m68hc11/m68hc11.c:3953
msgid "operand 1 must be a hard register"
msgstr "1. terim bir donanım yazmacı olmalı"
-#: config/m68hc11/m68hc11.c:3771
+#: config/m68hc11/m68hc11.c:3970
msgid "invalid rotate insn"
msgstr "geçersiz döngü komutu"
-#: config/m68hc11/m68hc11.c:4196
+#: config/m68hc11/m68hc11.c:4391
msgid "registers IX, IY and Z used in the same INSN"
msgstr "IX, IY ve Z yazmaçları aynı KOMUTta kullanılmış"
-#: config/m68hc11/m68hc11.c:4521 config/m68hc11/m68hc11.c:4823
+#: config/m68hc11/m68hc11.c:4728 config/m68hc11/m68hc11.c:5031
msgid "cannot do z-register replacement"
msgstr "z-yazmaç yer değiştirmesi yapılamaz"
-#: config/m68hc11/m68hc11.c:4886
+#: config/m68hc11/m68hc11.c:5094
msgid "invalid Z register replacement for insn"
msgstr "komut için Z yazmaç yerdeğiştirmesi geçersiz"
@@ -10983,34 +11242,58 @@ msgstr "komut için Z yazmaç yerdeğiştirmesi geçersiz"
#. 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:172
msgid "Compile with 16-bit integer mode"
msgstr "16 bitlik tamsayı kiple derleme yapılır"
-#: config/m68hc11/m68hc11.h:157
+#: config/m68hc11/m68hc11.h:174
msgid "Compile with 32-bit integer mode"
msgstr "32 bitlik tamsayı kiple derleme yapılır"
-#: config/m68hc11/m68hc11.h:159
+#: config/m68hc11/m68hc11.h:176
msgid "Auto pre/post decrement increment allowed"
msgstr "Otomatik önce/sonra eksiltme arttırmaya izin verilir"
-#: config/m68hc11/m68hc11.h:161
+#: config/m68hc11/m68hc11.h:178
msgid "Auto pre/post decrement increment not allowed"
msgstr "Otomatik önce/sonra eksiltme arttırmaya izin verilmez"
-#: config/m68hc11/m68hc11.h:163
+#: config/m68hc11/m68hc11.h:180
+msgid "Min/max instructions allowed"
+msgstr "Min/max komutlarına izin verilir"
+
+#: config/m68hc11/m68hc11.h:182
+msgid "Min/max instructions not allowed"
+msgstr "Min/max komutlarına izin verilmez"
+
+#: config/m68hc11/m68hc11.h:184
+msgid "Use call and rtc for function calls and returns"
+msgstr "İşlev çağrıları ve dönüşleri için call ve rtc kullanılır"
+
+#: config/m68hc11/m68hc11.h:186
+msgid "Use jsr and rts for function calls and returns"
+msgstr "İşlev çağrıları ve dönüşleri için jsr ve rts kullanılır"
+
+#: config/m68hc11/m68hc11.h:188
msgid "Do not use direct addressing mode for soft registers"
msgstr "Soft yazmaçlar için doğrudan adresleme kipi kullanılmaz"
-#: config/m68hc11/m68hc11.h:165 config/m68hc11/m68hc11.h:169
+#: config/m68hc11/m68hc11.h:190
+msgid "Use direct addressing mode for soft registers"
+msgstr "Soft yazmaçlar için doğrudan adresleme kipi kullanılır"
+
+#: config/m68hc11/m68hc11.h:192 config/m68hc11/m68hc11.h:198
msgid "Compile for a 68HC11"
msgstr "68HC11 için derleme yapılır"
-#: config/m68hc11/m68hc11.h:167 config/m68hc11/m68hc11.h:171
+#: config/m68hc11/m68hc11.h:194 config/m68hc11/m68hc11.h:200
msgid "Compile for a 68HC12"
msgstr "68HC12 için derleme yapılır"
+#: config/m68hc11/m68hc11.h:196 config/m68hc11/m68hc11.h:202
+msgid "Compile for a 68HCS12"
+msgstr "68HCS12 için derleme yapılır"
+
#. This macro is similar to `TARGET_SWITCHES' but defines names of
#. command options that have values. Its definition is an
#. initializer with a subgrouping for each command option.
@@ -11020,29 +11303,33 @@ msgstr "68HC12 için derleme yapılır"
#. 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:216
msgid "Specify the register allocation order"
msgstr "Yazmaç ayırma sırası belirtilir"
-#: config/m68hc11/m68hc11.h:187
+#: config/m68hc11/m68hc11.h:218
msgid "Indicate the number of soft registers available"
msgstr "Mevcut olan yazılım bazlı (soft) yazmaçları bildirir"
-#: config/m68k/m68k.c:150
+#: config/m68k/m68k.c:158
#, c-format
msgid "-malign-loops=%d is not between 1 and %d"
msgstr "-malign-loops=%d 1 ile %d arasında değil"
-#: config/m68k/m68k.c:161
+#: config/m68k/m68k.c:169
#, c-format
msgid "-malign-jumps=%d is not between 1 and %d"
msgstr "-malign-jumps=%d 1 ile %d arasında değil"
-#: config/m68k/m68k.c:172
+#: config/m68k/m68k.c:180
#, c-format
msgid "-malign-functions=%d is not between 1 and %d"
msgstr "-malign-functions=%d 1 ile %d arasında değil"
+#: config/m68k/m68k.c:189
+msgid "-fPIC is not currently supported on the 68000 or 68010\n"
+msgstr "-fPIC şu an 68000 veya 68010 için desteklenmiyor\n"
+
#. Macro to define tables used to set the flags.
#. This is a list in braces of pairs in braces,
#. each pair being { "NAME", VALUE }
@@ -11164,91 +11451,84 @@ msgstr "Hizalamasız bellek referansları kullanılmaz"
msgid "Use unaligned memory references"
msgstr "Hizalanmamış bellek başvuruları kullanılır"
-#. 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 "-fPIC şu an 68000 veya 68010 için desteklenmiyor\n"
-
-#: config/m88k/m88k.c:900
+#: config/m88k/m88k.c:903
#, c-format
msgid "internal gcc monitor: short-branch(%x)"
msgstr "gcc iç monitörü: short-branch(%x)"
-#: config/m88k/m88k.c:2300
+#: config/m88k/m88k.c:2302
msgid "internal gcc error: Can't express symbolic location"
msgstr "gcc iç hatası: Sembolik konum ifade edilemiyor"
-#: config/m88k/m88k.c:2582
+#: config/m88k/m88k.c:2517
#, c-format
msgid "argument #%d is a structure"
msgstr "%d. argüman bir yapı"
-#: config/m88k/m88k.c:2882
+#: config/m88k/m88k.c:2816
#, c-format
msgid "%%R not followed by %%B/C/D/E"
msgstr "%%R den sonra %%B/C/D/E gelmiyor"
-#: config/m88k/m88k.c:2950
+#: config/m88k/m88k.c:2884
#, c-format
msgid "invalid %%x/X value"
msgstr "%%x/X değeri geçersiz"
-#: config/m88k/m88k.c:2973 config/rs6000/rs6000.c:6509
+#: config/m88k/m88k.c:2901
+#, c-format
+msgid "invalid %%Q value"
+msgstr "%%Q değeri geçersiz"
+
+#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7715
#, c-format
msgid "invalid %%q value"
msgstr "%%q değeri geçersiz"
-#: config/m88k/m88k.c:2979
+#: config/m88k/m88k.c:2913
#, c-format
msgid "invalid %%o value"
msgstr "%%o değeri geçersiz"
-#: config/m88k/m88k.c:2986 config/rs6000/rs6000.c:6472
+#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7678
#, c-format
msgid "invalid %%p value"
msgstr "%%p değeri geçersiz"
-#: config/m88k/m88k.c:2999 config/m88k/m88k.c:3004
+#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938
#, c-format
msgid "invalid %%s/S value"
msgstr "%%s/S değeri geçersiz"
-#: config/m88k/m88k.c:3015
+#: config/m88k/m88k.c:2949
#, c-format
msgid "invalid %%P operand"
msgstr "%%P terimi geçersiz"
-#: config/m88k/m88k.c:3046 config/romp/romp.c:682
+#: config/m88k/m88k.c:2980 config/romp/romp.c:690
#, c-format
msgid "invalid %%B value"
msgstr "%%B değeri geçersiz"
-#: config/m88k/m88k.c:3076
+#: config/m88k/m88k.c:3010
#, c-format
msgid "invalid %%D value"
msgstr "%%D değeri geçersiz"
-#: config/m88k/m88k.c:3089
+#: config/m88k/m88k.c:3023
#, c-format
msgid "`%%d' operand isn't a register"
msgstr "`%%d' terimi bir yazmaç değil"
-#: config/m88k/m88k.c:3107
+#: config/m88k/m88k.c:3041
msgid "operand is r0"
msgstr "veri öğesi: r0"
-#: config/m88k/m88k.c:3121
+#: config/m88k/m88k.c:3055
msgid "operand is const_double"
msgstr "veri öğesi: const_double"
-#: config/m88k/m88k.c:3140
+#: config/m88k/m88k.c:3074
msgid "invalid code"
msgstr "geçersiz kod"
@@ -11272,7 +11552,7 @@ msgstr "-mshort-data-%s çok büyük"
msgid "-mshort-data-%s and PIC are incompatible"
msgstr "-mshort-data-%s ve PIC uyumsuz"
-#: config/mcore/mcore.c:3083
+#: config/mcore/mcore.c:3078
#, c-format
msgid "invalid option `-mstack-increment=%s'"
msgstr "`-mstack-increment=%s' seçeneği geçersiz"
@@ -11298,7 +11578,7 @@ msgid "Do not use the divide instruction"
msgstr "Bölme komutu kullanılmaz"
#: config/mcore/mcore.h:140
-msgid "Do not arbitary sized immediates in bit operations"
+msgid "Do not arbitrary sized immediates in bit operations"
msgstr "Bit işlemlerinde herhangi bir boyda anlık değerler kullanmaz"
#: config/mcore/mcore.h:142
@@ -11329,217 +11609,229 @@ msgstr "Kod M*Core M340 için üretilir"
msgid "Maximum amount for a single stack increment operation"
msgstr "Tek yığıt artış işleminde kullanılacak maksimum miktar"
-#: config/mips/mips.c:4815
-msgid "The -march option is incompatible to -mipsN and therefore ignored."
-msgstr " -march seçeneği -mipsN ile uyumsuz olduğundan yoksayıldı."
+#: config/mips/mips.c:5126
+#, c-format
+msgid "bad value (%s) for -mabi= switch"
+msgstr "-mabi= seçeneğinin değeri (%s) hatalı"
-#: config/mips/mips.c:4841
+#: config/mips/mips.c:5156
#, c-format
-msgid "-mips%d not supported"
-msgstr "-mips%d desteklenmiyor"
+msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+msgstr "-mips%d mimarinin diğer seçenekleri tarafından bir MIPS%d işlemci belirtildiğinden çelişki yaratıyor"
-#: config/mips/mips.c:4848
+#: config/mips/mips.c:5163
#, c-format
msgid "bad value (%s) for -mips switch"
msgstr "-mips seçeneğinin değeri (%s) hatalı"
-#: config/mips/mips.c:4869
+#: config/mips/mips.c:5178
#, c-format
-msgid "bad value (%s) for -mabi= switch"
-msgstr "-mabi= seçeneğinin değeri (%s) hatalı"
+msgid "-march=%s is not compatible with the selected ABI"
+msgstr "-march=%s seçilen ABI ile uyumsuz"
-#: config/mips/mips.c:4907
-#, c-format
-msgid "-mabi=%s does not support -mips%d"
-msgstr "-mabi=%s ile -mips%d uyumsuz"
+#: config/mips/mips.c:5190
+msgid "-mgp64 used with a 32-bit processor"
+msgstr "-mgp64 bir 32-bit işlemci ile kullanılmış"
-#: config/mips/mips.c:4924
-msgid "this target does not support the -mabi switch"
-msgstr "bu hedef -mabi seçeneğini desteklemez."
+#: config/mips/mips.c:5192
+msgid "-mgp32 used with a 64-bit ABI"
+msgstr "-mgp32 bir 64-bit ABI ile kullanılmış"
-#: config/mips/mips.c:5034
-#, c-format
-msgid "bad value (%s) for -mtune= switch"
-msgstr "-mtune= seçeneğinin değeri (%s) hatalı"
+#: config/mips/mips.c:5194
+msgid "-mgp64 used with a 32-bit ABI"
+msgstr "-mgp64 bir 32-bit ABI ile kullanılmış"
-#: config/mips/mips.c:5044
+#: config/mips/mips.c:5212 config/mips/mips.c:5214 config/mips/mips.c:5216
#, c-format
-msgid "-mips%d does not support 64 bit fp registers"
-msgstr "-mips%d 64 bit fp yazmaçlarını desteklemez"
+msgid "unsupported combination: %s"
+msgstr "desteklenmeyen birleÅŸim: %s"
-#: config/mips/mips.c:5050
-#, c-format
-msgid "-mips%d does not support 64 bit gp registers"
-msgstr "-mips%d 64 bit gp yazmaçlarını desteklemez"
+#: config/mips/mips.c:5286
+msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+msgstr "Branch Likely komutlarının üretimi etkinleştirildi ama mimari desteklemiyor"
-#: config/mips/mips.c:5071
+#: config/mips/mips.c:5297
msgid "-G is incompatible with PIC code which is the default"
msgstr "-G öntanımlı olan PIC kodu ile uyumsuz"
-#: config/mips/mips.c:5087
+#: config/mips/mips.c:5313
msgid "-membedded-pic and -mabicalls are incompatible"
msgstr "-membedded-pic ile -mabicalls uyumsuz"
-#: config/mips/mips.c:5090
+#: config/mips/mips.c:5316
msgid "-G and -membedded-pic are incompatible"
msgstr "-G ile -membedded-pic uyumsuz"
-#: config/mips/mips.c:5141
+#: config/mips/mips.c:5367
#, c-format
msgid "invalid option `entry%s'"
msgstr "`entry%s' seçeneği geçersiz"
-#: config/mips/mips.c:5144
+#: config/mips/mips.c:5370
msgid "-mentry is only meaningful with -mips-16"
msgstr "-mentry sadece -mips-16 ile anlamlıdır"
-#: config/mips/mips.c:5484
+#: config/mips/mips.c:5779
#, c-format
msgid "internal error: %%) found without a %%( in assembler pattern"
msgstr "iç hata: üretici maskı içinde %%) için bir %%( bulunamadı"
-#: config/mips/mips.c:5498
+#: config/mips/mips.c:5793
#, c-format
msgid "internal error: %%] found without a %%[ in assembler pattern"
msgstr "iç hata: üretici maskı içinde %%] için bir %%[ bulunamadı"
-#: config/mips/mips.c:5511
+#: config/mips/mips.c:5806
#, c-format
msgid "internal error: %%> found without a %%< in assembler pattern"
msgstr "iç hata: üretici maskı içinde %%> için bir %%< bulunamadı"
-#: config/mips/mips.c:5524
+#: config/mips/mips.c:5819
#, c-format
msgid "internal error: %%} found without a %%{ in assembler pattern"
msgstr "iç hata: üretici maskı içinde %%} için bir %%{ bulunamadı"
-#: config/mips/mips.c:5538
+#: config/mips/mips.c:5833
#, c-format
msgid "PRINT_OPERAND: unknown punctuation '%c'"
msgstr "PRINT_OPERAND: '%c' noktalaması bilinmiyor"
-#: config/mips/mips.c:5547 config/xtensa/xtensa.c:1913
+#: config/mips/mips.c:5842 config/xtensa/xtensa.c:1939
msgid "PRINT_OPERAND null pointer"
msgstr "PRINT_OPERAND hiçlik göstergesi"
-#: config/mips/mips.c:5680
+#: config/mips/mips.c:5973
#, c-format
msgid "invalid use of %%d, %%x, or %%X"
msgstr "%%d, %%x, ya da %%X kullanımı geçersiz"
-#: config/mips/mips.c:5723 config/xtensa/xtensa.c:2012
+#: config/mips/mips.c:6011 config/xtensa/xtensa.c:2033
msgid "PRINT_OPERAND_ADDRESS, null pointer"
msgstr "PRINT_OPERAND_ADDRESS, hiçlik göstergesi"
-#: config/mips/mips.c:5947
+#: config/mips/mips.c:6240
msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
msgstr "MIPS ECOFF biçemi dosya isimlerinin #line'lı işlevlerde değiştirilmesine izin vermez"
-#: config/mips/mips.c:6261
+#: config/mips/mips.c:6550
msgid "can't rewind temp file"
msgstr "geçici dosya açılamıyor"
-#: config/mips/mips.c:6265
+#: config/mips/mips.c:6554
msgid "can't write to output file"
msgstr "çıktı dosyasına yazılamıyor"
-#: config/mips/mips.c:6268
+#: config/mips/mips.c:6557
msgid "can't read from temp file"
msgstr "geçici dosya okunamıyor"
-#: config/mips/mips.c:6271
+#: config/mips/mips.c:6560
msgid "can't close temp file"
msgstr "geçici dosya kapatılamıyor"
-#: config/mips/mips.c:6704
+#: config/mips/mips.c:7001
#, c-format
msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "gp_offset (%ld) veya end_offset (%ld) sıfırdan küçük."
-#: config/mips/mips.c:6866
+#: config/mips/mips.c:7110
#, c-format
msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
msgstr "fp_offset (%ld) veya end_offset (%ld) sıfırdan küçük."
-#: config/mips/mips.c:8927
+#: config/mips/mips.c:9346
#, c-format
msgid "can not handle inconsistent calls to `%s'"
msgstr "çelişkili `%s' çağrıları elde edilemez"
+#: config/mips/mips.c:10478
+msgid "the cpu name must be lower case"
+msgstr "işlemci ismi küçük harflerle yazılmalıdır"
+
+#: config/mips/mips.c:10500
+#, c-format
+msgid "bad value (%s) for %s"
+msgstr "%2$s için değer (%1$s) hatalı"
+
+#. 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:368 config/mn10300/mn10300.h:64
+#: config/mips/mips.h:528 config/mn10300/mn10300.h:64
msgid "No default crt0.o"
msgstr "Öntanımlı crt0.o yok"
-#: config/mips/mips.h:370
+#: config/mips/mips.h:530
msgid "Use 64-bit int type"
msgstr "64-bit int tür kullanılır"
-#: config/mips/mips.h:372
+#: config/mips/mips.h:532
msgid "Use 64-bit long type"
msgstr "64-bit long tür kullanılır"
-#: config/mips/mips.h:374
+#: config/mips/mips.h:534
msgid "Use 32-bit long type"
msgstr "32-bit long tür kullanılır"
-#: config/mips/mips.h:376
+#: config/mips/mips.h:536
msgid "Optimize lui/addiu address loads"
msgstr "lui/addiu adres yüklemeleri eniyilenir"
-#: config/mips/mips.h:378
+#: config/mips/mips.h:538
msgid "Don't optimize lui/addiu address loads"
msgstr "lui/addiu adres yüklemeleri eniyilenmez"
-#: config/mips/mips.h:380
+#: config/mips/mips.h:540
msgid "Use MIPS as"
msgstr "MIPS as kullanılır"
-#: config/mips/mips.h:382
+#: config/mips/mips.h:542
msgid "Use GNU as"
msgstr "GNU as kullanılır"
-#: config/mips/mips.h:384
+#: config/mips/mips.h:544
msgid "Use symbolic register names"
msgstr "Sembolik yazmaç isimleri kullanılır"
-#: config/mips/mips.h:386
+#: config/mips/mips.h:546
msgid "Don't use symbolic register names"
msgstr "Sembolik yazmaç isimleri kullanılmaz"
-#: config/mips/mips.h:388 config/mips/mips.h:390
+#: config/mips/mips.h:548 config/mips/mips.h:550
msgid "Use GP relative sdata/sbss sections"
msgstr "GP göreli sdata/sbss bölümleri kullanılır"
-#: config/mips/mips.h:392 config/mips/mips.h:394
+#: config/mips/mips.h:552 config/mips/mips.h:554
msgid "Don't use GP relative sdata/sbss sections"
msgstr "GP göreli sdata/sbss bölümleri kullanılmaz"
-#: config/mips/mips.h:396
+#: config/mips/mips.h:556
msgid "Output compiler statistics"
msgstr "Derleyici istatistikleri çıktılanır"
-#: config/mips/mips.h:398
+#: config/mips/mips.h:558
msgid "Don't output compiler statistics"
msgstr "Derleyici istatistikleri çıktılanmaz"
-#: config/mips/mips.h:400
+#: config/mips/mips.h:560
msgid "Don't optimize block moves"
msgstr "Blok taşıma eniyilemesi yapılmaz"
-#: config/mips/mips.h:402
+#: config/mips/mips.h:562
msgid "Optimize block moves"
msgstr "Blok taşımalar eniyilenir"
-#: config/mips/mips.h:404
+#: config/mips/mips.h:564
msgid "Use mips-tfile asm postpass"
msgstr "mips-tfile asm postpass kullanır"
-#: config/mips/mips.h:406
+#: config/mips/mips.h:566
msgid "Don't use mips-tfile asm postpass"
msgstr "mips-tfile asm postpass kullanmaz"
@@ -11549,268 +11841,251 @@ msgstr "mips-tfile asm postpass kullanmaz"
#. 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:410 config/pdp11/pdp11.h:55
+#: config/mips/mips.h:570 config/pdp11/pdp11.h:56
msgid "Use hardware floating point"
msgstr "Donanım kayan nokta aritmetiği kullanılır"
-#: config/mips/mips.h:412
+#: config/mips/mips.h:572
msgid "Use 64-bit FP registers"
msgstr "64 bitlik FP yazmaçları kullanılır"
-#: config/mips/mips.h:414
+#: config/mips/mips.h:574
msgid "Use 32-bit FP registers"
msgstr "32 bitlik FP yazmaçları kullanılır"
-#: config/mips/mips.h:416
+#: config/mips/mips.h:576
msgid "Use 64-bit general registers"
msgstr "64 bitlik genel yazmaçlar kullanılır"
-#: config/mips/mips.h:418
+#: config/mips/mips.h:578
msgid "Use 32-bit general registers"
msgstr "32 bitlik genel yazmaçlar kullanılır"
-#: config/mips/mips.h:420
+#: config/mips/mips.h:580
msgid "Use Irix PIC"
msgstr "Irix PIC kullanılır"
-#: config/mips/mips.h:422
+#: config/mips/mips.h:582
msgid "Don't use Irix PIC"
msgstr "Irix PIC kullanılmaz"
-#: config/mips/mips.h:424
-msgid "Use OSF PIC"
-msgstr "OSF PIC kullanılır"
-
-#: config/mips/mips.h:426
-msgid "Don't use OSF PIC"
-msgstr "OSF PIC kullanılmaz"
-
-#: config/mips/mips.h:428
+#: config/mips/mips.h:584
msgid "Use indirect calls"
msgstr "Dolaylı çağrılar kullanılır"
-#: config/mips/mips.h:430
+#: config/mips/mips.h:586
msgid "Don't use indirect calls"
msgstr "Dolaylı çağrılar kullanılmaz"
-#: config/mips/mips.h:432
+#: config/mips/mips.h:588
msgid "Use embedded PIC"
msgstr "Gömülü PIC kullanılır"
-#: config/mips/mips.h:434
+#: config/mips/mips.h:590
msgid "Don't use embedded PIC"
msgstr "Gömülü PIC kullanılmaz"
-#: config/mips/mips.h:436
+#: config/mips/mips.h:592
msgid "Use ROM instead of RAM"
msgstr "RAM yerine ROM kullanılır"
-#: config/mips/mips.h:438
+#: config/mips/mips.h:594
msgid "Don't use ROM instead of RAM"
msgstr "RAM yerine ROM kullanılmaz"
-#: config/mips/mips.h:440
+#: config/mips/mips.h:596
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
msgstr "Ä°lklenmemiÅŸ sabitleri ROM'a koyar (-membedded-data gerektirir)"
-#: config/mips/mips.h:442
+#: config/mips/mips.h:598
msgid "Don't put uninitialized constants in ROM"
msgstr "Ä°lklenmemiÅŸ sabitleri ROM'a koymaz"
#. Macro to define tables used to set the flags.
-#: config/mips/mips.h:444 config/xtensa/xtensa.h:110
+#: config/mips/mips.h:600 config/xtensa/xtensa.h:110
msgid "Use big-endian byte order"
msgstr "Büyük ilkli bayt sıralaması kullanılır"
-#: config/mips/mips.h:446 config/xtensa/xtensa.h:112
+#: config/mips/mips.h:602 config/xtensa/xtensa.h:112
msgid "Use little-endian byte order"
msgstr "Küçük ilkli bayt sıralaması kullanılır"
-#: config/mips/mips.h:448
+#: config/mips/mips.h:604
msgid "Use single (32-bit) FP only"
msgstr "Sadece tek (32 bit) FP kullanır"
-#: config/mips/mips.h:450
+#: config/mips/mips.h:606
msgid "Don't use single (32-bit) FP only"
msgstr "Sadece tek (32 bit) FP kullanmaz"
-#: config/mips/mips.h:452
+#: config/mips/mips.h:608
msgid "Use multiply accumulate"
msgstr "Çarpma biriktirmesi kullanır"
-#: config/mips/mips.h:454
+#: config/mips/mips.h:610
msgid "Don't use multiply accumulate"
msgstr "Çarpma biriktirmesi kullanmaz"
-#: config/mips/mips.h:456 config/rs6000/rs6000.h:351
+#: config/mips/mips.h:612 config/rs6000/rs6000.h:314
msgid "Don't generate fused multiply/add instructions"
msgstr "Birleşik çarpma/toplama komutları üretilmez"
-#: config/mips/mips.h:458 config/rs6000/rs6000.h:349
+#: config/mips/mips.h:614 config/rs6000/rs6000.h:312
msgid "Generate fused multiply/add instructions"
msgstr "Birleşik çarpma/toplama komutları üretilir"
-#: config/mips/mips.h:460
+#: config/mips/mips.h:616
msgid "Work around early 4300 hardware bug"
msgstr "İlk üretim 4300 donanım hatasının olurunu bulur"
-#: config/mips/mips.h:462
+#: config/mips/mips.h:618
msgid "Don't work around early 4300 hardware bug"
msgstr "İlk üretim 4300 donanım hatasının olurunu bulmaz"
-#: config/mips/mips.h:464
-msgid "Optimize for 3900"
-msgstr "3900 için eniyileme yapılır"
-
-#: config/mips/mips.h:466
-msgid "Optimize for 4650"
-msgstr "4650 için eniyileme yapılır"
-
-#: config/mips/mips.h:468
+#: config/mips/mips.h:620
msgid "Trap on integer divide by zero"
msgstr "Sıfırla tamsayı bölme taşması yakalanır"
-#: config/mips/mips.h:470
+#: config/mips/mips.h:622
msgid "Don't trap on integer divide by zero"
msgstr "Sıfırla tamsayı bölme taşması yakalanmaz"
-#: config/mips/mips.h:472
+#: config/mips/mips.h:624
msgid "Trap on integer divide overflow"
msgstr "Tamsayı bölme taşması yakalanır"
-#: config/mips/mips.h:474
+#: config/mips/mips.h:626
msgid "Don't trap on integer divide overflow"
msgstr "Tamsayı bölme taşması yakalanmaz"
-#: config/mips/mips.h:590 config/mips/mips.h:592
+#: config/mips/mips.h:628
+msgid "Use Branch Likely instructions, overriding default for arch"
+msgstr "Öntanımlı mimariye rağmen Branch Likely komutları kullanılır"
+
+#: config/mips/mips.h:630
+msgid "Don't use Branch Likely instructions, overriding default for arch"
+msgstr "Öntanımlı mimariye rağmen Branch Likely komutları kullanılmaz"
+
+#: config/mips/mips.h:744 config/pa/pa.h:310
msgid "Specify CPU for scheduling purposes"
msgstr "Zamanlama kullanımı için CPU belirtilir"
-#: config/mips/mips.h:594
+#: config/mips/mips.h:746
msgid "Specify CPU for code generation purposes"
msgstr "Kod üretim amacıyla MİB belirtilir"
-#: config/mips/mips.h:596
+#: config/mips/mips.h:748
+msgid "Specify an ABI"
+msgstr "Bir ABI belirtilir"
+
+#: config/mips/mips.h:750
msgid "Specify a Standard MIPS ISA"
msgstr "Bir Standard MIPS ISA belirtilir"
-#: config/mips/mips.h:598
+#: config/mips/mips.h:752
msgid "Use mips16 entry/exit psuedo ops"
msgstr "mips16 giriş/çıkış sanal op'larını kullanır"
-#: config/mips/mips.h:600
+#: config/mips/mips.h:754
msgid "Don't use MIPS16 instructions"
msgstr "MIPS16 komutları kullanılmaz"
-#: config/mips/mips.h:604
+#: config/mips/mips.h:756
msgid "Don't call any cache flush functions"
msgstr "Hiçbir arabellek boşaltma işlevi çağrılmaz"
-#: config/mips/mips.h:606
+#: config/mips/mips.h:758
msgid "Specify cache flush function"
msgstr "Arabellek boÅŸaltma iÅŸlevi belirtilir"
#. Output assembler code to FILE to increment profiler label # LABELNO
#. for profiling a function entry.
-#: config/mips/mips.h:2873
+#: config/mips/mips.h:2890
msgid "mips16 function profiling"
msgstr "mips16 işlev ayrımlama"
-#: config/mmix/mmix.c:138
+#: config/mmix/mmix.c:189
#, c-format
msgid "-f%s not supported: ignored"
msgstr "-f%s desteklenmiyor: yoksayıldı"
-#: 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 "işlev değer türü çok büyük, bunun için %d yazmaç gerekirken sadece %d yazmaç var"
-#: config/mmix/mmix.c:677
-msgid "stack frame too big"
-msgstr "yığın bağlamı çok büyük"
-
-#: config/mmix/mmix.c:705
-#, c-format
-msgid "stack frame not a multiple of 8 bytes: %d"
-msgstr "yığın bağlamı 8 baytın katları değil: %d"
-
-#: config/mmix/mmix.c:1044
-#, c-format
-msgid "stack frame not a multiple of octabyte: %d"
-msgstr "yığın bağlamı 8 baytın katları değil: %d"
-
-#: config/mmix/mmix.c:1203
+#: config/mmix/mmix.c:826
msgid "function_profiler support for MMIX"
msgstr "MMIX için function_profiler desteği"
-#: config/mmix/mmix.c:1240
-msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
-msgstr "mmix_setup_incoming_varargs içinde ne varargs ne de stdarg var"
-
-#: config/mmix/mmix.c:1246
+#: config/mmix/mmix.c:848
msgid "MMIX Internal: Last named vararg would not fit in a register"
msgstr "MMIX Dahili: Son isimli argüman bir yazmaça sığamamalı"
-#. FIXME: Remove when I know this trigs.
-#: config/mmix/mmix.c:1608
-msgid "oops, not debugged; fixing up value:"
-msgstr "oof, hata ayıklamasız; değer düzeltiliyor:"
-
-#: config/mmix/mmix.c:2184 config/mmix/mmix.c:2318
+#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769
msgid "MMIX Internal: Expected a CONST_INT, not this"
msgstr "MMIX Dahili: Bu deÄŸil, bir CONST_INT bekleniyor"
-#: config/mmix/mmix.c:2192 config/mmix/mmix.c:2216 config/mmix/mmix.c:2335
+#: config/mmix/mmix.c:1647 config/mmix/mmix.c:1671 config/mmix/mmix.c:1787
#, c-format
msgid "MMIX Internal: Bad register: %d"
msgstr "MMIX Dahili: Hatalı yazmaç: %d"
-#: config/mmix/mmix.c:2263
+#: config/mmix/mmix.c:1718
msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
msgstr "MMIX Dahili: 'm' için bu bir CONST_INT değil, hatalı değer"
-#: config/mmix/mmix.c:2286
+#: config/mmix/mmix.c:1737
msgid "MMIX Internal: Expected a register, not this"
msgstr "MMIX Dahili: Bu değil, bir yazmaç bekleniyor"
-#: config/mmix/mmix.c:2296
+#: config/mmix/mmix.c:1747
msgid "MMIX Internal: Expected a constant, not this"
msgstr "MMIX Dahili: Bu deÄŸil, bir sabit bekleniyor"
#. Presumably there's a missing case above if we get here.
-#: config/mmix/mmix.c:2328
+#: config/mmix/mmix.c:1779
#, c-format
msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
msgstr "MMIX Dahili: mmix_print_operand içideki `%c' case eksik"
#. We need the original here.
-#: config/mmix/mmix.c:2379
+#: config/mmix/mmix.c:1831
msgid "MMIX Internal: Cannot decode this operand"
msgstr "MMIX Dahili: Bu terim iÅŸlenemez"
-#: config/mmix/mmix.c:2444
+#: config/mmix/mmix.c:1891
msgid "MMIX Internal: This is not a recognized address"
msgstr "MMIX Dahili: Bu bilinen bir adres deÄŸil"
-#: config/mmix/mmix.c:2940 config/mmix/mmix.c:3009
+#: config/mmix/mmix.c:2082
+#, c-format
+msgid "stack frame not a multiple of 8 bytes: %d"
+msgstr "yığın bağlamı 8 baytın katları değil: %d"
+
+#: config/mmix/mmix.c:2321
+#, c-format
+msgid "stack frame not a multiple of octabyte: %d"
+msgstr "yığın bağlamı 8 baytın katları değil: %d"
+
+#: config/mmix/mmix.c:2818 config/mmix/mmix.c:2887
#, c-format
msgid "MMIX Internal: %s is not a shiftable int"
msgstr "MMIX Dahili: %s bir bit kaydırma yapılabilir tamsayı değil"
-#: config/mmix/mmix.c:3128
+#: config/mmix/mmix.c:3006
msgid "MMIX Internal: Trying to output invalidly reversed condition:"
msgstr "MMIX Dahili: Geçersiz olarak ters çevrien koşul çıktılanmaya çalışılıyor:"
-#: config/mmix/mmix.c:3135
+#: config/mmix/mmix.c:3013
msgid "MMIX Internal: What's the CC of this?"
msgstr "MMIX Dahili: Bunun CC'si nedir?"
-#: config/mmix/mmix.c:3139
+#: config/mmix/mmix.c:3017
msgid "MMIX Internal: What is the CC of this?"
msgstr "MMIX Dahili: Bunun CC'si nedir?"
-#: config/mmix/mmix.c:3210
+#: config/mmix/mmix.c:3088
msgid "MMIX Internal: This is not a constant:"
msgstr "MMIX Dahili: Bu bir sabit deÄŸil:"
@@ -11823,8 +12098,6 @@ msgstr "MMIX Dahili: Bu bir sabit deÄŸil:"
#. 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.
@@ -11833,67 +12106,75 @@ msgstr "MMIX Dahili: Bu bir sabit deÄŸil:"
#. 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 "Programın başlangıç adresi belirtilir"
-#: config/mmix/mmix.h:139
+#: config/mmix/mmix.h:134
msgid "Set start-address of data"
msgstr "Verinin başlangıç adresi belirlenir"
#. 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 "Yerleşikler kitaplığı için: yazmaçlardaki tüm parametreler aktarılır"
-#: config/mmix/mmix.h:191
+#: config/mmix/mmix.h:201
msgid "Use register stack for parameters and return value"
msgstr "Parametreler ve dönen değer için yazmaç yığını kullanılır"
-#: config/mmix/mmix.h:193
+#: config/mmix/mmix.h:203
msgid "Use call-clobbered registers for parameters and return value"
msgstr "Parametreler ve dönen değer için çağrı taşırmalı yazmaçlar kullanılır"
-#: config/mmix/mmix.h:195
+#: config/mmix/mmix.h:205
msgid "Use epsilon-respecting floating point compare instructions"
msgstr "Epsilona ilişkin kayan nokta karşılaştırma komutları kullanılır"
-#: config/mmix/mmix.h:198
+#: config/mmix/mmix.h:208
msgid "Use zero-extending memory loads, not sign-extending ones"
msgstr "Uzunluğu değişmeyen bellek yükleri kullanılır"
-#: 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 "Bölen (bölünen değil) ile aynı işarete sahip kalanlı bölme sonuçları üretilir"
-#: config/mmix/mmix.h:205
+#: config/mmix/mmix.h:215
msgid "Prepend global symbols with \":\" (for use with PREFIX)"
msgstr "Genel semboller \":\" ile öne eklenir (ÖNEK ile kullanmak için)"
-#: config/mmix/mmix.h:207
+#: config/mmix/mmix.h:217
msgid "Do not provide a default start-address 0x100 of the program"
msgstr "Programa bir öntanımlı başlatma adresi 0x100 sağlanmaz"
-#: config/mmix/mmix.h:209
+#: config/mmix/mmix.h:219
msgid "Link to emit program in ELF format (rather than mmo)"
msgstr "ELF biçemli program üretimine ilintiler (mmo dan başka)"
-#: config/mmix/mmix.h:211
+#: config/mmix/mmix.h:221
msgid "Use P-mnemonics for branches statically predicted as taken"
msgstr "Statik olarak alınmış olduğu önceden tahmin edilen dallanmalar için P-mnemonikleri kullanılır"
-#: config/mmix/mmix.h:213
+#: config/mmix/mmix.h:223
msgid "Don't use P-mnemonics for branches"
msgstr "Dallar için P-mnemonikleri kullanılmaz"
-#: config/mmix/mmix.h:215
+#: config/mmix/mmix.h:225
msgid "Use addresses that allocate global registers"
msgstr "Genel yazmaçları tahsis eden adresler kullanılır"
-#: config/mmix/mmix.h:217
+#: config/mmix/mmix.h:227
msgid "Do not use addresses that allocate global registers"
msgstr "Genel yazmaçları tahsis eden adresler kullanılmaz"
+#: config/mmix/mmix.h:229
+msgid "Generate a single exit point for each function"
+msgstr "Her işlev için tek çıkış noktası üretilir"
+
+#: config/mmix/mmix.h:231
+msgid "Do not generate a single exit point for each function"
+msgstr "Her işlev için tek çıkış noktası üretilmez"
+
#: config/mn10300/mn10300.h:59
msgid "Work around hardware multiply bug"
msgstr "Donanım çarpma hatasının olurunu bulur"
@@ -11910,88 +12191,88 @@ msgstr "AM33 iÅŸlemci hedeflenir"
msgid "Enable linker relaxations"
msgstr "Ä°lintileyici esnekleÅŸtiriciler etkinleÅŸtirilir"
-#: 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 "Donanım kayan nokta aritmetiği kullanılmaz"
-#: config/ns32k/ns32k.h:105
+#: config/ns32k/ns32k.h:143
msgid "Alternative calling convention"
msgstr "Alternatif çağrı uzlaşımı"
-#: config/ns32k/ns32k.h:107
+#: config/ns32k/ns32k.h:145
msgid "Pass some arguments in registers"
msgstr "Yazmaçlardaki bazı argümanlar aktarılır"
-#: config/ns32k/ns32k.h:108
+#: config/ns32k/ns32k.h:146
msgid "Pass all arguments on stack"
msgstr "Yığındaki tüm argümanlar aktarılır"
-#: config/ns32k/ns32k.h:109
+#: config/ns32k/ns32k.h:147
msgid "Optimize for 32532 cpu"
msgstr "32532 cpu için eniyileme yapılır"
-#: config/ns32k/ns32k.h:110
+#: config/ns32k/ns32k.h:148
msgid "Optimize for 32332 cpu"
msgstr "32332 cpu için eniyileme yapılır"
-#: config/ns32k/ns32k.h:112
+#: config/ns32k/ns32k.h:150
msgid "Optimize for 32032"
msgstr "32032 için eniyileme yapılır"
-#: config/ns32k/ns32k.h:114
+#: config/ns32k/ns32k.h:152
msgid "Register sb is zero. Use for absolute addressing"
msgstr "sb yazmacı sıfırdır. Mutlak adresleme için kullanın."
-#: config/ns32k/ns32k.h:115
+#: config/ns32k/ns32k.h:153
msgid "Do not use register sb"
msgstr "sb yazmacı kullanılmaz"
-#: config/ns32k/ns32k.h:116
-msgid "Do not use bit-field instructions"
-msgstr "Bit alanı komutları kullanılmaz"
-
-#: config/ns32k/ns32k.h:117
+#: config/ns32k/ns32k.h:155
msgid "Use bit-field instructions"
msgstr "Bit alanı komutları kullanılır"
-#: config/ns32k/ns32k.h:118
+#: config/ns32k/ns32k.h:157
+msgid "Do not use bit-field instructions"
+msgstr "Bit alanı komutları kullanılmaz"
+
+#: config/ns32k/ns32k.h:158
msgid "Generate code for high memory"
msgstr "Kod yukarı bellek bölgesi için üretilir"
-#: config/ns32k/ns32k.h:119
+#: config/ns32k/ns32k.h:159
msgid "Generate code for low memory"
msgstr "Kod alt bellek bölgesi için üretilir"
-#: config/ns32k/ns32k.h:120
+#: config/ns32k/ns32k.h:160
msgid "32381 fpu"
msgstr "32381 fpu"
-#: config/ns32k/ns32k.h:121
+#: config/ns32k/ns32k.h:162
msgid "Use multiply-accumulate fp instructions"
msgstr "Çarpma-biriktirme fp komutları kullanır"
-#: config/ns32k/ns32k.h:123
+#: config/ns32k/ns32k.h:164
msgid "Do not use multiply-accumulate fp instructions"
msgstr "Çarpma-biriktirme fp komutları kullanmaz"
-#: config/ns32k/ns32k.h:124
+#: config/ns32k/ns32k.h:165
msgid "\"Small register classes\" kludge"
msgstr "\"Küçük yazmaç sınıfları\" uydurması"
-#: config/ns32k/ns32k.h:125
+#: config/ns32k/ns32k.h:166
msgid "No \"Small register classes\" kludge"
msgstr "\"Küçük yazmaç sınıfları\" uydurması yok"
-#: config/pa/pa.c:200
+#: config/pa/pa.c:261
#, 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 ""
"bilinmeyen -mschedule= seçeneği (%s).\n"
-"Geçerli seçenekler: 700, 7100, 7100LC, 7200, ve 8000\n"
+"Geçerli seçenekler: 700, 7100, 7100LC, 7200, 7300 ve 8000\n"
-#: config/pa/pa.c:225
+#: config/pa/pa.c:286
#, c-format
msgid ""
"unknown -march= option (%s).\n"
@@ -12000,66 +12281,194 @@ msgstr ""
"bilinmeyen -march= seçeneği (%s).\n"
"Geçerli seçenekler: 1.0, 1.1, ve 2.0\n"
-#: config/pa/pa.c:230
+#: config/pa/pa.c:299
msgid "PIC code generation is not supported in the portable runtime model\n"
msgstr "PIC kod üretimi uyarlanabilir çalışma anı modeli ile uyumlu değildir\n"
-#: config/pa/pa.c:235
+#: config/pa/pa.c:304
msgid "PIC code generation is not compatible with fast indirect calls\n"
msgstr "PIC kod üretimi hızlı dolaylı çağrılar ile uyumlu değildir\n"
-#: config/pa/pa.c:240
+#: config/pa/pa.c:309
msgid "-g is only supported when using GAS on this processor,"
msgstr "-g sadece bu işlemci üzerinde GAS kullanıldığında desteklenir,"
-#: config/pa/pa.c:241
+#: config/pa/pa.c:310
msgid "-g option disabled"
msgstr "-g seçeneği iptal edildi"
-#: 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 "Sunucu GÇ için cpp tanımları üretilir"
+
+#: 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 "İstemci GÇ için cpp tanımları üretilir"
+
+#. 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:232 config/pa/pa.h:238
+msgid "Generate PA1.1 code"
+msgstr "PA1.1 kodu üretilir"
+
+#: config/pa/pa.h:234 config/pa/pa.h:236
+msgid "Generate PA1.0 code"
+msgstr "PA1.0 kodu üretilir"
+
+#: config/pa/pa.h:240
+msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+msgstr "PA2.0 kodu üretilir (binutils 2.10 veya üstü gerekir)"
+
+#: config/pa/pa.h:242
+msgid "Disable FP regs"
+msgstr "FP yazmaçları kapatılır"
+
+#: config/pa/pa.h:244
+msgid "Do not disable FP regs"
+msgstr "FP yazmaçları kapatılmaz"
+
+#: config/pa/pa.h:246
+msgid "Disable space regs"
+msgstr "space yazmaçları kapatılır"
+
+#: config/pa/pa.h:248
+msgid "Do not disable space regs"
+msgstr "space yazmaçları kapatılmaz"
+
+#: config/pa/pa.h:250
+msgid "Put jumps in call delay slots"
+msgstr "jump'lar çağrı geciktirme yuvalarına konur"
+
+#: config/pa/pa.h:252
+msgid "Do not put jumps in call delay slots"
+msgstr "jump'lar çağrı geciktirme yuvalarına konmaz"
+
+#: config/pa/pa.h:254
+msgid "Disable indexed addressing"
+msgstr "İndisli adresleme kapatılır"
+
+#: config/pa/pa.h:256
+msgid "Do not disable indexed addressing"
+msgstr "İndisli adresleme kapatılmaz"
+
+#: config/pa/pa.h:258
+msgid "Use portable calling conventions"
+msgstr "Uyarlanabilir çağrı uzlaşımı kullanılır"
+
+#: config/pa/pa.h:260
+msgid "Do not use portable calling conventions"
+msgstr "Uyarlanabilir çağrı uzlaşımı kullanılmaz"
+
+#: config/pa/pa.h:262
+msgid "Assume code will be assembled by GAS"
+msgstr "Kodun makina koduna GAS tarafından çevrileceği varsayılır"
+
+#: config/pa/pa.h:264
+msgid "Do not assume code will be assembled by GAS"
+msgstr "Kodun makina koduna GAS tarafından çevrilmeyeceği varsayılır"
+
+#: config/pa/pa.h:268
+msgid "Do not use software floating point"
+msgstr "Yazılım kayan nokta aritmetiği kullanılmaz"
+
+#: config/pa/pa.h:270
+msgid "Emit long load/store sequences"
+msgstr "Uzun yükleme/saklama çoklu komutları üretilir"
+
+#: config/pa/pa.h:272
+msgid "Do not emit long load/store sequences"
+msgstr "Uzun yükleme/saklama çoklu komutları üretilmez"
+
+#: config/pa/pa.h:274
+msgid "Generate fast indirect calls"
+msgstr "Hızlı dolaylı çağrılar üretilir"
+
+#: config/pa/pa.h:276
+msgid "Do not generate fast indirect calls"
+msgstr "Hızlı dolaylı çağrılar üretilmez"
+
+#: config/pa/pa.h:278
+msgid "Generate code for huge switch statements"
+msgstr "huge switch deyimleri için kod üretilir"
+
+#: config/pa/pa.h:280
+msgid "Do not generate code for huge switch statements"
+msgstr "huge switch deyimleri için kod üretilmez"
+
+#: config/pa/pa.h:282
+msgid "Always generate long calls"
+msgstr "long çağrıları daima üretilir"
+
+#: config/pa/pa.h:284
+msgid "Generate long calls only when needed"
+msgstr "Sadece gerektiği zaman long çağrıları üretilir"
+
+#: config/pa/pa.h:286
+msgid "Enable linker optimizations"
+msgstr "Ä°lintileyici eniyilemesi etkinleÅŸtirilir"
+
+#: config/pa/pa.h:312
+msgid "Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later."
+msgstr "Kod üretimi için mimari belirtilir. Değerler 1.0, 1.1 ve 2.0 dır. gas snapshot 19990413 ve sonrası için 2.0 gerekir."
+
+#: config/pa/pa64-hpux.h:29
+msgid "Assume code will be linked by GNU ld"
+msgstr "Kodun GNU ld tarafından ilintileneceği varsayılır"
+
+#: config/pa/pa64-hpux.h:31
+msgid "Assume code will be linked by HP ld"
+msgstr "Kodun HP ld tarafından ilintileneceği varsayılır"
+
+#: config/pdp11/pdp11.h:57
msgid "Do not use hardware floating point"
msgstr "Donanım kayan nokta aritmetiği kullanılmaz"
#. return float result in ac0
-#: config/pdp11/pdp11.h:58
+#: config/pdp11/pdp11.h:59
msgid "Return floating point results in ac0"
msgstr "ac0'daki kayan noktalı sonuçlar döner"
-#: config/pdp11/pdp11.h:59
+#: config/pdp11/pdp11.h:60
msgid "Return floating point results in memory"
msgstr "Bellekteki kayan noktalı sonuçlar döner"
#. is 11/40
-#: config/pdp11/pdp11.h:61
+#: config/pdp11/pdp11.h:62
msgid "Generate code for an 11/40"
msgstr "Kod bir 11/40 için üretilir"
#. is 11/45
-#: config/pdp11/pdp11.h:64
+#: config/pdp11/pdp11.h:65
msgid "Generate code for an 11/45"
msgstr "Kod bir 11/45 için üretilir"
#. is 11/10
-#: config/pdp11/pdp11.h:67
+#: config/pdp11/pdp11.h:68
msgid "Generate code for an 11/10"
msgstr "Kod bir 11/10 için üretilir"
#. 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 "32 bitlik tamsayı kullanılır"
-#: 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 "16 bitlik tamsayı kullanılır"
#. 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 "32 bitlik float kullanılır"
-#: 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 "64 bitlik float kullanılır"
@@ -12067,73 +12476,50 @@ msgstr "64 bitlik float kullanılır"
#. 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 "Hedef ayrı işlem ve veri belleğine sahip olur"
-#: config/pdp11/pdp11.h:90
+#: config/pdp11/pdp11.h:91
msgid "Target does not have split I&D"
msgstr "Hedef ayrı işlem ve veri belleğine sahip olmaz"
#. UNIX assembler syntax?
-#: config/pdp11/pdp11.h:92
+#: config/pdp11/pdp11.h:93
msgid "Use UNIX assembler syntax"
msgstr "UNIX çevirici sözdizimi kullanılır"
-#: config/pdp11/pdp11.h:93
+#: config/pdp11/pdp11.h:94
msgid "Use DEC assembler syntax"
msgstr "DEC çevirici sözdizimi kullanılır"
-#: config/pj/pj.h:73
-msgid "Generate little endian data"
-msgstr "Küçük ilkli veri üretilir"
-
-#: config/pj/pj.h:75
-msgid "Generate big endian data"
-msgstr "Büyük ilkli veri üretilir"
-
-#: config/pj/pj.h:77
-msgid "Turn on maintainer testing code"
-msgstr "Programcı denetim kodunu etkinleştirir"
-
-#: config/pj/pj.h:79
-msgid "Enable Transmeta picoJava extensions"
-msgstr "Transmeta picoJava uzantıları etkinleştirilir"
-
-#: config/pj/pj.h:81
-msgid "Disable Transmeta picoJava extensions"
-msgstr "Transmeta picoJava uzantıları kullanılmaz"
-
-#: config/pj/pj.h:83
-msgid "Disable reorganization pass"
-msgstr "Aşamaların yeniden organizasyonu yapılmaz"
-
-#: config/romp/romp.c:709 config/rs6000/rs6000.c:6546
+#: config/romp/romp.c:717 config/rs6000/rs6000.c:7752
#, c-format
msgid "invalid %%S value"
msgstr "%%S değeri geçersiz"
-#: 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 "%%b değeri geçersiz"
-#: 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 "%%z değeri geçersiz"
-#: 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 "%%Z değeri geçersiz"
-#: config/romp/romp.c:799 config/romp/romp.c:808 config/romp/romp.c:815 config/rs6000/rs6000.c:6325
+#: config/romp/romp.c:807 config/romp/romp.c:816 config/romp/romp.c:823
+#: config/rs6000/rs6000.c:7581
#, c-format
msgid "invalid %%k value"
msgstr "%%k değeri geçersiz"
-#: 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 "%%j değeri geçersiz"
@@ -12151,143 +12537,202 @@ msgstr "%%j değeri geçersiz"
#.
#. Normally, this macro will push all remaining incoming registers on the
#. stack and set PRETEND_SIZE to the length of the registers pushed.
-#: config/romp/romp.h:661
+#: config/romp/romp.h:648
msgid "can't have varargs with -mfp-arg-in-fp-regs"
msgstr "-mfp-arg-in-fp-regs ile varargs olamaz"
-#: 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 "bozuk #pragma longcall yoksayılıyor"
+
+#: config/rs6000/rs6000-c.c:58
+msgid "missing open paren"
+msgstr "açparantez eksik"
+
+#: config/rs6000/rs6000-c.c:60
+msgid "missing number"
+msgstr "sayı eksik"
+
+#: config/rs6000/rs6000-c.c:62
+msgid "missing close paren"
+msgstr "kapaparantez eksik"
+
+#: config/rs6000/rs6000-c.c:65
+msgid "number must be 0 or 1"
+msgstr "sayı 0 ya da 1 olmalı"
+
+#: config/rs6000/rs6000-c.c:68
+msgid "junk at end of #pragma longcall"
+msgstr "'#pragma longcall' sonunda karışıklık"
+
+#: config/rs6000/rs6000.c:592
msgid "-mmultiple is not supported on little endian systems"
msgstr "-mmultiple küçük ilkli bayt sıralaması kullanılan sistemlerde desteklenmez"
-#: config/rs6000/rs6000.c:482
+#: config/rs6000/rs6000.c:599
msgid "-mstring is not supported on little endian systems"
msgstr "-mstring küçük ilkli bayt sıralaması kullanılan sistemlerde desteklenmez"
-#: config/rs6000/rs6000.c:488 config/xtensa/xtensa.c:1846
-#, c-format
-msgid "-f%s ignored (all code is position independent)"
-msgstr "-f%s yoksayıldı (tüm kod konum bağımsız)"
-
-#: config/rs6000/rs6000.c:497
-msgid "-ffunction-sections disabled on AIX when debugging"
-msgstr "Hata ayıklama sırasında AIX'de -ffunction-sections etkisizdir"
-
-#: config/rs6000/rs6000.c:503
-msgid "-fdata-sections not supported on AIX"
-msgstr "-fdata-sections AIX'de desteklenmiyor"
-
-#: config/rs6000/rs6000.c:518
+#: config/rs6000/rs6000.c:623
#, c-format
msgid "unknown -mdebug-%s switch"
msgstr "-mdebug-%s seçeneği bilinmiyor"
-#: config/rs6000/rs6000.c:528
+#: config/rs6000/rs6000.c:635
+#, c-format
+msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+msgstr "-mtraceback ile verilen `%s' bilinmiyor; `full', `partial' ya da `none' olabilir"
+
+#: config/rs6000/rs6000.c:646
#, c-format
msgid "Unknown switch -mlong-double-%s"
msgstr "-mlong-double-%s seçeneği bilinmiyor"
-#: config/rs6000/rs6000.c:595
+#: config/rs6000/rs6000.c:738
+#, c-format
+msgid "unknown -misel= option specified: '%s'"
+msgstr "bilinmeyen -misel= seçeneği belirtilmiş: '%s'"
+
+#: config/rs6000/rs6000.c:753
+#, c-format
+msgid "unknown -mvrsave= option specified: '%s'"
+msgstr "bilinmeyen -mvrsave= seçeneği belirtilmiş: '%s'"
+
+#: config/rs6000/rs6000.c:772
#, c-format
msgid "unknown ABI specified: '%s'"
msgstr "bilinmeyen ABI belirtilmiÅŸ: '%s'"
-#: config/rs6000/rs6000.c:3631
+#: config/rs6000/rs6000.c:4203
+msgid "argument 1 must be a 5-bit signed literal"
+msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
+
+#: config/rs6000/rs6000.c:4310 config/rs6000/rs6000.c:4900
+msgid "argument 2 must be a 5-bit unsigned literal"
+msgstr "2. argüman 5 bitlik bir işaretsiz sabit olmalı"
+
+#: config/rs6000/rs6000.c:4353
msgid "argument 1 of __builtin_altivec_predicate must be a constant"
msgstr "`__builtin_altivec_predicate'in 1. argümanı bir sabit olmalı"
-#: config/rs6000/rs6000.c:3685
+#: config/rs6000/rs6000.c:4407
msgid "argument 1 of __builtin_altivec_predicate is out of range"
msgstr "`__builtin_altivec_predicate'in 1. argümanı kapsamdışı"
-#: config/rs6000/rs6000.c:4041
+#: config/rs6000/rs6000.c:4486
+msgid "argument 3 must be a 4-bit unsigned literal"
+msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
+
+#: config/rs6000/rs6000.c:4663
#, c-format
-msgid "argument 3 of `%s' must be a 2-bit literal"
-msgstr "`%s' için 3. argüman 2 bitlik bir değer olmalı"
+msgid "argument to `%s' must be a 2-bit unsigned literal"
+msgstr "`%s' argümanı 2 bitlik işaretsiz bir sabit olmalı"
+
+#: config/rs6000/rs6000.c:4779
+msgid "argument to dss must be a 2-bit unsigned literal"
+msgstr "dss argümanı 2 bitlik işaretsiz bir sabit olmalı"
+
+#: config/rs6000/rs6000.c:5010
+msgid "argument 1 of __builtin_spe_predicate must be a constant"
+msgstr "__builtin_spe_predicate'in 1. argümanı bir sabit olmalı"
+
+#: config/rs6000/rs6000.c:5083
+msgid "argument 1 of __builtin_spe_predicate is out of range"
+msgstr "__builtin_spe_predicate'in 1. argümanı kapsamdışı"
-#: config/rs6000/rs6000.c:6252
+#: config/rs6000/rs6000.c:7508
#, c-format
msgid "invalid %%f value"
msgstr "%%f değeri geçersiz"
-#: config/rs6000/rs6000.c:6261
+#: config/rs6000/rs6000.c:7517
#, c-format
msgid "invalid %%F value"
msgstr "%%F değeri geçersiz"
-#: config/rs6000/rs6000.c:6270
+#: config/rs6000/rs6000.c:7526
#, c-format
msgid "invalid %%G value"
msgstr "%%G değeri geçersiz"
-#: config/rs6000/rs6000.c:6305
+#: config/rs6000/rs6000.c:7561
#, c-format
msgid "invalid %%j code"
msgstr "%%j kodu geçersiz"
-#: config/rs6000/rs6000.c:6315
+#: config/rs6000/rs6000.c:7571
#, c-format
msgid "invalid %%J code"
msgstr "%%J kodu geçersiz"
-#: config/rs6000/rs6000.c:6345
+#: config/rs6000/rs6000.c:7601
#, c-format
msgid "invalid %%K value"
msgstr "%%K değeri geçersiz"
-#: config/rs6000/rs6000.c:6572
+#: config/rs6000/rs6000.c:7668
#, c-format
-msgid "%%S computed all 1's mask"
-msgstr "%%S tamamı birlerin maskı olarak hesaplandı"
-
-#: config/rs6000/rs6000.c:6599
-#, c-format
-msgid "%%S computed all 0's mask"
-msgstr "%%S tamamı sıfırların maskı olarak hesaplandı"
+msgid "invalid %%O value"
+msgstr "%%O değeri geçersiz"
-#: config/rs6000/rs6000.c:6609
+#: config/rs6000/rs6000.c:7790
#, c-format
msgid "invalid %%T value"
msgstr "%%T değeri geçersiz"
-#: config/rs6000/rs6000.c:6619
+#: config/rs6000/rs6000.c:7800
#, c-format
msgid "invalid %%u value"
msgstr "%%u değeri geçersiz"
-#: config/rs6000/rs6000.c:6628
+#: config/rs6000/rs6000.c:7809
#, c-format
msgid "invalid %%v value"
msgstr "%%v değeri geçersiz"
-#: config/rs6000/aix.h:137 config/rs6000/beos.h:32
+#: config/rs6000/rs6000.c:12223
+msgid "no profiling of 64-bit code for this ABI"
+msgstr "bu ABI için 64 bitlik profilleme kodu yok"
+
+#: config/rs6000/aix.h:160 config/rs6000/beos.h:32
msgid "Always pass floating-point arguments in memory"
msgstr "Bellekteki kayan noktalı argümanlar daima aktarılır"
-#: 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 "Bellekteki kayan noktalı argümanlar daima aktarılmaz"
#: 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 "Eşzamanlı Ortam ile ileti aktarımı desteklenir"
-#: 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 "64 bit göstergeler için derleme yapılır"
-#: 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 "32 bit göstergeler için derleme yapılır"
-#: 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 "-maix64 ile POWER mimarisi uyumsuz"
-#: 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 "-maix64 seçeneği PowerPC64 mimarisinin etkin kalmasını gerektirir"
-#: 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 "-maix64 gereksinimi: 32 bit adreslemeli 64 bit hesaplama henüz desteklenmiyor."
@@ -12298,146 +12743,162 @@ msgstr "-maix64 gereksinimi: 32 bit adreslemeli 64 bit hesaplama henüz destekle
#. 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 "POWER komut kümesi kullanılır"
-#: config/rs6000/rs6000.h:280
+#: config/rs6000/rs6000.h:243
msgid "Use POWER2 instruction set"
msgstr "POWER2 komut kümesi kullanılır"
-#: config/rs6000/rs6000.h:282
+#: config/rs6000/rs6000.h:245
msgid "Do not use POWER2 instruction set"
msgstr "POWER2 komut kümesi kullanılmaz"
-#: config/rs6000/rs6000.h:285
+#: config/rs6000/rs6000.h:248
msgid "Do not use POWER instruction set"
msgstr "POWER komut kümesi kullanılmaz"
-#: config/rs6000/rs6000.h:287
+#: config/rs6000/rs6000.h:250
msgid "Use PowerPC instruction set"
msgstr "PowerPC komut kümesi kullanılır"
-#: config/rs6000/rs6000.h:290
+#: config/rs6000/rs6000.h:253
msgid "Do not use PowerPC instruction set"
msgstr "PowerPC komut kümesi kullanılmaz"
-#: config/rs6000/rs6000.h:292
+#: config/rs6000/rs6000.h:255
msgid "Use PowerPC General Purpose group optional instructions"
msgstr "PowerPC Genel Kullanım grubu seçimlik komutları kullanılır"
-#: config/rs6000/rs6000.h:294
+#: config/rs6000/rs6000.h:257
msgid "Don't use PowerPC General Purpose group optional instructions"
msgstr "PowerPC Genel Kullanım grubu seçimlik komutları kullanılmaz"
-#: config/rs6000/rs6000.h:296
+#: config/rs6000/rs6000.h:259
msgid "Use PowerPC Graphics group optional instructions"
msgstr "PowerPC Graphics grubu seçimlik komutları kullanılır"
-#: config/rs6000/rs6000.h:298
+#: config/rs6000/rs6000.h:261
msgid "Don't use PowerPC Graphics group optional instructions"
msgstr "PowerPC Graphics grubu seçimlik komutları kullanılmaz"
-#: config/rs6000/rs6000.h:300
+#: config/rs6000/rs6000.h:263
msgid "Use PowerPC-64 instruction set"
msgstr "PowerPC-64 komut kümesi kullanılır"
-#: config/rs6000/rs6000.h:302
+#: config/rs6000/rs6000.h:265
msgid "Don't use PowerPC-64 instruction set"
msgstr "PowerPC-64 komut kümesi kullanılmaz"
-#: config/rs6000/rs6000.h:304
+#: config/rs6000/rs6000.h:267
msgid "Use AltiVec instructions"
msgstr "AltiVec komutları kullanılır"
-#: config/rs6000/rs6000.h:306
+#: config/rs6000/rs6000.h:269
msgid "Don't use AltiVec instructions"
msgstr "AltiVec komutları kullanılmaz"
-#: config/rs6000/rs6000.h:308
+#: config/rs6000/rs6000.h:271
msgid "Use new mnemonics for PowerPC architecture"
msgstr "PowerPC mimarisi için yeni semboller kullanılır"
-#: config/rs6000/rs6000.h:310
+#: config/rs6000/rs6000.h:273
msgid "Use old mnemonics for PowerPC architecture"
msgstr "PowerPC mimarisi için eski semboller kullanılır"
-#: config/rs6000/rs6000.h:313
+#: config/rs6000/rs6000.h:276
msgid "Put everything in the regular TOC"
msgstr "HerÅŸeyi normal TOC'a koyar"
-#: config/rs6000/rs6000.h:315
+#: config/rs6000/rs6000.h:278
msgid "Place floating point constants in TOC"
msgstr "Kayan noktalı sabitleri TOC'a koyar"
-#: config/rs6000/rs6000.h:317
+#: config/rs6000/rs6000.h:280
msgid "Don't place floating point constants in TOC"
msgstr "Kayan noktalı sabitleri TOC'a koymaz"
-#: config/rs6000/rs6000.h:319
+#: config/rs6000/rs6000.h:282
msgid "Place symbol+offset constants in TOC"
msgstr "Sembol+göreli sabitleri TOC'a koyar"
-#: config/rs6000/rs6000.h:321
+#: config/rs6000/rs6000.h:284
msgid "Don't place symbol+offset constants in TOC"
msgstr "Sembol+göreli sabitleri TOC'a koymaz"
-#: config/rs6000/rs6000.h:327
+#: config/rs6000/rs6000.h:290
msgid "Place variable addresses in the regular TOC"
msgstr "DeÄŸiÅŸken adresleri normal TOC'a koyar"
-#: config/rs6000/rs6000.h:333
+#: config/rs6000/rs6000.h:296
msgid "Generate load/store multiple instructions"
msgstr "Yükleme/saklama çoklu komutları üretilir"
-#: config/rs6000/rs6000.h:335
+#: config/rs6000/rs6000.h:298
msgid "Do not generate load/store multiple instructions"
msgstr "Yükleme/saklama çoklu komutları üretilmez"
-#: config/rs6000/rs6000.h:339
+#: config/rs6000/rs6000.h:302
msgid "Generate string instructions for block moves"
msgstr "Blok taşımalar için dizge komutları üretilir"
-#: config/rs6000/rs6000.h:341
+#: config/rs6000/rs6000.h:304
msgid "Do not generate string instructions for block moves"
msgstr "Blok taşımalar için dizge komutları üretilmez"
-#: config/rs6000/rs6000.h:345
+#: config/rs6000/rs6000.h:308
msgid "Generate load/store with update instructions"
msgstr "Güncelleme komutlu yükleme/saklama üretilir"
-#: config/rs6000/rs6000.h:347
+#: config/rs6000/rs6000.h:310
msgid "Do not generate load/store with update instructions"
msgstr "Güncelleme komutlu yükleme/saklama üretilmez"
-#: config/rs6000/rs6000.h:355
+#: config/rs6000/rs6000.h:318
msgid "Don't schedule the start and end of the procedure"
msgstr "Altyordamın başlangıç ve bitişi zamanlanmaz"
-#: config/rs6000/rs6000.h:361
+#: config/rs6000/rs6000.h:324
msgid "Return all structures in memory (AIX default)"
msgstr "Bellekteki tüm veri yapıları döndürülür (AIX öntanımlı)"
-#: config/rs6000/rs6000.h:363
+#: config/rs6000/rs6000.h:326
msgid "Return small structures in registers (SVR4 default)"
msgstr "Yazmaçlardaki küçük veri yapıları döndürülür(SVR4 öntanımlı)"
-#: 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 "Verilen MİB'nin özellikleri ve zamanlama kodu kullanılır"
-#: config/rs6000/rs6000.h:429
+#: config/rs6000/rs6000.h:394
msgid "Enable debug output"
msgstr "Hata ayıklamalı çıktıyı etkinleştir"
-#: config/rs6000/rs6000.h:430
+#: config/rs6000/rs6000.h:396
+msgid "Select full, part, or no traceback table"
+msgstr "Ya full, part seçilir ya da hiçbir traceback tablosu seçilmez"
+
+#: config/rs6000/rs6000.h:397
msgid "Specify ABI to use"
msgstr "Kullanılacak ABI belirtilir"
-#: config/rs6000/rs6000.h:432
+#: config/rs6000/rs6000.h:399
msgid "Specify size of long double (64 or 128 bits)"
msgstr "long double için boyut belirtilir (64 ya da 128 bit)"
+#: config/rs6000/rs6000.h:401
+msgid "Specify yes/no if isel instructions should be generated"
+msgstr "isel komutlarının üretilmesi gerekiyorsa yes/no belirtilir"
+
+#: config/rs6000/rs6000.h:403
+msgid "Specify yes/no if VRSAVE instructions should be generated for AltiVec"
+msgstr "VRSAVE komutlarının AltiVec için üretilmesi gerekiyorsa yes/no belirtilir"
+
+#: config/rs6000/rs6000.h:405
+msgid "Avoid all range limits on call instructions"
+msgstr "Çağrı komutlarında tüm kapsam sınırları engellenir"
+
#. Definitions for __builtin_return_address and __builtin_frame_address.
#. __builtin_return_address (0) should give link register (65), enable
#. this.
@@ -12450,94 +12911,103 @@ msgstr "long double için boyut belirtilir (64 ya da 128 bit)"
#. 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:1792
+#: config/rs6000/rs6000.h:1878
msgid "RETURN_ADDRESS_OFFSET not supported"
msgstr "RETURN_ADDRESS_OFFSET desteklenmiyor"
-#: config/rs6000/sysv4.h:88
+#: config/rs6000/sysv4.h:87
msgid "Select ABI calling convention"
msgstr "ABI çağrı uzlaşımı seçilir"
-#: config/rs6000/sysv4.h:89
+#: config/rs6000/sysv4.h:88
msgid "Select method for sdata handling"
msgstr "sdata eldesi için yöntem seçilir"
-#: config/rs6000/sysv4.h:104
+#: config/rs6000/sysv4.h:103
msgid "Align to the base type of the bit-field"
msgstr "Bit alanı taban türüne hizalama yapılır"
-#: config/rs6000/sysv4.h:106
+#: config/rs6000/sysv4.h:105
msgid "Don't align to the base type of the bit-field"
msgstr "Bit alanı taban türüne hizalama yapılmaz"
-#: config/rs6000/sysv4.h:108
+#: config/rs6000/sysv4.h:107
msgid "Don't assume that unaligned accesses are handled by the system"
msgstr "Hizasız erişimlerin sistem tarafından yapıldığı varsayılmaz"
-#: config/rs6000/sysv4.h:110
+#: config/rs6000/sysv4.h:109
msgid "Assume that unaligned accesses are handled by the system"
msgstr "Hizasız erişimlerin sistem tarafından yapıldığı varsayılır"
-#: 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 "Çalışma anında kod yer değiştirilebilirliği sağlanır"
-#: 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 "Çalışma anında kod yer değiştirilebilirliği sağlanmaz"
-#: 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 "Küçüğü başta kod üretilir"
-#: 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 "Büyüğü başta kod üretilir"
-#: 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:157
+#: 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 "henüz bir açıklama yok"
-#: config/rs6000/sysv4.h:133
+#: config/rs6000/sysv4.h:132
msgid "Use EABI"
msgstr "EABI kullanılır"
-#: config/rs6000/sysv4.h:134
+#: config/rs6000/sysv4.h:133
msgid "Don't use EABI"
msgstr "EABI kullanılmaz"
-#: config/rs6000/sysv4.h:137
+#: config/rs6000/sysv4.h:136
msgid "Do not allow bit-fields to cross word boundaries"
msgstr "word sınırlarına karşı düşen bit alanlarına izin verilmez"
-#: config/rs6000/sysv4.h:139
+#: config/rs6000/sysv4.h:138
msgid "Use alternate register names"
msgstr "Alternatif yazmaç isimleri kullanılır"
-#: config/rs6000/sysv4.h:141
+#: config/rs6000/sysv4.h:140
msgid "Don't use alternate register names"
msgstr "Alternatif yazmaç isimleri kullanılmaz"
-#: config/rs6000/sysv4.h:145
+#: config/rs6000/sysv4.h:144
msgid "Link with libsim.a, libc.a and sim-crt0.o"
msgstr "libsim.a, libc.a ve sim-crt0.o ile ilintiler"
-#: config/rs6000/sysv4.h:147
+#: config/rs6000/sysv4.h:146
msgid "Link with libads.a, libc.a and crt0.o"
msgstr "libads.a, libc.a ve crt0.o ile ilintiler"
-#: config/rs6000/sysv4.h:149
+#: config/rs6000/sysv4.h:148
msgid "Link with libyk.a, libc.a and crt0.o"
msgstr "libyk.a, libc.a ve crt0.o ile ilintiler"
-#: config/rs6000/sysv4.h:151
+#: config/rs6000/sysv4.h:150
msgid "Link with libmvme.a, libc.a and crt0.o"
msgstr "libmvme.a, libc.a ve crt0.o ile ilintiler"
-#: config/rs6000/sysv4.h:153
+#: config/rs6000/sysv4.h:152
msgid "Set the PPC_EMB bit in the ELF flags header"
msgstr "ELF seçenekleri başlığı içindeki PPC_EMB bitini 1 yapar"
+#: config/rs6000/sysv4.h:154
+msgid "Use the WindISS simulator"
+msgstr "WindISS benzeticisi kullanılır"
+
#. 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
@@ -12571,178 +13041,188 @@ msgstr "-f%s ile -msdata=%s uyumsuz."
msgid "-msdata=%s and -mcall-%s are incompatible"
msgstr "-msdata=%s ile -mcall-%s uyumsuz."
-#: config/rs6000/sysv4.h:270
+#: config/rs6000/sysv4.h:272
msgid "-mrelocatable and -mno-minimal-toc are incompatible"
msgstr "-mrelocatable ile -mno-minimal-toc uyumsuz."
-#: config/rs6000/sysv4.h:276
+#: config/rs6000/sysv4.h:278
#, c-format
msgid "-mrelocatable and -mcall-%s are incompatible"
msgstr "-mrelocatable ile -mcall-%s uyumsuz."
-#: config/rs6000/sysv4.h:283
+#: config/rs6000/sysv4.h:285
#, c-format
msgid "-fPIC and -mcall-%s are incompatible"
msgstr "-fPIC ile -mcall-%s uyumsuz."
-#: config/rs6000/sysv4.h:290
+#: config/rs6000/sysv4.h:292
msgid "-mcall-aixdesc must be big endian"
msgstr "-mcall-aixdesc «big endian» olmalı"
-#: config/s390/s390.c:1910
+#: config/s390/s390.c:3004
msgid "invalid UNSPEC as operand (1)"
msgstr "terim (1) olarak UNSPEC geçersiz"
-#: config/s390/s390.c:1940
+#: config/s390/s390.c:3064
msgid "invalid UNSPEC as operand (2)"
msgstr "terim (2) olarak UNSPEC geçersiz"
-#: config/s390/s390.c:1946
+#: config/s390/s390.c:3070
msgid "UNKNOWN in s390_output_symbolic_const !?"
msgstr "s390_output_symbolic_const da BÄ°LÄ°NMEYEN!?"
-#: config/s390/s390.c:1962
+#: config/s390/s390.c:3088
msgid "Cannot decompose address."
msgstr "Adres çözümlenemez"
-#: config/s390/s390.c:2110
+#: config/s390/s390.c:3249
msgid "UNKNOWN in print_operand !?"
msgstr "print_operand da BÄ°LÄ°NMEYEN !?"
-#: config/s390/s390.c:2703
+#: config/s390/s390.c:4902
msgid "Total size of local variables exceeds architecture limit."
msgstr "Yerel değişkenlerin toplam boyutu mimarinin izin verdiği sınırı aşıyor."
-#: config/s390/s390.h:58
+#: config/s390/s390.h:70
msgid "Set backchain"
msgstr "Backchain ayarlanır"
-#: config/s390/s390.h:59
+#: config/s390/s390.h:71
msgid "Don't set backchain (faster, but debug harder"
msgstr "Backchain ayarlanmaz (daha hızlı ama hata ayıklamak daha zor"
-#: config/s390/s390.h:60
-msgid "Use bras for execucable < 64k"
+#: config/s390/s390.h:72
+msgid "Use bras for executable < 64k"
msgstr "64k dan küçük çalıştırılabilirler için bras kullanılır"
-#: config/s390/s390.h:61
+#: config/s390/s390.h:73
msgid "Don't use bras"
msgstr "bras kullanılmaz"
-#: config/s390/s390.h:62
+#: config/s390/s390.h:74
msgid "Additional debug prints"
msgstr "Ek hata ayıklama iletileri çıktılar"
-#: config/s390/s390.h:63
+#: config/s390/s390.h:75
msgid "Don't print additional debug prints"
msgstr "Ek hata ayıklama bilgisi verilmez"
-#: config/s390/s390.h:64
+#: config/s390/s390.h:76
msgid "64 bit mode"
msgstr "64 bitlik kip"
-#: config/s390/s390.h:65
+#: config/s390/s390.h:77
msgid "31 bit mode"
msgstr "31 bitlik kip"
-#: config/s390/s390.h:66
+#: config/s390/s390.h:78
msgid "mvcle use"
msgstr "mvcle kullanımı"
-#: config/s390/s390.h:67
+#: config/s390/s390.h:79
msgid "mvc&ex"
msgstr "mvc&ex"
-#: config/sh/sh.c:5060
+#: config/sh/sh.c:5137
msgid "__builtin_saveregs not supported by this subtarget"
msgstr "__builtin_saveregs bu alt hedef tarafından desteklenmiyor"
+#: config/sh/sh.c:5687
+msgid "attribute interrupt_handler is not compatible with -m5-compact"
+msgstr "özellik kesme yakalayıcı -m5-compact ile uyumlu değil"
+
#. The sp_switch attribute only has meaning for interrupt functions.
-#: config/sh/sh.c:5610 config/sh/sh.c:5649
+#: config/sh/sh.c:5713 config/sh/sh.c:5752
#, c-format
msgid "`%s' attribute only applies to interrupt functions"
msgstr "`%s' özniteliği sadece sistem kesmesi işlevlerine uygulanır"
#. The argument must be a constant string.
-#: config/sh/sh.c:5617
+#: config/sh/sh.c:5720
#, c-format
msgid "`%s' attribute argument not a string constant"
msgstr "`%s' öznitelik argümanı bir dizge sabit değil"
#. The argument must be a constant integer.
-#: config/sh/sh.c:5656
+#: config/sh/sh.c:5759
#, c-format
msgid "`%s' attribute argument not an integer constant"
msgstr "`%s' öznitelik argümanı bir tamsayı sabit değil"
#. 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 "Ayrımsama bu hedefte desteklenmiyor."
-#: config/sparc/sparc.c:317
+#: config/sparc/sparc.c:329
#, c-format
msgid "%s is not supported by this configuration"
msgstr "%s bu yapılandırma ile desteklenmiyor"
-#: config/sparc/sparc.c:324
+#: config/sparc/sparc.c:336
msgid "-mlong-double-64 not allowed with -m64"
msgstr "-mlong-double-64 ile -m64 birarada izin verilmez"
-#: config/sparc/sparc.c:349
+#: config/sparc/sparc.c:361
msgid "-mcmodel= is not supported on 32 bit systems"
msgstr "`-mcmodel=' 32bit sistemlerde desteklenmiyor"
-#: config/sparc/sparc.c:5971 config/sparc/sparc.c:5977
+#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305
#, c-format
msgid "invalid %%Y operand"
msgstr "geçersiz %%Y terimi"
-#: config/sparc/sparc.c:6047
+#: config/sparc/sparc.c:6375
#, c-format
msgid "invalid %%A operand"
msgstr "geçersiz %%A terimi"
-#: config/sparc/sparc.c:6057
+#: config/sparc/sparc.c:6385
#, c-format
msgid "invalid %%B operand"
msgstr "geçersiz %%B terimi"
-#: config/sparc/sparc.c:6096
+#: config/sparc/sparc.c:6424
#, c-format
msgid "invalid %%c operand"
msgstr "geçersiz %%c terimi"
-#: config/sparc/sparc.c:6097
+#: config/sparc/sparc.c:6425
#, c-format
msgid "invalid %%C operand"
msgstr "geçersiz %%C terimi"
-#: config/sparc/sparc.c:6118
+#: config/sparc/sparc.c:6446
#, c-format
msgid "invalid %%d operand"
msgstr "geçersiz %%d terimi"
-#: config/sparc/sparc.c:6119
+#: config/sparc/sparc.c:6447
#, c-format
msgid "invalid %%D operand"
msgstr "geçersiz %%D terimi"
-#: config/sparc/sparc.c:6135
+#: config/sparc/sparc.c:6463
#, c-format
msgid "invalid %%f operand"
msgstr "geçersiz %%f terimi"
-#: config/sparc/sparc.c:6185
+#: config/sparc/sparc.c:6476
+#, c-format
+msgid "invalid %%s operand"
+msgstr "geçersiz %%s terimi"
+
+#: config/sparc/sparc.c:6528
msgid "long long constant not a valid immediate operand"
msgstr "long long sabit geçerli bir anlık terim değil"
-#: config/sparc/sparc.c:6188
+#: config/sparc/sparc.c:6531
msgid "floating point constant not a valid immediate operand"
msgstr "gerçel sayı sabit geçerli bir dolaysız veri öğesi değil"
-#: config/sparc/freebsd.h:81 config/sparc/linux.h:87 config/sparc/linux64.h:144 config/sparc/netbsd-elf.h:239
+#: 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 "128 bit long double'lar kullanılır"
@@ -12754,335 +13234,381 @@ msgstr "Büyük ilkli kod üretilir"
msgid "Generate code for little endian"
msgstr "Küçük ilkli kod üretilir"
-#: 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 "Veri için bayt sıralaması küçük ilkli yapılır"
-#: config/sparc/sparc.h:539
+#: config/sparc/sparc.h:532
msgid "Assume possible double misalignment"
msgstr "double'ların hizalanmamış oldukları varsayılır"
-#: config/sparc/sparc.h:541
+#: config/sparc/sparc.h:534
msgid "Assume all doubles are aligned"
msgstr "Tüm double'lar hizalı kabul edilir"
-#: config/sparc/sparc.h:543
+#: config/sparc/sparc.h:536
msgid "Pass -assert pure-text to linker"
msgstr "Birleştiriciye -assert salt-metin gönderir"
-#: config/sparc/sparc.h:545
+#: config/sparc/sparc.h:538
msgid "Do not pass -assert pure-text to linker"
msgstr "Birleştiriciye -assert salt-metin göndermez"
-#: config/sparc/sparc.h:547
+#: config/sparc/sparc.h:540
msgid "Use flat register window model"
msgstr "Düz yazmaç pencere modeli kullanılır"
-#: config/sparc/sparc.h:549
+#: config/sparc/sparc.h:542
msgid "Do not use flat register window model"
msgstr "Düz yazmaç pencere modeli kullanılmaz"
-#: config/sparc/sparc.h:551
+#: config/sparc/sparc.h:544
msgid "Use ABI reserved registers"
msgstr "Ayrılmış ABI yazmaçları kullanılır"
-#: config/sparc/sparc.h:553
+#: config/sparc/sparc.h:546
msgid "Do not use ABI reserved registers"
msgstr "Ayrılmış ABI yazmaçları kullanılmaz"
-#: config/sparc/sparc.h:555
+#: config/sparc/sparc.h:548
msgid "Use hardware quad fp instructions"
msgstr "Donanım bazlı quad fp komutları kullanılır"
-#: config/sparc/sparc.h:557
+#: config/sparc/sparc.h:550
msgid "Do not use hardware quad fp instructions"
msgstr "Donanım bazlı quad fp komutları kullanılmaz"
-#: config/sparc/sparc.h:559
+#: config/sparc/sparc.h:552
msgid "Compile for v8plus ABI"
msgstr "v8plus ABI için derleme yapılır"
-#: config/sparc/sparc.h:561
+#: config/sparc/sparc.h:554
msgid "Do not compile for v8plus ABI"
msgstr "v8plus ABI için derleme yapılmaz"
-#: config/sparc/sparc.h:563
+#: config/sparc/sparc.h:556
msgid "Utilize Visual Instruction Set"
msgstr "Görsel Komut Kümesi kullanılır"
-#: config/sparc/sparc.h:565
+#: config/sparc/sparc.h:558
msgid "Do not utilize Visual Instruction Set"
msgstr "Görsel Komut Kümesi kullanılmaz"
#. ??? 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 "Cypress işlemciler için eniyileme yapılır"
-#: config/sparc/sparc.h:570
-msgid "Optimize for SparcLite processors"
-msgstr "SparcLite işlemciler için eniyileme yapılır"
+#: config/sparc/sparc.h:563
+msgid "Optimize for SPARCLite processors"
+msgstr "SPARCLite işlemciler için eniyileme yapılır"
-#: config/sparc/sparc.h:572
+#: config/sparc/sparc.h:565
msgid "Optimize for F930 processors"
msgstr "F930 işlemciler için eniyileme yapılır"
-#: config/sparc/sparc.h:574
+#: config/sparc/sparc.h:567
msgid "Optimize for F934 processors"
msgstr "F934 işlemciler için eniyileme yapılır"
-#: config/sparc/sparc.h:576
-msgid "Use V8 Sparc ISA"
-msgstr "V8 Sparc ISA kullanılır"
+#: config/sparc/sparc.h:569
+msgid "Use V8 SPARC ISA"
+msgstr "V8 SPARC ISA kullanılır"
-#: config/sparc/sparc.h:578
-msgid "Optimize for SuperSparc processors"
-msgstr "SuperSparc işlemciler için eniyileme yapılır"
+#: config/sparc/sparc.h:571
+msgid "Optimize for SuperSPARC processors"
+msgstr "SuperSPARC işlemciler için eniyileme yapılır"
#. End of deprecated options.
-#: config/sparc/sparc.h:581
+#: config/sparc/sparc.h:574
msgid "Pointers are 64-bit"
msgstr "Göstergeler 64 bittir"
-#: config/sparc/sparc.h:583
+#: config/sparc/sparc.h:576
msgid "Pointers are 32-bit"
msgstr "Göstergeler 32 bittir"
-#: config/sparc/sparc.h:585
+#: config/sparc/sparc.h:578
msgid "Use 32-bit ABI"
msgstr "32-bit ABI kullanılır"
-#: config/sparc/sparc.h:587
+#: config/sparc/sparc.h:580
msgid "Use 64-bit ABI"
msgstr "64-bit ABI kullanılır"
-#: config/sparc/sparc.h:589
+#: config/sparc/sparc.h:582
msgid "Use stack bias"
msgstr "Yığıt yanlaması kullanır"
-#: config/sparc/sparc.h:591
+#: config/sparc/sparc.h:584
msgid "Do not use stack bias"
msgstr "Yığıt yanlaması kullanmaz"
-#: config/sparc/sparc.h:593
+#: config/sparc/sparc.h:586
msgid "Use structs on stronger alignment for double-word copies"
msgstr "Çift-word kopyalamada kuvvetli hizalama için struct (yapı) kullanır"
-#: config/sparc/sparc.h:595
+#: config/sparc/sparc.h:588
msgid "Do not use structs on stronger alignment for double-word copies"
msgstr "Çift-word kopyalamada kuvvetli hizalama için struct (yapı) kullanmaz"
-#: config/sparc/sparc.h:597
+#: config/sparc/sparc.h:590
msgid "Optimize tail call instructions in assembler and linker"
msgstr "Çevirici ve bağlayıcıda kuyruk çağrı komutlarını eniyiler"
-#: config/sparc/sparc.h:599
+#: config/sparc/sparc.h:592
msgid "Do not optimize tail call instructions in assembler or linker"
msgstr ""
"Çevirici veya bağlayıcıda kuyruk çağrı komutlarını\n"
" eniyilemez"
-#: config/sparc/sparc.h:643
-msgid "Use given Sparc code model"
-msgstr "Belirtilen Sparc kod modeli kullanılır"
+#: config/sparc/sparc.h:637
+msgid "Use given SPARC code model"
+msgstr "Belirtilen SPARC kod modeli kullanılır"
-#: config/stormy16/stormy16.c:1179
+#: config/stormy16/stormy16.c:1192
msgid "cannot use va_start in interrupt function"
msgstr "kesme işlevinde va_start kullanılamaz"
-#: config/stormy16/stormy16.c:1536
+#: config/stormy16/stormy16.c:1552
msgid "`B' operand is not constant"
msgstr "`B' terimi sabit deÄŸil"
-#: config/stormy16/stormy16.c:1542
+#: config/stormy16/stormy16.c:1558
msgid "`B' operand has multiple bits set"
msgstr "`B' terimi çoklu bit kümeleri içeriyor"
-#: config/stormy16/stormy16.c:1569
+#: config/stormy16/stormy16.c:1585
msgid "`o' operand is not constant"
msgstr "`o' terimi sabit deÄŸil"
-#: config/stormy16/stormy16.c:1584
+#: config/stormy16/stormy16.c:1600
msgid "xstormy16_print_operand: unknown code"
msgstr "xstormy16_print_operand: kod bilinmiyor"
-#: config/stormy16/stormy16.c:1634
+#: config/stormy16/stormy16.c:1650
#, c-format
msgid "switch statement of size %lu entries too large"
msgstr "%lu luk switch deyimi girdileri çok büyük"
-#: config/v850/v850-c.c:68
+#: config/v850/v850-c.c:67
msgid "#pragma GHS endXXXX found without previous startXXX"
msgstr "#pragma GHS endXXXX öncesinde startXXX yok"
-#: config/v850/v850-c.c:70
+#: config/v850/v850-c.c:69
msgid "#pragma GHS endXXX does not match previous startXXX"
msgstr "#pragma GHS endXXX ile önceki startXXX eşleşmiyor"
-#: config/v850/v850-c.c:95
+#: config/v850/v850-c.c:94
msgid "cannot set interrupt attribute: no current function"
msgstr "sistem kesmesi özniteliği ayarlanamıyor: böyle bir işlev yok"
-#: config/v850/v850-c.c:103
+#: config/v850/v850-c.c:102
msgid "cannot set interrupt attribute: no such identifier"
msgstr "sistem kesmesi özniteliği ayarlanamıyor: böyle bir tanımlayıcı yok"
-#: config/v850/v850-c.c:149
+#: config/v850/v850-c.c:148
msgid "junk at end of #pragma ghs section"
msgstr "'#pragma ghs' bölümünden sonrası karışık"
-#: config/v850/v850-c.c:166
+#: config/v850/v850-c.c:165
#, c-format
msgid "unrecognized section name \"%s\""
msgstr "bölüm ismi \"%s\" bilinmiyor"
-#: config/v850/v850-c.c:181
+#: config/v850/v850-c.c:180
msgid "malformed #pragma ghs section"
msgstr "'#pragma ghs' bölümü bozuk"
-#: config/v850/v850-c.c:201
+#: config/v850/v850-c.c:200
msgid "junk at end of #pragma ghs interrupt"
msgstr "'#pragma ghs interrupt' sonrası karışık"
-#: config/v850/v850-c.c:213
+#: config/v850/v850-c.c:212
msgid "junk at end of #pragma ghs starttda"
msgstr "'#pragma ghs starttda' sonrası karışık"
-#: config/v850/v850-c.c:225
+#: config/v850/v850-c.c:224
msgid "junk at end of #pragma ghs startsda"
msgstr "'#pragma ghs startsda' sonrası karışık"
-#: config/v850/v850-c.c:237
+#: config/v850/v850-c.c:236
msgid "junk at end of #pragma ghs startzda"
msgstr "'#pragma ghs startzda' sonrası karışık"
-#: config/v850/v850-c.c:249
+#: config/v850/v850-c.c:248
msgid "junk at end of #pragma ghs endtda"
msgstr "'#pragma ghs endtda' sonrası karışık"
-#: config/v850/v850-c.c:261
+#: config/v850/v850-c.c:260
msgid "junk at end of #pragma ghs endsda"
msgstr "'#pragma ghs endsda' sonrası karışık"
-#: config/v850/v850-c.c:273
+#: config/v850/v850-c.c:272
msgid "junk at end of #pragma ghs endzda"
msgstr "'#pragma ghs endzda' sonrası karışık"
-#: config/v850/v850.c:122
+#: config/v850/v850.c:129
#, c-format
msgid "%s=%s is not numeric"
msgstr "%s=%s sayısal değerler değil."
-#: config/v850/v850.c:129
+#: config/v850/v850.c:136
#, c-format
msgid "%s=%s is too large"
msgstr "%s=%s çok büyük"
-#: config/v850/v850.c:285
+#: config/v850/v850.c:302
msgid "const_double_split got a bad insn:"
msgstr "const_double_split got bir hatalı komut:"
-#: config/v850/v850.c:777
+#: config/v850/v850.c:837
msgid "output_move_single:"
msgstr "output_move_single:"
-#: config/v850/v850.c:2084
+#: config/v850/v850.c:2217
msgid "a data area attribute cannot be specified for local variables"
msgstr "bir veri alanı özelliği yerel değişkenler için belirtilemez"
-#: config/v850/v850.c:2095
+#: config/v850/v850.c:2228
#, c-format
msgid "data area of '%s' conflicts with previous declaration"
msgstr "'%s' veri alanı önceki bildirimle çelişiyor"
-#: config/v850/v850.c:2298
+#: config/v850/v850.c:2447
#, c-format
msgid "bogus JR construction: %d\n"
msgstr "Taklit JR oluÅŸturma: %d\n"
-#: 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 "Yığın alanı kaldırma miktarı hatalı: %d"
-#: config/v850/v850.c:2497
+#: config/v850/v850.c:2646
#, c-format
msgid "bogus JARL construction: %d\n"
msgstr "taklit JARL oluÅŸturma: %d\n"
+#: config/v850/v850.c:3026
+#, c-format
+msgid "Bogus DISPOSE construction: %d\n"
+msgstr "Taklit DISPOSE oluÅŸturma: %d\n"
+
+#: config/v850/v850.c:3048
+#, c-format
+msgid "Too much stack space to dispose of: %d"
+msgstr "DİSPOSE'sinin yığıt alanı çok fazla: %d"
+
+#: config/v850/v850.c:3224
+#, c-format
+msgid "Bogus PREPEARE construction: %d\n"
+msgstr "Taklit PREPEARE oluÅŸturma: %d\n"
+
+#: config/v850/v850.c:3246
+#, c-format
+msgid "Too much stack space to prepare: %d"
+msgstr "PREPARE için yığıt alanı çok fazla: %d"
+
#. 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 "Green Hills ABI desteklenir"
-#: config/v850/v850.h:123
+#: config/v850/v850.h:161
msgid "Prohibit PC relative function calls"
msgstr "PC göreli işlev çağrılarını engeller"
-#: config/v850/v850.h:126
+#: config/v850/v850.h:164
msgid "Reuse r30 on a per function basis"
msgstr "Her işlev için r30 yeniden kullanılır"
-#: config/v850/v850.h:129
+#: config/v850/v850.h:167
msgid "Use stubs for function prologues"
msgstr "İşlev önbilgisi için koçan kullanır"
-#: config/v850/v850.h:132
+#: config/v850/v850.h:170
msgid "Same as: -mep -mprolog-function"
msgstr "-mep -mprolog-function ile aynı"
-#: config/v850/v850.h:133
+#: config/v850/v850.h:171
msgid "Enable backend debugging"
msgstr "Arkayüz hata ayıklamasını etkinleştirir"
-#: config/v850/v850.h:135
+#: config/v850/v850.h:173
msgid "Compile for the v850 processor"
msgstr "v850 işlemcisi için derleme yapılır"
-#: config/v850/v850.h:138
+#: config/v850/v850.h:175
+msgid "Compile for v850e processor"
+msgstr "v850e işlemcisi için derleme yapılır"
+
+#. Make sure that the other bits are cleared.
+#: config/v850/v850.h:177
+msgid "Enable the use of the short load instructions"
+msgstr "short yükleme komutlarının kullanımı etkinleştirilir"
+
+#: config/v850/v850.h:180
+msgid "Do not use the callt instruction"
+msgstr "callt komutu kullanılmaz"
+
+#: config/v850/v850.h:187
+msgid "Do not use registers r2 and r5"
+msgstr "r2 ve r5 yazmaçları kullanılmaz"
+
+#: config/v850/v850.h:189
+msgid "Enforce strict alignment"
+msgstr "Katı hizalamaya zorlar"
+
+#: config/v850/v850.h:192
msgid "Use 4 byte entries in switch tables"
msgstr "Switch tablolarında 4 baytlık girdiler kullanılır"
-#: config/v850/v850.h:164
+#: config/v850/v850.h:218
msgid "Set the max size of data eligible for the TDA area"
msgstr "TDA alanı için uygun verinin maksimum boyunu belirler"
-#: config/v850/v850.h:167
+#: config/v850/v850.h:221
msgid "Set the max size of data eligible for the SDA area"
msgstr "SDA alanı için uygun verinin maksimum boyunu belirler"
-#: config/v850/v850.h:170
+#: config/v850/v850.h:224
msgid "Set the max size of data eligible for the ZDA area"
msgstr "ZDA alanı için uygun verinin maksimum boyunu belirler"
-#: 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 "hatalı test"
-#: config/xtensa/xtensa.c:1790
+#: config/xtensa/xtensa.c:1824
msgid "boolean registers required for the floating-point option"
msgstr "iki terimli yazmaçlar kayan nokta seçeneği için gerekli"
-#: config/xtensa/xtensa.c:1965
+#: config/xtensa/xtensa.c:1991
msgid "invalid mask"
msgstr "mask geçersiz"
-#: config/xtensa/xtensa.c:2017
+#: config/xtensa/xtensa.c:2038
msgid "invalid address"
msgstr "adres geçersiz"
-#: config/xtensa/xtensa.c:2042
+#: config/xtensa/xtensa.c:2063
msgid "no register in address"
msgstr "adreste yazmaç yok"
-#: config/xtensa/xtensa.c:2050
+#: config/xtensa/xtensa.c:2071
msgid "address offset not a constant"
msgstr "adres deÄŸeri bir sabit deÄŸil"
+#: config/xtensa/xtensa.c:2794
+msgid "only uninitialized variables can be placed in a .bss section"
+msgstr "sadece ilklendirilmemiş değişkenler .bss bölümüne yerleştirilebilir"
+
#: config/xtensa/xtensa.h:114
msgid "Use the Xtensa code density option"
msgstr "Xtensa kod yoğunluğu seçeneği kullanılır"
@@ -13205,512 +13731,552 @@ msgstr "Büyük programlar için dolaylı CALLXn komutları kullanılır"
msgid "Use direct CALLn instructions for fast calls"
msgstr "Hızlı çağrılar için doğrudan CALLn komutları kullanılır"
-#: ada/misc.c:219
+#: ada/misc.c:233
msgid "`-gnat' misspelled as `-gant'"
msgstr "`-gnat' yerine `-gant' kullanılmış"
-#: cp/call.c:270 cp/init.c:1635
+#: cp/call.c:259 cp/init.c:1596
msgid "qualified type `%T' does not match destructor name `~%T'"
msgstr "yetkin tür `%T', yıkıcı ismi `~%T' ile eşleşmiyor"
-#: cp/call.c:279
+#: cp/call.c:268
msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
msgstr "`%E' türü yıkıcı türü `%T' ile eşleşmiyor (tür `%T' idi)"
-#: cp/call.c:288
+#: cp/call.c:277
msgid "`%D' is a namespace"
msgstr "`%D' bir isim alanı"
-#: cp/call.c:296
+#: cp/call.c:285
msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
msgstr "amaçlı yöntem çağrısının taban nesnesi `%E' yeni sınıf oluşturamayan `%T' türününkidir"
-#: cp/call.c:394
+#: cp/call.c:367
msgid "unable to call pointer to member function here"
msgstr "buradan üye işlev göstergesi çağrılamaz"
-#: cp/call.c:530
+#: cp/call.c:516
msgid "destructors take no parameters"
msgstr "yıkıcılar parametre almaz"
-#: cp/call.c:537
+#: cp/call.c:520
msgid "destructor name `~%T' does not match type `%T' of expression"
msgstr "yıkıcı ismi `~%T' ifadenin türü `%T' ile eşleşmiyor"
-#: cp/call.c:2374
+#: cp/call.c:541 cp/call.c:4959
+msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+msgstr "bir nesne alarak oluşmayan `%3$T' türündeki `%2$E'nin üyesi `%D' için istek"
+
+#: cp/call.c:565
+msgid "request for member `%D' is ambiguous"
+msgstr "üye `%D' için istek belirsiz"
+
+#: cp/call.c:2526
msgid "%s %D(%T, %T, %T) <built-in>"
msgstr "%s %D(%T, %T, %T) <yerleÅŸik>"
-#: cp/call.c:2379
+#: cp/call.c:2531
msgid "%s %D(%T, %T) <built-in>"
msgstr "%s %D(%T, %T) <yerleÅŸik>"
-#: cp/call.c:2383
+#: cp/call.c:2535
msgid "%s %D(%T) <built-in>"
msgstr "%s %D(%T) <yerleÅŸik>"
-#: cp/call.c:2387
+#: cp/call.c:2539
msgid "%s %T <conversion>"
msgstr "%s %T <dönüşüm>"
-#: cp/call.c:2389
+#: cp/call.c:2541
msgid "%s %+#D%s"
msgstr "%s %+#D%s"
-#: cp/call.c:2546
-msgid "no viable candidates"
-msgstr "uygulanabilir aday yok"
-
-#: cp/call.c:2560
+#: cp/call.c:2715
msgid "conversion from `%T' to `%T' is ambiguous"
msgstr "`%T' den `%T' ye dönüşüm belirsiz"
-#: cp/call.c:2677
+#: cp/call.c:2795
+msgid "incomplete type '%T' cannot be used to name a scope"
+msgstr "içi boş `%T' türü bir yorum alanı içinde isim olarak kullanılamaz"
+
+#: cp/call.c:2815 cp/typeck.c:2185 cp/typeck.c:2214
+msgid "'%D' has no member named '%E'"
+msgstr "%D' `%E' isimli üyeye sahip değil"
+
+#: cp/call.c:2917
msgid "no matching function for call to `%D(%A)'"
msgstr "`%D(%A)' çağrısı ile eşleşen bir işlev yok"
-#: cp/call.c:2688 cp/call.c:4681
+#: cp/call.c:2928 cp/call.c:5046
msgid "call of overloaded `%D(%A)' is ambiguous"
msgstr "aşırı yüklü `%D(%A)' çağrısı belirsiz"
#. It's no good looking for an overloaded operator() on a
#. pointer-to-member-function.
-#: cp/call.c:2715
+#: cp/call.c:2955
#, c-format
msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
msgstr "üye işlev %E nesnesiz çağrılamaz; .* or ->* kullanımı önerilir"
-#: cp/call.c:2784
+#: cp/call.c:3020
msgid "no match for call to `(%T) (%A)'"
msgstr "`(%T) (%A)' çağrısı için eşleşme yok"
-#: cp/call.c:2794
+#: cp/call.c:3030
msgid "call of `(%T) (%A)' is ambiguous"
msgstr "`(%T) (%A)' çağrısı belirsiz"
-#: cp/call.c:2829
+#: cp/call.c:3065
msgid "%s for `%T ? %T : %T' operator"
msgstr "%s (`%T ? %T : %T' üç terimlisi için)"
-#: cp/call.c:2834
+#: cp/call.c:3070
msgid "%s for `%T %s' operator"
-msgstr "%s (`%T %s' işlemimi için)"
+msgstr "%s (`%T %s' işleci için)"
-#: cp/call.c:2837
+#: cp/call.c:3073
msgid "%s for `%T [%T]' operator"
-msgstr "%s (`%T [%T]' işlemimi için)"
+msgstr "%s (`%T [%T]' işleci için)"
-#: cp/call.c:2842
+#: cp/call.c:3078
msgid "%s for `%T %s %T' operator"
-msgstr "%s (`%T %s %T' işlemimi için)"
+msgstr "%s (`%T %s %T' işleci için)"
-#: cp/call.c:2845
+#: cp/call.c:3081
msgid "%s for `%s %T' operator"
-msgstr "%s (`%s %T' işlemimi için)"
+msgstr "%s (`%s %T' işleci için)"
-#: cp/call.c:2937
+#: cp/call.c:3171
msgid "ISO C++ forbids omitting the middle term of a ?: expression"
msgstr "ISO C++ bir ?: ifadesinde eksik orta terime izin vermez"
-#: cp/call.c:2996
+#: cp/call.c:3230
#, c-format
msgid "`%E' has type `void' and is not a throw-expression"
msgstr "`%E' `void' türünde ve bir yakalama-ifadesi değil"
-#: cp/call.c:3029 cp/call.c:3229
+#: cp/call.c:3263 cp/call.c:3455
msgid "operands to ?: have different types"
msgstr "?: için işlemimleri farklı türde"
-#: cp/call.c:3182
+#: cp/call.c:3408
msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
msgstr "şartlı ifade içinde enum uyumsuzluğu: `%T' vs `%T'"
-#: cp/call.c:3189
+#: cp/call.c:3415
msgid "enumeral and non-enumeral type in conditional expression"
msgstr "şartlı ifade içinde enum ve enum olmayan türler"
-#: cp/call.c:3270
+#: cp/call.c:3496
msgid "`%D' must be declared before use"
msgstr "`%D' kullanmadan önce bildirilmiş olmalı"
-#: cp/call.c:3433
+#: cp/call.c:3686
msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
-msgstr "sonek `%s' için `%D(int)' bildirimi yok, yerine önek işlemimi deneniyor"
+msgstr "sonek `%s' için `%D(int)' bildirimi yok, yerine önek işleci deneniyor"
-#: cp/call.c:3480
+#: cp/call.c:3733
msgid "using synthesized `%#D' for copy assignment"
msgstr "kopya ataması için bireşimli `%#D' kullanılıyor"
-#: cp/call.c:3482
+#: cp/call.c:3735
msgid " where cfront would use `%#D'"
msgstr " (cfront'un `%#D' kullanması gerektiği yerde)"
-#: cp/call.c:3509
+#: cp/call.c:3762
msgid "comparison between `%#T' and `%#T'"
msgstr "`%#T' ile `%#T' arasında karşılaştırma"
-#: cp/call.c:3748
+#: cp/call.c:4001
msgid "no suitable `operator delete' for `%T'"
msgstr "`%T' için uygun bir `operator delete' yok"
-#: cp/call.c:3767
+#: cp/call.c:4020
msgid "`%+#D' is private"
msgstr "`%+#D' private'dir"
-#: cp/call.c:3769
+#: cp/call.c:4022
msgid "`%+#D' is protected"
msgstr "`%+#D' protected'dır"
-#: cp/call.c:3771
+#: cp/call.c:4024
msgid "`%+#D' is inaccessible"
msgstr "`%+#D' eriÅŸilebilir deÄŸil"
-#: cp/call.c:3772
+#: cp/call.c:4025
msgid "within this context"
msgstr "bu baÄŸlamda"
-#: cp/call.c:3814
+#: cp/call.c:4067
msgid "invalid conversion from `%T' to `%T'"
msgstr "`%T' den `%T' ye dönüşüm geçersiz"
-#: cp/call.c:3816 cp/call.c:3955 cp/call.c:3957
+#: cp/call.c:4069 cp/call.c:4207 cp/call.c:4209
msgid " initializing argument %P of `%D'"
msgstr " `%D' nin %P. argümanının ilklendirilmesi"
-#: cp/call.c:3879 cp/call.c:3883
+#: cp/call.c:4131 cp/call.c:4135
msgid " initializing argument %P of `%D' from result of `%D'"
msgstr " `%D'nin %P argümanı `%D'nin sonucundan ilklendiriliyor "
-#: cp/call.c:3889 cp/call.c:3892
+#: cp/call.c:4141 cp/call.c:4144
msgid " initializing temporary from result of `%D'"
msgstr " geçici olarak `%D'nin sonucundan ilklendiriliyor"
-#. Undefined behaviour [expr.call] 5.2.2/7.
-#: cp/call.c:4026
-msgid "cannot pass objects of non-POD type `%#T' through `...'"
-msgstr "POD olmayan `%#T' türünün nesneleri `...' üzerinden aktarılamaz"
+#. 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:4294
+msgid "cannot pass objects of non-POD type `%#T' through `...'; call will abort at runtime"
+msgstr "POD olmayan `%#T' türünün nesneleri `...' üzerinden aktarılamaz; çalışma anında çağrı çıkış yaptıracak"
-#. Undefined behaviour [expr.call] 5.2.2/7.
-#: cp/call.c:4051
+#. Undefined behavior [expr.call] 5.2.2/7.
+#: cp/call.c:4321
msgid "cannot receive objects of non-POD type `%#T' through `...'"
msgstr "POD olmayan `%#T' türünün nesneleri `...' üzerinden alınamaz"
-#: cp/call.c:4193
+#: cp/call.c:4501
msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
msgstr "niteleyicileri iptal eden `%#D'nin `this' argümanı olarak `%T aktarılıyor"
-#: cp/call.c:4443
+#: cp/call.c:4759
msgid "could not find class$ field in java interface type `%T'"
msgstr "`%T' türündeki java arabiriminde class$ alanı bulunamadı"
-#: cp/call.c:4544 cp/typeck.c:2018
-msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
-msgstr "bir nesne alarak oluşmayan `%3$T' türündeki `%2$E'nin üyesi `%D' için istek"
+#: cp/call.c:4933
+msgid "call to non-function `%D'"
+msgstr "işlev olmayan `%D' ye çağrı"
-#: cp/call.c:4670
+#: cp/call.c:5035
msgid "no matching function for call to `%T::%D(%A)%#V'"
msgstr "`%T::%D(%A)%#V' çağrısı ile eşleşen işlev yok"
-#: cp/call.c:4700
+#: cp/call.c:5065
msgid "cannot call member function `%D' without object"
msgstr "üye işlev `%D' nesne olmaksızın çağrılamaz"
-#: cp/call.c:5313
+#: cp/call.c:5663
msgid "passing `%T' chooses `%T' over `%T'"
msgstr "`%T' `%T'yi `%T' üzerinden seçerek aktarılıyor"
-#: cp/call.c:5315 cp/decl2.c:4508
+#: cp/call.c:5665 cp/decl2.c:4148
msgid " in call to `%D'"
msgstr " `%D' çağrısında"
-#: cp/call.c:5364 cp/call.c:5489
+#: cp/call.c:5714
msgid "choosing `%D' over `%D'"
msgstr "`%D' `%D' üzerinden seçiliyor"
-#: cp/call.c:5365
+#: cp/call.c:5715
msgid " for conversion from `%T' to `%T'"
msgstr " (`%T' den `%T' ye dönüşüm için)"
-#: cp/call.c:5367
+#: cp/call.c:5717
msgid " because conversion sequence for the argument is better"
msgstr " çünkü argüman için dönüşüm süreci daha iyi"
-#: cp/call.c:5491
-msgid " because worst conversion for the former is better than worst conversion for the latter"
-msgstr " çünkü ilkinin en kötü dönüşümü sonuncusununkinden daha iyidir"
+#: cp/call.c:5838
+msgid "ISO C++ says that `%D' and `%D' are ambiguous even though the worst conversion for the former is better than the worst conversion for the latter"
+msgstr "İlkinin en kötü dönüşümü sonuncusununkinden daha iyi olsa bile ISO C++ `%D' ve `%D' belirsizdir der "
-#: cp/call.c:5607 cp/call.c:5628
+#: cp/call.c:5955 cp/call.c:6021
msgid "could not convert `%E' to `%T'"
msgstr "`%E' den `%T' ye dönüşüm yapılamaz"
-#: cp/class.c:287
+#: cp/class.c:286
msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
msgstr "taban `%T' türünden türetilmiş `%T' türü sanal taban `%T' üzerinden dönüştürülemez"
-#: cp/class.c:1020
+#: cp/class.c:964
msgid "`%#D' and `%#D' cannot be overloaded"
msgstr "`%#D' ve `%#D' aşırı yüklü olamaz"
-#. There has already been a declaration of this method
-#. or member template.
-#: cp/class.c:1031
-msgid "`%D' has already been declared in `%T'"
-msgstr "`%D' zaten `%T' de bildirilmiÅŸti"
-
-#: cp/class.c:1112
+#: cp/class.c:1048
msgid "duplicate enum value `%D'"
msgstr "yinelenmiÅŸ enum deÄŸeri `%D'"
-#: cp/class.c:1115
+#: cp/class.c:1051
msgid "duplicate field `%D' (as enum and non-enum)"
msgstr "yinelenmiÅŸ alan `%D' (hem enum hem de deÄŸil)"
-#: cp/class.c:1122
+#: cp/class.c:1058
msgid "duplicate nested type `%D'"
msgstr "yinelenmiş iç içe tür `%D'"
-#: cp/class.c:1133
+#: cp/class.c:1069
msgid "duplicate field `%D' (as type and non-type)"
msgstr "yinelenmiş alan `%D' (hem tür hem de değil)"
-#: cp/class.c:1137
+#: cp/class.c:1073
msgid "duplicate member `%D'"
msgstr "yinelenmiş üye `%D'"
-#: cp/class.c:1180
+#: cp/class.c:1116
msgid "conflicting access specifications for method `%D', ignored"
msgstr "`%D' yöntemi için erişim özellikleri çelişkili, yoksayıldı"
-#: cp/class.c:1182
+#: cp/class.c:1118
#, c-format
msgid "conflicting access specifications for field `%s', ignored"
msgstr "`%s' alanı için erişim özellikleri çelişkili, yoksayıldı"
-#: cp/class.c:1225
+#: cp/class.c:1163
msgid "`%D' names constructor"
msgstr "`%D' isimleri kurucu"
-#: cp/class.c:1231
+#: cp/class.c:1168
msgid "`%D' invalid in `%T'"
msgstr "`%T' içindeki `%D' geçersiz"
-#: cp/class.c:1239
+#: cp/class.c:1176
msgid "no members matching `%D' in `%#T'"
msgstr "`%T' içindeki `%D' ile eşleşen üye yok"
-#: cp/class.c:1271 cp/class.c:1279
+#: cp/class.c:1208 cp/class.c:1216
msgid "`%D' invalid in `%#T'"
msgstr "`%#T' içindeki `%D' geçersiz"
-#: cp/class.c:1272
+#: cp/class.c:1209
msgid " because of local method `%#D' with same name"
msgstr " çünkü yerel yöntem `%#D' ile aynı isimde"
-#: cp/class.c:1280
+#: cp/class.c:1217
msgid " because of local member `%#D' with same name"
msgstr " çünkü yerel üye `%#D' ile aynı isimde"
-#: cp/class.c:1352
+#: cp/class.c:1289
msgid "base class `%#T' has a non-virtual destructor"
msgstr "taban sınıf `%#T' bir sanal olmayan yıkıcıya sahip"
-#: cp/class.c:1372
+#: cp/class.c:1309
msgid "base `%T' with only non-default constructor in class without a constructor"
msgstr "sadece bir kurucusuz sınıftaki öntanımlı olmayan kuruculu taban `%T'"
-#: cp/class.c:1959
+#: cp/class.c:1881
msgid "all member functions in class `%T' are private"
msgstr "sınıf `%T' içindeki tüm üye işlevler 'private'"
-#: cp/class.c:1973
+#: cp/class.c:1895
msgid "`%#T' only defines a private destructor and has no friends"
msgstr "`%#T' sadece private bir yıkıcı tanımlıyor ve kardeşleri yok"
-#: cp/class.c:2016
+#: cp/class.c:1938
msgid "`%#T' only defines private constructors and has no friends"
msgstr "`%#T' sadece private kurucular tanımlıyor ve kardeşleri yok"
-#: cp/class.c:2137 cp/class.c:5064
+#: cp/class.c:2059 cp/class.c:5236
msgid "redefinition of `%#T'"
msgstr "`%#T' yeniden tanımlanmış"
-#: cp/class.c:2138
+#: cp/class.c:2060
msgid "previous definition of `%#T'"
msgstr "`%#T' nin önceki bildirimi"
-#: cp/class.c:2468
+#: cp/class.c:2334
msgid "no unique final overrider for `%D' in `%T'"
msgstr "`%D' için `%T' içinde eşsiz bir son değiştirici yok"
#. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2850
+#: cp/class.c:2681
msgid "`%D' was hidden"
msgstr "`%D'"
-#: cp/class.c:2851
+#: cp/class.c:2682
msgid " by `%D'"
msgstr " `%D' tarafından gizlendi"
-#: cp/class.c:2893
+#: cp/class.c:2724
msgid "ISO C++ forbids member `%D' with same name as enclosing class"
msgstr "ISO C++ zarflayan sınıf olarak üye `%D' ile aynı isme izin vermez"
-#: cp/class.c:2898 cp/decl2.c:1883
+#: cp/class.c:2729 cp/decl2.c:1336
msgid "`%#D' invalid; an anonymous union can only have non-static data members"
msgstr "`%#D' geçersiz; bir anonim birleşik yapı sadece statik olmayan veri üyeleri içerebilir"
-#: cp/class.c:2904 cp/decl2.c:1889
+#: cp/class.c:2735 cp/decl2.c:1342
msgid "private member `%#D' in anonymous union"
msgstr "anonim union içinde private üye `%#D'"
-#: cp/class.c:2907 cp/decl2.c:1891
+#: cp/class.c:2738 cp/decl2.c:1344
msgid "protected member `%#D' in anonymous union"
msgstr "anonim union içinde protected üye `%#D'"
-#: cp/class.c:3059
+#: cp/class.c:2863
+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 "sınıf `%T' için vtable yerleşimi ABI-uyumlu olamaz ve bu GCC'nin gelecek sürümünde değişebilir"
+
+#: cp/class.c:2927
msgid "bit-field `%#D' with non-integral type"
msgstr "tümleyen olmayan tür ile bit-alanı `%#D'"
-#: cp/class.c:3079
+#: cp/class.c:2947
msgid "bit-field `%D' width not an integer constant"
msgstr "bit alanı `%D' için genişlik bir tamsayı sabit değil"
-#: cp/class.c:3085
+#: cp/class.c:2953
msgid "negative width in bit-field `%D'"
msgstr "bit alanı `%D' içindeki genişlik negatif"
-#: cp/class.c:3090
+#: cp/class.c:2958
msgid "zero width for bit-field `%D'"
msgstr "bit alanı `%D' için sıfır genişlik"
-#: cp/class.c:3096
+#: cp/class.c:2964
msgid "width of `%D' exceeds its type"
msgstr "`%D' türünün genişliğini aşıyor"
-#: cp/class.c:3105
+#: cp/class.c:2973
msgid "`%D' is too small to hold all values of `%#T'"
msgstr "`%D' `%#T'nin tüm değerlerini tutmak için çok küçük"
-#: cp/class.c:3189
+#: cp/class.c:3057
msgid "member `%#D' with constructor not allowed in union"
msgstr "union içinde kuruculu üye `%#D' olamaz"
-#: cp/class.c:3192
+#: cp/class.c:3060
msgid "member `%#D' with destructor not allowed in union"
msgstr "union içinde yıkıcılı üye `%#D' olamaz"
-#: cp/class.c:3195
+#: cp/class.c:3063
msgid "member `%#D' with copy assignment operator not allowed in union"
-msgstr "union içinde kopya atama işlemimli üye `%#D' olamaz"
+msgstr "union içinde kopya atama işleçli üye `%#D' olamaz"
-#: cp/class.c:3222
+#: cp/class.c:3090
msgid "multiple fields in union `%T' initialized"
msgstr "birleşik yapı `%T' içindeki çoklu alanlar ilklendirildi"
-#: cp/class.c:3341
+#: cp/class.c:3203
msgid "field `%D' in local class cannot be static"
msgstr "yerel sınıf içindeki alan `%D' static olamaz"
-#: cp/class.c:3347
+#: cp/class.c:3209
msgid "field `%D' invalidly declared function type"
msgstr "alan `%D' ile geçersiz olarak işlev türü bildirildi"
-#: cp/class.c:3354
+#: cp/class.c:3216
msgid "field `%D' invalidly declared method type"
msgstr "alan `%D' ile geçersiz olarak yöntem türü bildirildi"
-#: cp/class.c:3360
+#: cp/class.c:3222
msgid "field `%D' invalidly declared offset type"
msgstr "alan `%D' ile geçersiz olarak göreli konum türü bildirildi"
#. Unions cannot have static members.
-#: cp/class.c:3378
+#: cp/class.c:3240
msgid "field `%D' declared static in union"
msgstr "alan `%D' ile birleşik yapı içinde static bildirimi"
-#: cp/class.c:3404
+#: cp/class.c:3267
msgid "non-static reference `%#D' in class without a constructor"
msgstr "bir kurucusuz sınıf içinde static olmayan başvuru `%#D'"
-#: cp/class.c:3435
+#: cp/class.c:3302
msgid "non-static const member `%#D' in class without a constructor"
msgstr "bir kurucusuz sınıf içinde static olmayan sabit üye `%#D'"
-#: cp/class.c:3450
+#: cp/class.c:3318
msgid "field `%#D' with same name as class"
msgstr "alan `%#D' sınıf ile aynı isimde"
-#: cp/class.c:3468
+#: cp/class.c:3336
msgid "`%#T' has pointer data members"
msgstr "`%#T' gösterge veri üyeleri içeriyor"
-#: cp/class.c:3472
+#: cp/class.c:3340
msgid " but does not override `%T(const %T&)'"
msgstr " ama `%T(const %T&)' ye deÄŸiÅŸtirilmiyor"
-#: cp/class.c:3474
+#: cp/class.c:3342
msgid " or `operator=(const %T&)'"
msgstr " ya da `operator=(const %T&)'"
-#: cp/class.c:3477
+#: cp/class.c:3345
msgid " but does not override `operator=(const %T&)'"
msgstr " ama `operator=(const %T&)' ye deÄŸiÅŸtirilmiyor"
-#: cp/class.c:3943
+#: cp/class.c:3795
+msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
+msgstr "boş taban `%T' nin göreli konumu ABI-uyumlu olamaz ve bu GCC'nin gelecek sürümünde değişebilir"
+
+#: cp/class.c:3904
+msgid "class `%T' will be considered nearly empty in a future version of GCC"
+msgstr "sınıf `%T' GCC'nin gelecek sürümünde kısmen boş sayılacak"
+
+#: cp/class.c:3994
msgid "initializer specified for non-virtual method `%D'"
msgstr "sanal olmayan yöntem `%D' için ilklendirici belirtilmiş"
-#: cp/class.c:4728
-msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
-msgstr "sanal taban `%T' belirsizlikten dolayı `%T' içinde erişilebilir değil"
+#: cp/class.c:4730
+msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
+msgstr "sanal taban `%T' nin göreli konumu ABI-uyumlu değil ve bu GCC'nin gelecek sürümünde değişebilir"
-#: cp/class.c:4798
+#: cp/class.c:4830
msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgstr "doğrudan taban `%T' belirsizlikten dolayı `%T' içinde erişilebilir değil"
-#: cp/class.c:5225
+#: cp/class.c:4843
+msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+msgstr "sanal taban `%T' belirsizlikten dolayı `%T' içinde erişilebilir değil"
+
+#: cp/class.c:4999
+msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
+msgstr "`%T' ye atanan boyut ABI-uyumlu olmamalı ve bu GCC'nin gelecek sürümünde değişebilir"
+
+#: cp/class.c:5039
+msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
+msgstr "`%D' nin göreli konumu ABI-uyumlu değil ve bu GCC'nin gelecek sürümünde değişebilir"
+
+#: cp/class.c:5048
+msgid "`%D' contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+msgstr "`%D' GCC'nin gelecek sürümünde taban sınıfların farklı yere konmasına sebep olabilecek boş sınıfları içeriyor"
+
+#: cp/class.c:5107
+msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
+msgstr "sınıfların yerleşimi GCC'nin gelecek sürümünde değişebilecek olan boş sınıf `%T' den türetilmiş"
+
+#: cp/class.c:5392
msgid "`%#T' has virtual functions but non-virtual destructor"
msgstr "`%#T' sanal olmayan kurucuyla sanal işlevler içeriyor"
-#: cp/class.c:5309
+#: cp/class.c:5477
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr "yapı tamamlanmaya çalışılırken önceki ayrıştırma hatalarından dolayı kesildi"
-#: cp/class.c:5766
+#: cp/class.c:5943
#, c-format
msgid "language string `\"%s\"' not recognized"
msgstr "dil dizgesi `\"%s\"' tanınmıyor"
-#: cp/class.c:5862
+#: cp/class.c:6039
msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
msgstr "aşırı yüklü `%D' `%T' türünün dönüşümüne tabanlı olarak çözümlenemiyor"
-#: cp/class.c:5983
+#: cp/class.c:6160
msgid "no matches converting function `%D' to type `%#T'"
msgstr "işlev `%D'nin `%#T' türüne dönüşümü için eşleşme yok"
-#: cp/class.c:6006
+#: cp/class.c:6183
msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
msgstr "aşırı yüklü işlev `%D'nin `%#T' türüne dönüşümü belirsiz"
-#: cp/class.c:6032
+#: cp/class.c:6209
msgid "assuming pointer to member `%D'"
msgstr "üye `%D'ye gösterge varsayılıyor"
-#: cp/class.c:6035
+#: cp/class.c:6212
#, c-format
msgid "(a pointer to member can only be formed with `&%E')"
msgstr "(bir üye göstergesi sadece `&%E' ile şekillendirilebilir)"
-#: cp/class.c:6079 cp/class.c:6247 cp/class.c:6254
+#: cp/class.c:6256 cp/class.c:6427 cp/class.c:6434
msgid "not enough type information"
msgstr "tür bilgisi yetersiz"
-#: cp/class.c:6088
+#: cp/class.c:6265
msgid "argument of type `%T' does not match `%T'"
msgstr "`%T' türündeki argüman `%T' ile uyumsuz"
-#: cp/class.c:6231
+#: cp/class.c:6411
msgid "invalid operation on uninstantiated type"
msgstr "gerçeklenmemiş tür üzerindeki işlem geçersiz"
@@ -13719,11 +14285,11 @@ msgstr "gerçeklenmemiş tür üzerindeki işlem geçersiz"
#. 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:6483 cp/decl.c:1032 cp/decl.c:3172 cp/pt.c:1842
+#: cp/class.c:6694 cp/decl.c:1009 cp/decl.c:3133 cp/pt.c:2001
msgid "declaration of `%#D'"
msgstr "`%#D' yeniden bildirimi"
-#: cp/class.c:6484
+#: cp/class.c:6695
msgid "changes meaning of `%D' from `%+#D'"
msgstr "`%D' nin (`%+#D' deki) anlamı değişiyor"
@@ -13739,84 +14305,88 @@ msgstr "`%E' nin `%T' den `%T' ye dönüşümü belirsiz"
msgid "converting from `%T' to `%T'"
msgstr "`%T' den`%T' ye dönüşüm"
-#: cp/cvt.c:198 cp/cvt.c:202
+#: cp/cvt.c:203 cp/cvt.c:207
msgid "pointer to member cast from `%T' to `%T' is via virtual base"
msgstr "`%T' den `%T' ye üye göstergesi çevirimi sanal taban üzerindendir"
-#: cp/cvt.c:220 cp/cvt.c:233 cp/cvt.c:272
+#: cp/cvt.c:225 cp/cvt.c:236 cp/cvt.c:283
msgid "cannot convert `%E' from type `%T' to type `%T'"
msgstr "`%E' `%T' den `%T' ye çevrilemiyor"
-#: cp/cvt.c:525
+#: cp/cvt.c:262
+msgid "invalid conversion from '%T' to '%T'"
+msgstr "`%T' den `%T' ye dönüşüm geçersiz"
+
+#: cp/cvt.c:504
msgid "conversion from `%T' to `%T' discards qualifiers"
msgstr "`%T' den `%T' ye dönüşüm niteleyicileri iptal ediyor"
-#: cp/cvt.c:543
+#: cp/cvt.c:522
msgid "casting `%T' to `%T' does not dereference pointer"
msgstr "`%T' den `%T' ye çevirim gösterge referansını kaldırmıyor"
-#: cp/cvt.c:572
+#: cp/cvt.c:551
msgid "cannot convert type `%T' to type `%T'"
msgstr "tür `%T' `%T' türüne dönüştürülemiyor"
-#: cp/cvt.c:689
+#: cp/cvt.c:683
msgid "conversion from `%#T' to `%#T'"
msgstr "`%#T' den `%#T' ye dönüşüm"
-#: cp/cvt.c:701
+#: cp/cvt.c:695
msgid "`%#T' used where a `%T' was expected"
msgstr "`%T' kullanılmış ama `%#T' umulmuştu"
-#: cp/cvt.c:718
+#: cp/cvt.c:712
msgid "the address of `%D', will always be `true'"
msgstr "`%D' nin adresi, daima `true' olacak"
-#: cp/cvt.c:738
+#: cp/cvt.c:732
msgid "`%#T' used where a floating point value was expected"
msgstr "bir gerçel sayı değer gerekirken `%#T' kullanılmış"
-#: cp/cvt.c:793
+#: cp/cvt.c:779
msgid "conversion from `%T' to non-scalar type `%T' requested"
msgstr "`%T' türünden skalar olmayan `%T' türüne dönüşüm istendi"
-#: cp/cvt.c:879
+#: cp/cvt.c:865
msgid "object of incomplete type `%T' will not be accessed in %s"
msgstr "içi boş `%T' türündeki nesne, %s içinde erişimli olmayacak"
-#: cp/cvt.c:882
+#: cp/cvt.c:868
msgid "object of type `%T' will not be accessed in %s"
msgstr "`%T' türündeki nesne, %s içinde erişimli olmayacak"
-#: cp/cvt.c:898
+#: cp/cvt.c:884
msgid "object `%E' of incomplete type `%T' will not be accessed in %s"
msgstr "içi boş `%T' türündeki nesne `%E', %s içinde erişimli olmayacak"
#. [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:904
#, c-format
msgid "%s cannot resolve address of overloaded function"
msgstr "%s aşırı yüklü işlevin adresini çözümleyemiyor"
#. Only warn when there is no &.
-#: cp/cvt.c:923
+#: cp/cvt.c:909
#, c-format
msgid "%s is a reference, not call, to function `%E'"
msgstr "%s işlev `%E' için çağrı değil referanstır"
-#: cp/cvt.c:1061
+#: cp/cvt.c:1039
msgid "converting NULL to non-pointer type"
msgstr "NULL'dan gösterge olmayan türe dönüşüm"
-#: cp/cvt.c:1137
+#: cp/cvt.c:1115
msgid "ambiguous default type conversion from `%T'"
msgstr "%T' den öntanımlı türe dönüşüm belirsiz"
-#: cp/cvt.c:1139
+#: cp/cvt.c:1117
msgid " candidate conversions include `%D' and `%D'"
msgstr " aday dönüşümler `%D' ve `%D' içeriyor "
-#: cp/decl.c:1033 cp/decl.c:3275
+#: cp/decl.c:1010 cp/decl.c:3240
msgid "conflicts with previous declaration `%#D'"
msgstr "`%#D' önceki bildirimiyle çelişiyor"
@@ -13828,117 +14398,117 @@ msgstr "etiket `%D' tanımlanmadan kullanılmış"
msgid "label `%D' defined but not used"
msgstr "etiket `%D' tanımlanmış ama kullanılmamış"
-#: cp/decl.c:2294
+#: cp/decl.c:2240
msgid "namespace alias `%D' not allowed here, assuming `%D'"
msgstr "burada isim alanı rumuzu `%D' kullanılamaz, `%D' varsayılıyor"
-#: cp/decl.c:3078 cp/decl.c:3483
+#: cp/decl.c:3039 cp/decl.c:3448
msgid "previous declaration of `%D'"
msgstr "`%D'in önceki bildirimi"
-#: cp/decl.c:3159 cp/decl.c:3197
+#: cp/decl.c:3120 cp/decl.c:3158
msgid "shadowing %s function `%#D'"
msgstr "%s işlev `%#D' yi gölgeliyor"
-#: cp/decl.c:3168
+#: cp/decl.c:3129
msgid "library function `%#D' redeclared as non-function `%#D'"
msgstr "kitaplık işlevi `%#D' işlev olmayan `%#D' olarak yeniden bildirildi"
-#: cp/decl.c:3173
+#: cp/decl.c:3134
msgid "conflicts with built-in declaration `%#D'"
msgstr "`%#D' yerleşik bildirimiyle çelişiyor"
-#: cp/decl.c:3192 cp/decl.c:3285 cp/decl.c:3301
+#: cp/decl.c:3153 cp/decl.c:3254 cp/decl.c:3270
msgid "new declaration `%#D'"
msgstr "yeni bildirim `%#D'"
-#: cp/decl.c:3193
+#: cp/decl.c:3154
msgid "ambiguates built-in declaration `%#D'"
msgstr "`%#D' yerleÅŸik bildirimi belirsizleÅŸiyor"
-#: cp/decl.c:3249
+#: cp/decl.c:3214
msgid "`%#D' redeclared as different kind of symbol"
msgstr "`%#D' farklı bir sembol çeşidi olarak tekrar bildirilmiş"
-#: cp/decl.c:3252
+#: cp/decl.c:3217
msgid "previous declaration of `%#D'"
msgstr "`%#D'in önceki bildirimi"
-#: cp/decl.c:3274
+#: cp/decl.c:3239
msgid "declaration of template `%#D'"
msgstr "ÅŸablon bildirimi `%#D'"
-#: cp/decl.c:3286 cp/decl.c:3302
+#: cp/decl.c:3255 cp/decl.c:3271
msgid "ambiguates old declaration `%#D'"
msgstr "`%#D' eski bildirimi belirsizleÅŸiyor"
-#: cp/decl.c:3294
+#: cp/decl.c:3263
msgid "declaration of C function `%#D' conflicts with"
msgstr "C iÅŸlevi `%#D' bildirimi ile"
-#: cp/decl.c:3296
+#: cp/decl.c:3265
msgid "previous declaration `%#D' here"
msgstr "`%#D'nin önceki bildirimi ile burada çelişiyor"
-#: cp/decl.c:3312
+#: cp/decl.c:3281
msgid "conflicting types for `%#D'"
msgstr "`%#D' için çelişen türler"
-#: cp/decl.c:3313
+#: cp/decl.c:3282
msgid "previous declaration as `%#D'"
msgstr "önceki bildirim `%#D' olarak"
-#: cp/decl.c:3356
+#: cp/decl.c:3325
msgid "`%#D' previously defined here"
msgstr "`%#D' evvelce burada tanımlanmış"
-#: cp/decl.c:3357
+#: cp/decl.c:3326
msgid "`%#D' previously declared here"
msgstr "`%#D' evvelce burada bildirilmiÅŸ"
#. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:3366
+#: cp/decl.c:3335
msgid "prototype for `%#D'"
msgstr "`%#D' için prototip"
-#: cp/decl.c:3367
+#: cp/decl.c:3336
msgid "follows non-prototype definition here"
msgstr "burada prototip olmayan tanımdan sonra"
-#: cp/decl.c:3379
+#: cp/decl.c:3348
msgid "previous declaration of `%#D' with %L linkage"
msgstr "%L ilintili `%#D' önceki bildirimi"
-#: cp/decl.c:3381
+#: cp/decl.c:3350
msgid "conflicts with new declaration with %L linkage"
msgstr "%L ilintili yeni bildirim ile çelişiyor"
-#: cp/decl.c:3404 cp/decl.c:3411
+#: cp/decl.c:3373 cp/decl.c:3380
msgid "default argument given for parameter %d of `%#D'"
msgstr "`%#D' nin %d. parametresi için verilen öntanımlı argüman"
-#: cp/decl.c:3406 cp/decl.c:3413
+#: cp/decl.c:3375 cp/decl.c:3382
msgid "after previous specification in `%#D'"
msgstr "`%#D' içindeki önceki özellikten sonra"
-#: cp/decl.c:3422
+#: cp/decl.c:3391
msgid "`%#D' was used before it was declared inline"
msgstr "`%#D' inline olarak bildirilmeden önce"
-#: cp/decl.c:3424
+#: cp/decl.c:3393
msgid "previous non-inline declaration here"
msgstr "önceki inline olmayan bildirimi burada kullanılmış"
-#: cp/decl.c:3482
+#: cp/decl.c:3447
msgid "redundant redeclaration of `%D' in same scope"
msgstr "aynı bağlamda `%D'nin yeniden bildirimi anlamsız"
-#: cp/decl.c:3566
+#: cp/decl.c:3528
#, c-format
msgid "declaration of `%F' throws different exceptions"
msgstr "`%F' bildirimi farklı olağandışılıkları yakalıyor"
-#: cp/decl.c:3568
+#: cp/decl.c:3530
#, c-format
msgid "than previous declaration `%F'"
msgstr "`%F'in önceki bildiriminden"
@@ -13951,15 +14521,15 @@ msgstr "`%F'in önceki bildiriminden"
#. that specialization that would cause an implicit
#. instantiation to take place, in every translation unit in
#. which such a use occurs.
-#: cp/decl.c:3701
+#: cp/decl.c:3670
msgid "explicit specialization of %D after first use"
msgstr "ilk kullanımından sonra %D'nin doğrudan özelleştirilmesi"
-#: cp/decl.c:3946
+#: cp/decl.c:3926
msgid "`%#D' used prior to declaration"
msgstr "`%#D' bildirim öncesi kullanılmış"
-#: cp/decl.c:3977
+#: cp/decl.c:3957
msgid "redeclaration of `wchar_t' as `%T'"
msgstr "`wchar_t' nin `%T' olarak yeniden bildirimi"
@@ -13969,35 +14539,35 @@ msgstr "`wchar_t' nin `%T' olarak yeniden bildirimi"
#. [basic.start.main]
#.
#. This function shall not be overloaded.
-#: cp/decl.c:4005
+#: cp/decl.c:3985
msgid "invalid redeclaration of `%D'"
msgstr "`%D'in"
-#: cp/decl.c:4006
+#: cp/decl.c:3986
msgid "as `%D'"
msgstr "`%D' olarak yeniden bildirimi geçersiz"
-#: cp/decl.c:4096
+#: cp/decl.c:4076
msgid "previous external decl of `%#D'"
msgstr "`%D'in önceki dış bildirimi"
-#: cp/decl.c:4137
+#: cp/decl.c:4117
msgid "`%D' was previously implicitly declared to return `int'"
msgstr "`%D' önceden dolaylı olarak dönüş değerine `int' bildirilmiş"
-#: cp/decl.c:4197
+#: cp/decl.c:4177
msgid "extern declaration of `%#D' doesn't match"
msgstr "`%#D' için extern bildirim uyumsuz"
-#: cp/decl.c:4198
+#: cp/decl.c:4178
msgid "global declaration `%#D'"
msgstr "`%#D' genel bildirimi"
-#: cp/decl.c:4229
+#: cp/decl.c:4211
msgid "declaration of `%#D' shadows a parameter"
msgstr "`%#D' genel bildirimi bir parametreyi gölgeliyor"
-#: cp/decl.c:4249
+#: cp/decl.c:4231
#, c-format
msgid "declaration of `%s' shadows a member of `this'"
msgstr "`%s' bildirimi bir `this' üyesini gölgeliyor"
@@ -14022,786 +14592,842 @@ msgstr "işlev bildirimi `%#D' ile çelişiyor"
msgid "implicit declaration of function `%#D'"
msgstr "işlev `%#D' nin örtük bildirimi"
-#: cp/decl.c:4876
+#: cp/decl.c:4878
#, c-format
msgid "label `%s' referenced outside of any function"
msgstr "`%s' etiketi her işlevin dışına referanslı"
-#: cp/decl.c:4979 cp/decl.c:5003 cp/decl.c:5096
+#: cp/decl.c:4981 cp/decl.c:5005 cp/decl.c:5098
msgid "jump to label `%D'"
msgstr "etiket `%D' ye sıçrama"
-#: cp/decl.c:4981 cp/decl.c:5005
+#: cp/decl.c:4983 cp/decl.c:5007
msgid "jump to case label"
msgstr "case etiketine jump"
-#: cp/decl.c:4989
+#: cp/decl.c:4991
msgid " crosses initialization of `%#D'"
msgstr " `%#D' ilklendirmesi çaprazlanıyor"
-#: cp/decl.c:4992 cp/decl.c:5112
+#: cp/decl.c:4994 cp/decl.c:5114
msgid " enters scope of non-POD `%#D'"
msgstr " POD olmayan `%#D' bağlamına giriyor"
-#: cp/decl.c:5012 cp/decl.c:5116
+#: cp/decl.c:5014 cp/decl.c:5118
msgid " enters try block"
msgstr " blok denemesine giriliyor"
#. Can't skip init of __exception_info.
-#: cp/decl.c:5014 cp/decl.c:5108 cp/decl.c:5118
+#: cp/decl.c:5016 cp/decl.c:5110 cp/decl.c:5120
msgid " enters catch block"
msgstr " tuzak bloÄŸu giriyor"
-#: cp/decl.c:5097
+#: cp/decl.c:5099
msgid " from here"
msgstr " buradan"
-#: cp/decl.c:5110
+#: cp/decl.c:5112
msgid " skips initialization of `%#D'"
msgstr " `%#D' ilklendirmesi atlanyor"
-#: cp/decl.c:5145
+#: cp/decl.c:5149
msgid "label named wchar_t"
msgstr "wchar_t isimli etiket"
-#: cp/decl.c:5149
+#: cp/decl.c:5153
msgid "duplicate label `%D'"
msgstr "yinlenmiÅŸ etiket `%D'"
-#: cp/decl.c:5234
+#: cp/decl.c:5239
#, c-format
msgid "case label `%E' not within a switch statement"
msgstr "case etiketi `%E' bir switch deyimi içinde değil"
#. Definition isn't the kind we were looking for.
-#: cp/decl.c:5411 cp/decl.c:5430
+#: cp/decl.c:5424 cp/decl.c:5443
msgid "`%#D' redeclared as %C"
msgstr "`%#D' %C olarak yeniden bildirilmiÅŸ"
#. This happens for A::B where B is a template, and there are no
#. template arguments.
-#: cp/decl.c:5518 cp/typeck.c:1980
+#: cp/decl.c:5536 cp/typeck.c:2071 cp/typeck.c:2226
msgid "invalid use of `%D'"
msgstr "`%D' kullanımı geçersiz"
-#: cp/decl.c:5559
+#: cp/decl.c:5577
msgid "`%D::%D' is not a template"
msgstr "`%D::%D' bir ÅŸablon deÄŸil"
-#: cp/decl.c:5576
+#: cp/decl.c:5594
msgid "`%D' undeclared in namespace `%D'"
msgstr "`%D' isim alanı `%D' içinde bildirimsiz"
-#: cp/decl.c:5713
+#: cp/decl.c:5727
msgid "`%D' used without template parameters"
msgstr "`%D' şablon parametreleri olmaksızın kullanılmış"
-#: cp/decl.c:5724 cp/decl.c:5740 cp/decl.c:5828
+#: cp/decl.c:5738 cp/decl.c:5754 cp/decl.c:5864
msgid "no class template named `%#T' in `%#T'"
msgstr "`%#T' isimli sınıf şablonu `%#T' içinde yok"
-#: cp/decl.c:5758 cp/decl.c:5788
+#: cp/decl.c:5780 cp/decl.c:5790 cp/decl.c:5825
msgid "no type named `%#T' in `%#T'"
msgstr "`%#T' içindeki `%#T' ismindeki tür bilinmiyor"
-#: cp/decl.c:6011
+#: cp/decl.c:6054
msgid "lookup of `%D' finds `%#D'"
msgstr "`%D' araması `%#D' buluyor"
-#: cp/decl.c:6013
+#: cp/decl.c:6056
msgid " instead of `%D' from dependent base class"
msgstr " bağımlı taban sınıftan `%D' yerine"
-#: cp/decl.c:6015
+#: cp/decl.c:6058
msgid " (use `typename %T::%D' if that's what you meant)"
msgstr " (eğer bu anlamda kullandıysanız `typename %T::%D' kullanın)"
-#: cp/decl.c:6188
+#: cp/decl.c:6089
+msgid "name lookup of `%D' changed"
+msgstr "`%D' isim araması değişti"
+
+#: cp/decl.c:6091
+msgid " matches this `%D' under ISO standard rules"
+msgstr " bu `%D' ISO standardının kuralları altında eşleşiyor"
+
+#: cp/decl.c:6093
+msgid " matches this `%D' under old rules"
+msgstr " bu `%D' eski kurallar altında eşleşiyor"
+
+#: cp/decl.c:6107 cp/decl.c:6114
+msgid "name lookup of `%D' changed for new ISO `for' scoping"
+msgstr "yeni ISO `for' etki alanında `%D' isim araması değişti"
+
+#: cp/decl.c:6109
+msgid " cannot use obsolete binding at `%D' because it has a destructor"
+msgstr " `%D' deki modası geçmiş bağlantı bir yıkıcıya sahip olduğundan kullanılamaz"
+
+#: cp/decl.c:6116
+msgid " using obsolete binding at `%D'"
+msgstr " `%D' deki modası geçmiş bağlantı kullanılıyor"
+
+#: cp/decl.c:6305
msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
msgstr "`%D' nin `%#T' (`%#D') bağlamındaki araması şu anki bağlam (`%#D') içindeki arama ile uyuşmuyor"
-#: cp/decl.c:7033
+#: cp/decl.c:7128
msgid "an anonymous union cannot have function members"
msgstr "bir anonim birleşik yapı işlev üyeler barındıramaz"
-#: cp/decl.c:7050
+#: cp/decl.c:7145
msgid "member %#D' with constructor not allowed in anonymous aggregate"
msgstr "kuruculu üye %#D' anonim kümeleme içinde kullanılamaz"
-#: cp/decl.c:7053
+#: cp/decl.c:7148
msgid "member %#D' with destructor not allowed in anonymous aggregate"
msgstr "yıkıcılı üye %#D' anonim kümeleme içinde kullanılamaz"
-#: cp/decl.c:7056
+#: cp/decl.c:7151
msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
-msgstr "kopya atama işlemimli üye %#D' anonim kümeleme içinde kullanılamaz"
+msgstr "kopya atama işleçli üye %#D' anonim kümeleme içinde kullanılamaz"
-#: cp/decl.c:7094
+#: cp/decl.c:7189
msgid "redeclaration of C++ built-in type `%T'"
msgstr "C++ yerleşik türü `%T' için yeniden bildirim"
-#: cp/decl.c:7129
+#: cp/decl.c:7225
msgid "multiple types in one declaration"
msgstr "bir bildirimde birden fazla tür bidirilmiş"
-#: cp/decl.c:7132
-msgid "declaration does not declare anything"
-msgstr "bildirim hiçbir şey bildirmiyor"
-
-#: cp/decl.c:7156
+#: cp/decl.c:7252
msgid "missing type-name in typedef-declaration"
msgstr "typedef bildiriminde tür ismi eksik"
-#: cp/decl.c:7163
+#: cp/decl.c:7259
msgid "ISO C++ prohibits anonymous structs"
msgstr "ISO C++ anonim yapıları (struct) yasaklar"
-#: cp/decl.c:7170
+#: cp/decl.c:7266
msgid "`%D' can only be specified for functions"
msgstr "`%D' sadece işlevler için belirtilebilir"
-#: cp/decl.c:7172
+#: cp/decl.c:7268
msgid "`%D' can only be specified inside a class"
msgstr "`%D' sadece bir sınıf içinde belirtilebilir"
-#: cp/decl.c:7174
+#: cp/decl.c:7270
msgid "`%D' can only be specified for constructors"
msgstr "`%D' sadece kurucular için belirtilebilir"
-#: cp/decl.c:7177
+#: cp/decl.c:7273
msgid "`%D' can only be specified for objects and functions"
msgstr "`%D' sadece işlevler ve nesneler için belirtilebilir"
-#: cp/decl.c:7326
-msgid "typedef `%D' is initialized"
-msgstr "typedef `%D' ilklendirilmiÅŸ"
+#: cp/decl.c:7415 cp/decl2.c:936
+msgid "typedef `%D' is initialized (use __typeof__ instead)"
+msgstr "typedef `%D' ilklendirilmiş (yerine __typeof__ kullanın)"
-#: cp/decl.c:7332
+#: cp/decl.c:7420
msgid "function `%#D' is initialized like a variable"
msgstr "`%D' iÅŸlevi bir deÄŸiÅŸken gibi ilklendirilmiÅŸ"
-#: cp/decl.c:7344
+#: cp/decl.c:7432
msgid "declaration of `%#D' has `extern' and is initialized"
msgstr "`%#D' hem `extern' olarak bildirilmiÅŸ hem de ilklendirilmiÅŸ"
-#: cp/decl.c:7378
+#: cp/decl.c:7466
msgid "`%#D' is not a static member of `%#T'"
msgstr "`%#D' `%#T'nin bir static üyesi değildir"
-#: cp/decl.c:7383
+#: cp/decl.c:7471
msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
msgstr "ISO C++ `%T::%D' nin `%T::%D' olarak tanımlanmasına izin vermez"
-#: cp/decl.c:7394
+#: cp/decl.c:7482
msgid "duplicate initialization of %D"
msgstr "%D nin yinelenmiÅŸ ilklendirmesi"
-#: cp/decl.c:7423
+#: cp/decl.c:7511
msgid "declaration of `%#D' outside of class is not definition"
msgstr "sınıf dışında `%#D' bildirimi bir tanımlama değil"
-#: cp/decl.c:7471
+#: cp/decl.c:7561
msgid "variable `%#D' has initializer but incomplete type"
msgstr "`%#D' değişkeni ilklendirilmiş ama içi boş türde"
-#: cp/decl.c:7479 cp/decl.c:7830
+#: cp/decl.c:7569 cp/decl.c:8123
msgid "elements of array `%#D' have incomplete type"
msgstr "`%#D' dizisinin elemanları içi boş türde"
-#: cp/decl.c:7495
+#: cp/decl.c:7585
msgid "aggregate `%#D' has incomplete type and cannot be defined"
msgstr "küme `%#D' içi boş türde ve tanımlı olamaz"
-#: cp/decl.c:7534
+#: cp/decl.c:7624
msgid "`%D' declared as reference but not initialized"
msgstr "`%D' referans olarak bildirilmiÅŸ ama ilklendirilmemiÅŸ"
-#: cp/decl.c:7543
+#: cp/decl.c:7633
msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
msgstr "ISO C++ referans`%D' ilklendiren ilklendirici listesi kullanımına izin vermez"
-#: cp/decl.c:7576
+#: cp/decl.c:7663
msgid "cannot initialize `%T' from `%T'"
msgstr "`%T' `%T' den ilklendirilemez"
-#: cp/decl.c:7637
+#: cp/decl.c:7697
msgid "initializer fails to determine size of `%D'"
msgstr "ilklendirici `%D' nin boyutunu saptayamıyor"
-#: cp/decl.c:7642
+#: cp/decl.c:7702
msgid "array size missing in `%D'"
msgstr "`%D' de dizi boyutu eksik"
-#: cp/decl.c:7654
+#: cp/decl.c:7714
msgid "zero-size array `%D'"
msgstr "sıfır boyutlu dizi `%D'"
#. 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:7687
+#: cp/decl.c:7752
msgid "storage size of `%D' isn't known"
msgstr "`%D' nin saklama uzunluÄŸu bilinmiyor"
-#: cp/decl.c:7709
+#: cp/decl.c:7774
msgid "storage size of `%D' isn't constant"
msgstr "`%D' nin saklama geniÅŸliÄŸi sabit deÄŸil"
-#: cp/decl.c:7760
+#: cp/decl.c:7830
msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
msgstr "özür: özümleme işlevi static verisi `%#D' nin cevabı yanlış (sizi çoklu kopyalara sürükleyecek)"
-#: cp/decl.c:7761
+#: cp/decl.c:7831
msgid " you can work around this by removing the initializer"
msgstr " bunu ilklendiricileri kaldırarak aşabilirsiniz"
-#: cp/decl.c:7789
+#: cp/decl.c:7857
msgid "uninitialized const `%D'"
msgstr "ilklendirilmemiÅŸ sabit `%D'"
-#: cp/decl.c:7824
+#: cp/decl.c:7941
+msgid "brace-enclosed initializer used to initialize `%T'"
+msgstr "`%T' ilklendirmesinde ilklendirici {} içinde kullanılmış"
+
+#: cp/decl.c:8005
+msgid "initializer for `%T' must be brace-enclosed"
+msgstr "`%T' ilklendiricisi {} içinde olmalı"
+
+#: cp/decl.c:8020
+msgid "ISO C++ does not allow designated initializers"
+msgstr "ISO C++ tasarlanmış ilkendiricilere izin vermez"
+
+#: cp/decl.c:8024
+msgid "`%T' has no non-static data member named `%D'"
+msgstr "`%T' `%D' isminde bir statik olmayan üye içermiyor"
+
+#: cp/decl.c:8081
+msgid "too many initializers for `%T'"
+msgstr "`%T' için ilklendirici sayısı çok fazla"
+
+#: cp/decl.c:8117
msgid "variable-sized object `%D' may not be initialized"
msgstr "deÄŸiÅŸken-uzunluklu nesne `%D' ilklendirilmiÅŸ olmayabilir"
-#: cp/decl.c:7835 cp/typeck2.c:201
+#: cp/decl.c:8128
msgid "`%D' has incomplete type"
msgstr "`%s' içi boş türde"
-#: cp/decl.c:7867
+#: cp/decl.c:8177
msgid "`%D' must be initialized by constructor, not by `{...}'"
msgstr "`%D'bir kurucu ile ilklendirilmeli, `{...}' ile deÄŸil"
-#: cp/decl.c:7897
+#: cp/decl.c:8218
msgid "structure `%D' with uninitialized const members"
msgstr "ilklendirmesiz sabit üyelerle `%D' yapısı"
-#: cp/decl.c:7899
+#: cp/decl.c:8220
msgid "structure `%D' with uninitialized reference members"
msgstr "ilklendirmesiz referans üyelerle `%D' yapısı"
-#: cp/decl.c:8166
+#: cp/decl.c:8467
msgid "assignment (not initialization) in declaration"
msgstr "bildirim içinde atama (ilklendirme değil)"
-#: cp/decl.c:8178
+#: cp/decl.c:8479
msgid "cannot initialize `%D' to namespace `%D'"
msgstr "`%D' isim alanı `%D' olarak ilklendirilemez"
-#: cp/decl.c:8235
+#: cp/decl.c:8530
msgid "shadowing previous type declaration of `%#D'"
msgstr "`%#D'in önceki gölgeleyen tür bildirimi"
-#: cp/decl.c:8631
+#: cp/decl.c:8576
+msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+msgstr "`%D' thread-local olamaz çünkü POD olmayan %T' türünde"
+
+#: cp/decl.c:8591
+msgid "`%D' is thread-local and so cannot be dynamically initialized"
+msgstr "`%D' thread-local olduÄŸundan dinamik olarak ilklendirilemez"
+
+#: cp/decl.c:8986 cp/init.c:556
msgid "multiple initializations given for `%D'"
msgstr "`%D' için çoklu ilklendiriciler belirtilmiş"
-#: cp/decl.c:8731
+#: cp/decl.c:9078
msgid "invalid catch parameter"
msgstr "yakalama parametresi geçersiz"
-#: cp/decl.c:8849
+#: cp/decl.c:9196
msgid "destructor for alien class `%T' cannot be a member"
msgstr "yabancı sınıf `%T' için yıkıcı, bir üye olamaz"
-#: cp/decl.c:8852
+#: cp/decl.c:9199
msgid "constructor for alien class `%T' cannot be a member"
msgstr "yabancı sınıf `%T' için kurucu, bir üye olamaz"
-#: cp/decl.c:8871
+#: cp/decl.c:9218
msgid "`%D' declared as a `virtual' %s"
msgstr "`%D' bir `virtual' %s olarak bildirilmiÅŸ"
-#: cp/decl.c:8873
+#: cp/decl.c:9220
msgid "`%D' declared as an `inline' %s"
msgstr "`%D' alanı bir `inline' %s olarak bildirilmiş"
-#: cp/decl.c:8875
+#: cp/decl.c:9222
msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
msgstr "%s bildirimindeki `const' ve `volatile' işlev belirteçleri `%D' için geçersiz"
-#: cp/decl.c:8878
+#: cp/decl.c:9225
msgid "`%D' declared as a friend"
msgstr "`%D' bir kardeÅŸ olarak bildirilmiÅŸ"
-#: cp/decl.c:8884
+#: cp/decl.c:9231
msgid "`%D' declared with an exception specification"
msgstr "`%D' bir olağandışılık özelliğiyle bildirilmiş"
-#: cp/decl.c:8959
+#: cp/decl.c:9306
msgid "cannot declare `::main' to be a template"
msgstr "`::main' bir ÅŸablon olarak bildirilemez"
-#: cp/decl.c:8961
+#: cp/decl.c:9308
msgid "cannot declare `::main' to be inline"
msgstr "`::main' inline olarak bildirilemez"
-#: cp/decl.c:8963
+#: cp/decl.c:9310
msgid "cannot declare `::main' to be static"
msgstr "::main' «static» olarak bildirilemez"
-#: cp/decl.c:8966
+#: cp/decl.c:9313
msgid "`main' must return `int'"
msgstr "`main', `int' döndürmeli"
-#: cp/decl.c:8994
+#: cp/decl.c:9341
msgid "non-local function `%#D' uses anonymous type"
msgstr "yerel olmayan işlev `%#D' anonim tür kullanıyor"
-#: cp/decl.c:8997
+#: cp/decl.c:9344
msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
msgstr "`%#D' niteliksiz türe başvurmuyor, bu durumda ilintileme için kullanılmamıştır"
-#: cp/decl.c:9003
+#: cp/decl.c:9350
msgid "non-local function `%#D' uses local type `%T'"
msgstr "yerel olmayan işlev `%#D' yerel tür `%T' kullanıyor"
-#: cp/decl.c:9026
+#: cp/decl.c:9379
msgid "%smember function `%D' cannot have `%T' method qualifier"
msgstr "%smember function `%D', `%T' yöntem niteleyicisini içeremez"
-#: cp/decl.c:9050
+#: cp/decl.c:9403
msgid "defining explicit specialization `%D' in friend declaration"
msgstr "kardeş bildirimlerde doğrudan özelleştirme `%D' tanımlanıyor"
#. Something like `template <class T> friend void f<T>()'.
-#: cp/decl.c:9060
+#: cp/decl.c:9413
msgid "invalid use of template-id `%D' in declaration of primary template"
msgstr "birincil şablon bildiriminde şablon kimliği `%D' kullanımı geçersiz"
-#: cp/decl.c:9088
+#: cp/decl.c:9441
msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
msgstr "kardeş şablon özelleştirmesi `%D' bildiriminde öntanımlı argümalar kullanılamaz"
-#: cp/decl.c:9095
+#: cp/decl.c:9448
msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
msgstr "kardeş şablon özelleştirmesi `%D' bildiriminde `inline' kullanılamaz"
-#: cp/decl.c:9157
+#: cp/decl.c:9510
msgid "definition of implicitly-declared `%D'"
msgstr "dolaylı bildirimli `%D' tanımı"
-#: cp/decl.c:9169 cp/decl2.c:1367
+#: cp/decl.c:9522 cp/decl2.c:785
msgid "no `%#D' member function declared in class `%T'"
msgstr "sınıf `%T' içinde bildirilmiş `%#D' diye bir üye işlev yok"
-#: cp/decl.c:9288
+#: cp/decl.c:9655
msgid "non-local variable `%#D' uses local type `%T'"
msgstr "yerel olmayan değişken`%#D' yerel tür `%T' kullanıyor"
-#: cp/decl.c:9378
+#: cp/decl.c:9752
msgid "invalid in-class initialization of static data member of non-integral type `%T'"
msgstr "tümleyen olmayan `%T türündeki statik veri üyesinin sınıf içi ilklendirmesi geçersiz"
-#: cp/decl.c:9387
+#: cp/decl.c:9761
msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
msgstr "ISO C++ sabit olmayan statik üye `%D' nin sınıf içi ilklendirmesine izin vermez"
-#: cp/decl.c:9390
+#: cp/decl.c:9764
msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
msgstr "ISO C++ tümleyen olmayan `%T türündeki üye sabiti `%D' nin ilklendirilmesine izin vermez"
-#: cp/decl.c:9440
+#: cp/decl.c:9814
msgid "size of array `%D' has non-integer type"
msgstr "`%D' dizisinin boyutu tamsayı değil"
-#: cp/decl.c:9442
+#: cp/decl.c:9816
msgid "size of array has non-integer type"
msgstr "dizi boyutu tamsayı değil"
-#: cp/decl.c:9462
+#: cp/decl.c:9836
msgid "size of array `%D' is negative"
msgstr "`%D' dizisinin boyutu negatif"
-#: cp/decl.c:9464
+#: cp/decl.c:9838
msgid "size of array is negative"
msgstr "dizi boyutu negatif"
-#: cp/decl.c:9473
+#: cp/decl.c:9847
msgid "ISO C++ forbids zero-size array `%D'"
msgstr "ISO C++ da sıfır boyutlu dizi `%D' yasaktır"
-#: cp/decl.c:9475
+#: cp/decl.c:9849
msgid "ISO C++ forbids zero-size array"
msgstr "ISO C++ da sıfır boyutlu dizi yasaktır"
-#: cp/decl.c:9482
+#: cp/decl.c:9856
msgid "size of array `%D' is not an integral constant-expression"
msgstr "`%D' dizisinin boyutu bir tümleyen sabitli ifade değil"
-#: cp/decl.c:9485
+#: cp/decl.c:9859
msgid "size of array is not an integral constant-expression"
msgstr "dizi boyutu bir tümleyen sabitli ifade değil"
-#: cp/decl.c:9503
+#: cp/decl.c:9877
msgid "ISO C++ forbids variable-size array `%D'"
msgstr "ISO C++ da değişken boyutlu dizi `%D' yasaktır"
-#: cp/decl.c:9506
+#: cp/decl.c:9880
msgid "ISO C++ forbids variable-size array"
msgstr "ISO C++ da değişken boyutlu dizi yasaktır"
-#: cp/decl.c:9517
+#: cp/decl.c:9891
msgid "overflow in array dimension"
msgstr "dizi boyutunda taÅŸma"
-#: cp/decl.c:9576
+#: cp/decl.c:9950
msgid "declaration of `%D' as %s"
msgstr "`%D' %s olarak bildirilmiÅŸ"
-#: cp/decl.c:9578
+#: cp/decl.c:9952
#, c-format
msgid "creating %s"
msgstr "%s oluÅŸturuluyor"
-#: cp/decl.c:9590
+#: cp/decl.c:9964
msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgstr "çok boyutlu dizi olarak `%D' bildiriminde ilki dışında tüm boyutlar sınırlanmış olmalıdır"
-#: cp/decl.c:9593
+#: cp/decl.c:9967
msgid "multidimensional array must have bounds for all dimensions except the first"
msgstr "çok boyutlu dizi bildiriminde ilki dışında tüm boyutlar sınırlanmış olmalıdır"
-#: cp/decl.c:9622
+#: cp/decl.c:9996
msgid "return type specification for constructor invalid"
msgstr "kurucu için dönen değer tür özelliği geçersiz"
-#: cp/decl.c:9629
+#: cp/decl.c:10003
msgid "return type specification for destructor invalid"
msgstr "yıkıcı için dönen değer tür özelliği geçersiz"
-#: cp/decl.c:9635
+#: cp/decl.c:10009
msgid "operator `%T' declared to return `%T'"
-msgstr "işlemimi `%T' dönüş `%T' ye bildirimli"
+msgstr "işleç `%T' dönüş `%T' ye bildirimli"
-#: cp/decl.c:9637
+#: cp/decl.c:10011
msgid "return type specified for `operator %T'"
msgstr "`operator %T' için dönüş türü belirtilmiş"
-#: cp/decl.c:9805
+#: cp/decl.c:10179
msgid "destructors must be member functions"
msgstr "yıkıcılar üye işlevler olmalıdır"
-#: cp/decl.c:9824
+#: cp/decl.c:10198
msgid "destructor `%T' must match class name `%T'"
msgstr "yıkıcı `%T' sınıf ismi `%T' ile eşleşmeli"
-#: cp/decl.c:9874
+#: cp/decl.c:10227
+msgid "variable declaration is not allowed here"
+msgstr "deÄŸiÅŸken birdirimine burada izin verilmez"
+
+#: cp/decl.c:10254
msgid "invalid declarator"
msgstr "bildirim geçersiz"
-#: cp/decl.c:9927
+#: cp/decl.c:10305
msgid "declarator-id missing; using reserved word `%D'"
msgstr "bildirmci kimliği eksik; saklı yedek sözcük `%D' kullanılıyor"
-#: cp/decl.c:9984
+#: cp/decl.c:10362
msgid "type `%T' is not derived from type `%T'"
msgstr "tür `%T' `%T' türünden türetilmemiş"
#. Parse error puts this typespec where
#. a declarator should go.
-#: cp/decl.c:10030
+#: cp/decl.c:10414
msgid "`%T' specified as declarator-id"
msgstr "`%T' bildirici kimliÄŸi olarak belirtilmiÅŸ"
-#: cp/decl.c:10032
+#: cp/decl.c:10416
msgid " perhaps you want `%T' for a constructor"
msgstr " ihtimal ki bir kurucu için `%T' istiyorsunuz"
-#: cp/decl.c:10046
-msgid "`%D' as declarator"
-msgstr "bildirici olarak `%D'"
+#. Sometimes, we see a template-name used as part of a
+#. decl-specifier like in
+#. std::allocator alloc;
+#. Handle that gracefully.
+#: cp/decl.c:10438
+#, c-format
+msgid "invalid use of template-name '%E' in a declarator"
+msgstr "bir bildirim içinde şablon ismi `%E' kullanımı geçersiz"
-#: cp/decl.c:10061
+#: cp/decl.c:10458
msgid "declaration of `%D' as non-function"
msgstr "`%D' nin iÅŸlev olmayan olarak bildirimi"
-#: cp/decl.c:10138
+#: cp/decl.c:10535
msgid "`bool' is now a keyword"
msgstr "bool' şimdi bir anahtar sözcüktür"
-#: cp/decl.c:10140
+#: cp/decl.c:10537
msgid "extraneous `%T' ignored"
msgstr "fazlalık `%T' yoksayıldı"
-#: cp/decl.c:10156 cp/decl.c:10189
+#: cp/decl.c:10553 cp/decl.c:10598
msgid "multiple declarations `%T' and `%T'"
msgstr "`%T' ve `%T' çoklu bildirimleri"
-#: cp/decl.c:10169
+#: cp/decl.c:10566
msgid "ISO C++ does not support `long long'"
msgstr "ISO C++, `long long' desteklemiyor"
-#: cp/decl.c:10262 cp/decl.c:10265
+#: cp/decl.c:10671 cp/decl.c:10674
#, c-format
msgid "ISO C++ forbids declaration of `%s' with no type"
msgstr "ISO C++ da türsüz `%s' bildirimine izin verilmez"
#. The implicit typename extension is deprecated and will be
#. removed. Warn about its use now.
-#: cp/decl.c:10275
+#: cp/decl.c:10684
msgid "`%T' is implicitly a typename"
msgstr "`%T' dolaylı bir tür ismidir"
-#: cp/decl.c:10311
+#: cp/decl.c:10720
#, c-format
msgid "short, signed or unsigned invalid for `%s'"
msgstr "`%s' için 'short', 'signed' veya 'unsigned' geçersiz"
-#: cp/decl.c:10316
+#: cp/decl.c:10725
#, c-format
msgid "long and short specified together for `%s'"
msgstr "`%s' için 'long' ve 'short' birlikte belirtilmiş"
-#: cp/decl.c:10327
+#: cp/decl.c:10736
#, c-format
msgid "signed and unsigned given together for `%s'"
msgstr "`%s' için 'signed' ve 'unsigned' birlikte verilmiş"
-#: cp/decl.c:10436
+#: cp/decl.c:10845
msgid "qualifiers are not allowed on declaration of `operator %T'"
msgstr "`operator %T' bildiriminde niteleyicilere izin verilmez"
-#: cp/decl.c:10458
+#: cp/decl.c:10867
msgid "member `%D' cannot be declared both virtual and static"
msgstr "üye `%D', hem virtual hem de static olarak bildirilemez"
-#: cp/decl.c:10467
+#: cp/decl.c:10876
msgid "`%T::%D' is not a valid declarator"
msgstr "`%T::%D' geçerli bir bildirici değil"
-#: cp/decl.c:10478
+#: cp/decl.c:10888
msgid "storage class specifiers invalid in parameter declarations"
msgstr "saklatım öbeği belirteçleri parametre bildirimi içinde geçersiz"
-#: cp/decl.c:10482
+#: cp/decl.c:10892
msgid "typedef declaration invalid in parameter declaration"
msgstr "«typedef» bildirimi parametre bildirimi içinde geçersiz"
-#: cp/decl.c:10495
+#: cp/decl.c:10905
msgid "virtual outside class declaration"
msgstr "sanal dış öbek bildirimi"
-#: cp/decl.c:10549
+#: cp/decl.c:10966
#, c-format
msgid "storage class specified for %s `%s'"
msgstr "%s için saklatım öbeği `%s' belirtilmiş"
-#: cp/decl.c:10587
+#: cp/decl.c:11013
msgid "storage class specifiers invalid in friend function declarations"
msgstr "saklatım öbeği belirteçleri dost işlev bildirimleri içinde geçersiz"
-#: cp/decl.c:10691
-msgid "size of member `%D' is not constant"
-msgstr "üye `%D' boyutu bir sabit değil"
-
-#: cp/decl.c:10770
+#: cp/decl.c:11183
msgid "destructor cannot be static member function"
msgstr "yıkıcı, statik üye işlevi olamaz"
-#: cp/decl.c:10773
+#: cp/decl.c:11186
#, c-format
msgid "destructors may not be `%s'"
msgstr "yıkıcılar `%s' olmayabilir"
-#: cp/decl.c:10794
+#: cp/decl.c:11207
msgid "constructor cannot be static member function"
msgstr "kurucu, statik üye işlevi olamaz"
-#: cp/decl.c:10797
+#: cp/decl.c:11210
msgid "constructors cannot be declared virtual"
msgstr "kurucular virtual olarak bildirilemez"
-#: cp/decl.c:10802
+#: cp/decl.c:11215
#, c-format
msgid "constructors may not be `%s'"
msgstr "kurucular `%s' olmayabilir"
-#: cp/decl.c:10812
+#: cp/decl.c:11225
msgid "return value type specifier for constructor ignored"
msgstr "kurucu için dönen değer tür belirteci yoksayıldı"
-#: cp/decl.c:10831
+#: cp/decl.c:11244
#, c-format
msgid "can't initialize friend function `%s'"
msgstr "kardeÅŸ iÅŸlev `%s' ilklendirilemiyor"
#. Cannot be both friend and virtual.
-#: cp/decl.c:10835
+#: cp/decl.c:11248
msgid "virtual functions cannot be friends"
msgstr "sanal iÅŸlevler kardeÅŸ iÅŸlev olamaz"
-#: cp/decl.c:10840
+#: cp/decl.c:11253
msgid "friend declaration not in class definition"
msgstr "kardeş bildirimi sınıf bildiriminde değil"
-#: cp/decl.c:10842
+#: cp/decl.c:11255
#, c-format
msgid "can't define friend function `%s' in a local class definition"
msgstr "yerel sınıf tanımı içinde kardeş işlev `%s' tanımlanamaz"
-#: cp/decl.c:10866
+#: cp/decl.c:11279
msgid "destructors may not have parameters"
msgstr "yıkıcılar parametre almaz"
-#: cp/decl.c:10896
-#, c-format
-msgid "cannot declare %s to references"
-msgstr "%s referanslara bildirilemez"
+#: cp/decl.c:11310 cp/decl.c:11317
+msgid "cannot declare reference to `%#T'"
+msgstr "`%#T' ye referans bildirilemez"
-#: cp/decl.c:10907
+#: cp/decl.c:11311
+msgid "cannot declare pointer to `%#T'"
+msgstr "`%#T' ye gösterge bildirilemez"
+
+#: cp/decl.c:11316
msgid "cannot declare pointer to `%#T' member"
msgstr "`%#T' üyeye gösterge bildirilemez"
-#: cp/decl.c:10922
-msgid "invalid type: `void &'"
-msgstr "geçersiz tür: `void &'"
-
-#: cp/decl.c:11084
+#: cp/decl.c:11492
msgid "extra qualification `%T::' on member `%s' ignored"
msgstr "fazladan niteleme `%T::' üye `%s' üzerinde yoksayıldı"
-#: cp/decl.c:11094
+#: cp/decl.c:11502
msgid "cannot declare member function `%T::%s' within `%T'"
msgstr "üye işlev `%T::%s' `%T' içinde bildirilemez"
-#: cp/decl.c:11109
+#: cp/decl.c:11517
msgid "cannot declare member `%T::%s' within `%T'"
msgstr "üye `%T::%s' `%T' içinde bildirilemez"
+#: cp/decl.c:11596
+msgid "data member may not have variably modified type `%T'"
+msgstr "veri üyesi değişkene göre değişen `%T' türünde olamaz"
+
+#: cp/decl.c:11598
+msgid "parameter may not have variably modified type `%T'"
+msgstr "parametre değişkene göre değişen `%T' türünde olamaz"
+
#. [dcl.fct.spec] The explicit specifier shall only be used in
#. declarations of constructors within a class definition.
-#: cp/decl.c:11189
+#: cp/decl.c:11606
msgid "only declarations of constructors can be `explicit'"
msgstr "sadece kurucuların bildirimleri `explicit' olabilir"
-#: cp/decl.c:11197
+#: cp/decl.c:11614
#, c-format
msgid "non-member `%s' cannot be declared `mutable'"
msgstr "üye olmayan `%s', `mutable' olarak bildirilemez"
-#: cp/decl.c:11202
+#: cp/decl.c:11619
#, c-format
msgid "non-object member `%s' cannot be declared `mutable'"
msgstr "nesne olmayan `%s' `mutable' olarak bildirilemez"
-#: cp/decl.c:11208
+#: cp/decl.c:11625
#, c-format
msgid "function `%s' cannot be declared `mutable'"
msgstr "iÅŸlev `%s' `mutable' olarak bildirilemez"
-#: cp/decl.c:11213
+#: cp/decl.c:11630
#, c-format
msgid "static `%s' cannot be declared `mutable'"
msgstr "static `%s' `mutable' olarak bildirilemez"
-#: cp/decl.c:11218
+#: cp/decl.c:11635
#, c-format
msgid "const `%s' cannot be declared `mutable'"
msgstr "const `%s' `mutable' olarak bildirilemez"
-#: cp/decl.c:11231
+#: cp/decl.c:11648
msgid "template-id `%D' used as a declarator"
msgstr "şablon kimliği `%D' bir bildirici olarak kullanılmış"
-#: cp/decl.c:11252
+#: cp/decl.c:11669
msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
msgstr "ISO C++ zarflayan sınıf ile aynı isimde yuvalanmış tür `%D' ye izin vermez"
-#: cp/decl.c:11299
+#: cp/decl.c:11718
msgid "typedef name may not be class-qualified"
msgstr "typedef ismi sınıf nitelemeli olmayabilir"
-#: cp/decl.c:11307
+#: cp/decl.c:11726
msgid "invalid type qualifier for non-member function type"
msgstr "üyesiz işlev türleri için tür niteleyici geçersiz"
-#: cp/decl.c:11323
-msgid "typedef declaration includes an initializer"
-msgstr "typedef bildirimi bir ilklendirici içeriyor"
-
-#: cp/decl.c:11373
+#: cp/decl.c:11789
msgid "type qualifiers specified for friend class declaration"
msgstr "kardeş sınıf bildirimi için tür niteleyiciler belirtilmiş"
-#: cp/decl.c:11378
+#: cp/decl.c:11794
msgid "`inline' specified for friend class declaration"
msgstr "hardeş sınıf bildirimi için `inline' belirtilmiş"
-#: cp/decl.c:11388
+#: cp/decl.c:11802
msgid "template parameters cannot be friends"
msgstr "ÅŸablon parametreleri kardeÅŸler olamaz"
-#: cp/decl.c:11390
-msgid "friend declaration requires class-key, i.e. `friend class %T::%T'"
-msgstr "kardeş bildirimi sınıf anahtarı gerektirir, `friend class %T::%T' gibi"
+#: cp/decl.c:11804
+msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
+msgstr "friend bildirimi sınıf anahtarı gerektirir, `friend class %T::%D' gibi"
-#: cp/decl.c:11395
+#: cp/decl.c:11808
msgid "friend declaration requires class-key, i.e. `friend %#T'"
msgstr "kardeş bildirimi `friend %#T' gibi bir sınıf anahtarı gerektirir"
-#: cp/decl.c:11409
+#: cp/decl.c:11822
msgid "trying to make class `%T' a friend of global scope"
msgstr "sınıf `%T' genel bağlamın kardeşi yapılmaya çalışılıyor"
-#: cp/decl.c:11420
+#: cp/decl.c:11833
msgid "invalid qualifiers on non-member function type"
msgstr "üyesiz işlev türünde geçersiz niteleyici"
-#: cp/decl.c:11439
+#: cp/decl.c:11852
msgid "abstract declarator `%T' used as declaration"
msgstr "mutlak bildirimci `%T' bildirim olarak kullanılmış"
-#: cp/decl.c:11451
+#: cp/decl.c:11864
msgid "unnamed variable or field declared void"
msgstr "adsız değişken ya da alan void olarak bildirilmiş"
-#: cp/decl.c:11460
+#: cp/decl.c:11873
msgid "variable or field declared void"
msgstr "deÄŸiÅŸken ya da alan void olarak bildirilmiÅŸ"
-#: cp/decl.c:11470
+#: cp/decl.c:11883
msgid "cannot use `::' in parameter declaration"
msgstr "parametre bildiriminde `::' kullanılamaz"
#. Something like struct S { int N::j; };
-#: cp/decl.c:11516
+#: cp/decl.c:11922
msgid "invalid use of `::'"
msgstr "`::' kullanımı geçersiz"
-#: cp/decl.c:11528
+#: cp/decl.c:11934
msgid "function `%D' cannot be declared friend"
msgstr "iÅŸlev `%D' kardeÅŸ olarak bildirilemez"
-#: cp/decl.c:11540
+#: cp/decl.c:11946
msgid "can't make `%D' into a method -- not in a class"
msgstr "bir yöntem içinde `%D' yapılamaz -- sınıf içinde değil"
-#: cp/decl.c:11549
+#: cp/decl.c:11955
msgid "function `%D' declared virtual inside a union"
msgstr "işlev `%D' bir birleşik yapı içinde virtual olarak bildirilmiş"
-#: cp/decl.c:11561
+#: cp/decl.c:11967
msgid "`%D' cannot be declared virtual, since it is always static"
msgstr "`%D' daima static olduÄŸundan sanal bildirilemez"
-#: cp/decl.c:11634
+#: cp/decl.c:12040
msgid "field `%D' has incomplete type"
msgstr "`%D' alanı içi boş türde"
-#: cp/decl.c:11636
+#: cp/decl.c:12042
msgid "name `%T' has incomplete type"
msgstr "isim `%T' içi boş türde"
-#: cp/decl.c:11645
+#: cp/decl.c:12051
msgid " in instantiation of template `%T'"
msgstr " şablon `%T' gerçeklemesinde"
-#: cp/decl.c:11655
+#: cp/decl.c:12061
#, c-format
msgid "`%s' is neither function nor member function; cannot be declared friend"
msgstr "`%s' ne işlev ne de üye işlev; kardeş olarak bildirilemez"
-#: cp/decl.c:11666
+#: cp/decl.c:12072
msgid "member functions are implicitly friends of their class"
msgstr "üye işlevler sınıflarının örtük kardeşleridir"
@@ -14817,94 +15443,99 @@ msgstr "üye işlevler sınıflarının örtük kardeşleridir"
#. 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:11713
+#: cp/decl.c:12119
msgid "ISO C++ forbids initialization of member `%D'"
msgstr "ISO C++ üye `%D' ilklendirmesine izin vermez"
-#: cp/decl.c:11715
+#: cp/decl.c:12121
msgid "making `%D' static"
msgstr "`%D' static yapılıyor"
-#: cp/decl.c:11739
+#: cp/decl.c:12145
msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
msgstr "ISO C++ zarflayan sınıf ile aynı isimde statik veri üyesi `%D' ye izin vermez"
-#: cp/decl.c:11780
+#: cp/decl.c:12186
#, c-format
msgid "storage class `auto' invalid for function `%s'"
msgstr "saklama sınıfı `auto' `%s' işlevi için geçersiz"
-#: cp/decl.c:11782
+#: cp/decl.c:12188
#, c-format
msgid "storage class `register' invalid for function `%s'"
msgstr "saklama sınıfı `register' `%s' işlevi için geçersiz"
-#: cp/decl.c:11793
+#: cp/decl.c:12190
+#, c-format
+msgid "storage class `__thread' invalid for function `%s'"
+msgstr "saklama sınıfı `__thread' `%s' işlevi için geçersiz"
+
+#: cp/decl.c:12201
#, c-format
msgid "storage class `static' invalid for function `%s' declared out of global scope"
msgstr "saklama sınıfı `static' genel kapsam dışı bildirilmiş işlev `%s' için geçersiz"
-#: cp/decl.c:11795
+#: cp/decl.c:12203
#, c-format
msgid "storage class `inline' invalid for function `%s' declared out of global scope"
msgstr "`inline' saklama sınıfı, genel kapsam dışında bildirilen `%s' işlevi için geçersiz"
-#: cp/decl.c:11802
+#: cp/decl.c:12210
#, c-format
msgid "virtual non-class function `%s'"
msgstr "sanal sınıf olmayan işlev `%s'"
-#: cp/decl.c:11831
+#: cp/decl.c:12239
msgid "cannot declare member function `%D' to have static linkage"
msgstr "üye işlev `%D' static ilintilemeli olarak bildirilemez"
#. FIXME need arm citation
-#: cp/decl.c:11837
+#: cp/decl.c:12245
msgid "cannot declare static function inside another function"
msgstr "statik işlev diğer bir işlevin içinde bildirilemez"
-#: cp/decl.c:11865
+#: cp/decl.c:12273
msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
msgstr "`static' bir statik veri üyesini tanımlarken (bildirime zıt olarak) kullanılamayabilir"
-#: cp/decl.c:11871
+#: cp/decl.c:12279
msgid "static member `%D' declared `register'"
msgstr "statik üye `%D' `register' olarak bildirilmiş"
-#: cp/decl.c:11876
+#: cp/decl.c:12284
msgid "cannot explicitly declare member `%#D' to have extern linkage"
msgstr "üye `%#D' dış ilintilemeye sahip olacak şekilde doğrudan bildirilemez"
-#: cp/decl.c:12048
+#: cp/decl.c:12459
msgid "default argument for `%#D' has type `%T'"
msgstr "`%#D' için öntanımlı argüman `%T' türünde"
-#: cp/decl.c:12051
+#: cp/decl.c:12462
msgid "default argument for parameter of type `%T' has type `%T'"
msgstr "`%T' türündeki parametrenin öntanımlı argümanı `%T' türünde"
-#: cp/decl.c:12068
+#: cp/decl.c:12479
msgid "default argument `%E' uses local variable `%D'"
msgstr "öntanımlı argüman `%E' yerel değişken `%D' yi kullanıyor"
-#: cp/decl.c:12113
+#: cp/decl.c:12524
#, c-format
msgid "invalid string constant `%E'"
msgstr "geçersiz dizge sabit `%E'"
-#: cp/decl.c:12115
+#: cp/decl.c:12526
msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
msgstr "parametre listesindeki tamsayı sabit geçersiz, parametre ismi vermeyi unuttunuz mu?"
-#: cp/decl.c:12153
+#: cp/decl.c:12564
msgid "parameter `%D' invalidly declared method type"
msgstr "parametre `%D' geçersiz olarak yöntem türünde bildirilmiş"
-#: cp/decl.c:12159
+#: cp/decl.c:12570
msgid "parameter `%D' invalidly declared offset type"
msgstr "parametre `%D' geçersiz olarak göreli konum türünde bildirilmiş"
-#: cp/decl.c:12183
+#: cp/decl.c:12594
msgid "parameter `%D' includes %s to array of unknown bound `%T'"
msgstr "parametre `%D' bilinmeyen `%T' sınırlı diziye %s içeriyor"
@@ -14923,694 +15554,675 @@ msgstr "parametre `%D' bilinmeyen `%T' sınırlı diziye %s içeriyor"
#. 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:12350
+#: cp/decl.c:12756
msgid "invalid constructor; you probably meant `%T (const %T&)'"
msgstr "kurucu geçersiz; `%T (const %T&)' anlamında kullandınız galiba"
-#: cp/decl.c:12501
+#: cp/decl.c:12907
msgid "`%D' must be a nonstatic member function"
msgstr "`%D' static olmayan bir üye işlev olmalıdır"
-#: cp/decl.c:12507
+#: cp/decl.c:12913
msgid "`%D' must be either a non-static member function or a non-member function"
msgstr "`%D' ya bir statik olmayan işlev ya da üye olmayan işlev olmalıdır"
-#: cp/decl.c:12524
+#: cp/decl.c:12930
msgid "`%D' must have an argument of class or enumerated type"
msgstr "`%D' bir sınıf argümanına sahip olmalı ya da enum türünde olmalı"
-#: cp/decl.c:12556
+#: cp/decl.c:12962
#, c-format
msgid "conversion to %s%s will never use a type conversion operator"
-msgstr "%s%s e dönüşüm asla bir tür dönüşüm işlemimi kullanmayacak"
+msgstr "%s%s e dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
#. 13.4.0.3
-#: cp/decl.c:12563
+#: cp/decl.c:12969
msgid "ISO C++ prohibits overloading operator ?:"
-msgstr "ISO C++ işlemimi ?: nın aşırı yüklenmesini yasaklar"
+msgstr "ISO C++ işleci ?: nın aşırı yüklenmesini yasaklar"
-#: cp/decl.c:12613
+#: cp/decl.c:13019
msgid "postfix `%D' must take `int' as its argument"
msgstr "sonek `%D' argüman olarak `int' almalı"
-#: cp/decl.c:12617
+#: cp/decl.c:13023
msgid "postfix `%D' must take `int' as its second argument"
msgstr "sonek `%D' ikinci argümanı olarak `int' almalı"
-#: cp/decl.c:12624
+#: cp/decl.c:13030
msgid "`%D' must take either zero or one argument"
msgstr "`%D' ya hiç argüman almamalı ya da bir argüman almalı"
-#: cp/decl.c:12626
+#: cp/decl.c:13032
msgid "`%D' must take either one or two arguments"
msgstr "`%D' ya bir ya da iki argüman almalı"
-#: cp/decl.c:12647
+#: cp/decl.c:13053
msgid "prefix `%D' should return `%T'"
msgstr "önek `%D' `%T' döndürmeli"
-#: cp/decl.c:12653
+#: cp/decl.c:13059
msgid "postfix `%D' should return `%T'"
msgstr "sonek `%D' `%T' ile dönmeli"
-#: cp/decl.c:12662
+#: cp/decl.c:13068
msgid "`%D' must take `void'"
msgstr "`%D' `void' almalı"
-#: cp/decl.c:12664 cp/decl.c:12672
+#: cp/decl.c:13070 cp/decl.c:13078
msgid "`%D' must take exactly one argument"
msgstr "`%D' kesinlikle bir argüman almalı"
-#: cp/decl.c:12674
+#: cp/decl.c:13080
msgid "`%D' must take exactly two arguments"
msgstr "`%D' kesinlikle iki argüman almalı"
-#: cp/decl.c:12682
+#: cp/decl.c:13088
msgid "user-defined `%D' always evaluates both arguments"
msgstr "kullanıcı tanımlı `%D' daima her iki argümanıyla birlikte değerlendirilir"
-#: cp/decl.c:12694
+#: cp/decl.c:13102
msgid "`%D' should return by value"
msgstr "`%D' değeriyle döndürülmeli"
-#: cp/decl.c:12706 cp/decl.c:12709
+#: cp/decl.c:13114 cp/decl.c:13117
msgid "`%D' cannot have default arguments"
msgstr "`%D' öntanımlı argümanlara sahip olamaz"
-#: cp/decl.c:12800
-msgid "`%s %T' declares a new type at namespace scope"
-msgstr "isim alanı bağlamında `%s %T' bir yeni tür bildiriyor"
-
-#: cp/decl.c:12803
-msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
-msgstr " bağımlı taban sınıflardaki isimler nitelemesiz isim aramasında görünür değil - kalıt türe başvurması için `%s %T::%T' denebilir"
-
-#: cp/decl.c:12841
+#: cp/decl.c:13160
msgid "using typedef-name `%D' after `%s'"
msgstr "typedef-ismi `%D' `%s' den sonra kullanılıyor"
-#: cp/decl.c:12846
+#: cp/decl.c:13166
msgid "using template type parameter `%T' after `%s'"
msgstr "`%s' den sonra şablon tür parametresi `%T' kullanımı"
-#: cp/decl.c:12926
+#: cp/decl.c:13227
+msgid "`%s %T' declares a new type at namespace scope"
+msgstr "isim alanı bağlamında `%s %T' bir yeni tür bildiriyor"
+
+#: cp/decl.c:13230
+msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
+msgstr " bağımlı taban sınıflardaki isimler nitelemesiz isim aramasında görünür değil - kalıt türe başvurması için `%s %T::%T' denebilir"
+
+#: cp/decl.c:13348
msgid "use of enum `%#D' without previous declaration"
msgstr "önceden bildirilmeksizin enum `%#D' kullanımı"
-#: cp/decl.c:13024
+#: cp/decl.c:13434
msgid "derived union `%T' invalid"
msgstr "türetilmiş union `%T' geçersiz"
-#: cp/decl.c:13068
+#: cp/decl.c:13480
msgid "base type `%T' fails to be a struct or class type"
msgstr "taban tür `%T' bir yapı veya sınıf türü olarak hatalı"
-#: cp/decl.c:13078
+#: cp/decl.c:13490
msgid "base class `%T' has incomplete type"
msgstr "taban sınıf `%T' içi boş türde"
-#: cp/decl.c:13086
+#: cp/decl.c:13498
msgid "recursive type `%T' undefined"
msgstr "özyinelemeli tür `%T' tanımsız"
-#: cp/decl.c:13088
+#: cp/decl.c:13500
msgid "duplicate base type `%T' invalid"
msgstr "yinelenmiş taban türü `%T' geçersiz"
-#: cp/decl.c:13199
+#: cp/decl.c:13611
msgid "multiple definition of `%#T'"
msgstr "`%#T' çoklu tanımları"
-#: cp/decl.c:13200
+#: cp/decl.c:13612
msgid "previous definition here"
msgstr "önceden burada tanımlı"
-#: cp/decl.c:13371
+#: cp/decl.c:13779
msgid "enumerator value for `%D' not integer constant"
msgstr "`%D' için sembolik sabitin değeri tamsayı sabit değil"
-#: cp/decl.c:13391
+#: cp/decl.c:13799
msgid "overflow in enumeration values at `%D'"
msgstr "`%D' de sembolik sabit listesi deÄŸerlerinde taÅŸma"
-#: cp/decl.c:13477
+#: cp/decl.c:13868
msgid "return type `%#T' is incomplete"
msgstr "dönüş türü `%#T' bir içi boş tür"
-#: cp/decl.c:13593
+#: cp/decl.c:13982
msgid "semicolon missing after declaration of `%#T'"
msgstr "`%T' bildiriminden sonra ; yok"
-#: cp/decl.c:13614
+#: cp/decl.c:14003
msgid "return type for `main' changed to `int'"
msgstr "`main' için dönen tür `int' olarak değişti"
-#: cp/decl.c:13645
+#: cp/decl.c:14034
msgid "`%D' implicitly declared before its definition"
msgstr "`%D' tanımından önce dolaylı olarak bildirilmiş"
-#: cp/decl.c:13667 cp/typeck.c:6530
+#: cp/decl.c:14056 cp/typeck.c:6258
msgid "`operator=' should return a reference to `*this'"
msgstr "`operator=' `*this'e bir referans döndürmeli"
-#: cp/decl.c:13931
+#: cp/decl.c:14316
msgid "parameter `%D' declared void"
msgstr "parametre `%D' void olarak bildirilmiÅŸ"
-#: cp/decl.c:14408
+#: cp/decl.c:14804
msgid "`%D' is already defined in class `%T'"
msgstr "`%D' zaten sınıf `%T' içinde tanımlı"
-#: cp/decl.c:14625
+#: cp/decl.c:15022
msgid "static member function `%#D' declared with type qualifiers"
msgstr "statik üye işlev `%#D' tür niteleyicilerle bildirilmiş"
-#: cp/decl2.c:529
-#, c-format
-msgid "-f%s is no longer supported"
-msgstr "-f%s artık desteklenmiyor"
-
-#: cp/decl2.c:535
-msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
-msgstr "-fhandle-exceptions'ın -fexceptions olarak ismi değiştirilmişti (ve şimdi öntanımlı olarak böyle)"
-
-#: cp/decl2.c:561
-msgid "-fname-mangling-version is no longer supported"
-msgstr "-fname-mangling-version artık desteklenmiyor"
-
-#: cp/decl2.c:624
-msgid "-Wno-strict-prototypes is not supported in C++"
-msgstr "C++ da -Wno-strict-prototypes desteklenmiyor"
-
-#: cp/decl2.c:761
+#: cp/decl2.c:153
#, c-format
msgid "duplicate type qualifiers in %s declaration"
msgstr "%s bildirimde yinelenmiş tür niteleyiciler"
-#: cp/decl2.c:800
+#: cp/decl2.c:192
msgid "template `%#D' instantiated in file without #pragma interface"
msgstr "şablon `%#D' dosya içinde #pragma arabirimsiz gerçeklendi"
-#: cp/decl2.c:806
+#: cp/decl2.c:198
msgid "template `%#D' defined in file without #pragma interface"
msgstr "şablon `%#D' dosya içinde #pragma arabirimsiz tanımlandı"
-#: cp/decl2.c:963
+#: cp/decl2.c:365
msgid "name missing for member function"
msgstr "üye işlev için isim eksik"
#. Something has gone very wrong. Assume we are mistakenly reducing
#. an expression instead of a declaration.
-#: cp/decl2.c:1026
+#: cp/decl2.c:428
msgid "parser may be lost: is there a '{' missing somewhere?"
msgstr "ayrıştırıcı kayıp olabilir: bir yerlerde kayıp '{' var mı?"
-#: cp/decl2.c:1057 cp/decl2.c:1071
+#: cp/decl2.c:459 cp/decl2.c:473
msgid "ambiguous conversion for array subscript"
msgstr "dizi altindisi için dönüşüm belirsiz"
-#: cp/decl2.c:1065
+#: cp/decl2.c:467
msgid "invalid types `%T[%T]' for array subscript"
msgstr "dizi altindisi için geçersiz türler `%T[%T]'"
-#: cp/decl2.c:1113
+#: cp/decl2.c:515
msgid "type `%#T' argument given to `delete', expected pointer"
msgstr "tür `%#T' argümanı `delete'e verilmiş, gösterge umuluyordu"
-#: cp/decl2.c:1121
+#: cp/decl2.c:523
msgid "anachronistic use of array size in vector delete"
msgstr "vektör silmede dizi boyutunun zamansız kullanımı"
-#: cp/decl2.c:1131
+#: cp/decl2.c:533
msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
msgstr "bir işlev silinemez. Sadece nesnelerin göstergeleri `silinecek' geçerli argümanlardır."
-#: cp/decl2.c:1138
+#: cp/decl2.c:540
msgid "deleting `%T' is undefined"
msgstr "`%T' silinmesi tanımsız"
-#: cp/decl2.c:1146
+#: cp/decl2.c:548
msgid "deleting array `%#D'"
msgstr "dizi `%#D' siliniyor"
#. 14.5.2.2 [temp.mem]
#.
#. A local class shall not have member templates.
-#: cp/decl2.c:1180
+#: cp/decl2.c:582
msgid "invalid declaration of member template `%#D' in local class"
msgstr "yerel sınıf içinde üye şablonu `%#D' nin bildirimi geçersiz"
-#: cp/decl2.c:1189
+#: cp/decl2.c:591
msgid "invalid use of `virtual' in template declaration of `%#D'"
msgstr "`%#D' şablon bildiriminde geçersiz `virtual' kullanımı"
-#: cp/decl2.c:1199 cp/pt.c:2562
+#: cp/decl2.c:601 cp/pt.c:2742
msgid "template declaration of `%#D'"
msgstr "`%#D' ÅŸablon bildirimi"
-#: cp/decl2.c:1249
+#: cp/decl2.c:651
msgid "Java method '%D' has non-Java return type `%T'"
msgstr "Java yöntemi '%D' Java olmayan dönen tür `%T' içeriyor"
-#: cp/decl2.c:1258
+#: cp/decl2.c:660
msgid "Java method '%D' has non-Java parameter type `%T'"
msgstr "Java yöntemi '%D' Java olmayan parametre türü `%T' içeriyor"
-#: cp/decl2.c:1354
+#: cp/decl2.c:746
msgid "prototype for `%#D' does not match any in class `%T'"
msgstr "`%#D' prototipi sınıf `%T' içindeki hiçbir şeyle eşleşmiyor"
-#: cp/decl2.c:1356
-msgid "candidate%s: %+#D"
-msgstr "aday%s: %+#D"
-
-#: cp/decl2.c:1359
-msgid " %#D"
-msgstr " %#D"
-
-#: cp/decl2.c:1411
+#: cp/decl2.c:828
msgid "local class `%#T' shall not have static data member `%#D'"
msgstr "yerel sınıf `%#T static veri üyesi `%#D' içermemeli"
-#: cp/decl2.c:1419
+#: cp/decl2.c:836
msgid "initializer invalid for static member with constructor"
msgstr "kuruculu statik üye için ilklendirici geçersiz"
-#: cp/decl2.c:1422
+#: cp/decl2.c:839
msgid "(an out of class initialization is required)"
msgstr "(bir sınıf dışı ilklendirme gerekli)"
-#: cp/decl2.c:1481
+#: cp/decl2.c:898
msgid "invalid data member initialization"
msgstr "geçersiz veri üyesi ilklendirmesi"
-#: cp/decl2.c:1484
+#: cp/decl2.c:901
msgid "(use `=' to initialize static data members)"
msgstr "(statik veri üyelerini ilklendirmek için `=' kullanın)"
-#: cp/decl2.c:1524
+#: cp/decl2.c:947
msgid "member `%D' conflicts with virtual function table field name"
msgstr "üye `%D' sanal işlev tablosu alan ismi ile çelişiyor"
-#: cp/decl2.c:1544
+#: cp/decl2.c:967
msgid "`%D' is already defined in `%T'"
msgstr "`%D' zaten `%T' içinde tanımlı"
-#: cp/decl2.c:1595
+#: cp/decl2.c:1019
msgid "field initializer is not constant"
msgstr "alan ilklendirici sabit deÄŸil"
-#: cp/decl2.c:1618
+#: cp/decl2.c:1043
msgid "`asm' specifiers are not permitted on non-static data members"
msgstr "`asm' belirteçlerinde statik olmayan veri üyeleri kullanılamaz"
-#: cp/decl2.c:1670
+#: cp/decl2.c:1095
msgid "cannot declare `%D' to be a bit-field type"
msgstr "`%D' bir bit alanı türü olarak bildirilemez"
-#: cp/decl2.c:1680
+#: cp/decl2.c:1105
msgid "cannot declare bit-field `%D' with function type"
msgstr "bir alanı `%D' işlev türle bildirilemez"
-#: cp/decl2.c:1687
+#: cp/decl2.c:1112
msgid "`%D' is already defined in the class %T"
msgstr "`%D' zaten sınıf %T içinde tanımlı"
-#: cp/decl2.c:1694
+#: cp/decl2.c:1119
msgid "static member `%D' cannot be a bit-field"
msgstr "static üye `%D' bir bit alanı olarak bildirilemez"
-#: cp/decl2.c:1763
+#: cp/decl2.c:1206
msgid "initializer specified for non-member function `%D'"
msgstr "üye olmayan işlev `%D' için ilklendirici belirtilmiş"
-#: cp/decl2.c:1767
+#: cp/decl2.c:1210
msgid "invalid initializer for virtual method `%D'"
msgstr "sanal yöntem `%D' için geçersiz ilklendirici"
-#: cp/decl2.c:1871
+#: cp/decl2.c:1324
msgid "anonymous struct not inside named type"
msgstr "anonim yapı isimli türün içinde değil"
-#: cp/decl2.c:1967
+#: cp/decl2.c:1420
msgid "namespace-scope anonymous aggregates must be static"
msgstr "isim alanı bağlamındaki anonim kümeler static olmalıdır"
-#: cp/decl2.c:1977
+#: cp/decl2.c:1433
msgid "anonymous aggregate with no members"
msgstr "üyesiz anonim küme"
-#: cp/decl2.c:2044
+#: cp/decl2.c:1502
msgid "`operator new' must return type `%T'"
msgstr "`operator new' `%T' türünde dönmeli"
-#: cp/decl2.c:2052
+#: cp/decl2.c:1510
msgid "`operator new' takes type `size_t' (`%T') as first parameter"
msgstr "`operator new' ilk parametreyi `size_t' (`%T') türünde alır"
-#: cp/decl2.c:2079
+#: cp/decl2.c:1537
msgid "`operator delete' must return type `%T'"
msgstr "`operator delete' `%T' türünde dönmeli"
-#: cp/decl2.c:2087
+#: cp/decl2.c:1545
msgid "`operator delete' takes type `%T' as first parameter"
msgstr "`operator delete' ilk parametreyi `%T'` türünde alır"
#. Overflow occurred. That means there are at least 4 billion
#. initialization functions.
-#: cp/decl2.c:2828
+#: cp/decl2.c:2288
msgid "too many initialization functions required"
msgstr "çok fazla ilklendirme işlevi gerekli"
-#: cp/decl2.c:3639
+#: cp/decl2.c:3011
+msgid "inline function `%D' used but never defined"
+msgstr "özümlenen işlev `%D' tanımlanmadan kullanılmış"
+
+#: cp/decl2.c:3131
msgid "use of old-style cast"
msgstr "eski tarz çevirim kullanımı"
-#: cp/decl2.c:4220
+#: cp/decl2.c:3856
msgid "use of `%D' is ambiguous"
msgstr "`%D' kullanımı belirsiz"
-#: cp/decl2.c:4221
+#: cp/decl2.c:3857
msgid " first declared as `%#D' here"
msgstr " ilk defa burada `%#D' olarak bildirilmiÅŸ"
-#: cp/decl2.c:4224
+#: cp/decl2.c:3860
msgid " also declared as `%#D' here"
msgstr " ayrıca burada da `%#D' olarak bildirilmiş"
-#: cp/decl2.c:4239
+#: cp/decl2.c:3875
msgid "`%D' denotes an ambiguous type"
msgstr "`%D' bir belirsiz tür gösteriyor"
-#: cp/decl2.c:4240
+#: cp/decl2.c:3876
msgid " first type here"
msgstr " ilk tür burada"
-#: cp/decl2.c:4241
+#: cp/decl2.c:3877
msgid " other type here"
msgstr " diğer tür burada"
-#: cp/decl2.c:4338
+#: cp/decl2.c:3978
msgid "declaration of `%D' not in a namespace surrounding `%D'"
msgstr "`%D' bildirimi `%D' yi kuşatan isim alanının içinde değil"
-#: cp/decl2.c:4372
+#: cp/decl2.c:4012
msgid "`%D' should have been declared inside `%D'"
msgstr "`%D' zaten `%D' içinde bildirilmişti"
-#: cp/decl2.c:4506
+#: cp/decl2.c:4146
msgid "`%D' is not a function,"
msgstr "`%D' bir iÅŸlev deÄŸil,"
-#: cp/decl2.c:4507
+#: cp/decl2.c:4147
msgid " conflict with `%D'"
msgstr " `%D' ile çelişiyor"
#. The parser did not find it, so it's not there.
-#: cp/decl2.c:4821
+#: cp/decl2.c:4467
msgid "unknown namespace `%D'"
msgstr "bilinmeyen isim alanı `%D'"
-#: cp/decl2.c:4855 cp/decl2.c:5125
+#: cp/decl2.c:4501 cp/decl2.c:4788
msgid "`%T' is not a namespace"
msgstr "`%T' bir isim alanı değil"
-#: cp/decl2.c:4857
+#: cp/decl2.c:4503
msgid "`%D' is not a namespace"
msgstr "`%D' bir isim alanı değil"
-#: cp/decl2.c:4866
+#: cp/decl2.c:4512
msgid "a using-declaration cannot specify a template-id. Try `using %D'"
msgstr "bir using bildirimi bir ÅŸablon kimliÄŸi belirtemez. `using %D' deneyin"
-#: cp/decl2.c:4880
+#: cp/decl2.c:4526
msgid "namespace `%D' not allowed in using-declaration"
msgstr "using bildiriminde isim alanı `%D' kullanılamaz"
-#: cp/decl2.c:4909
+#: cp/decl2.c:4555
msgid "`%D' not declared"
msgstr "`%D' bildirilmemiÅŸ"
-#: cp/decl2.c:4960
+#. If the OLD_FN was really declared, the
+#. declarations don't match.
+#: cp/decl2.c:4567 cp/decl2.c:4609 cp/decl2.c:4634
msgid "`%D' is already declared in this scope"
msgstr "`%D' zaten bu baÄŸlamda bildirilmiÅŸ"
-#: cp/decl2.c:4987
+#: cp/decl2.c:4640
msgid "using declaration `%D' introduced ambiguous type `%T'"
msgstr "using bildirimi `%D' belirsiz tür `%T' ye dahil edildi"
-#: cp/decl2.c:5078
+#: cp/decl2.c:4734
msgid "using-declaration for non-member at class scope"
msgstr "sınıf bağlamında üye olmayan için using bildirimi"
-#: cp/decl2.c:5084
+#: cp/decl2.c:4740
msgid "using-declaration for destructor"
msgstr "yıkıcı için using bildirimi"
-#: cp/decl2.c:5090
+#: cp/decl2.c:4746
msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
msgstr "bir using bildirimi bir ÅŸablon kimliÄŸi belirtemez. `using %T::%D' deneyin"
-#: cp/decl2.c:5119
+#: cp/decl2.c:4782
msgid "namespace `%T' undeclared"
msgstr "isim alanı `%T' bildirimsiz"
-#: cp/decl2.c:5148
+#: cp/decl2.c:4811
msgid "default argument missing for parameter %P of `%+#D'"
msgstr "parametre %P (`%+#D' nin) için öntanımlı argüman eksik"
-#: cp/decl2.c:5238
+#: cp/decl2.c:4935
msgid "extra qualification `%T::' on member `%D' ignored"
msgstr "fazladan `%T::' nitelemesi üye `%D' üstünde yoksayıldı"
-#: cp/decl2.c:5242
+#: cp/decl2.c:4939
msgid "`%T' does not have a class or union named `%D'"
msgstr "`%T' `%D' isminde bir sınıf ya da birleşik yapı içermiyor"
-#: cp/decl2.c:5255
+#: cp/decl2.c:4957
msgid "`%T' is not a class or union type"
msgstr "`%T' bir sınıf ya da birleşik yapı değil"
+#: cp/decl2.c:4971
+msgid "template argument is required for `%T'"
+msgstr "şablon argüman `%#T' için gereklidir"
+
+#: cp/decl2.c:4989
+msgid "declaration of `%D' in `%D' which does not enclose `%D'"
+msgstr ""
+
#: cp/error.c:35
#, c-format
msgid "`%s' not supported by %s"
msgstr "`%s', %s tarafından desteklenmiyor"
-#: cp/error.c:577
+#: cp/error.c:571
#, c-format
msgid "<anonymous %s>"
msgstr "<anonim %s>"
-#: cp/error.c:814
+#: cp/error.c:810
#, c-format
msgid "(static %s for %s)"
msgstr "(%2$s için statik %1$s)"
-#: cp/error.c:2438
+#: cp/error.c:1503
+#, c-format
+msgid "\\x%x"
+msgstr "\\x%x"
+
+#: cp/error.c:2463
#, c-format
msgid "In %s `%s':"
msgstr "%s `%s' içinde:"
-#: cp/error.c:2493
+#: cp/error.c:2520
#, c-format
msgid "%s: In instantiation of `%s':\n"
msgstr "%s: `%s' gerçeklemesi içinde:\n"
-#: cp/error.c:2517
+#: cp/error.c:2544
#, c-format
msgid "%s:%d: instantiated from `%s'\n"
msgstr "%s:%d: `%s' den gerçeklenmiş\n"
-#: cp/error.c:2522
+#: cp/error.c:2549
#, c-format
msgid "%s:%d: instantiated from here\n"
msgstr "%s:%d: buradan gerçeklenmiş\n"
#. damn ICE suppression
-#: cp/error.c:2675
+#: cp/error.c:2703
#, c-format
msgid "unexpected letter `%c' in locate_error\n"
msgstr "locate_error içinde umulmayan `%c' harfi\n"
#. Can't throw a reference.
-#: cp/except.c:245
+#: cp/except.c:240
msgid "type `%T' is disallowed in Java `throw' or `catch'"
msgstr "tür `%T' Java `throw' veya `catch' içinde kullanılmaz"
-#: cp/except.c:256
+#: cp/except.c:251
msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
msgstr "Java `catch' ya da `throw' a `jthrowable' ile çağrı tanımsız"
#. 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 "tür `%T' `java::lang::Throwable'dan türetilmemiştir"
-#: cp/except.c:327
+#: cp/except.c:322
msgid "mixing C++ and Java catches in a single translation unit"
msgstr "tek çeviri birimi içinde karışık C++ ve Java tuzakları"
-#: cp/except.c:558
+#: cp/except.c:639
msgid "throwing NULL, which has integral, not pointer type"
msgstr "tümleyen, gösterge olmayan NULL yakalanıyor"
-#: cp/except.c:663
+#: cp/except.c:730
msgid " in thrown expression"
msgstr " düşük ifade içinde"
-#: cp/except.c:775
+#: cp/except.c:856
msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
msgstr "ifade '%E', '%T' mutlak sınıf türünde throw ifadesi içinde kullanılamaz"
-#: cp/except.c:863
+#: cp/except.c:944
msgid "exception of type `%T' will be caught"
msgstr "`%T' türündeki olağandışılık yakalanmış olacak"
-#: cp/except.c:866
+#: cp/except.c:947
msgid " by earlier handler for `%T'"
msgstr " `%T'nin önceki tutamağı tarafından "
-#: cp/except.c:887
+#: cp/except.c:968
msgid "`...' handler must be the last handler for its try block"
msgstr "`...' tutamağı kendi blok denemesinde son tutamak olmalıdır"
-#: cp/friend.c:155
+#: cp/friend.c:159
msgid "`%D' is already a friend of class `%T'"
msgstr "`%D' zaten sınıf `%T' nin kardeşi"
-#: cp/friend.c:157
+#: cp/friend.c:161
msgid "previous friend declaration of `%D'"
msgstr "önceki `%D' kardeş bildirimi"
-#: cp/friend.c:197
+#: cp/friend.c:206
msgid "invalid type `%T' declared `friend'"
msgstr "geçersiz `friend' bildirimli tür `%T'"
#. [temp.friend]
-#.
#. Friend declarations shall not declare partial
#. specializations.
-#: cp/friend.c:209
+#: cp/friend.c:222
msgid "partial specialization `%T' declared `friend'"
msgstr "`friend' bildirimli kısmi özelleştirme `%T'"
-#: cp/friend.c:221
+#: cp/friend.c:231
msgid "class `%T' is implicitly friends with itself"
msgstr "sınıf `%T' kendisiyle dolaylı kardeş"
#. template <class T> friend typename S<T>::X;
-#: cp/friend.c:239
+#: cp/friend.c:249
msgid "typename type `%#T' declared `friend'"
msgstr "tür ismi türü `%#T' `friend' olarak bildirilmiş"
#. template <class T> friend class T;
-#: cp/friend.c:245
+#: cp/friend.c:255
msgid "template parameter type `%T' declared `friend'"
msgstr "şablon parametre türü `%T' `friend' olarak bildirilmiş"
#. template <class T> friend class A; where A is not a template
-#: cp/friend.c:251
+#: cp/friend.c:261
msgid "`%#T' is not a template"
msgstr "`%#T' bir ÅŸablon deÄŸil"
-#: cp/friend.c:266
+#: cp/friend.c:276
msgid "`%T' is already a friend of `%T'"
msgstr "`%T' zaten `%T' nin kardeÅŸi"
-#: cp/friend.c:362
+#: cp/friend.c:374
msgid "member `%D' declared as friend before type `%T' defined"
msgstr "üye `%D' tür `%T' tanımından önce friend olarak bildirilmiş"
-#: cp/friend.c:417
+#: cp/friend.c:429
msgid "friend declaration `%#D' declares a non-template function"
msgstr "kardeÅŸ bildirimi `%#D' bir ÅŸablon olmayan iÅŸlev bildiriyor"
-#: cp/friend.c:420
+#: cp/friend.c:432
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 "(eğer istediğiniz bu değilse, işlev şablonunun zaten bildirilmiş olduğundan emin olduktan sonra burada işlev isminden sonra bir <> ekleyin)-Wno-non-template-friend bu uyarıyı iptal eder"
-#: cp/g++spec.c:198 java/jvspec.c:424
+#: cp/g++spec.c:211 java/jvspec.c:423
#, c-format
msgid "argument to `%s' missing\n"
msgstr "`%s' için argüman eksik\n"
-#: cp/init.c:285
+#: cp/init.c:328
+msgid "`%D' should be initialized in the member initialization list"
+msgstr "`%D' üye ilklendirici listesinde ilklendirilmiş olmalı"
+
+#: cp/init.c:378
msgid "default-initialization of `%#D', which has reference type"
msgstr "referans türe sahip `%#D'nin default ilklendirmesi"
-#: cp/init.c:290
+#: cp/init.c:383
msgid "uninitialized reference member `%D'"
msgstr "ilklendirilmemiş referans üyesi `%D'"
-#: cp/init.c:298
+#: cp/init.c:391
msgid "initializer list treated as compound expression"
msgstr "ilklendirici listesi bileşik ifade olarak ele alınıyor"
-#: cp/init.c:410
-msgid "member initializers for `%#D'"
-msgstr "`%#D'"
+#: cp/init.c:532
+msgid "`%D' will be initialized after"
+msgstr "`%D' sonradan ilklendirilmiÅŸ olacak"
+
+#: cp/init.c:535
+msgid "base `%T' will be initialized after"
+msgstr "`%T' tabanı sonradan ilklendirilmiş olacak"
-#: cp/init.c:412
-msgid " and `%#D'"
-msgstr " ve `%#D' için üye ilklendiriciler"
+#: cp/init.c:538
+msgid " `%#D'"
+msgstr " `%#D'"
-#: cp/init.c:413
-msgid " will be re-ordered to match declaration order"
-msgstr " bildirim sırasının eşlenmesi için yeniden sıralama yapılacak"
+#: cp/init.c:540
+msgid " base `%T'"
+msgstr " `%T' tabanı için;"
-#: cp/init.c:428
-msgid "multiple initializations given for member `%D'"
-msgstr "üye `%D' için çoklu ilklendiriciler verilmiş"
+#: cp/init.c:558
+msgid "multiple initializations given for base `%T'"
+msgstr "taban `%T' için çoklu ilklendiriciler belirtilmiş"
-#: cp/init.c:500
+#: cp/init.c:625
msgid "initializations for multiple members of `%T'"
msgstr "`%T' nin çoklu üyeleri için ilklendirmeler"
-#: cp/init.c:617
-msgid "base initializers for `%#T'"
-msgstr "`%#T'"
-
-#: cp/init.c:618
-msgid " and `%#T'"
-msgstr " ve `%#T' için taban ilklendiriciler"
-
-#: cp/init.c:619
-msgid " will be re-ordered to match inheritance order"
-msgstr " miras kalma sırasının eşlenmesi için yeniden sıralanacak"
-
-#: cp/init.c:631
-msgid "base class `%T' already initialized"
-msgstr "taban sınıf `%T' zaten ilklendirilmiş"
-
-#: cp/init.c:702
+#: cp/init.c:682
msgid "base class `%#T' should be explicitly initialized in the copy constructor"
msgstr "taban sınıf `%#T' kopyalama kurucusunda doğrudan ilklendirilmiş olmalı"
-#: cp/init.c:745
-msgid "`%D' should be initialized in the member initialization list"
-msgstr "`%D' üye ilklendirici listesinde ilklendirilmiş olmalı"
-
-#: cp/init.c:987
+#: cp/init.c:928
msgid "class `%T' does not have any field named `%D'"
msgstr "sınıf `%T' `%D' isimli hiçbir alan içermiyor"
-#: cp/init.c:993
+#: cp/init.c:934
msgid "field `%#D' is static; the only point of initialization is its definition"
msgstr "alan `%#D' static'dir; tek ilklendirme noktası onun tanımıdır"
-#: cp/init.c:1032
+#: cp/init.c:967
msgid "unnamed initializer for `%T', which has no base classes"
msgstr "taban sınıfı olmayan `%T' için isimsiz ilklendirici"
-#: cp/init.c:1039
+#: cp/init.c:974
msgid "unnamed initializer for `%T', which uses multiple inheritance"
msgstr "çoklu kalıt kullanan `%T' için isimsiz ilklendirici"
-#: cp/init.c:1068
+#: cp/init.c:1009
msgid "type `%D' is not a direct or virtual base of `%T'"
msgstr "tür `%D' `%T' nin bir doğrudan ya da sanal tabanı değil"
-#: cp/init.c:1071
+#: cp/init.c:1012
msgid "type `%D' is not a direct base of `%T'"
msgstr "tür `%D' `%T'nin bir doğrudan tabanı değil"
@@ -15626,551 +16238,527 @@ msgstr "tür `%D' `%T'nin bir doğrudan tabanı değil"
#. COMPLEX zees(1.0, 0.0)[10];
#. }
#.
-#: cp/init.c:1165
+#: cp/init.c:1106
msgid "bad array initializer"
msgstr "dizi ilklendirici hatalı"
-#: cp/init.c:1357
+#: cp/init.c:1313
msgid "`%T' is not an aggregate type"
msgstr "`%T' bir küme türü değil"
-#: cp/init.c:1380
+#: cp/init.c:1336
msgid "`%T' fails to be an aggregate typedef"
msgstr "bir küme türü ataması olarak `%T' hatalı"
-#: cp/init.c:1389
+#: cp/init.c:1345
msgid "type `%T' is of non-aggregate type"
msgstr "`%T' küme olmayan türde"
-#: cp/init.c:1491
+#: cp/init.c:1448
msgid "cannot call destructor `%T::~%T' without object"
msgstr "yıkıcı `%T::~%T' nesnesiz çağrılamaz"
-#: cp/init.c:1531
+#: cp/init.c:1492
msgid "invalid use of non-static field `%D'"
msgstr "geçersiz static olmayan alan `%D' kullanımı"
#. We can get here when processing a bad default
#. argument, like:
#. struct S { int a; void f(int i = a); }
-#: cp/init.c:1540 cp/method.c:163
+#: cp/init.c:1501 cp/method.c:160
msgid "invalid use of member `%D'"
msgstr "geçersiz üye `%D' kullanımı"
-#: cp/init.c:1550
+#: cp/init.c:1511
msgid "no method `%T::%D'"
msgstr "`%T::%D' diye bir yöntem yok"
-#: cp/init.c:1643
+#: cp/init.c:1604
msgid "incomplete type `%T' does not have member `%D'"
msgstr "içi boş tür `%T' üye `%D' yi içermiyor"
-#: cp/init.c:1712
+#: cp/init.c:1678
msgid "`%D' is not a member of type `%T'"
msgstr "`%D' `%T' türünde bir üye değil"
-#: cp/init.c:1731
-msgid "illegal pointer to bit-field `%D'"
-msgstr "bit alanı `%D' göstergesi kuraldışı"
+#: cp/init.c:1697
+msgid "invalid pointer to bit-field `%D'"
+msgstr "bit alanı `%D' göstergesi geçersiz"
-#: cp/init.c:1770
+#: cp/init.c:1736
msgid "object missing in use of pointer-to-member construct"
msgstr "üyeye gösterge oluşumu kullanımında nesne eksik"
-#: cp/init.c:1810
+#: cp/init.c:1776
msgid "member `%D' is non-static but referenced as a static member"
msgstr "üye `%D' statik değil ama bir statik üye olarak başvurulmuş"
-#: cp/init.c:1812 cp/typeck.c:3130 cp/typeck.c:3238
+#: cp/init.c:1778 cp/typeck.c:2823 cp/typeck.c:2927
msgid "at this point in file"
msgstr "dosyanın burasında"
-#: cp/init.c:1853 cp/typeck.c:2929
+#: cp/init.c:1815
#, c-format
msgid "object missing in `%E'"
msgstr "`%E' içinde nesne eksik"
-#: cp/init.c:1984
+#: cp/init.c:1946
msgid "new of array type fails to specify size"
msgstr "dizi türünde new boyut belirtmede başarısız"
-#: cp/init.c:1995
+#: cp/init.c:1957
msgid "size in array new must have integral type"
msgstr "array new içindeki boyut bütünleyici türde olmalı"
-#: cp/init.c:2001
+#: cp/init.c:1963
msgid "zero size array reserves no space"
msgstr "sıfır boyutlu dizi için yer ayrılmaz"
-#: cp/init.c:2066
+#: cp/init.c:2028
msgid "new cannot be applied to a reference type"
msgstr "new bir referans türe uygulanamaz"
-#: cp/init.c:2072
+#: cp/init.c:2034
msgid "new cannot be applied to a function type"
msgstr "new bir işlev türe uygulanamaz"
-#: cp/init.c:2119
+#: cp/init.c:2081
msgid "call to Java constructor, while `jclass' undefined"
msgstr "`jclass' tanımlanmamışken Java kurucusuna çağrı"
-#: cp/init.c:2135
+#: cp/init.c:2097
msgid "can't find class$"
msgstr "class$ bulunamıyor"
-#: cp/init.c:2249
+#: cp/init.c:2211
msgid "invalid type `void' for new"
msgstr "new için `void' türü geçersiz"
-#: cp/init.c:2301
+#: cp/init.c:2263
#, c-format
msgid "call to Java constructor with `%s' undefined"
msgstr "`%s' li Java kurucusuna çağrı tanımsız"
-#: cp/init.c:2408
+#: cp/init.c:2371
msgid "ISO C++ forbids initialization in array new"
msgstr "ISO C++ da array new içinde ilklendirmeye izin verilmez"
-#: cp/init.c:2426 cp/typeck2.c:359 cp/typeck2.c:1217
+#: cp/init.c:2393 cp/typeck2.c:366 cp/typeck2.c:1207
msgid "initializer list being treated as compound expression"
msgstr "ilklendirici listesi bileşik ifade varsayılıyor"
-#: cp/init.c:2432
+#: cp/init.c:2399
msgid "ISO C++ forbids aggregate initializer to new"
msgstr "ISO C++ da new için küme ilklendiriciye izin verilmez"
-#: cp/init.c:2516
+#: cp/init.c:2487
msgid "uninitialized const in `new' of `%#T'"
msgstr "`%#T' nin `new' u içinde ilklendirilmemiş sabit"
-#: cp/init.c:2880
+#: cp/init.c:2862
msgid "initializer ends prematurely"
msgstr "ilklendirici erken sonlanıyor"
-#: cp/init.c:2950
+#: cp/init.c:2932
msgid "cannot initialize multi-dimensional array with initializer"
msgstr "çok boyutlu diziler ilklendiricilerle ilklendirilemez"
-#: cp/init.c:3125
+#: cp/init.c:3122
msgid "unknown array size in delete"
msgstr "delete içindeki dizi boyutu bilinmiyor"
-#: cp/init.c:3398
+#: cp/init.c:3387
msgid "type to vector delete is neither pointer or array type"
msgstr "vektör silme işlemi için tür ne gösterge ne de dizi"
-#: cp/lex.c:144
+#: cp/lex.c:136
msgid "type name expected before `*'"
msgstr "`*' dan önce tür ismi gerekli"
-#: cp/lex.c:166
+#: cp/lex.c:158
msgid "cannot declare references to references"
msgstr "referanslara referans bildirilemez"
-#: cp/lex.c:171
+#: cp/lex.c:163
msgid "cannot declare pointers to references"
msgstr "referanslara gösterge bildirilemez"
-#: cp/lex.c:175
+#: cp/lex.c:167
msgid "type name expected before `&'"
msgstr "`&' den önce tür ismi gerekli"
-#: cp/lex.c:993
+#: cp/lex.c:894
#, c-format
msgid "semicolon missing after %s declaration"
msgstr "%s bildiriminden sonra ; yok"
-#: cp/lex.c:996
+#: cp/lex.c:897
msgid "semicolon missing after declaration of `%T'"
msgstr "`%T' bildiriminden sonra ; yok"
-#: cp/lex.c:1044
+#: cp/lex.c:945
#, c-format
msgid "junk at end of #pragma %s"
msgstr "'#pragma %s' sonrası karışık"
-#: cp/lex.c:1051
+#: cp/lex.c:952
#, c-format
msgid "invalid #pragma %s"
msgstr "'#pragma %s' geçersiz"
-#: cp/lex.c:1060
+#: cp/lex.c:961
msgid "#pragma vtable no longer supported"
msgstr "#pragma vtable artık desteklenmiyor"
-#: cp/lex.c:1137
+#: cp/lex.c:1038
#, c-format
msgid "#pragma implementation for %s appears after file is included"
msgstr "%s için #pragma oluşumu dosya içerildikten sonra görünüyor"
-#: cp/lex.c:1162
+#: cp/lex.c:1063
msgid "junk at end of #pragma GCC java_exceptions"
msgstr "#pragma GCC java_exceptions sonrası karışık"
-#: cp/lex.c:1247
+#: cp/lex.c:1107
msgid "`%D' not defined"
msgstr "'%D' tanımlı değil"
-#: cp/lex.c:1252
+#: cp/lex.c:1110
msgid "`%D' was not declared in this scope"
msgstr "bu kapsamda `%D' bildirilmemiÅŸ "
-#: cp/lex.c:1262
+#: cp/lex.c:1118
msgid "`%D' undeclared (first use this function)"
msgstr "`%D' bildirilmemiş (bu işlevde ilk kullanımı)"
-#: cp/lex.c:1266
+#: cp/lex.c:1122
msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
msgstr "(her bildirimsiz tanımlayıcı sadece işlevin içinde ilk göründüğünde bir kere raporlanır)"
-#: cp/lex.c:1289
-#, c-format
-msgid "name lookup of `%s' changed"
-msgstr "`%s' içi isim görünümü değişti"
-
-#: cp/lex.c:1291
-msgid " matches this `%D' under ISO standard rules"
-msgstr " bu `%D' ISO standardının kuralları altında eşleşiyor"
-
-#: cp/lex.c:1293
-msgid " matches this `%D' under old rules"
-msgstr " bu `%D' eski kurallar altında eşleşiyor"
-
-#: cp/lex.c:1303 cp/lex.c:1310
-#, c-format
-msgid "name lookup of `%s' changed for new ISO `for' scoping"
-msgstr "yeni ISO `for' kapsamında `%s' isim araması değişti"
-
-#: cp/lex.c:1305
-msgid " cannot use obsolete binding at `%D' because it has a destructor"
-msgstr " `%D' deki modası geçmiş bağlantı bir yıkıcıya sahip olduğundan kullanılamaz"
-
-#: cp/lex.c:1312
-msgid " using obsolete binding at `%D'"
-msgstr " `%D' deki modası geçmiş bağlantı kullanılıyor"
-
-#: cp/lex.c:1378
+#: cp/lex.c:1242
msgid "`::%D' undeclared (first use here)"
msgstr "`::%D' bildirilmemiş (burada ilk kullanımı)"
-#: cp/mangle.c:1912
+#: cp/mangle.c:2061
msgid "real-valued template parameters when cross-compiling"
msgstr "çapraz derlemede gerçek değerli şablon parametreleri"
-#: cp/method.c:157
+#: cp/mangle.c:2325
+msgid "the mangled name of `%D' will change in a future version of GCC"
+msgstr "`D' nin anlamlandırılmış ismi GCC'nin gelecek sürümünde değişecek"
+
+#: cp/mangle.c:2617
+msgid "due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name to two different types"
+msgstr "G++ 3.2 ABI içindeki bir bozulmadan dolayı, G++ iki farklı türde atanmış aynı anlamlı isim içeriyor"
+
+#: cp/method.c:154
msgid "invalid use of member `%D' in static member function"
msgstr "statik üye işlev kapsamında üye `%D' kullanımı geçersiz "
-#: cp/method.c:205
+#: cp/method.c:216
msgid "use of namespace `%D' as expression"
msgstr "isim alanı `%D' nin ifade olarak kullanımı"
-#: cp/method.c:210
+#: cp/method.c:221
msgid "use of class template `%T' as expression"
msgstr "sınıf şablonu `%T' nin ifade olarak kullanımı"
-#: cp/method.c:223
+#: cp/method.c:234
#, c-format
msgid "use of %s from containing function"
msgstr "içeren işlevden %s kullanımı"
-#: cp/method.c:226
+#: cp/method.c:237
msgid " `%#D' declared here"
msgstr " `%#D' burada bildirilmiÅŸ"
-#: cp/method.c:244
+#: cp/method.c:255
msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
msgstr "üye `%D' için istek çoklu kalıt kafesi içinde belirsiz"
-#: cp/method.c:297
-msgid "implementation-reserved name `%D' used"
-msgstr "implementation-saklı ismi `%D' kullanıldı"
-
-#: cp/method.c:428
+#: cp/method.c:458
msgid "generic thunk code fails for method `%#D' which uses `...'"
msgstr "`...' kullanan `%#D' için genel thunk kodu başarısız"
-#: cp/method.c:653
+#: cp/method.c:697
msgid "non-static const member `%#D', can't use default assignment operator"
-msgstr "statik olmayan sabit üye `%#D', öntanımlı atama işlemimi kullanamaz"
+msgstr "statik olmayan sabit üye `%#D', öntanımlı atama işleci kullanamaz"
-#: cp/method.c:658
+#: cp/method.c:702
msgid "non-static reference member `%#D', can't use default assignment operator"
-msgstr "statik olmayan referans üyesi `%#D', öntanımlı atama işlemimi kullanamaz"
+msgstr "statik olmayan referans üyesi `%#D', öntanımlı atama işleci kullanamaz"
-#: parse.y:218
+#: parse.y:261
msgid "`%s' tag used in naming `%#T'"
msgstr "`%s' etiketi `%#T' isimlemesinde kullanılmış"
-#: parse.y:510
+#: parse.y:541
msgid "keyword `export' not implemented, and will be ignored"
msgstr "`export' anahtar sözcüğü gerçekleştirilmedi, ve yoksayılacak"
-#: parse.y:615
+#: parse.y:645
msgid "use of linkage spec `%D' is different from previous spec `%D'"
msgstr "özellik ilintilemesi `%D' kullanımı önceki özellik `%D' den farklı"
-#: parse.y:688
-msgid "invalid default template argument"
-msgstr "öntanımlı şablon argümanı geçersiz"
-
-#: parse.y:919
-msgid "only constructors take base initializers"
-msgstr "temel ilklendiricileri sadece kurucular alır"
-
-#: parse.y:921
+#: parse.y:942
msgid "no base or member initializers given following ':'"
msgstr "':' ile bir temel ya da üye ilklendirici verilmemiş"
-#: parse.y:963 parse.y:969
+#: parse.y:983
msgid "anachronistic old style base class initializer"
msgstr "eski tarz temel sınıf ilklendirici zamansız"
#. Handle `Class<Class<Type>>' without space in the `>>'
-#: parse.y:1095
+#: parse.y:1116
msgid "`>>' should be `> >' in template class name"
msgstr "şablon sınıf ismindeki `>>', `> >' olmalıydı"
-#: parse.y:1133
+#: parse.y:1154
msgid "use of template qualifier outside template"
msgstr "şablon niteleyicisinin şablon dışında kullanımı"
-#: parse.y:1162 parse.y:1171
+#: parse.y:1183 parse.y:1192
#, c-format
msgid "ISO C++ forbids an empty condition for `%s'"
msgstr "ISO C++ `%s' için bir boş koşula izin vermez"
-#: parse.y:1194
+#: parse.y:1215
msgid "definition of class `%T' in condition"
msgstr "koşul içinde class `%T' tanımı"
-#: parse.y:1196
+#: parse.y:1217
msgid "definition of enum `%T' in condition"
msgstr "koşul içinde enum `%T' tanımı"
-#: parse.y:1207
+#: parse.y:1228
msgid "definition of array `%#D' in condition"
msgstr "koşul içinde dizi `%#D' tanımı"
-#: parse.y:1316
+#: parse.y:1341
msgid "old style placement syntax, use () instead"
msgstr "eski tarz yerleştirme sözdizimi, yerine () kullanın"
-#: parse.y:1327
+#: parse.y:1352
msgid "`%T' is not a valid expression"
msgstr "`%T' bir geçerli ifade değil"
-#: parse.y:1338
-msgid "ISO C++ forbids initialization of new expression with `='"
-msgstr "ISO C++ da `=' ile yeni ifade ilklendirmesine izin verilmez"
+#. This was previously allowed as an extension, but
+#. was removed in G++ 3.3.
+#: parse.y:1359
+msgid "initialization of new expression with `='"
+msgstr "new ifadesinin `=' ile ilklendirilmesi"
-#: parse.y:1369
+#: parse.y:1385
msgid "ISO C++ forbids compound literals"
msgstr "ISO C++ da birleÅŸik sabitlere izin verilmez"
-#: parse.y:1611
+#: parse.y:1632
msgid "ISO C++ forbids braced-groups within expressions"
msgstr "ISO C++ da kaşlı ayraçla gruplanmış ifadelere izin verilmez"
-#: parse.y:2013 parse.y:2028
+#: parse.y:2036 parse.y:2051
msgid "sigof type specifier"
msgstr "sigof tür belirteci"
-#: parse.y:2018
+#: parse.y:2041
msgid "`sigof' applied to non-aggregate expression"
msgstr "küme olmayan ifadeye `sigof' uygulanmış"
-#: parse.y:2033
+#: parse.y:2056
msgid "`sigof' applied to non-aggregate type"
msgstr "küme olmayan türe `sigof' uygulanmış"
-#: parse.y:2299
+#: parse.y:2322
msgid "using `typename' outside of template"
msgstr "şablon dışında `typename' kullanımı"
-#: parse.y:2370
+#: parse.y:2392
#, c-format
msgid "storage class specifier `%s' not allowed after struct or class"
msgstr "yapı ya da sınıftan sonra saklama sınıfı belirteci `%s' kullanılamaz"
-#: parse.y:2372
+#: parse.y:2394
#, c-format
msgid "type specifier `%s' not allowed after struct or class"
msgstr "yapı ya da sınıftan sonra tür belirteci `%s' kullanılamaz"
-#: parse.y:2374
+#: parse.y:2396
#, c-format
msgid "type qualifier `%s' not allowed after struct or class"
msgstr "yapı ya da sınıftan sonra `%s' tür niteleyicisine izin verilmez "
-#: parse.y:2376
+#: parse.y:2398
msgid "no body nor ';' separates two class, struct or union declarations"
msgstr "iki sınıf, yapı ya da birleşik yapı bildirimlerini ne gövdesi ne de ';' ayırır"
-#: parse.y:2508
+#: parse.y:2538
msgid "no bases given following `:'"
msgstr "':' ile bir temel verilmemiÅŸ"
-#: parse.y:2539 parse.y:2554
+#: parse.y:2569 parse.y:2584
msgid "`%D' access"
msgstr "`%D' eriÅŸimi"
-#: parse.y:2544
+#: parse.y:2574
msgid "multiple access specifiers"
msgstr "çoklu erişim belirteçleri"
-#: parse.y:2562
+#: parse.y:2592
msgid "multiple `virtual' specifiers"
msgstr "çoklu `virtual' belirteçleri"
-#: parse.y:2599
+#: parse.y:2629
msgid "missing ';' before right brace"
msgstr "'}' dan önce ';' eksik"
-#: parse.y:2820
+#: parse.y:2850
msgid "ISO C++ forbids array dimensions with parenthesized type in new"
msgstr "ISO C++ new içinde parantezli dizi indislemeye izin vermez"
-#: parse.y:3107 parse.y:3127 parse.y:3136 parse.y:3165
+#: parse.y:3137 parse.y:3157 parse.y:3166 parse.y:3195
msgid "`%T' is not a class or namespace"
msgstr "`%T' bir sınıf ya da isim alanı değil"
-#: parse.y:3332
+#: parse.y:3362
msgid "ISO C++ forbids label declarations"
msgstr "ISO C++ etiket bildirimlerine izin vermez"
-#: parse.y:3492
+#: parse.y:3522
msgid "ISO C++ forbids computed gotos"
msgstr "ISO C++ hesaplanmış goto'lara izin vermez"
-#: parse.y:3500
+#: parse.y:3530
msgid "label must be followed by statement"
msgstr "etiketi deyim izlemeli"
-#: parse.y:3545
+#: parse.y:3575
msgid "must have at least one catch per try block"
msgstr "her deneme bloğu için en azından bir yakalama içermeli"
-#: parse.y:3605
+#: parse.y:3635
msgid "ISO C++ forbids compound statements inside for initializations"
msgstr "ISO C++ bileşik deyimler içeren ilklendirmelere izin vermez"
#. This helps us recover from really nasty
#. parse errors, for example, a missing right
#. parenthesis.
-#: parse.y:3690 parse.y:3700
+#: parse.y:3722 parse.y:3732
msgid "possibly missing ')'"
msgstr "galiba ')' eksik"
-#: parse.y:3793
+#: parse.y:3825
msgid "type specifier omitted for parameter"
msgstr "parametre için tür belirteci ihmal edildi"
-#: parse.y:3802
+#: parse.y:3834
#, c-format
msgid "`%E' is not a type, use `typename %E' to make it one"
msgstr "`%E' bir tür değil, tür yapmak için `typename %E' kullanın"
-#: parse.y:3804
+#: parse.y:3836
msgid "no type `%D' in `%T'"
msgstr "`%T' içinde `%D' isminde bir tür yok"
-#: parse.y:3807
+#: parse.y:3839
#, c-format
msgid "type specifier omitted for parameter `%E'"
msgstr "parametre `%E' için tür belirteci ihmal edildi"
-#: parse.y:3815
+#: parse.y:3847
msgid "'%D' is used as a type, but is not defined as a type."
msgstr "'%D' bir tür olarak kullanılmış ama tür olarak tanımlı değil"
-#: cp/pt.c:211
+#: cp/pt.c:284
msgid "data member `%D' cannot be a member template"
msgstr "veri üyesi `%D' bir üye şablonu olamaz"
-#: cp/pt.c:223
+#: cp/pt.c:296
msgid "invalid member template declaration `%D'"
msgstr "geçersiz üye şablonu bildirimi `%D'"
-#: cp/pt.c:618
+#: cp/pt.c:691
msgid "explicit specialization in non-namespace scope `%D'"
msgstr "isim alanı olmayan `%D' içinde doğrudan özelleştirme"
-#: cp/pt.c:630
+#: cp/pt.c:703
msgid "enclosing class templates are not explicitly specialized"
msgstr "sınıf şablonlarının zarflanması doğrudan özelleştirilmiyor"
-#: cp/pt.c:705
+#: cp/pt.c:792 cp/pt.c:833
msgid "specializing `%#T' in different namespace"
msgstr " `%#T' farklı isim alanında özelleştiriliyor"
-#: cp/pt.c:706
+#: cp/pt.c:793 cp/pt.c:834
msgid " from definition of `%#D'"
msgstr " `%#D' bildiriminden"
-#: cp/pt.c:714
+#: cp/pt.c:801
msgid "specialization of `%T' after instantiation"
msgstr "gerçeklemeden sonra `%T' özelleştirmesi"
-#: cp/pt.c:717
+#: cp/pt.c:848
+msgid "specialization `%T' after instantiation `%T'"
+msgstr "%T' özelleştirmesi, `%T' gerçeklemesinden sonra"
+
+#: cp/pt.c:860
msgid "explicit specialization of non-template `%T'"
msgstr "şablon olmayan `%T' örtük özelleştirmesi"
-#: cp/pt.c:849
+#: cp/pt.c:992
msgid "specialization of %D after instantiation"
msgstr "gerçeklemeden sonra %D özelleştirmesi"
-#: cp/pt.c:952
+#: cp/pt.c:1095
msgid "%s %+#D"
msgstr "%s %+#D"
-#: cp/pt.c:1003
+#: cp/pt.c:1146
msgid "`%D' is not a function template"
msgstr "`%D' bir iÅŸlev ÅŸablonu deÄŸil"
-#: cp/pt.c:1126
+#: cp/pt.c:1285
msgid "template-id `%D' for `%+D' does not match any template declaration"
msgstr "şablon kimliği `%D', `%+D' için hiçbir şablon bildirimi ile eşleşmiyor"
-#: cp/pt.c:1134
+#: cp/pt.c:1293
msgid "ambiguous template specialization `%D' for `%+D'"
msgstr "şablon özelleştirmesi `%D', `%+D' için belirsiz"
#. This case handles bogus declarations like template <>
#. template <class T> void f<int>();
-#: cp/pt.c:1361 cp/pt.c:1435
+#: cp/pt.c:1520 cp/pt.c:1594
msgid "template-id `%D' in declaration of primary template"
msgstr "birincil ÅŸablon bildiriminde ÅŸablon kimliÄŸi `%D'"
-#: cp/pt.c:1374
+#: cp/pt.c:1533
msgid "template parameter list used in explicit instantiation"
msgstr "şablon parametre listesi doğrudan gerçekleme içinde kullanılmış"
-#: cp/pt.c:1380
+#: cp/pt.c:1539
msgid "definition provided for explicit instantiation"
msgstr "tanım doğrudan gerçekleme için üretilmiş"
-#: cp/pt.c:1386
+#: cp/pt.c:1545
msgid "too many template parameter lists in declaration of `%D'"
msgstr "`%D' bildiriminde şablon parametresi listesi çok fazla"
-#: cp/pt.c:1402
+#: cp/pt.c:1561
msgid "too few template parameter lists in declaration of `%D'"
msgstr "`%D' bildiriminde şablon parametresi listesi çok az"
-#: cp/pt.c:1419
+#: cp/pt.c:1578
msgid "explicit specialization not preceded by `template <>'"
msgstr "doğrudan özelleştirme `template <>' tarafından öncelenmiyor"
-#: cp/pt.c:1432
+#: cp/pt.c:1591
msgid "partial specialization `%D' of function template"
msgstr "işlev şablonunun `%D' kısmî özelleştirmesi"
-#: cp/pt.c:1464
+#: cp/pt.c:1623
msgid "default argument specified in explicit specialization"
msgstr "doğrudan özelleştirme içinde öntanımlı argüman belirtilmiş"
-#: cp/pt.c:1468
+#: cp/pt.c:1627
msgid "template specialization with C linkage"
msgstr "C ilintileme ile şablon özelleştirmesi"
@@ -16182,99 +16770,99 @@ msgstr "C ilintileme ile şablon özelleştirmesi"
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:1556
+#: cp/pt.c:1714
msgid "specialization of implicitly-declared special member function"
msgstr "örtük bildirimli özel üye işlev özelleştirmesi"
-#: cp/pt.c:1599
+#: cp/pt.c:1758
msgid "no member function `%D' declared in `%T'"
msgstr "`%T' içinde bildirilmiş `%D' diye bir üye işlev yok"
#. There are two many template parameter lists.
-#: cp/pt.c:1747
+#: cp/pt.c:1906
msgid "too many template parameter lists in declaration of `%T'"
msgstr "`%T' bildiriminde şablon parametresi listesi çok fazla"
-#: cp/pt.c:1843
+#: cp/pt.c:2002
msgid " shadows template parm `%#D'"
msgstr " şablon parametresi `%#D' gölgeleniyor"
-#: cp/pt.c:2247
+#: cp/pt.c:2406
msgid "template parameters not used in partial specialization:"
msgstr "kısmî özelleştirmede kullanılmayan şablon parametreleri:"
-#: cp/pt.c:2251
+#: cp/pt.c:2410
msgid " `%D'"
msgstr " `%D'"
-#: cp/pt.c:2263
+#: cp/pt.c:2422
msgid "partial specialization `%T' does not specialize any template arguments"
msgstr "kısmî özelleştirme `%T' hiç bir şablon argümanını özelleştirmiyor"
-#: cp/pt.c:2288
+#: cp/pt.c:2447
#, c-format
msgid "template argument `%E' involves template parameter(s)"
msgstr "şablon argümanı `%E' şablon parametre(ler)ini içine alıyor"
-#: cp/pt.c:2331
+#: cp/pt.c:2491
msgid "type `%T' of template argument `%E' depends on template parameter(s)"
msgstr "tür `%T' (şablon argümanı `%E' nin türü) şablon parametre(ler)ine bağımlı oluyor"
-#: cp/pt.c:2419
+#: cp/pt.c:2579
msgid "no default argument for `%D'"
msgstr "`%D' için öntanımlı argüman yok"
-#: cp/pt.c:2552
+#: cp/pt.c:2732
msgid "template with C linkage"
msgstr "C ilintilemeli ÅŸablon"
-#: cp/pt.c:2555
+#: cp/pt.c:2735
msgid "template class without a name"
msgstr "bir ismi olmayan şablon sınıfı"
-#: cp/pt.c:2632
+#: cp/pt.c:2812
msgid "`%D' does not declare a template type"
msgstr "`%D' bir şablon türü bildirmiyor"
-#: cp/pt.c:2638
+#: cp/pt.c:2818
msgid "template definition of non-template `%#D'"
msgstr "ÅŸablon olmayan `%#D' nin ÅŸablon bildirimi"
-#: cp/pt.c:2679
+#: cp/pt.c:2859
msgid "expected %d levels of template parms for `%#D', got %d"
msgstr "%d seviye umulurken `%#D' için şablon parametresi seviyesi olarak %d seviye alındı, "
-#: cp/pt.c:2691
+#: cp/pt.c:2871
msgid "got %d template parameters for `%#D'"
msgstr "%d şablon parametresi alındı (`%#D' için)"
-#: cp/pt.c:2694
+#: cp/pt.c:2874
msgid "got %d template parameters for `%#T'"
msgstr "%d şablon parametresi alındı (`%#T' için)"
-#: cp/pt.c:2696
+#: cp/pt.c:2876
#, c-format
msgid " but %d required"
msgstr " ama %d gerekiyordu"
-#: cp/pt.c:2764
+#: cp/pt.c:2959
msgid "`%T' is not a template type"
msgstr "`%T' bir şablon türü değil"
-#: cp/pt.c:2780
+#: cp/pt.c:2975
msgid "previous declaration `%D'"
msgstr "`%D' önceki bildirimi"
-#: cp/pt.c:2781
+#: cp/pt.c:2976
#, c-format
msgid "used %d template parameter%s instead of %d"
msgstr "%3$d yerine %1$d şablon parametresi kullanılmış %2$s"
-#: cp/pt.c:2797
+#: cp/pt.c:2992
msgid "template parameter `%#D'"
msgstr "ÅŸablon parametresi `%#D'"
-#: cp/pt.c:2798
+#: cp/pt.c:2993
msgid "redeclared here as `%#D'"
msgstr "burada yeniden `%#D' olarak bildirilmiÅŸ"
@@ -16282,714 +16870,713 @@ msgstr "burada yeniden `%#D' olarak bildirilmiÅŸ"
#.
#. A template-parameter may not be given default arguments
#. by two different declarations in the same scope.
-#: cp/pt.c:2808
+#: cp/pt.c:3003
msgid "redefinition of default argument for `%#D'"
msgstr "`%#D' nin öntanımlı argümanının yeniden tanımlanması"
-#: cp/pt.c:2809
+#: cp/pt.c:3004
msgid " original definition appeared here"
msgstr " özgün tanımı burada göründü"
-#: cp/pt.c:2902
+#: cp/pt.c:3097
#, c-format
msgid "`%E' is not a valid template argument"
msgstr "`%E' geçerli bir şablon argümanı değil"
-#: cp/pt.c:2906
+#: cp/pt.c:3101
msgid "it must be the address of a function with external linkage"
msgstr "o dış ilintilemeli bir işlevin adresi olmalı"
-#: cp/pt.c:2908
+#: cp/pt.c:3103
msgid "it must be the address of an object with external linkage"
msgstr "o dış ilintilemeli bir nesnenin adresi olmalı"
-#: cp/pt.c:2912
+#: cp/pt.c:3107
msgid "it must be a pointer-to-member of the form `&X::Y'"
msgstr "o `&X::Y' şeklinde bir üye göstergesi olmalı"
-#: cp/pt.c:2923
+#: cp/pt.c:3118
#, c-format
msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage"
msgstr "statik ilintilemeli bir nesnenin adresi olduğundan, dizge sabiti %E geçerli bir şablon argümanı değil"
-#: cp/pt.c:2935
+#: cp/pt.c:3130
#, c-format
msgid "address of non-extern `%E' cannot be used as template argument"
msgstr "extern olmayan`%E' nin adresi şablon argümanı olarak kullanılamaz"
-#: cp/pt.c:2946
+#: cp/pt.c:3141
#, c-format
msgid "non-constant `%E' cannot be used as template argument"
msgstr "sabit olmayan `%E' şablon argümanı olarak kullanılamaz"
-#: cp/pt.c:2953
+#: cp/pt.c:3148
#, c-format
msgid "object `%E' cannot be used as template argument"
msgstr "nesne `%E' şablon argümanı olarak kullanılamaz"
-#: cp/pt.c:3333
+#: cp/pt.c:3523
#, c-format
msgid "to refer to a type member of a template parameter, use `typename %E'"
msgstr "bir şablon parametresinin bir tür üyesine başvuru yapmak için `typename %E' kullanın"
-#: cp/pt.c:3346 cp/pt.c:3362 cp/pt.c:3401
+#: cp/pt.c:3536 cp/pt.c:3552 cp/pt.c:3591
msgid "type/value mismatch at argument %d in template parameter list for `%D'"
msgstr "şablon parametre listesindeki %d. argümanda (`%D' için) tür/değer çelişkisi"
-#: cp/pt.c:3349
+#: cp/pt.c:3539
msgid " expected a constant of type `%T', got `%T'"
msgstr " `%T' türünde bir sabit umulurken `%T' alındı"
-#: cp/pt.c:3353
+#: cp/pt.c:3543
#, c-format
msgid " expected a type, got `%E'"
msgstr " bir tür umulurken `%E' alındı "
-#: cp/pt.c:3365
+#: cp/pt.c:3555
msgid " expected a type, got `%T'"
msgstr " bir tür umulurken `%T' alındı"
-#: cp/pt.c:3367
+#: cp/pt.c:3557
msgid " expected a class template, got `%T'"
msgstr " bir sınıf şablonu umulurken `%T' alındı"
-#: cp/pt.c:3403
+#: cp/pt.c:3593
msgid " expected a template of type `%D', got `%D'"
msgstr " `%D' türünde bir şablon umulurken `%D' alındı"
-#: cp/pt.c:3425
+#: cp/pt.c:3615
msgid "template-argument `%T' uses anonymous type"
msgstr "şablon argümanı `%T' anonim tür kullanıyor"
-#: cp/pt.c:3428
+#: cp/pt.c:3618
msgid "template-argument `%T' uses local type `%T'"
msgstr "şablon argümanı `%T' yerel tür `%T' kullanıyor"
-#: cp/pt.c:3463
+#: cp/pt.c:3628
+msgid "template-argument `%T' is a variably modified type"
+msgstr "şablon argümanı `%T' değişkene göre değişen türde"
+
+#: cp/pt.c:3663
msgid "could not convert template argument `%E' to `%T'"
msgstr "şablon argümanı `%E' `%T' ye dönüştürülemedi"
-#: cp/pt.c:3507
+#: cp/pt.c:3707
#, c-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr "yanlış sayıda şablon argümanı (%d yerine %d olmalıydı)"
-#: cp/pt.c:3511
+#: cp/pt.c:3711
msgid "provided for `%D'"
msgstr "`%D' için sağlanmış"
-#: cp/pt.c:3558
+#: cp/pt.c:3758
#, c-format
msgid "template argument %d is invalid"
msgstr "şablon argümanı %d geçersiz"
-#: cp/pt.c:3790
+#: cp/pt.c:3993
msgid "non-template used as template"
msgstr "şablon olarak şablon olmayan kullanılmış"
-#: cp/pt.c:3908
+#: cp/pt.c:4125
msgid "`%T' is not a template"
msgstr "`%T' bir ÅŸablon deÄŸil"
-#: cp/pt.c:3921
+#: cp/pt.c:4138
msgid "non-template type `%T' used as a template"
msgstr "şablon olarak şablon olmayan tür `%T' kullanılmış"
-#: cp/pt.c:3923
+#: cp/pt.c:4140
msgid "for template declaration `%D'"
msgstr "şablon bildirimi `%D' için"
-#: cp/pt.c:4486
+#: cp/pt.c:4756
msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
msgstr "%d lik en büyük şablon gerçekleme derinliği `%D' gerçeklemesinde aşılıyor (en büyük değeri arttırmak için -ftemplate-depth-NN kullanın)"
-#: cp/pt.c:4921
+#: cp/pt.c:5232
msgid "ambiguous class template instantiation for `%#T'"
msgstr "`%#T' için sınıf şablonu gerçeklemesi belirsiz"
-#: cp/pt.c:4928
+#: cp/pt.c:5239
msgid "%s %+#T"
msgstr "%s %+#T"
-#: cp/pt.c:5949 cp/pt.c:6054
+#: cp/pt.c:6261 cp/pt.c:6371
msgid "instantiation of `%D' as type `%T'"
msgstr "`%D' gerçeklemesi `%T' türünde"
-#: cp/pt.c:6096
+#: cp/pt.c:6415
msgid "invalid parameter type `%T'"
msgstr "geçersiz parametre türü `%T'"
-#: cp/pt.c:6098
+#: cp/pt.c:6417
msgid "in declaration `%D'"
msgstr "`%D' bildiriminde"
-#: cp/pt.c:6173
+#: cp/pt.c:6492
msgid "creating pointer to member function of non-class type `%T'"
msgstr "sınıf olmayan `%T' türünde üye işlev göstergesi oluşturulması"
-#: cp/pt.c:6336
+#: cp/pt.c:6655
msgid "creating array with size zero"
msgstr "dizi sıfır uzunlukta oluşturuluyor"
-#: cp/pt.c:6350
+#: cp/pt.c:6669
#, c-format
msgid "creating array with size zero (`%E')"
msgstr "sıfır boyutlu dizi oluşturuluyor (`%E')"
-#: cp/pt.c:6589
+#: cp/pt.c:6908
msgid "forming reference to void"
msgstr "void'e referans oluÅŸturuluyor"
-#: cp/pt.c:6591
+#: cp/pt.c:6910
msgid "forming %s to reference type `%T'"
msgstr "%s tür `%T'ye referans oluşturuyor"
-#: cp/pt.c:6629
+#: cp/pt.c:6948
msgid "creating pointer to member of non-class type `%T'"
msgstr "sınıf olmayan `%T' türünde üye göstergesi oluşturulması"
-#: cp/pt.c:6635
+#: cp/pt.c:6954
msgid "creating pointer to member reference type `%T'"
msgstr "üye referans türü `%T' için gösterge oluşturulması"
-#: cp/pt.c:6713
+#: cp/pt.c:7032
msgid "creating array of `%T'"
msgstr "`%T' dizisi oluşturulması"
-#: cp/pt.c:6756
+#: cp/pt.c:7075
msgid "`%T' is not a class, struct, or union type"
msgstr "`%T' bir class, struct, veya union türünde değil"
-#: cp/pt.c:6866
+#: cp/pt.c:7185
#, c-format
msgid "use of `%s' in template"
msgstr "şablonda `%s' kullanımı"
-#: cp/pt.c:7629
+#: cp/pt.c:7947
msgid "type `%T' composed from a local class is not a valid template-argument"
msgstr "bir yerel sınıfan oluşturulan `%T' geçerli bir şablon argümanı değil"
-#: cp/pt.c:7630
+#: cp/pt.c:7948
msgid " trying to instantiate `%D'"
msgstr " `%D' gerçeklenmeye çalışılıyor"
-#: cp/pt.c:8060
+#: cp/pt.c:8393
msgid "incomplete type unification"
msgstr "tamamlanmamış tür birleştirme"
-#: cp/pt.c:9027
+#: cp/pt.c:9348
#, c-format
msgid "use of `%s' in template type unification"
msgstr "şablon türü birleştirmede `%s' kullanımı"
-#: cp/pt.c:9447 cp/pt.c:9515
+#: cp/pt.c:9776 cp/pt.c:9848
msgid "explicit instantiation of non-template `%#D'"
msgstr "şablon olmayan `%#D' nin doğrudan gerçeklenmesi"
-#: cp/pt.c:9463 cp/pt.c:9510
+#: cp/pt.c:9792 cp/pt.c:9843
msgid "no matching template for `%D' found"
msgstr "`%D' için eşleşen bir şablon yok"
-#: cp/pt.c:9469
+#: cp/pt.c:9798
msgid "explicit instantiation of `%#D'"
msgstr "`%#D' nin doğrudan gerçeklenmesi"
-#. [temp.spec]
-#.
-#. No program shall both explicitly instantiate and explicitly
-#. specialize a template.
-#: cp/pt.c:9486
-msgid "explicit instantiation of `%#D' after"
-msgstr "`%#D' nin doğrudan gerçeklenmesi sonra"
-
-#: cp/pt.c:9487 cp/pt.c:9624
-msgid "explicit specialization here"
-msgstr "burada doğrudan özelleştirme"
-
-#: cp/pt.c:9502
+#: cp/pt.c:9835
msgid "duplicate explicit instantiation of `%#D'"
msgstr "yinelenmiş doğrudan `%#D' gerçeklemesi"
-#: cp/pt.c:9527
+#: cp/pt.c:9860
msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
msgstr "ISO C++ doğrudan gerçeklemelerde `extern' kullanımına izin vermez"
-#: cp/pt.c:9531 cp/pt.c:9609
+#: cp/pt.c:9864 cp/pt.c:9942
msgid "storage class `%D' applied to template instantiation"
msgstr "saklama sınıfı `%D' şablon gerçeklemesine uygulanmış"
-#: cp/pt.c:9576
+#: cp/pt.c:9909
msgid "explicit instantiation of non-template type `%T'"
msgstr "şablon olmayan tür `%T' nin doğrudan gerçeklenmesi"
-#: cp/pt.c:9590
+#: cp/pt.c:9923
msgid "explicit instantiation of `%#T' before definition of template"
msgstr "şablon tanımından önce `%T' nin doğrudan gerçeklenmesi"
-#: cp/pt.c:9598
+#: cp/pt.c:9931
#, c-format
msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
msgstr "ISO C++ doğrudan gerçeklemelerde `%s' kullanımına izin vermez"
-#: cp/pt.c:9623
-msgid "explicit instantiation of `%#T' after"
-msgstr "`%#T' nin doğrudan gerçeklenmesi sonra"
-
-#: cp/pt.c:9641
+#: cp/pt.c:9975
msgid "duplicate explicit instantiation of `%#T'"
msgstr "yinelenmiş doğrudan `%#T' gerçeklemesi"
-#: cp/pt.c:10003
+#: cp/pt.c:10355
msgid "explicit instantiation of `%D' but no definition available"
msgstr "bir tanımlama olmadan `%D' nin doğrudan gerçeklenmesi"
-#: cp/pt.c:10375
+#: cp/pt.c:10758
msgid "`%#T' is not a valid type for a template constant parameter"
msgstr "`%#T' bir şablon sabiti parametresi için geçerli bir tür değildir"
-#: cp/repo.c:272
+#: cp/repo.c:271
msgid "-frepo must be used with -c"
msgstr "-frepo, -c ile kullanılmalı"
-#: cp/repo.c:366
+#: cp/repo.c:361
#, c-format
msgid "mysterious repository information in %s"
msgstr "%s içinde esrarengiz depo bilgisi"
-#: cp/repo.c:381
+#: cp/repo.c:376
#, c-format
msgid "can't create repository information file `%s'"
msgstr "depo bilgisi `%s' dosyasında oluşturulamıyor"
-#: cp/rtti.c:200
+#: cp/rtti.c:240
msgid "cannot use typeid with -fno-rtti"
msgstr "typeid, -fno-rtti ile kullanılamaz"
-#: cp/rtti.c:206
+#: cp/rtti.c:246
msgid "must #include <typeinfo> before using typeid"
msgstr "typeid kullanımından önce #include <türbilgisi> olmalı"
-#: cp/rtti.c:280
+#: cp/rtti.c:320
msgid "cannot create type information for type `%T' because its size is variable"
msgstr "boyutu değişken olduğundan tür `%T' için tür bilgisi oluşturulamıyor"
-#: 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 "`%#D' nin `%#T' ye dinamik çevirimi asla başarılı olamaz"
-#: cp/rtti.c:614
+#: cp/rtti.c:675
msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
msgstr "`%E' (`%#T' türünde) den `%#T' ye dinamik çevirim yapılamaz (%s)"
-#: cp/search.c:340
+#: cp/search.c:347
msgid "`%T' is an inaccessible base of `%T'"
msgstr "`%T', `%T' nin bir erişilemeyen tabanıdır"
-#: cp/search.c:350
+#: cp/search.c:357
msgid "`%T' is an ambiguous base of `%T'"
msgstr "`%T', `%T' nin bir belirsiz tabanıdır"
-#: cp/search.c:1820
+#. At parse time, we don't want to give this error, since
+#. we won't have enough state to make this kind of
+#. decision properly. But there are times (e.g., with
+#. enums in nested classes) when we do need to call
+#. this fn at parse time. So, in those cases, we pass
+#. complain as a 0 and just return a NULL_TREE.
+#: cp/search.c:1642
+msgid "assignment to non-static member `%D' of enclosing class `%T'"
+msgstr "`%D' statik olmayan ataması, `%T' sınıfında"
+
+#: cp/search.c:2009
msgid "adjusting pointers for covariant returns"
msgstr "ortak değişen dönüşler için göstergeler ayarlanıyor"
-#: cp/search.c:1824 cp/search.c:1831
+#: cp/search.c:2013 cp/search.c:2020
msgid "invalid covariant return type for `%#D'"
msgstr "`%#D' için ortak değişen dönüş türü geçersiz"
-#: cp/search.c:1825
+#: cp/search.c:2014
msgid " overriding `%#D' (must be pointer or reference to class)"
msgstr " `%#D' değiştiriliyor (gösterge ya da sınıfa referans olmalı)"
-#: cp/search.c:1832
+#: cp/search.c:2021
msgid " overriding `%#D' (must use pointer or reference)"
msgstr " `%#D' değiştiriliyor (gösterge ya da referans olmalı)"
-#: cp/search.c:1837
+#: cp/search.c:2026
msgid "conflicting return type specified for `%#D'"
msgstr "`%D' için çelişen dönüş türü belirtilmiş"
-#: cp/search.c:1838
+#: cp/search.c:2027
msgid " overriding `%#D'"
msgstr " `%#D' deÄŸiÅŸtiriliyor"
-#: cp/search.c:1847
+#: cp/search.c:2036
#, c-format
msgid "looser throw specifier for `%#F'"
msgstr "`%#F' için throw belirteci daha gevşek"
-#: cp/search.c:1848
+#: cp/search.c:2037
#, c-format
msgid " overriding `%#F'"
msgstr " `%#F' deÄŸiÅŸtiriliyor"
#. A static member function cannot match an inherited
#. virtual member function.
-#: cp/search.c:1938
+#: cp/search.c:2126
msgid "`%#D' cannot be declared"
msgstr "`%#D' bildirilemez"
-#: cp/search.c:1939
+#: cp/search.c:2127
msgid " since `%#D' declared in base class"
msgstr " `%#D' taban sınıfta bildirildiğinden"
-#: cp/search.c:2080
+#: cp/search.c:2268
msgid "`%#D' needs a final overrider"
msgstr "`%#D' bir son deÄŸiÅŸtirici gerektiriyor"
-#: cp/semantics.c:911
+#: cp/semantics.c:919
#, c-format
msgid "type of asm operand `%E' could not be determined"
msgstr "asm terimi `%E'nin türü saptanamadı"
-#: cp/semantics.c:1053
+#: cp/semantics.c:1051
msgid "ISO C++ does not permit named return values"
msgstr "ISO C++ isimli dönen değerlere izin vermez"
-#: cp/semantics.c:1062
+#: cp/semantics.c:1060
msgid "return identifier `%D' already in place"
msgstr "dönüş belirteci `%D' zaten yerinde"
-#: cp/semantics.c:1070
+#: cp/semantics.c:1068
msgid "can't redefine default return value for constructors"
msgstr "kurucular için öntanımlı dönüş değeri tekrar tanımlanamaz"
-#: cp/semantics.c:1137
-msgid "base initializer for `%T'"
-msgstr "`%T' için taban ilklendirici"
-
-#: cp/semantics.c:1139
-msgid " will be re-ordered to precede member initializations"
-msgstr " üye ilklendirmelerinin öncesinde yeniden sıralanmış olacak"
+#: cp/semantics.c:1100
+msgid "only constructors take base initializers"
+msgstr "temel ilklendiricileri sadece kurucular alır"
-#: cp/semantics.c:1327
+#: cp/semantics.c:1342
msgid "`this' is unavailable for static member functions"
msgstr "statik üye işlevlerde `this' kullanılmaz"
-#: cp/semantics.c:1333
+#: cp/semantics.c:1348
msgid "invalid use of `this' in non-member function"
msgstr "üye olmayan işlevde `this' kullanımı geçersiz"
-#: cp/semantics.c:1335
+#: cp/semantics.c:1350
msgid "invalid use of `this' at top level"
msgstr "tepe seviyede `this' kullanımı geçersiz"
-#: cp/semantics.c:1373
+#: cp/semantics.c:1380
msgid "calling type `%T' like a method"
msgstr "tür `%T' çağrısı tıpkı bir yöntem gibi"
-#: cp/semantics.c:1409
+#: cp/semantics.c:1418
msgid "destructor specifier `%T::~%T()' must have matching names"
msgstr "yıkıcı belirteci `%T::~%T()' uyumlu isimlere sahip olmalı"
-#: cp/semantics.c:1415
+#: cp/semantics.c:1424
msgid "`%E' is not of type `%T'"
msgstr "`%E' `%T' türünde değil"
-#: cp/semantics.c:1608
+#: cp/semantics.c:1612
msgid "template type parameters must use the keyword `class' or `typename'"
msgstr "şablon türü parametrelerde `class' ya da `typename' sözcükleri kullanılmalı"
-#: cp/semantics.c:1670
+#: cp/semantics.c:1651
+msgid "invalid default template argument"
+msgstr "öntanımlı şablon argümanı geçersiz"
+
+#: cp/semantics.c:1693
msgid "definition of `%#T' inside template parameter list"
msgstr "şablon parametre listesinde `%#T' tanımı"
-#: cp/semantics.c:1686
+#: cp/semantics.c:1709
msgid "invalid definition of qualified type `%T'"
msgstr "nitelikli tür `%T' tanımı geçersiz"
-#: cp/semantics.c:2039
+#: cp/semantics.c:2051
+msgid "invalid base-class specification"
+msgstr "ana sınıf belirtimi geçersiz"
+
+#: cp/semantics.c:2060
msgid "base class `%T' has cv qualifiers"
msgstr "taban sınıf `%T' cv niteleyiciler içeriyor"
-#: cp/semantics.c:2072
+#: cp/semantics.c:2091
msgid "multiple declarators in template declaration"
msgstr "şablon bildiriminde çoklu bildiriciler"
-#: cp/spew.c:239
+#: cp/semantics.c:2118
+#, c-format
+msgid "type of `%E' is unknown"
+msgstr "`%E' türü bilinmiyor"
+
+#: cp/spew.c:225
#, c-format
msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
msgstr "tanıtıcı ismi `%s' GNU C++ dahili adlandırma stratejisi ile çelişiyor"
-#: cp/spew.c:1017 cp/spew.c:1292
+#: cp/spew.c:1002 cp/spew.c:1340
msgid "parse error at end of saved function text"
msgstr "kayıtlı işlev metninin sonunda ayrıştırma hatası"
-#: cp/spew.c:1062
+#: cp/spew.c:1090 cp/spew.c:1178
+msgid "%Hend of file read inside definition"
+msgstr "%Hdosya sonu tanım içinde okundu"
+
+#: cp/spew.c:1121
msgid "parse error in method specification"
msgstr "yöntem özelliklerinde ayrıştırma hatası"
-#: cp/spew.c:1104
+#: cp/spew.c:1161
msgid "function body for constructor missing"
msgstr "kurucu için işlev gövdesi yok"
-#: cp/spew.c:1371
+#: cp/spew.c:1262
+msgid "%Hend of file read inside default argument"
+msgstr "%Hdosya sonu öntanımlı argüman içinde okundu"
+
+#: cp/spew.c:1419
msgid "circular dependency in default args of `%#D'"
msgstr "`%#D' lik öntanımlı argümanlarda döngüsel bağımlılık"
-#: cp/spew.c:1435
+#: cp/spew.c:1483
msgid "invalid type `%T' for default argument to `%T'"
msgstr "`%T'ye öntanımlı argüman olarak geçersiz `%T' türü"
-#: cp/spew.c:1495
+#: cp/spew.c:1548
#, c-format
msgid "%s before `%s'"
msgstr "`%2$s' den önce %1$s"
-#: cp/spew.c:1497
+#: cp/spew.c:1550
#, c-format
msgid "%s before `%c'"
msgstr "`%2$c' den önce %1$s"
-#: cp/spew.c:1499
+#: cp/spew.c:1552
#, c-format
msgid "%s before `\\%o'"
msgstr "`\\%2$o' den önce %1$s"
-#: cp/spew.c:1502
+#: cp/spew.c:1555
#, c-format
msgid "%s before `%s' token"
msgstr "`%2$s' dizgeciğinden önce %1$s"
-#: cp/tree.c:224
+#: cp/tree.c:263 cp/tree.c:275
#, c-format
msgid "non-lvalue in %s"
msgstr "%s içinde olmayan sol yan"
-#: cp/tree.c:578
+#: cp/tree.c:647
msgid "`%V' qualifiers cannot be applied to `%T'"
msgstr "`%V' niteleyicisi `%T' ye uygulanamaz"
-#: cp/tree.c:581
-msgid "ignoring `%V' qualifiers on `%T'"
-msgstr "`%V' niteleyicileri `%T'de yoksayılıyor"
-
-#: cp/tree.c:1920
+#: cp/tree.c:2026
#, c-format
msgid "`%s' attribute can only be applied to Java class definitions"
msgstr "`%s' özniteliği sadece Java sınıf tanımlarında uygulanabilir"
-#: cp/tree.c:1950
+#: cp/tree.c:2056
#, c-format
msgid "`%s' attribute can only be applied to class definitions"
msgstr "`%s' özniteliği sadece sınıf tanımlarında uygulanabilir"
-#: cp/tree.c:1956
+#: cp/tree.c:2062
#, c-format
msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
msgstr "`%s' artık kullanılmıyor; g++ vtables şimdi öntanımlı olarak COM-uyumludur"
-#: cp/tree.c:1981
+#: cp/tree.c:2087
msgid "requested init_priority is not an integer constant"
msgstr "istenen init_priority bir tamsayı sabit değil"
-#: cp/tree.c:2002
+#: cp/tree.c:2108
#, c-format
msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
msgstr "`%s' özniteliği sadece sınıf türünün nesnelerinin dosya bağlamı tanımlarında kullanılabilir"
-#: cp/tree.c:2010
+#: cp/tree.c:2116
msgid "requested init_priority is out of range"
msgstr "istenen init_priority kapsamdışı"
-#: cp/tree.c:2020
+#: cp/tree.c:2126
msgid "requested init_priority is reserved for internal use"
msgstr "istenen init_priority iç kullanım için ayrılmıştır"
-#: cp/tree.c:2030
+#: cp/tree.c:2136
#, c-format
msgid "`%s' attribute is not supported on this platform"
msgstr "bu hedefte `%s' özniteliği desteklenmiyor"
-#: cp/typeck.c:518
+#: cp/tree.c:2673
+#, c-format
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr "lang_* denetimi: %2$s:%3$d: %1$s içinde başarısız"
+
+#: cp/typeck.c:524
#, c-format
msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
msgstr "ISO C++'da işlev ve `void *' tür göstergeleri arasında %s yasaktır"
-#: cp/typeck.c:539
+#: cp/typeck.c:545
msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
msgstr "%s farklı gösterge türleri `%T' ve `%T' arasında bir çevrimi kaldırır"
-#: cp/typeck.c:1430
+#: cp/typeck.c:1438
msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
msgstr "ISO C++ `%#T' den `(...)' ya dönüşümü yasaklar"
-#: cp/typeck.c:1500
-msgid "ISO C++ forbids applying `sizeof' to a function type"
-msgstr "ISO C++ işlev türe `sizeof' uygulanmasına izin vermez"
-
-#: cp/typeck.c:1506
-msgid "ISO C++ forbids applying `sizeof' to a member function"
-msgstr "ISO C++ bir üye işleve `sizeof' uygulanmasına izin vermez"
-
-#: cp/typeck.c:1512
-msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
-msgstr "ISO C++ bir boş tür olan `void' türe `sizeof' uygulanmasına izin vermez"
-
-#: cp/typeck.c:1526
-msgid "`sizeof' applied to non-static member"
-msgstr "'sizeof' bir statik olmayan üyeye uygulandı"
+#: cp/typeck.c:1516
+#, c-format
+msgid "invalid application of `%s' to a member function"
+msgstr "üye olmayan işleve `%s' uygulanması geçersiz"
-#: cp/typeck.c:1531
-msgid "`sizeof' applied to incomplete type `%T'"
-msgstr "sizeof bir içi boş `%T' türüne uygulandı"
+#: cp/typeck.c:1522
+#, c-format
+msgid "invalid application of `%s' to non-static member"
+msgstr "statik olmayab üyeye `%s' uygulanması geçersiz"
-#: cp/typeck.c:1561
+#: cp/typeck.c:1540
msgid "sizeof applied to a bit-field"
msgstr "sizeof bir bit alanına uygulandı"
-#: cp/typeck.c:1564
+#: cp/typeck.c:1543
msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
msgstr "ISO C++ bir işlev türü ifadesine `sizeof' uygulanmasına izin vermez"
-#: cp/typeck.c:1711
+#: cp/typeck.c:1655
msgid "invalid use of non-lvalue array"
-msgstr "sol tarafsız dizi kullanımı geçersiz"
+msgstr "soldeğersiz dizi kullanımı geçersiz"
-#: cp/typeck.c:1817
+#: cp/typeck.c:1761
msgid "deprecated conversion from string constant to `%T'"
msgstr "dizge sabitten `%T' ye modası geçmiş dönüşüm"
-#: cp/typeck.c:1835
-msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
-msgstr "üye `%T::%D' için kümeleme türü olmayan tür `%T' ifadesi içinde istek"
+#: cp/typeck.c:1892 cp/typeck.c:2124
+msgid "request for member `%D' in `%E', which is of non-class type `%T'"
+msgstr "sınıf olmayan `%T' türündeki `%E'nin üyesi `%D' için istek"
+
+#: cp/typeck.c:1918
+msgid "`%D' is not a member of `%T'"
+msgstr "`%D' `%T' nin bir üyesi değil"
+
+#: cp/typeck.c:1959 cp/typeck.c:1980
+msgid "invalid access to non-static data member `%D' of NULL object"
+msgstr "NULL nesnenin static olmayan `%D' veri üyesine erişimi geçersiz"
+
+#: cp/typeck.c:1961 cp/typeck.c:1982
+msgid "(perhaps the `offsetof' macro was used incorrectly)"
+msgstr "(belki `offsetof' makrosu yanlış kullanıldı)"
-#: cp/typeck.c:2030
+#: cp/typeck.c:2170
+msgid "`%D::%D' is not a member of `%T'"
+msgstr "`%D::%D', `%T' nin bir üyesi değil"
+
+#: cp/typeck.c:2196
msgid "destructor specifier `%T::~%T' must have matching names"
msgstr "yıkıcı belirteci `%T::~%T' uyumlu isimlere sahip olmalı"
-#: cp/typeck.c:2036
+#: cp/typeck.c:2202
msgid "type `%T' has no destructor"
msgstr "tür `%T' yıkıcıya sahip değil"
-#: cp/typeck.c:2053 cp/typeck.c:2135
-msgid "invalid use of type decl `%#D' as expression"
-msgstr "ifade olarak tür bildirimi `%#D' kullanımı geçersiz"
-
-#: cp/typeck.c:2058
-msgid "invalid use of template `%#D' as expression"
-msgstr "ifade olarak tür şablon `%#D' kullanımı geçersiz"
-
-#: cp/typeck.c:2126
-msgid "`%#T' has no member named `%D'"
-msgstr "`%#T' `%D' isminde bir üye içermiyor"
-
-#: cp/typeck.c:2176 cp/typeck.c:2205
-msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
-msgstr "POD olmayan tür `%T' deki offsetof geçersiz; yerine üyeye gösterge kullanın"
+#: cp/typeck.c:2241
+msgid "`%D' is not a member template function"
+msgstr "`%D' bir üye şablon işlevi değil"
#. A pointer to incomplete type (other than cv void) can be
#. dereferenced [expr.unary.op]/1
-#: cp/typeck.c:2316
+#: cp/typeck.c:2335
msgid "`%T' is not a pointer-to-object type"
msgstr "`%T' bir nesneye gösterge türü değil"
-#: cp/typeck.c:2343
+#: cp/typeck.c:2362
#, c-format
msgid "invalid use of `%s' on pointer to member"
msgstr "üyeye göstergede `%s' kullanımı geçersiz"
-#: cp/typeck.c:2349
+#: cp/typeck.c:2368
msgid "invalid type argument"
msgstr "tür argümanı geçersiz"
-#: cp/typeck.c:2452
+#: cp/typeck.c:2471
msgid "ISO C++ forbids subscripting non-lvalue array"
msgstr "ISO C++ sol yan olmayan dizi indislemesine izin vermez"
-#: cp/typeck.c:2463
+#: cp/typeck.c:2482
msgid "subscripting array declared `register'"
msgstr "`register' olarak bildirilmiÅŸ dizi indislemesi"
-#: cp/typeck.c:2638 cp/typeck.c:2788
-msgid "pointer to member function called, but not in class scope"
-msgstr "üye işleve gösterge çağrıldı ama sınıf kapsamında değil"
-
-#: cp/typeck.c:2662
-msgid "object missing in call to method `%D'"
-msgstr "yöntem `%D' ye çağrı içinde nesne eksik"
-
-#: cp/typeck.c:2706
-msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
-msgstr "işlev `%D' aşırı yükü bildirilmiş ama onu çözümleyecek olanla görünen bir tanımı yok!?!"
-
-#: cp/typeck.c:2786
-msgid "invalid call to member function needing `this' in static member function scope"
-msgstr "statik üye işlev kapsamında `this' gerektiren üye işleve çağrı geçersiz"
+#: cp/typeck.c:2567
+#, c-format
+msgid "object missing in use of `%E'"
+msgstr "`%E' kullanımı içinde nesne eksik"
-#: cp/typeck.c:2965
+#: cp/typeck.c:2671
msgid "ISO C++ forbids calling `::main' from within program"
msgstr "ISO C++ program içinden `::main' çağrısına izin vermez"
-#: cp/typeck.c:2990
+#: cp/typeck.c:2696
#, c-format
msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
msgstr "`%E (...)' içindeki üyeye gösterge işlevi çağırmada .* ya da ->* kullanılmalı"
-#: cp/typeck.c:3003
+#: cp/typeck.c:2709
#, c-format
msgid "`%E' cannot be used as a function"
msgstr "`%E' bir işlev olarak kullanılamaz"
-#: cp/typeck.c:3128
+#: cp/typeck.c:2821
msgid "too many arguments to %s `%+#D'"
msgstr "%s `%+#D' için argümanlar çok fazla"
-#: cp/typeck.c:3169
+#: cp/typeck.c:2862
msgid "parameter type of called function is incomplete"
msgstr "çağrılan işlevin parametre türünün içi boş"
-#: cp/typeck.c:3236
+#: cp/typeck.c:2925
msgid "too few arguments to %s `%+#D'"
msgstr "%s `%+#D' için argümanlar çok az"
-#: cp/typeck.c:3364 cp/typeck.c:3374
+#: cp/typeck.c:3053 cp/typeck.c:3063
msgid "assuming cast to type `%T' from overloaded function"
msgstr "aşırı yüklü işlevden tür `%T' ye çevirim yapıldığı varsayılıyor"
-#: cp/typeck.c:3434
+#: cp/typeck.c:3123
#, c-format
msgid "division by zero in `%E / 0'"
msgstr "`%E / 0' da sıfırla bölme"
-#: cp/typeck.c:3436
+#: cp/typeck.c:3125
#, c-format
msgid "division by zero in `%E / 0.'"
msgstr "`%E / 0.' da sıfırla bölme"
-#: cp/typeck.c:3466
+#: cp/typeck.c:3155
#, c-format
msgid "division by zero in `%E %% 0'"
msgstr "`%E %% 0' da sıfırla bölme"
-#: cp/typeck.c:3468
+#: cp/typeck.c:3157
#, c-format
msgid "division by zero in `%E %% 0.'"
msgstr "`%E %% 0.' da sıfırla bölme"
-#: cp/typeck.c:3548
+#: cp/typeck.c:3237
#, c-format
msgid "%s rotate count is negative"
msgstr "%s döngü sayısı negatif"
-#: cp/typeck.c:3551
+#: cp/typeck.c:3240
#, c-format
msgid "%s rotate count >= width of type"
msgstr "%s döngü sayısı >= tür genişliği"
-#: cp/typeck.c:3582 cp/typeck.c:3587 cp/typeck.c:3678 cp/typeck.c:3683
+#: cp/typeck.c:3271 cp/typeck.c:3276 cp/typeck.c:3367 cp/typeck.c:3372
msgid "ISO C++ forbids comparison between pointer and integer"
msgstr "ISO C++ da gösterge ile tamsayı arasında karşılaştırmaya izin verilmez"
-#: cp/typeck.c:3863
+#: cp/typeck.c:3550
msgid "comparison between types `%#T' and `%#T'"
msgstr "`%#T' ile `%#T' türleri arasında karşılaştırma"
-#: cp/typeck.c:3899
+#: cp/typeck.c:3586
msgid "comparison between signed and unsigned integer expressions"
msgstr "işaretli ve işaretsiz tamsayı ifadeler arasında karşılaştırma"
-#: cp/typeck.c:3964
+#: cp/typeck.c:3651
msgid "invalid operands of types `%T' and `%T' to binary `%O'"
msgstr "iki terimli `%O' için `%T' ve `%T' türünde geçersiz terimler"
@@ -16997,274 +17584,280 @@ msgstr "iki terimli `%O' için `%T' ve `%T' türünde geçersiz terimler"
#. 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:3986
+#: cp/typeck.c:3673
msgid "NULL used in arithmetic"
msgstr "aritmetik içinde NULL kullanımı"
-#: cp/typeck.c:4053
+#: cp/typeck.c:3740
msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
msgstr "ISO C++ bir çıkartma işlemi içinde `void *' türde gösterge kullanımına izin vermez"
-#: cp/typeck.c:4055
+#: cp/typeck.c:3742
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr "ISO C++ bir çıkartma işlemi içindeki bir işleve gösterge kullanımına izin vermez"
-#: cp/typeck.c:4057
+#: cp/typeck.c:3744
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr "ISO C++ bir çıkartma işlemi içindeki bir yönteme gösterge kullanımına izin vermez"
-#: cp/typeck.c:4059
+#: cp/typeck.c:3746
msgid "ISO C++ forbids using pointer to a member in subtraction"
msgstr "ISO C++ bir çıkartma işlemi içindeki bir üyeye gösterge kullanımına izin vermez"
-#: cp/typeck.c:4071
+#: cp/typeck.c:3758
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr "gösterge aritmetiğinde tamamlanmamış türe gösterge kullanımı geçersiz"
-#: cp/typeck.c:4108
-msgid "attempt to take address of bit-field structure member `%D'"
-msgstr "bit-alanı yapının `%D' üyesinin adresi alınmaya çalışılıyor"
+#: cp/typeck.c:3818
+#, c-format
+msgid "invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id."
+msgstr "'%E' kullanımı üye işleve göstrge biçiminde geçersiz. Bir nitelikli kimlik kullanın."
-#: cp/typeck.c:4185
+#: cp/typeck.c:3824
+#, c-format
+msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+msgstr "parantez içene alınmış '%E' üye işleve gösterge biçiminde kullanılamaz"
+
+#: cp/typeck.c:3847
msgid "taking address of temporary"
msgstr "geçicinin adresi alınıyor"
-#: cp/typeck.c:4387
+#: cp/typeck.c:4088
#, c-format
msgid "ISO C++ forbids %sing an enum"
msgstr "ISO C++ bir enum'um %s-lenmesine izin vermez"
-#: cp/typeck.c:4399
+#: cp/typeck.c:4100
msgid "cannot %s a pointer to incomplete type `%T'"
msgstr "içi boş tür `%T' ye bir gösterge %s yapılamaz"
-#: cp/typeck.c:4406
+#: cp/typeck.c:4107
msgid "ISO C++ forbids %sing a pointer of type `%T'"
msgstr "ISO C++ da bir `%T' türü gösterge %s için izin verilmez"
-#: cp/typeck.c:4431
+#: cp/typeck.c:4132
msgid "cast to non-reference type used as lvalue"
msgstr "sol yan olarak kullanılmış referans olmayan türe çevirim"
-#: cp/typeck.c:4465
+#: cp/typeck.c:4166
msgid "invalid use of `--' on bool variable `%D'"
msgstr "bool değişken `%D' üstünde `--' kullanımı geçersiz"
#. ARM $3.4
-#: cp/typeck.c:4498
+#: cp/typeck.c:4199
msgid "ISO C++ forbids taking address of function `::main'"
msgstr "ISO C++ `::main' işlevinin adresinin alınmasına izin vermez"
#. An expression like &memfn.
-#: cp/typeck.c:4565
+#: cp/typeck.c:4266
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 "ISO C++ üye işleve bir gösterge şekillendirecek bir niteliksiz statik olmayan üye işlevin adresinin alınmasına izin vermez. `&%T::%D' denebilir."
-#: cp/typeck.c:4567
+#: cp/typeck.c:4268
msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say `&%T::%D'"
msgstr "ISO C++ üye işleve bir gösterge şekillendirecek bir sınır üye işlevin adresinin alınmasına izin vermez. `&%T::%D' denebilir"
-#: cp/typeck.c:4591
+#: cp/typeck.c:4292
msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
msgstr "ISO C++ bir sol yan olmayan ifadeye çevirimin adresinin alınmasına izin vermez"
-#: cp/typeck.c:4607
-msgid "unary `&'"
-msgstr "tekil `&'"
+#: cp/typeck.c:4321
+msgid "attempt to take address of bit-field structure member `%D'"
+msgstr "bit-alanı yapının `%D' üyesinin adresi alınmaya çalışılıyor"
-#: cp/typeck.c:4727
+#: cp/typeck.c:4441
msgid "taking address of destructor"
msgstr "yıkıcı adresinin alınması"
-#: cp/typeck.c:4740
+#: cp/typeck.c:4454
msgid "taking address of bound pointer-to-member expression"
msgstr "üyeye gösterge ifadesinin sınır adresi alınıyor"
-#: cp/typeck.c:4756
+#: cp/typeck.c:4470
msgid "cannot create pointer to reference member `%D'"
msgstr "referans üyesi `%D' için gösterge oluşturulamaz"
-#: cp/typeck.c:4824
+#: cp/typeck.c:4533
msgid "cannot take the address of `this', which is an rvalue expression"
msgstr "bir sağ yan ifade olarak `this'in adresi alınamaz"
-#: cp/typeck.c:4840
+#: cp/typeck.c:4552
msgid "address requested for `%D', which is declared `register'"
msgstr "`register' olarak bildirilmiş `%D' için adres isteği"
-#: cp/typeck.c:5060
+#: cp/typeck.c:4773
msgid "static_cast from type `%T' to type `%T' casts away constness"
msgstr "`%T' den `%T' ye static_cast const'suz dışına çevirim yapıyor"
-#: cp/typeck.c:5068
+#: cp/typeck.c:4781
msgid "invalid static_cast from type `%T' to type `%T'"
msgstr "tür `%T' den tür `%T' ye static_cast geçersiz"
-#: cp/typeck.c:5107
+#: cp/typeck.c:4820
msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
msgstr "tür `%T' nin bir sağ değerinin tür `%T' ye reinterpret_cast geçersiz"
-#: cp/typeck.c:5127
+#: cp/typeck.c:4840
msgid "reinterpret_cast from `%T' to `%T' loses precision"
msgstr "`%T' den `%T' ye reinterpret_cast doÄŸruluÄŸu kaybediyor"
-#: cp/typeck.c:5140
+#: cp/typeck.c:4853
msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
msgstr "`%T' den `%T' ye reinterpret_cast const (ya da volatile) dışı çevirim yapıyor"
-#: cp/typeck.c:5149
+#: cp/typeck.c:4862
msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
msgstr "ISO C++ işlev ve nesne göstergeleri arasında çevirime izin vermez"
-#: cp/typeck.c:5155
+#: cp/typeck.c:4868
msgid "invalid reinterpret_cast from type `%T' to type `%T'"
msgstr "tür `%T' den tür `%T' ye reinterpret_cast geçersiz"
-#: cp/typeck.c:5182
+#: cp/typeck.c:4895
msgid "invalid use of const_cast with type `%T', which is not a pointer, reference, nor a pointer-to-data-member type"
msgstr "ne bir gösterge ne de bir veri-üyesi-göstergesi olan tür `%T' ile const_cast kullanımı geçersiz"
-#: cp/typeck.c:5185
+#: cp/typeck.c:4898
msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
msgstr "bir gösterge ya da bir işlev türüne referans tür `%T' ile const_cast kullanımı geçersiz"
-#: cp/typeck.c:5208
+#: cp/typeck.c:4921
msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
msgstr "tür `%T' nin bir sağ değerinden tür `%T' ye const_cast geçersiz"
-#: cp/typeck.c:5224
+#: cp/typeck.c:4937
msgid "invalid const_cast from type `%T' to type `%T'"
msgstr "tür `%T' den tür `%T' ye const_cast geçersiz"
-#: cp/typeck.c:5266 cp/typeck.c:5271
+#: cp/typeck.c:4979 cp/typeck.c:4984
msgid "ISO C++ forbids casting to an array type `%T'"
msgstr "ISO C++ da `%T' dizi türüne çevirime izin verilmez"
-#: cp/typeck.c:5279
+#: cp/typeck.c:4992
msgid "invalid cast to function type `%T'"
msgstr "`%T' işlev türüne çevirim geçersiz"
-#: cp/typeck.c:5331
+#: cp/typeck.c:5044
msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
msgstr "`%T' den `%T' ye çevirim, gösterge hedef türünden niteleyicileri iptal ediyor"
-#: cp/typeck.c:5377
+#: cp/typeck.c:5090
msgid "cast from `%T' to `%T' increases required alignment of target type"
msgstr "`%T' den `%T' ye çevirim hedef türün hizalama gereksinimini arttırıyor"
-#: cp/typeck.c:5546
+#: cp/typeck.c:5258
msgid " in evaluation of `%Q(%#T, %#T)'"
msgstr " `%Q(%#T, %#T)' nin geliÅŸiminde"
-#: cp/typeck.c:5588
+#: cp/typeck.c:5300
msgid "ISO C++ forbids cast to non-reference type used as lvalue"
msgstr "ISO C++ sol yan olarak kullanılmış referanssız türe çevirime izin vermez"
-#: cp/typeck.c:5659
+#: cp/typeck.c:5372
msgid "incompatible types in assignment of `%T' to `%T'"
msgstr "`%T' den `%T' ye değer atamada uyumsuz türler"
-#: cp/typeck.c:5666
+#: cp/typeck.c:5379
msgid "ISO C++ forbids assignment of arrays"
msgstr "ISO C++ dizilerin deÄŸer atanarak bildirimine izin vermez"
-#: cp/typeck.c:5809
+#: cp/typeck.c:5522
msgid " in pointer to member function conversion"
msgstr " göstergeden üye işleve dönüşümde"
-#: cp/typeck.c:5817
+#: cp/typeck.c:5530
msgid " in pointer to member conversion"
msgstr " göstergeden üyeye dönüşümde"
#. This is a reinterpret cast, we choose to do nothing.
-#: cp/typeck.c:5828 cp/typeck.c:5847
+#: cp/typeck.c:5541 cp/typeck.c:5560
msgid "pointer to member cast via virtual base `%T' of `%T'"
msgstr "sanal taban `%T' (`%T' nin) üzerinden göstergeden üyeye çevirim"
-#: cp/typeck.c:5851
+#: cp/typeck.c:5564
msgid "pointer to member conversion via virtual base `%T' of `%T'"
msgstr "`%T' nin sanal tabanı `%T' üzerinden üye göstergesine dönüşüm"
-#: cp/typeck.c:5921
+#: cp/typeck.c:5640
msgid "invalid conversion to type `%T' from type `%T'"
msgstr "tür `%T' nin `%T' den dönüşümü geçersiz"
-#: cp/typeck.c:6086
+#: cp/typeck.c:5805
msgid "passing NULL used for non-pointer %s %P of `%D'"
msgstr "`%D' işlevinin %P. argümanında göstergesiz %s için kulanılan NULL'un aktarılmasında"
-#: cp/typeck.c:6089
+#: cp/typeck.c:5808
msgid "%s to non-pointer type `%T' from NULL"
msgstr "NULL'dan gösterge olmayan tür `%T' ye %s"
-#: cp/typeck.c:6097
+#: cp/typeck.c:5816
msgid "passing `%T' for %s %P of `%D'"
msgstr "`%D' işlevinin %P. argümanında %s için `%T'nin aktarılmasında"
-#: cp/typeck.c:6100
+#: cp/typeck.c:5819
msgid "%s to `%T' from `%T'"
msgstr "`%T' nin `%T' den %s"
-#: cp/typeck.c:6110
+#: cp/typeck.c:5829
msgid "passing negative value `%E' for %s %P of `%D'"
msgstr "`%D' işlevinin %P. argümanında %s için `%T' negatif değerinin aktarılmasında"
-#: cp/typeck.c:6113
+#: cp/typeck.c:5832
msgid "%s of negative value `%E' to `%T'"
msgstr "%s `%E' nin `%T' için negatif değeridir"
-#: cp/typeck.c:6200
+#: cp/typeck.c:5927
msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
msgstr "`%T' `%T' ye argüman `%P' den `%D' ye için dönüştürülemez"
-#: cp/typeck.c:6203
+#: cp/typeck.c:5930
msgid "cannot convert `%T' to `%T' in %s"
msgstr " `%T' `%T' ye %s içinde dönüştürülemez"
-#: cp/typeck.c:6290 cp/typeck.c:6292
+#: cp/typeck.c:6017 cp/typeck.c:6019
msgid "in passing argument %P of `%+D'"
msgstr "`%+D' nin %P. argümanının aktarılmasında"
-#: cp/typeck.c:6406
+#: cp/typeck.c:6134
msgid "returning reference to temporary"
msgstr "geçiciye referans dönüyor"
-#: cp/typeck.c:6413
+#: cp/typeck.c:6141
msgid "reference to non-lvalue returned"
msgstr "sağ yansız dönüşlüye referans"
-#: cp/typeck.c:6425
+#: cp/typeck.c:6153
msgid "reference to local variable `%D' returned"
msgstr "yerel değişken `%D' ye referansa döndürüldü"
-#: cp/typeck.c:6428
+#: cp/typeck.c:6156
msgid "address of local variable `%D' returned"
msgstr "yerel değişken `%D' adresi döndürüldü"
-#: cp/typeck.c:6459
+#: cp/typeck.c:6187
msgid "returning a value from a destructor"
msgstr "bir yıkıcıdan değer dönüyor"
#. If a return statement appears in a handler of the
#. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:6467
+#: cp/typeck.c:6195
msgid "cannot return from a handler of a function-try-block of a constructor"
msgstr "bir kurucunun bir işlev deneme bloğunun bir tutamağından döndürülemez"
#. You can't return a value from a constructor.
-#: cp/typeck.c:6470
+#: cp/typeck.c:6198
msgid "returning a value from a constructor"
msgstr "kurucudan bir değer döndürülemez"
-#: cp/typeck.c:6487
+#: cp/typeck.c:6215
msgid "return-statement with no value, in function declared with a non-void return type"
msgstr "void olmayan dönen türlü işlevde return deyimi değer almamış"
-#: cp/typeck.c:6503
+#: cp/typeck.c:6231
msgid "return-statement with a value, in function declared with a void return type"
msgstr "void dönüşlü bildirilmiş işlevde return deyiminde bir değer var"
-#: cp/typeck.c:6524
+#: cp/typeck.c:6252
msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
msgstr "`operator new', `throw()' olarak bildirilmedikçe NULL dönmemeli (ya da -fcheck-new etkisindedir)"
@@ -17272,229 +17865,181 @@ msgstr "`operator new', `throw()' olarak bildirilmedikçe NULL dönmemeli (ya da
msgid "type `%T' is not a base type for type `%T'"
msgstr "tür `%T' tür `%T' için taban tür değil"
-#: cp/typeck2.c:151
+#: cp/typeck2.c:157
msgid "cannot declare variable `%D' to be of type `%T'"
msgstr "değişken `%D' `%T' türünde bildirilemez"
-#: cp/typeck2.c:154
+#: cp/typeck2.c:160
msgid "cannot declare parameter `%D' to be of type `%T'"
msgstr "parametre `%D' `%T' türünde bildirilemez"
-#: cp/typeck2.c:157
+#: cp/typeck2.c:163
msgid "cannot declare field `%D' to be of type `%T'"
msgstr "alan `%D' `%T' türünde bildirilemez"
-#: cp/typeck2.c:161
+#: cp/typeck2.c:167
msgid "invalid return type for member function `%#D'"
msgstr "üye işlev `%#D' için dönen değer türü geçersiz"
-#: cp/typeck2.c:163
+#: cp/typeck2.c:169
msgid "invalid return type for function `%#D'"
msgstr "işlev `%#D' için dönen değer türü geçersiz"
-#: cp/typeck2.c:166
+#: cp/typeck2.c:172
msgid "cannot allocate an object of type `%T'"
msgstr "`%T' türünde bir nesne tahsis edilemez"
-#: cp/typeck2.c:173
+#: cp/typeck2.c:179
msgid " because the following virtual functions are abstract:"
msgstr " çünkü aşağıdaki sanal işlevler kuramsaldır:"
-#: cp/typeck2.c:175
+#: cp/typeck2.c:181
msgid "\t%#D"
msgstr "\t%#D"
-#: cp/typeck2.c:178
+#: cp/typeck2.c:184
msgid " since type `%T' has abstract virtual functions"
msgstr " tür `%T' mutlak sanal işlevlere sahip olduğundan"
-#: cp/typeck2.c:213
-msgid "invalid use of undefined type `%#T'"
-msgstr "tanımsız `%#T' türünün kullanımı geçersiz"
-
-#: cp/typeck2.c:214
-msgid "forward declaration of `%#T'"
-msgstr "`%#T' için ileriye bildirim"
-
-#: cp/typeck2.c:218
-msgid "invalid use of `%T'"
-msgstr "`%T' kullanımı geçersiz"
-
-#: cp/typeck2.c:232
-msgid "invalid use of member (did you forget the `&' ?)"
-msgstr "üye kullanımı geçersiz ( `&' unutuldu mu? )"
-
-#: cp/typeck2.c:236
-msgid "invalid use of template type parameter"
-msgstr "şablon türü parametre kullanımı geçersiz"
-
-#: cp/typeck2.c:243
-msgid "address of overloaded function with no contextual type information"
-msgstr "bağlamsal tür bilgileri olmayan aşırı yüklü işlev adresi"
-
-#: cp/typeck2.c:245
-msgid "overloaded function with no contextual type information"
-msgstr "bağlamsal tür bilgileri olmayan aşırı yüklü işlev"
-
-#: cp/typeck2.c:247
-msgid "insufficient contextual information to determine type"
-msgstr "türü saptayacak bağlamsal bilgiler yetersiz"
-
-#: cp/typeck2.c:301
+#: cp/typeck2.c:337
msgid "constructor syntax used, but no constructor declared for type `%T'"
msgstr "kurucu sözdizimi kullanılmış ama `%T' türü için kurucu bildirilmemiş"
-#: cp/typeck2.c:311
-msgid "initializer list construction invalid for derived class object `%D'"
-msgstr "ilklendirici liste yapısı türetilmiş sınıf nesnesi `%D' için geçersiz"
-
-#: cp/typeck2.c:313
-msgid "initializer list construction invalid for polymorphic class object `%D'"
-msgstr "ilklendirici liste yapısı polimorfik sınıf nesnesi `%D' için geçersiz"
-
-#: cp/typeck2.c:316 cp/typeck2.c:322 cp/typeck2.c:328
-msgid "initializer list construction invalid for `%D'"
-msgstr "ilklendirici liste yapısı `%D' için geçersiz"
-
-#: cp/typeck2.c:317
-msgid "due to the presence of a constructor"
-msgstr "bir kurucunun varlığından kaynaklanıyor"
-
-#: cp/typeck2.c:323 cp/typeck2.c:329
-msgid "due to non-public access of member `%D'"
-msgstr "üye `%D' nin public olmayan erişiminden dolayı"
-
-#: cp/typeck2.c:341
+#: cp/typeck2.c:348
msgid "comma expression used to initialize return value"
msgstr "dönen değeri ilklendirirken virgüllü ifadeler kullanılmış"
-#: cp/typeck2.c:350
+#: cp/typeck2.c:357
msgid "cannot initialize arrays using this syntax"
msgstr "bu sözdizimi kullanılarak diziler ilklendirilemez"
-#: cp/typeck2.c:412
-msgid "ISO C++ forbids non-constant aggregate initializer expressions"
-msgstr "ISO C++ sabit olmayan kümeleme ilklendirici ifadelerine izin vermez"
-
-#: cp/typeck2.c:498
+#: cp/typeck2.c:472
msgid "initializing array with parameter list"
msgstr "dizi parametre listesi ile ilklendiriliyor"
-#: cp/typeck2.c:554
+#: cp/typeck2.c:528
msgid "initializer for scalar variable requires one element"
msgstr "skalar değişken ilklendiricisi bir öğe gerektirir"
-#: cp/typeck2.c:561
+#: cp/typeck2.c:535
msgid "braces around scalar initializer for `%T'"
msgstr "`%T' için skalar ilklendiriciyi kuşatan parantezler"
-#: cp/typeck2.c:564
+#: cp/typeck2.c:538
msgid "ignoring extra initializers for `%T'"
msgstr "`%T' için fazladan ilklendiricilerin yoksayılması"
-#: cp/typeck2.c:576
+#: cp/typeck2.c:550
msgid "variable-sized object of type `%T' may not be initialized"
msgstr "`%T' türünden değişken-uzunluklu nesne ilklendirilmiş olmayabilir"
-#: cp/typeck2.c:586
+#: cp/typeck2.c:560
msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
msgstr "`%T' türündeki alt nesne kurucu tarafından ilklendirilmiş olmalı, `%E' tarafından değil"
-#: cp/typeck2.c:652
+#: cp/typeck2.c:626
msgid "aggregate has a partly bracketed initializer"
msgstr "küme kısmen köşeli parantezli ilklendirici içeriyor"
-#: cp/typeck2.c:690 cp/typeck2.c:791
+#: cp/typeck2.c:664 cp/typeck2.c:769
msgid "non-trivial labeled initializers"
msgstr "anlamsız olmayan etiketli ilklendiriciler"
-#: cp/typeck2.c:707
+#: cp/typeck2.c:681
msgid "non-empty initializer for array of empty elements"
msgstr "boş öğeler dizisi için boş olmayan ilklendirici"
-#: cp/typeck2.c:757
+#: cp/typeck2.c:735
msgid "initializer list for object of class with virtual base classes"
msgstr "sanal taban sınıflarla sınıf nesnesi için öndeğer listesi"
-#: cp/typeck2.c:763
+#: cp/typeck2.c:741
msgid "initializer list for object of class with base classes"
msgstr "taban sınıflarla sınıf nesnesi için öndeğer listesi"
-#: cp/typeck2.c:769
+#: cp/typeck2.c:747
msgid "initializer list for object using virtual functions"
msgstr "sanal işlevler kullanan nesne için ilklendirici listesi"
-#: cp/typeck2.c:832 cp/typeck2.c:849
+#: cp/typeck2.c:810 cp/typeck2.c:826
msgid "missing initializer for member `%D'"
msgstr "üye `%D' için ilklendirici eksik"
-#: cp/typeck2.c:837
+#: cp/typeck2.c:815
msgid "uninitialized const member `%D'"
msgstr "ilklendirilmemiş sabit üyesi `%D'"
-#: cp/typeck2.c:840
+#: cp/typeck2.c:817
msgid "member `%D' with uninitialized const fields"
msgstr "üye `%D' ilklendirilmemiş sabit alanlı"
-#: cp/typeck2.c:843
+#: cp/typeck2.c:820
msgid "member `%D' is uninitialized reference"
msgstr "üye `%D' ilklendirilmemiş referanstır"
-#: cp/typeck2.c:886
+#: cp/typeck2.c:867
msgid "index value instead of field name in union initializer"
msgstr "birleşik yapı ilklendiricideki alan isminin yerine index değeri"
-#: cp/typeck2.c:898
+#: cp/typeck2.c:879
msgid "no field `%D' in union being initialized"
msgstr "birleşik yapı ilklendirmesinde `%D' diye bir alan yok"
-#: cp/typeck2.c:906
+#: cp/typeck2.c:887
msgid "union `%T' with no named members cannot be initialized"
msgstr "union `%T' isimli üyeler yokken ilklendirilemez"
-#: cp/typeck2.c:942
+#: cp/typeck2.c:923
msgid "excess elements in aggregate initializer"
msgstr "küme ilklendiricide gereğinden fazla öğe"
-#: cp/typeck2.c:1047
+#: cp/typeck2.c:1037
msgid "circular pointer delegation detected"
msgstr "döngüsel gösterge görevlendirmesi saptandı"
-#: cp/typeck2.c:1060
+#: cp/typeck2.c:1050
msgid "base operand of `->' has non-pointer type `%T'"
msgstr "`->' için taban terim bir gösterge olmayan `%T' türünde"
-#: cp/typeck2.c:1074
+#: cp/typeck2.c:1064
msgid "result of `operator->()' yields non-pointer result"
msgstr "`operator->()' gösterge olmayan sonuç veriyor"
-#: cp/typeck2.c:1076
+#: cp/typeck2.c:1066
msgid "base operand of `->' is not a pointer"
msgstr "`->' için taban terim bir gösterge değil"
-#: cp/typeck2.c:1142
+#: cp/typeck2.c:1132
msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
msgstr "`%E', `%T' türünde olduğundan bir üye göstergesi plarak kullanılamaz"
-#: cp/typeck2.c:1149
+#: cp/typeck2.c:1139
msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
msgstr "üye göstergesi `%E' kümeleme türü olmayan `%T' türündeki `%E' ye uygulanamaz"
-#: cp/typeck2.c:1158
+#: cp/typeck2.c:1148
msgid "member type `%T::' incompatible with object type `%T'"
msgstr "üye türü `%T::' nesne türü `%T' ile uyumsuz"
-#: cp/typeck2.c:1195
+#: cp/typeck2.c:1185
msgid "`%T' fails to be a typedef or built-in type"
msgstr "`%T' bir typedef veya yerleşik tür olarak hatalı"
-#: cp/typeck2.c:1268
+#: cp/typeck2.c:1258
#, c-format
msgid "ISO C++ forbids defining types within %s"
msgstr "ISO C++ %s ile türlerin tanımlanmasına izin vermez"
+#: cp/typeck2.c:1383
+msgid "call to function `%D' which throws incomplete type `%#T'"
+msgstr "içi boş tür `%#T' yakalanırken `%D' işlevine çağrı"
+
+#: cp/typeck2.c:1386
+msgid "call to function which throws incomplete type `%#T'"
+msgstr "içi boş tür `%#T' yakalanırken işleve çağrı"
+
#. XXX Not i18n clean.
-#: cp/cp-tree.h:3854
+#: cp/cp-tree.h:3887
#, c-format
msgid "%s is deprecated, please see the documentation for details"
msgstr "%s artık kullanılmıyor, lütfen ayrıntılar için belgelere bakınız"
@@ -17556,16 +18101,14 @@ msgid "Export functions even if they can be inlined"
msgstr "Özümlenebilir olsalar bile işlevler ihracedilir"
#: cp/lang-options.h:75
-msgid "Only emit explicit template instatiations"
+msgid "Only emit explicit template instantiations"
msgstr ""
"Sadece doğrudan belirtilmiş şablon gerçeklemeleri\n"
" yayınlanır"
#: cp/lang-options.h:78
-msgid "Only emit explicit instatiations of inline templates"
-msgstr ""
-"Sadece özümleme şablonlarının doğrudan başka\n"
-" değerlerle gerçeklenmesi sağlanır"
+msgid "Only emit explicit instantiations of inline templates"
+msgstr "Sadece özümleme şablonlarının doğrudan gerçeklenmesi sağlanır"
#: cp/lang-options.h:84
msgid "Don't pedwarn about uses of Microsoft extensions"
@@ -17677,65 +18220,65 @@ msgstr ""
msgid "Don't announce deprecation of compiler features"
msgstr "Derleyici özellikleri indiriminde uyarmaz"
-#: f/bad.c:386
+#: f/bad.c:387
msgid "note:"
msgstr "bilgi:"
-#: f/bad.c:390
+#: f/bad.c:391
msgid "warning:"
msgstr "uyarı:"
-#: f/bad.c:394
+#: f/bad.c:395
msgid "fatal:"
msgstr "ölümcül:"
-#: f/bad.c:436
+#: f/bad.c:437
msgid "(continued):"
msgstr "(devam):"
-#: f/bad.c:486 f/bad.c:504
+#: f/bad.c:487 f/bad.c:505
msgid "[REPORT BUG!!] %"
msgstr "[HATAYI RAPORLAYIN!!] %"
-#: f/bad.c:493 f/bad.c:525
+#: f/bad.c:494 f/bad.c:526
msgid "[REPORT BUG!!]"
msgstr "[HATAYI RAPORLAYIN!!]"
-#: f/com.c:3122
+#: f/com.c:3132
#, no-c-format
msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
msgstr "ASSIGN'lı etiket %0 daki `%A' içine sığmıyor -- daha geniş çocuklama kullanın"
-#: f/com.c:11606
+#: f/com.c:11623
msgid "no INTEGER type can hold a pointer on this configuration"
msgstr "bu yapılandırmada bir göstergeyi tutabilen INTEGER tür yok"
-#: f/com.c:11831
+#: f/com.c:11844
#, c-format
msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
msgstr "yapılandırma: REAL, INTEGER, ve LOGICAL %d bit uzunlukta ve göstergeler de"
-#: f/com.c:11833
+#: f/com.c:11846
#, c-format
msgid "and pointers are %d bits wide, but g77 doesn't yet work"
msgstr "%d bit uzunluktadır, ama g77 hepsi 32 bit uzunlukta olmadığından henüz"
-#: f/com.c:11835
+#: f/com.c:11848
msgid "properly unless they all are 32 bits wide"
msgstr "düzgün çalışmıyor"
-#: f/com.c:11836
+#: f/com.c:11849
msgid "Please keep this in mind before you report bugs."
msgstr "Lütfen bunu gözönünde bulundurarak bir hata raporu gönderin."
#. I/O will probably crash.
-#: f/com.c:11844
+#: f/com.c:11857
#, c-format
msgid "configuration: char * holds %d bits, but ftnlen only %d"
msgstr "yapılandırma: char * %d bit tutar ama ftnlen sadece %d bittir"
#. ASSIGN 10 TO I will crash.
-#: f/com.c:11853
+#: f/com.c:11866
#, c-format
msgid ""
"configuration: char * holds %d bits, but INTEGER only %d --\n"
@@ -17744,68 +18287,68 @@ msgstr ""
"yapılandırma: char * %d bit tutar ama INTEGER sadece %d bittir\n"
" -- ASSIGN deyimi başarısız"
-#: f/com.c:13687
+#: f/com.c:13681
msgid "In statement function"
msgstr "Deyim işlevi içinde:"
-#: f/com.c:13697
+#: f/com.c:13691
msgid "Outside of any program unit:\n"
msgstr "Her program biriminin dışında:\n"
-#: f/com.c:15386
+#: f/com.c:15320
#, no-c-format
msgid "%A from %B at %0%C"
msgstr "%0%C deki %B den %A"
-#: f/com.c:15563
+#: f/com.c:15497
msgid "directory name must immediately follow -I"
msgstr "dizin ismi -I'ye yapışık yazılmalı"
-#: f/com.c:15706
+#: f/com.c:15640
#, no-c-format
msgid "At %0, INCLUDE file %A exists, but is not readable"
msgstr "%0 da, INCLUDE dosyası %A var ama okunabilir değil"
-#: f/com.c:15741
+#: f/com.c:15675
#, no-c-format
msgid "At %0, INCLUDE nesting too deep"
msgstr "%0 da, INCLUDE iç içeliği çok derin"
-#: 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 "%0 ve %1 de tek satırda iki aritmetik işlemimi -- parantez kullanın"
+msgstr "%0 ve %1 de tek satırda iki aritmetik işleci -- parantez kullanın"
-#: 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 "%0 daki işlemimi %1 dekinden daha düşük önceliğe sahip -- parantez kullanın"
+msgstr "%0 daki işleç %1 dekinden daha düşük önceliğe sahip -- parantez kullanın"
-#: 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 "%1 ve %2 deki LOGICAL terimleri için %0 da .EQ./.NE. yerine .EQV./.NEQV. kullanın"
-#: f/expr.c:10895
+#: f/expr.c:10896
#, no-c-format
msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
msgstr "%1 deki ** için desteklenmeyen terim -- öntanımlı olan INTEGER'a dönüştürülüyor"
-#: f/g77spec.c:256
+#: f/g77spec.c:234
#, c-format
msgid "overflowed output arg list for `%s'"
msgstr "`%s' için çıktı argüman listesi taştı"
-#: f/g77spec.c:395
+#: f/g77spec.c:373
msgid "--driver no longer supported"
msgstr "--driver artık desteklenmiyor"
-#: f/g77spec.c:408
+#: f/g77spec.c:386
#, c-format
msgid "argument to `%s' missing"
msgstr "`%s' için argüman eksik"
-#: f/g77spec.c:412
+#: f/g77spec.c:390
msgid "no input files; unwilling to write output files"
msgstr "girdi dosyası yok; çıktı dosyaları istemeyerek yazılıyor"
@@ -17814,121 +18357,103 @@ msgstr "girdi dosyası yok; çıktı dosyaları istemeyerek yazılıyor"
msgid "Implicit declaration of `%A' at %0"
msgstr "`%A' %0 da örtük bildirilmiş"
-#: f/lex.c:274
-#, no-c-format
-msgid "The meaning of `\\x' (at %0) varies with -traditional"
-msgstr "`\\x'in anlamı (%0 içinde) -traditional ile değişir"
-
-#: f/lex.c:325
-#, no-c-format
-msgid "The meaning of `\\a' (at %0) varies with -traditional"
-msgstr "`\\a'nın anlamı (%0 içinde) -traditional ile değişir"
-
-#: f/lex.c:355
+#: f/lex.c:326
#, no-c-format
msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
msgstr "%0 içinde ISO standardı olmayan önceleme dizgesi, '\\%A'"
-#: f/lex.c:374
+#: f/lex.c:345
#, no-c-format
msgid "Unknown escape sequence `\\%A' at %0"
msgstr "%0 içinde bilinmeyen önceleme dizgesi, `\\%A'"
-#: f/lex.c:383
+#: f/lex.c:354
#, no-c-format
msgid "Unterminated escape sequence `\\' at %0"
msgstr "%0 içinde sonlandırılmamış denetim dizgesi `\\'"
-#: f/lex.c:394
+#: f/lex.c:365
#, no-c-format
msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
msgstr "0x%A karakter kodundan önceki önceleme dizgesi %0 da, `\\' anlamsız"
-#: f/lex.c:422
+#: f/lex.c:393
#, no-c-format
msgid "\\x used at %0 with no following hex digits"
msgstr "%0 içinde \\x'den sonra onaltılık rakamlar yok"
-#: f/lex.c:436
+#: f/lex.c:407
#, no-c-format
msgid "Hex escape at %0 out of range"
msgstr "Onaltılık öncelem %0 da kapsam dışı"
-#: f/lex.c:470
+#: f/lex.c:441
#, no-c-format
msgid "Escape sequence at %0 out of range for character"
msgstr "%0 daki önceleme dizgesi karakter için kapsam dışı"
-#: f/lex.c:593
-msgid "the meaning of `\\x' varies with -traditional"
-msgstr "`\\x'in anlamı -traditional ile değişir"
-
-#: f/lex.c:630
+#: f/lex.c:595
msgid "hex escape out of range"
msgstr "onaltılık öncelem kapsam dışı"
-#: f/lex.c:676
-msgid "the meaning of `\\a' varies with -traditional"
-msgstr "`\\a'nın anlamı -traditional ile değişir"
-
-#: f/lex.c:692
+#: f/lex.c:648
#, c-format
msgid "non-ANSI-standard escape sequence, `\\%c'"
msgstr "ANSI standardı olmayan önceleme dizgesi, `\\%c'"
-#: f/lex.c:705
+#: f/lex.c:661
#, c-format
msgid "non-ISO escape sequence `\\%c'"
msgstr "ANSI standardı olmayan önceleme dizgesi, '\\%c'"
-#: f/lex.c:709
+#: f/lex.c:665
#, c-format
msgid "unknown escape sequence `\\%c'"
msgstr "bilinmeyen önceleme dizgesi, `\\%c'"
-#: f/lex.c:711
+#: f/lex.c:667
#, c-format
msgid "unknown escape sequence: `\\' followed by char code 0x%x"
msgstr "bilinmeyen önceleme dizgesi, `\\'den sonra 0x%x karakter kodu geliyor"
-#: f/lex.c:788
+#: f/lex.c:744
msgid "badly formed directive -- no closing quote"
msgstr "hatalı şekillendirilmiş yönerge -- kapatan tırnak yok"
-#: f/lex.c:846
+#: f/lex.c:802
msgid "#-lines for entering and leaving files don't match"
msgstr "girme ve bırakma dosyaları için #-satırları uyumsuz"
-#: f/lex.c:1008
+#: f/lex.c:964
msgid "bad directive -- missing close-quote"
msgstr "yönerge hatalı -- kapatan tırnak eksik"
-#: f/lex.c:1122
+#: f/lex.c:1078
#, c-format
msgid "ignoring pragma: %s"
msgstr "pragma yoksayılıyor: %s"
-#: f/lex.c:1200
+#: f/lex.c:1156
msgid "invalid #ident"
msgstr "#ident geçersiz"
-#: f/lex.c:1217
+#: f/lex.c:1173
msgid "undefined or invalid # directive"
msgstr "atanmamış ya da geçersiz # yönergesi"
-#: f/lex.c:1273
+#: f/lex.c:1229
msgid "invalid #line"
msgstr "#line geçersiz"
-#: f/lex.c:1329 f/lex.c:1373
+#: f/lex.c:1285 f/lex.c:1329
msgid "use `#line ...' instead of `# ...' in first line"
msgstr "ilk satırda `# ...' yerine `#line ...' kullanın"
-#: f/lex.c:1383
+#: f/lex.c:1339
msgid "invalid #-line"
msgstr "#-satırı geçersiz"
-#: f/lex.c:1476
+#: f/lex.c:1432
#, no-c-format
msgid "Null character at %0 -- line ignored"
msgstr "%0 da null karakter(ler) -- satır yoksayıldı"
@@ -17938,21 +18463,25 @@ msgstr "%0 da null karakter(ler) -- satır yoksayıldı"
msgid "INCLUDE at %0 not the only statement on the source line"
msgstr "%0 daki INCLUDE, kaynak satırındaki tek deyim değil"
-#: f/ste.c:1404 f/ste.c:1755
+#: f/ste.c:1400 f/ste.c:1747
msgid "ASSIGNed FORMAT specifier is too small"
msgstr "ASSIGN'lı FORMAT belirteci çok küçük"
#. ~~~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 "CHARACTER türü SELECT CASE (%0 da) desteklenmiyor -- özür"
-#: f/ste.c:2965
+#: f/ste.c:2729
+msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+msgstr "SELECT (%0 da) yinelenmiş case içeriyor -- CASE(ler) için tamsayı taşmasını kontrol edin"
+
+#: f/ste.c:2959
msgid "ASSIGN to variable that is too small"
msgstr "Değişkene ASSIGN çok küçük"
-#: f/ste.c:2993
+#: f/ste.c:2987
msgid "ASSIGNed GOTO target variable is too small"
msgstr "ASSIGN'lı GOTO hedef değişkeni çok küçük"
@@ -17961,21 +18490,21 @@ msgstr "ASSIGN'lı GOTO hedef değişkeni çok küçük"
msgid "Local adjustable symbol `%A' at %0"
msgstr "%0 da ayarlanabilir yerel sembol `%A'"
-#: f/target.c:2560
+#: f/target.c:2550
msgid "data initializer on host with different endianness"
-msgstr "farklı kıymetli bayt sıralamalı makina üzerinde veri ilklendirmesi"
+msgstr "farklı kıymetli bayt sıralamalı konak üzerinde veri ilklendirmesi"
-#: f/top.c:238
+#: f/top.c:237
#, c-format
msgid "%s no longer supported -- try -fvxt"
msgstr "%s artık desteklenmiyor -- yerine -fvxt deneyin"
-#: f/top.c:240
+#: f/top.c:239
#, c-format
msgid "%s no longer supported -- try -fno-vxt -ff90"
msgstr "%s artık desteklenmiyor -- yerine -fno-vxt -ff90 deneyin"
-#: f/top.c:308 f/top.c:310
+#: f/top.c:307 f/top.c:309
#, c-format
msgid "%s disabled, use normal debugging flags"
msgstr "%s iptal edildi, normal hata ayıklama seçeneği kullanın"
@@ -18354,7 +18883,7 @@ msgstr "%0 daki dizgecik (%1 deki ifade ya da alt ifadede) geçersiz"
#: f/bad.def:48
#, no-c-format
msgid "Missing operand for operator at %1 at end of expression at %0"
-msgstr "%1 deki işlemimi için %0 daki ifadenin sonunda terim eksik"
+msgstr "%1 deki işleç için %0 daki ifadenin sonunda terim eksik"
#: f/bad.def:51
#, no-c-format
@@ -18449,7 +18978,7 @@ msgstr "%0 daki üstel gerçel sayı için %1 de değer eksik"
#: f/bad.def:135
#, no-c-format
msgid "Expected binary operator between expressions at %0 and at %1"
-msgstr "%0 ve %1 deki ifadeler arasında iki terimli işlemimi umuluyor"
+msgstr "%0 ve %1 deki ifadeler arasında iki terimli işleci umuluyor"
#: f/bad.def:253
#, no-c-format
@@ -18509,12 +19038,12 @@ msgstr "%0 daki sonlandırıcı öncesinde sahte virgül"
#: f/bad.def:436
#, no-c-format
msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
-msgstr "%0 da, INTERFACE deyimi için ASSIGNMENT yerine atama işlemimi (=) olmayan OPERATOR belirtilmesi"
+msgstr "%0 da, INTERFACE deyimi için ASSIGNMENT yerine atama işleci (=) olmayan OPERATOR belirtilmesi"
#: f/bad.def:439
#, no-c-format
msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
-msgstr "%0 da, INTERFACE deyimi için ASSIGNMENT yerine atama işlemimi (=) olan OPERATOR belirtilmesi"
+msgstr "%0 da, INTERFACE deyimi için ASSIGNMENT yerine atama işleci (=) olan OPERATOR belirtilmesi"
#: f/bad.def:452
#, no-c-format
@@ -18614,7 +19143,7 @@ msgstr "%0 daki END deyiminde eksik olan `%A' anahtar sözcüğü %1 tarafından
#: f/bad.def:509
#, no-c-format
msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
-msgstr "%1 daki INTERFACE bir genel isim, iÅŸlemimi ya da atama belirtmediÄŸinden %0 daki MODULE PROCEDURE deyimi iptal edildi"
+msgstr "%1 daki INTERFACE bir genel isim, işleç ya da atama belirtmediğinden %0 daki MODULE PROCEDURE deyimi iptal edildi"
#: f/bad.def:512
#, no-c-format
@@ -18799,7 +19328,7 @@ msgstr "%1 için alt dizge referans içinde %0 da ':' eksik"
#: f/bad.def:650
#, no-c-format
msgid "Invalid use at %0 of substring operator on %1"
-msgstr "%1 üstünde altdizge işlemiminin %0 da kullanımı geçersiz"
+msgstr "%1 üstünde altdizge işlecinin %0 da kullanımı geçersiz"
#: f/bad.def:653
#, no-c-format
@@ -19238,319 +19767,324 @@ msgstr "Ä°sim listesi"
msgid "In anything"
msgstr "Hiçbirinde"
-#: java/check-init.c:915
+#: java/check-init.c:917
#, c-format
msgid "internal error in check-init: tree code not implemented: %s"
msgstr "check-init içinde hata: ağaç kodu oluşmadı: %s"
-#: java/check-init.c:988
+#: java/check-init.c:990
#, c-format
msgid "final field '%s' may not have been initialized"
msgstr "son alan '%s' ilklendirilmiÅŸ olmayabilir"
-#: java/class.c:568 java/class.c:593
+#: java/class.c:539 java/class.c:564
msgid "internal error - too many interface type"
msgstr "iç hata - çok fazla interface tür"
-#: java/class.c:744
+#: java/class.c:677
msgid "bad method signature"
msgstr "yöntem imzası hatalı"
-#: java/class.c:793
+#: java/class.c:726
msgid "misplaced ConstantValue attribute (not in any field)"
msgstr "ConstantValue özniteliği yanlış yerde (her alanda değil)"
-#: java/class.c:795
+#: java/class.c:728
#, c-format
msgid "duplicate ConstantValue attribute for field '%s'"
msgstr "alan '%s' için ConstantValue özniteliği yinelendi"
-#: java/class.c:806
+#: java/class.c:739
#, c-format
msgid "ConstantValue attribute of field '%s' has wrong type"
msgstr "Alan '%s' için ConstantValue özniteliği yanlış türde"
-#: java/class.c:1170
+#: java/class.c:1103
#, c-format
msgid "field '%s' not found in class"
msgstr "alan '%s' sınıfta yok"
-#: java/class.c:1432
+#: java/class.c:1365
msgid "abstract method in non-abstract class"
msgstr "kuramsal olmayan sınıfta kuramsal yöntem"
-#: java/class.c:2133
+#: java/class.c:2078
#, c-format
msgid "non-static method '%s' overrides static method"
msgstr "statik olmayan yöntem '%s' statik yönteme zorlanıyor"
-#: java/decl.c:1515
+#: java/decl.c:1541
#, c-format
msgid "In %s: overlapped variable and exception ranges at %d"
msgstr "%s içinde: %d de birbiri içinde değişken ve olağandışılık aralıkları"
-#: java/decl.c:1603
+#: java/decl.c:1622
msgid "bad type in parameter debug info"
msgstr "parametre hata ayıklama bilgisindeki tür hatalı"
-#: java/decl.c:1613
+#: java/decl.c:1632
#, c-format
msgid "bad PC range for debug info for local `%s'"
msgstr "yerel `%s' için hata ayıklama bilgisinin program sayacı (PC) kapsamı hatalı"
-#: java/expr.c:549
+#: java/expr.c:530
msgid "stack underflow - dup* operation"
msgstr "yığın alttan taşması - dup* işlemi"
-#: java/expr.c:1541
+#: java/expr.c:1534
#, c-format
msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgstr "referans `%s' belirsiz; `%s' ve `%s' arayüzlerinde görünüyor"
-#: java/expr.c:1570
+#: java/expr.c:1563
#, c-format
msgid "field `%s' not found"
msgstr "alan `%s' yok"
-#: java/expr.c:1725
+#: java/expr.c:1715
msgid "ret instruction not implemented"
msgstr "ret işlemi gerçeklenmedi"
-#: java/expr.c:1862
+#: java/expr.c:1857
#, c-format
msgid "method '%s' not found in class"
msgstr "sınıf içinde yöntem '%s' yok"
-#: java/expr.c:2066
+#: java/expr.c:2060
#, c-format
msgid "failed to find class '%s'"
msgstr "sınıf '%s' bulunamadı"
-#: java/expr.c:2078
+#: java/expr.c:2070
#, c-format
msgid "class '%s' has no method named '%s' matching signature '%s'"
msgstr "sınıf '%1$s' '%3$s' ile eşleşen '%2$s' yöntem ismini içermiyor"
-#: java/expr.c:2088
+#: java/expr.c:2080
msgid "invokestatic on non static method"
msgstr "stattik olmayan yöntemde invokestatic"
-#: java/expr.c:2093
+#: java/expr.c:2085
msgid "invokestatic on abstract method"
msgstr "kuramsal yöntemde invokestatic"
-#: java/expr.c:2101
+#: java/expr.c:2093
msgid "invoke[non-static] on static method"
msgstr "statik yöntemde invoke[non-static]"
-#: java/expr.c:2386
+#: java/expr.c:2396
#, c-format
msgid "missing field '%s' in '%s'"
msgstr "'%2$s' içinde alan '%1$s' eksik"
-#: java/expr.c:2392
+#: java/expr.c:2402
#, c-format
msgid "mismatching signature for field '%s' in '%s'"
msgstr "'%2$s' içindeki alan '%1$s' için imza çelişkili"
-#: java/expr.c:2415
+#: java/expr.c:2425
#, c-format
msgid "assignment to final field `%s' not in field's class"
msgstr "bitiş alanı `%s' ataması alanların sınıfı içinde değil"
-#: java/expr.c:2420
+#: java/expr.c:2430
#, c-format
msgid "assignment to final static field `%s' not in class initializer"
msgstr "bitiş statik alanı `%s' ataması sınıf ilklendiricisi içinde değil"
-#: java/expr.c:2427
+#: java/expr.c:2437
#, c-format
msgid "assignment to final field `%s' not in constructor"
msgstr "bitiş alanı `%s' ataması kurucu içinde değil"
-#: java/expr.c:2665
+#: java/expr.c:2684
#, c-format
msgid "can't expand %s"
msgstr "`%s' geniÅŸletilemiyor"
-#: java/expr.c:2841
+#: java/expr.c:2861
msgid "invalid PC in line number table"
msgstr "satır numarası tablosunda geçersiz program sayacı (PC)"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2886
+#: java/expr.c:2906
#, c-format
msgid "unreachable bytecode from %d to before %d"
msgstr "%d den %d nin öncesine baytkod erişilebilir değil"
#. We've just reached the end of a region of dead code.
-#: java/expr.c:2923
+#: java/expr.c:2943
#, c-format
msgid "unreachable bytecode from %d to the end of the method"
msgstr "yöntemin sonundaki %d den baytkod ulaşılabilir değil"
#. duplicate code from LOAD macro
-#: java/expr.c:3237
+#: java/expr.c:3261
msgid "unrecogized wide sub-instruction"
msgstr "geniş altişlem anlaşılamadı"
-#: java/jcf-io.c:410
+#: java/jcf-io.c:543
#, c-format
msgid "source file for class `%s' is newer than its matching class file. Source file `%s' used instead"
msgstr "sınıf %s için kaynak dosyası onunla eşleşen sınıf dosyasından daha yeni. Yerine kaynak dosyası `%s' kullanıldı"
-#: java/jcf-parse.c:376
+#: java/jcf-parse.c:338
msgid "bad string constant"
msgstr "dizge sabit hatalı"
-#: java/jcf-parse.c:394
+#: java/jcf-parse.c:356
#, c-format
msgid "bad value constant type %d, index %d"
msgstr "değer sabiti türü %d, indeks %d hatalı"
-#: java/jcf-parse.c:566
+#: java/jcf-parse.c:528
#, c-format
msgid "can't reopen %s"
msgstr "%s tekrar açılamıyor"
-#: java/jcf-parse.c:571
+#: java/jcf-parse.c:533
#, c-format
msgid "can't close %s"
msgstr "%s kapatılamıyor"
-#: java/jcf-parse.c:653
+#: java/jcf-parse.c:619
#, c-format
msgid "cannot find file for class %s"
msgstr "sınıf %s için dosya bulunamıyor"
-#: java/jcf-parse.c:665
+#: java/jcf-parse.c:631
msgid "not a valid Java .class file"
msgstr "geçerli bir Java .class dosyası değil"
-#: java/jcf-parse.c:668
+#: java/jcf-parse.c:634
msgid "error while parsing constant pool"
msgstr "sabit havuzu çözümlenirken hata"
-#: java/jcf-parse.c:671
+#: java/jcf-parse.c:637
#, c-format
msgid "error in constant pool entry #%d\n"
msgstr "sabit havuzu girdisi #%d de hata\n"
#. FIXME - where was first time
-#: java/jcf-parse.c:683
+#: java/jcf-parse.c:649
#, c-format
msgid "reading class %s for the second time from %s"
msgstr "sınıf %s ikinci defadır %s den okunuyor"
-#: java/jcf-parse.c:701
+#: java/jcf-parse.c:667
msgid "error while parsing fields"
msgstr "alanlar çözümlenirken hata"
-#: java/jcf-parse.c:704
+#: java/jcf-parse.c:670
msgid "error while parsing methods"
msgstr "yöntemler çözümlenirken hata"
-#: java/jcf-parse.c:707
+#: java/jcf-parse.c:673
msgid "error while parsing final attributes"
msgstr "bitiş öznitelikleri çözümlenirken hata"
-#: java/jcf-parse.c:721
+#: java/jcf-parse.c:687
#, c-format
msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
msgstr "`gnu.gcj.gcj-compiled' özel sıfır uzunluklu `gnu.gcj.gcj-compiled' özniteliğine sahip olmayan `%s' içinde bulundu. Bu durum genellikle sınıf dosyalarının yolu doğru belirtilmediğinde ortaya çıkar. Sınıf dosyalarının yolunun nasıl belirtileceğini açıklayan info sayfasına bakmak için komut satırından `info gcj \"Input Options\"' yazınız"
-#: java/jcf-parse.c:811
+#: java/jcf-parse.c:777
msgid "missing Code attribute"
msgstr "Code özniteliği eksik"
-#: java/jcf-parse.c:1050
+#: java/jcf-parse.c:1014
msgid "source file seen twice on command line and will be compiled only once"
msgstr "komut satırında kaynak dosyası iki kere kullanılmış ve sadece bir kere derlenecek"
-#: java/jcf-parse.c:1066
+#: java/jcf-parse.c:1030
msgid "no input file specified"
msgstr "girdi dosyası belirtilmedi"
-#: java/jcf-parse.c:1095
+#: java/jcf-parse.c:1059
#, c-format
msgid "can't close input file %s"
msgstr "girdi dosyası %s kapatılamıyor"
-#: java/jcf-parse.c:1132
+#: java/jcf-parse.c:1096
#, c-format
msgid "bad zip/jar file %s"
msgstr "zip/jar dosyası %s hatalı"
-#: java/jcf-write.c:2630
+#: java/jcf-write.c:2650
#, c-format
msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
msgstr "generate_bytecode_insn içinde hata - ağaç kodu oluşturulamadı: %s"
-#: java/jcf-write.c:2937
+#: java/jcf-write.c:2988
msgid "field initializer type mismatch"
msgstr "alan ilklendirici türü uyumsuzluğu"
-#: java/jcf-write.c:3346
+#: java/jcf-write.c:3419
#, c-format
msgid "can't create directory %s"
msgstr "dizin %s oluşturulamıyor"
-#: java/jv-scan.c:183
+#: java/jcf-write.c:3473
+#, c-format
+msgid "can't create %s"
+msgstr "%s oluşturulamıyor"
+
+#: java/jv-scan.c:187
msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
msgstr "`--print-main', `--list-class' ve `--complexity' seçeneklerinden yalnız biri kullanılabilir"
-#: java/jv-scan.c:186
+#: java/jv-scan.c:190
#, c-format
msgid "can't open output file `%s'"
msgstr "çıktı dosyası `%s' açılamıyor"
-#: java/jv-scan.c:220
+#: java/jv-scan.c:224
#, c-format
msgid "file not found `%s'"
msgstr "`%s' yok"
-#: java/jvspec.c:427
+#: java/jvspec.c:426
msgid "can't specify `-D' without `--main'\n"
msgstr "`--main' olmaksızın `-D' belirtilemez\n"
-#: java/jvspec.c:430
+#: java/jvspec.c:429
#, c-format
msgid "`%s' is not a valid class name"
msgstr "\"%s\" geçerli bir sınıf ismi değil"
-#: java/jvspec.c:436
-msgid "-R requires -o"
-msgstr " -R, -o gerektirir"
+#: java/jvspec.c:435
+msgid "--resource requires -o"
+msgstr "--resource, -o gerektirir"
-#: java/jvspec.c:443
+#: java/jvspec.c:442
msgid "warning: already-compiled .class files ignored with -C"
msgstr "uyarı: zaten derlenmiş olan .class dosyaları -C ile yoksayıldı"
-#: java/jvspec.c:450
+#: java/jvspec.c:449
msgid "cannot specify both -C and -o"
msgstr "hem -C hem de -o belirtilemez"
-#: java/jvspec.c:462
+#: java/jvspec.c:461
msgid "cannot create temporary file"
msgstr "geçici dosya oluşturulamıyor"
-#: java/jvspec.c:490
+#: java/jvspec.c:489
msgid "using both @FILE with multiple files not implemented"
msgstr "çoklu dosyalarla her iki @FILE kullanımı gerçeklenmedi"
-#: java/jvspec.c:548
+#: java/jvspec.c:538
msgid "cannot specify `main' class when not linking"
msgstr "ilintileme yapılmayacaksa `main' sınıfı belirtilemez"
-#: java/lang.c:453
+#: java/lang.c:544
msgid "can't do dependency tracking with input from stdin"
msgstr "Standart girdiden girdili bağımlılık izlemesi yapılamaz"
-#: java/lang.c:469
+#: java/lang.c:560
msgid "couldn't determine target name for dependency tracking"
msgstr "bağımlılık izlemesi için hedef isim saptanamıyor"
-#: java/lex.c:308
+#: java/lex.c:303
#, c-format
msgid ""
"unknown encoding: `%s'\n"
@@ -19569,192 +20103,232 @@ msgstr ""
msgid "can't mangle %s"
msgstr "%s anlamlandırılamıyor"
-#: 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 "iç hata - Utf8 ismi geçersiz"
-#: /usr/share/bison.simple:650
-msgid "parse error; also virtual memory exceeded"
-msgstr "ayrıştırma hatası; ayrıca sanal bellek aşıldı"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:747 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:785
-msgid "Missing name"
-msgstr "Ä°sim eksik"
+#: ../../gcc/java/parse-scan.y:881 ../../gcc/java/parse.y:962
+#: ../../gcc/java/parse.y:1303 ../../gcc/java/parse.y:1364
+#: ../../gcc/java/parse.y:1574 ../../gcc/java/parse.y:1796
+#: ../../gcc/java/parse.y:1805 ../../gcc/java/parse.y:1816
+#: ../../gcc/java/parse.y:1827 ../../gcc/java/parse.y:1839
+#: ../../gcc/java/parse.y:1854 ../../gcc/java/parse.y:1871
+#: ../../gcc/java/parse.y:1873 ../../gcc/java/parse.y:1945
+#: ../../gcc/java/parse.y:2116 ../../gcc/java/parse.y:2178
+#: ../../gcc/java/parse.y:2330 ../../gcc/java/parse.y:2342
+#: ../../gcc/java/parse.y:2349 ../../gcc/java/parse.y:2356
+#: ../../gcc/java/parse.y:2367 ../../gcc/java/parse.y:2369
+#: ../../gcc/java/parse.y:2407 ../../gcc/java/parse.y:2409
+#: ../../gcc/java/parse.y:2411 ../../gcc/java/parse.y:2432
+#: ../../gcc/java/parse.y:2434 ../../gcc/java/parse.y:2436
+#: ../../gcc/java/parse.y:2452 ../../gcc/java/parse.y:2454
+#: ../../gcc/java/parse.y:2475 ../../gcc/java/parse.y:2477
+#: ../../gcc/java/parse.y:2479 ../../gcc/java/parse.y:2507
+#: ../../gcc/java/parse.y:2509 ../../gcc/java/parse.y:2511
+#: ../../gcc/java/parse.y:2513 ../../gcc/java/parse.y:2531
+#: ../../gcc/java/parse.y:2533 ../../gcc/java/parse.y:2544
+#: ../../gcc/java/parse.y:2555 ../../gcc/java/parse.y:2566
+#: ../../gcc/java/parse.y:2577 ../../gcc/java/parse.y:2588
+#: ../../gcc/java/parse.y:2601 ../../gcc/java/parse.y:2605
+#: ../../gcc/java/parse.y:2607 ../../gcc/java/parse.y:2620
+msgid "Missing term"
+msgstr "Terim eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:749 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:787 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:812 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:996 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1343 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1554 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1556 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1785 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1811 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1822 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1833 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1845
+#: ../../gcc/java/parse-scan.y:883 ../../gcc/java/parse.y:734
+#: ../../gcc/java/parse.y:772 ../../gcc/java/parse.y:797
+#: ../../gcc/java/parse.y:983 ../../gcc/java/parse.y:1338
+#: ../../gcc/java/parse.y:1550 ../../gcc/java/parse.y:1552
+#: ../../gcc/java/parse.y:1781 ../../gcc/java/parse.y:1807
+#: ../../gcc/java/parse.y:1818 ../../gcc/java/parse.y:1829
+#: ../../gcc/java/parse.y:1841 ../../gcc/java/parse.y:1856
msgid "';' expected"
msgstr "';' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:810
+#: ../../gcc/java/parse.y:732 ../../gcc/java/parse.y:770
+msgid "Missing name"
+msgstr "Ä°sim eksik"
+
+#: ../../gcc/java/parse.y:795
msgid "'*' expected"
msgstr "'*' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:824
+#: ../../gcc/java/parse.y:809
msgid "Class or interface declaration expected"
msgstr "Sınıf ya da arabirim bildirimi gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:859 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:861
+#: ../../gcc/java/parse.y:846 ../../gcc/java/parse.y:848
msgid "Missing class name"
msgstr "Sınıf ismi yok"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:864 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:868 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:876 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1041 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1289 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1291 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1620 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1856 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1888 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1940
+#: ../../gcc/java/parse.y:851 ../../gcc/java/parse.y:855
+#: ../../gcc/java/parse.y:863 ../../gcc/java/parse.y:1023
+#: ../../gcc/java/parse.y:1284 ../../gcc/java/parse.y:1286
+#: ../../gcc/java/parse.y:1616 ../../gcc/java/parse.y:1867
+#: ../../gcc/java/parse.y:1899 ../../gcc/java/parse.y:1952
msgid "'{' expected"
msgstr "'{' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:878
+#: ../../gcc/java/parse.y:865
msgid "Missing super class name"
msgstr "Süper sınıf ismi eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:888 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:904
+#: ../../gcc/java/parse.y:875 ../../gcc/java/parse.y:891
msgid "Missing interface name"
msgstr "Arabirim ismi yok"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:975 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1308 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1369 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1578 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1800 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1809 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1820 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1831 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1843 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1860 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1862 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1933 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2104 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2166 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2318 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2330 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2337 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2344 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2355 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2357 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2395 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2397 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2399 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2420 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2422 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2424 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2440 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2442 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2463 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2465 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2467 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2495 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2497 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2499 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2501 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2519 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2521 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2532 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2543 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2554 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2565 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2576 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2589 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2593 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2595 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2608
-msgid "Missing term"
-msgstr "Terim eksik"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:990
+#: ../../gcc/java/parse.y:977
msgid "Missing variable initializer"
msgstr "DeÄŸiÅŸken ilklendirici eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1007
+#: ../../gcc/java/parse.y:994
msgid "Invalid declaration"
msgstr "Geçersiz bildirim"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1013
-msgid "Can't specify array dimension in a declaration"
-msgstr "Dizi boyutları bildirim sırasında belirtilemez"
-
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1015 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1091 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2141 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2163 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2167 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2202 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2279 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2289
+#: ../../gcc/java/parse.y:997 ../../gcc/java/parse.y:1082
+#: ../../gcc/java/parse.y:2153 ../../gcc/java/parse.y:2175
+#: ../../gcc/java/parse.y:2179 ../../gcc/java/parse.y:2214
+#: ../../gcc/java/parse.y:2291 ../../gcc/java/parse.y:2301
msgid "']' expected"
msgstr "']' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1019
+#: ../../gcc/java/parse.y:1001
msgid "Unbalanced ']'"
msgstr "karşılıksız ']'"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1055
+#: ../../gcc/java/parse.y:1037
msgid "Invalid method declaration, method name required"
msgstr "Yöntem bildirimi geçersiz, yöntem ismi gerekiyor"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1061 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1063 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2024
+#: ../../gcc/java/parse.y:1042 ../../gcc/java/parse.y:1047
+#: ../../gcc/java/parse.y:1052 ../../gcc/java/parse.y:2036
msgid "Identifier expected"
msgstr "Tanıtıcı gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1066
+#: ../../gcc/java/parse.y:1057
msgid "Invalid method declaration, return type required"
msgstr "Yöntem bildirimi geçersiz, return türü gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1089 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1534 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1541 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1550 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1552 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1580 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1688 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1969 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2022
+#: ../../gcc/java/parse.y:1080 ../../gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1537 ../../gcc/java/parse.y:1546
+#: ../../gcc/java/parse.y:1548 ../../gcc/java/parse.y:1576
+#: ../../gcc/java/parse.y:1684 ../../gcc/java/parse.y:1981
+#: ../../gcc/java/parse.y:2034
msgid "')' expected"
msgstr "')' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1105
+#: ../../gcc/java/parse.y:1096
msgid "Missing formal parameter term"
msgstr "Biçimsel parametre terimi eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1120 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1125
+#: ../../gcc/java/parse.y:1111 ../../gcc/java/parse.y:1116
msgid "Missing identifier"
msgstr "Tanıtıcı eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1145 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1154
+#: ../../gcc/java/parse.y:1136 ../../gcc/java/parse.y:1145
msgid "Missing class type term"
msgstr "class tür terimi eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1306
+#: ../../gcc/java/parse.y:1301
msgid "Invalid interface type"
msgstr "Geçersiz arabirim türü"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1498 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1667 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1669
+#: ../../gcc/java/parse.y:1494 ../../gcc/java/parse.y:1663
+#: ../../gcc/java/parse.y:1665
msgid "':' expected"
msgstr "':' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1520 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1525 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1530
+#: ../../gcc/java/parse.y:1516 ../../gcc/java/parse.y:1521
+#: ../../gcc/java/parse.y:1526
msgid "Invalid expression statement"
msgstr "Geçersiz ifade satırı"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1548 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1576 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1616 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1684 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1752 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1858 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1926 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2016 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2018 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2026 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2262 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2264
+#: ../../gcc/java/parse.y:1544 ../../gcc/java/parse.y:1572
+#: ../../gcc/java/parse.y:1612 ../../gcc/java/parse.y:1680
+#: ../../gcc/java/parse.y:1748 ../../gcc/java/parse.y:1869
+#: ../../gcc/java/parse.y:1938 ../../gcc/java/parse.y:2028
+#: ../../gcc/java/parse.y:2030 ../../gcc/java/parse.y:2038
+#: ../../gcc/java/parse.y:2274 ../../gcc/java/parse.y:2276
msgid "'(' expected"
msgstr "'(' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1618
+#: ../../gcc/java/parse.y:1614
msgid "Missing term or ')'"
msgstr "Terim ya da ')' eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1665
+#: ../../gcc/java/parse.y:1661
msgid "Missing or invalid constant expression"
msgstr "Geçersiz ya da eksik sabit ifadesi"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1686
+#: ../../gcc/java/parse.y:1682
msgid "Missing term and ')' expected"
msgstr "Terim eksik ve ')' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1725
+#: ../../gcc/java/parse.y:1721
msgid "Invalid control expression"
msgstr "Geçersiz denetim ifadesi"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1727 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1729
+#: ../../gcc/java/parse.y:1723 ../../gcc/java/parse.y:1725
msgid "Invalid update expression"
msgstr "Geçersiz güncelleme ifadesi"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1754
+#: ../../gcc/java/parse.y:1750
msgid "Invalid init statement"
msgstr "Geçersiz ilklendirme satırı"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1929
+#: ../../gcc/java/parse.y:1941
msgid "Missing term or ')' expected"
msgstr "Terim eksik ya da ')' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1971
+#: ../../gcc/java/parse.y:1983
msgid "'class' or 'this' expected"
msgstr "'class' ya da 'this' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1973 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:1975
+#: ../../gcc/java/parse.y:1985 ../../gcc/java/parse.y:1987
msgid "'class' expected"
msgstr "'class' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2020
+#: ../../gcc/java/parse.y:2032
msgid "')' or term expected"
msgstr "')' ya da terim gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2139
+#: ../../gcc/java/parse.y:2151
msgid "'[' expected"
msgstr "'[' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2217
+#: ../../gcc/java/parse.y:2229
msgid "Field expected"
msgstr "Alan gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2274 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2284
+#: ../../gcc/java/parse.y:2286 ../../gcc/java/parse.y:2296
msgid "Missing term and ']' expected"
msgstr "Terim eksik ve ']' gerekli"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2388
+#: ../../gcc/java/parse.y:2400
msgid "']' expected, invalid type expression"
msgstr "']' gerekli ve tür ifadesi geçersiz"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2391
+#: ../../gcc/java/parse.y:2403
msgid "Invalid type expression"
msgstr "Geçersiz tür ifadesi"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2503
+#: ../../gcc/java/parse.y:2515
msgid "Invalid reference type"
msgstr "Geçersiz referans türü"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2981
+#: ../../gcc/java/parse.y:2993
msgid "Constructor invocation must be first thing in a constructor"
msgstr "Constructor çağrısı bir kurucu içindeki ilk şey olmalı"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2983
+#: ../../gcc/java/parse.y:2995
msgid "Only constructors can invoke constructors"
msgstr "Sadece kurucular birbirini çağırabilir"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:2992
+#: ../../gcc/java/parse.y:3004
#, c-format
msgid ": `%s' JDK1.1(TM) feature"
msgstr ": `%s' JDK1.1(TM) özelliği"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:3052 /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:3054
+#: ../../gcc/java/parse.y:3064 ../../gcc/java/parse.y:3066
#, c-format
msgid ""
"%s.\n"
@@ -19763,54 +20337,54 @@ msgstr ""
"%s.\n"
"%s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:6833
+#: ../../gcc/java/parse.y:6879
#, c-format
msgid "malformed .zip archive in CLASSPATH: %s"
msgstr "CLASSPATH içinde bozuk .zip arşivi: %s"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:6904
+#: ../../gcc/java/parse.y:6950
#, c-format
msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives"
msgstr "Öntanımlı `%s' paketi bulunamıyor. CLASSPATH ortam değişkenini ve arşivlere erişimi kontrol ediniz"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12228
+#: ../../gcc/java/parse.y:12352
#, c-format
msgid "missing static field `%s'"
msgstr "statik alan `%s' eksik"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12233
+#: ../../gcc/java/parse.y:12357
#, c-format
msgid "not a static field `%s'"
msgstr "`%s' bir statik alan deÄŸil"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:12276
+#: ../../gcc/java/parse.y:12400
#, c-format
msgid "No case for %s"
msgstr "%s için uygun bir case yok"
-#: /abuild/pthomas/gcc-3.1-20020415/gcc/java/parse.y:13122
+#: ../../gcc/java/parse.y:13365
#, c-format
msgid "unregistered operator %s"
-msgstr "%s işlemimi tanınmıyor"
+msgstr "%s işleci tanınmıyor"
-#: java/typeck.c:178
-msgid "internal error - use of undefined type"
-msgstr "iç hata - atanmamış tür kullanımı"
-
-#: java/typeck.c:566
+#: java/typeck.c:553
msgid "junk at end of signature string"
msgstr "imza dizgesinden sonrası karışık"
-#: java/verify.c:480
+#: java/verify.c:479
msgid "bad pc in exception_table"
msgstr "exception_table içindeki pc hatalı"
-#: java/verify.c:1392
+#: java/verify.c:485
+msgid "exception handler inside code that is being protected"
+msgstr "hata değişkeni korunmuş kodun içinde"
+
+#: java/verify.c:1395
#, c-format
msgid "unknown opcode %d@pc=%d during verification"
msgstr "doğrulama sırasında bilinmeyen opkod %d@pc=%d"
-#: 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 "PC=%d de doğrulama hatası"
@@ -19889,121 +20463,132 @@ msgstr ""
"Sanal yöntem çağrıları için adresleme tabloları\n"
" kullanılır"
-#: objc/objc-act.c:606
-msgid "no class name specified as argument to -fconstant-string-class"
-msgstr "-fconstant-string-class için argüman olarak sınıf ismi belirtilmemiş"
-
-#: objc/objc-act.c:757
+#: objc/objc-act.c:651
#, c-format
msgid "object does not conform to the `%s' protocol"
msgstr "nesne `%s'protokolüne uygun değil"
-#: objc/objc-act.c:801
+#: objc/objc-act.c:737 objc/objc-act.c:810
#, c-format
msgid "class `%s' does not implement the `%s' protocol"
msgstr "`%s' sınıfı `%s' protokolünü desteklemiyor"
-#: objc/objc-act.c:882
+#: objc/objc-act.c:914
#, c-format
msgid "`%s' cannot be statically allocated"
msgstr "`%s' statik olarak ayrılamıyor"
-#: objc/objc-act.c:939
+#: objc/objc-act.c:963
#, c-format
msgid "unexpected type for `id' (%s)"
msgstr "`id' için umulmadık tür (%s)"
-#: objc/objc-act.c:944
+#: objc/objc-act.c:968
msgid "undefined type `id', please import <objc/objc.h>"
msgstr "Atanmamış tür `id', lütfen <objc/objc.h> dahil edin"
-#: objc/objc-act.c:996
+#: objc/objc-act.c:1019
#, c-format
msgid "protocol `%s' has circular dependency"
msgstr "protokol `%s' döngüsel bağımlılık içeriyor"
-#: objc/objc-act.c:1018 objc/objc-act.c:5229
+#: objc/objc-act.c:1041 objc/objc-act.c:5301
#, c-format
msgid "cannot find protocol declaration for `%s'"
msgstr "`%s' için protokol bildirimi bulunamıyor"
-#: objc/objc-act.c:1279 objc/objc-act.c:5747 objc/objc-act.c:6077 objc/objc-act.c:6126 objc/objc-act.c:6162 objc-parse.y:1752
+#: 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:1799
#, c-format
msgid "cannot find interface declaration for `%s'"
msgstr "`%s' için arabirim bildirimi bulunamıyor"
-#: objc/objc-act.c:1304
+#: objc/objc-act.c:1328
#, c-format
msgid "cannot find reference tag for class `%s'"
msgstr "sınıf `%s' için referans etiketi bulunamıyor"
-#: objc/objc-act.c:2314
+#: objc/objc-act.c:2050
+#, c-format
+msgid "creating selector for non existant method %s"
+msgstr "omayan yöntem %s için ayraç oluşturuyor"
+
+#: objc/objc-act.c:2364
#, c-format
msgid "cannot find class `%s'"
msgstr "sınıf `%s' bulunamıyor"
-#: objc/objc-act.c:2316
+#: objc/objc-act.c:2366
#, c-format
msgid "class `%s' already exists"
msgstr "sınıf `%s' zaten var"
#. fatal did not work with 2 args...should fix
-#: objc/objc-act.c:2440
+#: objc/objc-act.c:2473
#, c-format
msgid "cannot find interface declaration for `%s', superclass of `%s'"
msgstr "`%s' için arabirim bildirimi ve `%s' süper sınıfı bulunamıyor"
-#: objc/objc-act.c:2447
+#: objc/objc-act.c:2480
#, c-format
msgid "circular inheritance in interface declaration for `%s'"
msgstr "`%s' için arabirim bildiriminde döngüsel kalıtım"
-#: objc/objc-act.c:3500 objc/objc-act.c:3517
+#: objc/objc-act.c:3566 objc/objc-act.c:3583
msgid "inconsistent instance variable specification"
msgstr "çelişkili gerçekleme değişkeni özelliği"
-#: objc/objc-act.c:4710
+#: objc/objc-act.c:4580
+msgid "can not use an object as parameter to a method\n"
+msgstr "bir nesne bir yöntemde parametre olarak kullanılamaz\n"
+
+#: objc/objc-act.c:4780
#, c-format
msgid "multiple declarations for method `%s'"
msgstr "`%s' yöntemi için çok sayıda bildirim"
-#: objc/objc-act.c:4876
+#: objc/objc-act.c:4946
#, c-format
msgid "invalid receiver type `%s'"
msgstr "alıcı tür `%s' geçersiz"
-#: objc/objc-act.c:4907 objc/objc-act.c:4933 objc/objc-act.c:4981
+#: 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 "`%s' `%s' i yanıtlamıyor"
-#: objc/objc-act.c:4913 objc/objc-act.c:7197
+#: objc/objc-act.c:4983 objc/objc-act.c:7318
#, c-format
msgid "no super class declared in interface for `%s'"
msgstr "Arabirim içinde `%s' için süper sınıf bildirilmemiş"
-#: objc/objc-act.c:5011
+#: objc/objc-act.c:5081
msgid "cannot find class (factory) method"
msgstr "sınıf yöntemi bulunamıyor"
-#: objc/objc-act.c:5012 objc/objc-act.c:5056
+#: objc/objc-act.c:5082 objc/objc-act.c:5126
#, c-format
msgid "return type for `%s' defaults to id"
msgstr "`%s' için dönen tür id ye öntanımlı"
-#: objc/objc-act.c:5029
+#: objc/objc-act.c:5099
#, c-format
msgid "method `%s' not implemented by protocol"
msgstr "yöntem `%s' protokol tarafından gerçekleştirilmiyor"
-#: objc/objc-act.c:5038
+#: objc/objc-act.c:5108
msgid "return type defaults to id"
msgstr "dönen tür id ye öntanımlı"
-#: objc/objc-act.c:5055
+#: objc/objc-act.c:5125
msgid "cannot find method"
msgstr "yöntem bulunamıyor"
+#: objc/objc-act.c:5399
+#, c-format
+msgid "undeclared selector `%s'"
+msgstr "bildirilmemiş ayraç `%s'"
+
#. 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
@@ -20013,108 +20598,108 @@ msgstr "yöntem bulunamıyor"
#. 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:5298
+#: objc/objc-act.c:5443
#, c-format
msgid "instance variable `%s' accessed in class method"
msgstr "gerçekleme değişkeni `%s' sınıf yönteminden erişimli"
-#: objc/objc-act.c:5548
+#: objc/objc-act.c:5678
#, c-format
msgid "duplicate definition of class method `%s'"
msgstr "sınıf yöntemi `%s' birden fazla atanmış"
-#: objc/objc-act.c:5554
+#: objc/objc-act.c:5684
#, c-format
msgid "duplicate declaration of class method `%s'"
msgstr "sınıf yöntemi `%s' birden fazla bildirilmiş"
-#: objc/objc-act.c:5590
+#: objc/objc-act.c:5720
#, c-format
msgid "duplicate definition of instance method `%s'"
msgstr "gerçekleme yöntemi `%s' birden fazla atanmış"
-#: objc/objc-act.c:5596
+#: objc/objc-act.c:5726
#, c-format
msgid "duplicate declaration of instance method `%s'"
msgstr "gerçekleme yöntemi `%s' birden fazla bildirilmiş"
-#: objc/objc-act.c:5636
+#: objc/objc-act.c:5766
#, c-format
msgid "duplicate interface declaration for category `%s(%s)'"
msgstr "`%s(%s)' kategororisi için birden fazla arayüz bildirimi"
-#: objc/objc-act.c:5722
+#: objc/objc-act.c:5852
#, c-format
msgid "instance variable `%s' is declared private"
msgstr "gerçekleme değişkeni `%s' private olarak bildirilmiş"
-#: objc/objc-act.c:5769
+#: objc/objc-act.c:5899
#, c-format
msgid "instance variable `%s' is declared %s"
msgstr "gerçekleme değişkeni `%s' %s olarak bildirilmiş"
-#: objc/objc-act.c:5779
+#: objc/objc-act.c:5909
msgid "static access to object of type `id'"
msgstr "`id' türünün nesnesine statik erişim"
-#: objc/objc-act.c:5816 objc/objc-act.c:5909
+#: objc/objc-act.c:5934 objc/objc-act.c:6027
#, c-format
msgid "incomplete implementation of class `%s'"
msgstr "`%s' sınıfının içi boş"
-#: objc/objc-act.c:5820 objc/objc-act.c:5914
+#: objc/objc-act.c:5938 objc/objc-act.c:6032
#, c-format
msgid "incomplete implementation of category `%s'"
msgstr "`%s' kategorisinin içi boş"
-#: objc/objc-act.c:5825 objc/objc-act.c:5919
+#: objc/objc-act.c:5943 objc/objc-act.c:6037
#, c-format
msgid "method definition for `%c%s' not found"
msgstr "`%c%s' için yöntem tanımı yok"
-#: objc/objc-act.c:5963
+#: objc/objc-act.c:6081
#, c-format
msgid "%s `%s' does not fully implement the `%s' protocol"
msgstr "%s `%s' `%s'protokolünü tamamen gerçekleştirmiyor"
-#: objc/objc-act.c:6021 objc/objc-act.c:8118
+#: objc/objc-act.c:6139 objc/objc-act.c:8249
msgid "`@end' missing in implementation context"
msgstr "oluşum bağlamında `@end' eksik"
-#: objc/objc-act.c:6049
+#: objc/objc-act.c:6167
#, c-format
msgid "reimplementation of class `%s'"
msgstr "`%s' sınıfının yeniden oluşumu"
-#: objc/objc-act.c:6091
+#: objc/objc-act.c:6209
#, c-format
msgid "conflicting super class name `%s'"
msgstr "süper sınıf ismi `%s' çelişiyor"
-#: objc/objc-act.c:6106
+#: objc/objc-act.c:6224
#, c-format
msgid "duplicate interface declaration for class `%s'"
msgstr "`%s' sınıfı için birden fazla arabirim bildirimi"
-#: objc/objc-act.c:6388
+#: objc/objc-act.c:6506
#, c-format
msgid "duplicate declaration for protocol `%s'"
msgstr "protokol `%s' için birden fazla bildirim"
-#: objc/objc-act.c:7238
+#: objc/objc-act.c:7363
msgid "[super ...] must appear in a method context"
msgstr "[super ...] bir yöntem bağlamında görünmeli"
-#: objc/objc-act.c:8220 objc/objc-act.c:8236
+#: objc/objc-act.c:8354 objc/objc-act.c:8370
#, c-format
msgid "potential selector conflict for method `%s'"
msgstr "yöntem `%s' için olası seçici çelişiyor"
-#: objc-parse.y:2612
+#: objc-parse.y:2655
msgid "`@end' must appear in an implementation context"
msgstr "`@end' bir oluşum bağlamında görünmeli"
-#: objc-parse.y:2886
+#: objc-parse.y:2931
msgid "method definition not in class context"
msgstr "yöntem tanımı sınıf bağlamında değil"
@@ -20146,58 +20731,116 @@ msgstr "Platforma özel niteliklerin C başlıklarını üretir"
msgid "Specify the name of the class for constant strings"
msgstr "Sabit dizgeler için sınıf ismi belirtilir"
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "-fjni ve -femit-class-files uyumsuz"
+#. 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 "(hata ayıklama) trace parsing process"
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "-fjni ve -femit-class-file uyumsuz"
+#: treelang/lang-options.h:27
+msgid "(debug) trace lexical analysis"
+msgstr "(hata ayıklama) trace lexical analysis"
-#: java/lang-specs.h:35 java/lang-specs.h:36
-msgid "-femit-class-file should used along with -fsyntax-only"
-msgstr "-femit-class-file -fsyntax-only ile birlikte kullanılmalı"
+#: config/darwin.h:212
+msgid "-current_version only allowed with -dynamiclib"
+msgstr "-current_version sadece -dynamiclib ile kullanılabilir"
-#: config/nextstep.h:161 config/nextstep.h:164
-msgid "-p profiling is no longer supported. Use -pg instead"
-msgstr "-p ayrımsaması artık desteklenmiyor. yerine -pg kullanın."
+#: config/darwin.h:215
+msgid "-install_name only allowed with -dynamiclib"
+msgstr "-install_name sadece -dynamiclib ile kullanılabilir"
-#: config/arm/arm.h:211
-msgid "-mapcs-26 and -mapcs-32 may not be used together"
-msgstr "-mapcs-26 ve -mapcs-32 birlikte kullanılamayabilir"
+#: config/darwin.h:220
+msgid "-bundle not allowed with -dynamiclib"
+msgstr "-bundle ile -dynamiclib birarada izin verilmez"
-#: config/arm/arm.h:223
-msgid "-msoft-float and -mhard_float may not be used together"
-msgstr "-msoft-float ve -mhard_float birlikte kullanılamayabilir"
+#: config/darwin.h:221
+msgid "-bundle_loader not allowed with -dynamiclib"
+msgstr "-bundle_loader ile -dynamiclib birarada izin verilmez"
-#: config/arm/arm.h:234
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr "-mbig-endian ve -mlittle-endian birlikte kullanılamayabilir"
+#: config/darwin.h:222
+msgid "-client_name not allowed with -dynamiclib"
+msgstr "-client_name ile -dynamiclib birarada izin verilmez"
-#: config/arm/arm.h:252
-msgid "incompatible interworking options"
-msgstr "uyumsuz birlikte çalışma seçenekleri"
+#: config/darwin.h:225
+msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+msgstr "-force_cpusubtype_ALL ile -dynamiclib birarada izin verilmez"
-#: config/sparc/freebsd.h:31 config/ia64/freebsd.h:23 config/alpha/freebsd.h:36 config/i386/freebsd-aout.h:227
-msgid "`-p' not supported; use `-pg' and gprof(1)"
-msgstr "`-p' desteklenmiyor; `-pg' ve gprof(1) kullanın"
+#: config/darwin.h:226
+msgid "-force_flat_namespace not allowed with -dynamiclib"
+msgstr "-force_flat_namespace ile -dynamiclib birarada izin verilmez"
+
+#: config/darwin.h:228
+msgid "-keep_private_externs not allowed with -dynamiclib"
+msgstr "-keep_private_externs ile -dynamiclib birarada izin verilmez"
-#: gcc.c:672 f/lang-specs.h:35
+#: config/darwin.h:229
+msgid "-private_bundle not allowed with -dynamiclib"
+msgstr "-private_bundle ile -dynamiclib birarada izin verilmez"
+
+#: f/lang-specs.h:38 gcc.c:689
msgid "GNU C does not support -C without using -E"
msgstr "GNU C -E kulanılmaksızın -C desteklemiyor"
-#: gcc.c:699 ada/lang-specs.h:39 java/jvspec.c:77
+#: f/lang-specs.h:39 gcc.c:690
+msgid "GNU C does not support -CC without using -E"
+msgstr "GNU C -E kulanılmaksızın -CC desteklemiyor"
+
+#: config/ia64/freebsd.h:23 config/sparc/freebsd.h:33
+#: config/i386/freebsd-aout.h:213 config/rs6000/sysv4.h:1106
+#: config/alpha/freebsd.h:44
+msgid "`-p' not supported; use `-pg' and gprof(1)"
+msgstr "`-p' desteklenmiyor; `-pg' ve gprof(1) kullanın"
+
+#: 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 "-m32 ve -m64 birlikte kullanılamaz"
+
+#: config/vax/netbsd-elf.h:42
+msgid "The -shared option is not currently supported for VAX ELF."
+msgstr "-shared seçeneği VAX ELF için şu an desteklenmiyor."
+
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "-mg ile ayrımsama desteklenmiyor\n"
+
+#: config/mips/mips.h:954
+msgid "-pipe is not supported"
+msgstr "-pipe desteklenmiyor."
+
+#: config/mips/mips.h:1147 config/arc/arc.h:63
+msgid "may not use both -EB and -EL"
+msgstr "-EB ve -EL birlikte kullanılamayabilir"
+
+#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38
msgid "-pg and -fomit-frame-pointer are incompatible"
msgstr "-pg ve -fomit-frame-pointer uyumsuz"
-#: gcc.c:846
+#: config/i386/cygwin.h:115
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "mno-cygwin ve mno-win32 uyumsuz"
+
+#: config/i386/cygwin.h:171 config/i386/mingw32.h:85
+msgid "shared and mdll are not compatible"
+msgstr "shared ve mdll uyumsuz"
+
+#: gcc.c:847
msgid "-E required when input is from standard input"
msgstr "Standart girdiden girdi alınırken -E gereklidir"
-#: gcc.c:850
+#: gcc.c:851
msgid "compilation of header file requested"
msgstr "başlık dosyası derlemesi istendi"
+#: config/rs6000/darwin.h:62
+msgid " conflicting code gen style switches are used"
+msgstr " çelişen code gen tarzı switch'ler kullanılmış"
+
+#: treelang/lang-specs.h:52
+msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+msgstr "-pg veya -p ve -fomit-frame-pointer uyumsuz"
+
#: config/mcore/mcore.h:60
msgid "choose either big or little endian, not both"
msgstr "ya büyük ya da küçük ilkli kullanın, ikisi birden olmaz"
@@ -20210,98 +20853,1118 @@ msgstr "Ya m340 ya da m210 kullanın, ikisi birden olmaz"
msgid "the m210 does not have little endian support"
msgstr "m210 küçük ilkli bayt sıralamasının desteklemez"
-#: ada/lang-specs.h:42
-msgid "-c or -S required for Ada"
-msgstr "Ada için -c ya da -S gerekli"
+#: config/arm/arm.h:178
+msgid "-mapcs-26 and -mapcs-32 may not be used together"
+msgstr "-mapcs-26 ve -mapcs-32 birlikte kullanılamayabilir"
-#: config/mips/r3900.h:36 config/mips/r3900.h:42
+#: config/arm/arm.h:180
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr "-msoft-float ve -mhard_float birlikte kullanılamayabilir"
+
+#: config/arm/arm.h:182
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr "-mbig-endian ve -mlittle-endian birlikte kullanılamayabilir"
+
+#: config/mips/r3900.h:35
msgid "-mhard-float not supported"
msgstr "-mhard-float desteklenmiyor"
-#: config/mips/r3900.h:38 config/mips/r3900.h:44
+#: config/mips/r3900.h:37
msgid "-msingle-float and -msoft-float can not both be specified"
msgstr "-msingle-float ve -msoft-float birlikte belirtilemez."
-#: config/mmix/mmix.h:112
-msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
-msgstr "-mabi=mmixware ve -mabi=gnu seçenekleri birlikte kullanılmamalı"
-
-#: config/i860/fx2800.h:290
-msgid "-p option not supported: use -pg instead"
-msgstr "-p seçeneği desteklenmiyor: yerine -pg kullanın"
-
-#: config/arm/riscix.h:73 config/arm/riscix.h:133
-msgid "-mbsd and -pedantic incompatible"
-msgstr "-mbsd ve -pedantic uyumsuz"
-
-#: config/arm/riscix.h:74 config/arm/riscix.h:134
-msgid "-mbsd and -mxopen incompatible"
-msgstr "-mbsd ve -mxopen uyumsuz"
-
-#: config/arm/riscix.h:75 config/arm/riscix.h:135
-msgid "-mxopen and -pedantic incompatible"
-msgstr "-mxopen ve -pedantic uyumsuz"
-
-#: config/arc/arc.h:59 config/mips/mips.h:1007
-msgid "may not use both -EB and -EL"
-msgstr "-EB ve -EL birlikte kullanılamayabilir"
-
-#: config/vax/vax.h:42 config/vax/vax.h:43
-msgid "profiling not supported with -mg\n"
-msgstr "-mg ile ayrımsama desteklenmiyor\n"
-
-#: config/i386/cygwin.h:114
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "mno-cygwin ve mno-win32 uyumsuz"
-
-#: config/i386/cygwin.h:169 config/i386/mingw32.h:69
-msgid "shared and mdll are not compatible"
-msgstr "shared ve mdll uyumsuz"
-
-#: config/mips/mips.h:837
-msgid "-pipe is not supported"
-msgstr "-pipe desteklenmiyor."
+#: ada/lang-specs.h:41
+msgid "-c or -S required for Ada"
+msgstr "Ada için -c ya da -S gerekli"
-#: config/mips/mips.h:1003
-msgid "may not use both -mfp64 and -msingle-float"
-msgstr "-mfp64 ve -msingle-float birlikte kullanılamayabilir"
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "-fjni ve -femit-class-files uyumsuz"
-#: config/mips/mips.h:1004
-msgid "may not use both -mfp64 and -m4650"
-msgstr "-mfp64 ve -m4650 birlikte kullanılamayabilir"
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "-fjni ve -femit-class-file uyumsuz"
-#: config/mips/mips.h:1006
-msgid "may not use both -mgp32 and -mfp64"
-msgstr "-mfp64 ve -mgp32 birlikte kullanılamayabilir"
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "-femit-class-file -fsyntax-only ile birlikte kullanılmalı"
-#: config/i386/sco5.h:662 config/i386/sco5.h:737
+#: config/i386/sco5.h:585 config/i386/sco5.h:666
msgid "-static not valid with -mcoff"
msgstr "-static -mcoff ile geçerli değil"
-#: config/i386/sco5.h:663 config/i386/sco5.h:738
+#: config/i386/sco5.h:586 config/i386/sco5.h:667
msgid "-shared not valid with -mcoff"
msgstr "-shared -mcoff ile geçerli değil"
-#: config/i386/sco5.h:664 config/i386/sco5.h:739
+#: config/i386/sco5.h:587 config/i386/sco5.h:668
msgid "-symbolic not valid with -mcoff"
msgstr "-symbolic -mcoff ile geçerli değil"
-#: config/i386/sco5.h:702
+#: config/i386/sco5.h:636
msgid "-fpic is not valid with -mcoff"
msgstr "-fpic -mcoff ile geçerli değil"
-#: config/i386/sco5.h:703
+#: config/i386/sco5.h:637
msgid "-fPIC is not valid with -mcoff"
msgstr "-fPIC -mcoff ile geçerli değil"
-#: config/i386/sco5.h:740
+#: config/i386/sco5.h:669
msgid "-fpic not valid with -mcoff"
msgstr "-fpic -mcoff ile geçerli değil"
-#: config/i386/sco5.h:741
+#: config/i386/sco5.h:670
msgid "-fPIC not valid with -mcoff"
msgstr "-fPIC -mcoff ile geçerli değil"
+#~ msgid "__alignof__ applied to an incomplete type"
+#~ msgstr "__alignof__ bir tamamlanmamış türe uygulanmış"
+
+#~ msgid "-traditional is deprecated and may be removed"
+#~ msgstr "-traditional kullanımdan kalkacak ve kalkmış da olabilir"
+
+#~ msgid "unknown C standard `%s'"
+#~ msgstr "`%s' diye bir C standardı bilinmiyor"
+
+#~ msgid "type of external `%s' is not global"
+#~ msgstr "external `%s' türü genel değil"
+
+#~ msgid "typedef `%s' is initialized"
+#~ msgstr "typedef `%s' ilklendirimiÅŸ"
+
+#~ msgid "unnamed fields of type other than struct or union are not allowed"
+#~ msgstr "isimsiz alanlara struct ve union dışında izin verilmiyor"
+
+#~ msgid "null format string"
+#~ msgstr "null biçem dizgesi"
+
+#~ msgid "ignoring #pragma %s"
+#~ msgstr "#pragma %s yoksayılıyor"
+
+#~ msgid "both 'f' and 'l' suffixes on floating constant"
+#~ msgstr "gerçel sayı sabitte hem 'f' hem de 'l' sonekleri"
+
+#~ msgid "floating point number exceeds range of '%s'"
+#~ msgstr "gerçel sayı '%s' kapsamını aşıyor"
+
+#~ msgid "decimal point in exponent - impossible!"
+#~ msgstr "üs bir ondalık sayı -- imkânsız!"
+
+#~ msgid "underscore in number"
+#~ msgstr "sayı içinde alt çizgi"
+
+#~ msgid "numeric constant with no digits"
+#~ msgstr "rakam içermeyen sayısal sabit"
+
+#~ msgid "numeric constant contains digits beyond the radix"
+#~ msgstr "sayısal sabit tabanından büyük rakamlar içeriyor"
+
+#~ msgid "floating constant may not be in radix 16"
+#~ msgstr "gerçel sayı sabit onaltılık tabanda olmayabilir"
+
+#~ msgid "more than one 'f' suffix on floating constant"
+#~ msgstr "gerçel sayı sabitte `f' soneki birden fazla var"
+
+#~ msgid "traditional C rejects the 'f' suffix"
+#~ msgstr "geleneksel C 'f' sonekini kullanmaz"
+
+#~ msgid "more than one 'l' suffix on floating constant"
+#~ msgstr "gerçel sayı sabitte `l' soneki birden fazla var"
+
+#~ msgid "traditional C rejects the 'l' suffix"
+#~ msgstr "geleneksel C 'l' sonekini kullanmaz"
+
+#~ msgid "more than one 'i' or 'j' suffix on floating constant"
+#~ msgstr "gerçel sayı sabitte `i' ya da `j' soneki birden fazla var"
+
+#~ msgid "ISO C forbids imaginary numeric constants"
+#~ msgstr "ISO C sanal sayısal sabitleri yasaklar"
+
+#~ msgid "floating constant out of range"
+#~ msgstr "gerçel sayı sabit kapsamdışı"
+
+#~ msgid "floating point number exceeds range of 'double'"
+#~ msgstr "gerçel sayı 'double' kapsamını aşıyor"
+
+#~ msgid "two 'u' suffixes on integer constant"
+#~ msgstr "tamsayı sabitte iki 'u' soneki"
+
+#~ msgid "traditional C rejects the 'u' suffix"
+#~ msgstr "geleneksel C 'u' sonekini kullanmaz"
+
+#~ msgid "three 'l' suffixes on integer constant"
+#~ msgstr "tamsayı sabitte üç 'l' soneki"
+
+#~ msgid "'lul' is not a valid integer suffix"
+#~ msgstr "'lul' geçerli bir tamsayı soneki değil"
+
+#~ msgid "'Ll' and 'lL' are not valid integer suffixes"
+#~ msgstr "'Ll' ve 'lL' geçerli tamsayı sonekleri değil"
+
+#~ msgid "more than one 'i' or 'j' suffix on integer constant"
+#~ msgstr "tamsayı sabitte birden fazla 'i' ya da 'j' soneki"
+
+#~ msgid "invalid suffix on integer constant"
+#~ msgstr "tamsayı sabitteki sonek geçersiz"
+
+#~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
+#~ msgstr "tamsayı sabit derleyicinin bu yapılandırması için çok büyük - %d bite indirildi"
+
+#~ msgid "width of integer constant changes with -traditional"
+#~ msgstr "tamsayı sabitin genişliği -traditional ile değişir"
+
+#~ msgid "integer constant is unsigned in ISO C, signed with -traditional"
+#~ msgstr "tamsayı sabit ISO C için unsigned, -traditional ile signed'dır"
+
+#~ msgid "width of integer constant may change on other systems with -traditional"
+#~ msgstr "tamsayı sabitin uzunluğu diğer sistemlerde -traditional ile değişebilir"
+
+#~ msgid "integer constant larger than the maximum value of %s"
+#~ msgstr "tamsayı sabit en büyük değer %s den daha büyük"
+
+#~ msgid "an unsigned long long int"
+#~ msgstr "bir unsigned long long int"
+
+#~ msgid "a long long int"
+#~ msgstr "bir long long int"
+
+#~ msgid "an unsigned long int"
+#~ msgstr "bir unsigned long int"
+
+#~ msgid "decimal constant is so large that it is unsigned"
+#~ msgstr "ondalık sabit unsigned tür için büyük"
+
+#~ msgid "complex integer constant is too wide for 'complex int'"
+#~ msgstr "karmaşık tamsayı sabit `complex int' için çok büyük"
+
+#~ msgid "integer constant is larger than the maximum value for its type"
+#~ msgstr "tamsayı sabit türünün izin verdiği değerden büyük"
+
+#~ msgid "missing white space after number '%.*s'"
+#~ msgstr "'%.*s'den sonra boÅŸluk yok"
+
+#~ msgid "ISO C does not permit use of `varargs.h'"
+#~ msgstr "ISO C `varargs.h' kullanımına izin vermez"
+
+#~ msgid "storage class specifier in array declarator"
+#~ msgstr "dizi bildiriminde saklatım öbeği belirteçleri"
+
+#~ msgid "sizeof applied to a function type"
+#~ msgstr "bir işlev türüne sizeof uygulanmış"
+
+#~ msgid "sizeof applied to a void type"
+#~ msgstr "bir void türe sizeof uygulanmış"
+
+#~ msgid "sizeof applied to an incomplete type"
+#~ msgstr "sizeof bir tamamlanmamış türe uygulanmış"
+
+#~ msgid "variable offset is passed partially in stack and in reg"
+#~ msgstr "değişkenin göreli konumu kısmen yığında kısmende yazmaçta aktarılmış"
+
+#~ msgid "variable size is passed partially in stack and in reg"
+#~ msgstr "değişken boyutu hem yığın hem de yazmaç içine aktarılmış"
+
+#~ msgid "execvp %s"
+#~ msgstr "execvp %s"
+
+#~ msgid "floating point numbers are not valid in #if"
+#~ msgstr "#if ifadesinde gerçel sayılar geçersiz"
+
+#~ msgid "traditional C rejects the `U' suffix"
+#~ msgstr "geleneksel C `U' sonekini reddeder"
+
+#~ msgid "too many 'l' suffixes in integer constant"
+#~ msgstr "tamsayı sabitteki 'l' soneklerinin sayısı çok fazla"
+
+#~ msgid "integer constant contains digits beyond the radix"
+#~ msgstr "tamsayı sabit tabanı aşan rakamlar içeriyor"
+
+#~ msgid "integer constant out of range"
+#~ msgstr "tamsayı sabit kapsamdışı"
+
+#~ msgid "string constants are not valid in #if"
+#~ msgstr "#if ifadesinde dizge sabitler geçersiz"
+
+#~ msgid "missing binary operator"
+#~ msgstr "iki terimli iÅŸlemimi eksik"
+
+#~ msgid "operator '%s' has no left operand"
+#~ msgstr "`%s' işlemiminin sol tarafı yok"
+
+#~ msgid "changing search order for system directory \"%s\""
+#~ msgstr "sistem dizini \"%s\" için arama sırası"
+
+#~ msgid " as it is the same as non-system directory \"%s\""
+#~ msgstr "sistem dizini olmayan \"%s\" dizini ile aynı olacak şekilde değiştiriliyor"
+
+#~ msgid " as it has already been specified as a non-system directory"
+#~ msgstr "bir sistem dizini olmayan olarak zaten belirtilmiÅŸ ÅŸekilde deÄŸiÅŸtiriliyor"
+
+#~ msgid "I/O error on output"
+#~ msgstr "Çıktıda G/Ç hatası"
+
+#~ msgid "argument missing after %s"
+#~ msgstr "%s den sonraki argüman eksik"
+
+#~ msgid "number missing after %s"
+#~ msgstr "%s den sonra sayı eksik"
+
+#~ msgid "target missing after %s"
+#~ msgstr "%s den sonraki hedef eksik"
+
+#~ msgid "GNU CPP version %s (cpplib)"
+#~ msgstr "GNU CPP %s sürümü (cpplib)"
+
+#~ 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 ""
+#~ " -pedantic ISO C gereksinimlerine bağlı tüm uyarılar verilir\n"
+#~ " -pedantic-errors -pedantic uyarıları hata olarak verilir\n"
+#~ " -trigraphs ISO C üçlü harfleri desteklenir\n"
+#~ " -lang-c Girdi kaynakları C'de değerlendirilir\n"
+#~ " -lang-c89 Girdi kaynakları C89'da değerlendirilir\n"
+
+#~ 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 ""
+#~ " -lang-c++ Girdi kaynakları C++'da değerlendirilir\n"
+#~ " -lang-objc Girdi kaynakları ObjectiveC'de değerlendirilir\n"
+#~ " -lang-objc++ Girdi kaynakları ObjectiveC++'da değerlendirilir\n"
+#~ " -lang-asm Girdi kaynakları çeviricide değerlendirilir\n"
+
+#~ msgid "possible start of unterminated string literal"
+#~ msgstr "sonlandırılmamış dizge sabitin olası başlangıcı"
+
+#~ msgid "multi-line string literals are deprecated"
+#~ msgstr "çok satırlı dizge sabitlerin modası geçti"
+
+#~ msgid "the meaning of '\\%c' varies with -traditional"
+#~ msgstr "`\\%c'nın anlamı -traditional ile değişir"
+
+#~ msgid "the meaning of '\\a' varies with -traditional"
+#~ msgstr "'\\a'nın anlamı -traditional ile değişir"
+
+#~ msgid "the meaning of '\\x' varies with -traditional"
+#~ msgstr "'\\x'in anlamı -traditional ile değişir"
+
+#~ msgid "escape sequence out of range for character"
+#~ msgstr "önceleme dizgesi karakter için kapsam dışı"
+
+#~ msgid "\"%s\" cannot be used as a macro name"
+#~ msgstr "\"%s\" bir makro ismi olarak kullanılamaz"
+
+#~ msgid "directives may not be used inside a macro argument"
+#~ msgstr "yönergeler bir makro argüman içinde kullanılmayabilir"
+
+#~ msgid "invalid option %s"
+#~ msgstr "geçersiz %s seçeneği"
+
+#~ msgid "%s:%d: warning: "
+#~ msgstr "%s:%d: uyarı: "
+
+#~ msgid "%s: warning: "
+#~ msgstr "%s: uyarı: "
+
+#~ msgid "sorry, not implemented: "
+#~ msgstr "daha kodlanmadı: "
+
+#~ msgid "Internal compiler error in %s, at %s:%d"
+#~ msgstr "%2$s:%3$d. satırındaki %1$s işlevinde derleyici iç hatası"
+
+#~ msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
+#~ msgstr "Telif Hakkı (C) 2002 Free Software Foundation, Inc.\n"
+
+#~ msgid "argument to `-b' is missing"
+#~ msgstr "`-b' için argüman belirtilmemiş"
+
+#~ msgid "argument to `-V' is missing"
+#~ msgstr "`-V' için argüman belirtilmemiş"
+
+#~ msgid "invalid version number format"
+#~ msgstr "sürüm numarası biçemi geçersiz"
+
+#~ msgid ".da file contents exhausted too early\n"
+#~ msgstr ".da dosyasının içeriği çok erken atıldı\n"
+
+#~ msgid ".da file contents not exhausted\n"
+#~ msgstr ".da dosyasının içeriği atılmadı\n"
+
+#~ msgid "%6.2f%% of %d source lines executed in function %s\n"
+#~ msgstr "%3$s işlevindeki %2$d satırın %%%1$6.2f satırı çalıştırıldı\n"
+
+#~ msgid "No executable source lines in function %s\n"
+#~ msgstr "%s dosyasında çalıştırılacak satır yok\n"
+
+#~ msgid "%6.2f%% of %d branches executed in function %s\n"
+#~ msgstr "%3$s işlevindeki %2$d dalın %%%1$6.2f dalı çalıştırıldı\n"
+
+#~ msgid "%6.2f%% of %d branches taken at least once in function %s\n"
+#~ msgstr "%3$s işlevindeki %2$d dalın %%%1$6.2f dalı en az bir kere alındı\n"
+
+#~ msgid "No branches in function %s\n"
+#~ msgstr "%s işlevinin dalları yok\n"
+
+#~ msgid "%6.2f%% of %d calls executed in function %s\n"
+#~ msgstr "%3$s işlevindeki %2$d çağrıdan %%%1$6.2f çağrı çalıştırıldı\n"
+
+#~ msgid "No calls in function %s\n"
+#~ msgstr "%s işlevinde çağrı yok\n"
+
+#~ msgid "%6.2f%% of %d source lines executed in file %s\n"
+#~ msgstr "%3$s dosyasındaki %2$d satırın %%%1$6.2f satırı çalıştırıldı\n"
+
+#~ msgid "%6.2f%% of %d branches executed in file %s\n"
+#~ msgstr "%3$s dosyasındaki %2$d dalın %%%1$6.2f dalı çalıştırıldı\n"
+
+#~ msgid "%6.2f%% of %d branches taken at least once in file %s\n"
+#~ msgstr "%3$s dosyasındaki %2$d dalın %%%1$6.2f dalı en az bir kere alındı\n"
+
+#~ msgid "%6.2f%% of %d calls executed in file %s\n"
+#~ msgstr "%3$s dosyasındaki %2$d çağrıdan %%%1$6.2f çağrı çalıştırıldı\n"
+
+#~ msgid "call %d returns = %s\n"
+#~ msgstr "%d. çağrı dönüşü = %s\n"
+
+#~ msgid "call %d returns = %s%%\n"
+#~ msgstr "%d. çağrı dönüş yüzdesi = %%%s\n"
+
+#~ msgid "branch %d taken = %s\n"
+#~ msgstr "%d. dal alındı = %s\n"
+
+#~ msgid "branch %d taken = %s%%\n"
+#~ msgstr "%d. dal alınma yüzdesi = %%%s\n"
+
+#~ msgid ".da file contents exhausted too early"
+#~ msgstr ".da dosyasının içeriği çok erken atıldı"
+
+#~ msgid ".da file contents not exhausted"
+#~ msgstr ".da dosyasının içeriği atılmadı"
+
+#~ msgid "conversion from NaN to int"
+#~ msgstr "NaN'dan int'e dönüşüm"
+
+#~ msgid "conversion from NaN to unsigned int"
+#~ msgstr "NaN'dan unsigned int'e dönüşüm"
+
+#~ msgid "floating point overflow"
+#~ msgstr "gerçel sayı taşması"
+
+#~ msgid "overflow on truncation to integer"
+#~ msgstr "tamsayıya indirgemede taşma"
+
+#~ msgid "overflow on truncation to unsigned integer"
+#~ msgstr "işaretsiz tamsayıya indirgemede taşma"
+
+#~ msgid "%s: argument domain error"
+#~ msgstr "%s: argüman alanı hatası"
+
+#~ msgid "%s: function singularity"
+#~ msgstr "%s: iÅŸlev eÅŸsizliÄŸi"
+
+#~ msgid "%s: overflow range error"
+#~ msgstr "%s: kapsamın üstten taşma hatası"
+
+#~ msgid "%s: underflow range error"
+#~ msgstr "%s: kapsamın alttan taşma hatası"
+
+#~ msgid "%s: total loss of precision"
+#~ msgstr "%s: tam kesinlik kaybı"
+
+#~ msgid "%s: partial loss of precision"
+#~ msgstr "%s: kısmi kesinlik kaybı"
+
+#~ msgid "%s: NaN - producing operation"
+#~ msgstr "%s: NaN - işlem üretiyor"
+
+#~ msgid "Pretend that host and target use the same FP format"
+#~ msgstr ""
+#~ "Ana ve hedef makina aynı kayan noktalı biçemi\n"
+#~ " kullanıyormuş gibi davranır"
+
+#~ msgid "Compile pointers as triples: value, base & end"
+#~ msgstr "Göstergeler bu üçlüden olarak derlenir: değer, taban ve son"
+
+#~ msgid "Do not promote floats to double if using -traditional"
+#~ msgstr ""
+#~ "-traditional kullanıldığında float türler double\n"
+#~ " yapılmaz"
+
+#~ msgid "Attempt to support traditional K&R style C"
+#~ msgstr "Geleneksel K&R tarzı C desteklemeye çalışılır"
+
+#~ msgid "internal error: %s"
+#~ msgstr "iç hata: %s"
+
+#~ msgid "crossjump disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+#~ msgstr "crossjump iptal edildi: %d > 1000 temel blok ve %d >= 20 kenar/temel blok"
+
+#~ msgid " -a Enable block profiling \n"
+#~ msgstr " -a Blok ayrımlaması etkinleştirilir\n"
+
+#~ msgid " -ax Enable jump profiling \n"
+#~ msgstr " -ax Atlama ayrımlaması etkinleştirilir\n"
+
+#~ msgid "profiling does not work without a frame pointer"
+#~ msgstr "bir çerçeve göstergesi olmaksızın ayrımlama çalışmaz"
+
+#~ msgid "floating point numbers not allowed in #if expressions"
+#~ msgstr "#if ifadelerinde gerçel sayılara izin verilmez"
+
+#~ msgid "invalid number in #if expression"
+#~ msgstr "#if ifadesindeki sayı geçersiz"
+
+#~ msgid "invalid character constant in #if"
+#~ msgstr "#if ifadesinde geçersiz karakter sabiti"
+
+#~ msgid "double quoted strings not allowed in #if expressions"
+#~ msgstr "#if ifadelerinde çift tırnaklı dizgelere izin verilmez"
+
+#~ msgid "invalid token in expression"
+#~ msgstr "ifadede geçersiz dizgecik"
+
+#~ msgid "octal character constant does not fit in a byte"
+#~ msgstr "sekizlik karakter sabiti bir bayta sığmaz"
+
+#~ msgid "hex character constant does not fit in a byte"
+#~ msgstr "onaltılık karakter sabiti bir bayta sığmaz"
+
+#~ msgid "empty #if expression"
+#~ msgstr "boÅŸ #if ifadesi"
+
+#~ msgid "Junk after end of expression."
+#~ msgstr "İfadeden sonrakiler anlaşılamadı."
+
+#~ msgid "macro or #include recursion too deep"
+#~ msgstr "makro ya da #include özyinelemesi çok derin"
+
+#~ msgid "usage: %s [switches] input output"
+#~ msgstr "kullanımı: %s [seçenekler] girdi çıktı"
+
+#~ msgid "-traditional is not supported in C++"
+#~ msgstr "-traditional C++'da desteklenmiyor"
+
+#~ msgid "-traditional and -ansi are mutually exclusive"
+#~ msgstr "-traditional ve -ansi birlikte kullanılamaz"
+
+#~ msgid "filename missing after -i option"
+#~ msgstr "-i seçeneğinden sonra dosya ismi eksik"
+
+#~ msgid "filename missing after -o option"
+#~ msgstr "-o seçeneğinden sonra dosya ismi eksik"
+
+#~ msgid "target missing after %s option"
+#~ msgstr "%s seçeneğinden sonraki hedef eksik"
+
+#~ msgid "filename missing after %s option"
+#~ msgstr "%s seçeneğinden sonra dosya ismi eksik"
+
+#~ msgid "macro name missing after -%c option"
+#~ msgstr "-%c seçeneğinden sonra makro ismi eksik"
+
+#~ msgid "-pedantic and -traditional are mutually exclusive"
+#~ msgstr "-pedantic ve -traditional birlikte kullanılamaz"
+
+#~ msgid "-trigraphs and -traditional are mutually exclusive"
+#~ msgstr "-trigraphs ve -traditional birlikte kullanılamaz"
+
+#~ msgid "directory name missing after -I option"
+#~ msgstr "-I seçeneğinden sonra dizin ismi eksik"
+
+#~ msgid "`/*' within comment"
+#~ msgstr "açıklama içinde `/*'"
+
+#~ msgid "unterminated #%s conditional"
+#~ msgstr "sonlandırılmamış #%s koşulu"
+
+#~ msgid "not in any file?!"
+#~ msgstr "bir dosyada deÄŸil mi?!"
+
+#~ msgid "`defined' must be followed by ident or (ident)"
+#~ msgstr "`defined' ident ya da (ident) ile izlenmeli"
+
+#~ msgid "cccp error: invalid special hash type"
+#~ msgstr "cccp hatası: özel isimli-yapı türü geçersiz"
+
+#~ msgid "#include expects \"fname\" or <fname>"
+#~ msgstr "#include \"dosyaismi\" ya da #include <dosyaismi> şeklinde kullanılır"
+
+#~ msgid "no include path in which to find %.*s"
+#~ msgstr "%.*s arama yolunda include dosyaları yok"
+
+#~ msgid "invalid macro name"
+#~ msgstr "geçersiz makro ismi"
+
+#~ msgid "invalid macro name `%s'"
+#~ msgstr "geçersiz makro ismi `%s'"
+
+#~ msgid "parameter name starts with a digit in #define"
+#~ msgstr "#define yönergesindeki parametre ismi bir rakam ile başlıyor"
+
+#~ msgid "badly punctuated parameter list in #define"
+#~ msgstr "#define yönergesinde kötü vurgulanmış parametre listesi"
+
+#~ msgid "unterminated parameter list in #define"
+#~ msgstr "#define yönergesinde sonlandırılmamış parametre listesi"
+
+#~ msgid "\"%.*s\" redefined"
+#~ msgstr "\"%.*s\" yeniden tanımlanmış"
+
+#~ msgid "# operator should be followed by a macro argument name"
+#~ msgstr "# işlemiminden sonra bir makro ismi olmalı"
+
+#~ msgid "invalid format #line command"
+#~ msgstr "geçersiz biçemli #line komutu"
+
+#~ msgid "undefining `defined'"
+#~ msgstr "undef'lenen `defined'"
+
+#~ msgid "undefining `%s'"
+#~ msgstr "`%s' sonra #undef yapılmış"
+
+#~ msgid "extra text at end of directive"
+#~ msgstr "yönerge sonunda fazladan metin"
+
+#~ msgid "#error%.*s"
+#~ msgstr "#error%.*s"
+
+#~ msgid "#warning%.*s"
+#~ msgstr "#warning%.*s"
+
+#~ msgid "#elif not within a conditional"
+#~ msgstr "#elif bir koşulun içinde değil"
+
+#~ msgid "#%s not within a conditional"
+#~ msgstr "#%s bir koşulun içinde değil"
+
+#~ msgid "#else or #elif after #else"
+#~ msgstr "#else'den sonra #elif ya da #else"
+
+#~ msgid "#else not within a conditional"
+#~ msgstr "#else bir koşulun içinde değil"
+
+#~ msgid "unbalanced #endif"
+#~ msgstr "karşılıksız #endif"
+
+#~ msgid "unterminated string or character constant"
+#~ msgstr "sonlandırılmamış dizge ya da karakter sabiti"
+
+#~ msgid "arguments given to macro `%s'"
+#~ msgstr "`%s' makrosuna verilmiş argümanlar"
+
+#~ msgid "no args to macro `%s'"
+#~ msgstr "`%s' makrosuna argüman verilmemiş"
+
+#~ msgid "only 1 arg to macro `%s'"
+#~ msgstr "`%s' makrosuna sadece 1 argüman verilmiş"
+
+#~ msgid "only %d args to macro `%s'"
+#~ msgstr "`%2$s' makrosuna sadece %1$d argüman verilmiş"
+
+#~ msgid "too many (%d) args to macro `%s'"
+#~ msgstr "`%2$s' makrosuna çok fazla (%1$d) argüman verilmiş"
+
+#~ msgid ""
+#~ "internal error in %s, at tradcpp.c:%d\n"
+#~ "Please submit a full bug report.\n"
+#~ "See %s for instructions."
+#~ msgstr ""
+#~ "tradcpp.c:%2$d: %1$s işlevinde iç hata\n"
+#~ "Lütfen ayrıntılı bir hapa raporu gönderin.\n"
+#~ "İşlemler için %3$s adresine bakın."
+
+#~ msgid "optimization turned on"
+#~ msgstr "eniyileme etkin"
+
+#~ msgid "optimization turned off"
+#~ msgstr "eniyileme etkin deÄŸil"
+
+#~ msgid "optimization level restored"
+#~ msgstr "eniyileme seviyesi eski durumuna getirildi"
+
+#~ msgid "Use VAX-C alignment"
+#~ msgstr "VAX-C hizalaması kullanılır"
+
+#~ msgid "invalid %%V value"
+#~ msgstr "%%V değeri geçersiz"
+
+#~ msgid "Generate code assuming DW bit is set"
+#~ msgstr "Kod DW biti 1 kabulüyle üretilir"
+
+#~ msgid "Generate code assuming DW bit is not set"
+#~ msgstr "Kod DW biti 0 kabulüyle üretilir"
+
+#~ msgid "Generate code using byte writes"
+#~ msgstr "Kod bayt yazarak üretilir"
+
+#~ msgid "Do not generate byte writes"
+#~ msgstr "Bayt yazımı üretilmez"
+
+#~ msgid "Use small memory model"
+#~ msgstr "Küçük bellek modeli kullanılır"
+
+#~ msgid "Use normal memory model"
+#~ msgstr "Normal bellek modeli kullanılır"
+
+#~ msgid "Use large memory model"
+#~ msgstr "Geniş bellek modeli kullanılır"
+
+#~ msgid "Generate 29050 code"
+#~ msgstr "29050 kodu üretilir"
+
+#~ msgid "Generate 29000 code"
+#~ msgstr "29000 kodu üretilir"
+
+#~ msgid "Use kernel global registers"
+#~ msgstr "Çekirdek genel yazmaçları kullanılır"
+
+#~ msgid "Use user global registers"
+#~ msgstr "Kullanıcı genel yazmaçları kullanılır"
+
+#~ msgid "Emit stack checking code"
+#~ msgstr "Yığın denetim kodu üretilir"
+
+#~ msgid "Do not emit stack checking code"
+#~ msgstr "Yığın denetim kodu üretilmez"
+
+#~ msgid "Work around storem hardware bug"
+#~ msgstr "Storem donanım hatasının oluru bulunur"
+
+#~ msgid "Do not work around storem hardware bug"
+#~ msgstr "Storem donanım hatasının oluru bulunmaz"
+
+#~ msgid "Store locals in argument registers"
+#~ msgstr "Yerel değerler argüman yazmaçlarında saklanır"
+
+#~ msgid "Do not store locals in arg registers"
+#~ msgstr "Yerel değerler argüman yazmaçlarında saklanmaz"
+
+#~ msgid "Do not generate multm instructions"
+#~ msgstr "multm komutları üretilmez"
+
+#~ msgid "Do symbol renaming for BSD"
+#~ msgstr "Sembol isimlendirmesi BSD için yapılır"
+
+#~ msgid "Do symbol renaming for X/OPEN"
+#~ msgstr "Sembol isimlendirmesi X/OPEN için yapılır"
+
+#~ msgid "Don't do symbol renaming"
+#~ msgstr "Sembol isimlendirmesi yapılmaz"
+
+#~ msgid "MCU `%s' not supported"
+#~ msgstr "MCU `%s' desteklenmiyor"
+
+#~ msgid "Generate code for the C400"
+#~ msgstr "Kod C400 MİB için üretilir"
+
+#~ msgid "Generate code for the C300"
+#~ msgstr "Kod C300 MİB için üretilir"
+
+#~ msgid "Generate code for c1"
+#~ msgstr "Kod c1 için üretilir"
+
+#~ msgid "Generate code for c2"
+#~ msgstr "Kod c2 için üretilir"
+
+#~ msgid "Generate code for c32"
+#~ msgstr "Kod c32 için üretilir"
+
+#~ msgid "Generate code for c34"
+#~ msgstr "Kod c34 için üretilir"
+
+#~ msgid "Use standard calling sequence, with arg count word"
+#~ msgstr "Standart çağrı sırasını kullnaır; argüman, sayı, word ile"
+
+#~ msgid "Place arg count in a nop instruction (faster than push)"
+#~ msgstr "Argüman sayısını bir NOP işlemine koyar (basma'dan daha çabuk)"
+
+#~ msgid "Don't push arg count, depend on symbol table"
+#~ msgstr "Argüman sayısını basmaz, sembol tablosunu kullanır"
+
+#~ msgid "Use data cache for volatile mem refs (default)"
+#~ msgstr "Oynak bellek referansları için veri arabelleği kullanılır"
+
+#~ msgid "Don't use data cache for volatile mem refs"
+#~ msgstr "Oynak bellek referansları için veri arabelleği kullanılmaz"
+
+#~ msgid "Bypass data cache for volatile mem refs"
+#~ msgstr "Oynak bellek referansları için veri arabelleği atlanır"
+
+#~ msgid "Use 64-bit longs"
+#~ msgstr "64 bitlik long'lar kullanılır"
+
+#~ msgid "Use cc- and libc-compatible 32-bit longs"
+#~ msgstr "cc ve libc uyumlu 32 bitlik long'lar kullanılır"
+
+#~ msgid "inline float constants not supported on this host"
+#~ msgstr "gerçel sayı sabitlerin `inline' bildirimi bu makinada desteklenmiyor"
+
+#~ msgid "Generate code the unix assembler can handle"
+#~ msgstr "Unix çeviricinin kullanabileceği kod üretilir"
+
+#~ msgid "Generate code an embedded assembler can handle"
+#~ msgstr "Bir gömülü çeviricinin kullanabileceği kod üretilir"
+
+#~ msgid "Retain standard MXDB information"
+#~ msgstr "Standart MXDB bilgisini korur"
+
+#~ msgid "Retain legend information"
+#~ msgstr "Etiket bilgisi korunur"
+
+#~ msgid "Generate external legend information"
+#~ msgstr "Dış etiket bilgisi üretir"
+
+#~ msgid "Emit identifying info in .s file"
+#~ msgstr ".s dosyasına tanıtıcı bilgi koyar"
+
+#~ msgid "Warn when a function arg is a structure"
+#~ msgstr "Bir yapı, bir işlevin argümanıysa uyarır"
+
+#~ msgid "argument is a structure"
+#~ msgstr "argüman bir yapı"
+
+#~ msgid "half-pic init called on systems that don't support it"
+#~ msgstr "`half-pic init' desteklenmediği sistemlerde kullanıldı"
+
+#~ msgid "Profiling uses mcount"
+#~ msgstr "Ayrımlama mcount kullanır"
+
+#~ msgid "Emit half-PIC code"
+#~ msgstr "Yarım PIC kodu yayınlanır"
+
+#~ msgid "Emit ELF object code"
+#~ msgstr "ELF nesne kodu yayınlanır"
+
+#~ msgid "Emit ROSE object code"
+#~ msgstr "ROSE nesne kodu yayınlanır"
+
+#~ msgid "Symbols have a leading underscore"
+#~ msgstr "Semboller altçizgi ile başlar"
+
+#~ msgid "Align to >word boundaries"
+#~ msgstr "Hizalama >word sınırlara yapılır"
+
+#~ msgid "Use mcount for profiling"
+#~ msgstr "Ayrımlama için mcount kullanılır"
+
+#~ msgid "Use mcount_ptr for profiling"
+#~ msgstr "Ayrımlama için mcount_ptr kullanılır"
+
+#~ msgid "Generate code which uses the FPU"
+#~ msgstr "Aritmetik işlemci kullanan kod üretilir"
+
+#~ msgid "Do not generate code which uses the FPU"
+#~ msgstr "Aritmetik işlemci kullanan kod üretilmez"
+
+#~ msgid "the -mlong-double-64 option does not work yet"
+#~ msgstr "-mlong-double-64 seçeneği henüz çalışmıyor."
+
+#~ msgid "The -march option is incompatible to -mipsN and therefore ignored."
+#~ msgstr " -march seçeneği -mipsN ile uyumsuz olduğundan yoksayıldı."
+
+#~ msgid "-mips%d not supported"
+#~ msgstr "-mips%d desteklenmiyor"
+
+#~ msgid "-mabi=%s does not support -mips%d"
+#~ msgstr "-mabi=%s ile -mips%d uyumsuz"
+
+#~ msgid "this target does not support the -mabi switch"
+#~ msgstr "bu hedef -mabi seçeneğini desteklemez."
+
+#~ msgid "bad value (%s) for -mtune= switch"
+#~ msgstr "-mtune= seçeneğinin değeri (%s) hatalı"
+
+#~ msgid "-mips%d does not support 64 bit fp registers"
+#~ msgstr "-mips%d 64 bit fp yazmaçlarını desteklemez"
+
+#~ msgid "-mips%d does not support 64 bit gp registers"
+#~ msgstr "-mips%d 64 bit gp yazmaçlarını desteklemez"
+
+#~ msgid "Use OSF PIC"
+#~ msgstr "OSF PIC kullanılır"
+
+#~ msgid "Don't use OSF PIC"
+#~ msgstr "OSF PIC kullanılmaz"
+
+#~ msgid "Optimize for 3900"
+#~ msgstr "3900 için eniyileme yapılır"
+
+#~ msgid "Optimize for 4650"
+#~ msgstr "4650 için eniyileme yapılır"
+
+#~ msgid "stack frame too big"
+#~ msgstr "yığın bağlamı çok büyük"
+
+#~ msgid "neither varargs or stdarg in mmix_setup_incoming_varargs"
+#~ msgstr "mmix_setup_incoming_varargs içinde ne varargs ne de stdarg var"
+
+#~ msgid "oops, not debugged; fixing up value:"
+#~ msgstr "oof, hata ayıklamasız; değer düzeltiliyor:"
+
+#~ msgid "Generate little endian data"
+#~ msgstr "Küçük ilkli veri üretilir"
+
+#~ msgid "Generate big endian data"
+#~ msgstr "Büyük ilkli veri üretilir"
+
+#~ msgid "Turn on maintainer testing code"
+#~ msgstr "Programcı denetim kodunu etkinleştirir"
+
+#~ msgid "Enable Transmeta picoJava extensions"
+#~ msgstr "Transmeta picoJava uzantıları etkinleştirilir"
+
+#~ msgid "Disable Transmeta picoJava extensions"
+#~ msgstr "Transmeta picoJava uzantıları kullanılmaz"
+
+#~ msgid "Disable reorganization pass"
+#~ msgstr "Aşamaların yeniden organizasyonu yapılmaz"
+
+#~ msgid "-f%s ignored (all code is position independent)"
+#~ msgstr "-f%s yoksayıldı (tüm kod konum bağımsız)"
+
+#~ msgid "-ffunction-sections disabled on AIX when debugging"
+#~ msgstr "Hata ayıklama sırasında AIX'de -ffunction-sections etkisizdir"
+
+#~ msgid "-fdata-sections not supported on AIX"
+#~ msgstr "-fdata-sections AIX'de desteklenmiyor"
+
+#~ msgid "argument 3 of `%s' must be a 2-bit literal"
+#~ msgstr "`%s' için 3. argüman 2 bitlik bir sabit olmalı"
+
+#~ msgid "%%S computed all 1's mask"
+#~ msgstr "%%S tamamı birlerin maskı olarak hesaplandı"
+
+#~ msgid "%%S computed all 0's mask"
+#~ msgstr "%%S tamamı sıfırların maskı olarak hesaplandı"
+
+#~ msgid "no viable candidates"
+#~ msgstr "uygulanabilir aday yok"
+
+#~ msgid "cannot pass objects of non-POD type `%#T' through `...'"
+#~ msgstr "POD olmayan `%#T' türünün nesneleri `...' üzerinden aktarılamaz"
+
+#~ msgid "`%D' has already been declared in `%T'"
+#~ msgstr "`%D' zaten `%T' de bildirilmiÅŸti"
+
+#~ msgid "typedef `%D' is initialized"
+#~ msgstr "typedef `%D' ilkdeÄŸerli"
+
+#~ msgid "`%D' as declarator"
+#~ msgstr "bildirici olarak `%D'"
+
+#~ msgid "size of member `%D' is not constant"
+#~ msgstr "üye `%D' boyutu bir sabit değil"
+
+#~ msgid "cannot declare %s to references"
+#~ msgstr "%s referanslara bildirilemez"
+
+#~ msgid "invalid type: `void &'"
+#~ msgstr "geçersiz tür: `void &'"
+
+#~ msgid "typedef declaration includes an initializer"
+#~ msgstr "typedef bildirimi bir ilklendirici içeriyor"
+
+#~ msgid "-fname-mangling-version is no longer supported"
+#~ msgstr "-fname-mangling-version artık desteklenmiyor"
+
+#~ msgid "candidate%s: %+#D"
+#~ msgstr "aday%s: %+#D"
+
+#~ msgid " %#D"
+#~ msgstr " %#D"
+
+#~ msgid "member initializers for `%#D'"
+#~ msgstr "`%#D'"
+
+#~ msgid " will be re-ordered to match declaration order"
+#~ msgstr " bildirim sırasının eşlenmesi için yeniden sıralama yapılacak"
+
+#~ msgid "multiple initializations given for member `%D'"
+#~ msgstr "üye `%D' için çoklu ilklendiriciler verilmiş"
+
+#~ msgid "base initializers for `%#T'"
+#~ msgstr "`%T' için taban ilklendiriciler"
+
+#~ msgid " will be re-ordered to match inheritance order"
+#~ msgstr " miras kalma sırasının eşlenmesi için yeniden sıralanacak"
+
+#~ msgid "base class `%T' already initialized"
+#~ msgstr "taban sınıf `%T' zaten ilklendirilmiş"
+
+#~ msgid "implementation-reserved name `%D' used"
+#~ msgstr "implementation-saklı ismi `%D' kullanıldı"
+
+#~ msgid "explicit instantiation of `%#D' after"
+#~ msgstr "`%#D' nin doğrudan gerçeklenmesi sonra"
+
+#~ msgid "explicit specialization here"
+#~ msgstr "burada doğrudan özelleştirme"
+
+#~ msgid "explicit instantiation of `%#T' after"
+#~ msgstr "`%#T' nin doğrudan gerçeklenmesi sonra"
+
+#~ msgid "base initializer for `%T'"
+#~ msgstr "`%T' için taban ilklendirici"
+
+#~ msgid " will be re-ordered to precede member initializations"
+#~ msgstr " üye ilklendirmelerinin öncesinde yeniden sıralanmış olacak"
+
+#~ msgid "ignoring `%V' qualifiers on `%T'"
+#~ msgstr "`%V' niteleyicileri `%T'de yoksayılıyor"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to a function type"
+#~ msgstr "ISO C++ bir üye türe `sizeof' uygulanmasına izin vermez"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to a member function"
+#~ msgstr "ISO C++ bir üye işleve `sizeof' uygulanmasına izin vermez"
+
+#~ msgid "ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type"
+#~ msgstr "ISO C++ bir boş tür olan `void' türe `sizeof' uygulanmasına izin vermez"
+
+#~ msgid "`sizeof' applied to non-static member"
+#~ msgstr "'sizeof' bir statik olmayan üyeye uygulandı"
+
+#~ msgid "`sizeof' applied to incomplete type `%T'"
+#~ msgstr "sizeof bir içi boş `%T' türüne uygulandı"
+
+#~ msgid "request for member `%T::%D' in expression of non-aggregate type `%T'"
+#~ msgstr "üye `%T::%D' için kümeleme türü olmayan tür `%T' ifadesi içinde istek"
+
+#~ msgid "invalid use of type decl `%#D' as expression"
+#~ msgstr "ifade olarak tür bildirimi `%#D' kullanımı geçersiz"
+
+#~ msgid "invalid use of template `%#D' as expression"
+#~ msgstr "ifade olarak tür şablon `%#D' kullanımı geçersiz"
+
+#~ msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead"
+#~ msgstr "POD olmayan tür `%T' deki offsetof geçersiz; yerine üyeye gösterge kullanın"
+
+#~ msgid "pointer to member function called, but not in class scope"
+#~ msgstr "üye işleve gösterge çağrıldı ama sınıf kapsamında değil"
+
+#~ msgid "object missing in call to method `%D'"
+#~ msgstr "yöntem `%D' ye çağrı içinde nesne eksik"
+
+#~ msgid "function `%D' declared overloaded, but no definitions appear with which to resolve it?!?"
+#~ msgstr "işlev `%D' aşırı yükü bildirilmiş ama onu çözümleyecek olanla görünen bir tanımı yok!?!"
+
+#~ msgid "invalid call to member function needing `this' in static member function scope"
+#~ msgstr "statik üye işlev kapsamında `this' gerektiren üye işleve çağrı geçersiz"
+
+#~ msgid "unary `&'"
+#~ msgstr "tekil `&'"
+
+#~ msgid "invalid use of undefined type `%#T'"
+#~ msgstr "tanımsız `%#T' türünün kullanımı geçersiz"
+
+#~ msgid "forward declaration of `%#T'"
+#~ msgstr "`%#T' için ileriye bildirim"
+
+#~ msgid "invalid use of `%T'"
+#~ msgstr "`%T' kullanımı geçersiz"
+
+#~ msgid "invalid use of member (did you forget the `&' ?)"
+#~ msgstr "üye kullanımı geçersiz ( `&' unutuldu mu? )"
+
+#~ msgid "invalid use of template type parameter"
+#~ msgstr "şablon türü parametre kullanımı geçersiz"
+
+#~ msgid "address of overloaded function with no contextual type information"
+#~ msgstr "bağlamsal tür bilgileri olmayan aşırı yüklü işlev adresi"
+
+#~ msgid "overloaded function with no contextual type information"
+#~ msgstr "bağlamsal tür bilgileri olmayan aşırı yüklü işlev"
+
+#~ msgid "insufficient contextual information to determine type"
+#~ msgstr "türü saptayacak bağlamsal bilgiler yetersiz"
+
+#~ msgid "initializer list construction invalid for derived class object `%D'"
+#~ msgstr "ilklendirici liste yapısı türetilmiş sınıf nesnesi `%D' için geçersiz"
+
+#~ msgid "initializer list construction invalid for polymorphic class object `%D'"
+#~ msgstr "ilklendirici liste yapısı polimorfik sınıf nesnesi `%D' için geçersiz"
+
+#~ msgid "initializer list construction invalid for `%D'"
+#~ msgstr "ilklendirici liste yapısı `%D' için geçersiz"
+
+#~ msgid "due to the presence of a constructor"
+#~ msgstr "bir kurucunun varlığından kaynaklanıyor"
+
+#~ msgid "due to non-public access of member `%D'"
+#~ msgstr "üye `%D' nin public olmayan erişiminden dolayı"
+
+#~ msgid "ISO C++ forbids non-constant aggregate initializer expressions"
+#~ msgstr "ISO C++ sabit olmayan kümeleme ilklendirici ifadelerine izin vermez"
+
+#~ msgid "The meaning of `\\x' (at %0) varies with -traditional"
+#~ msgstr "`\\x'in anlamı (%0 içinde) -traditional ile değişir"
+
+#~ msgid "The meaning of `\\a' (at %0) varies with -traditional"
+#~ msgstr "`\\a'nın anlamı (%0 içinde) -traditional ile değişir"
+
+#~ msgid "the meaning of `\\x' varies with -traditional"
+#~ msgstr "`\\x'in anlamı -traditional ile değişir"
+
+#~ msgid "the meaning of `\\a' varies with -traditional"
+#~ msgstr "`\\a'nın anlamı -traditional ile değişir"
+
+#~ msgid "parse error; also virtual memory exceeded"
+#~ msgstr "ayrıştırma hatası; ayrıca sanal bellek aşıldı"
+
+#~ msgid "Can't specify array dimension in a declaration"
+#~ msgstr "Dizi boyutları bildirim sırasında belirtilemez"
+
+#~ msgid "internal error - use of undefined type"
+#~ msgstr "iç hata - atanmamış tür kullanımı"
+
+#~ msgid "no class name specified as argument to -fconstant-string-class"
+#~ msgstr "-fconstant-string-class için argüman olarak sınıf ismi belirtilmemiş"
+
+#~ msgid "-p profiling is no longer supported. Use -pg instead"
+#~ msgstr "-p ayrımsaması artık desteklenmiyor. yerine -pg kullanın."
+
+#~ msgid "incompatible interworking options"
+#~ msgstr "uyumsuz birlikte çalışma seçenekleri"
+
+#~ msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive"
+#~ msgstr "-mabi=mmixware ve -mabi=gnu seçenekleri birlikte kullanılmamalı"
+
+#~ msgid "-p option not supported: use -pg instead"
+#~ msgstr "-p seçeneği desteklenmiyor: yerine -pg kullanın"
+
+#~ msgid "-mbsd and -pedantic incompatible"
+#~ msgstr "-mbsd ve -pedantic uyumsuz"
+
+#~ msgid "-mbsd and -mxopen incompatible"
+#~ msgstr "-mbsd ve -mxopen uyumsuz"
+
+#~ msgid "-mxopen and -pedantic incompatible"
+#~ msgstr "-mxopen ve -pedantic uyumsuz"
+
+#~ msgid "may not use both -mfp64 and -msingle-float"
+#~ msgstr "-mfp64 ve -msingle-float birlikte kullanılamayabilir"
+
+#~ msgid "may not use both -mfp64 and -m4650"
+#~ msgstr "-mfp64 ve -m4650 birlikte kullanılamayabilir"
+
+#~ msgid "may not use both -mgp32 and -mfp64"
+#~ msgstr "-mfp64 ve -mgp32 birlikte kullanılamayabilir"
+
+#~ msgid "Only initialized variables can be placed into program memory area."
+#~ msgstr "Program bellek alanına sadece ilklendirilmiş değişkenler yerleştirilebilir."
+
+#~ msgid "declaration of `%#T'"
+#~ msgstr "`%#T' bildirimi"
+
+#~ msgid "a -ifile option requires a -map option"
+#~ msgstr "bir -ifile seçeneği bir -map seçeneği gerektirir"
+
#~ msgid "__builtin_trap not supported by this target"
#~ msgstr "__builtin_trap bu hedef tarafından desteklenmiyor"
@@ -20434,9 +22097,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "cannot EXIT label `%s' outside current function"
#~ msgstr "EXIT etiketi `%s' işlevin dışında olamaz"
-#~ msgid "case selector not compatible with label"
-#~ msgstr "case seçici case etiketi ile uyumsuz"
-
#~ msgid "ELSE label not within a CASE statement"
#~ msgstr "ELSE etiketi bir CASE deyimi içinde değil"
@@ -20557,9 +22217,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "bad initializer for field `%s'"
#~ msgstr "`%s' alanı için hatalı ilklendirici"
-#~ msgid "no initializer value for variant field `%s'"
-#~ msgstr "variant alan `%s' için bir ilklendirici yok"
-
#~ msgid "no selected variant"
#~ msgstr "seçilmiş bir variant yok"
@@ -20683,9 +22340,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "non-value mode may only returned by LOC"
#~ msgstr "değer almayan kip sadece konumu ile döndürülebilir"
-#~ msgid "mode of `%s' is not a mode"
-#~ msgstr "`%s' kipi bir kip deÄŸil"
-
#~ msgid "`%s' may only be passed by LOC"
#~ msgstr "`%s' sadece konumu ile aktarılabilir"
@@ -21106,9 +22760,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "too few arguments in call to `readrecord'"
#~ msgstr "`readrecord' çağrısında argümanlar çok az"
-#~ msgid "incompatible record mode"
-#~ msgstr "uyumsuz kayıt kipi"
-
#~ msgid "store location must not be READonly"
#~ msgstr "saklama konumu SALTokunur olmamalı"
@@ -21271,15 +22922,9 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "control sequence overflow"
#~ msgstr "denetim dizgesinde taÅŸma"
-#~ msgid "invalid control sequence"
-#~ msgstr "geçersiz denetim dizgesi"
-
#~ msgid "invalid base in read control sequence"
#~ msgstr "okuma denetimi dizgesindeki taban geçersiz"
-#~ msgid "invalid digit in control sequence"
-#~ msgstr "denetim dizgesindeki rakam geçersiz"
-
#~ msgid "unterminated string literal"
#~ msgstr "sonlandırılmamış dizge sabit"
@@ -21373,9 +23018,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "start label '%s' does not match end label '%s'"
#~ msgstr "baÅŸlatma etiketi '%s' ile bitirme etiketi '%s' eÅŸleÅŸmiyor"
-#~ msgid "`%s' not declared"
-#~ msgstr "`%s' bildirilmedi"
-
#~ msgid "no RETURN or RESULT in procedure"
#~ msgstr "iÅŸlevde ne RETURN ne de RESULT var"
@@ -21424,9 +23066,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "'=' used where ':=' is required"
#~ msgstr "':=' gerekirken '=' kullanılmış"
-#~ msgid "initialization is not allowed in spec module"
-#~ msgstr "spec modülünde ilklendirme yapılamaz"
-
#~ msgid "loc-identity declaration without initialization"
#~ msgstr "ilklendirilmeksizin yerel kimlik bildirimi"
@@ -21469,9 +23108,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "unrecognized case label list after ','"
#~ msgstr "','den sonraki case etiketleri tanınmıyor"
-#~ msgid "bad ASM operand"
-#~ msgstr "hatalı ASM terimi"
-
#~ msgid "readonly location modified by 'asm'"
#~ msgstr "salt-okunur konum 'asm' tarafından değiştirildi"
@@ -21556,12 +23192,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "POS not allowed for ARRAY"
#~ msgstr "ARRAY için POS kullanılamaz"
-#~ msgid "STEP not allowed in field definition"
-#~ msgstr "alan tanımında STEP kullanılamaz"
-
-#~ msgid "missing field name"
-#~ msgstr "alan ismi eksik"
-
#~ msgid "bad field name following ','"
#~ msgstr "','ü izleyen alan ismi hatalı"
@@ -21616,9 +23246,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "mode with non-value property in signal definition"
#~ msgstr "sinyal tanımında değer almayan özellikli kip"
-#~ msgid "undeclared identifier `%s'"
-#~ msgstr "bildirilmemiş tanımlayıcı `%s'"
-
#~ msgid "RETURNS spec with invalid mode"
#~ msgstr "geçersiz kipte RETURNS özelliği"
@@ -21634,9 +23261,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "recordmode must not have the non-value property"
#~ msgstr "kayıt kipi değer almayan özelliğe sahip olmamalı"
-#~ msgid "tasking code %ld out of range for `%s'"
-#~ msgstr "görevlendirme kodu %ld `%s' için aralık dışında"
-
#~ msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
#~ msgstr "argüman `%s' için öznitelik geçersiz (sadece IN ya da LOC kullanılabilir)"
@@ -21925,9 +23549,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "location conversion between differently-sized modes"
#~ msgstr "farklı boyuttaki kipler arasında konum dönüşümü"
-#~ msgid "unsupported value conversion"
-#~ msgstr "desteklenmeyen değer dönüşümü"
-
#~ msgid "operand to bin must be a non-negative integer literal"
#~ msgstr "bin terimi bir negatif olmayan tamsayı sabit olmalı"
@@ -22712,9 +24333,6 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression"
#~ msgstr "IMPLICIT deyimi için %0 daki uzunluk özelliği geçersiz -- tamsayı sabit ifadesi olmalı"
-#~ msgid "Invalid length specification at %0"
-#~ msgstr "%0 da uzunluk özelliği geçersiz"
-
#~ msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type"
#~ msgstr "İşlevin %0 daki giriş noktasının türü önceki giriş noktası/larındaki tür(ler) ile çelişiyor -- ya tümü aynı karakter uzunluğunda olmalı yada hiçbiri karakter türünde olmamalı"
@@ -22774,6 +24392,3 @@ msgstr "-fPIC -mcoff ile geçerli değil"
#~ msgid "Set class path and suppress system path"
#~ msgstr "Sistem dosya yolu yerine sınıf dosya yolu ayarlanır"
-
-#~ msgid "a -ifile option requires a -map option"
-#~ msgstr "bir -ifile seçeneği bir -map seçeneği gerektirir"
diff --git a/gcc/predict.c b/gcc/predict.c
index 7e581468dec..3ad11e78536 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)
@@ -183,6 +183,8 @@ predict_insn (insn, predictor, probability)
{
if (!any_condjump_p (insn))
abort ();
+ if (!flag_guess_branch_prob)
+ return;
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_BR_PRED,
@@ -986,20 +988,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 +1025,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 +1156,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 +1202,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 +1218,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);
}
@@ -1264,7 +1270,7 @@ choose_function_section ()
but this requires more work as the frequency needs to match
for all generated objects so we need to merge the frequency
of all instances. For now just never set frequency for these. */
- || !DECL_ONE_ONLY (current_function_decl))
+ || DECL_ONE_ONLY (current_function_decl))
return;
if (cfun->function_frequency == FUNCTION_FREQUENCY_HOT)
DECL_SECTION_NAME (current_function_decl) =
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index c01f9185add..0a0ac9e0427 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -1,5 +1,5 @@
/* Print RTL for GNU C Compiler.
- Copyright (C) 1987, 1988, 1992, 1997, 1998, 1999, 2000
+ Copyright (C) 1987, 1988, 1992, 1997, 1998, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GCC.
@@ -491,6 +491,7 @@ print_rtx (in_rtx)
switch (GET_CODE (in_rtx))
{
+#ifndef GENERATOR_FILE
case MEM:
fputs (" [", outfile);
fprintf (outfile, HOST_WIDE_INT_PRINT_DEC, MEM_ALIAS_SET (in_rtx));
@@ -518,7 +519,6 @@ print_rtx (in_rtx)
fputc (']', outfile);
break;
-#ifndef GENERATOR_FILE
case CONST_DOUBLE:
if (FLOAT_MODE_P (GET_MODE (in_rtx)))
{
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index e7c16559e56..05ca52b3c56 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -328,7 +328,9 @@ print_node (file, prefix, node, indent)
if (TREE_CODE (node) == TYPE_DECL && TYPE_DECL_SUPPRESS_DEBUG (node))
fputs (" suppress-debug", file);
- if (TREE_CODE (node) == FUNCTION_DECL && DECL_INLINE (node))
+ if (TREE_CODE (node) == FUNCTION_DECL && DID_INLINE_FUNC (node))
+ fputs (" autoinline", file);
+ else if (TREE_CODE (node) == FUNCTION_DECL && DECL_INLINE (node))
fputs (" inline", file);
if (TREE_CODE (node) == FUNCTION_DECL && DECL_BUILT_IN (node))
fputs (" built-in", file);
diff --git a/gcc/ra-colorize.c b/gcc/ra-colorize.c
index eecea504f18..5db6474447c 100644
--- a/gcc/ra-colorize.c
+++ b/gcc/ra-colorize.c
@@ -532,13 +532,14 @@ merge_moves (u, v)
struct web *u, *v;
{
regset seen;
- struct move_list *ml;
+ struct move_list *ml, *ml_next;
seen = BITMAP_XMALLOC ();
for (ml = u->moves; ml; ml = ml->next)
bitmap_set_bit (seen, INSN_UID (ml->move->insn));
- for (ml = v->moves; ml; ml = ml->next)
+ for (ml = v->moves; ml; ml = ml_next)
{
+ ml_next = ml->next;
if (! bitmap_bit_p (seen, INSN_UID (ml->move->insn)))
{
ml->next = u->moves;
diff --git a/gcc/real.c b/gcc/real.c
index d9a4b801e3d..b24f7b5f61c 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1,6 +1,6 @@
/* real.c - software floating point emulation.
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2002 Free Software Foundation, Inc.
+ 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Contributed by Stephen L. Moshier (moshier@world.std.com).
Re-written by Richard Henderson <rth@redhat.com>
@@ -1369,7 +1369,7 @@ real_to_integer2 (plow, phigh, r)
exp = r->exp;
if (exp <= 0)
goto underflow;
- if (exp >= 2*HOST_BITS_PER_WIDE_INT)
+ if (exp > 2*HOST_BITS_PER_WIDE_INT)
goto overflow;
rshift_significand (&t, r, 2*HOST_BITS_PER_WIDE_INT - exp);
@@ -3254,8 +3254,23 @@ encode_ibm_extended (fmt, buf, r)
u = *r;
clear_significand_below (&u, SIGNIFICAND_BITS - 53);
- /* v = remainder containing additional 53 bits of significand. */
- do_add (&v, r, &u, 1);
+ normalize (&u);
+ /* If the upper double is zero, we have a denormal double, so
+ move it to the first double and leave the second as zero. */
+ if (u.class == rvc_zero)
+ {
+ v = u;
+ u = *r;
+ normalize (&u);
+ }
+ else
+ {
+ /* v = remainder containing additional 53 bits of significand. */
+ do_add (&v, r, &u, 1);
+ round_for_format (&ieee_double_format, &v);
+ }
+
+ round_for_format (&ieee_double_format, &u);
encode_ieee_double (&ieee_double_format, &buf[0], &u);
encode_ieee_double (&ieee_double_format, &buf[2], &v);
@@ -3292,7 +3307,7 @@ const struct real_format ibm_extended_format =
2,
1,
53 + 53,
- -1021,
+ -1021 + 53,
1024,
true,
true,
diff --git a/gcc/recog.c b/gcc/recog.c
index d1db9c4e69d..bd42a5b5363 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -1086,7 +1086,7 @@ register_operand (op, mode)
#ifdef CANNOT_CHANGE_MODE_CLASS
if (GET_CODE (sub) == REG
&& REGNO (sub) < FIRST_PSEUDO_REGISTER
- && REG_CANNOT_CHANGE_MODE_P (REGNO (sub), mode, GET_MODE (sub))
+ && REG_CANNOT_CHANGE_MODE_P (REGNO (sub), GET_MODE (sub), mode)
&& GET_MODE_CLASS (GET_MODE (sub)) != MODE_COMPLEX_INT
&& GET_MODE_CLASS (GET_MODE (sub)) != MODE_COMPLEX_FLOAT)
return 0;
@@ -2805,12 +2805,12 @@ split_all_insns (upd_life)
int upd_life;
{
sbitmap blocks;
- int changed;
+ bool changed;
basic_block bb;
blocks = sbitmap_alloc (last_basic_block);
sbitmap_zero (blocks);
- changed = 0;
+ changed = false;
FOR_EACH_BB_REVERSE (bb)
{
@@ -2835,7 +2835,7 @@ split_all_insns (upd_life)
while (GET_CODE (last) == BARRIER)
last = PREV_INSN (last);
SET_BIT (blocks, bb->index);
- changed = 1;
+ changed = true;
insn = last;
}
}
@@ -2843,14 +2843,18 @@ split_all_insns (upd_life)
if (changed)
{
+ int old_last_basic_block = last_basic_block;
+
find_many_sub_basic_blocks (blocks);
+
+ if (old_last_basic_block != last_basic_block && upd_life)
+ blocks = sbitmap_resize (blocks, last_basic_block, 1);
}
if (changed && upd_life)
- {
- count_or_remove_death_notes (blocks, 1);
- update_life_info (blocks, UPDATE_LIFE_LOCAL, PROP_DEATH_NOTES);
- }
+ update_life_info (blocks, UPDATE_LIFE_GLOBAL_RM_NOTES,
+ PROP_DEATH_NOTES | PROP_REG_INFO);
+
#ifdef ENABLE_CHECKING
verify_flow_info ();
#endif
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 18bfeca3c75..1537c077331 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -426,9 +426,6 @@ reg_to_stack (first, file)
/* Clean up previous run. */
stack_regs_mentioned_data = 0;
- if (!optimize)
- split_all_insns (0);
-
/* See if there is something to do. Flow analysis is quite
expensive so we might save some compilation time. */
for (i = FIRST_STACK_REG; i <= LAST_STACK_REG; i++)
@@ -587,6 +584,9 @@ get_true_reg (pat)
}
}
+/* Set if we find any malformed asms in a block. */
+static bool any_malformed_asm;
+
/* There are many rules that an asm statement for stack-like regs must
follow. Those rules are explained at the top of this file: the rule
numbers below refer to that explanation. */
@@ -768,6 +768,7 @@ check_asm_stack_operands (insn)
{
/* Avoid further trouble with this insn. */
PATTERN (insn) = gen_rtx_USE (VOIDmode, const0_rtx);
+ any_malformed_asm = true;
return 0;
}
@@ -2620,6 +2621,7 @@ convert_regs_1 (file, block)
edge e, beste = NULL;
inserted = 0;
+ any_malformed_asm = false;
/* Find the edge we will copy stack from. It should be the most frequent
one as it will get cheapest after compensation code is generated,
@@ -2733,9 +2735,12 @@ convert_regs_1 (file, block)
}
}
- /* Something failed if the stack lives don't match. */
+ /* Something failed if the stack lives don't match. If we had malformed
+ asms, we zapped the instruction itself, but that didn't produce the
+ same pattern of register kills as before. */
GO_IF_HARD_REG_EQUAL (regstack.reg_set, bi->out_reg_set, win);
- abort ();
+ if (!any_malformed_asm)
+ abort ();
win:
bi->stack_out = regstack;
@@ -2848,6 +2853,7 @@ convert_regs (file)
inserted |= convert_regs_2 (file, b);
}
}
+ clear_aux_for_blocks ();
fixup_abnormal_edges ();
if (inserted)
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 20c7d3b03d1..45c69d8b89a 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -48,6 +48,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
static void init_reg_sets_1 PARAMS ((void));
static void init_reg_modes PARAMS ((void));
+static void init_reg_autoinc PARAMS ((void));
/* If we have auto-increment or auto-decrement and we can have secondary
reloads, we are not allowed to use classes requiring secondary
@@ -228,9 +229,9 @@ static char *in_inc_dec;
#endif /* FORBIDDEN_INC_DEC_CLASSES */
#ifdef CANNOT_CHANGE_MODE_CLASS
-/* All registers that have been subreged. Indexed by mode, where each
- entry is a regset of registers. */
-regset_head subregs_of_mode [NUM_MACHINE_MODES];
+/* All registers that have been subreged. Indexed by regno * MAX_MACHINE_MODE
+ + mode. */
+bitmap_head subregs_of_mode;
#endif
/* Sample MEM values for use by memory_move_secondary_cost. */
@@ -576,6 +577,8 @@ init_regs ()
init_reg_sets_1 ();
init_reg_modes ();
+
+ init_reg_autoinc ();
}
/* Initialize some fake stack-frame MEM references for use in
@@ -1141,37 +1144,18 @@ scan_one_insn (insn, pass)
return insn;
}
-/* This is a pass of the compiler that scans all instructions
- and calculates the preferred class for each pseudo-register.
- This information can be accessed later by calling `reg_preferred_class'.
- This pass comes just before local register allocation. */
+/* Initialize information about which register classes can be used for
+ pseudos that are auto-incremented or auto-decremented. */
-void
-regclass (f, nregs, dump)
- rtx f;
- int nregs;
- FILE *dump;
+static void
+init_reg_autoinc ()
{
- rtx insn;
- int i;
- int pass;
-
- init_recog ();
-
- costs = (struct costs *) xmalloc (nregs * sizeof (struct costs));
-
#ifdef FORBIDDEN_INC_DEC_CLASSES
-
- in_inc_dec = (char *) xmalloc (nregs);
-
- /* Initialize information about which register classes can be used for
- pseudos that are auto-incremented or auto-decremented. It would
- seem better to put this in init_reg_sets, but we need to be able
- to allocate rtx, which we can't do that early. */
+ int i;
for (i = 0; i < N_REG_CLASSES; i++)
{
- rtx r = gen_rtx_REG (VOIDmode, 0);
+ rtx r = gen_rtx_raw_REG (VOIDmode, 0);
enum machine_mode m;
int j;
@@ -1212,6 +1196,32 @@ regclass (f, nregs, dump)
}
}
#endif /* FORBIDDEN_INC_DEC_CLASSES */
+}
+
+/* This is a pass of the compiler that scans all instructions
+ and calculates the preferred class for each pseudo-register.
+ This information can be accessed later by calling `reg_preferred_class'.
+ This pass comes just before local register allocation. */
+
+void
+regclass (f, nregs, dump)
+ rtx f;
+ int nregs;
+ FILE *dump;
+{
+ rtx insn;
+ int i;
+ int pass;
+
+ init_recog ();
+
+ costs = (struct costs *) xmalloc (nregs * sizeof (struct costs));
+
+#ifdef FORBIDDEN_INC_DEC_CLASSES
+
+ in_inc_dec = (char *) xmalloc (nregs);
+
+#endif /* FORBIDDEN_INC_DEC_CLASSES */
/* Normally we scan the insns once and determine the best class to use for
each register. However, if -fexpensive_optimizations are on, we do so
@@ -1678,7 +1688,7 @@ record_reg_classes (n_alts, n_ops, ops, modes,
if (GET_CODE (op) == MEM)
win = 1;
}
- if (EXTRA_ADDRESS_CONSTRAINT (op))
+ if (EXTRA_ADDRESS_CONSTRAINT (c))
{
/* Every address can be reloaded to fit. */
allows_addr = 1;
@@ -2614,15 +2624,18 @@ cannot_change_mode_set_regs (used, from, regno)
unsigned int regno;
{
enum machine_mode to;
- enum reg_class class;
+ int n, i;
+ int start = regno * MAX_MACHINE_MODE;
- for (to = VOIDmode; to < MAX_MACHINE_MODE; ++to)
- if (REGNO_REG_SET_P (&subregs_of_mode[to], regno))
- {
- class = CANNOT_CHANGE_MODE_CLASS (from, to);
- if (class != NO_REGS)
- IOR_HARD_REG_SET (*used, reg_class_contents [(int) class]);
- }
+ EXECUTE_IF_SET_IN_BITMAP (&subregs_of_mode, start, n,
+ if (n >= MAX_MACHINE_MODE + start)
+ return;
+ to = n - start;
+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
+ if (! TEST_HARD_REG_BIT (*used, i)
+ && REG_CANNOT_CHANGE_MODE_P (i, from, to))
+ SET_HARD_REG_BIT (*used, i);
+ );
}
/* Return 1 if REGNO has had an invalid mode change in CLASS from FROM
@@ -2635,12 +2648,16 @@ invalid_mode_change_p (regno, class, from_mode)
enum machine_mode from_mode;
{
enum machine_mode to_mode;
-
- for (to_mode = 0; to_mode < NUM_MACHINE_MODES; ++to_mode)
- if (REGNO_REG_SET_P (&subregs_of_mode[(int) to_mode], regno)
- && reg_classes_intersect_p
- (class, CANNOT_CHANGE_MODE_CLASS (from_mode, to_mode)))
+ int n;
+ int start = regno * MAX_MACHINE_MODE;
+
+ EXECUTE_IF_SET_IN_BITMAP (&subregs_of_mode, start, n,
+ if (n >= MAX_MACHINE_MODE + start)
+ return 0;
+ to_mode = n - start;
+ if (CANNOT_CHANGE_MODE_CLASS (from_mode, to_mode, class))
return 1;
+ );
return 0;
}
#endif /* CANNOT_CHANGE_MODE_CLASS */
diff --git a/gcc/regmove.c b/gcc/regmove.c
index c39e5cce7b7..cb5e547cecd 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -431,6 +431,16 @@ optimize_reg_copy_1 (insn, dest, src)
continue;
if (reg_set_p (src, p) || reg_set_p (dest, p)
+ /* If SRC is an asm-declared register, it must not be replaced
+ in any asm. Unfortunately, the REG_EXPR tree for the asm
+ variable may be absent in the SRC rtx, so we can't check the
+ actual register declaration easily (the asm operand will have
+ it, though). To avoid complicating the test for a rare case,
+ we just don't perform register replacement for a hard reg
+ mentioned in an asm. */
+ || (sregno < FIRST_PSEUDO_REGISTER
+ && asm_noperands (PATTERN (p)) >= 0
+ && reg_overlap_mentioned_p (src, PATTERN (p)))
/* Don't change a USE of a register. */
|| (GET_CODE (PATTERN (p)) == USE
&& reg_overlap_mentioned_p (src, XEXP (PATTERN (p), 0))))
diff --git a/gcc/regs.h b/gcc/regs.h
index 4a78212ec80..2e838e32939 100644
--- a/gcc/regs.h
+++ b/gcc/regs.h
@@ -66,7 +66,7 @@ typedef struct reg_info_def
extern varray_type reg_n_info;
-extern regset_head subregs_of_mode [NUM_MACHINE_MODES];
+extern bitmap_head subregs_of_mode;
/* Indexed by n, gives number of times (REG n) is used or set. */
diff --git a/gcc/reload.c b/gcc/reload.c
index a5069241cc3..b151af73853 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -258,6 +258,7 @@ static int alternative_allows_memconst PARAMS ((const char *, int));
static rtx find_reloads_toplev PARAMS ((rtx, int, enum reload_type, int,
int, rtx, int *));
static rtx make_memloc PARAMS ((rtx, int));
+static int maybe_memory_address_p PARAMS ((enum machine_mode, rtx, rtx *));
static int find_reloads_address PARAMS ((enum machine_mode, rtx *, rtx, rtx *,
int, enum reload_type, int, rtx));
static rtx subst_reg_equivs PARAMS ((rtx, rtx));
@@ -818,6 +819,13 @@ reload_inner_reg_of_subreg (x, mode, output)
|| REGNO (inner) >= FIRST_PSEUDO_REGISTER)
return 0;
+ if (!subreg_offset_representable_p
+ (REGNO (SUBREG_REG (x)),
+ GET_MODE (SUBREG_REG (x)),
+ SUBREG_BYTE (x),
+ GET_MODE (x)))
+ return 1;
+
/* If INNER is not ok for MODE, then INNER will need reloading. */
if (! HARD_REGNO_MODE_OK (subreg_regno (x), mode))
return 1;
@@ -968,9 +976,7 @@ push_reload (in, out, inloc, outloc, class,
if (in != 0 && GET_CODE (in) == SUBREG
&& (subreg_lowpart_p (in) || strict_low)
#ifdef CANNOT_CHANGE_MODE_CLASS
- && !reg_classes_intersect_p
- (class, CANNOT_CHANGE_MODE_CLASS (GET_MODE (SUBREG_REG (in)),
- inmode))
+ && !CANNOT_CHANGE_MODE_CLASS (GET_MODE (SUBREG_REG (in)), inmode, class)
#endif
&& (CONSTANT_P (SUBREG_REG (in))
|| GET_CODE (SUBREG_REG (in)) == PLUS
@@ -1080,9 +1086,7 @@ push_reload (in, out, inloc, outloc, class,
if (out != 0 && GET_CODE (out) == SUBREG
&& (subreg_lowpart_p (out) || strict_low)
#ifdef CANNOT_CHANGE_MODE_CLASS
- && !reg_classes_intersect_p
- (class, CANNOT_CHANGE_MODE_CLASS (GET_MODE (SUBREG_REG (out)),
- outmode))
+ && !CANNOT_CHANGE_MODE_CLASS (GET_MODE (SUBREG_REG (out)), outmode, class)
#endif
&& (CONSTANT_P (SUBREG_REG (out))
|| strict_low
@@ -2472,6 +2476,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
char pref_or_nothing[MAX_RECOG_OPERANDS];
/* Nonzero for a MEM operand whose entire address needs a reload. */
int address_reloaded[MAX_RECOG_OPERANDS];
+ /* Nonzero for an address operand that needs to be completely reloaded. */
+ int address_operand_reloaded[MAX_RECOG_OPERANDS];
/* Value of enum reload_type to use for operand. */
enum reload_type operand_type[MAX_RECOG_OPERANDS];
/* Value of enum reload_type to use within address of operand. */
@@ -2650,6 +2656,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
RTX_CODE code = GET_CODE (recog_data.operand[i]);
address_reloaded[i] = 0;
+ address_operand_reloaded[i] = 0;
operand_type[i] = (modified[i] == RELOAD_READ ? RELOAD_FOR_INPUT
: modified[i] == RELOAD_WRITE ? RELOAD_FOR_OUTPUT
: RELOAD_OTHER);
@@ -2664,10 +2671,11 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
else if (constraints[i][0] == 'p'
|| EXTRA_ADDRESS_CONSTRAINT (constraints[i][0]))
{
- find_reloads_address (recog_data.operand_mode[i], (rtx*) 0,
- recog_data.operand[i],
- recog_data.operand_loc[i],
- i, operand_type[i], ind_levels, insn);
+ address_operand_reloaded[i]
+ = find_reloads_address (recog_data.operand_mode[i], (rtx*) 0,
+ recog_data.operand[i],
+ recog_data.operand_loc[i],
+ i, operand_type[i], ind_levels, insn);
/* If we now have a simple operand where we used to have a
PLUS or MULT, re-recognize and try again. */
@@ -2684,6 +2692,10 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
recog_data.operand[i] = *recog_data.operand_loc[i];
substed_operand[i] = recog_data.operand[i];
+
+ /* Address operands are reloaded in their existing mode,
+ no matter what is specified in the machine description. */
+ operand_mode[i] = GET_MODE (recog_data.operand[i]);
}
else if (code == MEM)
{
@@ -2864,6 +2876,12 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
if (GET_CODE (SUBREG_REG (operand)) == REG
&& REGNO (SUBREG_REG (operand)) < FIRST_PSEUDO_REGISTER)
{
+ if (!subreg_offset_representable_p
+ (REGNO (SUBREG_REG (operand)),
+ GET_MODE (SUBREG_REG (operand)),
+ SUBREG_BYTE (operand),
+ GET_MODE (operand)))
+ force_reload = 1;
offset += subreg_regno_offset (REGNO (SUBREG_REG (operand)),
GET_MODE (SUBREG_REG (operand)),
SUBREG_BYTE (operand),
@@ -2919,26 +2937,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
)
#endif
)
- /* This following hunk of code should no longer be
- needed at all with SUBREG_BYTE. If you need this
- code back, please explain to me why so I can
- fix the real problem. -DaveM */
-#if 0
- /* Subreg of a hard reg which can't handle the subreg's mode
- or which would handle that mode in the wrong number of
- registers for subregging to work. */
- || (GET_CODE (operand) == REG
- && REGNO (operand) < FIRST_PSEUDO_REGISTER
- && ((GET_MODE_SIZE (operand_mode[i]) <= UNITS_PER_WORD
- && (GET_MODE_SIZE (GET_MODE (operand))
- > UNITS_PER_WORD)
- && ((GET_MODE_SIZE (GET_MODE (operand))
- / UNITS_PER_WORD)
- != HARD_REGNO_NREGS (REGNO (operand),
- GET_MODE (operand))))
- || ! HARD_REGNO_MODE_OK (REGNO (operand) + offset,
- operand_mode[i])))
-#endif
)
force_reload = 1;
}
@@ -3283,10 +3281,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
the address into a base register. */
this_alternative[i] = (int) MODE_BASE_REG_CLASS (VOIDmode);
badop = 0;
-
- /* Address constraints are reloaded in Pmode, no matter
- what mode is given in the machine description. */
- operand_mode[i] = Pmode;
break;
}
@@ -3856,6 +3850,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
}
else if (goal_alternative_matched[i] < 0
&& goal_alternative_matches[i] < 0
+ && !address_operand_reloaded[i]
&& optimize)
{
/* For each non-matching operand that's a MEM or a pseudo-register
@@ -4561,6 +4556,27 @@ make_memloc (ad, regno)
return tem;
}
+/* Returns true if AD could be turned into a valid memory reference
+ to mode MODE by reloading the part pointed to by PART into a
+ register. */
+
+static int
+maybe_memory_address_p (mode, ad, part)
+ enum machine_mode mode;
+ rtx ad;
+ rtx *part;
+{
+ int retv;
+ rtx tem = *part;
+ rtx reg = gen_rtx_REG (GET_MODE (tem), max_reg_num ());
+
+ *part = reg;
+ retv = memory_address_p (mode, ad);
+ *part = tem;
+
+ return retv;
+}
+
/* Record all reloads needed for handling memory address AD
which appears in *LOC in a memory reference to mode MODE
which itself is found in location *MEMREFLOC.
@@ -4841,26 +4857,24 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
that the index needs a reload and find_reloads_address_1 will take care
of it.
- If we decide to do something here, it must be that
- `double_reg_address_ok' is true and that this address rtl was made by
- eliminate_regs. We generate a reload of the fp/sp/ap + constant and
+ Handle all base registers here, not just fp/ap/sp, because on some
+ targets (namely Sparc) we can also get invalid addresses from preventive
+ subreg big-endian corrections made by find_reloads_toplev.
+
+ If we decide to do something, it must be that `double_reg_address_ok'
+ is true. We generate a reload of the base register + constant and
rework the sum so that the reload register will be added to the index.
This is safe because we know the address isn't shared.
- We check for fp/ap/sp as both the first and second operand of the
- innermost PLUS. */
+ We check for the base register as both the first and second operand of
+ the innermost PLUS. */
else if (GET_CODE (ad) == PLUS && GET_CODE (XEXP (ad, 1)) == CONST_INT
&& GET_CODE (XEXP (ad, 0)) == PLUS
- && (XEXP (XEXP (ad, 0), 0) == frame_pointer_rtx
-#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
- || XEXP (XEXP (ad, 0), 0) == hard_frame_pointer_rtx
-#endif
-#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
- || XEXP (XEXP (ad, 0), 0) == arg_pointer_rtx
-#endif
- || XEXP (XEXP (ad, 0), 0) == stack_pointer_rtx)
- && ! memory_address_p (mode, ad))
+ && GET_CODE (XEXP (XEXP (ad, 0), 0)) == REG
+ && REGNO (XEXP (XEXP (ad, 0), 0)) < FIRST_PSEUDO_REGISTER
+ && REG_MODE_OK_FOR_BASE_P (XEXP (XEXP (ad, 0), 0), mode)
+ && ! maybe_memory_address_p (mode, ad, &XEXP (XEXP (ad, 0), 1)))
{
*loc = ad = gen_rtx_PLUS (GET_MODE (ad),
plus_constant (XEXP (XEXP (ad, 0), 0),
@@ -4877,15 +4891,10 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
else if (GET_CODE (ad) == PLUS && GET_CODE (XEXP (ad, 1)) == CONST_INT
&& GET_CODE (XEXP (ad, 0)) == PLUS
- && (XEXP (XEXP (ad, 0), 1) == frame_pointer_rtx
-#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
- || XEXP (XEXP (ad, 0), 1) == hard_frame_pointer_rtx
-#endif
-#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
- || XEXP (XEXP (ad, 0), 1) == arg_pointer_rtx
-#endif
- || XEXP (XEXP (ad, 0), 1) == stack_pointer_rtx)
- && ! memory_address_p (mode, ad))
+ && GET_CODE (XEXP (XEXP (ad, 0), 1)) == REG
+ && REGNO (XEXP (XEXP (ad, 0), 1)) < FIRST_PSEUDO_REGISTER
+ && REG_MODE_OK_FOR_BASE_P (XEXP (XEXP (ad, 0), 1), mode)
+ && ! maybe_memory_address_p (mode, ad, &XEXP (XEXP (ad, 0), 0)))
{
*loc = ad = gen_rtx_PLUS (GET_MODE (ad),
XEXP (XEXP (ad, 0), 0),
@@ -5230,6 +5239,19 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
SUBREG_BYTE (orig_op1),
GET_MODE (orig_op1))));
}
+ /* Plus in the index register may be created only as a result of
+ register remateralization for expresion like &localvar*4. Reload it.
+ It may be possible to combine the displacement on the outer level,
+ but it is probably not worthwhile to do so. */
+ if (context)
+ {
+ find_reloads_address (GET_MODE (x), loc, XEXP (x, 0), &XEXP (x, 0),
+ opnum, ADDR_TYPE (type), ind_levels, insn);
+ push_reload (*loc, NULL_RTX, loc, (rtx*) 0,
+ (context ? INDEX_REG_CLASS : MODE_BASE_REG_CLASS (mode)),
+ GET_MODE (x), VOIDmode, 0, 0, opnum, type);
+ return 1;
+ }
if (code0 == MULT || code0 == SIGN_EXTEND || code0 == TRUNCATE
|| code0 == ZERO_EXTEND || code1 == MEM)
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 399b1f1de2d..3000f617398 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1,6 +1,6 @@
/* Reload pseudo regs into hard regs for insns that require hard regs.
Copyright (C) 1987, 1988, 1989, 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.
@@ -352,11 +352,14 @@ static int num_eliminable_invariants;
/* For each label, we record the offset of each elimination. If we reach
a label by more than one path and an offset differs, we cannot do the
- elimination. This information is indexed by the number of the label.
- The first table is an array of flags that records whether we have yet
- encountered a label and the second table is an array of arrays, one
- entry in the latter array for each elimination. */
-
+ elimination. This information is indexed by the difference of the
+ number of the label and the first label number. We can't offset the
+ pointer itself as this can cause problems on machines with segmented
+ memory. The first table is an array of flags that records whether we
+ have yet encountered a label and the second table is an array of arrays,
+ one entry in the latter array for each elimination. */
+
+static int first_label_num;
static char *offsets_known_at;
static int (*offsets_at)[NUM_ELIMINABLE_REGS];
@@ -673,11 +676,6 @@ reload (first, global)
struct elim_table *ep;
basic_block bb;
- /* The two pointers used to track the true location of the memory used
- for label offsets. */
- char *real_known_ptr = NULL;
- int (*real_at_ptr)[NUM_ELIMINABLE_REGS];
-
/* Make sure even insns with volatile mem refs are recognizable. */
init_recog ();
@@ -856,21 +854,18 @@ reload (first, global)
init_elim_table ();
- num_labels = max_label_num () - get_first_label_num ();
+ first_label_num = get_first_label_num ();
+ num_labels = max_label_num () - first_label_num;
/* Allocate the tables used to store offset information at labels. */
/* We used to use alloca here, but the size of what it would try to
allocate would occasionally cause it to exceed the stack limit and
cause a core dump. */
- real_known_ptr = xmalloc (num_labels);
- real_at_ptr
+ offsets_known_at = xmalloc (num_labels);
+ offsets_at
= (int (*)[NUM_ELIMINABLE_REGS])
xmalloc (num_labels * NUM_ELIMINABLE_REGS * sizeof (int));
- offsets_known_at = real_known_ptr - get_first_label_num ();
- offsets_at
- = (int (*)[NUM_ELIMINABLE_REGS]) (real_at_ptr - get_first_label_num ());
-
/* Alter each pseudo-reg rtx to contain its hard reg number.
Assign stack slots to the pseudos that lack hard regs or equivalents.
Do not touch virtual registers. */
@@ -1269,10 +1264,10 @@ reload (first, global)
free (reg_equiv_memory_loc);
reg_equiv_memory_loc = 0;
- if (real_known_ptr)
- free (real_known_ptr);
- if (real_at_ptr)
- free (real_at_ptr);
+ if (offsets_known_at)
+ free (offsets_known_at);
+ if (offsets_at)
+ free (offsets_at);
free (reg_equiv_mem);
free (reg_equiv_init);
@@ -2155,13 +2150,13 @@ set_label_offsets (x, insn, initial_p)
we guessed wrong, we will suppress an elimination that might have
been possible had we been able to guess correctly. */
- if (! offsets_known_at[CODE_LABEL_NUMBER (x)])
+ if (! offsets_known_at[CODE_LABEL_NUMBER (x) - first_label_num])
{
for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
- offsets_at[CODE_LABEL_NUMBER (x)][i]
+ offsets_at[CODE_LABEL_NUMBER (x) - first_label_num][i]
= (initial_p ? reg_eliminate[i].initial_offset
: reg_eliminate[i].offset);
- offsets_known_at[CODE_LABEL_NUMBER (x)] = 1;
+ offsets_known_at[CODE_LABEL_NUMBER (x) - first_label_num] = 1;
}
/* Otherwise, if this is the definition of a label and it is
@@ -2178,7 +2173,7 @@ set_label_offsets (x, insn, initial_p)
where the offsets disagree. */
for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
- if (offsets_at[CODE_LABEL_NUMBER (x)][i]
+ if (offsets_at[CODE_LABEL_NUMBER (x) - first_label_num][i]
!= (initial_p ? reg_eliminate[i].initial_offset
: reg_eliminate[i].offset))
reg_eliminate[i].can_eliminate = 0;
@@ -3387,7 +3382,7 @@ static void
set_initial_label_offsets ()
{
rtx x;
- memset ((char *) &offsets_known_at[get_first_label_num ()], 0, num_labels);
+ memset (offsets_known_at, 0, num_labels);
for (x = forced_labels; x; x = XEXP (x, 1))
if (XEXP (x, 0))
@@ -3408,7 +3403,8 @@ set_offsets_for_label (insn)
num_not_at_initial_offset = 0;
for (i = 0, ep = reg_eliminate; i < NUM_ELIMINABLE_REGS; ep++, i++)
{
- ep->offset = ep->previous_offset = offsets_at[label_nr][i];
+ ep->offset = ep->previous_offset
+ = offsets_at[label_nr - first_label_num][i];
if (ep->can_eliminate && ep->offset != ep->initial_offset)
num_not_at_initial_offset++;
}
@@ -3934,6 +3930,7 @@ reload_as_needed (live_known)
if (asm_noperands (PATTERN (insn)) >= 0)
for (p = NEXT_INSN (prev); p != next; p = NEXT_INSN (p))
if (p != insn && INSN_P (p)
+ && GET_CODE (PATTERN (p)) != USE
&& (recog_memoized (p) < 0
|| (extract_insn (p), ! constrain_operands (1))))
{
@@ -5497,7 +5494,7 @@ choose_reload_regs (chain)
#ifdef CANNOT_CHANGE_MODE_CLASS
(!REG_CANNOT_CHANGE_MODE_P (i, GET_MODE (last_reg),
need_mode)
- ||
+ &&
#endif
(GET_MODE_SIZE (GET_MODE (last_reg))
>= GET_MODE_SIZE (need_mode))
@@ -6127,13 +6124,15 @@ merge_assigned_reloads (insn)
? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER);
/* Check to see if we accidentally converted two reloads
- that use the same reload register to the same type.
- If so, the resulting code won't work, so abort. */
+ that use the same reload register with different inputs
+ to the same type. If so, the resulting code won't work,
+ so abort. */
if (rld[j].reg_rtx)
for (k = 0; k < j; k++)
if (rld[k].in != 0 && rld[k].reg_rtx != 0
&& rld[k].when_needed == rld[j].when_needed
- && rtx_equal_p (rld[k].reg_rtx, rld[j].reg_rtx))
+ && rtx_equal_p (rld[k].reg_rtx, rld[j].reg_rtx)
+ && ! rtx_equal_p (rld[k].in, rld[j].in))
abort ();
}
}
@@ -7612,6 +7611,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)
@@ -8274,7 +8278,13 @@ reload_cse_simplify_set (set, insn)
{
#ifdef LOAD_EXTEND_OP
if (GET_MODE_BITSIZE (GET_MODE (SET_DEST (set))) < BITS_PER_WORD
- && extend_op != NIL)
+ && extend_op != NIL
+#ifdef CANNOT_CHANGE_MODE_CLASS
+ && !CANNOT_CHANGE_MODE_CLASS (GET_MODE (SET_DEST (set)),
+ word_mode,
+ REGNO_REG_CLASS (REGNO (SET_DEST (set))))
+#endif
+ )
{
rtx wide_dest = gen_rtx_REG (word_mode, REGNO (SET_DEST (set)));
ORIGINAL_REGNO (wide_dest) = ORIGINAL_REGNO (SET_DEST (set));
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 065c02b40c3..8c6de3c7370 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -1,6 +1,6 @@
/* RTL utility routines.
- Copyright (C) 1987, 1988, 1991, 1994, 1997, 1998, 1999, 2000, 2001, 2002
- Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1991, 1994, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -226,7 +226,7 @@ const char * const reg_note_name[] =
"REG_WAS_0", "REG_RETVAL", "REG_LIBCALL", "REG_NONNEG",
"REG_NO_CONFLICT", "REG_UNUSED", "REG_CC_SETTER", "REG_CC_USER",
"REG_LABEL", "REG_DEP_ANTI", "REG_DEP_OUTPUT", "REG_BR_PROB",
- "REG_EXEC_COUNT", "REG_NOALIAS", "REG_SAVE_AREA", "REG_BR_PRED",
+ "REG_NOALIAS", "REG_SAVE_AREA", "REG_BR_PRED",
"REG_FRAME_RELATED_EXPR", "REG_EH_CONTEXT", "REG_EH_REGION",
"REG_SAVE_NOTE", "REG_MAYBE_DEAD", "REG_NORETURN",
"REG_NON_LOCAL_GOTO", "REG_SETJMP", "REG_ALWAYS_RETURN",
@@ -396,29 +396,6 @@ shallow_copy_rtx (orig)
return copy;
}
-
-/* Return the alignment of MODE. This will be bounded by 1 and
- BIGGEST_ALIGNMENT. */
-
-unsigned int
-get_mode_alignment (mode)
- enum machine_mode mode;
-{
- unsigned int alignment;
-
- if (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT
- || GET_MODE_CLASS (mode) == MODE_COMPLEX_INT)
- alignment = GET_MODE_UNIT_SIZE (mode);
- else
- alignment = GET_MODE_SIZE (mode);
-
- /* Extract the LSB of the size. */
- alignment = alignment & -alignment;
- alignment *= BITS_PER_UNIT;
-
- alignment = MIN (BIGGEST_ALIGNMENT, MAX (1, alignment));
- return alignment;
-}
/* This is 1 until after the rtl generation pass. */
int rtx_equal_function_value_matters;
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 353a225dcd9..d281406fee4 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -728,10 +728,8 @@ DEF_RTL_EXPR(RESX, "resx", "i", 'x')
DEF_RTL_EXPR(CONST_INT, "const_int", "w", 'o')
/* numeric floating point constant.
- Operand 0 ('0') is a chain of all CONST_DOUBLEs in use in the
- current function.
- Remaining operands hold the actual value. They are all 'w' and
- there may be from 1 to 4; see rtl.c. */
+ Operands hold the value. They are all 'w' and there may be from 2 to 6;
+ see real.h. */
DEF_RTL_EXPR(CONST_DOUBLE, "const_double", CONST_DOUBLE_FORMAT, 'o')
/* Describes a vector constant. */
@@ -1111,24 +1109,24 @@ DEF_RTL_EXPR(CALL_PLACEHOLDER, "call_placeholder", "uuuu", 'x')
that specifies where the parts of the result are taken from. Set bits
indicate operand 0, clear bits indicate operand 1. The parts are defined
by the mode of the vectors. */
-DEF_RTL_EXPR(VEC_MERGE, "vec_merge", "eee", 'x')
+DEF_RTL_EXPR(VEC_MERGE, "vec_merge", "eee", '3')
/* Describes an operation that selects parts of a vector.
Operands 0 is the source vector, operand 1 is a PARALLEL that contains
a CONST_INT for each of the subparts of the result vector, giving the
number of the source subpart that should be stored into it. */
-DEF_RTL_EXPR(VEC_SELECT, "vec_select", "ee", 'x')
+DEF_RTL_EXPR(VEC_SELECT, "vec_select", "ee", '2')
/* Describes a vector concat operation. Operands 0 and 1 are the source
vectors, the result is a vector that is as long as operands 0 and 1
combined and is the concatenation of the two source vectors. */
-DEF_RTL_EXPR(VEC_CONCAT, "vec_concat", "ee", 'x')
+DEF_RTL_EXPR(VEC_CONCAT, "vec_concat", "ee", '2')
/* Describes an operation that converts a small vector into a larger one by
duplicating the input values. The output vector mode must have the same
submodes as the input vector mode, and the number of output parts must be
an integer multiple of the number of input parts. */
-DEF_RTL_EXPR(VEC_DUPLICATE, "vec_duplicate", "e", 'x')
+DEF_RTL_EXPR(VEC_DUPLICATE, "vec_duplicate", "e", '1')
/* Addition with signed saturation */
DEF_RTL_EXPR(SS_PLUS, "ss_plus", "ee", 'c')
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 5f727b08d9c..a2cb1dbf1ab 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -140,7 +140,8 @@ struct rtx_def GTY((chain_next ("RTX_NEXT (&%h)"),
1 in a SET that is for a return.
In a CODE_LABEL, part of the two-bit alternate entry field. */
unsigned int jump : 1;
- /* In a CODE_LABEL, part of the two-bit alternate entry field. */
+ /* In a CODE_LABEL, part of the two-bit alternate entry field.
+ 1 in a MEM if it cannot trap. */
unsigned int call : 1;
/* 1 in a REG, MEM, or CONCAT if the value is set at most once, anywhere.
1 in a SUBREG if it references an unsigned object whose mode has been
@@ -683,11 +684,6 @@ enum reg_note
return. */
REG_BR_PROB,
- /* REG_EXEC_COUNT is attached to the first insn of each basic block, and
- the first insn after each CALL_INSN. It indicates how many times this
- block was executed. */
- REG_EXEC_COUNT,
-
/* Attached to a call insn; indicates that the call is malloc-like and
that the pointer returned cannot alias anything else. */
REG_NOALIAS,
@@ -1038,6 +1034,10 @@ extern unsigned int subreg_regno_offset PARAMS ((unsigned int,
enum machine_mode,
unsigned int,
enum machine_mode));
+extern bool subreg_offset_representable_p PARAMS ((unsigned int,
+ enum machine_mode,
+ unsigned int,
+ enum machine_mode));
extern unsigned int subreg_regno PARAMS ((rtx));
/* 1 if RTX is a subreg containing a reg that is already known to be
@@ -1105,6 +1105,10 @@ do { \
#define MEM_SCALAR_P(RTX) \
(RTL_FLAG_CHECK1("MEM_SCALAR_P", (RTX), MEM)->frame_related)
+/* 1 if RTX is a mem that cannot trap. */
+#define MEM_NOTRAP_P(RTX) \
+ (RTL_FLAG_CHECK1("MEM_NOTRAP_P", (RTX), MEM)->call)
+
/* If VAL is nonzero, set MEM_IN_STRUCT_P and clear MEM_SCALAR_P in
RTX. Otherwise, vice versa. Use this macro only when you are
*sure* that you know that the MEM is in a structure, or is a
@@ -1165,6 +1169,7 @@ do { \
(MEM_VOLATILE_P (LHS) = MEM_VOLATILE_P (RHS), \
MEM_IN_STRUCT_P (LHS) = MEM_IN_STRUCT_P (RHS), \
MEM_SCALAR_P (LHS) = MEM_SCALAR_P (RHS), \
+ MEM_NOTRAP_P (LHS) = MEM_NOTRAP_P (RHS), \
RTX_UNCHANGING_P (LHS) = RTX_UNCHANGING_P (RHS), \
MEM_KEEP_ALIAS_SET_P (LHS) = MEM_KEEP_ALIAS_SET_P (RHS), \
MEM_ATTRS (LHS) = MEM_ATTRS (RHS))
@@ -1559,7 +1564,7 @@ extern rtx simplify_rtx PARAMS ((rtx));
extern rtx avoid_constant_pool_reference PARAMS ((rtx));
/* In function.c */
-extern rtx gen_mem_addressof PARAMS ((rtx, tree));
+extern rtx gen_mem_addressof PARAMS ((rtx, tree, int));
/* In regclass.c */
extern enum machine_mode choose_hard_reg_mode PARAMS ((unsigned int,
@@ -1937,6 +1942,7 @@ extern int safe_to_remove_jump_p PARAMS ((rtx));
extern rtx pc_set PARAMS ((rtx));
extern rtx condjump_label PARAMS ((rtx));
extern int simplejump_p PARAMS ((rtx));
+extern int tablejump_p PARAMS ((rtx));
extern int returnjump_p PARAMS ((rtx));
extern int onlyjump_p PARAMS ((rtx));
extern int only_sets_cc0_p PARAMS ((rtx));
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index c992c439bc3..431e9ee742e 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;
@@ -2363,6 +2363,8 @@ may_trap_p (x)
/* Memory ref can trap unless it's a static var or a stack slot. */
case MEM:
+ if (MEM_NOTRAP_P (x))
+ return 0;
return rtx_addr_can_trap_p (XEXP (x, 0));
/* Division by a non-constant might trap. */
@@ -2418,6 +2420,12 @@ may_trap_p (x)
return 1;
break;
+ case FIX:
+ /* Conversion of floating point might trap. */
+ if (flag_trapping_math && HONOR_NANS (GET_MODE (XEXP (x, 0))))
+ return 1;
+ break;
+
case NEG:
case ABS:
/* These operations don't trap even with floating point. */
@@ -3153,6 +3161,74 @@ subreg_regno_offset (xregno, xmode, offset, ymode)
return (y_offset / (mode_multiple / nregs_multiple)) * nregs_ymode;
}
+/* This function returns true when the offset is representable via
+ subreg_offset in the given regno.
+ xregno - A regno of an inner hard subreg_reg (or what will become one).
+ xmode - The mode of xregno.
+ offset - The byte offset.
+ ymode - The mode of a top level SUBREG (or what may become one).
+ RETURN - The regno offset which would be used. */
+bool
+subreg_offset_representable_p (xregno, xmode, offset, ymode)
+ unsigned int xregno;
+ enum machine_mode xmode;
+ unsigned int offset;
+ enum machine_mode ymode;
+{
+ int nregs_xmode, nregs_ymode;
+ int mode_multiple, nregs_multiple;
+ int y_offset;
+
+ if (xregno >= FIRST_PSEUDO_REGISTER)
+ abort ();
+
+ nregs_xmode = HARD_REGNO_NREGS (xregno, xmode);
+ nregs_ymode = HARD_REGNO_NREGS (xregno, ymode);
+
+ /* paradoxical subregs are always valid. */
+ if (offset == 0
+ && nregs_ymode > nregs_xmode
+ && (GET_MODE_SIZE (ymode) > UNITS_PER_WORD
+ ? WORDS_BIG_ENDIAN : BYTES_BIG_ENDIAN))
+ return true;
+
+ /* Lowpart subregs are always valid. */
+ if (offset == subreg_lowpart_offset (ymode, xmode))
+ return true;
+
+#ifdef ENABLE_CHECKING
+ /* This should always pass, otherwise we don't know how to verify the
+ constraint. These conditions may be relaxed but subreg_offset would
+ need to be redesigned. */
+ if (GET_MODE_SIZE (xmode) % GET_MODE_SIZE (ymode)
+ || GET_MODE_SIZE (ymode) % nregs_ymode
+ || nregs_xmode % nregs_ymode)
+ abort ();
+#endif
+
+ /* The XMODE value can be seen as an vector of NREGS_XMODE
+ values. The subreg must represent an lowpart of given field.
+ Compute what field it is. */
+ offset -= subreg_lowpart_offset (ymode,
+ mode_for_size (GET_MODE_BITSIZE (xmode)
+ / nregs_xmode,
+ MODE_INT, 0));
+
+ /* size of ymode must not be greater than the size of xmode. */
+ mode_multiple = GET_MODE_SIZE (xmode) / GET_MODE_SIZE (ymode);
+ if (mode_multiple == 0)
+ abort ();
+
+ y_offset = offset / GET_MODE_SIZE (ymode);
+ nregs_multiple = nregs_xmode / nregs_ymode;
+#ifdef ENABLE_CHECKING
+ if (offset % GET_MODE_SIZE (ymode)
+ || mode_multiple % nregs_multiple)
+ abort ();
+#endif
+ return (!(y_offset % (mode_multiple / nregs_multiple)));
+}
+
/* Return the final regno that a subreg expression refers to. */
unsigned int
subreg_regno (x)
diff --git a/gcc/sbitmap.c b/gcc/sbitmap.c
index 74aa7cd1b4e..74c24c92855 100644
--- a/gcc/sbitmap.c
+++ b/gcc/sbitmap.c
@@ -1,5 +1,5 @@
/* Simple bitmaps.
- Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -47,6 +47,64 @@ sbitmap_alloc (n_elms)
return bmap;
}
+/* Resize a simple bitmap BMAP to N_ELMS bits. If increasing the
+ size of BMAP, clear the new bits to zero if the DEF argument
+ is zero, and set them to one otherwise. */
+
+sbitmap
+sbitmap_resize (bmap, n_elms, def)
+ sbitmap bmap;
+ unsigned int n_elms;
+ int def;
+{
+ unsigned int bytes, size, amt;
+ unsigned int last_bit;
+
+ size = SBITMAP_SET_SIZE (n_elms);
+ bytes = size * sizeof (SBITMAP_ELT_TYPE);
+ if (bytes > bmap->bytes)
+ {
+ amt = (sizeof (struct simple_bitmap_def)
+ + bytes - sizeof (SBITMAP_ELT_TYPE));
+ bmap = (sbitmap) xrealloc ((PTR) bmap, amt);
+ }
+
+ if (n_elms > bmap->n_bits)
+ {
+ if (def)
+ {
+ memset ((PTR) (bmap->elms + bmap->size), -1, bytes - bmap->bytes);
+
+ /* Set the new bits if the original last element. */
+ last_bit = bmap->n_bits % SBITMAP_ELT_BITS;
+ if (last_bit)
+ bmap->elms[bmap->size - 1]
+ |= ~((SBITMAP_ELT_TYPE)-1 >> (SBITMAP_ELT_BITS - last_bit));
+
+ /* Clear the unused bit in the new last element. */
+ last_bit = n_elms % SBITMAP_ELT_BITS;
+ if (last_bit)
+ bmap->elms[size - 1]
+ &= (SBITMAP_ELT_TYPE)-1 >> (SBITMAP_ELT_BITS - last_bit);
+ }
+ else
+ memset ((PTR) (bmap->elms + bmap->size), 0, bytes - bmap->bytes);
+ }
+ else if (n_elms < bmap->n_bits)
+ {
+ /* Clear the surplus bits in the last word. */
+ last_bit = n_elms % SBITMAP_ELT_BITS;
+ if (last_bit)
+ bmap->elms[size - 1]
+ &= (SBITMAP_ELT_TYPE)-1 >> (SBITMAP_ELT_BITS - last_bit);
+ }
+
+ bmap->n_bits = n_elms;
+ bmap->size = size;
+ bmap->bytes = bytes;
+ return bmap;
+}
+
/* Allocate a vector of N_VECS bitmaps of N_ELMS bits. */
sbitmap *
diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h
index d39759e00f2..42e466e437e 100644
--- a/gcc/sbitmap.h
+++ b/gcc/sbitmap.h
@@ -1,5 +1,5 @@
/* Simple bitmaps.
- Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -125,6 +125,7 @@ extern void dump_sbitmap_vector PARAMS ((FILE *, const char *,
int));
extern sbitmap sbitmap_alloc PARAMS ((unsigned int));
extern sbitmap *sbitmap_vector_alloc PARAMS ((unsigned int, unsigned int));
+extern sbitmap sbitmap_resize PARAMS ((sbitmap, unsigned int, int));
extern void sbitmap_copy PARAMS ((sbitmap, sbitmap));
extern int sbitmap_equal PARAMS ((sbitmap, sbitmap));
extern void sbitmap_zero PARAMS ((sbitmap));
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 212d3b90236..9699a523472 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -381,6 +381,44 @@ simplify_unary_operation (code, mode, op, op_mode)
unsigned int width = GET_MODE_BITSIZE (mode);
rtx trueop = avoid_constant_pool_reference (op);
+ if (code == VEC_DUPLICATE)
+ {
+ if (!VECTOR_MODE_P (mode))
+ abort ();
+ if (GET_MODE (trueop) != VOIDmode
+ && !VECTOR_MODE_P (GET_MODE (trueop))
+ && GET_MODE_INNER (mode) != GET_MODE (trueop))
+ abort ();
+ if (GET_MODE (trueop) != VOIDmode
+ && VECTOR_MODE_P (GET_MODE (trueop))
+ && GET_MODE_INNER (mode) != GET_MODE_INNER (GET_MODE (trueop)))
+ abort ();
+ if (GET_CODE (trueop) == CONST_INT || GET_CODE (trueop) == CONST_DOUBLE
+ || GET_CODE (trueop) == CONST_VECTOR)
+ {
+ int elt_size = GET_MODE_SIZE (GET_MODE_INNER (mode));
+ unsigned n_elts = (GET_MODE_SIZE (mode) / elt_size);
+ rtvec v = rtvec_alloc (n_elts);
+ unsigned int i;
+
+ if (GET_CODE (trueop) != CONST_VECTOR)
+ for (i = 0; i < n_elts; i++)
+ RTVEC_ELT (v, i) = trueop;
+ else
+ {
+ enum machine_mode inmode = GET_MODE (trueop);
+ int in_elt_size = GET_MODE_SIZE (GET_MODE_INNER (inmode));
+ unsigned in_n_elts = (GET_MODE_SIZE (inmode) / in_elt_size);
+
+ if (in_n_elts >= n_elts || n_elts % in_n_elts)
+ abort ();
+ for (i = 0; i < n_elts; i++)
+ RTVEC_ELT (v, i) = CONST_VECTOR_ELT (trueop, i % in_n_elts);
+ }
+ return gen_rtx_CONST_VECTOR (mode, v);
+ }
+ }
+
/* The order of these tests is critical so that, for example, we don't
check the wrong mode (input vs. output) for a conversion operation,
such as FIX. At some point, this should be simplified. */
@@ -1401,6 +1439,10 @@ simplify_binary_operation (code, mode, op0, op1)
/* ??? There are simplifications that can be done. */
return 0;
+ case VEC_SELECT:
+ case VEC_CONCAT:
+ return 0;
+
default:
abort ();
}
@@ -2270,6 +2312,30 @@ simplify_ternary_operation (code, mode, op0_mode, op0, op1, op2)
}
}
break;
+ case VEC_MERGE:
+ if (GET_MODE (op0) != mode
+ || GET_MODE (op1) != mode
+ || !VECTOR_MODE_P (mode))
+ abort ();
+ op0 = avoid_constant_pool_reference (op0);
+ op1 = avoid_constant_pool_reference (op1);
+ op2 = avoid_constant_pool_reference (op2);
+ if (GET_CODE (op0) == CONST_VECTOR
+ && GET_CODE (op1) == CONST_VECTOR
+ && GET_CODE (op2) == CONST_INT)
+ {
+ int elt_size = GET_MODE_SIZE (GET_MODE_INNER (mode));
+ unsigned n_elts = (GET_MODE_SIZE (mode) / elt_size);
+ rtvec v = rtvec_alloc (n_elts);
+ unsigned int i;
+
+ for (i = 0; i < n_elts; i++)
+ RTVEC_ELT (v, i) = (INTVAL (op2) & (1 << i)
+ ? CONST_VECTOR_ELT (op0, i)
+ : CONST_VECTOR_ELT (op1, i));
+ return gen_rtx_CONST_VECTOR (mode, v);
+ }
+ break;
default:
abort ();
@@ -2351,13 +2417,16 @@ simplify_subreg (outermode, op, innermode, byte)
}
if (GET_CODE (elt) != CONST_INT)
return NULL_RTX;
+ /* Avoid overflow. */
+ if (high >> (HOST_BITS_PER_WIDE_INT - shift))
+ return NULL_RTX;
high = high << shift | sum >> (HOST_BITS_PER_WIDE_INT - shift);
sum = (sum << shift) + INTVAL (elt);
}
if (GET_MODE_BITSIZE (outermode) <= HOST_BITS_PER_WIDE_INT)
return GEN_INT (trunc_int_for_mode (sum, outermode));
else if (GET_MODE_BITSIZE (outermode) == 2* HOST_BITS_PER_WIDE_INT)
- return immed_double_const (high, sum, outermode);
+ return immed_double_const (sum, high, outermode);
else
return NULL_RTX;
}
@@ -2588,7 +2657,7 @@ simplify_subreg (outermode, op, innermode, byte)
|| ! rtx_equal_function_value_matters)
&& REGNO (op) < FIRST_PSEUDO_REGISTER
#ifdef CANNOT_CHANGE_MODE_CLASS
- && ! (REG_CANNOT_CHANGE_MODE_P (REGNO (op), outermode, innermode)
+ && ! (REG_CANNOT_CHANGE_MODE_P (REGNO (op), innermode, outermode)
&& GET_MODE_CLASS (innermode) != MODE_COMPLEX_INT
&& GET_MODE_CLASS (innermode) != MODE_COMPLEX_FLOAT)
#endif
diff --git a/gcc/stmt.c b/gcc/stmt.c
index f283b7590c6..9800ee8306b 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -541,10 +541,23 @@ expand_computed_goto (exp)
#endif
emit_queue ();
- do_pending_stack_adjust ();
- emit_indirect_jump (x);
- current_function_has_computed_jump = 1;
+ if (! cfun->computed_goto_common_label)
+ {
+ cfun->computed_goto_common_reg = copy_to_mode_reg (Pmode, x);
+ cfun->computed_goto_common_label = gen_label_rtx ();
+ emit_label (cfun->computed_goto_common_label);
+
+ do_pending_stack_adjust ();
+ emit_indirect_jump (cfun->computed_goto_common_reg);
+
+ current_function_has_computed_jump = 1;
+ }
+ else
+ {
+ emit_move_insn (cfun->computed_goto_common_reg, x);
+ emit_jump (cfun->computed_goto_common_label);
+ }
}
/* Handle goto statements and the labels that they can go to. */
@@ -1107,18 +1120,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);
- emit_insn (gen_rtx_ASM_INPUT (VOIDmode,
- TREE_STRING_POINTER (body)));
+ body = gen_rtx_ASM_INPUT (VOIDmode, TREE_STRING_POINTER (string));
+
+ MEM_VOLATILE_P (body) = vol;
+
+ emit_insn (body);
+
clear_last_expr ();
}
@@ -1597,6 +1618,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 +1642,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;
@@ -1684,11 +1710,15 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
val = TREE_VALUE (tail);
type = TREE_TYPE (val);
- op = expand_expr (val, NULL_RTX, VOIDmode, 0);
+ op = expand_expr (val, NULL_RTX, VOIDmode,
+ (allows_mem && !allows_reg
+ ? EXPAND_MEMORY : EXPAND_NORMAL));
/* 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)
{
@@ -1697,35 +1727,36 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
else if (!allows_mem)
warning ("asm operand %d probably doesn't match constraints",
i + noutputs);
- else if (CONSTANT_P (op))
- op = force_const_mem (TYPE_MODE (type), op);
- else if (GET_CODE (op) == REG
- || GET_CODE (op) == SUBREG
- || GET_CODE (op) == ADDRESSOF
- || GET_CODE (op) == CONCAT)
+ else if (GET_CODE (op) == MEM)
{
- tree qual_type = build_qualified_type (type,
- (TYPE_QUALS (type)
- | TYPE_QUAL_CONST));
- rtx memloc = assign_temp (qual_type, 1, 1, 1);
-
- emit_move_insn (memloc, op);
- op = memloc;
+ /* We won't recognize either volatile memory or memory
+ with a queued address as available a memory_operand
+ at this point. Ignore it: clearly this *is* a memory. */
}
-
- else if (GET_CODE (op) == MEM && MEM_VOLATILE_P (op))
+ else
{
- /* We won't recognize volatile memory as available a
- memory_operand at this point. Ignore it. */
+ warning ("use of memory input without lvalue in "
+ "asm operand %d is deprecated", i + noutputs);
+
+ if (CONSTANT_P (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
+ || GET_CODE (op) == CONCAT)
+ {
+ tree qual_type = build_qualified_type (type,
+ (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;
+ }
}
- else if (queued_subexp_p (op))
- ;
- else
- /* ??? Leave this only until we have experience with what
- happens in combine and elsewhere when constraints are
- not satisfied. */
- warning ("asm operand %d probably doesn't match constraints",
- i + noutputs);
}
generating_concat_p = old_generating_concat_p;
@@ -2735,8 +2766,11 @@ expand_continue_loop (whichloop)
/* Emit information for branch prediction. */
rtx note;
- note = emit_note (NULL, NOTE_INSN_PREDICTION);
- NOTE_PREDICTION (note) = NOTE_PREDICT (PRED_CONTINUE, IS_TAKEN);
+ if (flag_guess_branch_prob)
+ {
+ note = emit_note (NULL, NOTE_INSN_PREDICTION);
+ NOTE_PREDICTION (note) = NOTE_PREDICT (PRED_CONTINUE, IS_TAKEN);
+ }
clear_last_expr ();
if (whichloop == 0)
whichloop = loop_stack;
@@ -2929,7 +2963,8 @@ expand_value_return (val)
rtx return_reg;
enum br_predictor pred;
- if ((pred = return_prediction (val)) != PRED_NO_PREDICTION)
+ if (flag_guess_branch_prob
+ && (pred = return_prediction (val)) != PRED_NO_PREDICTION)
{
/* Emit information for branch prediction. */
rtx note;
@@ -3312,15 +3347,15 @@ tail_recursion_args (actuals, formals)
else
{
rtx tmp = argvec[i];
-
+ int unsignedp = TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a)));
+ promote_mode(TREE_TYPE (TREE_VALUE (a)), GET_MODE (tmp),
+ &unsignedp, 0);
if (DECL_MODE (f) != GET_MODE (DECL_RTL (f)))
{
tmp = gen_reg_rtx (DECL_MODE (f));
- convert_move (tmp, argvec[i],
- TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a))));
+ convert_move (tmp, argvec[i], unsignedp);
}
- convert_move (DECL_RTL (f), tmp,
- TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a))));
+ convert_move (DECL_RTL (f), tmp, unsignedp);
}
}
@@ -3887,6 +3922,7 @@ expand_decl (decl)
&& !(flag_float_store
&& TREE_CODE (type) == REAL_TYPE)
&& ! TREE_THIS_VOLATILE (decl)
+ && ! DECL_NONLOCAL (decl)
&& (DECL_REGISTER (decl) || optimize))
{
/* Automatic variable that can go in a register. */
@@ -3914,7 +3950,7 @@ expand_decl (decl)
/* If something wants our address, try to use ADDRESSOF. */
if (TREE_ADDRESSABLE (decl))
- put_var_into_stack (decl);
+ put_var_into_stack (decl, /*rescan=*/false);
}
else if (TREE_CODE (DECL_SIZE_UNIT (decl)) == INTEGER_CST
@@ -4014,6 +4050,8 @@ expand_decl_init (decl)
/* Compute and store the initial value now. */
+ push_temp_slots ();
+
if (DECL_INITIAL (decl) == error_mark_node)
{
enum tree_code code = TREE_CODE (TREE_TYPE (decl));
@@ -4037,6 +4075,7 @@ expand_decl_init (decl)
/* Free any temporaries we made while initializing the decl. */
preserve_temp_slots (NULL_RTX);
free_temp_slots ();
+ pop_temp_slots ();
}
/* CLEANUP is an expression to be executed at exit from this binding contour;
@@ -4417,6 +4456,7 @@ expand_start_case (exit_flag, expr, type, printname)
nesting_stack = thiscase;
do_pending_stack_adjust ();
+ emit_queue ();
/* Make sure case_stmt.start points to something that won't
need any transformation before expand_end_case. */
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index db4c09f29f7..4fb290847ef 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -1,6 +1,6 @@
/* C-compiler utilities for types and variables storage layout
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1996, 1998,
- 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -298,6 +298,29 @@ int_mode_for_mode (mode)
return mode;
}
+/* Return the alignment of MODE. This will be bounded by 1 and
+ BIGGEST_ALIGNMENT. */
+
+unsigned int
+get_mode_alignment (mode)
+ enum machine_mode mode;
+{
+ unsigned int alignment;
+
+ if (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT
+ || GET_MODE_CLASS (mode) == MODE_COMPLEX_INT)
+ alignment = GET_MODE_UNIT_SIZE (mode);
+ else
+ alignment = GET_MODE_SIZE (mode);
+
+ /* Extract the LSB of the size. */
+ alignment = alignment & -alignment;
+ alignment *= BITS_PER_UNIT;
+
+ alignment = MIN (BIGGEST_ALIGNMENT, MAX (1, alignment));
+ return alignment;
+}
+
/* Return the value of VALUE, rounded up to a multiple of DIVISOR.
This can only be applied to objects of a sizetype. */
@@ -343,6 +366,7 @@ layout_decl (decl, known_align)
{
tree type = TREE_TYPE (decl);
enum tree_code code = TREE_CODE (decl);
+ rtx rtl = NULL_RTX;
if (code == CONST_DECL)
return;
@@ -350,6 +374,8 @@ layout_decl (decl, known_align)
&& code != TYPE_DECL && code != FIELD_DECL)
abort ();
+ rtl = DECL_RTL_IF_SET (decl);
+
if (type == error_mark_node)
type = void_type_node;
@@ -464,6 +490,15 @@ layout_decl (decl, known_align)
larger_than_size);
}
}
+
+ /* If the RTL was already set, update its mode and mem attributes. */
+ if (rtl)
+ {
+ PUT_MODE (rtl, DECL_MODE (decl));
+ SET_DECL_RTL (decl, 0);
+ set_mem_attributes (rtl, decl, 1);
+ SET_DECL_RTL (decl, rtl);
+ }
}
/* Hook for a front-end function that can modify the record layout as needed
@@ -735,7 +770,7 @@ update_alignment_for_field (rli, field, known_align)
within the structure. */
if (! integer_zerop (DECL_SIZE (field)))
rli->record_align = MAX (rli->record_align, desired_align);
- else if (! DECL_PACKED (field))
+ else if (! DECL_PACKED (field) && !user_align)
desired_align = TYPE_ALIGN (type);
/* A named bit field of declared type `int'
@@ -771,6 +806,8 @@ update_alignment_for_field (rli, field, known_align)
TYPE_USER_ALIGN (rli->t) |= user_align;
+ DECL_ALIGN (field) = desired_align;
+
return desired_align;
}
diff --git a/gcc/system.h b/gcc/system.h
index 5adbd32b9c6..c9598ab0580 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -261,6 +261,12 @@ extern int errno;
#ifndef WSTOPSIG
#define WSTOPSIG WEXITSTATUS
#endif
+#ifndef WCOREDUMP
+#define WCOREDUMP(S) ((S) & WCOREFLG)
+#endif
+#ifndef WCOREFLG
+#define WCOREFLG 0200
+#endif
/* The HAVE_DECL_* macros are three-state, undefined, 0 or 1. If they
are defined to 0 then we must provide the relevant declaration
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7fc603cc378..9e87e631131 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,10 +1,992 @@
+2003-06-24 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/5754
+ * g++.dg/parse/crash6.C: New test.
+
+2003-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/opt/operator1.C: New test.
+
+2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * g++.old-deja/g++.benjamin/16077.C: Add -Wconversion option.
+ * g++.old-deja/g++.other/conv7.C: Likewise
+ * g++.old-deja/g++.other/overcnv2.C: Likewise.
+ * g++.old-deja/g++.other/overload14.C: Likewise.
+
+2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * g++.old-deja/g++.jason/conversion5.C: Adjust option.
+ * g++.old-deja/g++.bugs/900215_01.C: Likewise.
+
+2003-06-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10888
+ * g++.dg/warn/Winline-2.C: New test.
+
+ PR c++/10845
+ * g++.dg/template/member3.C: New test.
+
+2003-06-19 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10939
+ * g++.dg/template/func1.C: New test.
+
+ PR c++/9649
+ * g++.dg/template/static4.C: New test.
+ * g++.old-deja/g++.other/anon7.C: Remove spurious error messages.
+
+2003-06-19 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/11041
+ * g++.dg/init/ref7.C: New test.
+
+2003-06-19 Matt Austern <austern@apple.com>
+
+ PR c++/11228
+ * g++.dg/anew1.C: New test.
+ * g++.dg/anew2.C: New test.
+ * g++.dg/anew3.C: New test.
+ * g++.dg/anew4.C: New test.
+
+2003-06-19 Loren James Rittle <ljrittle@acm.org>
+
+ * gcc.dg/cpp/redef3.c: New file.
+
+2003-06-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10712
+ * g++.dg/lookup/using3.C: New test.
+
+ PR c++/11105
+ * g++.dg/abi/conv1.C: Remove it.
+ * g++.dg/template/conv7.C: New test.
+ * g++.dg/template/conv8.C: Likewise.
+ * g++.old-deja/g++.ext/pretty2.C: Do not test __FUNCTION__ for a
+ conversion operator.
+
+2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/execute/20030611-1.c: New test.
+
+2003-06-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10635
+ * g++.dg/expr/cast1.C: New test.
+
+2003-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/noreturn-1.c: Move noreturn warning line.
+ * gcc.dg/return-type-1.c: Move control reaches end warning line.
+
+2003-06-10 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/asm-7.c: Adjust expected warning text.
+
+2003-06-08 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/20011029-2.c: Fix the array reference.
+ * gcc.dg/asm-7.c: New.
+
+2003-06-08 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/11039
+ * g++.dg/warn/implicit-typename2.C: New test.
+ * g++.dg/warn/implicit-typename3.C: New test.
+
+2003-06-04 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/cleanup-1.c: New.
+ * gcc.dg/cleanup-2.c: New.
+ * gcc.dg/cleanup-3.c: New.
+ * gcc.dg/cleanup-4.c: New.
+ * gcc.dg/cleanup-5.c: New.
+ * gcc.dg/cleanup-6.c: New.
+ * gcc.dg/cleanup-7.c: New.
+
+2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp9.c: New test.
+
+2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/compile/20030604-1.c: New test.
+ * gcc.dg/sparc-constant-1.c: New test.
+
+2003-06-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10940
+ * g++.dg/template/spec10.C: New test.
+
+2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/i386-loop-3.c: New test.
+
+2003-05-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10956
+ * g++.dg/template/spec9.C: New test.
+
+2003-05-25 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10849
+ * g++.dg/template/access10.C: New test.
+
+2003-05-24 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c-torture/compile/simd-5.x: XFAIL on SPARC64.
+
+2003-05-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10682
+ * g++.dg/template/instantiate4.C: New test.
+
+2003-05-16 Matthias Klose <doko@debian.org>
+
+ * parse/crash2.C: Use "(parse|syntax)" error.
+
+ Backport from mainline
+
+ 2003-03-17 Zack Weinberg <zack@codesourcery.com>
+
+ * objc.dg/naming-1.m: Use "(parse|syntax)" error.
+ * objc.dg/naming-2.m: Likewise.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * g++.dg/other/packed1.C: Mark xfail for sparc*- not sparc-.
+
+2003-05-05 Mark Mitchell <mark@codesourcery.com>
+ Kean Johnston <jkj@sco.com>
+
+ * gcc.dg/unused-4.c: Update.
+
+2003-05-02 Zack Weinberg <zack@codesourcery.com>
+
+ PR c/10604
+ * gcc.dg/compare7.c, g++.dg/warn/compare1.C: New testcases.
+
+2003-05-02 Richard Henderson <rth@redhat.com>
+
+ PR c++/10570
+ * g++.dg/eh/forced1.C: Expect catch-all handlers to run.
+ Verify exception_cleanup not called for rethrows.
+ * g++.dg/eh/forced2.C: Test that exception_cleanup is called
+ when exiting catch block without rethrowing.
+ * g++.dg/eh/forced3.C: New.
+ * g++.dg/eh/forced4.C: New.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10551
+ * g++.dg/template/explicit1.C: New test.
+
+ PR c++/10549
+ * g++.dg/other/bitfield1.C: New test.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10527
+ * g++.dg/init/new7.C: New test.
+
+ PR c++/10515
+ * g++.dg/ext/desig1.C: New test.
+ * g++.dg/ext/init1.C: Likewise.
+
+2003-04-29 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.old-deja/g++.pt/deduct5.C: Remove unnecessary initializer.
+
+2003-04-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10180
+ * g++.dg/warn/Winline-1.C: New test.
+
+2003-04-27 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10506
+ * g++.dg/init/new6.C: New test.
+
+ PR c++/10503
+ * g++.dg/init/ref6.C: New test.
+
+2003-04-26 David Edelsohn <edelsohn@gnu.org>
+
+ * g++.dg/warn/weak1.C: XFAIL on AIX4.
+
+2003-04-25 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.old-deja/g++.pt/instantiate12.C: Explicit instantiate
+ initialized static data members.
+
+2003-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10471
+ * g++.dg/template/defarg2.C: New test.
+
+2003-04-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * g++.dg/other/packed1.C: XFAIL hppa*-*-*.
+
+2003-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/parse/typedef1.C: Tweak after fix for PR 10428.
+
+ PR c++/10451
+ * g++.dg/parse/crash4.C: New test.
+
+2003-04-23 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * g++.dg/other/packed1.C: Append the missing brace.
+
+2003-04-22 Devang Patel <dpatel@apple.com>
+
+ * gcc.dg/cpp/trad/funlike-5.c: New test.
+
+2003-04-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10446
+ * g++.dg/parse/crash3.C: New test.
+
+2003-04-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10428
+ * g++.dg/parse/elab1.C: New test.
+
+2003-04-22 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * g++.dg/other/packed1.C: Fix dg options.
+
+2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/template/recurse.C: Adjust location of error messages.
+
+2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9881
+ * g++.dg/init/addr-const1.C: New test.
+ * g++.dg/other/packed1.C: XFAIL on aligned architectures.
+
+2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10405
+ * g++.dg/lookup/struct-hack1.C: New test.
+
+2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/compile/20030418-1.c: New test.
+
+2003-04-17 Janis Johnson <janis187@us.ibm.com>
+
+ * README.compat: Remove; content now in doc/sourcebuild.texi.
+
+2003-04-14 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/10377
+ * gcc.dg/20030414-1.c: New test.
+
+2003-04-13 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10300
+ * g++.dg/init/new5.C: New test.
+
+2003-04-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7910
+ * g++.dg/ext/dllimport1.C: New test.
+
+2003-04-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp8.c: Fix for 32-bit Sparc.
+
+2003-04-11 Bud Davis <bdavis9659@comcast.net>
+
+ PR Fortran/9263
+ * g77.f-torture/noncompile/9263.f: New test
+ PR Fortran/1832
+ * g77.f-torture/execute/1832.f: New test
+
+2003-04-05 Zack Weinberg <zack@codesourcery.com>
+
+ PR optimization/10024
+ * gcc.c-torture/compile/20030405-1.c: New test.
+
+2003-04-04 Glen Nakamura <glen@imodulo.com>
+
+ * gcc.dg/20030324-1.c: Add comments and abort if test fails.
+
+2003-04-03 Mike Stump <mrs@apple.com>
+
+ * lib/scanasm.exp (scan-assembler): Add xfail processing for
+ target arg.
+ (scan-assembler-not): Likewise.
+ (scan-assembler-dem, scan-assembler-dem-not): Likewise.
+
+2003-03-31 Mark Mitchell <mark@codesourcery.com>
+
+ PR c/9936
+ * gcc.dg/20030331-2.c: New test.
+
+ PR c++/10278
+ * g++.dg/parse/crash2.C: New test.
+
+2003-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7647
+ * g++.dg/lookup-class-member-2.C: New test.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp8.c: New test.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp7.c: New test.
+
+2003-03-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10047
+ * g++.dg/template/inline1.C: New test.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/sparc-dwarf2.c: New test.
+
+2003-03-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10158
+ * g++.dg/template/friend18.C: New test.
+
+2003-03-26 Roger Sayle <roger@eyesopen.com>
+
+ * g77.f-torture/compile/20030326-1.f: New test case.
+
+2003-03-26 Janis Johnson <janis187@us.ibm.com>
+
+ * gcc.c-torture/execute/20020227-1.x: Don't XFAIL for powerpc64.
+
+ * gcc.c-torture/compile/simd-5.x: Expect XFAIL for powerpc64.
+
+2003-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/ia64-sync-3.c: New test.
+
+2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp6.c: New test.
+
+2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/i386-signbit-1.c: New test.
+ * gcc.dg/i386-signbit-2.c: New test.
+ * gcc.dg/i386-signbit-3.c: New test.
+
+2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp5.c: Fix options.
+
+2003-03-24 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/10197
+ * g77.f-torture/execute/10197.f: New test.
+
+2003-03-24 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp5.c: Fix comment.
+
+2003-03-24 Glen Nakamura <glen@imodulo.com>
+
+ PR opt/10087
+ * gcc.dg/20030324-1.c: New test.
+
+2003-03-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9898, c++/383
+ * g++.dg/template/conv6.C: New test.
+
+ PR c++/10199
+ * g++.dg/lookup/template1.C: New test.
+
+2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/ultrasp5.c: New test.
+
+2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
+
+ PR middle-end/9967
+ * gcc.c-torture/execute/stdio-opt-1.c: Adjust test for change to
+ builtin fputs.
+
+2003-03-23 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
+
+ PR c/8224
+ * gcc.dg/20030323-1.c: New test.
+
+2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gcc.dg/20030321-1.c: New test.
+
+2003-03-22 Bud Davis <bdavis9659@comcast.net>
+
+ * g77.f-torture/execute/select.f: New test.
+ * g77.f-torture/noncompile/select_no_compile.f: New test.
+
+2003-03-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/6412
+ * g++.dg/template/friend17.C: New test.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/20030309-1.c: New test.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c-torture/execute/20030313-1.c: New test.
+
+2003-03-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9629
+ * g++.dg/init/ctor2.C: New test.
+
+2003-03-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8805
+ * g++.dg/eh/cleanup1.C: New test.
+
+2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ * gcc.c-torture/execute/20030316-1.c: New test case.
+
+2003-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * g++.old-deja/g++.mike/eh33.C: Remove xfail for hppa*-*-*.
+ * g++.old-deja/g++.mike/eh50.C: Likewise.
+
+2003-03-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/6440
+ * g++.dg/template/spec7.C: New test.
+ * g++.dg/template/spec8.C: Likewise.
+
+2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/compile/20030314-1.c: New test.
+
+2003-03-13 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/parse/namespace9.C: New test.
+
+2003-03-13 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/init/ref5.C: New test.
+ * g++.dg/parse/ptrmem1.C: Likewise.
+
+2003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gcc.dg/special/ecos.exp (gcsec-1.c): Find linker used by gcc.
+ * gcc.dg/old-style-asm-1.c (dg-final): Add hpux label alternative to
+ regular expression.
+ * gcc.dg/inline-1.c (dg-final): Check for "xyzzy?,%r" on hppa*-*-*.
+
+2003-03-12 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ * gcc.dg/return-type-3.c: New test.
+
+2003-03-12 Daniel Jacobowitz <drow@mvista.com>
+
+ * gcc.c-torture/execute/20030224-2.c: New test.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/decl-3.c: New test.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/i386-loop-2.c: New test.
+
+2003-03-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9474
+ * g++.dg/parse/namespace8.C: New test.
+
+2003-03-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9924
+ * g++.dg/overload/builtin2.C: New test.
+
+2003-03-10 Devang Patel <dpatel@apple.com>
+
+ PR c++/9394
+ * g++.dg/cpp/c++_cmd_1.C: New test.
+ * g++.dg/cpp/c++_cmd_1.h: New file.
+
+2003-03-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9373
+ * cp-lang.c (cxx_get_alias_set): Use alias set zero for
+ pointers to member functions.
+
+2003-03-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8534
+ * g++.dg/opt/ptrmem1.C: New test.
+
+2003-03-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9912
+ * g++.dg/parse/class1.C: New test.
+ * g++.old-deja/g++.other/decl5.C: Adjust.
+
+2003-03-09 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/i386-loop-1.c: New test.
+
+2003-03-09 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9970
+ * g++.dg/lookup/friend1.C: New test.
+
+2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcc.c-torture/execute/20020720-1.x: Add xfail for cris-*-*.
+
+ * gcc.dg/old-style-asm-1.c: Tweak to match mmix-knuth-mmixware.
+
+2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * gcc.dg/cpp/Wunused.c: Update test.
+
+2003-03-08 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9809
+ * g++.dg/parse/builtin1.C: New test.
+
+2003-03-07 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/init/ref4.C: New test.
+
+2003-03-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/execute/20030307-1.c: New test.
+
+2003-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/init/ref3.C: New test.
+
+2003-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9965
+ * g++.dg/init/ref2.C: New test.
+
+ PR c++/9400
+ * g++.dg/warn/Wshadow-2.C: New test.
+
+2003-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9791
+ * g++.dg/warn/Woverloaded-1.C: New test.
+
+2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/compile/20030305-1.c: New test.
+
+2003-03-04 Roger Sayle <roger@eyesopen.com>
+
+ * g++.old-deja/g++.other/builtins10.C: New test for PR 9367.
+ * gcc.dg/format/attr-5.c: Handle new conflicting types warning.
+
+2003-03-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9878
+ * g++.dg/init/ref1.C: New test.
+
+2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
+
+ * gcc.c-torture/execute/960312-1.x: New file, must pass -mshort
+ for HC11/HC12 (asm needs two int registers).
+ * gcc.c-torture/compile/20020312-1.x: New file, don't execute on
+ HC11/HC12 because the test uses an asm which needs two 32-bit
+ registers.
+
+2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
+
+ * gcc.c-torture/compile/920501-12.x: New file, must pass -mshort
+ for HC11/HC12 (array is too large otherwise).
+ * gcc.c-torture/compile/920501-4.x: New file, likewise.
+ * gcc.c-torture/compile/20010518-2.x: Likewise.
+ * gcc.c-torture/compile/980506-1.x: Don't execute this test on
+ HC11/HC12 (array is too large).
+
+2003-02-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9879
+ * testsuite/g++.dg/init/new4.C: New test.
+
+2003-02-25 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9829
+ * g++.dg/parse/namespace1.C: New test.
+
+2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR target/9732
+ * gcc.dg/20030225-1.c: New test.
+
+2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * g++.dg/other/pragma-ep-1.C: Test for __PRAGMA_EXTERN_PREFIX.
+ * gcc.dg/pragma-ep-1.c: Likewise.
+
+2003-02-24 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9602
+ * g++.dg/template/friend16.C: New test.
+
+2003-02-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/7982
+ * g++.dg/warn/implicit-typename1.C: New test.
+
+2003-02-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.dg/asmreg-1.c: New test.
+
+2003-02-21 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/attr-invalid.c: Allow __used__ on static data.
+
+2003-02-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9749
+ * g++.dg/parse/varmod1.C: New test.
+
+ PR c++/9727
+ * g++.dg/template/op1.C: New test.
+
+2003-02-21 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.dg/cpp/include3.c: New test.
+ * gcc.dg/cpp/inc/foo.h: New file.
+
+2003-02-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8906
+ * g++.dg/template/nested2.C: New test.
+
+ PR c++/8724
+ * g++.dg/expr/dtor1.C: New test.
+
+2003-02-21 Glen Nakamura <glen@imodulo.com>
+
+ * gcc.c-torture/execute/20030221-1.c: New test.
+
+2003-02-20 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9729
+ * g++.dg/abi/conv1.C: New test.
+
+2003-02-20 Jan Hubicka <jh@suse.cz>
+
+ * gcc.c-torture/execute/20020720-1.x: XFAIL for x86-64.
+
+2003-02-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * gcc.c-torture/compile/20030219-1.c: New test.
+
+2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gcc.c-torture/execute/20030218-1.c: New.
+
+2003-02-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9704
+ * g++.dg/init/copy5.C: New test.
+
+2003-02-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9459
+ * g++.dg/ext/typeof4.C: New test.
+
+2003-02-12 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/i386-mmx-3.c: Change -march=k8 to -march=athlon.
+ * gcc.dg/i386-ssetype-1.c: Likewise.
+ * gcc.dg/i386-ssetype-2.c: Likewise.
+ * gcc.dg/i386-ssetype-3.c: Likewise.
+ * gcc.dg/i386-ssetype-4.c: Likewise.
+ * gcc.dg/i386-ssetype-5.c: Likewise.
+
+2003-02-14 Josef Zlomek <zlomekj@suse.cz>
+
+ * gcc.dg/20030213-1.c: Expect warning for unsupported -fpic on
+ cris-*-elf* cris-*-aout* and mmix-*-*.
+
+2003-02-13 Josef Zlomek <zlomekj@suse.cz>
+
+ * gcc.dg/20030213-1.c: New test.
+
+2003-02-11 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/parse/octal1.C: New file.
+
+2003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+
+ * gcc.dg/decl-2.c: New test.
+
+2003-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.dg/20020430-1.c: Fix dg command typos.
+ * gcc.dg/20020503-1.c: Likewise.
+
+2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.c-torture/compile/20030206-1.c: New test.
+
+2003-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c-torture/execute/20020227-1.x: Update specific XFAIL
+ conditions for SPARC targets.
+
+2003-02-04 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/i386-ssetype-?.c: Compile using -march=k8; fix for register
+ passing convetions.
+
+2003-02-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7129
+ * testsuite/g++.dg/ext/max.C: New test.
+
+2003-02-03 Richard Earnshaw <rearnsha@arm.com>
+
+ * gcc.c-torture/exectue/ieee/20000320-1.c: The ARM VFP format is
+ 'natural-endian'.
+
+2003-02-01 Loren J. Rittle <ljrittle@acm.org>
+
+ * gcc.dg/struct-ret-libc.c: New test.
+
+2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gcc.dg/20030129-1.c: New test.
+
+2003-01-31 Paolo Carlini <pcarlini@unitus.it>
+
+ Further tweaks for Bison-1.875.
+ * g++.dg/lookup/using2.C: Test for "(parse|syntax) error".
+ * g++.dg/other/do1.C: Likewise.
+ * g++.dg/parse/angle-bracket.C: Likewise.
+ * g++.dg/template/typename3.C: Likewise.
+
+2003-01-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/8849
+ * g++.dg/template/ptrmem4.C: New test.
+
+2003-01-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/9453
+ * g++.dg/template/friend14.C: New test.
+ * g++.dg/template/friend15.C: New test.
+ * g++.old-deja/g++.other/defarg1.C: Adjust error message.
+
+2003-01-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9437
+ * g++.dg/template/unify4.C: New test.
+
+2003-01-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * g++.dg/abi/dcast1.C: New test.
+
+2003-01-28 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/9258
+ * g77.dg/pr9258.f: New test.
+
+2003-01-27 Jeffrey D. Oldham <oldham@codesourcery.com>
+
+ PR c++/47
+ * g++.old-deja/g++.other/lookup24.C: New test.
+
+2003-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/7227
+ * gcc.dg/uninit-C.c: New test.
+
+2003-01-25 Jan Hubicka <jh@suse.cz>
+
+ PR opt/8492
+ * gcc.c-torture/compile/20030125-1.c
+
+2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gcc.dg/20030123-1.c: New test.
+
+2003-01-25 Paolo Carlini <pcarlini@unitus.it>
+
+ Tweaks for Bison-1.875. From the NEWS file:
+ "- `parse error' -> `syntax error'
+ Bison now uniformly uses the term `syntax error'"
+ * gcc.dg/cpp/19990413-1.c: Test for "(parse|syntax) error".
+ * gcc.dg/cpp/digraph2.c: Likewise.
+ * gcc.dg/cpp/direct2.c: Likewise.
+ * gcc.dg/cpp/paste4.c: Likewise.
+ * gcc.dg/c90-restrict-1.c: Likewise.
+ * gcc.dg/c99-func-2.c: Likewise.
+ * gcc.dg/noncompile/920721-2.c: Likewise.
+ * gcc.dg/noncompile/930622-2.c: Likewise.
+ * gcc.dg/noncompile/940112-1.c: Likewise.
+ * gcc.dg/noncompile/950921-1.c: Likewise.
+ * gcc.dg/noncompile/951123-1.c: Likewise.
+ * gcc.dg/noncompile/971104-1.c: Likewise.
+ * gcc.dg/noncompile/990416-1.c: Likewise.
+
+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.
* gcc.dg/darwin-ld-3.c: New test.
* gcc.dg/darwin-ld-4.c: New test.
* gcc.dg/darwin-ld-5.c: New test.
-
+
2002-12-12 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.c-torture/compile/20021212-1.c: New test.
@@ -82,7 +1064,7 @@
PR c++/8727
* g++.dg/inherit/typeinfo1.C: New test.
-
+
PR c++/8663
* g++.dg/inherit/typedef1.C: New test.
@@ -114,7 +1096,7 @@
* gcc.dg/bitfld-6.c: New test.
-Wed Nov 27 14:37:34 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-27 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/execute/20021127.[cx]: New test.
@@ -231,7 +1213,7 @@ Wed Nov 27 14:37:34 CET 2002 Jan Hubicka <jh@suse.cz>
PR c/8439
* gcc.dg/20021110.c: New test.
-
+
2002-11-10 Mark Mitchell <mark@codesourcery.com>
* g++.dg/abi/vthunk3.C: Run only on x86.
@@ -254,7 +1236,7 @@ Wed Nov 27 14:37:34 CET 2002 Jan Hubicka <jh@suse.cz>
PR c++/8389
* g++.dg/template/access6.C: New test.
-Fri Nov 8 10:52:15 CET 2002 Jan Hubicka <jh@suse.cz>
+2002-11-08 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/compile/20021108-1.c: New testcase for x86-64 failure.
@@ -553,7 +1535,7 @@ Fri Nov 8 10:52:15 CET 2002 Jan Hubicka <jh@suse.cz>
PR c++/7584
* g++.dg/inherit/using3.C: New test.
-Thu Oct 17 19:12:58 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-17 Jan Hubicka <jh@suse.cz>
* gcc.dg/20021017-2.c: New test.
@@ -609,11 +1591,11 @@ Thu Oct 17 19:12:58 CEST 2002 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/execute/20021015-1.c: New test.
-Tue Oct 15 14:22:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-10-15 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.dg/weak/typeof-2.c: For SH targets, return before baz3 test.
-Mon Oct 14 20:37:51 CEST 2002 Jan Hubicka <jh@suse.cz>
+2002-10-14 Jan Hubicka <jh@suse.cz>
* gcc.dg/i386-ssetype-[1-5].c: New tests.
@@ -654,7 +1636,7 @@ Mon Oct 14 20:37:51 CEST 2002 Jan Hubicka <jh@suse.cz>
* gcc.dg/cpp/assembler.S: Don't use -ansi.
-Fri Oct 11 10:56:49 2002 Richard Shann <richard.shann@superh.com>
+2002-10-11 Richard Shann <richard.shann@superh.com>
* gcc.c-torture/compile/simd-5.c: New test.
@@ -884,7 +1866,7 @@ Fri Oct 11 10:56:49 2002 Richard Shann <richard.shann@superh.com>
* g++.old-deja/g++.other/crash32.C: Mark ICE.
-Tue Sep 17 13:59:45 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-17 Nicola Pero <n.pero@mi.flashnet.it>
* objc.dg/comp-types-1.m: New test.
* objc.dg/comp-types-2.m: New test.
@@ -1037,7 +2019,7 @@ Tue Sep 17 13:59:45 2002 Nicola Pero <n.pero@mi.flashnet.it>
* gcc.dg/cpp/_Pragma4.c: Fix typo.
-Fri Sep 6 16:39:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-06 Nicola Pero <n.pero@mi.flashnet.it>
* objc/execute/formal_protocol-6.x: Removed. This testcase is now
expected to pass.
@@ -1067,7 +2049,7 @@ Fri Sep 6 16:39:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
* gcc.dg/weak-8.c: Ditto.
* gcc.dg/weak-9.c: Ditto.
-Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-09-05 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/loop-14.c: New test.
@@ -1081,11 +2063,11 @@ Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.dg/cpp/_Pragma4.c: New test.
-Tue Sep 3 11:04:26 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-03 Nicola Pero <n.pero@mi.flashnet.it>
* objc/execute/nil_method-1.m: New testcase.
-Sun Sep 1 12:47:39 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-09-01 Nicola Pero <n.pero@mi.flashnet.it>
* objc/execute/class-tests-1.h (test_class_with_superclass): Call
[Object class], not [Object initialize].
@@ -1101,7 +2083,7 @@ Sun Sep 1 12:47:39 2002 Nicola Pero <n.pero@mi.flashnet.it>
* testsuite/g++.dg/abi/bitfield5.C: New test.
* testsuite/g++.dg/abi/vbase10.C: Likewise.
-Tue Aug 27 22:23:22 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-08-27 Nicola Pero <n.pero@mi.flashnet.it>
* objc.dg/undeclared-selector.m: New test.
@@ -1316,7 +2298,7 @@ Tue Aug 27 22:23:22 2002 Nicola Pero <n.pero@mi.flashnet.it>
* gcc.c-torture/execute/va-arg-15.x, va-arg-16.x, va-arg-17.x:
Delete.
-Tue Jul 23 21:02:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-23 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/compile/simd-4.c: New test.
@@ -1402,7 +2384,7 @@ Tue Jul 23 21:02:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/compile/20020710-1.c: New test.
-Thu Jul 11 15:39:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-11 J"orn Rennecke <joern.rennecke@superh.com>
Andrew Pinski <pinskia@physics.uc.edu>
gcc.c-torture/compile/simd-2.c: New testcase.
@@ -1465,7 +2447,7 @@ Thu Jul 11 15:39:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
* g++.dg/debug/debug6.C: New test.
* g++.dg/debug/debug7.C: New test.
-Thu Jul 4 07:36:48 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-04 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/compile/simd-3.c: New test.
@@ -1480,7 +2462,7 @@ Thu Jul 4 07:36:48 2002 J"orn Rennecke <joern.rennecke@superh.com>
* g++.dg/init/array4.C: New test.
* g++.dg/init/array5.C: New test.
-Wed Jul 3 10:25:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-03 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/simd-1.c (main): Also test &, |, ^, ~.
* gcc.c-torture/execute/simd-2.c (main): Likewise.
@@ -1549,7 +2531,7 @@ Wed Jul 3 10:25:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
* lib/objc-torture.exp (objc-torture-compile): ...instead of here
(objc-torture-execute): or here.
-Mon Jul 1 12:51:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-07-01 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/arith-rand-ll.c: New test.
@@ -1571,7 +2553,7 @@ Mon Jul 1 12:51:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/string-opt-8.c (strncmp): Fix typo in
return type.
-Thu Jun 27 15:23:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-06-27 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/simd-2.c (i, j): Add initializer elements to
avoid division by zero.
@@ -1580,7 +2562,7 @@ Thu Jun 27 15:23:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.dg/Wunknownprag.c: New tests.
-Tue Jun 25 21:50:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-06-25 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/simd-2.c: New test.
@@ -1847,7 +2829,7 @@ Tue Jun 25 21:50:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc/testsuite/gcc.dg/weak-8.c: New test.
-Thu May 23 11:09:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-05-23 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.dg/weak-2.c: Allow optional leading underscore
in scan-assembler symbol name.
@@ -1884,11 +2866,11 @@ Thu May 23 11:09:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.dg/tls/tls.exp, gcc.dg/tls/trivial.c, gcc.dg/tls/diag-1.c,
gcc.dg/tls/diag-2.c, gcc.dg/tls/init-1.c: New directory and files.
-Tue May 21 14:25:32 2002 Brian R. Gaeke <brg@dgate.ORG>
+2002-05-21 Brian R. Gaeke <brg@dgate.ORG>
* g++.dg/other/copy2.C: New test.
-Mon May 20 10:51:35 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-05-20 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/memcpy-2.c (SEQUENCE_LENGTH): Define.
(MAX_COPY): Bump up to 10 times sizeof (long long).
@@ -2124,7 +3106,7 @@ Mon May 20 10:51:35 2002 J"orn Rennecke <joern.rennecke@superh.com>
PR c++/6438.
* g++.dg/parse/stmtexpr2.C: New test.
-Wed Apr 24 21:38:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
+2002-04-24 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.dg/20020312-2.c: Add SH target.
@@ -2465,7 +3447,7 @@ Wed Apr 24 21:38:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
* g++.old-deja/g++.law/bit-fields2.C: Skip on mmix-knuth-mmixware.
-Thu Mar 28 16:38:09 2002 Jeffrey A Law (law@redhat.com)
+2002-03-28 Jeffrey A Law (law@redhat.com)
* gcc.c-torture/execute/20020328-1.c: New test.
@@ -2696,7 +3678,7 @@ Thu Mar 28 16:38:09 2002 Jeffrey A Law (law@redhat.com)
* gcc.dg/20020122-4.c: Ditto.
* gcc.dg/inline-2.c: Ditto.
-Thu Mar 14 14:28:38 2002 Jeffrey A Law (law@cygnus.com)
+2002-03-14 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20020314-1.c: New test.
@@ -2777,7 +3759,7 @@ Thu Mar 14 14:28:38 2002 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/va-arg-22.c: New test.
-Sat Mar 9 07:47:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2002-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/compile/20020309-1.c: New test.
@@ -2785,7 +3767,7 @@ Sat Mar 9 07:47:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/execute/20020307-2.c: New test.
-Thu Mar 7 10:05:31 2002 Jeffrey A Law (law@redhat.com)
+2002-03-07 Jeffrey A Law (law@redhat.com)
* g77.f-torture/compile/20020307-1.f: New test.
@@ -3484,7 +4466,7 @@ Thu Mar 7 10:05:31 2002 Jeffrey A Law (law@redhat.com)
* gcc.dg/i386-mmx-1.c, gcc.dg/i386-mmx-2.c: New.
* gcc.dg/i386-sse-1.c, gcc.dg/i386-sse-2.c, gcc.dg/i386-sse-1.c: New.
-Fri Jan 11 12:13:30 2002 Nicola Pero <n.pero@mi.flashnet.it>
+2002-01-11 Nicola Pero <n.pero@mi.flashnet.it>
* objc.dg/special/unclaimed-category-1.m: Include objc/objc-api.h.
@@ -3507,7 +4489,7 @@ Fri Jan 11 12:13:30 2002 Nicola Pero <n.pero@mi.flashnet.it>
* gcc.c-torture/execute/20020108-1.c: Rewrite to choose the proper
type in which to perform the operation for each size.
-Wed Jan 9 16:48:33 2002 Alan Matsuoka (alanm@redhat.com)
+2002-01-09 Alan Matsuoka (alanm@redhat.com)
* gcc.c-torture/compile/20020109-2.c: New test.
@@ -3533,7 +4515,7 @@ Wed Jan 9 16:48:33 2002 Alan Matsuoka (alanm@redhat.com)
* gcc.dg/20010822-1.c: New test.
* gcc.dg/20011107-1.c: New test.
-Wed Jan 9 14:03:20 2002 Jeffrey A Law (law@redhat.com)
+2002-01-09 Jeffrey A Law (law@redhat.com)
* gcc.dg/asm-fs-1.c: Disable warnings when compiling.
@@ -3799,11 +4781,11 @@ Wed Jan 9 14:03:20 2002 Jeffrey A Law (law@redhat.com)
* g++.dg/other/error1.C: New test.
-Mon Dec 17 14:31:42 2001 Jeffrey A Law (law@redhat.com)
+2001-12-17 Jeffrey A Law (law@redhat.com)
* gcc.c-torture/execute/20011217-1.c: New test.
-Mon Dec 17 16:54:56 2001 Nicola Pero <nicola@brainstorm.co.uk>
+2001-12-17 Nicola Pero <nicola@brainstorm.co.uk>
* objc.dg/special/: New directory.
* objc.dg/special/special.exp: New file.
@@ -3837,7 +4819,7 @@ Mon Dec 17 16:54:56 2001 Nicola Pero <nicola@brainstorm.co.uk>
std::__malloc_alloc_template<0> and
std::__default_alloc_template<false, 0>.
-Thu Dec 13 10:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
+2001-12-13 Nicola Pero <n.pero@mi.flashnet.it>
* objc/execute/bf-21.m: New test.
* objc/execute/enumeration-1.m: New test.
@@ -3916,7 +4898,7 @@ Thu Dec 13 10:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
* gcc.dg/sparc-ret.c: New file, test return corruption bug for
ultrasparc.
-Fri Dec 7 06:29:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* g++-old.deja/g++.robertl/eb101.C: Deleted.
@@ -4003,7 +4985,7 @@ Fri Dec 7 06:29:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* g++.old-deja/g++.pt/memtemp100.C: Remove non-standard
constructs.
-Wed Nov 28 15:05:54 2001 Jeffrey A Law (law@cygnus.com)
+2001-11-28 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20011128-1.c: New test.
@@ -4027,7 +5009,7 @@ Wed Nov 28 15:05:54 2001 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20011121-1.c: New test.
-Fri Nov 23 15:55:44 2001 Jeffrey A Law (law@cygnus.com)
+2001-11-23 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/ieee/20011123-1.c: New test.
@@ -4224,7 +5206,7 @@ Fri Nov 23 15:55:44 2001 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20011029-1.c: New test.
-Mon Oct 29 21:19:53 2001 Nicola Pero <n.pero@mi.flashnet.it>
+2001-10-29 Nicola Pero <n.pero@mi.flashnet.it>
* objc/execute/class_self-1.m: New test.
* objc/execute/class_self-2.m: New test.
@@ -4799,7 +5781,7 @@ Mon Oct 29 21:19:53 2001 Nicola Pero <n.pero@mi.flashnet.it>
* g77.f-torture/execute/intrinsic-vax-cd.f: New test
* g77.f-torture/execute/intrinsic-f2c-z.f: New test
-Mon Jul 23 10:14:17 2001 Jeffrey A Law (law@cygnus.com)
+2001-07-23 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20010723-1.c: New test.
@@ -4863,7 +5845,7 @@ Mon Jul 23 10:14:17 2001 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20001229-1.c: Include <sys/proc.h> for
UAC_SIGBUS, UAC_NOPRINT definitions.
-Mon Jul 16 12:21:56 2001 Nicola Pero <n.pero@mi.flashnet.it>
+2001-07-16 Nicola Pero <n.pero@mi.flashnet.it>
* objc/execute/object_is_class.m: New test.
* objc/execute/object_is_meta_class.m: New test.
@@ -4915,7 +5897,7 @@ Mon Jul 16 12:21:56 2001 Nicola Pero <n.pero@mi.flashnet.it>
* gcc.c-torture/compile/20010701-1.c,
g++.old-deja/g++.ext/attrib6.C: New tests.
-Fri Jul 6 09:31:43 2001 Jeffrey A Law (law@cygnus.com)
+2001-07-06 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20010706-1.c: New test.
@@ -5229,7 +6211,7 @@ Wed May 23 2001 Jeffrey D. Oldham <oldham@codesourcery.com>
* gcc.dg/complete-port.c: New (revised version of libgcc1-test.c)
-Wed May 16 20:33:57 CEST 2001 Jan Hubicka <jh@suse.cz>
+2001-05-16 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/compile/20010516-1.c: New test.
@@ -5376,7 +6358,7 @@ Wed May 16 20:33:57 CEST 2001 Jan Hubicka <jh@suse.cz>
* g77.f-torture/compile/20000629-1.x: Remove - error
has been fixed.
-Thu Apr 26 11:15:12 2001 Jeffrey A Law (law@cygnus.com)
+2001-04-26 Jeffrey A Law (law@cygnus.com)
* g++.dg/special/initp1.C: Moved here from g++.old-deja/g++.ext.
Tweak slightly to work with g++.dg framework.
@@ -5584,7 +6566,7 @@ Thu Apr 26 11:15:12 2001 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.brendan/crash15.C (main): Same.
* g++.old-deja/g++.brendan/copy9.C: Same.
-Fri Apr 6 15:36:15 2001 J"orn Rennecke <amylaar@redhat.com>
+2001-04-06 J"orn Rennecke <amylaar@redhat.com>
* gcc.c-torture/execute/20001203-2.c (memset):
Count argument is of type __SIZE_TYPE__.
@@ -5827,7 +6809,7 @@ Fri Apr 6 15:36:15 2001 J"orn Rennecke <amylaar@redhat.com>
* g++.old-deja/g++.other/inline20.C: New test.
-Wed Feb 21 12:38:22 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
+2001-02-21 Ovidiu Predescu <ovidiu@cup.hp.com>
* objc/execute/nested-1.m: Added (contributed by Nicola Pero).
@@ -5859,11 +6841,11 @@ Wed Feb 21 12:38:22 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
* gcc.c-torture/execute/longlong.c: New test.
-Wed Feb 14 21:41:17 2001 J"orn Rennecke <amylaar@redhat.com>
+2001-02-14 J"orn Rennecke <amylaar@redhat.com>
* g++.old-deja/g++.brendan/new2.C (main): Use sizeof.
-Wed Feb 14 21:31:25 2001 J"orn Rennecke <amylaar@redhat.com>
+2001-02-14 J"orn Rennecke <amylaar@redhat.com>
* gcc.c-torture/execute/920302-1.c (execute):
Change argument type to short.
@@ -5953,7 +6935,7 @@ Wed Feb 14 21:31:25 2001 J"orn Rennecke <amylaar@redhat.com>
* g++.dg/stdbool-if.C: New test.
-Wed Feb 7 09:54:47 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
+2001-02-07 Ovidiu Predescu <ovidiu@cup.hp.com>
* objc/execute/fdecl.m: Added main().
@@ -5965,7 +6947,7 @@ Wed Feb 7 09:54:47 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
* gcc.dg/cpp/avoidpaste1.c: Update.
-Tue Feb 5 8:53:33 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
+2001-02-05 Ovidiu Predescu <ovidiu@cup.hp.com>
* objc/execute/bycopy-1.m, bycopy-2.m: Added new tests from Nicola
Pero <nicola@brainstorm.co.uk>.
@@ -6016,7 +6998,7 @@ Tue Feb 5 8:53:33 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
* gcc.dg/c99-float-1.c: Back out "XFAIL FLT_EVAL_METHOD and
DECIMAL_DIG cases for Irix."
-Wed Jan 31 12:23:32 2001 J"orn Rennecke <amylaar@redhat.com>
+2001-01-31 J"orn Rennecke <amylaar@redhat.com>
* gcc.c-torture/execute/920302-1.c: Cast 0 to pointer.
@@ -6504,7 +7486,7 @@ Wed Jan 31 12:23:32 2001 J"orn Rennecke <amylaar@redhat.com>
* gcc.c-torture/compile/20001222-1.x: Remove.
-Thu Jan 4 13:54:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-01-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/execute/built-in-setjmp.c: New.
@@ -6608,11 +7590,11 @@ Thu Jan 4 13:54:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/compile/20001222-1.c: New test.
* gcc.c-torture/compile/20001222-1.x: Xfail.
-Fri Dec 22 06:45:03 2000 Alexandre Oliva <aoliva@redhat.com>
+2000-12-22 Alexandre Oliva <aoliva@redhat.com>
* gcc.c-torture/execute/comp-goto-2.c: New test.
-Thu Dec 21 22:43:03 2000 J"orn Rennecke <amylaar@redhat.com>
+2000-12-21 J"orn Rennecke <amylaar@redhat.com>
* gcc.c-torture/execute/comp-goto-1.c (uint32, sint32):
Use long types if __INT_MAX__ is 32767.
@@ -7327,7 +8309,7 @@ Thu Dec 21 22:43:03 2000 J"orn Rennecke <amylaar@redhat.com>
* gcc.dg/cpp/include2.c: New tests.
-Fri Nov 3 13:32:14 2000 Mark P Mitchell <mark@codesourcery.com>
+2000-11-03 Mark P Mitchell <mark@codesourcery.com>
* lib/g++.exp (g++_set_ld_library_path): New function.
Use it to set LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH.
@@ -7706,7 +8688,7 @@ Fri 15-Sep-2000 06:50:11 BST Neil Booth <NeilB@earthling.net>
* gcc.dg/cpp/paste10.c: Testcase for PASTE_LEFT buglet.
-Thu Sep 14 16:48:49 2000 Jeffrey A Law (law@cygnus.com)
+2000-09-14 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000914-1.c: New test.
@@ -7719,7 +8701,7 @@ Thu Sep 14 16:48:49 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/widechar-2.c: New test for wchar_t
constant by Ulrich Drepper <drepper@redhat.com>.
-Tue Sep 12 18:32:07 2000 J"orn Rennecke <amylaar@redhat.co.uk>
+2000-09-12 J"orn Rennecke <amylaar@redhat.co.uk>
* gcc.c-torture/compile/981006-1.x: No -fpic for sh-coff / sh-hms.
@@ -7955,7 +8937,7 @@ Tue Sep 12 18:32:07 2000 J"orn Rennecke <amylaar@redhat.co.uk>
* gcc.dg/20000724-1.c: New test.
* gcc.dg/20000807-1.c: New test.
-Sun Aug 20 01:41:35 MSD 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
+2000-08-20 Dennis Chernoivanov <cdi@sparc.spb.su>
* gcc.dg/cpp/pragma-1.c: New test.
* gcc.dg/cpp/pragma-2.c: New test.
@@ -7965,7 +8947,7 @@ Sun Aug 20 01:41:35 MSD 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
* gcc.dg/cpp/lexstrng.c: Don't include string.h.
* gcc.dg/cpp/paste2.c: Don't include string.h. Prototype strcmp.
-Fri Aug 18 16:57:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-08-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/compile/20000818-1.c: New test.
@@ -8076,7 +9058,7 @@ Fri Aug 18 16:57:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.dg/c90-printf-2.c, gcc.dg/c99-printf-2.c: New tests.
-Sun Aug 6 11:41:51 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
+2000-08-06 Ovidiu Predescu <ovidiu@cup.hp.com>
* lib/objc.exp (objc_target_compile): Set the ld_library_path so
that running programs linked against the shared version of libobjc
@@ -8113,7 +9095,7 @@ Sun Aug 6 11:41:51 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
* gcc.dg/cpp/20000625-2.c: Expect warning on line 8, not 9.
* gcc.dg/compare2.c: No longer expected to fail.
-Fri Aug 4 23:00:50 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+2000-08-04 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/execute/20000804-1.c: New test.
@@ -8125,7 +9107,7 @@ Fri Aug 4 23:00:50 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.dg/cpp/20000625-2.c: Don't expect a warning on line 4.
-Thu Aug 3 01:46:33 2000 Jeffrey A Law (law@cygnus.com)
+2000-08-03 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000803-1.c: New test.
@@ -8149,7 +9131,7 @@ Thu Aug 3 01:46:33 2000 Jeffrey A Law (law@cygnus.com)
* gcc.dg/cpp/macsyntx.c: Fix error regexp.
-Mon Jul 31 21:14:49 2000 Jeffrey A Law (law@cygnus.com)
+2000-07-31 Jeffrey A Law (law@cygnus.com)
* gcc-c-torture/execute/20000731-2.c: New test.
@@ -8187,7 +9169,7 @@ Mon Jul 31 21:14:49 2000 Jeffrey A Law (law@cygnus.com)
* gcc.dg/c90-impl-int-2.c, gcc.dg/c99-impl-int-2.c: New tests.
-Wed Jul 26 19:41:51 2000 Hans-Peter Nilsson <hp@axis.com>
+2000-07-26 Hans-Peter Nilsson <hp@axis.com>
* gcc.c-tortuer/execute/20000726-1.c: New test.
@@ -8293,7 +9275,7 @@ Wed Jul 26 19:41:51 2000 Hans-Peter Nilsson <hp@axis.com>
* gcc.dg/cpp/cmdlne-dM.c: New test.
* gcc.dg/cpp/cmdlne-dD.c: New test.
-Mon Jul 17 03:13:12 2000 Jeffrey A Law (law@cygnus.com)
+2000-07-17 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000717-3.c: New test.
@@ -8321,7 +9303,7 @@ Mon Jul 17 03:13:12 2000 Jeffrey A Law (law@cygnus.com)
* gcc.dg/c99-impl-int-1.c, gcc.dg/c99-longlong-1.c,
* gcc.dg/c99-restrict-1.c, gcc.dg/c99-return-1.c: New tests.
-Mon Jul 17 00:41:57 2000 Greg McGary <greg@mcgary.org>
+2000-07-17 Greg McGary <greg@mcgary.org>
* gcc.c-torture/execute/20000717-1.c: New test.
* gcc.c-torture/execute/20000717-1.x: Expected to fail.
@@ -8536,7 +9518,7 @@ Mon Jul 17 00:41:57 2000 Greg McGary <greg@mcgary.org>
* gcc.dg/980217-1.c: Declare abort.
* gcc.dg/cpp/20000628-1a.h: Use a declaration instead of an asm.
-Thu Jun 29 09:42:40 2000 Jeffrey A Law (law@cygnus.com)
+2000-06-29 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/20000629-1.f: New test.
* g77.f-torture/compile/20000629-1.x: Expected to fail.
@@ -8805,11 +9787,11 @@ Thu Jun 29 09:42:40 2000 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/old-deja.exp: Add -Wno-long-long.
-Fri Jun 9 22:46:34 2000 Jeffrey A Law (law@cygnus.com)
+2000-06-09 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000609-1.c: New test.
-Fri Jun 9 21:54:28 2000 Clinton Popetz <cpopetz@cygnus.com>
+2000-06-09 Clinton Popetz <cpopetz@cygnus.com>
* gcc.dg/20000609-1.c: New test.
@@ -8978,7 +9960,7 @@ Fri Jun 9 21:54:28 2000 Clinton Popetz <cpopetz@cygnus.com>
* gcc.c-torture/execute/conversion.c: Ditto.
* gcc.c-torture/execute/cvt-1.c: Ditto.
-Thu May 18 16:03:29 2000 Jeffrey A Law (law@cygnus.com)
+2000-05-18 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000518-1.c: New test.
@@ -8986,7 +9968,7 @@ Thu May 18 16:03:29 2000 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/200005018.f: New test.
-Wed May 17 18:30:10 2000 Jeffrey A Law (law@cygnus.com)
+2000-05-17 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000517-1.c: New test.
@@ -9003,7 +9985,7 @@ Wed May 17 18:30:10 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990208-1.c (main): Don't pass
constants through to doit's conditional.
-Thu May 11 19:02:43 2000 Jeffrey A Law (law@cygnus.com)
+2000-05-11 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000511-1.c: New test.
* g77.f-torture/compile/20000511-1.f: New test.
@@ -9056,7 +10038,7 @@ Thu May 11 19:02:43 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000504-1.c: New test. Derived from
OpenSSL by Jason R Thorpe.
-Wed May 3 13:02:10 2000 Jim Wilson <wilson@cygnus.com>
+2000-05-03 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/20000503-1.c: New test for extract_muldiv bug.
@@ -9083,7 +10065,7 @@ Thu Apr 27 15:58:18 MET DST 2000 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/execute/va-arg-20.c: New test.
-Sun Apr 23 14:41:33 2000 Jeffrey A Law (law@cygnus.com)
+2000-04-23 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000422-1.c: New test.
@@ -9092,7 +10074,7 @@ Sun Apr 23 14:41:33 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000420-2.c: New test for stack misalignment
when optimizing, but without sibling-call optimizations (-O1).
-Thu Apr 20 11:57:03 2000 Jeffrey A Law (law@cygnus.com)
+2000-04-20 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000420-1.c: New test.
@@ -9101,7 +10083,7 @@ Thu Apr 20 11:57:03 2000 Jeffrey A Law (law@cygnus.com)
* g++.abi/ptrflags.C: New test.
* g++.eh/catchptr1.C: Test incomplete pointer chains.
-Wed Apr 19 09:16:32 2000 Catherine Moore <clm@cygnus.com>
+2000-04-19 Catherine Moore <clm@cygnus.com>
* gcc.c-torture/execute/921017-1.c: Check for NO_TRAMPOLINES.
@@ -9114,11 +10096,11 @@ Wed Apr 19 09:16:32 2000 Catherine Moore <clm@cygnus.com>
* gcc.dg/20000419-1.c: New test.
-Wed Apr 12 22:54:02 2000 Hans-Peter Nilsson <hp@axis.com>
+2000-04-12 Hans-Peter Nilsson <hp@axis.com>
* gcc.c-torture/execute/20000412-6.c: New test.
-Wed Apr 12 10:25:08 2000 Jeffrey A Law (law@cygnus.com)
+2000-04-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000412-5.c: New test.
* g77.f-torture/compile/20000412-1.f: New test.
@@ -9179,7 +10161,7 @@ Wed Apr 12 10:25:08 2000 Jeffrey A Law (law@cygnus.com)
cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c: Add FSF
copyright.
-Wed Apr 5 22:51:36 2000 Hans-Peter Nilsson <hp@axis.com>
+2000-04-05 Hans-Peter Nilsson <hp@axis.com>
* gcc.c-torture/execute/960327-1.c (f): Add a letter to s[] to
avoid stack-frame overwrite.
@@ -9206,12 +10188,12 @@ Wed Apr 5 22:51:36 2000 Hans-Peter Nilsson <hp@axis.com>
* gcc.dg/cpp-redef-2.c, gcc.dg/cpp-tradwarn1.c,
gcc.dg/cpp-unc.c: Add -fno-show-column to compiler options.
-Mon Apr 3 02:35:34 2000 Jeffrey A Law (law@cygnus.com)
+2000-04-03 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000403-2.c: New test.
* gcc.c-torture/compile/20000403-1.c: New test.
-Mon Apr 3 16:53:52 2000 Hans-Peter Nilsson <hp@axis.com>
+2000-04-03 Hans-Peter Nilsson <hp@axis.com>
* gcc.c-torture/execute/20000403-1.c: New test.
@@ -9219,7 +10201,7 @@ Mon Apr 3 16:53:52 2000 Hans-Peter Nilsson <hp@axis.com>
* gcc.c-torture/execute/20000402-1.c: New test.
-Mon Apr 3 14:10:34 2000 Donald Lindsay <dlindsay@cygnus.com>
+2000-04-03 Donald Lindsay <dlindsay@cygnus.com>
* gcc.c-torture/execute/va-arg-15.c: New test.
* gcc.c-torture/execute/va-arg-16.c: New test.
@@ -9247,7 +10229,7 @@ Mon Apr 3 14:10:34 2000 Donald Lindsay <dlindsay@cygnus.com>
* gcc.dg/cpp-shortcircuit.c New tests.
* gcc.dg/cpp-unary.c New tests.
-Wed Mar 29 13:44:23 2000 Jeffrey A Law (law@cygnus.com)
+2000-03-29 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000329-1.c: New test.
@@ -9281,7 +10263,7 @@ Wed Mar 29 13:44:23 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000319-1.c: New test.
-Tue Mar 14 08:58:37 2000 Jeffrey A Law (law@cygnus.com)
+2000-03-14 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000314-3.c: New test.
* gcc.c-torture/execute/20000314-2.c: New test.
@@ -9293,7 +10275,7 @@ Tue Mar 14 08:58:37 2000 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.warn/inline.C: New test.
-Fri Mar 10 01:15:19 2000 Hans-Peter Nilsson <hp@bitrange.com>
+2000-03-10 Hans-Peter Nilsson <hp@bitrange.com>
* gcc.c-torture/execute/divconst-2.c: Rewrite to check for
standards-compliant result rather than specific constants.
@@ -9326,7 +10308,7 @@ Fri Mar 10 01:15:19 2000 Hans-Peter Nilsson <hp@bitrange.com>
* g++.old-deja/g++.warn/impint2.C: New test.
-Sun Mar 5 23:25:12 2000 Hans-Peter Nilsson <hp@bitrange.com>
+2000-03-05 Hans-Peter Nilsson <hp@bitrange.com>
* gcc.c-torture/execute/20000224-1.c (main): Expected return-value
is 1, not zero.
@@ -9355,7 +10337,7 @@ Sun Mar 5 23:25:12 2000 Hans-Peter Nilsson <hp@bitrange.com>
* g++.old-deja/g++.pt/unify7.C: New test.
-Sat Feb 26 19:46:09 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-02-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* g++.old-deja/g++.ext/attrib5.C: XFAIL on Alpha since no link alias.
* g++.old-deja/g++.pt/static3.C: Generalize system name for Alpha.
@@ -9369,7 +10351,7 @@ Sat Feb 26 19:46:09 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/compile/cpp-2.c: New test.
* gcc.c-torture/compile/cpp-1.c: New test.
-Fri Feb 25 21:44:49 2000 Jeffrey A Law (law@cygnus.com)
+2000-02-25 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000225-1.c: New test.
@@ -9389,7 +10371,7 @@ Fri Feb 25 21:44:49 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/va-arg-13.c: New test.
-Wed Feb 23 14:16:06 2000 Donald Lindsay <dlindsay@cygnus.com>
+2000-02-23 Donald Lindsay <dlindsay@cygnus.com>
* gcc.c-torture/execute/va-arg-12.c: New test.
@@ -9414,15 +10396,15 @@ Wed Feb 23 14:16:06 2000 Donald Lindsay <dlindsay@cygnus.com>
* lib/g++.exp (g++_init): Add -fmessage-length=0 to
ALWAYS_CXXFLAGS.
-Fri Feb 11 12:35:40 2000 Robert Lipe <robertl@sco.com>
+2000-02-11 Robert Lipe <robertl@sco.com>
* gcc.c-torture/compile/20000211-3.c: New test.
-Fri Feb 11 12:35:40 2000 Martin Buchholz <martin@xemacs.org>
+2000-02-11 Martin Buchholz <martin@xemacs.org>
* gcc.c-torture/compile/20000211-2.c: New test.
-Fri Feb 11 12:35:40 2000 Jeffrey A Law (law@cygnus.com)
+2000-02-11 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000211-1.c: New test.
@@ -9477,16 +10459,16 @@ Fri Feb 11 12:35:40 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/ieee/fp-cmp-4.c: New.
-Thu Jan 20 12:34:48 2000 Jeffrey A Law (law@cygnus.com)
+2000-01-20 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000120-2.c: New test.
* gcc.c-torture/execute/20000120-1.c: New test.
-Thu Jan 13 02:29:32 2000 Jeffrey A Law (law@cygnus.com)
+2000-01-13 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000113-1.c: New test.
-Wed Jan 12 20:26:58 2000 Jeffrey A Law (law@cygnus.com)
+2000-01-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/20000112-1.c: New test.
@@ -9494,7 +10476,7 @@ Wed Jan 12 20:26:58 2000 Jeffrey A Law (law@cygnus.com)
* gcc.dg/20000111-1.c: New test.
-Mon Jan 10 18:12:49 2000 Jeffrey A Law (law@cygnus.com)
+2000-01-10 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990628-1.c: Tweak to work on targets
with 16 bit integers.
@@ -9511,7 +10493,7 @@ Mon Jan 10 18:12:49 2000 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.other/cast4.C: New test.
-Wed Jan 5 00:26:20 2000 Jeffrey A Law (law@cygnus.com)
+2000-01-05 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000105-2.c: New test.
* gcc.c-torture/compile/20000105-1.c: New test.
@@ -9602,13 +10584,13 @@ Wed Jan 5 00:26:20 2000 Jeffrey A Law (law@cygnus.com)
* gcc.dg/991230-1.c: New test.
-Wed Dec 29 23:48:49 1999 Jeffrey A Law (law@cygnus.com)
+1999-12-29 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/991229-3.c: New test.
* gcc.c-torture/compile/991229-2.c: New test.
* gcc.c-torture/compile/991229-1.c: New test.
-Wed Dec 29 20:54:46 1999 Greg McGary <gkm@eng.ascend.com>
+1999-12-29 Greg McGary <gkm@eng.ascend.com>
* gcc.c-torture/compile/labels-2.c: New test.
@@ -9656,17 +10638,17 @@ Wed Dec 29 20:54:46 1999 Greg McGary <gkm@eng.ascend.com>
* gcc.dg/991214-1.c: New test.
-Mon Dec 13 23:03:09 1999 Jeffrey A Law (law@cygnus.com)
+1999-12-13 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/991213-3.c: New test.
* gcc.c-torture/compile/991213-2.c: New test.
* gcc.c-torture/compile/991213-1.c: New test.
-Fri Dec 10 00:53:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+1999-12-10 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.dg/991209-1.c: New test.
-Wed Dec 8 23:44:08 1999 Nathan Sidwell <nathan@acm.org>
+1999-12-08 Nathan Sidwell <nathan@acm.org>
* gcc.c-torture/compile/991208-1.c: New test.
@@ -9714,7 +10696,7 @@ Wed Dec 8 23:44:08 1999 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.ext/pretty3.C: New test.
* g++.old-deja/g++.other/debug6.C: New test.
-Wed Oct 20 16:18:23 1999 Jim Wilson <wilson@cygnus.com>
+1999-10-20 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/noncompile/noncompile.exp: For 940510-1.c, change
compiler_output to look for one error message instead of two.
@@ -9743,7 +10725,7 @@ Wed Oct 20 16:18:23 1999 Jim Wilson <wilson@cygnus.com>
host is equipped with driver.h and driver.o so it can actually
compile and run the tests.
-Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+1999-10-08 Bernd Schmidt <bernds@cygnus.co.uk>
* gcc.c-torture/compile/991008-1.c: New test.
@@ -9781,35 +10763,35 @@ Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
* gcc.dg/array-1.c: New test.
-Sat Oct 30 22:23:46 1999 Stephen L Moshier <moshier@mediaone.net>
+1999-10-30 Stephen L Moshier <moshier@mediaone.net>
* gcc.c-torture/execute/991030-1.c: New test.
-Tue Oct 26 20:25:42 1999 Richard Henderson <rth@cygnus.com>
+1999-10-26 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/compile/991026-2.c: New test.
-Tue Oct 26 00:45:56 1999 Jeffrey A Law (law@cygnus.com)
+1999-10-26 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/991026-1.c: New test.
-Sat Oct 23 23:36:03 1999 Jeffrey A Law (law@cygnus.com)
+1999-10-23 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/991023-1.c: New test.
-Tue Oct 19 02:11:29 1999 Jeffrey A Law (law@cygnus.com)
+1999-10-19 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/991019-1.c: New test.
-Sat Oct 16 00:05:48 1999 Richard Henderson <rth@cygnus.com>
+1999-10-16 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/991016-1.c: New test.
-Thu Oct 14 04:22:47 1999 Stephane Carrez <stcarrez@worldnet.fr>
+1999-10-14 Stephane Carrez <stcarrez@worldnet.fr>
* gcc.c-torture/execute/991014-1.c: New test.
-Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+1999-10-13 J"orn Rennecke <amylaar@cygnus.co.uk>
* g++.old-deja/g++.other/union2.C: New test.
@@ -9827,12 +10809,12 @@ Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/execute/va-arg-11.c: New test.
-Fri Oct 1 00:53:17 1999 Mark P. Mitchell <mark@codesourcery.com>
+1999-10-01 Mark P. Mitchell <mark@codesourcery.com>
* lib/file-format.exp (gcc_target_object_format): Don't
crash if objdump is unavailable.
-Wed Sep 29 23:48:44 1999 Donn Terry <donn@interix.com>
+1999-09-29 Donn Terry <donn@interix.com>
* gcc.misc-tests/mg.exp: delete extraneous redirection.
@@ -9840,15 +10822,15 @@ Wed Sep 29 23:48:44 1999 Donn Terry <donn@interix.com>
* gcc.c-torture/compile/990928-1.c: New test.
-Tue Sep 28 13:19:15 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-28 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/decl6.C: New test.
-Tue Sep 28 01:19:09 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+1999-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/execute/va-arg-10.c: New test.
-Mon Sep 27 09:14:24 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-27 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.pt/memtemp77.C: Adjust expected
__PRETTY_FUNCTION__.
@@ -9866,7 +10848,7 @@ Mon Sep 27 09:14:24 BST 1999 Nathan Sidwell <nathan@acm.org>
* g++.dg/ecos.exp: Don't supply -finit-priority to cc1plus.
-Tue Sep 21 15:38:10 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-21 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/dyncast1.C: New test.
* g++.old-deja/g++.other/dyncast2.C: New test.
@@ -9888,25 +10870,25 @@ Tue Sep 21 15:38:10 BST 1999 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.eh/catch9.C: New test.
* g++.old-deja/g++.eh/catch9p.C: New test.
-Mon Sep 13 14:14:21 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-13 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/sizeof3.C: Remove XFAILS.
* g++.old-deja/g++.other/sizeof4.C: Remove XFAILS.
-Mon Sep 13 06:28:57 1999 Jeffrey A Law (law@cygnus.com)
+1999-09-13 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/990913-1.c: New test.
-Fri Sep 10 11:21:25 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-10 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.jason/rfg4.C: Revert erroneous change, add -w.
* g++.old-deja/g++.jason/rfg5.C: Likewise.
-Thu Sep 9 10:40:36 1999 Richard Henderson <rth@cygnus.com>
+1999-09-09 Richard Henderson <rth@cygnus.com>
* g++.old-deja/g++.other/delete6.C: Use size_t with operator new.
-Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-09 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/lookup11.C: New test.
* g++.old-deja/g++.bugs/900428_01.C: Rework now we understand
@@ -9920,7 +10902,7 @@ Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell <nathan@acm.org>
* gcc.c-torture/noncompile/noncompile.exp: Add poison-1.c.
* gcc.c-torture/noncompile/poison-1.c: New file.
-Wed Sep 8 09:39:56 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-08 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/sizeof3.C: New test.
* g++.old-deja/g++.other/sizeof4.C: New test.
@@ -9944,31 +10926,31 @@ Wed Sep 8 09:39:56 BST 1999 Nathan Sidwell <nathan@acm.org>
* g77.f-torture/noncompile/19990826-4.f: Clarify who wrote what.
-Fri Sep 3 10:39:38 BST 1999 Richard Earnshaw <rearnsha@arm.com>
+1999-09-03 Richard Earnshaw <rearnsha@arm.com>
* gcc.c-torture/execute/990827-1.c: Fix typo.
-Fri Sep 03 09:31:10 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-03 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/deref1.C: New test.
-Thu Sep 02 09:27:34 BST 1999 Nathan Sidwell <nathan@acm.org>
+1999-09-02 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/ambig2.C: New test.
* g++.old-deja/g++.other/cond5.C: New test.
* g++.old-deja/g++.other/lookup16.C: New test.
-Thu Sep 2 01:17:51 1999 Marc Espie <espie@cvs.openbsd.org>
+1999-09-02 Marc Espie <espie@cvs.openbsd.org>
* gcc.dg/980414-1.c: Fix assembler syntax to work with old
assemblers too.
-Tue Aug 31 17:57:49 1999 Jeffrey A Law (law@cygnus.com)
+1999-08-31 Jeffrey A Law (law@cygnus.com)
* lib/c-torture.exp: Avoid the "compare executables" optimization
when testing native.
-Sun Aug 29 14:35:41 1999 Jeffrey A Law (law@cygnus.com)
+1999-08-29 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990829-1.c: New test.
* gcc.c-torture/compile/990829-1.c: New test.
@@ -9987,7 +10969,7 @@ Sun Aug 29 14:35:41 1999 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.pt/memtemp90.C: Renamed from lss-010.C.
* g++.old-deja/g++.pt/memtemp91.C: Renamed from lss-011.C.
-Fri Aug 27 01:24:16 1999 Jeffrey A Law (law@cygnus.com)
+1999-08-27 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990827-1.c: New test.
@@ -10039,7 +11021,7 @@ Fri Aug 27 01:24:16 1999 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.other/local3.C: Removed XFAIL.
-Wed Aug 4 01:17:17 1999 Jeffrey A Law (law@cygnus.com)
+1999-08-04 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/970312-1.c: Delete duplicate test.
@@ -10047,7 +11029,7 @@ Wed Aug 4 01:17:17 1999 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.eh/spec6.C: Add more tests. Remove XFAILS.
-Wed Aug 4 01:17:17 1999 Jeffrey A Law (law@cygnus.com)
+1999-08-04 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990804-1.c: New test.
@@ -10065,13 +11047,13 @@ Wed Aug 4 01:17:17 1999 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.other/enum2.C: New test.
-Mon Aug 2 13:35:12 1999 Richard Henderson <rth@cygnus.com>
+1999-08-02 Richard Henderson <rth@cygnus.com>
Adapted from tests from Franz Sirl:
* gcc.c-torture/execute/va-arg-7.c: New test.
* gcc.c-torture/execute/va-arg-8.c: New test.
-Sun Aug 1 22:29:34 1999 Jeffrey A Law (law@cygnus.com)
+1999-08-01 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/990801-2.c: New test.
@@ -10089,7 +11071,7 @@ Sun Aug 1 22:29:34 1999 Jeffrey A Law (law@cygnus.com)
from fr1 to unknown_register, since fr1 is a legitimate register
on some machines.
-Sun Jul 25 21:41:37 1999 Jeffrey A Law (law@cygnus.com)
+1999-07-25 Jeffrey A Law (law@cygnus.com)
* README: More listname related changes.
@@ -10121,11 +11103,11 @@ Sun Jul 25 21:41:37 1999 Jeffrey A Law (law@cygnus.com)
* gcc.dg/special/ecos.exp: Remove definition of proc
gcc_target_object_format.
-Mon Jun 28 08:20:51 1999 Jeffrey A Law (law@cygnus.com)
+1999-06-28 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990628-1.c: New test.
-Fri Jun 25 05:28:40 1999 Jeffrey A Law (law@cygnus.com)
+1999-06-25 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/990625-2.c: New test.
@@ -10138,7 +11120,7 @@ Fri Jun 25 05:28:40 1999 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/dll.x: Only support the dll.c test on
ports that use the COFF/PE file format.
-Thu Jun 17 13:48:16 1999 Jeffrey A Law (law@cygnus.com)
+1999-06-17 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/990617-1.c: New test.
@@ -10154,7 +11136,7 @@ Thu Jun 17 13:48:16 1999 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.eh/catch1.C: New test.
-Mon Jun 7 23:39:16 1999 Jeffrey A Law (law@cygnus.com)
+1999-06-07 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.mike/p6610a.C: Expect failure on freebsd-elf.
@@ -10166,19 +11148,19 @@ Mon Jun 7 23:39:16 1999 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/19990502-0.f: Replace with new,
shorter, test that still fails after recent changes.
-Fri Jun 4 02:25:04 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+1999-06-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* gcc.c-torture/execute/990604-1.c: New test.
-Mon May 31 00:34:51 1999 Jeffrey A Law (law@cygnus.com)
+1999-05-31 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990531-1.c: New test.
-Thu May 27 02:38:36 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+1999-05-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/compile/990527-1.c: New test.
-Thu May 27 02:18:51 1999 Joern Rennecke <amylaar@cygnus.com>
+1999-05-27 Joern Rennecke <amylaar@cygnus.com>
* gcc.c-torture/execute/990527-1.c: New test.
@@ -10191,7 +11173,7 @@ Thu May 27 02:18:51 1999 Joern Rennecke <amylaar@cygnus.com>
* g77.f-torture/compile/19990525-0.f: New test.
-Tue May 25 01:21:16 1999 Jeffrey A Law (law@cygnus.com)
+1999-05-25 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990525-2.c: New test.
@@ -10206,17 +11188,17 @@ Tue May 25 01:21:16 1999 Jeffrey A Law (law@cygnus.com)
after downgrade to warning (cp/ChangeLog: 1999-05-20 Jason
Merrill).
-Mon May 24 00:01:52 1999 Jeffrey A Law (law@cygnus.com)
+1999-05-24 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990524-1.c: New test.
* gcc.dg/990524-1.c: New test.
-Sun May 23 21:18:12 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+1999-05-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/compile/990523-1.c: New test.
-Wed May 19 02:56:18 1999 Raja R Harinath <harinath@cs.umn.edu>
+1999-05-19 Raja R Harinath <harinath@cs.umn.edu>
* gcc.c-torture/compile/990519-1.c: New test.
@@ -10232,7 +11214,7 @@ Wed May 19 02:56:18 1999 Raja R Harinath <harinath@cs.umn.edu>
* gcc.dg/noreturn-1.c: New test.
-Thu May 13 02:02:46 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+1999-05-13 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* gcc.c-torture/execute/990513-1.c: New test.
@@ -10288,12 +11270,12 @@ Thu May 13 02:02:46 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* g77.f-torture/compile/19990502-0.f: New test.
-Sun May 2 01:38:50 1999 Craig Burley <craig@jcb-sc.com>
+1999-05-02 Craig Burley <craig@jcb-sc.com>
* g77.f-torture/execute/u77-test.f (main): Declare FTELL as
intrinsic.
-Sun May 2 01:13:37 1999 Craig Burley <craig@jcb-sc.com>
+1999-05-02 Craig Burley <craig@jcb-sc.com>
* g77.f-torture/execute/u77-test.f (main): List libU77
intrinsics not currently tested.
@@ -10302,12 +11284,12 @@ Sun May 2 01:13:37 1999 Craig Burley <craig@jcb-sc.com>
FTELL_subr, MCLOCK, MCLOCK8, and CPU_TIME.
Trim blanks off the ends of some printed strings.
-Sun May 2 00:06:45 1999 Craig Burley <craig@jcb-sc.com>
+1999-05-02 Craig Burley <craig@jcb-sc.com>
* g77.f-torture/execute/u77-test.f (main): Just warn about
FSTAT gid disagreement, as it's expected on some systems.
-Sat May 1 23:57:18 1999 Craig Burley <craig@jcb-sc.com>
+1999-05-01 Craig Burley <craig@jcb-sc.com>
* g77.f-torture/execute/u77-test.f: Generalize sum-checking to
use a new function, which allows for some slop.
@@ -10321,7 +11303,7 @@ Sat May 1 23:57:18 1999 Craig Burley <craig@jcb-sc.com>
libf2c/libU77 version, bringing patches to that version here.
Add suitable commentary.
-Sun Apr 25 12:28:59 1999 Richard Henderson <rth@cygnus.com>
+1999-04-25 Richard Henderson <rth@cygnus.com>
* gcc.dg/990424-1.c: New test.
@@ -10335,16 +11317,16 @@ Sun Apr 25 12:28:59 1999 Richard Henderson <rth@cygnus.com>
* g77.f-torture/compile/19990419-0.f: New test.
* g77.f-torture/execute/19990419-1.f: New test.
-Sat Apr 17 16:56:48 1999 Richard Henderson <rth@cygnus.com>
+1999-04-17 Richard Henderson <rth@cygnus.com>
* gcc.dg/uninit-9.c (func): Use __builtin_alloca instead of alloca
to avoid the need for a prototype to supress a warning.
-Wed Apr 7 23:08:59 1999 Jim Wilson <wilson@cygnus.com>
+1999-04-07 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/920501-7.c (main): Delete __I960__ ifndef.
-Sun Apr 4 04:02:53 1999 Jeffrey A Law (law@cygnus.com)
+1999-04-04 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990404-1.c: New test.
@@ -10355,12 +11337,12 @@ Sun Apr 4 04:02:53 1999 Jeffrey A Law (law@cygnus.com)
* gcc.misc-tests/m-un-2.c: Adjust regexps for new format of
missing initializer warnings.
-Sun Mar 28 00:49:41 1999 Jeffrey A Law (law@cygnus.com)
+1999-03-28 Jeffrey A Law (law@cygnus.com)
* lib/objc-torture.exp: Replace "77" with "Obj-C" in pattern
matching strings.
-Fri Mar 26 00:50:46 1999 Jeffrey A Law (law@cygnus.com)
+1999-03-26 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990326-1.c: New test from Charles Hannum.
@@ -10369,16 +11351,16 @@ Fri Mar 26 00:50:46 1999 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/execute/19990325-0.f: New test.
* g77.f-torture/execute/19990325-1.f: New test.
-Wed Mar 24 22:50:50 1999 Jeffrey A Law (law@cygnus.com)
+1999-03-24 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990324-1.c: New test.
-Mon Mar 22 14:55:58 1999 Jim Wilson <wilson@cygnus.com>
+1999-03-22 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/bf-sign-2.c (main): Replace struct sizeof
test with 4.
-Wed Mar 17 12:22:39 1999 Richard Henderson <rth@cygnus.com>
+1999-03-17 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/ieee/980619-1.x: New. Expected fail on x86.
@@ -10392,7 +11374,7 @@ Wed Mar 17 12:22:39 1999 Richard Henderson <rth@cygnus.com>
* g77.f-torture/execute/19990313-0.f: New test.
* g77.f-torture/execute/19990313-1.f: New test.
-Fri Mar 12 16:17:28 1999 Jim Wilson <wilson@cygnus.com>
+1999-03-12 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/970312-1.c, execute/980605-1.c (f): Change
printf to sprintf.
@@ -10431,7 +11413,7 @@ Fri Mar 12 16:17:28 1999 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/noncompile/noncompile.exp (951025-1.c): Accept an error
message on line 1 or line 2; cccp and cpplib do this differently.
-Mon Mar 1 23:29:14 1999 Jeffrey A Law (law@cygnus.com)
+1999-03-01 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.law/weak1.C: New test.
@@ -10457,7 +11439,7 @@ Mon Mar 1 23:29:14 1999 Jeffrey A Law (law@cygnus.com)
* lib/c-torture.exp: Add -O3 to TORTURE_OPTIONS list.
-Mon Feb 22 01:15:08 1999 Jeffrey A Law (law@cygnus.com)
+1999-02-22 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990222-1.c: New test.
@@ -10470,17 +11452,17 @@ Mon Feb 22 01:15:08 1999 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/19981216-0.f: New test.
-Sun Feb 14 01:26:29 1999 Jeffrey A Law (law@cygnus.com)
+1999-02-14 Jeffrey A Law (law@cygnus.com)
* gcc.dg/990214-1.c: New test.
-Sat Feb 13 00:43:52 1999 Jeffrey A Law (law@cygnus.com)
+1999-02-13 Jeffrey A Law (law@cygnus.com)
* gcc.dg/990213-2.c: New test.
* gcc.dg/990213-1.c: New test.
-Fri Feb 12 11:04:35 1999 Jeffrey A Law (law@cygnus.com)
+1999-02-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/990106-2.c: Update to work on targets with 16bit
ints.
@@ -10492,11 +11474,11 @@ Fri Feb 12 11:04:35 1999 Jeffrey A Law (law@cygnus.com)
* lib/chill.exp: Fix typo: doesn'timeout -> doesn't
-Thu Feb 11 01:12:12 1999 Jeffrey A Law (law@cygnus.com)
+1999-02-11 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990211-1.c: New test from Nathan SIdwell.
-Wed Feb 10 13:08:12 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
+1999-02-10 Jonathan Larmour <jlarmour@cygnus.co.uk>
* gcc.dg/special/ecos.exp: New test driver for new tests with
special requirements.
@@ -10513,7 +11495,7 @@ Wed Feb 10 13:08:12 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
* gcc.dg/special/wkali-2a.c: Accompanying file to wkali-2.c.
* gcc.dg/special/wkali-2b.c: Accompanying file to wkali-2.c.
-Wed Feb 10 12:15:35 1999 Felix Lee <flee@cygnus.com>
+1999-02-10 Felix Lee <flee@cygnus.com>
* lib/c-torture.exp (c-torture-compile): Pull out code for
analyzing gcc error messages.
@@ -10521,7 +11503,7 @@ Wed Feb 10 12:15:35 1999 Felix Lee <flee@cygnus.com>
positives.
* lib/gcc.exp (gcc_check_compile): New function.
-Mon Feb 8 21:42:57 1999 Richard Henderson <rth@cygnus.com>
+1999-02-08 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/990208-1.c: New test.
@@ -10542,7 +11524,7 @@ Mon Feb 8 21:42:57 1999 Richard Henderson <rth@cygnus.com>
* README: Add comment about g++.dg directory
-Sat Feb 6 18:00:38 1999 Jeffrey A Law (law@cygnus.com)
+1999-02-06 Jeffrey A Law (law@cygnus.com)
* README: Update email addresses.
@@ -10560,11 +11542,11 @@ Sat Feb 6 18:00:38 1999 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/memcheck/driver.c (main): Use exit or
abort to terminate program execution.
-Sat Jan 30 16:22:47 1999 Richard Henderson <rth@cygnus.com>
+1999-01-30 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/990130-1.c: New test.
-Sat Jan 30 11:10:06 1999 Jeffrey A Law (law@cygnus.com)
+1999-01-30 Jeffrey A Law (law@cygnus.com)
* gcc.dg/990130-1.c: New test.
@@ -10584,7 +11566,7 @@ Sat Jan 30 11:10:06 1999 Jeffrey A Law (law@cygnus.com)
positives.
* lib/gcc.exp (gcc_check_compile): new function.
-Sun Jan 17 00:02:33 1999 Jeffrey A Law (law@cygnus.com)
+1999-01-17 Jeffrey A Law (law@cygnus.com)
* gcc.dg/990117-1.c: New test.
@@ -10592,25 +11574,25 @@ Sun Jan 17 00:02:33 1999 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990117-1.c: New test from HJ Lu.
-Fri Jan 15 02:52:00 1999 Jeffrey A Law (law@cygnus.com)
+1999-01-15 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/990115-1.f: New test.
-Thu Jan 7 23:39:47 1999 Jeffrey A Law (law@cygnus.com)
+1999-01-07 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/990107-1.c: New test
-Wed Jan 6 02:21:59 1999 Jeffrey A Law (law@cygnus.com)
+1999-01-06 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/990106-2.c: New test.
* gcc.c-torture/execute/990106-1.c: New test.
-Wed Dec 30 23:05:28 1998 Zack Weinberg <zack@rabi.columbia.edu>
+1998-12-30 Zack Weinberg <zack@rabi.columbia.edu>
* gcc.c-torture/compile/981223-1.c: New test.
-Tue Dec 29 11:33:25 1998 Richard Henderson <rth@cygnus.com>
+1998-12-29 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/bcp-1.c (bad10): Rename from opt3.
(opt3): Rename from opt4 and disable.
@@ -10627,11 +11609,11 @@ Tue Dec 29 11:33:25 1998 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/920501-4.c (main): Fix typo: replace | with ||.
-Fri Dec 11 10:25:57 1998 Jeffrey A Law (law@cygnus.com)
+1998-12-11 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.benjamin/p12475.C: Expect failure on mips64 targets.
-Fri Dec 11 01:12:45 1998 Zack Weinberg <zack@rabi.columbia.edu>
+1998-12-11 Zack Weinberg <zack@rabi.columbia.edu>
* gcc.c-torture/compile/981211-1.c: New test.
@@ -10641,7 +11623,7 @@ Fri Dec 11 01:12:45 1998 Zack Weinberg <zack@rabi.columbia.edu>
* g++.old-deja/g++.pt/instantiate6.C: Linker error, not crash.
-Tue Dec 8 22:50:04 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+1998-12-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.special/930510-1.c: Make C9X safe.
* gcc.misc-tests/gcov-1.c Similarly.
@@ -10651,7 +11633,7 @@ Tue Dec 8 22:50:04 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.dg/ultrasp1.c: New test.
-Sun Dec 6 00:40:12 1998 Richard Henderson <rth@cygnus.com>
+1998-12-06 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/981206.c: New test.
@@ -10725,7 +11707,7 @@ Sun Dec 6 00:40:12 1998 Richard Henderson <rth@cygnus.com>
* g77.f-torture/execute/labug1.f: New test.
-Sat Nov 21 21:41:05 1998 Jeffrey A Law (law@cygnus.com)
+1998-11-21 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980526-1.c: Do nothing if NO_LABEL_VALUES
is defined.
@@ -10739,7 +11721,7 @@ Sat Nov 21 21:41:05 1998 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not
properly discarded.
-Sun Oct 11 05:04:28 1998 Ken Raeburn <raeburn@cygnus.com>
+1998-10-11 Ken Raeburn <raeburn@cygnus.com>
* gcc.c-torture/execute/memcheck: New directory of tests for
-fcheck-memory-usage.
@@ -10751,11 +11733,11 @@ Sun Oct 11 05:04:28 1998 Ken Raeburn <raeburn@cygnus.com>
* README.g++: Eliminate obsolete information, update and move most
relevant stuff to README.
-Sat Nov 7 02:55:55 1998 Richard Henderson <rth@cygnus.com>
+1998-11-07 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/compile/981107-1.c: New test.
-Mon Nov 2 11:16:03 1998 Doug Evans <devans@canuck.cygnus.com>
+1998-11-02 Doug Evans <devans@canuck.cygnus.com>
* execute/memcpy-bi.c: New testcase.
@@ -10786,15 +11768,15 @@ Mon Nov 2 11:16:03 1998 Doug Evans <devans@canuck.cygnus.com>
* lib/old-dejagnu.exp (old-dejagnu): Document `Additional sources'.
-Thu Oct 22 16:01:44 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+1998-10-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* compile/981022-1.c, compile/981022-1.x: New test and driver.
-Mon Oct 19 14:03:07 1998 Jeffrey A Law (law@cygnus.com)
+1998-10-19 Jeffrey A Law (law@cygnus.com)
* 981019-1.c: New test.
-Wed Oct 14 21:11:19 1998 Robert Lipe <robertl@dgii.com>
+1998-10-14 Robert Lipe <robertl@dgii.com>
* lib/objc-torture.exp (objc-torture-execute): Add -I so we can
find objc headers.
@@ -10864,11 +11846,11 @@ Wed Oct 14 21:11:19 1998 Robert Lipe <robertl@dgii.com>
* g++.old-deja/g++.ns/extern1.C: Fix XFAIL mark.
-Fri Oct 9 19:19:19 1998 Jeffrey A Law (law@cygnus.com)
+1998-10-09 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/special/920521-1.c: Fix bogus test.
-Thu Oct 8 19:14:05 1998 Nick Clifton <nickc@cygnus.com>
+1998-10-08 Nick Clifton <nickc@cygnus.com>
* gcc.dg/dll-?.c Add thumb to target list.
Fix assembler scan patterns to match current assembler output.
@@ -10888,7 +11870,7 @@ Thu Oct 8 19:14:05 1998 Nick Clifton <nickc@cygnus.com>
* g++.old-deja/g++.other/init7.C: New test. Retry initialization
of static locals if first initialization throws.
-Wed Oct 7 12:00:20 1998 Jim Wilson <wilson@cygnus.com>
+1998-10-07 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/compile/981007-1.c: New test for irix6 -O0 core dump.
@@ -10944,16 +11926,16 @@ Wed Oct 7 12:00:20 1998 Jim Wilson <wilson@cygnus.com>
* g++.old-deja/g++.other/typename1.C: New test; template-dependent
type name without `typename' should be rejected with -pedantic.
-Fri Oct 2 21:55:58 1998 Richard Henderson <rth@cygnus.com>
+1998-10-02 Richard Henderson <rth@cygnus.com>
* g++.old-deja/g++.other/addrof1.C: New test.
-Thu Oct 1 17:15:26 1998 Nick Clifton <nickc@cygnus.com>
+1998-10-01 Nick Clifton <nickc@cygnus.com>
* gcc.c-torture/compile/981001-1.c: New test.
* gcc.c-torture/execute/981001-1.c: New test.
-Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com)
+1998-10-01 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/981001-2.c: New test.
* gcc.c-torture/compile/981001-3.c: New test.
@@ -11036,50 +12018,50 @@ Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com)
(un)signed char are different types for template specialization
purposes.
-Thu Sep 3 00:40:32 1998 Ovidiu Predescu <ovidiu@aracnet.com>
+1998-09-03 Ovidiu Predescu <ovidiu@aracnet.com>
* lib/{objc.exp,objc-torture.exp}: New files for objc testing harness.
* objc: ObjC testsuite.
-Mon Aug 31 12:00:00 1998 Catherine Moore <clm@cygnus.com>
+1998-08-31 Catherine Moore <clm@cygnus.com>
* gcc.c-torture/execute/941014-1.x: New file.
-Mon Aug 31 15:19:32 1998 Nick Clifton <nickc@cygnus.com>
+1998-08-31 Nick Clifton <nickc@cygnus.com>
* lib/c-torture.exp: Add support for
torture_eval_before_compile and torture_eval_before_execute
variables.
-Sun Aug 30 17:38:20 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-30 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980626-1.c: Delete this test. We've declared the warning
this test triggers valid.
-Thu Aug 27 23:59:18 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-27 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980827-1.c: New test.
-Wed Aug 26 16:10:00 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+1997-08-26 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/execute/loop-4b.c: New test.
-Wed Aug 26 16:25:38 1998 Nick Clifton <nickc@cygnus.com>
+1998-08-26 Nick Clifton <nickc@cygnus.com>
* lib/c-torture.exp: Add support for
torture_eval_before_compile and torture_eval_before_execute
variables.
-Tue Aug 25 19:42:13 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-25 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/980825-1.c: New test.
-Mon Aug 24 14:20:32 1998 Nick Clifton <nickc@cygnus.com>
+1998-08-24 Nick Clifton <nickc@cygnus.com>
* gcc.c-torture/execute/bcp-1.c (main): Fix optimize test loop to
count number tests in opt_t0 not good_t0.
-Mon Aug 24 16:38:52 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-24 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/930326-1.x: Fix typo.
@@ -11088,7 +12070,7 @@ Mon Aug 24 16:38:52 1998 Jeffrey A Law (law@cygnus.com)
* lib/old-dejagnu.exp: Make it possible to XFAIL a test that
causes an ICE.
-Fri Aug 21 23:59:18 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-21 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/unsorted/memtst.c: Reduce size of array when
STACK_SIZE is defined.
@@ -11096,7 +12078,7 @@ Fri Aug 21 23:59:18 1998 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/980821-1.c: New test.
-Fri Aug 21 03:14:04 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-21 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980526-2.c: Disable for targets with 16bit ints.
@@ -11110,17 +12092,17 @@ Fri Aug 21 03:14:04 1998 Jeffrey A Law (law@cygnus.com)
* lib/old-dejagnu.exp: Revise handling of `Internal compiler
error'.
-Tue Aug 18 19:19:50 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-18 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/*.x: Some updates for the h8300 targets.
-Sun Aug 16 01:29:19 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-16 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/980816-1.c: New test.
* gcc.dg/980816-1.c: New test.
-Thu Aug 13 00:13:55 1998 Jeffrey A Law (law@cygnus.com)
+1998-08-13 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/ieee/ieee.exp: Pass -ffloat-store to
compiler for ieee tests.
@@ -11135,11 +12117,11 @@ Thu Aug 13 00:13:55 1998 Jeffrey A Law (law@cygnus.com)
-finstrument-functions.
* gcc.c-torture/special/special.exp: Run it.
-Wed Jul 29 00:17:18 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-29 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/980729-1.c: New test.
-Mon Jul 27 11:05:07 1998 Nick Clifton <nickc@cygnus.com>
+1998-07-27 Nick Clifton <nickc@cygnus.com>
* gcc.c-torture/execute/ieee/930529-1.c (main): Check to see if
__thumb__ is defined, and test for ARM style doubles if so.
@@ -11148,12 +12130,12 @@ Mon Jul 27 11:05:07 1998 Nick Clifton <nickc@cygnus.com>
* g77.f-torture/noncompile/980615-0.f: New test.
-Sun Jul 26 01:15:56 1998 H.J. Lu (hjl@gnu.org)
+1998-07-26 H.J. Lu (hjl@gnu.org)
* gcc.dg/980312-1.c: Do link instead of compile.
* gcc.dg/980313-1.c: Likewise.
-Sun Jul 26 01:05:02 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-26 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/980726-1.c: New test.
@@ -11161,26 +12143,26 @@ Sun Jul 26 01:05:02 1998 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/execute/io0.f: New test.
-Fri Jul 24 11:02:43 1998 Nick Clifton <nickc@cygnus.com>
+1998-07-24 Nick Clifton <nickc@cygnus.com>
* gcc.c-torture/execute/comp-goto-1.c (main): Make main() return
an int.
-Thu Jun 18 15:12:30 1998 Michael Meissner <meissner@cygnus.com>
+1998-06-18 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/980618-{1,2}.c: New tests that showed up
m32r bugs.
-Fri Jul 17 14:19:32 1998 Nick Clifton <nickc@cygnus.com>
+1998-07-17 Nick Clifton <nickc@cygnus.com>
* gcc.dg/980626-1.c: Expect failures for all toolchains until
c-decl.c:grokdeclarator can handle mode attributes.
-Thu Jul 16 21:42:50 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-16 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980716-1.c: New test.
-Mon Jul 13 22:26:37 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-13 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/920715-1.x: No longer expected to fail on
the mn10200.
@@ -11200,42 +12182,42 @@ Mon Jul 13 22:26:37 1998 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/execute/970816-3.f: New test from Craig.
-Fri Jul 10 23:43:33 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
+1998-07-10 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
* g++.other/singleton.C: Return error value instead of taking
SIGSEGV.
-Fri Jul 10 10:02:03 1998 Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
+1998-07-10 Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
* g++.other/singleton.C: New test. Warning is under dispute.
Runtime crash is not.
-Thu Jul 9 23:07:45 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
+1998-07-09 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
* g++.ns/{alias2.C, alias5.C, koenig4.C, lookup3.C ns13.C,
ns14.C, ns15.C, template3.C, undef1.C, using4.C, using5.C,
using6.C, using7.C}: New namespace tests.
-Thu Jul 9 22:44:49 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
+1998-07-09 Alexandre Oliva <oliva@dcc.unicamp.br>
* g++.old-deja/g++.other/partspec1.C: Test matching of partial
specialization with typedef'ed names used as array indexes.
-Thu Jul 9 00:38:51 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-09 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980709-1.c: New test.
* gcc.dg/980709-1.c: New test.
-Tue Jul 7 13:41:27 1998 Richard Henderson <rth@cygnus.com>
+1998-07-07 Richard Henderson <rth@cygnus.com>
* gcc.c-torture/execute/bcp-1.c: New test.
-Tue Jul 7 11:49:04 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-07 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980707-1.c: New test.
-Mon Jul 6 18:20:27 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
+1998-07-06 Kamil Iskra <iskra@student.uci.agh.edu.pl>
* gcc.c-torture/compile/980706-1.c: New test.
@@ -11244,13 +12226,13 @@ Mon Jul 6 18:20:27 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
* g77.f-torture/execute/980701-0.f,
g77.f-torture/execute/980701-1.f: New test from Craig.
-Wed Jul 1 00:52:51 1998 Jeffrey A Law (law@cygnus.com)
+1998-07-01 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/980701-1.c: New test.
* gcc.c-torture/execute/980701-1.c: New test.
-Tue Jun 30 11:51:42 1998 Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-ka
+1998-06-30 Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-ka
rlsruhe.de>
* g++.old-deja/g++.robertl/eb132.C: New test.
@@ -11265,7 +12247,7 @@ rlsruhe.de>
* g77.f-torture/execute/980628-3.f: Remove mail headers.
-Sun Jun 28 12:49:02 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-28 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/execute/980628-4.f: New test from Craig.
* g77.f-torture/execute/980628-5.f: Likewise.
@@ -11275,64 +12257,64 @@ Sun Jun 28 12:49:02 1998 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/execute/980628-3.f: Likewise.
* g77.f-torture/execute/980628-6.f: Likewise.
-Sun Jun 28 00:37:26 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-28 Jeffrey A Law (law@cygnus.com)
* lib/g77.exp (default_g77_version): Tweak to make it work in a build
directory when nothing has been installed yet.
-Sat Jun 27 23:23:18 1998 Carlo Wood <carlo@runaway.xs4all.nl>
+1998-06-27 Carlo Wood <carlo@runaway.xs4all.nl>
* gcc.c-torture/special/special.exp: Handle newer versions of
dejagnu.
-Fri Jun 26 17:57:40 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-26 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980626-1.c: New test.
-Fri Jun 19 23:26:12 1998 Bruno Haible <haible@ilog.fr>
+1998-06-19 Bruno Haible <haible@ilog.fr>
* gcc.misc-tests/m-un-2.c: New test.
* g++.old-deja/g++.other/warn01.c: Likewise.
-Fri Jun 19 14:06:36 1998 Robert Lipe <robertl@dgii.com>
+1998-06-19 Robert Lipe <robertl@dgii.com>
* gcc.dg/980414-1.c: Move comments outside of ASM to improve
compatibility with assmblers with a different comment character.
Eliminate use of GAS-specific extensions.
-Fri Jun 19 02:05:14 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-19 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/ieee/980619-1.c: New test.
-Fri Jun 19 00:58:11 1998 Robert Lipe <robertl@dgii.com>
+1998-06-19 Robert Lipe <robertl@dgii.com>
*lib/g77.exp: Replace search for libf2c.a with search for newly
renamed libg2c.a
-Wed Jun 17 18:53:12 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-17 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980617-1.c: New test.
-Fri Jun 12 01:08:49 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980612-1.c: New test.
-Mon Jun 8 02:13:42 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-08 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980523-1.c: Only test on ppc-linux.
* gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise.
* gcc.c-torture/execute/980608-1.c: New test.
-Fri Jun 5 21:54:26 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+1997-06-05 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/execute/980605-1.c: New test.
-Thu Jun 4 01:39:24 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-04 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980604-1.c: New test.
-Tue Jun 2 20:51:43 1998 Jeffrey A Law (law@cygnus.com)
+1998-06-02 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/980602-1.c: New test.
* gcc.c-torture/execute/980602-2.c: Likewise.
@@ -11341,17 +12323,17 @@ Tue Jun 2 20:51:43 1998 Jeffrey A Law (law@cygnus.com)
* 970125-0.f: Fix per JCB. Add commentary.
-Sun May 31 23:23:29 1998 Michael Meissner <meissner@cygnus.com>
+1998-05-31 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/ieee/mzero2.c: New test to better test
IEEE -0 support.
-Fri May 29 01:10:12 1998 Peter Leven <leven@lpr.e-technik.tu-muenchen.de>
+1998-05-29 Peter Leven <leven@lpr.e-technik.tu-muenchen.de>
* gcc.c-torture/execute/ieee/fp-cmp-1.c: Set up signal handler
earlier.
-Thu May 28 00:17:42 1998 Catherine Moore <clm@cygnus.com>
+1998-05-28 Catherine Moore <clm@cygnus.com>
* gcc.c-torture/execute/980526-3.c: New test.
@@ -11362,12 +12344,12 @@ Thu May 28 00:17:42 1998 Catherine Moore <clm@cygnus.com>
* g++.old-deja/g++.jason/thunk3.C: Add m68k-motorola-sysv and
m88k-motorola-sysv3 to XFAIL.
-Tue May 26 23:58:03 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+1998-05-26 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.dg/980526-1.c: New test.
* gcc.c-torture/execute/980526-2.c: New test.
-Tue May 26 23:40:40 1998 Jeffrey A Law (law@cygnus.com)
+1998-05-26 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980523-1.c: Change "ppc" to "powerpc".
@@ -11384,7 +12366,7 @@ Tue May 26 23:40:40 1998 Jeffrey A Law (law@cygnus.com)
* lib/old-dejagnu.exp: All tests fail if we got an internal compiler
error for the line. Don't run multiple tests for the same line.
-Sat May 23 23:27:10 1998 Jeffrey A Law (law@cygnus.com)
+1998-05-23 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980523-1.c: New test.
@@ -11396,15 +12378,15 @@ Sat May 23 23:27:10 1998 Jeffrey A Law (law@cygnus.com)
* lib/old-dejagnu.exp: Ignore C++ "instantiated from" mesages.
-Thu May 21 23:23:21 1998 Jeffrey A Law (law@cygnus.com)
+1998-05-21 Jeffrey A Law (law@cygnus.com)
* gcc.dg/980520-1.c: New test.
-Wed May 20 14:37:15 1998 Manfred Hollstein <manfred@s-direktnet.de>
+1998-05-20 Manfred Hollstein <manfred@s-direktnet.de>
* gcc.dg/980502-1.c: Fix return type.
-Wed May 20 11:29:48 1998 Jeffrey A Law (law@cygnus.com)
+1998-05-20 Jeffrey A Law (law@cygnus.com)
* gcc.dg/{980502-1.c, clobbers.c}: New tests.
* gcc.c-torture/compile/{980504-1.c, 980506-1.c}: Likewise.
@@ -11432,7 +12414,7 @@ Wed May 20 11:29:48 1998 Jeffrey A Law (law@cygnus.com)
g77.f-torture/execute/claus.f, g77.f-torture/execute/cabs.f: Call
abort where appropriate.
-Tue May 5 19:20:13 1998 Michael Meissner <meissner@cygnus.com>
+1998-05-05 Michael Meissner <meissner@cygnus.com>
* lib/c-torture.exp (TORTURE_OPTIONS): Add -Os to options.
* lib/f-torture.exp (TORTURE_OPTIONS): Ditto.
@@ -11455,34 +12437,34 @@ Tue May 5 19:20:13 1998 Michael Meissner <meissner@cygnus.com>
* g77.f-torture/compile/970125-0.f: New test.
* g77.f-torture/compile/980419-1.f: New test.
-Wed Apr 8 13:09:15 1998 Jim Wilson <wilson@cygnus.com>
+1998-04-08 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/980407-1.c: Delete test. Is duplicate
of loop-4.c.
-Tue Apr 7 12:01:24 1998 Jim Wilson <wilson@cygnus.com>
+1998-04-07 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/980407-1.c: New test from Joern Rennecke.
-Fri Apr 3 12:27:49 1998 Jim Wilson <wilson@cygnus.com>
+1998-04-03 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/compile/980329-1.c: New test.
-Wed Mar 18 16:22:22 1998 Jim Wilson <wilson@cygnus.com>
+1998-03-18 Jim Wilson <wilson@cygnus.com>
* gcc.dg/980313-1.c: New test for fp conditional move on PPro.
* gcc.dg/980312-1.c: Fix typo in -march command.
-Mon Mar 16 20:01:30 1998 H.J. Lu (hjl@gnu.org)
+1998-03-16 H.J. Lu (hjl@gnu.org)
* gcc.dg/980312-1.c: New test for fp conditional move on PPro.
-Wed Mar 11 13:08:48 1998 Robert Lipe <robertl@dgii.com>
+1998-03-11 Robert Lipe <robertl@dgii.com>
* g77.f-torture/execute/980310-5.f: Deleted. Craig Burley and
Dave Love agree the Fortran source is bogus.
-Wed Mar 11 00:03:49 1998 Robert Lipe <robertl@dgii.com>
+1998-03-11 Robert Lipe <robertl@dgii.com>
* g77.f-torture/compile/980310-1.f, g77.f-torture/compile/980310-2.f
g77.f-torture/compile/980310-3.f, g77.f-torture/compile/980310-4.f
@@ -11490,7 +12472,7 @@ Wed Mar 11 00:03:49 1998 Robert Lipe <robertl@dgii.com>
g77.f-torture/compile/980310-8.f: New tests from egcs-bugs archives.
* g77.f-torture/execute/980310-5.f: New test from egcs-bugs archives.
-Tue Mar 10 00:31:51 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
+1998-03-10 Alexandre Oliva <oliva@dcc.unicamp.br>
* g++.old-deja/g++.other/friend1.C: New test.
@@ -11499,16 +12481,16 @@ Tue Mar 10 00:31:51 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
* g77.f-torture/execute/dnrm2.f (dnrm2): Avoid uninitialized (and
possibly uninitialized) variables and declare dnrm2.
-Mon Feb 23 15:16:53 1998 Robert Lipe <robertl@dgii.com>
+1998-02-23 Robert Lipe <robertl@dgii.com>
From Bruno Haible <haible@ilog.fr>:
* gcc.c-torture/execute/980223.c: New test.
-Fri Feb 13 00:36:07 1998 Jeffrey A Law (law@cygnus.com)
+1998-02-13 Jeffrey A Law (law@cygnus.com)
* gcc.dg/ifelse-1.c: New test.
-Mon Feb 9 02:08:47 1998 H.J. Lu (hjl@gnu.org)
+1998-02-09 H.J. Lu (hjl@gnu.org)
* lib/g77.exp (g77_target_compile): Fix multilibs for libf2c.
@@ -11518,32 +12500,32 @@ Mon Feb 9 02:08:47 1998 H.J. Lu (hjl@gnu.org)
handling to be like "excess errors test fails".
* Update various tests accordingly.
-Fri Feb 6 14:30:48 1998 Jim Wilson <wilson@cygnus.com>
+1998-02-06 Jim Wilson <wilson@cygnus.com>
* gcc.c-torture/execute/980205.c: New test.
-Sun Jan 18 01:33:59 1998 Jeffrey A Law (law@cygnus.com)
+1998-01-18 Jeffrey A Law (law@cygnus.com)
* lib/c-torture.exp: Look for .x files instead of .cexp files.
* lib/f-torture.exp: Similarly.
* gcc.c-torture: Rename all .cexp files to .x files.
-Mon Dec 8 23:55:26 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+1997-12-08 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/noncompile/noncompile.exp (921102-1.c): Fixed comment.
(940510-1.c): Removed duplicate.
(971104-1.c): New test.
-Tue Nov 25 16:18:51 1997 Kate Hedstrom (kate@ahab.rutgers.edu)
+1997-11-25 Kate Hedstrom (kate@ahab.rutgers.edu)
* lib/f-torture.exp: Improve error and loop detection.
-Wed Nov 19 14:27:04 1997 Michael Meissner <meissner@cygnus.com>
+1997-11-19 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/950221-1.c (filler): If STACK_SIZE is defined,
use that to size the filler array.
-Fri Sep 26 10:50:53 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-09-26 Bob Manson <manson@charmed.cygnus.com>
* lib/c-torture.exp(c-torture-execute): Fix typo.
@@ -11551,57 +12533,57 @@ Fri Sep 26 10:50:53 1997 Bob Manson <manson@charmed.cygnus.com>
testcase as the executable name. Keep the executable around if
the test fails.
-Fri Sep 19 17:19:53 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-09-19 Bob Manson <manson@charmed.cygnus.com>
* lib/c-torture.exp (TORTURE_OPTIONS): Removed unnecessary
changes. Only test one -g option, and move it to the end of the
list of options to test.
-Fri Sep 19 17:58:00 1997 Michael Meissner <meissner@cygnus.com>
+1997-09-19 Michael Meissner <meissner@cygnus.com>
* lib/c-torture.exp (TORTURE_OPTIONS): Check for the environment
variable GCC_TORTURE_OPTIONS to supply default switches separated
by colons. If no environment variable, run tests with -O0 -g, -O1
-g, and -O2 -g as well.
-Wed Sep 17 10:12:26 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-09-17 Bob Manson <manson@charmed.cygnus.com>
* lib/plumhall.exp: Don't set PHSRC in this file. Add a few
explanatory comments. Fix indentation.
-Mon Sep 15 00:36:53 1997 Jeffrey A Law (law@cygnus.com)
+1997-09-15 Jeffrey A Law (law@cygnus.com)
* lib/g++.exp (g++_init): Look for xgcc in $basedir too.
-Thu Sep 11 13:54:47 1997 Jeffrey A Law (law@cygnus.com)
+1997-09-11 Jeffrey A Law (law@cygnus.com)
* g++.old-deja/g++.brendan/scope4.C: No longer expected to fail.
* g++.old-deja/g++.mike/p7325.C: Likewise.
* g++.old-deja/g++.mike/eh51.C: No longer expected to fail on the PA.
-Thu Sep 11 10:00:03 1997 Alexandre Oliva (oliva@dcc.unicamp.br)
+1997-09-11 Alexandre Oliva (oliva@dcc.unicamp.br)
* g++.old-deja/g++.brendan/crash20.C: Rework to avoid libg++.
* g++.old-deja/g++.brendan/crash30.C: Likewise.
* g++.old-deja/g++.brendan/crash39.C: Likewise.
* g++.old-deja/g++.law/operators4.C: Likewise.
-Thu Sep 11 09:53:40 1997 Joe Buck (jbuck@synopsys.com)
+1997-09-11 Joe Buck (jbuck@synopsys.com)
* g++.old-deja/g++.mike/p658.C: eliminate <bool.h> use.
* g++.old-deja/g++.mike/p784.C: Ditto.
* g++.old-deja/g++.mike/p785.C: Ditto.
-Fri Sep 5 00:21:42 1997 Jeffrey A Law (law@cygnus.com)
+1997-09-05 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/cbrt.c: Tweak to work on more targets.
-Wed Sep 3 17:29:35 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-09-03 Bob Manson <manson@charmed.cygnus.com>
* gcc.c-torture/execute/ieee/ieee.exp: Check for ieee_multilib_flags
target feature; pass this to c-torture-execute as needed.
-Wed Sep 3 17:15:00 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-09-03 Bob Manson <manson@charmed.cygnus.com>
* lib/c-torture.exp(c-torture-execute): If the previous and the
current executables being tested are identical, we don't need to
@@ -11609,15 +12591,15 @@ Wed Sep 3 17:15:00 1997 Bob Manson <manson@charmed.cygnus.com>
unique. Add an optional argument for passing additional compiler
flags.
-Tue Sep 2 16:34:31 1997 Doug Evans <dje@canuck.cygnus.com>
+1997-09-02 Doug Evans <dje@canuck.cygnus.com>
* lib/gcc-dg.exp (gcc-dg-test): Fix typos setting compile_type.
-Fri Aug 29 12:48:09 1997 Jeffrey A Law (law@cygnus.com)
+1997-08-29 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/921007-1.c: Make strcmp static.
-Thu Jul 31 12:17:24 1997 Jeffrey A Law (law@cygnus.com)
+1997-07-31 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/920501-9.c: Fix to work on targets with
32bit or larger longs.
@@ -11625,44 +12607,44 @@ Thu Jul 31 12:17:24 1997 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/961017-2.c: Fix to work on targets which
have either a 32bit long or 32bit int.
-Tue Jul 29 00:40:38 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+1997-07-29 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/execute/conversion.c (test_float_to_integer):
Make double precision tests dependent on sizeof (double).
-Wed Jul 9 15:15:40 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-07-09 Bob Manson <manson@charmed.cygnus.com>
* gcc.prms/5403.c: Allow CRLFs to occur at the start of the output
too.
-Tue Jun 17 22:11:16 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+1997-06-17 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/compile/961203-1.cexp: New script.
-Mon Jun 16 15:27:06 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-06-16 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp(g++_init): Use g++_include_flags instead of making
up the includes ourselves.
-Wed Jun 11 17:33:21 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-06-11 Bob Manson <manson@charmed.cygnus.com>
* lib/plumhall.exp: Remove random include, and add a few
verbose messages for debugging.
-Fri Jun 6 14:23:24 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-06-06 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp: Use g++_link_flags from libgloss.exp, instead
of trying to do it ourselves.
-Wed Jun 4 03:38:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+1997-06-04 J"orn Rennecke <amylaar@cygnus.co.uk>
* gcc.c-torture/execute/ieee/ieee.exp: Set -mieee for SH.
-Wed Jun 4 18:43:55 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-06-04 Bob Manson <manson@charmed.cygnus.com>
* gcc.prms/5403.c: Made regexp a bit less strict.
-Tue Jun 3 15:12:39 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-06-03 Bob Manson <manson@charmed.cygnus.com>
* lib/mike-gcc.exp: Don't use global exec_output anymore. Output
is returned from remote_load instead.
@@ -11671,30 +12653,30 @@ Tue Jun 3 15:12:39 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/old-dejagnu.exp: Ditto.
* lib/c-torture.exp: Ditto.
-Fri May 30 23:15:15 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-05-30 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp: Use build_wrapper procedure.
* lib/gcc.exp: Ditto.
-Tue May 20 15:23:27 1997 Jeffrey A Law (law@cygnus.com)
+1997-05-20 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/*.c: Include stdlib.h instead of using
an old-style decl for malloc. Fixes tests to work when
sizeof (int) != sizeof (size_t).
-Thu May 15 14:00:04 1997 Mike Meissner <meissner@cygnus.com>
+1997-05-15 Mike Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/va-arg-3.c: If NO_VARARGS is defined, nop test.
* gcc.c-torture/execute/strct-varg-1.c: If NO_VARARGS is defined,
use stdargs.h interface.
-Thu May 15 14:10:39 1997 Mike Meissner <meissner@cygnus.com>
+1997-05-15 Mike Meissner <meissner@cygnus.com>
* lib/gcc.exp (gcc_target_compile): If gcc,no_varargs, define
NO_VARARGS when compiling.
-Thu May 1 14:49:19 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-05-01 Bob Manson <manson@charmed.cygnus.com>
* lib/plumhall.exp(ph_includes): New procedure.
(ph_make): Use it.
@@ -11703,17 +12685,17 @@ Thu May 1 14:49:19 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp: Rename test-glue.c to testglue.c.
* lib/gcc.exp: Ditto.
-Thu Apr 10 14:50:26 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-04-10 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp(g++init): Don't try to be smart, always run g++_init
to completion when it's called.
-Fri Mar 21 16:34:52 1997 Michael Meissner <meissner@cygnus.com>
+1997-03-21 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/920501-7.c (main,x): If NO_LABELS_VALUES
is defined, don't do test.
-Thu Mar 20 09:50:32 1997 Doug Evans <dje@canuck.cygnus.com>
+1997-03-20 Doug Evans <dje@canuck.cygnus.com>
* lib/plumhall.exp (ph_make): Comment out errorCode=NONE test
for object files.
@@ -11723,7 +12705,7 @@ Thu Mar 20 09:50:32 1997 Doug Evans <dje@canuck.cygnus.com>
errorCode, record errorCode in log file.
(*): Replace send_log/verbose with verbose -log.
-Wed Mar 19 13:06:26 1997 Michael Meissner <meissner@cygnus.com>
+1997-03-19 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/ieee/rbug.c (main): Don't do long long to
double conversion if double isn't at least 8 bytes.
@@ -11735,7 +12717,7 @@ Wed Mar 19 13:06:26 1997 Michael Meissner <meissner@cygnus.com>
8 bytes, just exit, since 4 byte doubles don't have enough bits of
precision for the test to complete.
-Fri Mar 14 17:51:02 1997 Michael Meissner <meissner@cygnus.com>
+1997-03-14 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/920715-1.cexp (d10v-*-*): Expect to fail
if d10v is not compiled with the -mdouble64 flag.
@@ -11744,29 +12726,29 @@ Fri Mar 14 17:51:02 1997 Michael Meissner <meissner@cygnus.com>
* gcc.c-torture/execute/cvt-1.cexp (d10v-*-*): Expect to fail if
d10v is not compiled with the -mint32 flag.
-Thu Mar 13 16:09:28 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-03-13 Bob Manson <manson@charmed.cygnus.com>
* lib/plumhall.exp: Use incr_count.
-Wed Mar 12 10:01:33 1997 Jeffrey A Law (law@cygnus.com)
+1997-03-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture: Update to c-torture-1.45.
-Sun Feb 23 18:12:04 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-23 Bob Manson <manson@charmed.cygnus.com>
* lib/gcc.exp(gcc_init): Add args parameter (which will contain
the name of the expect testcase file).
* lib/g++.exp(g++_init): Ditto.
-Thu Feb 20 13:53:05 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-20 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp(g++_exit): $gluefile lives on the build, not
the host.
* lib/gcc.exp(gcc_exit): New procedure.
-Wed Feb 19 15:16:16 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-19 Bob Manson <manson@charmed.cygnus.com>
* g++.old-deja/g++.rfg/*: Added "Build don't link" and ERROR
specs where appropriate.
@@ -11777,7 +12759,7 @@ Wed Feb 19 15:16:16 1997 Bob Manson <manson@charmed.cygnus.com>
* Converted all non-old-style g++ testcases to old-style, and
moved into g++.old-deja.
-Fri Feb 14 11:46:46 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-14 Bob Manson <manson@charmed.cygnus.com>
* lib/old-dejagnu.exp(old-dejagnu): Add various "skip if"
options.
@@ -11787,17 +12769,17 @@ Fri Feb 14 11:46:46 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp(g++_init): Don't unset gluefile unless it exists.
-Thu Feb 13 17:30:46 1997 Michael Meissner <meissner@cygnus.com>
+1997-02-13 Michael Meissner <meissner@cygnus.com>
* lib/gcc.exp (gcc_target_compile): Add support for defining
NO_TRAMPOLINES and NO_LABEL_VALUES if the baseboard file indicates
the machine doesn't have those features.
-Tue Feb 11 12:57:11 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-11 Bob Manson <manson@charmed.cygnus.com>
* g++.law/operators4.exp: Don't use LIBS.
-Sat Feb 8 14:45:55 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-08 Bob Manson <manson@charmed.cygnus.com>
* g++.law/virtual1.exp: Don't use CXX_FLAGS.
@@ -11810,7 +12792,7 @@ Sat Feb 8 14:45:55 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/gcc.exp: Allow use of --tool_exec and --tool_opt.
-Fri Feb 7 12:55:45 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-07 Bob Manson <manson@charmed.cygnus.com>
* lib/old-dejagnu.exp: Use prune_warnings instead of
prune_system_crud.
@@ -11820,13 +12802,13 @@ Fri Feb 7 12:55:45 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp: Include both libstdc++ and libstdc++/stl.
-Fri Feb 7 10:41:53 1997 Jeffrey A Law (law@cygnus.com)
+1997-02-07 Jeffrey A Law (law@cygnus.com)
* 941014-2.c: Include stdlib.h
* 960327-1.c: Include stdio.h
* dbra.c, index-1.c: Don't assume ints are 32bits.
-Tue Feb 4 12:51:09 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-04 Bob Manson <manson@charmed.cygnus.com>
* lib/gcc.exp: Add gcc,stack_size target feature.
@@ -11838,12 +12820,12 @@ Tue Feb 4 12:51:09 1997 Bob Manson <manson@charmed.cygnus.com>
the correct include and link paths.
* g++.old-deja/old-deja.exp: Ditto.
-Mon Feb 3 19:00:07 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-03 Bob Manson <manson@charmed.cygnus.com>
* lib/g++.exp(g++_init): target_compile no longer returns the
filename of the result.
-Sun Feb 2 14:42:34 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-02 Bob Manson <manson@charmed.cygnus.com>
* gcc.misc-tests/gcov.exp: Add -nocomplain to the
call to glob.
@@ -11851,12 +12833,12 @@ Sun Feb 2 14:42:34 1997 Bob Manson <manson@charmed.cygnus.com>
* gcc.c-torture/special/special.exp: Change call to
gcc_target_compile to include the object file.
-Sun Feb 2 17:11:50 1997 Ian Lance Taylor <ian@cygnus.com>
+1997-02-02 Ian Lance Taylor <ian@cygnus.com>
* gcc.c-torture/special/special.exp: Correct misspelling in last
change.
-Sat Feb 1 12:34:23 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-02-01 Bob Manson <manson@charmed.cygnus.com>
* lib/plumhall.exp(ph_summary): Log the entire output of the
executable. Return -1 if there were any failures, 0 otherwise.
@@ -11864,17 +12846,17 @@ Sat Feb 1 12:34:23 1997 Bob Manson <manson@charmed.cygnus.com>
(ph_make): Clean up objects and executables that were built
if the tests succeeded.
-Thu Jan 30 13:45:56 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-01-30 Bob Manson <manson@charmed.cygnus.com>
* g++.old-deja/old-deja.exp: Add -L and -I flags so we include
libraries and includes in the build tree as appropriate.
-Wed Jan 29 17:19:34 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-01-29 Bob Manson <manson@charmed.cygnus.com>
* lib/c-torture.exp: Instead of looking for the global variable
NO_LONG_LONG, check to see if that's a feature of the target.
-Wed Jan 29 00:36:25 1997 Bob Manson <manson@charmed.cygnus.com>
+1997-01-29 Bob Manson <manson@charmed.cygnus.com>
* config/default.exp: Minimize. Delete the remainer of the files in
config; this functionality is now in devo/dejagnu/config.
@@ -11899,36 +12881,36 @@ Wed Jan 29 00:36:25 1997 Bob Manson <manson@charmed.cygnus.com>
lib/old-dejagnu.exp: Ditto.
lib/plumhall.exp: Ditto.
-Wed Jan 8 14:43:07 1997 Jim Wilson <wilson@cygnus.com>
+1997-01-08 Jim Wilson <wilson@cygnus.com>
* lib/plumhall.exp (ph_make): Use CFLAGS and ANSICFLAGS when linking.
(ph_linker): Likewise.
-Wed Nov 13 16:04:19 1996 Joern Rennecke <amylaar@cygnus.com>
+1996-11-13 Joern Rennecke <amylaar@cygnus.com>
* gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: Only use
MAP_ANON / MAP_ANONYMOUS if defined;
else try to map from /dev/zero .
-Tue Nov 12 23:30:12 1996 Jeffrey A Law (law@cygnus.com)
+1996-11-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: If MAP_ANON
isn't defined, then define it to MAP_ANONYMOUS.
-Tue Nov 12 11:57:49 1996 Jeffrey A Law (law@cygnus.com)
+1996-11-12 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture: Update to c-torture-1.42 release.
-Mon Nov 11 12:45:31 1996 Jeffrey A Law (law@cygnus.com)
+1996-11-11 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture: Update to c-torture-1.41 release.
-Sun Oct 27 18:56:18 1996 Jeffrey A Law (law@cygnus.com)
+1996-10-27 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/enum-1.c: New test. Will be in next
c-torture release.
-Thu Aug 15 11:09:36 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
+1996-08-15 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/gcc.exp (gcc_init): Always append the target_info to CFLAGS
and LDFLAGS. Fix second case to append the target_info ldflags
@@ -11940,31 +12922,31 @@ Thu Aug 15 11:09:36 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* config/proelf.exp: Load remote.exp and do `push_target hppro'.
(GDB): Fix relative path to go up another dir for finding gdb.
-Thu Aug 8 17:03:27 1996 Rob Savoye <rob@chinadoll.cygnus.com>
+1996-08-08 Rob Savoye <rob@chinadoll.cygnus.com>
* lib/gcc.exp(gcc_init): Set CFLAGS and LDFLAGS to their new
versions in the target_info array, if they don't exist.
-Fri Aug 2 15:39:03 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
+1996-08-02 Brendan Kehoe <brendan@lisa.cygnus.com>
* config/vx.exp (${tool}_load): Fix syntax of `$shell_id < 0'.
-Mon Jul 8 15:45:58 1996 Jim Wilson <wilson@cygnus.com>
+1996-07-08 Jim Wilson <wilson@cygnus.com>
* lib/g++.exp: Change all uses of $base_dir/ to $base_dir/../.
* lib/gcc.exp, lib/old-dejagnu.exp: Likewise.
-Mon Jul 1 15:53:00 1996 Bob Manson <manson@charmed.cygnus.com>
+1996-07-01 Bob Manson <manson@charmed.cygnus.com>
* lib/old-dejagnu.exp: Don't remove the output file before we've
actually tested it. Don't append pwd to the path of the executable
we're testing.
-Sun Jun 30 14:37:50 1996 Doug Evans <dje@canuck.cygnus.com>
+1996-06-30 Doug Evans <dje@canuck.cygnus.com>
* lib/g++.exp (default_g++_start): Don't pass LDFLAGS, LIBS if -c.
-Wed Jun 26 14:15:55 1996 Bob Manson <manson@charmed.cygnus.com>
+1996-06-26 Bob Manson <manson@charmed.cygnus.com>
* lib/old-dejagnu.exp (old-dejagnu): Add $tmpdir to specify a
temporary directory for compiler files, and set it to a default
@@ -11980,16 +12962,16 @@ Wed Jun 26 14:15:55 1996 Bob Manson <manson@charmed.cygnus.com>
the compiler writes the final output file as $output. Use $output
as the executable to be tested.
-Mon Jun 24 17:12:16 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
+1996-06-24 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp: Also add -Wl,-rpath,... for linux.
-Sat Jun 8 15:12:24 1996 Jeffrey A Law (law@cygnus.com)
+1996-06-08 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/execute/pending-1.c: New test. Still
pending in Tege's queue.
-Wed Apr 24 18:13:45 1996 Jim Wilson <wilson@chestnut.cygnus.com>
+1996-04-24 Jim Wilson <wilson@chestnut.cygnus.com>
* lib/plumhall.exp (ph_summary): Add arguments name and exec_status.
Add variables local_failcnt and local_unresolvedcnt. Call gcc_fail
@@ -11999,19 +12981,19 @@ Wed Apr 24 18:13:45 1996 Jim Wilson <wilson@chestnut.cygnus.com>
(ph_execute): Add new argument. Pass additional arguments to
ph_summary. Call gcc_fail is there is no execution output.
-Wed Apr 24 13:39:23 1996 Jeffrey A Law (law@cygnus.com)
+1996-04-24 Jeffrey A Law (law@cygnus.com)
* lib/plumhall.exp (proc_summary): Output relavent summary
lines into the log so specific failures in plumhall can be
investigated.
-Wed Apr 10 13:23:45 1996 Jeffrey A Law (law@cygnus.com)
+1996-04-10 Jeffrey A Law (law@cygnus.com)
* lib/c-torture.exp: Provide a default value for $NO_LONG_LONG.
(c-torture-execute): Don't try to execute tests which use
"long long" types if $NO_LONG_LONG is nonzero.
-Mon Apr 8 08:52:29 1996 Doug Evans <dje@canuck.cygnus.com>
+1996-04-08 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/execute/ieee/ieee.exp: Run c-torture-execute,
not c-torture.
@@ -12019,31 +13001,31 @@ Mon Apr 8 08:52:29 1996 Doug Evans <dje@canuck.cygnus.com>
* gcc.ieee: Move from here.
* gcc.c-torture/execute/ieee: To here.
-Tue Mar 26 23:41:18 1996 Jeffrey A Law (law@cygnus.com)
+1996-03-26 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture: Update to c-torture-1.41 release.
-Fri Mar 22 15:49:24 1996 Jeffrey A Law (law@cygnus.com)
+1996-03-22 Jeffrey A Law (law@cygnus.com)
* lib/c-torture.exp (c-torture-execute): Remove "$executable",
not "$output".
-Thu Mar 7 12:37:08 1996 Doug Evans <dje@charmed.cygnus.com>
+1996-03-07 Doug Evans <dje@charmed.cygnus.com>
* lib/gcc.exp (default_gcc_start): Don't pass $LDFLAGS $LIBS if
-c present.
-Sat Mar 2 22:36:37 1996 Jeffrey A Law (law@cygnus.com)
+1996-03-02 Jeffrey A Law (law@cygnus.com)
* config/proelf.exp: Handle connecting to a simulator.
-Wed Jan 31 00:58:15 1996 Jeffrey A Law (law@cygnus.com)
+1996-01-31 Jeffrey A Law (law@cygnus.com)
* config/proelf.exp: New file. Enough framework that we can
run c-torture tests on the proelf targets (or any other target
that gdb can connect to for that matter).
-Mon Jan 29 08:57:46 1996 Doug Evans <dje@canuck.cygnus.com>
+1996-01-29 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/special/special.exp: Delete libs arg to dg-runtest.
* gcc.ph/testing/limits/limits.exp: Likewise. Don't pass $CFLAGS.
@@ -12051,7 +13033,7 @@ Mon Jan 29 08:57:46 1996 Doug Evans <dje@canuck.cygnus.com>
* lib/plumhall.exp (ph_execute): Always call ph_summary if
exec_output exists.
-Sun Jan 28 11:28:43 1996 Doug Evans <dje@charmed.cygnus.com>
+1996-01-28 Doug Evans <dje@charmed.cygnus.com>
* config/sim.exp (SIM_TIME_LIMIT): New user settable variable.
(${tool}_load): Use 240 seconds if SIM_TIME_LIMIT not set.
@@ -12063,7 +13045,7 @@ Sun Jan 28 11:28:43 1996 Doug Evans <dje@charmed.cygnus.com>
${tool}_load.
* lib/chill.exp (verbose): Delete.
-Sat Jan 27 12:28:07 1996 Doug Evans <dje@charmed.cygnus.com>
+1996-01-27 Doug Evans <dje@charmed.cygnus.com>
* lib/gcc.exp (default_gcc_start): Change order of args to
$LDFLAGS $CFLAGS $LIBS.
@@ -12079,7 +13061,7 @@ Sat Jan 27 12:28:07 1996 Doug Evans <dje@charmed.cygnus.com>
* lib/dg.exp: Deleted, moved to dejagnu/lib.
-Wed Jan 24 18:37:00 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
+1996-01-24 Brendan Kehoe <brendan@lisa.cygnus.com>
* g++.old-deja/old-deja.exp: Add passing of $mathlib to old-dejagnu.
@@ -12089,28 +13071,28 @@ Wed Jan 24 18:37:00 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp (g++_init): Take out use of -rpath for the sun4, not
necessary.
-Sat Jan 20 17:22:08 1996 Brendan Kehoe <brendan@cygnus.com>
+1996-01-20 Brendan Kehoe <brendan@cygnus.com>
* g++.old-deja/old-deja.exp: Move setting of runshlib out of the
global for loop; add use of $mathlib.
* lib/old-dejagnu.exp (old-dejagnu-init): Put the runshlib
settings here; set mathlib for anything but VxWorks.
-Mon Jan 22 16:31:57 1996 Jeffrey A Law (law@cygnus.com)
+1996-01-22 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture: Update to c-torture-1.40 release.
-Wed Jan 3 00:54:33 1996 Jeffrey A Law (law@cygnus.com)
+1996-01-03 Jeffrey A Law (law@cygnus.com)
* gcc.ph/testing/limits/limits.exp: Load ${tool}-dg.exp, not
dg.exp.
-Sun Dec 3 16:17:42 1995 Jeffrey A. Law <law@sethra.cygnus.com>
+1995-12-03 Jeffrey A. Law <law@sethra.cygnus.com>
* lib/c-torture.exp (c-torture-execute): Declare "output" as
global.
-Fri Nov 17 20:01:19 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-11-17 Doug Evans <dje@canuck.cygnus.com>
* lib/g++.exp (LIBS): Define if not already.
* lib/gcc-dg.exp (gcc-dg-test): Set executable file as a.out.
@@ -12119,28 +13101,28 @@ Fri Nov 17 20:01:19 1995 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/special (921210-1.c): Call prune_system_crud and
prune_gcc_output.
-Thu Nov 16 09:15:40 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-11-16 Doug Evans <dje@canuck.cygnus.com>
* lib/c-torture.exp (c-torture-compile): Fix calls to `unsupported'.
(c-torture-execute): Likewise. Rename `name' to `testcase'.
-Wed Nov 15 23:04:36 1995 Jeffrey A Law (law@cygnus.com)
+1995-11-15 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture: Update to c-torture-1.39 release.
-Sat Nov 4 12:52:05 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-11-04 Doug Evans <dje@canuck.cygnus.com>
* lib/c-torture.exp (c-torture-execute): Don't return if one option
fails, try others as well.
-Thu Nov 2 09:28:35 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-11-02 Doug Evans <dje@canuck.cygnus.com>
* lib/c-torture.exp (c-torture-execute): This proc's result is `void'.
If compilation fails, mark execute tests as `untested'.
If test is marked as unsupported, don't mark compilation and
execute tests as failed.
-Wed Oct 25 20:57:55 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-10-25 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp (g++_init): Don't link in libg++, and look to
libstdc++ for whether or not we want to be doing shared
@@ -12148,47 +13130,47 @@ Wed Oct 25 20:57:55 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/mike-g++.exp (postbase): Don't link in libg++.
* g++.old-deja/old-deja.exp: Likewise.
-Mon Oct 23 13:05:11 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-10-23 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp (CXX): Default to run `c++' instead of `g++'.
-Tue Oct 17 15:24:47 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-10-17 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp (g++_init): Also check for libg++.sl for the hppa.
For that, add `-Wl,-a,shared_archive'.
* g++.old-deja/old-deja.exp: Likewise.
-Tue Oct 17 13:09:06 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-10-17 Doug Evans <dje@canuck.cygnus.com>
* lib/c-torture.exp (c-torture-execute): Ensure CFLAGS restored.
-Mon Oct 16 23:13:32 1995 Brendan Kehoe <brendan@cygnus.com>
+1995-10-16 Brendan Kehoe <brendan@cygnus.com>
* lib/mike-g++.exp (postbase): Pay attention to the status of
g++_load.
-Mon Oct 16 19:28:32 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-10-16 Brendan Kehoe <brendan@lisa.cygnus.com>
* g++.old-deja/old-deja.exp: Add $LIBS at the end of the args.
-Mon Oct 16 13:48:58 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-10-16 Doug Evans <dje@canuck.cygnus.com>
* lib/gcc.exp (default_gcc_start): No longer need to log program
being executed or its output, execute_anywhere does that now.
* lib/g++.exp (default_g++_version): Call execute_anywhere.
(default_g++_start): Likewise. Delete calls to verbose/send_log.
-Thu Oct 12 10:34:58 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-10-12 Brendan Kehoe <brendan@lisa.cygnus.com>
* g++.old-deja/old-deja.exp: Updated the shared libg++ tests to be
the same as those in lib/g++.exp.
-Tue Oct 10 13:47:27 1995 Jeff Law (law@hurl.cygnus.com)
+1995-10-10 Jeff Law (law@hurl.cygnus.com)
* gcc.c-torture: Update to c-torture-1.38 release.
* gcc.ieee: Related changes.
-Fri Oct 6 12:39:17 1995 Rob Savoye <rob@darkstar.cygnus.com>
+1995-10-06 Rob Savoye <rob@darkstar.cygnus.com>
* mike-gcc.exp, mike-g++.exp: Use "execute_anywhere" rather than
"exec". Minor reformatting changes.
@@ -12204,41 +13186,41 @@ Fri Oct 6 12:39:17 1995 Rob Savoye <rob@darkstar.cygnus.com>
Use execute_anywhere rather than calling exec directly. Now it
works for canadian cross testing.
-Thu Oct 5 10:06:45 1995 Brendan Kehoe <brendan@rtl.cygnus.com>
+1995-10-05 Brendan Kehoe <brendan@rtl.cygnus.com>
* lib/g++.exp: Add -nocomplain flag to glob. Use catch to put the
results into a variable, and check that rather than using file exists.
-Wed Oct 4 16:31:02 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-10-04 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp: Use glob to see libg++.so.2.7.0, since sun4 doesn't
create a libg++.so. For sunos4.1.*, also add -ltermcap.
-Tue Sep 26 10:15:14 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-26 Brendan Kehoe <brendan@lisa.cygnus.com>
* g++.old-deja/old-deja.exp: Create and pass runshlib and
lib_curses if there's a shared libg++ in the build tree.
-Fri Sep 22 10:47:24 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-09-22 Doug Evans <dje@canuck.cygnus.com>
* lib/mike-{gcc,g++}.exp (postbase): Restore CFLAGS, CXX_FLAGS, LIBS
if not supported target.
-Fri Sep 22 09:22:07 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-22 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp (g++_init): Move empty setting of runshlib and
link_curses up to always happen, not just for native builds.
-Thu Sep 21 10:23:32 1995 Jeff Law (law@snake.cs.utah.edu)
+1995-09-21 Jeff Law (law@snake.cs.utah.edu)
* gcc.c-torture: Update to c-torture-1.36 release.
* gcc.failure: Related changes.
-Wed Sep 20 10:56:26 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-09-20 Doug Evans <dje@canuck.cygnus.com>
* lib/plumhall.exp (PHSRC, PHDST): Allow config files to override.
-Tue Sep 19 17:26:07 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-19 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/g++.exp (g++_init): Put the shared and math lib stuff in here.
* lib/mike-g++.exp (postbase): Not in here. Still reference
@@ -12248,33 +13230,33 @@ Tue Sep 19 17:26:07 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
pass the runtime shared library options for Solaris, OSF/1, and
Irix5, and link with -lcurses to avoid unresolved references.
-Wed Sep 13 15:28:10 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-13 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/gcc.exp (gcc_init): Return if gcc_initialized is 1, so we
only run once.
-Wed Sep 13 10:51:52 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-09-13 Doug Evans <dje@canuck.cygnus.com>
* lib/c-torture.exp (c-torture-compile): Don't alter CFLAGS.
-Mon Sep 11 11:02:03 1995 Jeff Law (law@snake.cs.utah.edu)
+1995-09-11 Jeff Law (law@snake.cs.utah.edu)
* gcc.c-torture: Update to c-torture-1.35 release. Note we
do not have a framework for the "compat" tests yet.
-Sat Sep 9 16:15:20 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-09 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/mike-g++.exp (postbase): New local variable `mathlib',
set to null if we're testing vxworks5.1. Use that instead of
`-lm' in the setting of LIBS for link and run.
-Fri Sep 8 13:53:38 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-08 Brendan Kehoe <brendan@lisa.cygnus.com>
* config/rom68k.exp (${tool}_load): Major changes to make it
work. Verified that it does in fact return the stuff in
exec_output properly. Catch any Emul or any TRAP other than 0.
-Thu Sep 7 23:04:06 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-09-07 Brendan Kehoe <brendan@lisa.cygnus.com>
* lib/mike-g++.exp (prebase): Call g++_init at the end to set
LDFLAGS properly for targets that need stuff from libgloss.
@@ -12282,7 +13264,7 @@ Thu Sep 7 23:04:06 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
only run once.
(gpp_initialized): New variable.
-Wed Sep 6 21:56:13 1995 Rob Savoye <rob@darkstar.cygnus.com>
+1995-09-06 Rob Savoye <rob@darkstar.cygnus.com>
* config/rom68k.exp: Load libgloss.exp.
* lib/gcc.exp (gcc_init): get proper flags for newlib and libgloss
@@ -12290,7 +13272,7 @@ Wed Sep 6 21:56:13 1995 Rob Savoye <rob@darkstar.cygnus.com>
* lib/g++.exp (g++_init): get proper flags for newlib and libgloss
so we can produce a fully linked binary.
-Sun Sep 3 13:25:26 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-09-03 Doug Evans <dje@canuck.cygnus.com>
* lib/plumhall.exp (ph_section): Watch for expected failures.
Add missing `else'.
@@ -12299,7 +13281,7 @@ Sun Sep 3 13:25:26 1995 Doug Evans <dje@canuck.cygnus.com>
run the testcase.
(c-torture): Likewise.
-Mon Aug 28 11:23:38 1995 Doug Evans <dje@cygnus.com>
+1995-08-28 Doug Evans <dje@cygnus.com>
* gcc.dg/dg.exp (scan-assembler, scan-assembler-not): New procs.
@@ -12315,12 +13297,12 @@ Mon Aug 28 11:23:38 1995 Doug Evans <dje@cygnus.com>
* lib/plumhall.exp (ph_execute): Only call ph_summary if
execution "succeeded".
-Mon Aug 14 14:03:53 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-08-14 Doug Evans <dje@canuck.cygnus.com>
* config/win32.exp: New file.
* lib/c-torture.exp (c-torture-execute): Handle $exe_ext.
-Fri Aug 4 15:39:54 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-08-04 Doug Evans <dje@canuck.cygnus.com>
* lib/gcc-dg.exp (gcc-dg-prune): Mark testcases that fill ram as
unsupported.
@@ -12333,7 +13315,7 @@ Fri Aug 4 15:39:54 1995 Doug Evans <dje@canuck.cygnus.com>
prune_system_crud.
* lib/old-dejagnu.exp (old-dejagnu): Likewise.
-Tue Aug 1 11:09:33 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-08-01 Doug Evans <dje@canuck.cygnus.com>
* gcc.misc-tests/{acker1.c,dhry.c,dhry.h,matrix1.c,optbench.c,
sieve.c,sort2.c}: New files.
@@ -12349,73 +13331,73 @@ Tue Aug 1 11:09:33 1995 Doug Evans <dje@canuck.cygnus.com>
* config/sh.exp: Deleted (use sim.exp instead).
-Fri Jul 28 11:33:46 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-07-28 Brendan Kehoe <brendan@lisa.cygnus.com>
* config/vx.exp: Declare CHECKTASK as global.
* config/vxworks29k.exp: Reduce to only set CHECKTASK, and load vx.exp.
* lib/mike-g++.exp: Load [pwd]/a.out, not `./a.out'.
* lib/old-dejagnu.exp: Load [pwd]/$executable.
-Wed Jul 26 19:45:39 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+1995-07-26 Brendan Kehoe <brendan@lisa.cygnus.com>
* config/vxworks29k.exp: New file, for the a29k-vxworks5.1
target. Like vx.exp, only includes `vx29k.exp' instead of
`vxworks.exp'.
-Sun Jul 23 17:38:52 1995 Ian Lance Taylor <ian@cygnus.com>
+1995-07-23 Ian Lance Taylor <ian@cygnus.com>
* config/sim.exp: Increase time limit from 120 seconds to 240.
-Thu Jul 6 11:07:38 1995 Jeffrey A. Law <law@rtl.cygnus.com>
+1995-07-06 Jeffrey A. Law <law@rtl.cygnus.com>
* gcc.c-torture/execute/950628-1.c: New test.
-Sat Jun 10 18:51:41 1995 Jeff Law (law@snake.cs.utah.edu)
+1995-06-10 Jeff Law (law@snake.cs.utah.edu)
* gcc.c-torture: Update with changes/additions from
c-torture-1.34.
-Mon Jun 5 17:58:07 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-06-05 Doug Evans <dje@canuck.cygnus.com>
* gcc.prms/prms.exp: Pass LDFLAGS to dg-test.
-Sun Jun 4 05:13:57 1995 Jeff Law (law@snake.cs.utah.edu)
+1995-06-04 Jeff Law (law@snake.cs.utah.edu)
* gcc.c-torture/compile/funcptr-1.c: Test case for 7107.
-Thu Jun 1 00:06:19 1995 Jeff Law (law@snake.cs.utah.edu)
+1995-06-01 Jeff Law (law@snake.cs.utah.edu)
* gcc.c-torture/compile/950512-1.c: New test.
* gcc.c-torture/execute/strct-pack-4.c, strct-pack-5.c}: Likewise.
* gcc.dg/struct-ret-1.c: Likewise.
-Wed May 31 14:25:13 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-05-31 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/execute/{920410-1.c,921113-1.c,921208-2.c,
930106-1.c,memcpy-1.c}: Use STACK_SIZE if defined.
-Tue May 30 11:19:54 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-05-30 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/special/920411-1.c: Deleted.
* gcc.c-torture/special/special.exp: Delete 920411-1.c.
-Mon May 22 16:55:11 1995 Doug Evans <dje@chestnut.cygnus.com>
+1995-05-22 Doug Evans <dje@chestnut.cygnus.com>
* config/sim.exp (${tool}_load): Hack in call to bash to get a
cpu limit.
-Fri May 12 18:57:54 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
+1995-05-12 Torbjorn Granlund <tege@rtl.cygnus.com>
* gcc.c-torture/execute/{950511-1.c,950512-1.c}: New tests.
-Thu May 4 14:23:54 1995 Torbjorn Granlund <tege@adder.cygnus.com>
+1995-05-04 Torbjorn Granlund <tege@adder.cygnus.com>
From kenner;
* gcc.c-torture/execute/va-arg-2.c (f[0-9], f1[0-5]): Verify format
is the proper length.
* va-arg-3.c: Likewise.
-Sun Apr 30 16:02:59 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-04-30 Doug Evans <dje@canuck.cygnus.com>
* lib/dg.exp: Moved to dejagnu/lib. Copy kept here (for awhile).
* lib/gcc-dg.exp: New file, gcc interface to dg.exp.
@@ -12423,56 +13405,56 @@ Sun Apr 30 16:02:59 1995 Doug Evans <dje@canuck.cygnus.com>
* lib/gcc.exp (default_gcc_start): Delete old cruft. Delete result.
* lib/g++.exp (default_g++_start): Delete old cruft.
-Tue Apr 25 17:20:18 1995 Torbjorn Granlund <tege@cygnus.com>
+1995-04-25 Torbjorn Granlund <tege@cygnus.com>
* gcc.c-torture/execute/memcpy-1.c: Decrease stack requirements from
(2 * (1 << 18)) to (2 * (1 << 17)).
* gcc.c-torture/execute/arith-rand.c: Avoid -0x80000000/-1.
-Thu Apr 20 12:21:13 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+1995-04-20 J.T. Conklin <jtc@rtl.cygnus.com>
* config/rom68k.exp: Renamed from config/idp.exp
-Tue Apr 18 13:33:26 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
+1995-04-18 Torbjorn Granlund <tege@rtl.cygnus.com>
* c-torture/compile/921109-2.c
-Tue Apr 18 10:45:12 1995 Mike Stump <mrs@cygnus.com>
+1995-04-18 Mike Stump <mrs@cygnus.com>
* lib/old-dejagnu.exp: We expect Execution test failure if we expected
excess errors.
-Sat Apr 15 11:16:58 1995 Doug Evans <dje@chestnut.cygnus.com>
+1995-04-15 Doug Evans <dje@chestnut.cygnus.com>
* lib/gcc.exp (default_gcc_start): Handle leading "-" in compiler
output.
* lib/g++.exp (default_g++_start): Likewise.
-Wed Mar 29 16:34:03 1995 Torbjorn Granlund <tege@adder.cygnus.com>
+1995-03-29 Torbjorn Granlund <tege@adder.cygnus.com>
* gcc.c-torture/compile/950329-1.c: New test.
-Tue Mar 28 16:10:33 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+1995-03-28 J.T. Conklin <jtc@rtl.cygnus.com>
* config/bug.exp (${tool}_load): Updated to use new remote_open
and remote_close procs.
* config/idp.exp: New file.
-Wed Mar 22 15:01:58 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
+1995-03-22 Torbjorn Granlund <tege@rtl.cygnus.com>
* gcc.c-torture/execute/950322-1.c: New test.
-Tue Mar 21 21:24:49 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-03-21 Doug Evans <dje@canuck.cygnus.com>
* config/vx.exp (${tool}_load): Clean up testing of return code from
vxworks_ld and vxworks_spawn.
-Tue Mar 21 17:01:42 1995 Doug Evans <dje@deneb.cygnus.com>
+1995-03-21 Doug Evans <dje@deneb.cygnus.com>
* lib/c-torture.exp (c-torture-execute): Pass same text to pass/fail.
-Mon Mar 13 14:49:42 1995 Mike Stump <mrs@cygnus.com>
+1995-03-13 Mike Stump <mrs@cygnus.com>
* lib/old-deja.exp: Add `excess errors test - ' error, now one
can mark excess errors on a machine by machine basis. Note, the
@@ -12482,12 +13464,12 @@ Mon Mar 13 14:49:42 1995 Mike Stump <mrs@cygnus.com>
mips-*-* alpha-*-* m68k-*-* is how to expect excess errors on
those 4 machines, but no others.
-Fri Mar 10 12:33:04 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+1995-03-10 J.T. Conklin <jtc@rtl.cygnus.com>
* gcc.c-torture/execute/execute.exp (c-torture-execute): from here.
* lib/c-torture.exp: to here.
-Fri Mar 10 10:38:15 1995 Torbjorn Granlund <tege@adder.cygnus.com>
+1995-03-10 Torbjorn Granlund <tege@adder.cygnus.com>
* gcc.c-torture/execute/950221-1.c: New test.
* gcc.c-torture/execute/struct-ret-1.c: New test.
@@ -12495,12 +13477,12 @@ Fri Mar 10 10:38:15 1995 Torbjorn Granlund <tege@adder.cygnus.com>
* gcc.c-torture/execute/941101-1.c (f): Fix typo, == was !=.
-Fri Mar 3 16:28:35 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-03-03 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/execute/arith-1.c (main): Return 0.
* gcc.c-torture/execute/arith-rand.c (main): Return 0.
-Wed Mar 1 02:08:29 1995 Gerald Baumgartner (gb@lorenzo.cs.purdue.edu)
+1995-03-01 Gerald Baumgartner (gb@lorenzo.cs.purdue.edu)
* g++.gb: New directory of tests, derived from my signature and
class scoping tests.
@@ -12533,16 +13515,16 @@ Wed Mar 1 02:08:29 1995 Gerald Baumgartner (gb@lorenzo.cs.purdue.edu)
* g++.gb/README: New file, explains what these tests are about.
-Tue Feb 28 10:37:52 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-02-28 Doug Evans <dje@canuck.cygnus.com>
* lib/dg.exp (dg-do): Support `preprocess'.
(dg-test): Likewise.
-Mon Feb 13 15:18:10 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+1995-02-13 J.T. Conklin <jtc@rtl.cygnus.com>
* config/udi.exp: change "continue -expect" to "exp_continue".
-Sat Feb 11 00:25:20 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
+1995-02-11 Torbjorn Granlund (tege@tiny.cygnus.com)
* gcc.c-torture/execute/{921025-1.c, 930525-1.c}:
Delete redundant tests.
@@ -12577,23 +13559,23 @@ Sat Feb 11 00:25:20 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
* gcc.c-torture/compile/920902-1.c: Delete 2:nd parameter.
-Wed Feb 8 15:30:17 1995 Jason Merrill <jason@phydeaux.cygnus.com>
+1995-02-08 Jason Merrill <jason@phydeaux.cygnus.com>
* lib/mike-g++.exp: Add -lm to LIBS.
-Tue Feb 7 17:09:50 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-02-07 Doug Evans <dje@canuck.cygnus.com>
* lib/c-torture.exp (c-torture): Allow relative pathname in $srcdir.
-Mon Jan 30 14:33:25 1995 Jason Merrill <jason@phydeaux.cygnus.com>
+1995-01-30 Jason Merrill <jason@phydeaux.cygnus.com>
* lib/mike-g++.exp: Add -lstdc++ to LIBS.
-Thu Jan 12 16:41:34 1995 Doug Evans <dje@canuck.cygnus.com>
+1995-01-12 Doug Evans <dje@canuck.cygnus.com>
* gcc.misc-tests/dg-test.exp: Only run if $DG_TEST=yes.
-Mon Jan 2 11:50:10 1995 Jeff Law (law@snake.cs.utah.edu)
+1995-01-02 Jeff Law (law@snake.cs.utah.edu)
* g++.law/{arg9.C, arg10.C, arg11.C, arm15.C, arm16.C}: New tests.
* g++.law/{bad-error3.C, bad-error4.C, bad-error5.C}: Likewise.
@@ -12631,22 +13613,22 @@ Mon Jan 2 11:50:10 1995 Jeff Law (law@snake.cs.utah.edu)
No longer expected to fail.
* g++.law/missed-error3.C: Tweak for recent bool changes.
-Sun Dec 4 20:54:33 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-12-04 Doug Evans <dje@canuck.cygnus.com>
* config/emb-unix: Deleted.
* config/unix.exp (${tool}_load): Use new proc rsh_exec to perform
remote execution. Do final link on remote host if REMOTE_LINK is set.
-Thu Dec 1 08:43:05 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-12-01 Doug Evans <dje@canuck.cygnus.com>
* lib/dg.exp (dg-test): Fix typo in last patch.
-Wed Nov 30 13:25:32 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-30 Doug Evans <dje@canuck.cygnus.com>
* lib/dg.exp (dg-test): Fix pattern that searches for expected output
(handles multiple occurrences).
-Thu Nov 24 19:48:38 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-24 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/*/*.exp: Pass full pathname to c-torture.
* gcc.c-torture/execute/execute.exp (c-torture-execute): Remove
@@ -12658,16 +13640,16 @@ Thu Nov 24 19:48:38 1994 Doug Evans <dje@canuck.cygnus.com>
(gcc_fail): Likewise.
* lib/dg.exp (dg-test): Don't delete $subdir from pathname in messages.
-Wed Nov 23 13:56:00 1994 J.T. Conklin <jtc@rtl.cygnus.com>
+1994-11-23 J.T. Conklin <jtc@rtl.cygnus.com>
* lib/netware.exp: Only attach to NetWare i386 systems.
-Wed Nov 16 11:27:00 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-16 Doug Evans <dje@canuck.cygnus.com>
* lib/dg.exp (dg-test): Don't print $subdir (or above) in pass/fail
messages. Add test name to "output pattern match" pass/fail message.
-Sat Nov 12 22:11:52 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-12 Doug Evans <dje@canuck.cygnus.com>
* gcc.dg: New testsuite.
* gcc.dg/dg.exp: New file.
@@ -12677,14 +13659,14 @@ Sat Nov 12 22:11:52 1994 Doug Evans <dje@canuck.cygnus.com>
* gcc.misc-tests/msgs.exp: New testcase driver.
-Wed Nov 9 14:23:09 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-09 Doug Evans <dje@canuck.cygnus.com>
* gcc.c-torture/execute/execute.exp (c-torture_execute): New proc.
Watch for illegal return values from ${tool}_load.
* config/unix.exp (${tool}_load): Fix pass/fail detection for
cross targets. Coerce return value >0 to 1.
-Tue Nov 8 14:10:33 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-08 Doug Evans <dje@canuck.cygnus.com>
* config/unix.exp (${tool}_load): Call program rsh, not proc.
@@ -12698,7 +13680,7 @@ Tue Nov 8 14:10:33 1994 Doug Evans <dje@canuck.cygnus.com>
and without loops.
* gcc.c-torture/execute/execute.exp: Likewise.
-Wed Nov 2 14:47:58 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-11-02 Doug Evans <dje@canuck.cygnus.com>
* config/*.exp: Clarify return code from ${tool}_load.
Call `unresolved' or `untested' instead of `warning' or `perror'
@@ -12741,13 +13723,13 @@ Wed Nov 2 14:47:58 1994 Doug Evans <dje@canuck.cygnus.com>
Get option list from TORTURE_OPTIONS. Delete -funroll[-all]-loops if
no loops. Update to reflect clarified return codes from ${tool}_load.
-Fri Oct 21 23:10:16 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-10-21 Doug Evans <dje@canuck.cygnus.com>
* lib/old-dejagnu.exp (process-option): Append ".*" to pattern
to grep for.
(old-dejagnu): Likewise (where necessary).
-Fri Oct 14 17:54:58 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-10-14 Doug Evans <dje@canuck.cygnus.com>
* gcc.misc-tests/gcov.exp: New file, for gcov testing.
@@ -12765,16 +13747,16 @@ Fri Oct 14 17:54:58 1994 Doug Evans <dje@canuck.cygnus.com>
Don't clobber previous definition of `unknown'.
Print tcl errors in `dg-final'.
-Wed Oct 12 13:05:37 1994 Doug Evans <dje@canuck.cygnus.com>
+1994-10-12 Doug Evans <dje@canuck.cygnus.com>
* lib/dg.exp (dg-process-target): Improve syntax error messages.
(dg-test): Don't print errorInfo, it contains stack backtrace.
-Mon Sep 26 12:18:53 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-26 Doug Evans (dje@canuck.cygnus.com)
* lib/g++.exp (runtest_file_p): Define if missing.
-Sat Sep 24 15:29:23 1994 Doug Evans (dje@cygnus.com)
+1994-09-24 Doug Evans (dje@cygnus.com)
* lib/mike-g++.exp: Comment out loading of g++.exp.
* lib/g++.exp: Update copyright. Test for existence of $CXX at start.
@@ -12791,7 +13773,7 @@ Sat Sep 24 15:29:23 1994 Doug Evans (dje@cygnus.com)
* g++.old-deja/old-deja.exp: utils.exp is loaded by runtest.exp.
* lib/old-dejagnu.exp: ${tool}.exp is loaded by config file.
-Thu Sep 22 11:39:17 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-22 Doug Evans (dje@canuck.cygnus.com)
* lib/c-torture.exp (c-torture-compile): Rework compiler
message processing.
@@ -12799,13 +13781,13 @@ Thu Sep 22 11:39:17 1994 Doug Evans (dje@canuck.cygnus.com)
* gcc.c-torture/compile/initbug1.{c,exp}: Deleted, not part of
c-torture.
-Wed Sep 21 09:49:43 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-21 Doug Evans (dje@canuck.cygnus.com)
* gcc.wendy/wendy.dis: Renamed from wendy.exp to disable the testsuite.
* lib/dg.exp (dg-process-target): Support { target native }.
-Tue Sep 20 17:16:55 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-20 Doug Evans (dje@canuck.cygnus.com)
* lib/dg.exp (dg-test): Clean up some comments. Delete code that
looked for "... program xxx got fatal signal".
@@ -12813,12 +13795,12 @@ Tue Sep 20 17:16:55 1994 Doug Evans (dje@canuck.cygnus.com)
Ignore compiler messages "path prefix not used" and "linker input
file unused".
-Wed Sep 14 11:44:40 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-14 Doug Evans (dje@canuck.cygnus.com)
* lib/gcc.exp (runtest_file_p): Define if missing.
* gcc.prms/template.c: Example to work from.
-Tue Sep 13 10:30:48 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-13 Doug Evans (dje@canuck.cygnus.com)
* lib/gcc.exp (gcc_finish): Delete code to update `testcnt'.
* lib/dg.exp (dg-test): Call unsupported testcases as such.
@@ -12839,12 +13821,12 @@ Tue Sep 13 10:30:48 1994 Doug Evans (dje@canuck.cygnus.com)
Separate execution pass/fail from output pattern match pass/fail.
Delete BUILD/XBUILD support (duplicate of LOSE/XLOSE).
-Mon Sep 12 13:47:35 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
+1994-09-12 Jim Wilson (wilson@sphagnum.cygnus.com)
* gcc.c-torture/special/special.exp: Don't expect failure for mips
target for 920510-1.c.
-Mon Sep 12 12:44:39 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-12 Doug Evans (dje@canuck.cygnus.com)
* lib/gcc.exp (gcc_init): Move initialized message to verbose level 3.
Clean up comment regarding use of passcnt, etc.
@@ -12862,11 +13844,11 @@ Mon Sep 12 12:44:39 1994 Doug Evans (dje@canuck.cygnus.com)
* g++.old-deja.exp: Likewise.
Move "Testing file" message to verbose level 1.
-Fri Sep 9 10:21:18 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-09 Doug Evans (dje@canuck.cygnus.com)
* gcc.wendy/t.c: Add DEJAGNU_CFLAGS:"-DNOPAUSE".
-Thu Sep 8 16:52:43 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-08 Doug Evans (dje@canuck.cygnus.com)
* lib/gcc.exp: Ensure CFLAGS, LIBS, and LDFLAGS are set.
(default_gcc_start): Accept optional second list element
@@ -12917,7 +13899,7 @@ Thu Sep 8 16:52:43 1994 Doug Evans (dje@canuck.cygnus.com)
* lib/c-torture.exp: Call gcc_pass/gcc_fail instead of
gcc_[ce]pass/fail.
-Wed Sep 7 11:09:08 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-09-07 Doug Evans (dje@canuck.cygnus.com)
* lib/g++.exp (g++_start): Rename arg to `prog' to avoid varargs
confusion.
@@ -12935,7 +13917,7 @@ Wed Sep 7 11:09:08 1994 Doug Evans (dje@canuck.cygnus.com)
Simplify verbose code, and include status and exec_output.
(g++_load): Use gcc_load.
-Sun Sep 4 13:59:27 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
+1994-09-04 Jim Wilson (wilson@sphagnum.cygnus.com)
* gcc.c-torture/noncompile/920928-1.c: Delete obsolete file.
* gcc.c-torture/noncompile/noncompile.exp: Delete support for
@@ -12943,7 +13925,7 @@ Sun Sep 4 13:59:27 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
940714-3.c as these testcases don't exist anymore. Make
va-arg-1.c expected to pass.
-Fri Aug 19 12:27:07 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-08-19 Doug Evans (dje@canuck.cygnus.com)
* gcc.misc-tests/misc.exp: Only run specific testcases.
* gcc.misc-tests/dg-test.exp: New file. Tests dg.exp.
@@ -12959,18 +13941,18 @@ Fri Aug 19 12:27:07 1994 Doug Evans (dje@canuck.cygnus.com)
Simplify "initialized" message.
(gcc_stat): Clean up comments a little.
-Tue Aug 16 11:16:46 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-08-16 Doug Evans (dje@canuck.cygnus.com)
* gcc.prms/prms.exp: New driver for gcc.prms testsuite directory.
-Mon Aug 15 21:20:36 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-08-15 Doug Evans (dje@canuck.cygnus.com)
* lib/old-dejagnu.exp (process-option): New proc.
(old-dejagnu-init, old-dejagnu-stat): Likewise.
(old-dejagnu): Simplify.
* g++.old-deja/old-deja.exp: Update to new version of old-dejagnu.
-Sun Aug 14 09:23:53 1994 Jeff Law (law@snake.cs.utah.edu)
+1994-08-14 Jeff Law (law@snake.cs.utah.edu)
* lib/c-torture.exp (c-torture): Only call setup_xfail if $xfail
exists and is not an empty string.
@@ -13007,7 +13989,7 @@ Sun Aug 14 09:23:53 1994 Jeff Law (law@snake.cs.utah.edu)
940712-1.c, calls.c, combine-hang.c, goto-1.c, init-2.c,
labels-1.c, packed-1.c, zero-strct-1.c}: Import from c-torture-1.29.
-Tue Jul 12 12:49:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+1994-07-12 Jim Kingdon (kingdon@lioth.cygnus.com)
* gcc.execute/{940712-1.c, 940712-2.c, 940713-1.c, 940714-1.c},
gcc.noncompile/{940712-1.h, 940712-1a.h, 940712-1b.h, 940712-1.c,
@@ -13017,12 +13999,12 @@ Tue Jul 12 12:49:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
New tests.
* gcc.noncompile/noncompile.exp: Change accordingly.
-Thu Jul 7 14:20:33 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-07-07 Doug Evans (dje@canuck.cygnus.com)
* config/sim.exp, lib/c-torture.exp, lib/gcc.exp:
Undo previous clobberage.
-Mon Jul 4 17:00:59 1994 Jeff Law (law@snake.cs.utah.edu)
+1994-07-04 Jeff Law (law@snake.cs.utah.edu)
* gcc.compile/{931102-1.c, 931102-2.c, 931031-1.c}:
* gcc.special/{930510-1.c, special.exp}:
@@ -13030,18 +14012,18 @@ Mon Jul 4 17:00:59 1994 Jeff Law (law@snake.cs.utah.edu)
931102-2.c, struct-pack-1.c, divmod-1.c, complex-1.c,
struct-varargs-1.c}: New tests from c-torture-1.26.
-Tue Jun 28 17:39:42 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
+1994-06-28 J.T. Conklin (jtc@phishhead.cygnus.com)
* gcc.wendy/wendy.exp: add --'s so that -1 isn't parsed as an
argument to switch.
-Sat May 21 10:39:38 1994 Bill Cox (bill@rtl.cygnus.com)
+1994-05-21 Bill Cox (bill@rtl.cygnus.com)
* Revert the previous changes. Please see Rob's directory
(/lisa/test/rob/progressive/gcc/testsuite) for testing
fixes.
-Thu May 19 18:00:03 1994 Bill Cox (bill@rtl.cygnus.com)
+1994-05-19 Bill Cox (bill@rtl.cygnus.com)
* config/sim.exp, config/udi.exp, config/unix.exp, config/vx.exp,
g++.brendan/alignof.exp, g++.brendan/arm3.exp, g++.brendan/code-gen5.exp,
@@ -13071,17 +14053,17 @@ Thu May 19 18:00:03 1994 Bill Cox (bill@rtl.cygnus.com)
lib/chill.exp, lib/g++.exp, lib/gcc.exp, lib/mike-g++.exp, lib/mike-gcc.exp,
lib/old-dejagnu.exp: Checkin Rob's 94Q1 testing changes.
-Tue May 17 14:55:09 1994 Bill Cox (bill@rtl.cygnus.com)
+1994-05-17 Bill Cox (bill@rtl.cygnus.com)
* config/udi.exp, gcc.execute/execute.exp, gcc.wendy/wendy.exp,
lib/g++.exp, lib/old-dejagnu.exp: Replace error proc calls
with perror calls.
-Mon May 2 17:41:13 1994 Jason Merrill (jason@deneb.cygnus.com)
+1994-05-02 Jason Merrill (jason@deneb.cygnus.com)
* config/unix.exp (g++_load): Fix syntax.
-Thu Apr 14 12:22:10 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
+1994-04-14 Jim Wilson (wilson@sphagnum.cygnus.com)
* gcc.compile/initbug1.exp (CFLAGS): Add space at beginning.
* gcc.noncompile/921017-1.c: Deleted obsolete test.
@@ -13092,7 +14074,7 @@ Thu Apr 14 12:22:10 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
* gcc.wendy/hbm4.c: Correct typo.
* gcc.wendy/tad1.c, tad2.c: Correct expected output.
-Mon Mar 28 13:29:37 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-03-28 Doug Evans (dje@canuck.cygnus.com)
* lib/gcc.exp (gcc_[ce]{pass,fail}): Remove output/executable argument.
* gcc.wendy/wendy.exp (wendy_try): Remove `output' argument of
@@ -13104,19 +14086,19 @@ Mon Mar 28 13:29:37 1994 Doug Evans (dje@canuck.cygnus.com)
Call gcc_cpass, gcc_cfail.
(c-torture): Pass testing option to c-torture-compile.
-Mon Mar 21 12:40:33 1994 Doug Evans (dje@cygnus.com)
+1994-03-21 Doug Evans (dje@cygnus.com)
Bring patches over from progressive.
* config/default.exp: Exit remote shell cleanly.
(g++_exit, g++_start): Add default versions.
* config/sim.exp (gcc_load): Use perror, not error.
-Sun Mar 20 12:05:32 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-03-20 Doug Evans (dje@canuck.cygnus.com)
* lib/gcc.exp: Don't set CFLAGS if CC not set. It clobbers the value
set in site.exp.
-Mon Mar 14 19:30:28 1994 Doug Evans (dje@cygnus.com)
+1994-03-14 Doug Evans (dje@cygnus.com)
* gcc.wendy/wendy.exp (wendy_first_line): New proc to fetch
DEJAGNU_OUTPUT and DEJAGNU_CFLAGS.
@@ -13127,12 +14109,12 @@ Mon Mar 14 19:30:28 1994 Doug Evans (dje@cygnus.com)
* lib/gcc.exp: Minor cleanup work.
(gcc_cpass, gcc_cfail, gcc_epass, gcc_efail): New procs.
-Wed Mar 9 15:22:54 1994 Doug Evans (dje@canuck.cygnus.com)
+1994-03-09 Doug Evans (dje@canuck.cygnus.com)
* config/sim.exp (gcc_load): Document return codes better.
Don't pass -v to simulator.
-Thu Feb 24 07:15:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+1994-02-24 Jeffrey A. Law (law@snake.cs.utah.edu)
* gcc.special/920717-x.c: Fix typo.
* gcc.special/special.exp (920717-x.c): Use $srcdir/$subdir to
@@ -13140,7 +14122,7 @@ Thu Feb 24 07:15:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* lib/mike-gcc.exp: Fix typo.
-Tue Feb 15 15:41:47 1994 Rob Savoye (rob@darkstar.cygnus.com)
+1994-02-15 Rob Savoye (rob@darkstar.cygnus.com)
* lib/gcc.exp: Minor cleanup work. Find the proper gcc or g++
binary to use, transform the name.
@@ -13148,22 +14130,22 @@ Tue Feb 15 15:41:47 1994 Rob Savoye (rob@darkstar.cygnus.com)
it's now a special case of gcc that requires no special support.
Add a default.exp for unsupported targets.
-Fri Feb 11 12:59:54 1994 Rob Savoye (rob@poseidon.cygnus.com)
+1994-02-11 Rob Savoye (rob@poseidon.cygnus.com)
* g++.jason/report.exp, g++.old-deja/old-deja.exp,
lib/old-dejagnu.exp: Fix a few patterns to work with the new
version of Tcl.
-Wed Feb 9 21:35:47 1994 Rob Savoye (rob@darkstar.cygnus.com)
+1994-02-09 Rob Savoye (rob@darkstar.cygnus.com)
* lib/c-torture.exp: Made "file prefix*never used a pass, rather
than a warning.
-Sun Feb 6 16:52:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+1994-02-06 Jeffrey A. Law (law@snake.cs.utah.edu)
* lib/mike-gcc.exp: Add in recent changes from mike-g++.exp.
-Mon Jan 3 17:28:25 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
+1994-01-03 Jim Wilson (wilson@sphagnum.cygnus.com)
* gcc.execute/execute.exp: Combine opt_list and foption_list into
option_list. Compile every file with only 4/6 option choices
@@ -13174,12 +14156,12 @@ Mon Jan 3 17:28:25 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
* lib/gcc.exp: Set LIBS, CFLAGS, and LDFLAGS to empty strings if
not already set.
-Thu Dec 30 17:17:07 1993 Mike Stump (mrs@rtl.cygnus.com)
+1993-12-30 Mike Stump (mrs@rtl.cygnus.com)
* lib/old-deja.exp: Add `excess errors test fails' error, now one
can put an XFAIL *-*-* on excess errors.
-Sun Dec 19 21:45:34 1993 Jeffrey A. Law (law@snake.cs.utah.edu
+1993-12-19 Jeffrey A. Law (law@snake.cs.utah.edu
* g++.law: Add more tests derived from g++-bugs snapshots.
@@ -13189,30 +14171,30 @@ Sun Dec 19 21:45:34 1993 Jeffrey A. Law (law@snake.cs.utah.edu
* lib/mike-gcc.exp (postbase): Delete the .o file after we've
compiled it, and the a.out file after we've run it.
-Fri Dec 17 11:29:56 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+1993-12-17 Brendan Kehoe (brendan@lisa.cygnus.com)
* lib/mike-g++.exp (postbase): Delete the .o file after we've
compiled it, and the a.out file after we've run it.
-Fri Dec 17 10:18:16 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+1993-12-17 Jeffrey A. Law (law@snake.cs.utah.edu)
* g++.law/*.exp: Avoid losing arguments added via "append" commands.
-Wed Dec 15 20:36:40 1993 Rob Savoye (rob@darkstar.cygnus.com)
+1993-12-15 Rob Savoye (rob@darkstar.cygnus.com)
* lib/gcc.exp, lib/g++.exp: Use catch rather than exec to get the
version number.
-Sun Dec 12 21:10:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+1993-12-12 Jeffrey A. Law (law@snake.cs.utah.edu)
* g++.law: New directory of g++ tests derived from the g++-bugs
snapshots.
-Thu Dec 09 16:50:41 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-12-09 Jeffrey Wheat (cassidy@cygnus.com)
* gcc.compile: initbug1.c initbug1.exp testcase added
-Mon Dec 06 11:09:52 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-12-06 Jeffrey Wheat (cassidy@cygnus.com)
* gcc.dje/sizetype-1.exp, dje.exp: minor clean ups
* gcc.execute/execute.exp: minor cleanups. added gcc_stat calls. added
@@ -13221,7 +14203,7 @@ Mon Dec 06 11:09:52 1993 Jeffrey Wheat (cassidy@cygnus.com)
Jeff Law (law@cs.utah.edu)
-Tue Nov 30 16:34:07 1993 Mike Stump (mrs@cygnus.com)
+1993-11-30 Mike Stump (mrs@cygnus.com)
* config/unix-g++.exp: Follow the gcc way of doing things.
* g++.old-deja/old-deja.exp: Minor updates.
@@ -13229,37 +14211,37 @@ Tue Nov 30 16:34:07 1993 Mike Stump (mrs@cygnus.com)
* lib/old-dejagnu.exp: Minor updates.
* lib/mike-g++.exp: Always unset errorInfo.
-Sat Nov 6 11:34:51 1993 Mike Stump (mrs@cygnus.com)
+1993-11-06 Mike Stump (mrs@cygnus.com)
* lib/gcc.exp: Fix some errors with the below change, CC and
CFLAGS should be global when setting, not local.
-Wed Nov 3 11:16:26 1993 Rob Savoye (rob@darkstar.cygnus.com)
+1993-11-03 Rob Savoye (rob@darkstar.cygnus.com)
* lib/gcc.exp: Transform tool name.
-Wed Oct 27 23:57:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-27 Jeffrey Wheat (cassidy@cygnus.com)
* gcc.*/*.exp: Fixd some de-stablizing changes. Sorry.
-Wed Oct 27 14:45:50 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-27 Jeffrey Wheat (cassidy@cygnus.com)
* lib/gcc.exp: change gcc_done to gcc_stat
-Wed Oct 27 09:57:51 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-27 Jeffrey Wheat (cassidy@cygnus.com)
* Upgraded gcc testsuite to c-torture version 1.25
-Sun Oct 24 10:58:03 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-24 Jeffrey Wheat (cassidy@cygnus.com)
* lib/gcc.exp: added reporting code. Changed verbose compile message.
* lib/c-torture: added hooks for new reporting code.
-Thu Oct 21 18:45:32 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-21 Jeffrey Wheat (cassidy@cygnus.com)
* config/sh-gcc.exp: check if sh-sim exists in the path
-Mon Oct 18 11:13:22 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-18 Jeffrey Wheat (cassidy@cygnus.com)
* gcc.code_quality/code_quality.exp: Initial changes for new logic.
* gcc.compile/compile.exp: Initial changes for new logic.
@@ -13272,7 +14254,7 @@ Mon Oct 18 11:13:22 1993 Jeffrey Wheat (cassidy@cygnus.com)
* lib/c-torture.exp: Initial changes for new logic.
* lib/gcc.exp: Initial changes for new logic.
-Fri Oct 15 00:19:42 1993 Mike Stump (mrs@cygnus.com)
+1993-10-15 Mike Stump (mrs@cygnus.com)
* lib/mike-g++.exp, lib/old-dejagnu.exp: Make the message not
depend upon failure or success. Fully qualify names in failure
@@ -13282,38 +14264,38 @@ Fri Oct 15 00:19:42 1993 Mike Stump (mrs@cygnus.com)
like all others, so that things are uniform. Other miscellaneous
improvements.
-Wed Oct 13 15:04:51 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-13 Jeffrey Wheat (cassidy@cygnus.com)
* gcc.cpp: new directory for cpp tests
-Mon Oct 4 09:03:41 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-10-04 Jeffrey Wheat (cassidy@cygnus.com)
* lib/chill.exp: Code reformatted, removed unused code.
* config/unix-chill.exp: Code reformatted, removed unused code.
* chill.execute/execute.exp: Code reformatted, removed unused code.
* chill.execute/oe/orient.exp: Code reformatted, removed unused code.
-Mon Oct 4 06:19:26 1993 Ian Lance Taylor (ian@cygnus.com)
+1993-10-04 Ian Lance Taylor (ian@cygnus.com)
* config/mips-gcc.exp, config/mips-g++.exp: New files. Execution
routines not written.
-Mon Sep 27 21:07:44 1993 Rob Savoye (rob@darkstar.cygnus.com)
+1993-09-27 Rob Savoye (rob@darkstar.cygnus.com)
* config/bug-gcc.exp: Use new procs from bug.exp.
-Tue Sep 21 18:21:12 1993 Rob Savoye (rob@darkstar.cygnus.com)
+1993-09-21 Rob Savoye (rob@darkstar.cygnus.com)
* config/vx-gcc.exp: Use new vxworks_ld proc, so files get loaded
via ftp, rather than depending on NFS.
* config/vx-gcc.exp: Use new vxworks_spawn proc to execute test
case.
-Thu Sep 9 23:09:15 1993 Rob Savoye (rob@darkstar.cygnus.com)
+1993-09-09 Rob Savoye (rob@darkstar.cygnus.com)
* config/bug-gcc.exp: Use new download proc.
-Tue Sep 14 19:23:58 1993 Jeffrey Wheat (cassidy at deneb.cygnus.com)
+1993-09-14 Jeffrey Wheat (cassidy at deneb.cygnus.com)
* chill.execute/execute.exp: cleanups, handles errors better
* chill.compile/compile.exp: rewrite, based on execute.exp
@@ -13324,13 +14306,13 @@ Tue Sep 14 19:23:58 1993 Jeffrey Wheat (cassidy at deneb.cygnus.com)
Added a hack to capture stderr from exec, so noncompile tests
can work.
-Sat Sep 11 15:30:10 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-09-11 Jeffrey Wheat (cassidy@cygnus.com)
* chill.execute/execute.exp: rewrite of testsuite driver
* lib/chill.exp: rewrite of testsuite driver
* config/unix-chill.exp: rewrite of testsuite driver
-Wed Aug 25 14:11:13 1993 Bill Cox (bill@rtl.cygnus.com)
+1993-08-25 Bill Cox (bill@rtl.cygnus.com)
In chill.execute:
* iexpr.ch: Standardize uppercase.
@@ -13338,7 +14320,7 @@ Wed Aug 25 14:11:13 1993 Bill Cox (bill@rtl.cygnus.com)
* vary.ch: standardize. Correct varying string assignments.
* vary.dat: Add new output lines.
-Tue Aug 24 13:45:49 1993 Bill Cox (bill@rtl.cygnus.com)
+1993-08-24 Bill Cox (bill@rtl.cygnus.com)
In chill.execute:
* chprintf.ch: Standardize use of uppercase.
@@ -13346,13 +14328,13 @@ Tue Aug 24 13:45:49 1993 Bill Cox (bill@rtl.cygnus.com)
rather than a SYN.
* pinits.ch: Standardize.
-Mon Aug 23 17:26:58 1993 Per Bothner (bothner@kalessin.cygnus.com)
+1993-08-23 Per Bothner (bothner@kalessin.cygnus.com)
* rts.c: Get malloc() from <stdlib.h>, not <malloc.h>.
* Makefil: Renamed to Makefile.in.
* configure.in: New.
-Mon Aug 23 14:24:13 1993 Bill Cox (bill@rtl.cygnus.com)
+1993-08-23 Bill Cox (bill@rtl.cygnus.com)
In chill.execute:
* .cvsignore: Add result/output files.
@@ -13366,16 +14348,16 @@ Mon Aug 23 14:24:13 1993 Bill Cox (bill@rtl.cygnus.com)
* sets.ch: Tiny cleanup.
* vary1.ch: Re-indent.
-Tue Aug 17 15:42:07 1993 Bill Cox (bill@rtl.cygnus.com)
+1993-08-17 Bill Cox (bill@rtl.cygnus.com)
* Add PR-related files to Makefiles, .cvsignore files, etc.
-Mon Aug 2 15:46:05 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
+1993-08-02 Jeff Wheat (cassidy@cygnus.com)
* gcc.unsorted: flow.c and loop.c - renamed to avoid conflicts
with compiler objects. New names are test-flow.c and test-loop.c
-Tue Jul 27 10:08:08 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
+1993-07-27 Jeff Wheat (cassidy@cygnus.com)
* Upgraded c-torture tests from 1.19 to 1.20
@@ -13386,24 +14368,24 @@ Tue Jul 27 10:08:08 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
* gcc.failure: 920411-1.c 920627-2.c
* gcc.ieee: 920518-1.c 920810-1.c 930529-1.c
-Tue Jul 20 15:19:44 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
+1993-07-20 Jeff Wheat (cassidy@cygnus.com)
* chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp
More changes to get testsuite working properly. Needs more work.
Added some support for POSIX IEEE Std 1003.3-1991 error messages.
-Mon Jul 19 18:40:31 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
+1993-07-19 Jeff Wheat (cassidy@cygnus.com)
* chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp
More changes to get testsuite working properly. Needs more work.
-Tue Jul 13 18:38:56 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
+1993-07-13 Jeff Wheat (cassidy@cygnus.com)
* chill.compile/compile.exp: Added for Dejagnu support
* chill.execute/execute.exp: Added for Dejagnu support
* lib/chill.exp config/unix-chill.exp : Added for Dejagnu support
-Sat Jun 19 07:13:05 1993 Bill Cox (bill@rtl.cygnus.com)
+1993-06-19 Bill Cox (bill@rtl.cygnus.com)
This should complete moving the CHILL test files.
* chill.noncompile(.cvsignore printf.grt
@@ -13417,12 +14399,12 @@ Sat Jun 19 07:13:05 1993 Bill Cox (bill@rtl.cygnus.com)
test-support files.
(Makefile): More corrections.
-Fri Jun 18 23:40:54 1993 Bill Cox (bill@rtl.cygnus.com)
+1993-06-18 Bill Cox (bill@rtl.cygnus.com)
* chill.compile, chill.execute, chill.nocompile: Add CHILL
test cases, ready for DejaGnu.
-Thu Jun 17 19:14:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-06-17 Jeffrey Wheat (cassidy@cygnus.com)
* Upgraded c-torture tests from 1.18 to 1.19
@@ -13435,23 +14417,23 @@ Thu Jun 17 19:14:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
* gcc.misc-test(s): added tests:
inst-check.c test-consts.c test-ior.c test-switch.c
-Wed Jun 9 16:53:26 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+1993-06-09 Brendan Kehoe (brendan@lisa.cygnus.com)
* lib/mike-g++.exp: Load `./a.out', not `a.out'.
-Mon Jun 7 16:18:40 1993 Ian Lance Taylor (ian@cygnus.com)
+1993-06-07 Ian Lance Taylor (ian@cygnus.com)
* g++.old-deja/old-deja.exp: Don't delete all the .o files.
-Thu Jun 3 13:13:36 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-06-03 Jeffrey Wheat (cassidy@cygnus.com)
* Upgraded c-torture tests from 1.17 to 1.18
-Wed Jun 2 19:02:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+1993-06-02 Jeffrey Wheat (cassidy@cygnus.com)
* Upgraded c-torture tests from 1.12 to 1.17
-Fri Apr 30 09:38:41 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-30 Mike Werner (mtw@deneb.cygnus.com)
* lib/old-dejagnu.exp:
Fixed handling of XFAIL target triplets to correctly
@@ -13460,7 +14442,7 @@ Fri Apr 30 09:38:41 1993 Mike Werner (mtw@deneb.cygnus.com)
printed out by the result of the testcases within a
given test file.
-Thu Apr 29 19:06:29 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-29 Mike Werner (mtw@deneb.cygnus.com)
* lib/old-dejagnu.exp:
Reworked expected failure handling to trigger off of XFAIL
@@ -13470,7 +14452,7 @@ Thu Apr 29 19:06:29 1993 Mike Werner (mtw@deneb.cygnus.com)
It has just occured that the handling of wildcards in the
target triplet may not be correct.
-Fri Apr 23 13:16:20 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-23 Mike Werner (mtw@deneb.cygnus.com)
* g++.old-deja/tests:
Moved all subdirectories up one level into g++.old-deja .
@@ -13485,11 +14467,11 @@ Fri Apr 23 13:16:20 1993 Mike Werner (mtw@deneb.cygnus.com)
this corrected a problem with erroneous diff logs. Added code
to search testcases for expected fail and unexpected pass keywords.
-Tue Apr 20 18:27:58 1993 Rob Savoye (rob at darkstar.cygnus.com)
+1993-04-20 Rob Savoye (rob at darkstar.cygnus.com)
* lib/c-torture.exp: Ignore "file path prefix*unused" message.
-Thu Apr 15 11:01:59 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-15 Mike Werner (mtw@deneb.cygnus.com)
* g++.old-deja/tests/g++.sun/g++.frag/1045608.C:
Removed extraneous text from end of "Special g++ Options"
@@ -13499,14 +14481,14 @@ Thu Apr 15 11:01:59 1993 Mike Werner (mtw@deneb.cygnus.com)
keywords, embedded in testcases comments, which will trigger
calls to xpass and xfail.
-Wed Apr 14 14:28:01 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-14 Mike Werner (mtw@deneb.cygnus.com)
* lib/old-dejagnu.exp: Cleaned up pattern matching for keyphrase
comments embedded in the testcases, especially the one looking for
special compiler options, as well as the pattern matching for the
compiler output again.
-Mon Apr 12 15:15:37 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-12 Mike Werner (mtw@deneb.cygnus.com)
* lib/old-dejagnu.exp: Do a proper check of the return value for
execute tests. Fixed several problems with the pattern matching
@@ -13516,27 +14498,27 @@ Mon Apr 12 15:15:37 1993 Mike Werner (mtw@deneb.cygnus.com)
executes the tests passed to it and returns a usable return
value.
-Sun Apr 11 17:22:37 1993 Rob Savoye (rob at darkstar.cygnus.com)
+1993-04-11 Rob Savoye (rob at darkstar.cygnus.com)
* lib/gcc.exp: Exits gracefully if $CC is bogus.
-Fri Apr 9 09:41:59 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-09 Mike Werner (mtw@deneb.cygnus.com)
* lib/old-dejagnu.exp , g++.old-deja/old-deja.exp:
Modified both files to properly execute the old style
dejagnu tests. The previous versions of these files were
experimental and did not function anything near correctly.
-Mon Apr 5 21:08:24 1993 Rob Savoye (rob@cygnus.com)
+1993-04-05 Rob Savoye (rob@cygnus.com)
* Removed all Makefile.in and configure.in files. No configuration
needed now.
-Fri Apr 2 12:15:17 1993 Mike Werner (mtw@deneb.cygnus.com)
+1993-04-02 Mike Werner (mtw@deneb.cygnus.com)
* lib: relocated old-dejagnu.exp from devo/dejagnu/lib
-Sun Mar 28 11:17:48 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+1993-03-28 Ken Raeburn (raeburn@kr-pc.cygnus.com)
* gcc.compile/configure.in, gcc.unsorted/configure.in,
gcc.special/configure.in, gcc.noncompile/configure.in,
@@ -13545,18 +14527,18 @@ Sun Mar 28 11:17:48 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
g++.niklas/configure.in, g++.mike/configure.in: Remove extra quote
in srcname setting.
-Thu Mar 25 20:07:55 1993 Rob Savoye (rob at darkstar.cygnus.com)
+1993-03-25 Rob Savoye (rob at darkstar.cygnus.com)
* lib/udi.exp: Fixed mondfe and mondfe_download.
* config/udi-gcc.exp: Fixed misc bugs, works with expect 4.x.
* config/abug-gcc.exp: Fixed misc bugs, works with expect 4.x.
-Thu Mar 25 13:06:41 1993 Ian Lance Taylor (ian@cygnus.com)
+1993-03-25 Ian Lance Taylor (ian@cygnus.com)
* config/udi-gdb.exp: Check $shell_id after connecting to target.
(gdb_exit): Don't remove *_soc files.
-Mon Mar 22 14:28:46 1993 Ian Lance Taylor (ian@cygnus.com)
+1993-03-22 Ian Lance Taylor (ian@cygnus.com)
* lib/c-torture.exp: Don't look for main; instead always use -w
-c. This is how the c-torture tests work. Remove the object
diff --git a/gcc/testsuite/g++.dg/abi/dcast1.C b/gcc/testsuite/g++.dg/abi/dcast1.C
new file mode 100644
index 00000000000..402684ff446
--- /dev/null
+++ b/gcc/testsuite/g++.dg/abi/dcast1.C
@@ -0,0 +1,29 @@
+// { dg-do compile }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 28 Jan 2003 <nathan@codesourcery.com>
+
+// PR 9433. segfault at runtime.
+
+struct A { virtual void f() {}; };
+struct B {int b;};
+struct C : A, B { virtual void f() {}; int c;};
+struct D : C {int d;};
+struct E : C {int e;};
+struct F : protected D, E {int f;};
+struct H : virtual F {int h;};
+struct I : H {int i;};
+struct J : H {int j;};
+struct K : I, J { virtual void f() {}; int k; };
+struct M : K {int m;};
+struct N : M {int n;};
+struct O : M {int o;};
+struct P : N, O { virtual void f() {}; int p;};
+
+int main()
+{
+ P obj;
+ A* a1 = (D *) (&obj);
+ H* hp = dynamic_cast<H*>(a1);
+ return hp != 0;
+}
diff --git a/gcc/testsuite/g++.dg/cpp/c++_cmd_1.C b/gcc/testsuite/g++.dg/cpp/c++_cmd_1.C
new file mode 100644
index 00000000000..e4e0482936b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp/c++_cmd_1.C
@@ -0,0 +1,12 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc. */
+
+/* { dg-do preprocess } */
+/* { dg-options "-c -include ${srcdir}/g++.dg/cpp/c++_cmd_1.h" } */
+
+/* Contributed by Devang Patel <dpatel@apple.com> */
+
+int main ()
+{
+ return 0;
+}
+
diff --git a/gcc/testsuite/g++.dg/cpp/c++_cmd_1.h b/gcc/testsuite/g++.dg/cpp/c++_cmd_1.h
new file mode 100644
index 00000000000..06f4941bc54
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp/c++_cmd_1.h
@@ -0,0 +1,6 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc. */
+
+/* Contributed by Devang Patel <dpatel@apple.com> */
+
+/* Header file for c++_cmd_1.C */
+
diff --git a/gcc/testsuite/g++.dg/eh/cleanup1.C b/gcc/testsuite/g++.dg/eh/cleanup1.C
new file mode 100644
index 00000000000..981b3e8d27f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/cleanup1.C
@@ -0,0 +1,417 @@
+struct vector { ~vector(); };
+struct C { C();
+ vector x; };
+
+struct A {
+ A();
+
+ typedef C T;
+
+ T a0000; T a0001; T a0002; T a0003; T a0004; T a0005; T a0006; T a0007; T a0008; T a0009;
+ T a0010; T a0011; T a0012; T a0013; T a0014; T a0015; T a0016; T a0017; T a0018; T a0019;
+ T a0020; T a0021; T a0022; T a0023; T a0024; T a0025; T a0026; T a0027; T a0028; T a0029;
+ T a0030; T a0031; T a0032; T a0033; T a0034; T a0035; T a0036; T a0037; T a0038; T a0039;
+ T a0040; T a0041; T a0042; T a0043; T a0044; T a0045; T a0046; T a0047; T a0048; T a0049;
+ T a0050; T a0051; T a0052; T a0053; T a0054; T a0055; T a0056; T a0057; T a0058; T a0059;
+ T a0060; T a0061; T a0062; T a0063; T a0064; T a0065; T a0066; T a0067; T a0068; T a0069;
+ T a0070; T a0071; T a0072; T a0073; T a0074; T a0075; T a0076; T a0077; T a0078; T a0079;
+ T a0080; T a0081; T a0082; T a0083; T a0084; T a0085; T a0086; T a0087; T a0088; T a0089;
+ T a0090; T a0091; T a0092; T a0093; T a0094; T a0095; T a0096; T a0097; T a0098; T a0099;
+ T a0100; T a0101; T a0102; T a0103; T a0104; T a0105; T a0106; T a0107; T a0108; T a0109;
+ T a0110; T a0111; T a0112; T a0113; T a0114; T a0115; T a0116; T a0117; T a0118; T a0119;
+ T a0120; T a0121; T a0122; T a0123; T a0124; T a0125; T a0126; T a0127; T a0128; T a0129;
+ T a0130; T a0131; T a0132; T a0133; T a0134; T a0135; T a0136; T a0137; T a0138; T a0139;
+ T a0140; T a0141; T a0142; T a0143; T a0144; T a0145; T a0146; T a0147; T a0148; T a0149;
+ T a0150; T a0151; T a0152; T a0153; T a0154; T a0155; T a0156; T a0157; T a0158; T a0159;
+ T a0160; T a0161; T a0162; T a0163; T a0164; T a0165; T a0166; T a0167; T a0168; T a0169;
+ T a0170; T a0171; T a0172; T a0173; T a0174; T a0175; T a0176; T a0177; T a0178; T a0179;
+ T a0180; T a0181; T a0182; T a0183; T a0184; T a0185; T a0186; T a0187; T a0188; T a0189;
+ T a0190; T a0191; T a0192; T a0193; T a0194; T a0195; T a0196; T a0197; T a0198; T a0199;
+ T a0200; T a0201; T a0202; T a0203; T a0204; T a0205; T a0206; T a0207; T a0208; T a0209;
+ T a0210; T a0211; T a0212; T a0213; T a0214; T a0215; T a0216; T a0217; T a0218; T a0219;
+ T a0220; T a0221; T a0222; T a0223; T a0224; T a0225; T a0226; T a0227; T a0228; T a0229;
+ T a0230; T a0231; T a0232; T a0233; T a0234; T a0235; T a0236; T a0237; T a0238; T a0239;
+ T a0240; T a0241; T a0242; T a0243; T a0244; T a0245; T a0246; T a0247; T a0248; T a0249;
+ T a0250; T a0251; T a0252; T a0253; T a0254; T a0255; T a0256; T a0257; T a0258; T a0259;
+ T a0260; T a0261; T a0262; T a0263; T a0264; T a0265; T a0266; T a0267; T a0268; T a0269;
+ T a0270; T a0271; T a0272; T a0273; T a0274; T a0275; T a0276; T a0277; T a0278; T a0279;
+ T a0280; T a0281; T a0282; T a0283; T a0284; T a0285; T a0286; T a0287; T a0288; T a0289;
+ T a0290; T a0291; T a0292; T a0293; T a0294; T a0295; T a0296; T a0297; T a0298; T a0299;
+ T a0300; T a0301; T a0302; T a0303; T a0304; T a0305; T a0306; T a0307; T a0308; T a0309;
+ T a0310; T a0311; T a0312; T a0313; T a0314; T a0315; T a0316; T a0317; T a0318; T a0319;
+ T a0320; T a0321; T a0322; T a0323; T a0324; T a0325; T a0326; T a0327; T a0328; T a0329;
+ T a0330; T a0331; T a0332; T a0333; T a0334; T a0335; T a0336; T a0337; T a0338; T a0339;
+ T a0340; T a0341; T a0342; T a0343; T a0344; T a0345; T a0346; T a0347; T a0348; T a0349;
+ T a0350; T a0351; T a0352; T a0353; T a0354; T a0355; T a0356; T a0357; T a0358; T a0359;
+ T a0360; T a0361; T a0362; T a0363; T a0364; T a0365; T a0366; T a0367; T a0368; T a0369;
+ T a0370; T a0371; T a0372; T a0373; T a0374; T a0375; T a0376; T a0377; T a0378; T a0379;
+ T a0380; T a0381; T a0382; T a0383; T a0384; T a0385; T a0386; T a0387; T a0388; T a0389;
+ T a0390; T a0391; T a0392; T a0393; T a0394; T a0395; T a0396; T a0397; T a0398; T a0399;
+ T a0400; T a0401; T a0402; T a0403; T a0404; T a0405; T a0406; T a0407; T a0408; T a0409;
+ T a0410; T a0411; T a0412; T a0413; T a0414; T a0415; T a0416; T a0417; T a0418; T a0419;
+ T a0420; T a0421; T a0422; T a0423; T a0424; T a0425; T a0426; T a0427; T a0428; T a0429;
+ T a0430; T a0431; T a0432; T a0433; T a0434; T a0435; T a0436; T a0437; T a0438; T a0439;
+ T a0440; T a0441; T a0442; T a0443; T a0444; T a0445; T a0446; T a0447; T a0448; T a0449;
+ T a0450; T a0451; T a0452; T a0453; T a0454; T a0455; T a0456; T a0457; T a0458; T a0459;
+ T a0460; T a0461; T a0462; T a0463; T a0464; T a0465; T a0466; T a0467; T a0468; T a0469;
+ T a0470; T a0471; T a0472; T a0473; T a0474; T a0475; T a0476; T a0477; T a0478; T a0479;
+ T a0480; T a0481; T a0482; T a0483; T a0484; T a0485; T a0486; T a0487; T a0488; T a0489;
+ T a0490; T a0491; T a0492; T a0493; T a0494; T a0495; T a0496; T a0497; T a0498; T a0499;
+
+ T a0500; T a0501; T a0502; T a0503; T a0504; T a0505; T a0506; T a0507; T a0508; T a0509;
+ T a0510; T a0511; T a0512; T a0513; T a0514; T a0515; T a0516; T a0517; T a0518; T a0519;
+ T a0520; T a0521; T a0522; T a0523; T a0524; T a0525; T a0526; T a0527; T a0528; T a0529;
+ T a0530; T a0531; T a0532; T a0533; T a0534; T a0535; T a0536; T a0537; T a0538; T a0539;
+ T a0540; T a0541; T a0542; T a0543; T a0544; T a0545; T a0546; T a0547; T a0548; T a0549;
+ T a0550; T a0551; T a0552; T a0553; T a0554; T a0555; T a0556; T a0557; T a0558; T a0559;
+ T a0560; T a0561; T a0562; T a0563; T a0564; T a0565; T a0566; T a0567; T a0568; T a0569;
+ T a0570; T a0571; T a0572; T a0573; T a0574; T a0575; T a0576; T a0577; T a0578; T a0579;
+ T a0580; T a0581; T a0582; T a0583; T a0584; T a0585; T a0586; T a0587; T a0588; T a0589;
+ T a0590; T a0591; T a0592; T a0593; T a0594; T a0595; T a0596; T a0597; T a0598; T a0599;
+ T a0600; T a0601; T a0602; T a0603; T a0604; T a0605; T a0606; T a0607; T a0608; T a0609;
+ T a0610; T a0611; T a0612; T a0613; T a0614; T a0615; T a0616; T a0617; T a0618; T a0619;
+ T a0620; T a0621; T a0622; T a0623; T a0624; T a0625; T a0626; T a0627; T a0628; T a0629;
+ T a0630; T a0631; T a0632; T a0633; T a0634; T a0635; T a0636; T a0637; T a0638; T a0639;
+ T a0640; T a0641; T a0642; T a0643; T a0644; T a0645; T a0646; T a0647; T a0648; T a0649;
+ T a0650; T a0651; T a0652; T a0653; T a0654; T a0655; T a0656; T a0657; T a0658; T a0659;
+ T a0660; T a0661; T a0662; T a0663; T a0664; T a0665; T a0666; T a0667; T a0668; T a0669;
+ T a0670; T a0671; T a0672; T a0673; T a0674; T a0675; T a0676; T a0677; T a0678; T a0679;
+ T a0680; T a0681; T a0682; T a0683; T a0684; T a0685; T a0686; T a0687; T a0688; T a0689;
+ T a0690; T a0691; T a0692; T a0693; T a0694; T a0695; T a0696; T a0697; T a0698; T a0699;
+ T a0700; T a0701; T a0702; T a0703; T a0704; T a0705; T a0706; T a0707; T a0708; T a0709;
+ T a0710; T a0711; T a0712; T a0713; T a0714; T a0715; T a0716; T a0717; T a0718; T a0719;
+ T a0720; T a0721; T a0722; T a0723; T a0724; T a0725; T a0726; T a0727; T a0728; T a0729;
+ T a0730; T a0731; T a0732; T a0733; T a0734; T a0735; T a0736; T a0737; T a0738; T a0739;
+ T a0740; T a0741; T a0742; T a0743; T a0744; T a0745; T a0746; T a0747; T a0748; T a0749;
+ T a0750; T a0751; T a0752; T a0753; T a0754; T a0755; T a0756; T a0757; T a0758; T a0759;
+ T a0760; T a0761; T a0762; T a0763; T a0764; T a0765; T a0766; T a0767; T a0768; T a0769;
+ T a0770; T a0771; T a0772; T a0773; T a0774; T a0775; T a0776; T a0777; T a0778; T a0779;
+ T a0780; T a0781; T a0782; T a0783; T a0784; T a0785; T a0786; T a0787; T a0788; T a0789;
+ T a0790; T a0791; T a0792; T a0793; T a0794; T a0795; T a0796; T a0797; T a0798; T a0799;
+ T a0800; T a0801; T a0802; T a0803; T a0804; T a0805; T a0806; T a0807; T a0808; T a0809;
+ T a0810; T a0811; T a0812; T a0813; T a0814; T a0815; T a0816; T a0817; T a0818; T a0819;
+ T a0820; T a0821; T a0822; T a0823; T a0824; T a0825; T a0826; T a0827; T a0828; T a0829;
+ T a0830; T a0831; T a0832; T a0833; T a0834; T a0835; T a0836; T a0837; T a0838; T a0839;
+ T a0840; T a0841; T a0842; T a0843; T a0844; T a0845; T a0846; T a0847; T a0848; T a0849;
+ T a0850; T a0851; T a0852; T a0853; T a0854; T a0855; T a0856; T a0857; T a0858; T a0859;
+ T a0860; T a0861; T a0862; T a0863; T a0864; T a0865; T a0866; T a0867; T a0868; T a0869;
+ T a0870; T a0871; T a0872; T a0873; T a0874; T a0875; T a0876; T a0877; T a0878; T a0879;
+ T a0880; T a0881; T a0882; T a0883; T a0884; T a0885; T a0886; T a0887; T a0888; T a0889;
+ T a0890; T a0891; T a0892; T a0893; T a0894; T a0895; T a0896; T a0897; T a0898; T a0899;
+ T a0900; T a0901; T a0902; T a0903; T a0904; T a0905; T a0906; T a0907; T a0908; T a0909;
+ T a0910; T a0911; T a0912; T a0913; T a0914; T a0915; T a0916; T a0917; T a0918; T a0919;
+ T a0920; T a0921; T a0922; T a0923; T a0924; T a0925; T a0926; T a0927; T a0928; T a0929;
+ T a0930; T a0931; T a0932; T a0933; T a0934; T a0935; T a0936; T a0937; T a0938; T a0939;
+ T a0940; T a0941; T a0942; T a0943; T a0944; T a0945; T a0946; T a0947; T a0948; T a0949;
+ T a0950; T a0951; T a0952; T a0953; T a0954; T a0955; T a0956; T a0957; T a0958; T a0959;
+ T a0960; T a0961; T a0962; T a0963; T a0964; T a0965; T a0966; T a0967; T a0968; T a0969;
+ T a0970; T a0971; T a0972; T a0973; T a0974; T a0975; T a0976; T a0977; T a0978; T a0979;
+ T a0980; T a0981; T a0982; T a0983; T a0984; T a0985; T a0986; T a0987; T a0988; T a0989;
+ T a0990; T a0991; T a0992; T a0993; T a0994; T a0995; T a0996; T a0997; T a0998; T a0999;
+ T a1000; T a1001; T a1002; T a1003; T a1004; T a1005; T a1006; T a1007; T a1008; T a1009;
+ T a1010; T a1011; T a1012; T a1013; T a1014; T a1015; T a1016; T a1017; T a1018; T a1019;
+ T a1020; T a1021; T a1022; T a1023; T a1024; T a1025; T a1026; T a1027; T a1028; T a1029;
+ T a1030; T a1031; T a1032; T a1033; T a1034; T a1035; T a1036; T a1037; T a1038; T a1039;
+ T a1040; T a1041; T a1042; T a1043; T a1044; T a1045; T a1046; T a1047; T a1048; T a1049;
+ T a1050; T a1051; T a1052; T a1053; T a1054; T a1055; T a1056; T a1057; T a1058; T a1059;
+ T a1060; T a1061; T a1062; T a1063; T a1064; T a1065; T a1066; T a1067; T a1068; T a1069;
+ T a1070; T a1071; T a1072; T a1073; T a1074; T a1075; T a1076; T a1077; T a1078; T a1079;
+ T a1080; T a1081; T a1082; T a1083; T a1084; T a1085; T a1086; T a1087; T a1088; T a1089;
+ T a1090; T a1091; T a1092; T a1093; T a1094; T a1095; T a1096; T a1097; T a1098; T a1099;
+ T a1100; T a1101; T a1102; T a1103; T a1104; T a1105; T a1106; T a1107; T a1108; T a1109;
+ T a1110; T a1111; T a1112; T a1113; T a1114; T a1115; T a1116; T a1117; T a1118; T a1119;
+ T a1120; T a1121; T a1122; T a1123; T a1124; T a1125; T a1126; T a1127; T a1128; T a1129;
+ T a1130; T a1131; T a1132; T a1133; T a1134; T a1135; T a1136; T a1137; T a1138; T a1139;
+ T a1140; T a1141; T a1142; T a1143; T a1144; T a1145; T a1146; T a1147; T a1148; T a1149;
+ T a1150; T a1151; T a1152; T a1153; T a1154; T a1155; T a1156; T a1157; T a1158; T a1159;
+ T a1160; T a1161; T a1162; T a1163; T a1164; T a1165; T a1166; T a1167; T a1168; T a1169;
+ T a1170; T a1171; T a1172; T a1173; T a1174; T a1175; T a1176; T a1177; T a1178; T a1179;
+ T a1180; T a1181; T a1182; T a1183; T a1184; T a1185; T a1186; T a1187; T a1188; T a1189;
+ T a1190; T a1191; T a1192; T a1193; T a1194; T a1195; T a1196; T a1197; T a1198; T a1199;
+ T a1200; T a1201; T a1202; T a1203; T a1204; T a1205; T a1206; T a1207; T a1208; T a1209;
+ T a1210; T a1211; T a1212; T a1213; T a1214; T a1215; T a1216; T a1217; T a1218; T a1219;
+ T a1220; T a1221; T a1222; T a1223; T a1224; T a1225; T a1226; T a1227; T a1228; T a1229;
+ T a1230; T a1231; T a1232; T a1233; T a1234; T a1235; T a1236; T a1237; T a1238; T a1239;
+ T a1240; T a1241; T a1242; T a1243; T a1244; T a1245; T a1246; T a1247; T a1248; T a1249;
+ T a1250; T a1251; T a1252; T a1253; T a1254; T a1255; T a1256; T a1257; T a1258; T a1259;
+ T a1260; T a1261; T a1262; T a1263; T a1264; T a1265; T a1266; T a1267; T a1268; T a1269;
+ T a1270; T a1271; T a1272; T a1273; T a1274; T a1275; T a1276; T a1277; T a1278; T a1279;
+ T a1280; T a1281; T a1282; T a1283; T a1284; T a1285; T a1286; T a1287; T a1288; T a1289;
+ T a1290; T a1291; T a1292; T a1293; T a1294; T a1295; T a1296; T a1297; T a1298; T a1299;
+ T a1300; T a1301; T a1302; T a1303; T a1304; T a1305; T a1306; T a1307; T a1308; T a1309;
+ T a1310; T a1311; T a1312; T a1313; T a1314; T a1315; T a1316; T a1317; T a1318; T a1319;
+ T a1320; T a1321; T a1322; T a1323; T a1324; T a1325; T a1326; T a1327; T a1328; T a1329;
+ T a1330; T a1331; T a1332; T a1333; T a1334; T a1335; T a1336; T a1337; T a1338; T a1339;
+ T a1340; T a1341; T a1342; T a1343; T a1344; T a1345; T a1346; T a1347; T a1348; T a1349;
+ T a1350; T a1351; T a1352; T a1353; T a1354; T a1355; T a1356; T a1357; T a1358; T a1359;
+ T a1360; T a1361; T a1362; T a1363; T a1364; T a1365; T a1366; T a1367; T a1368; T a1369;
+ T a1370; T a1371; T a1372; T a1373; T a1374; T a1375; T a1376; T a1377; T a1378; T a1379;
+ T a1380; T a1381; T a1382; T a1383; T a1384; T a1385; T a1386; T a1387; T a1388; T a1389;
+ T a1390; T a1391; T a1392; T a1393; T a1394; T a1395; T a1396; T a1397; T a1398; T a1399;
+ T a1400; T a1401; T a1402; T a1403; T a1404; T a1405; T a1406; T a1407; T a1408; T a1409;
+ T a1410; T a1411; T a1412; T a1413; T a1414; T a1415; T a1416; T a1417; T a1418; T a1419;
+ T a1420; T a1421; T a1422; T a1423; T a1424; T a1425; T a1426; T a1427; T a1428; T a1429;
+ T a1430; T a1431; T a1432; T a1433; T a1434; T a1435; T a1436; T a1437; T a1438; T a1439;
+ T a1440; T a1441; T a1442; T a1443; T a1444; T a1445; T a1446; T a1447; T a1448; T a1449;
+ T a1450; T a1451; T a1452; T a1453; T a1454; T a1455; T a1456; T a1457; T a1458; T a1459;
+ T a1460; T a1461; T a1462; T a1463; T a1464; T a1465; T a1466; T a1467; T a1468; T a1469;
+ T a1470; T a1471; T a1472; T a1473; T a1474; T a1475; T a1476; T a1477; T a1478; T a1479;
+ T a1480; T a1481; T a1482; T a1483; T a1484; T a1485; T a1486; T a1487; T a1488; T a1489;
+ T a1490; T a1491; T a1492; T a1493; T a1494; T a1495; T a1496; T a1497; T a1498; T a1499;
+ T a1500; T a1501; T a1502; T a1503; T a1504; T a1505; T a1506; T a1507; T a1508; T a1509;
+ T a1510; T a1511; T a1512; T a1513; T a1514; T a1515; T a1516; T a1517; T a1518; T a1519;
+ T a1520; T a1521; T a1522; T a1523; T a1524; T a1525; T a1526; T a1527; T a1528; T a1529;
+ T a1530; T a1531; T a1532; T a1533; T a1534; T a1535; T a1536; T a1537; T a1538; T a1539;
+ T a1540; T a1541; T a1542; T a1543; T a1544; T a1545; T a1546; T a1547; T a1548; T a1549;
+ T a1550; T a1551; T a1552; T a1553; T a1554; T a1555; T a1556; T a1557; T a1558; T a1559;
+ T a1560; T a1561; T a1562; T a1563; T a1564; T a1565; T a1566; T a1567; T a1568; T a1569;
+ T a1570; T a1571; T a1572; T a1573; T a1574; T a1575; T a1576; T a1577; T a1578; T a1579;
+ T a1580; T a1581; T a1582; T a1583; T a1584; T a1585; T a1586; T a1587; T a1588; T a1589;
+ T a1590; T a1591; T a1592; T a1593; T a1594; T a1595; T a1596; T a1597; T a1598; T a1599;
+ T a1600; T a1601; T a1602; T a1603; T a1604; T a1605; T a1606; T a1607; T a1608; T a1609;
+ T a1610; T a1611; T a1612; T a1613; T a1614; T a1615; T a1616; T a1617; T a1618; T a1619;
+ T a1620; T a1621; T a1622; T a1623; T a1624; T a1625; T a1626; T a1627; T a1628; T a1629;
+ T a1630; T a1631; T a1632; T a1633; T a1634; T a1635; T a1636; T a1637; T a1638; T a1639;
+ T a1640; T a1641; T a1642; T a1643; T a1644; T a1645; T a1646; T a1647; T a1648; T a1649;
+ T a1650; T a1651; T a1652; T a1653; T a1654; T a1655; T a1656; T a1657; T a1658; T a1659;
+ T a1660; T a1661; T a1662; T a1663; T a1664; T a1665; T a1666; T a1667; T a1668; T a1669;
+ T a1670; T a1671; T a1672; T a1673; T a1674; T a1675; T a1676; T a1677; T a1678; T a1679;
+ T a1680; T a1681; T a1682; T a1683; T a1684; T a1685; T a1686; T a1687; T a1688; T a1689;
+ T a1690; T a1691; T a1692; T a1693; T a1694; T a1695; T a1696; T a1697; T a1698; T a1699;
+ T a1700; T a1701; T a1702; T a1703; T a1704; T a1705; T a1706; T a1707; T a1708; T a1709;
+ T a1710; T a1711; T a1712; T a1713; T a1714; T a1715; T a1716; T a1717; T a1718; T a1719;
+ T a1720; T a1721; T a1722; T a1723; T a1724; T a1725; T a1726; T a1727; T a1728; T a1729;
+ T a1730; T a1731; T a1732; T a1733; T a1734; T a1735; T a1736; T a1737; T a1738; T a1739;
+ T a1740; T a1741; T a1742; T a1743; T a1744; T a1745; T a1746; T a1747; T a1748; T a1749;
+ T a1750; T a1751; T a1752; T a1753; T a1754; T a1755; T a1756; T a1757; T a1758; T a1759;
+ T a1760; T a1761; T a1762; T a1763; T a1764; T a1765; T a1766; T a1767; T a1768; T a1769;
+ T a1770; T a1771; T a1772; T a1773; T a1774; T a1775; T a1776; T a1777; T a1778; T a1779;
+ T a1780; T a1781; T a1782; T a1783; T a1784; T a1785; T a1786; T a1787; T a1788; T a1789;
+ T a1790; T a1791; T a1792; T a1793; T a1794; T a1795; T a1796; T a1797; T a1798; T a1799;
+ T a1800; T a1801; T a1802; T a1803; T a1804; T a1805; T a1806; T a1807; T a1808; T a1809;
+ T a1810; T a1811; T a1812; T a1813; T a1814; T a1815; T a1816; T a1817; T a1818; T a1819;
+ T a1820; T a1821; T a1822; T a1823; T a1824; T a1825; T a1826; T a1827; T a1828; T a1829;
+ T a1830; T a1831; T a1832; T a1833; T a1834; T a1835; T a1836; T a1837; T a1838; T a1839;
+ T a1840; T a1841; T a1842; T a1843; T a1844; T a1845; T a1846; T a1847; T a1848; T a1849;
+ T a1850; T a1851; T a1852; T a1853; T a1854; T a1855; T a1856; T a1857; T a1858; T a1859;
+ T a1860; T a1861; T a1862; T a1863; T a1864; T a1865; T a1866; T a1867; T a1868; T a1869;
+ T a1870; T a1871; T a1872; T a1873; T a1874; T a1875; T a1876; T a1877; T a1878; T a1879;
+ T a1880; T a1881; T a1882; T a1883; T a1884; T a1885; T a1886; T a1887; T a1888; T a1889;
+ T a1890; T a1891; T a1892; T a1893; T a1894; T a1895; T a1896; T a1897; T a1898; T a1899;
+ T a1900; T a1901; T a1902; T a1903; T a1904; T a1905; T a1906; T a1907; T a1908; T a1909;
+ T a1910; T a1911; T a1912; T a1913; T a1914; T a1915; T a1916; T a1917; T a1918; T a1919;
+ T a1920; T a1921; T a1922; T a1923; T a1924; T a1925; T a1926; T a1927; T a1928; T a1929;
+ T a1930; T a1931; T a1932; T a1933; T a1934; T a1935; T a1936; T a1937; T a1938; T a1939;
+ T a1940; T a1941; T a1942; T a1943; T a1944; T a1945; T a1946; T a1947; T a1948; T a1949;
+ T a1950; T a1951; T a1952; T a1953; T a1954; T a1955; T a1956; T a1957; T a1958; T a1959;
+ T a1960; T a1961; T a1962; T a1963; T a1964; T a1965; T a1966; T a1967; T a1968; T a1969;
+ T a1970; T a1971; T a1972; T a1973; T a1974; T a1975; T a1976; T a1977; T a1978; T a1979;
+ T a1980; T a1981; T a1982; T a1983; T a1984; T a1985; T a1986; T a1987; T a1988; T a1989;
+ T a1990; T a1991; T a1992; T a1993; T a1994; T a1995; T a1996; T a1997; T a1998; T a1999;
+
+
+ T a2000; T a2001; T a2002; T a2003; T a2004; T a2005; T a2006; T a2007; T a2008; T a2009;
+ T a2010; T a2011; T a2012; T a2013; T a2014; T a2015; T a2016; T a2017; T a2018; T a2019;
+ T a2020; T a2021; T a2022; T a2023; T a2024; T a2025; T a2026; T a2027; T a2028; T a2029;
+ T a2030; T a2031; T a2032; T a2033; T a2034; T a2035; T a2036; T a2037; T a2038; T a2039;
+ T a2040; T a2041; T a2042; T a2043; T a2044; T a2045; T a2046; T a2047; T a2048; T a2049;
+ T a2050; T a2051; T a2052; T a2053; T a2054; T a2055; T a2056; T a2057; T a2058; T a2059;
+ T a2060; T a2061; T a2062; T a2063; T a2064; T a2065; T a2066; T a2067; T a2068; T a2069;
+ T a2070; T a2071; T a2072; T a2073; T a2074; T a2075; T a2076; T a2077; T a2078; T a2079;
+ T a2080; T a2081; T a2082; T a2083; T a2084; T a2085; T a2086; T a2087; T a2088; T a2089;
+ T a2090; T a2091; T a2092; T a2093; T a2094; T a2095; T a2096; T a2097; T a2098; T a2099;
+ T a2100; T a2101; T a2102; T a2103; T a2104; T a2105; T a2106; T a2107; T a2108; T a2109;
+ T a2110; T a2111; T a2112; T a2113; T a2114; T a2115; T a2116; T a2117; T a2118; T a2119;
+ T a2120; T a2121; T a2122; T a2123; T a2124; T a2125; T a2126; T a2127; T a2128; T a2129;
+ T a2130; T a2131; T a2132; T a2133; T a2134; T a2135; T a2136; T a2137; T a2138; T a2139;
+ T a2140; T a2141; T a2142; T a2143; T a2144; T a2145; T a2146; T a2147; T a2148; T a2149;
+ T a2150; T a2151; T a2152; T a2153; T a2154; T a2155; T a2156; T a2157; T a2158; T a2159;
+ T a2160; T a2161; T a2162; T a2163; T a2164; T a2165; T a2166; T a2167; T a2168; T a2169;
+ T a2170; T a2171; T a2172; T a2173; T a2174; T a2175; T a2176; T a2177; T a2178; T a2179;
+ T a2180; T a2181; T a2182; T a2183; T a2184; T a2185; T a2186; T a2187; T a2188; T a2189;
+ T a2190; T a2191; T a2192; T a2193; T a2194; T a2195; T a2196; T a2197; T a2198; T a2199;
+ T a2200; T a2201; T a2202; T a2203; T a2204; T a2205; T a2206; T a2207; T a2208; T a2209;
+ T a2210; T a2211; T a2212; T a2213; T a2214; T a2215; T a2216; T a2217; T a2218; T a2219;
+ T a2220; T a2221; T a2222; T a2223; T a2224; T a2225; T a2226; T a2227; T a2228; T a2229;
+ T a2230; T a2231; T a2232; T a2233; T a2234; T a2235; T a2236; T a2237; T a2238; T a2239;
+ T a2240; T a2241; T a2242; T a2243; T a2244; T a2245; T a2246; T a2247; T a2248; T a2249;
+ T a2250; T a2251; T a2252; T a2253; T a2254; T a2255; T a2256; T a2257; T a2258; T a2259;
+ T a2260; T a2261; T a2262; T a2263; T a2264; T a2265; T a2266; T a2267; T a2268; T a2269;
+ T a2270; T a2271; T a2272; T a2273; T a2274; T a2275; T a2276; T a2277; T a2278; T a2279;
+ T a2280; T a2281; T a2282; T a2283; T a2284; T a2285; T a2286; T a2287; T a2288; T a2289;
+ T a2290; T a2291; T a2292; T a2293; T a2294; T a2295; T a2296; T a2297; T a2298; T a2299;
+ T a2300; T a2301; T a2302; T a2303; T a2304; T a2305; T a2306; T a2307; T a2308; T a2309;
+ T a2310; T a2311; T a2312; T a2313; T a2314; T a2315; T a2316; T a2317; T a2318; T a2319;
+ T a2320; T a2321; T a2322; T a2323; T a2324; T a2325; T a2326; T a2327; T a2328; T a2329;
+ T a2330; T a2331; T a2332; T a2333; T a2334; T a2335; T a2336; T a2337; T a2338; T a2339;
+ T a2340; T a2341; T a2342; T a2343; T a2344; T a2345; T a2346; T a2347; T a2348; T a2349;
+ T a2350; T a2351; T a2352; T a2353; T a2354; T a2355; T a2356; T a2357; T a2358; T a2359;
+ T a2360; T a2361; T a2362; T a2363; T a2364; T a2365; T a2366; T a2367; T a2368; T a2369;
+ T a2370; T a2371; T a2372; T a2373; T a2374; T a2375; T a2376; T a2377; T a2378; T a2379;
+ T a2380; T a2381; T a2382; T a2383; T a2384; T a2385; T a2386; T a2387; T a2388; T a2389;
+ T a2390; T a2391; T a2392; T a2393; T a2394; T a2395; T a2396; T a2397; T a2398; T a2399;
+ T a2400; T a2401; T a2402; T a2403; T a2404; T a2405; T a2406; T a2407; T a2408; T a2409;
+ T a2410; T a2411; T a2412; T a2413; T a2414; T a2415; T a2416; T a2417; T a2418; T a2419;
+ T a2420; T a2421; T a2422; T a2423; T a2424; T a2425; T a2426; T a2427; T a2428; T a2429;
+ T a2430; T a2431; T a2432; T a2433; T a2434; T a2435; T a2436; T a2437; T a2438; T a2439;
+ T a2440; T a2441; T a2442; T a2443; T a2444; T a2445; T a2446; T a2447; T a2448; T a2449;
+ T a2450; T a2451; T a2452; T a2453; T a2454; T a2455; T a2456; T a2457; T a2458; T a2459;
+ T a2460; T a2461; T a2462; T a2463; T a2464; T a2465; T a2466; T a2467; T a2468; T a2469;
+ T a2470; T a2471; T a2472; T a2473; T a2474; T a2475; T a2476; T a2477; T a2478; T a2479;
+ T a2480; T a2481; T a2482; T a2483; T a2484; T a2485; T a2486; T a2487; T a2488; T a2489;
+ T a2490; T a2491; T a2492; T a2493; T a2494; T a2495; T a2496; T a2497; T a2498; T a2499;
+ T a2500; T a2501; T a2502; T a2503; T a2504; T a2505; T a2506; T a2507; T a2508; T a2509;
+ T a2510; T a2511; T a2512; T a2513; T a2514; T a2515; T a2516; T a2517; T a2518; T a2519;
+ T a2520; T a2521; T a2522; T a2523; T a2524; T a2525; T a2526; T a2527; T a2528; T a2529;
+ T a2530; T a2531; T a2532; T a2533; T a2534; T a2535; T a2536; T a2537; T a2538; T a2539;
+ T a2540; T a2541; T a2542; T a2543; T a2544; T a2545; T a2546; T a2547; T a2548; T a2549;
+ T a2550; T a2551; T a2552; T a2553; T a2554; T a2555; T a2556; T a2557; T a2558; T a2559;
+ T a2560; T a2561; T a2562; T a2563; T a2564; T a2565; T a2566; T a2567; T a2568; T a2569;
+ T a2570; T a2571; T a2572; T a2573; T a2574; T a2575; T a2576; T a2577; T a2578; T a2579;
+ T a2580; T a2581; T a2582; T a2583; T a2584; T a2585; T a2586; T a2587; T a2588; T a2589;
+ T a2590; T a2591; T a2592; T a2593; T a2594; T a2595; T a2596; T a2597; T a2598; T a2599;
+ T a2600; T a2601; T a2602; T a2603; T a2604; T a2605; T a2606; T a2607; T a2608; T a2609;
+ T a2610; T a2611; T a2612; T a2613; T a2614; T a2615; T a2616; T a2617; T a2618; T a2619;
+ T a2620; T a2621; T a2622; T a2623; T a2624; T a2625; T a2626; T a2627; T a2628; T a2629;
+ T a2630; T a2631; T a2632; T a2633; T a2634; T a2635; T a2636; T a2637; T a2638; T a2639;
+ T a2640; T a2641; T a2642; T a2643; T a2644; T a2645; T a2646; T a2647; T a2648; T a2649;
+ T a2650; T a2651; T a2652; T a2653; T a2654; T a2655; T a2656; T a2657; T a2658; T a2659;
+ T a2660; T a2661; T a2662; T a2663; T a2664; T a2665; T a2666; T a2667; T a2668; T a2669;
+ T a2670; T a2671; T a2672; T a2673; T a2674; T a2675; T a2676; T a2677; T a2678; T a2679;
+ T a2680; T a2681; T a2682; T a2683; T a2684; T a2685; T a2686; T a2687; T a2688; T a2689;
+ T a2690; T a2691; T a2692; T a2693; T a2694; T a2695; T a2696; T a2697; T a2698; T a2699;
+ T a2700; T a2701; T a2702; T a2703; T a2704; T a2705; T a2706; T a2707; T a2708; T a2709;
+ T a2710; T a2711; T a2712; T a2713; T a2714; T a2715; T a2716; T a2717; T a2718; T a2719;
+ T a2720; T a2721; T a2722; T a2723; T a2724; T a2725; T a2726; T a2727; T a2728; T a2729;
+ T a2730; T a2731; T a2732; T a2733; T a2734; T a2735; T a2736; T a2737; T a2738; T a2739;
+ T a2740; T a2741; T a2742; T a2743; T a2744; T a2745; T a2746; T a2747; T a2748; T a2749;
+ T a2750; T a2751; T a2752; T a2753; T a2754; T a2755; T a2756; T a2757; T a2758; T a2759;
+ T a2760; T a2761; T a2762; T a2763; T a2764; T a2765; T a2766; T a2767; T a2768; T a2769;
+ T a2770; T a2771; T a2772; T a2773; T a2774; T a2775; T a2776; T a2777; T a2778; T a2779;
+ T a2780; T a2781; T a2782; T a2783; T a2784; T a2785; T a2786; T a2787; T a2788; T a2789;
+ T a2790; T a2791; T a2792; T a2793; T a2794; T a2795; T a2796; T a2797; T a2798; T a2799;
+ T a2800; T a2801; T a2802; T a2803; T a2804; T a2805; T a2806; T a2807; T a2808; T a2809;
+ T a2810; T a2811; T a2812; T a2813; T a2814; T a2815; T a2816; T a2817; T a2818; T a2819;
+ T a2820; T a2821; T a2822; T a2823; T a2824; T a2825; T a2826; T a2827; T a2828; T a2829;
+ T a2830; T a2831; T a2832; T a2833; T a2834; T a2835; T a2836; T a2837; T a2838; T a2839;
+ T a2840; T a2841; T a2842; T a2843; T a2844; T a2845; T a2846; T a2847; T a2848; T a2849;
+ T a2850; T a2851; T a2852; T a2853; T a2854; T a2855; T a2856; T a2857; T a2858; T a2859;
+ T a2860; T a2861; T a2862; T a2863; T a2864; T a2865; T a2866; T a2867; T a2868; T a2869;
+ T a2870; T a2871; T a2872; T a2873; T a2874; T a2875; T a2876; T a2877; T a2878; T a2879;
+ T a2880; T a2881; T a2882; T a2883; T a2884; T a2885; T a2886; T a2887; T a2888; T a2889;
+ T a2890; T a2891; T a2892; T a2893; T a2894; T a2895; T a2896; T a2897; T a2898; T a2899;
+ T a2900; T a2901; T a2902; T a2903; T a2904; T a2905; T a2906; T a2907; T a2908; T a2909;
+ T a2910; T a2911; T a2912; T a2913; T a2914; T a2915; T a2916; T a2917; T a2918; T a2919;
+ T a2920; T a2921; T a2922; T a2923; T a2924; T a2925; T a2926; T a2927; T a2928; T a2929;
+ T a2930; T a2931; T a2932; T a2933; T a2934; T a2935; T a2936; T a2937; T a2938; T a2939;
+ T a2940; T a2941; T a2942; T a2943; T a2944; T a2945; T a2946; T a2947; T a2948; T a2949;
+ T a2950; T a2951; T a2952; T a2953; T a2954; T a2955; T a2956; T a2957; T a2958; T a2959;
+ T a2960; T a2961; T a2962; T a2963; T a2964; T a2965; T a2966; T a2967; T a2968; T a2969;
+ T a2970; T a2971; T a2972; T a2973; T a2974; T a2975; T a2976; T a2977; T a2978; T a2979;
+ T a2980; T a2981; T a2982; T a2983; T a2984; T a2985; T a2986; T a2987; T a2988; T a2989;
+ T a2990; T a2991; T a2992; T a2993; T a2994; T a2995; T a2996; T a2997; T a2998; T a2999;
+
+
+ T a3000; T a3001; T a3002; T a3003; T a3004; T a3005; T a3006; T a3007; T a3008; T a3009;
+ T a3010; T a3011; T a3012; T a3013; T a3014; T a3015; T a3016; T a3017; T a3018; T a3019;
+ T a3020; T a3021; T a3022; T a3023; T a3024; T a3025; T a3026; T a3027; T a3028; T a3029;
+ T a3030; T a3031; T a3032; T a3033; T a3034; T a3035; T a3036; T a3037; T a3038; T a3039;
+ T a3040; T a3041; T a3042; T a3043; T a3044; T a3045; T a3046; T a3047; T a3048; T a3049;
+ T a3050; T a3051; T a3052; T a3053; T a3054; T a3055; T a3056; T a3057; T a3058; T a3059;
+ T a3060; T a3061; T a3062; T a3063; T a3064; T a3065; T a3066; T a3067; T a3068; T a3069;
+ T a3070; T a3071; T a3072; T a3073; T a3074; T a3075; T a3076; T a3077; T a3078; T a3079;
+ T a3080; T a3081; T a3082; T a3083; T a3084; T a3085; T a3086; T a3087; T a3088; T a3089;
+ T a3090; T a3091; T a3092; T a3093; T a3094; T a3095; T a3096; T a3097; T a3098; T a3099;
+ T a3100; T a3101; T a3102; T a3103; T a3104; T a3105; T a3106; T a3107; T a3108; T a3109;
+ T a3110; T a3111; T a3112; T a3113; T a3114; T a3115; T a3116; T a3117; T a3118; T a3119;
+ T a3120; T a3121; T a3122; T a3123; T a3124; T a3125; T a3126; T a3127; T a3128; T a3129;
+ T a3130; T a3131; T a3132; T a3133; T a3134; T a3135; T a3136; T a3137; T a3138; T a3139;
+ T a3140; T a3141; T a3142; T a3143; T a3144; T a3145; T a3146; T a3147; T a3148; T a3149;
+ T a3150; T a3151; T a3152; T a3153; T a3154; T a3155; T a3156; T a3157; T a3158; T a3159;
+ T a3160; T a3161; T a3162; T a3163; T a3164; T a3165; T a3166; T a3167; T a3168; T a3169;
+ T a3170; T a3171; T a3172; T a3173; T a3174; T a3175; T a3176; T a3177; T a3178; T a3179;
+ T a3180; T a3181; T a3182; T a3183; T a3184; T a3185; T a3186; T a3187; T a3188; T a3189;
+ T a3190; T a3191; T a3192; T a3193; T a3194; T a3195; T a3196; T a3197; T a3198; T a3199;
+ T a3200; T a3201; T a3202; T a3203; T a3204; T a3205; T a3206; T a3207; T a3208; T a3209;
+ T a3210; T a3211; T a3212; T a3213; T a3214; T a3215; T a3216; T a3217; T a3218; T a3219;
+ T a3220; T a3221; T a3222; T a3223; T a3224; T a3225; T a3226; T a3227; T a3228; T a3229;
+ T a3230; T a3231; T a3232; T a3233; T a3234; T a3235; T a3236; T a3237; T a3238; T a3239;
+ T a3240; T a3241; T a3242; T a3243; T a3244; T a3245; T a3246; T a3247; T a3248; T a3249;
+ T a3250; T a3251; T a3252; T a3253; T a3254; T a3255; T a3256; T a3257; T a3258; T a3259;
+ T a3260; T a3261; T a3262; T a3263; T a3264; T a3265; T a3266; T a3267; T a3268; T a3269;
+ T a3270; T a3271; T a3272; T a3273; T a3274; T a3275; T a3276; T a3277; T a3278; T a3279;
+ T a3280; T a3281; T a3282; T a3283; T a3284; T a3285; T a3286; T a3287; T a3288; T a3289;
+ T a3290; T a3291; T a3292; T a3293; T a3294; T a3295; T a3296; T a3297; T a3298; T a3299;
+ T a3300; T a3301; T a3302; T a3303; T a3304; T a3305; T a3306; T a3307; T a3308; T a3309;
+ T a3310; T a3311; T a3312; T a3313; T a3314; T a3315; T a3316; T a3317; T a3318; T a3319;
+ T a3320; T a3321; T a3322; T a3323; T a3324; T a3325; T a3326; T a3327; T a3328; T a3329;
+ T a3330; T a3331; T a3332; T a3333; T a3334; T a3335; T a3336; T a3337; T a3338; T a3339;
+ T a3340; T a3341; T a3342; T a3343; T a3344; T a3345; T a3346; T a3347; T a3348; T a3349;
+ T a3350; T a3351; T a3352; T a3353; T a3354; T a3355; T a3356; T a3357; T a3358; T a3359;
+ T a3360; T a3361; T a3362; T a3363; T a3364; T a3365; T a3366; T a3367; T a3368; T a3369;
+ T a3370; T a3371; T a3372; T a3373; T a3374; T a3375; T a3376; T a3377; T a3378; T a3379;
+ T a3380; T a3381; T a3382; T a3383; T a3384; T a3385; T a3386; T a3387; T a3388; T a3389;
+ T a3390; T a3391; T a3392; T a3393; T a3394; T a3395; T a3396; T a3397; T a3398; T a3399;
+ T a3400; T a3401; T a3402; T a3403; T a3404; T a3405; T a3406; T a3407; T a3408; T a3409;
+ T a3410; T a3411; T a3412; T a3413; T a3414; T a3415; T a3416; T a3417; T a3418; T a3419;
+ T a3420; T a3421; T a3422; T a3423; T a3424; T a3425; T a3426; T a3427; T a3428; T a3429;
+ T a3430; T a3431; T a3432; T a3433; T a3434; T a3435; T a3436; T a3437; T a3438; T a3439;
+ T a3440; T a3441; T a3442; T a3443; T a3444; T a3445; T a3446; T a3447; T a3448; T a3449;
+ T a3450; T a3451; T a3452; T a3453; T a3454; T a3455; T a3456; T a3457; T a3458; T a3459;
+ T a3460; T a3461; T a3462; T a3463; T a3464; T a3465; T a3466; T a3467; T a3468; T a3469;
+ T a3470; T a3471; T a3472; T a3473; T a3474; T a3475; T a3476; T a3477; T a3478; T a3479;
+ T a3480; T a3481; T a3482; T a3483; T a3484; T a3485; T a3486; T a3487; T a3488; T a3489;
+ T a3490; T a3491; T a3492; T a3493; T a3494; T a3495; T a3496; T a3497; T a3498; T a3499;
+ T a3500; T a3501; T a3502; T a3503; T a3504; T a3505; T a3506; T a3507; T a3508; T a3509;
+ T a3510; T a3511; T a3512; T a3513; T a3514; T a3515; T a3516; T a3517; T a3518; T a3519;
+ T a3520; T a3521; T a3522; T a3523; T a3524; T a3525; T a3526; T a3527; T a3528; T a3529;
+ T a3530; T a3531; T a3532; T a3533; T a3534; T a3535; T a3536; T a3537; T a3538; T a3539;
+ T a3540; T a3541; T a3542; T a3543; T a3544; T a3545; T a3546; T a3547; T a3548; T a3549;
+ T a3550; T a3551; T a3552; T a3553; T a3554; T a3555; T a3556; T a3557; T a3558; T a3559;
+ T a3560; T a3561; T a3562; T a3563; T a3564; T a3565; T a3566; T a3567; T a3568; T a3569;
+ T a3570; T a3571; T a3572; T a3573; T a3574; T a3575; T a3576; T a3577; T a3578; T a3579;
+ T a3580; T a3581; T a3582; T a3583; T a3584; T a3585; T a3586; T a3587; T a3588; T a3589;
+ T a3590; T a3591; T a3592; T a3593; T a3594; T a3595; T a3596; T a3597; T a3598; T a3599;
+ T a3600; T a3601; T a3602; T a3603; T a3604; T a3605; T a3606; T a3607; T a3608; T a3609;
+ T a3610; T a3611; T a3612; T a3613; T a3614; T a3615; T a3616; T a3617; T a3618; T a3619;
+ T a3620; T a3621; T a3622; T a3623; T a3624; T a3625; T a3626; T a3627; T a3628; T a3629;
+ T a3630; T a3631; T a3632; T a3633; T a3634; T a3635; T a3636; T a3637; T a3638; T a3639;
+ T a3640; T a3641; T a3642; T a3643; T a3644; T a3645; T a3646; T a3647; T a3648; T a3649;
+ T a3650; T a3651; T a3652; T a3653; T a3654; T a3655; T a3656; T a3657; T a3658; T a3659;
+ T a3660; T a3661; T a3662; T a3663; T a3664; T a3665; T a3666; T a3667; T a3668; T a3669;
+ T a3670; T a3671; T a3672; T a3673; T a3674; T a3675; T a3676; T a3677; T a3678; T a3679;
+ T a3680; T a3681; T a3682; T a3683; T a3684; T a3685; T a3686; T a3687; T a3688; T a3689;
+ T a3690; T a3691; T a3692; T a3693; T a3694; T a3695; T a3696; T a3697; T a3698; T a3699;
+ T a3700; T a3701; T a3702; T a3703; T a3704; T a3705; T a3706; T a3707; T a3708; T a3709;
+ T a3710; T a3711; T a3712; T a3713; T a3714; T a3715; T a3716; T a3717; T a3718; T a3719;
+ T a3720; T a3721; T a3722; T a3723; T a3724; T a3725; T a3726; T a3727; T a3728; T a3729;
+ T a3730; T a3731; T a3732; T a3733; T a3734; T a3735; T a3736; T a3737; T a3738; T a3739;
+ T a3740; T a3741; T a3742; T a3743; T a3744; T a3745; T a3746; T a3747; T a3748; T a3749;
+ T a3750; T a3751; T a3752; T a3753; T a3754; T a3755; T a3756; T a3757; T a3758; T a3759;
+ T a3760; T a3761; T a3762; T a3763; T a3764; T a3765; T a3766; T a3767; T a3768; T a3769;
+ T a3770; T a3771; T a3772; T a3773; T a3774; T a3775; T a3776; T a3777; T a3778; T a3779;
+ T a3780; T a3781; T a3782; T a3783; T a3784; T a3785; T a3786; T a3787; T a3788; T a3789;
+ T a3790; T a3791; T a3792; T a3793; T a3794; T a3795; T a3796; T a3797; T a3798; T a3799;
+ T a3800; T a3801; T a3802; T a3803; T a3804; T a3805; T a3806; T a3807; T a3808; T a3809;
+ T a3810; T a3811; T a3812; T a3813; T a3814; T a3815; T a3816; T a3817; T a3818; T a3819;
+ T a3820; T a3821; T a3822; T a3823; T a3824; T a3825; T a3826; T a3827; T a3828; T a3829;
+ T a3830; T a3831; T a3832; T a3833; T a3834; T a3835; T a3836; T a3837; T a3838; T a3839;
+ T a3840; T a3841; T a3842; T a3843; T a3844; T a3845; T a3846; T a3847; T a3848; T a3849;
+ T a3850; T a3851; T a3852; T a3853; T a3854; T a3855; T a3856; T a3857; T a3858; T a3859;
+ T a3860; T a3861; T a3862; T a3863; T a3864; T a3865; T a3866; T a3867; T a3868; T a3869;
+ T a3870; T a3871; T a3872; T a3873; T a3874; T a3875; T a3876; T a3877; T a3878; T a3879;
+ T a3880; T a3881; T a3882; T a3883; T a3884; T a3885; T a3886; T a3887; T a3888; T a3889;
+ T a3890; T a3891; T a3892; T a3893; T a3894; T a3895; T a3896; T a3897; T a3898; T a3899;
+ T a3900; T a3901; T a3902; T a3903; T a3904; T a3905; T a3906; T a3907; T a3908; T a3909;
+ T a3910; T a3911; T a3912; T a3913; T a3914; T a3915; T a3916; T a3917; T a3918; T a3919;
+ T a3920; T a3921; T a3922; T a3923; T a3924; T a3925; T a3926; T a3927; T a3928; T a3929;
+ T a3930; T a3931; T a3932; T a3933; T a3934; T a3935; T a3936; T a3937; T a3938; T a3939;
+ T a3940; T a3941; T a3942; T a3943; T a3944; T a3945; T a3946; T a3947; T a3948; T a3949;
+ T a3950; T a3951; T a3952; T a3953; T a3954; T a3955; T a3956; T a3957; T a3958; T a3959;
+ T a3960; T a3961; T a3962; T a3963; T a3964; T a3965; T a3966; T a3967; T a3968; T a3969;
+ T a3970; T a3971; T a3972; T a3973; T a3974; T a3975; T a3976; T a3977; T a3978; T a3979;
+ T a3980; T a3981; T a3982; T a3983; T a3984; T a3985; T a3986; T a3987; T a3988; T a3989;
+ T a3990; T a3991; T a3992; T a3993; T a3994; T a3995; T a3996; T a3997; T a3998; T a3999;
+};
+
+A::A() {}
diff --git a/gcc/testsuite/g++.dg/eh/forced1.C b/gcc/testsuite/g++.dg/eh/forced1.C
new file mode 100644
index 00000000000..8f090fa9df5
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/forced1.C
@@ -0,0 +1,80 @@
+// { dg-do run }
+
+// Test that forced unwinding runs all cleanups. Also tests that
+// rethrowing doesn't call the exception object destructor.
+
+#include <unwind.h>
+#include <stdlib.h>
+
+static int test = 0;
+
+static _Unwind_Reason_Code
+force_unwind_stop (int version, _Unwind_Action actions,
+ _Unwind_Exception_Class exc_class,
+ struct _Unwind_Exception *exc_obj,
+ struct _Unwind_Context *context,
+ void *stop_parameter)
+{
+ if (actions & _UA_END_OF_STACK)
+ {
+ if (test != 15)
+ abort ();
+ exit (0);
+ }
+
+ return _URC_NO_REASON;
+}
+
+static void
+force_unwind_cleanup (_Unwind_Reason_Code, struct _Unwind_Exception *)
+{
+ abort ();
+}
+
+static void force_unwind ()
+{
+ _Unwind_Exception *exc = new _Unwind_Exception;
+ exc->exception_class = 0;
+ exc->exception_cleanup = force_unwind_cleanup;
+
+#ifndef __USING_SJLJ_EXCEPTIONS__
+ _Unwind_ForcedUnwind (exc, force_unwind_stop, 0);
+#else
+ _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0);
+#endif
+
+ abort ();
+}
+
+struct S
+{
+ int bit;
+ S(int b) : bit(b) { }
+ ~S() { test |= bit; }
+};
+
+static void doit ()
+{
+ try {
+ S four(4);
+
+ try {
+ S one(1);
+ force_unwind ();
+
+ } catch(...) {
+ test |= 2;
+ throw;
+ }
+
+ } catch(...) {
+ test |= 8;
+ throw;
+ }
+}
+
+int main()
+{
+ doit ();
+ abort ();
+}
diff --git a/gcc/testsuite/g++.dg/eh/forced2.C b/gcc/testsuite/g++.dg/eh/forced2.C
new file mode 100644
index 00000000000..ebfda5554f2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/forced2.C
@@ -0,0 +1,50 @@
+// { dg-do run }
+
+// Test that leaving the catch block without rethrowing
+// does call the exception object destructor.
+
+#include <unwind.h>
+#include <stdlib.h>
+
+static _Unwind_Reason_Code
+force_unwind_stop (int version, _Unwind_Action actions,
+ _Unwind_Exception_Class exc_class,
+ struct _Unwind_Exception *exc_obj,
+ struct _Unwind_Context *context,
+ void *stop_parameter)
+{
+ if (actions & _UA_END_OF_STACK)
+ abort ();
+ return _URC_NO_REASON;
+}
+
+static void
+force_unwind_cleanup (_Unwind_Reason_Code, struct _Unwind_Exception *)
+{
+ exit (0);
+}
+
+static void
+force_unwind ()
+{
+ _Unwind_Exception *exc = new _Unwind_Exception;
+ exc->exception_class = 0;
+ exc->exception_cleanup = force_unwind_cleanup;
+
+#ifndef __USING_SJLJ_EXCEPTIONS__
+ _Unwind_ForcedUnwind (exc, force_unwind_stop, 0);
+#else
+ _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0);
+#endif
+
+ abort ();
+}
+
+int main()
+{
+ try {
+ force_unwind ();
+ } catch (...) {
+ }
+ abort ();
+}
diff --git a/gcc/testsuite/g++.dg/eh/forced3.C b/gcc/testsuite/g++.dg/eh/forced3.C
new file mode 100644
index 00000000000..2de421c4412
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/forced3.C
@@ -0,0 +1,55 @@
+// { dg-do run }
+
+// Test that forced unwinding calls std::unexpected going
+// throw a nothrow function.
+
+#include <unwind.h>
+#include <stdlib.h>
+#include <exception>
+
+static _Unwind_Reason_Code
+force_unwind_stop (int version, _Unwind_Action actions,
+ _Unwind_Exception_Class exc_class,
+ struct _Unwind_Exception *exc_obj,
+ struct _Unwind_Context *context,
+ void *stop_parameter)
+{
+ if (actions & _UA_END_OF_STACK)
+ abort ();
+ return _URC_NO_REASON;
+}
+
+static void __attribute__((noreturn))
+force_unwind ()
+{
+ _Unwind_Exception *exc = new _Unwind_Exception;
+ exc->exception_class = 0;
+ exc->exception_cleanup = 0;
+
+#ifndef __USING_SJLJ_EXCEPTIONS__
+ _Unwind_ForcedUnwind (exc, force_unwind_stop, 0);
+#else
+ _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0);
+#endif
+
+ abort ();
+}
+
+static void
+handle_unexpected ()
+{
+ exit (0);
+}
+
+static void
+doit () throw()
+{
+ force_unwind ();
+}
+
+int main()
+{
+ std::set_unexpected (handle_unexpected);
+ doit ();
+ abort ();
+}
diff --git a/gcc/testsuite/g++.dg/eh/forced4.C b/gcc/testsuite/g++.dg/eh/forced4.C
new file mode 100644
index 00000000000..be03a7544b6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/forced4.C
@@ -0,0 +1,49 @@
+// { dg-do run }
+
+// Test that forced unwinding does not call std::unexpected going
+// throw a function with a non-empty exception spec.
+
+#include <unwind.h>
+#include <stdlib.h>
+
+static _Unwind_Reason_Code
+force_unwind_stop (int version, _Unwind_Action actions,
+ _Unwind_Exception_Class exc_class,
+ struct _Unwind_Exception *exc_obj,
+ struct _Unwind_Context *context,
+ void *stop_parameter)
+{
+ if (actions & _UA_END_OF_STACK)
+ abort ();
+ return _URC_NO_REASON;
+}
+
+static void __attribute__((noreturn))
+force_unwind ()
+{
+ _Unwind_Exception *exc = new _Unwind_Exception;
+ exc->exception_class = 0;
+ exc->exception_cleanup = 0;
+
+#ifndef __USING_SJLJ_EXCEPTIONS__
+ _Unwind_ForcedUnwind (exc, force_unwind_stop, 0);
+#else
+ _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0);
+#endif
+
+ abort ();
+}
+
+static void
+doit () throw(int)
+{
+ force_unwind ();
+}
+
+int main()
+{
+ try {
+ doit ();
+ } catch (...) {
+ }
+}
diff --git a/gcc/testsuite/g++.dg/expr/anew1.C b/gcc/testsuite/g++.dg/expr/anew1.C
new file mode 100644
index 00000000000..a14408ace0a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/anew1.C
@@ -0,0 +1,20 @@
+// { dg-do run }
+// PR 11228: array operator new, with zero-initialization and a variable sized array.
+// Regression test for PR
+// Author: Matt Austern <austern@apple.com>
+
+
+int* allocate(int n)
+{
+ return new int[n]();
+}
+
+int main()
+{
+ const int n = 17;
+ int* p = allocate(n);
+ for (int i = 0; i < n; ++i)
+ if (p[i] != 0)
+ return 1;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/expr/anew2.C b/gcc/testsuite/g++.dg/expr/anew2.C
new file mode 100644
index 00000000000..b8681897577
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/anew2.C
@@ -0,0 +1,20 @@
+// { dg-do run }
+// PR 11228: array operator new, with zero-initialization and a variable sized array.
+// Regression test for PR
+// Author: Matt Austern <austern@apple.com>
+
+
+double* allocate(int n)
+{
+ return new double[n]();
+}
+
+int main()
+{
+ const int n = 17;
+ double* p = allocate(n);
+ for (int i = 0; i < n; ++i)
+ if (p[i] != 0.0)
+ return 1;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/expr/anew3.C b/gcc/testsuite/g++.dg/expr/anew3.C
new file mode 100644
index 00000000000..3223546d4c8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/anew3.C
@@ -0,0 +1,25 @@
+// { dg-do run }
+// PR 11228: array operator new, with zero-initialization and a variable sized array.
+// Regression test for PR
+// Author: Matt Austern <austern@apple.com>
+
+struct X
+{
+ int a;
+ double b;
+};
+
+X* allocate(int n)
+{
+ return new X[n]();
+}
+
+int main()
+{
+ const int n = 17;
+ X* p = allocate(n);
+ for (int i = 0; i < n; ++i)
+ if (p[i].a != 0 || p[i].b != 0.0)
+ return 1;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/expr/anew4.C b/gcc/testsuite/g++.dg/expr/anew4.C
new file mode 100644
index 00000000000..8999ffb53c6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/anew4.C
@@ -0,0 +1,37 @@
+// { dg-do run }
+// PR 11228: array operator new, with zero-initialization and a variable sized array.
+// Regression test for PR
+// Author: Matt Austern <austern@apple.com>
+
+struct B
+{
+ B();
+ int n;
+};
+
+B::B()
+{
+ n = 137;
+}
+
+
+struct D : public B
+{
+ double x;
+};
+
+
+D* allocate(int n)
+{
+ return new D[n]();
+}
+
+int main()
+{
+ const int n = 17;
+ D* p = allocate(n);
+ for (int i = 0; i < n; ++i)
+ if (p[i].n != 137 || p[i].x != 0)
+ return 1;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/expr/cast1.C b/gcc/testsuite/g++.dg/expr/cast1.C
new file mode 100644
index 00000000000..ee1adcc3d23
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/cast1.C
@@ -0,0 +1,3 @@
+struct S; // { dg-error "forward" }
+
+void f(S* p) { ((S) (*p)); } // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/expr/dtor1.C b/gcc/testsuite/g++.dg/expr/dtor1.C
new file mode 100644
index 00000000000..0775a93c91b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/dtor1.C
@@ -0,0 +1,7 @@
+class Foo; // { dg-error "" }
+
+void
+bar(void* p)
+{
+ static_cast<Foo*>(p)->~Foo(); // { dg-error "" }
+}
diff --git a/gcc/testsuite/g++.dg/ext/desig1.C b/gcc/testsuite/g++.dg/ext/desig1.C
new file mode 100644
index 00000000000..c3ff4c14258
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/desig1.C
@@ -0,0 +1,24 @@
+// { dg-options "" }
+
+struct a {
+ int x;
+};
+
+struct b {
+ int x;
+ int y;
+};
+
+struct foo {
+ union {
+ struct a a;
+ struct b b;
+ } u;
+};
+
+int main(void)
+{
+ struct foo bar = { u: { b: { x: 0, y: 0, }}};
+ (void)bar;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/ext/dllimport1.C b/gcc/testsuite/g++.dg/ext/dllimport1.C
new file mode 100644
index 00000000000..a93fb1927d6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/dllimport1.C
@@ -0,0 +1,21 @@
+// { dg-do compile { target i?86-*-cygwin* } }
+
+class __attribute__((dllimport)) Foo
+{
+ public:
+ virtual void dummy_foo_func(void)
+ {}
+};
+
+class Bar : public Foo
+{
+public:
+ ~Bar();
+ void dummy_bar_func();
+};
+
+Bar::~Bar()
+{}
+
+void Bar::dummy_bar_func()
+{}
diff --git a/gcc/testsuite/g++.dg/ext/max.C b/gcc/testsuite/g++.dg/ext/max.C
new file mode 100644
index 00000000000..bc65f1f7027
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/max.C
@@ -0,0 +1,6 @@
+struct s_t {
+};
+void foo(void) {
+ s_t s; int i;
+ s<?=i; // { dg-error "" }
+}
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/ext/typeof4.C b/gcc/testsuite/g++.dg/ext/typeof4.C
new file mode 100644
index 00000000000..2f423703514
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/typeof4.C
@@ -0,0 +1,13 @@
+// { dg-do compile }
+// { dg-options "" }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/9459: typeof in return type of template function
+
+void foo (int) {}
+void foo (double) {}
+
+template <typename C>
+typeof(foo(1))
+bar () { return foo(1); }
diff --git a/gcc/testsuite/g++.dg/init/addr-const1.C b/gcc/testsuite/g++.dg/init/addr-const1.C
new file mode 100644
index 00000000000..3b4637a4144
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/addr-const1.C
@@ -0,0 +1,38 @@
+// { dg-do run }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 19 Apr 2003 <nathan@codesourcery.com>
+
+// PR 9881. address-constant-expression not static initialized
+
+struct bar {
+ double p;
+}; // bar
+
+bar v;
+static bool error = false;
+
+struct foo {
+ static double *a;
+ static double *b;
+ static double storage;
+};
+
+struct baz {
+ baz () {
+ if (foo::a != &v.p)
+ error = true;
+ if (foo::b != &foo::storage)
+ error = true;
+ }
+};
+
+baz f; // Get constructor to run before any other non-static initializers
+
+double *foo::a = &(((bar *)(&v))->p);
+double *foo::b = &(((bar *)(&foo::storage))->p);
+double foo::storage = 0.0;
+
+int main() {
+ return error;
+}
diff --git a/gcc/testsuite/g++.dg/init/ctor2.C b/gcc/testsuite/g++.dg/init/ctor2.C
new file mode 100644
index 00000000000..cf426f2bf16
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ctor2.C
@@ -0,0 +1,34 @@
+// { dg-do run }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 14 Mar 2003 <nathan@codesourcery.com>
+
+// PR 9629. The vtable is not set up until the base initializers have
+// run.
+
+struct A {
+ static A *a;
+ A ();
+};
+A *A::a;
+A::A () {a = this;}
+
+struct B {
+ static A *a;
+ B (A *);
+};
+A *B::a;
+B::B(A *a_) {a = a_;}
+
+struct C : virtual public A, public B {
+ C();
+};
+C::C () : B(this) {}
+
+struct D : virtual public C {};
+
+int main()
+{
+ new D();
+ return A::a != B::a;
+}
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/init/new4.C b/gcc/testsuite/g++.dg/init/new4.C
new file mode 100644
index 00000000000..ab2fe31314d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/new4.C
@@ -0,0 +1 @@
+int *x = new int [2] ();
diff --git a/gcc/testsuite/g++.dg/init/new5.C b/gcc/testsuite/g++.dg/init/new5.C
new file mode 100644
index 00000000000..3a5981e075c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/new5.C
@@ -0,0 +1,18 @@
+// { dg-do run }
+
+#include <new>
+
+void * operator new[](size_t, std::nothrow_t const &) throw()
+{ return NULL; }
+
+struct X {
+ struct Inner { ~Inner() {} };
+
+ X() {
+ Inner * ic = new (std::nothrow) Inner[1]; // SegFault here
+ }
+};
+
+int main() {
+ X table;
+}
diff --git a/gcc/testsuite/g++.dg/init/new6.C b/gcc/testsuite/g++.dg/init/new6.C
new file mode 100644
index 00000000000..ecbafd13e6c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/new6.C
@@ -0,0 +1,8 @@
+// { dg-options "-fkeep-inline-functions" }
+
+struct B1 { virtual ~B1(); };
+struct B2 { virtual ~B2(); };
+struct D : B1, B2 {};
+struct X : D { X (); };
+
+X::X () { new int; }
diff --git a/gcc/testsuite/g++.dg/init/new7.C b/gcc/testsuite/g++.dg/init/new7.C
new file mode 100644
index 00000000000..e07d2261738
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/new7.C
@@ -0,0 +1,7 @@
+template <class T>
+ struct Foo
+ {};
+
+ template <class T>
+ void Foo<T>::NON_EXISTENT(int* val = new int()) {} // { dg-error "" }
+
diff --git a/gcc/testsuite/g++.dg/init/ref1.C b/gcc/testsuite/g++.dg/init/ref1.C
new file mode 100644
index 00000000000..12caff2d0ed
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ref1.C
@@ -0,0 +1,5 @@
+void f(void)
+{
+ short x = 0;
+ const int &y = x;
+}
diff --git a/gcc/testsuite/g++.dg/init/ref2.C b/gcc/testsuite/g++.dg/init/ref2.C
new file mode 100644
index 00000000000..231ea047fff
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ref2.C
@@ -0,0 +1,10 @@
+struct Base {
+ Base();
+ Base(const Base &);
+ Base & operator = (const Base &);
+};
+
+struct Derived : public Base {};
+
+Derived derived();
+const Base &b = derived();
diff --git a/gcc/testsuite/g++.dg/init/ref3.C b/gcc/testsuite/g++.dg/init/ref3.C
new file mode 100644
index 00000000000..776f2d0c5d2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ref3.C
@@ -0,0 +1,12 @@
+struct Base { };
+struct Derived : public Base { };
+struct Choose {
+ operator Base&();
+ operator Derived&();
+};
+
+void f()
+{
+ Choose c;
+ Base& ref = c;
+}
diff --git a/gcc/testsuite/g++.dg/init/ref5.C b/gcc/testsuite/g++.dg/init/ref5.C
new file mode 100644
index 00000000000..ad1c30c36f8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ref5.C
@@ -0,0 +1,12 @@
+struct A { };
+struct B : public A { };
+struct X {
+ operator B();
+};
+X x;
+
+int main()
+{
+ const A& r = x;
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/init/ref6.C b/gcc/testsuite/g++.dg/init/ref6.C
new file mode 100644
index 00000000000..50a96360366
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ref6.C
@@ -0,0 +1,12 @@
+struct B {
+ void g() { }
+};
+
+struct A {
+ void f() {
+ B &b = b;
+ b.g();
+ }
+};
+
+int main(void) { }
diff --git a/gcc/testsuite/g++.dg/init/ref7.C b/gcc/testsuite/g++.dg/init/ref7.C
new file mode 100644
index 00000000000..0832069e32c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ref7.C
@@ -0,0 +1,9 @@
+class hop
+{
+public:
+ hop operator* () const;
+};
+int main(void)
+{
+ const hop &x = *x;
+}
diff --git a/gcc/testsuite/g++.dg/lookup/class-member-2.C b/gcc/testsuite/g++.dg/lookup/class-member-2.C
new file mode 100644
index 00000000000..8e4dbe72d7a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/class-member-2.C
@@ -0,0 +1,7 @@
+template <typename T> struct A
+{
+ void foo () const {}
+ char A;
+};
+
+void bar() { A<void>().foo(); }
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/friend1.C b/gcc/testsuite/g++.dg/lookup/friend1.C
new file mode 100644
index 00000000000..47fe0556519
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/friend1.C
@@ -0,0 +1,15 @@
+// { dg-do compile }
+
+// Origin: <matz@suse.de>
+
+// PR c++/9970: In-class friend function definition after
+// declaration lexical scope problem.
+
+void f();
+struct X
+{
+ enum { k = 1 };
+ friend void f() {
+ char a[k];
+ }
+};
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/lookup/struct-hack1.C b/gcc/testsuite/g++.dg/lookup/struct-hack1.C
new file mode 100644
index 00000000000..e84d65b3355
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/struct-hack1.C
@@ -0,0 +1,38 @@
+// { dg-do compile }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 19 Apr 2003 <nathan@codesourcery.com>
+
+// PR 10405. ICE
+
+#define MEM_ENUM(name) int name; enum name {};
+
+struct Base
+{
+ MEM_ENUM (a)
+ MEM_ENUM (b)
+ MEM_ENUM (c)
+ MEM_ENUM (d)
+ MEM_ENUM (e)
+ MEM_ENUM (f)
+ MEM_ENUM (g)
+ MEM_ENUM (h)
+ MEM_ENUM (i)
+ MEM_ENUM (j)
+ MEM_ENUM (k)
+ MEM_ENUM (l)
+ MEM_ENUM (m)
+ MEM_ENUM (n)
+ MEM_ENUM (o)
+ MEM_ENUM (p)
+ MEM_ENUM (q)
+ MEM_ENUM (r)
+ MEM_ENUM (s)
+ MEM_ENUM (t)
+ MEM_ENUM (u)
+ MEM_ENUM (v)
+ MEM_ENUM (w)
+ };
+
+struct D : Base {};
+
diff --git a/gcc/testsuite/g++.dg/lookup/template1.C b/gcc/testsuite/g++.dg/lookup/template1.C
new file mode 100644
index 00000000000..0e8921261e8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/template1.C
@@ -0,0 +1,31 @@
+// { dg-do compile }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 24 Mar 2003 <nathan@codesourcery.com>
+
+// PR 10199. Lookup problems
+
+class X {
+public:
+ template<int d>
+ int bar ();
+};
+
+template<int x>
+int fooo ();
+
+template<class T>
+void bar (T& g)
+{
+ int kk = fooo<17>(); // OK
+ X x;
+ int k = x.bar<17>(); // Not OK
+}
+
+int main ()
+{
+ X x;
+ int k=x.bar<17>(); // OK
+ int n;
+ bar(n);
+}
diff --git a/gcc/testsuite/g++.dg/lookup/using2.C b/gcc/testsuite/g++.dg/lookup/using2.C
index 92f134eaf84..b20ef0377c2 100644
--- a/gcc/testsuite/g++.dg/lookup/using2.C
+++ b/gcc/testsuite/g++.dg/lookup/using2.C
@@ -25,7 +25,7 @@ namespace N
template<int> void f() {}
}
-using N; // { dg-error "parse error" "" }
+using N; // { dg-error "(parse|syntax) error" "" }
using ::N; // { dg-error "using-declaration" "" }
using N::f< 0 >; // { dg-error "using-declaration" "" }
@@ -41,6 +41,6 @@ struct B : A {
struct C : A {
using A::f<double>; // { dg-error "using-declaration" "" }
- using A::X<int>; // { dg-error "parse error" "" }
+ using A::X<int>; // { dg-error "(parse|syntax) error" "" }
};
diff --git a/gcc/testsuite/g++.dg/lookup/using3.C b/gcc/testsuite/g++.dg/lookup/using3.C
new file mode 100644
index 00000000000..5f187fef564
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/using3.C
@@ -0,0 +1,11 @@
+template <typename T, bool=T::X> struct A
+{
+ int i;
+};
+
+template <typename T> struct B : A<T>
+{
+ using A<T>::i; // { dg-error "" }
+};
+
+B<void> b; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/opt/operator1.C b/gcc/testsuite/g++.dg/opt/operator1.C
new file mode 100644
index 00000000000..9f286b9f98c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/operator1.C
@@ -0,0 +1,10 @@
+// Tests whether g++ can handle large number of operators
+// { dg-do compile }
+
+#define OP0(n) struct I##n { int i; }; operator I##n ();
+#define OP1(n) OP0(n)
+#define OP2(n) OP1(n##0) OP1(n##1) OP1(n##2) OP1(n##3) OP1(n##4)
+#define OP3(n) OP2(n##0) OP2(n##1) OP2(n##2) OP2(n##3) OP2(n##4)
+struct S {
+ OP3(0) OP3(1) OP3(2) OP3(3) OP3(4) OP3(5)
+};
diff --git a/gcc/testsuite/g++.dg/opt/ptrmem1.C b/gcc/testsuite/g++.dg/opt/ptrmem1.C
new file mode 100644
index 00000000000..0a02a53a9bf
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/ptrmem1.C
@@ -0,0 +1,12 @@
+// { dg-options "-O2" }
+
+class QWidget
+{
+ public: void repaint( bool erase = 1 );
+};
+void f (void)
+{
+ typedef void (QWidget::*A)(bool);
+ A b = &QWidget::repaint;
+}
+
diff --git a/gcc/testsuite/g++.dg/opt/ptrmem2.C b/gcc/testsuite/g++.dg/opt/ptrmem2.C
new file mode 100644
index 00000000000..19c43f7cd1f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/ptrmem2.C
@@ -0,0 +1,12 @@
+typedef unsigned int Mword;
+struct Thread
+{
+ Mword sys_ipc_log();
+ void hook_ipc_vector();
+ unsigned (Thread::*syscall_table)();
+};
+
+void Thread::hook_ipc_vector()
+{
+ syscall_table = &Thread::sys_ipc_log;
+}
diff --git a/gcc/testsuite/g++.dg/opt/vtgc1.C b/gcc/testsuite/g++.dg/opt/vtgc1.C
deleted file mode 100644
index 511d45b36e7..00000000000
--- a/gcc/testsuite/g++.dg/opt/vtgc1.C
+++ /dev/null
@@ -1,136 +0,0 @@
-// { dg-do compile }
-// { dg-options "-fvtable-gc" }
-// Origin: Hans-Peter Nilsson <hp@bitrange.com>
-
-class Base0
-{
-public:
- Base0(); virtual ~Base0();
- virtual void f1();
- virtual void f2();
-private:
- int a_value;
-};
-
-class Base1 : public Base0
-{
-public:
- Base1(); virtual ~Base1();
- virtual void f1(), f2();
- virtual void f3();
-};
-
-class Base2 : public Base1
-{
-public:
- Base2(); virtual ~Base2();
- virtual void f1(), f2();
- virtual void f4();
-};
-
-class VbasedA : virtual public Base2
-{
-public:
- VbasedA(); virtual ~VbasedA();
- virtual void f1(), f2(), f3();
- virtual void f6();
-};
-
-class Side0
-{
-public:
- Side0(); virtual ~Side0();
- virtual void x1();
- virtual void xx();
-private:
- int ryan;
-};
-
-class Multisv0 : public Side0, virtual public Base2
-{
-public:
- Multisv0(); virtual ~Multisv0();
- virtual void f1(), f2();
- virtual void f3();
- virtual void f6();
- virtual void xx();
-};
-
-class Multivs1 : public Base2, virtual public Side0
-{
-public:
- Multivs1(); virtual ~Multivs1(); virtual void f1(); virtual void fx2();
- virtual void fx4(), fx5();
- virtual void f6();
- virtual void xx();
-};
-
-class Multiss2 : public Base2, public Side0
-{
-public:
- Multiss2(); virtual ~Multiss2(); virtual void f1(); virtual void fx2();
- virtual void fx4();
- virtual void f6();
- virtual void xx();
-};
-
-class Multivv3 : virtual public Base2, virtual public Side0
-{
-public:
- Multivv3(); virtual ~Multivv3(); virtual void f1(); virtual void fx2();
- virtual void fx4(), fx5();
- virtual void f6();
- virtual void xx();
-};
-
-Base0::Base0() {}
-Base0::~Base0() {}
-Base1::Base1() {}
-Base1::~Base1() {}
-Base2::Base2() {}
-Base2::~Base2() {}
-VbasedA::VbasedA() {}
-VbasedA::~VbasedA() {}
-Multisv0::Multisv0() {}
-Multisv0::~Multisv0() {}
-Multivs1::Multivs1() {}
-Multivs1::~Multivs1() {}
-Multiss2::Multiss2() {}
-Multiss2::~Multiss2() {}
-Multivv3::Multivv3() {}
-Multivv3::~Multivv3() {}
-Side0::Side0() {}
-Side0::~Side0() {}
-
-extern void x (VbasedA *);
-extern void x2 (Multisv0 *);
-extern void x3 (Multivs1 *);
-extern void x4 (Multiss2 *);
-extern void x5 (Multivv3 *);
-void y () { VbasedA ii; x(&ii);}
-void y2 () { Multisv0 ii; x2(&ii);}
-void y3 () { Multivs1 ii; x3(&ii);}
-void y4 () { Multiss2 ii; x4(&ii);}
-void y5 () { Multivv3 ii; x5(&ii);}
-void x (VbasedA *ii) { ii->f2();}
-void x2 (Multisv0 *ii) { ii->f2();}
-void x3 (Multivs1 *ii) { ii->f2();}
-void x4 (Multiss2 *ii) { ii->f2();}
-void x5 (Multivv3 *ii) { ii->f2();}
-
-// Use .* because of ia64's convention of marking symbols with "#", which
-// makes it through the c++filt.
-
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multivv3.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for Multivv3.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multiss2.*vtable for Base2" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multivs1.*vtable for Base2" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for Multivs1.*vtable for Base2" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multisv0.*vtable for Side0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for Multisv0.*vtable for Side0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Side0.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for VbasedA.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for VbasedA.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Base2.*vtable for Base1" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Base1.*vtable for Base0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Base0.*0" } }
diff --git a/gcc/testsuite/g++.dg/other/bitfield1.C b/gcc/testsuite/g++.dg/other/bitfield1.C
new file mode 100644
index 00000000000..896490fbafc
--- /dev/null
+++ b/gcc/testsuite/g++.dg/other/bitfield1.C
@@ -0,0 +1,9 @@
+// { dg-options "-w" }
+
+union u1 {
+ char m1 : 16;
+} x;
+
+int main () {
+ x.m1 = 256;
+}
diff --git a/gcc/testsuite/g++.dg/other/do1.C b/gcc/testsuite/g++.dg/other/do1.C
index 5ff6c5682ba..5113ed727d0 100644
--- a/gcc/testsuite/g++.dg/other/do1.C
+++ b/gcc/testsuite/g++.dg/other/do1.C
@@ -8,6 +8,6 @@
void init ()
{
do { } while (0)
- obj = 0; // { dg-error "parse error" "" }
+ obj = 0; // { dg-error "(parse|syntax) error" "" }
}
diff --git a/gcc/testsuite/g++.dg/other/packed1.C b/gcc/testsuite/g++.dg/other/packed1.C
index b515854a849..3a348ed8289 100644
--- a/gcc/testsuite/g++.dg/other/packed1.C
+++ b/gcc/testsuite/g++.dg/other/packed1.C
@@ -1,4 +1,7 @@
-// { dg-do run }
+// { dg-do run { xfail arm-*-* hppa*-*-* mips-*-* powerpc-*-* sh-*-* sparc*-*-* } }
+
+// NMS:2003-04-21 this fails on strict aligned architectures again,
+// the patch was reverted because it broke something more important.
// Copyright (C) 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 8 Aug 2002 <nathan@codesourcery.com>
@@ -19,4 +22,4 @@ int main ()
return 0;
-};
+}
diff --git a/gcc/testsuite/g++.dg/other/pragma-ep-1.C b/gcc/testsuite/g++.dg/other/pragma-ep-1.C
index 99450cd79e4..151003cb153 100644
--- a/gcc/testsuite/g++.dg/other/pragma-ep-1.C
+++ b/gcc/testsuite/g++.dg/other/pragma-ep-1.C
@@ -5,7 +5,7 @@
/* { dg-final { scan-assembler "four" } } */
/* { dg-final { scan-assembler-not "_four" } } */
-#ifndef __EXTERN_PREFIX
+#ifndef __PRAGMA_EXTERN_PREFIX
#error
#endif
diff --git a/gcc/testsuite/g++.dg/overload/builtin2.C b/gcc/testsuite/g++.dg/overload/builtin2.C
new file mode 100644
index 00000000000..4f9f52dda1a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/overload/builtin2.C
@@ -0,0 +1,8 @@
+namespace __gnu_cxx {
+ void llabs(long long x);
+}
+
+namespace std {
+ using __gnu_cxx::llabs;
+ using __gnu_cxx::llabs;
+}
diff --git a/gcc/testsuite/g++.dg/parse/angle-bracket.C b/gcc/testsuite/g++.dg/parse/angle-bracket.C
index 9c1f2476c71..5fad51b44f9 100644
--- a/gcc/testsuite/g++.dg/parse/angle-bracket.C
+++ b/gcc/testsuite/g++.dg/parse/angle-bracket.C
@@ -4,6 +4,6 @@
int main()
{
- ( int() > int() ); // { dg-bogus "parse" "" { xfail *-*-* } }
+ ( int() > int() ); // { dg-bogus "parse|syntax" "" { xfail *-*-* } }
return 0;
}
diff --git a/gcc/testsuite/g++.dg/parse/class1.C b/gcc/testsuite/g++.dg/parse/class1.C
new file mode 100644
index 00000000000..819c48d9c21
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/class1.C
@@ -0,0 +1,10 @@
+namespace N
+{
+ struct A;
+ int f() {
+ struct N::A { // { dg-error "" }
+ A() {}
+ };
+ return 0;
+ }
+}
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/parse/crash2.C b/gcc/testsuite/g++.dg/parse/crash2.C
new file mode 100644
index 00000000000..88eee267c82
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/crash2.C
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+int main(void)
+{
+ char x, y;
+ if ('A' == x) && ('B' == y)) { } /* { dg-error "(parse|syntax) error" } */
+ if (x == 'A') && (y == 'B')) { }
+}
diff --git a/gcc/testsuite/g++.dg/parse/crash3.C b/gcc/testsuite/g++.dg/parse/crash3.C
new file mode 100644
index 00000000000..5a48ebc7cc7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/crash3.C
@@ -0,0 +1,2 @@
+template <class T> struct L { struct I {}; };
+template <class T> void L<T>::I::foo() {} // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/crash4.C b/gcc/testsuite/g++.dg/parse/crash4.C
new file mode 100644
index 00000000000..a24f0dd003c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/crash4.C
@@ -0,0 +1,12 @@
+struct Bar
+ {
+ typedef int type;
+ };
+
+ struct Foo
+ {
+ void func(void)
+ {
+ mutable Bar::type x; // { dg-error "" }
+ }
+ };
diff --git a/gcc/testsuite/g++.dg/parse/crash6.C b/gcc/testsuite/g++.dg/parse/crash6.C
new file mode 100644
index 00000000000..0cc5c84faf7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/crash6.C
@@ -0,0 +1,10 @@
+struct P {};
+
+template <typename >
+struct O
+{
+ struct I;
+};
+
+template <typename T>
+struct O<T>::I::S : P {}; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/elab1.C b/gcc/testsuite/g++.dg/parse/elab1.C
new file mode 100644
index 00000000000..2997eef6255
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/elab1.C
@@ -0,0 +1,9 @@
+namespace Name {
+
+ typedef void *(*Function)( void *, int );
+
+ struct Foo {
+ struct Function xyz[5]; // { dg-error "" }
+ };
+
+}
diff --git a/gcc/testsuite/g++.dg/parse/namespace1.C b/gcc/testsuite/g++.dg/parse/namespace1.C
new file mode 100644
index 00000000000..06642d429ef
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/namespace1.C
@@ -0,0 +1,10 @@
+namespace a {
+ namespace b {
+ void foo();
+ }
+}
+
+void
+a::b:foo() // { dg-error "" }
+{
+}
diff --git a/gcc/testsuite/g++.dg/parse/namespace8.C b/gcc/testsuite/g++.dg/parse/namespace8.C
new file mode 100644
index 00000000000..d5a9b0ac131
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/namespace8.C
@@ -0,0 +1,6 @@
+namespace X {
+ typedef struct {
+ } x;
+}
+typedef X::x x;
+using X::x;
diff --git a/gcc/testsuite/g++.dg/parse/namespace9.C b/gcc/testsuite/g++.dg/parse/namespace9.C
new file mode 100644
index 00000000000..7ff0267bff3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/namespace9.C
@@ -0,0 +1,8 @@
+namespace A {
+ void f();
+}
+int g()
+{
+ struct f { };
+ using A::f;
+}
diff --git a/gcc/testsuite/g++.dg/parse/octal1.C b/gcc/testsuite/g++.dg/parse/octal1.C
new file mode 100644
index 00000000000..8d62eef3c7d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/octal1.C
@@ -0,0 +1 @@
+int i = 08; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/ptrmem1.C b/gcc/testsuite/g++.dg/parse/ptrmem1.C
new file mode 100644
index 00000000000..b1174c7d97b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/ptrmem1.C
@@ -0,0 +1,10 @@
+struct A {
+ void f(int = 0) const;
+};
+
+typedef void (A::*PF)(int) const;
+
+void f()
+{
+ PF pf = &A::f;
+}
diff --git a/gcc/testsuite/g++.dg/parse/typedef1.C b/gcc/testsuite/g++.dg/parse/typedef1.C
index 5dbd16a154f..68c09dd0f1c 100644
--- a/gcc/testsuite/g++.dg/parse/typedef1.C
+++ b/gcc/testsuite/g++.dg/parse/typedef1.C
@@ -1,3 +1,3 @@
// PR c++/6477
-typedef struct A_ *A; // { dg-error "previous declaration as" }
-typedef struct A B; // { dg-error "conflicting types" }
+typedef struct A_ *A;
+typedef struct A B; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/varmod1.C b/gcc/testsuite/g++.dg/parse/varmod1.C
new file mode 100644
index 00000000000..bf64507ae9b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/varmod1.C
@@ -0,0 +1,7 @@
+int main(int argc, char** argv) {
+ int nx = 2;
+ void theerror(double a[][nx+1]); // { dg-error "" }
+ double** a;
+ theerror(a); // { dg-error "" }
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/template/access10.C b/gcc/testsuite/g++.dg/template/access10.C
new file mode 100644
index 00000000000..8b4883c254b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/access10.C
@@ -0,0 +1,16 @@
+// { dg-do compile }
+
+// Origin: Giovanni Bajo <giovannibajo@libero.it>
+
+// PR c++/10849: Incorrect access checking on template specialization.
+
+class X {
+ private:
+ template <typename T> struct Y;
+};
+
+template <> struct X::Y<int> {};
+
+template <typename T> struct X::Y {};
+
+template struct X::Y<int>;
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/conv6.C b/gcc/testsuite/g++.dg/template/conv6.C
new file mode 100644
index 00000000000..2a4a29952d5
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/conv6.C
@@ -0,0 +1,24 @@
+// { dg-do compile }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 21 Mar 2003 <nathan@codesourcery.com>
+
+// PR 9898, DR 322. Conversion to reference type.
+
+template <typename> struct Ref {};
+template <typename> struct Val {};
+
+struct Wrapper
+{
+ template <typename U> operator Ref<U> & ();
+ template <typename U> operator Val<U> ();
+};
+
+void Foo (Wrapper l)
+{
+ static_cast <Ref<int> &> (l);
+ static_cast <Ref<int> const &> (l);
+ static_cast <Ref<int> > (l);
+ static_cast <Val<int> const &> (l);
+ static_cast <Val<int> > (l);
+}
diff --git a/gcc/testsuite/g++.dg/template/conv7.C b/gcc/testsuite/g++.dg/template/conv7.C
new file mode 100644
index 00000000000..86758b3623d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/conv7.C
@@ -0,0 +1,12 @@
+// { dg-options "-fabi-version=0" }
+
+template <typename T> struct S {
+ struct I{};
+ operator I* ();
+};
+
+template <typename T> struct S2 : S<T> {
+ operator typename S<T>::I* ();
+};
+
+template struct S2<int>;
diff --git a/gcc/testsuite/g++.dg/template/conv8.C b/gcc/testsuite/g++.dg/template/conv8.C
new file mode 100644
index 00000000000..96f3b986516
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/conv8.C
@@ -0,0 +1,12 @@
+// { dg-options "-fabi-version=1" }
+
+template <typename T> struct S {
+ struct I{};
+ operator I* ();
+};
+
+template <typename T> struct S2 : S<T> {
+ operator typename S<T>::I* ();
+};
+
+template struct S2<int>;
diff --git a/gcc/testsuite/g++.dg/template/defarg2.C b/gcc/testsuite/g++.dg/template/defarg2.C
new file mode 100644
index 00000000000..3670389c5d0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/defarg2.C
@@ -0,0 +1,10 @@
+struct X {
+ X ();
+};
+
+template <int> struct O {
+ struct I {
+ I (const X & = X());
+ };
+};
+template struct O<2>;
diff --git a/gcc/testsuite/g++.dg/template/explicit1.C b/gcc/testsuite/g++.dg/template/explicit1.C
new file mode 100644
index 00000000000..64f581e58df
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/explicit1.C
@@ -0,0 +1,17 @@
+// { dg-do link }
+// { dg-options "-fno-implicit-templates" }
+
+template <class T> struct C {
+ ~C();
+};
+template <class T> C<T>::~C() {}
+
+struct X {
+ C<X> *p;
+ ~X() { delete p; }
+};
+
+template class C<X>;
+C<X> x;
+
+int main () {}
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/friend14.C b/gcc/testsuite/g++.dg/template/friend14.C
new file mode 100644
index 00000000000..6e07b98932a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend14.C
@@ -0,0 +1,20 @@
+// { dg-do compile }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// Perform access checking to parameter and return type of
+// function template correctly when the template is friend.
+
+template <class T> class O {
+ struct I { I (int); };
+
+ template <class T_>
+ friend typename O<T_>::I f ();
+};
+
+template <class T_>
+typename O<T_>::I f () { return 1; }
+
+struct X {
+ void g() { f<int>(); }
+};
diff --git a/gcc/testsuite/g++.dg/template/friend15.C b/gcc/testsuite/g++.dg/template/friend15.C
new file mode 100644
index 00000000000..4acbf2d1a56
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend15.C
@@ -0,0 +1,19 @@
+// { dg-do compile }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/9453
+// Access checking when template friend is defined in class.
+
+template <typename> class X {
+ private:
+ struct Inner;
+
+ template <typename R>
+ friend typename X<R>::Inner * foo () { return 0; }
+};
+template class X<void>;
+
+struct U {
+ void bar () { foo<void> (); }
+};
diff --git a/gcc/testsuite/g++.dg/template/friend16.C b/gcc/testsuite/g++.dg/template/friend16.C
new file mode 100644
index 00000000000..3165ed2b59d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend16.C
@@ -0,0 +1,16 @@
+// { dg-do compile }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/9602: Inline friend/pure virtual tree data sharing in
+// class template.
+
+template <typename T> struct X {
+ void foo (X);
+ friend void bar () {}
+};
+
+template <typename T>
+void X<T>::foo (X x) {}
+
+template struct X<int>;
diff --git a/gcc/testsuite/g++.dg/template/friend17.C b/gcc/testsuite/g++.dg/template/friend17.C
new file mode 100644
index 00000000000..50d60244150
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend17.C
@@ -0,0 +1,12 @@
+template <class T>
+struct X {
+ template <class U> void operator+=(U);
+
+ template <class V>
+ template <class U>
+ friend void X<V>::operator+=(U);
+};
+
+int main() {
+ X<int>() += 1.0;
+}
diff --git a/gcc/testsuite/g++.dg/template/friend18.C b/gcc/testsuite/g++.dg/template/friend18.C
new file mode 100644
index 00000000000..04ba26e9830
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend18.C
@@ -0,0 +1,19 @@
+// { dg-do run }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 26 Mar 2003 <nathan@codesourcery.com>
+
+// PR 10158. implicit inline template friends ICE'd
+
+template <int N> struct X
+{
+ template <int M> friend int foo(X const &)
+ {
+ return N * 10000 + M;
+ }
+};
+X<1234> bring;
+
+int main() {
+ return foo<5678> (bring) != 12345678;
+}
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/func1.C b/gcc/testsuite/g++.dg/template/func1.C
new file mode 100644
index 00000000000..0d1677060c3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/func1.C
@@ -0,0 +1,13 @@
+template <typename T1,typename T2>
+inline void f(const T1&,const T2&) { }
+
+template <typename T1,typename T2,void F(const T1&,const T2&)>
+struct A {
+ template <typename T> void g(T& i) { }
+};
+
+int main() {
+ int i;
+ A<int,int,f> a;
+ a.g(i);
+}
diff --git a/gcc/testsuite/g++.dg/template/inline1.C b/gcc/testsuite/g++.dg/template/inline1.C
new file mode 100644
index 00000000000..c5e39bb2738
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/inline1.C
@@ -0,0 +1,20 @@
+// { dg-do compile }
+// { dg-options "-fno-default-inline -O0" }
+// { dg-final { scan-assembler-not _ZN1X3FooIiEEvT_: } }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 27 Mar 2003 <nathan@codesourcery.com>
+
+// PR 10047. bogus warning.
+
+struct X
+{
+ template <typename T> static void Foo (T) {}
+};
+
+extern template void X::Foo<int> (int); // extern, so don't emit it
+
+int main () {
+ X::Foo (1); // ok, we've seen the defn
+}
+
diff --git a/gcc/testsuite/g++.dg/template/instantiate4.C b/gcc/testsuite/g++.dg/template/instantiate4.C
new file mode 100644
index 00000000000..732b8529de2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/instantiate4.C
@@ -0,0 +1,13 @@
+// { dg-do compile }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/10682: Typedef to enum template instantiation logic.
+
+template <typename T>
+struct Foo {
+ enum E {a,b,c};
+ typedef E EE;
+};
+
+void Baz(Foo<int>::EE x);
diff --git a/gcc/testsuite/g++.dg/template/member.C b/gcc/testsuite/g++.dg/template/member.C
index f6f264e1926..69228334ff6 100644
--- a/gcc/testsuite/g++.dg/template/member.C
+++ b/gcc/testsuite/g++.dg/template/member.C
@@ -1,28 +1,28 @@
-// { dg-do compile }
-
-
-class BIXSet{
-int z[4];
-public:
-void f(BIXSet &other){
-z[0]=other.z[0];
-}
-
-};
-
-class TestCase2{
-public:
-BIXSet a,b;
-
-public:
-void run(void){
-BIXSet x,y;
-process(0,x,y);
-}
-
-protected:
-template<class BS> void process(const int d,BS &en,BS &lb){
-a.f(en);b.f(lb);
-}
-
-};
+// { dg-do compile }
+
+
+class BIXSet{
+int z[4];
+public:
+void f(BIXSet &other){
+z[0]=other.z[0];
+}
+
+};
+
+class TestCase2{
+public:
+BIXSet a,b;
+
+public:
+void run(void){
+BIXSet x,y;
+process(0,x,y);
+}
+
+protected:
+template<class BS> void process(const int d,BS &en,BS &lb){
+a.f(en);b.f(lb);
+}
+
+};
diff --git a/gcc/testsuite/g++.dg/template/member3.C b/gcc/testsuite/g++.dg/template/member3.C
new file mode 100644
index 00000000000..4f87e57bcb3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/member3.C
@@ -0,0 +1,19 @@
+template<typename T>
+struct A {
+ template<typename L> struct SubA { };
+
+ template<typename T1,typename L> void f(T1 & t1, SubA<L> & t2) { }
+ template<typename U> void g(SubA<U> & suba) { }
+ template<typename U> void h(SubA<U> & suba) { }
+};
+
+int main(void) {
+ int i;
+ A<int> a;
+ A<int>::SubA<int> suba;
+
+ a.f(i,suba);
+ a.g(suba);
+ a.h(suba);
+}
+
diff --git a/gcc/testsuite/g++.dg/template/nested2.C b/gcc/testsuite/g++.dg/template/nested2.C
new file mode 100644
index 00000000000..be4f95f716d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/nested2.C
@@ -0,0 +1,9 @@
+template <class T> class CO {
+ class CI1 {
+ class CI2;
+ };
+};
+
+template <class T>
+class CO<T>::CI1::CI2 {};
+
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/op1.C b/gcc/testsuite/g++.dg/template/op1.C
new file mode 100644
index 00000000000..7cc9c9e91c2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/op1.C
@@ -0,0 +1,12 @@
+template <class T> struct X {
+ typedef int type;
+};
+
+template <class T> struct O {
+ struct I {
+ operator typename X<T>::type ();
+ };
+};
+
+template <class T>
+O<T>::I::operator typename X<T>::type () {}
diff --git a/gcc/testsuite/g++.dg/template/ptrmem4.C b/gcc/testsuite/g++.dg/template/ptrmem4.C
new file mode 100644
index 00000000000..23107286913
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/ptrmem4.C
@@ -0,0 +1,20 @@
+// { dg-do compile }
+
+// Origin: Scott Snyder <snyder@fnal.gov>
+
+// PR c++/8849
+// Pointer to member function template argument deduction ICE.
+
+
+template <class CONT> void queryAliases(CONT& fill_me); // { dg-error "argument" }
+
+struct SpyExample
+{
+ void ready();
+ void inputs();
+};
+
+void SpyExample::ready()
+{
+ queryAliases(inputs); // { dg-error "convert" }
+}
diff --git a/gcc/testsuite/g++.dg/template/recurse.C b/gcc/testsuite/g++.dg/template/recurse.C
index 61b94096783..ce4c9268cfe 100644
--- a/gcc/testsuite/g++.dg/template/recurse.C
+++ b/gcc/testsuite/g++.dg/template/recurse.C
@@ -6,7 +6,7 @@ template <int I> struct F
int operator()()
{
F<I+1> f; // { dg-error "" "" }
- return f()*I;
+ return f()*I; // { dg-error "" "" }
}
};
diff --git a/gcc/testsuite/g++.dg/template/spec10.C b/gcc/testsuite/g++.dg/template/spec10.C
new file mode 100644
index 00000000000..f790155dce2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/spec10.C
@@ -0,0 +1,27 @@
+// { dg-do run }
+
+// Origin: Lynn Akers <lakers@peachtree.com>
+
+// PR c++/10940: Problem handling parameter list for static member
+// that is a specialization of a member template of a template class.
+
+template<int b>
+class o
+{
+public:
+ template<typename T> static void do_add(T* p, T v);
+};
+
+template<>
+template<typename T>
+inline void o<32>::do_add(T* p, T v)
+{
+ *p += v;
+}
+
+int main()
+{
+ int a = 0x1000;
+ o<32>().do_add<int>(&a, 0x2000);
+ return a;
+}
diff --git a/gcc/testsuite/g++.dg/template/spec7.C b/gcc/testsuite/g++.dg/template/spec7.C
new file mode 100644
index 00000000000..18d3c90c45e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/spec7.C
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// PR c++/6440: Specialization of member class template.
+
+template<class T> struct A
+{
+ template<class U> struct B {};
+};
+
+template<> template<class U>
+struct A<int>::B
+{
+ void f();
+ template <class V> void g(V);
+};
+
+template<> template<> template <class V> void A<int>::B<char>::g(V)
+{
+}
+
+A<int>::B<char> b;
+
+int h()
+{
+ b.f();
+ b.g(0);
+}
diff --git a/gcc/testsuite/g++.dg/template/spec8.C b/gcc/testsuite/g++.dg/template/spec8.C
new file mode 100644
index 00000000000..26d207b8131
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/spec8.C
@@ -0,0 +1,11 @@
+// { dg-do compile }
+
+// Specialization of member class template.
+
+template<class T1> struct A
+{
+ template<class T2> struct B {};
+};
+
+template <> template <> struct A<int>::B<int> {};
+template <> template <class U> struct A<int>::B {}; // { dg-error "specialization" }
diff --git a/gcc/testsuite/g++.dg/template/spec9.C b/gcc/testsuite/g++.dg/template/spec9.C
new file mode 100644
index 00000000000..013fa0d9920
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/spec9.C
@@ -0,0 +1,21 @@
+// { dg-do compile }
+
+// Origin: Lynn Akers <lakers@peachtree.com>
+// Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/10956: Incorrect template substitution for member template
+// specialization inside template class.
+
+template <int> struct C {
+ template<typename T> void pre_add(T);
+};
+
+template<>
+template<typename T>
+void C<32>::pre_add(T) {
+ T pre;
+}
+
+int main() {
+ C<32>().pre_add<int>(1);
+}
diff --git a/gcc/testsuite/g++.dg/template/static3.C b/gcc/testsuite/g++.dg/template/static3.C
new file mode 100644
index 00000000000..65cf2c9e7b2
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/static3.C
@@ -0,0 +1,25 @@
+template <class data> class foo
+{
+ public:
+ static const int a;
+ static const int b;
+ static const int c;
+ static const int d;
+};
+
+template <class data> const int foo<data>::a = 1;
+template <class data> const int foo<data>::b = a;
+template <class data> const int foo<data>::c = b;
+template <class data> const int foo<data>::d = c;
+
+typedef foo<int> fooInt;
+
+int main( void )
+{
+ fooInt *f;
+
+ f = new fooInt();
+
+ if (f->c != 1 || f->d != 1)
+ return 1;
+}
diff --git a/gcc/testsuite/g++.dg/template/static4.C b/gcc/testsuite/g++.dg/template/static4.C
new file mode 100644
index 00000000000..c5486326cdd
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/static4.C
@@ -0,0 +1,7 @@
+template <class R>
+struct A {
+ static int _test; // { dg-error "" }
+ static int _test; // { dg-error "" }
+};
+template <class R> int A<R>::_test = 0;
+struct B : public A <int> { };
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/template/typename3.C b/gcc/testsuite/g++.dg/template/typename3.C
index 1c573baa0df..a9a914286a9 100644
--- a/gcc/testsuite/g++.dg/template/typename3.C
+++ b/gcc/testsuite/g++.dg/template/typename3.C
@@ -3,5 +3,5 @@
template <class A>
struct B {
- typedef A::C::D E; // { dg-error "no type|parse error" }
+ typedef A::C::D E; // { dg-error "no type|(parse|syntax) error" }
};
diff --git a/gcc/testsuite/g++.dg/template/unify4.C b/gcc/testsuite/g++.dg/template/unify4.C
new file mode 100644
index 00000000000..19d9f3a9f03
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify4.C
@@ -0,0 +1,18 @@
+// { dg-do compile }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 28 Jan 2003 <nathan@codesourcery.com>
+
+// PR 9437. We'd unify 'T *' with 'U C::*', which is obviously broken
+
+struct X
+{
+ template <typename T>
+ operator T* () const { return static_cast<T*> (0); }
+} null;
+
+struct A { int i; };
+
+static void f (int A::* pmi) { }
+
+int main () { f (null); } // { dg-error "cannot convert" "" }
diff --git a/gcc/testsuite/g++.dg/warn/Winline-1.C b/gcc/testsuite/g++.dg/warn/Winline-1.C
new file mode 100644
index 00000000000..2f8b39cfb4d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Winline-1.C
@@ -0,0 +1,10 @@
+// { dg-options "-Winline -O2" }
+
+static inline int foo(int x); // { dg-warning "" }
+
+int main()
+{
+ return(foo(17)); // { dg-warning "" }
+}
+
+inline int foo(int x) { return(x); }
diff --git a/gcc/testsuite/g++.dg/warn/Winline-2.C b/gcc/testsuite/g++.dg/warn/Winline-2.C
new file mode 100644
index 00000000000..646ffad38e4
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Winline-2.C
@@ -0,0 +1,11 @@
+// { dg-options "-Winline -O" }
+
+#include <vector>
+
+using namespace std;
+
+int main(void)
+{
+ vector<int> v(10);
+}
+
diff --git a/gcc/testsuite/g++.dg/warn/Woverloaded-1.C b/gcc/testsuite/g++.dg/warn/Woverloaded-1.C
new file mode 100644
index 00000000000..65a408b47d0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Woverloaded-1.C
@@ -0,0 +1,17 @@
+/* { dg-options "-Woverloaded-virtual" } */
+
+class Base {
+public:
+ virtual ~Base() {
+ }
+};
+
+class Derived: public Base {
+public:
+ int Base() { // There should be no error here.
+ return 5;
+ }
+};
+
+int main() {
+}
diff --git a/gcc/testsuite/g++.dg/warn/Wshadow-2.C b/gcc/testsuite/g++.dg/warn/Wshadow-2.C
new file mode 100644
index 00000000000..a3e9428b684
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wshadow-2.C
@@ -0,0 +1,10 @@
+/* { dg-options "-Wshadow" } */
+
+struct A {
+ void a1 () {
+ struct B { B() {} }; // There should be no warning here.
+ }
+ void a2 () {
+ struct B { };
+ }
+};
diff --git a/gcc/testsuite/g++.dg/warn/Wunused-2.C b/gcc/testsuite/g++.dg/warn/Wunused-2.C
index 9cdd11e84a6..dcad9015e11 100644
--- a/gcc/testsuite/g++.dg/warn/Wunused-2.C
+++ b/gcc/testsuite/g++.dg/warn/Wunused-2.C
@@ -2,5 +2,5 @@
// { dg-options "-Wunused -O3" }
static const int i = 0;
-static void f() { } /* { dg-warning "defined but not used" } */
+static void f() { } /* { dg-warning "defined but not used" "" { xfail *-*-* } } */
static inline void g() { }
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/compare1.C b/gcc/testsuite/g++.dg/warn/compare1.C
new file mode 100644
index 00000000000..e00592262c6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/compare1.C
@@ -0,0 +1,10 @@
+/* -Wall is supposed to trigger -Wsign-compare for C++. PR 10604.
+ See also gcc.dg/compare7.c. */
+
+/* { dg-do compile } */
+/* { dg-options "-Wall" } */
+
+int f(unsigned a, int b)
+{
+ return a < b; /* { dg-warning "signed and unsigned" } */
+}
diff --git a/gcc/testsuite/g++.dg/warn/conversion-function-1.C b/gcc/testsuite/g++.dg/warn/conversion-function-1.C
new file mode 100644
index 00000000000..878011cf328
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/conversion-function-1.C
@@ -0,0 +1,8 @@
+// Copyright (C) 2003 Free Software Foundation
+// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
+// { dg-options "-Wno-conversion" }
+
+struct A {
+ operator A&();
+};
+
diff --git a/gcc/testsuite/g++.dg/warn/implicit-typename1.C b/gcc/testsuite/g++.dg/warn/implicit-typename1.C
new file mode 100644
index 00000000000..ab5587ef72e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/implicit-typename1.C
@@ -0,0 +1,17 @@
+// The -pedantic option must be omitted to trigger the crash.
+// { dg-do compile }
+// { dg-options "" }
+
+// PR c++/7982: Crash warning about implicit typename.
+// The base class refers to another typename, while the
+// name lookup finds a template.
+
+template <typename T> struct X {};
+
+template <typename T> struct C {
+ typedef typename T::X X;
+};
+
+template <typename T> struct A : public C<T> {
+ typedef X<int> X; // { dg-warning "lookup|dependent base|typename" }
+};
diff --git a/gcc/testsuite/g++.dg/warn/implicit-typename2.C b/gcc/testsuite/g++.dg/warn/implicit-typename2.C
new file mode 100644
index 00000000000..2bd83cffa17
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/implicit-typename2.C
@@ -0,0 +1,12 @@
+// { dg-do compile }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/11039: Implicit typename warning in friend class declaration.
+
+template <typename T> struct X {
+ struct Y {
+ struct Z {};
+ };
+ friend struct Y::Z;
+};
diff --git a/gcc/testsuite/g++.dg/warn/implicit-typename3.C b/gcc/testsuite/g++.dg/warn/implicit-typename3.C
new file mode 100644
index 00000000000..9b1ea8cfc5b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/implicit-typename3.C
@@ -0,0 +1,12 @@
+// { dg-do compile }
+
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+
+// PR c++/11039: Implicit typename warning in friend class declaration.
+
+template <typename T> struct X {
+ struct Y {
+ struct Z {};
+ };
+ template <typename U> friend struct Y::Z f(U);
+};
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++.dg/warn/weak1.C b/gcc/testsuite/g++.dg/warn/weak1.C
index 6b209767b37..dbc0dfff71b 100644
--- a/gcc/testsuite/g++.dg/warn/weak1.C
+++ b/gcc/testsuite/g++.dg/warn/weak1.C
@@ -1,6 +1,6 @@
// { dg-do run }
// { dg-do compile { target *-*-coff i?86-pc-cygwin } }
-// { dg-warning "weak declaration" "COFF format does not support weak" { target *-*-coff i?86-pc-cygwin } 5 }
+// { dg-warning "weak declaration" "COFF format does not support weak" { target *-*-coff i?86-pc-cygwin powerpc-ibm-aix4* rs6000-ibm-aix4* } 5 }
extern void foo (void) __attribute__ ((weak));
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C b/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
index f38154ec507..1e465b62c73 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
@@ -1,6 +1,7 @@
// 981203 bkoz
// g++/16077
-// Build don't link:
+// Build don't link:
+// Special Options: -Wconversion
class nicaragua;
struct colombia {
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++.bugs/900215_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C
index 70df42670d6..be7cb08599a 100644
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C
@@ -19,6 +19,8 @@
// 8/3/2000 (nathan): The std allows you to define such an op, but
// it will never be called. [class.conv.fct]. Make it an unconditional warning.
+// Special Options: -Wconversion
+
struct struct0 {
operator void (); // WARNING - operator void
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++.ext/pretty2.C b/gcc/testsuite/g++.old-deja/g++.ext/pretty2.C
index c0c953a0539..b7e614bb60d 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/pretty2.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/pretty2.C
@@ -67,8 +67,6 @@ X::operator int ()
printf ("__FUNCTION__ %s\n", function);
printf ("__PRETTY_FUNCTION__ %s\n", pretty);
- if (strcmp (function, "operator i"))
- bad = true;
if (strcmp (pretty, "X::operator int()"))
bad = true;
return 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C
index 303860b4725..ccf750199aa 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C
@@ -1,4 +1,5 @@
// Build don't link:
+// Special Options: -Wconversion
struct A { };
struct B: public A {
A a;
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/eh33.C b/gcc/testsuite/g++.old-deja/g++.mike/eh33.C
index d7c509ecd37..0c383501003 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh33.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh33.C
@@ -1,5 +1,5 @@
// Special g++ Options: -fexceptions
-// excess errors test - XFAIL hppa*-*-* a29k-*-* sparc64-*-elf z8k-*-* arm-*-pe
+// excess errors test - XFAIL a29k-*-* sparc64-*-elf z8k-*-* arm-*-pe
#include <exception>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh50.C b/gcc/testsuite/g++.old-deja/g++.mike/eh50.C
index 702bbda7eac..4c65fd8e433 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh50.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh50.C
@@ -1,5 +1,5 @@
// Special g++ Options: -fexceptions
-// excess errors test - XFAIL hppa*-*-* a29k-*-* sparc64-*-elf z8k-*-* arm-*-pe
+// excess errors test - XFAIL a29k-*-* sparc64-*-elf z8k-*-* arm-*-pe
#include <exception>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/err1.C b/gcc/testsuite/g++.old-deja/g++.mike/err1.C
index 8748c7860b1..3f234bb92a4 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/err1.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/err1.C
@@ -2,7 +2,7 @@
struct gorf {
int stuff;
- void snarf();
+ void snarf(); // ERROR -
};
template <class T> void gorf::snarf() { return; } // ERROR -
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++.oliva/ChangeLog b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
index c885701b00c..d2313f07ac0 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
@@ -1,3 +1,15 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-07-06 Alexandre Oliva <aoliva@redhat.com>
* linkage1.C, linkage1-main.cc: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.other/builtins10.C b/gcc/testsuite/g++.old-deja/g++.other/builtins10.C
new file mode 100644
index 00000000000..0fa598001d9
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/builtins10.C
@@ -0,0 +1,7 @@
+// Build don't link:
+// Test that built-in functions don't warn when prototyped without arguments.
+// Origin: PR c++/9367
+// Copyright (C) 2003 Free Software Foundation.
+
+extern "C" int snprintf();
+
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv7.C b/gcc/testsuite/g++.old-deja/g++.other/conv7.C
index 0a7e76dfe3f..fce911019bf 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/conv7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/conv7.C
@@ -5,6 +5,7 @@
// Bug 2726. We ICE'd trying to say something about possibly confusing
// conversion overload resolution.
+// Special Options: -Wconversion
class foo
{
diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl5.C b/gcc/testsuite/g++.old-deja/g++.other/decl5.C
index 98a7c462d42..6847417e89c 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/decl5.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/decl5.C
@@ -1,6 +1,6 @@
// Build don't link:
-// Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 22 Apr 1999 <nathan@acm.org>
// derived from a bug report by <rch@larissa.sd.bi.ruhr-uni-bochum.de>
// http://gcc.gnu.org/ml/gcc-bugs/1999-04n/msg00631.html
@@ -26,7 +26,7 @@ struct B {
struct A::fink { // ERROR - no such member
int m;
};
- struct A::Z { // ERROR XFAIL - A::Z not a member of B
+ struct A::Z { // ERROR - A::Z not a member of B
int m;
};
int m;
@@ -34,14 +34,14 @@ struct B {
struct ::Q { // ERROR XFAIL - ::Q not a member of B
int m;
};
- int A::fn() { // ERROR - A::fn not a member of B
+ int A::fn() { // ERROR XFAIL - A::fn not a member of B
return 0;
}
void fn(struct ::Q &);
- void foo(struct A::y); // ERROR - no such member
+ void foo(struct A::y); // ERROR XFAIL - no such member
};
-struct ::C { // WARNING - extra qualification
+struct ::C { // WARNING XFAIL - extra qualification
int i;
};
@@ -54,19 +54,19 @@ namespace NMS
{
void NMS::fn(); // WARNING - extra qualification XFAIL
int NMS::i; // WARNING - extra qualification XFAIL
- struct NMS::D { // WARNING - extra qualification
+ struct NMS::D { // WARNING - extra qualification XFAIL
int i;
};
- struct N::E { // ERROR - no such type
+ struct N::E { // ERROR - no such type XFAIL
int i;
};
- struct ::F { // ERROR - no such type
+ struct ::F { // ERROR - no such type XFAIL
int i;
};
- int N::fn() { // ERROR - N::fn not a member of NMS
+ int N::fn() { // ERROR - N::fn not a member of NMS XFAIL
return 0;
}
- struct N::F { // ERROR XFAIL - N::F not a member of NMS
+ struct N::F { // ERROR XFAIL - N::F not a member of NMS XFAIL
int i;
};
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup24.C b/gcc/testsuite/g++.old-deja/g++.other/lookup24.C
new file mode 100644
index 00000000000..c8988e278d1
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/lookup24.C
@@ -0,0 +1,25 @@
+// Build don't link:
+//
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Raymond <raymond@magma.magma-da.com>.
+//
+// PR c++/47 The parser failed to resolve 'B' in the return type of
+// A::C::D::foo.
+
+class A {
+public:
+ class B;
+ class C;
+};
+
+class A::B {
+};
+
+class A::C {
+ class D;
+};
+
+class A::C::D {
+public:
+ B* foo();
+};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C b/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C
index f8ef3d39e9b..93045e0fa55 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C
@@ -2,6 +2,7 @@
// warn about it. We choose op char* not because it is a member of B --
// the standard says that all conversion ops are treated as coming from
// the type of the argument -- but because it is non-const.
+// Special Options: -Wconversion
struct A {
operator const char *() const { return ""; }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload14.C b/gcc/testsuite/g++.old-deja/g++.other/overload14.C
index 8938ef1d7d4..617980588eb 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/overload14.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/overload14.C
@@ -1,3 +1,5 @@
+// Special Options: -Wconversion
+
extern "C" void abort();
struct A {
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/deduct5.C b/gcc/testsuite/g++.old-deja/g++.pt/deduct5.C
index d47a7669295..7c3769c88ab 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/deduct5.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/deduct5.C
@@ -7,7 +7,7 @@
template <typename T> int Foo (T const *ptr)
{
- static int count = 0;
+ static int count;
printf ("%s\n", __PRETTY_FUNCTION__);
count++;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate12.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate12.C
index e1cc8534c8d..ce1efe0c731 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate12.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate12.C
@@ -48,3 +48,13 @@ int main ()
return 9;
return 0;
}
+
+// On platforms that do not have weak symbols, these static data
+// members must be explicitly instantiated. The iflag and jflag data
+// members should not have to be explicitly instantiated because their
+// const-ness should allow the compiler to elide references to the
+// actual variables.
+template const bool X<int>::cflag;
+template const bool X<int>::flag;
+template const bool X<float>::cflag;
+template const bool X<float>::flag;
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/g77.dg/pr9258.f b/gcc/testsuite/g77.dg/pr9258.f
new file mode 100644
index 00000000000..9961b72b7f6
--- /dev/null
+++ b/gcc/testsuite/g77.dg/pr9258.f
@@ -0,0 +1,18 @@
+C Test case for PR/9258
+C Origin: kmccarty@princeton.edu
+C
+C { dg-do compile }
+ SUBROUTINE FOO (B)
+
+ 10 CALL BAR (A)
+ ASSIGN 20 TO M
+ IF (100.LT.A) GOTO 10
+ GOTO 40
+C
+ 20 IF (B.LT.ABS(A)) GOTO 10
+ ASSIGN 30 TO M
+ GOTO 40
+C
+ 30 ASSIGN 10 TO M
+ 40 GOTO M,(10,20,30)
+ END
diff --git a/gcc/testsuite/g77.f-torture/compile/20030326-1.f b/gcc/testsuite/g77.f-torture/compile/20030326-1.f
new file mode 100644
index 00000000000..bcbc73c179b
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/compile/20030326-1.f
@@ -0,0 +1,14 @@
+C PR fortran/9793
+C larson@w6yx.stanford.edu
+C
+ integer a, b, c
+
+ c = -2147483648 / -1
+
+ a = 1
+ b = 0
+ c = a / b
+
+ print *, c
+
+ end
diff --git a/gcc/testsuite/g77.f-torture/execute/10197.f b/gcc/testsuite/g77.f-torture/execute/10197.f
new file mode 100644
index 00000000000..0fa81f67809
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/execute/10197.f
@@ -0,0 +1,15 @@
+ IMPLICIT NONE
+ LOGICAL ERROR
+ CHARACTER*12 FORM
+ DATA ERROR /.FALSE./
+ DATA FORM /' '/
+ OPEN(UNIT=60,ACCESS='DIRECT',STATUS='SCRATCH',RECL=255)
+ INQUIRE(UNIT=60,FORM=FORM)
+ IF (FORM.EQ.'UNFORMATTED') THEN
+ ERROR = .FALSE.
+ ELSE
+ ERROR = .TRUE.
+ ENDIF
+ CLOSE(UNIT=60)
+ IF (ERROR) CALL ABORT
+ END
diff --git a/gcc/testsuite/g77.f-torture/execute/1832.f b/gcc/testsuite/g77.f-torture/execute/1832.f
new file mode 100644
index 00000000000..9ae1ca9fb27
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/execute/1832.f
@@ -0,0 +1,8 @@
+ character*120 file
+ character*5 string
+ file = "c:/dos/adir/bdir/cdir/text.doc"
+ write(string, *) "a ", file
+ if (string .ne. ' a') call abort
+C-- The leading space is normal for list-directed output
+C-- "file" is not printed because it would overflow "string".
+ end
diff --git a/gcc/testsuite/g77.f-torture/execute/select.f b/gcc/testsuite/g77.f-torture/execute/select.f
new file mode 100644
index 00000000000..f1024330a71
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/execute/select.f
@@ -0,0 +1,173 @@
+C integer byte case with integer byte parameters as case(s)
+ subroutine ib
+ integer *1 a /1/
+ integer *1 one,two,three
+ parameter (one=1,two=2,three=3)
+ select case (a)
+ case (one)
+ case (two)
+ call abort
+ case (three)
+ call abort
+ case default
+ call abort
+ end select
+ print*,'normal ib'
+ end
+C integer halfword case with integer halfword parameters
+ subroutine ih
+ integer *2 a /1/
+ integer *2 one,two,three
+ parameter (one=1,two=2,three=3)
+ select case (a)
+ case (one)
+ case (two)
+ call abort
+ case (three)
+ call abort
+ case default
+ call abort
+ end select
+ print*,'normal ih'
+ end
+C integer case with integer parameters
+ subroutine iw
+ integer *4 a /1/
+ integer *4 one,two,three
+ parameter (one=1,two=2,three=3)
+ select case (a)
+ case (one)
+ case (two)
+ call abort
+ case (three)
+ call abort
+ case default
+ call abort
+ end select
+ print*,'normal iw'
+ end
+C integer double case with integer double parameters
+ subroutine id
+ integer *8 a /1/
+ integer *8 one,two,three
+ parameter (one=1,two=2,three=3)
+ select case (a)
+ case (one)
+ case (two)
+ call abort
+ case (three)
+ call abort
+ case default
+ call abort
+ end select
+ print*,'normal id'
+ end
+C integer byte select with integer case
+ subroutine ib_mixed
+ integer*1 s /1/
+ select case (s)
+ case (1)
+ case (2)
+ call abort
+ end select
+ print*,'ib ok'
+ end
+C integer halfword with integer case
+ subroutine ih_mixed
+ integer*2 s /1/
+ select case (s)
+ case (1)
+ case default
+ call abort
+ end select
+ print*,'ih ok'
+ end
+C integer word with integer case
+ subroutine iw_mixed
+ integer s /5/
+ select case (s)
+ case (1)
+ call abort
+ case (2)
+ call abort
+ case (3)
+ call abort
+ case (4)
+ call abort
+ case (5)
+C
+ case (6)
+ call abort
+ case default
+ call abort
+ end select
+ print*,'iw ok'
+ end
+C integer doubleword with integer case
+ subroutine id_mixed
+ integer *8 s /1024/
+ select case (s)
+ case (1)
+ call abort
+ case (1023)
+ call abort
+ case (1025)
+ call abort
+ case (1024)
+C
+ end select
+ print*,'i8 ok'
+ end
+ subroutine l1_mixed
+ logical*1 s /.TRUE./
+ select case (s)
+ case (.TRUE.)
+ case (.FALSE.)
+ call abort
+ end select
+ print*,'l1 ok'
+ end
+ subroutine l2_mixed
+ logical*2 s /.FALSE./
+ select case (s)
+ case (.TRUE.)
+ call abort
+ case (.FALSE.)
+ end select
+ print*,'lh ok'
+ end
+ subroutine l4_mixed
+ logical*4 s /.TRUE./
+ select case (s)
+ case (.FALSE.)
+ call abort
+ case (.TRUE.)
+ end select
+ print*,'lw ok'
+ end
+ subroutine l8_mixed
+ logical*8 s /.TRUE./
+ select case (s)
+ case (.TRUE.)
+ case (.FALSE.)
+ call abort
+ end select
+ print*,'ld ok'
+ end
+C main
+C -- regression cases
+ call ib
+ call ih
+ call iw
+ call id
+C -- new functionality
+ call ib_mixed
+ call ih_mixed
+ call iw_mixed
+ call id_mixed
+ end
+
+
+
+
+
diff --git a/gcc/testsuite/g77.f-torture/noncompile/9263.f b/gcc/testsuite/g77.f-torture/noncompile/9263.f
new file mode 100644
index 00000000000..e68b3e0a65f
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/noncompile/9263.f
@@ -0,0 +1,7 @@
+ PARAMETER (Q=1)
+ PARAMETER (P=10)
+ INTEGER C(10),D(10),E(10),F(10)
+ DATA (C(I),I=1,P) /10*10/ ! TERMINAL NOT INTEGER
+ DATA (D(I),I=Q,10) /10*10/ ! START NOT INTEGER
+ DATA (E(I),I=1,10,Q) /10*10/ ! INCREMENT NOT INTEGER
+ END
diff --git a/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f b/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f
new file mode 100644
index 00000000000..f7dad339a81
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f
@@ -0,0 +1,10 @@
+ integer*1 one
+ integer*2 two
+ parameter (one=1)
+ parameter (two=2)
+ select case (I)
+ case (one)
+ case (two)
+ end select
+ end
+
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/20010518-2.x b/gcc/testsuite/gcc.c-torture/compile/20010518-2.x
index 4cfce33b2dc..1bd6f8fd464 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20010518-2.x
+++ b/gcc/testsuite/gcc.c-torture/compile/20010518-2.x
@@ -1,2 +1,8 @@
-set options "-S"
+# This test fails on HC11/HC12 when it is compiled without -mshort because
+# the array is too large (INT_MAX/2 > 64K). Force to use 16-bit ints for it.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+ set options "-S -mshort"
+} else {
+ set options "-S"
+}
return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020312-1.x b/gcc/testsuite/gcc.c-torture/compile/20020312-1.x
new file mode 100644
index 00000000000..105f2516474
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20020312-1.x
@@ -0,0 +1,6 @@
+# This does not compile on HC11/HC12 due to the asm which requires
+# two 32-bit registers.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+ return 1
+}
+return 0
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/20030125-1.c b/gcc/testsuite/gcc.c-torture/compile/20030125-1.c
new file mode 100644
index 00000000000..656304e2d67
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030125-1.c
@@ -0,0 +1,24 @@
+ int count;
+
+ int func(int *valp) {
+ int val, locked = 0;
+
+ while ((val = *valp) != 0) {
+ if (count) {
+ if (count)
+ locked = 1;
+ else
+ locked = 1;
+
+ if (!locked)
+ continue;
+ }
+
+ if (!count)
+ count--;
+
+ break;
+ }
+
+ return val;
+ }
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030206-1.c b/gcc/testsuite/gcc.c-torture/compile/20030206-1.c
new file mode 100644
index 00000000000..1e0d5445877
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030206-1.c
@@ -0,0 +1,14 @@
+/* PR c/9530 */
+/* Contributed by Volker Reichelt. */
+
+/* Verify that the call to 'foo' is not turned
+ into a sibling call. */
+
+void foo(float d);
+
+float bar(float d);
+
+float baz(float d)
+{
+ foo(bar(d));
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030219-1.c b/gcc/testsuite/gcc.c-torture/compile/20030219-1.c
new file mode 100644
index 00000000000..ecc943f7737
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030219-1.c
@@ -0,0 +1,6 @@
+int global_one;
+
+void clobber_register()
+{
+ *(volatile unsigned char *)(0xE0000000 * global_one) = 0x00;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030305-1.c b/gcc/testsuite/gcc.c-torture/compile/20030305-1.c
new file mode 100644
index 00000000000..2f608196fdd
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030305-1.c
@@ -0,0 +1,18 @@
+/* PR c/9799 */
+/* Verify that GCC doesn't crash on excess elements
+ in initializer for a flexible array member. */
+
+typedef struct {
+ int aaa;
+} s1_t;
+
+typedef struct {
+ int bbb;
+ s1_t s1_array[];
+} s2_t;
+
+static s2_t s2_array[]= {
+ { 1, 4 },
+ { 2, 5 },
+ { 3, 6 }
+};
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030314-1.c b/gcc/testsuite/gcc.c-torture/compile/20030314-1.c
new file mode 100644
index 00000000000..02d4fed526a
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030314-1.c
@@ -0,0 +1,18 @@
+/* PR optimization/8396 */
+/* Originator: <papadopo@shfj.cea.fr> */
+
+/* Verify that the tree inliner doesn't mess up the types
+ when passing the value of read-only constant arguments. */
+
+static inline bar(const short int xs, const short int xe)
+{
+ if (xe && (xs < xe))
+ ;
+}
+
+void f()
+{
+ short int xe;
+
+ bar(0, xe);
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030330-1.c b/gcc/testsuite/gcc.c-torture/compile/20030330-1.c
new file mode 100644
index 00000000000..a5d5de23b7a
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030330-1.c
@@ -0,0 +1,7 @@
+/* PR c/10083 */
+/* This will result in a very small constant for umul_highpart, which
+ uncovered a bug in the Alpha machine description. */
+
+unsigned long f(unsigned long x) {
+ return x % 0x3fffffffffffffff;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030405-1.c b/gcc/testsuite/gcc.c-torture/compile/20030405-1.c
new file mode 100644
index 00000000000..2e61f1fa3ff
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030405-1.c
@@ -0,0 +1,58 @@
+/* PR optimization/10024 */
+extern int *allegro_errno;
+typedef long fixed;
+extern inline int
+fixfloor (fixed x)
+{
+ if (x >= 0)
+ return (x >> 16);
+ else
+ return ~((~x) >> 16);
+}
+extern inline int
+fixtoi (fixed x)
+{
+ return fixfloor (x) + ((x & 0x8000) >> 15);
+}
+extern inline fixed
+ftofix (double x)
+{
+ if (x > 32767.0)
+ {
+ *allegro_errno = 34;
+ return 0x7FFFFFFF;
+ }
+ if (x < -32767.0)
+ {
+ *allegro_errno = 34;
+ return -0x7FFFFFFF;
+ }
+ return (long) (x * 65536.0 + (x < 0 ? -0.5 : 0.5));
+}
+extern inline double
+fixtof (fixed x)
+{
+ return (double) x / 65536.0;
+}
+extern inline fixed
+fixdiv (fixed x, fixed y)
+{
+ if (y == 0)
+ {
+ *allegro_errno = 34;
+ return (x < 0) ? -0x7FFFFFFF : 0x7FFFFFFF;
+ }
+ else
+ return ftofix (fixtof (x) / fixtof (y));
+}
+extern inline fixed
+itofix (int x)
+{
+ return x << 16;
+}
+
+int
+foo (int n)
+{
+ return fixtoi (fixdiv (itofix (512), itofix (n)));
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030418-1.c b/gcc/testsuite/gcc.c-torture/compile/20030418-1.c
new file mode 100644
index 00000000000..f6d5a4af51c
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030418-1.c
@@ -0,0 +1,16 @@
+/* PR optimization/7675 */
+/* Contributed by Volker Reichelt */
+
+/* Verify that we don't put automatic variables
+ in registers too early. */
+
+extern int dummy (int *);
+
+void foo(int i)
+{
+ int j=i;
+
+ void bar() { int x=j, y=i; }
+
+ dummy(&i);
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/20030604-1.c b/gcc/testsuite/gcc.c-torture/compile/20030604-1.c
new file mode 100644
index 00000000000..7e36bfeb39e
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20030604-1.c
@@ -0,0 +1,18 @@
+/* PR optimization/10876 */
+/* Contributed by Christian Ehrhardt */
+
+/* Verify that the SPARC port doesn't emit
+ (minus) (reg) (const_int) insns. */
+
+void f(void)
+{
+ unsigned int butterfly, block, offset;
+ double *Z;
+
+ for (block = 0; block < 512; block += 512) {
+ double T1re, T2re;
+ offset = butterfly + block;
+ T1re += T2re;
+ T2re = Z[offset] + T1re;
+ }
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-12.x b/gcc/testsuite/gcc.c-torture/compile/920501-12.x
new file mode 100644
index 00000000000..61ba34933fb
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/920501-12.x
@@ -0,0 +1,6 @@
+# This test fails on HC11/HC12 when it is compiled without -mshort because
+# the stack arrays are too large. Force to use 16-bit ints for it.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+ set options "-mshort"
+}
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-4.x b/gcc/testsuite/gcc.c-torture/compile/920501-4.x
new file mode 100644
index 00000000000..cf60af9be67
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/920501-4.x
@@ -0,0 +1,6 @@
+# This test fails on HC11/HC12 when it is compiled without -mshort because
+# the 'r0' array is too large. Force to use 16-bit ints for it.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+ set options "-mshort"
+}
+return 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/compile/980506-1.x b/gcc/testsuite/gcc.c-torture/compile/980506-1.x
index 056ef463835..133ed24d944 100644
--- a/gcc/testsuite/gcc.c-torture/compile/980506-1.x
+++ b/gcc/testsuite/gcc.c-torture/compile/980506-1.x
@@ -7,4 +7,7 @@ if { [istarget "h8300-*-*"] } {
return 1;
}
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+ return 1
+}
return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-5.x b/gcc/testsuite/gcc.c-torture/compile/simd-5.x
index b7612f78787..ada37b18652 100644
--- a/gcc/testsuite/gcc.c-torture/compile/simd-5.x
+++ b/gcc/testsuite/gcc.c-torture/compile/simd-5.x
@@ -1,6 +1,41 @@
# h8300 does not have long long
if { [istarget "h8300-*-*"] } {
- return 1;
+ return 1;
+}
+
+if { [istarget "sparc64-*-*"] || [istarget "sparcv9-*-*"] } {
+ # On SPARC64/SPARC-V9 it fails, except with -m32.
+ set torture_eval_before_compile {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "PR target/9200" \
+ { "*-*-*" } \
+ { "*" } \
+ { "-m32" }
+ }
+ }
+} elseif { [istarget "sparc-*-*"] } {
+ # On regular SPARC it doesn't fail, except with -m64.
+ set torture_eval_before_compile {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "PR target/9200" \
+ { "*-*-*" } \
+ { "-m64" } \
+ { "" }
+ }
+ }
+} elseif { [istarget "powerpc64-*-*"] } {
+ # On PowerPC-64 it fails unconditionally.
+ set torture_eval_before_compile {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "PR target/9680" \
+ "*-*-*" \
+ { "*" } \
+ { "" }
+ }
+ }
}
return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011126-1.c b/gcc/testsuite/gcc.c-torture/execute/20011126-1.c
index 6c54043a458..ede938b0042 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011126-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011126-1.c
@@ -1,19 +1,19 @@
-/* Produced a overflow in ifcvt.c, causing S to contain 0xffffffff7fffffff. */
-
-int a = 1;
-
-int main ()
-{
- long long s;
-
- s = a;
- if (s < 0)
- s = -2147483648LL;
- else
- s = 2147483647LL;
-
- if (s < 0)
- abort ();
-
- return 0;
-}
+/* Produced a overflow in ifcvt.c, causing S to contain 0xffffffff7fffffff. */
+
+int a = 1;
+
+int main ()
+{
+ long long s;
+
+ s = a;
+ if (s < 0)
+ s = -2147483648LL;
+ else
+ s = 2147483647LL;
+
+ if (s < 0)
+ abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020227-1.x b/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
index 3c3c4bb9cb5..72adedff865 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
@@ -2,20 +2,34 @@
# been observed to fail on at least mips-irix6, alpha, ia64, hppa64,
# sparc64/sparcv9 and mmix during April 2002.
-if { [istarget "*64*-*-*"] || [istarget "alpha*-*-*"] || [istarget "mmix-*-*"]
- || [istarget "sparcv9-*-*"] || [istarget "mips*-*-irix6*"] } {
- set torture_execute_xfail [istarget]
-}
-
-# Regular sparc- also fails with -m64.
-set torture_eval_before_execute {
- global compiler_conditional_xfail_data
- set compiler_conditional_xfail_data {
- "This test fails on 64-bit targets, see PR6221." \
- { "sparc-*-*" } \
- { "-m64" } \
- { "" }
+if { [istarget "sparc64-*-*"] || [istarget "sparcv9-*-*"] } {
+ # On sparc64/sparcv9 it doesn't fail at -O0/-O1, or at all with -m32.
+ set torture_eval_before_execute {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "This test fails on 64-bit targets, see PR6221." \
+ { "*-*-*" } \
+ { "-O2" "-O3" "-Os" } \
+ { "-m32" }
+ }
}
+} elseif { [istarget "sparc-*-*"] } {
+ # Regular sparc fails with -m64, but not with -O0/-O1.
+ set torture_eval_before_execute {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "This test fails on 64-bit targets, see PR6221." \
+ { "*-*-*" } \
+ { "-m64" } \
+ { "-O0" "-O1" }
+ }
+ }
+} elseif { [istarget "powerpc64-*-*"] } {
+ # PowerPC-64 doesn't fail at any optimization level.
+} elseif { [istarget "*64*-*-*"] || [istarget "alpha*-*-*"]
+ || [istarget "mmix-*-*"] || [istarget "mips*-*-irix6*"] } {
+ # Other 64-bit targets fail at all optimization levels.
+ set torture_execute_xfail [istarget]
}
return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020720-1.x b/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
index ce0dd0033cb..58e311c0d3c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
@@ -15,7 +15,8 @@ set torture_eval_before_compile {
global compiler_conditional_xfail_data
set compiler_conditional_xfail_data {
"This test fails to optimize completely on certain platforms." \
- { "xtensa-*-*" "sh-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" "h8300*-*-*" } \
+ { "xtensa-*-*" "sh-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" \
+ "h8300*-*-*" "x86_64-*-*" "cris-*-*" } \
{ "*" } \
{ "-O0" }
}
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/20030218-1.c b/gcc/testsuite/gcc.c-torture/execute/20030218-1.c
new file mode 100644
index 00000000000..8dde79451fe
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030218-1.c
@@ -0,0 +1,25 @@
+/* On H8, the predicate general_operand_src(op,mode) used to ignore
+ mode when op is a (mem (post_inc ...)). As a result, the pattern
+ for extendhisi2 was recognized as extendqisi2. */
+
+extern void abort ();
+extern void exit (int);
+
+short *q;
+
+long
+foo (short *p)
+{
+ long b = *p;
+ q = p + 1;
+ return b;
+}
+
+int
+main ()
+{
+ short a = 0xff00;
+ if (foo (&a) != (long) (short) 0xff00)
+ abort ();
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030221-1.c b/gcc/testsuite/gcc.c-torture/execute/20030221-1.c
new file mode 100644
index 00000000000..9dcee3e2338
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030221-1.c
@@ -0,0 +1,17 @@
+/* PR optimization/8613 */
+/* Contributed by Glen Nakamura */
+
+extern void abort (void);
+
+int main (void)
+{
+ char buf[16] = "1234567890";
+ char *p = buf;
+
+ *p++ = (char) __builtin_strlen (buf);
+
+ if ((buf[0] != 10) || (p - buf != 1))
+ abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030224-2.c b/gcc/testsuite/gcc.c-torture/execute/20030224-2.c
new file mode 100644
index 00000000000..5b692fb4669
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030224-2.c
@@ -0,0 +1,28 @@
+/* Make sure that we don't free any temp stack slots associated with
+ initializing marker before we're finished with them. */
+
+extern void abort();
+
+typedef struct { short v16; } __attribute__((packed)) jint16_t;
+
+struct node {
+ jint16_t magic;
+ jint16_t nodetype;
+ int totlen;
+} __attribute__((packed));
+
+struct node node, *node_p = &node;
+
+int main()
+{
+ struct node marker = {
+ .magic = (jint16_t) {0x1985},
+ .nodetype = (jint16_t) {0x2003},
+ .totlen = node_p->totlen
+ };
+ if (marker.magic.v16 != 0x1985)
+ abort();
+ if (marker.nodetype.v16 != 0x2003)
+ abort();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030307-1.c b/gcc/testsuite/gcc.c-torture/execute/20030307-1.c
new file mode 100644
index 00000000000..3f4eb864d6c
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030307-1.c
@@ -0,0 +1,26 @@
+/* PR optimization/8726 */
+/* Originator: Paul Eggert <eggert@twinsun.com> */
+
+/* Verify that GCC doesn't miscompile tail calls on Sparc. */
+
+extern void abort(void);
+
+int fcntl_lock(int fd, int op, long long offset, long long count, int type);
+
+int vfswrap_lock(char *fsp, int fd, int op, long long offset, long long count, int type)
+{
+ return fcntl_lock(fd, op, offset, count, type);
+}
+
+int fcntl_lock(int fd, int op, long long offset, long long count, int type)
+{
+ return type;
+}
+
+int main(void)
+{
+ if (vfswrap_lock (0, 1, 2, 3, 4, 5) != 5)
+ abort();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030313-1.c b/gcc/testsuite/gcc.c-torture/execute/20030313-1.c
new file mode 100644
index 00000000000..49245a0b39f
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030313-1.c
@@ -0,0 +1,68 @@
+struct A
+{
+ unsigned long p, q, r, s;
+} x = { 13, 14, 15, 16 };
+
+extern void abort (void);
+extern void exit (int);
+
+static inline struct A *
+bar (void)
+{
+ struct A *r;
+
+ switch (8)
+ {
+ case 2:
+ abort ();
+ break;
+ case 8:
+ r = &x;
+ break;
+ default:
+ abort ();
+ break;
+ }
+ return r;
+}
+
+void
+foo (unsigned long *x, int y)
+{
+ if (y != 12)
+ abort ();
+ if (x[0] != 1 || x[1] != 11)
+ abort ();
+ if (x[2] != 2 || x[3] != 12)
+ abort ();
+ if (x[4] != 3 || x[5] != 13)
+ abort ();
+ if (x[6] != 4 || x[7] != 14)
+ abort ();
+ if (x[8] != 5 || x[9] != 15)
+ abort ();
+ if (x[10] != 6 || x[11] != 16)
+ abort ();
+}
+
+int
+main (void)
+{
+ unsigned long a[40];
+ int b = 0;
+
+ a[b++] = 1;
+ a[b++] = 11;
+ a[b++] = 2;
+ a[b++] = 12;
+ a[b++] = 3;
+ a[b++] = bar()->p;
+ a[b++] = 4;
+ a[b++] = bar()->q;
+ a[b++] = 5;
+ a[b++] = bar()->r;
+ a[b++] = 6;
+ a[b++] = bar()->s;
+ foo (a, b);
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030316-1.c b/gcc/testsuite/gcc.c-torture/execute/20030316-1.c
new file mode 100644
index 00000000000..bde2e136ad3
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030316-1.c
@@ -0,0 +1,12 @@
+/* PR target/9164 */
+/* The comparison operand was sign extended erraneously. */
+
+int
+main (void)
+{
+ long j = 0x40000000;
+ if ((unsigned int) (0x40000000 + j) < 0L)
+ abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030613-1.c b/gcc/testsuite/gcc.c-torture/execute/20030613-1.c
new file mode 100644
index 00000000000..cb1623d9617
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030613-1.c
@@ -0,0 +1,62 @@
+/* PR optimization/10955 */
+/* Originator: <heinrich.brand@fujitsu-siemens.com> */
+
+/* This used to fail on SPARC32 at -O3 because the loop unroller
+ wrongly thought it could eliminate a pseudo in a loop, while
+ the pseudo was used outside the loop. */
+
+extern void abort(void);
+
+#define COMPLEX struct CS
+
+COMPLEX {
+ long x;
+ long y;
+};
+
+
+static COMPLEX CCID (COMPLEX x)
+{
+ COMPLEX a;
+
+ a.x = x.x;
+ a.y = x.y;
+
+ return a;
+}
+
+
+static COMPLEX CPOW (COMPLEX x, int y)
+{
+ COMPLEX a;
+ a = x;
+
+ while (--y > 0)
+ a=CCID(a);
+
+ return a;
+}
+
+
+static int c5p (COMPLEX x)
+{
+ COMPLEX a,b;
+ a = CPOW (x, 2);
+ b = CCID( CPOW(a,2) );
+
+ return (b.x == b.y);
+}
+
+
+int main (void)
+{
+ COMPLEX x;
+
+ x.x = -7;
+ x.y = -7;
+
+ if (!c5p(x))
+ abort();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960312-1.x b/gcc/testsuite/gcc.c-torture/execute/960312-1.x
new file mode 100644
index 00000000000..ed4bac41066
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/960312-1.x
@@ -0,0 +1,7 @@
+# This test fails on HC11/HC12 when it is compiled without -mshort because
+# is uses an asm that requires two 32-bit registers (int). It passes
+# when using -mshort because there are enough registers; force -mshort.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+ set options "-mshort"
+}
+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.c-torture/execute/ieee/20000320-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
index ed266efdd86..5f1768c1abc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
@@ -49,7 +49,7 @@ int main()
exit (0);
c(0x3690000000000000ULL, 0x00000000U);
-#if (defined __arm__ || defined __thumb__) && ! defined __ARMEB__
+#if (defined __arm__ || defined __thumb__) && ! (defined __ARMEB__ || defined __VFP_FP__)
/* The ARM always stores FP numbers in big-wordian format,
even when running in little-byteian mode. */
c(0x0000000136900000ULL, 0x00000001U);
diff --git a/gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c b/gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c
index dbdc812fe6b..63708408235 100644
--- a/gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c
@@ -54,7 +54,7 @@ int main()
return 0;
}
-#ifdef __OPTIMIZE__
+#if defined (__OPTIMIZE__) && ! defined (__OPTIMIZE_SIZE__)
/* When optimizing, all the above cases should be transformed into
something else. So any remaining calls to the original function
should abort. */
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c
new file mode 100644
index 00000000000..89a11cf9f73
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c
@@ -0,0 +1,26 @@
+/* PR 9700 */
+/* Alpha got the base address for the va_list incorrect when there was
+ a structure that was passed partially in registers and partially on
+ the stack. */
+
+#include <stdarg.h>
+
+struct two { long x, y; };
+
+void foo(int a, int b, int c, int d, int e, struct two f, int g, ...)
+{
+ va_list args;
+ int h;
+
+ va_start(args, g);
+ h = va_arg(args, int);
+ if (g != 1 || h != 2)
+ abort ();
+}
+
+int main()
+{
+ struct two t = { 0, 0 };
+ foo(0, 0, 0, 0, 0, t, 1, 2);
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/20011029-2.c b/gcc/testsuite/gcc.dg/20011029-2.c
index b184af088d1..6fdc6216678 100644
--- a/gcc/testsuite/gcc.dg/20011029-2.c
+++ b/gcc/testsuite/gcc.dg/20011029-2.c
@@ -16,7 +16,7 @@ int foo (int s)
continue;
else if (({ register char r;
__asm__ __volatile__ ("" : "=q" (r)
- : "r" (0), "m" (a)
+ : "r" (0), "m" (a[0])
: "cc"); r; }))
continue;
}
diff --git a/gcc/testsuite/gcc.dg/20020430-1.c b/gcc/testsuite/gcc.dg/20020430-1.c
index 981c4f36dab..5df76801bf4 100644
--- a/gcc/testsuite/gcc.dg/20020430-1.c
+++ b/gcc/testsuite/gcc.dg/20020430-1.c
@@ -4,8 +4,8 @@
until the last moment. After which we did not delete dead code,
which left a reference to the deleted ADDR_VEC. */
-/* { dg-do compile }
-/* { do-options "-O2 -frename-registers -fpic" } */
+/* { dg-do compile } */
+/* { dg-options "-O2 -frename-registers -fpic" } */
typedef unsigned long XID;
typedef XID Window;
diff --git a/gcc/testsuite/gcc.dg/20020503-1.c b/gcc/testsuite/gcc.dg/20020503-1.c
index 5f9168eb67d..6e669031cd6 100644
--- a/gcc/testsuite/gcc.dg/20020503-1.c
+++ b/gcc/testsuite/gcc.dg/20020503-1.c
@@ -4,8 +4,8 @@
for leaf functions, the function was still leaf, but LEAF_REG_REMAP
returned -1 for some registers (like %o0). */
/* { dg-do compile } */
-/* { do-options "-O2 -g" } */
-/* { do-options "-O2 -g -mflat" { target sparc*-*-* } } */
+/* { dg-options "-O2 -g" } */
+/* { dg-options "-O2 -g -mflat" { target sparc*-*-* } } */
void foo (char *a, char *b, char *c, char *d)
{
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/20030123-1.c b/gcc/testsuite/gcc.dg/20030123-1.c
new file mode 100644
index 00000000000..1f5858808c4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030123-1.c
@@ -0,0 +1,17 @@
+/* This used to ICE due to a reload bug on s390*. */
+
+/* { dg-do compile { target s390*-*-* } } */
+/* { dg-options "-O2" } */
+
+void func (char *p);
+
+void test (void)
+{
+ char *p = alloca (4096);
+ long idx;
+
+ asm ("" : "=r" (idx) : : "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12");
+
+ func (p + idx + 1);
+}
+
diff --git a/gcc/testsuite/gcc.dg/20030129-1.c b/gcc/testsuite/gcc.dg/20030129-1.c
new file mode 100644
index 00000000000..0b745a901b1
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030129-1.c
@@ -0,0 +1,37 @@
+/* This used to ICE due to a reload bug on s390*. */
+
+/* { dg-do compile { target s390*-*-* } } */
+/* { dg-options "-O2" } */
+
+int f (unsigned int);
+void g (void *);
+
+void test (void *p, void *dummy)
+{
+ unsigned int flags = 0;
+
+ if (dummy)
+ g (dummy);
+
+ if (p)
+ flags |= 0x80000000;
+
+ asm volatile ("" : : : "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12");
+
+ if (dummy)
+ g (dummy);
+
+ if (p)
+ {
+ flags |= 0x20000000|0x80000000;
+
+ if (!f (0))
+ flags &= ~0x80000000;
+ }
+
+ f (flags);
+
+ if (dummy)
+ g (dummy);
+}
+
diff --git a/gcc/testsuite/gcc.dg/20030213-1.c b/gcc/testsuite/gcc.dg/20030213-1.c
new file mode 100644
index 00000000000..c9fe3a40eaf
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030213-1.c
@@ -0,0 +1,37 @@
+/* Testcase for http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01017.html */
+/* { dg-do link } */
+/* { dg-options "-O -fpic" } */
+/* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* cris-*-aout* mmix-*-* } 0 } */
+
+int *g;
+
+int main (void)
+{
+ switch (*g)
+ {
+ case 0:
+ {
+ switch (*g)
+ {
+ case 0: *g = 1; break;
+ case 1:
+ case 2: *g = 1; break;
+ case 3:
+ case 4: *g = 1; break;
+ }
+ break;
+ }
+ case 1:
+ {
+ switch (*g)
+ {
+ case 0: *g = 1; break;
+ case 1:
+ case 2: *g = 1; break;
+ case 3:
+ case 4: *g = 1; break;
+ }
+ }
+ }
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/20030225-1.c b/gcc/testsuite/gcc.dg/20030225-1.c
new file mode 100644
index 00000000000..7c30898b4ea
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030225-1.c
@@ -0,0 +1,103 @@
+/* PR target/9732
+ This testcase segfaulted on PPC because PIC_OFFSET_TABLE_REGNUM was no
+ fixed register.
+ Distilled from the xvid sources by Guillaume Morin <guillaume@morinfr.org>
+ and Benjamin Herrenschmidt <benh@kernel.crashing.org>. */
+/* { dg-do run } */
+/* { dg-options "-O2 -fPIC" } */
+/* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* mmix-*-* } 0 } */
+
+
+extern void exit (int);
+
+#define W1 2841 /* 2048*sqrt(2)*cos(1*pi/16) */
+#define W2 2676 /* 2048*sqrt(2)*cos(2*pi/16) */
+#define W3 2408 /* 2048*sqrt(2)*cos(3*pi/16) */
+#define W5 1609 /* 2048*sqrt(2)*cos(5*pi/16) */
+#define W6 1108 /* 2048*sqrt(2)*cos(6*pi/16) */
+#define W7 565 /* 2048*sqrt(2)*cos(7*pi/16) */
+
+
+/* private data */
+static short iclip[1024]; /* clipping table */
+static short *iclp;
+
+void
+idct_int32(short *const block)
+{
+ static short *blk;
+ static long i;
+ static long X0, X1, X2, X3, X4, X5, X6, X7, X8;
+
+ for (i = 0; i < 8; i++) /* idct columns */
+ {
+ blk = block + i;
+ /* shortcut */
+ if (! ((X1 = (blk[8 * 4] << 8)) | (X2 = blk[8 * 6])
+ | (X3 = blk[8 * 2]) | (X4 = blk[8 * 1]) | (X5 = blk[8 * 7])
+ | (X6 = blk[8 * 5]) | (X7 = blk[8 * 3])))
+ {
+ blk[8 * 0] = blk[8 * 1] = blk[8 * 2] =
+ blk[8 * 3] = blk[8 * 4] =
+ blk[8 * 5] = blk[8 * 6] = blk[8 * 7] =
+ iclp[(blk[8 * 0] + 32) >> 6];
+ continue;
+ }
+ X0 = (blk[8 * 0] << 8) + 8192;
+
+ /* first stage */
+ X8 = W7 * (X4 + X5) + 4;
+ X4 = (X8 + (W1 - W7) * X4) >> 3;
+ X5 = (X8 - (W1 + W7) * X5) >> 3;
+ X8 = W3 * (X6 + X7) + 4;
+ X6 = (X8 - (W3 - W5) * X6) >> 3;
+ X7 = (X8 - (W3 + W5) * X7) >> 3;
+
+ /* second stage */
+ X8 = X0 + X1;
+ X0 -= X1;
+ X1 = W6 * (X3 + X2) + 4;
+ X2 = (X1 - (W2 + W6) * X2) >> 3;
+ X3 = (X1 + (W2 - W6) * X3) >> 3;
+ X1 = X4 + X6;
+ X4 -= X6;
+ X6 = X5 + X7;
+ X5 -= X7;
+
+ /* third stage */
+ X7 = X8 + X3;
+ X8 -= X3;
+ X3 = X0 + X2;
+ X0 -= X2;
+ X2 = (181 * (X4 + X5) + 128) >> 8;
+ X4 = (181 * (X4 - X5) + 128) >> 8;
+
+ /* fourth stage */
+ blk[8 * 0] = iclp[(X7 + X1) >> 14];
+ blk[8 * 1] = iclp[(X3 + X2) >> 14];
+ blk[8 * 2] = iclp[(X0 + X4) >> 14];
+ blk[8 * 3] = iclp[(X8 + X6) >> 14];
+ blk[8 * 4] = iclp[(X8 - X6) >> 14];
+ blk[8 * 5] = iclp[(X0 - X4) >> 14];
+ blk[8 * 6] = iclp[(X3 - X2) >> 14];
+ blk[8 * 7] = iclp[(X7 - X1) >> 14];
+ }
+} /* end function idct_int32(block) */
+
+
+int main(void) {
+ int i;
+ unsigned short tab[64];
+
+ for (i = 0 ; i < 64 ; ++i)
+ {
+ tab[i] = (1+(int) (65535)*8000/(2147483647+1.0));
+ }
+
+ iclp = iclip + 512;
+ for (i = -512; i < 512; i++)
+ iclp[i] = (i < -256) ? -256 : ((i > 255) ? 255 : i);
+
+ idct_int32((short *) tab);
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.dg/20030309-1.c b/gcc/testsuite/gcc.dg/20030309-1.c
new file mode 100644
index 00000000000..2431bc1b52f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030309-1.c
@@ -0,0 +1,42 @@
+/* { dg-do link } */
+/* { dg-options "-O2" } */
+
+struct A0 { int x; };
+struct A1 { int x; int y[1]; };
+struct A2 { int x; int y[2]; };
+struct A3 { int x; int y[3]; };
+struct A4 { int x; int y[4]; };
+
+void *s;
+int u;
+
+int
+main (void)
+{
+ int x;
+ void *t = s;
+
+ switch (u)
+ {
+ case 0:
+ x = ((struct A0 *) t)->x;
+ break;
+ case 1:
+ x = ((struct A1 *) t)->x;
+ break;
+ case 2:
+ x = ((struct A2 *) t)->x;
+ break;
+ case 3:
+ x = ((struct A3 *) t)->x;
+ break;
+ case 4:
+ x = ((struct A4 *) t)->x;
+ break;
+ default:
+ x = 0;
+ break;
+ }
+
+ return x;
+}
diff --git a/gcc/testsuite/gcc.dg/20030321-1.c b/gcc/testsuite/gcc.dg/20030321-1.c
new file mode 100644
index 00000000000..228acec5471
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030321-1.c
@@ -0,0 +1,18 @@
+/* This used to ICE on s390 due to displacement overflow
+ when accessing the low-order subword. */
+
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+struct array
+{
+ char align[4092];
+ long long elem[2] __attribute__ ((__packed__));
+};
+
+long long
+test (struct array *array, int i)
+{
+ return array->elem[i];
+}
+
diff --git a/gcc/testsuite/gcc.dg/20030323-1.c b/gcc/testsuite/gcc.dg/20030323-1.c
new file mode 100644
index 00000000000..8a563ec5eb2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030323-1.c
@@ -0,0 +1,24 @@
+/* { dg-do run } */
+
+/* PR c/8224 */
+/* Contributed by Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> */
+
+extern void abort (void);
+
+unsigned f (int x)
+{
+ return (unsigned) (x / 2) / 2;
+}
+
+unsigned f1 (int x)
+{
+ unsigned xx = x / 2;
+ return xx / 2;
+}
+
+int main ()
+{
+ if (f1 (-5) != f (-5))
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/20030324-1.c b/gcc/testsuite/gcc.dg/20030324-1.c
new file mode 100644
index 00000000000..7e46d040ee2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030324-1.c
@@ -0,0 +1,39 @@
+/* { dg-do run } */
+/* { dg-options "-O -fstrength-reduce -fstrict-aliasing -fforce-mem -fgcse" } */
+
+/* PR optimization/10087 */
+/* Contributed by Peter van Hoof <p.van-hoof@qub.ac.uk> */
+
+extern void abort(void);
+
+void b(int*,int*);
+
+typedef struct {
+ double T1;
+ char c;
+} S;
+
+int main(void)
+{
+ int i,j;
+ double s;
+
+ S x1[2][2];
+ S *x[2] = { x1[0], x1[1] };
+ S **E = x;
+
+ for( i=0; i < 2; i++ )
+ for( j=0; j < 2; j++ )
+ E[j][i].T1 = 1;
+
+ for( i=0; i < 2; i++ )
+ for( j=0; j < 2; j++ )
+ s = E[j][i].T1;
+
+ b(&j,&i);
+ if (s != 1)
+ abort ();
+ return 0;
+}
+
+void b(int *i, int *j) {}
diff --git a/gcc/testsuite/gcc.dg/20030331-2.c b/gcc/testsuite/gcc.dg/20030331-2.c
new file mode 100644
index 00000000000..210524da456
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030331-2.c
@@ -0,0 +1,10 @@
+// { dg-options "" }
+
+int foo() {
+ int yd;
+ float in[1][yd];
+
+ static void bar() {
+ printf("%p\n",in[0]);
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/20030414-1.c b/gcc/testsuite/gcc.dg/20030414-1.c
new file mode 100644
index 00000000000..9ba595318dc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20030414-1.c
@@ -0,0 +1,39 @@
+/* PR target/10377
+ Distilled by Hans-Peter Nilsson <hp@axis.com> from ncurses-5.3 infocmp.c.
+ Copyright (C) 2003 Free Software Foundation. */
+
+/* { dg-do assemble } */
+/* { dg-options "-O2 -fPIC" { target *-*-*gnu* } } */
+
+extern int f2 (char *, char *);
+extern char *ss[];
+extern char *cc;
+void
+f1 (char *dd, char *bb)
+{
+ char *sp = bb + 1;
+ char *ap;
+ int i;
+ char *ee = 0;
+ char *cp;
+
+ for (i = 0, cp = cc; i < 42; i++)
+ if (cp)
+ {
+ if (f2 (dd, "xx") || f2 (ss[i], "xx") || f2 (ss[i], "yy"))
+ if (bb < cp)
+ continue;
+ ee = ss[i];
+ break;
+ }
+
+ if (!ee)
+ for (ap = cc; *ap; ap++)
+ if (f2(ap, sp))
+ {
+ ee = ap;
+ break;
+ }
+
+ cc = ee;
+}
diff --git a/gcc/testsuite/gcc.dg/asm-7.c b/gcc/testsuite/gcc.dg/asm-7.c
new file mode 100644
index 00000000000..42f40e719f9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/asm-7.c
@@ -0,0 +1,28 @@
+/* Gcc 3.3.1 deprecates memory inputs of non-lvalues. */
+/* { dg-do compile } */
+
+void test(void)
+{
+ register int r;
+ register int r2;
+ int i;
+ static int m;
+ int *p;
+
+ __asm__ ("" : : "m"(r)); /* { dg-warning "address of register" } */
+ __asm__ ("" : : "m"(i));
+ __asm__ ("" : : "m"(m));
+ __asm__ ("" : : "m"(0)); /* { dg-warning "input without lvalue" } */
+ __asm__ ("" : : "m"(i+1)); /* { dg-warning "input without lvalue" } */
+ __asm__ ("" : : "m"(*p++));
+
+ __asm__ ("" : : "g"(r));
+ __asm__ ("" : : "g"(i));
+ __asm__ ("" : : "g"(m));
+ __asm__ ("" : : "g"(0));
+ __asm__ ("" : : "g"(i+1));
+
+ __asm__ ("" : "=m"(r2)); /* { dg-warning "address of register" } */
+ __asm__ ("" : "=m"(i));
+ __asm__ ("" : "=m"(m));
+}
diff --git a/gcc/testsuite/gcc.dg/asmreg-1.c b/gcc/testsuite/gcc.dg/asmreg-1.c
new file mode 100644
index 00000000000..a779766d4a6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/asmreg-1.c
@@ -0,0 +1,73 @@
+/* { dg-do compile { target cris-*-* } } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler "\\\.ifnc \\\$r9-\\\$r10-\\\$r11-\\\$r12" } } */
+
+/* Sanity check for asm register operands in syscall failed for
+ cris-axis-linux-gnu due to regmove bug.
+ Hans-Peter Nilsson <hp@axis.com>. */
+
+extern void lseek64 (int, long long, int);
+extern int *__errno_location (void);
+struct dirent64
+{
+ long long d_off;
+ unsigned short int d_reclen;
+ char d_name[256];
+};
+struct kernel_dirent64
+{
+ long long d_off;
+ unsigned short d_reclen;
+ char d_name[256];
+};
+
+static inline int __attribute__ ((__always_inline__))
+__syscall_getdents64 (int fd, unsigned char * dirp, unsigned count)
+{
+ register unsigned long __sys_res asm ("r10");
+ register unsigned long __r10 __asm__ ("r10") = (unsigned long) fd;
+ register unsigned long __r11 __asm__ ("r11") = (unsigned long) dirp;
+ register unsigned long __r12 __asm__ ("r12") = (unsigned long) count;
+ register unsigned long __callno asm ("r9") = (220);
+ asm volatile (".ifnc %1-%0-%3-%4,$r9-$r10-$r11-$r12\n\t"
+ ".err\n\t"
+ ".endif\n\t"
+ "break 13"
+ : "=r" (__sys_res)
+ : "r" (__callno), "0" (__r10), "r" (__r11), "r" (__r12)
+ : "memory");
+ if (__sys_res >= (unsigned long) -4096)
+ {
+ (*__errno_location ()) = - __sys_res;
+ __sys_res = -1;
+ }
+ return __sys_res;
+}
+
+int
+__getdents64 (int fd, char *buf, unsigned nbytes)
+{
+ struct dirent64 *dp;
+ long long last_offset = -1;
+ int retval;
+ struct kernel_dirent64 *skdp, *kdp;
+ dp = (struct dirent64 *) buf;
+ skdp = kdp = __builtin_alloca (nbytes);
+ retval = __syscall_getdents64(fd, (char *)kdp, nbytes);
+ if (retval == -1)
+ return -1;
+ while ((char *) kdp < (char *) skdp + retval)
+ {
+ if ((char *) dp > buf + nbytes)
+ {
+ lseek64(fd, last_offset, 0);
+ break;
+ }
+ last_offset = kdp->d_off;
+ __builtin_memcpy (dp->d_name, kdp->d_name, kdp->d_reclen - 10);
+ dp = (struct dirent64 *) ((char *) dp + sizeof (*dp));
+ kdp = (struct kernel_dirent64 *) (((char *) kdp) + kdp->d_reclen);
+ }
+
+ return (char *) dp - buf;
+}
diff --git a/gcc/testsuite/gcc.dg/attr-invalid.c b/gcc/testsuite/gcc.dg/attr-invalid.c
index a999c267c3a..9cb64541548 100644
--- a/gcc/testsuite/gcc.dg/attr-invalid.c
+++ b/gcc/testsuite/gcc.dg/attr-invalid.c
@@ -43,7 +43,7 @@ struct ATSYM(struct) {
char dummy ATTR; /* { dg-warning "attribute ignored" "" } */
} ATTR; /* { dg-warning "does not apply to types" "" } */
-int ATSYM(var) ATTR; /* { dg-warning "attribute ignored" "" } */
+int ATSYM(var) ATTR;
int ATSYM(fn_knrarg) (arg)
int arg ATTR; /* { dg-warning "attribute ignored" "" } */
@@ -52,7 +52,7 @@ int ATSYM(fn_knrarg) (arg)
int ATSYM(fn_isoarg) (int arg ATTR) { return 0; } /* { dg-warning "attribute ignored" "" } */
int ATSYM(fn_vars) (void) {
- static int svar ATTR; /* { dg-warning "attribute ignored" "" } */
+ static int svar ATTR;
auto int lvar ATTR; /* { dg-warning "attribute ignored" "" } */
return 0;
}
diff --git a/gcc/testsuite/gcc.dg/c90-restrict-1.c b/gcc/testsuite/gcc.dg/c90-restrict-1.c
index 17af58b4b58..60d91b830a1 100644
--- a/gcc/testsuite/gcc.dg/c90-restrict-1.c
+++ b/gcc/testsuite/gcc.dg/c90-restrict-1.c
@@ -4,4 +4,4 @@
/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
char *restrict foo; /* { dg-bogus "warning" "warning in place of error" } */
-/* { dg-error "parse error|no type" "restrict not in C90" { target *-*-* } 6 } */
+/* { dg-error "(parse|syntax) error|no type" "restrict not in C90" { target *-*-* } 6 } */
diff --git a/gcc/testsuite/gcc.dg/c99-func-2.c b/gcc/testsuite/gcc.dg/c99-func-2.c
index d6a6f243f91..9dc8b58c673 100644
--- a/gcc/testsuite/gcc.dg/c99-func-2.c
+++ b/gcc/testsuite/gcc.dg/c99-func-2.c
@@ -6,5 +6,5 @@
void
foo (void)
{
- __func__ "foo"; /* { dg-error "parse error" "before string constant" } */
+ __func__ "foo"; /* { dg-error "(parse|syntax) error" "before string constant" } */
}
diff --git a/gcc/testsuite/gcc.dg/cleanup-1.c b/gcc/testsuite/gcc.dg/cleanup-1.c
new file mode 100644
index 00000000000..e5853c4baa8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-1.c
@@ -0,0 +1,36 @@
+/* { dg-do compile } */
+/* { dg-options "-Wall" } */
+/* Validate expected warnings and errors. */
+
+#define U __attribute__((unused))
+#define C(x) __attribute__((cleanup(x)))
+
+static int f1(void *x U) { return 0; }
+static void f2() { }
+static void f3(void) { }
+static void f4(void *x U) { }
+static void f5(int *x U) { }
+static void f6(double *x U) { }
+static void f7(const int *x U) { }
+static void f8(const int *x U, int y U) { }
+static void f9(int x U) { }
+
+void test(void)
+{
+ int o1 C(f1);
+ int o2 C(f2);
+ int o3 C(f3); /* { dg-error "too many arguments" } */
+ int o4 C(f4);
+ int o5 C(f5);
+ int o6 C(f6); /* { dg-warning "incompatible pointer type" } */
+ int o7 C(f7);
+ int o8 C(f8); /* { dg-error "too few arguments" } */
+ int o9 C(f9); /* { dg-warning "from pointer without a cast" } */
+ int o10 U C(undef); /* { dg-error "not a function" } */
+ int o11 U C(o1); /* { dg-error "not a function" } */
+ int o12 U C("f1"); /* { dg-error "not an identifier" } */
+ static int o13 U C(f1); /* { dg-warning "attribute ignored" } */
+}
+
+int o14 C(f1); /* { dg-warning "attribute ignored" } */
+void t15(int o U C(f1)) {} /* { dg-warning "attribute ignored" } */
diff --git a/gcc/testsuite/gcc.dg/cleanup-2.c b/gcc/testsuite/gcc.dg/cleanup-2.c
new file mode 100644
index 00000000000..2c798023ccb
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-2.c
@@ -0,0 +1,22 @@
+/* { dg-do run } */
+/* { dg-options "" } */
+/* Verify that cleanup works in the most basic of ways. */
+
+extern void exit(int);
+extern void abort(void);
+
+static void handler(void *p __attribute__((unused)))
+{
+ exit (0);
+}
+
+static void doit(void)
+{
+ int x __attribute__((cleanup (handler)));
+}
+
+int main()
+{
+ doit ();
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.dg/cleanup-3.c b/gcc/testsuite/gcc.dg/cleanup-3.c
new file mode 100644
index 00000000000..b5b01fd5905
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-3.c
@@ -0,0 +1,45 @@
+/* { dg-do run } */
+/* { dg-options "" } */
+/* Verify that the cleanup handler receives the proper contents
+ of the variable. */
+
+extern void exit(int);
+extern void abort(void);
+
+static int expected;
+
+static void
+handler(int *p)
+{
+ if (*p != expected)
+ abort ();
+}
+
+static void __attribute__((noinline))
+bar(void)
+{
+}
+
+static void doit(int x, int y)
+{
+ int r __attribute__((cleanup (handler)));
+ if (x < y)
+ {
+ r = 0;
+ return;
+ }
+
+ bar();
+ r = x + y;
+}
+
+int main()
+{
+ expected = 0;
+ doit (1, 2);
+
+ expected = 3;
+ doit (2, 1);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/cleanup-4.c b/gcc/testsuite/gcc.dg/cleanup-4.c
new file mode 100644
index 00000000000..a5487553d2b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-4.c
@@ -0,0 +1,39 @@
+/* { dg-do run } */
+/* { dg-options "" } */
+/* Verify cleanup execution on non-trivial exit from a block. */
+
+extern void exit(int);
+extern void abort(void);
+
+static int counter;
+
+static void
+handler(int *p)
+{
+ counter += *p;
+}
+
+static void __attribute__((noinline))
+bar(void)
+{
+}
+
+static void doit(int n, int n2)
+{
+ int i;
+ for (i = 0; i < n; ++i)
+ {
+ int dummy __attribute__((cleanup (handler))) = i;
+ if (i == n2)
+ break;
+ bar();
+ }
+}
+
+int main()
+{
+ doit (10, 6);
+ if (counter != 0 + 1 + 2 + 3 + 4 + 5 + 6)
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/cleanup-5.c b/gcc/testsuite/gcc.dg/cleanup-5.c
new file mode 100644
index 00000000000..f5306db4752
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-5.c
@@ -0,0 +1,50 @@
+/* { dg-do run } */
+/* { dg-options "-fexceptions" } */
+/* Verify that cleanups work with exception handling. */
+
+#include <unwind.h>
+#include <stdlib.h>
+
+static _Unwind_Reason_Code
+force_unwind_stop (int version, _Unwind_Action actions,
+ _Unwind_Exception_Class exc_class,
+ struct _Unwind_Exception *exc_obj,
+ struct _Unwind_Context *context,
+ void *stop_parameter)
+{
+ if (actions & _UA_END_OF_STACK)
+ abort ();
+ return _URC_NO_REASON;
+}
+
+static void force_unwind ()
+{
+ struct _Unwind_Exception *exc = malloc (sizeof (*exc));
+ exc->exception_class = 0;
+ exc->exception_cleanup = 0;
+
+#ifndef __USING_SJLJ_EXCEPTIONS__
+ _Unwind_ForcedUnwind (exc, force_unwind_stop, 0);
+#else
+ _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0);
+#endif
+
+ abort ();
+}
+
+static void handler (void *p __attribute__((unused)))
+{
+ exit (0);
+}
+
+static void doit ()
+{
+ char dummy __attribute__((cleanup (handler)));
+ force_unwind ();
+}
+
+int main()
+{
+ doit ();
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.dg/cleanup-6.c b/gcc/testsuite/gcc.dg/cleanup-6.c
new file mode 100644
index 00000000000..4e3d53893af
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-6.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-O" } */
+/* Verify that a cleanup marked "inline" gets inlined. */
+
+static inline void xyzzy(void *p __attribute__((unused)))
+{
+}
+
+void doit(void)
+{
+ int x __attribute__((cleanup (xyzzy)));
+}
+
+/* { dg-final { scan-assembler-not "xyzzy" } } */
diff --git a/gcc/testsuite/gcc.dg/cleanup-7.c b/gcc/testsuite/gcc.dg/cleanup-7.c
new file mode 100644
index 00000000000..eae3d52980c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cleanup-7.c
@@ -0,0 +1,22 @@
+/* { dg-do run } */
+/* { dg-options "" } */
+/* Verify that the search for function happens in the proper scope. */
+
+extern void exit(int);
+extern void abort(void);
+
+int main()
+{
+ auto void xyzzy(void *p __attribute__((unused)))
+ {
+ exit (0);
+ }
+
+ auto void doit ()
+ {
+ int x __attribute__((cleanup (xyzzy)));
+ }
+
+ doit ();
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.dg/compare7.c b/gcc/testsuite/gcc.dg/compare7.c
new file mode 100644
index 00000000000..e2fbc04bfc2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/compare7.c
@@ -0,0 +1,10 @@
+/* -Wall is not supposed to trigger -Wsign-compare for C. PR 10604.
+ See also g++.dg/warn/compare1.C. */
+
+/* { dg-do compile } */
+/* { dg-options "-Wall" } */
+
+int f(unsigned a, int b)
+{
+ return a < b; /* { dg-bogus "signed and unsigned" } */
+}
diff --git a/gcc/testsuite/gcc.dg/cpp/19990413-1.c b/gcc/testsuite/gcc.dg/cpp/19990413-1.c
index 9abddb942fd..22fc5db2218 100644
--- a/gcc/testsuite/gcc.dg/cpp/19990413-1.c
+++ b/gcc/testsuite/gcc.dg/cpp/19990413-1.c
@@ -9,5 +9,5 @@ func(void)
{
FOO(i
= 4)
- else; /* { dg-error "parse error" "error on this line" { target *-*-* } { 12 } } */
+ else; /* { dg-error "(parse|syntax) error" "error on this line" { target *-*-* } { 12 } } */
}
diff --git a/gcc/testsuite/gcc.dg/cpp/Wunused.c b/gcc/testsuite/gcc.dg/cpp/Wunused.c
index aa099ee79c8..ac363ad04b8 100644
--- a/gcc/testsuite/gcc.dg/cpp/Wunused.c
+++ b/gcc/testsuite/gcc.dg/cpp/Wunused.c
@@ -1,7 +1,8 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
-/* { dg-options -Wunused-macros } */
+/* Duplicate command line options should not warn. */
+/* { dg-options "-Wunused-macros -Dfoo -Dfoo" } */
/* Test everything related to -Wunused-macros.
diff --git a/gcc/testsuite/gcc.dg/cpp/digraph2.c b/gcc/testsuite/gcc.dg/cpp/digraph2.c
index e67ec53878b..cac4e256b0a 100644
--- a/gcc/testsuite/gcc.dg/cpp/digraph2.c
+++ b/gcc/testsuite/gcc.dg/cpp/digraph2.c
@@ -9,7 +9,7 @@
int main (int argc, char *argv[])
{
return 0;
-%> /* { dg-error "parse error" } */
+%> /* { dg-error "(parse|syntax) error" } */
/* Place this after main () so we get to test both the compiler above
and the preprocessor below. */
diff --git a/gcc/testsuite/gcc.dg/cpp/direct2.c b/gcc/testsuite/gcc.dg/cpp/direct2.c
index d6dc1088c37..52d1e31f45f 100644
--- a/gcc/testsuite/gcc.dg/cpp/direct2.c
+++ b/gcc/testsuite/gcc.dg/cpp/direct2.c
@@ -33,5 +33,5 @@ void f ()
#define slashstar /##*
#define starslash *##/
-slashstar starslash /* { dg-error "parse error" "not a comment" } */
+slashstar starslash /* { dg-error "(parse|syntax) error" "not a comment" } */
/* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 36 } */
diff --git a/gcc/testsuite/gcc.dg/cpp/inc/foo.h b/gcc/testsuite/gcc.dg/cpp/inc/foo.h
new file mode 100644
index 00000000000..ec770476c21
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/inc/foo.h
@@ -0,0 +1 @@
+extern int a;
diff --git a/gcc/testsuite/gcc.dg/cpp/include3.c b/gcc/testsuite/gcc.dg/cpp/include3.c
new file mode 100644
index 00000000000..8bea2b78ee8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/include3.c
@@ -0,0 +1,7 @@
+/* Unpatched, this file would include "inc/ foo.h" (note the space) */
+
+#define PREINC_XSTR(str) #str
+#define PREINC_STR(str) PREINC_XSTR(str)
+#define COMP_INC(comp,file) PREINC_STR(comp/file)
+
+#include COMP_INC(inc, foo.h)
diff --git a/gcc/testsuite/gcc.dg/cpp/paste4.c b/gcc/testsuite/gcc.dg/cpp/paste4.c
index 2215b34a7ad..4e575c2954e 100644
--- a/gcc/testsuite/gcc.dg/cpp/paste4.c
+++ b/gcc/testsuite/gcc.dg/cpp/paste4.c
@@ -11,6 +11,6 @@
int main ()
{
- double d = glue (1.0e, +1); /* { dg-error "exponent|parse error" } */
+ double d = glue (1.0e, +1); /* { dg-error "exponent|(parse|syntax) error" } */
return 0;
}
diff --git a/gcc/testsuite/gcc.dg/cpp/redef3.c b/gcc/testsuite/gcc.dg/cpp/redef3.c
new file mode 100644
index 00000000000..78ee71e6598
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/redef3.c
@@ -0,0 +1,21 @@
+/* Test for redefining macros with mismatch token count (and the oddity). */
+
+/* { dg-do preprocess } */
+/* { dg-options "-DC -DD=1 -DE" } */
+
+#define A
+#define A 1
+#define B 2 3
+#define B 2
+#define C 1
+#define D 1 2
+#define E
+
+/* { dg-warning "redefined" "redef A" { target *-*-* } 7 }
+ { dg-warning "redefined" "redef B" { target *-*-* } 9 }
+ { dg-warning "redefined" "redef D" { target *-*-* } 11 }
+ { dg-warning "redefined" "redef E" { target *-*-* } 12 }
+ { dg-warning "previous" "prev def A" { target *-*-* } 6 }
+ { dg-warning "previous" "prev def B" { target *-*-* } 8 }
+ { dg-warning "previous" "prev def D/E" { target *-*-* } 0 }
+*/
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c b/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c
new file mode 100644
index 00000000000..f60a6ea7865
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c
@@ -0,0 +1,10 @@
+/* Test function like macro. */
+/* Contributed by Devang Patel <dpatel@apple.com> */
+
+/* {do-do preprocess } */
+/* { dg-options "-traditional-cpp -E -dD" } */
+int __srget (char *);
+#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
+#define getc(fp) __sgetc(fp)
+#define getchar() getc(stdin)
+
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/decl-2.c b/gcc/testsuite/gcc.dg/decl-2.c
new file mode 100644
index 00000000000..44fbc733027
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/decl-2.c
@@ -0,0 +1,10 @@
+/* PR c/7411 */
+/* Contributed by Christian Ehrhardt */
+/* { dg-do compile } */
+
+void foo(void)
+{
+ char c; /* { dg-error "previous declaration" } */
+ int i;
+ int c = i; /* { dg-error "conflicting types" } */
+}
diff --git a/gcc/testsuite/gcc.dg/decl-3.c b/gcc/testsuite/gcc.dg/decl-3.c
new file mode 100644
index 00000000000..b8d00d0203d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/decl-3.c
@@ -0,0 +1,5 @@
+/* PR c/9928 */
+/* { dg-do compile } */
+
+enum { CODES }; /* { dg-error "previous declaration" } */
+enum { CODES }; /* { dg-error "conflicting types" } */
diff --git a/gcc/testsuite/gcc.dg/format/attr-5.c b/gcc/testsuite/gcc.dg/format/attr-5.c
index a4e96344b61..36b11989687 100644
--- a/gcc/testsuite/gcc.dg/format/attr-5.c
+++ b/gcc/testsuite/gcc.dg/format/attr-5.c
@@ -11,7 +11,7 @@ static int scanf(const char *restrict, ...);
/* This sscanf declaration doesn't have variable arguments, so isn't
compatible with a format attribute. */
-extern int sscanf(const char *restrict, const char *restrict, int *);
+extern int sscanf(const char *restrict, const char *restrict, int *); /* { dg-warning "conflict" "conflict" } */
void
foo (const char *s, int *p)
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-loop-1.c b/gcc/testsuite/gcc.dg/i386-loop-1.c
new file mode 100644
index 00000000000..e8bdaf5bcd3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-loop-1.c
@@ -0,0 +1,105 @@
+/* PR optimization/9888 */
+/* { dg-do run { target i?86-*-* } } */
+/* { dg-options "-mcpu=k6 -O3" } */
+
+/* Verify that GCC doesn't emit out of range 'loop' instructions. */
+
+extern void abort (void);
+extern void exit (int);
+
+
+f1 (a)
+ long a;
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ if (--a == -1)
+ return i;
+ }
+ return -1;
+}
+
+f2 (a)
+ long a;
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ if (--a != -1)
+ return i;
+ }
+ return -1;
+}
+
+f3 (a)
+ long a;
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ if (--a == 0)
+ return i;
+ }
+ return -1;
+}
+
+f4 (a)
+ long a;
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ if (--a != 0)
+ return i;
+ }
+ return -1;
+}
+
+f5 (a)
+ long a;
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ if (++a == 0)
+ return i;
+ }
+ return -1;
+}
+
+f6 (a)
+ long a;
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ if (++a != 0)
+ return i;
+ }
+ return -1;
+}
+
+
+int main()
+{
+ if (f1 (5L) != 5)
+ abort ();
+ if (f2 (1L) != 0)
+ abort ();
+ if (f2 (0L) != 1)
+ abort ();
+ if (f3 (5L) != 4)
+ abort ();
+ if (f4 (1L) != 1)
+ abort ();
+ if (f4 (0L) != 0)
+ abort ();
+ if (f5 (-5L) != 4)
+ abort ();
+ if (f6 (-1L) != 1)
+ abort ();
+ if (f6 (0L) != 0)
+ abort ();
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.dg/i386-loop-2.c b/gcc/testsuite/gcc.dg/i386-loop-2.c
new file mode 100644
index 00000000000..9c87d8b840c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-loop-2.c
@@ -0,0 +1,80 @@
+/* PR optimization/9888 */
+/* Originator: Jim Bray <jb@as220.org> */
+/* { dg-do run { target i?86-*-* } } */
+/* { dg-options "-mcpu=k6 -Os" } */
+
+enum reload_type
+{
+ RELOAD_FOR_INPUT, RELOAD_FOR_OUTPUT, RELOAD_FOR_INSN,
+ RELOAD_FOR_INPUT_ADDRESS, RELOAD_FOR_INPADDR_ADDRESS,
+ RELOAD_FOR_OUTPUT_ADDRESS, RELOAD_FOR_OUTADDR_ADDRESS,
+ RELOAD_FOR_OPERAND_ADDRESS, RELOAD_FOR_OPADDR_ADDR,
+ RELOAD_OTHER, RELOAD_FOR_OTHER_ADDRESS
+};
+
+#define FOO_SIZE 3
+
+/* My results, varying with FOO_SIZE:
+ 30: asm error "value of ..fff77 too large:
+ 3 to 29: ....ff7d...
+ 1 to 2: no error. */
+
+struct reload
+{
+ int foo[FOO_SIZE];
+ int opnum;
+ enum reload_type when_needed;
+ unsigned int optional:1;
+ unsigned int secondary_p:1;
+};
+
+#define N_RELOADS 2
+
+struct reload rld[N_RELOADS];
+int n_reloads = N_RELOADS;
+
+int main(void)
+{
+ int i;
+
+ enum reload_type operand_type[1];
+
+ enum reload_type address_type[1];
+
+ int operand_reloadnum[1];
+ int goal_alternative_matches[1];
+
+ for (i = 0; i < n_reloads; i++)
+ {
+ if (rld[i].secondary_p
+ && rld[i].when_needed == operand_type[rld[i].opnum])
+ rld[i].when_needed = address_type[rld[i].opnum];
+
+ if ((rld[i].when_needed == RELOAD_FOR_INPUT_ADDRESS
+ || rld[i].when_needed == RELOAD_FOR_OUTPUT_ADDRESS
+ || rld[i].when_needed == RELOAD_FOR_INPADDR_ADDRESS
+ || rld[i].when_needed == RELOAD_FOR_OUTADDR_ADDRESS)
+ && (operand_reloadnum[rld[i].opnum] < 0
+ || rld[operand_reloadnum[rld[i].opnum]].optional))
+ {
+
+ if (rld[i].when_needed == RELOAD_FOR_INPADDR_ADDRESS
+ || rld[i].when_needed == RELOAD_FOR_OUTADDR_ADDRESS)
+ rld[i].when_needed = RELOAD_FOR_OPADDR_ADDR;
+ else
+ rld[i].when_needed = RELOAD_FOR_OPERAND_ADDRESS;
+ }
+
+ if ((rld[i].when_needed == RELOAD_FOR_INPUT_ADDRESS
+ || rld[i].when_needed == RELOAD_FOR_INPADDR_ADDRESS)
+ && operand_reloadnum[rld[i].opnum] >= 0
+ && (rld[operand_reloadnum[rld[i].opnum]].when_needed
+ == RELOAD_OTHER))
+ rld[i].when_needed = RELOAD_FOR_OTHER_ADDRESS;
+
+ if (goal_alternative_matches[rld[i].opnum] >= 0)
+ rld[i].opnum = goal_alternative_matches[rld[i].opnum];
+ }
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/i386-loop-3.c b/gcc/testsuite/gcc.dg/i386-loop-3.c
new file mode 100644
index 00000000000..6b95d6b5843
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-loop-3.c
@@ -0,0 +1,76 @@
+/* PR target/11044 */
+/* Originator: Tim McGrath <misty-@charter.net> */
+/* Testcase contributed by Eric Botcazou <ebotcazou@libertysurf.fr> */
+/* { dg-do run { target i?86-*-* } } */
+/* { dg-options "-mcpu=k6 -O3 -ffast-math -funroll-loops" } */
+
+typedef struct
+{
+ unsigned char colormod;
+} entity_state_t;
+
+typedef struct
+{
+ int num_entities;
+ entity_state_t *entities;
+} packet_entities_t;
+
+typedef struct
+{
+ double senttime;
+ float ping_time;
+ packet_entities_t entities;
+} client_frame_t;
+
+typedef enum
+{
+ cs_free,
+ cs_server,
+ cs_zombie,
+ cs_connected,
+ cs_spawned
+} sv_client_state_t;
+
+typedef struct client_s
+{
+ sv_client_state_t state;
+ int ping;
+ client_frame_t frames[64];
+} client_t;
+
+int CalcPing (client_t *cl)
+{
+ float ping;
+ int count, i;
+ register client_frame_t *frame;
+
+ if (cl->state == cs_server)
+ return cl->ping;
+ ping = 0;
+ count = 0;
+ for (frame = cl->frames, i = 0; i < 64; i++, frame++) {
+ if (frame->ping_time > 0) {
+ ping += frame->ping_time;
+ count++;
+ }
+ }
+ if (!count)
+ return 9999;
+ ping /= count;
+
+ return ping * 1000;
+}
+
+int main(void)
+{
+ client_t cl;
+
+ memset(&cl, 0, sizeof(cl));
+
+ cl.frames[0].ping_time = 1.0f;
+
+ if (CalcPing(&cl) != 1000)
+ abort();
+
+ return 0;
+}
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..b4bd326e2c4
--- /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-*-* x86_64-*-*} } */
+/* { dg-options "-O1 -mmmx -march=athlon" } */
+
+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/i386-signbit-1.c b/gcc/testsuite/gcc.dg/i386-signbit-1.c
new file mode 100644
index 00000000000..3bdc5906b7a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-signbit-1.c
@@ -0,0 +1,28 @@
+/* PR optimization/8746 */
+/* { dg-do run { target i?86-*-* } } */
+/* { dg-options "-O1 -mcpu=i586" } */
+
+extern void abort (void);
+
+unsigned char r0;
+
+int foo(int x)
+{
+ unsigned char r = x&0xf0;
+
+ if (!(r&0x80))
+ {
+ r0 = r;
+ return 0;
+ }
+ else
+ return 1;
+}
+
+int main(void)
+{
+ if (foo(0x80) != 1)
+ abort();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/i386-signbit-2.c b/gcc/testsuite/gcc.dg/i386-signbit-2.c
new file mode 100644
index 00000000000..de1605c35da
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-signbit-2.c
@@ -0,0 +1,28 @@
+/* PR optimization/8746 */
+/* { dg-do run { target i?86-*-* } } */
+/* { dg-options "-O1 -mcpu=i586" } */
+
+extern void abort (void);
+
+unsigned short r0;
+
+int foo(int x)
+{
+ unsigned short r = x&0xf000;
+
+ if (!(r&0x8000))
+ {
+ r0 = r;
+ return 0;
+ }
+ else
+ return 1;
+}
+
+int main(void)
+{
+ if (foo(0x8000) != 1)
+ abort();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/i386-signbit-3.c b/gcc/testsuite/gcc.dg/i386-signbit-3.c
new file mode 100644
index 00000000000..f48908964b1
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-signbit-3.c
@@ -0,0 +1,32 @@
+/* PR optimization/8746 */
+/* { dg-do run { target i?86-*-* } } */
+/* { dg-options "-O1 -mcpu=i586" } */
+
+extern void abort (void);
+
+volatile int j;
+
+void f0() { j=0; }
+void f1() { j=1; }
+
+int foo(int x)
+{
+ if ((short int)(x&0x8000) > (short int)0)
+ {
+ f0();
+ return 0;
+ }
+ else
+ {
+ f1();
+ return 1;
+ }
+}
+
+int main(void)
+{
+ if (foo(0x8000) != 1)
+ abort();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/i386-sse-4.c b/gcc/testsuite/gcc.dg/i386-sse-4.c
new file mode 100644
index 00000000000..c94e7f8607f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-sse-4.c
@@ -0,0 +1,27 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O0 -msse" } */
+
+typedef void __vr __attribute__ ((__mode__ (__V4SF__)));
+
+struct vector
+{
+ union
+ {
+ __vr v;
+ float f[4];
+ };
+};
+
+void
+doit ()
+{
+ float f[4];
+ struct vector v;
+
+ f[0] = 0;
+ f[1] = 1;
+ f[2] = 2;
+ f[3] = 3;
+
+ v.v = __builtin_ia32_loadups (f);
+}
diff --git a/gcc/testsuite/gcc.dg/i386-ssetype-1.c b/gcc/testsuite/gcc.dg/i386-ssetype-1.c
index 6953b751b43..ebf089d114a 100644
--- a/gcc/testsuite/gcc.dg/i386-ssetype-1.c
+++ b/gcc/testsuite/gcc.dg/i386-ssetype-1.c
@@ -1,32 +1,35 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -msse2 -march=athlon" } */
-/* { dg-final { scan-assembler "andpd.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "andnpd.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "xorpd.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "orpd.*\[bs\]p" } } */
+/* { dg-final { scan-assembler "andpd.*magic" } } */
+/* { dg-final { scan-assembler "andnpd.*magic" } } */
+/* { dg-final { scan-assembler "xorpd.*magic" } } */
+/* { dg-final { scan-assembler "orpd.*magic" } } */
/* { dg-final { scan-assembler-not "movdqa" } } */
-/* { dg-final { scan-assembler "movapd.*\[bs\]p" } } */
+/* { dg-final { scan-assembler "movapd.*magic" } } */
/* Verify that we generate proper instruction with memory operand. */
#include <xmmintrin.h>
+
+__m128d magic_a, magic_b;
+
__m128d
-t1(__m128d a, __m128d b)
+t1(void)
{
-return _mm_and_pd (a,b);
+return _mm_and_pd (magic_a,magic_b);
}
__m128d
-t2(__m128d a, __m128d b)
+t2(void)
{
-return _mm_andnot_pd (a,b);
+return _mm_andnot_pd (magic_a,magic_b);
}
__m128d
-t3(__m128d a, __m128d b)
+t3(void)
{
-return _mm_or_pd (a,b);
+return _mm_or_pd (magic_a,magic_b);
}
__m128d
-t4(__m128d a, __m128d b)
+t4(void)
{
-return _mm_xor_pd (a,b);
+return _mm_xor_pd (magic_a,magic_b);
}
diff --git a/gcc/testsuite/gcc.dg/i386-ssetype-2.c b/gcc/testsuite/gcc.dg/i386-ssetype-2.c
index b66aa0cfd98..93551e601aa 100644
--- a/gcc/testsuite/gcc.dg/i386-ssetype-2.c
+++ b/gcc/testsuite/gcc.dg/i386-ssetype-2.c
@@ -5,7 +5,6 @@
/* { dg-final { scan-assembler "xorpd" } } */
/* { dg-final { scan-assembler "orpd" } } */
/* { dg-final { scan-assembler-not "movdqa" } } */
-/* { dg-final { scan-assembler "movapd" } } */
/* Verify that we generate proper instruction without memory operand. */
diff --git a/gcc/testsuite/gcc.dg/i386-ssetype-3.c b/gcc/testsuite/gcc.dg/i386-ssetype-3.c
index 4988c0c5abd..c36baccf0e4 100644
--- a/gcc/testsuite/gcc.dg/i386-ssetype-3.c
+++ b/gcc/testsuite/gcc.dg/i386-ssetype-3.c
@@ -1,32 +1,34 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -msse2 -march=athlon" } */
-/* { dg-final { scan-assembler "andps.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "andnps.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "xorps.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "orps.*\[bs\]p" } } */
+/* { dg-final { scan-assembler "andps.*magic" } } */
+/* { dg-final { scan-assembler "andnps.*magic" } } */
+/* { dg-final { scan-assembler "xorps.*magic" } } */
+/* { dg-final { scan-assembler "orps.*magic" } } */
/* { dg-final { scan-assembler-not "movdqa" } } */
-/* { dg-final { scan-assembler "movaps.*\[bs\]p" } } */
+/* { dg-final { scan-assembler "movaps.*magic" } } */
/* Verify that we generate proper instruction with memory operand. */
#include <xmmintrin.h>
+
+__m128 magic_a, magic_b;
__m128
-t1(__m128 a, __m128 b)
+t1(void)
{
-return _mm_and_ps (a,b);
+return _mm_and_ps (magic_a,magic_b);
}
__m128
-t2(__m128 a, __m128 b)
+t2(void)
{
-return _mm_andnot_ps (a,b);
+return _mm_andnot_ps (magic_a,magic_b);
}
__m128
-t3(__m128 a, __m128 b)
+t3(void)
{
-return _mm_or_ps (a,b);
+return _mm_or_ps (magic_a,magic_b);
}
__m128
-t4(__m128 a, __m128 b)
+t4(void)
{
-return _mm_xor_ps (a,b);
+return _mm_xor_ps (magic_a,magic_b);
}
diff --git a/gcc/testsuite/gcc.dg/i386-ssetype-5.c b/gcc/testsuite/gcc.dg/i386-ssetype-5.c
index 97cc22fd3a8..31e4ae3918f 100644
--- a/gcc/testsuite/gcc.dg/i386-ssetype-5.c
+++ b/gcc/testsuite/gcc.dg/i386-ssetype-5.c
@@ -1,33 +1,34 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -msse2 -march=athlon" } */
-/* { dg-final { scan-assembler "pand.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "pandn.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "pxor.*\[bs\]p" } } */
-/* { dg-final { scan-assembler "por.*\[bs\]p" } } */
+/* { dg-final { scan-assembler "pand.*magic" } } */
+/* { dg-final { scan-assembler "pandn.*magic" } } */
+/* { dg-final { scan-assembler "pxor.*magic" } } */
+/* { dg-final { scan-assembler "por.*magic" } } */
/* { dg-final { scan-assembler "movdqa" } } */
-/* { dg-final { scan-assembler-not "movaps.*\[bs\]p" } } */
+/* { dg-final { scan-assembler-not "movaps.*magic" } } */
/* Verify that we generate proper instruction with memory operand. */
#include <xmmintrin.h>
+__m128i magic_a, magic_b;
__m128i
-t1(__m128i a, __m128i b)
+t1(void)
{
-return _mm_and_si128 (a,b);
+return _mm_and_si128 (magic_a,magic_b);
}
__m128i
-t2(__m128i a, __m128i b)
+t2(void)
{
-return _mm_andnot_si128 (a,b);
+return _mm_andnot_si128 (magic_a,magic_b);
}
__m128i
-t3(__m128i a, __m128i b)
+t3(void)
{
-return _mm_or_si128 (a,b);
+return _mm_or_si128 (magic_a,magic_b);
}
__m128i
-t4(__m128i a, __m128i b)
+t4(void)
{
-return _mm_xor_si128 (a,b);
+return _mm_xor_si128 (magic_a,magic_b);
}
diff --git a/gcc/testsuite/gcc.dg/ia64-sync-3.c b/gcc/testsuite/gcc.dg/ia64-sync-3.c
new file mode 100644
index 00000000000..e718c1115e2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ia64-sync-3.c
@@ -0,0 +1,74 @@
+/* { dg-do run { target ia64-*-* } } */
+/* { dg-options } */
+
+/* Test basic functionality of the intrinsics. */
+
+#include <ia64intrin.h>
+
+static int AI[4];
+static int init_si[4] = { -30,-30,-50,-50 };
+static int test_si[4] = { -115,-115,25,25 };
+
+static void
+do_si (void)
+{
+ if (__sync_val_compare_and_swap(AI+0, -30, -115) != -30)
+ abort ();
+ if (__sync_val_compare_and_swap(AI+0, -30, -115) != -115)
+ abort ();
+ if (__sync_bool_compare_and_swap(AI+1, -30, -115) != 1)
+ abort ();
+ if (__sync_bool_compare_and_swap(AI+1, -30, -115) != 0)
+ abort ();
+
+ if (__sync_val_compare_and_swap(AI+2, AI[2], 25) != -50)
+ abort ();
+ if (__sync_val_compare_and_swap(AI+2, AI[2], 25) != 25)
+ abort ();
+ if (__sync_bool_compare_and_swap(AI+3, AI[3], 25) != 1)
+ abort ();
+ if (__sync_bool_compare_and_swap(AI+3, AI[3], 25) != 1)
+ abort ();
+}
+
+static long AL[4];
+static long init_di[4] = { -30,-30,-50,-50 };
+static long test_di[4] = { -115,-115,25,25 };
+
+static void
+do_di (void)
+{
+ if (__sync_val_compare_and_swap(AL+0, -30, -115) != -30)
+ abort ();
+ if (__sync_val_compare_and_swap(AL+0, -30, -115) != -115)
+ abort ();
+ if (__sync_bool_compare_and_swap(AL+1, -30, -115) != 1)
+ abort ();
+ if (__sync_bool_compare_and_swap(AL+1, -30, -115) != 0)
+ abort ();
+
+ if (__sync_val_compare_and_swap(AL+2, AL[2], 25) != -50)
+ abort ();
+ if (__sync_val_compare_and_swap(AL+2, AL[2], 25) != 25)
+ abort ();
+ if (__sync_bool_compare_and_swap(AL+3, AL[3], 25) != 1)
+ abort ();
+ if (__sync_bool_compare_and_swap(AL+3, AL[3], 25) != 1)
+ abort ();
+}
+
+int main()
+{
+ memcpy(AI, init_si, sizeof(init_si));
+ memcpy(AL, init_di, sizeof(init_di));
+
+ do_si ();
+ do_di ();
+
+ if (memcmp (AI, test_si, sizeof(test_si)))
+ abort ();
+ if (memcmp (AL, test_di, sizeof(test_di)))
+ abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/inline-1.c b/gcc/testsuite/gcc.dg/inline-1.c
index 17a9a2f7243..4dce611d912 100644
--- a/gcc/testsuite/gcc.dg/inline-1.c
+++ b/gcc/testsuite/gcc.dg/inline-1.c
@@ -1,7 +1,7 @@
/* Verify that DECL_INLINE gets copied between DECLs properly. */
/* { dg-do compile } */
/* { dg-options "-O1" } */
-/* { dg-final { scan-assembler-not "xyzzy" } } */
+/* { dg-final { if [ istarget hppa*-*-* ] { scan-assembler-not "xyzzy?,%r" } else { scan-assembler-not "xyzzy" } } } */
/* Test that declaration followed by definition inlines. */
static inline int xyzzy0 (int);
diff --git a/gcc/testsuite/gcc.dg/noncompile/920721-2.c b/gcc/testsuite/gcc.dg/noncompile/920721-2.c
index 9ec223c3af4..c698b085ea9 100644
--- a/gcc/testsuite/gcc.dg/noncompile/920721-2.c
+++ b/gcc/testsuite/gcc.dg/noncompile/920721-2.c
@@ -2,5 +2,5 @@ void f(int n)
{
int s;
for(s=0;s<n;s++)
- s==5?1 n=1; /* { dg-error "parse error" } */
+ s==5?1 n=1; /* { dg-error "(parse|syntax) error" } */
}
diff --git a/gcc/testsuite/gcc.dg/noncompile/930622-2.c b/gcc/testsuite/gcc.dg/noncompile/930622-2.c
index a1450afbf1f..3409118f0e2 100644
--- a/gcc/testsuite/gcc.dg/noncompile/930622-2.c
+++ b/gcc/testsuite/gcc.dg/noncompile/930622-2.c
@@ -1,6 +1,6 @@
f ()
{
int i;
- for (i--) /* { dg-error "parse" } */
+ for (i--) /* { dg-error "parse|syntax" } */
;
}
diff --git a/gcc/testsuite/gcc.dg/noncompile/940112-1.c b/gcc/testsuite/gcc.dg/noncompile/940112-1.c
index 24780df554e..953840f6dc8 100644
--- a/gcc/testsuite/gcc.dg/noncompile/940112-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/940112-1.c
@@ -4,4 +4,4 @@ f (int x)
double e = 1;
e = 1;
return (e)
-} /* { dg-error "parse error" } */
+} /* { dg-error "(parse|syntax) error" } */
diff --git a/gcc/testsuite/gcc.dg/noncompile/950921-1.c b/gcc/testsuite/gcc.dg/noncompile/950921-1.c
index ed44338fcd1..0f6378524ec 100644
--- a/gcc/testsuite/gcc.dg/noncompile/950921-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/950921-1.c
@@ -1,10 +1,10 @@
typedef enum
{
- a = (X) 0, /* { dg-error "undeclared|not integer|parse error" } */
+ a = (X) 0, /* { dg-error "undeclared|not integer|(parse|syntax) error" } */
b
} c;
typedef enum
{
- d = (X) 0 /* { dg-error "undeclared|not integer|parse error" } */
+ d = (X) 0 /* { dg-error "undeclared|not integer|(parse|syntax) error" } */
} e;
diff --git a/gcc/testsuite/gcc.dg/noncompile/951123-1.c b/gcc/testsuite/gcc.dg/noncompile/951123-1.c
index 9a5a3215ed6..787cf1e94fa 100644
--- a/gcc/testsuite/gcc.dg/noncompile/951123-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/951123-1.c
@@ -1,2 +1,2 @@
struct S { int a; int b[2]; };
-struct S x = { 0, [0]; }; /* { dg-error "array index|near|parse" } */
+struct S x = { 0, [0]; }; /* { dg-error "array index|near|(parse|syntax)" } */
diff --git a/gcc/testsuite/gcc.dg/noncompile/971104-1.c b/gcc/testsuite/gcc.dg/noncompile/971104-1.c
index a20b17add58..ed7cb523c3b 100644
--- a/gcc/testsuite/gcc.dg/noncompile/971104-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/971104-1.c
@@ -23,6 +23,6 @@ static void up(int sem){
printf("%s had processes sleeping on it!\n",
({ "MUTEX ", "BARB_SEM 1", "BARB_SEM 2", "CUST_SEM 1",
"CUST_SEM 2", "WAIT_SEM 1", "WAIT_SEM 2", "WAIT_SEM 3",
- "WAIT_SEM 4"} /* { dg-error "parse error" } */
+ "WAIT_SEM 4"} /* { dg-error "(parse|syntax) error" } */
[( sb.sem_num )]) );
}
diff --git a/gcc/testsuite/gcc.dg/noncompile/990416-1.c b/gcc/testsuite/gcc.dg/noncompile/990416-1.c
index 1e874871de2..6b69ead2fe1 100644
--- a/gcc/testsuite/gcc.dg/noncompile/990416-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/990416-1.c
@@ -1,7 +1,7 @@
typedef int word_type;
static void
-copy_reg (unsigned int reg, frame_state *udata, /* { dg-error "parse" } */
+copy_reg (unsigned int reg, frame_state *udata, /* { dg-error "parse|syntax" } */
frame_state *target_udata)
{
word_type *preg = get_reg_addr (reg, udata, 0); /* { dg-error "undeclared|function|without a cast" } */
diff --git a/gcc/testsuite/gcc.dg/noreturn-1.c b/gcc/testsuite/gcc.dg/noreturn-1.c
index 6e72f362bf3..3bf62c15b40 100644
--- a/gcc/testsuite/gcc.dg/noreturn-1.c
+++ b/gcc/testsuite/gcc.dg/noreturn-1.c
@@ -7,8 +7,8 @@ extern void exit (int);
extern void foo1(void) __attribute__ ((__noreturn__));
void
foo1(void)
-{
-} /* { dg-warning "`noreturn' function does return" "detect falling off end of noreturn" } */
+{ /* { dg-warning "`noreturn' function does return" "detect falling off end of noreturn" } */
+}
extern void foo2(void) __attribute__ ((__noreturn__));
void
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..c33707e609c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/old-style-asm-1.c
@@ -0,0 +1,27 @@
+/* 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");
+}
+
+/* The purpose of the test below is to check that there are two branches
+ in the generated code, supposedly corresponding to the if-statements.
+ Warning: this is fragile and assumes that one of the generated labels
+ for the branches matches the string "L2", or as with
+ mmix-knuth-mmixware, "L:2". That assumption is generally invalid,
+ because for example it depends on the target macro
+ ASM_GENERATE_INTERNAL_LABEL to generate a name matching this regexp (as
+ with the default definition). */
+/* { dg-final { scan-assembler "L(:|\\\$0*)?2" } } */
diff --git a/gcc/testsuite/gcc.dg/pragma-ep-1.c b/gcc/testsuite/gcc.dg/pragma-ep-1.c
index 91ec640ca5b..e110ff90004 100644
--- a/gcc/testsuite/gcc.dg/pragma-ep-1.c
+++ b/gcc/testsuite/gcc.dg/pragma-ep-1.c
@@ -5,7 +5,7 @@
/* { dg-final { scan-assembler "four" } } */
/* { dg-final { scan-assembler-not "_four" } } */
-#ifndef __EXTERN_PREFIX
+#ifndef __PRAGMA_EXTERN_PREFIX
#error
#endif
diff --git a/gcc/testsuite/gcc.dg/return-type-1.c b/gcc/testsuite/gcc.dg/return-type-1.c
index 2507cafa5e4..037dbbf0823 100644
--- a/gcc/testsuite/gcc.dg/return-type-1.c
+++ b/gcc/testsuite/gcc.dg/return-type-1.c
@@ -5,5 +5,5 @@
/* { dg-options "-O -Wreturn-type" } */
int
foo(void)
-{
-} /* { dg-warning "control reaches end of non-void function" "warning for falling off end of non-void function" } */
+{ /* { dg-warning "control reaches end of non-void function" "warning for falling off end of non-void function" } */
+}
diff --git a/gcc/testsuite/gcc.dg/return-type-3.c b/gcc/testsuite/gcc.dg/return-type-3.c
new file mode 100644
index 00000000000..b6fa16539a4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/return-type-3.c
@@ -0,0 +1,14 @@
+/* PR optimization/7189
+ This was a missing warning caused by a cfg cleanup after sibling
+ call optimization. The return clobber insn was cleaned up and
+ the warning was never issued. */
+/* { dg-do compile } */
+/* { dg-options "-foptimize-sibling-calls -Wreturn-type" } */
+
+extern void foo(void);
+
+int
+bar (void)
+{
+ foo();
+} /* { dg-warning "control reaches end of non-void function" "warning for falling off end of non-void function" } */
diff --git a/gcc/testsuite/gcc.dg/sparc-constant-1.c b/gcc/testsuite/gcc.dg/sparc-constant-1.c
new file mode 100644
index 00000000000..bb4b1bce4f8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/sparc-constant-1.c
@@ -0,0 +1,12 @@
+/* PR optimization/10876 */
+/* { dg-do compile { target sparc*-*-* } } */
+
+/* Verify that adding the constant 4096 is turned
+ into substracting the constant -4096. */
+
+int foo(int a)
+{
+ return a+4096;
+}
+
+/* { dg-final { scan-assembler "sub" } } */
diff --git a/gcc/testsuite/gcc.dg/sparc-dwarf2.c b/gcc/testsuite/gcc.dg/sparc-dwarf2.c
new file mode 100644
index 00000000000..d68cf620428
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/sparc-dwarf2.c
@@ -0,0 +1,31 @@
+/* PR target/10114 */
+/* Originator: James Troup <james@nocrew.org> */
+/* { dg-do compile { target sparc-*-linux* } } */
+/* { dg-options "-g -O1" } */
+
+extern __inline double sqrt (double __x)
+{
+ register double __r;
+ __asm ("fsqrtd %1,%0" : "=f" (__r) : "f" (__x));
+ return __r;
+}
+
+static double our_skew, max_update_skew;
+
+static double Sqr(double x)
+{
+ return x*x;
+}
+
+void REF_SetReference(double skew)
+{
+ double previous_skew, new_skew;
+ double old_weight, new_weight, sum_weight;
+ double delta_freq1, delta_freq2;
+ double skew1, skew2;
+
+ previous_skew = our_skew;
+ skew1 = sqrt((Sqr(delta_freq1) * old_weight + Sqr(delta_freq2) * new_weight) / sum_weight);
+ skew2 = (previous_skew * old_weight + new_skew * new_weight) / sum_weight;
+ our_skew = skew1 + skew2;
+}
diff --git a/gcc/testsuite/gcc.dg/special/ecos.exp b/gcc/testsuite/gcc.dg/special/ecos.exp
index b8875023ae1..835233f1d4b 100644
--- a/gcc/testsuite/gcc.dg/special/ecos.exp
+++ b/gcc/testsuite/gcc.dg/special/ecos.exp
@@ -155,7 +155,9 @@ if { [ check_weak_available ] == 1 } {
# gcsec-1.c
###########
-set ld_output [ remote_exec host "[ find_ld ]" "--help" ]
+# Check if the ld used by gcc supports --gc-sections.
+set gcc_ld [lindex [gcc_target_compile "-print-prog-name=ld" "" "none" ""] 0]
+set ld_output [remote_exec host "$gcc_ld" "--help"]
# AIX gld supports garbage collection. But AIX gcc does not support
# -ffunction-sections or -fdata-sections.
diff --git a/gcc/testsuite/gcc.dg/struct-ret-libc.c b/gcc/testsuite/gcc.dg/struct-ret-libc.c
new file mode 100644
index 00000000000..723e1cd029b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/struct-ret-libc.c
@@ -0,0 +1,16 @@
+/* Test evolved from source from Simona Perri <perri@mat.unical.it>
+ and Gerald Pfeifer<pfeifer@dbai.tuwien.ac.at>.
+
+ Copyright (C) 2003 Free Software Foundation */
+
+/* { dg-do run } */
+
+#include <stdlib.h>
+
+int main ()
+{
+ div_t d = div (20, 5);
+ if ((d.quot != 4) || (d.rem))
+ abort ();
+ exit (0);
+}
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/gcc.dg/ultrasp5.c b/gcc/testsuite/gcc.dg/ultrasp5.c
new file mode 100644
index 00000000000..91f3d21ffb6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ultrasp5.c
@@ -0,0 +1,12 @@
+/* PR target/10072 */
+/* Originator: Peter van Hoof <p.van-hoof@qub.ac.uk> */
+/* { dg-do compile { target sparc-*-* } } */
+/* { dg-options "-std=c99 -O1 -mcpu=ultrasparc -ffast-math" } */
+
+void p(int v)
+{
+ int i=v,j;
+ float a,b,c,x[i];
+
+ x[i] = (a/(((b)>(c)) ? (b) : (c)) - (((i) == (j)) ? 1.f : 0.f));
+}
diff --git a/gcc/testsuite/gcc.dg/ultrasp6.c b/gcc/testsuite/gcc.dg/ultrasp6.c
new file mode 100644
index 00000000000..0518086402e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ultrasp6.c
@@ -0,0 +1,150 @@
+/* PR target/7784 */
+/* Originator: Peter van Hoof <p.van-hoof@qub.ac.uk> */
+/* { dg-do compile { target sparc-*-* } } */
+/* { dg-options "-O2 -mcpu=ultrasparc" } */
+
+typedef struct
+{
+ float EnergyErg;
+ float ots;
+} EmLine;
+
+extern const int ipH_LIKE ;
+extern const int ipHYDROGEN ;
+extern const int ipH1s;
+extern const int ipH2s;
+extern const int ipH2p;
+
+extern EmLine ****EmisLines;
+
+typedef struct
+{
+ long n;
+ long s;
+ long l;
+} Elevels;
+
+extern struct t_iso
+{
+ float ***Pop2Ion;
+ long int numLevels[2][30L];
+} iso;
+
+extern struct t_LineSave
+{
+ long int nsum;
+ long int ndsum;
+ long int nComment;
+ long int npxdd;
+ long int ipass;
+ char chHoldComments[10][200];
+} LineSave;
+
+extern struct t_hydro
+{
+ int lgHydEmiss;
+ float **pestrk ;
+} hydro;
+
+extern struct t_dense
+{
+ double DensityLaw[10];
+ float frad[500];
+ float fhden[500];
+ float den0;
+ double eden;
+} dense;
+
+extern struct t_abund
+{
+ float xIonFracs[30L +3][30L +1];
+} abund;
+
+extern struct t_CaseBHS
+{
+ long int nDensity[2][8] , ntemp[2][8] , ncut[2][8] ;
+ int lgHCaseBOK[2][8];
+} CaseBHS ;
+
+extern struct t_smbeta
+{
+ float SimHBeta,
+ cn4861,
+ cn1216,
+ sv4861,
+ sv1216;
+} smbeta;
+
+extern struct t_phycon
+{
+ float te;
+} phycon;
+
+
+extern struct t_sphere
+{
+ int lgSphere;
+ float covgeo;
+} sphere;
+
+void linadd(double xInten, float wavelength, char *chLab, char chInfo);
+
+extern struct t_radiusVar
+{
+ int lgDrNeg;
+ double dVeff;
+} radius;
+
+void lines_hydro(void)
+{
+ long int i, nelem, ipHi, ipLo;
+ double hbetab, em , EmisFac, pump;
+ char chLabel[5];
+
+ linadd(abund.xIonFracs[ipHYDROGEN][1]*iso.Pop2Ion[ipH_LIKE][ipHYDROGEN][3]*hydro.pestrk[3][2]*3.025e-12, 6563,"Strk",'i');
+
+ linadd(abund.xIonFracs[ipHYDROGEN][1]*iso.Pop2Ion[ipH_LIKE][ipHYDROGEN][4]*hydro.pestrk[4][2]*4.084e-12, 4861,"Strk",'i');
+
+ linadd(abund.xIonFracs[ipHYDROGEN][1]*iso.Pop2Ion[ipH_LIKE][ipHYDROGEN][4]*hydro.pestrk[4][3]*1.059e-12, 18751,"Strk",'i');
+
+ linadd(abund.xIonFracs[ipHYDROGEN][1]*iso.Pop2Ion[ipH_LIKE][ipHYDROGEN][5]*hydro.pestrk[5][4]*4.900e-13, 40512,"Strk",'i');
+
+ ((void)((LineSave.ipass <1 || EmisLines[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].ots>= 0.) || (__assert("LineSave.ipass <1 || EmisLines[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].ots>= 0.", "lines_hydro.c", 118), 0)));
+
+ linadd(EmisLines[ipH_LIKE][ipHYDROGEN][3][ipH2s].ots*EmisLines[ipH_LIKE][ipHYDROGEN][3][ipH2s].EnergyErg, 6563,"Dest",'i');
+
+ linadd(EmisLines[ipH_LIKE][ipHYDROGEN][5][4].ots*EmisLines[ipH_LIKE][ipHYDROGEN][5][4].EnergyErg,40516, "Dest",'i');
+
+ smbeta.SimHBeta = smbeta.SimHBeta/(float)radius.dVeff*sphere.covgeo;
+
+ linadd(smbeta.SimHBeta,4861,"Q(H)",'i');
+
+ smbeta.SimHBeta = smbeta.SimHBeta*(float)radius.dVeff/sphere.covgeo;
+
+ for( nelem=0; nelem < 30L; nelem++ )
+ {
+ int iCase;
+ for( iCase=0; iCase<2; ++iCase )
+ {
+ char chAB[2]={'A','B'};
+ char chLab[5]="Ca ";
+
+ for( ipLo=1+iCase; ipLo<(((6)<(iso.numLevels[ipH_LIKE][nelem])) ? (6) : (5)); ++ipLo )
+ {
+ for( ipHi=ipLo+1; ipHi< (((ipLo+5)<(iso.numLevels[ipH_LIKE][nelem])) ? (ipLo+5) : (iso.numLevels[ipH_LIKE][nelem])); ++ipHi )
+ {
+ float wl;
+
+ hbetab = HSRate( ipHi,ipLo , nelem+1, phycon.te , dense.eden, chAB[iCase] );
+ if( hbetab<=0. )
+ CaseBHS.lgHCaseBOK[iCase][nelem] = 0;
+
+ if( !hydro.lgHydEmiss )
+ hbetab *= abund.xIonFracs[nelem][nelem+1]*dense.eden;
+
+ linadd(hbetab,wl,chLab,'i' );
+ }
+ }
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/ultrasp7.c b/gcc/testsuite/gcc.dg/ultrasp7.c
new file mode 100644
index 00000000000..defe5f3c7ad
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ultrasp7.c
@@ -0,0 +1,49 @@
+/* PR c/8281 */
+/* Originator: TANIGUCHI Yasuaki <yasuaki@k8.dion.ne.jp> */
+/* { dg-do compile { target sparc-*-* } } */
+/* { dg-options "-O2 -mcpu=ultrasparc -fPIC" } */
+
+static const double bp = 1.0, dp_l[] = { 0.0 };
+
+double __ieee754_pow(double x, double y)
+{
+ union {
+ int lo;
+ double d;
+ }uz;
+
+ double y1,t1,p_h,t,z;
+ double z_h,z_l,p_l;
+ double t2,r,s,u,v,w;
+ int i = 0;
+
+ double s_h,t_h;
+ double s2,s_l,t_l;
+
+
+ v = 1.0/(v+bp);
+ uz.d = s_h = s = u*v;
+ uz.lo = 0;
+ s_h = uz.d;
+ uz.d = t_h;
+ uz.lo = 3;
+ t_h = uz.d;
+ s_l = v*((u-s_h*t_h)-s_h*t_l);
+ s2 = s*s;
+ r = s2* s2* (1.1+s2*(1.2+s2*(1.3+s2*(1.4+s2*(1.5+s2*1.6)))));
+ s2 = s_h*s_h;
+ uz.lo = 0;
+ t_h = uz.d;
+ t_l = r-((t_h-3.0)-s2);
+ v = s_l*t_h+t_l*s;
+ p_l = v-(p_h-u);
+ z_h = bp *p_h;
+ z_l = bp*p_h+p_l*1.0+dp_l[i];
+ t = (double)i;
+ t1 = (((bp+z_l)+bp)+t);
+ t2 = z_l-(((t1-t)-bp)-z_h);
+ p_l = (y-y1)*t1+y*t2;
+ z = p_l+p_h;
+
+ return s*z;
+}
diff --git a/gcc/testsuite/gcc.dg/ultrasp8.c b/gcc/testsuite/gcc.dg/ultrasp8.c
new file mode 100644
index 00000000000..068b5cae2de
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ultrasp8.c
@@ -0,0 +1,39 @@
+/* PR target/10067 */
+/* Originator: <dat94ali@ludat.lth.se> */
+/* { dg-do compile { target sparc*-*-* } } */
+/* { dg-options "-O2 -m64 -mtune=supersparc" { target sparc64-*-* } } */
+
+struct _reent;
+
+extern unsigned long __malloc_trim_threshold;
+extern unsigned long __malloc_top_pad;
+
+int _mallopt_r(struct _reent *reent_ptr, int param_number, int value)
+{
+ __malloc_lock(reent_ptr);
+
+ switch(param_number)
+ {
+ case -1:
+ __malloc_trim_threshold = value;
+ __malloc_unlock(reent_ptr);
+ return 1;
+
+ case -2:
+ __malloc_top_pad = value;
+ __malloc_unlock(reent_ptr);
+ return 1;
+
+ case -3:
+ __malloc_unlock(reent_ptr);
+ return 1;
+
+ case -4:
+ __malloc_unlock(reent_ptr);
+ return value == 0;
+
+ default:
+ __malloc_unlock(reent_ptr);
+ return 0;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/ultrasp9.c b/gcc/testsuite/gcc.dg/ultrasp9.c
new file mode 100644
index 00000000000..885420e0509
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ultrasp9.c
@@ -0,0 +1,39 @@
+/* PR optimization/11018 */
+/* Originator: <partain@dcs.gla.ac.uk> */
+/* { dg-do run { target sparc*-*-* } } */
+/* { dg-options "-O2 -mcpu=ultrasparc" } */
+
+/* This used to fail on 32-bit Ultrasparc because
+ of broken DImode shift patterns. */
+
+extern void abort(void);
+
+typedef unsigned long long uint64_t;
+typedef unsigned int size_t;
+
+
+void to_octal (uint64_t value, char *where, size_t size)
+{
+ uint64_t v = value;
+ size_t i = size;
+
+ do
+ {
+ where[--i] = '0' + (v & ((1 << 3) - 1));
+ v >>= 3;
+ }
+ while (i);
+}
+
+
+int main (void)
+{
+ char buf[8];
+
+ to_octal(010644, buf, 6);
+
+ if (buf[1] != '1')
+ abort();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/uninit-C.c b/gcc/testsuite/gcc.dg/uninit-C.c
new file mode 100644
index 00000000000..c81ada4abfc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/uninit-C.c
@@ -0,0 +1,15 @@
+/* Spurious uninitialized variable warning, inspired by libgcc2.c. */
+/* { dg-do compile } */
+/* { dg-options "-O -Wuninitialized" } */
+
+typedef int TItype __attribute__ ((mode (TI)));
+
+TItype
+__subvdi3 (TItype a, TItype b)
+{
+ TItype w;
+
+ w = a - b;
+
+ return w;
+}
diff --git a/gcc/testsuite/gcc.dg/unused-4.c b/gcc/testsuite/gcc.dg/unused-4.c
index 53236008007..99e845f45a3 100644
--- a/gcc/testsuite/gcc.dg/unused-4.c
+++ b/gcc/testsuite/gcc.dg/unused-4.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-Wunused -O3" } */
-static const int i = 0; /* { dg-warning "defined but not used" } */
+static const int i = 0;
static void f() { } /* { dg-warning "defined but not used" } */
static inline void g() { }
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/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index ebca4caac75..27bf88a0cab 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -32,8 +32,8 @@ proc scan-assembler { args } {
switch [dg-process-target [lindex $args 1]] {
"S" { }
"N" { return }
- "F" { error "scan-assembler: `xfail' not allowed here" }
- "P" { error "scan-assembler: `xfail' not allowed here" }
+ "F" { setup_xfail "*-*-*" }
+ "P" { }
}
}
@@ -70,8 +70,8 @@ proc scan-assembler-not { args } {
switch [dg-process-target [lindex $args 1]] {
"S" { }
"N" { return }
- "F" { error "scan-assembler-not: `xfail' not allowed here" }
- "P" { error "scan-assembler-not: `xfail' not allowed here" }
+ "F" { setup_xfail "*-*-*" }
+ "P" { }
}
}
@@ -107,8 +107,8 @@ proc scan-assembler-dem { args } {
switch [dg-process-target [lindex $args 1]] {
"S" { }
"N" { return }
- "F" { error "[lindex $args 0]: `xfail' not allowed here" }
- "P" { error "[lindex $args 0]: `xfail' not allowed here" }
+ "F" { setup_xfail "*-*-*" }
+ "P" { }
}
}
@@ -153,8 +153,8 @@ proc scan-assembler-dem-not { args } {
switch [dg-process-target [lindex $args 1]] {
"S" { }
"N" { return }
- "F" { error "scan-assembler-dem-not: `xfail' not allowed here" }
- "P" { error "scan-assembler-dem-not: `xfail' not allowed here" }
+ "F" { setup_xfail "*-*-*" }
+ "P" { }
}
}
diff --git a/gcc/testsuite/objc.dg/naming-1.m b/gcc/testsuite/objc.dg/naming-1.m
index f49c73678f9..69d98b7be51 100644
--- a/gcc/testsuite/objc.dg/naming-1.m
+++ b/gcc/testsuite/objc.dg/naming-1.m
@@ -17,5 +17,5 @@ void foo(void)
void bar(void)
{
View *view; /* ok */
- View = 1; /* { dg-error "parse error" } */
+ View = 1; /* { dg-error "(parse|syntax) error" } */
}
diff --git a/gcc/testsuite/objc.dg/naming-2.m b/gcc/testsuite/objc.dg/naming-2.m
index 2d15ae61074..a4716b0ab4d 100644
--- a/gcc/testsuite/objc.dg/naming-2.m
+++ b/gcc/testsuite/objc.dg/naming-2.m
@@ -4,7 +4,7 @@
@interface Foo
@end
-float Foo; /* { dg-error "parse error before" } */
+float Foo; /* { dg-error "(parse|syntax) error before" } */
double Bar;
@interface Bar
diff --git a/gcc/testsuite/treelang/ChangeLog b/gcc/testsuite/treelang/ChangeLog
index 09a69046ad4..86b7f83147e 100644
--- a/gcc/testsuite/treelang/ChangeLog
+++ b/gcc/testsuite/treelang/ChangeLog
@@ -1,3 +1,15 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-05-07 Tim Josling <tej@melbpc.org.au>
* Makefile.in: Fix copyright
diff --git a/gcc/timevar.c b/gcc/timevar.c
index 7a10fe78b47..47f2a68b89a 100644
--- a/gcc/timevar.c
+++ b/gcc/timevar.c
@@ -111,6 +111,7 @@ static float clocks_to_msec;
#include "flags.h"
#include "timevar.h"
+#include "toplev.h"
/* See timevar.h for an explanation of timing variables. */
@@ -317,7 +318,11 @@ timevar_pop (timevar)
return;
if (&timevars[timevar] != stack->timevar)
- abort ();
+ {
+ sorry ("cannot timevar_pop '%s' when top of timevars stack is '%s'",
+ timevars[timevar].name, stack->timevar->name);
+ abort ();
+ }
/* What time is it? */
get_time (&now);
diff --git a/gcc/timevar.def b/gcc/timevar.def
index 49eeedbf0a7..d26f10a6599 100644
--- a/gcc/timevar.def
+++ b/gcc/timevar.def
@@ -51,6 +51,9 @@ DEFTIMEVAR (TV_LIFE_UPDATE , "life info update")
DEFTIMEVAR (TV_CPP , "preprocessing")
DEFTIMEVAR (TV_LEX , "lexical analysis")
DEFTIMEVAR (TV_PARSE , "parser")
+DEFTIMEVAR (TV_NAME_LOOKUP , "name lookup")
+DEFTIMEVAR (TV_OVERLOAD , "overload resolution")
+DEFTIMEVAR (TV_TEMPLATE_INSTANTIATION, "template instantiation")
DEFTIMEVAR (TV_EXPAND , "expand")
DEFTIMEVAR (TV_VARCONST , "varconst")
DEFTIMEVAR (TV_INTEGRATION , "integration")
diff --git a/gcc/timevar.h b/gcc/timevar.h
index 149751c3467..dcf1701aef9 100644
--- a/gcc/timevar.h
+++ b/gcc/timevar.h
@@ -76,6 +76,9 @@ typedef enum
timevar_id_t;
#undef DEFTIMEVAR
+/* Execute the sequence: timevar_pop (TV), return (E); */
+#define POP_TIMEVAR_AND_RETURN(TV, E) return (timevar_pop (TV), (E))
+
extern void init_timevar PARAMS ((void));
extern void timevar_push PARAMS ((timevar_id_t));
extern void timevar_pop PARAMS ((timevar_id_t));
diff --git a/gcc/tlink.c b/gcc/tlink.c
index b4a724e1946..a98b55b5f3b 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -631,10 +631,16 @@ scan_linker_output (fname)
else if (p = strchr (oldq, '"'), p)
p++, q = strchr (p, '"');
- /* Don't let the strstr's below see the demangled name; we
- might get spurious matches. */
if (p)
- p[-1] = '\0';
+ {
+ /* Don't let the strstr's below see the demangled name; we
+ might get spurious matches. */
+ p[-1] = '\0';
+
+ /* powerpc64-linux references .foo when calling function foo. */
+ if (*p == '.')
+ p++;
+ }
/* We need to check for certain error keywords here, or we would
mistakenly use GNU ld's "In function `foo':" message. */
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 0c06857e55a..f213f2d362f 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1,6 +1,6 @@
/* Top level of GNU C compiler
Copyright (C) 1987, 1988, 1989, 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.
@@ -1115,7 +1115,7 @@ static const lang_independent_options f_options[] =
{"data-sections", &flag_data_sections, 1,
N_("place data items into their own section") },
{"verbose-asm", &flag_verbose_asm, 1,
- N_("Add extra commentry to assembler output") },
+ N_("Add extra commentary to assembler output") },
{"gnu-linker", &flag_gnu_linker, 1,
N_("Output GNU ld formatted global initializers") },
{"regmove", &flag_regmove, 1,
@@ -1143,7 +1143,7 @@ static const lang_independent_options f_options[] =
{"align-functions", &align_functions, 0,
N_("Align the start of functions") },
{"merge-constants", &flag_merge_constants, 1,
- N_("Attempt to merge identical constants accross compilation units") },
+ N_("Attempt to merge identical constants across compilation units") },
{"merge-all-constants", &flag_merge_constants, 2,
N_("Attempt to merge identical constants and constant variables") },
{"dump-unnumbered", &flag_dump_unnumbered, 1,
@@ -1904,8 +1904,10 @@ wrapup_global_declarations (vec, len)
{
decl = vec[i];
- /* We're not deferring this any longer. */
- DECL_DEFER_OUTPUT (decl) = 0;
+ /* We're not deferring this any longer. Assignment is
+ conditional to avoid needlessly dirtying PCH pages. */
+ if (DECL_DEFER_OUTPUT (decl) != 0)
+ DECL_DEFER_OUTPUT (decl) = 0;
if (TREE_CODE (decl) == VAR_DECL && DECL_SIZE (decl) == 0)
(*lang_hooks.finish_incomplete_decl) (decl);
@@ -2037,7 +2039,11 @@ check_global_declarations (vec, len)
/* Warn about static fns or vars defined but not used. */
if (((warn_unused_function && TREE_CODE (decl) == FUNCTION_DECL)
- || (warn_unused_variable && TREE_CODE (decl) == VAR_DECL))
+ /* We don't warn about "static const" variables because the
+ "rcs_id" idiom uses that construction. */
+ || (warn_unused_variable
+ && TREE_CODE (decl) == VAR_DECL && ! TREE_READONLY (decl)))
+ && ! DECL_IN_SYSTEM_HEADER (decl)
&& ! TREE_USED (decl)
/* The TREE_USED bit for file-scope decls is kept in the identifier,
to handle multiple external decls in different scopes. */
@@ -2112,8 +2118,6 @@ pop_srcloc ()
static void
compile_file ()
{
- tree globals;
-
/* Initialize yet another pass. */
init_final (main_input_filename);
@@ -2136,25 +2140,7 @@ compile_file ()
if (flag_syntax_only)
return;
- globals = (*lang_hooks.decls.getdecls) ();
-
- /* Really define vars that have had only a tentative definition.
- Really output inline functions that must actually be callable
- and have not been output so far. */
-
- {
- int len = list_length (globals);
- tree *vec = (tree *) xmalloc (sizeof (tree) * len);
- int i;
- tree decl;
-
- /* Process the decls in reverse order--earliest first.
- Put them into VEC from back to front, then take out from front. */
-
- for (i = 0, decl = globals; i < len; i++, decl = TREE_CHAIN (decl))
- vec[len - i - 1] = decl;
-
- wrapup_global_declarations (vec, len);
+ (*lang_hooks.decls.final_write_globals)();
/* This must occur after the loop to output deferred functions. Else
the profiler initializer would not be emitted if all the functions
@@ -2165,12 +2151,6 @@ compile_file ()
loop above. */
output_func_start_profiler ();
- check_global_declarations (vec, len);
-
- /* Clean up. */
- free (vec);
- }
-
/* Write out any pending weak symbol declarations. */
weak_finish ();
@@ -2454,12 +2434,17 @@ rest_of_compilation (decl)
goto exit_rest_of_compilation;
}
}
- else
- /* ??? Note that this has the effect of making it look
- like "inline" was specified for a function if we choose
- to inline it. This isn't quite right, but it's
- probably not worth the trouble to fix. */
- inlinable = DECL_INLINE (decl) = 1;
+ else
+ {
+ /* ??? Note that we used to just make it look like if
+ the "inline" keyword was specified when we decide
+ to inline it (because of -finline-functions).
+ garloff at suse dot de, 2002-04-24: Add another flag to
+ actually record this piece of information. */
+ if (!DECL_INLINE (decl))
+ DID_INLINE_FUNC (decl) = 1;
+ inlinable = DECL_INLINE (decl) = 1;
+ }
}
insns = get_insns ();
@@ -2598,10 +2583,17 @@ rest_of_compilation (decl)
delete_unreachable_blocks ();
+ /* We have to issue these warnings now already, because CFG cleanups
+ further down may destroy the required information. */
+ check_function_return_warnings ();
+
/* Turn NOTE_INSN_PREDICTIONs into branch predictions. */
- timevar_push (TV_BRANCH_PROB);
- note_prediction_to_br_prob ();
- timevar_pop (TV_BRANCH_PROB);
+ if (flag_guess_branch_prob)
+ {
+ timevar_push (TV_BRANCH_PROB);
+ note_prediction_to_br_prob ();
+ timevar_pop (TV_BRANCH_PROB);
+ }
/* We may have potential sibling or tail recursion sites. Select one
(of possibly multiple) methods of performing the call. */
@@ -2682,21 +2674,26 @@ rest_of_compilation (decl)
timevar_push (TV_JUMP);
/* Turn NOTE_INSN_EXPECTED_VALUE into REG_BR_PROB. Do this
before jump optimization switches branch directions. */
- expected_value_to_br_prob ();
+ if (flag_guess_branch_prob)
+ expected_value_to_br_prob ();
reg_scan (insns, max_reg_num (), 0);
rebuild_jump_labels (insns);
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
+ delete_trivially_dead_insns (insns, max_reg_num ());
if (rtl_dump_file)
dump_flow_info (rtl_dump_file);
cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0) | CLEANUP_PRE_LOOP
| (flag_thread_jumps ? CLEANUP_THREADING : 0));
/* CFG is no longer maintained up-to-date. */
- free_bb_for_insn ();
- copy_loop_headers (insns);
+ if (optimize)
+ {
+ free_bb_for_insn ();
+ copy_loop_headers (insns);
+ find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
+ }
purge_line_number_notes (insns);
- find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
timevar_pop (TV_JUMP);
close_dump_file (DFI_jump, print_rtl, insns);
@@ -2774,7 +2771,8 @@ rest_of_compilation (decl)
}
timevar_push (TV_JUMP);
- cleanup_cfg (optimize ? CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP: 0);
+ if (optimize)
+ cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
/* Try to identify useless null pointer tests and delete them. */
if (flag_delete_null_pointer_checks)
@@ -2972,8 +2970,9 @@ rest_of_compilation (decl)
open_dump_file (DFI_cfg, decl);
if (rtl_dump_file)
dump_flow_info (rtl_dump_file);
- cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0)
- | (flag_thread_jumps ? CLEANUP_THREADING : 0));
+ if (optimize)
+ cleanup_cfg (CLEANUP_EXPENSIVE
+ | (flag_thread_jumps ? CLEANUP_THREADING : 0));
/* It may make more sense to mark constant functions after dead code is
eliminated by life_analyzis, but we need to do it early, as -fprofile-arcs
@@ -3012,7 +3011,7 @@ rest_of_compilation (decl)
close_dump_file (DFI_bp, print_rtl_with_bb, insns);
timevar_pop (TV_BRANCH_PROB);
}
- if (optimize >= 0)
+ if (optimize > 0)
{
open_dump_file (DFI_ce1, decl);
if (flag_if_conversion)
@@ -3073,8 +3072,6 @@ rest_of_compilation (decl)
open_dump_file (DFI_life, decl);
regclass_init ();
- check_function_return_warnings ();
-
#ifdef ENABLE_CHECKING
verify_flow_info ();
#endif
@@ -3084,8 +3081,6 @@ rest_of_compilation (decl)
| (flag_thread_jumps ? CLEANUP_THREADING : 0));
timevar_pop (TV_FLOW);
- no_new_pseudos = 1;
-
if (warn_uninitialized || extra_warnings)
{
uninitialized_vars_warning (DECL_INITIAL (decl));
@@ -3095,17 +3090,19 @@ rest_of_compilation (decl)
if (optimize)
{
- clear_bb_flags ();
if (!flag_new_regalloc && initialize_uninitialized_subregs ())
{
- /* Insns were inserted, so things might look a bit different. */
+ /* Insns were inserted, and possibly pseudos created, so
+ things might look a bit different. */
insns = get_insns ();
- update_life_info_in_dirty_blocks (UPDATE_LIFE_GLOBAL_RM_NOTES,
- PROP_LOG_LINKS | PROP_REG_INFO
- | PROP_DEATH_NOTES);
+ allocate_reg_life_data ();
+ update_life_info (NULL, UPDATE_LIFE_GLOBAL_RM_NOTES,
+ PROP_LOG_LINKS | PROP_REG_INFO | PROP_DEATH_NOTES);
}
}
+ no_new_pseudos = 1;
+
close_dump_file (DFI_life, print_rtl_with_bb, insns);
ggc_collect ();
@@ -3363,10 +3360,13 @@ rest_of_compilation (decl)
#endif
/* If optimizing, then go ahead and split insns now. */
+#ifndef STACK_REGS
if (optimize > 0)
+#endif
split_all_insns (0);
- cleanup_cfg (optimize ? CLEANUP_EXPENSIVE : 0);
+ if (optimize)
+ cleanup_cfg (CLEANUP_EXPENSIVE);
/* On some machines, the prologue and epilogue code, or parts thereof,
can be represented as RTL. Doing so lets us schedule insns between
@@ -3434,10 +3434,6 @@ rest_of_compilation (decl)
close_dump_file (DFI_ce3, print_rtl_with_bb, insns);
timevar_pop (TV_IFCVT2);
}
-#ifdef STACK_REGS
- if (optimize)
- split_all_insns (1);
-#endif
#ifdef INSN_SCHEDULING
if (optimize > 0 && flag_schedule_insns_after_reload)
@@ -3687,6 +3683,10 @@ display_help ()
printf (_(" -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"));
printf (_(" -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"));
printf (_(" -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"));
+ printf (_(" -fstack-limit-register=<register> Trap if the stack goes past <register>\n"));
+ printf (_(" -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>\n"));
+ printf (_(" -frandom-seed=<string> Make compile reproducible using <string>\n"));
+
for (i = ARRAY_SIZE (f_options); i--;)
{
@@ -3964,6 +3964,16 @@ decode_f_option (arg)
read_integral_parameter (option_value, arg - 2,
MAX_INLINE_INSNS);
set_param_value ("max-inline-insns", val);
+ set_param_value ("max-inline-insns-single", val/2);
+ set_param_value ("max-inline-insns-auto", val/2);
+ set_param_value ("max-inline-insns-rtl", val);
+ if (val/4 < MIN_INLINE_INSNS)
+ {
+ if (val/4 > 10)
+ set_param_value ("min-inline-insns", val/4);
+ else
+ set_param_value ("min-inline-insns", 10);
+ }
}
else if ((option_value = skip_leading_substring (arg, "tls-model=")))
{
@@ -4032,6 +4042,10 @@ decode_f_option (arg)
}
else if (!strcmp (arg, "no-stack-limit"))
stack_limit_rtx = NULL_RTX;
+ else if ((option_value = skip_leading_substring (arg, "random-seed=")))
+ flag_random_seed = option_value;
+ else if (!strcmp (arg, "no-random-seed"))
+ flag_random_seed = NULL;
else if (!strcmp (arg, "preprocessed"))
/* Recognize this switch but do nothing. This prevents warnings
about an unrecognized switch if cpplib has not been linked in. */
@@ -4245,18 +4259,21 @@ independent_decode_option (argc, argv)
{
display_help ();
exit_after_options = 1;
+ return 1;
}
if (!strcmp (arg, "-target-help"))
{
display_target_options ();
exit_after_options = 1;
+ return 1;
}
if (!strcmp (arg, "-version"))
{
print_version (stderr, "");
exit_after_options = 1;
+ return 1;
}
/* Handle '--param <name>=<value>'. */
@@ -4534,6 +4551,9 @@ print_version (file, indent)
, indent, *indent != 0 ? " " : "",
lang_hooks.name, version_string, TARGET_NAME,
indent, __VERSION__);
+ fnotice (file, "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n",
+ indent, *indent != 0 ? " " : "",
+ PARAM_VALUE (GGC_MIN_EXPAND), PARAM_VALUE (GGC_MIN_HEAPSIZE));
}
/* Print an option value and return the adjusted position in the line.
@@ -4580,6 +4600,12 @@ print_switch_values (file, pos, max, indent, sep, term)
size_t j;
char **p;
+ /* Fill in the -frandom-seed option, if the user didn't pass it, so
+ that it can be printed below. This helps reproducibility. Of
+ course, the string may never be used, but we can't tell that at
+ this point in the compile. */
+ default_flag_random_seed ();
+
/* Print the options as passed. */
pos = print_single_switch (file, pos, max, indent, *indent ? " " : "", term,
@@ -4774,6 +4800,9 @@ parse_options_and_default_flags (argc, argv)
/* Register the language-independent parameters. */
add_params (lang_independent_params, LAST_PARAM);
+ /* This must be done after add_params but before argument processing. */
+ init_ggc_heuristics();
+
/* Perform language-specific options initialization. */
(*lang_hooks.init_options) ();
@@ -5075,7 +5104,7 @@ process_options ()
print_switch_values (stderr, 0, MAX_LINE, "", " ", "\n");
}
- if (! quiet_flag)
+ if (! quiet_flag || flag_detailed_statistics)
time_report = 1;
if (flag_syntax_only)
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 0f5ab59158f..28ceda157f1 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -125,6 +125,8 @@ static tree add_stmt_to_compound PARAMS ((tree, tree, tree));
#endif /* INLINER_FOR_JAVA */
static tree find_alloca_call_1 PARAMS ((tree *, int *, void *));
static tree find_alloca_call PARAMS ((tree));
+static tree find_builtin_longjmp_call_1 PARAMS ((tree *, int *, void *));
+static tree find_builtin_longjmp_call PARAMS ((tree));
/* The approximate number of instructions per statement. This number
need not be particularly accurate; it is used only to make
@@ -661,6 +663,10 @@ initialize_inlined_parameters (id, args, fn, block)
if (DECL_P (value))
value = build1 (NOP_EXPR, TREE_TYPE (value), value);
+ /* If this is a constant, make sure it has the right type. */
+ else if (TREE_TYPE (value) != TREE_TYPE (p))
+ value = fold (build1 (NOP_EXPR, TREE_TYPE (p), value));
+
splay_tree_insert (id->decl_map,
(splay_tree_key) p,
(splay_tree_value) value);
@@ -871,7 +877,7 @@ tree_inlinable_function_p (fn)
return inlinable_function_p (fn, NULL);
}
-/* if *TP is possibly call to alloca, return nonzero. */
+/* If *TP is possibly call to alloca, return nonzero. */
static tree
find_alloca_call_1 (tp, walk_subtrees, data)
tree *tp;
@@ -883,13 +889,38 @@ find_alloca_call_1 (tp, walk_subtrees, data)
return NULL;
}
-/* Return subexpression representing possible alloca call,
- if any. */
+/* Return subexpression representing possible alloca call, if any. */
static tree
find_alloca_call (exp)
tree exp;
{
- return walk_tree (&exp, find_alloca_call_1, NULL, NULL);
+ return walk_tree_without_duplicates (&exp, find_alloca_call_1, NULL);
+}
+
+static tree
+find_builtin_longjmp_call_1 (tp, walk_subtrees, data)
+ tree *tp;
+ int *walk_subtrees ATTRIBUTE_UNUSED;
+ void *data ATTRIBUTE_UNUSED;
+{
+ tree exp = *tp, decl;
+
+ if (TREE_CODE (exp) == CALL_EXPR
+ && TREE_CODE (TREE_OPERAND (exp, 0)) == ADDR_EXPR
+ && (decl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0),
+ TREE_CODE (decl) == FUNCTION_DECL)
+ && DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL
+ && DECL_FUNCTION_CODE (decl) == BUILT_IN_LONGJMP)
+ return decl;
+
+ return NULL;
+}
+
+static tree
+find_builtin_longjmp_call (exp)
+ tree exp;
+{
+ return walk_tree_without_duplicates (&exp, find_builtin_longjmp_call_1, NULL);
}
/* Returns nonzero if FN is a function that can be inlined into the
@@ -903,6 +934,7 @@ inlinable_function_p (fn, id)
{
int inlinable;
int currfn_insns;
+ int max_inline_insns_single = MAX_INLINE_INSNS_SINGLE;
/* If we've already decided this function shouldn't be inlined,
there's no need to check again. */
@@ -911,7 +943,13 @@ inlinable_function_p (fn, id)
/* Assume it is not inlinable. */
inlinable = 0;
-
+
+ /* We may be here either because fn is declared inline or because
+ we use -finline-functions. For the second case, we are more
+ restrictive. */
+ if (DID_INLINE_FUNC (fn))
+ max_inline_insns_single = MAX_INLINE_INSNS_AUTO;
+
/* The number of instructions (estimated) of current function. */
currfn_insns = DECL_NUM_STMTS (fn) * INSNS_PER_STMT;
@@ -926,11 +964,24 @@ inlinable_function_p (fn, id)
DECL_INLINE set. */
else if (! DECL_INLINE (fn))
;
+#ifdef INLINER_FOR_JAVA
+ /* Synchronized methods can't be inlined. This is a bug. */
+ else if (METHOD_SYNCHRONIZED (fn))
+ ;
+#endif /* INLINER_FOR_JAVA */
/* We can't inline functions that are too big. Only allow a single
function to be of MAX_INLINE_INSNS_SINGLE size. Make special
allowance for extern inline functions, though. */
else if (! (*lang_hooks.tree_inlining.disregard_inline_limits) (fn)
- && currfn_insns > MAX_INLINE_INSNS_SINGLE)
+ && currfn_insns > max_inline_insns_single)
+ ;
+ /* We can't inline functions that call __builtin_longjmp at all.
+ The non-local goto machenery really requires the destination
+ be in a different function. If we allow the function calling
+ __builtin_longjmp to be inlined into the function calling
+ __builtin_setjmp, Things will Go Awry. */
+ /* ??? Need front end help to identify "regular" non-local goto. */
+ else if (find_builtin_longjmp_call (DECL_SAVED_TREE (fn)))
;
/* Refuse to inline alloca call unless user explicitly forced so as this may
change program's memory overhead drastically when the function using alloca
@@ -1074,6 +1125,19 @@ expand_call_inline (tp, walk_subtrees, data)
abort ();
#endif /* INLINER_FOR_JAVA */
}
+ else if (TREE_CODE (t) == EXPR_WITH_FILE_LOCATION)
+ {
+ /* We're walking the subtree directly. */
+ *walk_subtrees = 0;
+ /* Update the source position. */
+ push_srcloc (EXPR_WFL_FILENAME (t), EXPR_WFL_LINENO (t));
+ walk_tree (&EXPR_WFL_NODE (t), expand_call_inline, data,
+ id->tree_pruner);
+ /* Restore the original source position. */
+ pop_srcloc ();
+
+ return NULL_TREE;
+ }
if (TYPE_P (t))
/* Because types were not copied in copy_body, CALL_EXPRs beneath
@@ -1106,7 +1170,15 @@ expand_call_inline (tp, walk_subtrees, data)
/* Don't try to inline functions that are not well-suited to
inlining. */
if (!inlinable_function_p (fn, id))
- return NULL_TREE;
+ {
+ if (warn_inline && DECL_INLINE (fn) && !DID_INLINE_FUNC (fn)
+ && !DECL_IN_SYSTEM_HEADER (fn))
+ {
+ warning_with_decl (fn, "inlining failed in call to `%s'");
+ warning ("called from here");
+ }
+ return NULL_TREE;
+ }
if (! (*lang_hooks.tree_inlining.start_inlining) (fn))
return NULL_TREE;
@@ -1492,10 +1564,9 @@ walk_tree (tp, func, data, htab_)
/* Don't walk the same tree twice, if the user has requested
that we avoid doing so. */
- if (htab_find (htab, *tp))
- return NULL_TREE;
- /* If we haven't already seen this node, add it to the table. */
slot = htab_find_slot (htab, *tp, INSERT);
+ if (*slot)
+ return NULL_TREE;
*slot = *tp;
}
@@ -1617,6 +1688,7 @@ walk_tree (tp, func, data, htab_)
case ENUMERAL_TYPE:
case BLOCK:
case RECORD_TYPE:
+ case CHAR_TYPE:
/* None of thse have subtrees other than those already walked
above. */
break;
diff --git a/gcc/tree.c b/gcc/tree.c
index 04fddb26dd3..fbb47e9220c 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4004,10 +4004,10 @@ get_narrower (op, unsignedp_ptr)
/* See what's inside this conversion. If we decide to strip it,
we will set WIN. */
- op = TREE_OPERAND (op, 0);
if (bitschange > 0)
{
+ op = TREE_OPERAND (op, 0);
/* An extension: the outermost one can be stripped,
but remember whether it is zero or sign extension. */
if (first)
@@ -4026,6 +4026,7 @@ get_narrower (op, unsignedp_ptr)
if (first)
uns = TREE_UNSIGNED (TREE_TYPE (op));
first = 0;
+ op = TREE_OPERAND (op, 0);
}
win = op;
@@ -4345,6 +4346,38 @@ dump_tree_statistics ()
#define FILE_FUNCTION_FORMAT "_GLOBAL__%s_%s"
+const char *flag_random_seed;
+
+/* Set up a default flag_random_seed value, if there wasn't one already. */
+
+void
+default_flag_random_seed (void)
+{
+ unsigned HOST_WIDE_INT value;
+ char *new_random_seed;
+
+ if (flag_random_seed != NULL)
+ return;
+
+ /* Get some more or less random data. */
+#ifdef HAVE_GETTIMEOFDAY
+ {
+ struct timeval tv;
+
+ gettimeofday (&tv, NULL);
+ value = (((unsigned HOST_WIDE_INT) tv.tv_usec << 16)
+ ^ tv.tv_sec ^ getpid ());
+ }
+#else
+ value = getpid ();
+#endif
+
+ /* This slightly overestimates the space required. */
+ new_random_seed = xmalloc (HOST_BITS_PER_WIDE_INT / 3 + 2);
+ sprintf (new_random_seed, HOST_WIDE_INT_PRINT_UNSIGNED, value);
+ flag_random_seed = new_random_seed;
+}
+
/* Appends 6 random characters to TEMPLATE to (hopefully) avoid name
clashes in cases where we can't reliably choose a unique name.
@@ -4356,40 +4389,20 @@ append_random_chars (template)
{
static const char letters[]
= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- static unsigned HOST_WIDE_INT value;
unsigned HOST_WIDE_INT v;
+ size_t i;
- if (! value)
- {
- struct stat st;
+ default_flag_random_seed ();
- /* VALUE should be unique for each file and must not change between
- compiles since this can cause bootstrap comparison errors. */
-
- if (stat (main_input_filename, &st) < 0)
- {
- /* This can happen when preprocessed text is shipped between
- machines, e.g. with bug reports. Assume that uniqueness
- isn't actually an issue. */
- value = 1;
- }
- else
- {
- /* In VMS, ino is an array, so we have to use both values. We
- conditionalize that. */
-#ifdef VMS
-#define INO_TO_INT(INO) ((int) (INO)[1] << 16 ^ (int) (INO)[2])
-#else
-#define INO_TO_INT(INO) INO
-#endif
- value = st.st_dev ^ INO_TO_INT (st.st_ino) ^ st.st_mtime;
- }
- }
+ /* This isn't a very good hash, but it does guarantee no collisions
+ when the random string is generated by the code above and the time
+ delta is small. */
+ v = 0;
+ for (i = 0; i < strlen (flag_random_seed); i++)
+ v = (v << 4) ^ (v >> (HOST_BITS_PER_WIDE_INT - 4)) ^ flag_random_seed[i];
template += strlen (template);
- v = value;
-
/* Fill in the random bits. */
template[0] = letters[v % 62];
v /= 62;
diff --git a/gcc/tree.h b/gcc/tree.h
index 36e7fd4eeb3..a64175fe61f 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -798,6 +798,8 @@ struct tree_vector GTY(())
(IDENTIFIER_NODE_CHECK (NODE)->identifier.id.len)
#define IDENTIFIER_POINTER(NODE) \
((const char *) IDENTIFIER_NODE_CHECK (NODE)->identifier.id.str)
+#define IDENTIFIER_HASH_VALUE(NODE) \
+ (IDENTIFIER_NODE_CHECK (NODE)->identifier.id.hash_value)
/* Translate a hash table identifier pointer to a tree_identifier
pointer, and vice versa. */
@@ -1642,6 +1644,11 @@ struct tree_type GTY(())
where it is called. */
#define DECL_INLINE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.inline_flag)
+/* Nonzero in a FUNCTION_DECL means this function has been found inlinable
+ only by virtue of -finline-functions */
+#define DID_INLINE_FUNC(NODE) \
+ (FUNCTION_DECL_CHECK (NODE)->decl.inlined_function_flag)
+
/* In a FUNCTION_DECL, nonzero if the function cannot be inlined. */
#define DECL_UNINLINABLE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.uninlinable)
@@ -1827,7 +1834,8 @@ struct tree_decl GTY(())
unsigned user_align : 1;
unsigned uninlinable : 1;
unsigned thread_local_flag : 1;
- /* Two unused bits. */
+ unsigned inlined_function_flag : 1;
+ /* One unused bit. */
unsigned lang_flag_0 : 1;
unsigned lang_flag_1 : 1;
@@ -2821,7 +2829,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));
@@ -2971,7 +2979,7 @@ extern void expand_dummy_function_end PARAMS ((void));
extern void init_function_for_compilation PARAMS ((void));
extern void init_function_start PARAMS ((tree, const char *, int));
extern void assign_parms PARAMS ((tree));
-extern void put_var_into_stack PARAMS ((tree));
+extern void put_var_into_stack PARAMS ((tree, int));
extern void flush_addressof PARAMS ((tree));
extern void uninitialized_vars_warning PARAMS ((tree));
extern void setjmp_args_warning PARAMS ((void));
@@ -3090,6 +3098,7 @@ extern tree case_index_expr_type PARAMS ((void));
extern HOST_WIDE_INT all_cases_count PARAMS ((tree, int *));
extern void check_for_full_enumeration_handling PARAMS ((tree));
extern void declare_nonlocal_label PARAMS ((tree));
+extern void default_flag_random_seed PARAMS ((void));
/* If KIND=='I', return a suitable global initializer (constructor) name.
If KIND=='D', return a suitable global clean-up (destructor) name. */
diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog
index 138a96dd8fa..f751d45c305 100644
--- a/gcc/treelang/ChangeLog
+++ b/gcc/treelang/ChangeLog
@@ -1,3 +1,46 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-03-02 Matthias Klose <doko@debian.org>
+
+ * Make-lang.in (treelang.install-info): Install all info
+ files in $(infodir).
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * treelang.texi: Update to GFDL 1.2.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (treelang.install.common.done)
+ (treelang.install-info, treelang.uninstall): Prepend
+ $(DESTDIR) to destination paths in all (un)installation
+ commands.
+
+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..2c1156c2c35 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:
@@ -163,24 +169,29 @@ treelang.install.common.done: installdirs treelang.done
do \
if [ -f $$name ] ; then \
name2="`echo \`basename $$name\` | sed -e '$(program_transform_name)' `"; \
- rm -f $(bindir)/$$name2$(exeext); \
- echo $(INSTALL_PROGRAM) $$name$(exeext) $(bindir)/$$name2$(exeext); \
- $(INSTALL_PROGRAM) $$name$(exeext) $(bindir)/$$name2$(exeext); \
- chmod a+x $(bindir)/$$name2$(exeext); \
+ rm -f $(DESTDIR)$(bindir)/$$name2$(exeext); \
+ echo $(INSTALL_PROGRAM) $$name$(exeext) $(DESTDIR)$(bindir)/$$name2$(exeext); \
+ $(INSTALL_PROGRAM) $$name$(exeext) $(DESTDIR)$(bindir)/$$name2$(exeext); \
+ chmod a+x $(DESTDIR)$(bindir)/$$name2$(exeext); \
fi ; \
done
$(STAMP) treelang.install.common.done
treelang.install-info: $(srcdir)/treelang/treelang.info
- for name in $(srcdir)/treelang/treelang.info; \
- do \
- if [ -f $$name ] ; then \
- name2="`echo \`basename $$name\` | sed -e '$(program_transform_name)' `"; \
- rm -f $(libsubdir)/$$name2$(exeext); \
- $(INSTALL_PROGRAM) $$name$(exeext) $(libsubdir)/$$name2$(exeext); \
- chmod a+x $(libsubdir)/$$name2$(exeext); \
- fi ; \
- done
+ if [ -f $(srcdir)/treelang/treelang.info ] ; then \
+ rm -f $(DESTDIR)$(infodir)/treelang.info*; \
+ for f in $(srcdir)/treelang/treelang.info*; do \
+ realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
+ done; \
+ chmod a-x $(DESTDIR)$(infodir)/treelang.info*; \
+ else true; fi
+ @if [ -f $(srcdir)/treelang/treelang.info ] ; then \
+ if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/treelang.info"; \
+ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/treelang.info || : ; \
+ else : ; fi; \
+ else : ; fi
treelang.install-man:
@@ -190,8 +201,8 @@ treelang.uninstall:
echo $$name; \
name2="`echo $$name | sed -e '$(program_transform_name)' `"; \
echo becomes $$name2; \
- echo -rm -rf $(bindir)/$$name2$(exeext); \
- rm -rf $(bindir)/$$name2$(exeext); \
+ echo -rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \
+ rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \
done
-rm treelang.install.common.done
diff --git a/gcc/treelang/treelang.texi b/gcc/treelang/treelang.texi
index 52bcb7ddd23..f58a6f8effd 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.2 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/tsystem.h b/gcc/tsystem.h
index 104c7663751..5b81e48c732 100644
--- a/gcc/tsystem.h
+++ b/gcc/tsystem.h
@@ -19,6 +19,14 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+
#ifndef GCC_TSYSTEM_H
#define GCC_TSYSTEM_H
diff --git a/gcc/unroll.c b/gcc/unroll.c
index a357ea209cf..38afd432faf 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -302,9 +302,11 @@ unroll_loop (loop, insn_count, strength_reduce_p)
jump to the loop condition. Make sure to delete the jump
insn, otherwise the loop body will never execute. */
+ /* FIXME this actually checks for a jump to the continue point, which
+ is not the same as the condition in a for loop. As a result, this
+ optimization fails for most for loops. We should really use flow
+ information rather than instruction pattern matching. */
rtx ujump = ujump_to_loop_cont (loop->start, loop->cont);
- if (ujump)
- delete_related_insns (ujump);
/* If number of iterations is exactly 1, then eliminate the compare and
branch at the end of the loop since they will never be taken.
@@ -316,9 +318,10 @@ unroll_loop (loop, insn_count, strength_reduce_p)
if (GET_CODE (last_loop_insn) == BARRIER)
{
/* Delete the jump insn. This will delete the barrier also. */
- delete_related_insns (PREV_INSN (last_loop_insn));
+ last_loop_insn = PREV_INSN (last_loop_insn);
}
- else if (GET_CODE (last_loop_insn) == JUMP_INSN)
+
+ if (ujump && GET_CODE (last_loop_insn) == JUMP_INSN)
{
#ifdef HAVE_cc0
rtx prev = PREV_INSN (last_loop_insn);
@@ -330,24 +333,27 @@ unroll_loop (loop, insn_count, strength_reduce_p)
if (only_sets_cc0_p (prev))
delete_related_insns (prev);
#endif
- }
- /* Remove the loop notes since this is no longer a loop. */
- if (loop->vtop)
- delete_related_insns (loop->vtop);
- if (loop->cont)
- delete_related_insns (loop->cont);
- if (loop_start)
- delete_related_insns (loop_start);
- if (loop_end)
- delete_related_insns (loop_end);
+ delete_related_insns (ujump);
- return;
+ /* Remove the loop notes since this is no longer a loop. */
+ if (loop->vtop)
+ delete_related_insns (loop->vtop);
+ if (loop->cont)
+ delete_related_insns (loop->cont);
+ if (loop_start)
+ delete_related_insns (loop_start);
+ if (loop_end)
+ delete_related_insns (loop_end);
+
+ return;
+ }
}
- else if (loop_info->n_iterations > 0
- /* Avoid overflow in the next expression. */
- && loop_info->n_iterations < (unsigned) MAX_UNROLLED_INSNS
- && loop_info->n_iterations * insn_count < (unsigned) MAX_UNROLLED_INSNS)
+
+ if (loop_info->n_iterations > 0
+ /* Avoid overflow in the next expression. */
+ && loop_info->n_iterations < (unsigned) MAX_UNROLLED_INSNS
+ && loop_info->n_iterations * insn_count < (unsigned) MAX_UNROLLED_INSNS)
{
unroll_number = loop_info->n_iterations;
unroll_type = UNROLL_COMPLETELY;
@@ -786,9 +792,9 @@ unroll_loop (loop, insn_count, strength_reduce_p)
/* We must limit the generic test to max_reg_before_loop, because only
these pseudo registers have valid regno_first_uid info. */
for (r = FIRST_PSEUDO_REGISTER; r < max_reg_before_loop; ++r)
- if (REGNO_FIRST_UID (r) > 0 && REGNO_FIRST_UID (r) <= max_uid_for_loop
+ if (REGNO_FIRST_UID (r) > 0 && REGNO_FIRST_UID (r) < max_uid_for_loop
&& REGNO_FIRST_LUID (r) >= copy_start_luid
- && REGNO_LAST_UID (r) > 0 && REGNO_LAST_UID (r) <= max_uid_for_loop
+ && REGNO_LAST_UID (r) > 0 && REGNO_LAST_UID (r) < max_uid_for_loop
&& REGNO_LAST_LUID (r) <= copy_end_luid)
{
/* However, we must also check for loop-carried dependencies.
@@ -1621,11 +1627,13 @@ calculate_giv_inc (pattern, src_insn, regno)
}
else if (GET_CODE (increment) == IOR
+ || GET_CODE (increment) == PLUS
|| GET_CODE (increment) == ASHIFT
- || GET_CODE (increment) == PLUS)
+ || GET_CODE (increment) == LSHIFTRT)
{
/* The rs6000 port loads some constants with IOR.
- The alpha port loads some constants with ASHIFT and PLUS. */
+ The alpha port loads some constants with ASHIFT and PLUS.
+ The sparc64 port loads some constants with LSHIFTRT. */
rtx second_part = XEXP (increment, 1);
enum rtx_code code = GET_CODE (increment);
@@ -1642,8 +1650,10 @@ calculate_giv_inc (pattern, src_insn, regno)
increment = GEN_INT (INTVAL (increment) | INTVAL (second_part));
else if (code == PLUS)
increment = GEN_INT (INTVAL (increment) + INTVAL (second_part));
- else
+ else if (code == ASHIFT)
increment = GEN_INT (INTVAL (increment) << INTVAL (second_part));
+ else
+ increment = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (increment) >> INTVAL (second_part));
}
if (GET_CODE (increment) != CONST_INT)
diff --git a/gcc/unwind-c.c b/gcc/unwind-c.c
new file mode 100644
index 00000000000..9ce09568988
--- /dev/null
+++ b/gcc/unwind-c.c
@@ -0,0 +1,186 @@
+/* Supporting functions for C exception handling.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Contributed by Aldy Hernandez <aldy@quesejoda.com>.
+ Shamelessly stolen from the Java front end.
+
+This file is part of GCC.
+
+GCC 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.
+
+GCC 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 GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+#include "tconfig.h"
+#include "tsystem.h"
+#include "unwind.h"
+#include "unwind-pe.h"
+
+typedef struct
+{
+ _Unwind_Ptr Start;
+ _Unwind_Ptr LPStart;
+ _Unwind_Ptr ttype_base;
+ const unsigned char *TType;
+ const unsigned char *action_table;
+ unsigned char ttype_encoding;
+ unsigned char call_site_encoding;
+} lsda_header_info;
+
+static const unsigned char *
+parse_lsda_header (struct _Unwind_Context *context, const unsigned char *p,
+ lsda_header_info *info)
+{
+ _Unwind_Word tmp;
+ unsigned char lpstart_encoding;
+
+ info->Start = (context ? _Unwind_GetRegionStart (context) : 0);
+
+ /* Find @LPStart, the base to which landing pad offsets are relative. */
+ lpstart_encoding = *p++;
+ if (lpstart_encoding != DW_EH_PE_omit)
+ p = read_encoded_value (context, lpstart_encoding, p, &info->LPStart);
+ else
+ info->LPStart = info->Start;
+
+ /* Find @TType, the base of the handler and exception spec type data. */
+ info->ttype_encoding = *p++;
+ if (info->ttype_encoding != DW_EH_PE_omit)
+ {
+ p = read_uleb128 (p, &tmp);
+ info->TType = p + tmp;
+ }
+ else
+ info->TType = 0;
+
+ /* The encoding and length of the call-site table; the action table
+ immediately follows. */
+ info->call_site_encoding = *p++;
+ p = read_uleb128 (p, &tmp);
+ info->action_table = p + tmp;
+
+ return p;
+}
+
+#ifdef __USING_SJLJ_EXCEPTIONS__
+#define PERSONALITY_FUNCTION __gcc_personality_sj0
+#define __builtin_eh_return_data_regno(x) x
+#else
+#define PERSONALITY_FUNCTION __gcc_personality_v0
+#endif
+#define PERSONALITY_FUNCTION __gcc_personality_v0
+
+_Unwind_Reason_Code
+PERSONALITY_FUNCTION (int, _Unwind_Action, _Unwind_Exception_Class,
+ struct _Unwind_Exception *, struct _Unwind_Context *);
+
+_Unwind_Reason_Code
+PERSONALITY_FUNCTION (int version,
+ _Unwind_Action actions,
+ _Unwind_Exception_Class exception_class ATTRIBUTE_UNUSED,
+ struct _Unwind_Exception *ue_header,
+ struct _Unwind_Context *context)
+{
+ lsda_header_info info;
+ const unsigned char *language_specific_data, *p, *action_record;
+ _Unwind_Ptr landing_pad, ip;
+
+ if (version != 1)
+ return _URC_FATAL_PHASE1_ERROR;
+
+ /* Currently we only support cleanups for C. */
+ if ((actions & _UA_CLEANUP_PHASE) == 0)
+ return _URC_CONTINUE_UNWIND;
+
+ language_specific_data = (const unsigned char *)
+ _Unwind_GetLanguageSpecificData (context);
+
+ /* If no LSDA, then there are no handlers or cleanups. */
+ if (! language_specific_data)
+ return _URC_CONTINUE_UNWIND;
+
+ /* Parse the LSDA header. */
+ p = parse_lsda_header (context, language_specific_data, &info);
+ ip = _Unwind_GetIP (context) - 1;
+ landing_pad = 0;
+
+#ifdef __USING_SJLJ_EXCEPTIONS__
+ /* The given "IP" is an index into the call-site table, with two
+ exceptions -- -1 means no-action, and 0 means terminate. But
+ since we're using uleb128 values, we've not got random access
+ to the array. */
+ if ((int) ip <= 0)
+ return _URC_CONTINUE_UNWIND;
+ else
+ {
+ _Unwind_Word cs_lp, cs_action;
+ do
+ {
+ p = read_uleb128 (p, &cs_lp);
+ p = read_uleb128 (p, &cs_action);
+ }
+ while (--ip);
+
+ /* Can never have null landing pad for sjlj -- that would have
+ been indicated by a -1 call site index. */
+ landing_pad = cs_lp + 1;
+ if (cs_action)
+ action_record = info.action_table + cs_action - 1;
+ goto found_something;
+ }
+#else
+ /* Search the call-site table for the action associated with this IP. */
+ while (p < info.action_table)
+ {
+ _Unwind_Ptr cs_start, cs_len, cs_lp;
+ _Unwind_Word cs_action;
+
+ /* Note that all call-site encodings are "absolute" displacements. */
+ p = read_encoded_value (0, info.call_site_encoding, p, &cs_start);
+ p = read_encoded_value (0, info.call_site_encoding, p, &cs_len);
+ p = read_encoded_value (0, info.call_site_encoding, p, &cs_lp);
+ p = read_uleb128 (p, &cs_action);
+
+ /* The table is sorted, so if we've passed the ip, stop. */
+ if (ip < info.Start + cs_start)
+ p = info.action_table;
+ else if (ip < info.Start + cs_start + cs_len)
+ {
+ if (cs_lp)
+ landing_pad = info.LPStart + cs_lp;
+ if (cs_action)
+ action_record = info.action_table + cs_action - 1;
+ goto found_something;
+ }
+ }
+
+#endif
+
+ /* IP is not in table. No associated cleanups. */
+ /* ??? This is where C++ calls std::terminate to catch throw
+ from a destructor. */
+ return _URC_CONTINUE_UNWIND;
+
+ found_something:
+ if (landing_pad == 0)
+ {
+ /* IP is present, but has a null landing pad.
+ No handler to be run. */
+ return _URC_CONTINUE_UNWIND;
+ }
+
+ _Unwind_SetGR (context, __builtin_eh_return_data_regno (0),
+ (_Unwind_Ptr) ue_header);
+ _Unwind_SetGR (context, __builtin_eh_return_data_regno (1), 0);
+ _Unwind_SetIP (context, landing_pad);
+ return _URC_INSTALL_CONTEXT;
+}
diff --git a/gcc/unwind-dw2-fde-darwin.c b/gcc/unwind-dw2-fde-darwin.c
index 77e44e852ad..630ffafab6d 100644
--- a/gcc/unwind-dw2-fde-darwin.c
+++ b/gcc/unwind-dw2-fde-darwin.c
@@ -86,12 +86,18 @@ enum {
ALLOCED_IMAGE_MASK = 2, /* The FDE entries were allocated by
malloc, and must be freed. This isn't
used by newer libgcc versions. */
- IMAGE_IS_TEXT_MASK = 4 /* This image is in the TEXT segment. */
+ IMAGE_IS_TEXT_MASK = 4, /* This image is in the TEXT segment. */
+ DESTRUCTOR_MAY_BE_CALLED_LIVE = 8 /* The destructor may be called on an
+ object that's part of the live
+ image list. */
};
-/* Delete any data we allocated on a live_images structure.
- IMAGE has already been removed from the KEYMGR_GCC3_LIVE_IMAGE_LIST.
- Called by KeyMgr (which will delete the struct after we return.) */
+/* Delete any data we allocated on a live_images structure. Either
+ IMAGE has already been removed from the
+ KEYMGR_GCC3_LIVE_IMAGE_LIST and the struct will be deleted
+ after we return, or that list is locked and we're being called
+ because this object might be about to be unloaded. Called by
+ KeyMgr. */
static void
live_image_destructor (struct live_images *image)
@@ -105,7 +111,10 @@ live_image_destructor (struct live_images *image)
image->object_info = NULL;
if (image->examined_p & ALLOCED_IMAGE_MASK)
free (image->fde);
+ image->fde = NULL;
}
+ image->examined_p = 0;
+ image->destructor = NULL;
}
/* Run through the list of live images. If we can allocate memory,
@@ -165,7 +174,8 @@ examine_objects (void *pc, struct dwarf_eh_bases *bases, int dont_alloc)
image->destructor = live_image_destructor;
image->object_info = ob;
- image->examined_p |= EXAMINED_IMAGE_MASK;
+ image->examined_p |= (EXAMINED_IMAGE_MASK
+ | DESTRUCTOR_MAY_BE_CALLED_LIVE);
}
image->fde = real_fde;
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..6d7219eeca1 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.
@@ -166,6 +166,14 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index)
return * (_Unwind_Word *) context->reg[index];
}
+/* Get the value of the CFA as saved in CONTEXT. */
+
+_Unwind_Word
+_Unwind_GetCFA (struct _Unwind_Context *context)
+{
+ return (_Unwind_Ptr) context->cfa;
+}
+
/* Overwrite the saved value for register REG in CONTEXT with VAL. */
inline void
@@ -692,7 +700,7 @@ execute_stack_op (const unsigned char *op_ptr, const unsigned char *op_end,
/* Most things push a result value. */
if ((size_t) stack_elt >= sizeof(stack)/sizeof(*stack))
abort ();
- stack[++stack_elt] = result;
+ stack[stack_elt++] = result;
no_push:;
}
@@ -782,6 +790,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;
@@ -839,17 +850,17 @@ execute_cfa_program (const unsigned char *insn_ptr,
break;
case DW_CFA_def_cfa_expression:
- insn_ptr = read_uleb128 (insn_ptr, &utmp);
fs->cfa_exp = insn_ptr;
fs->cfa_how = CFA_EXP;
+ insn_ptr = read_uleb128 (insn_ptr, &utmp);
insn_ptr += utmp;
break;
case DW_CFA_expression:
insn_ptr = read_uleb128 (insn_ptr, &reg);
- insn_ptr = read_uleb128 (insn_ptr, &utmp);
fs->regs.reg[reg].how = REG_SAVED_EXP;
fs->regs.reg[reg].loc.exp = insn_ptr;
+ insn_ptr = read_uleb128 (insn_ptr, &utmp);
insn_ptr += utmp;
break;
@@ -1038,34 +1049,48 @@ uw_update_context_1 (struct _Unwind_Context *context, _Unwind_FrameState *fs)
void *cfa;
long i;
+#ifdef EH_RETURN_STACKADJ_RTX
+ /* Special handling here: Many machines do not use a frame pointer,
+ and track the CFA only through offsets from the stack pointer from
+ one frame to the next. In this case, the stack pointer is never
+ stored, so it has no saved address in the context. What we do
+ have is the CFA from the previous stack frame.
+
+ In very special situations (such as unwind info for signal return),
+ there may be location expressions that use the stack pointer as well.
+
+ Do this conditionally for one frame. This allows the unwind info
+ for one frame to save a copy of the stack pointer from the previous
+ frame, and be able to use much easier CFA mechanisms to do it.
+ Always zap the saved stack pointer value for the next frame; carrying
+ the value over from one frame to another doesn't make sense. */
+
+ _Unwind_Word tmp_sp;
+
+ if (!orig_context.reg[__builtin_dwarf_sp_column ()])
+ {
+ tmp_sp = (_Unwind_Ptr) context->cfa;
+ orig_context.reg[__builtin_dwarf_sp_column ()] = &tmp_sp;
+ }
+ context->reg[__builtin_dwarf_sp_column ()] = NULL;
+#endif
+
/* Compute this frame's CFA. */
switch (fs->cfa_how)
{
case CFA_REG_OFFSET:
- /* Special handling here: Many machines do not use a frame pointer,
- and track the CFA only through offsets from the stack pointer from
- one frame to the next. In this case, the stack pointer is never
- stored, so it has no saved address in the context. What we do
- have is the CFA from the previous stack frame. */
- if (context->reg[fs->cfa_reg] == NULL)
- cfa = context->cfa;
- else
- cfa = (void *) (_Unwind_Ptr) _Unwind_GetGR (context, fs->cfa_reg);
+ cfa = (void *) (_Unwind_Ptr) _Unwind_GetGR (&orig_context, fs->cfa_reg);
cfa += fs->cfa_offset;
break;
case CFA_EXP:
- /* ??? No way of knowing what register number is the stack pointer
- to do the same sort of handling as above. Assume that if the
- CFA calculation is so complicated as to require a stack program
- that this will not be a problem. */
{
const unsigned char *exp = fs->cfa_exp;
_Unwind_Word len;
exp = read_uleb128 (exp, &len);
cfa = (void *) (_Unwind_Ptr)
- execute_stack_op (exp, exp + len, context, 0);
+ execute_stack_op (exp, exp + len, &orig_context, 0);
break;
}
@@ -1080,12 +1105,15 @@ uw_update_context_1 (struct _Unwind_Context *context, _Unwind_FrameState *fs)
{
case REG_UNSAVED:
break;
+
case REG_SAVED_OFFSET:
context->reg[i] = cfa + fs->regs.reg[i].loc.offset;
break;
+
case REG_SAVED_REG:
context->reg[i] = orig_context.reg[fs->regs.reg[i].loc.reg];
break;
+
case REG_SAVED_EXP:
{
const unsigned char *exp = fs->regs.reg[i].loc.exp;
@@ -1137,6 +1165,7 @@ uw_init_context_1 (struct _Unwind_Context *context,
{
void *ra = __builtin_extract_return_addr (__builtin_return_address (0));
_Unwind_FrameState fs;
+ _Unwind_Word sp_slot;
memset (context, 0, sizeof (struct _Unwind_Context));
context->ra = ra;
@@ -1145,9 +1174,10 @@ uw_init_context_1 (struct _Unwind_Context *context,
abort ();
/* Force the frame state to use the known cfa value. */
- context->cfa = outer_cfa;
+ sp_slot = (_Unwind_Ptr) outer_cfa;
+ context->reg[__builtin_dwarf_sp_column ()] = &sp_slot;
fs.cfa_how = CFA_REG_OFFSET;
- fs.cfa_reg = 0;
+ fs.cfa_reg = __builtin_dwarf_sp_column ();
fs.cfa_offset = 0;
uw_update_context_1 (context, &fs);
@@ -1204,11 +1234,26 @@ uw_install_context_1 (struct _Unwind_Context *current,
memcpy (c, t, dwarf_reg_size_table[i]);
}
- /* We adjust SP by the difference between CURRENT and TARGET's CFA. */
- if (STACK_GROWS_DOWNWARD)
- return target->cfa - current->cfa + target->args_size;
- else
- return current->cfa - target->cfa - target->args_size;
+#ifdef EH_RETURN_STACKADJ_RTX
+ {
+ void *target_cfa;
+
+ /* If the last frame records a saved stack pointer, use it. */
+ if (target->reg[__builtin_dwarf_sp_column ()])
+ target_cfa = (void *)(_Unwind_Ptr)
+ _Unwind_GetGR (target, __builtin_dwarf_sp_column ());
+ else
+ target_cfa = target->cfa;
+
+ /* We adjust SP by the difference between CURRENT and TARGET's CFA. */
+ if (STACK_GROWS_DOWNWARD)
+ return target_cfa - current->cfa + target->args_size;
+ else
+ return current->cfa - target_cfa - target->args_size;
+ }
+#else
+ return 0;
+#endif
}
static inline _Unwind_Ptr
diff --git a/gcc/unwind-sjlj.c b/gcc/unwind-sjlj.c
index e1063b4a9c1..7b523384647 100644
--- a/gcc/unwind-sjlj.c
+++ b/gcc/unwind-sjlj.c
@@ -174,6 +174,15 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index)
return context->fc->data[index];
}
+/* Get the value of the CFA as saved in CONTEXT. */
+
+_Unwind_Word
+_Unwind_GetCFA (struct _Unwind_Context *context)
+{
+ /* ??? Ideally __builtin_setjmp places the CFA in the jmpbuf. */
+ return NULL;
+}
+
void
_Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val)
{
@@ -280,6 +289,7 @@ uw_identify_context (struct _Unwind_Context *context)
#define _Unwind_RaiseException _Unwind_SjLj_RaiseException
#define _Unwind_ForcedUnwind _Unwind_SjLj_ForcedUnwind
#define _Unwind_Resume _Unwind_SjLj_Resume
+#define _Unwind_Resume_or_Rethrow _Unwind_SjLj_Resume_or_Rethrow
#include "unwind.inc"
diff --git a/gcc/unwind.h b/gcc/unwind.h
index 218181c218c..af4e8afedc6 100644
--- a/gcc/unwind.h
+++ b/gcc/unwind.h
@@ -1,5 +1,5 @@
/* Exception handling and frame unwind runtime interface routines.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -18,6 +18,13 @@
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+/* As a special exception, if you include this header file into source
+ files compiled by GCC, this header file does not by itself cause
+ the resulting executable to be covered by the GNU General Public
+ License. This exception does not however invalidate any other
+ reasons why the executable file might be covered by the GNU General
+ Public License. */
+
/* This is derived from the C++ ABI for IA-64. Where we diverge
for cross-architecture compatibility are noted with "@@@". */
@@ -120,6 +127,18 @@ extern void _Unwind_DeleteException (struct _Unwind_Exception *);
e.g. executing cleanup code, and not to implement rethrowing. */
extern void _Unwind_Resume (struct _Unwind_Exception *);
+/* @@@ Resume propagation of an FORCE_UNWIND exception, or to rethrow
+ a normal exception that was handled. */
+extern _Unwind_Reason_Code _Unwind_Resume_or_Rethrow (struct _Unwind_Exception *);
+
+/* @@@ Use unwind data to perform a stack backtrace. The trace callback
+ is called for every stack frame in the call chain, but no cleanup
+ actions are performed. */
+typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)
+ (struct _Unwind_Context *, void *);
+
+extern _Unwind_Reason_Code _Unwind_Backtrace (_Unwind_Trace_Fn, void *);
+
/* These functions are used for communicating information about the unwind
context (i.e. the unwind descriptors and the user register state) between
the unwind library and the personality routine and landing pad. Only
@@ -131,6 +150,9 @@ extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);
extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
+/* @@@ Retrieve the CFA of the given context. */
+extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
+
extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
@@ -166,6 +188,7 @@ extern _Unwind_Reason_Code _Unwind_SjLj_RaiseException
extern _Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind
(struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
extern void _Unwind_SjLj_Resume (struct _Unwind_Exception *);
+extern _Unwind_Reason_Code _Unwind_SjLj_Resume_or_Rethrow (struct _Unwind_Exception *);
/* @@@ The following provide access to the base addresses for text
and data-relative addressing in the LDSA. In order to stay link
diff --git a/gcc/unwind.inc b/gcc/unwind.inc
index 0422cb81a03..0938d501f5f 100644
--- a/gcc/unwind.inc
+++ b/gcc/unwind.inc
@@ -232,10 +232,73 @@ _Unwind_Resume (struct _Unwind_Exception *exc)
uw_install_context (&this_context, &cur_context);
}
+
+/* Resume propagation of an FORCE_UNWIND exception, or to rethrow
+ a normal exception that was handled. */
+
+_Unwind_Reason_Code
+_Unwind_Resume_or_Rethrow (struct _Unwind_Exception *exc)
+{
+ struct _Unwind_Context this_context, cur_context;
+ _Unwind_Reason_Code code;
+
+ /* Choose between continuing to process _Unwind_RaiseException
+ or _Unwind_ForcedUnwind. */
+ if (exc->private_1 == 0)
+ return _Unwind_RaiseException (exc);
+
+ uw_init_context (&this_context);
+ cur_context = this_context;
+
+ code = _Unwind_ForcedUnwind_Phase2 (exc, &cur_context);
+
+ if (code != _URC_INSTALL_CONTEXT)
+ abort ();
+
+ uw_install_context (&this_context, &cur_context);
+}
+
+
/* A convenience function that calls the exception_cleanup field. */
void
_Unwind_DeleteException (struct _Unwind_Exception *exc)
{
- (*exc->exception_cleanup) (_URC_FOREIGN_EXCEPTION_CAUGHT, exc);
+ if (exc->exception_cleanup)
+ (*exc->exception_cleanup) (_URC_FOREIGN_EXCEPTION_CAUGHT, exc);
+}
+
+
+/* Perform stack backtrace through unwind data. */
+
+_Unwind_Reason_Code
+_Unwind_Backtrace(_Unwind_Trace_Fn trace, void * trace_argument)
+{
+ struct _Unwind_Context context;
+ _Unwind_Reason_Code code;
+
+ uw_init_context (&context);
+
+ while (1)
+ {
+ _Unwind_FrameState fs;
+
+ /* Set up fs to describe the FDE for the caller of context. */
+ code = uw_frame_state_for (&context, &fs);
+ if (code != _URC_NO_REASON && code != _URC_END_OF_STACK)
+ return _URC_FATAL_PHASE1_ERROR;
+
+ /* Call trace function. */
+ if ((*trace) (&context, trace_argument) != _URC_NO_REASON)
+ return _URC_FATAL_PHASE1_ERROR;
+
+ /* We're done at end of stack. */
+ if (code == _URC_END_OF_STACK)
+ break;
+
+ /* Update context to describe the same frame as fs. */
+ uw_update_context (&context, &fs);
+ }
+
+ return code;
}
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 8b321af8296..94be2d425e7 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.
@@ -1586,6 +1586,8 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
else if (DECL_INITIAL (decl) == 0
|| DECL_INITIAL (decl) == error_mark_node
|| (flag_zero_initialized_in_bss
+ /* Leave constant zeroes in .rodata so they can be shared. */
+ && !TREE_READONLY (decl)
&& initializer_zerop (DECL_INITIAL (decl))))
{
unsigned HOST_WIDE_INT size = tree_low_cst (DECL_SIZE_UNIT (decl), 1);
@@ -2148,7 +2150,11 @@ struct rtx_const GTY(())
ENUM_BITFIELD(machine_mode) mode : 16;
union rtx_const_un {
REAL_VALUE_TYPE du;
- struct addr_const GTY ((tag ("1"))) addr;
+ struct rtx_const_u_addr {
+ rtx base;
+ const char *symbol;
+ HOST_WIDE_INT offset;
+ } GTY ((tag ("1"))) addr;
struct rtx_const_u_di {
HOST_WIDE_INT high;
HOST_WIDE_INT low;
@@ -2859,9 +2865,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;
@@ -3081,13 +3084,12 @@ decode_rtx_const (mode, x, value)
if (value->kind >= RTX_INT && value->un.addr.base != 0)
switch (GET_CODE (value->un.addr.base))
{
-#if 0
case SYMBOL_REF:
/* Use the string's address, not the SYMBOL_REF's address,
for the sake of addresses of library routines. */
- value->un.addr.base = (rtx) XSTR (value->un.addr.base, 0);
+ value->un.addr.symbol = XSTR (value->un.addr.base, 0);
+ value->un.addr.base = NULL_RTX;
break;
-#endif
case LABEL_REF:
/* For a LABEL_REF, compare labels. */
@@ -3112,7 +3114,8 @@ simplify_subtraction (x)
if (val0.kind >= RTX_INT
&& val0.kind == val1.kind
- && val0.un.addr.base == val1.un.addr.base)
+ && val0.un.addr.base == val1.un.addr.base
+ && val0.un.addr.symbol == val1.un.addr.symbol)
return GEN_INT (val0.un.addr.offset - val1.un.addr.offset);
return x;
@@ -4660,12 +4663,13 @@ default_assemble_visibility (decl, vis)
const char *name, *type;
- name = (* targetm.strip_name_encoding)
- (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
+ name = (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
type = visibility_types[vis];
#ifdef HAVE_GAS_HIDDEN
- fprintf (asm_out_file, "\t.%s\t%s\n", type, name);
+ fprintf (asm_out_file, "\t.%s\t", type);
+ assemble_name (asm_out_file, name);
+ fprintf (asm_out_file, "\n");
#else
warning ("visibility attribute not supported in this configuration; ignored");
#endif
diff --git a/gcc/version.c b/gcc/version.c
index 0e2662e910f..0d31a29dc26 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.1 20030624 (prerelease)";
/* This is the location of the online document giving instructions for
reporting bugs. If you distribute a modified version of GCC,
@@ -15,4 +15,4 @@ const char version_string[] = "3.3 20021213 (experimental)";
forward us bugs reported to you, if you determine that they are
not bugs in your modifications.) */
-const char bug_report_url[] = "<URL:http://www.gnu.org/software/gcc/bugs.html>";
+const char bug_report_url[] = "<URL:http://gcc.gnu.org/bugs.html>";
diff --git a/include/ChangeLog b/include/ChangeLog
index f6b05bb7e51..6e67b3b12d7 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,31 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
+ ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2,
+ ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4,
+ ATTRIBUTE_NULL_PRINTF_5): New.
+ (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL.
+
+2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Document return value of physmem routines.
+
+2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (physmem_total, physmem_available): Prototype.
+
2002-11-23 Simon Burge <simonb@wasabisystems.com>
* libiberty.h (basename): Add NetBSD to the list.
diff --git a/include/ansidecl.h b/include/ansidecl.h
index d169b4f50ed..f8f2d737bf0 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -268,8 +268,21 @@ So instead we use the macro below and test it against specific values. */
#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
#endif /* ATTRIBUTE_NORETURN */
+/* Attribute `nonnull' was valid as of gcc 3.3. */
+#ifndef ATTRIBUTE_NONNULL
+# if (GCC_VERSION >= 3003)
+# define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m)))
+# else
+# define ATTRIBUTE_NONNULL(m)
+# endif /* GNUC >= 3.3 */
+#endif /* ATTRIBUTE_NONNULL */
+
+/* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL.
+ This was the case for the `printf' format attribute by itself
+ before GCC 3.3, but as of 3.3 we need to add the `nonnull'
+ attribute to retain this behavior. */
#ifndef ATTRIBUTE_PRINTF
-#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
+#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) ATTRIBUTE_NONNULL(m)
#define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2)
#define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3)
#define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4)
@@ -277,6 +290,21 @@ So instead we use the macro below and test it against specific values. */
#define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6)
#endif /* ATTRIBUTE_PRINTF */
+/* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL. A
+ NULL format specifier was allowed as of gcc 3.3. */
+#ifndef ATTRIBUTE_NULL_PRINTF
+# if (GCC_VERSION >= 3003)
+# define ATTRIBUTE_NULL_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
+# else
+# define ATTRIBUTE_NULL_PRINTF(m, n)
+# endif /* GNUC >= 3.3 */
+# define ATTRIBUTE_NULL_PRINTF_1 ATTRIBUTE_NULL_PRINTF(1, 2)
+# define ATTRIBUTE_NULL_PRINTF_2 ATTRIBUTE_NULL_PRINTF(2, 3)
+# define ATTRIBUTE_NULL_PRINTF_3 ATTRIBUTE_NULL_PRINTF(3, 4)
+# define ATTRIBUTE_NULL_PRINTF_4 ATTRIBUTE_NULL_PRINTF(4, 5)
+# define ATTRIBUTE_NULL_PRINTF_5 ATTRIBUTE_NULL_PRINTF(5, 6)
+#endif /* ATTRIBUTE_NULL_PRINTF */
+
/* We use __extension__ in some places to suppress -pedantic warnings
about GCC extensions. This feature didn't work properly before
gcc 2.8. */
diff --git a/include/libiberty.h b/include/libiberty.h
index f9916c58c73..53cfc21d78f 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -242,6 +242,10 @@ extern char *xstrdup PARAMS ((const char *)) ATTRIBUTE_MALLOC;
extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC;
+/* Physical memory routines. Return values are in BYTES. */
+extern double physmem_total PARAMS ((void));
+extern double physmem_available PARAMS ((void));
+
/* hex character manipulation routines */
#define _hex_array_size 256
diff --git a/libf2c/ChangeLog b/libf2c/ChangeLog
index 12c566ee949..a1125979d88 100644
--- a/libf2c/ChangeLog
+++ b/libf2c/ChangeLog
@@ -1,3 +1,54 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-04-23 Loren J. Rittle <ljrittle@acm.org>
+
+ * libI77/configure.in (_XOPEN_SOURCE): Bump to 600.
+ * libI77/configure: Regenerate.
+ * libU77/configure.in (_XOPEN_SOURCE): Bump to 600.
+ * libU77/configure: Regenerate.
+
+2003-04-11 Bud Davis <bdavis9659@comcast.net>
+
+ PR Fortran/1832
+ * libf2c/libI77/iio.c (z_putc): Check for overflowing length
+ of output string.
+
+2003-03-24 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/10197
+ * libI77/open.c (f_open): A DIRECT ACCESS file is
+ UNFORMATTED by default.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in ($(LIBG2C)): -rpath is glibcpp_toolexeclibdir.
+ * aclocal.m4 (glibcpp_toolexeclibdir): Instead of
+ $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
+ version_specific_libs is enabled.
+ * configure: Rebuilt.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
+ (install, uninstall): Prepend $(DESTDIR) to destination
+ paths in all (un)installation commands.
+
2002-11-19 Toon Moene <toon@moene.indiv.nluug.nl>
PR fortran/8587
diff --git a/libf2c/Makefile.in b/libf2c/Makefile.in
index 5806a0b9594..4aae68f0b9e 100644
--- a/libf2c/Makefile.in
+++ b/libf2c/Makefile.in
@@ -1,5 +1,5 @@
# Makefile for GNU F77 compiler runtime.
-# Copyright (C) 1995-1998, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1995-1998, 2001, 2002, 2003 Free Software Foundation, Inc.
# Contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GNU Fortran.
@@ -81,6 +81,7 @@ FLAGS_TO_PASS= \
WARN_CFLAGS='$(WARN_CFLAGS)' \
CFLAGS='$(CFLAGS)' \
CPPFLAGS='$(CPPFLAGS)' \
+ DESTDIR='$(DESTDIR)' \
AR='$(AR)' \
RANLIB='$(RANLIB)' \
prefix='$(prefix)' \
@@ -152,7 +153,7 @@ i77 f77 u77: g2c.h
$(LIBG2C): s-libi77 s-libf77 s-libu77 s-libe77
$(LIBTOOL) --mode=link $(CC) -o $@ \
-version-info $(VERSION_MAJOR):$(VERSION_MINOR):$(VERSION_SUB) \
- -rpath $(libdir)$(MULTISUBDIR) \
+ -rpath $(glibcpp_toolexeclibdir) \
-objectlist s-libe77 \
-objectlist s-libf77 \
-objectlist s-libi77 \
@@ -214,21 +215,21 @@ check:
cd libU77; $(MAKE) G77DIR=../../../gcc/ check
install: all
- $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(glibcpp_toolexeclibdir)
- $(LIBTOOL) --mode=install $(INSTALL) $(LIBG2C) $(glibcpp_toolexeclibdir)
- $(INSTALL_DATA) libfrtbegin.a $(glibcpp_toolexeclibdir)
- $(RANLIB) $(glibcpp_toolexeclibdir)/libfrtbegin.a
- $(INSTALL_DATA) g2c.h $(libsubdir)/include/g2c.h
+ $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(DESTDIR)$(glibcpp_toolexeclibdir)
+ $(LIBTOOL) --mode=install $(INSTALL) $(LIBG2C) $(DESTDIR)$(glibcpp_toolexeclibdir)
+ $(INSTALL_DATA) libfrtbegin.a $(DESTDIR)$(glibcpp_toolexeclibdir)
+ $(RANLIB) $(DESTDIR)$(glibcpp_toolexeclibdir)/libfrtbegin.a
+ $(INSTALL_DATA) g2c.h $(DESTDIR)$(libsubdir)/include/g2c.h
$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@"
- @-$(LIBTOOL) --mode=finish $(glibcpp_toolexeclibdir)
+ @-$(LIBTOOL) --mode=finish $(DESTDIR)$(glibcpp_toolexeclibdir)
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
uninstall:
- rm -f $(libsubdir)/include/g2c.h
- rm -f $(glibcpp_toolexeclibdir)/libfrtbegin.a
- $(LIBTOOL) --mode=uninstall rm -f $(glibcpp_toolexeclibdir)$(LIBG2C_BASE).la
+ rm -f $(DESTDIR)$(libsubdir)/include/g2c.h
+ rm -f $(DESTDIR)$(glibcpp_toolexeclibdir)/libfrtbegin.a
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(glibcpp_toolexeclibdir)$(LIBG2C_BASE).la
$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@"
mostlyclean:
diff --git a/libf2c/aclocal.m4 b/libf2c/aclocal.m4
index b7d61e3c5a0..5d39edcfcbe 100644
--- a/libf2c/aclocal.m4
+++ b/libf2c/aclocal.m4
@@ -207,11 +207,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
AC_SUBST(glibcpp_prefixdir)
diff --git a/libf2c/configure b/libf2c/configure
index af8502045c8..0d19de5b28f 100755
--- a/libf2c/configure
+++ b/libf2c/configure
@@ -49,7 +49,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -164,7 +163,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -335,11 +333,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -505,16 +498,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -642,7 +631,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:646: checking host system type" >&5
+echo "configure:635: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -663,7 +652,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:667: checking target system type" >&5
+echo "configure:656: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -681,7 +670,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:685: checking build system type" >&5
+echo "configure:674: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -713,12 +702,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:717: checking for Cygwin environment" >&5
+echo "configure:706: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 722 "configure"
+#line 711 "configure"
#include "confdefs.h"
int main() {
@@ -729,7 +718,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -746,19 +735,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:750: checking for mingw32 environment" >&5
+echo "configure:739: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 755 "configure"
+#line 744 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -793,7 +782,7 @@ esac
# be 'cp -p' if linking isn't available.
#ac_cv_prog_LN_S='cp -p'
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:797: checking whether ln -s works" >&5
+echo "configure:786: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -849,7 +838,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:853: checking for $ac_word" >&5
+echo "configure:842: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -879,7 +868,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:883: checking for $ac_word" >&5
+echo "configure:872: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -928,7 +917,7 @@ fi
fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:932: checking whether we are using GNU C" >&5
+echo "configure:921: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -937,7 +926,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:941: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:930: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -952,7 +941,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:956: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:945: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -983,7 +972,7 @@ fi
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:987: checking for $ac_word" >&5
+echo "configure:976: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1015,7 +1004,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1019: checking for $ac_word" >&5
+echo "configure:1008: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1047,7 +1036,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1051: checking for $ac_word" >&5
+echo "configure:1040: 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
@@ -1079,7 +1068,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1083: checking for $ac_word" >&5
+echo "configure:1072: 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
@@ -1123,7 +1112,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:1127: checking for a BSD compatible install" >&5
+echo "configure:1116: 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
@@ -1191,7 +1180,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1195: checking for executable suffix" >&5
+echo "configure:1184: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1201,10 +1190,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -1231,13 +1220,13 @@ glibcpp_toolexeclibdir=no
glibcpp_prefixdir=${prefix}
echo $ac_n "checking for interface version number""... $ac_c" 1>&6
-echo "configure:1235: checking for interface version number" >&5
+echo "configure:1224: checking for interface version number" >&5
libstdcxx_interface=$INTERFACE
echo "$ac_t""$libstdcxx_interface" 1>&6
# Process the option "--enable-version-specific-runtime-libs"
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
-echo "configure:1241: checking for --enable-version-specific-runtime-libs" >&5
+echo "configure:1230: checking for --enable-version-specific-runtime-libs" >&5
# Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
if test "${enable_version_specific_runtime_libs+set}" = set; then
enableval="$enable_version_specific_runtime_libs"
@@ -1272,11 +1261,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
@@ -1291,7 +1281,7 @@ fi
compiler_name=f771
rm -f skip-this-dir
echo $ac_n "checking if compiler $compiler_name has been built""... $ac_c" 1>&6
-echo "configure:1295: checking if compiler $compiler_name has been built" >&5
+echo "configure:1285: checking if compiler $compiler_name has been built" >&5
if eval "test \"`echo '$''{'g77_cv_compiler_exists'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1399,7 +1389,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1403: checking for ld used by GCC" >&5
+echo "configure:1393: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1429,10 +1419,10 @@ echo "configure:1403: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1433: checking for GNU ld" >&5
+echo "configure:1423: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1436: checking for non-GNU ld" >&5
+echo "configure:1426: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1467,7 +1457,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1471: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1461: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1484,7 +1474,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1488: checking for $LD option to reload object files" >&5
+echo "configure:1478: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1496,7 +1486,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1500: checking for BSD-compatible nm" >&5
+echo "configure:1490: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1534,7 +1524,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1538: checking how to recognise dependant libraries" >&5
+echo "configure:1528: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1707,13 +1697,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1711: checking for object suffix" >&5
+echo "configure:1701: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1707: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1737,7 +1727,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1741: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1731: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1799,7 +1789,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1803: checking for file" >&5
+echo "configure:1793: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1870,7 +1860,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1874: checking for $ac_word" >&5
+echo "configure:1864: 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
@@ -1902,7 +1892,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1906: checking for $ac_word" >&5
+echo "configure:1896: 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
@@ -1937,7 +1927,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1941: checking for $ac_word" >&5
+echo "configure:1931: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1969,7 +1959,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1973: checking for $ac_word" >&5
+echo "configure:1963: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2036,8 +2026,21 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 2040 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2041: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 2030 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:2031: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -2049,6 +2052,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -2056,7 +2060,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2060: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2069,12 +2073,54 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo configure:2080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2078: checking whether the C compiler needs -belf" >&5
+echo "configure:2124: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2087,14 +2133,14 @@ 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 2091 "configure"
+#line 2137 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2218,7 +2264,7 @@ else
# 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:2222: checking for $ac_word" >&5
+echo "configure:2268: 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
@@ -2258,7 +2304,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:2262: checking for a BSD compatible install" >&5
+echo "configure:2308: 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
@@ -2311,7 +2357,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:2315: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:2361: 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
@@ -2340,7 +2386,7 @@ fi
# Sanity check for the cross-compilation case:
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2344: checking how to run the C preprocessor" >&5
+echo "configure:2390: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2355,13 +2401,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 2359 "configure"
+#line 2405 "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:2365: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2411: \"$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
:
@@ -2372,13 +2418,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2376 "configure"
+#line 2422 "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:2382: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2428: \"$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
:
@@ -2389,13 +2435,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2393 "configure"
+#line 2439 "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:2399: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2445: \"$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
:
@@ -2421,17 +2467,17 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "stdio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for stdio.h""... $ac_c" 1>&6
-echo "configure:2425: checking for stdio.h" >&5
+echo "configure:2471: checking for stdio.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 2430 "configure"
+#line 2476 "configure"
#include "confdefs.h"
#include <stdio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2435: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2481: \"$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*
@@ -2459,12 +2505,12 @@ fi
echo $ac_n "checking for built-in g77 integer types""... $ac_c" 1>&6
-echo "configure:2463: checking for built-in g77 integer types" >&5
+echo "configure:2509: checking for built-in g77 integer types" >&5
if eval "test \"`echo '$''{'libf2c_cv_has_g77_builtin_types'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2468 "configure"
+#line 2514 "configure"
#include "confdefs.h"
int main() {
@@ -2474,7 +2520,7 @@ __g77_longint g77l;
__g77_ulongint g77ul;
; return 0; }
EOF
-if { (eval echo configure:2478: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2524: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libf2c_cv_has_g77_builtin_types=yes
else
@@ -2571,15 +2617,34 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
# Without the "./", some shells look in PATH for config.status.
@@ -2798,6 +2863,7 @@ with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
toplevel_srcdir=${toplevel_srcdir}
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
EOF
cat >> $CONFIG_STATUS <<\EOF
diff --git a/libf2c/configure.in b/libf2c/configure.in
index 8b2e26ab8e4..6ba14c93a76 100644
--- a/libf2c/configure.in
+++ b/libf2c/configure.in
@@ -1,5 +1,6 @@
# Process this file with autoconf to produce a configure script.
-# Copyright (C) 1995, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1997, 1998, 1999, 2002, 2003
+# Free Software Foundation, Inc.
# Contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GNU Fortran.
@@ -137,6 +138,7 @@ with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
toplevel_srcdir=${toplevel_srcdir}
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
)
diff --git a/libf2c/libI77/configure b/libf2c/libI77/configure
index 7bca4a73988..ee4c73ae433 100755
--- a/libf2c/libI77/configure
+++ b/libf2c/libI77/configure
@@ -28,6 +28,7 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
+sitefile=
srcdir=
target=NONE
verbose=
@@ -142,6 +143,7 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -312,6 +314,11 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -477,12 +484,16 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
fi
+else
+ CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -530,7 +541,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:534: checking for $ac_word" >&5
+echo "configure:545: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -560,7 +571,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:564: checking for $ac_word" >&5
+echo "configure:575: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -611,7 +622,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:615: checking for $ac_word" >&5
+echo "configure:626: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -644,7 +655,7 @@ fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:648: checking whether we are using GNU C" >&5
+echo "configure:659: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -653,7 +664,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:657: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -672,7 +683,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:676: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:687: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -705,20 +716,20 @@ fi
# These defines are necessary to get 64-bit file size support.
-# NetBSD 1.4 header files does not support XOPEN_SOURCE == 500, but it
+# NetBSD 1.4 header files does not support XOPEN_SOURCE == 600, but it
# handles 64-bit file sizes without needing these defines.
echo $ac_n "checking whether _XOPEN_SOURCE may be defined""... $ac_c" 1>&6
-echo "configure:712: checking whether _XOPEN_SOURCE may be defined" >&5
+echo "configure:723: checking whether _XOPEN_SOURCE may be defined" >&5
cat > conftest.$ac_ext <<EOF
-#line 714 "configure"
+#line 725 "configure"
#include "confdefs.h"
-#define _XOPEN_SOURCE 500L
+#define _XOPEN_SOURCE 600L
#include <unistd.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
may_use_xopen_source=yes
else
@@ -731,7 +742,7 @@ rm -f conftest*
echo "$ac_t""$may_use_xopen_source" 1>&6
if test $may_use_xopen_source = yes; then
cat >> confdefs.h <<\EOF
-#define _XOPEN_SOURCE 500L
+#define _XOPEN_SOURCE 600L
EOF
# The following is needed by irix6.2 so that struct timeval is declared.
@@ -761,7 +772,7 @@ LIBTOOL='$(SHELL) ../libtool'
test "$AR" || AR=ar
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:765: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:776: 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
@@ -791,7 +802,7 @@ fi
# Sanity check for the cross-compilation case:
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:795: checking how to run the C preprocessor" >&5
+echo "configure:806: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -806,13 +817,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 810 "configure"
+#line 821 "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:816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:827: \"$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
:
@@ -823,13 +834,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 827 "configure"
+#line 838 "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:833: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:844: \"$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
:
@@ -840,13 +851,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 844 "configure"
+#line 855 "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:850: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:861: \"$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
:
@@ -872,17 +883,17 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "stdio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for stdio.h""... $ac_c" 1>&6
-echo "configure:876: checking for stdio.h" >&5
+echo "configure:887: checking for stdio.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 881 "configure"
+#line 892 "configure"
#include "confdefs.h"
#include <stdio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:886: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:897: \"$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*
@@ -910,12 +921,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:914: checking for ANSI C header files" >&5
+echo "configure:925: 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 919 "configure"
+#line 930 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -923,7 +934,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:938: \"$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*
@@ -940,7 +951,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 944 "configure"
+#line 955 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -958,7 +969,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 962 "configure"
+#line 973 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -979,7 +990,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 983 "configure"
+#line 994 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -990,7 +1001,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1014,12 +1025,12 @@ EOF
fi
echo $ac_n "checking for posix""... $ac_c" 1>&6
-echo "configure:1018: checking for posix" >&5
+echo "configure:1029: checking for posix" >&5
if eval "test \"`echo '$''{'g77_cv_header_posix'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1023 "configure"
+#line 1034 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <unistd.h>
@@ -1045,12 +1056,12 @@ echo "$ac_t""$g77_cv_header_posix" 1>&6
# We can rely on the GNU library being posix-ish. I guess checking the
# header isn't actually like checking the functions, though...
echo $ac_n "checking for GNU library""... $ac_c" 1>&6
-echo "configure:1049: checking for GNU library" >&5
+echo "configure:1060: checking for GNU library" >&5
if eval "test \"`echo '$''{'g77_cv_lib_gnu'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1054 "configure"
+#line 1065 "configure"
#include "confdefs.h"
#include <stdio.h>
#ifdef __GNU_LIBRARY__
@@ -1074,12 +1085,12 @@ echo "$ac_t""$g77_cv_lib_gnu" 1>&6
# Apparently cygwin needs to be special-cased.
echo $ac_n "checking for cyg\`win'32""... $ac_c" 1>&6
-echo "configure:1078: checking for cyg\`win'32" >&5
+echo "configure:1089: checking for cyg\`win'32" >&5
if eval "test \"`echo '$''{'g77_cv_sys_cygwin32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1083 "configure"
+#line 1094 "configure"
#include "confdefs.h"
#ifdef __CYGWIN32__
yes
@@ -1102,12 +1113,12 @@ echo "$ac_t""$g77_cv_sys_cygwin32" 1>&6
# ditto for mingw32.
echo $ac_n "checking for mingw32""... $ac_c" 1>&6
-echo "configure:1106: checking for mingw32" >&5
+echo "configure:1117: checking for mingw32" >&5
if eval "test \"`echo '$''{'g77_cv_sys_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1111 "configure"
+#line 1122 "configure"
#include "confdefs.h"
#ifdef __MINGW32__
yes
@@ -1130,12 +1141,12 @@ echo "$ac_t""$g77_cv_sys_mingw32" 1>&6
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1134: checking for working const" >&5
+echo "configure:1145: 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 1139 "configure"
+#line 1150 "configure"
#include "confdefs.h"
int main() {
@@ -1184,7 +1195,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1205,12 +1216,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1209: checking for size_t" >&5
+echo "configure:1220: 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 1214 "configure"
+#line 1225 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1243,12 +1254,12 @@ fi
# Apparently positive result on cygwin loses re. NON_UNIX_STDIO
# (as of cygwin b18). Likewise on mingw.
echo $ac_n "checking for fstat""... $ac_c" 1>&6
-echo "configure:1247: checking for fstat" >&5
+echo "configure:1258: checking for fstat" >&5
if eval "test \"`echo '$''{'ac_cv_func_fstat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1252 "configure"
+#line 1263 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char fstat(); below. */
@@ -1271,7 +1282,7 @@ fstat();
; return 0; }
EOF
-if { (eval echo configure:1275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_fstat=yes"
else
@@ -1291,7 +1302,7 @@ else
fi
echo $ac_n "checking need for NON_UNIX_STDIO""... $ac_c" 1>&6
-echo "configure:1295: checking need for NON_UNIX_STDIO" >&5
+echo "configure:1306: checking need for NON_UNIX_STDIO" >&5
if test $g77_cv_sys_cygwin32 = yes \
|| test $g77_cv_sys_mingw32 = yes \
|| test $ac_cv_func_fstat = no; then
@@ -1307,12 +1318,12 @@ fi
for ac_func in fseeko
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1311: checking for $ac_func" >&5
+echo "configure:1322: 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 1316 "configure"
+#line 1327 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1335,7 +1346,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1350: \"$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
@@ -1362,12 +1373,12 @@ done
for ac_func in ftello
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1366: checking for $ac_func" >&5
+echo "configure:1377: 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 1371 "configure"
+#line 1382 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1390,7 +1401,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1405: \"$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
@@ -1417,12 +1428,12 @@ done
for ac_func in ftruncate
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1421: checking for $ac_func" >&5
+echo "configure:1432: 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 1426 "configure"
+#line 1437 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1445,7 +1456,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1460: \"$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
@@ -1472,12 +1483,12 @@ done
for ac_func in mkstemp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1476: checking for $ac_func" >&5
+echo "configure:1487: 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 1481 "configure"
+#line 1492 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1500,7 +1511,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1515: \"$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
@@ -1527,12 +1538,12 @@ done
for ac_func in tempnam
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1531: checking for $ac_func" >&5
+echo "configure:1542: 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 1536 "configure"
+#line 1547 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1555,7 +1566,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1570: \"$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
@@ -1582,12 +1593,12 @@ done
for ac_func in tmpnam
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1586: checking for $ac_func" >&5
+echo "configure:1597: 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 1591 "configure"
+#line 1602 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1610,7 +1621,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1625: \"$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
@@ -1640,19 +1651,19 @@ done
# However, on my sunos4/gcc setup unistd.h leads us wrongly to believe
# we're posix-conformant, so always do the test.
echo $ac_n "checking for ansi/posix sprintf result""... $ac_c" 1>&6
-echo "configure:1644: checking for ansi/posix sprintf result" >&5
+echo "configure:1655: checking for ansi/posix sprintf result" >&5
if test "$cross_compiling" = yes; then
g77_cv_sys_sprintf_ansi=no
else
cat > conftest.$ac_ext <<EOF
-#line 1649 "configure"
+#line 1660 "configure"
#include "confdefs.h"
#include <stdio.h>
/* does sprintf return the number of chars transferred? */
main () {char foo[2]; (sprintf(foo, "1") == 1) ? exit(0) : exit(1);}
EOF
-if { (eval echo configure:1656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
g77_cv_sys_sprintf_ansi=yes
else
@@ -1683,9 +1694,9 @@ fi
# define NON_ANSI_RW_MODES on unix (can't hurt)
echo $ac_n "checking NON_ANSI_RW_MODES""... $ac_c" 1>&6
-echo "configure:1687: checking NON_ANSI_RW_MODES" >&5
+echo "configure:1698: checking NON_ANSI_RW_MODES" >&5
cat > conftest.$ac_ext <<EOF
-#line 1689 "configure"
+#line 1700 "configure"
#include "confdefs.h"
#ifdef unix
yes
@@ -1730,12 +1741,12 @@ EOF
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1734: checking for off_t" >&5
+echo "configure:1745: 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 1739 "configure"
+#line 1750 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
diff --git a/libf2c/libI77/configure.in b/libf2c/libI77/configure.in
index 40713e091dd..83f98fbbabd 100644
--- a/libf2c/libI77/configure.in
+++ b/libf2c/libI77/configure.in
@@ -32,16 +32,16 @@ define([AC_PROG_CC_WORKS],[])
AC_PROG_CC
# These defines are necessary to get 64-bit file size support.
-# NetBSD 1.4 header files does not support XOPEN_SOURCE == 500, but it
+# NetBSD 1.4 header files does not support XOPEN_SOURCE == 600, but it
# handles 64-bit file sizes without needing these defines.
AC_MSG_CHECKING(whether _XOPEN_SOURCE may be defined)
-AC_TRY_COMPILE([#define _XOPEN_SOURCE 500L
+AC_TRY_COMPILE([#define _XOPEN_SOURCE 600L
#include <unistd.h>],,
may_use_xopen_source=yes,
may_use_xopen_source=no)
AC_MSG_RESULT($may_use_xopen_source)
if test $may_use_xopen_source = yes; then
- AC_DEFINE(_XOPEN_SOURCE, 500L, [Get Single Unix Specification semantics])
+ AC_DEFINE(_XOPEN_SOURCE, 600L, [Get Single Unix Specification semantics])
# The following is needed by irix6.2 so that struct timeval is declared.
AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Get Single Unix Specification semantics])
# The following is needed by Solaris2.5.1 so that struct timeval is declared.
diff --git a/libf2c/libI77/iio.c b/libf2c/libI77/iio.c
index 69f215425db..940cbf82f91 100644
--- a/libf2c/libI77/iio.c
+++ b/libf2c/libI77/iio.c
@@ -21,7 +21,7 @@ z_getc (void)
void
z_putc (int c)
{
- if (f__icptr < f__icend && f__recpos++ < f__svic->icirlen)
+ if (f__recpos++ < f__svic->icirlen && f__icptr < f__icend)
*f__icptr++ = c;
}
int
diff --git a/libf2c/libI77/open.c b/libf2c/libI77/open.c
index 790f5d67098..ac1e00ec6de 100644
--- a/libf2c/libI77/open.c
+++ b/libf2c/libI77/open.c
@@ -148,7 +148,10 @@ f_open (olist * a)
b->url = (int) a->orl;
b->ublnk = a->oblnk && (*a->oblnk == 'z' || *a->oblnk == 'Z');
if (a->ofm == 0)
- b->ufmt = 1;
+ if ((a->oacc) && (*a->oacc == 'D' || *a->oacc == 'd'))
+ b->ufmt = 0;
+ else
+ b->ufmt = 1;
else if (*a->ofm == 'f' || *a->ofm == 'F')
b->ufmt = 1;
else
diff --git a/libf2c/libU77/configure b/libf2c/libU77/configure
index 6b288eeb744..29a5f131a37 100755
--- a/libf2c/libU77/configure
+++ b/libf2c/libU77/configure
@@ -28,6 +28,7 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
+sitefile=
srcdir=
target=NONE
verbose=
@@ -142,6 +143,7 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -312,6 +314,11 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -477,12 +484,16 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
fi
+else
+ CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -530,7 +541,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:534: checking for $ac_word" >&5
+echo "configure:545: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -560,7 +571,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:564: checking for $ac_word" >&5
+echo "configure:575: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -611,7 +622,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:615: checking for $ac_word" >&5
+echo "configure:626: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -644,7 +655,7 @@ fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:648: checking whether we are using GNU C" >&5
+echo "configure:659: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -653,7 +664,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:657: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -672,7 +683,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:676: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:687: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -705,20 +716,20 @@ fi
# These defines are necessary to get 64-bit file size support.
-# NetBSD 1.4 header files does not support XOPEN_SOURCE == 500, but it
+# NetBSD 1.4 header files does not support XOPEN_SOURCE == 600, but it
# handles 64-bit file sizes without needing these defines.
echo $ac_n "checking whether _XOPEN_SOURCE may be defined""... $ac_c" 1>&6
-echo "configure:712: checking whether _XOPEN_SOURCE may be defined" >&5
+echo "configure:723: checking whether _XOPEN_SOURCE may be defined" >&5
cat > conftest.$ac_ext <<EOF
-#line 714 "configure"
+#line 725 "configure"
#include "confdefs.h"
-#define _XOPEN_SOURCE 500L
+#define _XOPEN_SOURCE 600L
#include <unistd.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
may_use_xopen_source=yes
else
@@ -731,7 +742,7 @@ rm -f conftest*
echo "$ac_t""$may_use_xopen_source" 1>&6
if test $may_use_xopen_source = yes; then
cat >> confdefs.h <<\EOF
-#define _XOPEN_SOURCE 500L
+#define _XOPEN_SOURCE 600L
EOF
# The following is needed by irix6.2 so that struct timeval is declared.
@@ -763,7 +774,7 @@ fi
test "$AR" || AR=ar
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:767: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:778: 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
@@ -793,7 +804,7 @@ fi
# Extract the first word of "chmod", so it can be a program name with args.
set dummy chmod; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:797: checking for $ac_word" >&5
+echo "configure:808: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_ac_cv_prog_chmod'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -837,7 +848,7 @@ else
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:841: checking how to run the C preprocessor" >&5
+echo "configure:852: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -852,13 +863,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 856 "configure"
+#line 867 "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:862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:873: \"$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
:
@@ -869,13 +880,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 873 "configure"
+#line 884 "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:879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:890: \"$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
:
@@ -886,13 +897,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 890 "configure"
+#line 901 "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:896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:907: \"$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
:
@@ -917,12 +928,12 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:921: checking for ANSI C header files" >&5
+echo "configure:932: 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 926 "configure"
+#line 937 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -930,7 +941,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:934: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:945: \"$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*
@@ -947,7 +958,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 951 "configure"
+#line 962 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -965,7 +976,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 969 "configure"
+#line 980 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -986,7 +997,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 990 "configure"
+#line 1001 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -997,7 +1008,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1021,12 +1032,12 @@ EOF
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1025: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1036: 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 1030 "configure"
+#line 1041 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -1035,7 +1046,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:1039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1050: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -1060,17 +1071,17 @@ for ac_hdr in limits.h unistd.h sys/time.h string.h stdlib.h \
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1064: checking for $ac_hdr" >&5
+echo "configure:1075: 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 1069 "configure"
+#line 1080 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1074: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1085: \"$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*
@@ -1098,12 +1109,12 @@ done
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1102: checking for working const" >&5
+echo "configure:1113: 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 1107 "configure"
+#line 1118 "configure"
#include "confdefs.h"
int main() {
@@ -1152,7 +1163,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1173,12 +1184,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1177: checking for size_t" >&5
+echo "configure:1188: 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 1182 "configure"
+#line 1193 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1206,12 +1217,12 @@ EOF
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:1210: checking for mode_t" >&5
+echo "configure:1221: checking for mode_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1215 "configure"
+#line 1226 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1240,12 +1251,12 @@ fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1244: checking for pid_t" >&5
+echo "configure:1255: 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 1249 "configure"
+#line 1260 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1273,12 +1284,12 @@ EOF
fi
echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
-echo "configure:1277: checking for st_blksize in struct stat" >&5
+echo "configure:1288: checking for st_blksize in struct stat" >&5
if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1282 "configure"
+#line 1293 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -1286,7 +1297,7 @@ int main() {
struct stat s; s.st_blksize;
; return 0; }
EOF
-if { (eval echo configure:1290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_st_blksize=yes
else
@@ -1307,12 +1318,12 @@ EOF
fi
echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1>&6
-echo "configure:1311: checking for st_blocks in struct stat" >&5
+echo "configure:1322: checking for st_blocks in struct stat" >&5
if eval "test \"`echo '$''{'ac_cv_struct_st_blocks'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1316 "configure"
+#line 1327 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -1320,7 +1331,7 @@ int main() {
struct stat s; s.st_blocks;
; return 0; }
EOF
-if { (eval echo configure:1324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_st_blocks=yes
else
@@ -1343,12 +1354,12 @@ else
fi
echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
-echo "configure:1347: checking for st_rdev in struct stat" >&5
+echo "configure:1358: checking for st_rdev in struct stat" >&5
if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1352 "configure"
+#line 1363 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -1356,7 +1367,7 @@ int main() {
struct stat s; s.st_rdev;
; return 0; }
EOF
-if { (eval echo configure:1360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1371: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_st_rdev=yes
else
@@ -1377,12 +1388,12 @@ EOF
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:1381: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:1392: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1386 "configure"
+#line 1397 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@@ -1390,7 +1401,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:1394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@@ -1412,7 +1423,7 @@ fi
echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
-echo "configure:1416: checking for gethostname in -lsocket" >&5
+echo "configure:1427: checking for gethostname in -lsocket" >&5
ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1420,7 +1431,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1424 "configure"
+#line 1435 "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
@@ -1431,7 +1442,7 @@ int main() {
gethostname()
; return 0; }
EOF
-if { (eval echo configure:1435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1457,12 +1468,12 @@ for ac_func in symlink getcwd getwd lstat gethostname strerror clock \
getrusage times alarm getlogin getgid getuid kill link ttyname
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1461: checking for $ac_func" >&5
+echo "configure:1472: 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 1466 "configure"
+#line 1477 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1485,7 +1496,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1500: \"$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
@@ -1514,12 +1525,12 @@ done
for ac_func in gettimeofday
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1518: checking for $ac_func" >&5
+echo "configure:1529: 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 1523 "configure"
+#line 1534 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1542,7 +1553,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1557: \"$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
@@ -1568,19 +1579,19 @@ done
if test "$ac_cv_func_gettimeofday" = yes; then
echo $ac_n "checking for struct timezone""... $ac_c" 1>&6
-echo "configure:1572: checking for struct timezone" >&5
+echo "configure:1583: checking for struct timezone" >&5
if eval "test \"`echo '$''{'g77_cv_struct_timezone'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1577 "configure"
+#line 1588 "configure"
#include "confdefs.h"
#include <sys/time.h>
int main() {
struct timezone tz;
; return 0; }
EOF
-if { (eval echo configure:1584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
g77_cv_struct_timezone=yes
else
@@ -1601,7 +1612,7 @@ EOF
else
cat > conftest.$ac_ext <<EOF
-#line 1605 "configure"
+#line 1616 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
@@ -1624,7 +1635,7 @@ main ()
exit (0);
}
EOF
-if { (eval echo configure:1628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define HAVE_TIMEZONE 1
@@ -1640,12 +1651,12 @@ fi
fi
echo $ac_n "checking whether gettimeofday can accept two arguments""... $ac_c" 1>&6
-echo "configure:1644: checking whether gettimeofday can accept two arguments" >&5
+echo "configure:1655: checking whether gettimeofday can accept two arguments" >&5
if eval "test \"`echo '$''{'emacs_cv_gettimeofday_two_arguments'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1649 "configure"
+#line 1660 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
@@ -1671,7 +1682,7 @@ int main() {
gettimeofday (&time, DUMMY);
; return 0; }
EOF
-if { (eval echo configure:1675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
emacs_cv_gettimeofday_two_arguments=yes
else
diff --git a/libf2c/libU77/configure.in b/libf2c/libU77/configure.in
index b0e0aed6bf0..a56fc4cd311 100644
--- a/libf2c/libU77/configure.in
+++ b/libf2c/libU77/configure.in
@@ -32,16 +32,16 @@ define([AC_PROG_CC_WORKS],[])
AC_PROG_CC
# These defines are necessary to get 64-bit file size support.
-# NetBSD 1.4 header files does not support XOPEN_SOURCE == 500, but it
+# NetBSD 1.4 header files does not support XOPEN_SOURCE == 600, but it
# handles 64-bit file sizes without needing these defines.
AC_MSG_CHECKING(whether _XOPEN_SOURCE may be defined)
-AC_TRY_COMPILE([#define _XOPEN_SOURCE 500L
+AC_TRY_COMPILE([#define _XOPEN_SOURCE 600L
#include <unistd.h>],,
may_use_xopen_source=yes,
may_use_xopen_source=no)
AC_MSG_RESULT($may_use_xopen_source)
if test $may_use_xopen_source = yes; then
- AC_DEFINE(_XOPEN_SOURCE, 500L, [Get Single Unix Specification semantics])
+ AC_DEFINE(_XOPEN_SOURCE, 600L, [Get Single Unix Specification semantics])
# The following is needed by irix6.2 so that struct timeval is declared.
AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Get Single Unix Specification semantics])
# The following is needed by Solaris2.5.1 so that struct timeval is declared.
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 8ed3398ea1e..ed875f3e5df 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,106 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-07 Jeff Sturm <jsturm@one-point.com>
+
+ Fixes PR bootstrap/10656
+ * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
+ support for .register pseudo-op.
+ * src/sparc/v8.S: Use it.
+ * fficonfig.h.in: Rebuilt.
+ * configure: Rebuilt.
+
+2003-04-04 Loren J. Rittle <ljrittle@acm.org>
+
+ * include/Makefile.in: Regenerate.
+
+2003-03-22 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
+ bit mode.
+ * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
+ Receive closure pointer through parameter, read args using
+ __builtin_dwarf_cfa.
+ (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
+
+2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * libffi/src/powerpc/darwin_closure.S:
+ Fix alignement bug, allocate 8 bytes for the result.
+ * libffi/src/powerpc/aix_closure.S:
+ Likewise.
+ * libffi/src/powerpc/ffi_darwin.c:
+ Update stackframe description for aix/darwin_closure.S.
+
+2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
+ Andreas Schwab <schwab@suse.de>
+
+ * configure.in: Adjust command to source config-ml.in to account
+ for changes to the libffi_basedir definition.
+ (libffi_basedir): Remove ${srcdir} from value and include trailing
+ slash if nonempty.
+
+ * configure: Regenerate.
+
+2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * src/powerpc/ppc_closure.S: Recode to fit shared libs.
+
+2003-01-28 Andrew Haley <aph@redhat.com>
+
+ * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
+ * src/x86/ffi64.c (ffi_prep_closure): New.
+ (ffi_closure_UNIX64_inner): New.
+ * src/x86/unix64.S (ffi_closure_UNIX64): New.
+
+2003-01-22 Andrew Haley <aph@redhat.com>
+
+ * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
+ unwind info.
+
+2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * src/powerpc/darwin.S: Add unwind info.
+ * src/powerpc/darwin_closure.S: Likewise.
+
+2003-01-14 Andrew Haley <aph@redhat.com>
+
+ * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
+ (ffi_prep_cif_machdep): Likewise.
+ * src/x86/unix64.S: Add unwind info.
+
+2003-01-14 Andreas Jaeger <aj@suse.de>
+
+ * src/ffitest.c (main): Only use ffi_closures if those are
+ supported.
+
+2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * libffi/src/ffitest.c
+ add closure testcases
+
+2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
+
+ * libffi/src/powerpc/ffi.c
+ fix alignment bug for float (4 byte aligned iso 8 byte)
+
+2003-01-03 Jeff Sturm <jsturm@one-point.com>
+
+ * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
+ * src/ffitest.c (main): Use static storage for closure.
+ * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
+ * src/sparc/v8.S (ffi_closure_v8): New.
+ * src/sparc/v9.S (ffi_closure_v9): New.
+
2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
* include/ffi.h.in: Added FFI_STDCALL ffi_type
diff --git a/libffi/ChangeLog.libgcj b/libffi/ChangeLog.libgcj
index 4c5be6d3fd0..5c38225c2a5 100644
--- a/libffi/ChangeLog.libgcj
+++ b/libffi/ChangeLog.libgcj
@@ -1,3 +1,16 @@
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2002-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
+ Remove USE_LIBDIR conditional.
+ * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
+ * Makefile.in, configure: Rebuilt.
+
Mon Aug 9 18:33:38 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* include/Makefile.in: Rebuilt.
diff --git a/libffi/Makefile.am b/libffi/Makefile.am
index 9ee70acc02f..8cae05309bb 100644
--- a/libffi/Makefile.am
+++ b/libffi/Makefile.am
@@ -76,15 +76,6 @@ MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-## Install a library built with a cross compiler in tooldir, not
-## libdir.
-if USE_LIBDIR
-toolexeclibdir = $(libdir)$(MULTISUBDIR)
-else
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-endif
-
toolexeclib_LTLIBRARIES = libffi.la
noinst_LTLIBRARIES = libffi_convenience.la
diff --git a/libffi/Makefile.in b/libffi/Makefile.in
index 37adbf795a4..598d683d7b7 100644
--- a/libffi/Makefile.in
+++ b/libffi/Makefile.in
@@ -1,6 +1,6 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -80,6 +80,8 @@ TARGET = @TARGET@
TARGETDIR = @TARGETDIR@
VERSION = @VERSION@
libffi_basedir = @libffi_basedir@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
AUTOMAKE_OPTIONS = cygnus
@@ -152,9 +154,6 @@ MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-@USE_LIBDIR_TRUE@toolexeclibdir = @USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexeclibdir = @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
toolexeclib_LTLIBRARIES = libffi.la
noinst_LTLIBRARIES = libffi_convenience.la
@@ -216,7 +215,7 @@ libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
@ARM_TRUE@libffi_convenience_la_SOURCES = @ARM_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
@S390_TRUE@libffi_convenience_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
@X86_64_TRUE@libffi_convenience_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
-@SH_TRUE@libffi_convenience_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
+@SH_TRUE@libfficonvenience_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
AM_CFLAGS = -fexceptions
@@ -224,7 +223,7 @@ libffi_la_LDFLAGS = -release $(VERSION)
INCLUDES = -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/${libffi_basedir}/../mkinstalldirs
CONFIG_HEADER = fficonfig.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
@@ -236,112 +235,112 @@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
libffi_convenience_la_LDFLAGS =
libffi_convenience_la_LIBADD =
-@MIPS_GCC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
-@MIPS_GCC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
-@MIPS_GCC_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_GCC_TRUE@src/mips/n32.lo
-@POWERPC_AIX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
-@POWERPC_AIX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
-@POWERPC_AIX_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@src/powerpc/aix.lo src/powerpc/aix_closures.lo
@ALPHA_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
@ALPHA_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
@ALPHA_TRUE@src/java_raw_api.lo src/alpha/ffi.lo src/alpha/osf.lo
@IA64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
-@POWERPC_DARWIN_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
-@POWERPC_DARWIN_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
-@POWERPC_DARWIN_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
-@MIPS_SGI_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
-@MIPS_SGI_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
-@MIPS_SGI_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_SGI_TRUE@src/mips/n32.lo
-@MIPS_LINUX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
-@MIPS_LINUX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
-@MIPS_LINUX_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo
+@MIPS_GCC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@MIPS_GCC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@MIPS_GCC_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
+@MIPS_GCC_TRUE@src/mips/n32.lo
@S390_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
-@SH_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@SH_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@SH_TRUE@src/sh/sysv.lo src/sh/ffi.lo
+@M68K_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
@X86_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@X86_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@X86_TRUE@src/x86/ffi.lo src/x86/sysv.lo
-@X86_WIN32_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
-@X86_WIN32_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
-@X86_WIN32_TRUE@src/java_raw_api.lo src/x86/ffi.lo src/x86/win32.lo
-@ARM_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@ARM_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@ARM_TRUE@src/arm/sysv.lo src/arm/ffi.lo
@POWERPC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
@POWERPC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
@POWERPC_TRUE@src/java_raw_api.lo src/powerpc/ffi.lo \
@POWERPC_TRUE@src/powerpc/sysv.lo src/powerpc/ppc_closure.lo
+@MIPS_LINUX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@MIPS_LINUX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@MIPS_LINUX_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo
+@X86_WIN32_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@X86_WIN32_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@X86_WIN32_TRUE@src/java_raw_api.lo src/x86/ffi.lo src/x86/win32.lo
+@X86_64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@X86_64_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@X86_64_TRUE@src/java_raw_api.lo src/x86/ffi64.lo src/x86/unix64.lo \
+@X86_64_TRUE@src/x86/ffi.lo src/x86/sysv.lo
@SPARC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
@SPARC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
@SPARC_TRUE@src/java_raw_api.lo src/sparc/ffi.lo src/sparc/v8.lo \
@SPARC_TRUE@src/sparc/v9.lo
-@M68K_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
+@POWERPC_AIX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@POWERPC_AIX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@POWERPC_AIX_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
+@POWERPC_AIX_TRUE@src/powerpc/aix.lo src/powerpc/aix_closures.lo
+@MIPS_SGI_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@MIPS_SGI_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@MIPS_SGI_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
+@MIPS_SGI_TRUE@src/mips/n32.lo
+@POWERPC_DARWIN_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+@POWERPC_DARWIN_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+@POWERPC_DARWIN_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
+@POWERPC_DARWIN_TRUE@src/powerpc/darwin.lo \
+@POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
+@ARM_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@ARM_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@ARM_TRUE@src/arm/sysv.lo src/arm/ffi.lo
libffi_la_LIBADD =
-@MIPS_GCC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@MIPS_GCC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@MIPS_GCC_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
-@POWERPC_AIX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@POWERPC_AIX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@POWERPC_AIX_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@src/powerpc/aix_closures.lo
-@ALPHA_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@ALPHA_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@ALPHA_TRUE@src/alpha/ffi.lo src/alpha/osf.lo
+@SH_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+@SH_TRUE@src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \
+@SH_TRUE@src/sh/ffi.lo
@IA64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
-@POWERPC_DARWIN_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@POWERPC_DARWIN_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@POWERPC_DARWIN_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
-@MIPS_SGI_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@MIPS_SGI_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@MIPS_SGI_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
-@MIPS_LINUX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@MIPS_LINUX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@MIPS_LINUX_TRUE@src/mips/ffi.lo src/mips/o32.lo
-@S390_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@X86_64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@X86_64_TRUE@src/x86/ffi.lo src/x86/sysv.lo src/x86/unix64.lo src/x86/ffi64.lo
-@SH_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-@SH_TRUE@src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo src/sh/ffi.lo
@X86_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
@X86_TRUE@src/raw_api.lo src/java_raw_api.lo src/x86/ffi.lo \
@X86_TRUE@src/x86/sysv.lo
-@X86_WIN32_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
-@X86_WIN32_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
-@X86_WIN32_TRUE@src/x86/ffi.lo src/x86/win32.lo
-@ARM_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-@ARM_TRUE@src/raw_api.lo src/java_raw_api.lo src/arm/sysv.lo \
-@ARM_TRUE@src/arm/ffi.lo
@POWERPC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@POWERPC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@POWERPC_TRUE@src/powerpc/ffi.lo src/powerpc/sysv.lo \
@POWERPC_TRUE@src/powerpc/ppc_closure.lo
+@MIPS_LINUX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@MIPS_LINUX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@MIPS_LINUX_TRUE@src/mips/ffi.lo src/mips/o32.lo
@SPARC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@SPARC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@SPARC_TRUE@src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
+@POWERPC_AIX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@POWERPC_AIX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@POWERPC_AIX_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/aix.lo \
+@POWERPC_AIX_TRUE@src/powerpc/aix_closures.lo
+@MIPS_SGI_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@MIPS_SGI_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@MIPS_SGI_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
+@ARM_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+@ARM_TRUE@src/raw_api.lo src/java_raw_api.lo src/arm/sysv.lo \
+@ARM_TRUE@src/arm/ffi.lo
+@ALPHA_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@ALPHA_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@ALPHA_TRUE@src/alpha/ffi.lo src/alpha/osf.lo
+@MIPS_GCC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@MIPS_GCC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@MIPS_GCC_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
+@S390_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
@M68K_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
-@X86_64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-@X86_64_TRUE@src/raw_api.lo src/java_raw_api.lo src/x86/ffi.lo \
-@X86_64_TRUE@src/x86/sysv.lo src/x86/unix64.lo src/x86/ffi64.lo
+@X86_WIN32_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@X86_WIN32_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@X86_WIN32_TRUE@src/x86/ffi.lo src/x86/win32.lo
+@X86_64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@X86_64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@X86_64_TRUE@src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffi.lo \
+@X86_64_TRUE@src/x86/sysv.lo
+@POWERPC_DARWIN_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+@POWERPC_DARWIN_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+@POWERPC_DARWIN_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/darwin.lo \
+@POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
noinst_PROGRAMS = ffitest$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
@@ -524,7 +523,7 @@ maintainer-clean-recursive:
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" != "." || dot_seen=yes; \
+ test "$$subdir" = "." && dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
@@ -617,7 +616,7 @@ distdir: $(DISTFILES)
-chmod 777 $(distdir)
$(mkinstalldirs) $(distdir)/src/alpha $(distdir)/src/arm \
$(distdir)/src/m68k $(distdir)/src/mips \
- $(distdir)/src/powerpc $(distdir)/src/s390 \
+ $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh \
$(distdir)/src/sparc $(distdir)/src/x86
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
diff --git a/libffi/configure b/libffi/configure
index 13a6187c2b4..fe0e9405f28 100755
--- a/libffi/configure
+++ b/libffi/configure
@@ -53,7 +53,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -168,7 +167,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -339,11 +337,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -509,16 +502,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -557,12 +546,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:561: checking for Cygwin environment" >&5
+echo "configure:550: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 566 "configure"
+#line 555 "configure"
#include "confdefs.h"
int main() {
@@ -573,7 +562,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -590,19 +579,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:594: checking for mingw32 environment" >&5
+echo "configure:583: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 599 "configure"
+#line 588 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -644,16 +633,16 @@ fi
if test "${srcdir}" = "."; then
if test "${with_target_subdir}" != "."; then
- libffi_basedir="${srcdir}/${with_multisrctop}.."
+ libffi_basedir="${with_multisrctop}../"
else
- libffi_basedir="${srcdir}/${with_multisrctop}"
+ libffi_basedir="${with_multisrctop}"
fi
else
- libffi_basedir="${srcdir}"
+ libffi_basedir=
fi
ac_aux_dir=
-for ac_dir in ${libffi_basedir}/.. $srcdir/${libffi_basedir}/..; do
+for ac_dir in ${libffi_basedir}.. $srcdir/${libffi_basedir}..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
@@ -665,7 +654,7 @@ for ac_dir in ${libffi_basedir}/.. $srcdir/${libffi_basedir}/..; do
fi
done
if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in ${libffi_basedir}/.. $srcdir/${libffi_basedir}/.." 1>&2; exit 1; }
+ { echo "configure: error: can not find install-sh or install.sh in ${libffi_basedir}.. $srcdir/${libffi_basedir}.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
@@ -679,7 +668,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:683: checking host system type" >&5
+echo "configure:672: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -770,7 +759,7 @@ else
fi
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:774: checking build system type" >&5
+echo "configure:763: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -790,7 +779,7 @@ echo "$ac_t""$build" 1>&6
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:794: checking for $ac_word" >&5
+echo "configure:783: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -820,7 +809,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:824: checking for $ac_word" >&5
+echo "configure:813: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -871,7 +860,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:875: checking for $ac_word" >&5
+echo "configure:864: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -903,7 +892,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:907: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:896: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -914,12 +903,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 918 "configure"
+#line 907 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -945,12 +934,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:949: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:938: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:954: checking whether we are using GNU C" >&5
+echo "configure:943: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -959,7 +948,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:963: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:952: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -978,7 +967,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:982: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:971: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1021,7 +1010,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1025: checking for ld used by GCC" >&5
+echo "configure:1014: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1051,10 +1040,10 @@ echo "configure:1025: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1055: checking for GNU ld" >&5
+echo "configure:1044: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1058: checking for non-GNU ld" >&5
+echo "configure:1047: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1089,7 +1078,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1093: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1082: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1106,7 +1095,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1110: checking for $LD option to reload object files" >&5
+echo "configure:1099: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1118,7 +1107,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1122: checking for BSD-compatible nm" >&5
+echo "configure:1111: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1156,7 +1145,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1160: checking whether ln -s works" >&5
+echo "configure:1149: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1177,7 +1166,7 @@ else
fi
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1181: checking how to recognise dependant libraries" >&5
+echo "configure:1170: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1350,13 +1339,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1354: checking for object suffix" >&5
+echo "configure:1343: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1376,7 +1365,7 @@ ac_objext=$ac_cv_objext
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1380: checking for executable suffix" >&5
+echo "configure:1369: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1386,10 +1375,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -1419,7 +1408,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1423: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1412: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1481,7 +1470,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1485: checking for file" >&5
+echo "configure:1474: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1552,7 +1541,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1556: checking for $ac_word" >&5
+echo "configure:1545: 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
@@ -1584,7 +1573,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1588: checking for $ac_word" >&5
+echo "configure:1577: 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
@@ -1619,7 +1608,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1623: checking for $ac_word" >&5
+echo "configure:1612: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1651,7 +1640,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1655: checking for $ac_word" >&5
+echo "configure:1644: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1718,8 +1707,21 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 1722 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 1711 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:1712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -1731,6 +1733,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -1738,7 +1741,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:1742: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:1745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -1751,12 +1754,54 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo configure:1761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:1760: checking whether the C compiler needs -belf" >&5
+echo "configure:1805: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1769,14 +1814,14 @@ 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 1773 "configure"
+#line 1818 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -1904,7 +1949,7 @@ exec 5>>./config.log
# 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:1908: checking for a BSD compatible install" >&5
+echo "configure:1953: 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
@@ -1957,7 +2002,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:1961: checking whether build environment is sane" >&5
+echo "configure:2006: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -2014,7 +2059,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:2018: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:2063: 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
@@ -2053,7 +2098,7 @@ fi
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:2057: checking for working aclocal" >&5
+echo "configure:2102: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -2066,7 +2111,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:2070: checking for working autoconf" >&5
+echo "configure:2115: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -2079,7 +2124,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:2083: checking for working automake" >&5
+echo "configure:2128: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -2092,7 +2137,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:2096: checking for working autoheader" >&5
+echo "configure:2141: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -2105,7 +2150,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:2109: checking for working makeinfo" >&5
+echo "configure:2154: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -2122,7 +2167,7 @@ fi
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2126: checking for executable suffix" >&5
+echo "configure:2171: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2132,10 +2177,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:2136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:2181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -2153,7 +2198,7 @@ echo "$ac_t""${ac_cv_exeext}" 1>&6
ac_exeext=$EXEEXT
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:2157: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:2202: 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"
@@ -2179,7 +2224,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2183: checking for $ac_word" >&5
+echo "configure:2228: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2209,7 +2254,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2213: checking for $ac_word" >&5
+echo "configure:2258: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2260,7 +2305,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2264: checking for $ac_word" >&5
+echo "configure:2309: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2292,7 +2337,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2296: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2341: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2303,12 +2348,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 2307 "configure"
+#line 2352 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -2334,12 +2379,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2338: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2383: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2343: checking whether we are using GNU C" >&5
+echo "configure:2388: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2348,7 +2393,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2352: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -2367,7 +2412,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2371: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2416: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2590,7 +2635,7 @@ if test x$TARGET = xMIPS_LINUX; then
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2594: checking how to run the C preprocessor" >&5
+echo "configure:2639: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2605,13 +2650,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 2609 "configure"
+#line 2654 "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:2615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2660: \"$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
:
@@ -2622,13 +2667,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2626 "configure"
+#line 2671 "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:2632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2677: \"$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
:
@@ -2639,13 +2684,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2643 "configure"
+#line 2688 "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:2649: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2694: \"$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
:
@@ -2670,12 +2715,12 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2674: checking for ANSI C header files" >&5
+echo "configure:2719: 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 2679 "configure"
+#line 2724 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2683,7 +2728,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2687: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2732: \"$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*
@@ -2700,7 +2745,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 2704 "configure"
+#line 2749 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2718,7 +2763,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 2722 "configure"
+#line 2767 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2739,7 +2784,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2743 "configure"
+#line 2788 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2750,7 +2795,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2776,12 +2821,12 @@ fi
for ac_func in memcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2780: checking for $ac_func" >&5
+echo "configure:2825: 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 2785 "configure"
+#line 2830 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2804,7 +2849,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2853: \"$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
@@ -2831,19 +2876,19 @@ done
# 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:2835: checking for working alloca.h" >&5
+echo "configure:2880: 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 2840 "configure"
+#line 2885 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:2847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2892: \"$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
@@ -2864,12 +2909,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:2868: checking for alloca" >&5
+echo "configure:2913: 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 2873 "configure"
+#line 2918 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -2897,7 +2942,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:2901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2946: \"$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
@@ -2929,12 +2974,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:2933: checking whether alloca needs Cray hooks" >&5
+echo "configure:2978: 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 2938 "configure"
+#line 2983 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -2959,12 +3004,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:2963: checking for $ac_func" >&5
+echo "configure:3008: 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 2968 "configure"
+#line 3013 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2987,7 +3032,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3036: \"$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
@@ -3014,7 +3059,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:3018: checking stack direction for C alloca" >&5
+echo "configure:3063: 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
@@ -3022,7 +3067,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 3026 "configure"
+#line 3071 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -3041,7 +3086,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:3045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3090: \"$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
@@ -3064,13 +3109,13 @@ fi
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:3068: checking size of short" >&5
+echo "configure:3113: 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 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3074 "configure"
+#line 3119 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3080,7 +3125,7 @@ int main() {
switch (0) case 0: case (sizeof (short) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3129: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_short=$ac_size
else
@@ -3103,13 +3148,13 @@ EOF
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:3107: checking size of int" >&5
+echo "configure:3152: 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 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3113 "configure"
+#line 3158 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3119,7 +3164,7 @@ int main() {
switch (0) case 0: case (sizeof (int) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_int=$ac_size
else
@@ -3142,13 +3187,13 @@ EOF
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:3146: checking size of long" >&5
+echo "configure:3191: 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 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3152 "configure"
+#line 3197 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3158,7 +3203,7 @@ int main() {
switch (0) case 0: case (sizeof (long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3207: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long=$ac_size
else
@@ -3181,13 +3226,13 @@ EOF
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:3185: checking size of long long" >&5
+echo "configure:3230: 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 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3191 "configure"
+#line 3236 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3197,7 +3242,7 @@ int main() {
switch (0) case 0: case (sizeof (long long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long_long=$ac_size
else
@@ -3220,13 +3265,13 @@ EOF
echo $ac_n "checking size of float""... $ac_c" 1>&6
-echo "configure:3224: checking size of float" >&5
+echo "configure:3269: checking size of float" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3230 "configure"
+#line 3275 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3236,7 +3281,7 @@ int main() {
switch (0) case 0: case (sizeof (float) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3240: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3285: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_float=$ac_size
else
@@ -3259,13 +3304,13 @@ EOF
echo $ac_n "checking size of double""... $ac_c" 1>&6
-echo "configure:3263: checking size of double" >&5
+echo "configure:3308: checking size of double" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3269 "configure"
+#line 3314 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3275,7 +3320,7 @@ int main() {
switch (0) case 0: case (sizeof (double) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_double=$ac_size
else
@@ -3298,13 +3343,13 @@ EOF
echo $ac_n "checking size of long double""... $ac_c" 1>&6
-echo "configure:3302: checking size of long double" >&5
+echo "configure:3347: checking size of long double" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3308 "configure"
+#line 3353 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3314,7 +3359,7 @@ int main() {
switch (0) case 0: case (sizeof (long double) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3318: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long_double=$ac_size
else
@@ -3338,13 +3383,13 @@ EOF
echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:3342: checking size of void *" >&5
+echo "configure:3387: checking size of void *" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_void_p'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 3348 "configure"
+#line 3393 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -3354,7 +3399,7 @@ int main() {
switch (0) case 0: case (sizeof (void *) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:3358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3403: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_void_p=$ac_size
else
@@ -3377,14 +3422,14 @@ EOF
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:3381: checking whether byte ordering is bigendian" >&5
+echo "configure:3426: checking whether byte ordering is bigendian" >&5
if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF
-#line 3388 "configure"
+#line 3433 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
@@ -3395,11 +3440,11 @@ int main() {
#endif
; return 0; }
EOF
-if { (eval echo configure:3399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF
-#line 3403 "configure"
+#line 3448 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
@@ -3410,7 +3455,7 @@ int main() {
#endif
; return 0; }
EOF
-if { (eval echo configure:3414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3459: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
@@ -3430,7 +3475,7 @@ if test "$cross_compiling" = yes; then
echo $ac_n "cross-compiling... " 2>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3434 "configure"
+#line 3479 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
@@ -3443,7 +3488,7 @@ main () {
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:3447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_bigendian=no
else
@@ -3461,7 +3506,7 @@ fi
echo "$ac_t""$ac_cv_c_bigendian" 1>&6
if test $ac_cv_c_bigendian = unknown; then
echo $ac_n "checking to probe for byte ordering""... $ac_c" 1>&6
-echo "configure:3465: checking to probe for byte ordering" >&5
+echo "configure:3510: checking to probe for byte ordering" >&5
cat >conftest.c <<EOF
short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
@@ -3511,7 +3556,7 @@ fi
if test x$TARGET = xSPARC; then
echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6
-echo "configure:3515: checking assembler and linker support unaligned pc related relocs" >&5
+echo "configure:3560: checking assembler and linker support unaligned pc related relocs" >&5
if eval "test \"`echo '$''{'libffi_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3521,14 +3566,14 @@ else
CFLAGS="$CFLAGS -fpic"
LDFLAGS="$LDFLAGS -shared"
cat > conftest.$ac_ext <<EOF
-#line 3525 "configure"
+#line 3570 "configure"
#include "confdefs.h"
asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
int main() {
; return 0; }
EOF
-if { (eval echo configure:3532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
libffi_cv_as_sparc_ua_pcrel=yes
else
@@ -3549,6 +3594,43 @@ echo "$ac_t""$libffi_cv_as_sparc_ua_pcrel" 1>&6
EOF
fi
+
+ echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6
+echo "configure:3600: checking assembler .register pseudo-op support" >&5
+if eval "test \"`echo '$''{'libffi_cv_as_register_pseudo_op'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ libffi_cv_as_register_pseudo_op=unknown
+ # Check if we have .register
+ cat > conftest.$ac_ext <<EOF
+#line 3608 "configure"
+#include "confdefs.h"
+asm (".register %g2, #scratch");
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:3615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ libffi_cv_as_register_pseudo_op=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ libffi_cv_as_register_pseudo_op=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$libffi_cv_as_register_pseudo_op" 1>&6
+ if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_AS_REGISTER_PSEUDO_OP 1
+EOF
+
+ fi
fi
@@ -3604,15 +3686,17 @@ EOF
fi
-
-
-if test -z "$with_cross_host"; then
- USE_LIBDIR_TRUE=
- USE_LIBDIR_FALSE='#'
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
else
- USE_LIBDIR_TRUE='#'
- USE_LIBDIR_FALSE=
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
fi
+toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
+
+
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
@@ -3821,8 +3905,8 @@ s%@CPP@%$CPP%g
s%@ALLOCA@%$ALLOCA%g
s%@TARGET@%$TARGET%g
s%@TARGETDIR@%$TARGETDIR%g
-s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
-s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
+s%@toolexecdir@%$toolexecdir%g
+s%@toolexeclibdir@%$toolexeclibdir%g
CEOF
EOF
@@ -4042,6 +4126,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
libffi_basedir=${libffi_basedir}
CC="${CC}"
DEFS="$DEFS"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
test ! -d include && mkdir include
test ! -f include/fficonfig.h && cp fficonfig.h include/fficonfig.h
if cmp -s fficonfig.h include/fficonfig.h 2>/dev/null; then
@@ -4057,7 +4142,7 @@ test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
if test -n "$CONFIG_FILES"; then
LD="${ORIGINAL_LD_FOR_MULTILIBS}"
- ac_file=Makefile . ${libffi_basedir}/../config-ml.in
+ ac_file=Makefile . ${srcdir}/${libffi_basedir}../config-ml.in
fi
exit 0
diff --git a/libffi/configure.in b/libffi/configure.in
index 3dccbeb85b3..8d546c1eb65 100644
--- a/libffi/configure.in
+++ b/libffi/configure.in
@@ -22,15 +22,15 @@ dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
if test "${srcdir}" = "."; then
if test "${with_target_subdir}" != "."; then
- libffi_basedir="${srcdir}/${with_multisrctop}.."
+ libffi_basedir="${with_multisrctop}../"
else
- libffi_basedir="${srcdir}/${with_multisrctop}"
+ libffi_basedir="${with_multisrctop}"
fi
else
- libffi_basedir="${srcdir}"
+ libffi_basedir=
fi
AC_SUBST(libffi_basedir)
-AC_CONFIG_AUX_DIR(${libffi_basedir}/..)
+AC_CONFIG_AUX_DIR(${libffi_basedir}..)
AC_CANONICAL_HOST
@@ -133,6 +133,19 @@ if test x$TARGET = xSPARC; then
AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
[Define if your assembler and linker support unaligned PC relative relocs.])
fi
+
+ AC_CACHE_CHECK([assembler .register pseudo-op support],
+ libffi_cv_as_register_pseudo_op, [
+ libffi_cv_as_register_pseudo_op=unknown
+ # Check if we have .register
+ AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
+ [libffi_cv_as_register_pseudo_op=yes],
+ [libffi_cv_as_register_pseudo_op=no])
+ ])
+ if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
+ AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
+ [Define if your assembler supports .register.])
+ fi
fi
AC_SUBST(TARGET)
@@ -164,7 +177,17 @@ AC_ARG_ENABLE(purify-safety,
AC_DEFINE(USING_PURIFY)
fi)
-AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+else
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
+fi
+toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
+AC_SUBST(toolexecdir)
+AC_SUBST(toolexeclibdir)
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
@@ -176,7 +199,7 @@ AC_OUTPUT(include/Makefile include/ffi.h Makefile,
[
if test -n "$CONFIG_FILES"; then
LD="${ORIGINAL_LD_FOR_MULTILIBS}"
- ac_file=Makefile . ${libffi_basedir}/../config-ml.in
+ ac_file=Makefile . ${srcdir}/${libffi_basedir}../config-ml.in
fi
],
srcdir=${srcdir}
@@ -188,6 +211,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
libffi_basedir=${libffi_basedir}
CC="${CC}"
DEFS="$DEFS"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
test ! -d include && mkdir include
test ! -f include/fficonfig.h && cp fficonfig.h include/fficonfig.h
if cmp -s fficonfig.h include/fficonfig.h 2>/dev/null; then
diff --git a/libffi/fficonfig.h.in b/libffi/fficonfig.h.in
index ac15aeddbd7..2b6f5817dd3 100644
--- a/libffi/fficonfig.h.in
+++ b/libffi/fficonfig.h.in
@@ -25,10 +25,6 @@
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
-/* Define if your processor stores words with the most significant
- byte first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
/* Define this if you want extra debugging */
#undef FFI_DEBUG
@@ -42,32 +38,42 @@
/* Define this is you do not want support for the raw API. */
#undef FFI_NO_RAW_API
-/* The number of bytes in a double. */
-#undef SIZEOF_DOUBLE
+/* Define if you have the memcpy function. */
+#undef HAVE_MEMCPY
-/* The number of bytes in a float. */
-#undef SIZEOF_FLOAT
+/* The number of bytes in type short */
+#undef SIZEOF_SHORT
-/* The number of bytes in a int. */
+/* The number of bytes in type int */
#undef SIZEOF_INT
-/* The number of bytes in a long. */
+/* The number of bytes in type long */
#undef SIZEOF_LONG
-/* The number of bytes in a long double. */
-#undef SIZEOF_LONG_DOUBLE
-
-/* The number of bytes in a long long. */
+/* The number of bytes in type long long */
#undef SIZEOF_LONG_LONG
-/* The number of bytes in a short. */
-#undef SIZEOF_SHORT
+/* The number of bytes in type float */
+#undef SIZEOF_FLOAT
-/* The number of bytes in a void *. */
+/* The number of bytes in type double */
+#undef SIZEOF_DOUBLE
+
+/* The number of bytes in type long double */
+#undef SIZEOF_LONG_DOUBLE
+
+/* The number of bytes in type void * */
#undef SIZEOF_VOID_P
-/* Define if you have the memcpy function. */
-#undef HAVE_MEMCPY
+/* whether byteorder is bigendian */
+#undef WORDS_BIGENDIAN
+
+/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
+#undef BYTEORDER
-/* Define if your assembler and linker support unaligned PC relative relocs. */
+/* Define if your assembler and linker support unaligned PC relative relocs. */
#undef HAVE_AS_SPARC_UA_PCREL
+
+/* Define if your assembler supports .register. */
+#undef HAVE_AS_REGISTER_PSEUDO_OP
+
diff --git a/libffi/include/Makefile.in b/libffi/include/Makefile.in
index 13aa274f405..b5d4e2de87b 100644
--- a/libffi/include/Makefile.in
+++ b/libffi/include/Makefile.in
@@ -1,6 +1,6 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -81,6 +81,8 @@ TARGET = @TARGET@
TARGETDIR = @TARGETDIR@
VERSION = @VERSION@
libffi_basedir = @libffi_basedir@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
AUTOMAKE_OPTIONS = foreign
@@ -89,7 +91,7 @@ EXTRA_DIST = ffi.h.in ffi_common.h ffi_mips.h
hackdir = $(includedir)
hack_DATA = fficonfig.h ffi.h ffi_mips.h
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/${libffi_basedir}../mkinstalldirs
CONFIG_HEADER = ../fficonfig.h
CONFIG_CLEAN_FILES = ffi.h
DATA = $(hack_DATA)
diff --git a/libffi/include/ffi.h.in b/libffi/include/ffi.h.in
index c660ede75af..fe91ecd5e2e 100644
--- a/libffi/include/ffi.h.in
+++ b/libffi/include/ffi.h.in
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------*-C-*-
- libffi @VERSION@ - Copyright (c) 1996-2002 Cygnus Solutions
+ libffi @VERSION@ - Copyright (c) 1996-2003 Cygnus Solutions
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -170,6 +170,13 @@ extern "C" {
#endif
#endif
+#ifdef X86_64
+#if defined (__i386__)
+#undef X86_64
+#define X86
+#endif
+#endif
+
#ifndef LIBFFI_ASM
/* ---- Generic type definitions ----------------------------------------- */
@@ -443,6 +450,18 @@ struct ffi_ia64_trampoline_struct {
#define FFI_TRAMPOLINE_SIZE 24 /* see struct below */
#define FFI_NATIVE_RAW_API 0
+#elif defined(SPARC64)
+
+#define FFI_CLOSURES 1
+#define FFI_TRAMPOLINE_SIZE 24
+#define FFI_NATIVE_RAW_API 0
+
+#elif defined(SPARC)
+
+#define FFI_CLOSURES 1
+#define FFI_TRAMPOLINE_SIZE 16
+#define FFI_NATIVE_RAW_API 0
+
#elif defined(S390)
#define FFI_CLOSURES 1
@@ -459,6 +478,12 @@ struct ffi_ia64_trampoline_struct {
#define FFI_TRAMPOLINE_SIZE 16
#define FFI_NATIVE_RAW_API 0
+#elif defined(__x86_64__)
+
+#define FFI_CLOSURES 1
+#define FFI_TRAMPOLINE_SIZE 24
+#define FFI_NATIVE_RAW_API 0
+
#else
#define FFI_CLOSURES 0
diff --git a/libffi/src/ffitest.c b/libffi/src/ffitest.c
index da528317bb3..a05b746865d 100644
--- a/libffi/src/ffitest.c
+++ b/libffi/src/ffitest.c
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- ffitest.c - Copyright (c) 1996, 1997, 1998, 2002 Red Hat, Inc.
+ ffitest.c - Copyright (c) 1996, 1997, 1998, 2002, 2003 Red Hat, Inc.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -288,10 +288,121 @@ static test_structure_9 struct9 (test_structure_9 ts)
static void
closure_test_fn(ffi_cif* cif,void* resp,void** args, void* userdata)
{
- *(ffi_arg*)resp = *(int*)args[0] + (int)(*(float*)args[1]) + (int)(long)userdata;
+ *(ffi_arg*)resp =
+ (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) +
+ (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] +
+ (int)(*(signed short *)args[4]) +
+ (int)(*(unsigned long long *)args[5]) +
+ (int)*(int *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(int *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (int)(long)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]),
+ (int)(*(unsigned long long *)args[2]),
+ (int)*(int *)args[3], (int)(*(signed short *)args[4]),
+ (int)(*(unsigned long long *)args[5]),
+ (int)*(int *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(int *)args[13]),
+ (int)(*(int *)args[14]),*(int *)args[15],
+ (int)(long)userdata, *(int*)resp);
}
-typedef int (*closure_test_type)(int, float);
+typedef int (*closure_test_type)(unsigned long long, int, unsigned long long,
+ int, signed short, unsigned long long, int,
+ int, double, int, int, float, int, int,
+ int, int);
+
+static void closure_test_fn1(ffi_cif* cif,void* resp,void** args,
+ void* userdata)
+ {
+ *(ffi_arg*)resp =
+ (int)*(float *)args[0] +(int)(*(float *)args[1]) +
+ (int)(*(float *)args[2]) + (int)*(float *)args[3] +
+ (int)(*(signed short *)args[4]) + (int)(*(float *)args[5]) +
+ (int)*(float *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double*)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(int *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (int)(long)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(float *)args[0], (int)(*(float *)args[1]),
+ (int)(*(float *)args[2]), (int)*(float *)args[3],
+ (int)(*(signed short *)args[4]), (int)(*(float *)args[5]),
+ (int)*(float *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(int *)args[13]),
+ (int)(*(int *)args[14]), *(int *)args[15],
+ (int)(long)userdata, *(int*)resp);
+}
+
+typedef int (*closure_test_type1)(float, float, float, float, signed short,
+ float, float, int, double, int, int, float,
+ int, int, int, int);
+
+static void closure_test_fn2(ffi_cif* cif,void* resp,void** args,
+ void* userdata)
+ {
+ *(ffi_arg*)resp =
+ (int)*(double *)args[0] +(int)(*(double *)args[1]) +
+ (int)(*(double *)args[2]) + (int)*(double *)args[3] +
+ (int)(*(signed short *)args[4]) + (int)(*(double *)args[5]) +
+ (int)*(double *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(float *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (int)(long)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(double *)args[0], (int)(*(double *)args[1]),
+ (int)(*(double *)args[2]), (int)*(double *)args[3],
+ (int)(*(signed short *)args[4]), (int)(*(double *)args[5]),
+ (int)*(double *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double*)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(float *)args[13]),
+ (int)(*(int *)args[14]), *(int *)args[15], (int)(long)userdata,
+ *(int*)resp);
+ }
+
+typedef int (*closure_test_type2)(double, double, double, double, signed short,
+ double, double, int, double, int, int, float,
+ int, float, int, int);
+
+static void closure_test_fn3(ffi_cif* cif,void* resp,void** args,
+ void* userdata)
+ {
+ *(ffi_arg*)resp =
+ (int)*(float *)args[0] +(int)(*(float *)args[1]) +
+ (int)(*(float *)args[2]) + (int)*(float *)args[3] +
+ (int)(*(float *)args[4]) + (int)(*(float *)args[5]) +
+ (int)*(float *)args[6] + (int)(*(float *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(float *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(float *)args[13]) +
+ (int)(*(float *)args[14]) + *(int *)args[15] + (int)(long)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(float *)args[0], (int)(*(float *)args[1]),
+ (int)(*(float *)args[2]), (int)*(float *)args[3],
+ (int)(*(float *)args[4]), (int)(*(float *)args[5]),
+ (int)*(float *)args[6], (int)(*(float *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(float *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(float *)args[13]),
+ (int)(*(float *)args[14]), *(int *)args[15], (int)(long)userdata,
+ *(int*)resp);
+ }
+
+typedef int (*closure_test_type3)(float, float, float, float, float, float,
+ float, float, double, int, float, float, int,
+ float, float, int);
#endif
int main(/*@unused@*/ int argc, /*@unused@*/ char *argv[])
@@ -315,6 +426,14 @@ int main(/*@unused@*/ int argc, /*@unused@*/ char *argv[])
ffi_arg rint;
long long rlonglong;
+# if FFI_CLOSURES
+ /* The closure must not be an automatic variable on
+ platforms (Solaris) that forbid stack execution by default. */
+ static ffi_closure cl;
+#endif
+
+ ffi_type * cl_arg_types[17];
+
ffi_type ts1_type;
ffi_type ts2_type;
ffi_type ts3_type;
@@ -1044,22 +1163,137 @@ int main(/*@unused@*/ int argc, /*@unused@*/ char *argv[])
# if FFI_CLOSURES
/* A simple closure test */
{
- ffi_closure cl;
- ffi_type * cl_arg_types[3];
+ (void) puts("\nEnter FFI_CLOSURES\n");
+
+ cl_arg_types[0] = &ffi_type_uint64;
+ cl_arg_types[1] = &ffi_type_uint;
+ cl_arg_types[2] = &ffi_type_uint64;
+ cl_arg_types[3] = &ffi_type_uint;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_uint64;
+ cl_arg_types[6] = &ffi_type_uint;
+ cl_arg_types[7] = &ffi_type_uint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_uint;
+ cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_uint;
+ cl_arg_types[13] = &ffi_type_uint;
+ cl_arg_types[14] = &ffi_type_uint;
+ cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure(&cl, &cif, closure_test_fn,
+ (void *) 3 /* userdata */) == FFI_OK);
+
+ CHECK((*((closure_test_type)(&cl)))
+ (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13,
+ 19, 21, 1) == 680);
+ }
+
+ {
- cl_arg_types[0] = &ffi_type_sint;
+ cl_arg_types[0] = &ffi_type_float;
cl_arg_types[1] = &ffi_type_float;
- cl_arg_types[2] = NULL;
+ cl_arg_types[2] = &ffi_type_float;
+ cl_arg_types[3] = &ffi_type_float;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_float;
+ cl_arg_types[6] = &ffi_type_float;
+ cl_arg_types[7] = &ffi_type_uint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_uint;
+ cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_uint;
+ cl_arg_types[13] = &ffi_type_uint;
+ cl_arg_types[14] = &ffi_type_uint;
+ cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[16] = NULL;
/* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
- CHECK(ffi_prep_closure(&cl, &cif, closure_test_fn,
- (void *) 3 /* userdata */)
- == FFI_OK);
- CHECK((*((closure_test_type)(&cl)))(1, 2.0) == 6);
+ CHECK(ffi_prep_closure(&cl, &cif, closure_test_fn1,
+ (void *) 3 /* userdata */) == FFI_OK);
+
+ CHECK((*((closure_test_type1)(&cl)))
+ (1.1, 2.2, 3.3, 4.4, 127, 5.5, 6.6, 8, 9, 10, 11, 12.0, 13,
+ 19, 21, 1) == 255);
+ }
+
+ {
+
+ cl_arg_types[0] = &ffi_type_double;
+ cl_arg_types[1] = &ffi_type_double;
+ cl_arg_types[2] = &ffi_type_double;
+ cl_arg_types[3] = &ffi_type_double;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_double;
+ cl_arg_types[6] = &ffi_type_double;
+ cl_arg_types[7] = &ffi_type_uint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_uint;
+ cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_uint;
+ cl_arg_types[13] = &ffi_type_float;
+ cl_arg_types[14] = &ffi_type_uint;
+ cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure(&cl, &cif, closure_test_fn2,
+ (void *) 3 /* userdata */) == FFI_OK);
+
+ CHECK((*((closure_test_type2)(&cl)))
+ (1, 2, 3, 4, 127, 5, 6, 8, 9, 10, 11, 12.0, 13,
+ 19.0, 21, 1) == 255);
+
+ }
+
+ {
+
+ cl_arg_types[0] = &ffi_type_float;
+ cl_arg_types[1] = &ffi_type_float;
+ cl_arg_types[2] = &ffi_type_float;
+ cl_arg_types[3] = &ffi_type_float;
+ cl_arg_types[4] = &ffi_type_float;
+ cl_arg_types[5] = &ffi_type_float;
+ cl_arg_types[6] = &ffi_type_float;
+ cl_arg_types[7] = &ffi_type_float;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_uint;
+ cl_arg_types[10] = &ffi_type_float;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_uint;
+ cl_arg_types[13] = &ffi_type_float;
+ cl_arg_types[14] = &ffi_type_float;
+ cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure(&cl, &cif, closure_test_fn3,
+ (void *) 3 /* userdata */) == FFI_OK);
+
+ CHECK((*((closure_test_type3)(&cl)))
+ (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9, 10, 11.11, 12.0, 13,
+ 19.19, 21.21, 1) == 135);
}
+
+ (void) puts("\nFinished FFI_CLOSURES\n");
+
# endif
/* If we arrived here, all is good */
diff --git a/libffi/src/powerpc/aix_closure.S b/libffi/src/powerpc/aix_closure.S
index 7fa96f1fc95..d0d50ca56bd 100644
--- a/libffi/src/powerpc/aix_closure.S
+++ b/libffi/src/powerpc/aix_closure.S
@@ -1,6 +1,6 @@
/* -----------------------------------------------------------------------
- aix_closures.S - Copyright (c) 2002 Free Software Foundation, Inc.
- based on darwin_closures.S
+ aix_closure.S - Copyright (c) 2002 2003 Free Software Foundation, Inc.
+ based on darwin_closure.S
PowerPC Assembly glue.
@@ -106,24 +106,25 @@ ffi_closure_ASM:
/* 24 Bytes (Linkage Area) */
/* 32 Bytes (params) */
/* 104 Bytes (13*8 from FPR) */
- /* 4 Bytes (result)
- /* 164 Bytes */
+ /* 8 Bytes (result)
+ /* 168 Bytes */
- stwu r1,-164(r1) /* skip over caller save area */
+ stwu r1,-176(r1) /* skip over caller save area
+ keep stack aligned to 16 */
/* we want to build up an area for the parameters passed */
/* in registers (both floating point and integer) */
- /* we store gpr 3 to gpr 10 (aligned to 4) */
- /* in the parents outgoing area */
- stw r3, 188(r1)
- stw r4, 192(r1)
- stw r5, 196(r1)
- stw r6, 200(r1)
- stw r7, 204(r1)
- stw r8, 208(r1)
- stw r9, 212(r1)
- stw r10, 216(r1)
+ /* we store gpr 3 to gpr 10 (aligned to 4)
+ in the parents outgoing area */
+ stw r3, 200(r1)
+ stw r4, 204(r1)
+ stw r5, 208(r1)
+ stw r6, 212(r1)
+ stw r7, 216(r1)
+ stw r8, 220(r1)
+ stw r9, 224(r1)
+ stw r10, 228(r1)
/* next save fpr 1 to fpr 13 (aligned to 8) */
stfd f1, 56(r1)
@@ -148,14 +149,14 @@ ffi_closure_ASM:
addi r4,r1,160
/* now load up the pointer to the saved gpr registers */
- addi r5,r1,188
+ addi r5,r1,200
/* now load up the pointer to the saved fpr registers */
addi r6,r1,56
/* now load up the pointer to the outgoing parameter */
/* stack in the previous frame */
- addi r7,r1,220
+ addi r7,r1,232
/* make the call */
bl .ffi_closure_helper_DARWIN
@@ -243,7 +244,7 @@ L..58:
/* case void / done */
L..44:
- addi r1,r1,164 /* restore stack pointer */
+ addi r1,r1,176 /* restore stack pointer */
lwz r0,8(r1) /* get return address */
mtlr r0 /* reset link register */
blr
diff --git a/libffi/src/powerpc/darwin.S b/libffi/src/powerpc/darwin.S
index 9da89bde287..108d2acff72 100644
--- a/libffi/src/powerpc/darwin.S
+++ b/libffi/src/powerpc/darwin.S
@@ -3,8 +3,6 @@
PowerPC Assembly glue.
- $Id: darwin.S,v 1.1 2001/10/09 05:32:15 bryce Exp $
-
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
``Software''), to deal in the Software without restriction, including
@@ -39,30 +37,34 @@
.text
.align 2
_ffi_call_DARWIN:
- mr r12,r8 // We only need r12 until the call, so it doesn't have to be saved...
+LFB0:
+ mr r12,r8 /* We only need r12 until the call,
+ so it doesn't have to be saved... */
+LFB1:
/* Save the old stack pointer as AP. */
mr r8,r1
-
+LCFI0:
/* Allocate the stack space we need. */
stwux r1,r1,r4
/* Save registers we use. */
mflr r9
- stw r28,-16(r8)
+ stw r28,-16(r8)
stw r29,-12(r8)
stw r30, -8(r8)
stw r31, -4(r8)
-
- stw r9, 8(r8)
+
+ stw r9, 8(r8)
stw r2, 20(r1)
+LCFI1:
/* Save arguments over call... */
- mr r31,r5 /* flags, */
- mr r30,r6 /* rvalue, */
- mr r29,r7 /* function address, */
- mr r28,r8 /* our AP. */
-
+ mr r31,r5 /* flags, */
+ mr r30,r6 /* rvalue, */
+ mr r29,r7 /* function address, */
+ mr r28,r8 /* our AP. */
+LCFI2:
/* Call ffi_prep_args. */
mr r4,r1
li r9,0
@@ -145,7 +147,8 @@ L(fp_return_value):
L(float_return_value):
stfs f1,0(r30)
b L(done_return_value)
-//END(_ffi_call_DARWIN)
+LFE1:
+/* END(_ffi_call_DARWIN) */
/* Provide a null definition of _ffi_call_AIX. */
.text
@@ -155,5 +158,61 @@ L(float_return_value):
.align 2
_ffi_call_AIX:
blr
-//END(_ffi_call_AIX)
-
+/* END(_ffi_call_AIX) */
+
+.data
+.section __TEXT,__eh_frame
+Lframe1:
+ .set L$set$0,LECIE1-LSCIE1
+ .long L$set$0 ; Length of Common Information Entry
+LSCIE1:
+ .long 0x0 ; CIE Identifier Tag
+ .byte 0x1 ; CIE Version
+ .ascii "zR\0" ; CIE Augmentation
+ .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor
+ .byte 0x7c ; sleb128 -4; CIE Data Alignment Factor
+ .byte 0x41 ; CIE RA Column
+ .byte 0x1 ; uleb128 0x1; Augmentation size
+ .byte 0x10 ; FDE Encoding (pcrel)
+ .byte 0xc ; DW_CFA_def_cfa
+ .byte 0x1 ; uleb128 0x1
+ .byte 0x0 ; uleb128 0x0
+ .align 2
+LECIE1:
+LSFDE1:
+ .set L$set$1,LEFDE1-LASFDE1
+ .long L$set$1 ; FDE Length
+LASFDE1:
+ .set L$set$2,LASFDE1-Lframe1
+ .long L$set$2 ; FDE CIE offset
+ .long LFB0-. ; FDE initial location
+ .set L$set$3,LFE1-LFB0
+ .long L$set$3 ; FDE address range
+ .byte 0x0 ; uleb128 0x0; Augmentation size
+ .byte 0x4 ; DW_CFA_advance_loc4
+ .set L$set$4,LCFI0-LFB1
+ .long L$set$4
+ .byte 0xd ; DW_CFA_def_cfa_register
+ .byte 0x08 ; uleb128 0x08
+ .byte 0x4 ; DW_CFA_advance_loc4
+ .set L$set$5,LCFI1-LCFI0
+ .long L$set$5
+ .byte 0x11 ; DW_CFA_offset_extended_sf
+ .byte 0x41 ; uleb128 0x41
+ .byte 0x7e ; sleb128 -2
+ .byte 0x9f ; DW_CFA_offset, column 0x1f
+ .byte 0x1 ; uleb128 0x1
+ .byte 0x9e ; DW_CFA_offset, column 0x1e
+ .byte 0x2 ; uleb128 0x2
+ .byte 0x9d ; DW_CFA_offset, column 0x1d
+ .byte 0x3 ; uleb128 0x3
+ .byte 0x9c ; DW_CFA_offset, column 0x1c
+ .byte 0x4 ; uleb128 0x4
+ .byte 0x4 ; DW_CFA_advance_loc4
+ .set L$set$6,LCFI2-LCFI1
+ .long L$set$6
+ .byte 0xd ; DW_CFA_def_cfa_register
+ .byte 0x1c ; uleb128 0x1c
+ .align 2
+LEFDE1:
+
diff --git a/libffi/src/powerpc/darwin_closure.S b/libffi/src/powerpc/darwin_closure.S
index 9e54d2231b9..9ae17d8cce8 100644
--- a/libffi/src/powerpc/darwin_closure.S
+++ b/libffi/src/powerpc/darwin_closure.S
@@ -1,6 +1,6 @@
/* -----------------------------------------------------------------------
- darwin_closures.S - Copyright (c) 2002 Free Software Foundation, Inc.
- based on ppc_closures.S
+ darwin_closure.S - Copyright (c) 2002 2003 Free Software Foundation,
+ Inc. based on ppc_closure.S
PowerPC Assembly glue.
@@ -37,31 +37,32 @@
.text
.align 2
_ffi_closure_ASM:
+LFB1:
+ mflr r0 /* extract return address */
+ stw r0, 8(r1) /* save the return address */
+LCFI0:
+ /* 24 Bytes (Linkage Area)
+ 32 Bytes (outgoing parameter area, always reserved)
+ 104 Bytes (13*8 from FPR)
+ 8 Bytes (result)
+ 168 Bytes */
- mflr r0 /* extract return address */
- stw r0, 8(r1) /* save the return address */
+ stwu r1,-176(r1) /* skip over caller save area
+ keep stack aligned to 16 */
+LCFI1:
+ /* we want to build up an area for the parameters passed
+ in registers (both floating point and integer) */
- /* 24 Bytes (Linkage Area) */
- /* 32 Bytes (outgoing parameter area, always reserved) */
- /* 104 Bytes (13*8 from FPR) */
- /* 4 Bytes (result)
- /* 164 Bytes */
-
- stwu r1,-164(r1) /* skip over caller save area */
-
-/* we want to build up an area for the parameters passed */
-/* in registers (both floating point and integer) */
-
- /* we store gpr 3 to gpr 10 (aligned to 4) */
- /* in the parents outgoing area */
- stw r3, 188(r1)
- stw r4, 192(r1)
- stw r5, 196(r1)
- stw r6, 200(r1)
- stw r7, 204(r1)
- stw r8, 208(r1)
- stw r9, 212(r1)
- stw r10, 216(r1)
+ /* we store gpr 3 to gpr 10 (aligned to 4)
+ in the parents outgoing area */
+ stw r3, 200(r1)
+ stw r4, 204(r1)
+ stw r5, 208(r1)
+ stw r6, 212(r1)
+ stw r7, 216(r1)
+ stw r8, 220(r1)
+ stw r9, 224(r1)
+ stw r10, 228(r1)
/* we save fpr 1 to fpr 13 (aligned to 8) */
stfd f1, 56(r1)
@@ -85,15 +86,15 @@ _ffi_closure_ASM:
/* now load up the pointer to the result storage */
addi r4,r1,160
- /* now load up the pointer to the saved gpr registers */
- addi r5,r1,188
+ /* now load up the pointer to the saved gpr registers */
+ addi r5,r1,200
/* now load up the pointer to the saved fpr registers */
addi r6,r1,56
- /* now load up the pointer to the outgoing parameter */
- /* stack in the previous frame */
- addi r7,r1,220
+ /* now load up the pointer to the outgoing parameter
+ stack in the previous frame */
+ addi r7,r1,232
/* make the call */
bl L(_ffi_closure_helper_DARWIN)
@@ -111,7 +112,9 @@ _ffi_closure_ASM:
lwzx r3,r4,r3 /* get the contents of that table value */
add r3,r3,r4 /* add contents of table to table address */
mtctr r3
- bctr /* jump to it */
+ bctr /* jump to it */
+LFE1:
+ .align 2
.L60:
.long .L44-.L60 /* FFI_TYPE_VOID */
@@ -180,10 +183,54 @@ _ffi_closure_ASM:
/* case void / done */
.L44:
- addi r1,r1,164 /* restore stack pointer */
- lwz r0,8(r1) /* get return address */
- mtlr r0 /* reset link register */
+ addi r1,r1,176 /* restore stack pointer */
+ lwz r0,8(r1) /* get return address */
+ mtlr r0 /* reset link register */
blr
-/* END(ffi_closure_ASM) */
+/* END(ffi_closure_ASM) */
+
+.data
+.section __TEXT,__eh_frame
+Lframe1:
+ .set L$set$0,LECIE1-LSCIE1
+ .long L$set$0 ; Length of Common Information Entry
+LSCIE1:
+ .long 0x0 ; CIE Identifier Tag
+ .byte 0x1 ; CIE Version
+ .ascii "zR\0" ; CIE Augmentation
+ .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor
+ .byte 0x7c ; sleb128 -4; CIE Data Alignment Factor
+ .byte 0x41 ; CIE RA Column
+ .byte 0x1 ; uleb128 0x1; Augmentation size
+ .byte 0x10 ; FDE Encoding (pcrel)
+ .byte 0xc ; DW_CFA_def_cfa
+ .byte 0x1 ; uleb128 0x1
+ .byte 0x0 ; uleb128 0x0
+ .align 2
+LECIE1:
+LSFDE1:
+ .set L$set$1,LEFDE1-LASFDE1
+ .long L$set$1 ; FDE Length
+
+LASFDE1:
+ .set L$set$2,LASFDE1-Lframe1
+ .long L$set$2 ; FDE CIE offset
+ .long LFB1-. ; FDE initial location
+ .set L$set$3,LFE1-LFB1
+ .long L$set$3 ; FDE address range
+ .byte 0x0 ; uleb128 0x0; Augmentation size
+ .byte 0x4 ; DW_CFA_advance_loc4
+ .set L$set$3,LCFI1-LCFI0
+ .long L$set$3
+ .byte 0xe ; DW_CFA_def_cfa_offset
+ .byte 176,1 ; uleb128 176
+ .byte 0x4 ; DW_CFA_advance_loc4
+ .set L$set$4,LCFI0-LFB1
+ .long L$set$4
+ .byte 0x11 ; DW_CFA_offset_extended_sf
+ .byte 0x41 ; uleb128 0x41
+ .byte 0x7e ; sleb128 -2
+ .align 2
+LEFDE1:
diff --git a/libffi/src/powerpc/ffi.c b/libffi/src/powerpc/ffi.c
index c93aec0ed87..ea1a14e8f65 100644
--- a/libffi/src/powerpc/ffi.c
+++ b/libffi/src/powerpc/ffi.c
@@ -137,11 +137,20 @@ void ffi_prep_args(extended_cif *ecif, unsigned *const stack)
switch ((*ptr)->type)
{
case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- if ((*ptr)->type == FFI_TYPE_FLOAT)
- double_tmp = *(float *)*p_argv;
+ double_tmp = *(float *)*p_argv;
+ if (fparg_count >= NUM_FPR_ARG_REGISTERS)
+ {
+ *(float *)next_arg = (float)double_tmp;
+ next_arg += 1;
+ }
else
- double_tmp = *(double *)*p_argv;
+ *fpr_base++ = double_tmp;
+ fparg_count++;
+ FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
+ break;
+
+ case FFI_TYPE_DOUBLE:
+ double_tmp = *(double *)*p_argv;
if (fparg_count >= NUM_FPR_ARG_REGISTERS)
{
@@ -320,6 +329,10 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
switch ((*ptr)->type)
{
case FFI_TYPE_FLOAT:
+ fparg_count++;
+ /* floating singles are not 8-aligned on stack */
+ break;
+
case FFI_TYPE_DOUBLE:
fparg_count++;
/* If this FP arg is going on the stack, it must be
@@ -612,20 +625,15 @@ ffi_closure_helper_SYSV (ffi_closure* closure, void * rvalue,
case FFI_TYPE_FLOAT:
/* unfortunately float values are stored as doubles
* in the ffi_closure_SYSV code (since we don't check
- * the type in that routine). This is also true
- * of floats passed on the outgoing parameter stack.
- * Also, on the outgoing stack all values are aligned
- * to 8
- *
- * Don't you just love the simplicity of this ABI!
+ * the type in that routine).
*/
/* there are 8 64bit floating point registers */
if (nf < 8) {
- temp = *(double*)pfr;
+ temp = *(double*)pfr;
*(float*)pfr = (float)temp;
- avalue[i] = pfr;
+ avalue[i] = pfr;
nf++;
pfr+=2;
} else {
@@ -634,12 +642,9 @@ ffi_closure_helper_SYSV (ffi_closure* closure, void * rvalue,
* parameter stack. This is probably a really
* naughty thing to do but...
*/
- if (((long)pst) & 4) pst++;
- temp = *(double*)pst;
- *(float*)pst = (float)temp;
avalue[i] = pst;
nf++;
- pst+=2;
+ pst+=1;
}
break;
diff --git a/libffi/src/powerpc/ffi_darwin.c b/libffi/src/powerpc/ffi_darwin.c
index d9182ab741d..3f705275c5f 100644
--- a/libffi/src/powerpc/ffi_darwin.c
+++ b/libffi/src/powerpc/ffi_darwin.c
@@ -6,8 +6,6 @@
Darwin ABI support (c) 2001 John Hornkvist
AIX ABI support (c) 2002 Free Software Foundation, Inc.
- $Id: ffi_darwin.c,v 1.4 2002/03/07 18:24:42 dje Exp $
-
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
``Software''), to deal in the Software without restriction, including
@@ -412,38 +410,40 @@ typedef struct aix_fd_struct {
+---------------------------------------+ 20
| saved TOC pointer 4 |
+---------------------------------------+ 24
- | always reserved 8*4=32 (revious GPRs)|
+ | always reserved 8*4=32 (previous GPRs)|
| according to the linkage convention |
- | from AIX |
+ | from AIX |
+---------------------------------------+ 56
- | our FPR area 13*8=104 |
- | f1 |
- | . |
- | f13 |
+ | our FPR area 13*8=104 |
+ | f1 |
+ | . |
+ | f13 |
+---------------------------------------+ 160
- | result area 4 |
-SP current --> +---------------------------------------+ 164 <- parent frame
- | back chain to caller 4 |
+ | result area 8 |
+---------------------------------------+ 168
+ | alignement to the next multiple of 16 |
+SP current --> +---------------------------------------+ 176 <- parent frame
+ | back chain to caller 4 |
+ +---------------------------------------+ 180
| saved CR 4 |
- +---------------------------------------+ 172
+ +---------------------------------------+ 184
| saved LR 4 |
- +---------------------------------------+ 176
+ +---------------------------------------+ 188
| reserved for compilers 4 |
- +---------------------------------------+ 180
+ +---------------------------------------+ 192
| reserved for binders 4 |
- +---------------------------------------+ 184
+ +---------------------------------------+ 196
| saved TOC pointer 4 |
- +---------------------------------------+ 188
+ +---------------------------------------+ 200
| always reserved 8*4=32 we store our |
- | GPRs here |
- | r3 |
- | . |
- | r10 |
- +---------------------------------------+ 220
- | PST area, overflow part |
+ | GPRs here |
+ | r3 |
+ | . |
+ | r10 |
+ +---------------------------------------+ 232
+ | PST area, overflow part |
+---------------------------------------+ xxx
- | ???? |
+ | ???? |
+---------------------------------------+ xxx
*/
diff --git a/libffi/src/powerpc/ppc_closure.S b/libffi/src/powerpc/ppc_closure.S
index a9ea9c7ee52..e402fb5cda3 100644
--- a/libffi/src/powerpc/ppc_closure.S
+++ b/libffi/src/powerpc/ppc_closure.S
@@ -1,14 +1,13 @@
#define LIBFFI_ASM
#include <powerpc/asm.h>
-.globl ffi_closure_helper_SYSV
+ .file "ppc_closure.S"
ENTRY(ffi_closure_SYSV)
.LFB1:
stwu %r1,-144(%r1)
.LCFI0:
mflr %r0
- stw %r31,140(%r1)
.LCFI1:
stw %r0,148(%r1)
@@ -63,87 +62,136 @@ ENTRY(ffi_closure_SYSV)
# look up the proper starting point in table
# by using return type as offset
addi %r5,%r1,112 # get pointer to results area
- addis %r4,0,.L60@ha # get address of jump table
- addi %r4,%r4,.L60@l
- slwi %r3,%r3,2 # now multiply return type by 4
- lwzx %r3,%r4,%r3 # get the contents of that table value
- add %r3,%r3,%r4 # add contents of table to table address
+ bl .Lget_ret_type0_addr # get pointer to .Lret_type0 into LR
+ mflr %r4 # move to r4
+ slwi %r3,%r3,4 # now multiply return type by 16
+ add %r3,%r3,%r4 # add contents of table to table address
mtctr %r3
bctr # jump to it
.LFE1:
- .align 2
-.L60:
- .long .L44-.L60 # FFI_TYPE_VOID
- .long .L50-.L60 # FFI_TYPE_INT
- .long .L47-.L60 # FFI_TYPE_FLOAT
- .long .L46-.L60 # FFI_TYPE_DOUBLE
- .long .L46-.L60 # FFI_TYPE_LONGDOUBLE
- .long .L56-.L60 # FFI_TYPE_UINT8
- .long .L55-.L60 # FFI_TYPE_SINT8
- .long .L58-.L60 # FFI_TYPE_UINT16
- .long .L57-.L60 # FFI_TYPE_SINT16
- .long .L50-.L60 # FFI_TYPE_UINT32
- .long .L50-.L60 # FFI_TYPE_SINT32
- .long .L48-.L60 # FFI_TYPE_UINT64
- .long .L48-.L60 # FFI_TYPE_SINT64
- .long .L44-.L60 # FFI_TYPE_STRUCT
- .long .L50-.L60 # FFI_TYPE_POINTER
-
-
-# case double
-.L46:
- lfd %f1,0(%r5)
- b .L44
-# case float
-.L47:
+# Each of the ret_typeX code fragments has to be exactly 16 bytes long
+# (4 instructions). For cache effectiveness we align to a 16 byte boundary
+# first.
+ .align 4
+
+ nop
+ nop
+ nop
+.Lget_ret_type0_addr:
+ blrl
+
+# case FFI_TYPE_VOID
+.Lret_type0:
+ b .Lfinish
+ nop
+ nop
+ nop
+
+# case FFI_TYPE_INT
+.Lret_type1:
+ lwz %r3,0(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_FLOAT
+.Lret_type2:
lfs %f1,0(%r5)
- b .L44
-
-# case long long
-.L48:
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_DOUBLE
+.Lret_type3:
+ lfd %f1,0(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_LONGDOUBLE
+.Lret_type4:
+ lfd %f1,0(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_UINT8
+.Lret_type5:
+ lbz %r3,3(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_SINT8
+.Lret_type6:
+ lbz %r3,3(%r5)
+ extsb %r3,%r3
+ b .Lfinish
+ nop
+
+# case FFI_TYPE_UINT16
+.Lret_type7:
+ lhz %r3,2(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_SINT16
+.Lret_type8:
+ lha %r3,2(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_UINT32
+.Lret_type9:
+ lwz %r3,0(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_SINT32
+.Lret_type10:
+ lwz %r3,0(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case FFI_TYPE_UINT64
+.Lret_type11:
lwz %r3,0(%r5)
lwz %r4,4(%r5)
- b .L44
-
-# case default / int32 / pointer
-.L50:
+ b .Lfinish
+ nop
+
+# case FFI_TYPE_SINT64
+.Lret_type12:
lwz %r3,0(%r5)
- b .L44
-
-# case signed int8
-.L55:
- addi %r5,%r5,3
- lbz %r3,0(%r5)
- extsb %r3,%r3
- b .L44
-
-# case unsigned int8
-.L56:
- addi %r5,%r5,3
- lbz %r3,0(%r5)
- b .L44
-
-# case signed int16
-.L57:
- addi %r5,%r5,2
- lhz %r3,0(%r5)
- extsh %r3,%r3
- b .L44
-
-#case unsigned int16
-.L58:
- addi %r5,%r5,2
- lhz %r3,0(%r5)
-
-# case void / done
-.L44:
+ lwz %r4,4(%r5)
+ b .Lfinish
+ nop
+
+# case FFI_TYPE_STRUCT
+.Lret_type13:
+ b .Lfinish
+ nop
+ nop
+ nop
+
+# case FFI_TYPE_POINTER
+.Lret_type14:
+ lwz %r3,0(%r5)
+ b .Lfinish
+ nop
+ nop
+
+# case done
+.Lfinish:
- lwz %r11,0(%r1)
- lwz %r0,4(%r11)
+ lwz %r0,148(%r1)
mtlr %r0
- lwz %r31,-4(%r11)
- mr %r1,%r11
+ addi %r1,%r1,144
blr
END(ffi_closure_SYSV)
diff --git a/libffi/src/sparc/ffi.c b/libffi/src/sparc/ffi.c
index dc975356b4b..573fc84ee5a 100644
--- a/libffi/src/sparc/ffi.c
+++ b/libffi/src/sparc/ffi.c
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1996 Cygnus Solutions
+ ffi.c - Copyright (c) 1996, 2003 Cygnus Solutions
Sparc Foreign Function Interface
@@ -28,6 +28,12 @@
#include <stdlib.h>
+#ifdef SPARC64
+extern void ffi_closure_v9(void);
+#else
+extern void ffi_closure_v8(void);
+#endif
+
/* ffi_prep_args is called by the assembly routine once stack space
has been allocated for the function's arguments */
@@ -409,3 +415,101 @@ void ffi_call(ffi_cif *cif, void (*fn)(), void *rvalue, void **avalue)
}
}
+
+ffi_status
+ffi_prep_closure (ffi_closure* closure,
+ ffi_cif* cif,
+ void (*fun)(ffi_cif*, void*, void**, void*),
+ void *user_data)
+{
+ unsigned int *tramp = (unsigned int *) &closure->tramp[0];
+ unsigned long fn;
+ unsigned long ctx = (unsigned long) closure;
+
+#ifdef SPARC64
+ /* Trampoline address is equal to the closure address. We take advantage
+ of that to reduce the trampoline size by 8 bytes. */
+ FFI_ASSERT (cif->abi == FFI_V9);
+ fn = (unsigned long) ffi_closure_v9;
+ tramp[0] = 0x83414000; /* rd %pc, %g1 */
+ tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */
+ tramp[2] = 0x81c14000; /* jmp %g5 */
+ tramp[3] = 0x01000000; /* nop */
+ *((unsigned long *) &tramp[4]) = fn;
+#else
+ FFI_ASSERT (cif->abi == FFI_V8);
+ fn = (unsigned long) ffi_closure_v8;
+ tramp[0] = 0x03000000 | fn >> 10; /* sethi %hi(fn), %g1 */
+ tramp[1] = 0x05000000 | ctx >> 10; /* sethi %hi(ctx), %g2 */
+ tramp[2] = 0x81c06000 | (fn & 0x3ff); /* jmp %g1+%lo(fn) */
+ tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or %g2, %lo(ctx) */
+#endif
+
+ closure->cif = cif;
+ closure->fun = fun;
+ closure->user_data = user_data;
+
+ /* Flush the Icache. FIXME: alignment isn't certain, assume 8 bytes */
+#ifdef SPARC64
+ asm volatile ("flush %0" : : "r" (closure) : "memory");
+ asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
+#else
+ asm volatile ("iflush %0" : : "r" (closure) : "memory");
+ asm volatile ("iflush %0" : : "r" (((char *) closure) + 8) : "memory");
+#endif
+
+ return FFI_OK;
+}
+
+int
+ffi_closure_sparc_inner(ffi_closure *closure,
+ void *rvalue, unsigned long *gpr, double *fpr)
+{
+ ffi_cif *cif;
+ void **avalue;
+ ffi_type **arg_types;
+ int i, avn, argn;
+
+ cif = closure->cif;
+ avalue = alloca(cif->nargs * sizeof(void *));
+
+ argn = 0;
+
+ /* Copy the caller's structure return address to that the closure
+ returns the data directly to the caller. */
+ if (cif->flags == FFI_TYPE_STRUCT)
+ {
+ rvalue = (void *) gpr[0];
+ argn = 1;
+ }
+
+ i = 0;
+ avn = cif->nargs;
+ arg_types = cif->arg_types;
+
+ /* Grab the addresses of the arguments from the stack frame. */
+ while (i < avn)
+ {
+ /* Assume big-endian. FIXME */
+ argn += ALIGN(arg_types[i]->size, SIZEOF_ARG) / SIZEOF_ARG;
+
+#ifdef SPARC64
+ if (i < 6 && (arg_types[i]->type == FFI_TYPE_FLOAT
+ || arg_types[i]->type == FFI_TYPE_DOUBLE
+#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
+ || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
+#endif
+ ))
+ avalue[i] = ((char *) &fpr[argn]) - arg_types[i]->size;
+ else
+#endif
+ avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
+ i++;
+ }
+
+ /* Invoke the closure. */
+ (closure->fun) (cif, rvalue, avalue, closure->user_data);
+
+ /* Tell ffi_closure_sparc how to perform return type promotions. */
+ return cif->rtype->type;
+}
diff --git a/libffi/src/sparc/v8.S b/libffi/src/sparc/v8.S
index d94fe03d2aa..53374de3855 100644
--- a/libffi/src/sparc/v8.S
+++ b/libffi/src/sparc/v8.S
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- v8.S - Copyright (c) 1996, 1997 Cygnus Solutions
+ v8.S - Copyright (c) 1996, 1997, 2003 Cygnus Solutions
Sparc Foreign Function Interface
@@ -94,6 +94,74 @@ longlong:
.ffi_call_V8_end:
.size ffi_call_V8,.ffi_call_V8_end-ffi_call_V8
+
+#define STACKFRAME 104 /* 16*4 register window +
+ 1*4 struct return +
+ 6*4 args backing store +
+ 3*4 locals */
+
+/* ffi_closure_v8(...)
+
+ Receives the closure argument in %g2. */
+
+ .text
+ .align 8
+ .globl ffi_closure_v8
+
+ffi_closure_v8:
+#ifdef HAVE_AS_REGISTER_PSEUDO_OP
+ .register %g2, #scratch
+#endif
+.LLFB2:
+ save %sp, -STACKFRAME, %sp
+.LLCFI1:
+
+ ! Store all of the potential argument registers in va_list format.
+ st %i0, [%fp+68+0]
+ st %i1, [%fp+68+4]
+ st %i2, [%fp+68+8]
+ st %i3, [%fp+68+12]
+ st %i4, [%fp+68+16]
+ st %i5, [%fp+68+20]
+
+ ! Call ffi_closure_sparc_inner to do the bulk of the work.
+ mov %g2, %o0
+ add %fp, -8, %o1
+ add %fp, 68, %o2
+ call ffi_closure_sparc_inner
+ mov 0, %o3
+
+ ! Load up the return value in the proper type.
+ cmp %o0, FFI_TYPE_VOID
+ be done1
+
+ cmp %o0, FFI_TYPE_FLOAT
+ be,a done1
+ ld [%fp-8], %f0
+
+ cmp %o0, FFI_TYPE_DOUBLE
+ be,a done1
+ ldd [%fp-8], %f0
+
+ cmp %o0, FFI_TYPE_SINT64
+ be,a integer
+ ld [%fp-4], %i1
+
+ cmp %o0, FFI_TYPE_UINT64
+ be,a integer
+ ld [%fp-4], %i1
+
+integer:
+ ld [%fp-8], %i0
+
+done1:
+ ret
+ restore
+.LLFE2:
+
+.ffi_closure_v8_end:
+ .size ffi_closure_v8,.ffi_closure_v8_end-ffi_closure_v8
+
#ifdef SPARC64
#define WS 8
#define nword xword
@@ -148,3 +216,26 @@ longlong:
.byte 0x1f ! uleb128 0x1f
.align WS
.LLEFDE1:
+.LLSFDE2:
+ .uaword .LLEFDE2-.LLASFDE2 ! FDE Length
+.LLASFDE2:
+ .uaword .LLASFDE2-.LLframe1 ! FDE CIE offset
+#ifdef HAVE_AS_SPARC_UA_PCREL
+ .uaword %r_disp32(.LLFB2)
+ .uaword .LLFE2-.LLFB2 ! FDE address range
+#else
+ .align WS
+ .nword .LLFB2
+ .uanword .LLFE2-.LLFB2 ! FDE address range
+#endif
+ .byte 0x0 ! uleb128 0x0; Augmentation size
+ .byte 0x4 ! DW_CFA_advance_loc4
+ .uaword .LLCFI1-.LLFB2
+ .byte 0xd ! DW_CFA_def_cfa_register
+ .byte 0x1e ! uleb128 0x1e
+ .byte 0x2d ! DW_CFA_GNU_window_save
+ .byte 0x9 ! DW_CFA_register
+ .byte 0xf ! uleb128 0xf
+ .byte 0x1f ! uleb128 0x1f
+ .align WS
+.LLEFDE2:
diff --git a/libffi/src/sparc/v9.S b/libffi/src/sparc/v9.S
index bd358c0d84d..8dc9c90f661 100644
--- a/libffi/src/sparc/v9.S
+++ b/libffi/src/sparc/v9.S
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- v9.S - Copyright (c) 2000 Cygnus Solutions
+ v9.S - Copyright (c) 2000, 2003 Cygnus Solutions
Sparc 64bit Foreign Function Interface
@@ -99,7 +99,7 @@ _ffi_call_V9:
cmp %i3, FFI_TYPE_STRUCT
be,pn %icc, dostruct
- cmp %i3, FFI_TYPE_LONGDOUBLE
+ cmp %i3, FFI_TYPE_LONGDOUBLE
bne,pt %icc, done
nop
std %f0, [%i4+0]
@@ -125,6 +125,88 @@ dostruct:
.ffi_call_V9_end:
.size ffi_call_V9,.ffi_call_V9_end-ffi_call_V9
+
+#define STACKFRAME 240 /* 16*8 register window +
+ 6*8 args backing store +
+ 8*8 locals */
+#define FP %fp+STACK_BIAS
+
+/* ffi_closure_v9(...)
+
+ Receives the closure argument in %g1. */
+
+ .text
+ .align 8
+ .globl ffi_closure_v9
+
+ffi_closure_v9:
+.LLFB2:
+ save %sp, -STACKFRAME, %sp
+.LLCFI1:
+
+ ! Store all of the potential argument registers in va_list format.
+ stx %i0, [FP+128+0]
+ stx %i1, [FP+128+8]
+ stx %i2, [FP+128+16]
+ stx %i3, [FP+128+24]
+ stx %i4, [FP+128+32]
+ stx %i5, [FP+128+40]
+
+ ! Store possible floating point argument registers too.
+ std %f0, [FP-48]
+ std %f2, [FP-40]
+ std %f4, [FP-32]
+ std %f6, [FP-24]
+ std %f8, [FP-16]
+ std %f10, [FP-8]
+
+ ! Call ffi_closure_sparc_inner to do the bulk of the work.
+ mov %g1, %o0
+ add %fp, STACK_BIAS-64, %o1
+ add %fp, STACK_BIAS+128, %o2
+ call ffi_closure_sparc_inner
+ add %fp, STACK_BIAS-48, %o3
+
+ ! Load up the return value in the proper type.
+ cmp %o0, FFI_TYPE_VOID
+ be,pn %icc, done1
+
+ cmp %o0, FFI_TYPE_FLOAT
+ be,a,pn %icc, done1
+ ld [FP-64], %f0
+
+ cmp %o0, FFI_TYPE_DOUBLE
+ be,a,pn %icc, done1
+ ldd [FP-64], %f0
+
+ cmp %o0, FFI_TYPE_LONGDOUBLE
+ be,a,pn %icc, longdouble1
+ ldd [FP-64], %f0
+
+ cmp %o0, FFI_TYPE_STRUCT
+ be,pn %icc, struct1
+
+ ! FFI_TYPE_UINT64 | FFI_TYPE_SINT64 | FFI_TYPE_POINTER
+ ldx [FP-64], %i0
+
+done1:
+ ret
+ restore
+
+struct1:
+ ldx [FP-56], %i2
+ ret
+ restore
+
+longdouble1:
+ ldd [FP-56], %f2
+ ret
+ restore
+.LLFE2:
+
+.ffi_closure_v9_end:
+ .size ffi_closure_v9,.ffi_closure_v9_end-ffi_closure_v9
+
.section ".eh_frame",#alloc,#write
.LLframe1:
.uaword .LLECIE1-.LLSCIE1 ! Length of Common Information Entry
@@ -169,5 +251,27 @@ dostruct:
.byte 0x1f ! uleb128 0x1f
.align 8
.LLEFDE1:
-
+.LLSFDE2:
+ .uaword .LLEFDE2-.LLASFDE2 ! FDE Length
+.LLASFDE2:
+ .uaword .LLASFDE2-.LLframe1 ! FDE CIE offset
+#ifdef HAVE_AS_SPARC_UA_PCREL
+ .uaword %r_disp32(.LLFB2)
+ .uaword .LLFE2-.LLFB2 ! FDE address range
+#else
+ .align 8
+ .xword .LLFB2
+ .uaxword .LLFE2-.LLFB2 ! FDE address range
+#endif
+ .byte 0x0 ! uleb128 0x0; Augmentation size
+ .byte 0x4 ! DW_CFA_advance_loc4
+ .uaword .LLCFI1-.LLFB2
+ .byte 0xd ! DW_CFA_def_cfa_register
+ .byte 0x1e ! uleb128 0x1e
+ .byte 0x2d ! DW_CFA_GNU_window_save
+ .byte 0x9 ! DW_CFA_register
+ .byte 0xf ! uleb128 0xf
+ .byte 0x1f ! uleb128 0x1f
+ .align 8
+.LLEFDE2:
#endif
diff --git a/libffi/src/x86/ffi.c b/libffi/src/x86/ffi.c
index 68135f97c35..bd0874f771a 100644
--- a/libffi/src/x86/ffi.c
+++ b/libffi/src/x86/ffi.c
@@ -214,35 +214,29 @@ void ffi_call(/*@dependent@*/ ffi_cif *cif,
static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
void** args, ffi_cif* cif);
-static void ffi_closure_SYSV ();
-static void ffi_closure_raw_SYSV ();
+static void ffi_closure_SYSV (ffi_closure *)
+ __attribute__ ((regparm(1)));
+static void ffi_closure_raw_SYSV (ffi_raw_closure *)
+ __attribute__ ((regparm(1)));
-/* This function is jumped to by the trampoline, on entry, %ecx (a
- * caller-save register) holds the address of the closure.
- * Clearly, this requires __GNUC__, so perhaps we should translate this
- * into an assembly file if this is to be distributed with ffi.
- */
+/* This function is jumped to by the trampoline */
static void
-ffi_closure_SYSV ()
+ffi_closure_SYSV (closure)
+ ffi_closure *closure;
{
// this is our return value storage
long double res;
// our various things...
- void *args;
ffi_cif *cif;
void **arg_area;
- ffi_closure *closure;
unsigned short rtype;
void *resp = (void*)&res;
+ void *args = __builtin_dwarf_cfa ();
- /* grab the trampoline context pointer */
- asm ("movl %%ecx,%0" : "=r" (closure));
-
cif = closure->cif;
arg_area = (void**) alloca (cif->nargs * sizeof (void*));
- asm ("leal 8(%%ebp),%0" : "=q" (args));
/* this call will initialize ARG_AREA, such that each
* element in that array points to the corresponding
@@ -330,11 +324,11 @@ ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
unsigned int __fun = (unsigned int)(FUN); \
unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - ((unsigned int) __tramp + 10); \
- *(unsigned char*) &__tramp[0] = 0xb9; \
- *(unsigned int*) &__tramp[1] = __ctx; \
- *(unsigned char*) &__tramp[5] = 0xe9; \
- *(unsigned int*) &__tramp[6] = __dis; \
+ unsigned int __dis = __fun - ((unsigned int) __tramp + FFI_TRAMPOLINE_SIZE); \
+ *(unsigned char*) &__tramp[0] = 0xb8; \
+ *(unsigned int*) &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
+ *(unsigned char *) &__tramp[5] = 0xe9; \
+ *(unsigned int*) &__tramp[6] = __dis; /* jmp __fun */ \
})
@@ -364,30 +358,23 @@ ffi_prep_closure (ffi_closure* closure,
#if !FFI_NO_RAW_API
static void
-ffi_closure_raw_SYSV ()
+ffi_closure_raw_SYSV (closure)
+ ffi_raw_closure *closure;
{
// this is our return value storage
long double res;
// our various things...
- void *args;
ffi_raw *raw_args;
ffi_cif *cif;
- ffi_raw_closure *closure;
unsigned short rtype;
void *resp = (void*)&res;
- /* grab the trampoline context pointer */
- asm ("movl %%ecx,%0" : "=r" (closure));
-
- /* take the argument pointer */
- asm ("leal 8(%%ebp),%0" : "=q" (args));
-
/* get the cif */
cif = closure->cif;
/* the SYSV/X86 abi matches the RAW API exactly, well.. almost */
- raw_args = (ffi_raw*) args;
+ raw_args = (ffi_raw*) __builtin_dwarf_cfa ();
(closure->fun) (cif, resp, raw_args, closure->user_data);
diff --git a/libffi/src/x86/ffi64.c b/libffi/src/x86/ffi64.c
index f278a924eda..9427a37c8b5 100644
--- a/libffi/src/x86/ffi64.c
+++ b/libffi/src/x86/ffi64.c
@@ -27,6 +27,7 @@
#include <ffi_common.h>
#include <stdlib.h>
+#include <stdarg.h>
/* ffi_prep_args is called by the assembly routine once stack space
has been allocated for the function's arguments */
@@ -285,7 +286,8 @@ ffi_prep_args (stackLayout *stack, extended_cif *ecif)
/* First check if the return value should be passed in memory. If so,
pass the pointer as the first argument. */
gprcount = ssecount = 0;
- if (examine_argument (ecif->cif->rtype, 1, &g, &s) == 0)
+ if (ecif->cif->rtype->type != FFI_TYPE_VOID
+ && examine_argument (ecif->cif->rtype, 1, &g, &s) == 0)
(void *)stack->gpr[gprcount++] = ecif->rvalue;
for (i=ecif->cif->nargs, p_arg=ecif->cif->arg_types, p_argv = ecif->avalue;
@@ -389,8 +391,8 @@ ffi_prep_cif_machdep (ffi_cif *cif)
/* If the return value should be passed in memory, pass the pointer
as the first argument. The actual memory isn't allocated here. */
-
- if (examine_argument (cif->rtype, 1, &g, &s) == 0)
+ if (cif->rtype->type != FFI_TYPE_VOID
+ && examine_argument (cif->rtype, 1, &g, &s) == 0)
gprcount = 1;
/* Go over all arguments and determine the way they should be passed.
@@ -570,4 +572,135 @@ void ffi_call(/*@dependent@*/ ffi_cif *cif,
}
}
+extern void ffi_closure_UNIX64(void);
+
+ffi_status
+ffi_prep_closure (ffi_closure* closure,
+ ffi_cif* cif,
+ void (*fun)(ffi_cif*, void*, void**, void*),
+ void *user_data)
+{
+ volatile unsigned short *tramp;
+
+ /* FFI_ASSERT (cif->abi == FFI_OSF); */
+
+ tramp = (volatile unsigned short *) &closure->tramp[0];
+ tramp[0] = 0xbb49; /* mov <code>, %r11 */
+ tramp[5] = 0xba49; /* mov <data>, %r10 */
+ tramp[10] = 0xff49; /* jmp *%r11 */
+ tramp[11] = 0x00e3;
+ *(void * volatile *) &tramp[1] = ffi_closure_UNIX64;
+ *(void * volatile *) &tramp[6] = closure;
+
+ closure->cif = cif;
+ closure->fun = fun;
+ closure->user_data = user_data;
+
+ return FFI_OK;
+}
+
+int
+ffi_closure_UNIX64_inner(ffi_closure *closure, va_list l, void *rp)
+{
+ ffi_cif *cif;
+ void **avalue;
+ ffi_type **arg_types;
+ long i, avn, argn;
+
+ cif = closure->cif;
+ avalue = alloca(cif->nargs * sizeof(void *));
+
+ argn = 0;
+
+ i = 0;
+ avn = cif->nargs;
+ arg_types = cif->arg_types;
+
+ /* Grab the addresses of the arguments from the stack frame. */
+ while (i < avn)
+ {
+ switch (arg_types[i]->type)
+ {
+ case FFI_TYPE_SINT8:
+ case FFI_TYPE_UINT8:
+ case FFI_TYPE_SINT16:
+ case FFI_TYPE_UINT16:
+ case FFI_TYPE_SINT32:
+ case FFI_TYPE_UINT32:
+ case FFI_TYPE_SINT64:
+ case FFI_TYPE_UINT64:
+ case FFI_TYPE_POINTER:
+ {
+ if (l->gp_offset > 48-8)
+ {
+ avalue[i] = l->overflow_arg_area;
+ l->overflow_arg_area = (char *)l->overflow_arg_area + 8;
+ }
+ else
+ {
+ avalue[i] = (char *)l->reg_save_area + l->gp_offset;
+ l->gp_offset += 8;
+ }
+ }
+ break;
+
+ case FFI_TYPE_STRUCT:
+ /* FIXME */
+ FFI_ASSERT(0);
+ break;
+
+ case FFI_TYPE_DOUBLE:
+ {
+ if (l->fp_offset > 176-16)
+ {
+ avalue[i] = l->overflow_arg_area;
+ l->overflow_arg_area = (char *)l->overflow_arg_area + 8;
+ }
+ else
+ {
+ avalue[i] = (char *)l->reg_save_area + l->fp_offset;
+ l->fp_offset += 16;
+ }
+ }
+#if DEBUG_FFI
+ fprintf (stderr, "double arg %d = %g\n", i, *(double *)avalue[i]);
+#endif
+ break;
+
+ case FFI_TYPE_FLOAT:
+ {
+ if (l->fp_offset > 176-16)
+ {
+ avalue[i] = l->overflow_arg_area;
+ l->overflow_arg_area = (char *)l->overflow_arg_area + 8;
+ }
+ else
+ {
+ avalue[i] = (char *)l->reg_save_area + l->fp_offset;
+ l->fp_offset += 16;
+ }
+ }
+#if DEBUG_FFI
+ fprintf (stderr, "float arg %d = %g\n", i, *(float *)avalue[i]);
+#endif
+ break;
+
+ default:
+ FFI_ASSERT(0);
+ }
+
+ argn += ALIGN(arg_types[i]->size, SIZEOF_ARG) / SIZEOF_ARG;
+ i++;
+ }
+
+ /* Invoke the closure. */
+ (closure->fun) (cif, rp, avalue, closure->user_data);
+
+ /* FIXME: Structs not supported. */
+ FFI_ASSERT(cif->rtype->type != FFI_TYPE_STRUCT);
+
+ /* Tell ffi_closure_UNIX64 how to perform return type promotions. */
+
+ return cif->rtype->type;
+}
#endif /* ifndef __x86_64__ */
diff --git a/libffi/src/x86/unix64.S b/libffi/src/x86/unix64.S
index 2e64b4195bf..f0cd3c9c0c9 100644
--- a/libffi/src/x86/unix64.S
+++ b/libffi/src/x86/unix64.S
@@ -162,5 +162,141 @@ sse2floatfloat:
movaps (%rdi), %xmm0
movq %xmm0, (%rsi)
ret
-
+
+ .align 2
+.globl ffi_closure_UNIX64
+ .type ffi_closure_UNIX64,@function
+
+ffi_closure_UNIX64:
+.LFB2:
+ pushq %rbp
+.LCFI10:
+ movq %rsp, %rbp
+.LCFI11:
+ subq $240, %rsp
+.LCFI12:
+ movq %rdi, -176(%rbp)
+ movq %rsi, -168(%rbp)
+ movq %rdx, -160(%rbp)
+ movq %rcx, -152(%rbp)
+ movq %r8, -144(%rbp)
+ movq %r9, -136(%rbp)
+ /* FIXME: We can avoid all this stashing of XMM registers by
+ (in ffi_prep_closure) computing the number of
+ floating-point args and moving it into %rax before calling
+ this function. Once this is done, uncomment the next few
+ lines and only the essential XMM registers will be written
+ to memory. This is a significant saving. */
+/* movzbl %al, %eax */
+/* movq %rax, %rdx */
+/* leaq 0(,%rdx,4), %rax */
+/* leaq 2f(%rip), %rdx */
+/* subq %rax, %rdx */
+ leaq -1(%rbp), %rax
+/* jmp *%rdx */
+ movaps %xmm7, -15(%rax)
+ movaps %xmm6, -31(%rax)
+ movaps %xmm5, -47(%rax)
+ movaps %xmm4, -63(%rax)
+ movaps %xmm3, -79(%rax)
+ movaps %xmm2, -95(%rax)
+ movaps %xmm1, -111(%rax)
+ movaps %xmm0, -127(%rax)
+2:
+ movl %edi, -180(%rbp)
+ movl $0, -224(%rbp)
+ movl $48, -220(%rbp)
+ leaq 16(%rbp), %rax
+ movq %rax, -216(%rbp)
+ leaq -176(%rbp), %rdx
+ movq %rdx, -208(%rbp)
+ leaq -224(%rbp), %rsi
+ movq %r10, %rdi
+ movq %rsp, %rdx
+ call ffi_closure_UNIX64_inner@PLT
+
+ cmpl $FFI_TYPE_FLOAT, %eax
+ je 1f
+ cmpl $FFI_TYPE_DOUBLE, %eax
+ je 2f
+ cmpl $FFI_TYPE_LONGDOUBLE, %eax
+ je 3f
+ cmpl $FFI_TYPE_STRUCT, %eax
+ je 4f
+ popq %rax
+ leave
+ ret
+1:
+2:
+3:
+ movaps -240(%rbp), %xmm0
+ leave
+ ret
+4:
+ leave
+ ret
+.LFE2:
+
+ .section .eh_frame,"a",@progbits
+.Lframe0:
+ .long .LECIE1-.LSCIE1
+.LSCIE1:
+ .long 0x0
+ .byte 0x1
+ .string "zR"
+ .uleb128 0x1
+ .sleb128 -8
+ .byte 0x10
+ .uleb128 0x1
+ .byte 0x1b
+ .byte 0xc
+ .uleb128 0x7
+ .uleb128 0x8
+ .byte 0x90
+ .uleb128 0x1
+ .align 8
+.LECIE1:
+.LSFDE1:
+ .long .LEFDE1-.LASFDE1
+.LASFDE1:
+ .long .LASFDE1-.Lframe0
+
+ .long .LFB1-.
+ .long .LFE1-.LFB1
+ .uleb128 0x0
+ .byte 0x4 # DW_CFA_advance_loc4
+ .long .LCFI0-.LFB1
+ .byte 0xe # DW_CFA_def_cfa_offset
+ .uleb128 0x10
+ .byte 0x86 # DW_CFA_offset: r6 at cfa-16
+ .uleb128 0x2
+ .byte 0x4 # DW_CFA_advance_loc4
+ .long .LCFI1-.LCFI0
+ .byte 0x86 # DW_CFA_offset: r6 at cfa-16
+ .uleb128 0x2
+ .byte 0xd # DW_CFA_def_cfa_reg: r6
+ .uleb128 0x6
+ .align 8
+.LEFDE1:
+.LSFDE3:
+ .long .LEFDE3-.LASFDE3 # FDE Length
+.LASFDE3:
+ .long .LASFDE3-.Lframe0 # FDE CIE offset
+
+ .long .LFB2-. # FDE initial location
+ .long .LFE2-.LFB2 # FDE address range
+ .uleb128 0x0 # Augmentation size
+ .byte 0x4 # DW_CFA_advance_loc4
+ .long .LCFI10-.LFB2
+ .byte 0xe # DW_CFA_def_cfa_offset
+ .uleb128 0x10
+ .byte 0x86 # DW_CFA_offset, column 0x6
+ .uleb128 0x2
+ .byte 0x4 # DW_CFA_advance_loc4
+ .long .LCFI11-.LCFI10
+ .byte 0xd # DW_CFA_def_cfa_register
+ .uleb128 0x6
+ .align 8
+.LEFDE3:
+
#endif /* __x86_64__ */
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 7280aa03747..4bf30bb145b 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,184 @@
+2003-06-19 Dara Hazeghi <dhazeghi@yahoo.com>
+
+ * configure.in: Add check for malloc.h needed by
+ m68k for function free().
+ * configure: Regenerated.
+ * config.in: Add HAVE_MALLOC_H.
+ * hashtab.c: include malloc.h were available for
+ free().
+
+2003-06-09 Albert Chin-A-Young <china@thewrittenword.com>
+
+ PR bootstrap/10974
+ * physmem.c: Update comment.
+ * configure.in: Modify test for _system_configuration for older
+ AIX systems.
+
+ * config.in, configure: Regenerated.
+
+2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR other/10810
+ * test-demangle.c (getline): Fix fence-post error.
+
+2003-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ Backport from mainline:
+ 2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * vsprintf.c: Include "ansidecl.h" earlier, rely on
+ ANSI_PROTOTYPES and possibly include <stdarg.h>.
+
+2003-05-14 Carlo Wood <carlo@alinoe.com>
+
+ * cp-demangle.c: Fix typo in "char_traints" string-literal.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR target/10338
+ PR bootstrap/10198
+ PR bootstrap/10140
+ * getopt.c (exchange, _getopt_initialize): Use mempcpy not
+ __mempcpy.
+ * regex.c (regerror): Likewise.
+
+2003-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * configure.in (HAVE_UINTPTR_T): Always define.
+ * configure: Regenerated.
+
+2003-03-23 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (MULTIOSDIR): New macro. Use $(CC) $(LIBCFLAGS)
+ instead of $$CC alone.
+ (install_to_tooldir): Use it.
+
+2003-03-03 Mark Mitchell <mark@codesourcery.com>
+
+ * cplus-dem.c: Add license exception to copyright notice.
+
+2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * physmem.c: Formatting changes from upstream.
+
+2003-02-24 Danny Smith <dannysmith@users.source.forge.net>
+
+ * physmem.c (physmem_total): Add _WIN32 support.
+ (physmem_available): Likewise.
+
+2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * physmem.c (physmem_total) [HAVE_GETSYSINFO]: Test for
+ GSI_PHYSMEM.
+ (physmem_available) [HAVE_TABLE]: Test for TBL_VMSTATS.
+
+2003-02-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * configure.in: Check for sys/systemcfg.h and
+ _system_configuration.
+ * physmem.c: Add support for AIX. Tweek formatting as per
+ upstream coreutils beta.
+
+2003-02-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ Richard Earnshaw <rearnsha@arm.com>
+ Geoffrey Keating <geoffk@apple.com>
+
+ * configure.in: Check for sys/sysctl.h and sysctl.
+ * physmem.c: Add support for *bsd and darwin.
+ * Makefile.in: Generate depedency for physmem.o.
+
+2003-02-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * physmem.c (physmem_total) [HAVE_GETSYSINFO]: Use getsysinfo on
+ Tru64 UNIX.
+ (physmem_available) [HAVE_TABLE && HAVE_SYS_TABLE_H]: Use table on
+ Tru64 UNIX.
+
+ * configure.in (AC_CHECK_HEADERS): Check for sys/sysinfo.h,
+ machine/hal_sysinfo.h, sys/table.h.
+ (checkfuncs, AC_CHECKFUNCS): Check for getsysinfo, table.
+ * configure, config.in: Regenerate.
+
+2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * configure.in: Check for sys/sysmp.h and sysmp.
+ * physmem.c: Pull upstream copy, add support for irix6.
+
+ * config.in, configure: Regenerated.
+
+2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * physmem.c (physmem_total, physmem_available): De-ANSI-fy.
+ * configure.in (AC_CHECK_FUNCS): Add pstat_getstatic and
+ pstat_getdynamic.
+
+2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (CFILES): Add physmem.c.
+ (REQUIRED_OFILES): Add physmem.o.
+ * configure.in: Check for sys/pstat.h.
+ (checkfuncs): Add pstat_getstatic and pstat_getdynamic.
+ * physmem.c: New file, copied from textutils.
+
+ * config.in, configure: Regenerated.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-02-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * acconfig.h: New file. Add uintptr_t.
+ * config.in: Regenerated.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * libiberty.texi: Update to GFDL 1.2.
+
+2003-02-02 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.in (libiberty_topdir): New subst.
+ (mkinstalldirs): Redefine in terms of the above.
+ * configure.in: AC_SUBST it.
+ * configure: Regenerate.
+
+2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.in (all-subdir, check-subdir, installcheck-subdir)
+ (info-subdir, install-info-subdir, clean-info-subdir)
+ (dvi-subdir, install-subdir, etags-subdir, mostlyclean-subdir)
+ (clean-subdir, distclean-subdir, maintainer-clean-subdir):
+ Pass $(FLAGS_TO_PASS).
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (install_to_tooldir): Instead of $(MULTISUBDIR), use
+ /`$$CC -print-multi-os-directory`.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
+ (install_to_libdir, install_to_tooldir): Add a mkinstalldirs
+ command.
+
+2003-01-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * hashtab.c (htab_expand): Fix allocation of new entries.
+
2002-12-04 Danny Smith <dannysmith@users.sourceforge.net>
* make-relative-prefix.c (HAVE_HOST_EXECUTABLE_SUFFIX):
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index cdf14a4311b..cafb3f7916d 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -1,6 +1,6 @@
#
# Makefile
-# Copyright (C) 1990, 91-99, 2000, 2001, 2002
+# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003
# Free Software Foundation
#
# This file is part of the libiberty library.
@@ -26,6 +26,7 @@
# Makefile for libiberty directory
#
+libiberty_topdir = @libiberty_topdir@
srcdir = @srcdir@
VPATH = @srcdir@
@@ -50,7 +51,7 @@ MULTICLEAN = true
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
-mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
+mkinstalldirs = $(SHELL) $(libiberty_topdir)/mkinstalldirs
# Some compilers can't handle cc -c blah.c -o foo/blah.o.
OUTPUT_OPTION = @OUTPUT_OPTION@
@@ -84,6 +85,7 @@ FLAGS_TO_PASS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC=$(CC)" \
"CFLAGS=$(CFLAGS)" \
+ "DESTDIR=$(DESTDIR)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"EXTRA_OFILES=$(EXTRA_OFILES)" \
"HDEFINES=$(HDEFINES)" \
@@ -139,7 +141,7 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmove.c \
memset.c mkstemps.c \
objalloc.c obstack.c \
- partition.c pexecute.c putenv.c \
+ partition.c pexecute.c physmem.c putenv.c \
random.c regex.c rename.c rindex.c \
safe-ctype.c setenv.c sigsetmask.c sort.c spaces.c \
splay-tree.c strcasecmp.c strchr.c strdup.c strerror.c \
@@ -163,7 +165,7 @@ REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o md5.o \
make-relative-prefix.o \
make-temp-file.o \
objalloc.o obstack.o \
- partition.o pexecute.o \
+ partition.o physmem.o pexecute.o \
safe-ctype.o sort.o spaces.o splay-tree.o strerror.o \
strsignal.o \
ternary.o \
@@ -261,6 +263,7 @@ INSTALL_DEST = @INSTALL_DEST@
install: install_to_$(INSTALL_DEST) install-subdir
install_to_libdir: all
+ ${mkinstalldirs} $(DESTDIR)$(libdir)$(MULTISUBDIR)
$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)n
( cd $(DESTDIR)$(libdir)$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB)n )
mv -f $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)
@@ -276,10 +279,16 @@ install_to_libdir: all
fi
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
+# This is tricky. Even though CC in the Makefile contains
+# multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
+# default multilib, so we have to take LIBCFLAGS into account as well,
+# since it will be passed the multilib flags.
+MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory`
install_to_tooldir: all
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)n
- ( cd $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB)n )
- mv -f $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)
+ ${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n
+ ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; $(RANLIB) $(TARGETLIB)n )
+ mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
# needed-list is used by libstdc++. NEEDED is the list of functions
@@ -390,7 +399,7 @@ maintainer-clean-subdir: config.h
@subdirs='$(SUBDIRS)'; \
target=`echo $@ | sed -e 's/-subdir//'`; \
for dir in $$subdirs ; do \
- cd $$dir && $(MAKE) $$target; \
+ cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $$target; \
done
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS): stamp-picdir
@@ -449,6 +458,7 @@ partition.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
$(INCDIR)/partition.h
pexecute.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
$(INCDIR)/safe-ctype.h
+physmem.o: config.h $(INCDIR)/libiberty.h
putenv.o: config.h $(INCDIR)/ansidecl.h
random.o: $(INCDIR)/ansidecl.h
regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
diff --git a/libiberty/acconfig.h b/libiberty/acconfig.h
new file mode 100644
index 00000000000..364cb41da7c
--- /dev/null
+++ b/libiberty/acconfig.h
@@ -0,0 +1,3 @@
+/* Define to `unsigned long' if <sys/types.h> doesn't define. */
+#undef uintptr_t
+
diff --git a/libiberty/config.in b/libiberty/config.in
index e06bbce857d..7b5cae9ebcd 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -1,4 +1,4 @@
-/* config.in. Generated automatically from configure.in by autoheader 2.13. */
+/* config.in. Generated automatically from configure.in by autoheader. */
/* Define to empty if the keyword does not work. */
#undef const
@@ -15,6 +15,9 @@
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
+/* Define if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
@@ -30,6 +33,9 @@
/* Define vfork as fork if vfork does not work. */
#undef vfork
+/* Define to `unsigned long' if <sys/types.h> doesn't define. */
+#undef uintptr_t
+
/* Define if you have the _doprnt function. */
#undef HAVE__DOPRNT
@@ -72,6 +78,9 @@
/* Define if you have the getrusage function. */
#undef HAVE_GETRUSAGE
+/* Define if you have the getsysinfo function. */
+#undef HAVE_GETSYSINFO
+
/* Define if you have the gettimeofday function. */
#undef HAVE_GETTIMEOFDAY
@@ -105,6 +114,12 @@
/* Define if you have the psignal function. */
#undef HAVE_PSIGNAL
+/* Define if you have the pstat_getdynamic function. */
+#undef HAVE_PSTAT_GETDYNAMIC
+
+/* Define if you have the pstat_getstatic function. */
+#undef HAVE_PSTAT_GETSTATIC
+
/* Define if you have the putenv function. */
#undef HAVE_PUTENV
@@ -162,6 +177,15 @@
/* Define if you have the sysconf function. */
#undef HAVE_SYSCONF
+/* Define if you have the sysctl function. */
+#undef HAVE_SYSCTL
+
+/* Define if you have the sysmp function. */
+#undef HAVE_SYSMP
+
+/* Define if you have the table function. */
+#undef HAVE_TABLE
+
/* Define if you have the times function. */
#undef HAVE_TIMES
@@ -192,6 +216,9 @@
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
+/* Define if you have the <machine/hal_sysinfo.h> header file. */
+#undef HAVE_MACHINE_HAL_SYSINFO_H
+
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
@@ -210,12 +237,30 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/pstat.h> header file. */
+#undef HAVE_SYS_PSTAT_H
+
/* Define if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
+/* Define if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
+
+/* Define if you have the <sys/sysinfo.h> header file. */
+#undef HAVE_SYS_SYSINFO_H
+
+/* Define if you have the <sys/sysmp.h> header file. */
+#undef HAVE_SYS_SYSMP_H
+
+/* Define if you have the <sys/systemcfg.h> header file. */
+#undef HAVE_SYS_SYSTEMCFG_H
+
+/* Define if you have the <sys/table.h> header file. */
+#undef HAVE_SYS_TABLE_H
+
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
@@ -225,6 +270,9 @@
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
/* Define if errno must be declared even when <errno.h> is included. */
#undef NEED_DECLARATION_ERRNO
@@ -252,3 +300,6 @@
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
+/* Define if you have the _system_configuration variable. */
+#undef HAVE__SYSTEM_CONFIGURATION
+
diff --git a/libiberty/configure b/libiberty/configure
index cac9f5637a9..820059f63c8 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -583,6 +583,7 @@ if test "${srcdir}" = "."; then
else
libiberty_topdir="${srcdir}/.."
fi
+
ac_aux_dir=
for ac_dir in $libiberty_topdir $srcdir/$libiberty_topdir; do
if test -f $ac_dir/install-sh; then
@@ -605,7 +606,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:609: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:610: 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"
@@ -630,7 +631,7 @@ fi
# 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:634: checking for $ac_word" >&5
+echo "configure:635: 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
@@ -676,7 +677,7 @@ fi
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:680: checking for $ac_word" >&5
+echo "configure:681: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -716,7 +717,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:720: checking host system type" >&5
+echo "configure:721: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -739,7 +740,7 @@ echo "$ac_t""$host" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:743: checking build system type" >&5
+echo "configure:744: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -765,7 +766,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:769: checking for $ac_word" >&5
+echo "configure:770: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -797,7 +798,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:801: checking for $ac_word" >&5
+echo "configure:802: 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
@@ -829,7 +830,7 @@ if test -n "$ac_tool_prefix"; then
# 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:833: checking for $ac_word" >&5
+echo "configure:834: 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
@@ -866,7 +867,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:870: checking for $ac_word" >&5
+echo "configure:871: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -896,7 +897,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:900: checking for $ac_word" >&5
+echo "configure:901: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -945,7 +946,7 @@ fi
fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:949: checking whether we are using GNU C" >&5
+echo "configure:950: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -954,7 +955,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -970,7 +971,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:974: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:975: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1002,10 +1003,10 @@ fi
if test "x$CC" != xcc; then
echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6
-echo "configure:1006: checking whether $CC and cc understand -c and -o together" >&5
+echo "configure:1007: checking whether $CC and cc understand -c and -o together" >&5
else
echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6
-echo "configure:1009: checking whether cc understands -c and -o together" >&5
+echo "configure:1010: checking whether cc understands -c and -o together" >&5
fi
set dummy $CC; ac_cc="`echo $2 |
sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
@@ -1017,16 +1018,16 @@ else
# We do the test twice because some compilers refuse to overwrite an
# existing .o file with -o, though they will create one.
ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5'
-if { (eval echo configure:1021: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
- test -f conftest.o && { (eval echo configure:1022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+if { (eval echo configure:1022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+ test -f conftest.o && { (eval echo configure:1023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
then
eval ac_cv_prog_cc_${ac_cc}_c_o=yes
if test "x$CC" != xcc; then
# Test first that cc exists at all.
- if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1027: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
ac_try='cc -c conftest.c -o conftest.o 1>&5'
- if { (eval echo configure:1029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
- test -f conftest.o && { (eval echo configure:1030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+ if { (eval echo configure:1030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+ test -f conftest.o && { (eval echo configure:1031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
then
# cc works too.
:
@@ -1062,7 +1063,7 @@ fi
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1066: checking for POSIXized ISC" >&5
+echo "configure:1067: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -1083,12 +1084,12 @@ else
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1087: checking for working const" >&5
+echo "configure:1088: 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 1092 "configure"
+#line 1093 "configure"
#include "confdefs.h"
int main() {
@@ -1137,7 +1138,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1158,21 +1159,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1162: checking for inline" >&5
+echo "configure:1163: 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 1169 "configure"
+#line 1170 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:1176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -1215,7 +1216,7 @@ esac
# 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:1219: checking for a BSD compatible install" >&5
+echo "configure:1220: 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
@@ -1276,7 +1277,7 @@ host_makefile_frag=${frag}
# able to link anything, it had better be able to at least compile
# something.
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1280: checking how to run the C preprocessor" >&5
+echo "configure:1281: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1291,13 +1292,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 1295 "configure"
+#line 1296 "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:1301: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1302: \"$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
:
@@ -1308,13 +1309,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1312 "configure"
+#line 1313 "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:1318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1319: \"$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
:
@@ -1325,13 +1326,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1329 "configure"
+#line 1330 "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:1335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1336: \"$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
:
@@ -1355,21 +1356,21 @@ else
fi
echo "$ac_t""$CPP" 1>&6
-for ac_hdr in sys/file.h sys/param.h limits.h stdlib.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h
+for ac_hdr in sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1363: checking for $ac_hdr" >&5
+echo "configure:1364: 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 1368 "configure"
+#line 1369 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1374: \"$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*
@@ -1396,12 +1397,12 @@ fi
done
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1400: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1401: 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 1405 "configure"
+#line 1406 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -1417,7 +1418,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:1421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1422: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -1438,12 +1439,12 @@ EOF
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1442: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1443: 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 1447 "configure"
+#line 1448 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -1452,7 +1453,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:1456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1457: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -1474,19 +1475,19 @@ fi
echo $ac_n "checking whether errno must be declared""... $ac_c" 1>&6
-echo "configure:1478: checking whether errno must be declared" >&5
+echo "configure:1479: checking whether errno must be declared" >&5
if eval "test \"`echo '$''{'libiberty_cv_declare_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1483 "configure"
+#line 1484 "configure"
#include "confdefs.h"
#include <errno.h>
int main() {
int x = errno;
; return 0; }
EOF
-if { (eval echo configure:1490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libiberty_cv_declare_errno=no
else
@@ -1508,12 +1509,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1512: checking for ANSI C header files" >&5
+echo "configure:1513: 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 1517 "configure"
+#line 1518 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1521,7 +1522,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1526: \"$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*
@@ -1538,7 +1539,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 1542 "configure"
+#line 1543 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1556,7 +1557,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 1560 "configure"
+#line 1561 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1577,7 +1578,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1581 "configure"
+#line 1582 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1588,7 +1589,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1612,12 +1613,12 @@ EOF
fi
echo $ac_n "checking for uintptr_t""... $ac_c" 1>&6
-echo "configure:1616: checking for uintptr_t" >&5
+echo "configure:1617: checking for uintptr_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_uintptr_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1621 "configure"
+#line 1622 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1644,14 +1645,13 @@ EOF
fi
-
-if test $ac_cv_type_uintptr_t = yes
-then
- cat >> confdefs.h <<\EOF
+# Given the above check, we always have uintptr_t or a fallback
+# definition. So define HAVE_UINTPTR_T in case any imported code
+# relies on it.
+cat >> confdefs.h <<\EOF
#define HAVE_UINTPTR_T 1
EOF
-fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
echo "configure:1658: checking for pid_t" >&5
@@ -1737,6 +1737,7 @@ funcs="$funcs waitpid"
vars="sys_errlist sys_nerr sys_siglist"
checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
+checkfuncs="$checkfuncs pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl"
# These are neither executed nor required, but they help keep
# autoheader happy without adding a bunch of text to acconfig.h.
@@ -1744,12 +1745,12 @@ if test "x" = "y"; then
for ac_func in asprintf atexit basename bcmp bcopy bsearch bzero calloc clock
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1748: checking for $ac_func" >&5
+echo "configure:1749: 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 1753 "configure"
+#line 1754 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1772,7 +1773,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1777: \"$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
@@ -1799,12 +1800,12 @@ done
for ac_func in getcwd getpagesize index insque mkstemps memchr memcmp memcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1803: checking for $ac_func" >&5
+echo "configure:1804: 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 1808 "configure"
+#line 1809 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1827,7 +1828,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1832: \"$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
@@ -1854,12 +1855,12 @@ done
for ac_func in memmove memset putenv random rename rindex sigsetmask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1858: checking for $ac_func" >&5
+echo "configure:1859: 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 1863 "configure"
+#line 1864 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1882,7 +1883,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1887: \"$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
@@ -1909,12 +1910,12 @@ done
for ac_func in strcasecmp setenv strchr strdup strncasecmp strrchr strstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1913: checking for $ac_func" >&5
+echo "configure:1914: 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 1918 "configure"
+#line 1919 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1937,7 +1938,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1942: \"$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
@@ -1964,12 +1965,12 @@ done
for ac_func in strtod strtol strtoul tmpnam vasprintf vfprintf vprintf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1968: checking for $ac_func" >&5
+echo "configure:1969: 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 1973 "configure"
+#line 1974 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1992,7 +1993,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1997: \"$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
@@ -2019,12 +2020,12 @@ done
for ac_func in vsprintf waitpid getrusage on_exit psignal strerror strsignal
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2023: checking for $ac_func" >&5
+echo "configure:2024: 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 2028 "configure"
+#line 2029 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2047,7 +2048,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2052: \"$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
@@ -2074,12 +2075,12 @@ done
for ac_func in sysconf times sbrk gettimeofday ffs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2078: checking for $ac_func" >&5
+echo "configure:2079: 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 2083 "configure"
+#line 2084 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2102,7 +2103,62 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2107: \"$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
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2134: 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 2139 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2162: \"$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
@@ -2332,7 +2388,7 @@ if test -z "${setobjs}"; then
# We haven't set the list of objects yet. Use the standard autoconf
# tests. This will only work if the compiler works.
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2336: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2392: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2343,12 +2399,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 2347 "configure"
+#line 2403 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -2374,19 +2430,19 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2378: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2434: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
for ac_func in $funcs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2385: checking for $ac_func" >&5
+echo "configure:2441: 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 2390 "configure"
+#line 2446 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2409,7 +2465,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2469: \"$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
@@ -2436,12 +2492,12 @@ done
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:2440: checking whether alloca needs Cray hooks" >&5
+echo "configure:2496: 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 2445 "configure"
+#line 2501 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -2466,12 +2522,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:2470: checking for $ac_func" >&5
+echo "configure:2526: 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 2475 "configure"
+#line 2531 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2494,7 +2550,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2554: \"$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
@@ -2520,7 +2576,7 @@ fi
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:2524: checking stack direction for C alloca" >&5
+echo "configure:2580: 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
@@ -2528,7 +2584,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 2532 "configure"
+#line 2588 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -2547,7 +2603,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:2551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2607: \"$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
@@ -2569,17 +2625,17 @@ EOF
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:2573: checking for vfork.h" >&5
+echo "configure:2629: 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 2578 "configure"
+#line 2634 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2639: \"$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*
@@ -2604,18 +2660,18 @@ else
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:2608: checking for working vfork" >&5
+echo "configure:2664: 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:2614: checking for vfork" >&5
+echo "configure:2670: 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 2619 "configure"
+#line 2675 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vfork(); below. */
@@ -2638,7 +2694,7 @@ vfork();
; return 0; }
EOF
-if { (eval echo configure:2642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2698: \"$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
@@ -2660,7 +2716,7 @@ fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
else
cat > conftest.$ac_ext <<EOF
-#line 2664 "configure"
+#line 2720 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
@@ -2755,7 +2811,7 @@ main() {
}
}
EOF
-if { (eval echo configure:2759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2815: \"$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
@@ -2787,12 +2843,12 @@ fi
for ac_func in _doprnt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2791: checking for $ac_func" >&5
+echo "configure:2847: 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 2796 "configure"
+#line 2852 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2815,7 +2871,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2875: \"$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
@@ -2845,12 +2901,12 @@ done
for ac_func in _doprnt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2849: checking for $ac_func" >&5
+echo "configure:2905: 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 2854 "configure"
+#line 2910 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2873,7 +2929,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2933: \"$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
@@ -2901,19 +2957,19 @@ done
for v in $vars; do
echo $ac_n "checking for $v""... $ac_c" 1>&6
-echo "configure:2905: checking for $v" >&5
+echo "configure:2961: checking for $v" >&5
if eval "test \"`echo '$''{'libiberty_cv_var_$v'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2910 "configure"
+#line 2966 "configure"
#include "confdefs.h"
int *p;
int main() {
extern int $v []; p = $v;
; return 0; }
EOF
-if { (eval echo configure:2917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "libiberty_cv_var_$v=yes"
else
@@ -2936,15 +2992,43 @@ EOF
echo "$ac_t""no" 1>&6
fi
done
+
+ # special check for _system_configuration because AIX <4.3.2 do not
+ # contain the `physmem' member.
+ echo $ac_n "checking for external symbol _system_configuration""... $ac_c" 1>&6
+echo "configure:3000: checking for external symbol _system_configuration" >&5
+ cat > conftest.$ac_ext <<EOF
+#line 3002 "configure"
+#include "confdefs.h"
+#include <sys/systemcfg.h>
+int main() {
+double x = _system_configuration.physmem;
+; return 0; }
+EOF
+if { (eval echo configure:3009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE__SYSTEM_CONFIGURATION 1
+EOF
+
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+fi
+rm -f conftest*
+
for ac_func in $checkfuncs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2943: checking for $ac_func" >&5
+echo "configure:3027: 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 2948 "configure"
+#line 3032 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2967,7 +3051,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3055: \"$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
@@ -2997,17 +3081,17 @@ for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3001: checking for $ac_hdr" >&5
+echo "configure:3085: 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 3006 "configure"
+#line 3090 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3011: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3095: \"$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*
@@ -3036,12 +3120,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3040: checking for $ac_func" >&5
+echo "configure:3124: 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 3045 "configure"
+#line 3129 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3064,7 +3148,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3152: \"$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
@@ -3089,7 +3173,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3093: checking for working mmap" >&5
+echo "configure:3177: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3097,7 +3181,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3101 "configure"
+#line 3185 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3250,7 +3334,7 @@ main()
}
EOF
-if { (eval echo configure:3254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3274,7 +3358,7 @@ fi
echo $ac_n "checking for working strncmp""... $ac_c" 1>&6
-echo "configure:3278: checking for working strncmp" >&5
+echo "configure:3362: checking for working strncmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_strncmp_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3282,7 +3366,7 @@ else
ac_cv_func_strncmp_works=no
else
cat > conftest.$ac_ext <<EOF
-#line 3286 "configure"
+#line 3370 "configure"
#include "confdefs.h"
/* Test by Jim Wilson and Kaveh Ghazi.
@@ -3346,7 +3430,7 @@ main ()
}
EOF
-if { (eval echo configure:3350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_strncmp_works=yes
else
@@ -3510,6 +3594,7 @@ s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
+s%@libiberty_topdir@%$libiberty_topdir%g
s%@MAINT@%$MAINT%g
s%@NOTMAINT@%$NOTMAINT%g
s%@MAKEINFO@%$MAKEINFO%g
@@ -3759,6 +3844,7 @@ with_build_subdir=${with_build_subdir}
with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
libiberty_topdir=${libiberty_topdir}
EOF
diff --git a/libiberty/configure.in b/libiberty/configure.in
index a8dc66fa83c..8039b9310bb 100644
--- a/libiberty/configure.in
+++ b/libiberty/configure.in
@@ -35,6 +35,7 @@ if test "${srcdir}" = "."; then
else
libiberty_topdir="${srcdir}/.."
fi
+AC_SUBST(libiberty_topdir)
AC_CONFIG_AUX_DIR($libiberty_topdir)
dnl Very limited version of automake's enable-maintainer-mode
@@ -141,18 +142,17 @@ AC_SUBST_FILE(host_makefile_frag)
# It's OK to check for header files. Although the compiler may not be
# able to link anything, it had better be able to at least compile
# something.
-AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h)
+AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h)
AC_HEADER_SYS_WAIT
AC_HEADER_TIME
libiberty_AC_DECLARE_ERRNO
AC_CHECK_TYPE(uintptr_t, unsigned long)
-
-if test $ac_cv_type_uintptr_t = yes
-then
- AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.])
-fi
+# Given the above check, we always have uintptr_t or a fallback
+# definition. So define HAVE_UINTPTR_T in case any imported code
+# relies on it.
+AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.])
AC_TYPE_PID_T
@@ -206,6 +206,7 @@ funcs="$funcs waitpid"
vars="sys_errlist sys_nerr sys_siglist"
checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
+checkfuncs="$checkfuncs pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl"
# These are neither executed nor required, but they help keep
# autoheader happy without adding a bunch of text to acconfig.h.
@@ -217,6 +218,7 @@ if test "x" = "y"; then
AC_CHECK_FUNCS(strtod strtol strtoul tmpnam vasprintf vfprintf vprintf)
AC_CHECK_FUNCS(vsprintf waitpid getrusage on_exit psignal strerror strsignal)
AC_CHECK_FUNCS(sysconf times sbrk gettimeofday ffs)
+ AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl)
AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.])
AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
@@ -422,6 +424,17 @@ if test -z "${setobjs}"; then
AC_MSG_RESULT(no)
fi
done
+
+ # special check for _system_configuration because AIX <4.3.2 do not
+ # contain the `physmem' member.
+ AC_MSG_CHECKING([for external symbol _system_configuration])
+ AC_TRY_COMPILE([#include <sys/systemcfg.h>],
+ [double x = _system_configuration.physmem;],
+ [AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
+ [Define if you have the _system_configuration variable.])],
+ [AC_MSG_RESULT([no])])
+
AC_CHECK_FUNCS($checkfuncs)
fi
@@ -455,5 +468,6 @@ with_build_subdir=${with_build_subdir}
with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
libiberty_topdir=${libiberty_topdir}
)
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 9adf5fd0503..5dcce5560ee 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -3398,7 +3398,7 @@ demangle_substitution (dm, template_p)
}
else
{
- RETURN_IF_ERROR (result_add (dm, "std::basic_istream<char, std::char_traints<char> >"));
+ RETURN_IF_ERROR (result_add (dm, "std::basic_istream<char, std::char_traits<char> >"));
new_last_source_name = "basic_istream";
}
*template_p = 0;
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index f42d6181d40..199f767736d 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -11,6 +11,15 @@ modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
+In addition to the permissions in the GNU Library General Public
+License, the Free Software Foundation gives you unlimited permission
+to link the compiled version of this file into combinations with other
+programs, and to distribute those combinations without any restriction
+coming from the use of this file. (The Library Public License
+restrictions do apply in other respects; for example, they cover
+modification of the file, and distribution when not linked into a
+combined executable.)
+
Libiberty 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
diff --git a/libiberty/getopt.c b/libiberty/getopt.c
index 2402a39e2f8..a1e482763c1 100644
--- a/libiberty/getopt.c
+++ b/libiberty/getopt.c
@@ -333,8 +333,8 @@ exchange (argv)
nonoption_flags_len = nonoption_flags_max_len = 0;
else
{
- memset (__mempcpy (new_str, __getopt_nonoption_flags,
- nonoption_flags_max_len),
+ memset (mempcpy (new_str, __getopt_nonoption_flags,
+ nonoption_flags_max_len),
'\0', top + 1 - nonoption_flags_max_len);
nonoption_flags_max_len = top + 1;
__getopt_nonoption_flags = new_str;
@@ -444,7 +444,7 @@ _getopt_initialize (argc, argv, optstring)
if (__getopt_nonoption_flags == NULL)
nonoption_flags_max_len = -1;
else
- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+ memset (mempcpy (__getopt_nonoption_flags, orig_str, len),
'\0', nonoption_flags_max_len - len);
}
}
diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c
index 6bf59ff7378..9426a185178 100644
--- a/libiberty/hashtab.c
+++ b/libiberty/hashtab.c
@@ -45,6 +45,10 @@ Boston, MA 02111-1307, USA. */
#include <string.h>
#endif
+#ifdef HAVE_MALLOC_H
+#include <malloc.h>
+#endif
+
#include <stdio.h>
#include "libiberty.h"
@@ -306,16 +310,18 @@ htab_expand (htab)
PTR *olimit;
PTR *p;
PTR *nentries;
+ size_t nsize;
oentries = htab->entries;
olimit = oentries + htab->size;
- htab->size = higher_prime_number (htab->size * 2);
+ nsize = higher_prime_number (htab->size * 2);
- nentries = (PTR *) (*htab->alloc_f) (htab->size, sizeof (PTR *));
+ nentries = (PTR *) (*htab->alloc_f) (nsize, sizeof (PTR));
if (nentries == NULL)
return 0;
htab->entries = nentries;
+ htab->size = nsize;
htab->n_elements -= htab->n_deleted;
htab->n_deleted = 0;
diff --git a/libiberty/libiberty.texi b/libiberty/libiberty.texi
index 4b60d6a07fb..b57e3c530e1 100644
--- a/libiberty/libiberty.texi
+++ b/libiberty/libiberty.texi
@@ -29,7 +29,7 @@ This edition accompanies GCC 3, September 2001.
Copyright @copyright{} 2001 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
+ under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
@@ -58,7 +58,7 @@ notice identical to this one except for the removal of this paragraph
Copyright @copyright{} 2001 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
+ under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
diff --git a/libiberty/physmem.c b/libiberty/physmem.c
new file mode 100644
index 00000000000..f64e07c74d4
--- /dev/null
+++ b/libiberty/physmem.c
@@ -0,0 +1,305 @@
+/* Calculate the size of physical memory.
+ Copyright 2000, 2001, 2003 Free Software Foundation, Inc.
+
+ This program 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.
+
+ This program 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 this program; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/* Written by Paul Eggert. */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#if HAVE_SYS_PSTAT_H
+# include <sys/pstat.h>
+#endif
+
+#if HAVE_SYS_SYSMP_H
+# include <sys/sysmp.h>
+#endif
+
+#if HAVE_SYS_SYSINFO_H && HAVE_MACHINE_HAL_SYSINFO_H
+# include <sys/sysinfo.h>
+# include <machine/hal_sysinfo.h>
+#endif
+
+#if HAVE_SYS_TABLE_H
+# include <sys/table.h>
+#endif
+
+#include <sys/types.h>
+
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+
+#if HAVE_SYS_SYSCTL_H
+# include <sys/sysctl.h>
+#endif
+
+#if HAVE_SYS_SYSTEMCFG_H
+# include <sys/systemcfg.h>
+#endif
+
+#ifdef _WIN32
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+/* MEMORYSTATUSEX is missing from older windows headers, so define
+ a local replacement. */
+typedef struct
+{
+ DWORD dwLength;
+ DWORD dwMemoryLoad;
+ DWORDLONG ullTotalPhys;
+ DWORDLONG ullAvailPhys;
+ DWORDLONG ullTotalPageFile;
+ DWORDLONG ullAvailPageFile;
+ DWORDLONG ullTotalVirtual;
+ DWORDLONG ullAvailVirtual;
+ DWORDLONG ullAvailExtendedVirtual;
+} lMEMORYSTATUSEX;
+typedef WINBOOL (WINAPI *PFN_MS_EX) (lMEMORYSTATUSEX*);
+#endif
+
+#include "libiberty.h"
+
+/* Return the total amount of physical memory. */
+double
+physmem_total ()
+{
+#if defined _SC_PHYS_PAGES && defined _SC_PAGESIZE
+ { /* This works on linux-gnu, solaris2 and cygwin. */
+ double pages = sysconf (_SC_PHYS_PAGES);
+ double pagesize = sysconf (_SC_PAGESIZE);
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+#endif
+
+#if HAVE_PSTAT_GETSTATIC
+ { /* This works on hpux11. */
+ struct pst_static pss;
+ if (0 <= pstat_getstatic (&pss, sizeof pss, 1, 0))
+ {
+ double pages = pss.physical_memory;
+ double pagesize = pss.page_size;
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+ }
+#endif
+
+#if HAVE_SYSMP && defined MP_SAGET && defined MPSA_RMINFO && defined _SC_PAGESIZE
+ { /* This works on irix6. */
+ struct rminfo realmem;
+ if (sysmp (MP_SAGET, MPSA_RMINFO, &realmem, sizeof realmem) == 0)
+ {
+ double pagesize = sysconf (_SC_PAGESIZE);
+ double pages = realmem.physmem;
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+ }
+#endif
+
+#if HAVE_GETSYSINFO && defined GSI_PHYSMEM
+ { /* This works on Tru64 UNIX V4/5. */
+ int physmem;
+
+ if (getsysinfo (GSI_PHYSMEM, (caddr_t) &physmem, sizeof (physmem),
+ NULL, NULL, NULL) == 1)
+ {
+ double kbytes = physmem;
+
+ if (0 <= kbytes)
+ return kbytes * 1024.0;
+ }
+ }
+#endif
+
+#if HAVE_SYSCTL && defined HW_PHYSMEM
+ { /* This works on *bsd and darwin. */
+ unsigned int physmem;
+ size_t len = sizeof physmem;
+ static int mib[2] = { CTL_HW, HW_PHYSMEM };
+
+ if (sysctl (mib, ARRAY_SIZE (mib), &physmem, &len, NULL, 0) == 0
+ && len == sizeof (physmem))
+ return (double) physmem;
+ }
+#endif
+
+#if HAVE__SYSTEM_CONFIGURATION
+ /* This works on AIX 4.3.3+. */
+ return _system_configuration.physmem;
+#endif
+
+#if defined _WIN32
+ { /* this works on windows */
+ PFN_MS_EX pfnex;
+ HMODULE h = GetModuleHandle ("kernel32.dll");
+
+ if (!h)
+ return 0.0;
+
+ /* Use GlobalMemoryStatusEx if available. */
+ if ((pfnex = (PFN_MS_EX) GetProcAddress (h, "GlobalMemoryStatusEx")))
+ {
+ lMEMORYSTATUSEX lms_ex;
+ lms_ex.dwLength = sizeof lms_ex;
+ if (!pfnex (&lms_ex))
+ return 0.0;
+ return (double) lms_ex.ullTotalPhys;
+ }
+
+ /* Fall back to GlobalMemoryStatus which is always available.
+ but returns wrong results for physical memory > 4GB. */
+ else
+ {
+ MEMORYSTATUS ms;
+ GlobalMemoryStatus (&ms);
+ return (double) ms.dwTotalPhys;
+ }
+ }
+#endif
+
+ /* Return 0 if we can't determine the value. */
+ return 0;
+}
+
+/* Return the amount of physical memory available. */
+double
+physmem_available ()
+{
+#if defined _SC_AVPHYS_PAGES && defined _SC_PAGESIZE
+ { /* This works on linux-gnu, solaris2 and cygwin. */
+ double pages = sysconf (_SC_AVPHYS_PAGES);
+ double pagesize = sysconf (_SC_PAGESIZE);
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+#endif
+
+#if HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC
+ { /* This works on hpux11. */
+ struct pst_static pss;
+ struct pst_dynamic psd;
+ if (0 <= pstat_getstatic (&pss, sizeof pss, 1, 0)
+ && 0 <= pstat_getdynamic (&psd, sizeof psd, 1, 0))
+ {
+ double pages = psd.psd_free;
+ double pagesize = pss.page_size;
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+ }
+#endif
+
+#if HAVE_SYSMP && defined MP_SAGET && defined MPSA_RMINFO && defined _SC_PAGESIZE
+ { /* This works on irix6. */
+ struct rminfo realmem;
+ if (sysmp (MP_SAGET, MPSA_RMINFO, &realmem, sizeof realmem) == 0)
+ {
+ double pagesize = sysconf (_SC_PAGESIZE);
+ double pages = realmem.availrmem;
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+ }
+#endif
+
+#if HAVE_TABLE && defined TBL_VMSTATS
+ { /* This works on Tru64 UNIX V4/5. */
+ struct tbl_vmstats vmstats;
+
+ if (table (TBL_VMSTATS, 0, &vmstats, 1, sizeof (vmstats)) == 1)
+ {
+ double pages = vmstats.free_count;
+ double pagesize = vmstats.pagesize;
+
+ if (0 <= pages && 0 <= pagesize)
+ return pages * pagesize;
+ }
+ }
+#endif
+
+#if HAVE_SYSCTL && defined HW_USERMEM
+ { /* This works on *bsd and darwin. */
+ unsigned int usermem;
+ size_t len = sizeof usermem;
+ static int mib[2] = { CTL_HW, HW_USERMEM };
+
+ if (sysctl (mib, ARRAY_SIZE (mib), &usermem, &len, NULL, 0) == 0
+ && len == sizeof (usermem))
+ return (double) usermem;
+ }
+#endif
+
+#if defined _WIN32
+ { /* this works on windows */
+ PFN_MS_EX pfnex;
+ HMODULE h = GetModuleHandle ("kernel32.dll");
+
+ if (!h)
+ return 0.0;
+
+ /* Use GlobalMemoryStatusEx if available. */
+ if ((pfnex = (PFN_MS_EX) GetProcAddress (h, "GlobalMemoryStatusEx")))
+ {
+ lMEMORYSTATUSEX lms_ex;
+ lms_ex.dwLength = sizeof lms_ex;
+ if (!pfnex (&lms_ex))
+ return 0.0;
+ return (double) lms_ex.ullAvailPhys;
+ }
+
+ /* Fall back to GlobalMemoryStatus which is always available.
+ but returns wrong results for physical memory > 4GB */
+ else
+ {
+ MEMORYSTATUS ms;
+ GlobalMemoryStatus (&ms);
+ return (double) ms.dwAvailPhys;
+ }
+ }
+#endif
+
+ /* Guess 25% of physical memory. */
+ return physmem_total () / 4;
+}
+
+
+#if DEBUG
+
+# include <stdio.h>
+# include <stdlib.h>
+
+int
+main ()
+{
+ printf ("%12.f %12.f\n", physmem_total (), physmem_available ());
+ exit (0);
+}
+
+#endif /* DEBUG */
+
+/*
+Local Variables:
+compile-command: "gcc -DDEBUG -DHAVE_CONFIG_H -I.. -g -O -Wall -W physmem.c"
+End:
+*/
diff --git a/libiberty/regex.c b/libiberty/regex.c
index f9d9a4e26dc..e3439b2ff63 100644
--- a/libiberty/regex.c
+++ b/libiberty/regex.c
@@ -8200,7 +8200,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
if (msg_size > errbuf_size)
{
#if defined HAVE_MEMPCPY || defined _LIBC
- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
+ *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
#else
memcpy (errbuf, msg, errbuf_size - 1);
errbuf[errbuf_size - 1] = 0;
diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c
index 82f263e88af..6e5d0b4b973 100644
--- a/libiberty/testsuite/test-demangle.c
+++ b/libiberty/testsuite/test-demangle.c
@@ -65,7 +65,7 @@ getline(buf)
line: copy this line into the buffer and return. */
while (c != EOF && c != '\n')
{
- if (count >= alloc)
+ if (count + 1 >= alloc)
{
alloc *= 2;
data = xrealloc (data, alloc);
diff --git a/libiberty/vsprintf.c b/libiberty/vsprintf.c
index b69e9bc9ca6..9f09d7e2758 100644
--- a/libiberty/vsprintf.c
+++ b/libiberty/vsprintf.c
@@ -26,9 +26,13 @@ the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
+#include <ansidecl.h>
+#ifdef ANSI_PROTOTYPES
+#include <stdarg.h>
+#else
#include <varargs.h>
+#endif
#include <stdio.h>
-#include <ansidecl.h>
#undef vsprintf
#if defined _IOSTRG && defined _IOWRT
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d9c65cc89b1..7c1d3bf19f3 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,1695 @@
+2003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * include/powerpc-signal.h: New File.
+ * configure.in: Use it.
+ * configure: Regenerated.
+
+2003-06-10 Andrew Haley <aph@redhat.com>
+
+ * include/x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on
+ stack volatile to prevent optimization from removing it.
+
+2003-06-06 Mark Wielaard <mark@klomp.org>
+
+ * java/security/Security.java (secprops): Initialize.
+ (loadProviders): Return boolean.
+ (static): Check result of loadProvider calls. If necessary
+ display WARNING and fallback to Gnu provider.
+
+2002-06-06 James Clark <jjc@jclark.com>
+
+ Fix for PR libgcj/8738:
+ * gnu/gcj/convert/UnicodeToBytes.java (havePendingBytes): New method.
+ * gnu/gcj/convert/Output_SJIS.java (havePendingBytes): Likewise.
+ * gnu/gcj/convert/Output_EUCJIS.java (havePendingBytes): Likewise.
+ * gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Likewise.
+ (write): Always decrease avail when count is increased.
+ * java/lang/natString.cc (getBytes): Check converter havePendingBytes()
+ and whether output buffer is full before increasing size.
+
+2002-06-06 Mark Wielaard <mark@klomp dot org>
+
+ * java/io/PrintStream.java (writeChars(char[],int, int)):
+ Check converter.havePendingBytes().
+ (writeChars(String,int,int)): Likewise.
+ * java/io/OutputStreamWriter.java (writeChars(char[], int, int)):
+ Check converter.havePendingBytes() and flush buffer when stalled.
+
+ * mauve-libgcj: Don't ignore java.lang.String.surrogate.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-06 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc: Reverted previous patch.
+
+2003-05-01 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/10582:
+ * verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
+ Removed.
+ (type::compatible): Use _Jv_IsAssignableFrom.
+ * java/lang/natClass.cc (iindex_mutex_initialized): Now static.
+ (_Jv_IsAssignableFrom): Work even when source or target class is
+ not prepared.
+
+2003-04-15 Mohan Embar <gnustuff@thisiscool.com>
+
+ * include/win32.h: added dummy ECONNREFUSED define and
+ _Jv_select() declaration
+ * win32.cc (_Jv_select): placeholder implementation
+ (_Jv_platform_initProperties): Fix by Ranjit
+ Mathew (rmathew@hotmail.com): use generic names
+ like "x86" for the "os.arch" property to be consistent with
+ what Sun's JDK produces. Use the wProcessorArchitecture
+ member of the Win32 SYSTEM_INFO structure, filled in a call
+ to GetSystemInfo( ), instead of dwProcessorType
+ * gnu/java/nio/natSocketChannelImpl.cc (SocketRead): use
+ elements(data) and explicitly cast to char* on platforms
+ where jbyte is not signed char
+ (SocketWrite): idem
+
+2003-03-29 Mohan Embar <gnustuff@thisiscool.com>
+
+ * include/jvm.h: (_Jv_GetNbArgs) added
+ (_Jv_GetSafeArg) added
+ (_Jv_SetArgs) added
+ * prims.cc: (_Jv_GetNbArgs) implemented
+ (_Jv_GetSafeArg) implemented
+ (_Jv_SetArgs) implemented
+ (_Jv_RunMain) use _Jv_SetArgs() instead of explicitly
+ setting _Jv_argc and _Jv_argv
+ * posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg()
+ instead of _Jv_argv
+ * java/lang/natRuntime.cc: (insertSystemProperties) use
+ _Jv_GetSafeArg() instead of _Jv_argv
+
+2003-04-19 Jerry Quinn <jlquinn@optonline.net>
+
+ * java/math/BigInteger.java (probablePrime): New.
+ * java/math/BigDecimal.java (unscaledValue): New.
+
+2003-04-19 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/io/File.java (getAbsolutePath): On Windows, take care
+ of paths like "C:", "G:foo\bar", etc.
+ (getName): Make it work correctly on Windows.
+ (getParent): Make it work correctly on Windows. For UNIX,
+ fix bug that causes "/" to be returned as the parent of "/",
+ instead of null as returned by Sun's JRE.
+
+ * java/io/natFileWin32.cc: Change copyright owner to FSF.
+
+2003-04-16 Tom Tromey <tromey@redhat.com>
+
+ * mauve-libgcj: Disable some tests we can't compile.
+
+2003-04-10 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (pop64): Removed.
+ (verify_instructions_0) <op_pop2>: Inline code. Don't throw
+ exception if top-of-stack is narrow.
+ (initialize_stack): Check to ensure that <init> is not static and
+ <clinit> is.
+
+2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * configure.in (HAVE_BACKTRACE) [s390*-*-linux*]: Define.
+ * configure: Regenerate.
+
+2003-03-14 Jeroen Frijters <jeroen@sumatra.nl>
+
+ * java/io/ObjectInputStream.java (readObject): Cleaned up the class
+ hierarchy loop.
+ (readFields(Object,ObjectStreamField[],boolean)): Changed argument
+ list to Object,ObjectStreamClass, moved callReadMethod code up into
+ readObject and added Class argument to all setXxxField calls.
+ (callReadMethod): Changed Class argument to ObjectStreamClass to be
+ consistent with ObjectOutputStream and to facilitate caching the
+ Method in the future.
+ (setBooleanField): Added Class argument.
+ (setByteField): Likewise.
+ (setCharField): Likewise.
+ (setDoubleField): Likewise.
+ (setFloatField): Likewise.
+ (setIntField): Likewise.
+ (setLongField): Likewise.
+ (setShortField): Likewise.
+ (setObjectField): Likewise.
+ * java/io/ObjectOutputStream.java (writeObject): Cleaned up the
+ class hierarchy loop.
+ (defaultWriteObject): Call writeFields with new argument list.
+ (writeFields(Object,ObjectStreamField[],boolean): Changed argument
+ list to Object,ObjectStreamClass, moved callWriteMethod up into
+ writeObject and added Class argument to all getXxxField calls.
+ (callWriteMethod): Added ObjectStreamClass argument to be able to
+ get the proper class to call getMethod on (each class can have (or
+ not have) its own writeObject method).
+ (getBooleanField): Added Class argument.
+ (getByteField): Likewise.
+ (getCharField): Likewise.
+ (getDoubleField): Likewise.
+ (getFloatField): Likewise.
+ (getIntField): Likewise.
+ (getLongField): Likewise.
+ (getShortField): Likewise.
+ (getObjectField): Likewise.
+ * java/io/ObjectStreamClass.java (hasReadMethod): Added method to
+ facilitate caching the Method object in the future.
+
+2003-03-10 2003-02-27 Mohan Embar <gnustuff@thisiscool.com>
+
+ * include/jvm.h: removed declaration of _Jv_ThisExecutable()
+ setter; made return value of getter const char* instead of char*
+ * prims.cc: removed all references to _Jv_ThisExecutable().
+ These are in the platform-specific sections now.
+ * posix.cc: define platform-specific _Jv_ThisExecutable().
+ Handle DISABLE_MAIN_ARGS and HAVE_PROC_SELF_EXE cases
+ * win32.cc: define platform-specific _Jv_ThisExecutable()
+ using GetModuleFilename()
+ * java/lang/natRuntime.cc: set gnu.gcj.progname property
+ to argv[0] instead of _Jv_ThisExecutable()
+
+2003-03-10 Ranjit Mathew <rmathew@hotmail.com>
+
+ * gnu/gcj/runtime/NameFinder.java (usingAddr2name): New flag
+ that is set if we are using addr2name.awk instead of addr2line.
+ (NameFinder): Set usingAddr2name if using addr2name.awk.
+ (getExternalLabel): New native method to convert a method
+ name to an external label.
+ (lookup): Convert name given by addr2line to an external label
+ before demangling.
+
+ * gnu/gcj/runtime/natNameFinder.cc (LABEL_PREFIX): New string
+ constant representing the prefix attached to method names to
+ convert them to an external label.
+ (gnu::gcj::runtime::NameFinder::getExternalLabel): Define
+ using LABEL_PREFIX.
+
+2003-03-09 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/9934:
+ * java/io/natFileDescriptorPosix.cc (available): Fixed arguments
+ to lseek. Return 0 if we can't compute the value.
+
+2003-03-03 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (handle_jsr_insn): Don't fail if `jsr' appears at end
+ of bytecode.
+ (handle_ret_insn): Fail if returning to jsr that appears at end of
+ bytecode.
+
+2003-03-02 Mark Wielaard <mark@klomp.org>
+
+ * java/util/Properties.java (load): Only skip line if the first
+ character is a comment, whitespaces don't count.
+
+2003-03-01 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * posix-threads.cc: Include <unistd.h> if HAVE_UNISTD_H is defined.
+ (_Jv_ThreadSetPriority): Test for _POSIX_THREAD_PRIORITY_SCHEDULING.
+
+2003-03-01 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/io/File.java (normalizePath): Remove trailing separator
+ on Windows only if path is not of the form "x:\".
+
+ * java/io/natFileWin32.cc (WIN32_EPOCH_MILLIS): New constant.
+ (java::io::File::attr): Change formatting a bit and use
+ WIN32_EPOCH_MILLIS instead of magic numbers.
+ (java::io::File::isAbsolute): Path must have at least 3
+ characters for a UNC network path.
+ (java::io::File::init_native): Define.
+ (java::io::File::performCreate): Likewise.
+ (java::io::File::performSetReadOnly): Likewise.
+ (java::io::File::performSetLastModified): Likewise.
+ (java::io::File::performListRoots): Likewise.
+
+2003-03-01 Michael Koch <konqueror@gmx.de>
+
+ * java/net/DatagramSocket.java
+ (closed): New member variable.
+ (close): Use closed variable.
+ (getInetAddress): No need to call isConnected().
+ (getPort): No need to call isConnected().
+ (disconnect): Reset remoteAddress and remotePort, fixed typo.
+ (isClosed): Reimplemented.
+
+2003-03-01 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/io/File (getAbsolutePath): Prefix drive specifier on
+ Windows for paths starting with a '\'.
+ (toURL): Make URL more consistent with what Sun's JDK returns.
+
+ * java/io/natFileWin32.cc (java::io::File::isAbsolute): Return
+ true only if the path is a UNC network path or it starts with a
+ drive specifier.
+
+ * java/net/URLStreamHandler.java (parseURL): Correct minor typo.
+ Be prepared to handle either '/' or '\\' in the file path for
+ Windows if using the "file" protocol.
+ Canonicalise the file path if using a relative path in the given
+ context and the "file" protocol.
+
+2003-03-01 Mohan Embar <gnustuff@thisiscool.com>
+
+ * java/lang/natWin32Process.cc (startProcess): Double-quote each
+ program array element passed to CreateProcess.
+
+2003-03-01 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/natSocketChannelImpl.cc:
+ Reverse logic for DISABLE_JAVA_NET. Thanks to Krister Walfridsson
+ <cato@df.lth.se> for pointing to it.
+
+ * gnu/java/nio/natSocketChannelImpl.cc:
+ Added support for platforms without network support.
+
+ * java/nio/channels/FileChannel.java
+ (toString): New implementation, added documentation.
+ (map): Added exception documentation.
+ (size): Added exception documentation.
+ (write): New methods, documentation work.
+ (read): New methods, documentation work.
+ (implCloseChannel): Rewrote exception documentation.
+ (force): Throws IOException, added documentation.
+ (lock): New methods.
+ (tryLock): New methods.
+ (position): New methods.
+ (transferTo): New method.
+ (transferFrom): New method.
+ (truncate): New method.
+ * java/nio/channels/spi/SelectorProvider.java
+ (provider): Implemented.
+ * Makefile.am
+ (ordinary_java_source_files): Added the following files:
+ gnu/java/nio/DatagramChannelImpl.java
+ gnu/java/nio/FileChannelImpl.java
+ gnu/java/nio/PipeImpl.java
+ gnu/java/nio/SelectionKeyImpl.java
+ gnu/java/nio/SelectorImpl.java
+ gnu/java/nio/SelectorProviderImpl.java
+ gnu/java/nio/ServerSocketChannelImpl.java
+ gnu/java/nio/SocketChannelImpl.java
+ java/nio/channels/FileLock.java
+ (nat_java_source_files): Added the following files:
+ gnu/java/nio/natFileChannelImpl.cc
+ gnu/java/nio/natSelectorImpl.cc
+ gnu/java/nio/natSocketChannelImpl.cc
+ * Makefile.in: Regenerated.
+
+2003-03-01 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/ByteBufferImpl.java
+ (ByteBufferImpl): Renamed two variables.
+ * gnu/java/nio/CharBufferImpl.java
+ (CharBufferImpl): Renamed two variables.
+ * gnu/java/nio/DoubleBufferImpl.java
+ (DoubleBufferImpl): Renamed two variables.
+ * gnu/java/nio/FloatBufferImpl.java
+ (FloatBufferImpl): Renamed two variables.
+ * gnu/java/nio/IntBufferImpl.java
+ (IntBufferImpl): Renamed two variables.
+ * gnu/java/nio/LongBufferImpl.java
+ (LongBufferImpl): Renamed two variables.
+ * gnu/java/nio/ShortBufferImpl.java
+ (ShortBufferImpl): Renamed two variables.
+ * java/nio/CharBuffer.java
+ (wrap): Fixed arguments to CharBufferImpl constructor.
+ (hasArray): Only not read-only buffers have backing arrays.
+ (length): Documentation added.
+ (subSequence): Documentation added.
+ * java/nio/DoubleBuffer.java
+ (hasArray): Only not read-only buffers have backing arrays.
+ * java/nio/FloatBuffer.java
+ (hasArray): Only not read-only buffers have backing arrays.
+ * java/nio/IntBuffer.java
+ (hasArray): Only not read-only buffers have backing arrays.
+ * java/nio/LongBuffer.java
+ (hasArray): Only not read-only buffers have backing arrays.
+ * java/nio/ShortBuffer.java
+ (hasArray): Only not read-only buffers have backing arrays.
+
+2003-03-01 Mark Wielaard <mark@klomp.org>
+
+ * java/io/ObjectInputStream.java: Reindent.
+ * java/io/ObjectOutputStream.java: Likewise.
+
+2003-02-28 Hans Boehm <Hans.Boehm@hp.com>
+
+ * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Allocate a full
+ jvalue for each argument. Simplify.
+ * testsuite/libjava.jni/calls.c (docall),
+ testsuite/libjava.jni/calls.java (longpb_f): check for argument
+ misalignment.
+
+2003-02-28 Mark Wielaard <mark@klomp.org>
+
+ * Makefile.am (nat_source_files): Remove
+ java/io/natObjectOutputStream.cc.
+ * Makefile.in: Regenerated.
+ * mauve-libgcj: Don't exclude java.io.ObjectInputOutput tests.
+ * java/io/ObjectStreamField.java (typename): New field.
+ (ObjectStreamField(String, Class)): Initialize new field.
+ (ObjectStreamField(String, String)): New Constructor.
+ (getTypeCode): Use new field.
+ (getTypeString): Use new field.
+ * java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
+ ObjectStreamExceptions. Remember and reset old BlockDataMode.
+ Handle reading of Proxy classes. Never drain(), just write
+ TC_ENDBLOCKDATA. Rethrow ObjectStreamExceptions.
+ (drain): Check writeDataAsBlocks before calling writeBlockDataHeader.
+ (flush): Call flush(), not just drain().
+ (writeBoolean): Always use blockDataOutput.
+ (writeByte): Likewise.
+ (writeShort): Likewise.
+ (writeChar): Likewise.
+ (writeInt): Likewise.
+ (writeLong): Likewise.
+ (writeFloat): Likewise.
+ (writeDouble): Likewise.
+ (writeBytes): Likewise.
+ (putfield (put(String,Object))): Throw IllegalArgumentException if
+ field cannot be found.
+ (putfield (write(ObjectOutput))): Remember old BlockDataMode.
+ (writeArraySizeAndElements): Write byte[] in one go.
+ (writeFields): Write TC_ENDBLOCKDATA when call_write_method, otherwise
+ set BlockDataMode to false.
+ (annotateProxyClass): New method.
+ (defaultProtocolVersion): Now defaults to PROTOCOL_VERSION_2
+ (getField): No longer native.
+ (getMethod): Likewise.
+ (setBlockDataMode): Always drain() on switch, return old mode.
+ (static): New static code block.
+ * java/io/natObjectOutputStream.cc: Removed.
+ * java/io/ObjectInputStream.java (getField): No longer native.
+ (getMethod): Likewise.
+ (readObject): Remember and reset old BlockDataMode. Track whether
+ object is consumed. Handle TC_ENDBLOCKDATA, TC_PROXYCLASSDESC and
+ TC_LONGSTRING.
+ (defaultReadObject): Set BlockDataMode to false during readFields.
+ (resolveClass): Create new SecurityManager if necessary.
+ Use Class.forName() if null ClassLoader found.
+ (read(byte[],int,int): Copy remaining bytes to data before calling
+ readNextBlock().
+ (readFields): Set and reset BlockDataMode on call_read_method.
+ Catch NoSuchFieldErrors.
+ (setBlockDataMode): Return old mode.
+ (static): New static code block.
+ * java/io/natObjectInputStream.cc (getField): Removed.
+ (getMethod): Likewise.
+
+2003-02-21 Mark Wielaard <mark@klomp.org>
+
+ * java/util/zip/ZipEntry.java (setComment): Don't check length when
+ argument is null.
+
+2003-02-21 Mark Wielaard <mark@klomp.org>
+
+ * java/util/zip/ZipEntry.java (ZipEntry(String)): When name is bigger
+ then 65535 chars throw IllegalArgumentException.
+
+2003-02-21 Mark Wielaard <mark@klomp.org>
+
+ * java/util/zip/ZipFile.java (finalize): New method.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * gnu/gcj/runtime/natStackTrace.cc: Include platform.h immediately
+ after config.h. Use <> for consistency.
+ * java/lang/natObject.cc: Likewise.
+ * java/lang/natRuntime.cc: Likewise.
+ * java/lang/natSystem.cc: Likewise.
+ * java/util/natTimeZone.cc: Likewise.
+ * win32.cc: Likewise.
+ * include/posix.h (fcntl, socket, connect, close, bind, accept,
+ listen, write, read): Undef to avoid interference from OS macros.
+
+2003-02-18 Raif S. Naffah <raif@fl.net.au>
+
+ * java/math/BigInteger.java (euclidInv): Take result array as an
+ argument. Updated all callers.
+ (modInverse): Removed unused variables.
+
+2003-02-17 Michael Koch <konqueror@gmx.de>
+
+ * java/net/DatagramSocket.java
+ (connect): Merged with classpath.
+ (disconnect): Merged documentation with classpath.
+ (receice): Merged documentation with classpath.
+ (send): Merged documentation with classpath.
+
+2003-02-17 Jesse Rosenstock <jmr@ugcs.caltech.edu>
+
+ * java/nio/charset/Charset.java
+ (isRegistered): Fixed method args and implementation.
+ * java/nio/charset/CharsetEncoder.java
+ (unmappableCharacterAction): New method.
+
+2003-02-17 Raif S. Naffah <raif@fl.net.au>
+
+ * java/math/BigInteger.java (euclidInv): Return array of
+ `BigInteger's. Changed all callers.
+
+2003-02-16 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/util/Properties.java (store): Move the code formerly in
+ list(), into this method.
+ (list (PrintStream)): Just call list (PrintWriter) with a
+ PrintWriter object constructed from the given PrintStream object.
+ (list (PrintWriter)): Emulate the output of Properties.list()
+ as found in JDK 1.3/1.4.
+
+2003-02-16 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (_Jv_BytecodeVerifier::pop_jump): Removed unused
+ variable.
+
+2003-02-14 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
+ * gnu/java/nio/ServerSocketChannelImpl.java
+ (SocketAccept): Removed.
+ (accept): Commented out use of SocketAccept.
+
+2003-02-14 Mark Wielaard <mark@klomp.org>
+
+ * java/math/BigDecimal.java (BigDecimal(String)): Always set scale to
+ zero when there is an exponent and the significant is zero.
+ (divide): Always set scale to newScale even in special ZERO case.
+
+2003-02-14 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/System.java (properties): Use Properties.clone.
+ (setProperties): Likewise.
+
+2003-02-13 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (state::seen_subrs): New field.
+ (state::state): Initialize it.
+ (state::clean_subrs): New method.
+ (state::~state): Call it.
+ (state::copy): Copy subroutine list.
+ (state::add_subr): New method.
+ (state::merge): Only register a change if the current subroutine
+ hasn't yet been noted.
+
+2003-02-13 Mark Wielaard <mark@klomp.org>
+
+ * java/io/InputStreamReader.java (getEncoding): Return null when
+ closed.
+ * java/io/OutputStreamWriter.java (getEncoding): Likewise.
+
+2003-02-13 Mark Wielaard <mark@klomp.org>
+
+ * java/util/zip/InflaterInputStream.java (read): Return zero when len
+ is zero.
+
+2003-02-13 Mark Wielaard <mark@klomp.org>
+
+ * java/io/BufferedOutputStream.java (write(int)): Only flush when
+ next byte cannot be buffered.
+
+2003-02-13 Casey Marshall <rsdio@metastatic.org>
+
+ PR libgcj/9271:
+ * java/security/SecureRandom.java (next): Avoid bias in results.
+
+2003-02-13 Michael <konqueror@gmx.de>
+
+ * gnu/java/nio/FileChannelImpl.java
+ (lengthInternal): Must be native.
+ (size): Check if channel is already closed.
+ (implCloseChannel): Reformated.
+ (read): w was unused, removed it.
+ (read): Removed.
+ (read): New method.
+ (write): New method.
+ (map): Check arguments.
+ (force): Throws IOException, check if channel is closed.
+ (transferTo): New method.
+ (transferFrom): New method.
+ (lock): New method.
+ (tryLock): New method.
+ (position): New method.
+ (truncate): New method.
+ (nio_mmap_file): Uncommented.
+ (nio_munmap_file): Uncommented.
+ (nio_msync): Uncommented.
+ * gnu/java/nio/natFileChannelImpl.cc: New file.
+
+2003-02-13 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/ByteBuffer.java
+ (endian): New member variable.
+ (get): New methods.
+ (equals): New method.
+ (compareTo): New method.
+ (order): New methods.
+ (compact): New method.
+ (isDirect): New method.
+ (slice): New method.
+ (duplicate): New method.
+ (asReadOnlyBuffer): New method.
+ (asCharBuffer): New method.
+ (asDoubleBuffer): New method.
+ (asFloatBuffer): New method.
+ (asIntBuffer): New method.
+ (asLongBuffer): New method.
+ (asShortBuffer): New method.
+ (get*): New methods.
+ (put*): New methods.
+ (toString): New method.
+ * java/nio/CharBuffer.java
+ (CharBuffer): Implement Comparable instead of Cloneable.
+ (get): May not be final.
+ (put): May not be final.
+
+2003-02-13 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/natSocketChannelImpl.cc
+ (SocketConnect): This is not implemented yet.
+ (SocketBind): This is not implemented yet.
+
+2003-02-13 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/natByteBufferImpl.cc,
+ gnu/java/nio/natCharBufferImpl.cc,
+ gnu/java/nio/natDoubleBufferImpl.cc,
+ gnu/java/nio/natFloatBufferImpl.cc,
+ gnu/java/nio/natIntBufferImpl.cc,
+ gnu/java/nio/natLongBufferImpl.cc,
+ gnu/java/nio/natShortBufferImpl.cc:
+ Added copyright and license.
+ * java/nio/DoubleBuffer.java,
+ java/nio/FloatBuffer.java,
+ java/nio/IntBuffer.java,
+ java/nio/LongBuffer.java,
+ java/nio/ShortBuffer.java
+ (array): Throw exceptions.
+ (arrayOffset): Throw exceptions.
+
+2002-02-13 Ranjit Mathew <rmathew@hotmail.com>
+
+ * gnu/gcj/runtime/NameFinder.java (createStackTraceElement): Use
+ lastIndexOf( ) instead of indexOf( ) to find the colon before
+ the line number, because Win32 file names might contain a
+ drive letter and a colon at the start of an absolute path.
+
+2003-02-12 Jeff Sturm <jsturm@one-point.com>
+
+ * configure.host (alpha*-*): Default to -mieee.
+ * configure.in (IEEESPEC): New.
+ * libgcj.spec.in (jc1): Add IEEESPEC.
+ * configure: Rebuild.
+
+2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
+
+ * include/win32.h: Include ws2tcpip.h instead of
+ winsock.h to obtain definition of the socklen_t type.
+ Remove IP_TOS definition - not needed with ws2tcpip.h
+ (_Jv_connect): Correct slight formatting error.
+
+2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
+
+ * jni.cc (_Jv_LookupJNIMethod): Modify to accept the
+ size of the arguments for a JNI function. For Win32,
+ modify to search for all forms of possible exported
+ names of an stdcall JNI function.
+ (_Jv_JNIMethod::call): Modify to calculate the size
+ of the arguments passed to a JNI function and pass
+ it to _Jv_LookupJNIMethod.
+
+2003-02-12 Michael Koch <konqueror@gmx.de>
+
+ * java/net/NetPermission.java
+ (NetPermission): Make doucmentation match the method declaration.
+ * java/net/NetworkInterface.java
+ (equals): Reformated for GNU coding style.
+ * java/net/ServerSocket.java: Merged with classpath.
+ * java/net/Socket.java: Partly merged with classpath (Added some
+ @since).
+ * java/net/SocketImpl.java
+ (localPort): Merged with classpath (initialize with -1).
+ * java/net/SocketPermission.java: Merged with classpath (reindented).
+ * java/net/URLDecoder.java: Merged with classpath (reindented).
+
+2003-02-12 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/channels/Channels.java: New file.
+ * Makefile.am
+ (ordinary_java_source_files): Added java/nio/channels/Channels.java.
+ * Makefile.in: Regenerated.
+
+2003-02-12 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/ByteBuffer.java
+ (allocate): Implemented.
+ (wrap): Implemented.
+ * java/nio/CharBuffer.java:
+ Some documentation added and reworked.
+ (endian): Removed.
+ (allocate): Implemented.
+ (wrap): Implemented.
+ (array): Throw exceptions.
+ (arrayOffset): Throw exceptions.
+ (toString): Implemented.
+ (length): Implemented.
+ (put): Implemented.
+ (charAt): Implemented.
+
+2003-02-11 John Leuner <jewel@debian.org>
+
+ * java/util/zip/ZipInputStream.java: Fix problem with 0-length
+ reads from end of file.
+
+2003-02-11 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/ByteBufferImpl.java:
+ Reformated and removed some code.
+ (backing_buffer): Removed.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (ByteBufferImpl): Use parent constructor, initialize readOnly.
+ * gnu/java/nio/CharBufferImpl.java:
+ Reformated and removed some code.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (CharBufferImpl): Use parent constructor, initialize readOnly.
+ (inc_pos): Removed.
+ (order): New method.
+ * gnu/java/nio/DoubleBufferImpl.java:
+ Reformated and removed some code.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (DoubleBufferImpl): Use parent constructor, initialize readOnly.
+ (inc_pos): Removed.
+ (order): New method.
+ * gnu/java/nio/FloatBufferImpl.java:
+ Reformated and removed some code.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (FloatBufferImpl): Use parent constructor, initialize readOnly.
+ (inc_pos): Removed.
+ (order): New method.
+ * gnu/java/nio/IntBufferImpl.java:
+ Reformated and removed some code.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (IntBufferImpl): Use parent constructor, initialize readOnly.
+ (inc_pos): Removed.
+ (order): New method.
+ * gnu/java/nio/LongBufferImpl.java:
+ Reformated and removed some code.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (LongBufferImpl): Use parent constructor, initialize readOnly.
+ (inc_pos): Removed.
+ (order): New method.
+ * gnu/java/nio/ShortBufferImpl.java:
+ Reformated and removed some code.
+ (array_offset): Removed.
+ (ro): Renamed to readOnly.
+ (ShortBufferImpl): Use parent constructor, initialize readOnly.
+ (inc_pos): Removed.
+ (order): New method.
+ * Makefile.am
+ (ordinary_java_source_files): Added the following files:
+ gnu/java/nio/ByteBufferImpl.java
+ gnu/java/nio/CharBufferImpl.java
+ gnu/java/nio/DoubleBufferImpl.java
+ gnu/java/nio/FloatBufferImpl.java
+ gnu/java/nio/IntBufferImpl.java
+ gnu/java/nio/LongBufferImpl.java
+ gnu/java/nio/ShortBufferImpl.java
+ java/nio/DoubleBuffer.java
+ java/nio/FloatBuffer.java
+ java/nio/IntBuffer.java
+ java/nio/LongBuffer.java
+ java/nio/ShortBuffer.java
+ (nat_source_files): Added the following files:
+ gnu/java/nio/natByteBufferImpl.cc
+ gnu/java/nio/natCharBufferImpl.cc
+ gnu/java/nio/natDoubleBufferImpl.cc
+ gnu/java/nio/natFloatBufferImpl.cc
+ gnu/java/nio/natIntBufferImpl.cc
+ gnu/java/nio/natLongBufferImpl.cc
+ gnu/java/nio/natShortBufferImpl.cc
+ * Makefile.in: Regenerated.
+
+2003-02-11 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/natCharBufferImpl.cc
+ (nio_cast): Removed.
+ (nio_put_*): Removed.
+ (nio_get_*): Removed.
+ * gnu/java/nio/natDoubleBufferImpl.cc
+ (nio_cast): Removed.
+ (nio_put_*): Removed.
+ (nio_get_*): Removed.
+ * gnu/java/nio/natFloatBufferImpl.cc
+ (nio_cast): Removed.
+ (nio_put_*): Removed.
+ (nio_get_*): Removed.
+ * gnu/java/nio/natIntBufferImpl.cc
+ (nio_cast): Removed.
+ (nio_put_*): Removed.
+ (nio_get_*): Removed.
+ * gnu/java/nio/natLongBufferImpl.cc
+ (nio_cast): Removed.
+ (nio_put_*): Removed.
+ (nio_get_*): Removed.
+ * gnu/java/nio/natShortBufferImpl.cc
+ (nio_cast): Removed.
+ (nio_put_*): Removed.
+ (nio_get_*): Removed.
+ * gnu/java/nio/SelectorProviderImpl.java
+ (openDatagramChannel): Throws IOException.
+ (openPipe): Throws IOException.
+ (openSelector): Throws IOException.
+ (openServerSocketChannel): Throws IOException.
+ (openSocketChannel): Throws IOException.
+ * gnu/java/nio/ServerSocketChannelImpl.java
+ (ServerSocketChannelImpl): Throws IOException.
+ (implCloseSelectableChannel): Throws IOException.
+ (implConfigureBlocking): Throws IOException.
+ * java/nio/ByteBuffer.java
+ (readOnly): Removed.
+ (hasArray): Use isReadOnly() instead of readOnly.
+ (array): Use isReadOnly() instead of readOnly.
+ (arrayOffset): Use isReadOnly() instead of readOnly.
+ * java/nio/CharBuffer.java
+ (CharBuffer): Implements Cloneable and CharSequence.
+
+2003-02-11 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/Buffer.java
+ (cap, lim, pos, mark): Made private
+ (Buffer): Added package private constructor.
+ * java/nio/ByteBuffer.java
+ (ByteBuffer): Implements Cloneable.
+ (offset): New member variable.
+ (readOnly): New member variable.
+ (backing_buffer): New member variable.
+ (allocateDirect): Throw exception and tell that direct buffers are
+ not supported yet, documentation added.
+ (allocate): Documentation added.
+ (wrap): Documentation added.
+ (ByteBuffer): New constructor.
+ (hasArray): New method.
+ (array): New method.
+ (arrayOffset): New method.
+ (get): Documentation added.
+ (put): Documentation added.
+ * java/nio/CharBuffer.java
+ (CharBuffer): New constructor.
+ (compareTo): Don't access member variables of Buffer directly.
+ * java/nio/DoubleBuffer.java
+ (allocateDirect): Throw exception and tell that direct buffers are
+ not supported yet.
+ * java/nio/FloatBuffer.java
+ (allocateDirect): Throw exception and tell that direct buffers are
+ not supported yet.
+ * java/nio/IntBuffer.java
+ (allocateDirect): Throw exception and tell that direct buffers are
+ not supported yet.
+ * java/nio/LongBuffer.java
+ (allocateDirect): Throw exception and tell that direct buffers are
+ not supported yet.
+ * java/nio/MappedByteBuffer.java
+ (MappedByteBuffer): New method.
+ (force): New method.
+ (isLoaded): New method.
+ (load): New method.
+ * java/nio/ShortBuffer.java
+ (allocateDirect): Throw exception and tell that direct buffers are
+ not supported yet.
+
+2003-02-11 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/io/natFileDescriptorWin32.cc
+ (java::io::FileDescriptor::read): Return -1 (EOF) if ReadFile( )
+ returns with Win32 error code ERROR_BROKEN_PIPE.
+
+2003-02-10 Tom Tromey <tromey@redhat.com>
+
+ * javax/sql/ConnectionEvent.java (serialVersionUID): New field.
+ (ex): Renamed from sqlException.
+
+2003-02-10 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/DoubleBuffer.java
+ (DoubleBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (DoubleBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/FloatBuffer.java
+ (FloatBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (FloatBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/IntBuffer.java
+ (IntBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (IntBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/LongBuffer.java
+ (LongBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (LongBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/ShortBuffer.java
+ (ShortBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (ShortBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+
+2003-02-10 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/FileLockImpl.java,
+ java/nio/channels/FileLock.java: New files.
+
+2003-02-10 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/charset/IllegalCharsetNameException.java
+ (serialVersionUID): New member variable.
+ (charsetName): New member variable.
+ (IllegalCharsetException): New implementation.
+ (getCharsetName): New implementation.
+ * java/nio/charset/UnsupportedCharsetException.java
+ (serialVersionUID): New member variable.
+ (charsetName): New member variable.
+ (UnsupportedCharsetException): New implementation.
+ (getCharsetName): New implementation.
+
+2003-02-10 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/channels/DatagramChannel.java
+ (write): Throws IOException.
+ (connect): Throws IOException.
+ (disconnect): Throws IOException.
+ (read): Throws IOException.
+ (receive): Throws IOException.
+ (send): Throws IOException.
+ * java/nio/channels/Pipe.java
+ (open): Throws IOException.
+ * java/nio/channels/SelectableChannel.java
+ (configureBlocking): Throws IOException.
+ * java/nio/channels/ServerSocketChannel.java
+ (accept): Throws IOException.
+ * java/nio/channels/SocketChannel.java
+ (SocketChannel): Implements ByteChannel, ScatteringByteChannel,
+ GatheringByteChannel.
+ (read): Throws IOException.
+ (write): Throws IOException.
+ (finishConnect): Throws IOException.
+ * java/nio/channels/spi/AbstractInterruptibleChannel.java
+ (end): Throws AsynchronousCloseException.
+ * java/nio/channels/spi/AbstractSelectableChannel.java
+ (configureBlocking): Throws IOException.
+ (implCloseChannel): Throws IOException.
+ (implCloseSelectableChannel): Throws IOException.
+ (implConfigureBlocking): Throws IOException.
+ * java/nio/channels/spi/SelectorProvider.java
+ (openDatagramChannel): Throws IOException.
+ (openPipe): Throws IOException.
+ (openSelector): Throws IOException.
+ (openServerSocketChannel): Throws IOException.
+ (openSocketChannel): Throws IOException.
+
+2003-02-10 Raif S. Naffah <raif@fl.net.au>
+
+ * gnu/java/security/provider/SHA1PRNG.java (ensureIsSeeded): new
+ method used to ensure seeding has occurred and that a specific
+ seed can be set and used.
+
+2003-02-10 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/channels/SelectionKey.java
+ (OP_ACCEPT, OP_CONNECT, OP_READ, OP_WRITE): Initialize with correct
+ values.
+
+2003-02-10 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/lang/Win32Process.java (destroy): Declare as native.
+ (hasExited): New native method.
+ (exitValue): Define.
+ (getErrorStream): Likewise.
+ (getInputStream): Likewise.
+ (getOutputStream): Likewise.
+ (waitFor): Declare as native.
+ (startProcess): New native method.
+ (cleanup): Likewise.
+ (ConcreteProcess): Define.
+ (outputStream, inputStream, errorStream): New members.
+ (procHandle, exitCode): Likewise.
+
+ * java/lang/natWin32Process.cc
+ (java::lang::ConcreteProcess::cleanup): Define.
+ (java::lang::ConcreteProcess::destroy): Likewise.
+ (java::lang::ConcreteProcess::hasExited): Likewise.
+ (java::lang::ConcreteProcess::waitFor): Likewise.
+ (new_string): Likewise.
+ (java::lang::ConcreteProcess::startProcess): Likewise.
+
+2003-02-10 Raif S. Naffah <raif@fl.net.au>
+
+ * java/math/BigInteger.java:
+ Updated notice to include years 2002 and 3.
+ Added 2 private (int) arrays with values from the HAC (Handbook of
+ Applied Cryptography -A. Menezes & al): k[] that contains bit lengths
+ and t[] that contains nbr. of tests --used in isProbablePrime().
+
+ * java/math/BigInteger.java (make(long)): Merged into valueOf(long).
+
+ * java/math/BigInteger.java (make(int[],int), add(int,int),
+ add(BI,BI,int), times(BI,int), divide(long,long,BI,BI,int), gcd(BI),
+ isProbablePrime(int), shift(BI,int), valueOf(String,int), neg(BI),
+ bitOp(int,BI,BI), and(BI,int)): Use valueOf(long) instead of
+ make(long).
+
+ * java/math/BigInteger.java (euclidInv): Reduce number of work vars
+ (euclidInv(int,int,int)): Now returns an array of 2 ints instead of 3.
+ (euclidInv(BI,BI,BI)): Used to return an array of 2 BIs; now accepts 6
+ BIs and returns void.
+ (modInverse(BI)): Use new signatures of euclidInv().
+
+ * java/math/BigInteger.java (isProbablePrime(int)): Use divide() with
+ static small primes instead of remainder().
+ Use pre-computed max nbr of trials based on bitlength of BI to test.
+ Use pre-computed small primes for the trial tests instead of random
+ numbers.
+
+ * java/math/BigInteger.java (isOdd, isMinusOne, pow): Removed.
+ not used.
+
+ * java/math/BigInteger.java (format(int,StringBuffer)): Removed
+ invoacation of MPN.chars_per_word(). not used.
+
+ * java/math/BigInteger.java (gcd(int,int)): Declared 'tmp' once as
+ local var and used where needed.
+
+ * java/math/BigInteger.java (modPow(BI,BI)): Fixed spelling.
+ Combined declaration with initialisation of locals.
+ Removed unused var.
+
+ * java/math/BigInteger.java: Style changes
+ (pow(int)): Removed 'else' keyword.
+ (toString(int)): idem.
+ (doubleValue()): idem.
+ (bitLength()): idem.
+ (equals(Object)): Use static methods name in same class w/o prepending
+ class name.
+ (doubleValue()): idem.
+ (setNegative(BI)): idem.
+ (negate()): idem.
+ (and(BI,int)): idem.
+ (and(BI)): idem.
+ (gcd(BI)): idem.
+ (byteArrayToIntArray()): Removed casting to (int). this is
+ std. behaviour.
+ (canonicalize()): idem.
+ (alloc(int)): Always instantiate a new BI.
+
+2003-02-10 Tom Tromey <tromey@redhat.com>
+
+ * java/sql/Timestamp.java (compareTo(Object)): New method.
+ (compareTo(Timestamp)): Likewise.
+ (serialVersionUID): Updated.
+
+2003-02-07 Mark Wielaard <mark@klomp.org>
+
+ * java/util/jar/JarFile.java (JarFile(String, boolean)): Read manifest
+ when verify is true.
+ (JarFile(File, boolean)): Likewise.
+ (manifestRead): Set manifestRead field correctly.
+
+2003-02-07 Stephen Crawley <crawley@dstc.edu.au>
+
+ * java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013
+ tests; see patch #1016 on Savannah.
+
+2003-02-07 Stephen Crawley <crawley@dstc.edu.au>
+
+ * java/math/BigDecimal.java (BigDecimal): enhance parsing of exponents
+ (toString): do not return Strings starting with . and - erroneously.
+ Improves Mauve results to 12 of 600 instead of 16 of 338 on
+ DiagBigDecimal.
+
+2003-02-07 Stephen Crawley <crawley@dstc.edu.au>
+
+ * java/beans/PropertyDescriptor.java
+ (PropertyDescriptor(String, Class)): Sanity check getter and setter
+ methods.
+ (PropertyDescriptor(String, Class, String, String)): Likewise.
+ (PropertyDescriptor(String, Method, Method): Factor out getter and
+ setter method sanity checks into new method.
+ (findMethods): Don't do parameter sanity checking of get method here.
+ (checkMethods): New method.
+
+2003-02-07 Stephen Crawley <crawley@dstc.edu.au>
+
+ * java/beans/PropertyDescriptor.java: Reformat.
+
+2003-02-04 Tom Tromey <tromey@redhat.com>
+
+ * java/io/PipedOutputStream.java (flush): Declare as throwing
+ IOException.
+ (close): Likewise.
+ * java/io/PipedWriter.java (close): Declare as throwing
+ IOException.
+ * java/io/StringWriter.java (close): Declare as throwing
+ IOException.
+
+2003-02-03 Ranjit Mathew <rmathew@hotmail.com>
+
+ * java/lang/natRuntime.cc (java::lang::Runtime::_load)): Take care
+ of the fact that on Win32, JNI_OnLoad is an "stdcall" function and
+ could also have been exported as "JNI_OnLoad@8" (MinGW) or
+ "_JNI_OnLoad@8" (MSVC).
+
+2003-02-03 Ranjit Mathew <rmathew@hotmail.com>
+
+ * resolve.cc (_Jv_JNIMethod::ncode): Use stdcall calling
+ convention on Win32 to invoke native JNI methods.
+
+2003-02-03 Andrew Haley <aph@redhat.com>
+
+ * configure.host (x86_64): Enable interpreter.
+
+2003-01-28 Andrew Haley <aph@redhat.com>
+
+ * libgcj.spec.in (jc1): Add BACKTRACESPEC.
+ * configure.host (x86_64): Default to -fno-omit-frame-pointer.
+ * configure.in (BACKTRACESPEC): New.
+ * configure: Regenerate.
+
+2003-02-02 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Link against
+ libstdc++.
+
+2003-01-31 Tom Tromey <tromey@redhat.com>
+
+ * jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
+ cast to element type.
+ (_Jv_JNI_SetObjectArrayElement): Check array bounds.
+ (_Jv_JNI_GetObjectArrayElement): Likewise.
+
+2003-01-31 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (cond_x_ltlibrary): Renamed library to
+ lib-gnu-awt-xlib.la.
+ (lib_gnu_awt_xlib_la_SOURCES): Renamed.
+ (EXTRA_lib_gnu_awt_xlib_la_SOURCES): Likewise.
+ (lib_gnu_awt_xlib_la_DEPENDENCIES): Likewise.
+ (lib_gnu_awt_xlib_la_LIBADD): Likewise.
+ (lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
+ (lib_gnu_awt_xlib_la_LINK): Likewise.
+ (install-exec-hook): Removed.
+ (lib-gnu-awt-xlib.la): Renamed.
+
+ * aclocal.m4, configure, include/config.h.in: Rebuilt.
+ * acinclude.m4 (CHECK_FOR_BROKEN_MINGW_LD): Moved from
+ aclocal.m4.
+
+2003-01-31 Julian Dolby <dolby@us.ibm.com>
+
+ * java/util/Properties.java (load): Ignore backslash before EOF.
+
+2003-01-28 Oscar Pearce <oscar@pearceenterprises.com>
+
+ * java/awt/Component.java (processPaintEvent): Dispose of Graphics
+ object when finished.
+
+2003-01-28 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * libjava/configure.host: Disable can_unwind_signal on darwin.
+
+2003-01-28 Ranjit Mathew <rmathew@hotmail.com>
+
+ Fixes PR java/9254:
+ * include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
+ additionally containing id of the owner thread as well as
+ the number of nested times the thread has acquired the mutex.
+ (_Jv_MutexInit): Initialise owner thread id and refcount to 0.
+ (_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
+ (_Jv_MutexUnlock): Check if really the owner thread, reset
+ owner thread id to 0 before leaving, if leaving for the last
+ time.
+ (_Jv_MutexLock): Set owner thread id in the mutex and increment
+ refcount.
+ (_Jv_ThreadYield): Yield using a call to Sleep(0).
+ * win32-threads.cc (_Jv_CondWait): Check if really owner of
+ the passed mutex.
+ Pass handle of the broadcast event, instead of a pointer to it
+ in Win32 ResetEvent( ) call.
+ Remove incorrect return values.
+ (_Jv_CondDestroy): Close both event handles and delete
+ critical section.
+ (_Jv_CondNotify): Check if really the owner thread.
+ (_Jv_CondNotifyAll): Check if really the owner thread.
+ (_Jv_InitThreads): Change daemon_cond to a manual-reset event.
+ (really_start): Use SetEvent( ) to signal daemon_cond.
+ (_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
+ WaitForSingleObject( ) instead to wait for daemon_cond to be
+ signalled.
+
+2003-01-28 Ranjit Mathew <rmathew@hotmail.com>
+
+ * configure.in: Specifically define HAVE_BACKTRACE if building
+ for MinGW.
+ * include/win32.h: Remove HAVE_BACKTRACE definition.
+ * gnu/gcj/runtime/natStackTrace.cc: Include platform.h.
+ * configure: Rebuilt.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (toolexecdir, toolexecmainlibdir, toolexeclibdir):
+ Set and AC_SUBST. Remove USE_LIBDIR conditional.
+ * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
+ (toolexecmainlib_DATA): Renamed from toolexeclib_DATA.
+ * Makefile.in, configure: Rebuilt.
+
+2003-01-24 Ranjit Mathew <rmathew@hotmail.com>
+
+ Fixes PR java/9253:
+ * java/io/natFileWin32.cc (performList): Append only "*.*"
+ if the canonical file path already has a "\" at the end.
+
+2003-01-24 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/ClassLoader.java (findLoadedClass): Removed erroneous
+ comment.
+
+2003-01-22 Andrew Haley <aph@redhat.com>
+
+ * x86_64-signal.h: Add simple handler for x86_64 32-bit mode.
+ * configure.host (CHECKREFSPEC): Define for x86_64.
+
+2003-01-21 Tom Tromey <tromey@redhat.com>
+
+ * java/util/natResourceBundle.cc (getCallingClassLoader): Start
+ search at 2, not 3.
+
+2003-01-21 Vladimir Puskas <vpuskas@eunet.yu>
+
+ * java/io/natFileWin32.cc (isAbsolute): Check path length before
+ looking at any characters.
+ * java/io/natFilePosix.cc (_stat): Only compute `buf' if it will
+ be used.
+ (isAbsolute): Check path's length as well.
+
+2003-01-17 Mark Wielaard <mark@klomp.org>
+
+ * Makefile.am (core_java_source_files): Add VMObjectStreamClass.java.
+ (nat_source_files): Add natVMObjectStreamClass.cc.
+ * Makefile.in: Regenerated.
+ * gcj/javaprims.h (namespace java): Regenerated.
+ * java/io/ObjectStreamClass.java (getClassUID): Call
+ VMObjectStreamClass.hasClassInitializer().
+ (hasClassInitializer): Removed.
+ * java/io/VMObjectStreamClass.java: New class.
+ * java/io/natVMObjectStreamClass.cc: New file.
+ * java/lang/Class.h: Make java::io::VMObjectStreamClass friend class.
+
+2003-01-19 Michael Koch <konqueror@gmx.de>
+
+ * java/net/MulticastSocket.java
+ (setInterface): Reindented.
+
+2003-01-16 Mark Wielaard <mark@klomp.org>
+
+ * java/net/SocketImpl.java (toString): Don't explicitly call
+ toString() on possible null address.
+
+2003-01-15 Scott Gilbertson <scottg@mantatest.com>
+
+ * gnu/gcj/xlib/natGC.cc (fillPolygon): New method.
+ * gnu/gcj/xlib/GC.java (fillPolygon): Declare.
+ * gnu/awt/xlib/XGraphics.java (fillPolygon): Added translateX and
+ translateY arguments. Implement.
+ * gnu/awt/j2d/IntegerGraphicsState.java (fillPolygon): Pass
+ down translation arguments.
+ (drawPolyline, drawPolygon): Fix incorrect tests.
+ * gnu/awt/j2d/DirectRasterGraphics.java (fillPolygon): Added
+ translateX and translateY arguments.
+
+2003-01-15 Scott Gilbertson <scottg@mantatest.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (xlib_includes): New macro.
+ (INCLUDES): Use it.
+
+2003-01-15 Scott Gilbertson <scottg@mantatest.com>
+
+ * gnu/awt/xlib/XToolkit.java (getColorModel): Implemented.
+ * gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Work with
+ 16-bit display mode.
+
+2003-01-15 Scott Gilbertson <scottg@mantatest.com>
+
+ * java/awt/CardLayout.java (show): Rewrote.
+ (gotoComponent): Removed `target' argument. Simplified code.
+ Don't pre-compute `choice' unless `what' is FIRST or LAST.
+ Changed all callers.
+ (NONE): Removed.
+
+2003-01-14 Michael Koch <konqueror@gmx.de>
+
+ * java/net/InetSocketAddress.java
+ (serialVersionUID): New member variable.
+ * java/net/NetPermission.java
+ (NetPermission): Dont implement java.io.Serialization directly.
+ * java/net/SocketAddress.java:
+ (serialVersionUID): Documentation added.
+
+2003-01-14 Michael Koch <konqueror@gmx.de>
+
+ * java/awt/Label.java
+ (Label): Implements javax.accessibility.Accessible;
+ * java/awt/List.java
+ (List): Implements javax.accessibility.Accessible;
+ * java/awt/ScrollPane.java
+ (ScrollPane): Implements javax.accessibility.Accessible;
+ * java/awt/Scrollbar.java
+ (Scrollbar): Implements javax.accessibility.Accessible;
+ * java/awt/TextComponent.java
+ (setCaretPosition): Throw exception, documentation added.
+ * java/awt/Toolkit.java:
+ Added some newlines in method documentations.
+ (createButton): Exception documentation added.
+ (createTextField): Exception documentation added.
+ (createLabel): Exception documentation added.
+ (createList): Exception documentation added.
+ (createCheckbox): Exception documentation added.
+ (createScrollbar): Exception documentation added.
+ (createScrollPane): Exception documentation added.
+ (createTextArea): Exception documentation added.
+ (createChoice): Exception documentation added.
+ (createFrame): Exception documentation added.
+ (createWindow): Exception documentation added.
+ (createDialog): Exception documentation added.
+ (createMenuBar): Exception documentation added.
+ (createMenu): Exception documentation added.
+ (createMenuItem): Exception documentation added.
+ (createFileDialog): Exception documentation added.
+ (createCheckboxMenuItem): Exception documentation added.
+ (loadSystemColors): Exception documentation added.
+ (setDynamicLayout): Exception documentation added.
+ (isDynamicLayoutSet): Exception documentation added.
+ (isDynamicLayoutActive): Exception documentation added.
+ (getScreenSize): Exception documentation added.
+ (getScreenResolution): Exception documentation added.
+ (getScreenInsets): Exception documentation added.
+ (getColorModel): Exception documentation added.
+ (getSystemClipboard): Exception documentation added.
+ (getSystemSelection): Exception documentation added.
+ (getMenuShortcutKeyMask): Exception documentation added.
+ (getSystemEventQueue): Exception documentation added.
+ * java/awt/Window.java:
+ Reindented some code.
+ (Window): Centralized implementation, documentation added.
+ (finalize): Documentation added.
+ (hide): Fixed typo in comment.
+ (getWindowListeners): Documentation added.
+ * java/awt/color/ColorSpace.java
+ (toRGB): Documentation added.
+ * java/awt/color/ICC_ColorSpace.java
+ (ICC_ColorSpace): Documentation added.
+ (toRGB): Throw exception, documentation added.
+ (fromRGB): Throw exception, documentation added.
+ (toCIEXYZ): Documentation added.
+ (fromCIEXYZ): Documentation added.
+ (getMinValue): Documentation added.
+ (getMaxValue): Documentation added.
+ * java/awt/geom/Dimension2D.java
+ (clone): Documentation added.
+ * java/awt/geom/GeneralPath.java
+ (clone): Documentation added.
+ * java/awt/geom/Line2D.java
+ (clone): Documentation added.
+ * java/awt/geom/QuadCurve2D.java
+ (clone): Documentation added.
+ * java/awt/image/ColorModel.java
+ (ColorModel): Throw exception, documentation added.
+ * java/awt/image/ImageFilter.java
+ (clone): Doesnt throw CloneNotSupportedException.
+
+2003-01-14 Andrew Haley <aph@redhat.com>
+
+ * java/lang/natRuntime.cc (_load): StackTrace access needs to be
+ in a try block.
+
+2003-01-10 Andrew Haley <aph@redhat.com>
+
+ * include/dwarf2-signal.h: Remove x86_64.
+ * configure.host (x86_64 DIVIDESPEC): Remove.
+ * include/x86_64-signal.h: New file.
+ * configure.in: Regenerate.
+
+2003-01-10 Michael Koch <konqueror@gmx.de>
+
+ * java/net/DatagramSocket.java
+ (ch): Description added.
+ (remotePort): Initialize with -1.
+ (connect): Doesnt throws SocketException.
+ * java/net/MulticastSocket.java
+ (setInterface): Merge with Classpath.
+ * java/net/ServerSocket.java
+ (closed): New member variable.
+ (bind): Check if socket is closed.
+ (close): Close an associated channel too, set new value to closed.
+ (isBound): Reindented.
+ (isClosed): Implemented.
+ * java/net/Socket.java
+ (closed): New member variable.
+ (bind): Check if socket is closed.
+ (connect): Check if socket is closed.
+ (close): Close an associated channel too, set new value to closed.
+ (isClosed): Implemented.
+
+2003-01-10 Michael Koch <konqueror@gmx.de>
+
+ * java/awt/DisplayMode.java
+ (equals): Fixed argument type and implementation.
+
+2003-01-07 Michael Koch <konqueror@gmx.de>
+
+ * java/net/DatagramSocket.java:
+ Added classpath license info.
+ (DatagramSocket): Merged description with classpath.
+ (close): Merged description with classpath.
+ (getChannel): Merged description with classpath.
+ (getInetAddress): Merged description with classpath.
+ (getPort): Merged description with classpath.
+ (getLocalAddress): Merged description with classpath.
+ (getLocalPort): Merged description with classpath.
+ (getSoTimeout): Merged description with classpath.
+ (setSoTimeout): Merged description with classpath.
+ (getSendBufferSize): Merged description with classpath.
+ (setSendBufferSize): Merged description with classpath.
+ (getReceiveBufferSize): Merged description with classpath.
+ (setReceiveBufferSize): Merged description with classpath.
+
+2003-01-07 Tom Tromey <tromey@redhat.com>
+
+ * include/posix.h (_Jv_platform_usleep): Wrap in ifdef
+ JV_HASH_SYNCHRONIZATION.
+ * include/win32.h (_Jv_platform_usleep): Wrap in ifdef
+ JV_HASH_SYNCHRONIZATION.
+
+2003-01-04 Tom Tromey <tromey@redhat.com>
+
+ * java/awt/List.java: Merged with Classpath.
+
+2003-01-03 Mark Wielaard <mark@klomp.org>
+
+ * java/io/FileDescriptor.java (position): New private field.
+ * java/io/natFileDescriptorPosix.cc (write): Up position.
+ (setLength): Use and set position.
+ (seek): Set position.
+ (getFilePointer): Return position.
+ (read): Up position.
+
+2003-01-03 Mark Wielaard <mark@klomp.org>
+
+ Merge with Classpath:
+ * java/io/ObjectStreamClass.java (lookup): Split method and call
+ lookupForClassObject().
+ (lookupForClassObject): New method.
+ (isProxyClass): New field.
+ (setClass): Set isProxyClass, add object to classLookupTable, set
+ superClass and calculateOffsets.
+ (ObjectStreamClass): Set isProxyClass. Only set uid when Serializable
+ and not a proxy class.
+ (setFields): Set accessible true for serialPersistentFields.
+ (getClassUID): Same for suid. And check if suid is of type long.
+ (hasClassInitializer): Don't throw NoSuchMethodError.
+
+2003-01-03 Jeff Sturm <jsturm@one-point.com>
+
+ * configure.host (sparc*-*): Enable bytecode interpreter.
+
+2003-01-03 Mark Wielaard <mark@klomp.org>
+
+ * java/io/FileInputStream.java (finalize): Don't explicitly
+ finalize FileDescriptor.
+
+2003-01-03 Dhek Bhun Kho <bhun@chello.nl>
+
+ * gnu/java/rmi/server/UnicastServerRef.java (unexportObject):
+ Don't throw RemoteException.
+ * java/rmi/server/UnicastRemoteObject.java (unexportObject): Don't
+ throw RemoteException.
+
+2003-01-03 Joerg Brunsmann <joerg_brunsmann@yahoo.de>
+
+ * gnu/gcj/protocol/http/Connection.java (proxyPort, proxyInUse,
+ proxyHost): New static fields.
+ (<clinit>): Initialize new fields.
+ (connect): Use proxy if necessary.
+ (usingProxy): Implement.
+
+2003-01-03 Eric Blake <ebb9@email.byu.edu>
+
+ * java/util/TreeMap.java (fabricateTree): Fix off-by-one error.
+ (TreeIterator.remove): Prefer IllegalStateException over
+ ConcurrentModificationException, to match Sun.
+
+2002-01-02 Anthony Green <green@redhat.com>
+
+ * boehm.cc (_Jv_MarkObj): Mark the protectionDomain of a class.
+
+2003-01-02 Mark Wielaard <mark@klomp.org>
+
+ * java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
+ public.
+ (HTTP_USE_PROXY): Add field.
+ (getResponseVals): Only set responseCode when not yet explicitly
+ set by subclass.
+
+2003-01-02 Artur Biesiadowski <abies@pg.gda.pl>
+ Mark Wielaard <mark@klomp.org>
+
+ * java/util/zip/ZipFile.java (entries): Now HashMap.
+ (readLeShort(DataInput, byte[])): Read from given byte array.
+ (readLeInt(DataInput, byte[]): Likewise.
+ (readLeShort(byte[] b, int off)): New method.
+ (readLeInt(byte[] b, int off)): Likewise.
+ (readEntries): Use byte arrays to read info in bigger chunks.
+ (getEntries): Return HashMap.
+ (getEntry): Use HashMap.
+ (locBuf): New private field.
+ (checkLocalHeader): Use locBuf to read info in one chunk.
+ (getInputStream): Use entries HashMap, wrap PartialInputStream
+ in BufferedInputStream.
+ (ZipEntryEnumeration): Use HashMap and Interator.
+
+2003-01-02 Mark Wielaard <mark@klomp.org>
+ Jeroen Frijters <jeroen@sumatra.nl>
+
+ * java/net/URLClassLoader.java (Resource.getCodeSource):
+ Fix check certs == null.
+ (getCanonicalFileURL): Removed method.
+ (JarURLLoader): Don't call removed method.
+ (FileURLLoader): Likewise.
+ (FileURLLoader.getResource): Don't canonicalize file name.
+
+2003-01-01 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (rmi_java_source_files): Added RMIClassLoaderSpi.
+ * java/awt/AlphaComposite.java, java/awt/BasicStroke.java,
+ java/awt/BufferCapabilities.java, java/awt/Button.java,
+ java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
+ java/awt/Container.java, java/awt/Cursor.java,
+ java/awt/EventQueue.java, java/awt/FileDialog.java,
+ java/awt/Graphics2D.java, java/awt/Label.java, java/awt/Menu.java,
+ java/awt/MenuBar.java, java/awt/MenuComponent.java,
+ java/awt/PopupMenu.java, java/awt/ScrollPane.java,
+ java/awt/Scrollbar.java, java/awt/TextArea.java,
+ java/awt/TextField.java, java/awt/color/CMMException.java,
+ java/awt/color/ColorSpace.java, java/awt/color/ICC_Profile.java,
+ java/awt/color/ProfileDataException.java,
+ java/awt/datatransfer/Clipboard.java,
+ java/awt/datatransfer/DataFlavor.java,
+ java/awt/datatransfer/FlavorMap.java,
+ java/awt/datatransfer/SystemFlavorMap.java,
+ java/awt/dnd/DragGestureEvent.java,
+ java/awt/dnd/DragGestureRecognizer.java,
+ java/awt/dnd/DragSource.java, java/awt/dnd/DropTarget.java,
+ java/awt/event/WindowEvent.java, java/awt/geom/PathIterator.java,
+ java/awt/im/InputMethodHighlight.java,
+ java/io/PipedOutputStream.java, java/io/PipedWriter.java,
+ java/rmi/server/RMIClassLoader.java: Merged from Classpath.
+
+ * gnu/awt/j2d/Graphics2DImpl.java (drawImage): Changed type of
+ `op' to BufferedImageOp.
+
+2002-12-31 Tom Tromey <tromey@redhat.com>
+
+ Fix for PR libgcj/7416:
+ * javax/naming/InitialContext.java (init): Use
+ gnu.classpath.home.url.
+ * java/security/Security.java: Use new properties.
+ (loadProviders): Accept base url; use it.
+ * java/lang/System.java: Document gnu.classpath.vm.shortname, and
+ gnu.classpath.home.url.
+ (gnu.classpath.home.url): Define.
+ (gnu.classpath.vm.shortname): Likewise.
+
+2002-12-31 Tom Tromey <tromey@redhat.com>
+ Ranjit Mathew <rmathew@hotmail.com>
+
+ Fix for PR libgcj/8997:
+ * java/lang/natObject.cc (spin): Use _Jv_platform_usleep.
+ Include platform.h.
+ * include/posix.h (_Jv_platform_usleep): New function.
+ * include/win32.h (_Jv_platform_usleep): New function.
+
+2002-12-30 Tom Tromey <tromey@redhat.com>
+
+ * gcj/javaprims.h: Updated class list.
+
+2002-12-30 Mark Wielaard <mark@klomp.org>
+
+ * java/net/URLStreamHandler.java (toExternalForm): Ignore port
+ if zero or smaller.
+
+2002-12-30 Mark Wielaard <mark@klomp.org>
+
+ * java/util/Properties (formatForOutput): Don't fall through to
+ default case after escaping character.
+
+2002-11-30 Mark Wielaard <mark@klomp.org>
+
+ * java/lang/StringBuffer.java (getChars): Remove wrong dstOffset check
+ against count.
+
+2002-11-21 Anthony Green <green@redhat.com>
+
+ * Makefile.am: Move org.xml.sax and org.w3c.dom into their own
+ libraries.
+ * Makefile.in: Rebuilt.
+
+2002-12-19 Anthony Green <green@redhat.com>
+
+ * Makefile.am (ordinary_java_source_files): Add
+ org/xml/sax/helpers/NewInstance.java.
+ * Makefile.in: Rebuilt.
+ * org/xml/sax/package.html, org/xml/sax/ext/package.html,
+ org/xml/sax/helpers/package.html: New files.
+ * org/xml/sax/*: Upgrade to SAX 2.0.1 release from
+ http://www.saxproject.org.
+
+2002-12-19 Andrew Haley <aph@redhat.com>
+
+ * java/util/natResourceBundle.cc: Include
+ ArrayIndexOutOfBoundsException.h.
+ (getCallingClassLoader): Don't put upper bound on stack search.
+ Catch ArrayIndexOutOfBoundsException.
+
+2002-12-19 Tom Tromey <tromey@redhat.com>
+
+ * libtool-version: Increased `current'.
+
+2002-12-19 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/natClassLoader.cc (defineClass0): Removed erroneous
+ comment.
+ * java/lang/ClassLoader.java (defineClass): Use chained
+ exception when rethrowing.
+ * defineclass.cc (handleClassBegin): Mark class as interpreted.
+ * java/lang/reflect/Modifier.java (INVISIBLE, INTERPRETED): New
+ constants.
+ * resolve.cc (_Jv_PrepareMissingMethods): New function.
+ (_Jv_PrepareClass): Use it.
+ * include/java-interp.h (_Jv_IsInterpretedClass): Rewrote.
+ (_Jv_InterpClass): _Jv_PrepareMissingMethods now friend.
+ * java/lang/Class.h (Class::getModifiers): Mask with ALL_FLAGS.
+ (Class): _Jv_PrepareMissingMethods now friend.
+ * java/lang/natClassLoader.cc (defineClass0): Use JvSynchronize.
+ Record `NULL' for system class loader.
+ (_Jv_RegisterInitiatingLoader): Use JvSynchronize. Special case
+ system class loader.
+ (_Jv_FindClassInCache): Likewise.
+ (_Jv_UnregisterClass): Use JvSynchronize. Free old loader info.
+ (_Jv_FindClass): Special case system class loader.
+ * java/lang/natClass.cc (_Jv_abstractMethodError): New function.
+ (_Jv_SetVTableEntries): Put _Jv_abstractMethodError into empty
+ vtable slots.
+ (_Jv_LayoutVTableMethods): Don't generate vtable slot for a method
+ in a final class.
+ (_getDeclaredMethod): Don't return synthetic methods.
+ (getDeclaredMethods): Likewise.
+ (_getMethod): Likewise.
+ (_getMethods): Likewise.
+
+2002-12-18 Raif Naffah <raif@fl.net.au>
+
+ * java/math/BigInteger.java (euclidInv): Make sure quot and rem are in
+ canonical form after divide().
+ (modInverse): Likewise.
+
2002-12-13 Casey Marshall <rsdio@metastatic.org>
Mark Wielaard <mark@klomp.org>
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 0db820f360f..c07b7d769b5 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -14,23 +14,17 @@ endif
## What gets installed, and where.
##
-## Install a library built with a cross compiler in tooldir, not
-## libdir.
-if USE_LIBDIR
-toolexeclibdir = $(libdir)$(MULTISUBDIR)
-else
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-endif
-
if XLIB_AWT
-cond_x_ltlibrary = libgcjx.la
+cond_x_ltlibrary = lib-gnu-awt-xlib.la
+## We require libstdc++-v3 to be in the same build tree.
+xlib_includes = -I../libstdc++-v3/include -I../libstdc++-v3/include/$(target_alias) -I$(srcdir)/../libstdc++-v3/libsupc++
else
cond_x_ltlibrary =
+xlib_includes =
endif
-toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
-toolexeclib_DATA = libgcj.spec
+toolexeclib_LTLIBRARIES = libgcj.la lib-org-xml-sax.la lib-org-w3c-dom.la $(cond_x_ltlibrary)
+toolexecmainlib_DATA = libgcj.spec
jardir = $(datadir)/java
jar_DATA = libgcj-@gcc_version@.jar
@@ -107,10 +101,9 @@ JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
LIBFFIINCS = @LIBFFIINCS@
INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
- $(GCINCS) $(THREADINCS) $(INCLTDL) \
+ $(GCINCS) $(THREADINCS) $(INCLTDL) $(xlib_includes) \
$(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
-
## ################################################################
##
@@ -147,27 +140,79 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcj_la_LINK = $(LIBLINK)
-libgcjx_la_SOURCES = $(x_nat_source_files)
-EXTRA_libgcjx_la_SOURCES = $(x_java_source_files)
-libgcjx_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(x_javao_files)
-libgcjx_la_LIBADD = $(x_javao_files)
-libgcjx_la_LDFLAGS = @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
+lib_org_w3c_dom_la_SOURCES = org/w3c/dom/Attr.java \
+org/w3c/dom/CDATASection.java \
+org/w3c/dom/CharacterData.java \
+org/w3c/dom/Comment.java \
+org/w3c/dom/DOMException.java \
+org/w3c/dom/DOMImplementation.java \
+org/w3c/dom/Document.java \
+org/w3c/dom/DocumentFragment.java \
+org/w3c/dom/DocumentType.java \
+org/w3c/dom/Element.java \
+org/w3c/dom/Entity.java \
+org/w3c/dom/EntityReference.java \
+org/w3c/dom/NamedNodeMap.java \
+org/w3c/dom/Node.java \
+org/w3c/dom/NodeList.java \
+org/w3c/dom/Notation.java \
+org/w3c/dom/ProcessingInstruction.java \
+org/w3c/dom/Text.java \
+org/w3c/dom/ranges/DocumentRange.java \
+org/w3c/dom/ranges/Range.java \
+org/w3c/dom/ranges/RangeException.java \
+org/w3c/dom/traversal/DocumentTraversal.java \
+org/w3c/dom/traversal/NodeFilter.java \
+org/w3c/dom/traversal/NodeIterator.java \
+org/w3c/dom/traversal/TreeWalker.java
+
+lib_org_xml_sax_la_SOURCES = org/xml/sax/ext/DeclHandler.java \
+org/xml/sax/ext/LexicalHandler.java \
+org/xml/sax/helpers/AttributeListImpl.java \
+org/xml/sax/helpers/AttributesImpl.java \
+org/xml/sax/helpers/DefaultHandler.java \
+org/xml/sax/helpers/LocatorImpl.java \
+org/xml/sax/helpers/NamespaceSupport.java \
+org/xml/sax/helpers/NewInstance.java \
+org/xml/sax/helpers/ParserAdapter.java \
+org/xml/sax/helpers/ParserFactory.java \
+org/xml/sax/helpers/XMLFilterImpl.java \
+org/xml/sax/helpers/XMLReaderAdapter.java \
+org/xml/sax/helpers/XMLReaderFactory.java \
+org/xml/sax/AttributeList.java \
+org/xml/sax/Attributes.java \
+org/xml/sax/ContentHandler.java \
+org/xml/sax/DTDHandler.java \
+org/xml/sax/DocumentHandler.java \
+org/xml/sax/EntityResolver.java \
+org/xml/sax/ErrorHandler.java \
+org/xml/sax/HandlerBase.java \
+org/xml/sax/InputSource.java \
+org/xml/sax/Locator.java \
+org/xml/sax/Parser.java \
+org/xml/sax/SAXException.java \
+org/xml/sax/SAXNotRecognizedException.java \
+org/xml/sax/SAXNotSupportedException.java \
+org/xml/sax/SAXParseException.java \
+org/xml/sax/XMLFilter.java \
+org/xml/sax/XMLReader.java
+
+lib_gnu_awt_xlib_la_SOURCES = $(x_nat_source_files)
+EXTRA_lib_gnu_awt_xlib_la_SOURCES = $(x_java_source_files)
+lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(x_javao_files)
+lib_gnu_awt_xlib_la_LIBADD = $(x_javao_files)
+lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \
+ @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
-rpath $(toolexeclibdir) \
## The mysterious backslash is consumed by make.
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
-libgcjx_la_LINK = $(LIBLINK)
-
-## Make a symlink for each `libgcjx' file that was installed.
-install-exec-hook:
- cd $(DESTDIR)$(libdir) && \
- if test -f libgcjx.la; then \
- rm -f gnu-awt-xlib.la; \
- $(LN_S) libgcjx.la gnu-awt-xlib.la; \
- fi
+lib_gnu_awt_xlib_la_LINK = $(LIBLINK)
all_java_source_files = \
$(java_source_files) \
$(built_java_source_files) \
+ $(lib_org_xml_sax_la_SOURCES) \
+ $(lib_org_w3c_dom_la_SOURCES) \
$(x_java_source_files)
all_java_class_files = $(all_java_source_files:.java=.class)
@@ -218,7 +263,7 @@ $(c_files): %.lo: %.c
$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
## FIXME: GNU make.
-$(javao_files) $(x_javao_files): %.lo: %.java
+$(javao_files) $(x_javao_files) $(lib_org_w3c_dom_la_OBJECTS) $(lib_org_xml_sax_la_OBJECTS): %.lo: %.java
$(GCJCOMPILE) -o $@ $<
## Pass the list of object files to libtool in a temporary file to
@@ -229,10 +274,10 @@ libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
@GCLIBS@ @LIBFFI@ @ZLIBS@ \
-rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
-libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
- @: $(shell echo Creating list of files to link...) $(shell rm -f libgcjx.objectlist || :) $(shell touch libgcjx.objectlist) $(foreach object,$(libgcjx_la_OBJECTS) $(libgcjx_la_LIBADD),$(shell echo $(object) >> libgcjx.objectlist))
- $(libgcjx_la_LINK) -objectlist libgcjx.objectlist \
- -rpath $(toolexeclibdir) $(libgcjx_la_LDFLAGS) $(LIBS)
+lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
+ @: $(shell echo Creating list of files to link...) $(shell rm -f lib_gnu_awt_xlib.objectlist || :) $(shell touch lib_gnu_awt_xlib.objectlist) $(foreach object,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),$(shell echo $(object) >> lib_gnu_awt_xlib.objectlist))
+ $(lib_gnu_awt_xlib_la_LINK) -objectlist lib_gnu_awt_xlib.objectlist \
+ -rpath $(toolexeclibdir) $(lib_gnu_awt_xlib_la_LDFLAGS) $(LIBS)
## ################################################################
@@ -1277,6 +1322,7 @@ java/rmi/server/LogStream.java \
java/rmi/server/ObjID.java \
java/rmi/server/Operation.java \
java/rmi/server/RMIClassLoader.java \
+java/rmi/server/RMIClassLoaderSpi.java \
java/rmi/server/RMIClientSocketFactory.java \
java/rmi/server/RMIFailureHandler.java \
java/rmi/server/RMIServerSocketFactory.java \
@@ -1630,6 +1676,7 @@ java/io/StringWriter.java \
java/io/SyncFailedException.java \
java/io/UTFDataFormatException.java \
java/io/UnsupportedEncodingException.java \
+java/io/VMObjectStreamClass.java \
java/io/WriteAbortedException.java \
java/io/Writer.java \
java/util/AbstractCollection.java \
@@ -1873,6 +1920,21 @@ gnu/java/locale/LocaleInformation_zh_HK.java \
gnu/java/locale/LocaleInformation_zh_SG.java \
gnu/java/locale/LocaleInformation_zh_TW.java \
gnu/java/math/MPN.java \
+gnu/java/nio/ByteBufferImpl.java \
+gnu/java/nio/CharBufferImpl.java \
+gnu/java/nio/DatagramChannelImpl.java \
+gnu/java/nio/DoubleBufferImpl.java \
+gnu/java/nio/FileChannelImpl.java \
+gnu/java/nio/FloatBufferImpl.java \
+gnu/java/nio/IntBufferImpl.java \
+gnu/java/nio/LongBufferImpl.java \
+gnu/java/nio/PipeImpl.java \
+gnu/java/nio/SelectionKeyImpl.java \
+gnu/java/nio/SelectorImpl.java \
+gnu/java/nio/SelectorProviderImpl.java \
+gnu/java/nio/ServerSocketChannelImpl.java \
+gnu/java/nio/ShortBufferImpl.java \
+gnu/java/nio/SocketChannelImpl.java \
gnu/java/nio/charset/ISO_8859_1.java \
gnu/java/nio/charset/Provider.java \
gnu/java/nio/charset/US_ASCII.java \
@@ -1975,20 +2037,27 @@ java/nio/BufferUnderflowException.java \
java/nio/ByteBuffer.java \
java/nio/ByteOrder.java \
java/nio/CharBuffer.java \
+java/nio/DoubleBuffer.java \
+java/nio/FloatBuffer.java \
+java/nio/IntBuffer.java \
java/nio/InvalidMarkException.java \
+java/nio/LongBuffer.java \
java/nio/MappedByteBuffer.java \
java/nio/ReadOnlyBufferException.java \
+java/nio/ShortBuffer.java \
java/nio/channels/AlreadyConnectedException.java \
java/nio/channels/AsynchronousCloseException.java \
java/nio/channels/ByteChannel.java \
java/nio/channels/CancelledKeyException.java \
java/nio/channels/Channel.java \
+java/nio/channels/Channels.java \
java/nio/channels/ClosedByInterruptException.java \
java/nio/channels/ClosedChannelException.java \
java/nio/channels/ClosedSelectorException.java \
java/nio/channels/ConnectionPendingException.java \
java/nio/channels/DatagramChannel.java \
java/nio/channels/FileChannel.java \
+java/nio/channels/FileLock.java \
java/nio/channels/FileLockInterruptionException.java \
java/nio/channels/GatheringByteChannel.java \
java/nio/channels/IllegalBlockingModeException.java \
@@ -2220,60 +2289,6 @@ java/util/zip/ZipException.java \
java/util/zip/ZipFile.java \
java/util/zip/ZipInputStream.java \
java/util/zip/ZipOutputStream.java \
-org/w3c/dom/Attr.java \
-org/w3c/dom/CDATASection.java \
-org/w3c/dom/CharacterData.java \
-org/w3c/dom/Comment.java \
-org/w3c/dom/DOMException.java \
-org/w3c/dom/DOMImplementation.java \
-org/w3c/dom/Document.java \
-org/w3c/dom/DocumentFragment.java \
-org/w3c/dom/DocumentType.java \
-org/w3c/dom/Element.java \
-org/w3c/dom/Entity.java \
-org/w3c/dom/EntityReference.java \
-org/w3c/dom/NamedNodeMap.java \
-org/w3c/dom/Node.java \
-org/w3c/dom/NodeList.java \
-org/w3c/dom/Notation.java \
-org/w3c/dom/ProcessingInstruction.java \
-org/w3c/dom/Text.java \
-org/w3c/dom/ranges/DocumentRange.java \
-org/w3c/dom/ranges/Range.java \
-org/w3c/dom/ranges/RangeException.java \
-org/w3c/dom/traversal/DocumentTraversal.java \
-org/w3c/dom/traversal/NodeFilter.java \
-org/w3c/dom/traversal/NodeIterator.java \
-org/w3c/dom/traversal/TreeWalker.java \
-org/xml/sax/ext/DeclHandler.java \
-org/xml/sax/ext/LexicalHandler.java \
-org/xml/sax/helpers/AttributeListImpl.java \
-org/xml/sax/helpers/AttributesImpl.java \
-org/xml/sax/helpers/DefaultHandler.java \
-org/xml/sax/helpers/LocatorImpl.java \
-org/xml/sax/helpers/NamespaceSupport.java \
-org/xml/sax/helpers/ParserAdapter.java \
-org/xml/sax/helpers/ParserFactory.java \
-org/xml/sax/helpers/XMLFilterImpl.java \
-org/xml/sax/helpers/XMLReaderAdapter.java \
-org/xml/sax/helpers/XMLReaderFactory.java \
-org/xml/sax/AttributeList.java \
-org/xml/sax/Attributes.java \
-org/xml/sax/ContentHandler.java \
-org/xml/sax/DTDHandler.java \
-org/xml/sax/DocumentHandler.java \
-org/xml/sax/EntityResolver.java \
-org/xml/sax/ErrorHandler.java \
-org/xml/sax/HandlerBase.java \
-org/xml/sax/InputSource.java \
-org/xml/sax/Locator.java \
-org/xml/sax/Parser.java \
-org/xml/sax/SAXException.java \
-org/xml/sax/SAXNotRecognizedException.java \
-org/xml/sax/SAXNotSupportedException.java \
-org/xml/sax/SAXParseException.java \
-org/xml/sax/XMLFilter.java \
-org/xml/sax/XMLReader.java \
$(rmi_java_source_files) \
$(awt_java_source_files) \
$(convert_source_files) \
@@ -2321,10 +2336,20 @@ gnu/gcj/runtime/natSharedLibLoader.cc \
gnu/gcj/runtime/natStackTrace.cc \
gnu/gcj/runtime/natStringBuffer.cc \
gnu/gcj/runtime/natVMClassLoader.cc \
+gnu/java/nio/natByteBufferImpl.cc \
+gnu/java/nio/natCharBufferImpl.cc \
+gnu/java/nio/natDoubleBufferImpl.cc \
+gnu/java/nio/natFileChannelImpl.cc \
+gnu/java/nio/natFloatBufferImpl.cc \
+gnu/java/nio/natIntBufferImpl.cc \
+gnu/java/nio/natLongBufferImpl.cc \
+gnu/java/nio/natSelectorImpl.cc \
+gnu/java/nio/natShortBufferImpl.cc \
+gnu/java/nio/natSocketChannelImpl.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
java/io/natObjectInputStream.cc \
-java/io/natObjectOutputStream.cc \
+java/io/natVMObjectStreamClass.cc \
java/lang/natCharacter.cc \
java/lang/natClass.cc \
java/lang/natClassLoader.cc \
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index c8d722f0521..cdc5802d91c 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -65,6 +65,7 @@ target_alias = @target_alias@
target_triplet = @target@
AR = @AR@
AS = @AS@
+BACKTRACESPEC = @BACKTRACESPEC@
CC = @CC@
CHECKREFSPEC = @CHECKREFSPEC@
COMPPATH = @COMPPATH@
@@ -85,6 +86,7 @@ GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
GCTESTSPEC = @GCTESTSPEC@
HASH_SYNC_SPEC = @HASH_SYNC_SPEC@
+IEEESPEC = @IEEESPEC@
INCLTDL = @INCLTDL@
INTERPRETER = @INTERPRETER@
JC1GCSPEC = @JC1GCSPEC@
@@ -127,18 +129,20 @@ here = @here@
libgcj_basedir = @libgcj_basedir@
mkinstalldirs = @mkinstalldirs@
tool_include_dir = @tool_include_dir@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
+toolexecmainlibdir = @toolexecmainlibdir@
AUTOMAKE_OPTIONS = foreign
@TESTSUBDIR_TRUE@SUBDIRS = @TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
@TESTSUBDIR_FALSE@SUBDIRS = @TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
-@USE_LIBDIR_TRUE@toolexeclibdir = @USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexeclibdir = @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
-@XLIB_AWT_TRUE@cond_x_ltlibrary = @XLIB_AWT_TRUE@libgcjx.la
+@XLIB_AWT_TRUE@cond_x_ltlibrary = @XLIB_AWT_TRUE@lib-gnu-awt-xlib.la
@XLIB_AWT_FALSE@cond_x_ltlibrary =
+@XLIB_AWT_TRUE@xlib_includes = @XLIB_AWT_TRUE@-I../libstdc++-v3/include -I../libstdc++-v3/include/$(target_alias) -I$(srcdir)/../libstdc++-v3/libsupc++
+@XLIB_AWT_FALSE@xlib_includes =
-toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
-toolexeclib_DATA = libgcj.spec
+toolexeclib_LTLIBRARIES = libgcj.la lib-org-xml-sax.la lib-org-w3c-dom.la $(cond_x_ltlibrary)
+toolexecmainlib_DATA = libgcj.spec
jardir = $(datadir)/java
jar_DATA = libgcj-@gcc_version@.jar
@@ -182,7 +186,7 @@ JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
LIBFFIINCS = @LIBFFIINCS@
INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
- $(GCINCS) $(THREADINCS) $(INCLTDL) \
+ $(GCINCS) $(THREADINCS) $(INCLTDL) $(xlib_includes) \
$(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
@@ -218,19 +222,81 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \
libgcj_la_LINK = $(LIBLINK)
-libgcjx_la_SOURCES = $(x_nat_source_files)
-EXTRA_libgcjx_la_SOURCES = $(x_java_source_files)
-libgcjx_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(x_javao_files)
-libgcjx_la_LIBADD = $(x_javao_files)
-libgcjx_la_LDFLAGS = @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
+lib_org_w3c_dom_la_SOURCES = org/w3c/dom/Attr.java \
+org/w3c/dom/CDATASection.java \
+org/w3c/dom/CharacterData.java \
+org/w3c/dom/Comment.java \
+org/w3c/dom/DOMException.java \
+org/w3c/dom/DOMImplementation.java \
+org/w3c/dom/Document.java \
+org/w3c/dom/DocumentFragment.java \
+org/w3c/dom/DocumentType.java \
+org/w3c/dom/Element.java \
+org/w3c/dom/Entity.java \
+org/w3c/dom/EntityReference.java \
+org/w3c/dom/NamedNodeMap.java \
+org/w3c/dom/Node.java \
+org/w3c/dom/NodeList.java \
+org/w3c/dom/Notation.java \
+org/w3c/dom/ProcessingInstruction.java \
+org/w3c/dom/Text.java \
+org/w3c/dom/ranges/DocumentRange.java \
+org/w3c/dom/ranges/Range.java \
+org/w3c/dom/ranges/RangeException.java \
+org/w3c/dom/traversal/DocumentTraversal.java \
+org/w3c/dom/traversal/NodeFilter.java \
+org/w3c/dom/traversal/NodeIterator.java \
+org/w3c/dom/traversal/TreeWalker.java
+
+
+lib_org_xml_sax_la_SOURCES = org/xml/sax/ext/DeclHandler.java \
+org/xml/sax/ext/LexicalHandler.java \
+org/xml/sax/helpers/AttributeListImpl.java \
+org/xml/sax/helpers/AttributesImpl.java \
+org/xml/sax/helpers/DefaultHandler.java \
+org/xml/sax/helpers/LocatorImpl.java \
+org/xml/sax/helpers/NamespaceSupport.java \
+org/xml/sax/helpers/NewInstance.java \
+org/xml/sax/helpers/ParserAdapter.java \
+org/xml/sax/helpers/ParserFactory.java \
+org/xml/sax/helpers/XMLFilterImpl.java \
+org/xml/sax/helpers/XMLReaderAdapter.java \
+org/xml/sax/helpers/XMLReaderFactory.java \
+org/xml/sax/AttributeList.java \
+org/xml/sax/Attributes.java \
+org/xml/sax/ContentHandler.java \
+org/xml/sax/DTDHandler.java \
+org/xml/sax/DocumentHandler.java \
+org/xml/sax/EntityResolver.java \
+org/xml/sax/ErrorHandler.java \
+org/xml/sax/HandlerBase.java \
+org/xml/sax/InputSource.java \
+org/xml/sax/Locator.java \
+org/xml/sax/Parser.java \
+org/xml/sax/SAXException.java \
+org/xml/sax/SAXNotRecognizedException.java \
+org/xml/sax/SAXNotSupportedException.java \
+org/xml/sax/SAXParseException.java \
+org/xml/sax/XMLFilter.java \
+org/xml/sax/XMLReader.java
+
+
+lib_gnu_awt_xlib_la_SOURCES = $(x_nat_source_files)
+EXTRA_lib_gnu_awt_xlib_la_SOURCES = $(x_java_source_files)
+lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(x_javao_files)
+lib_gnu_awt_xlib_la_LIBADD = $(x_javao_files)
+lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \
+ @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
-rpath $(toolexeclibdir) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
-libgcjx_la_LINK = $(LIBLINK)
+lib_gnu_awt_xlib_la_LINK = $(LIBLINK)
all_java_source_files = \
$(java_source_files) \
$(built_java_source_files) \
+ $(lib_org_xml_sax_la_SOURCES) \
+ $(lib_org_w3c_dom_la_SOURCES) \
$(x_java_source_files)
@@ -1035,6 +1101,7 @@ java/rmi/server/LogStream.java \
java/rmi/server/ObjID.java \
java/rmi/server/Operation.java \
java/rmi/server/RMIClassLoader.java \
+java/rmi/server/RMIClassLoaderSpi.java \
java/rmi/server/RMIClientSocketFactory.java \
java/rmi/server/RMIFailureHandler.java \
java/rmi/server/RMIServerSocketFactory.java \
@@ -1385,6 +1452,7 @@ java/io/StringWriter.java \
java/io/SyncFailedException.java \
java/io/UTFDataFormatException.java \
java/io/UnsupportedEncodingException.java \
+java/io/VMObjectStreamClass.java \
java/io/WriteAbortedException.java \
java/io/Writer.java \
java/util/AbstractCollection.java \
@@ -1623,6 +1691,21 @@ gnu/java/locale/LocaleInformation_zh_HK.java \
gnu/java/locale/LocaleInformation_zh_SG.java \
gnu/java/locale/LocaleInformation_zh_TW.java \
gnu/java/math/MPN.java \
+gnu/java/nio/ByteBufferImpl.java \
+gnu/java/nio/CharBufferImpl.java \
+gnu/java/nio/DatagramChannelImpl.java \
+gnu/java/nio/DoubleBufferImpl.java \
+gnu/java/nio/FileChannelImpl.java \
+gnu/java/nio/FloatBufferImpl.java \
+gnu/java/nio/IntBufferImpl.java \
+gnu/java/nio/LongBufferImpl.java \
+gnu/java/nio/PipeImpl.java \
+gnu/java/nio/SelectionKeyImpl.java \
+gnu/java/nio/SelectorImpl.java \
+gnu/java/nio/SelectorProviderImpl.java \
+gnu/java/nio/ServerSocketChannelImpl.java \
+gnu/java/nio/ShortBufferImpl.java \
+gnu/java/nio/SocketChannelImpl.java \
gnu/java/nio/charset/ISO_8859_1.java \
gnu/java/nio/charset/Provider.java \
gnu/java/nio/charset/US_ASCII.java \
@@ -1725,20 +1808,27 @@ java/nio/BufferUnderflowException.java \
java/nio/ByteBuffer.java \
java/nio/ByteOrder.java \
java/nio/CharBuffer.java \
+java/nio/DoubleBuffer.java \
+java/nio/FloatBuffer.java \
+java/nio/IntBuffer.java \
java/nio/InvalidMarkException.java \
+java/nio/LongBuffer.java \
java/nio/MappedByteBuffer.java \
java/nio/ReadOnlyBufferException.java \
+java/nio/ShortBuffer.java \
java/nio/channels/AlreadyConnectedException.java \
java/nio/channels/AsynchronousCloseException.java \
java/nio/channels/ByteChannel.java \
java/nio/channels/CancelledKeyException.java \
java/nio/channels/Channel.java \
+java/nio/channels/Channels.java \
java/nio/channels/ClosedByInterruptException.java \
java/nio/channels/ClosedChannelException.java \
java/nio/channels/ClosedSelectorException.java \
java/nio/channels/ConnectionPendingException.java \
java/nio/channels/DatagramChannel.java \
java/nio/channels/FileChannel.java \
+java/nio/channels/FileLock.java \
java/nio/channels/FileLockInterruptionException.java \
java/nio/channels/GatheringByteChannel.java \
java/nio/channels/IllegalBlockingModeException.java \
@@ -1970,60 +2060,6 @@ java/util/zip/ZipException.java \
java/util/zip/ZipFile.java \
java/util/zip/ZipInputStream.java \
java/util/zip/ZipOutputStream.java \
-org/w3c/dom/Attr.java \
-org/w3c/dom/CDATASection.java \
-org/w3c/dom/CharacterData.java \
-org/w3c/dom/Comment.java \
-org/w3c/dom/DOMException.java \
-org/w3c/dom/DOMImplementation.java \
-org/w3c/dom/Document.java \
-org/w3c/dom/DocumentFragment.java \
-org/w3c/dom/DocumentType.java \
-org/w3c/dom/Element.java \
-org/w3c/dom/Entity.java \
-org/w3c/dom/EntityReference.java \
-org/w3c/dom/NamedNodeMap.java \
-org/w3c/dom/Node.java \
-org/w3c/dom/NodeList.java \
-org/w3c/dom/Notation.java \
-org/w3c/dom/ProcessingInstruction.java \
-org/w3c/dom/Text.java \
-org/w3c/dom/ranges/DocumentRange.java \
-org/w3c/dom/ranges/Range.java \
-org/w3c/dom/ranges/RangeException.java \
-org/w3c/dom/traversal/DocumentTraversal.java \
-org/w3c/dom/traversal/NodeFilter.java \
-org/w3c/dom/traversal/NodeIterator.java \
-org/w3c/dom/traversal/TreeWalker.java \
-org/xml/sax/ext/DeclHandler.java \
-org/xml/sax/ext/LexicalHandler.java \
-org/xml/sax/helpers/AttributeListImpl.java \
-org/xml/sax/helpers/AttributesImpl.java \
-org/xml/sax/helpers/DefaultHandler.java \
-org/xml/sax/helpers/LocatorImpl.java \
-org/xml/sax/helpers/NamespaceSupport.java \
-org/xml/sax/helpers/ParserAdapter.java \
-org/xml/sax/helpers/ParserFactory.java \
-org/xml/sax/helpers/XMLFilterImpl.java \
-org/xml/sax/helpers/XMLReaderAdapter.java \
-org/xml/sax/helpers/XMLReaderFactory.java \
-org/xml/sax/AttributeList.java \
-org/xml/sax/Attributes.java \
-org/xml/sax/ContentHandler.java \
-org/xml/sax/DTDHandler.java \
-org/xml/sax/DocumentHandler.java \
-org/xml/sax/EntityResolver.java \
-org/xml/sax/ErrorHandler.java \
-org/xml/sax/HandlerBase.java \
-org/xml/sax/InputSource.java \
-org/xml/sax/Locator.java \
-org/xml/sax/Parser.java \
-org/xml/sax/SAXException.java \
-org/xml/sax/SAXNotRecognizedException.java \
-org/xml/sax/SAXNotSupportedException.java \
-org/xml/sax/SAXParseException.java \
-org/xml/sax/XMLFilter.java \
-org/xml/sax/XMLReader.java \
$(rmi_java_source_files) \
$(awt_java_source_files) \
$(convert_source_files) \
@@ -2070,10 +2106,20 @@ gnu/gcj/runtime/natSharedLibLoader.cc \
gnu/gcj/runtime/natStackTrace.cc \
gnu/gcj/runtime/natStringBuffer.cc \
gnu/gcj/runtime/natVMClassLoader.cc \
+gnu/java/nio/natByteBufferImpl.cc \
+gnu/java/nio/natCharBufferImpl.cc \
+gnu/java/nio/natDoubleBufferImpl.cc \
+gnu/java/nio/natFileChannelImpl.cc \
+gnu/java/nio/natFloatBufferImpl.cc \
+gnu/java/nio/natIntBufferImpl.cc \
+gnu/java/nio/natLongBufferImpl.cc \
+gnu/java/nio/natSelectorImpl.cc \
+gnu/java/nio/natShortBufferImpl.cc \
+gnu/java/nio/natSocketChannelImpl.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
java/io/natObjectInputStream.cc \
-java/io/natObjectOutputStream.cc \
+java/io/natVMObjectStreamClass.cc \
java/lang/natCharacter.cc \
java/lang/natClass.cc \
java/lang/natClassLoader.cc \
@@ -2240,9 +2286,14 @@ gnu/gcj/io/shs.lo gnu/gcj/protocol/core/natCoreInputStream.lo \
gnu/gcj/runtime/natFinalizerThread.lo gnu/gcj/runtime/natFirstThread.lo \
gnu/gcj/runtime/natNameFinder.lo gnu/gcj/runtime/natSharedLibLoader.lo \
gnu/gcj/runtime/natStackTrace.lo gnu/gcj/runtime/natStringBuffer.lo \
-gnu/gcj/runtime/natVMClassLoader.lo java/io/natFile.lo \
+gnu/gcj/runtime/natVMClassLoader.lo gnu/java/nio/natByteBufferImpl.lo \
+gnu/java/nio/natCharBufferImpl.lo gnu/java/nio/natDoubleBufferImpl.lo \
+gnu/java/nio/natFileChannelImpl.lo gnu/java/nio/natFloatBufferImpl.lo \
+gnu/java/nio/natIntBufferImpl.lo gnu/java/nio/natLongBufferImpl.lo \
+gnu/java/nio/natSelectorImpl.lo gnu/java/nio/natShortBufferImpl.lo \
+gnu/java/nio/natSocketChannelImpl.lo java/io/natFile.lo \
java/io/natFileDescriptor.lo java/io/natObjectInputStream.lo \
-java/io/natObjectOutputStream.lo java/lang/natCharacter.lo \
+java/io/natVMObjectStreamClass.lo java/lang/natCharacter.lo \
java/lang/natClass.lo java/lang/natClassLoader.lo \
java/lang/natConcreteProcess.lo java/lang/natDouble.lo \
java/lang/natFloat.lo java/lang/natMath.lo java/lang/natObject.lo \
@@ -2257,7 +2308,47 @@ java/net/natPlainDatagramSocketImpl.lo java/net/natPlainSocketImpl.lo \
java/text/natCollator.lo java/util/natResourceBundle.lo \
java/util/natTimeZone.lo java/util/zip/natDeflater.lo \
java/util/zip/natInflater.lo
-libgcjx_la_OBJECTS = gnu/gcj/xlib/natClip.lo \
+lib_org_xml_sax_la_LDFLAGS =
+lib_org_xml_sax_la_LIBADD =
+lib_org_xml_sax_la_OBJECTS = org/xml/sax/ext/DeclHandler.lo \
+org/xml/sax/ext/LexicalHandler.lo \
+org/xml/sax/helpers/AttributeListImpl.lo \
+org/xml/sax/helpers/AttributesImpl.lo \
+org/xml/sax/helpers/DefaultHandler.lo \
+org/xml/sax/helpers/LocatorImpl.lo \
+org/xml/sax/helpers/NamespaceSupport.lo \
+org/xml/sax/helpers/NewInstance.lo org/xml/sax/helpers/ParserAdapter.lo \
+org/xml/sax/helpers/ParserFactory.lo \
+org/xml/sax/helpers/XMLFilterImpl.lo \
+org/xml/sax/helpers/XMLReaderAdapter.lo \
+org/xml/sax/helpers/XMLReaderFactory.lo org/xml/sax/AttributeList.lo \
+org/xml/sax/Attributes.lo org/xml/sax/ContentHandler.lo \
+org/xml/sax/DTDHandler.lo org/xml/sax/DocumentHandler.lo \
+org/xml/sax/EntityResolver.lo org/xml/sax/ErrorHandler.lo \
+org/xml/sax/HandlerBase.lo org/xml/sax/InputSource.lo \
+org/xml/sax/Locator.lo org/xml/sax/Parser.lo \
+org/xml/sax/SAXException.lo org/xml/sax/SAXNotRecognizedException.lo \
+org/xml/sax/SAXNotSupportedException.lo \
+org/xml/sax/SAXParseException.lo org/xml/sax/XMLFilter.lo \
+org/xml/sax/XMLReader.lo
+lib_org_w3c_dom_la_LDFLAGS =
+lib_org_w3c_dom_la_LIBADD =
+lib_org_w3c_dom_la_OBJECTS = org/w3c/dom/Attr.lo \
+org/w3c/dom/CDATASection.lo org/w3c/dom/CharacterData.lo \
+org/w3c/dom/Comment.lo org/w3c/dom/DOMException.lo \
+org/w3c/dom/DOMImplementation.lo org/w3c/dom/Document.lo \
+org/w3c/dom/DocumentFragment.lo org/w3c/dom/DocumentType.lo \
+org/w3c/dom/Element.lo org/w3c/dom/Entity.lo \
+org/w3c/dom/EntityReference.lo org/w3c/dom/NamedNodeMap.lo \
+org/w3c/dom/Node.lo org/w3c/dom/NodeList.lo org/w3c/dom/Notation.lo \
+org/w3c/dom/ProcessingInstruction.lo org/w3c/dom/Text.lo \
+org/w3c/dom/ranges/DocumentRange.lo org/w3c/dom/ranges/Range.lo \
+org/w3c/dom/ranges/RangeException.lo \
+org/w3c/dom/traversal/DocumentTraversal.lo \
+org/w3c/dom/traversal/NodeFilter.lo \
+org/w3c/dom/traversal/NodeIterator.lo \
+org/w3c/dom/traversal/TreeWalker.lo
+lib_gnu_awt_xlib_la_OBJECTS = gnu/gcj/xlib/natClip.lo \
gnu/gcj/xlib/natColormap.lo gnu/gcj/xlib/natDisplay.lo \
gnu/gcj/xlib/natDrawable.lo gnu/gcj/xlib/natFont.lo \
gnu/gcj/xlib/natGC.lo gnu/gcj/xlib/natPixmap.lo \
@@ -2291,7 +2382,7 @@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CF
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA = $(jar_DATA) $(toolexeclib_DATA)
+DATA = $(jar_DATA) $(toolexecmainlib_DATA)
DIST_COMMON = README COPYING ChangeLog Makefile.am Makefile.in NEWS \
THANKS acinclude.m4 aclocal.m4 configure configure.in \
@@ -2553,7 +2644,19 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/gnu/java/locale/LocaleInformation_zh_HK.P \
.deps/gnu/java/locale/LocaleInformation_zh_SG.P \
.deps/gnu/java/locale/LocaleInformation_zh_TW.P \
-.deps/gnu/java/math/MPN.P .deps/gnu/java/nio/charset/ISO_8859_1.P \
+.deps/gnu/java/math/MPN.P .deps/gnu/java/nio/ByteBufferImpl.P \
+.deps/gnu/java/nio/CharBufferImpl.P \
+.deps/gnu/java/nio/DatagramChannelImpl.P \
+.deps/gnu/java/nio/DoubleBufferImpl.P \
+.deps/gnu/java/nio/FileChannelImpl.P \
+.deps/gnu/java/nio/FloatBufferImpl.P .deps/gnu/java/nio/IntBufferImpl.P \
+.deps/gnu/java/nio/LongBufferImpl.P .deps/gnu/java/nio/PipeImpl.P \
+.deps/gnu/java/nio/SelectionKeyImpl.P .deps/gnu/java/nio/SelectorImpl.P \
+.deps/gnu/java/nio/SelectorProviderImpl.P \
+.deps/gnu/java/nio/ServerSocketChannelImpl.P \
+.deps/gnu/java/nio/ShortBufferImpl.P \
+.deps/gnu/java/nio/SocketChannelImpl.P \
+.deps/gnu/java/nio/charset/ISO_8859_1.P \
.deps/gnu/java/nio/charset/Provider.P \
.deps/gnu/java/nio/charset/US_ASCII.P \
.deps/gnu/java/nio/charset/UTF_16.P \
@@ -2562,6 +2665,16 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/gnu/java/nio/charset/UTF_16Encoder.P \
.deps/gnu/java/nio/charset/UTF_16LE.P \
.deps/gnu/java/nio/charset/UTF_8.P \
+.deps/gnu/java/nio/natByteBufferImpl.P \
+.deps/gnu/java/nio/natCharBufferImpl.P \
+.deps/gnu/java/nio/natDoubleBufferImpl.P \
+.deps/gnu/java/nio/natFileChannelImpl.P \
+.deps/gnu/java/nio/natFloatBufferImpl.P \
+.deps/gnu/java/nio/natIntBufferImpl.P \
+.deps/gnu/java/nio/natLongBufferImpl.P \
+.deps/gnu/java/nio/natSelectorImpl.P \
+.deps/gnu/java/nio/natShortBufferImpl.P \
+.deps/gnu/java/nio/natSocketChannelImpl.P \
.deps/gnu/java/rmi/RMIMarshalledObjectInputStream.P \
.deps/gnu/java/rmi/RMIMarshalledObjectOutputStream.P \
.deps/gnu/java/rmi/dgc/DGCImpl.P .deps/gnu/java/rmi/dgc/DGCImpl_Skel.P \
@@ -2892,10 +3005,11 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/java/io/SyncFailedException.P \
.deps/java/io/UTFDataFormatException.P \
.deps/java/io/UnsupportedEncodingException.P \
+.deps/java/io/VMObjectStreamClass.P \
.deps/java/io/WriteAbortedException.P .deps/java/io/Writer.P \
.deps/java/io/natFile.P .deps/java/io/natFileDescriptor.P \
.deps/java/io/natObjectInputStream.P \
-.deps/java/io/natObjectOutputStream.P \
+.deps/java/io/natVMObjectStreamClass.P \
.deps/java/lang/AbstractMethodError.P \
.deps/java/lang/ArithmeticException.P \
.deps/java/lang/ArrayIndexOutOfBoundsException.P \
@@ -3029,19 +3143,22 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/java/nio/BufferOverflowException.P \
.deps/java/nio/BufferUnderflowException.P .deps/java/nio/ByteBuffer.P \
.deps/java/nio/ByteOrder.P .deps/java/nio/CharBuffer.P \
-.deps/java/nio/InvalidMarkException.P .deps/java/nio/MappedByteBuffer.P \
-.deps/java/nio/ReadOnlyBufferException.P \
+.deps/java/nio/DoubleBuffer.P .deps/java/nio/FloatBuffer.P \
+.deps/java/nio/IntBuffer.P .deps/java/nio/InvalidMarkException.P \
+.deps/java/nio/LongBuffer.P .deps/java/nio/MappedByteBuffer.P \
+.deps/java/nio/ReadOnlyBufferException.P .deps/java/nio/ShortBuffer.P \
.deps/java/nio/channels/AlreadyConnectedException.P \
.deps/java/nio/channels/AsynchronousCloseException.P \
.deps/java/nio/channels/ByteChannel.P \
.deps/java/nio/channels/CancelledKeyException.P \
-.deps/java/nio/channels/Channel.P \
+.deps/java/nio/channels/Channel.P .deps/java/nio/channels/Channels.P \
.deps/java/nio/channels/ClosedByInterruptException.P \
.deps/java/nio/channels/ClosedChannelException.P \
.deps/java/nio/channels/ClosedSelectorException.P \
.deps/java/nio/channels/ConnectionPendingException.P \
.deps/java/nio/channels/DatagramChannel.P \
.deps/java/nio/channels/FileChannel.P \
+.deps/java/nio/channels/FileLock.P \
.deps/java/nio/channels/FileLockInterruptionException.P \
.deps/java/nio/channels/GatheringByteChannel.P \
.deps/java/nio/channels/IllegalBlockingModeException.P \
@@ -3117,6 +3234,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/java/rmi/server/LoaderHandler.P .deps/java/rmi/server/LogStream.P \
.deps/java/rmi/server/ObjID.P .deps/java/rmi/server/Operation.P \
.deps/java/rmi/server/RMIClassLoader.P \
+.deps/java/rmi/server/RMIClassLoaderSpi.P \
.deps/java/rmi/server/RMIClientSocketFactory.P \
.deps/java/rmi/server/RMIFailureHandler.P \
.deps/java/rmi/server/RMIServerSocketFactory.P \
@@ -3701,6 +3819,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/org/xml/sax/helpers/DefaultHandler.P \
.deps/org/xml/sax/helpers/LocatorImpl.P \
.deps/org/xml/sax/helpers/NamespaceSupport.P \
+.deps/org/xml/sax/helpers/NewInstance.P \
.deps/org/xml/sax/helpers/ParserAdapter.P \
.deps/org/xml/sax/helpers/ParserFactory.P \
.deps/org/xml/sax/helpers/XMLFilterImpl.P \
@@ -3708,8 +3827,8 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/org/xml/sax/helpers/XMLReaderFactory.P .deps/posix-threads.P \
.deps/posix.P .deps/prims.P .deps/resolve.P .deps/verify.P \
.deps/win32-threads.P .deps/win32.P
-SOURCES = $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) $(libgcjx_la_SOURCES) $(EXTRA_libgcjx_la_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gij_SOURCES) $(rmic_SOURCES) $(EXTRA_rmic_SOURCES) $(rmiregistry_SOURCES) $(EXTRA_rmiregistry_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
-OBJECTS = $(libgcj_la_OBJECTS) $(libgcjx_la_OBJECTS) $(jv_convert_OBJECTS) $(gij_OBJECTS) $(rmic_OBJECTS) $(rmiregistry_OBJECTS) $(gen_from_JIS_OBJECTS)
+SOURCES = $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) $(lib_org_xml_sax_la_SOURCES) $(lib_org_w3c_dom_la_SOURCES) $(lib_gnu_awt_xlib_la_SOURCES) $(EXTRA_lib_gnu_awt_xlib_la_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gij_SOURCES) $(rmic_SOURCES) $(EXTRA_rmic_SOURCES) $(rmiregistry_SOURCES) $(EXTRA_rmiregistry_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
+OBJECTS = $(libgcj_la_OBJECTS) $(lib_org_xml_sax_la_OBJECTS) $(lib_org_w3c_dom_la_OBJECTS) $(lib_gnu_awt_xlib_la_OBJECTS) $(jv_convert_OBJECTS) $(gij_OBJECTS) $(rmic_OBJECTS) $(rmiregistry_OBJECTS) $(gen_from_JIS_OBJECTS)
all: all-redirect
.SUFFIXES:
@@ -3796,6 +3915,12 @@ distclean-libtool:
maintainer-clean-libtool:
+lib-org-xml-sax.la: $(lib_org_xml_sax_la_OBJECTS) $(lib_org_xml_sax_la_DEPENDENCIES)
+ $(LINK) -rpath $(toolexeclibdir) $(lib_org_xml_sax_la_LDFLAGS) $(lib_org_xml_sax_la_OBJECTS) $(lib_org_xml_sax_la_LIBADD) $(LIBS)
+
+lib-org-w3c-dom.la: $(lib_org_w3c_dom_la_OBJECTS) $(lib_org_w3c_dom_la_DEPENDENCIES)
+ $(LINK) -rpath $(toolexeclibdir) $(lib_org_w3c_dom_la_LDFLAGS) $(lib_org_w3c_dom_la_OBJECTS) $(lib_org_w3c_dom_la_LIBADD) $(LIBS)
+
mostlyclean-binPROGRAMS:
clean-binPROGRAMS:
@@ -3894,23 +4019,23 @@ uninstall-jarDATA:
rm -f $(DESTDIR)$(jardir)/$$p; \
done
-install-toolexeclibDATA: $(toolexeclib_DATA)
+install-toolexecmainlibDATA: $(toolexecmainlib_DATA)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
- @list='$(toolexeclib_DATA)'; for p in $$list; do \
+ $(mkinstalldirs) $(DESTDIR)$(toolexecmainlibdir)
+ @list='$(toolexecmainlib_DATA)'; for p in $$list; do \
if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexeclibdir)/$$p; \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexecmainlibdir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexecmainlibdir)/$$p; \
else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toolexecmainlibdir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(toolexecmainlibdir)/$$p; \
fi; fi; \
done
-uninstall-toolexeclibDATA:
+uninstall-toolexecmainlibDATA:
@$(NORMAL_UNINSTALL)
- list='$(toolexeclib_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
+ list='$(toolexecmainlib_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(toolexecmainlibdir)/$$p; \
done
# This directory's subdirectories are mostly independent; you can cd
@@ -4125,9 +4250,7 @@ check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
install-exec-am: install-toolexeclibLTLIBRARIES install-binPROGRAMS \
- install-binSCRIPTS install-toolexeclibDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+ install-binSCRIPTS install-toolexecmainlibDATA
install-exec: install-exec-recursive
install-data-am: install-jarDATA install-data-local
@@ -4138,7 +4261,7 @@ install-am: all-am
install: install-recursive
uninstall-am: uninstall-toolexeclibLTLIBRARIES uninstall-binPROGRAMS \
uninstall-binSCRIPTS uninstall-jarDATA \
- uninstall-toolexeclibDATA
+ uninstall-toolexecmainlibDATA
uninstall: uninstall-recursive
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA)
all-redirect: all-recursive
@@ -4148,7 +4271,7 @@ installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(toolexeclibdir) $(DESTDIR)$(bindir) \
$(DESTDIR)$(bindir) $(DESTDIR)$(jardir) \
- $(DESTDIR)$(toolexeclibdir)
+ $(DESTDIR)$(toolexecmainlibdir)
mostlyclean-generic:
@@ -4207,12 +4330,12 @@ distclean-binPROGRAMS clean-binPROGRAMS maintainer-clean-binPROGRAMS \
uninstall-binPROGRAMS install-binPROGRAMS mostlyclean-noinstPROGRAMS \
distclean-noinstPROGRAMS clean-noinstPROGRAMS \
maintainer-clean-noinstPROGRAMS uninstall-binSCRIPTS install-binSCRIPTS \
-uninstall-jarDATA install-jarDATA uninstall-toolexeclibDATA \
-install-toolexeclibDATA install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
+uninstall-jarDATA install-jarDATA uninstall-toolexecmainlibDATA \
+install-toolexecmainlibDATA install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir \
mostlyclean-depend distclean-depend clean-depend \
@@ -4224,13 +4347,6 @@ installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-install-exec-hook:
- cd $(DESTDIR)$(libdir) && \
- if test -f libgcjx.la; then \
- rm -f gnu-awt-xlib.la; \
- $(LN_S) libgcjx.la gnu-awt-xlib.la; \
- fi
-
.java.class:
$(JAVAC) $(JCFLAGS) -classpath '' -bootclasspath $(here):$(srcdir) \
-d $(here) $<
@@ -4264,7 +4380,7 @@ $(c_files): %.lo: %.c
$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
-$(javao_files) $(x_javao_files): %.lo: %.java
+$(javao_files) $(x_javao_files) $(lib_org_w3c_dom_la_OBJECTS) $(lib_org_xml_sax_la_OBJECTS): %.lo: %.java
$(GCJCOMPILE) -o $@ $<
libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
@@ -4273,10 +4389,10 @@ libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
@GCLIBS@ @LIBFFI@ @ZLIBS@ \
-rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
-libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
- @: $(shell echo Creating list of files to link...) $(shell rm -f libgcjx.objectlist || :) $(shell touch libgcjx.objectlist) $(foreach object,$(libgcjx_la_OBJECTS) $(libgcjx_la_LIBADD),$(shell echo $(object) >> libgcjx.objectlist))
- $(libgcjx_la_LINK) -objectlist libgcjx.objectlist \
- -rpath $(toolexeclibdir) $(libgcjx_la_LDFLAGS) $(LIBS)
+lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
+ @: $(shell echo Creating list of files to link...) $(shell rm -f lib_gnu_awt_xlib.objectlist || :) $(shell touch lib_gnu_awt_xlib.objectlist) $(foreach object,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),$(shell echo $(object) >> lib_gnu_awt_xlib.objectlist))
+ $(lib_gnu_awt_xlib_la_LINK) -objectlist lib_gnu_awt_xlib.objectlist \
+ -rpath $(toolexeclibdir) $(lib_gnu_awt_xlib_la_LDFLAGS) $(LIBS)
.class.h:
$(GCJH) -classpath '' -bootclasspath $(top_builddir) $(basename $<)
diff --git a/libjava/acinclude.m4 b/libjava/acinclude.m4
index d205aa029dd..ab3b2f1dd27 100644
--- a/libjava/acinclude.m4
+++ b/libjava/acinclude.m4
@@ -273,3 +273,27 @@ AC_DEFUN([AM_LC_MESSAGES],
[Define if your <locale.h> file defines LC_MESSAGES.])
fi
fi])
+
+AC_DEFUN([CHECK_FOR_BROKEN_MINGW_LD],
+[
+AC_MSG_CHECKING(whether 'ld' is at least 2.13)
+LD_PROG=`$CC --print-prog-name=ld`
+LD_VERSION=`$LD_PROG --version`
+LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
+LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
+if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
+ LD_OK="ok"
+else
+ if expr "$LD_VERSION_MAJOR" = 2 && expr "$LD_VERSION_MINOR" \>= 13 > /dev/null; then
+ LD_OK="ok"
+ fi
+fi
+if test "x$LD_OK" != x; then
+ AC_MSG_RESULT([yes; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
+else
+ AC_MSG_RESULT([no; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
+ AC_MSG_WARN([ld <2.13 detected; enabling JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS hack...])
+ AC_DEFINE(JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS, 1,
+ [Indicate that linker is not able to 8-byte align static data])
+fi[]dnl
+])# CHECK_FOR_BROKEN_MINGW_LD
diff --git a/libjava/aclocal.m4 b/libjava/aclocal.m4
index 26e735711b9..5748ebada1f 100644
--- a/libjava/aclocal.m4
+++ b/libjava/aclocal.m4
@@ -286,6 +286,30 @@ AC_DEFUN([AM_LC_MESSAGES],
fi
fi])
+AC_DEFUN([CHECK_FOR_BROKEN_MINGW_LD],
+[
+AC_MSG_CHECKING(whether 'ld' is at least 2.13)
+LD_PROG=`$CC --print-prog-name=ld`
+LD_VERSION=`$LD_PROG --version`
+LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
+LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
+if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
+ LD_OK="ok"
+else
+ if expr "$LD_VERSION_MAJOR" = 2 && expr "$LD_VERSION_MINOR" \>= 13 > /dev/null; then
+ LD_OK="ok"
+ fi
+fi
+if test "x$LD_OK" != x; then
+ AC_MSG_RESULT([yes; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
+else
+ AC_MSG_RESULT([no; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
+ AC_MSG_WARN([ld <2.13 detected; enabling JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS hack...])
+ AC_DEFINE(JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS, 1,
+ [Indicate that linker is not able to 8-byte align static data])
+fi[]dnl
+])# CHECK_FOR_BROKEN_MINGW_LD
+
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
@@ -434,26 +458,3 @@ for am_file in <<$1>>; do
done<<>>dnl>>)
changequote([,]))])
-AC_DEFUN([CHECK_FOR_BROKEN_MINGW_LD],
-[
-AC_MSG_CHECKING(whether 'ld' is at least 2.13)
-LD_PROG=`$CC --print-prog-name=ld`
-LD_VERSION=`$LD_PROG --version`
-LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
-LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
-if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
- LD_OK="ok"
-else
- if expr "$LD_VERSION_MAJOR" = 2 && expr "$LD_VERSION_MINOR" \>= 13 > /dev/null; then
- LD_OK="ok"
- fi
-fi
-if test "x$LD_OK" != x; then
- AC_MSG_RESULT([yes; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
-else
- AC_MSG_RESULT([no; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
- AC_MSG_WARN([ld <2.13 detected; enabling JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS hack...])
- AC_DEFINE(JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS, 1,
- [Indicate that linker is not able to 8-byte align static data])
-fi[]dnl
-])# CHECK_FOR_BROKEN_MINGW_LD
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index 90796f2ddf0..5006059dabd 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -203,6 +203,8 @@ _Jv_MarkObj (void *addr, void *msp, void *msl, void * /* env */)
MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c, cBlabel);
p = (ptr_t) c->arrayclass;
MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c, cDlabel);
+ p = (ptr_t) c->protectionDomain;
+ MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c, cPlabel);
#ifdef INTERPRETER
if (_Jv_IsInterpretedClass (c))
diff --git a/libjava/configure b/libjava/configure
index 4160fef7d68..88a061efbed 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -2430,6 +2430,19 @@ case $host in
# Find out which ABI we are using.
echo '#line 2432 "configure"' > conftest.$ac_ext
if { (eval echo configure:2433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -2441,6 +2454,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -2448,7 +2462,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2464,7 +2478,7 @@ ia64-*-hpux*)
x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2468: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2482: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
case $host in
@@ -2508,7 +2522,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2512: checking whether the C compiler needs -belf" >&5
+echo "configure:2526: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2521,14 +2535,14 @@ 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 2525 "configure"
+#line 2539 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2558,12 +2572,12 @@ echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
esac
echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:2562: checking how to run the C++ preprocessor" >&5
+echo "configure:2576: checking how to run the C++ preprocessor" >&5
if test -z "$CXXCPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- ac_ext=C
+ ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
@@ -2571,12 +2585,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
CXXCPP="${CXX-g++} -E"
cat > conftest.$ac_ext <<EOF
-#line 2575 "configure"
+#line 2589 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2580: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2594: \"$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
:
@@ -2589,18 +2603,15 @@ else
fi
rm -f conftest*
ac_cv_prog_CXXCPP="$CXXCPP"
- ac_ext=c
+ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
-
fi
- CXXCPP="$ac_cv_prog_CXXCPP"
-else
- ac_cv_prog_CXXCPP=$CXXCPP
fi
+CXXCPP="$ac_cv_prog_CXXCPP"
echo "$ac_t""$CXXCPP" 1>&6
@@ -2815,7 +2826,7 @@ INTERPRETER="$libgcj_interpreter"
echo $ac_n "checking for exception model to use""... $ac_c" 1>&6
-echo "configure:2819: checking for exception model to use" >&5
+echo "configure:2830: checking for exception model to use" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2830,7 +2841,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then
:
else
cat > conftest.$ac_ext << EOF
-#line 2834 "configure"
+#line 2845 "configure"
struct S { ~S(); };
void bar();
void foo()
@@ -2841,7 +2852,7 @@ void foo()
EOF
old_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=-S
-if { (eval echo configure:2845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2856: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
enable_sjlj_exceptions=yes
elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
@@ -2951,7 +2962,7 @@ case "$TARGET_ECOS" in
PLATFORMH=win32.h
echo $ac_n "checking whether 'ld' is at least 2.13""... $ac_c" 1>&6
-echo "configure:2955: checking whether 'ld' is at least 2.13" >&5
+echo "configure:2966: checking whether 'ld' is at least 2.13" >&5
LD_PROG=`$CC --print-prog-name=ld`
LD_VERSION=`$LD_PROG --version`
LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
@@ -2995,7 +3006,7 @@ esac
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2999: checking how to run the C preprocessor" >&5
+echo "configure:3010: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -3010,13 +3021,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 3014 "configure"
+#line 3025 "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:3020: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3031: \"$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
:
@@ -3027,13 +3038,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 3031 "configure"
+#line 3042 "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:3037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3048: \"$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
:
@@ -3044,13 +3055,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 3048 "configure"
+#line 3059 "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:3054: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3065: \"$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
:
@@ -3075,7 +3086,7 @@ fi
echo "$ac_t""$CPP" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 3079 "configure"
+#line 3090 "configure"
#include "confdefs.h"
#include <stdint.h>
EOF
@@ -3090,7 +3101,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3094 "configure"
+#line 3105 "configure"
#include "confdefs.h"
#include <inttypes.h>
EOF
@@ -3105,7 +3116,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3109 "configure"
+#line 3120 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
@@ -3120,7 +3131,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3124 "configure"
+#line 3135 "configure"
#include "confdefs.h"
#include <sys/config.h>
EOF
@@ -3137,7 +3148,7 @@ rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3141 "configure"
+#line 3152 "configure"
#include "confdefs.h"
#include <time.h>
EOF
@@ -3152,7 +3163,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3156 "configure"
+#line 3167 "configure"
#include "confdefs.h"
#include <time.h>
EOF
@@ -3204,7 +3215,7 @@ ZLIBTESTSPEC=
libsubdir=.libs
echo $ac_n "checking for garbage collector to use""... $ac_c" 1>&6
-echo "configure:3208: checking for garbage collector to use" >&5
+echo "configure:3219: checking for garbage collector to use" >&5
# Check whether --enable-java-gc or --disable-java-gc was given.
if test "${enable_java_gc+set}" = set; then
enableval="$enable_java_gc"
@@ -3257,7 +3268,7 @@ esac
echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6
-echo "configure:3261: checking for thread model used by GCC" >&5
+echo "configure:3272: checking for thread model used by GCC" >&5
THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
echo "$ac_t""$THREADS" 1>&6
@@ -3465,12 +3476,12 @@ else
for ac_func in strerror ioctl select fstat open fsync sleep opendir
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3469: checking for $ac_func" >&5
+echo "configure:3480: 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 3474 "configure"
+#line 3485 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3493,7 +3504,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3508: \"$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
@@ -3520,12 +3531,12 @@ done
for ac_func in gmtime_r localtime_r readdir_r getpwuid_r getcwd
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3524: checking for $ac_func" >&5
+echo "configure:3535: 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 3529 "configure"
+#line 3540 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3548,7 +3559,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3563: \"$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
@@ -3575,12 +3586,12 @@ done
for ac_func in access stat mkdir rename rmdir unlink realpath utime chmod
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3579: checking for $ac_func" >&5
+echo "configure:3590: 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 3584 "configure"
+#line 3595 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3603,7 +3614,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3618: \"$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
@@ -3630,12 +3641,12 @@ done
for ac_func in nl_langinfo setlocale
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3634: checking for $ac_func" >&5
+echo "configure:3645: 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 3639 "configure"
+#line 3650 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3658,7 +3669,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3673: \"$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
@@ -3685,12 +3696,12 @@ done
for ac_func in inet_aton inet_addr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3689: checking for $ac_func" >&5
+echo "configure:3700: 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 3694 "configure"
+#line 3705 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3713,7 +3724,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3728: \"$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
@@ -3740,12 +3751,12 @@ done
for ac_func in inet_pton uname inet_ntoa
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3744: checking for $ac_func" >&5
+echo "configure:3755: 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 3749 "configure"
+#line 3760 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3768,7 +3779,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3783: \"$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
@@ -3795,12 +3806,12 @@ done
for ac_func in fork execvp pipe sigaction ftruncate
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3799: checking for $ac_func" >&5
+echo "configure:3810: 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 3804 "configure"
+#line 3815 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3823,7 +3834,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3838: \"$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
@@ -3851,17 +3862,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3855: checking for $ac_hdr" >&5
+echo "configure:3866: 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 3860 "configure"
+#line 3871 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3865: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3876: \"$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*
@@ -3888,12 +3899,12 @@ fi
done
echo $ac_n "checking for backtrace""... $ac_c" 1>&6
-echo "configure:3892: checking for backtrace" >&5
+echo "configure:3903: checking for backtrace" >&5
if eval "test \"`echo '$''{'ac_cv_func_backtrace'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3897 "configure"
+#line 3908 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char backtrace(); below. */
@@ -3916,7 +3927,7 @@ backtrace();
; return 0; }
EOF
-if { (eval echo configure:3920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_backtrace=yes"
else
@@ -3935,9 +3946,6 @@ if eval "test \"`echo '$ac_cv_func_'backtrace`\" = yes"; then
ia64-*-linux*)
# Has broken backtrace()
;;
- s390*-*-linux*)
- # Has broken backtrace()
- ;;
*)
cat >> confdefs.h <<\EOF
#define HAVE_BACKTRACE 1
@@ -3948,11 +3956,22 @@ EOF
else
echo "$ac_t""no" 1>&6
+
+ case "$host" in
+ *mingw*)
+ # Has backtrace() defined in libgcj itself
+ cat >> confdefs.h <<\EOF
+#define HAVE_BACKTRACE 1
+EOF
+
+ ;;
+ esac
+
fi
echo $ac_n "checking for dladdr in -ldl""... $ac_c" 1>&6
-echo "configure:3956: checking for dladdr in -ldl" >&5
+echo "configure:3975: checking for dladdr in -ldl" >&5
ac_lib_var=`echo dl'_'dladdr | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3960,7 +3979,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3964 "configure"
+#line 3983 "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
@@ -3971,7 +3990,7 @@ int main() {
dladdr()
; return 0; }
EOF
-if { (eval echo configure:3975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4001,7 +4020,7 @@ do
ac_safe=`echo "$ac_file" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_file""... $ac_c" 1>&6
-echo "configure:4005: checking for $ac_file" >&5
+echo "configure:4024: checking for $ac_file" >&5
if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4059,7 +4078,7 @@ fi
echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:4063: checking for iconv" >&5
+echo "configure:4082: checking for iconv" >&5
if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4067,7 +4086,7 @@ else
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
cat > conftest.$ac_ext <<EOF
-#line 4071 "configure"
+#line 4090 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -4077,7 +4096,7 @@ iconv_t cd = iconv_open("","");
iconv_close(cd);
; return 0; }
EOF
-if { (eval echo configure:4081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_func_iconv=yes
else
@@ -4089,7 +4108,7 @@ rm -f conftest*
am_save_LIBS="$LIBS"
LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
cat > conftest.$ac_ext <<EOF
-#line 4093 "configure"
+#line 4112 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -4099,7 +4118,7 @@ iconv_t cd = iconv_open("","");
iconv_close(cd);
; return 0; }
EOF
-if { (eval echo configure:4103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4122: \"$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
@@ -4120,13 +4139,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
EOF
echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:4124: checking for iconv declaration" >&5
+echo "configure:4143: 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 4130 "configure"
+#line 4149 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -4145,7 +4164,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:4149: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_proto_iconv_arg1=""
else
@@ -4174,19 +4193,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:4178: checking for LC_MESSAGES" >&5
+echo "configure:4197: 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 4183 "configure"
+#line 4202 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:4190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4209: \"$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
@@ -4207,12 +4226,12 @@ EOF
fi
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:4211: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:4230: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4216 "configure"
+#line 4235 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@@ -4220,7 +4239,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:4224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@@ -4241,12 +4260,12 @@ EOF
fi
echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:4245: checking for tm_zone in struct tm" >&5
+echo "configure:4264: checking for tm_zone in struct tm" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4250 "configure"
+#line 4269 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_cv_struct_tm>
@@ -4254,7 +4273,7 @@ int main() {
struct tm tm; tm.tm_zone;
; return 0; }
EOF
-if { (eval echo configure:4258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm_zone=yes
else
@@ -4274,12 +4293,12 @@ EOF
else
echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:4278: checking for tzname" >&5
+echo "configure:4297: checking for tzname" >&5
if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4283 "configure"
+#line 4302 "configure"
#include "confdefs.h"
#include <time.h>
#ifndef tzname /* For SGI. */
@@ -4289,7 +4308,7 @@ int main() {
atoi(*tzname);
; return 0; }
EOF
-if { (eval echo configure:4293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_var_tzname=yes
else
@@ -4314,12 +4333,12 @@ fi
for ac_func in gethostbyname_r
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4318: checking for $ac_func" >&5
+echo "configure:4337: 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 4323 "configure"
+#line 4342 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4342,7 +4361,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4365: \"$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
@@ -4369,7 +4388,7 @@ EOF
# We look for the one that returns `int'.
# Hopefully this check is robust enough.
cat > conftest.$ac_ext <<EOF
-#line 4373 "configure"
+#line 4392 "configure"
#include "confdefs.h"
#include <netdb.h>
EOF
@@ -4389,7 +4408,7 @@ rm -f conftest*
*" -D_REENTRANT "*) ;;
*)
echo $ac_n "checking whether gethostbyname_r declaration requires -D_REENTRANT""... $ac_c" 1>&6
-echo "configure:4393: checking whether gethostbyname_r declaration requires -D_REENTRANT" >&5
+echo "configure:4412: checking whether gethostbyname_r declaration requires -D_REENTRANT" >&5
if eval "test \"`echo '$''{'libjava_cv_gethostbyname_r_needs_reentrant'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4402,14 +4421,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 4406 "configure"
+#line 4425 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
gethostbyname_r("", 0, 0);
; return 0; }
EOF
-if { (eval echo configure:4413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libjava_cv_gethostbyname_r_needs_reentrant=no
else
@@ -4419,14 +4438,14 @@ else
CPPFLAGS_SAVE="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
cat > conftest.$ac_ext <<EOF
-#line 4423 "configure"
+#line 4442 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
gethostbyname_r("", 0, 0);
; return 0; }
EOF
-if { (eval echo configure:4430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libjava_cv_gethostbyname_r_needs_reentrant=yes
else
@@ -4461,12 +4480,12 @@ EOF
esac
echo $ac_n "checking for struct hostent_data""... $ac_c" 1>&6
-echo "configure:4465: checking for struct hostent_data" >&5
+echo "configure:4484: checking for struct hostent_data" >&5
if eval "test \"`echo '$''{'libjava_cv_struct_hostent_data'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4470 "configure"
+#line 4489 "configure"
#include "confdefs.h"
#if GETHOSTBYNAME_R_NEEDS_REENTRANT && !defined(_REENTRANT)
@@ -4477,7 +4496,7 @@ int main() {
struct hostent_data data;
; return 0; }
EOF
-if { (eval echo configure:4481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libjava_cv_struct_hostent_data=yes
else
@@ -4509,7 +4528,7 @@ done
# to exist where expected. (The root issue: AC_CHECK_FUNCS assumes C
# linkage check is enough, yet C++ code requires proper prototypes.)
cat > conftest.$ac_ext <<EOF
-#line 4513 "configure"
+#line 4532 "configure"
#include "confdefs.h"
#include <netdb.h>
EOF
@@ -4520,12 +4539,12 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
for ac_func in gethostbyaddr_r
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4524: checking for $ac_func" >&5
+echo "configure:4543: 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 4529 "configure"
+#line 4548 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4548,7 +4567,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4571: \"$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
@@ -4575,7 +4594,7 @@ EOF
# We look for the one that returns `int'.
# Hopefully this check is robust enough.
cat > conftest.$ac_ext <<EOF
-#line 4579 "configure"
+#line 4598 "configure"
#include "confdefs.h"
#include <netdb.h>
EOF
@@ -4602,12 +4621,12 @@ rm -f conftest*
for ac_func in gethostname
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4606: checking for $ac_func" >&5
+echo "configure:4625: 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 4611 "configure"
+#line 4630 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4630,7 +4649,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4653: \"$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
@@ -4654,7 +4673,7 @@ EOF
EOF
cat > conftest.$ac_ext <<EOF
-#line 4658 "configure"
+#line 4677 "configure"
#include "confdefs.h"
#include <unistd.h>
EOF
@@ -4685,12 +4704,12 @@ done
for ac_func in pthread_mutexattr_settype pthread_mutexattr_setkind_np
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4689: checking for $ac_func" >&5
+echo "configure:4708: 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 4694 "configure"
+#line 4713 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4713,7 +4732,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4736: \"$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
@@ -4743,12 +4762,12 @@ done
for ac_func in sched_yield
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4747: checking for $ac_func" >&5
+echo "configure:4766: 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 4752 "configure"
+#line 4771 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4771,7 +4790,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4794: \"$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
@@ -4793,7 +4812,7 @@ EOF
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sched_yield in -lrt""... $ac_c" 1>&6
-echo "configure:4797: checking for sched_yield in -lrt" >&5
+echo "configure:4816: checking for sched_yield in -lrt" >&5
ac_lib_var=`echo rt'_'sched_yield | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4801,7 +4820,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lrt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4805 "configure"
+#line 4824 "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
@@ -4812,7 +4831,7 @@ int main() {
sched_yield()
; return 0; }
EOF
-if { (eval echo configure:4816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4838,7 +4857,7 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sched_yield in -lposix4""... $ac_c" 1>&6
-echo "configure:4842: checking for sched_yield in -lposix4" >&5
+echo "configure:4861: checking for sched_yield in -lposix4" >&5
ac_lib_var=`echo posix4'_'sched_yield | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4846,7 +4865,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix4 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4850 "configure"
+#line 4869 "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
@@ -4857,7 +4876,7 @@ int main() {
sched_yield()
; return 0; }
EOF
-if { (eval echo configure:4861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4893,7 +4912,7 @@ done
# We can save a little space at runtime if the mutex has m_count
# or __m_count. This is a nice hack for Linux.
cat > conftest.$ac_ext <<EOF
-#line 4897 "configure"
+#line 4916 "configure"
#include "confdefs.h"
#include <pthread.h>
int main() {
@@ -4902,7 +4921,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:4906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define PTHREAD_MUTEX_HAVE_M_COUNT 1
@@ -4914,7 +4933,7 @@ else
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 4918 "configure"
+#line 4937 "configure"
#include "confdefs.h"
#include <pthread.h>
int main() {
@@ -4923,7 +4942,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:4927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define PTHREAD_MUTEX_HAVE___M_COUNT 1
@@ -4943,12 +4962,12 @@ rm -f conftest*
for ac_func in gettimeofday time ftime
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4947: checking for $ac_func" >&5
+echo "configure:4966: 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 4952 "configure"
+#line 4971 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4971,7 +4990,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4994: \"$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
@@ -5002,12 +5021,12 @@ done
for ac_func in memmove
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5006: checking for $ac_func" >&5
+echo "configure:5025: 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 5011 "configure"
+#line 5030 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5030,7 +5049,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5053: \"$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
@@ -5060,12 +5079,12 @@ done
for ac_func in memcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5064: checking for $ac_func" >&5
+echo "configure:5083: 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 5069 "configure"
+#line 5088 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5088,7 +5107,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5111: \"$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
@@ -5117,7 +5136,7 @@ done
fi
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:5121: checking for dlopen in -ldl" >&5
+echo "configure:5140: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5125,7 +5144,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5129 "configure"
+#line 5148 "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
@@ -5136,7 +5155,7 @@ int main() {
dlopen()
; return 0; }
EOF
-if { (eval echo configure:5140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5181,7 +5200,7 @@ fi
#--------------------------------------------------------------------
echo $ac_n "checking for socket libraries""... $ac_c" 1>&6
-echo "configure:5185: checking for socket libraries" >&5
+echo "configure:5204: checking for socket libraries" >&5
if eval "test \"`echo '$''{'gcj_cv_lib_sockets'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5189,12 +5208,12 @@ else
gcj_checkBoth=0
unset ac_cv_func_connect
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:5193: checking for connect" >&5
+echo "configure:5212: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5198 "configure"
+#line 5217 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@@ -5217,7 +5236,7 @@ connect();
; return 0; }
EOF
-if { (eval echo configure:5221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@@ -5240,7 +5259,7 @@ fi
if test "$gcj_checkSocket" = 1; then
unset ac_cv_func_connect
echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
-echo "configure:5244: checking for main in -lsocket" >&5
+echo "configure:5263: checking for main in -lsocket" >&5
ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5248,14 +5267,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5252 "configure"
+#line 5271 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5282,12 +5301,12 @@ fi
LIBS="$LIBS -lsocket -lnsl"
unset ac_cv_func_accept
echo $ac_n "checking for accept""... $ac_c" 1>&6
-echo "configure:5286: checking for accept" >&5
+echo "configure:5305: checking for accept" >&5
if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5291 "configure"
+#line 5310 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char accept(); below. */
@@ -5310,7 +5329,7 @@ accept();
; return 0; }
EOF
-if { (eval echo configure:5314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_accept=yes"
else
@@ -5337,12 +5356,12 @@ fi
gcj_oldLibs=$LIBS
LIBS="$LIBS $gcj_cv_lib_sockets"
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:5341: checking for gethostbyname" >&5
+echo "configure:5360: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5346 "configure"
+#line 5365 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@@ -5365,7 +5384,7 @@ gethostbyname();
; return 0; }
EOF
-if { (eval echo configure:5369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@@ -5383,7 +5402,7 @@ if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:5387: checking for main in -lnsl" >&5
+echo "configure:5406: checking for main in -lnsl" >&5
ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5391,14 +5410,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5395 "configure"
+#line 5414 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5430,7 +5449,7 @@ echo "$ac_t""$gcj_cv_lib_sockets" 1>&6
if test "$with_system_zlib" = yes; then
echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
-echo "configure:5434: checking for deflate in -lz" >&5
+echo "configure:5453: checking for deflate in -lz" >&5
ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5438,7 +5457,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lz $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5442 "configure"
+#line 5461 "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
@@ -5449,7 +5468,7 @@ int main() {
deflate()
; return 0; }
EOF
-if { (eval echo configure:5453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5476,7 +5495,7 @@ fi
# requires -ldl.
if test "$GC" = boehm; then
echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6
-echo "configure:5480: checking for main in -ldl" >&5
+echo "configure:5499: checking for main in -ldl" >&5
ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5484,14 +5503,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5488 "configure"
+#line 5507 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5557,7 +5576,7 @@ fi
# Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcj; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5561: checking for $ac_word" >&5
+echo "configure:5580: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GCJ'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5589,7 +5608,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "gcj", so it can be a program name with args.
set dummy gcj; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5593: checking for $ac_word" >&5
+echo "configure:5612: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GCJ'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5651,13 +5670,13 @@ exec 5>>./config.log
CPPFLAGS=$GCJ_SAVE_CPPFLAGS
echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:5655: checking size of void *" >&5
+echo "configure:5674: checking size of void *" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_void_p'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 5661 "configure"
+#line 5680 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -5667,7 +5686,7 @@ int main() {
switch (0) case 0: case (sizeof (void *) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:5671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_void_p=$ac_size
else
@@ -5711,6 +5730,7 @@ fi
+
if test "$CANADIAN" = yes; then
CANADIAN_TRUE=
CANADIAN_FALSE='#'
@@ -5738,15 +5758,6 @@ else
fi
-if test -z "$with_cross_host"; then
- USE_LIBDIR_TRUE=
- USE_LIBDIR_FALSE='#'
-else
- USE_LIBDIR_TRUE='#'
- USE_LIBDIR_FALSE=
-fi
-
-
if test "$NEEDS_DATA_START" = yes && test "$NATIVE" = yes; then
NEEDS_DATA_START_TRUE=
NEEDS_DATA_START_FALSE='#'
@@ -5756,6 +5767,19 @@ else
fi
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexecmainlibdir='$(toolexecdir)/lib'
+else
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexecmainlibdir='$(libdir)'
+fi
+toolexeclibdir=$toolexecmainlibdir/`$CC -print-multi-os-directory`
+
+
+
+
# Determine gcj version number.
gcjversion=`$GCJ -v 2>&1 | sed -n 's/^.*version \([^ ]*\).*$/\1/p'`
@@ -5768,18 +5792,18 @@ EOF
echo $ac_n "checking for g++ -ffloat-store bug""... $ac_c" 1>&6
-echo "configure:5772: checking for g++ -ffloat-store bug" >&5
+echo "configure:5796: checking for g++ -ffloat-store bug" >&5
save_CFLAGS="$CFLAGS"
CFLAGS="-x c++ -O2 -ffloat-store"
cat > conftest.$ac_ext <<EOF
-#line 5776 "configure"
+#line 5800 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:5783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
else
@@ -5799,17 +5823,17 @@ for ac_hdr in unistd.h bstring.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5803: checking for $ac_hdr" >&5
+echo "configure:5827: 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 5808 "configure"
+#line 5832 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5837: \"$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*
@@ -5839,17 +5863,17 @@ for ac_hdr in dirent.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5843: checking for $ac_hdr" >&5
+echo "configure:5867: 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 5848 "configure"
+#line 5872 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5877: \"$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*
@@ -5879,17 +5903,17 @@ for ac_hdr in inttypes.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5883: checking for $ac_hdr" >&5
+echo "configure:5907: 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 5888 "configure"
+#line 5912 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5893: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5917: \"$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*
@@ -5925,12 +5949,12 @@ fi
done
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:5929: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:5953: 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 5934 "configure"
+#line 5958 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -5946,7 +5970,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:5950: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -5968,12 +5992,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:5972: checking for ANSI C header files" >&5
+echo "configure:5996: 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 5977 "configure"
+#line 6001 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -5981,7 +6005,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6009: \"$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*
@@ -5998,7 +6022,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 6002 "configure"
+#line 6026 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -6016,7 +6040,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 6020 "configure"
+#line 6044 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -6037,7 +6061,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 6041 "configure"
+#line 6065 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -6048,7 +6072,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:6052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -6072,12 +6096,12 @@ EOF
fi
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:6076: checking for ssize_t" >&5
+echo "configure:6100: 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 6081 "configure"
+#line 6105 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6106,9 +6130,9 @@ fi
echo $ac_n "checking for in_addr_t""... $ac_c" 1>&6
-echo "configure:6110: checking for in_addr_t" >&5
+echo "configure:6134: checking for in_addr_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 6112 "configure"
+#line 6136 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6122,7 +6146,7 @@ int main() {
in_addr_t foo;
; return 0; }
EOF
-if { (eval echo configure:6126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6150: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_IN_ADDR_T 1
@@ -6138,16 +6162,16 @@ fi
rm -f conftest*
echo $ac_n "checking whether struct ip_mreq is in netinet/in.h""... $ac_c" 1>&6
-echo "configure:6142: checking whether struct ip_mreq is in netinet/in.h" >&5
+echo "configure:6166: checking whether struct ip_mreq is in netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6144 "configure"
+#line 6168 "configure"
#include "confdefs.h"
#include <netinet/in.h>
int main() {
struct ip_mreq mreq;
; return 0; }
EOF
-if { (eval echo configure:6151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6175: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_STRUCT_IP_MREQ 1
@@ -6163,16 +6187,16 @@ fi
rm -f conftest*
echo $ac_n "checking whether struct ipv6_mreq is in netinet/in.h""... $ac_c" 1>&6
-echo "configure:6167: checking whether struct ipv6_mreq is in netinet/in.h" >&5
+echo "configure:6191: checking whether struct ipv6_mreq is in netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6169 "configure"
+#line 6193 "configure"
#include "confdefs.h"
#include <netinet/in.h>
int main() {
struct ipv6_mreq mreq6;
; return 0; }
EOF
-if { (eval echo configure:6176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6200: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_STRUCT_IPV6_MREQ 1
@@ -6188,16 +6212,16 @@ fi
rm -f conftest*
echo $ac_n "checking whether struct sockaddr_in6 is in netinet/in.h""... $ac_c" 1>&6
-echo "configure:6192: checking whether struct sockaddr_in6 is in netinet/in.h" >&5
+echo "configure:6216: checking whether struct sockaddr_in6 is in netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6194 "configure"
+#line 6218 "configure"
#include "confdefs.h"
#include <netinet/in.h>
int main() {
struct sockaddr_in6 addr6;
; return 0; }
EOF
-if { (eval echo configure:6201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6225: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_INET6 1
@@ -6213,9 +6237,9 @@ fi
rm -f conftest*
echo $ac_n "checking for socklen_t in sys/socket.h""... $ac_c" 1>&6
-echo "configure:6217: checking for socklen_t in sys/socket.h" >&5
+echo "configure:6241: checking for socklen_t in sys/socket.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6219 "configure"
+#line 6243 "configure"
#include "confdefs.h"
#define _POSIX_PII_SOCKET
#include <sys/types.h>
@@ -6224,7 +6248,7 @@ int main() {
socklen_t x = 5;
; return 0; }
EOF
-if { (eval echo configure:6228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_SOCKLEN_T 1
@@ -6240,16 +6264,16 @@ fi
rm -f conftest*
echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6
-echo "configure:6244: checking for tm_gmtoff in struct tm" >&5
+echo "configure:6268: checking for tm_gmtoff in struct tm" >&5
cat > conftest.$ac_ext <<EOF
-#line 6246 "configure"
+#line 6270 "configure"
#include "confdefs.h"
#include <time.h>
int main() {
struct tm tim; tim.tm_gmtoff = 0;
; return 0; }
EOF
-if { (eval echo configure:6253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define STRUCT_TM_HAS_GMTOFF 1
@@ -6262,16 +6286,16 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6
echo $ac_n "checking for global timezone variable""... $ac_c" 1>&6
-echo "configure:6266: checking for global timezone variable" >&5
+echo "configure:6290: checking for global timezone variable" >&5
cat > conftest.$ac_ext <<EOF
-#line 6268 "configure"
+#line 6292 "configure"
#include "confdefs.h"
#include <time.h>
int main() {
void i(){long z2 = 2*timezone;}
; return 0; }
EOF
-if { (eval echo configure:6275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_TIMEZONE 1
@@ -6284,16 +6308,16 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6
echo $ac_n "checking for global _timezone variable""... $ac_c" 1>&6
-echo "configure:6288: checking for global _timezone variable" >&5
+echo "configure:6312: checking for global _timezone variable" >&5
cat > conftest.$ac_ext <<EOF
-#line 6290 "configure"
+#line 6314 "configure"
#include "confdefs.h"
#include <time.h>
int main() {
long z2 = _timezone;
; return 0; }
EOF
-if { (eval echo configure:6297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_UNDERSCORE_TIMEZONE 1
@@ -6315,19 +6339,19 @@ rm -f conftest*
# 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:6319: checking for working alloca.h" >&5
+echo "configure:6343: 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 6324 "configure"
+#line 6348 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:6331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6355: \"$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
@@ -6348,12 +6372,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6352: checking for alloca" >&5
+echo "configure:6376: 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 6357 "configure"
+#line 6381 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -6381,7 +6405,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:6385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6409: \"$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
@@ -6413,12 +6437,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6417: checking whether alloca needs Cray hooks" >&5
+echo "configure:6441: 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 6422 "configure"
+#line 6446 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -6443,12 +6467,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:6447: checking for $ac_func" >&5
+echo "configure:6471: 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 6452 "configure"
+#line 6476 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6471,7 +6495,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6499: \"$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
@@ -6498,7 +6522,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6502: checking stack direction for C alloca" >&5
+echo "configure:6526: 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
@@ -6506,7 +6530,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 6510 "configure"
+#line 6534 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -6525,7 +6549,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:6529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6553: \"$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
@@ -6552,7 +6576,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:6556: checking for $ac_word" >&5
+echo "configure:6580: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6600,7 +6624,7 @@ case "${host}" in
SIGNAL_HANDLER=include/dwarf2-signal.h
;;
powerpc-*-linux*)
- SIGNAL_HANDLER=include/dwarf2-signal.h
+ SIGNAL_HANDLER=include/powerpc-signal.h
;;
alpha*-*-linux*)
SIGNAL_HANDLER=include/dwarf2-signal.h
@@ -6609,7 +6633,7 @@ case "${host}" in
SIGNAL_HANDLER=include/s390-signal.h
;;
x86_64*-*-linux*)
- SIGNAL_HANDLER=include/dwarf2-signal.h
+ SIGNAL_HANDLER=include/x86_64-signal.h
;;
sparc*-*-linux*)
SIGNAL_HANDLER=include/dwarf2-signal.h
@@ -6627,6 +6651,15 @@ if test "$enable_sjlj_exceptions" = yes; then
SIGNAL_HANDLER=include/default-signal.h
fi
+# Define here any compiler flags that you need in order to make backtrace() work.
+BACKTRACESPEC=
+case "${host}" in
+ x86_64*-*-linux*)
+ BACKTRACESPEC=-fno-omit-frame-pointer
+ ;;
+esac
+
+
@@ -6642,7 +6675,7 @@ fi
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:6646: checking for X" >&5
+echo "configure:6679: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -6704,12 +6737,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 6708 "configure"
+#line 6741 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6746: \"$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*
@@ -6778,14 +6811,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6782 "configure"
+#line 6815 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:6789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -6891,17 +6924,17 @@ else
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:6895: checking whether -R must be followed by a space" >&5
+echo "configure:6928: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 6898 "configure"
+#line 6931 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:6905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
@@ -6917,14 +6950,14 @@ rm -f conftest*
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 6921 "configure"
+#line 6954 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:6928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
@@ -6956,7 +6989,7 @@ rm -f conftest*
# libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:6960: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:6993: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -6964,7 +6997,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6968 "configure"
+#line 7001 "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
@@ -6975,7 +7008,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:6979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -6997,7 +7030,7 @@ fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:7001: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:7034: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7005,7 +7038,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7009 "configure"
+#line 7042 "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
@@ -7016,7 +7049,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:7020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7045,12 +7078,12 @@ fi
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:7049: checking for gethostbyname" >&5
+echo "configure:7082: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7054 "configure"
+#line 7087 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@@ -7073,7 +7106,7 @@ gethostbyname();
; return 0; }
EOF
-if { (eval echo configure:7077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@@ -7094,7 +7127,7 @@ fi
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:7098: checking for gethostbyname in -lnsl" >&5
+echo "configure:7131: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7102,7 +7135,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7106 "configure"
+#line 7139 "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
@@ -7113,7 +7146,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:7117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7143,12 +7176,12 @@ fi
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:7147: checking for connect" >&5
+echo "configure:7180: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7152 "configure"
+#line 7185 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@@ -7171,7 +7204,7 @@ connect();
; return 0; }
EOF
-if { (eval echo configure:7175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@@ -7192,7 +7225,7 @@ fi
if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:7196: checking for connect in -lsocket" >&5
+echo "configure:7229: checking for connect in -lsocket" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7200,7 +7233,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7204 "configure"
+#line 7237 "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
@@ -7211,7 +7244,7 @@ int main() {
connect()
; return 0; }
EOF
-if { (eval echo configure:7215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7235,12 +7268,12 @@ fi
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:7239: checking for remove" >&5
+echo "configure:7272: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7244 "configure"
+#line 7277 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
@@ -7263,7 +7296,7 @@ remove();
; return 0; }
EOF
-if { (eval echo configure:7267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
@@ -7284,7 +7317,7 @@ fi
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:7288: checking for remove in -lposix" >&5
+echo "configure:7321: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7292,7 +7325,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7296 "configure"
+#line 7329 "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
@@ -7303,7 +7336,7 @@ int main() {
remove()
; return 0; }
EOF
-if { (eval echo configure:7307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7327,12 +7360,12 @@ fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:7331: checking for shmat" >&5
+echo "configure:7364: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7336 "configure"
+#line 7369 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
@@ -7355,7 +7388,7 @@ shmat();
; return 0; }
EOF
-if { (eval echo configure:7359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
@@ -7376,7 +7409,7 @@ fi
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:7380: checking for shmat in -lipc" >&5
+echo "configure:7413: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7384,7 +7417,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7388 "configure"
+#line 7421 "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
@@ -7395,7 +7428,7 @@ int main() {
shmat()
; return 0; }
EOF
-if { (eval echo configure:7399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7428,7 +7461,7 @@ fi
# libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:7432: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:7465: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7436,7 +7469,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7440 "configure"
+#line 7473 "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
@@ -7447,7 +7480,7 @@ int main() {
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:7451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7756,20 +7789,23 @@ s%@ZINCS@%$ZINCS%g
s%@DIVIDESPEC@%$DIVIDESPEC%g
s%@CHECKREFSPEC@%$CHECKREFSPEC%g
s%@EXCEPTIONSPEC@%$EXCEPTIONSPEC%g
+s%@IEEESPEC@%$IEEESPEC%g
s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g
s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
s%@NULL_TARGET_TRUE@%$NULL_TARGET_TRUE%g
s%@NULL_TARGET_FALSE@%$NULL_TARGET_FALSE%g
s%@NATIVE_TRUE@%$NATIVE_TRUE%g
s%@NATIVE_FALSE@%$NATIVE_FALSE%g
-s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
-s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
s%@NEEDS_DATA_START_TRUE@%$NEEDS_DATA_START_TRUE%g
s%@NEEDS_DATA_START_FALSE@%$NEEDS_DATA_START_FALSE%g
s%@GCC_UNWIND_INCLUDE@%$GCC_UNWIND_INCLUDE%g
+s%@toolexecdir@%$toolexecdir%g
+s%@toolexecmainlibdir@%$toolexecmainlibdir%g
+s%@toolexeclibdir@%$toolexeclibdir%g
s%@GCJVERSION@%$GCJVERSION%g
s%@ALLOCA@%$ALLOCA%g
s%@PERL@%$PERL%g
+s%@BACKTRACESPEC@%$BACKTRACESPEC%g
s%@SYSDEP_SOURCES@%$SYSDEP_SOURCES%g
s%@X_CFLAGS@%$X_CFLAGS%g
s%@X_PRE_LIBS@%$X_PRE_LIBS%g
@@ -8044,6 +8080,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
libgcj_basedir=${libgcj_basedir}
CC="${CC}"
CXX="${CXX}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
EOF
cat >> $CONFIG_STATUS <<\EOF
diff --git a/libjava/configure.host b/libjava/configure.host
index f5d1ef07cda..7f3b69fb772 100644
--- a/libjava/configure.host
+++ b/libjava/configure.host
@@ -96,20 +96,21 @@ case "${host}" in
slow_pthread_self=yes
;;
x86_64-*)
+ CHECKREFSPEC="%{m32:-fcheck-references}"
sysdeps_dir=x86-64
- libgcj_flags="${libgcj_flags} -ffloat-store"
- libgcj_interpreter=no
+ libgcj_flags="${libgcj_flags} -ffloat-store -fno-omit-frame-pointer"
libgcj_cxxflags="-D__NO_MATH_INLINES"
libgcj_cflags="-D__NO_MATH_INLINES"
- DIVIDESPEC=-fno-use-divide-subroutine
enable_hash_synchronization_default=yes
slow_pthread_self=yes
+ libgcj_interpreter=yes
;;
alpha*-*)
sysdeps_dir=alpha
libgcj_flags="${libgcj_flags} -mieee"
libgcj_interpreter=yes
enable_hash_synchronization_default=yes
+ IEEESPEC=-mieee
;;
powerpc64*-*)
# libffi not ported.
@@ -132,7 +133,8 @@ case "${host}" in
libgcj_interpreter=yes
enable_hash_synchronization_default=yes
;;
- sparc-*)
+ sparc*-*)
+ libgcj_interpreter=yes
;;
ia64-*)
sysdeps_dir=ia64
@@ -167,6 +169,7 @@ case "${host}" in
*-*-darwin*)
enable_hash_synchronization_default=no
slow_pthread_self=
+ can_unwind_signal=no
;;
*-*-freebsd*)
slow_pthread_self=
diff --git a/libjava/configure.in b/libjava/configure.in
index 59f821accce..6f482b2dbe1 100644
--- a/libjava/configure.in
+++ b/libjava/configure.in
@@ -515,13 +515,17 @@ else
ia64-*-linux*)
# Has broken backtrace()
;;
- s390*-*-linux*)
- # Has broken backtrace()
- ;;
*)
AC_DEFINE(HAVE_BACKTRACE)
;;
esac
+ ], [
+ case "$host" in
+ *mingw*)
+ # Has backtrace() defined in libgcj itself
+ AC_DEFINE(HAVE_BACKTRACE)
+ ;;
+ esac
])
AC_CHECK_LIB(dl, dladdr, [
@@ -785,14 +789,27 @@ AC_SUBST(ZINCS)
AC_SUBST(DIVIDESPEC)
AC_SUBST(CHECKREFSPEC)
AC_SUBST(EXCEPTIONSPEC)
+AC_SUBST(IEEESPEC)
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes || test "$NULL_TARGET" = yes)
-AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
AM_CONDITIONAL(NEEDS_DATA_START, test "$NEEDS_DATA_START" = yes && test "$NATIVE" = yes)
AC_SUBST(GCC_UNWIND_INCLUDE)
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexecmainlibdir='$(toolexecdir)/lib'
+else
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexecmainlibdir='$(libdir)'
+fi
+toolexeclibdir=$toolexecmainlibdir/`$CC -print-multi-os-directory`
+AC_SUBST(toolexecdir)
+AC_SUBST(toolexecmainlibdir)
+AC_SUBST(toolexeclibdir)
+
# Determine gcj version number.
changequote(<<,>>)
gcjversion=`$GCJ -v 2>&1 | sed -n 's/^.*version \([^ ]*\).*$/\1/p'`
@@ -907,7 +924,7 @@ case "${host}" in
SIGNAL_HANDLER=include/dwarf2-signal.h
;;
powerpc-*-linux*)
- SIGNAL_HANDLER=include/dwarf2-signal.h
+ SIGNAL_HANDLER=include/powerpc-signal.h
;;
alpha*-*-linux*)
SIGNAL_HANDLER=include/dwarf2-signal.h
@@ -916,7 +933,7 @@ case "${host}" in
SIGNAL_HANDLER=include/s390-signal.h
;;
x86_64*-*-linux*)
- SIGNAL_HANDLER=include/dwarf2-signal.h
+ SIGNAL_HANDLER=include/x86_64-signal.h
;;
sparc*-*-linux*)
SIGNAL_HANDLER=include/dwarf2-signal.h
@@ -934,6 +951,15 @@ if test "$enable_sjlj_exceptions" = yes; then
SIGNAL_HANDLER=include/default-signal.h
fi
+# Define here any compiler flags that you need in order to make backtrace() work.
+BACKTRACESPEC=
+case "${host}" in
+ x86_64*-*-linux*)
+ BACKTRACESPEC=-fno-omit-frame-pointer
+ ;;
+esac
+AC_SUBST(BACKTRACESPEC)
+
AC_SUBST(SYSDEP_SOURCES)
AC_LINK_FILES($SIGNAL_HANDLER, include/java-signal.h)
@@ -1027,4 +1053,5 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
libgcj_basedir=${libgcj_basedir}
CC="${CC}"
CXX="${CXX}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
)
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc
index dc350028cdd..81de5ad7da2 100644
--- a/libjava/defineclass.cc
+++ b/libjava/defineclass.cc
@@ -890,7 +890,7 @@ _Jv_ClassReader::handleClassBegin
throw_no_class_def_found_error (msg);
}
- def->accflags = access_flags;
+ def->accflags = access_flags | java::lang::reflect::Modifier::INTERPRETED;
pool_data[this_class].clazz = def;
pool_tags[this_class] = JV_CONSTANT_ResolvedClass;
diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in
index 201722f80ca..f74286df92d 100644
--- a/libjava/gcj/Makefile.in
+++ b/libjava/gcj/Makefile.in
@@ -65,6 +65,7 @@ target_alias = @target_alias@
target_triplet = @target@
AR = @AR@
AS = @AS@
+BACKTRACESPEC = @BACKTRACESPEC@
CC = @CC@
CHECKREFSPEC = @CHECKREFSPEC@
COMPPATH = @COMPPATH@
@@ -86,6 +87,7 @@ GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
GCTESTSPEC = @GCTESTSPEC@
HASH_SYNC_SPEC = @HASH_SYNC_SPEC@
+IEEESPEC = @IEEESPEC@
INCLTDL = @INCLTDL@
INTERPRETER = @INTERPRETER@
JC1GCSPEC = @JC1GCSPEC@
@@ -129,6 +131,9 @@ here = @here@
libgcj_basedir = @libgcj_basedir@
mkinstalldirs = @mkinstalldirs@
tool_include_dir = @tool_include_dir@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
+toolexecmainlibdir = @toolexecmainlibdir@
AUTOMAKE_OPTIONS = foreign
diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h
index 8ed649432a2..e2840731ed0 100644
--- a/libjava/gcj/javaprims.h
+++ b/libjava/gcj/javaprims.h
@@ -120,6 +120,7 @@ extern "Java"
class SyncFailedException;
class UTFDataFormatException;
class UnsupportedEncodingException;
+ class VMObjectStreamClass;
class ValidatorAndPriority;
class WriteAbortedException;
class Writer;
@@ -230,16 +231,18 @@ extern "Java"
class Array;
class Constructor;
class Field;
- class InvocationHandler;
+ class InvocationHandler;
class InvocationTargetException;
class Member;
class Method;
class Modifier;
- class Proxy;
- class Proxy$ProxyData;
- class Proxy$ProxyType;
+ class Proxy;
+ class Proxy$ClassFactory;
+ class Proxy$ProxyData;
+ class Proxy$ProxySignature;
+ class Proxy$ProxyType;
class ReflectPermission;
- class UndeclaredThrowableException;
+ class UndeclaredThrowableException;
};
};
@@ -334,7 +337,6 @@ extern "Java"
class RandomAccess;
class RandomAccessSubList;
class ResourceBundle;
- class ResourceBundle$Security;
class Set;
class SimpleTimeZone;
class SortedMap;
@@ -371,6 +373,13 @@ extern "Java"
class Manifest;
};
+ namespace regex
+ {
+ class Matcher;
+ class Pattern;
+ class PatternSyntaxException;
+ };
+
namespace zip
{
class Adler32;
diff --git a/libjava/gnu/awt/j2d/DirectRasterGraphics.java b/libjava/gnu/awt/j2d/DirectRasterGraphics.java
index 8d25b88d018..28aad9b0404 100644
--- a/libjava/gnu/awt/j2d/DirectRasterGraphics.java
+++ b/libjava/gnu/awt/j2d/DirectRasterGraphics.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -61,7 +61,8 @@ public interface DirectRasterGraphics extends Cloneable
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints);
- public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints);
+ public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints,
+ int translateX, int translateY);
public void drawString(String str, int x, int y);
diff --git a/libjava/gnu/awt/j2d/Graphics2DImpl.java b/libjava/gnu/awt/j2d/Graphics2DImpl.java
index ef4d742c056..5af41bfc9cb 100644
--- a/libjava/gnu/awt/j2d/Graphics2DImpl.java
+++ b/libjava/gnu/awt/j2d/Graphics2DImpl.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation
+/* Copyright (C) 2000, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -24,6 +24,7 @@ import java.awt.Stroke;
import java.awt.geom.AffineTransform;
import java.awt.image.ImageObserver;
import java.awt.image.BufferedImage;
+import java.awt.image.BufferedImageOp;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.RenderableImage;
import java.text.AttributedCharacterIterator;
@@ -459,7 +460,7 @@ public class Graphics2DImpl extends Graphics2D implements Cloneable
throw new UnsupportedOperationException(msg);
}
- public void drawImage(BufferedImage image, BufferedImage op, int x, int y)
+ public void drawImage(BufferedImage image, BufferedImageOp op, int x, int y)
{
throw new UnsupportedOperationException("not implemented yet");
}
diff --git a/libjava/gnu/awt/j2d/IntegerGraphicsState.java b/libjava/gnu/awt/j2d/IntegerGraphicsState.java
index 90a1a4d2ab5..bfea6611ca5 100644
--- a/libjava/gnu/awt/j2d/IntegerGraphicsState.java
+++ b/libjava/gnu/awt/j2d/IntegerGraphicsState.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -212,7 +212,7 @@ public class IntegerGraphicsState extends AbstractGraphicsState
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
{
- if ((tx == 0) || (ty == 0))
+ if ((tx == 0) && (ty == 0))
{
directGfx.drawPolyline(xPoints, yPoints, nPoints);
return;
@@ -223,7 +223,7 @@ public class IntegerGraphicsState extends AbstractGraphicsState
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
{
- if ((tx == 0) || (ty == 0))
+ if ((tx == 0) && (ty == 0))
{
directGfx.drawPolygon(xPoints, yPoints, nPoints);
return;
@@ -232,15 +232,11 @@ public class IntegerGraphicsState extends AbstractGraphicsState
throw new UnsupportedOperationException("translate not implemented");
}
- public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
+ public void fillPolygon (int[] xPoints, int[] yPoints, int nPoints)
{
- if ((tx == 0) || (ty == 0))
- {
- directGfx.fillPolygon(xPoints, yPoints, nPoints);
- return;
- }
-
- throw new UnsupportedOperationException("translate not implemented");
+ // FIXME: remove tx & ty args once translation via AffineTransform
+ // is implemented.
+ directGfx.fillPolygon (xPoints, yPoints, nPoints, tx, ty);
}
public boolean drawImage(Image image, int x, int y,
diff --git a/libjava/gnu/awt/xlib/XGraphics.java b/libjava/gnu/awt/xlib/XGraphics.java
index 27b07a2369a..90f53880e85 100644
--- a/libjava/gnu/awt/xlib/XGraphics.java
+++ b/libjava/gnu/awt/xlib/XGraphics.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -176,10 +176,10 @@ public class XGraphics implements Cloneable, DirectRasterGraphics
throw new UnsupportedOperationException("not implemented");
}
- public void fillPolygon(int[] xPoints, int[] yPoints, int
- nPoints)
+ public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints,
+ int translateX, int translateY)
{
- throw new UnsupportedOperationException("not implemented");
+ context.fillPolygon(xPoints, yPoints, nPoints, translateX, translateY);
}
public void drawString(String str, int x, int y)
diff --git a/libjava/gnu/awt/xlib/XGraphicsConfiguration.java b/libjava/gnu/awt/xlib/XGraphicsConfiguration.java
index 9ae12d6f8b9..7d7d5159fe0 100644
--- a/libjava/gnu/awt/xlib/XGraphicsConfiguration.java
+++ b/libjava/gnu/awt/xlib/XGraphicsConfiguration.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -389,15 +389,32 @@ public class XGraphicsConfiguration extends GraphicsConfiguration
int getPixel(Color color)
{
+ /* FIXME: consider an integer technique whenever
+ * the ColorModel is 8 bits per color.
+ * The problem with using integers is that it doesn't work unless
+ * the colors are 8 bits each (as in the array), since ColorModel.getDataElement(int[],int)
+ * expects non-normalized values. For example, in a 16-bit display mode, you
+ * would typically have 5 bits each for red and blue, and 6 bits for green.
int[] components =
- {
- color.getRed(),
- color.getGreen(),
- color.getBlue(),
- 0xff
- };
-
- ColorModel cm = getColorModel();
- return cm.getDataElement(components, 0);
+ {
+ color.getRed (),
+ color.getGreen (),
+ color.getBlue (),
+ 0xff
+ };
+ */
+
+ float[] normalizedComponents =
+ {
+ ((float)color.getRed ()) / 255F,
+ ((float)color.getGreen ()) / 255F,
+ ((float)color.getBlue ()) / 255F,
+ 1
+ };
+ int[] unnormalizedComponents = { 0, 0, 0, 0xff };
+ ColorModel cm = getColorModel ();
+ cm.getUnnormalizedComponents(normalizedComponents, 0,
+ unnormalizedComponents, 0);
+ return cm.getDataElement (unnormalizedComponents, 0);
}
}
diff --git a/libjava/gnu/awt/xlib/XToolkit.java b/libjava/gnu/awt/xlib/XToolkit.java
index 0c199b2b7f7..c71b39d0f80 100644
--- a/libjava/gnu/awt/xlib/XToolkit.java
+++ b/libjava/gnu/awt/xlib/XToolkit.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation
+/* Copyright (C) 2000, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -173,7 +173,7 @@ public class XToolkit extends Toolkit
public java.awt.image.ColorModel getColorModel()
{
- throw new UnsupportedOperationException("not implemented yet");
+ return getDefaultXGraphicsConfiguration().getColorModel();
}
public String[] getFontList()
diff --git a/libjava/gnu/gcj/convert/Output_EUCJIS.java b/libjava/gnu/gcj/convert/Output_EUCJIS.java
index 0662239aa85..c0cc4378b26 100644
--- a/libjava/gnu/gcj/convert/Output_EUCJIS.java
+++ b/libjava/gnu/gcj/convert/Output_EUCJIS.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation
+/* Copyright (C) 1999, 2003 Free Software Foundation
This file is part of libgcj.
@@ -22,6 +22,11 @@ public class Output_EUCJIS extends UnicodeToBytes
public native int write (String str, int inpos, int inlength, char[] work);
+ public boolean havePendingBytes()
+ {
+ return pending1 >= 0;
+ }
+
int pending1 = -1;
int pending2;
}
diff --git a/libjava/gnu/gcj/convert/Output_SJIS.java b/libjava/gnu/gcj/convert/Output_SJIS.java
index c5370642378..67470ba7803 100644
--- a/libjava/gnu/gcj/convert/Output_SJIS.java
+++ b/libjava/gnu/gcj/convert/Output_SJIS.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation
+/* Copyright (C) 1999, 2003 Free Software Foundation
This file is part of libgcj.
@@ -22,5 +22,10 @@ public class Output_SJIS extends UnicodeToBytes
public native int write (String str, int inpos, int inlength, char[] work);
+ public boolean havePendingBytes()
+ {
+ return pending >= 0;
+ }
+
int pending = -1;
}
diff --git a/libjava/gnu/gcj/convert/Output_UTF8.java b/libjava/gnu/gcj/convert/Output_UTF8.java
index 01f5ce890e3..f54e7ebcfc2 100644
--- a/libjava/gnu/gcj/convert/Output_UTF8.java
+++ b/libjava/gnu/gcj/convert/Output_UTF8.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -104,6 +104,7 @@ public class Output_UTF8 extends UnicodeToBytes
{
value = (hi_part - 0xD800) * 0x400 + (ch - 0xDC00) + 0x10000;
buf[count++] = (byte) (0xF0 | (value >> 18));
+ avail--;
bytes_todo = 3;
hi_part = 0;
}
@@ -118,4 +119,10 @@ public class Output_UTF8 extends UnicodeToBytes
}
return inpos - start_pos;
}
+
+ public boolean havePendingBytes()
+ {
+ return bytes_todo > 0;
+ }
+
}
diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.java b/libjava/gnu/gcj/convert/UnicodeToBytes.java
index 8181cb83109..0785d7ea43e 100644
--- a/libjava/gnu/gcj/convert/UnicodeToBytes.java
+++ b/libjava/gnu/gcj/convert/UnicodeToBytes.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation
This file is part of libgcj.
@@ -146,6 +146,17 @@ public abstract class UnicodeToBytes extends IOConverter
return write(work, 0, srcEnd - inpos);
}
+ /**
+ * Returns true when the converter has consumed some bytes that are
+ * not yet converted to characters because further continuation
+ * bytes are needed. Defaults to false, should be overridden by
+ * decoders that internally store some bytes.
+ */
+ public boolean havePendingBytes()
+ {
+ return false;
+ }
+
/** Indicate that the converter is resuable.
* This class keeps track of converters on a per-encoding basis.
* When done with an encoder you may call this method to indicate
diff --git a/libjava/gnu/gcj/protocol/http/Connection.java b/libjava/gnu/gcj/protocol/http/Connection.java
index caababa6823..1a6fc0105f9 100644
--- a/libjava/gnu/gcj/protocol/http/Connection.java
+++ b/libjava/gnu/gcj/protocol/http/Connection.java
@@ -1,6 +1,6 @@
// Connection.java - Implementation of HttpURLConnection for http protocol.
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -25,10 +25,11 @@ import java.util.Enumeration;
/**
* Written using on-line Java Platform 1.2 API Specification, as well
* as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal subset of functionality. Proxies and Redirects
- * not yet handled. FileNameMap handling needs to be considered.
- * useCaches, ifModifiedSince, and allowUserInteraction need
- * consideration as well as doInput and doOutput.
+ * Status: Minimal subset of functionality. Proxies only partially
+ * handled; Redirects not yet handled. FileNameMap handling needs to
+ * be considered. useCaches, ifModifiedSince, and
+ * allowUserInteraction need consideration as well as doInput and
+ * doOutput.
*/
class Connection extends HttpURLConnection
@@ -40,6 +41,33 @@ class Connection extends HttpURLConnection
private Vector hdrVec = new Vector();
private BufferedInputStream bufferedIn;
+ private static int proxyPort = 80;
+ private static boolean proxyInUse = false;
+ private static String proxyHost = null;
+
+ static
+ {
+ // Recognize some networking properties listed at
+ // http://java.sun.com/j2se/1.4/docs/guide/net/properties.html.
+ String port = null;
+ proxyHost = System.getProperty("http.proxyHost");
+ if (proxyHost != null)
+ {
+ proxyInUse = true;
+ if ((port = System.getProperty("http.proxyPort")) != null)
+ {
+ try
+ {
+ proxyPort = Integer.parseInt(port);
+ }
+ catch (Throwable t)
+ {
+ // Nothing.
+ }
+ }
+ }
+ }
+
public Connection(URL url)
{
super(url);
@@ -85,12 +113,20 @@ class Connection extends HttpURLConnection
// Get address and port number.
int port;
- InetAddress destAddr = InetAddress.getByName(url.getHost());
- if ((port = url.getPort()) == -1)
- port = 80;
+ if (proxyInUse)
+ {
+ port = proxyPort;
+ sock = new Socket(proxyHost, port);
+ }
+ else
+ {
+ InetAddress destAddr = InetAddress.getByName(url.getHost());
+ if ((port = url.getPort()) == -1)
+ port = 80;
+ // Open socket and output stream.
+ sock = new Socket(destAddr, port);
+ }
- // Open socket and output stream.
- sock = new Socket(destAddr, port);
PrintWriter out = new PrintWriter(sock.getOutputStream());
// Send request including any request properties that were set.
@@ -123,10 +159,9 @@ class Connection extends HttpURLConnection
}
}
- // TODO: public boolean usingProxy()
public boolean usingProxy()
{
- return false;
+ return proxyInUse;
}
// Override default method in URLConnection.
diff --git a/libjava/gnu/gcj/runtime/NameFinder.java b/libjava/gnu/gcj/runtime/NameFinder.java
index 1d729d252ac..19820c1bd6b 100644
--- a/libjava/gnu/gcj/runtime/NameFinder.java
+++ b/libjava/gnu/gcj/runtime/NameFinder.java
@@ -103,6 +103,11 @@ public class NameFinder
private BufferedReader addr2lineIn;
/**
+ * Flag set if using addr2name.awk instead of addr2line from binutils.
+ */
+ private boolean usingAddr2name = false;
+
+ /**
* Creates a new NameFinder. Call close to get rid of any resources
* created while using the <code>lookup</code> methods.
*/
@@ -142,6 +147,7 @@ public class NameFinder
{
String[] exec = new String[] {"addr2name.awk", executable};
addr2line = runtime.exec(exec);
+ usingAddr2name = true;
}
catch (IOException ioe2) { addr2line = null; }
}
@@ -181,6 +187,11 @@ public class NameFinder
native private String getAddrAsString(RawData addrs, int n);
/**
+ * Returns the label that is exported for the given method name.
+ */
+ native private String getExternalLabel(String name);
+
+ /**
* If nth element of stack is an interpreted frame, return the
* element representing the method being interpreted.
*/
@@ -212,6 +223,15 @@ public class NameFinder
addr2lineOut.flush();
name = addr2lineIn.readLine();
file = addr2lineIn.readLine();
+
+ // addr2line uses symbolic debugging information instead
+ // of the actually exported labels as addr2name.awk does.
+ // This name might need some modification, depending on
+ // the system, to make it a label like that returned
+ // by addr2name.awk or dladdr.
+ if (! usingAddr2name)
+ if (name != null && ! "??".equals (name))
+ name = getExternalLabel (name);
}
catch (IOException ioe) { addr2line = null; }
}
@@ -371,7 +391,7 @@ public class NameFinder
int line = -1;
if (fileName != null)
{
- int colon = file.indexOf(':');
+ int colon = file.lastIndexOf(':');
if (colon > 0)
{
fileName = file.substring(0, colon);
diff --git a/libjava/gnu/gcj/runtime/natNameFinder.cc b/libjava/gnu/gcj/runtime/natNameFinder.cc
index 29687cb5bb9..6605e380591 100644
--- a/libjava/gnu/gcj/runtime/natNameFinder.cc
+++ b/libjava/gnu/gcj/runtime/natNameFinder.cc
@@ -15,6 +15,8 @@ details. */
#include <config.h>
+#include <string.h>
+
#include <gcj/cni.h>
#include <jvm.h>
#include <java/lang/String.h>
@@ -28,6 +30,37 @@ details. */
#include <dlfcn.h>
#endif
+// On some systems, a prefix is attached to a method name before
+// it is exported as a label. The GCC preprocessor predefines
+// this prefix as the macro __USER_LABEL_PREFIX__ which expands to
+// a string (not string constant) representing the prefix, if any.
+#undef LABEL_PREFIX
+#ifdef __USER_LABEL_PREFIX__
+
+#define USER_LABEL_PREFIX_STRING_0(s) #s
+#define USER_LABEL_PREFIX_STRING(s) USER_LABEL_PREFIX_STRING_0(s)
+
+#define LABEL_PREFIX USER_LABEL_PREFIX_STRING(__USER_LABEL_PREFIX__)
+
+#else /* __USER_LABEL_PREFIX__ */
+
+#define LABEL_PREFIX ""
+
+#endif /* ! __USER_LABEL_PREFIX__ */
+
+java::lang::String*
+gnu::gcj::runtime::NameFinder::getExternalLabel (java::lang::String* name)
+{
+ jsize nameLen = JvGetStringUTFLength (name);
+ jsize pfxLen = strlen (LABEL_PREFIX);
+ char *newName = (char *) JvMalloc (pfxLen + nameLen + 1);
+ *(newName + 0) = '\0';
+ strcpy (newName, LABEL_PREFIX);
+ JvGetStringUTFRegion (name, 0, nameLen, newName + pfxLen);
+ *(newName + pfxLen + nameLen) = '\0';
+ return JvNewStringLatin1 (newName);
+}
+
java::lang::String*
gnu::gcj::runtime::NameFinder::getExecutable (void)
{
diff --git a/libjava/gnu/gcj/runtime/natStackTrace.cc b/libjava/gnu/gcj/runtime/natStackTrace.cc
index e977f356638..d39cd00dbab 100644
--- a/libjava/gnu/gcj/runtime/natStackTrace.cc
+++ b/libjava/gnu/gcj/runtime/natStackTrace.cc
@@ -1,6 +1,6 @@
// natStackTrace.cc - native helper methods for Throwable
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc
+/* Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc
This file is part of libgcj.
@@ -16,6 +16,7 @@ details. */
*/
#include <config.h>
+#include <platform.h>
#include <string.h>
diff --git a/libjava/gnu/gcj/xlib/GC.java b/libjava/gnu/gcj/xlib/GC.java
index 6b33715cf6c..1806c2ae569 100644
--- a/libjava/gnu/gcj/xlib/GC.java
+++ b/libjava/gnu/gcj/xlib/GC.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -84,6 +84,8 @@ public class GC implements Cloneable
public native void drawRectangle(int x, int y, int w, int h);
public native void fillRectangle(int x, int y, int w, int h);
+ public native void fillPolygon(int[] xPoints, int[] yPoints, int nPoints,
+ int translateX, int translateY);
/**
*
diff --git a/libjava/gnu/gcj/xlib/natGC.cc b/libjava/gnu/gcj/xlib/natGC.cc
index 66de35f868b..1a1bd586d8e 100644
--- a/libjava/gnu/gcj/xlib/natGC.cc
+++ b/libjava/gnu/gcj/xlib/natGC.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj.
@@ -11,6 +11,7 @@ details. */
#include <X11/Xlib.h>
#include <gcj/cni.h>
+#include <gcj/array.h>
#include <gnu/gcj/RawData.h>
#include <java/lang/String.h>
#include <java/awt/Rectangle.h>
@@ -154,6 +155,27 @@ void gnu::gcj::xlib::GC::fillRectangle(jint x, jint y, jint w, jint h)
// no fast fail
}
+void gnu::gcj::xlib::GC::fillPolygon(jintArray xPoints, jintArray yPoints,
+ jint nPoints,
+ jint translateX, jint translateY)
+{
+ Display* display = target->getDisplay();
+ ::Display* dpy = (::Display*) (display->display);
+ ::Drawable drawableXID = target->getXID();
+ ::GC gc = (::GC) structure;
+ typedef ::XPoint xpoint;
+ std::vector<xpoint> points(nPoints+1);
+ for (int i=0; i<nPoints; i++)
+ {
+ points[i].x = elements(xPoints)[i] + translateX;
+ points[i].y = elements(yPoints)[i] + translateY;
+ }
+ points[nPoints] = points[0];
+ XFillPolygon(dpy, drawableXID, gc, &(points.front()), nPoints,
+ Complex, CoordModeOrigin);
+ // no fast fail
+}
+
void gnu::gcj::xlib::GC::clearArea(jint x, jint y, jint w, jint h,
jboolean exposures)
{
diff --git a/libjava/gnu/java/nio/ByteBufferImpl.java b/libjava/gnu/java/nio/ByteBufferImpl.java
index 54fba2492e1..149dc1c9683 100644
--- a/libjava/gnu/java/nio/ByteBufferImpl.java
+++ b/libjava/gnu/java/nio/ByteBufferImpl.java
@@ -43,37 +43,35 @@ import java.nio.DoubleBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
+import java.nio.ReadOnlyBufferException;
import java.nio.ShortBuffer;
+/**
+ * This is a Heap memory implementation
+ */
public final class ByteBufferImpl extends ByteBuffer
{
- private byte[] backing_buffer;
- private int array_offset;
- private boolean ro;
-
+ private boolean readOnly;
+
public ByteBufferImpl (int cap, int off, int lim)
{
- this.cap = cap;
- limit (lim);
- position (off);
- this.backing_buffer = new byte[cap];
+ super (cap, lim, off, 0);
+ this.backing_buffer = new byte [cap];
+ readOnly = false;
}
- public ByteBufferImpl (byte[] array, int off, int lim)
+ public ByteBufferImpl (byte[] array, int offset, int length)
{
- this.cap = array.length;
- limit (lim);
- position (off);
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
+ readOnly = false;
}
public ByteBufferImpl (ByteBufferImpl copy)
{
- this.cap = copy.capacity ();
- limit (copy.limit ());
- position (copy.position ());
- ro = copy.ro;
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
+ readOnly = copy.isReadOnly ();
}
void inc_pos (int toAdd)
@@ -89,52 +87,140 @@ public final class ByteBufferImpl extends ByteBuffer
private static native byte[] nio_cast(float[]copy);
private static native byte[] nio_cast(double[]copy);
+ ByteBufferImpl (byte[] copy)
+ {
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
- ByteBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native byte nio_get_Byte(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Byte(ByteBufferImpl b, int index, int limit, byte value);
- public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/1); return res; }
+ private static native byte nio_get_Byte (ByteBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Byte (ByteBufferImpl b, int index, int limit, byte value);
+
+ public ByteBuffer asByteBuffer ()
+ {
+ ByteBufferImpl res = new ByteBufferImpl (backing_buffer);
+ res.limit ((limit () * 1) / 1);
+ return res;
+ }
- ByteBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Char(ByteBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/1); return res; }
+ ByteBufferImpl (char[] copy)
+ {
+ super (copy.length * 2, copy.length * 2, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
- ByteBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Short(ByteBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/1); return res; }
+ private static native char nio_get_Char (ByteBufferImpl b, int index, int limit);
- ByteBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Int(ByteBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/1); return res; }
+ private static native void nio_put_Char (ByteBufferImpl b, int index, int limit, char value);
- ByteBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Long(ByteBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/1); return res; }
+ public CharBuffer asCharBuffer ()
+ {
+ CharBufferImpl res = new CharBufferImpl (backing_buffer);
+ res.limit ((limit () * 2) / 1);
+ return res;
+ }
- ByteBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Float(ByteBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/1); return res; }
+ ByteBufferImpl (short[] copy)
+ {
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
+
+ private static native short nio_get_Short (ByteBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Short (ByteBufferImpl b, int index, int limit, short value);
+
+ public ShortBuffer asShortBuffer ()
+ {
+ ShortBufferImpl res = new ShortBufferImpl (backing_buffer);
+ res.limit ((limit () * 2) / 1);
+ return res;
+ }
- ByteBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(ByteBufferImpl b, int index, int limit);
- private static native void nio_put_Double(ByteBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/1); return res; }
+ ByteBufferImpl (int[] copy)
+ {
+ super (copy.length * 4, copy.length * 4, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast(copy) : null;
+ readOnly = false;
+ }
+
+ private static native int nio_get_Int (ByteBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Int (ByteBufferImpl b, int index, int limit, int value);
+
+ public IntBuffer asIntBuffer ()
+ {
+ IntBufferImpl res = new IntBufferImpl (backing_buffer);
+ res.limit ((limit() * 4) / 1);
+ return res;
+ }
+
+ ByteBufferImpl (long[] copy)
+ {
+ super (copy.length * 8, copy.length * 8, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
+
+ private static native long nio_get_Long (ByteBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Long (ByteBufferImpl b, int index, int limit, long value);
+
+ public LongBuffer asLongBuffer ()
+ {
+ LongBufferImpl res = new LongBufferImpl (backing_buffer);
+ res.limit ((limit() * 8) / 1);
+ return res;
+ }
+
+ ByteBufferImpl (float[] copy)
+ {
+ super (copy.length * 4, copy.length * 4, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
+
+ private static native float nio_get_Float (ByteBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Float (ByteBufferImpl b, int index, int limit, float value);
+
+ public FloatBuffer asFloatBuffer ()
+ {
+ FloatBufferImpl res = new FloatBufferImpl (backing_buffer);
+ res.limit ((limit() * 4) / 1);
+ return res;
+ }
+
+ ByteBufferImpl (double[] copy)
+ {
+ super (copy.length * 8, copy.length * 8, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
+
+ private static native double nio_get_Double (ByteBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Double (ByteBufferImpl b, int index, int limit, double value);
+
+ public DoubleBuffer asDoubleBuffer ()
+ {
+ DoubleBufferImpl res = new DoubleBufferImpl (backing_buffer);
+ res.limit ((limit () * 8) / 1);
+ return res;
+ }
public boolean isReadOnly()
{
- return ro;
+ return readOnly;
}
public ByteBuffer slice()
{
- ByteBufferImpl A = new ByteBufferImpl(this);
- A.array_offset = position();
- return A;
+ return new ByteBufferImpl(this);
}
public ByteBuffer duplicate()
@@ -145,7 +231,7 @@ public final class ByteBufferImpl extends ByteBuffer
public ByteBuffer asReadOnlyBuffer()
{
ByteBufferImpl a = new ByteBufferImpl(this);
- a.ro = true;
+ a.readOnly = true;
return a;
}
@@ -156,7 +242,7 @@ public final class ByteBufferImpl extends ByteBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public byte get()
@@ -168,6 +254,9 @@ public final class ByteBufferImpl extends ByteBuffer
final public ByteBuffer put(byte b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
@@ -180,14 +269,201 @@ public final class ByteBufferImpl extends ByteBuffer
final public ByteBuffer put(int index, byte b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
- final public char getChar() { char a = nio_get_Char(this, position(), limit()); inc_pos(2); return a; } final public ByteBuffer putChar(char value) { nio_put_Char(this, position(), limit(), value); inc_pos(2); return this; } final public char getChar(int index) { char a = nio_get_Char(this, index, limit()); return a; } final public ByteBuffer putChar(int index, char value) { nio_put_Char(this, index, limit(), value); return this; };
- final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public ByteBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public ByteBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; };
- final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public ByteBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public ByteBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; };
- final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public ByteBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public ByteBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; };
- final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public ByteBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public ByteBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; };
- final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public ByteBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public ByteBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; };
+ final public char getChar ()
+ {
+ char a = nio_get_Char (this, position (), limit ());
+ inc_pos (2);
+ return a;
+ }
+
+ final public ByteBuffer putChar (char value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Char (this, position (), limit (), value);
+ inc_pos (2);
+ return this;
+ }
+
+ final public char getChar (int index)
+ {
+ char a = nio_get_Char (this, index, limit ());
+ return a;
+ }
+
+ final public ByteBuffer putChar (int index, char value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Char (this, index, limit (), value);
+ return this;
+ }
+
+ final public short getShort ()
+ {
+ short a = nio_get_Short (this, position (), limit ());
+ inc_pos (2);
+ return a;
+ }
+
+ final public ByteBuffer putShort (short value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Short (this, position (), limit(), value);
+ inc_pos (2);
+ return this;
+ }
+
+ final public short getShort (int index)
+ {
+ short a = nio_get_Short (this, index, limit ());
+ return a;
+ }
+
+ final public ByteBuffer putShort (int index, short value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Short (this, index, limit (), value);
+ return this;
+ }
+
+ final public int getInt ()
+ {
+ int a = nio_get_Int (this, position (), limit ());
+ inc_pos (4);
+ return a;
+ }
+
+ final public ByteBuffer putInt (int value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Int (this, position (), limit , value);
+ inc_pos (4);
+ return this;
+ }
+
+ final public int getInt (int index)
+ {
+ int a = nio_get_Int (this, index, limit ());
+ return a;
+ }
+
+ final public ByteBuffer putInt (int index, int value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Int(this, index, limit (), value);
+ return this;
+ }
+
+ final public long getLong ()
+ {
+ long a = nio_get_Long (this, position (), limit ());
+ inc_pos (8);
+ return a;
+ }
+
+ final public ByteBuffer putLong (long value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Long (this, position (), limit (), value);
+ inc_pos (8);
+ return this;
+ }
+
+ final public long getLong (int index)
+ {
+ long a = nio_get_Long (this, index, limit ());
+ return a;
+ }
+
+ final public ByteBuffer putLong (int index, long value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Long (this, index, limit (), value);
+ return this;
+ }
+
+ final public float getFloat ()
+ {
+ float a = nio_get_Float (this, position (), limit ());
+ inc_pos (4);
+ return a;
+ }
+
+ final public ByteBuffer putFloat (float value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Float (this, position (), limit (), value);
+ inc_pos (4);
+ return this;
+ }
+
+ final public float getFloat (int index)
+ {
+ float a = nio_get_Float (this, index, limit ());
+ return a;
+ }
+
+ final public ByteBuffer putFloat (int index, float value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Float (this, index, limit(), value);
+ return this;
+ }
+
+ final public double getDouble ()
+ {
+ double a = nio_get_Double (this, position (), limit ());
+ inc_pos (8);
+ return a;
+ }
+
+ final public ByteBuffer putDouble (double value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Double (this, position(), limit (), value);
+ inc_pos (8);
+ return this;
+ }
+
+ final public double getDouble (int index)
+ {
+ return nio_get_Double (this, index, limit ());
+ }
+
+ final public ByteBuffer putDouble (int index, double value)
+ {
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
+ nio_put_Double (this, index, limit (), value);
+ return this;
+ }
}
diff --git a/libjava/gnu/java/nio/CharBufferImpl.java b/libjava/gnu/java/nio/CharBufferImpl.java
index 399dd6096b8..5126e28f096 100644
--- a/libjava/gnu/java/nio/CharBufferImpl.java
+++ b/libjava/gnu/java/nio/CharBufferImpl.java
@@ -40,101 +40,65 @@ package gnu.java.nio;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
+import java.nio.ReadOnlyBufferException;
+/**
+ * This is a Heap memory implementation
+ */
public final class CharBufferImpl extends CharBuffer
{
- private boolean ro;
+ private boolean readOnly;
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
-
public CharBufferImpl(int cap, int off, int lim)
{
- this.backing_buffer = new char[cap];
- this.cap = cap;
- this.limit(lim);
- this.position(off);
+ super (cap, lim, off, 0);
+ this.backing_buffer = new char [cap];
+ readOnly = false;
}
- public CharBufferImpl(char[] array, int off, int lim)
+ public CharBufferImpl(char[] array, int offset, int length)
{
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
- this.cap = array.length;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
public CharBufferImpl (CharBufferImpl copy)
{
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
- ro = copy.ro;
- limit (copy.limit());
- position (copy.position ());
+ readOnly = copy.isReadOnly ();
}
- void inc_pos (int a)
+ private static native char[] nio_cast (byte[] copy);
+
+ CharBufferImpl (byte[] copy)
{
- position (position () + a);
+ super (copy.length / 2, copy.length / 2, 0, 0);
+ this.backing_buffer = (copy != null ? nio_cast (copy) : null);
+ readOnly = false;
}
- CharBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native byte nio_get_Byte(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Byte(CharBufferImpl b, int index, int limit, byte value);
- public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/2); return res; }
-
- CharBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Char(CharBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; }
-
- CharBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Short(CharBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; }
-
- CharBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Int(CharBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; }
-
- CharBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Long(CharBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; }
+ private static native byte nio_get_Byte (CharBufferImpl b, int index, int limit);
- CharBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Float(CharBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; }
+ private static native void nio_put_Byte (CharBufferImpl b, int index, int limit, byte value);
- CharBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(CharBufferImpl b, int index, int limit);
- private static native void nio_put_Double(CharBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; }
-
- private static native char[] nio_cast(byte[]copy);
- private static native char[] nio_cast(char[]copy);
- private static native char[] nio_cast(short[]copy);
- private static native char[] nio_cast(long[]copy);
- private static native char[] nio_cast(int[]copy);
- private static native char[] nio_cast(float[]copy);
- private static native char[] nio_cast(double[]copy);
+ public ByteBuffer asByteBuffer ()
+ {
+ ByteBufferImpl res = new ByteBufferImpl (backing_buffer);
+ res.limit ((limit () * 1) / 2);
+ return res;
+ }
public boolean isReadOnly()
{
- return ro;
+ return readOnly;
}
public CharBuffer slice()
{
- CharBufferImpl buffer = new CharBufferImpl (this);
- buffer.array_offset = position ();
- return buffer;
+ return new CharBufferImpl (this);
}
public CharBuffer duplicate()
@@ -144,9 +108,9 @@ public final class CharBufferImpl extends CharBuffer
public CharBuffer asReadOnlyBuffer()
{
- CharBufferImpl a = new CharBufferImpl(this);
- a.ro = true;
- return a;
+ CharBufferImpl result = new CharBufferImpl (this);
+ result.readOnly = true;
+ return result;
}
public CharBuffer compact()
@@ -156,7 +120,7 @@ public final class CharBufferImpl extends CharBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public CharSequence subSequence (int start, int end)
@@ -172,6 +136,9 @@ public final class CharBufferImpl extends CharBuffer
position () + end);
}
+ /**
+ * Relative get method. Reads the next character from the buffer.
+ */
final public char get()
{
char e = backing_buffer[position()];
@@ -179,27 +146,54 @@ public final class CharBufferImpl extends CharBuffer
return e;
}
+ /**
+ * Relative put method. Writes <code>value</code> to the next position
+ * in the buffer.
+ *
+ * @exception ReadOnlyBufferException If this buffer is read-only.
+ */
final public CharBuffer put(char b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
}
-
- final public char getChar() { return get(); } final public CharBuffer putChar(char value) { return put(value); } final public char getChar(int index) { return get(index); } final public CharBuffer putChar(int index, char value) { return put(index, value); };
- final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public CharBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public CharBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; };
- final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public CharBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public CharBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; };
- final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public CharBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public CharBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; };
- final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public CharBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public CharBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; };
- final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public CharBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public CharBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; };
+ /**
+ * Absolute get method. Reads the character at position <code>index</code>.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit.
+ */
final public char get(int index)
{
+ if (index < 0
+ || index >= limit ())
+ throw new IndexOutOfBoundsException ();
+
return backing_buffer[index];
}
+ /**
+ * Absolute put method. Writes <code>value</value> to position
+ * <code>index</code> in the buffer.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
+ */
final public CharBuffer put(int index, char b)
{
+ if (index < 0
+ || index >= limit ())
+ throw new IndexOutOfBoundsException ();
+
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
@@ -207,6 +201,6 @@ public final class CharBufferImpl extends CharBuffer
public final ByteOrder order()
{
- return endian;
+ return ByteOrder.BIG_ENDIAN;
}
}
diff --git a/libjava/gnu/java/nio/DoubleBufferImpl.java b/libjava/gnu/java/nio/DoubleBufferImpl.java
index de0e6717fd0..f4dffc2d8f4 100644
--- a/libjava/gnu/java/nio/DoubleBufferImpl.java
+++ b/libjava/gnu/java/nio/DoubleBufferImpl.java
@@ -38,100 +38,66 @@ exception statement from your version. */
package gnu.java.nio;
import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
+import java.nio.ByteOrder;
import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
+import java.nio.ReadOnlyBufferException;
+/**
+ * This is a Heap memory implementation
+ */
public final class DoubleBufferImpl extends DoubleBuffer
{
- private int array_offset;
- private boolean ro;
+ private boolean readOnly;
public DoubleBufferImpl(int cap, int off, int lim)
{
+ super (cap, lim, off, 0);
this.backing_buffer = new double[cap];
- this.cap = cap;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
- public DoubleBufferImpl(double[] array, int off, int lim)
+ public DoubleBufferImpl(double[] array, int offset, int length)
{
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
- this.cap = array.length;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
public DoubleBufferImpl(DoubleBufferImpl copy)
{
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
- ro = copy.ro;
- limit(copy.limit());
- position(copy.position());
+ readOnly = copy.isReadOnly ();
}
- void inc_pos(int a)
+ DoubleBufferImpl (byte[] copy)
{
- position(position() + a);
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
}
-
- DoubleBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native byte nio_get_Byte(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Byte(DoubleBufferImpl b, int index, int limit, byte value);
- public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/8); return res; }
-
- DoubleBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Char(DoubleBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/8); return res; }
-
- DoubleBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Short(DoubleBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/8); return res; }
- DoubleBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Int(DoubleBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/8); return res; }
+ private static native byte nio_get_Byte (DoubleBufferImpl b, int index, int limit);
- DoubleBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Long(DoubleBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/8); return res; }
+ private static native void nio_put_Byte (DoubleBufferImpl b, int index, int limit, byte value);
- DoubleBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Float(DoubleBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/8); return res; }
-
- DoubleBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(DoubleBufferImpl b, int index, int limit);
- private static native void nio_put_Double(DoubleBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/8); return res; }
+ public ByteBuffer asByteBuffer ()
+ {
+ ByteBufferImpl res = new ByteBufferImpl (backing_buffer);
+ res.limit ((limit () * 1) / 8);
+ return res;
+ }
- private static native double[] nio_cast(byte[]copy);
- private static native double[] nio_cast(char[]copy);
- private static native double[] nio_cast(short[]copy);
- private static native double[] nio_cast(long[]copy);
- private static native double[] nio_cast(int[]copy);
- private static native double[] nio_cast(float[]copy);
- private static native double[] nio_cast(double[]copy);
+ private static native double[] nio_cast (byte[] copy);
- public boolean isReadOnly()
+ public boolean isReadOnly ()
{
- return ro;
+ return readOnly;
}
- public DoubleBuffer slice()
+ public DoubleBuffer slice ()
{
- DoubleBufferImpl A = new DoubleBufferImpl(this);
- A.array_offset = position();
- return A;
+ return new DoubleBufferImpl (this);
}
public DoubleBuffer duplicate()
@@ -141,9 +107,9 @@ public final class DoubleBufferImpl extends DoubleBuffer
public DoubleBuffer asReadOnlyBuffer()
{
- DoubleBufferImpl a = new DoubleBufferImpl(this);
- a.ro = true;
- return a;
+ DoubleBufferImpl result = new DoubleBufferImpl (this);
+ result.readOnly = true;
+ return result;
}
public DoubleBuffer compact()
@@ -153,7 +119,7 @@ public final class DoubleBufferImpl extends DoubleBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public double get()
@@ -165,6 +131,9 @@ public final class DoubleBufferImpl extends DoubleBuffer
final public DoubleBuffer put(double b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
@@ -177,14 +146,15 @@ public final class DoubleBufferImpl extends DoubleBuffer
final public DoubleBuffer put(int index, double b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
-
- final public char getChar() { char a = nio_get_Char(this, position(), limit()); inc_pos(2); return a; } final public DoubleBuffer putChar(char value) { nio_put_Char(this, position(), limit(), value); inc_pos(2); return this; } final public char getChar(int index) { char a = nio_get_Char(this, index, limit()); return a; } final public DoubleBuffer putChar(int index, char value) { nio_put_Char(this, index, limit(), value); return this; };
- final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public DoubleBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public DoubleBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; };
- final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public DoubleBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public DoubleBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; };
- final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public DoubleBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public DoubleBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; };
- final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public DoubleBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public DoubleBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; };
- final public double getDouble() { return get(); } final public DoubleBuffer putDouble(double value) { return put(value); } final public double getDouble(int index) { return get(index); } final public DoubleBuffer putDouble(int index, double value) { return put(index, value); };
+
+ final public ByteOrder order ()
+ {
+ return ByteOrder.BIG_ENDIAN;
+ }
}
diff --git a/libjava/gnu/java/nio/FileChannelImpl.java b/libjava/gnu/java/nio/FileChannelImpl.java
index 26b48e5e51c..31779bbc64e 100644
--- a/libjava/gnu/java/nio/FileChannelImpl.java
+++ b/libjava/gnu/java/nio/FileChannelImpl.java
@@ -44,7 +44,13 @@ import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
+import java.nio.channels.ClosedChannelException;
import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.NonReadableChannelException;
+import java.nio.channels.NonWritableChannelException;
+import java.nio.channels.ReadableByteChannel;
+import java.nio.channels.WritableByteChannel;
/**
* This file is not user visible !
@@ -66,11 +72,7 @@ public class FileChannelImpl extends FileChannel
* This method came from java.io.RandomAccessFile
* It is private there so we will repeat it here.
*/
-// private native long lengthInternal (int native_fd) throws IOException;
- private long lengthInternal (int native_fd) throws IOException
- {
- return 0;
- };
+ private native long lengthInternal (int native_fd) throws IOException;
public FileChannelImpl (int fd, Object obj)
{
@@ -80,39 +82,42 @@ public class FileChannelImpl extends FileChannel
public long size () throws IOException
{
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
return lengthInternal (fd);
}
- protected void implCloseChannel() throws IOException
+ protected void implCloseChannel() throws IOException
{
if (address != 0)
- {
+ {
nio_unmmap_file (fd, address, (int) length);
- }
+ address = 0;
+ }
// FIXME
fd = 0;
if (file_obj instanceof RandomAccessFile)
- {
+ {
RandomAccessFile o = (RandomAccessFile) file_obj;
o.close();
- }
+ }
else if (file_obj instanceof FileInputStream)
- {
+ {
FileInputStream o = (FileInputStream) file_obj;
o.close();
- }
+ }
else if (file_obj instanceof FileOutputStream)
- {
+ {
FileOutputStream o = (FileOutputStream) file_obj;
o.close();
- }
+ }
}
public int read (ByteBuffer dst) throws IOException
{
- int w = 0;
int s = (int)size();
if (buf == null)
@@ -128,9 +133,18 @@ public class FileChannelImpl extends FileChannel
return s;
}
- public long read (ByteBuffer[] dsts) throws IOException
+ public int read (ByteBuffer dst, long position)
+ throws IOException
{
- return read (dsts, 0, dsts.length);
+ if (position < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME: check for NonReadableChannelException
+
+ throw new Error ("Not implemented");
}
public long read (ByteBuffer[] dsts, int offset, int length)
@@ -164,6 +178,20 @@ public class FileChannelImpl extends FileChannel
return w;
}
+ public int write (ByteBuffer src, long position)
+ throws IOException
+ {
+ if (position < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME: check for NonWritableChannelException
+
+ throw new Error ("Not implemented");
+ }
+
public long write(ByteBuffer[] srcs, int offset, int length)
throws IOException
{
@@ -173,13 +201,22 @@ public class FileChannelImpl extends FileChannel
{
res += write (srcs[i]);
}
- return res;
- }
+
+ return res;
+ }
public MappedByteBuffer map (FileChannel.MapMode mode, long position,
long size)
throws IOException
{
+ if ((mode != MapMode.READ_ONLY
+ && mode != MapMode.READ_WRITE
+ && mode != MapMode.PRIVATE)
+ || position < 0
+ || size < 0
+ || size > Integer.MAX_VALUE)
+ throw new IllegalArgumentException ();
+
// int cmode = mode.m;
// address = nio_mmap_file (fd, position, size, cmode);
// length = size;
@@ -208,27 +245,113 @@ public class FileChannelImpl extends FileChannel
/**
* msync with the disk
*/
- public void force (boolean metaData)
+ public void force (boolean metaData) throws IOException
{
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME: What to do with metaData ?
+
nio_msync (fd, address, length);
}
-// static native long nio_mmap_file (int fd, long pos, int size, int mode);
+ public long transferTo (long position, long count, WritableByteChannel target)
+ throws IOException
+ {
+ if (position < 0
+ || count < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME: check for NonReadableChannelException
+ // FIXME: check for NonWritableChannelException
+
+ throw new Error ("Not implemented");
+ }
+
+ public long transferFrom (ReadableByteChannel src, long position, long count)
+ throws IOException
+ {
+ if (position < 0
+ || count < 0)
+ throw new IllegalArgumentException ();
-// static native void nio_unmmap_file (int fd, long address, int size);
+ if (!isOpen ())
+ throw new ClosedChannelException ();
-// static native void nio_msync (int fd, long address, int length);
+ // FIXME: check for NonReadableChannelException
+ // FIXME: check for NonWritableChannelException
+
+ throw new Error ("Not implemented");
+ }
- static long nio_mmap_file (int fd, long pos, int size, int mode)
+ public FileLock lock (long position, long size, boolean shared)
+ throws IOException
{
- return 0;
+ if (position < 0
+ || size < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME: check for NonReadableChannelException
+ // FIXME: check for NonWritableChannelException
+
+ throw new Error ("Not implemented");
}
+
+ public FileLock tryLock (long position, long size, boolean shared)
+ throws IOException
+ {
+ if (position < 0
+ || size < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
- static void nio_unmmap_file (int fd, long address, int size)
+ throw new Error ("Not implemented");
+ }
+
+ public long position ()
+ throws IOException
+ {
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ throw new Error ("not implemented");
+ }
+
+ public FileChannel position (long newPosition)
+ throws IOException
{
- };
+ if (newPosition < 0)
+ throw new IllegalArgumentException ();
- static void nio_msync (int fd, long address, int length)
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ throw new Error ("not implemented");
+ }
+
+ public FileChannel truncate (long size)
+ throws IOException
{
- };
+ if (size < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME: check for NonWritableChannelException
+
+ throw new Error ("not implemented");
+ }
+
+ private static native long nio_mmap_file (int fd, long pos, int size, int mode);
+ private static native void nio_unmmap_file (int fd, long address, int size);
+ private static native void nio_msync (int fd, long address, int length);
}
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
new file mode 100644
index 00000000000..2e55f6bb657
--- /dev/null
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -0,0 +1,63 @@
+/* FileChannelImpl.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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 Classpath 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 Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+
+/**
+ * @author Michael Koch
+ */
+public class FileLockImpl extends FileLock
+{
+ public FileLockImpl (FileChannel channel, long position, long size,
+ boolean shared)
+ {
+ super (channel, position, size, shared);
+ }
+
+ public boolean isValid ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public void release ()
+ {
+ throw new Error ("Not implemented");
+ }
+}
diff --git a/libjava/gnu/java/nio/FloatBufferImpl.java b/libjava/gnu/java/nio/FloatBufferImpl.java
index bab47425f1d..6c77103bb2f 100644
--- a/libjava/gnu/java/nio/FloatBufferImpl.java
+++ b/libjava/gnu/java/nio/FloatBufferImpl.java
@@ -38,49 +38,49 @@ exception statement from your version. */
package gnu.java.nio;
import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
+import java.nio.ByteOrder;
import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
+import java.nio.ReadOnlyBufferException;
+/**
+ * This is a Heap memory implementation
+ */
public final class FloatBufferImpl extends FloatBuffer
{
- private int array_offset;
- private boolean ro;
+ private boolean readOnly;
public FloatBufferImpl(int cap, int off, int lim)
{
- this.backing_buffer = new float[cap];
- this.cap = cap;
- this.limit(lim);
- this.position(off);
+ super (cap, lim, off, 0);
+ this.backing_buffer = new float [cap];
+ readOnly = false;
}
- public FloatBufferImpl(float[] array, int off, int lim)
+ public FloatBufferImpl(float[] array, int offset, int length)
{
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
- this.cap = array.length;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
public FloatBufferImpl(FloatBufferImpl copy)
{
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
- ro = copy.ro;
- limit(copy.limit());
- position(copy.position());
+ readOnly = copy.isReadOnly ();
}
- void inc_pos(int a)
+ private static native float[] nio_cast (byte[] copy);
+
+ FloatBufferImpl (byte[] copy)
{
- position(position() + a);
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
}
-
- FloatBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast (copy) : null; }
+
private static native byte nio_get_Byte (FloatBufferImpl b, int index, int limit);
+
private static native void nio_put_Byte (FloatBufferImpl b, int index, int limit, byte value);
public ByteBuffer asByteBuffer()
@@ -90,54 +90,14 @@ public final class FloatBufferImpl extends FloatBuffer
return res;
}
- FloatBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(FloatBufferImpl b, int index, int limit);
- private static native void nio_put_Char(FloatBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/4); return res; }
-
- FloatBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(FloatBufferImpl b, int index, int limit);
- private static native void nio_put_Short(FloatBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/4); return res; }
-
- FloatBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(FloatBufferImpl b, int index, int limit);
- private static native void nio_put_Int(FloatBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/4); return res; }
-
- FloatBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(FloatBufferImpl b, int index, int limit);
- private static native void nio_put_Long(FloatBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/4); return res; }
-
- FloatBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(FloatBufferImpl b, int index, int limit);
- private static native void nio_put_Float(FloatBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/4); return res; }
-
- FloatBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(FloatBufferImpl b, int index, int limit);
- private static native void nio_put_Double(FloatBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/4); return res; }
-
- private static native float[] nio_cast(byte[]copy);
- private static native float[] nio_cast(char[]copy);
- private static native float[] nio_cast(short[]copy);
- private static native float[] nio_cast(long[]copy);
- private static native float[] nio_cast(int[]copy);
- private static native float[] nio_cast(float[]copy);
- private static native float[] nio_cast(double[]copy);
-
- public boolean isReadOnly()
+ public boolean isReadOnly ()
{
- return ro;
+ return readOnly;
}
public FloatBuffer slice()
{
- FloatBufferImpl A = new FloatBufferImpl(this);
- A.array_offset = position();
- return A;
+ return new FloatBufferImpl (this);
}
public FloatBuffer duplicate()
@@ -147,9 +107,9 @@ public final class FloatBufferImpl extends FloatBuffer
public FloatBuffer asReadOnlyBuffer()
{
- FloatBufferImpl a = new FloatBufferImpl(this);
- a.ro = true;
- return a;
+ FloatBufferImpl result = new FloatBufferImpl (this);
+ result.readOnly = true;
+ return result;
}
public FloatBuffer compact()
@@ -159,7 +119,7 @@ public final class FloatBufferImpl extends FloatBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public float get()
@@ -171,6 +131,9 @@ public final class FloatBufferImpl extends FloatBuffer
final public FloatBuffer put(float b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
@@ -183,14 +146,15 @@ public final class FloatBufferImpl extends FloatBuffer
final public FloatBuffer put(int index, float b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
- final public char getChar() { char a = nio_get_Char(this, position(), limit()); inc_pos(2); return a; } final public FloatBuffer putChar(char value) { nio_put_Char(this, position(), limit(), value); inc_pos(2); return this; } final public char getChar(int index) { char a = nio_get_Char(this, index, limit()); return a; } final public FloatBuffer putChar(int index, char value) { nio_put_Char(this, index, limit(), value); return this; };
- final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public FloatBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public FloatBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; };
- final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public FloatBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public FloatBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; };
- final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public FloatBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public FloatBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; };
- final public float getFloat() { return get(); } final public FloatBuffer putFloat(float value) { return put(value); } final public float getFloat(int index) { return get(index); } final public FloatBuffer putFloat(int index, float value) { return put(index, value); };
- final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public FloatBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public FloatBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; };
+ final public ByteOrder order ()
+ {
+ return ByteOrder.BIG_ENDIAN;
+ }
}
diff --git a/libjava/gnu/java/nio/IntBufferImpl.java b/libjava/gnu/java/nio/IntBufferImpl.java
index cccc418487c..d9f80636aa6 100644
--- a/libjava/gnu/java/nio/IntBufferImpl.java
+++ b/libjava/gnu/java/nio/IntBufferImpl.java
@@ -38,100 +38,66 @@ exception statement from your version. */
package gnu.java.nio;
import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
+import java.nio.ByteOrder;
import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
+import java.nio.ReadOnlyBufferException;
+/**
+ * This is a Heap memory implementation
+ */
public final class IntBufferImpl extends IntBuffer
{
- private int array_offset;
- private boolean ro;
+ private boolean readOnly;
public IntBufferImpl(int cap, int off, int lim)
{
+ super (cap, lim, off, 0);
this.backing_buffer = new int[cap];
- this.cap = cap;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
- public IntBufferImpl(int[] array, int off, int lim)
+ public IntBufferImpl(int[] array, int offset, int length)
{
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
- this.cap = array.length;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
public IntBufferImpl(IntBufferImpl copy)
{
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
- ro = copy.ro;
- limit(copy.limit());
- position(copy.position());
+ readOnly = copy.isReadOnly ();
}
- void inc_pos(int a)
+ private static native int[] nio_cast (byte[] copy);
+
+ IntBufferImpl (byte[] copy)
{
- position(position() + a);
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
}
- IntBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native byte nio_get_Byte(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Byte(IntBufferImpl b, int index, int limit, byte value);
- public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/4); return res; }
-
- IntBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Char(IntBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/4); return res; }
-
- IntBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Short(IntBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/4); return res; }
-
- IntBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Int(IntBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/4); return res; }
-
- IntBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Long(IntBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/4); return res; }
-
- IntBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Float(IntBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/4); return res; }
+ private static native byte nio_get_Byte (IntBufferImpl b, int index, int limit);
- IntBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(IntBufferImpl b, int index, int limit);
- private static native void nio_put_Double(IntBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/4); return res; }
+ private static native void nio_put_Byte (IntBufferImpl b, int index, int limit, byte value);
- private static native int[] nio_cast(byte[]copy);
- private static native int[] nio_cast(char[]copy);
- private static native int[] nio_cast(short[]copy);
- private static native int[] nio_cast(long[]copy);
- private static native int[] nio_cast(int[]copy);
- private static native int[] nio_cast(float[]copy);
- private static native int[] nio_cast(double[]copy);
+ public ByteBuffer asByteBuffer ()
+ {
+ ByteBufferImpl res = new ByteBufferImpl (backing_buffer);
+ res.limit ((limit () * 1) / 4);
+ return res;
+ }
public boolean isReadOnly()
{
- return ro;
+ return readOnly;
}
public IntBuffer slice()
{
- IntBufferImpl A = new IntBufferImpl(this);
- A.array_offset = position();
- return A;
+ return new IntBufferImpl (this);
}
public IntBuffer duplicate()
@@ -141,9 +107,9 @@ public final class IntBufferImpl extends IntBuffer
public IntBuffer asReadOnlyBuffer()
{
- IntBufferImpl a = new IntBufferImpl(this);
- a.ro = true;
- return a;
+ IntBufferImpl result = new IntBufferImpl (this);
+ result.readOnly = true;
+ return result;
}
public IntBuffer compact()
@@ -153,7 +119,7 @@ public final class IntBufferImpl extends IntBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public int get()
@@ -165,6 +131,9 @@ public final class IntBufferImpl extends IntBuffer
final public IntBuffer put(int b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
@@ -177,14 +146,15 @@ public final class IntBufferImpl extends IntBuffer
final public IntBuffer put(int index, int b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
-
- final public char getChar() { char a = nio_get_Char(this, position(), limit()); inc_pos(2); return a; } final public IntBuffer putChar(char value) { nio_put_Char(this, position(), limit(), value); inc_pos(2); return this; } final public char getChar(int index) { char a = nio_get_Char(this, index, limit()); return a; } final public IntBuffer putChar(int index, char value) { nio_put_Char(this, index, limit(), value); return this; };
- final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public IntBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public IntBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; };
- final public int getInt() { return get(); } final public IntBuffer putInt(int value) { return put(value); } final public int getInt(int index) { return get(index); } final public IntBuffer putInt(int index, int value) { return put(index, value); };
- final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public IntBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public IntBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; };
- final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public IntBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public IntBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; };
- final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public IntBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public IntBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; };
+
+ final public ByteOrder order ()
+ {
+ return ByteOrder.BIG_ENDIAN;
+ }
}
diff --git a/libjava/gnu/java/nio/LongBufferImpl.java b/libjava/gnu/java/nio/LongBufferImpl.java
index 8f29b06939f..e17f4870b09 100644
--- a/libjava/gnu/java/nio/LongBufferImpl.java
+++ b/libjava/gnu/java/nio/LongBufferImpl.java
@@ -38,100 +38,66 @@ exception statement from your version. */
package gnu.java.nio;
import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
+import java.nio.ByteOrder;
import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
+import java.nio.ReadOnlyBufferException;
+/**
+ * This is a Heap memory implementation
+ */
public final class LongBufferImpl extends LongBuffer
{
- private int array_offset;
- private boolean ro;
+ private boolean readOnly;
public LongBufferImpl(int cap, int off, int lim)
{
+ super (cap, lim, off, 0);
this.backing_buffer = new long[cap];
- this.cap = cap ;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
- public LongBufferImpl(long[] array, int off, int lim)
+ public LongBufferImpl(long[] array, int offset, int length)
{
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
- this.cap = array.length;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
public LongBufferImpl(LongBufferImpl copy)
{
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
- ro = copy.ro;
- limit(copy.limit());
- position(copy.position());
+ readOnly = copy.isReadOnly ();
}
- void inc_pos(int a)
+ private static native long[] nio_cast (byte[] copy);
+
+ LongBufferImpl (byte[] copy)
{
- position(position() + a);
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
}
- LongBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native byte nio_get_Byte(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Byte(LongBufferImpl b, int index, int limit, byte value);
- public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/8); return res; }
-
- LongBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Char(LongBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/8); return res; }
-
- LongBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Short(LongBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/8); return res; }
-
- LongBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Int(LongBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/8); return res; }
-
- LongBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Long(LongBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/8); return res; }
+ private static native byte nio_get_Byte (LongBufferImpl b, int index, int limit);
- LongBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Float(LongBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/8); return res; }
+ private static native void nio_put_Byte (LongBufferImpl b, int index, int limit, byte value);
- LongBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(LongBufferImpl b, int index, int limit);
- private static native void nio_put_Double(LongBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/8); return res; }
-
- private static native long[] nio_cast(byte[]copy);
- private static native long[] nio_cast(char[]copy);
- private static native long[] nio_cast(short[]copy);
- private static native long[] nio_cast(long[]copy);
- private static native long[] nio_cast(int[]copy);
- private static native long[] nio_cast(float[]copy);
- private static native long[] nio_cast(double[]copy);
+ public ByteBuffer asByteBuffer ()
+ {
+ ByteBufferImpl res = new ByteBufferImpl (backing_buffer);
+ res.limit ((limit () * 1) / 8);
+ return res;
+ }
public boolean isReadOnly()
{
- return ro;
+ return readOnly;
}
public LongBuffer slice()
{
- LongBufferImpl A = new LongBufferImpl(this);
- A.array_offset = position();
- return A;
+ return new LongBufferImpl (this);
}
public LongBuffer duplicate()
@@ -141,9 +107,9 @@ public final class LongBufferImpl extends LongBuffer
public LongBuffer asReadOnlyBuffer()
{
- LongBufferImpl a = new LongBufferImpl(this);
- a.ro = true;
- return a;
+ LongBufferImpl result = new LongBufferImpl (this);
+ result.readOnly = true;
+ return result;
}
public LongBuffer compact()
@@ -153,7 +119,7 @@ public final class LongBufferImpl extends LongBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public long get()
@@ -165,6 +131,9 @@ public final class LongBufferImpl extends LongBuffer
final public LongBuffer put(long b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
@@ -177,14 +146,15 @@ public final class LongBufferImpl extends LongBuffer
final public LongBuffer put(int index, long b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
- final public char getChar() { char a = nio_get_Char(this, position(), limit()); inc_pos(2); return a; } final public LongBuffer putChar(char value) { nio_put_Char(this, position(), limit(), value); inc_pos(2); return this; } final public char getChar(int index) { char a = nio_get_Char(this, index, limit()); return a; } final public LongBuffer putChar(int index, char value) { nio_put_Char(this, index, limit(), value); return this; };
- final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public LongBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public LongBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; };
- final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public LongBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public LongBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; };
- final public long getLong() { return get(); } final public LongBuffer putLong(long value) { return put(value); } final public long getLong(int index) { return get(index); } final public LongBuffer putLong(int index, long value) { return put(index, value); };
- final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public LongBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public LongBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; };
- final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public LongBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public LongBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; };
+ final public ByteOrder order ()
+ {
+ return ByteOrder.BIG_ENDIAN;
+ }
}
diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.java b/libjava/gnu/java/nio/SelectorProviderImpl.java
index 3fedfc73546..d58e10a010e 100644
--- a/libjava/gnu/java/nio/SelectorProviderImpl.java
+++ b/libjava/gnu/java/nio/SelectorProviderImpl.java
@@ -37,6 +37,7 @@ exception statement from your version. */
package gnu.java.nio;
+import java.io.IOException;
import java.nio.channels.DatagramChannel;
import java.nio.channels.Pipe;
import java.nio.channels.ServerSocketChannel;
@@ -51,26 +52,31 @@ public class SelectorProviderImpl extends SelectorProvider
}
public DatagramChannel openDatagramChannel ()
+ throws IOException
{
return new DatagramChannelImpl (this);
}
public Pipe openPipe ()
+ throws IOException
{
return new PipeImpl ();
}
public AbstractSelector openSelector ()
+ throws IOException
{
return new SelectorImpl (this);
}
public ServerSocketChannel openServerSocketChannel ()
+ throws IOException
{
return new ServerSocketChannelImpl (this);
}
public SocketChannel openSocketChannel ()
+ throws IOException
{
return new SocketChannelImpl (this);
}
diff --git a/libjava/gnu/java/nio/ServerSocketChannelImpl.java b/libjava/gnu/java/nio/ServerSocketChannelImpl.java
index 4a51f2a4b61..039b50308d6 100644
--- a/libjava/gnu/java/nio/ServerSocketChannelImpl.java
+++ b/libjava/gnu/java/nio/ServerSocketChannelImpl.java
@@ -54,10 +54,8 @@ class ServerSocketChannelImpl extends ServerSocketChannel
boolean connected = false;
// InetSocketAddress sa;
- private static native int SocketAccept (ServerSocketChannelImpl server,
- SocketChannelImpl s);
-
protected ServerSocketChannelImpl (SelectorProvider provider)
+ throws IOException
{
super (provider);
fd = SocketChannelImpl.SocketCreate ();
@@ -86,14 +84,14 @@ class ServerSocketChannelImpl extends ServerSocketChannel
}
}
- protected void implCloseSelectableChannel ()
+ protected void implCloseSelectableChannel () throws IOException
{
connected = false;
SocketChannelImpl.SocketClose (fd);
fd = SocketChannelImpl.SocketCreate ();
}
- protected void implConfigureBlocking (boolean block)
+ protected void implConfigureBlocking (boolean block) throws IOException
{
blocking = block;
}
@@ -102,7 +100,7 @@ class ServerSocketChannelImpl extends ServerSocketChannel
{
SocketChannelImpl result = new SocketChannelImpl (provider ());
result.sa = new InetSocketAddress (0);
- int res = SocketAccept (this,result);
+ //int res = SocketAccept (this,result);
return result;
}
diff --git a/libjava/gnu/java/nio/ShortBufferImpl.java b/libjava/gnu/java/nio/ShortBufferImpl.java
index bccb2d0f65a..e4c9a060539 100644
--- a/libjava/gnu/java/nio/ShortBufferImpl.java
+++ b/libjava/gnu/java/nio/ShortBufferImpl.java
@@ -38,100 +38,66 @@ exception statement from your version. */
package gnu.java.nio;
import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
+import java.nio.ByteOrder;
import java.nio.ShortBuffer;
+import java.nio.ReadOnlyBufferException;
+/**
+ * This is a Heap memory implementation
+ */
public final class ShortBufferImpl extends ShortBuffer
{
- private int array_offset;
- private boolean ro;
+ private boolean readOnly;
public ShortBufferImpl(int cap, int off, int lim)
{
- this.backing_buffer = new short[cap];
- this.cap = cap ;
- this.limit(lim);
- this.position(off);
+ super (cap, lim, off, 0);
+ this.backing_buffer = new short [cap];
+ readOnly = false;
}
- public ShortBufferImpl(short[] array, int off, int lim)
+ public ShortBufferImpl(short[] array, int offset, int length)
{
+ super (array.length, length, offset, 0);
this.backing_buffer = array;
- this.cap = array.length;
- this.limit(lim);
- this.position(off);
+ readOnly = false;
}
public ShortBufferImpl(ShortBufferImpl copy)
{
+ super (copy.capacity (), copy.limit (), copy.position (), 0);
backing_buffer = copy.backing_buffer;
- ro = copy.ro;
- limit(copy.limit());
- position(copy.position());
+ readOnly = copy.isReadOnly ();
}
- void inc_pos(int a)
+ private static native short[] nio_cast (byte[] copy);
+
+ ShortBufferImpl (byte[] copy)
{
- position(position() + a);
+ super (copy.length, copy.length, 0, 0);
+ this.backing_buffer = copy != null ? nio_cast (copy) : null;
+ readOnly = false;
+ }
+
+ private static native byte nio_get_Byte (ShortBufferImpl b, int index, int limit);
+
+ private static native void nio_put_Byte (ShortBufferImpl b, int index, int limit, byte value);
+
+ public ByteBuffer asByteBuffer ()
+ {
+ ByteBufferImpl res = new ByteBufferImpl (backing_buffer);
+ res.limit ((limit () * 1) / 2);
+ return res;
}
-
- ShortBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native byte nio_get_Byte(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Byte(ShortBufferImpl b, int index, int limit, byte value);
- public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/2); return res; }
-
- ShortBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native char nio_get_Char(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Char(ShortBufferImpl b, int index, int limit, char value);
- public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; }
-
- ShortBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native short nio_get_Short(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Short(ShortBufferImpl b, int index, int limit, short value);
- public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; }
-
- ShortBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native int nio_get_Int(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Int(ShortBufferImpl b, int index, int limit, int value);
- public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; }
-
- ShortBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native long nio_get_Long(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Long(ShortBufferImpl b, int index, int limit, long value);
- public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; }
-
- ShortBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native float nio_get_Float(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Float(ShortBufferImpl b, int index, int limit, float value);
- public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; }
-
- ShortBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; }
- private static native double nio_get_Double(ShortBufferImpl b, int index, int limit);
- private static native void nio_put_Double(ShortBufferImpl b, int index, int limit, double value);
- public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; }
-
- private static native short[] nio_cast(byte[]copy);
- private static native short[] nio_cast(char[]copy);
- private static native short[] nio_cast(short[]copy);
- private static native short[] nio_cast(long[]copy);
- private static native short[] nio_cast(int[]copy);
- private static native short[] nio_cast(float[]copy);
- private static native short[] nio_cast(double[]copy);
public boolean isReadOnly()
{
- return ro;
+ return readOnly;
}
public ShortBuffer slice()
{
- ShortBufferImpl a = new ShortBufferImpl(this);
- a.array_offset = position();
- return a;
+ return new ShortBufferImpl (this);
}
public ShortBuffer duplicate()
@@ -141,9 +107,9 @@ public final class ShortBufferImpl extends ShortBuffer
public ShortBuffer asReadOnlyBuffer()
{
- ShortBufferImpl a = new ShortBufferImpl(this);
- a.ro = true;
- return a;
+ ShortBufferImpl result = new ShortBufferImpl (this);
+ result.readOnly = true;
+ return result;
}
public ShortBuffer compact()
@@ -153,7 +119,7 @@ public final class ShortBufferImpl extends ShortBuffer
public boolean isDirect()
{
- return backing_buffer != null;
+ return false;
}
final public short get()
@@ -165,6 +131,9 @@ public final class ShortBufferImpl extends ShortBuffer
final public ShortBuffer put(short b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[position()] = b;
position(position()+1);
return this;
@@ -177,14 +146,15 @@ public final class ShortBufferImpl extends ShortBuffer
final public ShortBuffer put(int index, short b)
{
+ if (readOnly)
+ throw new ReadOnlyBufferException ();
+
backing_buffer[index] = b;
return this;
}
-
- final public char getChar() { char a = nio_get_Char(this, position(), limit()); inc_pos(2); return a; } final public ShortBuffer putChar(char value) { nio_put_Char(this, position(), limit(), value); inc_pos(2); return this; } final public char getChar(int index) { char a = nio_get_Char(this, index, limit()); return a; } final public ShortBuffer putChar(int index, char value) { nio_put_Char(this, index, limit(), value); return this; };
- final public short getShort() { return get(); } final public ShortBuffer putShort(short value) { return put(value); } final public short getShort(int index) { return get(index); } final public ShortBuffer putShort(int index, short value) { return put(index, value); };
- final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public ShortBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public ShortBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; };
- final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public ShortBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public ShortBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; };
- final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public ShortBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public ShortBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; };
- final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public ShortBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public ShortBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; };
+
+ final public ByteOrder order ()
+ {
+ return ByteOrder.BIG_ENDIAN;
+ }
}
diff --git a/libjava/gnu/java/nio/natByteBufferImpl.cc b/libjava/gnu/java/nio/natByteBufferImpl.cc
index b98b694e87b..2bb1e41a622 100644
--- a/libjava/gnu/java/nio/natByteBufferImpl.cc
+++ b/libjava/gnu/java/nio/natByteBufferImpl.cc
@@ -1,3 +1,13 @@
+// natByteBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
diff --git a/libjava/gnu/java/nio/natCharBufferImpl.cc b/libjava/gnu/java/nio/natCharBufferImpl.cc
index 2d01a679bfa..9fb54e14561 100644
--- a/libjava/gnu/java/nio/natCharBufferImpl.cc
+++ b/libjava/gnu/java/nio/natCharBufferImpl.cc
@@ -1,3 +1,13 @@
+// natCharBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
@@ -11,115 +21,13 @@ gnu::java::nio::CharBufferImpl::nio_cast(JArray<jbyte>*)
return NULL;
}
-JArray<jchar>*
-gnu::java::nio::CharBufferImpl::nio_cast(JArray<jshort>*)
-{
- return NULL;
-}
-
-JArray<jchar>*
-gnu::java::nio::CharBufferImpl::nio_cast(JArray<jint>*)
-{
- return NULL;
-}
-
-JArray<jchar>*
-gnu::java::nio::CharBufferImpl::nio_cast(JArray<jlong>*)
-{
- return NULL;
-}
-
-JArray<jchar>*
-gnu::java::nio::CharBufferImpl::nio_cast(JArray<jchar>*)
-{
- return NULL;
-}
-
-JArray<jchar>*
-gnu::java::nio::CharBufferImpl::nio_cast(JArray<jfloat>*)
-{
- return NULL;
-}
-
-JArray<jchar>*
-gnu::java::nio::CharBufferImpl::nio_cast(JArray<jdouble>*)
-{
- return NULL;
-}
-
void
gnu::java::nio::CharBufferImpl::nio_put_Byte(gnu::java::nio::CharBufferImpl*, jint, jint, jbyte)
{
}
-void
-gnu::java::nio::CharBufferImpl::nio_put_Char(gnu::java::nio::CharBufferImpl*, jint, jint, jchar)
-{
-}
-
-void
-gnu::java::nio::CharBufferImpl::nio_put_Short(gnu::java::nio::CharBufferImpl*, jint, jint, jshort)
-{
-}
-
-void
-gnu::java::nio::CharBufferImpl::nio_put_Int(gnu::java::nio::CharBufferImpl*, jint, jint, jint)
-{
-}
-
-void
-gnu::java::nio::CharBufferImpl::nio_put_Long(gnu::java::nio::CharBufferImpl*, jint, jint, jlong)
-{
-}
-
-void
-gnu::java::nio::CharBufferImpl::nio_put_Float(gnu::java::nio::CharBufferImpl*, jint, jint, jfloat)
-{
-}
-
-void
-gnu::java::nio::CharBufferImpl::nio_put_Double(gnu::java::nio::CharBufferImpl*, jint, jint, jdouble)
-{
-}
-
jbyte
gnu::java::nio::CharBufferImpl::nio_get_Byte(gnu::java::nio::CharBufferImpl*, jint, jint)
{
return 0;
}
-
-jchar
-gnu::java::nio::CharBufferImpl::nio_get_Char(gnu::java::nio::CharBufferImpl*, jint, jint)
-{
- return ' ';
-}
-
-jshort
-gnu::java::nio::CharBufferImpl::nio_get_Short(gnu::java::nio::CharBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jint
-gnu::java::nio::CharBufferImpl::nio_get_Int(gnu::java::nio::CharBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jlong
-gnu::java::nio::CharBufferImpl::nio_get_Long(gnu::java::nio::CharBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jfloat
-gnu::java::nio::CharBufferImpl::nio_get_Float(gnu::java::nio::CharBufferImpl*, jint, jint)
-{
- return 0.0;
-}
-
-jdouble
-gnu::java::nio::CharBufferImpl::nio_get_Double(gnu::java::nio::CharBufferImpl*, jint, jint)
-{
- return 0.0;
-}
diff --git a/libjava/gnu/java/nio/natDoubleBufferImpl.cc b/libjava/gnu/java/nio/natDoubleBufferImpl.cc
index 53bf73db5a6..6c66a337417 100644
--- a/libjava/gnu/java/nio/natDoubleBufferImpl.cc
+++ b/libjava/gnu/java/nio/natDoubleBufferImpl.cc
@@ -1,3 +1,13 @@
+// natDoubleBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
@@ -11,115 +21,13 @@ gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jbyte>*)
return NULL;
}
-JArray<jdouble>*
-gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jshort>*)
-{
- return NULL;
-}
-
-JArray<jdouble>*
-gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jint>*)
-{
- return NULL;
-}
-
-JArray<jdouble>*
-gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jlong>*)
-{
- return NULL;
-}
-
-JArray<jdouble>*
-gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jchar>*)
-{
- return NULL;
-}
-
-JArray<jdouble>*
-gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jfloat>*)
-{
- return NULL;
-}
-
-JArray<jdouble>*
-gnu::java::nio::DoubleBufferImpl::nio_cast(JArray<jdouble>*)
-{
- return NULL;
-}
-
void
gnu::java::nio::DoubleBufferImpl::nio_put_Byte(gnu::java::nio::DoubleBufferImpl*, jint, jint, jbyte)
{
}
-void
-gnu::java::nio::DoubleBufferImpl::nio_put_Char(gnu::java::nio::DoubleBufferImpl*, jint, jint, jchar)
-{
-}
-
-void
-gnu::java::nio::DoubleBufferImpl::nio_put_Short(gnu::java::nio::DoubleBufferImpl*, jint, jint, jshort)
-{
-}
-
-void
-gnu::java::nio::DoubleBufferImpl::nio_put_Int(gnu::java::nio::DoubleBufferImpl*, jint, jint, jint)
-{
-}
-
-void
-gnu::java::nio::DoubleBufferImpl::nio_put_Long(gnu::java::nio::DoubleBufferImpl*, jint, jint, jlong)
-{
-}
-
-void
-gnu::java::nio::DoubleBufferImpl::nio_put_Float(gnu::java::nio::DoubleBufferImpl*, jint, jint, jfloat)
-{
-}
-
-void
-gnu::java::nio::DoubleBufferImpl::nio_put_Double(gnu::java::nio::DoubleBufferImpl*, jint, jint, jdouble)
-{
-}
-
jbyte
gnu::java::nio::DoubleBufferImpl::nio_get_Byte(gnu::java::nio::DoubleBufferImpl*, jint, jint)
{
return 0;
}
-
-jchar
-gnu::java::nio::DoubleBufferImpl::nio_get_Char(gnu::java::nio::DoubleBufferImpl*, jint, jint)
-{
- return ' ';
-}
-
-jshort
-gnu::java::nio::DoubleBufferImpl::nio_get_Short(gnu::java::nio::DoubleBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jint
-gnu::java::nio::DoubleBufferImpl::nio_get_Int(gnu::java::nio::DoubleBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jlong
-gnu::java::nio::DoubleBufferImpl::nio_get_Long(gnu::java::nio::DoubleBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jfloat
-gnu::java::nio::DoubleBufferImpl::nio_get_Float(gnu::java::nio::DoubleBufferImpl*, jint, jint)
-{
- return 0.0;
-}
-
-jdouble
-gnu::java::nio::DoubleBufferImpl::nio_get_Double(gnu::java::nio::DoubleBufferImpl*, jint, jint)
-{
- return 0.0;
-}
diff --git a/libjava/gnu/java/nio/natFileChannelImpl.cc b/libjava/gnu/java/nio/natFileChannelImpl.cc
new file mode 100644
index 00000000000..87386305bc6
--- /dev/null
+++ b/libjava/gnu/java/nio/natFileChannelImpl.cc
@@ -0,0 +1,53 @@
+// natFileChannelImpl.cc
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <jvm.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#include <gnu/java/nio/FileChannelImpl.h>
+#include <java/io/IOException.h>
+#include <java/nio/channels/FileChannel.h>
+
+jlong
+gnu::java::nio::FileChannelImpl::lengthInternal (jint fd)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("lengthInternal not implemented"));
+}
+
+jlong
+gnu::java::nio::FileChannelImpl::nio_mmap_file (jint, jlong, jint, jint)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("mmap not implemented"));
+}
+
+void
+gnu::java::nio::FileChannelImpl::nio_unmmap_file (jint, jlong, jint)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("munmap not implemented"));
+}
+
+void
+gnu::java::nio::FileChannelImpl::nio_msync (jint, jlong, jint)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("msync not implemented"));
+}
diff --git a/libjava/gnu/java/nio/natFloatBufferImpl.cc b/libjava/gnu/java/nio/natFloatBufferImpl.cc
index 2462be539f9..9785454634c 100644
--- a/libjava/gnu/java/nio/natFloatBufferImpl.cc
+++ b/libjava/gnu/java/nio/natFloatBufferImpl.cc
@@ -1,3 +1,13 @@
+// natFloatBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
@@ -11,115 +21,13 @@ gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jbyte>*)
return NULL;
}
-JArray<jfloat>*
-gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jshort>*)
-{
- return NULL;
-}
-
-JArray<jfloat>*
-gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jint>*)
-{
- return NULL;
-}
-
-JArray<jfloat>*
-gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jlong>*)
-{
- return NULL;
-}
-
-JArray<jfloat>*
-gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jchar>*)
-{
- return NULL;
-}
-
-JArray<jfloat>*
-gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jfloat>*)
-{
- return NULL;
-}
-
-JArray<jfloat>*
-gnu::java::nio::FloatBufferImpl::nio_cast(JArray<jdouble>*)
-{
- return NULL;
-}
-
void
gnu::java::nio::FloatBufferImpl::nio_put_Byte(gnu::java::nio::FloatBufferImpl*, jint, jint, jbyte)
{
}
-void
-gnu::java::nio::FloatBufferImpl::nio_put_Char(gnu::java::nio::FloatBufferImpl*, jint, jint, jchar)
-{
-}
-
-void
-gnu::java::nio::FloatBufferImpl::nio_put_Short(gnu::java::nio::FloatBufferImpl*, jint, jint, jshort)
-{
-}
-
-void
-gnu::java::nio::FloatBufferImpl::nio_put_Int(gnu::java::nio::FloatBufferImpl*, jint, jint, jint)
-{
-}
-
-void
-gnu::java::nio::FloatBufferImpl::nio_put_Long(gnu::java::nio::FloatBufferImpl*, jint, jint, jlong)
-{
-}
-
-void
-gnu::java::nio::FloatBufferImpl::nio_put_Float(gnu::java::nio::FloatBufferImpl*, jint, jint, jfloat)
-{
-}
-
-void
-gnu::java::nio::FloatBufferImpl::nio_put_Double(gnu::java::nio::FloatBufferImpl*, jint, jint, jdouble)
-{
-}
-
jbyte
gnu::java::nio::FloatBufferImpl::nio_get_Byte(gnu::java::nio::FloatBufferImpl*, jint, jint)
{
return 0;
}
-
-jchar
-gnu::java::nio::FloatBufferImpl::nio_get_Char(gnu::java::nio::FloatBufferImpl*, jint, jint)
-{
- return ' ';
-}
-
-jshort
-gnu::java::nio::FloatBufferImpl::nio_get_Short(gnu::java::nio::FloatBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jint
-gnu::java::nio::FloatBufferImpl::nio_get_Int(gnu::java::nio::FloatBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jlong
-gnu::java::nio::FloatBufferImpl::nio_get_Long(gnu::java::nio::FloatBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jfloat
-gnu::java::nio::FloatBufferImpl::nio_get_Float(gnu::java::nio::FloatBufferImpl*, jint, jint)
-{
- return 0.0;
-}
-
-jdouble
-gnu::java::nio::FloatBufferImpl::nio_get_Double(gnu::java::nio::FloatBufferImpl*, jint, jint)
-{
- return 0.0;
-}
diff --git a/libjava/gnu/java/nio/natIntBufferImpl.cc b/libjava/gnu/java/nio/natIntBufferImpl.cc
index 6a14653917e..eff70f838bb 100644
--- a/libjava/gnu/java/nio/natIntBufferImpl.cc
+++ b/libjava/gnu/java/nio/natIntBufferImpl.cc
@@ -1,3 +1,13 @@
+// natIntBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
@@ -11,115 +21,13 @@ gnu::java::nio::IntBufferImpl::nio_cast(JArray<jbyte>*)
return NULL;
}
-JArray<jint>*
-gnu::java::nio::IntBufferImpl::nio_cast(JArray<jshort>*)
-{
- return NULL;
-}
-
-JArray<jint>*
-gnu::java::nio::IntBufferImpl::nio_cast(JArray<jint>*)
-{
- return NULL;
-}
-
-JArray<jint>*
-gnu::java::nio::IntBufferImpl::nio_cast(JArray<jlong>*)
-{
- return NULL;
-}
-
-JArray<jint>*
-gnu::java::nio::IntBufferImpl::nio_cast(JArray<jchar>*)
-{
- return NULL;
-}
-
-JArray<jint>*
-gnu::java::nio::IntBufferImpl::nio_cast(JArray<jfloat>*)
-{
- return NULL;
-}
-
-JArray<jint>*
-gnu::java::nio::IntBufferImpl::nio_cast(JArray<jdouble>*)
-{
- return NULL;
-}
-
void
gnu::java::nio::IntBufferImpl::nio_put_Byte(gnu::java::nio::IntBufferImpl*, jint, jint, jbyte)
{
}
-void
-gnu::java::nio::IntBufferImpl::nio_put_Char(gnu::java::nio::IntBufferImpl*, jint, jint, jchar)
-{
-}
-
-void
-gnu::java::nio::IntBufferImpl::nio_put_Short(gnu::java::nio::IntBufferImpl*, jint, jint, jshort)
-{
-}
-
-void
-gnu::java::nio::IntBufferImpl::nio_put_Int(gnu::java::nio::IntBufferImpl*, jint, jint, jint)
-{
-}
-
-void
-gnu::java::nio::IntBufferImpl::nio_put_Long(gnu::java::nio::IntBufferImpl*, jint, jint, jlong)
-{
-}
-
-void
-gnu::java::nio::IntBufferImpl::nio_put_Float(gnu::java::nio::IntBufferImpl*, jint, jint, jfloat)
-{
-}
-
-void
-gnu::java::nio::IntBufferImpl::nio_put_Double(gnu::java::nio::IntBufferImpl*, jint, jint, jdouble)
-{
-}
-
jbyte
gnu::java::nio::IntBufferImpl::nio_get_Byte(gnu::java::nio::IntBufferImpl*, jint, jint)
{
return 0;
}
-
-jchar
-gnu::java::nio::IntBufferImpl::nio_get_Char(gnu::java::nio::IntBufferImpl*, jint, jint)
-{
- return ' ';
-}
-
-jshort
-gnu::java::nio::IntBufferImpl::nio_get_Short(gnu::java::nio::IntBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jint
-gnu::java::nio::IntBufferImpl::nio_get_Int(gnu::java::nio::IntBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jlong
-gnu::java::nio::IntBufferImpl::nio_get_Long(gnu::java::nio::IntBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jfloat
-gnu::java::nio::IntBufferImpl::nio_get_Float(gnu::java::nio::IntBufferImpl*, jint, jint)
-{
- return 0.0;
-}
-
-jdouble
-gnu::java::nio::IntBufferImpl::nio_get_Double(gnu::java::nio::IntBufferImpl*, jint, jint)
-{
- return 0.0;
-}
diff --git a/libjava/gnu/java/nio/natLongBufferImpl.cc b/libjava/gnu/java/nio/natLongBufferImpl.cc
index ea21f475c61..a84248136e5 100644
--- a/libjava/gnu/java/nio/natLongBufferImpl.cc
+++ b/libjava/gnu/java/nio/natLongBufferImpl.cc
@@ -1,3 +1,13 @@
+// natLongBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
@@ -11,115 +21,13 @@ gnu::java::nio::LongBufferImpl::nio_cast(JArray<jbyte>*)
return NULL;
}
-JArray<jlong>*
-gnu::java::nio::LongBufferImpl::nio_cast(JArray<jshort>*)
-{
- return NULL;
-}
-
-JArray<jlong>*
-gnu::java::nio::LongBufferImpl::nio_cast(JArray<jint>*)
-{
- return NULL;
-}
-
-JArray<jlong>*
-gnu::java::nio::LongBufferImpl::nio_cast(JArray<jlong>*)
-{
- return NULL;
-}
-
-JArray<jlong>*
-gnu::java::nio::LongBufferImpl::nio_cast(JArray<jchar>*)
-{
- return NULL;
-}
-
-JArray<jlong>*
-gnu::java::nio::LongBufferImpl::nio_cast(JArray<jfloat>*)
-{
- return NULL;
-}
-
-JArray<jlong>*
-gnu::java::nio::LongBufferImpl::nio_cast(JArray<jdouble>*)
-{
- return NULL;
-}
-
void
gnu::java::nio::LongBufferImpl::nio_put_Byte(gnu::java::nio::LongBufferImpl*, jint, jint, jbyte)
{
}
-void
-gnu::java::nio::LongBufferImpl::nio_put_Char(gnu::java::nio::LongBufferImpl*, jint, jint, jchar)
-{
-}
-
-void
-gnu::java::nio::LongBufferImpl::nio_put_Short(gnu::java::nio::LongBufferImpl*, jint, jint, jshort)
-{
-}
-
-void
-gnu::java::nio::LongBufferImpl::nio_put_Int(gnu::java::nio::LongBufferImpl*, jint, jint, jint)
-{
-}
-
-void
-gnu::java::nio::LongBufferImpl::nio_put_Long(gnu::java::nio::LongBufferImpl*, jint, jint, jlong)
-{
-}
-
-void
-gnu::java::nio::LongBufferImpl::nio_put_Float(gnu::java::nio::LongBufferImpl*, jint, jint, jfloat)
-{
-}
-
-void
-gnu::java::nio::LongBufferImpl::nio_put_Double(gnu::java::nio::LongBufferImpl*, jint, jint, jdouble)
-{
-}
-
jbyte
gnu::java::nio::LongBufferImpl::nio_get_Byte(gnu::java::nio::LongBufferImpl*, jint, jint)
{
return 0;
}
-
-jchar
-gnu::java::nio::LongBufferImpl::nio_get_Char(gnu::java::nio::LongBufferImpl*, jint, jint)
-{
- return ' ';
-}
-
-jshort
-gnu::java::nio::LongBufferImpl::nio_get_Short(gnu::java::nio::LongBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jint
-gnu::java::nio::LongBufferImpl::nio_get_Int(gnu::java::nio::LongBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jlong
-gnu::java::nio::LongBufferImpl::nio_get_Long(gnu::java::nio::LongBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jfloat
-gnu::java::nio::LongBufferImpl::nio_get_Float(gnu::java::nio::LongBufferImpl*, jint, jint)
-{
- return 0.0;
-}
-
-jdouble
-gnu::java::nio::LongBufferImpl::nio_get_Double(gnu::java::nio::LongBufferImpl*, jint, jint)
-{
- return 0.0;
-}
diff --git a/libjava/gnu/java/nio/natServerSocketChannelImpl.cc b/libjava/gnu/java/nio/natServerSocketChannelImpl.cc
deleted file mode 100644
index 1f7d7fc6890..00000000000
--- a/libjava/gnu/java/nio/natServerSocketChannelImpl.cc
+++ /dev/null
@@ -1,77 +0,0 @@
-// natSelectorImpl.cc
-
-/* Copyright (C) 2002 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-#include <platform.h>
-
-#include <errno.h>
-#include <netinet/in.h>
-
-#include <gcj/cni.h>
-#include <gnu/java/nio/ServerSocketChannelImpl.h>
-#include <gnu/java/nio/SocketChannelImpl.h>
-#include <java/io/IOException.h>
-#include <java/net/InetSocketAddress.h>
-#include <java/net/SocketException.h>
-
-union SockAddr
-{
- struct sockaddr_in address;
-#ifdef HAVE_INET6
- struct sockaddr_in6 address6;
-#endif
-};
-
-jint
-gnu::java::nio::ServerSocketChannelImpl::SocketAccept (
- ServerSocketChannelImpl* socket,
- SocketChannelImpl* s)
-{
- union SockAddr u;
- struct sockaddr *ptr = (struct sockaddr *) &u.address;
- socklen_t addrlen = sizeof(struct sockaddr);
-/*
- jbyteArray haddress = socket->sa->getAddress ()->addr;
- jbyte *bytes = elements (haddress);
- int len = haddress->length;
-
- if (len == 4)
- {
- u.address.sin_family = AF_INET;
- memcpy (&u.address.sin_addr, bytes, len);
- len = sizeof (struct sockaddr_in);
- u.address.sin_port = htons ( socket->sa->getPort ());
- }
-#ifdef HAVE_INET6
- else if (len == 16)
- {
- u.address6.sin6_family = AF_INET6;
- memcpy (&u.address6.sin6_addr, bytes, len);
- len = sizeof (struct sockaddr_in6);
- u.address6.sin6_port = htons (socket->sa->getPort ());
- }
-#endif
- else
- throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
-*/
-
- int sock = _Jv_accept (socket->fd, ptr, &addrlen);
-
- // FIXME: write address/port in ptr into java variables
-
- if (sock < 0)
- {
- char* strerr = strerror (errno);
- throw new ::java::io::IOException (JvNewStringUTF (strerr));
- }
-
- s->fd = sock;
- return sock;
-}
diff --git a/libjava/gnu/java/nio/natShortBufferImpl.cc b/libjava/gnu/java/nio/natShortBufferImpl.cc
index bfcfe28a6e2..188bff9575e 100644
--- a/libjava/gnu/java/nio/natShortBufferImpl.cc
+++ b/libjava/gnu/java/nio/natShortBufferImpl.cc
@@ -1,3 +1,13 @@
+// natShortBufferImpl.cc
+
+/* Copyright (C) 2002, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
#include <config.h>
#include <gcj/cni.h>
@@ -11,115 +21,13 @@ gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jbyte>*)
return NULL;
}
-JArray<jshort>*
-gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jshort>*)
-{
- return NULL;
-}
-
-JArray<jshort>*
-gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jint>*)
-{
- return NULL;
-}
-
-JArray<jshort>*
-gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jlong>*)
-{
- return NULL;
-}
-
-JArray<jshort>*
-gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jchar>*)
-{
- return NULL;
-}
-
-JArray<jshort>*
-gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jfloat>*)
-{
- return NULL;
-}
-
-JArray<jshort>*
-gnu::java::nio::ShortBufferImpl::nio_cast(JArray<jdouble>*)
-{
- return NULL;
-}
-
void
gnu::java::nio::ShortBufferImpl::nio_put_Byte(gnu::java::nio::ShortBufferImpl*, jint, jint, jbyte)
{
}
-void
-gnu::java::nio::ShortBufferImpl::nio_put_Char(gnu::java::nio::ShortBufferImpl*, jint, jint, jchar)
-{
-}
-
-void
-gnu::java::nio::ShortBufferImpl::nio_put_Short(gnu::java::nio::ShortBufferImpl*, jint, jint, jshort)
-{
-}
-
-void
-gnu::java::nio::ShortBufferImpl::nio_put_Int(gnu::java::nio::ShortBufferImpl*, jint, jint, jint)
-{
-}
-
-void
-gnu::java::nio::ShortBufferImpl::nio_put_Long(gnu::java::nio::ShortBufferImpl*, jint, jint, jlong)
-{
-}
-
-void
-gnu::java::nio::ShortBufferImpl::nio_put_Float(gnu::java::nio::ShortBufferImpl*, jint, jint, jfloat)
-{
-}
-
-void
-gnu::java::nio::ShortBufferImpl::nio_put_Double(gnu::java::nio::ShortBufferImpl*, jint, jint, jdouble)
-{
-}
-
jbyte
gnu::java::nio::ShortBufferImpl::nio_get_Byte(gnu::java::nio::ShortBufferImpl*, jint, jint)
{
return 0;
}
-
-jchar
-gnu::java::nio::ShortBufferImpl::nio_get_Char(gnu::java::nio::ShortBufferImpl*, jint, jint)
-{
- return ' ';
-}
-
-jshort
-gnu::java::nio::ShortBufferImpl::nio_get_Short(gnu::java::nio::ShortBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jint
-gnu::java::nio::ShortBufferImpl::nio_get_Int(gnu::java::nio::ShortBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jlong
-gnu::java::nio::ShortBufferImpl::nio_get_Long(gnu::java::nio::ShortBufferImpl*, jint, jint)
-{
- return 0;
-}
-
-jfloat
-gnu::java::nio::ShortBufferImpl::nio_get_Float(gnu::java::nio::ShortBufferImpl*, jint, jint)
-{
- return 0.0;
-}
-
-jdouble
-gnu::java::nio::ShortBufferImpl::nio_get_Double(gnu::java::nio::ShortBufferImpl*, jint, jint)
-{
- return 0.0;
-}
diff --git a/libjava/gnu/java/nio/natSocketChannelImpl.cc b/libjava/gnu/java/nio/natSocketChannelImpl.cc
index 4e6c6da3782..3476a0a0f75 100644
--- a/libjava/gnu/java/nio/natSocketChannelImpl.cc
+++ b/libjava/gnu/java/nio/natSocketChannelImpl.cc
@@ -1,6 +1,6 @@
-// natSelectorImpl.cc
+// natSocketChannelImpl.cc
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -19,6 +19,62 @@ details. */
#include <java/net/InetAddress.h>
#include <java/net/SocketException.h>
+
+#ifdef DISABLE_JAVA_NET
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketCreate ()
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("SocketCreate not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketConnect (jint,
+ ::java::net::InetAddress *,
+ jint)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("SocketConnect not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketBind (jint, ::java::net::InetAddress *,
+ jint)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("SocketBind not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketListen (jint, jint)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("SocketList not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketAvailable (jint)
+{
+ throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketAvailable: not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketClose (jint)
+{
+ throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketClose: not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketRead (jint, jbyteArray, jint, jint)
+{
+ throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketRead: not implemented"));
+}
+
+jint
+gnu::java::nio::SocketChannelImpl::SocketWrite (jint, jbyteArray, jint, jint)
+{
+ throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketWrite: not implemented"));
+}
+
+#else // DISABLE_JAVA_NET
+
jint
gnu::java::nio::SocketChannelImpl::SocketCreate ()
{
@@ -38,15 +94,7 @@ gnu::java::nio::SocketChannelImpl::SocketConnect (jint fd,
::java::net::InetAddress *addr,
jint port)
{
- int result = _Jv_connect_address (fd, addr, port, addr, port);
-
- if (result < 0)
- {
- char* strerr = strerror (errno);
- throw new ::java::io::IOException (JvNewStringUTF (strerr));
- }
-
- return result;
+ throw new ::java::io::IOException (JvNewStringUTF ("SocketConnect not implemented"));
}
jint
@@ -54,15 +102,7 @@ gnu::java::nio::SocketChannelImpl::SocketBind (jint fd,
::java::net::InetAddress *addr,
jint port)
{
- int result = _Jv_bind_address (fd, addr, port);
-
- if (result < 0)
- {
- char* strerr = strerror (errno);
- throw new ::java::io::IOException (JvNewStringUTF (strerr));
- }
-
- return result;
+ throw new ::java::io::IOException (JvNewStringUTF ("SocketBind not implemented"));
}
jint
@@ -103,7 +143,9 @@ jint
gnu::java::nio::SocketChannelImpl::SocketRead (jint fd, jbyteArray data,
jint offset, jint length)
{
- int result = ::recv (fd, data, offset, length);
+ /* The cast to char* is needed to placate the Win32 API. */
+ int result =
+ ::recv (fd, reinterpret_cast<char*>(elements(data)), offset, length);
if (result < 0)
{
@@ -118,7 +160,11 @@ jint
gnu::java::nio::SocketChannelImpl::SocketWrite (jint fd, jbyteArray data,
jint offset, jint length)
{
- int result = ::send (fd, data, offset, length);
+ /* The cast to char* is needed to placate the Win32 API. I used char*
+ instead of const char* because I wasn't sure about the API on all
+ UNICES. */
+ int result =
+ ::send (fd, reinterpret_cast<char*>(elements(data)), offset, length);
if (result < 0)
{
@@ -128,3 +174,5 @@ gnu::java::nio::SocketChannelImpl::SocketWrite (jint fd, jbyteArray data,
return result;
}
+
+#endif // DISABLE_JAVA_NET
diff --git a/libjava/gnu/java/rmi/server/UnicastServerRef.java b/libjava/gnu/java/rmi/server/UnicastServerRef.java
index 4f64452b124..a3a999f2e9f 100644
--- a/libjava/gnu/java/rmi/server/UnicastServerRef.java
+++ b/libjava/gnu/java/rmi/server/UnicastServerRef.java
@@ -1,5 +1,5 @@
/*
- Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+ Copyright (c) 1996, 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -129,7 +129,7 @@ public RemoteStub getStub(){
}
-public boolean unexportObject(Remote obj, boolean force) throws RemoteException {
+public boolean unexportObject(Remote obj, boolean force) {
// Remove all hashes of methods which may be called.
buildMethodHash(obj.getClass(), false);
return UnicastServer.unexportObject(this, force);
diff --git a/libjava/gnu/java/security/provider/SHA1PRNG.java b/libjava/gnu/java/security/provider/SHA1PRNG.java
index 669b1b55b75..97a8b9e3433 100644
--- a/libjava/gnu/java/security/provider/SHA1PRNG.java
+++ b/libjava/gnu/java/security/provider/SHA1PRNG.java
@@ -1,5 +1,5 @@
/* SHA1PRNG.java --- Secure Random SPI SHA1PRNG
- Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -51,27 +51,22 @@ public class SHA1PRNG extends SecureRandomSpi implements Serializable
byte data[];
int seedpos;
int datapos;
+ private boolean seeded = false; // set to true when we seed this
public SHA1PRNG()
{
try {
digest = MessageDigest.getInstance("SHA");
} catch ( NoSuchAlgorithmException nsae) {
- System.out.println("Failed to find SHA Message Digest: " + nsae);
- nsae.printStackTrace();
+// System.out.println("Failed to find SHA Message Digest: " + nsae);
+// nsae.printStackTrace();
+ throw new InternalError ("no SHA implementation found");
}
seed = new byte[20];
seedpos = 0;
data = new byte[40];
- datapos = 0;
-
- new Random().nextBytes(seed);
-
- byte digestdata[];
- digestdata = digest.digest( data );
- System.arraycopy( digestdata, 0, data, 0, 20);
-
+ datapos = 20; // try to force hashing a first block
}
public void engineSetSeed(byte[] seed)
@@ -84,6 +79,7 @@ public class SHA1PRNG extends SecureRandomSpi implements Serializable
public void engineNextBytes(byte[] bytes)
{
+ ensureIsSeeded ();
int loc = 0;
while (loc < bytes.length)
{
@@ -113,4 +109,18 @@ public class SHA1PRNG extends SecureRandomSpi implements Serializable
engineNextBytes( tmp );
return tmp;
}
+
+ private void ensureIsSeeded()
+ {
+ if (!seeded)
+ {
+ new Random(0L).nextBytes(seed);
+
+ byte[] digestdata = digest.digest(data);
+ System.arraycopy(digestdata, 0, data, 0, 20);
+
+ seeded = true;
+ }
+ }
+
}
diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in
index 1deb2b46dc3..f428794f686 100644
--- a/libjava/include/Makefile.in
+++ b/libjava/include/Makefile.in
@@ -65,6 +65,7 @@ target_alias = @target_alias@
target_triplet = @target@
AR = @AR@
AS = @AS@
+BACKTRACESPEC = @BACKTRACESPEC@
CC = @CC@
CHECKREFSPEC = @CHECKREFSPEC@
COMPPATH = @COMPPATH@
@@ -86,6 +87,7 @@ GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
GCTESTSPEC = @GCTESTSPEC@
HASH_SYNC_SPEC = @HASH_SYNC_SPEC@
+IEEESPEC = @IEEESPEC@
INCLTDL = @INCLTDL@
INTERPRETER = @INTERPRETER@
JC1GCSPEC = @JC1GCSPEC@
@@ -129,6 +131,9 @@ here = @here@
libgcj_basedir = @libgcj_basedir@
mkinstalldirs = @mkinstalldirs@
tool_include_dir = @tool_include_dir@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
+toolexecmainlibdir = @toolexecmainlibdir@
AUTOMAKE_OPTIONS = foreign
diff --git a/libjava/include/config.h.in b/libjava/include/config.h.in
index cd770f93ac6..5fb650327b6 100644
--- a/libjava/include/config.h.in
+++ b/libjava/include/config.h.in
@@ -1,4 +1,4 @@
-/* include/config.h.in. Generated automatically from configure.in by autoheader 2.13. */
+/* include/config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if using alloca.c. */
#undef C_ALLOCA
diff --git a/libjava/include/dwarf2-signal.h b/libjava/include/dwarf2-signal.h
index b996732b743..7dbcd9dfd2d 100644
--- a/libjava/include/dwarf2-signal.h
+++ b/libjava/include/dwarf2-signal.h
@@ -209,9 +209,6 @@ do \
while (0)
#endif
#elif !defined(__ia64__)
-#if defined(__x86_64__)
-#define SYS_sigaction SYS_rt_sigaction
-#endif
#define INIT_SEGV \
do \
{ \
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h
index a44db38ca85..a00f4db0a1d 100644
--- a/libjava/include/java-interp.h
+++ b/libjava/include/java-interp.h
@@ -21,6 +21,7 @@ details. */
#include <java/lang/Class.h>
#include <java/lang/ClassLoader.h>
+#include <java/lang/reflect/Modifier.h>
#include <gnu/gcj/runtime/StackTrace.h>
extern "C" {
@@ -30,7 +31,7 @@ extern "C" {
extern inline jboolean
_Jv_IsInterpretedClass (jclass c)
{
- return (c->loader != 0);
+ return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0;
}
struct _Jv_ResolvedMethod;
@@ -158,6 +159,7 @@ class _Jv_InterpClass : public java::lang::Class
friend class _Jv_ClassReader;
friend class _Jv_InterpMethod;
friend void _Jv_PrepareClass(jclass);
+ friend void _Jv_PrepareMissingMethods (jclass base2, jclass iface_class);
friend void _Jv_InitField (jobject, jclass, int);
#ifdef JV_MARKOBJ_DECL
friend JV_MARKOBJ_DECL;
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index e02901de824..507c4c0b8a9 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -352,9 +352,21 @@ extern "C"
jlong _Jv_remJ (jlong, jlong);
}
-/* get/set the name of the running executable. */
-extern char *_Jv_ThisExecutable (void);
-extern void _Jv_ThisExecutable (const char *);
+/* Get the number of arguments (cf. argc) or 0 if our argument
+ list was never initialized. */
+extern int _Jv_GetNbArgs (void);
+
+/* Get the specified argument (cf. argv[index]) or "" if either
+ our argument list was never initialized or the specified index
+ is out of bounds. */
+extern const char * _Jv_GetSafeArg (int index);
+
+/* Sets our argument list. Can be used by programs with non-standard
+ entry points. */
+extern void _Jv_SetArgs (int argc, const char **argv);
+
+/* Get the name of the running executable. */
+extern const char *_Jv_ThisExecutable (void);
/* Return a pointer to a symbol in executable or loaded library. */
void *_Jv_FindSymbolInExecutable (const char *);
diff --git a/libjava/include/posix.h b/libjava/include/posix.h
index cdcdb5d45ac..0aadd47d3b3 100644
--- a/libjava/include/posix.h
+++ b/libjava/include/posix.h
@@ -1,6 +1,6 @@
// posix.h -- Helper functions for POSIX-flavored OSs.
-/* Copyright (C) 2000, 2002 Free Software Foundation
+/* Copyright (C) 2000, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -60,6 +60,16 @@ _Jv_platform_close_on_exec (jint fd)
::fcntl (fd, F_SETFD, FD_CLOEXEC);
}
+#undef fcntl
+
+#ifdef JV_HASH_SYNCHRONIZATION
+inline void
+_Jv_platform_usleep (unsigned long usecs)
+{
+ usleep (usecs);
+}
+#endif /* JV_HASH_SYNCHRONIZATION */
+
#ifndef DISABLE_JAVA_NET
#ifndef HAVE_SOCKLEN_T
@@ -72,18 +82,24 @@ _Jv_socket (int domain, int type, int protocol)
return ::socket (domain, type, protocol);
}
+#undef socket
+
inline int
_Jv_connect (jint fd, sockaddr *ptr, int len)
{
return ::connect (fd, ptr, len);
}
+#undef connect
+
inline int
_Jv_close (jint fd)
{
return ::close (fd);
}
+#undef close
+
// Avoid macro definitions of bind from system headers, e.g. on
// Solaris 7 with _XOPEN_SOURCE. FIXME
inline int
@@ -92,6 +108,8 @@ _Jv_bind (int fd, struct sockaddr *addr, int addrlen)
return ::bind (fd, addr, addrlen);
}
+#undef bind
+
// Same problem with accept on Tru64 UNIX with _POSIX_PII_SOCKET
inline int
_Jv_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
@@ -99,24 +117,32 @@ _Jv_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
return ::accept (fd, addr, addrlen);
}
+#undef accept
+
inline int
_Jv_listen (int fd, int backlog)
{
return ::listen (fd, backlog);
}
+#undef listen
+
inline int
_Jv_write(int s, void *buf, int len)
{
return ::write (s, buf, len);
}
+#undef write
+
inline int
_Jv_read(int s, void *buf, int len)
{
return ::read (s, buf, len);
}
+#undef read
+
#endif /* DISABLE_JAVA_NET */
#endif /* __JV_POSIX_H__ */
diff --git a/libjava/include/powerpc-signal.h b/libjava/include/powerpc-signal.h
new file mode 100644
index 00000000000..00a5a6dfb8f
--- /dev/null
+++ b/libjava/include/powerpc-signal.h
@@ -0,0 +1,87 @@
+// powerpc-signal.h - Catch runtime signals and turn them into exceptions
+// on a powerpc based Linux system.
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+
+#ifndef JAVA_SIGNAL_H
+# define JAVA_SIGNAL_H 1
+
+# include <signal.h>
+# include <sys/syscall.h>
+
+# define HANDLE_SEGV 1
+# undef HANDLE_FPE
+
+# define SIGNAL_HANDLER(_name) \
+ static void _name (int /* _signal */, struct sigcontext *_sc)
+
+/* PPC either leaves PC pointing at a faulting instruction or the
+ following instruction, depending on the signal. SEGV always does
+ the former, so we adjust the saved PC to point to the following
+ instruction. This is what the handler in libgcc expects. */
+
+# define MAKE_THROW_FRAME(_exception) \
+do \
+ { \
+ _sc->regs->nip += 4; \
+ } \
+while (0)
+
+/* For an explanation why we cannot simply use sigaction to
+ install the handlers, see i386-signal.h. */
+
+/* We use kernel_old_sigaction here because we're calling the kernel
+ directly rather than via glibc. The sigaction structure that the
+ syscall uses is a different shape from the one in userland and not
+ visible to us in a header file so we define it here.
+ Additionally we want a proper prototype for the handler function
+ with the struct sigcontext pointer passed by the kernel as the 2nd
+ argument, which isn't there in userland headers.
+
+ Note that we explicitly avoid the SA_SIGINFO flag in INIT_SEGV and
+ INIT_FPE below. Using the ucontext pointer passed as 3rd argument
+ of a SA_SIGINFO type handler would need complicated backwards
+ compatibility hacks in MAKE_THROW_FRAME, as the ucontext layout
+ on PPC changed during the 2.5 kernel series. */
+
+struct kernel_old_sigaction {
+ void (*k_sa_handler) (int, struct sigcontext *);
+ unsigned long k_sa_mask;
+ unsigned long k_sa_flags;
+ void (*k_sa_restorer) (void);
+};
+
+# define INIT_SEGV \
+do \
+ { \
+ nullp = new java::lang::NullPointerException (); \
+ struct kernel_old_sigaction kact; \
+ kact.k_sa_handler = catch_segv; \
+ kact.k_sa_mask = 0; \
+ kact.k_sa_flags = 0; \
+ syscall (SYS_sigaction, SIGSEGV, &kact, NULL); \
+ } \
+while (0)
+
+# define INIT_FPE \
+do \
+ { \
+ arithexception = new java::lang::ArithmeticException \
+ (JvNewStringLatin1 ("/ by zero")); \
+ struct kernel_old_sigaction kact; \
+ kact.k_sa_handler = catch_fpe; \
+ kact.k_sa_mask = 0; \
+ kact.k_sa_flags = 0; \
+ syscall (SYS_sigaction, SIGFPE, &kact, NULL); \
+ } \
+while (0)
+
+#endif /* JAVA_SIGNAL_H */
+
diff --git a/libjava/include/win32-threads.h b/libjava/include/win32-threads.h
index e8cf80598c2..5e40ae24b87 100644
--- a/libjava/include/win32-threads.h
+++ b/libjava/include/win32-threads.h
@@ -1,7 +1,8 @@
// -*- c++ -*-
// win32-threads.h - Defines for using Win32 threads.
-/* Copyright (C) 1998, 1999, 2000 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
+ Foundation
This file is part of libgcj.
@@ -18,13 +19,32 @@ details. */
// Typedefs.
//
-typedef struct _Jv_ConditionVariable_t {
+typedef struct
+{
+ // ev[0] (signal) is a Win32 auto-reset event for _Jv_CondNotify
+ // ev[1] (broadcast) is a Win32 manual-reset event for _Jv_CondNotifyAll
HANDLE ev[2];
- CRITICAL_SECTION count_mutex;
+
+ // Number of threads waiting on this condition variable
int blocked_count;
-};
-typedef CRITICAL_SECTION _Jv_Mutex_t;
+ // Protects access to the blocked_count variable
+ CRITICAL_SECTION count_mutex;
+
+} _Jv_ConditionVariable_t;
+
+typedef struct
+{
+ // The thread-id of the owner thread if any, 0 otherwise
+ DWORD owner;
+
+ // Track nested mutex acquisitions by the same thread
+ int refcount;
+
+ // The actual Windows construct used to implement this mutex
+ CRITICAL_SECTION cs;
+
+} _Jv_Mutex_t;
typedef struct
{
@@ -60,25 +80,39 @@ int _Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *);
inline void _Jv_MutexInit (_Jv_Mutex_t *mu)
{
- InitializeCriticalSection(mu);
+ mu->owner = 0UL;
+ mu->refcount = 0;
+ InitializeCriticalSection (&(mu->cs));
}
#define _Jv_HaveMutexDestroy
inline void _Jv_MutexDestroy (_Jv_Mutex_t *mu)
{
- DeleteCriticalSection(mu);
+ mu->owner = 0UL;
+ mu->refcount = 0;
+ DeleteCriticalSection (&(mu->cs));
mu = NULL;
}
inline int _Jv_MutexUnlock (_Jv_Mutex_t *mu)
{
- LeaveCriticalSection(mu);
- return 0;
+ if (mu->owner == GetCurrentThreadId ( ))
+ {
+ mu->refcount--;
+ if (mu->refcount == 0)
+ mu->owner = 0UL;
+ LeaveCriticalSection (&(mu->cs));
+ return 0;
+ }
+ else
+ return 1;
}
inline int _Jv_MutexLock (_Jv_Mutex_t *mu)
{
- EnterCriticalSection(mu);
+ EnterCriticalSection (&(mu->cs));
+ mu->owner = GetCurrentThreadId ( );
+ mu->refcount++;
return 0;
}
@@ -104,9 +138,7 @@ inline _Jv_Thread_t *_Jv_ThreadCurrentData(void)
inline void _Jv_ThreadYield (void)
{
- // FIXME: win98 freezes hard (OS hang) when we use this --
- // for now, we simply don't yield
- // Sleep (0);
+ Sleep (0);
}
void _Jv_ThreadRegister (_Jv_Thread_t *data);
diff --git a/libjava/include/win32.h b/libjava/include/win32.h
index d4c0ab6c18d..969af0818f9 100644
--- a/libjava/include/win32.h
+++ b/libjava/include/win32.h
@@ -1,6 +1,6 @@
// win32.h -- Helper functions for Microsoft-flavored OSs.
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -14,9 +14,7 @@ details. */
#include <windows.h>
#undef STRICT
-#undef __INSIDE_CYGWIN__
-#include <winsock.h>
-#define IP_TOS 3
+#include <ws2tcpip.h>
#include <gcj/cni.h>
#include <java/util/Properties.h>
@@ -32,6 +30,11 @@ details. */
#define ENOTCONN 0
#define ECONNRESET 0
+/* This is incorrect, but allows java/net/natPlainDatagramSocketImpl.cc
+ to compile under MingW. This will be remedied in a subsequent gcj
+ release where the Win32 and Posix networking code have been forked. */
+#define ECONNREFUSED 0
+
#ifndef ENOPROTOOPT
#define ENOPROTOOPT 109
#endif
@@ -41,6 +44,7 @@ details. */
extern void _Jv_platform_initialize (void);
extern void _Jv_platform_initProperties (java::util::Properties*);
extern jlong _Jv_platform_gettimeofday ();
+extern int _Jv_select (int n, fd_set *, fd_set *, fd_set *, struct timeval *);
inline void
_Jv_platform_close_on_exec (jint)
@@ -48,6 +52,21 @@ _Jv_platform_close_on_exec (jint)
// Ignore.
}
+#ifdef JV_HASH_SYNCHRONIZATION
+/* Suspends the execution of the current thread for the specified
+ number of microseconds. Tries to emulate the behaviour of usleep()
+ on UNIX and provides a granularity of 1 millisecond. */
+inline void
+_Jv_platform_usleep (unsigned long usecs)
+{
+ if (usecs > 0UL)
+ {
+ unsigned long millis = ((usecs + 999UL) / 1000UL);
+ Sleep (millis);
+ }
+}
+#endif /* JV_HASH_SYNCHRONIZATION */
+
#ifndef DISABLE_JAVA_NET
static inline int
@@ -59,7 +78,7 @@ _Jv_socket (int domain, int type, int protocol)
inline int
_Jv_connect (jint fd, sockaddr *ptr, int len)
{
- return ::connect (fd, ptr, len);
+ return ::connect (fd, ptr, len);
}
inline int
@@ -100,8 +119,6 @@ _Jv_read(int s, void *buf, int len)
#endif /* DISABLE_JAVA_NET */
-#define HAVE_BACKTRACE
-
/* Store up to SIZE return address of the current program state in
ARRAY and return the exact number of values stored. */
extern int backtrace (void **__array, int __size);
diff --git a/libjava/include/x86_64-signal.h b/libjava/include/x86_64-signal.h
new file mode 100644
index 00000000000..fed55d1ce6e
--- /dev/null
+++ b/libjava/include/x86_64-signal.h
@@ -0,0 +1,96 @@
+// x86_64-signal.h - Catch runtime signals and turn them into exceptions
+// on an x86_64 based GNU/Linux system.
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+
+#ifndef JAVA_SIGNAL_H
+#define JAVA_SIGNAL_H 1
+
+#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __x86_64__
+
+#define HANDLE_SEGV 1
+
+#define SIGNAL_HANDLER(_name) \
+static void _Jv_##_name (int, siginfo_t *, void *_p)
+
+extern "C"
+{
+ struct kernel_sigaction
+ {
+ void (*k_sa_sigaction)(int,siginfo_t *,void *);
+ unsigned long k_sa_flags;
+ void (*k_sa_restorer) (void);
+ sigset_t k_sa_mask;
+ };
+}
+
+#define MAKE_THROW_FRAME(_exception) \
+do \
+{ \
+ /* Advance the program counter so that it is after the start of the \
+ instruction: the x86_64 exception handler expects \
+ the PC to point to the instruction after a call. */ \
+ struct ucontext *_uc = (struct ucontext *)_p; \
+ volatile struct sigcontext *_sc = (struct sigcontext *) &_uc->uc_mcontext; \
+ _sc->rip += 2; \
+} \
+while (0)
+
+#define RESTORE(name, syscall) RESTORE2 (name, syscall)
+#define RESTORE2(name, syscall) \
+asm \
+ ( \
+ ".byte 0 # Yes, this really is necessary\n" \
+ ".align 16\n" \
+ "__" #name ":\n" \
+ " movq $" #syscall ", %rax\n" \
+ " syscall\n" \
+ );
+
+/* The return code for realtime-signals. */
+RESTORE (restore_rt, __NR_rt_sigreturn)
+static void restore_rt (void) asm ("__restore_rt");
+
+#define INIT_SEGV \
+do \
+ { \
+ nullp = new java::lang::NullPointerException (); \
+ struct kernel_sigaction act; \
+ act.k_sa_sigaction = _Jv_catch_segv; \
+ sigemptyset (&act.k_sa_mask); \
+ act.k_sa_flags = SA_SIGINFO|0x4000000; \
+ act.k_sa_restorer = restore_rt; \
+ syscall (SYS_rt_sigaction, SIGSEGV, &act, NULL, _NSIG / 8); \
+ } \
+while (0)
+
+/* We use syscall(SYS_rt_sigaction) in INIT_SEGV instead of
+ * sigaction() because on some systems the pthreads wrappers for
+ * signal handlers are not compiled with unwind information, so it's
+ * not possible to unwind through them. This is a problem that will
+ * go away if all systems ever have pthreads libraries that are
+ * compiled with unwind info. */
+
+#else /* __x86_64__ */
+
+/* This is for the 32-bit subsystem on on x86-64. Catching signals
+ doesn't yet work on that target. */
+
+#undef HANDLE_SEGV
+#undef HANDLE_FPE
+
+#define INIT_SEGV do {} while (0)
+#define INIT_FPE do {} while (0)
+
+#endif /* __x86_64__ */
+#endif /* JAVA_SIGNAL_H */
diff --git a/libjava/java/awt/AlphaComposite.java b/libjava/java/awt/AlphaComposite.java
index 14649fc74a3..f0795a96010 100644
--- a/libjava/java/awt/AlphaComposite.java
+++ b/libjava/java/awt/AlphaComposite.java
@@ -64,6 +64,7 @@ public final class AlphaComposite implements Composite
return size() > MAX_CACHE_SIZE;
}
};
+
public static final int CLEAR = 1;
public static final int SRC = 2;
public static final int DST = 9;
@@ -88,6 +89,7 @@ public final class AlphaComposite implements Composite
public static final AlphaComposite SrcAtop = getInstance(SRC_ATOP);
public static final AlphaComposite DstAtop = getInstance(DST_ATOP);
public static final AlphaComposite Xor = getInstance(XOR);
+
private final int rule;
private final float alpha;
private AlphaComposite(int rule, float alpha)
@@ -95,10 +97,32 @@ public final class AlphaComposite implements Composite
this.rule = rule;
this.alpha = alpha;
}
+
+ /**
+ * Creates an AlphaComposite object with the specified rule.
+ *
+ * @param rule The compositing rule.
+ *
+ * @exception IllegalArgumentException If rule is not one of the following:
+ * CLEAR, SRC, DST, SRC_OVER, DST_OVER, SRC_IN, DST_IN, SRC_OUT, DST_OUT,
+ * SRC_ATOP, DST_ATOP, or XOR.
+ */
public static AlphaComposite getInstance(int rule)
{
return getInstance(rule, 1);
}
+
+ /**
+ * Creates an AlphaComposite object with the specified rule and the constant
+ * alpha to multiply with the alpha of the source. The source is multiplied
+ * with the specified alpha before being composited with the destination.
+ *
+ * @param rule The compositing rule.
+ *
+ * @exception IllegalArgumentException If rule is not one of the following:
+ * CLEAR, SRC, DST, SRC_OVER, DST_OVER, SRC_IN, DST_IN, SRC_OUT, DST_OUT,
+ * SRC_ATOP, DST_ATOP, or XOR.
+ */
public static AlphaComposite getInstance(int rule, float alpha)
{
if (rule < CLEAR || rule > XOR || ! (alpha >= 0 && alpha <= 1))
diff --git a/libjava/java/awt/BasicStroke.java b/libjava/java/awt/BasicStroke.java
index c3290336cd9..3d0a2e74506 100644
--- a/libjava/java/awt/BasicStroke.java
+++ b/libjava/java/awt/BasicStroke.java
@@ -1,5 +1,5 @@
/* BasicStroke.java --
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -59,12 +59,31 @@ public class BasicStroke implements Stroke
private final float[] dash;
private final float phase;
+ /**
+ * Creates a basic stroke.
+ *
+ * @param width May not be negative .
+ * @param cap May be either CAP_BUTT, CAP_ROUND or CAP_SQUARE.
+ * @param join May be either JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER.
+ * @param miterlimit the limit to trim the miter join. The miterlimit must be
+ * greater than or equal to 1.0f.
+ * @param dash The array representing the dashing pattern.
+ * @param dash_phase is negative and dash is not null.
+ *
+ * @exception IllegalArgumentException If one input parameter doesn't meet
+ * its needs.
+ */
public BasicStroke(float width, int cap, int join, float miterlimit,
float[] dash, float dashPhase)
{
- if (width < 0 || miterlimit < 1 || cap < CAP_BUTT || cap > CAP_SQUARE
- || join < JOIN_MITER || join > JOIN_BEVEL)
+ if (width < 0 ||
+ miterlimit < 1.0f ||
+ cap < CAP_BUTT ||
+ cap > CAP_SQUARE ||
+ join < JOIN_MITER ||
+ join > JOIN_BEVEL)
throw new IllegalArgumentException();
+
this.width = width;
this.cap = cap;
this.join = join;
@@ -73,21 +92,54 @@ public class BasicStroke implements Stroke
phase = dashPhase;
}
+ /**
+ * Creates a basic stroke.
+ *
+ * @param width The width of the BasicStroke. May not be negative .
+ * @param cap May be either CAP_BUTT, CAP_ROUND or CAP_SQUARE.
+ * @param join May be either JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER.
+ * @param miterlimit the limit to trim the miter join. The miterlimit must be
+ * greater than or equal to 1.0f.
+ *
+ * @exception IllegalArgumentException If one input parameter doesn't meet
+ * its needs.
+ */
public BasicStroke(float width, int cap, int join, float miterlimit)
{
this(width, cap, join, miterlimit, null, 0);
}
+ /**
+ * Creates a basic stroke.
+ *
+ * @param width The width of the BasicStroke. May not be nehative.
+ * @param cap May be either CAP_BUTT, CAP_ROUND or CAP_SQUARE.
+ * @param join May be either JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER.
+ *
+ * @exception IllegalArgumentException If one input parameter doesn't meet
+ * its needs.
+ * @exception IllegalArgumentException FIXME
+ */
public BasicStroke(float width, int cap, int join)
{
this(width, cap, join, 10, null, 0);
}
+ /**
+ * Creates a basic stroke.
+ *
+ * @param width The width of the BasicStroke.
+ *
+ * @exception IllegalArgumentException If width is negative.
+ */
public BasicStroke(float width)
{
this(width, CAP_SQUARE, JOIN_MITER, 10, null, 0);
}
+ /**
+ * Creates a basic stroke.
+ */
public BasicStroke()
{
this(1, CAP_SQUARE, JOIN_MITER, 10, null, 0);
diff --git a/libjava/java/awt/BufferCapabilities.java b/libjava/java/awt/BufferCapabilities.java
index 389594b76b5..871529e6e93 100644
--- a/libjava/java/awt/BufferCapabilities.java
+++ b/libjava/java/awt/BufferCapabilities.java
@@ -67,6 +67,11 @@ public class BufferCapabilities implements Cloneable
private final ImageCapabilities back;
private final FlipContents flip;
+ /**
+ * Creates a buffer capabilities object.
+ *
+ * @exception IllegalArgumentException If frontCaps or backCaps are null.
+ */
public BufferCapabilities(ImageCapabilities front, ImageCapabilities back,
FlipContents flip)
{
diff --git a/libjava/java/awt/Button.java b/libjava/java/awt/Button.java
index ed954ddcfda..989fbc95173 100644
--- a/libjava/java/awt/Button.java
+++ b/libjava/java/awt/Button.java
@@ -90,6 +90,9 @@ private transient ActionListener action_listeners;
/**
* Initializes a new instance of <code>Button</code> with no label.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true
*/
public
Button()
@@ -104,12 +107,18 @@ Button()
* label. The action command name is also initialized to this value.
*
* @param label The label to display on the button.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true
*/
public
Button(String label)
{
this.label = label;
actionCommand = label;
+
+ if (GraphicsEnvironment.isHeadless ())
+ throw new HeadlessException ();
}
/*************************************************************************/
@@ -211,6 +220,10 @@ removeActionListener(ActionListener listener)
/** Returns all registered EventListers of the given listenerType.
* listenerType must be a subclass of EventListener, or a
* ClassClassException is thrown.
+ *
+ * @exception ClassCastException If listenerType doesn't specify a class or
+ * interface that implements @see java.util.EventListener.
+ *
* @since 1.3
*/
public EventListener[] getListeners(Class listenerType)
diff --git a/libjava/java/awt/CardLayout.java b/libjava/java/awt/CardLayout.java
index 10ffa2ec6c2..1900a6094e2 100644
--- a/libjava/java/awt/CardLayout.java
+++ b/libjava/java/awt/CardLayout.java
@@ -1,6 +1,6 @@
// CardLayout.java - Card-based layout engine
-/* Copyright (C) 1999, 2000, 2002 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation
This file is part of GNU Classpath.
@@ -110,7 +110,7 @@ public class CardLayout implements LayoutManager2, Serializable
*/
public void first (Container parent)
{
- gotoComponent (parent, FIRST, null);
+ gotoComponent (parent, FIRST);
}
/** Return this layout manager's horizontal gap. */
@@ -154,7 +154,7 @@ public class CardLayout implements LayoutManager2, Serializable
*/
public void last (Container parent)
{
- gotoComponent (parent, LAST, null);
+ gotoComponent (parent, LAST);
}
/**
@@ -210,7 +210,7 @@ public class CardLayout implements LayoutManager2, Serializable
*/
public void next (Container parent)
{
- gotoComponent (parent, NEXT, null);
+ gotoComponent (parent, NEXT);
}
/** Get the preferred layout size of the container.
@@ -228,7 +228,7 @@ public class CardLayout implements LayoutManager2, Serializable
*/
public void previous (Container parent)
{
- gotoComponent (parent, PREV, null);
+ gotoComponent (parent, PREV);
}
/** Remove the indicated component from this layout manager.
@@ -273,7 +273,21 @@ public class CardLayout implements LayoutManager2, Serializable
{
Object target = tab.get (name);
if (target != null)
- gotoComponent (parent, NONE, (Component) target);
+ {
+ int num = parent.ncomponents;
+ // This is more efficient than calling getComponents().
+ Component[] comps = parent.component;
+ for (int i = 0; i < num; ++i)
+ {
+ if (comps[i].isVisible())
+ {
+ if (target == comps[i])
+ return;
+ comps[i].setVisible (false);
+ }
+ }
+ ((Component) target).setVisible (true);
+ }
}
/**
@@ -286,9 +300,11 @@ public class CardLayout implements LayoutManager2, Serializable
return getClass ().getName () + "[" + hgap + "," + vgap + "]";
}
- // This implements first(), last(), next(), and previous().
- private void gotoComponent (Container parent, int what,
- Component target)
+ /** This implements first(), last(), next(), and previous().
+ * @param parent The parent container
+ * @param what The type of goto: FIRST, LAST, NEXT or PREV
+ */
+ private void gotoComponent (Container parent, int what)
{
synchronized (parent.getTreeLock ())
{
@@ -301,19 +317,9 @@ public class CardLayout implements LayoutManager2, Serializable
choice = 0;
else if (what == LAST)
choice = num - 1;
- else if (what >= 0)
- choice = what;
for (int i = 0; i < num; ++i)
{
- // If TARGET is set then we are looking for a specific
- // component.
- if (target != null)
- {
- if (target == comps[i])
- choice = i;
- }
-
if (comps[i].isVisible ())
{
if (what == NEXT)
@@ -335,7 +341,7 @@ public class CardLayout implements LayoutManager2, Serializable
return;
}
comps[i].setVisible (false);
-
+
if (choice >= 0)
break;
}
@@ -403,7 +409,6 @@ public class CardLayout implements LayoutManager2, Serializable
private int LAST = 1;
private int NEXT = 2;
private int PREV = 3;
- private int NONE = 4;
// These constants are used by the private getSize method.
private int MIN = 0;
diff --git a/libjava/java/awt/CheckboxMenuItem.java b/libjava/java/awt/CheckboxMenuItem.java
index 2f7ecd79fc5..88218397c3c 100644
--- a/libjava/java/awt/CheckboxMenuItem.java
+++ b/libjava/java/awt/CheckboxMenuItem.java
@@ -84,6 +84,9 @@ private transient ItemListener item_listeners;
/**
* Initializes a new instance of <code>CheckboxMenuItem</code> with no
* label and an initial state of off.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true.
*/
public
CheckboxMenuItem()
@@ -98,6 +101,9 @@ CheckboxMenuItem()
* specified label and an initial state of off.
*
* @param label The label of the menu item.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true.
*/
public
CheckboxMenuItem(String label)
@@ -114,12 +120,18 @@ CheckboxMenuItem(String label)
* @param label The label of the menu item.
* @param state The initial state of the menu item, where <code>true</code>
* is on, and <code>false</code> is off.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true.
*/
public
CheckboxMenuItem(String label, boolean state)
{
super(label);
this.state = state;
+
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/Choice.java b/libjava/java/awt/Choice.java
index 81a2a31c932..4c7b505535c 100644
--- a/libjava/java/awt/Choice.java
+++ b/libjava/java/awt/Choice.java
@@ -85,13 +85,17 @@ private ItemListener item_listeners;
* Constructors
*/
-/**
- * Initializes a new instance of <code>Choice</code>.
- */
-public
-Choice()
-{
-}
+ /**
+ * Initializes a new instance of <code>Choice</code>.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true
+ */
+ public Choice()
+ {
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
+ }
/*************************************************************************/
@@ -146,12 +150,16 @@ getItem(int index)
* Adds the specified item to this choice box.
*
* @param item The item to add.
+ *
+ * @exception NullPointerException If the item's value is null
+ *
+ * @since 1.1
*/
public synchronized void
add(String item)
{
if (item == null)
- throw new IllegalArgumentException ("item must be non-null");
+ throw new NullPointerException ("item must be non-null");
pItems.addElement(item);
@@ -171,7 +179,12 @@ add(String item)
/**
* Adds the specified item to this choice box.
*
+ * This method is oboslete since Java 2 platform 1.1. Please use @see add
+ * instead.
+ *
* @param item The item to add.
+ *
+ * @exception NullPointerException If the item's value is equal to null
*/
public synchronized void
addItem(String item)
@@ -189,10 +202,15 @@ addItem(String item)
*
* @param item The item to add.
* @param index The index at which the item should be inserted.
+ *
+ * @exception IllegalArgumentException If index is less than 0
*/
public synchronized void
insert(String item, int index)
{
+ if (index < 0)
+ throw new IllegalArgumentException ("index may not be less then 0");
+
if (index > getItemCount ())
index = getItemCount ();
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java
index fd039116bb8..d61db055f56 100644
--- a/libjava/java/awt/Component.java
+++ b/libjava/java/awt/Component.java
@@ -1,5 +1,5 @@
/* Component.java -- a graphics component
- Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation
+ Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of GNU Classpath.
@@ -4168,19 +4168,26 @@ p * <li>the set of backward traversal keys
return;
Graphics gfx = getGraphics();
- Shape clip = event.getUpdateRect();
- gfx.setClip(clip);
-
- switch (event.id)
+ try
{
- case PaintEvent.PAINT:
- paint(gfx);
- break;
- case PaintEvent.UPDATE:
- update(gfx);
- break;
- default:
- throw new IllegalArgumentException("unknown paint event");
+ Shape clip = event.getUpdateRect();
+ gfx.setClip(clip);
+
+ switch (event.id)
+ {
+ case PaintEvent.PAINT:
+ paint(gfx);
+ break;
+ case PaintEvent.UPDATE:
+ update(gfx);
+ break;
+ default:
+ throw new IllegalArgumentException("unknown paint event");
+ }
+ }
+ finally
+ {
+ gfx.dispose();
}
}
diff --git a/libjava/java/awt/Container.java b/libjava/java/awt/Container.java
index dd2390d35ba..9494d8c56ac 100644
--- a/libjava/java/awt/Container.java
+++ b/libjava/java/awt/Container.java
@@ -59,7 +59,9 @@ import javax.accessibility.Accessible;
*
* @author original author unknown
* @author Eric Blake <ebb9@email.byu.edu>
+ *
* @since 1.0
+ *
* @status still missing 1.4 support
*/
public class Container extends Component
@@ -78,7 +80,9 @@ public class Container extends Component
Dimension maxSize;
- /** @since 1.4 */
+ /**
+ * @since 1.4
+ */
boolean focusCycleRoot;
int containerSerializedDataVersion;
@@ -107,6 +111,7 @@ public class Container extends Component
* Returns the number of components in this container.
*
* @return The number of components in this container.
+ *
* @deprecated use {@link #getComponentCount()} instead
*/
public int countComponents()
@@ -118,16 +123,19 @@ public class Container extends Component
* Returns the component at the specified index.
*
* @param index The index of the component to retrieve.
+ *
* @return The requested component.
+ *
* @throws ArrayIndexOutOfBoundsException If the specified index is invalid
*/
public Component getComponent(int n)
{
synchronized (getTreeLock ())
{
- if (n < 0 || n >= ncomponents)
- throw new ArrayIndexOutOfBoundsException("no such component");
- return component[n];
+ if (n < 0 || n >= ncomponents)
+ throw new ArrayIndexOutOfBoundsException("no such component");
+
+ return component[n];
}
}
@@ -140,10 +148,12 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- Component[] result = new Component[ncomponents];
- if (ncomponents > 0)
- System.arraycopy(component, 0, result, 0, ncomponents);
- return result;
+ Component[] result = new Component[ncomponents];
+
+ if (ncomponents > 0)
+ System.arraycopy(component, 0, result, 0, ncomponents);
+
+ return result;
}
}
@@ -157,6 +167,7 @@ public class Container extends Component
{
if (peer == null)
return new Insets(0, 0, 0, 0);
+
return ((ContainerPeer) peer).getInsets();
}
@@ -177,6 +188,7 @@ public class Container extends Component
* component list.
*
* @param component The component to add to the container.
+ *
* @return The same component that was added.
*/
public Component add(Component comp)
@@ -190,7 +202,7 @@ public class Container extends Component
* component list. This method should not be used. Instead, use
* <code>add(Component, Object</code>.
*
- * @param name FIXME
+ * @param name The name of the component to be added.
* @param component The component to be added.
*
* @return The same component that was added.
@@ -268,69 +280,70 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- if (index > ncomponents
- || (index < 0 && index != -1)
- || comp instanceof Window
- || (comp instanceof Container
- && ((Container) comp).isAncestorOf(this)))
- throw new IllegalArgumentException();
-
- // Reparent component, and make sure component is instantiated if
- // we are.
- if (comp.parent != null)
- comp.parent.remove(comp);
- comp.parent = this;
- if (peer != null)
- {
- comp.addNotify();
-
- if (comp.isLightweight())
- enableEvents(comp.eventMask);
- }
+ if (index > ncomponents
+ || (index < 0 && index != -1)
+ || comp instanceof Window
+ || (comp instanceof Container
+ && ((Container) comp).isAncestorOf(this)))
+ throw new IllegalArgumentException();
+
+ // Reparent component, and make sure component is instantiated if
+ // we are.
+ if (comp.parent != null)
+ comp.parent.remove(comp);
+ comp.parent = this;
+ if (peer != null)
+ {
+ comp.addNotify();
- invalidate();
+ if (comp.isLightweight())
+ enableEvents(comp.eventMask);
+ }
- if (component == null)
- component = new Component[4]; // FIXME, better initial size?
+ invalidate();
- // This isn't the most efficient implementation. We could do less
- // copying when growing the array. It probably doesn't matter.
- if (ncomponents >= component.length)
- {
- int nl = component.length * 2;
- Component[] c = new Component[nl];
- System.arraycopy(component, 0, c, 0, ncomponents);
- component = c;
- }
- if (index == -1)
- component[ncomponents++] = comp;
- else
- {
- System.arraycopy(component, index, component, index + 1,
- ncomponents - index);
- component[index] = comp;
- ++ncomponents;
- }
+ if (component == null)
+ component = new Component[4]; // FIXME, better initial size?
- // Notify the layout manager.
- if (layoutMgr != null)
- {
- if (layoutMgr instanceof LayoutManager2)
- {
- LayoutManager2 lm2 = (LayoutManager2) layoutMgr;
- lm2.addLayoutComponent(comp, constraints);
- }
- else if (constraints instanceof String)
- layoutMgr.addLayoutComponent((String) constraints, comp);
- else
- layoutMgr.addLayoutComponent(null, comp);
- }
+ // This isn't the most efficient implementation. We could do less
+ // copying when growing the array. It probably doesn't matter.
+ if (ncomponents >= component.length)
+ {
+ int nl = component.length * 2;
+ Component[] c = new Component[nl];
+ System.arraycopy(component, 0, c, 0, ncomponents);
+ component = c;
+ }
+
+ if (index == -1)
+ component[ncomponents++] = comp;
+ else
+ {
+ System.arraycopy(component, index, component, index + 1,
+ ncomponents - index);
+ component[index] = comp;
+ ++ncomponents;
+ }
- // Post event to notify of adding the container.
- ContainerEvent ce = new ContainerEvent(this,
- ContainerEvent.COMPONENT_ADDED,
- comp);
- getToolkit().getSystemEventQueue().postEvent(ce);
+ // Notify the layout manager.
+ if (layoutMgr != null)
+ {
+ if (layoutMgr instanceof LayoutManager2)
+ {
+ LayoutManager2 lm2 = (LayoutManager2) layoutMgr;
+ lm2.addLayoutComponent(comp, constraints);
+ }
+ else if (constraints instanceof String)
+ layoutMgr.addLayoutComponent((String) constraints, comp);
+ else
+ layoutMgr.addLayoutComponent(null, comp);
+ }
+
+ // Post event to notify of adding the container.
+ ContainerEvent ce = new ContainerEvent(this,
+ ContainerEvent.COMPONENT_ADDED,
+ comp);
+ getToolkit().getSystemEventQueue().postEvent(ce);
}
}
@@ -343,24 +356,24 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- Component r = component[index];
+ Component r = component[index];
- r.removeNotify();
+ r.removeNotify();
- System.arraycopy(component, index + 1, component, index,
- ncomponents - index - 1);
- component[--ncomponents] = null;
+ System.arraycopy(component, index + 1, component, index,
+ ncomponents - index - 1);
+ component[--ncomponents] = null;
- invalidate();
+ invalidate();
- if (layoutMgr != null)
- layoutMgr.removeLayoutComponent(r);
+ if (layoutMgr != null)
+ layoutMgr.removeLayoutComponent(r);
- // Post event to notify of adding the container.
- ContainerEvent ce = new ContainerEvent(this,
- ContainerEvent.COMPONENT_REMOVED,
- r);
- getToolkit().getSystemEventQueue().postEvent(ce);
+ // Post event to notify of adding the container.
+ ContainerEvent ce = new ContainerEvent(this,
+ ContainerEvent.COMPONENT_REMOVED,
+ r);
+ getToolkit().getSystemEventQueue().postEvent(ce);
}
}
@@ -373,14 +386,14 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- for (int i = 0; i < ncomponents; ++i)
- {
- if (component[i] == comp)
- {
- remove(i);
- break;
- }
- }
+ for (int i = 0; i < ncomponents; ++i)
+ {
+ if (component[i] == comp)
+ {
+ remove(i);
+ break;
+ }
+ }
}
}
@@ -391,8 +404,8 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- while (ncomponents > 0)
- remove(0);
+ while (ncomponents > 0)
+ remove(0);
}
}
@@ -525,6 +538,7 @@ public class Container extends Component
* Returns the preferred size of this container.
*
* @return The preferred size of this container.
+ *
* @deprecated use {@link #getPreferredSize()} instead
*/
public Dimension preferredSize()
@@ -549,6 +563,7 @@ public class Container extends Component
* Returns the minimum size of this container.
*
* @return The minimum size of this container.
+ *
* @deprecated use {@link #getMinimumSize()} instead
*/
public Dimension minimumSize()
@@ -709,6 +724,10 @@ public class Container extends Component
}
/**
+ * Returns an array of all the objects currently registered as FooListeners
+ * upon this Container. FooListeners are registered using the addFooListener
+ * method.
+ *
* @since 1.3
*/
public EventListener[] getListeners(Class listenerType)
@@ -760,6 +779,7 @@ public class Container extends Component
* AWT 1.0 event processor.
*
* @param event The event that occurred.
+ *
* @deprecated use {@link #dispatchEvent(AWTEvent)} instead
*/
public void deliverEvent(Event e)
@@ -784,20 +804,20 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- if (! contains(x, y))
- return null;
- for (int i = 0; i < ncomponents; ++i)
- {
- // Ignore invisible children...
- if (!component[i].isVisible())
- continue;
-
- int x2 = x - component[i].x;
- int y2 = y - component[i].y;
- if (component[i].contains(x2, y2))
- return component[i];
- }
- return this;
+ if (! contains(x, y))
+ return null;
+ for (int i = 0; i < ncomponents; ++i)
+ {
+ // Ignore invisible children...
+ if (!component[i].isVisible())
+ continue;
+
+ int x2 = x - component[i].x;
+ int y2 = y - component[i].y;
+ if (component[i].contains(x2, y2))
+ return component[i];
+ }
+ return this;
}
}
@@ -813,6 +833,7 @@ public class Container extends Component
*
* @return The component containing the specified point, or <code>null</code>
* if there is no such point.
+ *
* @deprecated use {@link #getComponentAt(int, int)} instead
*/
public Component locate(int x, int y)
@@ -841,31 +862,31 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- if (! contains(x, y))
- return null;
-
- for (int i = 0; i < ncomponents; ++i)
- {
- // Ignore invisible children...
- if (!component[i].isVisible())
- continue;
-
- int x2 = x - component[i].x;
- int y2 = y - component[i].y;
- // We don't do the contains() check right away because
- // findComponentAt would redundantly do it first thing.
- if (component[i] instanceof Container)
- {
- Container k = (Container) component[i];
- Component r = k.findComponentAt(x2, y2);
- if (r != null)
- return r;
- }
- else if (component[i].contains(x2, y2))
- return component[i];
- }
+ if (! contains(x, y))
+ return null;
- return this;
+ for (int i = 0; i < ncomponents; ++i)
+ {
+ // Ignore invisible children...
+ if (!component[i].isVisible())
+ continue;
+
+ int x2 = x - component[i].x;
+ int y2 = y - component[i].y;
+ // We don't do the contains() check right away because
+ // findComponentAt would redundantly do it first thing.
+ if (component[i] instanceof Container)
+ {
+ Container k = (Container) component[i];
+ Component r = k.findComponentAt(x2, y2);
+ if (r != null)
+ return r;
+ }
+ else if (component[i].contains(x2, y2))
+ return component[i];
+ }
+
+ return this;
}
}
@@ -894,9 +915,9 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- for (int i = 0; i < ncomponents; ++i)
- component[i].removeNotify();
- super.removeNotify();
+ for (int i = 0; i < ncomponents; ++i)
+ component[i].removeNotify();
+ super.removeNotify();
}
}
@@ -913,14 +934,14 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- while (true)
- {
- if (comp == null)
- return false;
- if (comp == this)
- return true;
- comp = comp.getParent();
- }
+ while (true)
+ {
+ if (comp == null)
+ return false;
+ if (comp == this)
+ return true;
+ comp = comp.getParent();
+ }
}
}
@@ -950,9 +971,9 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- super.list(out, indent);
- for (int i = 0; i < ncomponents; ++i)
- component[i].list(out, indent + 2);
+ super.list(out, indent);
+ for (int i = 0; i < ncomponents; ++i)
+ component[i].list(out, indent + 2);
}
}
@@ -967,62 +988,93 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- super.list(out, indent);
- for (int i = 0; i < ncomponents; ++i)
- component[i].list(out, indent + 2);
+ super.list(out, indent);
+ for (int i = 0; i < ncomponents; ++i)
+ component[i].list(out, indent + 2);
}
}
public void setFocusTraversalKeys(int id, Set keys)
{
+ if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS)
+ throw new IllegalArgumentException ();
}
+
public Set getFocusTraversalKeys(int id)
{
+ if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS)
+ throw new IllegalArgumentException ();
+
return null;
}
+
public boolean areFocusTraversalKeysSet(int id)
{
+ if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS &&
+ id != KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS)
+ throw new IllegalArgumentException ();
+
return false;
}
+
public boolean isFocusCycleRoot(Container c)
{
return false;
}
+
public void transferFocusBackward()
{
}
+
public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
{
}
+
public FocusTraversalPolicy getFocusTraversalPolicy()
{
return null;
}
+
public boolean isFocusTraversalPolicySet()
{
return false;
}
+
public void setFocusCycleRoot(boolean focusCycleRoot)
{
}
+
public boolean isFocusCycleRoot()
{
return false;
}
+
public void transferFocusDownCycle()
{
}
+
public void applyComponentOrientation(ComponentOrientation o)
{
+ if (orientation == null)
+ throw new NullPointerException ();
}
+
public void addPropertyChangeListener(PropertyChangeListener l)
{
}
+
public void addPropertyChangeListener(String name, PropertyChangeListener l)
{
}
-
// Hidden helper methods.
/**
@@ -1044,14 +1096,14 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- for (int i = 0; i < ncomponents; ++i)
- {
- Component comp = component[i];
- boolean applicable = comp.isVisible()
- && (comp.isLightweight() || !lightweightOnly);
-
- if (applicable)
- visitChild(gfx, visitor, comp);
+ for (int i = 0; i < ncomponents; ++i)
+ {
+ Component comp = component[i];
+ boolean applicable = comp.isVisible()
+ && (comp.isLightweight() || !lightweightOnly);
+
+ if (applicable)
+ visitChild(gfx, visitor, comp);
}
}
}
@@ -1100,50 +1152,50 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- int start, end;
- if (child != null)
- {
- for (start = 0; start < ncomponents; ++start)
- {
- if (component[start] == child)
- break;
- }
- end = start;
- // This special case lets us be sure to terminate.
- if (end == 0)
- end = ncomponents;
- ++start;
- }
- else
- {
- start = 0;
- end = ncomponents;
- }
+ int start, end;
+ if (child != null)
+ {
+ for (start = 0; start < ncomponents; ++start)
+ {
+ if (component[start] == child)
+ break;
+ }
+ end = start;
+ // This special case lets us be sure to terminate.
+ if (end == 0)
+ end = ncomponents;
+ ++start;
+ }
+ else
+ {
+ start = 0;
+ end = ncomponents;
+ }
- for (int j = start; j != end; ++j)
- {
- if (j >= ncomponents)
- {
- // The JCL says that we should wrap here. However, that
- // seems wrong. To me it seems that focus order should be
- // global within in given window. So instead if we reach
- // the end we try to look in our parent, if we have one.
- if (parent != null)
- return parent.findNextFocusComponent(this);
- j -= ncomponents;
- }
- if (component[j] instanceof Container)
- {
- Component c = component[j];
- c = c.findNextFocusComponent(null);
- if (c != null)
- return c;
- }
- else if (component[j].isFocusTraversable())
- return component[j];
- }
+ for (int j = start; j != end; ++j)
+ {
+ if (j >= ncomponents)
+ {
+ // The JCL says that we should wrap here. However, that
+ // seems wrong. To me it seems that focus order should be
+ // global within in given window. So instead if we reach
+ // the end we try to look in our parent, if we have one.
+ if (parent != null)
+ return parent.findNextFocusComponent(this);
+ j -= ncomponents;
+ }
+ if (component[j] instanceof Container)
+ {
+ Component c = component[j];
+ c = c.findNextFocusComponent(null);
+ if (c != null)
+ return c;
+ }
+ else if (component[j].isFocusTraversable())
+ return component[j];
+ }
- return null;
+ return null;
}
}
@@ -1151,16 +1203,15 @@ public class Container extends Component
{
synchronized (getTreeLock ())
{
- for (int i = ncomponents; --i >= 0; )
- {
- component[i].addNotify();
- if (component[i].isLightweight())
- enableEvents(component[i].eventMask);
- }
+ for (int i = ncomponents; --i >= 0; )
+ {
+ component[i].addNotify();
+ if (component[i].isLightweight())
+ enableEvents(component[i].eventMask);
+ }
}
}
-
// Nested classes.
/* The following classes are used in concert with the
@@ -1200,6 +1251,7 @@ public class Container extends Component
* This class provides accessibility support for subclasses of container.
*
* @author Eric Blake <ebb9@email.byu.edu>
+ *
* @since 1.3
*/
protected class AccessibleAWTContainer extends AccessibleAWTComponent
@@ -1234,14 +1286,14 @@ public class Container extends Component
public int getAccessibleChildrenCount()
{
synchronized (getTreeLock ())
- {
- int count = 0;
- int i = component == null ? 0 : component.length;
- while (--i >= 0)
- if (component[i] instanceof Accessible)
- count++;
- return count;
- }
+ {
+ int count = 0;
+ int i = component == null ? 0 : component.length;
+ while (--i >= 0)
+ if (component[i] instanceof Accessible)
+ count++;
+ return count;
+ }
}
/**
@@ -1253,17 +1305,17 @@ public class Container extends Component
public Accessible getAccessibleChild(int i)
{
synchronized (getTreeLock ())
- {
- if (component == null)
- return null;
- int index = -1;
- while (i >= 0 && ++index < component.length)
- if (component[index] instanceof Accessible)
- i--;
- if (i < 0)
- return (Accessible) component[index];
- return null;
- }
+ {
+ if (component == null)
+ return null;
+ int index = -1;
+ while (i >= 0 && ++index < component.length)
+ if (component[index] instanceof Accessible)
+ i--;
+ if (i < 0)
+ return (Accessible) component[index];
+ return null;
+ }
}
/**
@@ -1271,7 +1323,9 @@ public class Container extends Component
* coordinates), if one exists.
*
* @param p the point to look at
+ *
* @return an accessible object at that point, or null
+ *
* @throws NullPointerException if p is null
*/
public Accessible getAccessibleAt(Point p)
@@ -1286,6 +1340,7 @@ public class Container extends Component
* when children are added or removed from the enclosing accessible object.
*
* @author Eric Blake <ebb9@email.byu.edu>
+ *
* @since 1.3
*/
protected class AccessibleContainerHandler implements ContainerListener
@@ -1324,7 +1379,6 @@ public class Container extends Component
} // class AccessibleAWTPanel
} // class Container
-
/**
* Undocumented helper class.
* STUBBED
@@ -1339,39 +1393,50 @@ class LightweightDispatcher implements Serializable, AWTEventListener
private transient boolean isMouseInNativeContainer;
private Cursor nativeCursor;
private long eventMask;
+
LightweightDispatcher(Container c)
{
}
+
void dispose()
{
}
+
void enableEvents(long l)
{
}
+
boolean dispatchEvent(AWTEvent e)
{
return true;
}
+
boolean isMouseGrab(MouseEvent e)
{
return true;
}
+
boolean processMouseEvent(MouseEvent e)
{
return true;
}
+
void trackMouseEnterExit(Component c, MouseEvent e)
{
}
+
void startListeningForOtherDrags()
{
}
+
void stopListeningForOtherDrags()
{
}
+
public void eventDispatched(AWTEvent e)
{
}
+
void retargetMouseEvent(Component c, int i, MouseEvent e)
{
}
diff --git a/libjava/java/awt/Cursor.java b/libjava/java/awt/Cursor.java
index 5852b8bbf85..8652a1e5ebe 100644
--- a/libjava/java/awt/Cursor.java
+++ b/libjava/java/awt/Cursor.java
@@ -133,11 +133,14 @@ public class Cursor implements java.io.Serializable
* type.
*
* @param type The cursor type.
+ *
+ * @exception IllegalArgumentException If the specified cursor type is invalid
*/
public Cursor(int type)
{
if (type < 0 || type >= PREDEFINED_COUNT)
throw new IllegalArgumentException ("invalid cursor " + type);
+
this.type = type;
// FIXME: lookup and set name?
}
@@ -171,9 +174,20 @@ public class Cursor implements java.io.Serializable
return predefined[type];
}
+ /**
+ * Retrieves the system specific custom Cursor named Cursor names are,
+ * for example: "Invalid.16x16".
+ *
+ * @exception AWTException
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true.
+ */
public static Cursor getSystemCustomCursor(String name)
throws AWTException
{
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
+
// FIXME
return null;
}
diff --git a/libjava/java/awt/DisplayMode.java b/libjava/java/awt/DisplayMode.java
index b988e20be5e..533ab5ef482 100644
--- a/libjava/java/awt/DisplayMode.java
+++ b/libjava/java/awt/DisplayMode.java
@@ -1,5 +1,5 @@
/* DisplayMode.java -- a description of display mode configurations
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -140,16 +140,16 @@ public final class DisplayMode
* Test for equality. This returns true for two modes with identical
* parameters.
*
- * @param o the object to compare to
+ * @param dm The display mode to compare to
+ *
* @return true if it is equal
*/
- public boolean equals(Object o)
+ public boolean equals (DisplayMode dm)
{
- if (! (o instanceof DisplayMode))
- return false;
- DisplayMode m = (DisplayMode) o;
- return width == m.width && height == m.height && bitDepth == m.bitDepth
- && refreshRate == m.refreshRate;
+ return (width == dm.width
+ && height == dm.height
+ && bitDepth == dm.bitDepth
+ && refreshRate == dm.refreshRate);
}
/**
diff --git a/libjava/java/awt/EventQueue.java b/libjava/java/awt/EventQueue.java
index 1ce3d163181..6b64fb7ee3b 100644
--- a/libjava/java/awt/EventQueue.java
+++ b/libjava/java/awt/EventQueue.java
@@ -151,6 +151,8 @@ public class EventQueue
* Posts a new event to the queue.
*
* @param event The event to post to the queue.
+ *
+ * @exception NullPointerException If event is null.
*/
public synchronized void postEvent(AWTEvent evt)
{
@@ -209,7 +211,19 @@ public class EventQueue
notify();
}
- /** @since JDK1.2 */
+ /**
+ * Causes runnable to have its run method called in the dispatch thread of the
+ * EventQueue. This will happen after all pending events are processed. The
+ * call blocks until this has happened. This method will throw an Error if
+ * called from the event dispatcher thread.
+ *
+ * @exception InterruptedException If another thread has interrupted
+ * this thread.
+ * @exception InvocationTargetException If an exception is thrown when running
+ * runnable.
+ *
+ * @since 1.2
+ */
public static void invokeAndWait(Runnable runnable)
throws InterruptedException, InvocationTargetException
{
@@ -254,6 +268,8 @@ public class EventQueue
* All pending events are transferred to the new queue. Calls to postEvent,
* getNextEvent, and peekEvent are forwarded to the pushed queue until it
* is removed with a pop().
+ *
+ * @exception NullPointerException if newEventQueue is null.
*/
public synchronized void push(EventQueue newEventQueue)
{
@@ -271,7 +287,11 @@ public class EventQueue
}
/** Transfer any pending events from this queue back to the parent queue that
- * was previously push()ed. Event dispatch from this queue is suspended. */
+ * was previously push()ed. Event dispatch from this queue is suspended.
+ *
+ * @exception EmptyStackException If no previous push was made on this
+ * EventQueue.
+ */
protected void pop() throws EmptyStackException
{
if (prev == null)
@@ -297,6 +317,12 @@ public class EventQueue
}
}
+ /**
+ * Dispatches an event. The manner in which the event is dispatched depends
+ * upon the type of the event and the type of the event's source object.
+ *
+ * @exception NullPointerException If event is null.
+ */
protected void dispatchEvent(AWTEvent evt)
{
if (evt instanceof ActiveEvent)
diff --git a/libjava/java/awt/FileDialog.java b/libjava/java/awt/FileDialog.java
index 2019572d5f6..764424c82c3 100644
--- a/libjava/java/awt/FileDialog.java
+++ b/libjava/java/awt/FileDialog.java
@@ -142,16 +142,15 @@ FileDialog(Frame parent, String title)
* @param title The title for this dialog.
* @param mode The mode of the dialog, either <code>LOAD</code> or
* <code>SAVE</code>.
+ *
+ * @exception IllegalArgumentException If an illegal file dialog mode
+ * is supplied.
*/
public
FileDialog(Frame parent, String title, int mode)
{
super(parent, title, true);
-
- if ((mode != LOAD) && (mode != SAVE))
- throw new IllegalArgumentException("Bad mode: " + mode);
-
- this.mode = mode;
+ setMode (mode);
}
/*************************************************************************/
@@ -180,6 +179,9 @@ getMode()
* peer is created.
*
* @param mode The new mode of this file dialog.
+ *
+ * @exception IllegalArgumentException If an illegal file dialog mode
+ * is supplied.
*/
public void
setMode(int mode)
diff --git a/libjava/java/awt/Graphics2D.java b/libjava/java/awt/Graphics2D.java
index 879fae5ad51..ed80936bfcb 100644
--- a/libjava/java/awt/Graphics2D.java
+++ b/libjava/java/awt/Graphics2D.java
@@ -38,6 +38,7 @@ package java.awt;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
+import java.awt.image.BufferedImageOp;
import java.awt.image.RenderedImage;
import java.awt.image.ImageObserver;
import java.awt.image.renderable.RenderableImage;
@@ -74,7 +75,7 @@ public abstract class Graphics2D extends Graphics
ImageObserver obs);
public abstract void drawImage(BufferedImage image,
- BufferedImage op,
+ BufferedImageOp op,
int x,
int y);
diff --git a/libjava/java/awt/Label.java b/libjava/java/awt/Label.java
index 36ea45b944a..4f248c30bb9 100644
--- a/libjava/java/awt/Label.java
+++ b/libjava/java/awt/Label.java
@@ -40,6 +40,8 @@ package java.awt;
import java.awt.peer.LabelPeer;
import java.awt.peer.ComponentPeer;
+import java.io.Serializable;
+import javax.accessibility.Accessible;
/**
* This component is used for displaying simple text strings that cannot
@@ -48,7 +50,7 @@ import java.awt.peer.ComponentPeer;
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey <tromey@cygnus.com>
*/
-public class Label extends Component implements java.io.Serializable
+public class Label extends Component implements Serializable, Accessible
{
/*
@@ -99,6 +101,8 @@ private String text;
/**
* Initializes a new instance of <code>Label</code> with no text.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
Label()
@@ -113,6 +117,8 @@ Label()
* text that is aligned to the left.
*
* @param text The text of the label.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
Label(String text)
@@ -130,12 +136,17 @@ Label(String text)
* @param alignment The desired alignment for the text in this label,
* which must be one of <code>LEFT</code>, <code>CENTER</code>, or
* <code>RIGHT</code>.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
Label(String text, int alignment)
{
setAlignment (alignment);
setText (text);
+
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/List.java b/libjava/java/awt/List.java
index f2c6d078832..561a30d4dab 100644
--- a/libjava/java/awt/List.java
+++ b/libjava/java/awt/List.java
@@ -46,13 +46,15 @@ import java.awt.event.ItemListener;
import java.awt.peer.ListPeer;
import java.awt.peer.ComponentPeer;
import java.util.Vector;
+import javax.accessibility.Accessible;
/**
* Class that implements a listbox widget
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
-public class List extends Component implements ItemSelectable, Serializable
+public class List extends Component
+ implements ItemSelectable, Serializable, Accessible
{
/*
@@ -113,6 +115,8 @@ private ActionListener action_listeners;
/**
* Initializes a new instance of <code>List</code> with no visible lines
* and multi-select disabled.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
List()
@@ -127,6 +131,8 @@ List()
* number of visible lines and multi-select disabled.
*
* @param lines The number of visible lines in the list.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
List(int rows)
@@ -143,12 +149,17 @@ List(int rows)
* @param lines The number of visible lines in the list.
* @param multipleMode <code>true</code> if multiple lines can be selected
* simultaneously, <code>false</code> otherwise.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
List(int rows, boolean multipleMode)
{
this.rows = rows;
this.multipleMode = multipleMode;
+
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java
index 18d63be7490..326101b76e5 100644
--- a/libjava/java/awt/Menu.java
+++ b/libjava/java/awt/Menu.java
@@ -95,6 +95,8 @@ static final MenuItem separator = new MenuItem("-");
/**
* Initializes a new instance of <code>Menu</code> with no label and that
* is not a tearoff;
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
Menu()
@@ -108,6 +110,8 @@ Menu()
* that has the specified label.
*
* @param label The menu label.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
Menu(String label)
@@ -124,6 +128,8 @@ Menu(String label)
* @param label The label for this menu
* @param isTearOff <code>true</code> if this menu is a tear off menu,
* <code>false</code> otherwise.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
Menu(String label, boolean isTearOff)
@@ -134,6 +140,9 @@ Menu(String label, boolean isTearOff)
if (label.equals("Help"))
isHelpMenu = true;
+
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java
index 2e1a9636155..b9ddef9aa1b 100644
--- a/libjava/java/awt/MenuBar.java
+++ b/libjava/java/awt/MenuBar.java
@@ -86,10 +86,14 @@ private Vector menus = new Vector();
/**
* Initializes a new instance of <code>MenuBar</code>.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
MenuBar()
{
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/MenuComponent.java b/libjava/java/awt/MenuComponent.java
index b9c6ea020f1..548aa77937a 100644
--- a/libjava/java/awt/MenuComponent.java
+++ b/libjava/java/awt/MenuComponent.java
@@ -92,10 +92,14 @@ private static transient Toolkit toolkit = Toolkit.getDefaultToolkit();
/**
* Default constructor for subclasses.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected
MenuComponent()
{
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/PopupMenu.java b/libjava/java/awt/PopupMenu.java
index 9553b87f10a..d0f1980472b 100644
--- a/libjava/java/awt/PopupMenu.java
+++ b/libjava/java/awt/PopupMenu.java
@@ -65,6 +65,9 @@ private static final long serialVersionUID = -4620452533522760060L;
/**
* Initializes a new instance of <code>PopupMenu</code>.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true.
*/
public
PopupMenu()
@@ -78,11 +81,17 @@ PopupMenu()
* label.
*
* @param label The label for this popup menu.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless()
+ * returns true.
*/
public
PopupMenu(String label)
{
super(label);
+
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/ScrollPane.java b/libjava/java/awt/ScrollPane.java
index e558d0bc23f..045600cddf2 100644
--- a/libjava/java/awt/ScrollPane.java
+++ b/libjava/java/awt/ScrollPane.java
@@ -41,6 +41,8 @@ package java.awt;
import java.awt.peer.ScrollPanePeer;
import java.awt.peer.ContainerPeer;
import java.awt.peer.ComponentPeer;
+import java.io.Serializable;
+import javax.accessibility.Accessible;
/**
* This widget provides a scrollable region that allows a single
@@ -48,7 +50,7 @@ import java.awt.peer.ComponentPeer;
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
-public class ScrollPane extends Container implements java.io.Serializable
+public class ScrollPane extends Container implements Accessible, Serializable
{
/*
@@ -113,6 +115,8 @@ private Point scrollPosition = new Point(0, 0);
/**
* Initializes a new instance of <code>ScrollPane</code> with a default
* scrollbar policy of <code>SCROLLBARS_AS_NEEDED</code>.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
ScrollPane()
@@ -128,10 +132,15 @@ ScrollPane()
*
* @param scrollbarDisplayPolicy When to display scrollbars, which must
* be one of the constants defined in this class.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public
ScrollPane(int scrollbarDisplayPolicy)
{
+ if (GraphicsEnvironment.isHeadless ())
+ throw new HeadlessException ();
+
this.scrollbarDisplayPolicy = scrollbarDisplayPolicy;
if (scrollbarDisplayPolicy != SCROLLBARS_ALWAYS
diff --git a/libjava/java/awt/Scrollbar.java b/libjava/java/awt/Scrollbar.java
index 1f1875955bf..4bdc3166ad9 100644
--- a/libjava/java/awt/Scrollbar.java
+++ b/libjava/java/awt/Scrollbar.java
@@ -1,5 +1,5 @@
/* Scrollbar.java -- AWT Scrollbar widget
- Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -40,9 +40,10 @@ package java.awt;
import java.awt.peer.ScrollbarPeer;
import java.awt.peer.ComponentPeer;
-
import java.awt.event.AdjustmentListener;
import java.awt.event.AdjustmentEvent;
+import java.io.Serializable;
+import javax.accessibility.Accessible;
/**
* This class implements a scrollbar widget.
@@ -50,8 +51,9 @@ import java.awt.event.AdjustmentEvent;
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey <tromey@cygnus.com>
*/
-public class Scrollbar extends Component implements Adjustable,
- java.io.Serializable
+public class Scrollbar extends Component implements Accessible,
+ Adjustable,
+ Serializable
{
// FIXME: Serialization readObject/writeObject
@@ -126,7 +128,9 @@ private AdjustmentListener adjustment_listeners;
/**
* Initializes a new instance of <code>Scrollbar</code> with a
- * veritical orientation and default values for all other parameters.
+ * vertical orientation and default values for all other parameters.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
Scrollbar()
@@ -145,6 +149,7 @@ Scrollbar()
*
* @param orientation The orientation of this scrollbar.
*
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
* @exception IllegalArgumentException If the orientation value is not valid.
*/
public
@@ -168,12 +173,16 @@ Scrollbar(int orientation) throws IllegalArgumentException
* @param minimum The minimum value of the scrollbar.
* @param maximum The maximum value of the scrollbar.
*
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
* @exception IllegalArgumentException If the orientation value is not valid.
*/
public
Scrollbar(int orientation, int value, int visibleAmount, int minimum,
int maximum) throws IllegalArgumentException
{
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
+
if ((orientation != HORIZONTAL) && (orientation != VERTICAL))
throw new IllegalArgumentException("Bad orientation value: "
+ orientation);
diff --git a/libjava/java/awt/TextArea.java b/libjava/java/awt/TextArea.java
index 799656ec554..f164add49a1 100644
--- a/libjava/java/awt/TextArea.java
+++ b/libjava/java/awt/TextArea.java
@@ -109,6 +109,8 @@ private int scrollbarVisibility;
* Initialize a new instance of <code>TextArea</code> that is empty
* and is one row and one column. Both horizontal and vertical
* scrollbars will be used.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextArea()
@@ -124,6 +126,8 @@ TextArea()
* scrollbars will be used.
*
* @param text The text to display in this text area.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextArea(String text)
@@ -140,6 +144,8 @@ TextArea(String text)
*
* @param rows The number of rows in this text area.
* @param columns The number of columns in this text area.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextArea(int rows, int columns)
@@ -156,6 +162,8 @@ TextArea(int rows, int columns)
* @param text The text to display in this text area.
* @param rows The number of rows in this text area.
* @param columns The number of columns in this text area.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextArea(String text, int rows, int columns)
@@ -174,12 +182,17 @@ TextArea(String text, int rows, int columns)
* @param rows The number of rows in this text area.
* @param columns The number of columns in this text area.
* @param scrollbarVisibility Which scrollbars to display.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextArea(String text, int rows, int columns, int scrollbarVisibility)
{
super(text);
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
+
if ((rows < 1) || (columns < 0))
throw new IllegalArgumentException("Bad row or column value");
diff --git a/libjava/java/awt/TextComponent.java b/libjava/java/awt/TextComponent.java
index 5ba80edc1da..6dc904cc8b1 100644
--- a/libjava/java/awt/TextComponent.java
+++ b/libjava/java/awt/TextComponent.java
@@ -291,10 +291,18 @@ getCaretPosition()
* Sets the caret position to the specified value.
*
* @param caretPosition The new caret position.
+ *
+ * @exception IllegalArgumentException If the value supplied for position
+ * is less than zero.
+ *
+ * @since 1.1
*/
public synchronized void
setCaretPosition(int caretPosition)
{
+ if (caretPosition < 0)
+ throw new IllegalArgumentException ();
+
TextComponentPeer tcp = (TextComponentPeer)getPeer();
if (tcp != null)
tcp.setCaretPosition(caretPosition);
diff --git a/libjava/java/awt/TextField.java b/libjava/java/awt/TextField.java
index 28d444ce95f..0106d77e3ad 100644
--- a/libjava/java/awt/TextField.java
+++ b/libjava/java/awt/TextField.java
@@ -84,9 +84,11 @@ private ActionListener action_listeners;
* Constructors
*/
-/*
+/**
* Initializes a new instance of <code>TextField</code> that is empty
* and has one column.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextField()
@@ -102,6 +104,8 @@ TextField()
* length of the text string.
*
* @param text The text to display in the field.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextField(String text)
@@ -116,6 +120,8 @@ TextField(String text)
* and has the specified number of columns.
*
* @param columns The number of columns in the text field.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextField(int columns)
@@ -131,12 +137,17 @@ TextField(int columns)
*
* @param text The text to display in the field.
* @param columns The number of columns in the field.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true,
*/
public
TextField(String text, int columns)
{
super(text);
this.columns = columns;
+
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
/*************************************************************************/
diff --git a/libjava/java/awt/Toolkit.java b/libjava/java/awt/Toolkit.java
index fb5e020a29e..da9bc0e4e4b 100644
--- a/libjava/java/awt/Toolkit.java
+++ b/libjava/java/awt/Toolkit.java
@@ -123,7 +123,10 @@ public abstract class Toolkit
* Creates a peer object for the specified <code>Button</code>.
*
* @param target The <code>Button</code> to create the peer for.
+ *
* @return The peer for the specified <code>Button</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract ButtonPeer createButton(Button target);
@@ -132,6 +135,8 @@ public abstract class Toolkit
*
* @param target The <code>TextField</code> to create the peer for.
* @return The peer for the specified <code>TextField</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract TextFieldPeer createTextField(TextField target);
@@ -140,6 +145,8 @@ public abstract class Toolkit
*
* @param target The <code>Label</code> to create the peer for.
* @return The peer for the specified <code>Label</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract LabelPeer createLabel(Label target);
@@ -148,6 +155,8 @@ public abstract class Toolkit
*
* @param target The <code>List</code> to create the peer for.
* @return The peer for the specified <code>List</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract ListPeer createList(List target);
@@ -156,6 +165,8 @@ public abstract class Toolkit
*
* @param target The <code>Checkbox</code> to create the peer for.
* @return The peer for the specified <code>Checkbox</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract CheckboxPeer createCheckbox(Checkbox target);
@@ -164,6 +175,8 @@ public abstract class Toolkit
*
* @param target The <code>Scrollbar</code> to create the peer for.
* @return The peer for the specified <code>Scrollbar</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract ScrollbarPeer createScrollbar(Scrollbar target);
@@ -172,6 +185,8 @@ public abstract class Toolkit
*
* @param target The <code>ScrollPane</code> to create the peer for.
* @return The peer for the specified <code>ScrollPane</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract ScrollPanePeer createScrollPane(ScrollPane target);
@@ -180,6 +195,8 @@ public abstract class Toolkit
*
* @param target The <code>TextArea</code> to create the peer for.
* @return The peer for the specified <code>TextArea</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract TextAreaPeer createTextArea(TextArea target);
@@ -188,6 +205,8 @@ public abstract class Toolkit
*
* @param target The <code>Choice</code> to create the peer for.
* @return The peer for the specified <code>Choice</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract ChoicePeer createChoice(Choice target);
@@ -196,6 +215,8 @@ public abstract class Toolkit
*
* @param target The <code>Frame</code> to create the peer for.
* @return The peer for the specified <code>Frame</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract FramePeer createFrame(Frame target);
@@ -220,6 +241,8 @@ public abstract class Toolkit
*
* @param target The <code>Window</code> to create the peer for.
* @return The peer for the specified <code>Window</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract WindowPeer createWindow(Window target);
@@ -228,6 +251,8 @@ public abstract class Toolkit
*
* @param target The dialog to create the peer for
* @return The peer for the specified font name.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract DialogPeer createDialog(Dialog target);
@@ -236,6 +261,8 @@ public abstract class Toolkit
*
* @param target The <code>MenuBar</code> to create the peer for.
* @return The peer for the specified <code>MenuBar</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract MenuBarPeer createMenuBar(MenuBar target);
@@ -244,6 +271,8 @@ public abstract class Toolkit
*
* @param target The <code>Menu</code> to create the peer for.
* @return The peer for the specified <code>Menu</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract MenuPeer createMenu(Menu target);
@@ -252,6 +281,8 @@ public abstract class Toolkit
*
* @param target The <code>PopupMenu</code> to create the peer for.
* @return The peer for the specified <code>PopupMenu</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract PopupMenuPeer createPopupMenu(PopupMenu target);
@@ -260,6 +291,8 @@ public abstract class Toolkit
*
* @param target The <code>MenuItem</code> to create the peer for.
* @return The peer for the specified <code>MenuItem</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract MenuItemPeer createMenuItem(MenuItem target);
@@ -268,6 +301,8 @@ public abstract class Toolkit
*
* @param target The <code>FileDialog</code> to create the peer for.
* @return The peer for the specified <code>FileDialog</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract FileDialogPeer createFileDialog(FileDialog target);
@@ -276,6 +311,8 @@ public abstract class Toolkit
*
* @param target The <code>CheckboxMenuItem</code> to create the peer for.
* @return The peer for the specified <code>CheckboxMenuItem</code> object.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected abstract CheckboxMenuItemPeer
createCheckboxMenuItem(CheckboxMenuItem target);
@@ -310,6 +347,8 @@ public abstract class Toolkit
* the interface used by the <code>SystemColors</code> class.
*
* @param colors The array to copy the system colors into.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected void loadSystemColors(int systemColors[])
{
@@ -318,6 +357,8 @@ public abstract class Toolkit
/**
* @since 1.4
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public void setDynamicLayout(boolean dynamic)
{
@@ -325,6 +366,8 @@ public abstract class Toolkit
/**
* @since 1.4
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
protected boolean isDynamicLayoutSet()
{
@@ -333,6 +376,8 @@ public abstract class Toolkit
/**
* @since 1.4
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public boolean isDynamicLayoutActive()
{
@@ -343,6 +388,8 @@ public abstract class Toolkit
* Returns the dimensions of the screen in pixels.
*
* @return The dimensions of the screen in pixels.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public abstract Dimension getScreenSize();
@@ -350,10 +397,14 @@ public abstract class Toolkit
* Returns the screen resolution in dots per square inch.
*
* @return The screen resolution in dots per square inch.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public abstract int getScreenResolution();
/**
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
+ *
* @since 1.4
*/
public Insets getScreenInsets(GraphicsConfiguration gc)
@@ -396,6 +447,7 @@ public abstract class Toolkit
* if the property is not set.
*
* @return An instance of the system default toolkit.
+ *
* @throws AWTError If the toolkit cannot be loaded.
*/
public static Toolkit getDefaultToolkit()
@@ -450,6 +502,7 @@ public abstract class Toolkit
* @param height The height of the image.
* @param observer The observer to receive events about the preparation
* process.
+ *
* @return <code>true</code> if the image is already prepared for rendering,
* <code>false</code> otherwise.
*/
@@ -465,6 +518,7 @@ public abstract class Toolkit
* @param height The height of the image.
* @param observer The observer to receive events about the preparation
* process.
+ *
* @return A union of the bitmasks from
* <code>java.awt.image.ImageObserver</code> that indicates the current
* state of the imaging readying process.
@@ -476,6 +530,7 @@ public abstract class Toolkit
* Creates an image using the specified <code>ImageProducer</code>
*
* @param producer The <code>ImageProducer</code> to create the image from.
+ *
* @return The created image.
*/
public abstract Image createImage(ImageProducer producer);
@@ -485,6 +540,7 @@ public abstract class Toolkit
* a recognized format. Supported formats vary from toolkit to toolkit.
*
* @param data The raw image data.
+ *
* @return The created image.
*/
public Image createImage(byte[] data)
@@ -500,6 +556,7 @@ public abstract class Toolkit
* @param data The raw image data.
* @param offset The offset into the data where the image data starts.
* @param len The length of the image data.
+ *
* @return The created image.
*/
public abstract Image createImage(byte[] data, int offset, int len);
@@ -511,6 +568,7 @@ public abstract class Toolkit
* @param frame The window initiating the print job.
* @param title The print job title.
* @param props The print job properties.
+ *
* @return The requested print job, or <code>null</code> if the job
* was cancelled.
*/
@@ -536,10 +594,14 @@ public abstract class Toolkit
* Returns the system clipboard.
*
* @return THe system clipboard.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public abstract Clipboard getSystemClipboard();
/**
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
+ *
* @since 1.4
*/
public Clipboard getSystemSelection()
@@ -553,6 +615,8 @@ public abstract class Toolkit
* to change the default.
*
* @return The key mask for the menu accelerator key.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
*/
public int getMenuShortcutKeyMask()
{
diff --git a/libjava/java/awt/Window.java b/libjava/java/awt/Window.java
index b8befaf0507..31e6b573f53 100644
--- a/libjava/java/awt/Window.java
+++ b/libjava/java/awt/Window.java
@@ -86,32 +86,56 @@ public class Window extends Container
* parent. The window will initially be invisible.
*
* @param parent The owning <code>Frame</code> of this window.
+ *
+ * @exception IllegalArgumentException If the owner's GraphicsConfiguration
+ * is not from a screen device, or if owner is null; this exception is always
+ * thrown when GraphicsEnvironment.isHeadless returns true.
*/
public Window(Frame owner)
{
- this((Window) owner);
+ this (owner, owner.getGraphicsConfiguration ());
}
- /** @since 1.2 */
+ /**
+ * Initializes a new instance of <code>Window</code> with the specified
+ * parent. The window will initially be invisible.
+ *
+ * @exception IllegalArgumentException If the owner's GraphicsConfiguration
+ * is not from a screen device, or if owner is null; this exception is always
+ * thrown when GraphicsEnvironment.isHeadless returns true.
+ *
+ * @since 1.2
+ */
public Window(Window owner)
{
- this();
- if (owner == null)
- throw new IllegalArgumentException("owner must not be null");
-
- this.parent = owner;
-
- // FIXME: add to owner's "owned window" list
- //owner.owned.add(this); // this should be a weak reference
+ this (owner, owner.getGraphicsConfiguration ());
}
- /** @since 1.3 */
+ /**
+ * Initializes a new instance of <code>Window</code> with the specified
+ * parent. The window will initially be invisible.
+ *
+ * @exception IllegalArgumentException If owner is null or if gc is not from a
+ * screen device; this exception is always thrown when
+ * GraphicsEnvironment.isHeadless returns true.
+ *
+ * @since 1.3
+ */
public Window(Window owner, GraphicsConfiguration gc)
{
- this(owner);
+ this ();
+
+ if (owner == null)
+ throw new IllegalArgumentException ("owner must not be null");
+ this.parent = owner;
+
+ // FIXME: add to owner's "owned window" list
+ //owner.owned.add(this); // this should be a weak reference
+
/* FIXME: Security check
SecurityManager.checkTopLevelWindow(...)
+ */
if (gc != null
&& gc.getDevice().getType() != GraphicsDevice.TYPE_RASTER_SCREEN)
@@ -119,11 +143,10 @@ public class Window extends Container
if (gc == null)
graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment()
- .getDefaultScreenDevice()
- .getDefaultConfiguration();
+ .getDefaultScreenDevice()
+ .getDefaultConfiguration();
else
- */
- graphicsConfiguration = gc;
+ graphicsConfiguration = gc;
}
GraphicsConfiguration getGraphicsConfigurationImpl()
@@ -134,6 +157,12 @@ public class Window extends Container
return super.getGraphicsConfigurationImpl();
}
+ /**
+ * Disposes of the input methods and context, and removes the WeakReference
+ * which formerly pointed to this Window from the parent's owned Window list.
+ *
+ * @exception Throwable The Exception raised by this method.
+ */
protected void finalize() throws Throwable
{
// FIXME: remove from owner's "owned window" list (Weak References)
@@ -185,7 +214,7 @@ public class Window extends Container
public void hide()
{
- // FIXME: call hide() on amy "owned" children here.
+ // FIXME: call hide() on any "owned" children here.
super.hide();
}
@@ -233,8 +262,8 @@ public class Window extends Container
{
if (peer != null)
{
- WindowPeer wp = (WindowPeer) peer;
- wp.toFront();
+ WindowPeer wp = (WindowPeer) peer;
+ wp.toFront();
}
}
@@ -265,12 +294,12 @@ public class Window extends Container
if (!secure)
{
if (warningString != null)
- return warningString;
- else
- {
- String warning = System.getProperty("awt.appletWarning");
- return warning;
- }
+ return warningString;
+ else
+ {
+ String warning = System.getProperty("awt.appletWarning");
+ return warning;
+ }
}
return null;
}
@@ -338,6 +367,11 @@ public class Window extends Container
windowListener = AWTEventMulticaster.remove(windowListener, listener);
}
+ /**
+ * Returns an array of all the window listeners registered on this window.
+ *
+ * @since 1.4
+ */
public synchronized WindowListener[] getWindowListeners()
{
return (WindowListener[])
@@ -345,7 +379,16 @@ public class Window extends Container
WindowListener.class);
}
- /** @since 1.3 */
+ /**
+ * Returns an array of all the objects currently registered as FooListeners
+ * upon this Window. FooListeners are registered using the addFooListener
+ * method.
+ *
+ * @exception ClassCastException If listenerType doesn't specify a class or
+ * interface that implements java.util.EventListener.
+ *
+ * @since 1.3
+ */
public EventListener[] getListeners(Class listenerType)
{
if (listenerType == WindowListener.class)
diff --git a/libjava/java/awt/color/CMMException.java b/libjava/java/awt/color/CMMException.java
index 0d146e6c6eb..a0948ef27eb 100644
--- a/libjava/java/awt/color/CMMException.java
+++ b/libjava/java/awt/color/CMMException.java
@@ -44,7 +44,7 @@ package java.awt.color;
* @author Eric Blake <ebb9@email.byu.edu>
* @status updated to 1.4
*/
-public class CMMException extends Exception
+public class CMMException extends RuntimeException
{
/**
* Compatible with JDK 1.2+.
diff --git a/libjava/java/awt/color/ColorSpace.java b/libjava/java/awt/color/ColorSpace.java
index 4f68fabcb7b..8bf0a8196c0 100644
--- a/libjava/java/awt/color/ColorSpace.java
+++ b/libjava/java/awt/color/ColorSpace.java
@@ -46,7 +46,7 @@ import java.io.Serializable;
* @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
* @since 1.2
*/
-public abstract class ColorSpace
+public abstract class ColorSpace implements Serializable
{
/**
* Compatible with JDK 1.2+.
@@ -131,6 +131,13 @@ public abstract class ColorSpace
return false;
}
+ /**
+ * Transforms a color value assumed to be in this ColorSpace into a value in
+ * the default CS_sRGB color space.
+ *
+ * @exception ArrayIndexOutOfBoundsException If array length is not at least
+ * the number of components in this ColorSpace.
+ */
public abstract float[] toRGB(float[] colorvalue);
public abstract float[] fromRGB(float[] rgbvalue);
diff --git a/libjava/java/awt/color/ICC_ColorSpace.java b/libjava/java/awt/color/ICC_ColorSpace.java
index 1a144dbfbd2..2b7016742c9 100644
--- a/libjava/java/awt/color/ICC_ColorSpace.java
+++ b/libjava/java/awt/color/ICC_ColorSpace.java
@@ -81,6 +81,12 @@ public class ICC_ColorSpace extends ColorSpace
*/
private boolean needScaleInit;
+ /**
+ * Constructs a new ICC_ColorSpace from an ICC_Profile object.
+ *
+ * @exception IllegalArgumentException If profile is inappropriate for
+ * representing a ColorSpace.
+ */
public ICC_ColorSpace(ICC_Profile profile)
{
super(CS_sRGB, profile.getNumComponents());
@@ -92,18 +98,45 @@ public class ICC_ColorSpace extends ColorSpace
return thisProfile;
}
+ /**
+ * Transforms a color value assumed to be in this ColorSpace into a value in
+ * the default CS_sRGB color space.
+ *
+ * @exception ArrayIndexOutOfBoundsException If array length is not at least
+ * the number of components in this ColorSpace.
+ */
public float[] toRGB(float[] colorvalue)
{
+ if (colorvalue.length < numComponents)
+ throw new IllegalArgumentException ();
+
// FIXME: Always assumes sRGB:
return colorvalue;
}
+ /**
+ * Transforms a color value assumed to be in the default CS_sRGB color space
+ * into this ColorSpace.
+ *
+ * @exception ArrayIndexOutOfBoundsException If array length is not at
+ * least 3.
+ */
public float[] fromRGB(float[] rgbvalue)
{
+ if (rgbvalue.length < 3)
+ throw new IllegalArgumentException ();
+
// FIXME: Always assumes sRGB:
return rgbvalue;
}
+ /**
+ * Transforms a color value assumed to be in this ColorSpace into the
+ * CS_CIEXYZ conversion color space.
+ *
+ * @exception ArrayIndexOutOfBoundsException If array length is not at
+ * least the number of components in this ColorSpace.
+ */
public float[] toCIEXYZ(float[] colorvalue)
{
// FIXME: Not implemented
diff --git a/libjava/java/awt/color/ICC_Profile.java b/libjava/java/awt/color/ICC_Profile.java
index 7adaac06472..eb534ebffca 100644
--- a/libjava/java/awt/color/ICC_Profile.java
+++ b/libjava/java/awt/color/ICC_Profile.java
@@ -245,7 +245,7 @@ public class ICC_Profile implements Serializable
write(new FileOutputStream(filename));
}
- public void write(OutputStream out)
+ public void write(OutputStream out) throws IOException
{
throw new Error("not implemented");
}
diff --git a/libjava/java/awt/color/ProfileDataException.java b/libjava/java/awt/color/ProfileDataException.java
index 130781faf9b..89f47a207e1 100644
--- a/libjava/java/awt/color/ProfileDataException.java
+++ b/libjava/java/awt/color/ProfileDataException.java
@@ -45,7 +45,7 @@ package java.awt.color;
* @author Eric Blake <ebb9@email.byu.edu>
* @status updated to 1.4
*/
-public class ProfileDataException extends Exception
+public class ProfileDataException extends RuntimeException
{
/**
* Compatible with JDK 1.2+.
diff --git a/libjava/java/awt/datatransfer/Clipboard.java b/libjava/java/awt/datatransfer/Clipboard.java
index 6ef9e70b6aa..93bba7c1a3d 100644
--- a/libjava/java/awt/datatransfer/Clipboard.java
+++ b/libjava/java/awt/datatransfer/Clipboard.java
@@ -103,6 +103,8 @@ getName()
* Returns the contents of the clipboard.
*
* @param requestor The object requesting the contents.
+ *
+ * @exception IllegalStateException If the clipboard is currently unavailable
*/
public synchronized Transferable
getContents(Object requestor)
@@ -120,6 +122,8 @@ getContents(Object requestor)
*
* @param contents The new clipboard contents.
* @param owner The new clipboard owner
+ *
+ * @exception IllegalStateException If the clipboard is currently unavailable
*/
public synchronized void
setContents(Transferable contents, ClipboardOwner owner)
diff --git a/libjava/java/awt/datatransfer/DataFlavor.java b/libjava/java/awt/datatransfer/DataFlavor.java
index 85f6ae5d455..e1500a7926c 100644
--- a/libjava/java/awt/datatransfer/DataFlavor.java
+++ b/libjava/java/awt/datatransfer/DataFlavor.java
@@ -281,6 +281,7 @@ DataFlavor(Class representationClass, String humanPresentableName)
*
* @exception IllegalArgumentException If the representation class
* specified cannot be loaded.
+ * @exception ClassNotFoundException If the class is not loaded.
*/
public
DataFlavor(String mimeType, String humanPresentableName,
@@ -504,6 +505,8 @@ setHumanPresentableName(String humanPresentableName)
*
* @return <code>true</code> if the MIME type is equal to this object's
* MIME type, <code>false</code> otherwise.
+ *
+ * @exception NullPointerException If mimeType is null.
*/
public final boolean
isMimeTypeEqual(String mimeType)
@@ -652,6 +655,10 @@ isFlavorJavaFileListType()
* Returns a copy of this object.
*
* @return A copy of this object.
+ *
+ * @exception CloneNotSupportedException If the object's class does not support
+ * the Cloneable interface. Subclasses that override the clone method can also
+ * throw this exception to indicate that an instance cannot be cloned.
*/
public Object
clone()
@@ -813,6 +820,8 @@ normalizeMimeType(String type)
* Serialize this class.
*
* @param stream The <code>ObjectOutput</code> stream to serialize to.
+ *
+ * @exception IOException If an error occurs.
*/
public void
writeExternal(ObjectOutput stream) throws IOException
@@ -826,6 +835,10 @@ writeExternal(ObjectOutput stream) throws IOException
* De-serialize this class.
*
* @param stream The <code>ObjectInput</code> stream to deserialize from.
+ *
+ * @exception IOException If an error ocurs.
+ * @exception ClassNotFoundException If the class for an object being restored
+ * cannot be found.
*/
public void
readExternal(ObjectInput stream) throws IOException, ClassNotFoundException
@@ -950,6 +963,10 @@ selectBestTextFlavor(DataFlavor[] availableFlavors)
*
* @param transferable The <code>Transferable</code> for which a text
* <code>Reader</code> is requested.
+ *
+ * @exception IllegalArgumentException If the representation class is not one
+ * of the seven listed above or the Transferable has null data.
+ * @exception NullPointerException If the Transferable is null.
* @exception UnsupportedFlavorException when the transferable doesn't
* support this <code>DataFlavor</code>. Or if the representable class
* isn't a (subclass of) <code>Reader</code>, <code>String</code>,
diff --git a/libjava/java/awt/datatransfer/FlavorMap.java b/libjava/java/awt/datatransfer/FlavorMap.java
index 96b160842d9..a3926150631 100644
--- a/libjava/java/awt/datatransfer/FlavorMap.java
+++ b/libjava/java/awt/datatransfer/FlavorMap.java
@@ -41,42 +41,35 @@ package java.awt.datatransfer;
import java.util.Map;
/**
- * This interface maps between native platform type names and DataFlavors.
- *
- * @author Aaron M. Renn (arenn@urbanophile.com)
- */
+ * This interface maps between native platform type names and DataFlavors.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ */
public interface FlavorMap
{
+ /**
+ * Maps the specified <code>DataFlavor</code> objects to the native
+ * data type name. The returned <code>Map</code> has keys that are
+ * the data flavors and values that are strings. The returned map
+ * may be modified. This can be useful for implementing nested mappings.
+ *
+ * @param flavors An array of data flavors to map
+ * or null for all data flavors.
+ *
+ * @return A <code>Map</code> of native data types.
+ */
+ public abstract Map getNativesForFlavors (DataFlavor[] flavors);
-/**
- * Maps the specified <code>DataFlavor</code> objects to the native
- * data type name. The returned <code>Map</code> has keys that are
- * the data flavors and values that are strings. The returned map
- * may be modified. This can be useful for implementing nested mappings.
- *
- * @param flavors An array of data flavors to map
- * or null for all data flavors.
- *
- * @return A <code>Map</code> of native data types.
- */
-public abstract Map
-getNativesForFlavors(DataFlavor[] flavors);
-
-/*************************************************************************/
-
-/**
- * Maps the specified native type names to <code>DataFlavor</code>'s.
- * The returned <code>Map</code> has keys that are strings and values
- * that are <code>DataFlavor</code>'s. The returned map may be
- * modified. This can be useful for implementing nested mappings.
- *
- * @param natives An array of native types to map
- * or null for all native types.
- *
- * @return A <code>Map</code> of data flavors.
- */
-public abstract Map
-getFlavorsForNatives(String[] natives);
-
-} // interface FlavorMap
-
+ /**
+ * Maps the specified native type names to <code>DataFlavor</code>'s.
+ * The returned <code>Map</code> has keys that are strings and values
+ * that are <code>DataFlavor</code>'s. The returned map may be
+ * modified. This can be useful for implementing nested mappings.
+ *
+ * @param natives An array of native types to map
+ * or null for all native types.
+ *
+ * @return A <code>Map</code> of data flavors.
+ */
+ public abstract Map getFlavorsForNatives (String[] natives);
+}
diff --git a/libjava/java/awt/datatransfer/SystemFlavorMap.java b/libjava/java/awt/datatransfer/SystemFlavorMap.java
index 50064db4c92..7d914120e8f 100644
--- a/libjava/java/awt/datatransfer/SystemFlavorMap.java
+++ b/libjava/java/awt/datatransfer/SystemFlavorMap.java
@@ -40,6 +40,7 @@ package java.awt.datatransfer;
import java.util.HashMap;
import java.util.Map;
+import java.util.List;
/**
* This class maps between native platform type names and DataFlavors.
@@ -47,134 +48,122 @@ import java.util.Map;
* XXX - The current implementation does no mapping at all.
*
* @author Mark Wielaard (mark@klomp.org)
- */
-public final class SystemFlavorMap implements FlavorMap
-{
-
-/**
- * The default (instance) flavor map.
- */
-private static FlavorMap defaultFlavorMap;
-
-/**
- * Private constructor.
- */
-private SystemFlavorMap()
-{
-}
-
-/*************************************************************************/
-
-/**
- * Maps the specified <code>DataFlavor</code> objects to the native
- * data type name. The returned <code>Map</code> has keys that are
- * the data flavors and values that are strings. The returned map
- * may be modified. This can be useful for implementing nested mappings.
- *
- * @param flavors An array of data flavors to map
- * or null for all data flavors.
*
- * @return A <code>Map</code> of native data types to data flavors.
- */
-public Map
-getNativesForFlavors(DataFlavor[] flavors)
-{
- return(new HashMap());
-}
-
-/*************************************************************************/
-
-/**
- * Maps the specified native type names to <code>DataFlavor</code>'s.
- * The returned <code>Map</code> has keys that are strings and values
- * that are <code>DataFlavor</code>'s. The returned map may be
- * modified. This can be useful for implementing nested mappings.
- *
- * @param natives An array of native types to map
- * or null for all native types.
- *
- * @return A <code>Map</code> of data flavors to native type names.
- */
-public Map
-getFlavorsForNatives(String[] natives)
-{
- return(new HashMap());
-}
-
-/*************************************************************************/
-
-/**
- * Returns the default (instance) (System)FlavorMap.
- */
-public static FlavorMap
-getDefaultFlavorMap()
-{
- if (defaultFlavorMap == null)
- defaultFlavorMap = new SystemFlavorMap();
-
- return(defaultFlavorMap);
-}
-
-/*************************************************************************/
-
-/**
- * Returns the native type name for the given java mime type.
- */
-public static String
-encodeJavaMIMEType(String mime)
-{
- return null;
-}
-
-/*************************************************************************/
-
-/**
- * Returns the native type name for the given data flavor.
- */
-public static String
-encodeDataFlavor(DataFlavor df)
-{
- return null;
-}
-
-/*************************************************************************/
-
-/**
- * Returns true if the native type name can be represented as
- * a java mime type.
- */
-public static boolean
-isJavaMIMEType(String name)
-{
- return(false);
-}
-
-/*************************************************************************/
-
-/**
- * Returns the java mime type for the given the native type name.
+ * @since 1.2
*/
-public static String
-decodeJavaMIMEType(String name)
+public final class SystemFlavorMap implements FlavorMap, FlavorTable
{
- return null;
-}
-
-/*************************************************************************/
-
-/**
- * Returns the data flavor given the native type name
- * or null when no such data flavor exists.
- */
-public static DataFlavor
-decodeDataFlavor(String name) throws ClassNotFoundException
-{
- String javaMIMEType = decodeJavaMIMEType(name);
- if (javaMIMEType != null)
- return(new DataFlavor(javaMIMEType));
- else
- return(null);
-}
+ /**
+ * The default (instance) flavor map.
+ */
+ private static FlavorMap defaultFlavorMap;
+
+ /**
+ * Private constructor.
+ */
+ private SystemFlavorMap ()
+ {
+ }
+
+ /**
+ * Maps the specified <code>DataFlavor</code> objects to the native
+ * data type name. The returned <code>Map</code> has keys that are
+ * the data flavors and values that are strings. The returned map
+ * may be modified. This can be useful for implementing nested mappings.
+ *
+ * @param flavors An array of data flavors to map
+ * or null for all data flavors.
+ *
+ * @return A <code>Map</code> of native data types to data flavors.
+ */
+ public Map getNativesForFlavors (DataFlavor[] flavors)
+ {
+ return new HashMap();
+ }
+
+ /**
+ * Maps the specified native type names to <code>DataFlavor</code>'s.
+ * The returned <code>Map</code> has keys that are strings and values
+ * that are <code>DataFlavor</code>'s. The returned map may be
+ * modified. This can be useful for implementing nested mappings.
+ *
+ * @param natives An array of native types to map
+ * or null for all native types.
+ *
+ * @return A <code>Map</code> of data flavors to native type names.
+ */
+ public Map getFlavorsForNatives (String[] natives)
+ {
+ return new HashMap();
+ }
+
+ /**
+ * Returns the default (instance) (System)FlavorMap.
+ */
+ public static FlavorMap getDefaultFlavorMap ()
+ {
+ if (defaultFlavorMap == null)
+ defaultFlavorMap = new SystemFlavorMap ();
+
+ return defaultFlavorMap;
+ }
+
+ /**
+ * Returns the native type name for the given java mime type.
+ */
+ public static String encodeJavaMIMEType (String mime)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the native type name for the given data flavor.
+ */
+ public static String encodeDataFlavor (DataFlavor df)
+ {
+ return null;
+ }
+
+ /**
+ * Returns true if the native type name can be represented as
+ * a java mime type.
+ */
+ public static boolean isJavaMIMEType (String name)
+ {
+ return false;
+ }
+
+ /**
+ * Returns the java mime type for the given the native type name.
+ */
+ public static String decodeJavaMIMEType (String name)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the data flavor given the native type name
+ * or null when no such data flavor exists.
+ */
+ public static DataFlavor decodeDataFlavor (String name)
+ throws ClassNotFoundException
+ {
+ String javaMIMEType = decodeJavaMIMEType (name);
+
+ if (javaMIMEType != null)
+ return new DataFlavor (javaMIMEType);
+ else
+ return null;
+ }
+
+ public List getFlavorsForNative (String nat)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public List getNativesForFlavor (DataFlavor flav)
+ {
+ throw new Error ("Not implemented");
+ }
} // class SystemFlavorMap
-
diff --git a/libjava/java/awt/dnd/DragGestureEvent.java b/libjava/java/awt/dnd/DragGestureEvent.java
index 84fa1cbb901..3d268820ba7 100644
--- a/libjava/java/awt/dnd/DragGestureEvent.java
+++ b/libjava/java/awt/dnd/DragGestureEvent.java
@@ -113,15 +113,42 @@ public class DragGestureEvent extends EventObject
{
return null;
}
+
+ /**
+ * Starts the drag given the initial Cursor to display, the Transferable
+ * object, and the DragSourceListener to use.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(Cursor dragCursor, Transferable trans)
{
startDrag(dragCursor, null, null, trans, null);
}
+
+ /**
+ * Starts the drag given the initial Cursor to display, the Transferable
+ * object, and the DragSourceListener to use.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(Cursor dragCursor, Transferable trans,
DragSourceListener l)
{
startDrag(dragCursor, null, null, trans, l);
}
+
+ /**
+ * Starts the drag given the initial Cursor to display, the Transferable
+ * object, and the DragSourceListener to use.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(Cursor dragCursor, Image dragImage, Point imageOffset,
Transferable trans, DragSourceListener l)
{
diff --git a/libjava/java/awt/dnd/DragGestureRecognizer.java b/libjava/java/awt/dnd/DragGestureRecognizer.java
index 674e26e8a3b..cd204b6fe93 100644
--- a/libjava/java/awt/dnd/DragGestureRecognizer.java
+++ b/libjava/java/awt/dnd/DragGestureRecognizer.java
@@ -130,6 +130,12 @@ public abstract class DragGestureRecognizer implements Serializable
throw new Error("not implemented");
}
+ /**
+ * Register a new DragGestureListener.
+ *
+ * @exception TooManyListenersException If a DragGestureListener has already
+ * been added.
+ */
public void addDragGestureListener(DragGestureListener dgl)
throws TooManyListenersException
{
diff --git a/libjava/java/awt/dnd/DragSource.java b/libjava/java/awt/dnd/DragSource.java
index 01cae00a3cf..740235ac83c 100644
--- a/libjava/java/awt/dnd/DragSource.java
+++ b/libjava/java/awt/dnd/DragSource.java
@@ -40,6 +40,8 @@ package java.awt.dnd;
import java.awt.Component;
import java.awt.Cursor;
+import java.awt.GraphicsEnvironment;
+import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Point;
import java.awt.datatransfer.FlavorMap;
@@ -62,10 +64,20 @@ public class DragSource implements Serializable
public static final Cursor DefaultMoveNoDrop = null;
public static final Cursor DefaultLinkNoDrop = null;
+ /**
+ * Initializes the drag source.
+ *
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
+ */
public DragSource()
{
+ if (GraphicsEnvironment.isHeadless())
+ throw new HeadlessException ();
}
+ /**
+ * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true.
+ */
public static DragSource getDefaultDragSource()
{
return null;
@@ -76,6 +88,13 @@ public class DragSource implements Serializable
return false;
}
+ /**
+ * Start a drag, given the DragGestureEvent that initiated the drag.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(DragGestureEvent trigger, Cursor dragCursor,
Image dragImage, Point imageOffset,
Transferable trans, DragSourceListener dsl,
@@ -83,6 +102,13 @@ public class DragSource implements Serializable
{
}
+ /**
+ * Start a drag, given the DragGestureEvent that initiated the drag.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(DragGestureEvent trigger, Cursor dragCursor,
Transferable trans, DragSourceListener dsl,
FlavorMap map)
@@ -90,6 +116,13 @@ public class DragSource implements Serializable
startDrag(trigger, dragCursor, null, null, trans, dsl, map);
}
+ /**
+ * Start a drag, given the DragGestureEvent that initiated the drag.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(DragGestureEvent trigger, Cursor dragCursor,
Image dragImage, Point imageOffset,
Transferable trans, DragSourceListener dsl)
@@ -97,12 +130,25 @@ public class DragSource implements Serializable
startDrag(trigger, dragCursor, dragImage, imageOffset, trans, dsl, null);
}
+ /**
+ * Start a drag, given the DragGestureEvent that initiated the drag.
+ *
+ * @exception InvalidDnDOperationException If the Drag and Drop system is
+ * unable to initiate a drag operation, or if the user attempts to start
+ * a drag while an existing drag operation is still executing.
+ */
public void startDrag(DragGestureEvent trigger, Cursor dragCursor,
Transferable trans, DragSourceListener dsl)
{
startDrag(trigger, dragCursor, null, null, trans, dsl, null);
}
+ /**
+ * Creates the DragSourceContext to handle this drag.
+ *
+ * @exception IllegalArgumentException FIXME
+ * @exception NullPointerException If dscp, dgl, dragImage or t is null.
+ */
protected DragSourceContext
createDragSourceContext(DragSourceContextPeer peer, DragGestureEvent dge,
Cursor cursor, Image image, Point offset,
diff --git a/libjava/java/awt/dnd/DropTarget.java b/libjava/java/awt/dnd/DropTarget.java
index c469605b8b4..53c09178d32 100644
--- a/libjava/java/awt/dnd/DropTarget.java
+++ b/libjava/java/awt/dnd/DropTarget.java
@@ -42,10 +42,13 @@ import java.awt.Component;
import java.awt.datatransfer.FlavorMap;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.Serializable;
+import java.util.EventListener;
import java.util.TooManyListenersException;
/** STUB CLASS ONLY */
public class DropTarget
+ implements DropTargetListener, EventListener, Serializable
{
protected static class DropTargetAutoScroller
implements ActionListener
@@ -67,6 +70,9 @@ public class DropTarget
}
}
+ // FIXME: check the correctness of default value.
+ private boolean isActive = false;
+
/**
* FIXME
*
@@ -133,11 +139,12 @@ public class DropTarget
public void setActive(boolean isActive)
{
+ this.isActive = isActive;
}
public boolean isActive()
{
- return false;
+ return this.isActive;
}
/**
diff --git a/libjava/java/awt/event/WindowEvent.java b/libjava/java/awt/event/WindowEvent.java
index ca51ba545b4..6e40d5165b8 100644
--- a/libjava/java/awt/event/WindowEvent.java
+++ b/libjava/java/awt/event/WindowEvent.java
@@ -109,7 +109,7 @@ public class WindowEvent extends ComponentEvent
public static final int WINDOW_STATE_CHANGED = 209;
/** This is the last id in the range of event ids used by this class. */
- public static final int WINDOW_LAST = 207;
+ public static final int WINDOW_LAST = 209;
/**
* The other Window involved in a focus or activation change. For
diff --git a/libjava/java/awt/geom/Dimension2D.java b/libjava/java/awt/geom/Dimension2D.java
index e111e5434cf..dbbdf6b25b3 100644
--- a/libjava/java/awt/geom/Dimension2D.java
+++ b/libjava/java/awt/geom/Dimension2D.java
@@ -86,6 +86,7 @@ public abstract class Dimension2D implements Cloneable
* may occur.
*
* @param d the dimension containing the new values
+ *
* @throws NullPointerException if d is null
*/
public void setSize(Dimension2D d)
@@ -98,6 +99,10 @@ public abstract class Dimension2D implements Cloneable
* as this one.
*
* @return the clone
+ *
+ * @exception OutOfMemoryError If there is not enough memory available.
+ *
+ * @since 1.2
*/
public Object clone()
{
diff --git a/libjava/java/awt/geom/GeneralPath.java b/libjava/java/awt/geom/GeneralPath.java
index 267db6ca0e3..6c1b578fc19 100644
--- a/libjava/java/awt/geom/GeneralPath.java
+++ b/libjava/java/awt/geom/GeneralPath.java
@@ -338,6 +338,10 @@ public final class GeneralPath implements Shape, Cloneable
* this one.
*
* @return the clone
+ *
+ * @exception OutOfMemoryError If there is not enough memory available.
+ *
+ * @since 1.2
*/
public Object clone()
{
diff --git a/libjava/java/awt/geom/Line2D.java b/libjava/java/awt/geom/Line2D.java
index 9e551103332..d2dd65c4341 100644
--- a/libjava/java/awt/geom/Line2D.java
+++ b/libjava/java/awt/geom/Line2D.java
@@ -752,6 +752,10 @@ public abstract class Line2D implements Shape, Cloneable
* this one.
*
* @return the clone
+ *
+ * @exception OutOfMemoryError If there is not enough memory available.
+ *
+ * @since 1.2
*/
public Object clone()
{
diff --git a/libjava/java/awt/geom/PathIterator.java b/libjava/java/awt/geom/PathIterator.java
index 6cf77d74df2..c23eb351306 100644
--- a/libjava/java/awt/geom/PathIterator.java
+++ b/libjava/java/awt/geom/PathIterator.java
@@ -84,7 +84,7 @@ public interface PathIterator
* (P1), and final interpolated control point (P2):
* <pre>
* P(t) = B(2,0)*CP + B(2,1)*P1 + B(2,2)*P2
- * 0 <= t <= 1
+ * 0 &lt;= t &lt;= 1
* B(n,m) = mth coefficient of nth degree Bernstein polynomial
* = C(n,m) * t^(m) * (1 - t)^(n-m)
* C(n,m) = Combinations of n things, taken m at a time
@@ -100,7 +100,7 @@ public interface PathIterator
* (P2), and final interpolated control point (P3):
* <pre>
* P(t) = B(3,0)*CP + B(3,1)*P1 + B(3,2)*P2 + B(3,3)*P3
- * 0 <= t <= 1
+ * 0 &lt;= t &lt;= 1
* B(n,m) = mth coefficient of nth degree Bernstein polynomial
* = C(n,m) * t^(m) * (1 - t)^(n-m)
* C(n,m) = Combinations of n things, taken m at a time
diff --git a/libjava/java/awt/geom/QuadCurve2D.java b/libjava/java/awt/geom/QuadCurve2D.java
index 2f1aafad21b..05748fc979d 100644
--- a/libjava/java/awt/geom/QuadCurve2D.java
+++ b/libjava/java/awt/geom/QuadCurve2D.java
@@ -289,6 +289,10 @@ public abstract class QuadCurve2D implements Shape, Cloneable
* this one.
*
* @return the clone
+ *
+ * @exception OutOfMemoryError If there is not enough memory available.
+ *
+ * @since 1.2
*/
public Object clone()
{
diff --git a/libjava/java/awt/im/InputMethodHighlight.java b/libjava/java/awt/im/InputMethodHighlight.java
index 5398fc5de77..2946d259b91 100644
--- a/libjava/java/awt/im/InputMethodHighlight.java
+++ b/libjava/java/awt/im/InputMethodHighlight.java
@@ -178,7 +178,7 @@ public class InputMethodHighlight
* @return the style map
* @since 1.3
*/
- public Map getSytle()
+ public Map getStyle()
{
return style;
}
diff --git a/libjava/java/awt/image/ColorModel.java b/libjava/java/awt/image/ColorModel.java
index 14a1b2e73b9..fab51667edb 100644
--- a/libjava/java/awt/image/ColorModel.java
+++ b/libjava/java/awt/image/ColorModel.java
@@ -120,10 +120,32 @@ public abstract class ColorModel implements Transparency
Buffers.smallestAppropriateTransferType(bits * 4));
}
+ /**
+ * Constructs a ColorModel that translates pixel values to
+ * color/alpha components.
+ *
+ * @exception IllegalArgumentException If the length of the bit array is less
+ * than the number of color or alpha components in this ColorModel, or if the
+ * transparency is not a valid value, or if the sum of the number of bits in
+ * bits is less than 1 or if any of the elements in bits is less than 0.
+ */
protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace,
boolean hasAlpha, boolean isAlphaPremultiplied,
int transparency, int transferType)
{
+ int bits_sum = 0;
+ for (int i = 0; i < bits.length; i++)
+ {
+ if (bits [i] < 0)
+ throw new IllegalArgumentException ();
+
+ bits_sum |= bits [i];
+ }
+
+ if ((bits.length < cspace.numComponents)
+ || (bits_sum < 1))
+ throw new IllegalArgumentException ();
+
this.pixel_bits = pixel_bits;
this.bits = bits;
this.cspace = cspace;
diff --git a/libjava/java/awt/image/ImageFilter.java b/libjava/java/awt/image/ImageFilter.java
index b34bb7d9cd3..86bc0210a4b 100644
--- a/libjava/java/awt/image/ImageFilter.java
+++ b/libjava/java/awt/image/ImageFilter.java
@@ -81,9 +81,18 @@ public class ImageFilter implements ImageConsumer, Cloneable
*
* @see java.lang.Object#clone ()
*/
- public Object clone() throws CloneNotSupportedException
+ public Object clone()
{
- return (super.clone());
+ try
+ {
+ return super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ // This should never happen as this class implements the
+ // Cloneable interface.
+ throw new InternalError ();
+ }
}
/**
diff --git a/libjava/java/beans/PropertyDescriptor.java b/libjava/java/beans/PropertyDescriptor.java
index b75cac9e766..00db4166ced 100644
--- a/libjava/java/beans/PropertyDescriptor.java
+++ b/libjava/java/beans/PropertyDescriptor.java
@@ -65,280 +65,312 @@ import java.lang.reflect.*;
**/
public class PropertyDescriptor extends FeatureDescriptor {
- Class propertyType;
- Method getMethod;
- Method setMethod;
-
- Class propertyEditorClass;
- boolean bound;
- boolean constrained;
-
- PropertyDescriptor(String name) {
- setName(name);
- }
-
- /** Create a new PropertyDescriptor by introspection.
- ** This form of constructor creates the PropertyDescriptor by
- ** looking for a getter method named <CODE>get&lt;name&gt;()</CODE>
- ** (or, optionally, if the property is boolean,
- ** <CODE>is&lt;name&gt;()</CODE>) and
- ** <CODE>set&lt;name&gt;()</CODE> in class
- ** <CODE>&lt;beanClass&gt;</CODE>, where &lt;name&gt; has its
- ** first letter capitalized by the constructor.<P>
- **
- ** <B>Implementation note:</B> If there is a get method (or
- ** boolean isXXX() method), then the return type of that method
- ** is used to find the set method. If there is no get method,
- ** then the set method is searched for exhaustively.<P>
- **
- ** <B>Spec note:</B>
- ** If there is no get method and multiple set methods with
- ** the same name and a single parameter (different type of course),
- ** then an IntrospectionException is thrown. While Sun's spec
- ** does not state this, it can make Bean behavior different on
- ** different systems (since method order is not guaranteed) and as
- ** such, can be treated as a bug in the spec. I am not aware of
- ** whether Sun's implementation catches this.
- **
- ** @param name the programmatic name of the property, usually
- ** starting with a lowercase letter (e.g. fooManChu
- ** instead of FooManChu).
- ** @param beanClass the class the get and set methods live in.
- ** @exception IntrospectionException if the methods are not found or invalid.
- **/
- public PropertyDescriptor(String name, Class beanClass) throws IntrospectionException {
- setName(name);
- String capitalized;
- try {
- capitalized = Character.toUpperCase(name.charAt(0)) + name.substring(1);
- } catch(StringIndexOutOfBoundsException e) {
- capitalized = "";
- }
- findMethods(beanClass, "is" + capitalized, "get" + capitalized, "set" + capitalized);
- }
-
- /** Create a new PropertyDescriptor by introspection.
- ** This form of constructor allows you to specify the
- ** names of the get and set methods to search for.<P>
- **
- ** <B>Implementation note:</B> If there is a get method (or
- ** boolean isXXX() method), then the return type of that method
- ** is used to find the set method. If there is no get method,
- ** then the set method is searched for exhaustively.<P>
- **
- ** <B>Spec note:</B>
- ** If there is no get method and multiple set methods with
- ** the same name and a single parameter (different type of course),
- ** then an IntrospectionException is thrown. While Sun's spec
- ** does not state this, it can make Bean behavior different on
- ** different systems (since method order is not guaranteed) and as
- ** such, can be treated as a bug in the spec. I am not aware of
- ** whether Sun's implementation catches this.
- **
- ** @param name the programmatic name of the property, usually
- ** starting with a lowercase letter (e.g. fooManChu
- ** instead of FooManChu).
- ** @param beanClass the class the get and set methods live in.
- ** @param getMethodName the name of the get method.
- ** @param setMethodName the name of the set method.
- ** @exception IntrospectionException if the methods are not found or invalid.
- **/
- public PropertyDescriptor(String name, Class beanClass, String getMethodName, String setMethodName) throws IntrospectionException {
- setName(name);
- findMethods(beanClass, getMethodName, null, setMethodName);
- }
-
- /** Create a new PropertyDescriptor using explicit Methods.
- ** Note that the methods will be checked for conformance to standard
- ** Property method rules, as described above at the top of this class.
- **
- ** @param name the programmatic name of the property, usually
- ** starting with a lowercase letter (e.g. fooManChu
- ** instead of FooManChu).
- ** @param getMethod the get method.
- ** @param setMethod the set method.
- ** @exception IntrospectionException if the methods are not found or invalid.
- **/
- public PropertyDescriptor(String name, Method getMethod, Method setMethod) throws IntrospectionException {
- setName(name);
- if(getMethod != null && getMethod.getParameterTypes().length > 0) {
- throw new IntrospectionException("get method has parameters");
- }
- if(setMethod != null && setMethod.getParameterTypes().length != 1) {
- throw new IntrospectionException("set method does not have exactly one parameter");
- }
- if(getMethod != null && setMethod != null) {
- if(!getMethod.getReturnType().equals(setMethod.getParameterTypes()[0])) {
- throw new IntrospectionException("set and get methods do not share the same type");
- }
- if(!getMethod.getDeclaringClass().isAssignableFrom(setMethod.getDeclaringClass())
- && !setMethod.getDeclaringClass().isAssignableFrom(getMethod.getDeclaringClass())) {
- throw new IntrospectionException("set and get methods are not in the same class.");
- }
- }
- this.getMethod = getMethod;
- this.setMethod = setMethod;
- if(getMethod != null) {
- this.propertyType = getMethod.getReturnType();
- } else {
- this.propertyType = setMethod.getParameterTypes()[0];
- }
- }
-
- /** Get the property type.
- ** This is the type the get method returns and the set method
- ** takes in.
- **/
- public Class getPropertyType() {
- return propertyType;
- }
-
- /** Get the get method. Why they call it readMethod here and
- ** get everywhere else is beyond me.
- **/
- public Method getReadMethod() {
- return getMethod;
- }
-
- /** Get the set method. Why they call it writeMethod here and
- ** set everywhere else is beyond me.
- **/
- public Method getWriteMethod() {
- return setMethod;
+ Class propertyType;
+ Method getMethod;
+ Method setMethod;
+
+ Class propertyEditorClass;
+ boolean bound;
+ boolean constrained;
+
+ PropertyDescriptor(String name) {
+ setName(name);
+ }
+
+ /** Create a new PropertyDescriptor by introspection.
+ ** This form of constructor creates the PropertyDescriptor by
+ ** looking for a getter method named <CODE>get&lt;name&gt;()</CODE>
+ ** (or, optionally, if the property is boolean,
+ ** <CODE>is&lt;name&gt;()</CODE>) and
+ ** <CODE>set&lt;name&gt;()</CODE> in class
+ ** <CODE>&lt;beanClass&gt;</CODE>, where &lt;name&gt; has its
+ ** first letter capitalized by the constructor.<P>
+ **
+ ** <B>Implementation note:</B> If there is both are both isXXX and
+ ** getXXX methods, the former is used in preference to the latter.
+ ** We do not check that an isXXX method returns a boolean. In both
+ ** cases, this matches the behaviour of JDK 1.4<P>
+ **
+ ** @param name the programmatic name of the property, usually
+ ** starting with a lowercase letter (e.g. fooManChu
+ ** instead of FooManChu).
+ ** @param beanClass the class the get and set methods live in.
+ ** @exception IntrospectionException if the methods are not found
+ ** or invalid.
+ **/
+ public PropertyDescriptor(String name, Class beanClass)
+ throws IntrospectionException
+ {
+ setName(name);
+ if (name.length() == 0) {
+ throw new IntrospectionException("empty property name");
+ }
+ String caps = Character.toUpperCase(name.charAt(0)) + name.substring(1);
+ findMethods(beanClass, "is" + caps, "get" + caps, "set" + caps);
+ if (getMethod == null) {
+ throw new IntrospectionException("Cannot find an is" + caps +
+ " or get" + caps + " method");
+ }
+ if (setMethod == null) {
+ throw new IntrospectionException("Cannot find a " + caps + " method");
+ }
+ checkMethods();
+ }
+
+ /** Create a new PropertyDescriptor by introspection.
+ ** This form of constructor allows you to specify the
+ ** names of the get and set methods to search for.<P>
+ **
+ ** <B>Implementation note:</B> If there is a get method (or
+ ** boolean isXXX() method), then the return type of that method
+ ** is used to find the set method. If there is no get method,
+ ** then the set method is searched for exhaustively.<P>
+ **
+ ** <B>Spec note:</B>
+ ** If there is no get method and multiple set methods with
+ ** the same name and a single parameter (different type of course),
+ ** then an IntrospectionException is thrown. While Sun's spec
+ ** does not state this, it can make Bean behavior different on
+ ** different systems (since method order is not guaranteed) and as
+ ** such, can be treated as a bug in the spec. I am not aware of
+ ** whether Sun's implementation catches this.
+ **
+ ** @param name the programmatic name of the property, usually
+ ** starting with a lowercase letter (e.g. fooManChu
+ ** instead of FooManChu).
+ ** @param beanClass the class the get and set methods live in.
+ ** @param getMethodName the name of the get method.
+ ** @param setMethodName the name of the set method.
+ ** @exception IntrospectionException if the methods are not found
+ ** or invalid.
+ **/
+ public PropertyDescriptor(String name, Class beanClass,
+ String getMethodName, String setMethodName)
+ throws IntrospectionException
+ {
+ setName(name);
+ findMethods(beanClass, getMethodName, null, setMethodName);
+ if (getMethod == null && getMethodName != null) {
+ throw new IntrospectionException("Cannot find a getter method called " +
+ getMethodName);
+ }
+ if (setMethod == null && setMethodName != null) {
+ throw new IntrospectionException("Cannot find a setter method called " +
+ setMethodName);
+ }
+ checkMethods();
+ }
+
+ /** Create a new PropertyDescriptor using explicit Methods.
+ ** Note that the methods will be checked for conformance to standard
+ ** Property method rules, as described above at the top of this class.
+ **
+ ** @param name the programmatic name of the property, usually
+ ** starting with a lowercase letter (e.g. fooManChu
+ ** instead of FooManChu).
+ ** @param getMethod the get method.
+ ** @param setMethod the set method.
+ ** @exception IntrospectionException if the methods are not found
+ ** or invalid.
+ **/
+ public PropertyDescriptor(String name, Method getMethod, Method setMethod)
+ throws IntrospectionException
+ {
+ setName(name);
+ this.getMethod = getMethod;
+ this.setMethod = setMethod;
+ if (getMethod != null) {
+ this.propertyType = getMethod.getReturnType();
+ }
+ else if (setMethod != null) {
+ this.propertyType = setMethod.getParameterTypes()[0];
+ }
+ checkMethods();
+ }
+
+ /** Get the property type.
+ ** This is the type the get method returns and the set method
+ ** takes in.
+ **/
+ public Class getPropertyType() {
+ return propertyType;
+ }
+
+ /** Get the get method. Why they call it readMethod here and
+ ** get everywhere else is beyond me.
+ **/
+ public Method getReadMethod() {
+ return getMethod;
+ }
+
+ /** Get the set method. Why they call it writeMethod here and
+ ** set everywhere else is beyond me.
+ **/
+ public Method getWriteMethod() {
+ return setMethod;
+ }
+
+ /** Get whether the property is bound. Defaults to false. **/
+ public boolean isBound() {
+ return bound;
+ }
+
+ /** Set whether the property is bound.
+ ** As long as the the bean implements addPropertyChangeListener() and
+ ** removePropertyChangeListener(), setBound(true) may safely be called.<P>
+ ** If these things are not true, then the behavior of the system
+ ** will be undefined.<P>
+ **
+ ** When a property is bound, its set method is required to fire the
+ ** <CODE>PropertyChangeListener.propertyChange())</CODE> event
+ ** after the value has changed.
+ ** @param bound whether the property is bound or not.
+ **/
+ public void setBound(boolean bound) {
+ this.bound = bound;
+ }
+
+ /** Get whether the property is constrained. Defaults to false. **/
+ public boolean isConstrained() {
+ return constrained;
+ }
+
+ /** Set whether the property is constrained.
+ ** If the set method throws <CODE>java.beans.PropertyVetoException</CODE>
+ ** (or subclass thereof) and the bean implements addVetoableChangeListener()
+ ** and removeVetoableChangeListener(), then setConstrained(true) may safely
+ ** be called. Otherwise, the system behavior is undefined.
+ ** <B>Spec note:</B> given those strict parameters, it would be nice if it
+ ** got set automatically by detection, but oh well.<P>
+ ** When a property is constrained, its set method is required to:<P>
+ ** <OL>
+ ** <LI>Fire the <CODE>VetoableChangeListener.vetoableChange()</CODE>
+ ** event notifying others of the change and allowing them a chance to
+ ** say it is a bad thing.</LI>
+ ** <LI>If any of the listeners throws a PropertyVetoException, then
+ ** it must fire another vetoableChange() event notifying the others
+ ** of a reversion to the old value (though, of course, the change
+ ** was never made). Then it rethrows the PropertyVetoException and
+ ** exits.</LI>
+ ** <LI>If all has gone well to this point, the value may be changed.</LI>
+ ** </OL>
+ ** @param constrained whether the property is constrained or not.
+ **/
+ public void setConstrained(boolean constrained) {
+ this.constrained = constrained;
+ }
+
+ /** Get the PropertyEditor class. Defaults to null. **/
+ public Class getPropertyEditorClass() {
+ return propertyEditorClass;
+ }
+
+ /** Set the PropertyEditor class. If the class does not implement
+ ** the PropertyEditor interface, you will likely get an exception
+ ** late in the game.
+ ** @param propertyEditorClass the PropertyEditor class for this
+ ** class to use.
+ **/
+ public void setPropertyEditorClass(Class propertyEditorClass) {
+ this.propertyEditorClass = propertyEditorClass;
+ }
+
+ private void findMethods(Class beanClass, String getMethodName1,
+ String getMethodName2, String setMethodName)
+ throws IntrospectionException
+ {
+ try {
+ // Try the first get method name
+ if (getMethodName1 != null) {
+ try {
+ getMethod = beanClass.getMethod(getMethodName1, new Class[0]);
+ }
+ catch (NoSuchMethodException e) {
}
+ }
- /** Get whether the property is bound. Defaults to false. **/
- public boolean isBound() {
- return bound;
+ // Fall back to the second get method name
+ if (getMethod == null && getMethodName2 != null) {
+ try {
+ getMethod = beanClass.getMethod(getMethodName2, new Class[0]);
+ }
+ catch (NoSuchMethodException e) {
}
+ }
- /** Set whether the property is bound.
- ** As long as the the bean implements addPropertyChangeListener() and
- ** removePropertyChangeListener(), setBound(true) may safely be called.<P>
- ** If these things are not true, then the behavior of the system
- ** will be undefined.<P>
- **
- ** When a property is bound, its set method is required to fire the
- ** <CODE>PropertyChangeListener.propertyChange())</CODE> event
- ** after the value has changed.
- ** @param bound whether the property is bound or not.
- **/
- public void setBound(boolean bound) {
- this.bound = bound;
+ // Try the set method name
+ if (setMethodName != null) {
+ if (getMethod != null) {
+ // If there is a get method, use its return type to help
+ // select the corresponding set method.
+ Class propertyType = getMethod.getReturnType();
+ if (propertyType == Void.TYPE) {
+ String msg = "The property's read method has return type 'void'";
+ throw new IntrospectionException(msg);
+ }
+
+ Class[] setArgs = new Class[]{propertyType};
+ try {
+ setMethod = beanClass.getMethod(setMethodName, setArgs);
+ }
+ catch (NoSuchMethodException e) {
+ }
}
-
- /** Get whether the property is constrained. Defaults to false. **/
- public boolean isConstrained() {
- return constrained;
- }
-
- /** Set whether the property is constrained.
- ** If the set method throws <CODE>java.beans.PropertyVetoException</CODE>
- ** (or subclass thereof) and the bean implements addVetoableChangeListener()
- ** and removeVetoableChangeListener(), then setConstrained(true) may safely
- ** be called. Otherwise, the system behavior is undefined.
- ** <B>Spec note:</B> given those strict parameters, it would be nice if it
- ** got set automatically by detection, but oh well.<P>
- ** When a property is constrained, its set method is required to:<P>
- ** <OL>
- ** <LI>Fire the <CODE>VetoableChangeListener.vetoableChange()</CODE>
- ** event notifying others of the change and allowing them a chance to
- ** say it is a bad thing.</LI>
- ** <LI>If any of the listeners throws a PropertyVetoException, then
- ** it must fire another vetoableChange() event notifying the others
- ** of a reversion to the old value (though, of course, the change
- ** was never made). Then it rethrows the PropertyVetoException and
- ** exits.</LI>
- ** <LI>If all has gone well to this point, the value may be changed.</LI>
- ** </OL>
- ** @param constrained whether the property is constrained or not.
- **/
- public void setConstrained(boolean constrained) {
- this.constrained = constrained;
+ else if (getMethodName1 == null && getMethodName2 == null) {
+ // If this is a write-only property, choose the first set method
+ // with the required name, one parameter and return type 'void'
+ Method[] methods = beanClass.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ if (methods[i].getName().equals(setMethodName) &&
+ methods[i].getParameterTypes().length == 1 &&
+ methods[i].getReturnType() == Void.TYPE) {
+ setMethod = methods[i];
+ break;
+ }
+ }
}
+ }
+ }
+ catch (SecurityException e) {
+ // FIXME -- shouldn't we just allow SecurityException to propagate?
+ String msg = "SecurityException thrown on attempt to access methods.";
+ throw new IntrospectionException(msg);
+ }
+ }
- /** Get the PropertyEditor class. Defaults to null. **/
- public Class getPropertyEditorClass() {
- return propertyEditorClass;
+ private void checkMethods()
+ throws IntrospectionException
+ {
+ if (getMethod != null) {
+ if (getMethod.getParameterTypes().length > 0) {
+ throw new IntrospectionException("get method has parameters");
+ }
+ this.propertyType = getMethod.getReturnType();
+ if (propertyType == Void.TYPE) {
+ throw new IntrospectionException("get method has void return type");
+ }
+ }
+ if (setMethod != null) {
+ if (setMethod.getParameterTypes().length != 1) {
+ String msg = "set method does not have exactly one parameter";
+ throw new IntrospectionException(msg);
+ }
+ if (getMethod == null) {
+ propertyType = setMethod.getParameterTypes()[0];
+ }
+ else {
+ if (!propertyType.equals(setMethod.getParameterTypes()[0])) {
+ String msg = "set and get methods do not share the same type";
+ throw new IntrospectionException(msg);
}
-
- /** Set the PropertyEditor class. If the class does not implement
- ** the PropertyEditor interface, you will likely get an exception
- ** late in the game.
- ** @param propertyEditorClass the PropertyEditor class for this class to use.
- **/
- public void setPropertyEditorClass(Class propertyEditorClass) {
- this.propertyEditorClass = propertyEditorClass;
- }
-
- private void findMethods(Class beanClass, String getMethodName1, String getMethodName2, String setMethodName) throws IntrospectionException {
- try {
- if(getMethodName1 != null) {
- try {
- getMethod = beanClass.getMethod(getMethodName1, new Class[0]);
- } catch(NoSuchMethodException E) {
- }
- if(getMethodName2 != null) {
- if(getMethod != null && !getMethod.getReturnType().equals(java.lang.Boolean.TYPE)) {
- // If the is() method exists but isn't boolean, we'll just go on and look for
- // an ordinary get() method.
- getMethod = null;
- }
-
- Method getMethod2;
- try {
- getMethod2 = beanClass.getMethod(getMethodName2, new Class[0]);
- } catch(NoSuchMethodException E) {
- getMethod2 = null;
- }
- if(getMethod2 != null) {
- if(getMethod != null) {
- if(!getMethod.getReturnType().equals(getMethod2.getReturnType())) {
- throw new IntrospectionException("Both " + getMethodName1 + " and " + getMethodName2 + " exist, and have contradictory return types.");
- }
- } else {
- getMethod = getMethod2;
- }
- }
- }
- }
-
- if(getMethod != null) {
- propertyType = getMethod.getReturnType();
- if(setMethodName != null) {
- Class[] setArgs = new Class[1];
- setArgs[0] = propertyType;
- try {
- setMethod = beanClass.getMethod(setMethodName, setArgs);
- if(!setMethod.getReturnType().equals(java.lang.Void.TYPE)) {
- throw new IntrospectionException(setMethodName + " has non-void return type");
- }
- } catch(NoSuchMethodException E) {
- }
- }
- } else if(setMethodName != null) {
- Method[] m = beanClass.getMethods();
- for(int i=0;i<m.length;i++) {
- Method current = m[i];
- if(current.getName().equals(setMethodName)
- && current.getParameterTypes().length == 1
- && current.getReturnType().equals(java.lang.Void.TYPE)) {
- if(setMethod != null) {
- throw new IntrospectionException("Multiple, different set methods found that fit the bill!");
- } else {
- setMethod = current;
- propertyType = current.getParameterTypes()[0];
- }
- }
- }
- if(setMethod == null) {
- throw new IntrospectionException("Cannot find get or set methods.");
- }
- } else {
- throw new IntrospectionException("Cannot find get or set methods.");
- }
- } catch(SecurityException E) {
- throw new IntrospectionException("SecurityException thrown on attempt to access methods.");
- }
+ if ((!getMethod.getDeclaringClass().
+ isAssignableFrom(setMethod.getDeclaringClass())) &&
+ (!setMethod.getDeclaringClass().
+ isAssignableFrom(getMethod.getDeclaringClass()))) {
+ String msg = "set and get methods are not in the same class.";
+ throw new IntrospectionException(msg);
}
+ }
+ }
+ }
}
diff --git a/libjava/java/io/BufferedOutputStream.java b/libjava/java/io/BufferedOutputStream.java
index 2cbdd4a1687..e324cbcf938 100644
--- a/libjava/java/io/BufferedOutputStream.java
+++ b/libjava/java/io/BufferedOutputStream.java
@@ -1,5 +1,5 @@
/* BufferedOutputStream.java -- Buffer output into large blocks before writing
- Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2000, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -189,11 +189,11 @@ finalize() throws IOException
public synchronized void
write(int b) throws IOException
{
- buf[count] = (byte)(b & 0xFF);
-
- ++count;
if (count == buf.length)
flush();
+
+ buf[count] = (byte)(b & 0xFF);
+ ++count;
}
/*************************************************************************/
diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java
index 2086f1057aa..6e5ce8e64ff 100644
--- a/libjava/java/io/File.java
+++ b/libjava/java/io/File.java
@@ -1,6 +1,6 @@
// File.java - File name
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of libgcj.
@@ -96,9 +96,13 @@ public class File implements Serializable, Comparable
if (dupIndex == -1)
{
- // Ignore trailing separator.
- if (plen > 1 && p.charAt(plen - 1) == separatorChar)
- return p.substring(0, plen - 1);
+ // Ignore trailing separator (though on Windows "a:\", for
+ // example, is a valid and minimal path).
+ if (plen > 1 && p.charAt (plen - 1) == separatorChar)
+ {
+ if (! (separatorChar == '\\' && plen == 3 && p.charAt (1) == ':'))
+ return p.substring (0, plen - 1);
+ }
else
return p;
}
@@ -120,10 +124,16 @@ public class File implements Serializable, Comparable
dupIndex = p.indexOf(dupSeparator, last);
}
- // Again, ignore possible trailing separator.
+ // Again, ignore possible trailing separator (except special cases
+ // like "a:\" on Windows).
int end;
- if (plen > 1 && p.charAt(plen - 1) == separatorChar)
- end = plen - 1;
+ if (plen > 1 && p.charAt (plen - 1) == separatorChar)
+ {
+ if (separatorChar == '\\' && plen == 3 && p.charAt (1) == ':')
+ end = plen;
+ else
+ end = plen - 1;
+ }
else
end = plen;
newpath.append(p.substring(last, end));
@@ -153,12 +163,47 @@ public class File implements Serializable, Comparable
this (dir == null ? null : dir.path, name);
}
- // FIXME ???
public String getAbsolutePath ()
{
if (isAbsolute ())
return path;
- return System.getProperty("user.dir") + separatorChar + path;
+ else if (separatorChar == '\\'
+ && path.length () > 0 && path.charAt (0) == '\\')
+ {
+ // On Windows, even if the path starts with a '\\' it is not
+ // really absolute until we prefix the drive specifier from
+ // the current working directory to it.
+ return System.getProperty ("user.dir").substring (0, 2) + path;
+ }
+ else if (separatorChar == '\\'
+ && path.length () > 1 && path.charAt (1) == ':'
+ && ((path.charAt (0) >= 'a' && path.charAt (0) <= 'z')
+ || (path.charAt (0) >= 'A' && path.charAt (0) <= 'Z')))
+ {
+ // On Windows, a process has a current working directory for
+ // each drive and a path like "G:foo\bar" would mean the
+ // absolute path "G:\wombat\foo\bar" if "\wombat" is the
+ // working directory on the G drive.
+ String drvDir = null;
+ try
+ {
+ drvDir = new File (path.substring (0, 2)).getCanonicalPath ();
+ }
+ catch (IOException e)
+ {
+ drvDir = path.substring (0, 2) + "\\";
+ }
+
+ // Note: this would return "C:\\." for the path "C:.", if "\"
+ // is the working folder on the C drive, but this is
+ // consistent with what Sun's JRE 1.4.1.01 actually returns!
+ if (path.length () > 2)
+ return drvDir + '\\' + path.substring (2, path.length ());
+ else
+ return drvDir;
+ }
+ else
+ return System.getProperty ("user.dir") + separatorChar + path;
}
/** @since 1.2 */
@@ -177,19 +222,84 @@ public class File implements Serializable, Comparable
public String getName ()
{
- int last = path.lastIndexOf(separatorChar);
- return path.substring(last + 1);
+ int nameSeqIndex = 0;
+
+ if (separatorChar == '\\' && path.length () > 1)
+ {
+ // On Windows, ignore the drive specifier or the leading '\\'
+ // of a UNC network path, if any (a.k.a. the "prefix").
+ if ((path.charAt (0) == '\\' && path.charAt (1) == '\\')
+ || (((path.charAt (0) >= 'a' && path.charAt (0) <= 'z')
+ || (path.charAt (0) >= 'A' && path.charAt (0) <= 'Z'))
+ && path.charAt (1) == ':'))
+ {
+ if (path.length () > 2)
+ nameSeqIndex = 2;
+ else
+ return "";
+ }
+ }
+
+ String nameSeq
+ = (nameSeqIndex > 0 ? path.substring (nameSeqIndex) : path);
+
+ int last = nameSeq.lastIndexOf (separatorChar);
+
+ return nameSeq.substring (last + 1);
}
public String getParent ()
{
- int last = path.lastIndexOf(separatorChar);
- if (last == -1)
+ String prefix = null;
+ int nameSeqIndex = 0;
+
+ // The "prefix", if present, is the leading "/" on UNIX and
+ // either the drive specifier (e.g. "C:") or the leading "\\"
+ // of a UNC network path on Windows.
+ if (separatorChar == '/' && path.charAt (0) == '/')
+ {
+ prefix = "/";
+ nameSeqIndex = 1;
+ }
+ else if (separatorChar == '\\' && path.length () > 1)
+ {
+ if ((path.charAt (0) == '\\' && path.charAt (1) == '\\')
+ || (((path.charAt (0) >= 'a' && path.charAt (0) <= 'z')
+ || (path.charAt (0) >= 'A' && path.charAt (0) <= 'Z'))
+ && path.charAt (1) == ':'))
+ {
+ prefix = path.substring (0, 2);
+ nameSeqIndex = 2;
+ }
+ }
+
+ // According to the JDK docs, the returned parent path is the
+ // portion of the name sequence before the last separator
+ // character, if found, prefixed by the prefix, otherwise null.
+ if (nameSeqIndex < path.length ())
+ {
+ String nameSeq = path.substring (nameSeqIndex, path.length ());
+ int last = nameSeq.lastIndexOf (separatorChar);
+ if (last == -1)
+ return prefix;
+ else if (last == (nameSeq.length () - 1))
+ // Note: The path would not have a trailing separator
+ // except for cases like "C:\" on Windows (see
+ // normalizePath( )), where Sun's JRE 1.4 returns null.
+ return null;
+ else if (last == 0)
+ last++;
+
+ if (prefix != null)
+ return prefix + nameSeq.substring (0, last);
+ else
+ return nameSeq.substring (0, last);
+ }
+ else
+ // Sun's JRE 1.4 returns null if the prefix is the only
+ // component of the path - so "/" gives null on UNIX and
+ // "C:", "\\", etc. return null on Windows.
return null;
- // FIXME: POSIX assumption.
- if (last == 0 && path.charAt (0) == '/')
- ++last;
- return path.substring(0, last);
}
/** @since 1.2 */
@@ -289,8 +399,14 @@ public class File implements Serializable, Comparable
public URL toURL () throws MalformedURLException
{
- return new URL ("file://" + getAbsolutePath ()
- + (isDirectory() ? "/" : ""));
+ // On Win32, Sun's JDK returns URLs of the form "file:/c:/foo/bar.txt",
+ // while on UNIX, it returns URLs of the form "file:/foo/bar.txt".
+ if (separatorChar == '\\')
+ return new URL ("file:/" + getAbsolutePath ().replace ('\\', '/')
+ + (isDirectory() ? "/" : ""));
+ else
+ return new URL ("file:" + getAbsolutePath ()
+ + (isDirectory() ? "/" : ""));
}
private final native boolean performMkdir ();
diff --git a/libjava/java/io/FileDescriptor.java b/libjava/java/io/FileDescriptor.java
index 08f8edfaa0d..f105c6f8ab0 100644
--- a/libjava/java/io/FileDescriptor.java
+++ b/libjava/java/io/FileDescriptor.java
@@ -1,6 +1,6 @@
// FileDescriptor.java - Open file or device
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -101,4 +101,6 @@ public final class FileDescriptor
// we want to make sure this has the value -1. This is the most
// efficient way to accomplish that.
private int fd = -1;
+
+ private long position = 0;
}
diff --git a/libjava/java/io/FileInputStream.java b/libjava/java/io/FileInputStream.java
index d7efc26db87..85d7bbe0879 100644
--- a/libjava/java/io/FileInputStream.java
+++ b/libjava/java/io/FileInputStream.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -61,8 +61,8 @@ public class FileInputStream extends InputStream
protected void finalize() throws IOException
{
- if (fd != null)
- fd.finalize();
+ // We don't actually need this, but we include it because it is
+ // mentioned in the JCL.
}
public final FileDescriptor getFD() throws IOException
diff --git a/libjava/java/io/InputStreamReader.java b/libjava/java/io/InputStreamReader.java
index fff979c97ac..80272d01a22 100644
--- a/libjava/java/io/InputStreamReader.java
+++ b/libjava/java/io/InputStreamReader.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2001 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2001, 2003 Free Software Foundation
This file is part of libgcj.
@@ -70,7 +70,10 @@ public class InputStreamReader extends Reader
}
}
- public String getEncoding() { return converter.getName(); }
+ public String getEncoding()
+ {
+ return in != null ? converter.getName() : null;
+ }
public boolean ready() throws IOException
{
diff --git a/libjava/java/io/ObjectInputStream.java b/libjava/java/io/ObjectInputStream.java
index 08ce401fad8..7df96e5ffe8 100644
--- a/libjava/java/io/ObjectInputStream.java
+++ b/libjava/java/io/ObjectInputStream.java
@@ -1,5 +1,5 @@
/* ObjectInputStream.java -- Class used to read serialized objects
- Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +7,7 @@ GNU Classpath 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 Classpath 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
@@ -38,8 +38,6 @@ exception statement from your version. */
package java.io;
-import gnu.classpath.Configuration;
-
import java.lang.reflect.Array;
import java.lang.reflect.Modifier;
import java.lang.reflect.Proxy;
@@ -53,7 +51,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
-
+import gnu.classpath.Configuration;
public class ObjectInputStream extends InputStream
implements ObjectInput, ObjectStreamConstants
@@ -130,287 +128,329 @@ public class ObjectInputStream extends InputStream
Object ret_val;
was_deserializing = this.isDeserializing;
- if (! was_deserializing)
- setBlockDataMode (false);
+ boolean is_consumed = false;
+ boolean old_mode = setBlockDataMode (false);
this.isDeserializing = true;
byte marker = this.realInputStream.readByte ();
dumpElement ("MARKER: 0x" + Integer.toHexString(marker) + " ");
- switch (marker)
- {
- case TC_BLOCKDATA:
- case TC_BLOCKDATALONG:
- if (marker == TC_BLOCKDATALONG)
- dumpElementln ("BLOCKDATALONG");
- else
- dumpElementln ("BLOCKDATA");
- readNextBlock (marker);
- throw new StreamCorruptedException ("Unexpected blockData");
-
- case TC_NULL:
- dumpElementln ("NULL");
- ret_val = null;
- break;
-
- case TC_REFERENCE:
- {
- dumpElement ("REFERENCE ");
- Integer oid = new Integer (this.realInputStream.readInt ());
- dumpElementln (Integer.toHexString(oid.intValue()));
- ret_val = ((ObjectIdentityWrapper)
- this.objectLookupTable.get (oid)).object;
- break;
- }
-
- case TC_CLASS:
- {
- dumpElementln ("CLASS");
- ObjectStreamClass osc = (ObjectStreamClass)readObject ();
- Class clazz = osc.forClass ();
- assignNewHandle (clazz);
- ret_val = clazz;
- break;
- }
-
- case TC_CLASSDESC:
- {
- dumpElement ("CLASSDESC NAME=");
- String name = this.realInputStream.readUTF ();
- dumpElement (name + "; UID=");
- long uid = this.realInputStream.readLong ();
- dumpElement (Long.toHexString(uid) + "; FLAGS=");
- byte flags = this.realInputStream.readByte ();
- dumpElement (Integer.toHexString(flags) + "; FIELD COUNT=");
- short field_count = this.realInputStream.readShort ();
- dumpElementln (Short.toString(field_count));
- ObjectStreamField[] fields = new ObjectStreamField[field_count];
-
- ObjectStreamClass osc = new ObjectStreamClass (name, uid,
- flags, fields);
- assignNewHandle (osc);
-
- for (int i=0; i < field_count; i++)
- {
- dumpElement (" TYPE CODE=");
- char type_code = (char)this.realInputStream.readByte ();
- dumpElement (type_code + "; FIELD NAME=");
- String field_name = this.realInputStream.readUTF ();
- dumpElementln (field_name);
- String class_name;
-
- if (type_code == 'L' || type_code == '[')
- class_name = (String)readObject ();
- else
- class_name = String.valueOf (type_code);
-
- fields[i] =
- new ObjectStreamField (field_name,
- TypeSignature.getClassForEncoding
- (class_name));
- }
-
- Class cl = resolveClass (osc);
- osc.setClass (cl);
- setBlockDataMode (false);
-
- if (this.realInputStream.readByte () != TC_ENDBLOCKDATA)
- throw new IOException ("Data annotated to class was not consumed.");
- dumpElementln ("ENDBLOCKDATA ");
-
- osc.setSuperclass ((ObjectStreamClass)readObject ());
- ret_val = osc;
- break;
- }
-
- case TC_STRING:
- {
- dumpElement ("STRING=");
- String s = this.realInputStream.readUTF ();
- dumpElementln (s);
- ret_val = processResolution (s, assignNewHandle (s));
- break;
- }
-
- case TC_ARRAY:
- {
- dumpElementln ("ARRAY");
- ObjectStreamClass osc = (ObjectStreamClass)readObject ();
- Class componentType = osc.forClass ().getComponentType ();
- dumpElement ("ARRAY LENGTH=");
- int length = this.realInputStream.readInt ();
- dumpElementln (length + "; COMPONENT TYPE=" + componentType);
- Object array = Array.newInstance (componentType, length);
- int handle = assignNewHandle (array);
- readArrayElements (array, componentType);
- for (int i=0, len=Array.getLength(array); i < len; i++)
- dumpElementln (" ELEMENT[" + i + "]=" + Array.get(array, i));
- ret_val = processResolution (array, handle);
- break;
- }
-
- case TC_OBJECT:
+ try
{
- dumpElementln ("OBJECT");
- ObjectStreamClass osc = (ObjectStreamClass)readObject ();
- Class clazz = osc.forClass ();
-
- if (!Serializable.class.isAssignableFrom (clazz))
- throw new NotSerializableException (clazz + " is not Serializable, and thus cannot be deserialized.");
-
- if (Externalizable.class.isAssignableFrom (clazz))
- {
- Externalizable obj = null;
-
- try
- {
- obj = (Externalizable)clazz.newInstance ();
- }
- catch (InstantiationException e)
- {
- throw new ClassNotFoundException ("Instance of " + clazz
- + " could not be created");
- }
- catch (IllegalAccessException e)
- {
- throw new ClassNotFoundException ("Instance of " + clazz
- + " could not be created because class or zero-argument constructor is not accessible");
- }
- catch (NoSuchMethodError e)
- {
- throw new ClassNotFoundException ("Instance of " + clazz
- + " could not be created because zero-argument constructor is not defined");
- }
-
- int handle = assignNewHandle (obj);
-
- boolean read_from_blocks = ((osc.getFlags () & SC_BLOCK_DATA) != 0);
-
- if (read_from_blocks)
- setBlockDataMode (true);
-
- obj.readExternal (this);
-
- if (read_from_blocks)
- setBlockDataMode (false);
-
- ret_val = processResolution (obj, handle);
- break;
- } // end if (Externalizable.class.isAssignableFrom (clazz))
-
- // find the first non-serializable, non-abstract
- // class in clazz's inheritance hierarchy
- Class first_nonserial = clazz.getSuperclass ();
- while (Serializable.class.isAssignableFrom (first_nonserial)
- || Modifier.isAbstract (first_nonserial.getModifiers ()))
- first_nonserial = first_nonserial.getSuperclass ();
-
-// DEBUGln ("Using " + first_nonserial
-// + " as starting point for constructing " + clazz);
-
- Object obj = null;
- obj = newObject (clazz, first_nonserial);
-
- if (obj == null)
- throw new ClassNotFoundException ("Instance of " + clazz +
- " could not be created");
-
- int handle = assignNewHandle (obj);
- this.currentObject = obj;
- ObjectStreamClass[] hierarchy =
- ObjectStreamClass.getObjectStreamClasses (clazz);
-
-// DEBUGln ("Got class hierarchy of depth " + hierarchy.length);
-
- boolean has_read;
- for (int i=0; i < hierarchy.length; i++)
- {
- this.currentObjectStreamClass = hierarchy[i];
-
- dumpElementln ("Reading fields of "
- + this.currentObjectStreamClass.getName ());
-
- has_read = true;
-
- try
- {
- this.currentObjectStreamClass.forClass ().
- getDeclaredMethod ("readObject", readObjectParams);
- }
- catch (NoSuchMethodException e)
+ switch (marker)
{
- has_read = false;
+ case TC_ENDBLOCKDATA:
+ {
+ ret_val = null;
+ is_consumed = true;
+ break;
+ }
+
+ case TC_BLOCKDATA:
+ case TC_BLOCKDATALONG:
+ {
+ if (marker == TC_BLOCKDATALONG)
+ dumpElementln ("BLOCKDATALONG");
+ else
+ dumpElementln ("BLOCKDATA");
+ readNextBlock (marker);
+ throw new StreamCorruptedException ("Unexpected blockData");
+ }
+
+ case TC_NULL:
+ {
+ dumpElementln ("NULL");
+ ret_val = null;
+ break;
+ }
+
+ case TC_REFERENCE:
+ {
+ dumpElement ("REFERENCE ");
+ Integer oid = new Integer (this.realInputStream.readInt ());
+ dumpElementln (Integer.toHexString(oid.intValue()));
+ ret_val = ((ObjectIdentityWrapper)
+ this.objectLookupTable.get (oid)).object;
+ break;
+ }
+
+ case TC_CLASS:
+ {
+ dumpElementln ("CLASS");
+ ObjectStreamClass osc = (ObjectStreamClass)readObject ();
+ Class clazz = osc.forClass ();
+ assignNewHandle (clazz);
+ ret_val = clazz;
+ break;
+ }
+
+ case TC_PROXYCLASSDESC:
+ {
+ dumpElementln ("PROXYCLASS");
+ int n_intf = this.realInputStream.readInt();
+ String[] intfs = new String[n_intf];
+ for (int i = 0; i < n_intf; i++)
+ {
+ intfs[i] = this.realInputStream.readUTF();
+ System.out.println(intfs[i]);
+ }
+
+ boolean oldmode = setBlockDataMode (true);
+ Class cl = resolveProxyClass(intfs);
+ setBlockDataMode(oldmode);
+
+ ObjectStreamClass osc = ObjectStreamClass.lookup(cl);
+ assignNewHandle (osc);
+
+ if (!is_consumed)
+ {
+ byte b = this.realInputStream.readByte ();
+ if (b != TC_ENDBLOCKDATA)
+ throw new IOException ("Data annotated to class was not consumed." + b);
+ }
+ else
+ is_consumed = false;
+ ObjectStreamClass superosc = (ObjectStreamClass)readObject ();
+ osc.setSuperclass (superosc);
+ ret_val = osc;
+ break;
+ }
+
+ case TC_CLASSDESC:
+ {
+ dumpElement ("CLASSDESC NAME=");
+ String name = this.realInputStream.readUTF ();
+ dumpElement (name + "; UID=");
+ long uid = this.realInputStream.readLong ();
+ dumpElement (Long.toHexString(uid) + "; FLAGS=");
+ byte flags = this.realInputStream.readByte ();
+ dumpElement (Integer.toHexString(flags) + "; FIELD COUNT=");
+ short field_count = this.realInputStream.readShort ();
+ dumpElementln (Short.toString(field_count));
+ ObjectStreamField[] fields = new ObjectStreamField[field_count];
+ ObjectStreamClass osc = new ObjectStreamClass (name, uid,
+ flags, fields);
+ assignNewHandle (osc);
+
+ for (int i=0; i < field_count; i++)
+ {
+ dumpElement (" TYPE CODE=");
+ char type_code = (char)this.realInputStream.readByte ();
+ dumpElement (type_code + "; FIELD NAME=");
+ String field_name = this.realInputStream.readUTF ();
+ dumpElementln (field_name);
+ String class_name;
+
+ if (type_code == 'L' || type_code == '[')
+ class_name = (String)readObject ();
+ else
+ class_name = String.valueOf (type_code);
+
+ // There're many cases you can't get java.lang.Class from
+ // typename if your context class loader can't load it,
+ // then use typename to construct the field
+ fields[i] =
+ new ObjectStreamField (field_name, class_name);
+ }
+
+ boolean oldmode = setBlockDataMode (true);
+ osc.setClass (resolveClass (osc));
+ setBlockDataMode (oldmode);
+
+ if (!is_consumed)
+ {
+ byte b = this.realInputStream.readByte ();
+ if (b != TC_ENDBLOCKDATA)
+ throw new IOException ("Data annotated to class was not consumed." + b);
+ }
+ else
+ is_consumed = false;
+
+ osc.setSuperclass ((ObjectStreamClass)readObject ());
+ ret_val = osc;
+ break;
+ }
+
+ case TC_STRING:
+ case TC_LONGSTRING:
+ {
+ dumpElement ("STRING=");
+ String s = this.realInputStream.readUTF ();
+ dumpElementln (s);
+ ret_val = processResolution (s, assignNewHandle (s));
+ break;
+ }
+
+ case TC_ARRAY:
+ {
+ dumpElementln ("ARRAY");
+ ObjectStreamClass osc = (ObjectStreamClass)readObject ();
+ Class componentType = osc.forClass ().getComponentType ();
+ dumpElement ("ARRAY LENGTH=");
+ int length = this.realInputStream.readInt ();
+ dumpElementln (length + "; COMPONENT TYPE=" + componentType);
+ Object array = Array.newInstance (componentType, length);
+ int handle = assignNewHandle (array);
+ readArrayElements (array, componentType);
+ for (int i=0, len=Array.getLength(array); i < len; i++)
+ dumpElementln (" ELEMENT[" + i + "]=" + Array.get(array, i));
+ ret_val = processResolution (array, handle);
+ break;
+ }
+
+ case TC_OBJECT:
+ {
+ dumpElementln ("OBJECT");
+ ObjectStreamClass osc = (ObjectStreamClass)readObject ();
+ Class clazz = osc.forClass ();
+
+ if (!Serializable.class.isAssignableFrom (clazz))
+ throw new NotSerializableException (clazz + " is not Serializable, and thus cannot be deserialized.");
+
+ if (Externalizable.class.isAssignableFrom (clazz))
+ {
+ Externalizable obj = null;
+
+ try
+ {
+ obj = (Externalizable)clazz.newInstance ();
+ }
+ catch (InstantiationException e)
+ {
+ throw new ClassNotFoundException ("Instance of " + clazz
+ + " could not be created");
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new ClassNotFoundException ("Instance of " + clazz
+ + " could not be created because class or zero-argument constructor is not accessible");
+ }
+ catch (NoSuchMethodError e)
+ {
+ throw new ClassNotFoundException ("Instance of " + clazz
+ + " could not be created because zero-argument constructor is not defined");
+ }
+
+ int handle = assignNewHandle (obj);
+
+ boolean read_from_blocks = ((osc.getFlags () & SC_BLOCK_DATA) != 0);
+
+ boolean oldmode = this.readDataFromBlock;
+ if (read_from_blocks)
+ setBlockDataMode (true);
+
+ obj.readExternal (this);
+
+ if (read_from_blocks)
+ setBlockDataMode (oldmode);
+
+ ret_val = processResolution (obj, handle);
+ break;
+ } // end if (Externalizable.class.isAssignableFrom (clazz))
+
+ // find the first non-serializable, non-abstract
+ // class in clazz's inheritance hierarchy
+ Class first_nonserial = clazz.getSuperclass ();
+ while (Serializable.class.isAssignableFrom (first_nonserial)
+ || Modifier.isAbstract (first_nonserial.getModifiers ()))
+ first_nonserial = first_nonserial.getSuperclass ();
+
+ Object obj = null;
+ obj = newObject (clazz, first_nonserial);
+
+ if (obj == null)
+ throw new ClassNotFoundException ("Instance of " + clazz +
+ " could not be created");
+
+ int handle = assignNewHandle (obj);
+ this.currentObject = obj;
+ ObjectStreamClass[] hierarchy =
+ ObjectStreamClass.getObjectStreamClasses (clazz);
+
+ for (int i=0; i < hierarchy.length; i++)
+ {
+ this.currentObjectStreamClass = hierarchy[i];
+
+ dumpElementln ("Reading fields of "
+ + this.currentObjectStreamClass.getName ());
+
+ // XXX: should initialize fields in classes in the hierarchy
+ // that aren't in the stream
+ // should skip over classes in the stream that aren't in the
+ // real classes hierarchy
+
+ if (this.currentObjectStreamClass.hasReadMethod())
+ {
+ fieldsAlreadyRead = false;
+ boolean oldmode = setBlockDataMode (true);
+ callReadMethod (obj, this.currentObjectStreamClass);
+ setBlockDataMode (oldmode);
+ dumpElement ("ENDBLOCKDATA? ");
+ try
+ {
+ // FIXME: XXX: This try block is to catch EOF which is
+ // thrown for some objects. That indicates a bug in the logic.
+ if (this.realInputStream.readByte () != TC_ENDBLOCKDATA)
+ throw new IOException ("No end of block data seen for class with readObject (ObjectInputStream) method.");
+ dumpElementln ("yes");
+ }
+ catch (EOFException e)
+ {
+ dumpElementln ("no, got EOFException");
+ }
+ catch (IOException e)
+ {
+ dumpElementln ("no, got IOException");
+ }
+ }
+ else
+ {
+ readFields (obj, currentObjectStreamClass);
+ }
+ }
+
+ this.currentObject = null;
+ this.currentObjectStreamClass = null;
+ ret_val = processResolution (obj, handle);
+ break;
+ }
+
+ case TC_RESET:
+ dumpElementln ("RESET");
+ clearHandles ();
+ ret_val = readObject ();
+ break;
+
+ case TC_EXCEPTION:
+ {
+ dumpElement ("EXCEPTION=");
+ Exception e = (Exception)readObject ();
+ dumpElementln (e.toString());
+ clearHandles ();
+ throw new WriteAbortedException ("Exception thrown during writing of stream", e);
+ }
+
+ default:
+ throw new IOException ("Unknown marker on stream: " + marker);
}
-
- // XXX: should initialize fields in classes in the hierarchy
- // that aren't in the stream
- // should skip over classes in the stream that aren't in the
- // real classes hierarchy
- readFields (obj, this.currentObjectStreamClass.fields,
- has_read, this.currentObjectStreamClass);
-
- if (has_read)
- {
- dumpElement ("ENDBLOCKDATA? ");
- try
- {
- // FIXME: XXX: This try block is to catch EOF which is
- // thrown for some objects. That indicates a bug in the logic.
- if (this.realInputStream.readByte () != TC_ENDBLOCKDATA)
- throw new IOException ("No end of block data seen for class with readObject (ObjectInputStream) method.");
- dumpElementln ("yes");
- }
- catch (EOFException e)
- {
- dumpElementln ("no, got EOFException");
- }
- catch (IOException e)
- {
- dumpElementln ("no, got IOException");
- }
- }
- }
-
- this.currentObject = null;
- this.currentObjectStreamClass = null;
- ret_val = processResolution (obj, handle);
- break;
}
-
- case TC_RESET:
- dumpElementln ("RESET");
- clearHandles ();
- ret_val = readObject ();
- break;
-
- case TC_EXCEPTION:
+ finally
{
- dumpElement ("EXCEPTION=");
- Exception e = (Exception)readObject ();
- dumpElementln (e.toString());
- clearHandles ();
- throw new WriteAbortedException ("Exception thrown during writing of stream", e);
+ setBlockDataMode (old_mode);
+
+ this.isDeserializing = was_deserializing;
+
+ if (! was_deserializing)
+ {
+ if (validators.size () > 0)
+ invokeValidators ();
+ }
}
-
- default:
- throw new IOException ("Unknown marker on stream");
- }
-
- this.isDeserializing = was_deserializing;
-
- if (! was_deserializing)
- {
- setBlockDataMode (true);
-
- if (validators.size () > 0)
- invokeValidators ();
- }
-
+
return ret_val;
}
-
/**
Reads the current objects non-transient, non-static fields from
the current class from the underlying output stream.
@@ -439,9 +479,9 @@ public class ObjectInputStream extends InputStream
if (fieldsAlreadyRead)
throw new NotActiveException ("defaultReadObject called but fields already read from stream (by defaultReadObject or readFields)");
- readFields (this.currentObject,
- this.currentObjectStreamClass.fields,
- false, this.currentObjectStreamClass);
+ boolean oldmode = setBlockDataMode(false);
+ readFields (this.currentObject, this.currentObjectStreamClass);
+ setBlockDataMode(oldmode);
fieldsAlreadyRead = true;
}
@@ -500,13 +540,18 @@ public class ObjectInputStream extends InputStream
throws ClassNotFoundException, IOException
{
SecurityManager sm = System.getSecurityManager ();
+ if (sm == null)
+ sm = new SecurityManager () {};
// FIXME: currentClassLoader doesn't yet do anything useful. We need
// to call forName() with the classloader of the class which called
// readObject(). See SecurityManager.getClassContext().
ClassLoader cl = currentClassLoader (sm);
- return Class.forName (osc.getName (), true, cl);
+ if (cl == null)
+ return Class.forName (osc.getName ());
+ else
+ return cl.loadClass (osc.getName ());
}
/**
@@ -603,11 +648,11 @@ public class ObjectInputStream extends InputStream
public int read () throws IOException
{
if (this.readDataFromBlock)
- {
- if (this.blockDataPosition >= this.blockDataBytes)
- readNextBlock ();
- return (this.blockData[this.blockDataPosition++] & 0xff);
- }
+ {
+ if (this.blockDataPosition >= this.blockDataBytes)
+ readNextBlock ();
+ return (this.blockData[this.blockDataPosition++] & 0xff);
+ }
else
return this.realInputStream.read ();
}
@@ -615,16 +660,26 @@ public class ObjectInputStream extends InputStream
public int read (byte[] data, int offset, int length) throws IOException
{
if (this.readDataFromBlock)
- {
- if (this.blockDataPosition + length > this.blockDataBytes)
- readNextBlock ();
+ {
+ if (this.blockDataPosition + length > this.blockDataBytes)
+ {
+ int remain = this.blockDataBytes - this.blockDataPosition;
+ if (remain != 0)
+ {
+ System.arraycopy (this.blockData, this.blockDataPosition,
+ data, offset, remain);
+ offset += remain;
+ length -= remain;
+ }
+ readNextBlock ();
+ }
- System.arraycopy (this.blockData, this.blockDataPosition,
- data, offset, length);
- blockDataPosition += length;
+ System.arraycopy (this.blockData, this.blockDataPosition,
+ data, offset, length);
+ this.blockDataPosition += length;
- return length;
- }
+ return length;
+ }
else
return this.realInputStream.read (data, offset, length);
}
@@ -632,12 +687,12 @@ public class ObjectInputStream extends InputStream
public int available () throws IOException
{
if (this.readDataFromBlock)
- {
- if (this.blockDataPosition >= this.blockDataBytes)
- readNextBlock ();
+ {
+ if (this.blockDataPosition >= this.blockDataBytes)
+ readNextBlock ();
- return this.blockDataBytes - this.blockDataPosition;
- }
+ return this.blockDataBytes - this.blockDataPosition;
+ }
else
return this.realInputStream.available ();
}
@@ -785,181 +840,181 @@ public class ObjectInputStream extends InputStream
// Apparently Block data is not used with GetField as per
// empirical evidence against JDK 1.2. Also see Mauve test
// java.io.ObjectInputOutput.Test.GetPutField.
- setBlockDataMode (false);
+ boolean oldmode = setBlockDataMode (false);
readFully (prim_field_data);
for (int i = 0; i < objs.length; ++ i)
objs[i] = readObject ();
- setBlockDataMode (true);
+ setBlockDataMode (oldmode);
return new GetField ()
- {
- public ObjectStreamClass getObjectStreamClass ()
{
- return clazz;
- }
+ public ObjectStreamClass getObjectStreamClass ()
+ {
+ return clazz;
+ }
- public boolean defaulted (String name)
- throws IOException, IllegalArgumentException
- {
- return clazz.getField (name) == null;
- }
+ public boolean defaulted (String name)
+ throws IOException, IllegalArgumentException
+ {
+ return clazz.getField (name) == null;
+ }
- public boolean get (String name, boolean defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Boolean.TYPE);
+ public boolean get (String name, boolean defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Boolean.TYPE);
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- return prim_field_data[field.getOffset ()] == 0 ? false : true;
- }
+ return prim_field_data[field.getOffset ()] == 0 ? false : true;
+ }
- public char get (String name, char defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Character.TYPE);
+ public char get (String name, char defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Character.TYPE);
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- int off = field.getOffset ();
+ int off = field.getOffset ();
- return (char)(((prim_field_data[off++] & 0xFF) << 8)
- | (prim_field_data[off] & 0xFF));
- }
+ return (char)(((prim_field_data[off++] & 0xFF) << 8)
+ | (prim_field_data[off] & 0xFF));
+ }
- public byte get (String name, byte defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Byte.TYPE);
+ public byte get (String name, byte defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Byte.TYPE);
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- return prim_field_data[field.getOffset ()];
- }
+ return prim_field_data[field.getOffset ()];
+ }
- public short get (String name, short defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Short.TYPE);
+ public short get (String name, short defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Short.TYPE);
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- int off = field.getOffset ();
+ int off = field.getOffset ();
- return (short)(((prim_field_data[off++] & 0xFF) << 8)
- | (prim_field_data[off] & 0xFF));
- }
+ return (short)(((prim_field_data[off++] & 0xFF) << 8)
+ | (prim_field_data[off] & 0xFF));
+ }
- public int get (String name, int defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Integer.TYPE);
+ public int get (String name, int defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Integer.TYPE);
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- int off = field.getOffset ();
+ int off = field.getOffset ();
- return ((prim_field_data[off++] & 0xFF) << 24)
- | ((prim_field_data[off++] & 0xFF) << 16)
- | ((prim_field_data[off++] & 0xFF) << 8)
- | (prim_field_data[off] & 0xFF);
- }
+ return ((prim_field_data[off++] & 0xFF) << 24)
+ | ((prim_field_data[off++] & 0xFF) << 16)
+ | ((prim_field_data[off++] & 0xFF) << 8)
+ | (prim_field_data[off] & 0xFF);
+ }
- public long get (String name, long defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Long.TYPE);
+ public long get (String name, long defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Long.TYPE);
+
+ if (field == null)
+ return defvalue;
+
+ int off = field.getOffset ();
+
+ return (long)(((prim_field_data[off++] & 0xFF) << 56)
+ | ((prim_field_data[off++] & 0xFF) << 48)
+ | ((prim_field_data[off++] & 0xFF) << 40)
+ | ((prim_field_data[off++] & 0xFF) << 32)
+ | ((prim_field_data[off++] & 0xFF) << 24)
+ | ((prim_field_data[off++] & 0xFF) << 16)
+ | ((prim_field_data[off++] & 0xFF) << 8)
+ | (prim_field_data[off] & 0xFF));
+ }
+
+ public float get (String name, float defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Float.TYPE);
+
+ if (field == null)
+ return defvalue;
+
+ int off = field.getOffset ();
+
+ return Float.intBitsToFloat (((prim_field_data[off++] & 0xFF) << 24)
+ | ((prim_field_data[off++] & 0xFF) << 16)
+ | ((prim_field_data[off++] & 0xFF) << 8)
+ | (prim_field_data[off] & 0xFF));
+ }
+
+ public double get (String name, double defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field = getField (name, Double.TYPE);
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- int off = field.getOffset ();
+ int off = field.getOffset ();
- return (long)(((prim_field_data[off++] & 0xFF) << 56)
+ return Double.longBitsToDouble
+ ( (long) (((prim_field_data[off++] & 0xFF) << 56)
| ((prim_field_data[off++] & 0xFF) << 48)
| ((prim_field_data[off++] & 0xFF) << 40)
| ((prim_field_data[off++] & 0xFF) << 32)
| ((prim_field_data[off++] & 0xFF) << 24)
| ((prim_field_data[off++] & 0xFF) << 16)
| ((prim_field_data[off++] & 0xFF) << 8)
- | (prim_field_data[off] & 0xFF));
- }
-
- public float get (String name, float defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Float.TYPE);
-
- if (field == null)
- return defvalue;
-
- int off = field.getOffset ();
-
- return Float.intBitsToFloat (((prim_field_data[off++] & 0xFF) << 24)
- | ((prim_field_data[off++] & 0xFF) << 16)
- | ((prim_field_data[off++] & 0xFF) << 8)
- | (prim_field_data[off] & 0xFF));
- }
-
- public double get (String name, double defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field = getField (name, Double.TYPE);
-
- if (field == null)
- return defvalue;
-
- int off = field.getOffset ();
-
- return Double.longBitsToDouble (
- (long)(((prim_field_data[off++] & 0xFF) << 56)
- | ((prim_field_data[off++] & 0xFF) << 48)
- | ((prim_field_data[off++] & 0xFF) << 40)
- | ((prim_field_data[off++] & 0xFF) << 32)
- | ((prim_field_data[off++] & 0xFF) << 24)
- | ((prim_field_data[off++] & 0xFF) << 16)
- | ((prim_field_data[off++] & 0xFF) << 8)
- | (prim_field_data[off] & 0xFF)));
- }
+ | (prim_field_data[off] & 0xFF)));
+ }
- public Object get (String name, Object defvalue)
- throws IOException, IllegalArgumentException
- {
- ObjectStreamField field =
- getField (name, defvalue == null ? null : defvalue.getClass ());
+ public Object get (String name, Object defvalue)
+ throws IOException, IllegalArgumentException
+ {
+ ObjectStreamField field =
+ getField (name, defvalue == null ? null : defvalue.getClass ());
- if (field == null)
- return defvalue;
+ if (field == null)
+ return defvalue;
- return objs[field.getOffset ()];
- }
+ return objs[field.getOffset ()];
+ }
- private ObjectStreamField getField (String name, Class type)
- throws IllegalArgumentException
- {
- ObjectStreamField field = clazz.getField (name);
+ private ObjectStreamField getField (String name, Class type)
+ throws IllegalArgumentException
+ {
+ ObjectStreamField field = clazz.getField (name);
- if (field == null)
- return null;
+ if (field == null)
+ return null;
- Class field_type = field.getType ();
+ Class field_type = field.getType ();
- if (type == field_type ||
- (type == null && ! field_type.isPrimitive ()))
- return field;
+ if (type == field_type ||
+ (type == null && ! field_type.isPrimitive ()))
+ return field;
- throw new IllegalArgumentException ("Field requested is of type "
- + field_type.getName ()
- + ", but requested type was "
- + (type == null ?
- "Object" : type.getName ()));
- }
- };
+ throw new IllegalArgumentException ("Field requested is of type "
+ + field_type.getName ()
+ + ", but requested type was "
+ + (type == null ?
+ "Object" : type.getName ()));
+ }
+ };
}
@@ -990,7 +1045,7 @@ public class ObjectInputStream extends InputStream
de serialization mechanism provided by
<code>ObjectInputStream</code>. To make this method be used for
writing objects, subclasses must invoke the 0-argument
- constructor on this class from there constructor.
+ constructor on this class from their constructor.
@see ObjectInputStream ()
*/
@@ -1005,15 +1060,7 @@ public class ObjectInputStream extends InputStream
private int assignNewHandle (Object obj)
{
this.objectLookupTable.put (new Integer (this.nextOID),
- new ObjectIdentityWrapper (obj));
-
-// try
-// {
-// DEBUG ("Assigning handle " + this.nextOID);
-// DEBUGln (" to " + obj);
-// }
-// catch (Throwable t) {}
-
+ new ObjectIdentityWrapper (obj));
return this.nextOID++;
}
@@ -1025,22 +1072,22 @@ public class ObjectInputStream extends InputStream
{
Method m = null;
try
- {
- Class classArgs[] = {};
- m = obj.getClass ().getDeclaredMethod ("readResolve", classArgs);
- // m can't be null by definition since an exception would
- // have been thrown so a check for null is not needed.
- obj = m.invoke (obj, new Object[] {});
- }
+ {
+ Class classArgs[] = {};
+ m = obj.getClass ().getDeclaredMethod ("readResolve", classArgs);
+ // m can't be null by definition since an exception would
+ // have been thrown so a check for null is not needed.
+ obj = m.invoke (obj, new Object[] {});
+ }
catch (NoSuchMethodException ignore)
- {
- }
+ {
+ }
catch (IllegalAccessException ignore)
- {
- }
+ {
+ }
catch (InvocationTargetException ignore)
- {
- }
+ {
+ }
}
if (this.resolveEnabled)
@@ -1062,7 +1109,6 @@ public class ObjectInputStream extends InputStream
private void readNextBlock () throws IOException
{
-// DEBUGln ("In readNextBlock ");
readNextBlock (this.realInputStream.readByte ());
}
@@ -1070,21 +1116,21 @@ public class ObjectInputStream extends InputStream
private void readNextBlock (byte marker) throws IOException
{
if (marker == TC_BLOCKDATA)
- {
- dumpElement ("BLOCK DATA SIZE=");
- this.blockDataBytes = this.realInputStream.readUnsignedByte ();
- dumpElementln (Integer.toString(this.blockDataBytes));
- }
+ {
+ dumpElement ("BLOCK DATA SIZE=");
+ this.blockDataBytes = this.realInputStream.readUnsignedByte ();
+ dumpElementln (Integer.toString(this.blockDataBytes));
+ }
else if (marker == TC_BLOCKDATALONG)
- {
- dumpElement ("BLOCK DATA LONG SIZE=");
- this.blockDataBytes = this.realInputStream.readInt ();
- dumpElementln (Integer.toString(this.blockDataBytes));
- }
+ {
+ dumpElement ("BLOCK DATA LONG SIZE=");
+ this.blockDataBytes = this.realInputStream.readInt ();
+ dumpElementln (Integer.toString(this.blockDataBytes));
+ }
else
- {
- throw new EOFException ("Attempt to read primitive data, but no data block is active.");
- }
+ {
+ throw new EOFException ("Attempt to read primitive data, but no data block is active.");
+ }
if (this.blockData.length < this.blockDataBytes)
this.blockData = new byte[this.blockDataBytes];
@@ -1098,89 +1144,77 @@ public class ObjectInputStream extends InputStream
throws ClassNotFoundException, IOException
{
if (clazz.isPrimitive ())
- {
- if (clazz == Boolean.TYPE)
- {
- boolean[] cast_array = (boolean[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readBoolean ();
- return;
- }
- if (clazz == Byte.TYPE)
- {
- byte[] cast_array = (byte[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readByte ();
- return;
- }
- if (clazz == Character.TYPE)
- {
- char[] cast_array = (char[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readChar ();
- return;
- }
- if (clazz == Double.TYPE)
- {
- double[] cast_array = (double[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readDouble ();
- return;
- }
- if (clazz == Float.TYPE)
- {
- float[] cast_array = (float[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readFloat ();
- return;
- }
- if (clazz == Integer.TYPE)
- {
- int[] cast_array = (int[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readInt ();
- return;
- }
- if (clazz == Long.TYPE)
{
- long[] cast_array = (long[])array;
- for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readLong ();
- return;
+ if (clazz == Boolean.TYPE)
+ {
+ boolean[] cast_array = (boolean[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readBoolean ();
+ return;
+ }
+ if (clazz == Byte.TYPE)
+ {
+ byte[] cast_array = (byte[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readByte ();
+ return;
+ }
+ if (clazz == Character.TYPE)
+ {
+ char[] cast_array = (char[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readChar ();
+ return;
+ }
+ if (clazz == Double.TYPE)
+ {
+ double[] cast_array = (double[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readDouble ();
+ return;
+ }
+ if (clazz == Float.TYPE)
+ {
+ float[] cast_array = (float[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readFloat ();
+ return;
+ }
+ if (clazz == Integer.TYPE)
+ {
+ int[] cast_array = (int[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readInt ();
+ return;
+ }
+ if (clazz == Long.TYPE)
+ {
+ long[] cast_array = (long[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readLong ();
+ return;
+ }
+ if (clazz == Short.TYPE)
+ {
+ short[] cast_array = (short[])array;
+ for (int i=0; i < cast_array.length; i++)
+ cast_array[i] = this.realInputStream.readShort ();
+ return;
+ }
}
- if (clazz == Short.TYPE)
+ else
{
- short[] cast_array = (short[])array;
+ Object[] cast_array = (Object[])array;
for (int i=0; i < cast_array.length; i++)
- cast_array[i] = this.realInputStream.readShort ();
- return;
- }
- }
- else
- {
- Object[] cast_array = (Object[])array;
- for (int i=0; i < cast_array.length; i++)
cast_array[i] = readObject ();
- }
+ }
}
- private void readFields (Object obj, ObjectStreamField[] stream_fields,
- boolean call_read_method,
- ObjectStreamClass stream_osc)
+ private void readFields (Object obj, ObjectStreamClass stream_osc)
throws ClassNotFoundException, IOException
{
-// DEBUGln ("In readFields");
- if (call_read_method)
- {
-// DEBUGln (" call_read_method is true");
- fieldsAlreadyRead = false;
- setBlockDataMode (true);
- callReadMethod (obj, stream_osc.forClass ());
- setBlockDataMode (false);
- return;
- }
-
+ ObjectStreamField[] stream_fields = stream_osc.fields;
ObjectStreamField[] real_fields =
ObjectStreamClass.lookup (stream_osc.forClass ()).fields;
@@ -1194,144 +1228,150 @@ public class ObjectInputStream extends InputStream
while (stream_idx < stream_fields.length
&& real_idx < real_fields.length)
- {
- default_initialize = false;
- set_value = true;
-
- if (stream_idx == stream_fields.length)
- default_initialize = true;
- else
- {
- stream_field = stream_fields[stream_idx];
- type = stream_field.getType ();
- }
-
- if (real_idx == real_fields.length)
- set_value = false;
- else
- {
- real_field = real_fields[real_idx];
- type = real_field.getType ();
- field_name = real_field.getName ();
- }
-
- if (set_value && !default_initialize)
{
- int comp_val =
- real_field.compareTo (stream_field);
+ default_initialize = false;
+ set_value = true;
- if (comp_val < 0)
- {
+ if (stream_idx == stream_fields.length)
default_initialize = true;
- real_idx++;
- }
- else if (comp_val > 0)
- {
+ else
+ {
+ stream_field = stream_fields[stream_idx];
+ type = stream_field.getType ();
+ }
+
+ if (real_idx == real_fields.length)
set_value = false;
- stream_idx++;
- }
else
- {
- real_idx++;
- stream_idx++;
- }
- }
+ {
+ real_field = real_fields[real_idx];
+ type = real_field.getType ();
+ field_name = real_field.getName ();
+ }
- if (type == Boolean.TYPE)
- {
- boolean value =
- default_initialize ? false : this.realInputStream.readBoolean ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setBooleanField (obj, field_name, value);
- }
- else if (type == Byte.TYPE)
- {
- byte value =
- default_initialize ? 0 : this.realInputStream.readByte ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setByteField (obj, field_name, value);
- }
- else if (type == Character.TYPE)
- {
- char value =
- default_initialize ? (char)0 : this.realInputStream.readChar ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setCharField (obj, field_name, value);
- }
- else if (type == Double.TYPE)
- {
- double value =
- default_initialize ? 0 : this.realInputStream.readDouble ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setDoubleField (obj, field_name, value);
- }
- else if (type == Float.TYPE)
- {
- float value =
- default_initialize ? 0 : this.realInputStream.readFloat ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setFloatField (obj, field_name, value);
- }
- else if (type == Integer.TYPE)
- {
- int value =
- default_initialize ? 0 : this.realInputStream.readInt ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setIntField (obj, field_name, value);
- }
- else if (type == Long.TYPE)
- {
- long value =
- default_initialize ? 0 : this.realInputStream.readLong ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setLongField (obj, field_name, value);
- }
- else if (type == Short.TYPE)
- {
- short value =
- default_initialize ? (short)0 : this.realInputStream.readShort ();
- if (!default_initialize && set_value)
- dumpElementln (" " + field_name + ": " + value);
- if (set_value)
- setShortField (obj, field_name, value);
- }
- else
- {
- Object value =
- default_initialize ? null : readObject ();
- if (set_value)
- setObjectField (obj, field_name,
- real_field.getTypeString (), value);
+ if (set_value && !default_initialize)
+ {
+ int comp_val =
+ real_field.compareTo (stream_field);
+
+ if (comp_val < 0)
+ {
+ default_initialize = true;
+ real_idx++;
+ }
+ else if (comp_val > 0)
+ {
+ set_value = false;
+ stream_idx++;
+ }
+ else
+ {
+ real_idx++;
+ stream_idx++;
+ }
+ }
+
+ try
+ {
+ if (type == Boolean.TYPE)
+ {
+ boolean value =
+ default_initialize ? false : this.realInputStream.readBoolean ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setBooleanField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Byte.TYPE)
+ {
+ byte value =
+ default_initialize ? 0 : this.realInputStream.readByte ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setByteField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Character.TYPE)
+ {
+ char value =
+ default_initialize ? (char)0 : this.realInputStream.readChar ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setCharField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Double.TYPE)
+ {
+ double value =
+ default_initialize ? 0 : this.realInputStream.readDouble ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setDoubleField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Float.TYPE)
+ {
+ float value =
+ default_initialize ? 0 : this.realInputStream.readFloat ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setFloatField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Integer.TYPE)
+ {
+ int value =
+ default_initialize ? 0 : this.realInputStream.readInt ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setIntField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Long.TYPE)
+ {
+ long value =
+ default_initialize ? 0 : this.realInputStream.readLong ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setLongField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else if (type == Short.TYPE)
+ {
+ short value =
+ default_initialize ? (short)0 : this.realInputStream.readShort ();
+ if (!default_initialize && set_value)
+ dumpElementln (" " + field_name + ": " + value);
+ if (set_value)
+ setShortField (obj, stream_osc.forClass (), field_name, value);
+ }
+ else
+ {
+ Object value =
+ default_initialize ? null : readObject ();
+ if (set_value)
+ setObjectField (obj, stream_osc.forClass (), field_name,
+ real_field.getTypeString (), value);
+ }
+ }
+ catch (NoSuchFieldError e)
+ {
+ dumpElementln("XXXX " + field_name + " does not exist.");
+ }
}
- }
}
-
// Toggles writing primitive data to block-data buffer.
- private void setBlockDataMode (boolean on)
+ private boolean setBlockDataMode (boolean on)
{
-// DEBUGln ("Setting block data mode to " + on);
-
+ boolean oldmode = this.readDataFromBlock;
this.readDataFromBlock = on;
if (on)
this.dataInputStream = this.blockDataInput;
else
this.dataInputStream = this.realInputStream;
+ return oldmode;
}
@@ -1340,15 +1380,15 @@ public class ObjectInputStream extends InputStream
private Object newObject (Class real_class, Class constructor_class)
{
try
- {
- Object obj = allocateObject (real_class);
- callConstructor (constructor_class, obj);
- return obj;
- }
+ {
+ Object obj = allocateObject (real_class);
+ callConstructor (constructor_class, obj);
+ return obj;
+ }
catch (InstantiationException e)
- {
- return null;
- }
+ {
+ return null;
+ }
}
@@ -1361,14 +1401,14 @@ public class ObjectInputStream extends InputStream
Arrays.sort (validators);
try
- {
- for (int i=0; i < validators.length; i++)
- ((ObjectInputValidation)validators[i]).validateObject ();
- }
+ {
+ for (int i=0; i < validators.length; i++)
+ ((ObjectInputValidation)validators[i]).validateObject ();
+ }
finally
- {
- this.validators.removeAllElements ();
- }
+ {
+ this.validators.removeAllElements ();
+ }
}
@@ -1380,14 +1420,21 @@ public class ObjectInputStream extends InputStream
return ClassLoader.getSystemClassLoader ();
}
- private static native Field getField (Class klass, String name)
- throws java.lang.NoSuchFieldException;
+ private static Field getField (Class klass, String name)
+ throws java.lang.NoSuchFieldException
+ {
+ return klass.getDeclaredField(name);
+ }
- private static native Method getMethod (Class klass, String name, Class args[])
- throws java.lang.NoSuchMethodException;
+ private static Method getMethod (Class klass, String name, Class args[])
+ throws java.lang.NoSuchMethodException
+ {
+ return klass.getDeclaredMethod(name, args);
+ }
- private void callReadMethod (Object obj, Class klass) throws IOException
+ private void callReadMethod (Object obj, ObjectStreamClass osc) throws IOException
{
+ Class klass = osc.forClass();
try
{
Class classArgs[] = {ObjectInputStream.class};
@@ -1421,12 +1468,11 @@ public class ObjectInputStream extends InputStream
private native void callConstructor (Class clazz, Object obj);
- private void setBooleanField (Object obj, String field_name,
+ private void setBooleanField (Object obj, Class klass, String field_name,
boolean val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setBoolean (obj, val);
@@ -1436,12 +1482,11 @@ public class ObjectInputStream extends InputStream
}
}
- private void setByteField (Object obj, String field_name,
- byte val)
+ private void setByteField (Object obj, Class klass, String field_name,
+ byte val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setByte (obj, val);
@@ -1451,12 +1496,11 @@ public class ObjectInputStream extends InputStream
}
}
- private void setCharField (Object obj, String field_name,
+ private void setCharField (Object obj, Class klass, String field_name,
char val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setChar (obj, val);
@@ -1466,12 +1510,11 @@ public class ObjectInputStream extends InputStream
}
}
- private void setDoubleField (Object obj, String field_name,
+ private void setDoubleField (Object obj, Class klass, String field_name,
double val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setDouble (obj, val);
@@ -1481,12 +1524,11 @@ public class ObjectInputStream extends InputStream
}
}
- private void setFloatField (Object obj, String field_name,
+ private void setFloatField (Object obj, Class klass, String field_name,
float val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setFloat (obj, val);
@@ -1496,12 +1538,11 @@ public class ObjectInputStream extends InputStream
}
}
- private void setIntField (Object obj, String field_name,
- int val)
+ private void setIntField (Object obj, Class klass, String field_name,
+ int val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setInt (obj, val);
@@ -1512,12 +1553,11 @@ public class ObjectInputStream extends InputStream
}
- private void setLongField (Object obj, String field_name,
- long val)
+ private void setLongField (Object obj, Class klass, String field_name,
+ long val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setLong (obj, val);
@@ -1528,12 +1568,11 @@ public class ObjectInputStream extends InputStream
}
- private void setShortField (Object obj, String field_name,
+ private void setShortField (Object obj, Class klass, String field_name,
short val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
f.setShort (obj, val);
@@ -1544,12 +1583,11 @@ public class ObjectInputStream extends InputStream
}
- private void setObjectField (Object obj, String field_name, String type_code,
+ private void setObjectField (Object obj, Class klass, String field_name, String type_code,
Object val)
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
f.setAccessible(true);
// FIXME: We should check the type_code here
@@ -1580,7 +1618,7 @@ public class ObjectInputStream extends InputStream
private boolean fieldsAlreadyRead;
private Vector validators;
- private static boolean dump;
+ private static boolean dump;
private void dumpElement (String msg)
{
@@ -1593,6 +1631,14 @@ public class ObjectInputStream extends InputStream
if (Configuration.DEBUG && dump)
System.out.println(msg);
}
+
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary ("javaio");
+ }
+ }
}
diff --git a/libjava/java/io/ObjectOutputStream.java b/libjava/java/io/ObjectOutputStream.java
index d7c893f1696..a051a96f3d8 100644
--- a/libjava/java/io/ObjectOutputStream.java
+++ b/libjava/java/io/ObjectOutputStream.java
@@ -1,5 +1,5 @@
/* ObjectOutputStream.java -- Class used to write serialized objects
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +7,7 @@ GNU Classpath 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 Classpath 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
@@ -46,6 +46,7 @@ import java.util.Hashtable;
import gnu.java.io.ObjectIdentityWrapper;
import gnu.java.lang.reflect.TypeSignature;
+import gnu.classpath.Configuration;
/**
An <code>ObjectOutputStream</code> can be used to write objects
@@ -76,22 +77,22 @@ import gnu.java.lang.reflect.TypeSignature;
in a graph lost.
Example usage:
- <pre>
- Hashtable map = new Hashtable ();
- map.put ("one", new Integer (1));
- map.put ("two", new Integer (2));
+ <pre>
+ Hashtable map = new Hashtable ();
+ map.put ("one", new Integer (1));
+ map.put ("two", new Integer (2));
- ObjectOutputStream oos =
- new ObjectOutputStream (new FileOutputStream ("numbers"));
- oos.writeObject (map);
- oos.close ();
+ ObjectOutputStream oos =
+ new ObjectOutputStream (new FileOutputStream ("numbers"));
+ oos.writeObject (map);
+ oos.close ();
- ObjectInputStream ois =
- new ObjectInputStream (new FileInputStream ("numbers"));
- Hashtable newmap = (Hashtable)ois.readObject ();
+ ObjectInputStream ois =
+ new ObjectInputStream (new FileInputStream ("numbers"));
+ Hashtable newmap = (Hashtable)ois.readObject ();
- System.out.println (newmap);
- </pre>
+ System.out.println (newmap);
+ </pre>
The default serialization can be overriden in two ways.
@@ -167,232 +168,246 @@ public class ObjectOutputStream extends OutputStream
public final void writeObject (Object obj) throws IOException
{
if (useSubclassMethod)
- {
- writeObjectOverride (obj);
- return;
- }
+ {
+ writeObjectOverride (obj);
+ return;
+ }
boolean was_serializing = isSerializing;
-
- if (! was_serializing)
- setBlockDataMode (false);
-
+ boolean old_mode = setBlockDataMode (false);
try
- {
- isSerializing = true;
- boolean replaceDone = false;
-
- drain ();
-
- while (true)
{
- if (obj == null)
- {
- realOutput.writeByte (TC_NULL);
- break;
- }
-
- Integer handle = findHandle (obj);
- if (handle != null)
- {
- realOutput.writeByte (TC_REFERENCE);
- realOutput.writeInt (handle.intValue ());
- break;
- }
-
- if (obj instanceof Class)
- {
- realOutput.writeByte (TC_CLASS);
- writeObject (ObjectStreamClass.lookup ((Class)obj));
- assignNewHandle (obj);
- break;
- }
-
- if (obj instanceof ObjectStreamClass)
- {
- ObjectStreamClass osc = (ObjectStreamClass)obj;
- realOutput.writeByte (TC_CLASSDESC);
- realOutput.writeUTF (osc.getName ());
- realOutput.writeLong (osc.getSerialVersionUID ());
- assignNewHandle (obj);
-
- int flags = osc.getFlags ();
-
- if (protocolVersion == PROTOCOL_VERSION_2
- && osc.isExternalizable ())
- flags |= SC_BLOCK_DATA;
-
- realOutput.writeByte (flags);
-
- ObjectStreamField[] fields = osc.fields;
- realOutput.writeShort (fields.length);
-
- ObjectStreamField field;
- for (int i=0; i < fields.length; i++)
- {
- field = fields[i];
- realOutput.writeByte (field.getTypeCode ());
- realOutput.writeUTF (field.getName ());
-
- if (! field.isPrimitive ())
- writeObject (field.getTypeString ());
- }
-
- setBlockDataMode (true);
- annotateClass (osc.forClass ());
- setBlockDataMode (false);
- realOutput.writeByte (TC_ENDBLOCKDATA);
-
- if (osc.isSerializable ())
- writeObject (osc.getSuper ());
- else
- writeObject (null);
- break;
- }
-
-
+ isSerializing = true;
+ boolean replaceDone = false;
Object replacedObject = null;
+
+ while (true)
+ {
+ if (obj == null)
+ {
+ realOutput.writeByte (TC_NULL);
+ break;
+ }
- if ((replacementEnabled || obj instanceof Serializable)
- && ! replaceDone)
- {
- replacedObject = obj;
+ Integer handle = findHandle (obj);
+ if (handle != null)
+ {
+ realOutput.writeByte (TC_REFERENCE);
+ realOutput.writeInt (handle.intValue ());
+ break;
+ }
- if (obj instanceof Serializable)
- {
- Method m = null;
- try
+ if (obj instanceof Class)
{
- Class classArgs[] = {};
- m = obj.getClass ().getDeclaredMethod ("writeReplace",
- classArgs);
- // m can't be null by definition since an exception would
- // have been thrown so a check for null is not needed.
- obj = m.invoke (obj, new Object[] {});
+ Class cl = (Class)obj;
+ ObjectStreamClass osc = ObjectStreamClass.lookupForClassObject (cl);
+ assignNewHandle (obj);
+ realOutput.writeByte (TC_CLASS);
+ if (!osc.isProxyClass)
+ {
+ writeObject (osc);
+ }
+ else
+ {
+ realOutput.writeByte (TC_PROXYCLASSDESC);
+ Class[] intfs = cl.getInterfaces();
+ realOutput.writeInt(intfs.length);
+ for (int i = 0; i < intfs.length; i++)
+ realOutput.writeUTF(intfs[i].getName());
+
+ boolean oldmode = setBlockDataMode (true);
+ annotateProxyClass(cl);
+ setBlockDataMode (oldmode);
+ realOutput.writeByte(TC_ENDBLOCKDATA);
+
+ writeObject (osc.getSuper());
+ }
+ break;
}
- catch (NoSuchMethodException ignore)
+
+ if (obj instanceof ObjectStreamClass)
{
+ ObjectStreamClass osc = (ObjectStreamClass)obj;
+ realOutput.writeByte (TC_CLASSDESC);
+ realOutput.writeUTF (osc.getName ());
+ realOutput.writeLong (osc.getSerialVersionUID ());
+ assignNewHandle (obj);
+
+ int flags = osc.getFlags ();
+
+ if (protocolVersion == PROTOCOL_VERSION_2
+ && osc.isExternalizable ())
+ flags |= SC_BLOCK_DATA;
+
+ realOutput.writeByte (flags);
+
+ ObjectStreamField[] fields = osc.fields;
+ realOutput.writeShort (fields.length);
+
+ ObjectStreamField field;
+ for (int i=0; i < fields.length; i++)
+ {
+ field = fields[i];
+ realOutput.writeByte (field.getTypeCode ());
+ realOutput.writeUTF (field.getName ());
+
+ if (! field.isPrimitive ())
+ writeObject (field.getTypeString ());
+ }
+
+ boolean oldmode = setBlockDataMode (true);
+ annotateClass (osc.forClass ());
+ setBlockDataMode (oldmode);
+ realOutput.writeByte (TC_ENDBLOCKDATA);
+
+ if (osc.isSerializable ())
+ writeObject (osc.getSuper ());
+ else
+ writeObject (null);
+ break;
}
- catch (IllegalAccessException ignore)
+
+ if ((replacementEnabled || obj instanceof Serializable)
+ && ! replaceDone)
{
+ replacedObject = obj;
+
+ if (obj instanceof Serializable)
+ {
+ Method m = null;
+ try
+ {
+ Class classArgs[] = {};
+ m = obj.getClass ().getDeclaredMethod ("writeReplace",
+ classArgs);
+ // m can't be null by definition since an exception would
+ // have been thrown so a check for null is not needed.
+ obj = m.invoke (obj, new Object[] {});
+ }
+ catch (NoSuchMethodException ignore)
+ {
+ }
+ catch (IllegalAccessException ignore)
+ {
+ }
+ catch (InvocationTargetException ignore)
+ {
+ }
+ }
+
+ if (replacementEnabled)
+ obj = replaceObject (obj);
+
+ replaceDone = true;
+ continue;
}
- catch (InvocationTargetException ignore)
+
+ if (obj instanceof String)
{
+ realOutput.writeByte (TC_STRING);
+ assignNewHandle (obj);
+ realOutput.writeUTF ((String)obj);
+ break;
}
- }
- if (replacementEnabled)
- obj = replaceObject (obj);
+ Class clazz = obj.getClass ();
+ ObjectStreamClass osc = ObjectStreamClass.lookupForClassObject (clazz);
+ if (osc == null)
+ throw new NotSerializableException (clazz.getName ());
- replaceDone = true;
- continue;
- }
+ if (clazz.isArray ())
+ {
+ realOutput.writeByte (TC_ARRAY);
+ writeObject (osc);
+ assignNewHandle (obj);
+ writeArraySizeAndElements (obj, clazz.getComponentType ());
+ break;
+ }
- if (obj instanceof String)
- {
- realOutput.writeByte (TC_STRING);
- assignNewHandle (obj);
- realOutput.writeUTF ((String)obj);
- break;
- }
+ realOutput.writeByte (TC_OBJECT);
+ writeObject (osc);
- Class clazz = obj.getClass ();
- ObjectStreamClass osc = ObjectStreamClass.lookup (clazz);
- if (osc == null)
- throw new NotSerializableException (clazz.getName ());
+ if (replaceDone)
+ assignNewHandle (replacedObject);
+ else
+ assignNewHandle (obj);
- if (clazz.isArray ())
- {
- realOutput.writeByte (TC_ARRAY);
- writeObject (osc);
- assignNewHandle (obj);
- writeArraySizeAndElements (obj, clazz.getComponentType ());
- break;
- }
+ if (obj instanceof Externalizable)
+ {
+ if (protocolVersion == PROTOCOL_VERSION_2)
+ setBlockDataMode (true);
- realOutput.writeByte (TC_OBJECT);
- writeObject (osc);
+ ((Externalizable)obj).writeExternal (this);
- if (replaceDone)
- assignNewHandle (replacedObject);
- else
- assignNewHandle (obj);
+ if (protocolVersion == PROTOCOL_VERSION_2)
+ {
+ setBlockDataMode (false);
+ realOutput.writeByte (TC_ENDBLOCKDATA);
+ }
- if (obj instanceof Externalizable)
- {
- if (protocolVersion == PROTOCOL_VERSION_2)
- setBlockDataMode (true);
+ break;
+ }
- ((Externalizable)obj).writeExternal (this);
+ if (obj instanceof Serializable)
+ {
+ currentObject = obj;
+ ObjectStreamClass[] hierarchy =
+ ObjectStreamClass.getObjectStreamClasses (clazz);
+
+ for (int i=0; i < hierarchy.length; i++)
+ {
+ currentObjectStreamClass = hierarchy[i];
+
+ fieldsAlreadyWritten = false;
+ if (currentObjectStreamClass.hasWriteMethod ())
+ {
+ setBlockDataMode (true);
+ callWriteMethod (obj, currentObjectStreamClass);
+ setBlockDataMode (false);
+ realOutput.writeByte (TC_ENDBLOCKDATA);
+ }
+ else
+ writeFields (obj, currentObjectStreamClass);
+ }
+
+ currentObject = null;
+ currentObjectStreamClass = null;
+ currentPutField = null;
+ break;
+ }
- if (protocolVersion == PROTOCOL_VERSION_2)
+ throw new NotSerializableException (clazz.getName ());
+ } // end pseudo-loop
+ }
+ catch (ObjectStreamException ose)
+ {
+ // Rethrow these are fatal.
+ throw ose;
+ }
+ catch (IOException e)
+ {
+ realOutput.writeByte (TC_EXCEPTION);
+ reset (true);
+
+ setBlockDataMode (false);
+ try
{
- setBlockDataMode (false);
- drain ();
+ writeObject (e);
}
-
- break;
- }
-
- if (obj instanceof Serializable)
- {
- currentObject = obj;
- ObjectStreamClass[] hierarchy =
- ObjectStreamClass.getObjectStreamClasses (clazz);
-
- boolean has_write;
- for (int i=0; i < hierarchy.length; i++)
+ catch (IOException ioe)
{
- currentObjectStreamClass = hierarchy[i];
-
- fieldsAlreadyWritten = false;
- has_write = currentObjectStreamClass.hasWriteMethod ();
-
- writeFields (obj, currentObjectStreamClass.fields,
- has_write);
-
- if (has_write)
- {
- drain ();
- realOutput.writeByte (TC_ENDBLOCKDATA);
- }
+ throw new StreamCorruptedException ("Exception " + ioe + " thrown while exception was being written to stream.");
}
- currentObject = null;
- currentObjectStreamClass = null;
- currentPutField = null;
- break;
- }
-
- throw new NotSerializableException (clazz.getName ());
- } // end pseudo-loop
- }
- catch (IOException e)
- {
- realOutput.writeByte (TC_EXCEPTION);
- reset (true);
-
- try
- {
- writeObject (e);
+ reset (true);
}
- catch (IOException ioe)
+ finally
{
- throw new StreamCorruptedException ("Exception " + ioe + " thrown while exception was being written to stream.");
+ isSerializing = was_serializing;
+ setBlockDataMode (old_mode);
}
-
- reset (true);
- }
- finally
- {
- isSerializing = was_serializing;
-
- if (! was_serializing)
- setBlockDataMode (true);
- }
}
-
/**
Writes the current objects non-transient, non-static fields from
the current class to the underlying output stream.
@@ -413,7 +428,7 @@ public class ObjectOutputStream extends OutputStream
throws IOException, NotActiveException
{
markFieldsWritten ();
- writeFields (currentObject, currentObjectStreamClass.fields, false);
+ writeFields (currentObject, currentObjectStreamClass);
}
@@ -450,12 +465,12 @@ public class ObjectOutputStream extends OutputStream
private void reset (boolean internal) throws IOException
{
if (!internal)
- {
- if (isSerializing)
- throw new IOException ("Reset called while serialization in progress");
+ {
+ if (isSerializing)
+ throw new IOException ("Reset called while serialization in progress");
- realOutput.writeByte (TC_RESET);
- }
+ realOutput.writeByte (TC_RESET);
+ }
clearHandles ();
}
@@ -466,8 +481,8 @@ public class ObjectOutputStream extends OutputStream
according to the specified protocol. There are currently two
different protocols, specified by <code>PROTOCOL_VERSION_1</code>
and <code>PROTOCOL_VERSION_2</code>. This implementation writes
- data using <code>PROTOCOL_VERSION_1</code> by default, as is done
- by the JDK 1.1.
+ data using <code>PROTOCOL_VERSION_2</code> by default, as is done
+ by the JDK 1.2.
A non-portable method, <code>setDefaultProtocolVersion (int
version)</code> is provided to change the default protocol
@@ -528,6 +543,8 @@ public class ObjectOutputStream extends OutputStream
protected void annotateClass (Class cl) throws IOException
{}
+ protected void annotateProxyClass(Class cl) throws IOException
+ {}
/**
Allows subclasses to replace objects that are written to the
@@ -633,12 +650,12 @@ public class ObjectOutputStream extends OutputStream
public void write (int data) throws IOException
{
if (writeDataAsBlocks)
- {
- if (blockDataCount == BUFFER_SIZE)
- drain ();
+ {
+ if (blockDataCount == BUFFER_SIZE)
+ drain ();
- blockData[ blockDataCount++ ] = (byte)data;
- }
+ blockData[ blockDataCount++ ] = (byte)data;
+ }
else
realOutput.write (data);
}
@@ -659,22 +676,22 @@ public class ObjectOutputStream extends OutputStream
public void write (byte[] b, int off, int len) throws IOException
{
if (writeDataAsBlocks)
- {
- if (len < 0)
- throw new IndexOutOfBoundsException ();
-
- if (blockDataCount + len < BUFFER_SIZE)
{
- System.arraycopy (b, off, blockData, blockDataCount, len);
- blockDataCount += len;
- }
- else
- {
- drain ();
- writeBlockDataHeader (len);
- realOutput.write (b, off, len);
+ if (len < 0)
+ throw new IndexOutOfBoundsException ();
+
+ if (blockDataCount + len < BUFFER_SIZE)
+ {
+ System.arraycopy (b, off, blockData, blockDataCount, len);
+ blockDataCount += len;
+ }
+ else
+ {
+ drain ();
+ writeBlockDataHeader (len);
+ realOutput.write (b, off, len);
+ }
}
- }
else
realOutput.write (b, off, len);
}
@@ -702,7 +719,8 @@ public class ObjectOutputStream extends OutputStream
if (blockDataCount == 0)
return;
- writeBlockDataHeader (blockDataCount);
+ if (writeDataAsBlocks)
+ writeBlockDataHeader (blockDataCount);
realOutput.write (blockData, 0, blockDataCount);
blockDataCount = 0;
}
@@ -713,7 +731,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void close () throws IOException
{
- drain ();
+ flush ();
realOutput.close ();
}
@@ -723,7 +741,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeBoolean (boolean data) throws IOException
{
- dataOutput.writeBoolean (data);
+ blockDataOutput.writeBoolean (data);
}
@@ -732,7 +750,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeByte (int data) throws IOException
{
- dataOutput.writeByte (data);
+ blockDataOutput.writeByte (data);
}
@@ -741,7 +759,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeShort (int data) throws IOException
{
- dataOutput.writeShort (data);
+ blockDataOutput.writeShort (data);
}
@@ -750,7 +768,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeChar (int data) throws IOException
{
- dataOutput.writeChar (data);
+ blockDataOutput.writeChar (data);
}
@@ -759,7 +777,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeInt (int data) throws IOException
{
- dataOutput.writeInt (data);
+ blockDataOutput.writeInt (data);
}
@@ -768,7 +786,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeLong (long data) throws IOException
{
- dataOutput.writeLong (data);
+ blockDataOutput.writeLong (data);
}
@@ -777,7 +795,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeFloat (float data) throws IOException
{
- dataOutput.writeFloat (data);
+ blockDataOutput.writeFloat (data);
}
@@ -786,7 +804,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeDouble (double data) throws IOException
{
- dataOutput.writeDouble (data);
+ blockDataOutput.writeDouble (data);
}
@@ -795,7 +813,7 @@ public class ObjectOutputStream extends OutputStream
*/
public void writeBytes (String data) throws IOException
{
- dataOutput.writeBytes (data);
+ blockDataOutput.writeBytes (data);
}
@@ -854,141 +872,143 @@ public class ObjectOutputStream extends OutputStream
currentPutField = new PutField ()
{
private byte[] prim_field_data
- = new byte[currentObjectStreamClass.primFieldSize];
+ = new byte[currentObjectStreamClass.primFieldSize];
private Object[] objs
- = new Object[currentObjectStreamClass.objectFieldCount];
+ = new Object[currentObjectStreamClass.objectFieldCount];
public void put (String name, boolean value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'Z');
- prim_field_data[field.getOffset ()] = (byte)(value ? 1 : 0);
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'Z');
+ prim_field_data[field.getOffset ()] = (byte)(value ? 1 : 0);
+ }
public void put (String name, byte value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'B');
- prim_field_data[field.getOffset ()] = value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'B');
+ prim_field_data[field.getOffset ()] = value;
+ }
public void put (String name, char value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'C');
- int off = field.getOffset ();
- prim_field_data[off++] = (byte)(value >>> 8);
- prim_field_data[off] = (byte)value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'C');
+ int off = field.getOffset ();
+ prim_field_data[off++] = (byte)(value >>> 8);
+ prim_field_data[off] = (byte)value;
+ }
public void put (String name, double value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'D');
- int off = field.getOffset ();
- long l_value = Double.doubleToLongBits (value);
- prim_field_data[off++] = (byte)(l_value >>> 52);
- prim_field_data[off++] = (byte)(l_value >>> 48);
- prim_field_data[off++] = (byte)(l_value >>> 40);
- prim_field_data[off++] = (byte)(l_value >>> 32);
- prim_field_data[off++] = (byte)(l_value >>> 24);
- prim_field_data[off++] = (byte)(l_value >>> 16);
- prim_field_data[off++] = (byte)(l_value >>> 8);
- prim_field_data[off] = (byte)l_value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'D');
+ int off = field.getOffset ();
+ long l_value = Double.doubleToLongBits (value);
+ prim_field_data[off++] = (byte)(l_value >>> 52);
+ prim_field_data[off++] = (byte)(l_value >>> 48);
+ prim_field_data[off++] = (byte)(l_value >>> 40);
+ prim_field_data[off++] = (byte)(l_value >>> 32);
+ prim_field_data[off++] = (byte)(l_value >>> 24);
+ prim_field_data[off++] = (byte)(l_value >>> 16);
+ prim_field_data[off++] = (byte)(l_value >>> 8);
+ prim_field_data[off] = (byte)l_value;
+ }
public void put (String name, float value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'F');
- int off = field.getOffset ();
- int i_value = Float.floatToIntBits (value);
- prim_field_data[off++] = (byte)(i_value >>> 24);
- prim_field_data[off++] = (byte)(i_value >>> 16);
- prim_field_data[off++] = (byte)(i_value >>> 8);
- prim_field_data[off] = (byte)i_value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'F');
+ int off = field.getOffset ();
+ int i_value = Float.floatToIntBits (value);
+ prim_field_data[off++] = (byte)(i_value >>> 24);
+ prim_field_data[off++] = (byte)(i_value >>> 16);
+ prim_field_data[off++] = (byte)(i_value >>> 8);
+ prim_field_data[off] = (byte)i_value;
+ }
public void put (String name, int value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'I');
- int off = field.getOffset ();
- prim_field_data[off++] = (byte)(value >>> 24);
- prim_field_data[off++] = (byte)(value >>> 16);
- prim_field_data[off++] = (byte)(value >>> 8);
- prim_field_data[off] = (byte)value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'I');
+ int off = field.getOffset ();
+ prim_field_data[off++] = (byte)(value >>> 24);
+ prim_field_data[off++] = (byte)(value >>> 16);
+ prim_field_data[off++] = (byte)(value >>> 8);
+ prim_field_data[off] = (byte)value;
+ }
public void put (String name, long value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'J');
- int off = field.getOffset ();
- prim_field_data[off++] = (byte)(value >>> 52);
- prim_field_data[off++] = (byte)(value >>> 48);
- prim_field_data[off++] = (byte)(value >>> 40);
- prim_field_data[off++] = (byte)(value >>> 32);
- prim_field_data[off++] = (byte)(value >>> 24);
- prim_field_data[off++] = (byte)(value >>> 16);
- prim_field_data[off++] = (byte)(value >>> 8);
- prim_field_data[off] = (byte)value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'J');
+ int off = field.getOffset ();
+ prim_field_data[off++] = (byte)(value >>> 52);
+ prim_field_data[off++] = (byte)(value >>> 48);
+ prim_field_data[off++] = (byte)(value >>> 40);
+ prim_field_data[off++] = (byte)(value >>> 32);
+ prim_field_data[off++] = (byte)(value >>> 24);
+ prim_field_data[off++] = (byte)(value >>> 16);
+ prim_field_data[off++] = (byte)(value >>> 8);
+ prim_field_data[off] = (byte)value;
+ }
public void put (String name, short value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- checkType (field, 'S');
- int off = field.getOffset ();
- prim_field_data[off++] = (byte)(value >>> 8);
- prim_field_data[off] = (byte)value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ checkType (field, 'S');
+ int off = field.getOffset ();
+ prim_field_data[off++] = (byte)(value >>> 8);
+ prim_field_data[off] = (byte)value;
+ }
public void put (String name, Object value)
throws IOException, IllegalArgumentException
- {
- ObjectStreamField field
- = currentObjectStreamClass.getField (name);
- if (value != null &&
- ! field.getType ().isAssignableFrom (value.getClass ()))
- throw new IllegalArgumentException ();
- objs[field.getOffset ()] = value;
- }
+ {
+ ObjectStreamField field
+ = currentObjectStreamClass.getField (name);
+ if (field == null)
+ throw new IllegalArgumentException ();
+ if (value != null &&
+ ! field.getType ().isAssignableFrom (value.getClass ()))
+ throw new IllegalArgumentException ();
+ objs[field.getOffset ()] = value;
+ }
public void write (ObjectOutput out) throws IOException
- {
- // Apparently Block data is not used with PutField as per
- // empirical evidence against JDK 1.2. Also see Mauve test
- // java.io.ObjectInputOutput.Test.GetPutField.
- setBlockDataMode (false);
- out.write (prim_field_data);
- for (int i = 0; i < objs.length; ++ i)
- out.writeObject (objs[i]);
- setBlockDataMode (true);
- }
+ {
+ // Apparently Block data is not used with PutField as per
+ // empirical evidence against JDK 1.2. Also see Mauve test
+ // java.io.ObjectInputOutput.Test.GetPutField.
+ boolean oldmode = setBlockDataMode (false);
+ out.write (prim_field_data);
+ for (int i = 0; i < objs.length; ++ i)
+ out.writeObject (objs[i]);
+ setBlockDataMode (oldmode);
+ }
private void checkType (ObjectStreamField field, char type)
throws IllegalArgumentException
- {
- if (TypeSignature.getEncodingOfClass (field.getType ()).charAt (0) != type)
- throw new IllegalArgumentException ();
- }
+ {
+ if (TypeSignature.getEncodingOfClass (field.getType ()).charAt (0) != type)
+ throw new IllegalArgumentException ();
+ }
};
// end PutFieldImpl
@@ -1010,15 +1030,15 @@ public class ObjectOutputStream extends OutputStream
private void writeBlockDataHeader (int size) throws IOException
{
if (size < 256)
- {
- realOutput.writeByte (TC_BLOCKDATA);
- realOutput.write (size);
- }
+ {
+ realOutput.writeByte (TC_BLOCKDATA);
+ realOutput.write (size);
+ }
else
- {
- realOutput.writeByte (TC_BLOCKDATALONG);
- realOutput.writeInt (size);
- }
+ {
+ realOutput.writeByte (TC_BLOCKDATALONG);
+ realOutput.writeInt (size);
+ }
}
@@ -1054,142 +1074,141 @@ public class ObjectOutputStream extends OutputStream
int length = Array.getLength (array);
if (clazz.isPrimitive ())
- {
- if (clazz == Boolean.TYPE)
- {
- boolean[] cast_array = (boolean[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeBoolean (cast_array[i]);
- return;
- }
- if (clazz == Byte.TYPE)
- {
- byte[] cast_array = (byte[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeByte (cast_array[i]);
- return;
- }
- if (clazz == Character.TYPE)
- {
- char[] cast_array = (char[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeChar (cast_array[i]);
- return;
- }
- if (clazz == Double.TYPE)
- {
- double[] cast_array = (double[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeDouble (cast_array[i]);
- return;
- }
- if (clazz == Float.TYPE)
- {
- float[] cast_array = (float[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeFloat (cast_array[i]);
- return;
- }
- if (clazz == Integer.TYPE)
- {
- int[] cast_array = (int[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeInt (cast_array[i]);
- return;
- }
- if (clazz == Long.TYPE)
{
- long[] cast_array = (long[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- realOutput.writeLong (cast_array[i]);
- return;
+ if (clazz == Boolean.TYPE)
+ {
+ boolean[] cast_array = (boolean[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeBoolean (cast_array[i]);
+ return;
+ }
+ if (clazz == Byte.TYPE)
+ {
+ byte[] cast_array = (byte[])array;
+ realOutput.writeInt (length);
+ realOutput.write(cast_array, 0, length);
+ return;
+ }
+ if (clazz == Character.TYPE)
+ {
+ char[] cast_array = (char[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeChar (cast_array[i]);
+ return;
+ }
+ if (clazz == Double.TYPE)
+ {
+ double[] cast_array = (double[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeDouble (cast_array[i]);
+ return;
+ }
+ if (clazz == Float.TYPE)
+ {
+ float[] cast_array = (float[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeFloat (cast_array[i]);
+ return;
+ }
+ if (clazz == Integer.TYPE)
+ {
+ int[] cast_array = (int[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeInt (cast_array[i]);
+ return;
+ }
+ if (clazz == Long.TYPE)
+ {
+ long[] cast_array = (long[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeLong (cast_array[i]);
+ return;
+ }
+ if (clazz == Short.TYPE)
+ {
+ short[] cast_array = (short[])array;
+ realOutput.writeInt (length);
+ for (int i=0; i < length; i++)
+ realOutput.writeShort (cast_array[i]);
+ return;
+ }
}
- if (clazz == Short.TYPE)
+ else
{
- short[] cast_array = (short[])array;
+ Object[] cast_array = (Object[])array;
realOutput.writeInt (length);
for (int i=0; i < length; i++)
- realOutput.writeShort (cast_array[i]);
- return;
+ writeObject (cast_array[i]);
}
- }
- else
- {
- Object[] cast_array = (Object[])array;
- realOutput.writeInt (length);
- for (int i=0; i < length; i++)
- writeObject (cast_array[i]);
- }
}
- // writes out FIELDS of OBJECT. If CALL_WRITE_METHOD is true, use
- // object's writeObject (ObjectOutputStream), otherwise use default
- // serialization. FIELDS are already in canonical order.
- private void writeFields (Object obj,
- ObjectStreamField[] fields,
- boolean call_write_method) throws IOException
+ // writes out FIELDS of OBJECT for the specified ObjectStreamClass.
+ // FIELDS are already in canonical order.
+ private void writeFields (Object obj, ObjectStreamClass osc)
+ throws IOException
{
- if (call_write_method)
- {
- setBlockDataMode (true);
- callWriteMethod (obj);
- setBlockDataMode (false);
- return;
- }
-
+ ObjectStreamField[] fields = osc.fields;
+ boolean oldmode = setBlockDataMode (false);
String field_name;
Class type;
for (int i=0; i < fields.length; i++)
- {
- field_name = fields[i].getName ();
- type = fields[i].getType ();
-
- if (type == Boolean.TYPE)
- realOutput.writeBoolean (getBooleanField (obj, field_name));
- else if (type == Byte.TYPE)
- realOutput.writeByte (getByteField (obj, field_name));
- else if (type == Character.TYPE)
- realOutput.writeChar (getCharField (obj, field_name));
- else if (type == Double.TYPE)
- realOutput.writeDouble (getDoubleField (obj, field_name));
- else if (type == Float.TYPE)
- realOutput.writeFloat (getFloatField (obj, field_name));
- else if (type == Integer.TYPE)
- realOutput.writeInt (getIntField (obj, field_name));
- else if (type == Long.TYPE)
- realOutput.writeLong (getLongField (obj, field_name));
- else if (type == Short.TYPE)
- realOutput.writeShort (getShortField (obj, field_name));
- else
- writeObject (getObjectField (obj, field_name,
- TypeSignature.getEncodingOfClass (type)));
- }
+ {
+ field_name = fields[i].getName ();
+ type = fields[i].getType ();
+
+ if (type == Boolean.TYPE)
+ realOutput.writeBoolean (getBooleanField (obj, osc.forClass(), field_name));
+ else if (type == Byte.TYPE)
+ realOutput.writeByte (getByteField (obj, osc.forClass(), field_name));
+ else if (type == Character.TYPE)
+ realOutput.writeChar (getCharField (obj, osc.forClass(), field_name));
+ else if (type == Double.TYPE)
+ realOutput.writeDouble (getDoubleField (obj, osc.forClass(), field_name));
+ else if (type == Float.TYPE)
+ realOutput.writeFloat (getFloatField (obj, osc.forClass(), field_name));
+ else if (type == Integer.TYPE)
+ realOutput.writeInt (getIntField (obj, osc.forClass(), field_name));
+ else if (type == Long.TYPE)
+ realOutput.writeLong (getLongField (obj, osc.forClass(), field_name));
+ else if (type == Short.TYPE)
+ realOutput.writeShort (getShortField (obj, osc.forClass(), field_name));
+ else
+ writeObject (getObjectField (obj, osc.forClass(), field_name,
+ fields[i].getTypeString ()));
+ }
+ setBlockDataMode (oldmode);
}
// Toggles writing primitive data to block-data buffer.
- private void setBlockDataMode (boolean on)
+ private boolean setBlockDataMode (boolean on) throws IOException
{
+ if (on == writeDataAsBlocks)
+ return on;
+
+ drain();
+ boolean oldmode = writeDataAsBlocks;
writeDataAsBlocks = on;
if (on)
dataOutput = blockDataOutput;
else
dataOutput = realOutput;
+
+ return oldmode;
}
- private void callWriteMethod (Object obj) throws IOException
+ private void callWriteMethod (Object obj, ObjectStreamClass osc) throws IOException
{
- Class klass = obj.getClass ();
+ Class klass = osc.forClass();
try
{
Class classArgs[] = {ObjectOutputStream.class};
@@ -1218,11 +1237,11 @@ public class ObjectOutputStream extends OutputStream
}
}
- private boolean getBooleanField (Object obj, String field_name) throws IOException
+ private boolean getBooleanField (Object obj, Class klass, String field_name)
+ throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
boolean b = f.getBoolean (obj);
return b;
@@ -1233,11 +1252,10 @@ public class ObjectOutputStream extends OutputStream
}
}
- private byte getByteField (Object obj, String field_name) throws IOException
+ private byte getByteField (Object obj, Class klass, String field_name) throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
byte b = f.getByte (obj);
return b;
@@ -1248,11 +1266,10 @@ public class ObjectOutputStream extends OutputStream
}
}
- private char getCharField (Object obj, String field_name) throws IOException
+ private char getCharField (Object obj, Class klass, String field_name) throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
char b = f.getChar (obj);
return b;
@@ -1263,11 +1280,11 @@ public class ObjectOutputStream extends OutputStream
}
}
- private double getDoubleField (Object obj, String field_name) throws IOException
+ private double getDoubleField (Object obj, Class klass, String field_name)
+ throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
double b = f.getDouble (obj);
return b;
@@ -1278,11 +1295,11 @@ public class ObjectOutputStream extends OutputStream
}
}
- private float getFloatField (Object obj, String field_name) throws IOException
+ private float getFloatField (Object obj, Class klass, String field_name)
+ throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
float b = f.getFloat (obj);
return b;
@@ -1293,11 +1310,10 @@ public class ObjectOutputStream extends OutputStream
}
}
- private int getIntField (Object obj, String field_name) throws IOException
+ private int getIntField (Object obj, Class klass, String field_name) throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
int b = f.getInt (obj);
return b;
@@ -1308,11 +1324,10 @@ public class ObjectOutputStream extends OutputStream
}
}
- private long getLongField (Object obj, String field_name) throws IOException
+ private long getLongField (Object obj, Class klass, String field_name) throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
long b = f.getLong (obj);
return b;
@@ -1323,11 +1338,11 @@ public class ObjectOutputStream extends OutputStream
}
}
- private short getShortField (Object obj, String field_name) throws IOException
+ private short getShortField (Object obj, Class klass, String field_name)
+ throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
short b = f.getShort (obj);
return b;
@@ -1338,12 +1353,11 @@ public class ObjectOutputStream extends OutputStream
}
}
- private Object getObjectField (Object obj, String field_name,
+ private Object getObjectField (Object obj, Class klass, String field_name,
String type_code) throws IOException
{
try
{
- Class klass = obj.getClass ();
Field f = getField (klass, field_name);
Object o = f.get (obj);
// FIXME: We should check the type_code here
@@ -1355,16 +1369,22 @@ public class ObjectOutputStream extends OutputStream
}
}
- private static native Field getField (Class klass, String name)
- throws java.lang.NoSuchFieldException;
+ private static Field getField (Class klass, String name)
+ throws java.lang.NoSuchFieldException
+ {
+ return klass.getDeclaredField(name);
+ }
- private static native Method getMethod (Class klass, String name, Class[] args)
- throws java.lang.NoSuchMethodException;
+ private static Method getMethod (Class klass, String name, Class[] args)
+ throws java.lang.NoSuchMethodException
+ {
+ return klass.getDeclaredMethod(name, args);
+ }
// this value comes from 1.2 spec, but is used in 1.1 as well
private final static int BUFFER_SIZE = 1024;
- private static int defaultProtocolVersion = PROTOCOL_VERSION_1;
+ private static int defaultProtocolVersion = PROTOCOL_VERSION_2;
private DataOutputStream dataOutput;
private boolean writeDataAsBlocks;
@@ -1382,4 +1402,12 @@ public class ObjectOutputStream extends OutputStream
private Hashtable OIDLookupTable;
private int protocolVersion;
private boolean useSubclassMethod;
+
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary ("javaio");
+ }
+ }
}
diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java
index ecdd91d00c6..19a69ec47bc 100644
--- a/libjava/java/io/ObjectStreamClass.java
+++ b/libjava/java/io/ObjectStreamClass.java
@@ -1,6 +1,6 @@
/* ObjectStreamClass.java -- Class used to write class information
about serialized objects.
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -44,6 +44,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.lang.reflect.Proxy;
import java.security.DigestOutputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@@ -76,6 +77,19 @@ public class ObjectStreamClass implements Serializable
if (! (Serializable.class).isAssignableFrom (cl))
return null;
+ return lookupForClassObject (cl);
+ }
+
+ /**
+ * This lookup for internal use by ObjectOutputStream. Suppose
+ * we have a java.lang.Class object C for class A, though A is not
+ * serializable, but it's okay to serialize C.
+ */
+ static ObjectStreamClass lookupForClassObject (Class cl)
+ {
+ if (cl == null)
+ return null;
+
ObjectStreamClass osc = (ObjectStreamClass)classLookupTable.get (cl);
if (osc != null)
@@ -180,6 +194,28 @@ public class ObjectStreamClass implements Serializable
// Returns true iff the class that this ObjectStreamClass represents
+ // has the following method:
+ //
+ // private void readObject (ObjectOutputStream)
+ //
+ // This method is used by the class to override default
+ // serialization behavior.
+ boolean hasReadMethod ()
+ {
+ try
+ {
+ Class[] readObjectParams = { ObjectInputStream.class };
+ forClass ().getDeclaredMethod ("readObject", readObjectParams);
+ return true;
+ }
+ catch (NoSuchMethodException e)
+ {
+ return false;
+ }
+ }
+
+
+ // Returns true iff the class that this ObjectStreamClass represents
// implements Serializable but does *not* implement Externalizable.
boolean isSerializable ()
{
@@ -260,22 +296,29 @@ public class ObjectStreamClass implements Serializable
void setClass (Class cl) throws InvalidClassException
{
this.clazz = cl;
+
long class_uid = getClassUID (cl);
if (uid == 0)
+ uid = class_uid;
+ else
{
- uid = class_uid;
- return;
- }
-
- // Check that the actual UID of the resolved class matches the UID from
- // the stream.
- if (uid != class_uid)
- {
- String msg = cl +
- ": Local class not compatible: stream serialVersionUID="
- + uid + ", local serialVersionUID=" + class_uid;
- throw new InvalidClassException (msg);
+ // Check that the actual UID of the resolved class matches the UID from
+ // the stream.
+ if (uid != class_uid)
+ {
+ String msg = cl +
+ ": Local class not compatible: stream serialVersionUID="
+ + uid + ", local serialVersionUID=" + class_uid;
+ throw new InvalidClassException (msg);
+ }
}
+
+ isProxyClass = clazz != null && Proxy.isProxyClass (clazz);
+ ObjectStreamClass osc = (ObjectStreamClass)classLookupTable.get (clazz);
+ if (osc == null)
+ classLookupTable.put (clazz, this);
+ superClass = lookupForClassObject (clazz.getSuperclass ());
+ calculateOffsets ();
}
void setSuperclass (ObjectStreamClass osc)
@@ -328,12 +371,15 @@ public class ObjectStreamClass implements Serializable
{
uid = 0;
flags = 0;
+ isProxyClass = Proxy.isProxyClass (cl);
clazz = cl;
name = cl.getName ();
setFlags (cl);
setFields (cl);
- uid = getClassUID (cl);
+ // to those class nonserializable, its uid field is 0
+ if ( (Serializable.class).isAssignableFrom (cl) && !isProxyClass)
+ uid = getClassUID (cl);
superClass = lookup (cl.getSuperclass ());
}
@@ -377,6 +423,7 @@ public class ObjectStreamClass implements Serializable
{
Field serialPersistentFields
= cl.getDeclaredField ("serialPersistentFields");
+ serialPersistentFields.setAccessible(true);
int modifiers = serialPersistentFields.getModifiers ();
if (Modifier.isStatic (modifiers)
@@ -427,26 +474,27 @@ public class ObjectStreamClass implements Serializable
{
try
{
+ // Use getDeclaredField rather than getField, since serialVersionUID
+ // may not be public AND we only want the serialVersionUID of this
+ // class, not a superclass or interface.
Field suid = cl.getDeclaredField ("serialVersionUID");
+ suid.setAccessible(true);
int modifiers = suid.getModifiers ();
- if (Modifier.isStatic (modifiers) && Modifier.isFinal (modifiers))
- return suid.getLong (null);
+ if (Modifier.isStatic (modifiers)
+ && Modifier.isFinal (modifiers)
+ && suid.getType() == Long.TYPE)
+ return suid.getLong (null);
}
catch (NoSuchFieldException ignore)
- {
- }
+ {}
catch (IllegalAccessException ignore)
- {
- }
+ {}
// cl didn't define serialVersionUID, so we have to compute it
try
{
- MessageDigest md = null;
- DigestOutputStream digest_out = null;
- DataOutputStream data_out = null;
-
+ MessageDigest md;
try
{
md = MessageDigest.getInstance ("SHA");
@@ -459,8 +507,10 @@ public class ObjectStreamClass implements Serializable
md = MessageDigest.getInstance ("SHA");
}
- digest_out = new DigestOutputStream (nullOutputStream, md);
- data_out = new DataOutputStream (digest_out);
+ DigestOutputStream digest_out =
+ new DigestOutputStream (nullOutputStream, md);
+ DataOutputStream data_out = new DataOutputStream (digest_out);
+
data_out.writeUTF (cl.getName ());
int modifiers = cl.getModifiers ();
@@ -497,17 +547,7 @@ public class ObjectStreamClass implements Serializable
}
// write class initializer method if present
- boolean has_init;
- try
- {
- has_init = hasClassInitializer (cl);
- }
- catch (NoSuchMethodError e)
- {
- has_init = false;
- }
-
- if (has_init)
+ if (VMObjectStreamClass.hasClassInitializer (cl))
{
data_out.writeUTF ("<clinit>");
data_out.writeInt (Modifier.STATIC);
@@ -564,11 +604,11 @@ public class ObjectStreamClass implements Serializable
catch (NoSuchAlgorithmException e)
{
throw new RuntimeException ("The SHA algorithm was not found to use in computing the Serial Version UID for class "
- + cl.getName ());
+ + cl.getName (), e);
}
catch (IOException ioe)
{
- throw new RuntimeException (ioe.getMessage ());
+ throw new RuntimeException (ioe);
}
}
@@ -582,6 +622,7 @@ public class ObjectStreamClass implements Serializable
// Use getDeclaredField rather than getField for the same reason
// as above in getDefinedSUID.
Field f = clazz.getDeclaredField ("getSerialPersistentFields");
+ f.setAccessible(true);
o = (ObjectStreamField[])f.get (null);
}
catch (java.lang.NoSuchFieldException e)
@@ -594,29 +635,6 @@ public class ObjectStreamClass implements Serializable
return o;
}
-
- // Returns true if CLAZZ has a static class initializer
- // (a.k.a. <clinit>).
- //
- // A NoSuchMethodError is raised if CLAZZ has no such method.
- private static boolean hasClassInitializer (Class clazz)
- throws java.lang.NoSuchMethodError
- {
- Method m = null;
-
- try
- {
- Class classArgs[] = {};
- m = clazz.getDeclaredMethod ("<clinit>", classArgs);
- }
- catch (java.lang.NoSuchMethodException e)
- {
- throw new java.lang.NoSuchMethodError ();
- }
-
- return m != null;
- }
-
public static final ObjectStreamField[] NO_FIELDS = {};
private static Hashtable classLookupTable = new Hashtable ();
@@ -640,9 +658,12 @@ public class ObjectStreamClass implements Serializable
int primFieldSize = -1; // -1 if not yet calculated
int objectFieldCount;
+ boolean isProxyClass = false;
+
// This is probably not necessary because this class is special cased already
// but it will avoid showing up as a discrepancy when comparing SUIDs.
private static final long serialVersionUID = -6120832682080437368L;
+
}
diff --git a/libjava/java/io/ObjectStreamField.java b/libjava/java/io/ObjectStreamField.java
index e0f8d6131a8..bb78a786c1f 100644
--- a/libjava/java/io/ObjectStreamField.java
+++ b/libjava/java/io/ObjectStreamField.java
@@ -47,8 +47,23 @@ public class ObjectStreamField implements java.lang.Comparable
{
this.name = name;
this.type = type;
+ this.typename = TypeSignature.getEncodingOfClass(type);
}
-
+
+ /**
+ * There're many cases you can't get java.lang.Class from typename if your context
+ * class loader can't load it, then use typename to construct the field
+ */
+ ObjectStreamField (String name, String typename){
+ this.name = name;
+ this.typename = typename;
+ try{
+ type = TypeSignature.getClassForEncoding(typename);
+ }catch(ClassNotFoundException e){
+ type = Object.class; //??
+ }
+ }
+
public String getName ()
{
return name;
@@ -61,12 +76,13 @@ public class ObjectStreamField implements java.lang.Comparable
public char getTypeCode ()
{
- return TypeSignature.getEncodingOfClass (type).charAt (0);
+ return typename.charAt (0);
}
public String getTypeString ()
{
- return TypeSignature.getEncodingOfClass (type);
+ // use intern()
+ return typename.intern();
}
public int getOffset ()
@@ -106,5 +122,6 @@ public class ObjectStreamField implements java.lang.Comparable
private String name;
private Class type;
+ private String typename;
private int offset = -1; // XXX make sure this is correct
}
diff --git a/libjava/java/io/OutputStreamWriter.java b/libjava/java/io/OutputStreamWriter.java
index 527ff75c66b..ff86a71fd0f 100644
--- a/libjava/java/io/OutputStreamWriter.java
+++ b/libjava/java/io/OutputStreamWriter.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation
This file is part of libgcj.
@@ -28,7 +28,10 @@ public class OutputStreamWriter extends Writer
private char[] work;
private int wcount;
- public String getEncoding() { return converter.getName(); }
+ public String getEncoding()
+ {
+ return out != null ? converter.getName() : null;
+ }
private OutputStreamWriter(OutputStream out, UnicodeToBytes encoder)
{
@@ -103,7 +106,7 @@ public class OutputStreamWriter extends Writer
private void writeChars(char[] buf, int offset, int count)
throws IOException
{
- while (count > 0)
+ while (count > 0 || converter.havePendingBytes())
{
// We must flush if out.count == out.buf.length.
// It is probably a good idea to flush if out.buf is almost full.
@@ -116,6 +119,13 @@ public class OutputStreamWriter extends Writer
}
converter.setOutput(out.buf, out.count);
int converted = converter.write(buf, offset, count);
+ // Flush if we cannot make progress.
+ if (converted == 0 && out.count == converter.count)
+ {
+ out.flush();
+ if (out.count != 0)
+ throw new IOException("unable to flush output byte buffer");
+ }
offset += converted;
count -= converted;
out.count = converter.count;
diff --git a/libjava/java/io/PipedOutputStream.java b/libjava/java/io/PipedOutputStream.java
index b819f309c2a..09d8db707e9 100644
--- a/libjava/java/io/PipedOutputStream.java
+++ b/libjava/java/io/PipedOutputStream.java
@@ -1,5 +1,5 @@
/* PipedOutputStream.java -- Write portion of piped streams.
- Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -97,7 +97,7 @@ public class PipedOutputStream extends OutputStream
*/
public void connect(PipedInputStream sink) throws IOException
{
- if (sink != null)
+ if (this.sink != null || sink.source != null)
throw new IOException ("Already connected");
sink.connect(this);
}
@@ -154,7 +154,7 @@ public class PipedOutputStream extends OutputStream
* had read all available data. Thats not the case - this method
* appears to be a no-op?
*/
- public void flush()
+ public void flush() throws IOException
{
}
@@ -165,7 +165,7 @@ public class PipedOutputStream extends OutputStream
*
* @exception IOException If an error occurs
*/
- public void close()
+ public void close() throws IOException
{
// A close call on an unconnected PipedOutputStream has no effect.
if (sink != null)
diff --git a/libjava/java/io/PipedWriter.java b/libjava/java/io/PipedWriter.java
index a8844d746f2..e1a21156075 100644
--- a/libjava/java/io/PipedWriter.java
+++ b/libjava/java/io/PipedWriter.java
@@ -1,5 +1,5 @@
/* PipedWriter.java -- Write portion of piped character streams.
- Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -100,7 +100,7 @@ public class PipedWriter extends Writer
*/
public void connect(PipedReader sink) throws IOException
{
- if (sink != null)
+ if (this.sink != null || sink.source != null)
throw new IOException ("Already connected");
sink.connect(this);
}
@@ -166,7 +166,7 @@ public class PipedWriter extends Writer
*
* @exception IOException If an error occurs
*/
- public void close()
+ public void close() throws IOException
{
// A close call on an unconnected PipedWriter has no effect.
if (sink != null)
diff --git a/libjava/java/io/PrintStream.java b/libjava/java/io/PrintStream.java
index 621778da9d5..09bc85dca5b 100644
--- a/libjava/java/io/PrintStream.java
+++ b/libjava/java/io/PrintStream.java
@@ -1,6 +1,6 @@
// PrintStream.java - Print string representations
-/* Copyright (C) 1998, 1999, 2001 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2001, 2003 Free Software Foundation
This file is part of libgcj.
@@ -110,7 +110,7 @@ public class PrintStream extends FilterOutputStream
private void writeChars(char[] buf, int offset, int count)
throws IOException
{
- while (count > 0)
+ while (count > 0 || converter.havePendingBytes())
{
converter.setOutput(work_bytes, 0);
int converted = converter.write(buf, offset, count);
@@ -123,7 +123,7 @@ public class PrintStream extends FilterOutputStream
private void writeChars(String str, int offset, int count)
throws IOException
{
- while (count > 0)
+ while (count > 0 || converter.havePendingBytes())
{
converter.setOutput(work_bytes, 0);
int converted = converter.write(str, offset, count, work);
diff --git a/libjava/java/io/StringWriter.java b/libjava/java/io/StringWriter.java
index edf85715612..660ef166a2e 100644
--- a/libjava/java/io/StringWriter.java
+++ b/libjava/java/io/StringWriter.java
@@ -1,5 +1,5 @@
/* StringWriter.java -- Writes bytes to a StringBuffer
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -61,7 +61,7 @@ public class StringWriter extends Writer
* This method closes the stream. The contents of the internal buffer
* can still be retrieved, but future writes are not guaranteed to work.
*/
- public void close ()
+ public void close () throws IOException
{
// JCL says this does nothing. This seems to violate the Writer
// contract, in that other methods should still throw an
diff --git a/libjava/java/io/VMObjectStreamClass.java b/libjava/java/io/VMObjectStreamClass.java
new file mode 100644
index 00000000000..fd4023e402b
--- /dev/null
+++ b/libjava/java/io/VMObjectStreamClass.java
@@ -0,0 +1,50 @@
+/* VMObjectStreamClass.java -- VM helper functions for ObjectStreamClass
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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 Classpath 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 Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.io;
+
+import java.lang.reflect.Method;
+
+final class VMObjectStreamClass
+{
+ /**
+ * Returns true if CLAZZ has a static class initializer
+ * (a.k.a. <clinit>).
+ */
+ static native boolean hasClassInitializer (Class clazz);
+}
diff --git a/libjava/java/io/natFileDescriptorPosix.cc b/libjava/java/io/natFileDescriptorPosix.cc
index 80e6bad97ae..ad1dcc49c32 100644
--- a/libjava/java/io/natFileDescriptorPosix.cc
+++ b/libjava/java/io/natFileDescriptorPosix.cc
@@ -1,6 +1,6 @@
// natFileDescriptor.cc - Native part of FileDescriptor class.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -147,6 +147,7 @@ java::io::FileDescriptor::write (jint b)
throw new IOException (JvNewStringLatin1 (strerror (errno)));
}
}
+ position++;
}
void
@@ -177,6 +178,7 @@ java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
written += r;
len -= r;
bytes += r;
+ position += r;
}
}
@@ -193,7 +195,6 @@ void
java::io::FileDescriptor::setLength (jlong pos)
{
struct stat sb;
- off_t orig;
#ifdef HAVE_FTRUNCATE
if (::fstat (fd, &sb))
@@ -202,10 +203,6 @@ java::io::FileDescriptor::setLength (jlong pos)
if ((jlong) sb.st_size == pos)
return;
- orig = ::lseek (fd, (off_t) 0, SEEK_CUR);
- if (orig == -1)
- throw new IOException (JvNewStringLatin1 (strerror (errno)));
-
// If the file is too short, we extend it. We can't rely on
// ftruncate() extending the file. So we lseek() to 1 byte less
// than we want, and then we write a single byte at the end.
@@ -215,11 +212,15 @@ java::io::FileDescriptor::setLength (jlong pos)
throw new IOException (JvNewStringLatin1 (strerror (errno)));
char out = '\0';
int r = ::write (fd, &out, 1);
- if (r <= 0 || ::lseek (fd, orig, SEEK_SET) == -1)
+ if (r <= 0 || ::lseek (fd, position, SEEK_SET) == -1)
throw new IOException (JvNewStringLatin1 (strerror (errno)));
}
- else if (::ftruncate (fd, (off_t) pos))
- throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ else
+ {
+ if (::ftruncate (fd, (off_t) pos))
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ position = pos;
+ }
#else /* HAVE_FTRUNCATE */
throw new IOException (JvNewStringLatin1 ("FileDescriptor.setLength not implemented"));
#endif /* HAVE_FTRUNCATE */
@@ -230,19 +231,29 @@ java::io::FileDescriptor::seek (jlong pos, jint whence, jboolean eof_trunc)
{
JvAssert (whence == SET || whence == CUR);
- jlong len = length ();
- jlong here = getFilePointer ();
-
- if (eof_trunc
- && ((whence == SET && pos > len) || (whence == CUR && here + pos > len)))
+ if (eof_trunc)
{
- whence = SET;
- pos = len;
+ jlong len = length ();
+ if (whence == SET)
+ {
+ if (pos > len)
+ pos = len;
+ }
+ else
+ {
+ jlong here = getFilePointer ();
+ if (here + pos > len)
+ {
+ pos = len;
+ whence = SET;
+ }
+ }
}
off_t r = ::lseek (fd, (off_t) pos, whence == SET ? SEEK_SET : SEEK_CUR);
if (r == -1)
throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ position = r;
return r;
}
@@ -258,10 +269,7 @@ java::io::FileDescriptor::length (void)
jlong
java::io::FileDescriptor::getFilePointer (void)
{
- off_t r = ::lseek (fd, 0, SEEK_CUR);
- if (r == -1)
- throw new IOException (JvNewStringLatin1 (strerror (errno)));
- return r;
+ return position;
}
jint
@@ -282,6 +290,7 @@ java::io::FileDescriptor::read (void)
}
throw new IOException (JvNewStringLatin1 (strerror (errno)));
}
+ position++;
return b & 0xFF;
}
@@ -313,6 +322,7 @@ java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
}
throw new IOException (JvNewStringLatin1 (strerror (errno)));
}
+ position += r;
return r;
}
@@ -361,7 +371,7 @@ java::io::FileDescriptor::available (void)
off_t where = 0;
if (fstat (fd, &sb) != -1
&& S_ISREG (sb.st_mode)
- && (where = lseek (fd, SEEK_CUR, 0)) != (off_t) -1)
+ && (where = lseek (fd, 0, SEEK_CUR)) != (off_t) -1)
{
num = (long) (sb.st_size - where);
num_set = true;
@@ -387,6 +397,6 @@ java::io::FileDescriptor::available (void)
return (jint) num;
#else
- throw new IOException (JvNewStringLatin1 ("unimplemented"));
+ return 0;
#endif
}
diff --git a/libjava/java/io/natFileDescriptorWin32.cc b/libjava/java/io/natFileDescriptorWin32.cc
index 4b157f7042c..87f94e81222 100644
--- a/libjava/java/io/natFileDescriptorWin32.cc
+++ b/libjava/java/io/natFileDescriptorWin32.cc
@@ -1,6 +1,7 @@
// natFileDescriptorWin32.cc - Native part of FileDescriptor class.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
+ Foundation, Inc.
This file is part of libgcj.
@@ -288,7 +289,13 @@ java::io::FileDescriptor::read(void)
DWORD read;
if (! ReadFile ((HANDLE)fd, &buf, 1, &read, NULL))
- throw new IOException (JvNewStringLatin1 (winerr ()));
+ {
+ if (GetLastError () == ERROR_BROKEN_PIPE)
+ return -1;
+ else
+ throw new IOException (JvNewStringLatin1 (winerr ()));
+ }
+
if (! read)
return -1;
else
@@ -313,9 +320,15 @@ java::io::FileDescriptor::read(jbyteArray buffer, jint offset, jint count)
DWORD read;
if (! ReadFile((HANDLE)fd, bytes, count, &read, NULL))
- throw new IOException (JvNewStringLatin1 (winerr ()));
+ {
+ if (GetLastError () == ERROR_BROKEN_PIPE)
+ return -1;
+ else
+ throw new IOException (JvNewStringLatin1 (winerr ()));
+ }
if (read == 0) return -1;
+
return (jint)read;
}
diff --git a/libjava/java/io/natFilePosix.cc b/libjava/java/io/natFilePosix.cc
index f9fe78ef203..4946cfccae8 100644
--- a/libjava/java/io/natFilePosix.cc
+++ b/libjava/java/io/natFilePosix.cc
@@ -1,6 +1,6 @@
// natFile.cc - Native part of File class for POSIX.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -60,14 +60,14 @@ java::io::File::_access (jint query)
jboolean
java::io::File::_stat (jint query)
{
+ if (query == ISHIDDEN)
+ return getName()->charAt(0) == '.';
+
+#ifdef HAVE_STAT
char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (path) + 1);
jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
buf[total] = '\0';
- if (query == ISHIDDEN)
- return (getName()->charAt(0) == '.');
-
-#ifdef HAVE_STAT
struct stat sb;
if (::stat (buf, &sb))
return false;
@@ -131,7 +131,7 @@ java::io::File::getCanonicalPath (void)
jboolean
java::io::File::isAbsolute (void)
{
- return path->charAt(0) == '/';
+ return path->length() > 0 && path->charAt(0) == '/';
}
jobjectArray
diff --git a/libjava/java/io/natFileWin32.cc b/libjava/java/io/natFileWin32.cc
index ebdaeab1d78..1e068329a32 100644
--- a/libjava/java/io/natFileWin32.cc
+++ b/libjava/java/io/natFileWin32.cc
@@ -1,6 +1,6 @@
-// natFileWin32.cc - Native part of File class.
+// natFileWin32.cc - Native part of File class for Win32.
-/* Copyright (C) 1998, 1999, 2002 Red Hat, Inc.
+/* Copyright (C) 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
This file is part of libgcj.
@@ -26,6 +26,19 @@ details. */
#include <java/io/FileFilter.h>
#include <java/lang/System.h>
+// Java timestamps are milliseconds since the UNIX epoch (00:00:00 UTC on
+// January 1, 1970) while Win32 file-times are 100-nanosecond intervals
+// since the Win32 epoch (00:00:00 UTC on January 1, 1601). The following
+// constant represents the number of milliseconds to be added to a
+// Java timestamp to base it on the Win32 epoch.
+//
+// There were 369 years between 1601 and 1970, including 89 leap years
+// (since 1700, 1800 and 1900 were not leap years):
+//
+// (89*366 + 280*365) days * 86400 seconds/day = 11644473600 seconds
+//
+#define WIN32_EPOCH_MILLIS 11644473600000LL
+
jboolean
java::io::File::_access (jint query)
{
@@ -91,12 +104,16 @@ java::io::File::attr (jint query)
FindClose( sHandle);
if (query == LENGTH)
- return ((long long)info.nFileSizeHigh) << 32 | (unsigned long long)info.nFileSizeLow;
- else {
- // FIXME? This is somewhat compiler dependant (the LL constant suffix)
- // The file time as return by windows is the number of 100-nanosecond intervals since January 1, 1601
- return (((((long long)info.ftLastWriteTime.dwHighDateTime) << 32) | ((unsigned long long)info.ftLastWriteTime.dwLowDateTime)) - 116444736000000000LL) / 10000LL;
- }
+ return ((long long)info.nFileSizeHigh) << 32
+ | (unsigned long long)info.nFileSizeLow;
+ else
+ {
+ // The file time as returned by Windows is in terms of the number
+ // of 100-nanosecond intervals since 00:00:00 UTC, January 1, 1601.
+ return (((((long long)info.ftLastWriteTime.dwHighDateTime) << 32)
+ | ((unsigned long long)info.ftLastWriteTime.dwLowDateTime))
+ - WIN32_EPOCH_MILLIS*10000LL) / 10000LL;
+ }
}
jstring
@@ -119,8 +136,14 @@ java::io::File::getCanonicalPath (void)
jboolean
java::io::File::isAbsolute (void)
{
- if (path->charAt(0) == '/' || path->charAt(0) == '\\')
+ // See if the path represents a Windows UNC network path.
+ if (path->length () > 2
+ && (path->charAt (0) == '\\') && (path->charAt (1) == '\\'))
return true;
+
+ // Note that the path is not an absolute path even if it starts with
+ // a '/' or a '\' because it lacks a drive specifier.
+
if (path->length() < 3)
return false;
// Hard-code A-Za-z because Windows (I think) can't use non-ASCII
@@ -132,8 +155,11 @@ java::io::File::isAbsolute (void)
&& (path->charAt(2) == '/' || path->charAt(2) == '\\'));
}
-void java::io::File::init_native() { }
-
+void java::io::File::init_native ()
+{
+ maxPathLen = MAX_PATH;
+ caseSensitive = false;
+}
jobjectArray
java::io::File::performList (java::io::FilenameFilter *filter,
@@ -145,8 +171,10 @@ java::io::File::performList (java::io::FilenameFilter *filter,
return NULL;
char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (canon) + 5);
jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
- // FIXME?
- strcpy(&buf[total], "\\*.*");
+ if (buf[total-1] == '\\')
+ strcpy (&buf[total], "*.*");
+ else
+ strcpy (&buf[total], "\\*.*");
WIN32_FIND_DATA data;
HANDLE handle = FindFirstFile (buf, &data);
@@ -186,7 +214,6 @@ java::io::File::performList (java::io::FilenameFilter *filter,
return ret;
}
-
jboolean
java::io::File::performMkdir (void)
{
@@ -229,7 +256,112 @@ java::io::File::performDelete ()
return (DeleteFile (buf)) ? true : false;
}
-jboolean java::io::File::performCreate (void) { JvFail("unimplemented\n"); }
-jboolean java::io::File::performSetReadOnly() { JvFail("unimplemented"); }
-jboolean java::io::File::performSetLastModified(jlong time) { JvFail("unimplemented"); }
-JArray<java::io::File*>* java::io::File::performListRoots() { JvFail("unimplemented"); }
+jboolean java::io::File::performCreate (void)
+{
+ jstring canon = getCanonicalPath ();
+ char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (canon) + 1);
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length (), buf);
+ buf[total] = '\0';
+
+ HANDLE h = CreateFile (buf, 0, 0, NULL, CREATE_NEW,
+ FILE_ATTRIBUTE_NORMAL, NULL);
+ if (h != INVALID_HANDLE_VALUE)
+ {
+ CloseHandle (h);
+ return true;
+ }
+ else
+ {
+ if (GetLastError () == ERROR_ALREADY_EXISTS)
+ return false;
+ else
+ throw new IOException (JvNewStringLatin1 ("CreateFile failed"));
+ }
+}
+
+jboolean java::io::File::performSetReadOnly ()
+{
+ jstring canon = getCanonicalPath ();
+ char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (canon) + 1);
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length (), buf);
+ buf[total] = '\0';
+
+ DWORD attrs = GetFileAttributes (buf);
+ if (attrs != INVALID_FILE_ATTRIBUTES)
+ {
+ if (SetFileAttributes (buf, attrs | FILE_ATTRIBUTE_READONLY) != 0)
+ return true;
+ else
+ return false;
+ }
+ else
+ return false;
+}
+
+jboolean java::io::File::performSetLastModified (jlong time)
+{
+ jstring canon = getCanonicalPath ();
+ char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (canon) + 1);
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length (), buf);
+ buf[total] = '\0';
+
+ FILETIME modTime;
+ long long mTime100ns = ((long long) time /* Ha! */
+ + WIN32_EPOCH_MILLIS) * 10000LL;
+
+ modTime.dwLowDateTime = (DWORD) mTime100ns;
+ modTime.dwHighDateTime = (DWORD) (mTime100ns >> 32);
+
+ jboolean retVal = false;
+ HANDLE h = CreateFile (buf, FILE_WRITE_ATTRIBUTES,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, OPEN_EXISTING, 0, NULL);
+
+ if (h != INVALID_HANDLE_VALUE)
+ {
+ if (SetFileTime (h, NULL, &modTime, &modTime) != 0)
+ retVal = true;
+
+ CloseHandle (h);
+ }
+
+ return retVal;
+}
+
+JArray<java::io::File*>* java::io::File::performListRoots ()
+{
+ DWORD drivesBitmap = GetLogicalDrives ();
+ DWORD mask;
+
+ // Possible drive letters are from ASCII 'A'-'Z'.
+ int numDrives = 0;
+ mask = 1;
+ for (int i = 0; i < 26; i++)
+ {
+ if ((drivesBitmap & mask) != 0)
+ numDrives++;
+ mask <<= 1;
+ }
+
+ JArray<java::io::File *> *roots
+ = reinterpret_cast <JArray<java::io::File *>*>
+ (JvNewObjectArray (numDrives, &java::io::File::class$, NULL));
+
+ ::java::io::File **rootsArray = elements (roots);
+
+ char aDriveRoot[] = {'A', ':', '\\', '\0'};
+ mask = 1;
+ for (int i = 0, j = 0; i < 26; i++)
+ {
+ if ((drivesBitmap & mask) != 0)
+ {
+ rootsArray[j]
+ = new ::java::io::File (JvNewStringLatin1 (aDriveRoot));
+ j++;
+ }
+ mask <<= 1;
+ aDriveRoot[0]++;
+ }
+
+ return roots;
+}
diff --git a/libjava/java/io/natObjectInputStream.cc b/libjava/java/io/natObjectInputStream.cc
index 8240144827f..8b84e7e3199 100644
--- a/libjava/java/io/natObjectInputStream.cc
+++ b/libjava/java/io/natObjectInputStream.cc
@@ -69,16 +69,3 @@ java::io::ObjectInputStream::callConstructor (jclass klass, jobject obj)
+ m->offset);
_Jv_CallAnyMethodA (obj, JvPrimClass (void), meth, false, arg_types, NULL);
}
-
-java::lang::reflect::Field *
-java::io::ObjectInputStream::getField (jclass klass, jstring name)
-{
- return klass->getPrivateField (name);
-}
-
-java::lang::reflect::Method *
-java::io::ObjectInputStream::getMethod (jclass klass, jstring name,
- JArray<jclass> *arg_types)
-{
- return klass->getPrivateMethod (name, arg_types);
-}
diff --git a/libjava/java/io/natObjectOutputStream.cc b/libjava/java/io/natObjectOutputStream.cc
deleted file mode 100644
index 45ab7537fc3..00000000000
--- a/libjava/java/io/natObjectOutputStream.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-// natObjectOutputStream.cc - Native part of ObjectOutputStream class.
-
-/* Copyright (C) 1998, 1999 Free Software Foundation
-
- This ObjectOutputStream is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the ObjectOutputStream "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <gcj/cni.h>
-#include <jvm.h>
-#include <java/io/ObjectOutputStream$PutField.h>
-#include <java/io/ObjectOutputStream.h>
-#include <java/io/IOException.h>
-#include <java/lang/Class.h>
-
-
-java::lang::reflect::Field *
-java::io::ObjectOutputStream::getField (jclass klass, jstring name)
-{
- return klass->getPrivateField (name);
-}
-
-java::lang::reflect::Method *
-java::io::ObjectOutputStream::getMethod (jclass klass, jstring name,
- JArray<jclass> *arg_types)
-{
- return klass->getPrivateMethod (name, arg_types);
-}
-
diff --git a/libjava/java/io/natVMObjectStreamClass.cc b/libjava/java/io/natVMObjectStreamClass.cc
new file mode 100644
index 00000000000..b7a056c457f
--- /dev/null
+++ b/libjava/java/io/natVMObjectStreamClass.cc
@@ -0,0 +1,23 @@
+// natVMObjectStreamClass.cc - Native part of VMObjectStreamClass class.
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This VMObjectStreamClass is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the ObjectInputStream "LIBGCJ_LICENSE" for
+details. */
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <java/io/VMObjectStreamClass.h>
+#include <java/lang/Class.h>
+
+jboolean
+java::io::VMObjectStreamClass::hasClassInitializer (jclass klass)
+{
+ _Jv_Method *meth = _Jv_GetMethodLocal(klass, gcj::clinit_name,
+ gcj::void_signature);
+ return (meth != NULL);
+}
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
index 4ccf3886431..0012fc24365 100644
--- a/libjava/java/lang/Class.h
+++ b/libjava/java/lang/Class.h
@@ -1,6 +1,6 @@
// Class.h - Header file for java.lang.Class. -*- c++ -*-
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -182,9 +182,9 @@ public:
JArray<java::lang::reflect::Method *> *getMethods (void);
inline jint getModifiers (void)
- {
- return accflags;
- }
+ {
+ return accflags & java::lang::reflect::Modifier::ALL_FLAGS;
+ }
jstring getName (void);
@@ -348,6 +348,7 @@ private:
_Jv_Utf8Const *method_signature);
friend void _Jv_PrepareClass (jclass);
+ friend void _Jv_PrepareMissingMethods (jclass base, jclass iface_class);
friend class _Jv_ClassReader;
friend class _Jv_InterpClass;
@@ -360,6 +361,7 @@ private:
friend class _Jv_BytecodeVerifier;
friend class gnu::gcj::runtime::StackTrace;
+ friend class java::io::VMObjectStreamClass;
// Chain for class pool.
jclass next;
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
index 033b2cc4a6e..5d564dce747 100644
--- a/libjava/java/lang/ClassLoader.java
+++ b/libjava/java/lang/ClassLoader.java
@@ -1,6 +1,6 @@
// ClassLoader.java - Define policies for loading Java classes.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -468,17 +468,18 @@ public abstract class ClassLoader
{
throw x; // rethrow
}
- catch (java.lang.VirtualMachineError x)
+ catch (VirtualMachineError x)
{
throw x; // rethrow
}
- catch (java.lang.Throwable x)
+ catch (Throwable x)
{
// This should never happen, or we are beyond spec.
- throw new InternalError ("Unexpected exception "
- + "while defining class "
- + name + ": "
- + x.toString ());
+ InternalError r = new InternalError ("Unexpected exception "
+ + "while defining class "
+ + name);
+ r.initCause(x);
+ throw r;
}
}
@@ -732,8 +733,7 @@ public abstract class ClassLoader
/**
* If a class named <code>name</code> was previously loaded using
* this <code>ClassLoader</code>, then it is returned. Otherwise
- * it returns <code>null</code>. (Unlike the JDK this is native,
- * since we implement the class table internally.)
+ * it returns <code>null</code>.
* @param name class to find.
* @return the class loaded, or null.
*/
diff --git a/libjava/java/lang/StringBuffer.java b/libjava/java/lang/StringBuffer.java
index bfaaaf92f23..922d6bb6d24 100644
--- a/libjava/java/lang/StringBuffer.java
+++ b/libjava/java/lang/StringBuffer.java
@@ -308,26 +308,27 @@ public final class StringBuffer implements Serializable, CharSequence
}
}
- /** Get the specified array of characters.
- * The characters will be copied into the array you pass in.
- * @param srcOffset the index to start copying from in the
- * <code>StringBuffer</code>.
- * @param srcEnd the number of characters to copy.
- * @param dst the array to copy into.
- * @param dstOffset the index to start copying into <code>dst</code>.
- * @exception NullPointerException if dst is null.
- * @exception IndexOutOfBoundsException if any source or target
- * indices are out of range.
- * @see java.lang.System#arraycopy(java.lang.Object,int,java.lang.Object,int,int)
- */
- public synchronized void getChars (int srcOffset, int srcEnd,
- char[] dst, int dstOffset)
- {
- if (srcOffset < 0 || srcOffset > srcEnd)
- throw new StringIndexOutOfBoundsException (srcOffset);
+ /**
+ * Get the specified array of characters. <code>srcOffset - srcEnd</code>
+ * characters will be copied into the array you pass in.
+ *
+ * @param srcOffset the index to start copying from (inclusive)
+ * @param srcEnd the index to stop copying from (exclusive)
+ * @param dst the array to copy into
+ * @param dstOffset the index to start copying into
+ * @throws NullPointerException if dst is null
+ * @throws IndexOutOfBoundsException if any source or target indices are
+ * out of range (while unspecified, source problems cause a
+ * StringIndexOutOfBoundsException, and dest problems cause an
+ * ArrayIndexOutOfBoundsException)
+ * @see System#arraycopy(Object, int, Object, int, int)
+ */
+ public synchronized void getChars(int srcOffset, int srcEnd,
+ char[] dst, int dstOffset)
+ {
int todo = srcEnd - srcOffset;
- if (srcEnd > count || dstOffset + todo > count)
- throw new StringIndexOutOfBoundsException (srcEnd);
+ if (srcOffset < 0 || srcEnd > count || todo < 0)
+ throw new StringIndexOutOfBoundsException();
System.arraycopy(value, srcOffset, dst, dstOffset, todo);
}
diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java
index edc818fb181..2e7c031b16c 100644
--- a/libjava/java/lang/System.java
+++ b/libjava/java/lang/System.java
@@ -1,5 +1,5 @@
/* System.java -- useful methods to interface with the system
- Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -73,22 +73,41 @@ public final class System
loadLibrary("javalang");
Properties defaultProperties = Runtime.defaultProperties;
- defaultProperties.put("gnu.cpu.endian",
- isWordsBigEndian() ? "big" : "little");
+ // Set base URL if not already set.
+ if (defaultProperties.get("gnu.classpath.home.url") == null)
+ defaultProperties.put("gnu.classpath.home.url",
+ "file://"
+ + defaultProperties.get("gnu.classpath.home")
+ + "/lib");
+
+ // Set short name if not already set.
+ if (defaultProperties.get("gnu.classpath.vm.shortname") == null)
+ {
+ String value = defaultProperties.getProperty("java.vm.name");
+ int index = value.lastIndexOf(' ');
+ if (index != -1)
+ value = value.substring(index + 1);
+ defaultProperties.put("gnu.classpath.vm.shortname", value);
+ }
+
+ defaultProperties.put("gnu.cpu.endian",
+ isWordsBigEndian() ? "big" : "little");
// XXX FIXME - Temp hack for old systems that set the wrong property
if (defaultProperties.get("java.io.tmpdir") == null)
defaultProperties.put("java.io.tmpdir",
defaultProperties.get("java.tmpdir"));
}
-
+
/**
* Stores the current system properties. This can be modified by
* {@link #setProperties(Properties)}, but will never be null, because
* setProperties(null) sucks in the default properties.
*/
+ // Note that we use clone here and not new. Some programs assume
+ // that the system properties do not have a parent.
private static Properties properties
- = new Properties(Runtime.defaultProperties);
+ = (Properties) Runtime.defaultProperties.clone();
/**
* The standard InputStream. This is assigned at startup and starts its
@@ -101,7 +120,7 @@ public final class System
* however.
*/
public static final InputStream in
- = new BufferedInputStream (new FileInputStream(FileDescriptor.in));
+ = new BufferedInputStream(new FileInputStream(FileDescriptor.in));
/**
* The standard output PrintStream. This is assigned at startup and
* starts its life perfectly valid. Although it is marked final, you can
@@ -113,7 +132,7 @@ public final class System
* you, however.
*/
public static final PrintStream out
- = new PrintStream(new BufferedOutputStream (new FileOutputStream(FileDescriptor.out)), true);
+ = new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.out)), true);
/**
* The standard output PrintStream. This is assigned at startup and
* starts its life perfectly valid. Although it is marked final, you can
@@ -125,7 +144,7 @@ public final class System
* you, however.
*/
public static final PrintStream err
- = new PrintStream(new BufferedOutputStream (new FileOutputStream(FileDescriptor.err)), true);
+ = new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.err)), true);
/**
* This class is uninstantiable.
@@ -312,6 +331,10 @@ public final class System
* In addition, gnu defines several other properties, where ? stands for
* each character in '0' through '9':
* <dl>
+ * <dl> gnu.classpath.vm.shortname <dd> Succinct version of the VM name;
+ * used for finding property files in file system
+ * <dl> gnu.classpath.home.url <dd> Base URL; used for finding
+ * property files in file system
* <dt> gnu.cpu.endian <dd>big or little
* <dt> gnu.java.io.encoding_scheme_alias.ISO-8859-? <dd>8859_?
* <dt> gnu.java.io.encoding_scheme_alias.iso-8859-? <dd>8859_?
@@ -348,7 +371,11 @@ public final class System
if (sm != null)
sm.checkPropertiesAccess();
if (properties == null)
- properties = new Properties(Runtime.defaultProperties);
+ {
+ // Note that we use clone here and not new. Some programs
+ // assume that the system properties do not have a parent.
+ properties = (Properties) Runtime.defaultProperties.clone();
+ }
System.properties = properties;
}
diff --git a/libjava/java/lang/Win32Process.java b/libjava/java/lang/Win32Process.java
index 72911d2961b..b1c7e027379 100644
--- a/libjava/java/lang/Win32Process.java
+++ b/libjava/java/lang/Win32Process.java
@@ -1,6 +1,6 @@
// Win32Process.java - Subclass of Process for Win32 systems.
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -22,51 +22,63 @@ import java.io.IOException;
// This is entirely internal to our implementation.
-// NOTE: when this is implemented, we'll need to add
-// HANDLE_FLAG_INHERIT in FileDescriptor and other places, to make
-// sure that file descriptors aren't inherited by the child process.
-// See _Jv_platform_close_on_exec.
-
// This file is copied to `ConcreteProcess.java' before compilation.
// Hence the class name apparently does not match the file name.
final class ConcreteProcess extends Process
{
- public void destroy ()
- {
- throw new Error("not implemented");
- }
-
+ public native void destroy ();
+
+ public native boolean hasExited ();
+
public int exitValue ()
{
- throw new Error("not implemented");
+ if (! hasExited ())
+ throw new IllegalThreadStateException ("Process has not exited");
+
+ return exitCode;
}
public InputStream getErrorStream ()
{
- throw new Error("not implemented");
+ return errorStream;
}
public InputStream getInputStream ()
{
- throw new Error("not implemented");
+ return inputStream;
}
public OutputStream getOutputStream ()
{
- throw new Error("not implemented");
+ return outputStream;
}
- public int waitFor () throws InterruptedException
- {
- throw new Error("not implemented");
- }
+ public native int waitFor () throws InterruptedException;
+
+ public native void startProcess (String[] progarray,
+ String[] envp,
+ File dir)
+ throws IOException;
+
+ public native void cleanup ();
public ConcreteProcess (String[] progarray,
String[] envp,
File dir)
throws IOException
{
- throw new IOException("not implemented");
+ startProcess (progarray, envp, dir);
}
+ // The standard streams (stdin, stdout and stderr, respectively)
+ // of the child as seen by the parent process.
+ private OutputStream outputStream;
+ private InputStream inputStream;
+ private InputStream errorStream;
+
+ // Handle to the child process - cast to HANDLE before use.
+ private int procHandle;
+
+ // Exit code of the child if it has exited.
+ private int exitCode;
}
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index bafac789b0d..b1319c8fc9f 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -343,7 +343,9 @@ java::lang::Class::_getDeclaredMethod (jstring name,
while (--i >= 0)
{
if (_Jv_equalUtf8Consts (methods[i].name, utf_name)
- && _Jv_equaln (methods[i].signature, partial_sig, p_len))
+ && _Jv_equaln (methods[i].signature, partial_sig, p_len)
+ && (methods[i].accflags
+ & java::lang::reflect::Modifier::INVISIBLE) == 0)
{
// Found it.
using namespace java::lang::reflect;
@@ -368,7 +370,9 @@ java::lang::Class::getDeclaredMethods (void)
if (method->name == NULL
|| _Jv_equalUtf8Consts (method->name, clinit_name)
|| _Jv_equalUtf8Consts (method->name, init_name)
- || _Jv_equalUtf8Consts (method->name, finit_name))
+ || _Jv_equalUtf8Consts (method->name, finit_name)
+ || (methods[i].accflags
+ & java::lang::reflect::Modifier::INVISIBLE) != 0)
continue;
numMethods++;
}
@@ -382,7 +386,9 @@ java::lang::Class::getDeclaredMethods (void)
if (method->name == NULL
|| _Jv_equalUtf8Consts (method->name, clinit_name)
|| _Jv_equalUtf8Consts (method->name, init_name)
- || _Jv_equalUtf8Consts (method->name, finit_name))
+ || _Jv_equalUtf8Consts (method->name, finit_name)
+ || (methods[i].accflags
+ & java::lang::reflect::Modifier::INVISIBLE) != 0)
continue;
java::lang::reflect::Method* rmethod
= new java::lang::reflect::Method ();
@@ -514,7 +520,9 @@ java::lang::Class::_getMethod (jstring name, JArray<jclass> *param_types)
{
// FIXME: access checks.
if (_Jv_equalUtf8Consts (klass->methods[i].name, utf_name)
- && _Jv_equaln (klass->methods[i].signature, partial_sig, p_len))
+ && _Jv_equaln (klass->methods[i].signature, partial_sig, p_len)
+ && (klass->methods[i].accflags
+ & java::lang::reflect::Modifier::INVISIBLE) == 0)
{
// Found it.
using namespace java::lang::reflect;
@@ -565,7 +573,9 @@ java::lang::Class::_getMethods (JArray<java::lang::reflect::Method *> *result,
if (method->name == NULL
|| _Jv_equalUtf8Consts (method->name, clinit_name)
|| _Jv_equalUtf8Consts (method->name, init_name)
- || _Jv_equalUtf8Consts (method->name, finit_name))
+ || _Jv_equalUtf8Consts (method->name, finit_name)
+ || (method->accflags
+ & java::lang::reflect::Modifier::INVISIBLE) != 0)
continue;
// Only want public methods.
if (! java::lang::reflect::Modifier::isPublic (method->accflags))
@@ -954,14 +964,14 @@ _Jv_IsAssignableFrom (jclass target, jclass source)
{
if (source == target)
return true;
-
+
// If target is array, so must source be.
- if (target->isArray ())
+ while (target->isArray ())
{
if (! source->isArray())
return false;
- return _Jv_IsAssignableFrom(target->getComponentType(),
- source->getComponentType());
+ target = target->getComponentType();
+ source = source->getComponentType();
}
if (target->isInterface())
@@ -971,7 +981,7 @@ _Jv_IsAssignableFrom (jclass target, jclass source)
if (__builtin_expect
(source->idt == NULL || source->isInterface(), false))
return _Jv_InterfaceAssignableFrom (target, source);
-
+
_Jv_IDispatchTable *cl_idt = source->idt;
_Jv_IDispatchTable *if_idt = target->idt;
@@ -987,23 +997,31 @@ _Jv_IsAssignableFrom (jclass target, jclass source)
}
return false;
}
-
+
// Primitive TYPE classes are only assignable to themselves.
- if (__builtin_expect (target->isPrimitive(), false))
+ if (__builtin_expect (target->isPrimitive() || source->isPrimitive(), false))
return false;
-
+
if (target == &java::lang::Object::class$)
+ return true;
+ else if (source->ancestors == NULL || target->ancestors == NULL)
{
- if (source->isPrimitive())
- return false;
- return true;
+ // We need this case when either SOURCE or TARGET has not has
+ // its constant-time tables prepared.
+
+ // At this point we know that TARGET can't be Object, so it is
+ // safe to use that as the termination point.
+ while (source && source != &java::lang::Object::class$)
+ {
+ if (source == target)
+ return true;
+ source = source->getSuperclass();
+ }
}
- else if (source->ancestors != NULL
- && target->ancestors != NULL
- && source->depth >= target->depth
+ else if (source->depth >= target->depth
&& source->ancestors[source->depth - target->depth] == target)
return true;
-
+
return false;
}
@@ -1342,7 +1360,7 @@ _Jv_AppendPartialITable (jclass klass, jclass iface, void **itable,
}
static _Jv_Mutex_t iindex_mutex;
-bool iindex_mutex_initialized = false;
+static bool iindex_mutex_initialized = false;
// We need to find the correct offset in the Class Interface Dispatch
// Table for a given interface. Once we have that, invoking an interface
@@ -1564,6 +1582,13 @@ isVirtualMethod (_Jv_Method *meth)
&& meth->name->data[0] != '<');
}
+// This is put in empty vtable slots.
+static void
+_Jv_abstractMethodError (void)
+{
+ throw new java::lang::AbstractMethodError();
+}
+
// Prepare virtual method declarations in KLASS, and any superclasses as
// required, by determining their vtable index, setting method->index, and
// finally setting the class's vtable_method_count. Must be called with the
@@ -1594,13 +1619,16 @@ _Jv_LayoutVTableMethods (jclass klass)
continue;
if (superclass != NULL)
- super_meth = _Jv_LookupDeclaredMethod (superclass, meth->name,
- meth->signature);
+ {
+ super_meth = _Jv_LookupDeclaredMethod (superclass, meth->name,
+ meth->signature);
+ }
if (super_meth)
meth->index = super_meth->index;
- else if (! (meth->accflags & java::lang::reflect::Modifier::FINAL))
- meth->index = index++;
+ else if (! (meth->accflags & java::lang::reflect::Modifier::FINAL)
+ && ! (klass->accflags & java::lang::reflect::Modifier::FINAL))
+ meth->index = index++;
}
klass->vtable_method_count = index;
@@ -1626,8 +1654,7 @@ _Jv_SetVTableEntries (jclass klass, _Jv_VTable *vtable, jboolean *flags)
continue;
if ((meth->accflags & Modifier::ABSTRACT))
{
- // FIXME: we should set abstract slots to a function that
- // throws AbstractMethodError. How can we do that on IA-64?
+ vtable->set_method(meth->index, (void *) &_Jv_abstractMethodError);
flags[meth->index] = false;
}
else
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index aeee08a6265..96a81812219 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -56,17 +56,18 @@ java::lang::ClassLoader::defineClass0 (jstring name,
sizeof (_Jv_InterpClass));
_Jv_InitNewClassFields (klass);
- // synchronize on the class, so that it is not
- // attempted initialized until we're done loading.
- _Jv_MonitorEnter (klass);
+ // Synchronize on the class, so that it is not attempted initialized
+ // until we're done loading.
+ JvSynchronize sync (klass);
- // record which is the defining loader
- klass->loader = this;
+ // Record the defining loader. For the system class loader, we
+ // record NULL.
+ if (this != java::lang::ClassLoader::getSystemClassLoader())
+ klass->loader = this;
- // register that we are the initiating loader...
if (name != 0)
{
- _Jv_Utf8Const * name2 = _Jv_makeUtf8Const (name);
+ _Jv_Utf8Const *name2 = _Jv_makeUtf8Const (name);
if (! _Jv_VerifyClassName (name2))
throw new java::lang::ClassFormatError
@@ -86,16 +87,8 @@ java::lang::ClassLoader::defineClass0 (jstring name,
_Jv_UnregisterClass (klass);
- _Jv_MonitorExit (klass);
-
- // FIXME: Here we may want to test that EX does
- // indeed represent a valid exception. That is,
- // anything but ClassNotFoundException,
- // or some kind of Error.
-
- // FIXME: Rewrite this as a cleanup instead of
- // as a catch handler.
-
+ // If EX is not a ClassNotFoundException, that's ok, because we
+ // account for the possibility in defineClass().
throw ex;
}
@@ -104,10 +97,6 @@ java::lang::ClassLoader::defineClass0 (jstring name,
// if everything proceeded sucessfully, we're loaded.
JvAssert (klass->state == JV_STATE_LOADED);
- // if an exception is generated, this is initially missed.
- // however, we come back here in handleException0 below...
- _Jv_MonitorExit (klass);
-
return klass;
#else // INTERPRETER
@@ -293,10 +282,11 @@ _Jv_PrepareCompiledClass (jclass klass)
// Hash function for Utf8Consts.
#define HASH_UTF(Utf) (((Utf)->hash) % HASH_LEN)
-struct _Jv_LoaderInfo {
- _Jv_LoaderInfo *next;
- java::lang::Class *klass;
- java::lang::ClassLoader *loader;
+struct _Jv_LoaderInfo
+{
+ _Jv_LoaderInfo *next;
+ java::lang::Class *klass;
+ java::lang::ClassLoader *loader;
};
static _Jv_LoaderInfo *initiated_classes[HASH_LEN];
@@ -309,9 +299,12 @@ static jclass loaded_classes[HASH_LEN];
jclass
_Jv_FindClassInCache (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
{
- _Jv_MonitorEnter (&java::lang::Class::class$);
+ JvSynchronize sync (&java::lang::Class::class$);
jint hash = HASH_UTF (name);
+ if (loader && loader == java::lang::ClassLoader::getSystemClassLoader())
+ loader = NULL;
+
// first, if LOADER is a defining loader, then it is also initiating
jclass klass;
for (klass = loaded_classes[hash]; klass; klass = klass->next)
@@ -337,15 +330,13 @@ _Jv_FindClassInCache (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
}
}
- _Jv_MonitorExit (&java::lang::Class::class$);
-
return klass;
}
void
_Jv_UnregisterClass (jclass the_class)
{
- _Jv_MonitorEnter (&java::lang::Class::class$);
+ JvSynchronize sync (&java::lang::Class::class$);
jint hash = HASH_UTF(the_class->name);
jclass *klass = &(loaded_classes[hash]);
@@ -363,29 +354,32 @@ _Jv_UnregisterClass (jclass the_class)
{
while (*info && (*info)->klass == the_class)
{
+ _Jv_LoaderInfo *old = *info;
*info = (*info)->next;
+ _Jv_Free (old);
}
if (*info == NULL)
break;
}
-
- _Jv_MonitorExit (&java::lang::Class::class$);
}
void
_Jv_RegisterInitiatingLoader (jclass klass, java::lang::ClassLoader *loader)
{
- // non-gc alloc!
- _Jv_LoaderInfo *info = (_Jv_LoaderInfo *) _Jv_Malloc (sizeof(_Jv_LoaderInfo));
+ if (loader && loader == java::lang::ClassLoader::getSystemClassLoader())
+ loader = NULL;
+
+ // This information can't be visible to the GC.
+ _Jv_LoaderInfo *info
+ = (_Jv_LoaderInfo *) _Jv_Malloc (sizeof(_Jv_LoaderInfo));
jint hash = HASH_UTF(klass->name);
- _Jv_MonitorEnter (&java::lang::Class::class$);
+ JvSynchronize sync (&java::lang::Class::class$);
info->loader = loader;
info->klass = klass;
info->next = initiated_classes[hash];
initiated_classes[hash] = info;
- _Jv_MonitorExit (&java::lang::Class::class$);
}
// This function is called many times during startup, before main() is
@@ -471,6 +465,9 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
{
jstring sname = _Jv_NewStringUTF (name->data);
+ java::lang::ClassLoader *sys
+ = java::lang::ClassLoader::getSystemClassLoader ();
+
if (loader)
{
// Load using a user-defined loader, jvmspec 5.3.2
@@ -479,14 +476,14 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
// If "loader" delegated the loadClass operation to another
// loader, explicitly register that it is also an initiating
// loader of the given class.
- if (klass && (klass->getClassLoader () != loader))
+ java::lang::ClassLoader *delegate = (loader == sys
+ ? NULL
+ : loader);
+ if (klass && klass->getClassLoaderInternal () != delegate)
_Jv_RegisterInitiatingLoader (klass, loader);
}
else
{
- java::lang::ClassLoader *sys
- = java::lang::ClassLoader::getSystemClassLoader ();
-
// Load using the bootstrap loader jvmspec 5.3.1.
klass = sys->loadClass (sname, false);
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
index 4c2fd6cab03..33f3e8de27f 100644
--- a/libjava/java/lang/natObject.cc
+++ b/libjava/java/lang/natObject.cc
@@ -1,6 +1,6 @@
// natObject.cc - Implementation of the Object class.
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -9,6 +9,7 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
+#include <platform.h>
#include <string.h>
@@ -532,7 +533,7 @@ spin(unsigned n)
unsigned duration = MIN_SLEEP_USECS << (n - yield_limit);
if (n >= 15 + yield_limit || duration > MAX_SLEEP_USECS)
duration = MAX_SLEEP_USECS;
- java::lang::Thread::sleep(0, duration);
+ _Jv_platform_usleep(duration);
}
}
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc
index f5177b0aa35..86eca64faf9 100644
--- a/libjava/java/lang/natRuntime.cc
+++ b/libjava/java/lang/natRuntime.cc
@@ -1,6 +1,6 @@
// natRuntime.cc - Implementation of native side of Runtime class.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -9,6 +9,7 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
+#include <platform.h>
#include <stdlib.h>
@@ -29,11 +30,10 @@ details. */
#include <java/lang/ConcreteProcess.h>
#include <java/lang/ClassLoader.h>
#include <gnu/gcj/runtime/StackTrace.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
#include <jni.h>
-#include "platform.h"
-
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
@@ -181,19 +181,26 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
ClassLoader *sys = ClassLoader::getSystemClassLoader();
ClassLoader *look = NULL;
gnu::gcj::runtime::StackTrace *t = new gnu::gcj::runtime::StackTrace(10);
- for (int i = 0; i < 10; ++i)
- {
- jclass klass = t->classAt(i);
- if (klass != NULL)
+ try
+ {
+ for (int i = 0; i < 10; ++i)
{
- ClassLoader *loader = klass->getClassLoaderInternal();
- if (loader != NULL && loader != sys)
+ jclass klass = t->classAt(i);
+ if (klass != NULL)
{
- look = loader;
- break;
+ ClassLoader *loader = klass->getClassLoaderInternal();
+ if (loader != NULL && loader != sys)
+ {
+ look = loader;
+ break;
+ }
}
}
}
+ catch (::java::lang::ArrayIndexOutOfBoundsException *e)
+ {
+ }
+
if (look != NULL)
{
// Don't include solib prefix in string passed to
@@ -233,6 +240,19 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
add_library (h);
void *onload = lt_dlsym (h, "JNI_OnLoad");
+
+#ifdef WIN32
+ // On Win32, JNI_OnLoad is an "stdcall" function taking two pointers
+ // (8 bytes) as arguments. It could also have been exported as
+ // "JNI_OnLoad@8" (MinGW) or "_JNI_OnLoad@8" (MSVC).
+ if (onload == NULL)
+ {
+ onload = lt_dlsym (h, "JNI_OnLoad@8");
+ if (onload == NULL)
+ onload = lt_dlsym (h, "_JNI_OnLoad@8");
+ }
+#endif /* WIN32 */
+
if (onload != NULL)
{
JavaVM *vm = _Jv_GetJavaVM ();
@@ -241,7 +261,7 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
// FIXME: what?
return;
}
- jint vers = ((jint (*) (JavaVM *, void *)) onload) (vm, NULL);
+ jint vers = ((jint (JNICALL *) (JavaVM *, void *)) onload) (vm, NULL);
if (vers != JNI_VERSION_1_1 && vers != JNI_VERSION_1_2
&& vers != JNI_VERSION_1_4)
{
@@ -587,7 +607,7 @@ java::lang::Runtime::insertSystemProperties (java::util::Properties *newprops)
}
// The name used to invoke this process (argv[0] in C).
- SET ("gnu.gcj.progname", _Jv_ThisExecutable());
+ SET ("gnu.gcj.progname", _Jv_GetSafeArg (0));
// Allow platform specific settings and overrides.
_Jv_platform_initProperties (newprops);
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc
index 0d30a35af51..4fc453127ad 100644
--- a/libjava/java/lang/natString.cc
+++ b/libjava/java/lang/natString.cc
@@ -586,12 +586,12 @@ java::lang::String::getBytes (jstring enc)
jint offset = 0;
gnu::gcj::convert::UnicodeToBytes *converter
= gnu::gcj::convert::UnicodeToBytes::getEncoder(enc);
- while (todo > 0)
+ while (todo > 0 || converter->havePendingBytes())
{
converter->setOutput(buffer, bufpos);
int converted = converter->write(this, offset, todo, NULL);
bufpos = converter->count;
- if (converted == 0)
+ if (converted == 0 && bufpos == converter->count)
{
buflen *= 2;
jbyteArray newbuffer = JvNewByteArray(buflen);
@@ -599,10 +599,10 @@ java::lang::String::getBytes (jstring enc)
buffer = newbuffer;
}
else
- {
- offset += converted;
- todo -= converted;
- }
+ bufpos = converter->count;
+
+ offset += converted;
+ todo -= converted;
}
converter->done ();
if (bufpos == buflen)
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
index ffa3f1a5053..e2d42324386 100644
--- a/libjava/java/lang/natSystem.cc
+++ b/libjava/java/lang/natSystem.cc
@@ -1,6 +1,6 @@
// natSystem.cc - Native code implementing System class.
-/* Copyright (C) 1998, 1999, 2000, 2001 , 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -9,6 +9,7 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
+#include <platform.h>
#include <stdio.h>
#include <string.h>
@@ -24,8 +25,6 @@ details. */
#include <java/io/PrintStream.h>
#include <java/io/InputStream.h>
-#include "platform.h"
-
void
diff --git a/libjava/java/lang/natWin32Process.cc b/libjava/java/lang/natWin32Process.cc
index e69de29bb2d..ff7ddb5f50a 100644
--- a/libjava/java/lang/natWin32Process.cc
+++ b/libjava/java/lang/natWin32Process.cc
@@ -0,0 +1,295 @@
+// natWin32Process.cc - Native side of Win32 process code.
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+// Conflicts with the definition in "java/lang/reflect/Modifier.h"
+#undef STRICT
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <java/lang/ConcreteProcess.h>
+#include <java/lang/IllegalThreadStateException.h>
+#include <java/lang/InterruptedException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/Thread.h>
+#include <java/io/File.h>
+#include <java/io/FileDescriptor.h>
+#include <java/io/FileInputStream.h>
+#include <java/io/FileOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/lang/OutOfMemoryError.h>
+
+void
+java::lang::ConcreteProcess::cleanup (void)
+{
+ if (inputStream != NULL)
+ {
+ inputStream->close ();
+ inputStream = NULL;
+ }
+
+ if (outputStream != NULL)
+ {
+ outputStream->close ();
+ outputStream = NULL;
+ }
+
+ if (errorStream != NULL)
+ {
+ errorStream->close ();
+ errorStream = NULL;
+ }
+}
+
+void
+java::lang::ConcreteProcess::destroy (void)
+{
+ if (! hasExited ())
+ {
+ // Kill it forcibly and assign an (arbitrary) exit code of 0.
+ TerminateProcess ((HANDLE) procHandle, 0);
+ exitCode = 0;
+
+ cleanup ();
+ }
+}
+
+jboolean
+java::lang::ConcreteProcess::hasExited (void)
+{
+ DWORD exitStatus;
+
+ if (GetExitCodeProcess ((HANDLE) procHandle, &exitStatus) != 0)
+ {
+ // NOTE: STILL_ACTIVE is defined as "259" by Win32 - if the
+ // child actually exits with this return code, we have a
+ // problem here. See MSDN documentation on GetExitCodeProcess( ).
+
+ if (exitStatus == STILL_ACTIVE)
+ return false;
+ else
+ {
+ cleanup ();
+ exitCode = exitStatus;
+ return true;
+ }
+ }
+ else
+ return true;
+}
+
+jint
+java::lang::ConcreteProcess::waitFor (void)
+{
+ if (! hasExited ())
+ {
+ DWORD exitStatus = 0UL;
+
+ // FIXME: The wait should be interruptible.
+ WaitForSingleObject ((HANDLE) procHandle, INFINITE);
+
+ GetExitCodeProcess ((HANDLE) procHandle, &exitStatus);
+ exitCode = exitStatus;
+
+ cleanup ();
+ }
+
+ return exitCode;
+}
+
+static char *
+new_string (jstring string)
+{
+ jsize s = _Jv_GetStringUTFLength (string);
+ char *buf = (char *) _Jv_Malloc (s + 1);
+ _Jv_GetStringUTFRegion (string, 0, s, buf);
+ buf[s] = '\0';
+ return buf;
+}
+
+void
+java::lang::ConcreteProcess::startProcess (jstringArray progarray,
+ jstringArray envp,
+ java::io::File *dir)
+{
+ using namespace java::io;
+
+ procHandle = (jint) INVALID_HANDLE_VALUE;
+
+ // Reconstruct the command line.
+ jstring *elts = elements (progarray);
+
+ int cmdLineLen = 0;
+
+ for (int i = 0; i < progarray->length; ++i)
+ cmdLineLen += (_Jv_GetStringUTFLength (elts[i]) + 3);
+
+ char *cmdLine = (char *) _Jv_Malloc (cmdLineLen + 1);
+ char *cmdLineCurPos = cmdLine;
+
+ for (int i = 0; i < progarray->length; ++i)
+ {
+ if (i > 0)
+ *cmdLineCurPos++ = ' ';
+ *cmdLineCurPos++ = '\"';
+ jsize s = _Jv_GetStringUTFLength (elts[i]);
+ _Jv_GetStringUTFRegion (elts[i], 0, s, cmdLineCurPos);
+ cmdLineCurPos += s;
+ *cmdLineCurPos++ = '\"';
+ }
+ *cmdLineCurPos = '\0';
+
+ // Get the environment, if any.
+ char *env = NULL;
+ if (envp)
+ {
+ elts = elements (envp);
+
+ int envLen = 0;
+ for (int i = 0; i < envp->length; ++i)
+ envLen += (_Jv_GetStringUTFLength (elts[i]) + 1);
+
+ env = (char *) _Jv_Malloc (envLen + 1);
+
+ int j = 0;
+ for (int i = 0; i < envp->length; ++i)
+ {
+ jsize s = _Jv_GetStringUTFLength (elts[i]);
+ _Jv_GetStringUTFRegion (elts[i], 0, s, (env + j));
+
+ j += s;
+ *(env + j) = '\0';
+ j++;
+ }
+ *(env + j) = '\0';
+ }
+
+ // Get the working directory path, if specified.
+ char *wdir = NULL;
+ if (dir != NULL)
+ wdir = new_string (dir->getPath ());
+
+ errorStream = NULL;
+ inputStream = NULL;
+ outputStream = NULL;
+
+ java::lang::Throwable *exc = NULL;
+
+ try
+ {
+ // We create anonymous pipes to communicate with the child
+ // on each of standard streams.
+
+ HANDLE cldStdInRd, cldStdInWr;
+ HANDLE cldStdOutRd, cldStdOutWr;
+ HANDLE cldStdErrRd, cldStdErrWr;
+
+ SECURITY_ATTRIBUTES sAttrs;
+
+ // Explicitly allow the handles to the pipes to be inherited.
+ sAttrs.nLength = sizeof (SECURITY_ATTRIBUTES);
+ sAttrs.bInheritHandle = 1;
+ sAttrs.lpSecurityDescriptor = NULL;
+
+
+ char tmpBuff[64];
+ if (CreatePipe (&cldStdInRd, &cldStdInWr, &sAttrs, 0) == 0)
+ {
+ sprintf (tmpBuff,
+ "Error creating stdin pipe (Win32 Error Code: %lu)",
+ GetLastError ());
+ throw new IOException (JvNewStringLatin1 (tmpBuff));
+ }
+
+ if (CreatePipe (&cldStdOutRd, &cldStdOutWr, &sAttrs, 0) == 0)
+ {
+ sprintf (tmpBuff,
+ "Error creating stdout pipe (Win32 Error Code: %lu)",
+ GetLastError ());
+ throw new IOException (JvNewStringLatin1 (tmpBuff));
+ }
+
+ if (CreatePipe (&cldStdErrRd, &cldStdErrWr, &sAttrs, 0) == 0)
+ {
+ sprintf (tmpBuff,
+ "Error creating stderr pipe (Win32 Error Code: %lu)",
+ GetLastError ());
+ throw new IOException (JvNewStringLatin1 (tmpBuff));
+ }
+
+ outputStream = new FileOutputStream
+ (new FileDescriptor ((jint) cldStdInWr));
+ inputStream = new FileInputStream
+ (new FileDescriptor ((jint) cldStdOutRd));
+ errorStream = new FileInputStream
+ (new FileDescriptor ((jint) cldStdErrRd));
+
+ // Now create the child process.
+ PROCESS_INFORMATION pi;
+ STARTUPINFO si;
+
+ ZeroMemory (&pi, sizeof (PROCESS_INFORMATION));
+
+ ZeroMemory (&si, sizeof (STARTUPINFO));
+ si.cb = sizeof (STARTUPINFO);
+
+ // Explicitly specify the handles to the standard streams.
+ si.dwFlags |= STARTF_USESTDHANDLES;
+
+ si.hStdInput = cldStdInRd;
+ si.hStdOutput = cldStdOutWr;
+ si.hStdError = cldStdErrWr;
+
+ if (CreateProcess (NULL,
+ cmdLine,
+ NULL,
+ NULL,
+ 1,
+ 0,
+ env,
+ wdir,
+ &si,
+ &pi) == 0)
+ {
+ sprintf (tmpBuff,
+ "Error creating child process (Win32 Error Code: %lu)",
+ GetLastError ());
+ throw new IOException (JvNewStringLatin1 (tmpBuff));
+ }
+
+ procHandle = (jint ) pi.hProcess;
+
+ // Close the wrong ends (for the parent) of the pipes.
+ CloseHandle (cldStdInRd);
+ CloseHandle (cldStdOutWr);
+ CloseHandle (cldStdErrWr);
+
+ _Jv_Free (cmdLine);
+ if (env != NULL)
+ _Jv_Free (env);
+ if (wdir != NULL)
+ _Jv_Free (wdir);
+ }
+ catch (java::lang::Throwable *thrown)
+ {
+ cleanup ();
+ exc = thrown;
+ }
+
+ if (exc != NULL)
+ throw exc;
+}
diff --git a/libjava/java/lang/reflect/Modifier.java b/libjava/java/lang/reflect/Modifier.java
index 75d0c9b47f5..8171a88feb5 100644
--- a/libjava/java/lang/reflect/Modifier.java
+++ b/libjava/java/lang/reflect/Modifier.java
@@ -1,5 +1,5 @@
/* java.lang.reflect.Modifier
- Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -158,6 +158,17 @@ public class Modifier
static final int ALL_FLAGS = 0xfff;
/**
+ * GCJ-LOCAL: This access flag is set on methods we declare
+ * internally but which must not be visible to reflection.
+ */
+ static final int INVISIBLE = 0x1000;
+
+ /**
+ * GCJ-LOCAL: This access flag is set on interpreted classes.
+ */
+ static final int INTERPRETED = 0x1000;
+
+ /**
* Check whether the given modifier is abstract.
* @param mod the modifier.
* @return <code>true</code> if abstract, <code>false</code> otherwise.
diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc
index 9b697d25024..c0f7077cc40 100644
--- a/libjava/java/lang/reflect/natMethod.cc
+++ b/libjava/java/lang/reflect/natMethod.cc
@@ -358,46 +358,30 @@ _Jv_CallAnyMethodA (jobject obj,
obj = JvAllocObject (return_type);
}
- int i = 0;
- int size = 0;
- if (needs_this)
- {
- // The `NULL' type is `Object'.
- argtypes[i++] = get_ffi_type (NULL);
- size += sizeof (jobject);
- }
-
- for (int arg = 0; i < param_count; ++i, ++arg)
- {
- argtypes[i] = get_ffi_type (paramelts[arg]);
- if (paramelts[arg]->isPrimitive())
- size += paramelts[arg]->size();
- else
- size += sizeof (jobject);
- }
-
+ const int size_per_arg = sizeof(jvalue);
ffi_cif cif;
- if (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, param_count,
- rtype, argtypes) != FFI_OK)
- {
- // FIXME: throw some kind of VirtualMachineError here.
- }
- char *p = (char *) __builtin_alloca (size);
- void **values = (void **) __builtin_alloca (param_count * sizeof (void *));
+ char *p = (char *) __builtin_alloca (param_count * size_per_arg);
+ // Overallocate to get correct alignment.
+ void **values = (void **)
+ __builtin_alloca (param_count * sizeof (void *));
- i = 0;
+ int i = 0;
if (needs_this)
{
+ // The `NULL' type is `Object'.
+ argtypes[i] = get_ffi_type (NULL);
values[i] = p;
memcpy (p, &obj, sizeof (jobject));
- p += sizeof (jobject);
+ p += size_per_arg;
++i;
}
for (int arg = 0; i < param_count; ++i, ++arg)
{
int tsize;
+
+ argtypes[i] = get_ffi_type (paramelts[arg]);
if (paramelts[arg]->isPrimitive())
tsize = paramelts[arg]->size();
else
@@ -406,9 +390,16 @@ _Jv_CallAnyMethodA (jobject obj,
// Copy appropriate bits from the jvalue into the ffi array.
// FIXME: we could do this copying all in one loop, above, by
// over-allocating a bit.
+ // How do we do this without breaking big-endian platforms?
values[i] = p;
memcpy (p, &args[arg], tsize);
- p += tsize;
+ p += size_per_arg;
+ }
+
+ if (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, param_count,
+ rtype, argtypes) != FFI_OK)
+ {
+ // FIXME: throw some kind of VirtualMachineError here.
}
using namespace java::lang;
diff --git a/libjava/java/math/BigDecimal.java b/libjava/java/math/BigDecimal.java
index 713ba08e151..fc99cf1f7d2 100644
--- a/libjava/java/math/BigDecimal.java
+++ b/libjava/java/math/BigDecimal.java
@@ -178,15 +178,31 @@ public class BigDecimal extends Number implements Comparable
// Now parse exponent.
if (point < len)
{
- int exp = Integer.parseInt (num.substring (point + 1));
- exp -= scale;
- if (exp > 0)
+ point++;
+ if (num.charAt(point) == '+')
+ point++;
+
+ if (point >= len )
+ throw new NumberFormatException ("no exponent following e or E");
+
+ try
{
- intVal = intVal.multiply (BigInteger.valueOf (10).pow (exp));
- scale = 0;
+ int exp = Integer.parseInt (num.substring (point));
+ exp -= scale;
+ if (signum () == 0)
+ scale = 0;
+ else if (exp > 0)
+ {
+ intVal = intVal.multiply (BigInteger.valueOf (10).pow (exp));
+ scale = 0;
+ }
+ else
+ scale = - exp;
+ }
+ catch (NumberFormatException ex)
+ {
+ throw new NumberFormatException ("malformed exponent");
}
- else
- scale = - exp;
}
}
@@ -198,7 +214,7 @@ public class BigDecimal extends Number implements Comparable
public static BigDecimal valueOf (long val, int scale)
throws NumberFormatException
{
- if (scale == 0)
+ if ((scale == 0) && ((int)val == val))
switch ((int) val)
{
case 0:
@@ -252,7 +268,7 @@ public class BigDecimal extends Number implements Comparable
throw new ArithmeticException ("scale is negative: " + newScale);
if (intVal.signum () == 0) // handle special case of 0.0/0.0
- return ZERO;
+ return newScale == 0 ? ZERO : new BigDecimal (ZERO.intVal, newScale);
// Ensure that pow gets a non-negative value.
int valScale = val.scale;
@@ -415,6 +431,11 @@ public class BigDecimal extends Number implements Comparable
return scale;
}
+ public BigInteger unscaledValue()
+ {
+ return intVal;
+ }
+
public BigDecimal abs ()
{
return new BigDecimal (intVal.abs (), scale);
@@ -431,19 +452,29 @@ public class BigDecimal extends Number implements Comparable
if (scale == 0)
return bigStr;
- int point = bigStr.length() - scale;
boolean negative = (bigStr.charAt(0) == '-');
- StringBuffer sb = new StringBuffer(bigStr.length() + 1 +
- (point <= 0 ? -point+1 : 0));
- if (negative)
- sb.append('-');
- while (point <= 0)
+
+ int point = bigStr.length() - scale - (negative ? 1 : 0);
+
+ StringBuffer sb = new StringBuffer(bigStr.length() + 2 +
+ (point <= 0 ? (-point + 1) : 0));
+ if (point <= 0)
+ {
+ if (negative)
+ sb.append('-');
+ sb.append('0').append('.');
+ while (point < 0)
+ {
+ sb.append('0');
+ point++;
+ }
+ sb.append(bigStr.substring(negative ? 1 : 0));
+ }
+ else
{
- sb.append('0');
- point++;
+ sb.append(bigStr);
+ sb.insert(point + (negative ? 1 : 0), '.');
}
- sb.append(bigStr.substring(negative ? 1 : 0));
- sb.insert(point, '.');
return sb.toString();
}
diff --git a/libjava/java/math/BigInteger.java b/libjava/java/math/BigInteger.java
index e8c6b1dfdc9..34ec5a4c425 100644
--- a/libjava/java/math/BigInteger.java
+++ b/libjava/java/math/BigInteger.java
@@ -1,5 +1,5 @@
/* java.math.BigInteger -- Arbitary precision integers
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -110,6 +110,12 @@ public class BigInteger extends Number implements Comparable
109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181,
191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251 };
+ /** HAC (Handbook of Applied Cryptography), Alfred Menezes & al. Table 4.4. */
+ private static final int[] k =
+ {100,150,200,250,300,350,400,500,600,800,1250, Integer.MAX_VALUE};
+ private static final int[] t =
+ { 27, 18, 15, 12, 9, 8, 7, 6, 5, 4, 3, 2};
+
private BigInteger()
{
}
@@ -217,39 +223,47 @@ public class BigInteger extends Number implements Comparable
}
}
+ /**
+ * Return a BigInteger that is bitLength bits long with a
+ * probability < 2^-100 of being composite.
+ *
+ * @param bitLength length in bits of resulting number
+ * @param rnd random number generator to use
+ * @throws ArithmeticException if bitLength < 2
+ * @since 1.4
+ */
+ public static BigInteger probablePrime(int bitLength, Random rnd)
+ {
+ if (bitLength < 2)
+ throw new ArithmeticException();
+
+ return new BigInteger(bitLength, 100, rnd);
+ }
+
/** Return a (possibly-shared) BigInteger with a given long value. */
- private static BigInteger make(long value)
+ public static BigInteger valueOf(long val)
{
- if (value >= minFixNum && value <= maxFixNum)
- return smallFixNums[(int)value - minFixNum];
- int i = (int) value;
- if ((long)i == value)
+ if (val >= minFixNum && val <= maxFixNum)
+ return smallFixNums[(int) val - minFixNum];
+ int i = (int) val;
+ if ((long) i == val)
return new BigInteger(i);
BigInteger result = alloc(2);
result.ival = 2;
result.words[0] = i;
- result.words[1] = (int) (value >> 32);
+ result.words[1] = (int)(val >> 32);
return result;
}
- // FIXME: Could simply rename 'make' method above as valueOf while
- // changing all instances of 'make'. Don't do this until this class
- // is done as the Kawa class this is based on has 'make' methods
- // with other parameters; wait to see if they are used in BigInteger.
- public static BigInteger valueOf(long val)
- {
- return make(val);
- }
-
/** Make a canonicalized BigInteger from an array of words.
* The array may be reused (without copying). */
private static BigInteger make(int[] words, int len)
{
if (words == null)
- return make(len);
+ return valueOf(len);
len = BigInteger.wordsNeeded(words, len);
if (len <= 1)
- return len == 0 ? ZERO : make(words[0]);
+ return len == 0 ? ZERO : valueOf(words[0]);
BigInteger num = new BigInteger();
num.words = words;
num.ival = len;
@@ -267,15 +281,15 @@ public class BigInteger extends Number implements Comparable
int bptr = 0;
int word = sign;
for (int i = bytes.length % 4; i > 0; --i, bptr++)
- word = (word << 8) | (((int) bytes[bptr]) & 0xff);
+ word = (word << 8) | (bytes[bptr] & 0xff);
words[--nwords] = word;
// Elements remaining in byte[] are a multiple of 4.
while (nwords > 0)
words[--nwords] = bytes[bptr++] << 24 |
- (((int) bytes[bptr++]) & 0xff) << 16 |
- (((int) bytes[bptr++]) & 0xff) << 8 |
- (((int) bytes[bptr++]) & 0xff);
+ (bytes[bptr++] & 0xff) << 16 |
+ (bytes[bptr++] & 0xff) << 8 |
+ (bytes[bptr++] & 0xff);
return words;
}
@@ -284,9 +298,8 @@ public class BigInteger extends Number implements Comparable
*/
private static BigInteger alloc(int nwords)
{
- if (nwords <= 1)
- return new BigInteger();
BigInteger result = new BigInteger();
+ if (nwords > 1)
result.words = new int[nwords];
return result;
}
@@ -376,12 +389,6 @@ public class BigInteger extends Number implements Comparable
return compareTo(this, val) > 0 ? this : val;
}
- private final boolean isOdd()
- {
- int low = words == null ? ival : words[0];
- return (low & 1) != 0;
- }
-
private final boolean isZero()
{
return words == null && ival == 0;
@@ -392,11 +399,6 @@ public class BigInteger extends Number implements Comparable
return words == null && ival == 1;
}
- private final boolean isMinusOne()
- {
- return words == null && ival == -1;
- }
-
/** Calculate how many words are significant in words[0:len-1].
* Returns the least value x such that x>0 && words[0:x-1]==words[0:len-1],
* when words is viewed as a 2's complement integer.
@@ -433,14 +435,14 @@ public class BigInteger extends Number implements Comparable
words = null;
}
if (words == null && ival >= minFixNum && ival <= maxFixNum)
- return smallFixNums[(int) ival - minFixNum];
+ return smallFixNums[ival - minFixNum];
return this;
}
/** Add two ints, yielding a BigInteger. */
private static final BigInteger add(int x, int y)
{
- return BigInteger.make((long) x + (long) y);
+ return valueOf((long) x + (long) y);
}
/** Add a BigInteger and an int, yielding a new BigInteger. */
@@ -526,13 +528,13 @@ public class BigInteger extends Number implements Comparable
private static BigInteger add(BigInteger x, BigInteger y, int k)
{
if (x.words == null && y.words == null)
- return BigInteger.make((long) k * (long) y.ival + (long) x.ival);
+ return valueOf((long) k * (long) y.ival + (long) x.ival);
if (k != 1)
{
if (k == -1)
y = BigInteger.neg(y);
else
- y = BigInteger.times(y, BigInteger.make(k));
+ y = BigInteger.times(y, valueOf(k));
}
if (x.words == null)
return BigInteger.add(y, x.ival);
@@ -580,7 +582,7 @@ public class BigInteger extends Number implements Comparable
int[] xwords = x.words;
int xlen = x.ival;
if (xwords == null)
- return BigInteger.make((long) xlen * (long) y);
+ return valueOf((long) xlen * (long) y);
boolean negative;
BigInteger result = BigInteger.alloc(xlen + 1);
if (xwords[xlen - 1] < 0)
@@ -662,7 +664,7 @@ public class BigInteger extends Number implements Comparable
xNegative = true;
if (x == Long.MIN_VALUE)
{
- divide(BigInteger.make(x), BigInteger.make(y),
+ divide(valueOf(x), valueOf(y),
quotient, remainder, rounding_mode);
return;
}
@@ -684,7 +686,7 @@ public class BigInteger extends Number implements Comparable
remainder.set(x);
}
else
- divide(BigInteger.make(x), BigInteger.make(y),
+ divide(valueOf(x), valueOf(y),
quotient, remainder, rounding_mode);
return;
}
@@ -966,39 +968,6 @@ public class BigInteger extends Number implements Comparable
return rem.canonicalize();
}
- /** Calculate power for BigInteger exponents.
- * @param y exponent assumed to be non-negative. */
- private BigInteger pow(BigInteger y)
- {
- if (isOne())
- return this;
- if (isMinusOne())
- return y.isOdd () ? this : ONE;
- if (y.words == null && y.ival >= 0)
- return pow(y.ival);
-
- // Assume exponent is non-negative.
- if (isZero())
- return this;
-
- // Implemented by repeated squaring and multiplication.
- BigInteger pow2 = this;
- BigInteger r = null;
- for (;;) // for (i = 0; ; i++)
- {
- // pow2 == x**(2**i)
- // prod = x**(sum(j=0..i-1, (y>>j)&1))
- if (y.isOdd())
- r = r == null ? pow2 : times(r, pow2); // r *= pow2
- y = BigInteger.shift(y, -1);
- if (y.isZero())
- break;
- // pow2 *= pow2;
- pow2 = times(pow2, pow2);
- }
- return r == null ? ONE : r;
- }
-
/** Calculate the integral power of a BigInteger.
* @param exponent the exponent (must be non-negative)
*/
@@ -1008,7 +977,6 @@ public class BigInteger extends Number implements Comparable
{
if (exponent == 0)
return ONE;
- else
throw new ArithmeticException("negative exponent");
}
if (isZero())
@@ -1051,51 +1019,34 @@ public class BigInteger extends Number implements Comparable
private static final int[] euclidInv(int a, int b, int prevDiv)
{
- // Storage for return values, plus one slot for a temp int (see below).
- int[] xy;
-
if (b == 0)
throw new ArithmeticException("not invertible");
- else if (b == 1)
- {
+
+ if (b == 1)
// Success: values are indeed invertible!
// Bottom of the recursion reached; start unwinding.
- xy = new int[3];
- xy[0] = -prevDiv;
- xy[1] = 1;
- return xy;
- }
-
- xy = euclidInv(b, a % b, a / b); // Recursion happens here.
+ return new int[] { -prevDiv, 1 };
- // xy[2] is just temp storage for intermediate results in the following
- // calculation. This saves us a bit of space over having an int
- // allocated at every level of this recursive method.
- xy[2] = xy[0];
- xy[0] = xy[2] * -prevDiv + xy[1];
- xy[1] = xy[2];
+ int[] xy = euclidInv(b, a % b, a / b); // Recursion happens here.
+ a = xy[0]; // use our local copy of 'a' as a work var
+ xy[0] = a * -prevDiv + xy[1];
+ xy[1] = a;
return xy;
}
- private static final BigInteger[]
- euclidInv(BigInteger a, BigInteger b, BigInteger prevDiv)
+ private static final void euclidInv(BigInteger a, BigInteger b,
+ BigInteger prevDiv, BigInteger[] xy)
{
- // FIXME: This method could be more efficient memory-wise and should be
- // modified as such since it is recursive.
-
- // Storage for return values, plus one slot for a temp int (see below).
- BigInteger[] xy;
-
if (b.isZero())
throw new ArithmeticException("not invertible");
- else if (b.isOne())
+
+ if (b.isOne())
{
// Success: values are indeed invertible!
// Bottom of the recursion reached; start unwinding.
- xy = new BigInteger[3];
xy[0] = neg(prevDiv);
- xy[1] = ONE;
- return xy;
+ xy[1] = ONE;
+ return;
}
// Recursion happens in the following conditional!
@@ -1104,25 +1055,23 @@ public class BigInteger extends Number implements Comparable
if (a.words == null)
{
int[] xyInt = euclidInv(b.ival, a.ival % b.ival, a.ival / b.ival);
- xy = new BigInteger[3];
xy[0] = new BigInteger(xyInt[0]);
- xy[1] = new BigInteger(xyInt[1]);
+ xy[1] = new BigInteger(xyInt[1]);
}
else
{
BigInteger rem = new BigInteger();
BigInteger quot = new BigInteger();
divide(a, b, quot, rem, FLOOR);
- xy = euclidInv(b, rem, quot);
+ // quot and rem may not be in canonical form. ensure
+ rem.canonicalize();
+ quot.canonicalize();
+ euclidInv(b, rem, quot, xy);
}
- // xy[2] is just temp storage for intermediate results in the following
- // calculation. This saves us a bit of space over having a BigInteger
- // allocated at every level of this recursive method.
- xy[2] = xy[0];
- xy[0] = add(xy[1], times(xy[2], prevDiv), -1);
- xy[1] = xy[2];
- return xy;
+ BigInteger t = xy[0];
+ xy[0] = add(xy[1], times(t, prevDiv), -1);
+ xy[1] = t;
}
public BigInteger modInverse(BigInteger y)
@@ -1133,7 +1082,7 @@ public class BigInteger extends Number implements Comparable
// Degenerate cases.
if (y.isOne())
return ZERO;
- else if (isOne())
+ if (isOne())
return ONE;
// Use Euclid's algorithm as in gcd() but do this recursively
@@ -1141,8 +1090,6 @@ public class BigInteger extends Number implements Comparable
// unwind from the recursion.
// Used http://www.math.nmsu.edu/~crypto/EuclideanAlgo.html as reference.
BigInteger result = new BigInteger();
- int xval = ival;
- int yval = y.ival;
boolean swapped = false;
if (y.words == null)
@@ -1153,8 +1100,8 @@ public class BigInteger extends Number implements Comparable
// math. Note that BigInteger.mod() must be used even if this is
// already an int as the % operator would provide a negative result if
// this is negative, BigInteger.mod() never returns negative values.
- if (words != null || isNegative())
- xval = mod(y).ival;
+ int xval = (words != null || isNegative()) ? mod(y).ival : ival;
+ int yval = y.ival;
// Swap values so x > y.
if (yval > xval)
@@ -1175,16 +1122,13 @@ public class BigInteger extends Number implements Comparable
}
else
{
- BigInteger x = this;
-
// As above, force this to be a positive value via modulo math.
- if (isNegative())
- x = mod(y);
+ BigInteger x = isNegative() ? this.mod(y) : this;
// Swap values so x > y.
if (x.compareTo(y) < 0)
{
- BigInteger tmp = x; x = y; y = tmp;
+ result = x; x = y; y = result; // use 'result' as a work var
swapped = true;
}
// As above (for ints), result will be in the 2nd element unless
@@ -1192,7 +1136,12 @@ public class BigInteger extends Number implements Comparable
BigInteger rem = new BigInteger();
BigInteger quot = new BigInteger();
divide(x, y, quot, rem, FLOOR);
- result = euclidInv(y, rem, quot)[swapped ? 0 : 1];
+ // quot and rem may not be in canonical form. ensure
+ rem.canonicalize();
+ quot.canonicalize();
+ BigInteger[] xy = new BigInteger[2];
+ euclidInv(y, rem, quot, xy);
+ result = swapped ? xy[0] : xy[1];
// Result can't be negative, so make it positive by adding the
// original modulus, y (which is now x if they were swapped).
@@ -1216,16 +1165,13 @@ public class BigInteger extends Number implements Comparable
// To do this naively by first raising this to the power of exponent
// and then performing modulo m would be extremely expensive, especially
// for very large numbers. The solution is found in Number Theory
- // where a combination of partial powers and modulos can be done easily.
+ // where a combination of partial powers and moduli can be done easily.
//
// We'll use the algorithm for Additive Chaining which can be found on
// p. 244 of "Applied Cryptography, Second Edition" by Bruce Schneier.
- BigInteger s, t, u;
- int i;
-
- s = ONE;
- t = this;
- u = exponent;
+ BigInteger s = ONE;
+ BigInteger t = this;
+ BigInteger u = exponent;
while (!u.isZero())
{
@@ -1242,24 +1188,22 @@ public class BigInteger extends Number implements Comparable
private static final int gcd(int a, int b)
{
// Euclid's algorithm, copied from libg++.
+ int tmp;
if (b > a)
{
- int tmp = a; a = b; b = tmp;
+ tmp = a; a = b; b = tmp;
}
for(;;)
{
if (b == 0)
return a;
- else if (b == 1)
+ if (b == 1)
return b;
- else
- {
- int tmp = b;
+ tmp = b;
b = a % b;
a = tmp;
}
}
- }
public BigInteger gcd(BigInteger y)
{
@@ -1268,7 +1212,7 @@ public class BigInteger extends Number implements Comparable
if (words == null)
{
if (xval == 0)
- return BigInteger.abs(y);
+ return abs(y);
if (y.words == null
&& xval != Integer.MIN_VALUE && yval != Integer.MIN_VALUE)
{
@@ -1276,14 +1220,14 @@ public class BigInteger extends Number implements Comparable
xval = -xval;
if (yval < 0)
yval = -yval;
- return BigInteger.make(BigInteger.gcd(xval, yval));
+ return valueOf(gcd(xval, yval));
}
xval = 1;
}
if (y.words == null)
{
if (yval == 0)
- return BigInteger.abs(this);
+ return abs(this);
yval = 1;
}
int len = (xval > yval ? xval : yval) + 1;
@@ -1298,8 +1242,24 @@ public class BigInteger extends Number implements Comparable
return result.canonicalize();
}
+ /**
+ * <p>Returns <code>true</code> if this BigInteger is probably prime,
+ * <code>false</code> if it's definitely composite. If <code>certainty</code>
+ * is <code><= 0</code>, <code>true</code> is returned.</p>
+ *
+ * @param certainty a measure of the uncertainty that the caller is willing
+ * to tolerate: if the call returns <code>true</code> the probability that
+ * this BigInteger is prime exceeds <code>(1 - 1/2<sup>certainty</sup>)</code>.
+ * The execution time of this method is proportional to the value of this
+ * parameter.
+ * @return <code>true</code> if this BigInteger is probably prime,
+ * <code>false</code> if it's definitely composite.
+ */
public boolean isProbablePrime(int certainty)
{
+ if (certainty < 1)
+ return true;
+
/** We'll use the Rabin-Miller algorithm for doing a probabilistic
* primality test. It is fast, easy and has faster decreasing odds of a
* composite passing than with other tests. This means that this
@@ -1311,19 +1271,20 @@ public class BigInteger extends Number implements Comparable
* Cryptography, Second Edition" by Bruce Schneier.
*/
- // First rule out small prime factors and assure the number is odd.
- for (int i = 0; i < primes.length; i++)
+ // First rule out small prime factors
+ BigInteger rem = new BigInteger();
+ int i;
+ for (i = 0; i < primes.length; i++)
{
if (words == null && ival == primes[i])
return true;
- if (remainder(make(primes[i])).isZero())
+
+ divide(this, smallFixNums[primes[i] - minFixNum], null, rem, TRUNCATE);
+ if (rem.canonicalize().isZero())
return false;
}
// Now perform the Rabin-Miller test.
- // NB: I know that this can be simplified programatically, but
- // I have tried to keep it as close as possible to the algorithm
- // as written in the Schneier book for reference purposes.
// Set b to the number of times 2 evenly divides (this - 1).
// I.e. 2^b is the largest power of 2 that divides (this - 1).
@@ -1331,22 +1292,31 @@ public class BigInteger extends Number implements Comparable
int b = pMinus1.getLowestSetBit();
// Set m such that this = 1 + 2^b * m.
- BigInteger m = pMinus1.divide(make(2L << b - 1));
-
- Random rand = new Random();
- while (certainty-- > 0)
- {
- // Pick a random number greater than 1 and less than this.
- // The algorithm says to pick a small number to make the calculations
- // go faster, but it doesn't say how small; we'll use 2 to 1024.
- int a = rand.nextInt();
- a = (a < 0 ? -a : a) % 1023 + 2;
-
- BigInteger z = make(a).modPow(m, this);
+ BigInteger m = pMinus1.divide(valueOf(2L << b - 1));
+
+ // The HAC (Handbook of Applied Cryptography), Alfred Menezes & al. Note
+ // 4.49 (controlling the error probability) gives the number of trials
+ // for an error probability of 1/2**80, given the number of bits in the
+ // number to test. we shall use these numbers as is if/when 'certainty'
+ // is less or equal to 80, and twice as much if it's greater.
+ int bits = this.bitLength();
+ for (i = 0; i < k.length; i++)
+ if (bits <= k[i])
+ break;
+ int trials = t[i];
+ if (certainty > 80)
+ trials *= 2;
+ BigInteger z;
+ for (int t = 0; t < trials; t++)
+ {
+ // The HAC (Handbook of Applied Cryptography), Alfred Menezes & al.
+ // Remark 4.28 states: "...A strategy that is sometimes employed
+ // is to fix the bases a to be the first few primes instead of
+ // choosing them at random.
+ z = smallFixNums[primes[t] - minFixNum].modPow(m, this);
if (z.isOne() || z.equals(pMinus1))
continue; // Passes the test; may be prime.
- int i;
for (i = 0; i < b; )
{
if (z.isOne())
@@ -1355,7 +1325,7 @@ public class BigInteger extends Number implements Comparable
if (z.equals(pMinus1))
break; // Passes the test; may be prime.
- z = z.modPow(make(2), this);
+ z = z.modPow(valueOf(2), this);
}
if (i == b && !z.equals(pMinus1))
@@ -1456,9 +1426,9 @@ public class BigInteger extends Number implements Comparable
if (x.words == null)
{
if (count <= 0)
- return make(count > -32 ? x.ival >> (-count) : x.ival < 0 ? -1 : 0);
+ return valueOf(count > -32 ? x.ival >> (-count) : x.ival < 0 ? -1 : 0);
if (count < 32)
- return make((long) x.ival << count);
+ return valueOf((long) x.ival << count);
}
if (count == 0)
return x;
@@ -1496,7 +1466,6 @@ public class BigInteger extends Number implements Comparable
work = words;
int len = ival;
- int buf_size = len * (MPN.chars_per_word(radix) + 1);
if (radix == 16)
{
if (neg)
@@ -1549,7 +1518,7 @@ public class BigInteger extends Number implements Comparable
{
if (words == null)
return Integer.toString(ival, radix);
- else if (ival <= 2)
+ if (ival <= 2)
return Long.toString(longValue(), radix);
int buf_size = ival * (MPN.chars_per_word(radix) + 1);
StringBuffer buffer = new StringBuffer(buf_size);
@@ -1599,7 +1568,7 @@ public class BigInteger extends Number implements Comparable
{
if (obj == null || ! (obj instanceof BigInteger))
return false;
- return BigInteger.equals(this, (BigInteger) obj);
+ return equals(this, (BigInteger) obj);
}
private static BigInteger valueOf(String s, int radix)
@@ -1609,7 +1578,7 @@ public class BigInteger extends Number implements Comparable
// Testing (len < MPN.chars_per_word(radix)) would be more accurate,
// but slightly more expensive, for little practical gain.
if (len <= 15 && radix <= 16)
- return BigInteger.make(Long.parseLong(s, radix));
+ return valueOf(Long.parseLong(s, radix));
int byte_len = 0;
byte[] bytes = new byte[len];
@@ -1654,8 +1623,7 @@ public class BigInteger extends Number implements Comparable
if (ival <= 2)
return (double) longValue();
if (isNegative())
- return BigInteger.neg(this).roundToDouble(0, true, false);
- else
+ return neg(this).roundToDouble(0, true, false);
return roundToDouble(0, false, false);
}
@@ -1763,7 +1731,6 @@ public class BigInteger extends Number implements Comparable
* Assumes words.length >= (this.words == null ? 1 : this.ival).
* Result is zero-extended, but need not be a valid 2's complement number.
*/
-
private void getAbsolute(int[] words)
{
int len;
@@ -1814,7 +1781,7 @@ public class BigInteger extends Number implements Comparable
return;
}
realloc(len + 1);
- if (BigInteger.negate(words, x.words, len))
+ if (negate(words, x.words, len))
words[len++] = 0;
ival = len;
}
@@ -1838,7 +1805,7 @@ public class BigInteger extends Number implements Comparable
private static BigInteger neg(BigInteger x)
{
if (x.words == null && x.ival != Integer.MIN_VALUE)
- return make(- x.ival);
+ return valueOf(- x.ival);
BigInteger result = new BigInteger(0);
result.setNegative(x);
return result.canonicalize();
@@ -1846,7 +1813,7 @@ public class BigInteger extends Number implements Comparable
public BigInteger negate()
{
- return BigInteger.neg(this);
+ return neg(this);
}
/** Calculates ceiling(log2(this < 0 ? -this : this+1))
@@ -1856,7 +1823,6 @@ public class BigInteger extends Number implements Comparable
{
if (words == null)
return MPN.intLength(ival);
- else
return MPN.intLength(words, ival);
}
@@ -1907,7 +1873,7 @@ public class BigInteger extends Number implements Comparable
case 1: return x.and(y);
case 3: return x;
case 5: return y;
- case 15: return make(-1);
+ case 15: return valueOf(-1);
}
BigInteger result = new BigInteger();
setBitOp(result, op, x, y);
@@ -2105,15 +2071,15 @@ public class BigInteger extends Number implements Comparable
private static BigInteger and(BigInteger x, int y)
{
if (x.words == null)
- return BigInteger.make(x.ival & y);
+ return valueOf(x.ival & y);
if (y >= 0)
- return BigInteger.make(x.words[0] & y);
+ return valueOf(x.words[0] & y);
int len = x.ival;
int[] words = new int[len];
words[0] = x.words[0] & y;
while (--len > 0)
words[len] = x.words[len];
- return BigInteger.make(words, x.ival);
+ return make(words, x.ival);
}
/** Return the logical (bit-wise) "and" of two BigIntegers. */
@@ -2136,7 +2102,7 @@ public class BigInteger extends Number implements Comparable
words[i] = x.words[i] & y.words[i];
for ( ; i < len; i++)
words[i] = x.words[i];
- return BigInteger.make(words, len);
+ return make(words, len);
}
/** Return the logical (bit-wise) "(inclusive) or" of two BigIntegers. */
diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java
index b2f2ca11ce3..4a5a6236b29 100644
--- a/libjava/java/net/DatagramSocket.java
+++ b/libjava/java/net/DatagramSocket.java
@@ -1,12 +1,39 @@
-// DatagramSocket.java
-
-/* Copyright (C) 1999, 2000, 2002 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
+/* DatagramSocket.java -- A class to model UDP sockets
+ Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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 Classpath 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 Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package java.net;
@@ -15,16 +42,23 @@ import java.nio.channels.DatagramChannel;
import java.nio.channels.IllegalBlockingModeException;
/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date May 3, 1999.
- */
-
-/**
* Written using on-line Java Platform 1.2 API Specification, as well
* as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
* Status: Believed complete and correct.
*/
+/**
+ * This class models a connectionless datagram socket that sends
+ * individual packets of data across the network. In the TCP/IP world,
+ * this means UDP. Datagram packets do not have guaranteed delivery,
+ * or any guarantee about the order the data will be received on the
+ * remote host.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ * @author Warren Levy (warrenl@cygnus.com)
+ * @date May 3, 1999.
+ */
+
public class DatagramSocket
{
/**
@@ -33,24 +67,31 @@ public class DatagramSocket
*/
static DatagramSocketImplFactory factory;
+ /**
+ * This is the implementation object used by this socket.
+ */
DatagramSocketImpl impl;
+ /**
+ * The unique DatagramChannel object associated with this datagram socket,
+ * or null.
+ */
DatagramChannel ch;
+ /**
+ * This is the address we are "connected" to
+ */
private InetAddress remoteAddress;
- private int remotePort;
/**
- * Creates a DatagramSocket
- *
- * @exception SocketException If an error occurs
- * @exception SecurityException If a security manager exists and
- * its checkListen method doesn't allow the operation
+ * This is the port we are "connected" to
*/
- public DatagramSocket() throws SocketException
- {
- this(0, null);
- }
+ private int remotePort = -1;
+
+ /**
+ * Indicates when the socket is closed.
+ */
+ private boolean closed = false;
/**
* Creates a DatagramSocket from a specified DatagramSocketImpl instance
@@ -67,31 +108,27 @@ public class DatagramSocket
}
/**
- * Creates a datagram socket that is bound to a given socket address
- *
- * @param bindaddr The socket address to bind to
+ * Initializes a new instance of <code>DatagramSocket</code> that binds to
+ * a random port and every address on the local machine.
*
- * @exception SocketException If an error occurs
+ * @exception SocketException If an error occurs.
* @exception SecurityException If a security manager exists and
- * its checkListen method doesn't allow the operation
- *
- * @since 1.4
+ * its checkListen method doesn't allow the operation.
*/
- public DatagramSocket (SocketAddress bindaddr)
- throws SocketException
+ public DatagramSocket() throws SocketException
{
- this (((InetSocketAddress) bindaddr).getPort (),
- ((InetSocketAddress) bindaddr).getAddress ());
+ this(0, null);
}
/**
- * Creates a datagram socket that is bound to a specific port
+ * Initializes a new instance of <code>DatagramSocket</code> that binds to
+ * the specified port and every address on the local machine.
*
- * @param port The port number to bind to
+ * @param port The local port number to bind to.
*
- * @exception SocketException If an error occurs
- * @exception SecurityException If a security manager exists and
- * its checkListen method doesn't allow the operation
+ * @exception SecurityException If a security manager exists and its
+ * checkListen method doesn't allow the operation.
+ * @exception SocketException If an error occurs.
*/
public DatagramSocket(int port) throws SocketException
{
@@ -99,14 +136,15 @@ public class DatagramSocket
}
/**
- * Creates a datagram socket that is bound to a specific port/inet address
+ * Initializes a new instance of <code>DatagramSocket</code> that binds to
+ * the specified local port and address.
*
- * @param port The port number to bind to
- * @param laddr The local address to bind to
+ * @param port The local port number to bind to.
+ * @param laddr The local address to bind to.
*
- * @exception SocketException If an error occurs
- * @exception SecurityException If a security manager exists and
- * its checkListen method doesn't allow the operation
+ * @exception SecurityException If a security manager exists and its
+ * checkListen method doesn't allow the operation.
+ * @exception SocketException If an error occurs.
*/
public DatagramSocket(int port, InetAddress laddr) throws SocketException
{
@@ -123,8 +161,8 @@ public class DatagramSocket
else
try
{
- impl = (DatagramSocketImpl) Class.forName("java.net." + propVal +
- "DatagramSocketImpl").newInstance();
+ impl = (DatagramSocketImpl) Class.forName
+ ("java.net." + propVal + "DatagramSocketImpl").newInstance();
}
catch (Exception e)
{
@@ -145,64 +183,68 @@ public class DatagramSocket
}
/**
- * Binds the socket to the given socket addres
+ * Initializes a new instance of <code>DatagramSocket</code> that binds to
+ * the specified local port and address.
*
- * @param address The socket address to bind to
+ * @param port The local port number to bind to.
+ * @param laddr The local address to bind to.
*
- * @exception SocketException If an error occurs
- * @exception SecurityException If a security manager exists and
- * its checkListen method doesn't allow the operation
- * @exception IllegalArgumentException If address type is not supported
+ * @exception SecurityException If a security manager exists and its
+ * checkListen method doesn't allow the operation.
+ * @exception SocketException If an error occurs.
*
* @since 1.4
*/
- public void bind (SocketAddress address)
- throws SocketException
+ public DatagramSocket (SocketAddress address) throws SocketException
{
- if (! (address instanceof InetSocketAddress))
- throw new IllegalArgumentException ();
-
- InetSocketAddress tmp = (InetSocketAddress) address;
-
- SecurityManager s = System.getSecurityManager ();
- if (s != null)
- s.checkListen(tmp.getPort ());
-
- impl.bind (tmp.getPort (), tmp.getAddress ());
+ this (((InetSocketAddress) address).getPort (),
+ ((InetSocketAddress) address).getAddress ());
}
/**
- * Closes the datagram socket
+ * Closes this datagram socket.
*/
public void close()
{
- impl.close();
- remoteAddress = null;
- remotePort = -1;
+ if (!closed)
+ {
+ impl.close();
+ remoteAddress = null;
+ remotePort = -1;
+ closed = true;
+ }
}
/**
- * Checks if the datagram socket is closed
+ * This method returns the remote address to which this socket is
+ * connected. If this socket is not connected, then this method will
+ * return <code>null</code>.
*
- * @since 1.4
+ * @return The remote address.
+ *
+ * @since 1.2
*/
- public boolean isClosed()
+ public InetAddress getInetAddress()
{
- return !impl.getFileDescriptor().valid();
+ return remoteAddress;
}
/**
- * Gets a datagram channel assoziated with the socket
+ * This method returns the remote port to which this socket is
+ * connected. If this socket is not connected, then this method will
+ * return -1.
*
- * @since 1.4
+ * @return The remote port.
+ *
+ * @since 1.2
*/
- public DatagramChannel getChannel()
+ public int getPort()
{
- return ch;
+ return remotePort;
}
/**
- * Returns the local address of the datagram socket
+ * Returns the local address this datagram socket is bound to.
*
* @since 1.1
*/
@@ -226,7 +268,7 @@ public class DatagramSocket
// s.checkConnect("localhost", -1);
try
{
- return (InetAddress)impl.getOption(SocketOptions.SO_BINDADDR);
+ return (InetAddress)impl.getOption(SocketOptions.SO_BINDADDR);
}
catch (SocketException ex)
{
@@ -234,19 +276,19 @@ public class DatagramSocket
try
{
- return InetAddress.getLocalHost();
+ return InetAddress.getLocalHost();
}
catch (UnknownHostException ex)
{
- // FIXME: This should never happen, so how can we avoid this construct?
- return null;
+ // FIXME: This should never happen, so how can we avoid this construct?
+ return null;
}
}
/**
- * Returns the local port this socket uses
+ * Returns the local port this socket is bound to.
*
- * @return The local port number
+ * @return The local port number.
*/
public int getLocalPort()
{
@@ -257,11 +299,12 @@ public class DatagramSocket
}
/**
- * Gets the SO_TIMEOUT value
+ * Returns the value of the socket's SO_TIMEOUT setting. If this method
+ * returns 0 then SO_TIMEOUT is disabled.
*
- * @return The current timeout in milliseconds
+ * @return The current timeout in milliseconds.
*
- * @exception SocketException If an error occurs
+ * @exception SocketException If an error occurs.
*
* @since 1.1
*/
@@ -271,6 +314,7 @@ public class DatagramSocket
throw new SocketException ("Cannot initialize Socket implementation");
Object timeout = impl.getOption(SocketOptions.SO_TIMEOUT);
+
if (timeout instanceof Integer)
return ((Integer)timeout).intValue();
else
@@ -278,20 +322,186 @@ public class DatagramSocket
}
/**
- * Receive a datagram packet
+ * Sets the value of the socket's SO_TIMEOUT value. A value of 0 will
+ * disable SO_TIMEOUT. Any other value is the number of milliseconds
+ * a socket read/write will block before timing out.
+ *
+ * @param timeout The new SO_TIMEOUT value in milliseconds.
+ *
+ * @exception SocketException If an error occurs.
+ *
+ * @since 1.1
+ */
+ public synchronized void setSoTimeout(int timeout) throws SocketException
+ {
+ if (timeout < 0)
+ throw new IllegalArgumentException("Invalid timeout: " + timeout);
+
+ impl.setOption(SocketOptions.SO_TIMEOUT, new Integer(timeout));
+ }
+
+ /**
+ * This method returns the value of the system level socket option
+ * SO_SNDBUF, which is used by the operating system to tune buffer
+ * sizes for data transfers.
*
- * @param p The datagram packet to put the incoming data into
+ * @return The send buffer size.
+ *
+ * @exception SocketException If an error occurs.
+ *
+ * @since 1.2
+ */
+ public int getSendBufferSize() throws SocketException
+ {
+ if (impl == null)
+ throw new SocketException ("Cannot initialize Socket implementation");
+
+ Object obj = impl.getOption(SocketOptions.SO_SNDBUF);
+
+ if (obj instanceof Integer)
+ return(((Integer)obj).intValue());
+ else
+ throw new SocketException("Unexpected type");
+ }
+
+ /**
+ * This method sets the value for the system level socket option
+ * SO_SNDBUF to the specified value. Note that valid values for this
+ * option are specific to a given operating system.
+ *
+ * @param size The new send buffer size.
+ *
+ * @exception SocketException If an error occurs.
+ * @exception IllegalArgumentException If size is 0 or negative.
+ *
+ * @since 1.2
+ */
+ public void setSendBufferSize(int size) throws SocketException
+ {
+ if (size < 0)
+ throw new IllegalArgumentException("Buffer size is less than 0");
+
+ impl.setOption(SocketOptions.SO_SNDBUF, new Integer(size));
+ }
+
+ /**
+ * This method returns the value of the system level socket option
+ * SO_RCVBUF, which is used by the operating system to tune buffer
+ * sizes for data transfers.
+ *
+ * @return The receive buffer size.
+ *
+ * @exception SocketException If an error occurs.
+ *
+ * @since 1.2
+ */
+ public int getReceiveBufferSize() throws SocketException
+ {
+ if (impl == null)
+ throw new SocketException ("Cannot initialize Socket implementation");
+
+ Object obj = impl.getOption(SocketOptions.SO_RCVBUF);
+
+ if (obj instanceof Integer)
+ return(((Integer)obj).intValue());
+ else
+ throw new SocketException("Unexpected type");
+ }
+
+ /**
+ * This method sets the value for the system level socket option
+ * SO_RCVBUF to the specified value. Note that valid values for this
+ * option are specific to a given operating system.
+ *
+ * @param size The new receive buffer size.
+ *
+ * @exception SocketException If an error occurs.
+ * @exception IllegalArgumentException If size is 0 or negative.
*
- * @exception IOException If an error occurs
+ * @since 1.2
+ */
+ public void setReceiveBufferSize(int size) throws SocketException
+ {
+ if (impl == null)
+ throw new SocketException ("Cannot initialize Socket implementation");
+
+ if (size < 0)
+ throw new IllegalArgumentException("Buffer size is less than 0");
+
+ impl.setOption(SocketOptions.SO_RCVBUF, new Integer(size));
+ }
+
+ /**
+ * This method connects this socket to the specified address and port.
+ * When a datagram socket is connected, it will only send or receive
+ * packets to and from the host to which it is connected. A multicast
+ * socket that is connected may only send and not receive packets.
+ *
+ * @param address The address to connect this socket to.
+ * @param port The port to connect this socket to.
+ *
+ * @exception SocketException If an error occurs.
+ * @exception IllegalArgumentException If address or port are invalid.
+ * @exception SecurityException If the caller is not allowed to send
+ * datagrams to or receive from this address and port.
+ *
+ * @since 1.2
+ */
+ public void connect(InetAddress address, int port)
+ {
+ if (address == null)
+ throw new IllegalArgumentException ("Connect address may not be null");
+
+ if ((port < 1) || (port > 65535))
+ throw new IllegalArgumentException ("Port number is illegal: " + port);
+
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkConnect(address.getHostName(), port);
+
+ try
+ {
+ impl.connect (address, port);
+ remoteAddress = address;
+ remotePort = port;
+ }
+ catch (SocketException e)
+ {
+ }
+ }
+
+ /**
+ * This method disconnects this socket from the address/port it was
+ * connected to. If the socket was not connected in the first place,
+ * this method does nothing.
+ *
+ * @since 1.2
+ */
+ public void disconnect()
+ {
+ impl.disconnect();
+ remoteAddress = null;
+ remotePort = -1;
+ }
+
+ /**
+ * Reads a datagram packet from the socket. Note that this method
+ * will block until a packet is received from the network. On return,
+ * the passed in <code>DatagramPacket</code> is populated with the data
+ * received and all the other information about the packet.
+ *
+ * @param p The datagram packet to put the incoming data into.
+ *
+ * @exception IOException If an error occurs.
* @exception SocketTimeoutException If setSoTimeout was previously called
- * and the timeout has expired
+ * and the timeout has expired.
* @exception PortUnreachableException If the socket is connected to a
* currently unreachable destination. Note, there is no guarantee that the
- * exception will be thrown
+ * exception will be thrown.
* @exception IllegalBlockingModeException If this socket has an associated
- * channel, and the channel is in non-blocking mode
+ * channel, and the channel is in non-blocking mode.
* @exception SecurityException If a security manager exists and its
- * checkAccept ethod doesn't allow the receive
+ * checkAccept ethod doesn't allow the receive.
*/
public synchronized void receive(DatagramPacket p) throws IOException
{
@@ -313,18 +523,19 @@ public class DatagramSocket
}
/**
- * Sends a datagram packet
+ * Sends the specified packet. The host and port to which the packet
+ * are to be sent should be set inside the packet.
*
- * @param p The datagram packet to send
+ * @param p The datagram packet to send.
*
- * @exception IOException If an error occurs
+ * @exception IOException If an error occurs.
* @exception SecurityException If a security manager exists and its
- * checkMulticast or checkConnect method doesn't allow the send
+ * checkMulticast or checkConnect method doesn't allow the send.
* @exception PortUnreachableException If the socket is connected to a
* currently unreachable destination. Note, there is no guarantee that the
- * exception will be thrown
+ * exception will be thrown.
* @exception IllegalBlockingModeException If this socket has an associated
- * channel, and the channel is in non-blocking mode
+ * channel, and the channel is in non-blocking mode.
*/
public void send(DatagramPacket p) throws IOException
{
@@ -357,62 +568,59 @@ public class DatagramSocket
}
/**
- * Sets a new value for SO_TIMEOUT
+ * Binds the socket to the given socket address.
*
- * @param timeout The timeout in milliseconds
+ * @param address The socket address to bind to.
*
- * @exception SocketException If an error occurs
+ * @exception SocketException If an error occurs.
+ * @exception SecurityException If a security manager exists and
+ * its checkListen method doesn't allow the operation.
+ * @exception IllegalArgumentException If address type is not supported.
*
- * @since 1.1
+ * @since 1.4
*/
- public synchronized void setSoTimeout(int timeout) throws SocketException
+ public void bind (SocketAddress address)
+ throws SocketException
{
- if (timeout < 0)
- throw new IllegalArgumentException("Invalid timeout: " + timeout);
+ if (! (address instanceof InetSocketAddress))
+ throw new IllegalArgumentException ();
- impl.setOption(SocketOptions.SO_TIMEOUT, new Integer(timeout));
+ InetSocketAddress tmp = (InetSocketAddress) address;
+
+ SecurityManager s = System.getSecurityManager ();
+ if (s != null)
+ s.checkListen(tmp.getPort ());
+
+ impl.bind (tmp.getPort (), tmp.getAddress ());
}
/**
- * Connects the datagrem socket to a specified address/port
+ * Checks if the datagram socket is closed.
*
- * @param address The address to connect to
- * @param port The port to connect to
- *
- * @exception SocketException If an error occurs
- * @exception IllegalArgumentException If address is null
- * or the port number is illegal
- * @exception SecurityException If the caller is not allowed to send
- * datagrams to and receive datagrams from the address and port
- *
- * @since 1.2
+ * @since 1.4
*/
- public void connect(InetAddress address, int port)
- throws SocketException
+ public boolean isClosed()
{
- if (address == null)
- throw new IllegalArgumentException ("Address may not be null");
-
- if (port < 1 || port > 65535)
- throw new IllegalArgumentException ("Port number is illegal");
-
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkAccept(address.getHostName (), port);
-
- impl.connect (address, port);
+ return closed;
+ }
- remoteAddress = address;
- remotePort = port;
+ /**
+ * Returns the datagram channel assoziated with this datagram socket.
+ *
+ * @since 1.4
+ */
+ public DatagramChannel getChannel()
+ {
+ return ch;
}
/**
* Connects the datagram socket to a specified socket address.
*
- * @param address The socket address to connect to
+ * @param address The socket address to connect to.
*
- * @exception SocketException If an error occurs
- * @exception IllegalArgumentException If address type is not supported
+ * @exception SocketException If an error occurs.
+ * @exception IllegalArgumentException If address type is not supported.
*
* @since 1.4
*/
@@ -427,17 +635,7 @@ public class DatagramSocket
}
/**
- * Disconnects the datagram socket
- *
- * @since 1.2
- */
- public void disconnect()
- {
- impl.disconnect();
- }
-
- /**
- * Returns the binding state of the socket
+ * Returns the binding state of the socket.
*
* @since 1.4
*/
@@ -456,7 +654,7 @@ public class DatagramSocket
}
/**
- * Returns the connection state of the socket
+ * Returns the connection state of the socket.
*
* @since 1.4
*/
@@ -466,35 +664,8 @@ public class DatagramSocket
}
/**
- * Returns the InetAddress the socket is connected to
- * or null if the socket is not connected
- *
- * @since 1.2
- */
- public InetAddress getInetAddress()
- {
- if (!isConnected ())
- return null;
-
- return remoteAddress;
- }
-
- /**
- * Returns the port number the socket is connected to or -1 if not connected
- *
- * @since 1.2
- */
- public int getPort()
- {
- if (!isConnected ())
- return -1;
-
- return remotePort;
- }
-
- /**
* Returns the SocketAddress of the host this socket is conneted to
- * or null if this socket is not connected
+ * or null if this socket is not connected.
*
* @since 1.4
*/
@@ -508,7 +679,7 @@ public class DatagramSocket
/**
* Returns the local SocketAddress this socket is bound to
- * or null if it is not bound
+ * or null if it is not bound.
*
* @since 1.4
*/
@@ -529,36 +700,12 @@ public class DatagramSocket
}
/**
- * This method returns the value of the system level socket option
- * SO_RCVBUF, which is used by the operating system to tune buffer
- * sizes for data transfers.
+ * Enables/Disables SO_REUSEADDR.
*
- * @return The receive buffer size.
+ * @param on Whether or not to have SO_REUSEADDR turned on.
*
* @exception SocketException If an error occurs.
*
- * @since 1.2
- */
- public int getReceiveBufferSize() throws SocketException
- {
- if (impl == null)
- throw new SocketException ("Cannot initialize Socket implementation");
-
- Object obj = impl.getOption(SocketOptions.SO_RCVBUF);
-
- if (obj instanceof Integer)
- return(((Integer)obj).intValue());
- else
- throw new SocketException("Unexpected type");
- }
-
- /**
- * Enables/Disables SO_REUSEADDR
- *
- * @param on Whether or not to have SO_REUSEADDR turned on
- *
- * @exception SocketException If an error occurs
- *
* @since 1.4
*/
public void setReuseAddress(boolean on) throws SocketException
@@ -570,9 +717,9 @@ public class DatagramSocket
}
/**
- * Checks if SO_REUSEADDR is enabled
+ * Checks if SO_REUSEADDR is enabled.
*
- * @exception SocketException If an error occurs
+ * @exception SocketException If an error occurs.
*
* @since 1.4
*/
@@ -673,73 +820,6 @@ public class DatagramSocket
}
/**
- * This method returns the value of the system level socket option
- * SO_SNDBUF, which is used by the operating system to tune buffer
- * sizes for data transfers.
- *
- * @return The send buffer size.
- *
- * @exception SocketException If an error occurs.
- *
- * @since 1.2
- */
- public int getSendBufferSize() throws SocketException
- {
- if (impl == null)
- throw new SocketException ("Cannot initialize Socket implementation");
-
- Object obj = impl.getOption(SocketOptions.SO_SNDBUF);
-
- if (obj instanceof Integer)
- return(((Integer)obj).intValue());
- else
- throw new SocketException("Unexpected type");
- }
-
- /**
- * This method sets the value for the system level socket option
- * SO_RCVBUF to the specified value. Note that valid values for this
- * option are specific to a given operating system.
- *
- * @param size The new receive buffer size.
- *
- * @exception SocketException If an error occurs.
- * @exception IllegalArgumentException If size is 0 or negative
- *
- * @since 1.2
- */
- public void setReceiveBufferSize(int size) throws SocketException
- {
- if (impl == null)
- throw new SocketException ("Cannot initialize Socket implementation");
-
- if (size < 0)
- throw new IllegalArgumentException("Buffer size is less than 0");
-
- impl.setOption(SocketOptions.SO_RCVBUF, new Integer(size));
- }
-
- /**
- * This method sets the value for the system level socket option
- * SO_SNDBUF to the specified value. Note that valid values for this
- * option are specific to a given operating system.
- *
- * @param size The new send buffer size.
- *
- * @exception SocketException If an error occurs.
- * @exception IllegalArgumentException If size is 0 or negative
- *
- * @since 1.2
- */
- public void setSendBufferSize(int size) throws SocketException
- {
- if (size < 0)
- throw new IllegalArgumentException("Buffer size is less than 0");
-
- impl.setOption(SocketOptions.SO_SNDBUF, new Integer(size));
- }
-
- /**
* Sets the datagram socket implementation factory for the application
*
* @param fac The factory to set
diff --git a/libjava/java/net/HttpURLConnection.java b/libjava/java/net/HttpURLConnection.java
index e914b190203..ebc0f8175f4 100644
--- a/libjava/java/net/HttpURLConnection.java
+++ b/libjava/java/net/HttpURLConnection.java
@@ -142,6 +142,11 @@ public abstract class HttpURLConnection extends URLConnection
* a conditional GET.
*/
public static final int HTTP_NOT_MODIFIED = 304;
+
+ /**
+ * The requested resource needs to be accessed through a proxy.
+ */
+ public static final int HTTP_USE_PROXY = 305;
/* HTTP Client Error Response Codes */
@@ -250,7 +255,7 @@ public abstract class HttpURLConnection extends URLConnection
* The server does not support the requested functionality.
* @since 1.3
*/
- static final int HTTP_NOT_IMPLEMENTED = 501;
+ public static final int HTTP_NOT_IMPLEMENTED = 501;
/**
* The proxy encountered a bad response from the server it was proxy-ing for
@@ -459,31 +464,36 @@ public abstract class HttpURLConnection extends URLConnection
connect();
gotResponseVals = true;
- // Response is the first header received from the connection.
- String respField = getHeaderField(0);
-
- if (respField == null || ! respField.startsWith("HTTP/"))
- {
- // Set to default values on failure.
- responseCode = -1;
- responseMessage = null;
- return;
- }
- int firstSpc, nextSpc;
- firstSpc = respField.indexOf(' ');
- nextSpc = respField.indexOf(' ', firstSpc + 1);
- responseMessage = respField.substring(nextSpc + 1);
- String codeStr = respField.substring(firstSpc + 1, nextSpc);
- try
+ // If responseCode not yet explicitly set by subclass
+ if (responseCode == -1)
{
- responseCode = Integer.parseInt(codeStr);
- }
- catch (NumberFormatException e)
- {
- // Set to default values on failure.
- responseCode = -1;
- responseMessage = null;
+ // Response is the first header received from the connection.
+ String respField = getHeaderField(0);
+
+ if (respField == null || ! respField.startsWith("HTTP/"))
+ {
+ // Set to default values on failure.
+ responseCode = -1;
+ responseMessage = null;
+ return;
+ }
+
+ int firstSpc, nextSpc;
+ firstSpc = respField.indexOf(' ');
+ nextSpc = respField.indexOf(' ', firstSpc + 1);
+ responseMessage = respField.substring(nextSpc + 1);
+ String codeStr = respField.substring(firstSpc + 1, nextSpc);
+ try
+ {
+ responseCode = Integer.parseInt(codeStr);
+ }
+ catch (NumberFormatException e)
+ {
+ // Set to default values on failure.
+ responseCode = -1;
+ responseMessage = null;
+ }
}
}
diff --git a/libjava/java/net/InetSocketAddress.java b/libjava/java/net/InetSocketAddress.java
index 1b740dcc507..3c54b51a0f0 100644
--- a/libjava/java/net/InetSocketAddress.java
+++ b/libjava/java/net/InetSocketAddress.java
@@ -47,6 +47,11 @@ package java.net;
public class InetSocketAddress extends SocketAddress
{
+ /**
+ * Compatible with JDK 1.4+
+ */
+ private static final long serialVersionUID = 5076001401234631237L;
+
String hostname;
InetAddress addr;
int port;
diff --git a/libjava/java/net/MulticastSocket.java b/libjava/java/net/MulticastSocket.java
index 2700ebee511..dca1a85678b 100644
--- a/libjava/java/net/MulticastSocket.java
+++ b/libjava/java/net/MulticastSocket.java
@@ -1,5 +1,6 @@
/* MulticastSocket.java -- Class for using multicast sockets
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -160,16 +161,18 @@ public class MulticastSocket extends DatagramSocket
return impl.getTimeToLive();
}
- /**
- * Sets the interface to use for sending multicast packets.
- *
- * @param inf The new interface to use
- *
- * @exception SocketException If an error occurs
- */
- public void setInterface(InetAddress inf) throws SocketException
+ /**
+ * Sets the interface to use for sending multicast packets.
+ *
+ * @param addr The new interface to use.
+ *
+ * @exception SocketException If an error occurs.
+ *
+ * @since 1.4
+ */
+ public void setInterface(InetAddress addr) throws SocketException
{
- impl.setOption(SocketOptions.IP_MULTICAST_IF, inf);
+ impl.setOption(SocketOptions.IP_MULTICAST_IF, addr);
}
/**
diff --git a/libjava/java/net/NetPermission.java b/libjava/java/net/NetPermission.java
index f5b625a0d6f..1807d457d6c 100644
--- a/libjava/java/net/NetPermission.java
+++ b/libjava/java/net/NetPermission.java
@@ -48,7 +48,6 @@ import java.security.BasicPermission;
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public final class NetPermission extends BasicPermission
- implements java.io.Serializable
{
static final long serialVersionUID = -8343910153355041693L;
@@ -65,7 +64,7 @@ public final class NetPermission extends BasicPermission
/**
* Initializes a new instance of <code>NetPermission</code> with the
- * specified name and value. Note that the value field is irrelevant and is
+ * specified name and perms. Note that the perms field is irrelevant and is
* ignored. This constructor should never need to be used.
*
* @param name The name of this permission
diff --git a/libjava/java/net/NetworkInterface.java b/libjava/java/net/NetworkInterface.java
index 60a7d764cbc..32c2cd53db0 100644
--- a/libjava/java/net/NetworkInterface.java
+++ b/libjava/java/net/NetworkInterface.java
@@ -200,8 +200,9 @@ public final class NetworkInterface
return false;
NetworkInterface tmp = (NetworkInterface) obj;
- return name.equals (tmp.name) &&
- inetAddresses.equals (tmp.inetAddresses);
+
+ return (name.equals (tmp.name)
+ && inetAddresses.equals (tmp.inetAddresses));
}
/**
diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java
index 62917b6a8a5..0285c128c77 100644
--- a/libjava/java/net/ServerSocket.java
+++ b/libjava/java/net/ServerSocket.java
@@ -77,6 +77,8 @@ public class ServerSocket
*/
private ServerSocketChannel ch;
+ private boolean closed = false;
+
/**
* Constructor that simply sets the implementation.
*
@@ -200,6 +202,9 @@ public class ServerSocket
*/
public void bind (SocketAddress endpoint, int backlog) throws IOException
{
+ if (closed)
+ throw new SocketException ("ServerSocket is closed");
+
if (impl == null)
throw new IOException ("Cannot initialize Socket implementation");
@@ -315,7 +320,13 @@ public class ServerSocket
*/
public void close () throws IOException
{
- impl.close();
+ if (impl != null)
+ impl.close ();
+
+ if (ch != null)
+ ch.close ();
+
+ closed = true;
}
/**
@@ -345,7 +356,7 @@ public class ServerSocket
}
catch (SocketException e)
{
- return false;
+ return false;
}
return true;
@@ -358,8 +369,7 @@ public class ServerSocket
*/
public boolean isClosed()
{
- // FIXME: implement this
- return false;
+ return closed;
}
/**
diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java
index 592f39a3dd3..005fd0461b2 100644
--- a/libjava/java/net/Socket.java
+++ b/libjava/java/net/Socket.java
@@ -85,6 +85,8 @@ public class Socket
SocketChannel ch; // this field must have been set if created by SocketChannel
+ private boolean closed = false;
+
// Constructors
/**
@@ -93,6 +95,7 @@ public class Socket
* might want this behavior.
*
* @specnote This constructor is public since JDK 1.4
+ * @since 1.1
*/
public Socket ()
{
@@ -120,6 +123,8 @@ public class Socket
* <code>Socket</code>
*
* @exception SocketException If an error occurs
+ *
+ * @since 1.1
*/
protected Socket (SocketImpl impl) throws SocketException
{
@@ -178,6 +183,8 @@ public class Socket
* exists and does not allow a connection to the specified host/port or
* binding to the specified local host/port.
* @exception IOException If a connection error occurs.
+ *
+ * @since 1.1
*/
public Socket (String host, int port,
InetAddress localAddr, int localPort) throws IOException
@@ -198,6 +205,8 @@ public class Socket
* @exception IOException If an error occurs
* @exception SecurityException If a security manager exists and its
* checkConnect method doesn't allow the operation
+ *
+ * @since 1.1
*/
public Socket (InetAddress address, int port,
InetAddress localAddr, int localPort) throws IOException
@@ -308,6 +317,9 @@ public class Socket
*/
public void bind (SocketAddress bindpoint) throws IOException
{
+ if (closed)
+ throw new SocketException ("Socket is closed");
+
if ( !(bindpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ();
@@ -330,6 +342,9 @@ public class Socket
public void connect (SocketAddress endpoint)
throws IOException
{
+ if (closed)
+ throw new SocketException ("Socket is closed");
+
if (! (endpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ("Address type not supported");
@@ -357,6 +372,9 @@ public class Socket
public void connect (SocketAddress endpoint, int timeout)
throws IOException
{
+ if (closed)
+ throw new SocketException ("Socket is closed");
+
if (! (endpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ("Address type not supported");
@@ -385,6 +403,8 @@ public class Socket
* is not connected, then <code>null</code> is returned.
*
* @return The local address
+ *
+ * @since 1.1
*/
public InetAddress getLocalAddress ()
{
@@ -510,6 +530,8 @@ public class Socket
* @param on true to enable, false to disable
*
* @exception SocketException If an error occurs or Socket is not connected
+ *
+ * @since 1.1
*/
public void setTcpNoDelay (boolean on) throws SocketException
{
@@ -528,6 +550,8 @@ public class Socket
* @return Whether or not TCP_NODELAY is set
*
* @exception SocketException If an error occurs or Socket not connected
+ *
+ * @since 1.1
*/
public boolean getTcpNoDelay() throws SocketException
{
@@ -556,6 +580,8 @@ public class Socket
*
* @exception SocketException If an error occurs or Socket not connected
* @exception IllegalArgumentException If linger is negative
+ *
+ * @since 1.1
*/
public void setSoLinger(boolean on, int linger) throws SocketException
{
@@ -591,6 +617,8 @@ public class Socket
* if SO_LINGER not set
*
* @exception SocketException If an error occurs or Socket is not connected
+ *
+ * @since 1.1
*/
public int getSoLinger() throws SocketException
{
@@ -670,6 +698,8 @@ public class Socket
* 0 if not set
*
* @exception SocketException If an error occurs or Socket not connected
+ *
+ * @since 1.1
*/
public synchronized void setSoTimeout (int timeout) throws SocketException
{
@@ -696,6 +726,8 @@ public class Socket
* if not set
*
* @exception SocketException If an error occurs or Socket not connected
+ *
+ * @since 1.1
*/
public synchronized int getSoTimeout () throws SocketException
{
@@ -811,7 +843,7 @@ public class Socket
*
* @exception SocketException If an error occurs or Socket is not connected
*
- * @since Java 1.3
+ * @since 1.3
*/
public void setKeepAlive (boolean on) throws SocketException
{
@@ -829,7 +861,7 @@ public class Socket
*
* @exception SocketException If an error occurs or Socket is not connected
*
- * @since Java 1.3
+ * @since 1.3
*/
public boolean getKeepAlive () throws SocketException
{
@@ -853,6 +885,11 @@ public class Socket
{
if (impl != null)
impl.close();
+
+ if (ch != null)
+ ch.close();
+
+ closed = true;
}
/**
@@ -902,6 +939,8 @@ public class Socket
* Closes the input side of the socket stream.
*
* @exception IOException If an error occurs.
+ *
+ * @since 1.3
*/
public void shutdownInput() throws IOException
{
@@ -915,6 +954,8 @@ public class Socket
* Closes the output side of the socket stream.
*
* @exception IOException If an error occurs.
+ *
+ * @since 1.3
*/
public void shutdownOutput() throws IOException
{
@@ -928,6 +969,8 @@ public class Socket
* Returns the socket channel associated with this socket.
*
* It returns null if no associated socket exists.
+ *
+ * @since 1.4
*/
public SocketChannel getChannel()
{
@@ -1016,6 +1059,8 @@ public class Socket
/**
* Checks if the socket is connected
+ *
+ * @since 1.4
*/
public boolean isConnected ()
{
@@ -1024,6 +1069,8 @@ public class Socket
/**
* Checks if the socket is already bound.
+ *
+ * @since 1.4
*/
public boolean isBound ()
{
@@ -1032,15 +1079,18 @@ public class Socket
/**
* Checks if the socket is closed.
+ *
+ * @since 1.4
*/
public boolean isClosed ()
{
- // FIXME: implement this.
- return false;
+ return closed;
}
/**
* Checks if the socket's input stream is shutdown
+ *
+ * @since 1.4
*/
public boolean isInputShutdown ()
{
@@ -1049,6 +1099,8 @@ public class Socket
/**
* Checks if the socket's output stream is shutdown
+ *
+ * @since 1.4
*/
public boolean isOutputShutdown ()
{
diff --git a/libjava/java/net/SocketAddress.java b/libjava/java/net/SocketAddress.java
index 370049d6fdc..f3e67d84cc0 100644
--- a/libjava/java/net/SocketAddress.java
+++ b/libjava/java/net/SocketAddress.java
@@ -48,6 +48,9 @@ import java.io.Serializable;
*/
public abstract class SocketAddress implements Serializable
{
+ /**
+ * Compatible with JDK 1.4+
+ */
static final long serialVersionUID = 5215720748342549866L;
/**
diff --git a/libjava/java/net/SocketImpl.java b/libjava/java/net/SocketImpl.java
index 795e7139bee..12dcb0b9a5c 100644
--- a/libjava/java/net/SocketImpl.java
+++ b/libjava/java/net/SocketImpl.java
@@ -74,7 +74,7 @@ public abstract class SocketImpl implements SocketOptions
/**
* The port number the socket is bound to locally
*/
- protected int localport;
+ protected int localport = -1;
/**
* The port number of the remote end of the socket connection
@@ -271,8 +271,9 @@ public abstract class SocketImpl implements SocketOptions
*/
public String toString()
{
- return "[addr=" + address.toString() + ",port=" + Integer.toString(port)
- + ",localport=" + Integer.toString(localport) + "]";
+ return "[addr=" + address
+ + ",port=" + port
+ + ",localport=" + localport + "]";
}
/**
diff --git a/libjava/java/net/SocketPermission.java b/libjava/java/net/SocketPermission.java
index 18fb7ef2f1f..6fa65f8793a 100644
--- a/libjava/java/net/SocketPermission.java
+++ b/libjava/java/net/SocketPermission.java
@@ -276,62 +276,62 @@ public final class SocketPermission extends Permission
// Get ours
if (hostport.indexOf(":") == -1)
{
- ourfirstport = 0;
- ourlastport = 65535;
+ ourfirstport = 0;
+ ourlastport = 65535;
}
else
{
- // FIXME: Needs bulletproofing.
- // This will dump if hostport if all sorts of bad data was passed to
- // the constructor
- String range = hostport.substring(hostport.indexOf(":") + 1);
- if (range.startsWith("-"))
- ourfirstport = 0;
- else if (range.indexOf("-") == -1)
- ourfirstport = Integer.parseInt(range);
- else
- ourfirstport =
- Integer.parseInt(range.substring(0, range.indexOf("-")));
-
- if (range.endsWith("-"))
- ourlastport = 65535;
- else if (range.indexOf("-") == -1)
- ourlastport = Integer.parseInt(range);
- else
- ourlastport =
- Integer.parseInt(range.
- substring(range.indexOf("-") + 1,
- range.length()));
+ // FIXME: Needs bulletproofing.
+ // This will dump if hostport if all sorts of bad data was passed to
+ // the constructor
+ String range = hostport.substring(hostport.indexOf(":") + 1);
+ if (range.startsWith("-"))
+ ourfirstport = 0;
+ else if (range.indexOf("-") == -1)
+ ourfirstport = Integer.parseInt(range);
+ else
+ ourfirstport =
+ Integer.parseInt(range.substring(0, range.indexOf("-")));
+
+ if (range.endsWith("-"))
+ ourlastport = 65535;
+ else if (range.indexOf("-") == -1)
+ ourlastport = Integer.parseInt(range);
+ else
+ ourlastport =
+ Integer.parseInt(range.
+ substring(range.indexOf("-") + 1,
+ range.length()));
}
// Get theirs
if (p.hostport.indexOf(":") == -1)
{
- theirfirstport = 0;
- ourlastport = 65535;
+ theirfirstport = 0;
+ ourlastport = 65535;
}
else
{
- // This will dump if hostport if all sorts of bad data was passed to
- // the constructor
- String range = p.hostport.substring(hostport.indexOf(":") + 1);
- if (range.startsWith("-"))
- theirfirstport = 0;
- else if (range.indexOf("-") == -1)
- theirfirstport = Integer.parseInt(range);
- else
- theirfirstport =
- Integer.parseInt(range.substring(0, range.indexOf("-")));
-
- if (range.endsWith("-"))
- theirlastport = 65535;
- else if (range.indexOf("-") == -1)
- theirlastport = Integer.parseInt(range);
- else
- theirlastport =
- Integer.parseInt(range.
- substring(range.indexOf("-") + 1,
- range.length()));
+ // This will dump if hostport if all sorts of bad data was passed to
+ // the constructor
+ String range = p.hostport.substring(hostport.indexOf(":") + 1);
+ if (range.startsWith("-"))
+ theirfirstport = 0;
+ else if (range.indexOf("-") == -1)
+ theirfirstport = Integer.parseInt(range);
+ else
+ theirfirstport =
+ Integer.parseInt(range.substring(0, range.indexOf("-")));
+
+ if (range.endsWith("-"))
+ theirlastport = 65535;
+ else if (range.indexOf("-") == -1)
+ theirlastport = Integer.parseInt(range);
+ else
+ theirlastport =
+ Integer.parseInt(range.
+ substring(range.indexOf("-") + 1,
+ range.length()));
}
// Now check them
@@ -361,17 +361,17 @@ public final class SocketPermission extends Permission
String ourcanonical = null, theircanonical = null;
try
{
- ourcanonical = InetAddress.getByName(ourhost).getHostName();
- theircanonical = InetAddress.getByName(theirhost).getHostName();
+ ourcanonical = InetAddress.getByName(ourhost).getHostName();
+ theircanonical = InetAddress.getByName(theirhost).getHostName();
}
catch (UnknownHostException e)
{
- // Who didn't resolve? Just assume current address is canonical enough
- // Is this ok to do?
- if (ourcanonical == null)
- ourcanonical = ourhost;
- if (theircanonical == null)
- theircanonical = theirhost;
+ // Who didn't resolve? Just assume current address is canonical enough
+ // Is this ok to do?
+ if (ourcanonical == null)
+ ourcanonical = ourhost;
+ if (theircanonical == null)
+ theircanonical = theirhost;
}
if (ourcanonical.equals(theircanonical))
@@ -380,9 +380,9 @@ public final class SocketPermission extends Permission
// Well, last chance. Try for a wildcard
if (ourhost.indexOf("*.") != -1)
{
- String wild_domain = ourhost.substring(ourhost.indexOf("*" + 1));
- if (theircanonical.endsWith(wild_domain))
- return (true);
+ String wild_domain = ourhost.substring(ourhost.indexOf("*" + 1));
+ if (theircanonical.endsWith(wild_domain))
+ return (true);
}
// Didn't make it
diff --git a/libjava/java/net/URLClassLoader.java b/libjava/java/net/URLClassLoader.java
index c6dc4b1d44d..d7fc77f8ab4 100644
--- a/libjava/java/net/URLClassLoader.java
+++ b/libjava/java/net/URLClassLoader.java
@@ -238,7 +238,7 @@ public class URLClassLoader extends SecureClassLoader
CodeSource getCodeSource()
{
Certificate[] certs = getCertificates();
- if (certs != null)
+ if (certs == null)
return loader.noCertCodeSource;
else
return new CodeSource(loader.baseURL, certs);
@@ -271,34 +271,18 @@ public class URLClassLoader extends SecureClassLoader
abstract InputStream getInputStream() throws IOException;
}
- static URL getCanonicalFileURL(URL url)
- {
- if ("file".equals(url.getProtocol()))
- {
- try
- {
- File f = new File(url.getFile()).getCanonicalFile();
- url = new URL("file", "", f.toString());
- }
- catch (IOException ignore)
- {
- }
- }
- return url;
- }
-
/**
* A <code>JarURLLoader</code> is a type of <code>URLLoader</code>
* only loading from jar url.
*/
final static class JarURLLoader extends URLLoader
{
- final JarFile jarfile; // The canonical jar file for this url
+ final JarFile jarfile; // The jar file for this url
final URL baseJarURL; // Base jar: url for all resources loaded from jar
public JarURLLoader(URLClassLoader classloader, URL baseURL)
{
- super(classloader, getCanonicalFileURL(baseURL));
+ super(classloader, baseURL);
// cache url prefix for all resources in this jar url
String external = baseURL.toExternalForm();
@@ -481,11 +465,11 @@ public class URLClassLoader extends SecureClassLoader
*/
final static class FileURLLoader extends URLLoader
{
- File dir; //the canonical file for this file url
+ File dir; //the file for this file url
FileURLLoader(URLClassLoader classloader, URL url)
{
- super(classloader, getCanonicalFileURL(url));
+ super(classloader, url);
dir = new File(baseURL.getFile());
}
@@ -493,13 +477,6 @@ public class URLClassLoader extends SecureClassLoader
Resource getResource(String name)
{
File file = new File(dir, name);
- try
- {
- file = file.getCanonicalFile();
- }
- catch (IOException ignore)
- {
- }
if (file.exists() && !file.isDirectory())
return new FileResource(this, name, file);
return null;
diff --git a/libjava/java/net/URLDecoder.java b/libjava/java/net/URLDecoder.java
index 36747409983..0a9067160b2 100644
--- a/libjava/java/net/URLDecoder.java
+++ b/libjava/java/net/URLDecoder.java
@@ -82,12 +82,12 @@ public class URLDecoder
{
try
{
- return decode(s, "UTF-8");
+ return decode(s, "UTF-8");
}
catch (UnsupportedEncodingException uee)
{
- // Should never happen since UTF-8 encoding should always be supported
- return s;
+ // Should never happen since UTF-8 encoding should always be supported
+ return s;
}
}
diff --git a/libjava/java/net/URLStreamHandler.java b/libjava/java/net/URLStreamHandler.java
index 128a0d2d3da..d3dd3ccf0f7 100644
--- a/libjava/java/net/URLStreamHandler.java
+++ b/libjava/java/net/URLStreamHandler.java
@@ -1,5 +1,5 @@
/* URLStreamHandler.java -- Abstract superclass for all protocol handlers
- Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -39,6 +39,7 @@ exception statement from your version. */
package java.net;
import java.io.IOException;
+import java.io.File;
/*
* Written using on-line Java Platform 1.2 API Specification, as well
@@ -112,7 +113,7 @@ public abstract class URLStreamHandler
* subclasses that implement protocols with URL's the follow a different
* syntax should override this method. The lone exception is that if
* the protocol name set in the URL is "file", this method will accept
- * a an empty hostname (i.e., "file:///"), which is legal for that protocol
+ * an empty hostname (i.e., "file:///"), which is legal for that protocol
*
* @param url The URL object in which to store the results
* @param spec The String-ized URL to parse
@@ -176,8 +177,32 @@ public abstract class URLStreamHandler
else if (start < end)
{
// Context is available, but only override it if there is a new file.
- file = file.substring(0, file.lastIndexOf('/'))
- + '/' + spec.substring(start, end);
+ char sepChar = '/';
+ int lastSlash = file.lastIndexOf (sepChar);
+ if (lastSlash < 0 && File.separatorChar != sepChar
+ && url.getProtocol ().equals ("file"))
+ {
+ // On Windows, even '\' is allowed in a "file" URL.
+ sepChar = File.separatorChar;
+ lastSlash = file.lastIndexOf (sepChar);
+ }
+
+ file = file.substring(0, lastSlash)
+ + sepChar + spec.substring (start, end);
+
+ if (url.getProtocol ().equals ("file"))
+ {
+ // For "file" URLs constructed relative to a context, we
+ // need to canonicalise the file path.
+ try
+ {
+ file = new File (file).getCanonicalPath ();
+ }
+ catch (IOException e)
+ {
+ }
+ }
+
ref = null;
}
@@ -436,7 +461,7 @@ public abstract class URLStreamHandler
// ignores a non-default port if host is null or "". That is inconsistent
// with the spec since the result of this method is spec'ed so it can be
// used to construct a new URL that is equivalent to the original.
- boolean port_needed = port >= 0 && port != getDefaultPort();
+ boolean port_needed = port > 0 && port != getDefaultPort();
if (port_needed)
sb.append(':').append(port);
diff --git a/libjava/java/nio/Buffer.java b/libjava/java/nio/Buffer.java
index 9474fb453f0..7d291bedbc1 100644
--- a/libjava/java/nio/Buffer.java
+++ b/libjava/java/nio/Buffer.java
@@ -39,11 +39,33 @@ package java.nio;
public abstract class Buffer
{
- int cap = 0;
- int limit = 0;
- int pos = 0;
- int mark = -1;
-
+ private int cap = 0;
+ private int limit = 0;
+ private int pos = 0;
+ private int mark = -1;
+
+ // Creates a new Buffer.
+ //
+ // Should be package private.
+ //
+ Buffer (int capacity, int limit, int position, int mark)
+ {
+ if (capacity < 0)
+ throw new IllegalArgumentException ();
+
+ cap = capacity;
+ limit (limit);
+ position (position);
+
+ if (mark > 0)
+ {
+ if (mark > pos)
+ throw new IllegalArgumentException ();
+
+ this.mark = mark;
+ }
+ }
+
/**
* Retrieves the capacity of the buffer.
*/
diff --git a/libjava/java/nio/ByteBuffer.java b/libjava/java/nio/ByteBuffer.java
index 874943a8757..8b7c6013019 100644
--- a/libjava/java/nio/ByteBuffer.java
+++ b/libjava/java/nio/ByteBuffer.java
@@ -37,43 +37,574 @@ exception statement from your version. */
package java.nio;
-public abstract class ByteBuffer extends Buffer
+import gnu.java.nio.ByteBufferImpl;
+
+/**
+ * @since 1.4
+ */
+public abstract class ByteBuffer extends Buffer implements Comparable
{
+ private ByteOrder endian = ByteOrder.BIG_ENDIAN;
+
+ int offset;
+ byte[] backing_buffer;
+
+ /**
+ * Allocates a new direct byte buffer.
+ */
+ public static ByteBuffer allocateDirect (int capacity)
+ {
+ throw new Error ("direct buffers are not implemented");
+ }
+
+ /**
+ * Allocates a new byte buffer.
+ */
public static ByteBuffer allocate (int capacity)
{
- return null;
+ return new ByteBufferImpl (capacity, 0, capacity);
}
+ /**
+ * Wraps a byte array into a buffer.
+ *
+ * @exception IndexOutOfBoundsException If the preconditions on the offset
+ * and length parameters do not hold
+ */
final public static ByteBuffer wrap (byte[] array, int offset, int length)
{
- return null;
+ return new ByteBufferImpl (array, offset, length);
}
+ /**
+ * Wraps a byte array into a buffer.
+ */
final public static ByteBuffer wrap (byte[] array)
{
return wrap (array, 0, array.length);
}
-
- final public ByteBuffer put (ByteBuffer src)
+
+ ByteBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ }
+
+ /**
+ * This method transfers bytes from this buffer into
+ * the given destination array.
+ *
+ * @param dst The destination array
+ * @param offset The offset within the array of the first byte to be written;
+ * must be non-negative and no larger than dst.length.
+ * @param length The maximum number of bytes to be written to the given array;
+ * must be non-negative and no larger than dst.length - offset.
+ *
+ * @exception BufferUnderflowException If there are fewer than length bytes
+ * remaining in this buffer.
+ * @exception IndexOutOfBoundsException - If the preconditions on the offset
+ * and length parameters do not hold.
+ */
+ public ByteBuffer get (byte[] dst, int offset, int length)
+ {
+ if ((offset < 0)
+ || (offset > dst.length)
+ || (length < 0)
+ || (length > (dst.length - offset)))
+ throw new IndexOutOfBoundsException ();
+
+ for (int i = offset; i < offset + length; i++)
+ {
+ dst [i] = get();
+ }
+
+ return this;
+ }
+
+ /**
+ * This method transfers bytes from this buffer into the given
+ * destination array.
+ *
+ * @param dst The byte array to write into.
+ *
+ * @exception BufferUnderflowException If there are fewer than dst.length
+ * bytes remaining in this buffer.
+ */
+ public ByteBuffer get (byte[] dst)
{
+ return get (dst, 0, dst.length);
+ }
+
+ /**
+ * Writes the content of src into the buffer.
+ *
+ * @param src The source data.
+ *
+ * @exception BufferOverflowException If there is insufficient space in this
+ * buffer for the remaining bytes in the source buffer.
+ * @exception IllegalArgumentException If the source buffer is this buffer.
+ * @exception ReadOnlyBufferException If this buffer is read only.
+ */
+ public ByteBuffer put (ByteBuffer src)
+ {
+ if (src == this)
+ throw new IllegalArgumentException ();
+
while (src.hasRemaining ())
put (src.get ());
return this;
}
-
- final public ByteBuffer put (byte[] src, int offset, int length)
+
+ /**
+ * Writes the content of the the array src into the buffer.
+ *
+ * @param src The array to copy into the buffer.
+ * @param offset The offset within the array of the first byte to be read;
+ * must be non-negative and no larger than src.length.
+ * @param length The number of bytes to be read from the given array;
+ * must be non-negative and no larger than src.length - offset.
+ *
+ * @exception BufferOverflowException If there is insufficient space in this
+ * buffer for the remaining bytes in the source buffer.
+ * @exception IndexOutOfBoundsException If the preconditions on the offset
+ * and length parameters do not hold.
+ * @exception ReadOnlyBufferException If this buffer is read only.
+ */
+ public ByteBuffer put (byte[] src, int offset, int length)
{
+ if ((offset < 0) ||
+ (offset > src.length) ||
+ (length < 0) ||
+ (length > src.length - offset))
+ throw new IndexOutOfBoundsException ();
+
for (int i = offset; i < offset + length; i++)
put (src [i]);
+
return this;
}
+
+ /**
+ * Writes the content of the the array src into the buffer.
+ *
+ * @param src The array to copy into the buffer.
+ *
+ * @exception BufferOverflowException If there is insufficient space in this
+ * buffer for the remaining bytes in the source buffer.
+ * @exception ReadOnlyBufferException If this buffer is read only.
+ */
public final ByteBuffer put (byte[] src)
{
return put (src, 0, src.length);
}
+ /**
+ * Tells whether or not this buffer is backed by an accessible byte array.
+ */
+ public final boolean hasArray ()
+ {
+ return (backing_buffer != null
+ && !isReadOnly ());
+ }
+
+ /**
+ * Returns the byte array that backs this buffer.
+ *
+ * @exception ReadOnlyBufferException If this buffer is backed by an array
+ * but is read-only.
+ * @exception UnsupportedOperationException If this buffer is not backed
+ * by an accessible array.
+ */
+ public final byte[] array ()
+ {
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return backing_buffer;
+ }
+
+ /**
+ * Returns the offset within this buffer's backing array of the first element
+ * of the buffer
+ *
+ * @exception ReadOnlyBufferException If this buffer is backed by an array
+ * but is read-only.
+ * @exception UnsupportedOperationException If this buffer is not backed
+ * by an accessible array.
+ */
+ public final int arrayOffset ()
+ {
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return offset;
+ }
+
+ /**
+ * Tells whether or not this buffer is equal to another object.
+ */
+ public boolean equals (Object obj)
+ {
+ if (obj != null &&
+ obj instanceof ByteBuffer)
+ {
+ return compareTo (obj) == 0;
+ }
+
+ return false;
+ }
+
+ /**
+ * Compares this buffer to another object.
+ *
+ * @exception ClassCastException If the argument is not a byte buffer
+ */
+ public int compareTo (Object obj)
+ {
+ ByteBuffer a = (ByteBuffer) obj;
+
+ if (a.remaining() != remaining())
+ {
+ return 1;
+ }
+
+ if (! hasArray() ||
+ ! a.hasArray())
+ {
+ return 1;
+ }
+
+ int r = remaining();
+ int i1 = position ();
+ int i2 = a.position ();
+
+ for (int i = 0; i < r; i++)
+ {
+ int t = (int) (get (i1) - a.get (i2));
+
+ if (t != 0)
+ {
+ return (int) t;
+ }
+ }
+
+ return 0;
+ }
+
+ /**
+ * Retrieves this buffer's byte order.
+ */
+ public final ByteOrder order()
+ {
+ return endian;
+ }
+
+ /**
+ * Modifies this buffer's byte order.
+ */
+ public final ByteBuffer order (ByteOrder endian)
+ {
+ this.endian = endian;
+ return this;
+ }
+
+ /**
+ * Reads the byte at this buffer's current position,
+ * and then increments the position.
+ *
+ * @exception BufferUnderflowException If the buffer's current position
+ * is not smaller than its limit.
+ */
public abstract byte get ();
+ /**
+ * Relative put method.
+ *
+ * @exception BufferOverflowException If this buffer's current position is
+ * not smaller than its limit.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
+ */
public abstract ByteBuffer put (byte b);
+
+ /**
+ * Absolute get method.
+ *
+ * @exception IndexOutOfBoundsException FIXME
+ */
+ public abstract byte get (int index);
+
+ /**
+ * Absolute put method.
+ *
+ * @exception ReadOnlyBufferException If this buffer is read-only
+ * @exception IndexOutOfBoundsException FIXME
+ */
+ public abstract ByteBuffer put (int index, byte b);
+
+ /**
+ * Compacts this buffer.
+ *
+ * @exception ReadOnlyBufferException If this buffer is read-only
+ */
+ public abstract ByteBuffer compact();
+
+ /**
+ * Tells whether or not this buffer is direct.
+ */
+ public abstract boolean isDirect();
+
+ /**
+ * Creates a new byte buffer whose content is a shared subsequence of this
+ * buffer's content.
+ */
+ public abstract ByteBuffer slice();
+
+ /**
+ * Creates a new byte buffer that shares this buffer's content.
+ */
+ public abstract ByteBuffer duplicate();
+
+ /**
+ * Creates a new, read-only byte buffer that shares this buffer's content.
+ */
+ public abstract ByteBuffer asReadOnlyBuffer();
+
+ /**
+ * Creates a view of this byte buffer as a short buffer.
+ */
+ public abstract ShortBuffer asShortBuffer();
+
+ /**
+ * Creates a view of this byte buffer as a char buffer.
+ */
+ public abstract CharBuffer asCharBuffer();
+
+ /**
+ * Creates a view of this byte buffer as an integer buffer.
+ */
+ public abstract IntBuffer asIntBuffer();
+
+ /**
+ * Creates a view of this byte buffer as a long buffer.
+ */
+ public abstract LongBuffer asLongBuffer();
+
+ /**
+ * Creates a view of this byte buffer as a float buffer.
+ */
+ public abstract FloatBuffer asFloatBuffer();
+
+ /**
+ * Creates a view of this byte buffer as a double buffer.
+ */
+ public abstract DoubleBuffer asDoubleBuffer();
+
+ /**
+ * Relative get method for reading a character value.
+ *
+ * @exception BufferUnderflowException If there are fewer than two bytes
+ * remaining in this buffer.
+ */
+ public abstract char getChar();
+
+ /**
+ * Relative put method for writing a character value.
+ *
+ * @exception BufferOverflowException If this buffer's current position is
+ * not smaller than its limit.
+ */
+ public abstract ByteBuffer putChar(char value);
+
+ /**
+ * Absolute get method for reading a character value.
+ *
+ * @exception IndexOutOfBoundsException If there are fewer than two bytes
+ * remaining in this buffer
+ */
+ public abstract char getChar(int index);
+
+ /**
+ * Absolute put method for writing a character value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus one.
+ */
+ public abstract ByteBuffer putChar(int index, char value);
+
+ /**
+ * Relative get method for reading a short value.
+ *
+ * @exception BufferUnderflowException If index is negative or not smaller
+ * than the buffer's limit, minus one.
+ */
+ public abstract short getShort();
+
+ /**
+ * Relative put method for writing a short value.
+ *
+ * @exception BufferOverflowException If this buffer's current position is
+ * not smaller than its limit.
+ */
+ public abstract ByteBuffer putShort(short value);
+
+ /**
+ * Absolute get method for reading a short value.
+ *
+ * @exception IndexOutOfBoundsException If there are fewer than two bytes
+ * remaining in this buffer
+ */
+ public abstract short getShort(int index);
+
+ /**
+ * Absolute put method for writing a short value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus one.
+ */
+ public abstract ByteBuffer putShort(int index, short value);
+
+ /**
+ * Relative get method for reading an integer value.
+ *
+ * @exception BufferUnderflowException If there are fewer than four bytes
+ * remaining in this buffer.
+ */
+ public abstract int getInt();
+
+ /**
+ * Relative put method for writing an integer value.
+ *
+ * @exception BufferOverflowException If this buffer's current position is
+ * not smaller than its limit.
+ */
+ public abstract ByteBuffer putInt(int value);
+
+ /**
+ * Absolute get method for reading an integer value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus three.
+ */
+ public abstract int getInt(int index);
+
+ /**
+ * Absolute put method for writing an integer value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus three.
+ */
+ public abstract ByteBuffer putInt(int index, int value);
+
+ /**
+ * Relative get method for reading a long value.
+ *
+ * @exception BufferUnderflowException If there are fewer than eight bytes
+ * remaining in this buffer.
+ */
+ public abstract long getLong();
+
+ /**
+ * Relative put method for writing a long value.
+ *
+ * @exception BufferOverflowException If this buffer's current position is
+ * not smaller than its limit.
+ */
+ public abstract ByteBuffer putLong(long value);
+
+ /**
+ * Absolute get method for reading a long value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus seven.
+ */
+ public abstract long getLong(int index);
+
+ /**
+ * Absolute put method for writing a float value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus seven.
+ */
+ public abstract ByteBuffer putLong(int index, long value);
+
+ /**
+ * Relative get method for reading a float value.
+ *
+ * @exception BufferUnderflowException If there are fewer than four bytes
+ * remaining in this buffer.
+ */
+ public abstract float getFloat();
+
+ /**
+ * Relative put method for writing a float value.
+ *
+ * @exception BufferOverflowException If there are fewer than four bytes
+ * remaining in this buffer.
+ */
+ public abstract ByteBuffer putFloat(float value);
+
+ /**
+ * Absolute get method for reading a float value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus three.
+ */
+ public abstract float getFloat(int index);
+
+ /**
+ * Relative put method for writing a float value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus three.
+ */
+ public abstract ByteBuffer putFloat(int index, float value);
+
+ /**
+ * Relative get method for reading a double value.
+ *
+ * @exception BufferUnderflowException If there are fewer than eight bytes
+ * remaining in this buffer.
+ */
+ public abstract double getDouble();
+
+ /**
+ * Relative put method for writing a double value.
+ *
+ * @exception BufferOverflowException If this buffer's current position is
+ * not smaller than its limit.
+ */
+ public abstract ByteBuffer putDouble(double value);
+
+ /**
+ * Absolute get method for reading a double value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus seven.
+ */
+ public abstract double getDouble(int index);
+
+ /**
+ * Absolute put method for writing a double value.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit, minus seven.
+ */
+ public abstract ByteBuffer putDouble(int index, double value);
+
+ /**
+ * Returns a string summarizing the state of this buffer.
+ */
+ public String toString ()
+ {
+ return getClass ().getName () +
+ "[pos=" + position () +
+ " lim=" + limit () +
+ " cap=" + capacity () + "]";
+ }
}
diff --git a/libjava/java/nio/CharBuffer.java b/libjava/java/nio/CharBuffer.java
index 2a21ef93ff5..e2996023047 100644
--- a/libjava/java/nio/CharBuffer.java
+++ b/libjava/java/nio/CharBuffer.java
@@ -37,144 +37,226 @@ exception statement from your version. */
package java.nio;
+import gnu.java.nio.CharBufferImpl;
+
+/**
+ * @since 1.4
+ */
public abstract class CharBuffer extends Buffer
+ implements Comparable, CharSequence
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
-
protected char [] backing_buffer;
+ /**
+ * Allocates a new <code>CharBuffer</code> object with a given capacity.
+ */
public static CharBuffer allocate (int capacity)
{
- return null;
+ return new CharBufferImpl (capacity, 0, capacity);
}
/**
+ * Wraps a character array into a <code>CharBuffer</code> object.
+ *
* @exception IndexOutOfBoundsException If the preconditions on the offset
* and length parameters do not hold
*/
final public static CharBuffer wrap (char[] array, int offset, int length)
{
- if ((offset < 0) ||
- (offset > array.length) ||
- (length < 0) ||
- (length > (array.length - offset)))
- throw new IndexOutOfBoundsException ();
-
- return null;
+ return new CharBufferImpl (array, offset, length);
}
+ /**
+ * Wraps a character sequence into a <code>CharBuffer</code> object.
+ */
final public static CharBuffer wrap (CharSequence a)
{
return wrap (a, 0, a.length ());
}
/**
+ * Wraps a character sequence into a <code>CharBuffer</code> object.
+ *
* @exception IndexOutOfBoundsException If the preconditions on the offset
* and length parameters do not hold
*/
final public static CharBuffer wrap (CharSequence a, int offset, int length)
{
- char [] buffer = new char [length];
+ if ((offset < 0)
+ || (offset > a.length ())
+ || (length < 0)
+ || (length > (a.length () - offset)))
+ throw new IndexOutOfBoundsException ();
+
+ char [] buffer = new char [a.length ()];
for (int i = offset; i < length; i++)
{
buffer [i] = a.charAt (i);
}
- return wrap (buffer, 0, length);
+ return wrap (buffer, offset, length);
}
+ /**
+ * Wraps a character array into a <code>CharBuffer</code> object.
+ */
final public static CharBuffer wrap (char[] array)
{
- return wrap (array, 0, array.length);
+ return wrap (array, 0, array.length);
+ }
+
+ CharBuffer (int cap, int lim, int pos, int mark)
+ {
+ super (cap, lim, pos, mark);
}
/**
- * @exception BufferUnderflowException FIXME
+ * Relative get method.
+ *
+ * @exception BufferUnderflowException If the buffer's current position is
+ * not smaller than its limit.
* @exception IndexOutOfBoundsException If the preconditions on the offset
* and length parameters do not hold
*/
- final public CharBuffer get (char[] dst, int offset, int length)
+ public CharBuffer get (char[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
dst [i] = get ();
}
+
return this;
}
/**
- * @exception BufferUnderflowException FIXME
+ * Relative get method.
+ *
+ * @exception BufferUnderflowException If there are fewer than length
+ * characters remaining in this buffer.
*/
- final public CharBuffer get (char[] dst)
+ public CharBuffer get (char[] dst)
{
return get (dst, 0, dst.length);
}
/**
- * @exception BufferOverflowException FIXME
- * @exception IllegalArgumentException FIXME
- * @exception ReadOnlyBufferException FIXME
+ * @exception BufferOverflowException If there are fewer than length of
+ * source buffer characters remaining in this buffer.
+ * @exception IllegalArgumentException If the source buffer is this buffer.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
- final public CharBuffer put (CharBuffer src)
+ public CharBuffer put (CharBuffer src)
{
- while (src.hasRemaining ())
- put (src.get ());
+ if (src == this)
+ throw new IllegalArgumentException ();
+
+ if (src.length () > 0)
+ {
+ char [] toPut = new char [src.length ()];
+ src.get (toPut);
+ src.put (toPut);
+ }
return this;
}
/**
- * @exception BufferOverflowException FIXME
+ * @exception BufferOverflowException If there are fewer then length
+ * characters remaining in this buffer.
* @exception IndexOutOfBoundsException If the preconditions on the offset
* and length parameters do not hold
- * @exception ReadOnlyBufferException FIXME
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
- final public CharBuffer put (char[] src, int offset, int length)
+ public CharBuffer put (char[] src, int offset, int length)
{
+ if (offset < 0
+ || offset >= src.length
+ || length < 0
+ || length >= (src.length - offset))
+ throw new IndexOutOfBoundsException ();
+
+ // Put nothing into this buffer when not enough space left.
+ if (length > remaining ())
+ throw new BufferOverflowException ();
+
for (int i = offset; i < offset + length; i++)
- put (src [i]);
+ {
+ put (src [i]);
+ }
return this;
}
/**
- * @exception BufferOverflowException FIXME
- * @exception ReadOnlyBufferException FIXME
+ * Relative put method.
+ *
+ * @exception BufferOverflowException If there are fewer then length of the
+ * array characters remaining in this buffer.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
public final CharBuffer put (char[] src)
{
return put (src, 0, src.length);
}
+ /**
+ * Tells wether this is buffer is backed by an array or not.
+ */
public final boolean hasArray ()
{
- return backing_buffer != null;
+ return (backing_buffer != null
+ && ! isReadOnly ());
}
/**
- * @exception ReadOnlyBufferException FIXME
- * @exception UnsupportedOperationException FIXME
+ * Returns the array that backs this buffer.
+ *
+ * @exception ReadOnlyBufferException If this buffer is read-only.
+ * @exception UnsupportedOperationException If this buffer is not backed
+ * by an accessible array.
*/
public final char[] array ()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return backing_buffer;
}
/**
- * @exception ReadOnlyBufferException FIXME
- * @exception UnsupportedOperationException FIXME
+ * Returns the offset to the position of a character in this buffer.
+ *
+ * @exception ReadOnlyBufferException If this buffer is read-only.
+ * @exception UnsupportedOperationException If this buffer is not backed
+ * by an accessible array.
*/
public final int arrayOffset ()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return 0;
}
+ /**
+ * Calculates a hash code for this buffer-
+ */
public int hashCode ()
{
+ // FIXME: Check what SUN calculates here.
return super.hashCode ();
}
+ /**
+ * Checks if this buffer is equal to obj.
+ */
public boolean equals (Object obj)
{
if (obj instanceof CharBuffer)
@@ -184,7 +266,10 @@ public abstract class CharBuffer extends Buffer
}
/**
- * @exception ClassCastException FIXME
+ * Compares two character buffer objects.
+ *
+ * @exception ClassCastException If obj is not an object derived from
+ * <code>CharBuffer</code>.
*/
public int compareTo(Object obj)
{
@@ -197,8 +282,8 @@ public abstract class CharBuffer extends Buffer
return 1;
int r = remaining ();
- int i1 = pos;
- int i2 = a.pos;
+ int i1 = position ();
+ int i2 = a.position ();
for (int i = 0; i < r; i++)
{
@@ -207,85 +292,134 @@ public abstract class CharBuffer extends Buffer
if (t != 0)
return (int) t;
}
+
return 0;
}
/**
- * @exception BufferUnderflowException FIXME
+ * Relative get method.
+ *
+ * @exception BufferUnderflowException If there are no remaining characters
+ * in this buffer.
*/
public abstract char get ();
/**
- * @exception BufferOverflowException FIXME
- * @exception ReadOnlyBufferException FIXME
+ * Relative put method.
+ *
+ * @exception BufferOverflowException If there no remaining characters in
+ * this buffer.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
public abstract CharBuffer put (char b);
/**
- * @exception IndexOutOfBoundsException FIXME
+ * Absolute get method.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit.
*/
public abstract char get (int index);
/**
- * @exception IndexOutOfBoundsException FIXME
- * @exception ReadOnlyBufferException FIXME
+ * Absolute put method.
+ *
+ * @exception IndexOutOfBoundsException If index is negative or not smaller
+ * than the buffer's limit.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
public abstract CharBuffer put (int index, char b);
/**
- * @exception ReadOnlyBufferException FIXME
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
public abstract CharBuffer compact ();
+ /**
+ * Tells wether this buffer is direct or not.
+ */
public abstract boolean isDirect ();
public abstract CharBuffer slice ();
+ /**
+ * Duplicates this buffer.
+ */
public abstract CharBuffer duplicate ();
+ /**
+ * Returns this buffer made read-only.
+ */
public abstract CharBuffer asReadOnlyBuffer ();
+ /**
+ * Returns the remaining content of the buffer as a string.
+ */
public String toString ()
{
- return "";
+ return new String (array (), position (), length ());
}
+ /**
+ * Returns the length of the remaining chars in this buffer.
+ */
public final int length ()
{
- return 0;
+ return remaining ();
}
+ /**
+ * Returns the byte order of this buffer.
+ */
public abstract ByteOrder order ();
/**
- * @exception IndexOutOfBoundsException FIXME
+ * Creates a new character buffer that represents the specified subsequence
+ * of this buffer, relative to the current position.
+ *
+ * @exception IndexOutOfBoundsException If the preconditions on start and
+ * end do not hold.
*/
public abstract CharSequence subSequence (int start, int length);
/**
- * @exception BufferOverflowException FIXME
- * @exception IndexOutOfBoundsException FIXME
- * @exception ReadOnlyBufferException FIXME
+ * Relative put method.
+ *
+ * @exception BufferOverflowException If there is insufficient space in this
+ * buffer.
+ * @exception IndexOutOfBoundsException If the preconditions on the start
+ * and end parameters do not hold.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
public CharBuffer put (String str, int start, int length)
{
- return null;
+ return put (str.toCharArray (), start, length);
}
/**
- * @exception BufferOverflowException FIXME
- * @exception ReadOnlyBufferException FIXME
+ * Relative put method.
+ *
+ * @exception BufferOverflowException If there is insufficient space in this
+ * buffer.
+ * @exception ReadOnlyBufferException If this buffer is read-only.
*/
public final CharBuffer put (String str)
{
- return null;
+ return put (str, 0, str.length ());
}
/**
- * @exception IndexOutOfBoundsException FIXME
+ * Returns the character at <code>position() + index</code>.
+ *
+ * @exception IndexOutOfBoundsException If index is negative not smaller than
+ * <code>remaining()</code>.
*/
public final char charAt (int index)
{
- return ' ';
+ if (index < 0
+ || index >= remaining ())
+ throw new IndexOutOfBoundsException ();
+
+ return get (position () + index);
}
}
diff --git a/libjava/java/nio/DoubleBuffer.java b/libjava/java/nio/DoubleBuffer.java
index 7059b6e2430..27f3a16d34e 100644
--- a/libjava/java/nio/DoubleBuffer.java
+++ b/libjava/java/nio/DoubleBuffer.java
@@ -39,14 +39,14 @@ package java.nio;
import gnu.java.nio.DoubleBufferImpl;
-public abstract class DoubleBuffer extends Buffer
+public abstract class DoubleBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected double [] backing_buffer;
+ protected int array_offset;
public static DoubleBuffer allocateDirect(int capacity)
{
- return new DoubleBufferImpl(capacity, 0, capacity);
+ throw new Error ("direct buffers are not implemented");
}
public static DoubleBuffer allocate(int capacity)
@@ -77,7 +77,12 @@ public abstract class DoubleBuffer extends Buffer
return wrap(array, 0, array.length);
}
- final public DoubleBuffer get (double[] dst, int offset, int length)
+ DoubleBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ }
+
+ public DoubleBuffer get (double[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +92,12 @@ public abstract class DoubleBuffer extends Buffer
return this;
}
- final public DoubleBuffer get(double[] dst)
+ public DoubleBuffer get (double[] dst)
{
return get(dst, 0, dst.length);
}
- final public DoubleBuffer put(DoubleBuffer src)
+ public DoubleBuffer put (DoubleBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +105,7 @@ public abstract class DoubleBuffer extends Buffer
return this;
}
- final public DoubleBuffer put (double[] src, int offset, int length)
+ public DoubleBuffer put (double[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -115,17 +120,30 @@ public abstract class DoubleBuffer extends Buffer
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final double[] array()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return backing_buffer;
}
public final int arrayOffset()
{
- return 0;
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return array_offset;
}
public int hashCode()
@@ -172,17 +190,7 @@ public abstract class DoubleBuffer extends Buffer
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final DoubleBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order ();
public abstract double get();
public abstract DoubleBuffer put (double b);
public abstract double get(int index);
@@ -192,34 +200,4 @@ public abstract class DoubleBuffer extends Buffer
public abstract DoubleBuffer slice();
public abstract DoubleBuffer duplicate();
public abstract DoubleBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract DoubleBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract DoubleBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract DoubleBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract DoubleBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract DoubleBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract DoubleBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract DoubleBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract DoubleBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract DoubleBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract DoubleBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract DoubleBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract DoubleBuffer putDouble(int index, double value);
}
diff --git a/libjava/java/nio/FloatBuffer.java b/libjava/java/nio/FloatBuffer.java
index f06ef187791..16c92d61023 100644
--- a/libjava/java/nio/FloatBuffer.java
+++ b/libjava/java/nio/FloatBuffer.java
@@ -39,14 +39,14 @@ package java.nio;
import gnu.java.nio.FloatBufferImpl;
-public abstract class FloatBuffer extends Buffer
+public abstract class FloatBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected float [] backing_buffer;
+ protected int array_offset;
public static FloatBuffer allocateDirect(int capacity)
{
- return new FloatBufferImpl (capacity, 0, capacity);
+ throw new Error ("direct buffers not implemented");
}
public static FloatBuffer allocate(int capacity)
@@ -77,7 +77,13 @@ public abstract class FloatBuffer extends Buffer
return wrap(array, 0, array.length);
}
- final public FloatBuffer get(float[] dst, int offset, int length)
+ FloatBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public FloatBuffer get (float[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@ public abstract class FloatBuffer extends Buffer
return this;
}
- final public FloatBuffer get(float[] dst)
+ public FloatBuffer get (float[] dst)
{
return get(dst, 0, dst.length);
}
- final public FloatBuffer put(FloatBuffer src)
+ public FloatBuffer put (FloatBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@ public abstract class FloatBuffer extends Buffer
return this;
}
- final public FloatBuffer put(float[] src, int offset, int length)
+ public FloatBuffer put (float[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -115,17 +121,30 @@ public abstract class FloatBuffer extends Buffer
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final float[] array()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return backing_buffer;
}
public final int arrayOffset()
{
- return 0;
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return array_offset;
}
public int hashCode()
@@ -139,6 +158,7 @@ public abstract class FloatBuffer extends Buffer
{
return compareTo(obj) == 0;
}
+
return false;
}
@@ -171,17 +191,7 @@ public abstract class FloatBuffer extends Buffer
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final FloatBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order ();
public abstract float get();
public abstract java.nio. FloatBuffer put(float b);
public abstract float get(int index);
@@ -191,34 +201,4 @@ public abstract class FloatBuffer extends Buffer
public abstract FloatBuffer slice();
public abstract FloatBuffer duplicate();
public abstract FloatBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract FloatBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract FloatBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract FloatBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract FloatBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract FloatBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract FloatBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract FloatBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract FloatBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract FloatBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract FloatBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract FloatBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract FloatBuffer putDouble(int index, double value);
}
diff --git a/libjava/java/nio/IntBuffer.java b/libjava/java/nio/IntBuffer.java
index d2d28d36b10..18e353b2013 100644
--- a/libjava/java/nio/IntBuffer.java
+++ b/libjava/java/nio/IntBuffer.java
@@ -39,14 +39,14 @@ package java.nio;
import gnu.java.nio.IntBufferImpl;
-public abstract class IntBuffer extends Buffer
+public abstract class IntBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected int [] backing_buffer;
+ protected int array_offset;
public static IntBuffer allocateDirect(int capacity)
{
- return new IntBufferImpl (capacity, 0, capacity);
+ throw new Error ("direct buffers not implemented");
}
public static IntBuffer allocate(int capacity)
@@ -77,7 +77,13 @@ public abstract class IntBuffer extends Buffer
return wrap(array, 0, array.length);
}
- final public IntBuffer get(int[] dst, int offset, int length)
+ IntBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public IntBuffer get(int[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@ public abstract class IntBuffer extends Buffer
return this;
}
- final public IntBuffer get(int[] dst)
+ public IntBuffer get (int[] dst)
{
return get(dst, 0, dst.length);
}
- final public IntBuffer put(IntBuffer src)
+ public IntBuffer put (IntBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@ public abstract class IntBuffer extends Buffer
return this;
}
- final public IntBuffer put(int[] src, int offset, int length)
+ public IntBuffer put (int[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -115,17 +121,30 @@ public abstract class IntBuffer extends Buffer
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final int[] array()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return backing_buffer;
}
public final int arrayOffset()
{
- return 0;
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return array_offset;
}
public int hashCode()
@@ -172,17 +191,7 @@ public abstract class IntBuffer extends Buffer
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final IntBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order();
public abstract int get();
public abstract IntBuffer put(int b);
public abstract int get(int index);
@@ -192,34 +201,4 @@ public abstract class IntBuffer extends Buffer
public abstract IntBuffer slice();
public abstract IntBuffer duplicate();
public abstract IntBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract IntBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract IntBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract IntBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract IntBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract IntBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract IntBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract IntBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract IntBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract IntBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract IntBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract IntBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract IntBuffer putDouble(int index, double value);
}
diff --git a/libjava/java/nio/LongBuffer.java b/libjava/java/nio/LongBuffer.java
index 5bca6d53b70..8b737194d0c 100644
--- a/libjava/java/nio/LongBuffer.java
+++ b/libjava/java/nio/LongBuffer.java
@@ -39,14 +39,14 @@ package java.nio;
import gnu.java.nio.LongBufferImpl;
-public abstract class LongBuffer extends Buffer
+public abstract class LongBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected long [] backing_buffer;
+ protected int array_offset;
public static LongBuffer allocateDirect(int capacity)
{
- return new LongBufferImpl(capacity, 0, capacity);
+ throw new Error ("direct buffers not implemented");
}
public static LongBuffer allocate(int capacity)
@@ -77,7 +77,13 @@ public abstract class LongBuffer extends Buffer
return wrap(array, 0, array.length);
}
- final public LongBuffer get(long[] dst, int offset, int length)
+ LongBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public LongBuffer get (long[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@ public abstract class LongBuffer extends Buffer
return this;
}
- final public LongBuffer get(long[] dst)
+ public LongBuffer get (long[] dst)
{
return get(dst, 0, dst.length);
}
- final public LongBuffer put(LongBuffer src)
+ public LongBuffer put (LongBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@ public abstract class LongBuffer extends Buffer
return this;
}
- final public LongBuffer put(long[] src, int offset, int length)
+ public LongBuffer put (long[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -115,17 +121,30 @@ public abstract class LongBuffer extends Buffer
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final long[] array()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return backing_buffer;
}
public final int arrayOffset()
{
- return 0;
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return array_offset;
}
public int hashCode()
@@ -173,17 +192,7 @@ public abstract class LongBuffer extends Buffer
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final LongBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order();
public abstract long get();
public abstract java.nio. LongBuffer put(long b);
public abstract long get(int index);
@@ -193,34 +202,4 @@ public abstract class LongBuffer extends Buffer
public abstract LongBuffer slice();
public abstract LongBuffer duplicate();
public abstract LongBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract LongBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract LongBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract LongBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract LongBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract LongBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract LongBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract LongBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract LongBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract LongBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract LongBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract LongBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract LongBuffer putDouble(int index, double value);
}
diff --git a/libjava/java/nio/MappedByteBuffer.java b/libjava/java/nio/MappedByteBuffer.java
index dc1b20d892c..305327b74c5 100644
--- a/libjava/java/nio/MappedByteBuffer.java
+++ b/libjava/java/nio/MappedByteBuffer.java
@@ -37,6 +37,29 @@ exception statement from your version. */
package java.nio;
+/**
+ * @author Michael Koch
+ * @since 1.4
+ */
public abstract class MappedByteBuffer extends ByteBuffer
{
+ MappedByteBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ }
+
+ public final MappedByteBuffer force ()
+ {
+ return this;
+ }
+
+ public final boolean isLoaded ()
+ {
+ return true;
+ }
+
+ public final MappedByteBuffer load ()
+ {
+ return this;
+ }
}
diff --git a/libjava/java/nio/ShortBuffer.java b/libjava/java/nio/ShortBuffer.java
index 5301366ceee..8c5915dc148 100644
--- a/libjava/java/nio/ShortBuffer.java
+++ b/libjava/java/nio/ShortBuffer.java
@@ -39,14 +39,14 @@ package java.nio;
import gnu.java.nio.ShortBufferImpl;
-public abstract class ShortBuffer extends Buffer
+public abstract class ShortBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected short [] backing_buffer;
+ protected int array_offset;
public static ShortBuffer allocateDirect(int capacity)
{
- return new ShortBufferImpl(capacity, 0, capacity);
+ throw new Error ("direct buffers not implemented");
}
public static ShortBuffer allocate(int capacity)
@@ -77,7 +77,13 @@ public abstract class ShortBuffer extends Buffer
return wrap(array, 0, array.length);
}
- final public ShortBuffer get(short[] dst, int offset, int length)
+ ShortBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public ShortBuffer get (short[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@ public abstract class ShortBuffer extends Buffer
return this;
}
- final public ShortBuffer get(short[] dst)
+ public ShortBuffer get (short[] dst)
{
return get(dst, 0, dst.length);
}
- final public ShortBuffer put(ShortBuffer src)
+ public ShortBuffer put (ShortBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@ public abstract class ShortBuffer extends Buffer
return this;
}
- final public ShortBuffer put(short[] src, int offset, int length)
+ public ShortBuffer put (short[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -115,17 +121,30 @@ public abstract class ShortBuffer extends Buffer
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final short[] array()
{
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
return backing_buffer;
}
public final int arrayOffset()
{
- return 0;
+ if (backing_buffer == null)
+ throw new UnsupportedOperationException ();
+
+ if (isReadOnly ())
+ throw new ReadOnlyBufferException ();
+
+ return array_offset;
}
public int hashCode()
@@ -173,17 +192,7 @@ public abstract class ShortBuffer extends Buffer
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final ShortBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order ();
public abstract short get();
public abstract java.nio. ShortBuffer put(short b);
public abstract short get(int index);
@@ -193,34 +202,4 @@ public abstract class ShortBuffer extends Buffer
public abstract ShortBuffer slice();
public abstract ShortBuffer duplicate();
public abstract ShortBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract ShortBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract ShortBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract ShortBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract ShortBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract ShortBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract ShortBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract ShortBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract ShortBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract ShortBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract ShortBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract ShortBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract ShortBuffer putDouble(int index, double value);
}
diff --git a/libjava/java/nio/channels/Channels.java b/libjava/java/nio/channels/Channels.java
new file mode 100644
index 00000000000..d911b41d00b
--- /dev/null
+++ b/libjava/java/nio/channels/Channels.java
@@ -0,0 +1,130 @@
+/* Channels.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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 Classpath 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 Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.nio.channels;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
+import java.nio.channels.WritableByteChannel;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+
+/**
+ * @since 1.4
+ */
+public final class Channels
+{
+ /**
+ * Constructs a stream that reads bytes from the given channel.
+ */
+ public static InputStream newInputStream (ReadableByteChannel ch)
+ {
+ throw new Error ("not implemented");
+ }
+
+ /**
+ * Constructs a stream that writes bytes to the given channel.
+ */
+ public static OutputStream newOutputStream (WritableByteChannel ch)
+ {
+ throw new Error ("not implemented");
+ }
+
+ /**
+ * Constructs a channel that reads bytes from the given stream.
+ */
+ public static ReadableByteChannel newChannel (InputStream in)
+ {
+ throw new Error ("not implemented");
+ }
+
+ /**
+ * Constructs a channel that writes bytes to the given stream.
+ */
+ public static WritableByteChannel newChannel (OutputStream out)
+ {
+ throw new Error ("not implemented");
+ }
+
+ /**
+ * Constructs a reader that decodes bytes from the given channel using the
+ * given decoder.
+ */
+ public static Reader newReader (ReadableByteChannel ch, CharsetDecoder dec,
+ int minBufferCap)
+ {
+ throw new Error ("not implemented");
+ }
+
+ /**
+ * Constructs a reader that decodes bytes from the given channel according to
+ * the named charset.
+ *
+ * @exception UnsupportedCharsetException If no support for the named charset
+ * is available in this instance of the Java virtual machine.
+ */
+ public static Reader newReader (ReadableByteChannel ch, String csName)
+ {
+ return newReader (ch, Charset.forName (csName).newDecoder (), -1);
+ }
+
+ /**
+ * Constructs a writer that encodes characters using the given encoder and
+ * writes the resulting bytes to the given channel.
+ */
+ public static Writer newWriter (WritableByteChannel ch, CharsetEncoder enc,
+ int minBufferCap)
+ {
+ throw new Error ("not implemented");
+ }
+
+ /**
+ * Constructs a writer that encodes characters according to the named charset
+ * and writes the resulting bytes to the given channel.
+ *
+ * @exception UnsupportedCharsetException If no support for the named charset
+ * is available in this instance of the Java virtual machine.
+ */
+ public static Writer newWriter (WritableByteChannel ch,
+ String csName)
+ {
+ return newWriter (ch, Charset.forName (csName).newEncoder (), -1);
+ }
+}
diff --git a/libjava/java/nio/channels/DatagramChannel.java b/libjava/java/nio/channels/DatagramChannel.java
index 6c457557b95..4a7ac9825f7 100644
--- a/libjava/java/nio/channels/DatagramChannel.java
+++ b/libjava/java/nio/channels/DatagramChannel.java
@@ -88,7 +88,7 @@ public abstract class DatagramChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException The channel's socket is not connected.
*/
- public final long write (ByteBuffer[] srcs)
+ public final long write (ByteBuffer[] srcs) throws IOException
{
long b = 0;
@@ -111,14 +111,15 @@ public abstract class DatagramChannel
* @exception SecurityException If a security manager has been installed and
* it does not permit datagrams to be sent to the given address.
*/
- public abstract DatagramChannel connect (SocketAddress remote);
+ public abstract DatagramChannel connect (SocketAddress remote)
+ throws IOException;
/**
* Disonnects this channel's socket.
*
* @exception IOException If an error occurs
*/
- public abstract DatagramChannel disconnect ();
+ public abstract DatagramChannel disconnect () throws IOException;
/**
* Tells whether or not this channel's socket is connected.
@@ -131,7 +132,7 @@ public abstract class DatagramChannel
/**
* Reads data from this channel.
*/
- public abstract int read (ByteBuffer dst);
+ public abstract int read (ByteBuffer dst) throws IOException;
/**
* Reads data from this channel.
@@ -139,7 +140,8 @@ public abstract class DatagramChannel
* @exception IOException If an error occurs.
* @exception NotYetConnectedException The channel's socket is not connected.
*/
- public abstract long read (ByteBuffer[] dsts, int offset, int length);
+ public abstract long read (ByteBuffer[] dsts, int offset, int length)
+ throws IOException;
/**
* Receives a datagram via this channel.
@@ -154,7 +156,7 @@ public abstract class DatagramChannel
* @exception SecurityException If a security manager has been installed and
* it does not permit datagrams to be sent to the given address.
*/
- public abstract SocketAddress receive (ByteBuffer dst);
+ public abstract SocketAddress receive (ByteBuffer dst) throws IOException;
/**
* Sends a datagram via this channel.
@@ -169,7 +171,8 @@ public abstract class DatagramChannel
* @exception SecurityException If a security manager has been installed and
* it does not permit datagrams to be sent to the given address.
*/
- public abstract int send (ByteBuffer src, SocketAddress target);
+ public abstract int send (ByteBuffer src, SocketAddress target)
+ throws IOException;
/**
* Retrieves the channel's socket.
@@ -182,7 +185,7 @@ public abstract class DatagramChannel
* @exception IOException If an error occurs.
* @exception NotYetConnectedException The channel's socket is not connected.
*/
- public abstract int write (ByteBuffer src);
+ public abstract int write (ByteBuffer src) throws IOException;
/**
* Writes data to this channel.
@@ -190,7 +193,8 @@ public abstract class DatagramChannel
* @exception IOException If an error occurs.
* @exception NotYetConnectedException The channel's socket is not connected.
*/
- public abstract long write (ByteBuffer[] srcs, int offset, int length);
+ public abstract long write (ByteBuffer[] srcs, int offset, int length)
+ throws IOException;
/**
* Retrieves the valid operations for this channel.
diff --git a/libjava/java/nio/channels/FileChannel.java b/libjava/java/nio/channels/FileChannel.java
index 8970b983923..3fa0f35843e 100644
--- a/libjava/java/nio/channels/FileChannel.java
+++ b/libjava/java/nio/channels/FileChannel.java
@@ -65,9 +65,17 @@ public abstract class FileChannel extends AbstractInterruptibleChannel
m = a;
}
+ /**
+ * Returns a string representation of the <code>MapMode</code> object.
+ */
public String toString()
{
- return "" + m;
+ if (this == READ_ONLY)
+ return "READ_ONLY";
+ else if (this == READ_WRITE)
+ return "READ_WRITE";
+
+ return "PRIVATE";
}
}
@@ -81,20 +89,28 @@ public abstract class FileChannel extends AbstractInterruptibleChannel
/**
* Maps the file into the memory.
*
- * @exception IOException If an error occurs.
+ * @exception IllegalArgumentException If the preconditions on the parameters
+ * do not hold.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonReadableChannelException If mode is READ_ONLY but this channel was
+ * not opened for reading.
+ * @exception NonWritableChannelException If mode is READ_WRITE or PRIVATE but this
+ * channel was not opened for writing.
*/
public abstract MappedByteBuffer map(MapMode mode, long position, long size)
throws IOException;
/**
* Return the size of the file thus far
+ *
+ * @exception ClosedChannelException If this channel is closed.
*/
public abstract long size() throws IOException;
/**
* Writes data to the channel.
*
- * @exception IOException If an error occurs.
+ * @exception IOException If an I/O error occurs.
*/
public long write (ByteBuffer[] srcs) throws IOException
{
@@ -110,26 +126,243 @@ public abstract class FileChannel extends AbstractInterruptibleChannel
/**
* Writes data to the channel.
+ *
+ * @exception IOException If an I/O error occurs.
+ */
+ public abstract int write (ByteBuffer src) throws IOException;
+
+ /**
+ * Writes data to the channel.
+ *
+ * @exception AsynchronousCloseException If another thread closes this channel
+ * while the transfer is in progress.
+ * @exception ClosedByInterruptException If another thread interrupts the
+ * current thread while the transfer is in progress, thereby closing both
+ * channels and setting the current thread's interrupt status.
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If position is negative.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonWritableChannelException If this channel was not opened for
+ * writing.
+ */
+ public abstract int write (ByteBuffer srcs, long position) throws IOException;
+
+ /**
+ * Writes data to the channel.
+ *
+ * @exception IOException If an I/O error occurs.
*/
public abstract long write(ByteBuffer[] srcs, int offset, int length)
throws IOException;
/**
* Reads data from the channel.
+ *
+ * @exception IOException If an I/O error occurs.
+ */
+ public abstract long read (ByteBuffer[] dsts, int offset, int length)
+ throws IOException;
+
+ /**
+ * Reads data from the channel.
+ *
+ * @exception IOException If an I/O error occurs.
+ */
+ public final long read (ByteBuffer[] dsts) throws IOException
+ {
+ long result = 0;
+
+ for (int i = 0; i < dsts.length; i++)
+ {
+ read (dsts [i]);
+ }
+
+ return result;
+ }
+
+ /**
+ * Reads data from the channel.
+ *
+ * @exception IOException If an I/O error occurs.
*/
public abstract int read(ByteBuffer dst) throws IOException;
/**
+ * Reads data from the channel.
+ *
+ * @exception AsynchronousCloseException If another thread closes this channel
+ * while the transfer is in progress.
+ * @exception ClosedByInterruptException If another thread interrupts the
+ * current thread while the transfer is in progress, thereby closing both
+ * channels and setting the current thread's interrupt status.
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If position is negative.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonReadableChannelException If this channel was not opened for
+ * reading.
+ */
+ public abstract int read(ByteBuffer dst, long position) throws IOException;
+
+ /**
* Closes the channel.
*
* This is called from @see close.
*
- * @exception IOException If an error occurs.
+ * @exception IOException If an I/O error occurs.
*/
protected abstract void implCloseChannel() throws IOException;
/**
* msync with the disk
+ *
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IOException If an I/O error occurs.
+ */
+ public abstract void force(boolean metaData) throws IOException;
+
+ /**
+ * Creates a file lock for the whole assoziated file.
+ *
+ * @exception AsynchronousCloseException If another thread closes this channel
+ * while the transfer is in progress.
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception FileLockInterruptionException If the invoking thread is
+ * interrupted while blocked in this method.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonReadableChannelException If shared is true and this channel
+ * was not opened for reading.
+ * @exception NonWritableChannelException If shared is false and this channel
+ * was not opened for writing.
+ * @exception OverlappingFileLockException If a lock that overlaps the
+ * requested region is already held by this Java virtual machine, or if
+ * another thread is already blocked in this method and is attempting to lock
+ * an overlapping region.
+ */
+ public final FileLock lock () throws IOException
+ {
+ return lock (0, Long.MAX_VALUE, false);
+ }
+
+ /**
+ * Creates a file lock for a region of the assoziated file.
+ *
+ * @exception AsynchronousCloseException If another thread closes this channel
+ * while the transfer is in progress.
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception FileLockInterruptionException If the invoking thread is
+ * interrupted while blocked in this method.
+ * @exception IllegalArgumentException If the preconditions on the parameters
+ * do not hold.
+ * @exception IOException If an I/O error occurs.
+ * @exception OverlappingFileLockException If a lock that overlaps the
+ * requested region is already held by this Java virtual machine, or if
+ * another thread is already blocked in this method and is attempting to lock
+ * an overlapping region.
+ * @exception NonReadableChannelException If shared is true and this channel
+ * was not opened for reading.
+ * @exception NonWritableChannelException If shared is false and this channel
+ * was not opened for writing.
+ */
+ public abstract FileLock lock (long position, long size, boolean shared)
+ throws IOException;
+
+ /**
+ * Tries to aqquire alock on the whole assoziated file.
+ *
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IOException If an I/O error occurs.
+ * @exception OverlappingFileLockException If a lock that overlaps the
+ * requested region is already held by this Java virtual machine, or if
+ * another thread is already blocked in this method and is attempting to lock
+ * an overlapping region.
+ */
+ public final FileLock tryLock () throws IOException
+ {
+ return tryLock (0, Long.MAX_VALUE, false);
+ }
+
+ /**
+ * Tries to aqquire a lock on a region of the assoziated file.
+ *
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If the preconditions on the parameters
+ * do not hold.
+ * @exception IOException If an I/O error occurs.
+ * @exception OverlappingFileLockException If a lock that overlaps the
+ * requested region is already held by this Java virtual machine, or if
+ * another thread is already blocked in this method and is attempting to lock
+ * an overlapping region.
+ */
+ public abstract FileLock tryLock (long position, long size, boolean shared)
+ throws IOException;
+
+ /**
+ * Returns the current position on the file.
+ *
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IOException If an I/O error occurs.
+ */
+ public abstract long position () throws IOException;
+
+ /**
+ * Sets the position of the channel on the assoziated file.
+ *
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If newPosition is negative.
+ * @exception IOException If an I/O error occurs.
+ */
+ public abstract FileChannel position (long newPosition) throws IOException;
+
+ /**
+ * Transfers bytes from this channel's file to the given writable byte
+ * channel.
+ *
+ * @exception AsynchronousCloseException If another thread closes this channel
+ * while the transfer is in progress.
+ * @exception ClosedByInterruptException If another thread interrupts the
+ * current thread while the transfer is in progress, thereby closing both
+ * channels and setting the current thread's interrupt status.
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If the preconditions on the parameters
+ * do not hold.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonReadableChannelException If this channel was not opened for
+ * reading.
+ * @exception NonWritableChannelException If the target channel was not
+ * opened for writing.
+ */
+ public abstract long transferTo (long position, long count,
+ WritableByteChannel target)
+ throws IOException;
+
+ /**
+ * Transfers bytes from the given readable channel into this channel.
+ *
+ * @exception AsynchronousCloseException If another thread closes this channel
+ * while the transfer is in progress.
+ * @exception ClosedByInterruptException If another thread interrupts the
+ * current thread while the transfer is in progress, thereby closing both
+ * channels and setting the current thread's interrupt status.
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If the preconditions on the parameters
+ * do not hold.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonReadableChannelException If the source channel was not
+ * opened for reading.
+ * @exception NonWritableChannelException If this channel was not opened for
+ * writing.
+ */
+ public abstract long transferFrom (ReadableByteChannel src, long position,
+ long count) throws IOException;
+
+ /**
+ * Truncates the channel's file at <code>size</code>.
+ *
+ * @exception ClosedChannelException If this channel is closed.
+ * @exception IllegalArgumentException If size is negative.
+ * @exception IOException If an I/O error occurs.
+ * @exception NonWritableChannelException If this channel was not opened for
+ * writing.
*/
- public abstract void force(boolean metaData);
+ public abstract FileChannel truncate (long size) throws IOException;
}
diff --git a/libjava/java/nio/channels/FileLock.java b/libjava/java/nio/channels/FileLock.java
new file mode 100644
index 00000000000..1b4595e5c43
--- /dev/null
+++ b/libjava/java/nio/channels/FileLock.java
@@ -0,0 +1,137 @@
+/* FileLock.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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 Classpath 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 Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.nio.channels;
+
+import java.io.IOException;
+
+/**
+ * @since 1.4
+ */
+public abstract class FileLock
+{
+ FileChannel channel;
+ long position;
+ long size;
+ boolean shared;
+
+ /**
+ * Initializes the file lock.
+ *
+ * @exception IllegalArgumentException If the preconditions on the parameters do not hold
+ */
+ protected FileLock (FileChannel channel, long position, long size,
+ boolean shared)
+ {
+ if (position < 0 ||
+ size < 0)
+ throw new IllegalArgumentException ();
+
+ this.channel = channel;
+ this.position = position;
+ this.size = size;
+ this.shared = shared;
+ }
+
+ /**
+ * Tells whether or not this lock is valid.
+ */
+ public abstract boolean isValid();
+
+ /**
+ * Releases this lock.
+ *
+ * @exception IOException If an error occurs
+ * @exception ClosedChannelException If the locked channel is no longer open.
+ */
+ public abstract void release () throws IOException;
+
+ /**
+ * Returns the file channel upon whose file this lock is held.
+ */
+ public final FileChannel channel ()
+ {
+ return channel;
+ }
+
+ /**
+ * Tells whether this lock is shared.
+ */
+ public final boolean isShared ()
+ {
+ return shared;
+ }
+
+ /**
+ * Tells whether or not this lock overlaps the given lock range.
+ */
+ public final boolean overlaps (long position, long size)
+ {
+ if (position > this.position +this.size)
+ return false;
+
+ if (position + size < this.position)
+ return false;
+
+ return true;
+ }
+
+ /**
+ * Returns the position within the file of the first byte of the
+ * locked region.
+ */
+ public final long position ()
+ {
+ return position;
+ }
+
+ /**
+ * Returns the size of the locked region in bytes.
+ */
+ public final long size ()
+ {
+ return size;
+ }
+
+ /**
+ * Returns a string describing the range, type, and validity of this lock.
+ */
+ public final String toString ()
+ {
+ return "file-lock:pos=" + position + "size=" + size;
+ }
+}
diff --git a/libjava/java/nio/channels/Pipe.java b/libjava/java/nio/channels/Pipe.java
index 22f3d156f68..939d7b52ad2 100644
--- a/libjava/java/nio/channels/Pipe.java
+++ b/libjava/java/nio/channels/Pipe.java
@@ -37,6 +37,7 @@ exception statement from your version. */
package java.nio.channels;
+import java.io.IOException;
import java.nio.channels.spi.AbstractSelectableChannel;
import java.nio.channels.spi.SelectorProvider;
@@ -104,7 +105,7 @@ public abstract class Pipe
*
* @exception IOException If an error occurs
*/
- public static Pipe open()
+ public static Pipe open() throws IOException
{
return SelectorProvider.provider ().openPipe();
}
diff --git a/libjava/java/nio/channels/SelectableChannel.java b/libjava/java/nio/channels/SelectableChannel.java
index 2bc5cc47e35..72abac89654 100644
--- a/libjava/java/nio/channels/SelectableChannel.java
+++ b/libjava/java/nio/channels/SelectableChannel.java
@@ -37,6 +37,7 @@ exception statement from your version. */
package java.nio.channels;
+import java.io.IOException;
import java.nio.channels.spi.AbstractInterruptibleChannel;
import java.nio.channels.spi.SelectorProvider;
@@ -67,7 +68,8 @@ public abstract class SelectableChannel
* is registered with one or more selectors.
* @exception IOException If an error occurs.
*/
- public abstract SelectableChannel configureBlocking (boolean block);
+ public abstract SelectableChannel configureBlocking (boolean block)
+ throws IOException;
/**
* Tells whether this channel is blocking or not.
diff --git a/libjava/java/nio/channels/SelectionKey.java b/libjava/java/nio/channels/SelectionKey.java
index 8d06a301143..39b66f1902a 100644
--- a/libjava/java/nio/channels/SelectionKey.java
+++ b/libjava/java/nio/channels/SelectionKey.java
@@ -43,10 +43,10 @@ package java.nio.channels;
*/
public abstract class SelectionKey
{
- public static final int OP_ACCEPT = 1<<0;
- public static final int OP_CONNECT = 1<<1;
- public static final int OP_READ = 1<<2;
- public static final int OP_WRITE = 1<<3;
+ public static final int OP_ACCEPT = 16;
+ public static final int OP_CONNECT = 8;
+ public static final int OP_READ = 1;
+ public static final int OP_WRITE = 4;
Object attached;
diff --git a/libjava/java/nio/channels/ServerSocketChannel.java b/libjava/java/nio/channels/ServerSocketChannel.java
index 16a3a82df5b..e41af212623 100644
--- a/libjava/java/nio/channels/ServerSocketChannel.java
+++ b/libjava/java/nio/channels/ServerSocketChannel.java
@@ -73,7 +73,7 @@ public abstract class ServerSocketChannel
* @exception SecurityException If a security manager has been installed and
* it does not permit access to the remote endpoint of the new connection.
*/
- public abstract SocketChannel accept ();
+ public abstract SocketChannel accept () throws IOException;
/**
* Retrieves the channels socket.
diff --git a/libjava/java/nio/channels/SocketChannel.java b/libjava/java/nio/channels/SocketChannel.java
index 368a8ee468c..c22eb1d1945 100644
--- a/libjava/java/nio/channels/SocketChannel.java
+++ b/libjava/java/nio/channels/SocketChannel.java
@@ -49,6 +49,7 @@ import java.net.SocketAddress;
* @since 1.4
*/
abstract public class SocketChannel extends AbstractSelectableChannel
+ implements ByteChannel, ScatteringByteChannel, GatheringByteChannel
{
/**
* Initializes this socket.
@@ -100,7 +101,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException If this channel is not yet connected.
*/
- public final long read (ByteBuffer[] dsts)
+ public final long read (ByteBuffer[] dsts) throws IOException
{
long b = 0;
@@ -118,7 +119,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException If this channel is not yet connected.
*/
- public final long write (ByteBuffer[] dsts)
+ public final long write (ByteBuffer[] dsts) throws IOException
{
long b = 0;
@@ -144,7 +145,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException If this channel is not yet connected.
*/
- public abstract int read (ByteBuffer dst);
+ public abstract int read (ByteBuffer dst) throws IOException;
/**
* Connects the channel's socket to the remote address.
@@ -179,7 +180,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception NoConnectionPendingException If this channel is not connected
* and a connection operation has not been initiated.
*/
- public abstract boolean finishConnect ();
+ public abstract boolean finishConnect () throws IOException;
/**
* Tells whether or not the channel's socket is connected.
@@ -197,7 +198,8 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException If this channel is not yet connected.
*/
- public abstract long read (ByteBuffer[] dsts, int offset, int length);
+ public abstract long read (ByteBuffer[] dsts, int offset, int length)
+ throws IOException;
/**
* Retrieves the channel's socket.
@@ -210,7 +212,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException If this channel is not yet connected.
*/
- public abstract int write (ByteBuffer src);
+ public abstract int write (ByteBuffer src) throws IOException;
/**
* Writes data to the channel.
@@ -218,5 +220,6 @@ abstract public class SocketChannel extends AbstractSelectableChannel
* @exception IOException If an error occurs
* @exception NotYetConnectedException If this channel is not yet connected.
*/
- public abstract long write (ByteBuffer[] srcs, int offset, int length);
+ public abstract long write (ByteBuffer[] srcs, int offset, int length)
+ throws IOException;
}
diff --git a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
index 855087b5f07..dd4177a8a01 100644
--- a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
+++ b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
@@ -38,6 +38,7 @@ exception statement from your version. */
package java.nio.channels.spi;
import java.io.IOException;
+import java.nio.channels.AsynchronousCloseException;
import java.nio.channels.Channel;
import java.nio.channels.InterruptibleChannel;
@@ -84,6 +85,7 @@ public abstract class AbstractInterruptibleChannel
* I/O operation was interrupted.
*/
protected final void end (boolean completed)
+ throws AsynchronousCloseException
{
}
diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java
index da03693d2cc..b13bb4af24f 100644
--- a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java
+++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java
@@ -75,6 +75,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
* Adjusts this channel's blocking mode.
*/
public final SelectableChannel configureBlocking (boolean block)
+ throws IOException
{
synchronized (LOCK)
{
@@ -90,7 +91,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
*
* @exception IOException If an error occurs
*/
- protected final void implCloseChannel ()
+ protected final void implCloseChannel () throws IOException
{
implCloseSelectableChannel ();
}
@@ -98,12 +99,13 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
/**
* Closes this selectable channel.
*/
- protected abstract void implCloseSelectableChannel ();
+ protected abstract void implCloseSelectableChannel () throws IOException;
/**
* Adjusts this channel's blocking mode.
*/
- protected abstract void implConfigureBlocking (boolean block);
+ protected abstract void implConfigureBlocking (boolean block)
+ throws IOException;
/**
* Tells whether or not every I/O operation on this channel will block
diff --git a/libjava/java/nio/channels/spi/SelectorProvider.java b/libjava/java/nio/channels/spi/SelectorProvider.java
index 06017f76edb..1d4ccfa5339 100644
--- a/libjava/java/nio/channels/spi/SelectorProvider.java
+++ b/libjava/java/nio/channels/spi/SelectorProvider.java
@@ -37,7 +37,8 @@ exception statement from your version. */
package java.nio.channels.spi;
-/* import gnu.java.nio.channels.SelectorProviderImpl; */
+import gnu.java.nio.SelectorProviderImpl;
+import java.io.IOException;
import java.nio.channels.DatagramChannel;
import java.nio.channels.Pipe;
import java.nio.channels.ServerSocketChannel;
@@ -67,27 +68,28 @@ public abstract class SelectorProvider
/**
* Opens a datagram channel.
*/
- public abstract DatagramChannel openDatagramChannel ();
+ public abstract DatagramChannel openDatagramChannel () throws IOException;
/**
* Opens a pipe.
*/
- public abstract Pipe openPipe ();
+ public abstract Pipe openPipe () throws IOException;
/**
* Opens a selector.
*/
- public abstract AbstractSelector openSelector ();
+ public abstract AbstractSelector openSelector () throws IOException;
/**
* Opens a server socket channel.
*/
- public abstract ServerSocketChannel openServerSocketChannel ();
+ public abstract ServerSocketChannel openServerSocketChannel ()
+ throws IOException;
/**
* Opens a socket channel.
*/
- public abstract SocketChannel openSocketChannel ();
+ public abstract SocketChannel openSocketChannel () throws IOException;
/**
* Returns the system-wide default selector provider for this invocation
@@ -95,8 +97,10 @@ public abstract class SelectorProvider
*/
public static SelectorProvider provider ()
{
-/* if (pr == null) */
-/* pr = new SelectorProviderImpl (); */
+ if (pr == null)
+ {
+ pr = new SelectorProviderImpl ();
+ }
return pr;
}
diff --git a/libjava/java/nio/charset/Charset.java b/libjava/java/nio/charset/Charset.java
index cc60c99b9b6..889267f302f 100644
--- a/libjava/java/nio/charset/Charset.java
+++ b/libjava/java/nio/charset/Charset.java
@@ -187,9 +187,10 @@ public abstract class Charset implements Comparable
return canonicalName;
}
- public final boolean isRegistered (String name)
+ public final boolean isRegistered ()
{
- return !name.startsWith ("x-") && !name.startsWith ("X-");
+ return (!canonicalName.startsWith ("x-")
+ && !canonicalName.startsWith ("X-"));
}
public abstract boolean contains (Charset cs);
diff --git a/libjava/java/nio/charset/CharsetEncoder.java b/libjava/java/nio/charset/CharsetEncoder.java
index dd434a79752..dc1fa99cd93 100644
--- a/libjava/java/nio/charset/CharsetEncoder.java
+++ b/libjava/java/nio/charset/CharsetEncoder.java
@@ -319,6 +319,11 @@ public abstract class CharsetEncoder
return this;
}
+ public CodingErrorAction unmappableCharacterAction ()
+ {
+ return unmappableCharacterAction;
+ }
+
public final CharsetEncoder onUnmappableCharacter
(CodingErrorAction newAction)
{
diff --git a/libjava/java/nio/charset/IllegalCharsetNameException.java b/libjava/java/nio/charset/IllegalCharsetNameException.java
index 762eb687fbf..f46e63aa14f 100644
--- a/libjava/java/nio/charset/IllegalCharsetNameException.java
+++ b/libjava/java/nio/charset/IllegalCharsetNameException.java
@@ -38,16 +38,25 @@ exception statement from your version. */
package java.nio.charset;
/**
+ * @author Michael Koch
* @since 1.4
*/
public class IllegalCharsetNameException extends IllegalArgumentException
{
/**
+ * Compatible with JDK 1.4+
+ */
+ private static final long serialVersionUID = 1457525358470002989L;
+
+ String charsetName;
+
+ /**
* Creates the exception
*/
public IllegalCharsetNameException (String charsetName)
{
- super (charsetName);
+ super ();
+ this.charsetName = charsetName;
}
/**
@@ -55,6 +64,6 @@ public class IllegalCharsetNameException extends IllegalArgumentException
*/
public String getCharsetName ()
{
- return getMessage ();
+ return charsetName;
}
}
diff --git a/libjava/java/nio/charset/UnsupportedCharsetException.java b/libjava/java/nio/charset/UnsupportedCharsetException.java
index 13aaa520524..beb0be96df3 100644
--- a/libjava/java/nio/charset/UnsupportedCharsetException.java
+++ b/libjava/java/nio/charset/UnsupportedCharsetException.java
@@ -38,16 +38,25 @@ exception statement from your version. */
package java.nio.charset;
/**
+ * @author Michael Koch
* @since 1.4
*/
public class UnsupportedCharsetException extends IllegalArgumentException
{
/**
+ * Compatible with JDK 1.4+
+ */
+ private static final long serialVersionUID = 1490765524727386367L;
+
+ String charsetName;
+
+ /**
* Creates the exception
*/
public UnsupportedCharsetException (String charsetName)
{
- super (charsetName);
+ super ();
+ this.charsetName = charsetName;
}
/**
@@ -55,6 +64,6 @@ public class UnsupportedCharsetException extends IllegalArgumentException
*/
public String getCharsetName ()
{
- return getMessage ();
+ return charsetName;
}
}
diff --git a/libjava/java/rmi/server/RMIClassLoader.java b/libjava/java/rmi/server/RMIClassLoader.java
index 1b00970e441..057ca0fd402 100644
--- a/libjava/java/rmi/server/RMIClassLoader.java
+++ b/libjava/java/rmi/server/RMIClassLoader.java
@@ -172,7 +172,7 @@ public class RMIClassLoader
}
}
- return loader != null ? loader.loadClass(name) : Class.forName(name);
+ return loader.loadClass(name);
}
public static String getClassAnnotation(Class cl)
diff --git a/libjava/java/rmi/server/RMIClassLoaderSpi.java b/libjava/java/rmi/server/RMIClassLoaderSpi.java
new file mode 100644
index 00000000000..2dbb3849c27
--- /dev/null
+++ b/libjava/java/rmi/server/RMIClassLoaderSpi.java
@@ -0,0 +1,64 @@
+/* RMIClassLoaderSpi.java
+ Copyright (c) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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 Classpath 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 Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.rmi.server;
+
+import java.net.MalformedURLException;
+
+/**
+ * @author Michael Koch
+ * @since 1.4
+ */
+public abstract class RMIClassLoaderSpi
+{
+ public RMIClassLoaderSpi()
+ {
+ }
+
+ public abstract Class loadClass (String codeBase, String name,
+ ClassLoader defaultLoader)
+ throws MalformedURLException, ClassNotFoundException;
+
+ public abstract Class loadProxyClass (String codeBase, String[] interfaces,
+ ClassLoader defaultLoader)
+ throws MalformedURLException, ClassNotFoundException;
+
+ public abstract ClassLoader getClassLoader (String codebase)
+ throws MalformedURLException;
+
+ public abstract String getClassAnnotation (Class cl);
+}
diff --git a/libjava/java/rmi/server/UnicastRemoteObject.java b/libjava/java/rmi/server/UnicastRemoteObject.java
index aefe9701ecd..4e2f06ae64b 100644
--- a/libjava/java/rmi/server/UnicastRemoteObject.java
+++ b/libjava/java/rmi/server/UnicastRemoteObject.java
@@ -1,5 +1,5 @@
/*
- Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+ Copyright (c) 1996, 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -113,7 +113,7 @@ public static RemoteStub exportObject(Remote obj) throws RemoteException {
}
public static boolean unexportObject(Remote obj, boolean force)
- throws RemoteException, NoSuchObjectException
+ throws NoSuchObjectException
{
if (obj instanceof RemoteObject)
{
diff --git a/libjava/java/security/SecureRandom.java b/libjava/java/security/SecureRandom.java
index a0b7f95f397..d9ac153da2b 100644
--- a/libjava/java/security/SecureRandom.java
+++ b/libjava/java/security/SecureRandom.java
@@ -1,5 +1,5 @@
/* SecureRandom.java --- Secure Random class implmentation
- Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -36,6 +36,7 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security;
+
import java.io.Serializable;
import java.util.Random;
import java.util.Enumeration;
@@ -358,9 +359,10 @@ public class SecureRandom extends Random
int ret = 0;
for (int i = 0; i < tmp.length; i++)
- ret |= tmp[i] << (8 * i);
+ ret |= (tmp[i] & 0xFF) << (8 * i);
- return ret;
+ long mask = (1L << numBits) - 1;
+ return (int) (ret & mask);
}
/**
diff --git a/libjava/java/security/Security.java b/libjava/java/security/Security.java
index bf7a993ad47..f336c55470d 100644
--- a/libjava/java/security/Security.java
+++ b/libjava/java/security/Security.java
@@ -1,5 +1,5 @@
/* Security.java --- Java base security class implmentation
- Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,9 +37,10 @@ exception statement from your version. */
package java.security;
import java.io.File;
-import java.io.FileInputStream;
+import java.io.InputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
+import java.net.URL;
import java.security.Provider;
import java.util.Vector;
import java.util.Enumeration;
@@ -55,13 +56,30 @@ import java.util.Properties;
public final class Security extends Object
{
private static Vector providers = new Vector();
- private static Properties secprops;
+ private static Properties secprops = new Properties();
static
{
- loadProviders(System.getProperty("java.home"),
- System.getProperty("java.vm.name"));
- loadProviders(System.getProperty("gnu.classpath.home"), "classpath");
+ String base = System.getProperty("gnu.classpath.home.url");
+ String vendor = System.getProperty("gnu.classpath.vm.shortname");
+
+ // Try VM specific security file
+ boolean loaded = loadProviders(base, vendor);
+
+ // Append classpath standard provider if possible
+ if (!loadProviders(base, "classpath") && !loaded && providers.size() == 0)
+ {
+ // No providers found and both security files failed to load properly.
+ System.err.println
+ ("WARNING: could not properly read security provider files:");
+ System.err.println
+ (" " + base + "/security/" + vendor + ".security");
+ System.err.println
+ (" " + base + "/security/" + "classpath" + ".security");
+ System.err.println
+ (" Falling back to standard GNU security provider");
+ providers.addElement(new gnu.java.security.provider.Gnu());
+ }
}
// This class can't be instantiated.
@@ -69,21 +87,21 @@ public final class Security extends Object
{
}
- private static void loadProviders(String dir, String vendor)
+ /**
+ * Tries to load the vender specific security providers from the given
+ * base URL. Returns true if the resource could be read and completely
+ * parsed successfully, false otherwise.
+ */
+ private static boolean loadProviders(String baseUrl, String vendor)
{
- if (dir == null || vendor == null)
- return;
-
- String separator = System.getProperty("file.separator");
- String secfilestr = (dir +
- separator + "lib" +
- separator + "security" +
- separator + vendor + ".security");
+ if (baseUrl == null || vendor == null)
+ return false;
+ boolean result = true;
+ String secfilestr = baseUrl + "/security/" + vendor + ".security";
try
{
- FileInputStream fin = new FileInputStream(secfilestr);
- secprops = new Properties();
+ InputStream fin = new URL(secfilestr).openStream();
secprops.load(fin);
int i = 1;
@@ -111,19 +129,20 @@ public final class Security extends Object
exception = x;
}
if (exception != null)
- System.err.println ("Error loading security provider " + name
- + ": " + exception);
+ {
+ System.err.println ("WARNING: Error loading security provider "
+ + name + ": " + exception);
+ result = false;
+ }
i++;
}
}
- catch (FileNotFoundException ignored)
- {
- // Actually we probibly shouldn't ignore these, once the security
- // properties file is actually installed somewhere.
- }
catch (IOException ignored)
{
+ result = false;
}
+
+ return result;
}
/**
diff --git a/libjava/java/sql/Timestamp.java b/libjava/java/sql/Timestamp.java
index c42ff3ca9e9..0f8b44c43a6 100644
--- a/libjava/java/sql/Timestamp.java
+++ b/libjava/java/sql/Timestamp.java
@@ -1,5 +1,5 @@
/* Time.java -- Wrapper around java.util.Date
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -52,7 +52,7 @@ import java.text.SimpleDateFormat;
*/
public class Timestamp extends java.util.Date
{
- static final long serialVersionUID = 3581463369166924961L;
+ static final long serialVersionUID = 2745179027874758501L;
/**
* Used for parsing and formatting this date.
@@ -237,19 +237,37 @@ public class Timestamp extends java.util.Date
}
/**
+ * Compare two Timestamp
+ * @param when the other Timestamp.
+ * @return 0, if the date represented
+ * by obj is exactly the same as the time represented by this
+ * object, a negative if this Timestamp is before the other Timestamp, and
+ * a positive value otherwise.
* @since 1.2
*/
- /*
public int compareTo(Timestamp ts)
{
-
- }*/
-
+ int s = super.compareTo((java.util.Date) ts);
+ if (s != 0)
+ return s;
+ // If Date components were equal, then we check the nanoseconds.
+ return nanos - ts.nanos;
+ }
+
/**
+ * Compares this Timestamp to another. This behaves like
+ * <code>compareTo(Timestamp)</code>, but it may throw a
+ * <code>ClassCastException</code>
+ * @param obj the other Timestamp.
+ * @return 0, if the Timestamp represented
+ * by obj is exactly the same as the time represented by this
+ * object, a negative if this Timestamp is before the other Timestamp, and
+ * a positive value otherwise.
+ * @exception ClassCastException if obj is not of type Timestamp.
* @since 1.2
- *//*
+ */
public int compareTo(Object obj)
{
return compareTo((Timestamp) obj);
- }*/
+ }
}
diff --git a/libjava/java/util/Properties.java b/libjava/java/util/Properties.java
index adad25055ac..52ca144cb70 100644
--- a/libjava/java/util/Properties.java
+++ b/libjava/java/util/Properties.java
@@ -1,5 +1,5 @@
/* Properties.java -- a set of persistent properties
- Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -188,13 +188,17 @@ label = Name:\\u0020</pre>
{
char c = 0;
int pos = 0;
+ // If empty line or begins with a comment character, skip this line.
+ if (line.length() == 0
+ || line.charAt(0) == '#' || line.charAt(0) == '!')
+ continue;
+
while (pos < line.length()
&& Character.isWhitespace(c = line.charAt(pos)))
pos++;
- // If line is empty or begins with a comment character,
- // skip this line.
- if (pos == line.length() || c == '#' || c == '!')
+ // If line is empty skip this line.
+ if (pos == line.length())
continue;
// The characters up to the next Whitespace, ':', or '='
@@ -271,6 +275,13 @@ label = Name:\\u0020</pre>
{
// The line continues on the next line.
line = reader.readLine();
+
+ // We might have seen a backslash at the end of
+ // the file. The JDK ignores the backslash in
+ // this case, so we follow for compatibility.
+ if (line == null)
+ break;
+
pos = 0;
while (pos < line.length()
&& Character.isWhitespace(c = line.charAt(pos)))
@@ -370,9 +381,21 @@ label = Name:\\u0020</pre>
= new PrintWriter(new OutputStreamWriter(out, "ISO-8859-1"));
if (header != null)
writer.println("#" + header);
- writer.println("#" + new Date());
- list(writer);
- writer.flush();
+ writer.println ("#" + Calendar.getInstance ().getTime ());
+
+ Iterator iter = entrySet ().iterator ();
+ int i = size ();
+ StringBuffer s = new StringBuffer (); // Reuse the same buffer.
+ while (--i >= 0)
+ {
+ Map.Entry entry = (Map.Entry) iter.next ();
+ formatForOutput ((String) entry.getKey (), s, true);
+ s.append ('=');
+ formatForOutput ((String) entry.getValue (), s, false);
+ writer.println (s);
+ }
+
+ writer.flush ();
}
/**
@@ -446,54 +469,50 @@ label = Name:\\u0020</pre>
}
/**
- * Writes the key/value pairs to the given print stream. They are
- * written in the way described in the method store. This does not visit
- * the keys in the default properties.
+ * Prints the key/value pairs to the given print stream. This is
+ * mainly useful for debugging purposes.
*
- * @param out the stream, where the key/value pairs are written to
- * @throws ClassCastException if this property contains any key or
+ * @param out the print stream, where the key/value pairs are written to
+ * @throws ClassCastException if this property contains a key or a
* value that isn't a string
- * @see #store(OutputStream, String)
+ * @see #list(PrintWriter)
*/
public void list(PrintStream out)
{
- Iterator iter = entrySet().iterator();
- int i = size();
- StringBuffer s = new StringBuffer(); // Reuse the same buffer.
- while (--i >= 0)
- {
- Map.Entry entry = (Map.Entry) iter.next();
- formatForOutput((String) entry.getKey(), s, true);
- s.append('=');
- formatForOutput((String) entry.getValue(), s, false);
- out.println(s);
- }
+ PrintWriter writer = new PrintWriter (out);
+ list (writer);
}
/**
- * Writes the key/value pairs to the given print writer. They are
- * written in the way, described in the method store.
+ * Prints the key/value pairs to the given print writer. This is
+ * mainly useful for debugging purposes.
*
- * @param out the writer, where the key/value pairs are written to
- * @throws ClassCastException if this property contains any key or
+ * @param out the print writer where the key/value pairs are written to
+ * @throws ClassCastException if this property contains a key or a
* value that isn't a string
- * @see #store(OutputStream, String)
* @see #list(PrintStream)
* @since 1.1
*/
public void list(PrintWriter out)
{
- Iterator iter = entrySet().iterator();
- int i = size();
- StringBuffer s = new StringBuffer(); // Reuse the same buffer.
+ out.println ("-- listing properties --");
+
+ Iterator iter = entrySet ().iterator ();
+ int i = size ();
while (--i >= 0)
{
- Map.Entry entry = (Map.Entry) iter.next();
- formatForOutput((String) entry.getKey(), s, true);
- s.append('=');
- formatForOutput((String) entry.getValue(), s, false);
- out.println(s);
+ Map.Entry entry = (Map.Entry) iter.next ();
+ out.print ((String) entry.getKey () + "=");
+
+ // JDK 1.3/1.4 restrict the printed value, but not the key,
+ // to 40 characters, including the truncating ellipsis.
+ String s = (String ) entry.getValue ();
+ if (s != null && s.length () > 40)
+ out.println (s.substring (0, 37) + "...");
+ else
+ out.println (s);
}
+ out.flush ();
}
/**
@@ -540,6 +559,7 @@ label = Name:\\u0020</pre>
case '=':
case ':':
buffer.append('\\').append(c);
+ break;
default:
if (c < ' ' || c > '~')
{
diff --git a/libjava/java/util/TreeMap.java b/libjava/java/util/TreeMap.java
index dfa9bc63881..e0cff28e02c 100644
--- a/libjava/java/util/TreeMap.java
+++ b/libjava/java/util/TreeMap.java
@@ -865,7 +865,7 @@ public class TreeMap extends AbstractMap
int rowsize;
// Fill each row that is completely full of nodes.
- for (rowsize = 2; rowsize + rowsize < count; rowsize <<= 1)
+ for (rowsize = 2; rowsize + rowsize <= count; rowsize <<= 1)
{
Node parent = row;
Node last = null;
@@ -1468,10 +1468,10 @@ public class TreeMap extends AbstractMap
*/
public void remove()
{
- if (knownMod != modCount)
- throw new ConcurrentModificationException();
if (last == null)
throw new IllegalStateException();
+ if (knownMod != modCount)
+ throw new ConcurrentModificationException();
removeNode(last);
last = null;
diff --git a/libjava/java/util/jar/JarFile.java b/libjava/java/util/jar/JarFile.java
index d6fd9846b6e..394b51af6d0 100644
--- a/libjava/java/util/jar/JarFile.java
+++ b/libjava/java/util/jar/JarFile.java
@@ -1,5 +1,5 @@
/* JarFile.java - Representation of a jar file
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -71,10 +71,10 @@ public class JarFile extends ZipFile
*/
private Manifest manifest;
- /** Wether to verify the manifest and all entries. */
+ /** Whether to verify the manifest and all entries. */
private boolean verify;
- /** Wether the has already been loaded. */
+ /** Whether the has already been loaded. */
private boolean manifestRead = false;
// Constructors
@@ -109,6 +109,11 @@ public class JarFile extends ZipFile
FileNotFoundException, IOException
{
super(fileName);
+ if (verify)
+ {
+ manifest = readManifest();
+ verify();
+ }
}
/**
@@ -141,6 +146,11 @@ public class JarFile extends ZipFile
IOException
{
super(file);
+ if (verify)
+ {
+ manifest = readManifest();
+ verify();
+ }
}
/**
@@ -165,6 +175,11 @@ public class JarFile extends ZipFile
FileNotFoundException, IOException, IllegalArgumentException
{
super(file, mode);
+ if (verify)
+ {
+ manifest = readManifest();
+ verify();
+ }
}
// Methods
@@ -196,15 +211,18 @@ public class JarFile extends ZipFile
if (manEntry != null)
{
InputStream in = super.getInputStream(manEntry);
+ manifestRead = true;
return new Manifest(in);
}
else
{
+ manifestRead = true;
return null;
}
}
catch (IOException ioe)
{
+ manifestRead = true;
return null;
}
}
diff --git a/libjava/java/util/natResourceBundle.cc b/libjava/java/util/natResourceBundle.cc
index 21a9565c996..35e90ee23d3 100644
--- a/libjava/java/util/natResourceBundle.cc
+++ b/libjava/java/util/natResourceBundle.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -16,17 +16,27 @@ details. */
#include <java/lang/SecurityManager.h>
#include <java/lang/ClassLoader.h>
#include <java/lang/Class.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
#include <gnu/gcj/runtime/StackTrace.h>
java::lang::ClassLoader *
java::util::ResourceBundle::getCallingClassLoader ()
{
gnu::gcj::runtime::StackTrace *t = new gnu::gcj::runtime::StackTrace(6);
- for (int i = 3; i < 6; ++i)
+ try
+ {
+ /* Frame 0 is this method, frame 1 is getBundle, so starting at
+ frame 2 we might see the user's class. FIXME: should account
+ for reflection, JNI, etc, here. */
+ for (int i = 2; ; ++i)
+ {
+ jclass klass = t->classAt(i);
+ if (klass != NULL)
+ return klass->getClassLoaderInternal();
+ }
+ }
+ catch (::java::lang::ArrayIndexOutOfBoundsException *e)
{
- jclass klass = t->classAt(i);
- if (klass != NULL)
- return klass->getClassLoaderInternal();
}
return NULL;
}
diff --git a/libjava/java/util/natTimeZone.cc b/libjava/java/util/natTimeZone.cc
index ea59293513d..cb564a97591 100644
--- a/libjava/java/util/natTimeZone.cc
+++ b/libjava/java/util/natTimeZone.cc
@@ -1,6 +1,6 @@
// natTimeZone.cc -- Native side of TimeZone class.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -9,12 +9,11 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
+#include <platform.h>
#include <gcj/cni.h>
#include <jvm.h>
-#include "platform.h"
-
#include <java/util/TimeZone.h>
#include <java/lang/Character.h>
#include <java/lang/Integer.h>
diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java
index 5aac73d7e5a..b04534977f1 100644
--- a/libjava/java/util/zip/InflaterInputStream.java
+++ b/libjava/java/util/zip/InflaterInputStream.java
@@ -1,5 +1,5 @@
/* InflaterInputStream.java - Input stream filter for decompressing
- Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -90,6 +90,8 @@ public class InflaterInputStream extends FilterInputStream
{
if (inf == null)
throw new IOException ("stream closed");
+ if (len == 0)
+ return 0;
if (inf.finished())
return -1;
diff --git a/libjava/java/util/zip/ZipEntry.java b/libjava/java/util/zip/ZipEntry.java
index c9f1b1d7d44..5284d793f6c 100644
--- a/libjava/java/util/zip/ZipEntry.java
+++ b/libjava/java/util/zip/ZipEntry.java
@@ -84,11 +84,15 @@ public class ZipEntry implements ZipConstants, Cloneable
* Creates a zip entry with the given name.
* @param name the name. May include directory components separated
* by '/'.
+ *
+ * @exception NullPointerException when name is null.
+ * @exception IllegalArgumentException when name is bigger then 65535 chars.
*/
public ZipEntry(String name)
{
- if (name == null)
- throw new NullPointerException();
+ int length = name.length();
+ if (length > 65535)
+ throw new IllegalArgumentException("name length is " + length);
this.name = name;
}
@@ -365,7 +369,7 @@ public class ZipEntry implements ZipConstants, Cloneable
*/
public void setComment(String comment)
{
- if (comment.length() > 0xffff)
+ if (comment != null && comment.length() > 0xffff)
throw new IllegalArgumentException();
this.comment = comment;
}
diff --git a/libjava/java/util/zip/ZipFile.java b/libjava/java/util/zip/ZipFile.java
index eb79d03e594..8f7ef6f8d6f 100644
--- a/libjava/java/util/zip/ZipFile.java
+++ b/libjava/java/util/zip/ZipFile.java
@@ -1,5 +1,5 @@
/* java.util.zip.ZipFile
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,6 +37,7 @@ exception statement from your version. */
package java.util.zip;
+import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInput;
import java.io.DataInputStream;
@@ -46,7 +47,8 @@ import java.io.IOException;
import java.io.EOFException;
import java.io.RandomAccessFile;
import java.util.Enumeration;
-import java.util.Hashtable;
+import java.util.HashMap;
+import java.util.Iterator;
import java.util.NoSuchElementException;
/**
@@ -58,6 +60,7 @@ import java.util.NoSuchElementException;
* entries in different threads.
*
* @author Jochen Hoenicke
+ * @author Artur Biesiadowski
*/
public class ZipFile implements ZipConstants
{
@@ -79,7 +82,7 @@ public class ZipFile implements ZipConstants
private final RandomAccessFile raf;
// The entries of this zip file when initialized and not yet closed.
- private Hashtable entries;
+ private HashMap entries;
private boolean closed = false;
@@ -137,33 +140,74 @@ public class ZipFile implements ZipConstants
}
/**
- * Read an unsigned short in little endian byte order.
+ * Read an unsigned short in little endian byte order from the given
+ * DataInput stream using the given byte buffer.
+ *
+ * @param di DataInput stream to read from.
+ * @param b the byte buffer to read in (must be at least 2 bytes long).
+ * @return The value read.
+ *
* @exception IOException if a i/o error occured.
* @exception EOFException if the file ends prematurely
*/
- private final int readLeShort(DataInput di) throws IOException
+ private final int readLeShort(DataInput di, byte[] b) throws IOException
{
- byte[] b = new byte[2];
- di.readFully(b);
+ di.readFully(b, 0, 2);
return (b[0] & 0xff) | (b[1] & 0xff) << 8;
}
/**
- * Read an int in little endian byte order.
+ * Read an int in little endian byte order from the given
+ * DataInput stream using the given byte buffer.
+ *
+ * @param di DataInput stream to read from.
+ * @param b the byte buffer to read in (must be at least 4 bytes long).
+ * @return The value read.
+ *
* @exception IOException if a i/o error occured.
* @exception EOFException if the file ends prematurely
*/
- private final int readLeInt(DataInput di) throws IOException
+ private final int readLeInt(DataInput di, byte[] b) throws IOException
{
- byte[] b = new byte[4];
- di.readFully(b);
+ di.readFully(b, 0, 4);
return ((b[0] & 0xff) | (b[1] & 0xff) << 8)
| ((b[2] & 0xff) | (b[3] & 0xff) << 8) << 16;
}
+
+ /**
+ * Read an unsigned short in little endian byte order from the given
+ * byte buffer at the given offset.
+ *
+ * @param b the byte array to read from.
+ * @param off the offset to read from.
+ * @return The value read.
+ */
+ private final int readLeShort(byte[] b, int off)
+ {
+ return (b[off] & 0xff) | (b[off+1] & 0xff) << 8;
+ }
+
+ /**
+ * Read an int in little endian byte order from the given
+ * byte buffer at the given offset.
+ *
+ * @param b the byte array to read from.
+ * @param off the offset to read from.
+ * @return The value read.
+ */
+ private final int readLeInt(byte[] b, int off)
+ {
+ return ((b[off] & 0xff) | (b[off+1] & 0xff) << 8)
+ | ((b[off+2] & 0xff) | (b[off+3] & 0xff) << 8) << 16;
+ }
+
+
/**
* Read the central directory of a zip file and fill the entries
- * array. This is called exactly once when first needed.
+ * array. This is called exactly once when first needed. It is called
+ * while holding the lock on <code>raf</code>.
+ *
* @exception IOException if a i/o error occured.
* @exception ZipException if the central directory is malformed
*/
@@ -175,6 +219,8 @@ public class ZipFile implements ZipConstants
* file isn't a zip file.
*/
long pos = raf.length() - ENDHDR;
+ byte[] ebs = new byte[CENHDR];
+
do
{
if (pos < 0)
@@ -182,45 +228,42 @@ public class ZipFile implements ZipConstants
("central directory not found, probably not a zip file: " + name);
raf.seek(pos--);
}
- while (readLeInt(raf) != ENDSIG);
+ while (readLeInt(raf, ebs) != ENDSIG);
+
if (raf.skipBytes(ENDTOT - ENDNRD) != ENDTOT - ENDNRD)
throw new EOFException(name);
- int count = readLeShort(raf);
+ int count = readLeShort(raf, ebs);
if (raf.skipBytes(ENDOFF - ENDSIZ) != ENDOFF - ENDSIZ)
throw new EOFException(name);
- int centralOffset = readLeInt(raf);
+ int centralOffset = readLeInt(raf, ebs);
- entries = new Hashtable(count);
+ entries = new HashMap(count+count/2);
raf.seek(centralOffset);
- byte[] ebs = new byte[24];
- ByteArrayInputStream ebais = new ByteArrayInputStream(ebs);
- DataInputStream edip = new DataInputStream(ebais);
+
+ byte[] buffer = new byte[16];
for (int i = 0; i < count; i++)
{
- if (readLeInt(raf) != CENSIG)
+ raf.readFully(ebs);
+ if (readLeInt(ebs, 0) != CENSIG)
throw new ZipException("Wrong Central Directory signature: " + name);
- if (raf.skipBytes(CENHOW - CENVEM) != CENHOW - CENVEM)
- throw new EOFException(name);
-
- raf.readFully(ebs);
- ebais.reset();
- int method = readLeShort(edip);
- int dostime = readLeInt(edip);
- int crc = readLeInt(edip);
- int csize = readLeInt(edip);
- int size = readLeInt(edip);
- int nameLen = readLeShort(edip);
- int extraLen = readLeShort(edip);
- int commentLen = readLeShort(edip);
-
- if (raf.skipBytes(CENOFF - CENDSK) != CENOFF - CENDSK)
- throw new EOFException(name);
- int offset = readLeInt(raf);
-
- byte[] buffer = new byte[Math.max(nameLen, commentLen)];
+
+ int method = readLeShort(ebs, CENHOW);
+ int dostime = readLeInt(ebs, CENTIM);
+ int crc = readLeInt(ebs, CENCRC);
+ int csize = readLeInt(ebs, CENSIZ);
+ int size = readLeInt(ebs, CENLEN);
+ int nameLen = readLeShort(ebs, CENNAM);
+ int extraLen = readLeShort(ebs, CENEXT);
+ int commentLen = readLeShort(ebs, CENCOM);
+
+ int offset = readLeInt(ebs, CENOFF);
+
+ int needBuffer = Math.max(nameLen, commentLen);
+ if (buffer.length < needBuffer)
+ buffer = new byte[needBuffer];
raf.readFully(buffer, 0, nameLen);
- String name = new String(buffer, 0, nameLen);
+ String name = new String(buffer, 0, 0, nameLen);
ZipEntry entry = new ZipEntry(name);
entry.setMethod(method);
@@ -248,6 +291,7 @@ public class ZipFile implements ZipConstants
* Closes the ZipFile. This also closes all input streams given by
* this class. After this is called, no further method should be
* called.
+ *
* @exception IOException if a i/o error occured.
*/
public void close() throws IOException
@@ -261,13 +305,22 @@ public class ZipFile implements ZipConstants
}
/**
+ * Calls the <code>close()</code> method when this ZipFile has not yet
+ * been explicitly closed.
+ */
+ protected void finalize() throws IOException
+ {
+ if (!closed) close();
+ }
+
+ /**
* Returns an enumeration of all Zip entries in this Zip file.
*/
public Enumeration entries()
{
try
{
- return new ZipEntryEnumeration(getEntries().elements());
+ return new ZipEntryEnumeration(getEntries().values().iterator());
}
catch (IOException ioe)
{
@@ -281,7 +334,7 @@ public class ZipFile implements ZipConstants
* @exception IllegalStateException when the ZipFile has already been closed.
* @exception IOEexception when the entries could not be read.
*/
- private Hashtable getEntries() throws IOException
+ private HashMap getEntries() throws IOException
{
synchronized(raf)
{
@@ -297,15 +350,16 @@ public class ZipFile implements ZipConstants
/**
* Searches for a zip entry in this archive with the given name.
+ *
* @param the name. May contain directory components separated by
* slashes ('/').
* @return the zip entry, or null if no entry with that name exists.
- * @see #entries */
+ */
public ZipEntry getEntry(String name)
{
try
{
- Hashtable entries = getEntries();
+ HashMap entries = getEntries();
ZipEntry entry = (ZipEntry) entries.get(name);
return entry != null ? (ZipEntry) entry.clone() : null;
}
@@ -315,10 +369,17 @@ public class ZipFile implements ZipConstants
}
}
+
+ //access should be protected by synchronized(raf)
+ private byte[] locBuf = new byte[LOCHDR];
+
/**
* Checks, if the local header of the entry at index i matches the
* central directory, and returns the offset to the data.
+ *
+ * @param entry to check.
* @return the start offset of the (compressed) data.
+ *
* @exception IOException if a i/o error occured.
* @exception ZipException if the local header doesn't match the
* central directory header
@@ -328,24 +389,18 @@ public class ZipFile implements ZipConstants
synchronized (raf)
{
raf.seek(entry.offset);
- if (readLeInt(raf) != LOCSIG)
+ raf.readFully(locBuf);
+
+ if (readLeInt(locBuf, 0) != LOCSIG)
throw new ZipException("Wrong Local header signature: " + name);
- /* skip version and flags */
- if (raf.skipBytes(LOCHOW - LOCVER) != LOCHOW - LOCVER)
- throw new EOFException(name);
-
- if (entry.getMethod() != readLeShort(raf))
+ if (entry.getMethod() != readLeShort(locBuf, LOCHOW))
throw new ZipException("Compression method mismatch: " + name);
- /* Skip time, crc, size and csize */
- if (raf.skipBytes(LOCNAM - LOCTIM) != LOCNAM - LOCTIM)
- throw new EOFException(name);
-
- if (entry.getName().length() != readLeShort(raf))
+ if (entry.getName().length() != readLeShort(locBuf, LOCNAM))
throw new ZipException("file name length mismatch: " + name);
- int extraLen = entry.getName().length() + readLeShort(raf);
+ int extraLen = entry.getName().length() + readLeShort(locBuf, LOCEXT);
return entry.offset + LOCHDR + extraLen;
}
}
@@ -354,13 +409,16 @@ public class ZipFile implements ZipConstants
* Creates an input stream reading the given zip entry as
* uncompressed data. Normally zip entry should be an entry
* returned by getEntry() or entries().
+ *
+ * @param entry the entry to create an InputStream for.
* @return the input stream.
+ *
* @exception IOException if a i/o error occured.
* @exception ZipException if the Zip archive is malformed.
*/
public InputStream getInputStream(ZipEntry entry) throws IOException
{
- Hashtable entries = getEntries();
+ HashMap entries = getEntries();
String name = entry.getName();
ZipEntry zipEntry = (ZipEntry) entries.get(name);
if (zipEntry == null)
@@ -368,8 +426,8 @@ public class ZipFile implements ZipConstants
long start = checkLocalHeader(zipEntry);
int method = zipEntry.getMethod();
- InputStream is = new PartialInputStream
- (raf, start, zipEntry.getCompressedSize());
+ InputStream is = new BufferedInputStream(new PartialInputStream
+ (raf, start, zipEntry.getCompressedSize()));
switch (method)
{
case ZipOutputStream.STORED:
@@ -406,16 +464,16 @@ public class ZipFile implements ZipConstants
private static class ZipEntryEnumeration implements Enumeration
{
- private final Enumeration elements;
+ private final Iterator elements;
- public ZipEntryEnumeration(Enumeration elements)
+ public ZipEntryEnumeration(Iterator elements)
{
this.elements = elements;
}
public boolean hasMoreElements()
{
- return elements.hasMoreElements();
+ return elements.hasNext();
}
public Object nextElement()
@@ -423,13 +481,13 @@ public class ZipFile implements ZipConstants
/* We return a clone, just to be safe that the user doesn't
* change the entry.
*/
- return ((ZipEntry)elements.nextElement()).clone();
+ return ((ZipEntry)elements.next()).clone();
}
}
private static class PartialInputStream extends InputStream
{
- RandomAccessFile raf;
+ private final RandomAccessFile raf;
long filepos, end;
public PartialInputStream(RandomAccessFile raf, long start, long len)
diff --git a/libjava/java/util/zip/ZipInputStream.java b/libjava/java/util/zip/ZipInputStream.java
index c4905978d74..2fba9f556dc 100644
--- a/libjava/java/util/zip/ZipInputStream.java
+++ b/libjava/java/util/zip/ZipInputStream.java
@@ -1,5 +1,5 @@
/* java.util.zip.ZipInputStream
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -286,6 +286,8 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
*/
public int read(byte[] b, int off, int len) throws IOException
{
+ if (len == 0)
+ return 0;
if (crc == null)
throw new IOException("Stream closed.");
if (entry == null)
diff --git a/libjava/javax/naming/InitialContext.java b/libjava/javax/naming/InitialContext.java
index 99ae426e9ab..705e24ad1eb 100644
--- a/libjava/javax/naming/InitialContext.java
+++ b/libjava/javax/naming/InitialContext.java
@@ -1,5 +1,5 @@
/* InitialContext.java --
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -126,18 +126,22 @@ public class InitialContext implements Context
}
catch (IOException e) {}
- String home = System.getProperty("java.home");
+ String home = System.getProperty("gnu.classpath.home.url");
if (home != null)
{
- String fileName = home + File.separator
- + "lib" + File.separator + "jndi.properties";
+ String url = home + "/jndi.properties";
Properties p = new Properties ();
- try {
- InputStream is = new FileInputStream (fileName);
- p.load (is);
- is.close ();
- } catch (IOException e) {}
+ try
+ {
+ InputStream is = new URL(url).openStream();
+ p.load (is);
+ is.close ();
+ }
+ catch (IOException e)
+ {
+ // Ignore.
+ }
merge (myProps, p);
}
diff --git a/libjava/javax/sql/ConnectionEvent.java b/libjava/javax/sql/ConnectionEvent.java
index 1c4b5ef5b71..b973dca3dc3 100644
--- a/libjava/javax/sql/ConnectionEvent.java
+++ b/libjava/javax/sql/ConnectionEvent.java
@@ -1,5 +1,5 @@
/* ConnectionEvent.java
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,8 +46,11 @@ import java.util.EventObject;
*/
public class ConnectionEvent extends EventObject
{
- private SQLException sqlException;
-
+ private static final long serialVersionUID = -4843217645290030002L;
+
+ // Note that the name is chosen for serialization.
+ private SQLException ex;
+
/**
* @since 1.4
*/
@@ -62,7 +65,7 @@ public class ConnectionEvent extends EventObject
public ConnectionEvent(PooledConnection con, SQLException ex)
{
super(con);
- this.sqlException = ex;
+ this.ex = ex;
}
/**
@@ -70,6 +73,6 @@ public class ConnectionEvent extends EventObject
*/
public SQLException getSQLException()
{
- return sqlException;
+ return ex;
}
}
diff --git a/libjava/jni.cc b/libjava/jni.cc
index b841b4fc481..7dd98364118 100644
--- a/libjava/jni.cc
+++ b/libjava/jni.cc
@@ -1,6 +1,6 @@
// jni.cc - JNI implementation, including the jump table.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -10,6 +10,7 @@ details. */
#include <config.h>
+#include <stdio.h>
#include <stddef.h>
#include <string.h>
@@ -1388,6 +1389,7 @@ static jarray
elementClass = unwrap (elementClass);
init = unwrap (init);
+ _Jv_CheckCast (elementClass, init);
jarray result = JvNewObjectArray (length, elementClass, init);
return (jarray) wrap_value (env, result);
}
@@ -1402,6 +1404,8 @@ static jobject
(JNICALL _Jv_JNI_GetObjectArrayElement) (JNIEnv *env, jobjectArray array,
jsize index)
{
+ if ((unsigned) index >= (unsigned) array->length)
+ _Jv_ThrowBadArrayIndex (index);
jobject *elts = elements (unwrap (array));
return wrap_value (env, elts[index]);
}
@@ -1416,6 +1420,8 @@ static void
value = unwrap (value);
_Jv_CheckArrayStore (array, value);
+ if ((unsigned) index >= (unsigned) array->length)
+ _Jv_ThrowBadArrayIndex (index);
jobject *elts = elements (array);
elts[index] = value;
}
@@ -2023,9 +2029,9 @@ _Jv_GetJNIEnvNewFrame (jclass klass)
// This is `extern "C"' because the compiler uses it.
extern "C" void *
_Jv_LookupJNIMethod (jclass klass, _Jv_Utf8Const *name,
- _Jv_Utf8Const *signature)
+ _Jv_Utf8Const *signature, int args_size)
{
- char buf[10 + 6 * (name->length + signature->length)];
+ char buf[10 + 6 * (name->length + signature->length) + 12];
int long_start;
void *function;
@@ -2045,18 +2051,72 @@ _Jv_LookupJNIMethod (jclass klass, _Jv_Utf8Const *name,
return function;
// If there was no override, then look in the symbol table.
- mangled_name (klass, name, signature, buf, &long_start);
- char c = buf[long_start];
- buf[long_start] = '\0';
- function = _Jv_FindSymbolInExecutable (buf);
+ buf[0] = '_';
+ mangled_name (klass, name, signature, buf + 1, &long_start);
+ char c = buf[long_start + 1];
+ buf[long_start + 1] = '\0';
+
+ function = _Jv_FindSymbolInExecutable (buf + 1);
+#ifdef WIN32
+ // On Win32, we use the "stdcall" calling convention (see JNICALL
+ // in jni.h).
+ //
+ // For a function named 'fooBar' that takes 'nn' bytes as arguments,
+ // by default, MinGW GCC exports it as 'fooBar@nn', MSVC exports it
+ // as '_fooBar@nn' and Borland C exports it as 'fooBar'. We try to
+ // take care of all these variations here.
+
+ char asz_buf[12]; /* '@' + '2147483647' (32-bit INT_MAX) + '\0' */
+ char long_nm_sv[11]; /* Ditto, except for the '\0'. */
+
if (function == NULL)
{
- buf[long_start] = c;
+ // We have tried searching for the 'fooBar' form (BCC) - now
+ // try the others.
+
+ // First, save the part of the long name that will be damaged
+ // by appending '@nn'.
+ memcpy (long_nm_sv, (buf + long_start + 1 + 1), sizeof (long_nm_sv));
+
+ sprintf (asz_buf, "@%d", args_size);
+ strcat (buf, asz_buf);
+
+ // Search for the '_fooBar@nn' form (MSVC).
function = _Jv_FindSymbolInExecutable (buf);
+
+ if (function == NULL)
+ {
+ // Search for the 'fooBar@nn' form (MinGW GCC).
+ function = _Jv_FindSymbolInExecutable (buf + 1);
+ }
+ }
+#else /* WIN32 */
+ args_size; /* Dummy statement to avoid unused parameter warning */
+#endif /* ! WIN32 */
+
+ if (function == NULL)
+ {
+ buf[long_start + 1] = c;
+#ifdef WIN32
+ // Restore the part of the long name that was damaged by
+ // appending the '@nn'.
+ memcpy ((buf + long_start + 1 + 1), long_nm_sv, sizeof (long_nm_sv));
+#endif /* WIN32 */
+ function = _Jv_FindSymbolInExecutable (buf + 1);
if (function == NULL)
{
- jstring str = JvNewStringUTF (name->data);
- throw new java::lang::UnsatisfiedLinkError (str);
+#ifdef WIN32
+ strcat (buf, asz_buf);
+ function = _Jv_FindSymbolInExecutable (buf);
+ if (function == NULL)
+ function = _Jv_FindSymbolInExecutable (buf + 1);
+
+ if (function == NULL)
+#endif /* WIN32 */
+ {
+ jstring str = JvNewStringUTF (name->data);
+ throw new java::lang::UnsatisfiedLinkError (str);
+ }
}
}
@@ -2087,9 +2147,17 @@ _Jv_JNIMethod::call (ffi_cif *, void *ret, ffi_raw *args, void *__this)
// time.
JvSynchronize sync (global_ref_table);
if (_this->function == NULL)
- _this->function = _Jv_LookupJNIMethod (_this->defining_class,
- _this->self->name,
- _this->self->signature);
+ {
+ int args_size = sizeof (JNIEnv *) + _this->args_raw_size;
+
+ if (_this->self->accflags & java::lang::reflect::Modifier::STATIC)
+ args_size += sizeof (_this->defining_class);
+
+ _this->function = _Jv_LookupJNIMethod (_this->defining_class,
+ _this->self->name,
+ _this->self->signature,
+ args_size);
+ }
}
JvAssert (_this->args_raw_size % sizeof (ffi_raw) == 0);
diff --git a/libjava/libgcj.spec.in b/libjava/libgcj.spec.in
index e1b3526f9cb..93d449d904d 100644
--- a/libjava/libgcj.spec.in
+++ b/libjava/libgcj.spec.in
@@ -6,4 +6,4 @@
%rename lib liborig
*lib: -lgcj -lm @LIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) %(liborig)
-*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ -fkeep-inline-functions
+*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ -fkeep-inline-functions
diff --git a/libjava/libltdl/ChangeLog b/libjava/libltdl/ChangeLog
index e84f3c7591b..d15b220db0b 100644
--- a/libjava/libltdl/ChangeLog
+++ b/libjava/libltdl/ChangeLog
@@ -1,3 +1,15 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-04-28 Mark Mitchell <mark@codesourcery.com>
* .cvsignore: Remove files that are present in CVS.
diff --git a/libjava/libtool-version b/libjava/libtool-version
index 318fd04b258..8c0164a94a0 100644
--- a/libjava/libtool-version
+++ b/libjava/libtool-version
@@ -3,4 +3,4 @@
# a separate file so that version updates don't involve re-running
# automake.
# CURRENT:REVISION:AGE
-3:0:0
+4:0:0
diff --git a/libjava/mauve-libgcj b/libjava/mauve-libgcj
index 64ee52e1cc8..46bb94ae804 100644
--- a/libjava/mauve-libgcj
+++ b/libjava/mauve-libgcj
@@ -15,7 +15,6 @@ JDBC2.0
# The following tests seem to hang or crash the testsuite.
# This a problem when running Mauve "standalone".
-!java.io.ObjectInputOutput
!java.lang.reflect.Array.newInstance
# Character.unicode seems to be very broken (the test)
@@ -26,3 +25,15 @@ JDBC2.0
# The behaviour of the garbarge collector cannot be predicted.
# Note the . at the end so we do test java.lang.reflect
!java.lang.ref.
+
+# There are a bunch of valid tests we can't pass in
+# this release.
+!java.security.Signature.getInstance14
+!java.security.Security.getProviders
+!java.security.Security.getAlgorithms
+!java.security.MessageDigest.getInstance14
+!java.security.KeyPairGenerator.getInstance14
+!java.security.KeyFactory.getInstance14
+!java.security.AlgorithmParameters.getInstance14
+!java.security.AlgorithmParameterGenerator.getInstance14
+!java.net.DatagramSocket.DatagramSocketTest2
diff --git a/libjava/org/xml/sax/AttributeList.java b/libjava/org/xml/sax/AttributeList.java
index 9ea9295e191..b1a647aa16e 100644
--- a/libjava/org/xml/sax/AttributeList.java
+++ b/libjava/org/xml/sax/AttributeList.java
@@ -1,191 +1,193 @@
-// SAX Attribute List Interface.
-// No warranty; no copyright -- use this as you will.
-// $Id: AttributeList.java,v 1.1 2000/10/02 02:43:16 sboag Exp $
-
-package org.xml.sax;
-
-/**
- * Interface for an element's attribute specifications.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This is the original SAX1 interface for reporting an element's
- * attributes. Unlike the new {@link org.xml.sax.Attributes Attributes}
- * interface, it does not support Namespace-related information.</p>
- *
- * <p>When an attribute list is supplied as part of a
- * {@link org.xml.sax.DocumentHandler#startElement startElement}
- * event, the list will return valid results only during the
- * scope of the event; once the event handler returns control
- * to the parser, the attribute list is invalid. To save a
- * persistent copy of the attribute list, use the SAX1
- * {@link org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
- * helper class.</p>
- *
- * <p>An attribute list includes only attributes that have been
- * specified or defaulted: #IMPLIED attributes will not be included.</p>
- *
- * <p>There are two ways for the SAX application to obtain information
- * from the AttributeList. First, it can iterate through the entire
- * list:</p>
- *
- * <pre>
- * public void startElement (String name, AttributeList atts) {
- * for (int i = 0; i < atts.getLength(); i++) {
- * String name = atts.getName(i);
- * String type = atts.getType(i);
- * String value = atts.getValue(i);
- * [...]
- * }
- * }
- * </pre>
- *
- * <p>(Note that the result of getLength() will be zero if there
- * are no attributes.)
- *
- * <p>As an alternative, the application can request the value or
- * type of specific attributes:</p>
- *
- * <pre>
- * public void startElement (String name, AttributeList atts) {
- * String identifier = atts.getValue("id");
- * String label = atts.getValue("label");
- * [...]
- * }
- * </pre>
- *
- * @deprecated This interface has been replaced by the SAX2
- * {@link org.xml.sax.Attributes Attributes}
- * interface, which includes Namespace support.
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.DocumentHandler#startElement startElement
- * @see org.xml.sax.helpers.AttributeListImpl AttributeListImpl
- */
-public interface AttributeList {
-
-
- ////////////////////////////////////////////////////////////////////
- // Iteration methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in this list.
- *
- * <p>The SAX parser may provide attributes in any
- * arbitrary order, regardless of the order in which they were
- * declared or specified. The number of attributes may be
- * zero.</p>
- *
- * @return The number of attributes in the list.
- */
- public abstract int getLength ();
-
-
- /**
- * Return the name of an attribute in this list (by position).
- *
- * <p>The names must be unique: the SAX parser shall not include the
- * same attribute twice. Attributes without values (those declared
- * #IMPLIED without a value specified in the start tag) will be
- * omitted from the list.</p>
- *
- * <p>If the attribute name has a namespace prefix, the prefix
- * will still be attached.</p>
- *
- * @param i The index of the attribute in the list (starting at 0).
- * @return The name of the indexed attribute, or null
- * if the index is out of range.
- * @see #getLength
- */
- public abstract String getName (int i);
-
-
- /**
- * Return the type of an attribute in the list (by position).
- *
- * <p>The attribute type is one of the strings "CDATA", "ID",
- * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
- * or "NOTATION" (always in upper case).</p>
- *
- * <p>If the parser has not read a declaration for the attribute,
- * or if the parser does not report attribute types, then it must
- * return the value "CDATA" as stated in the XML 1.0 Recommentation
- * (clause 3.3.3, "Attribute-Value Normalization").</p>
- *
- * <p>For an enumerated attribute that is not a notation, the
- * parser will report the type as "NMTOKEN".</p>
- *
- * @param i The index of the attribute in the list (starting at 0).
- * @return The attribute type as a string, or
- * null if the index is out of range.
- * @see #getLength
- * @see #getType(java.lang.String)
- */
- public abstract String getType (int i);
-
-
- /**
- * Return the value of an attribute in the list (by position).
- *
- * <p>If the attribute value is a list of tokens (IDREFS,
- * ENTITIES, or NMTOKENS), the tokens will be concatenated
- * into a single string separated by whitespace.</p>
- *
- * @param i The index of the attribute in the list (starting at 0).
- * @return The attribute value as a string, or
- * null if the index is out of range.
- * @see #getLength
- * @see #getValue(java.lang.String)
- */
- public abstract String getValue (int i);
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Lookup methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the type of an attribute in the list (by name).
- *
- * <p>The return value is the same as the return value for
- * getType(int).</p>
- *
- * <p>If the attribute name has a namespace prefix in the document,
- * the application must include the prefix here.</p>
- *
- * @param name The name of the attribute.
- * @return The attribute type as a string, or null if no
- * such attribute exists.
- * @see #getType(int)
- */
- public abstract String getType (String name);
-
-
- /**
- * Return the value of an attribute in the list (by name).
- *
- * <p>The return value is the same as the return value for
- * getValue(int).</p>
- *
- * <p>If the attribute name has a namespace prefix in the document,
- * the application must include the prefix here.</p>
- *
- * @param i The index of the attribute in the list.
- * @return The attribute value as a string, or null if
- * no such attribute exists.
- * @see #getValue(int)
- */
- public abstract String getValue (String name);
-
-}
-
-// end of AttributeList.java
+// SAX Attribute List Interface.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: AttributeList.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+/**
+ * Interface for an element's attribute specifications.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This is the original SAX1 interface for reporting an element's
+ * attributes. Unlike the new {@link org.xml.sax.Attributes Attributes}
+ * interface, it does not support Namespace-related information.</p>
+ *
+ * <p>When an attribute list is supplied as part of a
+ * {@link org.xml.sax.DocumentHandler#startElement startElement}
+ * event, the list will return valid results only during the
+ * scope of the event; once the event handler returns control
+ * to the parser, the attribute list is invalid. To save a
+ * persistent copy of the attribute list, use the SAX1
+ * {@link org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
+ * helper class.</p>
+ *
+ * <p>An attribute list includes only attributes that have been
+ * specified or defaulted: #IMPLIED attributes will not be included.</p>
+ *
+ * <p>There are two ways for the SAX application to obtain information
+ * from the AttributeList. First, it can iterate through the entire
+ * list:</p>
+ *
+ * <pre>
+ * public void startElement (String name, AttributeList atts) {
+ * for (int i = 0; i < atts.getLength(); i++) {
+ * String name = atts.getName(i);
+ * String type = atts.getType(i);
+ * String value = atts.getValue(i);
+ * [...]
+ * }
+ * }
+ * </pre>
+ *
+ * <p>(Note that the result of getLength() will be zero if there
+ * are no attributes.)
+ *
+ * <p>As an alternative, the application can request the value or
+ * type of specific attributes:</p>
+ *
+ * <pre>
+ * public void startElement (String name, AttributeList atts) {
+ * String identifier = atts.getValue("id");
+ * String label = atts.getValue("label");
+ * [...]
+ * }
+ * </pre>
+ *
+ * @deprecated This interface has been replaced by the SAX2
+ * {@link org.xml.sax.Attributes Attributes}
+ * interface, which includes Namespace support.
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.DocumentHandler#startElement startElement
+ * @see org.xml.sax.helpers.AttributeListImpl AttributeListImpl
+ */
+public interface AttributeList {
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Iteration methods.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Return the number of attributes in this list.
+ *
+ * <p>The SAX parser may provide attributes in any
+ * arbitrary order, regardless of the order in which they were
+ * declared or specified. The number of attributes may be
+ * zero.</p>
+ *
+ * @return The number of attributes in the list.
+ */
+ public abstract int getLength ();
+
+
+ /**
+ * Return the name of an attribute in this list (by position).
+ *
+ * <p>The names must be unique: the SAX parser shall not include the
+ * same attribute twice. Attributes without values (those declared
+ * #IMPLIED without a value specified in the start tag) will be
+ * omitted from the list.</p>
+ *
+ * <p>If the attribute name has a namespace prefix, the prefix
+ * will still be attached.</p>
+ *
+ * @param i The index of the attribute in the list (starting at 0).
+ * @return The name of the indexed attribute, or null
+ * if the index is out of range.
+ * @see #getLength
+ */
+ public abstract String getName (int i);
+
+
+ /**
+ * Return the type of an attribute in the list (by position).
+ *
+ * <p>The attribute type is one of the strings "CDATA", "ID",
+ * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
+ * or "NOTATION" (always in upper case).</p>
+ *
+ * <p>If the parser has not read a declaration for the attribute,
+ * or if the parser does not report attribute types, then it must
+ * return the value "CDATA" as stated in the XML 1.0 Recommentation
+ * (clause 3.3.3, "Attribute-Value Normalization").</p>
+ *
+ * <p>For an enumerated attribute that is not a notation, the
+ * parser will report the type as "NMTOKEN".</p>
+ *
+ * @param i The index of the attribute in the list (starting at 0).
+ * @return The attribute type as a string, or
+ * null if the index is out of range.
+ * @see #getLength
+ * @see #getType(java.lang.String)
+ */
+ public abstract String getType (int i);
+
+
+ /**
+ * Return the value of an attribute in the list (by position).
+ *
+ * <p>If the attribute value is a list of tokens (IDREFS,
+ * ENTITIES, or NMTOKENS), the tokens will be concatenated
+ * into a single string separated by whitespace.</p>
+ *
+ * @param i The index of the attribute in the list (starting at 0).
+ * @return The attribute value as a string, or
+ * null if the index is out of range.
+ * @see #getLength
+ * @see #getValue(java.lang.String)
+ */
+ public abstract String getValue (int i);
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Lookup methods.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Return the type of an attribute in the list (by name).
+ *
+ * <p>The return value is the same as the return value for
+ * getType(int).</p>
+ *
+ * <p>If the attribute name has a namespace prefix in the document,
+ * the application must include the prefix here.</p>
+ *
+ * @param name The name of the attribute.
+ * @return The attribute type as a string, or null if no
+ * such attribute exists.
+ * @see #getType(int)
+ */
+ public abstract String getType (String name);
+
+
+ /**
+ * Return the value of an attribute in the list (by name).
+ *
+ * <p>The return value is the same as the return value for
+ * getValue(int).</p>
+ *
+ * <p>If the attribute name has a namespace prefix in the document,
+ * the application must include the prefix here.</p>
+ *
+ * @param i The index of the attribute in the list.
+ * @return The attribute value as a string, or null if
+ * no such attribute exists.
+ * @see #getValue(int)
+ */
+ public abstract String getValue (String name);
+
+}
+
+// end of AttributeList.java
diff --git a/libjava/org/xml/sax/Attributes.java b/libjava/org/xml/sax/Attributes.java
index f10067a9288..251fe206a00 100644
--- a/libjava/org/xml/sax/Attributes.java
+++ b/libjava/org/xml/sax/Attributes.java
@@ -1,243 +1,252 @@
-// Attributes.java - attribute list with Namespace support
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the public domain.
-
-// $Id: Attributes.java,v 1.1 2000/10/02 02:43:16 sboag Exp $
-
-
-package org.xml.sax;
-
-
-/**
- * Interface for a list of XML attributes.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This interface allows access to a list of attributes in
- * three different ways:</p>
- *
- * <ol>
- * <li>by attribute index;</li>
- * <li>by Namespace-qualified name; or</li>
- * <li>by qualified (prefixed) name.</li>
- * </ol>
- *
- * <p>The list will not contain attributes that were declared
- * #IMPLIED but not specified in the start tag. It will also not
- * contain attributes used as Namespace declarations (xmlns*) unless
- * the <code>http://xml.org/sax/features/namespace-prefixes</code>
- * feature is set to <var>true</var> (it is <var>false</var> by
- * default).</p>
- *
- * <p>If the namespace-prefixes feature (see above) is <var>false</var>,
- * access by qualified name may not be available; if the
- * <code>http://xml.org/sax/features/namespaces</code>
- * feature is <var>false</var>, access by Namespace-qualified names
- * may not be available.</p>
- *
- * <p>This interface replaces the now-deprecated SAX1 {@link
- * org.xml.sax.AttributeList AttributeList} interface, which does not
- * contain Namespace support. In addition to Namespace support, it
- * adds the <var>getIndex</var> methods (below).</p>
- *
- * <p>The order of attributes in the list is unspecified, and will
- * vary from implementation to implementation.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.helpers.AttributeListImpl
- */
-public interface Attributes
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Indexed access.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in the list.
- *
- * <p>Once you know the number of attributes, you can iterate
- * through the list.</p>
- *
- * @return The number of attributes in the list.
- * @see #getURI(int)
- * @see #getLocalName(int)
- * @see #getQName(int)
- * @see #getType(int)
- * @see #getValue(int)
- */
- public abstract int getLength ();
-
-
- /**
- * Look up an attribute's Namespace URI by index.
- *
- * @param index The attribute index (zero-based).
- * @return The Namespace URI, or the empty string if none
- * is available, or null if the index is out of
- * range.
- * @see #getLength
- */
- public abstract String getURI (int index);
-
-
- /**
- * Look up an attribute's local name by index.
- *
- * @param index The attribute index (zero-based).
- * @return The local name, or the empty string if Namespace
- * processing is not being performed, or null
- * if the index is out of range.
- * @see #getLength
- */
- public abstract String getLocalName (int index);
-
-
- /**
- * Look up an attribute's XML 1.0 qualified name by index.
- *
- * @param index The attribute index (zero-based).
- * @return The XML 1.0 qualified name, or the empty string
- * if none is available, or null if the index
- * is out of range.
- * @see #getLength
- */
- public abstract String getQName (int index);
-
-
- /**
- * Look up an attribute's type by index.
- *
- * <p>The attribute type is one of the strings "CDATA", "ID",
- * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
- * or "NOTATION" (always in upper case).</p>
- *
- * <p>If the parser has not read a declaration for the attribute,
- * or if the parser does not report attribute types, then it must
- * return the value "CDATA" as stated in the XML 1.0 Recommentation
- * (clause 3.3.3, "Attribute-Value Normalization").</p>
- *
- * <p>For an enumerated attribute that is not a notation, the
- * parser will report the type as "NMTOKEN".</p>
- *
- * @param index The attribute index (zero-based).
- * @return The attribute's type as a string, or null if the
- * index is out of range.
- * @see #getLength
- */
- public abstract String getType (int index);
-
-
- /**
- * Look up an attribute's value by index.
- *
- * <p>If the attribute value is a list of tokens (IDREFS,
- * ENTITIES, or NMTOKENS), the tokens will be concatenated
- * into a single string with each token separated by a
- * single space.</p>
- *
- * @param index The attribute index (zero-based).
- * @return The attribute's value as a string, or null if the
- * index is out of range.
- * @see #getLength
- */
- public abstract String getValue (int index);
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Name-based query.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Look up the index of an attribute by Namespace name.
- *
- * @param uri The Namespace URI, or the empty string if
- * the name has no Namespace URI.
- * @param localName The attribute's local name.
- * @return The index of the attribute, or -1 if it does not
- * appear in the list.
- */
- public int getIndex (String uri, String localPart);
-
-
- /**
- * Look up the index of an attribute by XML 1.0 qualified name.
- *
- * @param qName The qualified (prefixed) name.
- * @return The index of the attribute, or -1 if it does not
- * appear in the list.
- */
- public int getIndex (String qName);
-
-
- /**
- * Look up an attribute's type by Namespace name.
- *
- * <p>See {@link #getType(int) getType(int)} for a description
- * of the possible types.</p>
- *
- * @param uri The Namespace URI, or the empty String if the
- * name has no Namespace URI.
- * @param localName The local name of the attribute.
- * @return The attribute type as a string, or null if the
- * attribute is not in the list or if Namespace
- * processing is not being performed.
- */
- public abstract String getType (String uri, String localName);
-
-
- /**
- * Look up an attribute's type by XML 1.0 qualified name.
- *
- * <p>See {@link #getType(int) getType(int)} for a description
- * of the possible types.</p>
- *
- * @param qName The XML 1.0 qualified name.
- * @return The attribute type as a string, or null if the
- * attribute is not in the list or if qualified names
- * are not available.
- */
- public abstract String getType (String qName);
-
-
- /**
- * Look up an attribute's value by Namespace name.
- *
- * <p>See {@link #getValue(int) getValue(int)} for a description
- * of the possible values.</p>
- *
- * @param uri The Namespace URI, or the empty String if the
- * name has no Namespace URI.
- * @param localName The local name of the attribute.
- * @return The attribute value as a string, or null if the
- * attribute is not in the list.
- */
- public abstract String getValue (String uri, String localName);
-
-
- /**
- * Look up an attribute's value by XML 1.0 qualified name.
- *
- * <p>See {@link #getValue(int) getValue(int)} for a description
- * of the possible values.</p>
- *
- * @param qName The XML 1.0 qualified name.
- * @return The attribute value as a string, or null if the
- * attribute is not in the list or if qualified names
- * are not available.
- */
- public abstract String getValue (String qName);
-
-}
-
-// end of Attributes.java
+// Attributes.java - attribute list with Namespace support
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the public domain.
+
+// $Id: Attributes.java,v 1.5.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+
+package org.xml.sax;
+
+
+/**
+ * Interface for a list of XML attributes.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This interface allows access to a list of attributes in
+ * three different ways:</p>
+ *
+ * <ol>
+ * <li>by attribute index;</li>
+ * <li>by Namespace-qualified name; or</li>
+ * <li>by qualified (prefixed) name.</li>
+ * </ol>
+ *
+ * <p>The list will not contain attributes that were declared
+ * #IMPLIED but not specified in the start tag. It will also not
+ * contain attributes used as Namespace declarations (xmlns*) unless
+ * the <code>http://xml.org/sax/features/namespace-prefixes</code>
+ * feature is set to <var>true</var> (it is <var>false</var> by
+ * default).
+ * Because SAX2 conforms to the "Namespaces in XML" specification,
+ * it does not give namespace declaration attributes a namespace URI.
+ * Some other W3C specifications are in conflict with that, expecting
+ * these declarations to be in a namespace.
+ * Handler code may need to resolve that conflict.
+ * </p>
+ *
+ * <p>If the namespace-prefixes feature (see above) is <var>false</var>,
+ * access by qualified name may not be available; if the
+ * <code>http://xml.org/sax/features/namespaces</code>
+ * feature is <var>false</var>, access by Namespace-qualified names
+ * may not be available.</p>
+ *
+ * <p>This interface replaces the now-deprecated SAX1 {@link
+ * org.xml.sax.AttributeList AttributeList} interface, which does not
+ * contain Namespace support. In addition to Namespace support, it
+ * adds the <var>getIndex</var> methods (below).</p>
+ *
+ * <p>The order of attributes in the list is unspecified, and will
+ * vary from implementation to implementation.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.helpers.AttributesImpl
+ * @see org.xml.sax.ext.DeclHandler#attributeDecl
+ */
+public interface Attributes
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Indexed access.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Return the number of attributes in the list.
+ *
+ * <p>Once you know the number of attributes, you can iterate
+ * through the list.</p>
+ *
+ * @return The number of attributes in the list.
+ * @see #getURI(int)
+ * @see #getLocalName(int)
+ * @see #getQName(int)
+ * @see #getType(int)
+ * @see #getValue(int)
+ */
+ public abstract int getLength ();
+
+
+ /**
+ * Look up an attribute's Namespace URI by index.
+ *
+ * @param index The attribute index (zero-based).
+ * @return The Namespace URI, or the empty string if none
+ * is available, or null if the index is out of
+ * range.
+ * @see #getLength
+ */
+ public abstract String getURI (int index);
+
+
+ /**
+ * Look up an attribute's local name by index.
+ *
+ * @param index The attribute index (zero-based).
+ * @return The local name, or the empty string if Namespace
+ * processing is not being performed, or null
+ * if the index is out of range.
+ * @see #getLength
+ */
+ public abstract String getLocalName (int index);
+
+
+ /**
+ * Look up an attribute's XML 1.0 qualified name by index.
+ *
+ * @param index The attribute index (zero-based).
+ * @return The XML 1.0 qualified name, or the empty string
+ * if none is available, or null if the index
+ * is out of range.
+ * @see #getLength
+ */
+ public abstract String getQName (int index);
+
+
+ /**
+ * Look up an attribute's type by index.
+ *
+ * <p>The attribute type is one of the strings "CDATA", "ID",
+ * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
+ * or "NOTATION" (always in upper case).</p>
+ *
+ * <p>If the parser has not read a declaration for the attribute,
+ * or if the parser does not report attribute types, then it must
+ * return the value "CDATA" as stated in the XML 1.0 Recommentation
+ * (clause 3.3.3, "Attribute-Value Normalization").</p>
+ *
+ * <p>For an enumerated attribute that is not a notation, the
+ * parser will report the type as "NMTOKEN".</p>
+ *
+ * @param index The attribute index (zero-based).
+ * @return The attribute's type as a string, or null if the
+ * index is out of range.
+ * @see #getLength
+ */
+ public abstract String getType (int index);
+
+
+ /**
+ * Look up an attribute's value by index.
+ *
+ * <p>If the attribute value is a list of tokens (IDREFS,
+ * ENTITIES, or NMTOKENS), the tokens will be concatenated
+ * into a single string with each token separated by a
+ * single space.</p>
+ *
+ * @param index The attribute index (zero-based).
+ * @return The attribute's value as a string, or null if the
+ * index is out of range.
+ * @see #getLength
+ */
+ public abstract String getValue (int index);
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Name-based query.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Look up the index of an attribute by Namespace name.
+ *
+ * @param uri The Namespace URI, or the empty string if
+ * the name has no Namespace URI.
+ * @param localName The attribute's local name.
+ * @return The index of the attribute, or -1 if it does not
+ * appear in the list.
+ */
+ public int getIndex (String uri, String localName);
+
+
+ /**
+ * Look up the index of an attribute by XML 1.0 qualified name.
+ *
+ * @param qName The qualified (prefixed) name.
+ * @return The index of the attribute, or -1 if it does not
+ * appear in the list.
+ */
+ public int getIndex (String qName);
+
+
+ /**
+ * Look up an attribute's type by Namespace name.
+ *
+ * <p>See {@link #getType(int) getType(int)} for a description
+ * of the possible types.</p>
+ *
+ * @param uri The Namespace URI, or the empty String if the
+ * name has no Namespace URI.
+ * @param localName The local name of the attribute.
+ * @return The attribute type as a string, or null if the
+ * attribute is not in the list or if Namespace
+ * processing is not being performed.
+ */
+ public abstract String getType (String uri, String localName);
+
+
+ /**
+ * Look up an attribute's type by XML 1.0 qualified name.
+ *
+ * <p>See {@link #getType(int) getType(int)} for a description
+ * of the possible types.</p>
+ *
+ * @param qName The XML 1.0 qualified name.
+ * @return The attribute type as a string, or null if the
+ * attribute is not in the list or if qualified names
+ * are not available.
+ */
+ public abstract String getType (String qName);
+
+
+ /**
+ * Look up an attribute's value by Namespace name.
+ *
+ * <p>See {@link #getValue(int) getValue(int)} for a description
+ * of the possible values.</p>
+ *
+ * @param uri The Namespace URI, or the empty String if the
+ * name has no Namespace URI.
+ * @param localName The local name of the attribute.
+ * @return The attribute value as a string, or null if the
+ * attribute is not in the list.
+ */
+ public abstract String getValue (String uri, String localName);
+
+
+ /**
+ * Look up an attribute's value by XML 1.0 qualified name.
+ *
+ * <p>See {@link #getValue(int) getValue(int)} for a description
+ * of the possible values.</p>
+ *
+ * @param qName The XML 1.0 qualified name.
+ * @return The attribute value as a string, or null if the
+ * attribute is not in the list or if qualified names
+ * are not available.
+ */
+ public abstract String getValue (String qName);
+
+}
+
+// end of Attributes.java
diff --git a/libjava/org/xml/sax/ContentHandler.java b/libjava/org/xml/sax/ContentHandler.java
index 0d84d0eae99..06462c51eec 100644
--- a/libjava/org/xml/sax/ContentHandler.java
+++ b/libjava/org/xml/sax/ContentHandler.java
@@ -1,374 +1,408 @@
-// ContentHandler.java - handle main document content.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the public domain.
-
-// $Id: ContentHandler.java,v 1.1 2000/10/02 02:43:16 sboag Exp $
-
-package org.xml.sax;
-
-
-/**
- * Receive notification of the logical content of a document.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This is the main interface that most SAX applications
- * implement: if the application needs to be informed of basic parsing
- * events, it implements this interface and registers an instance with
- * the SAX parser using the {@link org.xml.sax.XMLReader#setContentHandler
- * setContentHandler} method. The parser uses the instance to report
- * basic document-related events like the start and end of elements
- * and character data.</p>
- *
- * <p>The order of events in this interface is very important, and
- * mirrors the order of information in the document itself. For
- * example, all of an element's content (character data, processing
- * instructions, and/or subelements) will appear, in order, between
- * the startElement event and the corresponding endElement event.</p>
- *
- * <p>This interface is similar to the now-deprecated SAX 1.0
- * DocumentHandler interface, but it adds support for Namespaces
- * and for reporting skipped entities (in non-validating XML
- * processors).</p>
- *
- * <p>Implementors should note that there is also a Java class
- * {@link java.net.ContentHandler ContentHandler} in the java.net
- * package; that means that it's probably a bad idea to do</p>
- *
- * <blockquote>
- * import java.net.*;
- * import org.xml.sax.*;
- * </blockquote>
- *
- * <p>In fact, "import ...*" is usually a sign of sloppy programming
- * anyway, so the user should consider this a feature rather than a
- * bug.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.XMLReader
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.ErrorHandler
- */
-public interface ContentHandler
-{
-
- /**
- * Receive an object for locating the origin of SAX document events.
- *
- * <p>SAX parsers are strongly encouraged (though not absolutely
- * required) to supply a locator: if it does so, it must supply
- * the locator to the application by invoking this method before
- * invoking any of the other methods in the ContentHandler
- * interface.</p>
- *
- * <p>The locator allows the application to determine the end
- * position of any document-related event, even if the parser is
- * not reporting an error. Typically, the application will
- * use this information for reporting its own errors (such as
- * character content that does not match an application's
- * business rules). The information returned by the locator
- * is probably not sufficient for use with a search engine.</p>
- *
- * <p>Note that the locator will return correct information only
- * during the invocation of the events in this interface. The
- * application should not attempt to use it at any other time.</p>
- *
- * @param locator An object that can return the location of
- * any SAX document event.
- * @see org.xml.sax.Locator
- */
- public void setDocumentLocator (Locator locator);
-
-
- /**
- * Receive notification of the beginning of a document.
- *
- * <p>The SAX parser will invoke this method only once, before any
- * other methods in this interface or in {@link org.xml.sax.DTDHandler
- * DTDHandler} (except for {@link #setDocumentLocator
- * setDocumentLocator}).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #endDocument
- */
- public void startDocument ()
- throws SAXException;
-
-
- /**
- * Receive notification of the end of a document.
- *
- * <p>The SAX parser will invoke this method only once, and it will
- * be the last method invoked during the parse. The parser shall
- * not invoke this method until it has either abandoned parsing
- * (because of an unrecoverable error) or reached the end of
- * input.</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #startDocument
- */
- public void endDocument()
- throws SAXException;
-
-
- /**
- * Begin the scope of a prefix-URI Namespace mapping.
- *
- * <p>The information from this event is not necessary for
- * normal Namespace processing: the SAX XML reader will
- * automatically replace prefixes for element and attribute
- * names when the <code>http://xml.org/sax/features/namespaces</code>
- * feature is <var>true</var> (the default).</p>
- *
- * <p>There are cases, however, when applications need to
- * use prefixes in character data or in attribute values,
- * where they cannot safely be expanded automatically; the
- * start/endPrefixMapping event supplies the information
- * to the application to expand prefixes in those contexts
- * itself, if necessary.</p>
- *
- * <p>Note that start/endPrefixMapping events are not
- * guaranteed to be properly nested relative to each-other:
- * all startPrefixMapping events will occur before the
- * corresponding {@link #startElement startElement} event,
- * and all {@link #endPrefixMapping endPrefixMapping}
- * events will occur after the corresponding {@link #endElement
- * endElement} event, but their order is not otherwise
- * guaranteed.</p>
- *
- * <p>There should never be start/endPrefixMapping events for the
- * "xml" prefix, since it is predeclared and immutable.</p>
- *
- * @param prefix The Namespace prefix being declared.
- * @param uri The Namespace URI the prefix is mapped to.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see #endPrefixMapping
- * @see #startElement
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException;
-
-
- /**
- * End the scope of a prefix-URI mapping.
- *
- * <p>See {@link #startPrefixMapping startPrefixMapping} for
- * details. This event will always occur after the corresponding
- * {@link #endElement endElement} event, but the order of
- * {@link #endPrefixMapping endPrefixMapping} events is not otherwise
- * guaranteed.</p>
- *
- * @param prefix The prefix that was being mapping.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see #startPrefixMapping
- * @see #endElement
- */
- public void endPrefixMapping (String prefix)
- throws SAXException;
-
-
- /**
- * Receive notification of the beginning of an element.
- *
- * <p>The Parser will invoke this method at the beginning of every
- * element in the XML document; there will be a corresponding
- * {@link #endElement endElement} event for every startElement event
- * (even when the element is empty). All of the element's content will be
- * reported, in order, before the corresponding endElement
- * event.</p>
- *
- * <p>This event allows up to three name components for each
- * element:</p>
- *
- * <ol>
- * <li>the Namespace URI;</li>
- * <li>the local name; and</li>
- * <li>the qualified (prefixed) name.</li>
- * </ol>
- *
- * <p>Any or all of these may be provided, depending on the
- * values of the <var>http://xml.org/sax/features/namespaces</var>
- * and the <var>http://xml.org/sax/features/namespace-prefixes</var>
- * properties:</p>
- *
- * <ul>
- * <li>the Namespace URI and local name are required when
- * the namespaces property is <var>true</var> (the default), and are
- * optional when the namespaces property is <var>false</var> (if one is
- * specified, both must be);</li>
- * <li>the qualified name is required when the namespace-prefixes property
- * is <var>true</var>, and is optional when the namespace-prefixes property
- * is <var>false</var> (the default).</li>
- * </ul>
- *
- * <p>Note that the attribute list provided will contain only
- * attributes with explicit values (specified or defaulted):
- * #IMPLIED attributes will be omitted. The attribute list
- * will contain attributes used for Namespace declarations
- * (xmlns* attributes) only if the
- * <code>http://xml.org/sax/features/namespace-prefixes</code>
- * property is true (it is false by default, and support for a
- * true value is optional).</p>
- *
- * @param uri The Namespace URI, or the empty string if the
- * element has no Namespace URI or if Namespace
- * processing is not being performed.
- * @param localName The local name (without prefix), or the
- * empty string if Namespace processing is not being
- * performed.
- * @param qName The qualified name (with prefix), or the
- * empty string if qualified names are not available.
- * @param atts The attributes attached to the element. If
- * there are no attributes, it shall be an empty
- * Attributes object.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #endElement
- * @see org.xml.sax.Attributes
- */
- public void startElement (String namespaceURI, String localName,
- String qName, Attributes atts)
- throws SAXException;
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>The SAX parser will invoke this method at the end of every
- * element in the XML document; there will be a corresponding
- * {@link #startElement startElement} event for every endElement
- * event (even when the element is empty).</p>
- *
- * <p>For information on the names, see startElement.</p>
- *
- * @param uri The Namespace URI, or the empty string if the
- * element has no Namespace URI or if Namespace
- * processing is not being performed.
- * @param localName The local name (without prefix), or the
- * empty string if Namespace processing is not being
- * performed.
- * @param qName The qualified XML 1.0 name (with prefix), or the
- * empty string if qualified names are not available.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public void endElement (String namespaceURI, String localName,
- String qName)
- throws SAXException;
-
-
- /**
- * Receive notification of character data.
- *
- * <p>The Parser will call this method to report each chunk of
- * character data. SAX parsers may return all contiguous character
- * data in a single chunk, or they may split it into several
- * chunks; however, all of the characters in any single event
- * must come from the same external entity so that the Locator
- * provides useful information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * <p>Note that some parsers will report whitespace in element
- * content using the {@link #ignorableWhitespace ignorableWhitespace}
- * method rather than this one (validating parsers <em>must</em>
- * do so).</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #ignorableWhitespace
- * @see org.xml.sax.Locator
- */
- public void characters (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>Validating Parsers must use this method to report each chunk
- * of whitespace in element content (see the W3C XML 1.0 recommendation,
- * section 2.10): non-validating parsers may also use this method
- * if they are capable of parsing and using content models.</p>
- *
- * <p>SAX parsers may return all contiguous whitespace in a single
- * chunk, or they may split it into several chunks; however, all of
- * the characters in any single event must come from the same
- * external entity, so that the Locator provides useful
- * information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #characters
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>The Parser will invoke this method once for each processing
- * instruction found: note that processing instructions may occur
- * before or after the main document element.</p>
- *
- * <p>A SAX parser must never report an XML declaration (XML 1.0,
- * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
- * using this method.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none was supplied. The data does not include any
- * whitespace separating it from the target.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public void processingInstruction (String target, String data)
- throws SAXException;
-
-
- /**
- * Receive notification of a skipped entity.
- *
- * <p>The Parser will invoke this method once for each entity
- * skipped. Non-validating processors may skip entities if they
- * have not seen the declarations (because, for example, the
- * entity was declared in an external DTD subset). All processors
- * may skip external entities, depending on the values of the
- * <code>http://xml.org/sax/features/external-general-entities</code>
- * and the
- * <code>http://xml.org/sax/features/external-parameter-entities</code>
- * properties.</p>
- *
- * @param name The name of the skipped entity. If it is a
- * parameter entity, the name will begin with '%', and if
- * it is the external DTD subset, it will be the string
- * "[dtd]".
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public void skippedEntity (String name)
- throws SAXException;
-}
-
-// end of ContentHandler.java
+// ContentHandler.java - handle main document content.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the public domain.
+
+// $Id: ContentHandler.java,v 1.4.2.9 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+
+/**
+ * Receive notification of the logical content of a document.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This is the main interface that most SAX applications
+ * implement: if the application needs to be informed of basic parsing
+ * events, it implements this interface and registers an instance with
+ * the SAX parser using the {@link org.xml.sax.XMLReader#setContentHandler
+ * setContentHandler} method. The parser uses the instance to report
+ * basic document-related events like the start and end of elements
+ * and character data.</p>
+ *
+ * <p>The order of events in this interface is very important, and
+ * mirrors the order of information in the document itself. For
+ * example, all of an element's content (character data, processing
+ * instructions, and/or subelements) will appear, in order, between
+ * the startElement event and the corresponding endElement event.</p>
+ *
+ * <p>This interface is similar to the now-deprecated SAX 1.0
+ * DocumentHandler interface, but it adds support for Namespaces
+ * and for reporting skipped entities (in non-validating XML
+ * processors).</p>
+ *
+ * <p>Implementors should note that there is also a Java class
+ * {@link java.net.ContentHandler ContentHandler} in the java.net
+ * package; that means that it's probably a bad idea to do</p>
+ *
+ * <blockquote>
+ * import java.net.*;
+ * import org.xml.sax.*;
+ * </blockquote>
+ *
+ * <p>In fact, "import ...*" is usually a sign of sloppy programming
+ * anyway, so the user should consider this a feature rather than a
+ * bug.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLReader
+ * @see org.xml.sax.DTDHandler
+ * @see org.xml.sax.ErrorHandler
+ */
+public interface ContentHandler
+{
+
+ /**
+ * Receive an object for locating the origin of SAX document events.
+ *
+ * <p>SAX parsers are strongly encouraged (though not absolutely
+ * required) to supply a locator: if it does so, it must supply
+ * the locator to the application by invoking this method before
+ * invoking any of the other methods in the ContentHandler
+ * interface.</p>
+ *
+ * <p>The locator allows the application to determine the end
+ * position of any document-related event, even if the parser is
+ * not reporting an error. Typically, the application will
+ * use this information for reporting its own errors (such as
+ * character content that does not match an application's
+ * business rules). The information returned by the locator
+ * is probably not sufficient for use with a search engine.</p>
+ *
+ * <p>Note that the locator will return correct information only
+ * during the invocation of the events in this interface. The
+ * application should not attempt to use it at any other time.</p>
+ *
+ * @param locator An object that can return the location of
+ * any SAX document event.
+ * @see org.xml.sax.Locator
+ */
+ public void setDocumentLocator (Locator locator);
+
+
+ /**
+ * Receive notification of the beginning of a document.
+ *
+ * <p>The SAX parser will invoke this method only once, before any
+ * other event callbacks (except for {@link #setDocumentLocator
+ * setDocumentLocator}).</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #endDocument
+ */
+ public void startDocument ()
+ throws SAXException;
+
+
+ /**
+ * Receive notification of the end of a document.
+ *
+ * <p>The SAX parser will invoke this method only once, and it will
+ * be the last method invoked during the parse. The parser shall
+ * not invoke this method until it has either abandoned parsing
+ * (because of an unrecoverable error) or reached the end of
+ * input.</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #startDocument
+ */
+ public void endDocument()
+ throws SAXException;
+
+
+ /**
+ * Begin the scope of a prefix-URI Namespace mapping.
+ *
+ * <p>The information from this event is not necessary for
+ * normal Namespace processing: the SAX XML reader will
+ * automatically replace prefixes for element and attribute
+ * names when the <code>http://xml.org/sax/features/namespaces</code>
+ * feature is <var>true</var> (the default).</p>
+ *
+ * <p>There are cases, however, when applications need to
+ * use prefixes in character data or in attribute values,
+ * where they cannot safely be expanded automatically; the
+ * start/endPrefixMapping event supplies the information
+ * to the application to expand prefixes in those contexts
+ * itself, if necessary.</p>
+ *
+ * <p>Note that start/endPrefixMapping events are not
+ * guaranteed to be properly nested relative to each other:
+ * all startPrefixMapping events will occur immediately before the
+ * corresponding {@link #startElement startElement} event,
+ * and all {@link #endPrefixMapping endPrefixMapping}
+ * events will occur immediately after the corresponding
+ * {@link #endElement endElement} event,
+ * but their order is not otherwise
+ * guaranteed.</p>
+ *
+ * <p>There should never be start/endPrefixMapping events for the
+ * "xml" prefix, since it is predeclared and immutable.</p>
+ *
+ * @param prefix The Namespace prefix being declared.
+ * An empty string is used for the default element namespace,
+ * which has no prefix.
+ * @param uri The Namespace URI the prefix is mapped to.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ * @see #endPrefixMapping
+ * @see #startElement
+ */
+ public void startPrefixMapping (String prefix, String uri)
+ throws SAXException;
+
+
+ /**
+ * End the scope of a prefix-URI mapping.
+ *
+ * <p>See {@link #startPrefixMapping startPrefixMapping} for
+ * details. These events will always occur immediately after the
+ * corresponding {@link #endElement endElement} event, but the order of
+ * {@link #endPrefixMapping endPrefixMapping} events is not otherwise
+ * guaranteed.</p>
+ *
+ * @param prefix The prefix that was being mapping.
+ * This is the empty string when a default mapping scope ends.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ * @see #startPrefixMapping
+ * @see #endElement
+ */
+ public void endPrefixMapping (String prefix)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of the beginning of an element.
+ *
+ * <p>The Parser will invoke this method at the beginning of every
+ * element in the XML document; there will be a corresponding
+ * {@link #endElement endElement} event for every startElement event
+ * (even when the element is empty). All of the element's content will be
+ * reported, in order, before the corresponding endElement
+ * event.</p>
+ *
+ * <p>This event allows up to three name components for each
+ * element:</p>
+ *
+ * <ol>
+ * <li>the Namespace URI;</li>
+ * <li>the local name; and</li>
+ * <li>the qualified (prefixed) name.</li>
+ * </ol>
+ *
+ * <p>Any or all of these may be provided, depending on the
+ * values of the <var>http://xml.org/sax/features/namespaces</var>
+ * and the <var>http://xml.org/sax/features/namespace-prefixes</var>
+ * properties:</p>
+ *
+ * <ul>
+ * <li>the Namespace URI and local name are required when
+ * the namespaces property is <var>true</var> (the default), and are
+ * optional when the namespaces property is <var>false</var> (if one is
+ * specified, both must be);</li>
+ * <li>the qualified name is required when the namespace-prefixes property
+ * is <var>true</var>, and is optional when the namespace-prefixes property
+ * is <var>false</var> (the default).</li>
+ * </ul>
+ *
+ * <p>Note that the attribute list provided will contain only
+ * attributes with explicit values (specified or defaulted):
+ * #IMPLIED attributes will be omitted. The attribute list
+ * will contain attributes used for Namespace declarations
+ * (xmlns* attributes) only if the
+ * <code>http://xml.org/sax/features/namespace-prefixes</code>
+ * property is true (it is false by default, and support for a
+ * true value is optional).</p>
+ *
+ * <p>Like {@link #characters characters()}, attribute values may have
+ * characters that need more than one <code>char</code> value. </p>
+ *
+ * @param uri The Namespace URI, or the empty string if the
+ * element has no Namespace URI or if Namespace
+ * processing is not being performed.
+ * @param localName The local name (without prefix), or the
+ * empty string if Namespace processing is not being
+ * performed.
+ * @param qName The qualified name (with prefix), or the
+ * empty string if qualified names are not available.
+ * @param atts The attributes attached to the element. If
+ * there are no attributes, it shall be an empty
+ * Attributes object.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #endElement
+ * @see org.xml.sax.Attributes
+ */
+ public void startElement (String uri, String localName,
+ String qName, Attributes atts)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of the end of an element.
+ *
+ * <p>The SAX parser will invoke this method at the end of every
+ * element in the XML document; there will be a corresponding
+ * {@link #startElement startElement} event for every endElement
+ * event (even when the element is empty).</p>
+ *
+ * <p>For information on the names, see startElement.</p>
+ *
+ * @param uri The Namespace URI, or the empty string if the
+ * element has no Namespace URI or if Namespace
+ * processing is not being performed.
+ * @param localName The local name (without prefix), or the
+ * empty string if Namespace processing is not being
+ * performed.
+ * @param qName The qualified XML 1.0 name (with prefix), or the
+ * empty string if qualified names are not available.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public void endElement (String uri, String localName,
+ String qName)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of character data.
+ *
+ * <p>The Parser will call this method to report each chunk of
+ * character data. SAX parsers may return all contiguous character
+ * data in a single chunk, or they may split it into several
+ * chunks; however, all of the characters in any single event
+ * must come from the same external entity so that the Locator
+ * provides useful information.</p>
+ *
+ * <p>The application must not attempt to read from the array
+ * outside of the specified range.</p>
+ *
+ * <p>Individual characters may consist of more than one Java
+ * <code>char</code> value. There are two important cases where this
+ * happens, because characters can't be represented in just sixteen bits.
+ * In one case, characters are represented in a <em>Surrogate Pair</em>,
+ * using two special Unicode values. Such characters are in the so-called
+ * "Astral Planes", with a code point above U+FFFF. A second case involves
+ * composite characters, such as a base character combining with one or
+ * more accent characters. </p>
+ *
+ * <p> Your code should not assume that algorithms using
+ * <code>char</code>-at-a-time idioms will be working in character
+ * units; in some cases they will split characters. This is relevant
+ * wherever XML permits arbitrary characters, such as attribute values,
+ * processing instruction data, and comments as well as in data reported
+ * from this method. It's also generally relevant whenever Java code
+ * manipulates internationalized text; the issue isn't unique to XML.</p>
+ *
+ * <p>Note that some parsers will report whitespace in element
+ * content using the {@link #ignorableWhitespace ignorableWhitespace}
+ * method rather than this one (validating parsers <em>must</em>
+ * do so).</p>
+ *
+ * @param ch The characters from the XML document.
+ * @param start The start position in the array.
+ * @param length The number of characters to read from the array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #ignorableWhitespace
+ * @see org.xml.sax.Locator
+ */
+ public void characters (char ch[], int start, int length)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of ignorable whitespace in element content.
+ *
+ * <p>Validating Parsers must use this method to report each chunk
+ * of whitespace in element content (see the W3C XML 1.0 recommendation,
+ * section 2.10): non-validating parsers may also use this method
+ * if they are capable of parsing and using content models.</p>
+ *
+ * <p>SAX parsers may return all contiguous whitespace in a single
+ * chunk, or they may split it into several chunks; however, all of
+ * the characters in any single event must come from the same
+ * external entity, so that the Locator provides useful
+ * information.</p>
+ *
+ * <p>The application must not attempt to read from the array
+ * outside of the specified range.</p>
+ *
+ * @param ch The characters from the XML document.
+ * @param start The start position in the array.
+ * @param length The number of characters to read from the array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #characters
+ */
+ public void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of a processing instruction.
+ *
+ * <p>The Parser will invoke this method once for each processing
+ * instruction found: note that processing instructions may occur
+ * before or after the main document element.</p>
+ *
+ * <p>A SAX parser must never report an XML declaration (XML 1.0,
+ * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
+ * using this method.</p>
+ *
+ * <p>Like {@link #characters characters()}, processing instruction
+ * data may have characters that need more than one <code>char</code>
+ * value. </p>
+ *
+ * @param target The processing instruction target.
+ * @param data The processing instruction data, or null if
+ * none was supplied. The data does not include any
+ * whitespace separating it from the target.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public void processingInstruction (String target, String data)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of a skipped entity.
+ * This is not called for entity references within markup constructs
+ * such as element start tags or markup declarations. (The XML
+ * recommendation requires reporting skipped external entities.
+ * SAX also reports internal entity expansion/non-expansion, except
+ * within markup constructs.)
+ *
+ * <p>The Parser will invoke this method each time the entity is
+ * skipped. Non-validating processors may skip entities if they
+ * have not seen the declarations (because, for example, the
+ * entity was declared in an external DTD subset). All processors
+ * may skip external entities, depending on the values of the
+ * <code>http://xml.org/sax/features/external-general-entities</code>
+ * and the
+ * <code>http://xml.org/sax/features/external-parameter-entities</code>
+ * properties.</p>
+ *
+ * @param name The name of the skipped entity. If it is a
+ * parameter entity, the name will begin with '%', and if
+ * it is the external DTD subset, it will be the string
+ * "[dtd]".
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public void skippedEntity (String name)
+ throws SAXException;
+}
+
+// end of ContentHandler.java
diff --git a/libjava/org/xml/sax/DTDHandler.java b/libjava/org/xml/sax/DTDHandler.java
index 509a0069ba8..ee84bb24c45 100644
--- a/libjava/org/xml/sax/DTDHandler.java
+++ b/libjava/org/xml/sax/DTDHandler.java
@@ -1,108 +1,117 @@
-// SAX DTD handler.
-// No warranty; no copyright -- use this as you will.
-// $Id: DTDHandler.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-/**
- * Receive notification of basic DTD-related events.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>If a SAX application needs information about notations and
- * unparsed entities, then the application implements this
- * interface and registers an instance with the SAX parser using
- * the parser's setDTDHandler method. The parser uses the
- * instance to report notation and unparsed entity declarations to
- * the application.</p>
- *
- * <p>Note that this interface includes only those DTD events that
- * the XML recommendation <em>requires</em> processors to report:
- * notation and unparsed entity declarations.</p>
- *
- * <p>The SAX parser may report these events in any order, regardless
- * of the order in which the notations and unparsed entities were
- * declared; however, all DTD events must be reported after the
- * document handler's startDocument event, and before the first
- * startElement event.</p>
- *
- * <p>It is up to the application to store the information for
- * future use (perhaps in a hash table or object tree).
- * If the application encounters attributes of type "NOTATION",
- * "ENTITY", or "ENTITIES", it can use the information that it
- * obtained through this interface to find the entity and/or
- * notation corresponding with the attribute value.</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser#setDTDHandler
- * @see org.xml.sax.HandlerBase
- */
-public interface DTDHandler {
-
-
- /**
- * Receive notification of a notation declaration event.
- *
- * <p>It is up to the application to record the notation for later
- * reference, if necessary.</p>
- *
- * <p>At least one of publicId and systemId must be non-null.
- * If a system identifier is present, and it is a URL, the SAX
- * parser must resolve it fully before passing it to the
- * application through this event.</p>
- *
- * <p>There is no guarantee that the notation declaration will be
- * reported before any unparsed entities that use it.</p>
- *
- * @param name The notation name.
- * @param publicId The notation's public identifier, or null if
- * none was given.
- * @param systemId The notation's system identifier, or null if
- * none was given.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #unparsedEntityDecl
- * @see org.xml.sax.AttributeList
- */
- public abstract void notationDecl (String name,
- String publicId,
- String systemId)
- throws SAXException;
-
-
- /**
- * Receive notification of an unparsed entity declaration event.
- *
- * <p>Note that the notation name corresponds to a notation
- * reported by the {@link #notationDecl notationDecl} event.
- * It is up to the application to record the entity for later
- * reference, if necessary.</p>
- *
- * <p>If the system identifier is a URL, the parser must resolve it
- * fully before passing it to the application.</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @param name The unparsed entity's name.
- * @param publicId The entity's public identifier, or null if none
- * was given.
- * @param systemId The entity's system identifier.
- * @param notation name The name of the associated notation.
- * @see #notationDecl
- * @see org.xml.sax.AttributeList
- */
- public abstract void unparsedEntityDecl (String name,
- String publicId,
- String systemId,
- String notationName)
- throws SAXException;
-
-}
-
-// end of DTDHandler.java
+// SAX DTD handler.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: DTDHandler.java,v 1.5.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+/**
+ * Receive notification of basic DTD-related events.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>If a SAX application needs information about notations and
+ * unparsed entities, then the application implements this
+ * interface and registers an instance with the SAX parser using
+ * the parser's setDTDHandler method. The parser uses the
+ * instance to report notation and unparsed entity declarations to
+ * the application.</p>
+ *
+ * <p>Note that this interface includes only those DTD events that
+ * the XML recommendation <em>requires</em> processors to report:
+ * notation and unparsed entity declarations.</p>
+ *
+ * <p>The SAX parser may report these events in any order, regardless
+ * of the order in which the notations and unparsed entities were
+ * declared; however, all DTD events must be reported after the
+ * document handler's startDocument event, and before the first
+ * startElement event.
+ * (If the {@link org.xml.sax.ext.LexicalHandler LexicalHandler} is
+ * used, these events must also be reported before the endDTD event.)
+ * </p>
+ *
+ * <p>It is up to the application to store the information for
+ * future use (perhaps in a hash table or object tree).
+ * If the application encounters attributes of type "NOTATION",
+ * "ENTITY", or "ENTITIES", it can use the information that it
+ * obtained through this interface to find the entity and/or
+ * notation corresponding with the attribute value.</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLReader#setDTDHandler
+ */
+public interface DTDHandler {
+
+
+ /**
+ * Receive notification of a notation declaration event.
+ *
+ * <p>It is up to the application to record the notation for later
+ * reference, if necessary;
+ * notations may appear as attribute values and in unparsed entity
+ * declarations, and are sometime used with processing instruction
+ * target names.</p>
+ *
+ * <p>At least one of publicId and systemId must be non-null.
+ * If a system identifier is present, and it is a URL, the SAX
+ * parser must resolve it fully before passing it to the
+ * application through this event.</p>
+ *
+ * <p>There is no guarantee that the notation declaration will be
+ * reported before any unparsed entities that use it.</p>
+ *
+ * @param name The notation name.
+ * @param publicId The notation's public identifier, or null if
+ * none was given.
+ * @param systemId The notation's system identifier, or null if
+ * none was given.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #unparsedEntityDecl
+ * @see org.xml.sax.Attributes
+ */
+ public abstract void notationDecl (String name,
+ String publicId,
+ String systemId)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of an unparsed entity declaration event.
+ *
+ * <p>Note that the notation name corresponds to a notation
+ * reported by the {@link #notationDecl notationDecl} event.
+ * It is up to the application to record the entity for later
+ * reference, if necessary;
+ * unparsed entities may appear as attribute values.
+ * </p>
+ *
+ * <p>If the system identifier is a URL, the parser must resolve it
+ * fully before passing it to the application.</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @param name The unparsed entity's name.
+ * @param publicId The entity's public identifier, or null if none
+ * was given.
+ * @param systemId The entity's system identifier.
+ * @param notationName The name of the associated notation.
+ * @see #notationDecl
+ * @see org.xml.sax.Attributes
+ */
+ public abstract void unparsedEntityDecl (String name,
+ String publicId,
+ String systemId,
+ String notationName)
+ throws SAXException;
+
+}
+
+// end of DTDHandler.java
diff --git a/libjava/org/xml/sax/DocumentHandler.java b/libjava/org/xml/sax/DocumentHandler.java
index be0a189c45b..10c07b2f627 100644
--- a/libjava/org/xml/sax/DocumentHandler.java
+++ b/libjava/org/xml/sax/DocumentHandler.java
@@ -1,230 +1,232 @@
-// SAX document handler.
-// No warranty; no copyright -- use this as you will.
-// $Id: DocumentHandler.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-/**
- * Receive notification of general document events.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This was the main event-handling interface for SAX1; in
- * SAX2, it has been replaced by {@link org.xml.sax.ContentHandler
- * ContentHandler}, which provides Namespace support and reporting
- * of skipped entities. This interface is included in SAX2 only
- * to support legacy SAX1 applications.</p>
- *
- * <p>The order of events in this interface is very important, and
- * mirrors the order of information in the document itself. For
- * example, all of an element's content (character data, processing
- * instructions, and/or subelements) will appear, in order, between
- * the startElement event and the corresponding endElement event.</p>
- *
- * <p>Application writers who do not want to implement the entire
- * interface can derive a class from HandlerBase, which implements
- * the default functionality; parser writers can instantiate
- * HandlerBase to obtain a default handler. The application can find
- * the location of any document event using the Locator interface
- * supplied by the Parser through the setDocumentLocator method.</p>
- *
- * @deprecated This interface has been replaced by the SAX2
- * {@link org.xml.sax.ContentHandler ContentHandler}
- * interface, which includes Namespace support.
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser#setDocumentHandler
- * @see org.xml.sax.Locator
- * @see org.xml.sax.HandlerBase
- */
-public interface DocumentHandler {
-
-
- /**
- * Receive an object for locating the origin of SAX document events.
- *
- * <p>SAX parsers are strongly encouraged (though not absolutely
- * required) to supply a locator: if it does so, it must supply
- * the locator to the application by invoking this method before
- * invoking any of the other methods in the DocumentHandler
- * interface.</p>
- *
- * <p>The locator allows the application to determine the end
- * position of any document-related event, even if the parser is
- * not reporting an error. Typically, the application will
- * use this information for reporting its own errors (such as
- * character content that does not match an application's
- * business rules). The information returned by the locator
- * is probably not sufficient for use with a search engine.</p>
- *
- * <p>Note that the locator will return correct information only
- * during the invocation of the events in this interface. The
- * application should not attempt to use it at any other time.</p>
- *
- * @param locator An object that can return the location of
- * any SAX document event.
- * @see org.xml.sax.Locator
- */
- public abstract void setDocumentLocator (Locator locator);
-
-
- /**
- * Receive notification of the beginning of a document.
- *
- * <p>The SAX parser will invoke this method only once, before any
- * other methods in this interface or in DTDHandler (except for
- * setDocumentLocator).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void startDocument ()
- throws SAXException;
-
-
- /**
- * Receive notification of the end of a document.
- *
- * <p>The SAX parser will invoke this method only once, and it will
- * be the last method invoked during the parse. The parser shall
- * not invoke this method until it has either abandoned parsing
- * (because of an unrecoverable error) or reached the end of
- * input.</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void endDocument ()
- throws SAXException;
-
-
- /**
- * Receive notification of the beginning of an element.
- *
- * <p>The Parser will invoke this method at the beginning of every
- * element in the XML document; there will be a corresponding
- * endElement() event for every startElement() event (even when the
- * element is empty). All of the element's content will be
- * reported, in order, before the corresponding endElement()
- * event.</p>
- *
- * <p>If the element name has a namespace prefix, the prefix will
- * still be attached. Note that the attribute list provided will
- * contain only attributes with explicit values (specified or
- * defaulted): #IMPLIED attributes will be omitted.</p>
- *
- * @param name The element type name.
- * @param atts The attributes attached to the element, if any.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #endElement
- * @see org.xml.sax.AttributeList
- */
- public abstract void startElement (String name, AttributeList atts)
- throws SAXException;
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>The SAX parser will invoke this method at the end of every
- * element in the XML document; there will be a corresponding
- * startElement() event for every endElement() event (even when the
- * element is empty).</p>
- *
- * <p>If the element name has a namespace prefix, the prefix will
- * still be attached to the name.</p>
- *
- * @param name The element type name
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void endElement (String name)
- throws SAXException;
-
-
- /**
- * Receive notification of character data.
- *
- * <p>The Parser will call this method to report each chunk of
- * character data. SAX parsers may return all contiguous character
- * data in a single chunk, or they may split it into several
- * chunks; however, all of the characters in any single event
- * must come from the same external entity, so that the Locator
- * provides useful information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * <p>Note that some parsers will report whitespace using the
- * ignorableWhitespace() method rather than this one (validating
- * parsers must do so).</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #ignorableWhitespace
- * @see org.xml.sax.Locator
- */
- public abstract void characters (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>Validating Parsers must use this method to report each chunk
- * of ignorable whitespace (see the W3C XML 1.0 recommendation,
- * section 2.10): non-validating parsers may also use this method
- * if they are capable of parsing and using content models.</p>
- *
- * <p>SAX parsers may return all contiguous whitespace in a single
- * chunk, or they may split it into several chunks; however, all of
- * the characters in any single event must come from the same
- * external entity, so that the Locator provides useful
- * information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #characters
- */
- public abstract void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>The Parser will invoke this method once for each processing
- * instruction found: note that processing instructions may occur
- * before or after the main document element.</p>
- *
- * <p>A SAX parser should never report an XML declaration (XML 1.0,
- * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
- * using this method.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none was supplied.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void processingInstruction (String target, String data)
- throws SAXException;
-
-}
-
-// end of DocumentHandler.java
+// SAX document handler.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: DocumentHandler.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+/**
+ * Receive notification of general document events.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This was the main event-handling interface for SAX1; in
+ * SAX2, it has been replaced by {@link org.xml.sax.ContentHandler
+ * ContentHandler}, which provides Namespace support and reporting
+ * of skipped entities. This interface is included in SAX2 only
+ * to support legacy SAX1 applications.</p>
+ *
+ * <p>The order of events in this interface is very important, and
+ * mirrors the order of information in the document itself. For
+ * example, all of an element's content (character data, processing
+ * instructions, and/or subelements) will appear, in order, between
+ * the startElement event and the corresponding endElement event.</p>
+ *
+ * <p>Application writers who do not want to implement the entire
+ * interface can derive a class from HandlerBase, which implements
+ * the default functionality; parser writers can instantiate
+ * HandlerBase to obtain a default handler. The application can find
+ * the location of any document event using the Locator interface
+ * supplied by the Parser through the setDocumentLocator method.</p>
+ *
+ * @deprecated This interface has been replaced by the SAX2
+ * {@link org.xml.sax.ContentHandler ContentHandler}
+ * interface, which includes Namespace support.
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.Parser#setDocumentHandler
+ * @see org.xml.sax.Locator
+ * @see org.xml.sax.HandlerBase
+ */
+public interface DocumentHandler {
+
+
+ /**
+ * Receive an object for locating the origin of SAX document events.
+ *
+ * <p>SAX parsers are strongly encouraged (though not absolutely
+ * required) to supply a locator: if it does so, it must supply
+ * the locator to the application by invoking this method before
+ * invoking any of the other methods in the DocumentHandler
+ * interface.</p>
+ *
+ * <p>The locator allows the application to determine the end
+ * position of any document-related event, even if the parser is
+ * not reporting an error. Typically, the application will
+ * use this information for reporting its own errors (such as
+ * character content that does not match an application's
+ * business rules). The information returned by the locator
+ * is probably not sufficient for use with a search engine.</p>
+ *
+ * <p>Note that the locator will return correct information only
+ * during the invocation of the events in this interface. The
+ * application should not attempt to use it at any other time.</p>
+ *
+ * @param locator An object that can return the location of
+ * any SAX document event.
+ * @see org.xml.sax.Locator
+ */
+ public abstract void setDocumentLocator (Locator locator);
+
+
+ /**
+ * Receive notification of the beginning of a document.
+ *
+ * <p>The SAX parser will invoke this method only once, before any
+ * other methods in this interface or in DTDHandler (except for
+ * setDocumentLocator).</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public abstract void startDocument ()
+ throws SAXException;
+
+
+ /**
+ * Receive notification of the end of a document.
+ *
+ * <p>The SAX parser will invoke this method only once, and it will
+ * be the last method invoked during the parse. The parser shall
+ * not invoke this method until it has either abandoned parsing
+ * (because of an unrecoverable error) or reached the end of
+ * input.</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public abstract void endDocument ()
+ throws SAXException;
+
+
+ /**
+ * Receive notification of the beginning of an element.
+ *
+ * <p>The Parser will invoke this method at the beginning of every
+ * element in the XML document; there will be a corresponding
+ * endElement() event for every startElement() event (even when the
+ * element is empty). All of the element's content will be
+ * reported, in order, before the corresponding endElement()
+ * event.</p>
+ *
+ * <p>If the element name has a namespace prefix, the prefix will
+ * still be attached. Note that the attribute list provided will
+ * contain only attributes with explicit values (specified or
+ * defaulted): #IMPLIED attributes will be omitted.</p>
+ *
+ * @param name The element type name.
+ * @param atts The attributes attached to the element, if any.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #endElement
+ * @see org.xml.sax.AttributeList
+ */
+ public abstract void startElement (String name, AttributeList atts)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of the end of an element.
+ *
+ * <p>The SAX parser will invoke this method at the end of every
+ * element in the XML document; there will be a corresponding
+ * startElement() event for every endElement() event (even when the
+ * element is empty).</p>
+ *
+ * <p>If the element name has a namespace prefix, the prefix will
+ * still be attached to the name.</p>
+ *
+ * @param name The element type name
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public abstract void endElement (String name)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of character data.
+ *
+ * <p>The Parser will call this method to report each chunk of
+ * character data. SAX parsers may return all contiguous character
+ * data in a single chunk, or they may split it into several
+ * chunks; however, all of the characters in any single event
+ * must come from the same external entity, so that the Locator
+ * provides useful information.</p>
+ *
+ * <p>The application must not attempt to read from the array
+ * outside of the specified range.</p>
+ *
+ * <p>Note that some parsers will report whitespace using the
+ * ignorableWhitespace() method rather than this one (validating
+ * parsers must do so).</p>
+ *
+ * @param ch The characters from the XML document.
+ * @param start The start position in the array.
+ * @param length The number of characters to read from the array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #ignorableWhitespace
+ * @see org.xml.sax.Locator
+ */
+ public abstract void characters (char ch[], int start, int length)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of ignorable whitespace in element content.
+ *
+ * <p>Validating Parsers must use this method to report each chunk
+ * of ignorable whitespace (see the W3C XML 1.0 recommendation,
+ * section 2.10): non-validating parsers may also use this method
+ * if they are capable of parsing and using content models.</p>
+ *
+ * <p>SAX parsers may return all contiguous whitespace in a single
+ * chunk, or they may split it into several chunks; however, all of
+ * the characters in any single event must come from the same
+ * external entity, so that the Locator provides useful
+ * information.</p>
+ *
+ * <p>The application must not attempt to read from the array
+ * outside of the specified range.</p>
+ *
+ * @param ch The characters from the XML document.
+ * @param start The start position in the array.
+ * @param length The number of characters to read from the array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see #characters
+ */
+ public abstract void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of a processing instruction.
+ *
+ * <p>The Parser will invoke this method once for each processing
+ * instruction found: note that processing instructions may occur
+ * before or after the main document element.</p>
+ *
+ * <p>A SAX parser should never report an XML declaration (XML 1.0,
+ * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
+ * using this method.</p>
+ *
+ * @param target The processing instruction target.
+ * @param data The processing instruction data, or null if
+ * none was supplied.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ */
+ public abstract void processingInstruction (String target, String data)
+ throws SAXException;
+
+}
+
+// end of DocumentHandler.java
diff --git a/libjava/org/xml/sax/EntityResolver.java b/libjava/org/xml/sax/EntityResolver.java
index 3270471453a..acc365aad63 100644
--- a/libjava/org/xml/sax/EntityResolver.java
+++ b/libjava/org/xml/sax/EntityResolver.java
@@ -1,110 +1,119 @@
-// SAX entity resolver.
-// No warranty; no copyright -- use this as you will.
-// $Id: EntityResolver.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-import java.io.IOException;
-
-
-/**
- * Basic interface for resolving entities.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>If a SAX application needs to implement customized handling
- * for external entities, it must implement this interface and
- * register an instance with the SAX driver using the
- * {@link org.xml.sax.XMLReader#setEntityResolver setEntityResolver}
- * method.</p>
- *
- * <p>The XML reader will then allow the application to intercept any
- * external entities (including the external DTD subset and external
- * parameter entities, if any) before including them.</p>
- *
- * <p>Many SAX applications will not need to implement this interface,
- * but it will be especially useful for applications that build
- * XML documents from databases or other specialised input sources,
- * or for applications that use URI types other than URLs.</p>
- *
- * <p>The following resolver would provide the application
- * with a special character stream for the entity with the system
- * identifier "http://www.myhost.com/today":</p>
- *
- * <pre>
- * import org.xml.sax.EntityResolver;
- * import org.xml.sax.InputSource;
- *
- * public class MyResolver implements EntityResolver {
- * public InputSource resolveEntity (String publicId, String systemId)
- * {
- * if (systemId.equals("http://www.myhost.com/today")) {
- * // return a special input source
- * MyReader reader = new MyReader();
- * return new InputSource(reader);
- * } else {
- * // use the default behaviour
- * return null;
- * }
- * }
- * }
- * </pre>
- *
- * <p>The application can also use this interface to redirect system
- * identifiers to local URIs or to look up replacements in a catalog
- * (possibly by using the public identifier).</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser#setEntityResolver
- * @see org.xml.sax.InputSource
- */
-public interface EntityResolver {
-
-
- /**
- * Allow the application to resolve external entities.
- *
- * <p>The Parser will call this method before opening any external
- * entity except the top-level document entity (including the
- * external DTD subset, external entities referenced within the
- * DTD, and external entities referenced within the document
- * element): the application may request that the parser resolve
- * the entity itself, that it use an alternative URI, or that it
- * use an entirely different input source.</p>
- *
- * <p>Application writers can use this method to redirect external
- * system identifiers to secure and/or local URIs, to look up
- * public identifiers in a catalogue, or to read an entity from a
- * database or other input source (including, for example, a dialog
- * box).</p>
- *
- * <p>If the system identifier is a URL, the SAX parser must
- * resolve it fully before reporting it to the application.</p>
- *
- * @param publicId The public identifier of the external entity
- * being referenced, or null if none was supplied.
- * @param systemId The system identifier of the external entity
- * being referenced.
- * @return An InputSource object describing the new input source,
- * or null to request that the parser open a regular
- * URI connection to the system identifier.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException A Java-specific IO exception,
- * possibly the result of creating a new InputStream
- * or Reader for the InputSource.
- * @see org.xml.sax.InputSource
- */
- public abstract InputSource resolveEntity (String publicId,
- String systemId)
- throws SAXException, IOException;
-
-}
-
-// end of EntityResolver.java
+// SAX entity resolver.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: EntityResolver.java,v 1.7.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+import java.io.IOException;
+
+
+/**
+ * Basic interface for resolving entities.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>If a SAX application needs to implement customized handling
+ * for external entities, it must implement this interface and
+ * register an instance with the SAX driver using the
+ * {@link org.xml.sax.XMLReader#setEntityResolver setEntityResolver}
+ * method.</p>
+ *
+ * <p>The XML reader will then allow the application to intercept any
+ * external entities (including the external DTD subset and external
+ * parameter entities, if any) before including them.</p>
+ *
+ * <p>Many SAX applications will not need to implement this interface,
+ * but it will be especially useful for applications that build
+ * XML documents from databases or other specialised input sources,
+ * or for applications that use URI types other than URLs.</p>
+ *
+ * <p>The following resolver would provide the application
+ * with a special character stream for the entity with the system
+ * identifier "http://www.myhost.com/today":</p>
+ *
+ * <pre>
+ * import org.xml.sax.EntityResolver;
+ * import org.xml.sax.InputSource;
+ *
+ * public class MyResolver implements EntityResolver {
+ * public InputSource resolveEntity (String publicId, String systemId)
+ * {
+ * if (systemId.equals("http://www.myhost.com/today")) {
+ * // return a special input source
+ * MyReader reader = new MyReader();
+ * return new InputSource(reader);
+ * } else {
+ * // use the default behaviour
+ * return null;
+ * }
+ * }
+ * }
+ * </pre>
+ *
+ * <p>The application can also use this interface to redirect system
+ * identifiers to local URIs or to look up replacements in a catalog
+ * (possibly by using the public identifier).</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLReader#setEntityResolver
+ * @see org.xml.sax.InputSource
+ */
+public interface EntityResolver {
+
+
+ /**
+ * Allow the application to resolve external entities.
+ *
+ * <p>The parser will call this method before opening any external
+ * entity except the top-level document entity. Such entities include
+ * the external DTD subset and external parameter entities referenced
+ * within the DTD (in either case, only if the parser reads external
+ * parameter entities), and external general entities referenced
+ * within the document element (if the parser reads external general
+ * entities). The application may request that the parser locate
+ * the entity itself, that it use an alternative URI, or that it
+ * use data provided by the application (as a character or byte
+ * input stream).</p>
+ *
+ * <p>Application writers can use this method to redirect external
+ * system identifiers to secure and/or local URIs, to look up
+ * public identifiers in a catalogue, or to read an entity from a
+ * database or other input source (including, for example, a dialog
+ * box). Neither XML nor SAX specifies a preferred policy for using
+ * public or system IDs to resolve resources. However, SAX specifies
+ * how to interpret any InputSource returned by this method, and that
+ * if none is returned, then the system ID will be dereferenced as
+ * a URL. </p>
+ *
+ * <p>If the system identifier is a URL, the SAX parser must
+ * resolve it fully before reporting it to the application.</p>
+ *
+ * @param publicId The public identifier of the external entity
+ * being referenced, or null if none was supplied.
+ * @param systemId The system identifier of the external entity
+ * being referenced.
+ * @return An InputSource object describing the new input source,
+ * or null to request that the parser open a regular
+ * URI connection to the system identifier.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException A Java-specific IO exception,
+ * possibly the result of creating a new InputStream
+ * or Reader for the InputSource.
+ * @see org.xml.sax.InputSource
+ */
+ public abstract InputSource resolveEntity (String publicId,
+ String systemId)
+ throws SAXException, IOException;
+
+}
+
+// end of EntityResolver.java
diff --git a/libjava/org/xml/sax/ErrorHandler.java b/libjava/org/xml/sax/ErrorHandler.java
index 8b3e090cd6d..e82302093ad 100644
--- a/libjava/org/xml/sax/ErrorHandler.java
+++ b/libjava/org/xml/sax/ErrorHandler.java
@@ -1,123 +1,125 @@
-// SAX error handler.
-// No warranty; no copyright -- use this as you will.
-// $Id: ErrorHandler.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-
-/**
- * Basic interface for SAX error handlers.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>If a SAX application needs to implement customized error
- * handling, it must implement this interface and then register an
- * instance with the XML reader using the
- * {@link org.xml.sax.XMLReader#setErrorHandler setErrorHandler}
- * method. The parser will then report all errors and warnings
- * through this interface.</p>
- *
- * <p><strong>WARNING:</strong> If an application does <em>not</em>
- * register an ErrorHandler, XML parsing errors will go unreported
- * and bizarre behaviour may result.</p>
- *
- * <p>For XML processing errors, a SAX driver must use this interface
- * instead of throwing an exception: it is up to the application
- * to decide whether to throw an exception for different types of
- * errors and warnings. Note, however, that there is no requirement that
- * the parser continue to provide useful information after a call to
- * {@link #fatalError fatalError} (in other words, a SAX driver class
- * could catch an exception and report a fatalError).</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser#setErrorHandler
- * @see org.xml.sax.SAXParseException
- */
-public interface ErrorHandler {
-
-
- /**
- * Receive notification of a warning.
- *
- * <p>SAX parsers will use this method to report conditions that
- * are not errors or fatal errors as defined by the XML 1.0
- * recommendation. The default behaviour is to take no action.</p>
- *
- * <p>The SAX parser must continue to provide normal parsing events
- * after invoking this method: it should still be possible for the
- * application to process the document through to the end.</p>
- *
- * <p>Filters may use this method to report other, non-XML warnings
- * as well.</p>
- *
- * @param exception The warning information encapsulated in a
- * SAX parse exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.SAXParseException
- */
- public abstract void warning (SAXParseException exception)
- throws SAXException;
-
-
- /**
- * Receive notification of a recoverable error.
- *
- * <p>This corresponds to the definition of "error" in section 1.2
- * of the W3C XML 1.0 Recommendation. For example, a validating
- * parser would use this callback to report the violation of a
- * validity constraint. The default behaviour is to take no
- * action.</p>
- *
- * <p>The SAX parser must continue to provide normal parsing events
- * after invoking this method: it should still be possible for the
- * application to process the document through to the end. If the
- * application cannot do so, then the parser should report a fatal
- * error even if the XML 1.0 recommendation does not require it to
- * do so.</p>
- *
- * <p>Filters may use this method to report other, non-XML errors
- * as well.</p>
- *
- * @param exception The error information encapsulated in a
- * SAX parse exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.SAXParseException
- */
- public abstract void error (SAXParseException exception)
- throws SAXException;
-
-
- /**
- * Receive notification of a non-recoverable error.
- *
- * <p>This corresponds to the definition of "fatal error" in
- * section 1.2 of the W3C XML 1.0 Recommendation. For example, a
- * parser would use this callback to report the violation of a
- * well-formedness constraint.</p>
- *
- * <p>The application must assume that the document is unusable
- * after the parser has invoked this method, and should continue
- * (if at all) only for the sake of collecting addition error
- * messages: in fact, SAX parsers are free to stop reporting any
- * other events once this method has been invoked.</p>
- *
- * @param exception The error information encapsulated in a
- * SAX parse exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.SAXParseException
- */
- public abstract void fatalError (SAXParseException exception)
- throws SAXException;
-
-}
-
-// end of ErrorHandler.java
+// SAX error handler.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: ErrorHandler.java,v 1.4.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+
+/**
+ * Basic interface for SAX error handlers.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>If a SAX application needs to implement customized error
+ * handling, it must implement this interface and then register an
+ * instance with the XML reader using the
+ * {@link org.xml.sax.XMLReader#setErrorHandler setErrorHandler}
+ * method. The parser will then report all errors and warnings
+ * through this interface.</p>
+ *
+ * <p><strong>WARNING:</strong> If an application does <em>not</em>
+ * register an ErrorHandler, XML parsing errors will go unreported
+ * and bizarre behaviour may result.</p>
+ *
+ * <p>For XML processing errors, a SAX driver must use this interface
+ * instead of throwing an exception: it is up to the application
+ * to decide whether to throw an exception for different types of
+ * errors and warnings. Note, however, that there is no requirement that
+ * the parser continue to provide useful information after a call to
+ * {@link #fatalError fatalError} (in other words, a SAX driver class
+ * could catch an exception and report a fatalError).</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLReader#setErrorHandler
+ * @see org.xml.sax.SAXParseException
+ */
+public interface ErrorHandler {
+
+
+ /**
+ * Receive notification of a warning.
+ *
+ * <p>SAX parsers will use this method to report conditions that
+ * are not errors or fatal errors as defined by the XML 1.0
+ * recommendation. The default behaviour is to take no action.</p>
+ *
+ * <p>The SAX parser must continue to provide normal parsing events
+ * after invoking this method: it should still be possible for the
+ * application to process the document through to the end.</p>
+ *
+ * <p>Filters may use this method to report other, non-XML warnings
+ * as well.</p>
+ *
+ * @param exception The warning information encapsulated in a
+ * SAX parse exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.SAXParseException
+ */
+ public abstract void warning (SAXParseException exception)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of a recoverable error.
+ *
+ * <p>This corresponds to the definition of "error" in section 1.2
+ * of the W3C XML 1.0 Recommendation. For example, a validating
+ * parser would use this callback to report the violation of a
+ * validity constraint. The default behaviour is to take no
+ * action.</p>
+ *
+ * <p>The SAX parser must continue to provide normal parsing events
+ * after invoking this method: it should still be possible for the
+ * application to process the document through to the end. If the
+ * application cannot do so, then the parser should report a fatal
+ * error even if the XML 1.0 recommendation does not require it to
+ * do so.</p>
+ *
+ * <p>Filters may use this method to report other, non-XML errors
+ * as well.</p>
+ *
+ * @param exception The error information encapsulated in a
+ * SAX parse exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.SAXParseException
+ */
+ public abstract void error (SAXParseException exception)
+ throws SAXException;
+
+
+ /**
+ * Receive notification of a non-recoverable error.
+ *
+ * <p>This corresponds to the definition of "fatal error" in
+ * section 1.2 of the W3C XML 1.0 Recommendation. For example, a
+ * parser would use this callback to report the violation of a
+ * well-formedness constraint.</p>
+ *
+ * <p>The application must assume that the document is unusable
+ * after the parser has invoked this method, and should continue
+ * (if at all) only for the sake of collecting addition error
+ * messages: in fact, SAX parsers are free to stop reporting any
+ * other events once this method has been invoked.</p>
+ *
+ * @param exception The error information encapsulated in a
+ * SAX parse exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.SAXParseException
+ */
+ public abstract void fatalError (SAXParseException exception)
+ throws SAXException;
+
+}
+
+// end of ErrorHandler.java
diff --git a/libjava/org/xml/sax/HandlerBase.java b/libjava/org/xml/sax/HandlerBase.java
index 34a8f7675d9..42c3a07e0e8 100644
--- a/libjava/org/xml/sax/HandlerBase.java
+++ b/libjava/org/xml/sax/HandlerBase.java
@@ -1,368 +1,370 @@
-// SAX default handler base class.
-// No warranty; no copyright -- use this as you will.
-// $Id: HandlerBase.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-/**
- * Default base class for handlers.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class implements the default behaviour for four SAX1
- * interfaces: EntityResolver, DTDHandler, DocumentHandler,
- * and ErrorHandler. It is now obsolete, but is included in SAX2 to
- * support legacy SAX1 applications. SAX2 applications should use
- * the {@link org.xml.sax.helpers.DefaultHandler DefaultHandler}
- * class instead.</p>
- *
- * <p>Application writers can extend this class when they need to
- * implement only part of an interface; parser writers can
- * instantiate this class to provide default handlers when the
- * application has not supplied its own.</p>
- *
- * <p>Note that the use of this class is optional.</p>
- *
- * @deprecated This class works with the deprecated
- * {@link org.xml.sax.DocumentHandler DocumentHandler}
- * interface. It has been replaced by the SAX2
- * {@link org.xml.sax.helpers.DefaultHandler DefaultHandler}
- * class.
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.DocumentHandler
- * @see org.xml.sax.ErrorHandler
- */
-public class HandlerBase
- implements EntityResolver, DTDHandler, DocumentHandler, ErrorHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the EntityResolver interface.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Resolve an external entity.
- *
- * <p>Always return null, so that the parser will use the system
- * identifier provided in the XML document. This method implements
- * the SAX default behaviour: application writers can override it
- * in a subclass to do special translations such as catalog lookups
- * or URI redirection.</p>
- *
- * @param publicId The public identifier, or null if none is
- * available.
- * @param systemId The system identifier provided in the XML
- * document.
- * @return The new input source, or null to require the
- * default behaviour.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.EntityResolver#resolveEntity
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException
- {
- return null;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of DTDHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a notation declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to keep track of the notations
- * declared in a document.</p>
- *
- * @param name The notation name.
- * @param publicId The notation public identifier, or null if not
- * available.
- * @param systemId The notation system identifier.
- * @see org.xml.sax.DTDHandler#notationDecl
- */
- public void notationDecl (String name, String publicId, String systemId)
- {
- // no op
- }
-
-
- /**
- * Receive notification of an unparsed entity declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to keep track of the unparsed entities
- * declared in a document.</p>
- *
- * @param name The entity name.
- * @param publicId The entity public identifier, or null if not
- * available.
- * @param systemId The entity system identifier.
- * @param notationName The name of the associated notation.
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public void unparsedEntityDecl (String name, String publicId,
- String systemId, String notationName)
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of DocumentHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive a Locator object for document events.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to store the locator for use
- * with other document events.</p>
- *
- * @param locator A locator for all SAX document events.
- * @see org.xml.sax.DocumentHandler#setDocumentLocator
- * @see org.xml.sax.Locator
- */
- public void setDocumentLocator (Locator locator)
- {
- // no op
- }
-
-
- /**
- * Receive notification of the beginning of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the beginning
- * of a document (such as allocating the root node of a tree or
- * creating an output file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the beginning
- * of a document (such as finalising a tree or closing an output
- * file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the start of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the start of
- * each element (such as allocating a new tree node or writing
- * output to a file).</p>
- *
- * @param name The element type name.
- * @param attributes The specified or defaulted attributes.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public void startElement (String name, AttributeList attributes)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end of
- * each element (such as finalising a tree node or writing
- * output to a file).</p>
- *
- * @param name The element type name.
- * @param attributes The specified or defaulted attributes.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#endElement
- */
- public void endElement (String name)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of character data inside an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of character data
- * (such as adding the data to a node or buffer, or printing it to
- * a file).</p>
- *
- * @param ch The characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of ignorable
- * whitespace (such as adding data to a node or buffer, or printing
- * it to a file).</p>
- *
- * @param ch The whitespace characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions for each
- * processing instruction, such as setting status variables or
- * invoking other methods.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none is supplied.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the ErrorHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a parser warning.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each warning, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void warning (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a recoverable parser error.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each error, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void error (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Report a fatal XML parsing error.
- *
- * <p>The default implementation throws a SAXParseException.
- * Application writers may override this method in a subclass if
- * they need to take specific actions for each fatal error (such as
- * collecting all of the errors into a single report): in any case,
- * the application must stop all regular processing when this
- * method is invoked, since the document is no longer reliable, and
- * the parser may no longer report parsing events.</p>
- *
- * @param e The error information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#fatalError
- * @see org.xml.sax.SAXParseException
- */
- public void fatalError (SAXParseException e)
- throws SAXException
- {
- throw e;
- }
-
-}
-
-// end of HandlerBase.java
+// SAX default handler base class.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: HandlerBase.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+/**
+ * Default base class for handlers.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class implements the default behaviour for four SAX1
+ * interfaces: EntityResolver, DTDHandler, DocumentHandler,
+ * and ErrorHandler. It is now obsolete, but is included in SAX2 to
+ * support legacy SAX1 applications. SAX2 applications should use
+ * the {@link org.xml.sax.helpers.DefaultHandler DefaultHandler}
+ * class instead.</p>
+ *
+ * <p>Application writers can extend this class when they need to
+ * implement only part of an interface; parser writers can
+ * instantiate this class to provide default handlers when the
+ * application has not supplied its own.</p>
+ *
+ * <p>Note that the use of this class is optional.</p>
+ *
+ * @deprecated This class works with the deprecated
+ * {@link org.xml.sax.DocumentHandler DocumentHandler}
+ * interface. It has been replaced by the SAX2
+ * {@link org.xml.sax.helpers.DefaultHandler DefaultHandler}
+ * class.
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.EntityResolver
+ * @see org.xml.sax.DTDHandler
+ * @see org.xml.sax.DocumentHandler
+ * @see org.xml.sax.ErrorHandler
+ */
+public class HandlerBase
+ implements EntityResolver, DTDHandler, DocumentHandler, ErrorHandler
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of the EntityResolver interface.
+ ////////////////////////////////////////////////////////////////////
+
+ /**
+ * Resolve an external entity.
+ *
+ * <p>Always return null, so that the parser will use the system
+ * identifier provided in the XML document. This method implements
+ * the SAX default behaviour: application writers can override it
+ * in a subclass to do special translations such as catalog lookups
+ * or URI redirection.</p>
+ *
+ * @param publicId The public identifer, or null if none is
+ * available.
+ * @param systemId The system identifier provided in the XML
+ * document.
+ * @return The new input source, or null to require the
+ * default behaviour.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.EntityResolver#resolveEntity
+ */
+ public InputSource resolveEntity (String publicId, String systemId)
+ throws SAXException
+ {
+ return null;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of DTDHandler interface.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Receive notification of a notation declaration.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass if they wish to keep track of the notations
+ * declared in a document.</p>
+ *
+ * @param name The notation name.
+ * @param publicId The notation public identifier, or null if not
+ * available.
+ * @param systemId The notation system identifier.
+ * @see org.xml.sax.DTDHandler#notationDecl
+ */
+ public void notationDecl (String name, String publicId, String systemId)
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of an unparsed entity declaration.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to keep track of the unparsed entities
+ * declared in a document.</p>
+ *
+ * @param name The entity name.
+ * @param publicId The entity public identifier, or null if not
+ * available.
+ * @param systemId The entity system identifier.
+ * @param notationName The name of the associated notation.
+ * @see org.xml.sax.DTDHandler#unparsedEntityDecl
+ */
+ public void unparsedEntityDecl (String name, String publicId,
+ String systemId, String notationName)
+ {
+ // no op
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of DocumentHandler interface.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Receive a Locator object for document events.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass if they wish to store the locator for use
+ * with other document events.</p>
+ *
+ * @param locator A locator for all SAX document events.
+ * @see org.xml.sax.DocumentHandler#setDocumentLocator
+ * @see org.xml.sax.Locator
+ */
+ public void setDocumentLocator (Locator locator)
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the beginning of the document.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the beginning
+ * of a document (such as allocating the root node of a tree or
+ * creating an output file).</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#startDocument
+ */
+ public void startDocument ()
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the end of the document.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the beginning
+ * of a document (such as finalising a tree or closing an output
+ * file).</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#endDocument
+ */
+ public void endDocument ()
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the start of an element.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the start of
+ * each element (such as allocating a new tree node or writing
+ * output to a file).</p>
+ *
+ * @param name The element type name.
+ * @param attributes The specified or defaulted attributes.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#startElement
+ */
+ public void startElement (String name, AttributeList attributes)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the end of an element.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the end of
+ * each element (such as finalising a tree node or writing
+ * output to a file).</p>
+ *
+ * @param name The element type name.
+ * @param attributes The specified or defaulted attributes.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#endElement
+ */
+ public void endElement (String name)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of character data inside an element.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method to take specific actions for each chunk of character data
+ * (such as adding the data to a node or buffer, or printing it to
+ * a file).</p>
+ *
+ * @param ch The characters.
+ * @param start The start position in the character array.
+ * @param length The number of characters to use from the
+ * character array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#characters
+ */
+ public void characters (char ch[], int start, int length)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of ignorable whitespace in element content.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method to take specific actions for each chunk of ignorable
+ * whitespace (such as adding data to a node or buffer, or printing
+ * it to a file).</p>
+ *
+ * @param ch The whitespace characters.
+ * @param start The start position in the character array.
+ * @param length The number of characters to use from the
+ * character array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#ignorableWhitespace
+ */
+ public void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of a processing instruction.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions for each
+ * processing instruction, such as setting status variables or
+ * invoking other methods.</p>
+ *
+ * @param target The processing instruction target.
+ * @param data The processing instruction data, or null if
+ * none is supplied.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DocumentHandler#processingInstruction
+ */
+ public void processingInstruction (String target, String data)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of the ErrorHandler interface.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Receive notification of a parser warning.
+ *
+ * <p>The default implementation does nothing. Application writers
+ * may override this method in a subclass to take specific actions
+ * for each warning, such as inserting the message in a log file or
+ * printing it to the console.</p>
+ *
+ * @param e The warning information encoded as an exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ErrorHandler#warning
+ * @see org.xml.sax.SAXParseException
+ */
+ public void warning (SAXParseException e)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of a recoverable parser error.
+ *
+ * <p>The default implementation does nothing. Application writers
+ * may override this method in a subclass to take specific actions
+ * for each error, such as inserting the message in a log file or
+ * printing it to the console.</p>
+ *
+ * @param e The warning information encoded as an exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ErrorHandler#warning
+ * @see org.xml.sax.SAXParseException
+ */
+ public void error (SAXParseException e)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Report a fatal XML parsing error.
+ *
+ * <p>The default implementation throws a SAXParseException.
+ * Application writers may override this method in a subclass if
+ * they need to take specific actions for each fatal error (such as
+ * collecting all of the errors into a single report): in any case,
+ * the application must stop all regular processing when this
+ * method is invoked, since the document is no longer reliable, and
+ * the parser may no longer report parsing events.</p>
+ *
+ * @param e The error information encoded as an exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ErrorHandler#fatalError
+ * @see org.xml.sax.SAXParseException
+ */
+ public void fatalError (SAXParseException e)
+ throws SAXException
+ {
+ throw e;
+ }
+
+}
+
+// end of HandlerBase.java
diff --git a/libjava/org/xml/sax/InputSource.java b/libjava/org/xml/sax/InputSource.java
index 985ca220387..f6c09071d47 100644
--- a/libjava/org/xml/sax/InputSource.java
+++ b/libjava/org/xml/sax/InputSource.java
@@ -1,321 +1,336 @@
-// SAX input source.
-// No warranty; no copyright -- use this as you will.
-// $Id: InputSource.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-import java.io.Reader;
-import java.io.InputStream;
-
-/**
- * A single input source for an XML entity.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class allows a SAX application to encapsulate information
- * about an input source in a single object, which may include
- * a public identifier, a system identifier, a byte stream (possibly
- * with a specified encoding), and/or a character stream.</p>
- *
- * <p>There are two places that the application will deliver this
- * input source to the parser: as the argument to the Parser.parse
- * method, or as the return value of the EntityResolver.resolveEntity
- * method.</p>
- *
- * <p>The SAX parser will use the InputSource object to determine how
- * to read XML input. If there is a character stream available, the
- * parser will read that stream directly; if not, the parser will use
- * a byte stream, if available; if neither a character stream nor a
- * byte stream is available, the parser will attempt to open a URI
- * connection to the resource identified by the system
- * identifier.</p>
- *
- * <p>An InputSource object belongs to the application: the SAX parser
- * shall never modify it in any way (it may modify a copy if
- * necessary).</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser#parse
- * @see org.xml.sax.EntityResolver#resolveEntity
- * @see java.io.InputStream
- * @see java.io.Reader
- */
-public class InputSource {
-
- /**
- * Zero-argument default constructor.
- *
- * @see #setPublicId
- * @see #setSystemId
- * @see #setByteStream
- * @see #setCharacterStream
- * @see #setEncoding
- */
- public InputSource ()
- {
- }
-
-
- /**
- * Create a new input source with a system identifier.
- *
- * <p>Applications may use setPublicId to include a
- * public identifier as well, or setEncoding to specify
- * the character encoding, if known.</p>
- *
- * <p>If the system identifier is a URL, it must be full resolved.</p>
- *
- * @param systemId The system identifier (URI).
- * @see #setPublicId
- * @see #setSystemId
- * @see #setByteStream
- * @see #setEncoding
- * @see #setCharacterStream
- */
- public InputSource (String systemId)
- {
- setSystemId(systemId);
- }
-
-
- /**
- * Create a new input source with a byte stream.
- *
- * <p>Application writers may use setSystemId to provide a base
- * for resolving relative URIs, setPublicId to include a
- * public identifier, and/or setEncoding to specify the object's
- * character encoding.</p>
- *
- * @param byteStream The raw byte stream containing the document.
- * @see #setPublicId
- * @see #setSystemId
- * @see #setEncoding
- * @see #setByteStream
- * @see #setCharacterStream
- */
- public InputSource (InputStream byteStream)
- {
- setByteStream(byteStream);
- }
-
-
- /**
- * Create a new input source with a character stream.
- *
- * <p>Application writers may use setSystemId() to provide a base
- * for resolving relative URIs, and setPublicId to include a
- * public identifier.</p>
- *
- * <p>The character stream shall not include a byte order mark.</p>
- *
- * @see #setPublicId
- * @see #setSystemId
- * @see #setByteStream
- * @see #setCharacterStream
- */
- public InputSource (Reader characterStream)
- {
- setCharacterStream(characterStream);
- }
-
-
- /**
- * Set the public identifier for this input source.
- *
- * <p>The public identifier is always optional: if the application
- * writer includes one, it will be provided as part of the
- * location information.</p>
- *
- * @param publicId The public identifier as a string.
- * @see #getPublicId
- * @see org.xml.sax.Locator#getPublicId
- * @see org.xml.sax.SAXParseException#getPublicId
- */
- public void setPublicId (String publicId)
- {
- this.publicId = publicId;
- }
-
-
- /**
- * Get the public identifier for this input source.
- *
- * @return The public identifier, or null if none was supplied.
- * @see #setPublicId
- */
- public String getPublicId ()
- {
- return publicId;
- }
-
-
- /**
- * Set the system identifier for this input source.
- *
- * <p>The system identifier is optional if there is a byte stream
- * or a character stream, but it is still useful to provide one,
- * since the application can use it to resolve relative URIs
- * and can include it in error messages and warnings (the parser
- * will attempt to open a connection to the URI only if
- * there is no byte stream or character stream specified).</p>
- *
- * <p>If the application knows the character encoding of the
- * object pointed to by the system identifier, it can register
- * the encoding using the setEncoding method.</p>
- *
- * <p>If the system ID is a URL, it must be fully resolved.</p>
- *
- * @param systemId The system identifier as a string.
- * @see #setEncoding
- * @see #getSystemId
- * @see org.xml.sax.Locator#getSystemId
- * @see org.xml.sax.SAXParseException#getSystemId
- */
- public void setSystemId (String systemId)
- {
- this.systemId = systemId;
- }
-
-
- /**
- * Get the system identifier for this input source.
- *
- * <p>The getEncoding method will return the character encoding
- * of the object pointed to, or null if unknown.</p>
- *
- * <p>If the system ID is a URL, it will be fully resolved.</p>
- *
- * @return The system identifier.
- * @see #setSystemId
- * @see #getEncoding
- */
- public String getSystemId ()
- {
- return systemId;
- }
-
-
- /**
- * Set the byte stream for this input source.
- *
- * <p>The SAX parser will ignore this if there is also a character
- * stream specified, but it will use a byte stream in preference
- * to opening a URI connection itself.</p>
- *
- * <p>If the application knows the character encoding of the
- * byte stream, it should set it with the setEncoding method.</p>
- *
- * @param byteStream A byte stream containing an XML document or
- * other entity.
- * @see #setEncoding
- * @see #getByteStream
- * @see #getEncoding
- * @see java.io.InputStream
- */
- public void setByteStream (InputStream byteStream)
- {
- this.byteStream = byteStream;
- }
-
-
- /**
- * Get the byte stream for this input source.
- *
- * <p>The getEncoding method will return the character
- * encoding for this byte stream, or null if unknown.</p>
- *
- * @return The byte stream, or null if none was supplied.
- * @see #getEncoding
- * @see #setByteStream
- */
- public InputStream getByteStream ()
- {
- return byteStream;
- }
-
-
- /**
- * Set the character encoding, if known.
- *
- * <p>The encoding must be a string acceptable for an
- * XML encoding declaration (see section 4.3.3 of the XML 1.0
- * recommendation).</p>
- *
- * <p>This method has no effect when the application provides a
- * character stream.</p>
- *
- * @param encoding A string describing the character encoding.
- * @see #setSystemId
- * @see #setByteStream
- * @see #getEncoding
- */
- public void setEncoding (String encoding)
- {
- this.encoding = encoding;
- }
-
-
- /**
- * Get the character encoding for a byte stream or URI.
- *
- * @return The encoding, or null if none was supplied.
- * @see #setByteStream
- * @see #getSystemId
- * @see #getByteStream
- */
- public String getEncoding ()
- {
- return encoding;
- }
-
-
- /**
- * Set the character stream for this input source.
- *
- * <p>If there is a character stream specified, the SAX parser
- * will ignore any byte stream and will not attempt to open
- * a URI connection to the system identifier.</p>
- *
- * @param characterStream The character stream containing the
- * XML document or other entity.
- * @see #getCharacterStream
- * @see java.io.Reader
- */
- public void setCharacterStream (Reader characterStream)
- {
- this.characterStream = characterStream;
- }
-
-
- /**
- * Get the character stream for this input source.
- *
- * @return The character stream, or null if none was supplied.
- * @see #setCharacterStream
- */
- public Reader getCharacterStream ()
- {
- return characterStream;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private String publicId;
- private String systemId;
- private InputStream byteStream;
- private String encoding;
- private Reader characterStream;
-
-}
-
-// end of InputSource.java
+// SAX input source.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: InputSource.java,v 1.5.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+import java.io.Reader;
+import java.io.InputStream;
+
+/**
+ * A single input source for an XML entity.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class allows a SAX application to encapsulate information
+ * about an input source in a single object, which may include
+ * a public identifier, a system identifier, a byte stream (possibly
+ * with a specified encoding), and/or a character stream.</p>
+ *
+ * <p>There are two places that the application can deliver an
+ * input source to the parser: as the argument to the Parser.parse
+ * method, or as the return value of the EntityResolver.resolveEntity
+ * method.</p>
+ *
+ * <p>The SAX parser will use the InputSource object to determine how
+ * to read XML input. If there is a character stream available, the
+ * parser will read that stream directly, disregarding any text
+ * encoding declaration found in that stream.
+ * If there is no character stream, but there is
+ * a byte stream, the parser will use that byte stream, using the
+ * encoding specified in the InputSource or else (if no encoding is
+ * specified) autodetecting the character encoding using an algorithm
+ * such as the one in the XML specification. If neither a character
+ * stream nor a
+ * byte stream is available, the parser will attempt to open a URI
+ * connection to the resource identified by the system
+ * identifier.</p>
+ *
+ * <p>An InputSource object belongs to the application: the SAX parser
+ * shall never modify it in any way (it may modify a copy if
+ * necessary). However, standard processing of both byte and
+ * character streams is to close them on as part of end-of-parse cleanup,
+ * so applications should not attempt to re-use such streams after they
+ * have been handed to a parser. </p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLReader#parse(org.xml.sax.InputSource)
+ * @see org.xml.sax.EntityResolver#resolveEntity
+ * @see java.io.InputStream
+ * @see java.io.Reader
+ */
+public class InputSource {
+
+ /**
+ * Zero-argument default constructor.
+ *
+ * @see #setPublicId
+ * @see #setSystemId
+ * @see #setByteStream
+ * @see #setCharacterStream
+ * @see #setEncoding
+ */
+ public InputSource ()
+ {
+ }
+
+
+ /**
+ * Create a new input source with a system identifier.
+ *
+ * <p>Applications may use setPublicId to include a
+ * public identifier as well, or setEncoding to specify
+ * the character encoding, if known.</p>
+ *
+ * <p>If the system identifier is a URL, it must be fully
+ * resolved (it may not be a relative URL).</p>
+ *
+ * @param systemId The system identifier (URI).
+ * @see #setPublicId
+ * @see #setSystemId
+ * @see #setByteStream
+ * @see #setEncoding
+ * @see #setCharacterStream
+ */
+ public InputSource (String systemId)
+ {
+ setSystemId(systemId);
+ }
+
+
+ /**
+ * Create a new input source with a byte stream.
+ *
+ * <p>Application writers should use setSystemId() to provide a base
+ * for resolving relative URIs, may use setPublicId to include a
+ * public identifier, and may use setEncoding to specify the object's
+ * character encoding.</p>
+ *
+ * @param byteStream The raw byte stream containing the document.
+ * @see #setPublicId
+ * @see #setSystemId
+ * @see #setEncoding
+ * @see #setByteStream
+ * @see #setCharacterStream
+ */
+ public InputSource (InputStream byteStream)
+ {
+ setByteStream(byteStream);
+ }
+
+
+ /**
+ * Create a new input source with a character stream.
+ *
+ * <p>Application writers should use setSystemId() to provide a base
+ * for resolving relative URIs, and may use setPublicId to include a
+ * public identifier.</p>
+ *
+ * <p>The character stream shall not include a byte order mark.</p>
+ *
+ * @see #setPublicId
+ * @see #setSystemId
+ * @see #setByteStream
+ * @see #setCharacterStream
+ */
+ public InputSource (Reader characterStream)
+ {
+ setCharacterStream(characterStream);
+ }
+
+
+ /**
+ * Set the public identifier for this input source.
+ *
+ * <p>The public identifier is always optional: if the application
+ * writer includes one, it will be provided as part of the
+ * location information.</p>
+ *
+ * @param publicId The public identifier as a string.
+ * @see #getPublicId
+ * @see org.xml.sax.Locator#getPublicId
+ * @see org.xml.sax.SAXParseException#getPublicId
+ */
+ public void setPublicId (String publicId)
+ {
+ this.publicId = publicId;
+ }
+
+
+ /**
+ * Get the public identifier for this input source.
+ *
+ * @return The public identifier, or null if none was supplied.
+ * @see #setPublicId
+ */
+ public String getPublicId ()
+ {
+ return publicId;
+ }
+
+
+ /**
+ * Set the system identifier for this input source.
+ *
+ * <p>The system identifier is optional if there is a byte stream
+ * or a character stream, but it is still useful to provide one,
+ * since the application can use it to resolve relative URIs
+ * and can include it in error messages and warnings (the parser
+ * will attempt to open a connection to the URI only if
+ * there is no byte stream or character stream specified).</p>
+ *
+ * <p>If the application knows the character encoding of the
+ * object pointed to by the system identifier, it can register
+ * the encoding using the setEncoding method.</p>
+ *
+ * <p>If the system identifier is a URL, it must be fully
+ * resolved (it may not be a relative URL).</p>
+ *
+ * @param systemId The system identifier as a string.
+ * @see #setEncoding
+ * @see #getSystemId
+ * @see org.xml.sax.Locator#getSystemId
+ * @see org.xml.sax.SAXParseException#getSystemId
+ */
+ public void setSystemId (String systemId)
+ {
+ this.systemId = systemId;
+ }
+
+
+ /**
+ * Get the system identifier for this input source.
+ *
+ * <p>The getEncoding method will return the character encoding
+ * of the object pointed to, or null if unknown.</p>
+ *
+ * <p>If the system ID is a URL, it will be fully resolved.</p>
+ *
+ * @return The system identifier, or null if none was supplied.
+ * @see #setSystemId
+ * @see #getEncoding
+ */
+ public String getSystemId ()
+ {
+ return systemId;
+ }
+
+
+ /**
+ * Set the byte stream for this input source.
+ *
+ * <p>The SAX parser will ignore this if there is also a character
+ * stream specified, but it will use a byte stream in preference
+ * to opening a URI connection itself.</p>
+ *
+ * <p>If the application knows the character encoding of the
+ * byte stream, it should set it with the setEncoding method.</p>
+ *
+ * @param byteStream A byte stream containing an XML document or
+ * other entity.
+ * @see #setEncoding
+ * @see #getByteStream
+ * @see #getEncoding
+ * @see java.io.InputStream
+ */
+ public void setByteStream (InputStream byteStream)
+ {
+ this.byteStream = byteStream;
+ }
+
+
+ /**
+ * Get the byte stream for this input source.
+ *
+ * <p>The getEncoding method will return the character
+ * encoding for this byte stream, or null if unknown.</p>
+ *
+ * @return The byte stream, or null if none was supplied.
+ * @see #getEncoding
+ * @see #setByteStream
+ */
+ public InputStream getByteStream ()
+ {
+ return byteStream;
+ }
+
+
+ /**
+ * Set the character encoding, if known.
+ *
+ * <p>The encoding must be a string acceptable for an
+ * XML encoding declaration (see section 4.3.3 of the XML 1.0
+ * recommendation).</p>
+ *
+ * <p>This method has no effect when the application provides a
+ * character stream.</p>
+ *
+ * @param encoding A string describing the character encoding.
+ * @see #setSystemId
+ * @see #setByteStream
+ * @see #getEncoding
+ */
+ public void setEncoding (String encoding)
+ {
+ this.encoding = encoding;
+ }
+
+
+ /**
+ * Get the character encoding for a byte stream or URI.
+ * This value will be ignored when the application provides a
+ * character stream.
+ *
+ * @return The encoding, or null if none was supplied.
+ * @see #setByteStream
+ * @see #getSystemId
+ * @see #getByteStream
+ */
+ public String getEncoding ()
+ {
+ return encoding;
+ }
+
+
+ /**
+ * Set the character stream for this input source.
+ *
+ * <p>If there is a character stream specified, the SAX parser
+ * will ignore any byte stream and will not attempt to open
+ * a URI connection to the system identifier.</p>
+ *
+ * @param characterStream The character stream containing the
+ * XML document or other entity.
+ * @see #getCharacterStream
+ * @see java.io.Reader
+ */
+ public void setCharacterStream (Reader characterStream)
+ {
+ this.characterStream = characterStream;
+ }
+
+
+ /**
+ * Get the character stream for this input source.
+ *
+ * @return The character stream, or null if none was supplied.
+ * @see #setCharacterStream
+ */
+ public Reader getCharacterStream ()
+ {
+ return characterStream;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ private String publicId;
+ private String systemId;
+ private InputStream byteStream;
+ private String encoding;
+ private Reader characterStream;
+
+}
+
+// end of InputSource.java
diff --git a/libjava/org/xml/sax/Locator.java b/libjava/org/xml/sax/Locator.java
index be55656042e..d94c3ea4abd 100644
--- a/libjava/org/xml/sax/Locator.java
+++ b/libjava/org/xml/sax/Locator.java
@@ -1,126 +1,136 @@
-// SAX locator interface for document events.
-// No warranty; no copyright -- use this as you will.
-// $Id: Locator.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-
-/**
- * Interface for associating a SAX event with a document location.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>If a SAX parser provides location information to the SAX
- * application, it does so by implementing this interface and then
- * passing an instance to the application using the content
- * handler's {@link org.xml.sax.ContentHandler#setDocumentLocator
- * setDocumentLocator} method. The application can use the
- * object to obtain the location of any other content handler event
- * in the XML source document.</p>
- *
- * <p>Note that the results returned by the object will be valid only
- * during the scope of each content handler method: the application
- * will receive unpredictable results if it attempts to use the
- * locator at any other time.</p>
- *
- * <p>SAX parsers are not required to supply a locator, but they are
- * very strongly encouraged to do so. If the parser supplies a
- * locator, it must do so before reporting any other document events.
- * If no locator has been set by the time the application receives
- * the {@link org.xml.sax.ContentHandler#startDocument startDocument}
- * event, the application should assume that a locator is not
- * available.</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
-public interface Locator {
-
-
- /**
- * Return the public identifier for the current document event.
- *
- * <p>The return value is the public identifier of the document
- * entity or of the external parsed entity in which the markup
- * triggering the event appears.</p>
- *
- * @return A string containing the public identifier, or
- * null if none is available.
- * @see #getSystemId
- */
- public abstract String getPublicId ();
-
-
- /**
- * Return the system identifier for the current document event.
- *
- * <p>The return value is the system identifier of the document
- * entity or of the external parsed entity in which the markup
- * triggering the event appears.</p>
- *
- * <p>If the system identifier is a URL, the parser must resolve it
- * fully before passing it to the application.</p>
- *
- * @return A string containing the system identifier, or null
- * if none is available.
- * @see #getPublicId
- */
- public abstract String getSystemId ();
-
-
- /**
- * Return the line number where the current document event ends.
- *
- * <p><strong>Warning:</strong> The return value from the method
- * is intended only as an approximation for the sake of error
- * reporting; it is not intended to provide sufficient information
- * to edit the character content of the original XML document.</p>
- *
- * <p>The return value is an approximation of the line number
- * in the document entity or external parsed entity where the
- * markup triggering the event appears.</p>
- *
- * <p>If possible, the SAX driver should provide the line position
- * of the first character after the text associated with the document
- * event. The first line in the document is line 1.</p>
- *
- * @return The line number, or -1 if none is available.
- * @see #getColumnNumber
- */
- public abstract int getLineNumber ();
-
-
- /**
- * Return the column number where the current document event ends.
- *
- * <p><strong>Warning:</strong> The return value from the method
- * is intended only as an approximation for the sake of error
- * reporting; it is not intended to provide sufficient information
- * to edit the character content of the original XML document.</p>
- *
- * <p>The return value is an approximation of the column number
- * in the document entity or external parsed entity where the
- * markup triggering the event appears.</p>
- *
- * <p>If possible, the SAX driver should provide the line position
- * of the first character after the text associated with the document
- * event.</p>
- *
- * <p>If possible, the SAX driver should provide the line position
- * of the first character after the text associated with the document
- * event. The first column in each line is column 1.</p>
- *
- * @return The column number, or -1 if none is available.
- * @see #getLineNumber
- */
- public abstract int getColumnNumber ();
-
-}
-
-// end of Locator.java
+// SAX locator interface for document events.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: Locator.java,v 1.4.2.5 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+
+/**
+ * Interface for associating a SAX event with a document location.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>If a SAX parser provides location information to the SAX
+ * application, it does so by implementing this interface and then
+ * passing an instance to the application using the content
+ * handler's {@link org.xml.sax.ContentHandler#setDocumentLocator
+ * setDocumentLocator} method. The application can use the
+ * object to obtain the location of any other SAX event
+ * in the XML source document.</p>
+ *
+ * <p>Note that the results returned by the object will be valid only
+ * during the scope of each callback method: the application
+ * will receive unpredictable results if it attempts to use the
+ * locator at any other time, or after parsing completes.</p>
+ *
+ * <p>SAX parsers are not required to supply a locator, but they are
+ * very strongly encouraged to do so. If the parser supplies a
+ * locator, it must do so before reporting any other document events.
+ * If no locator has been set by the time the application receives
+ * the {@link org.xml.sax.ContentHandler#startDocument startDocument}
+ * event, the application should assume that a locator is not
+ * available.</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.ContentHandler#setDocumentLocator
+ */
+public interface Locator {
+
+
+ /**
+ * Return the public identifier for the current document event.
+ *
+ * <p>The return value is the public identifier of the document
+ * entity or of the external parsed entity in which the markup
+ * triggering the event appears.</p>
+ *
+ * @return A string containing the public identifier, or
+ * null if none is available.
+ * @see #getSystemId
+ */
+ public abstract String getPublicId ();
+
+
+ /**
+ * Return the system identifier for the current document event.
+ *
+ * <p>The return value is the system identifier of the document
+ * entity or of the external parsed entity in which the markup
+ * triggering the event appears.</p>
+ *
+ * <p>If the system identifier is a URL, the parser must resolve it
+ * fully before passing it to the application. For example, a file
+ * name must always be provided as a <em>file:...</em> URL, and other
+ * kinds of relative URI are also resolved against their bases.</p>
+ *
+ * @return A string containing the system identifier, or null
+ * if none is available.
+ * @see #getPublicId
+ */
+ public abstract String getSystemId ();
+
+
+ /**
+ * Return the line number where the current document event ends.
+ * Lines are delimited by line ends, which are defined in
+ * the XML specification.
+ *
+ * <p><strong>Warning:</strong> The return value from the method
+ * is intended only as an approximation for the sake of diagnostics;
+ * it is not intended to provide sufficient information
+ * to edit the character content of the original XML document.
+ * In some cases, these "line" numbers match what would be displayed
+ * as columns, and in others they may not match the source text
+ * due to internal entity expansion. </p>
+ *
+ * <p>The return value is an approximation of the line number
+ * in the document entity or external parsed entity where the
+ * markup triggering the event appears.</p>
+ *
+ * <p>If possible, the SAX driver should provide the line position
+ * of the first character after the text associated with the document
+ * event. The first line is line 1.</p>
+ *
+ * @return The line number, or -1 if none is available.
+ * @see #getColumnNumber
+ */
+ public abstract int getLineNumber ();
+
+
+ /**
+ * Return the column number where the current document event ends.
+ * This is one-based number of Java <code>char</code> values since
+ * the last line end.
+ *
+ * <p><strong>Warning:</strong> The return value from the method
+ * is intended only as an approximation for the sake of diagnostics;
+ * it is not intended to provide sufficient information
+ * to edit the character content of the original XML document.
+ * For example, when lines contain combining character sequences, wide
+ * characters, surrogate pairs, or bi-directional text, the value may
+ * not correspond to the column in a text editor's display. </p>
+ *
+ * <p>The return value is an approximation of the column number
+ * in the document entity or external parsed entity where the
+ * markup triggering the event appears.</p>
+ *
+ * <p>If possible, the SAX driver should provide the line position
+ * of the first character after the text associated with the document
+ * event. The first column in each line is column 1.</p>
+ *
+ * @return The column number, or -1 if none is available.
+ * @see #getLineNumber
+ */
+ public abstract int getColumnNumber ();
+
+}
+
+// end of Locator.java
diff --git a/libjava/org/xml/sax/Parser.java b/libjava/org/xml/sax/Parser.java
index e775ca97c87..2999265c4c3 100644
--- a/libjava/org/xml/sax/Parser.java
+++ b/libjava/org/xml/sax/Parser.java
@@ -1,207 +1,209 @@
-// SAX parser interface.
-// No warranty; no copyright -- use this as you will.
-// $Id: Parser.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-import java.io.IOException;
-import java.util.Locale;
-
-
-/**
- * Basic interface for SAX (Simple API for XML) parsers.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This was the main event supplier interface for SAX1; it has
- * been replaced in SAX2 by {@link org.xml.sax.XMLReader XMLReader},
- * which includes Namespace support and sophisticated configurability
- * and extensibility.</p>
- *
- * <p>All SAX1 parsers must implement this basic interface: it allows
- * applications to register handlers for different types of events
- * and to initiate a parse from a URI, or a character stream.</p>
- *
- * <p>All SAX1 parsers must also implement a zero-argument constructor
- * (though other constructors are also allowed).</p>
- *
- * <p>SAX1 parsers are reusable but not re-entrant: the application
- * may reuse a parser object (possibly with a different input source)
- * once the first parse has completed successfully, but it may not
- * invoke the parse() methods recursively within a parse.</p>
- *
- * @deprecated This interface has been replaced by the SAX2
- * {@link org.xml.sax.XMLReader XMLReader}
- * interface, which includes Namespace support.
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.DocumentHandler
- * @see org.xml.sax.ErrorHandler
- * @see org.xml.sax.HandlerBase
- * @see org.xml.sax.InputSource
- */
-public interface Parser
-{
-
- /**
- * Allow an application to request a locale for errors and warnings.
- *
- * <p>SAX parsers are not required to provide localisation for errors
- * and warnings; if they cannot support the requested locale,
- * however, they must throw a SAX exception. Applications may
- * not request a locale change in the middle of a parse.</p>
- *
- * @param locale A Java Locale object.
- * @exception org.xml.sax.SAXException Throws an exception
- * (using the previous or default locale) if the
- * requested locale is not supported.
- * @see org.xml.sax.SAXException
- * @see org.xml.sax.SAXParseException
- */
- public abstract void setLocale (Locale locale)
- throws SAXException;
-
-
- /**
- * Allow an application to register a custom entity resolver.
- *
- * <p>If the application does not register an entity resolver, the
- * SAX parser will resolve system identifiers and open connections
- * to entities itself (this is the default behaviour implemented in
- * HandlerBase).</p>
- *
- * <p>Applications may register a new or different entity resolver
- * in the middle of a parse, and the SAX parser must begin using
- * the new resolver immediately.</p>
- *
- * @param resolver The object for resolving entities.
- * @see EntityResolver
- * @see HandlerBase
- */
- public abstract void setEntityResolver (EntityResolver resolver);
-
-
- /**
- * Allow an application to register a DTD event handler.
- *
- * <p>If the application does not register a DTD handler, all DTD
- * events reported by the SAX parser will be silently
- * ignored (this is the default behaviour implemented by
- * HandlerBase).</p>
- *
- * <p>Applications may register a new or different
- * handler in the middle of a parse, and the SAX parser must
- * begin using the new handler immediately.</p>
- *
- * @param handler The DTD handler.
- * @see DTDHandler
- * @see HandlerBase
- */
- public abstract void setDTDHandler (DTDHandler handler);
-
-
- /**
- * Allow an application to register a document event handler.
- *
- * <p>If the application does not register a document handler, all
- * document events reported by the SAX parser will be silently
- * ignored (this is the default behaviour implemented by
- * HandlerBase).</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The document handler.
- * @see DocumentHandler
- * @see HandlerBase
- */
- public abstract void setDocumentHandler (DocumentHandler handler);
-
-
- /**
- * Allow an application to register an error event handler.
- *
- * <p>If the application does not register an error event handler,
- * all error events reported by the SAX parser will be silently
- * ignored, except for fatalError, which will throw a SAXException
- * (this is the default behaviour implemented by HandlerBase).</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The error handler.
- * @see ErrorHandler
- * @see SAXException
- * @see HandlerBase
- */
- public abstract void setErrorHandler (ErrorHandler handler);
-
-
- /**
- * Parse an XML document.
- *
- * <p>The application can use this method to instruct the SAX parser
- * to begin parsing an XML document from any valid input
- * source (a character stream, a byte stream, or a URI).</p>
- *
- * <p>Applications may not invoke this method while a parse is in
- * progress (they should create a new Parser instead for each
- * additional XML document). Once a parse is complete, an
- * application may reuse the same Parser object, possibly with a
- * different input source.</p>
- *
- * @param source The input source for the top-level of the
- * XML document.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see org.xml.sax.InputSource
- * @see #parse(java.lang.String)
- * @see #setEntityResolver
- * @see #setDTDHandler
- * @see #setDocumentHandler
- * @see #setErrorHandler
- */
- public abstract void parse (InputSource source)
- throws SAXException, IOException;
-
-
- /**
- * Parse an XML document from a system identifier (URI).
- *
- * <p>This method is a shortcut for the common case of reading a
- * document from a system identifier. It is the exact
- * equivalent of the following:</p>
- *
- * <pre>
- * parse(new InputSource(systemId));
- * </pre>
- *
- * <p>If the system identifier is a URL, it must be fully resolved
- * by the application before it is passed to the parser.</p>
- *
- * @param systemId The system identifier (URI).
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see #parse(org.xml.sax.InputSource)
- */
- public abstract void parse (String systemId)
- throws SAXException, IOException;
-
-}
-
-// end of Parser.java
+// SAX parser interface.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: Parser.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+import java.io.IOException;
+import java.util.Locale;
+
+
+/**
+ * Basic interface for SAX (Simple API for XML) parsers.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This was the main event supplier interface for SAX1; it has
+ * been replaced in SAX2 by {@link org.xml.sax.XMLReader XMLReader},
+ * which includes Namespace support and sophisticated configurability
+ * and extensibility.</p>
+ *
+ * <p>All SAX1 parsers must implement this basic interface: it allows
+ * applications to register handlers for different types of events
+ * and to initiate a parse from a URI, or a character stream.</p>
+ *
+ * <p>All SAX1 parsers must also implement a zero-argument constructor
+ * (though other constructors are also allowed).</p>
+ *
+ * <p>SAX1 parsers are reusable but not re-entrant: the application
+ * may reuse a parser object (possibly with a different input source)
+ * once the first parse has completed successfully, but it may not
+ * invoke the parse() methods recursively within a parse.</p>
+ *
+ * @deprecated This interface has been replaced by the SAX2
+ * {@link org.xml.sax.XMLReader XMLReader}
+ * interface, which includes Namespace support.
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.EntityResolver
+ * @see org.xml.sax.DTDHandler
+ * @see org.xml.sax.DocumentHandler
+ * @see org.xml.sax.ErrorHandler
+ * @see org.xml.sax.HandlerBase
+ * @see org.xml.sax.InputSource
+ */
+public interface Parser
+{
+
+ /**
+ * Allow an application to request a locale for errors and warnings.
+ *
+ * <p>SAX parsers are not required to provide localisation for errors
+ * and warnings; if they cannot support the requested locale,
+ * however, they must throw a SAX exception. Applications may
+ * not request a locale change in the middle of a parse.</p>
+ *
+ * @param locale A Java Locale object.
+ * @exception org.xml.sax.SAXException Throws an exception
+ * (using the previous or default locale) if the
+ * requested locale is not supported.
+ * @see org.xml.sax.SAXException
+ * @see org.xml.sax.SAXParseException
+ */
+ public abstract void setLocale (Locale locale)
+ throws SAXException;
+
+
+ /**
+ * Allow an application to register a custom entity resolver.
+ *
+ * <p>If the application does not register an entity resolver, the
+ * SAX parser will resolve system identifiers and open connections
+ * to entities itself (this is the default behaviour implemented in
+ * HandlerBase).</p>
+ *
+ * <p>Applications may register a new or different entity resolver
+ * in the middle of a parse, and the SAX parser must begin using
+ * the new resolver immediately.</p>
+ *
+ * @param resolver The object for resolving entities.
+ * @see EntityResolver
+ * @see HandlerBase
+ */
+ public abstract void setEntityResolver (EntityResolver resolver);
+
+
+ /**
+ * Allow an application to register a DTD event handler.
+ *
+ * <p>If the application does not register a DTD handler, all DTD
+ * events reported by the SAX parser will be silently
+ * ignored (this is the default behaviour implemented by
+ * HandlerBase).</p>
+ *
+ * <p>Applications may register a new or different
+ * handler in the middle of a parse, and the SAX parser must
+ * begin using the new handler immediately.</p>
+ *
+ * @param handler The DTD handler.
+ * @see DTDHandler
+ * @see HandlerBase
+ */
+ public abstract void setDTDHandler (DTDHandler handler);
+
+
+ /**
+ * Allow an application to register a document event handler.
+ *
+ * <p>If the application does not register a document handler, all
+ * document events reported by the SAX parser will be silently
+ * ignored (this is the default behaviour implemented by
+ * HandlerBase).</p>
+ *
+ * <p>Applications may register a new or different handler in the
+ * middle of a parse, and the SAX parser must begin using the new
+ * handler immediately.</p>
+ *
+ * @param handler The document handler.
+ * @see DocumentHandler
+ * @see HandlerBase
+ */
+ public abstract void setDocumentHandler (DocumentHandler handler);
+
+
+ /**
+ * Allow an application to register an error event handler.
+ *
+ * <p>If the application does not register an error event handler,
+ * all error events reported by the SAX parser will be silently
+ * ignored, except for fatalError, which will throw a SAXException
+ * (this is the default behaviour implemented by HandlerBase).</p>
+ *
+ * <p>Applications may register a new or different handler in the
+ * middle of a parse, and the SAX parser must begin using the new
+ * handler immediately.</p>
+ *
+ * @param handler The error handler.
+ * @see ErrorHandler
+ * @see SAXException
+ * @see HandlerBase
+ */
+ public abstract void setErrorHandler (ErrorHandler handler);
+
+
+ /**
+ * Parse an XML document.
+ *
+ * <p>The application can use this method to instruct the SAX parser
+ * to begin parsing an XML document from any valid input
+ * source (a character stream, a byte stream, or a URI).</p>
+ *
+ * <p>Applications may not invoke this method while a parse is in
+ * progress (they should create a new Parser instead for each
+ * additional XML document). Once a parse is complete, an
+ * application may reuse the same Parser object, possibly with a
+ * different input source.</p>
+ *
+ * @param source The input source for the top-level of the
+ * XML document.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException An IO exception from the parser,
+ * possibly from a byte stream or character stream
+ * supplied by the application.
+ * @see org.xml.sax.InputSource
+ * @see #parse(java.lang.String)
+ * @see #setEntityResolver
+ * @see #setDTDHandler
+ * @see #setDocumentHandler
+ * @see #setErrorHandler
+ */
+ public abstract void parse (InputSource source)
+ throws SAXException, IOException;
+
+
+ /**
+ * Parse an XML document from a system identifier (URI).
+ *
+ * <p>This method is a shortcut for the common case of reading a
+ * document from a system identifier. It is the exact
+ * equivalent of the following:</p>
+ *
+ * <pre>
+ * parse(new InputSource(systemId));
+ * </pre>
+ *
+ * <p>If the system identifier is a URL, it must be fully resolved
+ * by the application before it is passed to the parser.</p>
+ *
+ * @param systemId The system identifier (URI).
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException An IO exception from the parser,
+ * possibly from a byte stream or character stream
+ * supplied by the application.
+ * @see #parse(org.xml.sax.InputSource)
+ */
+ public abstract void parse (String systemId)
+ throws SAXException, IOException;
+
+}
+
+// end of Parser.java
diff --git a/libjava/org/xml/sax/SAXException.java b/libjava/org/xml/sax/SAXException.java
index 69537e91706..b11d998edad 100644
--- a/libjava/org/xml/sax/SAXException.java
+++ b/libjava/org/xml/sax/SAXException.java
@@ -1,144 +1,153 @@
-// SAX exception class.
-// No warranty; no copyright -- use this as you will.
-// $Id: SAXException.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-/**
- * Encapsulate a general SAX error or warning.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class can contain basic error or warning information from
- * either the XML parser or the application: a parser writer or
- * application writer can subclass it to provide additional
- * functionality. SAX handlers may throw this exception or
- * any exception subclassed from it.</p>
- *
- * <p>If the application needs to pass through other types of
- * exceptions, it must wrap those exceptions in a SAXException
- * or an exception derived from a SAXException.</p>
- *
- * <p>If the parser or application needs to include information about a
- * specific location in an XML document, it should use the
- * {@link org.xml.sax.SAXParseException SAXParseException} subclass.</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.SAXParseException
- */
-public class SAXException extends Exception {
-
-
- /**
- * Create a new SAXException.
- *
- * @param message The error or warning message.
- * @see org.xml.sax.Parser#setLocale
- */
- public SAXException (String message) {
- super(message);
- this.exception = null;
- }
-
-
- /**
- * Create a new SAXException wrapping an existing exception.
- *
- * <p>The existing exception will be embedded in the new
- * one, and its message will become the default message for
- * the SAXException.</p>
- *
- * @param e The exception to be wrapped in a SAXException.
- */
- public SAXException (Exception e)
- {
- super();
- this.exception = e;
- }
-
-
- /**
- * Create a new SAXException from an existing exception.
- *
- * <p>The existing exception will be embedded in the new
- * one, but the new exception will have its own message.</p>
- *
- * @param message The detail message.
- * @param e The exception to be wrapped in a SAXException.
- * @see org.xml.sax.Parser#setLocale
- */
- public SAXException (String message, Exception e)
- {
- super(message);
- this.exception = e;
- }
-
-
- /**
- * Return a detail message for this exception.
- *
- * <p>If there is an embedded exception, and if the SAXException
- * has no detail message of its own, this method will return
- * the detail message from the embedded exception.</p>
- *
- * @return The error or warning message.
- * @see org.xml.sax.Parser#setLocale
- */
- public String getMessage ()
- {
- String message = super.getMessage();
-
- if (message == null && exception != null) {
- return exception.getMessage();
- } else {
- return message;
- }
- }
-
-
- /**
- * Return the embedded exception, if any.
- *
- * @return The embedded exception, or null if there is none.
- */
- public Exception getException ()
- {
- return exception;
- }
-
-
- /**
- * Override toString to pick up any embedded exception.
- *
- * @return A string representation of this exception.
- */
- public String toString ()
- {
- if (exception != null) {
- return exception.toString();
- } else {
- return super.toString();
- }
- }
-
-
-
- //////////////////////////////////////////////////////////////////////
- // Internal state.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * @serial The embedded exception if tunnelling, or null.
- */
- private Exception exception;
-
-}
-
-// end of SAXException.java
+// SAX exception class.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: SAXException.java,v 1.4.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+/**
+ * Encapsulate a general SAX error or warning.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class can contain basic error or warning information from
+ * either the XML parser or the application: a parser writer or
+ * application writer can subclass it to provide additional
+ * functionality. SAX handlers may throw this exception or
+ * any exception subclassed from it.</p>
+ *
+ * <p>If the application needs to pass through other types of
+ * exceptions, it must wrap those exceptions in a SAXException
+ * or an exception derived from a SAXException.</p>
+ *
+ * <p>If the parser or application needs to include information about a
+ * specific location in an XML document, it should use the
+ * {@link org.xml.sax.SAXParseException SAXParseException} subclass.</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.SAXParseException
+ */
+public class SAXException extends Exception {
+
+
+ /**
+ * Create a new SAXException.
+ */
+ public SAXException ()
+ {
+ super();
+ this.exception = null;
+ }
+
+
+ /**
+ * Create a new SAXException.
+ *
+ * @param message The error or warning message.
+ */
+ public SAXException (String message) {
+ super(message);
+ this.exception = null;
+ }
+
+
+ /**
+ * Create a new SAXException wrapping an existing exception.
+ *
+ * <p>The existing exception will be embedded in the new
+ * one, and its message will become the default message for
+ * the SAXException.</p>
+ *
+ * @param e The exception to be wrapped in a SAXException.
+ */
+ public SAXException (Exception e)
+ {
+ super();
+ this.exception = e;
+ }
+
+
+ /**
+ * Create a new SAXException from an existing exception.
+ *
+ * <p>The existing exception will be embedded in the new
+ * one, but the new exception will have its own message.</p>
+ *
+ * @param message The detail message.
+ * @param e The exception to be wrapped in a SAXException.
+ */
+ public SAXException (String message, Exception e)
+ {
+ super(message);
+ this.exception = e;
+ }
+
+
+ /**
+ * Return a detail message for this exception.
+ *
+ * <p>If there is an embedded exception, and if the SAXException
+ * has no detail message of its own, this method will return
+ * the detail message from the embedded exception.</p>
+ *
+ * @return The error or warning message.
+ */
+ public String getMessage ()
+ {
+ String message = super.getMessage();
+
+ if (message == null && exception != null) {
+ return exception.getMessage();
+ } else {
+ return message;
+ }
+ }
+
+
+ /**
+ * Return the embedded exception, if any.
+ *
+ * @return The embedded exception, or null if there is none.
+ */
+ public Exception getException ()
+ {
+ return exception;
+ }
+
+
+ /**
+ * Override toString to pick up any embedded exception.
+ *
+ * @return A string representation of this exception.
+ */
+ public String toString ()
+ {
+ if (exception != null) {
+ return exception.toString();
+ } else {
+ return super.toString();
+ }
+ }
+
+
+
+ //////////////////////////////////////////////////////////////////////
+ // Internal state.
+ //////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * @serial The embedded exception if tunnelling, or null.
+ */
+ private Exception exception;
+
+}
+
+// end of SAXException.java
diff --git a/libjava/org/xml/sax/SAXNotRecognizedException.java b/libjava/org/xml/sax/SAXNotRecognizedException.java
index 0fbc4c85ba9..83aac69a7d3 100644
--- a/libjava/org/xml/sax/SAXNotRecognizedException.java
+++ b/libjava/org/xml/sax/SAXNotRecognizedException.java
@@ -1,44 +1,55 @@
-// SAXNotRecognizedException.java - unrecognized feature or value.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the Public Domain.
-
-// $Id: SAXNotRecognizedException.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-
-package org.xml.sax;
-
-
-/**
- * Exception class for an unrecognized identifier.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>An XMLReader will throw this exception when it finds an
- * unrecognized feature or property identifier; SAX applications and
- * extensions may use this class for other, similar purposes.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.SAXNotSupportedException
- */
-public class SAXNotRecognizedException extends SAXException
-{
-
- /**
- * Construct a new exception with the given message.
- *
- * @param message The text message of the exception.
- */
- public SAXNotRecognizedException (String message)
- {
- super(message);
- }
-
-}
-
-// end of SAXNotRecognizedException.java
+// SAXNotRecognizedException.java - unrecognized feature or value.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: SAXNotRecognizedException.java,v 1.4.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+
+package org.xml.sax;
+
+
+/**
+ * Exception class for an unrecognized identifier.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>An XMLReader will throw this exception when it finds an
+ * unrecognized feature or property identifier; SAX applications and
+ * extensions may use this class for other, similar purposes.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.SAXNotSupportedException
+ */
+public class SAXNotRecognizedException extends SAXException
+{
+
+ /**
+ * Default constructor.
+ */
+ public SAXNotRecognizedException ()
+ {
+ super();
+ }
+
+
+ /**
+ * Construct a new exception with the given message.
+ *
+ * @param message The text message of the exception.
+ */
+ public SAXNotRecognizedException (String message)
+ {
+ super(message);
+ }
+
+}
+
+// end of SAXNotRecognizedException.java
diff --git a/libjava/org/xml/sax/SAXNotSupportedException.java b/libjava/org/xml/sax/SAXNotSupportedException.java
index 3376d47cc5b..2939eb192a5 100644
--- a/libjava/org/xml/sax/SAXNotSupportedException.java
+++ b/libjava/org/xml/sax/SAXNotSupportedException.java
@@ -1,44 +1,55 @@
-// SAXNotSupportedException.java - unsupported feature or value.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the Public Domain.
-
-// $Id: SAXNotSupportedException.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-
-package org.xml.sax;
-
-/**
- * Exception class for an unsupported operation.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>An XMLReader will throw this exception when it recognizes a
- * feature or property identifier, but cannot perform the requested
- * operation (setting a state or value). Other SAX2 applications and
- * extensions may use this class for similar purposes.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.SAXNotRecognizedException
- */
-public class SAXNotSupportedException extends SAXException
-{
-
- /**
- * Construct a new exception with the given message.
- *
- * @param message The text message of the exception.
- */
- public SAXNotSupportedException (String message)
- {
- super(message);
- }
-
-}
-
-// end of SAXNotSupportedException.java
+// SAXNotSupportedException.java - unsupported feature or value.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: SAXNotSupportedException.java,v 1.4.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+
+package org.xml.sax;
+
+/**
+ * Exception class for an unsupported operation.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>An XMLReader will throw this exception when it recognizes a
+ * feature or property identifier, but cannot perform the requested
+ * operation (setting a state or value). Other SAX2 applications and
+ * extensions may use this class for similar purposes.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.SAXNotRecognizedException
+ */
+public class SAXNotSupportedException extends SAXException
+{
+
+ /**
+ * Construct a new exception with no message.
+ */
+ public SAXNotSupportedException ()
+ {
+ super();
+ }
+
+
+ /**
+ * Construct a new exception with the given message.
+ *
+ * @param message The text message of the exception.
+ */
+ public SAXNotSupportedException (String message)
+ {
+ super(message);
+ }
+
+}
+
+// end of SAXNotSupportedException.java
diff --git a/libjava/org/xml/sax/SAXParseException.java b/libjava/org/xml/sax/SAXParseException.java
index a5dcc06f0fb..e87d79f3f74 100644
--- a/libjava/org/xml/sax/SAXParseException.java
+++ b/libjava/org/xml/sax/SAXParseException.java
@@ -1,264 +1,270 @@
-// SAX exception class.
-// No warranty; no copyright -- use this as you will.
-// $Id: SAXParseException.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-/**
- * Encapsulate an XML parse error or warning.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This exception will include information for locating the error
- * in the original XML document. Note that although the application
- * will receive a SAXParseException as the argument to the handlers
- * in the {@link org.xml.sax.ErrorHandler ErrorHandler} interface,
- * the application is not actually required to throw the exception;
- * instead, it can simply read the information in it and take a
- * different action.</p>
- *
- * <p>Since this exception is a subclass of {@link org.xml.sax.SAXException
- * SAXException}, it inherits the ability to wrap another exception.</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.SAXException
- * @see org.xml.sax.Locator
- * @see org.xml.sax.ErrorHandler
- */
-public class SAXParseException extends SAXException {
-
-
- //////////////////////////////////////////////////////////////////////
- // Constructors.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Create a new SAXParseException from a message and a Locator.
- *
- * <p>This constructor is especially useful when an application is
- * creating its own exception from within a {@link org.xml.sax.ContentHandler
- * ContentHandler} callback.</p>
- *
- * @param message The error or warning message.
- * @param locator The locator object for the error or warning (may be
- * null).
- * @see org.xml.sax.Locator
- * @see org.xml.sax.Parser#setLocale
- */
- public SAXParseException (String message, Locator locator) {
- super(message);
- if (locator != null) {
- init(locator.getPublicId(), locator.getSystemId(),
- locator.getLineNumber(), locator.getColumnNumber());
- } else {
- init(null, null, -1, -1);
- }
- }
-
-
- /**
- * Wrap an existing exception in a SAXParseException.
- *
- * <p>This constructor is especially useful when an application is
- * creating its own exception from within a {@link org.xml.sax.ContentHandler
- * ContentHandler} callback, and needs to wrap an existing exception that is not a
- * subclass of {@link org.xml.sax.SAXException SAXException}.</p>
- *
- * @param message The error or warning message, or null to
- * use the message from the embedded exception.
- * @param locator The locator object for the error or warning (may be
- * null).
- * @param e Any exception.
- * @see org.xml.sax.Locator
- * @see org.xml.sax.Parser#setLocale
- */
- public SAXParseException (String message, Locator locator,
- Exception e) {
- super(message, e);
- if (locator != null) {
- init(locator.getPublicId(), locator.getSystemId(),
- locator.getLineNumber(), locator.getColumnNumber());
- } else {
- init(null, null, -1, -1);
- }
- }
-
-
- /**
- * Create a new SAXParseException.
- *
- * <p>This constructor is most useful for parser writers.</p>
- *
- * <p>If the system identifier is a URL, the parser must resolve it
- * fully before creating the exception.</p>
- *
- * @param message The error or warning message.
- * @param publicId The public identifier of the entity that generated
- * the error or warning.
- * @param systemId The system identifier of the entity that generated
- * the error or warning.
- * @param lineNumber The line number of the end of the text that
- * caused the error or warning.
- * @param columnNumber The column number of the end of the text that
- * cause the error or warning.
- * @see org.xml.sax.Parser#setLocale
- */
- public SAXParseException (String message, String publicId, String systemId,
- int lineNumber, int columnNumber)
- {
- super(message);
- init(publicId, systemId, lineNumber, columnNumber);
- }
-
-
- /**
- * Create a new SAXParseException with an embedded exception.
- *
- * <p>This constructor is most useful for parser writers who
- * need to wrap an exception that is not a subclass of
- * {@link org.xml.sax.SAXException SAXException}.</p>
- *
- * <p>If the system identifier is a URL, the parser must resolve it
- * fully before creating the exception.</p>
- *
- * @param message The error or warning message, or null to use
- * the message from the embedded exception.
- * @param publicId The public identifier of the entity that generated
- * the error or warning.
- * @param systemId The system identifier of the entity that generated
- * the error or warning.
- * @param lineNumber The line number of the end of the text that
- * caused the error or warning.
- * @param columnNumber The column number of the end of the text that
- * cause the error or warning.
- * @param e Another exception to embed in this one.
- * @see org.xml.sax.Parser#setLocale
- */
- public SAXParseException (String message, String publicId, String systemId,
- int lineNumber, int columnNumber, Exception e)
- {
- super(message, e);
- init(publicId, systemId, lineNumber, columnNumber);
- }
-
-
- /**
- * Internal initialization method.
- *
- * @param publicId The public identifier of the entity which generated the exception,
- * or null.
- * @param systemId The system identifier of the entity which generated the exception,
- * or null.
- * @param lineNumber The line number of the error, or -1.
- * @param columnNumber The column number of the error, or -1.
- */
- private void init (String publicId, String systemId,
- int lineNumber, int columnNumber)
- {
- this.publicId = publicId;
- this.systemId = systemId;
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- }
-
-
- /**
- * Get the public identifier of the entity where the exception occurred.
- *
- * @return A string containing the public identifier, or null
- * if none is available.
- * @see org.xml.sax.Locator#getPublicId
- */
- public String getPublicId ()
- {
- return this.publicId;
- }
-
-
- /**
- * Get the system identifier of the entity where the exception occurred.
- *
- * <p>If the system identifier is a URL, it will be resolved
- * fully.</p>
- *
- * @return A string containing the system identifier, or null
- * if none is available.
- * @see org.xml.sax.Locator#getSystemId
- */
- public String getSystemId ()
- {
- return this.systemId;
- }
-
-
- /**
- * The line number of the end of the text where the exception occurred.
- *
- * @return An integer representing the line number, or -1
- * if none is available.
- * @see org.xml.sax.Locator#getLineNumber
- */
- public int getLineNumber ()
- {
- return this.lineNumber;
- }
-
-
- /**
- * The column number of the end of the text where the exception occurred.
- *
- * <p>The first column in a line is position 1.</p>
- *
- * @return An integer representing the column number, or -1
- * if none is available.
- * @see org.xml.sax.Locator#getColumnNumber
- */
- public int getColumnNumber ()
- {
- return this.columnNumber;
- }
-
-
-
- //////////////////////////////////////////////////////////////////////
- // Internal state.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * @serial The public identifier, or null.
- * @see #getPublicId
- */
- private String publicId;
-
-
- /**
- * @serial The system identifier, or null.
- * @see #getSystemId
- */
- private String systemId;
-
-
- /**
- * @serial The line number, or -1.
- * @see #getLineNumber
- */
- private int lineNumber;
-
-
- /**
- * @serial The column number, or -1.
- * @see #getColumnNumber
- */
- private int columnNumber;
-
-}
-
-// end of SAXParseException.java
+// SAX exception class.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: SAXParseException.java,v 1.3.2.5 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+/**
+ * Encapsulate an XML parse error or warning.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This exception may include information for locating the error
+ * in the original XML document, as if it came from a {@link Locator}
+ * object. Note that although the application
+ * will receive a SAXParseException as the argument to the handlers
+ * in the {@link org.xml.sax.ErrorHandler ErrorHandler} interface,
+ * the application is not actually required to throw the exception;
+ * instead, it can simply read the information in it and take a
+ * different action.</p>
+ *
+ * <p>Since this exception is a subclass of {@link org.xml.sax.SAXException
+ * SAXException}, it inherits the ability to wrap another exception.</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.SAXException
+ * @see org.xml.sax.Locator
+ * @see org.xml.sax.ErrorHandler
+ */
+public class SAXParseException extends SAXException {
+
+
+ //////////////////////////////////////////////////////////////////////
+ // Constructors.
+ //////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Create a new SAXParseException from a message and a Locator.
+ *
+ * <p>This constructor is especially useful when an application is
+ * creating its own exception from within a {@link org.xml.sax.ContentHandler
+ * ContentHandler} callback.</p>
+ *
+ * @param message The error or warning message.
+ * @param locator The locator object for the error or warning (may be
+ * null).
+ * @see org.xml.sax.Locator
+ */
+ public SAXParseException (String message, Locator locator) {
+ super(message);
+ if (locator != null) {
+ init(locator.getPublicId(), locator.getSystemId(),
+ locator.getLineNumber(), locator.getColumnNumber());
+ } else {
+ init(null, null, -1, -1);
+ }
+ }
+
+
+ /**
+ * Wrap an existing exception in a SAXParseException.
+ *
+ * <p>This constructor is especially useful when an application is
+ * creating its own exception from within a {@link org.xml.sax.ContentHandler
+ * ContentHandler} callback, and needs to wrap an existing exception that is not a
+ * subclass of {@link org.xml.sax.SAXException SAXException}.</p>
+ *
+ * @param message The error or warning message, or null to
+ * use the message from the embedded exception.
+ * @param locator The locator object for the error or warning (may be
+ * null).
+ * @param e Any exception.
+ * @see org.xml.sax.Locator
+ */
+ public SAXParseException (String message, Locator locator,
+ Exception e) {
+ super(message, e);
+ if (locator != null) {
+ init(locator.getPublicId(), locator.getSystemId(),
+ locator.getLineNumber(), locator.getColumnNumber());
+ } else {
+ init(null, null, -1, -1);
+ }
+ }
+
+
+ /**
+ * Create a new SAXParseException.
+ *
+ * <p>This constructor is most useful for parser writers.</p>
+ *
+ * <p>All parameters except the message are as if
+ * they were provided by a {@link Locator}. For example, if the
+ * system identifier is a URL (including relative filename), the
+ * caller must resolve it fully before creating the exception.</p>
+ *
+ *
+ * @param message The error or warning message.
+ * @param publicId The public identifer of the entity that generated
+ * the error or warning.
+ * @param systemId The system identifer of the entity that generated
+ * the error or warning.
+ * @param lineNumber The line number of the end of the text that
+ * caused the error or warning.
+ * @param columnNumber The column number of the end of the text that
+ * cause the error or warning.
+ */
+ public SAXParseException (String message, String publicId, String systemId,
+ int lineNumber, int columnNumber)
+ {
+ super(message);
+ init(publicId, systemId, lineNumber, columnNumber);
+ }
+
+
+ /**
+ * Create a new SAXParseException with an embedded exception.
+ *
+ * <p>This constructor is most useful for parser writers who
+ * need to wrap an exception that is not a subclass of
+ * {@link org.xml.sax.SAXException SAXException}.</p>
+ *
+ * <p>All parameters except the message and exception are as if
+ * they were provided by a {@link Locator}. For example, if the
+ * system identifier is a URL (including relative filename), the
+ * caller must resolve it fully before creating the exception.</p>
+ *
+ * @param message The error or warning message, or null to use
+ * the message from the embedded exception.
+ * @param publicId The public identifer of the entity that generated
+ * the error or warning.
+ * @param systemId The system identifer of the entity that generated
+ * the error or warning.
+ * @param lineNumber The line number of the end of the text that
+ * caused the error or warning.
+ * @param columnNumber The column number of the end of the text that
+ * cause the error or warning.
+ * @param e Another exception to embed in this one.
+ */
+ public SAXParseException (String message, String publicId, String systemId,
+ int lineNumber, int columnNumber, Exception e)
+ {
+ super(message, e);
+ init(publicId, systemId, lineNumber, columnNumber);
+ }
+
+
+ /**
+ * Internal initialization method.
+ *
+ * @param publicId The public identifier of the entity which generated the exception,
+ * or null.
+ * @param systemId The system identifier of the entity which generated the exception,
+ * or null.
+ * @param lineNumber The line number of the error, or -1.
+ * @param columnNumber The column number of the error, or -1.
+ */
+ private void init (String publicId, String systemId,
+ int lineNumber, int columnNumber)
+ {
+ this.publicId = publicId;
+ this.systemId = systemId;
+ this.lineNumber = lineNumber;
+ this.columnNumber = columnNumber;
+ }
+
+
+ /**
+ * Get the public identifier of the entity where the exception occurred.
+ *
+ * @return A string containing the public identifier, or null
+ * if none is available.
+ * @see org.xml.sax.Locator#getPublicId
+ */
+ public String getPublicId ()
+ {
+ return this.publicId;
+ }
+
+
+ /**
+ * Get the system identifier of the entity where the exception occurred.
+ *
+ * <p>If the system identifier is a URL, it will have been resolved
+ * fully.</p>
+ *
+ * @return A string containing the system identifier, or null
+ * if none is available.
+ * @see org.xml.sax.Locator#getSystemId
+ */
+ public String getSystemId ()
+ {
+ return this.systemId;
+ }
+
+
+ /**
+ * The line number of the end of the text where the exception occurred.
+ *
+ * <p>The first line is line 1.</p>
+ *
+ * @return An integer representing the line number, or -1
+ * if none is available.
+ * @see org.xml.sax.Locator#getLineNumber
+ */
+ public int getLineNumber ()
+ {
+ return this.lineNumber;
+ }
+
+
+ /**
+ * The column number of the end of the text where the exception occurred.
+ *
+ * <p>The first column in a line is position 1.</p>
+ *
+ * @return An integer representing the column number, or -1
+ * if none is available.
+ * @see org.xml.sax.Locator#getColumnNumber
+ */
+ public int getColumnNumber ()
+ {
+ return this.columnNumber;
+ }
+
+
+
+ //////////////////////////////////////////////////////////////////////
+ // Internal state.
+ //////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * @serial The public identifier, or null.
+ * @see #getPublicId
+ */
+ private String publicId;
+
+
+ /**
+ * @serial The system identifier, or null.
+ * @see #getSystemId
+ */
+ private String systemId;
+
+
+ /**
+ * @serial The line number, or -1.
+ * @see #getLineNumber
+ */
+ private int lineNumber;
+
+
+ /**
+ * @serial The column number, or -1.
+ * @see #getColumnNumber
+ */
+ private int columnNumber;
+
+}
+
+// end of SAXParseException.java
diff --git a/libjava/org/xml/sax/XMLFilter.java b/libjava/org/xml/sax/XMLFilter.java
index b10e8647ff0..eaca11ca321 100644
--- a/libjava/org/xml/sax/XMLFilter.java
+++ b/libjava/org/xml/sax/XMLFilter.java
@@ -1,65 +1,67 @@
-// XMLFilter.java - filter SAX2 events.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the Public Domain.
-
-// $Id: XMLFilter.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-
-package org.xml.sax;
-
-
-/**
- * Interface for an XML filter.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>An XML filter is like an XML reader, except that it obtains its
- * events from another XML reader rather than a primary source like
- * an XML document or database. Filters can modify a stream of
- * events as they pass on to the final application.</p>
- *
- * <p>The XMLFilterImpl helper class provides a convenient base
- * for creating SAX2 filters, by passing on all {@link org.xml.sax.EntityResolver
- * EntityResolver}, {@link org.xml.sax.DTDHandler DTDHandler},
- * {@link org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ErrorHandler
- * ErrorHandler} events automatically.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.helpers.XMLFilterImpl
- */
-public interface XMLFilter extends XMLReader
-{
-
- /**
- * Set the parent reader.
- *
- * <p>This method allows the application to link the filter to
- * a parent reader (which may be another filter). The argument
- * may not be null.</p>
- *
- * @param parent The parent reader.
- */
- public abstract void setParent (XMLReader parent);
-
-
- /**
- * Get the parent reader.
- *
- * <p>This method allows the application to query the parent
- * reader (which may be another filter). It is generally a
- * bad idea to perform any operations on the parent reader
- * directly: they should all pass through this filter.</p>
- *
- * @return The parent filter, or null if none has been set.
- */
- public abstract XMLReader getParent ();
-
-}
-
-// end of XMLFilter.java
+// XMLFilter.java - filter SAX2 events.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: XMLFilter.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+
+package org.xml.sax;
+
+
+/**
+ * Interface for an XML filter.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>An XML filter is like an XML reader, except that it obtains its
+ * events from another XML reader rather than a primary source like
+ * an XML document or database. Filters can modify a stream of
+ * events as they pass on to the final application.</p>
+ *
+ * <p>The XMLFilterImpl helper class provides a convenient base
+ * for creating SAX2 filters, by passing on all {@link org.xml.sax.EntityResolver
+ * EntityResolver}, {@link org.xml.sax.DTDHandler DTDHandler},
+ * {@link org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ErrorHandler
+ * ErrorHandler} events automatically.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.helpers.XMLFilterImpl
+ */
+public interface XMLFilter extends XMLReader
+{
+
+ /**
+ * Set the parent reader.
+ *
+ * <p>This method allows the application to link the filter to
+ * a parent reader (which may be another filter). The argument
+ * may not be null.</p>
+ *
+ * @param parent The parent reader.
+ */
+ public abstract void setParent (XMLReader parent);
+
+
+ /**
+ * Get the parent reader.
+ *
+ * <p>This method allows the application to query the parent
+ * reader (which may be another filter). It is generally a
+ * bad idea to perform any operations on the parent reader
+ * directly: they should all pass through this filter.</p>
+ *
+ * @return The parent filter, or null if none has been set.
+ */
+ public abstract XMLReader getParent ();
+
+}
+
+// end of XMLFilter.java
diff --git a/libjava/org/xml/sax/XMLReader.java b/libjava/org/xml/sax/XMLReader.java
index 26e382b9fa9..23f3daf3a9f 100644
--- a/libjava/org/xml/sax/XMLReader.java
+++ b/libjava/org/xml/sax/XMLReader.java
@@ -1,415 +1,398 @@
-// XMLReader.java - read an XML document.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the Public Domain.
-
-// $Id: XMLReader.java,v 1.1 2000/10/02 02:43:17 sboag Exp $
-
-package org.xml.sax;
-
-import java.io.IOException;
-
-
-/**
- * Interface for reading an XML document using callbacks.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p><strong>Note:</strong> despite its name, this interface does
- * <em>not</em> extend the standard Java {@link java.io.Reader Reader}
- * interface, because reading XML is a fundamentally different activity
- * than reading character data.</p>
- *
- * <p>XMLReader is the interface that an XML parser's SAX2 driver must
- * implement. This interface allows an application to set and
- * query features and properties in the parser, to register
- * event handlers for document processing, and to initiate
- * a document parse.</p>
- *
- * <p>All SAX interfaces are assumed to be synchronous: the
- * {@link #parse parse} methods must not return until parsing
- * is complete, and readers must wait for an event-handler callback
- * to return before reporting the next event.</p>
- *
- * <p>This interface replaces the (now deprecated) SAX 1.0 {@link
- * org.xml.sax.Parser Parser} interface. The XMLReader interface
- * contains two important enhancements over the old Parser
- * interface:</p>
- *
- * <ol>
- * <li>it adds a standard way to query and set features and
- * properties; and</li>
- * <li>it adds Namespace support, which is required for many
- * higher-level XML standards.</li>
- * </ol>
- *
- * <p>There are adapters available to convert a SAX1 Parser to
- * a SAX2 XMLReader and vice-versa.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.XMLFilter
- * @see org.xml.sax.helpers.ParserAdapter
- * @see org.xml.sax.helpers.XMLReaderAdapter
- */
-public interface XMLReader
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Configuration.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Look up the value of a feature.
- *
- * <p>The feature name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a feature name but
- * to be unable to return its value; this is especially true
- * in the case of an adapter for a SAX1 Parser, which has
- * no way of knowing whether the underlying parser is
- * performing validation or expanding external entities.</p>
- *
- * <p>All XMLReaders are required to recognize the
- * http://xml.org/sax/features/namespaces and the
- * http://xml.org/sax/features/namespace-prefixes feature names.</p>
- *
- * <p>Some feature values may be available only in specific
- * contexts, such as before, during, or after a parse.</p>
- *
- * <p>Typical usage is something like this:</p>
- *
- * <pre>
- * XMLReader r = new MySAXDriver();
- *
- * // try to activate validation
- * try {
- * r.setFeature("http://xml.org/sax/features/validation", true);
- * } catch (SAXException e) {
- * System.err.println("Cannot activate validation.");
- * }
- *
- * // register event handlers
- * r.setContentHandler(new MyContentHandler());
- * r.setErrorHandler(new MyErrorHandler());
- *
- * // parse the first document
- * try {
- * r.parse("http://www.foo.com/mydoc.xml");
- * } catch (IOException e) {
- * System.err.println("I/O exception reading XML document");
- * } catch (SAXException e) {
- * System.err.println("XML exception reading document.");
- * }
- * </pre>
- *
- * <p>Implementors are free (and encouraged) to invent their own features,
- * using names built on their own URIs.</p>
- *
- * @param name The feature name, which is a fully-qualified URI.
- * @return The current state of the feature (true or false).
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the feature name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the feature name but
- * cannot determine its value at this time.
- * @see #setFeature
- */
- public boolean getFeature (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
- /**
- * Set the state of a feature.
- *
- * <p>The feature name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a feature name but
- * to be unable to set its value; this is especially true
- * in the case of an adapter for a SAX1 {@link org.xml.sax.Parser Parser},
- * which has no way of affecting whether the underlying parser is
- * validating, for example.</p>
- *
- * <p>All XMLReaders are required to support setting
- * http://xml.org/sax/features/namespaces to true and
- * http://xml.org/sax/features/namespace-prefixes to false.</p>
- *
- * <p>Some feature values may be immutable or mutable only
- * in specific contexts, such as before, during, or after
- * a parse.</p>
- *
- * @param name The feature name, which is a fully-qualified URI.
- * @param state The requested state of the feature (true or false).
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the feature name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the feature name but
- * cannot set the requested value.
- * @see #getFeature
- */
- public void setFeature (String name, boolean value)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
- /**
- * Look up the value of a property.
- *
- * <p>The property name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a property name but
- * to be unable to return its state; this is especially true
- * in the case of an adapter for a SAX1 {@link org.xml.sax.Parser
- * Parser}.</p>
- *
- * <p>XMLReaders are not required to recognize any specific
- * property names, though an initial core set is documented for
- * SAX2.</p>
- *
- * <p>Some property values may be available only in specific
- * contexts, such as before, during, or after a parse.</p>
- *
- * <p>Implementors are free (and encouraged) to invent their own properties,
- * using names built on their own URIs.</p>
- *
- * @param name The property name, which is a fully-qualified URI.
- * @return The current value of the property.
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the property name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the property name but
- * cannot determine its value at this time.
- * @see #setProperty
- */
- public Object getProperty (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
- /**
- * Set the value of a property.
- *
- * <p>The property name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a property name but
- * to be unable to set its value; this is especially true
- * in the case of an adapter for a SAX1 {@link org.xml.sax.Parser
- * Parser}.</p>
- *
- * <p>XMLReaders are not required to recognize setting
- * any specific property names, though a core set is provided with
- * SAX2.</p>
- *
- * <p>Some property values may be immutable or mutable only
- * in specific contexts, such as before, during, or after
- * a parse.</p>
- *
- * <p>This method is also the standard mechanism for setting
- * extended handlers.</p>
- *
- * @param name The property name, which is a fully-qualified URI.
- * @param state The requested value for the property.
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the property name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the property name but
- * cannot set the requested value.
- */
- public void setProperty (String name, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Event handlers.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Allow an application to register an entity resolver.
- *
- * <p>If the application does not register an entity resolver,
- * the XMLReader will perform its own default resolution.</p>
- *
- * <p>Applications may register a new or different resolver in the
- * middle of a parse, and the SAX parser must begin using the new
- * resolver immediately.</p>
- *
- * @param resolver The entity resolver.
- * @exception java.lang.NullPointerException If the resolver
- * argument is null.
- * @see #getEntityResolver
- */
- public void setEntityResolver (EntityResolver resolver);
-
-
- /**
- * Return the current entity resolver.
- *
- * @return The current entity resolver, or null if none
- * has been registered.
- * @see #setEntityResolver
- */
- public EntityResolver getEntityResolver ();
-
-
- /**
- * Allow an application to register a DTD event handler.
- *
- * <p>If the application does not register a DTD handler, all DTD
- * events reported by the SAX parser will be silently ignored.</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The DTD handler.
- * @exception java.lang.NullPointerException If the handler
- * argument is null.
- * @see #getDTDHandler
- */
- public void setDTDHandler (DTDHandler handler);
-
-
- /**
- * Return the current DTD handler.
- *
- * @return The current DTD handler, or null if none
- * has been registered.
- * @see #setDTDHandler
- */
- public DTDHandler getDTDHandler ();
-
-
- /**
- * Allow an application to register a content event handler.
- *
- * <p>If the application does not register a content handler, all
- * content events reported by the SAX parser will be silently
- * ignored.</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The content handler.
- * @exception java.lang.NullPointerException If the handler
- * argument is null.
- * @see #getContentHandler
- */
- public void setContentHandler (ContentHandler handler);
-
-
- /**
- * Return the current content handler.
- *
- * @return The current content handler, or null if none
- * has been registered.
- * @see #setContentHandler
- */
- public ContentHandler getContentHandler ();
-
-
- /**
- * Allow an application to register an error event handler.
- *
- * <p>If the application does not register an error handler, all
- * error events reported by the SAX parser will be silently
- * ignored; however, normal processing may not continue. It is
- * highly recommended that all SAX applications implement an
- * error handler to avoid unexpected bugs.</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The error handler.
- * @exception java.lang.NullPointerException If the handler
- * argument is null.
- * @see #getErrorHandler
- */
- public void setErrorHandler (ErrorHandler handler);
-
-
- /**
- * Return the current error handler.
- *
- * @return The current error handler, or null if none
- * has been registered.
- * @see #setErrorHandler
- */
- public ErrorHandler getErrorHandler ();
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Parsing.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Parse an XML document.
- *
- * <p>The application can use this method to instruct the XML
- * reader to begin parsing an XML document from any valid input
- * source (a character stream, a byte stream, or a URI).</p>
- *
- * <p>Applications may not invoke this method while a parse is in
- * progress (they should create a new XMLReader instead for each
- * nested XML document). Once a parse is complete, an
- * application may reuse the same XMLReader object, possibly with a
- * different input source.</p>
- *
- * <p>During the parse, the XMLReader will provide information
- * about the XML document through the registered event
- * handlers.</p>
- *
- * <p>This method is synchronous: it will not return until parsing
- * has ended. If a client application wants to terminate
- * parsing early, it should throw an exception.</p>
- *
- * @param source The input source for the top-level of the
- * XML document.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see org.xml.sax.InputSource
- * @see #parse(java.lang.String)
- * @see #setEntityResolver
- * @see #setDTDHandler
- * @see #setContentHandler
- * @see #setErrorHandler
- */
- public void parse (InputSource input)
- throws IOException, SAXException;
-
-
- /**
- * Parse an XML document from a system identifier (URI).
- *
- * <p>This method is a shortcut for the common case of reading a
- * document from a system identifier. It is the exact
- * equivalent of the following:</p>
- *
- * <pre>
- * parse(new InputSource(systemId));
- * </pre>
- *
- * <p>If the system identifier is a URL, it must be fully resolved
- * by the application before it is passed to the parser.</p>
- *
- * @param systemId The system identifier (URI).
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see #parse(org.xml.sax.InputSource)
- */
- public void parse (String systemId)
- throws IOException, SAXException;
-
-}
-
-// end of XMLReader.java
+// XMLReader.java - read an XML document.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: XMLReader.java,v 1.3.2.5 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax;
+
+import java.io.IOException;
+
+
+/**
+ * Interface for reading an XML document using callbacks.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p><strong>Note:</strong> despite its name, this interface does
+ * <em>not</em> extend the standard Java {@link java.io.Reader Reader}
+ * interface, because reading XML is a fundamentally different activity
+ * than reading character data.</p>
+ *
+ * <p>XMLReader is the interface that an XML parser's SAX2 driver must
+ * implement. This interface allows an application to set and
+ * query features and properties in the parser, to register
+ * event handlers for document processing, and to initiate
+ * a document parse.</p>
+ *
+ * <p>All SAX interfaces are assumed to be synchronous: the
+ * {@link #parse parse} methods must not return until parsing
+ * is complete, and readers must wait for an event-handler callback
+ * to return before reporting the next event.</p>
+ *
+ * <p>This interface replaces the (now deprecated) SAX 1.0 {@link
+ * org.xml.sax.Parser Parser} interface. The XMLReader interface
+ * contains two important enhancements over the old Parser
+ * interface (as well as some minor ones):</p>
+ *
+ * <ol>
+ * <li>it adds a standard way to query and set features and
+ * properties; and</li>
+ * <li>it adds Namespace support, which is required for many
+ * higher-level XML standards.</li>
+ * </ol>
+ *
+ * <p>There are adapters available to convert a SAX1 Parser to
+ * a SAX2 XMLReader and vice-versa.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLFilter
+ * @see org.xml.sax.helpers.ParserAdapter
+ * @see org.xml.sax.helpers.XMLReaderAdapter
+ */
+public interface XMLReader
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Configuration.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Look up the value of a feature flag.
+ *
+ * <p>The feature name is any fully-qualified URI. It is
+ * possible for an XMLReader to recognize a feature name but
+ * temporarily be unable to return its value.
+ * Some feature values may be available only in specific
+ * contexts, such as before, during, or after a parse.
+ * Also, some feature values may not be programmatically accessible.
+ * (In the case of an adapter for SAX1 {@link Parser}, there is no
+ * implementation-independent way to expose whether the underlying
+ * parser is performing validation, expanding external entities,
+ * and so forth.) </p>
+ *
+ * <p>All XMLReaders are required to recognize the
+ * http://xml.org/sax/features/namespaces and the
+ * http://xml.org/sax/features/namespace-prefixes feature names.</p>
+ *
+ * <p>Typical usage is something like this:</p>
+ *
+ * <pre>
+ * XMLReader r = new MySAXDriver();
+ *
+ * // try to activate validation
+ * try {
+ * r.setFeature("http://xml.org/sax/features/validation", true);
+ * } catch (SAXException e) {
+ * System.err.println("Cannot activate validation.");
+ * }
+ *
+ * // register event handlers
+ * r.setContentHandler(new MyContentHandler());
+ * r.setErrorHandler(new MyErrorHandler());
+ *
+ * // parse the first document
+ * try {
+ * r.parse("http://www.foo.com/mydoc.xml");
+ * } catch (IOException e) {
+ * System.err.println("I/O exception reading XML document");
+ * } catch (SAXException e) {
+ * System.err.println("XML exception reading document.");
+ * }
+ * </pre>
+ *
+ * <p>Implementors are free (and encouraged) to invent their own features,
+ * using names built on their own URIs.</p>
+ *
+ * @param name The feature name, which is a fully-qualified URI.
+ * @return The current value of the feature (true or false).
+ * @exception org.xml.sax.SAXNotRecognizedException If the feature
+ * value can't be assigned or retrieved.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * XMLReader recognizes the feature name but
+ * cannot determine its value at this time.
+ * @see #setFeature
+ */
+ public boolean getFeature (String name)
+ throws SAXNotRecognizedException, SAXNotSupportedException;
+
+
+ /**
+ * Set the value of a feature flag.
+ *
+ * <p>The feature name is any fully-qualified URI. It is
+ * possible for an XMLReader to expose a feature value but
+ * to be unable to change the current value.
+ * Some feature values may be immutable or mutable only
+ * in specific contexts, such as before, during, or after
+ * a parse.</p>
+ *
+ * <p>All XMLReaders are required to support setting
+ * http://xml.org/sax/features/namespaces to true and
+ * http://xml.org/sax/features/namespace-prefixes to false.</p>
+ *
+ * @param name The feature name, which is a fully-qualified URI.
+ * @param value The requested value of the feature (true or false).
+ * @exception org.xml.sax.SAXNotRecognizedException If the feature
+ * value can't be assigned or retrieved.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * XMLReader recognizes the feature name but
+ * cannot set the requested value.
+ * @see #getFeature
+ */
+ public void setFeature (String name, boolean value)
+ throws SAXNotRecognizedException, SAXNotSupportedException;
+
+
+ /**
+ * Look up the value of a property.
+ *
+ * <p>The property name is any fully-qualified URI. It is
+ * possible for an XMLReader to recognize a property name but
+ * temporarily be unable to return its value.
+ * Some property values may be available only in specific
+ * contexts, such as before, during, or after a parse.</p>
+ *
+ * <p>XMLReaders are not required to recognize any specific
+ * property names, though an initial core set is documented for
+ * SAX2.</p>
+ *
+ * <p>Implementors are free (and encouraged) to invent their own properties,
+ * using names built on their own URIs.</p>
+ *
+ * @param name The property name, which is a fully-qualified URI.
+ * @return The current value of the property.
+ * @exception org.xml.sax.SAXNotRecognizedException If the property
+ * value can't be assigned or retrieved.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * XMLReader recognizes the property name but
+ * cannot determine its value at this time.
+ * @see #setProperty
+ */
+ public Object getProperty (String name)
+ throws SAXNotRecognizedException, SAXNotSupportedException;
+
+
+ /**
+ * Set the value of a property.
+ *
+ * <p>The property name is any fully-qualified URI. It is
+ * possible for an XMLReader to recognize a property name but
+ * to be unable to change the current value.
+ * Some property values may be immutable or mutable only
+ * in specific contexts, such as before, during, or after
+ * a parse.</p>
+ *
+ * <p>XMLReaders are not required to recognize setting
+ * any specific property names, though a core set is defined by
+ * SAX2.</p>
+ *
+ * <p>This method is also the standard mechanism for setting
+ * extended handlers.</p>
+ *
+ * @param name The property name, which is a fully-qualified URI.
+ * @param value The requested value for the property.
+ * @exception org.xml.sax.SAXNotRecognizedException If the property
+ * value can't be assigned or retrieved.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * XMLReader recognizes the property name but
+ * cannot set the requested value.
+ */
+ public void setProperty (String name, Object value)
+ throws SAXNotRecognizedException, SAXNotSupportedException;
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Event handlers.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Allow an application to register an entity resolver.
+ *
+ * <p>If the application does not register an entity resolver,
+ * the XMLReader will perform its own default resolution.</p>
+ *
+ * <p>Applications may register a new or different resolver in the
+ * middle of a parse, and the SAX parser must begin using the new
+ * resolver immediately.</p>
+ *
+ * @param resolver The entity resolver.
+ * @see #getEntityResolver
+ */
+ public void setEntityResolver (EntityResolver resolver);
+
+
+ /**
+ * Return the current entity resolver.
+ *
+ * @return The current entity resolver, or null if none
+ * has been registered.
+ * @see #setEntityResolver
+ */
+ public EntityResolver getEntityResolver ();
+
+
+ /**
+ * Allow an application to register a DTD event handler.
+ *
+ * <p>If the application does not register a DTD handler, all DTD
+ * events reported by the SAX parser will be silently ignored.</p>
+ *
+ * <p>Applications may register a new or different handler in the
+ * middle of a parse, and the SAX parser must begin using the new
+ * handler immediately.</p>
+ *
+ * @param handler The DTD handler.
+ * @see #getDTDHandler
+ */
+ public void setDTDHandler (DTDHandler handler);
+
+
+ /**
+ * Return the current DTD handler.
+ *
+ * @return The current DTD handler, or null if none
+ * has been registered.
+ * @see #setDTDHandler
+ */
+ public DTDHandler getDTDHandler ();
+
+
+ /**
+ * Allow an application to register a content event handler.
+ *
+ * <p>If the application does not register a content handler, all
+ * content events reported by the SAX parser will be silently
+ * ignored.</p>
+ *
+ * <p>Applications may register a new or different handler in the
+ * middle of a parse, and the SAX parser must begin using the new
+ * handler immediately.</p>
+ *
+ * @param handler The content handler.
+ * @see #getContentHandler
+ */
+ public void setContentHandler (ContentHandler handler);
+
+
+ /**
+ * Return the current content handler.
+ *
+ * @return The current content handler, or null if none
+ * has been registered.
+ * @see #setContentHandler
+ */
+ public ContentHandler getContentHandler ();
+
+
+ /**
+ * Allow an application to register an error event handler.
+ *
+ * <p>If the application does not register an error handler, all
+ * error events reported by the SAX parser will be silently
+ * ignored; however, normal processing may not continue. It is
+ * highly recommended that all SAX applications implement an
+ * error handler to avoid unexpected bugs.</p>
+ *
+ * <p>Applications may register a new or different handler in the
+ * middle of a parse, and the SAX parser must begin using the new
+ * handler immediately.</p>
+ *
+ * @param handler The error handler.
+ * @see #getErrorHandler
+ */
+ public void setErrorHandler (ErrorHandler handler);
+
+
+ /**
+ * Return the current error handler.
+ *
+ * @return The current error handler, or null if none
+ * has been registered.
+ * @see #setErrorHandler
+ */
+ public ErrorHandler getErrorHandler ();
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Parsing.
+ ////////////////////////////////////////////////////////////////////
+
+ /**
+ * Parse an XML document.
+ *
+ * <p>The application can use this method to instruct the XML
+ * reader to begin parsing an XML document from any valid input
+ * source (a character stream, a byte stream, or a URI).</p>
+ *
+ * <p>Applications may not invoke this method while a parse is in
+ * progress (they should create a new XMLReader instead for each
+ * nested XML document). Once a parse is complete, an
+ * application may reuse the same XMLReader object, possibly with a
+ * different input source.</p>
+ *
+ * <p>During the parse, the XMLReader will provide information
+ * about the XML document through the registered event
+ * handlers.</p>
+ *
+ * <p>This method is synchronous: it will not return until parsing
+ * has ended. If a client application wants to terminate
+ * parsing early, it should throw an exception.</p>
+ *
+ * @param source The input source for the top-level of the
+ * XML document.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException An IO exception from the parser,
+ * possibly from a byte stream or character stream
+ * supplied by the application.
+ * @see org.xml.sax.InputSource
+ * @see #parse(java.lang.String)
+ * @see #setEntityResolver
+ * @see #setDTDHandler
+ * @see #setContentHandler
+ * @see #setErrorHandler
+ */
+ public void parse (InputSource input)
+ throws IOException, SAXException;
+
+
+ /**
+ * Parse an XML document from a system identifier (URI).
+ *
+ * <p>This method is a shortcut for the common case of reading a
+ * document from a system identifier. It is the exact
+ * equivalent of the following:</p>
+ *
+ * <pre>
+ * parse(new InputSource(systemId));
+ * </pre>
+ *
+ * <p>If the system identifier is a URL, it must be fully resolved
+ * by the application before it is passed to the parser.</p>
+ *
+ * @param systemId The system identifier (URI).
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException An IO exception from the parser,
+ * possibly from a byte stream or character stream
+ * supplied by the application.
+ * @see #parse(org.xml.sax.InputSource)
+ */
+ public void parse (String systemId)
+ throws IOException, SAXException;
+
+}
diff --git a/libjava/org/xml/sax/ext/DeclHandler.java b/libjava/org/xml/sax/ext/DeclHandler.java
index 1fede3428de..742f4648c90 100644
--- a/libjava/org/xml/sax/ext/DeclHandler.java
+++ b/libjava/org/xml/sax/ext/DeclHandler.java
@@ -1,131 +1,143 @@
-// DeclHandler.java - Optional handler for DTD declaration events.
-// Public Domain: no warranty.
-// $Id: DeclHandler.java,v 1.1 2000/10/02 02:43:19 sboag Exp $
-
-package org.xml.sax.ext;
-
-import org.xml.sax.SAXException;
-
-
-/**
- * SAX2 extension handler for DTD declaration events.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This is an optional extension handler for SAX2 to provide
- * information about DTD declarations in an XML document. XML
- * readers are not required to support this handler.</p>
- *
- * <p>Note that data-related DTD declarations (unparsed entities and
- * notations) are already reported through the {@link
- * org.xml.sax.DTDHandler DTDHandler} interface.</p>
- *
- * <p>If you are using the declaration handler together with a lexical
- * handler, all of the events will occur between the
- * {@link org.xml.sax.ext.LexicalHandler#startDTD startDTD} and the
- * {@link org.xml.sax.ext.LexicalHandler#endDTD endDTD} events.</p>
- *
- * <p>To set the DeclHandler for an XML reader, use the
- * {@link org.xml.sax.XMLReader#setProperty setProperty} method
- * with the propertyId "http://xml.org/sax/handlers/DeclHandler".
- * If the reader does not support declaration events, it will throw a
- * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException}
- * or a
- * {@link org.xml.sax.SAXNotSupportedException SAXNotSupportedException}
- * when you attempt to register the handler.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0beta
- * @see org.xml.sax.XMLReader
- */
-public interface DeclHandler
-{
-
- /**
- * Report an element type declaration.
- *
- * <p>The content model will consist of the string "EMPTY", the
- * string "ANY", or a parenthesised group, optionally followed
- * by an occurrence indicator. The model will be normalized so
- * that all whitespace is removed,and will include the enclosing
- * parentheses.</p>
- *
- * @param name The element type name.
- * @param model The content model as a normalized string.
- * @exception SAXException The application may raise an exception.
- */
- public abstract void elementDecl (String name, String model)
- throws SAXException;
-
-
- /**
- * Report an attribute type declaration.
- *
- * <p>Only the effective (first) declaration for an attribute will
- * be reported. The type will be one of the strings "CDATA",
- * "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY",
- * "ENTITIES", or "NOTATION", or a parenthesized token group with
- * the separator "|" and all whitespace removed.</p>
- *
- * @param eName The name of the associated element.
- * @param aName The name of the attribute.
- * @param type A string representing the attribute type.
- * @param valueDefault A string representing the attribute default
- * ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if
- * none of these applies.
- * @param value A string representing the attribute's default value,
- * or null if there is none.
- * @exception SAXException The application may raise an exception.
- */
- public abstract void attributeDecl (String eName,
- String aName,
- String type,
- String valueDefault,
- String value)
- throws SAXException;
-
-
- /**
- * Report an internal entity declaration.
- *
- * <p>Only the effective (first) declaration for each entity
- * will be reported.</p>
- *
- * @param name The name of the entity. If it is a parameter
- * entity, the name will begin with '%'.
- * @param value The replacement text of the entity.
- * @exception SAXException The application may raise an exception.
- * @see #externalEntityDecl
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public abstract void internalEntityDecl (String name, String value)
- throws SAXException;
-
-
- /**
- * Report a parsed external entity declaration.
- *
- * <p>Only the effective (first) declaration for each entity
- * will be reported.</p>
- *
- * @param name The name of the entity. If it is a parameter
- * entity, the name will begin with '%'.
- * @param publicId The declared public identifier of the entity, or
- * null if none was declared.
- * @param systemId The declared system identifier of the entity.
- * @exception SAXException The application may raise an exception.
- * @see #internalEntityDecl
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public abstract void externalEntityDecl (String name, String publicId,
- String systemId)
- throws SAXException;
-
-}
-
-// end of DeclHandler.java
+// DeclHandler.java - Optional handler for DTD declaration events.
+// http://www.saxproject.org
+// Public Domain: no warranty.
+// $Id: DeclHandler.java,v 1.2.2.5 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.ext;
+
+import org.xml.sax.SAXException;
+
+
+/**
+ * SAX2 extension handler for DTD declaration events.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This is an optional extension handler for SAX2 to provide more
+ * complete information about DTD declarations in an XML document.
+ * XML readers are not required to recognize this handler, and it
+ * is not part of core-only SAX2 distributions.</p>
+ *
+ * <p>Note that data-related DTD declarations (unparsed entities and
+ * notations) are already reported through the {@link
+ * org.xml.sax.DTDHandler DTDHandler} interface.</p>
+ *
+ * <p>If you are using the declaration handler together with a lexical
+ * handler, all of the events will occur between the
+ * {@link org.xml.sax.ext.LexicalHandler#startDTD startDTD} and the
+ * {@link org.xml.sax.ext.LexicalHandler#endDTD endDTD} events.</p>
+ *
+ * <p>To set the DeclHandler for an XML reader, use the
+ * {@link org.xml.sax.XMLReader#setProperty setProperty} method
+ * with the property name
+ * <code>http://xml.org/sax/properties/declaration-handler</code>
+ * and an object implementing this interface (or null) as the value.
+ * If the reader does not report declaration events, it will throw a
+ * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException}
+ * when you attempt to register the handler.</p>
+ *
+ * @since SAX 2.0 (extensions 1.0)
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ */
+public interface DeclHandler
+{
+
+ /**
+ * Report an element type declaration.
+ *
+ * <p>The content model will consist of the string "EMPTY", the
+ * string "ANY", or a parenthesised group, optionally followed
+ * by an occurrence indicator. The model will be normalized so
+ * that all parameter entities are fully resolved and all whitespace
+ * is removed,and will include the enclosing parentheses. Other
+ * normalization (such as removing redundant parentheses or
+ * simplifying occurrence indicators) is at the discretion of the
+ * parser.</p>
+ *
+ * @param name The element type name.
+ * @param model The content model as a normalized string.
+ * @exception SAXException The application may raise an exception.
+ */
+ public abstract void elementDecl (String name, String model)
+ throws SAXException;
+
+
+ /**
+ * Report an attribute type declaration.
+ *
+ * <p>Only the effective (first) declaration for an attribute will
+ * be reported. The type will be one of the strings "CDATA",
+ * "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY",
+ * "ENTITIES", a parenthesized token group with
+ * the separator "|" and all whitespace removed, or the word
+ * "NOTATION" followed by a space followed by a parenthesized
+ * token group with all whitespace removed.</p>
+ *
+ * <p>The value will be the value as reported to applications,
+ * appropriately normalized and with entity and character
+ * references expanded. </p>
+ *
+ * @param eName The name of the associated element.
+ * @param aName The name of the attribute.
+ * @param type A string representing the attribute type.
+ * @param mode A string representing the attribute defaulting mode
+ * ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if
+ * none of these applies.
+ * @param value A string representing the attribute's default value,
+ * or null if there is none.
+ * @exception SAXException The application may raise an exception.
+ */
+ public abstract void attributeDecl (String eName,
+ String aName,
+ String type,
+ String mode,
+ String value)
+ throws SAXException;
+
+
+ /**
+ * Report an internal entity declaration.
+ *
+ * <p>Only the effective (first) declaration for each entity
+ * will be reported. All parameter entities in the value
+ * will be expanded, but general entities will not.</p>
+ *
+ * @param name The name of the entity. If it is a parameter
+ * entity, the name will begin with '%'.
+ * @param value The replacement text of the entity.
+ * @exception SAXException The application may raise an exception.
+ * @see #externalEntityDecl
+ * @see org.xml.sax.DTDHandler#unparsedEntityDecl
+ */
+ public abstract void internalEntityDecl (String name, String value)
+ throws SAXException;
+
+
+ /**
+ * Report a parsed external entity declaration.
+ *
+ * <p>Only the effective (first) declaration for each entity
+ * will be reported.</p>
+ *
+ * @param name The name of the entity. If it is a parameter
+ * entity, the name will begin with '%'.
+ * @param publicId The declared public identifier of the entity, or
+ * null if none was declared.
+ * @param systemId The declared system identifier of the entity.
+ * @exception SAXException The application may raise an exception.
+ * @see #internalEntityDecl
+ * @see org.xml.sax.DTDHandler#unparsedEntityDecl
+ */
+ public abstract void externalEntityDecl (String name, String publicId,
+ String systemId)
+ throws SAXException;
+
+}
+
+// end of DeclHandler.java
diff --git a/libjava/org/xml/sax/ext/LexicalHandler.java b/libjava/org/xml/sax/ext/LexicalHandler.java
index 4ac1617ca00..15b2557c504 100644
--- a/libjava/org/xml/sax/ext/LexicalHandler.java
+++ b/libjava/org/xml/sax/ext/LexicalHandler.java
@@ -1,161 +1,212 @@
-// LexicalHandler.java - optional handler for lexical parse events.
-// Public Domain: no warranty.
-// $Id: LexicalHandler.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.ext;
-
-import org.xml.sax.SAXException;
-
-/**
- * SAX2 extension handler for lexical events.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This is an optional extension handler for SAX2 to provide
- * lexical information about an XML document, such as comments
- * and CDATA section boundaries; XML readers are not required to
- * support this handler.</p>
- *
- * <p>The events in the lexical handler apply to the entire document,
- * not just to the document element, and all lexical handler events
- * must appear between the content handler's startDocument and
- * endDocument events.</p>
- *
- * <p>To set the LexicalHandler for an XML reader, use the
- * {@link org.xml.sax.XMLReader#setProperty setProperty} method
- * with the propertyId "http://xml.org/sax/handlers/LexicalHandler".
- * If the reader does not support lexical events, it will throw a
- * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException}
- * or a
- * {@link org.xml.sax.SAXNotSupportedException SAXNotSupportedException}
- * when you attempt to register the handler.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0beta
- * @see org.xml.sax.XMLReader#setProperty
- * @see org.xml.sax.SAXNotRecognizedException
- * @see org.xml.sax.SAXNotSupportedException
- */
-public interface LexicalHandler
-{
-
- /**
- * Report the start of DTD declarations, if any.
- *
- * <p>Any declarations are assumed to be in the internal subset
- * unless otherwise indicated by a {@link #startEntity startEntity}
- * event.</p>
- *
- * <p>Note that the start/endDTD events will appear within
- * the start/endDocument events from ContentHandler and
- * before the first startElement event.</p>
- *
- * @param name The document type name.
- * @param publicId The declared public identifier for the
- * external DTD subset, or null if none was declared.
- * @param systemId The declared system identifier for the
- * external DTD subset, or null if none was declared.
- * @exception SAXException The application may raise an
- * exception.
- * @see #endDTD
- * @see #startEntity
- */
- public abstract void startDTD (String name, String publicId,
- String systemId)
- throws SAXException;
-
-
- /**
- * Report the end of DTD declarations.
- *
- * @exception SAXException The application may raise an exception.
- * @see #startDTD
- */
- public abstract void endDTD ()
- throws SAXException;
-
-
- /**
- * Report the beginning of an entity in content.
- *
- * <p><strong>NOTE:</entity> entity references in attribute
- * values -- and the start and end of the document entity --
- * are never reported.</p>
- *
- * <p>The start and end of the external DTD subset are reported
- * using the pseudo-name "[dtd]". All other events must be
- * properly nested within start/end entity events.</p>
- *
- * <p>Note that skipped entities will be reported through the
- * {@link org.xml.sax.ContentHandler#skippedEntity skippedEntity}
- * event, which is part of the ContentHandler interface.</p>
- *
- * @param name The name of the entity. If it is a parameter
- * entity, the name will begin with '%'.
- * @exception SAXException The application may raise an exception.
- * @see #endEntity
- * @see org.xml.sax.ext.DeclHandler#internalEntityDecl
- * @see org.xml.sax.ext.DeclHandler#externalEntityDecl
- */
- public abstract void startEntity (String name)
- throws SAXException;
-
-
- /**
- * Report the end of an entity.
- *
- * @param name The name of the entity that is ending.
- * @exception SAXException The application may raise an exception.
- * @see #startEntity
- */
- public abstract void endEntity (String name)
- throws SAXException;
-
-
- /**
- * Report the start of a CDATA section.
- *
- * <p>The contents of the CDATA section will be reported through
- * the regular {@link org.xml.sax.ContentHandler#characters
- * characters} event.</p>
- *
- * @exception SAXException The application may raise an exception.
- * @see #endCDATA
- */
- public abstract void startCDATA ()
- throws SAXException;
-
-
- /**
- * Report the end of a CDATA section.
- *
- * @exception SAXException The application may raise an exception.
- * @see #startCDATA
- */
- public abstract void endCDATA ()
- throws SAXException;
-
-
- /**
- * Report an XML comment anywhere in the document.
- *
- * <p>This callback will be used for comments inside or outside the
- * document element, including comments in the external DTD
- * subset (if read).</p>
- *
- * @param ch An array holding the characters in the comment.
- * @param start The starting position in the array.
- * @param length The number of characters to use from the array.
- * @exception SAXException The application may raise an exception.
- */
- public abstract void comment (char ch[], int start, int length)
- throws SAXException;
-
-}
-
-// end of LexicalHandler.java
+// LexicalHandler.java - optional handler for lexical parse events.
+// http://www.saxproject.org
+// Public Domain: no warranty.
+// $Id: LexicalHandler.java,v 1.2.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.ext;
+
+import org.xml.sax.SAXException;
+
+/**
+ * SAX2 extension handler for lexical events.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This is an optional extension handler for SAX2 to provide
+ * lexical information about an XML document, such as comments
+ * and CDATA section boundaries.
+ * XML readers are not required to recognize this handler, and it
+ * is not part of core-only SAX2 distributions.</p>
+ *
+ * <p>The events in the lexical handler apply to the entire document,
+ * not just to the document element, and all lexical handler events
+ * must appear between the content handler's startDocument and
+ * endDocument events.</p>
+ *
+ * <p>To set the LexicalHandler for an XML reader, use the
+ * {@link org.xml.sax.XMLReader#setProperty setProperty} method
+ * with the property name
+ * <code>http://xml.org/sax/properties/lexical-handler</code>
+ * and an object implementing this interface (or null) as the value.
+ * If the reader does not report lexical events, it will throw a
+ * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException}
+ * when you attempt to register the handler.</p>
+ *
+ * @since SAX 2.0 (extensions 1.0)
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ */
+public interface LexicalHandler
+{
+
+ /**
+ * Report the start of DTD declarations, if any.
+ *
+ * <p>This method is intended to report the beginning of the
+ * DOCTYPE declaration; if the document has no DOCTYPE declaration,
+ * this method will not be invoked.</p>
+ *
+ * <p>All declarations reported through
+ * {@link org.xml.sax.DTDHandler DTDHandler} or
+ * {@link org.xml.sax.ext.DeclHandler DeclHandler} events must appear
+ * between the startDTD and {@link #endDTD endDTD} events.
+ * Declarations are assumed to belong to the internal DTD subset
+ * unless they appear between {@link #startEntity startEntity}
+ * and {@link #endEntity endEntity} events. Comments and
+ * processing instructions from the DTD should also be reported
+ * between the startDTD and endDTD events, in their original
+ * order of (logical) occurrence; they are not required to
+ * appear in their correct locations relative to DTDHandler
+ * or DeclHandler events, however.</p>
+ *
+ * <p>Note that the start/endDTD events will appear within
+ * the start/endDocument events from ContentHandler and
+ * before the first
+ * {@link org.xml.sax.ContentHandler#startElement startElement}
+ * event.</p>
+ *
+ * @param name The document type name.
+ * @param publicId The declared public identifier for the
+ * external DTD subset, or null if none was declared.
+ * @param systemId The declared system identifier for the
+ * external DTD subset, or null if none was declared.
+ * (Note that this is not resolved against the document
+ * base URI.)
+ * @exception SAXException The application may raise an
+ * exception.
+ * @see #endDTD
+ * @see #startEntity
+ */
+ public abstract void startDTD (String name, String publicId,
+ String systemId)
+ throws SAXException;
+
+
+ /**
+ * Report the end of DTD declarations.
+ *
+ * <p>This method is intended to report the end of the
+ * DOCTYPE declaration; if the document has no DOCTYPE declaration,
+ * this method will not be invoked.</p>
+ *
+ * @exception SAXException The application may raise an exception.
+ * @see #startDTD
+ */
+ public abstract void endDTD ()
+ throws SAXException;
+
+
+ /**
+ * Report the beginning of some internal and external XML entities.
+ *
+ * <p>The reporting of parameter entities (including
+ * the external DTD subset) is optional, and SAX2 drivers that
+ * report LexicalHandler events may not implement it; you can use the
+ * <code
+ * >http://xml.org/sax/features/lexical-handler/parameter-entities</code>
+ * feature to query or control the reporting of parameter entities.</p>
+ *
+ * <p>General entities are reported with their regular names,
+ * parameter entities have '%' prepended to their names, and
+ * the external DTD subset has the pseudo-entity name "[dtd]".</p>
+ *
+ * <p>When a SAX2 driver is providing these events, all other
+ * events must be properly nested within start/end entity
+ * events. There is no additional requirement that events from
+ * {@link org.xml.sax.ext.DeclHandler DeclHandler} or
+ * {@link org.xml.sax.DTDHandler DTDHandler} be properly ordered.</p>
+ *
+ * <p>Note that skipped entities will be reported through the
+ * {@link org.xml.sax.ContentHandler#skippedEntity skippedEntity}
+ * event, which is part of the ContentHandler interface.</p>
+ *
+ * <p>Because of the streaming event model that SAX uses, some
+ * entity boundaries cannot be reported under any
+ * circumstances:</p>
+ *
+ * <ul>
+ * <li>general entities within attribute values</li>
+ * <li>parameter entities within declarations</li>
+ * </ul>
+ *
+ * <p>These will be silently expanded, with no indication of where
+ * the original entity boundaries were.</p>
+ *
+ * <p>Note also that the boundaries of character references (which
+ * are not really entities anyway) are not reported.</p>
+ *
+ * <p>All start/endEntity events must be properly nested.
+ *
+ * @param name The name of the entity. If it is a parameter
+ * entity, the name will begin with '%', and if it is the
+ * external DTD subset, it will be "[dtd]".
+ * @exception SAXException The application may raise an exception.
+ * @see #endEntity
+ * @see org.xml.sax.ext.DeclHandler#internalEntityDecl
+ * @see org.xml.sax.ext.DeclHandler#externalEntityDecl
+ */
+ public abstract void startEntity (String name)
+ throws SAXException;
+
+
+ /**
+ * Report the end of an entity.
+ *
+ * @param name The name of the entity that is ending.
+ * @exception SAXException The application may raise an exception.
+ * @see #startEntity
+ */
+ public abstract void endEntity (String name)
+ throws SAXException;
+
+
+ /**
+ * Report the start of a CDATA section.
+ *
+ * <p>The contents of the CDATA section will be reported through
+ * the regular {@link org.xml.sax.ContentHandler#characters
+ * characters} event; this event is intended only to report
+ * the boundary.</p>
+ *
+ * @exception SAXException The application may raise an exception.
+ * @see #endCDATA
+ */
+ public abstract void startCDATA ()
+ throws SAXException;
+
+
+ /**
+ * Report the end of a CDATA section.
+ *
+ * @exception SAXException The application may raise an exception.
+ * @see #startCDATA
+ */
+ public abstract void endCDATA ()
+ throws SAXException;
+
+
+ /**
+ * Report an XML comment anywhere in the document.
+ *
+ * <p>This callback will be used for comments inside or outside the
+ * document element, including comments in the external DTD
+ * subset (if read). Comments in the DTD must be properly
+ * nested inside start/endDTD and start/endEntity events (if
+ * used).</p>
+ *
+ * @param ch An array holding the characters in the comment.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use from the array.
+ * @exception SAXException The application may raise an exception.
+ */
+ public abstract void comment (char ch[], int start, int length)
+ throws SAXException;
+
+}
+
+// end of LexicalHandler.java
diff --git a/libjava/org/xml/sax/ext/package.html b/libjava/org/xml/sax/ext/package.html
new file mode 100644
index 00000000000..bbb02f9276b
--- /dev/null
+++ b/libjava/org/xml/sax/ext/package.html
@@ -0,0 +1,49 @@
+<HTML><HEAD>
+
+</HEAD><BODY>
+
+<p>
+This package contains interfaces to optional SAX2 handlers.
+
+<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+for more information about SAX.</p>
+
+<p>
+The package is independent of the SAX2 core, though the functionality
+exposed generally needs to be implemented within a parser.
+That independence has several consequences:</p>
+
+<ul>
+
+<li>SAX2 drivers are <em>not</em> required to recognize these handlers,
+and you cannot assume that the class files will be present in every SAX2
+installation.</li>
+
+<li>This package may be updated independently of SAX2 (i.e. new
+handlers may be added without updating SAX2 itself).</li>
+
+<li>The handlers are not implemented by the SAX2
+<code>org.xml.sax.helpers.DefaultHandler</code> or
+<code>org.xml.sax.helpers.XMLFilterImpl</code> classes.
+You can subclass these if you need such behaviour.</li>
+
+<li>The handlers need to be registered differently than regular SAX2
+handlers.</li>
+
+</ul>
+
+<p>This package, SAX2-ext, is a standardized extension to SAX2. It is
+designed both to allow SAX parsers to pass certain types of information
+to applications, and to serve as a simple model for other SAX2 parser
+extension packages. Not all such extension packages should need to
+be recognized directly by parsers, however.
+As an example, most schema systems can be cleanly layered on top
+of parsers supporting the standardized SAX2 interfaces. </p>
+
+<p><strong>NOTE:</strong> this package alone does add any
+functionality; it simply provides optional interfaces for SAX2 drivers
+to use. You must use a SAX2 driver that recognizes these interfaces if
+you actually want to have access to lexical and declaration
+information.</p>
+
+</BODY></HTML>
diff --git a/libjava/org/xml/sax/helpers/AttributeListImpl.java b/libjava/org/xml/sax/helpers/AttributeListImpl.java
index 69754728c1f..6cabed4fe8b 100644
--- a/libjava/org/xml/sax/helpers/AttributeListImpl.java
+++ b/libjava/org/xml/sax/helpers/AttributeListImpl.java
@@ -1,310 +1,312 @@
-// SAX default implementation for AttributeList.
-// No warranty; no copyright -- use this as you will.
-// $Id: AttributeListImpl.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.AttributeList;
-
-import java.util.Vector;
-
-
-/**
- * Default implementation for AttributeList.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>AttributeList implements the deprecated SAX1 {@link
- * org.xml.sax.AttributeList AttributeList} interface, and has been
- * replaced by the new SAX2 {@link org.xml.sax.helpers.AttributesImpl
- * AttributesImpl} interface.</p>
- *
- * <p>This class provides a convenience implementation of the SAX
- * {@link org.xml.sax.AttributeList AttributeList} interface. This
- * implementation is useful both for SAX parser writers, who can use
- * it to provide attributes to the application, and for SAX application
- * writers, who can use it to create a persistent copy of an element's
- * attribute specifications:</p>
- *
- * <pre>
- * private AttributeList myatts;
- *
- * public void startElement (String name, AttributeList atts)
- * {
- * // create a persistent copy of the attribute list
- * // for use outside this method
- * myatts = new AttributeListImpl(atts);
- * [...]
- * }
- * </pre>
- *
- * <p>Please note that SAX parsers are not required to use this
- * class to provide an implementation of AttributeList; it is
- * supplied only as an optional convenience. In particular,
- * parser writers are encouraged to invent more efficient
- * implementations.</p>
- *
- * @deprecated This class implements a deprecated interface,
- * {@link org.xml.sax.AttributeList AttributeList};
- * that interface has been replaced by
- * {@link org.xml.sax.Attributes Attributes},
- * which is implemented in the
- * {@link org.xml.sax.helpers.AttributesImpl
- * AttributesImpl} helper class.
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.AttributeList
- * @see org.xml.sax.DocumentHandler#startElement
- */
-public class AttributeListImpl implements AttributeList
-{
-
- /**
- * Create an empty attribute list.
- *
- * <p>This constructor is most useful for parser writers, who
- * will use it to create a single, reusable attribute list that
- * can be reset with the clear method between elements.</p>
- *
- * @see #addAttribute
- * @see #clear
- */
- public AttributeListImpl ()
- {
- }
-
-
- /**
- * Construct a persistent copy of an existing attribute list.
- *
- * <p>This constructor is most useful for application writers,
- * who will use it to create a persistent copy of an existing
- * attribute list.</p>
- *
- * @param atts The attribute list to copy
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public AttributeListImpl (AttributeList atts)
- {
- setAttributeList(atts);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Methods specific to this class.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the attribute list, discarding previous contents.
- *
- * <p>This method allows an application writer to reuse an
- * attribute list easily.</p>
- *
- * @param atts The attribute list to copy.
- */
- public void setAttributeList (AttributeList atts)
- {
- int count = atts.getLength();
-
- clear();
-
- for (int i = 0; i < count; i++) {
- addAttribute(atts.getName(i), atts.getType(i), atts.getValue(i));
- }
- }
-
-
- /**
- * Add an attribute to an attribute list.
- *
- * <p>This method is provided for SAX parser writers, to allow them
- * to build up an attribute list incrementally before delivering
- * it to the application.</p>
- *
- * @param name The attribute name.
- * @param type The attribute type ("NMTOKEN" for an enumeration).
- * @param value The attribute value (must not be null).
- * @see #removeAttribute
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public void addAttribute (String name, String type, String value)
- {
- names.addElement(name);
- types.addElement(type);
- values.addElement(value);
- }
-
-
- /**
- * Remove an attribute from the list.
- *
- * <p>SAX application writers can use this method to filter an
- * attribute out of an AttributeList. Note that invoking this
- * method will change the length of the attribute list and
- * some of the attribute's indices.</p>
- *
- * <p>If the requested attribute is not in the list, this is
- * a no-op.</p>
- *
- * @param name The attribute name.
- * @see #addAttribute
- */
- public void removeAttribute (String name)
- {
- int i = names.indexOf(name);
-
- if (i >= 0) {
- names.removeElementAt(i);
- types.removeElementAt(i);
- values.removeElementAt(i);
- }
- }
-
-
- /**
- * Clear the attribute list.
- *
- * <p>SAX parser writers can use this method to reset the attribute
- * list between DocumentHandler.startElement events. Normally,
- * it will make sense to reuse the same AttributeListImpl object
- * rather than allocating a new one each time.</p>
- *
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public void clear ()
- {
- names.removeAllElements();
- types.removeAllElements();
- values.removeAllElements();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.AttributeList
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in the list.
- *
- * @return The number of attributes in the list.
- * @see org.xml.sax.AttributeList#getLength
- */
- public int getLength ()
- {
- return names.size();
- }
-
-
- /**
- * Get the name of an attribute (by position).
- *
- * @param i The position of the attribute in the list.
- * @return The attribute name as a string, or null if there
- * is no attribute at that position.
- * @see org.xml.sax.AttributeList#getName(int)
- */
- public String getName (int i)
- {
- if (i < 0) {
- return null;
- }
- try {
- return (String)names.elementAt(i);
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
-
- /**
- * Get the type of an attribute (by position).
- *
- * @param i The position of the attribute in the list.
- * @return The attribute type as a string ("NMTOKEN" for an
- * enumeration, and "CDATA" if no declaration was
- * read), or null if there is no attribute at
- * that position.
- * @see org.xml.sax.AttributeList#getType(int)
- */
- public String getType (int i)
- {
- if (i < 0) {
- return null;
- }
- try {
- return (String)types.elementAt(i);
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
-
- /**
- * Get the value of an attribute (by position).
- *
- * @param i The position of the attribute in the list.
- * @return The attribute value as a string, or null if
- * there is no attribute at that position.
- * @see org.xml.sax.AttributeList#getValue(int)
- */
- public String getValue (int i)
- {
- if (i < 0) {
- return null;
- }
- try {
- return (String)values.elementAt(i);
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
-
- /**
- * Get the type of an attribute (by name).
- *
- * @param name The attribute name.
- * @return The attribute type as a string ("NMTOKEN" for an
- * enumeration, and "CDATA" if no declaration was
- * read).
- * @see org.xml.sax.AttributeList#getType(java.lang.String)
- */
- public String getType (String name)
- {
- return getType(names.indexOf(name));
- }
-
-
- /**
- * Get the value of an attribute (by name).
- *
- * @param name The attribute name.
- * @see org.xml.sax.AttributeList#getValue(java.lang.String)
- */
- public String getValue (String name)
- {
- return getValue(names.indexOf(name));
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- Vector names = new Vector();
- Vector types = new Vector();
- Vector values = new Vector();
-
-}
-
-// end of AttributeListImpl.java
+// SAX default implementation for AttributeList.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: AttributeListImpl.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import org.xml.sax.AttributeList;
+
+import java.util.Vector;
+
+
+/**
+ * Default implementation for AttributeList.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>AttributeList implements the deprecated SAX1 {@link
+ * org.xml.sax.AttributeList AttributeList} interface, and has been
+ * replaced by the new SAX2 {@link org.xml.sax.helpers.AttributesImpl
+ * AttributesImpl} interface.</p>
+ *
+ * <p>This class provides a convenience implementation of the SAX
+ * {@link org.xml.sax.AttributeList AttributeList} interface. This
+ * implementation is useful both for SAX parser writers, who can use
+ * it to provide attributes to the application, and for SAX application
+ * writers, who can use it to create a persistent copy of an element's
+ * attribute specifications:</p>
+ *
+ * <pre>
+ * private AttributeList myatts;
+ *
+ * public void startElement (String name, AttributeList atts)
+ * {
+ * // create a persistent copy of the attribute list
+ * // for use outside this method
+ * myatts = new AttributeListImpl(atts);
+ * [...]
+ * }
+ * </pre>
+ *
+ * <p>Please note that SAX parsers are not required to use this
+ * class to provide an implementation of AttributeList; it is
+ * supplied only as an optional convenience. In particular,
+ * parser writers are encouraged to invent more efficient
+ * implementations.</p>
+ *
+ * @deprecated This class implements a deprecated interface,
+ * {@link org.xml.sax.AttributeList AttributeList};
+ * that interface has been replaced by
+ * {@link org.xml.sax.Attributes Attributes},
+ * which is implemented in the
+ * {@link org.xml.sax.helpers.AttributesImpl
+ * AttributesImpl} helper class.
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.AttributeList
+ * @see org.xml.sax.DocumentHandler#startElement
+ */
+public class AttributeListImpl implements AttributeList
+{
+
+ /**
+ * Create an empty attribute list.
+ *
+ * <p>This constructor is most useful for parser writers, who
+ * will use it to create a single, reusable attribute list that
+ * can be reset with the clear method between elements.</p>
+ *
+ * @see #addAttribute
+ * @see #clear
+ */
+ public AttributeListImpl ()
+ {
+ }
+
+
+ /**
+ * Construct a persistent copy of an existing attribute list.
+ *
+ * <p>This constructor is most useful for application writers,
+ * who will use it to create a persistent copy of an existing
+ * attribute list.</p>
+ *
+ * @param atts The attribute list to copy
+ * @see org.xml.sax.DocumentHandler#startElement
+ */
+ public AttributeListImpl (AttributeList atts)
+ {
+ setAttributeList(atts);
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Methods specific to this class.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set the attribute list, discarding previous contents.
+ *
+ * <p>This method allows an application writer to reuse an
+ * attribute list easily.</p>
+ *
+ * @param atts The attribute list to copy.
+ */
+ public void setAttributeList (AttributeList atts)
+ {
+ int count = atts.getLength();
+
+ clear();
+
+ for (int i = 0; i < count; i++) {
+ addAttribute(atts.getName(i), atts.getType(i), atts.getValue(i));
+ }
+ }
+
+
+ /**
+ * Add an attribute to an attribute list.
+ *
+ * <p>This method is provided for SAX parser writers, to allow them
+ * to build up an attribute list incrementally before delivering
+ * it to the application.</p>
+ *
+ * @param name The attribute name.
+ * @param type The attribute type ("NMTOKEN" for an enumeration).
+ * @param value The attribute value (must not be null).
+ * @see #removeAttribute
+ * @see org.xml.sax.DocumentHandler#startElement
+ */
+ public void addAttribute (String name, String type, String value)
+ {
+ names.addElement(name);
+ types.addElement(type);
+ values.addElement(value);
+ }
+
+
+ /**
+ * Remove an attribute from the list.
+ *
+ * <p>SAX application writers can use this method to filter an
+ * attribute out of an AttributeList. Note that invoking this
+ * method will change the length of the attribute list and
+ * some of the attribute's indices.</p>
+ *
+ * <p>If the requested attribute is not in the list, this is
+ * a no-op.</p>
+ *
+ * @param name The attribute name.
+ * @see #addAttribute
+ */
+ public void removeAttribute (String name)
+ {
+ int i = names.indexOf(name);
+
+ if (i >= 0) {
+ names.removeElementAt(i);
+ types.removeElementAt(i);
+ values.removeElementAt(i);
+ }
+ }
+
+
+ /**
+ * Clear the attribute list.
+ *
+ * <p>SAX parser writers can use this method to reset the attribute
+ * list between DocumentHandler.startElement events. Normally,
+ * it will make sense to reuse the same AttributeListImpl object
+ * rather than allocating a new one each time.</p>
+ *
+ * @see org.xml.sax.DocumentHandler#startElement
+ */
+ public void clear ()
+ {
+ names.removeAllElements();
+ types.removeAllElements();
+ values.removeAllElements();
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.AttributeList
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Return the number of attributes in the list.
+ *
+ * @return The number of attributes in the list.
+ * @see org.xml.sax.AttributeList#getLength
+ */
+ public int getLength ()
+ {
+ return names.size();
+ }
+
+
+ /**
+ * Get the name of an attribute (by position).
+ *
+ * @param i The position of the attribute in the list.
+ * @return The attribute name as a string, or null if there
+ * is no attribute at that position.
+ * @see org.xml.sax.AttributeList#getName(int)
+ */
+ public String getName (int i)
+ {
+ if (i < 0) {
+ return null;
+ }
+ try {
+ return (String)names.elementAt(i);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ return null;
+ }
+ }
+
+
+ /**
+ * Get the type of an attribute (by position).
+ *
+ * @param i The position of the attribute in the list.
+ * @return The attribute type as a string ("NMTOKEN" for an
+ * enumeration, and "CDATA" if no declaration was
+ * read), or null if there is no attribute at
+ * that position.
+ * @see org.xml.sax.AttributeList#getType(int)
+ */
+ public String getType (int i)
+ {
+ if (i < 0) {
+ return null;
+ }
+ try {
+ return (String)types.elementAt(i);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ return null;
+ }
+ }
+
+
+ /**
+ * Get the value of an attribute (by position).
+ *
+ * @param i The position of the attribute in the list.
+ * @return The attribute value as a string, or null if
+ * there is no attribute at that position.
+ * @see org.xml.sax.AttributeList#getValue(int)
+ */
+ public String getValue (int i)
+ {
+ if (i < 0) {
+ return null;
+ }
+ try {
+ return (String)values.elementAt(i);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ return null;
+ }
+ }
+
+
+ /**
+ * Get the type of an attribute (by name).
+ *
+ * @param name The attribute name.
+ * @return The attribute type as a string ("NMTOKEN" for an
+ * enumeration, and "CDATA" if no declaration was
+ * read).
+ * @see org.xml.sax.AttributeList#getType(java.lang.String)
+ */
+ public String getType (String name)
+ {
+ return getType(names.indexOf(name));
+ }
+
+
+ /**
+ * Get the value of an attribute (by name).
+ *
+ * @param name The attribute name.
+ * @see org.xml.sax.AttributeList#getValue(java.lang.String)
+ */
+ public String getValue (String name)
+ {
+ return getValue(names.indexOf(name));
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ Vector names = new Vector();
+ Vector types = new Vector();
+ Vector values = new Vector();
+
+}
+
+// end of AttributeListImpl.java
diff --git a/libjava/org/xml/sax/helpers/AttributesImpl.java b/libjava/org/xml/sax/helpers/AttributesImpl.java
index b714f39fdb8..d16cb335664 100644
--- a/libjava/org/xml/sax/helpers/AttributesImpl.java
+++ b/libjava/org/xml/sax/helpers/AttributesImpl.java
@@ -1,606 +1,620 @@
-// AttributesImpl.java - default implementation of Attributes.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the public domain.
-
-// $Id: AttributesImpl.java,v 1.2 2001/05/31 16:03:17 garyp Exp $
-
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.Attributes;
-
-
-/**
- * Default implementation of the Attributes interface.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class provides a default implementation of the SAX2
- * {@link org.xml.sax.Attributes Attributes} interface, with the
- * addition of manipulators so that the list can be modified or
- * reused.</p>
- *
- * <p>There are two typical uses of this class:</p>
- *
- * <ol>
- * <li>to take a persistent snapshot of an Attributes object
- * in a {@link org.xml.sax.ContentHandler#startElement startElement} event; or</li>
- * <li>to construct or modify an Attributes object in a SAX2 driver or filter.</li>
- * </ol>
- *
- * <p>This class replaces the now-deprecated SAX1 {@link
- * org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
- * class; in addition to supporting the updated Attributes
- * interface rather than the deprecated {@link org.xml.sax.AttributeList
- * AttributeList} interface, it also includes a much more efficient
- * implementation using a single array rather than a set of Vectors.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- */
-public class AttributesImpl implements Attributes
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructors.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Construct a new, empty AttributesImpl object.
- */
- public AttributesImpl ()
- {
- length = 0;
- data = null;
- }
-
-
- /**
- * Copy an existing Attributes object.
- *
- * <p>This constructor is especially useful inside a
- * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p>
- *
- * @param atts The existing Attributes object.
- */
- public AttributesImpl (Attributes atts)
- {
- setAttributes(atts);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.Attributes.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in the list.
- *
- * @return The number of attributes in the list.
- * @see org.xml.sax.Attributes#getLength
- */
- public int getLength ()
- {
- return length;
- }
-
-
- /**
- * Return an attribute's Namespace URI.
- *
- * @param index The attribute's index (zero-based).
- * @return The Namespace URI, the empty string if none is
- * available, or null if the index is out of range.
- * @see org.xml.sax.Attributes#getURI
- */
- public String getURI (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's local name.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's local name, the empty string if
- * none is available, or null if the index if out of range.
- * @see org.xml.sax.Attributes#getLocalName
- */
- public String getLocalName (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+1];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's qualified (prefixed) name.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's qualified name, the empty string if
- * none is available, or null if the index is out of bounds.
- * @see org.xml.sax.Attributes#getQName
- */
- public String getQName (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+2];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's type by index.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's type, "CDATA" if the type is unknown, or null
- * if the index is out of bounds.
- * @see org.xml.sax.Attributes#getType(int)
- */
- public String getType (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+3];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's value by index.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's value or null if the index is out of bounds.
- * @see org.xml.sax.Attributes#getValue(int)
- */
- public String getValue (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+4];
- } else {
- return null;
- }
- }
-
-
- /**
- * Look up an attribute's index by Namespace name.
- *
- * <p>In many cases, it will be more efficient to look up the name once and
- * use the index query methods rather than using the name query methods
- * repeatedly.</p>
- *
- * @param uri The attribute's Namespace URI, or the empty
- * string if none is available.
- * @param localName The attribute's local name.
- * @return The attribute's index, or -1 if none matches.
- * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String)
- */
- public int getIndex (String uri, String localName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i].equals(uri) && data[i+1].equals(localName)) {
- return i / 5;
- }
- }
- return -1;
- }
-
-
- /**
- * Look up an attribute's index by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's index, or -1 if none matches.
- * @see org.xml.sax.Attributes#getIndex(java.lang.String)
- */
- public int getIndex (String qName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i+2].equals(qName)) {
- return i / 5;
- }
- }
- return -1;
- }
-
-
- /**
- * Look up an attribute's type by Namespace-qualified name.
- *
- * @param uri The Namespace URI, or the empty string for a name
- * with no explicit Namespace URI.
- * @param localName The local name.
- * @return The attribute's type, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getType(java.lang.String,java.lang.String)
- */
- public String getType (String uri, String localName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i].equals(uri) && data[i+1].equals(localName)) {
- return data[i+3];
- }
- }
- return null;
- }
-
-
- /**
- * Look up an attribute's type by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's type, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getType(java.lang.String)
- */
- public String getType (String qName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i+2].equals(qName)) {
- return data[i+3];
- }
- }
- return null;
- }
-
-
- /**
- * Look up an attribute's value by Namespace-qualified name.
- *
- * @param uri The Namespace URI, or the empty string for a name
- * with no explicit Namespace URI.
- * @param localName The local name.
- * @return The attribute's value, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getValue(java.lang.String,java.lang.String)
- */
- public String getValue (String uri, String localName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i].equals(uri) && data[i+1].equals(localName)) {
- return data[i+4];
- }
- }
- return null;
- }
-
-
- /**
- * Look up an attribute's value by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's value, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getValue(java.lang.String)
- */
- public String getValue (String qName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i+2].equals(qName)) {
- return data[i+4];
- }
- }
- return null;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Manipulators.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Clear the attribute list for reuse.
- *
- * <p>Note that no memory is actually freed by this call:
- * the current arrays are kept so that they can be
- * reused.</p>
- */
- public void clear ()
- {
- length = 0;
- }
-
-
- /**
- * Copy an entire Attributes object.
- *
- * <p>It may be more efficient to reuse an existing object
- * rather than constantly allocating new ones.</p>
- *
- * @param atts The attributes to copy.
- */
- public void setAttributes (Attributes atts)
- {
- clear();
- length = atts.getLength();
- data = new String[length*5];
- for (int i = 0; i < length; i++) {
- data[i*5] = atts.getURI(i);
- data[i*5+1] = atts.getLocalName(i);
- data[i*5+2] = atts.getQName(i);
- data[i*5+3] = atts.getType(i);
- data[i*5+4] = atts.getValue(i);
- }
- }
-
-
- /**
- * Add an attribute to the end of the list.
- *
- * <p>For the sake of speed, this method does no checking
- * to see if the attribute is already in the list: that is
- * the responsibility of the application.</p>
- *
- * @param uri The Namespace URI, or the empty string if
- * none is available or Namespace processing is not
- * being performed.
- * @param localName The local name, or the empty string if
- * Namespace processing is not being performed.
- * @param qName The qualified (prefixed) name, or the empty string
- * if qualified names are not available.
- * @param type The attribute type as a string.
- * @param value The attribute value.
- */
- public void addAttribute (String uri, String localName, String qName,
- String type, String value)
- {
- ensureCapacity(length+1);
- data[length*5] = uri;
- data[length*5+1] = localName;
- data[length*5+2] = qName;
- data[length*5+3] = type;
- data[length*5+4] = value;
- length++;
- }
-
-
- /**
- * Set an attribute in the list.
- *
- * <p>For the sake of speed, this method does no checking
- * for name conflicts or well-formedness: such checks are the
- * responsibility of the application.</p>
- *
- * @param index The index of the attribute (zero-based).
- * @param uri The Namespace URI, or the empty string if
- * none is available or Namespace processing is not
- * being performed.
- * @param localName The local name, or the empty string if
- * Namespace processing is not being performed.
- * @param qName The qualified name, or the empty string
- * if qualified names are not available.
- * @param type The attribute type as a string.
- * @param value The attribute value.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setAttribute (int index, String uri, String localName,
- String qName, String type, String value)
- {
- if (index >= 0 && index < length) {
- data[index*5] = uri;
- data[index*5+1] = localName;
- data[index*5+2] = qName;
- data[index*5+3] = type;
- data[index*5+4] = value;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Remove an attribute from the list.
- *
- * @param index The index of the attribute (zero-based).
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void removeAttribute (int index)
- {
- if (index >= 0 && index < length) {
- data[index*5] = null;
- data[index*5+1] = null;
- data[index*5+2] = null;
- data[index*5+3] = null;
- data[index*5+4] = null;
- if (index < length - 1) {
- System.arraycopy(data, (index+1)*5, data, index*5,
- (length-index-1)*5);
- }
- length--;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the Namespace URI of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param uri The attribute's Namespace URI, or the empty
- * string for none.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setURI (int index, String uri)
- {
- if (index >= 0 && index < length) {
- data[index*5] = uri;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the local name of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param localName The attribute's local name, or the empty
- * string for none.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setLocalName (int index, String localName)
- {
- if (index >= 0 && index < length) {
- data[index*5+1] = localName;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the qualified name of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param qName The attribute's qualified name, or the empty
- * string for none.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setQName (int index, String qName)
- {
- if (index >= 0 && index < length) {
- data[index*5+2] = qName;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the type of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param type The attribute's type.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setType (int index, String type)
- {
- if (index >= 0 && index < length) {
- data[index*5+3] = type;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the value of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param value The attribute's value.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setValue (int index, String value)
- {
- if (index >= 0 && index < length) {
- data[index*5+4] = value;
- } else {
- badIndex(index);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Ensure the internal array's capacity.
- *
- * @param n The minimum number of attributes that the array must
- * be able to hold.
- */
- private void ensureCapacity (int n)
- {
- if (n > 0 && data == null) {
- data = new String[25];
- }
-
- int max = data.length;
- if (max >= n * 5) {
- return;
- }
-
-
- while (max < n * 5) {
- max *= 2;
- }
- String newData[] = new String[max];
- System.arraycopy(data, 0, newData, 0, length*5);
- data = newData;
- }
-
-
- /**
- * Report a bad array index in a manipulator.
- *
- * @param index The index to report.
- * @exception java.lang.ArrayIndexOutOfBoundsException Always.
- */
- private void badIndex (int index)
- throws ArrayIndexOutOfBoundsException
- {
- String msg =
- "Attempt to modify attribute at illegal index: " + index;
- throw new ArrayIndexOutOfBoundsException(msg);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- int length;
- String data [];
-
-}
-
-// end of AttributesImpl.java
-
+// AttributesImpl.java - default implementation of Attributes.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the public domain.
+
+// $Id: AttributesImpl.java,v 1.6.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+
+package org.xml.sax.helpers;
+
+import org.xml.sax.Attributes;
+
+
+/**
+ * Default implementation of the Attributes interface.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class provides a default implementation of the SAX2
+ * {@link org.xml.sax.Attributes Attributes} interface, with the
+ * addition of manipulators so that the list can be modified or
+ * reused.</p>
+ *
+ * <p>There are two typical uses of this class:</p>
+ *
+ * <ol>
+ * <li>to take a persistent snapshot of an Attributes object
+ * in a {@link org.xml.sax.ContentHandler#startElement startElement} event; or</li>
+ * <li>to construct or modify an Attributes object in a SAX2 driver or filter.</li>
+ * </ol>
+ *
+ * <p>This class replaces the now-deprecated SAX1 {@link
+ * org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
+ * class; in addition to supporting the updated Attributes
+ * interface rather than the deprecated {@link org.xml.sax.AttributeList
+ * AttributeList} interface, it also includes a much more efficient
+ * implementation using a single array rather than a set of Vectors.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ */
+public class AttributesImpl implements Attributes
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Constructors.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Construct a new, empty AttributesImpl object.
+ */
+ public AttributesImpl ()
+ {
+ length = 0;
+ data = null;
+ }
+
+
+ /**
+ * Copy an existing Attributes object.
+ *
+ * <p>This constructor is especially useful inside a
+ * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p>
+ *
+ * @param atts The existing Attributes object.
+ */
+ public AttributesImpl (Attributes atts)
+ {
+ setAttributes(atts);
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.Attributes.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Return the number of attributes in the list.
+ *
+ * @return The number of attributes in the list.
+ * @see org.xml.sax.Attributes#getLength
+ */
+ public int getLength ()
+ {
+ return length;
+ }
+
+
+ /**
+ * Return an attribute's Namespace URI.
+ *
+ * @param index The attribute's index (zero-based).
+ * @return The Namespace URI, the empty string if none is
+ * available, or null if the index is out of range.
+ * @see org.xml.sax.Attributes#getURI
+ */
+ public String getURI (int index)
+ {
+ if (index >= 0 && index < length) {
+ return data[index*5];
+ } else {
+ return null;
+ }
+ }
+
+
+ /**
+ * Return an attribute's local name.
+ *
+ * @param index The attribute's index (zero-based).
+ * @return The attribute's local name, the empty string if
+ * none is available, or null if the index if out of range.
+ * @see org.xml.sax.Attributes#getLocalName
+ */
+ public String getLocalName (int index)
+ {
+ if (index >= 0 && index < length) {
+ return data[index*5+1];
+ } else {
+ return null;
+ }
+ }
+
+
+ /**
+ * Return an attribute's qualified (prefixed) name.
+ *
+ * @param index The attribute's index (zero-based).
+ * @return The attribute's qualified name, the empty string if
+ * none is available, or null if the index is out of bounds.
+ * @see org.xml.sax.Attributes#getQName
+ */
+ public String getQName (int index)
+ {
+ if (index >= 0 && index < length) {
+ return data[index*5+2];
+ } else {
+ return null;
+ }
+ }
+
+
+ /**
+ * Return an attribute's type by index.
+ *
+ * @param index The attribute's index (zero-based).
+ * @return The attribute's type, "CDATA" if the type is unknown, or null
+ * if the index is out of bounds.
+ * @see org.xml.sax.Attributes#getType(int)
+ */
+ public String getType (int index)
+ {
+ if (index >= 0 && index < length) {
+ return data[index*5+3];
+ } else {
+ return null;
+ }
+ }
+
+
+ /**
+ * Return an attribute's value by index.
+ *
+ * @param index The attribute's index (zero-based).
+ * @return The attribute's value or null if the index is out of bounds.
+ * @see org.xml.sax.Attributes#getValue(int)
+ */
+ public String getValue (int index)
+ {
+ if (index >= 0 && index < length) {
+ return data[index*5+4];
+ } else {
+ return null;
+ }
+ }
+
+
+ /**
+ * Look up an attribute's index by Namespace name.
+ *
+ * <p>In many cases, it will be more efficient to look up the name once and
+ * use the index query methods rather than using the name query methods
+ * repeatedly.</p>
+ *
+ * @param uri The attribute's Namespace URI, or the empty
+ * string if none is available.
+ * @param localName The attribute's local name.
+ * @return The attribute's index, or -1 if none matches.
+ * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String)
+ */
+ public int getIndex (String uri, String localName)
+ {
+ int max = length * 5;
+ for (int i = 0; i < max; i += 5) {
+ if (data[i].equals(uri) && data[i+1].equals(localName)) {
+ return i / 5;
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Look up an attribute's index by qualified (prefixed) name.
+ *
+ * @param qName The qualified name.
+ * @return The attribute's index, or -1 if none matches.
+ * @see org.xml.sax.Attributes#getIndex(java.lang.String)
+ */
+ public int getIndex (String qName)
+ {
+ int max = length * 5;
+ for (int i = 0; i < max; i += 5) {
+ if (data[i+2].equals(qName)) {
+ return i / 5;
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Look up an attribute's type by Namespace-qualified name.
+ *
+ * @param uri The Namespace URI, or the empty string for a name
+ * with no explicit Namespace URI.
+ * @param localName The local name.
+ * @return The attribute's type, or null if there is no
+ * matching attribute.
+ * @see org.xml.sax.Attributes#getType(java.lang.String,java.lang.String)
+ */
+ public String getType (String uri, String localName)
+ {
+ int max = length * 5;
+ for (int i = 0; i < max; i += 5) {
+ if (data[i].equals(uri) && data[i+1].equals(localName)) {
+ return data[i+3];
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * Look up an attribute's type by qualified (prefixed) name.
+ *
+ * @param qName The qualified name.
+ * @return The attribute's type, or null if there is no
+ * matching attribute.
+ * @see org.xml.sax.Attributes#getType(java.lang.String)
+ */
+ public String getType (String qName)
+ {
+ int max = length * 5;
+ for (int i = 0; i < max; i += 5) {
+ if (data[i+2].equals(qName)) {
+ return data[i+3];
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * Look up an attribute's value by Namespace-qualified name.
+ *
+ * @param uri The Namespace URI, or the empty string for a name
+ * with no explicit Namespace URI.
+ * @param localName The local name.
+ * @return The attribute's value, or null if there is no
+ * matching attribute.
+ * @see org.xml.sax.Attributes#getValue(java.lang.String,java.lang.String)
+ */
+ public String getValue (String uri, String localName)
+ {
+ int max = length * 5;
+ for (int i = 0; i < max; i += 5) {
+ if (data[i].equals(uri) && data[i+1].equals(localName)) {
+ return data[i+4];
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * Look up an attribute's value by qualified (prefixed) name.
+ *
+ * @param qName The qualified name.
+ * @return The attribute's value, or null if there is no
+ * matching attribute.
+ * @see org.xml.sax.Attributes#getValue(java.lang.String)
+ */
+ public String getValue (String qName)
+ {
+ int max = length * 5;
+ for (int i = 0; i < max; i += 5) {
+ if (data[i+2].equals(qName)) {
+ return data[i+4];
+ }
+ }
+ return null;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Manipulators.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Clear the attribute list for reuse.
+ *
+ * <p>Note that little memory is freed by this call:
+ * the current array is kept so it can be
+ * reused.</p>
+ */
+ public void clear ()
+ {
+ if (data != null) {
+ for (int i = 0; i < (length * 5); i++)
+ data [i] = null;
+ }
+ length = 0;
+ }
+
+
+ /**
+ * Copy an entire Attributes object.
+ *
+ * <p>It may be more efficient to reuse an existing object
+ * rather than constantly allocating new ones.</p>
+ *
+ * @param atts The attributes to copy.
+ */
+ public void setAttributes (Attributes atts)
+ {
+ clear();
+ length = atts.getLength();
+ if (length > 0) {
+ data = new String[length*5];
+ for (int i = 0; i < length; i++) {
+ data[i*5] = atts.getURI(i);
+ data[i*5+1] = atts.getLocalName(i);
+ data[i*5+2] = atts.getQName(i);
+ data[i*5+3] = atts.getType(i);
+ data[i*5+4] = atts.getValue(i);
+ }
+ }
+ }
+
+
+ /**
+ * Add an attribute to the end of the list.
+ *
+ * <p>For the sake of speed, this method does no checking
+ * to see if the attribute is already in the list: that is
+ * the responsibility of the application.</p>
+ *
+ * @param uri The Namespace URI, or the empty string if
+ * none is available or Namespace processing is not
+ * being performed.
+ * @param localName The local name, or the empty string if
+ * Namespace processing is not being performed.
+ * @param qName The qualified (prefixed) name, or the empty string
+ * if qualified names are not available.
+ * @param type The attribute type as a string.
+ * @param value The attribute value.
+ */
+ public void addAttribute (String uri, String localName, String qName,
+ String type, String value)
+ {
+ ensureCapacity(length+1);
+ data[length*5] = uri;
+ data[length*5+1] = localName;
+ data[length*5+2] = qName;
+ data[length*5+3] = type;
+ data[length*5+4] = value;
+ length++;
+ }
+
+
+ /**
+ * Set an attribute in the list.
+ *
+ * <p>For the sake of speed, this method does no checking
+ * for name conflicts or well-formedness: such checks are the
+ * responsibility of the application.</p>
+ *
+ * @param index The index of the attribute (zero-based).
+ * @param uri The Namespace URI, or the empty string if
+ * none is available or Namespace processing is not
+ * being performed.
+ * @param localName The local name, or the empty string if
+ * Namespace processing is not being performed.
+ * @param qName The qualified name, or the empty string
+ * if qualified names are not available.
+ * @param type The attribute type as a string.
+ * @param value The attribute value.
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void setAttribute (int index, String uri, String localName,
+ String qName, String type, String value)
+ {
+ if (index >= 0 && index < length) {
+ data[index*5] = uri;
+ data[index*5+1] = localName;
+ data[index*5+2] = qName;
+ data[index*5+3] = type;
+ data[index*5+4] = value;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+ /**
+ * Remove an attribute from the list.
+ *
+ * @param index The index of the attribute (zero-based).
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void removeAttribute (int index)
+ {
+ if (index >= 0 && index < length) {
+ if (index < length - 1) {
+ System.arraycopy(data, (index+1)*5, data, index*5,
+ (length-index-1)*5);
+ }
+ index = (length - 1) * 5;
+ data [index++] = null;
+ data [index++] = null;
+ data [index++] = null;
+ data [index++] = null;
+ data [index] = null;
+ length--;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+ /**
+ * Set the Namespace URI of a specific attribute.
+ *
+ * @param index The index of the attribute (zero-based).
+ * @param uri The attribute's Namespace URI, or the empty
+ * string for none.
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void setURI (int index, String uri)
+ {
+ if (index >= 0 && index < length) {
+ data[index*5] = uri;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+ /**
+ * Set the local name of a specific attribute.
+ *
+ * @param index The index of the attribute (zero-based).
+ * @param localName The attribute's local name, or the empty
+ * string for none.
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void setLocalName (int index, String localName)
+ {
+ if (index >= 0 && index < length) {
+ data[index*5+1] = localName;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+ /**
+ * Set the qualified name of a specific attribute.
+ *
+ * @param index The index of the attribute (zero-based).
+ * @param qName The attribute's qualified name, or the empty
+ * string for none.
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void setQName (int index, String qName)
+ {
+ if (index >= 0 && index < length) {
+ data[index*5+2] = qName;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+ /**
+ * Set the type of a specific attribute.
+ *
+ * @param index The index of the attribute (zero-based).
+ * @param type The attribute's type.
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void setType (int index, String type)
+ {
+ if (index >= 0 && index < length) {
+ data[index*5+3] = type;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+ /**
+ * Set the value of a specific attribute.
+ *
+ * @param index The index of the attribute (zero-based).
+ * @param value The attribute's value.
+ * @exception java.lang.ArrayIndexOutOfBoundsException When the
+ * supplied index does not point to an attribute
+ * in the list.
+ */
+ public void setValue (int index, String value)
+ {
+ if (index >= 0 && index < length) {
+ data[index*5+4] = value;
+ } else {
+ badIndex(index);
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal methods.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Ensure the internal array's capacity.
+ *
+ * @param n The minimum number of attributes that the array must
+ * be able to hold.
+ */
+ private void ensureCapacity (int n) {
+ if (n <= 0) {
+ return;
+ }
+ int max;
+ if (data == null || data.length == 0) {
+ max = 25;
+ }
+ else if (data.length >= n * 5) {
+ return;
+ }
+ else {
+ max = data.length;
+ }
+ while (max < n * 5) {
+ max *= 2;
+ }
+
+ String newData[] = new String[max];
+ if (length > 0) {
+ System.arraycopy(data, 0, newData, 0, length*5);
+ }
+ data = newData;
+ }
+
+
+ /**
+ * Report a bad array index in a manipulator.
+ *
+ * @param index The index to report.
+ * @exception java.lang.ArrayIndexOutOfBoundsException Always.
+ */
+ private void badIndex (int index)
+ throws ArrayIndexOutOfBoundsException
+ {
+ String msg =
+ "Attempt to modify attribute at illegal index: " + index;
+ throw new ArrayIndexOutOfBoundsException(msg);
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ int length;
+ String data [];
+
+}
+
+// end of AttributesImpl.java
+
diff --git a/libjava/org/xml/sax/helpers/DefaultHandler.java b/libjava/org/xml/sax/helpers/DefaultHandler.java
index 957d44d882e..873e754a1a5 100644
--- a/libjava/org/xml/sax/helpers/DefaultHandler.java
+++ b/libjava/org/xml/sax/helpers/DefaultHandler.java
@@ -1,447 +1,468 @@
-// DefaultHandler.java - default implementation of the core handlers.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the public domain.
-
-// $Id: DefaultHandler.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-
-/**
- * Default base class for SAX2 event handlers.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class is available as a convenience base class for SAX2
- * applications: it provides default implementations for all of the
- * callbacks in the four core SAX2 handler classes:</p>
- *
- * <ul>
- * <li>{@link org.xml.sax.EntityResolver EntityResolver}</li>
- * <li>{@link org.xml.sax.DTDHandler DTDHandler}</li>
- * <li>{@link org.xml.sax.ContentHandler ContentHandler}</li>
- * <li>{@link org.xml.sax.ErrorHandler ErrorHandler}</li>
- * </ul>
- *
- * <p>Application writers can extend this class when they need to
- * implement only part of an interface; parser writers can
- * instantiate this class to provide default handlers when the
- * application has not supplied its own.</p>
- *
- * <p>This class replaces the deprecated SAX1
- * {@link org.xml.sax.HandlerBase HandlerBase} class.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.ContentHandler
- * @see org.xml.sax.ErrorHandler
- */
-public class DefaultHandler
- implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the EntityResolver interface.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Resolve an external entity.
- *
- * <p>Always return null, so that the parser will use the system
- * identifier provided in the XML document. This method implements
- * the SAX default behaviour: application writers can override it
- * in a subclass to do special translations such as catalog lookups
- * or URI redirection.</p>
- *
- * @param publicId The public identifier, or null if none is
- * available.
- * @param systemId The system identifier provided in the XML
- * document.
- * @return The new input source, or null to require the
- * default behaviour.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.EntityResolver#resolveEntity
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException
- {
- return null;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of DTDHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a notation declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to keep track of the notations
- * declared in a document.</p>
- *
- * @param name The notation name.
- * @param publicId The notation public identifier, or null if not
- * available.
- * @param systemId The notation system identifier.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DTDHandler#notationDecl
- */
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of an unparsed entity declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to keep track of the unparsed entities
- * declared in a document.</p>
- *
- * @param name The entity name.
- * @param publicId The entity public identifier, or null if not
- * available.
- * @param systemId The entity system identifier.
- * @param notationName The name of the associated notation.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public void unparsedEntityDecl (String name, String publicId,
- String systemId, String notationName)
- throws SAXException
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of ContentHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive a Locator object for document events.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to store the locator for use
- * with other document events.</p>
- *
- * @param locator A locator for all SAX document events.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- * @see org.xml.sax.Locator
- */
- public void setDocumentLocator (Locator locator)
- {
- // no op
- }
-
-
- /**
- * Receive notification of the beginning of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the beginning
- * of a document (such as allocating the root node of a tree or
- * creating an output file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end
- * of a document (such as finalising a tree or closing an output
- * file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the start of a Namespace mapping.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the start of
- * each Namespace prefix scope (such as storing the prefix mapping).</p>
- *
- * @param prefix The Namespace prefix being declared.
- * @param uri The Namespace URI mapped to the prefix.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#startPrefixMapping
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of a Namespace mapping.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end of
- * each prefix mapping.</p>
- *
- * @param prefix The Namespace prefix being declared.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#endPrefixMapping
- */
- public void endPrefixMapping (String prefix)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the start of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the start of
- * each element (such as allocating a new tree node or writing
- * output to a file).</p>
- *
- * @param name The element type name.
- * @param attributes The specified or defaulted attributes.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#startElement
- */
- public void startElement (String uri, String localName,
- String qName, Attributes attributes)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end of
- * each element (such as finalising a tree node or writing
- * output to a file).</p>
- *
- * @param name The element type name.
- * @param attributes The specified or defaulted attributes.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#endElement
- */
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of character data inside an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of character data
- * (such as adding the data to a node or buffer, or printing it to
- * a file).</p>
- *
- * @param ch The characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of ignorable
- * whitespace (such as adding data to a node or buffer, or printing
- * it to a file).</p>
- *
- * @param ch The whitespace characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions for each
- * processing instruction, such as setting status variables or
- * invoking other methods.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none is supplied.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a skipped entity.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions for each
- * processing instruction, such as setting status variables or
- * invoking other methods.</p>
- *
- * @param name The name of the skipped entity.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the ErrorHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a parser warning.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each warning, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void warning (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a recoverable parser error.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each error, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void error (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Report a fatal XML parsing error.
- *
- * <p>The default implementation throws a SAXParseException.
- * Application writers may override this method in a subclass if
- * they need to take specific actions for each fatal error (such as
- * collecting all of the errors into a single report): in any case,
- * the application must stop all regular processing when this
- * method is invoked, since the document is no longer reliable, and
- * the parser may no longer report parsing events.</p>
- *
- * @param e The error information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#fatalError
- * @see org.xml.sax.SAXParseException
- */
- public void fatalError (SAXParseException e)
- throws SAXException
- {
- throw e;
- }
-
-}
-
-// end of DefaultHandler.java
+// DefaultHandler.java - default implementation of the core handlers.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the public domain.
+
+// $Id: DefaultHandler.java,v 1.5.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.io.IOException;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.Attributes;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+
+/**
+ * Default base class for SAX2 event handlers.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class is available as a convenience base class for SAX2
+ * applications: it provides default implementations for all of the
+ * callbacks in the four core SAX2 handler classes:</p>
+ *
+ * <ul>
+ * <li>{@link org.xml.sax.EntityResolver EntityResolver}</li>
+ * <li>{@link org.xml.sax.DTDHandler DTDHandler}</li>
+ * <li>{@link org.xml.sax.ContentHandler ContentHandler}</li>
+ * <li>{@link org.xml.sax.ErrorHandler ErrorHandler}</li>
+ * </ul>
+ *
+ * <p>Application writers can extend this class when they need to
+ * implement only part of an interface; parser writers can
+ * instantiate this class to provide default handlers when the
+ * application has not supplied its own.</p>
+ *
+ * <p>This class replaces the deprecated SAX1
+ * {@link org.xml.sax.HandlerBase HandlerBase} class.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson,
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.EntityResolver
+ * @see org.xml.sax.DTDHandler
+ * @see org.xml.sax.ContentHandler
+ * @see org.xml.sax.ErrorHandler
+ */
+public class DefaultHandler
+ implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of the EntityResolver interface.
+ ////////////////////////////////////////////////////////////////////
+
+ /**
+ * Resolve an external entity.
+ *
+ * <p>Always return null, so that the parser will use the system
+ * identifier provided in the XML document. This method implements
+ * the SAX default behaviour: application writers can override it
+ * in a subclass to do special translations such as catalog lookups
+ * or URI redirection.</p>
+ *
+ * @param publicId The public identifer, or null if none is
+ * available.
+ * @param systemId The system identifier provided in the XML
+ * document.
+ * @return The new input source, or null to require the
+ * default behaviour.
+ * @exception java.io.IOException If there is an error setting
+ * up the new input source.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.EntityResolver#resolveEntity
+ */
+ public InputSource resolveEntity (String publicId, String systemId)
+ throws IOException, SAXException
+ {
+ return null;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of DTDHandler interface.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Receive notification of a notation declaration.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass if they wish to keep track of the notations
+ * declared in a document.</p>
+ *
+ * @param name The notation name.
+ * @param publicId The notation public identifier, or null if not
+ * available.
+ * @param systemId The notation system identifier.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DTDHandler#notationDecl
+ */
+ public void notationDecl (String name, String publicId, String systemId)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of an unparsed entity declaration.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to keep track of the unparsed entities
+ * declared in a document.</p>
+ *
+ * @param name The entity name.
+ * @param publicId The entity public identifier, or null if not
+ * available.
+ * @param systemId The entity system identifier.
+ * @param notationName The name of the associated notation.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.DTDHandler#unparsedEntityDecl
+ */
+ public void unparsedEntityDecl (String name, String publicId,
+ String systemId, String notationName)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of ContentHandler interface.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Receive a Locator object for document events.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass if they wish to store the locator for use
+ * with other document events.</p>
+ *
+ * @param locator A locator for all SAX document events.
+ * @see org.xml.sax.ContentHandler#setDocumentLocator
+ * @see org.xml.sax.Locator
+ */
+ public void setDocumentLocator (Locator locator)
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the beginning of the document.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the beginning
+ * of a document (such as allocating the root node of a tree or
+ * creating an output file).</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#startDocument
+ */
+ public void startDocument ()
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the end of the document.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the end
+ * of a document (such as finalising a tree or closing an output
+ * file).</p>
+ *
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#endDocument
+ */
+ public void endDocument ()
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the start of a Namespace mapping.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the start of
+ * each Namespace prefix scope (such as storing the prefix mapping).</p>
+ *
+ * @param prefix The Namespace prefix being declared.
+ * @param uri The Namespace URI mapped to the prefix.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#startPrefixMapping
+ */
+ public void startPrefixMapping (String prefix, String uri)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the end of a Namespace mapping.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the end of
+ * each prefix mapping.</p>
+ *
+ * @param prefix The Namespace prefix being declared.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#endPrefixMapping
+ */
+ public void endPrefixMapping (String prefix)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the start of an element.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the start of
+ * each element (such as allocating a new tree node or writing
+ * output to a file).</p>
+ *
+ * @param uri The Namespace URI, or the empty string if the
+ * element has no Namespace URI or if Namespace
+ * processing is not being performed.
+ * @param localName The local name (without prefix), or the
+ * empty string if Namespace processing is not being
+ * performed.
+ * @param qName The qualified name (with prefix), or the
+ * empty string if qualified names are not available.
+ * @param atts The attributes attached to the element. If
+ * there are no attributes, it shall be an empty
+ * Attributes object.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#startElement
+ */
+ public void startElement (String uri, String localName,
+ String qName, Attributes attributes)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of the end of an element.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions at the end of
+ * each element (such as finalising a tree node or writing
+ * output to a file).</p>
+ *
+ * @param uri The Namespace URI, or the empty string if the
+ * element has no Namespace URI or if Namespace
+ * processing is not being performed.
+ * @param localName The local name (without prefix), or the
+ * empty string if Namespace processing is not being
+ * performed.
+ * @param qName The qualified name (with prefix), or the
+ * empty string if qualified names are not available.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#endElement
+ */
+ public void endElement (String uri, String localName, String qName)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of character data inside an element.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method to take specific actions for each chunk of character data
+ * (such as adding the data to a node or buffer, or printing it to
+ * a file).</p>
+ *
+ * @param ch The characters.
+ * @param start The start position in the character array.
+ * @param length The number of characters to use from the
+ * character array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#characters
+ */
+ public void characters (char ch[], int start, int length)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of ignorable whitespace in element content.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method to take specific actions for each chunk of ignorable
+ * whitespace (such as adding data to a node or buffer, or printing
+ * it to a file).</p>
+ *
+ * @param ch The whitespace characters.
+ * @param start The start position in the character array.
+ * @param length The number of characters to use from the
+ * character array.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#ignorableWhitespace
+ */
+ public void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of a processing instruction.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions for each
+ * processing instruction, such as setting status variables or
+ * invoking other methods.</p>
+ *
+ * @param target The processing instruction target.
+ * @param data The processing instruction data, or null if
+ * none is supplied.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#processingInstruction
+ */
+ public void processingInstruction (String target, String data)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of a skipped entity.
+ *
+ * <p>By default, do nothing. Application writers may override this
+ * method in a subclass to take specific actions for each
+ * processing instruction, such as setting status variables or
+ * invoking other methods.</p>
+ *
+ * @param name The name of the skipped entity.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ContentHandler#processingInstruction
+ */
+ public void skippedEntity (String name)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Default implementation of the ErrorHandler interface.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Receive notification of a parser warning.
+ *
+ * <p>The default implementation does nothing. Application writers
+ * may override this method in a subclass to take specific actions
+ * for each warning, such as inserting the message in a log file or
+ * printing it to the console.</p>
+ *
+ * @param e The warning information encoded as an exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ErrorHandler#warning
+ * @see org.xml.sax.SAXParseException
+ */
+ public void warning (SAXParseException e)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Receive notification of a recoverable parser error.
+ *
+ * <p>The default implementation does nothing. Application writers
+ * may override this method in a subclass to take specific actions
+ * for each error, such as inserting the message in a log file or
+ * printing it to the console.</p>
+ *
+ * @param e The warning information encoded as an exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ErrorHandler#warning
+ * @see org.xml.sax.SAXParseException
+ */
+ public void error (SAXParseException e)
+ throws SAXException
+ {
+ // no op
+ }
+
+
+ /**
+ * Report a fatal XML parsing error.
+ *
+ * <p>The default implementation throws a SAXParseException.
+ * Application writers may override this method in a subclass if
+ * they need to take specific actions for each fatal error (such as
+ * collecting all of the errors into a single report): in any case,
+ * the application must stop all regular processing when this
+ * method is invoked, since the document is no longer reliable, and
+ * the parser may no longer report parsing events.</p>
+ *
+ * @param e The error information encoded as an exception.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @see org.xml.sax.ErrorHandler#fatalError
+ * @see org.xml.sax.SAXParseException
+ */
+ public void fatalError (SAXParseException e)
+ throws SAXException
+ {
+ throw e;
+ }
+
+}
+
+// end of DefaultHandler.java
diff --git a/libjava/org/xml/sax/helpers/LocatorImpl.java b/libjava/org/xml/sax/helpers/LocatorImpl.java
index 634044ccff2..4b297eabd9c 100644
--- a/libjava/org/xml/sax/helpers/LocatorImpl.java
+++ b/libjava/org/xml/sax/helpers/LocatorImpl.java
@@ -1,212 +1,214 @@
-// SAX default implementation for Locator.
-// No warranty; no copyright -- use this as you will.
-// $Id: LocatorImpl.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.Locator;
-
-
-/**
- * Provide an optional convenience implementation of Locator.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class is available mainly for application writers, who
- * can use it to make a persistent snapshot of a locator at any
- * point during a document parse:</p>
- *
- * <pre>
- * Locator locator;
- * Locator startloc;
- *
- * public void setLocator (Locator locator)
- * {
- * // note the locator
- * this.locator = locator;
- * }
- *
- * public void startDocument ()
- * {
- * // save the location of the start of the document
- * // for future use.
- * Locator startloc = new LocatorImpl(locator);
- * }
- *</pre>
- *
- * <p>Normally, parser writers will not use this class, since it
- * is more efficient to provide location information only when
- * requested, rather than constantly updating a Locator object.</p>
- *
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Locator Locator
- */
-public class LocatorImpl implements Locator
-{
-
-
- /**
- * Zero-argument constructor.
- *
- * <p>This will not normally be useful, since the main purpose
- * of this class is to make a snapshot of an existing Locator.</p>
- */
- public LocatorImpl ()
- {
- }
-
-
- /**
- * Copy constructor.
- *
- * <p>Create a persistent copy of the current state of a locator.
- * When the original locator changes, this copy will still keep
- * the original values (and it can be used outside the scope of
- * DocumentHandler methods).</p>
- *
- * @param locator The locator to copy.
- */
- public LocatorImpl (Locator locator)
- {
- setPublicId(locator.getPublicId());
- setSystemId(locator.getSystemId());
- setLineNumber(locator.getLineNumber());
- setColumnNumber(locator.getColumnNumber());
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.Locator
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the saved public identifier.
- *
- * @return The public identifier as a string, or null if none
- * is available.
- * @see org.xml.sax.Locator#getPublicId
- * @see #setPublicId
- */
- public String getPublicId ()
- {
- return publicId;
- }
-
-
- /**
- * Return the saved system identifier.
- *
- * @return The system identifier as a string, or null if none
- * is available.
- * @see org.xml.sax.Locator#getSystemId
- * @see #setSystemId
- */
- public String getSystemId ()
- {
- return systemId;
- }
-
-
- /**
- * Return the saved line number (1-based).
- *
- * @return The line number as an integer, or -1 if none is available.
- * @see org.xml.sax.Locator#getLineNumber
- * @see #setLineNumber
- */
- public int getLineNumber ()
- {
- return lineNumber;
- }
-
-
- /**
- * Return the saved column number (1-based).
- *
- * @return The column number as an integer, or -1 if none is available.
- * @see org.xml.sax.Locator#getColumnNumber
- * @see #setColumnNumber
- */
- public int getColumnNumber ()
- {
- return columnNumber;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Setters for the properties (not in org.xml.sax.Locator)
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the public identifier for this locator.
- *
- * @param publicId The new public identifier, or null
- * if none is available.
- * @see #getPublicId
- */
- public void setPublicId (String publicId)
- {
- this.publicId = publicId;
- }
-
-
- /**
- * Set the system identifier for this locator.
- *
- * @param systemId The new system identifier, or null
- * if none is available.
- * @see #getSystemId
- */
- public void setSystemId (String systemId)
- {
- this.systemId = systemId;
- }
-
-
- /**
- * Set the line number for this locator (1-based).
- *
- * @param lineNumber The line number, or -1 if none is available.
- * @see #getLineNumber
- */
- public void setLineNumber (int lineNumber)
- {
- this.lineNumber = lineNumber;
- }
-
-
- /**
- * Set the column number for this locator (1-based).
- *
- * @param columnNumber The column number, or -1 if none is available.
- * @see #getColumnNumber
- */
- public void setColumnNumber (int columnNumber)
- {
- this.columnNumber = columnNumber;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private String publicId;
- private String systemId;
- private int lineNumber;
- private int columnNumber;
-
-}
-
-// end of LocatorImpl.java
+// SAX default implementation for Locator.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: LocatorImpl.java,v 1.3.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import org.xml.sax.Locator;
+
+
+/**
+ * Provide an optional convenience implementation of Locator.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class is available mainly for application writers, who
+ * can use it to make a persistent snapshot of a locator at any
+ * point during a document parse:</p>
+ *
+ * <pre>
+ * Locator locator;
+ * Locator startloc;
+ *
+ * public void setLocator (Locator locator)
+ * {
+ * // note the locator
+ * this.locator = locator;
+ * }
+ *
+ * public void startDocument ()
+ * {
+ * // save the location of the start of the document
+ * // for future use.
+ * Locator startloc = new LocatorImpl(locator);
+ * }
+ *</pre>
+ *
+ * <p>Normally, parser writers will not use this class, since it
+ * is more efficient to provide location information only when
+ * requested, rather than constantly updating a Locator object.</p>
+ *
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.Locator Locator
+ */
+public class LocatorImpl implements Locator
+{
+
+
+ /**
+ * Zero-argument constructor.
+ *
+ * <p>This will not normally be useful, since the main purpose
+ * of this class is to make a snapshot of an existing Locator.</p>
+ */
+ public LocatorImpl ()
+ {
+ }
+
+
+ /**
+ * Copy constructor.
+ *
+ * <p>Create a persistent copy of the current state of a locator.
+ * When the original locator changes, this copy will still keep
+ * the original values (and it can be used outside the scope of
+ * DocumentHandler methods).</p>
+ *
+ * @param locator The locator to copy.
+ */
+ public LocatorImpl (Locator locator)
+ {
+ setPublicId(locator.getPublicId());
+ setSystemId(locator.getSystemId());
+ setLineNumber(locator.getLineNumber());
+ setColumnNumber(locator.getColumnNumber());
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.Locator
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Return the saved public identifier.
+ *
+ * @return The public identifier as a string, or null if none
+ * is available.
+ * @see org.xml.sax.Locator#getPublicId
+ * @see #setPublicId
+ */
+ public String getPublicId ()
+ {
+ return publicId;
+ }
+
+
+ /**
+ * Return the saved system identifier.
+ *
+ * @return The system identifier as a string, or null if none
+ * is available.
+ * @see org.xml.sax.Locator#getSystemId
+ * @see #setSystemId
+ */
+ public String getSystemId ()
+ {
+ return systemId;
+ }
+
+
+ /**
+ * Return the saved line number (1-based).
+ *
+ * @return The line number as an integer, or -1 if none is available.
+ * @see org.xml.sax.Locator#getLineNumber
+ * @see #setLineNumber
+ */
+ public int getLineNumber ()
+ {
+ return lineNumber;
+ }
+
+
+ /**
+ * Return the saved column number (1-based).
+ *
+ * @return The column number as an integer, or -1 if none is available.
+ * @see org.xml.sax.Locator#getColumnNumber
+ * @see #setColumnNumber
+ */
+ public int getColumnNumber ()
+ {
+ return columnNumber;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Setters for the properties (not in org.xml.sax.Locator)
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set the public identifier for this locator.
+ *
+ * @param publicId The new public identifier, or null
+ * if none is available.
+ * @see #getPublicId
+ */
+ public void setPublicId (String publicId)
+ {
+ this.publicId = publicId;
+ }
+
+
+ /**
+ * Set the system identifier for this locator.
+ *
+ * @param systemId The new system identifier, or null
+ * if none is available.
+ * @see #getSystemId
+ */
+ public void setSystemId (String systemId)
+ {
+ this.systemId = systemId;
+ }
+
+
+ /**
+ * Set the line number for this locator (1-based).
+ *
+ * @param lineNumber The line number, or -1 if none is available.
+ * @see #getLineNumber
+ */
+ public void setLineNumber (int lineNumber)
+ {
+ this.lineNumber = lineNumber;
+ }
+
+
+ /**
+ * Set the column number for this locator (1-based).
+ *
+ * @param columnNumber The column number, or -1 if none is available.
+ * @see #getColumnNumber
+ */
+ public void setColumnNumber (int columnNumber)
+ {
+ this.columnNumber = columnNumber;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ private String publicId;
+ private String systemId;
+ private int lineNumber;
+ private int columnNumber;
+
+}
+
+// end of LocatorImpl.java
diff --git a/libjava/org/xml/sax/helpers/NamespaceSupport.java b/libjava/org/xml/sax/helpers/NamespaceSupport.java
index a4588c3d2c7..917a7f75dce 100644
--- a/libjava/org/xml/sax/helpers/NamespaceSupport.java
+++ b/libjava/org/xml/sax/helpers/NamespaceSupport.java
@@ -1,689 +1,770 @@
-// NamespaceSupport.java - generic Namespace support for SAX.
-// Written by David Megginson, sax@megginson.com
-// This class is in the Public Domain. NO WARRANTY!
-
-// $Id: NamespaceSupport.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import java.util.EmptyStackException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-
-/**
- * Encapsulate Namespace logic for use by SAX drivers.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class encapsulates the logic of Namespace processing:
- * it tracks the declarations currently in force for each context
- * and automatically processes qualified XML 1.0 names into their
- * Namespace parts; it can also be used in reverse for generating
- * XML 1.0 from Namespaces.</p>
- *
- * <p>Namespace support objects are reusable, but the reset method
- * must be invoked between each session.</p>
- *
- * <p>Here is a simple session:</p>
- *
- * <pre>
- * String parts[] = new String[3];
- * NamespaceSupport support = new NamespaceSupport();
- *
- * support.pushContext();
- * support.declarePrefix("", "http://www.w3.org/1999/xhtml");
- * support.declarePrefix("dc", "http://www.purl.org/dc#");
- *
- * String parts[] = support.processName("p", parts, false);
- * System.out.println("Namespace URI: " + parts[0]);
- * System.out.println("Local name: " + parts[1]);
- * System.out.println("Raw name: " + parts[2]);
-
- * String parts[] = support.processName("dc:title", parts, false);
- * System.out.println("Namespace URI: " + parts[0]);
- * System.out.println("Local name: " + parts[1]);
- * System.out.println("Raw name: " + parts[2]);
-
- * support.popContext();
- * </pre>
- *
- * <p>Note that this class is optimized for the use case where most
- * elements do not contain Namespace declarations: if the same
- * prefix/URI mapping is repeated for each context (for example), this
- * class will be somewhat less efficient.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- */
-public class NamespaceSupport
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constants.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * The XML Namespace as a constant.
- *
- * <p>This is the Namespace URI that is automatically mapped
- * to the "xml" prefix.</p>
- */
- public final static String XMLNS =
- "http://www.w3.org/XML/1998/namespace";
-
-
- /**
- * An empty enumeration.
- */
- private final static Enumeration EMPTY_ENUMERATION =
- new Vector().elements();
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructor.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Create a new Namespace support object.
- */
- public NamespaceSupport ()
- {
- reset();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Context management.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Reset this Namespace support object for reuse.
- *
- * <p>It is necessary to invoke this method before reusing the
- * Namespace support object for a new session.</p>
- */
- public void reset ()
- {
- contexts = new Context[32];
- contextPos = 0;
- contexts[contextPos] = currentContext = new Context();
- currentContext.declarePrefix("xml", XMLNS);
- }
-
-
- /**
- * Start a new Namespace context.
- *
- * <p>Normally, you should push a new context at the beginning
- * of each XML element: the new context will automatically inherit
- * the declarations of its parent context, but it will also keep
- * track of which declarations were made within this context.</p>
- *
- * <p>The Namespace support object always starts with a base context
- * already in force: in this context, only the "xml" prefix is
- * declared.</p>
- *
- * @see #popContext
- */
- public void pushContext ()
- {
- int max = contexts.length;
- contextPos++;
-
- // Extend the array if necessary
- if (contextPos >= max) {
- Context newContexts[] = new Context[max*2];
- System.arraycopy(contexts, 0, newContexts, 0, max);
- max *= 2;
- contexts = newContexts;
- }
-
- // Allocate the context if necessary.
- currentContext = contexts[contextPos];
- if (currentContext == null) {
- contexts[contextPos] = currentContext = new Context();
- }
-
- // Set the parent, if any.
- if (contextPos > 0) {
- currentContext.setParent(contexts[contextPos - 1]);
- }
- }
-
-
- /**
- * Revert to the previous Namespace context.
- *
- * <p>Normally, you should pop the context at the end of each
- * XML element. After popping the context, all Namespace prefix
- * mappings that were previously in force are restored.</p>
- *
- * <p>You must not attempt to declare additional Namespace
- * prefixes after popping a context, unless you push another
- * context first.</p>
- *
- * @see #pushContext
- */
- public void popContext ()
- {
- contextPos--;
- if (contextPos < 0) {
- throw new EmptyStackException();
- }
- currentContext = contexts[contextPos];
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Operations within a context.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Declare a Namespace prefix.
- *
- * <p>This method declares a prefix in the current Namespace
- * context; the prefix will remain in force until this context
- * is popped, unless it is shadowed in a descendant context.</p>
- *
- * <p>To declare a default Namespace, use the empty string. The
- * prefix must not be "xml" or "xmlns".</p>
- *
- * <p>Note that you must <em>not</em> declare a prefix after
- * you've pushed and popped another Namespace.</p>
- *
- * <p>Note that there is an asymmetry in this library: while {@link
- * #getPrefix getPrefix} will not return the default "" prefix,
- * even if you have declared one; to check for a default prefix,
- * you have to look it up explicitly using {@link #getURI getURI}.
- * This asymmetry exists to make it easier to look up prefixes
- * for attribute names, where the default prefix is not allowed.</p>
- *
- * @param prefix The prefix to declare, or null for the empty
- * string.
- * @param uri The Namespace URI to associate with the prefix.
- * @return true if the prefix was legal, false otherwise
- * @see #processName
- * @see #getURI
- * @see #getPrefix
- */
- public boolean declarePrefix (String prefix, String uri)
- {
- if (prefix.equals("xml") || prefix.equals("xmlns")) {
- return false;
- } else {
- currentContext.declarePrefix(prefix, uri);
- return true;
- }
- }
-
-
- /**
- * Process a raw XML 1.0 name.
- *
- * <p>This method processes a raw XML 1.0 name in the current
- * context by removing the prefix and looking it up among the
- * prefixes currently declared. The return value will be the
- * array supplied by the caller, filled in as follows:</p>
- *
- * <dl>
- * <dt>parts[0]</dt>
- * <dd>The Namespace URI, or an empty string if none is
- * in use.</dd>
- * <dt>parts[1]</dt>
- * <dd>The local name (without prefix).</dd>
- * <dt>parts[2]</dt>
- * <dd>The original raw name.</dd>
- * </dl>
- *
- * <p>All of the strings in the array will be internalized. If
- * the raw name has a prefix that has not been declared, then
- * the return value will be null.</p>
- *
- * <p>Note that attribute names are processed differently than
- * element names: an unprefixed element name will received the
- * default Namespace (if any), while an unprefixed element name
- * will not.</p>
- *
- * @param qName The raw XML 1.0 name to be processed.
- * @param parts An array supplied by the caller, capable of
- * holding at least three members.
- * @param isAttribute A flag indicating whether this is an
- * attribute name (true) or an element name (false).
- * @return The supplied array holding three internalized strings
- * representing the Namespace URI (or empty string), the
- * local name, and the raw XML 1.0 name; or null if there
- * is an undeclared prefix.
- * @see #declarePrefix
- * @see java.lang.String#intern */
- public String [] processName (String qName, String parts[],
- boolean isAttribute)
- {
- String myParts[] = currentContext.processName(qName, isAttribute);
- if (myParts == null) {
- return null;
- } else {
- parts[0] = myParts[0];
- parts[1] = myParts[1];
- parts[2] = myParts[2];
- return parts;
- }
- }
-
-
- /**
- * Look up a prefix and get the currently-mapped Namespace URI.
- *
- * <p>This method looks up the prefix in the current context.
- * Use the empty string ("") for the default Namespace.</p>
- *
- * @param prefix The prefix to look up.
- * @return The associated Namespace URI, or null if the prefix
- * is undeclared in this context.
- * @see #getPrefix
- * @see #getPrefixes
- */
- public String getURI (String prefix)
- {
- return currentContext.getURI(prefix);
- }
-
-
- /**
- * Return an enumeration of all prefixes currently declared.
- *
- * <p><strong>Note:</strong> if there is a default prefix, it will not be
- * returned in this enumeration; check for the default prefix
- * using the {@link #getURI getURI} with an argument of "".</p>
- *
- * @return An enumeration of all prefixes declared in the
- * current context except for the empty (default)
- * prefix.
- * @see #getDeclaredPrefixes
- * @see #getURI
- */
- public Enumeration getPrefixes ()
- {
- return currentContext.getPrefixes();
- }
-
-
- /**
- * Return one of the prefixes mapped to a Namespace URI.
- *
- * <p>If more than one prefix is currently mapped to the same
- * URI, this method will make an arbitrary selection; if you
- * want all of the prefixes, use the {@link #getPrefixes}
- * method instead.</p>
- *
- * <p><strong>Note:</strong> this will never return the empty (default) prefix;
- * to check for a default prefix, use the {@link #getURI getURI}
- * method with an argument of "".</p>
- *
- * @param uri The Namespace URI.
- * @param isAttribute true if this prefix is for an attribute
- * (and the default Namespace is not allowed).
- * @return One of the prefixes currently mapped to the URI supplied,
- * or null if none is mapped or if the URI is assigned to
- * the default Namespace.
- * @see #getPrefixes(java.lang.String)
- * @see #getURI
- */
- public String getPrefix (String uri)
- {
- return currentContext.getPrefix(uri);
- }
-
-
- /**
- * Return an enumeration of all prefixes currently declared for a URI.
- *
- * <p>This method returns prefixes mapped to a specific Namespace
- * URI. The xml: prefix will be included. If you want only one
- * prefix that's mapped to the Namespace URI, and you don't care
- * which one you get, use the {@link #getPrefix getPrefix}
- * method instead.</p>
- *
- * <p><strong>Note:</strong> the empty (default) prefix is <em>never</em> included
- * in this enumeration; to check for the presence of a default
- * Namespace, use the {@link #getURI getURI} method with an
- * argument of "".</p>
- *
- * @param uri The Namespace URI.
- * @return An enumeration of all prefixes declared in the
- * current context.
- * @see #getPrefix
- * @see #getDeclaredPrefixes
- * @see #getURI
- */
- public Enumeration getPrefixes (String uri)
- {
- Vector prefixes = new Vector();
- Enumeration allPrefixes = getPrefixes();
- while (allPrefixes.hasMoreElements()) {
- String prefix = (String)allPrefixes.nextElement();
- if (uri.equals(getURI(prefix))) {
- prefixes.addElement(prefix);
- }
- }
- return prefixes.elements();
- }
-
-
- /**
- * Return an enumeration of all prefixes declared in this context.
- *
- * <p>The empty (default) prefix will be included in this
- * enumeration; note that this behaviour differs from that of
- * {@link #getPrefix} and {@link #getPrefixes}.</p>
- *
- * @return An enumeration of all prefixes declared in this
- * context.
- * @see #getPrefixes
- * @see #getURI
- */
- public Enumeration getDeclaredPrefixes ()
- {
- return currentContext.getDeclaredPrefixes();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private Context contexts[];
- private Context currentContext;
- private int contextPos;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal classes.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Internal class for a single Namespace context.
- *
- * <p>This module caches and reuses Namespace contexts, so the number allocated
- * will be equal to the element depth of the document, not to the total
- * number of elements (i.e. 5-10 rather than tens of thousands).</p>
- */
- final class Context {
-
- /**
- * Create the root-level Namespace context.
- */
- Context ()
- {
- copyTables();
- }
-
-
- /**
- * (Re)set the parent of this Namespace context.
- *
- * @param context The parent Namespace context object.
- */
- void setParent (Context parent)
- {
- this.parent = parent;
- declarations = null;
- prefixTable = parent.prefixTable;
- uriTable = parent.uriTable;
- elementNameTable = parent.elementNameTable;
- attributeNameTable = parent.attributeNameTable;
- defaultNS = parent.defaultNS;
- tablesDirty = false;
- }
-
-
- /**
- * Declare a Namespace prefix for this context.
- *
- * @param prefix The prefix to declare.
- * @param uri The associated Namespace URI.
- * @see org.xml.sax.helpers.NamespaceSupport#declarePrefix
- */
- void declarePrefix (String prefix, String uri)
- {
- // Lazy processing...
- if (!tablesDirty) {
- copyTables();
- }
- if (declarations == null) {
- declarations = new Vector();
- }
-
- prefix = prefix.intern();
- uri = uri.intern();
- if ("".equals(prefix)) {
- if ("".equals(uri)) {
- defaultNS = null;
- } else {
- defaultNS = uri;
- }
- } else {
- prefixTable.put(prefix, uri);
- uriTable.put(uri, prefix); // may wipe out another prefix
- }
- declarations.addElement(prefix);
- }
-
-
- /**
- * Process a raw XML 1.0 name in this context.
- *
- * @param qName The raw XML 1.0 name.
- * @param isAttribute true if this is an attribute name.
- * @return An array of three strings containing the
- * URI part (or empty string), the local part,
- * and the raw name, all internalized, or null
- * if there is an undeclared prefix.
- * @see org.xml.sax.helpers.NamespaceSupport#processName
- */
- String [] processName (String qName, boolean isAttribute)
- {
- String name[];
- Hashtable table;
-
- // Select the appropriate table.
- if (isAttribute) {
- table = elementNameTable;
- } else {
- table = attributeNameTable;
- }
-
- // Start by looking in the cache, and
- // return immediately if the name
- // is already known in this content
- name = (String[])table.get(qName);
- if (name != null) {
- return name;
- }
-
- // We haven't seen this name in this
- // context before.
- name = new String[3];
- int index = qName.indexOf(':');
-
-
- // No prefix.
- if (index == -1) {
- if (isAttribute || defaultNS == null) {
- name[0] = "";
- } else {
- name[0] = defaultNS;
- }
- name[1] = qName.intern();
- name[2] = name[1];
- }
-
- // Prefix
- else {
- String prefix = qName.substring(0, index);
- String local = qName.substring(index+1);
- String uri;
- if ("".equals(prefix)) {
- uri = defaultNS;
- } else {
- uri = (String)prefixTable.get(prefix);
- }
- if (uri == null) {
- return null;
- }
- name[0] = uri;
- name[1] = local.intern();
- name[2] = qName.intern();
- }
-
- // Save in the cache for future use.
- table.put(name[2], name);
- tablesDirty = true;
- return name;
- }
-
-
- /**
- * Look up the URI associated with a prefix in this context.
- *
- * @param prefix The prefix to look up.
- * @return The associated Namespace URI, or null if none is
- * declared.
- * @see org.xml.sax.helpers.NamespaceSupport#getURI
- */
- String getURI (String prefix)
- {
- if ("".equals(prefix)) {
- return defaultNS;
- } else if (prefixTable == null) {
- return null;
- } else {
- return (String)prefixTable.get(prefix);
- }
- }
-
-
- /**
- * Look up one of the prefixes associated with a URI in this context.
- *
- * <p>Since many prefixes may be mapped to the same URI,
- * the return value may be unreliable.</p>
- *
- * @param uri The URI to look up.
- * @return The associated prefix, or null if none is declared.
- * @see org.xml.sax.helpers.NamespaceSupport#getPrefix
- */
- String getPrefix (String uri)
- {
- if (uriTable == null) {
- return null;
- } else {
- return (String)uriTable.get(uri);
- }
- }
-
-
- /**
- * Return an enumeration of prefixes declared in this context.
- *
- * @return An enumeration of prefixes (possibly empty).
- * @see org.xml.sax.helpers.NamespaceSupport#getDeclaredPrefixes
- */
- Enumeration getDeclaredPrefixes ()
- {
- if (declarations == null) {
- return EMPTY_ENUMERATION;
- } else {
- return declarations.elements();
- }
- }
-
-
- /**
- * Return an enumeration of all prefixes currently in force.
- *
- * <p>The default prefix, if in force, is <em>not</em>
- * returned, and will have to be checked for separately.</p>
- *
- * @return An enumeration of prefixes (never empty).
- * @see org.xml.sax.helpers.NamespaceSupport#getPrefixes
- */
- Enumeration getPrefixes ()
- {
- if (prefixTable == null) {
- return EMPTY_ENUMERATION;
- } else {
- return prefixTable.keys();
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////
- // Internal methods.
- ////////////////////////////////////////////////////////////////
-
-
- /**
- * Copy on write for the internal tables in this context.
- *
- * <p>This class is optimized for the normal case where most
- * elements do not contain Namespace declarations.</p>
- */
- private void copyTables ()
- {
- if (prefixTable != null) {
- prefixTable = (Hashtable)prefixTable.clone();
- } else {
- prefixTable = new Hashtable();
- }
- if (uriTable != null) {
- uriTable = (Hashtable)uriTable.clone();
- } else {
- uriTable = new Hashtable();
- }
- elementNameTable = new Hashtable();
- attributeNameTable = new Hashtable();
- tablesDirty = true;
- }
-
-
-
- ////////////////////////////////////////////////////////////////
- // Protected state.
- ////////////////////////////////////////////////////////////////
-
- Hashtable prefixTable;
- Hashtable uriTable;
- Hashtable elementNameTable;
- Hashtable attributeNameTable;
- String defaultNS = null;
-
-
-
- ////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////
-
- private Vector declarations = null;
- private boolean tablesDirty = false;
- private Context parent = null;
- }
-}
-
-// end of NamespaceSupport.java
+// NamespaceSupport.java - generic Namespace support for SAX.
+// http://www.saxproject.org
+// Written by David Megginson
+// This class is in the Public Domain. NO WARRANTY!
+
+// $Id: NamespaceSupport.java,v 1.6.2.5 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.util.EmptyStackException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+
+
+/**
+ * Encapsulate Namespace logic for use by applications using SAX,
+ * or internally by SAX drivers.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class encapsulates the logic of Namespace processing:
+ * it tracks the declarations currently in force for each context
+ * and automatically processes qualified XML 1.0 names into their
+ * Namespace parts; it can also be used in reverse for generating
+ * XML 1.0 from Namespaces.</p>
+ *
+ * <p>Namespace support objects are reusable, but the reset method
+ * must be invoked between each session.</p>
+ *
+ * <p>Here is a simple session:</p>
+ *
+ * <pre>
+ * String parts[] = new String[3];
+ * NamespaceSupport support = new NamespaceSupport();
+ *
+ * support.pushContext();
+ * support.declarePrefix("", "http://www.w3.org/1999/xhtml");
+ * support.declarePrefix("dc", "http://www.purl.org/dc#");
+ *
+ * parts = support.processName("p", parts, false);
+ * System.out.println("Namespace URI: " + parts[0]);
+ * System.out.println("Local name: " + parts[1]);
+ * System.out.println("Raw name: " + parts[2]);
+ *
+ * parts = support.processName("dc:title", parts, false);
+ * System.out.println("Namespace URI: " + parts[0]);
+ * System.out.println("Local name: " + parts[1]);
+ * System.out.println("Raw name: " + parts[2]);
+ *
+ * support.popContext();
+ * </pre>
+ *
+ * <p>Note that this class is optimized for the use case where most
+ * elements do not contain Namespace declarations: if the same
+ * prefix/URI mapping is repeated for each context (for example), this
+ * class will be somewhat less efficient.</p>
+ *
+ * <p>Although SAX drivers (parsers) may choose to use this class to
+ * implement namespace handling, they are not required to do so.
+ * Applications must track namespace information themselves if they
+ * want to use namespace information.
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ */
+public class NamespaceSupport
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Constants.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * The XML Namespace URI as a constant.
+ * The value is <code>http://www.w3.org/XML/1998/namespace</code>
+ * as defined in the XML Namespaces specification.
+ *
+ * <p>This is the Namespace URI that is automatically mapped
+ * to the "xml" prefix.</p>
+ */
+ public final static String XMLNS =
+ "http://www.w3.org/XML/1998/namespace";
+
+
+ /**
+ * An empty enumeration.
+ */
+ private final static Enumeration EMPTY_ENUMERATION =
+ new Vector().elements();
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Constructor.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Create a new Namespace support object.
+ */
+ public NamespaceSupport ()
+ {
+ reset();
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Context management.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Reset this Namespace support object for reuse.
+ *
+ * <p>It is necessary to invoke this method before reusing the
+ * Namespace support object for a new session.</p>
+ */
+ public void reset ()
+ {
+ contexts = new Context[32];
+ contextPos = 0;
+ contexts[contextPos] = currentContext = new Context();
+ currentContext.declarePrefix("xml", XMLNS);
+ }
+
+
+ /**
+ * Start a new Namespace context.
+ * The new context will automatically inherit
+ * the declarations of its parent context, but it will also keep
+ * track of which declarations were made within this context.
+ *
+ * <p>Event callback code should start a new context once per element.
+ * This means being ready to call this in either of two places.
+ * For elements that don't include namespace declarations, the
+ * <em>ContentHandler.startElement()</em> callback is the right place.
+ * For elements with such a declaration, it'd done in the first
+ * <em>ContentHandler.startPrefixMapping()</em> callback.
+ * A boolean flag can be used to
+ * track whether a context has been started yet. When either of
+ * those methods is called, it checks the flag to see if a new context
+ * needs to be started. If so, it starts the context and sets the
+ * flag. After <em>ContentHandler.startElement()</em>
+ * does that, it always clears the flag.
+ *
+ * <p>Normally, SAX drivers would push a new context at the beginning
+ * of each XML element. Then they perform a first pass over the
+ * attributes to process all namespace declarations, making
+ * <em>ContentHandler.startPrefixMapping()</em> callbacks.
+ * Then a second pass is made, to determine the namespace-qualified
+ * names for all attributes and for the element name.
+ * Finally all the information for the
+ * <em>ContentHandler.startElement()</em> callback is available,
+ * so it can then be made.
+ *
+ * <p>The Namespace support object always starts with a base context
+ * already in force: in this context, only the "xml" prefix is
+ * declared.</p>
+ *
+ * @see org.xml.sax.ContentHandler
+ * @see #popContext
+ */
+ public void pushContext ()
+ {
+ int max = contexts.length;
+
+ contexts [contextPos].declsOK = false;
+ contextPos++;
+
+ // Extend the array if necessary
+ if (contextPos >= max) {
+ Context newContexts[] = new Context[max*2];
+ System.arraycopy(contexts, 0, newContexts, 0, max);
+ max *= 2;
+ contexts = newContexts;
+ }
+
+ // Allocate the context if necessary.
+ currentContext = contexts[contextPos];
+ if (currentContext == null) {
+ contexts[contextPos] = currentContext = new Context();
+ }
+
+ // Set the parent, if any.
+ if (contextPos > 0) {
+ currentContext.setParent(contexts[contextPos - 1]);
+ }
+ }
+
+
+ /**
+ * Revert to the previous Namespace context.
+ *
+ * <p>Normally, you should pop the context at the end of each
+ * XML element. After popping the context, all Namespace prefix
+ * mappings that were previously in force are restored.</p>
+ *
+ * <p>You must not attempt to declare additional Namespace
+ * prefixes after popping a context, unless you push another
+ * context first.</p>
+ *
+ * @see #pushContext
+ */
+ public void popContext ()
+ {
+ contexts[contextPos].clear();
+ contextPos--;
+ if (contextPos < 0) {
+ throw new EmptyStackException();
+ }
+ currentContext = contexts[contextPos];
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Operations within a context.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Declare a Namespace prefix. All prefixes must be declared
+ * before they are referenced. For example, a SAX driver (parser)
+ * would scan an element's attributes
+ * in two passes: first for namespace declarations,
+ * then a second pass using {@link #processName processName()} to
+ * interpret prefixes against (potentially redefined) prefixes.
+ *
+ * <p>This method declares a prefix in the current Namespace
+ * context; the prefix will remain in force until this context
+ * is popped, unless it is shadowed in a descendant context.</p>
+ *
+ * <p>To declare the default element Namespace, use the empty string as
+ * the prefix.</p>
+ *
+ * <p>Note that you must <em>not</em> declare a prefix after
+ * you've pushed and popped another Namespace context, or
+ * treated the declarations phase as complete by processing
+ * a prefixed name.</p>
+ *
+ * <p>Note that there is an asymmetry in this library: {@link
+ * #getPrefix getPrefix} will not return the "" prefix,
+ * even if you have declared a default element namespace.
+ * To check for a default namespace,
+ * you have to look it up explicitly using {@link #getURI getURI}.
+ * This asymmetry exists to make it easier to look up prefixes
+ * for attribute names, where the default prefix is not allowed.</p>
+ *
+ * @param prefix The prefix to declare, or the empty string to
+ * indicate the default element namespace. This may never have
+ * the value "xml" or "xmlns".
+ * @param uri The Namespace URI to associate with the prefix.
+ * @return true if the prefix was legal, false otherwise
+ * @exception IllegalStateException when a prefix is declared
+ * after looking up a name in the context, or after pushing
+ * another context on top of it.
+ *
+ * @see #processName
+ * @see #getURI
+ * @see #getPrefix
+ */
+ public boolean declarePrefix (String prefix, String uri)
+ {
+ if (prefix.equals("xml") || prefix.equals("xmlns")) {
+ return false;
+ } else {
+ currentContext.declarePrefix(prefix, uri);
+ return true;
+ }
+ }
+
+
+ /**
+ * Process a raw XML 1.0 name, after all declarations in the current
+ * context have been handled by {@link #declarePrefix declarePrefix()}.
+ *
+ * <p>This method processes a raw XML 1.0 name in the current
+ * context by removing the prefix and looking it up among the
+ * prefixes currently declared. The return value will be the
+ * array supplied by the caller, filled in as follows:</p>
+ *
+ * <dl>
+ * <dt>parts[0]</dt>
+ * <dd>The Namespace URI, or an empty string if none is
+ * in use.</dd>
+ * <dt>parts[1]</dt>
+ * <dd>The local name (without prefix).</dd>
+ * <dt>parts[2]</dt>
+ * <dd>The original raw name.</dd>
+ * </dl>
+ *
+ * <p>All of the strings in the array will be internalized. If
+ * the raw name has a prefix that has not been declared, then
+ * the return value will be null.</p>
+ *
+ * <p>Note that attribute names are processed differently than
+ * element names: an unprefixed element name will received the
+ * default Namespace (if any), while an unprefixed attribute name
+ * will not.</p>
+ *
+ * @param qName The raw XML 1.0 name to be processed.
+ * @param parts An array supplied by the caller, capable of
+ * holding at least three members.
+ * @param isAttribute A flag indicating whether this is an
+ * attribute name (true) or an element name (false).
+ * @return The supplied array holding three internalized strings
+ * representing the Namespace URI (or empty string), the
+ * local name, and the raw XML 1.0 name; or null if there
+ * is an undeclared prefix.
+ * @see #declarePrefix
+ * @see java.lang.String#intern */
+ public String [] processName (String qName, String parts[],
+ boolean isAttribute)
+ {
+ String myParts[] = currentContext.processName(qName, isAttribute);
+ if (myParts == null) {
+ return null;
+ } else {
+ parts[0] = myParts[0];
+ parts[1] = myParts[1];
+ parts[2] = myParts[2];
+ return parts;
+ }
+ }
+
+
+ /**
+ * Look up a prefix and get the currently-mapped Namespace URI.
+ *
+ * <p>This method looks up the prefix in the current context.
+ * Use the empty string ("") for the default Namespace.</p>
+ *
+ * @param prefix The prefix to look up.
+ * @return The associated Namespace URI, or null if the prefix
+ * is undeclared in this context.
+ * @see #getPrefix
+ * @see #getPrefixes
+ */
+ public String getURI (String prefix)
+ {
+ return currentContext.getURI(prefix);
+ }
+
+
+ /**
+ * Return an enumeration of all prefixes currently declared.
+ *
+ * <p><strong>Note:</strong> if there is a default prefix, it will not be
+ * returned in this enumeration; check for the default prefix
+ * using the {@link #getURI getURI} with an argument of "".</p>
+ *
+ * @return An enumeration of all prefixes declared in the
+ * current context except for the empty (default)
+ * prefix.
+ * @see #getDeclaredPrefixes
+ * @see #getURI
+ */
+ public Enumeration getPrefixes ()
+ {
+ return currentContext.getPrefixes();
+ }
+
+
+ /**
+ * Return one of the prefixes mapped to a Namespace URI.
+ *
+ * <p>If more than one prefix is currently mapped to the same
+ * URI, this method will make an arbitrary selection; if you
+ * want all of the prefixes, use the {@link #getPrefixes}
+ * method instead.</p>
+ *
+ * <p><strong>Note:</strong> this will never return the empty (default) prefix;
+ * to check for a default prefix, use the {@link #getURI getURI}
+ * method with an argument of "".</p>
+ *
+ * @param uri The Namespace URI.
+ * @param isAttribute true if this prefix is for an attribute
+ * (and the default Namespace is not allowed).
+ * @return One of the prefixes currently mapped to the URI supplied,
+ * or null if none is mapped or if the URI is assigned to
+ * the default Namespace.
+ * @see #getPrefixes(java.lang.String)
+ * @see #getURI
+ */
+ public String getPrefix (String uri)
+ {
+ return currentContext.getPrefix(uri);
+ }
+
+
+ /**
+ * Return an enumeration of all prefixes currently declared for a URI.
+ *
+ * <p>This method returns prefixes mapped to a specific Namespace
+ * URI. The xml: prefix will be included. If you want only one
+ * prefix that's mapped to the Namespace URI, and you don't care
+ * which one you get, use the {@link #getPrefix getPrefix}
+ * method instead.</p>
+ *
+ * <p><strong>Note:</strong> the empty (default) prefix is <em>never</em> included
+ * in this enumeration; to check for the presence of a default
+ * Namespace, use the {@link #getURI getURI} method with an
+ * argument of "".</p>
+ *
+ * @param uri The Namespace URI.
+ * @return An enumeration of all prefixes declared in the
+ * current context.
+ * @see #getPrefix
+ * @see #getDeclaredPrefixes
+ * @see #getURI
+ */
+ public Enumeration getPrefixes (String uri)
+ {
+ Vector prefixes = new Vector();
+ Enumeration allPrefixes = getPrefixes();
+ while (allPrefixes.hasMoreElements()) {
+ String prefix = (String)allPrefixes.nextElement();
+ if (uri.equals(getURI(prefix))) {
+ prefixes.addElement(prefix);
+ }
+ }
+ return prefixes.elements();
+ }
+
+
+ /**
+ * Return an enumeration of all prefixes declared in this context.
+ *
+ * <p>The empty (default) prefix will be included in this
+ * enumeration; note that this behaviour differs from that of
+ * {@link #getPrefix} and {@link #getPrefixes}.</p>
+ *
+ * @return An enumeration of all prefixes declared in this
+ * context.
+ * @see #getPrefixes
+ * @see #getURI
+ */
+ public Enumeration getDeclaredPrefixes ()
+ {
+ return currentContext.getDeclaredPrefixes();
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ private Context contexts[];
+ private Context currentContext;
+ private int contextPos;
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal classes.
+ ////////////////////////////////////////////////////////////////////
+
+ /**
+ * Internal class for a single Namespace context.
+ *
+ * <p>This module caches and reuses Namespace contexts,
+ * so the number allocated
+ * will be equal to the element depth of the document, not to the total
+ * number of elements (i.e. 5-10 rather than tens of thousands).
+ * Also, data structures used to represent contexts are shared when
+ * possible (child contexts without declarations) to further reduce
+ * the amount of memory that's consumed.
+ * </p>
+ */
+ final class Context {
+
+ /**
+ * Create the root-level Namespace context.
+ */
+ Context ()
+ {
+ copyTables();
+ }
+
+
+ /**
+ * (Re)set the parent of this Namespace context.
+ * The context must either have been freshly constructed,
+ * or must have been cleared.
+ *
+ * @param context The parent Namespace context object.
+ */
+ void setParent (Context parent)
+ {
+ this.parent = parent;
+ declarations = null;
+ prefixTable = parent.prefixTable;
+ uriTable = parent.uriTable;
+ elementNameTable = parent.elementNameTable;
+ attributeNameTable = parent.attributeNameTable;
+ defaultNS = parent.defaultNS;
+ declSeen = false;
+ declsOK = true;
+ }
+
+ /**
+ * Makes associated state become collectible,
+ * invalidating this context.
+ * {@link #setParent} must be called before
+ * this context may be used again.
+ */
+ void clear ()
+ {
+ parent = null;
+ prefixTable = null;
+ uriTable = null;
+ elementNameTable = null;
+ attributeNameTable = null;
+ defaultNS = null;
+ }
+
+
+ /**
+ * Declare a Namespace prefix for this context.
+ *
+ * @param prefix The prefix to declare.
+ * @param uri The associated Namespace URI.
+ * @see org.xml.sax.helpers.NamespaceSupport#declarePrefix
+ */
+ void declarePrefix (String prefix, String uri)
+ {
+ // Lazy processing...
+ if (!declsOK)
+ throw new IllegalStateException (
+ "can't declare any more prefixes in this context");
+ if (!declSeen) {
+ copyTables();
+ }
+ if (declarations == null) {
+ declarations = new Vector();
+ }
+
+ prefix = prefix.intern();
+ uri = uri.intern();
+ if ("".equals(prefix)) {
+ if ("".equals(uri)) {
+ defaultNS = null;
+ } else {
+ defaultNS = uri;
+ }
+ } else {
+ prefixTable.put(prefix, uri);
+ uriTable.put(uri, prefix); // may wipe out another prefix
+ }
+ declarations.addElement(prefix);
+ }
+
+
+ /**
+ * Process a raw XML 1.0 name in this context.
+ *
+ * @param qName The raw XML 1.0 name.
+ * @param isAttribute true if this is an attribute name.
+ * @return An array of three strings containing the
+ * URI part (or empty string), the local part,
+ * and the raw name, all internalized, or null
+ * if there is an undeclared prefix.
+ * @see org.xml.sax.helpers.NamespaceSupport#processName
+ */
+ String [] processName (String qName, boolean isAttribute)
+ {
+ String name[];
+ Hashtable table;
+
+ // detect errors in call sequence
+ declsOK = false;
+
+ // Select the appropriate table.
+ if (isAttribute) {
+ table = attributeNameTable;
+ } else {
+ table = elementNameTable;
+ }
+
+ // Start by looking in the cache, and
+ // return immediately if the name
+ // is already known in this content
+ name = (String[])table.get(qName);
+ if (name != null) {
+ return name;
+ }
+
+ // We haven't seen this name in this
+ // context before. Maybe in the parent
+ // context, but we can't assume prefix
+ // bindings are the same.
+ name = new String[3];
+ name[2] = qName.intern();
+ int index = qName.indexOf(':');
+
+
+ // No prefix.
+ if (index == -1) {
+ if (isAttribute || defaultNS == null) {
+ name[0] = "";
+ } else {
+ name[0] = defaultNS;
+ }
+ name[1] = name[2];
+ }
+
+ // Prefix
+ else {
+ String prefix = qName.substring(0, index);
+ String local = qName.substring(index+1);
+ String uri;
+ if ("".equals(prefix)) {
+ uri = defaultNS;
+ } else {
+ uri = (String)prefixTable.get(prefix);
+ }
+ if (uri == null) {
+ return null;
+ }
+ name[0] = uri;
+ name[1] = local.intern();
+ }
+
+ // Save in the cache for future use.
+ // (Could be shared with parent context...)
+ table.put(name[2], name);
+ return name;
+ }
+
+
+ /**
+ * Look up the URI associated with a prefix in this context.
+ *
+ * @param prefix The prefix to look up.
+ * @return The associated Namespace URI, or null if none is
+ * declared.
+ * @see org.xml.sax.helpers.NamespaceSupport#getURI
+ */
+ String getURI (String prefix)
+ {
+ if ("".equals(prefix)) {
+ return defaultNS;
+ } else if (prefixTable == null) {
+ return null;
+ } else {
+ return (String)prefixTable.get(prefix);
+ }
+ }
+
+
+ /**
+ * Look up one of the prefixes associated with a URI in this context.
+ *
+ * <p>Since many prefixes may be mapped to the same URI,
+ * the return value may be unreliable.</p>
+ *
+ * @param uri The URI to look up.
+ * @return The associated prefix, or null if none is declared.
+ * @see org.xml.sax.helpers.NamespaceSupport#getPrefix
+ */
+ String getPrefix (String uri)
+ {
+ if (uriTable == null) {
+ return null;
+ } else {
+ return (String)uriTable.get(uri);
+ }
+ }
+
+
+ /**
+ * Return an enumeration of prefixes declared in this context.
+ *
+ * @return An enumeration of prefixes (possibly empty).
+ * @see org.xml.sax.helpers.NamespaceSupport#getDeclaredPrefixes
+ */
+ Enumeration getDeclaredPrefixes ()
+ {
+ if (declarations == null) {
+ return EMPTY_ENUMERATION;
+ } else {
+ return declarations.elements();
+ }
+ }
+
+
+ /**
+ * Return an enumeration of all prefixes currently in force.
+ *
+ * <p>The default prefix, if in force, is <em>not</em>
+ * returned, and will have to be checked for separately.</p>
+ *
+ * @return An enumeration of prefixes (never empty).
+ * @see org.xml.sax.helpers.NamespaceSupport#getPrefixes
+ */
+ Enumeration getPrefixes ()
+ {
+ if (prefixTable == null) {
+ return EMPTY_ENUMERATION;
+ } else {
+ return prefixTable.keys();
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////
+ // Internal methods.
+ ////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Copy on write for the internal tables in this context.
+ *
+ * <p>This class is optimized for the normal case where most
+ * elements do not contain Namespace declarations.</p>
+ */
+ private void copyTables ()
+ {
+ if (prefixTable != null) {
+ prefixTable = (Hashtable)prefixTable.clone();
+ } else {
+ prefixTable = new Hashtable();
+ }
+ if (uriTable != null) {
+ uriTable = (Hashtable)uriTable.clone();
+ } else {
+ uriTable = new Hashtable();
+ }
+ elementNameTable = new Hashtable();
+ attributeNameTable = new Hashtable();
+ declSeen = true;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////
+ // Protected state.
+ ////////////////////////////////////////////////////////////////
+
+ Hashtable prefixTable;
+ Hashtable uriTable;
+ Hashtable elementNameTable;
+ Hashtable attributeNameTable;
+ String defaultNS = null;
+ boolean declsOK = true;
+
+
+
+ ////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////
+
+ private Vector declarations = null;
+ private boolean declSeen = false;
+ private Context parent = null;
+ }
+}
+
+// end of NamespaceSupport.java
diff --git a/libjava/org/xml/sax/helpers/NewInstance.java b/libjava/org/xml/sax/helpers/NewInstance.java
new file mode 100644
index 00000000000..7d107a65239
--- /dev/null
+++ b/libjava/org/xml/sax/helpers/NewInstance.java
@@ -0,0 +1,80 @@
+// NewInstance.java - create a new instance of a class by name.
+// http://www.saxproject.org
+// Written by Edwin Goei, edwingo@apache.org
+// and by David Brownell, dbrownell@users.sourceforge.net
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: NewInstance.java,v 1.1.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * Create a new instance of a class by name.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class contains a static method for creating an instance of a
+ * class from an explicit class name. It tries to use the thread's context
+ * ClassLoader if possible and falls back to using
+ * Class.forName(String).</p>
+ *
+ * <p>This code is designed to compile and run on JDK version 1.1 and later
+ * including versions of Java 2.</p>
+ *
+ * @author Edwin Goei, David Brownell
+ * @version 2.0.1 (sax2r2)
+ */
+class NewInstance {
+
+ /**
+ * Creates a new instance of the specified class name
+ *
+ * Package private so this code is not exposed at the API level.
+ */
+ static Object newInstance (ClassLoader classLoader, String className)
+ throws ClassNotFoundException, IllegalAccessException,
+ InstantiationException
+ {
+ Class driverClass;
+ if (classLoader == null) {
+ driverClass = Class.forName(className);
+ } else {
+ driverClass = classLoader.loadClass(className);
+ }
+ return driverClass.newInstance();
+ }
+
+ /**
+ * Figure out which ClassLoader to use. For JDK 1.2 and later use
+ * the context ClassLoader.
+ */
+ static ClassLoader getClassLoader ()
+ {
+ Method m = null;
+
+ try {
+ m = Thread.class.getMethod("getContextClassLoader", null);
+ } catch (NoSuchMethodException e) {
+ // Assume that we are running JDK 1.1, use the current ClassLoader
+ return NewInstance.class.getClassLoader();
+ }
+
+ try {
+ return (ClassLoader) m.invoke(Thread.currentThread(), null);
+ } catch (IllegalAccessException e) {
+ // assert(false)
+ throw new UnknownError(e.getMessage());
+ } catch (InvocationTargetException e) {
+ // assert(e.getTargetException() instanceof SecurityException)
+ throw new UnknownError(e.getMessage());
+ }
+ }
+}
diff --git a/libjava/org/xml/sax/helpers/ParserAdapter.java b/libjava/org/xml/sax/helpers/ParserAdapter.java
index 06071b7bdd5..ca66a9e2dc7 100644
--- a/libjava/org/xml/sax/helpers/ParserAdapter.java
+++ b/libjava/org/xml/sax/helpers/ParserAdapter.java
@@ -1,1008 +1,1026 @@
-// ParserAdapter.java - adapt a SAX1 Parser to a SAX2 XMLReader.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the public domain.
-
-// $Id: ParserAdapter.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import java.io.IOException;
-import java.util.Enumeration;
-
-import org.xml.sax.Parser; // deprecated
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.AttributeList; // deprecated
-import org.xml.sax.EntityResolver;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.DocumentHandler; // deprecated
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-
-/**
- * Adapt a SAX1 Parser as a SAX2 XMLReader.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class wraps a SAX1 {@link org.xml.sax.Parser Parser}
- * and makes it act as a SAX2 {@link org.xml.sax.XMLReader XMLReader},
- * with feature, property, and Namespace support. Note
- * that it is not possible to report {@link org.xml.sax.ContentHandler#skippedEntity
- * skippedEntity} events, since SAX1 does not make that information available.</p>
- *
- * <p>This adapter does not test for duplicate Namespace-qualified
- * attribute names.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.helpers.XMLReaderAdapter
- * @see org.xml.sax.XMLReader
- * @see org.xml.sax.Parser
- */
-public class ParserAdapter implements XMLReader, DocumentHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructors.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Construct a new parser adapter.
- *
- * <p>Use the "org.xml.sax.parser" property to locate the
- * embedded SAX1 driver.</p>
- *
- * @exception org.xml.sax.SAXException If the embedded driver
- * cannot be instantiated or if the
- * org.xml.sax.parser property is not specified.
- */
- public ParserAdapter ()
- throws SAXException
- {
- super();
-
- String driver = System.getProperty("org.xml.sax.parser");
-
- try {
- setup(ParserFactory.makeParser());
- } catch (ClassNotFoundException e1) {
- throw new
- SAXException("Cannot find SAX1 driver class " +
- driver, e1);
- } catch (IllegalAccessException e2) {
- throw new
- SAXException("SAX1 driver class " +
- driver +
- " found but cannot be loaded", e2);
- } catch (InstantiationException e3) {
- throw new
- SAXException("SAX1 driver class " +
- driver +
- " loaded but cannot be instantiated", e3);
- } catch (ClassCastException e4) {
- throw new
- SAXException("SAX1 driver class " +
- driver +
- " does not implement org.xml.sax.Parser");
- } catch (NullPointerException e5) {
- throw new
- SAXException("System property org.xml.sax.parser not specified");
- }
- }
-
-
- /**
- * Construct a new parser adapter.
- *
- * <p>Note that the embedded parser cannot be changed once the
- * adapter is created; to embed a different parser, allocate
- * a new ParserAdapter.</p>
- *
- * @param parser The SAX1 parser to embed.
- * @exception java.lang.NullPointerException If the parser parameter
- * is null.
- */
- public ParserAdapter (Parser parser)
- {
- super();
- setup(parser);
- }
-
-
- /**
- * Internal setup method.
- *
- * @param parser The embedded parser.
- * @exception java.lang.NullPointerException If the parser parameter
- * is null.
- */
- private void setup (Parser parser)
- {
- if (parser == null) {
- throw new
- NullPointerException("Parser argument must not be null");
- }
- this.parser = parser;
- atts = new AttributesImpl();
- nsSupport = new NamespaceSupport();
- attAdapter = new AttributeListAdapter();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.XMLReader.
- ////////////////////////////////////////////////////////////////////
-
-
- //
- // Internal constants for the sake of convenience.
- //
- private final static String FEATURES = "http://xml.org/sax/features/";
- private final static String NAMESPACES = FEATURES + "namespaces";
- private final static String NAMESPACE_PREFIXES = FEATURES + "namespace-prefixes";
- private final static String VALIDATION = FEATURES + "validation";
- private final static String EXTERNAL_GENERAL =
- FEATURES + "external-general-entities";
- private final static String EXTERNAL_PARAMETER =
- FEATURES + "external-parameter-entities";
-
-
- /**
- * Set a feature for the parser.
- *
- * <p>The only features supported are namespaces and
- * namespace-prefixes.</p>
- *
- * @param name The feature name, as a complete URI.
- * @param state The requested feature state.
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * name is not known.
- * @exception org.xml.sax.SAXNotSupportedException If the feature
- * state is not supported.
- * @see org.xml.sax.XMLReader#setFeature
- */
- public void setFeature (String name, boolean state)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (name.equals(NAMESPACES)) {
- checkNotParsing("feature", name);
- namespaces = state;
- if (!namespaces && !prefixes) {
- prefixes = true;
- }
- } else if (name.equals(NAMESPACE_PREFIXES)) {
- checkNotParsing("feature", name);
- prefixes = state;
- if (!prefixes && !namespaces) {
- namespaces = true;
- }
- } else if (name.equals(VALIDATION) ||
- name.equals(EXTERNAL_GENERAL) ||
- name.equals(EXTERNAL_PARAMETER)) {
- throw new SAXNotSupportedException("Feature: " + name);
- } else {
- throw new SAXNotRecognizedException("Feature: " + name);
- }
- }
-
-
- /**
- * Check a parser feature.
- *
- * <p>The only features supported are namespaces and
- * namespace-prefixes.</p>
- *
- * @param name The feature name, as a complete URI.
- * @return The current feature state.
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * name is not known.
- * @exception org.xml.sax.SAXNotSupportedException If querying the
- * feature state is not supported.
- * @see org.xml.sax.XMLReader#setFeature
- */
- public boolean getFeature (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (name.equals(NAMESPACES)) {
- return namespaces;
- } else if (name.equals(NAMESPACE_PREFIXES)) {
- return prefixes;
- } else if (name.equals(VALIDATION) ||
- name.equals(EXTERNAL_GENERAL) ||
- name.equals(EXTERNAL_PARAMETER)) {
- throw new SAXNotSupportedException("Feature: " + name);
- } else {
- throw new SAXNotRecognizedException("Feature: " + name);
- }
- }
-
-
- /**
- * Set a parser property.
- *
- * <p>No special properties are currently supported.</p>
- *
- * @param name The property name.
- * @param value The property value.
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * name is not known.
- * @exception org.xml.sax.SAXNotSupportedException If the feature
- * state is not supported.
- * @see org.xml.sax.XMLReader#setProperty
- */
- public void setProperty (String name, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- throw new SAXNotRecognizedException("Property: " + name);
- }
-
-
- /**
- * Get a parser property.
- *
- * <p>No special properties are currently supported.</p>
- *
- * @param name The property name.
- * @return The property value.
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * name is not known.
- * @exception org.xml.sax.SAXNotSupportedException If the feature
- * state is not supported.
- * @see org.xml.sax.XMLReader#getProperty
- */
- public Object getProperty (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- throw new SAXNotRecognizedException("Property: " + name);
- }
-
-
- /**
- * Set the entity resolver.
- *
- * @param resolver The new entity resolver.
- * @exception java.lang.NullPointerException If the entity resolver
- * parameter is null.
- * @see org.xml.sax.XMLReader#setEntityResolver
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- if (resolver == null) {
- throw new NullPointerException("Null entity resolver");
- }
- entityResolver = resolver;
- }
-
-
- /**
- * Return the current entity resolver.
- *
- * @return The current entity resolver, or null if none was supplied.
- * @see org.xml.sax.XMLReader#getEntityResolver
- */
- public EntityResolver getEntityResolver ()
- {
- return entityResolver;
- }
-
-
- /**
- * Set the DTD handler.
- *
- * @param resolver The new DTD handler.
- * @exception java.lang.NullPointerException If the DTD handler
- * parameter is null.
- * @see org.xml.sax.XMLReader#setEntityResolver
- */
- public void setDTDHandler (DTDHandler handler)
- {
- if (handler == null) {
- throw new NullPointerException("Null DTD handler");
- }
- dtdHandler = handler;
- }
-
-
- /**
- * Return the current DTD handler.
- *
- * @return The current DTD handler, or null if none was supplied.
- * @see org.xml.sax.XMLReader#getEntityResolver
- */
- public DTDHandler getDTDHandler ()
- {
- return dtdHandler;
- }
-
-
- /**
- * Set the content handler.
- *
- * @param resolver The new content handler.
- * @exception java.lang.NullPointerException If the content handler
- * parameter is null.
- * @see org.xml.sax.XMLReader#setEntityResolver
- */
- public void setContentHandler (ContentHandler handler)
- {
- if (handler == null) {
- throw new NullPointerException("Null content handler");
- }
- contentHandler = handler;
- }
-
-
- /**
- * Return the current content handler.
- *
- * @return The current content handler, or null if none was supplied.
- * @see org.xml.sax.XMLReader#getEntityResolver
- */
- public ContentHandler getContentHandler ()
- {
- return contentHandler;
- }
-
-
- /**
- * Set the error handler.
- *
- * @param resolver The new error handler.
- * @exception java.lang.NullPointerException If the error handler
- * parameter is null.
- * @see org.xml.sax.XMLReader#setEntityResolver
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- if (handler == null) {
- throw new NullPointerException("Null error handler");
- }
- errorHandler = handler;
- }
-
-
- /**
- * Return the current error handler.
- *
- * @return The current error handler, or null if none was supplied.
- * @see org.xml.sax.XMLReader#getEntityResolver
- */
- public ErrorHandler getErrorHandler ()
- {
- return errorHandler;
- }
-
-
- /**
- * Parse an XML document.
- *
- * @param systemId The absolute URL of the document.
- * @exception java.io.IOException If there is a problem reading
- * the raw content of the document.
- * @exception org.xml.sax.SAXException If there is a problem
- * processing the document.
- * @see #parse(org.xml.sax.InputSource)
- * @see org.xml.sax.Parser#parse(java.lang.String)
- */
- public void parse (String systemId)
- throws IOException, SAXException
- {
- parse(new InputSource(systemId));
- }
-
-
- /**
- * Parse an XML document.
- *
- * @param input An input source for the document.
- * @exception java.io.IOException If there is a problem reading
- * the raw content of the document.
- * @exception org.xml.sax.SAXException If there is a problem
- * processing the document.
- * @see #parse(java.lang.String)
- * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource)
- */
- public void parse (InputSource input)
- throws IOException, SAXException
- {
- if (parsing) {
- throw new SAXException("Parser is already in use");
- }
- setupParser();
- parsing = true;
- try {
- parser.parse(input);
- } finally {
- parsing = false;
- }
- parsing = false;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.DocumentHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Adapt a SAX1 document locator event.
- *
- * @param locator A document locator.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
- public void setDocumentLocator (Locator locator)
- {
- this.locator = locator;
- if (contentHandler != null) {
- contentHandler.setDocumentLocator(locator);
- }
- }
-
-
- /**
- * Adapt a SAX1 start document event.
- *
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.DocumentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startDocument();
- }
- }
-
-
- /**
- * Adapt a SAX1 end document event.
- *
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.DocumentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endDocument();
- }
- }
-
-
- /**
- * Adapt a SAX1 startElement event.
- *
- * <p>If necessary, perform Namespace processing.</p>
- *
- * @param qName The qualified (prefixed) name.
- * @param qAtts The XML 1.0 attribute list (with qnames).
- */
- public void startElement (String qName, AttributeList qAtts)
- throws SAXException
- {
- // If we're not doing Namespace
- // processing, dispatch this quickly.
- if (!namespaces) {
- if (contentHandler != null) {
- attAdapter.setAttributeList(qAtts);
- contentHandler.startElement("", "", qName.intern(),
- attAdapter);
- }
- return;
- }
-
-
- // OK, we're doing Namespace processing.
- nsSupport.pushContext();
- boolean seenDecl = false;
- atts.clear();
-
- // Take a first pass and copy all
- // attributes into the SAX2 attribute
- // list, noting any Namespace
- // declarations.
- int length = qAtts.getLength();
- for (int i = 0; i < length; i++) {
- String attQName = qAtts.getName(i);
- String type = qAtts.getType(i);
- String value = qAtts.getValue(i);
-
- // Found a declaration...
- if (attQName.startsWith("xmlns")) {
- String prefix;
- int n = attQName.indexOf(':');
- if (n == -1) {
- prefix = "";
- } else {
- prefix = attQName.substring(n+1);
- }
- if (!nsSupport.declarePrefix(prefix, value)) {
- reportError("Illegal Namespace prefix: " + prefix);
- }
- if (contentHandler != null) {
- contentHandler.startPrefixMapping(prefix, value);
- }
- // We may still have to add this to
- // the list.
- if (prefixes) {
- atts.addAttribute("", "", attQName.intern(),
- type, value);
- }
- seenDecl = true;
-
- // This isn't a declaration.
- } else {
- String attName[] = processName(attQName, true);
- atts.addAttribute(attName[0], attName[1], attName[2],
- type, value);
- }
- }
-
- // If there was a Namespace declaration,
- // we have to make a second pass just
- // to be safe -- this will happen very
- // rarely, possibly only once for each
- // document.
- if (seenDecl) {
- length = atts.getLength();
- for (int i = 0; i < length; i++) {
- String attQName = atts.getQName(i);
- if (!attQName.startsWith("xmlns")) {
- String attName[] = processName(attQName, true);
- atts.setURI(i, attName[0]);
- atts.setLocalName(i, attName[1]);
- }
- }
- }
-
- // OK, finally report the event.
- if (contentHandler != null) {
- String name[] = processName(qName, false);
- contentHandler.startElement(name[0], name[1], name[2], atts);
- }
- }
-
-
- /**
- * Adapt a SAX1 end element event.
- *
- * @param qName The qualified (prefixed) name.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.DocumentHandler#endElement
- */
- public void endElement (String qName)
- throws SAXException
- {
- // If we're not doing Namespace
- // processing, dispatch this quickly.
- if (!namespaces) {
- if (contentHandler != null) {
- contentHandler.endElement("", "", qName.intern());
- }
- return;
- }
-
- // Split the name.
- String names[] = processName(qName, false);
- if (contentHandler != null) {
- contentHandler.endElement(names[0], names[1], names[2]);
- Enumeration prefixes = nsSupport.getDeclaredPrefixes();
- while (prefixes.hasMoreElements()) {
- String prefix = (String)prefixes.nextElement();
- contentHandler.endPrefixMapping(prefix);
- }
- }
- nsSupport.popContext();
- }
-
-
- /**
- * Adapt a SAX1 characters event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.DocumentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.characters(ch, start, length);
- }
- }
-
-
- /**
- * Adapt a SAX1 ignorable whitespace event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.DocumentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.ignorableWhitespace(ch, start, length);
- }
- }
-
-
- /**
- * Adapt a SAX1 processing instruction event.
- *
- * @param target The processing instruction target.
- * @param data The remainder of the processing instruction
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.DocumentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.processingInstruction(target, data);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal utility methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Initialize the parser before each run.
- */
- private void setupParser ()
- {
- nsSupport.reset();
-
- if (entityResolver != null) {
- parser.setEntityResolver(entityResolver);
- }
- if (dtdHandler != null) {
- parser.setDTDHandler(dtdHandler);
- }
- if (errorHandler != null) {
- parser.setErrorHandler(errorHandler);
- }
- parser.setDocumentHandler(this);
- locator = null;
- }
-
-
- /**
- * Process a qualified (prefixed) name.
- *
- * <p>If the name has an undeclared prefix, use only the qname
- * and make an ErrorHandler.error callback in case the app is
- * interested.</p>
- *
- * @param qName The qualified (prefixed) name.
- * @param isAttribute true if this is an attribute name.
- * @return The name split into three parts.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception if there is an error callback.
- */
- private String [] processName (String qName, boolean isAttribute)
- throws SAXException
- {
- String parts[] = nsSupport.processName(qName, nameParts,
- isAttribute);
- if (parts == null) {
- parts = new String[3];
- parts[2] = qName.intern();
- reportError("Undeclared prefix: " + qName);
- }
- return parts;
- }
-
-
- /**
- * Report a non-fatal error.
- *
- * @param message The error message.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception.
- */
- void reportError (String message)
- throws SAXException
- {
- if (errorHandler == null) {
- return;
- }
-
- SAXParseException e;
- if (locator != null) {
- e = new SAXParseException(message, locator);
- } else {
- e = new SAXParseException(message, null, null, -1, -1);
- }
- errorHandler.error(e);
- }
-
-
- /**
- * Throw an exception if we are parsing.
- *
- * <p>Use this method to detect illegal feature or
- * property changes.</p>
- *
- * @param type The type of thing (feature or property).
- * @param name The feature or property name.
- * @exception org.xml.sax.SAXNotSupportedException If a
- * document is currently being parsed.
- */
- private void checkNotParsing (String type, String name)
- throws SAXNotSupportedException
- {
- if (parsing) {
- throw new SAXNotSupportedException("Cannot change " +
- type + ' ' +
- name + " while parsing");
-
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private NamespaceSupport nsSupport;
- private AttributeListAdapter attAdapter;
-
- private boolean parsing = false;
- private String nameParts[] = new String[3];
-
- private Parser parser = null;
-
- private AttributesImpl atts = null;
-
- // Features
- private boolean namespaces = true;
- private boolean prefixes = false;
-
- // Properties
-
- // Handlers
- Locator locator;
-
- EntityResolver entityResolver = null;
- DTDHandler dtdHandler = null;
- ContentHandler contentHandler = null;
- ErrorHandler errorHandler = null;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Inner class to wrap an AttributeList when not doing NS proc.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Adapt a SAX1 AttributeList as a SAX2 Attributes object.
- *
- * <p>This class is in the Public Domain, and comes with NO
- * WARRANTY of any kind.</p>
- *
- * <p>This wrapper class is used only when Namespace support
- * is disabled -- it provides pretty much a direct mapping
- * from SAX1 to SAX2, except that names and types are
- * interned whenever requested.</p>
- */
- final class AttributeListAdapter implements Attributes
- {
-
- /**
- * Construct a new adapter.
- */
- AttributeListAdapter ()
- {
- }
-
-
- /**
- * Set the embedded AttributeList.
- *
- * <p>This method must be invoked before any of the others
- * can be used.</p>
- *
- * @param The SAX1 attribute list (with qnames).
- */
- void setAttributeList (AttributeList qAtts)
- {
- this.qAtts = qAtts;
- }
-
-
- /**
- * Return the length of the attribute list.
- *
- * @return The number of attributes in the list.
- * @see org.xml.sax.Attributes#getLength
- */
- public int getLength ()
- {
- return qAtts.getLength();
- }
-
-
- /**
- * Return the Namespace URI of the specified attribute.
- *
- * @param The attribute's index.
- * @return Always the empty string.
- * @see org.xml.sax.Attributes#getURI
- */
- public String getURI (int i)
- {
- return "";
- }
-
-
- /**
- * Return the local name of the specified attribute.
- *
- * @param The attribute's index.
- * @return Always the empty string.
- * @see org.xml.sax.Attributes#getLocalName
- */
- public String getLocalName (int i)
- {
- return "";
- }
-
-
- /**
- * Return the qualified (prefixed) name of the specified attribute.
- *
- * @param The attribute's index.
- * @return The attribute's qualified name, internalized.
- */
- public String getQName (int i)
- {
- return qAtts.getName(i).intern();
- }
-
-
- /**
- * Return the type of the specified attribute.
- *
- * @param The attribute's index.
- * @return The attribute's type as an internalized string.
- */
- public String getType (int i)
- {
- return qAtts.getType(i).intern();
- }
-
-
- /**
- * Return the value of the specified attribute.
- *
- * @param The attribute's index.
- * @return The attribute's value.
- */
- public String getValue (int i)
- {
- return qAtts.getValue(i);
- }
-
-
- /**
- * Look up an attribute index by Namespace name.
- *
- * @param uri The Namespace URI or the empty string.
- * @param localName The local name.
- * @return The attributes index, or -1 if none was found.
- * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String)
- */
- public int getIndex (String uri, String localName)
- {
- return -1;
- }
-
-
- /**
- * Look up an attribute index by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attributes index, or -1 if none was found.
- * @see org.xml.sax.Attributes#getIndex(java.lang.String)
- */
- public int getIndex (String qName)
- {
- int max = atts.getLength();
- for (int i = 0; i < max; i++) {
- if (qAtts.getName(i).equals(qName)) {
- return i;
- }
- }
- return -1;
- }
-
-
- /**
- * Look up the type of an attribute by Namespace name.
- *
- * @param uri The Namespace URI
- * @param localName The local name.
- * @return The attribute's type as an internalized string.
- */
- public String getType (String uri, String localName)
- {
- return null;
- }
-
-
- /**
- * Look up the type of an attribute by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's type as an internalized string.
- */
- public String getType (String qName)
- {
- return qAtts.getType(qName).intern();
- }
-
-
- /**
- * Look up the value of an attribute by Namespace name.
- *
- * @param uri The Namespace URI
- * @param localName The local name.
- * @return The attribute's value.
- */
- public String getValue (String uri, String localName)
- {
- return null;
- }
-
-
- /**
- * Look up the value of an attribute by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's value.
- */
- public String getValue (String qName)
- {
- return qAtts.getValue(qName);
- }
-
- private AttributeList qAtts;
- }
-}
-
-// end of ParserAdapter.java
+// ParserAdapter.java - adapt a SAX1 Parser to a SAX2 XMLReader.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the public domain.
+
+// $Id: ParserAdapter.java,v 1.8.2.4 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Vector;
+
+import org.xml.sax.Parser; // deprecated
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.AttributeList; // deprecated
+import org.xml.sax.EntityResolver;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.DocumentHandler; // deprecated
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+import org.xml.sax.XMLReader;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+
+
+/**
+ * Adapt a SAX1 Parser as a SAX2 XMLReader.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class wraps a SAX1 {@link org.xml.sax.Parser Parser}
+ * and makes it act as a SAX2 {@link org.xml.sax.XMLReader XMLReader},
+ * with feature, property, and Namespace support. Note
+ * that it is not possible to report {@link org.xml.sax.ContentHandler#skippedEntity
+ * skippedEntity} events, since SAX1 does not make that information available.</p>
+ *
+ * <p>This adapter does not test for duplicate Namespace-qualified
+ * attribute names.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.helpers.XMLReaderAdapter
+ * @see org.xml.sax.XMLReader
+ * @see org.xml.sax.Parser
+ */
+public class ParserAdapter implements XMLReader, DocumentHandler
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Constructors.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Construct a new parser adapter.
+ *
+ * <p>Use the "org.xml.sax.parser" property to locate the
+ * embedded SAX1 driver.</p>
+ *
+ * @exception SAXException If the embedded driver
+ * cannot be instantiated or if the
+ * org.xml.sax.parser property is not specified.
+ */
+ public ParserAdapter ()
+ throws SAXException
+ {
+ super();
+
+ String driver = System.getProperty("org.xml.sax.parser");
+
+ try {
+ setup(ParserFactory.makeParser());
+ } catch (ClassNotFoundException e1) {
+ throw new
+ SAXException("Cannot find SAX1 driver class " +
+ driver, e1);
+ } catch (IllegalAccessException e2) {
+ throw new
+ SAXException("SAX1 driver class " +
+ driver +
+ " found but cannot be loaded", e2);
+ } catch (InstantiationException e3) {
+ throw new
+ SAXException("SAX1 driver class " +
+ driver +
+ " loaded but cannot be instantiated", e3);
+ } catch (ClassCastException e4) {
+ throw new
+ SAXException("SAX1 driver class " +
+ driver +
+ " does not implement org.xml.sax.Parser");
+ } catch (NullPointerException e5) {
+ throw new
+ SAXException("System property org.xml.sax.parser not specified");
+ }
+ }
+
+
+ /**
+ * Construct a new parser adapter.
+ *
+ * <p>Note that the embedded parser cannot be changed once the
+ * adapter is created; to embed a different parser, allocate
+ * a new ParserAdapter.</p>
+ *
+ * @param parser The SAX1 parser to embed.
+ * @exception java.lang.NullPointerException If the parser parameter
+ * is null.
+ */
+ public ParserAdapter (Parser parser)
+ {
+ super();
+ setup(parser);
+ }
+
+
+ /**
+ * Internal setup method.
+ *
+ * @param parser The embedded parser.
+ * @exception java.lang.NullPointerException If the parser parameter
+ * is null.
+ */
+ private void setup (Parser parser)
+ {
+ if (parser == null) {
+ throw new
+ NullPointerException("Parser argument must not be null");
+ }
+ this.parser = parser;
+ atts = new AttributesImpl();
+ nsSupport = new NamespaceSupport();
+ attAdapter = new AttributeListAdapter();
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.XMLReader.
+ ////////////////////////////////////////////////////////////////////
+
+
+ //
+ // Internal constants for the sake of convenience.
+ //
+ private final static String FEATURES = "http://xml.org/sax/features/";
+ private final static String NAMESPACES = FEATURES + "namespaces";
+ private final static String NAMESPACE_PREFIXES = FEATURES + "namespace-prefixes";
+
+
+ /**
+ * Set a feature flag for the parser.
+ *
+ * <p>The only features recognized are namespaces and
+ * namespace-prefixes.</p>
+ *
+ * @param name The feature name, as a complete URI.
+ * @param value The requested feature value.
+ * @exception SAXNotRecognizedException If the feature
+ * can't be assigned or retrieved.
+ * @exception SAXNotSupportedException If the feature
+ * can't be assigned that value.
+ * @see org.xml.sax.XMLReader#setFeature
+ */
+ public void setFeature (String name, boolean value)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ if (name.equals(NAMESPACES)) {
+ checkNotParsing("feature", name);
+ namespaces = value;
+ if (!namespaces && !prefixes) {
+ prefixes = true;
+ }
+ } else if (name.equals(NAMESPACE_PREFIXES)) {
+ checkNotParsing("feature", name);
+ prefixes = value;
+ if (!prefixes && !namespaces) {
+ namespaces = true;
+ }
+ } else {
+ throw new SAXNotRecognizedException("Feature: " + name);
+ }
+ }
+
+
+ /**
+ * Check a parser feature flag.
+ *
+ * <p>The only features recognized are namespaces and
+ * namespace-prefixes.</p>
+ *
+ * @param name The feature name, as a complete URI.
+ * @return The current feature value.
+ * @exception SAXNotRecognizedException If the feature
+ * value can't be assigned or retrieved.
+ * @exception SAXNotSupportedException If the
+ * feature is not currently readable.
+ * @see org.xml.sax.XMLReader#setFeature
+ */
+ public boolean getFeature (String name)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ if (name.equals(NAMESPACES)) {
+ return namespaces;
+ } else if (name.equals(NAMESPACE_PREFIXES)) {
+ return prefixes;
+ } else {
+ throw new SAXNotRecognizedException("Feature: " + name);
+ }
+ }
+
+
+ /**
+ * Set a parser property.
+ *
+ * <p>No properties are currently recognized.</p>
+ *
+ * @param name The property name.
+ * @param value The property value.
+ * @exception SAXNotRecognizedException If the property
+ * value can't be assigned or retrieved.
+ * @exception SAXNotSupportedException If the property
+ * can't be assigned that value.
+ * @see org.xml.sax.XMLReader#setProperty
+ */
+ public void setProperty (String name, Object value)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ throw new SAXNotRecognizedException("Property: " + name);
+ }
+
+
+ /**
+ * Get a parser property.
+ *
+ * <p>No properties are currently recognized.</p>
+ *
+ * @param name The property name.
+ * @return The property value.
+ * @exception SAXNotRecognizedException If the property
+ * value can't be assigned or retrieved.
+ * @exception SAXNotSupportedException If the property
+ * value is not currently readable.
+ * @see org.xml.sax.XMLReader#getProperty
+ */
+ public Object getProperty (String name)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ throw new SAXNotRecognizedException("Property: " + name);
+ }
+
+
+ /**
+ * Set the entity resolver.
+ *
+ * @param resolver The new entity resolver.
+ * @see org.xml.sax.XMLReader#setEntityResolver
+ */
+ public void setEntityResolver (EntityResolver resolver)
+ {
+ entityResolver = resolver;
+ }
+
+
+ /**
+ * Return the current entity resolver.
+ *
+ * @return The current entity resolver, or null if none was supplied.
+ * @see org.xml.sax.XMLReader#getEntityResolver
+ */
+ public EntityResolver getEntityResolver ()
+ {
+ return entityResolver;
+ }
+
+
+ /**
+ * Set the DTD handler.
+ *
+ * @param resolver The new DTD handler.
+ * @see org.xml.sax.XMLReader#setEntityResolver
+ */
+ public void setDTDHandler (DTDHandler handler)
+ {
+ dtdHandler = handler;
+ }
+
+
+ /**
+ * Return the current DTD handler.
+ *
+ * @return The current DTD handler, or null if none was supplied.
+ * @see org.xml.sax.XMLReader#getEntityResolver
+ */
+ public DTDHandler getDTDHandler ()
+ {
+ return dtdHandler;
+ }
+
+
+ /**
+ * Set the content handler.
+ *
+ * @param resolver The new content handler.
+ * @see org.xml.sax.XMLReader#setEntityResolver
+ */
+ public void setContentHandler (ContentHandler handler)
+ {
+ contentHandler = handler;
+ }
+
+
+ /**
+ * Return the current content handler.
+ *
+ * @return The current content handler, or null if none was supplied.
+ * @see org.xml.sax.XMLReader#getEntityResolver
+ */
+ public ContentHandler getContentHandler ()
+ {
+ return contentHandler;
+ }
+
+
+ /**
+ * Set the error handler.
+ *
+ * @param resolver The new error handler.
+ * @see org.xml.sax.XMLReader#setEntityResolver
+ */
+ public void setErrorHandler (ErrorHandler handler)
+ {
+ errorHandler = handler;
+ }
+
+
+ /**
+ * Return the current error handler.
+ *
+ * @return The current error handler, or null if none was supplied.
+ * @see org.xml.sax.XMLReader#getEntityResolver
+ */
+ public ErrorHandler getErrorHandler ()
+ {
+ return errorHandler;
+ }
+
+
+ /**
+ * Parse an XML document.
+ *
+ * @param systemId The absolute URL of the document.
+ * @exception java.io.IOException If there is a problem reading
+ * the raw content of the document.
+ * @exception SAXException If there is a problem
+ * processing the document.
+ * @see #parse(org.xml.sax.InputSource)
+ * @see org.xml.sax.Parser#parse(java.lang.String)
+ */
+ public void parse (String systemId)
+ throws IOException, SAXException
+ {
+ parse(new InputSource(systemId));
+ }
+
+
+ /**
+ * Parse an XML document.
+ *
+ * @param input An input source for the document.
+ * @exception java.io.IOException If there is a problem reading
+ * the raw content of the document.
+ * @exception SAXException If there is a problem
+ * processing the document.
+ * @see #parse(java.lang.String)
+ * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource)
+ */
+ public void parse (InputSource input)
+ throws IOException, SAXException
+ {
+ if (parsing) {
+ throw new SAXException("Parser is already in use");
+ }
+ setupParser();
+ parsing = true;
+ try {
+ parser.parse(input);
+ } finally {
+ parsing = false;
+ }
+ parsing = false;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.DocumentHandler.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 document locator event.
+ *
+ * @param locator A document locator.
+ * @see org.xml.sax.ContentHandler#setDocumentLocator
+ */
+ public void setDocumentLocator (Locator locator)
+ {
+ this.locator = locator;
+ if (contentHandler != null) {
+ contentHandler.setDocumentLocator(locator);
+ }
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 start document event.
+ *
+ * @exception SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.DocumentHandler#startDocument
+ */
+ public void startDocument ()
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.startDocument();
+ }
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 end document event.
+ *
+ * @exception SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.DocumentHandler#endDocument
+ */
+ public void endDocument ()
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.endDocument();
+ }
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 startElement event.
+ *
+ * <p>If necessary, perform Namespace processing.</p>
+ *
+ * @param qName The qualified (prefixed) name.
+ * @param qAtts The XML 1.0 attribute list (with qnames).
+ * @exception SAXException The client may raise a
+ * processing exception.
+ */
+ public void startElement (String qName, AttributeList qAtts)
+ throws SAXException
+ {
+ // These are exceptions from the
+ // first pass; they should be
+ // ignored if there's a second pass,
+ // but reported otherwise.
+ Vector exceptions = null;
+
+ // If we're not doing Namespace
+ // processing, dispatch this quickly.
+ if (!namespaces) {
+ if (contentHandler != null) {
+ attAdapter.setAttributeList(qAtts);
+ contentHandler.startElement("", "", qName.intern(),
+ attAdapter);
+ }
+ return;
+ }
+
+
+ // OK, we're doing Namespace processing.
+ nsSupport.pushContext();
+ int length = qAtts.getLength();
+
+ // First pass: handle NS decls
+ for (int i = 0; i < length; i++) {
+ String attQName = qAtts.getName(i);
+
+ if (!attQName.startsWith("xmlns"))
+ continue;
+ // Could be a declaration...
+ String prefix;
+ int n = attQName.indexOf(':');
+
+ // xmlns=...
+ if (n == -1 && attQName.length () == 5) {
+ prefix = "";
+ } else if (n != 5) {
+ // XML namespaces spec doesn't discuss "xmlnsf:oo"
+ // (and similarly named) attributes ... at most, warn
+ continue;
+ } else // xmlns:foo=...
+ prefix = attQName.substring(n+1);
+
+ String value = qAtts.getValue(i);
+ if (!nsSupport.declarePrefix(prefix, value)) {
+ reportError("Illegal Namespace prefix: " + prefix);
+ continue;
+ }
+ if (contentHandler != null)
+ contentHandler.startPrefixMapping(prefix, value);
+ }
+
+ // Second pass: copy all relevant
+ // attributes into the SAX2 AttributeList
+ // using updated prefix bindings
+ atts.clear();
+ for (int i = 0; i < length; i++) {
+ String attQName = qAtts.getName(i);
+ String type = qAtts.getType(i);
+ String value = qAtts.getValue(i);
+
+ // Declaration?
+ if (attQName.startsWith("xmlns")) {
+ String prefix;
+ int n = attQName.indexOf(':');
+
+ if (n == -1 && attQName.length () == 5) {
+ prefix = "";
+ } else if (n != 5) {
+ // XML namespaces spec doesn't discuss "xmlnsf:oo"
+ // (and similarly named) attributes ... ignore
+ prefix = null;
+ } else {
+ prefix = attQName.substring(n+1);
+ }
+ // Yes, decl: report or prune
+ if (prefix != null) {
+ if (prefixes)
+ atts.addAttribute("", "", attQName.intern(),
+ type, value);
+ continue;
+ }
+ }
+
+ // Not a declaration -- report
+ try {
+ String attName[] = processName(attQName, true, true);
+ atts.addAttribute(attName[0], attName[1], attName[2],
+ type, value);
+ } catch (SAXException e) {
+ if (exceptions == null)
+ exceptions = new Vector();
+ exceptions.addElement(e);
+ atts.addAttribute("", attQName, attQName, type, value);
+ }
+ }
+
+ // now handle the deferred exception reports
+ if (exceptions != null && errorHandler != null) {
+ for (int i = 0; i < exceptions.size(); i++)
+ errorHandler.error((SAXParseException)
+ (exceptions.elementAt(i)));
+ }
+
+ // OK, finally report the event.
+ if (contentHandler != null) {
+ String name[] = processName(qName, false, false);
+ contentHandler.startElement(name[0], name[1], name[2], atts);
+ }
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 end element event.
+ *
+ * @param qName The qualified (prefixed) name.
+ * @exception SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.DocumentHandler#endElement
+ */
+ public void endElement (String qName)
+ throws SAXException
+ {
+ // If we're not doing Namespace
+ // processing, dispatch this quickly.
+ if (!namespaces) {
+ if (contentHandler != null) {
+ contentHandler.endElement("", "", qName.intern());
+ }
+ return;
+ }
+
+ // Split the name.
+ String names[] = processName(qName, false, false);
+ if (contentHandler != null) {
+ contentHandler.endElement(names[0], names[1], names[2]);
+ Enumeration prefixes = nsSupport.getDeclaredPrefixes();
+ while (prefixes.hasMoreElements()) {
+ String prefix = (String)prefixes.nextElement();
+ contentHandler.endPrefixMapping(prefix);
+ }
+ }
+ nsSupport.popContext();
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 characters event.
+ *
+ * @param ch An array of characters.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use.
+ * @exception SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.DocumentHandler#characters
+ */
+ public void characters (char ch[], int start, int length)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.characters(ch, start, length);
+ }
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 ignorable whitespace event.
+ *
+ * @param ch An array of characters.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use.
+ * @exception SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.DocumentHandler#ignorableWhitespace
+ */
+ public void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.ignorableWhitespace(ch, start, length);
+ }
+ }
+
+
+ /**
+ * Adapter implementation method; do not call.
+ * Adapt a SAX1 processing instruction event.
+ *
+ * @param target The processing instruction target.
+ * @param data The remainder of the processing instruction
+ * @exception SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.DocumentHandler#processingInstruction
+ */
+ public void processingInstruction (String target, String data)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.processingInstruction(target, data);
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal utility methods.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Initialize the parser before each run.
+ */
+ private void setupParser ()
+ {
+ nsSupport.reset();
+
+ if (entityResolver != null) {
+ parser.setEntityResolver(entityResolver);
+ }
+ if (dtdHandler != null) {
+ parser.setDTDHandler(dtdHandler);
+ }
+ if (errorHandler != null) {
+ parser.setErrorHandler(errorHandler);
+ }
+ parser.setDocumentHandler(this);
+ locator = null;
+ }
+
+
+ /**
+ * Process a qualified (prefixed) name.
+ *
+ * <p>If the name has an undeclared prefix, use only the qname
+ * and make an ErrorHandler.error callback in case the app is
+ * interested.</p>
+ *
+ * @param qName The qualified (prefixed) name.
+ * @param isAttribute true if this is an attribute name.
+ * @return The name split into three parts.
+ * @exception SAXException The client may throw
+ * an exception if there is an error callback.
+ */
+ private String [] processName (String qName, boolean isAttribute,
+ boolean useException)
+ throws SAXException
+ {
+ String parts[] = nsSupport.processName(qName, nameParts,
+ isAttribute);
+ if (parts == null) {
+ if (useException)
+ throw makeException("Undeclared prefix: " + qName);
+ reportError("Undeclared prefix: " + qName);
+ parts = new String[3];
+ parts[0] = parts[1] = "";
+ parts[2] = qName.intern();
+ }
+ return parts;
+ }
+
+
+ /**
+ * Report a non-fatal error.
+ *
+ * @param message The error message.
+ * @exception SAXException The client may throw
+ * an exception.
+ */
+ void reportError (String message)
+ throws SAXException
+ {
+ if (errorHandler != null)
+ errorHandler.error(makeException(message));
+ }
+
+
+ /**
+ * Construct an exception for the current context.
+ *
+ * @param message The error message.
+ */
+ private SAXParseException makeException (String message)
+ {
+ if (locator != null) {
+ return new SAXParseException(message, locator);
+ } else {
+ return new SAXParseException(message, null, null, -1, -1);
+ }
+ }
+
+
+ /**
+ * Throw an exception if we are parsing.
+ *
+ * <p>Use this method to detect illegal feature or
+ * property changes.</p>
+ *
+ * @param type The type of thing (feature or property).
+ * @param name The feature or property name.
+ * @exception SAXNotSupportedException If a
+ * document is currently being parsed.
+ */
+ private void checkNotParsing (String type, String name)
+ throws SAXNotSupportedException
+ {
+ if (parsing) {
+ throw new SAXNotSupportedException("Cannot change " +
+ type + ' ' +
+ name + " while parsing");
+
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ private NamespaceSupport nsSupport;
+ private AttributeListAdapter attAdapter;
+
+ private boolean parsing = false;
+ private String nameParts[] = new String[3];
+
+ private Parser parser = null;
+
+ private AttributesImpl atts = null;
+
+ // Features
+ private boolean namespaces = true;
+ private boolean prefixes = false;
+
+ // Properties
+
+ // Handlers
+ Locator locator;
+
+ EntityResolver entityResolver = null;
+ DTDHandler dtdHandler = null;
+ ContentHandler contentHandler = null;
+ ErrorHandler errorHandler = null;
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Inner class to wrap an AttributeList when not doing NS proc.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Adapt a SAX1 AttributeList as a SAX2 Attributes object.
+ *
+ * <p>This class is in the Public Domain, and comes with NO
+ * WARRANTY of any kind.</p>
+ *
+ * <p>This wrapper class is used only when Namespace support
+ * is disabled -- it provides pretty much a direct mapping
+ * from SAX1 to SAX2, except that names and types are
+ * interned whenever requested.</p>
+ */
+ final class AttributeListAdapter implements Attributes
+ {
+
+ /**
+ * Construct a new adapter.
+ */
+ AttributeListAdapter ()
+ {
+ }
+
+
+ /**
+ * Set the embedded AttributeList.
+ *
+ * <p>This method must be invoked before any of the others
+ * can be used.</p>
+ *
+ * @param The SAX1 attribute list (with qnames).
+ */
+ void setAttributeList (AttributeList qAtts)
+ {
+ this.qAtts = qAtts;
+ }
+
+
+ /**
+ * Return the length of the attribute list.
+ *
+ * @return The number of attributes in the list.
+ * @see org.xml.sax.Attributes#getLength
+ */
+ public int getLength ()
+ {
+ return qAtts.getLength();
+ }
+
+
+ /**
+ * Return the Namespace URI of the specified attribute.
+ *
+ * @param The attribute's index.
+ * @return Always the empty string.
+ * @see org.xml.sax.Attributes#getURI
+ */
+ public String getURI (int i)
+ {
+ return "";
+ }
+
+
+ /**
+ * Return the local name of the specified attribute.
+ *
+ * @param The attribute's index.
+ * @return Always the empty string.
+ * @see org.xml.sax.Attributes#getLocalName
+ */
+ public String getLocalName (int i)
+ {
+ return "";
+ }
+
+
+ /**
+ * Return the qualified (prefixed) name of the specified attribute.
+ *
+ * @param The attribute's index.
+ * @return The attribute's qualified name, internalized.
+ */
+ public String getQName (int i)
+ {
+ return qAtts.getName(i).intern();
+ }
+
+
+ /**
+ * Return the type of the specified attribute.
+ *
+ * @param The attribute's index.
+ * @return The attribute's type as an internalized string.
+ */
+ public String getType (int i)
+ {
+ return qAtts.getType(i).intern();
+ }
+
+
+ /**
+ * Return the value of the specified attribute.
+ *
+ * @param The attribute's index.
+ * @return The attribute's value.
+ */
+ public String getValue (int i)
+ {
+ return qAtts.getValue(i);
+ }
+
+
+ /**
+ * Look up an attribute index by Namespace name.
+ *
+ * @param uri The Namespace URI or the empty string.
+ * @param localName The local name.
+ * @return The attributes index, or -1 if none was found.
+ * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String)
+ */
+ public int getIndex (String uri, String localName)
+ {
+ return -1;
+ }
+
+
+ /**
+ * Look up an attribute index by qualified (prefixed) name.
+ *
+ * @param qName The qualified name.
+ * @return The attributes index, or -1 if none was found.
+ * @see org.xml.sax.Attributes#getIndex(java.lang.String)
+ */
+ public int getIndex (String qName)
+ {
+ int max = atts.getLength();
+ for (int i = 0; i < max; i++) {
+ if (qAtts.getName(i).equals(qName)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Look up the type of an attribute by Namespace name.
+ *
+ * @param uri The Namespace URI
+ * @param localName The local name.
+ * @return The attribute's type as an internalized string.
+ */
+ public String getType (String uri, String localName)
+ {
+ return null;
+ }
+
+
+ /**
+ * Look up the type of an attribute by qualified (prefixed) name.
+ *
+ * @param qName The qualified name.
+ * @return The attribute's type as an internalized string.
+ */
+ public String getType (String qName)
+ {
+ return qAtts.getType(qName).intern();
+ }
+
+
+ /**
+ * Look up the value of an attribute by Namespace name.
+ *
+ * @param uri The Namespace URI
+ * @param localName The local name.
+ * @return The attribute's value.
+ */
+ public String getValue (String uri, String localName)
+ {
+ return null;
+ }
+
+
+ /**
+ * Look up the value of an attribute by qualified (prefixed) name.
+ *
+ * @param qName The qualified name.
+ * @return The attribute's value.
+ */
+ public String getValue (String qName)
+ {
+ return qAtts.getValue(qName);
+ }
+
+ private AttributeList qAtts;
+ }
+}
+
+// end of ParserAdapter.java
diff --git a/libjava/org/xml/sax/helpers/ParserFactory.java b/libjava/org/xml/sax/helpers/ParserFactory.java
index 9ca7b55002f..acedfd13ae4 100644
--- a/libjava/org/xml/sax/helpers/ParserFactory.java
+++ b/libjava/org/xml/sax/helpers/ParserFactory.java
@@ -1,129 +1,129 @@
-// SAX parser factory.
-// No warranty; no copyright -- use this as you will.
-// $Id: ParserFactory.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import java.lang.ClassNotFoundException;
-import java.lang.IllegalAccessException;
-import java.lang.InstantiationException;
-import java.lang.SecurityException;
-import java.lang.ClassCastException;
-
-import org.xml.sax.Parser;
-
-
-/**
- * Java-specific class for dynamically loading SAX parsers.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p><strong>Note:</strong> This class is designed to work with the now-deprecated
- * SAX1 {@link org.xml.sax.Parser Parser} class. SAX2 applications should use
- * {@link org.xml.sax.helpers.XMLReaderFactory XMLReaderFactory} instead.</p>
- *
- * <p>ParserFactory is not part of the platform-independent definition
- * of SAX; it is an additional convenience class designed
- * specifically for Java XML application writers. SAX applications
- * can use the static methods in this class to allocate a SAX parser
- * dynamically at run-time based either on the value of the
- * `org.xml.sax.parser' system property or on a string containing the class
- * name.</p>
- *
- * <p>Note that the application still requires an XML parser that
- * implements SAX1.</p>
- *
- * @deprecated This class works with the deprecated
- * {@link org.xml.sax.Parser Parser}
- * interface.
- * @since SAX 1.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser
- * @see java.lang.Class
- */
-public class ParserFactory {
-
-
- /**
- * Private null constructor.
- */
- private ParserFactory ()
- {
- }
-
-
- /**
- * Create a new SAX parser using the `org.xml.sax.parser' system property.
- *
- * <p>The named class must exist and must implement the
- * {@link org.xml.sax.Parser Parser} interface.</p>
- *
- * @exception java.lang.NullPointerException There is no value
- * for the `org.xml.sax.parser' system property.
- * @exception java.lang.ClassNotFoundException The SAX parser
- * class was not found (check your CLASSPATH).
- * @exception IllegalAccessException The SAX parser class was
- * found, but you do not have permission to load
- * it.
- * @exception InstantiationException The SAX parser class was
- * found but could not be instantiated.
- * @exception java.lang.ClassCastException The SAX parser class
- * was found and instantiated, but does not implement
- * org.xml.sax.Parser.
- * @see #makeParser(java.lang.String)
- * @see org.xml.sax.Parser
- */
- public static Parser makeParser ()
- throws ClassNotFoundException,
- IllegalAccessException,
- InstantiationException,
- NullPointerException,
- ClassCastException
- {
- String className = System.getProperty("org.xml.sax.parser");
- if (className == null) {
- throw new NullPointerException("No value for sax.parser property");
- } else {
- return makeParser(className);
- }
- }
-
-
- /**
- * Create a new SAX parser object using the class name provided.
- *
- * <p>The named class must exist and must implement the
- * {@link org.xml.sax.Parser Parser} interface.</p>
- *
- * @param className A string containing the name of the
- * SAX parser class.
- * @exception java.lang.ClassNotFoundException The SAX parser
- * class was not found (check your CLASSPATH).
- * @exception IllegalAccessException The SAX parser class was
- * found, but you do not have permission to load
- * it.
- * @exception InstantiationException The SAX parser class was
- * found but could not be instantiated.
- * @exception java.lang.ClassCastException The SAX parser class
- * was found and instantiated, but does not implement
- * org.xml.sax.Parser.
- * @see #makeParser()
- * @see org.xml.sax.Parser
- */
- public static Parser makeParser (String className)
- throws ClassNotFoundException,
- IllegalAccessException,
- InstantiationException,
- ClassCastException
- {
- return (Parser)(Class.forName(className).newInstance());
- }
-
-}
-
-// end of ParserFactory.java
+// SAX parser factory.
+// http://www.saxproject.org
+// No warranty; no copyright -- use this as you will.
+// $Id: ParserFactory.java,v 1.4.2.3 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.lang.ClassNotFoundException;
+import java.lang.IllegalAccessException;
+import java.lang.InstantiationException;
+import java.lang.SecurityException;
+import java.lang.ClassCastException;
+
+import org.xml.sax.Parser;
+
+
+/**
+ * Java-specific class for dynamically loading SAX parsers.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p><strong>Note:</strong> This class is designed to work with the now-deprecated
+ * SAX1 {@link org.xml.sax.Parser Parser} class. SAX2 applications should use
+ * {@link org.xml.sax.helpers.XMLReaderFactory XMLReaderFactory} instead.</p>
+ *
+ * <p>ParserFactory is not part of the platform-independent definition
+ * of SAX; it is an additional convenience class designed
+ * specifically for Java XML application writers. SAX applications
+ * can use the static methods in this class to allocate a SAX parser
+ * dynamically at run-time based either on the value of the
+ * `org.xml.sax.parser' system property or on a string containing the class
+ * name.</p>
+ *
+ * <p>Note that the application still requires an XML parser that
+ * implements SAX1.</p>
+ *
+ * @deprecated This class works with the deprecated
+ * {@link org.xml.sax.Parser Parser}
+ * interface.
+ * @since SAX 1.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ */
+public class ParserFactory {
+
+
+ /**
+ * Private null constructor.
+ */
+ private ParserFactory ()
+ {
+ }
+
+
+ /**
+ * Create a new SAX parser using the `org.xml.sax.parser' system property.
+ *
+ * <p>The named class must exist and must implement the
+ * {@link org.xml.sax.Parser Parser} interface.</p>
+ *
+ * @exception java.lang.NullPointerException There is no value
+ * for the `org.xml.sax.parser' system property.
+ * @exception java.lang.ClassNotFoundException The SAX parser
+ * class was not found (check your CLASSPATH).
+ * @exception IllegalAccessException The SAX parser class was
+ * found, but you do not have permission to load
+ * it.
+ * @exception InstantiationException The SAX parser class was
+ * found but could not be instantiated.
+ * @exception java.lang.ClassCastException The SAX parser class
+ * was found and instantiated, but does not implement
+ * org.xml.sax.Parser.
+ * @see #makeParser(java.lang.String)
+ * @see org.xml.sax.Parser
+ */
+ public static Parser makeParser ()
+ throws ClassNotFoundException,
+ IllegalAccessException,
+ InstantiationException,
+ NullPointerException,
+ ClassCastException
+ {
+ String className = System.getProperty("org.xml.sax.parser");
+ if (className == null) {
+ throw new NullPointerException("No value for sax.parser property");
+ } else {
+ return makeParser(className);
+ }
+ }
+
+
+ /**
+ * Create a new SAX parser object using the class name provided.
+ *
+ * <p>The named class must exist and must implement the
+ * {@link org.xml.sax.Parser Parser} interface.</p>
+ *
+ * @param className A string containing the name of the
+ * SAX parser class.
+ * @exception java.lang.ClassNotFoundException The SAX parser
+ * class was not found (check your CLASSPATH).
+ * @exception IllegalAccessException The SAX parser class was
+ * found, but you do not have permission to load
+ * it.
+ * @exception InstantiationException The SAX parser class was
+ * found but could not be instantiated.
+ * @exception java.lang.ClassCastException The SAX parser class
+ * was found and instantiated, but does not implement
+ * org.xml.sax.Parser.
+ * @see #makeParser()
+ * @see org.xml.sax.Parser
+ */
+ public static Parser makeParser (String className)
+ throws ClassNotFoundException,
+ IllegalAccessException,
+ InstantiationException,
+ ClassCastException
+ {
+ return (Parser) NewInstance.newInstance (
+ NewInstance.getClassLoader (), className);
+ }
+
+}
+
diff --git a/libjava/org/xml/sax/helpers/XMLFilterImpl.java b/libjava/org/xml/sax/helpers/XMLFilterImpl.java
index 5b1afaf6c2f..2f848089131 100644
--- a/libjava/org/xml/sax/helpers/XMLFilterImpl.java
+++ b/libjava/org/xml/sax/helpers/XMLFilterImpl.java
@@ -1,769 +1,714 @@
-// XMLFilterImpl.java - base SAX2 filter implementation.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the Public Domain.
-
-// $Id: XMLFilterImpl.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import java.io.IOException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.XMLFilter;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.SAXNotRecognizedException;
-
-
-/**
- * Base class for deriving an XML filter.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class is designed to sit between an {@link org.xml.sax.XMLReader
- * XMLReader} and the client application's event handlers. By default, it
- * does nothing but pass requests up to the reader and events
- * on to the handlers unmodified, but subclasses can override
- * specific methods to modify the event stream or the configuration
- * requests as they pass through.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.XMLFilter
- * @see org.xml.sax.XMLReader
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.ContentHandler
- * @see org.xml.sax.ErrorHandler
- */
-public class XMLFilterImpl
- implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructors.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Construct an empty XML filter, with no parent.
- *
- * <p>This filter will have no parent: you must assign a parent
- * before you start a parse or do any configuration with
- * setFeature or setProperty.</p>
- *
- * @see org.xml.sax.XMLReader#setFeature
- * @see org.xml.sax.XMLReader#setProperty
- */
- public XMLFilterImpl ()
- {
- super();
- }
-
-
- /**
- * Construct an XML filter with the specified parent.
- *
- * @see #setParent
- * @see #getParent
- */
- public XMLFilterImpl (XMLReader parent)
- {
- super();
- setParent(parent);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.XMLFilter.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the parent reader.
- *
- * <p>This is the {@link org.xml.sax.XMLReader XMLReader} from which
- * this filter will obtain its events and to which it will pass its
- * configuration requests. The parent may itself be another filter.</p>
- *
- * <p>If there is no parent reader set, any attempt to parse
- * or to set or get a feature or property will fail.</p>
- *
- * @param parent The parent XML reader.
- * @exception java.lang.NullPointerException If the parent is null.
- * @see #getParent
- */
- public void setParent (XMLReader parent)
- {
- if (parent == null) {
- throw new NullPointerException("Null parent");
- }
- this.parent = parent;
- }
-
-
- /**
- * Get the parent reader.
- *
- * @return The parent XML reader, or null if none is set.
- * @see #setParent
- */
- public XMLReader getParent ()
- {
- return parent;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.XMLReader.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the state of a feature.
- *
- * <p>This will always fail if the parent is null.</p>
- *
- * @param name The feature name.
- * @param state The requested feature state.
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the feature name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the feature name but
- * cannot set the requested value.
- * @see org.xml.sax.XMLReader#setFeature
- */
- public void setFeature (String name, boolean state)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- parent.setFeature(name, state);
- } else {
- throw new SAXNotRecognizedException("Feature: " + name);
- }
- }
-
-
- /**
- * Look up the state of a feature.
- *
- * <p>This will always fail if the parent is null.</p>
- *
- * @param name The feature name.
- * @return The current state of the feature.
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the feature name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the feature name but
- * cannot determine its state at this time.
- * @see org.xml.sax.XMLReader#getFeature
- */
- public boolean getFeature (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- return parent.getFeature(name);
- } else {
- throw new SAXNotRecognizedException("Feature: " + name);
- }
- }
-
-
- /**
- * Set the value of a property.
- *
- * <p>This will always fail if the parent is null.</p>
- *
- * @param name The property name.
- * @param state The requested property value.
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the property name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the property name but
- * cannot set the requested value.
- * @see org.xml.sax.XMLReader#setProperty
- */
- public void setProperty (String name, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- parent.setProperty(name, value);
- } else {
- throw new SAXNotRecognizedException("Property: " + name);
- }
- }
-
-
- /**
- * Look up the value of a property.
- *
- * @param name The property name.
- * @return The current value of the property.
- * @exception org.xml.sax.SAXNotRecognizedException When the
- * XMLReader does not recognize the feature name.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the property name but
- * cannot determine its value at this time.
- * @see org.xml.sax.XMLReader#setFeature
- */
- public Object getProperty (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- return parent.getProperty(name);
- } else {
- throw new SAXNotRecognizedException("Property: " + name);
- }
- }
-
-
- /**
- * Set the entity resolver.
- *
- * @param resolver The new entity resolver.
- * @exception java.lang.NullPointerException If the resolver
- * is null.
- * @see org.xml.sax.XMLReader#setEntityResolver
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- if (resolver == null) {
- throw new NullPointerException("Null entity resolver");
- } else {
- entityResolver = resolver;
- }
- }
-
-
- /**
- * Get the current entity resolver.
- *
- * @return The current entity resolver, or null if none was set.
- * @see org.xml.sax.XMLReader#getEntityResolver
- */
- public EntityResolver getEntityResolver ()
- {
- return entityResolver;
- }
-
-
- /**
- * Set the DTD event handler.
- *
- * @param resolver The new DTD handler.
- * @exception java.lang.NullPointerException If the handler
- * is null.
- * @see org.xml.sax.XMLReader#setDTDHandler
- */
- public void setDTDHandler (DTDHandler handler)
- {
- if (handler == null) {
- throw new NullPointerException("Null DTD handler");
- } else {
- dtdHandler = handler;
- }
- }
-
-
- /**
- * Get the current DTD event handler.
- *
- * @return The current DTD handler, or null if none was set.
- * @see org.xml.sax.XMLReader#getDTDHandler
- */
- public DTDHandler getDTDHandler ()
- {
- return dtdHandler;
- }
-
-
- /**
- * Set the content event handler.
- *
- * @param resolver The new content handler.
- * @exception java.lang.NullPointerException If the handler
- * is null.
- * @see org.xml.sax.XMLReader#setContentHandler
- */
- public void setContentHandler (ContentHandler handler)
- {
- if (handler == null) {
- throw new NullPointerException("Null content handler");
- } else {
- contentHandler = handler;
- }
- }
-
-
- /**
- * Get the content event handler.
- *
- * @return The current content handler, or null if none was set.
- * @see org.xml.sax.XMLReader#getContentHandler
- */
- public ContentHandler getContentHandler ()
- {
- return contentHandler;
- }
-
-
- /**
- * Set the error event handler.
- *
- * @param handle The new error handler.
- * @exception java.lang.NullPointerException If the handler
- * is null.
- * @see org.xml.sax.XMLReader#setErrorHandler
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- if (handler == null) {
- throw new NullPointerException("Null error handler");
- } else {
- errorHandler = handler;
- }
- }
-
-
- /**
- * Get the current error event handler.
- *
- * @return The current error handler, or null if none was set.
- * @see org.xml.sax.XMLReader#getErrorHandler
- */
- public ErrorHandler getErrorHandler ()
- {
- return errorHandler;
- }
-
-
- /**
- * Parse a document.
- *
- * @param input The input source for the document entity.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see org.xml.sax.XMLReader#parse(org.xml.sax.InputSource)
- */
- public void parse (InputSource input)
- throws SAXException, IOException
- {
- setupParse();
- parent.parse(input);
- }
-
-
- /**
- * Parse a document.
- *
- * @param systemId The system identifier as a fully-qualified URI.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see org.xml.sax.XMLReader#parse(java.lang.String)
- */
- public void parse (String systemId)
- throws SAXException, IOException
- {
- parse(new InputSource(systemId));
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.EntityResolver.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter an external entity resolution.
- *
- * @param publicId The entity's public identifier, or null.
- * @param systemId The entity's system identifier.
- * @return A new InputSource or null for the default.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @exception java.io.IOException The client may throw an
- * I/O-related exception while obtaining the
- * new InputSource.
- * @see org.xml.sax.EntityResolver#resolveEntity
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException, IOException
- {
- if (entityResolver != null) {
- return entityResolver.resolveEntity(publicId, systemId);
- } else {
- return null;
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.DTDHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter a notation declaration event.
- *
- * @param name The notation name.
- * @param publicId The notation's public identifier, or null.
- * @param systemId The notation's system identifier, or null.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.DTDHandler#notationDecl
- */
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- if (dtdHandler != null) {
- dtdHandler.notationDecl(name, publicId, systemId);
- }
- }
-
-
- /**
- * Filter an unparsed entity declaration event.
- *
- * @param name The entity name.
- * @param publicId The entity's public identifier, or null.
- * @param systemId The entity's system identifier, or null.
- * @param notationName The name of the associated notation.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public void unparsedEntityDecl (String name, String publicId,
- String systemId, String notationName)
- throws SAXException
- {
- if (dtdHandler != null) {
- dtdHandler.unparsedEntityDecl(name, publicId, systemId,
- notationName);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.ContentHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter a new document locator event.
- *
- * @param locator The document locator.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
- public void setDocumentLocator (Locator locator)
- {
- this.locator = locator;
- if (contentHandler != null) {
- contentHandler.setDocumentLocator(locator);
- }
- }
-
-
- /**
- * Filter a start document event.
- *
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startDocument();
- }
- }
-
-
- /**
- * Filter an end document event.
- *
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endDocument();
- }
- }
-
-
- /**
- * Filter a start Namespace prefix mapping event.
- *
- * @param prefix The Namespace prefix.
- * @param uri The Namespace URI.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#startPrefixMapping
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startPrefixMapping(prefix, uri);
- }
- }
-
-
- /**
- * Filter an end Namespace prefix mapping event.
- *
- * @param prefix The Namespace prefix.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#endPrefixMapping
- */
- public void endPrefixMapping (String prefix)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endPrefixMapping(prefix);
- }
- }
-
-
- /**
- * Filter a start element event.
- *
- * @param uri The element's Namespace URI, or the empty string.
- * @param localName The element's local name, or the empty string.
- * @param qName The element's qualified (prefixed) name, or the empty
- * string.
- * @param atts The element's attributes.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#startElement
- */
- public void startElement (String uri, String localName, String qName,
- Attributes atts)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startElement(uri, localName, qName, atts);
- }
- }
-
-
- /**
- * Filter an end element event.
- *
- * @param uri The element's Namespace URI, or the empty string.
- * @param localName The element's local name, or the empty string.
- * @param qName The element's qualified (prefixed) name, or the empty
- * string.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#endElement
- */
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endElement(uri, localName, qName);
- }
- }
-
-
- /**
- * Filter a character data event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use from the array.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.characters(ch, start, length);
- }
- }
-
-
- /**
- * Filter an ignorable whitespace event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use from the array.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.ignorableWhitespace(ch, start, length);
- }
- }
-
-
- /**
- * Filter a processing instruction event.
- *
- * @param target The processing instruction target.
- * @param data The text following the target.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.processingInstruction(target, data);
- }
- }
-
-
- /**
- * Filter a skipped entity event.
- *
- * @param name The name of the skipped entity.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ContentHandler#skippedEntity
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.skippedEntity(name);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.ErrorHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter a warning event.
- *
- * @param e The nwarning as an exception.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ErrorHandler#warning
- */
- public void warning (SAXParseException e)
- throws SAXException
- {
- if (errorHandler != null) {
- errorHandler.warning(e);
- }
- }
-
-
- /**
- * Filter an error event.
- *
- * @param e The error as an exception.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ErrorHandler#error
- */
- public void error (SAXParseException e)
- throws SAXException
- {
- if (errorHandler != null) {
- errorHandler.error(e);
- }
- }
-
-
- /**
- * Filter a fatal error event.
- *
- * @param e The error as an exception.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see org.xml.sax.ErrorHandler#fatalError
- */
- public void fatalError (SAXParseException e)
- throws SAXException
- {
- if (errorHandler != null) {
- errorHandler.fatalError(e);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set up before a parse.
- *
- * <p>Before every parse, check whether the parent is
- * non-null, and re-register the filter for all of the
- * events.</p>
- */
- private void setupParse ()
- {
- if (parent == null) {
- throw new NullPointerException("No parent for filter");
- }
- parent.setEntityResolver(this);
- parent.setDTDHandler(this);
- parent.setContentHandler(this);
- parent.setErrorHandler(this);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private XMLReader parent = null;
- private Locator locator = null;
- private EntityResolver entityResolver = null;
- private DTDHandler dtdHandler = null;
- private ContentHandler contentHandler = null;
- private ErrorHandler errorHandler = null;
-
-}
-
-// end of XMLFilterImpl.java
+// XMLFilterImpl.java - base SAX2 filter implementation.
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: XMLFilterImpl.java,v 1.3.2.7 2002/01/29 21:34:14 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.io.IOException;
+
+import org.xml.sax.XMLReader;
+import org.xml.sax.XMLFilter;
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.Attributes;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.SAXNotSupportedException;
+import org.xml.sax.SAXNotRecognizedException;
+
+
+/**
+ * Base class for deriving an XML filter.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class is designed to sit between an {@link org.xml.sax.XMLReader
+ * XMLReader} and the client application's event handlers. By default, it
+ * does nothing but pass requests up to the reader and events
+ * on to the handlers unmodified, but subclasses can override
+ * specific methods to modify the event stream or the configuration
+ * requests as they pass through.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.XMLFilter
+ * @see org.xml.sax.XMLReader
+ * @see org.xml.sax.EntityResolver
+ * @see org.xml.sax.DTDHandler
+ * @see org.xml.sax.ContentHandler
+ * @see org.xml.sax.ErrorHandler
+ */
+public class XMLFilterImpl
+ implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Constructors.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Construct an empty XML filter, with no parent.
+ *
+ * <p>This filter will have no parent: you must assign a parent
+ * before you start a parse or do any configuration with
+ * setFeature or setProperty, unless you use this as a pure event
+ * consumer rather than as an {@link XMLReader}.</p>
+ *
+ * @see org.xml.sax.XMLReader#setFeature
+ * @see org.xml.sax.XMLReader#setProperty
+ * @see #setParent
+ */
+ public XMLFilterImpl ()
+ {
+ super();
+ }
+
+
+ /**
+ * Construct an XML filter with the specified parent.
+ *
+ * @see #setParent
+ * @see #getParent
+ */
+ public XMLFilterImpl (XMLReader parent)
+ {
+ super();
+ setParent(parent);
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.XMLFilter.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set the parent reader.
+ *
+ * <p>This is the {@link org.xml.sax.XMLReader XMLReader} from which
+ * this filter will obtain its events and to which it will pass its
+ * configuration requests. The parent may itself be another filter.</p>
+ *
+ * <p>If there is no parent reader set, any attempt to parse
+ * or to set or get a feature or property will fail.</p>
+ *
+ * @param parent The parent XML reader.
+ * @see #getParent
+ */
+ public void setParent (XMLReader parent)
+ {
+ this.parent = parent;
+ }
+
+
+ /**
+ * Get the parent reader.
+ *
+ * @return The parent XML reader, or null if none is set.
+ * @see #setParent
+ */
+ public XMLReader getParent ()
+ {
+ return parent;
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.XMLReader.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set the value of a feature.
+ *
+ * <p>This will always fail if the parent is null.</p>
+ *
+ * @param name The feature name.
+ * @param value The requested feature value.
+ * @exception org.xml.sax.SAXNotRecognizedException If the feature
+ * value can't be assigned or retrieved from the parent.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * parent recognizes the feature name but
+ * cannot set the requested value.
+ */
+ public void setFeature (String name, boolean value)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ if (parent != null) {
+ parent.setFeature(name, value);
+ } else {
+ throw new SAXNotRecognizedException("Feature: " + name);
+ }
+ }
+
+
+ /**
+ * Look up the value of a feature.
+ *
+ * <p>This will always fail if the parent is null.</p>
+ *
+ * @param name The feature name.
+ * @return The current value of the feature.
+ * @exception org.xml.sax.SAXNotRecognizedException If the feature
+ * value can't be assigned or retrieved from the parent.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * parent recognizes the feature name but
+ * cannot determine its value at this time.
+ */
+ public boolean getFeature (String name)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ if (parent != null) {
+ return parent.getFeature(name);
+ } else {
+ throw new SAXNotRecognizedException("Feature: " + name);
+ }
+ }
+
+
+ /**
+ * Set the value of a property.
+ *
+ * <p>This will always fail if the parent is null.</p>
+ *
+ * @param name The property name.
+ * @param value The requested property value.
+ * @exception org.xml.sax.SAXNotRecognizedException If the property
+ * value can't be assigned or retrieved from the parent.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * parent recognizes the property name but
+ * cannot set the requested value.
+ */
+ public void setProperty (String name, Object value)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ if (parent != null) {
+ parent.setProperty(name, value);
+ } else {
+ throw new SAXNotRecognizedException("Property: " + name);
+ }
+ }
+
+
+ /**
+ * Look up the value of a property.
+ *
+ * @param name The property name.
+ * @return The current value of the property.
+ * @exception org.xml.sax.SAXNotRecognizedException If the property
+ * value can't be assigned or retrieved from the parent.
+ * @exception org.xml.sax.SAXNotSupportedException When the
+ * parent recognizes the property name but
+ * cannot determine its value at this time.
+ */
+ public Object getProperty (String name)
+ throws SAXNotRecognizedException, SAXNotSupportedException
+ {
+ if (parent != null) {
+ return parent.getProperty(name);
+ } else {
+ throw new SAXNotRecognizedException("Property: " + name);
+ }
+ }
+
+
+ /**
+ * Set the entity resolver.
+ *
+ * @param resolver The new entity resolver.
+ */
+ public void setEntityResolver (EntityResolver resolver)
+ {
+ entityResolver = resolver;
+ }
+
+
+ /**
+ * Get the current entity resolver.
+ *
+ * @return The current entity resolver, or null if none was set.
+ */
+ public EntityResolver getEntityResolver ()
+ {
+ return entityResolver;
+ }
+
+
+ /**
+ * Set the DTD event handler.
+ *
+ * @param resolver The new DTD handler.
+ */
+ public void setDTDHandler (DTDHandler handler)
+ {
+ dtdHandler = handler;
+ }
+
+
+ /**
+ * Get the current DTD event handler.
+ *
+ * @return The current DTD handler, or null if none was set.
+ */
+ public DTDHandler getDTDHandler ()
+ {
+ return dtdHandler;
+ }
+
+
+ /**
+ * Set the content event handler.
+ *
+ * @param resolver The new content handler.
+ */
+ public void setContentHandler (ContentHandler handler)
+ {
+ contentHandler = handler;
+ }
+
+
+ /**
+ * Get the content event handler.
+ *
+ * @return The current content handler, or null if none was set.
+ */
+ public ContentHandler getContentHandler ()
+ {
+ return contentHandler;
+ }
+
+
+ /**
+ * Set the error event handler.
+ *
+ * @param handle The new error handler.
+ */
+ public void setErrorHandler (ErrorHandler handler)
+ {
+ errorHandler = handler;
+ }
+
+
+ /**
+ * Get the current error event handler.
+ *
+ * @return The current error handler, or null if none was set.
+ */
+ public ErrorHandler getErrorHandler ()
+ {
+ return errorHandler;
+ }
+
+
+ /**
+ * Parse a document.
+ *
+ * @param input The input source for the document entity.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException An IO exception from the parser,
+ * possibly from a byte stream or character stream
+ * supplied by the application.
+ */
+ public void parse (InputSource input)
+ throws SAXException, IOException
+ {
+ setupParse();
+ parent.parse(input);
+ }
+
+
+ /**
+ * Parse a document.
+ *
+ * @param systemId The system identifier as a fully-qualified URI.
+ * @exception org.xml.sax.SAXException Any SAX exception, possibly
+ * wrapping another exception.
+ * @exception java.io.IOException An IO exception from the parser,
+ * possibly from a byte stream or character stream
+ * supplied by the application.
+ */
+ public void parse (String systemId)
+ throws SAXException, IOException
+ {
+ parse(new InputSource(systemId));
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.EntityResolver.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Filter an external entity resolution.
+ *
+ * @param publicId The entity's public identifier, or null.
+ * @param systemId The entity's system identifier.
+ * @return A new InputSource or null for the default.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ * @exception java.io.IOException The client may throw an
+ * I/O-related exception while obtaining the
+ * new InputSource.
+ */
+ public InputSource resolveEntity (String publicId, String systemId)
+ throws SAXException, IOException
+ {
+ if (entityResolver != null) {
+ return entityResolver.resolveEntity(publicId, systemId);
+ } else {
+ return null;
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.DTDHandler.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Filter a notation declaration event.
+ *
+ * @param name The notation name.
+ * @param publicId The notation's public identifier, or null.
+ * @param systemId The notation's system identifier, or null.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void notationDecl (String name, String publicId, String systemId)
+ throws SAXException
+ {
+ if (dtdHandler != null) {
+ dtdHandler.notationDecl(name, publicId, systemId);
+ }
+ }
+
+
+ /**
+ * Filter an unparsed entity declaration event.
+ *
+ * @param name The entity name.
+ * @param publicId The entity's public identifier, or null.
+ * @param systemId The entity's system identifier, or null.
+ * @param notationName The name of the associated notation.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void unparsedEntityDecl (String name, String publicId,
+ String systemId, String notationName)
+ throws SAXException
+ {
+ if (dtdHandler != null) {
+ dtdHandler.unparsedEntityDecl(name, publicId, systemId,
+ notationName);
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.ContentHandler.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Filter a new document locator event.
+ *
+ * @param locator The document locator.
+ */
+ public void setDocumentLocator (Locator locator)
+ {
+ this.locator = locator;
+ if (contentHandler != null) {
+ contentHandler.setDocumentLocator(locator);
+ }
+ }
+
+
+ /**
+ * Filter a start document event.
+ *
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void startDocument ()
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.startDocument();
+ }
+ }
+
+
+ /**
+ * Filter an end document event.
+ *
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void endDocument ()
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.endDocument();
+ }
+ }
+
+
+ /**
+ * Filter a start Namespace prefix mapping event.
+ *
+ * @param prefix The Namespace prefix.
+ * @param uri The Namespace URI.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void startPrefixMapping (String prefix, String uri)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.startPrefixMapping(prefix, uri);
+ }
+ }
+
+
+ /**
+ * Filter an end Namespace prefix mapping event.
+ *
+ * @param prefix The Namespace prefix.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void endPrefixMapping (String prefix)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.endPrefixMapping(prefix);
+ }
+ }
+
+
+ /**
+ * Filter a start element event.
+ *
+ * @param uri The element's Namespace URI, or the empty string.
+ * @param localName The element's local name, or the empty string.
+ * @param qName The element's qualified (prefixed) name, or the empty
+ * string.
+ * @param atts The element's attributes.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void startElement (String uri, String localName, String qName,
+ Attributes atts)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.startElement(uri, localName, qName, atts);
+ }
+ }
+
+
+ /**
+ * Filter an end element event.
+ *
+ * @param uri The element's Namespace URI, or the empty string.
+ * @param localName The element's local name, or the empty string.
+ * @param qName The element's qualified (prefixed) name, or the empty
+ * string.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void endElement (String uri, String localName, String qName)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.endElement(uri, localName, qName);
+ }
+ }
+
+
+ /**
+ * Filter a character data event.
+ *
+ * @param ch An array of characters.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use from the array.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void characters (char ch[], int start, int length)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.characters(ch, start, length);
+ }
+ }
+
+
+ /**
+ * Filter an ignorable whitespace event.
+ *
+ * @param ch An array of characters.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use from the array.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.ignorableWhitespace(ch, start, length);
+ }
+ }
+
+
+ /**
+ * Filter a processing instruction event.
+ *
+ * @param target The processing instruction target.
+ * @param data The text following the target.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void processingInstruction (String target, String data)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.processingInstruction(target, data);
+ }
+ }
+
+
+ /**
+ * Filter a skipped entity event.
+ *
+ * @param name The name of the skipped entity.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void skippedEntity (String name)
+ throws SAXException
+ {
+ if (contentHandler != null) {
+ contentHandler.skippedEntity(name);
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.ErrorHandler.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Filter a warning event.
+ *
+ * @param e The warning as an exception.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void warning (SAXParseException e)
+ throws SAXException
+ {
+ if (errorHandler != null) {
+ errorHandler.warning(e);
+ }
+ }
+
+
+ /**
+ * Filter an error event.
+ *
+ * @param e The error as an exception.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void error (SAXParseException e)
+ throws SAXException
+ {
+ if (errorHandler != null) {
+ errorHandler.error(e);
+ }
+ }
+
+
+ /**
+ * Filter a fatal error event.
+ *
+ * @param e The error as an exception.
+ * @exception org.xml.sax.SAXException The client may throw
+ * an exception during processing.
+ */
+ public void fatalError (SAXParseException e)
+ throws SAXException
+ {
+ if (errorHandler != null) {
+ errorHandler.fatalError(e);
+ }
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal methods.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set up before a parse.
+ *
+ * <p>Before every parse, check whether the parent is
+ * non-null, and re-register the filter for all of the
+ * events.</p>
+ */
+ private void setupParse ()
+ {
+ if (parent == null) {
+ throw new NullPointerException("No parent for filter");
+ }
+ parent.setEntityResolver(this);
+ parent.setDTDHandler(this);
+ parent.setContentHandler(this);
+ parent.setErrorHandler(this);
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ private XMLReader parent = null;
+ private Locator locator = null;
+ private EntityResolver entityResolver = null;
+ private DTDHandler dtdHandler = null;
+ private ContentHandler contentHandler = null;
+ private ErrorHandler errorHandler = null;
+
+}
+
+// end of XMLFilterImpl.java
diff --git a/libjava/org/xml/sax/helpers/XMLReaderAdapter.java b/libjava/org/xml/sax/helpers/XMLReaderAdapter.java
index 4fb44d91d8e..19c8d3f8e88 100644
--- a/libjava/org/xml/sax/helpers/XMLReaderAdapter.java
+++ b/libjava/org/xml/sax/helpers/XMLReaderAdapter.java
@@ -1,526 +1,539 @@
-// XMLReaderAdapter.java - adapt an SAX2 XMLReader to a SAX1 Parser
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the public domain.
-
-// $Id: XMLReaderAdapter.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-
-import java.io.IOException;
-import java.util.Locale;
-
-import org.xml.sax.Parser; // deprecated
-import org.xml.sax.Locator;
-import org.xml.sax.InputSource;
-import org.xml.sax.AttributeList; // deprecated
-import org.xml.sax.EntityResolver;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.DocumentHandler; // deprecated
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXNotSupportedException;
-
-
-/**
- * Adapt a SAX2 XMLReader as a SAX1 Parser.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class wraps a SAX2 {@link org.xml.sax.XMLReader XMLReader}
- * and makes it act as a SAX1 {@link org.xml.sax.Parser Parser}. The XMLReader
- * must support a true value for the
- * http://xml.org/sax/features/namespace-prefixes property or parsing will fail
- * with a {@link org.xml.sax.SAXException SAXException}; if the XMLReader
- * supports a false value for the http://xml.org/sax/features/namespaces
- * property, that will also be used to improve efficiency.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.Parser
- * @see org.xml.sax.XMLReader
- */
-public class XMLReaderAdapter implements Parser, ContentHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructor.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Create a new adapter.
- *
- * <p>Use the "org.xml.sax.driver" property to locate the SAX2
- * driver to embed.</p>
- *
- * @exception org.xml.sax.SAXException If the embedded driver
- * cannot be instantiated or if the
- * org.xml.sax.driver property is not specified.
- */
- public XMLReaderAdapter ()
- throws SAXException
- {
- setup(XMLReaderFactory.createXMLReader());
- }
-
-
- /**
- * Create a new adapter.
- *
- * <p>Create a new adapter, wrapped around a SAX2 XMLReader.
- * The adapter will make the XMLReader act like a SAX1
- * Parser.</p>
- *
- * @param xmlReader The SAX2 XMLReader to wrap.
- * @exception java.lang.NullPointerException If the argument is null.
- */
- public XMLReaderAdapter (XMLReader xmlReader)
- {
- setup(xmlReader);
- }
-
-
-
- /**
- * Internal setup.
- *
- * @param xmlReader The embedded XMLReader.
- */
- private void setup (XMLReader xmlReader)
- {
- if (xmlReader == null) {
- throw new NullPointerException("XMLReader must not be null");
- }
- this.xmlReader = xmlReader;
- qAtts = new AttributesAdapter();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.Parser.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the locale for error reporting.
- *
- * <p>This is not supported in SAX2, and will always throw
- * an exception.</p>
- *
- * @param The locale for error reporting.
- * @see org.xml.sax.Parser#setLocale
- */
- public void setLocale (Locale locale)
- throws SAXException
- {
- throw new SAXNotSupportedException("setLocale not supported");
- }
-
-
- /**
- * Register the entity resolver.
- *
- * @param resolver The new resolver.
- * @see org.xml.sax.Parser#setEntityResolver
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- xmlReader.setEntityResolver(resolver);
- }
-
-
- /**
- * Register the DTD event handler.
- *
- * @param handler The new DTD event handler.
- * @see org.xml.sax.Parser#setDTDHandler
- */
- public void setDTDHandler (DTDHandler handler)
- {
- xmlReader.setDTDHandler(handler);
- }
-
-
- /**
- * Register the SAX1 document event handler.
- *
- * <p>Note that the SAX1 document handler has no Namespace
- * support.</p>
- *
- * @param handler The new SAX1 document event handler.
- * @see org.xml.sax.Parser#setDocumentHandler
- */
- public void setDocumentHandler (DocumentHandler handler)
- {
- documentHandler = handler;
- }
-
-
- /**
- * Register the error event handler.
- *
- * @param handler The new error event handler.
- * @see org.xml.sax.Parser#setErrorHandler
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- xmlReader.setErrorHandler(handler);
- }
-
-
- /**
- * Parse the document.
- *
- * <p>This method will throw an exception if the embedded
- * XMLReader does not support the
- * http://xml.org/sax/features/namespace-prefixes property.</p>
- *
- * @param systemId The absolute URL of the document.
- * @exception java.io.IOException If there is a problem reading
- * the raw content of the document.
- * @exception org.xml.sax.SAXException If there is a problem
- * processing the document.
- * @see #parse(org.xml.sax.InputSource)
- * @see org.xml.sax.Parser#parse(java.lang.String)
- */
- public void parse (String systemId)
- throws IOException, SAXException
- {
- parse(new InputSource(systemId));
- }
-
-
- /**
- * Parse the document.
- *
- * <p>This method will throw an exception if the embedded
- * XMLReader does not support the
- * http://xml.org/sax/features/namespace-prefixes property.</p>
- *
- * @param input An input source for the document.
- * @exception java.io.IOException If there is a problem reading
- * the raw content of the document.
- * @exception org.xml.sax.SAXException If there is a problem
- * processing the document.
- * @see #parse(java.lang.String)
- * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource)
- */
- public void parse (InputSource input)
- throws IOException, SAXException
- {
- setupXMLReader();
- xmlReader.parse(input);
- }
-
-
- /**
- * Set up the XML reader.
- */
- private void setupXMLReader ()
- throws SAXException
- {
- xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
- try {
- xmlReader.setFeature("http://xml.org/sax/features/namespaces",
- false);
- } catch (SAXException e) {
- // NO OP: it's just extra information, and we can ignore it
- }
- xmlReader.setContentHandler(this);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.ContentHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set a document locator.
- *
- * @param locator The document locator.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
- public void setDocumentLocator (Locator locator)
- {
- documentHandler.setDocumentLocator(locator);
- }
-
-
- /**
- * Start document event.
- *
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- documentHandler.startDocument();
- }
-
-
- /**
- * End document event.
- *
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- documentHandler.endDocument();
- }
-
-
- /**
- * Adapt a SAX2 start prefix mapping event.
- *
- * @param prefix The prefix being mapped.
- * @param uri The Namespace URI being mapped to.
- * @see org.xml.sax.ContentHandler#startPrefixMapping
- */
- public void startPrefixMapping (String prefix, String uri)
- {
- }
-
-
- /**
- * Adapt a SAX2 end prefix mapping event.
- *
- * @param prefix The prefix being mapped.
- * @see org.xml.sax.ContentHandler#endPrefixMapping
- */
- public void endPrefixMapping (String prefix)
- {
- }
-
-
- /**
- * Adapt a SAX2 start element event.
- *
- * @param uri The Namespace URI.
- * @param localName The Namespace local name.
- * @param qName The qualified (prefixed) name.
- * @param atts The SAX2 attributes.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void startElement (String uri, String localName,
- String qName, Attributes atts)
- throws SAXException
- {
- qAtts.setAttributes(atts);
- documentHandler.startElement(qName, qAtts);
- }
-
-
- /**
- * Adapt a SAX2 end element event.
- *
- * @param uri The Namespace URI.
- * @param localName The Namespace local name.
- * @param qName The qualified (prefixed) name.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#endElement
- */
- public void endElement (String uri, String localName,
- String qName)
- throws SAXException
- {
- documentHandler.endElement(qName);
- }
-
-
- /**
- * Adapt a SAX2 characters event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- documentHandler.characters(ch, start, length);
- }
-
-
- /**
- * Adapt a SAX2 ignorable whitespace event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- documentHandler.ignorableWhitespace(ch, start, length);
- }
-
-
- /**
- * Adapt a SAX2 processing instruction event.
- *
- * @param target The processing instruction target.
- * @param data The remainder of the processing instruction
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- documentHandler.processingInstruction(target, data);
- }
-
-
- /**
- * Adapt a SAX2 skipped entity event.
- *
- * @param name The name of the skipped entity.
- * @see org.xml.sax.ContentHandler#skippedEntity
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- XMLReader xmlReader;
- DocumentHandler documentHandler;
- AttributesAdapter qAtts;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal class.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Internal class to wrap a SAX2 Attributes object for SAX1.
- */
- final class AttributesAdapter implements AttributeList
- {
- AttributesAdapter ()
- {
- }
-
-
- /**
- * Set the embedded Attributes object.
- *
- * @param The embedded SAX2 Attributes.
- */
- void setAttributes (Attributes attributes)
- {
- this.attributes = attributes;
- }
-
-
- /**
- * Return the number of attributes.
- *
- * @return The length of the attribute list.
- * @see org.xml.sax.AttributeList#getLength
- */
- public int getLength ()
- {
- return attributes.getLength();
- }
-
-
- /**
- * Return the qualified (prefixed) name of an attribute by position.
- *
- * @return The qualified name.
- * @see org.xml.sax.AttributeList#getName
- */
- public String getName (int i)
- {
- return attributes.getQName(i);
- }
-
-
- /**
- * Return the type of an attribute by position.
- *
- * @return The type.
- * @see org.xml.sax.AttributeList#getType(int)
- */
- public String getType (int i)
- {
- return attributes.getType(i);
- }
-
-
- /**
- * Return the value of an attribute by position.
- *
- * @return The value.
- * @see org.xml.sax.AttributeList#getValue(int)
- */
- public String getValue (int i)
- {
- return attributes.getValue(i);
- }
-
-
- /**
- * Return the type of an attribute by qualified (prefixed) name.
- *
- * @return The type.
- * @see org.xml.sax.AttributeList#getType(java.lang.String)
- */
- public String getType (String qName)
- {
- return attributes.getType(qName);
- }
-
-
- /**
- * Return the value of an attribute by qualified (prefixed) name.
- *
- * @return The value.
- * @see org.xml.sax.AttributeList#getValue(java.lang.String)
- */
- public String getValue (String qName)
- {
- return attributes.getValue(qName);
- }
-
- private Attributes attributes;
- }
-
-}
-
-// end of XMLReaderAdapter.java
+// XMLReaderAdapter.java - adapt an SAX2 XMLReader to a SAX1 Parser
+// http://www.saxproject.org
+// Written by David Megginson
+// NO WARRANTY! This class is in the public domain.
+
+// $Id: XMLReaderAdapter.java,v 1.5.2.3 2002/01/29 21:34:15 dbrownell Exp $
+
+package org.xml.sax.helpers;
+
+import java.io.IOException;
+import java.util.Locale;
+
+import org.xml.sax.Parser; // deprecated
+import org.xml.sax.Locator;
+import org.xml.sax.InputSource;
+import org.xml.sax.AttributeList; // deprecated
+import org.xml.sax.EntityResolver;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.DocumentHandler; // deprecated
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+
+import org.xml.sax.XMLReader;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXNotSupportedException;
+
+
+/**
+ * Adapt a SAX2 XMLReader as a SAX1 Parser.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class wraps a SAX2 {@link org.xml.sax.XMLReader XMLReader}
+ * and makes it act as a SAX1 {@link org.xml.sax.Parser Parser}. The XMLReader
+ * must support a true value for the
+ * http://xml.org/sax/features/namespace-prefixes property or parsing will fail
+ * with a {@link org.xml.sax.SAXException SAXException}; if the XMLReader
+ * supports a false value for the http://xml.org/sax/features/namespaces
+ * property, that will also be used to improve efficiency.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson
+ * @version 2.0.1 (sax2r2)
+ * @see org.xml.sax.Parser
+ * @see org.xml.sax.XMLReader
+ */
+public class XMLReaderAdapter implements Parser, ContentHandler
+{
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Constructor.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Create a new adapter.
+ *
+ * <p>Use the "org.xml.sax.driver" property to locate the SAX2
+ * driver to embed.</p>
+ *
+ * @exception org.xml.sax.SAXException If the embedded driver
+ * cannot be instantiated or if the
+ * org.xml.sax.driver property is not specified.
+ */
+ public XMLReaderAdapter ()
+ throws SAXException
+ {
+ setup(XMLReaderFactory.createXMLReader());
+ }
+
+
+ /**
+ * Create a new adapter.
+ *
+ * <p>Create a new adapter, wrapped around a SAX2 XMLReader.
+ * The adapter will make the XMLReader act like a SAX1
+ * Parser.</p>
+ *
+ * @param xmlReader The SAX2 XMLReader to wrap.
+ * @exception java.lang.NullPointerException If the argument is null.
+ */
+ public XMLReaderAdapter (XMLReader xmlReader)
+ {
+ setup(xmlReader);
+ }
+
+
+
+ /**
+ * Internal setup.
+ *
+ * @param xmlReader The embedded XMLReader.
+ */
+ private void setup (XMLReader xmlReader)
+ {
+ if (xmlReader == null) {
+ throw new NullPointerException("XMLReader must not be null");
+ }
+ this.xmlReader = xmlReader;
+ qAtts = new AttributesAdapter();
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.Parser.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set the locale for error reporting.
+ *
+ * <p>This is not supported in SAX2, and will always throw
+ * an exception.</p>
+ *
+ * @param The locale for error reporting.
+ * @see org.xml.sax.Parser#setLocale
+ * @exception org.xml.sax.SAXException Thrown unless overridden.
+ */
+ public void setLocale (Locale locale)
+ throws SAXException
+ {
+ throw new SAXNotSupportedException("setLocale not supported");
+ }
+
+
+ /**
+ * Register the entity resolver.
+ *
+ * @param resolver The new resolver.
+ * @see org.xml.sax.Parser#setEntityResolver
+ */
+ public void setEntityResolver (EntityResolver resolver)
+ {
+ xmlReader.setEntityResolver(resolver);
+ }
+
+
+ /**
+ * Register the DTD event handler.
+ *
+ * @param handler The new DTD event handler.
+ * @see org.xml.sax.Parser#setDTDHandler
+ */
+ public void setDTDHandler (DTDHandler handler)
+ {
+ xmlReader.setDTDHandler(handler);
+ }
+
+
+ /**
+ * Register the SAX1 document event handler.
+ *
+ * <p>Note that the SAX1 document handler has no Namespace
+ * support.</p>
+ *
+ * @param handler The new SAX1 document event handler.
+ * @see org.xml.sax.Parser#setDocumentHandler
+ */
+ public void setDocumentHandler (DocumentHandler handler)
+ {
+ documentHandler = handler;
+ }
+
+
+ /**
+ * Register the error event handler.
+ *
+ * @param handler The new error event handler.
+ * @see org.xml.sax.Parser#setErrorHandler
+ */
+ public void setErrorHandler (ErrorHandler handler)
+ {
+ xmlReader.setErrorHandler(handler);
+ }
+
+
+ /**
+ * Parse the document.
+ *
+ * <p>This method will throw an exception if the embedded
+ * XMLReader does not support the
+ * http://xml.org/sax/features/namespace-prefixes property.</p>
+ *
+ * @param systemId The absolute URL of the document.
+ * @exception java.io.IOException If there is a problem reading
+ * the raw content of the document.
+ * @exception org.xml.sax.SAXException If there is a problem
+ * processing the document.
+ * @see #parse(org.xml.sax.InputSource)
+ * @see org.xml.sax.Parser#parse(java.lang.String)
+ */
+ public void parse (String systemId)
+ throws IOException, SAXException
+ {
+ parse(new InputSource(systemId));
+ }
+
+
+ /**
+ * Parse the document.
+ *
+ * <p>This method will throw an exception if the embedded
+ * XMLReader does not support the
+ * http://xml.org/sax/features/namespace-prefixes property.</p>
+ *
+ * @param input An input source for the document.
+ * @exception java.io.IOException If there is a problem reading
+ * the raw content of the document.
+ * @exception org.xml.sax.SAXException If there is a problem
+ * processing the document.
+ * @see #parse(java.lang.String)
+ * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource)
+ */
+ public void parse (InputSource input)
+ throws IOException, SAXException
+ {
+ setupXMLReader();
+ xmlReader.parse(input);
+ }
+
+
+ /**
+ * Set up the XML reader.
+ */
+ private void setupXMLReader ()
+ throws SAXException
+ {
+ xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
+ try {
+ xmlReader.setFeature("http://xml.org/sax/features/namespaces",
+ false);
+ } catch (SAXException e) {
+ // NO OP: it's just extra information, and we can ignore it
+ }
+ xmlReader.setContentHandler(this);
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Implementation of org.xml.sax.ContentHandler.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Set a document locator.
+ *
+ * @param locator The document locator.
+ * @see org.xml.sax.ContentHandler#setDocumentLocator
+ */
+ public void setDocumentLocator (Locator locator)
+ {
+ if (documentHandler != null)
+ documentHandler.setDocumentLocator(locator);
+ }
+
+
+ /**
+ * Start document event.
+ *
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#startDocument
+ */
+ public void startDocument ()
+ throws SAXException
+ {
+ if (documentHandler != null)
+ documentHandler.startDocument();
+ }
+
+
+ /**
+ * End document event.
+ *
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#endDocument
+ */
+ public void endDocument ()
+ throws SAXException
+ {
+ if (documentHandler != null)
+ documentHandler.endDocument();
+ }
+
+
+ /**
+ * Adapt a SAX2 start prefix mapping event.
+ *
+ * @param prefix The prefix being mapped.
+ * @param uri The Namespace URI being mapped to.
+ * @see org.xml.sax.ContentHandler#startPrefixMapping
+ */
+ public void startPrefixMapping (String prefix, String uri)
+ {
+ }
+
+
+ /**
+ * Adapt a SAX2 end prefix mapping event.
+ *
+ * @param prefix The prefix being mapped.
+ * @see org.xml.sax.ContentHandler#endPrefixMapping
+ */
+ public void endPrefixMapping (String prefix)
+ {
+ }
+
+
+ /**
+ * Adapt a SAX2 start element event.
+ *
+ * @param uri The Namespace URI.
+ * @param localName The Namespace local name.
+ * @param qName The qualified (prefixed) name.
+ * @param atts The SAX2 attributes.
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#endDocument
+ */
+ public void startElement (String uri, String localName,
+ String qName, Attributes atts)
+ throws SAXException
+ {
+ if (documentHandler != null) {
+ qAtts.setAttributes(atts);
+ documentHandler.startElement(qName, qAtts);
+ }
+ }
+
+
+ /**
+ * Adapt a SAX2 end element event.
+ *
+ * @param uri The Namespace URI.
+ * @param localName The Namespace local name.
+ * @param qName The qualified (prefixed) name.
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#endElement
+ */
+ public void endElement (String uri, String localName,
+ String qName)
+ throws SAXException
+ {
+ if (documentHandler != null)
+ documentHandler.endElement(qName);
+ }
+
+
+ /**
+ * Adapt a SAX2 characters event.
+ *
+ * @param ch An array of characters.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use.
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#characters
+ */
+ public void characters (char ch[], int start, int length)
+ throws SAXException
+ {
+ if (documentHandler != null)
+ documentHandler.characters(ch, start, length);
+ }
+
+
+ /**
+ * Adapt a SAX2 ignorable whitespace event.
+ *
+ * @param ch An array of characters.
+ * @param start The starting position in the array.
+ * @param length The number of characters to use.
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#ignorableWhitespace
+ */
+ public void ignorableWhitespace (char ch[], int start, int length)
+ throws SAXException
+ {
+ if (documentHandler != null)
+ documentHandler.ignorableWhitespace(ch, start, length);
+ }
+
+
+ /**
+ * Adapt a SAX2 processing instruction event.
+ *
+ * @param target The processing instruction target.
+ * @param data The remainder of the processing instruction
+ * @exception org.xml.sax.SAXException The client may raise a
+ * processing exception.
+ * @see org.xml.sax.ContentHandler#processingInstruction
+ */
+ public void processingInstruction (String target, String data)
+ throws SAXException
+ {
+ if (documentHandler != null)
+ documentHandler.processingInstruction(target, data);
+ }
+
+
+ /**
+ * Adapt a SAX2 skipped entity event.
+ *
+ * @param name The name of the skipped entity.
+ * @see org.xml.sax.ContentHandler#skippedEntity
+ * @exception org.xml.sax.SAXException Throwable by subclasses.
+ */
+ public void skippedEntity (String name)
+ throws SAXException
+ {
+ }
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal state.
+ ////////////////////////////////////////////////////////////////////
+
+ XMLReader xmlReader;
+ DocumentHandler documentHandler;
+ AttributesAdapter qAtts;
+
+
+
+ ////////////////////////////////////////////////////////////////////
+ // Internal class.
+ ////////////////////////////////////////////////////////////////////
+
+
+ /**
+ * Internal class to wrap a SAX2 Attributes object for SAX1.
+ */
+ final class AttributesAdapter implements AttributeList
+ {
+ AttributesAdapter ()
+ {
+ }
+
+
+ /**
+ * Set the embedded Attributes object.
+ *
+ * @param The embedded SAX2 Attributes.
+ */
+ void setAttributes (Attributes attributes)
+ {
+ this.attributes = attributes;
+ }
+
+
+ /**
+ * Return the number of attributes.
+ *
+ * @return The length of the attribute list.
+ * @see org.xml.sax.AttributeList#getLength
+ */
+ public int getLength ()
+ {
+ return attributes.getLength();
+ }
+
+
+ /**
+ * Return the qualified (prefixed) name of an attribute by position.
+ *
+ * @return The qualified name.
+ * @see org.xml.sax.AttributeList#getName
+ */
+ public String getName (int i)
+ {
+ return attributes.getQName(i);
+ }
+
+
+ /**
+ * Return the type of an attribute by position.
+ *
+ * @return The type.
+ * @see org.xml.sax.AttributeList#getType(int)
+ */
+ public String getType (int i)
+ {
+ return attributes.getType(i);
+ }
+
+
+ /**
+ * Return the value of an attribute by position.
+ *
+ * @return The value.
+ * @see org.xml.sax.AttributeList#getValue(int)
+ */
+ public String getValue (int i)
+ {
+ return attributes.getValue(i);
+ }
+
+
+ /**
+ * Return the type of an attribute by qualified (prefixed) name.
+ *
+ * @return The type.
+ * @see org.xml.sax.AttributeList#getType(java.lang.String)
+ */
+ public String getType (String qName)
+ {
+ return attributes.getType(qName);
+ }
+
+
+ /**
+ * Return the value of an attribute by qualified (prefixed) name.
+ *
+ * @return The value.
+ * @see org.xml.sax.AttributeList#getValue(java.lang.String)
+ */
+ public String getValue (String qName)
+ {
+ return attributes.getValue(qName);
+ }
+
+ private Attributes attributes;
+ }
+
+}
+
+// end of XMLReaderAdapter.java
diff --git a/libjava/org/xml/sax/helpers/XMLReaderFactory.java b/libjava/org/xml/sax/helpers/XMLReaderFactory.java
index 9443b27dcca..e1fa80c84cf 100644
--- a/libjava/org/xml/sax/helpers/XMLReaderFactory.java
+++ b/libjava/org/xml/sax/helpers/XMLReaderFactory.java
@@ -1,136 +1,203 @@
-// XMLReaderFactory.java - factory for creating a new reader.
-// Written by David Megginson, sax@megginson.com
-// NO WARRANTY! This class is in the Public Domain.
-
-// $Id: XMLReaderFactory.java,v 1.1 2000/10/02 02:43:20 sboag Exp $
-
-package org.xml.sax.helpers;
-import org.xml.sax.Parser;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-
-
-/**
- * Factory for creating an XML reader.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This class contains static methods for creating an XML reader
- * from an explicit class name, or for creating an XML reader based
- * on the value of the <code>org.xml.sax.driver</code> system
- * property:</p>
- *
- * <pre>
- * try {
- * XMLReader myReader = XMLReaderFactory.createXMLReader();
- * } catch (SAXException e) {
- * System.err.println(e.getMessage());
- * }
- * </pre>
- *
- * <p>Note that these methods will not be usable in environments where
- * system properties are not accessible or where the application or
- * applet is not permitted to load classes dynamically.</p>
- *
- * <p><strong>Note to implementors:</strong> SAX implementations in specialized
- * environments may replace this class with a different one optimized for the
- * environment, as long as its method signatures remain the same.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * <a href="mailto:sax@megginson.com">sax@megginson.com</a>
- * @version 2.0
- * @see org.xml.sax.XMLReader
- */
-final public class XMLReaderFactory
-{
-
- /**
- * Private constructor.
- *
- * <p>This constructor prevents the class from being instantiated.</p>
- */
- private XMLReaderFactory ()
- {
- }
-
-
- /**
- * Attempt to create an XML reader from a system property.
- *
- * <p>This method uses the value of the system property
- * "org.xml.sax.driver" as the full name of a Java class
- * and tries to instantiate that class as a SAX2
- * XMLReader.</p>
- *
- * <p>Note that many Java interpreters allow system properties
- * to be specified on the command line.</p>
- *
- * @return A new XMLReader.
- * @exception org.xml.sax.SAXException If the value of the
- * "org.xml.sax.driver" system property is null,
- * or if the class cannot be loaded and instantiated.
- * @see #createXMLReader(java.lang.String)
- */
- public static XMLReader createXMLReader ()
- throws SAXException
- {
- String className = System.getProperty("org.xml.sax.driver");
- if (className == null) {
- Parser parser;
- try {
- parser = ParserFactory.makeParser();
- } catch (Exception e) {
- parser = null;
- }
- if (parser == null) {
- throw new
- SAXException("System property org.xml.sax.driver not specified");
- } else {
- return new ParserAdapter(parser);
- }
- } else {
- return createXMLReader(className);
- }
- }
-
-
- /**
- * Attempt to create an XML reader from a class name.
- *
- * <p>Given a class name, this method attempts to load
- * and instantiate the class as an XML reader.</p>
- *
- * @return A new XML reader.
- * @exception org.xml.sax.SAXException If the class cannot be
- * loaded, instantiated, and cast to XMLReader.
- * @see #createXMLReader()
- */
- public static XMLReader createXMLReader (String className)
- throws SAXException
- {
- try {
- return (XMLReader)(Class.forName(className).newInstance());
- } catch (ClassNotFoundException e1) {
- throw new SAXException("SAX2 driver class " + className +
- " not found", e1);
- } catch (IllegalAccessException e2) {
- throw new SAXException("SAX2 driver class " + className +
- " found but cannot be loaded", e2);
- } catch (InstantiationException e3) {
- throw new SAXException("SAX2 driver class " + className +
- " loaded but cannot be instantiated (no empty public constructor?)",
- e3);
- } catch (ClassCastException e4) {
- throw new SAXException("SAX2 driver class " + className +
- " does not implement XMLReader", e4);
- }
-
- }
-
-}
-
-// end of XMLReaderFactory.java
+// XMLReaderFactory.java - factory for creating a new reader.
+// http://www.saxproject.org
+// Written by David Megginson
+// and by David Brownell
+// NO WARRANTY! This class is in the Public Domain.
+
+// $Id: XMLReaderFactory.java,v 1.5.2.4 2002/01/29 21:34:15 dbrownell Exp $
+
+package org.xml.sax.helpers;
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import org.xml.sax.XMLReader;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Factory for creating an XML reader.
+ *
+ * <blockquote>
+ * <em>This module, both source code and documentation, is in the
+ * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
+ * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+ * for further information.
+ * </blockquote>
+ *
+ * <p>This class contains static methods for creating an XML reader
+ * from an explicit class name, or based on runtime defaults:</p>
+ *
+ * <pre>
+ * try {
+ * XMLReader myReader = XMLReaderFactory.createXMLReader();
+ * } catch (SAXException e) {
+ * System.err.println(e.getMessage());
+ * }
+ * </pre>
+ *
+ * <p><strong>Note to Distributions bundled with parsers:</strong>
+ * You should modify the implementation of the no-arguments
+ * <em>createXMLReader</em> to handle cases where the external
+ * configuration mechanisms aren't set up. That method should do its
+ * best to return a parser when one is in the class path, even when
+ * nothing bound its class name to <code>org.xml.sax.driver</code> so
+ * those configuration mechanisms would see it.</p>
+ *
+ * @since SAX 2.0
+ * @author David Megginson, David Brownell
+ * @version 2.0.1 (sax2r2)
+ */
+final public class XMLReaderFactory
+{
+ /**
+ * Private constructor.
+ *
+ * <p>This constructor prevents the class from being instantiated.</p>
+ */
+ private XMLReaderFactory ()
+ {
+ }
+
+ private static final String property = "org.xml.sax.driver";
+
+ /**
+ * Attempt to create an XMLReader from system defaults.
+ * In environments which can support it, the name of the XMLReader
+ * class is determined by trying each these options in order, and
+ * using the first one which succeeds:</p> <ul>
+ *
+ * <li>If the system property <code>org.xml.sax.driver</code>
+ * has a value, that is used as an XMLReader class name. </li>
+ *
+ * <li>The JAR "Services API" is used to look for a class name
+ * in the <em>META-INF/services/org.xml.sax.driver</em> file in
+ * jarfiles available to the runtime.</li>
+ *
+ * <li> SAX parser distributions are strongly encouraged to provide
+ * a default XMLReader class name that will take effect only when
+ * previous options (on this list) are not successful.</li>
+ *
+ * <li>Finally, if {@link ParserFactory#makeParser()} can
+ * return a system default SAX1 parser, that parser is wrapped in
+ * a {@link ParserAdapter}. (This is a migration aid for SAX1
+ * environments, where the <code>org.xml.sax.parser</code> system
+ * property will often be usable.) </li>
+ *
+ * </ul>
+ *
+ * <p> In environments such as small embedded systems, which can not
+ * support that flexibility, other mechanisms to determine the default
+ * may be used. </p>
+ *
+ * <p>Note that many Java environments allow system properties to be
+ * initialized on a command line. This means that <em>in most cases</em>
+ * setting a good value for that property ensures that calls to this
+ * method will succeed, except when security policies intervene.
+ * This will also maximize application portability to older SAX
+ * environments, with less robust implementations of this method.
+ * </p>
+ *
+ * @return A new XMLReader.
+ * @exception org.xml.sax.SAXException If no default XMLReader class
+ * can be identified and instantiated.
+ * @see #createXMLReader(java.lang.String)
+ */
+ public static XMLReader createXMLReader ()
+ throws SAXException
+ {
+ String className = null;
+ ClassLoader loader = NewInstance.getClassLoader ();
+
+ // 1. try the JVM-instance-wide system property
+ try { className = System.getProperty (property); }
+ catch (Exception e) { /* normally fails for applets */ }
+
+ // 2. if that fails, try META-INF/services/
+ if (className == null) {
+ try {
+ String service = "META-INF/services/" + property;
+ InputStream in;
+ BufferedReader reader;
+
+ if (loader == null)
+ in = ClassLoader.getSystemResourceAsStream (service);
+ else
+ in = loader.getResourceAsStream (service);
+
+ if (in != null) {
+ reader = new BufferedReader (
+ new InputStreamReader (in, "UTF8"));
+ className = reader.readLine ();
+ in.close ();
+ }
+ } catch (Exception e) {
+ }
+ }
+
+ // 3. Distro-specific fallback
+ if (className == null) {
+// BEGIN DISTRIBUTION-SPECIFIC
+
+ // EXAMPLE:
+ // className = "com.example.sax.XmlReader";
+ // or a $JAVA_HOME/jre/lib/*properties setting...
+
+// END DISTRIBUTION-SPECIFIC
+ }
+
+ // do we know the XMLReader implementation class yet?
+ if (className != null)
+ return loadClass (loader, className);
+
+ // 4. panic -- adapt any SAX1 parser
+ try {
+ return new ParserAdapter (ParserFactory.makeParser ());
+ } catch (Exception e) {
+ throw new SAXException ("Can't create default XMLReader; "
+ + "is system property org.xml.sax.driver set?");
+ }
+ }
+
+
+ /**
+ * Attempt to create an XML reader from a class name.
+ *
+ * <p>Given a class name, this method attempts to load
+ * and instantiate the class as an XML reader.</p>
+ *
+ * <p>Note that this method will not be usable in environments where
+ * the caller (perhaps an applet) is not permitted to load classes
+ * dynamically.</p>
+ *
+ * @return A new XML reader.
+ * @exception org.xml.sax.SAXException If the class cannot be
+ * loaded, instantiated, and cast to XMLReader.
+ * @see #createXMLReader()
+ */
+ public static XMLReader createXMLReader (String className)
+ throws SAXException
+ {
+ return loadClass (NewInstance.getClassLoader (), className);
+ }
+
+ private static XMLReader loadClass (ClassLoader loader, String className)
+ throws SAXException
+ {
+ try {
+ return (XMLReader) NewInstance.newInstance (loader, className);
+ } catch (ClassNotFoundException e1) {
+ throw new SAXException("SAX2 driver class " + className +
+ " not found", e1);
+ } catch (IllegalAccessException e2) {
+ throw new SAXException("SAX2 driver class " + className +
+ " found but cannot be loaded", e2);
+ } catch (InstantiationException e3) {
+ throw new SAXException("SAX2 driver class " + className +
+ " loaded but cannot be instantiated (no empty public constructor?)",
+ e3);
+ } catch (ClassCastException e4) {
+ throw new SAXException("SAX2 driver class " + className +
+ " does not implement XMLReader", e4);
+ }
+ }
+}
diff --git a/libjava/org/xml/sax/helpers/package.html b/libjava/org/xml/sax/helpers/package.html
new file mode 100644
index 00000000000..458d1229c47
--- /dev/null
+++ b/libjava/org/xml/sax/helpers/package.html
@@ -0,0 +1,13 @@
+<HTML><HEAD>
+
+<!-- $Id: package.html,v 1.3.2.1 2001/11/09 20:32:58 dbrownell Exp $ -->
+
+</HEAD><BODY>
+
+<p>This package contains "helper" classes, including
+support for bootstrapping SAX-based applications.
+
+<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+for more information about SAX.</p>
+
+</BODY></HTML>
diff --git a/libjava/org/xml/sax/package.html b/libjava/org/xml/sax/package.html
new file mode 100644
index 00000000000..25f4b86cdf3
--- /dev/null
+++ b/libjava/org/xml/sax/package.html
@@ -0,0 +1,164 @@
+<html><head>
+
+<!-- $Id: package.html,v 1.2.2.2 2002/01/12 21:42:21 dbrownell Exp $ -->
+
+</head><body>
+
+<p> This package provides the core SAX APIs.
+Some SAX1 APIs are deprecated to encourage integration of
+namespace-awareness into designs of new applications
+and into maintainance of existing infrastructure. </p>
+
+<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
+for more information about SAX.</p>
+
+
+<h2> SAX2 Standard Feature Flags </h2>
+
+<p> One of the essential characteristics of SAX2 is that it added
+feature flags which can be used to examine and perhaps modify
+parser modes, in particular modes such as validation.
+Since features are identified by (absolute) URIs, anyone
+can define such features.
+Currently defined standard feature URIs have the prefix
+<code>http://xml.org/sax/features/</code> before an identifier such as
+<code>validation</code>. Turn features on or off using
+<em>setFeature</em>. Those standard identifiers are: </p>
+
+
+<table border="1" cellpadding="3" cellspacing="0" width="100%">
+ <tr align="center" bgcolor="#ccccff">
+ <th>Feature ID</th>
+ <th>Default</th>
+ <th>Description</th>
+ </tr>
+
+ <tr>
+ <td>external-general-entities</td>
+ <td><em>unspecified</em></td>
+ <td> Reports whether this parser processes external
+ general entities; always true if validating</td>
+ </tr>
+
+ <tr>
+ <td>external-parameter-entities</td>
+ <td><em>unspecified</em></td>
+ <td> Reports whether this parser processes external
+ parameter entities; always true if validating</td>
+ </tr>
+
+ <tr>
+ <td>lexical-handler/parameter-entities</td>
+ <td><em>unspecified</em></td>
+ <td> true indicates that the LexicalHandler will report the
+ beginning and end of parameter entities
+ </td>
+ </tr>
+
+ <tr>
+ <td>namespaces</td>
+ <td>true</td>
+ <td> true indicates namespace URIs and unprefixed local names
+ for element and attribute names will be available </td>
+ </tr>
+
+ <tr>
+ <td>namespace-prefixes</td>
+ <td>false</td>
+ <td> true indicates XML 1.0 names (with prefixes) and attributes
+ (including <em>xmlns*</em> attributes) will be available </td>
+ </tr>
+
+ <tr>
+ <td>string-interning</td>
+ <td><em>unspecified</em></td>
+ <td> true if all XML names (for elements, prefixes, attributes,
+ entities, notations, and local names),
+ as well as Namespace URIs, will have been interned
+ using <em>java.lang.String.intern</em>. This supports fast
+ testing of equality/inequality against string constants.</td>
+ </tr>
+
+ <tr>
+ <td>validation</td>
+ <td><em>unspecified</em></td>
+ <td> controls whether the parser is reporting all validity
+ errors; if true, all external entities will be read. </td>
+ </tr>
+
+</table>
+
+<p> Support for the default values of the
+<em>namespaces</em> and <em>namespace-prefixes</em>
+properties is required.
+</p>
+
+<p> For default values not specified by SAX2,
+each XMLReader implementation specifies its default,
+or may choose not to expose the feature flag.
+Unless otherwise specified here,
+implementations may support changing current values
+of these standard feature flags, but not while parsing.
+</p>
+
+<h2> SAX2 Standard Handler and Property IDs </h2>
+
+<p> For parser interface characteristics that are described
+as objects, a separate namespace is defined. The
+objects in this namespace are again identified by URI, and
+the standard property URIs have the prefix
+<code>http://xml.org/sax/properties/</code> before an identifier such as
+<code>lexical-handler</code> or
+<code>dom-node</code>. Manage those properties using
+<em>setProperty()</em>. Those identifiers are: </p>
+
+<table border="1" cellpadding="3" cellspacing="0" width="100%">
+ <tr align="center" bgcolor="#ccccff">
+ <th>Property ID</th>
+ <th>Description</th>
+ </tr>
+
+ <tr>
+ <td>declaration-handler</td>
+ <td> Used to see most DTD declarations except those treated
+ as lexical ("document element name is ...") or which are
+ mandatory for all SAX parsers (<em>DTDHandler</em>).
+ The Object must implement <a href="ext/DeclHandler.html"
+ ><em>org.xml.sax.ext.DeclHandler</em></a>.
+ </td>
+ </tr>
+
+ <tr>
+ <td>dom-node</td>
+ <td> For "DOM Walker" style parsers, which ignore their
+ <em>parser.parse()</em> parameters, this is used to
+ specify the DOM (sub)tree being walked by the parser.
+ The Object must implement the
+ <em>org.w3c.dom.Node</em> interface.
+ </td>
+ </tr>
+
+ <tr>
+ <td>lexical-handler</td>
+ <td> Used to see some syntax events that are essential in some
+ applications: comments, CDATA delimeters, selected general
+ entity inclusions, and the start and end of the DTD
+ (and declaration of document element name).
+ The Object must implement <a href="ext/LexicalHandler.html"
+ ><em>org.xml.sax.ext.LexicalHandler</em></a>.
+ </td>
+ </tr>
+
+ <tr>
+ <td>xml-string</td>
+ <td> Readable only during a parser callback, this exposes a <b>TBS</b>
+ chunk of characters responsible for the current event. </td>
+ </tr>
+
+</table>
+
+<p> All of these standard properties are optional;
+XMLReader implementations need not support them.
+</p>
+
+</body></html>
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc
index e92348bcc2c..656f483e96d 100644
--- a/libjava/posix-threads.cc
+++ b/libjava/posix-threads.cc
@@ -24,6 +24,9 @@ details. */
#include <signal.h>
#include <errno.h>
#include <limits.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h> // To test for _POSIX_THREAD_PRIORITY_SCHEDULING
+#endif
#include <gcj/cni.h>
#include <jvm.h>
@@ -318,6 +321,7 @@ _Jv_ThreadDestroyData (_Jv_Thread_t *data)
void
_Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio)
{
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
if (data->flags & FLAG_START)
{
struct sched_param param;
@@ -325,6 +329,7 @@ _Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio)
param.sched_priority = prio;
pthread_setschedparam (data->thread, SCHED_RR, &param);
}
+#endif
}
void
diff --git a/libjava/posix.cc b/libjava/posix.cc
index ebff1c9ec79..de58ab025c0 100644
--- a/libjava/posix.cc
+++ b/libjava/posix.cc
@@ -25,6 +25,23 @@ details. */
extern "C" unsigned long long _clock (void);
#endif
+#if defined(HAVE_PROC_SELF_EXE)
+static char exec_name[20];
+ // initialized in _Jv_platform_initialize()
+#endif
+
+const char *_Jv_ThisExecutable (void)
+{
+#if defined(DISABLE_MAIN_ARGS)
+ return "[Embedded App]";
+#elif defined(HAVE_PROC_SELF_EXE)
+ return exec_name;
+ // initialized in _Jv_platform_initialize()
+#else
+ return _Jv_GetSafeArg (0);
+#endif
+}
+
// gettimeofday implementation.
jlong
_Jv_platform_gettimeofday ()
@@ -62,6 +79,11 @@ _Jv_platform_initialize (void)
#else
signal (SIGPIPE, SIG_IGN);
#endif
+
+#if defined (HAVE_PROC_SELF_EXE)
+ // Compute our executable name
+ sprintf (exec_name, "/proc/%d/exe", getpid ());
+#endif
}
// Set platform-specific System properties.
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 2195db161e1..7e66bc767b0 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -86,13 +86,34 @@ const char *_Jv_Jar_Class_Path;
property_pair *_Jv_Environment_Properties;
#endif
-// The name of this executable.
-static char *_Jv_execName;
-
// Stash the argv pointer to benefit native libraries that need it.
const char **_Jv_argv;
int _Jv_argc;
+// Argument support.
+int
+_Jv_GetNbArgs (void)
+{
+ // _Jv_argc is 0 if not explicitly initialized.
+ return _Jv_argc;
+}
+
+const char *
+_Jv_GetSafeArg (int index)
+{
+ if (index >=0 && index < _Jv_GetNbArgs ())
+ return _Jv_argv[index];
+ else
+ return "";
+}
+
+void
+_Jv_SetArgs (int argc, const char **argv)
+{
+ _Jv_argc = argc;
+ _Jv_argv = argv;
+}
+
#ifdef ENABLE_JVMPI
// Pointer to JVMPI notification functions.
void (*_Jv_JVMPI_Notify_OBJECT_ALLOC) (JVMPI_Event *event);
@@ -707,22 +728,6 @@ static JArray<jstring> *arg_vec;
// The primary thread.
static java::lang::Thread *main_thread;
-char *
-_Jv_ThisExecutable (void)
-{
- return _Jv_execName;
-}
-
-void
-_Jv_ThisExecutable (const char *name)
-{
- if (name)
- {
- _Jv_execName = (char *) _Jv_Malloc (strlen (name) + 1);
- strcpy (_Jv_execName, name);
- }
-}
-
#ifndef DISABLE_GETENV_PROPERTIES
static char *
@@ -955,24 +960,10 @@ void
_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv,
bool is_jar)
{
- _Jv_argv = argv;
- _Jv_argc = argc;
+ _Jv_SetArgs (argc, argv);
java::lang::Runtime *runtime = NULL;
-
-#ifdef DISABLE_MAIN_ARGS
- _Jv_ThisExecutable ("[Embedded App]");
-#else
-#ifdef HAVE_PROC_SELF_EXE
- char exec_name[20];
- sprintf (exec_name, "/proc/%d/exe", getpid ());
- _Jv_ThisExecutable (exec_name);
-#else
- _Jv_ThisExecutable (argv[0]);
-#endif /* HAVE_PROC_SELF_EXE */
-#endif /* DISABLE_MAIN_ARGS */
-
try
{
// Set this very early so that it is seen when java.lang.System
diff --git a/libjava/resolve.cc b/libjava/resolve.cc
index e195c333cc8..8f24c9126b9 100644
--- a/libjava/resolve.cc
+++ b/libjava/resolve.cc
@@ -1,6 +1,6 @@
// resolve.cc - Code for linking and resolving classes and pool entries.
-/* Copyright (C) 1999, 2000, 2001 , 2002 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 , 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -238,7 +238,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
// First search the class itself.
the_method = _Jv_SearchMethodInClass (owner, klass,
- method_name, method_signature);
+ method_name, method_signature);
if (the_method != 0)
{
@@ -246,9 +246,10 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
goto end_of_method_search;
}
- // If we are resolving an interface method, search the interface's
- // superinterfaces (A superinterface is not an interface's superclass -
- // a superinterface is implemented by the interface).
+ // If we are resolving an interface method, search the
+ // interface's superinterfaces (A superinterface is not an
+ // interface's superclass - a superinterface is implemented by
+ // the interface).
if (pool->tags[index] == JV_CONSTANT_InterfaceMethodref)
{
_Jv_ifaces ifaces;
@@ -257,8 +258,8 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
ifaces.list = (jclass *) _Jv_Malloc (ifaces.len * sizeof (jclass *));
_Jv_GetInterfaces (owner, &ifaces);
-
- for (int i=0; i < ifaces.count; i++)
+
+ for (int i = 0; i < ifaces.count; i++)
{
jclass cls = ifaces.list[i];
the_method = _Jv_SearchMethodInClass (cls, klass, method_name,
@@ -269,9 +270,9 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
break;
}
}
-
+
_Jv_Free (ifaces.list);
-
+
if (the_method != 0)
goto end_of_method_search;
}
@@ -281,7 +282,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
cls = cls->getSuperclass ())
{
the_method = _Jv_SearchMethodInClass (cls, klass,
- method_name, method_signature);
+ method_name, method_signature);
if (the_method != 0)
{
found_class = cls;
@@ -363,6 +364,58 @@ _Jv_SearchMethodInClass (jclass cls, jclass klass,
return 0;
}
+// A helper for _Jv_PrepareClass. This adds missing `Miranda methods'
+// to a class.
+void
+_Jv_PrepareMissingMethods (jclass base2, jclass iface_class)
+{
+ _Jv_InterpClass *base = reinterpret_cast<_Jv_InterpClass *> (base2);
+ for (int i = 0; i < iface_class->interface_count; ++i)
+ {
+ for (int j = 0; j < iface_class->interfaces[i]->method_count; ++j)
+ {
+ _Jv_Method *meth = &iface_class->interfaces[i]->methods[j];
+ // Don't bother with <clinit>.
+ if (meth->name->data[0] == '<')
+ continue;
+ _Jv_Method *new_meth = _Jv_LookupDeclaredMethod (base, meth->name,
+ meth->signature);
+ if (! new_meth)
+ {
+ // We assume that such methods are very unlikely, so we
+ // just reallocate the method array each time one is
+ // found. This greatly simplifies the searching --
+ // otherwise we have to make sure that each such method
+ // found is really unique among all superinterfaces.
+ int new_count = base->method_count + 1;
+ _Jv_Method *new_m
+ = (_Jv_Method *) _Jv_AllocBytes (sizeof (_Jv_Method)
+ * new_count);
+ memcpy (new_m, base->methods,
+ sizeof (_Jv_Method) * base->method_count);
+
+ // Add new method.
+ new_m[base->method_count] = *meth;
+ new_m[base->method_count].index = (_Jv_ushort) -1;
+ new_m[base->method_count].accflags
+ |= java::lang::reflect::Modifier::INVISIBLE;
+
+ _Jv_MethodBase **new_im
+ = (_Jv_MethodBase **) _Jv_AllocBytes (sizeof (_Jv_MethodBase *)
+ * new_count);
+ memcpy (new_im, base->interpreted_methods,
+ sizeof (_Jv_MethodBase *) * base->method_count);
+
+ base->methods = new_m;
+ base->interpreted_methods = new_im;
+ base->method_count = new_count;
+ }
+ }
+
+ _Jv_PrepareMissingMethods (base, iface_class->interfaces[i]);
+ }
+}
+
void
_Jv_PrepareClass(jclass klass)
{
@@ -516,13 +569,24 @@ _Jv_PrepareClass(jclass klass)
}
}
- if (clz->accflags & Modifier::INTERFACE)
+ if ((clz->accflags & Modifier::INTERFACE))
{
clz->state = JV_STATE_PREPARED;
clz->notifyAll ();
return;
}
+ // A class might have so-called "Miranda methods". This is a method
+ // that is declared in an interface and not re-declared in an
+ // abstract class. Some compilers don't emit declarations for such
+ // methods in the class; this will give us problems since we expect
+ // a declaration for any method requiring a vtable entry. We handle
+ // this here by searching for such methods and constructing new
+ // internal declarations for them. We only need to do this for
+ // abstract classes.
+ if ((clz->accflags & Modifier::ABSTRACT))
+ _Jv_PrepareMissingMethods (clz, clz);
+
clz->vtable_method_count = -1;
_Jv_MakeVTable (clz);
@@ -937,7 +1001,14 @@ _Jv_JNIMethod::ncode ()
memcpy (&jni_arg_types[offset], &closure->arg_types[0],
arg_count * sizeof (ffi_type *));
- if (ffi_prep_cif (&jni_cif, FFI_DEFAULT_ABI,
+ // NOTE: This must agree with the JNICALL definition in jni.h
+#ifdef WIN32
+#define FFI_JNI_ABI FFI_STDCALL
+#else
+#define FFI_JNI_ABI FFI_DEFAULT_ABI
+#endif
+
+ if (ffi_prep_cif (&jni_cif, FFI_JNI_ABI,
extra_args + arg_count, rtype,
jni_arg_types) != FFI_OK)
throw_internal_error ("ffi_prep_cif failed for JNI function");
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
index 8791dd4ec85..7e6b69b5080 100644
--- a/libjava/testsuite/ChangeLog
+++ b/libjava/testsuite/ChangeLog
@@ -1,3 +1,160 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-06 Tom Tromey <tromey@redhat.com>
+
+ * libjava.lang/verify.java: New file.
+ * libjava.lang/verify.out: New file.
+
+2003-05-02 Tom Tromey <tromey@redhat.com>
+
+ PR java/10459:
+ * libjava.compile/pr10459_2.java: New file.
+ * libjava.compile/pr10459.java: New file.
+
+2003-05-01 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/10582:
+ * libjava.lang/assign.java: New file.
+ * libjava.lang/assign.out: New file.
+
+2003-04-16 Tom Tromey <tromey@redhat.com>
+
+ * libjava.mauve/xfails: Added some more failing tests.
+
+2003-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR middle-end/8866
+ * libjava.lang/PR8866.java: New test.
+
+2003-04-16 Andrew Haley <aph@redhat.com>
+
+ * libjava.lang/Throw_2.java (main): Make a successful test produce
+ some output.
+
+2003-03-10 Tom Tromey <tromey@redhat.com>
+
+ * libjava.lang/initfield.java: New file.
+ * libjava.lang/initfield.out: New file.
+
+2003-03-10 Tom Tromey <tromey@redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated to reflect reality.
+
+2003-03-02 Mark Wielaard <mark@klomp.org>
+
+ * libjava.mauve/xfails: Remove all AcuniaPropertiesTest failures
+
+2003-02-16 Mark Wielaard <mark@klomp.org>
+
+ * libjava.mauve/xfails: Add Class.reflect2 and String.getBytes FAILs.
+
+2003-02-15 Mark Wielaard <mark@klomp.org>
+
+ * lib/libjava.exp (test_libjava_from_javac): Use regsub not string map.
+ * libjava.mauve/mauve.exp (mauve_compute_uses): Likewise.
+ (test_mauve): Likewise.
+
+2003-02-14 Mark Wielaard <mark@klomp.org>
+
+ * lib/libjava.exp (test_libjava_from_javac): Don't create .o files
+ containing $ characters and always quote class files with "'"s.
+
+2003-02-14 Mark Wielaard <mark@klomp.org>
+
+ * libjava.mauve/mauve.exp (mauve_compute_uses): Add inner class
+ object files by changing all occurances of $ to ^.
+ (test_mauve): Replace ^ with $ for class file names and quote
+ them with "'"s.
+
+2003-02-13 Tom Tromey <tromey@redhat.com>
+
+ * libjava.mauve/xfails: Added entries for an unimplemented Class
+ method.
+
+2003-02-07 Mark Wielaard <mark@klomp.org>
+
+ * libjava.mauve/xfails: Add new entries for
+ gnu.testlet.java.text.CollationElementIterator.jdk11
+
+2003-02-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * libjava.jacks/jacks.exp (gcj_jacks_write): Set LD_LIBRARY_PATH
+ to find libgcc_s. Set JAVA_CLASSPATH to find libgcj.jar.
+
+2003-01-31 Mark Wielaard <mark@klomp.org>
+
+ * lib/libjava.exp (libjava_prune_warnings): Remove all unreachable
+ bytecode warnings.
+
+2003-01-28 Tom Tromey <tromey@redhat.com>
+
+ * libjava.jacks/jacks.xfail: More lexer tests now pass.
+
+2003-01-27 Tom Tromey <tromey@redhat.com>
+
+ * libjava.compile/consthrow.java: New file.
+ * libjava.compile/consthrow.xfail: New file.
+
+2003-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libjava.lang/pr8823.xfail: New file, add "xfail-byte".
+
+2003-01-24 Ranjit Mathew <rmathew@hotmail.com>
+
+ * libjava.jni/calls.c (Java_calls_docall): Define with
+ JNIEXPORT and JNICALL method attributes.
+ * libjava.jni/field.c (Java_field_fetch): Likewise.
+ * libjava.jni/final_method.c (Java_final_1method_meth): Likewise.
+ * libjava.jni/findclass.c (Java_findclass_doit): Likewise.
+ * libjava.jni/invoke.c (Java_invoke_val): Likewise.
+ * libjava.jni/martin.c (Java_martin_myNative): Likewise.
+ * libjava.jni/noclass.c (Java_noclass_find_1it): Likewise.
+ * libjava.jni/overload.c (Java_overload_over__I): Likewise.
+ (Java_overload_over__II): Likewise.
+ * libjava.jni/register.c (JNI_OnLoad): Likewise.
+ * libjava.jni/simple_int.c (Java_simple_1int_nat): Likewise.
+ * libjava.jni/throwit.c (Java_throwit_throwit): Likewise.
+ * libjava.jni/virtual.c (Java_virtual_equals): Likewise.
+
+2003-01-21 Tom Tromey <tromey@redhat.com>
+
+ * libjava.jacks/jacks.xfail: All 8.4.3 tests and 9.4-modifier-10
+ now pass.
+
+2003-01-12 Tom Tromey <tromey@redhat.com>
+
+ Fix for PR libgcj/9139:
+ * lib/libjava.exp (find_javac): Put value of libgcj_jar into
+ return value when gcj is used.
+ * libjava.mauve/mauve.exp (test_mauve): Use libgcj_jar global.
+
+2003-01-03 Tom Tromey <tromey@redhat.com>
+
+ * libjava.compile/pr8712.java: New file, for PR java/8712.
+
+2003-01-01 Tom Tromey <tromey@redhat.com>
+
+ * libjava.compile/pr8955.java: New test, for PR java/8955.
+
+2002-12-19 Tom Tromey <tromey@redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated.
+
+2002-12-18 Tom Tromey <tromey@redhat.com>
+
+ * libjava.lang/pr8945.java: New file.
+ * libjava.lang/pr8945.out: New file.
+
2002-12-12 Tom Tromey <tromey@redhat.com>
* libjava.loader/loader.exp (gcj_loader_test_one): Use
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index e5ed9768763..56dbd5c8b06 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -65,6 +65,7 @@ target_alias = @target_alias@
target_triplet = @target@
AR = @AR@
AS = @AS@
+BACKTRACESPEC = @BACKTRACESPEC@
CC = @CC@
CHECKREFSPEC = @CHECKREFSPEC@
COMPPATH = @COMPPATH@
@@ -86,6 +87,7 @@ GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
GCTESTSPEC = @GCTESTSPEC@
HASH_SYNC_SPEC = @HASH_SYNC_SPEC@
+IEEESPEC = @IEEESPEC@
INCLTDL = @INCLTDL@
INTERPRETER = @INTERPRETER@
JC1GCSPEC = @JC1GCSPEC@
@@ -129,6 +131,9 @@ here = @here@
libgcj_basedir = @libgcj_basedir@
mkinstalldirs = @mkinstalldirs@
tool_include_dir = @tool_include_dir@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
+toolexecmainlibdir = @toolexecmainlibdir@
AUTOMAKE_OPTIONS = foreign dejagnu
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
index a807c4c8d60..6be5ec67662 100644
--- a/libjava/testsuite/lib/libjava.exp
+++ b/libjava/testsuite/lib/libjava.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
load_lib "libgloss.exp"
@@ -18,9 +18,15 @@ proc libjava_prune_warnings {text} {
set len [llength $tlist]
for {set i [expr {$len - 1}]} {$i >= 2} {incr i -1} {
if {[string match "*unreachable bytecode*" [lindex $tlist $i]]} {
- # Delete this line and the previous two lines.
- set tlist [lreplace $tlist [expr {$i - 2}] $i]
- incr i -2
+ # Delete this line, all other unreachable warnings and the previous
+ # two lines containing the method and class.
+ set j [expr {$i - 1}]
+ while {[string match "*unreachable bytecode*" [lindex $tlist $j]]} {
+ incr j -1
+ }
+ incr j -1
+ set tlist [lreplace $tlist $j $i]
+ set i $j
}
}
return [join $tlist \n]
@@ -74,7 +80,7 @@ proc find_gcjh {} {
}
proc find_javac {} {
- global SUN_JAVAC GCJ_UNDER_TEST env
+ global SUN_JAVAC GCJ_UNDER_TEST env libgcj_jar
# If JDK doesn't run on your platform but some other
# JDK-compatible javac does, you may set SUN_JAVAC to point to it.
# One of the most important properties of a SUN_JAVAC is that it
@@ -87,7 +93,7 @@ proc find_javac {} {
if {[info exists env(SUN_JAVAC)]} {
set SUN_JAVAC $env(SUN_JAVAC)
} else {
- set SUN_JAVAC "$GCJ_UNDER_TEST -C"
+ set SUN_JAVAC "$GCJ_UNDER_TEST -C -I$libgcj_jar"
}
}
return $SUN_JAVAC
@@ -781,8 +787,10 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
if {$mode == "compile"} {
foreach c_file $class_files {
set executable [file rootname [file tail $c_file]].o
+ # Don't write files which contain $ chars.
+ regsub -all "\\$" $executable "\^" executable
set x [libjava_prune_warnings \
- [libjava_tcompile $c_file "$executable" $type $args]]
+ [libjava_tcompile '$c_file' "$executable" $type $args]]
lappend removeList $executable
if {$x != ""} {
break
diff --git a/libjava/testsuite/libjava.compile/consthrow.java b/libjava/testsuite/libjava.compile/consthrow.java
new file mode 100644
index 00000000000..02d1afc01dd
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/consthrow.java
@@ -0,0 +1,6 @@
+public class consthrow
+{
+ public consthrow () throws Object
+ {
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/consthrow.xfail b/libjava/testsuite/libjava.compile/consthrow.xfail
new file mode 100644
index 00000000000..f34b59d3181
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/consthrow.xfail
@@ -0,0 +1,2 @@
+no-link
+shouldfail
diff --git a/libjava/testsuite/libjava.compile/pr10459.java b/libjava/testsuite/libjava.compile/pr10459.java
new file mode 100644
index 00000000000..5bcc09c7326
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/pr10459.java
@@ -0,0 +1,10 @@
+public class pr10459
+{
+ pr10459 x;
+
+ public void aMethod() throws Throwable
+ {
+ for (; ;x.clone().clone())
+ ;
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/pr10459_2.java b/libjava/testsuite/libjava.compile/pr10459_2.java
new file mode 100644
index 00000000000..5b878ca0c27
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/pr10459_2.java
@@ -0,0 +1,10 @@
+public class pr10459_2
+{
+ pr10459_2 x;
+
+ public void aMethod() throws Throwable
+ {
+ for (; ;x.clone().clone())
+ break;
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/pr8712.java b/libjava/testsuite/libjava.compile/pr8712.java
new file mode 100644
index 00000000000..7a6eb754d90
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/pr8712.java
@@ -0,0 +1,7 @@
+public class pr8712
+{
+ boolean x(pr8712 a)
+ {
+ return (!(a instanceof pr8712));
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/pr8955.java b/libjava/testsuite/libjava.compile/pr8955.java
new file mode 100644
index 00000000000..ae78f503f9c
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/pr8955.java
@@ -0,0 +1,13 @@
+public class pr8955
+{
+ static final int val = Integer.MIN_VALUE;
+ void foo()
+ {
+ switch(1) {
+ case val:
+ break;
+ case 1:
+ break;
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.jacks/jacks.exp b/libjava/testsuite/libjava.jacks/jacks.exp
index b7f87eb6316..d8611f5e438 100644
--- a/libjava/testsuite/libjava.jacks/jacks.exp
+++ b/libjava/testsuite/libjava.jacks/jacks.exp
@@ -14,6 +14,9 @@ proc gcj_jacks_setup_xfail {ary} {
proc gcj_jacks_write {filename} {
global GCJ_UNDER_TEST
+ global libgcj_jar
+ global libjava_libgcc_s_path
+ global original_ld_library_path
set gcjl [split $GCJ_UNDER_TEST]
set gcj_cmd [lindex $gcjl 0]
@@ -22,7 +25,7 @@ proc gcj_jacks_write {filename} {
set fd [open $filename w]
puts $fd "set JAVAC $gcj_cmd"
- puts $fd "set JAVA_CLASSPATH \"\""
+ puts $fd "set JAVA_CLASSPATH \"$libgcj_jar\""
puts $fd "set JAVAC_FLAGS [list $rest]"
puts $fd "set JAVA [list [libjava_find_gij]]"
puts $fd "set JAVA_FLAGS \"\""
@@ -32,6 +35,8 @@ proc gcj_jacks_write {filename} {
# "Time-consuming JVM limitation tests".
# puts $fd "set tcltest::testConstraints(jvm) 1"
close $fd
+
+ setenv LD_LIBRARY_PATH $libjava_libgcc_s_path:$original_ld_library_path
}
proc gcj_jacks_parse {file} {
diff --git a/libjava/testsuite/libjava.jacks/jacks.xfail b/libjava/testsuite/libjava.jacks/jacks.xfail
index 8e2ebe77f0e..c4999c234c7 100644
--- a/libjava/testsuite/libjava.jacks/jacks.xfail
+++ b/libjava/testsuite/libjava.jacks/jacks.xfail
@@ -7,7 +7,6 @@
14.7-shadow-3
14.3-1
14.3-scope-2
-14.3-scope-3
14.3-scope-4
14.3-scope-5
14.3-scope-9
@@ -151,12 +150,8 @@
8.1.2-enclosing-4
8.1.2-enclosing-5
8.1.3-object-3
-8.1.3-superclass-10
-8.1.3-superclass-12
-8.1.3-superclass-13
-8.1.4-superinterface-8
-8.1.4-superinterface-10
-8.1.4-superinterface-11
+8.1.3-superclass-5
+8.1.3-superclass-6
8.2-accessibility-inherited-member-5
8.8.5.1-example-1
8.8.5.1-example-3
@@ -171,7 +166,7 @@
8.8.5.1-qualified-15
8.8.7-inaccessible-default-constructor-toplevel-2
8.8.7-accessible-default-constructor-inner-18
-8.8.7-accessible-default-constructor-inner-20
+8.8.7-accessible-default-constructor-inner-26
8.3-inheritance-1
8.3-inheritance-2
8.3-inheritance-3
@@ -218,9 +213,14 @@
8.6-checked-exception-10
8.6-checked-exception-11
8.6-checked-exception-12
+8.6-complete-1
+8.6-complete-4
+8.6-complete-5
8.6-abrupt-1
8.6-abrupt-4
-8.5-inheritance-4
+8.5-inheritance-1
+8.5-inheritance-2
+8.5-inheritance-3
8.5-inheritance-6
8.5.2-non-static-member-usage-2
8.4.6-miranda-2
@@ -257,11 +257,9 @@
8.4.6.3-signature-10
8.4.6.3-signature-12
8.4.6.3-signature-15
-8.4.3-native-9
-8.4.3-native-10
-8.4.3-bad-1
-8.4.3-bad-2
8.7-abrupt-1
+8.7-complete-1
+8.7-complete-3
5.1.3-dti-1
5.1.3-dti-2
5.1.3-fti-1
@@ -428,13 +426,19 @@
15.9.5.1-exception-3
15.9.5.1-exception-4
15.9.3-choosing-4
+15.9.1-unqualified-anonymous-2
+15.9.1-unqualified-anonymous-4
+15.9.1-unqualified-anonymous-5
+15.9.1-unqualified-anonymous-12
+15.9.1-unqualified-anonymous-14
+15.9.1-unqualified-anonymous-15
15.9.1-unqualified-anonymous-23
-15.9.1-unqualified-anonymous-25
+15.9.1-unqualified-anonymous-24
15.9.1-unqualified-anonymous-26
15.9.1-unqualified-anonymous-27
15.9.1-qualified-anonymous-2
-15.9.1-qualified-anonymous-6
-15.9.1-qualified-anonymous-7
+15.9.1-qualified-anonymous-4
+15.9.1-qualified-anonymous-5
15.9.1-qualified-anonymous-10
15.9.1-qualified-anonymous-12
15.9.1-qualified-anonymous-13
@@ -445,18 +449,20 @@
15.9.1-qualified-anonymous-22
15.9.1-qualified-anonymous-26
15.9.1-qualified-anonymous-28
-15.9.1-unqualified-concrete-6
-15.9.1-unqualified-concrete-7
+15.9.1-unqualified-concrete-2
+15.9.1-unqualified-concrete-4
+15.9.1-unqualified-concrete-5
15.9.1-unqualified-concrete-10
+15.9.1-unqualified-concrete-14
15.9.1-unqualified-concrete-15
-15.9.1-qualified-concrete-6
-15.9.1-qualified-concrete-7
+15.9.1-qualified-concrete-4
+15.9.1-qualified-concrete-5
15.9.1-qualified-concrete-10
15.9.1-qualified-concrete-12
15.9.1-qualified-concrete-14
15.9.1-qualified-concrete-16
15.9.1-qualified-concrete-20
-15.9.1-qualified-concrete-23
+15.9.1-qualified-concrete-24
15.28-primitive-9
15.28-primitive-15
15.28-primitive-16
@@ -574,6 +580,7 @@
15.14.2-final-3
15.14.1-final-2
15.14.1-final-3
+15.8.2-synthetic-1
15.8.2-type-11
15.8.2-type-12
15.8.2-type-13
@@ -589,7 +596,6 @@
15.15.2-final-3
15.15.1-final-2
15.15.1-final-3
-9.4-modifier-10
9.4.1-conflict-2
9.3.1-init-1
9.3.1-illegal-forward-1
@@ -601,9 +607,6 @@
9.1.1-in-interface-3
9.1.1-in-interface-9
9.1.1-in-interface-16
-9.1.2-interface-3
-9.1.2-interface-5
-9.1.2-interface-6
9.1.2-supertype-1
9.2-implicit-2
9.2-implicit-3
@@ -616,46 +619,7 @@
9.2-implicit-17
9.2-implicit-18
9.2-implicit-19
-3.7-line-number-1
-3.7-line-number-2
-3.7-line-number-3
-3.7-line-number-4
-3.7-line-number-5
-3.7-line-number-6
-3.7-line-number-7
-3.7-line-number-8
-3.7-line-number-9
-3.7-line-number-10
-3.7-line-number-11
-3.7-line-number-12
-3.7-line-number-13
-3.7-line-number-14
3.2-valid-1
-3.4-line-number-1
-3.4-line-number-2
-3.4-line-number-3
-3.4-line-number-4
-3.4-line-number-5
-3.4-line-number-6
-3.4-line-number-7
-3.4-line-number-8
-3.4-line-number-9
-3.4-line-number-10
-3.4-line-number-11
-3.4-line-number-12
-3.4-line-number-13
-3.4-line-number-14
-3.4-line-number-15
-3.4-line-number-16
-3.4-line-number-17
-3.4-line-number-18
-3.4-line-number-19
-3.4-line-number-20
-3.4-line-number-21
-3.4-line-number-22
-3.4-line-number-23
-3.4-line-number-24
-3.4-line-number-25
3.10.2-round-6
3.10.2-round-7
3.10.2-round-9
@@ -666,10 +630,6 @@
3.10.2-double-14
3.10.1-invalid-3
3.10.1-invalid-4
-3.3-invalid-5
-3.3-invalid-6
-3.3-invalid-7
-3.3-invalid-8
6.6.2.2-protected-creation-3
6.6.2.1-protected-instance-field-3
6.6.2.1-protected-instance-field-4
@@ -680,10 +640,6 @@
6.6.2.1-protected-instance-method-6
6.6.2.1-protected-instance-method-7
6.6.2.1-protected-type-2
-6.6.2.1-protected-type-4
-6.6.2.1-protected-type-5
-6.6.2.1-protected-type-7
-6.6.2.1-protected-type-8
6.6.1-8
6.6.1-11
6.6.1-array-2
@@ -711,18 +667,19 @@
6.5.6.1-local-4
6.5.6.1-field-6
6.5.6.1-explicit-constructor-2
-6.5.4.2-qualified-1
6.5.4.1-simple-6
-6.5.4.1-simple-8
+6.5.4.1-simple-10
+6.5.4.1-simple-11
6.5.1-type-15
6.5.1-type-16
-6.5.1-type-19
-6.5.1-typeorpackage-1
6.5.1-typeorpackage-2
+6.5.5.2-type-4
6.5.5.2-type-5
6.5.5.2-type-6
6.5.5.2-type-7
6.5.5.2-type-8
+6.5.5.1-import-2
+6.5.5.1-import-3
6.5.5.1-nested-4
6.5.5.1-nested-7
6.5.5.1-nested-8
@@ -733,20 +690,29 @@
6.5.5.1-nested-19
6.5.5.1-nested-20
6.5.5.1-nested-21
-6.5.5.1-nested-22
6.5.5.1-nested-23
6.3-1
+7.4.2-2
7.5.1-canonical-3
-7.5.1-accessible-1
+7.5.1-accessible-4
+7.5.1-accessible-5
7.5.1-duplicate-4
+7.5.1-shadow-2
+7.5.2-canonical-2
7.5.2-canonical-3
7.5.2-accessible-1
7.5.2-accessible-3
+7.5.2-accessible-4
+7.5.2-duplicate-1
+7.5.2-duplicate-2
7.5.2-duplicate-3
+7.5.2-duplicate-4
7.1-named-5
7.1-named-6
7.1-named-7
+7.6-optional-restrictions-1
7.6-unnamed-scope-1
+7.6-unnamed-scope-2
4.5.4-static-1
4.5.4-static-5
4.5.4-parameter-2
@@ -802,10 +768,10 @@ non-jls-zip-2
13.1-runtime-constant-1
13.1-runtime-constant-3
13.1-runtime-field-1
+13.4.8-constant-runtime-1
14-runtime-jump-1
14-runtime-jump-2
14.3.1-runtime-3
-14.19.2-runtime-try-1
8.1.2-runtime-1
6.6.1-runtime-privateconstructor-1
8.8.3-runtime-inner-4
@@ -831,11 +797,11 @@ non-jls-zip-2
15.11.1-runtime-static-1
15.11.1-runtime-static-2
15.11.1-runtime-static-3
+15.11.1-runtime-static-4
15.12.3-runtime-mode-1
15.12.3-runtime-mode-2
15.12.3-runtime-mode-3
15.12.3-runtime-mode-4
-15.12.3-runtime-mode-5
15.12.3-runtime-mode-6
15.12.4.1-runtime-static-1
15.12.4.1-runtime-static-2
@@ -846,3 +812,4 @@ non-jls-zip-2
15.20-2-runtime-1
15.15-runtime-3
15.15-runtime-4
+14.19.2-runtime-try-1
diff --git a/libjava/testsuite/libjava.jni/calls.c b/libjava/testsuite/libjava.jni/calls.c
index 080e5271cfb..709e55d13ba 100644
--- a/libjava/testsuite/libjava.jni/calls.c
+++ b/libjava/testsuite/libjava.jni/calls.c
@@ -1,7 +1,7 @@
#include <stdio.h>
#include <calls.h>
-jint
+JNIEXPORT jint JNICALL
Java_calls_docall (JNIEnv *env, jobject _this)
{
jmethodID method;
@@ -47,6 +47,12 @@ Java_calls_docall (JNIEnv *env, jobject _this)
if (l != 2033)
++fails;
+ method = (*env)->GetStaticMethodID (env, klass, "longpb_f", "(BJBJBJ)J");
+ l = (*env)->CallStaticLongMethod (env, klass, method, (jbyte) 13, (jlong) 3,
+ (jbyte) 13, (jlong) 3, (jbyte) 13, (jlong) 4);
+ if (l != 3033)
+ ++fails;
+
method = (*env)->GetMethodID (env, klass, "void_f", "()V");
(*env)->CallVoidMethod (env, _this, method);
diff --git a/libjava/testsuite/libjava.jni/calls.java b/libjava/testsuite/libjava.jni/calls.java
index b98017c0c13..19c33be2a83 100644
--- a/libjava/testsuite/libjava.jni/calls.java
+++ b/libjava/testsuite/libjava.jni/calls.java
@@ -37,6 +37,12 @@ public class calls extends base
return q + 2023;
}
+ public static long longpb_f (byte b1, long q1, byte b2, long q2,
+ byte b3, long q3)
+ {
+ return q1 + q2 + q3 + 3023;
+ }
+
public void void_f ()
{
System.out.println ("void");
diff --git a/libjava/testsuite/libjava.jni/field.c b/libjava/testsuite/libjava.jni/field.c
index 358c293e7c5..bce0cc896e6 100644
--- a/libjava/testsuite/libjava.jni/field.c
+++ b/libjava/testsuite/libjava.jni/field.c
@@ -1,7 +1,7 @@
#include <jni.h>
#include <field.h>
-jobjectArray
+JNIEXPORT jobjectArray JNICALL
Java_field_fetch (JNIEnv *env, jobject this)
{
jclass cls;
diff --git a/libjava/testsuite/libjava.jni/final_method.c b/libjava/testsuite/libjava.jni/final_method.c
index 82977374bcb..76d5ae52827 100644
--- a/libjava/testsuite/libjava.jni/final_method.c
+++ b/libjava/testsuite/libjava.jni/final_method.c
@@ -1,6 +1,6 @@
#include <final_method.h>
-jstring
+JNIEXPORT jstring JNICALL
Java_final_1method_meth (JNIEnv *env, jobject thisv)
{
return (*env)->NewStringUTF (env, "zardoz has spoken");
diff --git a/libjava/testsuite/libjava.jni/findclass.c b/libjava/testsuite/libjava.jni/findclass.c
index 9a71508ab3f..1a58a55fee4 100644
--- a/libjava/testsuite/libjava.jni/findclass.c
+++ b/libjava/testsuite/libjava.jni/findclass.c
@@ -2,7 +2,7 @@
#include <findclass.h>
-jclass
+JNIEXPORT jclass JNICALL
Java_findclass_doit (JNIEnv *env, jclass klass, jstring name)
{
const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
diff --git a/libjava/testsuite/libjava.jni/invoke.c b/libjava/testsuite/libjava.jni/invoke.c
index 35a446eae25..c2b78d239cb 100644
--- a/libjava/testsuite/libjava.jni/invoke.c
+++ b/libjava/testsuite/libjava.jni/invoke.c
@@ -1,6 +1,6 @@
#include <invoke.h>
-jint
+JNIEXPORT jint JNICALL
Java_invoke_val (JNIEnv *env, jclass klass)
{
return 23;
diff --git a/libjava/testsuite/libjava.jni/martin.c b/libjava/testsuite/libjava.jni/martin.c
index 947bd452c04..0fbb8d0aa73 100644
--- a/libjava/testsuite/libjava.jni/martin.c
+++ b/libjava/testsuite/libjava.jni/martin.c
@@ -2,7 +2,8 @@
#include "martin.h"
#include <stdio.h>
-void Java_martin_myNative(JNIEnv* env, jobject this, jstring s)
+JNIEXPORT void JNICALL
+Java_martin_myNative(JNIEnv* env, jobject this, jstring s)
{
jclass cls;
jfieldID fid;
diff --git a/libjava/testsuite/libjava.jni/noclass.c b/libjava/testsuite/libjava.jni/noclass.c
index 5f2caf428ae..87c649c30e6 100644
--- a/libjava/testsuite/libjava.jni/noclass.c
+++ b/libjava/testsuite/libjava.jni/noclass.c
@@ -1,6 +1,6 @@
#include <noclass.h>
-void
+JNIEXPORT void JNICALL
Java_noclass_find_1it (JNIEnv *env, jclass k)
{
/* We cause an exception by asking for a class we know does not
diff --git a/libjava/testsuite/libjava.jni/overload.c b/libjava/testsuite/libjava.jni/overload.c
index d171fc3ac9b..4e7a2d9289b 100644
--- a/libjava/testsuite/libjava.jni/overload.c
+++ b/libjava/testsuite/libjava.jni/overload.c
@@ -1,13 +1,13 @@
#include <overload.h>
-jint
+JNIEXPORT jint JNICALL
Java_overload_over__I (JNIEnv *env, jclass klass, jint val)
{
return val;
}
-jint
+JNIEXPORT jint JNICALL
Java_overload_over__II (JNIEnv *env, jclass klass, jint one, jint two)
{
return one + two;
diff --git a/libjava/testsuite/libjava.jni/register.c b/libjava/testsuite/libjava.jni/register.c
index 738182cf0f6..0490902420e 100644
--- a/libjava/testsuite/libjava.jni/register.c
+++ b/libjava/testsuite/libjava.jni/register.c
@@ -8,7 +8,7 @@ some_random_name (JNIEnv *env, jclass k, jint v)
return v - 1;
}
-jint
+JNIEXPORT jint JNICALL
JNI_OnLoad (JavaVM *vm, void *nothing)
{
JNIEnv *env;
diff --git a/libjava/testsuite/libjava.jni/simple_int.c b/libjava/testsuite/libjava.jni/simple_int.c
index a86f2d2babd..a7c64b0cd5f 100644
--- a/libjava/testsuite/libjava.jni/simple_int.c
+++ b/libjava/testsuite/libjava.jni/simple_int.c
@@ -1,6 +1,6 @@
#include <simple_int.h>
-jint
+JNIEXPORT jint JNICALL
Java_simple_1int_nat (JNIEnv *env, jclass klass, jint val)
{
return 2 * val;
diff --git a/libjava/testsuite/libjava.jni/throwit.c b/libjava/testsuite/libjava.jni/throwit.c
index 0b02459b464..34a3ca07676 100644
--- a/libjava/testsuite/libjava.jni/throwit.c
+++ b/libjava/testsuite/libjava.jni/throwit.c
@@ -1,7 +1,7 @@
#include <stdlib.h>
#include <throwit.h>
-void
+JNIEXPORT void JNICALL
Java_throwit_throwit (JNIEnv *env, jclass klass, jstring name,
jboolean is_new)
{
diff --git a/libjava/testsuite/libjava.jni/virtual.c b/libjava/testsuite/libjava.jni/virtual.c
index bda837df102..0246970835b 100644
--- a/libjava/testsuite/libjava.jni/virtual.c
+++ b/libjava/testsuite/libjava.jni/virtual.c
@@ -1,6 +1,6 @@
#include <virtual.h>
-jboolean
+JNIEXPORT jboolean JNICALL
Java_virtual_equals (JNIEnv *env, jobject thisv, jobject other)
{
return JNI_FALSE;
diff --git a/libjava/testsuite/libjava.lang/PR8866.java b/libjava/testsuite/libjava.lang/PR8866.java
new file mode 100644
index 00000000000..fa620667445
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR8866.java
@@ -0,0 +1,22 @@
+public class PR8866
+{
+ public static void main (String args[])
+ {
+ String attTypeString = "";
+
+ switch (args.length) {
+ case 1:
+ attTypeString = "string";
+ case 4:
+ attTypeString = "ID";;
+ case 5:
+ attTypeString = "IDREF";;
+ case 6:
+ attTypeString = "NMTOKEN";;
+ case 7:
+ attTypeString = "NOTATION";;
+ default:
+ ;
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Throw_2.java b/libjava/testsuite/libjava.lang/Throw_2.java
index 353ae974662..6d1d0e6b449 100644
--- a/libjava/testsuite/libjava.lang/Throw_2.java
+++ b/libjava/testsuite/libjava.lang/Throw_2.java
@@ -34,6 +34,7 @@ public class Throw_2
}
catch (NullPointerException _)
{
+ System.out.println ("1");
}
catch (Throwable _)
{
@@ -48,6 +49,7 @@ public class Throw_2
}
catch (NullPointerException _)
{
+ System.out.println ("2");
}
catch (Throwable _)
{
diff --git a/libjava/testsuite/libjava.lang/Throw_2.out b/libjava/testsuite/libjava.lang/Throw_2.out
index e69de29bb2d..1191247b6d9 100644
--- a/libjava/testsuite/libjava.lang/Throw_2.out
+++ b/libjava/testsuite/libjava.lang/Throw_2.out
@@ -0,0 +1,2 @@
+1
+2
diff --git a/libjava/testsuite/libjava.lang/assign.java b/libjava/testsuite/libjava.lang/assign.java
new file mode 100644
index 00000000000..ff288c93b79
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/assign.java
@@ -0,0 +1,19 @@
+// Test for an array assignment bug we've had.
+
+public class assign
+{
+ public static class base
+ {
+ }
+
+ public static class derived extends base
+ {
+ }
+
+ public static void main(String[] args)
+ {
+ base[][] x1 = new base[3][3];
+ derived[] x2 = new derived[3];
+ x1[0] = x2;
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/assign.out b/libjava/testsuite/libjava.lang/assign.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/assign.out
diff --git a/libjava/testsuite/libjava.lang/initfield.java b/libjava/testsuite/libjava.lang/initfield.java
new file mode 100644
index 00000000000..4ee6154806d
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/initfield.java
@@ -0,0 +1,20 @@
+// gcj generated buggy code when we reference a field of a
+// non-constant member that we inherit from an interface.
+
+interface iface
+{
+ final value x = new value();
+}
+
+final class value
+{
+ Object field = "maude";
+}
+
+public class initfield implements iface
+{
+ public static void main(String[] args)
+ {
+ System.out.println(x.field);
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/initfield.out b/libjava/testsuite/libjava.lang/initfield.out
new file mode 100644
index 00000000000..b3668c4d4d6
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/initfield.out
@@ -0,0 +1 @@
+maude
diff --git a/libjava/testsuite/libjava.lang/pr8823.xfail b/libjava/testsuite/libjava.lang/pr8823.xfail
new file mode 100644
index 00000000000..81d6df0a027
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr8823.xfail
@@ -0,0 +1 @@
+xfail-byte
diff --git a/libjava/testsuite/libjava.lang/pr8945.java b/libjava/testsuite/libjava.lang/pr8945.java
new file mode 100644
index 00000000000..9c5dce89a4a
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr8945.java
@@ -0,0 +1,9 @@
+public class pr8945
+{
+ public static void main(String[] args)
+ {
+ String foo = "hello";
+ int pos = 3;
+ System.out.println(foo.substring(pos,++pos));
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/pr8945.out b/libjava/testsuite/libjava.lang/pr8945.out
new file mode 100644
index 00000000000..1f9d725a9de
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr8945.out
@@ -0,0 +1 @@
+l
diff --git a/libjava/testsuite/libjava.lang/verify.java b/libjava/testsuite/libjava.lang/verify.java
new file mode 100644
index 00000000000..71b4b5c43a7
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/verify.java
@@ -0,0 +1,20 @@
+// Test for a verification regression.
+
+interface I { }
+class D implements I { }
+class E extends D { }
+
+public class verify
+{
+ static void call(I v) { }
+
+ static void doit (Object x)
+ {
+ call ((x instanceof I) ? (I) x : new E ());
+ }
+
+ public static void main(String[] args)
+ {
+ doit(null);
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/verify.out b/libjava/testsuite/libjava.lang/verify.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/verify.out
diff --git a/libjava/testsuite/libjava.mauve/mauve.exp b/libjava/testsuite/libjava.mauve/mauve.exp
index 1ca2884249c..cdc7e21f2dd 100644
--- a/libjava/testsuite/libjava.mauve/mauve.exp
+++ b/libjava/testsuite/libjava.mauve/mauve.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation.
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation.
# Written by Tom Tromey <tromey@cygnus.com>.
# Incorporate Mauve into libjava's DejaGNU test suite framework.
@@ -46,6 +46,13 @@ proc mauve_compute_uses {aName} {
foreach file $ufiles {
set file [file rootname $file].o
lappend uses($item) $file
+ # Now add all inner classes
+ foreach inner [glob -nocomplain [file rootname $file]$*.class] {
+ # Prevent excessive escaping by replacing $ with a ^ in the .o name
+ set inner [file rootname $inner].o
+ regsub -all "\\$" $inner "\^" inner
+ lappend uses($item) $inner
+ }
}
}
@@ -86,25 +93,25 @@ proc test_mauve {} {
set full_srcdir [pwd]
cd $here/mauve-build
- global env
- global GCJ_UNDER_TEST
- global TOOL_EXECUTABLE
+ global env libgcj_jar
+ global GCJ_UNDER_TEST
+ global TOOL_EXECUTABLE
- if ![info exists GCJ_UNDER_TEST] {
- if [info exists TOOL_EXECUTABLE] {
- set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
- } else {
- if [info exists env(GCJ)] {
- set GCJ_UNDER_TEST env(GCJ)
- } else {
- set GCJ_UNDER_TEST "[find_gcj]"
- }
- }
+ if ![info exists GCJ_UNDER_TEST] {
+ if [info exists TOOL_EXECUTABLE] {
+ set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
+ } else {
+ if [info exists env(GCJ)] {
+ set GCJ_UNDER_TEST env(GCJ)
+ } else {
+ set GCJ_UNDER_TEST "[find_gcj]"
+ }
}
+ }
- # Append -B and -I so that libgcj.spec and libgcj.zip are found
- # before they're installed.
- set env(GCJ) "$GCJ_UNDER_TEST -B$objdir/../ -I$objdir/../libgcj.jar"
+ # Append -B and -I so that libgcj.spec and libgcj.jar are found
+ # before they're installed.
+ set env(GCJ) "$GCJ_UNDER_TEST -B$objdir/../ -I$libgcj_jar"
if {[catch {
system "$env(MAUVEDIR)/configure --with-gcj 2>&1"
@@ -179,9 +186,11 @@ proc test_mauve {} {
foreach obj $uses($file) {
if {! [file exists $obj]} then {
verbose "compiling $obj for test of $class"
+ # The .class file does contain a $, but we can quote it between "'"s.
set srcfile [file rootname $obj].class
+ regsub -all "\\^" $srcfile "\$" srcfile
set x [libjava_prune_warnings \
- [target_compile [pwd]/$srcfile $obj object $compile_args]]
+ [libjava_tcompile '[pwd]/$srcfile' $obj object $compile_args]]
if {$x != ""} then {
fail "Compile $obj for $class"
set ok 0
@@ -196,7 +205,7 @@ proc test_mauve {} {
}
set x [libjava_prune_warnings \
- [target_compile [concat $uses($file) $objlist] \
+ [libjava_tcompile [concat $uses($file) $objlist] \
$Executable executable $link_args]]
if {$x != ""} then {
set proc_ok 0
diff --git a/libjava/testsuite/libjava.mauve/xfails b/libjava/testsuite/libjava.mauve/xfails
index 270c28a0378..c96d4a42d59 100644
--- a/libjava/testsuite/libjava.mauve/xfails
+++ b/libjava/testsuite/libjava.mauve/xfails
@@ -25,8 +25,25 @@ FAIL: gnu.testlet.java.lang.Character.getType (number 20)
FAIL: gnu.testlet.java.lang.Character.getType (number 22)
FAIL: gnu.testlet.java.lang.Class.ClassTest: Error: test_getClassLoader failed - 1 (number 1)
FAIL: gnu.testlet.java.lang.Class.ClassTest: Error: test_getClassLoader failed - 2 (number 1)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getClasses (number 2)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getClasses (number 3)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getClasses (number 5)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaringClass (number 3)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaringClass (number 4)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaringClass (number 5)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaredClasses (number 1)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaredClasses (number 2)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaredClasses (number 3)
FAIL: gnu.testlet.java.lang.Double.DoubleTest: Error: test_intValue returned wrong results CYGNUS: Float to int conversions - 1 (number 1)
FAIL: gnu.testlet.java.lang.Float.FloatTest: Error: test_intValue returned wrong results - 1 (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UTF-16") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeBig") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeBigUnmarked") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeLittle") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeLittleUnmarked") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes14: String.getBytes("ISO8859_15") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes14: String.getBytes("UTF-16BE") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes14: String.getBytes("UTF-16LE") (number 1)
FAIL: gnu.testlet.java.text.AttributedString.Test: Attribute key count (number 1)
FAIL: gnu.testlet.java.text.DateFormatSymbols.Test: patterns (number 2)
FAIL: gnu.testlet.java.text.SimpleDateFormat.Test: equals() (number 1)
@@ -37,6 +54,40 @@ FAIL: gnu.testlet.java.text.SimpleDateFormat.regress: EDT (number 1)
FAIL: gnu.testlet.java.text.SimpleDateFormat.regress: EST (number 1)
FAIL: gnu.testlet.java.text.SimpleDateFormat.regress: PDT (number 1)
FAIL: gnu.testlet.java.text.DateFormatSymbols.Test: invalid locale (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: CollationElementIterator (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 0 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 1 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 10 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 11 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 12 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 13 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 2 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 3 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 4 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 5 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 6 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 7 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 8 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: next() 9 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 0 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 1 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 10 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 11 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 12 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 13 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 2 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 3 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 4 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 5 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 6 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 7 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: primaryOrder() 8 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: secondaryOrder() 12 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: secondaryOrder() 4 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: secondaryOrder() 5 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: secondaryOrder() 7 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: secondaryOrder() 9 (number 1)
+FAIL: gnu.testlet.java.text.CollationElementIterator.jdk11: tertiaryOrder() 10 (number 1)
FAIL: gnu.testlet.java.net.ServerSocket.ServerSocketTest: Error : test_params failed - 5getInetAddress did not return proper values (number 1)
FAIL: gnu.testlet.java.net.Socket.SocketTest: Error : test_BasicServer failed - 11 exception was thrown :Illegal seek (number 1)
FAIL: gnu.testlet.java.net.URLConnection.URLConnectionTest: Error in test_Basics - 2 should not have raised Throwable here (number 1)
@@ -49,10 +100,31 @@ FAIL: gnu.testlet.java.net.URL.URLTest: new URL(string) (number 18)
FAIL: gnu.testlet.java.net.URL.URLTest: new URL(protocol, host, file) (number 26)
FAIL: gnu.testlet.java.net.URL.URLTest: new URL(protocol, host, file) (number 54)
FAIL: gnu.testlet.java.net.MulticastSocket.MulticastSocketTest: joinGroup() twice. (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: should throw NullPointerException -- 1 (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: v does not contain:$longvalue=I'mtryingtogiveavaluelongerthen40characters$ (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: should throw NullPointerException -- 1 (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: all elements are the same (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: checkvalue -- got:$ents=$ (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: checkvalue -- got:$dog=nocat $ (number 1)
-FAIL: gnu.testlet.java.util.Properties.AcuniaPropertiesTest: check if all elements were found -- got: [dog=no\cat ] (number 1)
+FAIL: gnu.testlet.java.io.File.jdk11: getCanonicalPath () (number 1)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.InputTest: gnu.testlet.java.io.ObjectInputOutput.Test$GetPutField (number 1)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.OutputTest: Serializable: gnu.testlet.java.io.ObjectInputOutput.Test$Extern () (number 2)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.OutputTest: Serializable: test(str=null, x=0) (number 2)
+FAIL: gnu.testlet.java.io.OutputStreamWriter.jdk11: OutputStreamWriter(writer, encoding) (number 1)
+FAIL: gnu.testlet.java.io.OutputStreamWriter.jdk11: OutputStreamWriter(writer, encoding) // alias (number 1)
+FAIL: gnu.testlet.java.lang.Double.DoubleTest: Error: test_shortbyteValue failed - 5 (number 1)
+FAIL: gnu.testlet.java.lang.Float.FloatTest: Error: test_shortbyteValue failed - 5 (number 1)
+FAIL: gnu.testlet.java.net.DatagramSocket.DatagramSocketTest2: Expected IOException (number 1)
+FAIL: gnu.testlet.java.net.Socket.SocketTest: Error : test_params failed - 1 get port did not return proper values (number 1)
+FAIL: gnu.testlet.java.net.Socket.jdk13: unexpected error: Success (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: getHours (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: getMinutes (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: getSeconds (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: setHours (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: setMinutes (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: setSeconds (number 1)
+FAIL: gnu.testlet.java.sql.Date.DateTest: valueOf (number 1)
+FAIL: gnu.testlet.java.sql.DriverManager.DriverManagerTest: getDriver (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: getDate (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: getDay (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: getMonth (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: getYear (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: setDate (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: setMonth (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: setYear (number 1)
+FAIL: gnu.testlet.java.sql.Time.TimeTest: valueOf (number 1)
+FAIL: gnu.testlet.java.sql.Timestamp.TimestampTest: valueOf (number 1)
diff --git a/libjava/verify.cc b/libjava/verify.cc
index dbf80d4bf03..4a6ca458849 100644
--- a/libjava/verify.cc
+++ b/libjava/verify.cc
@@ -1,6 +1,6 @@
// defineclass.cc - defining a class from .class format.
-/* Copyright (C) 2001, 2002 Free Software Foundation
+/* Copyright (C) 2001, 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -128,6 +128,34 @@ private:
return r;
}
+ __attribute__ ((__noreturn__)) void verify_fail (char *s, jint pc = -1)
+ {
+ using namespace java::lang;
+ StringBuffer *buf = new StringBuffer ();
+
+ buf->append (JvNewStringLatin1 ("verification failed"));
+ if (pc == -1)
+ pc = start_PC;
+ if (pc != -1)
+ {
+ buf->append (JvNewStringLatin1 (" at PC "));
+ buf->append (pc);
+ }
+
+ _Jv_InterpMethod *method = current_method;
+ buf->append (JvNewStringLatin1 (" in "));
+ buf->append (current_class->getName());
+ buf->append ((jchar) ':');
+ buf->append (JvNewStringUTF (method->get_method()->name->data));
+ buf->append ((jchar) '(');
+ buf->append (JvNewStringUTF (method->get_method()->signature->data));
+ buf->append ((jchar) ')');
+
+ buf->append (JvNewStringLatin1 (": "));
+ buf->append (JvNewStringLatin1 (s));
+ throw new java::lang::VerifyError (buf->toString ());
+ }
+
// This enum holds a list of tags for all the different types we
// need to handle. Reference types are treated specially by the
// type class.
@@ -793,6 +821,12 @@ private:
// assigns to locals[0] (overwriting `this') and then returns
// without really initializing.
type this_type;
+ // This is a list of all subroutines that have been seen at this
+ // point. Ordinarily this is NULL; it is only allocated and used
+ // in relatively weird situations involving non-ret exit from a
+ // subroutine. We have to keep track of this in this way to avoid
+ // endless recursion in these cases.
+ subr_info *seen_subrs;
// INVALID marks a state which is not on the linked list of states
// requiring reverification.
@@ -811,6 +845,7 @@ private:
stack = NULL;
locals = NULL;
local_changed = NULL;
+ seen_subrs = NULL;
}
state (int max_stack, int max_locals)
@@ -823,6 +858,7 @@ private:
stack[i] = unsuitable_type;
locals = new type[max_locals];
local_changed = (bool *) _Jv_Malloc (sizeof (bool) * max_locals);
+ seen_subrs = NULL;
for (int i = 0; i < max_locals; ++i)
{
locals[i] = unsuitable_type;
@@ -838,6 +874,7 @@ private:
stack = new type[max_stack];
locals = new type[max_locals];
local_changed = (bool *) _Jv_Malloc (sizeof (bool) * max_locals);
+ seen_subrs = NULL;
copy (orig, max_stack, max_locals, ret_semantics);
next = INVALID;
}
@@ -850,6 +887,7 @@ private:
delete[] locals;
if (local_changed)
_Jv_Free (local_changed);
+ clean_subrs ();
}
void *operator new[] (size_t bytes)
@@ -872,6 +910,17 @@ private:
_Jv_Free (mem);
}
+ void clean_subrs ()
+ {
+ subr_info *info = seen_subrs;
+ while (info != NULL)
+ {
+ subr_info *next = info->next;
+ _Jv_Free (info);
+ info = next;
+ }
+ }
+
void copy (const state *copy, int max_stack, int max_locals,
bool ret_semantics = false)
{
@@ -891,6 +940,16 @@ private:
locals[i] = copy->locals[i];
local_changed[i] = copy->local_changed[i];
}
+
+ clean_subrs ();
+ if (copy->seen_subrs)
+ {
+ for (subr_info *info = seen_subrs; info != NULL; info = info->next)
+ add_subr (info->pc);
+ }
+ else
+ seen_subrs = NULL;
+
this_type = copy->this_type;
// Don't modify `next'.
}
@@ -917,6 +976,15 @@ private:
local_changed[i] = false;
}
+ // Indicate that we've been in this this subroutine.
+ void add_subr (int pc)
+ {
+ subr_info *n = (subr_info *) _Jv_Malloc (sizeof (subr_info));
+ n->pc = pc;
+ n->next = seen_subrs;
+ seen_subrs = n;
+ }
+
// Merge STATE_OLD into this state. Destructively modifies this
// state. Returns true if the new state was in fact changed.
// Will throw an exception if the states are not mergeable.
@@ -944,10 +1012,23 @@ private:
}
else
{
- // If the subroutines differ, indicate that the state
- // changed. This is needed to detect when subroutines have
- // merged.
- changed = true;
+ // If the subroutines differ, and we haven't seen this
+ // subroutine before, indicate that the state changed. This
+ // is needed to detect when subroutines have merged.
+ bool found = false;
+ for (subr_info *info = seen_subrs; info != NULL; info = info->next)
+ {
+ if (info->pc == state_old->subroutine)
+ {
+ found = true;
+ break;
+ }
+ }
+ if (! found)
+ {
+ add_subr (state_old->subroutine);
+ changed = true;
+ }
}
// Merge stacks. Special handling for NO_STACK case.
@@ -1121,14 +1202,6 @@ private:
return r;
}
- type pop64 ()
- {
- type r = pop_raw ();
- if (! r.iswide ())
- verify_fail ("wide pop of narrow type");
- return r;
- }
-
type pop_type (type match)
{
match.promote ();
@@ -1351,7 +1424,6 @@ private:
{
int *prev_loc = &next_verify_pc;
int npc = next_verify_pc;
- bool skipped = false;
while (npc != state::NO_NEXT)
{
@@ -1368,7 +1440,6 @@ private:
return npc;
}
- skipped = true;
prev_loc = &states[npc]->next;
npc = states[npc]->next;
}
@@ -1447,6 +1518,12 @@ private:
for (subr_info *subr = jsr_ptrs[csub]; subr != NULL; subr = subr->next)
{
+ // We might be returning to a `jsr' that is at the end of the
+ // bytecode. This is ok if we never return from the called
+ // subroutine, but if we see this here it is an error.
+ if (subr->pc >= current_method->code_length)
+ verify_fail ("fell off end");
+
// Temporarily modify the current state so it looks like we're
// in the enclosing context.
current_state->subroutine = get_subroutine (subr->pc);
@@ -1496,16 +1573,15 @@ private:
// the local variable state across the jsr, but the subroutine
// might change the stack depth, so we can't make any assumptions
// about it. So we have yet another special case. We know that
- // at this point PC points to the instruction after the jsr.
-
- // FIXME: what if we have a jsr at the end of the code, but that
- // jsr has no corresponding ret? Is this verifiable, or is it
- // not? If it is then we need a special case here.
- if (PC >= current_method->code_length)
- verify_fail ("fell off end");
-
- current_state->stacktop = state::NO_STACK;
- push_jump_merge (PC, current_state);
+ // at this point PC points to the instruction after the jsr. Note
+ // that it is ok to have a `jsr' at the end of the bytecode,
+ // provided that the called subroutine never returns. So, we have
+ // a special case here and another one when we handle the ret.
+ if (PC < current_method->code_length)
+ {
+ current_state->stacktop = state::NO_STACK;
+ push_jump_merge (PC, current_state);
+ }
invalidate_pc ();
}
@@ -2076,21 +2152,31 @@ private:
bool initialize_stack ()
{
int var = 0;
- bool is_init = false;
+ bool is_init = _Jv_equalUtf8Consts (current_method->self->name,
+ gcj::init_name);
+ bool is_clinit = _Jv_equalUtf8Consts (current_method->self->name,
+ gcj::clinit_name);
using namespace java::lang::reflect;
if (! Modifier::isStatic (current_method->self->accflags))
{
type kurr (current_class);
- if (_Jv_equalUtf8Consts (current_method->self->name, gcj::init_name))
+ if (is_init)
{
kurr.set_uninitialized (type::SELF, this);
is_init = true;
}
+ else if (is_clinit)
+ verify_fail ("<clinit> method must be static");
set_variable (0, kurr);
current_state->set_this_type (kurr);
++var;
}
+ else
+ {
+ if (is_init)
+ verify_fail ("<init> method must be non-static");
+ }
// We have to handle wide arguments specially here.
int arg_count = _Jv_count_arguments (current_method->self->signature);
@@ -2441,7 +2527,11 @@ private:
pop32 ();
break;
case op_pop2:
- pop64 ();
+ {
+ type t = pop_raw ();
+ if (! t.iswide ())
+ pop32 ();
+ }
break;
case op_dup:
{
@@ -3064,34 +3154,6 @@ private:
}
}
- __attribute__ ((__noreturn__)) void verify_fail (char *s, jint pc = -1)
- {
- using namespace java::lang;
- StringBuffer *buf = new StringBuffer ();
-
- buf->append (JvNewStringLatin1 ("verification failed"));
- if (pc == -1)
- pc = start_PC;
- if (pc != -1)
- {
- buf->append (JvNewStringLatin1 (" at PC "));
- buf->append (pc);
- }
-
- _Jv_InterpMethod *method = current_method;
- buf->append (JvNewStringLatin1 (" in "));
- buf->append (current_class->getName());
- buf->append ((jchar) ':');
- buf->append (JvNewStringUTF (method->get_method()->name->data));
- buf->append ((jchar) '(');
- buf->append (JvNewStringUTF (method->get_method()->signature->data));
- buf->append ((jchar) ')');
-
- buf->append (JvNewStringLatin1 (": "));
- buf->append (JvNewStringLatin1 (s));
- throw new java::lang::VerifyError (buf->toString ());
- }
-
public:
void verify_instructions ()
diff --git a/libjava/win32-threads.cc b/libjava/win32-threads.cc
index d31c1919a1e..3a3999a8f2d 100644
--- a/libjava/win32-threads.cc
+++ b/libjava/win32-threads.cc
@@ -1,6 +1,7 @@
// win32-threads.cc - interface between libjava and Win32 threads.
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
+ Foundation, Inc.
This file is part of libgcj.
@@ -70,12 +71,14 @@ DWORD _Jv_ThreadDataKey;
inline void
ensure_condvar_initialized(_Jv_ConditionVariable_t *cv)
{
- if (cv->ev[0] == 0) {
- cv->ev[0] = CreateEvent (NULL, 0, 0, NULL);
- if (cv->ev[0] == 0) JvFail("CreateEvent() failed");
- cv->ev[1] = CreateEvent (NULL, 1, 0, NULL);
- if (cv->ev[1] == 0) JvFail("CreateEvent() failed");
- }
+ if (cv->ev[0] == 0)
+ {
+ cv->ev[0] = CreateEvent (NULL, 0, 0, NULL);
+ if (cv->ev[0] == 0) JvFail("CreateEvent() failed");
+
+ cv->ev[1] = CreateEvent (NULL, 1, 0, NULL);
+ if (cv->ev[1] == 0) JvFail("CreateEvent() failed");
+ }
}
// Reimplementation of the general algorithm described at
@@ -85,11 +88,13 @@ ensure_condvar_initialized(_Jv_ConditionVariable_t *cv)
int
_Jv_CondWait(_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, jlong millis, jint nanos)
{
+ if (mu->owner != GetCurrentThreadId ( ))
+ return _JV_NOT_OWNER;
- EnterCriticalSection(&cv->count_mutex);
- ensure_condvar_initialized(cv);
+ EnterCriticalSection (&cv->count_mutex);
+ ensure_condvar_initialized (cv);
cv->blocked_count++;
- LeaveCriticalSection(&cv->count_mutex);
+ LeaveCriticalSection (&cv->count_mutex);
DWORD time;
if ((millis == 0) && (nanos > 0)) time = 1;
@@ -102,18 +107,17 @@ _Jv_CondWait(_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, jlong millis, jint na
EnterCriticalSection(&cv->count_mutex);
cv->blocked_count--;
- // If we were unblocked by the second event (the broadcast one) and nobody is
- // left, then reset the signal.
- int last_waiter = rval == WAIT_OBJECT_0 + 1 && cv->blocked_count == 0;
+ // If we were unblocked by the second event (the broadcast one)
+ // and nobody is left, then reset the event.
+ int last_waiter = (rval == (WAIT_OBJECT_0 + 1)) && (cv->blocked_count == 0);
LeaveCriticalSection(&cv->count_mutex);
- if (last_waiter) ResetEvent(&cv->ev[1]);
+ if (last_waiter)
+ ResetEvent (cv->ev[1]);
_Jv_MutexLock (mu);
- if (rval == WAIT_FAILED) return GetLastError();
- else if (rval == WAIT_TIMEOUT) return ETIMEDOUT;
- else return 0;
+ return 0;
}
void
@@ -121,39 +125,56 @@ _Jv_CondInit (_Jv_ConditionVariable_t *cv)
{
// we do lazy creation of Events since CreateEvent() is insanely expensive
cv->ev[0] = 0;
- InitializeCriticalSection(&cv->count_mutex);
+ InitializeCriticalSection (&cv->count_mutex);
cv->blocked_count = 0;
}
void
_Jv_CondDestroy (_Jv_ConditionVariable_t *cv)
{
- if (cv->ev[0] != 0) CloseHandle(cv->ev[0]);
- cv = NULL;
+ if (cv->ev[0] != 0)
+ {
+ CloseHandle (cv->ev[0]);
+ CloseHandle (cv->ev[1]);
+
+ cv->ev[0] = 0;
+ }
+
+ DeleteCriticalSection (&cv->count_mutex);
}
int
-_Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *)
+_Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
{
- EnterCriticalSection(&cv->count_mutex);
- ensure_condvar_initialized(cv);
+ if (mu->owner != GetCurrentThreadId ( ))
+ return _JV_NOT_OWNER;
+
+ EnterCriticalSection (&cv->count_mutex);
+ ensure_condvar_initialized (cv);
int somebody_is_blocked = cv->blocked_count > 0;
- LeaveCriticalSection(&cv->count_mutex);
+ LeaveCriticalSection (&cv->count_mutex);
+
+ if (somebody_is_blocked)
+ SetEvent (cv->ev[0]);
- if (somebody_is_blocked) return SetEvent (cv->ev[0]) ? 0 : GetLastError();
- else return 0;
+ return 0;
}
int
-_Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *)
+_Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
{
- EnterCriticalSection(&cv->count_mutex);
- ensure_condvar_initialized(cv);
+ if (mu->owner != GetCurrentThreadId ( ))
+ return _JV_NOT_OWNER;
+
+ EnterCriticalSection (&cv->count_mutex);
+ ensure_condvar_initialized (cv);
int somebody_is_blocked = cv->blocked_count > 0;
- LeaveCriticalSection(&cv->count_mutex);
+ LeaveCriticalSection (&cv->count_mutex);
- if (somebody_is_blocked) return SetEvent (cv->ev[1]) ? 0 : GetLastError();
- else return 0;
+ if (somebody_is_blocked)
+ SetEvent (cv->ev[1]);
+
+ return 0;
}
//
@@ -165,8 +186,8 @@ _Jv_InitThreads (void)
{
_Jv_ThreadKey = TlsAlloc();
_Jv_ThreadDataKey = TlsAlloc();
- daemon_mutex = CreateMutex(NULL, 0, NULL);
- daemon_cond = CreateEvent(NULL, 0, 0, NULL);
+ daemon_mutex = CreateMutex (NULL, 0, NULL);
+ daemon_cond = CreateEvent (NULL, 1, 0, NULL);
non_daemon_count = 0;
}
@@ -255,7 +276,7 @@ really_start (void* x)
WaitForSingleObject (daemon_mutex, INFINITE);
non_daemon_count--;
if (! non_daemon_count)
- PulseEvent (daemon_cond);
+ SetEvent (daemon_cond);
ReleaseMutex (daemon_mutex);
}
@@ -297,10 +318,12 @@ _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data, _Jv_ThreadStart
void
_Jv_ThreadWait (void)
{
- WaitForSingleObject(daemon_mutex, INFINITE);
- if(non_daemon_count)
- SignalObjectAndWait(daemon_mutex, daemon_cond, INFINITE, 0);
- ReleaseMutex(daemon_mutex);
+ WaitForSingleObject (daemon_mutex, INFINITE);
+ if (non_daemon_count)
+ {
+ ReleaseMutex (daemon_mutex);
+ WaitForSingleObject (daemon_cond, INFINITE);
+ }
}
void
diff --git a/libjava/win32.cc b/libjava/win32.cc
index af1163fbfa9..4919e65e396 100644
--- a/libjava/win32.cc
+++ b/libjava/win32.cc
@@ -1,6 +1,6 @@
// win32.cc - Helper functions for Microsoft-flavored OSs.
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -9,12 +9,13 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
+#include <platform.h>
#include <jvm.h>
#include <sys/timeb.h>
#include <stdlib.h>
-#include "platform.h"
#include <java/lang/ArithmeticException.h>
+#include <java/lang/UnsupportedOperationException.h>
#include <java/util/Properties.h>
static LONG CALLBACK
@@ -28,6 +29,15 @@ win32_exception_handler (LPEXCEPTION_POINTERS e)
return EXCEPTION_CONTINUE_SEARCH;
}
+// Platform-specific executable name
+static char exec_name[MAX_PATH];
+ // initialized in _Jv_platform_initialize()
+
+const char *_Jv_ThisExecutable (void)
+{
+ return exec_name;
+}
+
// Platform-specific VM initialization.
void
_Jv_platform_initialize (void)
@@ -37,8 +47,12 @@ _Jv_platform_initialize (void)
if (WSAStartup (MAKEWORD (1, 1), &data))
MessageBox (NULL, "Error initialising winsock library.", "Error",
MB_OK | MB_ICONEXCLAMATION);
+
// Install exception handler
SetUnhandledExceptionFilter (win32_exception_handler);
+
+ // Initialize our executable name
+ GetModuleFileName(NULL, exec_name, sizeof(exec_name));
}
// gettimeofday implementation.
@@ -90,7 +104,7 @@ _Jv_platform_initProperties (java::util::Properties* newprops)
_Jv_Free (buffer);
}
-
+
// Use GetUserName to set 'user.name'.
buflen = 257; // UNLEN + 1
buffer = (char *) _Jv_MallocUnchecked (buflen);
@@ -101,8 +115,8 @@ _Jv_platform_initProperties (java::util::Properties* newprops)
_Jv_Free (buffer);
}
- // According to the api documentation for 'GetWindowsDirectory()', the
- // environmental variable HOMEPATH always specifies the user's home
+ // According to the api documentation for 'GetWindowsDirectory()', the
+ // environmental variable HOMEPATH always specifies the user's home
// directory or a default directory. On the 3 windows machines I checked
// only 1 had it set. If it's not set, JDK1.3.1 seems to set it to
// the windows directory, so we'll do the same.
@@ -117,7 +131,7 @@ _Jv_platform_initProperties (java::util::Properties* newprops)
if (winHome != NULL)
{
if (GetWindowsDirectory (winHome, MAX_PATH))
- SET ("user.home", winHome);
+ SET ("user.home", winHome);
_Jv_Free (winHome);
}
}
@@ -135,7 +149,7 @@ _Jv_platform_initProperties (java::util::Properties* newprops)
if (buffer != NULL)
{
sprintf (buffer, "%d.%d", (int) osvi.dwMajorVersion,
- (int) osvi.dwMinorVersion);
+ (int) osvi.dwMinorVersion);
SET ("os.version", buffer);
_Jv_Free (buffer);
}
@@ -150,7 +164,7 @@ _Jv_platform_initProperties (java::util::Properties* newprops)
else if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90)
SET ("os.name", "Windows Me");
else
- SET ("os.name", "Windows ??");
+ SET ("os.name", "Windows ??");
break;
case VER_PLATFORM_WIN32_NT:
@@ -173,23 +187,24 @@ _Jv_platform_initProperties (java::util::Properties* newprops)
// Set the OS architecture.
SYSTEM_INFO si;
GetSystemInfo (&si);
- switch (si.dwProcessorType)
+ switch (si.wProcessorArchitecture)
{
- case PROCESSOR_INTEL_386:
- SET ("os.arch", "i386");
+ case PROCESSOR_ARCHITECTURE_INTEL:
+ SET ("os.arch", "x86");
break;
- case PROCESSOR_INTEL_486:
- SET ("os.arch", "i486");
+ case PROCESSOR_ARCHITECTURE_MIPS:
+ SET ("os.arch", "mips");
break;
- case PROCESSOR_INTEL_PENTIUM:
- SET ("os.arch", "i586");
+ case PROCESSOR_ARCHITECTURE_ALPHA:
+ SET ("os.arch", "alpha");
break;
- case PROCESSOR_MIPS_R4000:
- SET ("os.arch", "MIPS4000");
+ case PROCESSOR_ARCHITECTURE_PPC:
+ SET ("os.arch", "ppc");
break;
- case PROCESSOR_ALPHA_21064:
- SET ("os.arch", "ALPHA");
+ case PROCESSOR_ARCHITECTURE_IA64:
+ SET ("os.arch", "ia64");
break;
+ case PROCESSOR_ARCHITECTURE_UNKNOWN:
default:
SET ("os.arch", "unknown");
break;
@@ -217,3 +232,11 @@ backtrace (void **__array, int __size)
}
return i;
}
+
+/* Placeholder implementation */
+int
+_Jv_select (int, fd_set *, fd_set *, fd_set *, struct timeval *)
+{
+ throw new java::lang::UnsupportedOperationException(JvNewStringUTF("_Jv_select() not implemented in Win32"));
+ return 0;
+}
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index dd1bc296408..1ea7cb21b93 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,34 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * aclocal.m4 (glibcpp_toolexeclibdir): Instead of
+ $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
+ version_specific_libs is enabled.
+ * configure: Rebuilt.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
+ (install-libs, install-headers): Prepend $(DESTDIR) to
+ destination paths in all (un)installation commands.
+
2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (all): Fix multilib parallel build.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 4d5c5da8db4..244f1e75a1a 100644
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -118,6 +118,7 @@ FLAGS_TO_PASS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC=$(CC)" \
"CFLAGS=$(CFLAGS)" \
+ "DESTDIR=$(DESTDIR)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"EXTRA_OFILES=$(EXTRA_OFILES)" \
"HDEFINES=$(HDEFINES)" \
@@ -318,21 +319,21 @@ ${srcdir}/configure: configure.in
install: install-libs install-headers
install-libs: installdirs
- $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(glibcpp_toolexeclibdir)
- $(LIBTOOL_INSTALL) $(INSTALL) libobjc.la $(glibcpp_toolexeclibdir);
+ $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(DESTDIR)$(glibcpp_toolexeclibdir)
+ $(LIBTOOL_INSTALL) $(INSTALL) libobjc.la $(DESTDIR)$(glibcpp_toolexeclibdir);
if [ "$(OBJC_BOEHM_GC)" ]; then \
$(LIBTOOL_INSTALL) $(INSTALL) libobjc_gc.la \
- $(glibcpp_toolexeclibdir);\
+ $(DESTDIR)$(glibcpp_toolexeclibdir);\
fi
$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@"
- @-$(LIBTOOL) --mode=finish $(glibcpp_toolexeclibdir)
+ @-$(LIBTOOL) --mode=finish $(DESTDIR)$(glibcpp_toolexeclibdir)
# Copy Objective C headers to installation include directory.
install-headers:
- $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(libsubdir)/include/objc
+ $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(DESTDIR)$(libsubdir)/include/objc
for file in $(OBJC_H); do \
realfile=$(srcdir)/objc/$${file}; \
- $(INSTALL_DATA) $${realfile} $(libsubdir)/include/objc; \
+ $(INSTALL_DATA) $${realfile} $(DESTDIR)$(libsubdir)/include/objc; \
done
check uninstall install-strip dist installcheck installdirs:
diff --git a/libobjc/aclocal.m4 b/libobjc/aclocal.m4
index a85624f1d30..ed643f6038c 100644
--- a/libobjc/aclocal.m4
+++ b/libobjc/aclocal.m4
@@ -207,11 +207,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
AC_SUBST(glibcpp_prefixdir)
diff --git a/libobjc/configure b/libobjc/configure
index 85ffb615f8c..64bf2482839 100755
--- a/libobjc/configure
+++ b/libobjc/configure
@@ -52,7 +52,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -167,7 +166,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -338,11 +336,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -508,16 +501,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -646,7 +635,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:650: checking host system type" >&5
+echo "configure:639: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -667,7 +656,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:671: checking target system type" >&5
+echo "configure:660: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -685,7 +674,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:689: checking build system type" >&5
+echo "configure:678: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -717,12 +706,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:721: checking for Cygwin environment" >&5
+echo "configure:710: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 726 "configure"
+#line 715 "configure"
#include "confdefs.h"
int main() {
@@ -733,7 +722,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -750,19 +739,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:754: checking for mingw32 environment" >&5
+echo "configure:743: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 759 "configure"
+#line 748 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -797,7 +786,7 @@ esac
# be 'cp -p' if linking isn't available.
#ac_cv_prog_LN_S='cp -p'
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:801: checking whether ln -s works" >&5
+echo "configure:790: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -853,7 +842,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:857: checking for $ac_word" >&5
+echo "configure:846: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -883,7 +872,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:887: checking for $ac_word" >&5
+echo "configure:876: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -932,7 +921,7 @@ fi
fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:936: checking whether we are using GNU C" >&5
+echo "configure:925: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -941,7 +930,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:934: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -956,7 +945,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:960: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:949: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -987,7 +976,7 @@ fi
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:991: checking for $ac_word" >&5
+echo "configure:980: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1019,7 +1008,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1023: checking for $ac_word" >&5
+echo "configure:1012: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1051,7 +1040,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1055: checking for $ac_word" >&5
+echo "configure:1044: 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
@@ -1083,7 +1072,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1087: checking for $ac_word" >&5
+echo "configure:1076: 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
@@ -1127,7 +1116,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:1131: checking for a BSD compatible install" >&5
+echo "configure:1120: 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
@@ -1195,7 +1184,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1199: checking for executable suffix" >&5
+echo "configure:1188: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1205,10 +1194,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -1235,13 +1224,13 @@ glibcpp_toolexeclibdir=no
glibcpp_prefixdir=${prefix}
echo $ac_n "checking for interface version number""... $ac_c" 1>&6
-echo "configure:1239: checking for interface version number" >&5
+echo "configure:1228: checking for interface version number" >&5
libstdcxx_interface=$INTERFACE
echo "$ac_t""$libstdcxx_interface" 1>&6
# Process the option "--enable-version-specific-runtime-libs"
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
-echo "configure:1245: checking for --enable-version-specific-runtime-libs" >&5
+echo "configure:1234: checking for --enable-version-specific-runtime-libs" >&5
# Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
if test "${enable_version_specific_runtime_libs+set}" = set; then
enableval="$enable_version_specific_runtime_libs"
@@ -1276,11 +1265,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
@@ -1295,7 +1285,7 @@ fi
compiler_name=cc1obj
rm -f skip-this-dir
echo $ac_n "checking if compiler $compiler_name has been built""... $ac_c" 1>&6
-echo "configure:1299: checking if compiler $compiler_name has been built" >&5
+echo "configure:1289: checking if compiler $compiler_name has been built" >&5
if eval "test \"`echo '$''{'objc_cv_compiler_exists'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1407,7 +1397,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1411: checking for ld used by GCC" >&5
+echo "configure:1401: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1437,10 +1427,10 @@ echo "configure:1411: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1441: checking for GNU ld" >&5
+echo "configure:1431: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1444: checking for non-GNU ld" >&5
+echo "configure:1434: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1475,7 +1465,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1479: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1469: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1492,7 +1482,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1496: checking for $LD option to reload object files" >&5
+echo "configure:1486: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1504,7 +1494,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1508: checking for BSD-compatible nm" >&5
+echo "configure:1498: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1542,7 +1532,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1546: checking how to recognise dependant libraries" >&5
+echo "configure:1536: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1715,13 +1705,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1719: checking for object suffix" >&5
+echo "configure:1709: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1725: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1715: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1745,7 +1735,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1749: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1739: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1807,7 +1797,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1811: checking for file" >&5
+echo "configure:1801: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1878,7 +1868,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1882: checking for $ac_word" >&5
+echo "configure:1872: 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
@@ -1910,7 +1900,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1914: checking for $ac_word" >&5
+echo "configure:1904: 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
@@ -1945,7 +1935,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1949: checking for $ac_word" >&5
+echo "configure:1939: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1977,7 +1967,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1981: checking for $ac_word" >&5
+echo "configure:1971: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2044,8 +2034,21 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 2048 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 2038 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:2039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -2057,6 +2060,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -2064,7 +2068,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2072: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2077,12 +2081,54 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo configure:2088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2086: checking whether the C compiler needs -belf" >&5
+echo "configure:2132: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2095,14 +2141,14 @@ 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 2099 "configure"
+#line 2145 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2132,7 +2178,7 @@ echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2136: checking for $ac_word" >&5
+echo "configure:2182: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2164,7 +2210,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2168: checking for $ac_word" >&5
+echo "configure:2214: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2199,7 +2245,7 @@ fi
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2203: checking for $ac_word" >&5
+echo "configure:2249: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2231,7 +2277,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2235: checking for $ac_word" >&5
+echo "configure:2281: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2266,7 +2312,7 @@ fi
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2270: checking for $ac_word" >&5
+echo "configure:2316: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2298,7 +2344,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2302: checking for $ac_word" >&5
+echo "configure:2348: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2334,12 +2380,12 @@ fi
# recent cygwin and mingw systems supply a stub DllMain which the user
# can override, but on older systems we have to supply one
echo $ac_n "checking if libtool should supply DllMain function""... $ac_c" 1>&6
-echo "configure:2338: checking if libtool should supply DllMain function" >&5
+echo "configure:2384: checking if libtool should supply DllMain function" >&5
if eval "test \"`echo '$''{'lt_cv_need_dllmain'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2343 "configure"
+#line 2389 "configure"
#include "confdefs.h"
int main() {
@@ -2347,7 +2393,7 @@ extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
DllMain (0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:2351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_need_dllmain=no
else
@@ -2368,19 +2414,19 @@ echo "$ac_t""$lt_cv_need_dllmain" 1>&6
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mdll"
echo $ac_n "checking how to link DLLs""... $ac_c" 1>&6
-echo "configure:2372: checking how to link DLLs" >&5
+echo "configure:2418: checking how to link DLLs" >&5
if eval "test \"`echo '$''{'lt_cv_cc_dll_switch'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2377 "configure"
+#line 2423 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_dll_switch=-mdll
else
@@ -2498,7 +2544,7 @@ else
# 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:2502: checking for $ac_word" >&5
+echo "configure:2548: 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
@@ -2538,7 +2584,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:2542: checking for a BSD compatible install" >&5
+echo "configure:2588: 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
@@ -2591,7 +2637,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:2595: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:2641: 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
@@ -2620,7 +2666,7 @@ fi
# Sanity check for the cross-compilation case:
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2624: checking how to run the C preprocessor" >&5
+echo "configure:2670: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2635,13 +2681,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 2639 "configure"
+#line 2685 "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:2645: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2691: \"$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
:
@@ -2652,13 +2698,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2656 "configure"
+#line 2702 "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:2662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2708: \"$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
:
@@ -2669,13 +2715,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2673 "configure"
+#line 2719 "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:2679: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2725: \"$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
:
@@ -2701,17 +2747,17 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "stdio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for stdio.h""... $ac_c" 1>&6
-echo "configure:2705: checking for stdio.h" >&5
+echo "configure:2751: checking for stdio.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 2710 "configure"
+#line 2756 "configure"
#include "confdefs.h"
#include <stdio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2715: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2761: \"$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*
@@ -2739,12 +2785,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2743: checking for ANSI C header files" >&5
+echo "configure:2789: 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 2748 "configure"
+#line 2794 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2752,7 +2798,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2756: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2802: \"$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*
@@ -2769,7 +2815,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 2773 "configure"
+#line 2819 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2787,7 +2833,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 2791 "configure"
+#line 2837 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2808,7 +2854,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2812 "configure"
+#line 2858 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2819,7 +2865,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2847,17 +2893,17 @@ for ac_hdr in sched.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2851: checking for $ac_hdr" >&5
+echo "configure:2897: 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 2856 "configure"
+#line 2902 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2907: \"$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*
@@ -2887,7 +2933,7 @@ done
# Determine CFLAGS for gthread.
echo $ac_n "checking for gthread cflags""... $ac_c" 1>&6
-echo "configure:2891: checking for gthread cflags" >&5
+echo "configure:2937: checking for gthread cflags" >&5
if eval "test \"`echo '$''{'objc_cv_gthread_flags'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3310,6 +3356,7 @@ with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
toplevel_srcdir=${toplevel_srcdir}
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
EOF
cat >> $CONFIG_STATUS <<\EOF
diff --git a/libobjc/configure.in b/libobjc/configure.in
index 51554522e96..ac92c423450 100644
--- a/libobjc/configure.in
+++ b/libobjc/configure.in
@@ -1,5 +1,6 @@
# Process this file with autoconf to produce a configure script.
-# Copyright (C) 1995, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1997, 1998, 1999, 2002, 2003
+# Free Software Foundation, Inc.
# Contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GNU Objective C.
@@ -143,6 +144,7 @@ with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
toplevel_srcdir=${toplevel_srcdir}
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
)
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ee8cdb3cd16..6d85ac0cf54 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,1328 @@
+2003-06-23 Loren J. Rittle <ljrittle@acm.org>
+
+ * configure.target (freebsd*): Set abi_baseline_pair.
+ * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
+ (at or near first release) to 3.3.
+ * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
+ * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
+ * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
+
+2003-06-21 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR bootstrap/11272
+ Backport from mainline:
+
+ 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
+
+ * config/io/basic_file_stdio.cc: include <unistd.h>.
+
+2003-06-20 Matthias Klose <doko@debian.org>
+
+ * configure.target: Set try_cpu to target_cpu for existing
+ baseline files.
+
+2003-06-19 Andreas Jaeger <aj@suse.de>
+
+ * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
+ * configure: Regenerated.
+
+2003-06-19 Andreas Jaeger <aj@suse.de>
+
+ Backport from mainline:
+ 2003-06-18 Andreas Jaeger <aj@suse.de>
+
+ * testsuite/Makefile.am (new-abi-baseline): Create baseline
+ directory.
+ (baseline_file): Use baseline_dir.
+ (baseline_dir): New.
+ (mkinstalldirs): New.
+
+ * acinclude.m4: Rename baseline_file to baseline_dir, strip
+ filename from baseline_dir.
+
+ * testsuite/Makefile.in: Regenerated.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * configure: Regenerated.
+
+ 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
+
+ 2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
+
+ * Makefile.am (check-abi): Move...
+ (new-abi-baseline): Move...
+ * testsuite/Makefile.am: ...here.
+ (new-abi-baseline): Conditionalize.
+ (check-abi): Conditionalize.
+ (check-abi-verbose): New.
+ * Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+ * configure.in: Consolidate testsuite configure bits.
+ * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+ * testsuite/abi_check.cc: Add --check-verbose.
+ Only output detailed information if --check-verbose.
+
+
+ 2003-06-16 Andreas Jaeger <aj@suse.de>
+
+ * testsuite/abi_check.cc: Create summary report.
+
+ 2003-06-16 Andreas Jaeger <aj@suse.de>
+
+ * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
+ check-abi multilib aware.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
+ 2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
+ Andreas Jaeger <aj@suse.de>
+
+ * configure.target: Set x86_64 abi_baseline pair correctly.
+
+
+ 2003-06-13 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/abi/i686-pc-linux-gnu: To..
+ * config/abi/i486-linux-gnu: ...this.
+ * config/abi/alphaev67-unknown-linux-gnu: To..
+ * config/abi/alpha-linux-gnu: ...this.
+ * config/abi/ia64-unknown-linux-gnu: To...
+ * config/abi/ia64-linux-gnu: ...this.
+ * config/abi/x86_64-unknown-linux-gnu: To...
+ * config/abi/x86_64-linux-gnu: ...this.
+ * config/abi/i386-unknown-freebsd4: To...
+ * config/abi/i386-freebsd4: ...this.
+ * configure.target: abi_baseline_triplet to abi_baseline_pair.
+ Simplify cpu bits so that abi_baseline_pair can use the same
+ cpu configuration.
+ * acinclude.m4: Same.
+ * aclocal.m4: Regenerate.
+ * configure.in: Can't get enable_abi_check to yes unless native.
+ * configure: Regenerate.
+
+2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.in (libtool_VERSION): To 5:5:0.
+ * configure: Regenerated.
+
+2003-06-07 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/11095
+ * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
+ Deal with width() smaller than zero.
+ * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
+ operator<<(basic_ostream&, char), operator<<(basic_ostream&,
+ const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
+ const char*), operator<<(basic_ostream<char, _Traits>&,
+ const char*), operator<<(basic_ostream, const basic_string&)): Likewise.
+
+2003-06-06 Nathan Myers <ncm-nospam@cantrip.org>
+
+ * include/bits/stl_iterator.h (reverse_iterator::reverse_iterator()):
+ Apply DR235: default constructor default-initializes data member.
+ Instantiated on a pointer type, the member has to end up equal
+ to zero.
+
+2003-06-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libstdc++/9815
+ * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
+ asm case to asm.
+ * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
+ (__atomic_add): likewise.
+
+2003-06-02 Richard Kreckel <Richard.Kreckel@GiNaC.DE>
+
+ PR libstdc++/11062
+ * config/cpu/mips/atomicity.h: Change __attribute__ ((unused)) to
+ __attribute__ ((__unused__)).
+ * config/os/aix/atomicity.h: Likewise.
+
+2003-05-27 Steve Ellcey <sje@cup.hp.com>
+
+ * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
+ on IA64 HP-UX.
+ * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
+ _LIBUNWIND_STD_ABI is set.
+
+2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
+ zero.
+ Update copyright year.
+
+2003-05-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
+ Cast via void* to avoid -Wcast-align warnings.
+ (__default_alloc_template::_S_refill): Likewise.
+
+2003-05-20 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR libstdc++/10689
+ * include/std/std_complex.h (pow): Tidy.
+
+2003-05-17 Nathan Myers <ncm@cantrip.org>
+
+ * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
+
+2003-05-15 Phil Edwards <pme@gcc.gnu.org>
+
+ * testsuite/Makefile.am: Properly quote LD_RUN_PATH.
+ * testsuite/Makefile.in: Regenerate.
+
+2003-05-14 Loren J. Rittle <ljrittle@acm.org>
+
+ * testsuite/thread/pthread4.cc: Tweak test.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-06 Phil Edwards <pme@gcc.gnu.org>
+
+ * docs/html/faq/index.html (3.10): Add note about mips atomicity.h.
+ * docs/html/faq/index.txt: Regenerated.
+
+2003-05-02 Joel Sherrill <joel.sherrill@OARcorp.com>
+ Loren J. Rittle <ljrittle@acm.org>
+ Martin v. Loewis <martin@v.loewis.de>
+
+ libstdc++/10556
+ * config/cpu/i386/atomicity.h: New file.
+
+2003-05-02 Richard Henderson <rth@redhat.com>
+
+ PR c++/10570
+ * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
+ (__cxa_end_catch): Likewise.
+ * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use
+ _Unwind_Resume_or_Rethrow.
+ * libsupc++/eh_personality.cc (empty_exception_spec): New.
+ (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
+ for _UA_FORCE_UNWIND. Honor empty filter spec for foreign
+ exceptions. Don't push terminate/unexpected to cxa functions.
+ (__cxa_call_unexpected): Remove foreign exception fixmes.
+
+2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ Revert __locale_cache.
+ * include/bits/locale_facets.tcc (num_put::_M_convert_int): Remove
+ __locale_cache.
+ (num_put::_M_convert_int): Same.
+ (num_put::do_put(bool)): Same.
+ (__locale_cache::_M_init): Same.
+ (__locale_cache::_S_callback): Same.
+ * include/bits/locale_facets.h (__locale_cache_base): Remove.
+ (__locale_cache): Remove.
+ * include/bits/basic_ios.h (basic_ios::init): Remove __locale_cache.
+ (basic_ios::_M_cache_locale): Same.
+ * include/bits/basic_ios.tcc: Same.
+ * include/bits/ios_base.h: Same.
+ (ios_base::_M_cache): Remove.
+ * src/locale-inst.cc: Same.
+ * src/ios.cc: Same.
+ * src/globals.cc: Same.
+
+ * config/linker-map.gnu: Same.
+
+2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.in (libtool_VERSION): To 5:4:0.
+ * configure: Regenerated.
+
+ * testsuite/abi_check.cc (check_version): Update known versions.
+ Check added symbols for version_name != base version. Add missing
+ symbols to incompatible list.
+
+ * config/linker-map.gnu: Fixup for __basic_file::showmanyc_helper.
+
+2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
+ * aclocal.m4: Regenerated.
+ * configure: Regenerated.
+
+2003-05-01 Paolo Carlini <pcarlini@unitus.it>
+ Nathan Myers <ncm@cantrip.org>
+
+ Backport from mainline fix of 2003-03-28.
+ PR libstdc++/9533
+ * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
+ call underflow().
+ (basic_filebuf<>::showmanyc): Use the information provided
+ by codecvt and __basic_file<>::showmanyc_helper to implement
+ a non-trivial showmanyc.
+ * config/io/basic_file_stdio.h
+ (__basic_file<>::showmanyc_helper): New, declare.
+ * config/io/basic_file_stdio.cc
+ (__basic_file<>::showmanyc_helper): Define.
+ (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
+ (__basic_file<char>::open): Don't call fcntl().
+ * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
+ GLIBCPP_CHECK_POLL): New macros.
+ * configure.in: Call here.
+ * acconfig.h: Add #undefs for the corresponding symbols.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+2003-04-29 Phil Edwards <pme@gcc.gnu.org>
+
+ Bulk documentation merge (copy) from trunk.
+ * docs/doxygen/Intro.3, docs/doxygen/TODO, docs/doxygen/mainpage.html,
+ docs/doxygen/run_doxygen, docs/doxygen/user.cfg.in,
+ docs/html/configopts.html, docs/html/debug.html,
+ docs/html/documentation.html, docs/html/explanations.html,
+ docs/html/install.html, docs/html/17_intro/howto.html,
+ docs/html/17_intro/porting.html, docs/html/18_support/howto.html,
+ docs/html/19_diagnostics/howto.html, docs/html/27_io/howto.html,
+ docs/html/ext/howto.html, docs/html/ext/sgiexts.html,
+ docs/html/faq/index.html, docs/html/faq/index.txt:
+ Merge from trunk.
+
+2003-04-28 Nathan Myers <ncm@cantrip.org>
+
+ Move some basic_string members out of line because
+ they are too big to reasonably be inline.
+ * include/bits/basic_string.h
+ (assign(const basic_string&, size_type, size_type),
+ assign(const _CharT*, size_type),
+ insert(size_type, const basic_string&, size_type, size_type),
+ insert(size_type, const _CharT*, size_type),
+ replace(size_type, size_type, const _CharT*, size_type)):
+ Move from here to...
+ * include/bits/basic_string.tcc: ...here.
+
+2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/10132
+ * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
+ exception specifications.
+ (basic_filebuf::close): Same.
+ (basic_filebuf::_M_destroy_internal_buffer): Same.
+ (basic_filebuf): Remove __res_type typedef.
+ * include/std/std_streambuf.h:
+ (basic_streambuf::_M_pback_destroy): Same.
+ * src/fstream.cc: Same.
+ * include/bits/fstream.tcc
+ (basic_filebuf::_M_convert_to_external): Simplify.
+ (basic_filebuf::seekoff): Use has_facet before use_facet.
+ (basic_filebuf::close): Add exception specification of throw().
+
+2003-04-25 Ranjit Mathew <rmathew@hotmail.com>
+ Phil Edwards <pme@gcc.gnu.org>
+
+ * testsuite_flags.in: Guard against the possibility
+ of having "xgcc" as a part of a folder name in the
+ path to the GCC build folder.
+ * testsuite/Makefile.am: Likewise.
+ * testsuite/Makefile.in: Regenerated.
+
+2003-04-24 Richard Sandiford <rsandifo@redhat.com>
+
+ * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
+
+2003-04-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/locale/generic/c_locale.h: Fix placement for old parser.
+
+2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/locale/generic/c_locale.h (__convert_from_v): Use
+ attribute unused.
+
+2003-04-23 Phil Edwards <pme@gcc.gnu.org>
+
+ * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
+ Comment and change to comply with DR 60 and the effect on gcount().
+ * include/std/std_istream.h: Update comments.
+
+2003-04-22 Loren J. Rittle <ljrittle@acm.org>
+
+ * testsuite/27_io/filebuf_members.cc (test_07): Adjust timing.
+
+2003-04-22 Jerry Quinn <jlquinn@optonline.net>
+ Benjamin Kosnik <bkoz at redhat dot com>
+
+ * include/bits/basic_ios.h (ios_base::Init::_S_ios_create):
+ Declare friend.
+ (basic_ios::init, basic_ios::_M_cache_locale): Add locale
+ cache argument.
+ * include/bits/basic_ios.tcc (basic_ios::init): Pass cache to
+ _M_cache_locale.
+ (basic_ios::_M_cache_locale): Use placement new if cache is
+ provided. Track the distinction in iword(0).
+ * include/bits/locale_facets.tcc
+ (__locale_cache::_S_callback): Only delete cache if iword(0)
+ is 0, i.e. not static.
+ * src/globals.cc: Allocate space for __locale_cache objects.
+ * src/ios.cc (__gnu_cxx): Declare extern __locale_cache objects
+ for standard wide and narrow stream objects.
+ (ios_base::Init::_S_ios_create): Use them.
+
+2003-04-18 Loren J. Rittle <ljrittle@acm.org>
+
+ * config/os/bsd/freebsd/ctype_inline.h: Support _M_table
+ when so installed.
+
+ * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
+ (_GLIBCPP_USE_C99_DYNAMIC): New macro.
+ (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
+ (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
+ * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
+ New macro.
+ (_GLIBCPP_USE_C99_DYNAMIC): New macro.
+ (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
+ (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
+ * include/c_std/std_cstdlib.h: Use new macros.
+ * include/c_std/std_cstdio.h: Use new macros.
+ * include/c_std/std_cwchar.h: Use new macros.
+
+2003-04-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/9555
+ * include/bits/ostream.tcc: Catch all exceptions for formatted
+ output, instead of std::exception and derivatives.
+ * include/bits/istream.tcc: Same.
+
+2003-04-17 Andreas Tobler <toa@pop.agri.ch>
+ Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/os/generic/ctype_inline.h: Fix.
+
+2003-04-17 Andreas Tobler <toa@pop.agri.ch>
+
+ * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
+ solaris includes, not generic.
+
+2003-04-15 Benjamin Kosnik <bkoz@redhat.com>
+ Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9423
+ * docs/html/27_io/howto.html
+ ('The buffering is screwing up my program!'): Explain that
+ opening counts as an I/O operation.
+
+2003-04-15 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * testsuite/thread/pthread1.cc: Enable for darwin test.
+ * testsuite/thread/pthread2.cc: Same.
+ * testsuite/thread/pthread3.cc: Same.
+ * testsuite/thread/pthread4.cc: Same.
+ * testsuite/thread/pthread5.cc: Same.
+ * testsuite/thread/pthread6.cc: Same.
+
+2003-04-15 Loren J. Rittle <ljrittle@acm.org>
+
+ * include/bits/concept_check.h: Fix multi-line comment.
+ * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
+ when target is *-*-freebsd*.
+
+ libstdc++/7680
+ * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
+ Populate it with multiple legal ways to obtain the C99 float
+ transcendentals. Use them instead of direct global reference.
+ (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
+ * docs/html/17_intro/porting.texi
+ (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
+ (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
+ (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
+ * config/os/bsd/freebsd/os_defines.h
+ (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
+ (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
+ * testsuite/26_numerics/c_math_dynamic.cc: New file.
+
+ * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
+
+2003-04-14 M. Warner Losh <imp@bsdimp.com>
+
+ * include/std/std_fstream.h: Add required typename.
+
+2003-04-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * os/hpux/ctype_inline.h: Replace with gnu-linux version.
+
+2003-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
+ twice. Always set _M_cfile to 0 when stream was open.
+
+2003-04-04 Jerry Quinn <jlquinn@optonline.net>
+
+ PR libstdc++/10276
+ * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
+ initialization.
+
+2003-03-31 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/ext/stdio_filebuf.h
+ (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
+ stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
+ _M_buf_size_opt == 0 means only "not to use an allocated buffer"
+ since a stack-based buffer is used for small values of the size_t
+ parameter.
+ * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
+ If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
+ * testsuite/ext/stdio_filebuf_2.cc: New testfile.
+
+2003-03-25 Paolo Carlini <pcarlini@unitus.it>
+ Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/10097
+ * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
+ basic_filebuf<wchar_t>::_M_underflow_common):
+ if (gptr() < egptr()) return *gptr().
+ * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
+
+ * testsuite/27_io/filebuf_members.cc (test_04): Minor
+ changes: unlink fifo before making it, fix spelling error.
+
+2003-03-22 Loren J. Rittle <ljrittle@acm.org>
+
+ * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
+ Correct return value.
+
+2003-03-21 Jerry Quinn <jlquinn@optonline.net>
+
+ PR libstdc++/5730
+ * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
+ * include/std/std_complex.h (norm): Use faster,
+ less accurate computation for builtin float types under --fast-math.
+
+2003-03-21 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/10167
+ * config/locale/ieee_1003.1-2001/codecvt_specializations.h
+ (do_out, do_unshift, do_in): qualify 'ok', 'error', 'partial',
+ 'noconv' with codecvt_base::.
+
+2003-03-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * src/strstream.cc (strstreambuf::overflow): Make sure operands of
+ min and max have the same type.
+ * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
+
+2003-03-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/Makefile.am (CLEANFILES): Add tmp*.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
+ Cleanups.
+
+2003-03-17 Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/9964
+ * include/bits/fstream.tcc (basic_filebuf::close):
+ Always close file, even when write fails.
+ * testsuite/27_io/filebuf_members.cc (test_07): New test.
+
+2003-03-17 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * libsupc++/Makefile.am (LTCOMPILE): Add $(AM_CFLAGS) $(CFLAGS).
+ * libsupc++/Makefile.in: Regenerate.
+
+2003-03-09 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9988
+ * include/bits/fstream.tcc (overflow): don't write EOF to file.
+ * testsuite/27_io/filebuf_virtuals.cc (test14): Add.
+
+2003-03-09 Paolo Carlini <pcarlini@unitus.it>
+ Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/9424
+ * include/bits/streambuf.tcc (__copy_streambufs): Use
+ sgetn-sputn only when sputn cannot fail, otherwise fall back
+ to safe snextc-sputc.
+ * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
+
+2003-03-08 Jerry Quinn <jlquinn@optonline.net>
+
+ PR libstdc++/9561
+ * include/bits/basic_ios.h (_M_setstate): New.
+ * include/bits/ostream.tcc (operator<<): Use it.
+ * include/bits/istream.tcc (operator>>): Use it.
+ * include/std/std_ostream.h (operator<<): Make friends.
+ * include/std/std_istream.h (operator>>): Make friends.
+ * testsuite/27_io/ostream_exception.cc,
+ testsuite/27_io/istream_exception.cc: New tests.
+
+2003-03-08 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9182
+ * include/bits/fstream.tcc (_M_really_overflow): Check
+ for _M_convert_to_external possible failures.
+ * include/std/std_fstream.h (sync): Check _M_really_overflow
+ return value and return -1 in case of failure.
+ * testsuite/27_io/filebuf_virtuals.cc (test12, test13): Add.
+
+ * include/bits/fstream.tcc (_M_convert_to_external):
+ Set __elen to zero if codecvt::out eventually fails.
+
+2003-03-08 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9826
+ * include/bits/istream.tcc (operator>>(_CharT*),
+ operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
+ * testsuite/27_io/stringstream.cc (test02): Add.
+
+ * include/bits/istream.tcc (operator>>(_CharT*)):
+ Assign a char_type to *__s.
+
+2003-03-08 Jerry Quinn <jlquinn@optonline.net>
+
+ * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
+ _M_word_size initialization.
+
+2003-03-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/linker-map.gnu: Tweak.
+
+2003-03-07 Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/9817
+ * include/bits/locale_facets.tcc
+ (collate::do_compare, collate::do_transform):
+ Handle nul characters in input.
+
+2003-03-07 Jerry Quinn <jlquinn@tiamat>
+
+ * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
+ sputn fails.
+ * testsuite/27_io/ostream_fail.cc: New test.
+
+2003-03-07 Matthias Klose <doko@debian.org>
+
+ * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
+ FLAGS_TO_PASS: Set to AM_MAKEFLAGS
+ * Makefile.in: Regenerate.
+ * libsupc++/Makefile.am: Express glibcppinstalldir in terms
+ of gxx_include_dir.
+ AM_MAKEFLAGS: Pass gxx_include_dir.
+ * libsupc++/Makefile.in: Regenerate.
+
+2003-03-06 Jerry Quinn <jlquinn@optonline.net>
+
+ * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
+ (ios_base::ios_base): Set _M_word, _M_word_size.
+ (ios_base::~ios_base): Remove redundant test.
+ * testsuite/27_io/ios_base_storage.cc (test03): New.
+
+2003-03-05 Jerry Quinn <jlquinn@optonline.net>
+
+ * testsuite/27_io/ios_base_storage.cc (test02): Set exception
+ mask. Test setting small-numbered pword and iword slots. Test
+ behavior at limit of numeric_limits::max. Check that values are
+ still good after failures.
+
+2003-03-05 Carlo Wood <carlo@alinoe.com>
+
+ * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
+ _S_initialized() in order to allow debugging libraries to detect
+ when the std streams are initialized from an overloaded operator
+ new.
+
+2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/linker-map.gnu: Version.
+
+2003-03-04 Jerry Quinn <jlquinn@optonline.net>
+
+ * include/bits/basic_ios.h: Update copyright.
+ (_M_cache_locale): New.
+ (_M_cache_facets): Deprecate.
+ * include/bits/basic_ios.tcc (basic_ios::copyfmt): Set up locale
+ caching.
+ (basic_ios::imbue,basic_ios::init): Use _M_cache_locale.
+ (basic_ios::_M_cache_locale): New.
+ (basic_ios::_M_cache_facets): Deprecate.
+ * include/bits/ios_base.h (__locale_cache_base): Declare.
+ (ios_base::_M_cache): Define.
+ * include/bits/locale_facets.h
+ (__locale_cache_base,__locale_cache<_CharT>): New classes.
+ * include/bits/locale_facets.tcc
+ (num_put::_M_convert_int): Use locale cache literal string,
+ grouping flag, thousands separator.
+ (num_out::_M_convert_float): Use locale cache grouping flag, decimal
+ point, thousands separator.
+ (__locale_cache<_CharT>::_M_init,__locale_cache<_CharT>::_S_callback):
+ New.
+ * src/locale-inst.cc
+ (__locale_cache<_CharT>::_S_callback, __locale_cache<char>,
+ __locale_cache<wchar_t>): New.
+
+2003-03-04 Jerry Quinn <jlquinn@optonline.net>
+
+ * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
+ new failure. Throw exception if badbit and exception mask when ix
+ >= numeric_limits<int>::max().
+
+2003-03-03 Benjamin Kosnik <benjamin@redhat.com>
+
+ * config/linker-map.gnu (GLIBCPP_3.2.3): New.
+ Add new symbols.
+ * testsuite/abi_check.cc: Update.
+
+2003-03-03 Jerry Quinn <jlquinn@optonline.net>
+ Benjamin Kosnik <benjamin@redhat.com>
+
+ * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
+ Add indexes into this array.
+ (__num_base::_S_atoms): To _S_atoms_in.
+ (num_put::_M_insert): Rename to _M_pad.
+ (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
+ (num_put::_M_widen_int): Rename to _M_group_int.
+ (num_put::_M_widen_float): Rename to _M_group_float.
+ * include/bits/locale_facets.tcc (__int_to_char): New inline
+ function and adapter functions.
+ (num_put::_M_group_int): Streamline.
+ (num_put::_M_group_float): Streamline.
+ (num_put::_M_convert_int): Remove unused parameter names. Choose
+ large enough buffer for text. Use __int_to_char instead of
+ __convert_from_v. Formatted text is now at the end of the buffer.
+ (num_put::_M_convert_float): Preliminary fixups.
+ * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
+ (__int_to_char<unsigned long long>): Same.
+ (__int_to_char<char, unsigned long>): New.
+ (__int_to_char<char, unsigned long long>): New.
+ (__int_to_char<wchar_t, unsigned long>): New.
+ (__int_to_char<wchar_t, unsigned long long>): New.
+ * src/locale.cc: Add _S_atoms_in, _S_atoms_out.
+
+2003-02-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/27_io/ios_base_storage.cc (main): Call
+ set_memory_limits.
+
+2003-02-28 Brad Spencer <spencer@infointeractive.com>
+ Nathan Myers <ncm@cantrip.org>
+
+ * src/Makefile.am (stamp-debug): Clean.
+ * src/Makefile.in: Regenerate.
+
+2002-02-28 Loren J. Rittle <ljrittle@acm.org>
+
+ * src/Makefile.am: Resolve non-portable use of $<.
+ * src/Makefile.in: Rebuilt.
+
+2002-02-28 Phil Edwards <pme@gcc.gnu.org>
+
+ * configure.in (GLIBCPP_ENABLE_CXX_FLAGS): Do not pass arguments,
+ let the defaults work.
+ * configure: Regenerate.
+
+2002-02-28 Phil Edwards <pme@gcc.gnu.org>
+
+ * acinclude.m4: Remove trailing whitespace.
+ (GLIBCPP_ENABLE_CXX_FLAGS): Fix.
+ * aclocal.m4, configure: Regenerate.
+
+2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
+ Call GLIBCPP_ENABLE_DEBUG_FLAGS.
+ * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
+ conditional if --enable-debug is yes. Rework.
+ (GLIBCPP_ENABLE_DEBUG_FLAGS): New.
+ * aclocal.m4: Regenerate.
+ * libio/Makefile.am: Remove DEBUG_FLAGS.
+ * libio/Makefile.in: Regenerate.
+ * libsupc++/Makefile.am: Remove DEBUG_FLAGS.
+ * libsupc++/Makefile.in: Regenerate.
+ * docs/html/configopts.html: Add docs for --enable-debug,
+ --enable-debug-flags.
+
+2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ Correct dependency tracking, build warts.
+ * configure.in: Correct repeated AC_OUTPUT thrashing by
+ config-ml.in
+ * configure: Regenerate.
+ * include/Makefile.am (stamp-target): Stamp in top_builddir.
+ * include/Makefile.in: Regenerate.
+ * src/Makefile.am (codecvt_members.cc): New rule.
+ (collate_members.cc): Same.
+ (ctype_members.cc): Same.
+ (messages_members.cc): Same.
+ (monetary_members.cc): Same.
+ (numeric_members.cc): Same.
+ (time_members.cc): Same.
+ (c++locale.cc): Same.
+ (basic_file.cc): Same.
+ * src/Makefile.in: Regenerate.
+ * acinclude.m4 (CCTYPE_CHAR_CC): Remove.
+ (CCCODECVT_CC): Don't link, AC_SUBST.
+ (CCOLLATE_CC): Same.
+ (CCTYPE_CC): Same.
+ (CMESSAGES_CC): Same.
+ (CMONEY_CC): Same.
+ (CNUMERIC_CC): Same.
+ (CTIME_CC): Same.
+ (CLOCALE_CC): Same.
+ * aclocal.m4: Regenerate.
+
+ * src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
+ for convenience libraries.
+ (version_arg): Rename linker.map to libstdc++.ver.
+ (libstdc___la_DEPENDENCIES): Remove linker.map, add
+ libstdc++-symbol.ver as a dependency.
+ (libstdc++-symbol.ver): Add rule.
+ * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
+ SYMVER_MAP. Don't link, AC_SUBST.
+
+ * include/Makefile.am (target_headers_noinst): New.
+ (stamp-target): Add CLOCALE_INTERNAL_H.
+ * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
+ CLOCALE_INTERNAL_H, AC_SUBST.
+ * config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
+ include.
+ * config/locale/gnu/time_members.cc: Same.
+ * config/locale/gnu/numeric_members.cc: Same.
+ * config/locale/gnu/monetary_members.cc: Same.
+ * config/locale/gnu/messages_members.cc: Same.
+ * config/locale/gnu/ctype_members.cc: Same.
+ * config/locale/gnu/collate_members.cc: Same.
+ * config/locale/gnu/codecvt_members.cc: Same.
+ * config/locale/generic/codecvt_members.cc: Remove.
+
+2003-02-27 Jerry Quinn <jlquinn@optonline.net>
+
+ * config/locale/generic/messages_members.h (messages::messages):
+ Remove name from unused parameter.
+
+2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/Makefile.am (stamp-std-precompile): Add rule.
+ * include/Makefile.in: Regenerated.
+
+2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
+ * include/bits/basic_ios.tcc: Guard use of extern template.
+ * include/std/std_iomanip.h: Same.
+ * include/bits/streambuf.tcc: Same.
+ * include/bits/stl_alloc.h: Same.
+ * include/bits/locale_facets.tcc: Same.
+ * include/bits/ostream.tcc: Same.
+ * include/bits/istream.tcc: Same.
+ * include/bits/fstream.tcc: Same.
+ * include/bits/basic_string.tcc: Same.
+
+2003-02-25 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9825
+ * src/fstream.cc
+ (basic_filebuf<char/wchar_t>::_M_underflow_common): When
+ __bump is true (uflow), always increment the read pointer
+ (_M_in_cur) before returning successfully.
+ * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
+
+2003-02-25 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_sstream.h (str()): the size of the
+ current string may be different from the initial one
+ whenever _M_out_end > _M_out_beg.
+ * testsuite/27_io/stringbuf_members.cc (test07): Add.
+
+2003-02-21 Phil Edwards <pme@gcc.gnu.org>
+
+ * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration.
+ (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file.
+ (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare
+ when we don't have static mutex initialization.
+ (__exchange_and_add): Use _Atomic_add_mutex_once.
+ * src/misc-inst.cc: Definitions of all the above.
+ * config/linker-map.gnu: Also export locking symbols needed for the
+ generic atomicity.h case.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-02-19 Phil Edwards <pme@gcc.gnu.org>
+
+ PR libstdc++/9582
+ * include/bits/stl_alloc.h: Remove all traces of assert().
+
+2003-02-18 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9582
+ * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
+
+2003-02-17 Paolo Carlini <pcarlini@unitus.it>
+
+ * src/locale-inst.cc: Do not include <cassert>.
+ * src/locale.cc: Likewise.
+
+2003-02-17 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9169
+ * include/bits/fstream.tcc (_M_convert_to_external):
+ Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
+ * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
+
+2003-02-13 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/ostream.tcc (sentry::sentry): Improve
+ performance-wise the fix for libstdc++/9563.
+
+2003-02-13 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9320
+ * include/ext/stdio_filebuf.h
+ (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
+ stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
+ Change to take a __size parameter of type size_t, not
+ of type (template parameter dependent) int_type.
+ * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
+ size vars to size_t.
+ * testsuite/ext/stdio_filebuf.cc: Add.
+
+2003-02-12 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9563
+ * include/bits/ostream.tcc (sentry::sentry): Check
+ the state of the stream after the preparation.
+ * testsuite/27_io/ostream_sentry.cc: Add.
+
+2003-02-11 Scott Snyder <snyder@fnal.gov>
+
+ PR libstdc++/9659
+ * include/bits/fstream.tcc (seekoff): Avoid operator+
+ for pos_type.
+
+2003-02-11 Paolo Carlini <pcarlini@unitus.it>
+ Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/9318
+ * include/bits/streambuf.tcc (__copy_streambufs):
+ Don't conditionalize the copy to __testput.
+ * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
+
+2003-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
+ Correct alignment.
+ (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
+ lock.
+
+2003-02-07 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9548
+ Implement resolution of DR 231 (Ready)
+ * include/bits/locale_facets.h (__num_base::_S_format_float):
+ Return void.
+ * src/locale.cc (__num_base::_S_format_float): Implement
+ resolution of DR 231.
+ * include/bits/locale_facets.tcc (num_put::_M_convert_float):
+ Tweak uses. Check for negative precision.
+ * testsuite/22_locale/num_put_members_char.cc (test06): Add
+ * testsuite/22_locale/num_put_members_wchar_t.cc (test06): Ditto.
+
+2003-02-07 Paolo Carlini <pcarlini@unitus.it>
+
+ * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
+ unsigned char platforms.
+
+2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
+ (money_put::do_put): Same.
+
+2003-02-05 Jerry Quinn <jlquinn@optonline.net>
+
+ * include/bits/ios_base.h (ios_base): Document reserved storage.
+
+ * include/bits/locale_facets.h: (struct __pad): Comment on
+ implementation.
+ (__verify_grouping): Same.
+ (__add_grouping): Same.
+ * include/bits/locale_facets.tcc (__verify_grouping): Move
+ comments to declaration.
+ (__add_grouping): Same.
+
+ * include/bits/locale_facets.tcc:
+ (__write<_CharT, _OutIter>): New function.
+ (__write<_CharT>): New function specialization.
+ (num_put::_M_insert): Remove explicit loop over iterator. Use
+ __write.
+ (num_put::_M_widen_float): Remove __basefield.
+ (num_put::_M_widen_int): Move __basefield to within grouping block.
+
+ * include/bits/streambuf_iterator.h: Include <streambuf>.
+ (ostreambuf_iterator::_M_put): Add.
+
+2003-02-05 Paolo Carlini <pcarlini@unitus.it>
+
+ * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
+
+2003-02-05 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9439, PR libstdc++/9425
+ * config/io/basic_file_stdio.cc
+ (__basic_file<char>::seekoff, seekpos): Return -1L if
+ fseek fails.
+ * include/bits/fstream.tcc (basic_filebuf::seekoff):
+ Check _M_file.seekoff return value; always return
+ pos_type(off_type(-1)) in case of failure.
+ (basic_filebuf::pbackfail): Check this->seekoff return
+ value and return traits_type::eof() in case of failure.
+ * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
+
+2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
+
+2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.in (libtool_VERSION): To 5:3:0.
+ * configure: Regenerated.
+
+2003-02-04 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9538
+ * include/bits/streambuf.tcc (sputbackc): Access
+ this->gptr()[-1] only if _M_in_beg < _M_in_cur.
+ * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
+
+2003-02-04 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9507
+ * include/bits/fstream.tcc (open): If the 'ate' repositioning
+ operation fails, calls close _and_ returns a null pointer
+ to indicate failure (27.8.1.3,4).
+ * testsuite/27_io/filebuf_members.cc (test_06): Add.
+
+2003-02-04 Petur Runolfsson <peturr02@ru.is>
+
+ * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
+ * docs/html/17_intro/porting.html: Regenerate.
+
+2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR libstdc++/9234
+ * include/bits/valarray_meta.h (_UnBase::operator[]): Apply unary
+ operator.
+
+ * include/bits/valarray_meta.h (__not_equal_to): Use != instead of ==.
+
+ * testsuite/26_numerics/valarray_operators.cc: New test.
+
+2003-01-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9433
+ * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
+ with bases which are very ambiguous.
+
+2003-01-28 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
+ @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
+ * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
+ * src/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
+ $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
+ version_specific_libs is enabled.
+ * aclocal.m4, configure: Rebuilt.
+
+2003-01-26 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * include/Makefile.am (install-data-local): Prepend
+ $(DESTDIR) to destination paths in all (un)installation
+ commands. Use ${c_base_builddir} and ${std_builddir}
+ as destination subdirectories to achieve consistency with
+ preceding mkinstalldirs commands. No effect because both
+ variables contain "." only.
+ * include/Makefile.in: Regenerate.
+
+2003-01-23 Phil Edwards <pme@gcc.gnu.org>
+
+ Bulk documentation merge (copy) from trunk.
+ * docs/doxygen/tables.html, docs/doxygen/user.cfg.in,
+ docs/html/configopts.html, docs/html/debug.html,
+ docs/html/documentation.html, docs/html/17_intro/howto.html,
+ docs/html/19_diagnostics/howto.html, docs/html/ext/sgiexts.html:
+ Merge from trunk.
+
+2003-01-23 Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/9322
+ * include/std/std_streambuf.h
+ (basic_streambuf::basic_streambuf,
+ basic_streambuf::~basic_streambuf,
+ basic_streambuf::getloc, basic_streambuf::imbue):
+ Remove _M_buf_locale_init use.
+ * include/bits/fstream.tcc (basic_filebuf::imbue): Likewise
+ * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
+ * testsuite/27_io/streambuf_members.cc (test08): Add.
+ * testsuite/27_io/stringbuf_virtuals.cc (test08): Add.
+
+2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ Revert include ordering.
+ * config/locale/generic/c_locale.h: Add include guards.
+ * config/locale/gnu/c_locale.h: Same.
+ * include/bits/locale_classes.h: Remove cctype include.
+ * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
+ * include/std/std_fstream.h: Remove streambuf include.
+ * include/std/std_sstream.h: Remove streambuf include.
+
+2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ Match 3.2.0 ABI.
+ * include/bits/stl_alloc.h: Revert.
+
+ * include/bits/codecvt.h: Revert.
+ * config/locale/gnu/codecvt_members.cc: Revert.
+ * src/codecvt.cc: Revert.
+ * src/localename.cc: Revert.
+
+ * include/bits/ios_base.h (ios_base::~ios_base): Revert.
+
+ * config/linker-map.gnu: Mostly match 3_2-branch file.
+
+2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/locale_facets.h: Move non-facet classes requiring
+ <string> to...
+ * include/bits/locale_classes.h: New.
+ * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
+ * include/bits/Makefile.in: Regenerate.
+
+ * include/bits/locale_facets.tcc (__convert_from_v): Move to...
+ * config/locale/gnu/c_locale.h: ...here.
+ * config/locale/generic/c_locale.h: Same.
+
+ * include/bits/locale_facets.tcc: Move declarations to...
+ * include/bits/locale_facets.h: ...here.
+ * include/bits/basic_ios.h: Tweak includes accordingly.
+ * include/std/std_sstream.h: Add streambuf include.
+ * include/std/std_fstream.h: Ditto.
+ * include/std/std_locale.h: Add locale_classes.h include.
+ * include/std/std_iosfwd.h: Tweak.
+ * src/concept-inst.cc: Add iterator include.
+
+ * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
+ bits as unexported in the future.
+
+2003-01-15 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
+ GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * testsuite/Makefile.am (all-local): Add conditional rule to
+ generate testsuite_wchar_t.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/lib/libstdc++-v3-dg.exp
+ (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
+ testsuite_wchar_t is not present in the build directory.
+ * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
+ Remove setulimit bits.
+ * testsuite/26_numerics/complex_value.cc: Set to noopts.
+ * testsuite/Makefile.am (CLEANFILES): Add.
+ * testsuite/Makefile.in: Regenerate.
+
+2003-01-15 Benjamin Kosnik <bkoz@redhat.com>
+
+ Renames, namespaces for testsuite utilities.
+ * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
+ (gnu_allocator_tracker): Rename to allocation_tracker.
+ (gnu_new_allocator): Rename to tracker_alloc.
+ (__set_testsuite_memlimit): Rename to set_memory_limits.
+ (gnu_assignment_operator): Rename to assignment_operator.
+ (gnu_destructor): Rename to destructor.
+ (gnu_copy_tracker): Rename to copy_tracker.
+ (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
+ (run_tests_wrapped_locale): New.
+ (run_tests_wrapped_env): New.
+ * testsuite/testsuite_hooks.cc: Same.
+ (class locale_data): Add.
+ (class enviornment_variable): Add.
+ (class not_found): Add.
+ * testsuite/testsuite_allocator.h: Same.
+ * testsuite/testsuite_allocator.cc: Same.
+ * testsuite/23_containers/deque_ctor.cc
+ (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
+ allocation_tracker.
+ Change gnu_new_allocator to tracker_alloc.
+ Change gnu_counting_struct to counter.
+ Change gnu_copy_tracker to copy_tracker.
+ Change gnu_copy_constructor to copy_constructor.
+ Change gnu_assignment_operator to assignment_operator.
+ Inject.
+ * testsuite/23_containers/vector_capacity.cc: Same.
+ * testsuite/23_containers/vector_ctor.cc (test01): Same.
+ * testsuite/23_containers/list_modifiers.cc: Change
+ gnu_copy_tracker to copy_tracker.
+ * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
+ __set_testsuite_memlimit to set_memory_limits.
+ * testsuite/21_strings/insert.cc (main): Same.
+ * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
+ * testsuite/27_io/stringstream.cc: Same.
+ * testsuite/27_io/stringbuf.cc: Same.
+ * testsuite/27_io/streambuf.cc: Same.
+ * testsuite/27_io/ostream.cc: Same.
+ * testsuite/27_io/istream.cc: Same.
+ * testsuite/27_io/fstream.cc: Same.
+ * testsuite/lib/libstdc++-v3-dg.exp
+ (libstdc++-v3-list-sourcefiles): Additionally handle files two and
+ three levels deeper in glob patterns.
+
+2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
+ __hppa__.
+
+2003-01-10 Benjamin Kosnik <bkoz@redhat.com>
+ Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
+
+ PR libstdc++/9269
+ * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
+ (basic_filebuf::underflow): Declare.
+ Move definitions.
+
+2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/8707
+ * Makefile.am (distclean-multi): Fix.
+ * Makefile.in: Regenerate.
+
+2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/locale_facets.h (messages): Move ctor, dtor
+ definitions to..
+ (__timepunct): Same.
+ * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
+ definitions. Conditionalize for GNU systems.
+ * config/locale/generic/messages_members.h (messages): Add dtor, ctor
+ definitions.
+ * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
+ definitions. Conditionalize for GNU systems.
+ * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
+ definitions.
+ * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
+ * src/locale.cc: Define.
+ * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
+ Use it.
+ * config/locale/gnu/time_members.h: Use it.
+ * config/locale/gnu/messages_members.h: Use it.
+ * config/linker-map.gnu: Add locale::facets details.
+ * include/Makefile.am (target_headers_extra): Add time_members.h.
+ * include/Makefile.in: Regenerate.
+ * acinclude.m4: Export CTIME_H.
+ * aclocal.m4: Regenerate.
+ * configure: Regnerate.
+
+2003-01-06 Paolo Carlini <pcarlini@unitus.it>
+
+ * src/codecvt.cc
+ (codecvt<char, char, mbstate_t>::do_in, do_out):
+ Tweak parameters to avoid unused parameter warnings.
+
+2003-01-06 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9151
+ * include/bits/locale_facets.cc (num_put::_M_convert_float):
+ Limit __prec to digits10 + 2, not digits10 + 1, taking into
+ account the possibility of %{g,G} conversion specifiers
+ inside _S_format_float.
+ * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
+
+2003-01-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
+ libstdc++-v3-list-sourcefiles): Additionally handle files one
+ level deeper in glob patterns.
+
+ * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
+ * testsuite/27_io/istream_extractor_arith/01.cc,
+ testsuite/27_io/istream_extractor_arith/02.cc,
+ testsuite/27_io/istream_extractor_arith/03.cc,
+ testsuite/27_io/istream_extractor_arith/06.cc,
+ testsuite/27_io/istream_extractor_arith/07.cc,
+ testsuite/27_io/istream_extractor_arith/08.cc,
+ testsuite/27_io/istream_extractor_arith/09.cc,
+ testsuite/27_io/istream_extractor_arith/10.cc,
+ testsuite/27_io/istream_extractor_arith/11.cc,
+ testsuite/27_io/istream_extractor_arith/12.cc,
+ testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
+ * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
+ sparc*-*-solaris2*.
+
+2003-01-05 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9168
+ * src/codecvt.cc
+ (codecvt<char, char, mbstate_t>::do_in, do_out):
+ Implement the resolution of DR19 (TC).
+ * testsuite/22_locale/codecvt_members_char_char.cc
+ (test01): Tweak.
+
+2002-12-29 Phil Edwards <pme@gcc.gnu.org>
+
+ * include/std/std_bitset.h: Better comments.
+
+2002-12-29 Phil Edwards <pme@gcc.gnu.org>
+
+ * include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
+ _Base_bitset::_M_do_right_shift): Expect a non-zero shift.
+ (bitset::operator<<=, bitset::operator>>=): When shifting more bits
+ than are in the bitset, zero memory rather than segfault.
+ (operator>>(basic_istream,bitset): Only call setstate once, after
+ all work has been done.
+
+ * testsuite/23_containers/bitset_members.cc (test03): New test.
+ * testsuite/23_containers/bitset_shift.cc (test02): New test.
+
+2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * docs/html/17_intro/porting.texi: Use @copying.
+ * docs/html/17_intro/porting.html: Regenerate.
+
+2002-12-23 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode):
+ Don't use O_NONBLOCK if it is not defined.
+ (__basic_file::open): Don't use fcntl either.
+
+2002-12-19 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/8949
+ * include/std/std_limits.h
+ (struct numeric_limits<short>,
+ struct numeric_limits<unsigned short>,
+ struct numeric_limits<int>,
+ struct numeric_limits<unsigned int>,
+ struct numeric_limits<long>,
+ struct numeric_limits<unsigned long>,
+ struct numeric_limits<long long>,
+ struct numeric_limits<unsigned long long>): According
+ to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false.
+ * testsuite/18_support/numeric_limits.cc: Add test04.
+
+2002-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * testsuite/23_containers/vector_capacity.cc (test03): Move ...
+ * testsuite/23_containers/vector_resize.cc: ...here as a new file.
+ Pass in -lmalloc for irix6.
+ * testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.
+
2002-12-11 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8887
@@ -46,7 +1371,7 @@
basic_string::compare(size_type, size_type, const _CharT*,
size_type), _S_string_copy(const basic_string&, _CharT*,
typename _Alloc::size_type)): Fully qualify min() with std::.
-
+
2002-12-02 Paolo Carlini <pcarlini@unitus.it>
* include/bits/basic_string.tcc
@@ -95,7 +1420,7 @@
2002-11-25 Stephen M. Webb <stephen@bregmasoft.com>
- * testsuite/testsuite_allocator.h: New file.
+ * testsuite/testsuite_allocator.h: New file.
* testsuite/testsuite_allocator.cc: New file.
* testsuite/Makefile.am: Added testsuite_allocator to test library.
* testsuite/testsuite_hooks.h: Added more detailed tracker objects
@@ -228,10 +1553,10 @@
(__default_alloc_template::allocate): Check for null, throw
bad_alloc.
* include/bits/vector.tcc: Formatting tweaks.
- * include/bits/stl_vector.h: Same.
+ * include/bits/stl_vector.h: Same.
* testsuite/20_util/allocator_members.cc (test02): Add.
* testsuite/23_containers/vector_capacity.cc (test03): Add.
-
+
2002-11-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
@@ -258,11 +1583,11 @@
* acconfig.h (HAVE_DRAND48): Add.
(HAVE_GETPAGESIZE): Add.
- (HAVE_SETENV): Add.
- (HAVE_SIGSETJMP): Add.
+ (HAVE_SETENV): Add.
+ (HAVE_SIGSETJMP): Add.
* config.h.in: Regenerate.
* configure: Regenerate.
-
+
2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
* config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define
@@ -275,7 +1600,7 @@
requested size is bigger than max_size().
* include/bits/stl_bvector.h (vector<bool>::reserve): Same.
* testsuite/23_containers/vector_capacity.cc (test02): Add.
-
+
2002-11-13 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Export all _S_construct.
@@ -290,7 +1615,7 @@
* docs/html/install.html, docs/html/22_locale/locale.html: HTML fix.
2002-11-11 Benjamin Kosnik <bkoz@redhat.com>
-
+
PR libstdc++/6746
* include/bits/fstream.tcc (filebuf::open): Set input pointers.
* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
@@ -298,7 +1623,7 @@
(__basic_file::open): Set to non-block for input.
* testsuite/27_io/istream_unformatted.cc (test12): Add.
(test13): Same.
-
+
2002-11-11 Jonathan Wakely <redi@gcc.gnu.org>
* docs/html/17_intro/howto.html: Make "chapter 22 notes" a link.
@@ -341,9 +1666,9 @@
for null buffer.
(istream::operator>>(_CharT*)): Use traits_type.
(istream::ws): Same.
- (istream::operator>>(string)): Same.
+ (istream::operator>>(string)): Same.
* testsuite/27_io/istream_unformatted.cc (test11): Add.
-
+
2002-11-05 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8466
@@ -371,7 +1696,7 @@
* config/linker-map.gnu: Export string operator+.
Export __default_alloc_template::_S_force_new.
* testsuite/abi_check.cc: Output tweaks.
-
+
2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8172
@@ -382,17 +1707,17 @@
PR libstdc++/7926
* configure.target: Simplify.
* config/cpu/i386/atomicity.h: Remove.
- * config/cpu/i386: Remove.
+ * config/cpu/i386: Remove.
* config/cpu/arm/atomicity.h: Remove.
- * config/cpu/arm: Remove.
+ * config/cpu/arm: Remove.
* config/cpu/x86-64/atomicity.h: Remove.
- * config/cpu/x86-64: Remove.
-
+ * config/cpu/x86-64: Remove.
+
2002-11-01 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
PR libstdc++/8197
* config/link-map.gnu: Export math stubbs.
-
+
2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8318
@@ -406,7 +1731,7 @@
* include/bits/basic_ios.tcc: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/locale_facets.tcc: Same.
-
+
2002-11-01 John Carter <john.carter@tait.co.nz>
PR libstdc++/7961
@@ -419,7 +1744,7 @@
* include/bits/istream.tcc (istream::tellg): Remove sentry bits.
(istream::seekg): Same.
* testsuite/27_io/istream_seeks.cc (test06): New.
-
+
2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
* testsuite/thread/pthread5.cc: Include <unistd.h>
@@ -481,7 +1806,7 @@
for FreeBSD 5.
2002-10-18 Loren J. Rittle <ljrittle@acm.org>
- Brad Spencer <spencer@infointeractive.com>
+ Brad Spencer <spencer@infointeractive.com>
(provided alternate patch and improvements)
* docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
@@ -546,21 +1871,21 @@
c_locale_impl.
* testsuite/abi_check.cc (line_to_symbol_info): Collect size info.
* docs/html/abi.txt: Update.
-
+
2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/static_members.cc (test02): Less provincial.
2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
- * testsuite/22_locale/static_members.cc (test02): Disable for
+ * testsuite/22_locale/static_members.cc (test02): Disable for
systems without named locale support.
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume
running the testsuites in "C" environment.
Add new tests.
* docs/html/22_locale/locale.html: Update.
-2002-10-13 Danny Smith <dannysmith@users.sourceforge.net>
+2002-10-13 Danny Smith <dannysmith@users.sourceforge.net>
* include/bits/stl_threads.h (_GLIBCPP_mutex,
_GLIBCPP_mutex_init,_GLIBCPP_mutex_address,
@@ -601,19 +1926,19 @@
hack around m4 issues with quoting '@'.
* src/locale.cc: Use _GLIBCPP_ASM_SYMVER.
* src/globals.cc: Same.
-
+
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
non-glibc systems.
2002-10-10 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu (GLIBCPP_3.2.1): Add.
- (GLIBCPP_3.2): Don't export locale::_S_*.
+ (GLIBCPP_3.2): Don't export locale::_S_*.
* src/ios.cc: Move globals into __gnu_cxx. Make old exported
symbols match.
* src/locale.cc: Same.
- * src/localename.cc: Same.
- * src/globals.cc: Same.
+ * src/localename.cc: Same.
+ * src/globals.cc: Same.
2002-10-10 Phil Edwards <pme@gcc.gnu.org>
@@ -621,7 +1946,7 @@
* docs/html/17_intro/porting.texi: Expand on os_include_dir.
* docs/html/17_intro/porting.html: Regenerate.
-2002-10-09 Benjamin Kosnik <bkoz@redhat.com>
+2002-10-09 Benjamin Kosnik <bkoz@redhat.com>
* src/locale.cc: Fix comments, move ctors together.
* testsuite/22_locale/static_members.cc (test03): Add.
@@ -632,9 +1957,9 @@
* streambuf.tcc (__copy_streambufs): Handle cases where
__sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
* testsuite/27_io/ostream_inserter_other.cc (test05): Add.
-
+
2002-10-08 Paolo Carlini <pcarlini@unitus.it>
- Benjamin Kosnik <bkoz@redhat.com>
+ Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h (class locale): Add static member
_S_num_extra_categories, encoding the number of additional
@@ -645,7 +1970,7 @@
(class locale::_Impl::_M_check_same_name): Use
_S_extra_categories_size, tweak.
(locale::locale(const locale&, _Facet*)): Ditto.
- * src/locale.cc (locale::locale(const char* )): Rewrite to deal
+ * src/locale.cc (locale::locale(const char* )): Rewrite to deal
with the environment in a POSIX-compliant way while being thread
safe.
(locale::name()): Update to output POSIX environment strings.
@@ -664,7 +1989,7 @@
* src/codecvt.c: _S_c_locale simplification.
* src/ctype.c: Same.
* src/globals.cc: Add fake_name.
- * src/locale-inst.cc: Remove extra includes.
+ * src/locale-inst.cc: Remove extra includes.
* src/locale.cc: Remove extra includes.
Add _S_extra_categories_size definition.
Correct "C" initialization.
@@ -679,7 +2004,7 @@
* config/locale/generic/c_locale.cc: Add _S_categories definition.
* config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
* config/locale/generic/time_members.cc: _S_c_locale cleanup.
-
+
* config/locale/gnu/c_locale.cc: Add _S_categories definition.
(_S_destroy_c_locale): Move checks against _S_c_locale here.
* config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
@@ -687,7 +2012,7 @@
calls, _S_c_locale usage.
* config/locale/gnu/monetary_members.cc: Same, tweaks.
* config/locale/gnu/monetary_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
+ * config/locale/gnu/time_members.cc: Same.
* config/os/gnu-linux/ctype_noninline.h: Use locale::classic().
* docs/html/22_locale/locale.html: Add bits about global locales
@@ -765,7 +2090,7 @@
(__glibcpp_long_double_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
- * config/os/bsd/freebsd/os_defines.h:
+ * config/os/bsd/freebsd/os_defines.h:
(__glibcpp_long_double_bits): Remove.
* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
(__glibcpp_wchar_t_is_signed): Remove.
@@ -778,13 +2103,13 @@
* config/cpu/arm/cpu_limits.h: Remove.
* config/cpu/cris/cpu_limits.h: Remove.
* config/cpu/generic/cpu_limits.h: Remove.
- * config/cpu/generic/limits.h: Remove.
+ * config/cpu/generic/limits.h: Remove.
* config/cpu/ia64/cpu_limits.h: Remove.
- * config/cpu/m68k/cpu_limits.h: Remove.
- * config/cpu/mmix/cpu_limits.h: Remove.
- * config/cpu/powerpc/cpu_limits.h: Remove.
+ * config/cpu/m68k/cpu_limits.h: Remove.
+ * config/cpu/mmix/cpu_limits.h: Remove.
+ * config/cpu/powerpc/cpu_limits.h: Remove.
* config/cpu/S390/cpu_limits.h: Remove.
-
+
2002-09-25 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* testsuite/18_support/numeric_limits.cc: Check the maximum and
@@ -792,9 +2117,9 @@
2002-09-25 Mark Mitchell <mark@codesourcery.com>
- * include/std/std_limits.h (numeric_limits<unsigned char>::digits):
+ * include/std/std_limits.h (numeric_limits<unsigned char>::digits):
Fix typo.
-
+
2002-09-23 Richard Henderson <rth@redhat.com>
* include/std/std_limits.h (__glibcpp_plain_char_is_signed,
@@ -994,16 +2319,16 @@
* libmath/Makefile.in: Regenerate.
* src/Makefile.am: Tweak comment.
* src/Makefile.in: Regenerate.
-
+
* config/locale/gnu/c_locale.h: Remove warnings.
Inject __uselocale into __gnu_cxx.
* config/locale/generic/c_locale.h: Match.
-
+
2002-09-11 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.tcc (__convert_from_v): Remove.
* config/locale/gnu/c_locale.h (__convert_from_v): Add.
- * config/locale/generic/c_locale.h (__convert_from_v): Add.
+ * config/locale/generic/c_locale.h (__convert_from_v): Add.
2002-09-11 Paolo Carlini <pcarlini@unitus.it>
@@ -1016,28 +2341,28 @@
(target_sources): New.
(target_sources_extra): New.
* src/Makefile.in: Regenerate.
- * acinclude.m4: Set CCODECVT_CC.
+ * acinclude.m4: Set CCODECVT_CC.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/locale.cc: Move ctype definitions...
- * src/ctype.cc: ...here. New file.
+ * src/ctype.cc: ...here. New file.
* src/locale.cc: Move codecvt definitions...
- * src/codecvt.cc: ...here.
- * config/generic/codecvt_members.cc: ...and here.
- * config/gnu/codecvt_members.cc: ...and here.
+ * src/codecvt.cc: ...here.
+ * config/generic/codecvt_members.cc: ...and here.
+ * config/gnu/codecvt_members.cc: ...and here.
* include/bits/codecvt.h: Tweak.
* include/bits/locale_facets: Tweak.
* src/bitset.cc: Correct license text.
* src/concept-inst.cc: Same.
* src/strstream.cc: Same.
- * src/vterminate.cc: Same.
+ * src/vterminate.cc: Same.
2002-09-10 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
* include/bits/stl_vector.h (vector<>): Don't use a name with
different meanings before and after re-evaluation in the completed
- scope.
+ scope.
* include/bits/basic_string.h (basic_string<>): Likewise.
* include/bits/stl_bvector.h (vector<bool>): Likewise.
* include/bits/stl_deque.h (std): Likewise.
@@ -1071,16 +2396,16 @@
* docs/html/configopts.html: Change grouping. Note ABI impacts.
Update information for locale model defaults.
* docs/html/install.html: Update include directory
- information.
- Update testing information.
+ information.
+ Update testing information.
Update linux issues for named locales.
* docs/html/abi.txt: Fix typos.
Add more info.
* src/misc-inst.cc: Add missing instantiations.
-
+
* testsuite/abi_check.cc: Make output results more verbose.
-
+
* config/os/gnu-linux/ctype_base.h: Remove shadow headers injections.
2002-09-07 Jakub Jelinek <jakub@redhat.com>
@@ -1293,7 +2618,7 @@
__glibcpp_double_bits, __glibcpp_long_double_bits): Remove. Use
compiler predifined macros.
(__glibcpp_wchar_t_is_signed): Define based on compiler predefined
- __WCHAR_UNSIGNED__.
+ __WCHAR_UNSIGNED__.
2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
@@ -1349,7 +2674,7 @@
(__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
__glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
Likewise.
-
+
* src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN,
__glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define.
(__glibcpp_double_infinity, __glibcpp_double_QNaN,
@@ -1357,7 +2682,7 @@
(__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
__glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
Likewise.
-
+
2002-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
* include/std/std_limits.h: Indent conditional macro definitions.
@@ -1391,7 +2716,7 @@
* testsuite/Makefile.am (noinst_PROGRAMS): Make conditional on
native compiling.
* testsuite/Makefile.in: Regenerate.
-
+
2002-08-22 Loren J. Rittle <ljrittle@acm.org>
* testsuite/abi_check.cc: Enhance shell portability.
@@ -1409,7 +2734,7 @@
2002-08-22 Benjamin Kosnik <bkoz@redhat.com>
Phil Edwards <pme@gcc.gnu.org>
Ulrich Drepper <drepper@redhat.com>
-
+
* Makefile.am (check-abi): New rule.
* Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file.
@@ -1417,17 +2742,17 @@
* configure: Regenerate.
* testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check.
(abi_check_SOURCES): Add.
- * testsuite/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
* testsuite/abi_check.cc: New file.
* config/abi: Add.
* config/abi/i686-pc-linux-gnu: Add.
* config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file.
-
+
2002-08-19 Benjamin Kosnik <bkoz@redhat.com>
* configure.in (libtool_VERSION): Update to 5:1:0.
* configure: Regenerate.
-
+
2002-08-19 Jonathan Wakely <jw@kayari.org>
* docs/html/configopts.html, docs/html/documentation.html,
@@ -1445,9 +2770,9 @@
Revert PR libstdc++/7445
* src/locale.cc (locale::classic): Revert.
-
+
* docs/html/17_intro/TODO: Add.
-
+
2002-08-15 Phil Edwards <pme@gcc.gnu.org>
* docs/html/documentation.html: Update doxygen links for 3.2.
@@ -1483,11 +2808,11 @@
2002-08-08 Danny Smith <dannysmith@users.sourceforge.net>
Benjamin Kosnik <bkoz@redhat.com>
-
+
* include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
not snextc.
* testsuite/27_io/narrow_stream_objects.cc (test10): Add.
-
+
2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
* libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
@@ -1497,7 +2822,7 @@
PR/7491
* include/bits/slice_array.h(_DEFINE_VALARRAY_OPERATOR):
- Instantiate with new function objects.
+ Instantiate with new function objects.
* include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): Likewise.
Reformat. Uglify.
* include/bits/gslice_array.h: Likewise.
@@ -1532,9 +2857,9 @@
* include/bits/valarray_meta.h (_UnFunBase<>): Remove.
(_UnFunClos<>): Same.
(_UnBase<>): Reformat. Make first template-parameter non
- template.
+ template.
(_UnClos<>): Likewise.
- (_Expr<>): Reformate. Adjust unary member operator return types.
+ (_Expr<>): Reformate. Adjust unary member operator return types.
(_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
(_DEFINE_EXPR_UNARY_FUNCTION): Likewise.
* include/std/std_valarray.h (_UnClos<>): Adjust declaration.
@@ -1555,9 +2880,9 @@
Revert PR libstdc++/6594
* src/strstream.cc (strstreambuf): Revert.
(strstreambuf::overflow): Same.
- (strstreambuf::~strstreambuf): Same.
+ (strstreambuf::~strstreambuf): Same.
* testsuite/backward/strstream_members.cc (test02): Add.
-
+
* docs/html/abi.txt: Update. Spell check.
* testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.
@@ -1566,7 +2891,7 @@
* testsuite/Makefile.in: Regenerate.
* testsuite/testsuite_hooks.h: Use __throw_exception_again,
include functexcept.h so that -fno-exceptions will build.
-
+
2002-08-02 Gabriel Dos Reis <gdr@nerim.net>
* include/bits/valarray_meta.h (__unary_plus, __negate,
@@ -1575,7 +2900,7 @@
__shift_left, __shift_right, __logical_and, __logical_or,
__logical_not, __equal_to, __not_equal_to, __less, __less_equal,
__greater_equal, __greater, __atan2, __pow): New function object
- classes.
+ classes.
(__fun<>): New function traits class.
2002-08-01 Rick Danos <rdanos@hotmail.com>
@@ -1588,10 +2913,10 @@
* libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags.
* libsupc++/Makefile.in: Regenerate.
-
+
2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
Jakub Jelinek <jakub@redhat.com>
-
+
* config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
GLIBCPP_3.1 to GLIBCPP_3.2.
@@ -1606,7 +2931,7 @@
2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7442
- * libsupc++/cxxabi.h
+ * libsupc++/cxxabi.h
(__base_class_info): Change to __base_class_type_info. 2.9.5p6c
(__base_class_info::__base): Change to __base_type. 2.9.5p6c
(__base_class_info::offset_shift): Change to __offset_shift. 2.9.5p6c
@@ -1656,15 +2981,15 @@
(istream::sync): Same.
(istream::sentry::sentry): Use eq_int_type.
(istream::get): Same.
- * include/bits/ostream.tcc: Change __pad to
- __pad<_CharT, _Traits>::_S_pad.
+ * include/bits/ostream.tcc: Change __pad to
+ __pad<_CharT, _Traits>::_S_pad.
* include/bits/locale_facets.h: Add __pad_traits generic and
ostreambuf_iterator specialization.
* include/bits/locale_facets.tcc: Change __pad into struct __pad
with a _CharT and _Traits template parameter and _S_pad static
member function.
* src/locale-inst.cc: Update __pad instantiations.
-
+
* include/std/std_fstream.h: Declare _M_underflow_common
specializations.
* src/fstream.cc: New. Add _M_underflow_common specializations.
@@ -1686,12 +3011,12 @@
* testsuite/27_io/streambuf.cc: Add instantiation test,
testsuite_hooks include.
* testsuite/27_io/istream.cc: Same.
- * testsuite/27_io/ostream.cc: Same.
+ * testsuite/27_io/ostream.cc: Same.
* testsuite/27_io/fstream.cc: Same.
* testsuite/27_io/stringstream.cc: Same.
* testsuite/27_io/filebuf.cc: Same.
* testsuite/27_io/stringbuf.cc: Same.
-
+
2002-07-29 Alan Modra <amodra@bigpond.net.au>
* config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define.
@@ -1714,36 +3039,36 @@
* testsuite/27_io/ostream.cc: Same.
* testsuite/27_io/filebuf.cc: Same.
* testsuite/27_io/stringbuf.cc: Replace content, move to...
- * testsuite/27_io/stringbuf_members.cc: ...here.
+ * testsuite/27_io/stringbuf_members.cc: ...here.
* testsuite/27_io/streambuf.cc: Replace content, move to...
- * testsuite/27_io/streambuf_members.cc: ...here.
+ * testsuite/27_io/streambuf_members.cc: ...here.
* testsuite/27_io/stringstream.cc: Replace content, move to...
* testsuite/27_io/stringstream_members.cc: ...here.
* testsuite/27_io/ios.cc: New file.
* testsuite/27_io/fstream.cc: New file.
- * testsuite/27_io/ifstream.cc: New file.
- * testsuite/27_io/ofstream.cc: New file.
- * testsuite/27_io/istringstream.cc: New file.
- * testsuite/27_io/ostringstream.cc: New file.
-
+ * testsuite/27_io/ifstream.cc: New file.
+ * testsuite/27_io/ofstream.cc: New file.
+ * testsuite/27_io/istringstream.cc: New file.
+ * testsuite/27_io/ostringstream.cc: New file.
+
2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7220
* include/bits/istream.tcc (istream::ignore): Don't extract on
zero.
* testsuite/27_io/istream_unformatted.cc (test10): Add.
-
+
2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/ios_base_type.cc: Move to...
* testsuite/27_io/ios_base_types.cc: ...here.
-
+
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7222
* src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
* testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
-
+
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7230
@@ -1754,7 +3079,7 @@
* include/backward/strstream: Revert.
* include/backward/strstream.h: Remove.
* src/strstream.cc: Revert.
- * testsuite/backward/strstream_members.cc: Change include.
+ * testsuite/backward/strstream_members.cc: Change include.
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
@@ -1762,7 +3087,7 @@
* include/bits/ios_base.h (ios_base::streampos): Add.
(ios_base::streamoff): Add.
* testsuite/27_io/ios_base_type.cc: New.
-
+
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7286
@@ -1770,7 +3095,7 @@
* testsuite/18_support/new_delete_placement.cc: New.
* docs/html/abi.txt: Fix typos.
-
+
2002-07-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
@@ -1778,10 +3103,10 @@
De-tangle contributor information from introductory notes.
Move abi.txt link placement, activate.
Re-organize.
- Move chapter info into old FAQ format.
+ Move chapter info into old FAQ format.
* docs/html/organization.html: Removed, obsoleted by doxygen work.
* docs/html/abi.txt: Add notes on testing ABI changes.
-
+
2002-07-20 Phil Edwards <pme@gcc.gnu.org>
* docs/html/abi.txt: New file.
@@ -1803,15 +3128,15 @@
* bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of
_Nname to _Name.
-
+
2002-07-19 Gabriel Dos Reis <gdr@nerim.net>
DR/123
- * include/bits/slice_array.h
+ * include/bits/slice_array.h
(slice_array<T>::operator=(const T&)): Constify.
- * include/bits/gslice_array.h
+ * include/bits/gslice_array.h
(gslice_array<T>::operator=(const T&)): Likewise.
- * include/bits/mask_array.h
+ * include/bits/mask_array.h
(mask_array<T>::operator=(const T&)): Likewise.
* include/bits/indirect_array.h
(indirect_array<T>::operator=(const T&): Likewise.
@@ -1893,8 +3218,8 @@
* include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
size_t, from int_type.
- (basic_streambuf::_M_buf_size_opt): Same.
- (basic_streambuf::_S_pback_sizex): Same.
+ (basic_streambuf::_M_buf_size_opt): Same.
+ (basic_streambuf::_S_pback_sizex): Same.
* include/bits/streambuf.tcc: Same.
* include/std/std_streambuf.h (basic_streambuf::snextc): Use
eq_int_type.
@@ -3022,7 +4347,7 @@
2002-04-16 Paolo Carlini <pcarlini@unitus.it>
- * testsuite/24_iterators/rel_ops.cc: New test.
+ * testsuite/24_iterators/rel_ops.cc: New test.
2002-04-16 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
@@ -5029,7 +6354,7 @@
* testsuite/27_io/filebuf_members.cc: Add test.
2002-01-07 Benjamin Kosnik <bkoz@redhat.com>
- Craig Rodrigues <rodrigc@mediaone.net>
+ Craig Rodrigues <rodrigc@mediaone.net>
libstdc++/5174
* po/Makefile.am (mkinstalldirs): Add.
diff --git a/libstdc++-v3/Makefile.am b/libstdc++-v3/Makefile.am
index 7e70390ce5e..22e3d3b2ae0 100644
--- a/libstdc++-v3/Makefile.am
+++ b/libstdc++-v3/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the toplevel directory of the GNU C++ Standard library.
##
-## 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 the libstdc++ version 3 distribution.
@@ -46,26 +46,6 @@ check-script-install: $(top_builddir)/mkcheck
cd testsuite; \
@glibcpp_builddir@/mkcheck 1)
-# Use 'new-abi-baseline' to create an initial symbol file. Then run
-# 'check-abi' to test for changes against that file.
-baseline_file = @baseline_file@
-check-abi: $(top_builddir)/testsuite/abi_check
- -@(cd testsuite; \
- @glibcpp_srcdir@/config/abi/extract_symvers \
- ../src/.libs/libstdc++.so \
- ./current_symbols.txt && \
- ./abi_check --check ./current_symbols.txt ${baseline_file})
-
-new-abi-baseline:
- -@(output=${baseline_file}; \
- if test -f $${output}; then \
- output=$${output}.new; \
- t=`echo $${output} | sed 's=.*config/abi/=='`; \
- echo "Baseline file already exists, writing to $${t} instead."; \
- fi; \
- @glibcpp_srcdir@/config/abi/extract_symvers \
- src/.libs/libstdc++.so $${output})
-
# These rules are messy, but are hella worth it.
doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD}`; \
@@ -90,7 +70,7 @@ doxygen-man:
# Multilib support.
MAKEOVERRIDES=
-# Multilib variables.
+# Multilib support variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
@@ -98,16 +78,16 @@ MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-# Multilib Makefile bits.
+# Multilib support.
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
maintainer-clean-multi
-all-am: all-multi
-install-am: install-multi
-mostlyclean-am: mostlyclean-multi
-clean-am: clean-multi
-distclean-am: distclean-multi
-maintainer-clean-am: maintainer-clean-multi
+all-recursive: all-multi
+install-recursive: install-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
all-multi:
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
@@ -156,6 +136,7 @@ AM_MAKEFLAGS = \
"includedir=$(includedir)" \
"prefix=$(prefix)" \
"tooldir=$(tooldir)" \
+ "gxx_include_dir=$(gxx_include_dir)" \
"AR=$(AR)" \
"AS=$(AS)" \
"LD=$(LD)" \
diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in
index 97f5ee38aec..5f40d7a986a 100644
--- a/libstdc++-v3/Makefile.in
+++ b/libstdc++-v3/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,14 +67,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXX = @CXX@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
@@ -106,11 +117,13 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WARN_FLAGS = @WARN_FLAGS@
WERROR = @WERROR@
+baseline_dir = @baseline_dir@
check_msgfmt = @check_msgfmt@
enable_shared = @enable_shared@
enable_static = @enable_static@
@@ -140,14 +153,10 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
PWD = $${PWDCMD-pwd}
-# Use 'new-abi-baseline' to create an initial symbol file. Then run
-# 'check-abi' to test for changes against that file.
-baseline_file = @baseline_file@
-
# Multilib support.
MAKEOVERRIDES =
-# Multilib variables.
+# Multilib support variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
@@ -185,6 +194,7 @@ AM_MAKEFLAGS = \
"includedir=$(includedir)" \
"prefix=$(prefix)" \
"tooldir=$(tooldir)" \
+ "gxx_include_dir=$(gxx_include_dir)" \
"AR=$(AR)" \
"AS=$(AS)" \
"LD=$(LD)" \
@@ -485,22 +495,6 @@ check-script-install: $(top_builddir)/mkcheck
-(chmod + $(top_builddir)/mkcheck; \
cd testsuite; \
@glibcpp_builddir@/mkcheck 1)
-check-abi: $(top_builddir)/testsuite/abi_check
- -@(cd testsuite; \
- @glibcpp_srcdir@/config/abi/extract_symvers \
- ../src/.libs/libstdc++.so \
- ./current_symbols.txt && \
- ./abi_check --check ./current_symbols.txt ${baseline_file})
-
-new-abi-baseline:
- -@(output=${baseline_file}; \
- if test -f $${output}; then \
- output=$${output}.new; \
- t=`echo $${output} | sed 's=.*config/abi/=='`; \
- echo "Baseline file already exists, writing to $${t} instead."; \
- fi; \
- @glibcpp_srcdir@/config/abi/extract_symvers \
- src/.libs/libstdc++.so $${output})
# These rules are messy, but are hella worth it.
doxygen:
@@ -523,16 +517,16 @@ doxygen-man:
.PHONY: doxygen doxygen-maint doxygen-man
-# Multilib Makefile bits.
+# Multilib support.
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
maintainer-clean-multi
-all-am: all-multi
-install-am: install-multi
-mostlyclean-am: mostlyclean-multi
-clean-am: clean-multi
-distclean-am: distclean-multi
-maintainer-clean-am: maintainer-clean-multi
+all-recursive: all-multi
+install-recursive: install-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
all-multi:
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
diff --git a/libstdc++-v3/acconfig.h b/libstdc++-v3/acconfig.h
index 4d18634889f..91af8fa31ae 100644
--- a/libstdc++-v3/acconfig.h
+++ b/libstdc++-v3/acconfig.h
@@ -135,6 +135,15 @@
// Define if the compiler/host combination has __builtin_sqrtl
#undef HAVE___BUILTIN_SQRTL
+// Define if poll is available in <poll.h>.
+#undef HAVE_POLL
+
+// Define if S_ISREG (Posix) is available in <sys/stat.h>.
+#undef HAVE_S_ISREG
+
+// Define if S_IFREG is available in <sys/stat.h>.
+#undef HAVE_S_IFREG
+
// Define if LC_MESSAGES is available in <locale.h>.
#undef HAVE_LC_MESSAGES
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 567c59b16fb..7bd94634b77 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -267,8 +267,7 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [
# this is the suspicious part
CXXFLAGS=''
fi
- if test x"$ac_fdsections" = x"yes" &&
- test x"$enable_debug" = x"no"; then
+ if test x"$ac_fdsections" = x"yes"; then
SECTION_FLAGS='-ffunction-sections -fdata-sections'
fi
AC_MSG_RESULT($ac_fdsections)
@@ -361,7 +360,7 @@ AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -911,7 +910,11 @@ AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [
AC_CHECK_FUNCS([__signbitl], , [LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"])
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
AC_SUBST(LIBMATHOBJS)
+ AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes)
])
@@ -937,6 +940,8 @@ dnl Define HAVE_MBSTATE_T if mbstate_t is not in wchar.h
dnl
dnl GLIBCPP_CHECK_WCHAR_T_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
+ dnl Wide characters disabled by default.
+ enable_wchar_t=no
dnl Test wchar.h for mbstate_t, which is needed for char_traits and
dnl others even if wchar_t support is not on.
@@ -982,7 +987,7 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
ac_wfuncs=no)
dnl Checks for names injected into std:: by the c_std headers.
- AC_CHECK_FUNCS(btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ AC_CHECK_FUNCS(btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -1027,30 +1032,33 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
dnl At the moment, only enable wchar_t specializations if all the
dnl above support is present.
- AC_MSG_CHECKING([for enabled wchar_t specializations])
if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
- AC_MSG_RESULT("yes")
- else
- AC_MSG_RESULT("no")
+ AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
+ enable_wchar_t=yes
fi
- else
- dnl Wide characters disabled by the user.
- AC_MSG_WARN([wchar_t support disabled.])
fi
+ AC_MSG_CHECKING([for enabled wchar_t specializations])
+ AC_MSG_RESULT($enable_wchar_t)
+ AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes)
])
dnl
-dnl Check for special debugging mode; not for production use.
+dnl Check to see if debugging libraries are to be built.
dnl
dnl GLIBCPP_ENABLE_DEBUG
-dnl --enable-debug sets '-ggdb3 -O0'.
-dnl --disable-debug sets '-g' and whatever optimization options the
-dnl compiler can handle.
-dnl + --enable-maintainer-mode automatically defaults this to on.
-dnl + Perhaps -D/-U of NDEBUG, DEBUG, DEBUG_ASSERT, ...?
+dnl
+dnl --enable-debug
+dnl builds a separate set of debugging libraries in addition to the
+dnl normal (shared, static) libstdc++ binaries.
+dnl
+dnl --disable-debug
+dnl builds only one (non-debug) version of libstdc++.
+dnl
+dnl --enable-debug-flags=FLAGS
+dnl iff --enable-debug == yes, then use FLAGS to build the debug library.
+dnl
dnl + Usage: GLIBCPP_ENABLE_DEBUG[(DEFAULT)]
dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
dnl defaults to `no'.
@@ -1058,7 +1066,7 @@ AC_DEFUN(GLIBCPP_ENABLE_DEBUG, [dnl
define([GLIBCPP_ENABLE_DEBUG_DEFAULT], ifelse($1, yes, yes, no))dnl
AC_ARG_ENABLE(debug,
changequote(<<, >>)dnl
-<< --enable-debug extra debugging, turn off optimization [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT],
+<< --enable-debug build extra debug library [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT],
changequote([, ])dnl
[case "${enableval}" in
yes) enable_debug=yes ;;
@@ -1066,17 +1074,56 @@ changequote([, ])dnl
*) AC_MSG_ERROR([Unknown argument to enable/disable extra debugging]) ;;
esac],
enable_debug=GLIBCPP_ENABLE_DEBUG_DEFAULT)dnl
+AC_MSG_CHECKING([for additional debug build])
+AC_MSG_RESULT($enable_debug)
+AM_CONDITIONAL(GLIBCPP_BUILD_DEBUG, test "$enable_debug" = yes)
+])
+
+
+dnl Check for explicit debug flags.
+dnl
+dnl GLIBCPP_ENABLE_DEBUG_FLAGS
+dnl
+dnl --enable-debug-flags='-O1'
+dnl is a general method for passing flags to be used when
+dnl building debug libraries with --enable-debug.
+dnl
+dnl --disable-debug-flags does nothing.
+dnl + Usage: GLIBCPP_ENABLE_DEBUG_FLAGS(default flags)
+dnl If "default flags" is an empty string (or "none"), the effect is
+dnl the same as --disable or --enable=no.
+AC_DEFUN(GLIBCPP_ENABLE_DEBUG_FLAGS, [dnl
+define([GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
+AC_ARG_ENABLE(debug_flags,
+changequote(<<, >>)dnl
+<< --enable-debug-flags=FLAGS pass compiler FLAGS when building debug
+ library;[default=>>GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT],
+changequote([, ])dnl
+[case "${enableval}" in
+ none) ;;
+ -*) enable_debug_flags="${enableval}" ;;
+ *) AC_MSG_ERROR([Unknown argument to extra debugging flags]) ;;
+ esac],
+enable_debug_flags=GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT)dnl
dnl Option parsed, now set things appropriately
-case "${enable_debug}" in
- yes)
- DEBUG_FLAGS='-O0 -ggdb3'
- ;;
- no)
- DEBUG_FLAGS='-g'
+case x"$enable_debug" in
+ xyes)
+ case "$enable_debug_flags" in
+ none)
+ DEBUG_FLAGS="-g3 -O0";;
+ -*) #valid input
+ DEBUG_FLAGS="${enableval}"
+ esac
+ ;;
+ xno)
+ DEBUG_FLAGS=""
;;
esac
AC_SUBST(DEBUG_FLAGS)
+
+AC_MSG_CHECKING([for debug build flags])
+AC_MSG_RESULT($DEBUG_FLAGS)
])
@@ -1097,25 +1144,21 @@ dnl If "default flags" is an empty string (or "none"), the effect is
dnl the same as --disable or --enable=no.
AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl
define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
-AC_ARG_ENABLE(cxx-flags,
+AC_MSG_CHECKING([for extra compiler flags for building])
+AC_ARG_ENABLE(cxx_flags,
changequote(<<, >>)dnl
<< --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
- [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
+ [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
changequote([, ])dnl
-[case "x$enableval" in
- xyes)
- AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
- xno|x)
- enable_cxx_flags='' ;;
- *)
- enable_cxx_flags="$enableval" ;;
- esac],
-enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT')
-
-dnl Thinko on my part during design. This kludge is the workaround.
-if test "$enable_cxx_flags" = "none"; then
- enable_cxx_flags='';
-fi
+[case "x$enable_cxx_flags" in
+ xyes)
+ AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
+ xno | xnone | x)
+ enable_cxx_flags='' ;;
+ *)
+ enable_cxx_flags="$enableval" ;;
+esac],
+enable_cxx_flags=GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT)
dnl Run through flags (either default or command-line) and set anything
dnl extra (e.g., #defines) that must accompany particular g++ options.
@@ -1130,6 +1173,7 @@ if test -n "$enable_cxx_flags"; then
done
fi
EXTRA_CXX_FLAGS="$enable_cxx_flags"
+AC_MSG_RESULT($EXTRA_CXX_FLAGS)
AC_SUBST(EXTRA_CXX_FLAGS)
])
@@ -1227,6 +1271,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/generic/messages_members.cc
CMONEY_CC=config/locale/generic/monetary_members.cc
CNUMERIC_CC=config/locale/generic/numeric_members.cc
+ CTIME_H=config/locale/generic/time_members.h
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -1261,6 +1306,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/gnu/messages_members.cc
CMONEY_CC=config/locale/gnu/monetary_members.cc
CNUMERIC_CC=config/locale/gnu/numeric_members.cc
+ CTIME_H=config/locale/gnu/time_members.h
CTIME_CC=config/locale/gnu/time_members.cc
CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
;;
@@ -1277,6 +1323,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
CMONEY_CC=config/locale/generic/monetary_members.cc
CNUMERIC_CC=config/locale/generic/numeric_members.cc
+ CTIME_H=config/locale/generic/time_members.h
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -1291,23 +1338,20 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
glibcpp_localedir=${glibcpp_builddir}/po/share/locale
AC_SUBST(glibcpp_localedir)
- # For the time being, transform ctype_noninline.h to ctype_members_char.cc
-# CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h
-
AC_SUBST(USE_NLS)
AC_SUBST(CLOCALE_H)
AC_SUBST(CCODECVT_H)
AC_SUBST(CMESSAGES_H)
- AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
- AC_LINK_FILES($CCODECVT_CC, src/codecvt_members.cc)
- AC_LINK_FILES($CCOLLATE_CC, src/collate_members.cc)
-# AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc)
- AC_LINK_FILES($CCTYPE_CC, src/ctype_members.cc)
- AC_LINK_FILES($CMESSAGES_CC, src/messages_members.cc)
- AC_LINK_FILES($CMONEY_CC, src/monetary_members.cc)
- AC_LINK_FILES($CNUMERIC_CC, src/numeric_members.cc)
- AC_LINK_FILES($CTIME_CC, src/time_members.cc)
- AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h)
+ AC_SUBST(CCODECVT_CC)
+ AC_SUBST(CCOLLATE_CC)
+ AC_SUBST(CCTYPE_CC)
+ AC_SUBST(CMESSAGES_CC)
+ AC_SUBST(CMONEY_CC)
+ AC_SUBST(CNUMERIC_CC)
+ AC_SUBST(CTIME_H)
+ AC_SUBST(CTIME_CC)
+ AC_SUBST(CLOCALE_CC)
+ AC_SUBST(CLOCALE_INTERNAL_H)
])
@@ -1408,7 +1452,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [
esac
AC_SUBST(CSTDIO_H)
AC_SUBST(BASIC_FILE_H)
- AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc)
+ AC_SUBST(BASIC_FILE_CC)
# 2000-08-04 bkoz hack
CCODECVT_C=config/io/c_io_libio_codecvt.c
@@ -1727,7 +1771,7 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
dnl
-dnl Check for what kind of C headers to use.
+dnl Check for what type of C headers to use.
dnl
dnl GLIBCPP_ENABLE_CHEADERS
dnl --enable-cheaders= [does stuff].
@@ -1740,7 +1784,7 @@ define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl
AC_MSG_CHECKING([for c header strategy to use])
AC_ARG_ENABLE(cheaders,
changequote(<<, >>)dnl
-<< --enable-cheaders construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT],
+<< --enable-cheaders=MODEL construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT],
changequote([, ])
[case "$enableval" in
c)
@@ -1843,7 +1887,7 @@ AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
OPTIMIZE_CXXFLAGS=
AC_SUBST(OPTIMIZE_CXXFLAGS)
- WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline'
+ WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings'
AC_SUBST(WARN_FLAGS)
])
@@ -1919,11 +1963,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
AC_MSG_CHECKING([for install location])
@@ -2074,18 +2119,30 @@ dnl the testsuite_hooks.h header.
dnl
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
- GLIBCPP_CHECK_SETRLIMIT
+ if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
+ # Do checks for memory limit functions.
+ GLIBCPP_CHECK_SETRLIMIT
- # Look for setenv, so that extended locale tests can be performed.
- GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
+ # Look for setenv, so that extended locale tests can be performed.
+ GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
+ fi
# Export file names for ABI checking.
- baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt"
- AC_SUBST(baseline_file)
+ baseline_dir="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)"
+ AC_SUBST(baseline_dir)
- # Don't do ABI checking unless native.
- AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK,
- test x"$build" = x"$host" && test -z "$with_cross_host")
+ # Determine if checking the ABI is desirable.
+ if test x$enable_symvers = xno; then
+ enable_abi_check=no
+ else
+ case "$host" in
+ *-*-cygwin*)
+ enable_abi_check=no ;;
+ *)
+ enable_abi_check=yes ;;
+ esac
+ fi
+ AM_CONDITIONAL(GLIBCPP_TEST_ABI, test "$enable_abi_check" = yes)
])
@@ -2099,6 +2156,45 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN])
AC_DEFUN([AC_PROG_LD])
])
+dnl
+dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>.
+dnl
+
+AC_DEFUN(GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, [
+ AC_CACHE_VAL(glibcpp_cv_S_ISREG, [
+ AC_TRY_LINK([#include <sys/stat.h>],
+ [struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode); ],
+ [glibcpp_cv_S_ISREG=yes],
+ [glibcpp_cv_S_ISREG=no])
+ ])
+ AC_CACHE_VAL(glibcpp_cv_S_IFREG, [
+ AC_TRY_LINK([#include <sys/stat.h>],
+ [struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode; ],
+ [glibcpp_cv_S_IFREG=yes],
+ [glibcpp_cv_S_IFREG=no])
+ ])
+ if test x$glibcpp_cv_S_ISREG = xyes; then
+ AC_DEFINE(HAVE_S_ISREG)
+ elif test x$glibcpp_cv_S_IFREG = xyes; then
+ AC_DEFINE(HAVE_S_IFREG)
+ fi
+])
+
+dnl
+dnl Check whether poll is available in <poll.h>.
+dnl
+
+AC_DEFUN(GLIBCPP_CHECK_POLL, [
+ AC_CACHE_VAL(glibcpp_cv_POLL, [
+ AC_TRY_COMPILE([#include <poll.h>],
+ [struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0); ],
+ [glibcpp_cv_POLL=yes],
+ [glibcpp_cv_POLL=no])
+ ])
+ if test x$glibcpp_cv_POLL = xyes; then
+ AC_DEFINE(HAVE_POLL)
+ fi
+])
# Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
@@ -2235,15 +2331,15 @@ fi
dnl Everything parsed; figure out what file to use.
case $enable_symvers in
no)
- LINKER_MAP=config/linker-map.dummy
+ SYMVER_MAP=config/linker-map.dummy
;;
gnu)
- LINKER_MAP=config/linker-map.gnu
+ SYMVER_MAP=config/linker-map.gnu
AC_DEFINE(_GLIBCPP_SYMVER)
;;
esac
-AC_LINK_FILES($LINKER_MAP, src/linker.map)
+AC_SUBST(SYMVER_MAP)
AM_CONDITIONAL(GLIBCPP_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
AC_MSG_CHECKING([versioning on shared library symbols])
AC_MSG_RESULT($enable_symvers)
diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4
index e42653992d8..a725942306e 100644
--- a/libstdc++-v3/aclocal.m4
+++ b/libstdc++-v3/aclocal.m4
@@ -1,4 +1,4 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4-p5
+dnl aclocal.m4 generated automatically by aclocal 1.4-p6
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
@@ -279,8 +279,7 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [
# this is the suspicious part
CXXFLAGS=''
fi
- if test x"$ac_fdsections" = x"yes" &&
- test x"$enable_debug" = x"no"; then
+ if test x"$ac_fdsections" = x"yes"; then
SECTION_FLAGS='-ffunction-sections -fdata-sections'
fi
AC_MSG_RESULT($ac_fdsections)
@@ -373,7 +372,7 @@ AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -923,7 +922,11 @@ AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [
AC_CHECK_FUNCS([__signbitl], , [LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"])
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
AC_SUBST(LIBMATHOBJS)
+ AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes)
])
@@ -949,6 +952,8 @@ dnl Define HAVE_MBSTATE_T if mbstate_t is not in wchar.h
dnl
dnl GLIBCPP_CHECK_WCHAR_T_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
+ dnl Wide characters disabled by default.
+ enable_wchar_t=no
dnl Test wchar.h for mbstate_t, which is needed for char_traits and
dnl others even if wchar_t support is not on.
@@ -994,7 +999,7 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
ac_wfuncs=no)
dnl Checks for names injected into std:: by the c_std headers.
- AC_CHECK_FUNCS(btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ AC_CHECK_FUNCS(btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -1039,30 +1044,33 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
dnl At the moment, only enable wchar_t specializations if all the
dnl above support is present.
- AC_MSG_CHECKING([for enabled wchar_t specializations])
if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
- AC_MSG_RESULT("yes")
- else
- AC_MSG_RESULT("no")
+ AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
+ enable_wchar_t=yes
fi
- else
- dnl Wide characters disabled by the user.
- AC_MSG_WARN([wchar_t support disabled.])
fi
+ AC_MSG_CHECKING([for enabled wchar_t specializations])
+ AC_MSG_RESULT($enable_wchar_t)
+ AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes)
])
dnl
-dnl Check for special debugging mode; not for production use.
+dnl Check to see if debugging libraries are to be built.
dnl
dnl GLIBCPP_ENABLE_DEBUG
-dnl --enable-debug sets '-ggdb3 -O0'.
-dnl --disable-debug sets '-g' and whatever optimization options the
-dnl compiler can handle.
-dnl + --enable-maintainer-mode automatically defaults this to on.
-dnl + Perhaps -D/-U of NDEBUG, DEBUG, DEBUG_ASSERT, ...?
+dnl
+dnl --enable-debug
+dnl builds a separate set of debugging libraries in addition to the
+dnl normal (shared, static) libstdc++ binaries.
+dnl
+dnl --disable-debug
+dnl builds only one (non-debug) version of libstdc++.
+dnl
+dnl --enable-debug-flags=FLAGS
+dnl iff --enable-debug == yes, then use FLAGS to build the debug library.
+dnl
dnl + Usage: GLIBCPP_ENABLE_DEBUG[(DEFAULT)]
dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
dnl defaults to `no'.
@@ -1070,7 +1078,7 @@ AC_DEFUN(GLIBCPP_ENABLE_DEBUG, [dnl
define([GLIBCPP_ENABLE_DEBUG_DEFAULT], ifelse($1, yes, yes, no))dnl
AC_ARG_ENABLE(debug,
changequote(<<, >>)dnl
-<< --enable-debug extra debugging, turn off optimization [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT],
+<< --enable-debug build extra debug library [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT],
changequote([, ])dnl
[case "${enableval}" in
yes) enable_debug=yes ;;
@@ -1078,17 +1086,56 @@ changequote([, ])dnl
*) AC_MSG_ERROR([Unknown argument to enable/disable extra debugging]) ;;
esac],
enable_debug=GLIBCPP_ENABLE_DEBUG_DEFAULT)dnl
+AC_MSG_CHECKING([for additional debug build])
+AC_MSG_RESULT($enable_debug)
+AM_CONDITIONAL(GLIBCPP_BUILD_DEBUG, test "$enable_debug" = yes)
+])
+
+
+dnl Check for explicit debug flags.
+dnl
+dnl GLIBCPP_ENABLE_DEBUG_FLAGS
+dnl
+dnl --enable-debug-flags='-O1'
+dnl is a general method for passing flags to be used when
+dnl building debug libraries with --enable-debug.
+dnl
+dnl --disable-debug-flags does nothing.
+dnl + Usage: GLIBCPP_ENABLE_DEBUG_FLAGS(default flags)
+dnl If "default flags" is an empty string (or "none"), the effect is
+dnl the same as --disable or --enable=no.
+AC_DEFUN(GLIBCPP_ENABLE_DEBUG_FLAGS, [dnl
+define([GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
+AC_ARG_ENABLE(debug_flags,
+changequote(<<, >>)dnl
+<< --enable-debug-flags=FLAGS pass compiler FLAGS when building debug
+ library;[default=>>GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT],
+changequote([, ])dnl
+[case "${enableval}" in
+ none) ;;
+ -*) enable_debug_flags="${enableval}" ;;
+ *) AC_MSG_ERROR([Unknown argument to extra debugging flags]) ;;
+ esac],
+enable_debug_flags=GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT)dnl
dnl Option parsed, now set things appropriately
-case "${enable_debug}" in
- yes)
- DEBUG_FLAGS='-O0 -ggdb3'
- ;;
- no)
- DEBUG_FLAGS='-g'
+case x"$enable_debug" in
+ xyes)
+ case "$enable_debug_flags" in
+ none)
+ DEBUG_FLAGS="-g3 -O0";;
+ -*) #valid input
+ DEBUG_FLAGS="${enableval}"
+ esac
+ ;;
+ xno)
+ DEBUG_FLAGS=""
;;
esac
AC_SUBST(DEBUG_FLAGS)
+
+AC_MSG_CHECKING([for debug build flags])
+AC_MSG_RESULT($DEBUG_FLAGS)
])
@@ -1109,25 +1156,21 @@ dnl If "default flags" is an empty string (or "none"), the effect is
dnl the same as --disable or --enable=no.
AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl
define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
-AC_ARG_ENABLE(cxx-flags,
+AC_MSG_CHECKING([for extra compiler flags for building])
+AC_ARG_ENABLE(cxx_flags,
changequote(<<, >>)dnl
<< --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
- [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
+ [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
changequote([, ])dnl
-[case "x$enableval" in
- xyes)
- AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
- xno|x)
- enable_cxx_flags='' ;;
- *)
- enable_cxx_flags="$enableval" ;;
- esac],
-enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT')
-
-dnl Thinko on my part during design. This kludge is the workaround.
-if test "$enable_cxx_flags" = "none"; then
- enable_cxx_flags='';
-fi
+[case "x$enable_cxx_flags" in
+ xyes)
+ AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
+ xno | xnone | x)
+ enable_cxx_flags='' ;;
+ *)
+ enable_cxx_flags="$enableval" ;;
+esac],
+enable_cxx_flags=GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT)
dnl Run through flags (either default or command-line) and set anything
dnl extra (e.g., #defines) that must accompany particular g++ options.
@@ -1142,6 +1185,7 @@ if test -n "$enable_cxx_flags"; then
done
fi
EXTRA_CXX_FLAGS="$enable_cxx_flags"
+AC_MSG_RESULT($EXTRA_CXX_FLAGS)
AC_SUBST(EXTRA_CXX_FLAGS)
])
@@ -1239,6 +1283,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/generic/messages_members.cc
CMONEY_CC=config/locale/generic/monetary_members.cc
CNUMERIC_CC=config/locale/generic/numeric_members.cc
+ CTIME_H=config/locale/generic/time_members.h
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -1273,6 +1318,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/gnu/messages_members.cc
CMONEY_CC=config/locale/gnu/monetary_members.cc
CNUMERIC_CC=config/locale/gnu/numeric_members.cc
+ CTIME_H=config/locale/gnu/time_members.h
CTIME_CC=config/locale/gnu/time_members.cc
CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
;;
@@ -1289,6 +1335,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
CMONEY_CC=config/locale/generic/monetary_members.cc
CNUMERIC_CC=config/locale/generic/numeric_members.cc
+ CTIME_H=config/locale/generic/time_members.h
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -1303,23 +1350,20 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
glibcpp_localedir=${glibcpp_builddir}/po/share/locale
AC_SUBST(glibcpp_localedir)
- # For the time being, transform ctype_noninline.h to ctype_members_char.cc
-# CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h
-
AC_SUBST(USE_NLS)
AC_SUBST(CLOCALE_H)
AC_SUBST(CCODECVT_H)
AC_SUBST(CMESSAGES_H)
- AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
- AC_LINK_FILES($CCODECVT_CC, src/codecvt_members.cc)
- AC_LINK_FILES($CCOLLATE_CC, src/collate_members.cc)
-# AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc)
- AC_LINK_FILES($CCTYPE_CC, src/ctype_members.cc)
- AC_LINK_FILES($CMESSAGES_CC, src/messages_members.cc)
- AC_LINK_FILES($CMONEY_CC, src/monetary_members.cc)
- AC_LINK_FILES($CNUMERIC_CC, src/numeric_members.cc)
- AC_LINK_FILES($CTIME_CC, src/time_members.cc)
- AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h)
+ AC_SUBST(CCODECVT_CC)
+ AC_SUBST(CCOLLATE_CC)
+ AC_SUBST(CCTYPE_CC)
+ AC_SUBST(CMESSAGES_CC)
+ AC_SUBST(CMONEY_CC)
+ AC_SUBST(CNUMERIC_CC)
+ AC_SUBST(CTIME_H)
+ AC_SUBST(CTIME_CC)
+ AC_SUBST(CLOCALE_CC)
+ AC_SUBST(CLOCALE_INTERNAL_H)
])
@@ -1420,7 +1464,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [
esac
AC_SUBST(CSTDIO_H)
AC_SUBST(BASIC_FILE_H)
- AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc)
+ AC_SUBST(BASIC_FILE_CC)
# 2000-08-04 bkoz hack
CCODECVT_C=config/io/c_io_libio_codecvt.c
@@ -1739,7 +1783,7 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
dnl
-dnl Check for what kind of C headers to use.
+dnl Check for what type of C headers to use.
dnl
dnl GLIBCPP_ENABLE_CHEADERS
dnl --enable-cheaders= [does stuff].
@@ -1752,7 +1796,7 @@ define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl
AC_MSG_CHECKING([for c header strategy to use])
AC_ARG_ENABLE(cheaders,
changequote(<<, >>)dnl
-<< --enable-cheaders construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT],
+<< --enable-cheaders=MODEL construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT],
changequote([, ])
[case "$enableval" in
c)
@@ -1855,7 +1899,7 @@ AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
OPTIMIZE_CXXFLAGS=
AC_SUBST(OPTIMIZE_CXXFLAGS)
- WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline'
+ WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings'
AC_SUBST(WARN_FLAGS)
])
@@ -1931,11 +1975,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
AC_MSG_CHECKING([for install location])
@@ -2086,18 +2131,30 @@ dnl the testsuite_hooks.h header.
dnl
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
- GLIBCPP_CHECK_SETRLIMIT
+ if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
+ # Do checks for memory limit functions.
+ GLIBCPP_CHECK_SETRLIMIT
- # Look for setenv, so that extended locale tests can be performed.
- GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
+ # Look for setenv, so that extended locale tests can be performed.
+ GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
+ fi
# Export file names for ABI checking.
- baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt"
- AC_SUBST(baseline_file)
+ baseline_dir="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)"
+ AC_SUBST(baseline_dir)
- # Don't do ABI checking unless native.
- AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK,
- test x"$build" = x"$host" && test -z "$with_cross_host")
+ # Determine if checking the ABI is desirable.
+ if test x$enable_symvers = xno; then
+ enable_abi_check=no
+ else
+ case "$host" in
+ *-*-cygwin*)
+ enable_abi_check=no ;;
+ *)
+ enable_abi_check=yes ;;
+ esac
+ fi
+ AM_CONDITIONAL(GLIBCPP_TEST_ABI, test "$enable_abi_check" = yes)
])
@@ -2111,6 +2168,45 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN])
AC_DEFUN([AC_PROG_LD])
])
+dnl
+dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>.
+dnl
+
+AC_DEFUN(GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, [
+ AC_CACHE_VAL(glibcpp_cv_S_ISREG, [
+ AC_TRY_LINK([#include <sys/stat.h>],
+ [struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode); ],
+ [glibcpp_cv_S_ISREG=yes],
+ [glibcpp_cv_S_ISREG=no])
+ ])
+ AC_CACHE_VAL(glibcpp_cv_S_IFREG, [
+ AC_TRY_LINK([#include <sys/stat.h>],
+ [struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode; ],
+ [glibcpp_cv_S_IFREG=yes],
+ [glibcpp_cv_S_IFREG=no])
+ ])
+ if test x$glibcpp_cv_S_ISREG = xyes; then
+ AC_DEFINE(HAVE_S_ISREG)
+ elif test x$glibcpp_cv_S_IFREG = xyes; then
+ AC_DEFINE(HAVE_S_IFREG)
+ fi
+])
+
+dnl
+dnl Check whether poll is available in <poll.h>.
+dnl
+
+AC_DEFUN(GLIBCPP_CHECK_POLL, [
+ AC_CACHE_VAL(glibcpp_cv_POLL, [
+ AC_TRY_COMPILE([#include <poll.h>],
+ [struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0); ],
+ [glibcpp_cv_POLL=yes],
+ [glibcpp_cv_POLL=no])
+ ])
+ if test x$glibcpp_cv_POLL = xyes; then
+ AC_DEFINE(HAVE_POLL)
+ fi
+])
# Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
@@ -2247,22 +2343,21 @@ fi
dnl Everything parsed; figure out what file to use.
case $enable_symvers in
no)
- LINKER_MAP=config/linker-map.dummy
+ SYMVER_MAP=config/linker-map.dummy
;;
gnu)
- LINKER_MAP=config/linker-map.gnu
+ SYMVER_MAP=config/linker-map.gnu
AC_DEFINE(_GLIBCPP_SYMVER)
;;
esac
-AC_LINK_FILES($LINKER_MAP, src/linker.map)
+AC_SUBST(SYMVER_MAP)
AM_CONDITIONAL(GLIBCPP_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
AC_MSG_CHECKING([versioning on shared library symbols])
AC_MSG_RESULT($enable_symvers)
])
-
-# isc-posix.m4 serial 1 (gettext-0.10.40)
+# isc-posix.m4 serial 2 (gettext-0.11.2)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -2270,6 +2365,8 @@ dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
+# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
+
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)
@@ -2287,6 +2384,7 @@ AC_DEFUN([AC_ISC_POSIX],
]
)
+
# Add --enable-maintainer-mode option to configure.
# From Jim Meyering
@@ -2330,7 +2428,8 @@ dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AC_PROG_INSTALL])
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
@@ -2346,13 +2445,42 @@ AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
+# Copyright 2002 Free Software Foundation, Inc.
+
+# This program 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.
+
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.4-p6])])
+
#
# Check to make sure that the build environment is sane.
#
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index 6ac56fdae35..4d9dec31158 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -113,6 +113,15 @@
// Define if the compiler/host combination has __builtin_sqrtl
#undef HAVE___BUILTIN_SQRTL
+// Define if poll is available in <poll.h>.
+#undef HAVE_POLL
+
+// Define if S_ISREG (Posix) is available in <sys/stat.h>.
+#undef HAVE_S_ISREG
+
+// Define if S_IFREG is available in <sys/stat.h>.
+#undef HAVE_S_IFREG
+
// Define if LC_MESSAGES is available in <locale.h>.
#undef HAVE_LC_MESSAGES
@@ -743,6 +752,12 @@
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Define if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
/* Define if you have the <sys/isa_defs.h> header file. */
#undef HAVE_SYS_ISA_DEFS_H
diff --git a/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index b2df36d3bf7..00000000000
--- a/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3031 +0,0 @@
-FUNC:__cxa_allocate_exception@@CXXABI_1.2
-FUNC:__cxa_bad_cast@@CXXABI_1.2
-FUNC:__cxa_bad_typeid@@CXXABI_1.2
-FUNC:__cxa_begin_catch@@CXXABI_1.2
-FUNC:__cxa_call_unexpected@@CXXABI_1.2
-FUNC:__cxa_current_exception_type@@CXXABI_1.2
-FUNC:__cxa_demangle@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append@@CXXABI_1.2
-FUNC:__cxa_dyn_string_clear@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy@@CXXABI_1.2
-FUNC:__cxa_dyn_string_delete@@CXXABI_1.2
-FUNC:__cxa_dyn_string_eq@@CXXABI_1.2
-FUNC:__cxa_dyn_string_init@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert@@CXXABI_1.2
-FUNC:__cxa_dyn_string_new@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2
-FUNC:__cxa_dyn_string_release@@CXXABI_1.2
-FUNC:__cxa_dyn_string_resize@@CXXABI_1.2
-FUNC:__cxa_dyn_string_substring@@CXXABI_1.2
-FUNC:__cxa_end_catch@@CXXABI_1.2
-FUNC:__cxa_free_exception@@CXXABI_1.2
-FUNC:__cxa_get_globals@@CXXABI_1.2
-FUNC:__cxa_get_globals_fast@@CXXABI_1.2
-FUNC:__cxa_pure_virtual@@CXXABI_1.2
-FUNC:__cxa_rethrow@@CXXABI_1.2
-FUNC:__cxa_throw@@CXXABI_1.2
-FUNC:__cxa_vec_cctor@@CXXABI_1.2
-FUNC:__cxa_vec_cleanup@@CXXABI_1.2
-FUNC:__cxa_vec_ctor@@CXXABI_1.2
-FUNC:__cxa_vec_delete2@@CXXABI_1.2
-FUNC:__cxa_vec_delete3@@CXXABI_1.2
-FUNC:__cxa_vec_delete@@CXXABI_1.2
-FUNC:__cxa_vec_dtor@@CXXABI_1.2
-FUNC:__cxa_vec_new2@@CXXABI_1.2
-FUNC:__cxa_vec_new3@@CXXABI_1.2
-FUNC:__cxa_vec_new@@CXXABI_1.2
-FUNC:__dynamic_cast@@CXXABI_1.2
-FUNC:__gxx_personality_v0@@CXXABI_1.2
-FUNC:_ZdaPv@@GLIBCPP_3.2
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZdlPv@@GLIBCPP_3.2
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2
-FUNC:_Znam@@GLIBCPP_3.2
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2
-FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs2atEm@@GLIBCPP_3.2
-FUNC:_ZNKSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSsixEm@@GLIBCPP_3.2
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2
-FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2
-FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2
-FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2
-FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi3getERc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSi3getEv@@GLIBCPP_3.2
-FUNC:_ZNSi4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2
-FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSirsERb@@GLIBCPP_3.2
-FUNC:_ZNSirsERd@@GLIBCPP_3.2
-FUNC:_ZNSirsERe@@GLIBCPP_3.2
-FUNC:_ZNSirsERf@@GLIBCPP_3.2
-FUNC:_ZNSirsERi@@GLIBCPP_3.2
-FUNC:_ZNSirsERj@@GLIBCPP_3.2
-FUNC:_ZNSirsERl@@GLIBCPP_3.2
-FUNC:_ZNSirsERm@@GLIBCPP_3.2
-FUNC:_ZNSirsERPv@@GLIBCPP_3.2
-FUNC:_ZNSirsERs@@GLIBCPP_3.2
-FUNC:_ZNSirsERt@@GLIBCPP_3.2
-FUNC:_ZNSirsERx@@GLIBCPP_3.2
-FUNC:_ZNSirsERy@@GLIBCPP_3.2
-FUNC:_ZNSo3putEc@@GLIBCPP_3.2
-FUNC:_ZNSo5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSolsEb@@GLIBCPP_3.2
-FUNC:_ZNSolsEd@@GLIBCPP_3.2
-FUNC:_ZNSolsEe@@GLIBCPP_3.2
-FUNC:_ZNSolsEf@@GLIBCPP_3.2
-FUNC:_ZNSolsEi@@GLIBCPP_3.2
-FUNC:_ZNSolsEj@@GLIBCPP_3.2
-FUNC:_ZNSolsEl@@GLIBCPP_3.2
-FUNC:_ZNSolsEm@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSolsEs@@GLIBCPP_3.2
-FUNC:_ZNSolsEt@@GLIBCPP_3.2
-FUNC:_ZNSolsEx@@GLIBCPP_3.2
-FUNC:_ZNSolsEy@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2
-FUNC:_ZNSs2atEm@@GLIBCPP_3.2
-FUNC:_ZNSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2
-FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2
-FUNC:_ZNSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSs5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2
-FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2
-FUNC:_ZNSsaSEc@@GLIBCPP_3.2
-FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2
-FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsixEm@@GLIBCPP_3.2
-FUNC:_ZNSspLEc@@GLIBCPP_3.2
-FUNC:_ZNSspLEPKc@@GLIBCPP_3.2
-FUNC:_ZNSspLERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2
-FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2
-FUNC:_Znwm@@GLIBCPP_3.2
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9terminatev@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2
-OBJECT:0:CXXABI_1.2
-OBJECT:0:GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSd@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2
-OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2
-OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZTIa@@GLIBCPP_3.2
-OBJECT:16:_ZTIb@@GLIBCPP_3.2
-OBJECT:16:_ZTIc@@GLIBCPP_3.2
-OBJECT:16:_ZTId@@GLIBCPP_3.2
-OBJECT:16:_ZTIe@@GLIBCPP_3.2
-OBJECT:16:_ZTIf@@GLIBCPP_3.2
-OBJECT:16:_ZTIh@@GLIBCPP_3.2
-OBJECT:16:_ZTIi@@GLIBCPP_3.2
-OBJECT:16:_ZTIj@@GLIBCPP_3.2
-OBJECT:16:_ZTIl@@GLIBCPP_3.2
-OBJECT:16:_ZTIm@@GLIBCPP_3.2
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:16:_ZTIs@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2
-OBJECT:16:_ZTIt@@GLIBCPP_3.2
-OBJECT:16:_ZTIv@@GLIBCPP_3.2
-OBJECT:16:_ZTIw@@GLIBCPP_3.2
-OBJECT:16:_ZTIx@@GLIBCPP_3.2
-OBJECT:16:_ZTIy@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2
-OBJECT:16:_ZTTSi@@GLIBCPP_3.2
-OBJECT:16:_ZTTSo@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2
-OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2
-OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2
-OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2
-OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2
-OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2
-OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2
-OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2
-OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2
-OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2
-OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2
-OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2
-OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2
-OBJECT:272:_ZSt4clog@@GLIBCPP_3.2
-OBJECT:272:_ZSt4cout@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2
-OBJECT:280:_ZSt3cin@@GLIBCPP_3.2
-OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2
-OBJECT:2:_ZTSa@@GLIBCPP_3.2
-OBJECT:2:_ZTSb@@GLIBCPP_3.2
-OBJECT:2:_ZTSc@@GLIBCPP_3.2
-OBJECT:2:_ZTSd@@GLIBCPP_3.2
-OBJECT:2:_ZTSe@@GLIBCPP_3.2
-OBJECT:2:_ZTSf@@GLIBCPP_3.2
-OBJECT:2:_ZTSh@@GLIBCPP_3.2
-OBJECT:2:_ZTSi@@GLIBCPP_3.2
-OBJECT:2:_ZTSj@@GLIBCPP_3.2
-OBJECT:2:_ZTSl@@GLIBCPP_3.2
-OBJECT:2:_ZTSm@@GLIBCPP_3.2
-OBJECT:2:_ZTSs@@GLIBCPP_3.2
-OBJECT:2:_ZTSt@@GLIBCPP_3.2
-OBJECT:2:_ZTSv@@GLIBCPP_3.2
-OBJECT:2:_ZTSw@@GLIBCPP_3.2
-OBJECT:2:_ZTSx@@GLIBCPP_3.2
-OBJECT:2:_ZTSy@@GLIBCPP_3.2
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2
-OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2
-OBJECT:32:_ZTIPa@@GLIBCPP_3.2
-OBJECT:32:_ZTIPb@@GLIBCPP_3.2
-OBJECT:32:_ZTIPc@@GLIBCPP_3.2
-OBJECT:32:_ZTIPd@@GLIBCPP_3.2
-OBJECT:32:_ZTIPe@@GLIBCPP_3.2
-OBJECT:32:_ZTIPf@@GLIBCPP_3.2
-OBJECT:32:_ZTIPh@@GLIBCPP_3.2
-OBJECT:32:_ZTIPi@@GLIBCPP_3.2
-OBJECT:32:_ZTIPj@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKa@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKb@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKc@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKd@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKe@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKf@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKh@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKi@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKj@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKl@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKm@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKs@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKt@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKv@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKw@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKx@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKy@@GLIBCPP_3.2
-OBJECT:32:_ZTIPl@@GLIBCPP_3.2
-OBJECT:32:_ZTIPm@@GLIBCPP_3.2
-OBJECT:32:_ZTIPs@@GLIBCPP_3.2
-OBJECT:32:_ZTIPt@@GLIBCPP_3.2
-OBJECT:32:_ZTIPv@@GLIBCPP_3.2
-OBJECT:32:_ZTIPw@@GLIBCPP_3.2
-OBJECT:32:_ZTIPx@@GLIBCPP_3.2
-OBJECT:32:_ZTIPy@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:3:_ZTSPa@@GLIBCPP_3.2
-OBJECT:3:_ZTSPb@@GLIBCPP_3.2
-OBJECT:3:_ZTSPc@@GLIBCPP_3.2
-OBJECT:3:_ZTSPd@@GLIBCPP_3.2
-OBJECT:3:_ZTSPe@@GLIBCPP_3.2
-OBJECT:3:_ZTSPf@@GLIBCPP_3.2
-OBJECT:3:_ZTSPh@@GLIBCPP_3.2
-OBJECT:3:_ZTSPi@@GLIBCPP_3.2
-OBJECT:3:_ZTSPj@@GLIBCPP_3.2
-OBJECT:3:_ZTSPl@@GLIBCPP_3.2
-OBJECT:3:_ZTSPm@@GLIBCPP_3.2
-OBJECT:3:_ZTSPs@@GLIBCPP_3.2
-OBJECT:3:_ZTSPt@@GLIBCPP_3.2
-OBJECT:3:_ZTSPv@@GLIBCPP_3.2
-OBJECT:3:_ZTSPw@@GLIBCPP_3.2
-OBJECT:3:_ZTSPx@@GLIBCPP_3.2
-OBJECT:3:_ZTSPy@@GLIBCPP_3.2
-OBJECT:3:_ZTSSd@@GLIBCPP_3.2
-OBJECT:3:_ZTSSi@@GLIBCPP_3.2
-OBJECT:3:_ZTSSo@@GLIBCPP_3.2
-OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2
-OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2
-OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2
-OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2
-OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKa@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKb@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKc@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKd@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKe@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKf@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKh@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKi@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKj@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKl@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKm@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKs@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKt@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKv@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKw@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKx@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKy@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2
-OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2
-OBJECT:56:_ZTISi@@GLIBCPP_3.2
-OBJECT:56:_ZTISo@@GLIBCPP_3.2
-OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTTSd@@GLIBCPP_3.2
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2
-OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2
-OBJECT:72:_ZTISd@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSi@@GLIBCPP_3.2
-OBJECT:80:_ZTVSo@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
diff --git a/libstdc++-v3/config/abi/i386-unknown-freebsd4/baseline_symbols.txt b/libstdc++-v3/config/abi/i386-unknown-freebsd4/baseline_symbols.txt
deleted file mode 100644
index c5b8fa0a739..00000000000
--- a/libstdc++-v3/config/abi/i386-unknown-freebsd4/baseline_symbols.txt
+++ /dev/null
@@ -1,2008 +0,0 @@
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2
-FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs2atEj@@GLIBCPP_3.2
-FUNC:_ZNKSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4copyEPcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs4findERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6substrEjj@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_foldEjj@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCPP_3.2
-FUNC:_ZNKSs8_M_checkEj@@GLIBCPP_3.2
-FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSsixEj@@GLIBCPP_3.2
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_scan_isEmPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE11do_scan_notEmPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pm@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEmc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcjRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE10deallocateEPcj@@GLIBCPP_3.2
-FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2
-FUNC:_ZNSaIcE8allocateEjPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwE10deallocateEPwj@@GLIBCPP_3.2
-FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2
-FUNC:_ZNSaIwE8allocateEjPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPci@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPcic@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERc@@GLIBCPP_3.2
-FUNC:_ZNSi3getEv@@GLIBCPP_3.2
-FUNC:_ZNSi4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSi4readEPci@@GLIBCPP_3.2
-FUNC:_ZNSi4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSi6ignoreEii@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPci@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPcic@@GLIBCPP_3.2
-FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2
-FUNC:_ZNSi8readsomeEPci@@GLIBCPP_3.2
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSirsERPv@@GLIBCPP_3.2
-FUNC:_ZNSirsERb@@GLIBCPP_3.2
-FUNC:_ZNSirsERd@@GLIBCPP_3.2
-FUNC:_ZNSirsERe@@GLIBCPP_3.2
-FUNC:_ZNSirsERf@@GLIBCPP_3.2
-FUNC:_ZNSirsERi@@GLIBCPP_3.2
-FUNC:_ZNSirsERj@@GLIBCPP_3.2
-FUNC:_ZNSirsERl@@GLIBCPP_3.2
-FUNC:_ZNSirsERm@@GLIBCPP_3.2
-FUNC:_ZNSirsERs@@GLIBCPP_3.2
-FUNC:_ZNSirsERt@@GLIBCPP_3.2
-FUNC:_ZNSirsERx@@GLIBCPP_3.2
-FUNC:_ZNSirsERy@@GLIBCPP_3.2
-FUNC:_ZNSo3putEc@@GLIBCPP_3.2
-FUNC:_ZNSo5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSo5writeEPKci@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSolsEb@@GLIBCPP_3.2
-FUNC:_ZNSolsEd@@GLIBCPP_3.2
-FUNC:_ZNSolsEe@@GLIBCPP_3.2
-FUNC:_ZNSolsEf@@GLIBCPP_3.2
-FUNC:_ZNSolsEi@@GLIBCPP_3.2
-FUNC:_ZNSolsEj@@GLIBCPP_3.2
-FUNC:_ZNSolsEl@@GLIBCPP_3.2
-FUNC:_ZNSolsEm@@GLIBCPP_3.2
-FUNC:_ZNSolsEs@@GLIBCPP_3.2
-FUNC:_ZNSolsEt@@GLIBCPP_3.2
-FUNC:_ZNSolsEx@@GLIBCPP_3.2
-FUNC:_ZNSolsEy@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs2atEj@@GLIBCPP_3.2
-FUNC:_ZNSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep9_S_createEjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_RepixEj@@GLIBCPP_3.2
-FUNC:_ZNSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2
-FUNC:_ZNSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSs5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEjj@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjjc@@GLIBCPP_3.2
-FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEj@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEjc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjjc@@GLIBCPP_3.2
-FUNC:_ZNSs7reserveEj@@GLIBCPP_3.2
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCPP_3.2
-FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2
-FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsaSEc@@GLIBCPP_3.2
-FUNC:_ZNSsixEj@@GLIBCPP_3.2
-FUNC:_ZNSspLEPKc@@GLIBCPP_3.2
-FUNC:_ZNSspLERKSs@@GLIBCPP_3.2
-FUNC:_ZNSspLEc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcci@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP7__sFILESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC1EPP13pthread_mutex@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC2EPP13pthread_mutex@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPciRiS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEjj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvjj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEjRi@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EPKmbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EPiPKmbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EPKmbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EPiPKmbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEjb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEjb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1EPij@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2EPij@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2EPiPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1EPij@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2EPij@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2
-FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt26__uninitialized_fill_n_auxIPSsjSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9terminatev@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZThn8_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZdaPv@@GLIBCPP_3.2
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZdlPv@@GLIBCPP_3.2
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_Znaj@@GLIBCPP_3.2
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_Znwj@@GLIBCPP_3.2
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:__cxa_allocate_exception@@CXXABI_1.2
-FUNC:__cxa_bad_cast@@CXXABI_1.2
-FUNC:__cxa_bad_typeid@@CXXABI_1.2
-FUNC:__cxa_begin_catch@@CXXABI_1.2
-FUNC:__cxa_call_unexpected@@CXXABI_1.2
-FUNC:__cxa_current_exception_type@@CXXABI_1.2
-FUNC:__cxa_demangle@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_clear@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_delete@@CXXABI_1.2
-FUNC:__cxa_dyn_string_eq@@CXXABI_1.2
-FUNC:__cxa_dyn_string_init@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_new@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_release@@CXXABI_1.2
-FUNC:__cxa_dyn_string_resize@@CXXABI_1.2
-FUNC:__cxa_dyn_string_substring@@CXXABI_1.2
-FUNC:__cxa_end_catch@@CXXABI_1.2
-FUNC:__cxa_free_exception@@CXXABI_1.2
-FUNC:__cxa_get_globals@@CXXABI_1.2
-FUNC:__cxa_get_globals_fast@@CXXABI_1.2
-FUNC:__cxa_pure_virtual@@CXXABI_1.2
-FUNC:__cxa_rethrow@@CXXABI_1.2
-FUNC:__cxa_throw@@CXXABI_1.2
-FUNC:__cxa_vec_cctor@@CXXABI_1.2
-FUNC:__cxa_vec_cleanup@@CXXABI_1.2
-FUNC:__cxa_vec_ctor@@CXXABI_1.2
-FUNC:__cxa_vec_delete2@@CXXABI_1.2
-FUNC:__cxa_vec_delete3@@CXXABI_1.2
-FUNC:__cxa_vec_delete@@CXXABI_1.2
-FUNC:__cxa_vec_dtor@@CXXABI_1.2
-FUNC:__cxa_vec_new2@@CXXABI_1.2
-FUNC:__cxa_vec_new3@@CXXABI_1.2
-FUNC:__cxa_vec_new@@CXXABI_1.2
-FUNC:__dynamic_cast@@CXXABI_1.2
-FUNC:__gxx_personality_v0@@CXXABI_1.2
-OBJECT:0:CXXABI_1.2
-OBJECT:0:GLIBCPP_3.2
-OBJECT:12:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2
-OBJECT:12:_ZSt9collate_c@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCPP_3.2
-OBJECT:12:_ZTISt10istrstream@@GLIBCPP_3.2
-OBJECT:12:_ZTISt10ostrstream@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11logic_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11range_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12domain_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12length_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12out_of_range@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13bad_exception@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13runtime_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14overflow_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15underflow_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCPP_3.2
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt7collateIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9strstream@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2
-OBJECT:140:_ZSt4cerr@@GLIBCPP_3.2
-OBJECT:140:_ZSt4clog@@GLIBCPP_3.2
-OBJECT:140:_ZSt4cout@@GLIBCPP_3.2
-OBJECT:144:_ZSt3cin@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:16:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:16:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2
-OBJECT:16:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2
-OBJECT:16:_ZSt10messages_c@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKa@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKb@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKc@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKd@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKe@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKf@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKh@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKi@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKj@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKl@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKm@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKs@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKt@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKv@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKw@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKx@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKy@@GLIBCPP_3.2
-OBJECT:16:_ZTIPa@@GLIBCPP_3.2
-OBJECT:16:_ZTIPb@@GLIBCPP_3.2
-OBJECT:16:_ZTIPc@@GLIBCPP_3.2
-OBJECT:16:_ZTIPd@@GLIBCPP_3.2
-OBJECT:16:_ZTIPe@@GLIBCPP_3.2
-OBJECT:16:_ZTIPf@@GLIBCPP_3.2
-OBJECT:16:_ZTIPh@@GLIBCPP_3.2
-OBJECT:16:_ZTIPi@@GLIBCPP_3.2
-OBJECT:16:_ZTIPj@@GLIBCPP_3.2
-OBJECT:16:_ZTIPl@@GLIBCPP_3.2
-OBJECT:16:_ZTIPm@@GLIBCPP_3.2
-OBJECT:16:_ZTIPs@@GLIBCPP_3.2
-OBJECT:16:_ZTIPt@@GLIBCPP_3.2
-OBJECT:16:_ZTIPv@@GLIBCPP_3.2
-OBJECT:16:_ZTIPw@@GLIBCPP_3.2
-OBJECT:16:_ZTIPx@@GLIBCPP_3.2
-OBJECT:16:_ZTIPy@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt10istrstream@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2
-OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2
-OBJECT:204:_ZSt11timepunct_c@@GLIBCPP_3.2
-OBJECT:20:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt11logic_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt11range_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt12domain_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt12length_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt9exception@@GLIBCPP_3.2
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZSt10numpunct_c@@GLIBCPP_3.2
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2
-OBJECT:28:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2
-OBJECT:28:_ZSt7ctype_c@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:28:_ZTTSd@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:2:_ZTSa@@GLIBCPP_3.2
-OBJECT:2:_ZTSb@@GLIBCPP_3.2
-OBJECT:2:_ZTSc@@GLIBCPP_3.2
-OBJECT:2:_ZTSd@@GLIBCPP_3.2
-OBJECT:2:_ZTSe@@GLIBCPP_3.2
-OBJECT:2:_ZTSf@@GLIBCPP_3.2
-OBJECT:2:_ZTSh@@GLIBCPP_3.2
-OBJECT:2:_ZTSi@@GLIBCPP_3.2
-OBJECT:2:_ZTSj@@GLIBCPP_3.2
-OBJECT:2:_ZTSl@@GLIBCPP_3.2
-OBJECT:2:_ZTSm@@GLIBCPP_3.2
-OBJECT:2:_ZTSs@@GLIBCPP_3.2
-OBJECT:2:_ZTSt@@GLIBCPP_3.2
-OBJECT:2:_ZTSv@@GLIBCPP_3.2
-OBJECT:2:_ZTSw@@GLIBCPP_3.2
-OBJECT:2:_ZTSx@@GLIBCPP_3.2
-OBJECT:2:_ZTSy@@GLIBCPP_3.2
-OBJECT:32:_ZTISi@@GLIBCPP_3.2
-OBJECT:32:_ZTISo@@GLIBCPP_3.2
-OBJECT:32:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt9type_info@@GLIBCPP_3.2
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:36:_ZSt13c_locale_impl@@GLIBCPP_3.2
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:3:_ZTSPa@@GLIBCPP_3.2
-OBJECT:3:_ZTSPb@@GLIBCPP_3.2
-OBJECT:3:_ZTSPc@@GLIBCPP_3.2
-OBJECT:3:_ZTSPd@@GLIBCPP_3.2
-OBJECT:3:_ZTSPe@@GLIBCPP_3.2
-OBJECT:3:_ZTSPf@@GLIBCPP_3.2
-OBJECT:3:_ZTSPh@@GLIBCPP_3.2
-OBJECT:3:_ZTSPi@@GLIBCPP_3.2
-OBJECT:3:_ZTSPj@@GLIBCPP_3.2
-OBJECT:3:_ZTSPl@@GLIBCPP_3.2
-OBJECT:3:_ZTSPm@@GLIBCPP_3.2
-OBJECT:3:_ZTSPs@@GLIBCPP_3.2
-OBJECT:3:_ZTSPt@@GLIBCPP_3.2
-OBJECT:3:_ZTSPv@@GLIBCPP_3.2
-OBJECT:3:_ZTSPw@@GLIBCPP_3.2
-OBJECT:3:_ZTSPx@@GLIBCPP_3.2
-OBJECT:3:_ZTSPy@@GLIBCPP_3.2
-OBJECT:3:_ZTSSd@@GLIBCPP_3.2
-OBJECT:3:_ZTSSi@@GLIBCPP_3.2
-OBJECT:3:_ZTSSo@@GLIBCPP_3.2
-OBJECT:40:_ZSt13moneypunct_fc@@GLIBCPP_3.2
-OBJECT:40:_ZSt13moneypunct_tc@@GLIBCPP_3.2
-OBJECT:40:_ZTISd@@GLIBCPP_3.2
-OBJECT:40:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8messagesIcE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt9strstream@@GLIBCPP_3.2
-OBJECT:40:_ZTVSi@@GLIBCPP_3.2
-OBJECT:40:_ZTVSo@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt10istrstream@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:480:_ZSt7buf_cin@@GLIBCPP_3.2
-OBJECT:480:_ZSt8buf_cerr@@GLIBCPP_3.2
-OBJECT:480:_ZSt8buf_cout@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSs4nposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5printE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZSt8c_locale@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKa@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKb@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKc@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKd@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKe@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKf@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKh@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKi@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKj@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKl@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKm@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKs@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKt@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKv@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKw@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKx@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKy@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:56:_ZSt9facet_vec@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSd@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt9strstream@@GLIBCPP_3.2
-OBJECT:64:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:68:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2
-OBJECT:8:_ZSt10time_get_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt10time_put_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt11money_get_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt11money_put_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt9codecvt_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt9num_get_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt9num_put_c@@GLIBCPP_3.2
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:8:_ZTISt10__num_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt10ctype_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt10money_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt13messages_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:8:_ZTISt8ios_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt9exception@@GLIBCPP_3.2
-OBJECT:8:_ZTISt9time_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt9type_info@@GLIBCPP_3.2
-OBJECT:8:_ZTIa@@GLIBCPP_3.2
-OBJECT:8:_ZTIb@@GLIBCPP_3.2
-OBJECT:8:_ZTIc@@GLIBCPP_3.2
-OBJECT:8:_ZTId@@GLIBCPP_3.2
-OBJECT:8:_ZTIe@@GLIBCPP_3.2
-OBJECT:8:_ZTIf@@GLIBCPP_3.2
-OBJECT:8:_ZTIh@@GLIBCPP_3.2
-OBJECT:8:_ZTIi@@GLIBCPP_3.2
-OBJECT:8:_ZTIj@@GLIBCPP_3.2
-OBJECT:8:_ZTIl@@GLIBCPP_3.2
-OBJECT:8:_ZTIm@@GLIBCPP_3.2
-OBJECT:8:_ZTIs@@GLIBCPP_3.2
-OBJECT:8:_ZTIt@@GLIBCPP_3.2
-OBJECT:8:_ZTIv@@GLIBCPP_3.2
-OBJECT:8:_ZTIw@@GLIBCPP_3.2
-OBJECT:8:_ZTIx@@GLIBCPP_3.2
-OBJECT:8:_ZTIy@@GLIBCPP_3.2
-OBJECT:8:_ZTTSi@@GLIBCPP_3.2
-OBJECT:8:_ZTTSo@@GLIBCPP_3.2
diff --git a/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index be8fc9b94d1..00000000000
--- a/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3031 +0,0 @@
-FUNC:__cxa_allocate_exception@@CXXABI_1.2
-FUNC:__cxa_bad_cast@@CXXABI_1.2
-FUNC:__cxa_bad_typeid@@CXXABI_1.2
-FUNC:__cxa_begin_catch@@CXXABI_1.2
-FUNC:__cxa_call_unexpected@@CXXABI_1.2
-FUNC:__cxa_current_exception_type@@CXXABI_1.2
-FUNC:__cxa_demangle@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append@@CXXABI_1.2
-FUNC:__cxa_dyn_string_clear@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy@@CXXABI_1.2
-FUNC:__cxa_dyn_string_delete@@CXXABI_1.2
-FUNC:__cxa_dyn_string_eq@@CXXABI_1.2
-FUNC:__cxa_dyn_string_init@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert@@CXXABI_1.2
-FUNC:__cxa_dyn_string_new@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2
-FUNC:__cxa_dyn_string_release@@CXXABI_1.2
-FUNC:__cxa_dyn_string_resize@@CXXABI_1.2
-FUNC:__cxa_dyn_string_substring@@CXXABI_1.2
-FUNC:__cxa_end_catch@@CXXABI_1.2
-FUNC:__cxa_free_exception@@CXXABI_1.2
-FUNC:__cxa_get_globals@@CXXABI_1.2
-FUNC:__cxa_get_globals_fast@@CXXABI_1.2
-FUNC:__cxa_pure_virtual@@CXXABI_1.2
-FUNC:__cxa_rethrow@@CXXABI_1.2
-FUNC:__cxa_throw@@CXXABI_1.2
-FUNC:__cxa_vec_cctor@@CXXABI_1.2
-FUNC:__cxa_vec_cleanup@@CXXABI_1.2
-FUNC:__cxa_vec_ctor@@CXXABI_1.2
-FUNC:__cxa_vec_delete2@@CXXABI_1.2
-FUNC:__cxa_vec_delete3@@CXXABI_1.2
-FUNC:__cxa_vec_delete@@CXXABI_1.2
-FUNC:__cxa_vec_dtor@@CXXABI_1.2
-FUNC:__cxa_vec_new2@@CXXABI_1.2
-FUNC:__cxa_vec_new3@@CXXABI_1.2
-FUNC:__cxa_vec_new@@CXXABI_1.2
-FUNC:__dynamic_cast@@CXXABI_1.2
-FUNC:__gxx_personality_v0@@CXXABI_1.2
-FUNC:_ZdaPv@@GLIBCPP_3.2
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZdlPv@@GLIBCPP_3.2
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2
-FUNC:_Znaj@@GLIBCPP_3.2
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEjj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEj@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2
-FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs2atEj@@GLIBCPP_3.2
-FUNC:_ZNKSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4copyEPcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs4findERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEcj@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCPP_3.2
-FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6substrEjj@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_foldEjj@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8_M_checkEj@@GLIBCPP_3.2
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSsixEj@@GLIBCPP_3.2
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcjRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwjRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE10deallocateEPcj@@GLIBCPP_3.2
-FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2
-FUNC:_ZNSaIcE8allocateEjPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwE10deallocateEPwj@@GLIBCPP_3.2
-FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2
-FUNC:_ZNSaIwE8allocateEjPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPcic@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPci@@GLIBCPP_3.2
-FUNC:_ZNSi3getERc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSi3getEv@@GLIBCPP_3.2
-FUNC:_ZNSi4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSi4readEPci@@GLIBCPP_3.2
-FUNC:_ZNSi4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSi6ignoreEii@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPcic@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPci@@GLIBCPP_3.2
-FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2
-FUNC:_ZNSi8readsomeEPci@@GLIBCPP_3.2
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSirsERb@@GLIBCPP_3.2
-FUNC:_ZNSirsERd@@GLIBCPP_3.2
-FUNC:_ZNSirsERe@@GLIBCPP_3.2
-FUNC:_ZNSirsERf@@GLIBCPP_3.2
-FUNC:_ZNSirsERi@@GLIBCPP_3.2
-FUNC:_ZNSirsERj@@GLIBCPP_3.2
-FUNC:_ZNSirsERl@@GLIBCPP_3.2
-FUNC:_ZNSirsERm@@GLIBCPP_3.2
-FUNC:_ZNSirsERPv@@GLIBCPP_3.2
-FUNC:_ZNSirsERs@@GLIBCPP_3.2
-FUNC:_ZNSirsERt@@GLIBCPP_3.2
-FUNC:_ZNSirsERx@@GLIBCPP_3.2
-FUNC:_ZNSirsERy@@GLIBCPP_3.2
-FUNC:_ZNSo3putEc@@GLIBCPP_3.2
-FUNC:_ZNSo5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSo5writeEPKci@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSolsEb@@GLIBCPP_3.2
-FUNC:_ZNSolsEd@@GLIBCPP_3.2
-FUNC:_ZNSolsEe@@GLIBCPP_3.2
-FUNC:_ZNSolsEf@@GLIBCPP_3.2
-FUNC:_ZNSolsEi@@GLIBCPP_3.2
-FUNC:_ZNSolsEj@@GLIBCPP_3.2
-FUNC:_ZNSolsEl@@GLIBCPP_3.2
-FUNC:_ZNSolsEm@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSolsEs@@GLIBCPP_3.2
-FUNC:_ZNSolsEt@@GLIBCPP_3.2
-FUNC:_ZNSolsEx@@GLIBCPP_3.2
-FUNC:_ZNSolsEy@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2
-FUNC:_ZNSs2atEj@@GLIBCPP_3.2
-FUNC:_ZNSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep9_S_createEjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_RepixEj@@GLIBCPP_3.2
-FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2
-FUNC:_ZNSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSs5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEjj@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjjc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEjc@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEj@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjjc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNSs7reserveEj@@GLIBCPP_3.2
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCPP_3.2
-FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2
-FUNC:_ZNSsaSEc@@GLIBCPP_3.2
-FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2
-FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsjj@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsixEj@@GLIBCPP_3.2
-FUNC:_ZNSspLEc@@GLIBCPP_3.2
-FUNC:_ZNSspLEPKc@@GLIBCPP_3.2
-FUNC:_ZNSspLERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcci@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPciRiS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwiRiS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEjj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEjj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvjj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEjRi@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEjb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEjb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2
-FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2
-FUNC:_Znwj@@GLIBCPP_3.2
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt26__uninitialized_fill_n_auxIPSsjSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9terminatev@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZThn8_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCPP_3.2
-OBJECT:0:CXXABI_1.2
-OBJECT:0:GLIBCPP_3.2
-OBJECT:112:_ZSt9facet_vec@@GLIBCPP_3.2
-OBJECT:12:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2
-OBJECT:12:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2
-OBJECT:12:_ZSt7ctype_w@@GLIBCPP_3.2
-OBJECT:12:_ZSt9collate_c@@GLIBCPP_3.2
-OBJECT:12:_ZSt9collate_w@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCPP_3.2
-OBJECT:12:_ZTISt10istrstream@@GLIBCPP_3.2
-OBJECT:12:_ZTISt10ostrstream@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11logic_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11range_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12domain_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12length_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12out_of_range@@GLIBCPP_3.2
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13bad_exception@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt13runtime_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt14overflow_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt15underflow_error@@GLIBCPP_3.2
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCPP_3.2
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt7collateIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt7collateIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:12:_ZTISt9strstream@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2
-OBJECT:140:_ZSt4cerr@@GLIBCPP_3.2
-OBJECT:140:_ZSt4clog@@GLIBCPP_3.2
-OBJECT:140:_ZSt4cout@@GLIBCPP_3.2
-OBJECT:140:_ZSt7buf_cin@@GLIBCPP_3.2
-OBJECT:140:_ZSt8buf_cerr@@GLIBCPP_3.2
-OBJECT:140:_ZSt8buf_cout@@GLIBCPP_3.2
-OBJECT:144:_ZSt3cin@@GLIBCPP_3.2
-OBJECT:144:_ZSt5wcerr@@GLIBCPP_3.2
-OBJECT:144:_ZSt5wclog@@GLIBCPP_3.2
-OBJECT:144:_ZSt5wcout@@GLIBCPP_3.2
-OBJECT:148:_ZSt4wcin@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2
-OBJECT:156:_ZSt8buf_wcin@@GLIBCPP_3.2
-OBJECT:156:_ZSt9buf_wcerr@@GLIBCPP_3.2
-OBJECT:156:_ZSt9buf_wcout@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:16:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:16:_ZSt10messages_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10messages_w@@GLIBCPP_3.2
-OBJECT:16:_ZTIPa@@GLIBCPP_3.2
-OBJECT:16:_ZTIPb@@GLIBCPP_3.2
-OBJECT:16:_ZTIPc@@GLIBCPP_3.2
-OBJECT:16:_ZTIPd@@GLIBCPP_3.2
-OBJECT:16:_ZTIPe@@GLIBCPP_3.2
-OBJECT:16:_ZTIPf@@GLIBCPP_3.2
-OBJECT:16:_ZTIPh@@GLIBCPP_3.2
-OBJECT:16:_ZTIPi@@GLIBCPP_3.2
-OBJECT:16:_ZTIPj@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKa@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKb@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKc@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKd@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKe@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKf@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKh@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKi@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKj@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKl@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKm@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKs@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKt@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKv@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKw@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKx@@GLIBCPP_3.2
-OBJECT:16:_ZTIPKy@@GLIBCPP_3.2
-OBJECT:16:_ZTIPl@@GLIBCPP_3.2
-OBJECT:16:_ZTIPm@@GLIBCPP_3.2
-OBJECT:16:_ZTIPs@@GLIBCPP_3.2
-OBJECT:16:_ZTIPt@@GLIBCPP_3.2
-OBJECT:16:_ZTIPv@@GLIBCPP_3.2
-OBJECT:16:_ZTIPw@@GLIBCPP_3.2
-OBJECT:16:_ZTIPx@@GLIBCPP_3.2
-OBJECT:16:_ZTIPy@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt10istrstream@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2
-OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2
-OBJECT:204:_ZSt11timepunct_c@@GLIBCPP_3.2
-OBJECT:204:_ZSt11timepunct_w@@GLIBCPP_3.2
-OBJECT:20:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt11logic_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt11range_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt12domain_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt12length_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:20:_ZTVSt9exception@@GLIBCPP_3.2
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2
-OBJECT:24:_ZSt10numpunct_c@@GLIBCPP_3.2
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2
-OBJECT:28:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2
-OBJECT:28:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2
-OBJECT:28:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2
-OBJECT:28:_ZSt10numpunct_w@@GLIBCPP_3.2
-OBJECT:28:_ZSt7ctype_c@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:28:_ZTTSd@@GLIBCPP_3.2
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2
-OBJECT:2:_ZTSa@@GLIBCPP_3.2
-OBJECT:2:_ZTSb@@GLIBCPP_3.2
-OBJECT:2:_ZTSc@@GLIBCPP_3.2
-OBJECT:2:_ZTSd@@GLIBCPP_3.2
-OBJECT:2:_ZTSe@@GLIBCPP_3.2
-OBJECT:2:_ZTSf@@GLIBCPP_3.2
-OBJECT:2:_ZTSh@@GLIBCPP_3.2
-OBJECT:2:_ZTSi@@GLIBCPP_3.2
-OBJECT:2:_ZTSj@@GLIBCPP_3.2
-OBJECT:2:_ZTSl@@GLIBCPP_3.2
-OBJECT:2:_ZTSm@@GLIBCPP_3.2
-OBJECT:2:_ZTSs@@GLIBCPP_3.2
-OBJECT:2:_ZTSt@@GLIBCPP_3.2
-OBJECT:2:_ZTSv@@GLIBCPP_3.2
-OBJECT:2:_ZTSw@@GLIBCPP_3.2
-OBJECT:2:_ZTSx@@GLIBCPP_3.2
-OBJECT:2:_ZTSy@@GLIBCPP_3.2
-OBJECT:32:_ZTISi@@GLIBCPP_3.2
-OBJECT:32:_ZTISo@@GLIBCPP_3.2
-OBJECT:32:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt9type_info@@GLIBCPP_3.2
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:36:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2
-OBJECT:36:_ZSt13c_locale_impl@@GLIBCPP_3.2
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:3:_ZTSPa@@GLIBCPP_3.2
-OBJECT:3:_ZTSPb@@GLIBCPP_3.2
-OBJECT:3:_ZTSPc@@GLIBCPP_3.2
-OBJECT:3:_ZTSPd@@GLIBCPP_3.2
-OBJECT:3:_ZTSPe@@GLIBCPP_3.2
-OBJECT:3:_ZTSPf@@GLIBCPP_3.2
-OBJECT:3:_ZTSPh@@GLIBCPP_3.2
-OBJECT:3:_ZTSPi@@GLIBCPP_3.2
-OBJECT:3:_ZTSPj@@GLIBCPP_3.2
-OBJECT:3:_ZTSPl@@GLIBCPP_3.2
-OBJECT:3:_ZTSPm@@GLIBCPP_3.2
-OBJECT:3:_ZTSPs@@GLIBCPP_3.2
-OBJECT:3:_ZTSPt@@GLIBCPP_3.2
-OBJECT:3:_ZTSPv@@GLIBCPP_3.2
-OBJECT:3:_ZTSPw@@GLIBCPP_3.2
-OBJECT:3:_ZTSPx@@GLIBCPP_3.2
-OBJECT:3:_ZTSPy@@GLIBCPP_3.2
-OBJECT:3:_ZTSSd@@GLIBCPP_3.2
-OBJECT:3:_ZTSSi@@GLIBCPP_3.2
-OBJECT:3:_ZTSSo@@GLIBCPP_3.2
-OBJECT:40:_ZSt13moneypunct_fc@@GLIBCPP_3.2
-OBJECT:40:_ZSt13moneypunct_tc@@GLIBCPP_3.2
-OBJECT:40:_ZTISd@@GLIBCPP_3.2
-OBJECT:40:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8messagesIcE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8messagesIwE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTTSt9strstream@@GLIBCPP_3.2
-OBJECT:40:_ZTVSi@@GLIBCPP_3.2
-OBJECT:40:_ZTVSo@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt10istrstream@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:44:_ZSt13moneypunct_fw@@GLIBCPP_3.2
-OBJECT:44:_ZSt13moneypunct_tw@@GLIBCPP_3.2
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSs4nposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:4:_ZSt8c_locale@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKa@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKb@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKc@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKd@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKe@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKf@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKh@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKi@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKj@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKl@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKm@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKs@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKt@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKv@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKw@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKx@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKy@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSd@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTVSt9strstream@@GLIBCPP_3.2
-OBJECT:64:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:68:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:68:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZSt10time_get_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt10time_get_w@@GLIBCPP_3.2
-OBJECT:8:_ZSt10time_put_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt10time_put_w@@GLIBCPP_3.2
-OBJECT:8:_ZSt11money_get_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt11money_get_w@@GLIBCPP_3.2
-OBJECT:8:_ZSt11money_put_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt11money_put_w@@GLIBCPP_3.2
-OBJECT:8:_ZSt9codecvt_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt9codecvt_w@@GLIBCPP_3.2
-OBJECT:8:_ZSt9num_get_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt9num_get_w@@GLIBCPP_3.2
-OBJECT:8:_ZSt9num_put_c@@GLIBCPP_3.2
-OBJECT:8:_ZSt9num_put_w@@GLIBCPP_3.2
-OBJECT:8:_ZTIa@@GLIBCPP_3.2
-OBJECT:8:_ZTIb@@GLIBCPP_3.2
-OBJECT:8:_ZTIc@@GLIBCPP_3.2
-OBJECT:8:_ZTId@@GLIBCPP_3.2
-OBJECT:8:_ZTIe@@GLIBCPP_3.2
-OBJECT:8:_ZTIf@@GLIBCPP_3.2
-OBJECT:8:_ZTIh@@GLIBCPP_3.2
-OBJECT:8:_ZTIi@@GLIBCPP_3.2
-OBJECT:8:_ZTIj@@GLIBCPP_3.2
-OBJECT:8:_ZTIl@@GLIBCPP_3.2
-OBJECT:8:_ZTIm@@GLIBCPP_3.2
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:8:_ZTIs@@GLIBCPP_3.2
-OBJECT:8:_ZTISt10ctype_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt10money_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt10__num_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt13messages_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:8:_ZTISt8ios_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt9exception@@GLIBCPP_3.2
-OBJECT:8:_ZTISt9time_base@@GLIBCPP_3.2
-OBJECT:8:_ZTISt9type_info@@GLIBCPP_3.2
-OBJECT:8:_ZTIt@@GLIBCPP_3.2
-OBJECT:8:_ZTIv@@GLIBCPP_3.2
-OBJECT:8:_ZTIw@@GLIBCPP_3.2
-OBJECT:8:_ZTIx@@GLIBCPP_3.2
-OBJECT:8:_ZTIy@@GLIBCPP_3.2
-OBJECT:8:_ZTTSi@@GLIBCPP_3.2
-OBJECT:8:_ZTTSo@@GLIBCPP_3.2
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
diff --git a/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index eb729d3a2a0..00000000000
--- a/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3031 +0,0 @@
-FUNC:__cxa_allocate_exception@@CXXABI_1.2
-FUNC:__cxa_bad_cast@@CXXABI_1.2
-FUNC:__cxa_bad_typeid@@CXXABI_1.2
-FUNC:__cxa_begin_catch@@CXXABI_1.2
-FUNC:__cxa_call_unexpected@@CXXABI_1.2
-FUNC:__cxa_current_exception_type@@CXXABI_1.2
-FUNC:__cxa_demangle@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append@@CXXABI_1.2
-FUNC:__cxa_dyn_string_clear@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy@@CXXABI_1.2
-FUNC:__cxa_dyn_string_delete@@CXXABI_1.2
-FUNC:__cxa_dyn_string_eq@@CXXABI_1.2
-FUNC:__cxa_dyn_string_init@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert@@CXXABI_1.2
-FUNC:__cxa_dyn_string_new@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2
-FUNC:__cxa_dyn_string_release@@CXXABI_1.2
-FUNC:__cxa_dyn_string_resize@@CXXABI_1.2
-FUNC:__cxa_dyn_string_substring@@CXXABI_1.2
-FUNC:__cxa_end_catch@@CXXABI_1.2
-FUNC:__cxa_free_exception@@CXXABI_1.2
-FUNC:__cxa_get_globals@@CXXABI_1.2
-FUNC:__cxa_get_globals_fast@@CXXABI_1.2
-FUNC:__cxa_pure_virtual@@CXXABI_1.2
-FUNC:__cxa_rethrow@@CXXABI_1.2
-FUNC:__cxa_throw@@CXXABI_1.2
-FUNC:__cxa_vec_cctor@@CXXABI_1.2
-FUNC:__cxa_vec_cleanup@@CXXABI_1.2
-FUNC:__cxa_vec_ctor@@CXXABI_1.2
-FUNC:__cxa_vec_delete2@@CXXABI_1.2
-FUNC:__cxa_vec_delete3@@CXXABI_1.2
-FUNC:__cxa_vec_delete@@CXXABI_1.2
-FUNC:__cxa_vec_dtor@@CXXABI_1.2
-FUNC:__cxa_vec_new2@@CXXABI_1.2
-FUNC:__cxa_vec_new3@@CXXABI_1.2
-FUNC:__cxa_vec_new@@CXXABI_1.2
-FUNC:__dynamic_cast@@CXXABI_1.2
-FUNC:__gxx_personality_v0@@CXXABI_1.2
-FUNC:_ZdaPv@@GLIBCPP_3.2
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZdlPv@@GLIBCPP_3.2
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2
-FUNC:_Znam@@GLIBCPP_3.2
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2
-FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs2atEm@@GLIBCPP_3.2
-FUNC:_ZNKSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSsixEm@@GLIBCPP_3.2
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2
-FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2
-FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2
-FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2
-FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi3getERc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSi3getEv@@GLIBCPP_3.2
-FUNC:_ZNSi4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2
-FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSirsERb@@GLIBCPP_3.2
-FUNC:_ZNSirsERd@@GLIBCPP_3.2
-FUNC:_ZNSirsERe@@GLIBCPP_3.2
-FUNC:_ZNSirsERf@@GLIBCPP_3.2
-FUNC:_ZNSirsERi@@GLIBCPP_3.2
-FUNC:_ZNSirsERj@@GLIBCPP_3.2
-FUNC:_ZNSirsERl@@GLIBCPP_3.2
-FUNC:_ZNSirsERm@@GLIBCPP_3.2
-FUNC:_ZNSirsERPv@@GLIBCPP_3.2
-FUNC:_ZNSirsERs@@GLIBCPP_3.2
-FUNC:_ZNSirsERt@@GLIBCPP_3.2
-FUNC:_ZNSirsERx@@GLIBCPP_3.2
-FUNC:_ZNSirsERy@@GLIBCPP_3.2
-FUNC:_ZNSo3putEc@@GLIBCPP_3.2
-FUNC:_ZNSo5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSolsEb@@GLIBCPP_3.2
-FUNC:_ZNSolsEd@@GLIBCPP_3.2
-FUNC:_ZNSolsEe@@GLIBCPP_3.2
-FUNC:_ZNSolsEf@@GLIBCPP_3.2
-FUNC:_ZNSolsEi@@GLIBCPP_3.2
-FUNC:_ZNSolsEj@@GLIBCPP_3.2
-FUNC:_ZNSolsEl@@GLIBCPP_3.2
-FUNC:_ZNSolsEm@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSolsEs@@GLIBCPP_3.2
-FUNC:_ZNSolsEt@@GLIBCPP_3.2
-FUNC:_ZNSolsEx@@GLIBCPP_3.2
-FUNC:_ZNSolsEy@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2
-FUNC:_ZNSs2atEm@@GLIBCPP_3.2
-FUNC:_ZNSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2
-FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2
-FUNC:_ZNSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSs5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2
-FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2
-FUNC:_ZNSsaSEc@@GLIBCPP_3.2
-FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2
-FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsixEm@@GLIBCPP_3.2
-FUNC:_ZNSspLEc@@GLIBCPP_3.2
-FUNC:_ZNSspLEPKc@@GLIBCPP_3.2
-FUNC:_ZNSspLERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2
-FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2
-FUNC:_Znwm@@GLIBCPP_3.2
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9terminatev@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2
-OBJECT:0:CXXABI_1.2
-OBJECT:0:GLIBCPP_3.2
-OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:112:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:112:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:112:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:112:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSi@@GLIBCPP_3.2
-OBJECT:112:_ZTVSo@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt10istrstream@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt10ostrstream@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:112:_ZTVSt9type_info@@GLIBCPP_3.2
-OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2
-OBJECT:144:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:144:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:144:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:144:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:160:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:160:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:160:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:160:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:160:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:160:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:160:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:160:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:160:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:168:_ZTVSd@@GLIBCPP_3.2
-OBJECT:168:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:168:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:168:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:168:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:168:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:168:_ZTVSt9strstream@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZTIa@@GLIBCPP_3.2
-OBJECT:16:_ZTIb@@GLIBCPP_3.2
-OBJECT:16:_ZTIc@@GLIBCPP_3.2
-OBJECT:16:_ZTId@@GLIBCPP_3.2
-OBJECT:16:_ZTIe@@GLIBCPP_3.2
-OBJECT:16:_ZTIf@@GLIBCPP_3.2
-OBJECT:16:_ZTIh@@GLIBCPP_3.2
-OBJECT:16:_ZTIi@@GLIBCPP_3.2
-OBJECT:16:_ZTIj@@GLIBCPP_3.2
-OBJECT:16:_ZTIl@@GLIBCPP_3.2
-OBJECT:16:_ZTIm@@GLIBCPP_3.2
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:16:_ZTIs@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2
-OBJECT:16:_ZTIt@@GLIBCPP_3.2
-OBJECT:16:_ZTIv@@GLIBCPP_3.2
-OBJECT:16:_ZTIw@@GLIBCPP_3.2
-OBJECT:16:_ZTIx@@GLIBCPP_3.2
-OBJECT:16:_ZTIy@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2
-OBJECT:16:_ZTTSi@@GLIBCPP_3.2
-OBJECT:16:_ZTTSo@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:176:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:176:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:192:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2
-OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2
-OBJECT:224:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:224:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:240:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:240:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:240:_ZTVSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2
-OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2
-OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2
-OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2
-OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2
-OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2
-OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2
-OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2
-OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2
-OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2
-OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2
-OBJECT:256:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:256:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2
-OBJECT:272:_ZSt4clog@@GLIBCPP_3.2
-OBJECT:272:_ZSt4cout@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2
-OBJECT:280:_ZSt3cin@@GLIBCPP_3.2
-OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2
-OBJECT:2:_ZTSa@@GLIBCPP_3.2
-OBJECT:2:_ZTSb@@GLIBCPP_3.2
-OBJECT:2:_ZTSc@@GLIBCPP_3.2
-OBJECT:2:_ZTSd@@GLIBCPP_3.2
-OBJECT:2:_ZTSe@@GLIBCPP_3.2
-OBJECT:2:_ZTSf@@GLIBCPP_3.2
-OBJECT:2:_ZTSh@@GLIBCPP_3.2
-OBJECT:2:_ZTSi@@GLIBCPP_3.2
-OBJECT:2:_ZTSj@@GLIBCPP_3.2
-OBJECT:2:_ZTSl@@GLIBCPP_3.2
-OBJECT:2:_ZTSm@@GLIBCPP_3.2
-OBJECT:2:_ZTSs@@GLIBCPP_3.2
-OBJECT:2:_ZTSt@@GLIBCPP_3.2
-OBJECT:2:_ZTSv@@GLIBCPP_3.2
-OBJECT:2:_ZTSw@@GLIBCPP_3.2
-OBJECT:2:_ZTSx@@GLIBCPP_3.2
-OBJECT:2:_ZTSy@@GLIBCPP_3.2
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2
-OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2
-OBJECT:32:_ZTIPa@@GLIBCPP_3.2
-OBJECT:32:_ZTIPb@@GLIBCPP_3.2
-OBJECT:32:_ZTIPc@@GLIBCPP_3.2
-OBJECT:32:_ZTIPd@@GLIBCPP_3.2
-OBJECT:32:_ZTIPe@@GLIBCPP_3.2
-OBJECT:32:_ZTIPf@@GLIBCPP_3.2
-OBJECT:32:_ZTIPh@@GLIBCPP_3.2
-OBJECT:32:_ZTIPi@@GLIBCPP_3.2
-OBJECT:32:_ZTIPj@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKa@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKb@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKc@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKd@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKe@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKf@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKh@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKi@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKj@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKl@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKm@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKs@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKt@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKv@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKw@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKx@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKy@@GLIBCPP_3.2
-OBJECT:32:_ZTIPl@@GLIBCPP_3.2
-OBJECT:32:_ZTIPm@@GLIBCPP_3.2
-OBJECT:32:_ZTIPs@@GLIBCPP_3.2
-OBJECT:32:_ZTIPt@@GLIBCPP_3.2
-OBJECT:32:_ZTIPv@@GLIBCPP_3.2
-OBJECT:32:_ZTIPw@@GLIBCPP_3.2
-OBJECT:32:_ZTIPx@@GLIBCPP_3.2
-OBJECT:32:_ZTIPy@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:3:_ZTSPa@@GLIBCPP_3.2
-OBJECT:3:_ZTSPb@@GLIBCPP_3.2
-OBJECT:3:_ZTSPc@@GLIBCPP_3.2
-OBJECT:3:_ZTSPd@@GLIBCPP_3.2
-OBJECT:3:_ZTSPe@@GLIBCPP_3.2
-OBJECT:3:_ZTSPf@@GLIBCPP_3.2
-OBJECT:3:_ZTSPh@@GLIBCPP_3.2
-OBJECT:3:_ZTSPi@@GLIBCPP_3.2
-OBJECT:3:_ZTSPj@@GLIBCPP_3.2
-OBJECT:3:_ZTSPl@@GLIBCPP_3.2
-OBJECT:3:_ZTSPm@@GLIBCPP_3.2
-OBJECT:3:_ZTSPs@@GLIBCPP_3.2
-OBJECT:3:_ZTSPt@@GLIBCPP_3.2
-OBJECT:3:_ZTSPv@@GLIBCPP_3.2
-OBJECT:3:_ZTSPw@@GLIBCPP_3.2
-OBJECT:3:_ZTSPx@@GLIBCPP_3.2
-OBJECT:3:_ZTSPy@@GLIBCPP_3.2
-OBJECT:3:_ZTSSd@@GLIBCPP_3.2
-OBJECT:3:_ZTSSi@@GLIBCPP_3.2
-OBJECT:3:_ZTSSo@@GLIBCPP_3.2
-OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2
-OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2
-OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2
-OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2
-OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2
-OBJECT:48:_ZTVNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKa@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKb@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKc@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKd@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKe@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKf@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKh@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKi@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKj@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKl@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKm@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKs@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKt@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKv@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKw@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKx@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKy@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2
-OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2
-OBJECT:56:_ZTISi@@GLIBCPP_3.2
-OBJECT:56:_ZTISo@@GLIBCPP_3.2
-OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTTSd@@GLIBCPP_3.2
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt11logic_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt11range_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12domain_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12length_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt12out_of_range@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt13bad_exception@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt13runtime_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt14overflow_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt15underflow_error@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt8bad_cast@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt9exception@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2
-OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2
-OBJECT:72:_ZTISd@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt7collateIcE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt7collateIwE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt8messagesIwE@@GLIBCPP_3.2
diff --git a/libstdc++-v3/config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 15af15630db..00000000000
--- a/libstdc++-v3/config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3034 +0,0 @@
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2
-FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2
-FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2
-FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2
-FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs2atEm@@GLIBCPP_3.2
-FUNC:_ZNKSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2
-FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2
-FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2
-FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2
-FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2
-FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2
-FUNC:_ZNKSsixEm@@GLIBCPP_3.2
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2
-FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2
-FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2
-FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2
-FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2
-FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSdD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2
-FUNC:_ZNSi3getERc@@GLIBCPP_3.2
-FUNC:_ZNSi3getEv@@GLIBCPP_3.2
-FUNC:_ZNSi4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2
-FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2
-FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2
-FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2
-FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSiD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSirsERPv@@GLIBCPP_3.2
-FUNC:_ZNSirsERb@@GLIBCPP_3.2
-FUNC:_ZNSirsERd@@GLIBCPP_3.2
-FUNC:_ZNSirsERe@@GLIBCPP_3.2
-FUNC:_ZNSirsERf@@GLIBCPP_3.2
-FUNC:_ZNSirsERi@@GLIBCPP_3.2
-FUNC:_ZNSirsERj@@GLIBCPP_3.2
-FUNC:_ZNSirsERl@@GLIBCPP_3.2
-FUNC:_ZNSirsERm@@GLIBCPP_3.2
-FUNC:_ZNSirsERs@@GLIBCPP_3.2
-FUNC:_ZNSirsERt@@GLIBCPP_3.2
-FUNC:_ZNSirsERx@@GLIBCPP_3.2
-FUNC:_ZNSirsERy@@GLIBCPP_3.2
-FUNC:_ZNSo3putEc@@GLIBCPP_3.2
-FUNC:_ZNSo5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSoD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2
-FUNC:_ZNSolsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-FUNC:_ZNSolsEb@@GLIBCPP_3.2
-FUNC:_ZNSolsEd@@GLIBCPP_3.2
-FUNC:_ZNSolsEe@@GLIBCPP_3.2
-FUNC:_ZNSolsEf@@GLIBCPP_3.2
-FUNC:_ZNSolsEi@@GLIBCPP_3.2
-FUNC:_ZNSolsEj@@GLIBCPP_3.2
-FUNC:_ZNSolsEl@@GLIBCPP_3.2
-FUNC:_ZNSolsEm@@GLIBCPP_3.2
-FUNC:_ZNSolsEs@@GLIBCPP_3.2
-FUNC:_ZNSolsEt@@GLIBCPP_3.2
-FUNC:_ZNSolsEx@@GLIBCPP_3.2
-FUNC:_ZNSolsEy@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2
-FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2
-FUNC:_ZNSs2atEm@@GLIBCPP_3.2
-FUNC:_ZNSs3endEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2
-FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2
-FUNC:_ZNSs4rendEv@@GLIBCPP_3.2
-FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2
-FUNC:_ZNSs5beginEv@@GLIBCPP_3.2
-FUNC:_ZNSs5clearEv@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2
-FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2
-FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2
-FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2
-FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2
-FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2
-FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2
-FUNC:_ZNSsD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSsD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2
-FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2
-FUNC:_ZNSsaSEc@@GLIBCPP_3.2
-FUNC:_ZNSsixEm@@GLIBCPP_3.2
-FUNC:_ZNSspLEPKc@@GLIBCPP_3.2
-FUNC:_ZNSspLERKSs@@GLIBCPP_3.2
-FUNC:_ZNSspLEc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2
-FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2
-FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2
-FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2
-FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2
-FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9terminatev@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2
-FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2
-FUNC:_ZdaPv@@GLIBCPP_3.2
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_ZdlPv@@GLIBCPP_3.2
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_Znam@@GLIBCPP_3.2
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:_Znwm@@GLIBCPP_3.2
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2
-FUNC:__cxa_allocate_exception@@CXXABI_1.2
-FUNC:__cxa_bad_cast@@CXXABI_1.2
-FUNC:__cxa_bad_typeid@@CXXABI_1.2
-FUNC:__cxa_begin_catch@@CXXABI_1.2
-FUNC:__cxa_call_unexpected@@CXXABI_1.2
-FUNC:__cxa_current_exception_type@@CXXABI_1.2
-FUNC:__cxa_demangle@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_clear@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy@@CXXABI_1.2
-FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_delete@@CXXABI_1.2
-FUNC:__cxa_dyn_string_eq@@CXXABI_1.2
-FUNC:__cxa_dyn_string_init@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2
-FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_new@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2
-FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2
-FUNC:__cxa_dyn_string_release@@CXXABI_1.2
-FUNC:__cxa_dyn_string_resize@@CXXABI_1.2
-FUNC:__cxa_dyn_string_substring@@CXXABI_1.2
-FUNC:__cxa_end_catch@@CXXABI_1.2
-FUNC:__cxa_free_exception@@CXXABI_1.2
-FUNC:__cxa_get_globals@@CXXABI_1.2
-FUNC:__cxa_get_globals_fast@@CXXABI_1.2
-FUNC:__cxa_pure_virtual@@CXXABI_1.2
-FUNC:__cxa_rethrow@@CXXABI_1.2
-FUNC:__cxa_throw@@CXXABI_1.2
-FUNC:__cxa_vec_cctor@@CXXABI_1.2
-FUNC:__cxa_vec_cleanup@@CXXABI_1.2
-FUNC:__cxa_vec_ctor@@CXXABI_1.2
-FUNC:__cxa_vec_delete2@@CXXABI_1.2
-FUNC:__cxa_vec_delete3@@CXXABI_1.2
-FUNC:__cxa_vec_delete@@CXXABI_1.2
-FUNC:__cxa_vec_dtor@@CXXABI_1.2
-FUNC:__cxa_vec_new2@@CXXABI_1.2
-FUNC:__cxa_vec_new3@@CXXABI_1.2
-FUNC:__cxa_vec_new@@CXXABI_1.2
-FUNC:__dynamic_cast@@CXXABI_1.2
-FUNC:__gxx_personality_v0@@CXXABI_1.2
-OBJECT:0:CXXABI_1.2
-OBJECT:0:GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSd@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2
-OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2
-OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2
-OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2
-OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2
-OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2
-OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2
-OBJECT:16:_ZTIa@@GLIBCPP_3.2
-OBJECT:16:_ZTIb@@GLIBCPP_3.2
-OBJECT:16:_ZTIc@@GLIBCPP_3.2
-OBJECT:16:_ZTId@@GLIBCPP_3.2
-OBJECT:16:_ZTIe@@GLIBCPP_3.2
-OBJECT:16:_ZTIf@@GLIBCPP_3.2
-OBJECT:16:_ZTIh@@GLIBCPP_3.2
-OBJECT:16:_ZTIi@@GLIBCPP_3.2
-OBJECT:16:_ZTIj@@GLIBCPP_3.2
-OBJECT:16:_ZTIl@@GLIBCPP_3.2
-OBJECT:16:_ZTIm@@GLIBCPP_3.2
-OBJECT:16:_ZTIs@@GLIBCPP_3.2
-OBJECT:16:_ZTIt@@GLIBCPP_3.2
-OBJECT:16:_ZTIv@@GLIBCPP_3.2
-OBJECT:16:_ZTIw@@GLIBCPP_3.2
-OBJECT:16:_ZTIx@@GLIBCPP_3.2
-OBJECT:16:_ZTIy@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2
-OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2
-OBJECT:16:_ZTTSi@@GLIBCPP_3.2
-OBJECT:16:_ZTTSo@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2
-OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2
-OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2
-OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2
-OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2
-OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2
-OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2
-OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2
-OBJECT:24:_ZSt9codecvt_c@@GLIBCPP_3.2
-OBJECT:24:_ZSt9codecvt_w@@GLIBCPP_3.2
-OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2
-OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2
-OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2
-OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2
-OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2
-OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2
-OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2
-OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2
-OBJECT:272:_ZSt4clog@@GLIBCPP_3.2
-OBJECT:272:_ZSt4cout@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2
-OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2
-OBJECT:280:_ZSt3cin@@GLIBCPP_3.2
-OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2
-OBJECT:2:_ZTSa@@GLIBCPP_3.2
-OBJECT:2:_ZTSb@@GLIBCPP_3.2
-OBJECT:2:_ZTSc@@GLIBCPP_3.2
-OBJECT:2:_ZTSd@@GLIBCPP_3.2
-OBJECT:2:_ZTSe@@GLIBCPP_3.2
-OBJECT:2:_ZTSf@@GLIBCPP_3.2
-OBJECT:2:_ZTSh@@GLIBCPP_3.2
-OBJECT:2:_ZTSi@@GLIBCPP_3.2
-OBJECT:2:_ZTSj@@GLIBCPP_3.2
-OBJECT:2:_ZTSl@@GLIBCPP_3.2
-OBJECT:2:_ZTSm@@GLIBCPP_3.2
-OBJECT:2:_ZTSs@@GLIBCPP_3.2
-OBJECT:2:_ZTSt@@GLIBCPP_3.2
-OBJECT:2:_ZTSv@@GLIBCPP_3.2
-OBJECT:2:_ZTSw@@GLIBCPP_3.2
-OBJECT:2:_ZTSx@@GLIBCPP_3.2
-OBJECT:2:_ZTSy@@GLIBCPP_3.2
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2
-OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2
-OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKa@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKb@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKc@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKd@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKe@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKf@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKh@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKi@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKj@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKl@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKm@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKs@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKt@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKv@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKw@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKx@@GLIBCPP_3.2
-OBJECT:32:_ZTIPKy@@GLIBCPP_3.2
-OBJECT:32:_ZTIPa@@GLIBCPP_3.2
-OBJECT:32:_ZTIPb@@GLIBCPP_3.2
-OBJECT:32:_ZTIPc@@GLIBCPP_3.2
-OBJECT:32:_ZTIPd@@GLIBCPP_3.2
-OBJECT:32:_ZTIPe@@GLIBCPP_3.2
-OBJECT:32:_ZTIPf@@GLIBCPP_3.2
-OBJECT:32:_ZTIPh@@GLIBCPP_3.2
-OBJECT:32:_ZTIPi@@GLIBCPP_3.2
-OBJECT:32:_ZTIPj@@GLIBCPP_3.2
-OBJECT:32:_ZTIPl@@GLIBCPP_3.2
-OBJECT:32:_ZTIPm@@GLIBCPP_3.2
-OBJECT:32:_ZTIPs@@GLIBCPP_3.2
-OBJECT:32:_ZTIPt@@GLIBCPP_3.2
-OBJECT:32:_ZTIPv@@GLIBCPP_3.2
-OBJECT:32:_ZTIPw@@GLIBCPP_3.2
-OBJECT:32:_ZTIPx@@GLIBCPP_3.2
-OBJECT:32:_ZTIPy@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:3:_ZTSPa@@GLIBCPP_3.2
-OBJECT:3:_ZTSPb@@GLIBCPP_3.2
-OBJECT:3:_ZTSPc@@GLIBCPP_3.2
-OBJECT:3:_ZTSPd@@GLIBCPP_3.2
-OBJECT:3:_ZTSPe@@GLIBCPP_3.2
-OBJECT:3:_ZTSPf@@GLIBCPP_3.2
-OBJECT:3:_ZTSPh@@GLIBCPP_3.2
-OBJECT:3:_ZTSPi@@GLIBCPP_3.2
-OBJECT:3:_ZTSPj@@GLIBCPP_3.2
-OBJECT:3:_ZTSPl@@GLIBCPP_3.2
-OBJECT:3:_ZTSPm@@GLIBCPP_3.2
-OBJECT:3:_ZTSPs@@GLIBCPP_3.2
-OBJECT:3:_ZTSPt@@GLIBCPP_3.2
-OBJECT:3:_ZTSPv@@GLIBCPP_3.2
-OBJECT:3:_ZTSPw@@GLIBCPP_3.2
-OBJECT:3:_ZTSPx@@GLIBCPP_3.2
-OBJECT:3:_ZTSPy@@GLIBCPP_3.2
-OBJECT:3:_ZTSSd@@GLIBCPP_3.2
-OBJECT:3:_ZTSSi@@GLIBCPP_3.2
-OBJECT:3:_ZTSSo@@GLIBCPP_3.2
-OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2
-OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2
-OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2
-OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2
-OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2
-OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKa@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKb@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKc@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKd@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKe@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKf@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKh@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKi@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKj@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKl@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKm@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKs@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKt@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKv@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKw@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKx@@GLIBCPP_3.2
-OBJECT:4:_ZTSPKy@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2
-OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2
-OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2
-OBJECT:56:_ZTISi@@GLIBCPP_3.2
-OBJECT:56:_ZTISo@@GLIBCPP_3.2
-OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTTSd@@GLIBCPP_3.2
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2
-OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2
-OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2
-OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2
-OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2
-OBJECT:72:_ZTISd@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2
-OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2
-OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2
-OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSi@@GLIBCPP_3.2
-OBJECT:80:_ZTVSo@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
-OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2
-OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2
-OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2
-OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2
-OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2
diff --git a/libstdc++-v3/config/cpu/generic/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity.h
index 2cf6c3ced68..829a77c52cb 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: Generic version -*- C++ -*-
-// Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -32,24 +32,35 @@
#include <bits/gthr.h>
+#define _GLIBCPP_NEED_GENERIC_MUTEX
+
typedef int _Atomic_word;
namespace __gnu_cxx
{
- __gthread_mutex_t _Atomic_add_mutex __attribute__ ((__weak__))
- = __GTHREAD_MUTEX_INIT;
+ extern __gthread_mutex_t _Atomic_add_mutex;
+
+#ifndef __GTHREAD_MUTEX_INIT
+ extern __gthread_once_t _Atomic_add_mutex_once;
+ extern void __gthread_atomic_add_mutex_once();
+#endif
}
static inline _Atomic_word
__attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word* __mem, int __val)
{
- _Atomic_word __result;
+#ifndef __GTHREAD_MUTEX_INIT
+ __gthread_once (&__gnu_cxx::_Atomic_add_mutex_once,
+ __gnu_cxx::__gthread_atomic_add_mutex_once);
+#endif
+
+ _Atomic_word __result;
- __gthread_mutex_lock (&__gnu_cxx::_Atomic_add_mutex);
+ __gthread_mutex_lock (&__gnu_cxx::_Atomic_add_mutex);
- __result = *__mem;
- *__mem += __val;
+ __result = *__mem;
+ *__mem += __val;
__gthread_mutex_unlock (&__gnu_cxx::_Atomic_add_mutex);
return __result;
diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h
index eefb32d4a8e..d99ac34d0b3 100644
--- a/libstdc++-v3/config/cpu/hppa/atomicity.h
+++ b/libstdc++-v3/config/cpu/hppa/atomicity.h
@@ -25,11 +25,12 @@ typedef int _Atomic_word;
template <int __inst>
struct __Atomicity_lock
{
- static volatile int __attribute__ ((aligned (16))) _S_atomicity_lock;
+ static volatile int _S_atomicity_lock;
};
template <int __inst>
-volatile int __Atomicity_lock<__inst>::_S_atomicity_lock = 1;
+volatile int
+__Atomicity_lock<__inst>::_S_atomicity_lock __attribute__ ((aligned (16))) = 1;
/* Because of the lack of weak support when using the hpux
som linker, we explicitly instantiate the atomicity lock
@@ -58,8 +59,9 @@ __exchange_and_add (volatile _Atomic_word* __mem, int __val)
result = *__mem;
*__mem = result + __val;
- __asm__ __volatile__("");
- lock = tmp;
+ /* Reset lock with PA 2.0 "ordered" store. */
+ __asm__ __volatile__ ("stw,ma %1,0(%0)"
+ : : "r" (&lock), "r" (tmp) : "memory");
return result;
}
@@ -80,8 +82,9 @@ __atomic_add (_Atomic_word* __mem, int __val)
: "r" (&lock));
*__mem += __val;
- __asm__ __volatile__("");
- lock = tmp;
+ /* Reset lock with PA 2.0 "ordered" store. */
+ __asm__ __volatile__ ("stw,ma %1,0(%0)"
+ : : "r" (&lock), "r" (tmp) : "memory");
}
#endif
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
new file mode 100644
index 00000000000..d619dbb99ce
--- /dev/null
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -0,0 +1,75 @@
+// Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*-
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _BITS_ATOMICITY_H
+#define _BITS_ATOMICITY_H 1
+
+typedef int _Atomic_word;
+
+template <int __inst>
+struct __Atomicity_lock
+{
+ static volatile _Atomic_word _S_atomicity_lock;
+};
+
+template <int __inst>
+volatile _Atomic_word __Atomicity_lock<__inst>::_S_atomicity_lock = 0;
+
+template volatile _Atomic_word __Atomicity_lock<0>::_S_atomicity_lock;
+
+static inline _Atomic_word
+__attribute__ ((__unused__))
+__exchange_and_add (volatile _Atomic_word *__mem, int __val)
+{
+ register _Atomic_word __result, __tmp = 1;
+
+ /* obtain the atomic exchange/add spin lock */
+ do {
+ __asm__ __volatile__ ("xchg{l} {%0,%1|%1,%0}"
+ : "+m" (__Atomicity_lock<0>::_S_atomicity_lock),
+ "+r" (__tmp));
+ } while (__tmp);
+
+ __result = *__mem;
+ *__mem += __val;
+
+ /* release spin lock */
+ __Atomicity_lock<0>::_S_atomicity_lock = 0;
+
+ return __result;
+}
+
+static inline void
+__attribute__ ((__unused__))
+__atomic_add (volatile _Atomic_word* __mem, int __val)
+{
+ __exchange_and_add (__mem, __val);
+}
+
+#endif /* atomicity.h */
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index 92f5011c3a1..7c65fab678e 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -37,9 +37,9 @@ __attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
register _Atomic_word __result;
- __asm__ __volatile__ ("lock; xaddl %0,%2"
- : "=r" (__result)
- : "0" (__val), "m" (*__mem)
+ __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}"
+ : "=r" (__result), "+m" (*__mem)
+ : "0" (__val)
: "memory");
return __result;
}
@@ -48,8 +48,8 @@ static inline void
__attribute__ ((__unused__))
__atomic_add (volatile _Atomic_word* __mem, int __val)
{
- __asm__ __volatile__ ("lock; addl %0,%1"
- : : "ir" (__val), "m" (*__mem) : "memory");
+ __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}"
+ : "+m" (*__mem) : "ir" (__val) : "memory");
}
#endif /* atomicity.h */
diff --git a/libstdc++-v3/config/cpu/mips/atomicity.h b/libstdc++-v3/config/cpu/mips/atomicity.h
index 447355b7a6d..7bacabd00ae 100644
--- a/libstdc++-v3/config/cpu/mips/atomicity.h
+++ b/libstdc++-v3/config/cpu/mips/atomicity.h
@@ -33,7 +33,7 @@
typedef int _Atomic_word;
static inline int
-__attribute__ ((unused))
+__attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
int __result, __tmp;
@@ -57,7 +57,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val)
}
static inline void
-__attribute__ ((unused))
+__attribute__ ((__unused__))
__atomic_add (volatile _Atomic_word *__mem, int __val)
{
int __result;
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index ff23d983ae8..5393a1487a6 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -33,6 +33,30 @@
#include <bits/basic_file.h>
#include <fcntl.h>
+#include <unistd.h>
+
+#ifdef _GLIBCPP_HAVE_SYS_IOCTL_H
+#define BSD_COMP /* Get FIONREAD on Solaris2. */
+#include <sys/ioctl.h>
+#endif
+
+// Pick up FIONREAD on Solaris 2.5.
+#ifdef _GLIBCPP_HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+#ifdef _GLIBCPP_HAVE_POLL
+#include <poll.h>
+#endif
+
+#if defined(_GLIBCPP_HAVE_S_ISREG) || defined(_GLIBCPP_HAVE_S_IFREG)
+# include <sys/stat.h>
+# ifdef _GLIBCPP_HAVE_S_ISREG
+# define _GLIBCPP_ISREG(x) S_ISREG(x)
+# else
+# define _GLIBCPP_ISREG(x) (((x) & S_IFMT) == S_IFREG)
+# endif
+#endif
namespace std
{
@@ -74,7 +98,7 @@ namespace std
if (__testi && !__testo && !__testt && !__testa)
{
strcpy(__c_mode, "r");
- __p_mode |= O_RDONLY | O_NONBLOCK;
+ __p_mode |= O_RDONLY;
}
if (__testi && __testo && !__testt && !__testa)
{
@@ -150,11 +174,6 @@ namespace std
if ((_M_cfile = fopen(__name, __c_mode)))
{
_M_cfile_created = true;
-
- // Set input to nonblocking for fifos.
- if (__mode & ios_base::in)
- fcntl(this->fd(), F_SETFL, O_NONBLOCK);
-
__ret = this;
}
}
@@ -175,12 +194,12 @@ namespace std
__basic_file* __retval = static_cast<__basic_file*>(NULL);
if (this->is_open())
{
- fflush(_M_cfile);
- if ((_M_cfile_created && fclose(_M_cfile) == 0) || !_M_cfile_created)
- {
- _M_cfile = 0;
- __retval = this;
- }
+ if (_M_cfile_created)
+ fclose(_M_cfile);
+ else
+ fflush(_M_cfile);
+ _M_cfile = 0;
+ __retval = this;
}
return __retval;
}
@@ -197,18 +216,54 @@ namespace std
__basic_file<char>::seekoff(streamoff __off, ios_base::seekdir __way,
ios_base::openmode /*__mode*/)
{
- fseek(_M_cfile, __off, __way);
- return ftell(_M_cfile);
+ if (!fseek(_M_cfile, __off, __way))
+ return ftell(_M_cfile);
+ else
+ // Fseek failed.
+ return -1L;
}
streamoff
__basic_file<char>::seekpos(streamoff __pos, ios_base::openmode /*__mode*/)
{
- fseek(_M_cfile, __pos, ios_base::beg);
- return ftell(_M_cfile);
+ if (!fseek(_M_cfile, __pos, ios_base::beg))
+ return ftell(_M_cfile);
+ else
+ // Fseek failed.
+ return -1L;
}
int
__basic_file<char>::sync()
{ return fflush(_M_cfile); }
+
+ streamsize
+ __basic_file<char>::showmanyc_helper()
+ {
+#ifdef FIONREAD
+ // Pipes and sockets.
+ int __num = 0;
+ int __r = ioctl(this->fd(), FIONREAD, &__num);
+ if (!__r && __num >= 0)
+ return __num;
+#endif
+
+#ifdef _GLIBCPP_HAVE_POLL
+ // Cheap test.
+ struct pollfd __pfd[1];
+ __pfd[0].fd = this->fd();
+ __pfd[0].events = POLLIN;
+ if (poll(__pfd, 1, 0) <= 0)
+ return 0;
+#endif
+
+#if defined(_GLIBCPP_HAVE_S_ISREG) || defined(_GLIBCPP_HAVE_S_IFREG)
+ // Regular files.
+ struct stat __buffer;
+ int __ret = fstat(this->fd(), &__buffer);
+ if (!__ret && _GLIBCPP_ISREG(__buffer.st_mode))
+ return __buffer.st_size - ftell(_M_cfile);
+#endif
+ return 0;
+ }
} // namespace std
diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h
index fe6edbb7058..cefd38f1a0d 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.h
+++ b/libstdc++-v3/config/io/basic_file_stdio.h
@@ -108,6 +108,9 @@ namespace std
int
sync();
+
+ streamsize
+ showmanyc_helper();
};
} // namespace std
diff --git a/libstdc++-v3/config/linker-map.gnu b/libstdc++-v3/config/linker-map.gnu
index 050376cba93..301867f4876 100644
--- a/libstdc++-v3/config/linker-map.gnu
+++ b/libstdc++-v3/config/linker-map.gnu
@@ -1,6 +1,6 @@
## Linker script for GNU ld 2.11.94+ only.
##
-## Copyright (C) 2002 Free Software Foundation, Inc.
+## Copyright (C) 2002, 2003 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
##
@@ -30,7 +30,12 @@ GLIBCPP_3.2 {
{
std::[A-Za]*;
std::ba[a-r]*;
- std::basic_[a-r]*;
+ std::basic_[a-h]*;
+ std::basic_ifstream*;
+ std::basic_istringstream*;
+ std::basic_istream*;
+ std::basic_iostream*;
+ std::basic_[j-r]*;
std::basic_streambuf*;
std::basic_stringbuf*;
std::basic_stringstream*;
@@ -50,24 +55,79 @@ GLIBCPP_3.2 {
std::[A-Zd-k]*;
std::length_error*;
std::logic_error*;
- std::locale::[A-Za-z]*;
+ std::locale::[A-Za-e]*;
+ std::locale::facet::[A-Za-z]*;
+ std::locale::facet::_M*;
+ std::locale::facet::_S_c_locale;
+ std::locale::facet::_S_clone_c_locale*;
+ std::locale::facet::_S_create_c_locale*;
+ std::locale::facet::_S_destroy_c_locale*;
+ std::locale::[A-Zg-z]*;
std::locale::_[A-Ra-z]*;
std::locale::_S_classic;
std::locale::_S_global;
std::locale::_S_num_categories;
std::locale::_S_normalize_category*;
std::locale::_[T-Za-z]*;
- std::[A-Zm-z]*;
+ std::[A-Zm]*;
+ std::n[a-t]*;
+ std::num_put_[cw];
+ std::numeric*;
+ std::numpunct*;
+ std::num_get*;
+ std::num_get_[cw];
+ std::n[v-z]*;
+ std::ostrstream*;
+ std::overflow_error*;
+ std::out_of_range*;
+ std::[A-Zp-z]*;
std::__throw_*;
- std::__basic_file*;
- std::__num_base*;
- std::__timepunct*;
std::__numeric_limits_base*;
+ std::__timepunct*;
std::_S_bit_count;
std::_S_first_one
};
# Names not in an 'extern' block are mangled names.
+ _ZSt7getline*;
+ _ZStrs*;
+ _ZNSo*;
+ _ZNKSt9basic_ios*;
+ _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE15_M_cache_facetsERKSt6locale;
+ _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[A-Z]*;
+ _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[0-9][A-Za-z]*;
+ _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[0-9][0-9][A-Za-z]*;
+
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC*;
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED*;
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC*;
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED*;
+
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE6do_put*;
+
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE3put*;
+ _ZNSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE2idE;
+
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intI[lmxy]EES3_S3_RSt8ios_basecccT_;
+
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intI[lmxy]EES3_S3_RSt8ios_basewccT_;
+
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatI[de]EES3_S3_RSt8ios_baseccT_;
+
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatI[de]EES3_S3_RSt8ios_basewcT_;
+
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE12_M_widen_int*;
+
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE14_M_widen_float*;
+
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE9_M_insert*;
+
+ _ZSt9use_facetISt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEEERKT_RKSt6locale;
+
+ # __num_base
+ _ZNSt10__num_base13_S_format_intERKSt8ios_basePccc;
+ _ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc[il];
+ _ZNSt10__num_base8_S_atomsE;
# std::string minus binary operator plus
_ZNKSs*;
@@ -97,8 +157,28 @@ GLIBCPP_3.2 {
_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_;
_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_;
+ # std::__basic_file minus showmanyc_helper
+ _ZNSt12__basic_fileIcED*;
+ _ZNSt12__basic_fileIcEC*;
+ _ZNSt12__basic_fileIcE8sys_open*;
+ _ZNSt12__basic_fileIcE8sys_getc*;
+ _ZNSt12__basic_fileIcE10sys_ungetc*;
+ _ZNSt12__basic_fileIcE7seekpos*;
+ _ZNSt12__basic_fileIcE7seekoff*;
+ _ZNSt12__basic_fileIcE6xsputn*;
+ _ZNSt12__basic_fileIcE6xsgetn*;
+ _ZNSt12__basic_fileIcE5close*;
+ _ZNSt12__basic_fileIcE4sync*;
+ _ZNSt12__basic_fileIcE4open*;
+ _ZNSt12__basic_fileIcE2fd*;
+ _ZNSt12__basic_fileIcE12_M_open_modeE*;
+ _ZNKSt12__basic_fileIcE7is_open*;
+
# std::locale destructors
_ZNSt6localeD*;
+
+ # std::locale::facet destructors
+ _ZNSt6locale5facetD*;
# std::codecvt<char> members.
_ZNKSt7codecvtIcc11__mbstate_tE*;
@@ -171,12 +251,53 @@ GLIBCPP_3.2 {
_ZdaPvRKSt9nothrow_t;
# vtable
- _ZTV*;
- _ZTT*;
+ _ZTVS[a-z];
+ _ZTVSt[0-9][A-Za-z]*;
+ _ZTVSt[0-9][0-9][A-Za-z]*;
+ _ZTTS[a-z];
+ _ZTTSt[0-9][A-Za-z]*;
+ _ZTTSt[0-9][0-9][A-Za-z]*;
+ _ZTVN9__gnu_cxx*;
+ _ZTVNSt6locale5facetE;
+ _ZTVSt11__timepunctI[cw]E;
+ _ZTVNSt8ios_base7failureE;
+ _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
+ _ZTVSt21__ctype_abstract_baseI[cw]E;
+
+ # XXX
+ _ZTVN10__cxxabi*;
# typeinfo
- _ZTI*;
- _ZTS*;
+ _ZTI[a-z];
+ _ZTIP[a-z];
+ _ZTIPK[a-z];
+ _ZTIS[a-z];
+ _ZTISt[0-9][A-Za-z]*;
+ _ZTISt[0-9][0-9][A-Za-z]*;
+ _ZTS[a-z];
+ _ZTSS[a-z];
+ _ZTSP[a-z];
+ _ZTSPK[a-z];
+ _ZTSSt[0-9][A-Za-z]*;
+ _ZTSSt[0-9][0-9][A-Za-z]*;
+ _ZTSN9__gnu_cxx*;
+ _ZTIN9__gnu_cxx*;
+ _ZTINSt8ios_base7failureE;
+ _ZTSNSt8ios_base7failureE;
+ _ZTINSt6locale5facetE;
+ _ZTSNSt6locale5facetE;
+ _ZTISt11__timepunctI[cw]E;
+ _ZTSSt11__timepunctI[cw]E;
+ _ZTSSt10__num_base;
+ _ZTISt10__num_base;
+ _ZTSSt21__ctype_abstract_baseI[cw]E;
+ _ZTISt21__ctype_abstract_baseI[cw]E;
+ _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
+ _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
+
+ # XXX
+ _ZTIN10__cxxabi*;
+ _ZTSN10__cxxabi*;
# function-scope static objects requires a guard variable.
_ZGV*;
@@ -204,8 +325,6 @@ GLIBCPP_3.2.1 {
_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_;
_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_;
- _ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE;
-
# stub functions from libmath
sinf;
sinl;
@@ -242,6 +361,41 @@ GLIBCPP_3.2.1 {
} GLIBCPP_3.2;
+GLIBCPP_3.2.2 {
+
+ _ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE;
+
+} GLIBCPP_3.2.1;
+
+GLIBCPP_3.2.3 {
+
+ global:
+
+ extern "C++"
+ {
+ # Needed only when generic cpu's atomicity.h is in use.
+ __gnu_cxx::_Atomic_add_mutex;
+ __gnu_cxx::_Atomic_add_mutex_once;
+ __gnu_cxx::__gthread_atomic_add_mutex_once;
+
+ std::__num_base::_S_atoms_in;
+ std::__num_base::_S_atoms_out
+ };
+
+ _ZNKSt7num_putI[wc]St19ostreambuf_iteratorI[wc]St11char_traitsI[wc]EEE6_M_pad*;
+
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE14_M_convert_intI[yxml]EES3_S3_RSt8ios_base[cw]T_;
+
+ _ZNKSt7num_putI[wc]St19ostreambuf_iteratorI[wc]St11char_traitsI[wc]EEE14_M_group_float*;
+
+ _ZNKSt7num_putI[wc]St19ostreambuf_iteratorI[wc]St11char_traitsI[wc]EEE12_M_group_int*;
+
+ # __basic_file::showmanyc_helper
+ _ZNSt12__basic_fileIcE16showmanyc_helperEv;
+
+} GLIBCPP_3.2.2;
+
+
# Symbols in the support library (libsupc++) have their own tag.
CXXABI_1.2 {
@@ -253,24 +407,6 @@ CXXABI_1.2 {
__cxa_call_unexpected;
__cxa_current_exception_type;
__cxa_demangle;
- __cxa_dyn_string_append_char;
- __cxa_dyn_string_append_cstr;
- __cxa_dyn_string_append;
- __cxa_dyn_string_clear;
- __cxa_dyn_string_copy_cstr;
- __cxa_dyn_string_copy;
- __cxa_dyn_string_delete;
- __cxa_dyn_string_eq;
- __cxa_dyn_string_init;
- __cxa_dyn_string_insert_char;
- __cxa_dyn_string_insert_cstr;
- __cxa_dyn_string_insert;
- __cxa_dyn_string_new;
- __cxa_dyn_string_prepend_cstr;
- __cxa_dyn_string_prepend;
- __cxa_dyn_string_release;
- __cxa_dyn_string_resize;
- __cxa_dyn_string_substring;
__cxa_end_catch;
__cxa_free_exception;
__cxa_get_globals;
@@ -295,6 +431,26 @@ CXXABI_1.2 {
# __gnu_cxx::_verbose_terminate_handler()
_ZN9__gnu_cxx27__verbose_terminate_handlerEv;
+ # XXX Should not be exported.
+ __cxa_dyn_string_append_char;
+ __cxa_dyn_string_append_cstr;
+ __cxa_dyn_string_append;
+ __cxa_dyn_string_clear;
+ __cxa_dyn_string_copy_cstr;
+ __cxa_dyn_string_copy;
+ __cxa_dyn_string_delete;
+ __cxa_dyn_string_eq;
+ __cxa_dyn_string_init;
+ __cxa_dyn_string_insert_char;
+ __cxa_dyn_string_insert_cstr;
+ __cxa_dyn_string_insert;
+ __cxa_dyn_string_new;
+ __cxa_dyn_string_prepend_cstr;
+ __cxa_dyn_string_prepend;
+ __cxa_dyn_string_release;
+ __cxa_dyn_string_resize;
+ __cxa_dyn_string_substring;
+
local:
*;
};
@@ -306,4 +462,4 @@ CXXABI_1.2.1 {
__cxa_guard_release;
__cxa_guard_abort;
-} CXXABI_1.2; \ No newline at end of file
+} CXXABI_1.2;
diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
index 9627d8646af..1f2accb1c29 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.h
+++ b/libstdc++-v3/config/locale/generic/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,6 +33,11 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
+#ifndef _CPP_BITS_C_LOCALE_H
+#define _CPP_BITS_C_LOCALE_H 1
+
+#pragma GCC system_header
+
#include <clocale>
#define _GLIBCPP_NUM_CATEGORIES 0
@@ -41,9 +46,15 @@ namespace std
{
typedef int* __c_locale;
+ // Convert numeric value of type _Tv to string and return length of
+ // string. If snprintf is available use it, otherwise fall back to
+ // the unsafe sprintf which, in general, can be dangerous and should
+ // be avoided.
template<typename _Tv>
int
- __convert_from_v(char* __out, const int __size, const char* __fmt,
+ __convert_from_v(char* __out,
+ const int __attribute__ ((__unused__)) __size,
+ const char* __fmt,
_Tv __v, const __c_locale&, int __prec = -1)
{
char* __old = setlocale(LC_ALL, NULL);
@@ -69,3 +80,5 @@ namespace std
return __ret;
}
}
+
+#endif
diff --git a/libstdc++-v3/config/locale/generic/codecvt_members.cc b/libstdc++-v3/config/locale/generic/codecvt_members.cc
index 814b8a2874d..ff65dffa1e9 100644
--- a/libstdc++-v3/config/locale/generic/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/generic/codecvt_members.cc
@@ -34,7 +34,6 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
namespace std
{
diff --git a/libstdc++-v3/config/locale/generic/messages_members.h b/libstdc++-v3/config/locale/generic/messages_members.h
index 62dd24d6838..c1c8e4d1ac5 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.h
+++ b/libstdc++-v3/config/locale/generic/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,6 +35,16 @@
// Non-virtual member functions.
template<typename _CharT>
+ messages<_CharT>::messages(size_t __refs)
+ : locale::facet(__refs)
+ { _M_c_locale_messages = _S_c_locale; }
+
+ template<typename _CharT>
+ messages<_CharT>::messages(__c_locale, const char*, size_t __refs)
+ : locale::facet(__refs)
+ { _M_c_locale_messages = _S_c_locale; }
+
+ template<typename _CharT>
typename messages<_CharT>::catalog
messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
const char*) const
@@ -42,6 +52,10 @@
// Virtual member functions.
template<typename _CharT>
+ messages<_CharT>::~messages()
+ { _S_destroy_c_locale(_M_c_locale_messages); }
+
+ template<typename _CharT>
typename messages<_CharT>::catalog
messages<_CharT>::do_open(const basic_string<char>&, const locale&) const
{ return 0; }
@@ -56,3 +70,12 @@
void
messages<_CharT>::do_close(catalog) const
{ }
+
+ // messages_byname
+ template<typename _CharT>
+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
+ : messages<_CharT>(__refs)
+ {
+ _S_destroy_c_locale(_M_c_locale_messages);
+ _S_create_c_locale(_M_c_locale_messages, __s);
+ }
diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc
index 8d5226b0b2e..df43f03a53d 100644
--- a/libstdc++-v3/config/locale/generic/time_members.cc
+++ b/libstdc++-v3/config/locale/generic/time_members.cc
@@ -1,4 +1,4 @@
-// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
+// std::time_get, std::time_put implementation, generic version -*- C++ -*-
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/config/locale/generic/time_members.h b/libstdc++-v3/config/locale/generic/time_members.h
new file mode 100644
index 00000000000..03c31d1797e
--- /dev/null
+++ b/libstdc++-v3/config/locale/generic/time_members.h
@@ -0,0 +1,61 @@
+// std::time_get, std::time_put implementation, generic version -*- C++ -*-
+
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
+//
+
+// Written by Benjamin Kosnik <bkoz@redhat.com>
+
+ template<typename _CharT>
+ __timepunct<_CharT>::__timepunct(size_t __refs)
+ : locale::facet(__refs)
+ {
+ _M_name_timepunct = _S_c_name;
+ _M_initialize_timepunct();
+ }
+
+ template<typename _CharT>
+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
+ size_t __refs)
+ : locale::facet(__refs)
+ {
+ _M_name_timepunct = new char[strlen(__s) + 1];
+ strcpy(_M_name_timepunct, __s);
+ _M_initialize_timepunct(__cloc);
+ }
+
+ template<typename _CharT>
+ __timepunct<_CharT>::~__timepunct()
+ {
+ if (_S_c_name != _M_name_timepunct)
+ delete [] _M_name_timepunct;
+ _S_destroy_c_locale(_M_c_locale_timepunct);
+ }
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc
index 19f98fc98a0..065e10aa2e1 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.cc
+++ b/libstdc++-v3/config/locale/gnu/c_locale.cc
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -36,7 +36,7 @@
#include <locale>
#include <stdexcept>
#include <langinfo.h>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h
index 130b843d7f9..37df3fa3a3a 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.h
+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,6 +33,11 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
+#ifndef _CPP_BITS_C_LOCALE_H
+#define _CPP_BITS_C_LOCALE_H 1
+
+#pragma GCC system_header
+
#include <clocale>
#include <langinfo.h> // For codecvt
#include <iconv.h> // For codecvt using iconv, iconv_t
@@ -53,6 +58,10 @@ namespace std
{
typedef __locale_t __c_locale;
+ // Convert numeric value of type _Tv to string and return length of
+ // string. If snprintf is available use it, otherwise fall back to
+ // the unsafe sprintf which, in general, can be dangerous and should
+ // be avoided.
template<typename _Tv>
int
__convert_from_v(char* __out, const int __size, const char* __fmt,
@@ -92,3 +101,5 @@ namespace std
return __ret;
}
}
+
+#endif
diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
index aa855a6a1f2..c3d3e34935c 100644
--- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
@@ -1,6 +1,6 @@
// std::codecvt implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
@@ -50,7 +50,7 @@ namespace std
result __ret = error;
size_t __len = min(__from_end - __from, __to_end - __to);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
+ __c_locale __old = __uselocale(_S_c_locale);
#endif
size_t __conv = wcsrtombs(__to, &__from, __len, &__state);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
@@ -85,7 +85,7 @@ namespace std
result __ret = error;
size_t __len = min(__from_end - __from, __to_end - __to);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
+ __c_locale __old = __uselocale(_S_c_locale);
#endif
size_t __conv = mbsrtowcs(__to, &__from, __len, &__state);
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc
index 97ff0c557b0..1ac209467d8 100644
--- a/libstdc++-v3/config/locale/gnu/collate_members.cc
+++ b/libstdc++-v3/config/locale/gnu/collate_members.cc
@@ -34,7 +34,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index 3b78c60405a..e0be949f2cc 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -34,7 +34,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.cc b/libstdc++-v3/config/locale/gnu/messages_members.cc
index 54a3c8fa9f6..fad01dfabfc 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.cc
+++ b/libstdc++-v3/config/locale/gnu/messages_members.cc
@@ -34,7 +34,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.h b/libstdc++-v3/config/locale/gnu/messages_members.h
index 68a2ea39531..d98d8d11fff 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.h
+++ b/libstdc++-v3/config/locale/gnu/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -28,13 +28,35 @@
// the GNU General Public License.
//
-// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
+// ISO C++ 14882: 22.2.7.1.2 messages functions
//
// Written by Benjamin Kosnik <bkoz@redhat.com>
// Non-virtual member functions.
template<typename _CharT>
+ messages<_CharT>::messages(size_t __refs)
+ : locale::facet(__refs)
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ _M_name_messages = _S_c_name;
+#endif
+ _M_c_locale_messages = _S_c_locale;
+ }
+
+ template<typename _CharT>
+ messages<_CharT>::messages(__c_locale __cloc,
+ const char* __s, size_t __refs)
+ : locale::facet(__refs)
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ _M_name_messages = new char[strlen(__s) + 1];
+ strcpy(_M_name_messages, __s);
+#endif
+ _M_c_locale_messages = _S_clone_c_locale(__cloc);
+ }
+
+ template<typename _CharT>
typename messages<_CharT>::catalog
messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
const char* __dir) const
@@ -43,6 +65,17 @@
return this->do_open(__s, __loc);
}
+ // Virtual member functions.
+ template<typename _CharT>
+ messages<_CharT>::~messages()
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ if (_S_c_name != _M_name_messages)
+ delete [] _M_name_messages;
+#endif
+ _S_destroy_c_locale(_M_c_locale_messages);
+ }
+
template<typename _CharT>
typename messages<_CharT>::catalog
messages<_CharT>::do_open(const basic_string<char>& __s,
@@ -58,3 +91,18 @@
void
messages<_CharT>::do_close(catalog) const
{ }
+
+ // messages_byname
+ template<typename _CharT>
+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
+ : messages<_CharT>(__refs)
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ if (_S_c_name != _M_name_messages)
+ delete [] _M_name_messages;
+ _M_name_messages = new char[strlen(__s) + 1];
+ strcpy(_M_name_messages, __s);
+#endif
+ _S_destroy_c_locale(_M_c_locale_messages);
+ _S_create_c_locale(_M_c_locale_messages, __s);
+ }
diff --git a/libstdc++-v3/config/locale/gnu/monetary_members.cc b/libstdc++-v3/config/locale/gnu/monetary_members.cc
index 17d4d421767..b3ef13b2341 100644
--- a/libstdc++-v3/config/locale/gnu/monetary_members.cc
+++ b/libstdc++-v3/config/locale/gnu/monetary_members.cc
@@ -34,7 +34,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/numeric_members.cc b/libstdc++-v3/config/locale/gnu/numeric_members.cc
index a502bfb2150..1aa05293d4c 100644
--- a/libstdc++-v3/config/locale/gnu/numeric_members.cc
+++ b/libstdc++-v3/config/locale/gnu/numeric_members.cc
@@ -34,7 +34,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc
index 7df10b8ab71..db590efbb9c 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.cc
+++ b/libstdc++-v3/config/locale/gnu/time_members.cc
@@ -35,7 +35,7 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
#include <locale>
-#include "c++locale_internal.h"
+#include <bits/c++locale_internal.h>
namespace std
{
diff --git a/libstdc++-v3/config/locale/gnu/time_members.h b/libstdc++-v3/config/locale/gnu/time_members.h
new file mode 100644
index 00000000000..2ea24102808
--- /dev/null
+++ b/libstdc++-v3/config/locale/gnu/time_members.h
@@ -0,0 +1,68 @@
+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
+
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
+//
+
+// Written by Benjamin Kosnik <bkoz@redhat.com>
+
+ template<typename _CharT>
+ __timepunct<_CharT>::__timepunct(size_t __refs)
+ : locale::facet(__refs)
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ _M_name_timepunct = _S_c_name;
+#endif
+ _M_initialize_timepunct();
+ }
+
+ template<typename _CharT>
+ __timepunct<_CharT>::__timepunct(__c_locale __cloc,
+ const char* __s,
+ size_t __refs)
+ : locale::facet(__refs)
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ _M_name_timepunct = new char[strlen(__s) + 1];
+ strcpy(_M_name_timepunct, __s);
+#endif
+ _M_initialize_timepunct(__cloc);
+ }
+
+ template<typename _CharT>
+ __timepunct<_CharT>::~__timepunct()
+ {
+#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
+ if (_S_c_name != _M_name_timepunct)
+ delete [] _M_name_timepunct;
+#endif
+ _S_destroy_c_locale(_M_c_locale_timepunct);
+ }
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h
index a7d56ae33af..0cbfb2a3d6d 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h
@@ -260,7 +260,7 @@
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const
{
- result __ret = error;
+ result __ret = codecvt_base::error;
if (__state._M_good())
{
typedef state_type::__desc_type __desc_type;
@@ -304,7 +304,7 @@
{
__from_next = reinterpret_cast<const intern_type*>(__cfrom);
__to_next = reinterpret_cast<extern_type*>(__cto);
- __ret = ok;
+ __ret = codecvt_base::ok;
}
else
{
@@ -312,10 +312,10 @@
{
__from_next = reinterpret_cast<const intern_type*>(__cfrom);
__to_next = reinterpret_cast<extern_type*>(__cto);
- __ret = partial;
+ __ret = codecvt_base::partial;
}
else
- __ret = error;
+ __ret = codecvt_base::error;
}
}
return __ret;
@@ -327,7 +327,7 @@
do_unshift(state_type& __state, extern_type* __to,
extern_type* __to_end, extern_type*& __to_next) const
{
- result __ret = error;
+ result __ret = codecvt_base::error;
if (__state._M_good())
{
typedef state_type::__desc_type __desc_type;
@@ -345,14 +345,14 @@
{
__to_next = reinterpret_cast<extern_type*>(__cto);
if (__tlen == __tmultiple * (__to_end - __to))
- __ret = noconv;
+ __ret = codecvt_base::noconv;
else if (__tlen == 0)
- __ret = ok;
+ __ret = codecvt_base::ok;
else
- __ret = partial;
+ __ret = codecvt_base::partial;
}
else
- __ret = error;
+ __ret = codecvt_base::error;
}
return __ret;
}
@@ -365,7 +365,7 @@
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const
{
- result __ret = error;
+ result __ret = codecvt_base::error;
if (__state._M_good())
{
typedef state_type::__desc_type __desc_type;
@@ -410,7 +410,7 @@
{
__from_next = reinterpret_cast<const extern_type*>(__cfrom);
__to_next = reinterpret_cast<intern_type*>(__cto);
- __ret = ok;
+ __ret = codecvt_base::ok;
}
else
{
@@ -418,10 +418,10 @@
{
__from_next = reinterpret_cast<const extern_type*>(__cfrom);
__to_next = reinterpret_cast<intern_type*>(__cto);
- __ret = partial;
+ __ret = codecvt_base::partial;
}
else
- __ret = error;
+ __ret = codecvt_base::error;
}
}
return __ret;
diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h
index ecac7dac225..af4fa5a808c 100644
--- a/libstdc++-v3/config/os/aix/atomicity.h
+++ b/libstdc++-v3/config/os/aix/atomicity.h
@@ -43,14 +43,14 @@ typedef int _Atomic_word;
#include <sys/atomic_op.h>
static inline int
-__attribute__ ((unused))
+__attribute__ ((__unused__))
__exchange_and_add (atomic_p __mem, int __val)
{
return fetch_and_add (__mem, __val);
}
static inline void
-__attribute__ ((unused))
+__attribute__ ((__unused__))
__atomic_add (atomic_p __mem, int __val)
{
(void) fetch_and_add (__mem, __val);
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
index b4ba03f30f5..d69324ad572 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,35 +38,42 @@
ctype<char>::
is(mask __m, char __c) const
{
- return __istype(__c, __m);
+ if (_M_table)
+ return _M_table[static_cast<unsigned char>(__c)] & __m;
+ else
+ return __istype(__c, __m);
}
const char*
ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const
{
- for (;__low < __high; ++__vec, ++__low)
- {
+ if (_M_table)
+ while (__low < __high)
+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
+ else
+ for (;__low < __high; ++__vec, ++__low)
+ {
#if defined (_CTYPE_S) || defined (__istype)
- *__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ *__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
+ | space | print | graph | cntrl | punct | alnum);
#else
- mask __m = 0;
- if (this->is(upper, *__low)) __m |= upper;
- if (this->is(lower, *__low)) __m |= lower;
- if (this->is(alpha, *__low)) __m |= alpha;
- if (this->is(digit, *__low)) __m |= digit;
- if (this->is(xdigit, *__low)) __m |= xdigit;
- if (this->is(space, *__low)) __m |= space;
- if (this->is(print, *__low)) __m |= print;
- if (this->is(graph, *__low)) __m |= graph;
- if (this->is(cntrl, *__low)) __m |= cntrl;
- if (this->is(punct, *__low)) __m |= punct;
- // Do not include explicit line for alnum mask since it is a
- // pure composite of masks on FreeBSD.
- *__vec = __m;
+ mask __m = 0;
+ if (this->is(upper, *__low)) __m |= upper;
+ if (this->is(lower, *__low)) __m |= lower;
+ if (this->is(alpha, *__low)) __m |= alpha;
+ if (this->is(digit, *__low)) __m |= digit;
+ if (this->is(xdigit, *__low)) __m |= xdigit;
+ if (this->is(space, *__low)) __m |= space;
+ if (this->is(print, *__low)) __m |= print;
+ if (this->is(graph, *__low)) __m |= graph;
+ if (this->is(cntrl, *__low)) __m |= cntrl;
+ if (this->is(punct, *__low)) __m |= punct;
+ // Do not include explicit line for alnum mask since it is a
+ // pure composite of masks on FreeBSD.
+ *__vec = __m;
#endif
- }
+ }
return __high;
}
@@ -74,8 +81,13 @@
ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
+ if (_M_table)
+ while (__low < __high
+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
+ ++__low;
+ else
+ while (__low < __high && !this->is(__m, *__low))
+ ++__low;
return __low;
}
@@ -83,12 +95,12 @@
ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
+ if (_M_table)
+ while (__low < __high
+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
+ ++__low;
+ else
+ while (__low < __high && this->is(__m, *__low) != 0)
+ ++__low;
return __low;
}
-
-
-
-
-
diff --git a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
index b898c1ce252..55040a7ac4b 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
@@ -34,4 +34,11 @@
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
+#define _GLIBCPP_USE_C99_CHECK 1
+#define _GLIBCPP_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999))
+#define _GLIBCPP_USE_C99_LONG_LONG_CHECK 1
+#define _GLIBCPP_USE_C99_LONG_LONG_DYNAMIC (_GLIBCPP_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED)
+#define _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK 1
+#define _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC defined _XOPEN_SOURCE
+
#endif
diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h
index c10cb565b76..be43c47fd0a 100644
--- a/libstdc++-v3/config/os/generic/ctype_inline.h
+++ b/libstdc++-v3/config/os/generic/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -39,69 +39,95 @@
// functionality should be added for the native os in question: see
// the config/os/bits/ctype_*.h files.
+// Constructing a synthetic "C" table should be seriously considered...
+
bool
ctype<char>::
is(mask __m, char __c) const
{
- bool __ret;
- switch (__m)
+ if (_M_table)
+ return _M_table[static_cast<unsigned char>(__c)] & __m;
+ else
{
- case space:
- __ret = isspace(__c);
- break;
- case print:
- __ret = isprint(__c);
- break;
- case cntrl:
- __ret = iscntrl(__c);
- break;
- case upper:
- __ret = isupper(__c);
- break;
- case lower:
- __ret = islower(__c);
- break;
- case alpha:
- __ret = isalpha(__c);
- break;
- case digit:
- __ret = isdigit(__c);
- break;
- case punct:
- __ret = ispunct(__c);
- break;
- case xdigit:
- __ret = isxdigit(__c);
- break;
- case alnum:
- __ret = isalnum(__c);
- break;
- case graph:
- __ret = isgraph(__c);
- break;
- default:
- __ret = false;
- break;
+ bool __ret = true;
+ const int __bitmasksize = 11;
+ int __bitcur = 0; // Lowest bitmask in ctype_base == 0
+ for (;__ret && __bitcur < __bitmasksize; ++__bitcur)
+ {
+ mask __bit = static_cast<mask>(1 << __bitcur);
+ if (__m & __bit)
+ {
+ bool __testis;
+ switch (__bit)
+ {
+ case space:
+ __testis = isspace(__c);
+ break;
+ case print:
+ __testis = isprint(__c);
+ break;
+ case cntrl:
+ __testis = iscntrl(__c);
+ break;
+ case upper:
+ __testis = isupper(__c);
+ break;
+ case lower:
+ __testis = islower(__c);
+ break;
+ case alpha:
+ __testis = isalpha(__c);
+ break;
+ case digit:
+ __testis = isdigit(__c);
+ break;
+ case punct:
+ __testis = ispunct(__c);
+ break;
+ case xdigit:
+ __testis = isxdigit(__c);
+ break;
+ case alnum:
+ __testis = isalnum(__c);
+ break;
+ case graph:
+ __testis = isgraph(__c);
+ break;
+ default:
+ __testis = false;
+ break;
+ }
+ __ret &= __testis;
+ }
+ }
+ return __ret;
}
- return __ret;
}
const char*
ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const
{
- const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10
- for (;__low < __high; ++__vec, ++__low)
+ if (_M_table)
+ while (__low < __high)
+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
+ else
{
- mask __m = 0;
- int __i = 0; // Lowest bitmask in ctype_base == 0
- for (;__i < __bitmasksize; ++__i)
+ // Highest bitmask in ctype_base == 10.
+ const int __bitmasksize = 11;
+ for (;__low < __high; ++__vec, ++__low)
{
- mask __bit = static_cast<mask>(1 << __i);
- if (this->is(__bit, *__low))
- __m |= __bit;
+ mask __m = 0;
+ // Lowest bitmask in ctype_base == 0
+ int __i = 0;
+ for (;__i < __bitmasksize; ++__i)
+ {
+ mask __bit = static_cast<mask>(1 << __i);
+ if (this->is(__bit, *__low))
+ __m |= __bit;
+ }
+ *__vec = __m;
}
- *__vec = __m;
}
return __high;
}
@@ -110,8 +136,13 @@
ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
+ if (_M_table)
+ while (__low < __high
+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
+ ++__low;
+ else
+ while (__low < __high && !this->is(__m, *__low))
+ ++__low;
return __low;
}
@@ -119,7 +150,12 @@
ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
+ if (_M_table)
+ while (__low < __high
+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
+ ++__low;
+ else
+ while (__low < __high && this->is(__m, *__low) != 0)
+ ++__low;
return __low;
}
diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h
index 35cc3063d4c..af409c87629 100644
--- a/libstdc++-v3/config/os/hpux/ctype_inline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -36,22 +36,15 @@
bool
ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[(unsigned char)(__c)] & __m; }
+ is(mask __m, char __c) const
+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
const char*
ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
+ is(const char* __low, const char* __high, mask* __vec) const
{
- const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10
- for (;__low < __high; ++__vec, ++__low)
- {
- mask __m = _M_table[*__low];
- int __i = 0; // Lowest bitmask in ctype_base == 0
- while (__i < __bitmasksize && !(__m & static_cast<mask>(1 << __i)))
- ++__i;
- *__vec = static_cast<mask>(1 << __i);
- }
+ while (__low < __high)
+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
return __high;
}
@@ -59,7 +52,8 @@
ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && !this->is(__m, *__low))
+ while (__low < __high
+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
++__low;
return __low;
}
@@ -68,12 +62,8 @@
ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && this->is(__m, *__low) != 0)
+ while (__low < __high
+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
++__low;
return __low;
}
-
-
-
-
-
diff --git a/libstdc++-v3/config/os/hpux/ctype_noninline.h b/libstdc++-v3/config/os/hpux/ctype_noninline.h
index 7ec3b30ed9c..a85bc9cff82 100644
--- a/libstdc++-v3/config/os/hpux/ctype_noninline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_noninline.h
@@ -36,7 +36,7 @@
const ctype_base::mask*
ctype<char>::classic_table() throw()
- { return 0; }
+ { return __SB_masks; }
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
size_t __refs)
diff --git a/libstdc++-v3/config/os/hpux/os_defines.h b/libstdc++-v3/config/os/hpux/os_defines.h
index 9dd4fb41af6..27951c199cb 100644
--- a/libstdc++-v3/config/os/hpux/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/os_defines.h
@@ -84,9 +84,21 @@ namespace std
typedef long int __padding_type;
#endif
+// GCC on IA64 HP-UX uses the HP-UX system unwind library,
+// it does not have the _Unwind_Resume_or_Rethrow entry point
+// because that is not part of the standard IA64 Unwind ABI.
+#if defined (__ia64__)
+#define _LIBUNWIND_STD_ABI 1
+#endif
+
/* We need explicit instantiation of the atomicity lock on HPPA if
there is no weak support. */
#if !defined(_GLIBCPP_SUPPORTS_WEAK) && defined (__hppa__)
#define _GLIBCPP_INST_ATOMICITY_LOCK 1
#endif
+
+/* Don't use pragma weak in gthread headers. */
+#ifdef __hppa__
+#define _GLIBCPP_GTHREAD_USE_WEAK 0
+#endif
#endif
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 972ed70937f..3f2fbc9da44 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -34,8 +34,6 @@ ac_help="$ac_help
ac_help="$ac_help
--with-pic try to use only PIC/non-PIC objects [default=use both]"
ac_help="$ac_help
- --enable-debug extra debugging, turn off optimization [default=no]"
-ac_help="$ac_help
--enable-cstdio enable stdio for target io package.
--enable-cstdio=LIB use LIB target-speific io package. [default=stdio]
"
@@ -46,23 +44,28 @@ ac_help="$ac_help
ac_help="$ac_help
--enable-nls use Native Language Support (default)"
ac_help="$ac_help
+ --enable-cheaders=MODEL construct "C" header files for g++ [default=c_std]"
+ac_help="$ac_help
--enable-c-mbchar enable multibyte (wide) characters [default=yes]"
ac_help="$ac_help
--enable-c99 turns on 'ISO/IEC 9899:1999 support' [default=yes]"
ac_help="$ac_help
--enable-long-long turns on 'long long' [default=yes]"
ac_help="$ac_help
- --enable-cheaders construct "C" header files for g++ [default=c_std]"
-ac_help="$ac_help
- --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
- [default=none]"
-ac_help="$ac_help
--enable-sjlj-exceptions force use of builtin_setjmp for exceptions"
ac_help="$ac_help
--enable-libunwind-exceptions force use of libunwind for exceptions"
ac_help="$ac_help
--enable-concept-checks use Boost-derived template checks [default=no]"
ac_help="$ac_help
+ --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
+ [default=]"
+ac_help="$ac_help
+ --enable-debug build extra debug library [default=no]"
+ac_help="$ac_help
+ --enable-debug-flags=FLAGS pass compiler FLAGS when building debug
+ library;[default=none]"
+ac_help="$ac_help
--enable-symvers=style enables symbol versioning of the shared library [default=yes]"
ac_help="$ac_help
--with-gxx-include-dir the installation directory for include files"
@@ -588,7 +591,7 @@ ORIGINAL_LD_FOR_MULTILIBS=$LD
PACKAGE=libstdc++
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=5:2:0
+libtool_VERSION=5:5:0
@@ -688,7 +691,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:692: checking host system type" >&5
+echo "configure:695: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -709,7 +712,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:713: checking target system type" >&5
+echo "configure:716: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -727,7 +730,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:731: checking build system type" >&5
+echo "configure:734: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -761,12 +764,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:765: checking for Cygwin environment" >&5
+echo "configure:768: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 770 "configure"
+#line 773 "configure"
#include "confdefs.h"
int main() {
@@ -777,7 +780,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:781: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -794,19 +797,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:798: checking for mingw32 environment" >&5
+echo "configure:801: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 803 "configure"
+#line 806 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -837,12 +840,12 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
- 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:846: checking for $ac_word" >&5
+echo "configure:849: 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
@@ -876,7 +879,7 @@ done
# force a particular method.
#ac_cv_prog_LN_S='cp -p'
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:880: checking whether ln -s works" >&5
+echo "configure:883: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -933,7 +936,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:937: checking for $ac_word" >&5
+echo "configure:940: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -963,7 +966,7 @@ fi
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:967: checking for $ac_word" >&5
+echo "configure:970: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1012,7 +1015,7 @@ fi
fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1016: checking whether we are using GNU C" >&5
+echo "configure:1019: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1021,7 +1024,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1025: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1036,7 +1039,7 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1040: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1043: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1079,7 +1082,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:1083: checking for $ac_word" >&5
+echo "configure:1086: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_glibcpp_CXX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1114,7 +1117,7 @@ test -n "$glibcpp_CXX" || glibcpp_CXX="gcc"
test -z "$glibcpp_CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1118: checking whether we are using GNU C++" >&5
+echo "configure:1121: checking whether we are using GNU C++" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1123,7 +1126,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gxx=yes
else
ac_cv_prog_gxx=no
@@ -1138,7 +1141,7 @@ echo "$ac_t""$ac_cv_prog_gxx" 1>&6
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1142: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1145: checking whether ${CXX-g++} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1168,14 +1171,14 @@ echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
# For directory versioning (e.g., headers) and other variables.
echo $ac_n "checking for GCC version number""... $ac_c" 1>&6
-echo "configure:1172: checking for GCC version number" >&5
+echo "configure:1175: checking for GCC version number" >&5
gcc_version=`$glibcpp_CXX -dumpversion`
echo "$ac_t""$gcc_version" 1>&6
# For some reason, gettext needs this.
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:1179: checking for strerror in -lcposix" >&5
+echo "configure:1182: checking for strerror in -lcposix" >&5
ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1183,7 +1186,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1187 "configure"
+#line 1190 "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
@@ -1194,7 +1197,7 @@ int main() {
strerror()
; return 0; }
EOF
-if { (eval echo configure:1198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1220,7 +1223,7 @@ fi
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1224: checking for $ac_word" >&5
+echo "configure:1227: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1252,7 +1255,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1256: checking for $ac_word" >&5
+echo "configure:1259: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1284,7 +1287,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1288: checking for $ac_word" >&5
+echo "configure:1291: 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
@@ -1316,7 +1319,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1320: checking for $ac_word" >&5
+echo "configure:1323: 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
@@ -1360,7 +1363,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:1364: checking for a BSD compatible install" >&5
+echo "configure:1367: 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
@@ -1414,7 +1417,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1418: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:1421: 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"
@@ -1452,7 +1455,7 @@ fi
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1456: checking for executable suffix" >&5
+echo "configure:1459: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1462,7 +1465,7 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj) ;;
@@ -1498,8 +1501,9 @@ ac_exeext=$EXEEXT
+am__api_version="1.4"
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:1503: checking whether build environment is sane" >&5
+echo "configure:1507: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -1556,7 +1560,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1560: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1564: 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
@@ -1601,21 +1605,21 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:1606: checking for working aclocal" >&5
+echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6
+echo "configure:1610: checking for working aclocal-${am__api_version}" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
+if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal-${am__api_version}
echo "$ac_t""found" 1>&6
else
- ACLOCAL="$missing_dir/missing aclocal"
+ ACLOCAL="$missing_dir/missing aclocal-${am__api_version}"
echo "$ac_t""missing" 1>&6
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:1619: checking for working autoconf" >&5
+echo "configure:1623: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -1627,21 +1631,21 @@ else
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:1632: checking for working automake" >&5
+echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6
+echo "configure:1636: checking for working automake-${am__api_version}" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
+if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake-${am__api_version}
echo "$ac_t""found" 1>&6
else
- AUTOMAKE="$missing_dir/missing automake"
+ AUTOMAKE="$missing_dir/missing automake-${am__api_version}"
echo "$ac_t""missing" 1>&6
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:1645: checking for working autoheader" >&5
+echo "configure:1649: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -1654,7 +1658,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1658: checking for working makeinfo" >&5
+echo "configure:1662: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -1753,7 +1757,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1757: checking for ld used by GCC" >&5
+echo "configure:1761: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1783,10 +1787,10 @@ echo "configure:1757: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1787: checking for GNU ld" >&5
+echo "configure:1791: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1790: checking for non-GNU ld" >&5
+echo "configure:1794: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1821,7 +1825,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1825: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1829: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1838,7 +1842,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1842: checking for $LD option to reload object files" >&5
+echo "configure:1846: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1850,7 +1854,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1854: checking for BSD-compatible nm" >&5
+echo "configure:1858: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1888,7 +1892,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1892: checking how to recognise dependant libraries" >&5
+echo "configure:1896: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2061,13 +2065,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:2065: checking for object suffix" >&5
+echo "configure:2069: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:2071: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2075: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -2091,7 +2095,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:2095: checking for ${ac_tool_prefix}file" >&5
+echo "configure:2099: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2153,7 +2157,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:2157: checking for file" >&5
+echo "configure:2161: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2224,7 +2228,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2228: checking for $ac_word" >&5
+echo "configure:2232: 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
@@ -2256,7 +2260,7 @@ if test -n "$ac_tool_prefix"; then
# 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:2260: checking for $ac_word" >&5
+echo "configure:2264: 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
@@ -2291,7 +2295,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2295: checking for $ac_word" >&5
+echo "configure:2299: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2323,7 +2327,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2327: checking for $ac_word" >&5
+echo "configure:2331: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2390,8 +2394,21 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 2394 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 2398 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:2399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -2403,6 +2420,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -2410,7 +2428,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2426,7 +2444,7 @@ ia64-*-hpux*)
x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
case $host in
@@ -2470,7 +2488,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2474: checking whether the C compiler needs -belf" >&5
+echo "configure:2492: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2483,14 +2501,14 @@ 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 2487 "configure"
+#line 2505 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2520,7 +2538,7 @@ echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
esac
echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:2524: checking how to run the C++ preprocessor" >&5
+echo "configure:2542: checking how to run the C++ preprocessor" >&5
if test -z "$CXXCPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2533,12 +2551,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
CXXCPP="${CXX-g++} -E"
cat > conftest.$ac_ext <<EOF
-#line 2537 "configure"
+#line 2555 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2542: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2560: \"$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
:
@@ -2676,7 +2694,7 @@ exec 5>>./config.log
# Check for c++ or library specific bits that don't require linking.
#GLIBCPP_CHECK_COMPILER_VERSION
echo $ac_n "checking for GNU make""... $ac_c" 1>&6
-echo "configure:2680: checking for GNU make" >&5
+echo "configure:2698: checking for GNU make" >&5
if eval "test \"`echo '$''{'_cv_gnu_make_command'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2701,30 +2719,8 @@ echo "$ac_t""$_cv_gnu_make_command" 1>&6 ;
# Enable all the variable C++ stuff. C_MBCHAR must come early.
-# Check whether --enable-debug or --disable-debug was given.
-if test "${enable_debug+set}" = set; then
- enableval="$enable_debug"
- case "${enableval}" in
- yes) enable_debug=yes ;;
- no) enable_debug=no ;;
- *) { echo "configure: error: Unknown argument to enable/disable extra debugging" 1>&2; exit 1; } ;;
- esac
-else
- enable_debug=no
-fi
-
-case "${enable_debug}" in
- yes)
- DEBUG_FLAGS='-O0 -ggdb3'
- ;;
- no)
- DEBUG_FLAGS='-g'
- ;;
-esac
-
-
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2728: checking how to run the C preprocessor" >&5
+echo "configure:2724: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2739,13 +2735,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 2743 "configure"
+#line 2739 "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:2749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2745: \"$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
:
@@ -2756,13 +2752,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2760 "configure"
+#line 2756 "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:2766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2762: \"$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
:
@@ -2773,13 +2769,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2777 "configure"
+#line 2773 "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:2783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2779: \"$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
:
@@ -2805,7 +2801,7 @@ echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for cstdio to use""... $ac_c" 1>&6
-echo "configure:2809: checking for cstdio to use" >&5
+echo "configure:2805: checking for cstdio to use" >&5
# Check whether --enable-cstdio or --disable-cstdio was given.
if test "${enable_cstdio+set}" = set; then
enableval="$enable_cstdio"
@@ -2829,17 +2825,17 @@ fi
# see if we are on a system with libio native (ie, linux)
ac_safe=`echo "libio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libio.h""... $ac_c" 1>&6
-echo "configure:2833: checking for libio.h" >&5
+echo "configure:2829: checking for libio.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 2838 "configure"
+#line 2834 "configure"
#include "confdefs.h"
#include <libio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2843: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2839: \"$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*
@@ -2869,9 +2865,9 @@ fi
case "$target" in
*-*-linux*)
echo $ac_n "checking for glibc version >= 2.2""... $ac_c" 1>&6
-echo "configure:2873: checking for glibc version >= 2.2" >&5
+echo "configure:2869: checking for glibc version >= 2.2" >&5
cat > conftest.$ac_ext <<EOF
-#line 2875 "configure"
+#line 2871 "configure"
#include "confdefs.h"
#include <features.h>
@@ -2985,7 +2981,7 @@ fi
echo $ac_n "checking for clocale to use""... $ac_c" 1>&6
-echo "configure:2989: checking for clocale to use" >&5
+echo "configure:2985: checking for clocale to use" >&5
# Check whether --enable-clocale or --disable-clocale was given.
if test "${enable_clocale+set}" = set; then
enableval="$enable_clocale"
@@ -3003,7 +2999,7 @@ fi
case x${target_os} in
xlinux* | xgnu*)
cat > conftest.$ac_ext <<EOF
-#line 3007 "configure"
+#line 3003 "configure"
#include "confdefs.h"
#include <features.h>
@@ -3029,7 +3025,7 @@ rm -f conftest*
enable_clocale_flag=generic
else
cat > conftest.$ac_ext <<EOF
-#line 3033 "configure"
+#line 3029 "configure"
#include "confdefs.h"
#define _GNU_SOURCE 1
@@ -3056,7 +3052,7 @@ else
}
EOF
-if { (eval echo configure:3060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
enable_clocale_flag=gnu
else
@@ -3102,6 +3098,7 @@ fi
CMESSAGES_CC=config/locale/generic/messages_members.cc
CMONEY_CC=config/locale/generic/monetary_members.cc
CNUMERIC_CC=config/locale/generic/numeric_members.cc
+ CTIME_H=config/locale/generic/time_members.h
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -3117,7 +3114,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:3121: checking for $ac_word" >&5
+echo "configure:3118: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3165,6 +3162,7 @@ fi
CMESSAGES_CC=config/locale/gnu/messages_members.cc
CMONEY_CC=config/locale/gnu/monetary_members.cc
CNUMERIC_CC=config/locale/gnu/numeric_members.cc
+ CTIME_H=config/locale/gnu/time_members.h
CTIME_CC=config/locale/gnu/time_members.cc
CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
;;
@@ -3181,6 +3179,7 @@ fi
CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
CMONEY_CC=config/locale/generic/monetary_members.cc
CNUMERIC_CC=config/locale/generic/numeric_members.cc
+ CTIME_H=config/locale/generic/time_members.h
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -3195,9 +3194,6 @@ fi
glibcpp_localedir=${glibcpp_builddir}/po/share/locale
- # For the time being, transform ctype_noninline.h to ctype_members_char.cc
-# CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h
-
@@ -3205,13 +3201,73 @@ fi
-# AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc)
+
+
+echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6
+echo "configure:3214: checking for c header strategy to use" >&5
+# Check whether --enable-cheaders or --disable-cheaders was given.
+if test "${enable_cheaders+set}" = set; then
+ enableval="$enable_cheaders"
+
+ case "$enableval" in
+ c)
+ enable_cheaders=c
+ ;;
+ c_std)
+ enable_cheaders=c_std
+ ;;
+ *) { echo "configure: error: Unknown argument to enable/disable "C" headers" 1>&2; exit 1; }
+ ;;
+ esac
+else
+ enable_cheaders=c_std
+fi
+
+ echo "$ac_t""$enable_cheaders" 1>&6
+
+ case "$enable_cheaders" in
+ c_std)
+ C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_std'
+ ;;
+ c)
+ C_INCLUDE_DIR='${glibcpp_srcdir}/include/c'
+ ;;
+ esac
+
+
+
+
+if test "$enable_cheaders" = c; then
+ GLIBCPP_C_HEADERS_C_TRUE=
+ GLIBCPP_C_HEADERS_C_FALSE='#'
+else
+ GLIBCPP_C_HEADERS_C_TRUE='#'
+ GLIBCPP_C_HEADERS_C_FALSE=
+fi
+
+
+if test "$enable_cheaders" = c_std; then
+ GLIBCPP_C_HEADERS_C_STD_TRUE=
+ GLIBCPP_C_HEADERS_C_STD_FALSE='#'
+else
+ GLIBCPP_C_HEADERS_C_STD_TRUE='#'
+ GLIBCPP_C_HEADERS_C_STD_FALSE=
+fi
+
+
+if test "$c_compatibility" = yes; then
+ GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE=
+ GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE='#'
+else
+ GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE='#'
+ GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE=
+fi
# Check whether --enable-c-mbchar or --disable-c-mbchar was given.
if test "${enable_c_mbchar+set}" = set; then
@@ -3250,16 +3306,16 @@ cross_compiling=$ac_cv_prog_cxx_cross
# Check for the existence of <math.h> functions used if C99 is enabled.
ac_c99_math=yes;
echo $ac_n "checking for ISO C99 support in <math.h>""... $ac_c" 1>&6
-echo "configure:3254: checking for ISO C99 support in <math.h>" >&5
+echo "configure:3310: checking for ISO C99 support in <math.h>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3256 "configure"
+#line 3312 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
fpclassify(0.0);
; return 0; }
EOF
-if { (eval echo configure:3263: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3269,14 +3325,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3273 "configure"
+#line 3329 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isfinite(0.0);
; return 0; }
EOF
-if { (eval echo configure:3280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3286,14 +3342,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3290 "configure"
+#line 3346 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isinf(0.0);
; return 0; }
EOF
-if { (eval echo configure:3297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3303,14 +3359,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3307 "configure"
+#line 3363 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isnan(0.0);
; return 0; }
EOF
-if { (eval echo configure:3314: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3320,14 +3376,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3324 "configure"
+#line 3380 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isnormal(0.0);
; return 0; }
EOF
-if { (eval echo configure:3331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3337,14 +3393,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3341 "configure"
+#line 3397 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
signbit(0.0);
; return 0; }
EOF
-if { (eval echo configure:3348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3354,14 +3410,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3358 "configure"
+#line 3414 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isgreater(0.0,0.0);
; return 0; }
EOF
-if { (eval echo configure:3365: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3371,14 +3427,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3375 "configure"
+#line 3431 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isgreaterequal(0.0,0.0);
; return 0; }
EOF
-if { (eval echo configure:3382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3438: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3388,14 +3444,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3392 "configure"
+#line 3448 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isless(0.0,0.0);
; return 0; }
EOF
-if { (eval echo configure:3399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3405,14 +3461,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3409 "configure"
+#line 3465 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
islessequal(0.0,0.0);
; return 0; }
EOF
-if { (eval echo configure:3416: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3472: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3422,14 +3478,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3426 "configure"
+#line 3482 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
islessgreater(0.0,0.0);
; return 0; }
EOF
-if { (eval echo configure:3433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3439,14 +3495,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3443 "configure"
+#line 3499 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
isunordered(0.0,0.0);
; return 0; }
EOF
-if { (eval echo configure:3450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3460,16 +3516,16 @@ rm -f conftest*
# Check for the existence in <stdio.h> of vscanf, et. al.
ac_c99_stdio=yes;
echo $ac_n "checking for ISO C99 support in <stdio.h>""... $ac_c" 1>&6
-echo "configure:3464: checking for ISO C99 support in <stdio.h>" >&5
+echo "configure:3520: checking for ISO C99 support in <stdio.h>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3466 "configure"
+#line 3522 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
snprintf("12", 0, "%i");
; return 0; }
EOF
-if { (eval echo configure:3473: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3479,7 +3535,7 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3483 "configure"
+#line 3539 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdarg.h>
@@ -3490,7 +3546,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:3494: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3500,7 +3556,7 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3504 "configure"
+#line 3560 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdarg.h>
@@ -3511,7 +3567,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:3515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3521,7 +3577,7 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3525 "configure"
+#line 3581 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdarg.h>
@@ -3532,7 +3588,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:3536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3542,7 +3598,7 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3546 "configure"
+#line 3602 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdarg.h>
@@ -3553,7 +3609,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:3557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3567,20 +3623,20 @@ rm -f conftest*
# Check for the existence in <stdlib.h> of lldiv_t, et. al.
ac_c99_stdlib=yes;
echo $ac_n "checking for lldiv_t declaration""... $ac_c" 1>&6
-echo "configure:3571: checking for lldiv_t declaration" >&5
+echo "configure:3627: checking for lldiv_t declaration" >&5
if eval "test \"`echo '$''{'ac_c99_lldiv_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3577 "configure"
+#line 3633 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
lldiv_t mydivt;
; return 0; }
EOF
-if { (eval echo configure:3584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_c99_lldiv_t=yes
else
@@ -3596,16 +3652,16 @@ fi
echo "$ac_t""$ac_c99_lldiv_t" 1>&6
echo $ac_n "checking for ISO C99 support in <stdlib.h>""... $ac_c" 1>&6
-echo "configure:3600: checking for ISO C99 support in <stdlib.h>" >&5
+echo "configure:3656: checking for ISO C99 support in <stdlib.h>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3602 "configure"
+#line 3658 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
char* tmp; strtof("gnu", &tmp);
; return 0; }
EOF
-if { (eval echo configure:3609: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3615,14 +3671,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3619 "configure"
+#line 3675 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
char* tmp; strtold("gnu", &tmp);
; return 0; }
EOF
-if { (eval echo configure:3626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3632,14 +3688,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3636 "configure"
+#line 3692 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
llabs(10);
; return 0; }
EOF
-if { (eval echo configure:3643: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3649,14 +3705,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3653 "configure"
+#line 3709 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
lldiv(10,1);
; return 0; }
EOF
-if { (eval echo configure:3660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3666,14 +3722,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3670 "configure"
+#line 3726 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
atoll("10");
; return 0; }
EOF
-if { (eval echo configure:3677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3683,14 +3739,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3687 "configure"
+#line 3743 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
_Exit(0);
; return 0; }
EOF
-if { (eval echo configure:3694: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3708,16 +3764,16 @@ rm -f conftest*
# XXX the wchar.h checks should be rolled into the general C99 bits.
ac_c99_wchar=yes;
echo $ac_n "checking for additional ISO C99 support in <wchar.h>""... $ac_c" 1>&6
-echo "configure:3712: checking for additional ISO C99 support in <wchar.h>" >&5
+echo "configure:3768: checking for additional ISO C99 support in <wchar.h>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3714 "configure"
+#line 3770 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
wcstold(L"10.0", NULL);
; return 0; }
EOF
-if { (eval echo configure:3721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3727,14 +3783,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3731 "configure"
+#line 3787 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
wcstoll(L"10", NULL, 10);
; return 0; }
EOF
-if { (eval echo configure:3738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3744,14 +3800,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3748 "configure"
+#line 3804 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
wcstoull(L"10", NULL, 10);
; return 0; }
EOF
-if { (eval echo configure:3755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3811: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3763,7 +3819,7 @@ rm -f conftest*
echo "$ac_t""$ac_c99_wchar" 1>&6
echo $ac_n "checking for enabled ISO C99 support""... $ac_c" 1>&6
-echo "configure:3767: checking for enabled ISO C99 support" >&5
+echo "configure:3823: checking for enabled ISO C99 support" >&5
if test x"$ac_c99_math" = x"no" ||
test x"$ac_c99_stdio" = x"no" ||
test x"$ac_c99_stdlib" = x"no" ||
@@ -3811,17 +3867,17 @@ cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking for enabled long long I/O support""... $ac_c" 1>&6
-echo "configure:3815: checking for enabled long long I/O support" >&5
+echo "configure:3871: checking for enabled long long I/O support" >&5
# iostreams require strtoll, strtoull to compile
cat > conftest.$ac_ext <<EOF
-#line 3818 "configure"
+#line 3874 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
char* tmp; strtoll("gnu", &tmp, 10);
; return 0; }
EOF
-if { (eval echo configure:3825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3881: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3831,14 +3887,14 @@ else
fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 3835 "configure"
+#line 3891 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
char* tmp; strtoull("gnu", &tmp, 10);
; return 0; }
EOF
-if { (eval echo configure:3842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -3865,69 +3921,9 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
cross_compiling=$ac_cv_prog_cc_cross
-echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6
-echo "configure:3870: checking for c header strategy to use" >&5
-# Check whether --enable-cheaders or --disable-cheaders was given.
-if test "${enable_cheaders+set}" = set; then
- enableval="$enable_cheaders"
-
- case "$enableval" in
- c)
- enable_cheaders=c
- ;;
- c_std)
- enable_cheaders=c_std
- ;;
- *) { echo "configure: error: Unknown argument to enable/disable "C" headers" 1>&2; exit 1; }
- ;;
- esac
-else
- enable_cheaders=c_std
-fi
-
- echo "$ac_t""$enable_cheaders" 1>&6
-
- case "$enable_cheaders" in
- c_std)
- C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_std'
- ;;
- c)
- C_INCLUDE_DIR='${glibcpp_srcdir}/include/c'
- ;;
- esac
-
-
-
-
-if test "$enable_cheaders" = c; then
- GLIBCPP_C_HEADERS_C_TRUE=
- GLIBCPP_C_HEADERS_C_FALSE='#'
-else
- GLIBCPP_C_HEADERS_C_TRUE='#'
- GLIBCPP_C_HEADERS_C_FALSE=
-fi
-
-
-if test "$enable_cheaders" = c_std; then
- GLIBCPP_C_HEADERS_C_STD_TRUE=
- GLIBCPP_C_HEADERS_C_STD_FALSE='#'
-else
- GLIBCPP_C_HEADERS_C_STD_TRUE='#'
- GLIBCPP_C_HEADERS_C_STD_FALSE=
-fi
-
-
-if test "$c_compatibility" = yes; then
- GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE=
- GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE='#'
-else
- GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE='#'
- GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE=
-fi
-
echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6
-echo "configure:3931: checking for thread model used by GCC" >&5
+echo "configure:3927: checking for thread model used by GCC" >&5
target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
echo "$ac_t""$target_thread_file" 1>&6
@@ -3945,42 +3941,9 @@ EOF
glibcpp_thread_h=gthr-$target_thread_file.h
-# Check whether --enable-cxx-flags or --disable-cxx-flags was given.
-if test "${enable_cxx_flags+set}" = set; then
- enableval="$enable_cxx_flags"
- case "x$enableval" in
- xyes)
- { echo "configure: error: --enable-cxx-flags needs compiler flags as arguments" 1>&2; exit 1; } ;;
- xno|x)
- enable_cxx_flags='' ;;
- *)
- enable_cxx_flags="$enableval" ;;
- esac
-else
- enable_cxx_flags='none'
-fi
-
-
-if test "$enable_cxx_flags" = "none"; then
- enable_cxx_flags='';
-fi
-
-if test -n "$enable_cxx_flags"; then
- for f in $enable_cxx_flags; do
- case "$f" in
- -fhonor-std) ;;
- -*) ;;
- *) # and we're trying to pass /what/ exactly?
- { echo "configure: error: compiler flags start with a -" 1>&2; exit 1; } ;;
- esac
- done
-fi
-EXTRA_CXX_FLAGS="$enable_cxx_flags"
-
-
echo $ac_n "checking for exception model to use""... $ac_c" 1>&6
-echo "configure:3984: checking for exception model to use" >&5
+echo "configure:3947: checking for exception model to use" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -3995,7 +3958,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then
:
else
cat > conftest.$ac_ext << EOF
-#line 3999 "configure"
+#line 3962 "configure"
struct S { ~S(); };
void bar();
void foo()
@@ -4006,7 +3969,7 @@ void foo()
EOF
old_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=-S
- if { (eval echo configure:4010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:3973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
enable_sjlj_exceptions=yes
elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
@@ -4039,7 +4002,7 @@ cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking for use of libunwind""... $ac_c" 1>&6
-echo "configure:4043: checking for use of libunwind" >&5
+echo "configure:4006: checking for use of libunwind" >&5
# Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given.
if test "${enable_libunwind_exceptions+set}" = set; then
enableval="$enable_libunwind_exceptions"
@@ -4074,23 +4037,110 @@ EOF
fi
+echo $ac_n "checking for extra compiler flags for building""... $ac_c" 1>&6
+echo "configure:4042: checking for extra compiler flags for building" >&5
+# Check whether --enable-cxx_flags or --disable-cxx_flags was given.
+if test "${enable_cxx_flags+set}" = set; then
+ enableval="$enable_cxx_flags"
+ case "x$enable_cxx_flags" in
+ xyes)
+ { echo "configure: error: --enable-cxx-flags needs compiler flags as arguments" 1>&2; exit 1; } ;;
+ xno | xnone | x)
+ enable_cxx_flags='' ;;
+ *)
+ enable_cxx_flags="$enableval" ;;
+esac
+else
+ enable_cxx_flags=
+fi
+
+
+if test -n "$enable_cxx_flags"; then
+ for f in $enable_cxx_flags; do
+ case "$f" in
+ -fhonor-std) ;;
+ -*) ;;
+ *) # and we're trying to pass /what/ exactly?
+ { echo "configure: error: compiler flags start with a -" 1>&2; exit 1; } ;;
+ esac
+ done
+fi
+EXTRA_CXX_FLAGS="$enable_cxx_flags"
+echo "$ac_t""$EXTRA_CXX_FLAGS" 1>&6
+
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+ enableval="$enable_debug"
+ case "${enableval}" in
+ yes) enable_debug=yes ;;
+ no) enable_debug=no ;;
+ *) { echo "configure: error: Unknown argument to enable/disable extra debugging" 1>&2; exit 1; } ;;
+ esac
+else
+ enable_debug=no
+fi
+echo $ac_n "checking for additional debug build""... $ac_c" 1>&6
+echo "configure:4085: checking for additional debug build" >&5
+echo "$ac_t""$enable_debug" 1>&6
+
+
+if test "$enable_debug" = yes; then
+ GLIBCPP_BUILD_DEBUG_TRUE=
+ GLIBCPP_BUILD_DEBUG_FALSE='#'
+else
+ GLIBCPP_BUILD_DEBUG_TRUE='#'
+ GLIBCPP_BUILD_DEBUG_FALSE=
+fi
+
+# Check whether --enable-debug_flags or --disable-debug_flags was given.
+if test "${enable_debug_flags+set}" = set; then
+ enableval="$enable_debug_flags"
+ case "${enableval}" in
+ none) ;;
+ -*) enable_debug_flags="${enableval}" ;;
+ *) { echo "configure: error: Unknown argument to extra debugging flags" 1>&2; exit 1; } ;;
+ esac
+else
+ enable_debug_flags=none
+fi
+
+case x"$enable_debug" in
+ xyes)
+ case "$enable_debug_flags" in
+ none)
+ DEBUG_FLAGS="-g3 -O0";;
+ -*) #valid input
+ DEBUG_FLAGS="${enableval}"
+ esac
+ ;;
+ xno)
+ DEBUG_FLAGS=""
+ ;;
+esac
+
+
+echo $ac_n "checking for debug build flags""... $ac_c" 1>&6
+echo "configure:4125: checking for debug build flags" >&5
+echo "$ac_t""$DEBUG_FLAGS" 1>&6
+
# Check for headers necessary for libsupc++ using dyn-string.c/cxa_demangle.c
for ac_hdr in string.h stdlib.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4084: checking for $ac_hdr" >&5
+echo "configure:4134: 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 4089 "configure"
+#line 4139 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4144: \"$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*
@@ -4171,17 +4221,17 @@ if test -n "$with_cross_host" || test x"$build" != x"$host"; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4175: checking for $ac_hdr" >&5
+echo "configure:4225: 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 4180 "configure"
+#line 4230 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4185: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4235: \"$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*
@@ -4259,12 +4309,12 @@ done
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:4263: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:4313: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 4268 "configure"
+#line 4318 "configure"
#include "confdefs.h"
int main(void)
@@ -4275,7 +4325,7 @@ else
}
EOF
-if { (eval echo configure:4279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -4300,7 +4350,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -4309,7 +4359,7 @@ fi
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:4313: checking for main in -lm" >&5
+echo "configure:4363: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4317,14 +4367,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4321 "configure"
+#line 4371 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:4328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4354,12 +4404,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4358: checking for $ac_func" >&5
+echo "configure:4408: 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 4363 "configure"
+#line 4413 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4382,7 +4432,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4436: \"$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
@@ -4411,12 +4461,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4415: checking for $ac_func" >&5
+echo "configure:4465: 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 4420 "configure"
+#line 4470 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4439,7 +4489,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4493: \"$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
@@ -4467,12 +4517,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4471: checking for $ac_func" >&5
+echo "configure:4521: 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 4476 "configure"
+#line 4526 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4495,7 +4545,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4549: \"$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
@@ -4525,12 +4575,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4529: checking for $ac_func" >&5
+echo "configure:4579: 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 4534 "configure"
+#line 4584 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4553,7 +4603,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4607: \"$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
@@ -4580,21 +4630,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:4589: checking for mbstate_t" >&5
+echo "configure:4652: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4591 "configure"
+#line 4654 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:4598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -4616,17 +4679,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4620: checking for $ac_hdr" >&5
+echo "configure:4683: 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 4625 "configure"
+#line 4688 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4630: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4693: \"$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*
@@ -4657,17 +4720,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4661: checking for $ac_hdr" >&5
+echo "configure:4724: 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 4666 "configure"
+#line 4729 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4671: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4734: \"$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*
@@ -4700,16 +4763,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:4704: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:4767: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 4706 "configure"
+#line 4769 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:4713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -4722,9 +4785,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:4726: checking for WEOF" >&5
+echo "configure:4789: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 4728 "configure"
+#line 4791 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -4733,7 +4796,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:4737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -4749,12 +4812,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4753: checking for $ac_func" >&5
+echo "configure:4816: 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 4758 "configure"
+#line 4821 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4777,7 +4840,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4844: \"$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
@@ -4804,7 +4867,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -4812,12 +4875,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4816: checking for $ac_func" >&5
+echo "configure:4879: 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 4821 "configure"
+#line 4884 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4840,7 +4903,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4907: \"$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
@@ -4868,7 +4931,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:4872: checking for ISO C99 wchar_t support" >&5
+echo "configure:4935: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -4880,17 +4943,17 @@ echo "configure:4872: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:4884: checking for iconv.h" >&5
+echo "configure:4947: checking for iconv.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 4889 "configure"
+#line 4952 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4894: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4957: \"$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*
@@ -4914,17 +4977,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:4918: checking for langinfo.h" >&5
+echo "configure:4981: checking for langinfo.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 4923 "configure"
+#line 4986 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4991: \"$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*
@@ -4948,7 +5011,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:4952: checking for iconv in -liconv" >&5
+echo "configure:5015: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4956,7 +5019,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4960 "configure"
+#line 5023 "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
@@ -4967,7 +5030,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:4971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4993,12 +5056,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4997: checking for $ac_func" >&5
+echo "configure:5060: 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 5002 "configure"
+#line 5065 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5021,7 +5084,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5088: \"$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
@@ -5051,7 +5114,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:5055: checking for XPG2 wchar_t support" >&5
+echo "configure:5118: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -5061,21 +5124,27 @@ echo "configure:5055: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:5066: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:5138: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
cat >> confdefs.h <<\EOF
#define HAVE_COPYSIGN 1
@@ -5152,17 +5221,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5156: checking for $ac_hdr" >&5
+echo "configure:5225: 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 5161 "configure"
+#line 5230 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5235: \"$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*
@@ -5240,12 +5309,12 @@ done
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:5244: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:5313: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 5249 "configure"
+#line 5318 "configure"
#include "confdefs.h"
int main(void)
@@ -5256,7 +5325,7 @@ else
}
EOF
-if { (eval echo configure:5260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -5281,7 +5350,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -5290,7 +5359,7 @@ fi
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:5294: checking for main in -lm" >&5
+echo "configure:5363: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5298,14 +5367,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5302 "configure"
+#line 5371 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5335,12 +5404,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5339: checking for $ac_func" >&5
+echo "configure:5408: 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 5344 "configure"
+#line 5413 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5363,7 +5432,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5436: \"$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
@@ -5392,12 +5461,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5396: checking for $ac_func" >&5
+echo "configure:5465: 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 5401 "configure"
+#line 5470 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5420,7 +5489,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5493: \"$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
@@ -5448,12 +5517,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5452: checking for $ac_func" >&5
+echo "configure:5521: 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 5457 "configure"
+#line 5526 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5476,7 +5545,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5549: \"$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
@@ -5506,12 +5575,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5510: checking for $ac_func" >&5
+echo "configure:5579: 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 5515 "configure"
+#line 5584 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5534,7 +5603,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5607: \"$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
@@ -5561,21 +5630,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:5570: checking for mbstate_t" >&5
+echo "configure:5652: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 5572 "configure"
+#line 5654 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:5579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -5597,17 +5679,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5601: checking for $ac_hdr" >&5
+echo "configure:5683: 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 5606 "configure"
+#line 5688 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5611: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5693: \"$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*
@@ -5638,17 +5720,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5642: checking for $ac_hdr" >&5
+echo "configure:5724: 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 5647 "configure"
+#line 5729 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5734: \"$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*
@@ -5681,16 +5763,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:5685: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:5767: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 5687 "configure"
+#line 5769 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:5694: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -5703,9 +5785,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:5707: checking for WEOF" >&5
+echo "configure:5789: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 5709 "configure"
+#line 5791 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -5714,7 +5796,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:5718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -5730,12 +5812,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5734: checking for $ac_func" >&5
+echo "configure:5816: 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 5739 "configure"
+#line 5821 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5758,7 +5840,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5844: \"$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
@@ -5785,7 +5867,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -5793,12 +5875,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5797: checking for $ac_func" >&5
+echo "configure:5879: 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 5802 "configure"
+#line 5884 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5821,7 +5903,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5907: \"$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
@@ -5849,7 +5931,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:5853: checking for ISO C99 wchar_t support" >&5
+echo "configure:5935: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -5861,17 +5943,17 @@ echo "configure:5853: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:5865: checking for iconv.h" >&5
+echo "configure:5947: checking for iconv.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 5870 "configure"
+#line 5952 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5875: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5957: \"$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*
@@ -5895,17 +5977,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:5899: checking for langinfo.h" >&5
+echo "configure:5981: checking for langinfo.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 5904 "configure"
+#line 5986 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5991: \"$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*
@@ -5929,7 +6011,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:5933: checking for iconv in -liconv" >&5
+echo "configure:6015: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5937,7 +6019,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5941 "configure"
+#line 6023 "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
@@ -5948,7 +6030,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:5952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5974,12 +6056,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5978: checking for $ac_func" >&5
+echo "configure:6060: 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 5983 "configure"
+#line 6065 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6002,7 +6084,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6088: \"$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
@@ -6032,7 +6114,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:6036: checking for XPG2 wchar_t support" >&5
+echo "configure:6118: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -6042,21 +6124,27 @@ echo "configure:6036: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:6047: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:6138: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
os_include_dir="os/hpux"
cat >> confdefs.h <<\EOF
@@ -6113,17 +6201,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6117: checking for $ac_hdr" >&5
+echo "configure:6205: 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 6122 "configure"
+#line 6210 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6215: \"$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*
@@ -6201,12 +6289,12 @@ done
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:6205: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:6293: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 6210 "configure"
+#line 6298 "configure"
#include "confdefs.h"
int main(void)
@@ -6217,7 +6305,7 @@ else
}
EOF
-if { (eval echo configure:6221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -6242,7 +6330,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -6251,7 +6339,7 @@ fi
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:6255: checking for main in -lm" >&5
+echo "configure:6343: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -6259,14 +6347,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6263 "configure"
+#line 6351 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -6296,12 +6384,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6300: checking for $ac_func" >&5
+echo "configure:6388: 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 6305 "configure"
+#line 6393 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6324,7 +6412,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6416: \"$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
@@ -6353,12 +6441,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6357: checking for $ac_func" >&5
+echo "configure:6445: 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 6362 "configure"
+#line 6450 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6381,7 +6469,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6473: \"$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
@@ -6409,12 +6497,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6413: checking for $ac_func" >&5
+echo "configure:6501: 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 6418 "configure"
+#line 6506 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6437,7 +6525,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6529: \"$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
@@ -6467,12 +6555,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6471: checking for $ac_func" >&5
+echo "configure:6559: 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 6476 "configure"
+#line 6564 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6495,7 +6583,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6587: \"$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
@@ -6522,21 +6610,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:6531: checking for mbstate_t" >&5
+echo "configure:6632: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 6533 "configure"
+#line 6634 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:6540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -6558,17 +6659,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6562: checking for $ac_hdr" >&5
+echo "configure:6663: 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 6567 "configure"
+#line 6668 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6572: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6673: \"$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*
@@ -6599,17 +6700,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6603: checking for $ac_hdr" >&5
+echo "configure:6704: 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 6608 "configure"
+#line 6709 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6613: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6714: \"$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*
@@ -6642,16 +6743,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:6646: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:6747: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 6648 "configure"
+#line 6749 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:6655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -6664,9 +6765,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:6668: checking for WEOF" >&5
+echo "configure:6769: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 6670 "configure"
+#line 6771 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -6675,7 +6776,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:6679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -6691,12 +6792,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6695: checking for $ac_func" >&5
+echo "configure:6796: 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 6700 "configure"
+#line 6801 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6719,7 +6820,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6824: \"$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
@@ -6746,7 +6847,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -6754,12 +6855,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6758: checking for $ac_func" >&5
+echo "configure:6859: 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 6763 "configure"
+#line 6864 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6782,7 +6883,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6887: \"$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
@@ -6810,7 +6911,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:6814: checking for ISO C99 wchar_t support" >&5
+echo "configure:6915: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -6822,17 +6923,17 @@ echo "configure:6814: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:6826: checking for iconv.h" >&5
+echo "configure:6927: checking for iconv.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 6831 "configure"
+#line 6932 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6836: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6937: \"$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*
@@ -6856,17 +6957,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:6860: checking for langinfo.h" >&5
+echo "configure:6961: checking for langinfo.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 6865 "configure"
+#line 6966 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6870: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6971: \"$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*
@@ -6890,7 +6991,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:6894: checking for iconv in -liconv" >&5
+echo "configure:6995: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -6898,7 +6999,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6902 "configure"
+#line 7003 "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
@@ -6909,7 +7010,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:6913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -6935,12 +7036,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6939: checking for $ac_func" >&5
+echo "configure:7040: 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 6944 "configure"
+#line 7045 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6963,7 +7064,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7068: \"$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
@@ -6993,7 +7094,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:6997: checking for XPG2 wchar_t support" >&5
+echo "configure:7098: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -7003,21 +7104,27 @@ echo "configure:6997: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:7008: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:7118: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
os_include_dir="os/bsd/netbsd"
cat >> confdefs.h <<\EOF
@@ -7084,17 +7191,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7088: checking for $ac_hdr" >&5
+echo "configure:7195: 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 7093 "configure"
+#line 7200 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7205: \"$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*
@@ -7172,12 +7279,12 @@ done
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:7176: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:7283: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 7181 "configure"
+#line 7288 "configure"
#include "confdefs.h"
int main(void)
@@ -7188,7 +7295,7 @@ else
}
EOF
-if { (eval echo configure:7192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -7213,7 +7320,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -7222,7 +7329,7 @@ fi
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:7226: checking for main in -lm" >&5
+echo "configure:7333: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7230,14 +7337,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7234 "configure"
+#line 7341 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:7241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7267,12 +7374,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7271: checking for $ac_func" >&5
+echo "configure:7378: 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 7276 "configure"
+#line 7383 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7295,7 +7402,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7406: \"$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
@@ -7324,12 +7431,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7328: checking for $ac_func" >&5
+echo "configure:7435: 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 7333 "configure"
+#line 7440 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7352,7 +7459,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7463: \"$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
@@ -7380,12 +7487,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7384: checking for $ac_func" >&5
+echo "configure:7491: 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 7389 "configure"
+#line 7496 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7408,7 +7515,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7519: \"$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
@@ -7438,12 +7545,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7442: checking for $ac_func" >&5
+echo "configure:7549: 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 7447 "configure"
+#line 7554 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7466,7 +7573,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7577: \"$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
@@ -7493,21 +7600,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:7502: checking for mbstate_t" >&5
+echo "configure:7622: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 7504 "configure"
+#line 7624 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:7511: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -7529,17 +7649,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7533: checking for $ac_hdr" >&5
+echo "configure:7653: 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 7538 "configure"
+#line 7658 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7663: \"$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*
@@ -7570,17 +7690,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7574: checking for $ac_hdr" >&5
+echo "configure:7694: 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 7579 "configure"
+#line 7699 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7704: \"$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*
@@ -7613,16 +7733,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:7617: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:7737: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 7619 "configure"
+#line 7739 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:7626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -7635,9 +7755,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:7639: checking for WEOF" >&5
+echo "configure:7759: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 7641 "configure"
+#line 7761 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -7646,7 +7766,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:7650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -7662,12 +7782,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7666: checking for $ac_func" >&5
+echo "configure:7786: 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 7671 "configure"
+#line 7791 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7690,7 +7810,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7814: \"$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
@@ -7717,7 +7837,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -7725,12 +7845,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7729: checking for $ac_func" >&5
+echo "configure:7849: 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 7734 "configure"
+#line 7854 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7753,7 +7873,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7877: \"$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
@@ -7781,7 +7901,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:7785: checking for ISO C99 wchar_t support" >&5
+echo "configure:7905: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -7793,17 +7913,17 @@ echo "configure:7785: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:7797: checking for iconv.h" >&5
+echo "configure:7917: checking for iconv.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 7802 "configure"
+#line 7922 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7807: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7927: \"$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*
@@ -7827,17 +7947,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:7831: checking for langinfo.h" >&5
+echo "configure:7951: checking for langinfo.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 7836 "configure"
+#line 7956 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7961: \"$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*
@@ -7861,7 +7981,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:7865: checking for iconv in -liconv" >&5
+echo "configure:7985: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7869,7 +7989,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7873 "configure"
+#line 7993 "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
@@ -7880,7 +8000,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:7884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7906,12 +8026,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7910: checking for $ac_func" >&5
+echo "configure:8030: 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 7915 "configure"
+#line 8035 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7934,7 +8054,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8058: \"$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
@@ -7964,7 +8084,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:7968: checking for XPG2 wchar_t support" >&5
+echo "configure:8088: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -7974,21 +8094,27 @@ echo "configure:7968: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:7979: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:8108: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
os_include_dir="os/bsd/freebsd"
cat >> confdefs.h <<\EOF
@@ -8071,17 +8197,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8075: checking for $ac_hdr" >&5
+echo "configure:8201: 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 8080 "configure"
+#line 8206 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8085: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8211: \"$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*
@@ -8157,12 +8283,12 @@ done
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:8161: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:8287: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 8166 "configure"
+#line 8292 "configure"
#include "confdefs.h"
int main(void)
@@ -8173,7 +8299,7 @@ else
}
EOF
-if { (eval echo configure:8177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -8198,7 +8324,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -8207,7 +8333,7 @@ fi
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:8211: checking for main in -lm" >&5
+echo "configure:8337: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8215,14 +8341,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8219 "configure"
+#line 8345 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:8226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8252,12 +8378,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8256: checking for $ac_func" >&5
+echo "configure:8382: 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 8261 "configure"
+#line 8387 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8280,7 +8406,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8410: \"$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
@@ -8309,12 +8435,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8313: checking for $ac_func" >&5
+echo "configure:8439: 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 8318 "configure"
+#line 8444 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8337,7 +8463,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8467: \"$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
@@ -8365,12 +8491,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8369: checking for $ac_func" >&5
+echo "configure:8495: 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 8374 "configure"
+#line 8500 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8393,7 +8519,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8523: \"$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
@@ -8423,12 +8549,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8427: checking for $ac_func" >&5
+echo "configure:8553: 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 8432 "configure"
+#line 8558 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8451,7 +8577,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8581: \"$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
@@ -8478,21 +8604,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:8487: checking for mbstate_t" >&5
+echo "configure:8626: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 8489 "configure"
+#line 8628 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:8496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -8514,17 +8653,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8518: checking for $ac_hdr" >&5
+echo "configure:8657: 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 8523 "configure"
+#line 8662 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8528: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8667: \"$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*
@@ -8555,17 +8694,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8559: checking for $ac_hdr" >&5
+echo "configure:8698: 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 8564 "configure"
+#line 8703 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8569: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8708: \"$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*
@@ -8598,16 +8737,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:8602: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:8741: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 8604 "configure"
+#line 8743 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:8611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -8620,9 +8759,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:8624: checking for WEOF" >&5
+echo "configure:8763: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 8626 "configure"
+#line 8765 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -8631,7 +8770,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:8635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -8647,12 +8786,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8651: checking for $ac_func" >&5
+echo "configure:8790: 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 8656 "configure"
+#line 8795 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8675,7 +8814,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8818: \"$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
@@ -8702,7 +8841,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -8710,12 +8849,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8714: checking for $ac_func" >&5
+echo "configure:8853: 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 8719 "configure"
+#line 8858 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8738,7 +8877,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8881: \"$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
@@ -8766,7 +8905,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:8770: checking for ISO C99 wchar_t support" >&5
+echo "configure:8909: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -8778,17 +8917,17 @@ echo "configure:8770: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:8782: checking for iconv.h" >&5
+echo "configure:8921: checking for iconv.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 8787 "configure"
+#line 8926 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8792: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8931: \"$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*
@@ -8812,17 +8951,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:8816: checking for langinfo.h" >&5
+echo "configure:8955: checking for langinfo.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 8821 "configure"
+#line 8960 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8965: \"$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*
@@ -8846,7 +8985,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:8850: checking for iconv in -liconv" >&5
+echo "configure:8989: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8854,7 +8993,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8858 "configure"
+#line 8997 "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
@@ -8865,7 +9004,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:8869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8891,12 +9030,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8895: checking for $ac_func" >&5
+echo "configure:9034: 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 8900 "configure"
+#line 9039 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -8919,7 +9058,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:8923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9062: \"$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
@@ -8949,7 +9088,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:8953: checking for XPG2 wchar_t support" >&5
+echo "configure:9092: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -8959,21 +9098,27 @@ echo "configure:8953: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:8964: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:9112: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
os_include_dir="os/mingw32"
;;
@@ -9033,12 +9178,12 @@ EOF
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:9037: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:9182: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 9042 "configure"
+#line 9187 "configure"
#include "confdefs.h"
int main(void)
@@ -9049,7 +9194,7 @@ else
}
EOF
-if { (eval echo configure:9053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -9074,7 +9219,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -9083,7 +9228,7 @@ fi
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:9087: checking for main in -lm" >&5
+echo "configure:9232: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9091,14 +9236,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9095 "configure"
+#line 9240 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:9102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9128,12 +9273,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9132: checking for $ac_func" >&5
+echo "configure:9277: 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 9137 "configure"
+#line 9282 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9156,7 +9301,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9305: \"$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
@@ -9185,12 +9330,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9189: checking for $ac_func" >&5
+echo "configure:9334: 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 9194 "configure"
+#line 9339 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9213,7 +9358,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9362: \"$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
@@ -9241,12 +9386,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9245: checking for $ac_func" >&5
+echo "configure:9390: 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 9250 "configure"
+#line 9395 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9269,7 +9414,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9418: \"$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
@@ -9299,12 +9444,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9303: checking for $ac_func" >&5
+echo "configure:9448: 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 9308 "configure"
+#line 9453 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9327,7 +9472,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9476: \"$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
@@ -9354,21 +9499,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:9363: checking for mbstate_t" >&5
+echo "configure:9521: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 9365 "configure"
+#line 9523 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:9372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -9390,17 +9548,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9394: checking for $ac_hdr" >&5
+echo "configure:9552: 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 9399 "configure"
+#line 9557 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9404: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9562: \"$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*
@@ -9431,17 +9589,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9435: checking for $ac_hdr" >&5
+echo "configure:9593: 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 9440 "configure"
+#line 9598 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9603: \"$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*
@@ -9474,16 +9632,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:9478: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:9636: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 9480 "configure"
+#line 9638 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:9487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9645: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -9496,9 +9654,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:9500: checking for WEOF" >&5
+echo "configure:9658: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 9502 "configure"
+#line 9660 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -9507,7 +9665,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:9511: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -9523,12 +9681,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9527: checking for $ac_func" >&5
+echo "configure:9685: 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 9532 "configure"
+#line 9690 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9551,7 +9709,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9713: \"$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
@@ -9578,7 +9736,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -9586,12 +9744,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9590: checking for $ac_func" >&5
+echo "configure:9748: 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 9595 "configure"
+#line 9753 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9614,7 +9772,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9776: \"$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
@@ -9642,7 +9800,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:9646: checking for ISO C99 wchar_t support" >&5
+echo "configure:9804: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -9654,17 +9812,17 @@ echo "configure:9646: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:9658: checking for iconv.h" >&5
+echo "configure:9816: checking for iconv.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 9663 "configure"
+#line 9821 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9826: \"$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*
@@ -9688,17 +9846,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:9692: checking for langinfo.h" >&5
+echo "configure:9850: checking for langinfo.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 9697 "configure"
+#line 9855 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9702: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9860: \"$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*
@@ -9722,7 +9880,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:9726: checking for iconv in -liconv" >&5
+echo "configure:9884: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -9730,7 +9888,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 9734 "configure"
+#line 9892 "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
@@ -9741,7 +9899,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:9745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -9767,12 +9925,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9771: checking for $ac_func" >&5
+echo "configure:9929: 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 9776 "configure"
+#line 9934 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -9795,7 +9953,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:9799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9957: \"$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
@@ -9825,7 +9983,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:9829: checking for XPG2 wchar_t support" >&5
+echo "configure:9987: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -9835,21 +9993,27 @@ echo "configure:9829: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:9840: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:10007: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
os_include_dir="os/qnx/qnx6.1"
cat >> confdefs.h <<\EOF
@@ -10345,17 +10509,17 @@ else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10349: checking for $ac_hdr" >&5
+echo "configure:10513: 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 10354 "configure"
+#line 10518 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10523: \"$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*
@@ -10406,10 +10570,10 @@ cross_compiling=$ac_cv_prog_cxx_cross
# Check for -ffunction-sections -fdata-sections
echo $ac_n "checking for g++ that supports -ffunction-sections -fdata-sections""... $ac_c" 1>&6
-echo "configure:10410: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
+echo "configure:10574: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
cat > conftest.$ac_ext <<EOF
-#line 10413 "configure"
+#line 10577 "configure"
#include "confdefs.h"
int main() {
@@ -10417,7 +10581,7 @@ int foo;
; return 0; }
EOF
-if { (eval echo configure:10421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_fdsections=yes
else
@@ -10433,8 +10597,7 @@ rm -f conftest*
# this is the suspicious part
CXXFLAGS=''
fi
- if test x"$ac_fdsections" = x"yes" &&
- test x"$enable_debug" = x"no"; then
+ if test x"$ac_fdsections" = x"yes"; then
SECTION_FLAGS='-ffunction-sections -fdata-sections'
fi
echo "$ac_t""$ac_fdsections" 1>&6
@@ -10499,12 +10662,12 @@ cross_compiling=$ac_cv_prog_cc_cross
# used sections, first .eh_frame and now some of the glibc sections for
# iconv). Bzzzzt. Thanks for playing, maybe next time.
echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:10503: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:10666: checking for ld that supports -Wl,--gc-sections" >&5
if test "$cross_compiling" = yes; then
ac_sectionLDflags=yes
else
cat > conftest.$ac_ext <<EOF
-#line 10508 "configure"
+#line 10671 "configure"
#include "confdefs.h"
int main(void)
@@ -10515,7 +10678,7 @@ else
}
EOF
-if { (eval echo configure:10519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_sectionLDflags=yes
else
@@ -10540,7 +10703,7 @@ fi
fi
# Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
+ if test x"$with_gnu_ld" = x"yes"; then
OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
fi
@@ -10550,7 +10713,7 @@ fi
echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6
-echo "configure:10554: checking for __builtin_abs declaration" >&5
+echo "configure:10717: checking for __builtin_abs declaration" >&5
if test x${glibcpp_cv_func___builtin_abs_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10565,14 +10728,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 10569 "configure"
+#line 10732 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_abs(0);
; return 0; }
EOF
-if { (eval echo configure:10576: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_abs_use=yes
else
@@ -10596,21 +10759,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_abs_use" 1>&6
if test x$glibcpp_cv_func___builtin_abs_use = x"yes"; then
echo $ac_n "checking for __builtin_abs linkage""... $ac_c" 1>&6
-echo "configure:10600: checking for __builtin_abs linkage" >&5
+echo "configure:10763: checking for __builtin_abs linkage" >&5
if test x${glibcpp_cv_func___builtin_abs_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10607 "configure"
+#line 10770 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_abs(0);
; return 0; }
EOF
-if { (eval echo configure:10614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_abs_link=yes
else
@@ -10636,7 +10799,7 @@ EOF
echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6
-echo "configure:10640: checking for __builtin_fabsf declaration" >&5
+echo "configure:10803: checking for __builtin_fabsf declaration" >&5
if test x${glibcpp_cv_func___builtin_fabsf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10651,14 +10814,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 10655 "configure"
+#line 10818 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_fabsf(0);
; return 0; }
EOF
-if { (eval echo configure:10662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_fabsf_use=yes
else
@@ -10682,21 +10845,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_fabsf_use" 1>&6
if test x$glibcpp_cv_func___builtin_fabsf_use = x"yes"; then
echo $ac_n "checking for __builtin_fabsf linkage""... $ac_c" 1>&6
-echo "configure:10686: checking for __builtin_fabsf linkage" >&5
+echo "configure:10849: checking for __builtin_fabsf linkage" >&5
if test x${glibcpp_cv_func___builtin_fabsf_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10693 "configure"
+#line 10856 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_fabsf(0);
; return 0; }
EOF
-if { (eval echo configure:10700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_fabsf_link=yes
else
@@ -10722,7 +10885,7 @@ EOF
echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6
-echo "configure:10726: checking for __builtin_fabs declaration" >&5
+echo "configure:10889: checking for __builtin_fabs declaration" >&5
if test x${glibcpp_cv_func___builtin_fabs_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10737,14 +10900,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 10741 "configure"
+#line 10904 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_fabs(0);
; return 0; }
EOF
-if { (eval echo configure:10748: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_fabs_use=yes
else
@@ -10768,21 +10931,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_fabs_use" 1>&6
if test x$glibcpp_cv_func___builtin_fabs_use = x"yes"; then
echo $ac_n "checking for __builtin_fabs linkage""... $ac_c" 1>&6
-echo "configure:10772: checking for __builtin_fabs linkage" >&5
+echo "configure:10935: checking for __builtin_fabs linkage" >&5
if test x${glibcpp_cv_func___builtin_fabs_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10779 "configure"
+#line 10942 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_fabs(0);
; return 0; }
EOF
-if { (eval echo configure:10786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_fabs_link=yes
else
@@ -10808,7 +10971,7 @@ EOF
echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6
-echo "configure:10812: checking for __builtin_fabsl declaration" >&5
+echo "configure:10975: checking for __builtin_fabsl declaration" >&5
if test x${glibcpp_cv_func___builtin_fabsl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10823,14 +10986,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 10827 "configure"
+#line 10990 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_fabsl(0);
; return 0; }
EOF
-if { (eval echo configure:10834: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_fabsl_use=yes
else
@@ -10854,21 +11017,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_fabsl_use" 1>&6
if test x$glibcpp_cv_func___builtin_fabsl_use = x"yes"; then
echo $ac_n "checking for __builtin_fabsl linkage""... $ac_c" 1>&6
-echo "configure:10858: checking for __builtin_fabsl linkage" >&5
+echo "configure:11021: checking for __builtin_fabsl linkage" >&5
if test x${glibcpp_cv_func___builtin_fabsl_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10865 "configure"
+#line 11028 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_fabsl(0);
; return 0; }
EOF
-if { (eval echo configure:10872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_fabsl_link=yes
else
@@ -10894,7 +11057,7 @@ EOF
echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6
-echo "configure:10898: checking for __builtin_labs declaration" >&5
+echo "configure:11061: checking for __builtin_labs declaration" >&5
if test x${glibcpp_cv_func___builtin_labs_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10909,14 +11072,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 10913 "configure"
+#line 11076 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_labs(0);
; return 0; }
EOF
-if { (eval echo configure:10920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11083: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_labs_use=yes
else
@@ -10940,21 +11103,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_labs_use" 1>&6
if test x$glibcpp_cv_func___builtin_labs_use = x"yes"; then
echo $ac_n "checking for __builtin_labs linkage""... $ac_c" 1>&6
-echo "configure:10944: checking for __builtin_labs linkage" >&5
+echo "configure:11107: checking for __builtin_labs linkage" >&5
if test x${glibcpp_cv_func___builtin_labs_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10951 "configure"
+#line 11114 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_labs(0);
; return 0; }
EOF
-if { (eval echo configure:10958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_labs_link=yes
else
@@ -10981,7 +11144,7 @@ EOF
echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6
-echo "configure:10985: checking for __builtin_sqrtf declaration" >&5
+echo "configure:11148: checking for __builtin_sqrtf declaration" >&5
if test x${glibcpp_cv_func___builtin_sqrtf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -10996,14 +11159,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11000 "configure"
+#line 11163 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sqrtf(0);
; return 0; }
EOF
-if { (eval echo configure:11007: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_sqrtf_use=yes
else
@@ -11027,21 +11190,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_sqrtf_use" 1>&6
if test x$glibcpp_cv_func___builtin_sqrtf_use = x"yes"; then
echo $ac_n "checking for __builtin_sqrtf linkage""... $ac_c" 1>&6
-echo "configure:11031: checking for __builtin_sqrtf linkage" >&5
+echo "configure:11194: checking for __builtin_sqrtf linkage" >&5
if test x${glibcpp_cv_func___builtin_sqrtf_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11038 "configure"
+#line 11201 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sqrtf(0);
; return 0; }
EOF
-if { (eval echo configure:11045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_sqrtf_link=yes
else
@@ -11067,7 +11230,7 @@ EOF
echo $ac_n "checking for __builtin_sqrt declaration""... $ac_c" 1>&6
-echo "configure:11071: checking for __builtin_sqrt declaration" >&5
+echo "configure:11234: checking for __builtin_sqrt declaration" >&5
if test x${glibcpp_cv_func___builtin_sqrt_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11082,14 +11245,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11086 "configure"
+#line 11249 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sqrt(0);
; return 0; }
EOF
-if { (eval echo configure:11093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_sqrt_use=yes
else
@@ -11113,21 +11276,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_sqrt_use" 1>&6
if test x$glibcpp_cv_func___builtin_sqrt_use = x"yes"; then
echo $ac_n "checking for __builtin_sqrt linkage""... $ac_c" 1>&6
-echo "configure:11117: checking for __builtin_sqrt linkage" >&5
+echo "configure:11280: checking for __builtin_sqrt linkage" >&5
if test x${glibcpp_cv_func___builtin_sqrt_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11124 "configure"
+#line 11287 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sqrt(0);
; return 0; }
EOF
-if { (eval echo configure:11131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_sqrt_link=yes
else
@@ -11153,7 +11316,7 @@ EOF
echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6
-echo "configure:11157: checking for __builtin_sqrtl declaration" >&5
+echo "configure:11320: checking for __builtin_sqrtl declaration" >&5
if test x${glibcpp_cv_func___builtin_sqrtl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11168,14 +11331,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11172 "configure"
+#line 11335 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sqrtl(0);
; return 0; }
EOF
-if { (eval echo configure:11179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_sqrtl_use=yes
else
@@ -11199,21 +11362,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_sqrtl_use" 1>&6
if test x$glibcpp_cv_func___builtin_sqrtl_use = x"yes"; then
echo $ac_n "checking for __builtin_sqrtl linkage""... $ac_c" 1>&6
-echo "configure:11203: checking for __builtin_sqrtl linkage" >&5
+echo "configure:11366: checking for __builtin_sqrtl linkage" >&5
if test x${glibcpp_cv_func___builtin_sqrtl_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11210 "configure"
+#line 11373 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sqrtl(0);
; return 0; }
EOF
-if { (eval echo configure:11217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_sqrtl_link=yes
else
@@ -11240,7 +11403,7 @@ EOF
echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6
-echo "configure:11244: checking for __builtin_sinf declaration" >&5
+echo "configure:11407: checking for __builtin_sinf declaration" >&5
if test x${glibcpp_cv_func___builtin_sinf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11255,14 +11418,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11259 "configure"
+#line 11422 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sinf(0);
; return 0; }
EOF
-if { (eval echo configure:11266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_sinf_use=yes
else
@@ -11286,21 +11449,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_sinf_use" 1>&6
if test x$glibcpp_cv_func___builtin_sinf_use = x"yes"; then
echo $ac_n "checking for __builtin_sinf linkage""... $ac_c" 1>&6
-echo "configure:11290: checking for __builtin_sinf linkage" >&5
+echo "configure:11453: checking for __builtin_sinf linkage" >&5
if test x${glibcpp_cv_func___builtin_sinf_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11297 "configure"
+#line 11460 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sinf(0);
; return 0; }
EOF
-if { (eval echo configure:11304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_sinf_link=yes
else
@@ -11326,7 +11489,7 @@ EOF
echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6
-echo "configure:11330: checking for __builtin_sin declaration" >&5
+echo "configure:11493: checking for __builtin_sin declaration" >&5
if test x${glibcpp_cv_func___builtin_sin_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11341,14 +11504,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11345 "configure"
+#line 11508 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sin(0);
; return 0; }
EOF
-if { (eval echo configure:11352: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_sin_use=yes
else
@@ -11372,21 +11535,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_sin_use" 1>&6
if test x$glibcpp_cv_func___builtin_sin_use = x"yes"; then
echo $ac_n "checking for __builtin_sin linkage""... $ac_c" 1>&6
-echo "configure:11376: checking for __builtin_sin linkage" >&5
+echo "configure:11539: checking for __builtin_sin linkage" >&5
if test x${glibcpp_cv_func___builtin_sin_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11383 "configure"
+#line 11546 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sin(0);
; return 0; }
EOF
-if { (eval echo configure:11390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_sin_link=yes
else
@@ -11412,7 +11575,7 @@ EOF
echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6
-echo "configure:11416: checking for __builtin_sinl declaration" >&5
+echo "configure:11579: checking for __builtin_sinl declaration" >&5
if test x${glibcpp_cv_func___builtin_sinl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11427,14 +11590,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11431 "configure"
+#line 11594 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sinl(0);
; return 0; }
EOF
-if { (eval echo configure:11438: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_sinl_use=yes
else
@@ -11458,21 +11621,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_sinl_use" 1>&6
if test x$glibcpp_cv_func___builtin_sinl_use = x"yes"; then
echo $ac_n "checking for __builtin_sinl linkage""... $ac_c" 1>&6
-echo "configure:11462: checking for __builtin_sinl linkage" >&5
+echo "configure:11625: checking for __builtin_sinl linkage" >&5
if test x${glibcpp_cv_func___builtin_sinl_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11469 "configure"
+#line 11632 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_sinl(0);
; return 0; }
EOF
-if { (eval echo configure:11476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_sinl_link=yes
else
@@ -11499,7 +11662,7 @@ EOF
echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6
-echo "configure:11503: checking for __builtin_cosf declaration" >&5
+echo "configure:11666: checking for __builtin_cosf declaration" >&5
if test x${glibcpp_cv_func___builtin_cosf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11514,14 +11677,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11518 "configure"
+#line 11681 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_cosf(0);
; return 0; }
EOF
-if { (eval echo configure:11525: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_cosf_use=yes
else
@@ -11545,21 +11708,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_cosf_use" 1>&6
if test x$glibcpp_cv_func___builtin_cosf_use = x"yes"; then
echo $ac_n "checking for __builtin_cosf linkage""... $ac_c" 1>&6
-echo "configure:11549: checking for __builtin_cosf linkage" >&5
+echo "configure:11712: checking for __builtin_cosf linkage" >&5
if test x${glibcpp_cv_func___builtin_cosf_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11556 "configure"
+#line 11719 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_cosf(0);
; return 0; }
EOF
-if { (eval echo configure:11563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_cosf_link=yes
else
@@ -11585,7 +11748,7 @@ EOF
echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6
-echo "configure:11589: checking for __builtin_cos declaration" >&5
+echo "configure:11752: checking for __builtin_cos declaration" >&5
if test x${glibcpp_cv_func___builtin_cos_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11600,14 +11763,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11604 "configure"
+#line 11767 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_cos(0);
; return 0; }
EOF
-if { (eval echo configure:11611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_cos_use=yes
else
@@ -11631,21 +11794,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_cos_use" 1>&6
if test x$glibcpp_cv_func___builtin_cos_use = x"yes"; then
echo $ac_n "checking for __builtin_cos linkage""... $ac_c" 1>&6
-echo "configure:11635: checking for __builtin_cos linkage" >&5
+echo "configure:11798: checking for __builtin_cos linkage" >&5
if test x${glibcpp_cv_func___builtin_cos_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11642 "configure"
+#line 11805 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_cos(0);
; return 0; }
EOF
-if { (eval echo configure:11649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_cos_link=yes
else
@@ -11671,7 +11834,7 @@ EOF
echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6
-echo "configure:11675: checking for __builtin_cosl declaration" >&5
+echo "configure:11838: checking for __builtin_cosl declaration" >&5
if test x${glibcpp_cv_func___builtin_cosl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11686,14 +11849,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11690 "configure"
+#line 11853 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_cosl(0);
; return 0; }
EOF
-if { (eval echo configure:11697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func___builtin_cosl_use=yes
else
@@ -11717,21 +11880,21 @@ fi
echo "$ac_t""$glibcpp_cv_func___builtin_cosl_use" 1>&6
if test x$glibcpp_cv_func___builtin_cosl_use = x"yes"; then
echo $ac_n "checking for __builtin_cosl linkage""... $ac_c" 1>&6
-echo "configure:11721: checking for __builtin_cosl linkage" >&5
+echo "configure:11884: checking for __builtin_cosl linkage" >&5
if test x${glibcpp_cv_func___builtin_cosl_link+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_link'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11728 "configure"
+#line 11891 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
__builtin_cosl(0);
; return 0; }
EOF
-if { (eval echo configure:11735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
glibcpp_cv_func___builtin_cosl_link=yes
else
@@ -11822,7 +11985,7 @@ EOF
CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:11826: checking for sin in -lm" >&5
+echo "configure:11989: checking for sin in -lm" >&5
ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11830,7 +11993,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11834 "configure"
+#line 11997 "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
@@ -11841,7 +12004,7 @@ int main() {
sin()
; return 0; }
EOF
-if { (eval echo configure:11845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -11867,7 +12030,7 @@ fi
echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6
-echo "configure:11871: checking for isinf declaration" >&5
+echo "configure:12034: checking for isinf declaration" >&5
if test x${glibcpp_cv_func_isinf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isinf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11882,7 +12045,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11886 "configure"
+#line 12049 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -11893,7 +12056,7 @@ int main() {
isinf(0);
; return 0; }
EOF
-if { (eval echo configure:11897: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12060: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isinf_use=yes
else
@@ -11920,12 +12083,12 @@ fi
for ac_func in isinf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11924: checking for $ac_func" >&5
+echo "configure:12087: 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 11929 "configure"
+#line 12092 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -11948,7 +12111,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:11952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12115: \"$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
@@ -11975,7 +12138,7 @@ done
else
echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6
-echo "configure:11979: checking for _isinf declaration" >&5
+echo "configure:12142: checking for _isinf declaration" >&5
if test x${glibcpp_cv_func__isinf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__isinf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -11990,7 +12153,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 11994 "configure"
+#line 12157 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -12001,7 +12164,7 @@ int main() {
_isinf(0);
; return 0; }
EOF
-if { (eval echo configure:12005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__isinf_use=yes
else
@@ -12028,12 +12191,12 @@ fi
for ac_func in _isinf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12032: checking for $ac_func" >&5
+echo "configure:12195: 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 12037 "configure"
+#line 12200 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12056,7 +12219,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12223: \"$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
@@ -12086,7 +12249,7 @@ done
echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6
-echo "configure:12090: checking for isnan declaration" >&5
+echo "configure:12253: checking for isnan declaration" >&5
if test x${glibcpp_cv_func_isnan_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isnan_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12101,7 +12264,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12105 "configure"
+#line 12268 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -12112,7 +12275,7 @@ int main() {
isnan(0);
; return 0; }
EOF
-if { (eval echo configure:12116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isnan_use=yes
else
@@ -12139,12 +12302,12 @@ fi
for ac_func in isnan
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12143: checking for $ac_func" >&5
+echo "configure:12306: 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 12148 "configure"
+#line 12311 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12167,7 +12330,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12334: \"$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
@@ -12194,7 +12357,7 @@ done
else
echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6
-echo "configure:12198: checking for _isnan declaration" >&5
+echo "configure:12361: checking for _isnan declaration" >&5
if test x${glibcpp_cv_func__isnan_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__isnan_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12209,7 +12372,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12213 "configure"
+#line 12376 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -12220,7 +12383,7 @@ int main() {
_isnan(0);
; return 0; }
EOF
-if { (eval echo configure:12224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__isnan_use=yes
else
@@ -12247,12 +12410,12 @@ fi
for ac_func in _isnan
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12251: checking for $ac_func" >&5
+echo "configure:12414: 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 12256 "configure"
+#line 12419 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12275,7 +12438,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12442: \"$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
@@ -12305,7 +12468,7 @@ done
echo $ac_n "checking for finite declaration""... $ac_c" 1>&6
-echo "configure:12309: checking for finite declaration" >&5
+echo "configure:12472: checking for finite declaration" >&5
if test x${glibcpp_cv_func_finite_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_finite_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12320,7 +12483,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12324 "configure"
+#line 12487 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -12331,7 +12494,7 @@ int main() {
finite(0);
; return 0; }
EOF
-if { (eval echo configure:12335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_finite_use=yes
else
@@ -12358,12 +12521,12 @@ fi
for ac_func in finite
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12362: checking for $ac_func" >&5
+echo "configure:12525: 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 12367 "configure"
+#line 12530 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12386,7 +12549,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12553: \"$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
@@ -12413,7 +12576,7 @@ done
else
echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6
-echo "configure:12417: checking for _finite declaration" >&5
+echo "configure:12580: checking for _finite declaration" >&5
if test x${glibcpp_cv_func__finite_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__finite_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12428,7 +12591,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12432 "configure"
+#line 12595 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -12439,7 +12602,7 @@ int main() {
_finite(0);
; return 0; }
EOF
-if { (eval echo configure:12443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__finite_use=yes
else
@@ -12466,12 +12629,12 @@ fi
for ac_func in _finite
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12470: checking for $ac_func" >&5
+echo "configure:12633: 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 12475 "configure"
+#line 12638 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12494,7 +12657,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12661: \"$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
@@ -12524,7 +12687,7 @@ done
echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6
-echo "configure:12528: checking for copysign declaration" >&5
+echo "configure:12691: checking for copysign declaration" >&5
if test x${glibcpp_cv_func_copysign_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_copysign_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12539,14 +12702,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12543 "configure"
+#line 12706 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
copysign(0, 0);
; return 0; }
EOF
-if { (eval echo configure:12550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_copysign_use=yes
else
@@ -12573,12 +12736,12 @@ fi
for ac_func in copysign
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12577: checking for $ac_func" >&5
+echo "configure:12740: 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 12582 "configure"
+#line 12745 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12601,7 +12764,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12768: \"$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
@@ -12628,7 +12791,7 @@ done
else
echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6
-echo "configure:12632: checking for _copysign declaration" >&5
+echo "configure:12795: checking for _copysign declaration" >&5
if test x${glibcpp_cv_func__copysign_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__copysign_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12643,14 +12806,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12647 "configure"
+#line 12810 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_copysign(0, 0);
; return 0; }
EOF
-if { (eval echo configure:12654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__copysign_use=yes
else
@@ -12677,12 +12840,12 @@ fi
for ac_func in _copysign
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12681: checking for $ac_func" >&5
+echo "configure:12844: 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 12686 "configure"
+#line 12849 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12705,7 +12868,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12872: \"$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
@@ -12735,7 +12898,7 @@ done
echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6
-echo "configure:12739: checking for sincos declaration" >&5
+echo "configure:12902: checking for sincos declaration" >&5
if test x${glibcpp_cv_func_sincos_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_sincos_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12750,14 +12913,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12754 "configure"
+#line 12917 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
sincos(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:12761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_sincos_use=yes
else
@@ -12784,12 +12947,12 @@ fi
for ac_func in sincos
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12788: checking for $ac_func" >&5
+echo "configure:12951: 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 12793 "configure"
+#line 12956 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12812,7 +12975,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12979: \"$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
@@ -12839,7 +13002,7 @@ done
else
echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6
-echo "configure:12843: checking for _sincos declaration" >&5
+echo "configure:13006: checking for _sincos declaration" >&5
if test x${glibcpp_cv_func__sincos_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__sincos_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12854,14 +13017,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12858 "configure"
+#line 13021 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_sincos(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:12865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__sincos_use=yes
else
@@ -12888,12 +13051,12 @@ fi
for ac_func in _sincos
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12892: checking for $ac_func" >&5
+echo "configure:13055: 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 12897 "configure"
+#line 13060 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -12916,7 +13079,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:12920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13083: \"$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
@@ -12946,7 +13109,7 @@ done
echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6
-echo "configure:12950: checking for fpclass declaration" >&5
+echo "configure:13113: checking for fpclass declaration" >&5
if test x${glibcpp_cv_func_fpclass_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_fpclass_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -12961,7 +13124,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 12965 "configure"
+#line 13128 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -12972,7 +13135,7 @@ int main() {
fpclass(0);
; return 0; }
EOF
-if { (eval echo configure:12976: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13139: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_fpclass_use=yes
else
@@ -12999,12 +13162,12 @@ fi
for ac_func in fpclass
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13003: checking for $ac_func" >&5
+echo "configure:13166: 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 13008 "configure"
+#line 13171 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13027,7 +13190,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13194: \"$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
@@ -13054,7 +13217,7 @@ done
else
echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6
-echo "configure:13058: checking for _fpclass declaration" >&5
+echo "configure:13221: checking for _fpclass declaration" >&5
if test x${glibcpp_cv_func__fpclass_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__fpclass_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13069,7 +13232,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13073 "configure"
+#line 13236 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -13080,7 +13243,7 @@ int main() {
_fpclass(0);
; return 0; }
EOF
-if { (eval echo configure:13084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__fpclass_use=yes
else
@@ -13107,12 +13270,12 @@ fi
for ac_func in _fpclass
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13111: checking for $ac_func" >&5
+echo "configure:13274: 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 13116 "configure"
+#line 13279 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13135,7 +13298,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13302: \"$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
@@ -13165,7 +13328,7 @@ done
echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6
-echo "configure:13169: checking for qfpclass declaration" >&5
+echo "configure:13332: checking for qfpclass declaration" >&5
if test x${glibcpp_cv_func_qfpclass_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_qfpclass_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13180,7 +13343,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13184 "configure"
+#line 13347 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -13191,7 +13354,7 @@ int main() {
qfpclass(0);
; return 0; }
EOF
-if { (eval echo configure:13195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_qfpclass_use=yes
else
@@ -13218,12 +13381,12 @@ fi
for ac_func in qfpclass
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13222: checking for $ac_func" >&5
+echo "configure:13385: 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 13227 "configure"
+#line 13390 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13246,7 +13409,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13413: \"$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
@@ -13273,7 +13436,7 @@ done
else
echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6
-echo "configure:13277: checking for _qfpclass declaration" >&5
+echo "configure:13440: checking for _qfpclass declaration" >&5
if test x${glibcpp_cv_func__qfpclass_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__qfpclass_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13288,7 +13451,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13292 "configure"
+#line 13455 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -13299,7 +13462,7 @@ int main() {
_qfpclass(0);
; return 0; }
EOF
-if { (eval echo configure:13303: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__qfpclass_use=yes
else
@@ -13326,12 +13489,12 @@ fi
for ac_func in _qfpclass
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13330: checking for $ac_func" >&5
+echo "configure:13493: 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 13335 "configure"
+#line 13498 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13354,7 +13517,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13521: \"$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
@@ -13384,7 +13547,7 @@ done
echo $ac_n "checking for hypot declaration""... $ac_c" 1>&6
-echo "configure:13388: checking for hypot declaration" >&5
+echo "configure:13551: checking for hypot declaration" >&5
if test x${glibcpp_cv_func_hypot_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_hypot_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13399,14 +13562,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13403 "configure"
+#line 13566 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
hypot(0, 0);
; return 0; }
EOF
-if { (eval echo configure:13410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_hypot_use=yes
else
@@ -13433,12 +13596,12 @@ fi
for ac_func in hypot
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13437: checking for $ac_func" >&5
+echo "configure:13600: 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 13442 "configure"
+#line 13605 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13461,7 +13624,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13628: \"$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
@@ -13488,7 +13651,7 @@ done
else
echo $ac_n "checking for _hypot declaration""... $ac_c" 1>&6
-echo "configure:13492: checking for _hypot declaration" >&5
+echo "configure:13655: checking for _hypot declaration" >&5
if test x${glibcpp_cv_func__hypot_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__hypot_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13503,14 +13666,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13507 "configure"
+#line 13670 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_hypot(0, 0);
; return 0; }
EOF
-if { (eval echo configure:13514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__hypot_use=yes
else
@@ -13537,12 +13700,12 @@ fi
for ac_func in _hypot
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13541: checking for $ac_func" >&5
+echo "configure:13704: 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 13546 "configure"
+#line 13709 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13565,7 +13728,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13732: \"$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
@@ -13595,7 +13758,7 @@ done
echo $ac_n "checking for float trig functions""... $ac_c" 1>&6
-echo "configure:13599: checking for float trig functions" >&5
+echo "configure:13762: checking for float trig functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func_float_trig_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -13609,7 +13772,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13613 "configure"
+#line 13776 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
@@ -13618,7 +13781,7 @@ int main() {
coshf sinhf tanhf; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:13622: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_float_trig_use=yes
else
@@ -13644,12 +13807,12 @@ fi
coshf sinhf tanhf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13648: checking for $ac_func" >&5
+echo "configure:13811: 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 13653 "configure"
+#line 13816 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13672,7 +13835,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13839: \"$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
@@ -13700,7 +13863,7 @@ done
echo $ac_n "checking for float round functions""... $ac_c" 1>&6
-echo "configure:13704: checking for float round functions" >&5
+echo "configure:13867: checking for float round functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func_float_round_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -13714,14 +13877,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13718 "configure"
+#line 13881 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
`for x in ceilf floorf; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:13725: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_float_round_use=yes
else
@@ -13745,12 +13908,12 @@ fi
for ac_func in ceilf floorf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13749: checking for $ac_func" >&5
+echo "configure:13912: 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 13754 "configure"
+#line 13917 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13773,7 +13936,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13940: \"$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
@@ -13802,7 +13965,7 @@ done
echo $ac_n "checking for expf declaration""... $ac_c" 1>&6
-echo "configure:13806: checking for expf declaration" >&5
+echo "configure:13969: checking for expf declaration" >&5
if test x${glibcpp_cv_func_expf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_expf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13817,7 +13980,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13821 "configure"
+#line 13984 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -13828,7 +13991,7 @@ int main() {
expf(0);
; return 0; }
EOF
-if { (eval echo configure:13832: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_expf_use=yes
else
@@ -13855,12 +14018,12 @@ fi
for ac_func in expf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13859: checking for $ac_func" >&5
+echo "configure:14022: 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 13864 "configure"
+#line 14027 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13883,7 +14046,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14050: \"$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
@@ -13910,7 +14073,7 @@ done
else
echo $ac_n "checking for _expf declaration""... $ac_c" 1>&6
-echo "configure:13914: checking for _expf declaration" >&5
+echo "configure:14077: checking for _expf declaration" >&5
if test x${glibcpp_cv_func__expf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__expf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -13925,7 +14088,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 13929 "configure"
+#line 14092 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -13936,7 +14099,7 @@ int main() {
_expf(0);
; return 0; }
EOF
-if { (eval echo configure:13940: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__expf_use=yes
else
@@ -13963,12 +14126,12 @@ fi
for ac_func in _expf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13967: checking for $ac_func" >&5
+echo "configure:14130: 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 13972 "configure"
+#line 14135 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -13991,7 +14154,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:13995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14158: \"$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
@@ -14021,7 +14184,7 @@ done
echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6
-echo "configure:14025: checking for isnanf declaration" >&5
+echo "configure:14188: checking for isnanf declaration" >&5
if test x${glibcpp_cv_func_isnanf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isnanf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14036,7 +14199,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14040 "configure"
+#line 14203 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -14047,7 +14210,7 @@ int main() {
isnanf(0);
; return 0; }
EOF
-if { (eval echo configure:14051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14214: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isnanf_use=yes
else
@@ -14074,12 +14237,12 @@ fi
for ac_func in isnanf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14078: checking for $ac_func" >&5
+echo "configure:14241: 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 14083 "configure"
+#line 14246 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14102,7 +14265,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14269: \"$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
@@ -14129,7 +14292,7 @@ done
else
echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6
-echo "configure:14133: checking for _isnanf declaration" >&5
+echo "configure:14296: checking for _isnanf declaration" >&5
if test x${glibcpp_cv_func__isnanf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__isnanf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14144,7 +14307,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14148 "configure"
+#line 14311 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -14155,7 +14318,7 @@ int main() {
_isnanf(0);
; return 0; }
EOF
-if { (eval echo configure:14159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__isnanf_use=yes
else
@@ -14182,12 +14345,12 @@ fi
for ac_func in _isnanf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14186: checking for $ac_func" >&5
+echo "configure:14349: 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 14191 "configure"
+#line 14354 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14210,7 +14373,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14377: \"$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
@@ -14240,7 +14403,7 @@ done
echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6
-echo "configure:14244: checking for isinff declaration" >&5
+echo "configure:14407: checking for isinff declaration" >&5
if test x${glibcpp_cv_func_isinff_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isinff_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14255,7 +14418,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14259 "configure"
+#line 14422 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -14266,7 +14429,7 @@ int main() {
isinff(0);
; return 0; }
EOF
-if { (eval echo configure:14270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isinff_use=yes
else
@@ -14293,12 +14456,12 @@ fi
for ac_func in isinff
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14297: checking for $ac_func" >&5
+echo "configure:14460: 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 14302 "configure"
+#line 14465 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14321,7 +14484,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14488: \"$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
@@ -14348,7 +14511,7 @@ done
else
echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6
-echo "configure:14352: checking for _isinff declaration" >&5
+echo "configure:14515: checking for _isinff declaration" >&5
if test x${glibcpp_cv_func__isinff_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__isinff_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14363,7 +14526,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14367 "configure"
+#line 14530 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -14374,7 +14537,7 @@ int main() {
_isinff(0);
; return 0; }
EOF
-if { (eval echo configure:14378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__isinff_use=yes
else
@@ -14401,12 +14564,12 @@ fi
for ac_func in _isinff
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14405: checking for $ac_func" >&5
+echo "configure:14568: 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 14410 "configure"
+#line 14573 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14429,7 +14592,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14596: \"$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
@@ -14459,7 +14622,7 @@ done
echo $ac_n "checking for atan2f declaration""... $ac_c" 1>&6
-echo "configure:14463: checking for atan2f declaration" >&5
+echo "configure:14626: checking for atan2f declaration" >&5
if test x${glibcpp_cv_func_atan2f_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_atan2f_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14474,14 +14637,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14478 "configure"
+#line 14641 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
atan2f(0, 0);
; return 0; }
EOF
-if { (eval echo configure:14485: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14648: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_atan2f_use=yes
else
@@ -14508,12 +14671,12 @@ fi
for ac_func in atan2f
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14512: checking for $ac_func" >&5
+echo "configure:14675: 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 14517 "configure"
+#line 14680 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14536,7 +14699,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14703: \"$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
@@ -14563,7 +14726,7 @@ done
else
echo $ac_n "checking for _atan2f declaration""... $ac_c" 1>&6
-echo "configure:14567: checking for _atan2f declaration" >&5
+echo "configure:14730: checking for _atan2f declaration" >&5
if test x${glibcpp_cv_func__atan2f_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__atan2f_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14578,14 +14741,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14582 "configure"
+#line 14745 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_atan2f(0, 0);
; return 0; }
EOF
-if { (eval echo configure:14589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__atan2f_use=yes
else
@@ -14612,12 +14775,12 @@ fi
for ac_func in _atan2f
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14616: checking for $ac_func" >&5
+echo "configure:14779: 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 14621 "configure"
+#line 14784 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14640,7 +14803,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14807: \"$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
@@ -14670,7 +14833,7 @@ done
echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6
-echo "configure:14674: checking for fabsf declaration" >&5
+echo "configure:14837: checking for fabsf declaration" >&5
if test x${glibcpp_cv_func_fabsf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_fabsf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14685,7 +14848,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14689 "configure"
+#line 14852 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -14696,7 +14859,7 @@ int main() {
fabsf(0);
; return 0; }
EOF
-if { (eval echo configure:14700: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_fabsf_use=yes
else
@@ -14723,12 +14886,12 @@ fi
for ac_func in fabsf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14727: checking for $ac_func" >&5
+echo "configure:14890: 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 14732 "configure"
+#line 14895 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14751,7 +14914,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14918: \"$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
@@ -14778,7 +14941,7 @@ done
else
echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6
-echo "configure:14782: checking for _fabsf declaration" >&5
+echo "configure:14945: checking for _fabsf declaration" >&5
if test x${glibcpp_cv_func__fabsf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__fabsf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14793,7 +14956,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14797 "configure"
+#line 14960 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -14804,7 +14967,7 @@ int main() {
_fabsf(0);
; return 0; }
EOF
-if { (eval echo configure:14808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__fabsf_use=yes
else
@@ -14831,12 +14994,12 @@ fi
for ac_func in _fabsf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14835: checking for $ac_func" >&5
+echo "configure:14998: 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 14840 "configure"
+#line 15003 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14859,7 +15022,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15026: \"$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
@@ -14889,7 +15052,7 @@ done
echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6
-echo "configure:14893: checking for fmodf declaration" >&5
+echo "configure:15056: checking for fmodf declaration" >&5
if test x${glibcpp_cv_func_fmodf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_fmodf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -14904,14 +15067,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 14908 "configure"
+#line 15071 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
fmodf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:14915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_fmodf_use=yes
else
@@ -14938,12 +15101,12 @@ fi
for ac_func in fmodf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14942: checking for $ac_func" >&5
+echo "configure:15105: 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 14947 "configure"
+#line 15110 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -14966,7 +15129,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:14970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15133: \"$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
@@ -14993,7 +15156,7 @@ done
else
echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6
-echo "configure:14997: checking for _fmodf declaration" >&5
+echo "configure:15160: checking for _fmodf declaration" >&5
if test x${glibcpp_cv_func__fmodf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__fmodf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15008,14 +15171,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15012 "configure"
+#line 15175 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_fmodf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__fmodf_use=yes
else
@@ -15042,12 +15205,12 @@ fi
for ac_func in _fmodf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15046: checking for $ac_func" >&5
+echo "configure:15209: 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 15051 "configure"
+#line 15214 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15070,7 +15233,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15237: \"$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
@@ -15100,7 +15263,7 @@ done
echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6
-echo "configure:15104: checking for frexpf declaration" >&5
+echo "configure:15267: checking for frexpf declaration" >&5
if test x${glibcpp_cv_func_frexpf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_frexpf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15115,14 +15278,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15119 "configure"
+#line 15282 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
frexpf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15289: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_frexpf_use=yes
else
@@ -15149,12 +15312,12 @@ fi
for ac_func in frexpf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15153: checking for $ac_func" >&5
+echo "configure:15316: 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 15158 "configure"
+#line 15321 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15177,7 +15340,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15344: \"$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
@@ -15204,7 +15367,7 @@ done
else
echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6
-echo "configure:15208: checking for _frexpf declaration" >&5
+echo "configure:15371: checking for _frexpf declaration" >&5
if test x${glibcpp_cv_func__frexpf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__frexpf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15219,14 +15382,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15223 "configure"
+#line 15386 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_frexpf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15393: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__frexpf_use=yes
else
@@ -15253,12 +15416,12 @@ fi
for ac_func in _frexpf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15257: checking for $ac_func" >&5
+echo "configure:15420: 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 15262 "configure"
+#line 15425 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15281,7 +15444,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15448: \"$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
@@ -15311,7 +15474,7 @@ done
echo $ac_n "checking for hypotf declaration""... $ac_c" 1>&6
-echo "configure:15315: checking for hypotf declaration" >&5
+echo "configure:15478: checking for hypotf declaration" >&5
if test x${glibcpp_cv_func_hypotf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_hypotf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15326,14 +15489,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15330 "configure"
+#line 15493 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
hypotf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15337: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_hypotf_use=yes
else
@@ -15360,12 +15523,12 @@ fi
for ac_func in hypotf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15364: checking for $ac_func" >&5
+echo "configure:15527: 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 15369 "configure"
+#line 15532 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15388,7 +15551,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15555: \"$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
@@ -15415,7 +15578,7 @@ done
else
echo $ac_n "checking for _hypotf declaration""... $ac_c" 1>&6
-echo "configure:15419: checking for _hypotf declaration" >&5
+echo "configure:15582: checking for _hypotf declaration" >&5
if test x${glibcpp_cv_func__hypotf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__hypotf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15430,14 +15593,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15434 "configure"
+#line 15597 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_hypotf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__hypotf_use=yes
else
@@ -15464,12 +15627,12 @@ fi
for ac_func in _hypotf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15468: checking for $ac_func" >&5
+echo "configure:15631: 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 15473 "configure"
+#line 15636 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15492,7 +15655,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15659: \"$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
@@ -15522,7 +15685,7 @@ done
echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6
-echo "configure:15526: checking for ldexpf declaration" >&5
+echo "configure:15689: checking for ldexpf declaration" >&5
if test x${glibcpp_cv_func_ldexpf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15537,14 +15700,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15541 "configure"
+#line 15704 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
ldexpf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_ldexpf_use=yes
else
@@ -15571,12 +15734,12 @@ fi
for ac_func in ldexpf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15575: checking for $ac_func" >&5
+echo "configure:15738: 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 15580 "configure"
+#line 15743 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15599,7 +15762,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15766: \"$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
@@ -15626,7 +15789,7 @@ done
else
echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6
-echo "configure:15630: checking for _ldexpf declaration" >&5
+echo "configure:15793: checking for _ldexpf declaration" >&5
if test x${glibcpp_cv_func__ldexpf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15641,14 +15804,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15645 "configure"
+#line 15808 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_ldexpf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:15652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15815: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__ldexpf_use=yes
else
@@ -15675,12 +15838,12 @@ fi
for ac_func in _ldexpf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15679: checking for $ac_func" >&5
+echo "configure:15842: 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 15684 "configure"
+#line 15847 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15703,7 +15866,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15870: \"$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
@@ -15733,7 +15896,7 @@ done
echo $ac_n "checking for logf declaration""... $ac_c" 1>&6
-echo "configure:15737: checking for logf declaration" >&5
+echo "configure:15900: checking for logf declaration" >&5
if test x${glibcpp_cv_func_logf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_logf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15748,7 +15911,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15752 "configure"
+#line 15915 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -15759,7 +15922,7 @@ int main() {
logf(0);
; return 0; }
EOF
-if { (eval echo configure:15763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15926: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_logf_use=yes
else
@@ -15786,12 +15949,12 @@ fi
for ac_func in logf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15790: checking for $ac_func" >&5
+echo "configure:15953: 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 15795 "configure"
+#line 15958 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15814,7 +15977,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15981: \"$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
@@ -15841,7 +16004,7 @@ done
else
echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6
-echo "configure:15845: checking for _logf declaration" >&5
+echo "configure:16008: checking for _logf declaration" >&5
if test x${glibcpp_cv_func__logf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__logf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15856,7 +16019,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15860 "configure"
+#line 16023 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -15867,7 +16030,7 @@ int main() {
_logf(0);
; return 0; }
EOF
-if { (eval echo configure:15871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__logf_use=yes
else
@@ -15894,12 +16057,12 @@ fi
for ac_func in _logf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15898: checking for $ac_func" >&5
+echo "configure:16061: 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 15903 "configure"
+#line 16066 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -15922,7 +16085,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:15926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16089: \"$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
@@ -15952,7 +16115,7 @@ done
echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6
-echo "configure:15956: checking for log10f declaration" >&5
+echo "configure:16119: checking for log10f declaration" >&5
if test x${glibcpp_cv_func_log10f_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_log10f_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -15967,7 +16130,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 15971 "configure"
+#line 16134 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -15978,7 +16141,7 @@ int main() {
log10f(0);
; return 0; }
EOF
-if { (eval echo configure:15982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_log10f_use=yes
else
@@ -16005,12 +16168,12 @@ fi
for ac_func in log10f
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16009: checking for $ac_func" >&5
+echo "configure:16172: 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 16014 "configure"
+#line 16177 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16033,7 +16196,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16200: \"$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
@@ -16060,7 +16223,7 @@ done
else
echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6
-echo "configure:16064: checking for _log10f declaration" >&5
+echo "configure:16227: checking for _log10f declaration" >&5
if test x${glibcpp_cv_func__log10f_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__log10f_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16075,7 +16238,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16079 "configure"
+#line 16242 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -16086,7 +16249,7 @@ int main() {
_log10f(0);
; return 0; }
EOF
-if { (eval echo configure:16090: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__log10f_use=yes
else
@@ -16113,12 +16276,12 @@ fi
for ac_func in _log10f
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16117: checking for $ac_func" >&5
+echo "configure:16280: 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 16122 "configure"
+#line 16285 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16141,7 +16304,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16308: \"$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
@@ -16171,7 +16334,7 @@ done
echo $ac_n "checking for modff declaration""... $ac_c" 1>&6
-echo "configure:16175: checking for modff declaration" >&5
+echo "configure:16338: checking for modff declaration" >&5
if test x${glibcpp_cv_func_modff_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_modff_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16186,14 +16349,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16190 "configure"
+#line 16353 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
modff(0, 0);
; return 0; }
EOF
-if { (eval echo configure:16197: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_modff_use=yes
else
@@ -16220,12 +16383,12 @@ fi
for ac_func in modff
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16224: checking for $ac_func" >&5
+echo "configure:16387: 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 16229 "configure"
+#line 16392 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16248,7 +16411,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16415: \"$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
@@ -16275,7 +16438,7 @@ done
else
echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6
-echo "configure:16279: checking for _modff declaration" >&5
+echo "configure:16442: checking for _modff declaration" >&5
if test x${glibcpp_cv_func__modff_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__modff_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16290,14 +16453,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16294 "configure"
+#line 16457 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_modff(0, 0);
; return 0; }
EOF
-if { (eval echo configure:16301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__modff_use=yes
else
@@ -16324,12 +16487,12 @@ fi
for ac_func in _modff
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16328: checking for $ac_func" >&5
+echo "configure:16491: 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 16333 "configure"
+#line 16496 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16352,7 +16515,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16519: \"$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
@@ -16382,7 +16545,7 @@ done
echo $ac_n "checking for powf declaration""... $ac_c" 1>&6
-echo "configure:16386: checking for powf declaration" >&5
+echo "configure:16549: checking for powf declaration" >&5
if test x${glibcpp_cv_func_powf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_powf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16397,14 +16560,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16401 "configure"
+#line 16564 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
powf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:16408: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_powf_use=yes
else
@@ -16431,12 +16594,12 @@ fi
for ac_func in powf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16435: checking for $ac_func" >&5
+echo "configure:16598: 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 16440 "configure"
+#line 16603 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16459,7 +16622,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16626: \"$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
@@ -16486,7 +16649,7 @@ done
else
echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6
-echo "configure:16490: checking for _powf declaration" >&5
+echo "configure:16653: checking for _powf declaration" >&5
if test x${glibcpp_cv_func__powf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__powf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16501,14 +16664,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16505 "configure"
+#line 16668 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_powf(0, 0);
; return 0; }
EOF
-if { (eval echo configure:16512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__powf_use=yes
else
@@ -16535,12 +16698,12 @@ fi
for ac_func in _powf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16539: checking for $ac_func" >&5
+echo "configure:16702: 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 16544 "configure"
+#line 16707 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16563,7 +16726,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16730: \"$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
@@ -16593,7 +16756,7 @@ done
echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6
-echo "configure:16597: checking for sqrtf declaration" >&5
+echo "configure:16760: checking for sqrtf declaration" >&5
if test x${glibcpp_cv_func_sqrtf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16608,7 +16771,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16612 "configure"
+#line 16775 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -16619,7 +16782,7 @@ int main() {
sqrtf(0);
; return 0; }
EOF
-if { (eval echo configure:16623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_sqrtf_use=yes
else
@@ -16646,12 +16809,12 @@ fi
for ac_func in sqrtf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16650: checking for $ac_func" >&5
+echo "configure:16813: 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 16655 "configure"
+#line 16818 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16674,7 +16837,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16841: \"$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
@@ -16701,7 +16864,7 @@ done
else
echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6
-echo "configure:16705: checking for _sqrtf declaration" >&5
+echo "configure:16868: checking for _sqrtf declaration" >&5
if test x${glibcpp_cv_func__sqrtf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16716,7 +16879,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16720 "configure"
+#line 16883 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -16727,7 +16890,7 @@ int main() {
_sqrtf(0);
; return 0; }
EOF
-if { (eval echo configure:16731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__sqrtf_use=yes
else
@@ -16754,12 +16917,12 @@ fi
for ac_func in _sqrtf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16758: checking for $ac_func" >&5
+echo "configure:16921: 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 16763 "configure"
+#line 16926 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16782,7 +16945,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16949: \"$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
@@ -16812,7 +16975,7 @@ done
echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6
-echo "configure:16816: checking for sincosf declaration" >&5
+echo "configure:16979: checking for sincosf declaration" >&5
if test x${glibcpp_cv_func_sincosf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_sincosf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16827,14 +16990,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16831 "configure"
+#line 16994 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
sincosf(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:16838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_sincosf_use=yes
else
@@ -16861,12 +17024,12 @@ fi
for ac_func in sincosf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16865: checking for $ac_func" >&5
+echo "configure:17028: 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 16870 "configure"
+#line 17033 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16889,7 +17052,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17056: \"$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
@@ -16916,7 +17079,7 @@ done
else
echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6
-echo "configure:16920: checking for _sincosf declaration" >&5
+echo "configure:17083: checking for _sincosf declaration" >&5
if test x${glibcpp_cv_func__sincosf_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__sincosf_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -16931,14 +17094,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 16935 "configure"
+#line 17098 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_sincosf(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:16942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__sincosf_use=yes
else
@@ -16965,12 +17128,12 @@ fi
for ac_func in _sincosf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16969: checking for $ac_func" >&5
+echo "configure:17132: 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 16974 "configure"
+#line 17137 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -16993,7 +17156,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:16997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17160: \"$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
@@ -17023,7 +17186,7 @@ done
echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6
-echo "configure:17027: checking for finitef declaration" >&5
+echo "configure:17190: checking for finitef declaration" >&5
if test x${glibcpp_cv_func_finitef_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_finitef_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17038,7 +17201,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17042 "configure"
+#line 17205 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -17049,7 +17212,7 @@ int main() {
finitef(0);
; return 0; }
EOF
-if { (eval echo configure:17053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_finitef_use=yes
else
@@ -17076,12 +17239,12 @@ fi
for ac_func in finitef
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17080: checking for $ac_func" >&5
+echo "configure:17243: 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 17085 "configure"
+#line 17248 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17104,7 +17267,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17271: \"$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
@@ -17131,7 +17294,7 @@ done
else
echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6
-echo "configure:17135: checking for _finitef declaration" >&5
+echo "configure:17298: checking for _finitef declaration" >&5
if test x${glibcpp_cv_func__finitef_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__finitef_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17146,7 +17309,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17150 "configure"
+#line 17313 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -17157,7 +17320,7 @@ int main() {
_finitef(0);
; return 0; }
EOF
-if { (eval echo configure:17161: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__finitef_use=yes
else
@@ -17184,12 +17347,12 @@ fi
for ac_func in _finitef
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17188: checking for $ac_func" >&5
+echo "configure:17351: 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 17193 "configure"
+#line 17356 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17212,7 +17375,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17379: \"$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
@@ -17242,7 +17405,7 @@ done
echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6
-echo "configure:17246: checking for long double trig functions" >&5
+echo "configure:17409: checking for long double trig functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_trig_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -17256,7 +17419,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17260 "configure"
+#line 17423 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
@@ -17265,7 +17428,7 @@ int main() {
coshl sinhl tanhl; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:17269: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_long_double_trig_use=yes
else
@@ -17291,12 +17454,12 @@ fi
coshl sinhl tanhl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17295: checking for $ac_func" >&5
+echo "configure:17458: 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 17300 "configure"
+#line 17463 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17319,7 +17482,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17486: \"$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
@@ -17347,7 +17510,7 @@ done
echo $ac_n "checking for long double round functions""... $ac_c" 1>&6
-echo "configure:17351: checking for long double round functions" >&5
+echo "configure:17514: checking for long double round functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_round_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -17361,14 +17524,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17365 "configure"
+#line 17528 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
`for x in ceill floorl; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:17372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_long_double_round_use=yes
else
@@ -17392,12 +17555,12 @@ fi
for ac_func in ceill floorl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17396: checking for $ac_func" >&5
+echo "configure:17559: 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 17401 "configure"
+#line 17564 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17420,7 +17583,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17587: \"$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
@@ -17449,7 +17612,7 @@ done
echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6
-echo "configure:17453: checking for isnanl declaration" >&5
+echo "configure:17616: checking for isnanl declaration" >&5
if test x${glibcpp_cv_func_isnanl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isnanl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17464,7 +17627,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17468 "configure"
+#line 17631 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -17475,7 +17638,7 @@ int main() {
isnanl(0);
; return 0; }
EOF
-if { (eval echo configure:17479: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isnanl_use=yes
else
@@ -17502,12 +17665,12 @@ fi
for ac_func in isnanl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17506: checking for $ac_func" >&5
+echo "configure:17669: 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 17511 "configure"
+#line 17674 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17530,7 +17693,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17697: \"$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
@@ -17557,7 +17720,7 @@ done
else
echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6
-echo "configure:17561: checking for _isnanl declaration" >&5
+echo "configure:17724: checking for _isnanl declaration" >&5
if test x${glibcpp_cv_func__isnanl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__isnanl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17572,7 +17735,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17576 "configure"
+#line 17739 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -17583,7 +17746,7 @@ int main() {
_isnanl(0);
; return 0; }
EOF
-if { (eval echo configure:17587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__isnanl_use=yes
else
@@ -17610,12 +17773,12 @@ fi
for ac_func in _isnanl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17614: checking for $ac_func" >&5
+echo "configure:17777: 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 17619 "configure"
+#line 17782 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17638,7 +17801,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17805: \"$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
@@ -17668,7 +17831,7 @@ done
echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6
-echo "configure:17672: checking for isinfl declaration" >&5
+echo "configure:17835: checking for isinfl declaration" >&5
if test x${glibcpp_cv_func_isinfl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isinfl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17683,7 +17846,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17687 "configure"
+#line 17850 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -17694,7 +17857,7 @@ int main() {
isinfl(0);
; return 0; }
EOF
-if { (eval echo configure:17698: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isinfl_use=yes
else
@@ -17721,12 +17884,12 @@ fi
for ac_func in isinfl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17725: checking for $ac_func" >&5
+echo "configure:17888: 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 17730 "configure"
+#line 17893 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17749,7 +17912,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17916: \"$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
@@ -17776,7 +17939,7 @@ done
else
echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6
-echo "configure:17780: checking for _isinfl declaration" >&5
+echo "configure:17943: checking for _isinfl declaration" >&5
if test x${glibcpp_cv_func__isinfl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__isinfl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17791,7 +17954,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17795 "configure"
+#line 17958 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -17802,7 +17965,7 @@ int main() {
_isinfl(0);
; return 0; }
EOF
-if { (eval echo configure:17806: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:17969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__isinfl_use=yes
else
@@ -17829,12 +17992,12 @@ fi
for ac_func in _isinfl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17833: checking for $ac_func" >&5
+echo "configure:17996: 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 17838 "configure"
+#line 18001 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17857,7 +18020,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18024: \"$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
@@ -17887,7 +18050,7 @@ done
echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6
-echo "configure:17891: checking for copysignl declaration" >&5
+echo "configure:18054: checking for copysignl declaration" >&5
if test x${glibcpp_cv_func_copysignl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_copysignl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -17902,14 +18065,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 17906 "configure"
+#line 18069 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
copysignl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:17913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_copysignl_use=yes
else
@@ -17936,12 +18099,12 @@ fi
for ac_func in copysignl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17940: checking for $ac_func" >&5
+echo "configure:18103: 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 17945 "configure"
+#line 18108 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -17964,7 +18127,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:17968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18131: \"$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
@@ -17991,7 +18154,7 @@ done
else
echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6
-echo "configure:17995: checking for _copysignl declaration" >&5
+echo "configure:18158: checking for _copysignl declaration" >&5
if test x${glibcpp_cv_func__copysignl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__copysignl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18006,14 +18169,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18010 "configure"
+#line 18173 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_copysignl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:18017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__copysignl_use=yes
else
@@ -18040,12 +18203,12 @@ fi
for ac_func in _copysignl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18044: checking for $ac_func" >&5
+echo "configure:18207: 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 18049 "configure"
+#line 18212 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18068,7 +18231,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18235: \"$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
@@ -18098,7 +18261,7 @@ done
echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6
-echo "configure:18102: checking for atan2l declaration" >&5
+echo "configure:18265: checking for atan2l declaration" >&5
if test x${glibcpp_cv_func_atan2l_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_atan2l_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18113,14 +18276,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18117 "configure"
+#line 18280 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
atan2l(0, 0);
; return 0; }
EOF
-if { (eval echo configure:18124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_atan2l_use=yes
else
@@ -18147,12 +18310,12 @@ fi
for ac_func in atan2l
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18151: checking for $ac_func" >&5
+echo "configure:18314: 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 18156 "configure"
+#line 18319 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18175,7 +18338,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18342: \"$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
@@ -18202,7 +18365,7 @@ done
else
echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6
-echo "configure:18206: checking for _atan2l declaration" >&5
+echo "configure:18369: checking for _atan2l declaration" >&5
if test x${glibcpp_cv_func__atan2l_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__atan2l_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18217,14 +18380,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18221 "configure"
+#line 18384 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_atan2l(0, 0);
; return 0; }
EOF
-if { (eval echo configure:18228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__atan2l_use=yes
else
@@ -18251,12 +18414,12 @@ fi
for ac_func in _atan2l
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18255: checking for $ac_func" >&5
+echo "configure:18418: 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 18260 "configure"
+#line 18423 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18279,7 +18442,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18446: \"$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
@@ -18309,7 +18472,7 @@ done
echo $ac_n "checking for expl declaration""... $ac_c" 1>&6
-echo "configure:18313: checking for expl declaration" >&5
+echo "configure:18476: checking for expl declaration" >&5
if test x${glibcpp_cv_func_expl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_expl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18324,7 +18487,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18328 "configure"
+#line 18491 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -18335,7 +18498,7 @@ int main() {
expl(0);
; return 0; }
EOF
-if { (eval echo configure:18339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18502: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_expl_use=yes
else
@@ -18362,12 +18525,12 @@ fi
for ac_func in expl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18366: checking for $ac_func" >&5
+echo "configure:18529: 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 18371 "configure"
+#line 18534 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18390,7 +18553,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18557: \"$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
@@ -18417,7 +18580,7 @@ done
else
echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6
-echo "configure:18421: checking for _expl declaration" >&5
+echo "configure:18584: checking for _expl declaration" >&5
if test x${glibcpp_cv_func__expl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__expl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18432,7 +18595,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18436 "configure"
+#line 18599 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -18443,7 +18606,7 @@ int main() {
_expl(0);
; return 0; }
EOF
-if { (eval echo configure:18447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__expl_use=yes
else
@@ -18470,12 +18633,12 @@ fi
for ac_func in _expl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18474: checking for $ac_func" >&5
+echo "configure:18637: 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 18479 "configure"
+#line 18642 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18498,7 +18661,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18665: \"$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
@@ -18528,7 +18691,7 @@ done
echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6
-echo "configure:18532: checking for fabsl declaration" >&5
+echo "configure:18695: checking for fabsl declaration" >&5
if test x${glibcpp_cv_func_fabsl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_fabsl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18543,7 +18706,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18547 "configure"
+#line 18710 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -18554,7 +18717,7 @@ int main() {
fabsl(0);
; return 0; }
EOF
-if { (eval echo configure:18558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_fabsl_use=yes
else
@@ -18581,12 +18744,12 @@ fi
for ac_func in fabsl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18585: checking for $ac_func" >&5
+echo "configure:18748: 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 18590 "configure"
+#line 18753 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18609,7 +18772,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18776: \"$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
@@ -18636,7 +18799,7 @@ done
else
echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6
-echo "configure:18640: checking for _fabsl declaration" >&5
+echo "configure:18803: checking for _fabsl declaration" >&5
if test x${glibcpp_cv_func__fabsl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__fabsl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18651,7 +18814,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18655 "configure"
+#line 18818 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -18662,7 +18825,7 @@ int main() {
_fabsl(0);
; return 0; }
EOF
-if { (eval echo configure:18666: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__fabsl_use=yes
else
@@ -18689,12 +18852,12 @@ fi
for ac_func in _fabsl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18693: checking for $ac_func" >&5
+echo "configure:18856: 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 18698 "configure"
+#line 18861 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18717,7 +18880,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18884: \"$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
@@ -18747,7 +18910,7 @@ done
echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6
-echo "configure:18751: checking for fmodl declaration" >&5
+echo "configure:18914: checking for fmodl declaration" >&5
if test x${glibcpp_cv_func_fmodl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_fmodl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18762,14 +18925,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18766 "configure"
+#line 18929 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
fmodl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:18773: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:18936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_fmodl_use=yes
else
@@ -18796,12 +18959,12 @@ fi
for ac_func in fmodl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18800: checking for $ac_func" >&5
+echo "configure:18963: 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 18805 "configure"
+#line 18968 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18824,7 +18987,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18991: \"$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
@@ -18851,7 +19014,7 @@ done
else
echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6
-echo "configure:18855: checking for _fmodl declaration" >&5
+echo "configure:19018: checking for _fmodl declaration" >&5
if test x${glibcpp_cv_func__fmodl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__fmodl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18866,14 +19029,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18870 "configure"
+#line 19033 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_fmodl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:18877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__fmodl_use=yes
else
@@ -18900,12 +19063,12 @@ fi
for ac_func in _fmodl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:18904: checking for $ac_func" >&5
+echo "configure:19067: 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 18909 "configure"
+#line 19072 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -18928,7 +19091,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:18932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19095: \"$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
@@ -18958,7 +19121,7 @@ done
echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6
-echo "configure:18962: checking for frexpl declaration" >&5
+echo "configure:19125: checking for frexpl declaration" >&5
if test x${glibcpp_cv_func_frexpl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_frexpl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -18973,14 +19136,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 18977 "configure"
+#line 19140 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
frexpl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:18984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_frexpl_use=yes
else
@@ -19007,12 +19170,12 @@ fi
for ac_func in frexpl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19011: checking for $ac_func" >&5
+echo "configure:19174: 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 19016 "configure"
+#line 19179 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19035,7 +19198,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19202: \"$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
@@ -19062,7 +19225,7 @@ done
else
echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6
-echo "configure:19066: checking for _frexpl declaration" >&5
+echo "configure:19229: checking for _frexpl declaration" >&5
if test x${glibcpp_cv_func__frexpl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__frexpl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19077,14 +19240,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19081 "configure"
+#line 19244 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_frexpl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:19088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__frexpl_use=yes
else
@@ -19111,12 +19274,12 @@ fi
for ac_func in _frexpl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19115: checking for $ac_func" >&5
+echo "configure:19278: 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 19120 "configure"
+#line 19283 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19139,7 +19302,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19306: \"$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
@@ -19169,7 +19332,7 @@ done
echo $ac_n "checking for hypotl declaration""... $ac_c" 1>&6
-echo "configure:19173: checking for hypotl declaration" >&5
+echo "configure:19336: checking for hypotl declaration" >&5
if test x${glibcpp_cv_func_hypotl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_hypotl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19184,14 +19347,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19188 "configure"
+#line 19351 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
hypotl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:19195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_hypotl_use=yes
else
@@ -19218,12 +19381,12 @@ fi
for ac_func in hypotl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19222: checking for $ac_func" >&5
+echo "configure:19385: 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 19227 "configure"
+#line 19390 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19246,7 +19409,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19413: \"$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
@@ -19273,7 +19436,7 @@ done
else
echo $ac_n "checking for _hypotl declaration""... $ac_c" 1>&6
-echo "configure:19277: checking for _hypotl declaration" >&5
+echo "configure:19440: checking for _hypotl declaration" >&5
if test x${glibcpp_cv_func__hypotl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__hypotl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19288,14 +19451,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19292 "configure"
+#line 19455 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_hypotl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:19299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__hypotl_use=yes
else
@@ -19322,12 +19485,12 @@ fi
for ac_func in _hypotl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19326: checking for $ac_func" >&5
+echo "configure:19489: 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 19331 "configure"
+#line 19494 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19350,7 +19513,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19517: \"$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
@@ -19380,7 +19543,7 @@ done
echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6
-echo "configure:19384: checking for ldexpl declaration" >&5
+echo "configure:19547: checking for ldexpl declaration" >&5
if test x${glibcpp_cv_func_ldexpl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19395,14 +19558,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19399 "configure"
+#line 19562 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
ldexpl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:19406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_ldexpl_use=yes
else
@@ -19429,12 +19592,12 @@ fi
for ac_func in ldexpl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19433: checking for $ac_func" >&5
+echo "configure:19596: 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 19438 "configure"
+#line 19601 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19457,7 +19620,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19624: \"$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
@@ -19484,7 +19647,7 @@ done
else
echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6
-echo "configure:19488: checking for _ldexpl declaration" >&5
+echo "configure:19651: checking for _ldexpl declaration" >&5
if test x${glibcpp_cv_func__ldexpl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19499,14 +19662,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19503 "configure"
+#line 19666 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_ldexpl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:19510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__ldexpl_use=yes
else
@@ -19533,12 +19696,12 @@ fi
for ac_func in _ldexpl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19537: checking for $ac_func" >&5
+echo "configure:19700: 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 19542 "configure"
+#line 19705 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19561,7 +19724,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19728: \"$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
@@ -19591,7 +19754,7 @@ done
echo $ac_n "checking for logl declaration""... $ac_c" 1>&6
-echo "configure:19595: checking for logl declaration" >&5
+echo "configure:19758: checking for logl declaration" >&5
if test x${glibcpp_cv_func_logl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_logl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19606,7 +19769,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19610 "configure"
+#line 19773 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -19617,7 +19780,7 @@ int main() {
logl(0);
; return 0; }
EOF
-if { (eval echo configure:19621: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_logl_use=yes
else
@@ -19644,12 +19807,12 @@ fi
for ac_func in logl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19648: checking for $ac_func" >&5
+echo "configure:19811: 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 19653 "configure"
+#line 19816 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19672,7 +19835,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19839: \"$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
@@ -19699,7 +19862,7 @@ done
else
echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6
-echo "configure:19703: checking for _logl declaration" >&5
+echo "configure:19866: checking for _logl declaration" >&5
if test x${glibcpp_cv_func__logl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__logl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19714,7 +19877,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19718 "configure"
+#line 19881 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -19725,7 +19888,7 @@ int main() {
_logl(0);
; return 0; }
EOF
-if { (eval echo configure:19729: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__logl_use=yes
else
@@ -19752,12 +19915,12 @@ fi
for ac_func in _logl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19756: checking for $ac_func" >&5
+echo "configure:19919: 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 19761 "configure"
+#line 19924 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19780,7 +19943,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19947: \"$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
@@ -19810,7 +19973,7 @@ done
echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6
-echo "configure:19814: checking for log10l declaration" >&5
+echo "configure:19977: checking for log10l declaration" >&5
if test x${glibcpp_cv_func_log10l_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_log10l_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19825,7 +19988,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19829 "configure"
+#line 19992 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -19836,7 +19999,7 @@ int main() {
log10l(0);
; return 0; }
EOF
-if { (eval echo configure:19840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_log10l_use=yes
else
@@ -19863,12 +20026,12 @@ fi
for ac_func in log10l
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19867: checking for $ac_func" >&5
+echo "configure:20030: 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 19872 "configure"
+#line 20035 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19891,7 +20054,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:19895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20058: \"$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
@@ -19918,7 +20081,7 @@ done
else
echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6
-echo "configure:19922: checking for _log10l declaration" >&5
+echo "configure:20085: checking for _log10l declaration" >&5
if test x${glibcpp_cv_func__log10l_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__log10l_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -19933,7 +20096,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 19937 "configure"
+#line 20100 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -19944,7 +20107,7 @@ int main() {
_log10l(0);
; return 0; }
EOF
-if { (eval echo configure:19948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__log10l_use=yes
else
@@ -19971,12 +20134,12 @@ fi
for ac_func in _log10l
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:19975: checking for $ac_func" >&5
+echo "configure:20138: 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 19980 "configure"
+#line 20143 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -19999,7 +20162,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20166: \"$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
@@ -20029,7 +20192,7 @@ done
echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6
-echo "configure:20033: checking for modfl declaration" >&5
+echo "configure:20196: checking for modfl declaration" >&5
if test x${glibcpp_cv_func_modfl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_modfl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20044,14 +20207,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20048 "configure"
+#line 20211 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
modfl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:20055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20218: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_modfl_use=yes
else
@@ -20078,12 +20241,12 @@ fi
for ac_func in modfl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20082: checking for $ac_func" >&5
+echo "configure:20245: 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 20087 "configure"
+#line 20250 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20106,7 +20269,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20273: \"$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
@@ -20133,7 +20296,7 @@ done
else
echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6
-echo "configure:20137: checking for _modfl declaration" >&5
+echo "configure:20300: checking for _modfl declaration" >&5
if test x${glibcpp_cv_func__modfl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__modfl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20148,14 +20311,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20152 "configure"
+#line 20315 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_modfl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:20159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__modfl_use=yes
else
@@ -20182,12 +20345,12 @@ fi
for ac_func in _modfl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20186: checking for $ac_func" >&5
+echo "configure:20349: 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 20191 "configure"
+#line 20354 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20210,7 +20373,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20377: \"$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
@@ -20240,7 +20403,7 @@ done
echo $ac_n "checking for powl declaration""... $ac_c" 1>&6
-echo "configure:20244: checking for powl declaration" >&5
+echo "configure:20407: checking for powl declaration" >&5
if test x${glibcpp_cv_func_powl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_powl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20255,14 +20418,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20259 "configure"
+#line 20422 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
powl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:20266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_powl_use=yes
else
@@ -20289,12 +20452,12 @@ fi
for ac_func in powl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20293: checking for $ac_func" >&5
+echo "configure:20456: 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 20298 "configure"
+#line 20461 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20317,7 +20480,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20484: \"$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
@@ -20344,7 +20507,7 @@ done
else
echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6
-echo "configure:20348: checking for _powl declaration" >&5
+echo "configure:20511: checking for _powl declaration" >&5
if test x${glibcpp_cv_func__powl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__powl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20359,14 +20522,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20363 "configure"
+#line 20526 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_powl(0, 0);
; return 0; }
EOF
-if { (eval echo configure:20370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__powl_use=yes
else
@@ -20393,12 +20556,12 @@ fi
for ac_func in _powl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20397: checking for $ac_func" >&5
+echo "configure:20560: 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 20402 "configure"
+#line 20565 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20421,7 +20584,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20588: \"$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
@@ -20451,7 +20614,7 @@ done
echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6
-echo "configure:20455: checking for sqrtl declaration" >&5
+echo "configure:20618: checking for sqrtl declaration" >&5
if test x${glibcpp_cv_func_sqrtl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20466,7 +20629,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20470 "configure"
+#line 20633 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -20477,7 +20640,7 @@ int main() {
sqrtl(0);
; return 0; }
EOF
-if { (eval echo configure:20481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_sqrtl_use=yes
else
@@ -20504,12 +20667,12 @@ fi
for ac_func in sqrtl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20508: checking for $ac_func" >&5
+echo "configure:20671: 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 20513 "configure"
+#line 20676 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20532,7 +20695,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20699: \"$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
@@ -20559,7 +20722,7 @@ done
else
echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6
-echo "configure:20563: checking for _sqrtl declaration" >&5
+echo "configure:20726: checking for _sqrtl declaration" >&5
if test x${glibcpp_cv_func__sqrtl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20574,7 +20737,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20578 "configure"
+#line 20741 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -20585,7 +20748,7 @@ int main() {
_sqrtl(0);
; return 0; }
EOF
-if { (eval echo configure:20589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__sqrtl_use=yes
else
@@ -20612,12 +20775,12 @@ fi
for ac_func in _sqrtl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20616: checking for $ac_func" >&5
+echo "configure:20779: 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 20621 "configure"
+#line 20784 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20640,7 +20803,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20807: \"$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
@@ -20670,7 +20833,7 @@ done
echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6
-echo "configure:20674: checking for sincosl declaration" >&5
+echo "configure:20837: checking for sincosl declaration" >&5
if test x${glibcpp_cv_func_sincosl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_sincosl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20685,14 +20848,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20689 "configure"
+#line 20852 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
sincosl(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:20696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_sincosl_use=yes
else
@@ -20719,12 +20882,12 @@ fi
for ac_func in sincosl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20723: checking for $ac_func" >&5
+echo "configure:20886: 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 20728 "configure"
+#line 20891 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20747,7 +20910,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20914: \"$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
@@ -20774,7 +20937,7 @@ done
else
echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6
-echo "configure:20778: checking for _sincosl declaration" >&5
+echo "configure:20941: checking for _sincosl declaration" >&5
if test x${glibcpp_cv_func__sincosl_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__sincosl_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20789,14 +20952,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20793 "configure"
+#line 20956 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
_sincosl(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:20800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__sincosl_use=yes
else
@@ -20823,12 +20986,12 @@ fi
for ac_func in _sincosl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20827: checking for $ac_func" >&5
+echo "configure:20990: 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 20832 "configure"
+#line 20995 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20851,7 +21014,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21018: \"$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
@@ -20881,7 +21044,7 @@ done
echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6
-echo "configure:20885: checking for finitel declaration" >&5
+echo "configure:21048: checking for finitel declaration" >&5
if test x${glibcpp_cv_func_finitel_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_finitel_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -20896,7 +21059,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 20900 "configure"
+#line 21063 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -20907,7 +21070,7 @@ int main() {
finitel(0);
; return 0; }
EOF
-if { (eval echo configure:20911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_finitel_use=yes
else
@@ -20934,12 +21097,12 @@ fi
for ac_func in finitel
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:20938: checking for $ac_func" >&5
+echo "configure:21101: 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 20943 "configure"
+#line 21106 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -20962,7 +21125,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:20966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21129: \"$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
@@ -20989,7 +21152,7 @@ done
else
echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6
-echo "configure:20993: checking for _finitel declaration" >&5
+echo "configure:21156: checking for _finitel declaration" >&5
if test x${glibcpp_cv_func__finitel_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func__finitel_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -21004,7 +21167,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 21008 "configure"
+#line 21171 "configure"
#include "confdefs.h"
#include <math.h>
#ifdef HAVE_IEEEFP_H
@@ -21015,7 +21178,7 @@ int main() {
_finitel(0);
; return 0; }
EOF
-if { (eval echo configure:21019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__finitel_use=yes
else
@@ -21042,12 +21205,12 @@ fi
for ac_func in _finitel
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21046: checking for $ac_func" >&5
+echo "configure:21209: 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 21051 "configure"
+#line 21214 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21070,7 +21233,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21237: \"$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
@@ -21101,7 +21264,7 @@ done
echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6
-echo "configure:21105: checking for _float trig functions" >&5
+echo "configure:21268: checking for _float trig functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func__float_trig_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -21115,7 +21278,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 21119 "configure"
+#line 21282 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
@@ -21124,7 +21287,7 @@ int main() {
_coshf _sinhf _tanhf; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:21128: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__float_trig_use=yes
else
@@ -21150,12 +21313,12 @@ fi
_coshf _sinhf _tanhf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21154: checking for $ac_func" >&5
+echo "configure:21317: 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 21159 "configure"
+#line 21322 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21178,7 +21341,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21345: \"$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
@@ -21206,7 +21369,7 @@ done
echo $ac_n "checking for _float round functions""... $ac_c" 1>&6
-echo "configure:21210: checking for _float round functions" >&5
+echo "configure:21373: checking for _float round functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func__float_round_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -21220,14 +21383,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 21224 "configure"
+#line 21387 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
`for x in _ceilf _floorf; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:21231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__float_round_use=yes
else
@@ -21251,12 +21414,12 @@ fi
for ac_func in _ceilf _floorf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21255: checking for $ac_func" >&5
+echo "configure:21418: 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 21260 "configure"
+#line 21423 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21279,7 +21442,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21446: \"$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
@@ -21308,7 +21471,7 @@ done
echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6
-echo "configure:21312: checking for _long double trig functions" >&5
+echo "configure:21475: checking for _long double trig functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_trig_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -21322,7 +21485,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 21326 "configure"
+#line 21489 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
@@ -21331,7 +21494,7 @@ int main() {
_coshl _sinhl _tanhl; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:21335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__long_double_trig_use=yes
else
@@ -21357,12 +21520,12 @@ fi
_coshl _sinhl _tanhl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21361: checking for $ac_func" >&5
+echo "configure:21524: 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 21366 "configure"
+#line 21529 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21385,7 +21548,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21552: \"$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
@@ -21413,7 +21576,7 @@ done
echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6
-echo "configure:21417: checking for _long double round functions" >&5
+echo "configure:21580: checking for _long double round functions" >&5
if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_round_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -21427,14 +21590,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 21431 "configure"
+#line 21594 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
`for x in _ceill _floorl; do echo "$x (0);"; done`
; return 0; }
EOF
-if { (eval echo configure:21438: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func__long_double_round_use=yes
else
@@ -21458,12 +21621,12 @@ fi
for ac_func in _ceill _floorl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21462: checking for $ac_func" >&5
+echo "configure:21625: 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 21467 "configure"
+#line 21630 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21486,7 +21649,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21653: \"$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
@@ -21518,7 +21681,7 @@ done
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:21522: checking for main in -lm" >&5
+echo "configure:21685: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -21526,14 +21689,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 21530 "configure"
+#line 21693 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:21537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -21563,12 +21726,12 @@ fi
for ac_func in nan copysignf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21567: checking for $ac_func" >&5
+echo "configure:21730: 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 21572 "configure"
+#line 21735 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21591,7 +21754,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21758: \"$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
@@ -21620,12 +21783,12 @@ done
for ac_func in __signbit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21624: checking for $ac_func" >&5
+echo "configure:21787: 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 21629 "configure"
+#line 21792 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21648,7 +21811,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21815: \"$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
@@ -21676,12 +21839,12 @@ done
for ac_func in __signbitf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21680: checking for $ac_func" >&5
+echo "configure:21843: 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 21685 "configure"
+#line 21848 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21704,7 +21867,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21871: \"$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
@@ -21734,12 +21897,12 @@ done
for ac_func in __signbitl
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21738: checking for $ac_func" >&5
+echo "configure:21901: 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 21743 "configure"
+#line 21906 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21762,7 +21925,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21929: \"$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
@@ -21789,21 +21952,34 @@ done
fi
+ if test -n "$LIBMATHOBJS"; then
+ need_libmath=yes
+ fi
+
+if test "$need_libmath" = yes; then
+ GLIBCPP_BUILD_LIBMATH_TRUE=
+ GLIBCPP_BUILD_LIBMATH_FALSE='#'
+else
+ GLIBCPP_BUILD_LIBMATH_TRUE='#'
+ GLIBCPP_BUILD_LIBMATH_FALSE=
+fi
+
+ enable_wchar_t=no
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:21798: checking for mbstate_t" >&5
+echo "configure:21974: checking for mbstate_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 21800 "configure"
+#line 21976 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t teststate;
; return 0; }
EOF
-if { (eval echo configure:21807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:21983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_mbstate_t=yes
else
@@ -21825,17 +22001,17 @@ EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:21829: checking for $ac_hdr" >&5
+echo "configure:22005: 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 21834 "configure"
+#line 22010 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:21839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:22015: \"$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*
@@ -21866,17 +22042,17 @@ done
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:21870: checking for $ac_hdr" >&5
+echo "configure:22046: 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 21875 "configure"
+#line 22051 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:21880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:22056: \"$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*
@@ -21909,16 +22085,16 @@ done
test x"$enable_c_mbchar" != xno; then
echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:21913: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:22089: checking for WCHAR_MIN and WCHAR_MAX" >&5
cat > conftest.$ac_ext <<EOF
-#line 21915 "configure"
+#line 22091 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
int i = WCHAR_MIN; int j = WCHAR_MAX;
; return 0; }
EOF
-if { (eval echo configure:21922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:22098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_wchar_minmax=yes
else
@@ -21931,9 +22107,9 @@ rm -f conftest*
echo "$ac_t""$has_wchar_minmax" 1>&6
echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:21935: checking for WEOF" >&5
+echo "configure:22111: checking for WEOF" >&5
cat > conftest.$ac_ext <<EOF
-#line 21937 "configure"
+#line 22113 "configure"
#include "confdefs.h"
#include <wchar.h>
@@ -21942,7 +22118,7 @@ int main() {
wint_t i = WEOF;
; return 0; }
EOF
-if { (eval echo configure:21946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:22122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
has_weof=yes
else
@@ -21958,12 +22134,12 @@ rm -f conftest*
for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:21962: checking for $ac_func" >&5
+echo "configure:22138: 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 21967 "configure"
+#line 22143 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -21986,7 +22162,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:21990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22166: \"$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
@@ -22013,7 +22189,7 @@ fi
done
- for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \
+ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
@@ -22021,12 +22197,12 @@ done
wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22025: checking for $ac_func" >&5
+echo "configure:22201: 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 22030 "configure"
+#line 22206 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22049,7 +22225,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22229: \"$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
@@ -22077,7 +22253,7 @@ done
echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:22081: checking for ISO C99 wchar_t support" >&5
+echo "configure:22257: checking for ISO C99 wchar_t support" >&5
if test x"$has_weof" = xyes &&
test x"$has_wchar_minmax" = xyes &&
test x"$ac_wfuncs" = xyes; then
@@ -22089,17 +22265,17 @@ echo "configure:22081: checking for ISO C99 wchar_t support" >&5
ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:22093: checking for iconv.h" >&5
+echo "configure:22269: checking for iconv.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 22098 "configure"
+#line 22274 "configure"
#include "confdefs.h"
#include <iconv.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:22103: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:22279: \"$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*
@@ -22123,17 +22299,17 @@ fi
ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:22127: checking for langinfo.h" >&5
+echo "configure:22303: checking for langinfo.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 22132 "configure"
+#line 22308 "configure"
#include "confdefs.h"
#include <langinfo.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:22137: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:22313: \"$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*
@@ -22157,7 +22333,7 @@ fi
echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:22161: checking for iconv in -liconv" >&5
+echo "configure:22337: checking for iconv in -liconv" >&5
ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -22165,7 +22341,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-liconv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 22169 "configure"
+#line 22345 "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
@@ -22176,7 +22352,7 @@ int main() {
iconv()
; return 0; }
EOF
-if { (eval echo configure:22180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -22202,12 +22378,12 @@ fi
for ac_func in iconv_open iconv_close iconv nl_langinfo
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22206: checking for $ac_func" >&5
+echo "configure:22382: 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 22211 "configure"
+#line 22387 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22230,7 +22406,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22410: \"$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
@@ -22260,7 +22436,7 @@ done
LIBS="$ac_save_LIBS"
echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:22264: checking for XPG2 wchar_t support" >&5
+echo "configure:22440: checking for XPG2 wchar_t support" >&5
if test x"$ac_has_iconv_h" = xyes &&
test x"$ac_has_langinfo_h" = xyes &&
test x"$ac_XPG2funcs" = xyes; then
@@ -22270,21 +22446,27 @@ echo "configure:22264: checking for XPG2 wchar_t support" >&5
fi
echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
- echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:22275: checking for enabled wchar_t specializations" >&5
- if test x"$ac_isoC99_wchar_t" = xyes &&
+ if test x"$ac_isoC99_wchar_t" = xyes &&
test x"$ac_XPG2_wchar_t" = xyes; then
- cat >> confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
- echo "$ac_t"""yes"" 1>&6
- else
- echo "$ac_t"""no"" 1>&6
+ enable_wchar_t=yes
fi
- else
- echo "configure: warning: wchar_t support disabled." 1>&2
fi
+ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
+echo "configure:22460: checking for enabled wchar_t specializations" >&5
+ echo "$ac_t""$enable_wchar_t" 1>&6
+
+
+if test "$enable_wchar_t" = yes; then
+ GLIBCPP_TEST_WCHAR_T_TRUE=
+ GLIBCPP_TEST_WCHAR_T_FALSE='#'
+else
+ GLIBCPP_TEST_WCHAR_T_TRUE='#'
+ GLIBCPP_TEST_WCHAR_T_FALSE=
+fi
ac_test_CXXFLAGS="${CXXFLAGS+set}"
@@ -22293,7 +22475,7 @@ EOF
echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6
-echo "configure:22297: checking for strtold declaration" >&5
+echo "configure:22479: checking for strtold declaration" >&5
if test x${glibcpp_cv_func_strtold_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_strtold_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -22308,14 +22490,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 22312 "configure"
+#line 22494 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
strtold(0, 0);
; return 0; }
EOF
-if { (eval echo configure:22319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:22501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_strtold_use=yes
else
@@ -22341,12 +22523,12 @@ fi
for ac_func in strtold
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22345: checking for $ac_func" >&5
+echo "configure:22527: 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 22350 "configure"
+#line 22532 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22369,7 +22551,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22555: \"$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
@@ -22397,7 +22579,7 @@ done
echo $ac_n "checking for strtof declaration""... $ac_c" 1>&6
-echo "configure:22401: checking for strtof declaration" >&5
+echo "configure:22583: checking for strtof declaration" >&5
if test x${glibcpp_cv_func_strtof_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_strtof_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -22412,14 +22594,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 22416 "configure"
+#line 22598 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
strtof(0, 0);
; return 0; }
EOF
-if { (eval echo configure:22423: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:22605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_strtof_use=yes
else
@@ -22445,12 +22627,12 @@ fi
for ac_func in strtof
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22449: checking for $ac_func" >&5
+echo "configure:22631: 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 22454 "configure"
+#line 22636 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22473,7 +22655,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22659: \"$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
@@ -22502,12 +22684,12 @@ done
for ac_func in drand48
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22506: checking for $ac_func" >&5
+echo "configure:22688: 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 22511 "configure"
+#line 22693 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22530,7 +22712,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22716: \"$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
@@ -22564,7 +22746,7 @@ done
echo $ac_n "checking for isatty declaration""... $ac_c" 1>&6
-echo "configure:22568: checking for isatty declaration" >&5
+echo "configure:22750: checking for isatty declaration" >&5
if test x${glibcpp_cv_func_isatty_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_isatty_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -22579,14 +22761,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 22583 "configure"
+#line 22765 "configure"
#include "confdefs.h"
#include <unistd.h>
int main() {
isatty(0);
; return 0; }
EOF
-if { (eval echo configure:22590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:22772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_isatty_use=yes
else
@@ -22612,12 +22794,12 @@ fi
for ac_func in isatty
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22616: checking for $ac_func" >&5
+echo "configure:22798: 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 22621 "configure"
+#line 22803 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22640,7 +22822,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:22826: \"$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
@@ -22669,20 +22851,159 @@ done
CXXFLAGS="$ac_save_CXXFLAGS"
+
+ # For showmanyc_helper().
+ for ac_hdr in sys/ioctl.h sys/filio.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:22861: 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 22866 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:22871: \"$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*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ if eval "test \"`echo '$''{'glibcpp_cv_POLL'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ cat > conftest.$ac_ext <<EOF
+#line 22903 "configure"
+#include "confdefs.h"
+#include <poll.h>
+int main() {
+struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0);
+; return 0; }
+EOF
+if { (eval echo configure:22910: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ glibcpp_cv_POLL=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ glibcpp_cv_POLL=no
+fi
+rm -f conftest*
+
+fi
+
+ if test x$glibcpp_cv_POLL = xyes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_POLL 1
+EOF
+
+ fi
+
+
+ if eval "test \"`echo '$''{'glibcpp_cv_S_ISREG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ cat > conftest.$ac_ext <<EOF
+#line 22936 "configure"
+#include "confdefs.h"
+#include <sys/stat.h>
+int main() {
+struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode);
+; return 0; }
+EOF
+if { (eval echo configure:22943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ glibcpp_cv_S_ISREG=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ glibcpp_cv_S_ISREG=no
+fi
+rm -f conftest*
+
+fi
+
+ if eval "test \"`echo '$''{'glibcpp_cv_S_IFREG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ cat > conftest.$ac_ext <<EOF
+#line 22961 "configure"
+#include "confdefs.h"
+#include <sys/stat.h>
+int main() {
+struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode;
+; return 0; }
+EOF
+if { (eval echo configure:22968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ glibcpp_cv_S_IFREG=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ glibcpp_cv_S_IFREG=no
+fi
+rm -f conftest*
+
+fi
+
+ if test x$glibcpp_cv_S_ISREG = xyes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_S_ISREG 1
+EOF
+
+ elif test x$glibcpp_cv_S_IFREG = xyes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_S_IFREG 1
+EOF
+
+ fi
+
+
ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for locale.h""... $ac_c" 1>&6
-echo "configure:22676: checking for locale.h" >&5
+echo "configure:22997: checking for locale.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 22681 "configure"
+#line 23002 "configure"
#include "confdefs.h"
#include <locale.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:22686: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:23007: \"$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*
@@ -22700,19 +23021,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:22704: checking for LC_MESSAGES" >&5
+echo "configure:23025: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'ac_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 22709 "configure"
+#line 23030 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:22716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:23037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_val_LC_MESSAGES=yes
else
@@ -22739,7 +23060,7 @@ fi
cat > conftest.$ac_ext <<EOF
-#line 22743 "configure"
+#line 23064 "configure"
#include "confdefs.h"
#include <setjmp.h>
@@ -22748,7 +23069,7 @@ int main() {
sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);
; return 0; }
EOF
-if { (eval echo configure:22752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_SIGSETJMP 1
@@ -22761,21 +23082,21 @@ else
fi
rm -f conftest*
- for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
+ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:22769: checking for $ac_hdr" >&5
+echo "configure:23090: 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 22774 "configure"
+#line 23095 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:22779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:23100: \"$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*
@@ -22804,12 +23125,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:22808: checking for $ac_func" >&5
+echo "configure:23129: 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 22813 "configure"
+#line 23134 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -22832,7 +23153,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:22836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:23157: \"$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
@@ -22857,7 +23178,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:22861: checking for working mmap" >&5
+echo "configure:23182: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -22865,7 +23186,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 22869 "configure"
+#line 23190 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -22893,24 +23214,11 @@ else
#include <fcntl.h>
#include <sys/mman.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+# include <unistd.h>
+# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H
@@ -23018,7 +23326,7 @@ main()
}
EOF
-if { (eval echo configure:23022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:23330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -23041,25 +23349,159 @@ EOF
fi
- # Establish limits on memory usage during 'make check'
-
-
+fi
+
+# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no.
+# Check whether --enable-symvers or --disable-symvers was given.
+if test "${enable_symvers+set}" = set; then
+ enableval="$enable_symvers"
+ case "$enableval" in
+ yes) enable_symvers=yes ;;
+ no) enable_symvers=no ;;
+ # other names here, just as sanity checks
+ #gnu|sun|etcetera) enable_symvers=$enableval ;;
+ gnu) enable_symvers=$enableval ;;
+ *) { echo "configure: error: Unknown argument to enable/disable symvers" 1>&2; exit 1; } ;;
+ esac
+else
+ enable_symvers=yes
+fi
+
+# If we never went through the GLIBCPP_CHECK_LINKER_FEATURES macro, then we
+# don't know enough about $LD to do tricks...
+if test x$enable_shared = xno ||
+ test "x$LD" = x ||
+ test x$glibcpp_gnu_ld_version = x; then
+ enable_symvers=no
+fi
+
+# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
+if test $enable_symvers != no; then
+ echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6
+echo "configure:23382: checking for shared libgcc" >&5
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=' -lgcc_s'
+ cat > conftest.$ac_ext <<EOF
+#line 23386 "configure"
+#include "confdefs.h"
+
+int main() {
+return 0
+; return 0; }
+EOF
+if { (eval echo configure:23393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ glibcpp_shared_libgcc=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ glibcpp_shared_libgcc=no
+fi
+rm -f conftest*
+ CFLAGS="$ac_save_CFLAGS"
+ echo "$ac_t""$glibcpp_shared_libgcc" 1>&6
+fi
+
+# For GNU ld, we need at least this version. It's 2.12 in the same format
+# as the tested-for version. See GLIBCPP_CHECK_LINKER_FEATURES for more.
+glibcpp_min_gnu_ld_version=21200
+
+# Check to see if unspecified "yes" value can win, given results
+# above.
+if test $enable_symvers = yes ; then
+ if test $with_gnu_ld = yes &&
+ test $glibcpp_shared_libgcc = yes ;
+ then
+ if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+ enable_symvers=gnu
+ else
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS='-shared -Wl,--version-script,conftest.map'
+ enable_symvers=no
+
+ echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+
+ cat > conftest.$ac_ext <<EOF
+#line 23428 "configure"
+#include "confdefs.h"
+int foo;
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:23435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ enable_symvers=gnu
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ else
+ # this is the suspicious part
+ CFLAGS=''
+ fi
+ rm -f conftest.map
+ fi
+ else
+ # just fail for now
+ enable_symvers=no
+ fi
+fi
+
+case $enable_symvers in
+ no)
+ SYMVER_MAP=config/linker-map.dummy
+ ;;
+ gnu)
+ SYMVER_MAP=config/linker-map.gnu
+ cat >> confdefs.h <<\EOF
+#define _GLIBCPP_SYMVER 1
+EOF
+
+ ;;
+esac
+
+
+
+
+if test $enable_symvers != no; then
+ GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE=
+ GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE='#'
+else
+ GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE='#'
+ GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE=
+fi
+echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6
+echo "configure:23481: checking versioning on shared library symbols" >&5
+echo "$ac_t""$enable_symvers" 1>&6
+
+
+# This depends on GLIBCPP_ENABLE_SYMVERS and GLIBCPP_IS_CROSS_COMPILING.
+
+ if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
+ # Do checks for memory limit functions.
+
setrlimit_have_headers=yes
for ac_hdr in unistd.h sys/time.h sys/resource.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:23053: checking for $ac_hdr" >&5
+echo "configure:23495: 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 23058 "configure"
+#line 23500 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:23063: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:23505: \"$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*
@@ -23092,7 +23534,7 @@ done
# Can't do these in a loop, else the resulting syntax is wrong.
cat > conftest.$ac_ext <<EOF
-#line 23096 "configure"
+#line 23538 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/time.h>
@@ -23102,7 +23544,7 @@ int main() {
int f = RLIMIT_DATA ;
; return 0; }
EOF
-if { (eval echo configure:23106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_mresult=1
else
@@ -23119,7 +23561,7 @@ EOF
cat > conftest.$ac_ext <<EOF
-#line 23123 "configure"
+#line 23565 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/time.h>
@@ -23129,7 +23571,7 @@ int main() {
int f = RLIMIT_RSS ;
; return 0; }
EOF
-if { (eval echo configure:23133: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_mresult=1
else
@@ -23146,7 +23588,7 @@ EOF
cat > conftest.$ac_ext <<EOF
-#line 23150 "configure"
+#line 23592 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/time.h>
@@ -23156,7 +23598,7 @@ int main() {
int f = RLIMIT_VMEM ;
; return 0; }
EOF
-if { (eval echo configure:23160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_mresult=1
else
@@ -23173,7 +23615,7 @@ EOF
cat > conftest.$ac_ext <<EOF
-#line 23177 "configure"
+#line 23619 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/time.h>
@@ -23183,7 +23625,7 @@ int main() {
int f = RLIMIT_AS ;
; return 0; }
EOF
-if { (eval echo configure:23187: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_mresult=1
else
@@ -23205,7 +23647,7 @@ EOF
else
cat > conftest.$ac_ext <<EOF
-#line 23209 "configure"
+#line 23651 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/time.h>
@@ -23215,7 +23657,7 @@ int main() {
struct rlimit r; setrlimit(0, &r);
; return 0; }
EOF
-if { (eval echo configure:23219: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_setrlimit=yes
else
@@ -23231,7 +23673,7 @@ fi
fi
echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6
-echo "configure:23235: checking for testsuite memory limit support" >&5
+echo "configure:23677: checking for testsuite memory limit support" >&5
if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
ac_mem_limits=yes
cat >> confdefs.h <<\EOF
@@ -23244,10 +23686,10 @@ EOF
echo "$ac_t""$ac_mem_limits" 1>&6
- # Look for setenv, so that extended locale tests can be performed.
-
+ # Look for setenv, so that extended locale tests can be performed.
+
echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6
-echo "configure:23251: checking for setenv declaration" >&5
+echo "configure:23693: checking for setenv declaration" >&5
if test x${glibcpp_cv_func_setenv_use+set} != xset; then
if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -23262,14 +23704,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 23266 "configure"
+#line 23708 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
setenv(0, 0, 0);
; return 0; }
EOF
-if { (eval echo configure:23273: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23715: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
glibcpp_cv_func_setenv_use=yes
else
@@ -23295,12 +23737,12 @@ fi
for ac_func in setenv
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:23299: checking for $ac_func" >&5
+echo "configure:23741: 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 23304 "configure"
+#line 23746 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -23323,7 +23765,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:23327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:23769: \"$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
@@ -23349,152 +23791,32 @@ done
fi
+ fi
# Export file names for ABI checking.
- baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt"
+ baseline_dir="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)"
- # Don't do ABI checking unless native.
-
-
-if test x"$build" = x"$host" && test -z "$with_cross_host"; then
- GLIBCPP_BUILD_ABI_CHECK_TRUE=
- GLIBCPP_BUILD_ABI_CHECK_FALSE='#'
-else
- GLIBCPP_BUILD_ABI_CHECK_TRUE='#'
- GLIBCPP_BUILD_ABI_CHECK_FALSE=
-fi
-
-fi
-
-# This depends on the possibly-skipped linker test above.
-# Check whether --enable-symvers or --disable-symvers was given.
-if test "${enable_symvers+set}" = set; then
- enableval="$enable_symvers"
- case "$enableval" in
- yes) enable_symvers=yes ;;
- no) enable_symvers=no ;;
- # other names here, just as sanity checks
- #gnu|sun|etcetera) enable_symvers=$enableval ;;
- gnu) enable_symvers=$enableval ;;
- *) { echo "configure: error: Unknown argument to enable/disable symvers" 1>&2; exit 1; } ;;
- esac
-else
- enable_symvers=yes
-fi
-
-# If we never went through the GLIBCPP_CHECK_LINKER_FEATURES macro, then we
-# don't know enough about $LD to do tricks...
-if test x$enable_shared = xno ||
- test "x$LD" = x ||
- test x$glibcpp_gnu_ld_version = x; then
- enable_symvers=no
-fi
-
-# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
-if test $enable_symvers != no; then
- echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6
-echo "configure:23398: checking for shared libgcc" >&5
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=' -lgcc_s'
- cat > conftest.$ac_ext <<EOF
-#line 23402 "configure"
-#include "confdefs.h"
-
-int main() {
-return 0
-; return 0; }
-EOF
-if { (eval echo configure:23409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- glibcpp_shared_libgcc=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- glibcpp_shared_libgcc=no
-fi
-rm -f conftest*
- CFLAGS="$ac_save_CFLAGS"
- echo "$ac_t""$glibcpp_shared_libgcc" 1>&6
-fi
-
-# For GNU ld, we need at least this version. It's 2.12 in the same format
-# as the tested-for version. See GLIBCPP_CHECK_LINKER_FEATURES for more.
-glibcpp_min_gnu_ld_version=21200
-
-# Check to see if unspecified "yes" value can win, given results
-# above.
-if test $enable_symvers = yes ; then
- if test $with_gnu_ld = yes &&
- test $glibcpp_shared_libgcc = yes ;
- then
- if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
- enable_symvers=gnu
- else
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-shared -Wl,--version-script,conftest.map'
- enable_symvers=no
-
- echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
-
- cat > conftest.$ac_ext <<EOF
-#line 23444 "configure"
-#include "confdefs.h"
-int foo;
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:23451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- enable_symvers=gnu
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- rm -f conftest.map
- fi
+ # Determine if checking the ABI is desirable.
+ if test x$enable_symvers = xno; then
+ enable_abi_check=no
else
- # just fail for now
- enable_symvers=no
+ case "$host" in
+ *-*-cygwin*)
+ enable_abi_check=no ;;
+ *)
+ enable_abi_check=yes ;;
+ esac
fi
-fi
-
-case $enable_symvers in
- no)
- LINKER_MAP=config/linker-map.dummy
- ;;
- gnu)
- LINKER_MAP=config/linker-map.gnu
- cat >> confdefs.h <<\EOF
-#define _GLIBCPP_SYMVER 1
-EOF
-
- ;;
-esac
-
-
-
+
-if test $enable_symvers != no; then
- GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE=
- GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE='#'
+if test "$enable_abi_check" = yes; then
+ GLIBCPP_TEST_ABI_TRUE=
+ GLIBCPP_TEST_ABI_FALSE='#'
else
- GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE='#'
- GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE=
+ GLIBCPP_TEST_ABI_TRUE='#'
+ GLIBCPP_TEST_ABI_FALSE=
fi
-echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6
-echo "configure:23497: checking versioning on shared library symbols" >&5
-echo "$ac_t""$enable_symvers" 1>&6
# Propagate the target-specific source directories through the build chain.
@@ -23580,7 +23902,7 @@ glibcpp_prefixdir=${prefix}
# Process the option --with-gxx-include-dir=<path to include-files directory>
echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6
-echo "configure:23584: checking for --with-gxx-include-dir" >&5
+echo "configure:23906: checking for --with-gxx-include-dir" >&5
# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
if test "${with_gxx_include_dir+set}" = set; then
withval="$with_gxx_include_dir"
@@ -23604,7 +23926,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
# Process the option "--enable-version-specific-runtime-libs"
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
-echo "configure:23608: checking for --enable-version-specific-runtime-libs" >&5
+echo "configure:23930: checking for --enable-version-specific-runtime-libs" >&5
# Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
if test "${enable_version_specific_runtime_libs+set}" = set; then
enableval="$enable_version_specific_runtime_libs"
@@ -23642,15 +23964,16 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
- glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(toolexecdir)/lib'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
+ glibcpp_toolexeclibdir='$(libdir)'
fi
+ glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
fi
echo $ac_n "checking for install location""... $ac_c" 1>&6
-echo "configure:23654: checking for install location" >&5
+echo "configure:23977: checking for install location" >&5
echo "$ac_t""$gxx_include_dir" 1>&6
@@ -23691,7 +24014,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
OPTIMIZE_CXXFLAGS=
- WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline'
+ WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings'
@@ -23705,9 +24028,9 @@ fi
# Generate the various Makefiles, include files, and scripts.
# NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am
-# and libsupc++/Makefile.am so that multilib installs will end up
-# installed in the correct place. To work around this not being passed
-# down from config-ml.in -> top_srcdir/Makefile.am ->
+# libsupc++/Makefile.am and testsuite/Makefile.am so that multilib installs
+# will end up installed in the correct place. To work around this not being
+# passed down from config-ml.in -> top_srcdir/Makefile.am ->
# top_srcdir/{src,libsupc++}/Makefile.am, manually append it here.
trap '' 1 2 15
cat > confcache <<\EOF
@@ -23894,10 +24217,10 @@ s%@CXXCPP@%$CXXCPP%g
s%@enable_shared@%$enable_shared%g
s%@enable_static@%$enable_static%g
s%@ifGNUmake@%$ifGNUmake%g
-s%@DEBUG_FLAGS@%$DEBUG_FLAGS%g
s%@CPP@%$CPP%g
s%@CSTDIO_H@%$CSTDIO_H%g
s%@BASIC_FILE_H@%$BASIC_FILE_H%g
+s%@BASIC_FILE_CC@%$BASIC_FILE_CC%g
s%@CCODECVT_C@%$CCODECVT_C%g
s%@GLIBCPP_BUILD_LIBIO_TRUE@%$GLIBCPP_BUILD_LIBIO_TRUE%g
s%@GLIBCPP_BUILD_LIBIO_FALSE@%$GLIBCPP_BUILD_LIBIO_FALSE%g
@@ -23914,6 +24237,16 @@ s%@USE_NLS@%$USE_NLS%g
s%@CLOCALE_H@%$CLOCALE_H%g
s%@CCODECVT_H@%$CCODECVT_H%g
s%@CMESSAGES_H@%$CMESSAGES_H%g
+s%@CCODECVT_CC@%$CCODECVT_CC%g
+s%@CCOLLATE_CC@%$CCOLLATE_CC%g
+s%@CCTYPE_CC@%$CCTYPE_CC%g
+s%@CMESSAGES_CC@%$CMESSAGES_CC%g
+s%@CMONEY_CC@%$CMONEY_CC%g
+s%@CNUMERIC_CC@%$CNUMERIC_CC%g
+s%@CTIME_H@%$CTIME_H%g
+s%@CTIME_CC@%$CTIME_CC%g
+s%@CLOCALE_CC@%$CLOCALE_CC%g
+s%@CLOCALE_INTERNAL_H@%$CLOCALE_INTERNAL_H%g
s%@C_INCLUDE_DIR@%$C_INCLUDE_DIR%g
s%@GLIBCPP_C_HEADERS_C_TRUE@%$GLIBCPP_C_HEADERS_C_TRUE%g
s%@GLIBCPP_C_HEADERS_C_FALSE@%$GLIBCPP_C_HEADERS_C_FALSE%g
@@ -23922,18 +24255,26 @@ s%@GLIBCPP_C_HEADERS_C_STD_FALSE@%$GLIBCPP_C_HEADERS_C_STD_FALSE%g
s%@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@%$GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE%g
s%@GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE@%$GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE%g
s%@glibcpp_thread_h@%$glibcpp_thread_h%g
-s%@EXTRA_CXX_FLAGS@%$EXTRA_CXX_FLAGS%g
s%@LIBUNWIND_FLAG@%$LIBUNWIND_FLAG%g
+s%@EXTRA_CXX_FLAGS@%$EXTRA_CXX_FLAGS%g
+s%@GLIBCPP_BUILD_DEBUG_TRUE@%$GLIBCPP_BUILD_DEBUG_TRUE%g
+s%@GLIBCPP_BUILD_DEBUG_FALSE@%$GLIBCPP_BUILD_DEBUG_FALSE%g
+s%@DEBUG_FLAGS@%$DEBUG_FLAGS%g
s%@SECTION_FLAGS@%$SECTION_FLAGS%g
s%@SECTION_LDFLAGS@%$SECTION_LDFLAGS%g
s%@OPT_LDFLAGS@%$OPT_LDFLAGS%g
s%@LIBMATHOBJS@%$LIBMATHOBJS%g
+s%@GLIBCPP_BUILD_LIBMATH_TRUE@%$GLIBCPP_BUILD_LIBMATH_TRUE%g
+s%@GLIBCPP_BUILD_LIBMATH_FALSE@%$GLIBCPP_BUILD_LIBMATH_FALSE%g
+s%@GLIBCPP_TEST_WCHAR_T_TRUE@%$GLIBCPP_TEST_WCHAR_T_TRUE%g
+s%@GLIBCPP_TEST_WCHAR_T_FALSE@%$GLIBCPP_TEST_WCHAR_T_FALSE%g
s%@WERROR@%$WERROR%g
-s%@baseline_file@%$baseline_file%g
-s%@GLIBCPP_BUILD_ABI_CHECK_TRUE@%$GLIBCPP_BUILD_ABI_CHECK_TRUE%g
-s%@GLIBCPP_BUILD_ABI_CHECK_FALSE@%$GLIBCPP_BUILD_ABI_CHECK_FALSE%g
+s%@SYMVER_MAP@%$SYMVER_MAP%g
s%@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE%g
s%@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE%g
+s%@baseline_dir@%$baseline_dir%g
+s%@GLIBCPP_TEST_ABI_TRUE@%$GLIBCPP_TEST_ABI_TRUE%g
+s%@GLIBCPP_TEST_ABI_FALSE@%$GLIBCPP_TEST_ABI_FALSE%g
s%@OS_INC_SRCDIR@%$OS_INC_SRCDIR%g
s%@ATOMICITY_INC_SRCDIR@%$ATOMICITY_INC_SRCDIR%g
s%@GLIBCPP_IS_CROSS_COMPILING@%$GLIBCPP_IS_CROSS_COMPILING%g
@@ -24162,51 +24503,6 @@ cat >> $CONFIG_STATUS <<\EOF
fi; done
EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="$BASIC_FILE_CC $CLOCALE_CC $CCODECVT_CC $CCOLLATE_CC $CCTYPE_CC $CMESSAGES_CC $CMONEY_CC $CNUMERIC_CC $CTIME_CC $CLOCALE_INTERNAL_H $LINKER_MAP"
-ac_dests="src/basic_file.cc src/c++locale.cc src/codecvt_members.cc src/collate_members.cc src/ctype_members.cc src/messages_members.cc src/monetary_members.cc src/numeric_members.cc src/time_members.cc src/c++locale_internal.h src/linker.map"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=$1; shift; ac_dests=$*
- set $ac_sources; ac_source=$1; shift; ac_sources=$*
-
- echo "linking $srcdir/$ac_source to $ac_dest"
-
- if test ! -r $srcdir/$ac_source; then
- { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
- # The dest file is in a subdirectory.
- test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
- ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dest_dir_suffix.
- ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dest_dir_suffix= ac_dots=
- fi
-
- case "$srcdir" in
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
- *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
- esac
-
- # Make a symlink if possible; otherwise try a hard link.
- if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest; then :
- else
- { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
- fi
-done
-EOF
cat >> $CONFIG_STATUS <<EOF
srcdir=${srcdir}
@@ -24218,6 +24514,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
glibcpp_basedir=${glibcpp_basedir}
CC="${CC}"
CXX="${CXX}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
EOF
cat >> $CONFIG_STATUS <<\EOF
@@ -24227,6 +24524,7 @@ if test -n "$CONFIG_FILES"; then
ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in
grep '^MULTISUBDIR =' Makefile >> src/Makefile
grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile
+ grep '^MULTISUBDIR =' Makefile >> testsuite/Makefile
fi
chmod +x mkcheck
chmod +x testsuite_flags
diff --git a/libstdc++-v3/configure.in b/libstdc++-v3/configure.in
index 53308955957..2124b9b0116 100644
--- a/libstdc++-v3/configure.in
+++ b/libstdc++-v3/configure.in
@@ -13,7 +13,7 @@ ORIGINAL_LD_FOR_MULTILIBS=$LD
PACKAGE=libstdc++
AC_SUBST(PACKAGE)
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=5:2:0
+libtool_VERSION=5:5:0
AC_SUBST(libtool_VERSION)
GLIBCPP_TOPREL_CONFIGURE
@@ -54,18 +54,19 @@ AC_SUBST(enable_static)
GLIBCPP_CHECK_GNU_MAKE
# Enable all the variable C++ stuff. C_MBCHAR must come early.
-GLIBCPP_ENABLE_DEBUG($USE_MAINTAINER_MODE)
GLIBCPP_ENABLE_CSTDIO
GLIBCPP_ENABLE_CLOCALE
+GLIBCPP_ENABLE_CHEADERS([$c_model])
GLIBCPP_ENABLE_C_MBCHAR([yes])
GLIBCPP_ENABLE_C99([yes])
GLIBCPP_ENABLE_LONG_LONG([yes])
-GLIBCPP_ENABLE_CHEADERS([$c_model])
GLIBCPP_ENABLE_THREADS
-GLIBCPP_ENABLE_CXX_FLAGS([none])
GLIBCPP_ENABLE_SJLJ_EXCEPTIONS
GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS
GLIBCPP_ENABLE_CONCEPT_CHECKS
+GLIBCPP_ENABLE_CXX_FLAGS
+GLIBCPP_ENABLE_DEBUG([no])
+GLIBCPP_ENABLE_DEBUG_FLAGS([none])
# Check for headers necessary for libsupc++ using dyn-string.c/cxa_demangle.c
AC_CHECK_HEADERS(string.h stdlib.h)
@@ -411,6 +412,12 @@ else
GLIBCPP_CHECK_WCHAR_T_SUPPORT
GLIBCPP_CHECK_STDLIB_SUPPORT
GLIBCPP_CHECK_UNISTD_SUPPORT
+
+ # For showmanyc_helper().
+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
+ GLIBCPP_CHECK_POLL
+ GLIBCPP_CHECK_S_ISREG_OR_S_IFREG
+
AC_LC_MESSAGES
AC_TRY_COMPILE([
@@ -421,13 +428,14 @@ else
AC_FUNC_MMAP
- # Establish limits on memory usage during 'make check'
- GLIBCPP_CONFIGURE_TESTSUITE
fi
-# This depends on the possibly-skipped linker test above.
+# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no.
GLIBCPP_ENABLE_SYMVERS([yes])
+# This depends on GLIBCPP_ENABLE_SYMVERS and GLIBCPP_IS_CROSS_COMPILING.
+GLIBCPP_CONFIGURE_TESTSUITE
+
# Propagate the target-specific source directories through the build chain.
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
# uses it, and it only gets used in this file.)
@@ -465,9 +473,9 @@ AC_SUBST(LIBSUPCXX_PICFLAGS)
# Generate the various Makefiles, include files, and scripts.
# NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am
-# and libsupc++/Makefile.am so that multilib installs will end up
-# installed in the correct place. To work around this not being passed
-# down from config-ml.in -> top_srcdir/Makefile.am ->
+# libsupc++/Makefile.am and testsuite/Makefile.am so that multilib installs
+# will end up installed in the correct place. To work around this not being
+# passed down from config-ml.in -> top_srcdir/Makefile.am ->
# top_srcdir/{src,libsupc++}/Makefile.am, manually append it here.
AC_OUTPUT(Makefile \
include/Makefile src/Makefile \
@@ -478,6 +486,7 @@ AC_OUTPUT(Makefile \
ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in
grep '^MULTISUBDIR =' Makefile >> src/Makefile
grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile
+ grep '^MULTISUBDIR =' Makefile >> testsuite/Makefile
fi
chmod +x mkcheck
chmod +x testsuite_flags
@@ -491,6 +500,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
glibcpp_basedir=${glibcpp_basedir}
CC="${CC}"
CXX="${CXX}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
)
dnl In autoconf 2.5x, AC_OUTPUT is replaced by three AC_ macros:
dnl AC_CONFIG_FILES(Makefile \
@@ -502,6 +512,7 @@ dnl [if test -n "$CONFIG_FILES"; then
dnl ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in
dnl grep '^MULTISUBDIR =' Makefile >> src/Makefile
dnl grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile
+dnl grep '^MULTISUBDIR =' Makefile >> testsuite/Makefile
dnl fi
dnl chmod +x mkcheck
dnl chmod +x testsuite_flags
diff --git a/libstdc++-v3/configure.target b/libstdc++-v3/configure.target
index a186659daf3..a8aa6a6529d 100644
--- a/libstdc++-v3/configure.target
+++ b/libstdc++-v3/configure.target
@@ -17,27 +17,27 @@
# It sets the following shell variables:
#
# cpu_include_dir CPU-specific directory, defaults to cpu/generic
-# if cpu/target_cpu doesn't exist. This is
-# used to set ATOMICITYH.
+# if cpu/target_cpu doesn't exist. This is
+# used to set ATOMICITYH.
#
# os_include_dir OS-specific directory, defaults to os/generic.
#
# c_model the model to use for "C" headers, defaults to c_std.
#
# c_compatibility if "C" compatibility headers are necessary,
-# defaults to no.
+# defaults to no.
#
-# abi_baseline_triplet directory name for ABI compat testing,
-# defaults to target (as per config.guess)
+# abi_baseline_pair directory name for ABI compat testing,
+# defaults to target (as per config.guess)
#
# ATOMICITYH location of atomicity.h,
-# defaults to cpu_include_dir
+# defaults to cpu_include_dir
#
# It possibly modifies the following variables:
#
# OPT_LDFLAGS extra flags to pass when linking the library, of
-# the form '-Wl,blah'
-# (defaults to empty in acinclude.m4)
+# the form '-Wl,blah'
+# (defaults to empty in acinclude.m4)
#
#
# If the defaults will not work for your platform, you need only change the
@@ -50,14 +50,8 @@
# Try to guess a default cpu_include_dir based on the name of the CPU. We
# cannot do this for os_include_dir; there are too many portable operating
# systems out there. :-)
-abi_baseline_triplet=${target}
c_model=c_std
c_compatibility=no
-if test -d ${glibcpp_srcdir}/config/cpu/${target_cpu}; then
- cpu_include_dir="cpu/${target_cpu}"
-else
- cpu_include_dir="cpu/generic"
-fi
# TARGET-SPECIFIC OVERRIDES
@@ -65,43 +59,45 @@ fi
# Here we override defaults and catch more general cases due to naming
# conventions (e.g., chip_name* to catch all variants).
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
+
case "${target_cpu}" in
alpha*)
- cpu_include_dir="cpu/alpha"
+ try_cpu=alpha
;;
athlon* | i586 | i686 | i786 | x86_64)
- cpu_include_dir="cpu/i486"
+ try_cpu=i486
;;
hppa*)
- cpu_include_dir="cpu/hppa"
+ try_cpu=hppa
;;
m680[246]0)
- cpu_include_dir="cpu/m68k"
+ try_cpu=m68k
;;
powerpc* | rs6000)
- cpu_include_dir="cpu/powerpc"
+ try_cpu=powerpc
;;
s390x)
- cpu_include_dir="cpu/s390"
+ try_cpu=s390
;;
sparc* | ultrasparc)
- cpu_include_dir="cpu/sparc"
+ try_cpu=sparc
+ ;;
+ *)
+ if test -d ${glibcpp_srcdir}/config/cpu/${target_cpu}; then
+ try_cpu=${target_cpu}
+ else
+ try_cpu=generic
+ fi
;;
esac
-# Now look for the file(s) usually tied to a CPU model, and make default
-# choices for those if they haven't been explicitly set already.
-_cpu_incdir_fullpath=${glibcpp_srcdir}/config/${cpu_include_dir}
-if test x${ATOMICITYH+set} != xset; then
- if test -f ${_cpu_incdir_fullpath}/atomicity.h; then
- ATOMICITYH=$cpu_include_dir
- else
- ATOMICITYH="cpu/generic"
- fi
-fi
-unset _cpu_incdir_fullpath
-
+# Now look for the file(s) usually tied to a CPU model, and make
+# default choices for those if they haven't been explicitly set
+# already.
+cpu_include_dir="cpu/${try_cpu}"
+ATOMICITYH=$cpu_include_dir
+abi_baseline_pair=${try_cpu}-${host_os}
# Set any OS-dependent bits.
# Set the os_include_dir.
@@ -136,8 +132,6 @@ case "${target_os}" in
;;
freebsd*)
os_include_dir="os/bsd/freebsd"
- # The FreeBSD ABI is expressed in the major version number only.
- abi_baseline_triplet=`echo ${target} | sed 's,\(\.[0-9]*\)*$,,'`
;;
gnu* | linux*)
os_include_dir="os/gnu-linux"
@@ -166,7 +160,7 @@ case "${target_os}" in
solaris2.6*)
os_include_dir="os/solaris/solaris2.6"
;;
- solaris2.[78]*)
+ solaris2.[789]*)
os_include_dir="os/solaris/solaris2.7"
;;
windiss*)
@@ -188,4 +182,19 @@ case "${target}" in
mips*-*-linux*)
ATOMICITYH="cpu/mips"
;;
+ x86_64-*-linux*)
+ abi_baseline_pair="x86_64-linux-gnu"
+ ;;
+ alpha*-*-freebsd5*)
+ abi_baseline_pair="alpha-freebsd5"
+ ;;
+ i*86-*-freebsd4*)
+ abi_baseline_pair="i386-freebsd4"
+ ;;
+ i*86-*-freebsd5*)
+ abi_baseline_pair="i386-freebsd5"
+ ;;
+ sparc*-*-freebsd5*)
+ abi_baseline_pair="sparc-freebsd5"
+ ;;
esac
diff --git a/libstdc++-v3/docs/doxygen/Intro.3 b/libstdc++-v3/docs/doxygen/Intro.3
index fc44025c0c3..26b62512147 100644
--- a/libstdc++-v3/docs/doxygen/Intro.3
+++ b/libstdc++-v3/docs/doxygen/Intro.3
@@ -1,8 +1,8 @@
.\" t
.\" This man page is released under the FDL as part of libstdc++-v3.
-.TH Intro 3 "27 March 2002" "GNU libstdc++-v3" "Standard C++ Library"
+.TH C++Intro 3 "25 Febuary 2003" "GNU libstdc++-v3" "Standard C++ Library"
.SH NAME
-Intro \- Introduction to the GNU libstdc++-v3 man pages
+C++Intro \- Introduction to the GNU libstdc++-v3 man pages
.SH DESCRIPTION
This man page serves as a brief introduction to the GNU implementation of
the Standard C++ Library. For a better introduction and more complete
@@ -12,10 +12,10 @@ homepage listed at the end.
.P
All standard library entities are declared within
.I namespace std
-and have manual entries beginning with "std_". For example, to see
+and have manual entries beginning with "std::". For example, to see
documentation of the template class
.I std::vector
-one would use "man std_vector". Some entities do not have a separate man
+one would use "man std::vector". Some entities do not have a separate man
page; for those see the main listing in "man Namespace_Std".
.P
All the man pages are automatically generated by Doxygen. For more
@@ -37,7 +37,7 @@ Binder_functors Functors which "remember" an argument.
Comparison_functors Functors wrapping built-in comparisons.
Containers An introduction to container classes.
Func_ptr_functors Functors for use with pointers to functions.
-Intro This page.
+C++Intro This page.
Intro_functors An introduction to function objects, or functors.
Iterator_types Programatically distinguishing iterators/pointers.
Logical_functors Functors wrapping the Boolean operations.
@@ -112,10 +112,9 @@ need to know about it, but it can be useful. See FAQ 2.5.
.TP
.I libstdc++.so[.N]
The library implementation in shared object form. This will be used in
-preference to the static archive form by default. Currently N will either
-start with 3 or with 4, but your system vendor may change the name as they
-see fit. If N is in the 2.x series, then you are looking at the old
-libstdc++-v2 library, which we do not maintain.
+preference to the static archive form by default. N will be a number equal
+to or greater than 3. If N is in the 2.x series, then you are looking at
+the old libstdc++-v2 library, which we do not maintain.
.TP
.I libstdc++.la
.TP
diff --git a/libstdc++-v3/docs/doxygen/TODO b/libstdc++-v3/docs/doxygen/TODO
index 0b6e3d6c00b..3c895907780 100644
--- a/libstdc++-v3/docs/doxygen/TODO
+++ b/libstdc++-v3/docs/doxygen/TODO
@@ -19,11 +19,12 @@ entity to the generated TODO page.
-----------------------------------------------------------
c17 FINISHED (Nothing in Clause 17 "exists" in terms of code.)
-c18 <limits>, Note A
+c18 FINISHED, Note A
c19 Note A
c20 Note A
-c21 Untouched, Note B
-c22 Untouched
+c21 Untouched (top-level class note for basic_string done),
+ Note B
+c22 Untouched; see docs/html/22_locale/*
c23 See doxygroups.cc and Note B. Notes on what invalidates
iterators need to be added. std::list-specific memfns need
to be filled out.
diff --git a/libstdc++-v3/docs/doxygen/mainpage.html b/libstdc++-v3/docs/doxygen/mainpage.html
index f205d5f344c..9f9b55448b9 100644
--- a/libstdc++-v3/docs/doxygen/mainpage.html
+++ b/libstdc++-v3/docs/doxygen/mainpage.html
@@ -23,7 +23,7 @@
<h1>libstdc++-v3 Source Documentation</h1>
-<h2> Documentation Overview </h2>
+<h2>Documentation Overview</h2>
<p class="smallertext">@LEVEL@-level docs, generated @DATE@.</p>
@@ -48,6 +48,7 @@
<ul>
<li><a href="annotated.html">Compound List</a>
<li><a href="classes.html">Alphabetical List</a>
+ <li><a href="namespaces.html">Namespace List</a>
<li><a href="files.html">File List</a>
<li><a href="modules.html">Modules</a>
</ul>
@@ -81,16 +82,6 @@ href="http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/C++STYLE">C++STYLE</a>.
make sure that the initial formatting is sound.
</p>
-<p>The formatting guidelines for using libstdc++-v3 with doxygen are still
- incomplete. There seems to be a marginal preference for the use of
- Java-Doc style formatting, with the idea that the single-line style
- (triple-slash) is the least intrusive mechanism for getting libstdc++-v3
- documented and cross-referenced while at the same time minimizing
- disruption to the current formatting. Full documentation of functions
- (parameter types, return values, etc) will require the slash-splat-splat
- &quot;extended C&quot; commenting style.
-</p>
-
<h2> Full page index </h2>
<p>Here are entry points to all the pages generated by Doxygen:
<ul>
diff --git a/libstdc++-v3/docs/doxygen/run_doxygen b/libstdc++-v3/docs/doxygen/run_doxygen
index 6a0806ce410..248625a47b6 100644
--- a/libstdc++-v3/docs/doxygen/run_doxygen
+++ b/libstdc++-v3/docs/doxygen/run_doxygen
@@ -1,7 +1,7 @@
#!/bin/sh
# Runs doxygen and massages the output files.
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
#
# Synopsis: run_doxygen --mode=[user|maint|man] v3srcdir v3builddir
#
@@ -131,7 +131,6 @@ test $do_man = yes && {
chmod -R u+w $outdir/man/man3/ext
}
-set -e
(
set -e
cd $builddir
@@ -147,15 +146,29 @@ set -e
$doxygen ${outdir}/${mode}.cfg
echo :: Finished, exit code was $?
)
-set +e
+ret=$?
+test $ret -ne 0 && exit $ret
test $do_html = yes && {
+ cd ${outdir}/html_${mode}
sed -e "s=@LEVEL@=${LEVELtext}=" \
-e "s=@DATE@=${DATEtext}=" \
- ${srcdir}/docs/doxygen/mainpage.html > ${outdir}/html_${mode}/index.html
- cd ${outdir}/html_${mode}
+ ${srcdir}/docs/doxygen/mainpage.html > index.html
+
+ # The following bit of line noise changes annoying
+ # std::foo < typename _Ugly1, typename _Ugly2, .... _DefaultUgly17 >
+ # to user-friendly
+ # std::foo
+ # in the major "Compound List" page.
sed -e 's=\(::[[:alnum:]_]*\)&lt; .* &gt;=\1=' annotated.html > annstrip.html
mv annstrip.html annotated.html
+
+ # Work around a bug in doxygen 1.3.
+ for f in class*html struct*html; do
+ sed '1,10s!^<title> Template!<title>Template !' $f > TEMP
+ mv TEMP $f
+ done
+
cp ${srcdir}/docs/doxygen/tables.html tables.html
echo ::
echo :: HTML pages begin with
@@ -231,7 +244,40 @@ a\
mv TEMP $f
done
-cp ${srcdir}/docs/doxygen/Intro.3 .
+# Also, break this (generated) line up. It's ugly as sin.
+problematic=`grep -l '[^^]Definition at line' *.3`
+for f in $problematic; do
+ sed 's/Definition at line/\
+.PP\
+&/' $f > TEMP
+ mv TEMP $f
+done
+
+cp ${srcdir}/docs/doxygen/Intro.3 C++Intro.3
+
+# Why didn't I do this at the start? Were rabid weasels eating my brain?
+# Who the fsck would "man std_vector" when the class isn't named that?
+for f in std_*; do
+ newname=`echo $f | sed 's/^std_/std::/'`
+ mv $f $newname
+done
+for f in __gnu_cxx_*; do
+ newname=`echo $f | sed 's/^__gnu_cxx_/__gnu_cxx::/'`
+ mv $f $newname
+done
+for f in *__policy_*; do
+ newname=`echo $f | sed 's/__policy_/__policy::/'`
+ mv $f $newname
+done
+
+# Also, for some reason, typedefs don't get their own man pages. Sigh.
+for f in ios streambuf istream ostream iostream stringbuf \
+ istringstream ostringstream stringstream filebuf ifstream \
+ ofstream fstream string;
+do
+ echo ".so man3/std::basic_${f}.3" > std::${f}.3
+ echo ".so man3/std::basic_${f}.3" > std::w${f}.3
+done
echo ::
echo :: Man pages in ${outdir}/man
@@ -243,4 +289,3 @@ echo ::
exit 0
# vim:ts=4:et:
-
diff --git a/libstdc++-v3/docs/doxygen/tables.html b/libstdc++-v3/docs/doxygen/tables.html
index 7c340529352..07e9f3e4b7b 100644
--- a/libstdc++-v3/docs/doxygen/tables.html
+++ b/libstdc++-v3/docs/doxygen/tables.html
@@ -31,10 +31,6 @@
are also noted or incorporated.
</p>
-<p class="smallertext">This will probably be incomplete for a while because
-filling out the tables is mind-frothingly boring. Also, the HTML table
-rendering is ugly. (Update: mozilla 0.9.9 looks MUCH better.)</p>
-
<hr />
<a name="65"><p>
diff --git a/libstdc++-v3/docs/doxygen/user.cfg.in b/libstdc++-v3/docs/doxygen/user.cfg.in
index 966d6e855bb..a9644f7bd63 100644
--- a/libstdc++-v3/docs/doxygen/user.cfg.in
+++ b/libstdc++-v3/docs/doxygen/user.cfg.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.2.18
+# Doxyfile 1.3-rc2
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
@@ -43,12 +43,11 @@ OUTPUT_DIRECTORY = @outdir@
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
-# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese,
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
+# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese,
# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
-
OUTPUT_LANGUAGE = English
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
@@ -68,8 +67,8 @@ EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.
EXTRACT_LOCAL_CLASSES = NO
@@ -89,13 +88,20 @@ HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
# documentation.
HIDE_FRIEND_COMPOUNDS = NO
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
@@ -104,7 +110,7 @@ HIDE_FRIEND_COMPOUNDS = NO
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
+# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
@@ -116,12 +122,12 @@ REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = YES
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
# the base classes will not be shown.
-INLINE_INHERITED_MEMB = NO
+INLINE_INHERITED_MEMB = YES
# pedwards -- this is useful, but ch27 gets huge
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
@@ -144,12 +150,6 @@ STRIP_FROM_PATH =
INTERNAL_DOCS = NO
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower case letters. If set to YES upper case letters are also
# allowed. This is useful if you have classes or files whose names only differ
@@ -190,17 +190,17 @@ SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
# description. Set this tag to YES if you prefer the old behaviour instead.
MULTILINE_CPP_IS_BRIEF = YES
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
+# If set to NO, the detailed description appears after the member
# documentation.
DETAILS_AT_TOP = NO
@@ -253,8 +253,8 @@ GENERATE_TESTLIST = NO
GENERATE_BUGLIST = YES
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
# \deprecated commands in the documentation.
GENERATE_DEPRECATEDLIST= YES
@@ -267,7 +267,7 @@ GENERATE_DEPRECATEDLIST= YES
# You can put \n's in the value part of an alias to insert newlines.
ALIASES = "doctodo=@todo\nDoc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more." \
-"isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink"
+ "isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink"
# The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
@@ -291,9 +291,9 @@ MAX_INITIALIZER_LINES = 0
OPTIMIZE_OUTPUT_FOR_C = NO
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance namespaces will be presented as packages, qualified scopes
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
+# only. Doxygen will then generate output that is more tailored for Java.
+# For instance namespaces will be presented as packages, qualified scopes
# will look different, etc.
OPTIMIZE_OUTPUT_JAVA = NO
@@ -325,6 +325,13 @@ WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = NO
+
# The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the
@@ -375,9 +382,11 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE = Makefile CVS
+EXCLUDE = Makefile \
+ CVS \
+ stdc++.h.gch
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
# that are symbolic links (a Unix filesystem feature) are excluded from the input.
EXCLUDE_SYMLINKS = NO
@@ -387,8 +396,9 @@ EXCLUDE_SYMLINKS = NO
# certain files from those directories.
EXCLUDE_PATTERNS = CVS \
- stamp-* \
- Makefile
+ stamp-* \
+ Makefile \
+ *gch*
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@@ -445,6 +455,12 @@ SOURCE_BROWSER = YES
INLINE_SOURCES = NO
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
# If the REFERENCED_BY_RELATION tag is set to YES (the default)
# then for each documented function all documented
# functions referencing it will be listed.
@@ -533,19 +549,19 @@ HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
# written to the html output dir.
-CHM_FILE =
+CHM_FILE =
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non empty doxygen will try to run
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non empty doxygen will try to run
# the html help compiler on the generated index.hhp.
-HHC_LOCATION =
+HHC_LOCATION =
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
# controls if a separate .chi index file is generated (YES) or that
@@ -606,13 +622,13 @@ GENERATE_LATEX = NO
LATEX_OUTPUT = latex
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to
-# be invoked. If left blank `latex' will be used as the default command name.
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
LATEX_CMD_NAME = latex
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
# default command name.
MAKEINDEX_CMD_NAME = makeindex
@@ -723,10 +739,10 @@ MAN_OUTPUT = man
MAN_EXTENSION = .3
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
# would be unable to find the correct page. The default is NO.
MAN_LINKS = NO
@@ -743,31 +759,64 @@ MAN_LINKS = NO
GENERATE_XML = NO
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
# syntax of the XML files.
-XML_SCHEMA =
+XML_SCHEMA =
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
# syntax of the XML files.
-XML_DTD =
+XML_DTD =
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
# and incomplete at the moment.
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
@@ -860,8 +909,8 @@ GENERATE_TAGFILE =
ALLEXTERNALS = YES
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
# be listed.
EXTERNAL_GROUPS = YES
@@ -883,8 +932,8 @@ PERL_PATH = /usr/bin/perl
CLASS_DIAGRAMS = YES
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
# or is not a class.
HIDE_UNDOC_RELATIONS = YES
@@ -934,7 +983,7 @@ INCLUDED_BY_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. Possible values are png, jpg, or gif
# If left blank png will be used.
@@ -1022,6 +1071,3 @@ BIN_ABSPATH = /usr/local/bin/
# the documentation for these projects as well.
EXT_DOC_PATHS =
-
-### End of file.
-
diff --git a/libstdc++-v3/docs/html/17_intro/howto.html b/libstdc++-v3/docs/html/17_intro/howto.html
index 9d10becfad4..fc43d0f5892 100644
--- a/libstdc++-v3/docs/html/17_intro/howto.html
+++ b/libstdc++-v3/docs/html/17_intro/howto.html
@@ -163,7 +163,7 @@
<p>For those of you new to ISO C++98, no, that isn't a typo, the headers
really have new names. Marshall Cline's C++ FAQ Lite has a good
explanation in
-<a href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-26.4">item [26.4]</a>.
+<a href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4">item [27.4]</a>.
</p>
<p>Return <a href="#top">to top of page</a> or
<a href="../faq/index.html">to the FAQ</a>.
@@ -189,6 +189,9 @@
<p>For each entry, we give the section number of the standard, when
applicable. This list is probably incomplet and inkorrekt.
</p>
+ <p><strong>[1.9]/11 #3</strong> If <code>isatty(3)</code> is true, then
+ interactive stream support is implied.
+ </p>
<p><strong>[17.4.4.5]</strong> Non-reentrant functions are probably best
discussed in the various sections on multithreading (see above).
</p>
@@ -216,7 +219,8 @@
<a href="../18_support/howto.html#5">runtime demangler function</a>.
(The classes in <code>&lt;stdexcept&gt;</code> have constructors which
require an argument to use later for <code>what()</code> calls, so the
- question does not arise in most user-defined exceptions.)
+ problem of <code>what()</code>'s value does not arise in most
+ user-defined exceptions.)
</p>
<p><strong>[18.5.1]/7</strong> The return value of
<code>std::type_info::name()</code> is the mangled type name (see the
diff --git a/libstdc++-v3/docs/html/17_intro/porting.html b/libstdc++-v3/docs/html/17_intro/porting.html
index c28f89f407f..ac51f450673 100644
--- a/libstdc++-v3/docs/html/17_intro/porting.html
+++ b/libstdc++-v3/docs/html/17_intro/porting.html
@@ -2,60 +2,84 @@
<head>
<title>Porting libstdc++-v3</title>
<meta http-equiv="Content-Type" content="text/html">
-<meta name=description content="Porting libstdc++-v3">
-<meta name=generator content="makeinfo 4.2">
-<link href="http://www.gnu.org/software/texinfo/" rel=generator-home>
+<meta name="description" content="Porting libstdc++-v3">
+<meta name="generator" content="makeinfo 4.3">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
+<!--
+Copyright &copy; 2000, 2001, 2002 Free Software Foundation, Inc.
+
+ <p>Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 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".
+
+ <p>(a) The FSF's Front-Cover Text is:
+
+ <p>A GNU Manual
+
+ <p>(b) The FSF's Back-Cover Text is:
+
+ <p>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.-->
</head>
<body>
-<h1>Porting libstdc++-v3</h1>
+<h1 class="settitle">Porting libstdc++-v3</h1>
+<div class="node">
<p><hr>
Node:<a name="Top">Top</a>,
-Next:<a rel=next accesskey=n href="#Operating%20system">Operating system</a>,
-Up:<a rel=up accesskey=u href="#dir">(dir)</a>
+Next:<a rel="next" accesskey="n" href="#Operating%20system">Operating system</a>,
+Up:<a rel="up" accesskey="u" href="#dir">(dir)</a>
<br>
+</div>
-<h2>Porting libstdc++-v3</h2>
+<h2 class="unnumbered">Porting libstdc++-v3</h2>
-<p>This document explains how to port libstdc++-v3 (the GNU C++ library) to
+ <p>This document explains how to port libstdc++-v3 (the GNU C++ library) to
a new target.
-<p>In order to make the GNU C++ library (libstdc++-v3) work with a new
+ <p>In order to make the GNU C++ library (libstdc++-v3) work with a new
target, you must edit some configuration files and provide some new
header files. Unless this is done, libstdc++-v3 will use generic
settings which may not be correct for your target; even if they are
correct, they will likely be inefficient.
-<p>Before you get started, make sure that you have a working C library on
+ <p>Before you get started, make sure that you have a working C library on
your target. The C library need not precisely comply with any
particular standard, but should generally conform to the requirements
imposed by the ANSI/ISO standard.
-<p>In addition, you should try to verify that the C++ compiler generally
+ <p>In addition, you should try to verify that the C++ compiler generally
works. It is difficult to test the C++ compiler without a working
library, but you should at least try some minimal test cases.
-<p>Here are the primary steps required to port the library:
+ <p>Here are the primary steps required to port the library:
-<ul>
-<li><a accesskey=1 href="#Operating%20system">Operating system</a>: Configuring for your operating system.
-<li><a accesskey=2 href="#CPU">CPU</a>: Configuring for your processor chip.
-<li><a accesskey=3 href="#Character%20types">Character types</a>: Implementing character classification.
-<li><a accesskey=4 href="#Thread%20safety">Thread safety</a>: Implementing atomic operations.
-<li><a accesskey=5 href="#Numeric%20limits">Numeric limits</a>: Implementing numeric limits.
-<li><a accesskey=6 href="#Libtool">Libtool</a>: Using libtool.
-<li><a accesskey=7 href="#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>: How you can copy and share this manual.
+<ul class="menu">
+<li><a accesskey="1" href="#Operating%20system">Operating system</a>: Configuring for your operating system.
+<li><a accesskey="2" href="#CPU">CPU</a>: Configuring for your processor chip.
+<li><a accesskey="3" href="#Character%20types">Character types</a>: Implementing character classification.
+<li><a accesskey="4" href="#Thread%20safety">Thread safety</a>: Implementing atomic operations.
+<li><a accesskey="5" href="#Numeric%20limits">Numeric limits</a>: Implementing numeric limits.
+<li><a accesskey="6" href="#Libtool">Libtool</a>: Using libtool.
+<li><a accesskey="7" href="#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>: How you can copy and share this manual.
</ul>
+<div class="node">
<p><hr>
Node:<a name="Operating%20system">Operating system</a>,
-Next:<a rel=next accesskey=n href="#CPU">CPU</a>,
-Previous:<a rel=previous accesskey=p href="#Top">Top</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Next:<a rel="next" accesskey="n" href="#CPU">CPU</a>,
+Previous:<a rel="previous" accesskey="p" href="#Top">Top</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
+</div>
-<h2>Operating system</h2>
+<h2 class="chapter">Operating system</h2>
-<p>If you are porting to a new operating system (as opposed to a new chip
+ <p>If you are porting to a new operating system (as opposed to a new chip
using an existing operating system), you will need to create a new
directory in the <code>config/os</code> hierarchy. For example, the IRIX
configuration files are all in <code>config/os/irix</code>. There is no set
@@ -68,7 +92,7 @@ directory. The important information is that there needs to be a
directory under <code>config/os</code> to store the files for your operating
system.
-<p>You might have to change the <code>configure.target</code> file to ensure that
+ <p>You might have to change the <code>configure.target</code> file to ensure that
your new directory is activated. Look for the switch statement that sets
<code>os_include_dir</code>, and add a pattern to handle your operating system
if the default will not suffice. The switch statement switches on only
@@ -76,17 +100,17 @@ the OS portion of the standard target triplet; e.g., the <code>solaris2.8</code>
in <code>sparc-sun-solaris2.8</code>. If the new directory is named after the
OS portion of the triplet (the default), then nothing needs to be changed.
-<p>The first file to create in this directory, should be called
+ <p>The first file to create in this directory, should be called
<code>os_defines.h</code>. This file contains basic macro definitions
that are required to allow the C++ library to work with your C library.
This file should provide macro definitions for <code>__off_t</code>,
<code>__off64_t</code>, and <code>__ssize_t</code>. Typically, this just looks
like:
-<br><pre>#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-</pre>
+<pre class="example"> #define __off_t off_t
+ #define __off64_t off64_t
+ #define __ssize_t ssize_t
+ </pre>
<p>You don't have to provide these definitions if your system library
already defines these types - but the only library known to provide
@@ -95,7 +119,7 @@ provide these macros. Note that this file does not have to include a
header file that defines <code>off_t</code>, or the other types; you simply
have to provide the macros.
-<p>In addition, several libstdc++-v3 source files unconditionally define
+ <p>In addition, several libstdc++-v3 source files unconditionally define
the macro <code>_POSIX_SOURCE</code>. On many systems, defining this macro
causes large portions of the C library header files to be eliminated
at preprocessing time. Therefore, you may have to <code>#undef</code> this
@@ -110,71 +134,112 @@ need to define. You will need to add them to the
target. It will not work to simply define these macros in
<code>os_defines.h</code>.
-<p>At this time, there is one libstdc++-v3-specific macro which may be
+ <p>At this time, there are a few libstdc++-v3-specific macro which may be
defined. <code>_G_USING_THUNKS</code> may be defined to 0 to express that the
port doesn't use thunks (although it is unclear that this is still
useful since libio support isn't currently working and the g++ v3 ABI
invalidates the assumption that some ports don't use thunks).
-<p>Finally, you should bracket the entire file in an include-guard, like
+ <p><code>_GLIBCPP_USE_C99_CHECK</code> may be defined to 1 to check C99
+function declarations (which are not covered by specialization below)
+found in system headers against versions found in the library headers
+derived from the standard.
+
+ <p><code>_GLIBCPP_USE_C99_DYNAMIC</code> may be defined to an expression that
+yields 0 if and only if the system headers are exposing proper support
+for C99 functions (which are not covered by specialization below). If
+defined, it must be 0 while bootstrapping the compiler/rebuilding the
+library.
+
+ <p><code>_GLIBCPP_USE_C99_LONG_LONG_CHECK</code> may be defined to 1 to check
+the set of C99 long long function declarations found in system headers
+against versions found in the library headers derived from the
+standard.
+
+ <p><code>_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC</code> may be defined to an
+expression that yields 0 if and only if the system headers are
+exposing proper support for the set of C99 long long functions. If
+defined, it must be 0 while bootstrapping the compiler/rebuilding the
+library.
+
+ <p><code>_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC</code> may be defined to an
+expression that yields 0 if and only if the system headers
+are exposing proper support for the related set of macros. If defined,
+it must be 0 while bootstrapping the compiler/rebuilding the library.
+
+ <p><code>_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK</code> may be defined
+to 1 to check the related set of function declarations found in system
+headers against versions found in the library headers derived from
+the standard.
+
+ <p><code>_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC</code> may be defined
+to an expression that yields 0 if and only if the system headers
+are exposing proper support for the related set of functions. If defined,
+it must be 0 while bootstrapping the compiler/rebuilding the library.
+
+ <p>Finally, you should bracket the entire file in an include-guard, like
this:
-<br><pre>#ifndef _GLIBCPP_OS_DEFINES
-#define _GLIBCPP_OS_DEFINES
-...
-#endif
-</pre>
+<pre class="example"> #ifndef _GLIBCPP_OS_DEFINES
+ #define _GLIBCPP_OS_DEFINES
+ ...
+ #endif
+ </pre>
-<p>We recommend copying an existing <code>os_defines.h</code> to use as a
+ <p>We recommend copying an existing <code>os_defines.h</code> to use as a
starting point.
+<div class="node">
<p><hr>
Node:<a name="CPU">CPU</a>,
-Next:<a rel=next accesskey=n href="#Character%20types">Character types</a>,
-Previous:<a rel=previous accesskey=p href="#Operating%20system">Operating system</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Next:<a rel="next" accesskey="n" href="#Character%20types">Character types</a>,
+Previous:<a rel="previous" accesskey="p" href="#Operating%20system">Operating system</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
+</div>
-<h2>CPU</h2>
+<h2 class="chapter">CPU</h2>
-<p>If you are porting to a new chip (as opposed to a new operating system
+ <p>If you are porting to a new chip (as opposed to a new operating system
running on an existing chip), you will need to create a new directory in the
<code>config/cpu</code> hierarchy. Much like the <a href="#Operating%20system">Operating system</a> setup,
there are no strict rules on how to organize the CPU configuration
directory, but careful naming choices will allow the configury to find your
setup files without explicit help.
-<p>We recommend that for a target triplet <code>&lt;CPU&gt;-&lt;vendor&gt;-&lt;OS&gt;</code>, you
+ <p>We recommend that for a target triplet <code>&lt;CPU&gt;-&lt;vendor&gt;-&lt;OS&gt;</code>, you
name your configuration directory <code>config/cpu/&lt;CPU&gt;</code>. If you do this,
the configury will find the directory itself. Otherwise you will need to
edit the <code>configure.target</code> file and, in the switch statement that sets
<code>cpu_include_dir</code>, add a pattern to handle your chip.
-<p>Note that some chip families share a single configuration directory, for
+ <p>Note that some chip families share a single configuration directory, for
example, <code>alpha</code>, <code>alphaev5</code>, and <code>alphaev6</code> all use the
<code>config/cpu/alpha</code> directory, and there is an entry in the
<code>configure.target</code> switch statement to handle this.
-<p>The <code>cpu_include_dir</code> sets default locations for the files controlling
+ <p>The <code>cpu_include_dir</code> sets default locations for the files controlling
<a href="#Thread%20safety">Thread safety</a> and <a href="#Numeric%20limits">Numeric limits</a>, if the defaults are not
appropriate for your chip.
+<div class="node">
<p><hr>
Node:<a name="Character%20types">Character types</a>,
-Next:<a rel=next accesskey=n href="#Thread%20safety">Thread safety</a>,
-Previous:<a rel=previous accesskey=p href="#CPU">CPU</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Next:<a rel="next" accesskey="n" href="#Thread%20safety">Thread safety</a>,
+Previous:<a rel="previous" accesskey="p" href="#CPU">CPU</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
+</div>
-<h2>Character types</h2>
+<h2 class="chapter">Character types</h2>
-<p>The library requires that you provide three header files to implement
+ <p>The library requires that you provide three header files to implement
character classification, analogous to that provided by the C libraries
<code>&lt;ctype.h&gt;</code> header. You can model these on the files provided in
<code>config/os/generic</code>. However, these files will almost
certainly need some modification.
-<p>The first file to write is <code>ctype_base.h</code>. This file provides
+ <p>The first file to write is <code>ctype_base.h</code>. This file provides
some very basic information about character classification. The libstdc++-v3
library assumes that your C library implements <code>&lt;ctype.h&gt;</code> by using
a table (indexed by character code) containing integers, where each of
@@ -184,33 +249,33 @@ file gives the type of the integer, and the values of the various bit
masks. You will have to peer at your own <code>&lt;ctype.h&gt;</code> to figure out
how to define the values required by this file.
-<p>The <code>ctype_base.h</code> header file does not need include guards.
+ <p>The <code>ctype_base.h</code> header file does not need include guards.
It should contain a single <code>struct</code> definition called
<code>ctype_base</code>. This <code>struct</code> should contain two type
declarations, and one enumeration declaration, like this example, taken
from the IRIX configuration:
-<br><pre>struct ctype_base
-{
- typedef unsigned int mask;
- typedef int* __to_type;
-
- enum
- {
- space = _ISspace,
- print = _ISprint,
- cntrl = _IScntrl,
- upper = _ISupper,
- lower = _ISlower,
- alpha = _ISalpha,
- digit = _ISdigit,
- punct = _ISpunct,
- xdigit = _ISxdigit,
- alnum = _ISalnum,
- graph = _ISgraph
- };
-};
-</pre>
+<pre class="example"> struct ctype_base
+ {
+ typedef unsigned int mask;
+ typedef int* __to_type;
+
+ enum
+ {
+ space = _ISspace,
+ print = _ISprint,
+ cntrl = _IScntrl,
+ upper = _ISupper,
+ lower = _ISlower,
+ alpha = _ISalpha,
+ digit = _ISdigit,
+ punct = _ISpunct,
+ xdigit = _ISxdigit,
+ alnum = _ISalnum,
+ graph = _ISgraph
+ };
+ };
+ </pre>
<p>The <code>mask</code> type is the type of the elements in the table. If your
C library uses a table to map lower-case numbers to upper-case numbers,
@@ -220,29 +285,29 @@ penalty, or if your library doesn't implement <code>toupper</code> and
<code>tolower</code> in this way, you can pick any pointer-to-integer type,
but you must still define the type.
-<p>The enumeration should give definitions for all the values in the above
+ <p>The enumeration should give definitions for all the values in the above
example, using the values from your native <code>&lt;ctype.h&gt;</code>. They can
be given symbolically (as above), or numerically, if you prefer. You do
not have to include <code>&lt;ctype.h&gt;</code> in this header; it will always be
included before <code>ctype_base.h</code> is included.
-<p>The next file to write is <code>ctype_noninline.h</code>, which also does
+ <p>The next file to write is <code>ctype_noninline.h</code>, which also does
not require include guards. This file defines a few member functions
that will be included in <code>include/bits/locale_facets.h</code>. The first
function that must be written is the <code>ctype&lt;char&gt;::ctype</code>
constructor. Here is the IRIX example:
-<br><pre>ctype&lt;char&gt;::ctype(const mask* __table = 0, bool __del = false,
- size_t __refs = 0)
- : _Ctype_nois&lt;char&gt;(__refs), _M_del(__table != 0 &amp;&amp; __del),
- _M_toupper(NULL),
- _M_tolower(NULL),
- _M_ctable(NULL),
- _M_table(!__table
- ? (const mask*) (__libc_attr._ctype_tbl-&gt;_class + 1)
- : __table)
- { }
-</pre>
+<pre class="example"> ctype&lt;char&gt;::ctype(const mask* __table = 0, bool __del = false,
+ size_t __refs = 0)
+ : _Ctype_nois&lt;char&gt;(__refs), _M_del(__table != 0 &amp;&amp; __del),
+ _M_toupper(NULL),
+ _M_tolower(NULL),
+ _M_ctable(NULL),
+ _M_table(!__table
+ ? (const mask*) (__libc_attr._ctype_tbl-&gt;_class + 1)
+ : __table)
+ { }
+ </pre>
<p>There are two parts of this that you might choose to alter. The first,
and most important, is the line involving <code>__libc_attr</code>. That is
@@ -253,140 +318,142 @@ operating system's tables to map upper-case letters to lower-case, and
vice versa, you should initialize <code>_M_toupper</code> and
<code>_M_tolower</code> with those tables, in similar fashion.
-<p>Now, you have to write two functions to convert from upper-case to
+ <p>Now, you have to write two functions to convert from upper-case to
lower-case, and vice versa. Here are the IRIX versions:
-<br><pre>char
-ctype&lt;char&gt;::do_toupper(char __c) const
-{ return _toupper(__c); }
-
-char
-ctype&lt;char&gt;::do_tolower(char __c) const
-{ return _tolower(__c); }
-</pre>
+<pre class="example"> char
+ ctype&lt;char&gt;::do_toupper(char __c) const
+ { return _toupper(__c); }
+
+ char
+ ctype&lt;char&gt;::do_tolower(char __c) const
+ { return _tolower(__c); }
+ </pre>
<p>Your C library provides equivalents to IRIX's <code>_toupper</code> and
<code>_tolower</code>. If you initialized <code>_M_toupper</code> and
<code>_M_tolower</code> above, then you could use those tables instead.
-<p>Finally, you have to provide two utility functions that convert strings
+ <p>Finally, you have to provide two utility functions that convert strings
of characters. The versions provided here will always work - but you
could use specialized routines for greater performance if you have
machinery to do that on your system:
-<br><pre>const char*
-ctype&lt;char&gt;::do_toupper(char* __low, const char* __high) const
-{
- while (__low &lt; __high)
- {
- *__low = do_toupper(*__low);
- ++__low;
- }
- return __high;
-}
-
-const char*
-ctype&lt;char&gt;::do_tolower(char* __low, const char* __high) const
-{
- while (__low &lt; __high)
- {
- *__low = do_tolower(*__low);
- ++__low;
- }
- return __high;
-}
-</pre>
-
-<p>You must also provide the <code>ctype_inline.h</code> file, which
+<pre class="example"> const char*
+ ctype&lt;char&gt;::do_toupper(char* __low, const char* __high) const
+ {
+ while (__low &lt; __high)
+ {
+ *__low = do_toupper(*__low);
+ ++__low;
+ }
+ return __high;
+ }
+
+ const char*
+ ctype&lt;char&gt;::do_tolower(char* __low, const char* __high) const
+ {
+ while (__low &lt; __high)
+ {
+ *__low = do_tolower(*__low);
+ ++__low;
+ }
+ return __high;
+ }
+ </pre>
+
+ <p>You must also provide the <code>ctype_inline.h</code> file, which
contains a few more functions. On most systems, you can just copy
<code>config/os/generic/ctype_inline.h</code> and use it on your system.
-<p>In detail, the functions provided test characters for particular
+ <p>In detail, the functions provided test characters for particular
properties; they are analogous to the functions like <code>isalpha</code> and
<code>islower</code> provided by the C library.
-<p>The first function is implemented like this on IRIX:
+ <p>The first function is implemented like this on IRIX:
-<br><pre>bool
-ctype&lt;char&gt;::
-is(mask __m, char __c) const throw()
-{ return (_M_table)[(unsigned char)(__c)] &amp; __m; }
-</pre>
+<pre class="example"> bool
+ ctype&lt;char&gt;::
+ is(mask __m, char __c) const throw()
+ { return (_M_table)[(unsigned char)(__c)] &amp; __m; }
+ </pre>
<p>The <code>_M_table</code> is the table passed in above, in the constructor.
This is the table that contains the bitmasks for each character. The
implementation here should work on all systems.
-<p>The next function is:
+ <p>The next function is:
-<br><pre>const char*
-ctype&lt;char&gt;::
-is(const char* __low, const char* __high, mask* __vec) const throw()
-{
- while (__low &lt; __high)
- *__vec++ = (_M_table)[(unsigned char)(*__low++)];
- return __high;
-}
-</pre>
+<pre class="example"> const char*
+ ctype&lt;char&gt;::
+ is(const char* __low, const char* __high, mask* __vec) const throw()
+ {
+ while (__low &lt; __high)
+ *__vec++ = (_M_table)[(unsigned char)(*__low++)];
+ return __high;
+ }
+ </pre>
<p>This function is similar; it copies the masks for all the characters
from <code>__low</code> up until <code>__high</code> into the vector given by
<code>__vec</code>.
-<p>The last two functions again are entirely generic:
-
-<br><pre>const char*
-ctype&lt;char&gt;::
-scan_is(mask __m, const char* __low, const char* __high) const throw()
-{
- while (__low &lt; __high &amp;&amp; !this-&gt;is(__m, *__low))
- ++__low;
- return __low;
-}
-
-const char*
-ctype&lt;char&gt;::
-scan_not(mask __m, const char* __low, const char* __high) const throw()
-{
- while (__low &lt; __high &amp;&amp; this-&gt;is(__m, *__low))
- ++__low;
- return __low;
-}
-</pre>
-
+ <p>The last two functions again are entirely generic:
+
+<pre class="example"> const char*
+ ctype&lt;char&gt;::
+ scan_is(mask __m, const char* __low, const char* __high) const throw()
+ {
+ while (__low &lt; __high &amp;&amp; !this-&gt;is(__m, *__low))
+ ++__low;
+ return __low;
+ }
+
+ const char*
+ ctype&lt;char&gt;::
+ scan_not(mask __m, const char* __low, const char* __high) const throw()
+ {
+ while (__low &lt; __high &amp;&amp; this-&gt;is(__m, *__low))
+ ++__low;
+ return __low;
+ }
+ </pre>
+
+<div class="node">
<p><hr>
Node:<a name="Thread%20safety">Thread safety</a>,
-Next:<a rel=next accesskey=n href="#Numeric%20limits">Numeric limits</a>,
-Previous:<a rel=previous accesskey=p href="#Character%20types">Character types</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Next:<a rel="next" accesskey="n" href="#Numeric%20limits">Numeric limits</a>,
+Previous:<a rel="previous" accesskey="p" href="#Character%20types">Character types</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
+</div>
-<h2>Thread safety</h2>
+<h2 class="chapter">Thread safety</h2>
-<p>The C++ library string functionality requires a couple of atomic
+ <p>The C++ library string functionality requires a couple of atomic
operations to provide thread-safety. If you don't take any special
action, the library will use stub versions of these functions that are
not thread-safe. They will work fine, unless your applications are
multi-threaded.
-<p>If you want to provide custom, safe, versions of these functions, there
+ <p>If you want to provide custom, safe, versions of these functions, there
are two distinct approaches. One is to provide a version for your CPU,
using assembly language constructs. The other is to use the
thread-safety primitives in your operating system. In either case, you
make a file called <code>atomicity.h</code>, and the variable
<code>ATOMICITYH</code> must point to this file.
-<p>If you are using the assembly-language approach, put this code in
+ <p>If you are using the assembly-language approach, put this code in
<code>config/cpu/&lt;chip&gt;/atomicity.h</code>, where chip is the name of
your processor (see <a href="#CPU">CPU</a>). No additional changes are necessary to
locate the file in this case; <code>ATOMICITYH</code> will be set by default.
-<p>If you are using the operating system thread-safety primitives approach,
+ <p>If you are using the operating system thread-safety primitives approach,
you can also put this code in the same CPU directory, in which case no more
work is needed to locate the file. For examples of this approach,
see the <code>atomicity.h</code> file for IRIX or IA64.
-<p>Alternatively, if the primitives are more closely related to the OS
+ <p>Alternatively, if the primitives are more closely related to the OS
than they are to the CPU, you can put the <code>atomicity.h</code> file in
the <a href="#Operating%20system">Operating system</a> directory instead. In this case, you must
edit <code>configure.target</code>, and in the switch statement that handles
@@ -394,133 +461,139 @@ operating systems, override the <code>ATOMICITYH</code> variable to point to
the appropriate <code>os_include_dir</code>. For examples of this approach,
see the <code>atomicity.h</code> file for AIX.
-<p>With those bits out of the way, you have to actually write
+ <p>With those bits out of the way, you have to actually write
<code>atomicity.h</code> itself. This file should be wrapped in an
include guard named <code>_BITS_ATOMICITY_H</code>. It should define one
type, and two functions.
-<p>The type is <code>_Atomic_word</code>. Here is the version used on IRIX:
+ <p>The type is <code>_Atomic_word</code>. Here is the version used on IRIX:
-<br><pre>typedef long _Atomic_word;
-</pre>
+<pre class="example"> typedef long _Atomic_word;
+ </pre>
<p>This type must be a signed integral type supporting atomic operations.
If you're using the OS approach, use the same type used by your system's
primitives. Otherwise, use the type for which your CPU provides atomic
primitives.
-<p>Then, you must provide two functions. The bodies of these functions
+ <p>Then, you must provide two functions. The bodies of these functions
must be equivalent to those provided here, but using atomic operations:
-<br><pre>static inline _Atomic_word
-__attribute__ ((__unused__))
-__exchange_and_add (_Atomic_word* __mem, int __val)
-{
- _Atomic_word __result = *__mem;
- *__mem += __val;
- return __result;
-}
-
-static inline void
-__attribute__ ((__unused__))
-__atomic_add (_Atomic_word* __mem, int __val)
-{
- *__mem += __val;
-}
-</pre>
-
+<pre class="example"> static inline _Atomic_word
+ __attribute__ ((__unused__))
+ __exchange_and_add (_Atomic_word* __mem, int __val)
+ {
+ _Atomic_word __result = *__mem;
+ *__mem += __val;
+ return __result;
+ }
+
+ static inline void
+ __attribute__ ((__unused__))
+ __atomic_add (_Atomic_word* __mem, int __val)
+ {
+ *__mem += __val;
+ }
+ </pre>
+
+<div class="node">
<p><hr>
Node:<a name="Numeric%20limits">Numeric limits</a>,
-Next:<a rel=next accesskey=n href="#Libtool">Libtool</a>,
-Previous:<a rel=previous accesskey=p href="#Thread%20safety">Thread safety</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Next:<a rel="next" accesskey="n" href="#Libtool">Libtool</a>,
+Previous:<a rel="previous" accesskey="p" href="#Thread%20safety">Thread safety</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
+</div>
-<h2>Numeric limits</h2>
+<h2 class="chapter">Numeric limits</h2>
-<p>The C++ library requires information about the fundamental data types,
+ <p>The C++ library requires information about the fundamental data types,
such as the minimum and maximum representable values of each type.
You can define each of these values individually, but it is usually
easiest just to indicate how many bits are used in each of the data
types and let the library do the rest. For information about the
macros to define, see the top of <code>include/bits/std_limits.h</code>.
-<p>If you need to define any macros, you can do so in <code>os_defines.h</code>.
+ <p>If you need to define any macros, you can do so in <code>os_defines.h</code>.
However, if all operating systems for your CPU are likely to use the
same values, you can provide a CPU-specific file instead so that you
do not have to provide the same definitions for each operating system.
To take that approach, create a new file called <code>cpu_limits.h</code> in
your CPU configuration directory (see <a href="#CPU">CPU</a>).
+<div class="node">
<p><hr>
Node:<a name="Libtool">Libtool</a>,
-Next:<a rel=next accesskey=n href="#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>,
-Previous:<a rel=previous accesskey=p href="#Numeric%20limits">Numeric limits</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Next:<a rel="next" accesskey="n" href="#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>,
+Previous:<a rel="previous" accesskey="p" href="#Numeric%20limits">Numeric limits</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
+</div>
-<h2>Libtool</h2>
+<h2 class="chapter">Libtool</h2>
-<p>The C++ library is compiled, archived and linked with libtool.
+ <p>The C++ library is compiled, archived and linked with libtool.
Explaining the full workings of libtool is beyond the scope of this
document, but there are a few, particular bits that are necessary for
porting.
-<p>Some parts of the libstdc++-v3 library are compiled with the libtool
+ <p>Some parts of the libstdc++-v3 library are compiled with the libtool
<code>--tags CXX</code> option (the C++ definitions for libtool). Therefore,
<code>ltcf-cxx.sh</code> in the top-level directory needs to have the correct
logic to compile and archive objects equivalent to the C version of libtool,
<code>ltcf-c.sh</code>. Some libtool targets have definitions for C but not
for C++, or C++ definitions which have not been kept up to date.
-<p>The C++ run-time library contains initialization code that needs to be
+ <p>The C++ run-time library contains initialization code that needs to be
run as the library is loaded. Often, that requires linking in special
object files when the C++ library is built as a shared library, or
taking other system-specific actions.
-<p>The libstdc++-v3 library is linked with the C version of libtool, even
+ <p>The libstdc++-v3 library is linked with the C version of libtool, even
though it is a C++ library. Therefore, the C version of libtool needs to
ensure that the run-time library initializers are run. The usual way to
do this is to build the library using <code>gcc -shared</code>.
-<p>If you need to change how the library is linked, look at
+ <p>If you need to change how the library is linked, look at
<code>ltcf-c.sh</code> in the top-level directory. Find the switch statement
that sets <code>archive_cmds</code>. Here, adjust the setting for your
operating system.
+<div class="node">
<p><hr>
Node:<a name="GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>,
-Previous:<a rel=previous accesskey=p href="#Libtool">Libtool</a>,
-Up:<a rel=up accesskey=u href="#Top">Top</a>
+Previous:<a rel="previous" accesskey="p" href="#Libtool">Libtool</a>,
+Up:<a rel="up" accesskey="u" href="#Top">Top</a>
<br>
-
-<h2>GNU Free Documentation License</h2>
-
-<div align="center">Version 1.1, March 2000</div>
-<br><pre>Copyright &copy; 2000 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-</pre>
-
-<ol type=1 start=0>
-</p><li>PREAMBLE
-
-<p>The purpose of this License is to make a manual, textbook, or other
-written document <dfn>free</dfn> in the sense of freedom: to assure everyone
-the effective freedom to copy and redistribute it, with or without
-modifying it, either commercially or noncommercially. Secondarily,
-this License preserves for the author and publisher a way to get
-credit for their work, while not being considered responsible for
-modifications made by others.
-
-<p>This License is a kind of "copyleft", which means that derivative
+</div>
+
+<h2 class="unnumbered">GNU Free Documentation License</h2>
+
+<div align="center">Version 1.2, November 2002</div>
+<pre class="display"> Copyright &copy; 2000,2001,2002 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+ </pre>
+
+ <ol type=1 start=0>
+<li>PREAMBLE
+
+ <p>The purpose of this License is to make a manual, textbook, or other
+functional and useful document <dfn>free</dfn> in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+ <p>This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
-<p>We have designed this License in order to use it for manuals for free
+ <p>We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
@@ -528,70 +601,97 @@ it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
-</p><li>APPLICABILITY AND DEFINITIONS
+ </p><li>APPLICABILITY AND DEFINITIONS
-<p>This License applies to any manual or other work that contains a
-notice placed by the copyright holder saying it can be distributed
-under the terms of this License. The "Document", below, refers to any
-such manual or work. Any member of the public is a licensee, and is
-addressed as "you".
+ <p>This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
-<p>A "Modified Version" of the Document means any work containing the
+ <p>A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
-<p>A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject. (For example, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.) The relationship could be a matter of historical
+ <p>A "Secondary Section" is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
-<p>The "Invariant Sections" are certain Secondary Sections whose titles
+ <p>The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
-<p>The "Cover Texts" are certain short passages of text that are listed,
+ <p>The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
-<p>A "Transparent" copy of the Document means a machine-readable copy,
+ <p>A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
-general public, whose contents can be viewed and edited directly and
+general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
-format whose markup has been designed to thwart or discourage
-subsequent modification by readers is not Transparent. A copy that is
-not "Transparent" is called "Opaque".
-
-<p>Examples of suitable formats for Transparent copies include plain
-<small>ASCII</small> without markup, Texinfo input format, LaTeX input format,
-<small>SGML</small> or <small>XML</small> using a publicly available
-<small>DTD</small>, and standard-conforming simple <small>HTML</small> designed
-for human modification. Opaque formats include PostScript,
-<small>PDF</small>, proprietary formats that can be read and edited only by
-proprietary word processors, <small>SGML</small> or <small>XML</small> for which
-the <small>DTD</small> and/or processing tools are not generally available,
-and the machine-generated <small>HTML</small> produced by some word
-processors for output purposes only.
-
-<p>The "Title Page" means, for a printed book, the title page itself,
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+ <p>Examples of suitable formats for Transparent copies include plain
+<small>ASCII</small> without markup, Texinfo input format, LaTeX input
+format, <small>SGML</small> or <small>XML</small> using a publicly available
+<small>DTD</small>, and standard-conforming simple <small>HTML</small>,
+PostScript or <small>PDF</small> designed for human modification. Examples
+of transparent image formats include <small>PNG</small>, <small>XCF</small> and
+<small>JPG</small>. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, <small>SGML</small> or
+<small>XML</small> for which the <small>DTD</small> and/or processing tools are
+not generally available, and the machine-generated <small>HTML</small>,
+PostScript or <small>PDF</small> produced by some word processors for
+output purposes only.
+
+ <p>The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
-</p><li>VERBATIM COPYING
+ <p>A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+ <p>The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+ </p><li>VERBATIM COPYING
-<p>You may copy and distribute the Document in any medium, either
+ <p>You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
@@ -601,14 +701,15 @@ copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
-<p>You may also lend copies, under the same conditions stated above, and
+ <p>You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
-</p><li>COPYING IN QUANTITY
+ </p><li>COPYING IN QUANTITY
-<p>If you publish printed copies of the Document numbering more than 100,
-and the Document's license notice requires Cover Texts, you must enclose
-the copies in covers that carry, clearly and legibly, all these Cover
+ <p>If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
@@ -618,76 +719,76 @@ Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
-<p>If the required texts for either cover are too voluminous to fit
+ <p>If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
-<p>If you publish or distribute Opaque copies of the Document numbering
+ <p>If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
-a publicly-accessible computer-network location containing a complete
-Transparent copy of the Document, free of added material, which the
-general network-using public has access to download anonymously at no
-charge using public-standard network protocols. If you use the latter
-option, you must take reasonably prudent steps, when you begin
-distribution of Opaque copies in quantity, to ensure that this
-Transparent copy will remain thus accessible at the stated location
-until at least one year after the last time you distribute an Opaque
-copy (directly or through your agents or retailers) of that edition to
-the public.
-
-<p>It is requested, but not required, that you contact the authors of the
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+ <p>It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
-</p><li>MODIFICATIONS
+ </p><li>MODIFICATIONS
-<p>You may copy and distribute a Modified Version of the Document under
+ <p>You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
-<ol type=A start=1>
-</p><li>Use in the Title Page (and on the covers, if any) a title distinct
+ <ol type=A start=1>
+<li>Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
-<li>List on the Title Page, as authors, one or more persons or entities
+ <li>List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has less than five).
+Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement.
-<li>State on the Title page the name of the publisher of the
+ <li>State on the Title page the name of the publisher of the
Modified Version, as the publisher.
-<li>Preserve all the copyright notices of the Document.
+ <li>Preserve all the copyright notices of the Document.
-<li>Add an appropriate copyright notice for your modifications
+ <li>Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
-<li>Include, immediately after the copyright notices, a license notice
+ <li>Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
-<li>Preserve in that license notice the full lists of Invariant Sections
+ <li>Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
-<li>Include an unaltered copy of this License.
+ <li>Include an unaltered copy of this License.
-<li>Preserve the section entitled "History", and its title, and add to
-it an item stating at least the title, year, new authors, and
+ <li>Preserve the section Entitled "History", Preserve its Title, and add
+to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
-there is no section entitled "History" in the Document, create one
+there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
-<li>Preserve the network location, if any, given in the Document for
+ <li>Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
@@ -695,36 +796,38 @@ You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
-<li>In any section entitled "Acknowledgments" or "Dedications",
-preserve the section's title, and preserve in the section all the
-substance and tone of each of the contributor acknowledgments
-and/or dedications given therein.
+ <li>For any section Entitled "Acknowledgements" or "Dedications", Preserve
+the Title of the section, and preserve in the section all the
+substance and tone of each of the contributor acknowledgements and/or
+dedications given therein.
-<li>Preserve all the Invariant Sections of the Document,
+ <li>Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
-<li>Delete any section entitled "Endorsements". Such a section
+ <li>Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
-<li>Do not retitle any existing section as "Endorsements"
-or to conflict in title with any Invariant Section.
-</ol>
+ <li>Do not retitle any existing section to be Entitled "Endorsements" or
+to conflict in title with any Invariant Section.
-<p>If the Modified Version includes new front-matter sections or
+ <li>Preserve any Warranty Disclaimers.
+ </ol>
+
+ <p>If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
-<p>You may add a section entitled "Endorsements", provided it contains
+ <p>You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
-<p>You may add a passage of up to five words as a Front-Cover Text, and a
+ <p>You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
@@ -734,20 +837,20 @@ by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
-<p>The author(s) and publisher(s) of the Document do not by this License
+ <p>The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
-</p><li>COMBINING DOCUMENTS
+ </p><li>COMBINING DOCUMENTS
-<p>You may combine the Document with other documents released under this
+ <p>You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
-license notice.
+license notice, and that you preserve all their Warranty Disclaimers.
-<p>The combined work need only contain one copy of this License, and
+ <p>The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
@@ -756,58 +859,67 @@ author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
-<p>In the combination, you must combine any sections entitled "History"
-in the various original documents, forming one section entitled
-"History"; likewise combine any sections entitled "Acknowledgments",
-and any sections entitled "Dedications". You must delete all sections
-entitled "Endorsements."
+ <p>In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all
+sections Entitled "Endorsements."
-</p><li>COLLECTIONS OF DOCUMENTS
+ </p><li>COLLECTIONS OF DOCUMENTS
-<p>You may make a collection consisting of the Document and other documents
+ <p>You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
-<p>You may extract a single document from such a collection, and distribute
+ <p>You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
-</p><li>AGGREGATION WITH INDEPENDENT WORKS
+ </p><li>AGGREGATION WITH INDEPENDENT WORKS
-<p>A compilation of the Document or its derivatives with other separate
+ <p>A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
-distribution medium, does not as a whole count as a Modified Version
-of the Document, provided no compilation copyright is claimed for the
-compilation. Such a compilation is called an "aggregate", and this
-License does not apply to the other self-contained works thus compiled
-with the Document, on account of their being thus compiled, if they
-are not themselves derivative works of the Document.
-
-<p>If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one quarter
-of the entire aggregate, the Document's Cover Texts may be placed on
-covers that surround only the Document within the aggregate.
-Otherwise they must appear on covers around the whole aggregate.
-
-</p><li>TRANSLATION
-
-<p>Translation is considered a kind of modification, so you may
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+ <p>If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+ </p><li>TRANSLATION
+
+ <p>Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
-translation of this License provided that you also include the
-original English version of this License. In case of a disagreement
-between the translation and the original English version of this
-License, the original English version will prevail.
+translation of this License, and all the license notices in the
+Document, and any Warrany Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+ <p>If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
-</p><li>TERMINATION
+ </p><li>TERMINATION
-<p>You may not copy, modify, sublicense, or distribute the Document except
+ <p>You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
@@ -815,15 +927,15 @@ parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
-</p><li>FUTURE REVISIONS OF THIS LICENSE
+ </p><li>FUTURE REVISIONS OF THIS LICENSE
-<p>The Free Software Foundation may publish new, revised versions
+ <p>The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
-<p>Each version of the License is given a distinguishing version number.
+ <p>Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
@@ -831,57 +943,57 @@ of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
-</ol>
+ </ol>
-<h3>ADDENDUM: How to use this License for your documents</h3>
+<h3 class="unnumberedsec">ADDENDUM: How to use this License for your documents</h3>
-<p>To use this License in a document you have written, include a copy of
+ <p>To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
-<br><pre> Copyright (C) <var>year</var> <var>your name</var>.
- 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 <var>list their titles</var>, with the
- Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts being <var>list</var>.
- A copy of the license is included in the section entitled ``GNU
- Free Documentation License''.
-</pre>
-
-<p>If you have no Invariant Sections, write "with no Invariant Sections"
-instead of saying which ones are invariant. If you have no
-Front-Cover Texts, write "no Front-Cover Texts" instead of
-"Front-Cover Texts being <var>list</var>"; likewise for Back-Cover Texts.
-
-<p>If your document contains nontrivial examples of program code, we
+<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+ </pre>
+
+ <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
+ the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
+ being <var>list</var>.
+ </pre>
+
+ <p>If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+ <p>If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
+<div class="contents">
<h2>Table of Contents</h2>
<ul>
-<li><a name="toc_Top"></a>
- <a href="#Top">Porting libstdc++-v3</a>
-<li><a name="toc_Operating%20system"></a>
- <a href="#Operating%20system">Operating system</a>
-<li><a name="toc_CPU"></a>
- <a href="#CPU">CPU</a>
-<li><a name="toc_Character%20types"></a>
- <a href="#Character%20types">Character types</a>
-<li><a name="toc_Thread%20safety"></a>
- <a href="#Thread%20safety">Thread safety</a>
-<li><a name="toc_Numeric%20limits"></a>
- <a href="#Numeric%20limits">Numeric limits</a>
-<li><a name="toc_Libtool"></a>
- <a href="#Libtool">Libtool</a>
-<li><a name="toc_GNU%20Free%20Documentation%20License"></a>
- <a href="#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>
+<li><a name="toc_Top" href="#Top">Porting libstdc++-v3</a>
+<li><a name="toc_Operating%20system" href="#Operating%20system">Operating system</a>
+<li><a name="toc_CPU" href="#CPU">CPU</a>
+<li><a name="toc_Character%20types" href="#Character%20types">Character types</a>
+<li><a name="toc_Thread%20safety" href="#Thread%20safety">Thread safety</a>
+<li><a name="toc_Numeric%20limits" href="#Numeric%20limits">Numeric limits</a>
+<li><a name="toc_Libtool" href="#Libtool">Libtool</a>
+<li><a name="toc_GNU%20Free%20Documentation%20License" href="#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>
<ul>
<li><a href="#GNU%20Free%20Documentation%20License">ADDENDUM: How to use this License for your documents</a>
-</ul>
-</ul>
+</li></ul>
+</li></ul>
+</div>
-</body></html>
+ </body></html>
diff --git a/libstdc++-v3/docs/html/17_intro/porting.texi b/libstdc++-v3/docs/html/17_intro/porting.texi
index 6c6ec1f7f48..6f3618c637d 100644
--- a/libstdc++-v3/docs/html/17_intro/porting.texi
+++ b/libstdc++-v3/docs/html/17_intro/porting.texi
@@ -8,26 +8,11 @@
@settitle Porting libstdc++-v3
@setchapternewpage odd
-@ifinfo
-This file explains how to port libstdc++-v3 (the GNU C++ library) to
-a new target.
-
-Copyright (c) 2000, 2001, 2002 Free Software Foundation, Inc.
-@end ifinfo
-
-@c ---------------------------------------------------------------------
-@c Titlepage
-@c ---------------------------------------------------------------------
-
-@titlepage
-@title Porting libstdc++-v3
-@author Mark Mitchell
-@page
-@vskip 0pt plus 1filll
+@copying
Copyright @copyright{} 2000, 2001, 2002 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
+under the terms of the GNU Free Documentation License, Version 1.2 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)
@@ -43,6 +28,25 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
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
+This file explains how to port libstdc++-v3 (the GNU C++ library) to
+a new target.
+
+@insertcopying
+@end ifinfo
+
+@c ---------------------------------------------------------------------
+@c Titlepage
+@c ---------------------------------------------------------------------
+
+@titlepage
+@title Porting libstdc++-v3
+@author Mark Mitchell
+@page
+@vskip 0pt plus 1filll
+@insertcopying
@end titlepage
@c ---------------------------------------------------------------------
@@ -146,12 +150,49 @@ need to define. You will need to add them to the
target. It will not work to simply define these macros in
@file{os_defines.h}.
-At this time, there is one libstdc++-v3-specific macro which may be
+At this time, there are a few libstdc++-v3-specific macro which may be
defined. @code{_G_USING_THUNKS} may be defined to 0 to express that the
port doesn't use thunks (although it is unclear that this is still
useful since libio support isn't currently working and the g++ v3 ABI
invalidates the assumption that some ports don't use thunks).
+@code{_GLIBCPP_USE_C99_CHECK} may be defined to 1 to check C99
+function declarations (which are not covered by specialization below)
+found in system headers against versions found in the library headers
+derived from the standard.
+
+@code{_GLIBCPP_USE_C99_DYNAMIC} may be defined to an expression that
+yields 0 if and only if the system headers are exposing proper support
+for C99 functions (which are not covered by specialization below). If
+defined, it must be 0 while bootstrapping the compiler/rebuilding the
+library.
+
+@code{_GLIBCPP_USE_C99_LONG_LONG_CHECK} may be defined to 1 to check
+the set of C99 long long function declarations found in system headers
+against versions found in the library headers derived from the
+standard.
+
+@code{_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC} may be defined to an
+expression that yields 0 if and only if the system headers are
+exposing proper support for the set of C99 long long functions. If
+defined, it must be 0 while bootstrapping the compiler/rebuilding the
+library.
+
+@code{_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC} may be defined to an
+expression that yields 0 if and only if the system headers
+are exposing proper support for the related set of macros. If defined,
+it must be 0 while bootstrapping the compiler/rebuilding the library.
+
+@code{_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK} may be defined
+to 1 to check the related set of function declarations found in system
+headers against versions found in the library headers derived from
+the standard.
+
+@code{_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC} may be defined
+to an expression that yields 0 if and only if the system headers
+are exposing proper support for the related set of functions. If defined,
+it must be 0 while bootstrapping the compiler/rebuilding the library.
+
Finally, you should bracket the entire file in an include-guard, like
this:
diff --git a/libstdc++-v3/docs/html/18_support/howto.html b/libstdc++-v3/docs/html/18_support/howto.html
index c95f956a370..df7305cc033 100644
--- a/libstdc++-v3/docs/html/18_support/howto.html
+++ b/libstdc++-v3/docs/html/18_support/howto.html
@@ -117,7 +117,9 @@
<p>This header mainly defines traits classes to give access to various
implementation defined-aspects of the fundamental types. The
traits classes -- fourteen in total -- are all specilizations of the
- template class <code>numeric_limits</code> defined as follows:
+ template class <code>numeric_limits</code>, documented
+ <a href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/structstd_1_1numeric__limits.html">here</a>
+ and defined as follows:
</p>
<pre>
template&lt;typename T&gt; struct class {
diff --git a/libstdc++-v3/docs/html/19_diagnostics/howto.html b/libstdc++-v3/docs/html/19_diagnostics/howto.html
index d1d759d5a43..b658be83c7a 100644
--- a/libstdc++-v3/docs/html/19_diagnostics/howto.html
+++ b/libstdc++-v3/docs/html/19_diagnostics/howto.html
@@ -169,6 +169,14 @@
%</pre>
<p>The 'Aborted' line comes from the call to abort(), of course.
</p>
+ <p><strong>UPDATE:</strong> Starting with GCC 3.4, this is the default
+ termination handler; nothing need be done to use it. To go back to
+ the previous &quot;silent death&quot; method, simply include
+ <code>&lt;exception&gt;</code> and <code>&lt;cstdlib&gt;</code>,
+ and call
+ </p>
+ <pre>
+ std::set_terminate (std::abort);</pre>
<p>Return <a href="#top">to top of page</a> or
<a href="../faq/index.html">to the FAQ</a>.
</p>
diff --git a/libstdc++-v3/docs/html/27_io/howto.html b/libstdc++-v3/docs/html/27_io/howto.html
index d7a984ec3d5..4a0b6a927fb 100644
--- a/libstdc++-v3/docs/html/27_io/howto.html
+++ b/libstdc++-v3/docs/html/27_io/howto.html
@@ -35,6 +35,7 @@
<li><a href="#8">Pathetic performance? Ditch C.</a></li>
<li><a href="#9">Threads and I/O</a></li>
<li><a href="#10">Which header?</a></li>
+ <li><a href="#11">Using FILE*s and file descriptors with IOStreams</a></li>
</ul>
<hr />
@@ -158,15 +159,18 @@
because the data needs to appear quickly (a prime example is a
log file for security-related information). The way to do this is
just to turn off the buffering <em>before any I/O operations at
- all</em> have been done, i.e., as soon as possible after opening:
+ all</em> have been done (note that opening counts as an I/O operation):
</p>
<pre>
- std::ofstream os (&quot;/foo/bar/baz&quot;);
- std::ifstream is (&quot;/qux/quux/quuux&quot;);
+ std::ofstream os;
+ std::ifstream is;
int i;
os.rdbuf()-&gt;pubsetbuf(0,0);
is.rdbuf()-&gt;pubsetbuf(0,0);
+
+ os.open(&quot;/foo/bar/baz&quot;);
+ is.open(&quot;/qux/quux/quuux&quot;);
...
os &lt;&lt; &quot;this data is written immediately\n&quot;;
is &gt;&gt; i; // and this will probably cause a disk read </pre>
@@ -391,7 +395,9 @@
}
</pre>
<p>Try it yourself! More examples can be found in 3.1.x code, in
- <code>include/ext/*_filebuf.h</code>.
+ <code>include/ext/*_filebuf.h</code>, and on
+ <a href="http://www.informatik.uni-konstanz.de/~kuehl/c++/iostream/">Dietmar
+ K&uuml;hl's IOStreams page</a>.
</p>
<hr />
@@ -692,6 +698,62 @@
</p>
+<hr />
+<h2><a name="11">Using FILE*s and file descriptors with IOStreams</a></h2>
+ <!-- referenced by ext/howto.html#2, update link if numbering changes -->
+ <p>The v2 library included non-standard extensions to construct
+ <code>std::filebuf</code>s from C stdio types such as
+ <code>FILE*</code>s and POSIX file descriptors.
+ Today the recommended way to use stdio types with libstdc++-v3
+ IOStreams is via the <code>stdio_filebuf</code> class (see below),
+ but earlier releases provided slightly different mechanisms.
+ </p>
+ <ul>
+ <li>3.0.x <code>filebuf</code>s have another ctor with this signature:
+ <br />
+ <code>basic_filebuf(__c_file_type*, ios_base::openmode, int_type);</code>
+ <br />This comes in very handy in a number of places, such as
+ attaching Unix sockets, pipes, and anything else which uses file
+ descriptors, into the IOStream buffering classes. The three
+ arguments are as follows:
+ <ul>
+ <li><code>__c_file_type* F </code>
+ // the __c_file_type typedef usually boils down to stdio's FILE
+ </li>
+ <li><code>ios_base::openmode M </code>
+ // same as all the other uses of openmode
+ </li>
+ <li><code>int_type B </code>
+ // buffer size, defaults to BUFSIZ if not specified
+ </li>
+ </ul>
+ For those wanting to use file descriptors instead of FILE*'s, I
+ invite you to contemplate the mysteries of C's <code>fdopen()</code>.
+ </li>
+ <li>In library snapshot 3.0.95 and later, <code>filebuf</code>s bring
+ back an old extension: the <code>fd()</code> member function. The
+ integer returned from this function can be used for whatever file
+ descriptors can be used for on your platform. Naturally, the
+ library cannot track what you do on your own with a file descriptor,
+ so if you perform any I/O directly, don't expect the library to be
+ aware of it.
+ </li>
+ <li>Beginning with 3.1, the extra <code>filebuf</code> constructor and
+ the <code>fd()</code> function were removed from the standard
+ filebuf. Instead, <code>&lt;ext/stdio_filebuf.h&gt;</code> contains
+ a derived class called
+ <a href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/class____gnu__cxx_1_1stdio__filebuf.html"><code>__gnu_cxx::stdio_filebuf</code></a>.
+ This class can be constructed from a C <code>FILE*</code> or a file
+ descriptor, and provides the <code>fd()</code> function.
+ </li>
+ </ul>
+ <p>If you want to access a <code>filebuf</code>s file descriptor to
+ implement file locking (e.g. using the <code>fcntl()</code> system
+ call) then you might be interested in Henry Suter's
+ <a href="http://suter.home.cern.ch/suter/RWLock.html">RWLock</a>
+ class.
+ </p>
+
<!-- ####################################################### -->
<hr />
diff --git a/libstdc++-v3/docs/html/configopts.html b/libstdc++-v3/docs/html/configopts.html
index eab9864f330..ff46ec60d45 100644
--- a/libstdc++-v3/docs/html/configopts.html
+++ b/libstdc++-v3/docs/html/configopts.html
@@ -17,13 +17,15 @@
<h1 class="centered"><a name="top">Interesting <code>configure</code>
options</a></h1>
-<p>The latest version of this document is always available at
+<p class="fineprint"><em>
+ The latest version of this document is always available at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html">
http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html</a>.
-</p>
+</em></p>
-<p>To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
-</p>
+<p><em>
+ To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
+</em></p>
<!-- ####################################################### -->
<hr />
@@ -76,23 +78,11 @@ options</a></h1>
<dd><p>Adds support for named libstdc++ include directory. For instance,
the following puts all the libstdc++ headers into a directory
called &quot;2.97-20001008&quot; instead of the usual
- &quot;g++-v3&quot;.
+ &quot;c++/(version)&quot;.
</p>
<pre>
--with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/2.97-20001008</pre> </dd>
- <dt><code>--enable-debug </code></dt>
- <dd><p>The configure script will automatically detect the highest
- level of optimization that the compiler in use can use.
- This --enable flag will disable all optimizations and instruct
- the compiler to emit as much extra debugging information as it
- can, for use inside GDB. Note this make command, executed in
- the build directory, will do much the same thing, without the
- configuration difference:
- <code>make CXXFLAGS='-g -O0' all</code>
- </p>
- </dd>
-
<dt><code>--enable-cstdio </code></dt>
<dd><p>This is an abbreviated form of <code>'--enable-cstdio=stdio'</code>
(described next). This option can change the library ABI.
@@ -157,6 +147,33 @@ options</a></h1>
</p>
</dd>
+ <dt><code>--enable-debug </code></dt>
+ <dd><p>Build separate debug libraries in addition to what is normally built.
+ By default, the debug libraries are compiled with
+ <code> CXXFLAGS='-g3 -O0'</code>
+ , are installed in <code>${libdir}/debug</code>, and have the
+ same names and versioning information as the non-debug
+ libraries. This option is off by default.
+ </p>
+ <p>Note this make command, executed in
+ the build directory, will do much the same thing, without the
+ configuration difference and without building everything twice:
+ <code>make CXXFLAGS='-g3 -O0' all</code>
+ </p>
+ </dd>
+
+ <dt><code>--enable-debug-flags=FLAGS</code></dt>
+
+ <dd><p>This option is only valid when <code> --enable-debug </code>
+ is also specified, and applies to the debug builds only. With
+ this option, you can pass a specific string of flags to the
+ compiler to use when building the debug versions of libstdc++.
+ FLAGS is a quoted string of options, like
+ </p>
+ <pre>
+ --enable-debug-flags='-g3 -O1 -gdwarf-2'</pre>
+ </dd>
+
<dt><code>--enable-cxx-flags=FLAGS</code></dt>
<dd><p>With this option, you can pass a string of -f (functionality)
flags to the compiler to use when building libstdc++. This
@@ -238,12 +255,13 @@ options</a></h1>
</dd>
<dt><code>--enable-symvers[=style] </code></dt>
- <dd><p>In 3.1, tries to turn on symbol versioning in the shared library (if a
- shared library has been requested). The only 'style' currently
- supported is 'gnu' which requires that a recent version of the GNU
- linker be in use. With no style given, the configure script will
- try to guess if the 'gnu' style can be used, and if so, will turn it
- on. Hopefully people will volunteer to do other 'style' options.
+ <dd><p>In 3.1 and later, tries to turn on symbol versioning in the
+ shared library (if a shared library has been requested). The
+ only 'style' currently supported is 'gnu' which requires that
+ a recent version of the GNU linker be in use. With no style
+ given, the configure script will try to guess if the 'gnu'
+ style can be used, and if so, will turn it on. Hopefully
+ people will volunteer to do other 'style' options.
</p>
</dd>
</dl>
diff --git a/libstdc++-v3/docs/html/debug.html b/libstdc++-v3/docs/html/debug.html
new file mode 100644
index 00000000000..0ca332c7346
--- /dev/null
+++ b/libstdc++-v3/docs/html/debug.html
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta name="AUTHOR" content="bkoz@gcc.gnu.org (Benjamin Kosnik)" />
+ <meta name="KEYWORDS" content="c++, libstdc++, gdb, g++, debug" />
+ <meta name="DESCRIPTION" content="Debugging C++ binaries" />
+ <meta name="GENERATOR" content="vi and ten fingers" />
+ <title>Debugging schemes and strategies</title>
+<link rel="StyleSheet" href="lib3styles.css" />
+</head>
+<body>
+
+<h1 class="centered"><a name="top">Debugging schemes and strategies</a></h1>
+
+<p class="fineprint"><em>
+ The latest version of this document is always available at
+ <a href="http://gcc.gnu.org/onlinedocs/libstdc++/debug.html">
+ http://gcc.gnu.org/onlinedocs/libstdc++/debug.html</a>.
+</em></p>
+
+<p><em>
+ To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
+</em></p>
+
+<!-- ####################################################### -->
+<hr />
+<p>There are numerous things that can be done to improve the ease with
+ which C++ binaries are debugged when using the GNU C++
+ tool chain. Here are some things to keep in mind when debugging C++
+ code with GNU tools.
+</p>
+
+<h3 class="left"><a name="gplusplus">Compiler flags determine debug info</a></h3>
+<p>The default optimizations and debug flags for a libstdc++ build are
+ <code>-g -O2</code>. However, both debug and optimization flags can
+ be varied to change debugging characteristics. For instance,
+ turning off all optimization via the <code>-g -O0</code> flag will
+ disable inlining, so that stepping through all functions, including
+ inlined constructors and destructors, is possible. Or, the debug
+ format that the compiler and debugger use to communicate
+ information about source constructs can be changed via <code>
+ -gdwarf-2 </code> or <code> -gstabs </code> flags: some debugging
+ formats permit more expressive type and scope information to be
+ shown in gdb.
+ The default debug information for a particular platform can be
+ identified via the value set by the PREFERRED_DEBUGGING_TYPE macro
+ in the gcc sources.
+</p>
+
+<p>Many other options are available: please see
+<a href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options for Debugging Your Program"</a>
+ in Using the GNU Compiler Collection (GCC) for a complete list.
+</p>
+
+
+<h3 class="left"><a name="lib">Using special flags to make a debug binary</a></h3>
+<p>There are two ways to build libstdc++ with debug flags. The first
+ is to run make from the toplevel in a freshly-configured tree with
+ specialized debug <code>CXXFLAGS</code>, as in
+</p>
+<pre>
+ make CXXFLAGS='-g3 -O0' all
+</pre>
+
+<p>This quick and dirty approach is often sufficient for quick
+ debugging tasks, but the lack of state can be confusing in the long
+ term.
+</p>
+<p>A second approach is to use the configuration flags
+</p>
+<pre>
+ --enable-debug
+</pre>
+<p>and perhaps</p>
+<pre>
+ --enable-debug-flags='...'
+</pre>
+<p>to create a separate debug build. Both the normal build and the
+ debug build will persist, without having to specify
+ <code>CXXFLAGS</code>, and the debug library will be installed in a
+ separate directory tree, in <code>(prefix)/lib/debug</code>. For
+ more information, look at the <a href="configopts.html">configuration
+ options</a> document.
+</p>
+
+
+<h3 class="left"><a name="mem">Tips for memory leak hunting</a></h3>
+
+<p>There are various third party memory tracing and debug utilities
+ that can be used to provide detailed memory allocation information
+ about C++ code. An exhaustive list of tools is not going to be
+ attempted, but includes <code>mtrace</code>, <code>valgrind</code>,
+ <code>mudflap</code>, and <code>purify</code>. Also highly
+ recommended are <code>libcwd</code> and some other one that I
+ forget right now.
+</p>
+
+<p>Regardless of the memory debugging tool being used, there is one
+ thing of great importance to keep in mind when debugging C++ code
+ that uses <code>new</code> and <code>delete</code>:
+ there are different kinds of allocation schemes that can be used by
+ <code> std::allocator </code>. For implementation details, see this
+ <a href="ext/howto.html#3"> document</a> and look specifically for
+ <code>GLIBCPP_FORCE_NEW</code>.
+</p>
+
+<p>In a nutshell, the default allocator used by <code>
+ std::allocator</code> is a high-performance pool allocator, and can
+ give the mistaken impression that memory is being leaked, when in
+ reality the memory is still being used by the library and is reclaimed
+ after program termination.
+</p>
+
+<p>For valgrind, there are some specific items to keep in mind. First
+ of all, use a version of valgrind that will work with current GNU
+ C++ tools: the first that can do this is valgrind 1.0.4, but later
+ versions should work at least as well. Second of all, use a
+ completely unoptimized build to avoid confusing valgrind. Third,
+ use GLIBCPP_FORCE_NEW to keep extraneous pool allocation noise from
+ cluttering debug information.
+</p>
+
+<p>Fourth, it may be necessary to force deallocation in other
+ libraries as well, namely the "C" library. On linux, this can be
+ accomplished with the appropriate use of the
+ <code>__cxa_atexit</code> or <code>atexit</code> functions.
+</p>
+
+<pre>
+ #include &lt;cstdlib&gt;
+
+ extern "C" void __libc_freeres(void);
+
+ void do_something() { }
+
+ int main()
+ {
+ atexit(__libc_freeres);
+ do_something();
+ return 0;
+ }
+</pre>
+
+
+<p>or, using <code>__cxa_atexit</code>:</p>
+
+<pre>
+ extern "C" void __libc_freeres(void);
+ extern "C" int __cxa_atexit(void (*func) (void *), void *arg, void *d);
+
+ void do_something() { }
+
+ int main()
+ {
+ extern void* __dso_handle __attribute__ ((__weak__));
+ __cxa_atexit((void (*) (void *)) __libc_freeres, NULL,
+ &amp;__dso_handle ? __dso_handle : NULL);
+ do_test();
+ return 0;
+ }
+</pre>
+
+<p>Suggested valgrind flags, given the suggestions above about setting
+ up the runtime environment, library, and test file, might be:
+</p>
+<pre>
+ valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out
+</pre>
+
+
+<h3 class="left"><a name="gdb">Some gdb strategies</a></h3>
+<p>Many options are available for gdb itself: please see <a
+ href="http://sources.redhat.com/gdb/current/onlinedocs/gdb_13.html#SEC109">
+ "GDB features for C++" </a> in the gdb documentation. Also
+ recommended: the other parts of this manual.
+</p>
+
+<p>These settings can either be switched on in at the gdb command
+ line, or put into a .gdbint file to establish default debugging
+ characteristics, like so:
+</p>
+
+<pre>
+ set print pretty on
+ set print object on
+ set print static-members on
+ set print vtbl on
+ set print demangle on
+ set demangle-style gnu-v3
+</pre>
+
+
+<h3 class="left"><a name="verbterm">Tracking uncaught exceptions</a></h3>
+<p>The <a href="19_diagnostics/howto.html#4">verbose termination handler</a>
+ gives information about uncaught exceptions which are killing the
+ program. It is described in the linked-to page.
+</p>
+
+
+<p>Return <a href="#top">to the top of the page</a> or
+ <a href="http://gcc.gnu.org/libstdc++/">to the libstdc++ homepage</a>.
+</p>
+
+
+<!-- ####################################################### -->
+
+<hr />
+<p class="fineprint"><em>
+See <a href="17_intro/license.html">license.html</a> for copying conditions.
+Comments and suggestions are welcome, and may be sent to
+<a href="mailto:libstdc++@gcc.gnu.org">the libstdc++ mailing list</a>.
+</em></p>
+
+
+</body>
+</html>
diff --git a/libstdc++-v3/docs/html/documentation.html b/libstdc++-v3/docs/html/documentation.html
index 0dc25bedfa0..f1e2cd700d8 100644
--- a/libstdc++-v3/docs/html/documentation.html
+++ b/libstdc++-v3/docs/html/documentation.html
@@ -39,6 +39,8 @@
- latest version info, recent changes and news</li>
<li><a href="17_intro/TODO">TODO</a>
- tasks yet undone</li>
+ <li><a href="faq/index.html">FAQ (HTML)</a>,
+ <a href="faq/index.txt">FAQ (text)</a></li>
</ul>
<hr />
@@ -48,6 +50,8 @@
<li><a href="configopts.html">Configure options</a></li>
<li><a href="install.html">Getting started: configure, build, install</a>
</li>
+ <li><a href="debug.html">Debugging schemes and strategies</a>
+ </li>
</ul>
@@ -81,9 +85,8 @@
libstdc++-html-*/index.html into a browser. Feedback (and
additional documentation!) is welcome.
</p>
-<p>
- In addition, an initial set of man pages are also available in the
- same place as the HTML collections. Start with Intro(3).
+<p>In addition, an initial set of man pages are also available in the
+ same place as the HTML collections. Start with C++Intro(3).
</p>
@@ -209,6 +212,7 @@
<li><a href="27_io/howto.html#8">Pathetic performance? Ditch C.</a></li>
<li><a href="27_io/howto.html#9">Threads and I/O</a></li>
<li><a href="27_io/howto.html#10">Which header?</a></li>
+ <li><a href="27_io/howto.html#11">Using FILE*s and file descriptors with IOStreams</a></li>
</ul>
</li>
@@ -220,6 +224,7 @@
<li><a href="ext/howto.html#6">Allocators (version 3.3)</a></li>
<li><a href="ext/howto.html#4">Compile-time checks</a></li>
<li><a href="ext/howto.html#5">LWG Issues</a></li>
+ <li><a href="ext/../18_support/howto.html#5">Demangling</a></li>
</ul>
</li>
@@ -232,6 +237,8 @@
<ul>
<li><a href="17_intro/contribute.html">Contributor checklist</a></li>
<li><a href="17_intro/libstdc++-assign.txt">Copyright assignment form for libstdc++-v3</a></li>
+ <li><a href="http://gcc.gnu.org/cvswrite.html">Getting CVS write access
+ (look for &quot;Write after approval&quot;)</a></li>
<li><a href="17_intro/BADNAMES">BADNAMES</a>
- names to avoid because of potential collisions</li>
<li><a href="17_intro/C++STYLE">C++STYLE</a>
diff --git a/libstdc++-v3/docs/html/explanations.html b/libstdc++-v3/docs/html/explanations.html
index dac57b87288..5a60b910dce 100644
--- a/libstdc++-v3/docs/html/explanations.html
+++ b/libstdc++-v3/docs/html/explanations.html
@@ -17,13 +17,15 @@
<h1 class="centered"><a name="top">Explanatory notes about libstdc++-v3
design</a></h1>
-<p>The latest version of this document is always available at
+<p class="fineprint"><em>
+ The latest version of this document is always available at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/explanations.html">
http://gcc.gnu.org/onlinedocs/libstdc++/explanations.html</a>.
-</p>
+</em></p>
-<p>To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
-</p>
+<p><em>
+ To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
+</em></p>
<!-- ####################################################### -->
diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html
index 3d08c570385..0f5dd1110c3 100644
--- a/libstdc++-v3/docs/html/ext/howto.html
+++ b/libstdc++-v3/docs/html/ext/howto.html
@@ -45,6 +45,7 @@
<li><a href="#6">Allocators (version 3.3)</a></li>
<li><a href="#4">Compile-time checks</a></li>
<li><a href="#5">LWG Issues</a></li>
+ <li><a href="../18_support/howto.html#5">Demangling</a></li>
</ul>
<hr />
@@ -124,40 +125,9 @@
<a href="sgiexts.html">their own page</a>. Since the SGI STL is no
longer actively maintained, we will try and keep this code working
ourselves.</li>
- <li>3.0.x <code>filebuf</code>s have another ctor with this signature:
- <br />
- <code>basic_filebuf(__c_file_type*, ios_base::openmode, int_type);</code>
- <br />This comes in very handy in a number of places, such as
- attaching Unix sockets, pipes, and anything else which uses file
- descriptors, into the IOStream buffering classes. The three
- arguments are as follows:
- <ul>
- <li><code>__c_file_type* F </code>
- // the __c_file_type typedef usually boils down to stdio's FILE
- </li>
- <li><code>ios_base::openmode M </code>
- // same as all the other uses of openmode
- </li>
- <li><code>int_type B </code>
- // buffer size, defaults to BUFSIZ if not specified
- </li>
- </ul>
- For those wanting to use file descriptors instead of FILE*'s, I
- invite you to contemplate the mysteries of C's <code>fdopen()</code>.
- </li>
- <li>In library snapshot 3.0.95 and later, <code>filebuf</code>s bring
- back an old extension: the <code>fd()</code> member function. The
- integer returned from this function can be used for whatever file
- descriptors can be used for on your platform. Naturally, the
- library cannot track what you do on your own with a file descriptor,
- so if you perform any I/O directly, don't expect the library to be
- aware of it.
- </li>
- <li>Beginning with 3.1, the extra <code>filebuf</code> constructor and
- the <code>fd()</code> function were removed from the standard
- filebuf. Instead, <code>&lt;ext/stdio_filebuf.h&gt;</code> contains
- a derived class called <code>__gnu_cxx::stdio_filebuf</code>.
- </li>
+ <li>Extensions allowing <code>filebuf</code>s to be constructed from
+ stdio types are described in the
+ <a href="../27_io/howto.html#11">chapter 27 notes</a>.</li>
</ul>
<p>Return <a href="#top">to top of page</a> or
<a href="../faq/index.html">to the FAQ</a>.
@@ -456,6 +426,13 @@
<dd>Apparently extracting Boolean values was messed up...
</dd>
+ <dt><a href="lwg-defects.html#19">19</a>:
+ <em>&quot;Noconv&quot; definition too vague</em>
+ </dt>
+ <dd>If <code>codecvt::do_in</code> returns <code>noconv</code> there are
+ no changes to the values in <code>[to, to_limit)</code>.
+ </dd>
+
<dt><a href="lwg-defects.html#22">22</a>:
<em>Member open vs flags</em>
</dt>
@@ -488,6 +465,13 @@
&quot;copying stream state&quot; was deemed too complicated.
</dd>
+ <dt><a href="lwg-defects.html#60">60</a>:
+ <em>What is a formatted input function?</em>
+ </dt>
+ <dd>This DR made many widespread changes to <code>basic_istream</code>,
+ not all of which have been implemented.
+ </dd>
+
<dt><a href="lwg-defects.html#68">68</a>:
<em>Extractors for char* should store null at end</em>
</dt>
@@ -508,6 +492,13 @@
<code>max_size()</code> rather than <code>npos</code>.
</dd>
+ <dt><a href="lwg-defects.html#90">90</a>:
+ <em>Incorrect description of operator&gt;&gt; for strings</em>
+ </dt>
+ <dd>The effect contain <code>isspace(c,getloc())</code> which must be
+ replaced by <code>isspace(c,is.getloc())</code>.
+ </dd>
+
<dt><a href="lwg-defects.html#109">109</a>:
<em>Missing binders for non-const sequence elements</em>
</dt>
@@ -562,6 +553,12 @@
calculating an incorrect number of characters to write.
</dd>
+ <dt><a href="lwg-defects.html#171">171</a>:
+ <em>Strange seekpos() semantics due to joint position</em>
+ </dt>
+ <dd>Quite complex to summarize...
+ </dd>
+
<dt><a href="lwg-defects.html#181">181</a>:
<em>make_pair() unintended behavior</em>
</dt>
@@ -590,6 +587,13 @@
for const instances.
</dd>
+ <dt><a href="lwg-active.html#231">231</a>:
+ <em>Precision in iostream?</em>
+ </dt>
+ <dd>For conversion from a floating-point type, <code>str.precision()</code>
+ is specified in the conversion specification.
+ </dd>
+
<dt><a href="lwg-defects.html#251">251</a>:
<em>basic_stringbuf missing allocator_type</em>
</dt>
@@ -610,6 +614,13 @@
are trivial), since no description of them was ever given.
</dd>
+ <dt><a href="lwg-defects.html#271">271</a>:
+ <em>basic_iostream missing typedefs</em>
+ </dt>
+ <dd>The typedefs it inherits from its base classes can't be used, since
+ (for example) <code>basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
+ </dd>
+
<dt><a href="lwg-defects.html#275">275</a>:
<em>Wrong type in num_get::get() overloads</em>
</dt>
diff --git a/libstdc++-v3/docs/html/ext/sgiexts.html b/libstdc++-v3/docs/html/ext/sgiexts.html
index 3f65aa340bb..68e9abf5543 100644
--- a/libstdc++-v3/docs/html/ext/sgiexts.html
+++ b/libstdc++-v3/docs/html/ext/sgiexts.html
@@ -10,7 +10,7 @@
<meta name="DESCRIPTION" content="SGI extensions preserved in libstdc++-v3." />
<meta name="GENERATOR" content="vi and eight fingers" />
<title>SGI extensions to the library in libstdc++-v3</title>
-<link rel="StyleSheet" href="lib3styles.css" />
+<link rel="StyleSheet" href="../lib3styles.css" />
</head>
<body>
@@ -29,7 +29,7 @@ libstdc++-v3</a></h1>
for a description). Not every chapter may have extensions, and the
extensions may come and go. Also, this page is incomplete because the
author is pressed for time. Check back often; the latest change was on
- $Date: 2002/10/07 18:11:22 $ (UTC).
+ $Date: 2003/04/16 17:02:47 $ (UTC).
</p>
<p>Descriptions range from the scanty to the verbose. You should also check
diff --git a/libstdc++-v3/docs/html/faq/index.html b/libstdc++-v3/docs/html/faq/index.html
index f472bfc9dc6..29a1d2fa369 100644
--- a/libstdc++-v3/docs/html/faq/index.html
+++ b/libstdc++-v3/docs/html/faq/index.html
@@ -10,25 +10,27 @@
<meta name="DESCRIPTION" content="FAQ for the GNU libstdc++ effort." />
<title>libstdc++-v3 FAQ</title>
<link rel="StyleSheet" href="../lib3styles.css" />
-<!--
- ** Locations of "the most recent snapshot is the Nth" text are
- ** answers 1_1, 1_4, 4_1.
+<!--
+ ** Locations of "the most recent snapshot is the Nth" text are
+ ** answers 1_1, .
-->
</head>
<body>
<h1 class="centered">libstdc++ Frequently Asked Questions</h1>
-<p>The latest version of this document is always available at
+<p class="fineprint"><em>
+ The latest version of this document is always available at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/faq/">
http://gcc.gnu.org/onlinedocs/libstdc++/faq/</a>. The main documentation
page is at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">
http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html</a>.
-</p>
+</em></p>
-<p>To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
-</p>
+<p><em>
+ To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
+</em></p>
<!-- ####################################################### -->
<hr />
@@ -53,7 +55,7 @@
<ol>
<li><a href="#2_1">How do I install libstdc++-v3?</a> </li>
<li><a href="#2_2">[removed]</a> </li>
- <li><a href="#2_3">What is this CVS thing that you keep
+ <li><a href="#2_3">What is this CVS thing that you keep
mentioning?</a> </li>
<li><a href="#2_4">How do I know if it works?</a> </li>
<li><a href="#2_5">This library is HUGE! And what's libsupc++?</a> </li>
@@ -72,6 +74,9 @@
</li>
<li><a href="#3_6">OS X ctype.h is broken! How can I hack it?</a></li>
<li><a href="#3_7">Threading is broken on i386</a></li>
+ <li><a href="#3_8">Recent GNU/Linux glibc required?</a></li>
+ <li><a href="#3_9">Can't use wchar_t/wstring on FreeBSD</a></li>
+ <li><a href="#3_10">MIPS atomic operations</a></li>
</ol>
</li>
@@ -92,6 +97,7 @@
<em>constraints</em> in the STL...</a> </li>
<li><a href="#4_4_dlsym">program crashes when using library code
in a dynamically-loaded library</a> </li>
+ <li><a href="#4_4_leak">"memory leaks" in containers</a> </li>
</ul>
</li>
<li><a href="#4_5">Aw, that's easy to fix!</a> </li>
@@ -122,8 +128,8 @@
<!-- I suspect these will mostly be links to/into existing documents. -->
<h2><a name="1_1">1.1 What is libstdc++-v3?</a></h2>
<p>The GNU Standard C++ Library v3 is an
- ongoing project to implement the ISO 14882 Standard C++ library
- as described in chapters 17 through 27 and annex D. As the
+ ongoing project to implement the ISO 14882 Standard C++ library
+ as described in chapters 17 through 27 and annex D. As the
library reaches stable plateaus, it is captured in a snapshot
and released. The latest release is
<a href="http://gcc.gnu.org/libstdc++/index.html#download">the
@@ -132,7 +138,7 @@
far the project has come, or just want the latest
bleeding-edge code, the up-to-date source is available over
anonymous CVS, and can even be browsed over the Web (see
- <a href="#1_4">1.4</a> below).
+ <a href="#1_4">1.4</a> below).
</p>
<p>The older libstdc++-v2 project is no longer maintained; the code
has been completely replaced and rewritten.
@@ -140,7 +146,7 @@
report bugs to your system vendor, not to the V3 list.
</p>
<p>A more formal description of the V3 goals can be found in the
- official <a href="../17_intro/DESIGN">design document</a>.
+ official <a href="../17_intro/DESIGN">design document</a>.
</p>
<hr />
@@ -151,11 +157,11 @@
implementations are (as the Draft Standard used to say)
&quot;incomplet and incorrekt,&quot; and many suffer from
limitations of the compilers that use them.
- </p>
+ </p>
<p>The GNU C/C++/FORTRAN/&lt;pick-a-language&gt; compiler
(<code>gcc</code>, <code>g++</code>, etc) is widely considered to be
one of the leading compilers in the world. Its development
- has recently been taken over by the
+ has recently been taken over by the
<a href="http://gcc.gnu.org/">GCC team</a>. All of
the rapid development and near-legendary
<a href="http://gcc.gnu.org/gcc-3.0/buildstat.html">portability</a>
@@ -173,8 +179,8 @@
<h2><a name="1_3">1.3 Who's in charge of it?</a></h2>
<p>The libstdc++ project is contributed to by several developers
all over the world, in the same way as GCC or Linux.
- Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, Ulrich Drepper,
- Loren James Rittle, and Paolo Carlini are the lead maintainers of
+ Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, Ulrich Drepper,
+ Loren James Rittle, and Paolo Carlini are the lead maintainers of
the CVS archive.
</p>
<p>Development and discussion is held on the libstdc++ mailing
@@ -186,23 +192,22 @@
<hr />
<h2><a name="1_4">1.4 How do I get libstdc++?</a></h2>
- <p>The fourteenth (and latest) snapshot of libstdc++-v3 is
- <a href="http://gcc.gnu.org/libstdc++/index.html#download">available
- via ftp</a>.
- </p>
<p>The <a href="http://gcc.gnu.org/libstdc++/">homepage</a>
has instructions for retrieving the latest CVS sources, and for
browsing the CVS sources over the web.
</p>
+ <p>Stable versions of libstdc++-v3 are included with releases of
+ <a href="http://gcc.gnu.org/releases.html">the GCC compilers</a>.
+ </p>
<p>The subset commonly known as the Standard Template Library
(chapters 23 through 25, mostly) is adapted from the final release
of the SGI STL.
- </p>
+ </p>
<hr />
<h2><a name="1_5">1.5 When is libstdc++ going to be finished?</a></h2>
-<!-- <p>Nathan Myers gave the best of all possible answers in <a
- href="http://www.deja.com/getdoc.xp?AN=469581698&fmt=text">a
+<!-- <p>Nathan Myers gave the best of all possible answers in <a
+ href="http://www.deja.com/getdoc.xp?AN=469581698&fmt=text">a
Usenet article</a>.</p>
which is no longer available, thanks deja...-->
<p>Nathan Myers gave the best of all possible answers, responding to a
@@ -219,7 +224,7 @@ which is no longer available, thanks deja...-->
source code; anybody who is willing to help write
documentation, for example, or has found a bug in code that
we all thought was working, is more than welcome!
- </p>
+ </p>
<hr />
<h2><a name="1_7">1.7 What happened to libg++? I need that!</a></h2>
@@ -249,14 +254,13 @@ which is no longer available, thanks deja...-->
from libg++ might be extracted into an updated utilities library,
but nobody has stated such a project yet.
</p>
- <!-- The advertisement, so to speak, might have to go. Hmmmmm. -->
<p>(The <a href="http://www.boost.org/">Boost</a> site houses free
C++ libraries that do varying things, and happened to be started
by members of the Standards Committee. Certain &quot;useful
stuff&quot; classes will probably migrate there.)
</p>
<p>For the bold and/or desperate, the
- <a href="http://gcc.gnu.org/fom_serv/cache/33.html">GCC FAQ</a>
+ <a href="http://gcc.gnu.org/extensions.html">GCC extensions page</a>
describes where to find the last libg++ source.
</p>
@@ -312,7 +316,7 @@ which is no longer available, thanks deja...-->
browse those files over CVSweb ahead of time to get a feel for
what's required. RELEASE-NOTES is located in the
&quot;.../docs/17_intro/&quot; directory of the distribution.
- </p>
+ </p>
<hr />
<h2><a name="2_2">2.2 [removed]</a></h2>
@@ -327,9 +331,9 @@ which is no longer available, thanks deja...-->
control packages. It was selected for GNU projects because it's
free (speech), free (beer), and very high quality. The <a
href="http://www.gnu.org/software/cvs/cvs.html">CVS entry in
- the GNU software catalogue</a> has a better description as
+ the GNU software catalogue</a> has a better description as
well as a
- <a href="http://www.cvshome.org/">link to the makers of CVS</a>.
+ <a href="http://www.cvshome.org/">link to the makers of CVS</a>.
</p>
<p>The &quot;anonymous client checkout&quot; feature of CVS is
similar to anonymous FTP in that it allows anyone to retrieve
@@ -344,7 +348,9 @@ which is no longer available, thanks deja...-->
<h2><a name="2_4">2.4 How do I know if it works?</a></h2>
<p>libstdc++-v3 comes with its own testsuite. You do not need
to actually install the library (&quot;<code>make
- install</code>&quot;) to run the testsuite.
+ install</code>&quot;) to run the testsuite, but you do need
+ DejaGNU, as described
+ <a href="http://gcc.gnu.org/install/test.html">here</a>.
</p>
<p>To run the testsuite on the library after building it, use
&quot;make check&quot; while in your build directory. To run
@@ -357,7 +363,7 @@ which is no longer available, thanks deja...-->
</p>
<hr />
- <h2><a name="2_5">2.4 This library is HUGE! And what's libsupc++?</a></h2>
+ <h2><a name="2_5">2.5 This library is HUGE! And what's libsupc++?</a></h2>
<p>Usually the size of libraries on disk isn't noticeable. When a
link editor (or simply &quot;linker&quot;) pulls things from a
static archive library, only the necessary object files are copied
@@ -426,7 +432,7 @@ which is no longer available, thanks deja...-->
should, in theory, be usable under any ISO-compliant
compiler. It will still be targeted and optimized for
GCC/g++, however.
- </p>
+ </p>
<hr />
<h2><a name="3_2">3.2 [removed]</a></h2>
@@ -499,23 +505,62 @@ which is no longer available, thanks deja...-->
</p>
<hr />
- <h2><a name="3_7">Threading is broken on i386</a></h2>
+ <h2><a name="3_7">3.7 Threading is broken on i386</a></h2>
<p>Support for atomic integer operations is/was broken on i386
platforms. The assembly code accidentally used opcodes that are
only available on the i486 and later. So if you configured GCC
to target, for example, i386-linux, but actually used the programs
- on an i686, then you would encounter no problems. Only when
- actually running the code on a i386 will the problem appear.
+ on an i686, then you would encounter no problems. Only when
+ actually running the code on a i386 will the problem appear.
</p>
<p>This is fixed in 3.2.2.
</p>
<hr />
+ <h2><a name="3_8">3.8 Recent GNU/Linux glibc required?</a></h2>
+ <p>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
+ 5.0.1) and later uses localization and formatting code from the system
+ C library (glibc) version 2.2.5. That version of glibc is over a
+ year old and contains necessary bugfixes. Many GNU/Linux distros make
+ glibc version 2.3.x available now.
+ </p>
+ <p>The guideline is simple: the more recent the C++ library, the
+ more recent the C library. (This is also documented in the main
+ GCC installation instructions.)
+ </p>
+
+<hr />
+ <h2><a name="3_9">3.9 Can't use wchar_t/wstring on FreeBSD</a></h2>
+ <p>At the moment there are a few problems in FreeBSD's support for
+ wide character functions, and as a result the libstdc++ configury
+ decides that wchar_t support should be disabled. Once the underlying
+ problems are fixed in FreeBSD (soon), the library support will
+ automatically enable itself.
+ </p>
+ <p>You can fix the problems yourself, and learn more about the situation,
+ by reading
+ <a href="http://gcc.gnu.org/ml/libstdc++/2003-02/subjects.html#00286">
+ this short thread</a> (&quot;_GLIBCPP_USE_WCHAR_T undefined in
+ FreeBSD's c++config.h?&quot;).
+ </p>
+
+<hr />
+ <h2><a name="3_10">3.10 MIPS atomic operations</a></h2>
+ <p>The atomic locking routines for MIPS targets requires MIPS II
+ and later. A patch went in just after the 3.3 release to
+ make mips* use the generic implementation instead. You can also
+ configure for mipsel-elf as a workaround.
+ </p>
+ <p>mips*-*-linux* continues to use the MIPS II routines, and more
+ work in this area is expected.
+ </p>
+
+<hr />
<h1><a name="4_0">4.0 Known Bugs and Non-Bugs</a></h1>
<em>Note that this section can get rapdily outdated -- such is the
- nature of an open-source project. For the latest information, join
- the mailing list or look through recent archives. The RELEASE-
- NOTES and BUGS files are generally kept up-to-date.</em>
+ nature of an open-source project. For the latest information, join
+ the mailing list or look through recent archives. The RELEASE-
+ NOTES and BUGS files are generally kept up-to-date.</em>
<p>For 3.0.1, the most common &quot;bug&quot; is an apparently missing
&quot;<code>../</code>&quot; in include/Makefile, resulting in files
@@ -546,59 +591,22 @@ which is no longer available, thanks deja...-->
</p>
<h2><a name="4_1">4.1 What works already?</a></h2>
- <p>This is a verbatim clip from the &quot;Status&quot; section
+ <p>Short answer: Pretty much everything <em>works</em> except for some
+ corner cases. Also, localization is incomplete. For whether it works
+ well, or as you expect it to work, see 5.2.
+ </p>
+ <p>Long answer: See the docs/html/17_intro/CHECKLIST file, which is
+ badly outdated...
+ </p>
+ <p>What follows is a verbatim clip from the &quot;Status&quot; section
of the RELEASE-NOTES for the latest snapshot. For a list of
fixed bugs, see that file.
- </p>
+ </p>
<!-- Yeah, I meant that "verbatim clip" thing literally... :-) -->
<pre>
New:
----
-(post 3.0.97)
-- more doxygen documentation
-- more named locale fixups
-- stdio_filebuf that takes fd, FILE
-- io performance tuning
-- allocation tuning, valgrind fixups
-- __cxa_demangle now supported
-(3.0.97)
-- more doxygen documentation.
-- more named locale bug fixes
-- support for symbol versioning when using GNU ld &gt;= 2.12
-- wide-io
-- tuning for executable size
-(3.0.96)
-- more doxygen documentation.
-- extensions moved out of namespace std
-- HPUX long long support
-- more string optimizations
-- support for NetBSD cross compiles
-- concept_check merge from boost
-- header simplification
-- named locale bug shakeout
-- thread testsuite
-(3.0.95)
-- add S390, m68k, x86-64 support.
-- doxygen documentation has been extended, including man pages.
-- verbose terminate handling has been added.
-- some libsupc++ tweaks
-- warnings for deprecated headers now active.
-- dejagnu testsuite preliminary documentation.
-- dejagnu testsuite default.
-- dejagnu testsuite cross compiler, multilib safe.
-- long long iostreams on by default, rework of ISO C99 support.
-- iterator re-write and testsuites.
-- container testsuites.
-- allocator revamp and testsuites.
-- more concept-checking work.
-- basic_string optimization and MT fixes.
-- new limits implementation.
-- update -fno-exceptions code, verify it works.
-- full named locale support fpr all facets, choice of gnu,
- ieee_1003.1-200x (POSIX 2), or generic models. Full support depends
- on target OS and underlying &quot;C&quot; library support.
</pre>
@@ -680,8 +688,8 @@ New:
reason is that the state flags are <strong>not</strong> cleared
on a successful call to open(). The standard unfortunately did
not specify behavior in this case, and to everybody's great sorrow,
- the <a href="../ext/howto.html#5">proposed LWG resolution</a> (see
- DR #22) is to leave the flags unchanged. You must insert a call
+ the <a href="../ext/howto.html#5">proposed LWG resolution in
+ DR #22</a> is to leave the flags unchanged. You must insert a call
to <code>fs.clear()</code> between the calls to close() and open(),
and then everything will work like we all expect it to work.
</p>
@@ -705,16 +713,15 @@ New:
</p>
<p>If the headers are in <code>${prefix}/include/g++-3</code>, or if
the installed library's name looks like <code>libstdc++-2.10.a</code>
- or <code>libstdc++-libc6-2.10.so</code>,
- then you are using the old libstdc++-v2 library, which is nonstandard
- and unmaintained. Do not report problems with -v2 to the -v3
- mailing list.
+ or <code>libstdc++-libc6-2.10.so</code>, then you are using the old
+ libstdc++-v2 library, which is nonstandard and unmaintained. Do not
+ report problems with -v2 to the -v3 mailing list.
</p>
- <p>Currently our header files are installed in
- <code>${prefix}/include/g++-v3</code> (see the 'v'?). This may
- change with the next release of GCC, as it may be too confusing,
- but <a href="http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html">the
- question has not yet been decided</a>.
+ <p>For GCC versions 3.0 and 3.1 the libstdc++-v3 header files are
+ installed in <code>${prefix}/include/g++-v3</code> (see the 'v'?).
+ Starting with version 3.2 the headers are installed in
+ <code>${prefix}/include/c++/${version}</code> as this prevents
+ headers from previous versions being found by mistake.
</p>
<p><a name="4_4_glibc"><strong>glibc</strong></a>
If you're on a GNU/Linux system and have just upgraded to
@@ -754,17 +761,29 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
when compiling and linking:
</p>
<pre>
- // compile the library components
+ // compile your library components
g++ -fPIC -c a.cc
g++ -fPIC -c b.cc
...
g++ -fPIC -c z.cc
- // create the library
+ // create your library
g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o
// link the executable
g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl</pre>
+ <p><a name="4_4_leak"><strong>"memory leaks" in containers</strong></a>
+ A few people have reported that the standard containers appear
+ to leak memory when tested with memory checkers such as
+ <a href="http://developer.kde.org/~sewardj/">valgrind</a>.
+ The library's default allocators keep free memory in a pool
+ for later reuse, rather than returning it to the OS. Although
+ this memory is always reachable by the library and is never
+ lost, memory debugging tools can report it as a leak. If you
+ want to test the library for memory leaks please read
+ <a href="../debug.html#mem">Tips for memory leak hunting</a>
+ first.
+ </p>
<hr />
<h2><a name="4_5">4.5 Aw, that's easy to fix!</a></h2>
@@ -781,7 +800,7 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
entry, it is a Good Thing if you can additionally create a small
test program to test for the presence of the bug that your
patch fixes. Bugs have a way of being reintroduced; if an old
- bug creeps back in, it will be caught immediately by the
+ bug creeps back in, it will be caught immediately by the
<a href="#2_4">testsuite</a> -- but only if such a test exists.
</p>
@@ -858,7 +877,8 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
<p>In particular, <code>string</code> is not from SGI and makes no
use of their &quot;rope&quot; class (which is included as an
optional extension), nor is <code>valarray</code> and some others.
- Classes like <code>vector&lt;&gt;</code> are, however.
+ Classes like <code>vector&lt;&gt;</code> are, however we have
+ made significant changes to them since then.
</p>
<p>The FAQ for SGI's STL (one jump off of their main page) is
recommended reading.
@@ -904,7 +924,6 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
<p>This is a bit cleaner than defining typedefs for all the
instantiations you might need.
</p>
-
<p>Extensions to the library have
<a href="../ext/howto.html">their own page</a>.
</p>
@@ -917,15 +936,21 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
<hr />
<h2><a name="5_6">5.6 Is libstdc++-v3 thread-safe?</a></h2>
- <p>When the system's libc is itself thread-safe, a non-generic
- implementation of atomicity.h exists for the architecture, and gcc
- itself reports a thread model other than single; libstdc++-v3
- strives to be thread-safe. The user-code must guard against
- concurrent method calls which may access any particular library
- object's state. Typically, the application programmer may infer
- what object locks must be held based on the objects referenced in
- a method call. Without getting into great detail, here is an
- example which requires user-level locks:
+ <p>libstdc++-v3 strives to be thread-safe when all of the following
+ conditions are met:
+ </p>
+ <ul>
+ <li>The system's libc is itself thread-safe,</li>
+ <li><code>gcc -v</code> reports a thread model other than 'single',</li>
+ <li>[pre-3.3 only] a non-generic implementation of atomicity.h
+ exists for the architecture in question.</li>
+ </ul>
+ <p>The user-code must guard against concurrent method calls which may
+ access any particular library object's state. Typically, the
+ application programmer may infer what object locks must be held
+ based on the objects referenced in a method call. Without getting
+ into great detail, here is an example which requires user-level
+ locks:
</p>
<pre>
library_class_a shared_object_a;
@@ -949,12 +974,12 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
object_a.mutate ();
} </pre>
<p>All library objects are safe to use in a multithreaded program as
- long as each thread carefully locks out access by any other thread
- while it uses any object visible to another thread. In general,
+ long as each thread carefully locks out access by any other
+ thread while it uses any object visible to another thread, i.e.,
+ treat library objects like any other shared resource. In general,
this requirement includes both read and write access to objects;
- unless otherwise documented as safe, do not assume that two
- threads may access a shared standard library object at the
- same time.
+ unless otherwise documented as safe, do not assume that two threads
+ may access a shared standard library object at the same time.
</p>
<p>See chapters <a href="../17_intro/howto.html#3">17</a> (library
introduction), <a href="../23_containers/howto.html#3">23</a>
@@ -1006,7 +1031,7 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
a &quot;free-standing implementation&quot; that doesn't include (much
of) the standard library. It is a good basis for the work to come.
</p>
- <p>A useful C++ ABI must also incorporate many details of the standard
+ <p>A useful C++ ABI must also incorporate many details of the standard
library implementation. For a C ABI, the layouts of a few structs
(such as FILE, stat, jmpbuf, and the like) and a few macros suffice.
For C++, the details include the complete set of names of functions
@@ -1018,7 +1043,7 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
those details so that future bug fixes and optimizations don't
force breaking the ABI.
</p>
- <p>There are ways to help isolate library implementation details from the
+ <p>There are ways to help isolate library implementation details from the
ABI, but they trade off against speed. Library details used in
inner loops (e.g., getchar) must be exposed and frozen for all
time, but many others may reasonably be kept hidden from user code,
diff --git a/libstdc++-v3/docs/html/faq/index.txt b/libstdc++-v3/docs/html/faq/index.txt
index 3ea90597d43..dedc0f5bca8 100644
--- a/libstdc++-v3/docs/html/faq/index.txt
+++ b/libstdc++-v3/docs/html/faq/index.txt
@@ -4,9 +4,9 @@
The latest version of this document is always available at
[1]http://gcc.gnu.org/onlinedocs/libstdc++/faq/. The main
documentation page is at
- [2]http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html.
+ [2]http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html.
- To the [3]libstdc++-v3 homepage.
+ To the [3]libstdc++-v3 homepage.
_________________________________________________________________
Questions
@@ -35,31 +35,35 @@
5. [25]_XOPEN_SOURCE / _GNU_SOURCE / etc is always defined
6. [26]OS X ctype.h is broken! How can I hack it?
7. [27]Threading is broken on i386
- 4. [28]Known Bugs and Non-Bugs
- 1. [29]What works already?
- 2. [30]Bugs in gcc/g++ (not libstdc++-v3)
- 3. [31]Bugs in the C++ language/lib specification
- 4. [32]Things in libstdc++ that only look like bugs
- o [33]reopening a stream fails
- o [34]-Weffc++ complains too much
- o [35]"ambiguous overloads" after including an old-style
+ 8. [28]Recent GNU/Linux glibc required?
+ 9. [29]Can't use wchar_t/wstring on FreeBSD
+ 10. [30]MIPS atomic operations
+ 4. [31]Known Bugs and Non-Bugs
+ 1. [32]What works already?
+ 2. [33]Bugs in gcc/g++ (not libstdc++-v3)
+ 3. [34]Bugs in the C++ language/lib specification
+ 4. [35]Things in libstdc++ that only look like bugs
+ o [36]reopening a stream fails
+ o [37]-Weffc++ complains too much
+ o [38]"ambiguous overloads" after including an old-style
header
- o [36]The g++-3 headers are not ours
- o [37]compilation errors from streambuf.h
- o [38]errors about *Concept and constraints in the STL...
- o [39]program crashes when using library code in a
+ o [39]The g++-3 headers are not ours
+ o [40]compilation errors from streambuf.h
+ o [41]errors about *Concept and constraints in the STL...
+ o [42]program crashes when using library code in a
dynamically-loaded library
- 5. [40]Aw, that's easy to fix!
- 5. [41]Miscellaneous
- 1. [42]string::iterator is not char*; vector<T>::iterator is not
+ o [43]"memory leaks" in containers
+ 5. [44]Aw, that's easy to fix!
+ 5. [45]Miscellaneous
+ 1. [46]string::iterator is not char*; vector<T>::iterator is not
T*
- 2. [43]What's next after libstdc++-v3?
- 3. [44]What about the STL from SGI?
- 4. [45]Extensions and Backward Compatibility
- 5. [46][removed]
- 6. [47]Is libstdc++-v3 thread-safe?
- 7. [48]How do I get a copy of the ISO C++ Standard?
- 8. [49]What's an ABI and why is it so messy?
+ 2. [47]What's next after libstdc++-v3?
+ 3. [48]What about the STL from SGI?
+ 4. [49]Extensions and Backward Compatibility
+ 5. [50][removed]
+ 6. [51]Is libstdc++-v3 thread-safe?
+ 7. [52]How do I get a copy of the ISO C++ Standard?
+ 8. [53]What's an ABI and why is it so messy?
_________________________________________________________________
1.0 General Information
@@ -69,19 +73,19 @@
The GNU Standard C++ Library v3 is an ongoing project to implement the
ISO 14882 Standard C++ library as described in chapters 17 through 27
and annex D. As the library reaches stable plateaus, it is captured in
- a snapshot and released. The latest release is [50]the fourteenth
+ a snapshot and released. The latest release is [54]the fourteenth
snapshot but newer versions have been included in recent GCC releases.
For those who want to see exactly how far the project has come, or
just want the latest bleeding-edge code, the up-to-date source is
available over anonymous CVS, and can even be browsed over the Web
- (see [51]1.4 below).
+ (see [55]1.4 below).
The older libstdc++-v2 project is no longer maintained; the code has
- been completely replaced and rewritten. [52]If you are using V2, then
+ been completely replaced and rewritten. [56]If you are using V2, then
you need to report bugs to your system vendor, not to the V3 list.
A more formal description of the V3 goals can be found in the official
- [53]design document.
+ [57]design document.
_________________________________________________________________
1.2 Why should I use libstdc++?
@@ -94,8 +98,8 @@
The GNU C/C++/FORTRAN/<pick-a-language> compiler (gcc, g++, etc) is
widely considered to be one of the leading compilers in the world. Its
- development has recently been taken over by the [54]GCC team. All of
- the rapid development and near-legendary [55]portability that are the
+ development has recently been taken over by the [58]GCC team. All of
+ the rapid development and near-legendary [59]portability that are the
hallmarks of an open-source project are being applied to libstdc++.
That means that all of the Standard classes and functions (such as
@@ -113,18 +117,18 @@
Development and discussion is held on the libstdc++ mailing list.
Subscribing to the list, or searching the list archives, is open to
- everyone. You can read instructions for doing so on the [56]homepage.
+ everyone. You can read instructions for doing so on the [60]homepage.
If you have questions, ideas, code, or are just curious, sign up!
_________________________________________________________________
1.4 How do I get libstdc++?
- The fourteenth (and latest) snapshot of libstdc++-v3 is [57]available
- via ftp.
-
- The [58]homepage has instructions for retrieving the latest CVS
+ The [61]homepage has instructions for retrieving the latest CVS
sources, and for browsing the CVS sources over the web.
+ Stable versions of libstdc++-v3 are included with releases of [62]the
+ GCC compilers.
+
The subset commonly known as the Standard Template Library (chapters
23 through 25, mostly) is adapted from the final release of the SGI
STL.
@@ -138,7 +142,7 @@
1.6 How do I contribute to the effort?
- Here is [59]a page devoted to this topic. Subscribing to the mailing
+ Here is [63]a page devoted to this topic. Subscribing to the mailing
list (see above, or the homepage) is a very good idea if you have
something to contribute, or if you have spare time and want to help.
Contributions don't have to be in the form of source code; anybody who
@@ -173,12 +177,12 @@
extracted into an updated utilities library, but nobody has stated
such a project yet.
- (The [60]Boost site houses free C++ libraries that do varying things,
+ (The [64]Boost site houses free C++ libraries that do varying things,
and happened to be started by members of the Standards Committee.
Certain "useful stuff" classes will probably migrate there.)
- For the bold and/or desperate, the [61]GCC FAQ describes where to find
- the last libg++ source.
+ For the bold and/or desperate, the [65]GCC extensions page describes
+ where to find the last libg++ source.
_________________________________________________________________
1.8 What if I have more questions?
@@ -187,16 +191,16 @@
remains unanswered, then just ask the mailing list. At present, you do
not need to be subscribed to the list to send a message to it. More
information is available on the homepage (including how to browse the
- list archives); to send to the list, use [62]libstdc++@gcc.gnu.org.
+ list archives); to send to the list, use [66]libstdc++@gcc.gnu.org.
If you have a question that you think should be included here, or if
- you have a question about a question/answer here, contact [63]Phil
- Edwards or [64]Gabriel Dos Reis.
+ you have a question about a question/answer here, contact [67]Phil
+ Edwards or [68]Gabriel Dos Reis.
_________________________________________________________________
1.9 What are the license terms for libstdc++-v3?
- See [65]our license description for these and related questions.
+ See [69]our license description for these and related questions.
_________________________________________________________________
2.0 Installation
@@ -213,13 +217,13 @@
* The GNU Autotools are needed if you are messing with the configury
or makefiles.
- The file [66]documentation.html provides a good overview of the steps
+ The file [70]documentation.html provides a good overview of the steps
necessary to build, install, and use the library. Instructions for
configuring the library with new flags such as --enable-threads are
there also, as well as patches and instructions for working with GCC
2.95.
- The top-level install.html and [67]RELEASE-NOTES files contain the
+ The top-level install.html and [71]RELEASE-NOTES files contain the
exact build and installation instructions. You may wish to browse
those files over CVSweb ahead of time to get a feel for what's
required. RELEASE-NOTES is located in the ".../docs/17_intro/"
@@ -236,8 +240,8 @@
The Concurrent Versions System is one of several revision control
packages. It was selected for GNU projects because it's free (speech),
- free (beer), and very high quality. The [68]CVS entry in the GNU
- software catalogue has a better description as well as a [69]link to
+ free (beer), and very high quality. The [72]CVS entry in the GNU
+ software catalogue has a better description as well as a [73]link to
the makers of CVS.
The "anonymous client checkout" feature of CVS is similar to anonymous
@@ -250,7 +254,8 @@
2.4 How do I know if it works?
libstdc++-v3 comes with its own testsuite. You do not need to actually
- install the library ("make install") to run the testsuite.
+ install the library ("make install") to run the testsuite, but you do
+ need DejaGNU, as described [74]here.
To run the testsuite on the library after building it, use "make
check" while in your build directory. To run the testsuite on the
@@ -262,7 +267,7 @@
up your idea and send it to the list!
_________________________________________________________________
-2.4 This library is HUGE! And what's libsupc++?
+2.5 This library is HUGE! And what's libsupc++?
Usually the size of libraries on disk isn't noticeable. When a link
editor (or simply "linker") pulls things from a static archive
@@ -288,7 +293,7 @@
people don't like it, so here are two pseudo-solutions:
If the only functions from libstdc++.a which you need are language
- support functions (those listed in [70]clause 18 of the standard,
+ support functions (those listed in [75]clause 18 of the standard,
e.g., new and delete), then try linking against libsupc++.a (usually
specifying -lsupc++ when calling g++ for the final link step will do
it). This library contains only those support routines, one per object
@@ -383,7 +388,7 @@
- < /dev/null" to display a list of predefined macros for any
particular installation.
- This has been discussed on the mailing lists [71]quite a bit.
+ This has been discussed on the mailing lists [76]quite a bit.
This method is something of a wart. We'd like to find a cleaner
solution, but nobody yet has contributed the time.
@@ -392,11 +397,11 @@
3.6 OS X ctype.h is broken! How can I hack it?
This is a long-standing bug in the OS X support. Fortunately, the
- patch is quite simple, and well-known. [72]Here's a link to the
+ patch is quite simple, and well-known. [77]Here's a link to the
solution.
_________________________________________________________________
-Threading is broken on i386
+3.7 Threading is broken on i386
Support for atomic integer operations is/was broken on i386 platforms.
The assembly code accidentally used opcodes that are only available on
@@ -408,6 +413,43 @@ Threading is broken on i386
This is fixed in 3.2.2.
_________________________________________________________________
+3.8 Recent GNU/Linux glibc required?
+
+ When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
+ 5.0.1) and later uses localization and formatting code from the system
+ C library (glibc) version 2.2.5. That version of glibc is over a year
+ old and contains necessary bugfixes. Many GNU/Linux distros make glibc
+ version 2.3.x available now.
+
+ The guideline is simple: the more recent the C++ library, the more
+ recent the C library. (This is also documented in the main GCC
+ installation instructions.)
+ _________________________________________________________________
+
+3.9 Can't use wchar_t/wstring on FreeBSD
+
+ At the moment there are a few problems in FreeBSD's support for wide
+ character functions, and as a result the libstdc++ configury decides
+ that wchar_t support should be disabled. Once the underlying problems
+ are fixed in FreeBSD (soon), the library support will automatically
+ enable itself.
+
+ You can fix the problems yourself, and learn more about the situation,
+ by reading [78]this short thread ("_GLIBCPP_USE_WCHAR_T undefined in
+ FreeBSD's c++config.h?").
+ _________________________________________________________________
+
+3.10 MIPS atomic operations
+
+ The atomic locking routines for MIPS targets requires MIPS II and
+ later. A patch went in just after the 3.3.0 release to make mips* use
+ the generic implementation instead. You can also configure for
+ mipsel-elf as a workaround.
+
+ mips*-*-linux* continues to use the MIPS II routines, and more work in
+ this area is expected.
+ _________________________________________________________________
+
4.0 Known Bugs and Non-Bugs
Note that this section can get rapdily outdated -- such is the nature
@@ -417,7 +459,7 @@ Threading is broken on i386
For 3.0.1, the most common "bug" is an apparently missing "../" in
include/Makefile, resulting in files like gthr.h and gthr-single.h not
- being found. Please read [73]the configuration instructions for GCC,
+ being found. Please read [79]the configuration instructions for GCC,
specifically the part about configuring in a separate build directory,
and how strongly recommended it is. Building in the source directory
is fragile, is rarely tested, and tends to break, as in this case.
@@ -425,7 +467,7 @@ Threading is broken on i386
For 3.1, the most common "bug" is a parse error when using <fstream>,
ending with a message, "bits/basic_file.h:52: parse error before `{'
- token." Please read [74]the installation instructions for GCC,
+ token." Please read [80]the installation instructions for GCC,
specifically the part about not installing newer versions on top of
older versions. If you install 3.1 over a 3.0.x release, then the
wrong basic_file.h header will be found (its location changed between
@@ -438,53 +480,17 @@ Threading is broken on i386
4.1 What works already?
- This is a verbatim clip from the "Status" section of the RELEASE-NOTES
- for the latest snapshot. For a list of fixed bugs, see that file.
+ Short answer: Pretty much everything works except for some corner
+ cases. Also, localization is incomplete. For whether it works well, or
+ as you expect it to work, see 5.2.
+
+ Long answer: See the docs/html/17_intro/CHECKLIST file, which is badly
+ outdated...
+
+ What follows is a verbatim clip from the "Status" section of the
+ RELEASE-NOTES for the latest snapshot. For a list of fixed bugs, see
+ that file.
New:
----
-(post 3.0.97)
-- more doxygen documentation
-- more named locale fixups
-- stdio_filebuf that takes fd, FILE
-- io performance tuning
-- allocation tuning, valgrind fixups
-- __cxa_demangle now supported
-(3.0.97)
-- more doxygen documentation.
-- more named locale bug fixes
-- support for symbol versioning when using GNU ld >= 2.12
-- wide-io
-- tuning for executable size
-(3.0.96)
-- more doxygen documentation.
-- extensions moved out of namespace std
-- HPUX long long support
-- more string optimizations
-- support for NetBSD cross compiles
-- concept_check merge from boost
-- header simplification
-- named locale bug shakeout
-- thread testsuite
-(3.0.95)
-- add S390, m68k, x86-64 support.
-- doxygen documentation has been extended, including man pages.
-- verbose terminate handling has been added.
-- some libsupc++ tweaks
-- warnings for deprecated headers now active.
-- dejagnu testsuite preliminary documentation.
-- dejagnu testsuite default.
-- dejagnu testsuite cross compiler, multilib safe.
-- long long iostreams on by default, rework of ISO C99 support.
-- iterator re-write and testsuites.
-- container testsuites.
-- allocator revamp and testsuites.
-- more concept-checking work.
-- basic_string optimization and MT fixes.
-- new limits implementation.
-- update -fno-exceptions code, verify it works.
-- full named locale support fpr all facets, choice of gnu,
- ieee_1003.1-200x (POSIX 2), or generic models. Full support depends
- on target OS and underlying "C" library support.
_________________________________________________________________
4.2 Bugs in gcc/g++ (not libstdc++-v3)
@@ -494,30 +500,30 @@ New:
libstdc++. If you are experiencing one of these problems, you can find
more information on the libstdc++ and the GCC mailing lists.
- Before reporting a bug, examine the [75]bugs database with the
+ Before reporting a bug, examine the [81]bugs database with the
category set to "libstdc++". The BUGS file in the source tree also
tracks known serious problems.
* Debugging is problematic, due to bugs in line-number generation
(mostly fixed in the compiler) and gdb lagging behind the compiler
(lack of personnel). We recommend configuring the compiler using
--with-dwarf2 if the DWARF2 debugging format is not already the
- default on your platform. Also, [76]changing your GDB settings can
+ default on your platform. Also, [82]changing your GDB settings can
have a profound effect on your C++ debugging experiences. :-)
_________________________________________________________________
4.3 Bugs in the C++ language/lib specification
- Yes, unfortunately, there are some. In a [77]message to the list,
+ Yes, unfortunately, there are some. In a [83]message to the list,
Nathan Myers announced that he has started a list of problems in the
ISO C++ Standard itself, especially with regard to the chapters that
- concern the library. The list itself is [78]posted on his website.
+ concern the library. The list itself is [84]posted on his website.
Developers who are having problems interpreting the Standard may wish
to consult his notes.
For those people who are not part of the ISO Library Group (i.e.,
nearly all of us needing to read this page in the first place :-), a
- public list of the library defects is occasionally published [79]here.
- Some of these have resulted in [80]code changes.
+ public list of the library defects is occasionally published [85]here.
+ Some of these have resulted in [86]code changes.
_________________________________________________________________
4.4 Things in libstdc++ that only look like bugs
@@ -549,7 +555,7 @@ New:
state on the previous file. The reason is that the state flags are not
cleared on a successful call to open(). The standard unfortunately did
not specify behavior in this case, and to everybody's great sorrow,
- the [81]proposed LWG resolution (see DR #22) is to leave the flags
+ the [87]proposed LWG resolution in DR #22 is to leave the flags
unchanged. You must insert a call to fs.clear() between the calls to
close() and open(), and then everything will work like we all expect
it to work.
@@ -559,7 +565,7 @@ New:
same namespace as other comparison functions (e.g., 'using' them and
the <iterator> header), then you will suddenly be faced with huge
numbers of ambiguity errors. This was discussed on the -v3 list;
- Nathan Myers [82]sums things up here. The collisions with
+ Nathan Myers [88]sums things up here. The collisions with
vector/string iterator types have been fixed for 3.1.
The g++-3 headers are not ours
@@ -567,7 +573,7 @@ New:
If you have found an extremely broken header file which is causing
problems for you, look carefully before submitting a "high" priority
bug report (which you probably shouldn't do anyhow; see the last
- paragraph of the page describing [83]the GCC bug database).
+ paragraph of the page describing [89]the GCC bug database).
If the headers are in ${prefix}/include/g++-3, or if the installed
library's name looks like libstdc++-2.10.a or libstdc++-libc6-2.10.so,
@@ -575,9 +581,11 @@ New:
and unmaintained. Do not report problems with -v2 to the -v3 mailing
list.
- Currently our header files are installed in ${prefix}/include/g++-v3
- (see the 'v'?). This may change with the next release of GCC, as it
- may be too confusing, but [84]the question has not yet been decided.
+ For GCC versions 3.0 and 3.1 the libstdc++-v3 header files are
+ installed in ${prefix}/include/g++-v3 (see the 'v'?). Starting with
+ version 3.2 the headers are installed in
+ ${prefix}/include/c++/${version} as this prevents headers from
+ previous versions being found by mistake.
glibc If you're on a GNU/Linux system and have just upgraded to glibc
2.2, but are still using gcc 2.95.2, then you should have read the
@@ -590,7 +598,7 @@ type has changed in glibc 2.2. The patch is at
http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
- Note that 2.95.x shipped with the [85]old v2 library which is no
+ Note that 2.95.x shipped with the [90]old v2 library which is no
longer maintained. Also note that gcc 2.95.3 fixes this problem, but
requires a separate patch for libstdc++-v3.
@@ -603,38 +611,47 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
visibility, or you just plain forgot, etc).
More information, including how to optionally enable/disable the
- checks, is available [86]here.
+ checks, is available [91]here.
dlopen/dlsym If you are using the C++ library across
dynamically-loaded objects, make certain that you are passing the
correct options when compiling and linking:
- // compile the library components
+ // compile your library components
g++ -fPIC -c a.cc
g++ -fPIC -c b.cc
...
g++ -fPIC -c z.cc
- // create the library
+ // create your library
g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o
// link the executable
g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl
+
+ "memory leaks" in containers A few people have reported that the
+ standard containers appear to leak memory when tested with memory
+ checkers such as [92]valgrind. The library's default allocators keep
+ free memory in a pool for later reuse, rather than returning it to the
+ OS. Although this memory is always reachable by the library and is
+ never lost, memory debugging tools can report it as a leak. If you
+ want to test the library for memory leaks please read [93]Tips for
+ memory leak hunting first.
_________________________________________________________________
4.5 Aw, that's easy to fix!
If you have found a bug in the library and you think you have a
working fix, then send it in! The main GCC site has a page on
- [87]submitting patches that covers the procedure, but for libstdc++
+ [94]submitting patches that covers the procedure, but for libstdc++
you should also send the patch to our mailing list in addition to the
- GCC patches mailing list. The libstdc++ [88]contributors' page also
+ GCC patches mailing list. The libstdc++ [95]contributors' page also
talks about how to submit patches.
In addition to the description, the patch, and the ChangeLog entry, it
is a Good Thing if you can additionally create a small test program to
test for the presence of the bug that your patch fixes. Bugs have a
way of being reintroduced; if an old bug creeps back in, it will be
- caught immediately by the [89]testsuite -- but only if such a test
+ caught immediately by the [96]testsuite -- but only if such a test
exists.
_________________________________________________________________
@@ -668,7 +685,7 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
libstdc++. Some of that is already happening, see 4.2. Some of
those changes are being predicted by the library maintainers, and
we add code to the library based on what the current proposed
- resolution specifies. Those additions are listed in [90]the
+ resolution specifies. Those additions are listed in [97]the
extensions page.
2. Performance tuning. Lots of performance tuning. This too is
already underway for post-3.0 releases, starting with memory
@@ -684,20 +701,21 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
type from C99.) Bugfixes and rewrites (to improve or fix thread
safety, for instance) will of course be a continuing task.
- [91]This question about the next libstdc++ prompted some brief but
- interesting [92]speculation.
+ [98]This question about the next libstdc++ prompted some brief but
+ interesting [99]speculation.
_________________________________________________________________
5.3 What about the STL from SGI?
- The [93]STL from SGI, version 3.3, was the most recent merge of the
+ The [100]STL from SGI, version 3.3, was the most recent merge of the
STL codebase. The code in libstdc++ contains many fixes and changes,
and it is very likely that the SGI code is no longer under active
development. We expect that no future merges will take place.
In particular, string is not from SGI and makes no use of their "rope"
class (which is included as an optional extension), nor is valarray
- and some others. Classes like vector<> are, however.
+ and some others. Classes like vector<> are, however we have made
+ significant changes to them since then.
The FAQ for SGI's STL (one jump off of their main page) is recommended
reading.
@@ -714,7 +732,32 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
headers whose directories are not searched directly, e.g.,
<sys/stat.h>, <X11/Xlib.h>.
- Extensions to the library have [94]their own page.
+ The extensions are no longer in the global or std namespaces, instead
+ they are declared in the __gnu_cxx namespace. For maximum portability,
+ consider defining a namespace alias to use to talk about extensions,
+ e.g.:
+ #ifdef __GNUC__
+ #if __GNUC__ < 3
+ #include <hash_map.h>
+ namespace Sgi { using ::hash_map; }; // inherit globals
+ #else
+ #include <ext/hash_map>
+ #if __GNUC_MINOR__ == 0
+ namespace Sgi = std; // GCC 3.0
+ #else
+ namespace Sgi = ::__gnu_cxx; // GCC 3.1 and later
+ #endif
+ #endif
+ #else // ... there are other compilers, right?
+ namespace Sgi = std;
+ #endif
+
+ Sgi::hash_map<int,int> my_map;
+
+ This is a bit cleaner than defining typedefs for all the
+ instantiations you might need.
+
+ Extensions to the library have [101]their own page.
_________________________________________________________________
5.5 [removed]
@@ -725,15 +768,18 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
5.6 Is libstdc++-v3 thread-safe?
- When the system's libc is itself thread-safe, a non-generic
- implementation of atomicity.h exists for the architecture, and gcc
- itself reports a thread model other than single; libstdc++-v3 strives
- to be thread-safe. The user-code must guard against concurrent method
- calls which may access any particular library object's state.
- Typically, the application programmer may infer what object locks must
- be held based on the objects referenced in a method call. Without
- getting into great detail, here is an example which requires
- user-level locks:
+ libstdc++-v3 strives to be thread-safe when all of the following
+ conditions are met:
+ * The system's libc is itself thread-safe,
+ * gcc -v reports a thread model other than 'single',
+ * [pre-3.3 only] a non-generic implementation of atomicity.h exists
+ for the architecture in question.
+
+ The user-code must guard against concurrent method calls which may
+ access any particular library object's state. Typically, the
+ application programmer may infer what object locks must be held based
+ on the objects referenced in a method call. Without getting into great
+ detail, here is an example which requires user-level locks:
library_class_a shared_object_a;
thread_main () {
@@ -758,13 +804,14 @@ a
All library objects are safe to use in a multithreaded program as long
as each thread carefully locks out access by any other thread while it
- uses any object visible to another thread. In general, this
- requirement includes both read and write access to objects; unless
- otherwise documented as safe, do not assume that two threads may
- access a shared standard library object at the same time.
+ uses any object visible to another thread, i.e., treat library objects
+ like any other shared resource. In general, this requirement includes
+ both read and write access to objects; unless otherwise documented as
+ safe, do not assume that two threads may access a shared standard
+ library object at the same time.
- See chapters [95]17 (library introduction), [96]23 (containers), and
- [97]27 (I/O) for more information.
+ See chapters [102]17 (library introduction), [103]23 (containers), and
+ [104]27 (I/O) for more information.
_________________________________________________________________
5.7 How do I get a copy of the ISO C++ Standard?
@@ -775,11 +822,11 @@ a
their two-meeting commitment for voting rights, may get a copy of the
standard from their respective national standards organization. In the
USA, this national standards organization is ANSI and their website is
- right [98]here. (And if you've already registered with them, clicking
- this link will take you to directly to the place where you can [99]buy
- the standard on-line.
+ right [105]here. (And if you've already registered with them, clicking
+ this link will take you to directly to the place where you can
+ [106]buy the standard on-line.
- Who is your country's member body? Visit the [100]ISO homepage and
+ Who is your country's member body? Visit the [107]ISO homepage and
find out!
_________________________________________________________________
@@ -830,8 +877,8 @@ a
encompasses the standard library.
_________________________________________________________________
- See [101]license.html for copying conditions. Comments and suggestions
- are welcome, and may be sent to [102]the libstdc++ mailing list.
+ See [108]license.html for copying conditions. Comments and suggestions
+ are welcome, and may be sent to [109]the libstdc++ mailing list.
References
@@ -862,78 +909,85 @@ References
25. ../faq/index.html#3_5
26. ../faq/index.html#3_6
27. ../faq/index.html#3_7
- 28. ../faq/index.html#4_0
- 29. ../faq/index.html#4_1
- 30. ../faq/index.html#4_2
- 31. ../faq/index.html#4_3
- 32. ../faq/index.html#4_4
- 33. ../faq/index.html#4_4_iostreamclear
- 34. ../faq/index.html#4_4_Weff
- 35. ../faq/index.html#4_4_rel_ops
- 36. ../faq/index.html#4_4_interface
- 37. ../faq/index.html#4_4_glibc
- 38. ../faq/index.html#4_4_checks
- 39. ../faq/index.html#4_4_dlsym
- 40. ../faq/index.html#4_5
- 41. ../faq/index.html#5_0
- 42. ../faq/index.html#5_1
- 43. ../faq/index.html#5_2
- 44. ../faq/index.html#5_3
- 45. ../faq/index.html#5_4
- 46. ../faq/index.html#5_5
- 47. ../faq/index.html#5_6
- 48. ../faq/index.html#5_7
- 49. ../faq/index.html#5_8
- 50. http://gcc.gnu.org/libstdc++/index.html#download
- 51. ../faq/index.html#1_4
- 52. ../faq/index.html#4_4_interface
- 53. ../17_intro/DESIGN
- 54. http://gcc.gnu.org/
- 55. http://gcc.gnu.org/gcc-3.0/buildstat.html
- 56. http://gcc.gnu.org/libstdc++/
- 57. http://gcc.gnu.org/libstdc++/index.html#download
- 58. http://gcc.gnu.org/libstdc++/
- 59. ../17_intro/contribute.html
- 60. http://www.boost.org/
- 61. http://gcc.gnu.org/fom_serv/cache/33.html
- 62. mailto:libstdc++@gcc.gnu.org
- 63. mailto:pme@gcc.gnu.org
- 64. mailto:gdr@gcc.gnu.org
- 65. ../17_intro/license.html
- 66. ../documentation.html
- 67. ../17_intro/RELEASE-NOTES
- 68. http://www.gnu.org/software/cvs/cvs.html
- 69. http://www.cvshome.org/
- 70. ../18_support/howto.html
- 71. http://gcc.gnu.org/cgi-bin/htsearch?method=and&format=builtin-long&sort=score&words=_XOPEN_SOURCE+Solaris
- 72. http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html
- 73. http://gcc.gnu.org/install/configure.html
- 74. http://gcc.gnu.org/install/
- 75. http://gcc.gnu.org/bugs.html
- 76. http://gcc.gnu.org/ml/libstdc++/2002-02/msg00034.html
- 77. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html
- 78. http://www.cantrip.org/draft-bugs.txt
- 79. http://anubis.dkuug.dk/jtc1/sc22/wg21/
- 80. ../faq/index.html#5_2
- 81. ../ext/howto.html#5
- 82. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html
- 83. http://gcc.gnu.org/gnatswrite.html
- 84. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html
- 85. ../faq/index.html#4_4_interface
- 86. ../19_diagnostics/howto.html#3
- 87. http://gcc.gnu.org/contribute.html
- 88. ../17_intro/contribute.html
- 89. ../faq/index.html#2_4
- 90. ../ext/howto.html#5
- 91. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html
- 92. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html
- 93. http://www.sgi.com/Technology/STL/
- 94. ../ext/howto.html
- 95. ../17_intro/howto.html#3
- 96. ../23_containers/howto.html#3
- 97. ../27_io/howto.html#9
- 98. http://www.ansi.org/
- 99. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
- 100. http://www.iso.ch/
- 101. ../17_intro/license.html
- 102. mailto:libstdc++@gcc.gnu.org
+ 28. ../faq/index.html#3_8
+ 29. ../faq/index.html#3_9
+ 30. ../faq/index.html#3_10
+ 31. ../faq/index.html#4_0
+ 32. ../faq/index.html#4_1
+ 33. ../faq/index.html#4_2
+ 34. ../faq/index.html#4_3
+ 35. ../faq/index.html#4_4
+ 36. ../faq/index.html#4_4_iostreamclear
+ 37. ../faq/index.html#4_4_Weff
+ 38. ../faq/index.html#4_4_rel_ops
+ 39. ../faq/index.html#4_4_interface
+ 40. ../faq/index.html#4_4_glibc
+ 41. ../faq/index.html#4_4_checks
+ 42. ../faq/index.html#4_4_dlsym
+ 43. ../faq/index.html#4_4_leak
+ 44. ../faq/index.html#4_5
+ 45. ../faq/index.html#5_0
+ 46. ../faq/index.html#5_1
+ 47. ../faq/index.html#5_2
+ 48. ../faq/index.html#5_3
+ 49. ../faq/index.html#5_4
+ 50. ../faq/index.html#5_5
+ 51. ../faq/index.html#5_6
+ 52. ../faq/index.html#5_7
+ 53. ../faq/index.html#5_8
+ 54. http://gcc.gnu.org/libstdc++/index.html#download
+ 55. ../faq/index.html#1_4
+ 56. ../faq/index.html#4_4_interface
+ 57. ../17_intro/DESIGN
+ 58. http://gcc.gnu.org/
+ 59. http://gcc.gnu.org/gcc-3.0/buildstat.html
+ 60. http://gcc.gnu.org/libstdc++/
+ 61. http://gcc.gnu.org/libstdc++/
+ 62. http://gcc.gnu.org/releases.html
+ 63. ../17_intro/contribute.html
+ 64. http://www.boost.org/
+ 65. http://gcc.gnu.org/extensions.html
+ 66. mailto:libstdc++@gcc.gnu.org
+ 67. mailto:pme@gcc.gnu.org
+ 68. mailto:gdr@gcc.gnu.org
+ 69. ../17_intro/license.html
+ 70. ../documentation.html
+ 71. ../17_intro/RELEASE-NOTES
+ 72. http://www.gnu.org/software/cvs/cvs.html
+ 73. http://www.cvshome.org/
+ 74. http://gcc.gnu.org/install/test.html
+ 75. ../18_support/howto.html
+ 76. http://gcc.gnu.org/cgi-bin/htsearch?method=and&format=builtin-long&sort=score&words=_XOPEN_SOURCE+Solaris
+ 77. http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html
+ 78. http://gcc.gnu.org/ml/libstdc++/2003-02/subjects.html#00286
+ 79. http://gcc.gnu.org/install/configure.html
+ 80. http://gcc.gnu.org/install/
+ 81. http://gcc.gnu.org/bugs.html
+ 82. http://gcc.gnu.org/ml/libstdc++/2002-02/msg00034.html
+ 83. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html
+ 84. http://www.cantrip.org/draft-bugs.txt
+ 85. http://anubis.dkuug.dk/jtc1/sc22/wg21/
+ 86. ../faq/index.html#5_2
+ 87. ../ext/howto.html#5
+ 88. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html
+ 89. http://gcc.gnu.org/gnatswrite.html
+ 90. ../faq/index.html#4_4_interface
+ 91. ../19_diagnostics/howto.html#3
+ 92. http://developer.kde.org/~sewardj/
+ 93. ../debug.html#mem
+ 94. http://gcc.gnu.org/contribute.html
+ 95. ../17_intro/contribute.html
+ 96. ../faq/index.html#2_4
+ 97. ../ext/howto.html#5
+ 98. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html
+ 99. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html
+ 100. http://www.sgi.com/Technology/STL/
+ 101. ../ext/howto.html
+ 102. ../17_intro/howto.html#3
+ 103. ../23_containers/howto.html#3
+ 104. ../27_io/howto.html#9
+ 105. http://www.ansi.org/
+ 106. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
+ 107. http://www.iso.ch/
+ 108. ../17_intro/license.html
+ 109. mailto:libstdc++@gcc.gnu.org
diff --git a/libstdc++-v3/docs/html/install.html b/libstdc++-v3/docs/html/install.html
index e4295aaa4de..e7e495ade9d 100644
--- a/libstdc++-v3/docs/html/install.html
+++ b/libstdc++-v3/docs/html/install.html
@@ -16,13 +16,15 @@
<h1 class="centered"><a name="top">libstdc++-v3 INSTALL</a></h1>
-<p>The latest version of this document is always available at
+<p class="fineprint"><em>
+ The latest version of this document is always available at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/install.html">
http://gcc.gnu.org/onlinedocs/libstdc++/install.html</a>.
-</p>
+</em></p>
-<p>To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
-</p>
+<p><em>
+ To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</a>.
+</em></p>
<!-- ####################################################### -->
@@ -99,7 +101,8 @@
<dd>If gcc 3.1.0 or later on is being used on linux, an attempt
will be made to use "C" library functionality necessary for C++
- named locale support.
+ named locale support. For gcc 3.2.1 and later, this means that
+ glibc 2.2.5 or later is required.
<p>
The configure option --enable-clocale can be used force a
@@ -108,9 +111,27 @@
<p>
If the 'gnu' locale model is being used, the following locales
- are used and tested in the libstdc++ testsuites: en_HK, en_US,
- fr_FR, fr_FR@euro, de_DE, de_DE@euro, ja_JP.eucjp, es_MX, en_PH,
- and it_IT. Failure to have the underlying "C" library locale
+ are used and tested in the libstdc++ testsuites. The first column
+ is the name of the locale, the second is the character set it is
+ expected to use.
+ </p>
+<pre>
+de_DE ISO-8859-1
+de_DE@euro ISO-8859-15
+en_HK ISO-8859-1
+en_PH ISO-8859-1
+en_US ISO-8859-1
+en_US.ISO-8859-1 ISO-8859-1
+en_US.ISO-8859-15 ISO-8859-15
+en_US.UTF-8 UTF-8
+es_MX ISO-8859-1
+fr_FR ISO-8859-1
+fr_FR@euro ISO-8859-15
+it_IT ISO-8859-1
+ja_JP.eucjp EUC-JP
+se_NO.UTF-8 UTF-8
+</pre>
+ <p>Failure to have the underlying "C" library locale
information installed will mean that C++ named locales for the
above regions will not work: because of this, the libstdc++
testsuite will not pass the named locale tests. If this isn't an
@@ -120,17 +141,34 @@
necessary.
</p>
- <p> To install
- support for locales, do only one of the following: </p>
+ <p>To install support for locales, do only one of the following:
+ </p>
+
<ul>
<li> install all locales
+ <ul>
+ <li>with RedHat Linux:
<p> <code> export LC_ALL=C </code> </p>
<p> <code> rpm -e glibc-common --nodeps </code> </p>
<p> <code> rpm -i --define "_install_langs all"
glibc-common-2.2.5-34.i386.rpm </code> </p>
+ </li>
+ <li> (instructions for other operating systems solicited) </li>
+ </ul>
</li>
<li> install just the necessary locales
+ <ul>
+ <li>with Debian Linux:
+ <p> Add the above list, as shown, to the file
+ <code>/etc/locale.gen</code> </p>
+ <p> run <code>/usr/sbin/locale-gen</code> </p>
+ </li>
+ <li> on most Unix-like operating systems:
<p> <code> localedef -i de_DE -f ISO-8859-1 de_DE </code> </p>
+ <p> (repeat for each entry in the above list) </p>
+ </li>
+ <li> (instructions for other operating systems solicited) </li>
+ </ul>
</li>
</ul>
</dd>
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index da7646aed05..906468d590e 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the include subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+## Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
@@ -31,6 +31,75 @@ CXX = @glibcpp_CXX@
glibcpp_srcdir=@glibcpp_srcdir@
glibcpp_builddir=@glibcpp_builddir@
+GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
+LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
+INCLUDES = -nostdinc++ $(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES)
+
+# Standard C++ includes.
+std_srcdir = ${glibcpp_srcdir}/include/std
+std_builddir = .
+std_headers = \
+ ${std_srcdir}/std_algorithm.h \
+ ${std_srcdir}/std_bitset.h \
+ ${std_srcdir}/std_complex.h \
+ ${std_srcdir}/std_deque.h \
+ ${std_srcdir}/std_fstream.h \
+ ${std_srcdir}/std_functional.h \
+ ${std_srcdir}/std_iomanip.h \
+ ${std_srcdir}/std_ios.h \
+ ${std_srcdir}/std_iosfwd.h \
+ ${std_srcdir}/std_iostream.h \
+ ${std_srcdir}/std_istream.h \
+ ${std_srcdir}/std_iterator.h \
+ ${std_srcdir}/std_limits.h \
+ ${std_srcdir}/std_list.h \
+ ${std_srcdir}/std_locale.h \
+ ${std_srcdir}/std_map.h \
+ ${std_srcdir}/std_memory.h \
+ ${std_srcdir}/std_numeric.h \
+ ${std_srcdir}/std_ostream.h \
+ ${std_srcdir}/std_queue.h \
+ ${std_srcdir}/std_set.h \
+ ${std_srcdir}/std_sstream.h \
+ ${std_srcdir}/std_stack.h \
+ ${std_srcdir}/std_stdexcept.h \
+ ${std_srcdir}/std_streambuf.h \
+ ${std_srcdir}/std_string.h \
+ ${std_srcdir}/std_utility.h \
+ ${std_srcdir}/std_valarray.h \
+ ${std_srcdir}/std_vector.h
+# Renamed at build time.
+std_headers_rename = \
+ algorithm \
+ bitset \
+ complex \
+ deque \
+ fstream \
+ functional \
+ iomanip \
+ ios \
+ iosfwd \
+ iostream \
+ istream \
+ iterator \
+ limits \
+ list \
+ locale \
+ map \
+ memory \
+ numeric \
+ ostream \
+ queue \
+ set \
+ sstream \
+ stack \
+ stdexcept \
+ streambuf \
+ string \
+ utility \
+ valarray \
+ vector
+
bits_srcdir = ${glibcpp_srcdir}/include/bits
bits_builddir = ./bits
bits_headers = \
@@ -53,6 +122,7 @@ bits_headers = \
${bits_srcdir}/ios_base.h \
${bits_srcdir}/istream.tcc \
${bits_srcdir}/list.tcc \
+ ${bits_srcdir}/locale_classes.h \
${bits_srcdir}/locale_facets.h \
${bits_srcdir}/locale_facets.tcc \
${bits_srcdir}/localefwd.h \
@@ -239,71 +309,6 @@ else
c_compatibility_headers_extra =
endif
-
-std_srcdir = ${glibcpp_srcdir}/include/std
-std_builddir = .
-std_headers = \
- ${std_srcdir}/std_algorithm.h \
- ${std_srcdir}/std_bitset.h \
- ${std_srcdir}/std_complex.h \
- ${std_srcdir}/std_deque.h \
- ${std_srcdir}/std_fstream.h \
- ${std_srcdir}/std_functional.h \
- ${std_srcdir}/std_iomanip.h \
- ${std_srcdir}/std_ios.h \
- ${std_srcdir}/std_iosfwd.h \
- ${std_srcdir}/std_iostream.h \
- ${std_srcdir}/std_istream.h \
- ${std_srcdir}/std_iterator.h \
- ${std_srcdir}/std_limits.h \
- ${std_srcdir}/std_list.h \
- ${std_srcdir}/std_locale.h \
- ${std_srcdir}/std_map.h \
- ${std_srcdir}/std_memory.h \
- ${std_srcdir}/std_numeric.h \
- ${std_srcdir}/std_ostream.h \
- ${std_srcdir}/std_queue.h \
- ${std_srcdir}/std_set.h \
- ${std_srcdir}/std_sstream.h \
- ${std_srcdir}/std_stack.h \
- ${std_srcdir}/std_stdexcept.h \
- ${std_srcdir}/std_streambuf.h \
- ${std_srcdir}/std_string.h \
- ${std_srcdir}/std_utility.h \
- ${std_srcdir}/std_valarray.h \
- ${std_srcdir}/std_vector.h
-# Renamed at build time.
-std_headers_rename = \
- algorithm \
- bitset \
- complex \
- deque \
- fstream \
- functional \
- iomanip \
- ios \
- iosfwd \
- iostream \
- istream \
- iterator \
- limits \
- list \
- locale \
- map \
- memory \
- numeric \
- ostream \
- queue \
- set \
- sstream \
- stack \
- stdexcept \
- streambuf \
- string \
- utility \
- valarray \
- vector
-
target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
target_builddir = ./${target_alias}/bits
target_headers = \
@@ -312,6 +317,11 @@ target_headers = \
${target_srcdir}/ctype_noninline.h \
${target_srcdir}/os_defines.h \
${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h
+
+# Non-installed target_header files.
+target_headers_noinst = \
+ ${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@
+
# These target_headers_extra files are all built with ad hoc naming rules.
target_headers_extra = \
${target_builddir}/basic_file.h \
@@ -319,6 +329,7 @@ target_headers_extra = \
${target_builddir}/c++io.h \
${target_builddir}/c++locale.h \
${target_builddir}/messages_members.h \
+ ${target_builddir}/time_members.h \
${target_builddir}/codecvt_specializations.h
thread_target_headers = \
@@ -331,9 +342,7 @@ thread_target_headers = \
# CLEANFILES and all-local are kept up-to-date.
allstamps = \
stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
- stamp-backward stamp-ext \
- ${target_builddir}/stamp-target
-
+ stamp-backward stamp-ext stamp-target
# Here are the rules for building the headers
all-local: ${target_builddir}/c++config.h ${thread_target_headers} ${allstamps}
@@ -350,6 +359,12 @@ stamp-std: ${std_headers}
done) ;\
echo `date` > stamp-std
+stamp-std-precompile: stamp-std
+ for h in ${std_headers_rename}; do \
+ $(CXX) -Winvalid-pch -x c++-header $(INCLUDES) $${h}; \
+ done; \
+ echo `date` > stamp-std-precompile
+
stamp-bits: ${bits_headers}
@if [ ! -d "${bits_builddir}" ]; then \
mkdir -p ${bits_builddir} ;\
@@ -400,16 +415,19 @@ stamp-${target_alias}:
fi
# Target includes static.
-${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias}
- @cd ${target_builddir} ;\
- if [ ! -f stamp-target ]; then \
+# XXX Missing dependency info for {target_headers_extra}
+stamp-target: ${target_headers} ${target_headers_noinst} stamp-${target_alias}
+ @if [ ! -f stamp-target ]; then \
+ (cd ${target_builddir} ;\
@LN_S@ ${target_headers} . || true ;\
@LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\
+ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@ . || true ;\
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\
- @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true ;\
- echo `date` > stamp-target; \
+ @LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h || true ;\
+ @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true);\
+ echo `date` > stamp-target ; \
fi
# Target includes dynamic.
@@ -464,35 +482,35 @@ ${target_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \
# the rest are taken from the original source tree.
gxx_include_dir = @gxx_include_dir@
install-data-local:
- $(mkinstalldirs) ${gxx_include_dir}
- $(mkinstalldirs) ${gxx_include_dir}/${bits_builddir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
for file in ${bits_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${bits_builddir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${backward_builddir}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
for file in ${backward_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${backward_builddir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${ext_builddir}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
for file in ${ext_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${c_base_builddir}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
for file in ${c_base_headers_rename}; do \
- $(INSTALL_DATA) ${c_base_builddir}/$${file} ${gxx_include_dir}; done
+ $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
c_base_headers_extra_install='$(c_base_headers_extra)';\
for file in $$c_base_headers_extra_install; do \
- $(INSTALL_DATA) $$file ${gxx_include_dir}/${bits_builddir}; done
+ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
for file in $$c_compatibility_headers_install; do \
- $(INSTALL_DATA) $$file ${gxx_include_dir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${std_builddir}
+ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
for file in ${std_headers_rename}; do \
- $(INSTALL_DATA) ${std_builddir}/$${file} ${gxx_include_dir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${target_builddir}
+ $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${target_builddir}
for file in ${target_headers} ${target_headers_extra} \
${thread_target_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${target_builddir}; done
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done
# By adding these files here, automake will remove them for 'make clean'
-#CLEANFILES = ${allstamps}
+CLEANFILES = *.pch stamp-std-precompile
# Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 5441e974d4f..cc7e3a5031c 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,14 +67,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DEBUG_FLAGS = @DEBUG_FLAGS@
@@ -83,12 +94,10 @@ EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@
-GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
-LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
LIBTOOL = @LIBTOOL@
LIBUNWIND_FLAG = @LIBUNWIND_FLAG@
@@ -105,6 +114,7 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -137,6 +147,77 @@ CXX = @glibcpp_CXX@
glibcpp_srcdir = @glibcpp_srcdir@
glibcpp_builddir = @glibcpp_builddir@
+GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
+LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
+INCLUDES = -nostdinc++ $(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES)
+
+# Standard C++ includes.
+std_srcdir = ${glibcpp_srcdir}/include/std
+std_builddir = .
+std_headers = \
+ ${std_srcdir}/std_algorithm.h \
+ ${std_srcdir}/std_bitset.h \
+ ${std_srcdir}/std_complex.h \
+ ${std_srcdir}/std_deque.h \
+ ${std_srcdir}/std_fstream.h \
+ ${std_srcdir}/std_functional.h \
+ ${std_srcdir}/std_iomanip.h \
+ ${std_srcdir}/std_ios.h \
+ ${std_srcdir}/std_iosfwd.h \
+ ${std_srcdir}/std_iostream.h \
+ ${std_srcdir}/std_istream.h \
+ ${std_srcdir}/std_iterator.h \
+ ${std_srcdir}/std_limits.h \
+ ${std_srcdir}/std_list.h \
+ ${std_srcdir}/std_locale.h \
+ ${std_srcdir}/std_map.h \
+ ${std_srcdir}/std_memory.h \
+ ${std_srcdir}/std_numeric.h \
+ ${std_srcdir}/std_ostream.h \
+ ${std_srcdir}/std_queue.h \
+ ${std_srcdir}/std_set.h \
+ ${std_srcdir}/std_sstream.h \
+ ${std_srcdir}/std_stack.h \
+ ${std_srcdir}/std_stdexcept.h \
+ ${std_srcdir}/std_streambuf.h \
+ ${std_srcdir}/std_string.h \
+ ${std_srcdir}/std_utility.h \
+ ${std_srcdir}/std_valarray.h \
+ ${std_srcdir}/std_vector.h
+
+# Renamed at build time.
+std_headers_rename = \
+ algorithm \
+ bitset \
+ complex \
+ deque \
+ fstream \
+ functional \
+ iomanip \
+ ios \
+ iosfwd \
+ iostream \
+ istream \
+ iterator \
+ limits \
+ list \
+ locale \
+ map \
+ memory \
+ numeric \
+ ostream \
+ queue \
+ set \
+ sstream \
+ stack \
+ stdexcept \
+ streambuf \
+ string \
+ utility \
+ valarray \
+ vector
+
+
bits_srcdir = ${glibcpp_srcdir}/include/bits
bits_builddir = ./bits
bits_headers = \
@@ -159,6 +240,7 @@ bits_headers = \
${bits_srcdir}/ios_base.h \
${bits_srcdir}/istream.tcc \
${bits_srcdir}/list.tcc \
+ ${bits_srcdir}/locale_classes.h \
${bits_srcdir}/locale_facets.h \
${bits_srcdir}/locale_facets.tcc \
${bits_srcdir}/localefwd.h \
@@ -340,72 +422,6 @@ c_compatibility_headers = \
@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = @GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@${c_compatibility_headers}
@GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra =
-std_srcdir = ${glibcpp_srcdir}/include/std
-std_builddir = .
-std_headers = \
- ${std_srcdir}/std_algorithm.h \
- ${std_srcdir}/std_bitset.h \
- ${std_srcdir}/std_complex.h \
- ${std_srcdir}/std_deque.h \
- ${std_srcdir}/std_fstream.h \
- ${std_srcdir}/std_functional.h \
- ${std_srcdir}/std_iomanip.h \
- ${std_srcdir}/std_ios.h \
- ${std_srcdir}/std_iosfwd.h \
- ${std_srcdir}/std_iostream.h \
- ${std_srcdir}/std_istream.h \
- ${std_srcdir}/std_iterator.h \
- ${std_srcdir}/std_limits.h \
- ${std_srcdir}/std_list.h \
- ${std_srcdir}/std_locale.h \
- ${std_srcdir}/std_map.h \
- ${std_srcdir}/std_memory.h \
- ${std_srcdir}/std_numeric.h \
- ${std_srcdir}/std_ostream.h \
- ${std_srcdir}/std_queue.h \
- ${std_srcdir}/std_set.h \
- ${std_srcdir}/std_sstream.h \
- ${std_srcdir}/std_stack.h \
- ${std_srcdir}/std_stdexcept.h \
- ${std_srcdir}/std_streambuf.h \
- ${std_srcdir}/std_string.h \
- ${std_srcdir}/std_utility.h \
- ${std_srcdir}/std_valarray.h \
- ${std_srcdir}/std_vector.h
-
-# Renamed at build time.
-std_headers_rename = \
- algorithm \
- bitset \
- complex \
- deque \
- fstream \
- functional \
- iomanip \
- ios \
- iosfwd \
- iostream \
- istream \
- iterator \
- limits \
- list \
- locale \
- map \
- memory \
- numeric \
- ostream \
- queue \
- set \
- sstream \
- stack \
- stdexcept \
- streambuf \
- string \
- utility \
- valarray \
- vector
-
-
target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
target_builddir = ./${target_alias}/bits
target_headers = \
@@ -415,6 +431,12 @@ target_headers = \
${target_srcdir}/os_defines.h \
${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h
+
+# Non-installed target_header files.
+target_headers_noinst = \
+ ${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@
+
+
# These target_headers_extra files are all built with ad hoc naming rules.
target_headers_extra = \
${target_builddir}/basic_file.h \
@@ -422,6 +444,7 @@ target_headers_extra = \
${target_builddir}/c++io.h \
${target_builddir}/c++locale.h \
${target_builddir}/messages_members.h \
+ ${target_builddir}/time_members.h \
${target_builddir}/codecvt_specializations.h
@@ -436,8 +459,7 @@ thread_target_headers = \
# CLEANFILES and all-local are kept up-to-date.
allstamps = \
stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
- stamp-backward stamp-ext \
- ${target_builddir}/stamp-target
+ stamp-backward stamp-ext stamp-target
# Target includes for threads
@@ -453,6 +475,9 @@ uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
# target_headers_extra are taken out of the build tree staging area;
# the rest are taken from the original source tree.
gxx_include_dir = @gxx_include_dir@
+
+# By adding these files here, automake will remove them for 'make clean'
+CLEANFILES = *.pch stamp-std-precompile
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = Makefile.am Makefile.in
@@ -521,6 +546,7 @@ installdirs:
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
@@ -570,6 +596,12 @@ stamp-std: ${std_headers}
done) ;\
echo `date` > stamp-std
+stamp-std-precompile: stamp-std
+ for h in ${std_headers_rename}; do \
+ $(CXX) -Winvalid-pch -x c++-header $(INCLUDES) $${h}; \
+ done; \
+ echo `date` > stamp-std-precompile
+
stamp-bits: ${bits_headers}
@if [ ! -d "${bits_builddir}" ]; then \
mkdir -p ${bits_builddir} ;\
@@ -620,16 +652,19 @@ stamp-${target_alias}:
fi
# Target includes static.
-${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias}
- @cd ${target_builddir} ;\
- if [ ! -f stamp-target ]; then \
+# XXX Missing dependency info for {target_headers_extra}
+stamp-target: ${target_headers} ${target_headers_noinst} stamp-${target_alias}
+ @if [ ! -f stamp-target ]; then \
+ (cd ${target_builddir} ;\
@LN_S@ ${target_headers} . || true ;\
@LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\
+ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@ . || true ;\
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\
- @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true ;\
- echo `date` > stamp-target; \
+ @LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h || true ;\
+ @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true);\
+ echo `date` > stamp-target ; \
fi
# Target includes dynamic.
@@ -670,35 +705,32 @@ ${target_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${toplevel_srcdir}/gcc/${glibcpp_thread_h} > $@
install-data-local:
- $(mkinstalldirs) ${gxx_include_dir}
- $(mkinstalldirs) ${gxx_include_dir}/${bits_builddir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
for file in ${bits_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${bits_builddir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${backward_builddir}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
for file in ${backward_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${backward_builddir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${ext_builddir}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
for file in ${ext_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${c_base_builddir}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
for file in ${c_base_headers_rename}; do \
- $(INSTALL_DATA) ${c_base_builddir}/$${file} ${gxx_include_dir}; done
+ $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
c_base_headers_extra_install='$(c_base_headers_extra)';\
for file in $$c_base_headers_extra_install; do \
- $(INSTALL_DATA) $$file ${gxx_include_dir}/${bits_builddir}; done
+ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
for file in $$c_compatibility_headers_install; do \
- $(INSTALL_DATA) $$file ${gxx_include_dir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${std_builddir}
+ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
for file in ${std_headers_rename}; do \
- $(INSTALL_DATA) ${std_builddir}/$${file} ${gxx_include_dir}; done
- $(mkinstalldirs) ${gxx_include_dir}/${target_builddir}
+ $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${target_builddir}
for file in ${target_headers} ${target_headers_extra} \
${thread_target_headers}; do \
- $(INSTALL_DATA) $${file} ${gxx_include_dir}/${target_builddir}; done
-
-# By adding these files here, automake will remove them for 'make clean'
-#CLEANFILES = ${allstamps}
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done
# Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled
diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h
index b6ef89ba8b0..fe5e36a4fd7 100644
--- a/libstdc++-v3/include/bits/basic_ios.h
+++ b/libstdc++-v3/include/bits/basic_ios.h
@@ -1,6 +1,7 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,6 +39,8 @@
#pragma GCC system_header
#include <bits/streambuf_iterator.h>
+#include <bits/localefwd.h>
+#include <bits/locale_classes.h>
#include <bits/locale_facets.h>
namespace std
@@ -78,6 +81,8 @@ namespace std
typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter;
typedef num_get<_CharT, __istreambuf_iter> __numget_type;
//@}
+
+ friend void ios_base::Init::_S_ios_create(bool);
// Data members:
protected:
@@ -415,7 +420,9 @@ namespace std
* @brief All setup is performed here.
*
* This is called from the public constructor. It is not virtual and
- * cannot be redefined.
+ * cannot be redefined. The second argument, __cache, is used
+ * to initialize the standard streams without allocating
+ * memory.
*/
void
init(basic_streambuf<_CharT, _Traits>* __sb);
@@ -429,7 +436,18 @@ namespace std
}
void
+ _M_cache_locale(const locale& __loc);
+
+#if 1
+ // XXX GLIBCXX_ABI Deprecated, compatibility only.
+ void
_M_cache_facets(const locale& __loc);
+#endif
+
+ // Internal state setter that won't throw, only set the state bits.
+ // Used to guarantee we don't throw when setting badbit.
+ void
+ _M_setstate(iostate __state) { _M_streambuf_state |= __state; }
};
} // namespace std
diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc
index 7ee8015e29f..1c9cd3b7256 100644
--- a/libstdc++-v3/include/bits/basic_ios.tcc
+++ b/libstdc++-v3/include/bits/basic_ios.tcc
@@ -1,6 +1,6 @@
// basic_ios locale and locale-related member functions -*- C++ -*-
-// Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -95,10 +95,17 @@ namespace std
this->precision(__rhs.precision());
this->tie(__rhs.tie());
this->fill(__rhs.fill());
+ _M_ios_locale = __rhs.getloc();
+
+ // This removes the link to __rhs locale cache
+ _M_call_callbacks(copyfmt_event);
+
+ _M_cache_locale(_M_ios_locale);
+
+
// The next is required to be the last assignment.
this->exceptions(__rhs.exceptions());
- _M_call_callbacks(copyfmt_event);
return *this;
}
@@ -129,7 +136,7 @@ namespace std
{
locale __old(this->getloc());
ios_base::imbue(__loc);
- _M_cache_facets(__loc);
+ _M_cache_locale(__loc);
if (this->rdbuf() != 0)
this->rdbuf()->pubimbue(__loc);
return __old;
@@ -141,7 +148,7 @@ namespace std
{
// NB: This may be called more than once on the same object.
ios_base::_M_init();
- _M_cache_facets(_M_ios_locale);
+ _M_cache_locale(_M_ios_locale);
_M_tie = 0;
// NB: The 27.4.4.1 Postconditions Table specifies requirements
@@ -166,31 +173,47 @@ namespace std
template<typename _CharT, typename _Traits>
void
- basic_ios<_CharT, _Traits>::_M_cache_facets(const locale& __loc)
+ basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
{
- if (has_facet<__ctype_type>(__loc))
+ if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
_M_fctype = &use_facet<__ctype_type>(__loc);
else
_M_fctype = 0;
- // Should be filled in by ostream and istream, respectively.
- if (has_facet<__numput_type>(__loc))
+ if (__builtin_expect(has_facet<__numput_type>(__loc), true))
_M_fnumput = &use_facet<__numput_type>(__loc);
else
_M_fnumput = 0;
- if (has_facet<__numget_type>(__loc))
- _M_fnumget = &use_facet<__numget_type>(__loc);
+ if (__builtin_expect(has_facet<__numget_type>(__loc), true))
+ _M_fnumget = &use_facet<__numget_type>(__loc);
else
_M_fnumget = 0;
}
+#if 1
+ // XXX GLIBCXX_ABI Deprecated, compatibility only.
+ template<typename _CharT, typename _Traits>
+ void
+ basic_ios<_CharT, _Traits>::_M_cache_facets(const locale& __loc)
+ {
+ if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
+ _M_fctype = &use_facet<__ctype_type>(__loc);
+ if (__builtin_expect(has_facet<__numput_type>(__loc), true))
+ _M_fnumput = &use_facet<__numput_type>(__loc);
+ if (__builtin_expect(has_facet<__numget_type>(__loc), true))
+ _M_fnumget = &use_facet<__numget_type>(__loc);
+ }
+#endif
+
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class basic_ios<char>;
#ifdef _GLIBCPP_USE_WCHAR_T
extern template class basic_ios<wchar_t>;
#endif
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index fd56bb81ea0..e92009dc9d7 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -499,37 +499,10 @@ namespace std
assign(const basic_string& __str);
basic_string&
- assign(const basic_string& __str, size_type __pos, size_type __n)
- {
- const size_type __strsize = __str.size();
- if (__pos > __strsize)
- __throw_out_of_range("basic_string::assign");
- const bool __testn = __n < __strsize - __pos;
- const size_type __newsize = __testn ? __n : __strsize - __pos;
- return this->assign(__str._M_data() + __pos, __newsize);
- }
+ assign(const basic_string& __str, size_type __pos, size_type __n);
basic_string&
- assign(const _CharT* __s, size_type __n)
- {
- if (__n > this->max_size())
- __throw_length_error("basic_string::assign");
- if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data())
- || less<const _CharT*>()(_M_data() + this->size(), __s))
- return _M_replace_safe(_M_ibegin(), _M_iend(), __s, __s + __n);
- else
- {
- // Work in-place
- const size_type __pos = __s - _M_data();
- if (__pos >= __n)
- traits_type::copy(_M_data(), __s, __n);
- else if (__pos)
- traits_type::move(_M_data(), __s, __n);
- _M_rep()->_M_length = __n;
- _M_data()[__n] = _Rep::_S_terminal;
- return *this;
- }
- }
+ assign(const _CharT* __s, size_type __n);
basic_string&
assign(const _CharT* __s)
@@ -558,49 +531,10 @@ namespace std
basic_string&
insert(size_type __pos1, const basic_string& __str,
- size_type __pos2, size_type __n)
- {
- const size_type __strsize = __str.size();
- if (__pos2 > __strsize)
- __throw_out_of_range("basic_string::insert");
- const bool __testn = __n < __strsize - __pos2;
- const size_type __newsize = __testn ? __n : __strsize - __pos2;
- return this->insert(__pos1, __str._M_data() + __pos2, __newsize);
- }
+ size_type __pos2, size_type __n);
basic_string&
- insert(size_type __pos, const _CharT* __s, size_type __n)
- {
- const size_type __size = this->size();
- if (__pos > __size)
- __throw_out_of_range("basic_string::insert");
- if (__size > this->max_size() - __n)
- __throw_length_error("basic_string::insert");
- if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data())
- || less<const _CharT*>()(_M_data() + __size, __s))
- return _M_replace_safe(_M_ibegin() + __pos, _M_ibegin() + __pos,
- __s, __s + __n);
- else
- {
- // Work in-place. If _M_mutate reallocates the string, __s
- // does not point anymore to valid data, therefore we save its
- // offset, then we restore it.
- const size_type __off = __s - _M_data();
- _M_mutate(__pos, 0, __n);
- __s = _M_data() + __off;
- _CharT* __p = _M_data() + __pos;
- if (__s + __n <= __p)
- traits_type::copy(__p, __s, __n);
- else if (__s >= __p)
- traits_type::copy(__p, __s + __n, __n);
- else
- {
- traits_type::copy(__p, __s, __p - __s);
- traits_type::copy(__p + (__p - __s), __p + __n, __n - (__p - __s));
- }
- return *this;
- }
- }
+ insert(size_type __pos, const _CharT* __s, size_type __n);
basic_string&
insert(size_type __pos, const _CharT* __s)
@@ -657,25 +591,7 @@ namespace std
basic_string&
replace(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2)
- {
- const size_type __size = this->size();
- if (__pos > __size)
- __throw_out_of_range("basic_string::replace");
- const bool __testn1 = __n1 < __size - __pos;
- const size_type __foldn1 = __testn1 ? __n1 : __size - __pos;
- if (__size - __foldn1 > this->max_size() - __n2)
- __throw_length_error("basic_string::replace");
- if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data())
- || less<const _CharT*>()(_M_data() + __size, __s))
- return _M_replace_safe(_M_ibegin() + __pos,
- _M_ibegin() + __pos + __foldn1, __s, __s + __n2);
- // Todo: optimized in-place replace.
- else return
- _M_replace(_M_ibegin() + __pos, _M_ibegin() + __pos + __foldn1,
- __s, __s + __n2,
- typename iterator_traits<const _CharT*>::iterator_category());
- }
+ size_type __n2);
basic_string&
replace(size_type __pos, size_type __n1, const _CharT* __s)
@@ -930,7 +846,7 @@ namespace std
compare(const _CharT* __s) const;
// _GLIBCPP_RESOLVE_LIB_DEFECTS
- // 5. String::compare specification questionable
+ // 5 String::compare specification questionable
int
compare(size_type __pos, size_type __n1, const _CharT* __s) const;
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 70dd991ea3e..d3f1e8e3605 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -254,6 +254,117 @@ namespace std
}
return *this;
}
+
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ basic_string<_CharT, _Traits, _Alloc>&
+ basic_string<_CharT, _Traits, _Alloc>::
+ assign(const basic_string& __str, size_type __pos, size_type __n)
+ {
+ const size_type __strsize = __str.size();
+ if (__pos > __strsize)
+ __throw_out_of_range("basic_string::assign");
+ const bool __testn = __n < __strsize - __pos;
+ const size_type __newsize = __testn ? __n : __strsize - __pos;
+ return this->assign(__str._M_data() + __pos, __newsize);
+ }
+
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ basic_string<_CharT, _Traits, _Alloc>&
+ basic_string<_CharT, _Traits, _Alloc>::
+ assign(const _CharT* __s, size_type __n)
+ {
+ if (__n > this->max_size())
+ __throw_length_error("basic_string::assign");
+ if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data())
+ || less<const _CharT*>()(_M_data() + this->size(), __s))
+ return _M_replace_safe(_M_ibegin(), _M_iend(), __s, __s + __n);
+ else
+ {
+ // Work in-place
+ const size_type __pos = __s - _M_data();
+ if (__pos >= __n)
+ traits_type::copy(_M_data(), __s, __n);
+ else if (__pos)
+ traits_type::move(_M_data(), __s, __n);
+ _M_rep()->_M_length = __n;
+ _M_data()[__n] = _Rep::_S_terminal; // grr.
+ return *this;
+ }
+ }
+
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ basic_string<_CharT, _Traits, _Alloc>&
+ basic_string<_CharT, _Traits, _Alloc>::
+ insert(size_type __pos1, const basic_string& __str,
+ size_type __pos2, size_type __n)
+ {
+ const size_type __strsize = __str.size();
+ if (__pos2 > __strsize)
+ __throw_out_of_range("basic_string::insert");
+ const bool __testn = __n < __strsize - __pos2;
+ const size_type __newsize = __testn ? __n : __strsize - __pos2;
+ return this->insert(__pos1, __str._M_data() + __pos2, __newsize);
+ }
+
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ basic_string<_CharT, _Traits, _Alloc>&
+ basic_string<_CharT, _Traits, _Alloc>::
+ insert(size_type __pos, const _CharT* __s, size_type __n)
+ {
+ const size_type __size = this->size();
+ if (__pos > __size)
+ __throw_out_of_range("basic_string::insert");
+ if (__size > this->max_size() - __n)
+ __throw_length_error("basic_string::insert");
+ if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data())
+ || less<const _CharT*>()(_M_data() + __size, __s))
+ return _M_replace_safe(_M_ibegin() + __pos, _M_ibegin() + __pos,
+ __s, __s + __n);
+ else
+ {
+ // Work in-place. If _M_mutate reallocates the string, __s
+ // does not point anymore to valid data, therefore we save its
+ // offset, then we restore it.
+ const size_type __off = __s - _M_data();
+ _M_mutate(__pos, 0, __n);
+ __s = _M_data() + __off;
+ _CharT* __p = _M_data() + __pos;
+ if (__s + __n <= __p)
+ traits_type::copy(__p, __s, __n);
+ else if (__s >= __p)
+ traits_type::copy(__p, __s + __n, __n);
+ else
+ {
+ traits_type::copy(__p, __s, __p - __s);
+ traits_type::copy(__p + (__p-__s), __p + __n, __n - (__p-__s));
+ }
+ return *this;
+ }
+ }
+
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ basic_string<_CharT, _Traits, _Alloc>&
+ basic_string<_CharT, _Traits, _Alloc>::
+ replace(size_type __pos, size_type __n1, const _CharT* __s,
+ size_type __n2)
+ {
+ const size_type __size = this->size();
+ if (__pos > __size)
+ __throw_out_of_range("basic_string::replace");
+ const bool __testn1 = __n1 < __size - __pos;
+ const size_type __foldn1 = __testn1 ? __n1 : __size - __pos;
+ if (__size - __foldn1 > this->max_size() - __n2)
+ __throw_length_error("basic_string::replace");
+ if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data())
+ || less<const _CharT*>()(_M_data() + __size, __s))
+ return _M_replace_safe(_M_ibegin() + __pos,
+ _M_ibegin() + __pos + __foldn1, __s, __s + __n2);
+ // Todo: optimized in-place replace.
+ else
+ return _M_replace(_M_ibegin() + __pos, _M_ibegin() + __pos + __foldn1,
+ __s, __s + __n2,
+ typename iterator_traits<const _CharT*>::iterator_category());
+ }
template<typename _CharT, typename _Traits, typename _Alloc>
void
@@ -578,7 +689,8 @@ namespace std
// Iff appending itself, string needs to pre-reserve the
// correct size so that _M_mutate does not clobber the
// iterators formed here.
- size_type __len = std::min(__str.size() - __pos, __n) + this->size();
+ size_type __len = std::min(size_type(__str.size() - __pos),
+ __n) + this->size();
if (__len > this->capacity())
this->reserve(__len);
return _M_replace_safe(_M_iend(), _M_iend(), __str._M_check(__pos),
@@ -709,7 +821,7 @@ namespace std
size_type __size = this->size();
if (__n <= __size)
{
- __pos = std::min(__size - __n, __pos);
+ __pos = std::min(size_type(__size - __n), __pos);
const _CharT* __data = _M_data();
do
{
@@ -848,7 +960,7 @@ namespace std
if (__pos > __size)
__throw_out_of_range("basic_string::compare");
- size_type __rsize= std::min(__size - __pos, __n);
+ size_type __rsize= std::min(size_type(__size - __pos), __n);
size_type __len = std::min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
if (!__r)
@@ -867,8 +979,8 @@ namespace std
if (__pos1 > __size || __pos2 > __osize)
__throw_out_of_range("basic_string::compare");
- size_type __rsize = std::min(__size - __pos1, __n1);
- size_type __rosize = std::min(__osize - __pos2, __n2);
+ size_type __rsize = std::min(size_type(__size - __pos1), __n1);
+ size_type __rosize = std::min(size_type(__osize - __pos2), __n2);
size_type __len = std::min(__rsize, __rosize);
int __r = traits_type::compare(_M_data() + __pos1,
__str.data() + __pos2, __len);
@@ -903,7 +1015,7 @@ namespace std
__throw_out_of_range("basic_string::compare");
size_type __osize = traits_type::length(__s);
- size_type __rsize = std::min(__size - __pos, __n1);
+ size_type __rsize = std::min(size_type(__size - __pos), __n1);
size_type __len = std::min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __s, __len);
if (!__r)
@@ -922,7 +1034,7 @@ namespace std
__throw_out_of_range("basic_string::compare");
size_type __osize = std::min(traits_type::length(__s), __n2);
- size_type __rsize = std::min(__size - __pos, __n1);
+ size_type __rsize = std::min(size_type(__size - __pos), __n1);
size_type __len = std::min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __s, __len);
if (!__r)
@@ -945,6 +1057,7 @@ namespace std
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class basic_string<char>;
extern template
basic_istream<char>&
@@ -974,6 +1087,7 @@ namespace std
basic_istream<wchar_t>&
getline(basic_istream<wchar_t>&, wstring&);
#endif
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 8dbbd9fb823..b291149b639 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -1,6 +1,7 @@
// Predefined symbols and macros -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,10 +35,9 @@
#include <bits/os_defines.h>
// The current version of the C++ library in compressed ISO date format.
-#define __GLIBCPP__ 20021213
+#define __GLIBCPP__ 20030624
-// This is necessary until GCC supports separate template
-// compilation.
+// This is necessary until GCC supports separate template compilation.
#define _GLIBCPP_NO_TEMPLATE_EXPORT 1
// This is a hack around not having either pre-compiled headers or
@@ -49,6 +49,16 @@
// by the compiler, but instead instantiated into the library binary.
#define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1
+// Allow use of the GNU syntax extension, "extern template." This
+// extension is fully documented in the g++ manual, but in a nutshell,
+// it inhibits all implicit instantiations and is used throughout the
+// library to avoid multiple weak definitions for required types that
+// are already explicitly instantiated in the library binary. This
+// substantially reduces the binary size of resulting executables.
+#ifndef _GLIBCPP_EXTERN_TEMPLATE
+#define _GLIBCPP_EXTERN_TEMPLATE 1
+#endif
+
// To enable older, ARM-style iostreams and other anachronisms use this.
//#define _GLIBCPP_DEPRECATED 1
@@ -77,6 +87,13 @@
#error __USE_MALLOC should never be defined. Read the release notes.
#endif
+// Create a boolean flag to be used to determine if --fast-math is set.
+#ifdef __FAST_MATH__
+#define _GLIBCPP_FAST_MATH 1
+#else
+#define _GLIBCPP_FAST_MATH 0
+#endif
+
// The remainder of the prewritten config is mostly automatic; all the
// user hooks are listed above.
diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h
index 92b0f0e8a7d..9ab9f94e71d 100644
--- a/libstdc++-v3/include/bits/codecvt.h
+++ b/libstdc++-v3/include/bits/codecvt.h
@@ -1,6 +1,6 @@
// Locale support (codecvt) -*- C++ -*-
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -164,9 +164,6 @@
typedef _ExternT extern_type;
typedef _StateT state_type;
- protected:
- __c_locale _M_c_locale_codecvt;
-
public:
static locale::id id;
@@ -174,9 +171,6 @@
codecvt(size_t __refs = 0)
: __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { }
- explicit
- codecvt(__c_locale __cloc, size_t __refs = 0);
-
protected:
virtual
~codecvt() { }
@@ -225,18 +219,12 @@
typedef char extern_type;
typedef mbstate_t state_type;
- protected:
- __c_locale _M_c_locale_codecvt;
-
public:
static locale::id id;
explicit
codecvt(size_t __refs = 0);
- explicit
- codecvt(__c_locale __cloc, size_t __refs = 0);
-
protected:
virtual
~codecvt();
@@ -283,18 +271,12 @@
typedef char extern_type;
typedef mbstate_t state_type;
- protected:
- __c_locale _M_c_locale_codecvt;
-
public:
static locale::id id;
explicit
codecvt(size_t __refs = 0);
- explicit
- codecvt(__c_locale __cloc, size_t __refs = 0);
-
protected:
virtual
~codecvt();
@@ -338,13 +320,8 @@
{
public:
explicit
- codecvt_byname(const char* __s, size_t __refs = 0)
- : codecvt<_InternT, _ExternT, _StateT>(__refs)
- {
- if (_M_c_locale_codecvt != _S_c_locale)
- _S_destroy_c_locale(_M_c_locale_codecvt);
- _S_create_c_locale(_M_c_locale_codecvt, __s);
- }
+ codecvt_byname(const char*, size_t __refs = 0)
+ : codecvt<_InternT, _ExternT, _StateT>(__refs) { }
protected:
virtual
diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h
index 92ceefbd685..88877ebf57e 100644
--- a/libstdc++-v3/include/bits/concept_check.h
+++ b/libstdc++-v3/include/bits/concept_check.h
@@ -61,8 +61,7 @@
// Note that the obvious and elegant approach of
//
-//#define glibcpp_function_requires(C) \
-// boost::function_requires< boost::C >()
+//#define glibcpp_function_requires(C) boost::function_requires< boost::C >()
//
// won't work due to concept templates with more than one parameter, e.g.,
// BinaryPredicateConcept. The preprocessor tries to split things up on
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index 387f099ae98..c69ac9c7226 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -1,6 +1,6 @@
// File based streams -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -58,7 +58,7 @@ namespace std
template<typename _CharT, typename _Traits>
void
basic_filebuf<_CharT, _Traits>::
- _M_destroy_internal_buffer()
+ _M_destroy_internal_buffer() throw()
{
if (_M_buf_allocated)
{
@@ -94,16 +94,13 @@ namespace std
// Setup initial position of buffer.
_M_set_indeterminate();
- // Set input buffer to something real.
- // NB: Must open in non-blocking way to do this, or must
- // set the initial position in a different manner than
- // using underflow.
- if (__mode & ios_base::in && _M_buf_allocated)
- this->underflow();
-
if ((__mode & ios_base::ate)
&& this->seekoff(0, ios_base::end, __mode) < 0)
- this->close();
+ {
+ // 27.8.1.3,4
+ this->close();
+ return __ret;
+ }
__ret = this;
}
@@ -114,35 +111,46 @@ namespace std
template<typename _CharT, typename _Traits>
typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
basic_filebuf<_CharT, _Traits>::
- close()
+ close() throw()
{
- __filebuf_type *__ret = NULL;
+ __filebuf_type* __ret = NULL;
if (this->is_open())
{
- const int_type __eof = traits_type::eof();
- bool __testput = _M_out_cur && _M_out_beg < _M_out_end;
- if (__testput
- && traits_type::eq_int_type(_M_really_overflow(__eof), __eof))
- return __ret;
+ bool __testfail = false;
+ try
+ {
+ const int_type __eof = traits_type::eof();
+ bool __testput = _M_out_cur && _M_out_beg < _M_out_end;
+ if (__testput
+ && traits_type::eq_int_type(_M_really_overflow(__eof),
+ __eof))
+ __testfail = true;
+
+#if 0
+ // XXX not done
+ if (_M_last_overflowed)
+ {
+ _M_output_unshift();
+ _M_really_overflow(__eof);
+ }
+#endif
+ }
+ catch(...)
+ {
+ __testfail = true;
+ }
// NB: Do this here so that re-opened filebufs will be cool...
- _M_mode = ios_base::openmode(0);
+ this->_M_mode = ios_base::openmode(0);
_M_destroy_internal_buffer();
_M_pback_destroy();
-
-#if 0
- // XXX not done
- if (_M_last_overflowed)
- {
- _M_output_unshift();
- _M_really_overflow(__eof);
- }
-#endif
- if (_M_file.close())
+ if (!_M_file.close())
+ __testfail = true;
+
+ if (!__testfail)
__ret = this;
}
-
_M_last_overflowed = false;
return __ret;
}
@@ -154,9 +162,16 @@ namespace std
{
streamsize __ret = -1;
bool __testin = _M_mode & ios_base::in;
+ const locale __loc = this->getloc();
+ const __codecvt_type& __cvt = use_facet<__codecvt_type>(__loc);
if (__testin && this->is_open())
- __ret = _M_in_end - _M_in_cur;
+ {
+ __ret = _M_in_end - _M_in_cur;
+ if (__cvt.always_noconv())
+ __ret += _M_file.showmanyc_helper();
+ }
+
_M_last_overflowed = false;
return __ret;
}
@@ -208,21 +223,26 @@ namespace std
}
else
{
- // At the beginning of the buffer, need to make a
- // putback position available.
- this->seekoff(-1, ios_base::cur);
- this->underflow();
- if (!__testeof)
+ // At the beginning of the buffer, need to make a
+ // putback position available.
+ // But the seek may fail (f.i., at the beginning of
+ // a file, see libstdc++/9439) and in that case
+ // we return traits_type::eof()
+ if (this->seekoff(-1, ios_base::cur) >= 0)
{
- if (!traits_type::eq(__c, *_M_in_cur))
- {
- _M_pback_create();
- *_M_in_cur = __c;
- }
- __ret = __i;
+ this->underflow();
+ if (!__testeof)
+ {
+ if (!traits_type::eq(__c, *_M_in_cur))
+ {
+ _M_pback_create();
+ *_M_in_cur = __c;
+ }
+ __ret = __i;
+ }
+ else
+ __ret = traits_type::not_eof(__i);
}
- else
- __ret = traits_type::not_eof(__i);
}
}
_M_last_overflowed = false;
@@ -240,7 +260,9 @@ namespace std
if (__testout)
{
- if (__testput)
+ if (traits_type::eq_int_type(__c, traits_type::eof()))
+ __ret = traits_type::not_eof(__c);
+ else if (__testput)
{
*_M_out_cur = traits_type::to_char_type(__c);
_M_out_cur_move(1);
@@ -278,14 +300,23 @@ namespace std
char* __buf = static_cast<char*>(__builtin_alloca(__blen));
char* __bend;
const char_type* __iend;
- __res_type __r = __cvt.out(_M_state_cur, __ibuf, __ibuf + __ilen,
- __iend, __buf, __buf + __blen, __bend);
- // Result == ok, partial, noconv
- if (__r != codecvt_base::error)
+ codecvt_base::result __r;
+ __r = __cvt.out(_M_state_cur, __ibuf, __ibuf + __ilen,
+ __iend, __buf, __buf + __blen, __bend);
+
+ if (__r == codecvt_base::ok || __r == codecvt_base::partial)
__blen = __bend - __buf;
- // Result == error
- else
- __blen = 0;
+ else if (__r == codecvt_base::noconv)
+ {
+ // Same as the always_noconv case above.
+ __buf = reinterpret_cast<char*>(__ibuf);
+ __blen = __ilen;
+ }
+ else
+ {
+ // Result == error
+ __blen = 0;
+ }
if (__blen)
{
@@ -301,11 +332,8 @@ namespace std
__r = __cvt.out(_M_state_cur, __iresume, __iresume + __rlen,
__iend, __buf, __buf + __blen, __bend);
if (__r != codecvt_base::error)
- __rlen = __bend - __buf;
- else
- __rlen = 0;
- if (__rlen)
{
+ __rlen = __bend - __buf;
__elen += _M_file.xsputn(__buf, __rlen);
__plen += __rlen;
}
@@ -320,7 +348,7 @@ namespace std
{
int_type __ret = traits_type::eof();
bool __testput = _M_out_cur && _M_out_beg < _M_out_end;
- bool __testunbuffered = _M_file.is_open() && !_M_buf_size_opt;
+ bool __testunbuffered = _M_file.is_open() && !_M_buf_size;
if (__testput || __testunbuffered)
{
@@ -343,26 +371,32 @@ namespace std
_M_convert_to_external(_M_out_beg, _M_out_end - _M_out_beg,
__elen, __plen);
- // Convert pending sequence to external representation, output.
- // If eof, then just attempt sync.
- if (!traits_type::eq_int_type(__c, traits_type::eof()))
- {
- char_type __pending = traits_type::to_char_type(__c);
- _M_convert_to_external(&__pending, 1, __elen, __plen);
-
- // User code must flush when switching modes (thus don't sync).
- if (__elen == __plen)
+ // Checks for codecvt.out failures and _M_file.xsputn failures,
+ // respectively, inside _M_convert_to_external.
+ if (__testunbuffered || (__elen && __elen == __plen))
+ {
+ // Convert pending sequence to external representation, output.
+ // If eof, then just attempt sync.
+ if (!traits_type::eq_int_type(__c, traits_type::eof()))
{
- _M_set_indeterminate();
- __ret = traits_type::not_eof(__c);
+ char_type __pending = traits_type::to_char_type(__c);
+ _M_convert_to_external(&__pending, 1, __elen, __plen);
+
+ // User code must flush when switching modes (thus
+ // don't sync).
+ if (__elen == __plen && __elen)
+ {
+ _M_set_indeterminate();
+ __ret = traits_type::not_eof(__c);
+ }
}
- }
- else if (!_M_file.sync())
- {
- _M_set_indeterminate();
- __ret = traits_type::not_eof(__c);
- }
- }
+ else if (!_M_file.sync())
+ {
+ _M_set_indeterminate();
+ __ret = traits_type::not_eof(__c);
+ }
+ }
+ }
_M_last_overflowed = true;
return __ret;
}
@@ -401,12 +435,13 @@ namespace std
bool __testin = (ios_base::in & _M_mode & __mode) != 0;
bool __testout = (ios_base::out & _M_mode & __mode) != 0;
- // Should probably do has_facet checks here.
- int __width = use_facet<__codecvt_type>(_M_buf_locale).encoding();
+ int __width = 0;
+ if (has_facet<__codecvt_type>(this->_M_buf_locale))
+ __width = use_facet<__codecvt_type>(this->_M_buf_locale).encoding();
if (__width < 0)
__width = 0;
- bool __testfail = __off != 0 && __width <= 0;
-
+
+ bool __testfail = __off != 0 && __width <= 0;
if (this->is_open() && !__testfail && (__testin || __testout))
{
// Ditch any pback buffers to avoid confusion.
@@ -430,7 +465,8 @@ namespace std
//in
else if (__testget && __way == ios_base::cur)
__computed_off += _M_in_cur - _M_filepos;
-
+
+ // Return pos_type(off_type(-1)) in case of failure.
__ret = _M_file.seekoff(__computed_off, __way, __mode);
_M_set_indeterminate();
}
@@ -438,8 +474,14 @@ namespace std
// state, ie _M_file._offset == -1
else
{
- __ret = _M_file.seekoff(__off, ios_base::cur, __mode);
- __ret += max(_M_out_cur, _M_in_cur) - _M_filepos;
+ pos_type __tmp =
+ _M_file.seekoff(__off, ios_base::cur, __mode);
+ if (__tmp >= 0)
+ {
+ // Seek successful.
+ __ret = __tmp;
+ __ret += max(_M_out_cur, _M_in_cur) - _M_filepos;
+ }
}
}
_M_last_overflowed = false;
@@ -471,10 +513,7 @@ namespace std
bool __testbeg = gptr() == eback() && pptr() == pbase();
if (__testbeg && _M_buf_locale != __loc)
- {
- _M_buf_locale = __loc;
- _M_buf_locale_init = true;
- }
+ _M_buf_locale = __loc;
// NB this may require the reconversion of previously
// converted chars. This in turn may cause the reconstruction
@@ -486,6 +525,7 @@ namespace std
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class basic_filebuf<char>;
extern template class basic_ifstream<char>;
extern template class basic_ofstream<char>;
@@ -497,6 +537,7 @@ namespace std
extern template class basic_ofstream<wchar_t>;
extern template class basic_fstream<wchar_t>;
#endif
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h
index 1f085d9e4e7..40649c2d832 100644
--- a/libstdc++-v3/include/bits/ios_base.h
+++ b/libstdc++-v3/include/bits/ios_base.h
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -43,6 +43,8 @@
#pragma GCC system_header
#include <bits/atomicity.h>
+#include <bits/localefwd.h>
+#include <bits/locale_classes.h>
namespace std
{
@@ -414,6 +416,7 @@ namespace std
_Words _M_word_zero;
// Guaranteed storage.
+ // The first 5 iword and pword slots are reserved for internal use.
static const int _S_local_word_size = 8;
_Words _M_local_word[_S_local_word_size];
@@ -449,6 +452,12 @@ namespace std
static void
_S_ios_destroy();
+ // NB: Allows debugger applications use of the standard streams
+ // from operator new. _S_ios_base_init must be incremented in
+ // _S_ios_create _after_ initialization is completed.
+ static bool
+ _S_initialized() { return _S_ios_base_init; }
+
private:
static int _S_ios_base_init;
static bool _S_synced_with_stdio;
@@ -638,7 +647,7 @@ namespace std
* Destroys local storage and
* [XXX does something with callbacks].
*/
- virtual ~ios_base();
+ ~ios_base();
protected:
ios_base();
diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc
index a6e49a923bd..7ba67354978 100644
--- a/libstdc++-v3/include/bits/istream.tcc
+++ b/libstdc++-v3/include/bits/istream.tcc
@@ -1,6 +1,6 @@
// istream classes -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -118,11 +118,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -155,11 +155,11 @@ namespace std
#endif
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -182,11 +182,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -219,11 +219,11 @@ namespace std
#endif
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -246,11 +246,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -273,11 +273,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -300,11 +300,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -328,11 +328,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -355,11 +355,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -383,11 +383,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -410,11 +410,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -437,11 +437,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -464,11 +464,11 @@ namespace std
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -495,11 +495,11 @@ namespace std
if (!__sbout || !__xtrct)
this->setstate(ios_base::failbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.2.5.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -527,11 +527,11 @@ namespace std
else
this->setstate(ios_base::eofbit | ios_base::failbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -561,11 +561,11 @@ namespace std
else
this->setstate(ios_base::eofbit | ios_base::failbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -600,11 +600,11 @@ namespace std
if (traits_type::eq_int_type(__c, __eof))
this->setstate(ios_base::eofbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -643,11 +643,11 @@ namespace std
if (traits_type::eq_int_type(__c, __eof))
this->setstate(ios_base::eofbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -694,11 +694,11 @@ namespace std
this->setstate(ios_base::failbit);
}
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -735,11 +735,11 @@ namespace std
if (traits_type::eq_int_type(__c, __eof))
this->setstate(ios_base::eofbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -759,11 +759,11 @@ namespace std
{
try
{ __c = this->rdbuf()->sgetc(); }
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -786,11 +786,11 @@ namespace std
if (_M_gcount != __n)
this->setstate(ios_base::eofbit | ios_base::failbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -822,11 +822,11 @@ namespace std
else
this->setstate(ios_base::eofbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -841,6 +841,10 @@ namespace std
basic_istream<_CharT, _Traits>::
putback(char_type __c)
{
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+// 60. What is a formatted input function?
+ _M_gcount = 0;
+#endif
sentry __cerb(*this, true);
if (__cerb)
{
@@ -852,11 +856,11 @@ namespace std
|| traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -871,7 +875,10 @@ namespace std
basic_istream<_CharT, _Traits>::
unget(void)
{
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+// 60. What is a formatted input function?
_M_gcount = 0;
+#endif
sentry __cerb(*this, true);
if (__cerb)
{
@@ -883,11 +890,11 @@ namespace std
|| traits_type::eq_int_type(__sb->sungetc(), __eof))
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -902,8 +909,8 @@ namespace std
basic_istream<_CharT, _Traits>::
sync(void)
{
+ // DR60. Do not change _M_gcount.
int __ret = -1;
- _M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
@@ -918,11 +925,11 @@ namespace std
__ret = 0;
}
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.3 paragraph 1
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -935,6 +942,7 @@ namespace std
basic_istream<_CharT, _Traits>::
tellg(void)
{
+ // DR60. Do not change _M_gcount.
pos_type __ret = pos_type(-1);
if (!this->fail())
__ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
@@ -947,7 +955,7 @@ namespace std
basic_istream<_CharT, _Traits>::
seekg(pos_type __pos)
{
- _M_gcount = 0;
+ // DR60. Do not change _M_gcount.
if (!this->fail())
{
#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
@@ -967,7 +975,7 @@ namespace std
basic_istream<_CharT, _Traits>::
seekg(off_type __off, ios_base::seekdir __dir)
{
- _M_gcount = 0;
+ // DR60. Do not change _M_gcount.
if (!this->fail())
{
#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
@@ -994,11 +1002,11 @@ namespace std
{
try
{ __in.get(__c); }
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __in.setstate(ios_base::badbit);
+ __in._M_setstate(ios_base::badbit);
if ((__in.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -1026,7 +1034,7 @@ namespace std
{
// Figure out how many characters to extract.
streamsize __num = __in.width();
- if (__num == 0)
+ if (__num <= 0)
__num = numeric_limits<streamsize>::max();
const __ctype_type& __ctype = use_facet<__ctype_type>(__in.getloc());
@@ -1036,9 +1044,9 @@ namespace std
while (__extracted < __num - 1
&& !_Traits::eq_int_type(__c, __eof)
- && !__ctype.is(ctype_base::space, __c))
+ && !__ctype.is(ctype_base::space, _Traits::to_char_type(__c)))
{
- *__s++ = __c;
+ *__s++ = _Traits::to_char_type(__c);
++__extracted;
__c = __sb->snextc();
}
@@ -1051,11 +1059,11 @@ namespace std
#endif
__in.width(0);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __in.setstate(ios_base::badbit);
+ __in._M_setstate(ios_base::badbit);
if ((__in.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -1081,7 +1089,7 @@ namespace std
__int_type __c = __sb->sgetc();
while (!_Traits::eq_int_type(__c, __eof)
- && __ctype.is(ctype_base::space, __c))
+ && __ctype.is(ctype_base::space, _Traits::to_char_type(__c)))
__c = __sb->snextc();
if (_Traits::eq_int_type(__c, __eof))
@@ -1119,7 +1127,7 @@ namespace std
while (__extracted < __n
&& !_Traits::eq_int_type(__c, __eof)
- && !__ctype.is(ctype_base::space, __c))
+ && !__ctype.is(ctype_base::space, _Traits::to_char_type(__c)))
{
__str += _Traits::to_char_type(__c);
++__extracted;
@@ -1189,6 +1197,7 @@ namespace std
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class basic_istream<char>;
extern template istream& ws(istream&);
extern template istream& operator>>(istream&, char&);
@@ -1204,4 +1213,5 @@ namespace std
extern template wistream& operator>>(wistream&, wchar_t&);
extern template wistream& operator>>(wistream&, wchar_t*);
#endif
+#endif
} // namespace std
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
new file mode 100644
index 00000000000..f36c8d4dea4
--- /dev/null
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -0,0 +1,374 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+/** @file localefwd.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+#ifndef _CPP_BITS_LOCALE_CLASSES_H
+#define _CPP_BITS_LOCALE_CLASSES_H 1
+
+#pragma GCC system_header
+
+#include <bits/localefwd.h>
+#include <cstring> // For strcmp.
+#include <string>
+#include <bits/atomicity.h>
+
+namespace std
+{
+ // 22.1.1 Class locale
+ class locale
+ {
+ public:
+ // Types:
+ typedef unsigned int category;
+
+ // Forward decls and friends:
+ class facet;
+ class id;
+ class _Impl;
+
+ friend class facet;
+ friend class _Impl;
+
+ template<typename _Facet>
+ friend const _Facet&
+ use_facet(const locale&);
+
+ template<typename _Facet>
+ friend bool
+ has_facet(const locale&) throw();
+
+ // Category values:
+ // NB: Order must match _S_facet_categories definition in locale.cc
+ static const category none = 0;
+ static const category ctype = 1L << 0;
+ static const category numeric = 1L << 1;
+ static const category collate = 1L << 2;
+ static const category time = 1L << 3;
+ static const category monetary = 1L << 4;
+ static const category messages = 1L << 5;
+ static const category all = (ctype | numeric | collate |
+ time | monetary | messages);
+
+ // Construct/copy/destroy:
+ locale() throw();
+
+ locale(const locale& __other) throw();
+
+ explicit
+ locale(const char* __s);
+
+ locale(const locale& __base, const char* __s, category __cat);
+
+ locale(const locale& __base, const locale& __add, category __cat);
+
+ template<typename _Facet>
+ locale(const locale& __other, _Facet* __f);
+
+ ~locale() throw();
+
+ const locale&
+ operator=(const locale& __other) throw();
+
+ template<typename _Facet>
+ locale
+ combine(const locale& __other) const;
+
+ // Locale operations:
+ string
+ name() const;
+
+ bool
+ operator==(const locale& __other) const throw ();
+
+ inline bool
+ operator!=(const locale& __other) const throw ()
+ { return !(this->operator==(__other)); }
+
+ template<typename _Char, typename _Traits, typename _Alloc>
+ bool
+ operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
+ const basic_string<_Char, _Traits, _Alloc>& __s2) const;
+
+ // Global locale objects:
+ static locale
+ global(const locale&);
+
+ static const locale&
+ classic();
+
+ private:
+ // The (shared) implementation
+ _Impl* _M_impl;
+
+ // The "C" reference locale
+ static _Impl* _S_classic;
+
+ // Current global locale
+ static _Impl* _S_global;
+
+ // Number of standard categories. For C++, these categories are
+ // collate, ctype, monetary, numeric, time, and messages. These
+ // directly correspond to ISO C99 macros LC_COLLATE, LC_CTYPE,
+ // LC_MONETARY, LC_NUMERIC, and LC_TIME. In addition, POSIX (IEEE
+ // 1003.1-2001) specifies LC_MESSAGES.
+ static const size_t _S_categories_size = 6;
+
+ // In addition to the standard categories, the underlying
+ // operating system is allowed to define extra LC_*
+ // macros. For GNU systems, the following are also valid:
+ // LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT,
+ // and LC_IDENTIFICATION.
+ static const size_t _S_extra_categories_size = _GLIBCPP_NUM_CATEGORIES;
+
+ // Names of underlying locale categories.
+ // NB: locale::global() has to know how to modify all the
+ // underlying categories, not just the ones required by the C++
+ // standard.
+ static const char* _S_categories[_S_categories_size
+ + _S_extra_categories_size];
+
+ explicit
+ locale(_Impl*) throw();
+
+ static inline void
+ _S_initialize()
+ {
+ if (!_S_classic)
+ classic();
+ }
+
+ static category
+ _S_normalize_category(category);
+
+ void
+ _M_coalesce(const locale& __base, const locale& __add, category __cat);
+ };
+
+
+ // Implementation object for locale
+ class locale::_Impl
+ {
+ public:
+ // Friends.
+ friend class locale;
+ friend class locale::facet;
+
+ template<typename _Facet>
+ friend const _Facet&
+ use_facet(const locale&);
+
+ template<typename _Facet>
+ friend bool
+ has_facet(const locale&) throw();
+
+ private:
+ // Data Members.
+ _Atomic_word _M_references;
+ facet** _M_facets;
+ size_t _M_facets_size;
+
+ char* _M_names[_S_categories_size
+ + _S_extra_categories_size];
+ static const locale::id* const _S_id_ctype[];
+ static const locale::id* const _S_id_numeric[];
+ static const locale::id* const _S_id_collate[];
+ static const locale::id* const _S_id_time[];
+ static const locale::id* const _S_id_monetary[];
+ static const locale::id* const _S_id_messages[];
+ static const locale::id* const* const _S_facet_categories[];
+
+ inline void
+ _M_add_reference() throw()
+ { __atomic_add(&_M_references, 1); }
+
+ inline void
+ _M_remove_reference() throw()
+ {
+ if (__exchange_and_add(&_M_references, -1) == 1)
+ {
+ try
+ { delete this; }
+ catch(...)
+ { }
+ }
+ }
+
+ _Impl(const _Impl&, size_t);
+ _Impl(const char*, size_t);
+ _Impl(facet**, size_t, bool);
+
+ ~_Impl() throw();
+
+ _Impl(const _Impl&); // Not defined.
+
+ void
+ operator=(const _Impl&); // Not defined.
+
+ inline bool
+ _M_check_same_name()
+ {
+ bool __ret = true;
+ for (size_t __i = 0;
+ __ret && __i < _S_categories_size + _S_extra_categories_size - 1;
+ ++__i)
+ __ret &= (strcmp(_M_names[__i], _M_names[__i + 1]) == 0);
+ return __ret;
+ }
+
+ void
+ _M_replace_categories(const _Impl*, category);
+
+ void
+ _M_replace_category(const _Impl*, const locale::id* const*);
+
+ void
+ _M_replace_facet(const _Impl*, const locale::id*);
+
+ void
+ _M_install_facet(const locale::id*, facet*);
+
+ template<typename _Facet>
+ inline void
+ _M_init_facet(_Facet* __facet)
+ { _M_install_facet(&_Facet::id, __facet); }
+ };
+
+ template<typename _Facet>
+ locale::locale(const locale& __other, _Facet* __f)
+ {
+ _M_impl = new _Impl(*__other._M_impl, 1);
+ _M_impl->_M_install_facet(&_Facet::id, __f);
+ for (size_t __i = 0;
+ __i < _S_categories_size + _S_extra_categories_size; ++__i)
+ {
+ delete [] _M_impl->_M_names[__i];
+ char* __new = new char[2];
+ strcpy(__new, "*");
+ _M_impl->_M_names[__i] = __new;
+ }
+ }
+
+
+ // 22.1.1.1.2 Class locale::facet
+ class locale::facet
+ {
+ private:
+ friend class locale;
+ friend class locale::_Impl;
+
+ _Atomic_word _M_references;
+
+ protected:
+ // Contains data from the underlying "C" library for the classic locale.
+ static __c_locale _S_c_locale;
+
+ // String literal for the name of the classic locale.
+ static char _S_c_name[2];
+
+ explicit
+ facet(size_t __refs = 0) throw();
+
+ virtual
+ ~facet();
+
+ static void
+ _S_create_c_locale(__c_locale& __cloc, const char* __s,
+ __c_locale __old = 0);
+
+ static __c_locale
+ _S_clone_c_locale(__c_locale& __cloc);
+
+ static void
+ _S_destroy_c_locale(__c_locale& __cloc);
+
+ private:
+ void
+ _M_add_reference() throw();
+
+ void
+ _M_remove_reference() throw();
+
+ facet(const facet&); // Not defined.
+
+ void
+ operator=(const facet&); // Not defined.
+ };
+
+
+ // 22.1.1.1.3 Class locale::id
+ class locale::id
+ {
+ private:
+ friend class locale;
+ friend class locale::_Impl;
+ template<typename _Facet>
+ friend const _Facet&
+ use_facet(const locale&);
+ template<typename _Facet>
+ friend bool
+ has_facet(const locale&) throw ();
+
+ // NB: There is no accessor for _M_index because it may be used
+ // before the constructor is run; the effect of calling a member
+ // function (even an inline) would be undefined.
+ mutable size_t _M_index;
+
+ // Last id number assigned.
+ static _Atomic_word _S_highwater;
+
+ void
+ operator=(const id&); // Not defined.
+
+ id(const id&); // Not defined.
+
+ public:
+ // NB: This class is always a static data member, and thus can be
+ // counted on to be zero-initialized.
+ id();
+
+ inline size_t
+ _M_id() const
+ {
+ if (!_M_index)
+ _M_index = 1 + __exchange_and_add(&_S_highwater, 1);
+ return _M_index - 1;
+ }
+ };
+} // namespace std
+
+#endif
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index 660bad3c11a..1821a498ea5 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -44,7 +44,9 @@
#include <ctime> // For struct tm
#include <cwctype> // For wctype_t
-#include <ios> // For ios_base
+#include <iosfwd>
+#include <bits/ios_base.h> // For ios_base, ios_base::iostate
+#include <streambuf>
namespace std
{
@@ -55,8 +57,109 @@ namespace std
# define _GLIBCPP_NUM_FACETS 14
#endif
+ // Convert string to numeric value of type _Tv and store results.
+ // NB: This is specialized for all required types, there is no
+ // generic definition.
+ template<typename _Tv>
+ void
+ __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err,
+ const __c_locale& __cloc, int __base = 10);
+
+ // Explicit specializations for required types.
+ template<>
+ void
+ __convert_to_v(const char*, long&, ios_base::iostate&,
+ const __c_locale&, int);
+
+ template<>
+ void
+ __convert_to_v(const char*, unsigned long&, ios_base::iostate&,
+ const __c_locale&, int);
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+ template<>
+ void
+ __convert_to_v(const char*, long long&, ios_base::iostate&,
+ const __c_locale&, int);
+
+ template<>
+ void
+ __convert_to_v(const char*, unsigned long long&, ios_base::iostate&,
+ const __c_locale&, int);
+#endif
+
+ template<>
+ void
+ __convert_to_v(const char*, float&, ios_base::iostate&,
+ const __c_locale&, int);
+
+ template<>
+ void
+ __convert_to_v(const char*, double&, ios_base::iostate&,
+ const __c_locale&, int);
+
+ template<>
+ void
+ __convert_to_v(const char*, long double&, ios_base::iostate&,
+ const __c_locale&, int);
+
+ // NB: __pad is a struct, rather than a function, so it can be
+ // partially-specialized.
template<typename _CharT, typename _Traits>
- struct __pad;
+ struct __pad
+ {
+ static void
+ _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
+ const _CharT* __olds, const streamsize __newlen,
+ const streamsize __oldlen, const bool __num);
+ };
+
+ // Used by both numeric and monetary facets.
+ // Check to make sure that the __grouping_tmp string constructed in
+ // money_get or num_get matches the canonical grouping for a given
+ // locale.
+ // __grouping_tmp is parsed L to R
+ // 1,222,444 == __grouping_tmp of "\1\3\3"
+ // __grouping is parsed R to L
+ // 1,222,444 == __grouping of "\3" == "\3\3\3"
+ template<typename _CharT>
+ bool
+ __verify_grouping(const basic_string<_CharT>& __grouping,
+ basic_string<_CharT>& __grouping_tmp);
+
+ // Used by both numeric and monetary facets.
+ // Inserts "group separator" characters into an array of characters.
+ // It's recursive, one iteration per group. It moves the characters
+ // in the buffer this way: "xxxx12345" -> "12,345xxx". Call this
+ // only with __gbeg != __gend.
+ template<typename _CharT>
+ _CharT*
+ __add_grouping(_CharT* __s, _CharT __sep,
+ const char* __gbeg, const char* __gend,
+ const _CharT* __first, const _CharT* __last);
+
+ // This template permits specializing facet output code for
+ // ostreambuf_iterator. For ostreambuf_iterator, sputn is
+ // significantly more efficient than incrementing iterators.
+ template<typename _CharT>
+ inline
+ ostreambuf_iterator<_CharT>
+ __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
+ {
+ __s._M_put(__ws, __len);
+ return __s;
+ }
+
+ // This is the unspecialized form of the template.
+ template<typename _CharT, typename _OutIter>
+ inline
+ _OutIter
+ __write(_OutIter __s, const _CharT* __ws, int __len)
+ {
+ for (int __j = 0; __j < __len; __j++, ++__s)
+ *__s = __ws[__j];
+ return __s;
+ }
// 22.2.1.1 Template class ctype
// Include host and configuration specific ctype enums for ctype_base.
@@ -424,14 +527,38 @@ namespace std
// 22.2.1.5 Template class codecvt
#include <bits/codecvt.h>
-
// 22.2.2 The numeric category.
class __num_base
{
+ public:
+ // NB: Code depends on the order of _S_atoms_out elements.
+ // Below are the indices into _S_atoms_out.
+ enum
+ {
+ _S_minus,
+ _S_plus,
+ _S_x,
+ _S_X,
+ _S_digits,
+ _S_digits_end = _S_digits + 16,
+ _S_udigits = _S_digits_end,
+ _S_udigits_end = _S_udigits + 16,
+ _S_e = _S_digits + 14, // For scientific notation, 'e'
+ _S_E = _S_udigits + 14, // For scientific notation, 'E'
+ _S_end = _S_udigits_end
+ };
+
+ // A list of valid numeric literals for output. This array
+ // contains chars that will be passed through the current locale's
+ // ctype<_CharT>.widen() and then used to render numbers.
+ // For the standard "C" locale, this is
+ // "-+xX0123456789abcdef0123456789ABCDEF".
+ static const char* _S_atoms_out;
+
protected:
// String literal of acceptable (narrow) input, for num_get.
// "0123456789eEabcdfABCDF"
- static const char _S_atoms[];
+ static const char* _S_atoms_in;
enum
{
@@ -443,7 +570,7 @@ namespace std
// num_put
// Construct and return valid scanf format for floating point types.
- static bool
+ static void
_S_format_float(const ios_base& __io, char* __fptr, char __mod,
streamsize __prec);
@@ -725,7 +852,6 @@ namespace std
// Types:
typedef _CharT char_type;
typedef _OutIter iter_type;
-
static locale::id id;
explicit
@@ -775,6 +901,27 @@ namespace std
_M_convert_float(iter_type, ios_base& __io, char_type __fill,
char __mod, _ValueT __v) const;
+ void
+ _M_group_float(const string& __grouping, char_type __sep,
+ const char_type* __p, char_type* __new, char_type* __cs,
+ int& __len) const;
+
+ template<typename _ValueT>
+ iter_type
+ _M_convert_int(iter_type, ios_base& __io, char_type __fill,
+ _ValueT __v) const;
+
+ void
+ _M_group_int(const string& __grouping, char_type __sep,
+ ios_base& __io, char_type* __new, char_type* __cs,
+ int& __len) const;
+
+ void
+ _M_pad(char_type __fill, streamsize __w, ios_base& __io,
+ char_type* __new, const char_type* __cs, int& __len) const;
+
+#if 1
+ // XXX GLIBCXX_ABI Deprecated, compatibility only.
template<typename _ValueT>
iter_type
_M_convert_int(iter_type, ios_base& __io, char_type __fill,
@@ -791,8 +938,9 @@ namespace std
iter_type
_M_insert(iter_type, ios_base& __io, char_type __fill,
const char_type* __ws, int __len) const;
+#endif
- virtual
+ virtual
~num_put() { };
virtual iter_type
@@ -1011,22 +1159,10 @@ namespace std
public:
explicit
- __timepunct(size_t __refs = 0)
- : locale::facet(__refs)
- {
- _M_name_timepunct = new char[2];
- strcpy(_M_name_timepunct, "C");
- _M_initialize_timepunct();
- }
+ __timepunct(size_t __refs = 0);
explicit
- __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
- : locale::facet(__refs)
- {
- _M_name_timepunct = new char[strlen(__s) + 1];
- strcpy(_M_name_timepunct, __s);
- _M_initialize_timepunct(__cloc);
- }
+ __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
void
_M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
@@ -1123,11 +1259,7 @@ namespace std
protected:
virtual
- ~__timepunct()
- {
- delete [] _M_name_timepunct;
- _S_destroy_c_locale(_M_c_locale_timepunct);
- }
+ ~__timepunct();
// For use at construction time only.
void
@@ -1169,6 +1301,8 @@ namespace std
template<typename _CharT>
const _CharT* __timepunct<_CharT>::_S_timezones[14];
+ // Include host and configuration specific timepunct functions.
+ #include <bits/time_members.h>
template<typename _CharT, typename _InIter>
class time_get : public locale::facet, public time_base
@@ -1628,32 +1762,17 @@ namespace std
// Underlying "C" library locale information saved from
// initialization, needed by messages_byname as well.
__c_locale _M_c_locale_messages;
-#if 1
- // Only needed if glibc < 2.3
char* _M_name_messages;
-#endif
public:
static locale::id id;
explicit
- messages(size_t __refs = 0)
- : locale::facet(__refs)
- {
- _M_name_messages = new char[2];
- strcpy(_M_name_messages, "C");
- _M_c_locale_messages = _S_c_locale;
- }
+ messages(size_t __refs = 0);
// Non-standard.
explicit
- messages(__c_locale __cloc, const char* __s, size_t __refs = 0)
- : locale::facet(__refs)
- {
- _M_name_messages = new char[strlen(__s) + 1];
- strcpy(_M_name_messages, __s);
- _M_c_locale_messages = _S_clone_c_locale(__cloc);
- }
+ messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
catalog
open(const basic_string<char>& __s, const locale& __loc) const
@@ -1673,11 +1792,7 @@ namespace std
protected:
virtual
- ~messages()
- {
- delete [] _M_name_messages;
- _S_destroy_c_locale(_M_c_locale_messages);
- }
+ ~messages();
virtual catalog
do_open(const basic_string<char>&, const locale&) const;
@@ -1751,9 +1866,6 @@ namespace std
messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
#endif
- // Include host and configuration specific messages virtual functions.
- #include <bits/messages_members.h>
-
template<typename _CharT>
class messages_byname : public messages<_CharT>
{
@@ -1762,15 +1874,7 @@ namespace std
typedef basic_string<_CharT> string_type;
explicit
- messages_byname(const char* __s, size_t __refs = 0)
- : messages<_CharT>(__refs)
- {
- delete [] _M_name_messages;
- _M_name_messages = new char[strlen(__s) + 1];
- strcpy(_M_name_messages, __s);
- _S_destroy_c_locale(_M_c_locale_messages);
- _S_create_c_locale(_M_c_locale_messages, __s);
- }
+ messages_byname(const char* __s, size_t __refs = 0);
protected:
virtual
@@ -1778,6 +1882,9 @@ namespace std
{ }
};
+ // Include host and configuration specific messages functions.
+ #include <bits/messages_members.h>
+
// Subclause convenience interfaces, inlines.
// NB: These are inline because, when used in a loop, some compilers
diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc
index ce6f3d7d5ff..abffad8d133 100644
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -36,13 +36,13 @@
#pragma GCC system_header
#include <cerrno>
-#include <clocale> // For localeconv
-#include <cstdlib> // For strof, strtold
-#include <cmath> // For ceil
-#include <cctype> // For isspace
-#include <limits> // For numeric_limits
+#include <clocale> // For localeconv
+#include <cstdlib> // For strof, strtold
+#include <cmath> // For ceil
+#include <cctype> // For isspace
+#include <limits> // For numeric_limits
+#include <typeinfo> // For bad_cast.
#include <bits/streambuf_iterator.h>
-#include <typeinfo> // For bad_cast.
namespace std
{
@@ -113,7 +113,7 @@ namespace std
}
// Next, strip leading zeros.
- const char_type __zero = __ctype.widen(_S_atoms[_M_zero]);
+ const char_type __zero = __ctype.widen(_S_atoms_in[_M_zero]);
bool __found_zero = false;
while (__traits_type::eq(__c, __zero) && __beg != __end)
{
@@ -122,14 +122,14 @@ namespace std
}
if (__found_zero)
{
- __xtrc += _S_atoms[_M_zero];
+ __xtrc += _S_atoms_in[_M_zero];
++__pos;
}
// Only need acceptable digits for floating point numbers.
const size_t __len = _M_E - _M_zero + 1;
char_type __watoms[__len];
- __ctype.widen(_S_atoms, _S_atoms + __len, __watoms);
+ __ctype.widen(_S_atoms_in, _S_atoms_in + __len, __watoms);
bool __found_dec = false;
bool __found_sci = false;
const char_type __dec = __np.decimal_point();
@@ -150,7 +150,7 @@ namespace std
{
// Try first for acceptable digit; record it if found.
++__pos;
- __xtrc += _S_atoms[__p - __watoms];
+ __xtrc += _S_atoms_in[__p - __watoms];
++__sep_pos;
__c = *(++__beg);
}
@@ -261,7 +261,7 @@ namespace std
}
// Next, strip leading zeros and check required digits for base formats.
- const char_type __zero = __ctype.widen(_S_atoms[_M_zero]);
+ const char_type __zero = __ctype.widen(_S_atoms_in[_M_zero]);
const char_type __x = __ctype.widen('x');
const char_type __X = __ctype.widen('X');
if (__base == 10)
@@ -274,7 +274,7 @@ namespace std
}
if (__found_zero)
{
- __xtrc += _S_atoms[_M_zero];
+ __xtrc += _S_atoms_in[_M_zero];
++__pos;
if (__basefield == 0)
{
@@ -296,7 +296,7 @@ namespace std
{
if (__traits_type::eq(__c, __zero) && __beg != __end)
{
- __xtrc += _S_atoms[_M_zero];
+ __xtrc += _S_atoms_in[_M_zero];
++__pos;
__c = *(++__beg);
if ((__traits_type::eq(__c, __x) || __traits_type::eq(__c, __X))
@@ -319,7 +319,7 @@ namespace std
// Extract.
char_type __watoms[_M_size];
- __ctype.widen(_S_atoms, _S_atoms + __len, __watoms);
+ __ctype.widen(_S_atoms_in, _S_atoms_in + __len, __watoms);
string __found_grouping;
const string __grouping = __np.grouping();
bool __check_grouping = __grouping.size();
@@ -333,7 +333,7 @@ namespace std
if (__p && !__traits_type::eq(__c, char_type()))
{
// Try first for acceptable digit; record it if found.
- __xtrc += _S_atoms[__p - __watoms];
+ __xtrc += _S_atoms_in[__p - __watoms];
++__pos;
++__sep_pos;
__c = *(++__beg);
@@ -606,14 +606,255 @@ namespace std
return __beg;
}
- // The following code uses snprintf (or sprintf(), when _GLIBCPP_USE_C99
- // is not defined) to convert floating point values for insertion into a
- // stream. An optimization would be to replace them with code that works
- // directly on a wide buffer and then use __pad to do the padding.
- // It would be good to replace them anyway to gain back the efficiency
- // that C++ provides by knowing up front the type of the values to insert.
- // Also, sprintf is dangerous since may lead to accidental buffer overruns.
- // This implementation follows the C++ standard fairly directly as
+ // For use by integer and floating-point types after they have been
+ // converted into a char_type string.
+ template<typename _CharT, typename _OutIter>
+ void
+ num_put<_CharT, _OutIter>::
+ _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
+ _CharT* __new, const _CharT* __cs, int& __len) const
+ {
+ // [22.2.2.2.2] Stage 3.
+ // If necessary, pad.
+ __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs,
+ __w, __len, true);
+ __len = static_cast<int>(__w);
+ }
+
+ // Forwarding functions to peel signed from unsigned integer types.
+ template<typename _CharT>
+ inline int
+ __int_to_char(_CharT* __out, const int __size, long __v,
+ const _CharT* __lit, ios_base::fmtflags __flags)
+ {
+ unsigned long __ul = static_cast<unsigned long>(__v);
+ bool __neg = false;
+ if (__v < 0)
+ {
+ __ul = -__ul;
+ __neg = true;
+ }
+ return __int_to_char(__out, __size, __ul, __lit, __flags, __neg);
+ }
+
+ template<typename _CharT>
+ inline int
+ __int_to_char(_CharT* __out, const int __size, unsigned long __v,
+ const _CharT* __lit, ios_base::fmtflags __flags)
+ { return __int_to_char(__out, __size, __v, __lit, __flags, false); }
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+ template<typename _CharT>
+ inline int
+ __int_to_char(_CharT* __out, const int __size, long long __v,
+ const _CharT* __lit, ios_base::fmtflags __flags)
+ {
+ unsigned long long __ull = static_cast<unsigned long long>(__v);
+ bool __neg = false;
+ if (__v < 0)
+ {
+ __ull = -__ull;
+ __neg = true;
+ }
+ return __int_to_char(__out, __size, __ull, __lit, __flags, __neg);
+ }
+
+ template<typename _CharT>
+ inline int
+ __int_to_char(_CharT* __out, const int __size, unsigned long long __v,
+ const _CharT* __lit, ios_base::fmtflags __flags)
+ { return __int_to_char(__out, __size, __v, __lit, __flags, false); }
+#endif
+
+ template<typename _CharT, typename _ValueT>
+ int
+ __int_to_char(_CharT* __out, const int __size, _ValueT __v,
+ const _CharT* __lit, ios_base::fmtflags __flags, bool __neg)
+ {
+ // Don't write base if already 0.
+ const bool __showbase = (__flags & ios_base::showbase) && __v;
+ const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
+ _CharT* __buf = __out + __size - 1;
+ _CharT* __bufend = __out + __size;
+
+ if (__builtin_expect(__basefield == ios_base::oct, false))
+ {
+ // Octal.
+ do
+ {
+ *__buf-- = __lit[(__v & 0x7) + __num_base::_S_digits];
+ __v >>= 3;
+ }
+ while (__v != 0);
+ if (__showbase)
+ *__buf-- = __lit[__num_base::_S_digits];
+ }
+ else if (__builtin_expect(__basefield == ios_base::hex, false))
+ {
+ // Hex.
+ const bool __uppercase = __flags & ios_base::uppercase;
+ int __case_offset = __uppercase
+ ? __num_base::_S_udigits : __num_base::_S_digits;
+ do
+ {
+ *__buf-- = __lit[(__v & 0xf) + __case_offset];
+ __v >>= 4;
+ }
+ while (__v != 0);
+ if (__showbase)
+ {
+ // 'x' or 'X'
+ *__buf-- = __lit[__num_base::_S_x + __uppercase];
+ // '0'
+ *__buf-- = __lit[__num_base::_S_digits];
+ }
+ }
+ else
+ {
+ // Decimal.
+ do
+ {
+ *__buf-- = __lit[(__v % 10) + __num_base::_S_digits];
+ __v /= 10;
+ }
+ while (__v != 0);
+ if (__neg)
+ *__buf-- = __lit[__num_base::_S_minus];
+ else if (__flags & ios_base::showpos)
+ *__buf-- = __lit[__num_base::_S_plus];
+ }
+ int __ret = __bufend - __buf - 1;
+ return __ret;
+ }
+
+ template<typename _CharT, typename _OutIter>
+ void
+ num_put<_CharT, _OutIter>::
+ _M_group_int(const string& __grouping, _CharT __sep, ios_base& __io,
+ _CharT* __new, _CharT* __cs, int& __len) const
+ {
+ // By itself __add_grouping cannot deal correctly with __ws when
+ // ios::showbase is set and ios_base::oct || ios_base::hex.
+ // Therefore we take care "by hand" of the initial 0, 0x or 0X.
+ // However, remember that the latter do not occur if the number
+ // printed is '0' (__len == 1).
+ streamsize __off = 0;
+ const ios_base::fmtflags __basefield = __io.flags()
+ & ios_base::basefield;
+ if ((__io.flags() & ios_base::showbase) && __len > 1)
+ if (__basefield == ios_base::oct)
+ {
+ __off = 1;
+ *__new = *__cs;
+ }
+ else if (__basefield == ios_base::hex)
+ {
+ __off = 2;
+ *__new = *__cs;
+ *(__new + 1) = *(__cs + 1);
+ }
+ _CharT* __p;
+ __p = __add_grouping(__new + __off, __sep,
+ __grouping.c_str(),
+ __grouping.c_str() + __grouping.size(),
+ __cs + __off, __cs + __len);
+ __len = __p - __new;
+ }
+
+ template<typename _CharT, typename _OutIter>
+ template<typename _ValueT>
+ _OutIter
+ num_put<_CharT, _OutIter>::
+ _M_convert_int(_OutIter __s, ios_base& __io, _CharT __fill,
+ _ValueT __v) const
+ {
+ // Long enough to hold hex, dec, and octal representations.
+ int __ilen = 4 * sizeof(_ValueT);
+ _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __ilen));
+ // Buildup list of digits given the current ctype.
+ _CharT __lit[_S_end];
+ const locale __loc = __io.getloc();
+ if (__builtin_expect(has_facet<ctype<_CharT> >(__loc), true))
+ {
+ const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
+ __ct.widen(_S_atoms_out, _S_atoms_out + _S_end, __lit);
+ }
+
+ // [22.2.2.2.2] Stage 1, numeric conversion to character.
+ // Result is returned right-justified in the buffer.
+ int __len;
+ __len = __int_to_char(&__cs[0], __ilen, __v, __lit, __io.flags());
+ __cs = __cs + __ilen - __len;
+
+ // Add grouping, if necessary.
+ const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+ const string __grouping = __np.grouping();
+ _CharT* __cs2;
+ if (__grouping.size())
+ {
+ // Grouping can add (almost) as many separators as the
+ // number of digits, but no more.
+ __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len * 2));
+ _M_group_int(__grouping, __np.thousands_sep(), __io,
+ __cs2, __cs, __len);
+ __cs = __cs2;
+ }
+
+ // Pad.
+ _CharT* __cs3;
+ streamsize __w = __io.width();
+ if (__w > static_cast<streamsize>(__len))
+ {
+ __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __w));
+ _M_pad(__fill, __w, __io, __cs3, __cs, __len);
+ __cs = __cs3;
+ }
+ __io.width(0);
+
+ // [22.2.2.2.2] Stage 4.
+ // Write resulting, fully-formatted string to output iterator.
+ return __write(__s, __cs, __len);
+ }
+
+ template<typename _CharT, typename _OutIter>
+ void
+ num_put<_CharT, _OutIter>::
+ _M_group_float(const string& __grouping, _CharT __sep, const _CharT* __p,
+ _CharT* __new, _CharT* __cs, int& __len) const
+ {
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+ //282. What types does numpunct grouping refer to?
+ // Add grouping, if necessary.
+ _CharT* __p2;
+ int __declen = __p ? __p - __cs : __len;
+ __p2 = __add_grouping(__new, __sep,
+ __grouping.c_str(),
+ __grouping.c_str() + __grouping.size(),
+ __cs, __cs + __declen);
+
+ // Tack on decimal part.
+ int __newlen = __p2 - __new;
+ if (__p)
+ {
+ char_traits<_CharT>::copy(__p2, __p, __len - __declen);
+ __newlen += __len - __declen;
+ }
+ __len = __newlen;
+#endif
+ }
+
+ // The following code uses snprintf (or sprintf(), when
+ // _GLIBCPP_USE_C99 is not defined) to convert floating point values
+ // for insertion into a stream. An optimization would be to replace
+ // them with code that works directly on a wide buffer and then use
+ // __pad to do the padding. It would be good to replace them anyway
+ // to gain back the efficiency that C++ provides by knowing up front
+ // the type of the values to insert. Also, sprintf is dangerous
+ // since may lead to accidental buffer overruns. This
+ // implementation follows the C++ standard fairly directly as
// outlined in 22.2.2.2 [lib.locale.num.put]
template<typename _CharT, typename _OutIter>
template<typename _ValueT>
@@ -622,48 +863,50 @@ namespace std
_M_convert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
_ValueT __v) const
{
- // Note: digits10 is rounded down. We need to add 1 to ensure
- // we get the full available precision.
- const int __max_digits = numeric_limits<_ValueT>::digits10 + 1;
+ // Note: digits10 is rounded down: add 1 to ensure the maximum
+ // available precision. Then, in general, one more 1 needs to
+ // be added since, when the %{g,G} conversion specifiers are
+ // chosen inside _S_format_float, the precision field is "the
+ // maximum number of significant digits", *not* the "number of
+ // digits to appear after the decimal point", as happens for
+ // %{e,E,f,F} (C99, 7.19.6.1,4).
+ const int __max_digits = numeric_limits<_ValueT>::digits10 + 2;
+
+ // Use default precision if out of range.
streamsize __prec = __io.precision();
-
if (__prec > static_cast<streamsize>(__max_digits))
__prec = static_cast<streamsize>(__max_digits);
+ else if (__prec < static_cast<streamsize>(0))
+ __prec = static_cast<streamsize>(6);
+ // [22.2.2.2.2] Stage 1, numeric conversion to character.
+ int __len;
// Long enough for the max format spec.
char __fbuf[16];
- // [22.2.2.2.2] Stage 1, numeric conversion to character.
- int __len;
#ifdef _GLIBCPP_USE_C99
- // First try a buffer perhaps big enough (for sure sufficient for
- // non-ios_base::fixed outputs)
+ // First try a buffer perhaps big enough (for sure sufficient
+ // for non-ios_base::fixed outputs)
int __cs_size = __max_digits * 3;
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- const bool __fp = _S_format_float(__io, __fbuf, __mod, __prec);
- if (__fp)
- __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
- _S_c_locale, __prec);
- else
- __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, _S_c_locale);
+ _S_format_float(__io, __fbuf, __mod, __prec);
+ __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
+ _S_c_locale, __prec);
// If the buffer was not large enough, try again with the correct size.
if (__len >= __cs_size)
{
__cs_size = __len + 1;
__cs = static_cast<char*>(__builtin_alloca(__cs_size));
- if (__fp)
- __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
- _S_c_locale, __prec);
- else
- __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
- _S_c_locale);
+ __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
+ _S_c_locale, __prec);
}
#else
// Consider the possibility of long ios_base::fixed outputs
const bool __fixed = __io.flags() & ios_base::fixed;
const int __max_exp = numeric_limits<_ValueT>::max_exponent10;
+
// ios_base::fixed outputs may need up to __max_exp+1 chars
// for the integer part + up to __max_digits chars for the
// fractional part + 3 chars for sign, decimal point, '\0'. On
@@ -673,187 +916,56 @@ namespace std
: __max_digits * 3;
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- if (_S_format_float(__io, __fbuf, __mod, __prec))
- __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale, __prec);
- else
- __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale);
+ _S_format_float(__io, __fbuf, __mod, __prec);
+ __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale, __prec);
#endif
- return _M_widen_float(__s, __io, __fill, __cs, __len);
- }
- template<typename _CharT, typename _OutIter>
- template<typename _ValueT>
- _OutIter
- num_put<_CharT, _OutIter>::
- _M_convert_int(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
- char __modl, _ValueT __v) const
- {
- // [22.2.2.2.2] Stage 1, numeric conversion to character.
-
- // Long enough for the max format spec.
- char __fbuf[16];
- _S_format_int(__io, __fbuf, __mod, __modl);
-#ifdef _GLIBCPP_USE_C99
- // First try a buffer perhaps big enough.
- int __cs_size = 64;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- int __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
- _S_c_locale);
- // If the buffer was not large enough, try again with the correct size.
- if (__len >= __cs_size)
- {
- __cs_size = __len + 1;
- __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
- _S_c_locale);
- }
-#else
- // Leave room for "+/-," "0x," and commas. This size is
- // arbitrary, but should be largely sufficient.
- char __cs[128];
- int __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale);
-#endif
- return _M_widen_int(__s, __io, __fill, __cs, __len);
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- _M_widen_float(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs,
- int __len) const
- {
- typedef char_traits<_CharT> __traits_type;
// [22.2.2.2.2] Stage 2, convert to char_type, using correct
// numpunct.decimal_point() values for '.' and adding grouping.
const locale __loc = __io.getloc();
const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+
_CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
* __len));
- // Grouping can add (almost) as many separators as the number of
- // digits, but no more.
- _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __len * 2));
__ctype.widen(__cs, __cs + __len, __ws);
// Replace decimal point.
- const _CharT* __p;
const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
- if (__p = __traits_type::find(__ws, __len, __ctype.widen('.')))
- __ws[__p - __ws] = __np.decimal_point();
-
-#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
-//282. What types does numpunct grouping refer to?
- // Add grouping, if necessary.
- const string __grouping = __np.grouping();
- ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield;
- if (__grouping.size())
- {
- _CharT* __p2;
- int __declen = __p ? __p - __ws : __len;
- __p2 = __add_grouping(__ws2, __np.thousands_sep(),
- __grouping.c_str(),
- __grouping.c_str() + __grouping.size(),
- __ws, __ws + __declen);
- int __newlen = __p2 - __ws2;
-
- // Tack on decimal part.
- if (__p)
- {
- __traits_type::copy(__p2, __p, __len - __declen);
- __newlen += __len - __declen;
- }
-
- // Switch strings, establish correct new length.
- __ws = __ws2;
- __len = __newlen;
- }
-#endif
- return _M_insert(__s, __io, __fill, __ws, __len);
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- _M_widen_int(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs,
- int __len) const
- {
- // [22.2.2.2.2] Stage 2, convert to char_type, using correct
- // numpunct.decimal_point() values for '.' and adding grouping.
- const locale __loc = __io.getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
- _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __len));
- // Grouping can add (almost) as many separators as the number of
- // digits, but no more.
- _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __len * 2));
- __ctype.widen(__cs, __cs + __len, __ws);
+ const _CharT __cdec = __ctype.widen('.');
+ const _CharT __dec = __np.decimal_point();
+ const _CharT* __p;
+ if (__p = char_traits<_CharT>::find(__ws, __len, __cdec))
+ __ws[__p - __ws] = __dec;
// Add grouping, if necessary.
- const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+ _CharT* __ws2;
const string __grouping = __np.grouping();
- const ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield;
if (__grouping.size())
{
- // By itself __add_grouping cannot deal correctly with __ws when
- // ios::showbase is set and ios_base::oct || ios_base::hex.
- // Therefore we take care "by hand" of the initial 0, 0x or 0X.
- // However, remember that the latter do not occur if the number
- // printed is '0' (__len == 1).
- streamsize __off = 0;
- if ((__io.flags() & ios_base::showbase) && __len > 1)
- if (__basefield == ios_base::oct)
- {
- __off = 1;
- *__ws2 = *__ws;
- }
- else if (__basefield == ios_base::hex)
- {
- __off = 2;
- *__ws2 = *__ws;
- *(__ws2 + 1) = *(__ws + 1);
- }
- _CharT* __p;
- __p = __add_grouping(__ws2 + __off, __np.thousands_sep(),
- __grouping.c_str(),
- __grouping.c_str() + __grouping.size(),
- __ws + __off, __ws + __len);
- __len = __p - __ws2;
- // Switch strings.
- __ws = __ws2;
+ // Grouping can add (almost) as many separators as the
+ // number of digits, but no more.
+ __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len * 2));
+ _M_group_float(__grouping, __np.thousands_sep(), __p,
+ __ws2, __ws, __len);
+ __ws = __ws2;
}
- return _M_insert(__s, __io, __fill, __ws, __len);
- }
- // For use by integer and floating-point types after they have been
- // converted into a char_type string.
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- _M_insert(_OutIter __s, ios_base& __io, _CharT __fill, const _CharT* __ws,
- int __len) const
- {
- typedef char_traits<_CharT> __traits_type;
- // [22.2.2.2.2] Stage 3.
+ // Pad.
+ _CharT* __ws3;
streamsize __w = __io.width();
- _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __w));
if (__w > static_cast<streamsize>(__len))
{
- __pad<_CharT, __traits_type>::_S_pad(__io, __fill, __ws2, __ws,
- __w, __len, true);
- __len = static_cast<int>(__w);
- // Switch strings.
- __ws = __ws2;
+ __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
+ _M_pad(__fill, __w, __io, __ws3, __ws, __len);
+ __ws = __ws3;
}
__io.width(0);
-
+
// [22.2.2.2.2] Stage 4.
// Write resulting, fully-formatted string to output iterator.
- for (int __j = 0; __j < __len; ++__j, ++__s)
- *__s = __ws[__j];
- return __s;
- }
+ return __write(__s, __ws, __len);
+ }
template<typename _CharT, typename _OutIter>
_OutIter
@@ -864,19 +976,32 @@ namespace std
if ((__flags & ios_base::boolalpha) == 0)
{
unsigned long __uv = __v;
- __s = _M_convert_int(__s, __io, __fill, 'u', char(), __uv);
+ __s = _M_convert_int(__s, __io, __fill, __uv);
}
else
{
- typedef basic_string<_CharT> __string_type;
locale __loc = __io.getloc();
const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+ typedef basic_string<_CharT> __string_type;
__string_type __name;
if (__v)
__name = __np.truename();
else
__name = __np.falsename();
- __s = _M_insert(__s, __io, __fill, __name.c_str(), __name.size());
+
+ const _CharT* __cs = __name.c_str();
+ int __len = __name.size();
+ _CharT* __cs3;
+ streamsize __w = __io.width();
+ if (__w > static_cast<streamsize>(__len))
+ {
+ __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __w));
+ _M_pad(__fill, __w, __io, __cs3, __cs, __len);
+ __cs = __cs3;
+ }
+ __io.width(0);
+ __s = __write(__s, __cs, __len);
}
return __s;
}
@@ -885,28 +1010,28 @@ namespace std
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
- { return _M_convert_int(__s, __io, __fill, 'd', char(), __v); }
+ { return _M_convert_int(__s, __io, __fill, __v); }
template<typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long __v) const
- { return _M_convert_int(__s, __io, __fill, 'u', char(), __v); }
+ { return _M_convert_int(__s, __io, __fill, __v); }
#ifdef _GLIBCPP_USE_LONG_LONG
template<typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __b, char_type __fill, long long __v) const
- { return _M_convert_int(__s, __b, __fill, 'd', 'l', __v); }
+ { return _M_convert_int(__s, __b, __fill, __v); }
template<typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long long __v) const
- { return _M_convert_int(__s, __io, __fill, 'u', 'l', __v); }
+ { return _M_convert_int(__s, __io, __fill, __v); }
#endif
template<typename _CharT, typename _OutIter>
@@ -934,7 +1059,7 @@ namespace std
__io.flags(__flags & __fmt | (ios_base::hex | ios_base::showbase));
try
{
- __s = _M_convert_int(__s, __io, __fill, 'u', char(),
+ __s = _M_convert_int(__s, __io, __fill,
reinterpret_cast<unsigned long>(__v));
__io.flags(__flags);
}
@@ -1191,7 +1316,8 @@ namespace std
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
int __len = __convert_from_v(__cs, 0, "%.01Lf", __units, _S_c_locale);
#endif
- _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __cs_size));
+ _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __cs_size));
__ctype.widen(__cs, __cs + __len, __ws);
string_type __digits(__ws);
return this->do_put(__s, __intl, __io, __fill, __digits);
@@ -1285,7 +1411,7 @@ namespace std
const char* __gend = __gbeg + __grouping.size();
const int __n = (__end - __beg) * 2;
_CharT* __ws2 =
- static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __n));
+ static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __n));
_CharT* __ws_end = __add_grouping(__ws2, __sep, __gbeg,
__gend, __beg, __end);
__value.insert(0, __ws2, __ws_end - __ws2);
@@ -1354,8 +1480,7 @@ namespace std
}
// Write resulting, fully-formatted string to output iterator.
- for (size_type __j = 0; __j < __len; ++__j, ++__s)
- *__s = __res[__j];
+ __s = __write(__s, __res.c_str(), __len);
}
__io.width(0);
return __s;
@@ -1611,7 +1736,8 @@ namespace std
ios_base::iostate& __err) const
{
typedef char_traits<_CharT> __traits_type;
- int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int) * __indexlen));
+ int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int)
+ * __indexlen));
size_t __nmatches = 0;
size_t __pos = 0;
bool __testvalid = true;
@@ -1623,12 +1749,12 @@ namespace std
if (__c == __names[__i1][0])
__matches[__nmatches++] = __i1;
- while(__nmatches > 1)
+ while (__nmatches > 1)
{
// Find smallest matching string.
size_t __minlen = 10;
for (size_t __i2 = 0; __i2 < __nmatches; ++__i2)
- __minlen = min(__minlen,
+ __minlen = min(__minlen,
__traits_type::length(__names[__matches[__i2]]));
if (__pos < __minlen && __beg != __end)
@@ -1848,8 +1974,7 @@ namespace std
}
else
__format = __c;
- __s = this->do_put(__s, __io, char_type(), __tm, __format,
- __mod);
+ __s = this->do_put(__s, __io, _CharT(), __tm, __format, __mod);
}
else
{
@@ -1873,8 +1998,7 @@ namespace std
// NB: This size is arbitrary. Should this be a data member,
// initialized at construction?
const size_t __maxlen = 64;
- char_type* __res =
- static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen));
+ char_type* __res = static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen));
// NB: In IEE 1003.1-200x, and perhaps other locale models, it
// is possible that the format character will be longer than one
@@ -1898,10 +2022,7 @@ namespace std
__tp._M_put(__res, __maxlen, __fmt, __tm);
// Write resulting, fully-formatted string to output iterator.
- size_t __len = char_traits<char_type>::length(__res);
- for (size_t __i = 0; __i < __len; ++__i, ++__s)
- *__s = __res[__i];
- return __s;
+ return __write(__s, __res, char_traits<char_type>::length(__res));
}
@@ -1923,9 +2044,37 @@ namespace std
do_compare(const _CharT* __lo1, const _CharT* __hi1,
const _CharT* __lo2, const _CharT* __hi2) const
{
+ // strcoll assumes zero-terminated strings so we make a copy
+ // and then put a zero at the end.
const string_type __one(__lo1, __hi1);
const string_type __two(__lo2, __hi2);
- return _M_compare(__one.c_str(), __two.c_str());
+
+ const _CharT* __p = __one.c_str();
+ const _CharT* __pend = __one.c_str() + __one.length();
+ const _CharT* __q = __two.c_str();
+ const _CharT* __qend = __two.c_str() + __two.length();
+
+ // strcoll stops when it sees a nul character so we break
+ // the strings into zero-terminated substrings and pass those
+ // to strcoll.
+ for (;;)
+ {
+ int __res = _M_compare(__p, __q);
+ if (__res)
+ return __res;
+
+ __p += char_traits<_CharT>::length(__p);
+ __q += char_traits<_CharT>::length(__q);
+ if (__p == __pend && __q == __qend)
+ return 0;
+ else if (__p == __pend)
+ return -1;
+ else if (__q == __qend)
+ return 1;
+
+ __p++;
+ __q++;
+ }
}
template<typename _CharT>
@@ -1933,19 +2082,43 @@ namespace std
collate<_CharT>::
do_transform(const _CharT* __lo, const _CharT* __hi) const
{
+ // strxfrm assumes zero-terminated strings so we make a copy
+ string_type __str(__lo, __hi);
+
+ const _CharT* __p = __str.c_str();
+ const _CharT* __pend = __str.c_str() + __str.length();
+
size_t __len = (__hi - __lo) * 2;
- // First try a buffer perhaps big enough.
- _CharT* __c =
- static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len));
- size_t __res = _M_transform(__c, __lo, __len);
- // If the buffer was not large enough, try again with the correct size.
- if (__res >= __len)
+
+ string_type __ret;
+
+ // strxfrm stops when it sees a nul character so we break
+ // the string into zero-terminated substrings and pass those
+ // to strxfrm.
+ for (;;)
{
- __c =
- static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__res + 1)));
- _M_transform(__c, __lo, __res + 1);
+ // First try a buffer perhaps big enough.
+ _CharT* __c =
+ static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len));
+ size_t __res = _M_transform(__c, __p, __len);
+ // If the buffer was not large enough, try again with the
+ // correct size.
+ if (__res >= __len)
+ {
+ __len = __res + 1;
+ __c = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len));
+ __res = _M_transform(__c, __p, __res + 1);
+ }
+
+ __ret.append(__c, __res);
+ __p += char_traits<_CharT>::length(__p);
+ if (__p == __pend)
+ return __ret;
+
+ __p++;
+ __ret.push_back(_CharT());
}
- return string_type(__c);
}
template<typename _CharT>
@@ -1960,22 +2133,6 @@ namespace std
return static_cast<long>(__val);
}
- // Convert string to numeric value of type _Tv and store results.
- // NB: This is specialized for all required types, there is no
- // generic definition.
- template<typename _Tv>
- void
- __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err,
- const __c_locale& __cloc, int __base = 10);
-
- // Convert numeric value of type _Tv to string and return length of string.
- // If snprintf is available use it, otherwise fall back to the unsafe sprintf
- // which, in general, can be dangerous and should be avoided.
- template<typename _Tv>
- int
- __convert_from_v(char* __out, const int __size, const char* __fmt,
- _Tv __v, const __c_locale&, int __prec = -1);
-
// Construct correctly padded string, as per 22.2.2.2.2
// Assumes
// __newlen > __oldlen
@@ -1988,15 +2145,6 @@ namespace std
// NB: Of the two parameters, _CharT can be deduced from the
// function arguments. The other (_Traits) has to be explicitly specified.
template<typename _CharT, typename _Traits>
- struct __pad
- {
- static void
- _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
- const _CharT* __olds, const streamsize __newlen,
- const streamsize __oldlen, const bool __num);
- };
-
- template<typename _CharT, typename _Traits>
void
__pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
_CharT* __news, const _CharT* __olds,
@@ -2004,7 +2152,8 @@ namespace std
const streamsize __oldlen, const bool __num)
{
size_t __plen = static_cast<size_t>(__newlen - __oldlen);
- _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __plen));
+ _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __plen));
_Traits::assign(__pads, __plen, __fill);
_CharT* __beg;
@@ -2074,14 +2223,6 @@ namespace std
__newlen - __beglen - __mod);
}
- // Used by both numeric and monetary facets.
- // Check to make sure that the __grouping_tmp string constructed in
- // money_get or num_get matches the canonical grouping for a given
- // locale.
- // __grouping_tmp is parsed L to R
- // 1,222,444 == __grouping_tmp of "/1/3/3"
- // __grouping is parsed R to L
- // 1,222,444 == __grouping of "/3" == "/3/3/3"
template<typename _CharT>
bool
__verify_grouping(const basic_string<_CharT>& __grouping,
@@ -2106,11 +2247,6 @@ namespace std
return __test;
}
- // Used by both numeric and monetary facets.
- // Inserts "group separator" characters into an array of characters.
- // It's recursive, one iteration per group. It moves the characters
- // in the buffer this way: "xxxx12345" -> "12,345xxx". Call this
- // only with __gbeg != __gend.
template<typename _CharT>
_CharT*
__add_grouping(_CharT* __s, _CharT __sep,
@@ -2131,9 +2267,186 @@ namespace std
return __s;
}
+#if 1
+ // XXX GLIBCXX_ABI Deprecated, compatibility only.
+ template<typename _CharT, typename _OutIter>
+ template<typename _ValueT>
+ _OutIter
+ num_put<_CharT, _OutIter>::
+ _M_convert_int(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
+ char __modl, _ValueT __v) const
+ {
+ // [22.2.2.2.2] Stage 1, numeric conversion to character.
+
+ // Long enough for the max format spec.
+ char __fbuf[16];
+ _S_format_int(__io, __fbuf, __mod, __modl);
+#ifdef _GLIBCPP_USE_C99
+ // First try a buffer perhaps big enough.
+ int __cs_size = 64;
+ char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
+ int __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
+ _S_c_locale);
+ // If the buffer was not large enough, try again with the correct size.
+ if (__len >= __cs_size)
+ {
+ __cs_size = __len + 1;
+ __cs = static_cast<char*>(__builtin_alloca(__cs_size));
+ __len = __convert_from_v(__cs, __cs_size, __fbuf, __v,
+ _S_c_locale);
+ }
+#else
+ // Leave room for "+/-," "0x," and commas. This size is
+ // arbitrary, but should be largely sufficient.
+ char __cs[128];
+ int __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale);
+#endif
+ return _M_widen_int(__s, __io, __fill, __cs, __len);
+ }
+
+ template<typename _CharT, typename _OutIter>
+ _OutIter
+ num_put<_CharT, _OutIter>::
+ _M_widen_float(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs,
+ int __len) const
+ {
+ typedef char_traits<_CharT> __traits_type;
+ // [22.2.2.2.2] Stage 2, convert to char_type, using correct
+ // numpunct.decimal_point() values for '.' and adding grouping.
+ const locale __loc = __io.getloc();
+ const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+ _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len));
+ // Grouping can add (almost) as many separators as the number of
+ // digits, but no more.
+ _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len * 2));
+ __ctype.widen(__cs, __cs + __len, __ws);
+
+ // Replace decimal point.
+ const _CharT* __p;
+ const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+ if (__p = __traits_type::find(__ws, __len, __ctype.widen('.')))
+ __ws[__p - __ws] = __np.decimal_point();
+
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+//282. What types does numpunct grouping refer to?
+ // Add grouping, if necessary.
+ const string __grouping = __np.grouping();
+ if (__grouping.size())
+ {
+ _CharT* __p2;
+ int __declen = __p ? __p - __ws : __len;
+ __p2 = __add_grouping(__ws2, __np.thousands_sep(),
+ __grouping.c_str(),
+ __grouping.c_str() + __grouping.size(),
+ __ws, __ws + __declen);
+ int __newlen = __p2 - __ws2;
+
+ // Tack on decimal part.
+ if (__p)
+ {
+ __traits_type::copy(__p2, __p, __len - __declen);
+ __newlen += __len - __declen;
+ }
+
+ // Switch strings, establish correct new length.
+ __ws = __ws2;
+ __len = __newlen;
+ }
+#endif
+ return _M_insert(__s, __io, __fill, __ws, __len);
+ }
+
+ template<typename _CharT, typename _OutIter>
+ _OutIter
+ num_put<_CharT, _OutIter>::
+ _M_widen_int(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs,
+ int __len) const
+ {
+ // [22.2.2.2.2] Stage 2, convert to char_type, using correct
+ // numpunct.decimal_point() values for '.' and adding grouping.
+ const locale __loc = __io.getloc();
+ const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+ _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len));
+ // Grouping can add (almost) as many separators as the number of
+ // digits, but no more.
+ _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __len * 2));
+ __ctype.widen(__cs, __cs + __len, __ws);
+
+ // Add grouping, if necessary.
+ const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+ const string __grouping = __np.grouping();
+ if (__grouping.size())
+ {
+ // By itself __add_grouping cannot deal correctly with __ws when
+ // ios::showbase is set and ios_base::oct || ios_base::hex.
+ // Therefore we take care "by hand" of the initial 0, 0x or 0X.
+ // However, remember that the latter do not occur if the number
+ // printed is '0' (__len == 1).
+ streamsize __off = 0;
+ const ios_base::fmtflags __basefield = __io.flags()
+ & ios_base::basefield;
+ if ((__io.flags() & ios_base::showbase) && __len > 1)
+ if (__basefield == ios_base::oct)
+ {
+ __off = 1;
+ *__ws2 = *__ws;
+ }
+ else if (__basefield == ios_base::hex)
+ {
+ __off = 2;
+ *__ws2 = *__ws;
+ *(__ws2 + 1) = *(__ws + 1);
+ }
+ _CharT* __p;
+ __p = __add_grouping(__ws2 + __off, __np.thousands_sep(),
+ __grouping.c_str(),
+ __grouping.c_str() + __grouping.size(),
+ __ws + __off, __ws + __len);
+ __len = __p - __ws2;
+ // Switch strings.
+ __ws = __ws2;
+ }
+ return _M_insert(__s, __io, __fill, __ws, __len);
+ }
+
+ // For use by integer and floating-point types after they have been
+ // converted into a char_type string.
+ template<typename _CharT, typename _OutIter>
+ _OutIter
+ num_put<_CharT, _OutIter>::
+ _M_insert(_OutIter __s, ios_base& __io, _CharT __fill, const _CharT* __ws,
+ int __len) const
+ {
+ typedef char_traits<_CharT> __traits_type;
+ // [22.2.2.2.2] Stage 3.
+ // If necessary, pad.
+ streamsize __w = __io.width();
+ _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+ * __w));
+ if (__w > static_cast<streamsize>(__len))
+ {
+ __pad<_CharT, __traits_type>::_S_pad(__io, __fill, __ws2, __ws,
+ __w, __len, true);
+ __len = static_cast<int>(__w);
+ // Switch strings.
+ __ws = __ws2;
+ }
+ __io.width(0);
+
+ // [22.2.2.2.2] Stage 4.
+ // Write resulting, fully-formatted string to output iterator.
+ return __write(__s, __ws, __len);
+ }
+#endif
+
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class moneypunct<char, false>;
extern template class moneypunct<char, true>;
extern template class moneypunct_byname<char, false>;
@@ -2387,6 +2700,7 @@ namespace std
bool
has_facet<messages<wchar_t> >(const locale&);
#endif
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h
index 76279609921..ac9e1a95425 100644
--- a/libstdc++-v3/include/bits/localefwd.h
+++ b/libstdc++-v3/include/bits/localefwd.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -37,18 +37,15 @@
* You should not attempt to use it directly.
*/
-#ifndef _CPP_BITS_LOCCORE_H
-#define _CPP_BITS_LOCCORE_H 1
+#ifndef _CPP_BITS_LOCALE_FWD_H
+#define _CPP_BITS_LOCALE_FWD_H 1
#pragma GCC system_header
#include <bits/c++config.h>
#include <bits/c++locale.h> // Defines __c_locale, config-specific includes
-#include <climits> // For CHAR_BIT
-#include <cctype> // For isspace, etc.
-#include <string> // For string.
+#include <iosfwd> // For ostreambuf_iterator, istreambuf_iterator
#include <bits/functexcept.h>
-#include <bits/atomicity.h>
namespace std
{
@@ -108,7 +105,6 @@ namespace std
inline _CharT
tolower(_CharT, const locale&);
-
// 22.2.1 and 22.2.1.3 ctype
class ctype_base;
template<typename _CharT>
@@ -175,324 +171,6 @@ namespace std
template<typename _CharT>
class messages_byname;
- // 22.1.1 Class locale
- class locale
- {
- public:
- // Types:
- typedef unsigned int category;
-
- // Forward decls and friends:
- class facet;
- class id;
- class _Impl;
-
- friend class facet;
- friend class _Impl;
-
- template<typename _Facet>
- friend const _Facet&
- use_facet(const locale&);
-
- template<typename _Facet>
- friend bool
- has_facet(const locale&) throw();
-
- // Category values:
- // NB: Order must match _S_facet_categories definition in locale.cc
- static const category none = 0;
- static const category ctype = 1L << 0;
- static const category numeric = 1L << 1;
- static const category collate = 1L << 2;
- static const category time = 1L << 3;
- static const category monetary = 1L << 4;
- static const category messages = 1L << 5;
- static const category all = (ctype | numeric | collate |
- time | monetary | messages);
-
- // Construct/copy/destroy:
- locale() throw();
-
- locale(const locale& __other) throw();
-
- explicit
- locale(const char* __s);
-
- locale(const locale& __base, const char* __s, category __cat);
-
- locale(const locale& __base, const locale& __add, category __cat);
-
- template<typename _Facet>
- locale(const locale& __other, _Facet* __f);
-
- ~locale() throw();
-
- const locale&
- operator=(const locale& __other) throw();
-
- template<typename _Facet>
- locale
- combine(const locale& __other) const;
-
- // Locale operations:
- string
- name() const;
-
- bool
- operator==(const locale& __other) const throw ();
-
- inline bool
- operator!=(const locale& __other) const throw ()
- { return !(this->operator==(__other)); }
-
- template<typename _Char, typename _Traits, typename _Alloc>
- bool
- operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
- const basic_string<_Char, _Traits, _Alloc>& __s2) const;
-
- // Global locale objects:
- static locale
- global(const locale&);
-
- static const locale&
- classic();
-
- private:
- // The (shared) implementation
- _Impl* _M_impl;
-
- // The "C" reference locale
- static _Impl* _S_classic;
-
- // Current global reference locale
- static _Impl* _S_global;
-
- // Number of standard categories. For C++, these categories are
- // collate, ctype, monetary, numeric, time, and messages. These
- // directly correspond to ISO C99 macros LC_COLLATE, LC_CTYPE,
- // LC_MONETARY, LC_NUMERIC, and LC_TIME. In addition, POSIX (IEEE
- // 1003.1-2001) specifies LC_MESSAGES.
- static const size_t _S_categories_size = 6;
-
- // In addition to the standard categories, the underlying
- // operating system is allowed to define extra LC_*
- // macros. For GNU systems, the following are also valid:
- // LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT,
- // and LC_IDENTIFICATION.
- static const size_t _S_extra_categories_size = _GLIBCPP_NUM_CATEGORIES;
-
- // Names of underlying locale categories.
- // NB: locale::global() has to know how to modify all the
- // underlying categories, not just the ones required by the C++
- // standard.
- static const char* _S_categories[_S_categories_size
- + _S_extra_categories_size];
-
- explicit
- locale(_Impl*) throw();
-
- static inline void
- _S_initialize()
- {
- if (!_S_classic)
- classic();
- }
-
- static category
- _S_normalize_category(category);
-
- void
- _M_coalesce(const locale& __base, const locale& __add, category __cat);
- };
-
-
- // Implementation object for locale
- class locale::_Impl
- {
- public:
- // Friends.
- friend class locale;
- friend class locale::facet;
-
- template<typename _Facet>
- friend const _Facet&
- use_facet(const locale&);
-
- template<typename _Facet>
- friend bool
- has_facet(const locale&) throw();
-
- private:
- // Data Members.
- _Atomic_word _M_references;
- facet** _M_facets;
- size_t _M_facets_size;
-
- char* _M_names[_S_categories_size
- + _S_extra_categories_size];
- static const locale::id* const _S_id_ctype[];
- static const locale::id* const _S_id_numeric[];
- static const locale::id* const _S_id_collate[];
- static const locale::id* const _S_id_time[];
- static const locale::id* const _S_id_monetary[];
- static const locale::id* const _S_id_messages[];
- static const locale::id* const* const _S_facet_categories[];
-
- inline void
- _M_add_reference() throw()
- { __atomic_add(&_M_references, 1); }
-
- inline void
- _M_remove_reference() throw()
- {
- if (__exchange_and_add(&_M_references, -1) == 1)
- {
- try
- { delete this; }
- catch(...)
- { }
- }
- }
-
- _Impl(const _Impl&, size_t);
- _Impl(const char*, size_t);
- _Impl(facet**, size_t, bool);
-
- ~_Impl() throw();
-
- _Impl(const _Impl&); // Not defined.
-
- void
- operator=(const _Impl&); // Not defined.
-
- inline bool
- _M_check_same_name()
- {
- bool __ret = true;
- for (size_t __i = 0;
- __ret && __i < _S_categories_size + _S_extra_categories_size - 1;
- ++__i)
- __ret &= (strcmp(_M_names[__i], _M_names[__i + 1]) == 0);
- return __ret;
- }
-
- void
- _M_replace_categories(const _Impl*, category);
-
- void
- _M_replace_category(const _Impl*, const locale::id* const*);
-
- void
- _M_replace_facet(const _Impl*, const locale::id*);
-
- void
- _M_install_facet(const locale::id*, facet*);
-
- template<typename _Facet>
- inline void
- _M_init_facet(_Facet* __facet)
- { _M_install_facet(&_Facet::id, __facet); }
- };
-
- template<typename _Facet>
- locale::locale(const locale& __other, _Facet* __f)
- {
- _M_impl = new _Impl(*__other._M_impl, 1);
- _M_impl->_M_install_facet(&_Facet::id, __f);
- for (size_t __i = 0;
- __i < _S_categories_size + _S_extra_categories_size; ++__i)
- {
- delete [] _M_impl->_M_names[__i];
- char* __new = new char[2];
- strcpy(__new, "*");
- _M_impl->_M_names[__i] = __new;
- }
- }
-
- // 22.1.1.1.2 Class locale::facet
- class locale::facet
- {
- private:
- friend class locale;
- friend class locale::_Impl;
-
- _Atomic_word _M_references;
-
- protected:
- // Contains data from the underlying "C" library for default "C"
- // or "POSIX" locale.
- static __c_locale _S_c_locale;
-
- explicit
- facet(size_t __refs = 0) throw();
-
- virtual
- ~facet();
-
- static void
- _S_create_c_locale(__c_locale& __cloc, const char* __s,
- __c_locale __old = 0);
-
- static __c_locale
- _S_clone_c_locale(__c_locale& __cloc);
-
- static void
- _S_destroy_c_locale(__c_locale& __cloc);
-
- private:
- void
- _M_add_reference() throw();
-
- void
- _M_remove_reference() throw();
-
- facet(const facet&); // Not defined.
-
- void
- operator=(const facet&); // Not defined.
- };
-
-
- // 22.1.1.1.3 Class locale::id
- class locale::id
- {
- private:
- friend class locale;
- friend class locale::_Impl;
- template<typename _Facet>
- friend const _Facet&
- use_facet(const locale&);
- template<typename _Facet>
- friend bool
- has_facet(const locale&) throw ();
-
- // NB: There is no accessor for _M_index because it may be used
- // before the constructor is run; the effect of calling a member
- // function (even an inline) would be undefined.
- mutable size_t _M_index;
-
- // Last id number assigned.
- static _Atomic_word _S_highwater;
-
- void
- operator=(const id&); // Not defined.
-
- id(const id&); // Not defined.
-
- public:
- // NB: This class is always a static data member, and thus can be
- // counted on to be zero-initialized.
- id();
-
- inline size_t
- _M_id() const
- {
- if (!_M_index)
- _M_index = 1 + __exchange_and_add(&_S_highwater, 1);
- return _M_index - 1;
- }
- };
-
template<typename _Facet>
const _Facet&
use_facet(const locale& __loc);
diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc
index e42eca29192..ab15ae8703b 100644
--- a/libstdc++-v3/include/bits/ostream.tcc
+++ b/libstdc++-v3/include/bits/ostream.tcc
@@ -41,11 +41,19 @@ namespace std
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>::sentry::
sentry(basic_ostream<_CharT,_Traits>& __os)
- : _M_ok(__os.good()), _M_os(__os)
+ : _M_os(__os)
{
- // XXX MT
- if (_M_ok && __os.tie())
- __os.tie()->flush();
+ // XXX MT
+ if (__os.tie() && __os.good())
+ __os.tie()->flush();
+
+ if (__os.good())
+ _M_ok = true;
+ else
+ {
+ _M_ok = false;
+ __os.setstate(ios_base::failbit);
+ }
}
template<typename _CharT, typename _Traits>
@@ -58,11 +66,11 @@ namespace std
{
try
{ __pf(*this); }
- catch(exception& __fail)
+ catch(...)
{
// 27.6.2.5.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -80,11 +88,11 @@ namespace std
{
try
{ __pf(*this); }
- catch(exception& __fail)
+ catch(...)
{
// 27.6.2.5.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -102,11 +110,11 @@ namespace std
{
try
{ __pf(*this); }
- catch(exception& __fail)
+ catch(...)
{
// 27.6.2.5.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -126,11 +134,11 @@ namespace std
if (!__copy_streambufs(*this, __sbin, this->rdbuf()))
this->setstate(ios_base::failbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.2.5.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -153,11 +161,11 @@ namespace std
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -190,11 +198,11 @@ namespace std
this->setstate(ios_base::badbit);
}
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -215,11 +223,11 @@ namespace std
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -254,11 +262,11 @@ namespace std
this->setstate(ios_base::badbit);
}
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -279,11 +287,11 @@ namespace std
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -305,11 +313,11 @@ namespace std
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -330,11 +338,11 @@ namespace std
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -355,11 +363,11 @@ namespace std
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- this->setstate(ios_base::badbit);
+ this->_M_setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -468,7 +476,7 @@ namespace std
{
try
{
- streamsize __w = __out.width();
+ const streamsize __w = __out.width() > 0 ? __out.width() : 0;
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__w + 1)));
__pads[0] = __c;
streamsize __len = 1;
@@ -481,11 +489,11 @@ namespace std
__out.write(__pads, __len);
__out.width(0);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __out.setstate(ios_base::badbit);
+ __out._M_setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -504,7 +512,7 @@ namespace std
{
try
{
- streamsize __w = __out.width();
+ const streamsize __w = __out.width() > 0 ? __out.width() : 0;
char* __pads = static_cast<char*>(__builtin_alloca(__w + 1));
__pads[0] = __c;
streamsize __len = 1;
@@ -517,11 +525,11 @@ namespace std
__out.write(__pads, __len);
__out.width(0);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __out.setstate(ios_base::badbit);
+ __out._M_setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -539,7 +547,7 @@ namespace std
{
try
{
- streamsize __w = __out.width();
+ const streamsize __w = __out.width() > 0 ? __out.width() : 0;
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
@@ -552,11 +560,11 @@ namespace std
__out.write(__s, __len);
__out.width(0);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __out.setstate(ios_base::badbit);
+ __out._M_setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -588,7 +596,7 @@ namespace std
try
{
streamsize __len = static_cast<streamsize>(__clen);
- streamsize __w = __out.width();
+ const streamsize __w = __out.width() > 0 ? __out.width() : 0;
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
if (__w > __len)
@@ -601,11 +609,11 @@ namespace std
__out.write(__str, __len);
__out.width(0);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __out.setstate(ios_base::badbit);
+ __out._M_setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -626,7 +634,7 @@ namespace std
{
try
{
- streamsize __w = __out.width();
+ const streamsize __w = __out.width() > 0 ? __out.width() : 0;
char* __pads = static_cast<char*>(__builtin_alloca(__w));
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
@@ -640,11 +648,11 @@ namespace std
__out.write(__s, __len);
__out.width(0);
}
- catch(exception& __fail)
+ catch(...)
{
// 27.6.1.2.1 Common requirements.
// Turn this on without causing an ios::failure to be thrown.
- __out.setstate(ios_base::badbit);
+ __out._M_setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
__throw_exception_again;
}
@@ -665,7 +673,7 @@ namespace std
if (__cerb)
{
const _CharT* __s = __str.data();
- streamsize __w = __out.width();
+ const streamsize __w = __out.width() > 0 ? __out.width() : 0;
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
streamsize __len = static_cast<streamsize>(__str.size());
#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
@@ -689,6 +697,7 @@ namespace std
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class basic_ostream<char>;
extern template ostream& endl(ostream&);
extern template ostream& ends(ostream&);
@@ -710,4 +719,5 @@ namespace std
extern template wostream& operator<<(wostream&, const wchar_t*);
extern template wostream& operator<<(wostream&, const char*);
#endif
+#endif
} // namespace std
diff --git a/libstdc++-v3/include/bits/stl_alloc.h b/libstdc++-v3/include/bits/stl_alloc.h
index bab39fb7150..9677c3e89ee 100644
--- a/libstdc++-v3/include/bits/stl_alloc.h
+++ b/libstdc++-v3/include/bits/stl_alloc.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -85,7 +85,6 @@
#include <cstddef>
#include <cstdlib>
#include <cstring>
-#include <cassert>
#include <bits/functexcept.h> // For __throw_bad_alloc
#include <bits/stl_threads.h>
@@ -129,9 +128,7 @@ namespace std
{
private:
static void* _S_oom_malloc(size_t);
-#ifdef _GLIBCPP_DEPRECATED
static void* _S_oom_realloc(void*, size_t);
-#endif
static void (* __malloc_alloc_oom_handler)();
public:
@@ -148,7 +145,6 @@ namespace std
deallocate(void* __p, size_t /* __n */)
{ free(__p); }
-#ifdef _GLIBCPP_DEPRECATED
static void*
reallocate(void* __p, size_t /* old_sz */, size_t __new_sz)
{
@@ -157,7 +153,6 @@ namespace std
__result = _S_oom_realloc(__p, __new_sz);
return __result;
}
-#endif
static void (* __set_malloc_handler(void (*__f)()))()
{
@@ -191,7 +186,6 @@ namespace std
}
}
-#ifdef _GLIBCPP_DEPRECATED
template<int __inst>
void*
__malloc_alloc_template<__inst>::
@@ -211,7 +205,6 @@ namespace std
return __result;
}
}
-#endif
// Should not be referenced within the library anymore.
typedef __new_alloc __mem_interface;
@@ -257,10 +250,7 @@ namespace std
/**
* @if maint
* An adaptor for an underlying allocator (_Alloc) to check the size
- * arguments for debugging. Errors are reported using assert; these
- * checks can be disabled via NDEBUG, but the space penalty is still
- * paid, therefore it is far better to just use the underlying allocator
- * by itelf when no checking is desired.
+ * arguments for debugging.
*
* "There is some evidence that this can confuse Purify." - SGI comment
*
@@ -289,23 +279,23 @@ namespace std
deallocate(void* __p, size_t __n)
{
char* __real_p = (char*)__p - (int) _S_extra;
- assert(*(size_t*)__real_p == __n);
+ if (*(size_t*)__real_p != __n)
+ abort();
_Alloc::deallocate(__real_p, __n + (int) _S_extra);
}
-#ifdef _GLIBCPP_DEPRECATED
static void*
reallocate(void* __p, size_t __old_sz, size_t __new_sz)
{
char* __real_p = (char*)__p - (int) _S_extra;
- assert(*(size_t*)__real_p == __old_sz);
+ if (*(size_t*)__real_p != __old_sz)
+ abort();
char* __result = (char*) _Alloc::reallocate(__real_p,
__old_sz + (int) _S_extra,
__new_sz + (int) _S_extra);
*(size_t*)__result = __new_sz;
return __result + (int) _S_extra;
}
-#endif
};
@@ -407,8 +397,6 @@ namespace std
__atomic_add(&_S_force_new, 1);
else
__atomic_add(&_S_force_new, -1);
- // Trust but verify...
- assert(_S_force_new != 0);
}
if ((__n > (size_t) _MAX_BYTES) || (_S_force_new > 0))
@@ -456,10 +444,8 @@ namespace std
}
}
-#ifdef _GLIBCPP_DEPRECATED
static void*
reallocate(void* __p, size_t __old_sz, size_t __new_sz);
-#endif
};
template<bool __threads, int __inst> _Atomic_word
@@ -514,8 +500,8 @@ namespace std
_Obj* volatile* __my_free_list =
_S_free_list + _S_freelist_index(__bytes_left);
- ((_Obj*)_S_start_free) -> _M_free_list_link = *__my_free_list;
- *__my_free_list = (_Obj*)_S_start_free;
+ ((_Obj*)(void*)_S_start_free) -> _M_free_list_link = *__my_free_list;
+ *__my_free_list = (_Obj*)(void*)_S_start_free;
}
_S_start_free = (char*) __new_alloc::allocate(__bytes_to_get);
if (_S_start_free == 0)
@@ -573,12 +559,12 @@ namespace std
__my_free_list = _S_free_list + _S_freelist_index(__n);
// Build free list in chunk.
- __result = (_Obj*)__chunk;
- *__my_free_list = __next_obj = (_Obj*)(__chunk + __n);
+ __result = (_Obj*)(void*)__chunk;
+ *__my_free_list = __next_obj = (_Obj*)(void*)(__chunk + __n);
for (__i = 1; ; __i++)
{
__current_obj = __next_obj;
- __next_obj = (_Obj*)((char*)__next_obj + __n);
+ __next_obj = (_Obj*)(void*)((char*)__next_obj + __n);
if (__nobjs - 1 == __i)
{
__current_obj -> _M_free_list_link = 0;
@@ -591,7 +577,6 @@ namespace std
}
-#ifdef _GLIBCPP_DEPRECATED
template<bool threads, int inst>
void*
__default_alloc_template<threads, inst>::
@@ -610,7 +595,6 @@ namespace std
deallocate(__p, __old_sz);
return __result;
}
-#endif
template<bool __threads, int __inst>
_STL_mutex_lock
@@ -980,9 +964,11 @@ namespace std
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class allocator<char>;
extern template class allocator<wchar_t>;
extern template class __default_alloc_template<true,0>;
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index fd066cc7e1f..529ad774175 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -106,9 +106,12 @@ namespace std
public:
/**
- * The default constructor gives an undefined state to this %iterator.
+ * The default constructor default-initializes member @p current.
+ * If it is a pointer, that means it is zero-initialized.
*/
- reverse_iterator() { }
+ // _GLIBCPP_RESOLVE_LIB_DEFECTS
+ // 235 No specification of default ctor for reverse_iterator
+ reverse_iterator() : current() { }
/**
* This %iterator will move in the opposite direction that @p x does.
diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc
index 5f57df583a7..be858621b85 100644
--- a/libstdc++-v3/include/bits/streambuf.tcc
+++ b/libstdc++-v3/include/bits/streambuf.tcc
@@ -1,6 +1,6 @@
// Stream buffer classes -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -67,8 +67,7 @@ namespace std
{
int_type __ret;
bool __testpos = _M_in_cur && _M_in_beg < _M_in_cur;
- bool __testne = _M_in_cur && !traits_type::eq(__c, this->gptr()[-1]);
- if (!__testpos || __testne)
+ if (!__testpos || !traits_type::eq(__c, this->gptr()[-1]))
__ret = this->pbackfail(traits_type::to_int_type(__c));
else
{
@@ -199,54 +198,46 @@ namespace std
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout)
{
- typedef typename _Traits::int_type int_type;
-
- streamsize __ret = 0;
- streamsize __bufsize = __sbin->in_avail();
- streamsize __xtrct;
- bool __testput = __sbout->_M_mode & ios_base::out;
- try
- {
- while (__testput && __bufsize != -1)
- {
- if (__bufsize != 0 && __sbin->gptr() != NULL
- && __sbin->gptr() + __bufsize <= __sbin->egptr())
- {
- __xtrct = __sbout->sputn(__sbin->gptr(), __bufsize);
- __ret += __xtrct;
- __sbin->_M_in_cur_move(__xtrct);
- if (__xtrct != __bufsize)
- break;
- }
- else
- {
- size_t __size =
- __sbin->_M_buf_size_opt > 0 ? __sbin->_M_buf_size_opt : 1;
- _CharT* __buf =
- static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __size));
- streamsize __charsread = __sbin->sgetn(__buf, __size);
- __xtrct = __sbout->sputn(__buf, __charsread);
- __ret += __xtrct;
- if (__xtrct != __charsread)
- break;
- }
- if (_Traits::eq_int_type(__sbin->sgetc(), _Traits::eof()))
- break;
- __bufsize = __sbin->in_avail();
- }
- }
- catch(exception& __fail)
- {
- __ios.setstate(ios_base::failbit);
- if ((__ios.exceptions() & ios_base::failbit) != 0)
- __throw_exception_again;
- }
- return __ret;
- }
+ streamsize __ret = 0;
+ try
+ {
+ typename _Traits::int_type __c = __sbin->sgetc();
+ while (!_Traits::eq_int_type(__c, _Traits::eof()))
+ {
+ const size_t __n = __sbin->_M_in_end - __sbin->_M_in_cur;
+ if (__n > 1)
+ {
+ const size_t __wrote = __sbout->sputn(__sbin->_M_in_cur,
+ __n);
+ __sbin->_M_in_cur_move(__wrote);
+ __ret += __wrote;
+ if (__wrote < __n)
+ break;
+ __c = __sbin->underflow();
+ }
+ else
+ {
+ __c = __sbout->sputc(_Traits::to_char_type(__c));
+ if (_Traits::eq_int_type(__c, _Traits::eof()))
+ break;
+ ++__ret;
+ __c = __sbin->snextc();
+ }
+ }
+ }
+ catch(exception& __fail)
+ {
+ __ios.setstate(ios_base::failbit);
+ if ((__ios.exceptions() & ios_base::failbit) != 0)
+ __throw_exception_again;
+ }
+ return __ret;
+ }
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template class basic_streambuf<char>;
extern template
streamsize
@@ -260,6 +251,7 @@ namespace std
__copy_streambufs(basic_ios<wchar_t>&, basic_streambuf<wchar_t>*,
basic_streambuf<wchar_t>*);
#endif
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index 152df9c6e4b..d482aba8256 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -1,6 +1,6 @@
// Streambuf iterators
-// 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 the GNU ISO C++ Library. This library is free
@@ -28,8 +28,6 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-// XXX Should specialize copy, find algorithms for streambuf iterators.
-
/** @file streambuf_iterator.h
* This is an internal header file, included by other library headers.
* You should not attempt to use it directly.
@@ -40,6 +38,10 @@
#pragma GCC system_header
+#include <streambuf>
+
+// NB: Should specialize copy, find algorithms for streambuf iterators.
+
namespace std
{
// 24.5.3 Template class istreambuf_iterator
@@ -166,7 +168,6 @@ namespace std
bool _M_failed;
public:
- inline
ostreambuf_iterator(ostream_type& __s) throw ()
: _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
@@ -174,7 +175,13 @@ namespace std
: _M_sbuf(__s), _M_failed(!_M_sbuf) { }
ostreambuf_iterator&
- operator=(_CharT __c);
+ operator=(_CharT __c)
+ {
+ if (!_M_failed &&
+ _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
+ _M_failed = true;
+ return *this;
+ }
ostreambuf_iterator&
operator*() throw()
@@ -191,16 +198,15 @@ namespace std
bool
failed() const throw()
{ return _M_failed; }
- };
- template<typename _CharT, typename _Traits>
- inline ostreambuf_iterator<_CharT, _Traits>&
- ostreambuf_iterator<_CharT, _Traits>::operator=(_CharT __c)
- {
- if (!_M_failed &&
- _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
- _M_failed = true;
- return *this;
- }
+ ostreambuf_iterator&
+ _M_put(const _CharT* __ws, streamsize __len)
+ {
+ if (__builtin_expect(!_M_failed, true) &&
+ __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, false))
+ _M_failed = true;
+ return *this;
+ }
+ };
} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/valarray_meta.h b/libstdc++-v3/include/bits/valarray_meta.h
index 8b3e74fedc3..29a2dac2af4 100644
--- a/libstdc++-v3/include/bits/valarray_meta.h
+++ b/libstdc++-v3/include/bits/valarray_meta.h
@@ -268,7 +268,7 @@ namespace std
{
template<typename _Tp>
bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x == __y; }
+ { return __x != __y; }
};
struct __less
@@ -457,7 +457,7 @@ namespace std
_UnBase(const _Arg& __e) : _M_expr(__e) {}
value_type operator[](size_t __i) const
- { return _M_expr[__i]; }
+ { return _Oper()(_M_expr[__i]); }
size_t size() const { return _M_expr.size(); }
diff --git a/libstdc++-v3/include/c_std/std_cmath.h b/libstdc++-v3/include/c_std/std_cmath.h
index b2f65c82d67..1264c4dba69 100644
--- a/libstdc++-v3/include/c_std/std_cmath.h
+++ b/libstdc++-v3/include/c_std/std_cmath.h
@@ -1,6 +1,6 @@
// -*- C++ -*- C forwarding header.
-// 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 the GNU ISO C++ Library. This library is free
@@ -76,6 +76,91 @@
#undef tan
#undef tanh
+// ...and in the darkness bind them...
+namespace __gnu_cxx
+{
+ namespace __c99_binding
+ {
+#if _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK || \
+ _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC
+ extern "C" float (acosf)(float);
+ extern "C" float (asinf)(float);
+ extern "C" float (atanf)(float);
+ extern "C" float (atan2f)(float, float);
+ extern "C" float (ceilf)(float);
+ extern "C" float (coshf)(float);
+ extern "C" float (expf)(float);
+ extern "C" float (floorf)(float);
+ extern "C" float (fmodf)(float, float);
+ extern "C" float (frexpf)(float, int*);
+ extern "C" float (ldexpf)(float, int);
+ extern "C" float (logf)(float);
+ extern "C" float (log10f)(float);
+ extern "C" float (modff)(float, float*);
+ extern "C" float (powf)(float, float);
+ extern "C" float (sinhf)(float);
+ extern "C" float (tanf)(float);
+ extern "C" float (tanhf)(float);
+#endif
+#if !_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC
+#if _GLIBCPP_HAVE_ACOSF
+ using ::acosf;
+#endif
+#if _GLIBCPP_HAVE_ASINF
+ using ::asinf;
+#endif
+#if _GLIBCPP_HAVE_ATANF
+ using ::atanf;
+#endif
+#if _GLIBCPP_HAVE_ATAN2F
+ using ::atan2f;
+#endif
+#if _GLIBCPP_HAVE_CEILF
+ using ::ceilf;
+#endif
+#if _GLIBCPP_HAVE_COSHF
+ using ::coshf;
+#endif
+#if _GLIBCPP_HAVE_EXPF
+ using ::expf;
+#endif
+#if _GLIBCPP_HAVE_FLOORF
+ using ::floorf;
+#endif
+#if _GLIBCPP_HAVE_FMODF
+ using ::fmodf;
+#endif
+#if _GLIBCPP_HAVE_FREXPF
+ using ::frexpf;
+#endif
+#if _GLIBCPP_HAVE_LDEXPF
+ using ::ldexpf;
+#endif
+#if _GLIBCPP_HAVE_LOGF
+ using ::logf;
+#endif
+#if _GLIBCPP_HAVE_LOG10F
+ using ::log10f;
+#endif
+#if _GLIBCPP_HAVE_MODFF
+ using ::modff;
+#endif
+#if _GLIBCPP_HAVE_POWF
+ using ::powf;
+#endif
+#if _GLIBCPP_HAVE_SINHF
+ using ::sinhf;
+#endif
+#if _GLIBCPP_HAVE_TANF
+ using ::tanf;
+#endif
+#if _GLIBCPP_HAVE_TANHF
+ using ::tanhf;
+#endif
+#endif /* _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC */
+ }
+}
+
namespace std
{
// Forward declaration of a helper function. This really should be
@@ -96,7 +181,7 @@ namespace std
#if _GLIBCPP_HAVE_ACOSF
inline float
- acos(float __x) { return ::acosf(__x); }
+ acos(float __x) { return __gnu_cxx::__c99_binding::acosf(__x); }
#else
inline float
acos(float __x) { return ::acos(static_cast<double>(__x)); }
@@ -116,7 +201,7 @@ namespace std
#if _GLIBCPP_HAVE_ASINF
inline float
- asin(float __x) { return ::asinf(__x); }
+ asin(float __x) { return __gnu_cxx::__c99_binding::asinf(__x); }
#else
inline float
asin(float __x) { return ::asin(static_cast<double>(__x)); }
@@ -134,7 +219,7 @@ namespace std
#if _GLIBCPP_HAVE_ATANF
inline float
- atan(float __x) { return ::atanf(__x); }
+ atan(float __x) { return __gnu_cxx::__c99_binding::atanf(__x); }
#else
inline float
atan(float __x) { return ::atan(static_cast<double>(__x)); }
@@ -152,7 +237,7 @@ namespace std
#if _GLIBCPP_HAVE_ATAN2F
inline float
- atan2(float __y, float __x) { return ::atan2f(__y, __x); }
+ atan2(float __y, float __x) { return __gnu_cxx::__c99_binding::atan2f(__y, __x); }
#else
inline float
atan2(float __y, float __x)
@@ -172,7 +257,7 @@ namespace std
#if _GLIBCPP_HAVE_CEILF
inline float
- ceil(float __x) { return ::ceilf(__x); }
+ ceil(float __x) { return __gnu_cxx::__c99_binding::ceilf(__x); }
#else
inline float
ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
@@ -200,7 +285,7 @@ namespace std
#if _GLIBCPP_HAVE_COSHF
inline float
- cosh(float __x) { return ::coshf(__x); }
+ cosh(float __x) { return __gnu_cxx::__c99_binding::coshf(__x); }
#else
inline float
cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
@@ -218,7 +303,7 @@ namespace std
#if _GLIBCPP_HAVE_EXPF
inline float
- exp(float __x) { return ::expf(__x); }
+ exp(float __x) { return __gnu_cxx::__c99_binding::expf(__x); }
#else
inline float
exp(float __x) { return ::exp(static_cast<double>(__x)); }
@@ -246,7 +331,7 @@ namespace std
#if _GLIBCPP_HAVE_FLOORF
inline float
- floor(float __x) { return ::floorf(__x); }
+ floor(float __x) { return __gnu_cxx::__c99_binding::floorf(__x); }
#else
inline float
floor(float __x) { return ::floor(static_cast<double>(__x)); }
@@ -264,7 +349,7 @@ namespace std
#if _GLIBCPP_HAVE_FMODF
inline float
- fmod(float __x, float __y) { return ::fmodf(__x, __y); }
+ fmod(float __x, float __y) { return __gnu_cxx::__c99_binding::fmodf(__x, __y); }
#else
inline float
fmod(float __x, float __y)
@@ -284,7 +369,7 @@ namespace std
#if _GLIBCPP_HAVE_FREXPF
inline float
- frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
+ frexp(float __x, int* __exp) { return __gnu_cxx::__c99_binding::frexpf(__x, __exp); }
#else
inline float
frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
@@ -303,7 +388,7 @@ namespace std
#if _GLIBCPP_HAVE_LDEXPF
inline float
- ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
+ ldexp(float __x, int __exp) { return __gnu_cxx::__c99_binding::ldexpf(__x, __exp); }
#else
inline float
ldexp(float __x, int __exp)
@@ -323,7 +408,7 @@ namespace std
#if _GLIBCPP_HAVE_LOGF
inline float
- log(float __x) { return ::logf(__x); }
+ log(float __x) { return __gnu_cxx::__c99_binding::logf(__x); }
#else
inline float log(float __x)
{ return ::log(static_cast<double>(__x)); }
@@ -341,7 +426,7 @@ namespace std
#if _GLIBCPP_HAVE_LOG10F
inline float
- log10(float __x) { return ::log10f(__x); }
+ log10(float __x) { return __gnu_cxx::__c99_binding::log10f(__x); }
#else
inline float
log10(float __x) { return ::log10(static_cast<double>(__x)); }
@@ -359,7 +444,7 @@ namespace std
#if _GLIBCPP_HAVE_MODFF
inline float
- modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
+ modf(float __x, float* __iptr) { return __gnu_cxx::__c99_binding::modff(__x, __iptr); }
#else
inline float
modf(float __x, float* __iptr)
@@ -398,7 +483,7 @@ namespace std
#if _GLIBCPP_HAVE_POWF
inline float
- pow(float __x, float __y) { return ::powf(__x, __y); }
+ pow(float __x, float __y) { return __gnu_cxx::__c99_binding::powf(__x, __y); }
#else
inline float
pow(float __x, float __y)
@@ -440,7 +525,7 @@ namespace std
#if _GLIBCPP_HAVE_SINHF
inline float
- sinh(float __x) { return ::sinhf(__x); }
+ sinh(float __x) { return __gnu_cxx::__c99_binding::sinhf(__x); }
#else
inline float
sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
@@ -468,7 +553,7 @@ namespace std
#if _GLIBCPP_HAVE_TANF
inline float
- tan(float __x) { return ::tanf(__x); }
+ tan(float __x) { return __gnu_cxx::__c99_binding::tanf(__x); }
#else
inline float
tan(float __x) { return ::tan(static_cast<double>(__x)); }
@@ -486,7 +571,7 @@ namespace std
#if _GLIBCPP_HAVE_TANHF
inline float
- tanh(float __x) { return ::tanhf(__x); }
+ tanh(float __x) { return __gnu_cxx::__c99_binding::tanhf(__x); }
#else
inline float
tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
@@ -503,6 +588,7 @@ namespace std
#if _GLIBCPP_USE_C99
+#if !_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC
// These are possible macros imported from C99-land. For strict
// conformance, remove possible C99-injected names from the global
// namespace, and sequester them in the __gnu_cxx extension namespace.
@@ -561,6 +647,7 @@ namespace __gnu_cxx
__capture_isunordered(_Tp __f1, _Tp __f2)
{ return isunordered(__f1, __f2); }
}
+#endif /* _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC */
#endif
#undef fpclassify
@@ -577,6 +664,7 @@ namespace __gnu_cxx
#undef isunordered
#if _GLIBCPP_USE_C99
+#if !_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC
namespace __gnu_cxx
{
template<typename _Tp>
@@ -647,6 +735,7 @@ namespace std
using __gnu_cxx::islessgreater;
using __gnu_cxx::isunordered;
}
+#endif /* _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC */
#endif
#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT
diff --git a/libstdc++-v3/include/c_std/std_cstdio.h b/libstdc++-v3/include/c_std/std_cstdio.h
index 6fb8c79fb3d..3b4a6856739 100644
--- a/libstdc++-v3/include/c_std/std_cstdio.h
+++ b/libstdc++-v3/include/c_std/std_cstdio.h
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// 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 the GNU ISO C++ Library. This library is free
@@ -152,11 +152,24 @@ namespace std
namespace __gnu_cxx
{
+#if _GLIBCPP_USE_C99_CHECK || _GLIBCPP_USE_C99_DYNAMIC
+ extern "C" int
+ (snprintf)(char * restrict, size_t, const char * restrict, ...);
+ extern "C" int
+ (vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list);
+ extern "C" int (vscanf)(const char * restrict, __gnuc_va_list);
+ extern "C" int
+ (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list);
+ extern "C" int
+ (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list);
+#endif
+#if !_GLIBCPP_USE_C99_DYNAMIC
using ::snprintf;
using ::vfscanf;
using ::vscanf;
using ::vsnprintf;
using ::vsscanf;
+#endif
}
namespace std
diff --git a/libstdc++-v3/include/c_std/std_cstdlib.h b/libstdc++-v3/include/c_std/std_cstdlib.h
index 70fc8d3452e..e1436be1d7a 100644
--- a/libstdc++-v3/include/c_std/std_cstdlib.h
+++ b/libstdc++-v3/include/c_std/std_cstdlib.h
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// 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 the GNU ISO C++ Library. This library is free
@@ -135,8 +135,15 @@ namespace std
namespace __gnu_cxx
{
+#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
using ::lldiv_t;
+#endif
+#if _GLIBCPP_USE_C99_CHECK || _GLIBCPP_USE_C99_DYNAMIC
+ extern "C" void (_Exit)(int);
+#endif
+#if !_GLIBCPP_USE_C99_DYNAMIC
using ::_Exit;
+#endif
inline long long
abs(long long __x) { return __x >= 0 ? __x : -__x; }
@@ -144,6 +151,7 @@ namespace __gnu_cxx
inline long long
llabs(long long __x) { return __x >= 0 ? __x : -__x; }
+#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
inline lldiv_t
div(long long __n, long long __d)
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
@@ -151,22 +159,36 @@ namespace __gnu_cxx
inline lldiv_t
lldiv(long long __n, long long __d)
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
+#endif
+#if _GLIBCPP_USE_C99_LONG_LONG_CHECK || _GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
+ extern "C" long long int (atoll)(const char *);
+ extern "C" long long int
+ (strtoll)(const char * restrict, char ** restrict, int);
+ extern "C" unsigned long long int
+ (strtoull)(const char * restrict, char ** restrict, int);
+#endif
+#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
using ::atoll;
- using ::strtof;
using ::strtoll;
using ::strtoull;
+#endif
+ using ::strtof;
using ::strtold;
}
namespace std
{
+#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
using __gnu_cxx::lldiv_t;
+#endif
using __gnu_cxx::_Exit;
using __gnu_cxx::abs;
using __gnu_cxx::llabs;
+#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
using __gnu_cxx::div;
using __gnu_cxx::lldiv;
+#endif
using __gnu_cxx::atoll;
using __gnu_cxx::strtof;
using __gnu_cxx::strtoll;
diff --git a/libstdc++-v3/include/c_std/std_cwchar.h b/libstdc++-v3/include/c_std/std_cwchar.h
index f67f00610f5..8b33c52282f 100644
--- a/libstdc++-v3/include/c_std/std_cwchar.h
+++ b/libstdc++-v3/include/c_std/std_cwchar.h
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// 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 the GNU ISO C++ Library. This library is free
@@ -225,9 +225,23 @@ namespace std
namespace __gnu_cxx
{
+#if _GLIBCPP_USE_C99_CHECK || _GLIBCPP_USE_C99_DYNAMIC
+ extern "C" long double
+ (wcstold)(const wchar_t * restrict, wchar_t ** restrict);
+#endif
+#if !_GLIBCPP_USE_C99_DYNAMIC
using ::wcstold;
+#endif
+#if _GLIBCPP_USE_C99_LONG_LONG_CHECK || _GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
+ extern "C" long long int
+ (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int);
+ extern "C" unsigned long long int
+ (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int);
+#endif
+#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC
using ::wcstoll;
using ::wcstoull;
+#endif
}
namespace std
diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h
index 59ab41a03e5..4c6bf90a7c4 100644
--- a/libstdc++-v3/include/ext/stdio_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_filebuf.h
@@ -58,6 +58,7 @@ namespace __gnu_cxx
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
+ typedef std::size_t size_t;
protected:
// Stack-based buffer for unbuffered input.
@@ -75,7 +76,7 @@ namespace __gnu_cxx
* file will be closed when the stdio_filebuf is closed/destroyed.
*/
stdio_filebuf(int __fd, std::ios_base::openmode __mode, bool __del,
- int_type __size);
+ size_t __size);
/**
* @param f An open @c FILE*.
@@ -88,7 +89,7 @@ namespace __gnu_cxx
* stdio_filebuf is closed/destroyed.
*/
stdio_filebuf(std::__c_file* __f, std::ios_base::openmode __mode,
- int_type __size = static_cast<int_type>(BUFSIZ));
+ size_t __size = static_cast<size_t>(BUFSIZ));
/**
* Possibly closes the external data stream, in the case of the file
@@ -117,7 +118,7 @@ namespace __gnu_cxx
template<typename _CharT, typename _Traits>
stdio_filebuf<_CharT, _Traits>::
stdio_filebuf(int __fd, std::ios_base::openmode __mode, bool __del,
- int_type __size)
+ size_t __size)
{
_M_file.sys_open(__fd, __mode, __del);
if (this->is_open())
@@ -125,7 +126,7 @@ namespace __gnu_cxx
_M_mode = __mode;
if (__size > 0 && __size < 4)
{
- // Specify unbuffered.
+ // Specify not to use an allocated buffer.
_M_buf = _M_unbuf;
_M_buf_size = __size;
_M_buf_size_opt = 0;
@@ -142,7 +143,7 @@ namespace __gnu_cxx
template<typename _CharT, typename _Traits>
stdio_filebuf<_CharT, _Traits>::
stdio_filebuf(std::__c_file* __f, std::ios_base::openmode __mode,
- int_type __size)
+ size_t __size)
{
_M_file.sys_open(__f, __mode);
if (this->is_open())
@@ -150,7 +151,7 @@ namespace __gnu_cxx
_M_mode = __mode;
if (__size > 0 && __size < 4)
{
- // Specify unbuffered.
+ // Specify not to use an allocated buffer.
_M_buf = _M_unbuf;
_M_buf_size = __size;
_M_buf_size_opt = 0;
diff --git a/libstdc++-v3/include/std/std_bitset.h b/libstdc++-v3/include/std/std_bitset.h
index e938662b4ee..ebe16504d18 100644
--- a/libstdc++-v3/include/std/std_bitset.h
+++ b/libstdc++-v3/include/std/std_bitset.h
@@ -219,7 +219,7 @@ namespace std
void
_Base_bitset<_Nw>::_M_do_left_shift(size_t __shift)
{
- if (__shift != 0)
+ if (__builtin_expect(__shift != 0, 1))
{
const size_t __wshift = __shift / _GLIBCPP_BITSET_BITS_PER_WORD;
const size_t __offset = __shift % _GLIBCPP_BITSET_BITS_PER_WORD;
@@ -244,7 +244,7 @@ namespace std
void
_Base_bitset<_Nw>::_M_do_right_shift(size_t __shift)
{
- if (__shift != 0)
+ if (__builtin_expect(__shift != 0, 1))
{
const size_t __wshift = __shift / _GLIBCPP_BITSET_BITS_PER_WORD;
const size_t __offset = __shift % _GLIBCPP_BITSET_BITS_PER_WORD;
@@ -570,6 +570,7 @@ namespace std
struct _Sanitize<0>
{ static void _S_do_sanitize(unsigned long) { } };
+
/**
* @brief The %bitset class represents a @e fixed-size sequence of bits.
*
@@ -578,17 +579,19 @@ namespace std
* (Note that %bitset does @e not meet the formal requirements of a
* <a href="tables.html#65">container</a>. Mainly, it lacks iterators.)
*
- * The template argument, @a _Nb, may be any non-negative number of type
- * size_t.
+ * The template argument, @a Nb, may be any non-negative number,
+ * specifying the number of bits (e.g., "0", "12", "1024*1024").
*
- * A %bitset of size N has N % (sizeof(unsigned long) * CHAR_BIT) unused
- * bits. (They are the high-order bits in the highest word.) It is
- * a class invariant that those unused bits are always zero.
+ * In the general unoptimized case, storage is allocated in word-sized
+ * blocks. Let B be the number of bits in a word, then (Nb+(B-1))/B
+ * words will be used for storage. B - Nb%B bits are unused. (They are
+ * the high-order bits in the highest word.) It is a class invariant
+ * that those unused bits are always zero.
*
* If you think of %bitset as "a simple array of bits," be aware that
* your mental picture is reversed: a %bitset behaves the same way as
* bits in integers do, with the bit at index 0 in the "least significant
- * / right-hand" position, and the bit at index N-1 in the "most
+ * / right-hand" position, and the bit at index Nb-1 in the "most
* significant / left-hand" position. Thus, unlike other containers, a
* %bitset's index "counts from right to left," to put it very loosely.
*
@@ -619,6 +622,7 @@ namespace std
* @endcode
*
* Also see http://gcc.gnu.org/onlinedocs/libstdc++/ext/sgiexts.html#ch23
+ * for a description of extensions.
*
* @if maint
* Most of the actual code isn't contained in %bitset<> itself, but in the
@@ -805,16 +809,26 @@ namespace std
bitset<_Nb>&
operator<<=(size_t __pos)
{
- this->_M_do_left_shift(__pos);
- this->_M_do_sanitize();
+ if (__builtin_expect(__pos < _Nb, 1))
+ {
+ this->_M_do_left_shift(__pos);
+ this->_M_do_sanitize();
+ }
+ else
+ this->_M_do_reset();
return *this;
}
bitset<_Nb>&
operator>>=(size_t __pos)
{
- this->_M_do_right_shift(__pos);
- this->_M_do_sanitize();
+ if (__builtin_expect(__pos < _Nb, 1))
+ {
+ this->_M_do_right_shift(__pos);
+ this->_M_do_sanitize();
+ }
+ else
+ this->_M_do_reset();
return *this;
}
//@}
@@ -1183,6 +1197,7 @@ namespace std
typename basic_istream<_CharT, _Traits>::sentry __sentry(__is);
if (__sentry)
{
+ ios_base::iostate __state = ios_base::goodbit;
basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf();
for (size_t __i = 0; __i < _Nb; ++__i)
{
@@ -1191,7 +1206,7 @@ namespace std
typename _Traits::int_type __c1 = __buf->sbumpc();
if (_Traits::eq_int_type(__c1, __eof))
{
- __is.setstate(ios_base::eofbit);
+ __state |= ios_base::eofbit;
break;
}
else
@@ -1201,19 +1216,21 @@ namespace std
if (__c == '0' || __c == '1')
__tmp.push_back(__c);
- else if (_Traits::eq_int_type(__buf->sputbackc(__c2),
- __eof))
+ else if (_Traits::eq_int_type(__buf->sputbackc(__c2), __eof))
{
- __is.setstate(ios_base::failbit);
+ __state |= ios_base::failbit;
break;
}
}
}
if (__tmp.empty() && !_Nb)
- __is.setstate(ios_base::failbit);
+ __state |= ios_base::failbit;
else
__x._M_copy_from_string(__tmp, static_cast<size_t>(0), _Nb);
+
+ if (__state != ios_base::goodbit)
+ __is.setstate(__state); // may throw an exception
}
return __is;
diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h
index f297296386b..252070b1389 100644
--- a/libstdc++-v3/include/std/std_complex.h
+++ b/libstdc++-v3/include/std/std_complex.h
@@ -456,7 +456,7 @@ namespace std
inline _Tp
norm(const complex<_Tp>& __z)
{
- return _Norm_helper<__is_floating<_Tp>::_M_type>::_S_do_it(__z);
+ return _Norm_helper<__is_floating<_Tp>::_M_type && !_GLIBCPP_FAST_MATH>::_S_do_it(__z);
}
template<typename _Tp>
@@ -565,24 +565,30 @@ namespace std
}
template<typename _Tp>
- inline complex<_Tp>
+ complex<_Tp>
pow(const complex<_Tp>& __x, const _Tp& __y)
{
- return exp(__y * log(__x));
+ if (__x.imag() == _Tp())
+ return pow(__x.real(), __y);
+
+ complex<_Tp> __t = log(__x);
+ return polar(exp(__y * __t.real()), __y * __t.imag());
}
template<typename _Tp>
inline complex<_Tp>
pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
{
- return exp(__y * log(__x));
+ return __x == _Tp() ? _Tp() : exp(__y * log(__x));
}
template<typename _Tp>
inline complex<_Tp>
pow(const _Tp& __x, const complex<_Tp>& __y)
{
- return exp(__y * log(__x));
+ return __x == _Tp()
+ ? _Tp()
+ : polar(pow(__x, __y.real()), __y.imag() * log(__x));
}
// 26.2.3 complex specializations
diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h
index 685a38dd944..bcbbb971946 100644
--- a/libstdc++-v3/include/std/std_fstream.h
+++ b/libstdc++-v3/include/std/std_fstream.h
@@ -1,6 +1,6 @@
// File based streams -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -81,7 +81,6 @@ namespace std
typedef __basic_file<char> __file_type;
typedef typename traits_type::state_type __state_type;
typedef codecvt<char_type, char, __state_type> __codecvt_type;
- typedef typename __codecvt_type::result __res_type;
typedef ctype<char_type> __ctype_type;
//@}
@@ -159,7 +158,7 @@ namespace std
* @brief Returns true if the external file is open.
*/
bool
- is_open() const { return _M_file.is_open(); }
+ is_open() const throw() { return _M_file.is_open(); }
/**
* @brief Opens an external file.
@@ -189,7 +188,7 @@ namespace std
* If any operations fail, this function also fails.
*/
__filebuf_type*
- close();
+ close() throw();
protected:
/**
@@ -206,7 +205,7 @@ namespace std
* @endif
*/
void
- _M_destroy_internal_buffer();
+ _M_destroy_internal_buffer() throw();
// [27.8.1.4] overridden virtual functions
// [documentation is inherited]
@@ -234,11 +233,11 @@ namespace std
// [documentation is inherited]
virtual int_type
- underflow() { return _M_underflow_common(false); }
+ underflow();
// [documentation is inherited]
virtual int_type
- uflow() { return _M_underflow_common(true); }
+ uflow();
// [documentation is inherited]
virtual int_type
@@ -311,6 +310,7 @@ namespace std
virtual int
sync()
{
+ int __ret = 0;
bool __testput = _M_out_cur && _M_out_beg < _M_out_end;
// Make sure that the internal buffer resyncs its idea of
@@ -319,14 +319,19 @@ namespace std
{
// Need to restore current position after the write.
off_type __off = _M_out_cur - _M_out_end;
- _M_really_overflow(); // _M_file.sync() will be called within
- if (__off)
+
+ // _M_file.sync() will be called within
+ if (traits_type::eq_int_type(_M_really_overflow(),
+ traits_type::eof()))
+ __ret = -1;
+ else if (__off)
_M_file.seekoff(__off, ios_base::cur);
}
else
_M_file.sync();
+
_M_last_overflowed = false;
- return 0;
+ return __ret;
}
// [documentation is inherited]
@@ -431,7 +436,7 @@ namespace std
}
};
- // Explicit specializations, defined in src/fstream.cc.
+ // Explicit specialization declarations, defined in src/fstream.cc.
template<>
basic_filebuf<char>::int_type
basic_filebuf<char>::_M_underflow_common(bool __bump);
@@ -442,6 +447,18 @@ namespace std
basic_filebuf<wchar_t>::_M_underflow_common(bool __bump);
#endif
+ // Generic definitions.
+ template <typename _CharT, typename _Traits>
+ typename basic_filebuf<_CharT, _Traits>::int_type
+ basic_filebuf<_CharT, _Traits>::underflow()
+ { return _M_underflow_common(false); }
+
+ template <typename _CharT, typename _Traits>
+ typename basic_filebuf<_CharT, _Traits>::int_type
+ basic_filebuf<_CharT, _Traits>::uflow()
+ { return _M_underflow_common(true); }
+
+
// [27.8.1.5] Template class basic_ifstream
/**
* @brief Controlling input for files.
diff --git a/libstdc++-v3/include/std/std_iomanip.h b/libstdc++-v3/include/std/std_iomanip.h
index 26756a8041c..490d5ac1cfb 100644
--- a/libstdc++-v3/include/std/std_iomanip.h
+++ b/libstdc++-v3/include/std/std_iomanip.h
@@ -1,6 +1,7 @@
// Standard stream manipulators -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -265,6 +266,7 @@ namespace std
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension.
+#if _GLIBCPP_EXTERN_TEMPLATE
extern template ostream& operator<<(ostream&, _Setfill<char>);
extern template ostream& operator<<(ostream&, _Setiosflags);
extern template ostream& operator<<(ostream&, _Resetiosflags);
@@ -292,6 +294,7 @@ namespace std
extern template wistream& operator>>(wistream&, _Setprecision);
extern template wistream& operator>>(wistream&, _Setw);
#endif
+#endif
} // namespace std
#endif
diff --git a/libstdc++-v3/include/std/std_iosfwd.h b/libstdc++-v3/include/std/std_iosfwd.h
index 124c8ffc5ff..55b0e0b19fa 100644
--- a/libstdc++-v3/include/std/std_iosfwd.h
+++ b/libstdc++-v3/include/std/std_iosfwd.h
@@ -1,6 +1,7 @@
// Forwarding declarations -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -42,7 +43,9 @@
#pragma GCC system_header
#include <bits/c++config.h>
-#include <bits/stringfwd.h> // For string forward declarations.
+#include <bits/c++locale.h>
+#include <cctype> // For isspace, etc.
+#include <bits/stringfwd.h> // For string forward declarations.
#include <bits/fpos.h>
#include <bits/functexcept.h>
diff --git a/libstdc++-v3/include/std/std_istream.h b/libstdc++-v3/include/std/std_istream.h
index 7e050322328..da9c7db1883 100644
--- a/libstdc++-v3/include/std/std_istream.h
+++ b/libstdc++-v3/include/std/std_istream.h
@@ -73,6 +73,14 @@ namespace std
typedef num_get<_CharT, __istreambuf_iter> __numget_type;
typedef ctype<_CharT> __ctype_type;
+ template<typename _CharT2, typename _Traits2>
+ friend basic_istream<_CharT2, _Traits2>&
+ operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2&);
+
+ template<typename _CharT2, typename _Traits2>
+ friend basic_istream<_CharT2, _Traits2>&
+ operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
+
protected:
// Data Members:
/**
@@ -470,10 +478,6 @@ namespace std
*
* @note Since no characters are extracted, the next call to
* @c gcount() will return 0, as required by DR 60.
- *
- * @if maint
- * FIXME We don't comply with DR 60 here, _M_gcount is untouched.
- * @endif
*/
__istream_type&
putback(char_type __c);
@@ -507,9 +511,6 @@ namespace std
* @note This function does not count the number of characters
* extracted, if any, and therefore does not affect the next
* call to @c gcount().
- * @if maint
- * FIXME We don't comply with DR 60 here, _M_gcount is zeroed.
- * @endif
*/
int
sync();
@@ -539,9 +540,6 @@ namespace std
* @note This function does not count the number of characters
* extracted, if any, and therefore does not affect the next
* call to @c gcount().
- * @if maint
- * FIXME We don't comply with DR 60 here, _M_gcount is zeroed.
- * @endif
*/
__istream_type&
seekg(pos_type);
@@ -558,9 +556,6 @@ namespace std
* @note This function does not count the number of characters
* extracted, if any, and therefore does not affect the next
* call to @c gcount().
- * @if maint
- * FIXME We don't comply with DR 60 here, _M_gcount is zeroed.
- * @endif
*/
__istream_type&
seekg(off_type, ios_base::seekdir);
diff --git a/libstdc++-v3/include/std/std_limits.h b/libstdc++-v3/include/std/std_limits.h
index be4b5f2a90b..9be69477958 100644
--- a/libstdc++-v3/include/std/std_limits.h
+++ b/libstdc++-v3/include/std/std_limits.h
@@ -508,7 +508,7 @@ namespace std
static short denorm_min() throw()
{ return short(); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -558,7 +558,7 @@ namespace std
static unsigned short denorm_min() throw()
{ return static_cast<unsigned short>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -608,7 +608,7 @@ namespace std
static int denorm_min() throw()
{ return static_cast<int>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -658,7 +658,7 @@ namespace std
static unsigned int denorm_min() throw()
{ return static_cast<unsigned int>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -708,7 +708,7 @@ namespace std
static long denorm_min() throw()
{ return static_cast<long>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -758,7 +758,7 @@ namespace std
static unsigned long denorm_min() throw()
{ return static_cast<unsigned long>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -808,7 +808,7 @@ namespace std
static long long denorm_min() throw()
{ return static_cast<long long>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
@@ -858,7 +858,7 @@ namespace std
static unsigned long long denorm_min() throw()
{ return static_cast<unsigned long long>(0); }
- static const bool is_iec559 = true;
+ static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
diff --git a/libstdc++-v3/include/std/std_locale.h b/libstdc++-v3/include/std/std_locale.h
index 9c46b96bc2f..29602560766 100644
--- a/libstdc++-v3/include/std/std_locale.h
+++ b/libstdc++-v3/include/std/std_locale.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -42,11 +42,8 @@
#pragma GCC system_header
#include <bits/localefwd.h>
+#include <bits/locale_classes.h>
#include <bits/locale_facets.h>
#include <bits/locale_facets.tcc>
#endif
-
-// Local Variables:
-// mode:c++
-// End:
diff --git a/libstdc++-v3/include/std/std_ostream.h b/libstdc++-v3/include/std/std_ostream.h
index 7a553296102..82f8a2864bc 100644
--- a/libstdc++-v3/include/std/std_ostream.h
+++ b/libstdc++-v3/include/std/std_ostream.h
@@ -73,6 +73,26 @@ namespace std
typedef num_put<_CharT, __ostreambuf_iter> __numput_type;
typedef ctype<_CharT> __ctype_type;
+ template<typename _CharT2, typename _Traits2>
+ friend basic_ostream<_CharT2, _Traits2>&
+ operator<<(basic_ostream<_CharT2, _Traits2>&, _CharT2);
+
+ template<typename _Traits2>
+ friend basic_ostream<char, _Traits2>&
+ operator<<(basic_ostream<char, _Traits2>&, char);
+
+ template<typename _CharT2, typename _Traits2>
+ friend basic_ostream<_CharT2, _Traits2>&
+ operator<<(basic_ostream<_CharT2, _Traits2>&, const _CharT2*);
+
+ template<typename _Traits2>
+ friend basic_ostream<char, _Traits2>&
+ operator<<(basic_ostream<char, _Traits2>&, const char*);
+
+ template<typename _CharT2, typename _Traits2>
+ friend basic_ostream<_CharT2, _Traits2>&
+ operator<<(basic_ostream<_CharT2, _Traits2>&, const char*);
+
// [27.6.2.2] constructor/destructor
/**
* @brief Base constructor.
diff --git a/libstdc++-v3/include/std/std_sstream.h b/libstdc++-v3/include/std/std_sstream.h
index aaec83f082b..0940e60f52e 100644
--- a/libstdc++-v3/include/std/std_sstream.h
+++ b/libstdc++-v3/include/std/std_sstream.h
@@ -1,6 +1,6 @@
// String based streams -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -140,7 +140,7 @@ namespace std
// _M_string, and may not be the correct size of the
// current stringbuf internal buffer.
__size_type __len = _M_string.size();
- if (_M_out_cur > _M_out_beg)
+ if (_M_out_end > _M_out_beg)
__len = max(__size_type(_M_out_end - _M_out_beg), __len);
return __string_type(_M_out_beg, _M_out_beg + __len);
}
diff --git a/libstdc++-v3/include/std/std_streambuf.h b/libstdc++-v3/include/std/std_streambuf.h
index 883401bf6ee..a1958c1a8e7 100644
--- a/libstdc++-v3/include/std/std_streambuf.h
+++ b/libstdc++-v3/include/std/std_streambuf.h
@@ -1,6 +1,6 @@
// Stream buffer classes -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -278,7 +278,7 @@ namespace std
// Assumptions:
// The pback buffer has only moved forward.
void
- _M_pback_destroy()
+ _M_pback_destroy() throw()
{
if (_M_pback_init)
{
@@ -364,7 +364,6 @@ namespace std
_M_buf_size = 0;
_M_buf_size_opt = 0;
_M_mode = ios_base::openmode(0);
- _M_buf_locale_init = false;
}
// [27.5.2.2.1] locales
@@ -393,12 +392,7 @@ namespace std
*/
locale
getloc() const
- {
- if (_M_buf_locale_init)
- return _M_buf_locale;
- else
- return locale();
- }
+ { return _M_buf_locale; }
// [27.5.2.2.2] buffer management and positioning
//@{
@@ -584,7 +578,7 @@ namespace std
_M_buf_unified(false), _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
_M_out_beg(0), _M_out_cur(0), _M_out_end(0),
_M_mode(ios_base::openmode(0)), _M_buf_locale(locale()),
- _M_buf_locale_init(false), _M_pback_cur_save(0), _M_pback_end_save(0),
+ _M_pback_cur_save(0), _M_pback_end_save(0),
_M_pback_init(false)
{ }
@@ -700,7 +694,6 @@ namespace std
virtual void
imbue(const locale& __loc)
{
- _M_buf_locale_init = true;
if (_M_buf_locale != __loc)
_M_buf_locale = __loc;
}
diff --git a/libstdc++-v3/libio/ChangeLog b/libstdc++-v3/libio/ChangeLog
index 86c09034435..4b1451bb303 100644
--- a/libstdc++-v3/libio/ChangeLog
+++ b/libstdc++-v3/libio/ChangeLog
@@ -1,3 +1,19 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2002-12-13 Benjamin Kosnik <bkoz@redhat.com>
+
+ * Makefile.am (AM_CFLAGS): Remove DEBUG_FLAGS.
+
2001-02-03 Alexandre Oliva <aoliva@redhat.com>
Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
diff --git a/libstdc++-v3/libio/Makefile.am b/libstdc++-v3/libio/Makefile.am
index dbba6ff51d7..e0496b2fa1b 100644
--- a/libstdc++-v3/libio/Makefile.am
+++ b/libstdc++-v3/libio/Makefile.am
@@ -64,4 +64,4 @@ EXTRA_DIST = iostreamP.h
libio_la_SOURCES = $(LIBIO_SRCS) $(LIBIO_WSRCS)
-AM_CFLAGS = -D_GNU_SOURCE @DEBUG_FLAGS@
+AM_CFLAGS = -D_GNU_SOURCE
diff --git a/libstdc++-v3/libio/Makefile.in b/libstdc++-v3/libio/Makefile.in
index 08c71d94d1b..cf998f13ba7 100644
--- a/libstdc++-v3/libio/Makefile.in
+++ b/libstdc++-v3/libio/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,14 +67,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXX = @CXX@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
@@ -104,6 +115,7 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WARN_FLAGS = @WARN_FLAGS@
@@ -160,7 +172,7 @@ EXTRA_DIST = iostreamP.h
libio_la_SOURCES = $(LIBIO_SRCS) $(LIBIO_WSRCS)
-AM_CFLAGS = -D_GNU_SOURCE @DEBUG_FLAGS@
+AM_CFLAGS = -D_GNU_SOURCE
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
@@ -172,31 +184,31 @@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
libio_la_LDFLAGS =
libio_la_LIBADD =
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@libio_la_OBJECTS = \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@filedoalloc.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@genops.lo fileops.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@stdfiles.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@c_codecvt.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@iofclose.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@iofopen.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@wfiledoalloc.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@wfileops.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@wgenops.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@iofwide.lo
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_FALSE@libio_la_OBJECTS = \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_FALSE@wfiledoalloc.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_FALSE@wfileops.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_FALSE@wgenops.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_FALSE@iofwide.lo
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@libio_la_OBJECTS = \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@filedoalloc.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@genops.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@fileops.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@stdfiles.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@c_codecvt.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@iofclose.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@iofopen.lo
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_FALSE@libio_la_OBJECTS =
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@libio_la_OBJECTS = \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@filedoalloc.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@genops.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@fileops.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@stdfiles.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@c_codecvt.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@iofclose.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_FALSE@iofopen.lo
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@libio_la_OBJECTS = \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@filedoalloc.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@genops.lo fileops.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@stdfiles.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@c_codecvt.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@iofclose.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@iofopen.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@wfiledoalloc.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@wfileops.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@wgenops.lo \
+@GLIBCPP_NEED_LIBIO_TRUE@@GLIBCPP_NEED_WLIBIO_TRUE@iofwide.lo
+@GLIBCPP_NEED_LIBIO_FALSE@@GLIBCPP_NEED_WLIBIO_TRUE@libio_la_OBJECTS = \
+@GLIBCPP_NEED_LIBIO_FALSE@@GLIBCPP_NEED_WLIBIO_TRUE@wfiledoalloc.lo \
+@GLIBCPP_NEED_LIBIO_FALSE@@GLIBCPP_NEED_WLIBIO_TRUE@wfileops.lo \
+@GLIBCPP_NEED_LIBIO_FALSE@@GLIBCPP_NEED_WLIBIO_TRUE@wgenops.lo \
+@GLIBCPP_NEED_LIBIO_FALSE@@GLIBCPP_NEED_WLIBIO_TRUE@iofwide.lo
+@GLIBCPP_NEED_LIBIO_FALSE@@GLIBCPP_NEED_WLIBIO_FALSE@libio_la_OBJECTS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in
index 09f2df1f77d..658627dd8c2 100644
--- a/libstdc++-v3/libmath/Makefile.in
+++ b/libstdc++-v3/libmath/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,14 +67,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXX = @CXX@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
@@ -105,6 +116,7 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WARN_FLAGS = @WARN_FLAGS@
diff --git a/libstdc++-v3/libmath/stubs.c b/libstdc++-v3/libmath/stubs.c
index 586fd6db80e..1968bffe7f9 100644
--- a/libstdc++-v3/libmath/stubs.c
+++ b/libstdc++-v3/libmath/stubs.c
@@ -1,6 +1,6 @@
/* Stub definitions for libmath subpart of libstdc++. */
-/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU ISO C++ Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -108,6 +108,8 @@ float
hypotf(float x, float y)
{
float s = fabsf(x) + fabsf(y);
+ if (s == 0.0F)
+ return s;
x /= s; y /= s;
return s * sqrtf(x * x + y * y);
}
@@ -118,6 +120,8 @@ double
hypot(double x, double y)
{
double s = fabs(x) + fabs(y);
+ if (s == 0.0)
+ return s;
x /= s; y /= s;
return s * sqrt(x * x + y * y);
}
@@ -128,6 +132,8 @@ long double
hypotl(long double x, long double y)
{
long double s = fabsl(x) + fabsl(y);
+ if (s == 0.0L)
+ return s;
x /= s; y /= s;
return s * sqrtl(x * x + y * y);
}
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am
index 160e79f714e..8d66e0ef048 100644
--- a/libstdc++-v3/libsupc++/Makefile.am
+++ b/libstdc++-v3/libsupc++/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the GNU C++ Support library.
##
-## Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+## Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
##
## Process this file with automake to produce Makefile.in.
##
@@ -47,9 +47,8 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
-# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = \
- @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@
+ @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@
# Warning flags to use.
WARN_CXXFLAGS = \
@@ -98,7 +97,7 @@ sources = \
libsupc___la_SOURCES = $(sources) $(c_sources)
libsupc__convenience_la_SOURCES = $(sources) $(c_sources)
-glibcppinstalldir = @gxx_include_dir@
+glibcppinstalldir = $(gxx_include_dir)
glibcppinstall_HEADERS = $(headers)
LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS)
@@ -128,7 +127,7 @@ dyn-string.o: dyn-string.c
# LTCOMPILE is copied from LTCXXCOMPILE below.
LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared --mode=compile $(CC) \
$(DEFS) $(GCC_INCLUDES) $(LIBSUPCXX_PICFLAGS) \
- $(AM_CPPFLAGS) $(CPPFLAGS)
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
# AM_CXXFLAGS needs to be in each subdirectory so that it can be
@@ -143,6 +142,9 @@ AM_CXXFLAGS = \
$(OPTIMIZE_CXXFLAGS) \
$(CONFIG_CXXFLAGS)
+AM_MAKEFLAGS = \
+ "gxx_include_dir=$(gxx_include_dir)"
+
# libstdc++ libtool notes
# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index b517b458dd8..843c7f44d8d 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,13 +67,24 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DEBUG_FLAGS = @DEBUG_FLAGS@
@@ -101,6 +112,7 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -151,9 +163,8 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
-# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = \
- @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@
+ @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@
# Warning flags to use.
@@ -208,7 +219,7 @@ sources = \
libsupc___la_SOURCES = $(sources) $(c_sources)
libsupc__convenience_la_SOURCES = $(sources) $(c_sources)
-glibcppinstalldir = @gxx_include_dir@
+glibcppinstalldir = $(gxx_include_dir)
glibcppinstall_HEADERS = $(headers)
LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS)
@@ -224,7 +235,7 @@ C_COMPILE = \
# LTCOMPILE is copied from LTCXXCOMPILE below.
LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared --mode=compile $(CC) \
$(DEFS) $(GCC_INCLUDES) $(LIBSUPCXX_PICFLAGS) \
- $(AM_CPPFLAGS) $(CPPFLAGS)
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
# AM_CXXFLAGS needs to be in each subdirectory so that it can be
@@ -240,6 +251,10 @@ AM_CXXFLAGS = \
$(CONFIG_CXXFLAGS)
+AM_MAKEFLAGS = \
+ "gxx_include_dir=$(gxx_include_dir)"
+
+
# libstdc++ libtool notes
# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
diff --git a/libstdc++-v3/libsupc++/eh_catch.cc b/libstdc++-v3/libsupc++/eh_catch.cc
index ba49dfe7e44..4a678eb9fb2 100644
--- a/libstdc++-v3/libsupc++/eh_catch.cc
+++ b/libstdc++-v3/libsupc++/eh_catch.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling routines for catching.
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
//
// This file is part of GNU CC.
//
@@ -39,15 +39,28 @@ __cxa_begin_catch (void *exc_obj_in)
{
_Unwind_Exception *exceptionObject
= reinterpret_cast <_Unwind_Exception *>(exc_obj_in);
-
- // ??? Foreign exceptions can't be stacked here, and there doesn't
- // appear to be any place to store for __cxa_end_catch to destroy.
-
- __cxa_exception *header = __get_exception_header_from_ue (exceptionObject);
__cxa_eh_globals *globals = __cxa_get_globals ();
__cxa_exception *prev = globals->caughtExceptions;
- int count = header->handlerCount;
+ __cxa_exception *header = __get_exception_header_from_ue (exceptionObject);
+
+ // Foreign exceptions can't be stacked here. If the exception stack is
+ // empty, then fine. Otherwise we really have no choice but to terminate.
+ // Note that this use of "header" is a lie. It's fine so long as we only
+ // examine header->unwindHeader though.
+ if (header->unwindHeader.exception_class != __gxx_exception_class)
+ {
+ if (prev != 0)
+ std::terminate ();
+
+ // Remember for end_catch and rethrow.
+ globals->caughtExceptions = header;
+
+ // ??? No sensible value to return; we don't know what the
+ // object is, much less where it is in relation to the header.
+ return 0;
+ }
+ int count = header->handlerCount;
if (count < 0)
// This exception was rethrown from an immediately enclosing region.
count = -count + 1;
@@ -71,8 +84,22 @@ __cxa_end_catch ()
{
__cxa_eh_globals *globals = __cxa_get_globals_fast ();
__cxa_exception *header = globals->caughtExceptions;
- int count = header->handlerCount;
+ // A rethrow of a foreign exception will be removed from the
+ // the exception stack immediately by __cxa_rethrow.
+ if (!header)
+ return;
+
+ // A foreign exception couldn't have been stacked (see above),
+ // so by definition processing must be complete.
+ if (header->unwindHeader.exception_class != __gxx_exception_class)
+ {
+ globals->caughtExceptions = 0;
+ _Unwind_DeleteException (&header->unwindHeader);
+ return;
+ }
+
+ int count = header->handlerCount;
if (count < 0)
{
// This exception was rethrown. Decrement the (inverted) catch
@@ -92,7 +119,7 @@ __cxa_end_catch ()
}
else if (count < 0)
// A bug in the exception handling library or compiler.
- std::abort ();
+ std::terminate ();
header->handlerCount = count;
}
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index acc9c2eb63e..2b315c3956e 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- The GNU C++ exception personality routine.
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of GNU CC.
//
@@ -124,6 +124,8 @@ get_adjusted_ptr (const std::type_info *catch_type,
return false;
}
+// Return true if THROW_TYPE matches one if the filter types.
+
static bool
check_exception_spec (lsda_header_info *info, const std::type_info *throw_type,
void *thrown_ptr, _Unwind_Sword filter_value)
@@ -154,6 +156,18 @@ check_exception_spec (lsda_header_info *info, const std::type_info *throw_type,
}
}
+// Return true if the filter spec is empty, ie throw().
+
+static bool
+empty_exception_spec (lsda_header_info *info, _Unwind_Sword filter_value)
+{
+ const unsigned char *e = info->TType - filter_value - 1;
+ _Unwind_Word tmp;
+
+ e = read_uleb128 (e, &tmp);
+ return tmp == 0;
+}
+
// Using a different personality function name causes link failures
// when trying to mix code using different exception handling models.
#ifdef _GLIBCPP_SJLJ_EXCEPTIONS
@@ -197,6 +211,7 @@ PERSONALITY_FUNCTION (int version,
&& exception_class == __gxx_exception_class)
{
handler_switch_value = xh->handlerSwitchValue;
+ language_specific_data = xh->languageSpecificData;
landing_pad = (_Unwind_Ptr) xh->catchTemp;
found_type = (landing_pad == 0 ? found_terminate : found_handler);
goto install_context;
@@ -275,7 +290,7 @@ PERSONALITY_FUNCTION (int version,
// If ip is not present in the table, call terminate. This is for
// a destructor inside a cleanup, or a library routine the compiler
// was not expecting to throw.
- found_type = (actions & _UA_FORCE_UNWIND ? found_nothing : found_terminate);
+ found_type = found_terminate;
goto do_something;
found_something:
@@ -327,23 +342,15 @@ PERSONALITY_FUNCTION (int version,
// Positive filter values are handlers.
catch_type = get_ttype_entry (&info, ar_filter);
- // Null catch type is a catch-all handler. We can catch
- // foreign exceptions with this.
- if (! catch_type)
- {
- if (!(actions & _UA_FORCE_UNWIND))
- {
- saw_handler = true;
- break;
- }
- }
- else if (throw_type)
+ // Null catch type is a catch-all handler; we can catch foreign
+ // exceptions with this. Otherwise we must match types.
+ if (! catch_type
+ || (throw_type
+ && get_adjusted_ptr (catch_type, throw_type,
+ &thrown_ptr)))
{
- if (get_adjusted_ptr (catch_type, throw_type, &thrown_ptr))
- {
- saw_handler = true;
- break;
- }
+ saw_handler = true;
+ break;
}
}
else
@@ -352,9 +359,12 @@ PERSONALITY_FUNCTION (int version,
// ??? How do foreign exceptions fit in? As far as I can
// see we can't match because there's no __cxa_exception
// object to stuff bits in for __cxa_call_unexpected to use.
+ // Allow them iff the exception spec is non-empty. I.e.
+ // a throw() specification results in __unexpected.
if (throw_type
- && ! check_exception_spec (&info, throw_type, thrown_ptr,
- ar_filter))
+ ? ! check_exception_spec (&info, throw_type, thrown_ptr,
+ ar_filter)
+ : empty_exception_spec (&info, ar_filter))
{
saw_handler = true;
break;
@@ -400,19 +410,37 @@ PERSONALITY_FUNCTION (int version,
}
install_context:
- if (found_type == found_terminate)
+ // We can't use any of the cxa routines with foreign exceptions,
+ // because they all expect ue_header to be a struct __cxa_exception.
+ // So in that case, call terminate or unexpected directly.
+ if ((actions & _UA_FORCE_UNWIND)
+ || exception_class != __gxx_exception_class)
{
- __cxa_begin_catch (&xh->unwindHeader);
- __terminate (xh->terminateHandler);
+ if (found_type == found_terminate)
+ std::terminate ();
+ else if (handler_switch_value < 0)
+ {
+ try
+ { std::unexpected (); }
+ catch(...)
+ { std::terminate (); }
+ }
}
-
- // Cache the TType base value for __cxa_call_unexpected, as we won't
- // have an _Unwind_Context then.
- if (handler_switch_value < 0)
+ else
{
- parse_lsda_header (context, xh->languageSpecificData, &info);
- xh->catchTemp = base_of_encoded_value (info.ttype_encoding,
- context);
+ if (found_type == found_terminate)
+ {
+ __cxa_begin_catch (&xh->unwindHeader);
+ __terminate (xh->terminateHandler);
+ }
+
+ // Cache the TType base value for __cxa_call_unexpected, as we won't
+ // have an _Unwind_Context then.
+ if (handler_switch_value < 0)
+ {
+ parse_lsda_header (context, language_specific_data, &info);
+ xh->catchTemp = base_of_encoded_value (info.ttype_encoding, context);
+ }
}
_Unwind_SetGR (context, __builtin_eh_return_data_regno (0),
@@ -457,20 +485,19 @@ __cxa_call_unexpected (void *exc_obj_in)
catch(...)
{
// Get the exception thrown from unexpected.
- // ??? Foreign exceptions can't be stacked this way.
-
+
__cxa_eh_globals *globals = __cxa_get_globals_fast ();
__cxa_exception *new_xh = globals->caughtExceptions;
void *new_ptr = new_xh + 1;
-
+
// We don't quite have enough stuff cached; re-parse the LSDA.
parse_lsda_header (0, xh_lsda, &info);
-
+
// If this new exception meets the exception spec, allow it.
if (check_exception_spec (&info, new_xh->exceptionType,
new_ptr, xh_switch_value))
__throw_exception_again;
-
+
// If the exception spec allows std::bad_exception, throw that.
// We don't have a thrown object to compare against, but since
// bad_exception doesn't have virtual bases, that's OK; just pass 0.
@@ -479,6 +506,7 @@ __cxa_call_unexpected (void *exc_obj_in)
if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value))
throw std::bad_exception();
#endif
+
// Otherwise, die.
__terminate (xh_terminate_handler);
}
diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc
index f20368a13f6..0e1306637bf 100644
--- a/libstdc++-v3/libsupc++/eh_throw.cc
+++ b/libstdc++-v3/libsupc++/eh_throw.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling routines for throwing.
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
//
// This file is part of GNU CC.
//
@@ -90,12 +90,19 @@ __cxa_rethrow ()
if (header)
{
// Tell __cxa_end_catch this is a rethrow.
- header->handlerCount = -header->handlerCount;
+ if (header->unwindHeader.exception_class != __gxx_exception_class)
+ globals->caughtExceptions = 0;
+ else
+ header->handlerCount = -header->handlerCount;
#ifdef _GLIBCPP_SJLJ_EXCEPTIONS
- _Unwind_SjLj_RaiseException (&header->unwindHeader);
+ _Unwind_SjLj_Resume_or_Rethrow (&header->unwindHeader);
#else
+#ifdef _LIBUNWIND_STD_ABI
_Unwind_RaiseException (&header->unwindHeader);
+#else
+ _Unwind_Resume_or_Rethrow (&header->unwindHeader);
+#endif
#endif
// Some sort of unwinding error. Note that terminate is a handler.
diff --git a/libstdc++-v3/libsupc++/tinfo.cc b/libstdc++-v3/libsupc++/tinfo.cc
index adafc25e377..d6e465e0a38 100644
--- a/libstdc++-v3/libsupc++/tinfo.cc
+++ b/libstdc++-v3/libsupc++/tinfo.cc
@@ -1,5 +1,5 @@
// Methods for type_info for -*- C++ -*- Run Time Type Identification.
-// Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002
+// Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002, 2003
// Free Software Foundation
//
// This file is part of GNU CC.
@@ -482,8 +482,9 @@ __do_dyncast (ptrdiff_t src2dst,
result.whole2dst =
__sub_kind (result.whole2dst | result2.whole2dst);
}
- else if ((result.dst_ptr != 0 | result_ambig)
- && (result2.dst_ptr != 0 | result2_ambig))
+ else if ((result.dst_ptr != 0 & result2.dst_ptr != 0)
+ || (result.dst_ptr != 0 & result2_ambig)
+ || (result2.dst_ptr != 0 & result_ambig))
{
// Found two different DST_TYPE bases, or a valid one and a set of
// ambiguous ones, must disambiguate. See whether SRC_PTR is
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 7ebb03291f3..a97c28b9c85 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,14 +67,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXX = @CXX@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
@@ -105,6 +116,7 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 4592168f48d..304c035defc 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the src subdirectory of the GNU C++ Standard library.
##
-## 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 the libstdc++ version 3 distribution.
@@ -29,19 +29,30 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler support.
CXX = @glibcpp_CXX@
+glibcpp_srcdir=@glibcpp_srcdir@
+glibcpp_builddir=@glibcpp_builddir@
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
toolexeclib_LTLIBRARIES = libstdc++.la
+# Symbol versioning for shared libraries.
+if GLIBCPP_BUILD_VERSIONED_SHLIB
+version_arg = -Wl,--version-script=libstdc++-symbol.ver
+libstdc++-symbol.ver: ${glibcpp_srcdir}/@SYMVER_MAP@
+ @LN_S@ ${glibcpp_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true
+else
+version_arg =
+libstdc++-symbol.ver:
+endif
+
# Compile flags that should be constant throughout the build, both for
# SUBDIRS and for libstdc++-v3 in general.
OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
-# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = \
- @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@
+ @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@
# Warning flags to use.
WARN_CXXFLAGS = \
@@ -60,7 +71,8 @@ INCLUDES = \
$(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \
$(TOPLEVEL_INCLUDES)
-# Source files linked in via configuration magic for a particular target.
+# Source files linked in via configuration/make substitution for a
+# particular target.
target_sources = \
codecvt_members.cc \
collate_members.cc \
@@ -70,12 +82,39 @@ target_sources = \
numeric_members.cc \
time_members.cc
-# Source files linked in via configuration magic for a particular
-# target, but with ad hoc naming rules.
+codecvt_members.cc: ${glibcpp_srcdir}/@CCODECVT_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CCODECVT_CC@ . || true
+
+collate_members.cc: ${glibcpp_srcdir}/@CCOLLATE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CCOLLATE_CC@ . || true
+
+ctype_members.cc: ${glibcpp_srcdir}/@CCTYPE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CCTYPE_CC@ . || true
+
+messages_members.cc: ${glibcpp_srcdir}/@CMESSAGES_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_CC@ . || true
+
+monetary_members.cc: ${glibcpp_srcdir}/@CMONEY_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CMONEY_CC@ . || true
+
+numeric_members.cc: ${glibcpp_srcdir}/@CNUMERIC_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CNUMERIC_CC@ . || true
+
+time_members.cc: ${glibcpp_srcdir}/@CTIME_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CTIME_CC@ . || true
+
+# Source files linked in via configuration/make substitution for a
+# particular target, but with ad hoc naming rules.
target_sources_extra = \
basic_file.cc \
c++locale.cc
+c++locale.cc: ${glibcpp_srcdir}/@CLOCALE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_CC@ ./$@ || true
+
+basic_file.cc: ${glibcpp_srcdir}/@BASIC_FILE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_CC@ ./$@ || true
+
# Sources present in the src directory.
sources = \
bitset.cc \
@@ -114,20 +153,15 @@ VPATH = $(top_srcdir)/src:$(top_srcdir)
libstdc___la_SOURCES = $(sources)
libstdc___la_LIBADD = \
- ../libmath/libmath.la @libio_la@ \
- ../libsupc++/libsupc++convenience.la
+ $(top_builddir)/libmath/libmath.la @libio_la@ \
+ $(top_builddir)/libsupc++/libsupc++convenience.la
-if GLIBCPP_BUILD_VERSIONED_SHLIB
-version_arg=-Wl,--version-script=linker.map
-else
-version_arg=
-endif
+libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD)
libstdc___la_LDFLAGS = \
-version-info @libtool_VERSION@ ${version_arg} \
-lm @LIBUNWIND_FLAG@
-libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD) linker.map
# Use special rules for the deprecated source files so that they find
# deprecated include files.
@@ -150,13 +184,13 @@ concept-inst.o: concept-inst.cc
# modified in a per-library or per-sub-library way. Need to manually
# set this option because CONFIG_CXXFLAGS has to be after
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion call for it. (ie, --enable-debug)
+# as the occasion call for it.
AM_CXXFLAGS = \
-fno-implicit-templates \
$(LIBSUPCXX_CXXFLAGS) \
$(WARN_CXXFLAGS) \
$(OPTIMIZE_CXXFLAGS) \
- $(CONFIG_CXXFLAGS)
+ $(CONFIG_CXXFLAGS)
# libstdc++ libtool notes
@@ -188,3 +222,37 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
@OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+
+
+# Added bits to build debug library.
+if GLIBCPP_BUILD_DEBUG
+all-local: build_debug
+install-data-local: install_debug
+else
+all-local:
+install-data-local:
+endif
+
+debugdir = debug
+
+# Build parallel set of debug objects here.
+stamp-debug:
+ if test ! -d ${debugdir}; then \
+ mkdir -p ${debugdir}; \
+ (cd ${debugdir}; \
+ sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
+ -e 's/srcdir = \.\./srcdir = ..\/../' \
+ -e 's/glibcpp_basedir = \.\./glibcpp_basedir = ..\/../' \
+ -e 's/all-local: build_debug/all-local:/' \
+ -e 's/install-data-local: install_debug/install-data-local:/' \
+ < ../Makefile > Makefile) ; \
+ fi; \
+ echo `date` > stamp-debug;
+
+build_debug: stamp-debug
+ (cd ${debugdir} && $(MAKE) CXXFLAGS='@DEBUG_FLAGS@' all)
+
+# Install debug library here.
+install_debug:
+ (cd ${debugdir} && $(MAKE) \
+ toolexeclibdir=@glibcpp_toolexeclibdir@/debug install)
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 0974449aaa1..95c1cf881e2 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -66,14 +66,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DEBUG_FLAGS = @DEBUG_FLAGS@
@@ -99,6 +110,7 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WARN_FLAGS = @WARN_FLAGS@
@@ -111,10 +123,8 @@ glibcpp_CXX = @glibcpp_CXX@
glibcpp_MOFILES = @glibcpp_MOFILES@
glibcpp_POFILES = @glibcpp_POFILES@
glibcpp_basedir = @glibcpp_basedir@
-glibcpp_builddir = @glibcpp_builddir@
glibcpp_localedir = @glibcpp_localedir@
glibcpp_prefixdir = @glibcpp_prefixdir@
-glibcpp_srcdir = @glibcpp_srcdir@
glibcpp_thread_h = @glibcpp_thread_h@
glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
@@ -131,9 +141,13 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler support.
CXX = @glibcpp_CXX@
+glibcpp_srcdir = @glibcpp_srcdir@
+glibcpp_builddir = @glibcpp_builddir@
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
toolexeclib_LTLIBRARIES = libstdc++.la
+@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@version_arg = @GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@-Wl,--version-script=libstdc++-symbol.ver
+@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@version_arg =
# Compile flags that should be constant throughout the build, both for
# SUBDIRS and for libstdc++-v3 in general.
@@ -141,9 +155,8 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
-# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = \
- @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@
+ @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@
# Warning flags to use.
@@ -165,7 +178,8 @@ INCLUDES = \
$(TOPLEVEL_INCLUDES)
-# Source files linked in via configuration magic for a particular target.
+# Source files linked in via configuration/make substitution for a
+# particular target.
target_sources = \
codecvt_members.cc \
collate_members.cc \
@@ -176,8 +190,8 @@ target_sources = \
time_members.cc
-# Source files linked in via configuration magic for a particular
-# target, but with ad hoc naming rules.
+# Source files linked in via configuration/make substitution for a
+# particular target, but with ad hoc naming rules.
target_sources_extra = \
basic_file.cc \
c++locale.cc
@@ -222,19 +236,17 @@ VPATH = $(top_srcdir)/src:$(top_srcdir)
libstdc___la_SOURCES = $(sources)
libstdc___la_LIBADD = \
- ../libmath/libmath.la @libio_la@ \
- ../libsupc++/libsupc++convenience.la
+ $(top_builddir)/libmath/libmath.la @libio_la@ \
+ $(top_builddir)/libsupc++/libsupc++convenience.la
-@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@version_arg = @GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@-Wl,--version-script=linker.map
-@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@version_arg =
+
+libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD)
libstdc___la_LDFLAGS = \
-version-info @libtool_VERSION@ ${version_arg} \
-lm @LIBUNWIND_FLAG@
-libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD) linker.map
-
# Use special rules for the deprecated source files so that they find
# deprecated include files.
GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include
@@ -243,13 +255,13 @@ GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include
# modified in a per-library or per-sub-library way. Need to manually
# set this option because CONFIG_CXXFLAGS has to be after
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion call for it. (ie, --enable-debug)
+# as the occasion call for it.
AM_CXXFLAGS = \
-fno-implicit-templates \
$(LIBSUPCXX_CXXFLAGS) \
$(WARN_CXXFLAGS) \
$(OPTIMIZE_CXXFLAGS) \
- $(CONFIG_CXXFLAGS)
+ $(CONFIG_CXXFLAGS)
# libstdc++ libtool notes
@@ -283,6 +295,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
@OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+
+debugdir = debug
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
@@ -460,7 +474,7 @@ install-info: install-info-am
install-exec-am: install-toolexeclibLTLIBRARIES
install-exec: install-exec-am
-install-data-am:
+install-data-am: install-data-local
install-data: install-data-am
install-am: all-am
@@ -468,7 +482,7 @@ install-am: all-am
install: install-am
uninstall-am: uninstall-toolexeclibLTLIBRARIES
uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
+all-am: Makefile $(LTLIBRARIES) all-local
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
@@ -521,11 +535,42 @@ maintainer-clean-compile mostlyclean-libtool distclean-libtool \
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck install-info-am \
-install-info install-exec-am install-exec install-data-am install-data \
-install-am install uninstall-am uninstall all-redirect all-am all \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+install-info install-exec-am install-exec install-data-local \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-local all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcpp_srcdir}/@SYMVER_MAP@
+@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@ @LN_S@ ${glibcpp_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true
+@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@libstdc++-symbol.ver:
+codecvt_members.cc: ${glibcpp_srcdir}/@CCODECVT_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CCODECVT_CC@ . || true
+
+collate_members.cc: ${glibcpp_srcdir}/@CCOLLATE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CCOLLATE_CC@ . || true
+
+ctype_members.cc: ${glibcpp_srcdir}/@CCTYPE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CCTYPE_CC@ . || true
+
+messages_members.cc: ${glibcpp_srcdir}/@CMESSAGES_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_CC@ . || true
+
+monetary_members.cc: ${glibcpp_srcdir}/@CMONEY_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CMONEY_CC@ . || true
+
+numeric_members.cc: ${glibcpp_srcdir}/@CNUMERIC_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CNUMERIC_CC@ . || true
+
+time_members.cc: ${glibcpp_srcdir}/@CTIME_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CTIME_CC@ . || true
+
+c++locale.cc: ${glibcpp_srcdir}/@CLOCALE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_CC@ ./$@ || true
+
+basic_file.cc: ${glibcpp_srcdir}/@BASIC_FILE_CC@
+ @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_CC@ ./$@ || true
strstream.lo: strstream.cc
$(LTCXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -Wno-deprecated -c $<
strstream.o: strstream.cc
@@ -539,6 +584,34 @@ concept-inst.lo: concept-inst.cc
concept-inst.o: concept-inst.cc
$(CXXCOMPILE) -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates -c $<
+# Added bits to build debug library.
+@GLIBCPP_BUILD_DEBUG_TRUE@all-local: build_debug
+@GLIBCPP_BUILD_DEBUG_TRUE@install-data-local: install_debug
+@GLIBCPP_BUILD_DEBUG_FALSE@all-local:
+@GLIBCPP_BUILD_DEBUG_FALSE@install-data-local:
+
+# Build parallel set of debug objects here.
+stamp-debug:
+ if test ! -d ${debugdir}; then \
+ mkdir -p ${debugdir}; \
+ (cd ${debugdir}; \
+ sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
+ -e 's/srcdir = \.\./srcdir = ..\/../' \
+ -e 's/glibcpp_basedir = \.\./glibcpp_basedir = ..\/../' \
+ -e 's/all-local: build_debug/all-local:/' \
+ -e 's/install-data-local: install_debug/install-data-local:/' \
+ < ../Makefile > Makefile) ; \
+ fi; \
+ echo `date` > stamp-debug;
+
+build_debug: stamp-debug
+ (cd ${debugdir} && $(MAKE) CXXFLAGS='@DEBUG_FLAGS@' all)
+
+# Install debug library here.
+install_debug:
+ (cd ${debugdir} && $(MAKE) \
+ toolexeclibdir=@glibcpp_toolexeclibdir@/debug install)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/libstdc++-v3/src/codecvt.cc b/libstdc++-v3/src/codecvt.cc
index b9575cf70bc..bc5508a4f40 100644
--- a/libstdc++-v3/src/codecvt.cc
+++ b/libstdc++-v3/src/codecvt.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -46,26 +46,22 @@ namespace std
codecvt<char, char, mbstate_t>::
codecvt(size_t __refs)
: __codecvt_abstract_base<char, char, mbstate_t>(__refs)
- { _M_c_locale_codecvt = _S_c_locale; }
-
- codecvt<char, char, mbstate_t>::
- codecvt(__c_locale __cloc, size_t __refs)
- : __codecvt_abstract_base<char, char, mbstate_t>(__refs)
- { _M_c_locale_codecvt = _S_clone_c_locale(__cloc); }
+ { }
codecvt<char, char, mbstate_t>::
~codecvt()
- { _S_destroy_c_locale(_M_c_locale_codecvt); }
+ { }
codecvt_base::result
codecvt<char, char, mbstate_t>::
do_out(state_type&, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
+ const intern_type*, const intern_type*& __from_next,
+ extern_type* __to, extern_type*,
extern_type*& __to_next) const
{
- size_t __len = min(__from_end - __from, __to_end - __to);
- memcpy(__to, __from, __len);
+ // _GLIBCPP_RESOLVE_LIB_DEFECTS
+ // According to the resolution of DR19, "If returns noconv [...]
+ // there are no changes to the values in [to, to_limit)."
__from_next = __from;
__to_next = __to;
return noconv;
@@ -83,12 +79,13 @@ namespace std
codecvt_base::result
codecvt<char, char, mbstate_t>::
do_in(state_type&, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
+ const extern_type*, const extern_type*& __from_next,
+ intern_type* __to, intern_type*,
intern_type*& __to_next) const
- {
- size_t __len = min(__from_end - __from, __to_end - __to);
- memcpy(__to, __from, __len);
+ {
+ // _GLIBCPP_RESOLVE_LIB_DEFECTS
+ // According to the resolution of DR19, "If returns noconv [...]
+ // there are no changes to the values in [to, to_limit)."
__from_next = __from;
__to_next = __to;
return noconv;
@@ -120,16 +117,11 @@ namespace std
codecvt<wchar_t, char, mbstate_t>::
codecvt(size_t __refs)
: __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs)
- { _M_c_locale_codecvt = _S_c_locale; }
-
- codecvt<wchar_t, char, mbstate_t>::
- codecvt(__c_locale __cloc, size_t __refs)
- : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs)
- { _M_c_locale_codecvt = _S_clone_c_locale(__cloc); }
+ { }
codecvt<wchar_t, char, mbstate_t>::
~codecvt()
- { _S_destroy_c_locale(_M_c_locale_codecvt); }
+ { }
codecvt_base::result
codecvt<wchar_t, char, mbstate_t>::
diff --git a/libstdc++-v3/src/concept-inst.cc b/libstdc++-v3/src/concept-inst.cc
index d0129e5f940..e173549105d 100644
--- a/libstdc++-v3/src/concept-inst.cc
+++ b/libstdc++-v3/src/concept-inst.cc
@@ -1,6 +1,6 @@
// Concept checking instantiations -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -39,6 +39,7 @@
#ifdef _GLIBCPP_CONCEPT_CHECKS
#include <memory>
+#include <iterator>
#include <ostream>
#define _Instantiate(...) template void __function_requires< __VA_ARGS__ > ()
diff --git a/libstdc++-v3/src/fstream.cc b/libstdc++-v3/src/fstream.cc
index be711339b72..2a099d69227 100644
--- a/libstdc++-v3/src/fstream.cc
+++ b/libstdc++-v3/src/fstream.cc
@@ -1,6 +1,6 @@
// File based streams -*- C++ -*-
-// 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 the GNU ISO C++ Library. This library is free
@@ -50,10 +50,14 @@ namespace std
// normal buffers and jet outta here before expensive
// fileops happen...
if (_M_pback_init)
+ _M_pback_destroy();
+
+ if (_M_in_cur && _M_in_cur < _M_in_end)
{
- _M_pback_destroy();
- if (_M_in_cur < _M_in_end)
- return traits_type::to_int_type(*_M_in_cur);
+ __ret = traits_type::to_int_type(*_M_in_cur);
+ if (__bump)
+ _M_in_cur_move(1);
+ return __ret;
}
// Sync internal and external buffers.
@@ -115,10 +119,14 @@ namespace std
// normal buffers and jet outta here before expensive
// fileops happen...
if (_M_pback_init)
+ _M_pback_destroy();
+
+ if (_M_in_cur && _M_in_cur < _M_in_end)
{
- _M_pback_destroy();
- if (_M_in_cur < _M_in_end)
- return traits_type::to_int_type(*_M_in_cur);
+ __ret = traits_type::to_int_type(*_M_in_cur);
+ if (__bump)
+ _M_in_cur_move(1);
+ return __ret;
}
// Sync internal and external buffers.
@@ -154,9 +162,10 @@ namespace std
const char* __eend;
char_type* __iend;
- __res_type __r = __cvt.in(_M_state_cur, __buf,
- __buf + __elen, __eend, _M_in_beg,
- _M_in_beg + _M_buf_size, __iend);
+ codecvt_base::result __r;
+ __r = __cvt.in(_M_state_cur, __buf,
+ __buf + __elen, __eend, _M_in_beg,
+ _M_in_beg + _M_buf_size, __iend);
if (__r == codecvt_base::ok)
__ilen = __iend - _M_in_beg;
else
diff --git a/libstdc++-v3/src/globals.cc b/libstdc++-v3/src/globals.cc
index d85bf3a6369..6c8010c620a 100644
--- a/libstdc++-v3/src/globals.cc
+++ b/libstdc++-v3/src/globals.cc
@@ -47,7 +47,7 @@
namespace __gnu_cxx
{
using namespace std;
-
+
typedef char fake_facet_name[sizeof(char*)]
__attribute__ ((aligned(__alignof__(char*))));
fake_facet_name facet_name[6 + _GLIBCPP_NUM_CATEGORIES];
@@ -266,6 +266,14 @@ namespace __gnu_cxx
_GLIBCPP_mutex_address_init ()
{ __GTHREAD_MUTEX_INIT_FUNCTION (_GLIBCPP_mutex_address); }
#endif
+
+ // GLIBCXX_ABI.
+ struct __compat
+ {
+ static const char _S_atoms[];
+ };
+ const char __compat::_S_atoms[] = "0123456789eEabcdfABCDF";
+ _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8__compat8_S_atomsE, _ZNSt10__num_base8_S_atomsE, GLIBCPP_3.2)
} // namespace __gnu_cxx
namespace std
diff --git a/libstdc++-v3/src/ios.cc b/libstdc++-v3/src/ios.cc
index 9f4c71841b4..00dbe1219c6 100644
--- a/libstdc++-v3/src/ios.cc
+++ b/libstdc++-v3/src/ios.cc
@@ -159,11 +159,12 @@ namespace std
void
ios_base::Init::_S_ios_create(bool __sync)
{
- int __out_size = __sync ? 0 : static_cast<int>(BUFSIZ);
+ size_t __out_size = __sync ? 0 : static_cast<size_t>(BUFSIZ);
#ifdef _GLIBCPP_HAVE_ISATTY
- int __in_size = (__sync || isatty (0)) ? 1 : static_cast<int>(BUFSIZ);
+ size_t __in_size =
+ (__sync || isatty (0)) ? 1 : static_cast<size_t>(BUFSIZ);
#else
- int __in_size = 1;
+ size_t __in_size = 1;
#endif
// NB: The file globals.cc creates the four standard files
@@ -172,10 +173,15 @@ namespace std
new (&buf_cout) stdio_filebuf<char>(stdout, ios_base::out, __out_size);
new (&buf_cin) stdio_filebuf<char>(stdin, ios_base::in, __in_size);
new (&buf_cerr) stdio_filebuf<char>(stderr, ios_base::out, __out_size);
+
new (&cout) ostream(&buf_cout);
new (&cin) istream(&buf_cin);
new (&cerr) ostream(&buf_cerr);
new (&clog) ostream(&buf_cerr);
+ cout.init(&buf_cout);
+ cin.init(&buf_cin);
+ cerr.init(&buf_cerr);
+ clog.init(&buf_cerr);
cin.tie(&cout);
cerr.flags(ios_base::unitbuf);
@@ -187,6 +193,10 @@ namespace std
new (&wcin) wistream(&buf_wcin);
new (&wcerr) wostream(&buf_wcerr);
new (&wclog) wostream(&buf_wcerr);
+ wcout.init(&buf_wcout);
+ wcin.init(&buf_wcin);
+ wcerr.init(&buf_wcerr);
+ wclog.init(&buf_wcerr);
wcin.tie(&wcout);
wcerr.flags(ios_base::unitbuf);
#endif
@@ -252,8 +262,6 @@ namespace std
{ words = new _Words[newsize]; }
catch (...)
{
- delete [] _M_word;
- _M_word = 0;
_M_streambuf_state |= badbit;
if (_M_streambuf_state & _M_exception)
__throw_ios_failure("ios_base::_M_grow_words failure");
@@ -270,6 +278,8 @@ namespace std
else
{
_M_streambuf_state |= badbit;
+ if (_M_streambuf_state & _M_exception)
+ __throw_ios_failure("ios_base::_M_grow_words failure");
return _M_word_zero;
}
}
@@ -286,8 +296,6 @@ namespace std
_M_precision = 6;
_M_width = 0;
_M_flags = skipws | dec;
- _M_callbacks = 0;
- _M_word_size = 0;
_M_ios_locale = locale();
}
@@ -301,7 +309,8 @@ namespace std
return __old;
}
- ios_base::ios_base() : _M_callbacks(0), _M_word(0)
+ ios_base::ios_base() : _M_callbacks(0), _M_word_size(_S_local_word_size),
+ _M_word(_M_local_word)
{
// Do nothing: basic_ios::init() does it.
// NB: _M_callbacks and _M_word must be zero for non-initialized
@@ -313,7 +322,7 @@ namespace std
{
_M_call_callbacks(erase_event);
_M_dispose_callbacks();
- if (_M_word && _M_word != _M_local_word)
+ if (_M_word != _M_local_word)
{
delete [] _M_word;
_M_word = 0;
diff --git a/libstdc++-v3/src/locale-inst.cc b/libstdc++-v3/src/locale-inst.cc
index 8f2c8638177..2318cee3a2a 100644
--- a/libstdc++-v3/src/locale-inst.cc
+++ b/libstdc++-v3/src/locale-inst.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,6 @@
#include <cstdlib>
#include <clocale>
#include <cstring>
-#include <cassert>
#include <locale>
namespace std
@@ -64,26 +63,26 @@ namespace std
template
ostreambuf_iterator<char>
num_put<char, ostreambuf_iterator<char> >::
- _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
long) const;
template
ostreambuf_iterator<char>
num_put<char, ostreambuf_iterator<char> >::
- _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
unsigned long) const;
#ifdef _GLIBCPP_USE_LONG_LONG
template
ostreambuf_iterator<char>
num_put<char, ostreambuf_iterator<char> >::
- _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
long long) const;
template
ostreambuf_iterator<char>
num_put<char, ostreambuf_iterator<char> >::
- _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
unsigned long long) const;
#endif
@@ -97,8 +96,8 @@ namespace std
ostreambuf_iterator<char>
num_put<char, ostreambuf_iterator<char> >::
_M_convert_float(ostreambuf_iterator<char>, ios_base&, char, char,
- long double) const;
-
+ long double) const;
+
#ifdef _GLIBCPP_USE_WCHAR_T
template class numpunct<wchar_t>;
template class numpunct_byname<wchar_t>;
@@ -108,27 +107,27 @@ namespace std
template
ostreambuf_iterator<wchar_t>
num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
- _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
- char, long) const;
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
+ long) const;
template
ostreambuf_iterator<wchar_t>
num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
- _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
- char, unsigned long) const;
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
+ unsigned long) const;
#ifdef _GLIBCPP_USE_LONG_LONG
template
ostreambuf_iterator<wchar_t>
num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
- _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
- char, long long) const;
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
+ long long) const;
template
ostreambuf_iterator<wchar_t>
num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
- _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
- char, unsigned long long) const;
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
+ unsigned long long) const;
#endif
template
@@ -144,6 +143,64 @@ namespace std
long double) const;
#endif
+#if 1
+ // XXX GLIBCXX_ABI Deprecated, compatibility only.
+ template
+ ostreambuf_iterator<char>
+ num_put<char, ostreambuf_iterator<char> >::
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ long) const;
+
+ template
+ ostreambuf_iterator<char>
+ num_put<char, ostreambuf_iterator<char> >::
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ unsigned long) const;
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+ template
+ ostreambuf_iterator<char>
+ num_put<char, ostreambuf_iterator<char> >::
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ long long) const;
+
+ template
+ ostreambuf_iterator<char>
+ num_put<char, ostreambuf_iterator<char> >::
+ _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
+ unsigned long long) const;
+#endif
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+ template
+ ostreambuf_iterator<wchar_t>
+ num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
+ char, long) const;
+
+ template
+ ostreambuf_iterator<wchar_t>
+ num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
+ char, unsigned long) const;
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+ template
+ ostreambuf_iterator<wchar_t>
+ num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
+ char, long long) const;
+
+ template
+ ostreambuf_iterator<wchar_t>
+ num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
+ _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
+ char, unsigned long long) const;
+#endif
+#endif
+
+#endif
+
// time_get and time_put
template class __timepunct<char>;
template class time_put<char, ostreambuf_iterator<char> >;
@@ -451,6 +508,7 @@ namespace std
__convert_from_v(char*, const int, const char*, unsigned long,
const __c_locale&, int);
+#ifdef _GLIBCPP_USE_LONG_LONG
template
int
__convert_from_v(char*, const int, const char*, long long,
@@ -460,4 +518,31 @@ namespace std
int
__convert_from_v(char*, const int, const char*, unsigned long long,
const __c_locale&, int);
+#endif
+
+ template
+ int
+ __int_to_char(char*, const int, unsigned long, const char*,
+ ios_base::fmtflags, bool);
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+ template
+ int
+ __int_to_char(wchar_t*, const int, unsigned long, const wchar_t*,
+ ios_base::fmtflags, bool);
+#endif
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+ template
+ int
+ __int_to_char(char*, const int, unsigned long long, const char*,
+ ios_base::fmtflags, bool);
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+ template
+ int
+ __int_to_char(wchar_t*, const int, unsigned long long, const wchar_t*,
+ ios_base::fmtflags, bool);
+#endif
+#endif
} // namespace std
diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc
index c5c6dd8a049..17ccdc2e4c6 100644
--- a/libstdc++-v3/src/locale.cc
+++ b/libstdc++-v3/src/locale.cc
@@ -1,4 +1,4 @@
-// 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 the GNU ISO C++ Library. This library is free
@@ -28,7 +28,6 @@
#include <clocale>
#include <cstring>
-#include <cassert>
#include <cctype>
#include <cwctype> // For towupper, etc.
#include <locale>
@@ -449,6 +448,8 @@ namespace std
__c_locale
locale::facet::_S_c_locale;
+ char locale::facet::_S_c_name[2];
+
locale::facet::
~facet() { }
@@ -500,13 +501,16 @@ namespace std
const money_base::pattern
money_base::_S_default_pattern = { {symbol, sign, none, value} };
- const char __num_base::_S_atoms[] = "0123456789eEabcdfABCDF";
+ const char* __num_base::_S_atoms_in = "0123456789eEabcdfABCDF";
+ const char* __num_base::_S_atoms_out ="-+xX0123456789abcdef0123456789ABCDEF";
- bool
- __num_base::_S_format_float(const ios_base& __io, char* __fptr, char __mod,
- streamsize __prec)
+ // _GLIBCPP_RESOLVE_LIB_DEFECTS
+ // According to the resolution of DR 231, about 22.2.2.2.2, p11,
+ // "str.precision() is specified in the conversion specification".
+ void
+ __num_base::_S_format_float(const ios_base& __io, char* __fptr,
+ char __mod, streamsize/* unused post DR 231 */)
{
- bool __incl_prec = false;
ios_base::fmtflags __flags = __io.flags();
*__fptr++ = '%';
// [22.2.2.2.2] Table 60
@@ -514,13 +518,12 @@ namespace std
*__fptr++ = '+';
if (__flags & ios_base::showpoint)
*__fptr++ = '#';
- // As per [22.2.2.2.2.11]
- if (__flags & ios_base::fixed || __prec > 0)
- {
- *__fptr++ = '.';
- *__fptr++ = '*';
- __incl_prec = true;
- }
+
+ // As per DR 231: _always_, not only when
+ // __flags & ios_base::fixed || __prec > 0
+ *__fptr++ = '.';
+ *__fptr++ = '*';
+
if (__mod)
*__fptr++ = __mod;
ios_base::fmtflags __fltfield = __flags & ios_base::floatfield;
@@ -532,7 +535,6 @@ namespace std
else
*__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g';
*__fptr = '\0';
- return __incl_prec;
}
void
diff --git a/libstdc++-v3/src/localename.cc b/libstdc++-v3/src/localename.cc
index 892a951ce0d..b60052d2bb6 100644
--- a/libstdc++-v3/src/localename.cc
+++ b/libstdc++-v3/src/localename.cc
@@ -1,4 +1,4 @@
-// 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 the GNU ISO C++ Library. This library is free
@@ -35,7 +35,7 @@ namespace __gnu_cxx
using namespace std;
// Defined in globals.cc.
- extern locale::facet** facet_vec;
+ extern locale::facet* facet_vec[_GLIBCPP_NUM_FACETS];
extern char* facet_name[6 + _GLIBCPP_NUM_CATEGORIES];
extern std::ctype<char> ctype_c;
@@ -170,7 +170,7 @@ namespace std
// Construct all standard facets and add them to _M_facets.
_M_init_facet(new std::ctype<char>(__cloc, 0, false));
- _M_init_facet(new codecvt<char, char, mbstate_t>(__cloc));
+ _M_init_facet(new codecvt<char, char, mbstate_t>);
_M_init_facet(new numpunct<char>(__cloc));
_M_init_facet(new num_get<char>);
_M_init_facet(new num_put<char>);
@@ -186,7 +186,7 @@ namespace std
#ifdef _GLIBCPP_USE_WCHAR_T
_M_init_facet(new std::ctype<wchar_t>(__cloc));
- _M_init_facet(new codecvt<wchar_t, char, mbstate_t>(__cloc));
+ _M_init_facet(new codecvt<wchar_t, char, mbstate_t>);
_M_init_facet(new numpunct<wchar_t>(__cloc));
_M_init_facet(new num_get<wchar_t>);
_M_init_facet(new num_put<wchar_t>);
@@ -209,7 +209,10 @@ namespace std
: _M_references(__refs), _M_facets_size(_GLIBCPP_NUM_FACETS)
{
// Initialize the underlying locale model.
- locale::facet::_S_create_c_locale(locale::facet::_S_c_locale, "C");
+ locale::facet::_S_c_name[0] = 'C';
+ locale::facet::_S_c_name[1] = '\0';
+ locale::facet::_S_create_c_locale(locale::facet::_S_c_locale,
+ locale::facet::_S_c_name);
_M_facets = new(&facet_vec) facet*[_M_facets_size];
for (size_t __i = 0; __i < _M_facets_size; ++__i)
@@ -220,7 +223,7 @@ namespace std
__i < _S_categories_size + _S_extra_categories_size; ++__i)
{
_M_names[__i] = new (&facet_name[__i]) char[2];
- strcpy(_M_names[__i], "C");
+ strcpy(_M_names[__i], locale::facet::_S_c_name);
}
// This is needed as presently the C++ version of "C" locales
diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc
index 74224b1d983..61cb1b36449 100644
--- a/libstdc++-v3/src/misc-inst.cc
+++ b/libstdc++-v3/src/misc-inst.cc
@@ -87,3 +87,21 @@ namespace std
string*, __false_type);
#endif
} // namespace std
+
+#ifdef _GLIBCPP_NEED_GENERIC_MUTEX
+namespace __gnu_cxx
+{
+#ifdef __GTHREAD_MUTEX_INIT
+ __gthread_mutex_t _Atomic_add_mutex = __GTHREAD_MUTEX_INIT;
+#else
+ // generic atomicity.h without static initialization
+ __gthread_mutex_t _Atomic_add_mutex;
+ __gthread_once_t _Atomic_add_mutex_once = __GTHREAD_ONCE_INIT;
+ void __gthread_atomic_add_mutex_once()
+ {
+ __GTHREAD_MUTEX_INIT_FUNCTION (&_Atomic_add_mutex);
+ }
+#endif
+} // namespace __gnu_cxx
+#endif // _GLIBCPP_NEED_GLOBAL_MUTEX
+
diff --git a/libstdc++-v3/src/strstream.cc b/libstdc++-v3/src/strstream.cc
index 4d585659b9b..00f5b734b7b 100644
--- a/libstdc++-v3/src/strstream.cc
+++ b/libstdc++-v3/src/strstream.cc
@@ -1,6 +1,6 @@
// strstream definitions -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -148,7 +148,7 @@ namespace std
if (pptr() == epptr() && _M_dynamic && !_M_frozen && !_M_constant)
{
ptrdiff_t old_size = epptr() - pbase();
- ptrdiff_t new_size = max(2 * old_size, ptrdiff_t(1));
+ ptrdiff_t new_size = max(ptrdiff_t(2 * old_size), ptrdiff_t(1));
char* buf = _M_alloc(new_size);
if (buf)
diff --git a/libstdc++-v3/testsuite/17_intro/headers.cc b/libstdc++-v3/testsuite/17_intro/headers.cc
index eb930f1ff00..4694079ed29 100644
--- a/libstdc++-v3/testsuite/17_intro/headers.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers.cc
@@ -18,6 +18,9 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
+// FreeBSD wants warning clean system headers:
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
+
// 17.4.1.2 Headers
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits.cc b/libstdc++-v3/testsuite/18_support/numeric_limits.cc
index 4a1c498bb2d..540b4b7759f 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits.cc
@@ -289,12 +289,33 @@ bool test03()
return test;
}
+// libstdc++/8949
+bool test04()
+{
+ bool test = true;
+
+ VERIFY( !std::numeric_limits<short>::is_iec559 );
+ VERIFY( !std::numeric_limits<unsigned short>::is_iec559 );
+ VERIFY( !std::numeric_limits<int>::is_iec559 );
+ VERIFY( !std::numeric_limits<unsigned int>::is_iec559 );
+ VERIFY( !std::numeric_limits<long>::is_iec559 );
+ VERIFY( !std::numeric_limits<unsigned long>::is_iec559 );
+ VERIFY( !std::numeric_limits<long long>::is_iec559 );
+ VERIFY( !std::numeric_limits<unsigned long long>::is_iec559 );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
int main()
{
test01();
test02();
test03();
+ test04();
test_extrema<char>();
test_extrema<signed char>();
diff --git a/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc b/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc
index c45e66a4cd4..28e9d8ef160 100644
--- a/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc
+++ b/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -230,7 +230,7 @@ void test05()
int main()
{
- __set_testsuite_memlimit();
+ __gnu_cxx_test::set_memory_limits();
test01();
test02();
test03();
diff --git a/libstdc++-v3/testsuite/21_strings/insert.cc b/libstdc++-v3/testsuite/21_strings/insert.cc
index e6140ac2e9b..5e1eda86959 100644
--- a/libstdc++-v3/testsuite/21_strings/insert.cc
+++ b/libstdc++-v3/testsuite/21_strings/insert.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -246,7 +246,7 @@ int test02(void)
int main()
{
- __set_testsuite_memlimit();
+ __gnu_cxx_test::set_memory_limits();
test01();
test02();
return 0;
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc b/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc
index 9cf4e7d5c70..b2acb675351 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc
@@ -36,25 +36,33 @@ void test01()
const char* from_next;
int size = 25;
char* c_arr = new char[size];
+ char* c_ref = new char[size];
char* to_next;
locale loc;
c_codecvt::state_type state;
const c_codecvt* cvt = &use_facet<c_codecvt>(loc);
+ // According to the resolution of DR19 (see also libstd++/9168), in
+ // case of degenerate conversion ('noconv'), "there are no changes to
+ // the values in [to, to_limit)."
+ memset(c_ref, 'X', size);
+
// in
+ memset(c_arr, 'X', size);
result r1 = cvt->in(state, c_lit, c_lit + size, from_next,
c_arr, c_arr + size, to_next);
VERIFY( r1 == codecvt_base::noconv );
- VERIFY( !strcmp(c_arr, c_lit) );
+ VERIFY( !memcmp(c_arr, c_ref, size) );
VERIFY( from_next == c_lit );
VERIFY( to_next == c_arr );
// out
+ memset(c_arr, 'X', size);
result r2 = cvt->out(state, c_lit, c_lit + size, from_next,
c_arr, c_arr + size, to_next);
VERIFY( r2 == codecvt_base::noconv );
- VERIFY( !strcmp(c_arr, c_lit) );
+ VERIFY( !memcmp(c_arr, c_ref, size) );
VERIFY( from_next == c_lit );
VERIFY( to_next == c_arr );
@@ -77,6 +85,7 @@ void test01()
VERIFY( k == 1 );
delete [] c_arr;
+ delete [] c_ref;
}
// libstdc++/5280
diff --git a/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc
index 448119682cf..d79677f23d5 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc
@@ -1,6 +1,6 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -363,6 +363,35 @@ void test05()
VERIFY( result == "0" );
}
+// libstdc++/9548 and DR 231
+void test06()
+{
+ using namespace std;
+ bool test = true;
+
+ const locale loc_c = locale::classic();
+
+ ostringstream oss1, oss2;
+ oss1.imbue(loc_c);
+ oss2.imbue(loc_c);
+ const num_put<char>& np1 = use_facet<num_put<char> >(oss1.getloc());
+ const num_put<char>& np2 = use_facet<num_put<char> >(oss2.getloc());
+
+ string result1, result2;
+
+ oss1.precision(-1);
+ oss1.setf(ios_base::fixed, ios_base::floatfield);
+ np1.put(oss1.rdbuf(), oss1, '+', 30.5);
+ result1 = oss1.str();
+ VERIFY( result1 == "30.500000" );
+
+ oss2.precision(0);
+ oss2.setf(ios_base::scientific, ios_base::floatfield);
+ np2.put(oss2.rdbuf(), oss2, '+', 1.0);
+ result2 = oss2.str();
+ VERIFY( result2 == "1e+00" );
+}
+
int main()
{
test01();
@@ -370,6 +399,7 @@ int main()
test03();
test04();
test05();
+ test06();
return 0;
}
diff --git a/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc
index d3060dd8194..97b2363414f 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc
@@ -1,6 +1,6 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -362,6 +362,35 @@ void test05()
result = oss.str();
VERIFY( result == L"0" );
}
+
+// libstdc++/9548 and DR 231
+void test06()
+{
+ using namespace std;
+ bool test = true;
+
+ const locale loc_c = locale::classic();
+
+ wostringstream woss1, woss2;
+ woss1.imbue(loc_c);
+ woss2.imbue(loc_c);
+ const num_put<wchar_t>& np1 = use_facet<num_put<wchar_t> >(woss1.getloc());
+ const num_put<wchar_t>& np2 = use_facet<num_put<wchar_t> >(woss2.getloc());
+
+ wstring result1, result2;
+
+ woss1.precision(-1);
+ woss1.setf(ios_base::fixed, ios_base::floatfield);
+ np1.put(woss1.rdbuf(), woss1, '+', 30.5);
+ result1 = woss1.str();
+ VERIFY( result1 == L"30.500000" );
+
+ woss2.precision(0);
+ woss2.setf(ios_base::scientific, ios_base::floatfield);
+ np2.put(woss2.rdbuf(), woss2, '+', 1.0);
+ result2 = woss2.str();
+ VERIFY( result2 == L"1e+00" );
+}
#endif
int main()
@@ -372,6 +401,7 @@ int main()
test03();
test04();
test05();
+ test06();
#endif
return 0;
}
diff --git a/libstdc++-v3/testsuite/23_containers/bitset_members.cc b/libstdc++-v3/testsuite/23_containers/bitset_members.cc
index 30e0ab6e063..054018df662 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset_members.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset_members.cc
@@ -22,6 +22,7 @@
#include <bitset>
#include <stdexcept>
+#include <sstream>
#include <testsuite_hooks.h>
void
@@ -52,9 +53,26 @@ void test02()
bs.count();
}
+void test03()
+{
+ std::bitset<5> b;
+ std::stringstream ss ("101");
+
+ ss.exceptions(std::ios_base::eofbit);
+
+ try
+ {
+ ss >> b;
+ }
+ catch (std::exception&) {}
+
+ VERIFY( b.to_ulong() == 5 );
+}
+
int main()
{
test01();
test02();
+ test03();
return 0;
}
diff --git a/libstdc++-v3/testsuite/23_containers/bitset_shift.cc b/libstdc++-v3/testsuite/23_containers/bitset_shift.cc
index 35531bf5b4c..01fdd2fbc4b 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset_shift.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset_shift.cc
@@ -106,9 +106,25 @@ test01() {
return test;
}
+bool
+test02()
+{
+ bool test = true;
+
+ std::bitset<66> b;
+ b <<= 400;
+ VERIFY( b.count() == 0 );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+ return test;
+}
+
int
main() {
test01();
+ test02();
return 0;
}
diff --git a/libstdc++-v3/testsuite/23_containers/deque_ctor.cc b/libstdc++-v3/testsuite/23_containers/deque_ctor.cc
index 7df103405eb..50a813368bb 100644
--- a/libstdc++-v3/testsuite/23_containers/deque_ctor.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque_ctor.cc
@@ -1,6 +1,6 @@
// 2001-12-27 pme
//
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -26,7 +26,15 @@
#include <testsuite_allocator.h>
#include <testsuite_hooks.h>
-typedef std::deque<gnu_counting_struct> gdeque;
+using __gnu_cxx_test::copy_tracker;
+using __gnu_cxx_test::allocation_tracker;
+using __gnu_cxx_test::tracker_alloc;
+using __gnu_cxx_test::copy_constructor;
+using __gnu_cxx_test::assignment_operator;
+using __gnu_cxx_test::counter;
+using __gnu_cxx_test::destructor;
+
+typedef std::deque<counter> gdeque;
bool test = true;
@@ -133,10 +141,10 @@ void
defaultConstructorCheck()
{
// setup
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// run test
const X u;
@@ -171,7 +179,7 @@ void
copyConstructorCheck()
{
// setup
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const int copyBaseSize = 17; // arbitrary
@@ -179,7 +187,7 @@ copyConstructorCheck()
X a;
for (int i = 0; i < copyBaseSize; ++i)
a.push_back(i);
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// assert preconditions
VERIFY(!a.empty());
@@ -192,7 +200,7 @@ copyConstructorCheck()
// assert postconditions
VERIFY(u == a);
- VERIFY(copyBaseSize == gnu_copy_constructor::count());
+ VERIFY(copyBaseSize == copy_constructor::count());
// teardown
}
@@ -212,20 +220,20 @@ void
fillConstructorCheck()
{
// setup
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const X::size_type n(23);
const X::value_type t(111);
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// run test
X a(n, t);
// assert postconditions
VERIFY(n == a.size());
- VERIFY(n == gnu_copy_constructor::count());
+ VERIFY(n == copy_constructor::count());
// teardown
}
@@ -239,18 +247,18 @@ fillConstructorCheck()
void
fillConstructorCheck2()
{
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const int f = 23;
const int l = 111;
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
X a(f, l);
VERIFY(f == a.size());
- VERIFY(f == gnu_copy_constructor::count());
+ VERIFY(f == copy_constructor::count());
}
@@ -265,7 +273,7 @@ void
rangeConstructorCheckForwardIterator()
{
// setup
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const X::size_type n(726);
@@ -275,14 +283,14 @@ rangeConstructorCheckForwardIterator()
X::iterator j = source.end();
X::size_type rangeSize = std::distance(i, j);
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// test
X a(i, j);
// assert postconditions
VERIFY(rangeSize == a.size());
- VERIFY(gnu_copy_constructor::count() <= rangeSize);
+ VERIFY(copy_constructor::count() <= rangeSize);
}
@@ -295,7 +303,7 @@ rangeConstructorCheckForwardIterator()
void
rangeConstructorCheckInputIterator()
{
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
std::istringstream ibuf("1234567890123456789");
@@ -303,12 +311,12 @@ rangeConstructorCheckInputIterator()
std::istream_iterator<char> i(ibuf);
std::istream_iterator<char> j;
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
X a(i, j);
VERIFY(rangeSize == a.size());
- VERIFY(gnu_copy_constructor::count() <= (2 * rangeSize));
+ VERIFY(copy_constructor::count() <= (2 * rangeSize));
}
@@ -316,7 +324,7 @@ rangeConstructorCheckInputIterator()
void
copyAssignmentCheck()
{
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const X::size_type n(18);
@@ -324,12 +332,12 @@ copyAssignmentCheck()
X a(n, t);
X r;
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
r = a;
VERIFY(r == a);
- VERIFY(n == gnu_copy_constructor::count());
+ VERIFY(n == copy_constructor::count());
}
@@ -343,7 +351,7 @@ copyAssignmentCheck()
void
fillAssignmentCheck()
{
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const X::size_type starting_size(10);
@@ -352,7 +360,7 @@ fillAssignmentCheck()
const X::value_type t(111);
X a(starting_size, starting_value);
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// preconditions
VERIFY(starting_size == a.size());
@@ -362,8 +370,8 @@ fillAssignmentCheck()
// postconditions
VERIFY(n == a.size());
- VERIFY(n == (gnu_copy_constructor::count() + gnu_assignment_operator::count()));
- VERIFY(starting_size == (gnu_destructor::count() + gnu_assignment_operator::count()));
+ VERIFY(n == (copy_constructor::count() + assignment_operator::count()));
+ VERIFY(starting_size == (destructor::count() + assignment_operator::count()));
}
@@ -391,7 +399,7 @@ fillAssignmentCheck()
void
rangeAssignmentCheck()
{
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
const X::size_type source_size(726);
@@ -407,13 +415,13 @@ rangeAssignmentCheck()
X a(starting_size, starting_value);
VERIFY(starting_size == a.size());
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
a.assign(i, j);
VERIFY(source == a);
- VERIFY(rangeSize == (gnu_copy_constructor::count() + gnu_assignment_operator::count()));
- VERIFY(starting_size == (gnu_destructor::count() + gnu_assignment_operator::count()));
+ VERIFY(rangeSize == (copy_constructor::count() + assignment_operator::count()));
+ VERIFY(starting_size == (destructor::count() + assignment_operator::count()));
}
@@ -423,7 +431,7 @@ void
rangeAssignmentCheckWithException()
{
// setup
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
// test
@@ -436,7 +444,7 @@ void
fillAssignmentCheck2()
{
// setup
- typedef gnu_copy_tracker T;
+ typedef copy_tracker T;
typedef std::deque<T> X;
// test
@@ -449,12 +457,12 @@ void
test_default_ctor_exception_safety()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::deque<T, gnu_new_allocator<T> > X;
+ typedef copy_tracker T;
+ typedef std::deque<T, tracker_alloc<T> > X;
T::reset();
- gnu_copy_constructor::throw_on(3);
- gnu_allocator_tracker::resetCounts();
+ copy_constructor::throw_on(3);
+ allocation_tracker::resetCounts();
// test
try
@@ -467,7 +475,7 @@ test_default_ctor_exception_safety()
}
// assert postconditions
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
}
@@ -477,14 +485,14 @@ void
test_copy_ctor_exception_safety()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::deque<T, gnu_new_allocator<T> > X;
+ typedef copy_tracker T;
+ typedef std::deque<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
T::reset();
- gnu_copy_constructor::throw_on(3);
+ copy_constructor::throw_on(3);
// test
@@ -499,7 +507,7 @@ test_copy_ctor_exception_safety()
}
// assert postconditions
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
}
diff --git a/libstdc++-v3/testsuite/23_containers/list_modifiers.cc b/libstdc++-v3/testsuite/23_containers/list_modifiers.cc
index 14b53657e05..213fc41f17d 100644
--- a/libstdc++-v3/testsuite/23_containers/list_modifiers.cc
+++ b/libstdc++-v3/testsuite/23_containers/list_modifiers.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -21,7 +21,7 @@
#include <list>
#include <testsuite_hooks.h>
-typedef gnu_copy_tracker T;
+typedef __gnu_cxx_test::copy_tracker T;
bool test = true;
diff --git a/libstdc++-v3/testsuite/23_containers/vector_capacity.cc b/libstdc++-v3/testsuite/23_containers/vector_capacity.cc
index 621ef7e373f..b6e347de309 100644
--- a/libstdc++-v3/testsuite/23_containers/vector_capacity.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector_capacity.cc
@@ -1,7 +1,7 @@
// 1999-05-07
// bkoz
-// Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -26,6 +26,13 @@
#include <testsuite_allocator.h>
#include <testsuite_hooks.h>
+using __gnu_cxx_test::copy_tracker;
+using __gnu_cxx_test::allocation_tracker;
+using __gnu_cxx_test::tracker_alloc;
+using __gnu_cxx_test::copy_constructor;
+using __gnu_cxx_test::assignment_operator;
+using __gnu_cxx_test::destructor;
+
template<typename T>
struct A { };
@@ -58,7 +65,6 @@ void test01()
void test02()
{
bool test = true;
-
{
std::vector<int> array;
const std::size_t size = array.max_size();
@@ -100,34 +106,15 @@ void test02()
}
}
-void test03()
-{
- bool test = true;
- std::vector<int> v;
- try
- {
- v.resize(v.max_size());
- v[v.max_size() - 1] = 2002;
- }
- catch (const std::bad_alloc& error)
- {
- test = true;
- }
- catch (...)
- {
- test = false;
- }
- VERIFY( test );
-}
-
// Verifies basic functionality of reserve() with forced reallocation.
void
test_reserve()
{
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(3);
const X::size_type old_size = a.size();
@@ -141,11 +128,11 @@ test_reserve()
VERIFY(new_capacity <= a.capacity());
// [23.2.4.1 (3)]
VERIFY(old_size == a.size());
- VERIFY(gnu_copy_constructor::count() <= old_size);
- VERIFY(gnu_destructor::count() <= old_size);
+ VERIFY(copy_constructor::count() <= old_size);
+ VERIFY(destructor::count() <= old_size);
}
// check for memory leaks
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
}
// Verifies that reserve() with reallocation offers the strong
@@ -153,17 +140,18 @@ test_reserve()
void
test_reserve_exception_guarantee()
{
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
const X::size_type old_size = a.size();
const X::size_type old_capacity = a.capacity();
const X::size_type new_capacity = old_capacity + 10;
T::reset();
- gnu_copy_constructor::throw_on(3);
+ copy_constructor::throw_on(3);
try
{
@@ -175,16 +163,15 @@ test_reserve_exception_guarantee()
}
VERIFY(old_capacity == a.capacity());
- VERIFY(gnu_copy_constructor::count() == gnu_destructor::count()+1);
+ VERIFY(copy_constructor::count() == destructor::count()+1);
}
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
}
int main()
{
test01();
test02();
- test03();
test_reserve();
test_reserve_exception_guarantee();
return 0;
diff --git a/libstdc++-v3/testsuite/23_containers/vector_ctor.cc b/libstdc++-v3/testsuite/23_containers/vector_ctor.cc
index d8789f57146..8b93207606e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector_ctor.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector_ctor.cc
@@ -1,6 +1,6 @@
// 1999-06-29 bkoz
-// Copyright (C) 1999-2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999-2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -25,6 +25,12 @@
#include <testsuite_allocator.h>
#include <testsuite_hooks.h>
+using __gnu_cxx_test::copy_tracker;
+using __gnu_cxx_test::allocation_tracker;
+using __gnu_cxx_test::tracker_alloc;
+using __gnu_cxx_test::copy_constructor;
+using __gnu_cxx_test::assignment_operator;
+
template<typename T>
struct A { };
@@ -32,7 +38,6 @@ struct B { };
void test01()
{
-
// 1
bool test = true;
std::vector< A<B> > vec01;
@@ -62,22 +67,22 @@ void test02()
void
test03()
{
- const int A[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
- const int B[] = {7, 7, 7, 7, 7};
- const int N = sizeof(A) / sizeof(int);
- const int M = sizeof(B) / sizeof(int);
- bool test = true;
-
- std::vector<int> v3(A, A + N);
- VERIFY(std::equal(v3.begin(), v3.end(), A));
-
- std::vector<int> v4(v3.begin(), v3.end());
- VERIFY(std::equal(v4.begin(), v4.end(), A));
-
- std::vector<int> v5(M, 7);
- VERIFY(std::equal(v5.begin(), v5.end(), B));
- VERIFY(std::equal(B, B + M, v5.begin()));
-
+ bool test = true;
+ const int A[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
+ const int B[] = {7, 7, 7, 7, 7};
+ const int N = sizeof(A) / sizeof(int);
+ const int M = sizeof(B) / sizeof(int);
+
+ std::vector<int> v3(A, A + N);
+ VERIFY(std::equal(v3.begin(), v3.end(), A));
+
+ std::vector<int> v4(v3.begin(), v3.end());
+ VERIFY(std::equal(v4.begin(), v4.end(), A));
+
+ std::vector<int> v5(M, 7);
+ VERIFY(std::equal(v5.begin(), v5.end(), B));
+ VERIFY(std::equal(B, B + M, v5.begin()));
+
#ifdef DEBUG_ASSERT
assert(test);
#endif
@@ -105,12 +110,13 @@ void
test_default_ctor_exception_gurantee()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_copy_tracker::reset();
- gnu_copy_constructor::throw_on(3);
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ copy_constructor::throw_on(3);
+ allocation_tracker::resetCounts();
// run test
try
@@ -124,7 +130,7 @@ test_default_ctor_exception_gurantee()
// assert postconditions
VERIFY(("memory leak detected:",
- gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal()));
+ allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal()));
// teardown
}
@@ -137,14 +143,15 @@ void
test_copy_ctor_exception_gurantee()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
- gnu_copy_tracker::reset();
- gnu_copy_constructor::throw_on(3);
+ copy_tracker::reset();
+ copy_constructor::throw_on(3);
// run test
try
@@ -158,11 +165,11 @@ test_copy_ctor_exception_gurantee()
}
// assert postconditions
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
// operator=()
@@ -175,13 +182,14 @@ void
test_assignment_operator_1()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X r(9);
X a(r.size() - 2);
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// preconditions
VERIFY(r.size() > a.size());
@@ -191,25 +199,26 @@ test_assignment_operator_1()
// assert postconditions
VERIFY(r == a);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_assignment_operator_2()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X r(1);
r.reserve(17);
X a(r.size() + 7);
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// preconditions
VERIFY(r.size() < a.size());
@@ -220,25 +229,26 @@ test_assignment_operator_2()
// assert postconditions
VERIFY(r == a);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_assignment_operator_3()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X r(1);
X a(r.capacity() + 7);
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// preconditions
VERIFY(r.capacity() < a.size());
@@ -249,26 +259,27 @@ test_assignment_operator_3()
// assert postconditions
VERIFY(r == a);
}
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_assignment_operator_3_exception_guarantee()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X r(1);
X a(r.capacity() + 7);
- gnu_copy_tracker::reset();
- gnu_copy_constructor::throw_on(3);
+ copy_tracker::reset();
+ copy_constructor::throw_on(3);
// preconditions
VERIFY(r.capacity() < a.size());
@@ -285,11 +296,11 @@ test_assignment_operator_3_exception_guarantee()
}
// assert postconditions
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
// fill assign()
@@ -304,35 +315,37 @@ void
test_fill_assign_1()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X a(7);
X::size_type old_size = a.size();
X::size_type new_size = old_size - 2;
const T t;
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// run test
a.assign(new_size, t);
// assert postconditions
VERIFY(a.size() == new_size);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_fill_assign_2()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X a(7);
a.reserve(11);
@@ -341,8 +354,8 @@ test_fill_assign_2()
X::size_type new_size = old_size + 2;
const T t;
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// assert preconditions
VERIFY(old_size < new_size);
@@ -353,21 +366,22 @@ test_fill_assign_2()
// assert postconditions
VERIFY(a.size() == new_size);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_fill_assign_3()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
X::size_type old_size = a.size();
@@ -375,7 +389,7 @@ test_fill_assign_3()
X::size_type new_size = old_capacity + 4;
const T t;
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// assert preconditions
VERIFY(new_size > old_capacity);
@@ -387,22 +401,23 @@ test_fill_assign_3()
VERIFY(a.size() == new_size);
}
- VERIFY(gnu_allocator_tracker::allocationTotal() > 0);
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() > 0);
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_fill_assign_3_exception_guarantee()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
X::size_type old_size = a.size();
@@ -410,8 +425,8 @@ test_fill_assign_3_exception_guarantee()
X::size_type new_size = old_capacity + 4;
const T t;
- gnu_copy_tracker::reset();
- gnu_copy_constructor::throw_on(3);
+ copy_tracker::reset();
+ copy_constructor::throw_on(3);
// assert preconditions
VERIFY(new_size > old_capacity);
@@ -431,39 +446,40 @@ test_fill_assign_3_exception_guarantee()
VERIFY(a.capacity() == old_capacity);
}
- VERIFY(gnu_allocator_tracker::allocationTotal() > 0);
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() > 0);
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_fill_assign_4()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X a(7);
X::size_type old_size = a.size();
X::size_type new_size = old_size - 2;
X::size_type new_value = 117;
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// run test
a.assign(new_size, new_value);
// assert postconditions
VERIFY(a.size() == new_size);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
// range assign()
@@ -486,15 +502,16 @@ void
test_range_assign_2()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X a(7);
X b(3);
X::size_type old_size = a.size();
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// assert preconditions
VERIFY(b.size() < a.capacity());
@@ -505,27 +522,28 @@ test_range_assign_2()
// assert postconditions
VERIFY(a.size() == b.size());
VERIFY(a == b);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_range_assign_3()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
X a(7);
a.reserve(a.size() + 7);
X b(a.size() + 3);
X::size_type old_size = a.size();
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
// assert preconditions
VERIFY(a.size() < b.size());
@@ -537,27 +555,28 @@ test_range_assign_3()
// assert postconditions
VERIFY(a.size() == b.size());
VERIFY(a == b);
- VERIFY(gnu_allocator_tracker::allocationTotal() == 0);
+ VERIFY(allocation_tracker::allocationTotal() == 0);
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_range_assign_4()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
X b(a.capacity() + 7);
X::size_type old_size = a.size();
- gnu_copy_tracker::reset();
+ copy_tracker::reset();
// assert preconditions
VERIFY(b.size() > a.capacity());
@@ -569,29 +588,30 @@ test_range_assign_4()
VERIFY(a.size() == b.size());
VERIFY(a == b);
}
- VERIFY(gnu_allocator_tracker::allocationTotal() > 0);
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() > 0);
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
void
test_range_assign_4_exception_guarantee()
{
// setup
- typedef gnu_copy_tracker T;
- typedef std::vector<T, gnu_new_allocator<T> > X;
+ bool test = true;
+ typedef copy_tracker T;
+ typedef std::vector<T, tracker_alloc<T> > X;
- gnu_allocator_tracker::resetCounts();
+ allocation_tracker::resetCounts();
{
X a(7);
X b(a.capacity() + 7);
X::size_type old_size = a.size();
- gnu_copy_tracker::reset();
- gnu_copy_constructor::throw_on(3);
+ copy_tracker::reset();
+ copy_constructor::throw_on(3);
// assert preconditions
VERIFY(b.size() > a.capacity());
@@ -608,12 +628,12 @@ test_range_assign_4_exception_guarantee()
}
// assert postconditions
- VERIFY(gnu_allocator_tracker::allocationTotal() > 0);
- VERIFY(gnu_allocator_tracker::allocationTotal() == gnu_allocator_tracker::deallocationTotal());
+ VERIFY(allocation_tracker::allocationTotal() > 0);
+ VERIFY(allocation_tracker::allocationTotal() == allocation_tracker::deallocationTotal());
// teardown
- gnu_copy_tracker::reset();
- gnu_allocator_tracker::resetCounts();
+ copy_tracker::reset();
+ allocation_tracker::resetCounts();
}
diff --git a/libstdc++-v3/testsuite/23_containers/vector_resize.cc b/libstdc++-v3/testsuite/23_containers/vector_resize.cc
new file mode 100644
index 00000000000..3cc6c57ed42
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/vector_resize.cc
@@ -0,0 +1,57 @@
+// 1999-05-07
+// bkoz
+
+// Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 23.2.4.2 vector capacity
+
+// XXX This test will not work for irix6 because of bug(s) in libc malloc
+// XXX for very large allocations. However -lmalloc seems to work.
+// See http://gcc.gnu.org/ml/libstdc++/2002-12/msg00131.html
+// { dg-options "-lmalloc" { target mips*-*-irix6* } }
+
+#include <vector>
+#include <stdexcept>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ bool test = true;
+ std::vector<int> v;
+ try
+ {
+ v.resize(v.max_size());
+ v[v.max_size() - 1] = 2002;
+ }
+ catch (const std::bad_alloc& error)
+ {
+ test = true;
+ }
+ catch (...)
+ {
+ test = false;
+ }
+ VERIFY( test );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc
index 63a994c6bbb..15508a303fd 100644
--- a/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc
+++ b/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc
@@ -27,7 +27,8 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-// { dg-do compile }
+// { dg-do compile { xfail *-*-linux-gnu *-*-freebsd5* } }
+// { dg-excess-errors "" { target *-*-linux-gnu *-*-freebsd5* } }
#include <math.h>
diff --git a/libstdc++-v3/testsuite/26_numerics/c_math_dynamic.cc b/libstdc++-v3/testsuite/26_numerics/c_math_dynamic.cc
new file mode 100644
index 00000000000..25efa10a192
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/c_math_dynamic.cc
@@ -0,0 +1,58 @@
+// Inspired by libstdc++/7680 & 26_numerics/c_math.cc, 2003-04-12 ljr
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// { dg-do link }
+// { dg-options "-D_XOPEN_SOURCE" { target *-*-freebsd* } }
+
+#include <cmath>
+
+int
+test01()
+{
+ float a = 1.f;
+ float b;
+ std::modf(a, &b);
+ return 0;
+}
+
+int
+test02 ()
+{
+ float a = 0.0f;
+ float b = std::acos(b);
+ return 0;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/complex_value.cc b/libstdc++-v3/testsuite/26_numerics/complex_value.cc
index 99f477a5fa1..ebdd71a2c71 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex_value.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex_value.cc
@@ -1,7 +1,8 @@
+// { dg-options "-O0" }
// 2000-11-20
// Benjamin Kosnik bkoz@redhat.com
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray_name_lookup.cc b/libstdc++-v3/testsuite/26_numerics/valarray_name_lookup.cc
index 4079b14a18a..a0bd21e791e 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray_name_lookup.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray_name_lookup.cc
@@ -1,6 +1,6 @@
// 2002-08-02 gdr
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -70,7 +70,7 @@ namespace My
Number cos(Number);
Number cosh(Number);
- Number acosh(Number);
+ Number acos(Number);
Number sin(Number);
Number sinh(Number);
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray_operators.cc b/libstdc++-v3/testsuite/26_numerics/valarray_operators.cc
new file mode 100644
index 00000000000..5753e471672
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/valarray_operators.cc
@@ -0,0 +1,67 @@
+// { dg-do run }
+// 2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+// Copyright (C) 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+#include <valarray>
+#include <testsuite_hooks.h>
+
+void test01() // check unary operators
+{
+ std::valarray<int> u(1);
+ u[0]=1;
+
+ VERIFY( (+u)[0] == +1 );
+ VERIFY( (-u)[0] == -1 );
+ VERIFY( (!u)[0] == !1 );
+ VERIFY( (~u)[0] == ~1 );
+}
+
+void test02() // check binary operators
+{
+ std::valarray<int> u(1), v(1);
+ u[0]=1;
+ v[0]=3;
+
+ VERIFY( (u+ v)[0] == (1+ 3) );
+ VERIFY( (u- v)[0] == (1- 3) );
+ VERIFY( (u* v)[0] == (1* 3) );
+ VERIFY( (u/ v)[0] == (1/ 3) );
+ VERIFY( (u% v)[0] == (1% 3) );
+ VERIFY( (u^ v)[0] == (1^ 3) );
+ VERIFY( (u& v)[0] == (1& 3) );
+ VERIFY( (u| v)[0] == (1| 3) );
+ VERIFY( (u<<v)[0] == (1<<3) );
+ VERIFY( (u>>v)[0] == (1>>3) );
+ VERIFY( (u&&v)[0] == (1&&3) );
+ VERIFY( (u||v)[0] == (1||3) );
+ VERIFY( (u==v)[0] == (1==3) );
+ VERIFY( (u!=v)[0] == (1!=3) );
+ VERIFY( (u< v)[0] == (1< 3) );
+ VERIFY( (u> v)[0] == (1> 3) );
+ VERIFY( (u<=v)[0] == (1<=3) );
+ VERIFY( (u>=v)[0] == (1>=3) );
+}
+
+int main()
+{
+ test01();
+ test02();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/filebuf.cc b/libstdc++-v3/testsuite/27_io/filebuf.cc
index e72f2ca8f6f..ab873be82b5 100644
--- a/libstdc++-v3/testsuite/27_io/filebuf.cc
+++ b/libstdc++-v3/testsuite/27_io/filebuf.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// 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 the GNU ISO C++ Library. This library is free
@@ -45,9 +45,10 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_filebuf<type_t, char_traits<type_t> >;
- template class basic_filebuf<gnu_char, char_traits<gnu_char> >;
+ template class basic_filebuf<pod_char, char_traits<pod_char> >;
} // test
diff --git a/libstdc++-v3/testsuite/27_io/filebuf_members.cc b/libstdc++-v3/testsuite/27_io/filebuf_members.cc
index 9f48229f67a..c873b366ade 100644
--- a/libstdc++-v3/testsuite/27_io/filebuf_members.cc
+++ b/libstdc++-v3/testsuite/27_io/filebuf_members.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -89,23 +89,24 @@ void test_02()
// read (ext)
FILE* f2 = fopen(name_01, "r");
VERIFY( f2 != NULL );
+ if (f2)
{
__gnu_cxx::stdio_filebuf<char> fb(f2, std::ios_base::in, 512);
+ close_num = fclose(f2);
}
- close_num = fclose(f2);
VERIFY( close_num == 0 );
-
// read (standard)
FILE* f = fopen(name_01, "r");
VERIFY( f != NULL );
+ if (f)
{
std::ifstream ifstream1(name_01);
VERIFY( ifstream1.is_open() );
std::ios_base::iostate st01 = ifstream1.rdstate();
VERIFY( st01 == std::ios_base::goodbit );
+ close_num = fclose(f);
}
- close_num = fclose(f);
VERIFY( close_num == 0 );
}
@@ -128,11 +129,14 @@ void test_03()
void
test_04()
{
+ bool test = true;
+ const char* name = "tmp_fifo1";
signal(SIGPIPE, SIG_IGN);
-
- if (0 != mkfifo("xxx", S_IRWXU))
+
+ unlink(name);
+ if (0 != mkfifo(name, S_IRWXU))
{
- std::cerr << "failed to creat fifo" << std::endl;
+ std::cerr << "failed to create fifo" << std::endl;
exit(-1);
}
@@ -140,18 +144,18 @@ test_04()
if (fval == -1)
{
std::cerr << "failed to fork" << std::endl;
- unlink("xxx");
+ unlink(name);
exit(-1);
}
else if (fval == 0)
{
- std::ifstream ifs("xxx");
+ std::ifstream ifs(name);
sleep(1);
ifs.close();
exit(0);
}
- std::ofstream ofs("xxx");
+ std::ofstream ofs(name);
sleep(2);
ofs.put('t');
@@ -166,31 +170,97 @@ test_04()
ofs.close();
if (!(ofs.rdstate() & std::ios::failbit))
{
- std::cerr << "fail bit was not set!" << std::endl;
- unlink("xxx");
+ test = false;
+ VERIFY( test );
+ unlink(name);
exit(-1);
}
- unlink("xxx");
- exit(0);
+ unlink(name);
}
// Charles Leggett <CGLeggett@lbl.gov>
void test_05()
{
bool test = true;
+ const char* name = "tmp_file5";
std::fstream scratch_file;
- scratch_file.open("SCRATCH", std::ios::out);
+ scratch_file.open(name, std::ios::out);
scratch_file.close();
- scratch_file.open("SCRATCH", std::ios::in);
+ scratch_file.open(name, std::ios::in);
if (!scratch_file)
VERIFY( false );
scratch_file.close();
}
+// libstdc++/9507
+void test_06()
+{
+ bool test = true;
+ const char* name = "tmp_fifo2";
+
+ signal(SIGPIPE, SIG_IGN);
+
+ unlink(name);
+ mkfifo(name, S_IRWXU);
+
+ if (!fork())
+ {
+ std::filebuf fbuf;
+ fbuf.open(name, std::ios_base::in);
+ fbuf.sgetc();
+ fbuf.close();
+ exit(0);
+ }
+
+ std::filebuf fbuf;
+ std::filebuf* r = fbuf.open(name, std::ios_base::out | std::ios_base::ate);
+ VERIFY( !fbuf.is_open() );
+ VERIFY( r == NULL );
+}
+
+// libstdc++/9964
+void test_07()
+{
+ using namespace std;
+ bool test = true;
+
+ const char* name = "tmp_fifo3";
+
+ signal(SIGPIPE, SIG_IGN);
+
+ unlink(name);
+ mkfifo(name, S_IRWXU);
+
+ int child = fork();
+ VERIFY( child != -1 );
+
+ if (child == 0)
+ {
+ filebuf fbin;
+ fbin.open(name, ios_base::in);
+ sleep(2);
+ fbin.close();
+ exit(0);
+ }
+
+ filebuf fb;
+ sleep(1);
+ filebuf* ret = fb.open(name, ios_base::out | ios_base::trunc);
+ VERIFY( ret != NULL );
+ VERIFY( fb.is_open() );
+
+ sleep(3);
+ fb.sputc('a');
+
+ ret = fb.close();
+ VERIFY( ret == NULL );
+ VERIFY( !fb.is_open() );
+}
+
int
main()
{
@@ -199,6 +269,8 @@ main()
test_03();
test_04();
test_05();
+ test_06();
+ test_07();
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc b/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
index 0a92788296a..d650c4a91c0 100644
--- a/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
+++ b/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -21,6 +21,12 @@
// 27.8.1.4 Overridden virtual functions
#include <fstream>
+#include <unistd.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <locale>
#include <testsuite_hooks.h>
// @require@ %-*.tst %-*.txt
@@ -70,7 +76,10 @@ const char carray_02[] = "memphis, new orleans, and savanah";
const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
const char name_02[] = "filebuf_virtuals-2.txt"; // empty file, need to create
const char name_03[] = "filebuf_virtuals-3.txt"; // empty file, need to create
-
+const char name_04[] = "filebuf_virtuals-4.txt"; // empty file, need to create
+const char name_05[] = "filebuf_virtuals-5.txt"; // empty file, need to create
+const char name_06[] = "filebuf_virtuals-6.txt"; // empty file, need to create
+const char name_07[] = "filebuf_virtuals-7.txt"; // empty file, need to create
class derived_filebuf: public std::filebuf
{
@@ -514,6 +523,292 @@ void test06()
VERIFY( buffer[0] == 'a' );
}
+// libstdc++/9322
+void test07()
+{
+ using std::locale;
+ bool test = true;
+
+ locale loc;
+ std::filebuf ob;
+ VERIFY( ob.getloc() == loc );
+
+ locale::global(locale("en_US"));
+ VERIFY( ob.getloc() == loc );
+
+ locale loc_de ("de_DE");
+ locale ret = ob.pubimbue(loc_de);
+ VERIFY( ob.getloc() == loc_de );
+ VERIFY( ret == loc );
+
+ locale::global(loc);
+ VERIFY( ob.getloc() == loc_de );
+}
+
+class MyTraits : public std::char_traits<char>
+{
+public:
+ static bool eq(char c1, char c2)
+ {
+ VERIFY( c1 != 'X' );
+ VERIFY( c2 != 'X' );
+ return std::char_traits<char>::eq(c1, c2);
+ }
+};
+
+class MyBuf : public std::basic_streambuf<char, MyTraits>
+{
+ char buffer[8];
+
+public:
+ MyBuf()
+ {
+ std::memset(buffer, 'X', sizeof(buffer));
+ std::memset(buffer + 2, 'f', 4);
+ setg(buffer + 2, buffer + 2, buffer + 6);
+ }
+};
+
+// libstdc++/9538
+void test08()
+{
+ bool test = true;
+
+ MyBuf mb;
+ mb.sputbackc('a');
+}
+
+// libstdc++/9439, libstdc++/9425
+void test09()
+{
+ using namespace std;
+ bool test = true;
+
+ filebuf fbuf;
+ fbuf.open(name_01, ios_base::in);
+ filebuf::int_type r = fbuf.sputbackc('a');
+ fbuf.close();
+
+ VERIFY( r == filebuf::traits_type::eof() );
+}
+
+class Cvt_to_upper : public std::codecvt<char, char, mbstate_t>
+{
+ bool do_always_noconv() const throw()
+ {
+ return false;
+ }
+};
+
+// libstdc++/9169
+void test10()
+{
+ using namespace std;
+ bool test = true;
+
+ locale c_loc;
+ locale loc(c_loc, new Cvt_to_upper);
+
+ string str("abcdefghijklmnopqrstuvwxyz");
+ string tmp;
+
+ {
+ ofstream out;
+ out.imbue(loc);
+ out.open(name_04);
+ copy(str.begin(), str.end(),
+ ostreambuf_iterator<char>(out));
+ }
+
+ {
+ ifstream in;
+ in.open(name_04);
+ copy(istreambuf_iterator<char>(in),
+ istreambuf_iterator<char>(),
+ back_inserter(tmp));
+ }
+
+ VERIFY( tmp.size() == str.size() );
+ VERIFY( tmp == str );
+}
+
+// libstdc++/9825
+void test11()
+{
+ using namespace std;
+ bool test = true;
+
+ filebuf fbuf;
+
+ fbuf.open(name_05, ios_base::in|ios_base::out|ios_base::trunc);
+ fbuf.sputn("crazy bees!", 11);
+ fbuf.pubseekoff(0, ios_base::beg);
+ fbuf.sbumpc();
+ fbuf.sputbackc('x');
+ filebuf::int_type c = fbuf.sbumpc();
+ VERIFY( c == 'x' );
+ c = fbuf.sbumpc();
+ VERIFY( c == 'r' );
+ c = fbuf.sbumpc();
+ VERIFY( c == 'a' );
+ fbuf.close();
+}
+
+class errorcvt : public std::codecvt<char, char, mbstate_t>
+{
+protected:
+ std::codecvt_base::result
+ do_out(mbstate_t&, const char* from, const char*,
+ const char*& from_next, char* to, char*,
+ char*& to_next) const
+ {
+ from_next = from;
+ to_next = to;
+ return std::codecvt<char, char, mbstate_t>::error;
+ }
+
+ virtual bool do_always_noconv() const throw()
+ {
+ return false;
+ }
+};
+
+// libstdc++/9182
+void test12()
+{
+ using namespace std;
+ bool test = true;
+
+ locale loc;
+ loc = locale(loc, new errorcvt);
+
+ filebuf fbuf1;
+ fbuf1.pubimbue(loc);
+ fbuf1.open(name_06, ios_base::out | ios_base::trunc);
+ fbuf1.sputn("ison", 4);
+ int r = fbuf1.pubsync();
+ VERIFY( r == -1 );
+ fbuf1.close();
+}
+
+void test13()
+{
+ using namespace std;
+ bool test = true;
+
+ locale loc;
+ loc = locale(loc, new errorcvt);
+
+ filebuf fbuf1;
+ fbuf1.pubimbue(loc);
+ fbuf1.pubsetbuf(0, 0);
+ fbuf1.open(name_06, ios_base::out | ios_base::trunc);
+ streamsize n = fbuf1.sputn("onne", 4);
+ VERIFY( n == 0 );
+ fbuf1.close();
+}
+
+class OverBuf : public std::filebuf
+{
+public:
+ int_type pub_overflow(int_type c = traits_type::eof())
+ { return std::filebuf::overflow(c); }
+};
+
+// libstdc++/9988
+void test14()
+{
+ using namespace std;
+ bool test = true;
+
+ OverBuf fb;
+ fb.open(name_07, ios_base::out | ios_base::trunc);
+
+ fb.sputc('a');
+ fb.pub_overflow('b');
+ fb.pub_overflow();
+ fb.sputc('c');
+ fb.close();
+
+ filebuf fbin;
+ fbin.open(name_07, ios_base::in);
+ filebuf::int_type c;
+ c = fbin.sbumpc();
+ VERIFY( c == 'a' );
+ c = fbin.sbumpc();
+ VERIFY( c == 'b' );
+ c = fbin.sbumpc();
+ VERIFY( c == 'c' );
+ c = fbin.sbumpc();
+ VERIFY( c == filebuf::traits_type::eof() );
+ fbin.close();
+}
+
+class UnderBuf : public std::filebuf
+{
+public:
+ int_type
+ pub_underflow()
+ { return underflow(); }
+
+ std::streamsize
+ pub_showmanyc()
+ { return showmanyc(); }
+};
+
+// libstdc++/10097
+void test15()
+{
+ using namespace std;
+ bool test = true;
+
+ const char* name = "tmp_fifo1";
+
+ signal(SIGPIPE, SIG_IGN);
+ unlink(name);
+
+ if (0 != mkfifo(name, S_IRWXU))
+ {
+ VERIFY( false );
+ }
+
+ int fval = fork();
+ if (fval == -1)
+ {
+ unlink(name);
+ VERIFY( false );
+ }
+ else if (fval == 0)
+ {
+ filebuf fbout;
+ fbout.open(name, ios_base::out);
+ fbout.sputn("0123456789", 10);
+ fbout.pubsync();
+ sleep(2);
+ fbout.close();
+ exit(0);
+ }
+
+ UnderBuf fb;
+ fb.open(name, ios_base::in);
+ sleep(1);
+
+ fb.sgetc();
+ streamsize n = fb.pub_showmanyc();
+
+ while (n > 0)
+ {
+ --n;
+
+ UnderBuf::int_type c = fb.pub_underflow();
+ VERIFY( c != UnderBuf::traits_type::eof() );
+
+ fb.sbumpc();
+ }
+
+ fb.close();
+}
+
main()
{
test01();
@@ -524,5 +819,14 @@ main()
test05();
test06();
+ test07();
+ test08();
+ test09();
+ test10();
+ test11();
+ test12();
+ test13();
+ test14();
+ test15();
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/fstream.cc b/libstdc++-v3/testsuite/27_io/fstream.cc
index 276294d9c9d..c37be6bbfcb 100644
--- a/libstdc++-v3/testsuite/27_io/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/fstream.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,9 +50,10 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_fstream<type_t, char_traits<type_t> >;
- template class basic_fstream<gnu_char, char_traits<gnu_char> >;
+ template class basic_fstream<pod_char, char_traits<pod_char> >;
} // test
int main()
diff --git a/libstdc++-v3/testsuite/27_io/ios_base_storage.cc b/libstdc++-v3/testsuite/27_io/ios_base_storage.cc
index c39d0302716..7033466e691 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base_storage.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base_storage.cc
@@ -1,6 +1,6 @@
// 2000-12-19 bkoz
-// Copyright (C) 2000, 2002 Free Software Foundation
+// Copyright (C) 2000, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -20,6 +20,12 @@
// 27.4.2.5 ios_base storage functions
+// XXX This test will not work for some versions of irix6 because of
+// XXX bug(s) in libc malloc for very large allocations. However
+// XXX -lmalloc seems to work.
+// See http://gcc.gnu.org/ml/gcc/2002-05/msg01012.html
+// { dg-options "-lmalloc" { target mips*-*-irix6* } }
+
#include <sstream>
#include <iostream>
@@ -49,10 +55,15 @@ void test02()
std::stringbuf strbuf;
std::ios ios(&strbuf);
+ ios.exceptions(std::ios::badbit);
+
long l = 0;
void* v = 0;
// pword
+ ios.pword(1) = v;
+ VERIFY( ios.pword(1) == v );
+
try
{
v = ios.pword(max);
@@ -68,7 +79,29 @@ void test02()
}
VERIFY( v == 0 );
+ VERIFY( ios.pword(1) == v );
+
+ // max is different code path from max-1
+ v = &test;
+ try
+ {
+ v = ios.pword(std::numeric_limits<int>::max());
+ }
+ catch(std::ios_base::failure& obj)
+ {
+ // Ok.
+ VERIFY( ios.bad() );
+ }
+ catch(...)
+ {
+ VERIFY( test = false );
+ }
+ VERIFY( v == &test );
+
// iword
+ ios.iword(1) = 1;
+ VERIFY( ios.iword(1) == 1 );
+
try
{
l = ios.iword(max);
@@ -83,11 +116,47 @@ void test02()
VERIFY( test = false );
}
VERIFY( l == 0 );
+
+ VERIFY( ios.iword(1) == 1 );
+
+ // max is different code path from max-1
+ l = 1;
+ try
+ {
+ l = ios.iword(std::numeric_limits<int>::max());
+ }
+ catch(std::ios_base::failure& obj)
+ {
+ // Ok.
+ VERIFY( ios.bad() );
+ }
+ catch(...)
+ {
+ VERIFY( test = false );
+ }
+ VERIFY( l == 1 );
+
+}
+
+class derived : public std::ios_base
+{
+public:
+ derived() {}
+};
+
+void test03()
+{
+ derived d;
+
+ d.pword(0) = &d;
+ d.iword(0) = 1;
}
int main(void)
{
+ __gnu_cxx_test::set_memory_limits();
test01();
test02();
+ test03();
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/istream.cc b/libstdc++-v3/testsuite/27_io/istream.cc
index 6cec904eb67..c8146ea9236 100644
--- a/libstdc++-v3/testsuite/27_io/istream.cc
+++ b/libstdc++-v3/testsuite/27_io/istream.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,9 +50,10 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_istream<type_t, char_traits<type_t> >;
- template class basic_istream<gnu_char, char_traits<gnu_char> >;
+ template class basic_istream<pod_char, char_traits<pod_char> >;
} // test
int main()
diff --git a/libstdc++-v3/testsuite/27_io/istream_exception.cc b/libstdc++-v3/testsuite/27_io/istream_exception.cc
new file mode 100644
index 00000000000..2c3b1217f2a
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_exception.cc
@@ -0,0 +1,68 @@
+// 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+#include <istream>
+#include <streambuf>
+#include <testsuite_hooks.h>
+
+// libstdc++/9561
+struct foobar: std::exception { };
+
+struct buf: std::streambuf
+{
+ virtual int_type underflow () {
+ throw foobar ();
+ return -1;
+ }
+ virtual int_type uflow () {
+ throw foobar ();
+ return -1;
+ }
+};
+
+void test01()
+{
+ using namespace std;
+
+ buf b;
+ std::istream strm (&b);
+ strm.exceptions (std::ios::badbit);
+ int i = 0;
+
+ try {
+ i = strm.get();
+ }
+ catch (foobar) {
+ // strm should throw foobar and not do anything else
+ VERIFY(strm.bad());
+ }
+ catch (...) {
+ VERIFY(false);
+ }
+
+ VERIFY(i == 0);
+}
+
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc
deleted file mode 100644
index c184b3fade2..00000000000
--- a/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc
+++ /dev/null
@@ -1,611 +0,0 @@
-// 1999-04-12 bkoz
-
-// Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library 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.
-
-// This library 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 this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 27.6.1.2.2 arithmetic extractors
-
-#include <cstdio> // for printf
-#include <istream>
-#include <ostream>
-#include <sstream>
-#include <locale>
-#include <testsuite_hooks.h>
-
-std::string str_01;
-std::string str_02("true false 0 1 110001");
-std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
-std::string str_04("0123");
-
-std::stringbuf isbuf_01(std::ios_base::in);
-std::stringbuf isbuf_02(str_02, std::ios_base::in);
-std::stringbuf isbuf_03(str_03, std::ios_base::in);
-std::stringbuf isbuf_04(str_04, std::ios_base::in);
-
-std::istream is_01(NULL);
-std::istream is_02(&isbuf_02);
-std::istream is_03(&isbuf_03);
-std::istream is_04(&isbuf_04);
-std::stringstream ss_01(str_01);
-
-// minimal sanity check
-bool test01() {
-
- bool test = true;
-
- // Integral Types:
- bool b1 = false;
- bool b2 = false;
- short s1 = 0;
- int i1 = 0;
- long l1 = 0;
- unsigned short us1 = 0;
- unsigned int ui1 = 0;
- unsigned long ul1 = 0;
-
- // Floating-point Types:
- float f1 = 0;
- double d1 = 0;
- long double ld1 = 0;
-
- // process alphanumeric versions of bool values
- std::ios_base::fmtflags fmt = is_02.flags();
- bool testfmt = fmt & std::ios_base::boolalpha;
- is_02.setf(std::ios_base::boolalpha);
- fmt = is_02.flags();
- testfmt = fmt & std::ios_base::boolalpha;
- is_02 >> b1;
- VERIFY( b1 == 1 );
- is_02 >> b1;
- VERIFY( b1 == 0 );
-
- // process numeric versions of of bool values
- is_02.unsetf(std::ios_base::boolalpha);
- fmt = is_02.flags();
- testfmt = fmt & std::ios_base::boolalpha;
- is_02 >> b1;
- VERIFY( b1 == 0 );
- is_02 >> b1;
- VERIFY( b1 == 1 );
-
- // is_03 == "-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5"
- is_03 >> l1;
- VERIFY( l1 == -19999999 );
- is_03 >> ul1;
- VERIFY( ul1 == 777777 );
- is_03 >> i1;
- VERIFY( i1 == -234234 );
- is_03 >> ui1;
- VERIFY( ui1 == 233 );
- is_03 >> s1;
- VERIFY( s1 == -234 );
- is_03 >> us1;
- VERIFY( us1 == 33 );
- is_03 >> b1;
- VERIFY( b1 == 1 );
- is_03 >> ld1;
- VERIFY( ld1 == 66300.25 );
- is_03 >> d1;
- VERIFY( d1 == .315 );
- is_03 >> f1;
- VERIFY( f1 == 1.5 );
-
- is_04 >> std::hex >> i1;
- std::printf ("%d %d %d\n", i1, i1 == 0x123, test);
- VERIFY( i1 == 0x123 );
- std::printf ("%d %d %d\n", i1, i1 == 0x123, test);
-
- // test void pointers
- int i = 55;
- void* po = &i;
- void* pi;
-
- ss_01 << po;
- ss_01 >> pi;
- std::printf ("%x %x\n", pi, po);
- VERIFY( po == pi );
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-
- return test;
-}
-
-// elaborated test for ints
-bool test02() {
-
- bool test = true;
- const std::string str_01("20000AB");
- std::stringbuf strb_01(str_01, std::ios_base::in);
- std::istream is(&strb_01);
-
- int n = 15;
- is >> n;
- VERIFY( n == 20000 );
- char c = is.peek();
- VERIFY( c == 65 );
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-
- return test;
-}
-
-bool test03()
-{
- std::stringbuf sbuf;
- std::istream istr(&sbuf);
- std::ostream ostr(&sbuf);
-
- bool test = true;
- long l01;
- ostr << "12220101";
- istr >> l01; // _M_in_end set completely incorrectly here.
- VERIFY( l01 == 12220101 );
- VERIFY( istr.rdstate() == std::ios_base::eofbit );
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-
- return test;
-}
-
-// http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00081.html
-// Jim Parsons
-void test06()
-{
- // default locale, grouping is turned off
- bool test = true;
- unsigned int h4, h3, h2;
- char c;
- std::string s("205,199,144");
- std::istringstream is(s);
-
- is >> h4; // 205
- VERIFY( h4 == 205 );
- is >> c; // ','
- VERIFY( c == ',' );
-
- is >> h4; // 199
- VERIFY( h4 == 199 );
- is >> c; // ','
- VERIFY( c == ',' );
-
- is >> h4; // 144
- VERIFY( is.rdstate() == std::ios_base::eofbit );
- VERIFY( h4 == 144 );
- is >> c; // EOF
- VERIFY( c == ',' );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-}
-
-namespace std {
- class test_numpunct1 : public numpunct<char>
- {
- protected:
- string
- do_grouping() const
- { return string(1, '\003'); }
- };
-} // namespace std
-
-void test07()
-{
- // manufactured locale, grouping is turned on
- bool test = true;
- unsigned int h4 = 0, h3 = 0, h2 = 0;
- float f1 = 0.0;
- const std::string s1("205,199 23,445.25 1,024,365 123,22,24");
- std::istringstream is(s1);
- is.imbue(std::locale(std::locale(), new std::test_numpunct1));
-
- // Basic operation.
- is >> h4;
- VERIFY( h4 == 205199 );
- VERIFY( is.good() );
-
- is.clear();
- is >> f1;
- VERIFY( f1 == 23445.25 );
- VERIFY( is.good() );
-
- is.clear();
- is >> h3;
- VERIFY( h3 == 1024365 );
- VERIFY( is.good() );
-
- is.clear();
- is >> h2;
- VERIFY( h2 == 0 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
-
- // Stress tests for explicit errors in grouping corner cases. The
- // validity of these tests and results have been hammered out in
- // private email between bkoz and ncm between Jan 25 and Jan 27, 2000.
- // Thanks nate -- benjamin
- const std::string s2(",111 4,,4 0.25,345 5..25 156,, 1,000000 1000000 1234,567");
- h3 = h4 = h2 = 0;
- f1 = 0.0;
- const char c_control = '?';
- char c = c_control;
- is.clear();
- is.str(s2);
-
- is >> h4;
- VERIFY( h4 == 0 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
- is.clear();
- is >> c;
- VERIFY( c == ',' );
- VERIFY( is.good() );
-
- is.ignore(3);
- is >> f1;
- VERIFY( f1 == 0.0 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
- is.clear();
- is >> c;
- VERIFY( c == ',' );
- is >> c;
- VERIFY( c == '4' );
- VERIFY( is.good() );
-
- is >> f1;
- VERIFY( f1 == 0.25 );
- VERIFY( is.good() );
- is >> c;
- VERIFY( c == ',' );
- is >> h2;
- VERIFY( h2 == 345 );
- VERIFY( is.good() );
- f1 = 0.0;
- h2 = 0;
-
- is >> f1;
- VERIFY( f1 == 5.0 );
- VERIFY( is.good() );
- is >> f1;
- VERIFY( f1 == .25 );
- VERIFY( is.good() );
-
- is >> h3;
- VERIFY( h3 == 0 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
- is.clear();
- is >> c;
- VERIFY( c == ',' ); // second one
- VERIFY( is.good() );
-
- is >> h2;
- VERIFY( h2 == 0 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
- is.clear();
-
- is >> h2;
- VERIFY( h2 == 1000000 );
- VERIFY( is.good() );
- h2 = 0;
-
- is >> h2;
- VERIFY( h2 == 0 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
- is.clear();
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-}
-
-namespace std {
- class test_numpunct2 : public numpunct<char>
- {
- protected:
- string
- do_grouping() const
- { return string("\002\003"); }
- };
-} // namespace std
-
-void test08()
-{
- // manufactured locale, grouping is turned on
- bool test = true;
- unsigned int h4 = 0, h3 = 0, h2 = 0;
- float f1 = 0.0;
- const std::string s1("1,22 205,19 22,123,22");
- const std::string s2("1,220 2050,19 202,123,22");
-
- std::istringstream is(s1);
- is.imbue(std::locale(std::locale(), new std::test_numpunct2));
-
- // Basic operation.
- is >> h4;
- VERIFY( h4 == 122 );
- VERIFY( is.good() );
-
- is.clear();
- is >> h3;
- VERIFY( h3 == 20519 );
- VERIFY( is.good() );
-
- is.clear();
- is >> h2;
- VERIFY( h2 == 2212322 );
- VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
-
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-}
-
-
-bool test09()
-{
- bool test = true;
-
- std::string st("2.456e3-+0.567e-2");
- std::stringbuf sb(st);
- std::istream is(&sb);
- double f1 = 0, f2 = 0;
- char c;
- (is>>std::ws) >> f1;
- (is>>std::ws) >> c;
- (is>>std::ws) >> f2;
- test = f1 == 2456;
- VERIFY( f2 == 0.00567 );
- VERIFY( c == '-' );
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-
- return test;
-}
-
-bool test10() {
- std::string str_01("0 00 000 +0 +0 -0");
- std::stringbuf isbuf_01(str_01);
- std::istream is_01(&isbuf_01);
-
- bool test = true;
-
- int n = 365;
- is_01 >> n;
- VERIFY( n == 0 );
- n = 364;
- is_01 >> n;
- VERIFY( n == 0 );
- n = 363;
- is_01 >> n;
- VERIFY( n == 0 );
- n = 362;
- is_01 >> n;
- VERIFY( n == 0 );
- n = 361;
- is_01 >> n;
- VERIFY( n == 0 );
- n = 360;
- is_01 >> n;
- VERIFY( n == 0 );
- VERIFY( is_01.rdstate() == std::ios_base::eofbit );
-
- std::string str_02("0x32 0X33 033 33");
- std::stringbuf isbuf_02(str_02);
- std::istream is_02(&isbuf_02);
- is_02.unsetf(std::ios_base::basefield);
- is_02 >> n;
- VERIFY( n == 50 );
- is_02 >> n;
- VERIFY( n == 51 );
- is_02 >> n;
- VERIFY( n == 27 );
- is_02 >> n;
- VERIFY( n == 33 );
- VERIFY( is_02.rdstate() == std::ios_base::eofbit );
-
- std::stringbuf isbuf_03(str_02);
- std::istream is_03(&isbuf_03);
- char c;
- int m;
-
- is_03 >> std::dec >> n >> c >> m;
- VERIFY( n == 0 );
- VERIFY( c == 'x' );
- VERIFY( m == 32 );
-
- is_03 >> std::oct >> m >> c >> n;
- VERIFY( m == 0 );
- VERIFY( c == 'X' );
- VERIFY( n == 27 );
-
- is_03 >> std::dec >> m >> n;
- VERIFY( m == 33 );
- VERIFY( n == 33 );
- VERIFY( is_03.rdstate() == std::ios_base::eofbit );
-
- std::string str_04("3. 4.5E+2a5E-3 .6E1");
- std::stringbuf isbuf_04(str_04);
- std::istream is_04(&isbuf_04);
-
- double f;
- is_04 >> f;
- VERIFY( f == 3.0 );
- is_04 >> f;
- VERIFY( f == 450.0 );
- is_04.ignore();
- is_04 >> f;
- VERIFY( f == 0.005 );
- is_04 >> f;
- VERIFY( f == 6 );
- VERIFY( is_03.rdstate() == std::ios_base::eofbit );
-
- std::string str_05("0E20 5Ea E16");
- std::stringbuf isbuf_05(str_05);
- std::istream is_05(&isbuf_05);
-
- is_05 >> f;
- VERIFY( f == 0 );
- is_05 >> f;
- VERIFY( f == 0 );
- VERIFY( is_05.rdstate() == std::ios_base::failbit );
- is_05.clear();
- is_05 >> c;
- VERIFY( c == 'a' );
- is_05 >> f;
- VERIFY( f == 0 );
- VERIFY( is_05.rdstate() == std::ios_base::failbit );
- is_05.clear();
- is_05.ignore();
- is_05 >> n;
- VERIFY( n == 16 );
-
-#ifdef DEBUG_ASSERT
- assert(test);
-#endif
-
- return test;
-}
-
-// In the presence of no fmtflags, the input operator should behave
-// like strtol(x, y, 0)
-// libstdc++/90
-bool test11()
-{
- bool test = true;
- const char* cstrlit = "0x2a";
-
- // sanity check via 'C' library call
- char* err;
- long l = std::strtol(cstrlit, &err, 0);
-
- std::istringstream iss(cstrlit);
- iss.setf(std::ios::fmtflags(0), std::ios::basefield);
- int i;
- iss >> i;
-
- VERIFY (!iss.fail());
- VERIFY (l == i);
-
- return test;
-}
-
-// libstdc++/3720
-// excess input should not cause a core dump
-template<typename T>
-bool test12_aux(bool integer_type)
-{
- bool test = true;
-
- int digits_overflow;
- if (integer_type)
- // This many digits will overflow integer types in base 10.
- digits_overflow = std::numeric_limits<T>::digits10 + 2;
- else
- // This might do it, unsure.
- digits_overflow = std::numeric_limits<T>::max_exponent10 + 1;
-
- std::string st;
- std::string part = "1234567890123456789012345678901234567890";
- for (int i = 0; i < digits_overflow / part.size() + 1; ++i)
- st += part;
- std::stringbuf sb(st);
- std::istream is(&sb);
- T t;
- is >> t;
- VERIFY(is.fail());
- return test;
-}
-
-bool test12()
-{
- bool test = true;
- VERIFY(test12_aux<short>(true));
- VERIFY(test12_aux<int>(true));
- VERIFY(test12_aux<long>(true));
- VERIFY(test12_aux<float>(false));
- VERIFY(test12_aux<double>(false));
- VERIFY(test12_aux<long double>(false));
- return test;
-}
-
-// libstdc++/3720 part two
-void test13()
-{
- using namespace std;
- bool test = true;
- const char* l1 = "12345678901234567890123456789012345678901234567890123456";
- const char* l2 = "1.2345678901234567890123456789012345678901234567890123456"
- " "
- "1246.9";
-
- // 1
- // used to core.
- double d;
- istringstream iss1(l2);
- iss1 >> d;
- iss1 >> d;
- VERIFY (d > 1246 && d < 1247);
-
- // 2
- // quick test for failbit on maximum length extraction.
- int i;
- int max_digits = numeric_limits<int>::digits10 + 1;
- string digits;
- for (int j = 0; j < max_digits; ++j)
- digits += '1';
- istringstream iss2(digits);
- iss2 >> i;
- VERIFY( !iss2.fail() );
-
- digits += '1';
- i = 0;
- iss2.str(digits);
- iss2.clear();
- iss2 >> i;
- VERIFY( i == 0 );
- VERIFY( iss2.fail() );
-}
-
-int main()
-{
- test01();
- test02();
- test03();
-
- test06();
- test07();
- test08();
- test09();
- test10();
-
- test11();
- test12();
- test13();
- return 0;
-}
-
-// paul miller was right on with riddim warfare!
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/01.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/01.cc
new file mode 100644
index 00000000000..b2fdd2691e7
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/01.cc
@@ -0,0 +1,134 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+// minimal sanity check
+bool test01() {
+
+ bool test = true;
+
+ // Integral Types:
+ bool b1 = false;
+ bool b2 = false;
+ short s1 = 0;
+ int i1 = 0;
+ long l1 = 0;
+ unsigned short us1 = 0;
+ unsigned int ui1 = 0;
+ unsigned long ul1 = 0;
+
+ // Floating-point Types:
+ float f1 = 0;
+ double d1 = 0;
+ long double ld1 = 0;
+
+ // process alphanumeric versions of bool values
+ std::ios_base::fmtflags fmt = is_02.flags();
+ bool testfmt = fmt & std::ios_base::boolalpha;
+ is_02.setf(std::ios_base::boolalpha);
+ fmt = is_02.flags();
+ testfmt = fmt & std::ios_base::boolalpha;
+ is_02 >> b1;
+ VERIFY( b1 == 1 );
+ is_02 >> b1;
+ VERIFY( b1 == 0 );
+
+ // process numeric versions of of bool values
+ is_02.unsetf(std::ios_base::boolalpha);
+ fmt = is_02.flags();
+ testfmt = fmt & std::ios_base::boolalpha;
+ is_02 >> b1;
+ VERIFY( b1 == 0 );
+ is_02 >> b1;
+ VERIFY( b1 == 1 );
+
+ // is_03 == "-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5"
+ is_03 >> l1;
+ VERIFY( l1 == -19999999 );
+ is_03 >> ul1;
+ VERIFY( ul1 == 777777 );
+ is_03 >> i1;
+ VERIFY( i1 == -234234 );
+ is_03 >> ui1;
+ VERIFY( ui1 == 233 );
+ is_03 >> s1;
+ VERIFY( s1 == -234 );
+ is_03 >> us1;
+ VERIFY( us1 == 33 );
+ is_03 >> b1;
+ VERIFY( b1 == 1 );
+ is_03 >> ld1;
+ VERIFY( ld1 == 66300.25 );
+ is_03 >> d1;
+ VERIFY( d1 == .315 );
+ is_03 >> f1;
+ VERIFY( f1 == 1.5 );
+
+ is_04 >> std::hex >> i1;
+ std::printf ("%d %d %d\n", i1, i1 == 0x123, test);
+ VERIFY( i1 == 0x123 );
+ std::printf ("%d %d %d\n", i1, i1 == 0x123, test);
+
+ // test void pointers
+ int i = 55;
+ void* po = &i;
+ void* pi;
+
+ ss_01 << po;
+ ss_01 >> pi;
+ std::printf ("%x %x\n", pi, po);
+ VERIFY( po == pi );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/02.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/02.cc
new file mode 100644
index 00000000000..374fbd8e0c7
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/02.cc
@@ -0,0 +1,71 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+// elaborated test for ints
+bool test02() {
+
+ bool test = true;
+ const std::string str_01("20000AB");
+ std::stringbuf strb_01(str_01, std::ios_base::in);
+ std::istream is(&strb_01);
+
+ int n = 15;
+ is >> n;
+ VERIFY( n == 20000 );
+ char c = is.peek();
+ VERIFY( c == 65 );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
+int main()
+{
+ test02();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/03.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/03.cc
new file mode 100644
index 00000000000..869d828b091
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/03.cc
@@ -0,0 +1,70 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+bool test03()
+{
+ std::stringbuf sbuf;
+ std::istream istr(&sbuf);
+ std::ostream ostr(&sbuf);
+
+ bool test = true;
+ long l01;
+ ostr << "12220101";
+ istr >> l01; // _M_in_end set completely incorrectly here.
+ VERIFY( l01 == 12220101 );
+ VERIFY( istr.rdstate() == std::ios_base::eofbit );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
+int main()
+{
+ test03();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/06.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/06.cc
new file mode 100644
index 00000000000..de92bcd52cb
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/06.cc
@@ -0,0 +1,83 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+// http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00081.html
+// Jim Parsons
+void test06()
+{
+ // default locale, grouping is turned off
+ bool test = true;
+ unsigned int h4, h3, h2;
+ char c;
+ std::string s("205,199,144");
+ std::istringstream is(s);
+
+ is >> h4; // 205
+ VERIFY( h4 == 205 );
+ is >> c; // ','
+ VERIFY( c == ',' );
+
+ is >> h4; // 199
+ VERIFY( h4 == 199 );
+ is >> c; // ','
+ VERIFY( c == ',' );
+
+ is >> h4; // 144
+ VERIFY( is.rdstate() == std::ios_base::eofbit );
+ VERIFY( h4 == 144 );
+ is >> c; // EOF
+ VERIFY( c == ',' );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+}
+
+int main()
+{
+ test06();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/07.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/07.cc
new file mode 100644
index 00000000000..118668ea1d9
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/07.cc
@@ -0,0 +1,169 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+namespace std {
+ class test_numpunct1 : public numpunct<char>
+ {
+ protected:
+ string
+ do_grouping() const
+ { return string(1, '\003'); }
+ };
+} // namespace std
+
+void test07()
+{
+ // manufactured locale, grouping is turned on
+ bool test = true;
+ unsigned int h4 = 0, h3 = 0, h2 = 0;
+ float f1 = 0.0;
+ const std::string s1("205,199 23,445.25 1,024,365 123,22,24");
+ std::istringstream is(s1);
+ is.imbue(std::locale(std::locale(), new std::test_numpunct1));
+
+ // Basic operation.
+ is >> h4;
+ VERIFY( h4 == 205199 );
+ VERIFY( is.good() );
+
+ is.clear();
+ is >> f1;
+ VERIFY( f1 == 23445.25 );
+ VERIFY( is.good() );
+
+ is.clear();
+ is >> h3;
+ VERIFY( h3 == 1024365 );
+ VERIFY( is.good() );
+
+ is.clear();
+ is >> h2;
+ VERIFY( h2 == 0 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
+
+ // Stress tests for explicit errors in grouping corner cases. The
+ // validity of these tests and results have been hammered out in
+ // private email between bkoz and ncm between Jan 25 and Jan 27, 2000.
+ // Thanks nate -- benjamin
+ const std::string s2(",111 4,,4 0.25,345 5..25 156,, 1,000000 1000000 1234,567");
+ h3 = h4 = h2 = 0;
+ f1 = 0.0;
+ const char c_control = '?';
+ char c = c_control;
+ is.clear();
+ is.str(s2);
+
+ is >> h4;
+ VERIFY( h4 == 0 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+ is.clear();
+ is >> c;
+ VERIFY( c == ',' );
+ VERIFY( is.good() );
+
+ is.ignore(3);
+ is >> f1;
+ VERIFY( f1 == 0.0 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+ is.clear();
+ is >> c;
+ VERIFY( c == ',' );
+ is >> c;
+ VERIFY( c == '4' );
+ VERIFY( is.good() );
+
+ is >> f1;
+ VERIFY( f1 == 0.25 );
+ VERIFY( is.good() );
+ is >> c;
+ VERIFY( c == ',' );
+ is >> h2;
+ VERIFY( h2 == 345 );
+ VERIFY( is.good() );
+ f1 = 0.0;
+ h2 = 0;
+
+ is >> f1;
+ VERIFY( f1 == 5.0 );
+ VERIFY( is.good() );
+ is >> f1;
+ VERIFY( f1 == .25 );
+ VERIFY( is.good() );
+
+ is >> h3;
+ VERIFY( h3 == 0 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+ is.clear();
+ is >> c;
+ VERIFY( c == ',' ); // second one
+ VERIFY( is.good() );
+
+ is >> h2;
+ VERIFY( h2 == 0 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+ is.clear();
+
+ is >> h2;
+ VERIFY( h2 == 1000000 );
+ VERIFY( is.good() );
+ h2 = 0;
+
+ is >> h2;
+ VERIFY( h2 == 0 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
+ is.clear();
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+}
+
+int main()
+{
+ test07();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/08.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/08.cc
new file mode 100644
index 00000000000..f8491612ddf
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/08.cc
@@ -0,0 +1,93 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+namespace std {
+ class test_numpunct2 : public numpunct<char>
+ {
+ protected:
+ string
+ do_grouping() const
+ { return string("\002\003"); }
+ };
+} // namespace std
+
+void test08()
+{
+ // manufactured locale, grouping is turned on
+ bool test = true;
+ unsigned int h4 = 0, h3 = 0, h2 = 0;
+ float f1 = 0.0;
+ const std::string s1("1,22 205,19 22,123,22");
+ const std::string s2("1,220 2050,19 202,123,22");
+
+ std::istringstream is(s1);
+ is.imbue(std::locale(std::locale(), new std::test_numpunct2));
+
+ // Basic operation.
+ is >> h4;
+ VERIFY( h4 == 122 );
+ VERIFY( is.good() );
+
+ is.clear();
+ is >> h3;
+ VERIFY( h3 == 20519 );
+ VERIFY( is.good() );
+
+ is.clear();
+ is >> h2;
+ VERIFY( h2 == 2212322 );
+ VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
+
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+}
+
+int main()
+{
+ test08();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/09.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/09.cc
new file mode 100644
index 00000000000..37e175e6f7c
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/09.cc
@@ -0,0 +1,72 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+bool test09()
+{
+ bool test = true;
+
+ std::string st("2.456e3-+0.567e-2");
+ std::stringbuf sb(st);
+ std::istream is(&sb);
+ double f1 = 0, f2 = 0;
+ char c;
+ (is>>std::ws) >> f1;
+ (is>>std::ws) >> c;
+ (is>>std::ws) >> f2;
+ test = f1 == 2456;
+ VERIFY( f2 == 0.00567 );
+ VERIFY( c == '-' );
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
+int main()
+{
+ test09();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/10.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/10.cc
new file mode 100644
index 00000000000..bc67190533f
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/10.cc
@@ -0,0 +1,154 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+bool test10() {
+ std::string str_01("0 00 000 +0 +0 -0");
+ std::stringbuf isbuf_01(str_01);
+ std::istream is_01(&isbuf_01);
+
+ bool test = true;
+
+ int n = 365;
+ is_01 >> n;
+ VERIFY( n == 0 );
+ n = 364;
+ is_01 >> n;
+ VERIFY( n == 0 );
+ n = 363;
+ is_01 >> n;
+ VERIFY( n == 0 );
+ n = 362;
+ is_01 >> n;
+ VERIFY( n == 0 );
+ n = 361;
+ is_01 >> n;
+ VERIFY( n == 0 );
+ n = 360;
+ is_01 >> n;
+ VERIFY( n == 0 );
+ VERIFY( is_01.rdstate() == std::ios_base::eofbit );
+
+ std::string str_02("0x32 0X33 033 33");
+ std::stringbuf isbuf_02(str_02);
+ std::istream is_02(&isbuf_02);
+ is_02.unsetf(std::ios_base::basefield);
+ is_02 >> n;
+ VERIFY( n == 50 );
+ is_02 >> n;
+ VERIFY( n == 51 );
+ is_02 >> n;
+ VERIFY( n == 27 );
+ is_02 >> n;
+ VERIFY( n == 33 );
+ VERIFY( is_02.rdstate() == std::ios_base::eofbit );
+
+ std::stringbuf isbuf_03(str_02);
+ std::istream is_03(&isbuf_03);
+ char c;
+ int m;
+
+ is_03 >> std::dec >> n >> c >> m;
+ VERIFY( n == 0 );
+ VERIFY( c == 'x' );
+ VERIFY( m == 32 );
+
+ is_03 >> std::oct >> m >> c >> n;
+ VERIFY( m == 0 );
+ VERIFY( c == 'X' );
+ VERIFY( n == 27 );
+
+ is_03 >> std::dec >> m >> n;
+ VERIFY( m == 33 );
+ VERIFY( n == 33 );
+ VERIFY( is_03.rdstate() == std::ios_base::eofbit );
+
+ std::string str_04("3. 4.5E+2a5E-3 .6E1");
+ std::stringbuf isbuf_04(str_04);
+ std::istream is_04(&isbuf_04);
+
+ double f;
+ is_04 >> f;
+ VERIFY( f == 3.0 );
+ is_04 >> f;
+ VERIFY( f == 450.0 );
+ is_04.ignore();
+ is_04 >> f;
+ VERIFY( f == 0.005 );
+ is_04 >> f;
+ VERIFY( f == 6 );
+ VERIFY( is_03.rdstate() == std::ios_base::eofbit );
+
+ std::string str_05("0E20 5Ea E16");
+ std::stringbuf isbuf_05(str_05);
+ std::istream is_05(&isbuf_05);
+
+ is_05 >> f;
+ VERIFY( f == 0 );
+ is_05 >> f;
+ VERIFY( f == 0 );
+ VERIFY( is_05.rdstate() == std::ios_base::failbit );
+ is_05.clear();
+ is_05 >> c;
+ VERIFY( c == 'a' );
+ is_05 >> f;
+ VERIFY( f == 0 );
+ VERIFY( is_05.rdstate() == std::ios_base::failbit );
+ is_05.clear();
+ is_05.ignore();
+ is_05 >> n;
+ VERIFY( n == 16 );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
+int main()
+{
+ test10();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/11.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/11.cc
new file mode 100644
index 00000000000..309875dfc54
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/11.cc
@@ -0,0 +1,73 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+// In the presence of no fmtflags, the input operator should behave
+// like strtol(x, y, 0)
+// libstdc++/90
+bool test11()
+{
+ bool test = true;
+ const char* cstrlit = "0x2a";
+
+ // sanity check via 'C' library call
+ char* err;
+ long l = std::strtol(cstrlit, &err, 0);
+
+ std::istringstream iss(cstrlit);
+ iss.setf(std::ios::fmtflags(0), std::ios::basefield);
+ int i;
+ iss >> i;
+
+ VERIFY (!iss.fail());
+ VERIFY (l == i);
+
+ return test;
+}
+
+int main()
+{
+ test11();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/12.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/12.cc
new file mode 100644
index 00000000000..64795c05812
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/12.cc
@@ -0,0 +1,94 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+// XXX This test fails on sparc-solaris2 because of a bug in libc
+// XXX sscanf for very long input. See:
+// XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html
+// { dg-do run { xfail sparc*-*-solaris2* } }
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+// libstdc++/3720
+// excess input should not cause a core dump
+template<typename T>
+bool test12_aux(bool integer_type)
+{
+ bool test = true;
+
+ int digits_overflow;
+ if (integer_type)
+ // This many digits will overflow integer types in base 10.
+ digits_overflow = std::numeric_limits<T>::digits10 + 2;
+ else
+ // This might do it, unsure.
+ digits_overflow = std::numeric_limits<T>::max_exponent10 + 1;
+
+ std::string st;
+ std::string part = "1234567890123456789012345678901234567890";
+ for (int i = 0; i < digits_overflow / part.size() + 1; ++i)
+ st += part;
+ std::stringbuf sb(st);
+ std::istream is(&sb);
+ T t;
+ is >> t;
+ VERIFY(is.fail());
+ return test;
+}
+
+bool test12()
+{
+ bool test = true;
+ VERIFY(test12_aux<short>(true));
+ VERIFY(test12_aux<int>(true));
+ VERIFY(test12_aux<long>(true));
+ VERIFY(test12_aux<float>(false));
+ VERIFY(test12_aux<double>(false));
+ VERIFY(test12_aux<long double>(false));
+ return test;
+}
+
+int main()
+{
+ test12();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/istream_extractor_arith/13.cc b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/13.cc
new file mode 100644
index 00000000000..935d456f448
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/istream_extractor_arith/13.cc
@@ -0,0 +1,88 @@
+// 1999-04-12 bkoz
+
+// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 27.6.1.2.2 arithmetic extractors
+
+#include <cstdio> // for printf
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <locale>
+#include <testsuite_hooks.h>
+
+std::string str_01;
+std::string str_02("true false 0 1 110001");
+std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
+std::string str_04("0123");
+
+std::stringbuf isbuf_01(std::ios_base::in);
+std::stringbuf isbuf_02(str_02, std::ios_base::in);
+std::stringbuf isbuf_03(str_03, std::ios_base::in);
+std::stringbuf isbuf_04(str_04, std::ios_base::in);
+
+std::istream is_01(NULL);
+std::istream is_02(&isbuf_02);
+std::istream is_03(&isbuf_03);
+std::istream is_04(&isbuf_04);
+std::stringstream ss_01(str_01);
+
+// libstdc++/3720 part two
+void test13()
+{
+ using namespace std;
+ bool test = true;
+ const char* l1 = "12345678901234567890123456789012345678901234567890123456";
+ const char* l2 = "1.2345678901234567890123456789012345678901234567890123456"
+ " "
+ "1246.9";
+
+ // 1
+ // used to core.
+ double d;
+ istringstream iss1(l2);
+ iss1 >> d;
+ iss1 >> d;
+ VERIFY (d > 1246 && d < 1247);
+
+ // 2
+ // quick test for failbit on maximum length extraction.
+ int i;
+ int max_digits = numeric_limits<int>::digits10 + 1;
+ string digits;
+ for (int j = 0; j < max_digits; ++j)
+ digits += '1';
+ istringstream iss2(digits);
+ iss2 >> i;
+ VERIFY( !iss2.fail() );
+
+ digits += '1';
+ i = 0;
+ iss2.str(digits);
+ iss2.clear();
+ iss2 >> i;
+ VERIFY( i == 0 );
+ VERIFY( iss2.fail() );
+}
+
+int main()
+{
+ test13();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/ostream.cc b/libstdc++-v3/testsuite/27_io/ostream.cc
index ee764f9d697..7efd65381a3 100644
--- a/libstdc++-v3/testsuite/27_io/ostream.cc
+++ b/libstdc++-v3/testsuite/27_io/ostream.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,9 +50,10 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_ostream<type_t, char_traits<type_t> >;
- template class basic_ostream<gnu_char, char_traits<gnu_char> >;
+ template class basic_ostream<pod_char, char_traits<pod_char> >;
} // test
int main()
diff --git a/libstdc++-v3/testsuite/27_io/ostream_exception.cc b/libstdc++-v3/testsuite/27_io/ostream_exception.cc
new file mode 100644
index 00000000000..8c2b3407056
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/ostream_exception.cc
@@ -0,0 +1,66 @@
+// 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+#include <ostream>
+#include <streambuf>
+#include <testsuite_hooks.h>
+
+// libstdc++/9561
+struct foobar: std::exception { };
+
+struct buf: std::streambuf
+{
+ virtual int_type overflow (int_type) {
+ throw foobar ();
+ return -1;
+ }
+};
+
+void test01()
+{
+ using namespace std;
+ bool test = true;
+
+ buf b;
+ std::ostream strm (&b);
+ strm.exceptions (std::ios::badbit);
+
+ try {
+ strm << std::endl;
+ }
+ catch (foobar) {
+ // strm should throw foobar and not do anything else
+ VERIFY(strm.bad());
+ return;
+ }
+ catch (...) {
+ VERIFY(false);
+ return;
+ }
+
+ VERIFY(false);
+}
+
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/ostream_fail.cc b/libstdc++-v3/testsuite/27_io/ostream_fail.cc
new file mode 100644
index 00000000000..77b29eab635
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/ostream_fail.cc
@@ -0,0 +1,53 @@
+// 2003-02-24 Petur Runolfsson <peturr02 at ru dot is>
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+#include <ostream>
+#include <streambuf>
+#include <testsuite_hooks.h>
+
+// libstdc++/9827
+class Buf : public std::streambuf
+{
+};
+
+bool test01()
+{
+ using namespace std;
+ bool test = true;
+
+ Buf buf;
+ ostream stream (&buf);
+
+ stream << 1;
+ VERIFY(!stream.good());
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc b/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
index 041f3149011..e4e618d68d8 100644
--- a/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
+++ b/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
@@ -368,7 +368,26 @@ test05()
istringstream istr (sval);
double d;
istr >> d;
- VERIFY (abs(pi-d)/pi < DBL_EPSILON);
+ VERIFY( abs(pi-d)/pi < DBL_EPSILON );
+ return 0;
+}
+
+
+// libstdc++/9151
+int
+test06()
+{
+ int prec = numeric_limits<double>::digits10 + 2;
+ double oval = numeric_limits<double>::min();
+
+ stringstream ostr;
+ ostr.precision(prec);
+ ostr << oval;
+ string sval = ostr.str();
+ istringstream istr (sval);
+ double ival;
+ istr >> ival;
+ VERIFY( abs(oval-ival)/oval < DBL_EPSILON );
return 0;
}
@@ -380,6 +399,7 @@ main()
test03();
test04();
test05();
+ test06();
#ifdef TEST_NUMPUT_VERBOSE
cout << "Test passed!" << endl;
#endif
diff --git a/libstdc++-v3/testsuite/27_io/ostream_sentry.cc b/libstdc++-v3/testsuite/27_io/ostream_sentry.cc
new file mode 100644
index 00000000000..aba5b7a0af2
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/ostream_sentry.cc
@@ -0,0 +1,70 @@
+// 2003-02-12 Paolo Carlini <pcarlini@unitus.it>
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// 27.6.2.3 class basic_ostream::sentry
+
+#include <ostream>
+#include <testsuite_hooks.h>
+
+// libstdc++/9563
+struct buf: std::streambuf
+{
+ std::ios *io_;
+
+ buf (std::ios *io): io_ (io) { }
+
+ virtual int sync ()
+ {
+ io_->setstate (std::ios::failbit);
+ return 0;
+ }
+};
+
+void
+test01()
+{
+ bool test = true;
+
+ buf b(0);
+ std::ostream strm(&b);
+
+ buf tb(&strm);
+ std::ostream tied(&tb);
+
+ strm.tie(&tied);
+ std::ostream::sentry s(strm);
+
+ VERIFY( !s );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/27_io/streambuf.cc b/libstdc++-v3/testsuite/27_io/streambuf.cc
index 102ff60c260..29c771b9074 100644
--- a/libstdc++-v3/testsuite/27_io/streambuf.cc
+++ b/libstdc++-v3/testsuite/27_io/streambuf.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,9 +50,10 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_streambuf<type_t, char_traits<type_t> >;
- template class basic_streambuf<gnu_char, char_traits<gnu_char> >;
+ template class basic_streambuf<pod_char, char_traits<pod_char> >;
} // test
int main()
diff --git a/libstdc++-v3/testsuite/27_io/streambuf_members.cc b/libstdc++-v3/testsuite/27_io/streambuf_members.cc
index 3f9a3192b7e..d7ae5693d33 100644
--- a/libstdc++-v3/testsuite/27_io/streambuf_members.cc
+++ b/libstdc++-v3/testsuite/27_io/streambuf_members.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,7 +31,7 @@
#include <cstring> // for memset, memcmp
#include <streambuf>
-#include <string>
+#include <sstream>
#include <ostream>
#include <testsuite_hooks.h>
@@ -364,6 +364,158 @@ test07()
VERIFY(out.good());
}
+// libstdc++/9322
+void test08()
+{
+ using std::locale;
+ bool test = true;
+
+ locale loc;
+ testbuf2 ob;
+ VERIFY( ob.getloc() == loc );
+
+ locale::global(locale("en_US"));
+ VERIFY( ob.getloc() == loc );
+
+ locale loc_de ("de_DE");
+ locale ret = ob.pubimbue(loc_de);
+ VERIFY( ob.getloc() == loc_de );
+ VERIFY( ret == loc );
+
+ locale::global(loc);
+ VERIFY( ob.getloc() == loc_de );
+}
+
+// libstdc++/9318
+class Outbuf : public std::streambuf
+{
+public:
+ typedef std::streambuf::traits_type traits_type;
+
+ std::string result() const { return str; }
+
+protected:
+ virtual int_type overflow(int_type c = traits_type::eof())
+ {
+ if (!traits_type::eq_int_type(c, traits_type::eof()))
+ str.push_back(traits_type::to_char_type(c));
+ return traits_type::not_eof(c);
+ }
+
+private:
+ std::string str;
+};
+
+// <1>
+void test09()
+{
+ bool test = true;
+
+ std::istringstream stream("Bad Moon Rising");
+ Outbuf buf;
+ stream >> &buf;
+
+ VERIFY( buf.result() == "Bad Moon Rising" );
+}
+
+// <2>
+void test10()
+{
+ bool test = true;
+
+ std::stringbuf sbuf("Bad Moon Rising", std::ios::in);
+ Outbuf buf;
+ std::ostream stream(&buf);
+ stream << &sbuf;
+
+ VERIFY( buf.result() == "Bad Moon Rising" );
+}
+
+// libstdc++/9424
+class Outbuf_2 : public std::streambuf
+{
+ char buf[1];
+
+public:
+ Outbuf_2()
+ {
+ setp(buf, buf + 1);
+ }
+
+ int_type overflow(int_type c)
+ {
+ int_type eof = traits_type::eof();
+
+ if (pptr() < epptr())
+ {
+ if (traits_type::eq_int_type(c, eof))
+ return traits_type::not_eof(c);
+
+ *pptr() = traits_type::to_char_type(c);
+ pbump(1);
+ return c;
+ }
+
+ return eof;
+ }
+};
+
+class Inbuf_2 : public std::streambuf
+{
+ static const char buf[];
+ const char* current;
+ int size;
+
+public:
+ Inbuf_2()
+ {
+ current = buf;
+ size = std::strlen(buf);
+ }
+
+ int_type underflow()
+ {
+ if (current < buf + size)
+ return traits_type::to_int_type(*current);
+ return traits_type::eof();
+ }
+
+ int_type uflow()
+ {
+ if (current < buf + size)
+ return traits_type::to_int_type(*current++);
+ return traits_type::eof();
+ }
+};
+
+const char Inbuf_2::buf[] = "Atteivlis";
+
+// <1>
+void test11()
+{
+ bool test = true;
+
+ Inbuf_2 inbuf1;
+ std::istream is(&inbuf1);
+ Outbuf_2 outbuf1;
+ is >> &outbuf1;
+ VERIFY( inbuf1.sgetc() == 't' );
+ VERIFY( is.good() );
+}
+
+// <2>
+void test12()
+{
+ bool test = true;
+
+ Outbuf_2 outbuf2;
+ std::ostream os (&outbuf2);
+ Inbuf_2 inbuf2;
+ os << &inbuf2;
+ VERIFY( inbuf2.sgetc() == 't' );
+ VERIFY( os.good() );
+}
+
int main()
{
test01();
@@ -374,5 +526,11 @@ int main()
test05();
test07();
+ test08();
+
+ test09();
+ test10();
+ test11();
+ test12();
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/stringbuf.cc b/libstdc++-v3/testsuite/27_io/stringbuf.cc
index 3cfd5af605c..a91deab2f1d 100644
--- a/libstdc++-v3/testsuite/27_io/stringbuf.cc
+++ b/libstdc++-v3/testsuite/27_io/stringbuf.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,9 +50,10 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_stringbuf<type_t, char_traits<type_t> >;
- template class basic_stringbuf<gnu_char, char_traits<gnu_char> >;
+ template class basic_stringbuf<pod_char, char_traits<pod_char> >;
} // test
int main()
diff --git a/libstdc++-v3/testsuite/27_io/stringbuf_members.cc b/libstdc++-v3/testsuite/27_io/stringbuf_members.cc
index bc0bbb4dd8e..5e493301890 100644
--- a/libstdc++-v3/testsuite/27_io/stringbuf_members.cc
+++ b/libstdc++-v3/testsuite/27_io/stringbuf_members.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// 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 the GNU ISO C++ Library. This library is free
@@ -473,6 +473,32 @@ bool test06()
return test;
}
+// http://gcc.gnu.org/ml/libstdc++/2003-02/msg00269.html
+// Growing and then seeking to ios_base::beg triggered a bug in str(),
+// which didn't notice the grow.
+bool test07()
+{
+ bool test = true;
+
+ std::stringbuf strb_01;
+ strb_01.sputc('s');
+ strb_01.pubseekoff(0, std::ios_base::beg);
+ VERIFY( strb_01.str() == "s" );
+
+ std::string str("strivi,");
+ std::stringbuf strb_02(str);
+ strb_02.pubseekoff(0, std::ios_base::end);
+ strb_02.sputn(" no better!", 11);
+ strb_02.pubseekoff(0, std::ios_base::beg);
+ VERIFY( strb_02.str() == "strivi, no better!" );
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+
+ return test;
+}
+
int main()
{
test01();
@@ -481,6 +507,7 @@ int main()
test04();
test05();
test06();
+ test07();
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc b/libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc
index 318bb72fa8a..8a6add9dfc5 100644
--- a/libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc
+++ b/libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -70,6 +70,28 @@ void test02(std::stringbuf& in, bool pass)
VERIFY( p == bad );
}
+// libstdc++/9322
+void test08()
+{
+ using std::locale;
+ bool test = true;
+
+ locale loc;
+ std::stringbuf ob;
+ VERIFY( ob.getloc() == loc );
+
+ locale::global(locale("en_US"));
+ VERIFY( ob.getloc() == loc );
+
+ locale loc_de ("de_DE");
+ locale ret = ob.pubimbue(loc_de);
+ VERIFY( ob.getloc() == loc_de );
+ VERIFY( ret == loc );
+
+ locale::global(loc);
+ VERIFY( ob.getloc() == loc_de );
+}
+
int main()
{
using namespace std;
@@ -83,5 +105,6 @@ int main()
test02(in2, false);
test02(in3, false);
+ test08();
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/stringstream.cc b/libstdc++-v3/testsuite/27_io/stringstream.cc
index cb9e39d9588..a9778952d90 100644
--- a/libstdc++-v3/testsuite/27_io/stringstream.cc
+++ b/libstdc++-v3/testsuite/27_io/stringstream.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,13 +50,32 @@ void test01()
namespace test
{
using namespace std;
+ using __gnu_cxx_test::pod_char;
typedef short type_t;
template class basic_stringstream<type_t, char_traits<type_t> >;
- template class basic_stringstream<gnu_char, char_traits<gnu_char> >;
+ template class basic_stringstream<pod_char, char_traits<pod_char> >;
} // test
+// libstdc++/9826
+void test02()
+{
+ using namespace std;
+ using __gnu_cxx_test::pod_char;
+
+ basic_stringstream<pod_char, char_traits<pod_char> > sstr;
+ // 1
+ basic_string<pod_char, char_traits<pod_char> > str;
+ sstr >> str;
+ // 2
+ pod_char* chr;
+ sstr >> chr;
+ // 3
+ sstr >> ws;
+}
+
int main()
{
test01();
+ test02();
return 0;
}
diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am
index d85fae7d8d9..b320920e218 100644
--- a/libstdc++-v3/testsuite/Makefile.am
+++ b/libstdc++-v3/testsuite/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the testsuite subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+## Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
@@ -23,6 +23,8 @@
AUTOMAKE_OPTIONS = cygnus dejagnu
+mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
+
DEJATOOL = libstdc++-v3
EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then \
@@ -38,10 +40,10 @@ RUNTESTFLAGS =
## CXX is actually a "C" compiler. These are real C++ programs.
## Do the same thing as `testsuite_flags --build-cxx`
-CXX_fake = @glibcpp_CXX@
-CXX=`echo $(CXX_fake) | sed 's/xgcc/g++/g'`
+CXX_build = @glibcpp_CXX@
+CXX=`echo "$(CXX_build)" | sed 's,gcc/xgcc ,gcc/g++ ,'`
CXXLINK = \
- LD_RUN_PATH=${LD_RUN_PATH:+$LD_RUN_PATH:}${glibcpp_builddir}/src/.libs\
+ LD_RUN_PATH=$${LD_RUN_PATH:+$$LD_RUN_PATH:}${glibcpp_builddir}/src/.libs\
$(LIBTOOL) --tag=CXX --mode=link $(CXX) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
@@ -55,9 +57,69 @@ libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
## Build support utilities.
## Only build this as native, as need to find startup files and libc to link.
-if GLIBCPP_BUILD_ABI_CHECK
+if GLIBCPP_TEST_ABI
noinst_PROGRAMS = abi_check
else
noinst_PROGRAMS =
endif
abi_check_SOURCES = abi_check.cc
+
+# Enable wchar_t tests if capable.
+if GLIBCPP_TEST_WCHAR_T
+all-local: stamp_wchar
+else
+all-local:
+endif
+
+# Override this so local rules are possible.
+check-am:
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU; \
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+
+check-local: check-abi
+
+stamp_wchar:
+ touch testsuite_wchar_t
+
+baseline_dir = @baseline_dir@
+baseline_file = ${baseline_dir}/baseline_symbols.txt
+extract_symvers = @glibcpp_srcdir@/config/abi/extract_symvers
+
+current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so
+ -@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt)
+
+baseline_symbols:
+ -@(output=${baseline_file}; \
+ if test ! -f $${output}; then \
+ echo "Baseline file doesn't exist."; \
+ echo "Try 'make new-abi-baseline' to create it."; \
+ exit 1; \
+ fi; \
+ touch baseline_symbols)
+
+new-abi-baseline:
+ -@$(mkinstalldirs) ${baseline_dir}
+ -@(output=${baseline_file}; \
+ if test -f $${output}; then \
+ output=$${output}.new; \
+ t=`echo $${output} | sed 's=.*config/abi/=='`; \
+ echo "Baseline file already exists, writing to $${t} instead."; \
+ fi; \
+ ${extract_symvers} ../src/.libs/libstdc++.so $${output})
+
+if GLIBCPP_TEST_ABI
+# Use 'new-abi-baseline' to create an initial symbol file. Then run
+# 'check-abi' to test for changes against that file.
+check-abi: abi_check baseline_symbols current_symbols.txt
+ -@(./abi_check --check ./current_symbols.txt ${baseline_file})
+
+check-abi-verbose: abi_check baseline_symbols current_symbols.txt
+ -@(./abi_check --check-verbose ./current_symbols.txt ${baseline_file})
+else
+check-abi:
+check-abi-verbose:
+endif
+
+# By adding these files here, automake will remove them for 'make clean'
+CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
+ testsuite_files testsuite_wchar_t site.exp abi_check
diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in
index f3d94e4b9b6..de3ee3bddb3 100644
--- a/libstdc++-v3/testsuite/Makefile.in
+++ b/libstdc++-v3/testsuite/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -67,14 +67,25 @@ AR = @AR@
AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
AWK = @AWK@
+BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_C = @CCODECVT_C@
+CCODECVT_CC = @CCODECVT_CC@
CCODECVT_H = @CCODECVT_H@
+CCOLLATE_CC = @CCOLLATE_CC@
+CCTYPE_CC = @CCTYPE_CC@
+CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
+CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
+CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
+CMONEY_CC = @CMONEY_CC@
+CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CSTDIO_H = @CSTDIO_H@
+CTIME_CC = @CTIME_CC@
+CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DEBUG_FLAGS = @DEBUG_FLAGS@
@@ -105,12 +116,12 @@ RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
STRIP = @STRIP@
+SYMVER_MAP = @SYMVER_MAP@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WARN_FLAGS = @WARN_FLAGS@
WERROR = @WERROR@
-baseline_file = @baseline_file@
check_msgfmt = @check_msgfmt@
enable_shared = @enable_shared@
enable_static = @enable_static@
@@ -133,40 +144,40 @@ toplevel_srcdir = @toplevel_srcdir@
AUTOMAKE_OPTIONS = cygnus dejagnu
+mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
+
DEJATOOL = libstdc++-v3
-EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then \
- echo @glibcpp_builddir@/../../expect/expect ; \
- else echo expect ; fi`
+EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then echo @glibcpp_builddir@/../../expect/expect ; else echo expect ; fi`
-RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then \
- echo @glibcpp_srcdir@/../dejagnu/runtest ; \
- else echo runtest; fi`
+RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then echo @glibcpp_srcdir@/../dejagnu/runtest ; else echo runtest; fi`
AM_RUNTESTFLAGS =
RUNTESTFLAGS =
-CXX_fake = @glibcpp_CXX@
-CXX = `echo $(CXX_fake) | sed 's/xgcc/g++/g'`
-CXXLINK = \
- LD_RUN_PATH=${LD_RUN_PATH:+$LD_RUN_PATH:}${glibcpp_builddir}/src/.libs\
- $(LIBTOOL) --tag=CXX --mode=link $(CXX) \
- $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+CXX_build = @glibcpp_CXX@
+CXX = `echo "$(CXX_build)" | sed 's,gcc/xgcc ,gcc/g++ ,'`
+CXXLINK = LD_RUN_PATH=$${LD_RUN_PATH:+$$LD_RUN_PATH:}${glibcpp_builddir}/src/.libs $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
-INCLUDES = \
- -nostdinc++ \
- @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@
+INCLUDES = -nostdinc++ @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@
noinst_LIBRARIES = libv3test.a
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
-@GLIBCPP_BUILD_ABI_CHECK_TRUE@noinst_PROGRAMS = @GLIBCPP_BUILD_ABI_CHECK_TRUE@abi_check
-@GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS =
+@GLIBCPP_TEST_ABI_TRUE@noinst_PROGRAMS = abi_check
+@GLIBCPP_TEST_ABI_FALSE@noinst_PROGRAMS =
abi_check_SOURCES = abi_check.cc
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+
+baseline_dir = @baseline_dir@
+baseline_file = ${baseline_dir}/baseline_symbols.txt
+extract_symvers = @glibcpp_srcdir@/config/abi/extract_symvers
+
+# By adding these files here, automake will remove them for 'make clean'
+CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum testsuite_files testsuite_wchar_t site.exp abi_check
+
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
@@ -179,7 +190,7 @@ LIBS = @LIBS@
libv3test_a_LIBADD =
libv3test_a_OBJECTS = testsuite_hooks.$(OBJEXT) \
testsuite_allocator.$(OBJEXT)
-@GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS =
+@GLIBCPP_TEST_ABI_FALSE@noinst_PROGRAMS =
PROGRAMS = $(noinst_PROGRAMS)
abi_check_OBJECTS = abi_check.$(OBJEXT)
@@ -195,7 +206,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
SOURCES = $(libv3test_a_SOURCES) $(abi_check_SOURCES)
OBJECTS = $(libv3test_a_OBJECTS) $(abi_check_OBJECTS)
@@ -371,7 +382,7 @@ info: info-am
dvi-am:
dvi: dvi-am
check-am:
- $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local
check: check-am
installcheck-am:
installcheck: installcheck-am
@@ -388,7 +399,7 @@ install-am: all-am
install: install-am
uninstall-am:
uninstall: uninstall-am
-all-am: Makefile $(LIBRARIES) $(PROGRAMS)
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) all-local
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
@@ -398,6 +409,7 @@ installdirs:
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
@@ -440,12 +452,59 @@ clean-libtool maintainer-clean-libtool mostlyclean-noinstPROGRAMS \
distclean-noinstPROGRAMS clean-noinstPROGRAMS \
maintainer-clean-noinstPROGRAMS tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir check-DEJAGNU info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-info-am \
-install-info install-exec-am install-exec install-data-am install-data \
-install-am install uninstall-am uninstall all-redirect all-am all \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+dvi-am dvi check-local check check-am installcheck-am installcheck \
+install-info-am install-info install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-local all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Enable wchar_t tests if capable.
+@GLIBCPP_TEST_WCHAR_T_TRUE@all-local: stamp_wchar
+@GLIBCPP_TEST_WCHAR_T_FALSE@all-local:
+
+# Override this so local rules are possible.
+check-am:
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU; \
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+
+check-local: check-abi
+
+stamp_wchar:
+ touch testsuite_wchar_t
+
+current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so
+ -@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt)
+
+baseline_symbols:
+ -@(output=${baseline_file}; \
+ if test ! -f $${output}; then \
+ echo "Baseline file doesn't exist."; \
+ echo "Try 'make new-abi-baseline' to create it."; \
+ exit 1; \
+ fi; \
+ touch baseline_symbols)
+
+new-abi-baseline:
+ -@$(mkinstalldirs) ${baseline_dir}
+ -@(output=${baseline_file}; \
+ if test -f $${output}; then \
+ output=$${output}.new; \
+ t=`echo $${output} | sed 's=.*config/abi/=='`; \
+ echo "Baseline file already exists, writing to $${t} instead."; \
+ fi; \
+ ${extract_symvers} ../src/.libs/libstdc++.so $${output})
+
+# Use 'new-abi-baseline' to create an initial symbol file. Then run
+# 'check-abi' to test for changes against that file.
+@GLIBCPP_TEST_ABI_TRUE@check-abi: abi_check baseline_symbols current_symbols.txt
+@GLIBCPP_TEST_ABI_TRUE@ -@(./abi_check --check ./current_symbols.txt ${baseline_file})
+@GLIBCPP_TEST_ABI_TRUE@check-abi-verbose: abi_check baseline_symbols current_symbols.txt
+@GLIBCPP_TEST_ABI_TRUE@ -@(./abi_check --check-verbose ./current_symbols.txt ${baseline_file})
+@GLIBCPP_TEST_ABI_FALSE@check-abi:
+@GLIBCPP_TEST_ABI_FALSE@check-abi-verbose:
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/libstdc++-v3/testsuite/abi_check.cc b/libstdc++-v3/testsuite/abi_check.cc
index e956090e709..545238f038c 100644
--- a/libstdc++-v3/testsuite/abi_check.cc
+++ b/libstdc++-v3/testsuite/abi_check.cc
@@ -1,6 +1,6 @@
// Utility for libstdc++ ABI analysis -*- C++ -*-
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -44,7 +44,7 @@
struct symbol_info
{
enum category { none, function, object, error };
- category type;
+ category type;
std::string name;
std::string demangled_name;
int size;
@@ -75,6 +75,41 @@ namespace __gnu_cxx
typedef std::deque<std::string> symbol_names;
typedef __gnu_cxx::hash_map<std::string, symbol_info> symbol_infos;
+
+bool
+check_version(const symbol_info& test, bool added = false)
+{
+ typedef std::vector<std::string> compat_list;
+ static compat_list known_versions;
+ if (known_versions.empty())
+ {
+ known_versions.push_back("GLIBCPP_3.2"); // base version
+ known_versions.push_back("GLIBCPP_3.2.1");
+ known_versions.push_back("GLIBCPP_3.2.2");
+ known_versions.push_back("GLIBCPP_3.2.3"); // gcc-3.3.0
+ known_versions.push_back("CXXABI_1.2");
+ known_versions.push_back("CXXABI_1.2.1");
+ }
+ compat_list::iterator begin = known_versions.begin();
+ compat_list::iterator end = known_versions.end();
+
+ // Check version names for compatibility...
+ compat_list::iterator it1 = find(begin, end, test.version_name);
+
+ // Check for weak label.
+ compat_list::iterator it2 = find(begin, end, test.name);
+
+ // Check that added symbols aren't added in the base version.
+ bool compat = true;
+ if (added && test.version_name == known_versions[0])
+ compat = false;
+
+ if (it1 == end && it2 == end)
+ compat = false;
+
+ return compat;
+}
+
bool
check_compatible(const symbol_info& lhs, const symbol_info& rhs,
bool verbose = false)
@@ -113,7 +148,8 @@ check_compatible(const symbol_info& lhs, const symbol_info& rhs,
}
}
- if (lhs.version_name != rhs.version_name)
+ if (lhs.version_name != rhs.version_name
+ && !check_version(lhs) && !check_version(rhs))
{
ret = false;
if (verbose)
@@ -258,13 +294,11 @@ report_symbol_info(const symbol_info& symbol, std::size_t n, bool ret = true)
{
using namespace std;
const char tab = '\t';
- cout << tab << n << endl;
- cout << tab << "symbol"<< endl;
- cout << tab << symbol.name << endl;
// Add any other information to display here.
- cout << tab << "demangled symbol"<< endl;
cout << tab << symbol.demangled_name << endl;
+ cout << tab << symbol.name << endl;
+ cout << tab << symbol.version_name << endl;
if (ret)
cout << endl;
@@ -277,17 +311,20 @@ main(int argc, char** argv)
using namespace std;
// Get arguments. (Heading towards getopt_long, I can feel it.)
- string argv1;
- if (argc < 4 || (string("--help") == (argv1 = argv[1])))
+ bool verbose = false;
+ string argv1 = argc > 1 ? argv[1] : "";
+ if (argv1 == "--help" || argc < 4)
{
- cerr << "Usage: abi_check --check cur baseline\n"
- " --help\n\n"
- "Where CUR is a file containing the current results from\n"
+ cerr << "usage: abi_check --check current baseline\n"
+ " --check-verbose current baseline\n"
+ " --help\n\n"
+ "Where CURRENT is a file containing the current results from\n"
"extract_symvers, and BASELINE is one from config/abi.\n"
<< endl;
exit(1);
}
-
+ else if (argv1 == "--check-verbose")
+ verbose = true;
// Quick sanity/setup check for arguments.
const char* test_file = argv[2];
@@ -346,12 +383,19 @@ main(int argc, char** argv)
added_names.erase(it);
}
else
- missing_names.push_back(what);
+ missing_names.push_back(what);
}
- // Check shared names for compatibility.
+ // Check missing names for compatibility.
typedef pair<symbol_info, symbol_info> symbol_pair;
vector<symbol_pair> incompatible;
+ for (size_t i = 0; i < missing_names.size(); ++i)
+ {
+ symbol_info base = baseline_symbols[missing_names[i]];
+ incompatible.push_back(symbol_pair(base, base));
+ }
+
+ // Check shared names for compatibility.
for (size_t i = 0; i < shared_names.size(); ++i)
{
symbol_info base = baseline_symbols[shared_names[i]];
@@ -363,49 +407,48 @@ main(int argc, char** argv)
// Check added names for compatibility.
for (size_t i = 0; i < added_names.size(); ++i)
{
- vector<string> compatible_versions;
- compatible_versions.push_back("GLIBCPP_3.2.1");
- compatible_versions.push_back("GLIBCPP_3.2.2");
- compatible_versions.push_back("CXXABI_1.2.1");
-
symbol_info test = test_symbols[added_names[i]];
- vector<string>::iterator end = compatible_versions.end();
-
- // Check version names for compatibility...
- vector<string>::iterator it1 = find(compatible_versions.begin(), end,
- test.version_name);
-
- // Check for weak label.
- vector<string>::iterator it2 = find(compatible_versions.begin(), end,
- test.name);
-
- if (it1 == end && it2 == end)
- {
- incompatible.push_back(symbol_pair(test, test));
- cout << test.version_name << endl;
- }
+ if (!check_version(test, true))
+ incompatible.push_back(symbol_pair(test, test));
}
// Report results.
- cout << added_names.size() << " added symbols " << endl;
- for (size_t j = 0; j < added_names.size() ; ++j)
- report_symbol_info(test_symbols[added_names[j]], j + 1);
-
- cout << missing_names.size() << " missing symbols " << endl;
- for (size_t j = 0; j < missing_names.size() ; ++j)
- report_symbol_info(baseline_symbols[missing_names[j]], j + 1);
-
- cout << incompatible.size() << " incompatible symbols " << endl;
- for (size_t j = 0; j < incompatible.size() ; ++j)
+ if (verbose && added_names.size())
{
- // First, report name.
- const symbol_info& base = incompatible[j].first;
- const symbol_info& test = incompatible[j].second;
- report_symbol_info(test, j + 1, false);
-
- // Second, report reason or reasons incompatible.
- check_compatible(base, test, true);
+ cout << added_names.size() << " added symbols " << endl;
+ for (size_t j = 0; j < added_names.size() ; ++j)
+ report_symbol_info(test_symbols[added_names[j]], j + 1);
}
+
+ if (verbose && missing_names.size())
+ {
+ cout << missing_names.size() << " missing symbols " << endl;
+ for (size_t j = 0; j < missing_names.size() ; ++j)
+ report_symbol_info(baseline_symbols[missing_names[j]], j + 1);
+ }
+
+ if (verbose && incompatible.size())
+ {
+ cout << incompatible.size() << " incompatible symbols " << endl;
+ for (size_t j = 0; j < incompatible.size() ; ++j)
+ {
+ // First, report name.
+ const symbol_info& base = incompatible[j].first;
+ const symbol_info& test = incompatible[j].second;
+ report_symbol_info(test, j + 1, false);
+
+ // Second, report reason or reasons incompatible.
+ check_compatible(base, test, true);
+ }
+ }
+
+ cout << "\n\t\t=== libstdc++-v3 check-abi Summary ===" << endl;
+ cout << endl;
+ cout << "# of added symbols:\t\t " << added_names.size() << endl;
+ cout << "# of missing symbols:\t\t " << missing_names.size() << endl;
+ cout << "# of incompatible symbols:\t " << incompatible.size() << endl;
+ cout << endl;
+ cout << "using: " << baseline_file << endl;
return 0;
}
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf.cc
new file mode 100644
index 00000000000..2ac4ea5a49f
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf.cc
@@ -0,0 +1,36 @@
+// 2003-02-13 Paolo Carlini <pcarlini@unitus.it>
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// stdio_filebuf.h
+
+#include <ext/stdio_filebuf.h>
+#include <testsuite_hooks.h>
+
+// { dg-do compile }
+
+// libstdc++/9320
+namespace test
+{
+ using namespace std;
+ using __gnu_cxx_test::pod_char;
+ typedef short type_t;
+ template class __gnu_cxx::stdio_filebuf<type_t, char_traits<type_t> >;
+ template class __gnu_cxx::stdio_filebuf<pod_char, char_traits<pod_char> >;
+} // test
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf_2.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf_2.cc
new file mode 100644
index 00000000000..d58d4584cb6
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf_2.cc
@@ -0,0 +1,61 @@
+// 2003-03-29 Paolo Carlini <pcarlini@unitus.it>
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This library 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// stdio_filebuf.h
+
+#include <ext/stdio_filebuf.h>
+#include <cstdio>
+#include <fstream>
+#include <testsuite_hooks.h>
+
+// Small stack-based buffers (i.e., using _M_unbuf) were not flushed
+// out by _M_really_overflow upon overflow.
+void test01()
+{
+
+ using namespace std;
+ bool test = true;
+
+ const char* name = "tmp_file1";
+ FILE* file = fopen(name, "w");
+ {
+ using namespace __gnu_cxx;
+
+ // One char big stack-based buffer.
+ stdio_filebuf<char> sbuf(file, ios_base::out, 1);
+ sbuf.sputc('T');
+ sbuf.sputc('S');
+ }
+ fclose(file);
+
+ filebuf fbuf;
+ fbuf.open(name, ios_base::in);
+ char buf[10];
+ streamsize n = fbuf.sgetn(buf, sizeof(buf));
+ fbuf.close();
+
+ VERIFY( n == 2 );
+ VERIFY( !memcmp(buf, "TS", 2) );
+}
+
+int main()
+{
+ test01();
+}
diff --git a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp
index fd95a0d9253..b64274bea93 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -54,8 +54,8 @@ proc libstdc++-v3-init { args } {
set dg-do-what-default run
# Copy any required data files.
- libstdc++-v3-copy-files [glob -nocomplain "$srcdir/*/*.tst"] $outdir
- libstdc++-v3-copy-files [glob -nocomplain "$srcdir/*/*.txt"] $outdir
+ libstdc++-v3-copy-files [glob -nocomplain "$srcdir/{,*/}*/*.tst"] $outdir
+ libstdc++-v3-copy-files [glob -nocomplain "$srcdir/{,*/}*/*.txt"] $outdir
# set LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found.
# locate libgcc.a so we don't need to account for different values of
@@ -233,13 +233,30 @@ proc libstdc++-v3-list-sourcefiles { } {
set f [open $files_file "w"]
set where_we_were [pwd]
cd $srcdir
- foreach s [lsort [glob -nocomplain */*.cc]] {
+ foreach s [lsort [glob -nocomplain "*/*.cc" "*/*/*.cc" "{,*/}*/*/*/*.cc" ]] {
lappend sfiles ${srcdir}/${s}
puts $f $s
}
cd $where_we_were
}
close $f
- return $sfiles
-}
+ # Disable wchar_t tests if library not configured to support
+ # wchar_t testing.
+ set wchar_file "${outdir}/testsuite_wchar_t"
+ if { [file exists $wchar_file] } {
+ return $sfiles
+ } else {
+ # Remove wchar_t tests files from list.
+ set res {}
+ foreach w $sfiles {
+ if [regexp "wchar_t" $w] {
+ verbose "element out list is $w"
+ } else {
+ verbose "element in list is $w"
+ lappend res $w
+ }
+ }
+ return $res
+ }
+}
diff --git a/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp b/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp
index 4e0dd07dbaa..bad12dc31dc 100644
--- a/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp
+++ b/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -22,23 +22,13 @@ load_lib libstdc++-v3-dg.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_CXXFLAGS
if ![info exists DEFAULT_CXXFLAGS] then {
- set DEFAULT_CXXFLAGS " -DDEBUG_ASSERT"
+ set DEFAULT_CXXFLAGS "-g -O2 -DDEBUG_ASSERT"
}
# Initialize 'dg' last or dejagnu exits with an error...
libstdc++-v3-init
dg-init
-
-## Set ulimits.
-## This should normally be handled on a per-test basis through @xxx@-keywords.
-## The following limit is expressed in kilobytes. For history, have a
-## look at http://gcc.gnu.org/ml/libstdc++/2000-10/msg00029.html
-set maximum-memory-usage 16384
-set shell-ulimit-command ulimit
-remote_exec host ${shell-ulimit-command} "-d ${maximum-memory-usage}"
-remote_exec host ${shell-ulimit-command} "-v ${maximum-memory-usage}"
-
# Main loop.
dg-runtest [libstdc++-v3-list-sourcefiles] "" $DEFAULT_CXXFLAGS
diff --git a/libstdc++-v3/testsuite/testsuite_allocator.cc b/libstdc++-v3/testsuite/testsuite_allocator.cc
index a4f287e008b..775b2535026 100644
--- a/libstdc++-v3/testsuite/testsuite_allocator.cc
+++ b/libstdc++-v3/testsuite/testsuite_allocator.cc
@@ -1,5 +1,7 @@
+// -*- C++ -*-
+// Testing allocator for the C++ library testsuite.
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -28,8 +30,11 @@
#include <testsuite_allocator.h>
-gnu_allocator_tracker::size_type gnu_allocator_tracker::allocationTotal_ = 0;
-gnu_allocator_tracker::size_type gnu_allocator_tracker::deallocationTotal_ = 0;
-int gnu_allocator_tracker::constructCount_ = 0;
-int gnu_allocator_tracker::destructCount_ = 0;
+namespace __gnu_cxx_test
+{
+ allocation_tracker::size_type allocation_tracker::allocationTotal_ = 0;
+ allocation_tracker::size_type allocation_tracker::deallocationTotal_ = 0;
+ int allocation_tracker::constructCount_ = 0;
+ int allocation_tracker::destructCount_ = 0;
+}; // namespace __cxx_test
diff --git a/libstdc++-v3/testsuite/testsuite_allocator.h b/libstdc++-v3/testsuite/testsuite_allocator.h
index 1387b5af0ec..3c77260f5d5 100644
--- a/libstdc++-v3/testsuite/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/testsuite_allocator.h
@@ -1,6 +1,7 @@
+// -*- C++ -*-
// Testing allocator for the C++ library testsuite.
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -37,71 +38,66 @@
#include <cstddef>
#include <limits>
-class gnu_allocator_tracker
+namespace __gnu_cxx_test
{
- public:
- typedef std::size_t size_type;
-
- static void*
- allocate(size_type blocksize)
+ class allocation_tracker
{
- allocationTotal_ += blocksize;
- return ::operator new(blocksize);
- }
-
- static void
- construct()
- { constructCount_++; }
-
- static void
- destroy()
- { destructCount_++; }
-
- static void
- deallocate(void* p, size_type blocksize)
- {
- ::operator delete(p);
- deallocationTotal_ += blocksize;
- }
-
- static size_type
- allocationTotal()
- { return allocationTotal_; }
+ public:
+ typedef std::size_t size_type;
+
+ static void*
+ allocate(size_type blocksize)
+ {
+ allocationTotal_ += blocksize;
+ return ::operator new(blocksize);
+ }
+
+ static void
+ construct() { constructCount_++; }
- static size_type
- deallocationTotal()
- { return deallocationTotal_; }
+ static void
+ destroy() { destructCount_++; }
- static int
- constructCount()
- { return constructCount_; }
+ static void
+ deallocate(void* p, size_type blocksize)
+ {
+ ::operator delete(p);
+ deallocationTotal_ += blocksize;
+ }
+
+ static size_type
+ allocationTotal() { return allocationTotal_; }
+
+ static size_type
+ deallocationTotal() { return deallocationTotal_; }
+
+ static int
+ constructCount() { return constructCount_; }
- static int
- destructCount()
- { return destructCount_; }
+ static int
+ destructCount() { return destructCount_; }
- static void
- resetCounts()
- {
- allocationTotal_ = 0;
- deallocationTotal_ = 0;
- constructCount_ = 0;
+ static void
+ resetCounts()
+ {
+ allocationTotal_ = 0;
+ deallocationTotal_ = 0;
+ constructCount_ = 0;
destructCount_ = 0;
- }
+ }
private:
- static size_type allocationTotal_;
- static size_type deallocationTotal_;
- static int constructCount_;
- static int destructCount_;
-};
-
-// A simple basic allocator that just forwards to the
-// gnu_allocator_tracker to fulfill memory requests. This class is
-// templated on the target object type, but gnu_allocator_tracker
-// isn't.
-template<class T>
- class gnu_new_allocator
+ static size_type allocationTotal_;
+ static size_type deallocationTotal_;
+ static int constructCount_;
+ static int destructCount_;
+ };
+
+ // A simple basic allocator that just forwards to the
+ // allocation_tracker to fulfill memory requests. This class is
+ // templated on the target object type, but tracker isn't.
+ template<class T>
+ class tracker_alloc
{
public:
typedef T value_type;
@@ -112,7 +108,7 @@ template<class T>
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
- template<class U> struct rebind { typedef gnu_new_allocator<U> other; };
+ template<class U> struct rebind { typedef tracker_alloc<U> other; };
pointer
address(reference value) const
@@ -122,17 +118,17 @@ template<class T>
address(const_reference value) const
{ return &value; }
- gnu_new_allocator() throw()
+ tracker_alloc() throw()
{ }
- gnu_new_allocator(const gnu_new_allocator&) throw()
+ tracker_alloc(const tracker_alloc&) throw()
{ }
template<class U>
- gnu_new_allocator(const gnu_new_allocator<U>&) throw()
+ tracker_alloc(const tracker_alloc<U>&) throw()
{ }
- ~gnu_new_allocator() throw()
+ ~tracker_alloc() throw()
{ }
size_type
@@ -140,42 +136,40 @@ template<class T>
{ return std::numeric_limits<std::size_t>::max() / sizeof(T); }
pointer
- allocate(size_type num, const void* = 0)
+ allocate(size_type n, const void* = 0)
{
- return static_cast<pointer>(gnu_allocator_tracker::allocate(num *
- sizeof(T)));
+ return static_cast<pointer>(allocation_tracker::allocate(n * sizeof(T)));
}
void
construct(pointer p, const T& value)
{
new (p) T(value);
- gnu_allocator_tracker::construct();
+ allocation_tracker::construct();
}
void
destroy(pointer p)
{
p->~T();
- gnu_allocator_tracker::destroy();
+ allocation_tracker::destroy();
}
void
deallocate(pointer p, size_type num)
- { gnu_allocator_tracker::deallocate(p, num * sizeof(T)); }
+ { allocation_tracker::deallocate(p, num * sizeof(T)); }
};
-template<class T1, class T2>
- bool
- operator==(const gnu_new_allocator<T1>&,
- const gnu_new_allocator<T2>&) throw()
- { return true; }
-
-template<class T1, class T2>
- bool
- operator!=(const gnu_new_allocator<T1>&,
- const gnu_new_allocator<T2>&) throw()
- { return false; }
+ template<class T1, class T2>
+ bool
+ operator==(const tracker_alloc<T1>&, const tracker_alloc<T2>&) throw()
+ { return true; }
+
+ template<class T1, class T2>
+ bool
+ operator!=(const tracker_alloc<T1>&, const tracker_alloc<T2>&) throw()
+ { return false; }
+}; // namespace __gnu_cxx_test
#endif // _GLIBCPP_TESTSUITE_ALLOCATOR_H
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.cc b/libstdc++-v3/testsuite/testsuite_hooks.cc
index 931dd378193..4e714fa6cba 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/testsuite_hooks.cc
@@ -1,6 +1,7 @@
-// Utility subroutines for the C++ library testsuite.
+// -*- C++ -*-
+// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,14 +34,22 @@
#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>
+#endif
+#include <list>
+#include <string>
+#include <stdexcept>
+#include <clocale>
+#include <locale>
-void
-__set_testsuite_memlimit(float __size)
+namespace __gnu_cxx_test
{
+#ifdef _GLIBCPP_MEM_LIMITS
+ void
+ set_memory_limits(float size)
+ {
struct rlimit r;
// Cater to the absence of rlim_t.
- __typeof__ (r.rlim_cur) limit
- = (__typeof__ (r.rlim_cur))(__size * 1048576);
+ __typeof__ (r.rlim_cur) limit = (__typeof__ (r.rlim_cur))(size * 1048576);
// Heap size, seems to be common.
#if _GLIBCPP_HAVE_MEMLIMIT_DATA
@@ -69,19 +78,90 @@ __set_testsuite_memlimit(float __size)
r.rlim_cur = limit;
setrlimit(RLIMIT_AS, &r);
#endif
-}
+ }
+
#else
-void
-__set_testsuite_memlimit(float) { }
-#endif /* _GLIBCPP_MEM_LIMITS */
+ void
+ set_memory_limits(float) { }
+#endif
+
+ // Useful exceptions.
+ class locale_data : public std::runtime_error
+ {
+ public:
+ explicit
+ locale_data(const std::string& __arg) : runtime_error(__arg) { }
+ };
+ class environment_variable: public std::runtime_error
+ {
+ public:
+ explicit
+ environment_variable(const std::string& __arg) : runtime_error(__arg) { }
+ };
-gnu_counting_struct::size_type gnu_counting_struct::count = 0;
+ class not_found : public std::runtime_error
+ {
+ public:
+ explicit
+ not_found(const std::string& __arg) : runtime_error(__arg) { }
+ };
-unsigned int gnu_copy_constructor::count_ = 0;
-unsigned int gnu_copy_constructor::throw_on_ = 0;
-unsigned int gnu_assignment_operator::count_ = 0;
-unsigned int gnu_assignment_operator::throw_on_ = 0;
-unsigned int gnu_destructor::count_ = 0;
-int gnu_copy_tracker::next_id_ = 0;
+ void
+ run_tests_wrapped_locale(const char* name, const func_callback& l)
+ {
+ using namespace std;
+ bool test = true;
+
+ // Set the global locale.
+ locale loc_name(name);
+ locale orig = locale::global(loc_name);
+
+ const char* res = setlocale(LC_ALL, name);
+ if (res != NULL)
+ {
+ string preLC_ALL = res;
+ for (func_callback::const_iterator i = l.begin(); i != l.end(); ++i)
+ (*i)();
+ string postLC_ALL= setlocale(LC_ALL, NULL);
+ VERIFY( preLC_ALL == postLC_ALL );
+ }
+ else
+ throw environment_variable(string("LC_ALL for") + string(name));
+ }
+
+ void
+ run_tests_wrapped_env(const char* name, const char* env,
+ const func_callback& l)
+ {
+ using namespace std;
+ bool test = true;
+
+#ifdef _GLIBCPP_HAVE_SETENV
+ // Set the global locale.
+ locale loc_name(name);
+ locale orig = locale::global(loc_name);
+
+ // Set environment variable env to value in name.
+ const char* oldENV = getenv(env);
+ if (!setenv(env, name, 1))
+ {
+ for (func_callback::const_iterator i = l.begin(); i != l.end(); ++i)
+ (*i)();
+ setenv(env, oldENV ? oldENV : "", 1);
+ }
+ else
+ throw environment_variable(string(env) + string(" to ") + string(name));
+#else
+ throw not_found("setenv");
+#endif
+ }
+ counter::size_type counter::count = 0;
+ unsigned int copy_constructor::count_ = 0;
+ unsigned int copy_constructor::throw_on_ = 0;
+ unsigned int assignment_operator::count_ = 0;
+ unsigned int assignment_operator::throw_on_ = 0;
+ unsigned int destructor::_M_count = 0;
+ int copy_tracker::next_id_ = 0;
+}; // namespace __cxx_test
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h
index 9f89b03a772..cd05443dacd 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/testsuite_hooks.h
@@ -1,6 +1,7 @@
-// Utility subroutines for the C++ library testsuite.
+// -*- C++ -*-
+// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,25 +35,25 @@
// #define(able) assert() behavior for debugging/testing. It may be
// a suitable location for other furry woodland creatures as well.
//
-// 2) __set_testsuite_memlimit()
-// __set_testsuite_memlimit() uses setrlimit() to restrict dynamic memory
+// 2) set_memory_limits()
+// set_memory_limits() uses setrlimit() to restrict dynamic memory
// allocation. We provide a default memory limit if none is passed by the
-// calling application. The argument to __set_testsuite_memlimit() is the
+// calling application. The argument to set_memory_limits() is the
// limit in megabytes (a floating-point number). If _GLIBCPP_MEM_LIMITS is
// not #defined before including this header, then no limiting is attempted.
//
-// 3) gnu_counting_struct
+// 3) counter
// This is a POD with a static data member, gnu_counting_struct::count,
// which starts at zero, increments on instance construction, and decrements
// on instance destruction. "assert_count(n)" can be called to VERIFY()
// that the count equals N.
//
-// 4) gnu_copy_tracker, from Stephen M. Webb <stephen@bregmasoft.com>.
+// 4) copy_tracker, from Stephen M. Webb <stephen@bregmasoft.com>.
// A class with nontrivial ctor/dtor that provides the ability to track the
// number of copy ctors and dtors, and will throw on demand during copy.
//
-// 5) gnu_char, gnu_char_traits, abstract character classes and
-// char_traits specializations for testing instantiations.
+// 5) pod_char, pod_int, , abstract character classes and
+// char_traits specializations for testing instantiations.
#ifndef _GLIBCPP_TESTSUITE_HOOKS_H
#define _GLIBCPP_TESTSUITE_HOOKS_H
@@ -60,185 +61,206 @@
#include <bits/c++config.h>
#include <bits/functexcept.h>
#include <cstddef>
-
#ifdef DEBUG_ASSERT
# include <cassert>
# define VERIFY(fn) assert(fn)
#else
# define VERIFY(fn) test &= (fn)
#endif
+#include <list>
-// Defined in GLIBCPP_CONFIGURE_TESTSUITE.
-#ifndef _GLIBCPP_MEM_LIMITS
-// Don't do memory limits.
-extern void
-__set_testsuite_memlimit(float x = 0);
+namespace __gnu_cxx_test
+{
+ // All macros are defined in GLIBCPP_CONFIGURE_TESTSUITE and imported
+ // from c++config.h
+ // Set memory limits if possible, if not set to 0.
+#ifndef _GLIBCPP_MEM_LIMITS
+# define MEMLIMIT_MB 0
#else
-
-// Do memory limits.
-#ifndef MEMLIMIT_MB
-#define MEMLIMIT_MB 16.0
+# ifndef MEMLIMIT_MB
+# define MEMLIMIT_MB 16.0
+# endif
#endif
+ extern void
+ set_memory_limits(float __size = MEMLIMIT_MB);
-extern void
-__set_testsuite_memlimit(float __size = MEMLIMIT_MB);
-#endif
+ // Simple callback structure for variable numbers of tests (all with
+ // same signature). Assume all unit tests are of the signature
+ // void test01();
+ typedef void (*test_func) (void);
+ typedef std::list<test_func> func_callback;
+ // Run select unit tests after setting global locale.
+ void
+ run_tests_wrapped_locale(const char*, const func_callback&);
-struct gnu_counting_struct
-{
+ // Run select unit tests after setting environment variables.
+ void
+ run_tests_wrapped_env(const char*, const char*, const func_callback&);
+
+ // Test data types.
+ struct pod_char
+ {
+ unsigned char c;
+ };
+
+ struct pod_int
+ {
+ int i;
+ };
+
+ struct pod_unsigned_int
+ {
+ unsigned int i;
+ };
+
+ struct pod_long
+ {
+ unsigned long i;
+ };
+
+ struct state
+ {
+ unsigned long l;
+ unsigned long l2;
+ };
+
+ // Counting.
+ struct counter
+ {
// Specifically and glaringly-obviously marked 'signed' so that when
// COUNT mistakenly goes negative, we can track the patterns of
// deletions more easily.
typedef signed int size_type;
static size_type count;
- gnu_counting_struct() { ++count; }
- gnu_counting_struct (const gnu_counting_struct&) { ++count; }
- ~gnu_counting_struct() { --count; }
-};
-
-#define assert_count(n) VERIFY(gnu_counting_struct::count == n)
-
-// A (static) class for counting copy constructors and possibly throwing an
-// exception on a desired count.
-class gnu_copy_constructor
-{
-public:
- static unsigned int
- count()
- { return count_; }
-
- static void
- mark_call()
+ counter() { ++count; }
+ counter (const counter&) { ++count; }
+ ~counter() { --count; }
+ };
+
+#define assert_count(n) VERIFY(__gnu_cxx_test::counter::count == n)
+
+ // A (static) class for counting copy constructors and possibly throwing an
+ // exception on a desired count.
+ class copy_constructor
{
- count_++;
- if (count_ == throw_on_)
+ public:
+ static unsigned int
+ count() { return count_; }
+
+ static void
+ mark_call()
{
- __throw_exception_again "copy constructor exception";
+ count_++;
+ if (count_ == throw_on_)
+ __throw_exception_again "copy constructor exception";
}
- }
+
+ static void
+ reset()
+ {
+ count_ = 0;
+ throw_on_ = 0;
+ }
+
+ static void
+ throw_on(unsigned int count) { throw_on_ = count; }
- static void
- reset()
+ private:
+ static unsigned int count_;
+ static unsigned int throw_on_;
+ };
+
+ // A (static) class for counting assignment operator calls and
+ // possibly throwing an exception on a desired count.
+ class assignment_operator
{
- count_ = 0;
- throw_on_ = 0;
- }
-
- static void
- throw_on(unsigned int count)
- { throw_on_ = count; }
-
-private:
- static unsigned int count_;
- static unsigned int throw_on_;
-};
-
-// A (static) class for counting assignment operator calls and possibly
-// throwing an exception on a desired count.
-class gnu_assignment_operator
-{
-public:
- static unsigned int
- count()
- { return count_; }
+ public:
+ static unsigned int
+ count() { return count_; }
+
+ static void
+ mark_call()
+ {
+ count_++;
+ if (count_ == throw_on_)
+ __throw_exception_again "assignment operator exception";
+ }
- static void
- mark_call()
- {
- count_++;
- if (count_ == throw_on_)
+ static void
+ reset()
{
- __throw_exception_again "assignment operator exception";
+ count_ = 0;
+ throw_on_ = 0;
}
- }
- static void
- reset()
- {
- count_ = 0;
- throw_on_ = 0;
- }
+ static void
+ throw_on(unsigned int count) { throw_on_ = count; }
- static void
- throw_on(unsigned int count)
- { throw_on_ = count; }
+ private:
+ static unsigned int count_;
+ static unsigned int throw_on_;
+ };
+
+ // A (static) class for tracking calls to an object's destructor.
+ class destructor
+ {
+ public:
+ static unsigned int
+ count() { return _M_count; }
+
+ static void
+ mark_call() { _M_count++; }
-private:
- static unsigned int count_;
- static unsigned int throw_on_;
-};
+ static void
+ reset() { _M_count = 0; }
-// A (static) class for tracking calls to an object's destructor.
-class gnu_destructor
-{
-public:
- static unsigned int
- count()
- { return count_; }
-
- static void
- mark_call()
- { count_++; }
-
- static void
- reset()
- { count_ = 0; }
-
-private:
- static unsigned int count_;
-};
-
-// An class of objects that can be used for validating various behaviours and
-// guarantees of containers and algorithms defined in the standard library.
-class gnu_copy_tracker
-{
+ private:
+ static unsigned int _M_count;
+ };
+
+ // An class of objects that can be used for validating various
+ // behaviours and guarantees of containers and algorithms defined in
+ // the standard library.
+ class copy_tracker
+ {
public:
- // Creates a copy-tracking object with the given ID number.
- // If "throw_on_copy" is set, an exception will be thrown if
- // an attempt is made to copy this object.
- gnu_copy_tracker(int id = next_id_--, bool throw_on_copy = false)
- : id_(id)
- , throw_on_copy_(throw_on_copy)
- {
- }
+ // Creates a copy-tracking object with the given ID number. If
+ // "throw_on_copy" is set, an exception will be thrown if an
+ // attempt is made to copy this object.
+ copy_tracker(int id = next_id_--, bool throw_on_copy = false)
+ : id_(id) , throw_on_copy_(throw_on_copy) { }
// Copy-constructs the object, marking a call to the copy
// constructor and forcing an exception if indicated.
- gnu_copy_tracker(const gnu_copy_tracker& rhs)
+ copy_tracker(const copy_tracker& rhs)
: id_(rhs.id()), throw_on_copy_(rhs.throw_on_copy_)
{
int kkk = throw_on_copy_;
if (throw_on_copy_)
- {
- gnu_copy_constructor::throw_on(gnu_copy_constructor::count() + 1);
- }
- gnu_copy_constructor::mark_call();
+ copy_constructor::throw_on(copy_constructor::count() + 1);
+ copy_constructor::mark_call();
}
// Assigns the value of another object to this one, tracking the
// number of times this member function has been called and if the
// other object is supposed to throw an exception when it is
// copied, well, make it so.
- gnu_copy_tracker&
- operator=(const gnu_copy_tracker& rhs)
+ copy_tracker&
+ operator=(const copy_tracker& rhs)
{
id_ = rhs.id();
if (rhs.throw_on_copy_)
- {
- gnu_assignment_operator::throw_on(gnu_assignment_operator::count()
- + 1);
- }
- gnu_assignment_operator::mark_call();
+ assignment_operator::throw_on(assignment_operator::count() + 1);
+ assignment_operator::mark_call();
}
- ~gnu_copy_tracker()
- { gnu_destructor::mark_call(); }
+ ~copy_tracker()
+ { destructor::mark_call(); }
int
- id() const
- { return id_; }
+ id() const { return id_; }
private:
int id_;
@@ -248,59 +270,44 @@ class gnu_copy_tracker
static void
reset()
{
- gnu_copy_constructor::reset();
- gnu_assignment_operator::reset();
- gnu_destructor::reset();
+ copy_constructor::reset();
+ assignment_operator::reset();
+ destructor::reset();
}
// for backwards-compatibility
static int
copyCount()
- { return gnu_copy_constructor::count(); }
+ { return copy_constructor::count(); }
// for backwards-compatibility
static int
dtorCount()
- { return gnu_destructor::count(); }
+ { return destructor::count(); }
private:
static int next_id_;
-};
-
-inline bool
-operator==(const gnu_copy_tracker& lhs, const gnu_copy_tracker& rhs)
-{ return lhs.id() == rhs.id(); }
-
-struct gnu_char
-{
- unsigned long c;
-};
+ };
-struct gnu_int
-{
- unsigned long i;
-};
-
-struct gnu_state
-{
- unsigned long l;
- unsigned long l2;
-};
+ inline bool
+ operator==(const copy_tracker& lhs, const copy_tracker& rhs)
+ { return lhs.id() == rhs.id(); }
+}; // namespace __gnu_cxx_test
-// char_traits specialization
namespace std
{
template<class _CharT>
struct char_traits;
+ // char_traits specialization
template<>
- struct char_traits<gnu_char>
+ struct char_traits<__gnu_cxx_test::pod_char>
{
- typedef gnu_char char_type;
- typedef gnu_int int_type;
- typedef long pos_type;
- typedef unsigned long off_type;
- typedef gnu_state state_type;
+ typedef __gnu_cxx_test::pod_char char_type;
+ typedef __gnu_cxx_test::pod_int int_type;
+ typedef long pos_type;
+ typedef unsigned long off_type;
+ typedef __gnu_cxx_test::state state_type;
static void
assign(char_type& __c1, const char_type& __c2);
diff --git a/libstdc++-v3/testsuite/thread/pthread1.cc b/libstdc++-v3/testsuite/thread/pthread1.cc
index 5d81563255b..a6af93fbe9a 100644
--- a/libstdc++-v3/testsuite/thread/pthread1.cc
+++ b/libstdc++-v3/testsuite/thread/pthread1.cc
@@ -1,6 +1,6 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -18,7 +18,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin } }
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread2.cc b/libstdc++-v3/testsuite/thread/pthread2.cc
index 3ebe9283e34..2ce17b72ba9 100644
--- a/libstdc++-v3/testsuite/thread/pthread2.cc
+++ b/libstdc++-v3/testsuite/thread/pthread2.cc
@@ -1,7 +1,7 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// Adpated from libstdc++/5347 submitted by markus.breuer@materna.de
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -19,7 +19,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin } }
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread3.cc b/libstdc++-v3/testsuite/thread/pthread3.cc
index 59b0c6f3133..70fd9ead58a 100644
--- a/libstdc++-v3/testsuite/thread/pthread3.cc
+++ b/libstdc++-v3/testsuite/thread/pthread3.cc
@@ -1,7 +1,7 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// Adpated from libstdc++/5347 submitted by markus.breuer@materna.de
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -19,7 +19,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin } }
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread4.cc b/libstdc++-v3/testsuite/thread/pthread4.cc
index b2b1c2e747f..d297fc28e67 100644
--- a/libstdc++-v3/testsuite/thread/pthread4.cc
+++ b/libstdc++-v3/testsuite/thread/pthread4.cc
@@ -2,7 +2,7 @@
// Adapted from http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
// which was adapted from pthread1.cc by Mike Lu <MLu@dynamicsoft.com>
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -20,7 +20,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin } }
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
@@ -35,6 +35,8 @@ using namespace std;
static list<string> foo;
static pthread_mutex_t fooLock = PTHREAD_MUTEX_INITIALIZER;
+static pthread_cond_t fooCondOverflow = PTHREAD_COND_INITIALIZER;
+static pthread_cond_t fooCondUnderflow = PTHREAD_COND_INITIALIZER;
static unsigned max_size = 10;
#if defined(__CYGWIN__)
static int iters = 10000;
@@ -50,11 +52,12 @@ produce (void*)
string str ("test string");
pthread_mutex_lock (&fooLock);
- if (foo.size () < max_size)
- {
- foo.push_back (str);
- num++;
- }
+ while (foo.size () >= max_size)
+ pthread_cond_wait (&fooCondOverflow, &fooLock);
+ foo.push_back (str);
+ num++;
+ if (foo.size () >= (max_size / 2))
+ pthread_cond_signal (&fooCondUnderflow);
pthread_mutex_unlock (&fooLock);
}
@@ -67,12 +70,15 @@ consume (void*)
for (int num = 0; num < iters; )
{
pthread_mutex_lock (&fooLock);
+ while (foo.size () == 0)
+ pthread_cond_wait (&fooCondUnderflow, &fooLock);
while (foo.size () > 0)
{
string str = foo.back ();
foo.pop_back ();
num++;
}
+ pthread_cond_signal (&fooCondOverflow);
pthread_mutex_unlock (&fooLock);
}
diff --git a/libstdc++-v3/testsuite/thread/pthread5.cc b/libstdc++-v3/testsuite/thread/pthread5.cc
index a3987c8876e..955f3785a39 100644
--- a/libstdc++-v3/testsuite/thread/pthread5.cc
+++ b/libstdc++-v3/testsuite/thread/pthread5.cc
@@ -2,7 +2,7 @@
// Adpated from libstdc++/5464 submitted by jjessel@amadeus.net
// Jean-Francois JESSEL (Amadeus SAS Development)
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -20,7 +20,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin } }
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
diff --git a/libstdc++-v3/testsuite/thread/pthread6.cc b/libstdc++-v3/testsuite/thread/pthread6.cc
index 88c258907e6..e5ea0f98617 100644
--- a/libstdc++-v3/testsuite/thread/pthread6.cc
+++ b/libstdc++-v3/testsuite/thread/pthread6.cc
@@ -1,7 +1,7 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// Adpated from libstdc++/5444 submitted by markus.breuer@materna.de
//
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -19,7 +19,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin } }
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
diff --git a/libstdc++-v3/testsuite_flags.in b/libstdc++-v3/testsuite_flags.in
index 4c351569a37..e26235e1714 100755
--- a/libstdc++-v3/testsuite_flags.in
+++ b/libstdc++-v3/testsuite_flags.in
@@ -43,8 +43,8 @@ case ${query} in
echo ${CXX}
;;
--build-cxx)
- CC_build="@glibcpp_CXX@"
- CXX=`echo $CC_build | sed 's/xgcc/g++/g'`
+ CXX_build="@glibcpp_CXX@ ${PCHFLAGS}"
+ CXX=`echo "$CXX_build" | sed 's,gcc/xgcc ,gcc/g++ ,'`
echo ${CXX}
;;
--cxxflags)
diff --git a/libtool.m4 b/libtool.m4
index 99149ffe140..ff738c7d9e8 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -144,6 +144,19 @@ case $host in
# Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -155,6 +168,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh
index bdc67f97cf0..9059b1a002f 100644
--- a/ltcf-cxx.sh
+++ b/ltcf-cxx.sh
@@ -2,7 +2,7 @@
# ltcf-cxx.sh - Create a C++ compiler specific configuration
#
-# Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999, 2000, 2001, 2003 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# Original C++ support by:Gary V. Vaughan <gvv@techie.com>
@@ -68,11 +68,16 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (ev
# Set up default GNU C++ configuration
# Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if eval "`$CC -print-prog-name=ld` --version 2>&1" | \
- egrep 'GNU ld' > /dev/null; then
- with_gnu_ld=yes
-
+ # archiving commands below assume that GNU ld is being used. The
+ # assumption here is that the linker is going to be the same as that
+ # used by the C compiler. For the purposes of GCC, this is ok, but
+ # if someone uses g++ along with a non-GNU C compiler that doesn't
+ # use GNU ld, we may lose. This is ok for the toolchain tree, since
+ # the only users of ltcf-cxx.sh are libstdc++-v3 and libjava,
+ # anyway, and those use both gcc and g++, so the settings are bound
+ # to be the same.
+
+ if test "$with_gnu_ld" = yes; then
archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
@@ -92,7 +97,6 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (ev
whole_archive_flag_spec=
fi
else
- with_gnu_ld=no
wlarc=
# A generic and very simple default shared library creation
@@ -110,7 +114,6 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (ev
else
with_gcc=no
- with_gnu_ld=no
wlarc=
fi
@@ -323,7 +326,7 @@ case $host_os in
if test "$with_gnu_ld" = no; then
archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
else
- archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
+ archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
fi
fi
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
@@ -610,9 +613,9 @@ case $host_os in
if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
no_undefined_flag=' ${wl}-z ${wl}defs'
if $CC --version | egrep -v '^2\.7' > /dev/null; then
- archive_cmds='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
@@ -621,9 +624,9 @@ case $host_os in
else
# g++ 2.7 appears to require `-G' NOT `-shared' on this
# platform.
- archive_cmds='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
diff --git a/ltcf-gcj.sh b/ltcf-gcj.sh
index 7be87123642..0ae9e166f0a 100644
--- a/ltcf-gcj.sh
+++ b/ltcf-gcj.sh
@@ -2,7 +2,7 @@
# ltcf-gcj.sh - Create a GCJ compiler specific configuration
#
-# Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999, 2000, 2001, 2003 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# Original GCJ support by:
@@ -492,9 +492,9 @@ else
solaris*)
no_undefined_flag=' ${wl}-z ${wl}defs'
- archive_cmds='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
diff --git a/ltconfig b/ltconfig
index 68be49bb2ee..44a5d698810 100755
--- a/ltconfig
+++ b/ltconfig
@@ -1186,6 +1186,11 @@ hpux9* | hpux10* | hpux11*)
;;
irix5* | irix6*)
+ if test "$with_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi
version_type=irix
need_lib_prefix=no
need_version=no
@@ -1197,9 +1202,12 @@ irix5* | irix6*)
;;
*)
case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
*) libsuff= shlibsuff= libmagic=never-match;;
esac
;;
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index edba50ca0b3..bb1ddfa8607 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,25 @@
+2003-06-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * gcc_release: Do not update gcc_latest_snapshot tag any longer.
+
+2003-06-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * gcc_release (build_diffs): Add diagnostics in case we cannot
+ generate a specific diff file.
+
+2003-05-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * gcc_release (upload_files): Put diff files into a "diffs"
+ subdirectory.
+
+2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * gcc_release: GNU CC -> GCC.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
2002-09-23 Zack Weinberg <zack@codesourcery.com>
* update_version: Do not check in files which are unchanged.
diff --git a/maintainer-scripts/gcc_release b/maintainer-scripts/gcc_release
index 45169e78f76..3992293de04 100755
--- a/maintainer-scripts/gcc_release
+++ b/maintainer-scripts/gcc_release
@@ -11,20 +11,20 @@
#
# Copyright (c) 2001, 2002 Free Software Foundation.
#
-# This file is part of GNU CC.
+# This file is part of GCC.
#
-# GNU CC is free software; you can redistribute it and/or modify
+# GCC 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,
+# GCC 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
+# along with GCC; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
@@ -292,7 +292,11 @@ build_diffs() {
for f in gcc gcc-ada gcc-g++ gcc-g77 gcc-java gcc-objc gcc-testsuite gcc-core; do
old_tar=${old_dir}/${f}-${old_vers}.tar.gz
new_tar=${WORKING_DIRECTORY}/${f}-${RELEASE}.tar.gz
- if [ -e $old_tar ] && [ -e $new_tar ]; then
+ if [ ! -e $old_tar ]; then
+ inform "$old_tar not found; not generating diff file"
+ elif [ ! -e $new_tar ]; then
+ inform "$new_tar not found; not generating diff file"
+ else
build_diff $old_tar gcc-${old_vers} $new_tar gcc-${RELEASE} \
${f}-${old_vers}-${RELEASE}.diff.gz
fi
@@ -326,20 +330,30 @@ upload_files() {
# Make sure the directory exists on the server.
if [ $LOCAL -eq 0 ]; then
- ${SSH} -l ${GCC_USERNAME} ${GCC_HOSTNAME} mkdir ${FTP_PATH}
+ ${SSH} -l ${GCC_USERNAME} ${GCC_HOSTNAME} \
+ mkdir -p "${FTP_PATH}/diffs"
UPLOAD_PATH="${GCC_USERNAME}@${GCC_HOSTNAME}:${FTP_PATH}"
else
- mkdir -p "${FTP_PATH}" \
+ mkdir -p "${FTP_PATH}/diffs" \
|| error "Could not create \`${FTP_PATH}'"
UPLOAD_PATH=${FTP_PATH}
fi
+ # Then copy files to their respective (sub)directories.
for x in gcc*.gz gcc*.bz2; do
if [ -e ${x} ]; then
# Make sure the file will be readable on the server.
chmod a+r ${x}
# Copy it.
- ${SCP} ${x} ${UPLOAD_PATH} || error "Could not upload ${x}"
+ case ${x} in
+ *.diff.*)
+ SUBDIR="diffs/";
+ ;;
+ *)
+ SUBDIR="";
+ esac
+ ${SCP} ${x} ${UPLOAD_PATH}/${SUBDIR} \
+ || error "Could not upload ${x}"
fi
done
}
@@ -620,10 +634,6 @@ if [ $MODE_UPLOAD -ne 0 ]; then
changedir ~
echo $DATE >.snapshot_date
- # Update gcc_latest_snapshot tag.
- ${CVS} rtag -d gcc_latest_snapshot gcc
- ${CVS} rtag -rgcc_ss_${DATE} gcc_latest_snapshot gcc
-
# Announce the snapshot.
export QMAILHOST=gcc.gnu.org
mail -s "gcc-ss-$DATE is now available" gcc@gcc.gnu.org < ~ftp/pub/gcc/snapshots/README
diff --git a/zlib/ChangeLog b/zlib/ChangeLog
index 615c7ac4027..744bc2daa99 100644
--- a/zlib/ChangeLog
+++ b/zlib/ChangeLog
@@ -1,3 +1,15 @@
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
+2003-05-13 Release Manager
+
+ * GCC 3.3 Released.
+
ChangeLog file for zlib
@@ -225,7 +237,7 @@ Changes in 1.0.6 (19 Jan 1998)
- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)
- added makelcc.bat for lcc-win32 (Tom St Denis)
- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)
-- Avoid expanded $Id: ChangeLog,v 1.5 2002/05/08 04:38:00 aoliva Exp $. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.
+- Avoid expanded $Id: ChangeLog,v 1.6.20.2 2003/05/13 21:01:55 mmitchel Exp $. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.
- check for unistd.h in configure (for off_t)
- remove useless check parameter in inflate_blocks_free
- avoid useless assignment of s->check to itself in inflate_blocks_new
diff --git a/zlib/ChangeLog.gcj b/zlib/ChangeLog.gcj
index f146d17bf52..66ee04c1c77 100644
--- a/zlib/ChangeLog.gcj
+++ b/zlib/ChangeLog.gcj
@@ -1,3 +1,22 @@
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+ config.status.
+ * configure: Rebuilt.
+
+2003-02-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (multiosdir): Set to nothing if compiler is not GCC
+ or if it doesn't support -print-multi-os-directory.
+ * configure: Rebuilt.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
+ Remove USE_LIBDIR conditional.
+ * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
+ * Makefile.in, configure: Rebuilt.
+
2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.am (all-multi): Fix multilib parallel build.
diff --git a/zlib/Makefile.am b/zlib/Makefile.am
index 46ac3de4ec9..a42bb3be7f9 100644
--- a/zlib/Makefile.am
+++ b/zlib/Makefile.am
@@ -10,15 +10,6 @@ MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-## Install a library built with a cross compiler in tooldir, not
-## libdir.
-if USE_LIBDIR
-toolexeclibdir = $(libdir)$(MULTISUBDIR)
-else
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-endif
-
ZLIB_SOURCES = adler32.c compress.c crc32.c deflate.c deflate.h \
gzio.c infblock.c infblock.h infcodes.c infcodes.h inffast.c inffast.h \
inffixed.h inflate.c inftrees.c inftrees.h infutil.c infutil.h trees.c \
diff --git a/zlib/Makefile.in b/zlib/Makefile.in
index 59d8ff76e68..7fcd38798cc 100644
--- a/zlib/Makefile.in
+++ b/zlib/Makefile.in
@@ -85,6 +85,8 @@ STRIP = @STRIP@
VERSION = @VERSION@
mkinstalldirs = @mkinstalldirs@
target_all = @target_all@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
zlib_basedir = @zlib_basedir@
AUTOMAKE_OPTIONS = cygnus
@@ -96,9 +98,6 @@ MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
-@USE_LIBDIR_TRUE@toolexeclibdir = @USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexeclibdir = @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
ZLIB_SOURCES = adler32.c compress.c crc32.c deflate.c deflate.h \
gzio.c infblock.c infblock.h infcodes.c infcodes.h inffast.c inffast.h \
@@ -106,11 +105,8 @@ inffixed.h inflate.c inftrees.c inftrees.h infutil.c infutil.h trees.c \
trees.h uncompr.c zconf.h zlib.h zutil.c zutil.h
-# toolexeclib_LTLIBRARIES = @target_all@
-# EXTRA_LTLIBRARIES = libzgcj.la
@TARGET_LIBRARY_TRUE@noinst_LTLIBRARIES = @TARGET_LIBRARY_TRUE@libzgcj_convenience.la
@TARGET_LIBRARY_TRUE@libzgcj_convenience_la_SOURCES = @TARGET_LIBRARY_TRUE@$(ZLIB_SOURCES)
-# libzgcj_la_LDFLAGS = -version-info 0:0:0 -rpath $(toolexeclibdir)
@TARGET_LIBRARY_FALSE@toolexeclib_LIBRARIES = @TARGET_LIBRARY_FALSE@libz.a
@TARGET_LIBRARY_FALSE@libz_a_SOURCES = @TARGET_LIBRARY_FALSE@$(ZLIB_SOURCES)
diff --git a/zlib/configure b/zlib/configure
index 319b2a0581c..526f7f86581 100755
--- a/zlib/configure
+++ b/zlib/configure
@@ -52,7 +52,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -167,7 +166,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -338,11 +336,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -508,16 +501,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -646,7 +635,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:650: checking host system type" >&5
+echo "configure:639: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -667,7 +656,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:671: checking target system type" >&5
+echo "configure:660: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -685,7 +674,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:689: checking build system type" >&5
+echo "configure:678: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -724,7 +713,7 @@ mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
# 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:728: checking for a BSD compatible install" >&5
+echo "configure:717: 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
@@ -777,7 +766,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:781: checking whether build environment is sane" >&5
+echo "configure:770: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -834,7 +823,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:838: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:827: 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
@@ -880,7 +869,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:884: checking for working aclocal" >&5
+echo "configure:873: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -893,7 +882,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:897: checking for working autoconf" >&5
+echo "configure:886: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -906,7 +895,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:910: checking for working automake" >&5
+echo "configure:899: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -919,7 +908,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:923: checking for working autoheader" >&5
+echo "configure:912: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -932,7 +921,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:936: checking for working makeinfo" >&5
+echo "configure:925: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -947,7 +936,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:951: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:940: 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"
@@ -1006,7 +995,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1010: checking for $ac_word" >&5
+echo "configure:999: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1036,7 +1025,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1040: checking for $ac_word" >&5
+echo "configure:1029: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1085,7 +1074,7 @@ fi
fi
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1089: checking whether we are using GNU C" >&5
+echo "configure:1078: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1094,7 +1083,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1109,7 +1098,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1113: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1102: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1149,12 +1138,12 @@ if false; then
# were not for the `:' below.
:
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1153: checking for Cygwin environment" >&5
+echo "configure:1142: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1158 "configure"
+#line 1147 "configure"
#include "confdefs.h"
int main() {
@@ -1165,7 +1154,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:1169: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -1182,19 +1171,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1186: checking for mingw32 environment" >&5
+echo "configure:1175: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1191 "configure"
+#line 1180 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:1198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1187: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -1213,7 +1202,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1217: checking for executable suffix" >&5
+echo "configure:1206: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1223,10 +1212,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -1325,7 +1314,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1329: checking for ld used by GCC" >&5
+echo "configure:1318: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1355,10 +1344,10 @@ echo "configure:1329: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1359: checking for GNU ld" >&5
+echo "configure:1348: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1362: checking for non-GNU ld" >&5
+echo "configure:1351: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1393,7 +1382,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1397: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1386: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1410,7 +1399,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1414: checking for $LD option to reload object files" >&5
+echo "configure:1403: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1422,7 +1411,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1426: checking for BSD-compatible nm" >&5
+echo "configure:1415: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1460,7 +1449,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1464: checking whether ln -s works" >&5
+echo "configure:1453: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1481,7 +1470,7 @@ else
fi
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1485: checking how to recognise dependant libraries" >&5
+echo "configure:1474: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1654,13 +1643,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1658: checking for object suffix" >&5
+echo "configure:1647: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1690,7 +1679,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1694: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1683: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1752,7 +1741,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1756: checking for file" >&5
+echo "configure:1745: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1823,7 +1812,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1827: checking for $ac_word" >&5
+echo "configure:1816: 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
@@ -1855,7 +1844,7 @@ if test -n "$ac_tool_prefix"; then
# 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:1859: checking for $ac_word" >&5
+echo "configure:1848: 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
@@ -1890,7 +1879,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1894: checking for $ac_word" >&5
+echo "configure:1883: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1922,7 +1911,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1926: checking for $ac_word" >&5
+echo "configure:1915: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1989,8 +1978,21 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 1993 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 1982 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:1983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
@@ -2002,6 +2004,7 @@ case $host in
LD="${LD-ld} -64"
;;
esac
+ fi
fi
rm -rf conftest*
;;
@@ -2009,7 +2012,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2022,12 +2025,54 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo configure:2032: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2031: checking whether the C compiler needs -belf" >&5
+echo "configure:2076: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2040,14 +2085,14 @@ 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 2044 "configure"
+#line 2089 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2173,7 +2218,7 @@ fi
# Find CPP now so that any conditional tests below won't do it and
# thereby make the resulting definitions conditional.
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2177: checking how to run the C preprocessor" >&5
+echo "configure:2222: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2188,13 +2233,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 2192 "configure"
+#line 2237 "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:2198: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2243: \"$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
:
@@ -2205,13 +2250,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2209 "configure"
+#line 2254 "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:2215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2260: \"$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
:
@@ -2222,13 +2267,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2226 "configure"
+#line 2271 "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:2232: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2277: \"$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
:
@@ -2272,21 +2317,21 @@ EOF
# We ignore --with-system-zlib in this case.
target_all=libzgcj.la
else
- for ac_hdr in unistd.h
+ for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2280: checking for $ac_hdr" >&5
+echo "configure:2325: 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 2285 "configure"
+#line 2330 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2290: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2335: \"$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*
@@ -2315,12 +2360,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2319: checking for $ac_func" >&5
+echo "configure:2364: 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 2324 "configure"
+#line 2369 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2343,7 +2388,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2392: \"$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
@@ -2368,7 +2413,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2372: checking for working mmap" >&5
+echo "configure:2417: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2376,7 +2421,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 2380 "configure"
+#line 2425 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2404,11 +2449,24 @@ else
#include <fcntl.h>
#include <sys/mman.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H
@@ -2516,7 +2574,7 @@ main()
}
EOF
-if { (eval echo configure:2520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -2541,12 +2599,12 @@ fi
for ac_func in memcpy strerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2545: checking for $ac_func" >&5
+echo "configure:2603: 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 2550 "configure"
+#line 2608 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2569,7 +2627,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2631: \"$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
@@ -2596,7 +2654,7 @@ done
if test "$with_system_zlib" = yes; then
echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
-echo "configure:2600: checking for deflate in -lz" >&5
+echo "configure:2658: checking for deflate in -lz" >&5
ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2604,7 +2662,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lz $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2608 "configure"
+#line 2666 "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
@@ -2615,7 +2673,7 @@ int main() {
deflate()
; return 0; }
EOF
-if { (eval echo configure:2619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2647,17 +2705,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2651: checking for $ac_hdr" >&5
+echo "configure:2709: 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 2656 "configure"
+#line 2714 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2661: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2719: \"$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*
@@ -2684,15 +2742,23 @@ fi
done
-
-
-if test -z "$with_cross_host"; then
- USE_LIBDIR_TRUE=
- USE_LIBDIR_FALSE='#'
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+else
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
+fi
+if test "$GCC" = yes && $CC -print-multi-os-directory > /dev/null 2>&1; then
+ multiosdir=/`$CC -print-multi-os-directory`
else
- USE_LIBDIR_TRUE='#'
- USE_LIBDIR_FALSE=
+ multiosdir=
fi
+toolexeclibdir=${toolexeclibdir}${multiosdir}
+
+
+
if test -n "$with_target_subdir"; then
@@ -2775,15 +2841,34 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
# Without the "./", some shells look in PATH for config.status.
@@ -2895,8 +2980,8 @@ s%@LIBTOOL@%$LIBTOOL%g
s%@COMPPATH@%$COMPPATH%g
s%@CPP@%$CPP%g
s%@target_all@%$target_all%g
-s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
-s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
+s%@toolexecdir@%$toolexecdir%g
+s%@toolexeclibdir@%$toolexeclibdir%g
s%@TARGET_LIBRARY_TRUE@%$TARGET_LIBRARY_TRUE%g
s%@TARGET_LIBRARY_FALSE@%$TARGET_LIBRARY_FALSE%g
@@ -3010,6 +3095,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
zlib_basedir=${zlib_basedir}
CC="${CC}"
CXX="${CXX}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
EOF
cat >> $CONFIG_STATUS <<\EOF
diff --git a/zlib/configure.in b/zlib/configure.in
index d5f9a1edb8d..224f1de5834 100644
--- a/zlib/configure.in
+++ b/zlib/configure.in
@@ -113,7 +113,23 @@ AC_SUBST(target_all)
AC_CHECK_HEADERS(unistd.h)
-AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+else
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
+fi
+if test "$GCC" = yes && $CC -print-multi-os-directory > /dev/null 2>&1; then
+ multiosdir=/`$CC -print-multi-os-directory`
+else
+ multiosdir=
+fi
+toolexeclibdir=${toolexeclibdir}${multiosdir}
+AC_SUBST(toolexecdir)
+AC_SUBST(toolexeclibdir)
+
AM_CONDITIONAL(TARGET_LIBRARY, test -n "$with_target_subdir")
if test "${multilib}" = "yes"; then
@@ -136,4 +152,5 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
zlib_basedir=${zlib_basedir}
CC="${CC}"
CXX="${CXX}"
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
)